mirror of https://github.com/buster-so/buster.git
move utils around
This commit is contained in:
parent
289a57cc10
commit
48f62b14fc
|
@ -21,14 +21,14 @@
|
|||
"@supabase/auth-helpers-react": "^0.5.0",
|
||||
"@supabase/ssr": "^0.5.2",
|
||||
"@supabase/supabase-js": "^2.48.1",
|
||||
"@tanstack/react-query": "^5.66.7",
|
||||
"@tanstack/react-query": "^5.66.9",
|
||||
"@vercel/speed-insights": "^1.2.0",
|
||||
"ahooks": "^3.8.4",
|
||||
"antd": "5.23.3",
|
||||
"antd-style": "^3.7.1",
|
||||
"axios": "^1.7.9",
|
||||
"canvas-confetti": "^1.9.3",
|
||||
"chart.js": "^4.4.7",
|
||||
"chart.js": "^4.4.8",
|
||||
"chartjs": "^0.3.24",
|
||||
"chartjs-adapter-dayjs-4": "^1.0.4",
|
||||
"chartjs-chart-geo": "^4.3.4",
|
||||
|
@ -52,7 +52,7 @@
|
|||
"echarts-stat": "^1.2.0",
|
||||
"email-validator": "^2.0.4",
|
||||
"font-color-contrast": "^11.1.0",
|
||||
"framer-motion": "^12.4.4",
|
||||
"framer-motion": "^12.4.7",
|
||||
"html2canvas": "^1.4.1",
|
||||
"js-cookie": "^3.0.5",
|
||||
"jspdf": "^2.5.2",
|
||||
|
@ -89,11 +89,11 @@
|
|||
"split-pane-react": "^0.1.3",
|
||||
"tailwind-merge": "^3.0.1",
|
||||
"utility-types": "^3.11.0",
|
||||
"uuid": "^11.0.5",
|
||||
"uuid": "^11.1.0",
|
||||
"virtua": "^0.40.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@tailwindcss/postcss": "^4.0.7",
|
||||
"@tailwindcss/postcss": "^4.0.8",
|
||||
"@testing-library/jest-dom": "^6.6.3",
|
||||
"@testing-library/react": "^16.2.0",
|
||||
"@testing-library/user-event": "^14.6.1",
|
||||
|
@ -121,7 +121,7 @@
|
|||
"monaco-editor-webpack-plugin": "^7.1.0",
|
||||
"postcss": "8.5.3",
|
||||
"sass": "^1.83.4",
|
||||
"tailwindcss": "^4.0.7",
|
||||
"tailwindcss": "^4.0.8",
|
||||
"ts-jest": "^29.2.5",
|
||||
"typescript": "^5"
|
||||
},
|
||||
|
@ -3824,54 +3824,44 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@tailwindcss/node": {
|
||||
"version": "4.0.7",
|
||||
"resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.0.7.tgz",
|
||||
"integrity": "sha512-dkFXufkbRB2mu3FPsW5xLAUWJyexpJA+/VtQj18k3SUiJVLdpgzBd1v1gRRcIpEJj7K5KpxBKfOXlZxT3ZZRuA==",
|
||||
"version": "4.0.8",
|
||||
"resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.0.8.tgz",
|
||||
"integrity": "sha512-FKArQpbrbwv08TNT0k7ejYXpF+R8knZFAatNc0acOxbgeqLzwb86r+P3LGOjIeI3Idqe9CVkZrh4GlsJLJKkkw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"enhanced-resolve": "^5.18.1",
|
||||
"jiti": "^2.4.2",
|
||||
"tailwindcss": "4.0.7"
|
||||
}
|
||||
},
|
||||
"node_modules/@tailwindcss/node/node_modules/jiti": {
|
||||
"version": "2.4.2",
|
||||
"resolved": "https://registry.npmjs.org/jiti/-/jiti-2.4.2.tgz",
|
||||
"integrity": "sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"bin": {
|
||||
"jiti": "lib/jiti-cli.mjs"
|
||||
"tailwindcss": "4.0.8"
|
||||
}
|
||||
},
|
||||
"node_modules/@tailwindcss/oxide": {
|
||||
"version": "4.0.7",
|
||||
"resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.0.7.tgz",
|
||||
"integrity": "sha512-yr6w5YMgjy+B+zkJiJtIYGXW+HNYOPfRPtSs+aqLnKwdEzNrGv4ZuJh9hYJ3mcA+HMq/K1rtFV+KsEr65S558g==",
|
||||
"version": "4.0.8",
|
||||
"resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.0.8.tgz",
|
||||
"integrity": "sha512-KfMcuAu/Iw+DcV1e8twrFyr2yN8/ZDC/odIGta4wuuJOGkrkHZbvJvRNIbQNhGh7erZTYV6Ie0IeD6WC9Y8Hcw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">= 10"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"@tailwindcss/oxide-android-arm64": "4.0.7",
|
||||
"@tailwindcss/oxide-darwin-arm64": "4.0.7",
|
||||
"@tailwindcss/oxide-darwin-x64": "4.0.7",
|
||||
"@tailwindcss/oxide-freebsd-x64": "4.0.7",
|
||||
"@tailwindcss/oxide-linux-arm-gnueabihf": "4.0.7",
|
||||
"@tailwindcss/oxide-linux-arm64-gnu": "4.0.7",
|
||||
"@tailwindcss/oxide-linux-arm64-musl": "4.0.7",
|
||||
"@tailwindcss/oxide-linux-x64-gnu": "4.0.7",
|
||||
"@tailwindcss/oxide-linux-x64-musl": "4.0.7",
|
||||
"@tailwindcss/oxide-win32-arm64-msvc": "4.0.7",
|
||||
"@tailwindcss/oxide-win32-x64-msvc": "4.0.7"
|
||||
"@tailwindcss/oxide-android-arm64": "4.0.8",
|
||||
"@tailwindcss/oxide-darwin-arm64": "4.0.8",
|
||||
"@tailwindcss/oxide-darwin-x64": "4.0.8",
|
||||
"@tailwindcss/oxide-freebsd-x64": "4.0.8",
|
||||
"@tailwindcss/oxide-linux-arm-gnueabihf": "4.0.8",
|
||||
"@tailwindcss/oxide-linux-arm64-gnu": "4.0.8",
|
||||
"@tailwindcss/oxide-linux-arm64-musl": "4.0.8",
|
||||
"@tailwindcss/oxide-linux-x64-gnu": "4.0.8",
|
||||
"@tailwindcss/oxide-linux-x64-musl": "4.0.8",
|
||||
"@tailwindcss/oxide-win32-arm64-msvc": "4.0.8",
|
||||
"@tailwindcss/oxide-win32-x64-msvc": "4.0.8"
|
||||
}
|
||||
},
|
||||
"node_modules/@tailwindcss/oxide-android-arm64": {
|
||||
"version": "4.0.7",
|
||||
"resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.0.7.tgz",
|
||||
"integrity": "sha512-5iQXXcAeOHBZy8ASfHFm1k0O/9wR2E3tKh6+P+ilZZbQiMgu+qrnfpBWYPc3FPuQdWiWb73069WT5D+CAfx/tg==",
|
||||
"version": "4.0.8",
|
||||
"resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.0.8.tgz",
|
||||
"integrity": "sha512-We7K79+Sm4mwJHk26Yzu/GAj7C7myemm7PeXvpgMxyxO70SSFSL3uCcqFbz9JA5M5UPkrl7N9fkBe/Y0iazqpA==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
|
@ -3886,9 +3876,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@tailwindcss/oxide-darwin-arm64": {
|
||||
"version": "4.0.7",
|
||||
"resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.0.7.tgz",
|
||||
"integrity": "sha512-7yGZtEc5IgVYylqK/2B0yVqoofk4UAbkn1ygNpIJZyrOhbymsfr8uUFCueTu2fUxmAYIfMZ8waWo2dLg/NgLgg==",
|
||||
"version": "4.0.8",
|
||||
"resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.0.8.tgz",
|
||||
"integrity": "sha512-Lv9Isi2EwkCTG1sRHNDi0uRNN1UGFdEThUAGFrydRmQZnraGLMjN8gahzg2FFnOizDl7LB2TykLUuiw833DSNg==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
|
@ -3903,9 +3893,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@tailwindcss/oxide-darwin-x64": {
|
||||
"version": "4.0.7",
|
||||
"resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.0.7.tgz",
|
||||
"integrity": "sha512-tPQDV20fBjb26yWbPqT1ZSoDChomMCiXTKn4jupMSoMCFyU7+OJvIY1ryjqBuY622dEBJ8LnCDDWsnj1lX9nNQ==",
|
||||
"version": "4.0.8",
|
||||
"resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.0.8.tgz",
|
||||
"integrity": "sha512-fWfywfYIlSWtKoqWTjukTHLWV3ARaBRjXCC2Eo0l6KVpaqGY4c2y8snUjp1xpxUtpqwMvCvFWFaleMoz1Vhzlw==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
|
@ -3920,9 +3910,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@tailwindcss/oxide-freebsd-x64": {
|
||||
"version": "4.0.7",
|
||||
"resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.0.7.tgz",
|
||||
"integrity": "sha512-sZqJpTyTZiknU9LLHuByg5GKTW+u3FqM7q7myequAXxKOpAFiOfXpY710FuMY+gjzSapyRbDXJlsTQtCyiTo5w==",
|
||||
"version": "4.0.8",
|
||||
"resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.0.8.tgz",
|
||||
"integrity": "sha512-SO+dyvjJV9G94bnmq2288Ke0BIdvrbSbvtPLaQdqjqHR83v5L2fWADyFO+1oecHo9Owsk8MxcXh1agGVPIKIqw==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
|
@ -3937,9 +3927,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": {
|
||||
"version": "4.0.7",
|
||||
"resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.0.7.tgz",
|
||||
"integrity": "sha512-PBgvULgeSswjd8cbZ91gdIcIDMdc3TUHV5XemEpxlqt9M8KoydJzkuB/Dt910jYdofOIaTWRL6adG9nJICvU4A==",
|
||||
"version": "4.0.8",
|
||||
"resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.0.8.tgz",
|
||||
"integrity": "sha512-ZSHggWiEblQNV69V0qUK5vuAtHP+I+S2eGrKGJ5lPgwgJeAd6GjLsVBN+Mqn2SPVfYM3BOpS9jX/zVg9RWQVDQ==",
|
||||
"cpu": [
|
||||
"arm"
|
||||
],
|
||||
|
@ -3954,9 +3944,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@tailwindcss/oxide-linux-arm64-gnu": {
|
||||
"version": "4.0.7",
|
||||
"resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.0.7.tgz",
|
||||
"integrity": "sha512-By/a2yeh+e9b+C67F88ndSwVJl2A3tcUDb29FbedDi+DZ4Mr07Oqw9Y1DrDrtHIDhIZ3bmmiL1dkH2YxrtV+zw==",
|
||||
"version": "4.0.8",
|
||||
"resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.0.8.tgz",
|
||||
"integrity": "sha512-xWpr6M0OZLDNsr7+bQz+3X7zcnDJZJ1N9gtBWCtfhkEtDjjxYEp+Lr5L5nc/yXlL4MyCHnn0uonGVXy3fhxaVA==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
|
@ -3971,9 +3961,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@tailwindcss/oxide-linux-arm64-musl": {
|
||||
"version": "4.0.7",
|
||||
"resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.0.7.tgz",
|
||||
"integrity": "sha512-WHYs3cpPEJb/ccyT20NOzopYQkl7JKncNBUbb77YFlwlXMVJLLV3nrXQKhr7DmZxz2ZXqjyUwsj2rdzd9stYdw==",
|
||||
"version": "4.0.8",
|
||||
"resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.0.8.tgz",
|
||||
"integrity": "sha512-5tz2IL7LN58ssGEq7h/staD7pu/izF/KeMWdlJ86WDe2Ah46LF3ET6ZGKTr5eZMrnEA0M9cVFuSPprKRHNgjeg==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
|
@ -3988,9 +3978,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@tailwindcss/oxide-linux-x64-gnu": {
|
||||
"version": "4.0.7",
|
||||
"resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.0.7.tgz",
|
||||
"integrity": "sha512-7bP1UyuX9kFxbOwkeIJhBZNevKYPXB6xZI37v09fqi6rqRJR8elybwjMUHm54GVP+UTtJ14ueB1K54Dy1tIO6w==",
|
||||
"version": "4.0.8",
|
||||
"resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.0.8.tgz",
|
||||
"integrity": "sha512-KSzMkhyrxAQyY2o194NKVKU9j/c+NFSoMvnHWFaNHKi3P1lb+Vq1UC19tLHrmxSkKapcMMu69D7+G1+FVGNDXQ==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
|
@ -4005,9 +3995,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@tailwindcss/oxide-linux-x64-musl": {
|
||||
"version": "4.0.7",
|
||||
"resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.0.7.tgz",
|
||||
"integrity": "sha512-gBQIV8nL/LuhARNGeroqzXymMzzW5wQzqlteVqOVoqwEfpHOP3GMird5pGFbnpY+NP0fOlsZGrxxOPQ4W/84bQ==",
|
||||
"version": "4.0.8",
|
||||
"resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.0.8.tgz",
|
||||
"integrity": "sha512-yFYKG5UtHTRimjtqxUWXBgI4Tc6NJe3USjRIVdlTczpLRxq/SFwgzGl5JbatCxgSRDPBFwRrNPxq+ukfQFGdrw==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
|
@ -4022,9 +4012,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@tailwindcss/oxide-win32-arm64-msvc": {
|
||||
"version": "4.0.7",
|
||||
"resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.0.7.tgz",
|
||||
"integrity": "sha512-aH530NFfx0kpQpvYMfWoeG03zGnRCMVlQG8do/5XeahYydz+6SIBxA1tl/cyITSJyWZHyVt6GVNkXeAD30v0Xg==",
|
||||
"version": "4.0.8",
|
||||
"resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.0.8.tgz",
|
||||
"integrity": "sha512-tndGujmCSba85cRCnQzXgpA2jx5gXimyspsUYae5jlPyLRG0RjXbDshFKOheVXU4TLflo7FSG8EHCBJ0EHTKdQ==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
|
@ -4039,9 +4029,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@tailwindcss/oxide-win32-x64-msvc": {
|
||||
"version": "4.0.7",
|
||||
"resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.0.7.tgz",
|
||||
"integrity": "sha512-8Cva6bbJN7ZJx320k7vxGGdU0ewmpfS5A4PudyzUuofdi8MgeINuiiWiPQ0VZCda/GX88K6qp+6UpDZNVr8HMQ==",
|
||||
"version": "4.0.8",
|
||||
"resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.0.8.tgz",
|
||||
"integrity": "sha512-T77jroAc0p4EHVVgTUiNeFn6Nj3jtD3IeNId2X+0k+N1XxfNipy81BEkYErpKLiOkNhpNFjPee8/ZVas29b2OQ==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
|
@ -4056,18 +4046,18 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@tailwindcss/postcss": {
|
||||
"version": "4.0.7",
|
||||
"resolved": "https://registry.npmjs.org/@tailwindcss/postcss/-/postcss-4.0.7.tgz",
|
||||
"integrity": "sha512-zXcKs1uGssVDlnsQ+iwrkul5GPKvsXPynGCuk/eXLx3DVhHlQKMpA6tXN2oO28x2ki1xRBTfadKiHy2taVvp7g==",
|
||||
"version": "4.0.8",
|
||||
"resolved": "https://registry.npmjs.org/@tailwindcss/postcss/-/postcss-4.0.8.tgz",
|
||||
"integrity": "sha512-SUwlrXjn1ycmUbA0o0n3Y0LqlXqxN5R8HR+ti+OBbRS79wl2seDmiypEs3xJCuQXe07ol81s1AmRMitBmPveJA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@alloc/quick-lru": "^5.2.0",
|
||||
"@tailwindcss/node": "4.0.7",
|
||||
"@tailwindcss/oxide": "4.0.7",
|
||||
"@tailwindcss/node": "4.0.8",
|
||||
"@tailwindcss/oxide": "4.0.8",
|
||||
"lightningcss": "^1.29.1",
|
||||
"postcss": "^8.4.41",
|
||||
"tailwindcss": "4.0.7"
|
||||
"tailwindcss": "4.0.8"
|
||||
}
|
||||
},
|
||||
"node_modules/@tanstack/query-core": {
|
||||
|
@ -4081,9 +4071,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@tanstack/react-query": {
|
||||
"version": "5.66.7",
|
||||
"resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-5.66.7.tgz",
|
||||
"integrity": "sha512-qd3q/tUpF2K1xItfPZddk1k/8pSXnovg41XyCqJgPoyYEirMBtB0sVEVVQ/CsAOngzgWtBPXimVf4q4kM9uO6A==",
|
||||
"version": "5.66.9",
|
||||
"resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-5.66.9.tgz",
|
||||
"integrity": "sha512-NRI02PHJsP5y2gAuWKP+awamTIBFBSKMnO6UVzi03GTclmHHHInH5UzVgzi5tpu4+FmGfsdT7Umqegobtsp23A==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@tanstack/query-core": "5.66.4"
|
||||
|
@ -6454,9 +6444,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/chart.js": {
|
||||
"version": "4.4.7",
|
||||
"resolved": "https://registry.npmjs.org/chart.js/-/chart.js-4.4.7.tgz",
|
||||
"integrity": "sha512-pwkcKfdzTMAU/+jNosKhNL2bHtJc/sSmYgVbuGTEDhzkrhmyihmP7vUc/5ZK9WopidMDHNe3Wm7jOd/WhuHWuw==",
|
||||
"version": "4.4.8",
|
||||
"resolved": "https://registry.npmjs.org/chart.js/-/chart.js-4.4.8.tgz",
|
||||
"integrity": "sha512-IkGZlVpXP+83QpMm4uxEiGqSI7jFizwVtF3+n5Pc3k7sMO+tkd0qxh2OzLhenM0K80xtmAONWGBn082EiBQSDA==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@kurkle/color": "^0.3.0"
|
||||
|
@ -9369,9 +9359,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/framer-motion": {
|
||||
"version": "12.4.5",
|
||||
"resolved": "https://registry.npmjs.org/framer-motion/-/framer-motion-12.4.5.tgz",
|
||||
"integrity": "sha512-9+8wglyIJFeUpVg4U8Ohvoo5x7zmvRqawWXhEUThcYdwL/5A1/OkLvQo68Zz5taUE11HKG/Ex+LPaN2+fMkRdA==",
|
||||
"version": "12.4.7",
|
||||
"resolved": "https://registry.npmjs.org/framer-motion/-/framer-motion-12.4.7.tgz",
|
||||
"integrity": "sha512-VhrcbtcAMXfxlrjeHPpWVu2+mkcoR31e02aNSR7OUS/hZAciKa8q6o3YN2mA1h+jjscRsSyKvX6E1CiY/7OLMw==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"motion-dom": "^12.4.5",
|
||||
|
@ -12096,6 +12086,16 @@
|
|||
"url": "https://github.com/chalk/supports-color?sponsor=1"
|
||||
}
|
||||
},
|
||||
"node_modules/jiti": {
|
||||
"version": "2.4.2",
|
||||
"resolved": "https://registry.npmjs.org/jiti/-/jiti-2.4.2.tgz",
|
||||
"integrity": "sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"bin": {
|
||||
"jiti": "lib/jiti-cli.mjs"
|
||||
}
|
||||
},
|
||||
"node_modules/jose": {
|
||||
"version": "4.15.9",
|
||||
"resolved": "https://registry.npmjs.org/jose/-/jose-4.15.9.tgz",
|
||||
|
@ -18081,9 +18081,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/tailwindcss": {
|
||||
"version": "4.0.7",
|
||||
"resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.0.7.tgz",
|
||||
"integrity": "sha512-yH5bPPyapavo7L+547h3c4jcBXcrKwybQRjwdEIVAd9iXRvy/3T1CC6XSQEgZtRySjKfqvo3Cc0ZF1DTheuIdA==",
|
||||
"version": "4.0.8",
|
||||
"resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.0.8.tgz",
|
||||
"integrity": "sha512-Me7N5CKR+D2A1xdWA5t5+kjjT7bwnxZOE6/yDI/ixJdJokszsn2n++mdU5yJwrsTpqFX2B9ZNMBJDwcqk9C9lw==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
|
@ -19386,9 +19386,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/uuid": {
|
||||
"version": "11.0.5",
|
||||
"resolved": "https://registry.npmjs.org/uuid/-/uuid-11.0.5.tgz",
|
||||
"integrity": "sha512-508e6IcKLrhxKdBbcA2b4KQZlLVp2+J5UwQ6F7Drckkc5N9ZJwFa4TgWtsww9UG8fGHbm6gbV19TdM5pQ4GaIA==",
|
||||
"version": "11.1.0",
|
||||
"resolved": "https://registry.npmjs.org/uuid/-/uuid-11.1.0.tgz",
|
||||
"integrity": "sha512-0/A9rDy9P7cJ+8w1c9WD9V//9Wj15Ce2MPz8Ri6032usz+NfePxx5AcN3bN+r6ZL6jEo066/yNYB3tn4pQEx+A==",
|
||||
"funding": [
|
||||
"https://github.com/sponsors/broofa",
|
||||
"https://github.com/sponsors/ctavan"
|
||||
|
|
|
@ -28,14 +28,14 @@
|
|||
"@supabase/auth-helpers-react": "^0.5.0",
|
||||
"@supabase/ssr": "^0.5.2",
|
||||
"@supabase/supabase-js": "^2.48.1",
|
||||
"@tanstack/react-query": "^5.66.7",
|
||||
"@tanstack/react-query": "^5.66.9",
|
||||
"@vercel/speed-insights": "^1.2.0",
|
||||
"ahooks": "^3.8.4",
|
||||
"antd": "5.23.3",
|
||||
"antd-style": "^3.7.1",
|
||||
"axios": "^1.7.9",
|
||||
"canvas-confetti": "^1.9.3",
|
||||
"chart.js": "^4.4.7",
|
||||
"chart.js": "^4.4.8",
|
||||
"chartjs": "^0.3.24",
|
||||
"chartjs-adapter-dayjs-4": "^1.0.4",
|
||||
"chartjs-chart-geo": "^4.3.4",
|
||||
|
@ -59,7 +59,7 @@
|
|||
"echarts-stat": "^1.2.0",
|
||||
"email-validator": "^2.0.4",
|
||||
"font-color-contrast": "^11.1.0",
|
||||
"framer-motion": "^12.4.4",
|
||||
"framer-motion": "^12.4.7",
|
||||
"html2canvas": "^1.4.1",
|
||||
"js-cookie": "^3.0.5",
|
||||
"jspdf": "^2.5.2",
|
||||
|
@ -96,11 +96,11 @@
|
|||
"split-pane-react": "^0.1.3",
|
||||
"tailwind-merge": "^3.0.1",
|
||||
"utility-types": "^3.11.0",
|
||||
"uuid": "^11.0.5",
|
||||
"uuid": "^11.1.0",
|
||||
"virtua": "^0.40.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@tailwindcss/postcss": "^4.0.7",
|
||||
"@tailwindcss/postcss": "^4.0.8",
|
||||
"@testing-library/jest-dom": "^6.6.3",
|
||||
"@testing-library/react": "^16.2.0",
|
||||
"@testing-library/user-event": "^14.6.1",
|
||||
|
@ -128,7 +128,7 @@
|
|||
"monaco-editor-webpack-plugin": "^7.1.0",
|
||||
"postcss": "8.5.3",
|
||||
"sass": "^1.83.4",
|
||||
"tailwindcss": "^4.0.7",
|
||||
"tailwindcss": "^4.0.8",
|
||||
"ts-jest": "^29.2.5",
|
||||
"typescript": "^5"
|
||||
},
|
||||
|
|
|
@ -4,7 +4,7 @@ import { QueryClient } from '@tanstack/react-query';
|
|||
import { getListChats, getListChats_server, getChat, getChat_server } from './requests';
|
||||
import type { BusterChatListItem } from '@/api/asset_interfaces';
|
||||
import { queryKeys } from '@/api/query_keys';
|
||||
import { updateChatToIChat } from '@/utils/chat';
|
||||
import { updateChatToIChat } from '@/lib/chat';
|
||||
|
||||
export const useGetListChats = (params?: Parameters<typeof getListChats>[0]) => {
|
||||
const queryFn = useMemoizedFn((): Promise<BusterChatListItem[]> => {
|
||||
|
|
|
@ -23,7 +23,7 @@ import type {
|
|||
GetDatasetGroupPermissionGroupsResponse,
|
||||
GetDatasetGroupUsersResponse
|
||||
} from '../../asset_interfaces';
|
||||
import { timeout } from '@/utils';
|
||||
import { timeout } from '@/lib';
|
||||
import { queryKeys } from '@/api/query_keys';
|
||||
|
||||
export const useListDatasetGroups = () => {
|
||||
|
|
|
@ -11,7 +11,7 @@ import type { InferBusterSocketResponseData } from './types';
|
|||
import { useBusterWebSocket } from '@/context/BusterWebSocket';
|
||||
import { useEffect, useMemo, useRef } from 'react';
|
||||
import { useSocketQueryOn } from './useSocketQueryOn';
|
||||
import { timeout } from '@/utils';
|
||||
import { timeout } from '@/lib';
|
||||
import { useMemoizedFn } from 'ahooks';
|
||||
|
||||
export const useSocketQueryEmitOn = <
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import { ShareAssetType, VerificationStatus, BusterChatListItem } from '@/api/asset_interfaces';
|
||||
import { makeHumanReadble, formatDate } from '@/utils';
|
||||
import { makeHumanReadble, formatDate } from '@/lib';
|
||||
import React, { memo, useMemo, useRef, useState } from 'react';
|
||||
import { StatusBadgeIndicator, getShareStatus } from '../../../../components/features/Lists';
|
||||
import { BusterUserAvatar, Text } from '@/components/ui';
|
||||
|
|
|
@ -5,7 +5,7 @@ import { Button, Input } from 'antd';
|
|||
import { Title, Text } from '@/components/ui';
|
||||
import { AnimatePresence, motion } from 'framer-motion';
|
||||
import { useUserConfigContextSelector } from '@/context/Users';
|
||||
import { inputHasText } from '@/utils';
|
||||
import { inputHasText } from '@/lib';
|
||||
import { useMemoizedFn } from 'ahooks';
|
||||
import { useAppLayoutContextSelector } from '@/context/BusterAppLayout';
|
||||
import { BusterAppRoutes } from '@/routes/busterRoutes/busterAppRoutes';
|
||||
|
|
|
@ -2,7 +2,7 @@ import React, { useMemo } from 'react';
|
|||
import { Button } from 'antd';
|
||||
import type { BusterApiKeyListItem } from '@/api/asset_interfaces';
|
||||
import { AppMaterialIcons } from '@/components/ui';
|
||||
import { formatDate } from '@/utils/date';
|
||||
import { formatDate } from '@/lib/date';
|
||||
import { Text } from '@/components/ui';
|
||||
import { useMemoizedFn } from 'ahooks';
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@ import type { DataSource } from '@/api/asset_interfaces';
|
|||
import { AppMaterialIcons, PulseLoader } from '@/components/ui';
|
||||
import { AppDataSourceIcon } from '@/components/ui';
|
||||
import { useAntToken } from '@/styles/useAntToken';
|
||||
import { formatDate } from '@/utils';
|
||||
import { formatDate } from '@/lib';
|
||||
import { Button, Divider, Dropdown, MenuProps } from 'antd';
|
||||
import React from 'react';
|
||||
import { DataSourceFormContent } from './_DatasourceFormContent';
|
||||
|
|
|
@ -4,7 +4,7 @@ import { Form, Input, InputNumber, Select } from 'antd';
|
|||
import { useKeyPress } from 'ahooks';
|
||||
import { AppSelectTagInput } from '@/components/ui/select/AppSelectTagInput';
|
||||
import { FormWrapper, FormWrapperHandle } from './FormWrapper';
|
||||
import { formatDate } from '@/utils';
|
||||
import { formatDate } from '@/lib';
|
||||
import {
|
||||
DatasourceCreateCredentials,
|
||||
PostgresCreateCredentials
|
||||
|
|
|
@ -8,7 +8,7 @@ import type { DataSource } from '@/api/asset_interfaces';
|
|||
import { AppSelectTagInput } from '@/components/ui/select/AppSelectTagInput';
|
||||
import { Form, Input } from 'antd';
|
||||
import { RuleObject } from 'antd/es/form';
|
||||
import { makeHumanReadble } from '@/utils';
|
||||
import { makeHumanReadble } from '@/lib';
|
||||
|
||||
export const SnowflakeForm: React.FC<{
|
||||
dataSource?: DataSource;
|
||||
|
|
|
@ -4,7 +4,7 @@ import React from 'react';
|
|||
import { SettingsPageHeader } from '../../_components/SettingsPageHeader';
|
||||
import { useUserConfigContextSelector } from '@/context/Users';
|
||||
import { createStyles } from 'antd-style';
|
||||
import { formatDate } from '@/utils/date';
|
||||
import { formatDate } from '@/lib/date';
|
||||
import { Text, Title } from '@/components/ui';
|
||||
import { BusterUserAvatar } from '@/components/ui';
|
||||
import { Card } from 'antd';
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
import React, { useMemo, useState } from 'react';
|
||||
import { Button, Divider, Input, Result } from 'antd';
|
||||
import { User } from '@supabase/auth-js';
|
||||
import { inputHasText, isValidEmail } from '@/utils';
|
||||
import { inputHasText, isValidEmail } from '@/lib';
|
||||
import { useKeyPress, useMemoizedFn } from 'ahooks';
|
||||
import Link from 'next/link';
|
||||
import { BusterRoutes, createBusterRoute } from '@/routes/busterRoutes';
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
'use client';
|
||||
|
||||
import { createBusterRoute, BusterRoutes } from '@/routes';
|
||||
import { isValidEmail, timeout } from '@/utils';
|
||||
import { isValidEmail, timeout } from '@/lib';
|
||||
import { Button, Input, Result } from 'antd';
|
||||
import Link from 'next/link';
|
||||
import React, { useState } from 'react';
|
||||
|
|
|
@ -3,7 +3,7 @@ import { Modal, Button, Divider, Input, InputRef } from 'antd';
|
|||
import { AppMaterialIcons, AppSegmented, asset_typeToIcon, Text } from '@/components/ui';
|
||||
import { BusterList, BusterListColumn, BusterListRow } from '@/components/ui/list';
|
||||
import { useMemoizedFn, useThrottleFn } from 'ahooks';
|
||||
import { boldHighlights, formatDate } from '@/utils';
|
||||
import { boldHighlights, formatDate } from '@/lib';
|
||||
import {
|
||||
type BusterDashboardResponse,
|
||||
type BusterSearchResult,
|
||||
|
|
|
@ -6,7 +6,7 @@ import { AppModal } from '@/components/ui';
|
|||
import { useBusterCollectionIndividualContextSelector } from '@/context/Collections';
|
||||
import { useAppLayoutContextSelector } from '@/context/BusterAppLayout';
|
||||
import { BusterRoutes } from '@/routes';
|
||||
import { inputHasText } from '@/utils';
|
||||
import { inputHasText } from '@/lib';
|
||||
import { useMemoizedFn } from 'ahooks';
|
||||
|
||||
export const NewCollectionModal: React.FC<{
|
||||
|
|
|
@ -4,7 +4,7 @@ import { AppMaterialIcons } from '@/components/ui';
|
|||
import { useMemoizedFn, useMount, useThrottleFn } from 'ahooks';
|
||||
import { useAntToken } from '@/styles/useAntToken';
|
||||
import { useBusterNewChatContextSelector } from '@/context/Chats';
|
||||
import { inputHasText, timeout } from '@/utils';
|
||||
import { inputHasText, timeout } from '@/lib';
|
||||
import { useBusterSearchContextSelector } from '@/context/Search';
|
||||
import type { BusterSearchResult } from '@/api/asset_interfaces';
|
||||
import { useBusterNotifications } from '@/context/BusterNotifications';
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import type { BusterSearchResult } from '@/api/asset_interfaces';
|
||||
import { CircleSpinnerLoader } from '@/components/ui';
|
||||
import { boldHighlights } from '@/utils/element';
|
||||
import { boldHighlights } from '@/lib/element';
|
||||
import { createStyles } from 'antd-style';
|
||||
import React, { useEffect } from 'react';
|
||||
import { motion } from 'framer-motion';
|
||||
|
|
|
@ -18,7 +18,7 @@ import { useBusterDashboardContextSelector } from '@/context/Dashboards';
|
|||
import { useBusterCollectionIndividualContextSelector } from '@/context/Collections';
|
||||
import { useBusterMetricsIndividualContextSelector } from '@/context/Metrics';
|
||||
import { useStyles } from './useStyles';
|
||||
import { inputHasText } from '@/utils/text';
|
||||
import { inputHasText } from '@/lib/text';
|
||||
|
||||
export const ShareMenuContentBody: React.FC<{
|
||||
selectedOptions: ShareMenuTopBarOptions;
|
||||
|
|
|
@ -5,7 +5,7 @@ import { Button, Divider, DatePicker, Input, Space, Switch } from 'antd';
|
|||
import { AppMaterialIcons, PulseLoader } from '@/components/ui';
|
||||
import { useMemoizedFn } from 'ahooks';
|
||||
import { createStyles } from 'antd-style';
|
||||
import { createDayjsDate } from '@/utils/date';
|
||||
import { createDayjsDate } from '@/lib/date';
|
||||
import { useBusterDashboardContextSelector } from '@/context/Dashboards';
|
||||
import { BusterRoutes, createBusterRoute } from '@/routes';
|
||||
import { useBusterCollectionIndividualContextSelector } from '@/context/Collections';
|
||||
|
|
|
@ -6,7 +6,7 @@ import {
|
|||
} from '@/components/ui/charts/interfaces';
|
||||
import type { SingleAxisComponentOption } from 'echarts';
|
||||
import React, { useMemo } from 'react';
|
||||
import { isNumericColumnType, isNumericColumnStyle } from '@/utils';
|
||||
import { isNumericColumnType, isNumericColumnStyle } from '@/lib';
|
||||
import { formatXAxisLabel } from '@/components/ui/charts/commonHelpers';
|
||||
|
||||
export const useXAxisTickOptions = ({
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import { determineFontColorContrast } from '@/utils';
|
||||
import { determineFontColorContrast } from '@/lib';
|
||||
import { DEFAULT_CHART_THEME } from '../../../configColors';
|
||||
import { busterAppStyleConfig } from '@/styles/busterAntDStyleConfig';
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@ import {
|
|||
} from '../../../interfaces';
|
||||
import { getYAxisColumnNames, seriesNameGenerator } from './helpers';
|
||||
import { DEFAULT_BAR_ROUNDNESS } from '@/api/asset_interfaces';
|
||||
import { formatLabel } from '@/utils';
|
||||
import { formatLabel } from '@/lib';
|
||||
import { labelContrastFormatter } from '../useEChartsTheme/buster_light_theme';
|
||||
import { yAxisSimilar } from '@/components/ui/charts/commonHelpers';
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@ import { BarAndLineAxis, ChartEncodes, ComboChartAxis } from '../../../interface
|
|||
import { ColumnSettings } from '../../../interfaces';
|
||||
import { getYAxisColumnNames, seriesNameGenerator } from './helpers';
|
||||
import { DEFAULT_COLUMN_SETTINGS } from '@/api/asset_interfaces';
|
||||
import { formatLabel } from '@/utils';
|
||||
import { formatLabel } from '@/lib';
|
||||
import { createGradient } from './LineChartSeriesBuilder';
|
||||
|
||||
const columnVisualizationToSeriesType: Record<
|
||||
|
|
|
@ -11,7 +11,7 @@ import {
|
|||
ColumnLabelFormat
|
||||
} from '../../../interfaces';
|
||||
import isEmpty from 'lodash/isEmpty';
|
||||
import { formatLabel } from '@/utils';
|
||||
import { formatLabel } from '@/lib';
|
||||
import { graphic } from 'echarts';
|
||||
import set from 'lodash/set';
|
||||
import { getYAxisColumnNames, seriesNameGenerator } from './helpers';
|
||||
|
|
|
@ -6,8 +6,8 @@ import {
|
|||
PieChartAxis
|
||||
} from '../../../interfaces';
|
||||
import { busterAppStyleConfig } from '@/styles/busterAntDStyleConfig';
|
||||
import { DataFrameOperations } from '@/utils/math';
|
||||
import { formatLabel } from '@/utils';
|
||||
import { DataFrameOperations } from '@/lib/math';
|
||||
import { formatLabel } from '@/lib';
|
||||
import { DatasetOption, extractFieldsFromChain } from '../../../chartHooks';
|
||||
|
||||
import busterLightTheme, { labelContrastFormatter } from '../useEChartsTheme/buster_light_theme';
|
||||
|
|
|
@ -3,7 +3,7 @@ import {
|
|||
ColumnLabelFormat,
|
||||
IColumnLabelFormat
|
||||
} from '@/components/ui/charts/interfaces';
|
||||
import { formatLabel } from '@/utils';
|
||||
import { formatLabel } from '@/lib';
|
||||
import type { SeriesOption, MarkLineComponentOption } from 'echarts';
|
||||
import { useMemo } from 'react';
|
||||
import { extractFieldsFromChain } from '../../../chartHooks';
|
||||
|
|
|
@ -11,7 +11,7 @@ import {
|
|||
IColumnLabelFormat,
|
||||
Trendline
|
||||
} from '@/components/ui/charts/interfaces';
|
||||
import { formatLabel } from '@/utils';
|
||||
import { formatLabel } from '@/lib';
|
||||
import { DATASET_IDS } from '../../../chartHooks';
|
||||
import type { TrendlineDataset } from '../../../chartHooks';
|
||||
import busterLightTheme from '../useEChartsTheme/buster_light_theme';
|
||||
|
|
|
@ -3,7 +3,7 @@ import { formatChartLabelDelimiter, formatChartValueDelimiter } from '../../../c
|
|||
import React, { useMemo } from 'react';
|
||||
import { TooltipFormatterParams } from './interfaces';
|
||||
import { busterAppStyleConfig } from '@/styles';
|
||||
import { formatLabel } from '@/utils';
|
||||
import { formatLabel } from '@/lib';
|
||||
import { appendToKeyValueChain, extractFieldsFromChain } from '../../../chartHooks';
|
||||
import last from 'lodash/last';
|
||||
import type { ITooltipItem } from '../../../BusterChartTooltip/interfaces';
|
||||
|
|
|
@ -3,7 +3,7 @@ import { FontOptions, OutLabelsOptions } from './OutLabelsOptions';
|
|||
import OutLabelsContext from './OutLabelsContext';
|
||||
import { ChartArea, FontSpec } from 'chart.js';
|
||||
import { defaults } from 'chart.js';
|
||||
import { determineFontColorContrast } from '@/utils';
|
||||
import { determineFontColorContrast } from '@/lib';
|
||||
|
||||
// Same as options but we make sure we have defaults
|
||||
//
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import { determineFontColorContrast, formatLabel } from '@/utils';
|
||||
import { determineFontColorContrast, formatLabel } from '@/lib';
|
||||
import type { Context } from 'chartjs-plugin-datalabels';
|
||||
import { formatChartLabelDelimiter } from '../../commonHelpers';
|
||||
import { extractFieldsFromChain, appendToKeyValueChain } from '../../chartHooks';
|
||||
|
|
|
@ -4,8 +4,8 @@ import type { ChartType as ChartJSChartType } from 'chart.js';
|
|||
import type { DeepPartial } from 'utility-types';
|
||||
import type { PluginChartOptions } from 'chart.js';
|
||||
import { AnnotationPluginOptions } from 'chartjs-plugin-annotation';
|
||||
import { ArrayOperations } from '@/utils/math';
|
||||
import { formatLabel } from '@/utils/columnFormatter';
|
||||
import { ArrayOperations } from '@/lib/math';
|
||||
import { formatLabel } from '@/lib/columnFormatter';
|
||||
import { busterAppStyleConfig } from '@/styles/busterAntDStyleConfig';
|
||||
import { getPieInnerLabelTitle } from '../../../commonHelpers';
|
||||
import { ChartJSOrUndefined } from '../../core/types';
|
||||
|
@ -14,7 +14,7 @@ import {
|
|||
BusterChartProps,
|
||||
ColumnLabelFormat
|
||||
} from '@/components/ui/charts/interfaces';
|
||||
import { determineFontColorContrast } from '@/utils/colors';
|
||||
import { determineFontColorContrast } from '@/lib/colors';
|
||||
import { Context } from 'chartjs-plugin-datalabels';
|
||||
const token = busterAppStyleConfig.token!;
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@ import { AnnotationOptions, AnnotationPluginOptions } from 'chartjs-plugin-annot
|
|||
import { useMemo } from 'react';
|
||||
import { ChartOptions, PluginChartOptions } from 'chart.js';
|
||||
import { busterAppStyleConfig } from '@/styles/busterAntDStyleConfig';
|
||||
import { formatLabel } from '@/utils/columnFormatter';
|
||||
import { formatLabel } from '@/lib/columnFormatter';
|
||||
import { yAxisSimilar } from '@/components/ui/charts/commonHelpers';
|
||||
import { extractFieldsFromChain } from '@/components/ui/charts/chartHooks';
|
||||
import { defaultLabelOptionConfig } from '../useChartSpecificOptions/labelOptionConfig';
|
||||
|
|
|
@ -5,7 +5,7 @@ import type { Chart, TooltipItem, ChartType as ChartJSChartType } from 'chart.js
|
|||
import type { ITooltipItem } from '@/components/ui/charts/BusterChartTooltip/interfaces';
|
||||
import { barAndLineTooltipHelper } from './barAndLineTooltipHelper';
|
||||
import { pieTooltipHelper } from './pieTooltipHelper';
|
||||
import { formatLabel } from '@/utils';
|
||||
import { formatLabel } from '@/lib';
|
||||
import { scatterTooltipHelper } from './scatterTooltipHelper';
|
||||
|
||||
export const BusterChartJSTooltip: React.FC<{
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import { extractFieldsFromChain } from '@/components/ui/charts/chartHooks';
|
||||
import type { BusterChartProps } from '@/components/ui/charts/interfaces';
|
||||
import { formatLabel } from '@/utils';
|
||||
import { formatLabel } from '@/lib';
|
||||
import type { Chart } from 'chart.js';
|
||||
|
||||
export const getPercentage = (
|
||||
|
|
|
@ -3,7 +3,7 @@ import { BusterChartConfigProps } from '@/components/ui/charts/interfaces';
|
|||
import type { ChartDataset, TooltipItem, ChartTypeRegistry } from 'chart.js';
|
||||
import { appendToKeyValueChain, extractFieldsFromChain } from '@/components/ui/charts/chartHooks';
|
||||
import { formatChartLabel } from '../../../helpers';
|
||||
import { formatLabel } from '@/utils';
|
||||
import { formatLabel } from '@/lib';
|
||||
|
||||
export const scatterTooltipHelper = (
|
||||
datasets: ChartDataset[],
|
||||
|
|
|
@ -14,7 +14,7 @@ import { BusterChartJSTooltip } from './BusterChartJSTooltip';
|
|||
import { busterAppStyleConfig } from '@/styles';
|
||||
import { DatasetOption, extractFieldsFromChain } from '@/components/ui/charts/chartHooks';
|
||||
import React from 'react';
|
||||
import { isNumericColumnType } from '@/utils';
|
||||
import { isNumericColumnType } from '@/lib';
|
||||
|
||||
const token = busterAppStyleConfig.token!;
|
||||
|
||||
|
|
|
@ -13,7 +13,7 @@ import { DeepPartial } from 'utility-types';
|
|||
import type { ScaleChartOptions, Scale, GridLineOptions } from 'chart.js';
|
||||
import { useXAxisTitle } from '@/components/ui/charts/commonHelpers/useXAxisTitle';
|
||||
import { useIsStacked } from './useIsStacked';
|
||||
import { formatLabel, isNumericColumnType } from '@/utils';
|
||||
import { formatLabel, isNumericColumnType } from '@/lib';
|
||||
import isDate from 'lodash/isDate';
|
||||
|
||||
export const useXAxis = ({
|
||||
|
|
|
@ -4,7 +4,7 @@ import { SeriesBuilderProps } from './interfaces';
|
|||
import { extractFieldsFromChain } from '@/components/ui/charts/chartHooks';
|
||||
import { DEFAULT_COLUMN_SETTINGS, ENABLED_DOTS_ON_LINE_SIZE } from '@/api/asset_interfaces';
|
||||
import { barBuilder } from './barSeriesBuilder';
|
||||
import { createDayjsDate } from '@/utils/date';
|
||||
import { createDayjsDate } from '@/lib/date';
|
||||
import { formatChartLabelDelimiter } from '@/components/ui/charts/commonHelpers';
|
||||
import { lineBuilder } from './lineSeriesBuilder';
|
||||
import { ColumnSettings } from '@/components/ui/charts/interfaces';
|
||||
|
|
|
@ -4,7 +4,7 @@ import type { ChartProps } from '../../core';
|
|||
import { SeriesBuilderProps } from './interfaces';
|
||||
import { LabelBuilderProps } from './useSeriesOptions';
|
||||
import { formatChartLabelDelimiter } from '../../../commonHelpers';
|
||||
import { addOpacityToColor, createDayjsDate } from '@/utils';
|
||||
import { addOpacityToColor, createDayjsDate } from '@/lib';
|
||||
import { defaultLabelOptionConfig } from '../useChartSpecificOptions/labelOptionConfig';
|
||||
import { DEFAULT_COLUMN_SETTINGS } from '@/api/asset_interfaces';
|
||||
import type { ColumnSettings } from '@/components/ui/charts/interfaces';
|
||||
|
|
|
@ -3,9 +3,9 @@ import { LabelBuilderProps } from './useSeriesOptions';
|
|||
import { SeriesBuilderProps } from './interfaces';
|
||||
import { ScriptableContext } from 'chart.js';
|
||||
import { DEFAULT_CHART_CONFIG } from '@/api/asset_interfaces';
|
||||
import { addOpacityToColor } from '@/utils/colors';
|
||||
import { isDateColumnType } from '@/utils/messages';
|
||||
import { createDayjsDate } from '@/utils/date';
|
||||
import { addOpacityToColor } from '@/lib/colors';
|
||||
import { isDateColumnType } from '@/lib/messages';
|
||||
import { createDayjsDate } from '@/lib/date';
|
||||
|
||||
export const scatterSeriesBuilder_data = ({
|
||||
selectedDataset,
|
||||
|
|
|
@ -7,7 +7,7 @@ import type {
|
|||
import { AnnotationOptions, AnnotationPluginOptions } from 'chartjs-plugin-annotation';
|
||||
import { useMemo } from 'react';
|
||||
import { defaultLabelOptionConfig } from '../useChartSpecificOptions/labelOptionConfig';
|
||||
import { formatLabel } from '@/utils';
|
||||
import { formatLabel } from '@/lib';
|
||||
import { ChartProps } from '../../core';
|
||||
import { TypeToLabel } from './config';
|
||||
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
import { BusterChartLegendItem } from '@/components/ui/charts/BusterChartLegend';
|
||||
import { BusterChartProps, ShowLegendHeadline } from '@/components/ui/charts/interfaces';
|
||||
import { DataFrameOperations } from '@/utils/math';
|
||||
import { formatLabel } from '@/utils/columnFormatter';
|
||||
import { DataFrameOperations } from '@/lib/math';
|
||||
import { formatLabel } from '@/lib/columnFormatter';
|
||||
import { DatasetOption, extractFieldsFromChain } from '../chartHooks';
|
||||
import { createDayjsDate, getBestDateFormat } from '@/utils/date';
|
||||
import { createDayjsDate, getBestDateFormat } from '@/lib/date';
|
||||
import type { IBusterMetricChartConfig } from '@/api/asset_interfaces';
|
||||
|
||||
export const addLegendHeadlines = (
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import React, { useMemo } from 'react';
|
||||
import { useMount } from 'ahooks';
|
||||
import { formatLabel, JsonDataFrameOperationsSingle, timeout } from '@/utils';
|
||||
import { formatLabel, JsonDataFrameOperationsSingle, timeout } from '@/lib';
|
||||
import { motion, AnimatePresence } from 'framer-motion';
|
||||
import { Title } from '@/components/ui';
|
||||
import { ColumnLabelFormat, MetricChartProps } from '../interfaces';
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
import React, { useCallback } from 'react';
|
||||
import { BusterTableChartConfig } from './interfaces';
|
||||
import { useBusterMetricsIndividualContextSelector } from '@/context/Metrics';
|
||||
import { formatLabel } from '@/utils/columnFormatter';
|
||||
import { formatLabel } from '@/lib/columnFormatter';
|
||||
import isEqual from 'lodash/isEqual';
|
||||
import type { BusterChartPropsBase } from '../interfaces';
|
||||
import { type IBusterMetricChartConfig, DEFAULT_CHART_CONFIG } from '@/api/asset_interfaces';
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
'use client';
|
||||
|
||||
import { BusterChartProps, ChartType, BarSortBy, ColumnLabelFormat } from '../../interfaces';
|
||||
import { createDayjsDate } from '@/utils/date';
|
||||
import { createDayjsDate } from '@/lib/date';
|
||||
import { extractFieldsFromChain, appendToKeyValueChain } from './groupingHelpers';
|
||||
import { DATASET_IDS, GROUPING_SEPARATOR } from './config';
|
||||
import { DatasetOption } from './interfaces';
|
||||
|
|
|
@ -17,7 +17,7 @@ import {
|
|||
createDayjsDate,
|
||||
DataFrameOperations,
|
||||
calculateLinearSlopeByDate
|
||||
} from '@/utils';
|
||||
} from '@/lib';
|
||||
import { extractFieldsFromChain } from './groupingHelpers';
|
||||
import last from 'lodash/last';
|
||||
import { DatasetOption } from './interfaces';
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import { formatLabel } from '@/utils/columnFormatter';
|
||||
import { formatLabel } from '@/lib/columnFormatter';
|
||||
import pick from 'lodash/pick';
|
||||
import isEqual from 'lodash/isEqual';
|
||||
import isNumber from 'lodash/isNumber';
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import { formatLabel } from '@/utils';
|
||||
import { formatLabel } from '@/lib';
|
||||
import isEmpty from 'lodash/isEmpty';
|
||||
import type { ColumnLabelFormat } from '../interfaces';
|
||||
import { extractFieldsFromChain } from '../chartHooks';
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import { useMemo } from 'react';
|
||||
import { BusterChartConfigProps, ChartEncodes } from '../interfaces';
|
||||
import { formatLabel } from '@/utils/columnFormatter';
|
||||
import { formatLabel } from '@/lib/columnFormatter';
|
||||
import { AXIS_TITLE_SEPARATOR } from './axisHelper';
|
||||
import { truncateWithEllipsis } from './titleHelpers';
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import { formatLabel } from '@/utils';
|
||||
import { formatLabel } from '@/lib';
|
||||
import { useMemo } from 'react';
|
||||
import { AXIS_TITLE_SEPARATOR } from '@/components/ui/charts/commonHelpers/axisHelper';
|
||||
import { BusterChartConfigProps } from '../interfaces';
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import { useMemo } from 'react';
|
||||
import { BusterChartConfigProps, ChartEncodes } from '../interfaces';
|
||||
import { formatLabel } from '@/utils/columnFormatter';
|
||||
import { formatLabel } from '@/lib/columnFormatter';
|
||||
import { AXIS_TITLE_SEPARATOR } from '@/components/ui/charts/commonHelpers/axisHelper';
|
||||
import { truncateWithEllipsis } from './titleHelpers';
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import React, { useMemo } from 'react';
|
||||
import { Avatar, AvatarProps } from 'antd';
|
||||
import { getFirstTwoCapitalizedLetters } from '@/utils/text';
|
||||
import { getFirstTwoCapitalizedLetters } from '@/lib/text';
|
||||
import { AppTooltip } from '../tooltip';
|
||||
import type { GroupProps } from 'antd/es/avatar';
|
||||
import { useBusterStylesContext } from '@/context/BusterStyles/BusterStyles';
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import { getNow, isDateAfter, isDateBefore, isDateSame } from '@/utils/date';
|
||||
import { getNow, isDateAfter, isDateBefore, isDateSame } from '@/lib/date';
|
||||
import { useMemo } from 'react';
|
||||
|
||||
type ListItem = {
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
import React, { useMemo, useRef, useState } from 'react';
|
||||
import { Button, Divider, Popover, Select } from 'antd';
|
||||
import { CircleSpinnerLoaderContainer } from '../loaders/CircleSpinnerLoaderContainer';
|
||||
import { timeout } from '@/utils';
|
||||
import { timeout } from '@/lib';
|
||||
import { useMemoizedFn, useMount } from 'ahooks';
|
||||
import { createStyles } from 'antd-style';
|
||||
import isEqual from 'lodash/isEqual';
|
||||
|
@ -12,7 +12,7 @@ const NewColorThemeModal = dynamic(() => import('./NewColorThemeModal'), {
|
|||
ssr: false,
|
||||
loading: () => (
|
||||
<div
|
||||
className="fixed bottom-0 left-0 right-0 top-0 z-10 h-full w-full"
|
||||
className="fixed top-0 right-0 bottom-0 left-0 z-10 h-full w-full"
|
||||
style={{
|
||||
background: `rgba(0, 0, 0, 0.125)`
|
||||
}}>
|
||||
|
|
|
@ -3,7 +3,7 @@ import { ConfigProvider, Select, Tag } from 'antd';
|
|||
import type { SelectProps } from 'antd';
|
||||
import type { CustomTagProps } from 'rc-select/lib/BaseSelect';
|
||||
import { createStyles } from 'antd-style';
|
||||
import { getPredictableItemBasedOnText } from '@/utils';
|
||||
import { getPredictableItemBasedOnText } from '@/lib';
|
||||
import { AppMaterialIcons } from '../icons';
|
||||
import { useMemoizedFn } from 'ahooks';
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import set from 'lodash/set';
|
||||
import clamp from 'lodash/clamp';
|
||||
import { makeHumanReadble } from '@/utils/text';
|
||||
import { makeHumanReadble } from '@/lib/text';
|
||||
|
||||
export const MAX_WIDTH = 950;
|
||||
export const MIN_WIDTH = 100;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import { updateChatToIChat } from '@/utils/chat';
|
||||
import { updateChatToIChat } from '@/lib/chat';
|
||||
import { useSocketQueryEmitOn } from '@/api/buster_socket_query';
|
||||
import { queryKeys } from '@/api/query_keys';
|
||||
import { useQueryClient } from '@tanstack/react-query';
|
||||
|
|
|
@ -6,7 +6,7 @@ import { useMemoizedFn } from 'ahooks';
|
|||
import sample from 'lodash/sample';
|
||||
import last from 'lodash/last';
|
||||
import { useBusterChatContextSelector } from '../ChatProvider';
|
||||
import { timeout } from '@/utils';
|
||||
import { timeout } from '@/lib';
|
||||
import random from 'lodash/random';
|
||||
|
||||
export const useAutoAppendThought = () => {
|
||||
|
|
|
@ -6,7 +6,7 @@ import {
|
|||
ChatEvent_GeneratingResponseMessage,
|
||||
ChatEvent_GeneratingTitle
|
||||
} from '@/api/buster_socket/chats';
|
||||
import { updateChatToIChat } from '@/utils/chat';
|
||||
import { updateChatToIChat } from '@/lib/chat';
|
||||
import { useAutoAppendThought } from './useAutoAppendThought';
|
||||
import { useAppLayoutContextSelector } from '@/context/BusterAppLayout';
|
||||
import { BusterRoutes } from '@/routes';
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import { useBusterNotifications } from '@/context/BusterNotifications';
|
||||
import { useSocketQueryMutation } from '@/api/buster_socket_query';
|
||||
import { timeout } from '@/utils';
|
||||
import { timeout } from '@/lib';
|
||||
import { useMemoizedFn } from 'ahooks';
|
||||
import { queryKeys } from '@/api/query_keys';
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@ import {
|
|||
type SimplifiedColumnType
|
||||
} from '@/api/asset_interfaces';
|
||||
import type { ColumnLabelFormat, IColumnLabelFormat } from '@/components/ui/charts';
|
||||
import { isDateColumnType, isNumericColumnType, simplifyColumnType } from '@/utils/messages';
|
||||
import { isDateColumnType, isNumericColumnType, simplifyColumnType } from '@/lib/messages';
|
||||
|
||||
export const createDefaultColumnLabelFormats = (
|
||||
columnLabelFormats: Record<string, IColumnLabelFormat> | undefined,
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import isEmpty from 'lodash/isEmpty';
|
||||
import { IBusterMetric } from '../interfaces';
|
||||
import { isNumericColumnType } from '@/utils';
|
||||
import { isNumericColumnType } from '@/lib';
|
||||
import { BusterChartConfigProps } from '@/components/ui/charts';
|
||||
import { defaultIBusterMetric } from '../config';
|
||||
import { BusterMetricData } from '@/context/MetricData';
|
||||
|
|
|
@ -5,7 +5,7 @@ import {
|
|||
DEFAULT_COLUMN_SETTINGS,
|
||||
IBusterMetricChartConfig
|
||||
} from '@/api/asset_interfaces';
|
||||
import { getChangedValues } from '@/utils/objects';
|
||||
import { getChangedValues } from '@/lib/objects';
|
||||
import { IBusterMetric } from '../interfaces';
|
||||
import isEqual from 'lodash/isEqual';
|
||||
import {
|
||||
|
|
|
@ -4,7 +4,7 @@ import React, { PropsWithChildren, useLayoutEffect, useRef, useState } from 'rea
|
|||
import { UseSupabaseContextType } from './useSupabaseContext';
|
||||
import { useMemoizedFn } from 'ahooks';
|
||||
import { User } from '@supabase/supabase-js';
|
||||
import { millisecondsFromUnixTimestamp } from '@/utils';
|
||||
import { millisecondsFromUnixTimestamp } from '@/lib';
|
||||
import {
|
||||
createContext,
|
||||
useContextSelector,
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import { useMemoizedFn } from 'ahooks';
|
||||
import { timeout } from '@/utils';
|
||||
import { timeout } from '@/lib';
|
||||
import { useBusterNotifications } from '../BusterNotifications';
|
||||
import { inviteUser as inviteUserRest } from '@/api/buster_rest';
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@ import {
|
|||
import React, { useMemo, useState } from 'react';
|
||||
import { AppMaterialIcons, BusterUserAvatar } from '@/components/ui';
|
||||
import { createBusterRoute, BusterRoutes } from '@/routes';
|
||||
import { formatDate } from '@/utils';
|
||||
import { formatDate } from '@/lib';
|
||||
import {
|
||||
BusterCollection,
|
||||
BusterCollectionItemAsset,
|
||||
|
|
|
@ -18,7 +18,7 @@ import { Text } from '@/components/ui';
|
|||
import { useAntToken } from '@/styles/useAntToken';
|
||||
import { useMemoizedFn } from 'ahooks';
|
||||
import { BreadcrumbSeperator } from '@/components/ui/breadcrumb';
|
||||
import { measureTextWidth } from '@/utils/canvas';
|
||||
import { measureTextWidth } from '@/lib/canvas';
|
||||
|
||||
export const CollectionsIndividualHeader: React.FC<{
|
||||
openAddTypeModal: boolean;
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
import React, { useMemo, useState } from 'react';
|
||||
import { AppContent, BusterUserAvatar } from '@/components/ui';
|
||||
import { formatDate, makeHumanReadble } from '@/utils';
|
||||
import { formatDate, makeHumanReadble } from '@/lib';
|
||||
import { BusterRoutes, createBusterRoute } from '@/routes';
|
||||
import { useBusterCollectionListContextSelector } from '@/context/Collections';
|
||||
import {
|
||||
|
|
|
@ -4,7 +4,7 @@ import React, { useMemo, useState } from 'react';
|
|||
import { AppContent } from '@/components/ui/layout/AppContent';
|
||||
import { useBusterDashboardContextSelector } from '@/context/Dashboards';
|
||||
import { BusterUserAvatar } from '@/components/ui';
|
||||
import { formatDate } from '@/utils';
|
||||
import { formatDate } from '@/lib';
|
||||
import { BusterList, BusterListColumn, BusterListRow } from '@/components/ui/list';
|
||||
import { BusterRoutes, createBusterRoute } from '@/routes';
|
||||
import { getShareStatus } from '@/components/features/Lists';
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
import React, { useState, useMemo } from 'react';
|
||||
import { AppContent } from '@/components/ui/layout/AppContent';
|
||||
import { BusterUserAvatar } from '@/components/ui';
|
||||
import { formatDate } from '@/utils';
|
||||
import { formatDate } from '@/lib';
|
||||
import { BusterList, BusterListColumn, BusterListRow } from '@/components/ui/list';
|
||||
import { BusterRoutes, createBusterRoute } from '@/routes';
|
||||
import type { BusterDatasetListItem } from '@/api/asset_interfaces';
|
||||
|
|
|
@ -8,7 +8,7 @@ import { Button, Divider } from 'antd';
|
|||
import { AppMaterialIcons } from '@/components/ui';
|
||||
import { AnimatePresence, motion } from 'framer-motion';
|
||||
import { CollapseDelete } from '../../Common/CollapseDelete';
|
||||
import { formatLabel } from '@/utils';
|
||||
import { formatLabel } from '@/lib';
|
||||
import { ColumnMetaData } from '@/api/asset_interfaces';
|
||||
import { TrendlineColumnId } from './EditTrendlineColumnId';
|
||||
import { TrendlineColorPicker } from './EditTrendlineColorPicker';
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import type { ColumnMetaData, IBusterMetricChartConfig } from '@/api/asset_interfaces';
|
||||
import { formatLabel } from '@/utils';
|
||||
import { formatLabel } from '@/lib';
|
||||
import { Select } from 'antd';
|
||||
import React, { useMemo } from 'react';
|
||||
import { LabelAndInput } from '../../Common';
|
||||
|
|
|
@ -5,7 +5,7 @@ import { LoopTrendline } from './EditTrendline';
|
|||
import React, { useMemo } from 'react';
|
||||
import type { ChartType, Trendline } from '@/components/ui/charts';
|
||||
import { IBusterMetricChartConfig } from '@/api/asset_interfaces';
|
||||
import { isDateColumnType, isNumericColumnType } from '@/utils';
|
||||
import { isDateColumnType, isNumericColumnType } from '@/lib';
|
||||
import { AppMaterialIcons, AppTooltip } from '@/components/ui';
|
||||
|
||||
export const EditTrendlineOption = React.memo(
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import React, { useMemo } from 'react';
|
||||
import { DEFAULT_CHART_COLORS, DISABLED_CHART_COLORS } from '../config';
|
||||
import { addOpacityToColor } from '@/utils/colors';
|
||||
import { addOpacityToColor } from '@/lib/colors';
|
||||
|
||||
export const ChartIcon_AreaRelative: React.FC<{ colors?: string[]; disabled?: boolean }> = ({
|
||||
colors: colorsProp = DEFAULT_CHART_COLORS,
|
||||
|
|
|
@ -9,7 +9,7 @@ import {
|
|||
getDefaultQuarterOptions
|
||||
} from './dateConfig';
|
||||
import first from 'lodash/last';
|
||||
import { formatDate, getNow } from '@/utils/date';
|
||||
import { formatDate, getNow } from '@/lib/date';
|
||||
import { useMemoizedFn } from 'ahooks';
|
||||
|
||||
export const EditDateFormat: React.FC<{
|
||||
|
|
|
@ -5,7 +5,7 @@ import { AppSegmented } from '@/components/ui';
|
|||
import { ColumnTypeIcon } from '../config';
|
||||
import { useEditAppSegmented } from './useEditAppSegmented';
|
||||
import { createStyles } from 'antd-style';
|
||||
import { isDateColumnType, isNumericColumnType } from '@/utils';
|
||||
import { isDateColumnType, isNumericColumnType } from '@/lib';
|
||||
|
||||
export const EditLabelStyle: React.FC<{
|
||||
onUpdateColumnConfig: (columnLabelFormat: Partial<IColumnLabelFormat>) => void;
|
||||
|
|
|
@ -3,7 +3,7 @@ import type { IColumnLabelFormat } from '@/components/ui/charts/interfaces/colum
|
|||
import { useMemoizedFn } from 'ahooks';
|
||||
import React, { useMemo } from 'react';
|
||||
import { useBusterMetricsIndividualContextSelector } from '@/context/Metrics';
|
||||
import { formatLabel } from '@/utils';
|
||||
import { formatLabel } from '@/lib';
|
||||
import { EditTitle } from './EditTitle';
|
||||
import { EditDisplayAs } from './EditDisplayAs';
|
||||
import { BarAndLineAxis, ChartEncodes, ChartType, ColumnSettings } from '@/components/ui/charts';
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
import { getNow, formatDate } from '@/utils';
|
||||
import { getNow, formatDate } from '@/lib';
|
||||
|
||||
export const getDefaultDateOptions = (now: Date) => {
|
||||
return [
|
||||
|
|
|
@ -5,7 +5,7 @@ import { DropZoneInternal } from './interfaces';
|
|||
import { useSelectAxisContextSelector } from '../useSelectAxisContext';
|
||||
import { ChartType, IColumnLabelFormat } from '@/components/ui/charts';
|
||||
import { Active } from '@dnd-kit/core';
|
||||
import { isNumericColumnStyle, isNumericColumnType } from '@/utils';
|
||||
import { isNumericColumnStyle, isNumericColumnType } from '@/lib';
|
||||
|
||||
interface ZoneError {
|
||||
error: boolean;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import { IColumnLabelFormat } from '@/components/ui/charts';
|
||||
import { formatLabel } from '@/utils';
|
||||
import { formatLabel } from '@/lib';
|
||||
import React, { useMemo } from 'react';
|
||||
import { Text } from '@/components/ui';
|
||||
import { createStyles } from 'antd-style';
|
||||
|
|
|
@ -2,7 +2,7 @@ import { useBusterMetricsIndividualContextSelector } from '@/context/Metrics';
|
|||
import React, { useMemo } from 'react';
|
||||
import { useSelectAxisContextSelector } from '../useSelectAxisContext';
|
||||
import { ColumnLabelFormat } from '@/components/ui/charts';
|
||||
import { formatLabel } from '@/utils';
|
||||
import { formatLabel } from '@/lib';
|
||||
import { useMemoizedFn } from 'ahooks';
|
||||
import { IBusterMetricChartConfig } from '@/api/asset_interfaces';
|
||||
import { EditShowAxisTitle } from './EditShowAxisTitle';
|
||||
|
|
|
@ -4,7 +4,7 @@ import { SelectAxisContainerId } from '../config';
|
|||
import { EditShowAxisTitle } from './EditShowAxisTitle';
|
||||
import type { ColumnLabelFormat, ComboChartAxis } from '@/components/ui/charts/interfaces';
|
||||
import { AXIS_TITLE_SEPARATOR } from '@/components/ui/charts/commonHelpers';
|
||||
import { formatLabel } from '@/utils';
|
||||
import { formatLabel } from '@/lib';
|
||||
import { useMemoizedFn } from 'ahooks';
|
||||
import { useBusterMetricsIndividualContextSelector } from '@/context/Metrics';
|
||||
import { EditShowAxisLabel } from './EditShowAxisLabel';
|
||||
|
|
|
@ -3,7 +3,7 @@ import { useSelectAxisContextSelector } from '../useSelectAxisContext';
|
|||
import { SelectAxisContainerId } from '../config';
|
||||
import { EditShowAxisTitle } from './EditShowAxisTitle';
|
||||
import type { ColumnLabelFormat } from '@/components/ui/charts/interfaces';
|
||||
import { formatLabel } from '@/utils';
|
||||
import { formatLabel } from '@/lib';
|
||||
import { useMemoizedFn } from 'ahooks';
|
||||
import { useBusterMetricsIndividualContextSelector } from '@/context/Metrics';
|
||||
import { EditShowAxisLabel } from './EditShowAxisLabel';
|
||||
|
|
|
@ -11,7 +11,7 @@ import {
|
|||
} from './SelectedChartTypeMethod';
|
||||
import { useBusterMetricsIndividualContextSelector } from '@/context/Metrics';
|
||||
import { useMemoizedFn } from 'ahooks';
|
||||
import { addOpacityToColor, NUMBER_TYPES } from '@/utils';
|
||||
import { addOpacityToColor, NUMBER_TYPES } from '@/lib';
|
||||
|
||||
export interface SelectChartTypeProps {
|
||||
selectedChartType: ChartType;
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
import type { IBusterMetricChartConfig, ColumnMetaData } from '@/api/asset_interfaces';
|
||||
import { AppPopover, AppMaterialIcons } from '@/components/ui';
|
||||
import type { IColumnLabelFormat, DerivedMetricTitle } from '@/components/ui/charts';
|
||||
import { formatLabel, isNumericColumnType, isNumericColumnStyle } from '@/utils';
|
||||
import { formatLabel, isNumericColumnType, isNumericColumnStyle } from '@/lib';
|
||||
import { useMemoizedFn } from 'ahooks';
|
||||
import { Input, Button, Divider, Switch, Select } from 'antd';
|
||||
import { createStyles } from 'antd-style';
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import { IBusterMetricChartConfig } from '@/api/asset_interfaces';
|
||||
import { isNumericColumnStyle, isNumericColumnType } from '@/utils';
|
||||
import { isNumericColumnStyle, isNumericColumnType } from '@/lib';
|
||||
import React, { useMemo } from 'react';
|
||||
import { LabelAndInput } from '../../Common';
|
||||
import { Button, Select } from 'antd';
|
||||
|
|
|
@ -4,7 +4,7 @@ import { IBusterMetricChartConfig } from '@/api/asset_interfaces';
|
|||
import { LabelAndInput } from '../../Common';
|
||||
import last from 'lodash/last';
|
||||
import { useMemoizedFn } from 'ahooks';
|
||||
import { isNumericColumnStyle, isNumericColumnType } from '@/utils';
|
||||
import { isNumericColumnStyle, isNumericColumnType } from '@/lib';
|
||||
import { ColumnLabelFormat } from '@/components/ui/charts';
|
||||
|
||||
export const AGGREGATE_OPTIONS: {
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import { ColumnMetaData, IBusterMetricChartConfig } from '@/api/asset_interfaces';
|
||||
import { formatLabel } from '@/utils';
|
||||
import { formatLabel } from '@/lib';
|
||||
import { ColumnTypeIcon } from '../SelectAxis/config';
|
||||
|
||||
export const createColumnFieldOptions = (
|
||||
|
|
|
@ -4,7 +4,7 @@ import { MetricViewChartContent } from './MetricViewChartContent';
|
|||
import { MetricViewChartHeader } from './MetricViewChartHeader';
|
||||
import { useMetricIndividual, useBusterMetricsIndividualContextSelector } from '@/context/Metrics';
|
||||
import { useMemoizedFn } from 'ahooks';
|
||||
import { inputHasText } from '@/utils/text';
|
||||
import { inputHasText } from '@/lib/text';
|
||||
import { MetricChartEvaluation } from './MetricChartEvaluation';
|
||||
import { ChartType } from '@/components/ui/charts/interfaces/enum';
|
||||
import { AnimatePresence, motion } from 'framer-motion';
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import { ShareAssetType, VerificationStatus, BusterMetricListItem } from '@/api/asset_interfaces';
|
||||
import { makeHumanReadble, formatDate } from '@/utils';
|
||||
import { makeHumanReadble, formatDate } from '@/lib';
|
||||
import React, { memo, useMemo, useRef, useState } from 'react';
|
||||
import { StatusBadgeIndicator, getShareStatus } from '@/components/features/Lists';
|
||||
import { BusterUserAvatar, Text } from '@/components/ui';
|
||||
|
|
|
@ -5,7 +5,7 @@ import { AppContent } from '@/components/ui/layout/AppContent';
|
|||
import { useBusterTermsIndividualContextSelector, useBusterTermsIndividual } from '@/context/Terms';
|
||||
import { Dropdown, Input } from 'antd';
|
||||
import { useDebounceFn } from 'ahooks';
|
||||
import { formatDate } from '@/utils';
|
||||
import { formatDate } from '@/lib';
|
||||
import { AppMaterialIcons, EditableTitle } from '@/components/ui';
|
||||
import { useAntToken } from '@/styles/useAntToken';
|
||||
import { AppCodeEditor } from '@/components/ui/inputs/AppCodeEditor';
|
||||
|
|
|
@ -2,7 +2,7 @@ import React from 'react';
|
|||
|
||||
import { useBusterTermsIndividualContextSelector, useBusterTermsIndividual } from '@/context/Terms';
|
||||
import { BusterUserAvatar } from '@/components/ui';
|
||||
import { formatDate } from '@/utils';
|
||||
import { formatDate } from '@/lib';
|
||||
import { Text } from '@/components/ui';
|
||||
import { DatasetList } from './TermDatasetSelect';
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
import React, { useMemo, useState } from 'react';
|
||||
import { AppContent } from '@/components/ui/layout/AppContent';
|
||||
import { BusterUserAvatar } from '@/components/ui';
|
||||
import { formatDate } from '@/utils';
|
||||
import { formatDate } from '@/lib';
|
||||
import {
|
||||
ListEmptyStateWithButton,
|
||||
BusterList,
|
||||
|
|
|
@ -2,7 +2,7 @@ import React, { useMemo, useRef, useState } from 'react';
|
|||
import { Input } from 'antd';
|
||||
import { createStyles } from 'antd-style';
|
||||
import { useMemoizedFn } from 'ahooks';
|
||||
import { inputHasText } from '@/utils';
|
||||
import { inputHasText } from '@/lib';
|
||||
import { AIWarning } from './AIWarning';
|
||||
import { SubmitButton } from './SubmitButton';
|
||||
import { useChatInputFlow } from './useChatInputFlow';
|
||||
|
@ -67,7 +67,7 @@ export const ChatInput: React.FC<{}> = React.memo(({}) => {
|
|||
variant="borderless"
|
||||
onBlur={onBlurInput}
|
||||
onFocus={onFocusInput}
|
||||
className="inline-block w-full pb-2! pl-3.5! pr-9! pt-2! align-middle"
|
||||
className="inline-block w-full pt-2! pr-9! pb-2! pl-3.5! align-middle"
|
||||
placeholder="Ask a follow up..."
|
||||
value={inputValue}
|
||||
autoFocus={true}
|
||||
|
@ -77,7 +77,7 @@ export const ChatInput: React.FC<{}> = React.memo(({}) => {
|
|||
autoSize={autoSize}
|
||||
/>
|
||||
|
||||
<div className="absolute bottom-2 right-2">
|
||||
<div className="absolute right-2 bottom-2">
|
||||
<SubmitButton
|
||||
disableSendButton={disableSendButton}
|
||||
loading={loading}
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue