SPRINT-20: made pagination options avaialble for table widgets, updated 'primary color' to come from metadata where possible (at this time),

This commit is contained in:
Tim Chamberlain
2023-02-13 13:18:19 -06:00
parent 12aa042058
commit 57c02fe7c8
20 changed files with 1045 additions and 1001 deletions

414
package-lock.json generated
View File

@ -11,7 +11,7 @@
"@auth0/auth0-react": "1.10.2", "@auth0/auth0-react": "1.10.2",
"@emotion/react": "11.7.1", "@emotion/react": "11.7.1",
"@emotion/styled": "11.6.0", "@emotion/styled": "11.6.0",
"@kingsrook/qqq-frontend-core": "1.0.51", "@kingsrook/qqq-frontend-core": "1.0.52",
"@mui/icons-material": "5.4.1", "@mui/icons-material": "5.4.1",
"@mui/material": "5.11.1", "@mui/material": "5.11.1",
"@mui/styles": "5.11.1", "@mui/styles": "5.11.1",
@ -3360,9 +3360,9 @@
} }
}, },
"node_modules/@kingsrook/qqq-frontend-core": { "node_modules/@kingsrook/qqq-frontend-core": {
"version": "1.0.51", "version": "1.0.52",
"resolved": "https://npm.pkg.github.com/download/@Kingsrook/qqq-frontend-core/1.0.51/b4c2324c74f5171123cb87b87e52f4b3d45b5ab9", "resolved": "https://npm.pkg.github.com/download/@Kingsrook/qqq-frontend-core/1.0.52/b9f1292a2262e07e202738c41a10753c1eaa8877",
"integrity": "sha512-Elpb+t1pLlpKTkFNiy1xaHPt8cloDRFe7ud6w48I9wIhYAOkObXPlXz+ubo+gIh7GJ4dLqsp+RqIcQQGnOCBTg==", "integrity": "sha512-lL37n9+zvmSZHDigpZv+RGsxVfApC+MvUK5aNvmOHh+oD+H4IpaatDlILWAc1gRE49Ln3Ib/EbZH5lEUfGpOdA==",
"license": "ISC", "license": "ISC",
"dependencies": { "dependencies": {
"axios": "0.27.2", "axios": "0.27.2",
@ -4811,12 +4811,12 @@
"dev": true "dev": true
}, },
"node_modules/@typescript-eslint/experimental-utils": { "node_modules/@typescript-eslint/experimental-utils": {
"version": "5.51.0", "version": "5.52.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.51.0.tgz", "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.52.0.tgz",
"integrity": "sha512-8/3+ZyBENl2aog1/QB3S39ptkZ2oRhDB+sJt15UWXBE3skgwL1C8BN9RjpOyhTejwR2hVrvqEjcYcNY6qtZ7nw==", "integrity": "sha512-kd8CRr04mNE3hw4et6+0T0NI5vli2H6dJCGzjX1r12s/FXUehLVadmvo2Nl3DN80YqAh1cVC6zYZAkpmGiVJ5g==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@typescript-eslint/utils": "5.51.0" "@typescript-eslint/utils": "5.52.0"
}, },
"engines": { "engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0" "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
@ -4830,13 +4830,13 @@
} }
}, },
"node_modules/@typescript-eslint/experimental-utils/node_modules/@typescript-eslint/scope-manager": { "node_modules/@typescript-eslint/experimental-utils/node_modules/@typescript-eslint/scope-manager": {
"version": "5.51.0", "version": "5.52.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.51.0.tgz", "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.52.0.tgz",
"integrity": "sha512-gNpxRdlx5qw3yaHA0SFuTjW4rxeYhpHxt491PEcKF8Z6zpq0kMhe0Tolxt0qjlojS+/wArSDlj/LtE69xUJphQ==", "integrity": "sha512-AR7sxxfBKiNV0FWBSARxM8DmNxrwgnYMPwmpkC1Pl1n+eT8/I2NAUPuwDy/FmDcC6F8pBfmOcaxcxRHspgOBMw==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@typescript-eslint/types": "5.51.0", "@typescript-eslint/types": "5.52.0",
"@typescript-eslint/visitor-keys": "5.51.0" "@typescript-eslint/visitor-keys": "5.52.0"
}, },
"engines": { "engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0" "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
@ -4847,9 +4847,9 @@
} }
}, },
"node_modules/@typescript-eslint/experimental-utils/node_modules/@typescript-eslint/types": { "node_modules/@typescript-eslint/experimental-utils/node_modules/@typescript-eslint/types": {
"version": "5.51.0", "version": "5.52.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.51.0.tgz", "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.52.0.tgz",
"integrity": "sha512-SqOn0ANn/v6hFn0kjvLwiDi4AzR++CBZz0NV5AnusT2/3y32jdc0G4woXPWHCumWtUXZKPAS27/9vziSsC9jnw==", "integrity": "sha512-oV7XU4CHYfBhk78fS7tkum+/Dpgsfi91IIDy7fjCyq2k6KB63M6gMC0YIvy+iABzmXThCRI6xpCEyVObBdWSDQ==",
"dev": true, "dev": true,
"engines": { "engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0" "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
@ -4860,13 +4860,13 @@
} }
}, },
"node_modules/@typescript-eslint/experimental-utils/node_modules/@typescript-eslint/typescript-estree": { "node_modules/@typescript-eslint/experimental-utils/node_modules/@typescript-eslint/typescript-estree": {
"version": "5.51.0", "version": "5.52.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.51.0.tgz", "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.52.0.tgz",
"integrity": "sha512-TSkNupHvNRkoH9FMA3w7TazVFcBPveAAmb7Sz+kArY6sLT86PA5Vx80cKlYmd8m3Ha2SwofM1KwraF24lM9FvA==", "integrity": "sha512-WeWnjanyEwt6+fVrSR0MYgEpUAuROxuAH516WPjUblIrClzYJj0kBbjdnbQXLpgAN8qbEuGywiQsXUVDiAoEuQ==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@typescript-eslint/types": "5.51.0", "@typescript-eslint/types": "5.52.0",
"@typescript-eslint/visitor-keys": "5.51.0", "@typescript-eslint/visitor-keys": "5.52.0",
"debug": "^4.3.4", "debug": "^4.3.4",
"globby": "^11.1.0", "globby": "^11.1.0",
"is-glob": "^4.0.3", "is-glob": "^4.0.3",
@ -4887,16 +4887,16 @@
} }
}, },
"node_modules/@typescript-eslint/experimental-utils/node_modules/@typescript-eslint/utils": { "node_modules/@typescript-eslint/experimental-utils/node_modules/@typescript-eslint/utils": {
"version": "5.51.0", "version": "5.52.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.51.0.tgz", "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.52.0.tgz",
"integrity": "sha512-76qs+5KWcaatmwtwsDJvBk4H76RJQBFe+Gext0EfJdC3Vd2kpY2Pf//OHHzHp84Ciw0/rYoGTDnIAr3uWhhJYw==", "integrity": "sha512-As3lChhrbwWQLNk2HC8Ree96hldKIqk98EYvypd3It8Q1f8d5zWyIoaZEp2va5667M4ZyE7X8UUR+azXrFl+NA==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@types/json-schema": "^7.0.9", "@types/json-schema": "^7.0.9",
"@types/semver": "^7.3.12", "@types/semver": "^7.3.12",
"@typescript-eslint/scope-manager": "5.51.0", "@typescript-eslint/scope-manager": "5.52.0",
"@typescript-eslint/types": "5.51.0", "@typescript-eslint/types": "5.52.0",
"@typescript-eslint/typescript-estree": "5.51.0", "@typescript-eslint/typescript-estree": "5.52.0",
"eslint-scope": "^5.1.1", "eslint-scope": "^5.1.1",
"eslint-utils": "^3.0.0", "eslint-utils": "^3.0.0",
"semver": "^7.3.7" "semver": "^7.3.7"
@ -4913,12 +4913,12 @@
} }
}, },
"node_modules/@typescript-eslint/experimental-utils/node_modules/@typescript-eslint/visitor-keys": { "node_modules/@typescript-eslint/experimental-utils/node_modules/@typescript-eslint/visitor-keys": {
"version": "5.51.0", "version": "5.52.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.51.0.tgz", "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.52.0.tgz",
"integrity": "sha512-Oh2+eTdjHjOFjKA27sxESlA87YPSOJafGCR0md5oeMdh1ZcCfAGCIOL216uTBAkAIptvLIfKQhl7lHxMJet4GQ==", "integrity": "sha512-qMwpw6SU5VHCPr99y274xhbm+PRViK/NATY6qzt+Et7+mThGuFSl/ompj2/hrBlRP/kq+BFdgagnOSgw9TB0eA==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@typescript-eslint/types": "5.51.0", "@typescript-eslint/types": "5.52.0",
"eslint-visitor-keys": "^3.3.0" "eslint-visitor-keys": "^3.3.0"
}, },
"engines": { "engines": {
@ -6668,9 +6668,9 @@
} }
}, },
"node_modules/ci-info": { "node_modules/ci-info": {
"version": "3.7.1", "version": "3.8.0",
"resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.7.1.tgz", "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz",
"integrity": "sha512-4jYS4MOAaCIStSRwiuxc4B8MYhIe676yO1sYGzARnjXkWpmzZMMYxY6zu8WYWDhSuth5zhrQ1rhNSibyyvv4/w==", "integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==",
"dev": true, "dev": true,
"funding": [ "funding": [
{ {
@ -7863,9 +7863,9 @@
} }
}, },
"node_modules/define-properties": { "node_modules/define-properties": {
"version": "1.1.4", "version": "1.2.0",
"resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz",
"integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"has-property-descriptors": "^1.0.0", "has-property-descriptors": "^1.0.0",
@ -8232,9 +8232,9 @@
} }
}, },
"node_modules/electron-to-chromium": { "node_modules/electron-to-chromium": {
"version": "1.4.291", "version": "1.4.295",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.291.tgz", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.295.tgz",
"integrity": "sha512-8vk4rSMBh9LRfZKE6wcxOLmlfA4Xsa4v0RRwB6VJkAH703klC9XfZIocmTk2gLBzW31P6XbuNeMt1aB5aAu/2g==" "integrity": "sha512-lEO94zqf1bDA3aepxwnWoHUjA8sZ+2owgcSZjYQy0+uOSEclJX0VieZC+r+wLpSxUHRd6gG32znTWmr+5iGzFw=="
}, },
"node_modules/emittery": { "node_modules/emittery": {
"version": "0.8.1", "version": "0.8.1",
@ -8919,13 +8919,13 @@
} }
}, },
"node_modules/eslint-plugin-testing-library/node_modules/@typescript-eslint/scope-manager": { "node_modules/eslint-plugin-testing-library/node_modules/@typescript-eslint/scope-manager": {
"version": "5.51.0", "version": "5.52.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.51.0.tgz", "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.52.0.tgz",
"integrity": "sha512-gNpxRdlx5qw3yaHA0SFuTjW4rxeYhpHxt491PEcKF8Z6zpq0kMhe0Tolxt0qjlojS+/wArSDlj/LtE69xUJphQ==", "integrity": "sha512-AR7sxxfBKiNV0FWBSARxM8DmNxrwgnYMPwmpkC1Pl1n+eT8/I2NAUPuwDy/FmDcC6F8pBfmOcaxcxRHspgOBMw==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@typescript-eslint/types": "5.51.0", "@typescript-eslint/types": "5.52.0",
"@typescript-eslint/visitor-keys": "5.51.0" "@typescript-eslint/visitor-keys": "5.52.0"
}, },
"engines": { "engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0" "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
@ -8936,9 +8936,9 @@
} }
}, },
"node_modules/eslint-plugin-testing-library/node_modules/@typescript-eslint/types": { "node_modules/eslint-plugin-testing-library/node_modules/@typescript-eslint/types": {
"version": "5.51.0", "version": "5.52.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.51.0.tgz", "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.52.0.tgz",
"integrity": "sha512-SqOn0ANn/v6hFn0kjvLwiDi4AzR++CBZz0NV5AnusT2/3y32jdc0G4woXPWHCumWtUXZKPAS27/9vziSsC9jnw==", "integrity": "sha512-oV7XU4CHYfBhk78fS7tkum+/Dpgsfi91IIDy7fjCyq2k6KB63M6gMC0YIvy+iABzmXThCRI6xpCEyVObBdWSDQ==",
"dev": true, "dev": true,
"engines": { "engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0" "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
@ -8949,13 +8949,13 @@
} }
}, },
"node_modules/eslint-plugin-testing-library/node_modules/@typescript-eslint/typescript-estree": { "node_modules/eslint-plugin-testing-library/node_modules/@typescript-eslint/typescript-estree": {
"version": "5.51.0", "version": "5.52.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.51.0.tgz", "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.52.0.tgz",
"integrity": "sha512-TSkNupHvNRkoH9FMA3w7TazVFcBPveAAmb7Sz+kArY6sLT86PA5Vx80cKlYmd8m3Ha2SwofM1KwraF24lM9FvA==", "integrity": "sha512-WeWnjanyEwt6+fVrSR0MYgEpUAuROxuAH516WPjUblIrClzYJj0kBbjdnbQXLpgAN8qbEuGywiQsXUVDiAoEuQ==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@typescript-eslint/types": "5.51.0", "@typescript-eslint/types": "5.52.0",
"@typescript-eslint/visitor-keys": "5.51.0", "@typescript-eslint/visitor-keys": "5.52.0",
"debug": "^4.3.4", "debug": "^4.3.4",
"globby": "^11.1.0", "globby": "^11.1.0",
"is-glob": "^4.0.3", "is-glob": "^4.0.3",
@ -8976,16 +8976,16 @@
} }
}, },
"node_modules/eslint-plugin-testing-library/node_modules/@typescript-eslint/utils": { "node_modules/eslint-plugin-testing-library/node_modules/@typescript-eslint/utils": {
"version": "5.51.0", "version": "5.52.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.51.0.tgz", "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.52.0.tgz",
"integrity": "sha512-76qs+5KWcaatmwtwsDJvBk4H76RJQBFe+Gext0EfJdC3Vd2kpY2Pf//OHHzHp84Ciw0/rYoGTDnIAr3uWhhJYw==", "integrity": "sha512-As3lChhrbwWQLNk2HC8Ree96hldKIqk98EYvypd3It8Q1f8d5zWyIoaZEp2va5667M4ZyE7X8UUR+azXrFl+NA==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@types/json-schema": "^7.0.9", "@types/json-schema": "^7.0.9",
"@types/semver": "^7.3.12", "@types/semver": "^7.3.12",
"@typescript-eslint/scope-manager": "5.51.0", "@typescript-eslint/scope-manager": "5.52.0",
"@typescript-eslint/types": "5.51.0", "@typescript-eslint/types": "5.52.0",
"@typescript-eslint/typescript-estree": "5.51.0", "@typescript-eslint/typescript-estree": "5.52.0",
"eslint-scope": "^5.1.1", "eslint-scope": "^5.1.1",
"eslint-utils": "^3.0.0", "eslint-utils": "^3.0.0",
"semver": "^7.3.7" "semver": "^7.3.7"
@ -9002,12 +9002,12 @@
} }
}, },
"node_modules/eslint-plugin-testing-library/node_modules/@typescript-eslint/visitor-keys": { "node_modules/eslint-plugin-testing-library/node_modules/@typescript-eslint/visitor-keys": {
"version": "5.51.0", "version": "5.52.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.51.0.tgz", "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.52.0.tgz",
"integrity": "sha512-Oh2+eTdjHjOFjKA27sxESlA87YPSOJafGCR0md5oeMdh1ZcCfAGCIOL216uTBAkAIptvLIfKQhl7lHxMJet4GQ==", "integrity": "sha512-qMwpw6SU5VHCPr99y274xhbm+PRViK/NATY6qzt+Et7+mThGuFSl/ompj2/hrBlRP/kq+BFdgagnOSgw9TB0eA==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@typescript-eslint/types": "5.51.0", "@typescript-eslint/types": "5.52.0",
"eslint-visitor-keys": "^3.3.0" "eslint-visitor-keys": "^3.3.0"
}, },
"engines": { "engines": {
@ -10392,9 +10392,9 @@
} }
}, },
"node_modules/github-buttons": { "node_modules/github-buttons": {
"version": "2.22.3", "version": "2.23.0",
"resolved": "https://registry.npmjs.org/github-buttons/-/github-buttons-2.22.3.tgz", "resolved": "https://registry.npmjs.org/github-buttons/-/github-buttons-2.23.0.tgz",
"integrity": "sha512-09/pJ7X6D1whEeFz+fKSjOBEEDnY/nxbPN7zduxAU5zGwo4RkXjL86AiOVHgIYDothbHAS43eaVk76a8Lp4YYw==" "integrity": "sha512-2REUOV3ue6NmT0QThhfzfYmeSoYpCG73+tL7Ir2C7P+gshRerI05WuIQuhDkE2Zlg5Wc39hc2DHj+pE23mGJvw=="
}, },
"node_modules/glob": { "node_modules/glob": {
"version": "7.2.3", "version": "7.2.3",
@ -11159,12 +11159,12 @@
"integrity": "sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==" "integrity": "sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q=="
}, },
"node_modules/internal-slot": { "node_modules/internal-slot": {
"version": "1.0.4", "version": "1.0.5",
"resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.4.tgz", "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz",
"integrity": "sha512-tA8URYccNzMo94s5MQZgH8NB/XTa6HsOo0MLfXTKKEnHVVdegzaQoFZ7Jp44bdvLvY2waT5dc+j5ICEswhi7UQ==", "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"get-intrinsic": "^1.1.3", "get-intrinsic": "^1.2.0",
"has": "^1.0.3", "has": "^1.0.3",
"side-channel": "^1.0.4" "side-channel": "^1.0.4"
}, },
@ -14224,9 +14224,9 @@
} }
}, },
"node_modules/jss": { "node_modules/jss": {
"version": "10.9.2", "version": "10.10.0",
"resolved": "https://registry.npmjs.org/jss/-/jss-10.9.2.tgz", "resolved": "https://registry.npmjs.org/jss/-/jss-10.10.0.tgz",
"integrity": "sha512-b8G6rWpYLR4teTUbGd4I4EsnWjg7MN0Q5bSsjKhVkJVjhQDy2KzkbD2AW3TuT0RYZVmZZHKIrXDn6kjU14qkUg==", "integrity": "sha512-cqsOTS7jqPsPMjtKYDUpdFC0AbhYFLTcuGRqymgmdJIeQ8cH7+AgX7YSgQy79wXloZq2VvATYxUOUQEvS1V/Zw==",
"dependencies": { "dependencies": {
"@babel/runtime": "^7.3.1", "@babel/runtime": "^7.3.1",
"csstype": "^3.0.2", "csstype": "^3.0.2",
@ -14239,70 +14239,70 @@
} }
}, },
"node_modules/jss-plugin-camel-case": { "node_modules/jss-plugin-camel-case": {
"version": "10.9.2", "version": "10.10.0",
"resolved": "https://registry.npmjs.org/jss-plugin-camel-case/-/jss-plugin-camel-case-10.9.2.tgz", "resolved": "https://registry.npmjs.org/jss-plugin-camel-case/-/jss-plugin-camel-case-10.10.0.tgz",
"integrity": "sha512-wgBPlL3WS0WDJ1lPJcgjux/SHnDuu7opmgQKSraKs4z8dCCyYMx9IDPFKBXQ8Q5dVYij1FFV0WdxyhuOOAXuTg==", "integrity": "sha512-z+HETfj5IYgFxh1wJnUAU8jByI48ED+v0fuTuhKrPR+pRBYS2EDwbusU8aFOpCdYhtRc9zhN+PJ7iNE8pAWyPw==",
"dependencies": { "dependencies": {
"@babel/runtime": "^7.3.1", "@babel/runtime": "^7.3.1",
"hyphenate-style-name": "^1.0.3", "hyphenate-style-name": "^1.0.3",
"jss": "10.9.2" "jss": "10.10.0"
} }
}, },
"node_modules/jss-plugin-default-unit": { "node_modules/jss-plugin-default-unit": {
"version": "10.9.2", "version": "10.10.0",
"resolved": "https://registry.npmjs.org/jss-plugin-default-unit/-/jss-plugin-default-unit-10.9.2.tgz", "resolved": "https://registry.npmjs.org/jss-plugin-default-unit/-/jss-plugin-default-unit-10.10.0.tgz",
"integrity": "sha512-pYg0QX3bBEFtTnmeSI3l7ad1vtHU42YEEpgW7pmIh+9pkWNWb5dwS/4onSfAaI0kq+dOZHzz4dWe+8vWnanoSg==", "integrity": "sha512-SvpajxIECi4JDUbGLefvNckmI+c2VWmP43qnEy/0eiwzRUsafg5DVSIWSzZe4d2vFX1u9nRDP46WCFV/PXVBGQ==",
"dependencies": { "dependencies": {
"@babel/runtime": "^7.3.1", "@babel/runtime": "^7.3.1",
"jss": "10.9.2" "jss": "10.10.0"
} }
}, },
"node_modules/jss-plugin-global": { "node_modules/jss-plugin-global": {
"version": "10.9.2", "version": "10.10.0",
"resolved": "https://registry.npmjs.org/jss-plugin-global/-/jss-plugin-global-10.9.2.tgz", "resolved": "https://registry.npmjs.org/jss-plugin-global/-/jss-plugin-global-10.10.0.tgz",
"integrity": "sha512-GcX0aE8Ef6AtlasVrafg1DItlL/tWHoC4cGir4r3gegbWwF5ZOBYhx04gurPvWHC8F873aEGqge7C17xpwmp2g==", "integrity": "sha512-icXEYbMufiNuWfuazLeN+BNJO16Ge88OcXU5ZDC2vLqElmMybA31Wi7lZ3lf+vgufRocvPj8443irhYRgWxP+A==",
"dependencies": { "dependencies": {
"@babel/runtime": "^7.3.1", "@babel/runtime": "^7.3.1",
"jss": "10.9.2" "jss": "10.10.0"
} }
}, },
"node_modules/jss-plugin-nested": { "node_modules/jss-plugin-nested": {
"version": "10.9.2", "version": "10.10.0",
"resolved": "https://registry.npmjs.org/jss-plugin-nested/-/jss-plugin-nested-10.9.2.tgz", "resolved": "https://registry.npmjs.org/jss-plugin-nested/-/jss-plugin-nested-10.10.0.tgz",
"integrity": "sha512-VgiOWIC6bvgDaAL97XCxGD0BxOKM0K0zeB/ECyNaVF6FqvdGB9KBBWRdy2STYAss4VVA7i5TbxFZN+WSX1kfQA==", "integrity": "sha512-9R4JHxxGgiZhurDo3q7LdIiDEgtA1bTGzAbhSPyIOWb7ZubrjQe8acwhEQ6OEKydzpl8XHMtTnEwHXCARLYqYA==",
"dependencies": { "dependencies": {
"@babel/runtime": "^7.3.1", "@babel/runtime": "^7.3.1",
"jss": "10.9.2", "jss": "10.10.0",
"tiny-warning": "^1.0.2" "tiny-warning": "^1.0.2"
} }
}, },
"node_modules/jss-plugin-props-sort": { "node_modules/jss-plugin-props-sort": {
"version": "10.9.2", "version": "10.10.0",
"resolved": "https://registry.npmjs.org/jss-plugin-props-sort/-/jss-plugin-props-sort-10.9.2.tgz", "resolved": "https://registry.npmjs.org/jss-plugin-props-sort/-/jss-plugin-props-sort-10.10.0.tgz",
"integrity": "sha512-AP1AyUTbi2szylgr+O0OB7gkIxEGzySLITZ2GpsaoX72YMCGI2jYAc+WUhPfvUnZYiauF4zTnN4V4TGuvFjJlw==", "integrity": "sha512-5VNJvQJbnq/vRfje6uZLe/FyaOpzP/IH1LP+0fr88QamVrGJa0hpRRyAa0ea4U/3LcorJfBFVyC4yN2QC73lJg==",
"dependencies": { "dependencies": {
"@babel/runtime": "^7.3.1", "@babel/runtime": "^7.3.1",
"jss": "10.9.2" "jss": "10.10.0"
} }
}, },
"node_modules/jss-plugin-rule-value-function": { "node_modules/jss-plugin-rule-value-function": {
"version": "10.9.2", "version": "10.10.0",
"resolved": "https://registry.npmjs.org/jss-plugin-rule-value-function/-/jss-plugin-rule-value-function-10.9.2.tgz", "resolved": "https://registry.npmjs.org/jss-plugin-rule-value-function/-/jss-plugin-rule-value-function-10.10.0.tgz",
"integrity": "sha512-vf5ms8zvLFMub6swbNxvzsurHfUZ5Shy5aJB2gIpY6WNA3uLinEcxYyraQXItRHi5ivXGqYciFDRM2ZoVoRZ4Q==", "integrity": "sha512-uEFJFgaCtkXeIPgki8ICw3Y7VMkL9GEan6SqmT9tqpwM+/t+hxfMUdU4wQ0MtOiMNWhwnckBV0IebrKcZM9C0g==",
"dependencies": { "dependencies": {
"@babel/runtime": "^7.3.1", "@babel/runtime": "^7.3.1",
"jss": "10.9.2", "jss": "10.10.0",
"tiny-warning": "^1.0.2" "tiny-warning": "^1.0.2"
} }
}, },
"node_modules/jss-plugin-vendor-prefixer": { "node_modules/jss-plugin-vendor-prefixer": {
"version": "10.9.2", "version": "10.10.0",
"resolved": "https://registry.npmjs.org/jss-plugin-vendor-prefixer/-/jss-plugin-vendor-prefixer-10.9.2.tgz", "resolved": "https://registry.npmjs.org/jss-plugin-vendor-prefixer/-/jss-plugin-vendor-prefixer-10.10.0.tgz",
"integrity": "sha512-SxcEoH+Rttf9fEv6KkiPzLdXRmI6waOTcMkbbEFgdZLDYNIP9UKNHFy6thhbRKqv0XMQZdrEsbDyV464zE/dUA==", "integrity": "sha512-UY/41WumgjW8r1qMCO8l1ARg7NHnfRVWRhZ2E2m0DMYsr2DD91qIXLyNhiX83hHswR7Wm4D+oDYNC1zWCJWtqg==",
"dependencies": { "dependencies": {
"@babel/runtime": "^7.3.1", "@babel/runtime": "^7.3.1",
"css-vendor": "^2.0.8", "css-vendor": "^2.0.8",
"jss": "10.9.2" "jss": "10.10.0"
} }
}, },
"node_modules/jsx-ast-utils": { "node_modules/jsx-ast-utils": {
@ -14961,9 +14961,9 @@
} }
}, },
"node_modules/minimist": { "node_modules/minimist": {
"version": "1.2.7", "version": "1.2.8",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
"integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==", "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
"dev": true, "dev": true,
"funding": { "funding": {
"url": "https://github.com/sponsors/ljharb" "url": "https://github.com/sponsors/ljharb"
@ -23104,9 +23104,9 @@
} }
}, },
"@kingsrook/qqq-frontend-core": { "@kingsrook/qqq-frontend-core": {
"version": "1.0.51", "version": "1.0.52",
"resolved": "https://npm.pkg.github.com/download/@Kingsrook/qqq-frontend-core/1.0.51/b4c2324c74f5171123cb87b87e52f4b3d45b5ab9", "resolved": "https://npm.pkg.github.com/download/@Kingsrook/qqq-frontend-core/1.0.52/b9f1292a2262e07e202738c41a10753c1eaa8877",
"integrity": "sha512-Elpb+t1pLlpKTkFNiy1xaHPt8cloDRFe7ud6w48I9wIhYAOkObXPlXz+ubo+gIh7GJ4dLqsp+RqIcQQGnOCBTg==", "integrity": "sha512-lL37n9+zvmSZHDigpZv+RGsxVfApC+MvUK5aNvmOHh+oD+H4IpaatDlILWAc1gRE49Ln3Ib/EbZH5lEUfGpOdA==",
"requires": { "requires": {
"axios": "0.27.2", "axios": "0.27.2",
"form-data": "4.0.0" "form-data": "4.0.0"
@ -24129,38 +24129,38 @@
} }
}, },
"@typescript-eslint/experimental-utils": { "@typescript-eslint/experimental-utils": {
"version": "5.51.0", "version": "5.52.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.51.0.tgz", "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.52.0.tgz",
"integrity": "sha512-8/3+ZyBENl2aog1/QB3S39ptkZ2oRhDB+sJt15UWXBE3skgwL1C8BN9RjpOyhTejwR2hVrvqEjcYcNY6qtZ7nw==", "integrity": "sha512-kd8CRr04mNE3hw4et6+0T0NI5vli2H6dJCGzjX1r12s/FXUehLVadmvo2Nl3DN80YqAh1cVC6zYZAkpmGiVJ5g==",
"dev": true, "dev": true,
"requires": { "requires": {
"@typescript-eslint/utils": "5.51.0" "@typescript-eslint/utils": "5.52.0"
}, },
"dependencies": { "dependencies": {
"@typescript-eslint/scope-manager": { "@typescript-eslint/scope-manager": {
"version": "5.51.0", "version": "5.52.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.51.0.tgz", "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.52.0.tgz",
"integrity": "sha512-gNpxRdlx5qw3yaHA0SFuTjW4rxeYhpHxt491PEcKF8Z6zpq0kMhe0Tolxt0qjlojS+/wArSDlj/LtE69xUJphQ==", "integrity": "sha512-AR7sxxfBKiNV0FWBSARxM8DmNxrwgnYMPwmpkC1Pl1n+eT8/I2NAUPuwDy/FmDcC6F8pBfmOcaxcxRHspgOBMw==",
"dev": true, "dev": true,
"requires": { "requires": {
"@typescript-eslint/types": "5.51.0", "@typescript-eslint/types": "5.52.0",
"@typescript-eslint/visitor-keys": "5.51.0" "@typescript-eslint/visitor-keys": "5.52.0"
} }
}, },
"@typescript-eslint/types": { "@typescript-eslint/types": {
"version": "5.51.0", "version": "5.52.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.51.0.tgz", "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.52.0.tgz",
"integrity": "sha512-SqOn0ANn/v6hFn0kjvLwiDi4AzR++CBZz0NV5AnusT2/3y32jdc0G4woXPWHCumWtUXZKPAS27/9vziSsC9jnw==", "integrity": "sha512-oV7XU4CHYfBhk78fS7tkum+/Dpgsfi91IIDy7fjCyq2k6KB63M6gMC0YIvy+iABzmXThCRI6xpCEyVObBdWSDQ==",
"dev": true "dev": true
}, },
"@typescript-eslint/typescript-estree": { "@typescript-eslint/typescript-estree": {
"version": "5.51.0", "version": "5.52.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.51.0.tgz", "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.52.0.tgz",
"integrity": "sha512-TSkNupHvNRkoH9FMA3w7TazVFcBPveAAmb7Sz+kArY6sLT86PA5Vx80cKlYmd8m3Ha2SwofM1KwraF24lM9FvA==", "integrity": "sha512-WeWnjanyEwt6+fVrSR0MYgEpUAuROxuAH516WPjUblIrClzYJj0kBbjdnbQXLpgAN8qbEuGywiQsXUVDiAoEuQ==",
"dev": true, "dev": true,
"requires": { "requires": {
"@typescript-eslint/types": "5.51.0", "@typescript-eslint/types": "5.52.0",
"@typescript-eslint/visitor-keys": "5.51.0", "@typescript-eslint/visitor-keys": "5.52.0",
"debug": "^4.3.4", "debug": "^4.3.4",
"globby": "^11.1.0", "globby": "^11.1.0",
"is-glob": "^4.0.3", "is-glob": "^4.0.3",
@ -24169,28 +24169,28 @@
} }
}, },
"@typescript-eslint/utils": { "@typescript-eslint/utils": {
"version": "5.51.0", "version": "5.52.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.51.0.tgz", "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.52.0.tgz",
"integrity": "sha512-76qs+5KWcaatmwtwsDJvBk4H76RJQBFe+Gext0EfJdC3Vd2kpY2Pf//OHHzHp84Ciw0/rYoGTDnIAr3uWhhJYw==", "integrity": "sha512-As3lChhrbwWQLNk2HC8Ree96hldKIqk98EYvypd3It8Q1f8d5zWyIoaZEp2va5667M4ZyE7X8UUR+azXrFl+NA==",
"dev": true, "dev": true,
"requires": { "requires": {
"@types/json-schema": "^7.0.9", "@types/json-schema": "^7.0.9",
"@types/semver": "^7.3.12", "@types/semver": "^7.3.12",
"@typescript-eslint/scope-manager": "5.51.0", "@typescript-eslint/scope-manager": "5.52.0",
"@typescript-eslint/types": "5.51.0", "@typescript-eslint/types": "5.52.0",
"@typescript-eslint/typescript-estree": "5.51.0", "@typescript-eslint/typescript-estree": "5.52.0",
"eslint-scope": "^5.1.1", "eslint-scope": "^5.1.1",
"eslint-utils": "^3.0.0", "eslint-utils": "^3.0.0",
"semver": "^7.3.7" "semver": "^7.3.7"
} }
}, },
"@typescript-eslint/visitor-keys": { "@typescript-eslint/visitor-keys": {
"version": "5.51.0", "version": "5.52.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.51.0.tgz", "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.52.0.tgz",
"integrity": "sha512-Oh2+eTdjHjOFjKA27sxESlA87YPSOJafGCR0md5oeMdh1ZcCfAGCIOL216uTBAkAIptvLIfKQhl7lHxMJet4GQ==", "integrity": "sha512-qMwpw6SU5VHCPr99y274xhbm+PRViK/NATY6qzt+Et7+mThGuFSl/ompj2/hrBlRP/kq+BFdgagnOSgw9TB0eA==",
"dev": true, "dev": true,
"requires": { "requires": {
"@typescript-eslint/types": "5.51.0", "@typescript-eslint/types": "5.52.0",
"eslint-visitor-keys": "^3.3.0" "eslint-visitor-keys": "^3.3.0"
} }
}, },
@ -25491,9 +25491,9 @@
"dev": true "dev": true
}, },
"ci-info": { "ci-info": {
"version": "3.7.1", "version": "3.8.0",
"resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.7.1.tgz", "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz",
"integrity": "sha512-4jYS4MOAaCIStSRwiuxc4B8MYhIe676yO1sYGzARnjXkWpmzZMMYxY6zu8WYWDhSuth5zhrQ1rhNSibyyvv4/w==", "integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==",
"dev": true "dev": true
}, },
"cjs-module-lexer": { "cjs-module-lexer": {
@ -26378,9 +26378,9 @@
"dev": true "dev": true
}, },
"define-properties": { "define-properties": {
"version": "1.1.4", "version": "1.2.0",
"resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz",
"integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==",
"dev": true, "dev": true,
"requires": { "requires": {
"has-property-descriptors": "^1.0.0", "has-property-descriptors": "^1.0.0",
@ -26671,9 +26671,9 @@
} }
}, },
"electron-to-chromium": { "electron-to-chromium": {
"version": "1.4.291", "version": "1.4.295",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.291.tgz", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.295.tgz",
"integrity": "sha512-8vk4rSMBh9LRfZKE6wcxOLmlfA4Xsa4v0RRwB6VJkAH703klC9XfZIocmTk2gLBzW31P6XbuNeMt1aB5aAu/2g==" "integrity": "sha512-lEO94zqf1bDA3aepxwnWoHUjA8sZ+2owgcSZjYQy0+uOSEclJX0VieZC+r+wLpSxUHRd6gG32znTWmr+5iGzFw=="
}, },
"emittery": { "emittery": {
"version": "0.8.1", "version": "0.8.1",
@ -27274,29 +27274,29 @@
}, },
"dependencies": { "dependencies": {
"@typescript-eslint/scope-manager": { "@typescript-eslint/scope-manager": {
"version": "5.51.0", "version": "5.52.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.51.0.tgz", "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.52.0.tgz",
"integrity": "sha512-gNpxRdlx5qw3yaHA0SFuTjW4rxeYhpHxt491PEcKF8Z6zpq0kMhe0Tolxt0qjlojS+/wArSDlj/LtE69xUJphQ==", "integrity": "sha512-AR7sxxfBKiNV0FWBSARxM8DmNxrwgnYMPwmpkC1Pl1n+eT8/I2NAUPuwDy/FmDcC6F8pBfmOcaxcxRHspgOBMw==",
"dev": true, "dev": true,
"requires": { "requires": {
"@typescript-eslint/types": "5.51.0", "@typescript-eslint/types": "5.52.0",
"@typescript-eslint/visitor-keys": "5.51.0" "@typescript-eslint/visitor-keys": "5.52.0"
} }
}, },
"@typescript-eslint/types": { "@typescript-eslint/types": {
"version": "5.51.0", "version": "5.52.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.51.0.tgz", "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.52.0.tgz",
"integrity": "sha512-SqOn0ANn/v6hFn0kjvLwiDi4AzR++CBZz0NV5AnusT2/3y32jdc0G4woXPWHCumWtUXZKPAS27/9vziSsC9jnw==", "integrity": "sha512-oV7XU4CHYfBhk78fS7tkum+/Dpgsfi91IIDy7fjCyq2k6KB63M6gMC0YIvy+iABzmXThCRI6xpCEyVObBdWSDQ==",
"dev": true "dev": true
}, },
"@typescript-eslint/typescript-estree": { "@typescript-eslint/typescript-estree": {
"version": "5.51.0", "version": "5.52.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.51.0.tgz", "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.52.0.tgz",
"integrity": "sha512-TSkNupHvNRkoH9FMA3w7TazVFcBPveAAmb7Sz+kArY6sLT86PA5Vx80cKlYmd8m3Ha2SwofM1KwraF24lM9FvA==", "integrity": "sha512-WeWnjanyEwt6+fVrSR0MYgEpUAuROxuAH516WPjUblIrClzYJj0kBbjdnbQXLpgAN8qbEuGywiQsXUVDiAoEuQ==",
"dev": true, "dev": true,
"requires": { "requires": {
"@typescript-eslint/types": "5.51.0", "@typescript-eslint/types": "5.52.0",
"@typescript-eslint/visitor-keys": "5.51.0", "@typescript-eslint/visitor-keys": "5.52.0",
"debug": "^4.3.4", "debug": "^4.3.4",
"globby": "^11.1.0", "globby": "^11.1.0",
"is-glob": "^4.0.3", "is-glob": "^4.0.3",
@ -27305,28 +27305,28 @@
} }
}, },
"@typescript-eslint/utils": { "@typescript-eslint/utils": {
"version": "5.51.0", "version": "5.52.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.51.0.tgz", "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.52.0.tgz",
"integrity": "sha512-76qs+5KWcaatmwtwsDJvBk4H76RJQBFe+Gext0EfJdC3Vd2kpY2Pf//OHHzHp84Ciw0/rYoGTDnIAr3uWhhJYw==", "integrity": "sha512-As3lChhrbwWQLNk2HC8Ree96hldKIqk98EYvypd3It8Q1f8d5zWyIoaZEp2va5667M4ZyE7X8UUR+azXrFl+NA==",
"dev": true, "dev": true,
"requires": { "requires": {
"@types/json-schema": "^7.0.9", "@types/json-schema": "^7.0.9",
"@types/semver": "^7.3.12", "@types/semver": "^7.3.12",
"@typescript-eslint/scope-manager": "5.51.0", "@typescript-eslint/scope-manager": "5.52.0",
"@typescript-eslint/types": "5.51.0", "@typescript-eslint/types": "5.52.0",
"@typescript-eslint/typescript-estree": "5.51.0", "@typescript-eslint/typescript-estree": "5.52.0",
"eslint-scope": "^5.1.1", "eslint-scope": "^5.1.1",
"eslint-utils": "^3.0.0", "eslint-utils": "^3.0.0",
"semver": "^7.3.7" "semver": "^7.3.7"
} }
}, },
"@typescript-eslint/visitor-keys": { "@typescript-eslint/visitor-keys": {
"version": "5.51.0", "version": "5.52.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.51.0.tgz", "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.52.0.tgz",
"integrity": "sha512-Oh2+eTdjHjOFjKA27sxESlA87YPSOJafGCR0md5oeMdh1ZcCfAGCIOL216uTBAkAIptvLIfKQhl7lHxMJet4GQ==", "integrity": "sha512-qMwpw6SU5VHCPr99y274xhbm+PRViK/NATY6qzt+Et7+mThGuFSl/ompj2/hrBlRP/kq+BFdgagnOSgw9TB0eA==",
"dev": true, "dev": true,
"requires": { "requires": {
"@typescript-eslint/types": "5.51.0", "@typescript-eslint/types": "5.52.0",
"eslint-visitor-keys": "^3.3.0" "eslint-visitor-keys": "^3.3.0"
} }
}, },
@ -28270,9 +28270,9 @@
} }
}, },
"github-buttons": { "github-buttons": {
"version": "2.22.3", "version": "2.23.0",
"resolved": "https://registry.npmjs.org/github-buttons/-/github-buttons-2.22.3.tgz", "resolved": "https://registry.npmjs.org/github-buttons/-/github-buttons-2.23.0.tgz",
"integrity": "sha512-09/pJ7X6D1whEeFz+fKSjOBEEDnY/nxbPN7zduxAU5zGwo4RkXjL86AiOVHgIYDothbHAS43eaVk76a8Lp4YYw==" "integrity": "sha512-2REUOV3ue6NmT0QThhfzfYmeSoYpCG73+tL7Ir2C7P+gshRerI05WuIQuhDkE2Zlg5Wc39hc2DHj+pE23mGJvw=="
}, },
"glob": { "glob": {
"version": "7.2.3", "version": "7.2.3",
@ -28840,12 +28840,12 @@
"integrity": "sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==" "integrity": "sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q=="
}, },
"internal-slot": { "internal-slot": {
"version": "1.0.4", "version": "1.0.5",
"resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.4.tgz", "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz",
"integrity": "sha512-tA8URYccNzMo94s5MQZgH8NB/XTa6HsOo0MLfXTKKEnHVVdegzaQoFZ7Jp44bdvLvY2waT5dc+j5ICEswhi7UQ==", "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==",
"dev": true, "dev": true,
"requires": { "requires": {
"get-intrinsic": "^1.1.3", "get-intrinsic": "^1.2.0",
"has": "^1.0.3", "has": "^1.0.3",
"side-channel": "^1.0.4" "side-channel": "^1.0.4"
} }
@ -31108,9 +31108,9 @@
} }
}, },
"jss": { "jss": {
"version": "10.9.2", "version": "10.10.0",
"resolved": "https://registry.npmjs.org/jss/-/jss-10.9.2.tgz", "resolved": "https://registry.npmjs.org/jss/-/jss-10.10.0.tgz",
"integrity": "sha512-b8G6rWpYLR4teTUbGd4I4EsnWjg7MN0Q5bSsjKhVkJVjhQDy2KzkbD2AW3TuT0RYZVmZZHKIrXDn6kjU14qkUg==", "integrity": "sha512-cqsOTS7jqPsPMjtKYDUpdFC0AbhYFLTcuGRqymgmdJIeQ8cH7+AgX7YSgQy79wXloZq2VvATYxUOUQEvS1V/Zw==",
"requires": { "requires": {
"@babel/runtime": "^7.3.1", "@babel/runtime": "^7.3.1",
"csstype": "^3.0.2", "csstype": "^3.0.2",
@ -31119,70 +31119,70 @@
} }
}, },
"jss-plugin-camel-case": { "jss-plugin-camel-case": {
"version": "10.9.2", "version": "10.10.0",
"resolved": "https://registry.npmjs.org/jss-plugin-camel-case/-/jss-plugin-camel-case-10.9.2.tgz", "resolved": "https://registry.npmjs.org/jss-plugin-camel-case/-/jss-plugin-camel-case-10.10.0.tgz",
"integrity": "sha512-wgBPlL3WS0WDJ1lPJcgjux/SHnDuu7opmgQKSraKs4z8dCCyYMx9IDPFKBXQ8Q5dVYij1FFV0WdxyhuOOAXuTg==", "integrity": "sha512-z+HETfj5IYgFxh1wJnUAU8jByI48ED+v0fuTuhKrPR+pRBYS2EDwbusU8aFOpCdYhtRc9zhN+PJ7iNE8pAWyPw==",
"requires": { "requires": {
"@babel/runtime": "^7.3.1", "@babel/runtime": "^7.3.1",
"hyphenate-style-name": "^1.0.3", "hyphenate-style-name": "^1.0.3",
"jss": "10.9.2" "jss": "10.10.0"
} }
}, },
"jss-plugin-default-unit": { "jss-plugin-default-unit": {
"version": "10.9.2", "version": "10.10.0",
"resolved": "https://registry.npmjs.org/jss-plugin-default-unit/-/jss-plugin-default-unit-10.9.2.tgz", "resolved": "https://registry.npmjs.org/jss-plugin-default-unit/-/jss-plugin-default-unit-10.10.0.tgz",
"integrity": "sha512-pYg0QX3bBEFtTnmeSI3l7ad1vtHU42YEEpgW7pmIh+9pkWNWb5dwS/4onSfAaI0kq+dOZHzz4dWe+8vWnanoSg==", "integrity": "sha512-SvpajxIECi4JDUbGLefvNckmI+c2VWmP43qnEy/0eiwzRUsafg5DVSIWSzZe4d2vFX1u9nRDP46WCFV/PXVBGQ==",
"requires": { "requires": {
"@babel/runtime": "^7.3.1", "@babel/runtime": "^7.3.1",
"jss": "10.9.2" "jss": "10.10.0"
} }
}, },
"jss-plugin-global": { "jss-plugin-global": {
"version": "10.9.2", "version": "10.10.0",
"resolved": "https://registry.npmjs.org/jss-plugin-global/-/jss-plugin-global-10.9.2.tgz", "resolved": "https://registry.npmjs.org/jss-plugin-global/-/jss-plugin-global-10.10.0.tgz",
"integrity": "sha512-GcX0aE8Ef6AtlasVrafg1DItlL/tWHoC4cGir4r3gegbWwF5ZOBYhx04gurPvWHC8F873aEGqge7C17xpwmp2g==", "integrity": "sha512-icXEYbMufiNuWfuazLeN+BNJO16Ge88OcXU5ZDC2vLqElmMybA31Wi7lZ3lf+vgufRocvPj8443irhYRgWxP+A==",
"requires": { "requires": {
"@babel/runtime": "^7.3.1", "@babel/runtime": "^7.3.1",
"jss": "10.9.2" "jss": "10.10.0"
} }
}, },
"jss-plugin-nested": { "jss-plugin-nested": {
"version": "10.9.2", "version": "10.10.0",
"resolved": "https://registry.npmjs.org/jss-plugin-nested/-/jss-plugin-nested-10.9.2.tgz", "resolved": "https://registry.npmjs.org/jss-plugin-nested/-/jss-plugin-nested-10.10.0.tgz",
"integrity": "sha512-VgiOWIC6bvgDaAL97XCxGD0BxOKM0K0zeB/ECyNaVF6FqvdGB9KBBWRdy2STYAss4VVA7i5TbxFZN+WSX1kfQA==", "integrity": "sha512-9R4JHxxGgiZhurDo3q7LdIiDEgtA1bTGzAbhSPyIOWb7ZubrjQe8acwhEQ6OEKydzpl8XHMtTnEwHXCARLYqYA==",
"requires": { "requires": {
"@babel/runtime": "^7.3.1", "@babel/runtime": "^7.3.1",
"jss": "10.9.2", "jss": "10.10.0",
"tiny-warning": "^1.0.2" "tiny-warning": "^1.0.2"
} }
}, },
"jss-plugin-props-sort": { "jss-plugin-props-sort": {
"version": "10.9.2", "version": "10.10.0",
"resolved": "https://registry.npmjs.org/jss-plugin-props-sort/-/jss-plugin-props-sort-10.9.2.tgz", "resolved": "https://registry.npmjs.org/jss-plugin-props-sort/-/jss-plugin-props-sort-10.10.0.tgz",
"integrity": "sha512-AP1AyUTbi2szylgr+O0OB7gkIxEGzySLITZ2GpsaoX72YMCGI2jYAc+WUhPfvUnZYiauF4zTnN4V4TGuvFjJlw==", "integrity": "sha512-5VNJvQJbnq/vRfje6uZLe/FyaOpzP/IH1LP+0fr88QamVrGJa0hpRRyAa0ea4U/3LcorJfBFVyC4yN2QC73lJg==",
"requires": { "requires": {
"@babel/runtime": "^7.3.1", "@babel/runtime": "^7.3.1",
"jss": "10.9.2" "jss": "10.10.0"
} }
}, },
"jss-plugin-rule-value-function": { "jss-plugin-rule-value-function": {
"version": "10.9.2", "version": "10.10.0",
"resolved": "https://registry.npmjs.org/jss-plugin-rule-value-function/-/jss-plugin-rule-value-function-10.9.2.tgz", "resolved": "https://registry.npmjs.org/jss-plugin-rule-value-function/-/jss-plugin-rule-value-function-10.10.0.tgz",
"integrity": "sha512-vf5ms8zvLFMub6swbNxvzsurHfUZ5Shy5aJB2gIpY6WNA3uLinEcxYyraQXItRHi5ivXGqYciFDRM2ZoVoRZ4Q==", "integrity": "sha512-uEFJFgaCtkXeIPgki8ICw3Y7VMkL9GEan6SqmT9tqpwM+/t+hxfMUdU4wQ0MtOiMNWhwnckBV0IebrKcZM9C0g==",
"requires": { "requires": {
"@babel/runtime": "^7.3.1", "@babel/runtime": "^7.3.1",
"jss": "10.9.2", "jss": "10.10.0",
"tiny-warning": "^1.0.2" "tiny-warning": "^1.0.2"
} }
}, },
"jss-plugin-vendor-prefixer": { "jss-plugin-vendor-prefixer": {
"version": "10.9.2", "version": "10.10.0",
"resolved": "https://registry.npmjs.org/jss-plugin-vendor-prefixer/-/jss-plugin-vendor-prefixer-10.9.2.tgz", "resolved": "https://registry.npmjs.org/jss-plugin-vendor-prefixer/-/jss-plugin-vendor-prefixer-10.10.0.tgz",
"integrity": "sha512-SxcEoH+Rttf9fEv6KkiPzLdXRmI6waOTcMkbbEFgdZLDYNIP9UKNHFy6thhbRKqv0XMQZdrEsbDyV464zE/dUA==", "integrity": "sha512-UY/41WumgjW8r1qMCO8l1ARg7NHnfRVWRhZ2E2m0DMYsr2DD91qIXLyNhiX83hHswR7Wm4D+oDYNC1zWCJWtqg==",
"requires": { "requires": {
"@babel/runtime": "^7.3.1", "@babel/runtime": "^7.3.1",
"css-vendor": "^2.0.8", "css-vendor": "^2.0.8",
"jss": "10.9.2" "jss": "10.10.0"
} }
}, },
"jsx-ast-utils": { "jsx-ast-utils": {
@ -31685,9 +31685,9 @@
} }
}, },
"minimist": { "minimist": {
"version": "1.2.7", "version": "1.2.8",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
"integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==", "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
"dev": true "dev": true
}, },
"ms": { "ms": {

View File

@ -6,7 +6,7 @@
"@auth0/auth0-react": "1.10.2", "@auth0/auth0-react": "1.10.2",
"@emotion/react": "11.7.1", "@emotion/react": "11.7.1",
"@emotion/styled": "11.6.0", "@emotion/styled": "11.6.0",
"@kingsrook/qqq-frontend-core": "1.0.51", "@kingsrook/qqq-frontend-core": "1.0.52",
"@mui/icons-material": "5.4.1", "@mui/icons-material": "5.4.1",
"@mui/material": "5.11.1", "@mui/material": "5.11.1",
"@mui/styles": "5.11.1", "@mui/styles": "5.11.1",

View File

@ -18,7 +18,7 @@ Coded by www.creative-tim.com
<meta charset="utf-8" /> <meta charset="utf-8" />
<link id="favicon" rel="shortcut icon" href="%PUBLIC_URL%/" /> <link id="favicon" rel="shortcut icon" href="%PUBLIC_URL%/" />
<meta name="viewport" content="width=device-width, initial-scale=1" /> <meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="theme-color" content="#04aaef" /> <meta name="theme-color" content="#0062FF" />
<link id="appleIcon" rel="apple-touch-icon" sizes="76x76" href="%PUBLIC_URL%/" /> <link id="appleIcon" rel="apple-touch-icon" sizes="76x76" href="%PUBLIC_URL%/" />
<link rel="manifest" href="%PUBLIC_URL%/manifest.json" /> <link rel="manifest" href="%PUBLIC_URL%/manifest.json" />
<title></title> <title></title>

View File

@ -10,6 +10,6 @@
], ],
"start_url": ".", "start_url": ".",
"display": "standalone", "display": "standalone",
"theme_color": "#04aaef", "theme_color": "#0062FF",
"background_color": "#ffffff" "background_color": "#ffffff"
} }

View File

@ -382,6 +382,10 @@ export default function App()
{ {
appleIcon.href = metaData.branding.icon; appleIcon.href = metaData.branding.icon;
} }
if (metaData.branding.accentColor)
{
setAccentColor(metaData.branding.accentColor)
}
} }
let profileRoutes = {}; let profileRoutes = {};
@ -519,12 +523,15 @@ export default function App()
); );
const [pageHeader, setPageHeader] = useState(""); const [pageHeader, setPageHeader] = useState("");
const [accentColor, setAccentColor] = useState("#0062FF");
return ( return (
appRoutes && ( appRoutes && (
<QContext.Provider value={{ <QContext.Provider value={{
pageHeader: pageHeader, pageHeader: pageHeader,
setPageHeader: (header: string) => setPageHeader(header) accentColor: accentColor,
setPageHeader: (header: string) => setPageHeader(header),
setAccentColor: (accentColor: string) => setAccentColor(accentColor)
}}> }}>
<ThemeProvider theme={theme}> <ThemeProvider theme={theme}>
<CssBaseline /> <CssBaseline />

View File

@ -26,10 +26,13 @@ interface QContext
{ {
pageHeader: string; pageHeader: string;
setPageHeader?: (header: string) => void; setPageHeader?: (header: string) => void;
accentColor: string;
setAccentColor?: (header: string) => void;
} }
const defaultState = { const defaultState = {
pageHeader: "" pageHeader: "",
accentColor: "#0062FF"
}; };
const QContext = createContext<QContext>(defaultState); const QContext = createContext<QContext>(defaultState);

View File

@ -1,17 +1,17 @@
/** /**
========================================================= =========================================================
* Material Dashboard 2 PRO React TS - v1.0.0 * Material Dashboard 2 PRO React TS - v1.0.0
========================================================= =========================================================
* Product Page: https://www.creative-tim.com/product/material-dashboard-2-pro-react-ts * Product Page: https://www.creative-tim.com/product/material-dashboard-2-pro-react-ts
* Copyright 2022 Creative Tim (https://www.creative-tim.com) * Copyright 2022 Creative Tim (https://www.creative-tim.com)
Coded by www.creative-tim.com Coded by www.creative-tim.com
========================================================= =========================================================
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. * The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
*/ */
/** /**
* The base colors for the Material Dashboard 2 PRO React TSUI Dashboard PRO Material. * The base colors for the Material Dashboard 2 PRO React TSUI Dashboard PRO Material.
@ -20,372 +20,377 @@ Coded by www.creative-tim.com
*/ */
// types // types
interface ColorsTypes { interface ColorsTypes
main: string; {
focus: string; main: string;
focus: string;
} }
interface GradientsTypes { interface GradientsTypes
main: string; {
state: string; main: string;
state: string;
} }
interface SocialMediaColorsTypes { interface SocialMediaColorsTypes
main: string; {
dark: string; main: string;
dark: string;
} }
interface BadgeColorsTypes { interface BadgeColorsTypes
background: string; {
text: string; background: string;
text: string;
} }
interface Types { interface Types
background: {
| { background:
default: string; | {
sidenav?: string; default: string;
card?: string; sidenav?: string;
card?: string;
}
| any;
white:
| {
main: string;
focus: string;
}
| any;
text:
| {
main: string;
focus: string;
primary?: string;
secondary?: string;
disabled?: string;
}
| any;
transparent:
| {
main: string;
}
| any;
black:
| {
light: string;
main: string;
focus: string;
}
| any;
primary: ColorsTypes | any;
secondary: ColorsTypes | any;
info: ColorsTypes | any;
success: ColorsTypes | any;
warning: ColorsTypes | any;
error: ColorsTypes | any;
light: ColorsTypes | any;
dark: ColorsTypes | any;
grey:
| {
[key: string | number]: string;
}
| any;
gradients:
| {
primary: GradientsTypes;
secondary: GradientsTypes;
info: GradientsTypes;
success: GradientsTypes;
warning: GradientsTypes;
error: GradientsTypes;
light: GradientsTypes;
dark: GradientsTypes;
}
| any;
socialMediaColors:
| {
facebook: SocialMediaColorsTypes;
twitter: SocialMediaColorsTypes;
instagram: SocialMediaColorsTypes;
linkedin: SocialMediaColorsTypes;
pinterest: SocialMediaColorsTypes;
youtube: SocialMediaColorsTypes;
vimeo: SocialMediaColorsTypes;
slack: SocialMediaColorsTypes;
dribbble: SocialMediaColorsTypes;
github: SocialMediaColorsTypes;
reddit: SocialMediaColorsTypes;
tumblr: SocialMediaColorsTypes;
}
| any;
badgeColors:
| {
primary: BadgeColorsTypes;
secondary: BadgeColorsTypes;
info: BadgeColorsTypes;
success: BadgeColorsTypes;
warning: BadgeColorsTypes;
error: BadgeColorsTypes;
light: BadgeColorsTypes;
dark: BadgeColorsTypes;
}
| any;
coloredShadows:
| {
[key: string]: string;
}
| any;
inputBorderColor: string;
tabs:
| {
indicator:
| {
boxShadow: string;
} }
| any; | any;
white: }
| { | any;
main: string;
focus: string;
}
| any;
text:
| {
main: string;
focus: string;
primary?: string;
secondary?: string;
disabled?: string;
}
| any;
transparent:
| {
main: string;
}
| any;
black:
| {
light: string;
main: string;
focus: string;
}
| any;
primary: ColorsTypes | any;
secondary: ColorsTypes | any;
info: ColorsTypes | any;
success: ColorsTypes | any;
warning: ColorsTypes | any;
error: ColorsTypes | any;
light: ColorsTypes | any;
dark: ColorsTypes | any;
grey:
| {
[key: string | number]: string;
}
| any;
gradients:
| {
primary: GradientsTypes;
secondary: GradientsTypes;
info: GradientsTypes;
success: GradientsTypes;
warning: GradientsTypes;
error: GradientsTypes;
light: GradientsTypes;
dark: GradientsTypes;
}
| any;
socialMediaColors:
| {
facebook: SocialMediaColorsTypes;
twitter: SocialMediaColorsTypes;
instagram: SocialMediaColorsTypes;
linkedin: SocialMediaColorsTypes;
pinterest: SocialMediaColorsTypes;
youtube: SocialMediaColorsTypes;
vimeo: SocialMediaColorsTypes;
slack: SocialMediaColorsTypes;
dribbble: SocialMediaColorsTypes;
github: SocialMediaColorsTypes;
reddit: SocialMediaColorsTypes;
tumblr: SocialMediaColorsTypes;
}
| any;
badgeColors:
| {
primary: BadgeColorsTypes;
secondary: BadgeColorsTypes;
info: BadgeColorsTypes;
success: BadgeColorsTypes;
warning: BadgeColorsTypes;
error: BadgeColorsTypes;
light: BadgeColorsTypes;
dark: BadgeColorsTypes;
}
| any;
coloredShadows:
| {
[key: string]: string;
}
| any;
inputBorderColor: string;
tabs:
| {
indicator:
| {
boxShadow: string;
}
| any;
}
| any;
} }
const colors: Types = { const colors: Types = {
background: { background: {
default: "#1a2035", default: "#1a2035",
sidenav: "#1f283e", sidenav: "#1f283e",
card: "#202940", card: "#202940",
}, },
text: { text: {
main: "#ffffffcc", main: "#ffffffcc",
focus: "#ffffffcc", focus: "#ffffffcc",
}, },
transparent: { transparent: {
main: "transparent", main: "transparent",
}, },
white: { white: {
main: "#ffffff", main: "#ffffff",
focus: "#ffffff", focus: "#ffffff",
}, },
black: { black: {
light: "#000000", light: "#000000",
main: "#000000", main: "#000000",
focus: "#000000", focus: "#000000",
}, },
primary: { primary: {
main: "#e91e63", main: "#e91e63",
focus: "#e91e63", focus: "#e91e63",
}, },
secondary: { secondary: {
main: "#7b809a", main: "#7b809a",
focus: "#8f93a9", focus: "#8f93a9",
}, },
info: { info: {
main: "#04aaef", main: "#0062FF",
focus: "#1662C4", focus: "#1662C4",
}, },
success: { success: {
main: "#4CAF50", main: "#4CAF50",
focus: "#67bb6a", focus: "#67bb6a",
}, },
warning: { warning: {
main: "#fb8c00", main: "#fb8c00",
focus: "#fc9d26", focus: "#fc9d26",
}, },
error: { error: {
main: "#F44335", main: "#F44335",
focus: "#f65f53", focus: "#f65f53",
}, },
light: { light: {
main: "#f0f2f566", main: "#f0f2f566",
focus: "#f0f2f566", focus: "#f0f2f566",
}, },
dark: { dark: {
main: "#344767", main: "#344767",
focus: "#2c3c58", focus: "#2c3c58",
}, },
grey: { grey: {
100: "#f8f9fa", 100: "#f8f9fa",
200: "#f0f2f5", 200: "#f0f2f5",
300: "#dee2e6", 300: "#dee2e6",
400: "#ced4da", 400: "#ced4da",
500: "#adb5bd", 500: "#adb5bd",
600: "#6c757d", 600: "#6c757d",
700: "#495057", 700: "#495057",
800: "#343a40", 800: "#343a40",
900: "#212529", 900: "#212529",
}, },
gradients: { gradients: {
primary: { primary: {
main: "#EC407A", main: "#EC407A",
state: "#D81B60", state: "#D81B60",
}, },
secondary: { secondary: {
main: "#747b8a", main: "#747b8a",
state: "#495361", state: "#495361",
}, },
info: { info: {
main: "#49a3f1", main: "#49a3f1",
state: "#04aaef", state: "#0062FF",
}, },
success: { success: {
main: "#66BB6A", main: "#66BB6A",
state: "#43A047", state: "#43A047",
}, },
warning: { warning: {
main: "#FFA726", main: "#FFA726",
state: "#FB8C00", state: "#FB8C00",
}, },
error: { error: {
main: "#EF5350", main: "#EF5350",
state: "#E53935", state: "#E53935",
}, },
light: { light: {
main: "#EBEFF4", main: "#EBEFF4",
state: "#CED4DA", state: "#CED4DA",
}, },
dark: { dark: {
main: "#323a54", main: "#323a54",
state: "#1a2035", state: "#1a2035",
}, },
}, },
socialMediaColors: { socialMediaColors: {
facebook: { facebook: {
main: "#3b5998", main: "#3b5998",
dark: "#344e86", dark: "#344e86",
}, },
twitter: { twitter: {
main: "#55acee", main: "#55acee",
dark: "#3ea1ec", dark: "#3ea1ec",
}, },
instagram: { instagram: {
main: "#125688", main: "#125688",
dark: "#0e456d", dark: "#0e456d",
}, },
linkedin: { linkedin: {
main: "#0077b5", main: "#0077b5",
dark: "#00669c", dark: "#00669c",
}, },
pinterest: { pinterest: {
main: "#cc2127", main: "#cc2127",
dark: "#b21d22", dark: "#b21d22",
}, },
youtube: { youtube: {
main: "#e52d27", main: "#e52d27",
dark: "#d41f1a", dark: "#d41f1a",
}, },
vimeo: { vimeo: {
main: "#1ab7ea", main: "#1ab7ea",
dark: "#13a3d2", dark: "#13a3d2",
}, },
slack: { slack: {
main: "#3aaf85", main: "#3aaf85",
dark: "#329874", dark: "#329874",
}, },
dribbble: { dribbble: {
main: "#ea4c89", main: "#ea4c89",
dark: "#e73177", dark: "#e73177",
}, },
github: { github: {
main: "#24292e", main: "#24292e",
dark: "#171a1d", dark: "#171a1d",
}, },
reddit: { reddit: {
main: "#ff4500", main: "#ff4500",
dark: "#e03d00", dark: "#e03d00",
}, },
tumblr: { tumblr: {
main: "#35465c", main: "#35465c",
dark: "#2a3749", dark: "#2a3749",
}, },
}, },
badgeColors: { badgeColors: {
primary: { primary: {
background: "#f8b3ca", background: "#f8b3ca",
text: "#cc084b", text: "#cc084b",
}, },
secondary: { secondary: {
background: "#d7d9e1", background: "#d7d9e1",
text: "#6c757d", text: "#6c757d",
}, },
info: { info: {
background: "#aecef7", background: "#aecef7",
text: "#095bc6", text: "#095bc6",
}, },
success: { success: {
background: "#bce2be", background: "#bce2be",
text: "#339537", text: "#339537",
}, },
warning: { warning: {
background: "#ffd59f", background: "#ffd59f",
text: "#c87000", text: "#c87000",
}, },
error: { error: {
background: "#fcd3d0", background: "#fcd3d0",
text: "#f61200", text: "#f61200",
}, },
light: { light: {
background: "#ffffff", background: "#ffffff",
text: "#c7d3de", text: "#c7d3de",
}, },
dark: { dark: {
background: "#8097bf", background: "#8097bf",
text: "#1e2e4a", text: "#1e2e4a",
}, },
}, },
coloredShadows: { coloredShadows: {
primary: "#e91e62", primary: "#e91e62",
secondary: "#110e0e", secondary: "#110e0e",
info: "#00bbd4", info: "#00bbd4",
success: "#4caf4f", success: "#4caf4f",
warning: "#ff9900", warning: "#ff9900",
error: "#f44336", error: "#f44336",
light: "#adb5bd", light: "#adb5bd",
dark: "#404040", dark: "#404040",
}, },
inputBorderColor: "#d2d6da", inputBorderColor: "#d2d6da",
tabs: { tabs: {
indicator: { boxShadow: "#ddd" }, indicator: {boxShadow: "#ddd"},
}, },
}; };
export default colors; export default colors;

View File

@ -191,7 +191,7 @@ const colors: Types = {
}, },
info: { info: {
main: "#04aaef", main: "#0062FF",
focus: "#1662C4", focus: "#1662C4",
}, },
@ -245,7 +245,7 @@ const colors: Types = {
info: { info: {
main: "#49a3f1", main: "#49a3f1",
state: "#04aaef", state: "#0062FF",
}, },
success: { success: {

View File

@ -34,8 +34,8 @@ import ToggleButton from "@mui/material/ToggleButton";
import ToggleButtonGroup from "@mui/material/ToggleButtonGroup"; import ToggleButtonGroup from "@mui/material/ToggleButtonGroup";
import Tooltip from "@mui/material/Tooltip"; import Tooltip from "@mui/material/Tooltip";
import Typography from "@mui/material/Typography"; import Typography from "@mui/material/Typography";
import {useEffect, useState} from "react"; import {useContext, useEffect, useState} from "react";
import colors from "qqq/components/legacy/colors"; import QContext from "QContext";
import Client from "qqq/utils/qqq/Client"; import Client from "qqq/utils/qqq/Client";
import ValueUtils from "qqq/utils/qqq/ValueUtils"; import ValueUtils from "qqq/utils/qqq/ValueUtils";
@ -60,6 +60,7 @@ function AuditBody({tableMetaData, recordId, record}: Props): JSX.Element
const [auditsByDate, setAuditsByDate] = useState([] as QRecord[][]); const [auditsByDate, setAuditsByDate] = useState([] as QRecord[][]);
const [auditDetailMap, setAuditDetailMap] = useState(null as Map<number, string[]>) const [auditDetailMap, setAuditDetailMap] = useState(null as Map<number, string[]>)
const [sortDirection, setSortDirection] = useState(localStorage.getItem("audit.sortDirection") === "true"); const [sortDirection, setSortDirection] = useState(localStorage.getItem("audit.sortDirection") === "true");
const {accentColor} = useContext(QContext);
useEffect(() => useEffect(() =>
{ {
@ -261,7 +262,7 @@ function AuditBody({tableMetaData, recordId, record}: Props): JSX.Element
return ( return (
<Box key={audit.values.get("id")} display="flex" flexDirection="row" mb={1} className="singleAuditBlock"> <Box key={audit.values.get("id")} display="flex" flexDirection="row" mb={1} className="singleAuditBlock">
<Avatar sx={{bgcolor: colors.info.main, zIndex: 2}}> <Avatar sx={{bgcolor: accentColor, zIndex: 2}}>
<Icon>check</Icon> <Icon>check</Icon>
</Avatar> </Avatar>
<Box p={1}> <Box p={1}>

View File

@ -40,7 +40,6 @@ import QContext from "QContext";
import {QCancelButton, QSaveButton} from "qqq/components/buttons/DefaultButtons"; import {QCancelButton, QSaveButton} from "qqq/components/buttons/DefaultButtons";
import QDynamicForm from "qqq/components/forms/DynamicForm"; import QDynamicForm from "qqq/components/forms/DynamicForm";
import DynamicFormUtils from "qqq/components/forms/DynamicFormUtils"; import DynamicFormUtils from "qqq/components/forms/DynamicFormUtils";
import colors from "qqq/components/legacy/colors";
import MDTypography from "qqq/components/legacy/MDTypography"; import MDTypography from "qqq/components/legacy/MDTypography";
import QRecordSidebar from "qqq/components/misc/RecordSidebar"; import QRecordSidebar from "qqq/components/misc/RecordSidebar";
import Client from "qqq/utils/qqq/Client"; import Client from "qqq/utils/qqq/Client";
@ -71,6 +70,7 @@ function EntityForm(props: Props): JSX.Element
const qController = Client.getInstance(); const qController = Client.getInstance();
const tableNameParam = useParams().tableName; const tableNameParam = useParams().tableName;
const tableName = props.table === null ? tableNameParam : props.table.name; const tableName = props.table === null ? tableNameParam : props.table.name;
const {accentColor} = useContext(QContext);
const [formTitle, setFormTitle] = useState(""); const [formTitle, setFormTitle] = useState("");
const [validations, setValidations] = useState({}); const [validations, setValidations] = useState({});
@ -487,7 +487,7 @@ function EntityForm(props: Props): JSX.Element
<Card id={`${t1sectionName}`} sx={{overflow: "visible", pb: 2, scrollMarginTop: "100px"}} elevation={cardElevation}> <Card id={`${t1sectionName}`} sx={{overflow: "visible", pb: 2, scrollMarginTop: "100px"}} elevation={cardElevation}>
<Box display="flex" p={3} pb={1}> <Box display="flex" p={3} pb={1}>
<Box mr={1.5}> <Box mr={1.5}>
<Avatar sx={{bgcolor: colors.info.main}}> <Avatar sx={{bgcolor: accentColor}}>
<Icon> <Icon>
{tableMetaData?.iconName} {tableMetaData?.iconName}
</Icon> </Icon>

View File

@ -19,9 +19,11 @@
*/ */
import Box from "@mui/material/Box"; import Box from "@mui/material/Box";
import {FC, forwardRef} from "react"; import {FC, forwardRef, useContext} from "react";
import QContext from "QContext";
import MDTypography from "qqq/components/legacy/MDTypography"; import MDTypography from "qqq/components/legacy/MDTypography";
// declaring props types for MDBadgeDot // declaring props types for MDBadgeDot
interface Props interface Props
{ {
@ -42,6 +44,7 @@ interface Props
const MDBadgeDot: FC<Props> = forwardRef( const MDBadgeDot: FC<Props> = forwardRef(
({variant, color, size, badgeContent, font = {}, ...rest}, ref) => ({variant, color, size, badgeContent, font = {}, ...rest}, ref) =>
{ {
const {accentColor} = useContext(QContext);
let finalSize; let finalSize;
let fontSize: any; let fontSize: any;
let padding; let padding;
@ -90,7 +93,7 @@ const MDBadgeDot: FC<Props> = forwardRef(
const colorValues = { const colorValues = {
"primary": "#e91e63", "primary": "#e91e63",
"secondary": "#7b809a", "secondary": "#7b809a",
"info": "#04aaef", "info": accentColor,
"success": "#4CAF50", "success": "#4CAF50",
"warning": "#fb8c00", "warning": "#fb8c00",
"error": "#F44335", "error": "#F44335",

View File

@ -1,17 +1,17 @@
/** /**
========================================================= =========================================================
* Material Dashboard 2 PRO React TS - v1.0.0 * Material Dashboard 2 PRO React TS - v1.0.0
========================================================= =========================================================
* Product Page: https://www.creative-tim.com/product/material-dashboard-2-pro-react-ts * Product Page: https://www.creative-tim.com/product/material-dashboard-2-pro-react-ts
* Copyright 2022 Creative Tim (https://www.creative-tim.com) * Copyright 2022 Creative Tim (https://www.creative-tim.com)
Coded by www.creative-tim.com Coded by www.creative-tim.com
========================================================= =========================================================
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. * The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
*/ */
/** /**
* The base colors for the Material Dashboard 2 PRO React TSUI Dashboard PRO Material. * The base colors for the Material Dashboard 2 PRO React TSUI Dashboard PRO Material.
@ -20,370 +20,375 @@ Coded by www.creative-tim.com
*/ */
// types // types
interface ColorsTypes { interface ColorsTypes
main: string; {
focus: string; main: string;
focus: string;
} }
interface GradientsTypes { interface GradientsTypes
main: string; {
state: string; main: string;
state: string;
} }
interface SocialMediaColorsTypes { interface SocialMediaColorsTypes
main: string; {
dark: string; main: string;
dark: string;
} }
interface BadgeColorsTypes { interface BadgeColorsTypes
background: string; {
text: string; background: string;
text: string;
} }
interface Types { interface Types
background: {
| { background:
default: string; | {
sidenav?: string; default: string;
card?: string; sidenav?: string;
card?: string;
}
| any;
white:
| {
main: string;
focus: string;
}
| any;
text:
| {
main: string;
focus: string;
primary?: string;
secondary?: string;
disabled?: string;
}
| any;
transparent:
| {
main: string;
}
| any;
black:
| {
light: string;
main: string;
focus: string;
}
| any;
primary: ColorsTypes | any;
secondary: ColorsTypes | any;
info: ColorsTypes | any;
success: ColorsTypes | any;
warning: ColorsTypes | any;
error: ColorsTypes | any;
light: ColorsTypes | any;
dark: ColorsTypes | any;
grey:
| {
[key: string | number]: string;
}
| any;
gradients:
| {
primary: GradientsTypes;
secondary: GradientsTypes;
info: GradientsTypes;
success: GradientsTypes;
warning: GradientsTypes;
error: GradientsTypes;
light: GradientsTypes;
dark: GradientsTypes;
}
| any;
socialMediaColors:
| {
facebook: SocialMediaColorsTypes;
twitter: SocialMediaColorsTypes;
instagram: SocialMediaColorsTypes;
linkedin: SocialMediaColorsTypes;
pinterest: SocialMediaColorsTypes;
youtube: SocialMediaColorsTypes;
vimeo: SocialMediaColorsTypes;
slack: SocialMediaColorsTypes;
dribbble: SocialMediaColorsTypes;
github: SocialMediaColorsTypes;
reddit: SocialMediaColorsTypes;
tumblr: SocialMediaColorsTypes;
}
| any;
badgeColors:
| {
primary: BadgeColorsTypes;
secondary: BadgeColorsTypes;
info: BadgeColorsTypes;
success: BadgeColorsTypes;
warning: BadgeColorsTypes;
error: BadgeColorsTypes;
light: BadgeColorsTypes;
dark: BadgeColorsTypes;
}
| any;
coloredShadows:
| {
[key: string]: string;
}
| any;
inputBorderColor: string;
tabs:
| {
indicator:
| {
boxShadow: string;
} }
| any; | any;
white: }
| { | any;
main: string;
focus: string;
}
| any;
text:
| {
main: string;
focus: string;
primary?: string;
secondary?: string;
disabled?: string;
}
| any;
transparent:
| {
main: string;
}
| any;
black:
| {
light: string;
main: string;
focus: string;
}
| any;
primary: ColorsTypes | any;
secondary: ColorsTypes | any;
info: ColorsTypes | any;
success: ColorsTypes | any;
warning: ColorsTypes | any;
error: ColorsTypes | any;
light: ColorsTypes | any;
dark: ColorsTypes | any;
grey:
| {
[key: string | number]: string;
}
| any;
gradients:
| {
primary: GradientsTypes;
secondary: GradientsTypes;
info: GradientsTypes;
success: GradientsTypes;
warning: GradientsTypes;
error: GradientsTypes;
light: GradientsTypes;
dark: GradientsTypes;
}
| any;
socialMediaColors:
| {
facebook: SocialMediaColorsTypes;
twitter: SocialMediaColorsTypes;
instagram: SocialMediaColorsTypes;
linkedin: SocialMediaColorsTypes;
pinterest: SocialMediaColorsTypes;
youtube: SocialMediaColorsTypes;
vimeo: SocialMediaColorsTypes;
slack: SocialMediaColorsTypes;
dribbble: SocialMediaColorsTypes;
github: SocialMediaColorsTypes;
reddit: SocialMediaColorsTypes;
tumblr: SocialMediaColorsTypes;
}
| any;
badgeColors:
| {
primary: BadgeColorsTypes;
secondary: BadgeColorsTypes;
info: BadgeColorsTypes;
success: BadgeColorsTypes;
warning: BadgeColorsTypes;
error: BadgeColorsTypes;
light: BadgeColorsTypes;
dark: BadgeColorsTypes;
}
| any;
coloredShadows:
| {
[key: string]: string;
}
| any;
inputBorderColor: string;
tabs:
| {
indicator:
| {
boxShadow: string;
}
| any;
}
| any;
} }
const colors: Types = { const colors: Types = {
background: { background: {
default: "#f0f2f5", default: "#f0f2f5",
}, },
text: { text: {
main: "#7b809a", main: "#7b809a",
focus: "#7b809a", focus: "#7b809a",
}, },
transparent: { transparent: {
main: "transparent", main: "transparent",
}, },
white: { white: {
main: "#ffffff", main: "#ffffff",
focus: "#ffffff", focus: "#ffffff",
}, },
black: { black: {
light: "#000000", light: "#000000",
main: "#000000", main: "#000000",
focus: "#000000", focus: "#000000",
}, },
primary: { primary: {
main: "#e91e63", main: "#e91e63",
focus: "#e91e63", focus: "#e91e63",
}, },
secondary: { secondary: {
main: "#7b809a", main: "#7b809a",
focus: "#8f93a9", focus: "#8f93a9",
}, },
info: { info: {
main: "#04aaef", main: "#0062FF",
focus: "#1662C4", focus: "#1662C4",
}, },
success: { success: {
main: "#4CAF50", main: "#4CAF50",
focus: "#67bb6a", focus: "#67bb6a",
}, },
warning: { warning: {
main: "#fb8c00", main: "#fb8c00",
focus: "#fc9d26", focus: "#fc9d26",
}, },
error: { error: {
main: "#F44335", main: "#F44335",
focus: "#f65f53", focus: "#f65f53",
}, },
light: { light: {
main: "#f0f2f5", main: "#f0f2f5",
focus: "#f0f2f5", focus: "#f0f2f5",
}, },
dark: { dark: {
main: "#344767", main: "#344767",
focus: "#2c3c58", focus: "#2c3c58",
}, },
grey: { grey: {
100: "#f8f9fa", 100: "#f8f9fa",
200: "#f0f2f5", 200: "#f0f2f5",
300: "#dee2e6", 300: "#dee2e6",
400: "#ced4da", 400: "#ced4da",
500: "#adb5bd", 500: "#adb5bd",
600: "#6c757d", 600: "#6c757d",
700: "#495057", 700: "#495057",
800: "#343a40", 800: "#343a40",
900: "#212529", 900: "#212529",
}, },
gradients: { gradients: {
primary: { primary: {
main: "#EC407A", main: "#EC407A",
state: "#D81B60", state: "#D81B60",
}, },
secondary: { secondary: {
main: "#747b8a", main: "#747b8a",
state: "#495361", state: "#495361",
}, },
info: { info: {
main: "#49a3f1", main: "#49a3f1",
state: "#04aaef", state: "#0062FF",
}, },
success: { success: {
main: "#66BB6A", main: "#66BB6A",
state: "#43A047", state: "#43A047",
}, },
warning: { warning: {
main: "#FFA726", main: "#FFA726",
state: "#FB8C00", state: "#FB8C00",
}, },
error: { error: {
main: "#EF5350", main: "#EF5350",
state: "#E53935", state: "#E53935",
}, },
light: { light: {
main: "#EBEFF4", main: "#EBEFF4",
state: "#CED4DA", state: "#CED4DA",
}, },
dark: { dark: {
main: "#42424a", main: "#42424a",
state: "#191919", state: "#191919",
}, },
}, },
socialMediaColors: { socialMediaColors: {
facebook: { facebook: {
main: "#3b5998", main: "#3b5998",
dark: "#344e86", dark: "#344e86",
}, },
twitter: { twitter: {
main: "#55acee", main: "#55acee",
dark: "#3ea1ec", dark: "#3ea1ec",
}, },
instagram: { instagram: {
main: "#125688", main: "#125688",
dark: "#0e456d", dark: "#0e456d",
}, },
linkedin: { linkedin: {
main: "#0077b5", main: "#0077b5",
dark: "#00669c", dark: "#00669c",
}, },
pinterest: { pinterest: {
main: "#cc2127", main: "#cc2127",
dark: "#b21d22", dark: "#b21d22",
}, },
youtube: { youtube: {
main: "#e52d27", main: "#e52d27",
dark: "#d41f1a", dark: "#d41f1a",
}, },
vimeo: { vimeo: {
main: "#1ab7ea", main: "#1ab7ea",
dark: "#13a3d2", dark: "#13a3d2",
}, },
slack: { slack: {
main: "#3aaf85", main: "#3aaf85",
dark: "#329874", dark: "#329874",
}, },
dribbble: { dribbble: {
main: "#ea4c89", main: "#ea4c89",
dark: "#e73177", dark: "#e73177",
}, },
github: { github: {
main: "#24292e", main: "#24292e",
dark: "#171a1d", dark: "#171a1d",
}, },
reddit: { reddit: {
main: "#ff4500", main: "#ff4500",
dark: "#e03d00", dark: "#e03d00",
}, },
tumblr: { tumblr: {
main: "#35465c", main: "#35465c",
dark: "#2a3749", dark: "#2a3749",
}, },
}, },
badgeColors: { badgeColors: {
primary: { primary: {
background: "#f8b3ca", background: "#f8b3ca",
text: "#cc084b", text: "#cc084b",
}, },
secondary: { secondary: {
background: "#d7d9e1", background: "#d7d9e1",
text: "#6c757d", text: "#6c757d",
}, },
info: { info: {
background: "#aecef7", background: "#aecef7",
text: "#095bc6", text: "#095bc6",
}, },
success: { success: {
background: "#bce2be", background: "#bce2be",
text: "#339537", text: "#339537",
}, },
warning: { warning: {
background: "#ffd59f", background: "#ffd59f",
text: "#c87000", text: "#c87000",
}, },
error: { error: {
background: "#fcd3d0", background: "#fcd3d0",
text: "#f61200", text: "#f61200",
}, },
light: { light: {
background: "#ffffff", background: "#ffffff",
text: "#c7d3de", text: "#c7d3de",
}, },
dark: { dark: {
background: "#8097bf", background: "#8097bf",
text: "#1e2e4a", text: "#1e2e4a",
}, },
}, },
coloredShadows: { coloredShadows: {
primary: "#e91e62", primary: "#e91e62",
secondary: "#110e0e", secondary: "#110e0e",
info: "#00bbd4", info: "#00bbd4",
success: "#4caf4f", success: "#4caf4f",
warning: "#ff9900", warning: "#ff9900",
error: "#f44336", error: "#f44336",
light: "#adb5bd", light: "#adb5bd",
dark: "#404040", dark: "#404040",
}, },
inputBorderColor: "#d2d6da", inputBorderColor: "#d2d6da",
tabs: { tabs: {
indicator: { boxShadow: "#ddd" }, indicator: {boxShadow: "#ddd"},
}, },
}; };
export default colors; export default colors;

View File

@ -19,129 +19,134 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>. * along with this program. If not, see <https://www.gnu.org/licenses/>.
*/ */
interface ColorsTypes { interface ColorsTypes
main: string; {
focus: string; main: string;
focus: string;
} }
interface GradientsTypes { interface GradientsTypes
main: string; {
state: string; main: string;
state: string;
} }
interface SocialMediaColorsTypes { interface SocialMediaColorsTypes
main: string; {
dark: string; main: string;
dark: string;
} }
interface BadgeColorsTypes { interface BadgeColorsTypes
background: string; {
text: string; background: string;
text: string;
} }
interface Types { interface Types
background: {
| { background:
default: string; | {
sidenav?: string; default: string;
card?: string; sidenav?: string;
card?: string;
}
| any;
white:
| {
main: string;
focus: string;
}
| any;
text:
| {
main: string;
focus: string;
primary?: string;
secondary?: string;
disabled?: string;
}
| any;
transparent:
| {
main: string;
}
| any;
black:
| {
light: string;
main: string;
focus: string;
}
| any;
primary: ColorsTypes | any;
secondary: ColorsTypes | any;
info: ColorsTypes | any;
success: ColorsTypes | any;
warning: ColorsTypes | any;
error: ColorsTypes | any;
light: ColorsTypes | any;
dark: ColorsTypes | any;
grey:
| {
[key: string | number]: string;
}
| any;
gradients:
| {
primary: GradientsTypes;
secondary: GradientsTypes;
info: GradientsTypes;
success: GradientsTypes;
warning: GradientsTypes;
error: GradientsTypes;
light: GradientsTypes;
dark: GradientsTypes;
}
| any;
socialMediaColors:
| {
facebook: SocialMediaColorsTypes;
twitter: SocialMediaColorsTypes;
instagram: SocialMediaColorsTypes;
linkedin: SocialMediaColorsTypes;
pinterest: SocialMediaColorsTypes;
youtube: SocialMediaColorsTypes;
vimeo: SocialMediaColorsTypes;
slack: SocialMediaColorsTypes;
dribbble: SocialMediaColorsTypes;
github: SocialMediaColorsTypes;
reddit: SocialMediaColorsTypes;
tumblr: SocialMediaColorsTypes;
}
| any;
badgeColors:
| {
primary: BadgeColorsTypes;
secondary: BadgeColorsTypes;
info: BadgeColorsTypes;
success: BadgeColorsTypes;
warning: BadgeColorsTypes;
error: BadgeColorsTypes;
light: BadgeColorsTypes;
dark: BadgeColorsTypes;
}
| any;
coloredShadows:
| {
[key: string]: string;
}
| any;
inputBorderColor: string;
tabs:
| {
indicator:
| {
boxShadow: string;
} }
| any; | any;
white: }
| { | any;
main: string;
focus: string;
}
| any;
text:
| {
main: string;
focus: string;
primary?: string;
secondary?: string;
disabled?: string;
}
| any;
transparent:
| {
main: string;
}
| any;
black:
| {
light: string;
main: string;
focus: string;
}
| any;
primary: ColorsTypes | any;
secondary: ColorsTypes | any;
info: ColorsTypes | any;
success: ColorsTypes | any;
warning: ColorsTypes | any;
error: ColorsTypes | any;
light: ColorsTypes | any;
dark: ColorsTypes | any;
grey:
| {
[key: string | number]: string;
}
| any;
gradients:
| {
primary: GradientsTypes;
secondary: GradientsTypes;
info: GradientsTypes;
success: GradientsTypes;
warning: GradientsTypes;
error: GradientsTypes;
light: GradientsTypes;
dark: GradientsTypes;
}
| any;
socialMediaColors:
| {
facebook: SocialMediaColorsTypes;
twitter: SocialMediaColorsTypes;
instagram: SocialMediaColorsTypes;
linkedin: SocialMediaColorsTypes;
pinterest: SocialMediaColorsTypes;
youtube: SocialMediaColorsTypes;
vimeo: SocialMediaColorsTypes;
slack: SocialMediaColorsTypes;
dribbble: SocialMediaColorsTypes;
github: SocialMediaColorsTypes;
reddit: SocialMediaColorsTypes;
tumblr: SocialMediaColorsTypes;
}
| any;
badgeColors:
| {
primary: BadgeColorsTypes;
secondary: BadgeColorsTypes;
info: BadgeColorsTypes;
success: BadgeColorsTypes;
warning: BadgeColorsTypes;
error: BadgeColorsTypes;
light: BadgeColorsTypes;
dark: BadgeColorsTypes;
}
| any;
coloredShadows:
| {
[key: string]: string;
}
| any;
inputBorderColor: string;
tabs:
| {
indicator:
| {
boxShadow: string;
}
| any;
}
| any;
} }
const colors: Types = { const colors: Types = {
@ -180,7 +185,7 @@ const colors: Types = {
}, },
info: { info: {
main: "#04aaef", main: "#0062FF",
focus: "#1662C4", focus: "#1662C4",
}, },
@ -234,7 +239,7 @@ const colors: Types = {
info: { info: {
main: "#49a3f1", main: "#49a3f1",
state: "#04aaef", state: "#0062FF",
}, },
success: { success: {

View File

@ -23,9 +23,9 @@ import {Skeleton} from "@mui/material";
import Box from "@mui/material/Box"; import Box from "@mui/material/Box";
import Grid from "@mui/material/Grid"; import Grid from "@mui/material/Grid";
import parse from "html-react-parser"; import parse from "html-react-parser";
import React, {useEffect, useReducer, useState} from "react"; import React, {useContext, useEffect, useReducer, useState} from "react";
import {useLocation} from "react-router-dom"; import {useLocation} from "react-router-dom";
import colors from "qqq/assets/theme/base/colors"; import QContext from "QContext";
import MDTypography from "qqq/components/legacy/MDTypography"; import MDTypography from "qqq/components/legacy/MDTypography";
import BarChart from "qqq/components/widgets/charts/barchart/BarChart"; import BarChart from "qqq/components/widgets/charts/barchart/BarChart";
import HorizontalBarChart from "qqq/components/widgets/charts/barchart/HorizontalBarChart"; import HorizontalBarChart from "qqq/components/widgets/charts/barchart/HorizontalBarChart";
@ -81,6 +81,7 @@ function DashboardWidgets({widgetMetaDataList, tableName, entityPrimaryKey, omit
const [currentUrlParams, setCurrentUrlParams] = useState(null as string); const [currentUrlParams, setCurrentUrlParams] = useState(null as string);
const [haveLoadedParams, setHaveLoadedParams] = useState(false); const [haveLoadedParams, setHaveLoadedParams] = useState(false);
const {accentColor} = useContext(QContext);
useEffect(() => useEffect(() =>
{ {
@ -198,6 +199,8 @@ function DashboardWidgets({widgetMetaDataList, tableName, entityPrimaryKey, omit
> >
<TableCard <TableCard
noRowsFoundHTML={widgetData[i]?.noRowsFoundHTML} noRowsFoundHTML={widgetData[i]?.noRowsFoundHTML}
rowsPerPage={widgetData[i]?.rowsPerPage}
hidePaginationDropdown={widgetData[i]?.hidePaginationDropdown}
data={widgetData[i]} data={widgetData[i]}
/> />
</Widget> </Widget>
@ -301,7 +304,7 @@ function DashboardWidgets({widgetMetaDataList, tableName, entityPrimaryKey, omit
{ {
widgetMetaData.type === "barChart" && ( widgetMetaData.type === "barChart" && (
<BarChart <BarChart
color={colors.info.main} color={accentColor}
title={widgetData[i]?.title} title={widgetData[i]?.title}
date={`As of ${new Date().toDateString()}`} date={`As of ${new Date().toDateString()}`}
description={widgetData[i]?.description} description={widgetData[i]?.description}

View File

@ -101,7 +101,7 @@ const options = {
//////////////////////////////////// ////////////////////////////////////
interface Props interface Props
{ {
color?: "primary" | "secondary" | "info" | "success" | "warning" | "error" | "dark"; color?: string
title: string; title: string;
description?: string; description?: string;
date: string; date: string;

View File

@ -21,7 +21,8 @@
import Box from "@mui/material/Box"; import Box from "@mui/material/Box";
import Card from "@mui/material/Card"; import Card from "@mui/material/Card";
import React from "react"; import React, {useContext} from "react";
import QContext from "QContext";
import MDTypography from "qqq/components/legacy/MDTypography"; import MDTypography from "qqq/components/legacy/MDTypography";
interface Props interface Props
@ -42,7 +43,9 @@ function Iframe({iframe}: IframeProps)
function QuickSightChart({label, url}: Props): JSX.Element function QuickSightChart({label, url}: Props): JSX.Element
{ {
const iframe = `<iframe style='border: 0 solid #04aaef; height: 411px; width: 99%' title=${label} src=${url} />`; const {accentColor} = useContext(QContext);
const iframe = `<iframe style='border: 0 solid ${accentColor}; height: 411px; width: 99%' title=${label} src=${url} />`;
return ( return (
<Card sx={{height: "100%"}}> <Card sx={{height: "100%"}}>

View File

@ -26,8 +26,9 @@ import Step from "@mui/material/Step";
import StepLabel from "@mui/material/StepLabel"; import StepLabel from "@mui/material/StepLabel";
import Stepper from "@mui/material/Stepper"; import Stepper from "@mui/material/Stepper";
import {withStyles} from "@mui/styles"; import {withStyles} from "@mui/styles";
import React from "react"; import React, {useContext} from "react";
import {NavLink} from "react-router-dom"; import {NavLink} from "react-router-dom";
import QContext from "QContext";
///////////////////////////////////////////// /////////////////////////////////////////////
@ -58,6 +59,7 @@ interface Props
function StepperCard({data}: Props): JSX.Element function StepperCard({data}: Props): JSX.Element
{ {
const {accentColor} = useContext(QContext);
const activeStep = data && data.activeStep ? data.activeStep : 0; const activeStep = data && data.activeStep ? data.activeStep : 0;
const CustomizedConnector = withStyles({ const CustomizedConnector = withStyles({
@ -109,7 +111,7 @@ function StepperCard({data}: Props): JSX.Element
index === activeStep && ( index === activeStep && (
<Box> <Box>
<StepLabel icon={step.iconOverride ? <Icon>{step.iconOverride}</Icon> : <RocketLaunch />} sx={{ <StepLabel icon={step.iconOverride ? <Icon>{step.iconOverride}</Icon> : <RocketLaunch />} sx={{
color: step.colorOverride ?? "#04aaef", color: step.colorOverride ?? accentColor,
fontSize: "35px", fontSize: "35px",
"& .MuiStepLabel-label.MuiStepLabel-alternativeLabel": "& .MuiStepLabel-label.MuiStepLabel-alternativeLabel":
{ {

View File

@ -42,14 +42,11 @@ import {TableDataInput} from "qqq/components/widgets/tables/TableCard";
interface Props interface Props
{ {
entriesPerPage?: entriesPerPage?: number;
| false entriesPerPageOptions?: number[];
| {
defaultValue: number;
entries: number[];
};
canSearch?: boolean; canSearch?: boolean;
showTotalEntries?: boolean; showTotalEntries?: boolean;
hidePaginationDropdown?: boolean;
table: TableDataInput; table: TableDataInput;
pagination?: { pagination?: {
variant: "contained" | "gradient"; variant: "contained" | "gradient";
@ -70,6 +67,8 @@ const NoMaxWidthTooltip = styled(({className, ...props}: TooltipProps) => (
function DataTable({ function DataTable({
entriesPerPage, entriesPerPage,
entriesPerPageOptions,
hidePaginationDropdown,
canSearch, canSearch,
showTotalEntries, showTotalEntries,
table, table,
@ -81,11 +80,8 @@ function DataTable({
let defaultValue: any; let defaultValue: any;
let entries: any[]; let entries: any[];
if (entriesPerPage) defaultValue = (entriesPerPage) ? entriesPerPage : "10";
{ entries = entriesPerPageOptions ? entriesPerPageOptions : ["10", "25", "50", "100"];
defaultValue = entriesPerPage.defaultValue ? entriesPerPage.defaultValue : "10";
entries = entriesPerPage.entries ? entriesPerPage.entries : ["10", "25", "50", "100"];
}
const columns = useMemo<any>(() => table.columns, [table]); const columns = useMemo<any>(() => table.columns, [table]);
const data = useMemo<any>(() => table.rows, [table]); const data = useMemo<any>(() => table.rows, [table]);
@ -126,7 +122,7 @@ function DataTable({
// Set the entries per page value based on the select value // Set the entries per page value based on the select value
const setEntriesPerPage = (value: any) => setPageSize(value); const setEntriesPerPage = (value: any) => setPageSize(value);
// Render the paginations // Render the pagination
const renderPagination = pageOptions.map((option: any) => ( const renderPagination = pageOptions.map((option: any) => (
<MDPagination <MDPagination
item item
@ -164,7 +160,7 @@ function DataTable({
if (isSorted && column.isSorted) if (isSorted && column.isSorted)
{ {
sortedValue = column.isSortedDesc ? "desc" : "asce"; sortedValue = column.isSortedDesc ? "desc" : "asc";
} }
else if (isSorted) else if (isSorted)
{ {
@ -199,17 +195,24 @@ function DataTable({
return ( return (
<TableContainer sx={{boxShadow: "none"}}> <TableContainer sx={{boxShadow: "none"}}>
{entriesPerPage || canSearch ? ( {entriesPerPage && ((hidePaginationDropdown !== undefined && ! hidePaginationDropdown) || canSearch) ? (
<Box display="flex" justifyContent="space-between" alignItems="center" p={3}> <Box display="flex" justifyContent="space-between" alignItems="center" p={3}>
{entriesPerPage && ( {entriesPerPage && (hidePaginationDropdown === undefined || ! hidePaginationDropdown) && (
<Box display="flex" alignItems="center"> <Box display="flex" alignItems="center">
<Autocomplete <Autocomplete
disableClearable disableClearable
value={pageSize.toString()} value={pageSize.toString()}
options={entries} options={entries}
onChange={(event, newValues) => onChange={(event, newValues: any) =>
{ {
setEntriesPerPage(parseInt(newValues[0], 10)); if(typeof newValues === "string")
{
setEntriesPerPage(parseInt(newValues, 10));
}
else
{
setEntriesPerPage(parseInt(newValues[0], 10));
}
}} }}
size="small" size="small"
sx={{width: "5rem"}} sx={{width: "5rem"}}
@ -367,7 +370,8 @@ function DataTable({
// Declaring default props for DataTable // Declaring default props for DataTable
DataTable.defaultProps = { DataTable.defaultProps = {
entriesPerPage: {defaultValue: 10, entries: ["5", "10", "15", "20", "25"]}, entriesPerPage: 10,
entriesPerPageOptions: ["5", "10", "15", "20", "25"],
canSearch: false, canSearch: false,
showTotalEntries: true, showTotalEntries: true,
pagination: {variant: "gradient", color: "info"}, pagination: {variant: "gradient", color: "info"},

View File

@ -52,11 +52,13 @@ export interface TableDataInput
interface Props interface Props
{ {
noRowsFoundHTML?: string; noRowsFoundHTML?: string;
rowsPerPage?: number;
hidePaginationDropdown?: boolean;
data: TableDataInput; data: TableDataInput;
} }
const qController = Client.getInstance(); const qController = Client.getInstance();
function TableCard({noRowsFoundHTML, data}: Props): JSX.Element function TableCard({noRowsFoundHTML, data, rowsPerPage, hidePaginationDropdown}: Props): JSX.Element
{ {
const [qInstance, setQInstance] = useState(null as QInstance); const [qInstance, setQInstance] = useState(null as QInstance);
@ -75,7 +77,8 @@ function TableCard({noRowsFoundHTML, data}: Props): JSX.Element
data && data.columns && !noRowsFoundHTML ? data && data.columns && !noRowsFoundHTML ?
<DataTable <DataTable
table={data} table={data}
entriesPerPage={false} entriesPerPage={rowsPerPage}
hidePaginationDropdown={hidePaginationDropdown}
showTotalEntries={false} showTotalEntries={false}
isSorted={false} isSorted={false}
noEndBorder noEndBorder

View File

@ -49,7 +49,6 @@ import QContext from "QContext";
import AuditBody from "qqq/components/audits/AuditBody"; import AuditBody from "qqq/components/audits/AuditBody";
import {QActionsMenuButton, QCancelButton, QDeleteButton, QEditButton} from "qqq/components/buttons/DefaultButtons"; import {QActionsMenuButton, QCancelButton, QDeleteButton, QEditButton} from "qqq/components/buttons/DefaultButtons";
import EntityForm from "qqq/components/forms/EntityForm"; import EntityForm from "qqq/components/forms/EntityForm";
import colors from "qqq/components/legacy/colors";
import QRecordSidebar from "qqq/components/misc/RecordSidebar"; import QRecordSidebar from "qqq/components/misc/RecordSidebar";
import DashboardWidgets from "qqq/components/widgets/DashboardWidgets"; import DashboardWidgets from "qqq/components/widgets/DashboardWidgets";
import BaseLayout from "qqq/layouts/BaseLayout"; import BaseLayout from "qqq/layouts/BaseLayout";
@ -80,6 +79,7 @@ function RecordView({table, launchProcess}: Props): JSX.Element
const location = useLocation(); const location = useLocation();
const navigate = useNavigate(); const navigate = useNavigate();
const {accentColor} = useContext(QContext);
const pathParts = location.pathname.replace(/\/+$/, "").split("/"); const pathParts = location.pathname.replace(/\/+$/, "").split("/");
const tableName = table.name; const tableName = table.name;
@ -657,7 +657,7 @@ function RecordView({table, launchProcess}: Props): JSX.Element
<Card id={t1SectionName} sx={{scrollMarginTop: "100px", minHeight: "88px"}}> <Card id={t1SectionName} sx={{scrollMarginTop: "100px", minHeight: "88px"}}>
<Box display="flex" p={3} pb={1}> <Box display="flex" p={3} pb={1}>
<Box mr={1.5}> <Box mr={1.5}>
<Avatar sx={{bgcolor: colors.info.main}}> <Avatar sx={{bgcolor: accentColor}}>
<Icon> <Icon>
{tableMetaData?.iconName} {tableMetaData?.iconName}
</Icon> </Icon>