From 64b77721b161e8d30628650a7cfff488b9b9c7e4 Mon Sep 17 00:00:00 2001 From: Dan Marshall Date: Tue, 7 Jan 2025 20:55:23 +0000 Subject: [PATCH 01/35] fix path to launch --- .vscode/launch.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.vscode/launch.json b/.vscode/launch.json index 3441cbc..8c05997 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -5,7 +5,7 @@ "name": "Flask", "type": "debugpy", "request": "launch", - "program": "${workspaceFolder}/app.py", + "program": "${workspaceFolder}/py-src/data_formulator/app.py", "args": ["run", "--no-debugger", "--no-reload"], "env": { "FLASK_APP": "app.py", From 345fce77eea6789a5faa36a0ea881162c0c3d2fe Mon Sep 17 00:00:00 2001 From: Dan Marshall Date: Tue, 7 Jan 2025 21:32:57 +0000 Subject: [PATCH 02/35] upgrade @mui/material --- package.json | 2 +- yarn.lock | 213 +++++++++++++++++++++++++++++---------------------- 2 files changed, 123 insertions(+), 92 deletions(-) diff --git a/package.json b/package.json index 4640e6d..8a7db5b 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,7 @@ "@emotion/styled": "^11.8.1", "@fontsource/roboto": "^4.5.5", "@mui/icons-material": "^5.14.0", - "@mui/material": "^5.6.0", + "@mui/material": "^5.16", "@reduxjs/toolkit": "^1.8.6", "@types/dompurify": "^3.0.5", "@types/validator": "^13.12.2", diff --git a/yarn.lock b/yarn.lock index aff1cee..3606c61 100644 --- a/yarn.lock +++ b/yarn.lock @@ -95,13 +95,20 @@ dependencies: regenerator-runtime "^0.13.4" -"@babel/runtime@^7.18.3", "@babel/runtime@^7.21.0", "@babel/runtime@^7.22.5", "@babel/runtime@^7.5.5", "@babel/runtime@^7.8.7": +"@babel/runtime@^7.18.3", "@babel/runtime@^7.22.5", "@babel/runtime@^7.5.5", "@babel/runtime@^7.8.7": version "7.22.6" resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.6.tgz#57d64b9ae3cff1d67eb067ae117dac087f5bd438" integrity sha512-wDb5pWm4WDdF6LFUde3Jl8WzPA+3ZbxYqkC6xAXuD3irdEHN1k0NfTRrJD8ZD378SJ61miMLCqIOXYhd8x+AJQ== dependencies: regenerator-runtime "^0.13.11" +"@babel/runtime@^7.23.9": + version "7.26.0" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.26.0.tgz#8600c2f595f277c60815256418b85356a65173c1" + integrity sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw== + dependencies: + regenerator-runtime "^0.14.0" + "@babel/runtime@^7.7.2": version "7.25.6" resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.25.6.tgz#9afc3289f7184d8d7f98b099884c26317b9264d2" @@ -187,6 +194,17 @@ "@emotion/weak-memoize" "^0.3.1" stylis "4.2.0" +"@emotion/cache@^11.13.5": + version "11.14.0" + resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-11.14.0.tgz#ee44b26986eeb93c8be82bb92f1f7a9b21b2ed76" + integrity sha512-L/B1lc/TViYk4DcpGxtAVbx0ZyiKM5ktoIyafGkH6zg/tj+mA+NE//aPYKG0k8kCHSHVJrpLpcAlOBEXQ3SavA== + dependencies: + "@emotion/memoize" "^0.9.0" + "@emotion/sheet" "^1.4.0" + "@emotion/utils" "^1.4.2" + "@emotion/weak-memoize" "^0.4.0" + stylis "4.2.0" + "@emotion/hash@0.8.0": version "0.8.0" resolved "https://registry.npmjs.org/@emotion/hash/-/hash-0.8.0.tgz#bbbff68978fefdbe68ccb533bc8cbe1d1afb5413" @@ -214,6 +232,11 @@ resolved "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.1.tgz#c1ddb040429c6d21d38cc945fe75c818cfb68e17" integrity sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA== +"@emotion/memoize@^0.9.0": + version "0.9.0" + resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.9.0.tgz#745969d649977776b43fc7648c556aaa462b4102" + integrity sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ== + "@emotion/react@^11.9.0": version "11.11.1" resolved "https://registry.npmjs.org/@emotion/react/-/react-11.11.1.tgz#b2c36afac95b184f73b08da8c214fdf861fa4157" @@ -260,6 +283,11 @@ resolved "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.2.2.tgz#d58e788ee27267a14342303e1abb3d508b6d0fec" integrity sha512-0QBtGvaqtWi+nx6doRwDdBIzhNdZrXUppvTM4dtZZWEGTXL/XE/yJxLMGlDT1Gt+UHH5IX1n+jkXyytE/av7OA== +"@emotion/sheet@^1.4.0": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@emotion/sheet/-/sheet-1.4.0.tgz#c9299c34d248bc26e82563735f78953d2efca83c" + integrity sha512-fTBW9/8r2w3dXWYM4HCB1Rdp8NLibOw2+XELH5m5+AkWiL/KqYX6dc0kKYlaYyKjrQ6ds33MCdMPEwgs2z1rqg== + "@emotion/styled@^11.8.1": version "11.11.0" resolved "https://registry.npmjs.org/@emotion/styled/-/styled-11.11.0.tgz#26b75e1b5a1b7a629d7c0a8b708fbf5a9cdce346" @@ -302,6 +330,11 @@ resolved "https://registry.npmjs.org/@emotion/utils/-/utils-1.2.1.tgz#bbab58465738d31ae4cb3dbb6fc00a5991f755e4" integrity sha512-Y2tGf3I+XVnajdItskUCn6LX+VUDmP6lTL4fcqsXAv43dnlbZiuW4MWQW38rW/BVWSE7Q/7+XQocmpnRYILUmg== +"@emotion/utils@^1.4.2": + version "1.4.2" + resolved "https://registry.yarnpkg.com/@emotion/utils/-/utils-1.4.2.tgz#6df6c45881fcb1c412d6688a311a98b7f59c1b52" + integrity sha512-3vLclRofFziIa3J2wDh9jjbkUz9qk5Vi3IZ/FSTKViB0k+ef0fPV7dYrUIugbgupYDx7v9ud/SjrtEP8Y4xLoA== + "@emotion/weak-memoize@0.2.5": version "0.2.5" resolved "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.2.5.tgz#8eed982e2ee6f7f4e44c253e12962980791efd46" @@ -312,6 +345,11 @@ resolved "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.3.1.tgz#d0fce5d07b0620caa282b5131c297bb60f9d87e6" integrity sha512-EsBwpc7hBUJWAsNPBmJy4hxWx12v6bshQsldrVmjxJoc3isbxhOrF2IcCpaXxfvq03NwkI7sbsOLXbYuqF/8Ww== +"@emotion/weak-memoize@^0.4.0": + version "0.4.0" + resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.4.0.tgz#5e13fac887f08c44f76b0ccaf3370eb00fec9bb6" + integrity sha512-snKqtPW01tN0ui7yu9rGv69aJXr/a/Ywvl11sUjNtEcRc+ng/mQriFL0wLXMef74iHa/EkftbDzU9F8iFbH+zg== + "@esbuild/aix-ppc64@0.21.5": version "0.21.5" resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz#c7184a326533fcdf1b8ee0733e21c713b975575f" @@ -464,24 +502,10 @@ "@jridgewell/resolve-uri" "^3.1.0" "@jridgewell/sourcemap-codec" "^1.4.14" -"@mui/base@5.0.0-beta.7": - version "5.0.0-beta.7" - resolved "https://registry.npmjs.org/@mui/base/-/base-5.0.0-beta.7.tgz#01cb99ac098af0ba989c7abc1474e3291c29414f" - integrity sha512-Pjbwm6gjiS96kOMF7E5fjEJsenc0tZBesrLQ4rrdi3eT/c/yhSWnPbCUkHSz8bnS0l3/VQ8bA+oERSGSV2PK6A== - dependencies: - "@babel/runtime" "^7.22.5" - "@emotion/is-prop-valid" "^1.2.1" - "@mui/types" "^7.2.4" - "@mui/utils" "^5.13.7" - "@popperjs/core" "^2.11.8" - clsx "^1.2.1" - prop-types "^15.8.1" - react-is "^18.2.0" - -"@mui/core-downloads-tracker@^5.14.0": - version "5.14.0" - resolved "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-5.14.0.tgz#ca394a1c53c215f4c6bf7f7460d8211298d7bbf6" - integrity sha512-SYBOVCatVDUf/lbrLGah09bHhX5WfUXg7kSskfLILr6SvKRni0NLp0aonxQ0SMALVVK3Qwa6cW4CdWuwS0gC1w== +"@mui/core-downloads-tracker@^5.16.14": + version "5.16.14" + resolved "https://registry.yarnpkg.com/@mui/core-downloads-tracker/-/core-downloads-tracker-5.16.14.tgz#e6536f1b6caa873f7915fbf9703fdc840a5a98d9" + integrity sha512-sbjXW+BBSvmzn61XyTMun899E7nGPTXwqD9drm1jBUAvWEhJpPFIRxwQQiATWZnd9rvdxtnhhdsDxEGWI0jxqA== "@mui/icons-material@^5.14.0": version "5.14.0" @@ -490,72 +514,73 @@ dependencies: "@babel/runtime" "^7.22.5" -"@mui/material@^5.6.0": - version "5.14.0" - resolved "https://registry.npmjs.org/@mui/material/-/material-5.14.0.tgz#3d2afb4a3643774370cb5add873abcbbe8e7af27" - integrity sha512-HP7CP71NhMkui2HUIEKl2/JfuHMuoarSUWAKlNw6s17bl/Num9rN61EM6uUzc2A2zHjj/00A66GnvDnmixEJEw== +"@mui/material@^5.16": + version "5.16.14" + resolved "https://registry.yarnpkg.com/@mui/material/-/material-5.16.14.tgz#da8a75822f039d8c1b0ab7fb4146d767c2f9248a" + integrity sha512-eSXQVCMKU2xc7EcTxe/X/rC9QsV2jUe8eLM3MUCPYbo6V52eCE436akRIvELq/AqZpxx2bwkq7HC0cRhLB+yaw== dependencies: - "@babel/runtime" "^7.22.5" - "@mui/base" "5.0.0-beta.7" - "@mui/core-downloads-tracker" "^5.14.0" - "@mui/system" "^5.14.0" - "@mui/types" "^7.2.4" - "@mui/utils" "^5.13.7" - "@types/react-transition-group" "^4.4.6" - clsx "^1.2.1" - csstype "^3.1.2" + "@babel/runtime" "^7.23.9" + "@mui/core-downloads-tracker" "^5.16.14" + "@mui/system" "^5.16.14" + "@mui/types" "^7.2.15" + "@mui/utils" "^5.16.14" + "@popperjs/core" "^2.11.8" + "@types/react-transition-group" "^4.4.10" + clsx "^2.1.0" + csstype "^3.1.3" prop-types "^15.8.1" - react-is "^18.2.0" + react-is "^19.0.0" react-transition-group "^4.4.5" -"@mui/private-theming@^5.13.7": - version "5.13.7" - resolved "https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.13.7.tgz#2f8ef5da066f3c6c6423bd4260d003a28d10b099" - integrity sha512-qbSr+udcij5F9dKhGX7fEdx2drXchq7htLNr2Qg2Ma+WJ6q0ERlEqGSBiPiVDJkptcjeVL4DGmcf1wl5+vD4EA== +"@mui/private-theming@^5.16.14": + version "5.16.14" + resolved "https://registry.yarnpkg.com/@mui/private-theming/-/private-theming-5.16.14.tgz#7ad2b8a8fe0417f9fdfd05011806b9cb33c1a20a" + integrity sha512-12t7NKzvYi819IO5IapW2BcR33wP/KAVrU8d7gLhGHoAmhDxyXlRoKiRij3TOD8+uzk0B6R9wHUNKi4baJcRNg== dependencies: - "@babel/runtime" "^7.22.5" - "@mui/utils" "^5.13.7" + "@babel/runtime" "^7.23.9" + "@mui/utils" "^5.16.14" prop-types "^15.8.1" -"@mui/styled-engine@^5.13.2": - version "5.13.2" - resolved "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-5.13.2.tgz#c87bd61c0ab8086d34828b6defe97c02bcd642ef" - integrity sha512-VCYCU6xVtXOrIN8lcbuPmoG+u7FYuOERG++fpY74hPpEWkyFQG97F+/XfTQVYzlR2m7nPjnwVUgATcTCMEaMvw== +"@mui/styled-engine@^5.16.14": + version "5.16.14" + resolved "https://registry.yarnpkg.com/@mui/styled-engine/-/styled-engine-5.16.14.tgz#f90fef5b4f8ebf11d48e1b1df8854a45bb31a9f5" + integrity sha512-UAiMPZABZ7p8mUW4akDV6O7N3+4DatStpXMZwPlt+H/dA0lt67qawN021MNND+4QTpjaiMYxbhKZeQcyWCbuKw== dependencies: - "@babel/runtime" "^7.21.0" - "@emotion/cache" "^11.11.0" - csstype "^3.1.2" + "@babel/runtime" "^7.23.9" + "@emotion/cache" "^11.13.5" + csstype "^3.1.3" prop-types "^15.8.1" -"@mui/system@^5.14.0": - version "5.14.0" - resolved "https://registry.npmjs.org/@mui/system/-/system-5.14.0.tgz#b7eeb799ae67d27b887fec4917ebd5e2be5a2faa" - integrity sha512-0HZGkX8miJbiNw+rjlZ9l0Cfkz1bSqfSHQH0EH9J+nx0aAm5cBleg9piOlLdCNIWGgecCqsw4x62erGrGjjcJg== - dependencies: - "@babel/runtime" "^7.22.5" - "@mui/private-theming" "^5.13.7" - "@mui/styled-engine" "^5.13.2" - "@mui/types" "^7.2.4" - "@mui/utils" "^5.13.7" - clsx "^1.2.1" - csstype "^3.1.2" +"@mui/system@^5.16.14": + version "5.16.14" + resolved "https://registry.yarnpkg.com/@mui/system/-/system-5.16.14.tgz#92765ba01a3d1f8ee4967248cb00077d7aed225b" + integrity sha512-KBxMwCb8mSIABnKvoGbvM33XHyT+sN0BzEBG+rsSc0lLQGzs7127KWkCA6/H8h6LZ00XpBEME5MAj8mZLiQ1tw== + dependencies: + "@babel/runtime" "^7.23.9" + "@mui/private-theming" "^5.16.14" + "@mui/styled-engine" "^5.16.14" + "@mui/types" "^7.2.15" + "@mui/utils" "^5.16.14" + clsx "^2.1.0" + csstype "^3.1.3" prop-types "^15.8.1" -"@mui/types@^7.2.4": - version "7.2.4" - resolved "https://registry.npmjs.org/@mui/types/-/types-7.2.4.tgz#b6fade19323b754c5c6de679a38f068fd50b9328" - integrity sha512-LBcwa8rN84bKF+f5sDyku42w1NTxaPgPyYKODsh01U1fVstTClbUoSA96oyRBnSNyEiAVjKm6Gwx9vjR+xyqHA== +"@mui/types@^7.2.15": + version "7.2.21" + resolved "https://registry.yarnpkg.com/@mui/types/-/types-7.2.21.tgz#63f50874eda8e4a021a69aaa8ba9597369befda2" + integrity sha512-6HstngiUxNqLU+/DPqlUJDIPbzUBxIVHb1MmXP0eTWDIROiCR2viugXpEif0PPe2mLqqakPzzRClWAnK+8UJww== -"@mui/utils@^5.13.7": - version "5.13.7" - resolved "https://registry.npmjs.org/@mui/utils/-/utils-5.13.7.tgz#7e6a8336e05eb2642667a5c02eb605351e27ec20" - integrity sha512-/3BLptG/q0u36eYED7Nhf4fKXmcKb6LjjT7ZMwhZIZSdSxVqDqSTmATW3a56n3KEPQUXCU9TpxAfCBQhs6brVA== +"@mui/utils@^5.16.14": + version "5.16.14" + resolved "https://registry.yarnpkg.com/@mui/utils/-/utils-5.16.14.tgz#7217e876a5092cd04c184b34bca348e0befaef8c" + integrity sha512-wn1QZkRzSmeXD1IguBVvJJHV3s6rxJrfb6YuC9Kk6Noh9f8Fb54nUs5JRkKm+BOerRhj5fLg05Dhx/H3Ofb8Mg== dependencies: - "@babel/runtime" "^7.22.5" - "@types/prop-types" "^15.7.5" - "@types/react-is" "^18.2.1" + "@babel/runtime" "^7.23.9" + "@mui/types" "^7.2.15" + "@types/prop-types" "^15.7.12" + clsx "^2.1.1" prop-types "^15.8.1" - react-is "^18.2.0" + react-is "^19.0.0" "@popperjs/core@^2.11.8": version "2.11.8" @@ -1015,11 +1040,16 @@ resolved "https://registry.npmjs.org/@types/prismjs/-/prismjs-1.26.0.tgz" integrity sha512-ZTaqn/qSqUuAq1YwvOFQfVW1AR/oQJlLSZVustdjwI+GZ8kr0MSHBj0tsXPW1EqHubx50gtBEjbPGsdZwQwCjQ== -"@types/prop-types@*", "@types/prop-types@^15.7.5": +"@types/prop-types@*": version "15.7.5" resolved "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz#5f19d2b85a98e9558036f6a3cacc8819420f05cf" integrity sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w== +"@types/prop-types@^15.7.12": + version "15.7.14" + resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.14.tgz#1433419d73b2a7ebfc6918dcefd2ec0d5cd698f2" + integrity sha512-gNMvNH49DJ7OJYv+KAKn0Xp45p8PLl6zo2YnvDIbTd4J6MER2BmWN49TG7n9LvkyihINxeKW8+3bfS2yDC9dzQ== + "@types/react-dom@^18.3.0": version "18.3.0" resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.3.0.tgz#0cbc818755d87066ab6ca74fbedb2547d74a82b0" @@ -1027,19 +1057,10 @@ dependencies: "@types/react" "*" -"@types/react-is@^18.2.1": - version "18.2.1" - resolved "https://registry.npmjs.org/@types/react-is/-/react-is-18.2.1.tgz#61d01c2a6fc089a53520c0b66996d458fdc46863" - integrity sha512-wyUkmaaSZEzFZivD8F2ftSyAfk6L+DfFliVj/mYdOXbVjRcS87fQJLTnhk6dRZPuJjI+9g6RZJO4PNCngUrmyw== - dependencies: - "@types/react" "*" - -"@types/react-transition-group@^4.4.6": - version "4.4.6" - resolved "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.6.tgz#18187bcda5281f8e10dfc48f0943e2fdf4f75e2e" - integrity sha512-VnCdSxfcm08KjsJVQcfBmhEQAPnLB8G08hAxn39azX1qYBQ/5RVQuoHuKIcfKOdncuaUvEpFKFzEvbtIMsfVew== - dependencies: - "@types/react" "*" +"@types/react-transition-group@^4.4.10": + version "4.4.12" + resolved "https://registry.yarnpkg.com/@types/react-transition-group/-/react-transition-group-4.4.12.tgz#b5d76568485b02a307238270bfe96cb51ee2a044" + integrity sha512-8TV6R3h2j7a91c+1DXdJi3Syo69zzIZbz7Lg5tORM5LEJG7X/E6a1V3drRyBRZq7/utz7A+c4OgYLiLcYGHG6w== "@types/react@*": version "18.2.15" @@ -1262,16 +1283,16 @@ clone@~2.1.2: resolved "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz" integrity sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18= -clsx@^1.2.1: - version "1.2.1" - resolved "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz#0ddc4a20a549b59c93a4116bb26f5294ca17dc12" - integrity sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg== - clsx@^2.0.0: version "2.1.0" resolved "https://registry.npmjs.org/clsx/-/clsx-2.1.0.tgz#e851283bcb5c80ee7608db18487433f7b23f77cb" integrity sha512-m3iNNWpd9rl3jvvcBnu70ylMdrXt8Vlq4HYadnU5fwcOtvkSQWPmj7amUcDT2qYI7risszBjI5AUIUox9D16pg== +clsx@^2.1.0, clsx@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/clsx/-/clsx-2.1.1.tgz#eed397c9fd8bd882bfb18deab7102049a2f32999" + integrity sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA== + color-convert@^1.9.0: version "1.9.3" resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" @@ -1348,11 +1369,16 @@ csstype@^2.5.7: resolved "https://registry.npmjs.org/csstype/-/csstype-2.6.21.tgz#2efb85b7cc55c80017c66a5ad7cbd931fda3a90e" integrity sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w== -csstype@^3.0.2, csstype@^3.1.2: +csstype@^3.0.2: version "3.1.2" resolved "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz#1d4bf9d572f11c14031f0436e1c10bc1f571f50b" integrity sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ== +csstype@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.3.tgz#d80ff294d114fb0e6ac500fbf85b60137d7eff81" + integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw== + "d3-array@1 - 3", "d3-array@2 - 3", "d3-array@2.10.0 - 3", "d3-array@2.5.0 - 3", d3-array@3: version "3.2.0" resolved "https://registry.npmjs.org/d3-array/-/d3-array-3.2.0.tgz" @@ -2158,11 +2184,16 @@ react-is@^16.13.1, react-is@^16.7.0: resolved "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== -react-is@^18.0.0, react-is@^18.2.0: +react-is@^18.0.0: version "18.2.0" resolved "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz" integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== +react-is@^19.0.0: + version "19.0.0" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-19.0.0.tgz#d6669fd389ff022a9684f708cf6fa4962d1fea7a" + integrity sha512-H91OHcwjZsbq3ClIDHMzBShc1rotbfACdWENsmEf0IFvZ3FgGPtdHMcsv45bQ1hAbgdfiA8SnxTKfDS+x/8m2g== + react-lifecycles-compat@^3.0.4: version "3.0.4" resolved "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz" From 3e0b53031c7a30b5cfe9a5ac5b98d2cd496aefab Mon Sep 17 00:00:00 2001 From: Dan Marshall Date: Tue, 7 Jan 2025 22:15:17 +0000 Subject: [PATCH 03/35] remove component="label" --- src/app/App.tsx | 2 +- src/views/ModelSelectionDialog.tsx | 2 +- src/views/TableSelectionView.tsx | 10 +++++----- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/app/App.tsx b/src/app/App.tsx index c8c5f79..2e6f439 100644 --- a/src/app/App.tsx +++ b/src/app/App.tsx @@ -106,7 +106,7 @@ export const ImportStateButton: React.FC<{}> = ({ }) => { return - diff --git a/src/views/TableSelectionView.tsx b/src/views/TableSelectionView.tsx index da2d5d1..c1cc053 100644 --- a/src/views/TableSelectionView.tsx +++ b/src/views/TableSelectionView.tsx @@ -186,7 +186,7 @@ export const TableSelectionDialog: React.FC<{ buttonElement: any }> = function T let dispatch = useDispatch(); return <> - @@ -425,7 +425,7 @@ export const TableURLDialog: React.FC = ({ buttonElement, d ; return <> - @@ -745,7 +745,7 @@ export const TableCopyDialogV2: React.FC = ({ buttonElemen ; return <> - From d997fe844d103b87a911db7f5eda16bb5b31f849 Mon Sep 17 00:00:00 2001 From: Dan Marshall Date: Tue, 7 Jan 2025 22:15:32 +0000 Subject: [PATCH 04/35] add aria-label --- src/app/App.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/app/App.tsx b/src/app/App.tsx index 2e6f439..d62157a 100644 --- a/src/app/App.tsx +++ b/src/app/App.tsx @@ -245,12 +245,12 @@ export const AppFC: FC = function AppFC(appProps) { aria-label="View Mode" sx={{ marginRight: "8px", height: 32, padding: "4px 0px", marginTop: "2px", "& .MuiToggleButton-root": { padding: "0px 6px" } }} > - + - + From ba8802c63f4b9898101bfb8d6f6ad625e0d70f4d Mon Sep 17 00:00:00 2001 From: Dan Marshall Date: Tue, 7 Jan 2025 23:02:20 +0000 Subject: [PATCH 05/35] remove role=checkbox --- src/views/ReactTable.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/views/ReactTable.tsx b/src/views/ReactTable.tsx index 3fc286e..3cb92e0 100644 --- a/src/views/ReactTable.tsx +++ b/src/views/ReactTable.tsx @@ -87,7 +87,7 @@ export const CustomReactTable: React.FC = ({ rows, column {rows.slice(page * rowsPerPage, page * rowsPerPage + rowsPerPage) .map((row, i) => { return ( - + {columnDefs.map((column, j) => { const value = row[column.id]; let backgroundColor = "none"; From 856bc72880642e9cd54a58e3c962f33c342ced86 Mon Sep 17 00:00:00 2001 From: Dan Marshall Date: Tue, 7 Jan 2025 23:02:33 +0000 Subject: [PATCH 06/35] accessible orange --- src/app/App.tsx | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/app/App.tsx b/src/app/App.tsx index d62157a..80b2117 100644 --- a/src/app/App.tsx +++ b/src/app/App.tsx @@ -224,6 +224,9 @@ export const AppFC: FC = function AppFC(appProps) { custom: { main: "rgb(255, 160, 122)", //lightsalmon }, + warning: { + main: '#bf5600', // New accessible color, original (#ed6c02) has insufficient color contrast of 3.11 + }, }, }); From 39563864bda1723e41b2746be3c23a5f9fd8ed34 Mon Sep 17 00:00:00 2001 From: Dan Marshall Date: Tue, 7 Jan 2025 23:02:54 +0000 Subject: [PATCH 07/35] use text.secondary instead of gray --- src/views/TableSelectionView.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/views/TableSelectionView.tsx b/src/views/TableSelectionView.tsx index c1cc053..7e05b1e 100644 --- a/src/views/TableSelectionView.tsx +++ b/src/views/TableSelectionView.tsx @@ -139,7 +139,7 @@ export const TableSelectionView: React.FC = function Ta return {content} - {Object.keys(t.rows[0]).length} columns{hideRowNum ? "" : ` ⨉ ${t.rows.length} rows`} + {Object.keys(t.rows[0]).length} columns{hideRowNum ? "" : ` ⨉ ${t.rows.length} rows`} {handleDeleteTable == undefined ? "" : Date: Wed, 8 Jan 2025 04:26:03 +0000 Subject: [PATCH 08/35] higher contrast for #777 --- src/scss/App.scss | 2 +- src/scss/DataView.scss | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/scss/App.scss b/src/scss/App.scss index f631f74..40d4dc1 100644 --- a/src/scss/App.scss +++ b/src/scss/App.scss @@ -26,7 +26,7 @@ h2.view-title { margin: 0; line-height: 1.75; display: inline-block; - color: #777; + color: #717171; //font-weight: 600; //text-transform: uppercase; font-size: 14px; diff --git a/src/scss/DataView.scss b/src/scss/DataView.scss index 2d1d642..e0ac6a1 100644 --- a/src/scss/DataView.scss +++ b/src/scss/DataView.scss @@ -32,7 +32,7 @@ margin-top: 4px; display: inline-block; font-size: 18px; - color: #777; + color: #717171; } .table-container-small { From 49992b57e41e88b8fafe910d99f702cc859a3540 Mon Sep 17 00:00:00 2001 From: Dan Marshall Date: Wed, 8 Jan 2025 04:38:45 +0000 Subject: [PATCH 09/35] add tooltip to threads panel chevron --- src/views/DataThread.tsx | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/views/DataThread.tsx b/src/views/DataThread.tsx index 8a98248..6aa6b38 100644 --- a/src/views/DataThread.tsx +++ b/src/views/DataThread.tsx @@ -480,9 +480,11 @@ export const DataThread: FC<{}> = function ({ }) { Data Threads - { setThreadDrawerOpen(!threadDrawerOpen); }}> - {drawerOpen ? : } - + + { setThreadDrawerOpen(!threadDrawerOpen); }}> + {drawerOpen ? : } + + Date: Wed, 8 Jan 2025 15:09:44 -0800 Subject: [PATCH 10/35] ensure
  • elements are in
      --- src/scss/EncodingShelf.scss | 4 ++++ src/views/EncodingShelfCard.tsx | 29 ++++++++++++++++------------- src/views/EncodingShelfThread.tsx | 10 +++++----- 3 files changed, 25 insertions(+), 18 deletions(-) diff --git a/src/scss/EncodingShelf.scss b/src/scss/EncodingShelf.scss index c20f32e..d399bff 100644 --- a/src/scss/EncodingShelf.scss +++ b/src/scss/EncodingShelf.scss @@ -44,6 +44,10 @@ flex-direction: column; justify-content: center } + + .table-list-item { + display: flex; + } } .auto-sort-option-label { diff --git a/src/views/EncodingShelfCard.tsx b/src/views/EncodingShelfCard.tsx index 935a19e..38da84e 100644 --- a/src/views/EncodingShelfCard.tsx +++ b/src/views/EncodingShelfCard.tsx @@ -21,6 +21,7 @@ import { Stack, Card, Chip, + List, } from '@mui/material'; import React from 'react'; @@ -559,19 +560,21 @@ export const EncodingShelfCard: FC = function ({ chartId ) }} onChange={(event) => { handleUpdateChartType(event.target.value) }}> - {Object.entries(CHART_TEMPLATES).map(([group, templates]) => { - return [ - {group}, - ...templates.map((t, i) => ( - - - {typeof t?.icon == 'string' ? : t?.icon} - - {t.chart} - - )) - ] - })} + + {Object.entries(CHART_TEMPLATES).map(([group, templates]) => { + return [ + {group}, + ...templates.map((t, i) => ( + + + {typeof t?.icon == 'string' ? : t?.icon} + + {t.chart} + + )) + ] + })} + diff --git a/src/views/EncodingShelfThread.tsx b/src/views/EncodingShelfThread.tsx index 4f714ed..ed7e892 100644 --- a/src/views/EncodingShelfThread.tsx +++ b/src/views/EncodingShelfThread.tsx @@ -197,7 +197,7 @@ export const EncodingShelfThread: FC = function ({ cha const dispatch = useDispatch(); - const w: any = (a: any[], b: any[], spaceElement?: any) => a.length ? [a[0], spaceElement || '',...w(b, a.slice(1), spaceElement)] : b; + const interleaveArrays: any = (a: any[], b: any[], spaceElement?: any) => a.length ? [a[0], spaceElement || '',...interleaveArrays(b, a.slice(1), spaceElement)] : b; let previousInstructions : any = "" @@ -405,7 +405,7 @@ export const EncodingShelfThread: FC = function ({ cha } //let triggers = currentTable.derive.triggers; - let tableList = activeTableThread.map((tableId) => + let tableList = activeTableThread.map((tableId) =>
      - ); +
      ); let tableCards = activeTableThread.map((tableId) => @@ -478,7 +478,7 @@ export const EncodingShelfThread: FC = function ({ cha previousInstructions = - {w(tableCardsSublist, instructionCardsSublist, spaceElement)} + {interleaveArrays(tableCardsSublist, instructionCardsSublist, spaceElement)} {/* {w(tableList.slice(0, tableList.length - 1), instructionList.slice(0, instructionList.length - 1))} */} {/* */} @@ -504,7 +504,7 @@ export const EncodingShelfThread: FC = function ({ cha let postInstructEndPoint = activeTableThread.findIndex(s => s == activeThreadChart.tableRef); postInstruction = - {w([ + {interleaveArrays([ From 806f911fb6c838873e2946dbe1a98b395818f726 Mon Sep 17 00:00:00 2001 From: Dan Marshall Date: Wed, 8 Jan 2025 21:15:22 -0800 Subject: [PATCH 11/35] text-only tooltip --- src/views/EncodingShelfThread.tsx | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/views/EncodingShelfThread.tsx b/src/views/EncodingShelfThread.tsx index ed7e892..529f878 100644 --- a/src/views/EncodingShelfThread.tsx +++ b/src/views/EncodingShelfThread.tsx @@ -455,9 +455,7 @@ export const EncodingShelfThread: FC = function ({ cha {i == triggers.length - 1 && chart.intermediate == undefined ? - - reformulate: override {chart.tableRef} - }> + { reFormulate(triggers[triggers.length - 1]); From 1ab71e82949f7f11195df519521196417f9d8078 Mon Sep 17 00:00:00 2001 From: Dan Marshall Date: Thu, 9 Jan 2025 13:54:05 -0800 Subject: [PATCH 12/35] add tooltips for zoom in and zoom out buttons in ChartEditor --- src/views/VisualizationView.tsx | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/src/views/VisualizationView.tsx b/src/views/VisualizationView.tsx index a0c99e0..9b63035 100644 --- a/src/views/VisualizationView.tsx +++ b/src/views/VisualizationView.tsx @@ -680,18 +680,24 @@ export const ChartEditorFC: FC<{ cachedCandidates: DictTable[], let [scaleMin, scaleMax] = [0.2, 2.4] let chartResizer = - { - dispatch(dfActions.updateChartScaleFactor({chartId: focusedChart.id, scaleFactor: scaleFactor - 0.1})) - }}> - - + + { + dispatch(dfActions.updateChartScaleFactor({ chartId: focusedChart.id, scaleFactor: scaleFactor - 0.1 })) + }}> + + + { dispatch(dfActions.updateChartScaleFactor({chartId: focusedChart.id, scaleFactor: newValue as number})) }} /> - = scaleMax} onClick={()=>{ - dispatch(dfActions.updateChartScaleFactor({chartId: focusedChart.id, scaleFactor: scaleFactor + 0.1})) - }}> + + = scaleMax} onClick={() => { + dispatch(dfActions.updateChartScaleFactor({ chartId: focusedChart.id, scaleFactor: scaleFactor + 0.1 })) + }}> + + + return From 5a799e22398a593c670ef575e7e2b178611b3133 Mon Sep 17 00:00:00 2001 From: Dan Marshall Date: Thu, 9 Jan 2025 13:54:21 -0800 Subject: [PATCH 13/35] update Typography color to use 'text.secondary' for better consistency --- src/views/ConceptShelf.tsx | 2 +- src/views/DataThread.tsx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/views/ConceptShelf.tsx b/src/views/ConceptShelf.tsx index 1cbf35d..75c58f7 100644 --- a/src/views/ConceptShelf.tsx +++ b/src/views/ConceptShelf.tsx @@ -129,7 +129,7 @@ export const ConceptShelf: FC = function ConceptShelf() { - + field operators diff --git a/src/views/DataThread.tsx b/src/views/DataThread.tsx index 6aa6b38..fb444b4 100644 --- a/src/views/DataThread.tsx +++ b/src/views/DataThread.tsx @@ -281,7 +281,7 @@ let SingleThreadView: FC<{ "& .MuiDivider-wrapper": { display: 'flex', flexDirection: 'row' }, "&::before, &::after": { borderColor: 'darkgray', borderWidth: '2px', width: 50 }, }}> - + {`thread - ${threadIdx + 1}`} From e9ee169836576710879a0cc9fd17ac4ac576cfda Mon Sep 17 00:00:00 2001 From: Dan Marshall Date: Thu, 9 Jan 2025 14:46:54 -0800 Subject: [PATCH 14/35] do not use List / ListItem --- src/views/DataThread.tsx | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/views/DataThread.tsx b/src/views/DataThread.tsx index fb444b4..95f0f65 100644 --- a/src/views/DataThread.tsx +++ b/src/views/DataThread.tsx @@ -128,11 +128,11 @@ let SingleThreadView: FC<{ let currentActiveFields = new Set(extractActiveFields(trigger)) let fieldsIdentical = _.isEqual(previousActiveFields, currentActiveFields) - let triggerCard = + let triggerCard =
      - ; +
      ; return {triggerCard} @@ -165,7 +165,7 @@ let SingleThreadView: FC<{ // only charts without dependency can be deleted let tableDeleteEnabled = table?.derive && !tables.some(t => t.derive?.trigger.tableId == tableId); - let colloapsedTableBox = + let colloapsedTableBox =
      @@ -174,9 +174,9 @@ let SingleThreadView: FC<{ - ; +
      ; - let regularTableBox = c.chartId == focusedChartId) ? scrollRef : null} sx={{padding: '0px'}}> + let regularTableBox =
      c.chartId == focusedChartId) ? scrollRef : null} style={{padding: '0px'}}> { @@ -222,7 +222,7 @@ let SingleThreadView: FC<{ - +
      let chartElementProps = collapsed ? {display: 'flex', flexWrap: 'wrap'} : {} @@ -286,9 +286,9 @@ let SingleThreadView: FC<{
      - +
      {content} - +
      } From 6e366d14a0f19a518d0b013ee733aafaebbb05c2 Mon Sep 17 00:00:00 2001 From: Dan Marshall Date: Thu, 9 Jan 2025 14:52:32 -0800 Subject: [PATCH 15/35] replace Button with div in SingleThreadView --- src/views/DataThread.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/views/DataThread.tsx b/src/views/DataThread.tsx index 95f0f65..a6837a5 100644 --- a/src/views/DataThread.tsx +++ b/src/views/DataThread.tsx @@ -229,7 +229,7 @@ let SingleThreadView: FC<{ return [ regularTableBox, - + {releventChartElements} From 0adc129d787f7a47180f3ceb9c11544816cd8d3f Mon Sep 17 00:00:00 2001 From: Dan Marshall Date: Thu, 9 Jan 2025 14:55:33 -0800 Subject: [PATCH 16/35] move Tooltip outward --- src/views/VisualizationView.tsx | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/views/VisualizationView.tsx b/src/views/VisualizationView.tsx index 9b63035..4f6c1ec 100644 --- a/src/views/VisualizationView.tsx +++ b/src/views/VisualizationView.tsx @@ -383,6 +383,7 @@ export const ChartEditorFC: FC<{ cachedCandidates: DictTable[],
      ) : ( + { @@ -392,13 +393,13 @@ export const ChartEditorFC: FC<{ cachedCandidates: DictTable[], // }); dispatch(dfActions.saveUnsaveChart(focusedChart.id)); }}> - - - + + ); - let duplicateButton = + { // trackEvent('save-chart', { @@ -407,10 +408,10 @@ export const ChartEditorFC: FC<{ cachedCandidates: DictTable[], // }); dispatch(dfActions.duplicateChart(focusedChart.id)); }}> - + - - + +
      let createNewChartButton = From fc748b6fdd3005af35d1f2a2e04d67993d86ab8d Mon Sep 17 00:00:00 2001 From: Dan Marshall Date: Thu, 9 Jan 2025 14:56:48 -0800 Subject: [PATCH 17/35] remove unused ListItem import from EncodingShelfThread --- src/views/EncodingShelfThread.tsx | 1 - 1 file changed, 1 deletion(-) diff --git a/src/views/EncodingShelfThread.tsx b/src/views/EncodingShelfThread.tsx index 529f878..358ecbc 100644 --- a/src/views/EncodingShelfThread.tsx +++ b/src/views/EncodingShelfThread.tsx @@ -13,7 +13,6 @@ import { IconButton, Tooltip, Collapse, - ListItem, Stack, Card, } from '@mui/material'; From 5c8749205234ad5f743ed01b3b134697ad141bcf Mon Sep 17 00:00:00 2001 From: Dan Marshall Date: Thu, 9 Jan 2025 14:58:32 -0800 Subject: [PATCH 18/35] remove unused imports from DataThread component --- src/views/DataThread.tsx | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/src/views/DataThread.tsx b/src/views/DataThread.tsx index a6837a5..1f004d4 100644 --- a/src/views/DataThread.tsx +++ b/src/views/DataThread.tsx @@ -5,29 +5,18 @@ import React, { FC, useEffect, useRef, useState } from 'react'; import { Box, - Button, Divider, Typography, LinearProgress, - ListItem, Stack, ListItemIcon, - List, Card, IconButton, Tooltip, ButtonGroup, useTheme, - Drawer, - ListItemButton, - ListItemText, - Collapse, - Grow, - alpha, } from '@mui/material'; -import embed from 'vega-embed'; -import AnimateOnChange from 'react-animate-on-change' import { VegaLite } from 'react-vega' From 0c1b693b32489a1bc8b5df33e72953e584493f16 Mon Sep 17 00:00:00 2001 From: Dan Marshall Date: Thu, 9 Jan 2025 15:31:07 -0800 Subject: [PATCH 19/35] Revert "upgrade @mui/material" This reverts commit 345fce77eea6789a5faa36a0ea881162c0c3d2fe. --- package.json | 2 +- yarn.lock | 213 ++++++++++++++++++++++----------------------------- 2 files changed, 92 insertions(+), 123 deletions(-) diff --git a/package.json b/package.json index 8a7db5b..4640e6d 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,7 @@ "@emotion/styled": "^11.8.1", "@fontsource/roboto": "^4.5.5", "@mui/icons-material": "^5.14.0", - "@mui/material": "^5.16", + "@mui/material": "^5.6.0", "@reduxjs/toolkit": "^1.8.6", "@types/dompurify": "^3.0.5", "@types/validator": "^13.12.2", diff --git a/yarn.lock b/yarn.lock index 3606c61..aff1cee 100644 --- a/yarn.lock +++ b/yarn.lock @@ -95,20 +95,13 @@ dependencies: regenerator-runtime "^0.13.4" -"@babel/runtime@^7.18.3", "@babel/runtime@^7.22.5", "@babel/runtime@^7.5.5", "@babel/runtime@^7.8.7": +"@babel/runtime@^7.18.3", "@babel/runtime@^7.21.0", "@babel/runtime@^7.22.5", "@babel/runtime@^7.5.5", "@babel/runtime@^7.8.7": version "7.22.6" resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.6.tgz#57d64b9ae3cff1d67eb067ae117dac087f5bd438" integrity sha512-wDb5pWm4WDdF6LFUde3Jl8WzPA+3ZbxYqkC6xAXuD3irdEHN1k0NfTRrJD8ZD378SJ61miMLCqIOXYhd8x+AJQ== dependencies: regenerator-runtime "^0.13.11" -"@babel/runtime@^7.23.9": - version "7.26.0" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.26.0.tgz#8600c2f595f277c60815256418b85356a65173c1" - integrity sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw== - dependencies: - regenerator-runtime "^0.14.0" - "@babel/runtime@^7.7.2": version "7.25.6" resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.25.6.tgz#9afc3289f7184d8d7f98b099884c26317b9264d2" @@ -194,17 +187,6 @@ "@emotion/weak-memoize" "^0.3.1" stylis "4.2.0" -"@emotion/cache@^11.13.5": - version "11.14.0" - resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-11.14.0.tgz#ee44b26986eeb93c8be82bb92f1f7a9b21b2ed76" - integrity sha512-L/B1lc/TViYk4DcpGxtAVbx0ZyiKM5ktoIyafGkH6zg/tj+mA+NE//aPYKG0k8kCHSHVJrpLpcAlOBEXQ3SavA== - dependencies: - "@emotion/memoize" "^0.9.0" - "@emotion/sheet" "^1.4.0" - "@emotion/utils" "^1.4.2" - "@emotion/weak-memoize" "^0.4.0" - stylis "4.2.0" - "@emotion/hash@0.8.0": version "0.8.0" resolved "https://registry.npmjs.org/@emotion/hash/-/hash-0.8.0.tgz#bbbff68978fefdbe68ccb533bc8cbe1d1afb5413" @@ -232,11 +214,6 @@ resolved "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.1.tgz#c1ddb040429c6d21d38cc945fe75c818cfb68e17" integrity sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA== -"@emotion/memoize@^0.9.0": - version "0.9.0" - resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.9.0.tgz#745969d649977776b43fc7648c556aaa462b4102" - integrity sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ== - "@emotion/react@^11.9.0": version "11.11.1" resolved "https://registry.npmjs.org/@emotion/react/-/react-11.11.1.tgz#b2c36afac95b184f73b08da8c214fdf861fa4157" @@ -283,11 +260,6 @@ resolved "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.2.2.tgz#d58e788ee27267a14342303e1abb3d508b6d0fec" integrity sha512-0QBtGvaqtWi+nx6doRwDdBIzhNdZrXUppvTM4dtZZWEGTXL/XE/yJxLMGlDT1Gt+UHH5IX1n+jkXyytE/av7OA== -"@emotion/sheet@^1.4.0": - version "1.4.0" - resolved "https://registry.yarnpkg.com/@emotion/sheet/-/sheet-1.4.0.tgz#c9299c34d248bc26e82563735f78953d2efca83c" - integrity sha512-fTBW9/8r2w3dXWYM4HCB1Rdp8NLibOw2+XELH5m5+AkWiL/KqYX6dc0kKYlaYyKjrQ6ds33MCdMPEwgs2z1rqg== - "@emotion/styled@^11.8.1": version "11.11.0" resolved "https://registry.npmjs.org/@emotion/styled/-/styled-11.11.0.tgz#26b75e1b5a1b7a629d7c0a8b708fbf5a9cdce346" @@ -330,11 +302,6 @@ resolved "https://registry.npmjs.org/@emotion/utils/-/utils-1.2.1.tgz#bbab58465738d31ae4cb3dbb6fc00a5991f755e4" integrity sha512-Y2tGf3I+XVnajdItskUCn6LX+VUDmP6lTL4fcqsXAv43dnlbZiuW4MWQW38rW/BVWSE7Q/7+XQocmpnRYILUmg== -"@emotion/utils@^1.4.2": - version "1.4.2" - resolved "https://registry.yarnpkg.com/@emotion/utils/-/utils-1.4.2.tgz#6df6c45881fcb1c412d6688a311a98b7f59c1b52" - integrity sha512-3vLclRofFziIa3J2wDh9jjbkUz9qk5Vi3IZ/FSTKViB0k+ef0fPV7dYrUIugbgupYDx7v9ud/SjrtEP8Y4xLoA== - "@emotion/weak-memoize@0.2.5": version "0.2.5" resolved "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.2.5.tgz#8eed982e2ee6f7f4e44c253e12962980791efd46" @@ -345,11 +312,6 @@ resolved "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.3.1.tgz#d0fce5d07b0620caa282b5131c297bb60f9d87e6" integrity sha512-EsBwpc7hBUJWAsNPBmJy4hxWx12v6bshQsldrVmjxJoc3isbxhOrF2IcCpaXxfvq03NwkI7sbsOLXbYuqF/8Ww== -"@emotion/weak-memoize@^0.4.0": - version "0.4.0" - resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.4.0.tgz#5e13fac887f08c44f76b0ccaf3370eb00fec9bb6" - integrity sha512-snKqtPW01tN0ui7yu9rGv69aJXr/a/Ywvl11sUjNtEcRc+ng/mQriFL0wLXMef74iHa/EkftbDzU9F8iFbH+zg== - "@esbuild/aix-ppc64@0.21.5": version "0.21.5" resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz#c7184a326533fcdf1b8ee0733e21c713b975575f" @@ -502,10 +464,24 @@ "@jridgewell/resolve-uri" "^3.1.0" "@jridgewell/sourcemap-codec" "^1.4.14" -"@mui/core-downloads-tracker@^5.16.14": - version "5.16.14" - resolved "https://registry.yarnpkg.com/@mui/core-downloads-tracker/-/core-downloads-tracker-5.16.14.tgz#e6536f1b6caa873f7915fbf9703fdc840a5a98d9" - integrity sha512-sbjXW+BBSvmzn61XyTMun899E7nGPTXwqD9drm1jBUAvWEhJpPFIRxwQQiATWZnd9rvdxtnhhdsDxEGWI0jxqA== +"@mui/base@5.0.0-beta.7": + version "5.0.0-beta.7" + resolved "https://registry.npmjs.org/@mui/base/-/base-5.0.0-beta.7.tgz#01cb99ac098af0ba989c7abc1474e3291c29414f" + integrity sha512-Pjbwm6gjiS96kOMF7E5fjEJsenc0tZBesrLQ4rrdi3eT/c/yhSWnPbCUkHSz8bnS0l3/VQ8bA+oERSGSV2PK6A== + dependencies: + "@babel/runtime" "^7.22.5" + "@emotion/is-prop-valid" "^1.2.1" + "@mui/types" "^7.2.4" + "@mui/utils" "^5.13.7" + "@popperjs/core" "^2.11.8" + clsx "^1.2.1" + prop-types "^15.8.1" + react-is "^18.2.0" + +"@mui/core-downloads-tracker@^5.14.0": + version "5.14.0" + resolved "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-5.14.0.tgz#ca394a1c53c215f4c6bf7f7460d8211298d7bbf6" + integrity sha512-SYBOVCatVDUf/lbrLGah09bHhX5WfUXg7kSskfLILr6SvKRni0NLp0aonxQ0SMALVVK3Qwa6cW4CdWuwS0gC1w== "@mui/icons-material@^5.14.0": version "5.14.0" @@ -514,73 +490,72 @@ dependencies: "@babel/runtime" "^7.22.5" -"@mui/material@^5.16": - version "5.16.14" - resolved "https://registry.yarnpkg.com/@mui/material/-/material-5.16.14.tgz#da8a75822f039d8c1b0ab7fb4146d767c2f9248a" - integrity sha512-eSXQVCMKU2xc7EcTxe/X/rC9QsV2jUe8eLM3MUCPYbo6V52eCE436akRIvELq/AqZpxx2bwkq7HC0cRhLB+yaw== +"@mui/material@^5.6.0": + version "5.14.0" + resolved "https://registry.npmjs.org/@mui/material/-/material-5.14.0.tgz#3d2afb4a3643774370cb5add873abcbbe8e7af27" + integrity sha512-HP7CP71NhMkui2HUIEKl2/JfuHMuoarSUWAKlNw6s17bl/Num9rN61EM6uUzc2A2zHjj/00A66GnvDnmixEJEw== dependencies: - "@babel/runtime" "^7.23.9" - "@mui/core-downloads-tracker" "^5.16.14" - "@mui/system" "^5.16.14" - "@mui/types" "^7.2.15" - "@mui/utils" "^5.16.14" - "@popperjs/core" "^2.11.8" - "@types/react-transition-group" "^4.4.10" - clsx "^2.1.0" - csstype "^3.1.3" + "@babel/runtime" "^7.22.5" + "@mui/base" "5.0.0-beta.7" + "@mui/core-downloads-tracker" "^5.14.0" + "@mui/system" "^5.14.0" + "@mui/types" "^7.2.4" + "@mui/utils" "^5.13.7" + "@types/react-transition-group" "^4.4.6" + clsx "^1.2.1" + csstype "^3.1.2" prop-types "^15.8.1" - react-is "^19.0.0" + react-is "^18.2.0" react-transition-group "^4.4.5" -"@mui/private-theming@^5.16.14": - version "5.16.14" - resolved "https://registry.yarnpkg.com/@mui/private-theming/-/private-theming-5.16.14.tgz#7ad2b8a8fe0417f9fdfd05011806b9cb33c1a20a" - integrity sha512-12t7NKzvYi819IO5IapW2BcR33wP/KAVrU8d7gLhGHoAmhDxyXlRoKiRij3TOD8+uzk0B6R9wHUNKi4baJcRNg== +"@mui/private-theming@^5.13.7": + version "5.13.7" + resolved "https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.13.7.tgz#2f8ef5da066f3c6c6423bd4260d003a28d10b099" + integrity sha512-qbSr+udcij5F9dKhGX7fEdx2drXchq7htLNr2Qg2Ma+WJ6q0ERlEqGSBiPiVDJkptcjeVL4DGmcf1wl5+vD4EA== dependencies: - "@babel/runtime" "^7.23.9" - "@mui/utils" "^5.16.14" + "@babel/runtime" "^7.22.5" + "@mui/utils" "^5.13.7" prop-types "^15.8.1" -"@mui/styled-engine@^5.16.14": - version "5.16.14" - resolved "https://registry.yarnpkg.com/@mui/styled-engine/-/styled-engine-5.16.14.tgz#f90fef5b4f8ebf11d48e1b1df8854a45bb31a9f5" - integrity sha512-UAiMPZABZ7p8mUW4akDV6O7N3+4DatStpXMZwPlt+H/dA0lt67qawN021MNND+4QTpjaiMYxbhKZeQcyWCbuKw== +"@mui/styled-engine@^5.13.2": + version "5.13.2" + resolved "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-5.13.2.tgz#c87bd61c0ab8086d34828b6defe97c02bcd642ef" + integrity sha512-VCYCU6xVtXOrIN8lcbuPmoG+u7FYuOERG++fpY74hPpEWkyFQG97F+/XfTQVYzlR2m7nPjnwVUgATcTCMEaMvw== dependencies: - "@babel/runtime" "^7.23.9" - "@emotion/cache" "^11.13.5" - csstype "^3.1.3" + "@babel/runtime" "^7.21.0" + "@emotion/cache" "^11.11.0" + csstype "^3.1.2" prop-types "^15.8.1" -"@mui/system@^5.16.14": - version "5.16.14" - resolved "https://registry.yarnpkg.com/@mui/system/-/system-5.16.14.tgz#92765ba01a3d1f8ee4967248cb00077d7aed225b" - integrity sha512-KBxMwCb8mSIABnKvoGbvM33XHyT+sN0BzEBG+rsSc0lLQGzs7127KWkCA6/H8h6LZ00XpBEME5MAj8mZLiQ1tw== - dependencies: - "@babel/runtime" "^7.23.9" - "@mui/private-theming" "^5.16.14" - "@mui/styled-engine" "^5.16.14" - "@mui/types" "^7.2.15" - "@mui/utils" "^5.16.14" - clsx "^2.1.0" - csstype "^3.1.3" +"@mui/system@^5.14.0": + version "5.14.0" + resolved "https://registry.npmjs.org/@mui/system/-/system-5.14.0.tgz#b7eeb799ae67d27b887fec4917ebd5e2be5a2faa" + integrity sha512-0HZGkX8miJbiNw+rjlZ9l0Cfkz1bSqfSHQH0EH9J+nx0aAm5cBleg9piOlLdCNIWGgecCqsw4x62erGrGjjcJg== + dependencies: + "@babel/runtime" "^7.22.5" + "@mui/private-theming" "^5.13.7" + "@mui/styled-engine" "^5.13.2" + "@mui/types" "^7.2.4" + "@mui/utils" "^5.13.7" + clsx "^1.2.1" + csstype "^3.1.2" prop-types "^15.8.1" -"@mui/types@^7.2.15": - version "7.2.21" - resolved "https://registry.yarnpkg.com/@mui/types/-/types-7.2.21.tgz#63f50874eda8e4a021a69aaa8ba9597369befda2" - integrity sha512-6HstngiUxNqLU+/DPqlUJDIPbzUBxIVHb1MmXP0eTWDIROiCR2viugXpEif0PPe2mLqqakPzzRClWAnK+8UJww== +"@mui/types@^7.2.4": + version "7.2.4" + resolved "https://registry.npmjs.org/@mui/types/-/types-7.2.4.tgz#b6fade19323b754c5c6de679a38f068fd50b9328" + integrity sha512-LBcwa8rN84bKF+f5sDyku42w1NTxaPgPyYKODsh01U1fVstTClbUoSA96oyRBnSNyEiAVjKm6Gwx9vjR+xyqHA== -"@mui/utils@^5.16.14": - version "5.16.14" - resolved "https://registry.yarnpkg.com/@mui/utils/-/utils-5.16.14.tgz#7217e876a5092cd04c184b34bca348e0befaef8c" - integrity sha512-wn1QZkRzSmeXD1IguBVvJJHV3s6rxJrfb6YuC9Kk6Noh9f8Fb54nUs5JRkKm+BOerRhj5fLg05Dhx/H3Ofb8Mg== +"@mui/utils@^5.13.7": + version "5.13.7" + resolved "https://registry.npmjs.org/@mui/utils/-/utils-5.13.7.tgz#7e6a8336e05eb2642667a5c02eb605351e27ec20" + integrity sha512-/3BLptG/q0u36eYED7Nhf4fKXmcKb6LjjT7ZMwhZIZSdSxVqDqSTmATW3a56n3KEPQUXCU9TpxAfCBQhs6brVA== dependencies: - "@babel/runtime" "^7.23.9" - "@mui/types" "^7.2.15" - "@types/prop-types" "^15.7.12" - clsx "^2.1.1" + "@babel/runtime" "^7.22.5" + "@types/prop-types" "^15.7.5" + "@types/react-is" "^18.2.1" prop-types "^15.8.1" - react-is "^19.0.0" + react-is "^18.2.0" "@popperjs/core@^2.11.8": version "2.11.8" @@ -1040,16 +1015,11 @@ resolved "https://registry.npmjs.org/@types/prismjs/-/prismjs-1.26.0.tgz" integrity sha512-ZTaqn/qSqUuAq1YwvOFQfVW1AR/oQJlLSZVustdjwI+GZ8kr0MSHBj0tsXPW1EqHubx50gtBEjbPGsdZwQwCjQ== -"@types/prop-types@*": +"@types/prop-types@*", "@types/prop-types@^15.7.5": version "15.7.5" resolved "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz#5f19d2b85a98e9558036f6a3cacc8819420f05cf" integrity sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w== -"@types/prop-types@^15.7.12": - version "15.7.14" - resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.14.tgz#1433419d73b2a7ebfc6918dcefd2ec0d5cd698f2" - integrity sha512-gNMvNH49DJ7OJYv+KAKn0Xp45p8PLl6zo2YnvDIbTd4J6MER2BmWN49TG7n9LvkyihINxeKW8+3bfS2yDC9dzQ== - "@types/react-dom@^18.3.0": version "18.3.0" resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.3.0.tgz#0cbc818755d87066ab6ca74fbedb2547d74a82b0" @@ -1057,10 +1027,19 @@ dependencies: "@types/react" "*" -"@types/react-transition-group@^4.4.10": - version "4.4.12" - resolved "https://registry.yarnpkg.com/@types/react-transition-group/-/react-transition-group-4.4.12.tgz#b5d76568485b02a307238270bfe96cb51ee2a044" - integrity sha512-8TV6R3h2j7a91c+1DXdJi3Syo69zzIZbz7Lg5tORM5LEJG7X/E6a1V3drRyBRZq7/utz7A+c4OgYLiLcYGHG6w== +"@types/react-is@^18.2.1": + version "18.2.1" + resolved "https://registry.npmjs.org/@types/react-is/-/react-is-18.2.1.tgz#61d01c2a6fc089a53520c0b66996d458fdc46863" + integrity sha512-wyUkmaaSZEzFZivD8F2ftSyAfk6L+DfFliVj/mYdOXbVjRcS87fQJLTnhk6dRZPuJjI+9g6RZJO4PNCngUrmyw== + dependencies: + "@types/react" "*" + +"@types/react-transition-group@^4.4.6": + version "4.4.6" + resolved "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.6.tgz#18187bcda5281f8e10dfc48f0943e2fdf4f75e2e" + integrity sha512-VnCdSxfcm08KjsJVQcfBmhEQAPnLB8G08hAxn39azX1qYBQ/5RVQuoHuKIcfKOdncuaUvEpFKFzEvbtIMsfVew== + dependencies: + "@types/react" "*" "@types/react@*": version "18.2.15" @@ -1283,16 +1262,16 @@ clone@~2.1.2: resolved "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz" integrity sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18= +clsx@^1.2.1: + version "1.2.1" + resolved "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz#0ddc4a20a549b59c93a4116bb26f5294ca17dc12" + integrity sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg== + clsx@^2.0.0: version "2.1.0" resolved "https://registry.npmjs.org/clsx/-/clsx-2.1.0.tgz#e851283bcb5c80ee7608db18487433f7b23f77cb" integrity sha512-m3iNNWpd9rl3jvvcBnu70ylMdrXt8Vlq4HYadnU5fwcOtvkSQWPmj7amUcDT2qYI7risszBjI5AUIUox9D16pg== -clsx@^2.1.0, clsx@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/clsx/-/clsx-2.1.1.tgz#eed397c9fd8bd882bfb18deab7102049a2f32999" - integrity sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA== - color-convert@^1.9.0: version "1.9.3" resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" @@ -1369,16 +1348,11 @@ csstype@^2.5.7: resolved "https://registry.npmjs.org/csstype/-/csstype-2.6.21.tgz#2efb85b7cc55c80017c66a5ad7cbd931fda3a90e" integrity sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w== -csstype@^3.0.2: +csstype@^3.0.2, csstype@^3.1.2: version "3.1.2" resolved "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz#1d4bf9d572f11c14031f0436e1c10bc1f571f50b" integrity sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ== -csstype@^3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.3.tgz#d80ff294d114fb0e6ac500fbf85b60137d7eff81" - integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw== - "d3-array@1 - 3", "d3-array@2 - 3", "d3-array@2.10.0 - 3", "d3-array@2.5.0 - 3", d3-array@3: version "3.2.0" resolved "https://registry.npmjs.org/d3-array/-/d3-array-3.2.0.tgz" @@ -2184,16 +2158,11 @@ react-is@^16.13.1, react-is@^16.7.0: resolved "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== -react-is@^18.0.0: +react-is@^18.0.0, react-is@^18.2.0: version "18.2.0" resolved "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz" integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== -react-is@^19.0.0: - version "19.0.0" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-19.0.0.tgz#d6669fd389ff022a9684f708cf6fa4962d1fea7a" - integrity sha512-H91OHcwjZsbq3ClIDHMzBShc1rotbfACdWENsmEf0IFvZ3FgGPtdHMcsv45bQ1hAbgdfiA8SnxTKfDS+x/8m2g== - react-lifecycles-compat@^3.0.4: version "3.0.4" resolved "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz" From 46528048907d41c341efb898b61301ab1555bfcd Mon Sep 17 00:00:00 2001 From: Dan Marshall Date: Thu, 9 Jan 2025 23:33:01 -0800 Subject: [PATCH 20/35] don't re-render menuitem --- src/views/EncodingShelfCard.tsx | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/src/views/EncodingShelfCard.tsx b/src/views/EncodingShelfCard.tsx index 38da84e..fd8f4ef 100644 --- a/src/views/EncodingShelfCard.tsx +++ b/src/views/EncodingShelfCard.tsx @@ -548,19 +548,15 @@ export const EncodingShelfCard: FC = function ({ chartId renderValue={(value: string) => { const t = getChartTemplate(value); return ( - - {/* Visualization Type */} - - - {typeof t?.icon == 'string' ? : t?.icon} - - {t?.chart} - - +
      + + {typeof t?.icon == 'string' ? : t?.icon} + + {t?.chart} +
      ) }} onChange={(event) => { handleUpdateChartType(event.target.value) }}> - {Object.entries(CHART_TEMPLATES).map(([group, templates]) => { return [ {group}, @@ -574,7 +570,6 @@ export const EncodingShelfCard: FC = function ({ chartId )) ] })} -
      From 11eef702d0e190c1b3435bd4672f334f5753dbc9 Mon Sep 17 00:00:00 2001 From: Dan Marshall Date: Thu, 9 Jan 2025 23:48:47 -0800 Subject: [PATCH 21/35] use text.secondary --- src/views/ConceptShelf.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/views/ConceptShelf.tsx b/src/views/ConceptShelf.tsx index 75c58f7..490edcc 100644 --- a/src/views/ConceptShelf.tsx +++ b/src/views/ConceptShelf.tsx @@ -143,7 +143,7 @@ export const ConceptShelf: FC = function ConceptShelf() {
      {groupNames.map(gp => [ - + {gp} , From fabc73bac9658d6a4a0e478bf5dd512112418746 Mon Sep 17 00:00:00 2001 From: Dan Marshall Date: Fri, 10 Jan 2025 00:28:07 -0800 Subject: [PATCH 22/35] use text.secondary --- src/views/EncodingShelfCard.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/views/EncodingShelfCard.tsx b/src/views/EncodingShelfCard.tsx index fd8f4ef..52554eb 100644 --- a/src/views/EncodingShelfCard.tsx +++ b/src/views/EncodingShelfCard.tsx @@ -209,7 +209,7 @@ export const EncodingShelfCard: FC = function ({ chartId .map(([group, channelList]) => { let component = - {group} + {group} {channelList.filter(channel => Object.keys(encodingMap).includes(channel)) .map(channel => )} From 1a6e697c2d278c3cce789160233c429c30d36538 Mon Sep 17 00:00:00 2001 From: Dan Marshall Date: Fri, 10 Jan 2025 08:51:41 -0800 Subject: [PATCH 23/35] wrap ToggleButton in Tooltip for better accessibility --- src/views/SelectableDataGrid.tsx | 32 +++++++++++++++++--------------- 1 file changed, 17 insertions(+), 15 deletions(-) diff --git a/src/views/SelectableDataGrid.tsx b/src/views/SelectableDataGrid.tsx index 375e437..18ca5cd 100644 --- a/src/views/SelectableDataGrid.tsx +++ b/src/views/SelectableDataGrid.tsx @@ -433,21 +433,23 @@ export const SelectableDataGrid: React.FC = ({ rows, ta - { - if (footerActionExpand) { - setSearchText(""); - } - setFooterActionExpand(!footerActionExpand); - }} - > - {footerActionExpand ? : } - + + { + if (footerActionExpand) { + setSearchText(""); + } + setFooterActionExpand(!footerActionExpand); + }} + > + {footerActionExpand ? : } + + {/* */} From d16a59885273cd795df9587baf192516ea4a5b9b Mon Sep 17 00:00:00 2001 From: Dan Marshall Date: Fri, 10 Jan 2025 09:18:05 -0800 Subject: [PATCH 24/35] adjust opacity --- src/views/ConceptCard.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/views/ConceptCard.tsx b/src/views/ConceptCard.tsx index 44b6ab1..3d976f8 100644 --- a/src/views/ConceptCard.tsx +++ b/src/views/ConceptCard.tsx @@ -130,7 +130,7 @@ export const ConceptCard: FC = function ConceptCard({ field }) - let opacity = isDragging ? 0.3 :(notInFocusedTable ? 0.4 : 1); + let opacity = isDragging ? 0.3 :(notInFocusedTable ? 0.65 : 1); let fontStyle = "inherit"; let border = "hidden"; @@ -278,7 +278,7 @@ export const ConceptCard: FC = function ConceptCard({ field }) {typeIconMenu} {fieldNameEntry} - {field.semanticType ? -- {field.semanticType} : ""} + {field.semanticType ? -- {field.semanticType} : ""} {/* {field.source == "custom" ? exampleToComponent(field.domain.values, 3) : ""} */} {cardHeaderOptions} From f1e94dedeebea122e7f6a94b138b36d9fb4cd045 Mon Sep 17 00:00:00 2001 From: Dan Marshall Date: Fri, 10 Jan 2025 11:10:30 -0800 Subject: [PATCH 25/35] update placeholder text in TextField --- src/views/EncodingBox.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/views/EncodingBox.tsx b/src/views/EncodingBox.tsx index 0d944c8..ecd40d0 100644 --- a/src/views/EncodingBox.tsx +++ b/src/views/EncodingBox.tsx @@ -594,14 +594,14 @@ export const EncodingBox: FC = function EncodingBox({ channel, }} freeSolo renderInput={(params) => ( - )} /> const filter = createFilterOptions(); // when there is no field added, allow users to directly type concepts here, and it will be created on the fly. - let encContent = field == undefined ? + const encContent = field == undefined ? (encoding.aggregate == 'count' ? [ aggregateDisplay ] : [ normalizedDisplay, aggregateDisplay, From 4bf1ee78c1c4e5c6f24a3d780f3bd72912c5b147 Mon Sep 17 00:00:00 2001 From: Dan Marshall Date: Fri, 10 Jan 2025 11:21:10 -0800 Subject: [PATCH 26/35] wrap Auto-fix IconButton in Tooltip for improved accessibility --- src/views/SelectableDataGrid.tsx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/views/SelectableDataGrid.tsx b/src/views/SelectableDataGrid.tsx index 18ca5cd..2e2c4f0 100644 --- a/src/views/SelectableDataGrid.tsx +++ b/src/views/SelectableDataGrid.tsx @@ -275,6 +275,7 @@ export const SelectableDataGrid: React.FC = ({ rows, ta */} + { console.log(`[fyi] just sent request to process load data`); @@ -312,7 +313,7 @@ export const SelectableDataGrid: React.FC = ({ rows, ta }); } } - > + > From 8feffdb606d56fccdee8734f363291253a43a7b5 Mon Sep 17 00:00:00 2001 From: Dan Marshall Date: Fri, 10 Jan 2025 12:11:02 -0800 Subject: [PATCH 27/35] add label to Visualization Type, normalize label color --- src/views/EncodingShelfCard.tsx | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/views/EncodingShelfCard.tsx b/src/views/EncodingShelfCard.tsx index 52554eb..c07567d 100644 --- a/src/views/EncodingShelfCard.tsx +++ b/src/views/EncodingShelfCard.tsx @@ -539,12 +539,21 @@ export const EncodingShelfCard: FC = function ({ chartId + Visualization Type } onChange={(event: SelectChangeEvent) => { @@ -135,7 +136,7 @@ export const ModelSelectionButton: React.FC<{}> = ({ }) => { - {newKeyType == "openai" ? N/A : N/A : { setNewEndpoint(event.target.value); }} @@ -163,6 +164,10 @@ export const ModelSelectionButton: React.FC<{}> = ({ }) => { //label={modelExists ? "endpoint and model exists" : ""} {...params} InputProps={{ ...params.InputProps, style: { fontSize: "0.875rem" } }} + inputProps={{ + ...params.inputProps, // Spread params.inputProps to preserve existing functionality + 'aria-label': 'Select or enter a model', // Apply aria-label directly to inputProps + }} size="small" onChange={(event: any) => { setNewModel(event.target.value); }} /> @@ -234,21 +239,19 @@ export const ModelSelectionButton: React.FC<{}> = ({ }) => { let message = status == "unknown" ? "Status unknown, click the status icon to test again." : (testedModels.find(m => m.model === oaiModel.model && m.endpoint === oaiModel.endpoint)?.message || "Unknown error"); - const borderStyle = ['error', 'unknown'].includes(status) ? '1px dashed lightgray' : undefined; + const borderStyle = ['error', 'unknown'].includes(status) ? '1px dashed text.secondary' : undefined; const noBorderStyle = ['error', 'unknown'].includes(status) ? 'none' : undefined; return ( <> { setTempSelectedMode({model: oaiModel.model, endpoint: oaiModel.endpoint}) }} sx={{ cursor: 'pointer'}} > - + {oaiModel.endpoint == 'openai' ? 'openai' : 'azure openai'} @@ -258,37 +261,41 @@ export const ModelSelectionButton: React.FC<{}> = ({ }) => { {oaiModel.key != "" ? - (showKeys ? (oaiModel.key || N/A) : "************") : - N/A + (showKeys ? (oaiModel.key || N/A) : "************") : + N/A } {oaiModel.model} - { testModel(oaiModel.endpoint, oaiModel.key, oaiModel.model) }} - > - {statusIcon} - + + { testModel(oaiModel.endpoint, oaiModel.key, oaiModel.model) }} + > + {statusIcon} + + - { - dispatch(dfActions.removeModel({model: oaiModel.model, endpoint: oaiModel.endpoint})); - if ((tempSelectedModel) - && tempSelectedModel.endpoint == oaiModel.endpoint - && tempSelectedModel.model == oaiModel.model) { - if (oaiModels.length == 0) { - setTempSelectedMode(undefined); - } else { - let chosenModel = oaiModels[oaiModels.length - 1]; - setTempSelectedMode({ - model: chosenModel.model, endpoint: chosenModel.endpoint - }) + + { + dispatch(dfActions.removeModel({model: oaiModel.model, endpoint: oaiModel.endpoint})); + if ((tempSelectedModel) + && tempSelectedModel.endpoint == oaiModel.endpoint + && tempSelectedModel.model == oaiModel.model) { + if (oaiModels.length == 0) { + setTempSelectedMode(undefined); + } else { + let chosenModel = oaiModels[oaiModels.length - 1]; + setTempSelectedMode({ + model: chosenModel.model, endpoint: chosenModel.endpoint + }) + } } - } - }}> - - + }}> + + + {['error', 'unknown'].includes(status) && ( @@ -304,7 +311,7 @@ export const ModelSelectionButton: React.FC<{}> = ({ }) => { > - + {message} From aa4496ca8efddec3f2ea635963bddbe445bb53e2 Mon Sep 17 00:00:00 2001 From: Dan Marshall Date: Fri, 10 Jan 2025 15:05:00 -0800 Subject: [PATCH 30/35] remove unused List import from EncodingShelfCard --- src/views/EncodingShelfCard.tsx | 1 - 1 file changed, 1 deletion(-) diff --git a/src/views/EncodingShelfCard.tsx b/src/views/EncodingShelfCard.tsx index c07567d..57a95b1 100644 --- a/src/views/EncodingShelfCard.tsx +++ b/src/views/EncodingShelfCard.tsx @@ -21,7 +21,6 @@ import { Stack, Card, Chip, - List, } from '@mui/material'; import React from 'react'; From efb7861047f0aeab57027996129ec22eb79ec83b Mon Sep 17 00:00:00 2001 From: Dan Marshall Date: Fri, 10 Jan 2025 15:07:26 -0800 Subject: [PATCH 31/35] undo indent --- src/views/EncodingShelfCard.tsx | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/src/views/EncodingShelfCard.tsx b/src/views/EncodingShelfCard.tsx index 57a95b1..4549b61 100644 --- a/src/views/EncodingShelfCard.tsx +++ b/src/views/EncodingShelfCard.tsx @@ -565,19 +565,19 @@ export const EncodingShelfCard: FC = function ({ chartId ) }} onChange={(event) => { handleUpdateChartType(event.target.value) }}> - {Object.entries(CHART_TEMPLATES).map(([group, templates]) => { - return [ - {group}, - ...templates.map((t, i) => ( - - - {typeof t?.icon == 'string' ? : t?.icon} - - {t.chart} - - )) - ] - })} + {Object.entries(CHART_TEMPLATES).map(([group, templates]) => { + return [ + {group}, + ...templates.map((t, i) => ( + + + {typeof t?.icon == 'string' ? : t?.icon} + + {t.chart} + + )) + ] + })} From 1936bc2f570dea1a50ce8050fdadb2cb011f2c34 Mon Sep 17 00:00:00 2001 From: Dan Marshall Date: Fri, 10 Jan 2025 15:58:08 -0800 Subject: [PATCH 32/35] add tooltip to data type icon in SelectableDataGrid for improved accessibility --- src/views/SelectableDataGrid.tsx | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/views/SelectableDataGrid.tsx b/src/views/SelectableDataGrid.tsx index 2e2c4f0..bb34f81 100644 --- a/src/views/SelectableDataGrid.tsx +++ b/src/views/SelectableDataGrid.tsx @@ -395,9 +395,11 @@ export const SelectableDataGrid: React.FC = ({ rows, ta }} > - - {getIconFromType(columnDef.dataType)} - + + + {getIconFromType(columnDef.dataType)} + + {columnDef.label} From 3a4209e7ebf80fc067fd212df9991f35c316d523 Mon Sep 17 00:00:00 2001 From: Dan Marshall Date: Wed, 22 Jan 2025 18:46:20 -0800 Subject: [PATCH 33/35] rename to Infer Data Type --- src/views/SelectableDataGrid.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/views/SelectableDataGrid.tsx b/src/views/SelectableDataGrid.tsx index bb34f81..89c2640 100644 --- a/src/views/SelectableDataGrid.tsx +++ b/src/views/SelectableDataGrid.tsx @@ -275,7 +275,7 @@ export const SelectableDataGrid: React.FC = ({ rows, ta */} - + { console.log(`[fyi] just sent request to process load data`); From b3fffcb242aa48826fa53d17ffa714b0ec17cc92 Mon Sep 17 00:00:00 2001 From: Dan Marshall Date: Wed, 22 Jan 2025 18:48:22 -0800 Subject: [PATCH 34/35] rename Visualization Type to Chart Type in EncodingShelfCard --- src/views/EncodingShelfCard.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/views/EncodingShelfCard.tsx b/src/views/EncodingShelfCard.tsx index 4549b61..9e8691a 100644 --- a/src/views/EncodingShelfCard.tsx +++ b/src/views/EncodingShelfCard.tsx @@ -546,13 +546,13 @@ export const EncodingShelfCard: FC = function ({ chartId fontSize: "10px", margin: "-2px 0px 0px 4px", }} - >Visualization Type + >Chart Type