diff --git a/package-lock.json b/package-lock.json
index b99c6e8..4785dcd 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -8,10 +8,6 @@
"name": "balistics-builder",
"version": "0.2.0",
"dependencies": {
- "@chakra-ui/form-control": "^2.2.0",
- "@chakra-ui/next-js": "^2.4.2",
- "@chakra-ui/react": "^3.1.2",
- "@chakra-ui/toast": "^7.0.2",
"@emotion/react": "^11.13.5",
"@emotion/styled": "^11.13.5",
"@headlessui/react": "^2.2.0",
@@ -66,68 +62,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/@ark-ui/react": {
- "version": "4.4.3",
- "resolved": "https://registry.npmjs.org/@ark-ui/react/-/react-4.4.3.tgz",
- "integrity": "sha512-Prd5EWcyL5PIigl8H70acVacL+Abl0l9gFw0sRNAZ9+3cGaXPhL4ol3s3AW9MU811ZAESU1xifsrwMyhpmcgmg==",
- "license": "MIT",
- "dependencies": {
- "@internationalized/date": "3.5.6",
- "@zag-js/accordion": "0.77.1",
- "@zag-js/anatomy": "0.77.1",
- "@zag-js/auto-resize": "0.77.1",
- "@zag-js/avatar": "0.77.1",
- "@zag-js/carousel": "0.77.1",
- "@zag-js/checkbox": "0.77.1",
- "@zag-js/clipboard": "0.77.1",
- "@zag-js/collapsible": "0.77.1",
- "@zag-js/collection": "0.77.1",
- "@zag-js/color-picker": "0.77.1",
- "@zag-js/color-utils": "0.77.1",
- "@zag-js/combobox": "0.77.1",
- "@zag-js/core": "0.77.1",
- "@zag-js/date-picker": "0.77.1",
- "@zag-js/date-utils": "0.77.1",
- "@zag-js/dialog": "0.77.1",
- "@zag-js/dom-query": "0.77.1",
- "@zag-js/editable": "0.77.1",
- "@zag-js/file-upload": "0.77.1",
- "@zag-js/file-utils": "0.77.1",
- "@zag-js/highlight-word": "0.77.1",
- "@zag-js/hover-card": "0.77.1",
- "@zag-js/i18n-utils": "0.77.1",
- "@zag-js/menu": "0.77.1",
- "@zag-js/number-input": "0.77.1",
- "@zag-js/pagination": "0.77.1",
- "@zag-js/pin-input": "0.77.1",
- "@zag-js/popover": "0.77.1",
- "@zag-js/presence": "0.77.1",
- "@zag-js/progress": "0.77.1",
- "@zag-js/qr-code": "0.77.1",
- "@zag-js/radio-group": "0.77.1",
- "@zag-js/rating-group": "0.77.1",
- "@zag-js/react": "0.77.1",
- "@zag-js/select": "0.77.1",
- "@zag-js/signature-pad": "0.77.1",
- "@zag-js/slider": "0.77.1",
- "@zag-js/splitter": "0.77.1",
- "@zag-js/steps": "0.77.1",
- "@zag-js/switch": "0.77.1",
- "@zag-js/tabs": "0.77.1",
- "@zag-js/tags-input": "0.77.1",
- "@zag-js/time-picker": "0.77.1",
- "@zag-js/timer": "0.77.1",
- "@zag-js/toast": "0.77.1",
- "@zag-js/toggle-group": "0.77.1",
- "@zag-js/tooltip": "0.77.1",
- "@zag-js/tree-view": "0.77.1",
- "@zag-js/types": "0.77.1"
- },
- "peerDependencies": {
- "react": ">=18.0.0",
- "react-dom": ">=18.0.0"
- }
- },
"node_modules/@babel/code-frame": {
"version": "7.26.2",
"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz",
@@ -259,345 +193,6 @@
"node": ">=6.9.0"
}
},
- "node_modules/@chakra-ui/alert": {
- "version": "2.2.2",
- "resolved": "https://registry.npmjs.org/@chakra-ui/alert/-/alert-2.2.2.tgz",
- "integrity": "sha512-jHg4LYMRNOJH830ViLuicjb3F+v6iriE/2G5T+Sd0Hna04nukNJ1MxUmBPE+vI22me2dIflfelu2v9wdB6Pojw==",
- "license": "MIT",
- "dependencies": {
- "@chakra-ui/icon": "3.2.0",
- "@chakra-ui/react-context": "2.1.0",
- "@chakra-ui/shared-utils": "2.0.5",
- "@chakra-ui/spinner": "2.1.0"
- },
- "peerDependencies": {
- "@chakra-ui/system": ">=2.0.0",
- "react": ">=18"
- }
- },
- "node_modules/@chakra-ui/anatomy": {
- "version": "2.2.2",
- "resolved": "https://registry.npmjs.org/@chakra-ui/anatomy/-/anatomy-2.2.2.tgz",
- "integrity": "sha512-MV6D4VLRIHr4PkW4zMyqfrNS1mPlCTiCXwvYGtDFQYr+xHFfonhAuf9WjsSc0nyp2m0OdkSLnzmVKkZFLo25Tg==",
- "license": "MIT"
- },
- "node_modules/@chakra-ui/close-button": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/@chakra-ui/close-button/-/close-button-2.1.1.tgz",
- "integrity": "sha512-gnpENKOanKexswSVpVz7ojZEALl2x5qjLYNqSQGbxz+aP9sOXPfUS56ebyBrre7T7exuWGiFeRwnM0oVeGPaiw==",
- "license": "MIT",
- "dependencies": {
- "@chakra-ui/icon": "3.2.0"
- },
- "peerDependencies": {
- "@chakra-ui/system": ">=2.0.0",
- "react": ">=18"
- }
- },
- "node_modules/@chakra-ui/color-mode": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/@chakra-ui/color-mode/-/color-mode-2.2.0.tgz",
- "integrity": "sha512-niTEA8PALtMWRI9wJ4LL0CSBDo8NBfLNp4GD6/0hstcm3IlbBHTVKxN6HwSaoNYfphDQLxCjT4yG+0BJA5tFpg==",
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "@chakra-ui/react-use-safe-layout-effect": "2.1.0"
- },
- "peerDependencies": {
- "react": ">=18"
- }
- },
- "node_modules/@chakra-ui/form-control": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/@chakra-ui/form-control/-/form-control-2.2.0.tgz",
- "integrity": "sha512-wehLC1t4fafCVJ2RvJQT2jyqsAwX7KymmiGqBu7nQoQz8ApTkGABWpo/QwDh3F/dBLrouHDoOvGmYTqft3Mirw==",
- "license": "MIT",
- "dependencies": {
- "@chakra-ui/icon": "3.2.0",
- "@chakra-ui/react-context": "2.1.0",
- "@chakra-ui/react-types": "2.0.7",
- "@chakra-ui/react-use-merge-refs": "2.1.0",
- "@chakra-ui/shared-utils": "2.0.5"
- },
- "peerDependencies": {
- "@chakra-ui/system": ">=2.0.0",
- "react": ">=18"
- }
- },
- "node_modules/@chakra-ui/icon": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/@chakra-ui/icon/-/icon-3.2.0.tgz",
- "integrity": "sha512-xxjGLvlX2Ys4H0iHrI16t74rG9EBcpFvJ3Y3B7KMQTrnW34Kf7Da/UC8J67Gtx85mTHW020ml85SVPKORWNNKQ==",
- "license": "MIT",
- "dependencies": {
- "@chakra-ui/shared-utils": "2.0.5"
- },
- "peerDependencies": {
- "@chakra-ui/system": ">=2.0.0",
- "react": ">=18"
- }
- },
- "node_modules/@chakra-ui/next-js": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/@chakra-ui/next-js/-/next-js-2.4.2.tgz",
- "integrity": "sha512-loo82RyPbMyvJwRhhZVZovut9v2hFBSkqd1vQoNXgMrCRApLwrrttu5Iuodns15gLE3mqI+it5oEhxTtO5DrxA==",
- "dependencies": {
- "@emotion/cache": "^11.11.0"
- },
- "peerDependencies": {
- "@chakra-ui/react": ">=2.4.0",
- "@emotion/react": ">=11",
- "next": ">=13",
- "react": ">=18"
- }
- },
- "node_modules/@chakra-ui/object-utils": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/@chakra-ui/object-utils/-/object-utils-2.1.0.tgz",
- "integrity": "sha512-tgIZOgLHaoti5PYGPTwK3t/cqtcycW0owaiOXoZOcpwwX/vlVb+H1jFsQyWiiwQVPt9RkoSLtxzXamx+aHH+bQ==",
- "license": "MIT",
- "peer": true
- },
- "node_modules/@chakra-ui/portal": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/@chakra-ui/portal/-/portal-2.1.0.tgz",
- "integrity": "sha512-9q9KWf6SArEcIq1gGofNcFPSWEyl+MfJjEUg/un1SMlQjaROOh3zYr+6JAwvcORiX7tyHosnmWC3d3wI2aPSQg==",
- "license": "MIT",
- "dependencies": {
- "@chakra-ui/react-context": "2.1.0",
- "@chakra-ui/react-use-safe-layout-effect": "2.1.0"
- },
- "peerDependencies": {
- "react": ">=18",
- "react-dom": ">=18"
- }
- },
- "node_modules/@chakra-ui/react": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/@chakra-ui/react/-/react-3.1.2.tgz",
- "integrity": "sha512-lf3XxbP8frId1r6VZwQjEXrMY8S/FdkD/cBr3udWHXHDxy6oDDT6clSU7/BTjl2HP3eitXNUrcNdBm+X4gXTAg==",
- "dependencies": {
- "@ark-ui/react": "4.4.3",
- "@emotion/is-prop-valid": "1.3.1",
- "@emotion/serialize": "1.3.2",
- "@emotion/use-insertion-effect-with-fallbacks": "1.1.0",
- "@emotion/utils": "1.4.1",
- "@pandacss/is-valid-prop": "0.41.0",
- "csstype": "3.1.3"
- },
- "peerDependencies": {
- "@emotion/react": ">=11",
- "react": ">=18",
- "react-dom": ">=18"
- }
- },
- "node_modules/@chakra-ui/react-context": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/@chakra-ui/react-context/-/react-context-2.1.0.tgz",
- "integrity": "sha512-iahyStvzQ4AOwKwdPReLGfDesGG+vWJfEsn0X/NoGph/SkN+HXtv2sCfYFFR9k7bb+Kvc6YfpLlSuLvKMHi2+w==",
- "license": "MIT",
- "peerDependencies": {
- "react": ">=18"
- }
- },
- "node_modules/@chakra-ui/react-types": {
- "version": "2.0.7",
- "resolved": "https://registry.npmjs.org/@chakra-ui/react-types/-/react-types-2.0.7.tgz",
- "integrity": "sha512-12zv2qIZ8EHwiytggtGvo4iLT0APris7T0qaAWqzpUGS0cdUtR8W+V1BJ5Ocq+7tA6dzQ/7+w5hmXih61TuhWQ==",
- "license": "MIT",
- "peerDependencies": {
- "react": ">=18"
- }
- },
- "node_modules/@chakra-ui/react-use-callback-ref": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-callback-ref/-/react-use-callback-ref-2.1.0.tgz",
- "integrity": "sha512-efnJrBtGDa4YaxDzDE90EnKD3Vkh5a1t3w7PhnRQmsphLy3g2UieasoKTlT2Hn118TwDjIv5ZjHJW6HbzXA9wQ==",
- "license": "MIT",
- "peerDependencies": {
- "react": ">=18"
- }
- },
- "node_modules/@chakra-ui/react-use-merge-refs": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-merge-refs/-/react-use-merge-refs-2.1.0.tgz",
- "integrity": "sha512-lERa6AWF1cjEtWSGjxWTaSMvneccnAVH4V4ozh8SYiN9fSPZLlSG3kNxfNzdFvMEhM7dnP60vynF7WjGdTgQbQ==",
- "license": "MIT",
- "peerDependencies": {
- "react": ">=18"
- }
- },
- "node_modules/@chakra-ui/react-use-safe-layout-effect": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-safe-layout-effect/-/react-use-safe-layout-effect-2.1.0.tgz",
- "integrity": "sha512-Knbrrx/bcPwVS1TorFdzrK/zWA8yuU/eaXDkNj24IrKoRlQrSBFarcgAEzlCHtzuhufP3OULPkELTzz91b0tCw==",
- "license": "MIT",
- "peerDependencies": {
- "react": ">=18"
- }
- },
- "node_modules/@chakra-ui/react-use-timeout": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-timeout/-/react-use-timeout-2.1.0.tgz",
- "integrity": "sha512-cFN0sobKMM9hXUhyCofx3/Mjlzah6ADaEl/AXl5Y+GawB5rgedgAcu2ErAgarEkwvsKdP6c68CKjQ9dmTQlJxQ==",
- "license": "MIT",
- "dependencies": {
- "@chakra-ui/react-use-callback-ref": "2.1.0"
- },
- "peerDependencies": {
- "react": ">=18"
- }
- },
- "node_modules/@chakra-ui/react-use-update-effect": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/@chakra-ui/react-use-update-effect/-/react-use-update-effect-2.1.0.tgz",
- "integrity": "sha512-ND4Q23tETaR2Qd3zwCKYOOS1dfssojPLJMLvUtUbW5M9uW1ejYWgGUobeAiOVfSplownG8QYMmHTP86p/v0lbA==",
- "license": "MIT",
- "peerDependencies": {
- "react": ">=18"
- }
- },
- "node_modules/@chakra-ui/react-utils": {
- "version": "2.0.12",
- "resolved": "https://registry.npmjs.org/@chakra-ui/react-utils/-/react-utils-2.0.12.tgz",
- "integrity": "sha512-GbSfVb283+YA3kA8w8xWmzbjNWk14uhNpntnipHCftBibl0lxtQ9YqMFQLwuFOO0U2gYVocszqqDWX+XNKq9hw==",
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "@chakra-ui/utils": "2.0.15"
- },
- "peerDependencies": {
- "react": ">=18"
- }
- },
- "node_modules/@chakra-ui/shared-utils": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/@chakra-ui/shared-utils/-/shared-utils-2.0.5.tgz",
- "integrity": "sha512-4/Wur0FqDov7Y0nCXl7HbHzCg4aq86h+SXdoUeuCMD3dSj7dpsVnStLYhng1vxvlbUnLpdF4oz5Myt3i/a7N3Q==",
- "license": "MIT"
- },
- "node_modules/@chakra-ui/spinner": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/@chakra-ui/spinner/-/spinner-2.1.0.tgz",
- "integrity": "sha512-hczbnoXt+MMv/d3gE+hjQhmkzLiKuoTo42YhUG7Bs9OSv2lg1fZHW1fGNRFP3wTi6OIbD044U1P9HK+AOgFH3g==",
- "license": "MIT",
- "dependencies": {
- "@chakra-ui/shared-utils": "2.0.5"
- },
- "peerDependencies": {
- "@chakra-ui/system": ">=2.0.0",
- "react": ">=18"
- }
- },
- "node_modules/@chakra-ui/styled-system": {
- "version": "2.9.2",
- "resolved": "https://registry.npmjs.org/@chakra-ui/styled-system/-/styled-system-2.9.2.tgz",
- "integrity": "sha512-To/Z92oHpIE+4nk11uVMWqo2GGRS86coeMmjxtpnErmWRdLcp1WVCVRAvn+ZwpLiNR+reWFr2FFqJRsREuZdAg==",
- "license": "MIT",
- "dependencies": {
- "@chakra-ui/shared-utils": "2.0.5",
- "csstype": "^3.1.2",
- "lodash.mergewith": "4.6.2"
- }
- },
- "node_modules/@chakra-ui/system": {
- "version": "2.6.2",
- "resolved": "https://registry.npmjs.org/@chakra-ui/system/-/system-2.6.2.tgz",
- "integrity": "sha512-EGtpoEjLrUu4W1fHD+a62XR+hzC5YfsWm+6lO0Kybcga3yYEij9beegO0jZgug27V+Rf7vns95VPVP6mFd/DEQ==",
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "@chakra-ui/color-mode": "2.2.0",
- "@chakra-ui/object-utils": "2.1.0",
- "@chakra-ui/react-utils": "2.0.12",
- "@chakra-ui/styled-system": "2.9.2",
- "@chakra-ui/theme-utils": "2.0.21",
- "@chakra-ui/utils": "2.0.15",
- "react-fast-compare": "3.2.2"
- },
- "peerDependencies": {
- "@emotion/react": "^11.0.0",
- "@emotion/styled": "^11.0.0",
- "react": ">=18"
- }
- },
- "node_modules/@chakra-ui/theme": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/@chakra-ui/theme/-/theme-3.3.1.tgz",
- "integrity": "sha512-Hft/VaT8GYnItGCBbgWd75ICrIrIFrR7lVOhV/dQnqtfGqsVDlrztbSErvMkoPKt0UgAkd9/o44jmZ6X4U2nZQ==",
- "license": "MIT",
- "dependencies": {
- "@chakra-ui/anatomy": "2.2.2",
- "@chakra-ui/shared-utils": "2.0.5",
- "@chakra-ui/theme-tools": "2.1.2"
- },
- "peerDependencies": {
- "@chakra-ui/styled-system": ">=2.8.0"
- }
- },
- "node_modules/@chakra-ui/theme-tools": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/@chakra-ui/theme-tools/-/theme-tools-2.1.2.tgz",
- "integrity": "sha512-Qdj8ajF9kxY4gLrq7gA+Azp8CtFHGO9tWMN2wfF9aQNgG9AuMhPrUzMq9AMQ0MXiYcgNq/FD3eegB43nHVmXVA==",
- "license": "MIT",
- "dependencies": {
- "@chakra-ui/anatomy": "2.2.2",
- "@chakra-ui/shared-utils": "2.0.5",
- "color2k": "^2.0.2"
- },
- "peerDependencies": {
- "@chakra-ui/styled-system": ">=2.0.0"
- }
- },
- "node_modules/@chakra-ui/theme-utils": {
- "version": "2.0.21",
- "resolved": "https://registry.npmjs.org/@chakra-ui/theme-utils/-/theme-utils-2.0.21.tgz",
- "integrity": "sha512-FjH5LJbT794r0+VSCXB3lT4aubI24bLLRWB+CuRKHijRvsOg717bRdUN/N1fEmEpFnRVrbewttWh/OQs0EWpWw==",
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "@chakra-ui/shared-utils": "2.0.5",
- "@chakra-ui/styled-system": "2.9.2",
- "@chakra-ui/theme": "3.3.1",
- "lodash.mergewith": "4.6.2"
- }
- },
- "node_modules/@chakra-ui/toast": {
- "version": "7.0.2",
- "resolved": "https://registry.npmjs.org/@chakra-ui/toast/-/toast-7.0.2.tgz",
- "integrity": "sha512-yvRP8jFKRs/YnkuE41BVTq9nB2v/KDRmje9u6dgDmE5+1bFt3bwjdf9gVbif4u5Ve7F7BGk5E093ARRVtvLvXA==",
- "license": "MIT",
- "dependencies": {
- "@chakra-ui/alert": "2.2.2",
- "@chakra-ui/close-button": "2.1.1",
- "@chakra-ui/portal": "2.1.0",
- "@chakra-ui/react-context": "2.1.0",
- "@chakra-ui/react-use-timeout": "2.1.0",
- "@chakra-ui/react-use-update-effect": "2.1.0",
- "@chakra-ui/shared-utils": "2.0.5",
- "@chakra-ui/styled-system": "2.9.2",
- "@chakra-ui/theme": "3.3.1"
- },
- "peerDependencies": {
- "@chakra-ui/system": "2.6.2",
- "framer-motion": ">=4.0.0",
- "react": ">=18",
- "react-dom": ">=18"
- }
- },
- "node_modules/@chakra-ui/utils": {
- "version": "2.0.15",
- "resolved": "https://registry.npmjs.org/@chakra-ui/utils/-/utils-2.0.15.tgz",
- "integrity": "sha512-El4+jL0WSaYYs+rJbuYFDbjmfCcfGDmRY95GO4xwzit6YAPZBLcR65rOEwLps+XWluZTy1xdMrusg/hW0c1aAA==",
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "@types/lodash.mergewith": "4.6.7",
- "css-box-model": "1.2.1",
- "framesync": "6.1.2",
- "lodash.mergewith": "4.6.2"
- }
- },
"node_modules/@drizzle-team/brocli": {
"version": "0.10.2",
"resolved": "https://registry.npmjs.org/@drizzle-team/brocli/-/brocli-0.10.2.tgz",
@@ -2117,24 +1712,6 @@
"url": "https://opencollective.com/libvips"
}
},
- "node_modules/@internationalized/date": {
- "version": "3.5.6",
- "resolved": "https://registry.npmjs.org/@internationalized/date/-/date-3.5.6.tgz",
- "integrity": "sha512-jLxQjefH9VI5P9UQuqB6qNKnvFt1Ky1TPIzHGsIlCi7sZZoMR8SdYbBGRvM0y+Jtb+ez4ieBzmiAUcpmPYpyOw==",
- "license": "Apache-2.0",
- "dependencies": {
- "@swc/helpers": "^0.5.0"
- }
- },
- "node_modules/@internationalized/number": {
- "version": "3.5.4",
- "resolved": "https://registry.npmjs.org/@internationalized/number/-/number-3.5.4.tgz",
- "integrity": "sha512-h9huwWjNqYyE2FXZZewWqmCdkw1HeFds5q4Siuoms3hUQC5iPJK3aBmkFZoDSLN4UD0Bl8G22L/NdHpeOr+/7A==",
- "license": "Apache-2.0",
- "dependencies": {
- "@swc/helpers": "^0.5.0"
- }
- },
"node_modules/@isaacs/cliui": {
"version": "8.0.2",
"resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz",
@@ -2965,11 +2542,6 @@
"node": ">=12.4.0"
}
},
- "node_modules/@pandacss/is-valid-prop": {
- "version": "0.41.0",
- "resolved": "https://registry.npmjs.org/@pandacss/is-valid-prop/-/is-valid-prop-0.41.0.tgz",
- "integrity": "sha512-BE6h6CsJk14ugIRrsazJtN3fcg+KDFRat1Bs93YFKH6jd4DOb1yUyVvC70jKqPVvg70zEcV8acZ7VdcU5TLu+w=="
- },
"node_modules/@pkgjs/parseargs": {
"version": "0.11.0",
"resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz",
@@ -3240,23 +2812,6 @@
"integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==",
"dev": true
},
- "node_modules/@types/lodash": {
- "version": "4.17.13",
- "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.13.tgz",
- "integrity": "sha512-lfx+dftrEZcdBPczf9d0Qv0x+j/rfNCMuC6OcfXmO8gkfeNAY88PgKUbvG56whcN23gc27yenwF6oJZXGFpYxg==",
- "license": "MIT",
- "peer": true
- },
- "node_modules/@types/lodash.mergewith": {
- "version": "4.6.7",
- "resolved": "https://registry.npmjs.org/@types/lodash.mergewith/-/lodash.mergewith-4.6.7.tgz",
- "integrity": "sha512-3m+lkO5CLRRYU0fhGRp7zbsGi6+BZj0uTVSwvcKU+nSlhjA9/QRNfuSGnD2mX6hQA7ZbmcCkzk5h4ZYGOtk14A==",
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "@types/lodash": "*"
- }
- },
"node_modules/@types/node": {
"version": "20.17.6",
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.17.6.tgz",
@@ -3619,825 +3174,6 @@
"integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==",
"dev": true
},
- "node_modules/@zag-js/accordion": {
- "version": "0.77.1",
- "resolved": "https://registry.npmjs.org/@zag-js/accordion/-/accordion-0.77.1.tgz",
- "integrity": "sha512-KEXFPZB+Z2NfdQLNDOZ5fbRzv++mIDmZdpOPjP0kur7asVhLEyhLtpBEfXKMdF1fZoYOeXT4R6loZ5fRXPfK+Q==",
- "license": "MIT",
- "dependencies": {
- "@zag-js/anatomy": "0.77.1",
- "@zag-js/core": "0.77.1",
- "@zag-js/dom-event": "0.77.1",
- "@zag-js/dom-query": "0.77.1",
- "@zag-js/types": "0.77.1",
- "@zag-js/utils": "0.77.1"
- }
- },
- "node_modules/@zag-js/anatomy": {
- "version": "0.77.1",
- "resolved": "https://registry.npmjs.org/@zag-js/anatomy/-/anatomy-0.77.1.tgz",
- "integrity": "sha512-VMj+z4kco9zVKDEsabQDy8IYCqXdMqdZ2Z+n4IeEOV93oX7iG86vNHgZ7NXykN2jSR/Bka+LcGtAstaUvVw2dA==",
- "license": "MIT"
- },
- "node_modules/@zag-js/aria-hidden": {
- "version": "0.77.1",
- "resolved": "https://registry.npmjs.org/@zag-js/aria-hidden/-/aria-hidden-0.77.1.tgz",
- "integrity": "sha512-Nx8hYDXMsOfGxxLQcfL2pAo4UutE7IGdbYbacsnqbfJhg/vDyTkf4Uhy7HXvZAccGxtj5kb2WeCbtzh9lklwsQ==",
- "license": "MIT",
- "dependencies": {
- "aria-hidden": "1.2.4"
- }
- },
- "node_modules/@zag-js/auto-resize": {
- "version": "0.77.1",
- "resolved": "https://registry.npmjs.org/@zag-js/auto-resize/-/auto-resize-0.77.1.tgz",
- "integrity": "sha512-CIvUaxhwuqkpS/+Q816C531deN+RT8SRzDy3YfuvKRfGtEfRRTNuwk9P2dlo6MoinfORcjvX1y4EAaBjA/lsxw==",
- "license": "MIT",
- "dependencies": {
- "@zag-js/dom-query": "0.77.1"
- }
- },
- "node_modules/@zag-js/avatar": {
- "version": "0.77.1",
- "resolved": "https://registry.npmjs.org/@zag-js/avatar/-/avatar-0.77.1.tgz",
- "integrity": "sha512-wERKUzjLCElAKk6CNsBe6U4tKZNQTr9AZKOQqbONWJr6wISy7Ftu5el0Yp0SbUxmwacfB9ghdHslTbaThz190g==",
- "license": "MIT",
- "dependencies": {
- "@zag-js/anatomy": "0.77.1",
- "@zag-js/core": "0.77.1",
- "@zag-js/dom-query": "0.77.1",
- "@zag-js/types": "0.77.1",
- "@zag-js/utils": "0.77.1"
- }
- },
- "node_modules/@zag-js/carousel": {
- "version": "0.77.1",
- "resolved": "https://registry.npmjs.org/@zag-js/carousel/-/carousel-0.77.1.tgz",
- "integrity": "sha512-sSVzQ/ZUAmJrArvkwCz1z/er9zLg3HDsyFDPvIJIqDAqZNatmKAth0Gia8wuWnz5YV1YGsLS8OeHr1lXYWvLQQ==",
- "license": "MIT",
- "dependencies": {
- "@zag-js/anatomy": "0.77.1",
- "@zag-js/core": "0.77.1",
- "@zag-js/dom-query": "0.77.1",
- "@zag-js/types": "0.77.1",
- "@zag-js/utils": "0.77.1"
- }
- },
- "node_modules/@zag-js/checkbox": {
- "version": "0.77.1",
- "resolved": "https://registry.npmjs.org/@zag-js/checkbox/-/checkbox-0.77.1.tgz",
- "integrity": "sha512-PbG/IU80tN1F5V+tGzyAN54p37kS4cQ8U/MUrtBxFOGMy3kGVeVMQCX/xo9fz6H49L+2+4XVzfkTHBDyNVuSxg==",
- "license": "MIT",
- "dependencies": {
- "@zag-js/anatomy": "0.77.1",
- "@zag-js/core": "0.77.1",
- "@zag-js/dom-event": "0.77.1",
- "@zag-js/dom-query": "0.77.1",
- "@zag-js/focus-visible": "0.77.1",
- "@zag-js/form-utils": "0.77.1",
- "@zag-js/types": "0.77.1",
- "@zag-js/utils": "0.77.1"
- }
- },
- "node_modules/@zag-js/clipboard": {
- "version": "0.77.1",
- "resolved": "https://registry.npmjs.org/@zag-js/clipboard/-/clipboard-0.77.1.tgz",
- "integrity": "sha512-1eLgL3dxEIMTZhe+0fkv05PX8i2LZprLf71hLqHPcjt/DDa/g4tDpoDG9HBgEM68s8mFLB3niwbfbpVgepcR6g==",
- "license": "MIT",
- "dependencies": {
- "@zag-js/anatomy": "0.77.1",
- "@zag-js/core": "0.77.1",
- "@zag-js/dom-query": "0.77.1",
- "@zag-js/types": "0.77.1",
- "@zag-js/utils": "0.77.1"
- }
- },
- "node_modules/@zag-js/collapsible": {
- "version": "0.77.1",
- "resolved": "https://registry.npmjs.org/@zag-js/collapsible/-/collapsible-0.77.1.tgz",
- "integrity": "sha512-Wh/PJCEHdt0nzpo/HqwLXHN/nC6aYZXKlV7tztTPYzUOOF5/g1QiGE0ecQEX1tpKEHME+Ro3lwwI0vAh3L6Evg==",
- "license": "MIT",
- "dependencies": {
- "@zag-js/anatomy": "0.77.1",
- "@zag-js/core": "0.77.1",
- "@zag-js/dom-query": "0.77.1",
- "@zag-js/types": "0.77.1",
- "@zag-js/utils": "0.77.1"
- }
- },
- "node_modules/@zag-js/collection": {
- "version": "0.77.1",
- "resolved": "https://registry.npmjs.org/@zag-js/collection/-/collection-0.77.1.tgz",
- "integrity": "sha512-YwdpSRy3yqFRLqOqNpkQJ6cVH3JS9MLhW+f4FKypfvz1tLLTpt/uMnKAOwoIVy+EjCuzeMwUtR7MQF/kK5y56A==",
- "license": "MIT",
- "dependencies": {
- "@zag-js/utils": "0.77.1"
- }
- },
- "node_modules/@zag-js/color-picker": {
- "version": "0.77.1",
- "resolved": "https://registry.npmjs.org/@zag-js/color-picker/-/color-picker-0.77.1.tgz",
- "integrity": "sha512-NV3g5J2zQmnv4jMMkKFlzhX8vvX7W6etQX0ZfaxUGKBFaGf/Vfdow0EEyurf+QqGkxGTWRI4rZncy5/K02n9Cg==",
- "license": "MIT",
- "dependencies": {
- "@zag-js/anatomy": "0.77.1",
- "@zag-js/color-utils": "0.77.1",
- "@zag-js/core": "0.77.1",
- "@zag-js/dismissable": "0.77.1",
- "@zag-js/dom-event": "0.77.1",
- "@zag-js/dom-query": "0.77.1",
- "@zag-js/form-utils": "0.77.1",
- "@zag-js/popper": "0.77.1",
- "@zag-js/text-selection": "0.77.1",
- "@zag-js/types": "0.77.1",
- "@zag-js/utils": "0.77.1"
- }
- },
- "node_modules/@zag-js/color-utils": {
- "version": "0.77.1",
- "resolved": "https://registry.npmjs.org/@zag-js/color-utils/-/color-utils-0.77.1.tgz",
- "integrity": "sha512-6Z7zoAOQr3LprL6POV1gzA9tzzz4FHLtfo9ZqgN3SxbhFXj0xw1hhEB6COwJxqsNL9jqN2yhXBj3RBY89WsWzQ==",
- "license": "MIT",
- "dependencies": {
- "@zag-js/numeric-range": "0.77.1"
- }
- },
- "node_modules/@zag-js/combobox": {
- "version": "0.77.1",
- "resolved": "https://registry.npmjs.org/@zag-js/combobox/-/combobox-0.77.1.tgz",
- "integrity": "sha512-uAT/ByipNCm0eNdPZJzBqqbSjtSeSHSAdSyki2puyLtl779G6vRZv44aKey+0LKxmTZYKD1neMl06dWwtdnA9w==",
- "license": "MIT",
- "dependencies": {
- "@zag-js/anatomy": "0.77.1",
- "@zag-js/aria-hidden": "0.77.1",
- "@zag-js/collection": "0.77.1",
- "@zag-js/core": "0.77.1",
- "@zag-js/dismissable": "0.77.1",
- "@zag-js/dom-event": "0.77.1",
- "@zag-js/dom-query": "0.77.1",
- "@zag-js/popper": "0.77.1",
- "@zag-js/types": "0.77.1",
- "@zag-js/utils": "0.77.1"
- }
- },
- "node_modules/@zag-js/core": {
- "version": "0.77.1",
- "resolved": "https://registry.npmjs.org/@zag-js/core/-/core-0.77.1.tgz",
- "integrity": "sha512-tY5A/XayGdtiSutjQl4jBzoj2xdka8JD4JuzffsAT7aWJklbfiuIKc0R7dbAviRQ1vFe0Jvmrd3FZz85aJJfdg==",
- "license": "MIT",
- "dependencies": {
- "@zag-js/store": "0.77.1",
- "@zag-js/utils": "0.77.1",
- "klona": "2.0.6"
- }
- },
- "node_modules/@zag-js/date-picker": {
- "version": "0.77.1",
- "resolved": "https://registry.npmjs.org/@zag-js/date-picker/-/date-picker-0.77.1.tgz",
- "integrity": "sha512-Rci3u5YvpObAVbYKp5lUmWyvS0VFambjhZYc0avFp7MTHhRZErXKviq/q1wqvWWtfrAZKRuQrG5Rex7+E9zDMg==",
- "license": "MIT",
- "dependencies": {
- "@zag-js/anatomy": "0.77.1",
- "@zag-js/core": "0.77.1",
- "@zag-js/date-utils": "0.77.1",
- "@zag-js/dismissable": "0.77.1",
- "@zag-js/dom-event": "0.77.1",
- "@zag-js/dom-query": "0.77.1",
- "@zag-js/form-utils": "0.77.1",
- "@zag-js/live-region": "0.77.1",
- "@zag-js/popper": "0.77.1",
- "@zag-js/text-selection": "0.77.1",
- "@zag-js/types": "0.77.1",
- "@zag-js/utils": "0.77.1"
- },
- "peerDependencies": {
- "@internationalized/date": ">=3.0.0"
- }
- },
- "node_modules/@zag-js/date-utils": {
- "version": "0.77.1",
- "resolved": "https://registry.npmjs.org/@zag-js/date-utils/-/date-utils-0.77.1.tgz",
- "integrity": "sha512-lPYI76n/PO2LZ+PVqgKqLZfYvpNTwOdGdbBFSkwBS7eUvleEd2/oi7AE1jJaKMZ3+Bf/zy1lM5e4dlY09xRFQw==",
- "license": "MIT",
- "peerDependencies": {
- "@internationalized/date": ">=3.0.0"
- }
- },
- "node_modules/@zag-js/dialog": {
- "version": "0.77.1",
- "resolved": "https://registry.npmjs.org/@zag-js/dialog/-/dialog-0.77.1.tgz",
- "integrity": "sha512-RaJInIhlihpPUpWheweZPfcHgDv35xvsAG75JLQgGI9NU7seTrxL6I8ADugASPr4l77dBmdu6nhC5o9AeJNEYw==",
- "license": "MIT",
- "dependencies": {
- "@zag-js/anatomy": "0.77.1",
- "@zag-js/aria-hidden": "0.77.1",
- "@zag-js/core": "0.77.1",
- "@zag-js/dismissable": "0.77.1",
- "@zag-js/dom-query": "0.77.1",
- "@zag-js/remove-scroll": "0.77.1",
- "@zag-js/types": "0.77.1",
- "@zag-js/utils": "0.77.1",
- "focus-trap": "7.6.0"
- }
- },
- "node_modules/@zag-js/dismissable": {
- "version": "0.77.1",
- "resolved": "https://registry.npmjs.org/@zag-js/dismissable/-/dismissable-0.77.1.tgz",
- "integrity": "sha512-S0u3NAyVuO2DQH+B1v+e/35BHw2jgnQ+2X+RfzpunNd5Iu1mZA3dekbxPbP8U24jguRuqQiI2WFvw3YMbno9vg==",
- "license": "MIT",
- "dependencies": {
- "@zag-js/dom-event": "0.77.1",
- "@zag-js/dom-query": "0.77.1",
- "@zag-js/interact-outside": "0.77.1",
- "@zag-js/utils": "0.77.1"
- }
- },
- "node_modules/@zag-js/dom-event": {
- "version": "0.77.1",
- "resolved": "https://registry.npmjs.org/@zag-js/dom-event/-/dom-event-0.77.1.tgz",
- "integrity": "sha512-W5LYu/arBgHCGh3UYkkPclEYlDlZXbST+QPvma5pXv4pzkrFS0P189sLNEedE4hkIgkbIRwdaL6YJITbKD03cA==",
- "license": "MIT",
- "dependencies": {
- "@zag-js/dom-query": "0.77.1",
- "@zag-js/text-selection": "0.77.1",
- "@zag-js/types": "0.77.1"
- }
- },
- "node_modules/@zag-js/dom-query": {
- "version": "0.77.1",
- "resolved": "https://registry.npmjs.org/@zag-js/dom-query/-/dom-query-0.77.1.tgz",
- "integrity": "sha512-hr+4lzx4wHqhunjMzAmNp7sma5K58o0ti1h5gXpei1puoeGs8epZfzjW/ZTsKyuVgH3+0f80YOC+oTK6rDAhcw==",
- "license": "MIT"
- },
- "node_modules/@zag-js/editable": {
- "version": "0.77.1",
- "resolved": "https://registry.npmjs.org/@zag-js/editable/-/editable-0.77.1.tgz",
- "integrity": "sha512-iSnamhmODF5LdcGkgnqQBkRP7AyfYL7mCjRY/69kQFcXtsK8psWJxQQZLDJTzylMxMHRM1EwS452NDIG0P3/6w==",
- "license": "MIT",
- "dependencies": {
- "@zag-js/anatomy": "0.77.1",
- "@zag-js/core": "0.77.1",
- "@zag-js/dom-event": "0.77.1",
- "@zag-js/dom-query": "0.77.1",
- "@zag-js/form-utils": "0.77.1",
- "@zag-js/interact-outside": "0.77.1",
- "@zag-js/types": "0.77.1",
- "@zag-js/utils": "0.77.1"
- }
- },
- "node_modules/@zag-js/element-rect": {
- "version": "0.77.1",
- "resolved": "https://registry.npmjs.org/@zag-js/element-rect/-/element-rect-0.77.1.tgz",
- "integrity": "sha512-cHCzdtp30wrM+trYdv0kN9wqUqYc743/muob0gHanDvvbQv8TVZ/tABA6bksL/bWCXk50bm6jiAKV/7dPYdtCQ==",
- "license": "MIT"
- },
- "node_modules/@zag-js/element-size": {
- "version": "0.77.1",
- "resolved": "https://registry.npmjs.org/@zag-js/element-size/-/element-size-0.77.1.tgz",
- "integrity": "sha512-USzS/Q10TW02vHmWKUQ1Fizy8cQ6Aco0IWVHaKkEdzmyCJPL+XZnm5Xe9B8nDpsLt9qgR5TblB0zqqr2EqmQkw==",
- "license": "MIT"
- },
- "node_modules/@zag-js/file-upload": {
- "version": "0.77.1",
- "resolved": "https://registry.npmjs.org/@zag-js/file-upload/-/file-upload-0.77.1.tgz",
- "integrity": "sha512-0MaVDnAuzsL4NO1gssRutuCacFqLql76uF4qaXt6GWygmGpLP24gVfcBeXaBD2HHRB3IZ70MQx8oBq91sNaYMQ==",
- "license": "MIT",
- "dependencies": {
- "@zag-js/anatomy": "0.77.1",
- "@zag-js/core": "0.77.1",
- "@zag-js/dom-query": "0.77.1",
- "@zag-js/file-utils": "0.77.1",
- "@zag-js/i18n-utils": "0.77.1",
- "@zag-js/types": "0.77.1",
- "@zag-js/utils": "0.77.1"
- }
- },
- "node_modules/@zag-js/file-utils": {
- "version": "0.77.1",
- "resolved": "https://registry.npmjs.org/@zag-js/file-utils/-/file-utils-0.77.1.tgz",
- "integrity": "sha512-lBGdjIdoETUdDlL5NxFtKdl5aSd9JvkokuNHTj1VJjBaW1KHQjzDNMJMgPabDyekQWcIOxNok33MhtiW3y3rNA==",
- "license": "MIT",
- "dependencies": {
- "@zag-js/i18n-utils": "0.77.1"
- }
- },
- "node_modules/@zag-js/focus-visible": {
- "version": "0.77.1",
- "resolved": "https://registry.npmjs.org/@zag-js/focus-visible/-/focus-visible-0.77.1.tgz",
- "integrity": "sha512-hQgkYDxbFuiHvV/bFQGQ278s/WXX/M+7qwr9o4If3lSsIz1U5tfUl7vg7K8cNgr9l5tWpWlb7SeGZ0bqrZWNwA==",
- "license": "MIT",
- "dependencies": {
- "@zag-js/dom-query": "0.77.1"
- }
- },
- "node_modules/@zag-js/form-utils": {
- "version": "0.77.1",
- "resolved": "https://registry.npmjs.org/@zag-js/form-utils/-/form-utils-0.77.1.tgz",
- "integrity": "sha512-1AVpIBtAelR4i6V8yJuhVGGAT9MeTbC86ckOH23GsH73QlvK+U55G2PckF0ClWeJ1AHw/vfy4OwibAULvv6cIg==",
- "license": "MIT"
- },
- "node_modules/@zag-js/highlight-word": {
- "version": "0.77.1",
- "resolved": "https://registry.npmjs.org/@zag-js/highlight-word/-/highlight-word-0.77.1.tgz",
- "integrity": "sha512-71Ykri3NHAXUE689pPpAoQOxYhHGZAx0eGjpMH3ZAlmXlG5QXCAeGG3EiDY+REPY5egIkGz6woCWj0E4iKta9Q==",
- "license": "MIT"
- },
- "node_modules/@zag-js/hover-card": {
- "version": "0.77.1",
- "resolved": "https://registry.npmjs.org/@zag-js/hover-card/-/hover-card-0.77.1.tgz",
- "integrity": "sha512-3/pA79VSF4Z+57FD4hQt6UiSMNPL9OO1I0LryM7FhgHqgQ5HA+ICFYdgpoEwQXdYKkyhZ/LetfpXS5gw038+QQ==",
- "license": "MIT",
- "dependencies": {
- "@zag-js/anatomy": "0.77.1",
- "@zag-js/core": "0.77.1",
- "@zag-js/dismissable": "0.77.1",
- "@zag-js/dom-query": "0.77.1",
- "@zag-js/popper": "0.77.1",
- "@zag-js/types": "0.77.1",
- "@zag-js/utils": "0.77.1"
- }
- },
- "node_modules/@zag-js/i18n-utils": {
- "version": "0.77.1",
- "resolved": "https://registry.npmjs.org/@zag-js/i18n-utils/-/i18n-utils-0.77.1.tgz",
- "integrity": "sha512-HJAaCXf6r8b72JajIEQmnekRX/7Dz2sBMrAqpvIV6dpMDjCVcyow8WgfDqE46ipdNLi2XL1lgwaW3h5ckYEL+Q==",
- "license": "MIT",
- "dependencies": {
- "@zag-js/dom-query": "0.77.1"
- }
- },
- "node_modules/@zag-js/interact-outside": {
- "version": "0.77.1",
- "resolved": "https://registry.npmjs.org/@zag-js/interact-outside/-/interact-outside-0.77.1.tgz",
- "integrity": "sha512-q5GhN4CPtYy/YXh8Fv8VCofuYpQ0D2X6r+/gscf4C/5QhXka8q4RwhJXjXnv+7b3jvTTjtXovZ9RqWdNw5rEcg==",
- "license": "MIT",
- "dependencies": {
- "@zag-js/dom-event": "0.77.1",
- "@zag-js/dom-query": "0.77.1",
- "@zag-js/utils": "0.77.1"
- }
- },
- "node_modules/@zag-js/live-region": {
- "version": "0.77.1",
- "resolved": "https://registry.npmjs.org/@zag-js/live-region/-/live-region-0.77.1.tgz",
- "integrity": "sha512-NqTJWRfolf343X7NeDbaFDeC96lSlAAI1BO3ALV8cRIcEO+XF7iW1/8Cdyi2mEXaCvENv7OoBR8pRxD72RqN1g==",
- "license": "MIT"
- },
- "node_modules/@zag-js/menu": {
- "version": "0.77.1",
- "resolved": "https://registry.npmjs.org/@zag-js/menu/-/menu-0.77.1.tgz",
- "integrity": "sha512-NZ4YfiBWpByF98IaSOwASRZHCRIyj/Xbut3F2bTtoIsG+qQYEbQ4g3qXbmkjJC1GM7AmyiI54ZlKqoNn9wGZ7w==",
- "license": "MIT",
- "dependencies": {
- "@zag-js/anatomy": "0.77.1",
- "@zag-js/core": "0.77.1",
- "@zag-js/dismissable": "0.77.1",
- "@zag-js/dom-event": "0.77.1",
- "@zag-js/dom-query": "0.77.1",
- "@zag-js/popper": "0.77.1",
- "@zag-js/rect-utils": "0.77.1",
- "@zag-js/types": "0.77.1",
- "@zag-js/utils": "0.77.1"
- }
- },
- "node_modules/@zag-js/number-input": {
- "version": "0.77.1",
- "resolved": "https://registry.npmjs.org/@zag-js/number-input/-/number-input-0.77.1.tgz",
- "integrity": "sha512-/1fUh0Jrg/Lzc5ilRIsNo2/k7LUm8nXfxogef6yVADPxROUImrRfS1wQaf79L+8vibDyKGRxyPBgEcVjHX1Gaw==",
- "license": "MIT",
- "dependencies": {
- "@internationalized/number": "3.5.4",
- "@zag-js/anatomy": "0.77.1",
- "@zag-js/core": "0.77.1",
- "@zag-js/dom-event": "0.77.1",
- "@zag-js/dom-query": "0.77.1",
- "@zag-js/form-utils": "0.77.1",
- "@zag-js/number-utils": "0.77.1",
- "@zag-js/types": "0.77.1",
- "@zag-js/utils": "0.77.1"
- }
- },
- "node_modules/@zag-js/number-utils": {
- "version": "0.77.1",
- "resolved": "https://registry.npmjs.org/@zag-js/number-utils/-/number-utils-0.77.1.tgz",
- "integrity": "sha512-liP+TsEWP4GtjaaNihYe4MmLkFfI8I2TpDDnPlyo0tnCZLd1/+rNvcuU7lwVck7OOL4NX8uuRnSBP58toRKv6A==",
- "license": "MIT"
- },
- "node_modules/@zag-js/numeric-range": {
- "version": "0.77.1",
- "resolved": "https://registry.npmjs.org/@zag-js/numeric-range/-/numeric-range-0.77.1.tgz",
- "integrity": "sha512-ny75qTNaebomkeWUI7X86MSE7c77/Ek8Oi6wNY6Til6YugaLCm2I5P9BO25sGcYj1w3FeUz2uCxRkPMtnxamrg==",
- "license": "MIT"
- },
- "node_modules/@zag-js/pagination": {
- "version": "0.77.1",
- "resolved": "https://registry.npmjs.org/@zag-js/pagination/-/pagination-0.77.1.tgz",
- "integrity": "sha512-/Ud7kzamnp1F0w2ImerFjH3N9JOSS1JzPfd9BgvyfqkYXQCaUGMNBjiRidOFMTOBUW/ftwuPLZfW6f5FGLEjkQ==",
- "license": "MIT",
- "dependencies": {
- "@zag-js/anatomy": "0.77.1",
- "@zag-js/core": "0.77.1",
- "@zag-js/dom-query": "0.77.1",
- "@zag-js/types": "0.77.1",
- "@zag-js/utils": "0.77.1"
- }
- },
- "node_modules/@zag-js/pin-input": {
- "version": "0.77.1",
- "resolved": "https://registry.npmjs.org/@zag-js/pin-input/-/pin-input-0.77.1.tgz",
- "integrity": "sha512-PhSfQg72lx0dzIWwqcCNZ0nHJ0QgknzE2qL/wDcOQ/J/MYReRx2lX1+RzOmFheNLV+LrAIenXOTL4xCF+8Gfig==",
- "license": "MIT",
- "dependencies": {
- "@zag-js/anatomy": "0.77.1",
- "@zag-js/core": "0.77.1",
- "@zag-js/dom-event": "0.77.1",
- "@zag-js/dom-query": "0.77.1",
- "@zag-js/form-utils": "0.77.1",
- "@zag-js/types": "0.77.1",
- "@zag-js/utils": "0.77.1"
- }
- },
- "node_modules/@zag-js/popover": {
- "version": "0.77.1",
- "resolved": "https://registry.npmjs.org/@zag-js/popover/-/popover-0.77.1.tgz",
- "integrity": "sha512-9LVuyY8LjZf6v26Uvc3+uINy740cPgkcRWaiBiW8SunsyaLzcZIA6PSOIbE14XE2lEENIeBIOYbafuahM45gBQ==",
- "license": "MIT",
- "dependencies": {
- "@zag-js/anatomy": "0.77.1",
- "@zag-js/aria-hidden": "0.77.1",
- "@zag-js/core": "0.77.1",
- "@zag-js/dismissable": "0.77.1",
- "@zag-js/dom-query": "0.77.1",
- "@zag-js/popper": "0.77.1",
- "@zag-js/remove-scroll": "0.77.1",
- "@zag-js/types": "0.77.1",
- "@zag-js/utils": "0.77.1",
- "focus-trap": "7.6.0"
- }
- },
- "node_modules/@zag-js/popper": {
- "version": "0.77.1",
- "resolved": "https://registry.npmjs.org/@zag-js/popper/-/popper-0.77.1.tgz",
- "integrity": "sha512-+DlFlRwuLyUiKl8i+efBYzC6UutcSt1ROHRgmGeB9zwSPvtn1pKlaUqSkxAY2lUDHU56RX8entF5RAeZ8mGwOg==",
- "license": "MIT",
- "dependencies": {
- "@floating-ui/dom": "1.6.12",
- "@zag-js/dom-query": "0.77.1",
- "@zag-js/utils": "0.77.1"
- }
- },
- "node_modules/@zag-js/presence": {
- "version": "0.77.1",
- "resolved": "https://registry.npmjs.org/@zag-js/presence/-/presence-0.77.1.tgz",
- "integrity": "sha512-bVgkleWPZxO3FZCBeXHSL2lTJN8ZaIwRbH2MAwdk70VxNYVtWvo3KsbiNNGR/R5PwAPf45T0x99S+sOrByqMgA==",
- "license": "MIT",
- "dependencies": {
- "@zag-js/core": "0.77.1",
- "@zag-js/types": "0.77.1"
- }
- },
- "node_modules/@zag-js/progress": {
- "version": "0.77.1",
- "resolved": "https://registry.npmjs.org/@zag-js/progress/-/progress-0.77.1.tgz",
- "integrity": "sha512-wX7isF+6ExNm/ci9gMowtZa7cVMW7ss6VAqnwIpzTu8KBCo6fArD/e1EOpeUilrs1qiiDCLhDbZ07OKG0tRVSQ==",
- "license": "MIT",
- "dependencies": {
- "@zag-js/anatomy": "0.77.1",
- "@zag-js/core": "0.77.1",
- "@zag-js/dom-query": "0.77.1",
- "@zag-js/types": "0.77.1",
- "@zag-js/utils": "0.77.1"
- }
- },
- "node_modules/@zag-js/qr-code": {
- "version": "0.77.1",
- "resolved": "https://registry.npmjs.org/@zag-js/qr-code/-/qr-code-0.77.1.tgz",
- "integrity": "sha512-LY5GwSprGhB6wfY/3XFeENiSj+AKUmzSqR3k2KixAeE0H7amPFr27kbeEX33nCvzBE1ZAXFHPtTa3/rvneXk4A==",
- "license": "MIT",
- "dependencies": {
- "@zag-js/anatomy": "0.77.1",
- "@zag-js/core": "0.77.1",
- "@zag-js/dom-query": "0.77.1",
- "@zag-js/types": "0.77.1",
- "@zag-js/utils": "0.77.1",
- "proxy-memoize": "3.0.1",
- "uqr": "0.1.2"
- }
- },
- "node_modules/@zag-js/radio-group": {
- "version": "0.77.1",
- "resolved": "https://registry.npmjs.org/@zag-js/radio-group/-/radio-group-0.77.1.tgz",
- "integrity": "sha512-d4KF4qaVSWO+OqdnZ4DWTNywdgRSaRENTE02nBIGwSwOVPFIP8kQCtd0W+0nVFcXR9e7BIncj1ckOzxZM/+BUA==",
- "license": "MIT",
- "dependencies": {
- "@zag-js/anatomy": "0.77.1",
- "@zag-js/core": "0.77.1",
- "@zag-js/dom-query": "0.77.1",
- "@zag-js/element-rect": "0.77.1",
- "@zag-js/focus-visible": "0.77.1",
- "@zag-js/form-utils": "0.77.1",
- "@zag-js/types": "0.77.1",
- "@zag-js/utils": "0.77.1"
- }
- },
- "node_modules/@zag-js/rating-group": {
- "version": "0.77.1",
- "resolved": "https://registry.npmjs.org/@zag-js/rating-group/-/rating-group-0.77.1.tgz",
- "integrity": "sha512-cBkwCHxOJyCVHDUmKqKRcwDsoYL3kGtZ0WEviUAOVFHR2ZUm24lm7+1geuPrQcEXpSBmIXNbke/jyM0+haxSDQ==",
- "license": "MIT",
- "dependencies": {
- "@zag-js/anatomy": "0.77.1",
- "@zag-js/core": "0.77.1",
- "@zag-js/dom-event": "0.77.1",
- "@zag-js/dom-query": "0.77.1",
- "@zag-js/form-utils": "0.77.1",
- "@zag-js/types": "0.77.1",
- "@zag-js/utils": "0.77.1"
- }
- },
- "node_modules/@zag-js/react": {
- "version": "0.77.1",
- "resolved": "https://registry.npmjs.org/@zag-js/react/-/react-0.77.1.tgz",
- "integrity": "sha512-clP04/bKty4FUh5oTCoQydEiMQt1TO1W7tZ+rq+H9eqstzpaHYbl/FScsioHXecl43jROdd3EPquI8TK3snlZw==",
- "license": "MIT",
- "dependencies": {
- "@zag-js/core": "0.77.1",
- "@zag-js/store": "0.77.1",
- "@zag-js/types": "0.77.1",
- "proxy-compare": "3.0.0"
- },
- "peerDependencies": {
- "react": ">=18.0.0",
- "react-dom": ">=18.0.0"
- }
- },
- "node_modules/@zag-js/rect-utils": {
- "version": "0.77.1",
- "resolved": "https://registry.npmjs.org/@zag-js/rect-utils/-/rect-utils-0.77.1.tgz",
- "integrity": "sha512-AIT90ALk7yrpWu4dJTDOfWOxQNLeGDqbINt+3wz50nwVLMmF3KFG34RMPFwt1mwAYEhON4QD1JjedbL+dXfd7g==",
- "license": "MIT"
- },
- "node_modules/@zag-js/remove-scroll": {
- "version": "0.77.1",
- "resolved": "https://registry.npmjs.org/@zag-js/remove-scroll/-/remove-scroll-0.77.1.tgz",
- "integrity": "sha512-dqRl2sbghzyjQY/xngrllcq4/KvhDYKpP3OV13rFjHEJJnQNYfyRrRF5b2n6W6qZmsNr+xTL+OHk2qWl+BCMvA==",
- "license": "MIT",
- "dependencies": {
- "@zag-js/dom-query": "0.77.1"
- }
- },
- "node_modules/@zag-js/select": {
- "version": "0.77.1",
- "resolved": "https://registry.npmjs.org/@zag-js/select/-/select-0.77.1.tgz",
- "integrity": "sha512-aE+g4xDegGrsdlqDLALh84stwRJwQakNXSw2Rk+gP7BtFvrZ6cHizYvaZVHoVwSn/oNAozYk/eUQMYK1HOdNuw==",
- "license": "MIT",
- "dependencies": {
- "@zag-js/anatomy": "0.77.1",
- "@zag-js/collection": "0.77.1",
- "@zag-js/core": "0.77.1",
- "@zag-js/dismissable": "0.77.1",
- "@zag-js/dom-event": "0.77.1",
- "@zag-js/dom-query": "0.77.1",
- "@zag-js/form-utils": "0.77.1",
- "@zag-js/popper": "0.77.1",
- "@zag-js/types": "0.77.1",
- "@zag-js/utils": "0.77.1"
- }
- },
- "node_modules/@zag-js/signature-pad": {
- "version": "0.77.1",
- "resolved": "https://registry.npmjs.org/@zag-js/signature-pad/-/signature-pad-0.77.1.tgz",
- "integrity": "sha512-B2muP6rhevuV27Y4A5hZt/5GR7WpaUSq7B7a/jAiYZmp8Tutmz1zRFsS9Zc9husESAhJyrtA1AkNDGQiYVau8g==",
- "license": "MIT",
- "dependencies": {
- "@zag-js/anatomy": "0.77.1",
- "@zag-js/core": "0.77.1",
- "@zag-js/dom-event": "0.77.1",
- "@zag-js/dom-query": "0.77.1",
- "@zag-js/types": "0.77.1",
- "@zag-js/utils": "0.77.1",
- "perfect-freehand": "^1.2.2"
- }
- },
- "node_modules/@zag-js/slider": {
- "version": "0.77.1",
- "resolved": "https://registry.npmjs.org/@zag-js/slider/-/slider-0.77.1.tgz",
- "integrity": "sha512-AYcWiQquLyxOKsHreuw+KVf6MEOmBGYuq9qlXm62ZoI5OZIgxKUEw69P8IhP3afowXnrrhq8gnqgEj7W//dDSQ==",
- "license": "MIT",
- "dependencies": {
- "@zag-js/anatomy": "0.77.1",
- "@zag-js/core": "0.77.1",
- "@zag-js/dom-event": "0.77.1",
- "@zag-js/dom-query": "0.77.1",
- "@zag-js/element-size": "0.77.1",
- "@zag-js/form-utils": "0.77.1",
- "@zag-js/numeric-range": "0.77.1",
- "@zag-js/types": "0.77.1",
- "@zag-js/utils": "0.77.1"
- }
- },
- "node_modules/@zag-js/splitter": {
- "version": "0.77.1",
- "resolved": "https://registry.npmjs.org/@zag-js/splitter/-/splitter-0.77.1.tgz",
- "integrity": "sha512-KaNM/3vHAdl2otVzu2G+Y24tqvAy0r3n1yLvU5lNIkDwlr+gwNWJy0cMOXf3DFokhI5ijMbtuux8dFT7Wmib+g==",
- "license": "MIT",
- "dependencies": {
- "@zag-js/anatomy": "0.77.1",
- "@zag-js/core": "0.77.1",
- "@zag-js/dom-event": "0.77.1",
- "@zag-js/dom-query": "0.77.1",
- "@zag-js/number-utils": "0.77.1",
- "@zag-js/types": "0.77.1",
- "@zag-js/utils": "0.77.1"
- }
- },
- "node_modules/@zag-js/steps": {
- "version": "0.77.1",
- "resolved": "https://registry.npmjs.org/@zag-js/steps/-/steps-0.77.1.tgz",
- "integrity": "sha512-CbVlWNQkHy+SRzTWTKd0sWvKXfg112ped6/I6ei/tSC4vqJdFSm9/QRXGvFiSy06wOoN3Oqlw93KlwbdpEhH+g==",
- "license": "MIT",
- "dependencies": {
- "@zag-js/anatomy": "0.77.1",
- "@zag-js/core": "0.77.1",
- "@zag-js/dom-query": "0.77.1",
- "@zag-js/types": "0.77.1",
- "@zag-js/utils": "0.77.1"
- }
- },
- "node_modules/@zag-js/store": {
- "version": "0.77.1",
- "resolved": "https://registry.npmjs.org/@zag-js/store/-/store-0.77.1.tgz",
- "integrity": "sha512-qk9uuXehAiq9BG0Rhd6nGwYI1WiXa3KcFydxbiMnlGiET8/zAeNTw5biYW5riptAmZ6xiwVUNtzg0T58+3YIag==",
- "license": "MIT",
- "dependencies": {
- "proxy-compare": "3.0.0"
- }
- },
- "node_modules/@zag-js/switch": {
- "version": "0.77.1",
- "resolved": "https://registry.npmjs.org/@zag-js/switch/-/switch-0.77.1.tgz",
- "integrity": "sha512-GbIdY+Ph3XZWISOCQ3/MM+tbq/EnyEGGs1falAlVmuaVfS1gGsa9p8NKjy2mlrE+Ho8aScZgSYZfzoZfFVcWDw==",
- "license": "MIT",
- "dependencies": {
- "@zag-js/anatomy": "0.77.1",
- "@zag-js/core": "0.77.1",
- "@zag-js/dom-event": "0.77.1",
- "@zag-js/dom-query": "0.77.1",
- "@zag-js/focus-visible": "0.77.1",
- "@zag-js/form-utils": "0.77.1",
- "@zag-js/types": "0.77.1",
- "@zag-js/utils": "0.77.1"
- }
- },
- "node_modules/@zag-js/tabs": {
- "version": "0.77.1",
- "resolved": "https://registry.npmjs.org/@zag-js/tabs/-/tabs-0.77.1.tgz",
- "integrity": "sha512-YEL+Vyx2c6sp3qj3rgb9X81gBPOrCGke1OshZMkv6nUhmzVvajfAwKdwbTKSZ4PwLTPAkfyjd8t1MFdWdutCKg==",
- "license": "MIT",
- "dependencies": {
- "@zag-js/anatomy": "0.77.1",
- "@zag-js/core": "0.77.1",
- "@zag-js/dom-event": "0.77.1",
- "@zag-js/dom-query": "0.77.1",
- "@zag-js/element-rect": "0.77.1",
- "@zag-js/types": "0.77.1",
- "@zag-js/utils": "0.77.1"
- }
- },
- "node_modules/@zag-js/tags-input": {
- "version": "0.77.1",
- "resolved": "https://registry.npmjs.org/@zag-js/tags-input/-/tags-input-0.77.1.tgz",
- "integrity": "sha512-+N+vtfRDNzAngqT+zk5PwoXJafaIQWioEAEMvIJYn77DNZU+Vi0Du9T1O9/hDcI75/cPtdXCIE0oor+fWDHneA==",
- "license": "MIT",
- "dependencies": {
- "@zag-js/anatomy": "0.77.1",
- "@zag-js/auto-resize": "0.77.1",
- "@zag-js/core": "0.77.1",
- "@zag-js/dom-event": "0.77.1",
- "@zag-js/dom-query": "0.77.1",
- "@zag-js/form-utils": "0.77.1",
- "@zag-js/interact-outside": "0.77.1",
- "@zag-js/live-region": "0.77.1",
- "@zag-js/types": "0.77.1",
- "@zag-js/utils": "0.77.1"
- }
- },
- "node_modules/@zag-js/text-selection": {
- "version": "0.77.1",
- "resolved": "https://registry.npmjs.org/@zag-js/text-selection/-/text-selection-0.77.1.tgz",
- "integrity": "sha512-5bg4qvEQCQBTW7Ow4yuzumgt0fWWRSqRXaOr/27xDuyTgq7pCQzH5Yfg0pWoQGBMop9djrxN3Z1XrESbXJyZEA==",
- "license": "MIT",
- "dependencies": {
- "@zag-js/dom-query": "0.77.1"
- }
- },
- "node_modules/@zag-js/time-picker": {
- "version": "0.77.1",
- "resolved": "https://registry.npmjs.org/@zag-js/time-picker/-/time-picker-0.77.1.tgz",
- "integrity": "sha512-Dq7SD/CBv5qrknxx3t5b/cotmS6eZx5BCPkXQfKIC8jajdpSSLsWq891RSrEk7zTAGjx5iY1q3VSGT5EyPEIOQ==",
- "license": "MIT",
- "dependencies": {
- "@zag-js/anatomy": "0.77.1",
- "@zag-js/core": "0.77.1",
- "@zag-js/dismissable": "0.77.1",
- "@zag-js/dom-event": "^0.77.1",
- "@zag-js/dom-query": "0.77.1",
- "@zag-js/popper": "0.77.1",
- "@zag-js/types": "0.77.1",
- "@zag-js/utils": "0.77.1"
- },
- "peerDependencies": {
- "@internationalized/date": ">=3.0.0"
- }
- },
- "node_modules/@zag-js/timer": {
- "version": "0.77.1",
- "resolved": "https://registry.npmjs.org/@zag-js/timer/-/timer-0.77.1.tgz",
- "integrity": "sha512-INSMVQYJCkvEgy4bvr0g+PUPvtetm0Zrh9wC29UqgbQKpdcsvFKI8yDu3Sm4Mk9dp0AkMhS2GhT92r+TeHLomg==",
- "license": "MIT",
- "dependencies": {
- "@zag-js/anatomy": "0.77.1",
- "@zag-js/core": "0.77.1",
- "@zag-js/dom-query": "0.77.1",
- "@zag-js/types": "0.77.1",
- "@zag-js/utils": "0.77.1"
- }
- },
- "node_modules/@zag-js/toast": {
- "version": "0.77.1",
- "resolved": "https://registry.npmjs.org/@zag-js/toast/-/toast-0.77.1.tgz",
- "integrity": "sha512-ohaoox2TXf0NpC4W3mNKgjyZGg+Zz/+QeQBtglcIBLyr39o/pkrK3wHc27+twKciu4ZcWC5jucsR6lo9A12wbQ==",
- "license": "MIT",
- "dependencies": {
- "@zag-js/anatomy": "0.77.1",
- "@zag-js/core": "0.77.1",
- "@zag-js/dismissable": "0.77.1",
- "@zag-js/dom-event": "0.77.1",
- "@zag-js/dom-query": "0.77.1",
- "@zag-js/types": "0.77.1",
- "@zag-js/utils": "0.77.1"
- }
- },
- "node_modules/@zag-js/toggle-group": {
- "version": "0.77.1",
- "resolved": "https://registry.npmjs.org/@zag-js/toggle-group/-/toggle-group-0.77.1.tgz",
- "integrity": "sha512-wQXUBClzBmPHL0jqTOXD78mmlIABObxgqHG3jMgutl/7TqPMk65jatR0piWxkAF8dn+Oav5HLIOaHFKR/m+RCw==",
- "license": "MIT",
- "dependencies": {
- "@zag-js/anatomy": "0.77.1",
- "@zag-js/core": "0.77.1",
- "@zag-js/dom-event": "0.77.1",
- "@zag-js/dom-query": "0.77.1",
- "@zag-js/types": "0.77.1",
- "@zag-js/utils": "0.77.1"
- }
- },
- "node_modules/@zag-js/tooltip": {
- "version": "0.77.1",
- "resolved": "https://registry.npmjs.org/@zag-js/tooltip/-/tooltip-0.77.1.tgz",
- "integrity": "sha512-0Vu9rC9StV+QrXMsGiOOvGY3NIVqKQt1oh5AaFyIo/SglnJ2UvYB7c/ERMSyW/YoTi/Pv7+7kaZzitR2JGQ+Cw==",
- "license": "MIT",
- "dependencies": {
- "@zag-js/anatomy": "0.77.1",
- "@zag-js/core": "0.77.1",
- "@zag-js/dom-event": "0.77.1",
- "@zag-js/dom-query": "0.77.1",
- "@zag-js/focus-visible": "0.77.1",
- "@zag-js/popper": "0.77.1",
- "@zag-js/types": "0.77.1",
- "@zag-js/utils": "0.77.1"
- }
- },
- "node_modules/@zag-js/tree-view": {
- "version": "0.77.1",
- "resolved": "https://registry.npmjs.org/@zag-js/tree-view/-/tree-view-0.77.1.tgz",
- "integrity": "sha512-3Otb+pVB7KFbCs4Xi4w6mU0sYz3z/+CaTQp3jN6VRNzUMSCVKRar/NuZbnmCExj+4iLUEvANrOlkneBr6stFpA==",
- "license": "MIT",
- "dependencies": {
- "@zag-js/anatomy": "0.77.1",
- "@zag-js/collection": "0.77.1",
- "@zag-js/core": "0.77.1",
- "@zag-js/dom-event": "0.77.1",
- "@zag-js/dom-query": "0.77.1",
- "@zag-js/types": "0.77.1",
- "@zag-js/utils": "0.77.1"
- }
- },
- "node_modules/@zag-js/types": {
- "version": "0.77.1",
- "resolved": "https://registry.npmjs.org/@zag-js/types/-/types-0.77.1.tgz",
- "integrity": "sha512-GtZKdiltPDxp19qmXa/L+a1ffL67bmSxAPlT/wVv2G7uLtL82GKKT86m2yaUqKq+VUE47kXjarj9pTcTrwTSVQ==",
- "license": "MIT",
- "dependencies": {
- "csstype": "3.1.3"
- }
- },
- "node_modules/@zag-js/utils": {
- "version": "0.77.1",
- "resolved": "https://registry.npmjs.org/@zag-js/utils/-/utils-0.77.1.tgz",
- "integrity": "sha512-sYCRwWQlQeYuRUvuDX0ji6Dnt/Ld6bIbVXV7NtbHCpz/G0sOnVaHJLTOoIFt1KEIrm9QvDtj/JFJGNi9Jc1Bew==",
- "license": "MIT"
- },
"node_modules/acorn": {
"version": "8.14.0",
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz",
@@ -4525,18 +3261,6 @@
"integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
"dev": true
},
- "node_modules/aria-hidden": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/aria-hidden/-/aria-hidden-1.2.4.tgz",
- "integrity": "sha512-y+CcFFwelSXpLZk/7fMB2mUbGtX9lKycf1MWJ7CaTIERyitVlyQx6C+sxcROU2BAJ24OiZyK+8wj2i8AlBoS3A==",
- "license": "MIT",
- "dependencies": {
- "tslib": "^2.0.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
"node_modules/aria-query": {
"version": "5.3.2",
"resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz",
@@ -5075,12 +3799,6 @@
"simple-swizzle": "^0.2.2"
}
},
- "node_modules/color2k": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/color2k/-/color2k-2.0.3.tgz",
- "integrity": "sha512-zW190nQTIoXcGCaU08DvVNFTmQhUpnJfVuAKfWqUQkflXKpaDdpaYoM0iluLS9lgJNHyBF58KKA2FBEwkD7wog==",
- "license": "MIT"
- },
"node_modules/commander": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz",
@@ -5136,16 +3854,6 @@
"node": ">= 8"
}
},
- "node_modules/css-box-model": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/css-box-model/-/css-box-model-1.2.1.tgz",
- "integrity": "sha512-a7Vr4Q/kd/aw96bnJG332W9V9LkJO69JRcaCYDUqjp6/z0w6VcZjgAcTbgFxEPfBgdnAwlh3iwu+hLopa+flJw==",
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "tiny-invariant": "^1.0.6"
- }
- },
"node_modules/css-vendor": {
"version": "2.0.8",
"resolved": "https://registry.npmjs.org/css-vendor/-/css-vendor-2.0.8.tgz",
@@ -6724,15 +5432,6 @@
"integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==",
"dev": true
},
- "node_modules/focus-trap": {
- "version": "7.6.0",
- "resolved": "https://registry.npmjs.org/focus-trap/-/focus-trap-7.6.0.tgz",
- "integrity": "sha512-1td0l3pMkWJLFipobUcGaf+5DTY4PLDDrcqoSaKP8ediO/CoWCCYk/fT/Y2A4e6TNB+Sh6clRJCjOPPnKoNHnQ==",
- "license": "MIT",
- "dependencies": {
- "tabbable": "^6.2.0"
- }
- },
"node_modules/fontsource-roboto": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/fontsource-roboto/-/fontsource-roboto-4.0.0.tgz",
@@ -6800,23 +5499,6 @@
}
}
},
- "node_modules/framesync": {
- "version": "6.1.2",
- "resolved": "https://registry.npmjs.org/framesync/-/framesync-6.1.2.tgz",
- "integrity": "sha512-jBTqhX6KaQVDyus8muwZbBeGGP0XgujBRbQ7gM7BRdS3CadCZIHiawyzYLnafYcvZIh5j8WE7cxZKFn7dXhu9g==",
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "tslib": "2.4.0"
- }
- },
- "node_modules/framesync/node_modules/tslib": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
- "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==",
- "license": "0BSD",
- "peer": true
- },
"node_modules/fs.realpath": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
@@ -7765,15 +6447,6 @@
"json-buffer": "3.0.1"
}
},
- "node_modules/klona": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.6.tgz",
- "integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==",
- "license": "MIT",
- "engines": {
- "node": ">= 8"
- }
- },
"node_modules/language-subtag-registry": {
"version": "0.3.23",
"resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.23.tgz",
@@ -7839,12 +6512,6 @@
"integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
"dev": true
},
- "node_modules/lodash.mergewith": {
- "version": "4.6.2",
- "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.2.tgz",
- "integrity": "sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==",
- "license": "MIT"
- },
"node_modules/loose-envify": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
@@ -8337,12 +7004,6 @@
"node": ">=8"
}
},
- "node_modules/perfect-freehand": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/perfect-freehand/-/perfect-freehand-1.2.2.tgz",
- "integrity": "sha512-eh31l019WICQ03pkF3FSzHxB8n07ItqIQ++G5UV8JX0zVOXzgTGCqnRR0jJ2h9U8/2uW4W4mtGJELt9kEV0CFQ==",
- "license": "MIT"
- },
"node_modules/pg": {
"version": "8.13.1",
"resolved": "https://registry.npmjs.org/pg/-/pg-8.13.1.tgz",
@@ -8701,21 +7362,6 @@
"react-is": "^16.13.1"
}
},
- "node_modules/proxy-compare": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/proxy-compare/-/proxy-compare-3.0.0.tgz",
- "integrity": "sha512-y44MCkgtZUCT9tZGuE278fB7PWVf7fRYy0vbRXAts2o5F0EfC4fIQrvQQGBJo1WJbFcVLXzApOscyJuZqHQc1w==",
- "license": "MIT"
- },
- "node_modules/proxy-memoize": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/proxy-memoize/-/proxy-memoize-3.0.1.tgz",
- "integrity": "sha512-VDdG/VYtOgdGkWJx7y0o7p+zArSf2383Isci8C+BP3YXgMYDoPd3cCBjw0JdWb6YBb9sFiOPbAADDVTPJnh+9g==",
- "license": "MIT",
- "dependencies": {
- "proxy-compare": "^3.0.0"
- }
- },
"node_modules/punycode": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz",
@@ -8767,13 +7413,6 @@
"react": "^18.2.0"
}
},
- "node_modules/react-fast-compare": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.2.tgz",
- "integrity": "sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==",
- "license": "MIT",
- "peer": true
- },
"node_modules/react-icons": {
"version": "5.3.0",
"resolved": "https://registry.npmjs.org/react-icons/-/react-icons-5.3.0.tgz",
@@ -9621,13 +8260,6 @@
"node": ">=0.8"
}
},
- "node_modules/tiny-invariant": {
- "version": "1.3.3",
- "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.3.tgz",
- "integrity": "sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==",
- "license": "MIT",
- "peer": true
- },
"node_modules/tiny-warning": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz",
@@ -9858,12 +8490,6 @@
"browserslist": ">= 4.21.0"
}
},
- "node_modules/uqr": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/uqr/-/uqr-0.1.2.tgz",
- "integrity": "sha512-MJu7ypHq6QasgF5YRTjqscSzQp/W11zoUk6kvmlH+fmWEs63Y0Eib13hYFwAzagRJcVY8WVnlV+eBDUGMJ5IbA==",
- "license": "MIT"
- },
"node_modules/uri-js": {
"version": "4.4.1",
"resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
diff --git a/package.json b/package.json
index 2c581b1..73ab22a 100644
--- a/package.json
+++ b/package.json
@@ -9,10 +9,6 @@
"lint": "next lint"
},
"dependencies": {
- "@chakra-ui/form-control": "^2.2.0",
- "@chakra-ui/next-js": "^2.4.2",
- "@chakra-ui/react": "^3.1.2",
- "@chakra-ui/toast": "^7.0.2",
"@emotion/react": "^11.13.5",
"@emotion/styled": "^11.13.5",
"@headlessui/react": "^2.2.0",
diff --git a/src/app/Products/triggers/page.tsx b/src/app/Products/triggers/page.tsx
index 95207b6..66a724e 100644
--- a/src/app/Products/triggers/page.tsx
+++ b/src/app/Products/triggers/page.tsx
@@ -1,4 +1,3 @@
-import { Button } from "@components/ui/button";
import { getARTriggers} from "@queries/PSA";
import { psa } from '@db/schema/Psa';
import partTypes from 'src/data/parts_cats.json';
@@ -29,7 +28,7 @@ export default async function TriggersPage() {
{psa.modelnumber} |
${Number(psa.salePrice).toFixed(2)}
-
+
|
))}
diff --git a/src/app/Products/uppers/page.tsx b/src/app/Products/uppers/page.tsx
index 2b351d7..399a8b1 100644
--- a/src/app/Products/uppers/page.tsx
+++ b/src/app/Products/uppers/page.tsx
@@ -1,4 +1,3 @@
-import { Button } from "@components/ui/button";
import { getPSA, getUpperReciever } from "@queries/PSA";
import { psa } from '@db/schema/Psa';
import styles from '../styles.module.css';
@@ -28,7 +27,7 @@ export default async function UpperReceiverPage() {
{psa.modelnumber} |
${Number(psa.salePrice).toFixed(2)}
-
+
|
))}
diff --git a/src/app/layout.tsx b/src/app/layout.tsx
index aef6217..053fa98 100644
--- a/src/app/layout.tsx
+++ b/src/app/layout.tsx
@@ -1,4 +1,4 @@
-import { Provider } from "../components/ui/provider"
+//import { Provider } from "../components/ui/provider"
import "../styles/globals.css";
import Navbar from "../components/Navbar";
import PopNav from "@src/components/PopNav/page";
@@ -13,10 +13,10 @@ export default function RootLayout(props: { children: React.ReactNode }) {
return (
-
+
- {children}
+ {children}
)
diff --git a/src/components/ui/accordion.tsx b/src/components/ui/accordion.tsx
deleted file mode 100644
index d8763da..0000000
--- a/src/components/ui/accordion.tsx
+++ /dev/null
@@ -1,47 +0,0 @@
-import { Accordion, HStack } from "@chakra-ui/react"
-import * as React from "react"
-import { LuChevronDown } from "react-icons/lu"
-
-interface AccordionItemTriggerProps extends Accordion.ItemTriggerProps {
- indicatorPlacement?: "start" | "end"
-}
-
-export const AccordionItemTrigger = React.forwardRef<
- HTMLButtonElement,
- AccordionItemTriggerProps
->(function AccordionItemTrigger(props, ref) {
- const { children, indicatorPlacement = "end", ...rest } = props
- return (
-
- {indicatorPlacement === "start" && (
-
-
-
- )}
-
- {children}
-
- {indicatorPlacement === "end" && (
-
-
-
- )}
-
- )
-})
-
-interface AccordionItemContentProps extends Accordion.ItemContentProps {}
-
-export const AccordionItemContent = React.forwardRef<
- HTMLDivElement,
- AccordionItemContentProps
->(function AccordionItemContent(props, ref) {
- return (
-
-
-
- )
-})
-
-export const AccordionRoot = Accordion.Root
-export const AccordionItem = Accordion.Item
diff --git a/src/components/ui/action-bar.tsx b/src/components/ui/action-bar.tsx
deleted file mode 100644
index 98f798a..0000000
--- a/src/components/ui/action-bar.tsx
+++ /dev/null
@@ -1,40 +0,0 @@
-import { ActionBar, Portal } from "@chakra-ui/react"
-import { CloseButton } from "./close-button"
-import * as React from "react"
-
-interface ActionBarContentProps extends ActionBar.ContentProps {
- portalled?: boolean
- portalRef?: React.RefObject
-}
-
-export const ActionBarContent = React.forwardRef<
- HTMLDivElement,
- ActionBarContentProps
->(function ActionBarContent(props, ref) {
- const { children, portalled = true, portalRef, ...rest } = props
-
- return (
-
-
-
- {children}
-
-
-
- )
-})
-
-export const ActionBarCloseTrigger = React.forwardRef<
- HTMLButtonElement,
- ActionBar.CloseTriggerProps
->(function ActionBarCloseTrigger(props, ref) {
- return (
-
-
-
- )
-})
-
-export const ActionBarRoot = ActionBar.Root
-export const ActionBarSelectionTrigger = ActionBar.SelectionTrigger
-export const ActionBarSeparator = ActionBar.Separator
diff --git a/src/components/ui/alert.tsx b/src/components/ui/alert.tsx
deleted file mode 100644
index 5c1cd6f..0000000
--- a/src/components/ui/alert.tsx
+++ /dev/null
@@ -1,51 +0,0 @@
-import { Alert as ChakraAlert } from "@chakra-ui/react"
-import { CloseButton } from "./close-button"
-import * as React from "react"
-
-export interface AlertProps extends Omit {
- startElement?: React.ReactNode
- endElement?: React.ReactNode
- title?: React.ReactNode
- icon?: React.ReactElement
- closable?: boolean
- onClose?: () => void
-}
-
-export const Alert = React.forwardRef(
- function Alert(props, ref) {
- const {
- title,
- children,
- icon,
- closable,
- onClose,
- startElement,
- endElement,
- ...rest
- } = props
- return (
-
- {startElement || {icon}}
- {children ? (
-
- {title}
- {children}
-
- ) : (
- {title}
- )}
- {endElement}
- {closable && (
-
- )}
-
- )
- },
-)
diff --git a/src/components/ui/avatar.tsx b/src/components/ui/avatar.tsx
deleted file mode 100644
index cd84664..0000000
--- a/src/components/ui/avatar.tsx
+++ /dev/null
@@ -1,74 +0,0 @@
-"use client"
-
-import type { GroupProps, SlotRecipeProps } from "@chakra-ui/react"
-import { Avatar as ChakraAvatar, Group } from "@chakra-ui/react"
-import * as React from "react"
-
-type ImageProps = React.ImgHTMLAttributes
-
-export interface AvatarProps extends ChakraAvatar.RootProps {
- name?: string
- src?: string
- srcSet?: string
- loading?: ImageProps["loading"]
- icon?: React.ReactElement
- fallback?: React.ReactNode
-}
-
-export const Avatar = React.forwardRef(
- function Avatar(props, ref) {
- const { name, src, srcSet, loading, icon, fallback, children, ...rest } =
- props
- return (
-
-
- {fallback}
-
-
- {children}
-
- )
- },
-)
-
-interface AvatarFallbackProps extends ChakraAvatar.FallbackProps {
- name?: string
- icon?: React.ReactElement
-}
-
-const AvatarFallback = React.forwardRef(
- function AvatarFallback(props, ref) {
- const { name, icon, children, ...rest } = props
- return (
-
- {children}
- {name != null && children == null && <>{getInitials(name)}>}
- {name == null && children == null && (
- {icon}
- )}
-
- )
- },
-)
-
-function getInitials(name: string) {
- const names = name.trim().split(" ")
- const firstName = names[0] != null ? names[0] : ""
- const lastName = names.length > 1 ? names[names.length - 1] : ""
- return firstName && lastName
- ? `${firstName.charAt(0)}${lastName.charAt(0)}`
- : firstName.charAt(0)
-}
-
-interface AvatarGroupProps extends GroupProps, SlotRecipeProps<"avatar"> {}
-
-export const AvatarGroup = React.forwardRef(
- function AvatarGroup(props, ref) {
- const { size, variant, borderless, ...rest } = props
- return (
-
-
-
- )
- },
-)
diff --git a/src/components/ui/blockquote.tsx b/src/components/ui/blockquote.tsx
deleted file mode 100644
index 166446b..0000000
--- a/src/components/ui/blockquote.tsx
+++ /dev/null
@@ -1,31 +0,0 @@
-import { Blockquote as ChakraBlockquote } from "@chakra-ui/react"
-import * as React from "react"
-
-export interface BlockquoteProps extends ChakraBlockquote.RootProps {
- cite?: React.ReactNode
- citeUrl?: string
- icon?: React.ReactNode
- showDash?: boolean
-}
-
-export const Blockquote = React.forwardRef(
- function Blockquote(props, ref) {
- const { children, cite, citeUrl, showDash, icon, ...rest } = props
-
- return (
-
- {icon}
-
- {children}
-
- {cite && (
-
- {showDash ? <>—> : null} {cite}
-
- )}
-
- )
- },
-)
-
-export const BlockquoteIcon = ChakraBlockquote.Icon
diff --git a/src/components/ui/breadcrumb.tsx b/src/components/ui/breadcrumb.tsx
deleted file mode 100644
index 960e769..0000000
--- a/src/components/ui/breadcrumb.tsx
+++ /dev/null
@@ -1,40 +0,0 @@
-import { Breadcrumb, type SystemStyleObject } from "@chakra-ui/react"
-import * as React from "react"
-
-export interface BreadcrumbRootProps extends Breadcrumb.RootProps {
- separator?: React.ReactNode
- separatorGap?: SystemStyleObject["gap"]
-}
-
-export const BreadcrumbRoot = React.forwardRef<
- HTMLDivElement,
- BreadcrumbRootProps
->(function BreadcrumbRoot(props, ref) {
- const { separator, separatorGap, children, ...rest } = props
-
- const validChildren = React.Children.toArray(children).filter(
- React.isValidElement,
- )
-
- return (
-
-
- {validChildren.map((child, index) => {
- const last = index === validChildren.length - 1
- return (
-
- {child}
- {!last && (
- {separator}
- )}
-
- )
- })}
-
-
- )
-})
-
-export const BreadcrumbLink = Breadcrumb.Link
-export const BreadcrumbCurrentLink = Breadcrumb.CurrentLink
-export const BreadcrumbEllipsis = Breadcrumb.Ellipsis
diff --git a/src/components/ui/button.tsx b/src/components/ui/button.tsx
deleted file mode 100644
index 32e6b65..0000000
--- a/src/components/ui/button.tsx
+++ /dev/null
@@ -1,57 +0,0 @@
-import * as React from "react"
-import { Slot } from "@radix-ui/react-slot"
-import { cva, type VariantProps, } from "class-variance-authority"
-import { cn } from "src/lib/utils"
-
-
-const buttonVariants = cva(
- "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
- {
- variants: {
- variant: {
- default:
- "bg-primary text-primary-foreground shadow hover:bg-primary/90",
- destructive:
- "bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90",
- outline:
- "border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground",
- secondary:
- "bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80",
- ghost: "hover:bg-accent hover:text-accent-foreground",
- link: "text-primary underline-offset-4 hover:underline",
- },
- size: {
- default: "h-9 px-4 py-2",
- sm: "h-8 rounded-md px-3 text-xs",
- lg: "h-10 rounded-md px-8",
- icon: "h-9 w-9",
- },
- },
- defaultVariants: {
- variant: "default",
- size: "default",
- },
- }
-)
-
-export interface ButtonProps
- extends React.ButtonHTMLAttributes,
- VariantProps {
- asChild?: boolean
-}
-
-const Button = React.forwardRef(
- ({ className, variant, size, asChild = false, ...props }, ref) => {
- const Comp = asChild ? Slot : "button"
- return (
-
- )
- }
-)
-Button.displayName = "Button"
-
-export { Button, buttonVariants }
diff --git a/src/components/ui/checkbox-card.tsx b/src/components/ui/checkbox-card.tsx
deleted file mode 100644
index 063925b..0000000
--- a/src/components/ui/checkbox-card.tsx
+++ /dev/null
@@ -1,58 +0,0 @@
-import { CheckboxCard as ChakraCheckboxCard } from "@chakra-ui/react"
-import * as React from "react"
-
-export interface CheckboxCardProps extends ChakraCheckboxCard.RootProps {
- icon?: React.ReactElement
- label?: React.ReactNode
- description?: React.ReactNode
- addon?: React.ReactNode
- indicator?: React.ReactNode | null
- indicatorPlacement?: "start" | "end" | "inside"
- inputProps?: React.InputHTMLAttributes
-}
-
-export const CheckboxCard = React.forwardRef<
- HTMLInputElement,
- CheckboxCardProps
->(function CheckboxCard(props, ref) {
- const {
- inputProps,
- label,
- description,
- icon,
- addon,
- indicator = ,
- indicatorPlacement = "end",
- ...rest
- } = props
-
- const hasContent = label || description || icon
- const ContentWrapper = indicator ? ChakraCheckboxCard.Content : React.Fragment
-
- return (
-
-
-
- {indicatorPlacement === "start" && indicator}
- {hasContent && (
-
- {icon}
- {label && (
- {label}
- )}
- {description && (
-
- {description}
-
- )}
- {indicatorPlacement === "inside" && indicator}
-
- )}
- {indicatorPlacement === "end" && indicator}
-
- {addon && {addon}}
-
- )
-})
-
-export const CheckboxCardIndicator = ChakraCheckboxCard.Indicator
diff --git a/src/components/ui/checkbox.tsx b/src/components/ui/checkbox.tsx
deleted file mode 100644
index 2a27c2f..0000000
--- a/src/components/ui/checkbox.tsx
+++ /dev/null
@@ -1,25 +0,0 @@
-import { Checkbox as ChakraCheckbox } from "@chakra-ui/react"
-import * as React from "react"
-
-export interface CheckboxProps extends ChakraCheckbox.RootProps {
- icon?: React.ReactNode
- inputProps?: React.InputHTMLAttributes
- rootRef?: React.Ref
-}
-
-export const Checkbox = React.forwardRef(
- function Checkbox(props, ref) {
- const { icon, children, inputProps, rootRef, ...rest } = props
- return (
-
-
-
- {icon || }
-
- {children != null && (
- {children}
- )}
-
- )
- },
-)
diff --git a/src/components/ui/clipboard.tsx b/src/components/ui/clipboard.tsx
deleted file mode 100644
index 958cb59..0000000
--- a/src/components/ui/clipboard.tsx
+++ /dev/null
@@ -1,108 +0,0 @@
-import type { ButtonProps, InputProps } from "@chakra-ui/react"
-import {
- Button,
- Clipboard as ChakraClipboard,
- IconButton,
- Input,
-} from "@chakra-ui/react"
-import * as React from "react"
-import { LuCheck, LuClipboard, LuLink } from "react-icons/lu"
-
-const ClipboardIcon = React.forwardRef<
- HTMLDivElement,
- ChakraClipboard.IndicatorProps
->(function ClipboardIcon(props, ref) {
- return (
- } {...props} ref={ref}>
-
-
- )
-})
-
-const ClipboardCopyText = React.forwardRef<
- HTMLDivElement,
- ChakraClipboard.IndicatorProps
->(function ClipboardCopyText(props, ref) {
- return (
-
- Copy
-
- )
-})
-
-export const ClipboardLabel = React.forwardRef<
- HTMLLabelElement,
- ChakraClipboard.LabelProps
->(function ClipboardLabel(props, ref) {
- return (
-
- )
-})
-
-export const ClipboardButton = React.forwardRef(
- function ClipboardButton(props, ref) {
- return (
-
-
-
- )
- },
-)
-
-export const ClipboardLink = React.forwardRef(
- function ClipboardLink(props, ref) {
- return (
-
-
-
- )
- },
-)
-
-export const ClipboardIconButton = React.forwardRef<
- HTMLButtonElement,
- ButtonProps
->(function ClipboardIconButton(props, ref) {
- return (
-
-
-
-
-
-
- )
-})
-
-export const ClipboardInput = React.forwardRef(
- function ClipboardInputElement(props, ref) {
- return (
-
-
-
- )
- },
-)
-
-export const ClipboardRoot = ChakraClipboard.Root
diff --git a/src/components/ui/close-button.tsx b/src/components/ui/close-button.tsx
deleted file mode 100644
index 8a99007..0000000
--- a/src/components/ui/close-button.tsx
+++ /dev/null
@@ -1,17 +0,0 @@
-import type { ButtonProps as ChakraCloseButtonProps } from "@chakra-ui/react"
-import { IconButton as ChakraIconButton } from "@chakra-ui/react"
-import * as React from "react"
-import { LuX } from "react-icons/lu"
-
-export interface CloseButtonProps extends ChakraCloseButtonProps {}
-
-export const CloseButton = React.forwardRef<
- HTMLButtonElement,
- CloseButtonProps
->(function CloseButton(props, ref) {
- return (
-
- {props.children ?? }
-
- )
-})
diff --git a/src/components/ui/color-mode.tsx b/src/components/ui/color-mode.tsx
deleted file mode 100644
index a34b968..0000000
--- a/src/components/ui/color-mode.tsx
+++ /dev/null
@@ -1,67 +0,0 @@
-"use client"
-
-import type { IconButtonProps } from "@chakra-ui/react"
-import { ClientOnly, IconButton, Skeleton } from "@chakra-ui/react"
-import { ThemeProvider, useTheme } from "next-themes"
-import type { ThemeProviderProps } from "next-themes"
-import * as React from "react"
-import { LuMoon, LuSun } from "react-icons/lu"
-
-export interface ColorModeProviderProps extends ThemeProviderProps {}
-
-export function ColorModeProvider(props: ColorModeProviderProps) {
- return (
-
- )
-}
-
-export function useColorMode() {
- const { resolvedTheme, setTheme } = useTheme()
- const toggleColorMode = () => {
- setTheme(resolvedTheme === "light" ? "dark" : "light")
- }
- return {
- colorMode: resolvedTheme,
- setColorMode: setTheme,
- toggleColorMode,
- }
-}
-
-export function useColorModeValue(light: T, dark: T) {
- const { colorMode } = useColorMode()
- return colorMode === "light" ? light : dark
-}
-
-export function ColorModeIcon() {
- const { colorMode } = useColorMode()
- return colorMode === "light" ? :
-}
-
-interface ColorModeButtonProps extends Omit {}
-
-export const ColorModeButton = React.forwardRef<
- HTMLButtonElement,
- ColorModeButtonProps
->(function ColorModeButton(props, ref) {
- const { toggleColorMode } = useColorMode()
- return (
- }>
-
-
-
-
- )
-})
diff --git a/src/components/ui/data-list.tsx b/src/components/ui/data-list.tsx
deleted file mode 100644
index ef7cae8..0000000
--- a/src/components/ui/data-list.tsx
+++ /dev/null
@@ -1,30 +0,0 @@
-import { DataList as ChakraDataList } from "@chakra-ui/react"
-import { InfoTip } from "./toggle-tip"
-import * as React from "react"
-
-export const DataListRoot = ChakraDataList.Root
-
-interface ItemProps extends ChakraDataList.ItemProps {
- label: React.ReactNode
- value: React.ReactNode
- info?: React.ReactNode
- grow?: boolean
-}
-
-export const DataListItem = React.forwardRef(
- function DataListItem(props, ref) {
- const { label, info, value, children, grow, ...rest } = props
- return (
-
-
- {label}
- {info && {info}}
-
-
- {value}
-
- {children}
-
- )
- },
-)
diff --git a/src/components/ui/dialog.tsx b/src/components/ui/dialog.tsx
deleted file mode 100644
index 89d68a5..0000000
--- a/src/components/ui/dialog.tsx
+++ /dev/null
@@ -1,62 +0,0 @@
-import { Dialog as ChakraDialog, Portal } from "@chakra-ui/react"
-import { CloseButton } from "./close-button"
-import * as React from "react"
-
-interface DialogContentProps extends ChakraDialog.ContentProps {
- portalled?: boolean
- portalRef?: React.RefObject
- backdrop?: boolean
-}
-
-export const DialogContent = React.forwardRef<
- HTMLDivElement,
- DialogContentProps
->(function DialogContent(props, ref) {
- const {
- children,
- portalled = true,
- portalRef,
- backdrop = true,
- ...rest
- } = props
-
- return (
-
- {backdrop && }
-
-
- {children}
-
-
-
- )
-})
-
-export const DialogCloseTrigger = React.forwardRef<
- HTMLButtonElement,
- ChakraDialog.CloseTriggerProps
->(function DialogCloseTrigger(props, ref) {
- return (
-
-
- {props.children}
-
-
- )
-})
-
-export const DialogRoot = ChakraDialog.Root
-export const DialogFooter = ChakraDialog.Footer
-export const DialogHeader = ChakraDialog.Header
-export const DialogBody = ChakraDialog.Body
-export const DialogBackdrop = ChakraDialog.Backdrop
-export const DialogTitle = ChakraDialog.Title
-export const DialogDescription = ChakraDialog.Description
-export const DialogTrigger = ChakraDialog.Trigger
-export const DialogActionTrigger = ChakraDialog.ActionTrigger
diff --git a/src/components/ui/drawer.tsx b/src/components/ui/drawer.tsx
deleted file mode 100644
index ccb96c8..0000000
--- a/src/components/ui/drawer.tsx
+++ /dev/null
@@ -1,52 +0,0 @@
-import { Drawer as ChakraDrawer, Portal } from "@chakra-ui/react"
-import { CloseButton } from "./close-button"
-import * as React from "react"
-
-interface DrawerContentProps extends ChakraDrawer.ContentProps {
- portalled?: boolean
- portalRef?: React.RefObject
- offset?: ChakraDrawer.ContentProps["padding"]
-}
-
-export const DrawerContent = React.forwardRef<
- HTMLDivElement,
- DrawerContentProps
->(function DrawerContent(props, ref) {
- const { children, portalled = true, portalRef, offset, ...rest } = props
- return (
-
-
-
- {children}
-
-
-
- )
-})
-
-export const DrawerCloseTrigger = React.forwardRef<
- HTMLButtonElement,
- ChakraDrawer.CloseTriggerProps
->(function DrawerCloseTrigger(props, ref) {
- return (
-
-
-
- )
-})
-
-export const DrawerTrigger = ChakraDrawer.Trigger
-export const DrawerRoot = ChakraDrawer.Root
-export const DrawerFooter = ChakraDrawer.Footer
-export const DrawerHeader = ChakraDrawer.Header
-export const DrawerBody = ChakraDrawer.Body
-export const DrawerBackdrop = ChakraDrawer.Backdrop
-export const DrawerDescription = ChakraDrawer.Description
-export const DrawerTitle = ChakraDrawer.Title
-export const DrawerActionTrigger = ChakraDrawer.ActionTrigger
diff --git a/src/components/ui/empty-state.tsx b/src/components/ui/empty-state.tsx
deleted file mode 100644
index d643e53..0000000
--- a/src/components/ui/empty-state.tsx
+++ /dev/null
@@ -1,34 +0,0 @@
-import { EmptyState as ChakraEmptyState, VStack } from "@chakra-ui/react"
-import * as React from "react"
-
-export interface EmptyStateProps extends ChakraEmptyState.RootProps {
- title: string
- description?: string
- icon?: React.ReactNode
-}
-
-export const EmptyState = React.forwardRef(
- function EmptyState(props, ref) {
- const { title, description, icon, children, ...rest } = props
- return (
-
-
- {icon && (
- {icon}
- )}
- {description ? (
-
- {title}
-
- {description}
-
-
- ) : (
- {title}
- )}
- {children}
-
-
- )
- },
-)
diff --git a/src/components/ui/field.tsx b/src/components/ui/field.tsx
deleted file mode 100644
index dd3b66f..0000000
--- a/src/components/ui/field.tsx
+++ /dev/null
@@ -1,33 +0,0 @@
-import { Field as ChakraField } from "@chakra-ui/react"
-import * as React from "react"
-
-export interface FieldProps extends Omit {
- label?: React.ReactNode
- helperText?: React.ReactNode
- errorText?: React.ReactNode
- optionalText?: React.ReactNode
-}
-
-export const Field = React.forwardRef(
- function Field(props, ref) {
- const { label, children, helperText, errorText, optionalText, ...rest } =
- props
- return (
-
- {label && (
-
- {label}
-
-
- )}
- {children}
- {helperText && (
- {helperText}
- )}
- {errorText && (
- {errorText}
- )}
-
- )
- },
-)
diff --git a/src/components/ui/file-button.tsx b/src/components/ui/file-button.tsx
deleted file mode 100644
index 29e5220..0000000
--- a/src/components/ui/file-button.tsx
+++ /dev/null
@@ -1,170 +0,0 @@
-"use client"
-
-import type { ButtonProps, RecipeProps } from "@chakra-ui/react"
-import {
- Button,
- FileUpload as ChakraFileUpload,
- Icon,
- IconButton,
- Span,
- Text,
- useFileUploadContext,
- useRecipe,
-} from "@chakra-ui/react"
-import * as React from "react"
-import { LuFile, LuUpload, LuX } from "react-icons/lu"
-
-export interface FileUploadRootProps extends ChakraFileUpload.RootProps {
- inputProps?: React.InputHTMLAttributes
-}
-
-export const FileUploadRoot = React.forwardRef<
- HTMLInputElement,
- FileUploadRootProps
->(function FileUploadRoot(props, ref) {
- const { children, inputProps, ...rest } = props
- return (
-
-
- {children}
-
- )
-})
-
-export interface FileUploadDropzoneProps
- extends ChakraFileUpload.DropzoneProps {
- label: React.ReactNode
- description?: React.ReactNode
-}
-
-export const FileUploadDropzone = React.forwardRef<
- HTMLInputElement,
- FileUploadDropzoneProps
->(function FileUploadDropzone(props, ref) {
- const { children, label, description, ...rest } = props
- return (
-
-
-
-
-
- {label}
- {description && {description}}
-
- {children}
-
- )
-})
-
-interface VisibilityProps {
- showSize?: boolean
- clearable?: boolean
-}
-
-interface FileUploadItemProps extends VisibilityProps {
- file: File
-}
-
-const FileUploadItem = React.forwardRef(
- function FileUploadItem(props, ref) {
- const { file, showSize, clearable } = props
- return (
-
-
-
-
-
-
-
- {showSize ? (
-
-
-
-
- ) : (
-
- )}
-
- {clearable && (
-
-
-
-
-
- )}
-
- )
- },
-)
-
-interface FileUploadListProps
- extends VisibilityProps,
- ChakraFileUpload.ItemGroupProps {
- files?: File[]
-}
-
-export const FileUploadList = React.forwardRef<
- HTMLUListElement,
- FileUploadListProps
->(function FileUploadList(props, ref) {
- const { showSize, clearable, files, ...rest } = props
-
- const fileUpload = useFileUploadContext()
- const acceptedFiles = files ?? fileUpload.acceptedFiles
-
- if (acceptedFiles.length === 0) return null
-
- return (
-
- {acceptedFiles.map((file) => (
-
- ))}
-
- )
-})
-
-type Assign = Omit & U
-
-interface FileInputProps extends Assign> {
- placeholder?: React.ReactNode
-}
-
-export const FileInput = React.forwardRef(
- function FileInput(props, ref) {
- const inputRecipe = useRecipe({ key: "input" })
- const [recipeProps, restProps] = inputRecipe.splitVariantProps(props)
- const { placeholder = "Select file(s)", ...rest } = restProps
- return (
-
-
-
- )
- },
-)
-
-export const FileUploadLabel = ChakraFileUpload.Label
-export const FileUploadClearTrigger = ChakraFileUpload.ClearTrigger
-export const FileUploadTrigger = ChakraFileUpload.Trigger
diff --git a/src/components/ui/hover-card.tsx b/src/components/ui/hover-card.tsx
deleted file mode 100644
index 36299c1..0000000
--- a/src/components/ui/hover-card.tsx
+++ /dev/null
@@ -1,36 +0,0 @@
-import { HoverCard, Portal } from "@chakra-ui/react"
-import * as React from "react"
-
-interface HoverCardContentProps extends HoverCard.ContentProps {
- portalled?: boolean
- portalRef?: React.RefObject
-}
-
-export const HoverCardContent = React.forwardRef<
- HTMLDivElement,
- HoverCardContentProps
->(function HoverCardContent(props, ref) {
- const { portalled = true, portalRef, ...rest } = props
-
- return (
-
-
-
-
-
- )
-})
-
-export const HoverCardArrow = React.forwardRef<
- HTMLDivElement,
- HoverCard.ArrowProps
->(function HoverCardArrow(props, ref) {
- return (
-
-
-
- )
-})
-
-export const HoverCardRoot = HoverCard.Root
-export const HoverCardTrigger = HoverCard.Trigger
diff --git a/src/components/ui/input-group.tsx b/src/components/ui/input-group.tsx
deleted file mode 100644
index 1124a61..0000000
--- a/src/components/ui/input-group.tsx
+++ /dev/null
@@ -1,50 +0,0 @@
-import type { BoxProps, InputElementProps } from "@chakra-ui/react"
-import { Group, InputElement } from "@chakra-ui/react"
-import * as React from "react"
-
-export interface InputGroupProps extends BoxProps {
- startElementProps?: InputElementProps
- endElementProps?: InputElementProps
- startElement?: React.ReactNode
- endElement?: React.ReactNode
- children: React.ReactElement
- startOffset?: InputElementProps["paddingStart"]
- endOffset?: InputElementProps["paddingEnd"]
-}
-
-export const InputGroup = React.forwardRef(
- function InputGroup(props, ref) {
- const {
- startElement,
- startElementProps,
- endElement,
- endElementProps,
- children,
- startOffset = "6px",
- endOffset = "6px",
- ...rest
- } = props
-
- return (
-
- {startElement && (
-
- {startElement}
-
- )}
- {React.cloneElement(children, {
- ...(startElement && {
- ps: `calc(var(--input-height) - ${startOffset})`,
- }),
- ...(endElement && { pe: `calc(var(--input-height) - ${endOffset})` }),
- ...children.props,
- })}
- {endElement && (
-
- {endElement}
-
- )}
-
- )
- },
-)
diff --git a/src/components/ui/link-button.tsx b/src/components/ui/link-button.tsx
deleted file mode 100644
index defa1c3..0000000
--- a/src/components/ui/link-button.tsx
+++ /dev/null
@@ -1,12 +0,0 @@
-"use client"
-
-import type { HTMLChakraProps, RecipeProps } from "@chakra-ui/react"
-import { createRecipeContext } from "@chakra-ui/react"
-
-export interface LinkButtonProps
- extends HTMLChakraProps<"a", RecipeProps<"button">> {}
-
-const { withContext } = createRecipeContext({ key: "button" })
-
-// Replace "a" with your framework's link component
-export const LinkButton = withContext("a")
diff --git a/src/components/ui/menu.tsx b/src/components/ui/menu.tsx
deleted file mode 100644
index 763005b..0000000
--- a/src/components/ui/menu.tsx
+++ /dev/null
@@ -1,110 +0,0 @@
-"use client"
-
-import { AbsoluteCenter, Menu as ChakraMenu, Portal } from "@chakra-ui/react"
-import * as React from "react"
-import { LuCheck, LuChevronRight } from "react-icons/lu"
-
-interface MenuContentProps extends ChakraMenu.ContentProps {
- portalled?: boolean
- portalRef?: React.RefObject
-}
-
-export const MenuContent = React.forwardRef(
- function MenuContent(props, ref) {
- const { portalled = true, portalRef, ...rest } = props
- return (
-
-
-
-
-
- )
- },
-)
-
-export const MenuArrow = React.forwardRef<
- HTMLDivElement,
- ChakraMenu.ArrowProps
->(function MenuArrow(props, ref) {
- return (
-
-
-
- )
-})
-
-export const MenuCheckboxItem = React.forwardRef<
- HTMLDivElement,
- ChakraMenu.CheckboxItemProps
->(function MenuCheckboxItem(props, ref) {
- return (
-
-
-
-
- {props.children}
-
- )
-})
-
-export const MenuRadioItem = React.forwardRef<
- HTMLDivElement,
- ChakraMenu.RadioItemProps
->(function MenuRadioItem(props, ref) {
- const { children, ...rest } = props
- return (
-
-
-
-
-
-
- {children}
-
- )
-})
-
-export const MenuItemGroup = React.forwardRef<
- HTMLDivElement,
- ChakraMenu.ItemGroupProps
->(function MenuItemGroup(props, ref) {
- const { title, children, ...rest } = props
- return (
-
- {title && (
-
- {title}
-
- )}
- {children}
-
- )
-})
-
-export interface MenuTriggerItemProps extends ChakraMenu.ItemProps {
- startIcon?: React.ReactNode
-}
-
-export const MenuTriggerItem = React.forwardRef<
- HTMLDivElement,
- MenuTriggerItemProps
->(function MenuTriggerItem(props, ref) {
- const { startIcon, children, ...rest } = props
- return (
-
- {startIcon}
- {children}
-
-
- )
-})
-
-export const MenuRadioItemGroup = ChakraMenu.RadioItemGroup
-export const MenuContextTrigger = ChakraMenu.ContextTrigger
-export const MenuRoot = ChakraMenu.Root
-export const MenuSeparator = ChakraMenu.Separator
-
-export const MenuItem = ChakraMenu.Item
-export const MenuItemText = ChakraMenu.ItemText
-export const MenuItemCommand = ChakraMenu.ItemCommand
-export const MenuTrigger = ChakraMenu.Trigger
diff --git a/src/components/ui/native-select.tsx b/src/components/ui/native-select.tsx
deleted file mode 100644
index 9e6ebf5..0000000
--- a/src/components/ui/native-select.tsx
+++ /dev/null
@@ -1,57 +0,0 @@
-"use client"
-
-import { NativeSelect as Select } from "@chakra-ui/react"
-import * as React from "react"
-
-interface NativeSelectRootProps extends Select.RootProps {
- icon?: React.ReactNode
-}
-
-export const NativeSelectRoot = React.forwardRef<
- HTMLDivElement,
- NativeSelectRootProps
->(function NativeSelect(props, ref) {
- const { icon, children, ...rest } = props
- return (
-
- {children}
- {icon}
-
- )
-})
-
-interface NativeSelectItem {
- value: string
- label: string
- disabled?: boolean
-}
-
-interface NativeSelectField extends Select.FieldProps {
- items?: Array
-}
-
-export const NativeSelectField = React.forwardRef<
- HTMLSelectElement,
- NativeSelectField
->(function NativeSelectField(props, ref) {
- const { items: itemsProp, children, ...rest } = props
-
- const items = React.useMemo(
- () =>
- itemsProp?.map((item) =>
- typeof item === "string" ? { label: item, value: item } : item,
- ),
- [itemsProp],
- )
-
- return (
-
- {children}
- {items?.map((item) => (
-
- ))}
-
- )
-})
diff --git a/src/components/ui/number-input.tsx b/src/components/ui/number-input.tsx
deleted file mode 100644
index 7ddab85..0000000
--- a/src/components/ui/number-input.tsx
+++ /dev/null
@@ -1,24 +0,0 @@
-import { NumberInput as ChakraNumberInput } from "@chakra-ui/react"
-import * as React from "react"
-
-export interface NumberInputProps extends ChakraNumberInput.RootProps {}
-
-export const NumberInputRoot = React.forwardRef<
- HTMLDivElement,
- NumberInputProps
->(function NumberInput(props, ref) {
- const { children, ...rest } = props
- return (
-
- {children}
-
-
-
-
-
- )
-})
-
-export const NumberInputField = ChakraNumberInput.Input
-export const NumberInputScruber = ChakraNumberInput.Scrubber
-export const NumberInputLabel = ChakraNumberInput.Label
diff --git a/src/components/ui/pagination.tsx b/src/components/ui/pagination.tsx
deleted file mode 100644
index 8201ed8..0000000
--- a/src/components/ui/pagination.tsx
+++ /dev/null
@@ -1,208 +0,0 @@
-"use client"
-
-import type { ButtonProps, TextProps } from "@chakra-ui/react"
-import {
- Button,
- Pagination as ChakraPagination,
- IconButton,
- Text,
- createContext,
- usePaginationContext,
-} from "@chakra-ui/react"
-import * as React from "react"
-import {
- HiChevronLeft,
- HiChevronRight,
- HiMiniEllipsisHorizontal,
-} from "react-icons/hi2"
-import { LinkButton } from "./link-button"
-
-interface ButtonVariantMap {
- current: ButtonProps["variant"]
- default: ButtonProps["variant"]
- ellipsis: ButtonProps["variant"]
-}
-
-type PaginationVariant = "outline" | "solid" | "subtle"
-
-interface ButtonVariantContext {
- size: ButtonProps["size"]
- variantMap: ButtonVariantMap
- getHref?: (page: number) => string
-}
-
-const [RootPropsProvider, useRootProps] = createContext({
- name: "RootPropsProvider",
-})
-
-export interface PaginationRootProps
- extends Omit {
- size?: ButtonProps["size"]
- variant?: PaginationVariant
- getHref?: (page: number) => string
-}
-
-const variantMap: Record = {
- outline: { default: "ghost", ellipsis: "plain", current: "outline" },
- solid: { default: "outline", ellipsis: "outline", current: "solid" },
- subtle: { default: "ghost", ellipsis: "plain", current: "subtle" },
-}
-
-export const PaginationRoot = React.forwardRef<
- HTMLDivElement,
- PaginationRootProps
->(function PaginationRoot(props, ref) {
- const { size = "sm", variant = "outline", getHref, ...rest } = props
- return (
-
-
-
- )
-})
-
-export const PaginationEllipsis = React.forwardRef<
- HTMLDivElement,
- ChakraPagination.EllipsisProps
->(function PaginationEllipsis(props, ref) {
- const { size, variantMap } = useRootProps()
- return (
-
-
-
- )
-})
-
-export const PaginationItem = React.forwardRef<
- HTMLButtonElement,
- ChakraPagination.ItemProps
->(function PaginationItem(props, ref) {
- const { page } = usePaginationContext()
- const { size, variantMap, getHref } = useRootProps()
-
- const current = page === props.value
- const variant = current ? variantMap.current : variantMap.default
-
- if (getHref) {
- return (
-
- {props.value}
-
- )
- }
-
- return (
-
-
-
- )
-})
-
-export const PaginationPrevTrigger = React.forwardRef<
- HTMLButtonElement,
- ChakraPagination.PrevTriggerProps
->(function PaginationPrevTrigger(props, ref) {
- const { size, variantMap, getHref } = useRootProps()
- const { previousPage } = usePaginationContext()
-
- if (getHref) {
- return (
-
-
-
- )
- }
-
- return (
-
-
-
-
-
- )
-})
-
-export const PaginationNextTrigger = React.forwardRef<
- HTMLButtonElement,
- ChakraPagination.NextTriggerProps
->(function PaginationNextTrigger(props, ref) {
- const { size, variantMap, getHref } = useRootProps()
- const { nextPage } = usePaginationContext()
-
- if (getHref) {
- return (
-
-
-
- )
- }
-
- return (
-
-
-
-
-
- )
-})
-
-export const PaginationItems = (props: React.HTMLAttributes) => {
- return (
-
- {({ pages }) =>
- pages.map((page, index) => {
- return page.type === "ellipsis" ? (
-
- ) : (
-
- )
- })
- }
-
- )
-}
-
-interface PageTextProps extends TextProps {
- format?: "short" | "compact" | "long"
-}
-
-export const PaginationPageText = React.forwardRef<
- HTMLParagraphElement,
- PageTextProps
->(function PaginationPageText(props, ref) {
- const { format = "compact", ...rest } = props
- const { page, totalPages, pageRange, count } = usePaginationContext()
- const content = React.useMemo(() => {
- if (format === "short") return `${page} / ${totalPages}`
- if (format === "compact") return `${page} of ${totalPages}`
- return `${pageRange.start + 1} - ${pageRange.end} of ${count}`
- }, [format, page, totalPages, pageRange, count])
-
- return (
-
- {content}
-
- )
-})
diff --git a/src/components/ui/password-input.tsx b/src/components/ui/password-input.tsx
deleted file mode 100644
index 0c608a9..0000000
--- a/src/components/ui/password-input.tsx
+++ /dev/null
@@ -1,148 +0,0 @@
-"use client"
-
-import type {
- ButtonProps,
- GroupProps,
- InputProps,
- StackProps,
-} from "@chakra-ui/react"
-import {
- Box,
- HStack,
- IconButton,
- Input,
- Stack,
- mergeRefs,
- useControllableState,
-} from "@chakra-ui/react"
-import * as React from "react"
-import { LuEye, LuEyeOff } from "react-icons/lu"
-import { InputGroup } from "./input-group"
-
-export interface PasswordVisibilityProps {
- defaultVisible?: boolean
- visible?: boolean
- onVisibleChange?: (visible: boolean) => void
- visibilityIcon?: { on: React.ReactNode; off: React.ReactNode }
-}
-
-export interface PasswordInputProps
- extends InputProps,
- PasswordVisibilityProps {
- rootProps?: GroupProps
-}
-
-export const PasswordInput = React.forwardRef<
- HTMLInputElement,
- PasswordInputProps
->(function PasswordInput(props, ref) {
- const {
- rootProps,
- defaultVisible,
- visible: visibleProp,
- onVisibleChange,
- visibilityIcon = { on: , off: },
- ...rest
- } = props
-
- const [visible, setVisible] = useControllableState({
- value: visibleProp,
- defaultValue: defaultVisible || false,
- onChange: onVisibleChange,
- })
-
- const inputRef = React.useRef(null)
-
- return (
- {
- if (rest.disabled) return
- if (e.button !== 0) return
- e.preventDefault()
- setVisible(!visible)
- }}
- >
- {visible ? visibilityIcon.off : visibilityIcon.on}
-
- }
- {...rootProps}
- >
-
-
- )
-})
-
-const VisibilityTrigger = React.forwardRef(
- function VisibilityTrigger(props, ref) {
- return (
-
- )
- },
-)
-
-interface PasswordStrengthMeterProps extends StackProps {
- max?: number
- value: number
-}
-
-export const PasswordStrengthMeter = React.forwardRef<
- HTMLDivElement,
- PasswordStrengthMeterProps
->(function PasswordStrengthMeter(props, ref) {
- const { max = 4, value, ...rest } = props
-
- const percent = (value / max) * 100
- const { label, colorPalette } = getColorPalette(percent)
-
- return (
-
-
- {Array.from({ length: max }).map((_, index) => (
-
- ))}
-
- {label && {label}}
-
- )
-})
-
-function getColorPalette(percent: number) {
- switch (true) {
- case percent < 33:
- return { label: "Low", colorPalette: "red" }
- case percent < 66:
- return { label: "Medium", colorPalette: "orange" }
- default:
- return { label: "High", colorPalette: "green" }
- }
-}
diff --git a/src/components/ui/pin-input.tsx b/src/components/ui/pin-input.tsx
deleted file mode 100644
index c969c80..0000000
--- a/src/components/ui/pin-input.tsx
+++ /dev/null
@@ -1,27 +0,0 @@
-import { PinInput as ChakraPinInput, Group } from "@chakra-ui/react"
-import * as React from "react"
-
-export interface PinInputProps extends ChakraPinInput.RootProps {
- rootRef?: React.Ref
- count?: number
- inputProps?: React.InputHTMLAttributes
- attached?: boolean
-}
-
-export const PinInput = React.forwardRef(
- function PinInput(props, ref) {
- const { count = 4, inputProps, rootRef, attached, ...rest } = props
- return (
-
-
-
-
- {Array.from({ length: count }).map((_, index) => (
-
- ))}
-
-
-
- )
- },
-)
diff --git a/src/components/ui/popover.tsx b/src/components/ui/popover.tsx
deleted file mode 100644
index 3320659..0000000
--- a/src/components/ui/popover.tsx
+++ /dev/null
@@ -1,59 +0,0 @@
-import { Popover as ChakraPopover, Portal } from "@chakra-ui/react"
-import { CloseButton } from "./close-button"
-import * as React from "react"
-
-interface PopoverContentProps extends ChakraPopover.ContentProps {
- portalled?: boolean
- portalRef?: React.RefObject
-}
-
-export const PopoverContent = React.forwardRef<
- HTMLDivElement,
- PopoverContentProps
->(function PopoverContent(props, ref) {
- const { portalled = true, portalRef, ...rest } = props
- return (
-
-
-
-
-
- )
-})
-
-export const PopoverArrow = React.forwardRef<
- HTMLDivElement,
- ChakraPopover.ArrowProps
->(function PopoverArrow(props, ref) {
- return (
-
-
-
- )
-})
-
-export const PopoverCloseTrigger = React.forwardRef<
- HTMLButtonElement,
- ChakraPopover.CloseTriggerProps
->(function PopoverCloseTrigger(props, ref) {
- return (
-
-
-
- )
-})
-
-export const PopoverTitle = ChakraPopover.Title
-export const PopoverDescription = ChakraPopover.Description
-export const PopoverFooter = ChakraPopover.Footer
-export const PopoverHeader = ChakraPopover.Header
-export const PopoverRoot = ChakraPopover.Root
-export const PopoverBody = ChakraPopover.Body
-export const PopoverTrigger = ChakraPopover.Trigger
diff --git a/src/components/ui/progress-circle.tsx b/src/components/ui/progress-circle.tsx
deleted file mode 100644
index 2d430cb..0000000
--- a/src/components/ui/progress-circle.tsx
+++ /dev/null
@@ -1,37 +0,0 @@
-import type { SystemStyleObject } from "@chakra-ui/react"
-import {
- AbsoluteCenter,
- ProgressCircle as ChakraProgressCircle,
-} from "@chakra-ui/react"
-import * as React from "react"
-
-interface ProgressCircleRingProps extends ChakraProgressCircle.CircleProps {
- trackColor?: SystemStyleObject["stroke"]
- cap?: SystemStyleObject["strokeLinecap"]
-}
-
-export const ProgressCircleRing = React.forwardRef<
- SVGSVGElement,
- ProgressCircleRingProps
->(function ProgressCircleRing(props, ref) {
- const { trackColor, cap, color, ...rest } = props
- return (
-
-
-
-
- )
-})
-
-export const ProgressCircleValueText = React.forwardRef<
- HTMLDivElement,
- ChakraProgressCircle.ValueTextProps
->(function ProgressCircleValueText(props, ref) {
- return (
-
-
-
- )
-})
-
-export const ProgressCircleRoot = ChakraProgressCircle.Root
diff --git a/src/components/ui/progress.tsx b/src/components/ui/progress.tsx
deleted file mode 100644
index 9ab22d8..0000000
--- a/src/components/ui/progress.tsx
+++ /dev/null
@@ -1,34 +0,0 @@
-import { Progress as ChakraProgress } from "@chakra-ui/react"
-import { InfoTip } from "./toggle-tip"
-import * as React from "react"
-
-export const ProgressBar = React.forwardRef<
- HTMLDivElement,
- ChakraProgress.TrackProps
->(function ProgressBar(props, ref) {
- return (
-
-
-
- )
-})
-
-export interface ProgressLabelProps extends ChakraProgress.LabelProps {
- info?: React.ReactNode
-}
-
-export const ProgressLabel = React.forwardRef<
- HTMLDivElement,
- ProgressLabelProps
->(function ProgressLabel(props, ref) {
- const { children, info, ...rest } = props
- return (
-
- {children}
- {info && {info}}
-
- )
-})
-
-export const ProgressRoot = ChakraProgress.Root
-export const ProgressValueText = ChakraProgress.ValueText
diff --git a/src/components/ui/prose.tsx b/src/components/ui/prose.tsx
deleted file mode 100644
index e34a37b..0000000
--- a/src/components/ui/prose.tsx
+++ /dev/null
@@ -1,264 +0,0 @@
-"use client"
-
-import { chakra } from "@chakra-ui/react"
-
-export const Prose = chakra("div", {
- base: {
- color: "fg.muted",
- maxWidth: "65ch",
- fontSize: "sm",
- lineHeight: "1.7em",
- "& p": {
- marginTop: "1em",
- marginBottom: "1em",
- },
- "& blockquote": {
- marginTop: "1.285em",
- marginBottom: "1.285em",
- paddingInline: "1.285em",
- borderInlineStartWidth: "0.25em",
- },
- "& a": {
- color: "fg",
- textDecoration: "underline",
- textUnderlineOffset: "3px",
- textDecorationThickness: "2px",
- textDecorationColor: "border.muted",
- fontWeight: "500",
- },
- "& strong": {
- fontWeight: "600",
- },
- "& a strong": {
- color: "inherit",
- },
- "& h1": {
- fontSize: "2.15em",
- letterSpacing: "-0.02em",
- marginTop: "0",
- marginBottom: "0.8em",
- lineHeight: "1.2em",
- },
- "& h2": {
- fontSize: "1.4em",
- letterSpacing: "-0.02em",
- marginTop: "1.6em",
- marginBottom: "0.8em",
- lineHeight: "1.4em",
- },
- "& h3": {
- fontSize: "1.285em",
- letterSpacing: "-0.01em",
- marginTop: "1.5em",
- marginBottom: "0.4em",
- lineHeight: "1.5em",
- },
- "& h4": {
- marginTop: "1.4em",
- marginBottom: "0.5em",
- letterSpacing: "-0.01em",
- lineHeight: "1.5em",
- },
- "& img": {
- marginTop: "1.7em",
- marginBottom: "1.7em",
- borderRadius: "lg",
- boxShadow: "inset",
- },
- "& picture": {
- marginTop: "1.7em",
- marginBottom: "1.7em",
- },
- "& picture > img": {
- marginTop: "0",
- marginBottom: "0",
- },
- "& video": {
- marginTop: "1.7em",
- marginBottom: "1.7em",
- },
- "& kbd": {
- fontSize: "0.85em",
- borderRadius: "xs",
- paddingTop: "0.15em",
- paddingBottom: "0.15em",
- paddingInlineEnd: "0.35em",
- paddingInlineStart: "0.35em",
- fontFamily: "inherit",
- color: "fg.muted",
- "--shadow": "colors.border",
- boxShadow: "0 0 0 1px var(--shadow),0 1px 0 1px var(--shadow)",
- },
- "& code": {
- fontSize: "0.925em",
- letterSpacing: "-0.01em",
- borderRadius: "md",
- borderWidth: "1px",
- padding: "0.25em",
- },
- "& pre code": {
- fontSize: "inherit",
- letterSpacing: "inherit",
- borderWidth: "inherit",
- padding: "0",
- },
- "& h2 code": {
- fontSize: "0.9em",
- },
- "& h3 code": {
- fontSize: "0.8em",
- },
- "& pre": {
- backgroundColor: "bg.subtle",
- marginTop: "1.6em",
- marginBottom: "1.6em",
- borderRadius: "md",
- fontSize: "0.9em",
- paddingTop: "0.65em",
- paddingBottom: "0.65em",
- paddingInlineEnd: "1em",
- paddingInlineStart: "1em",
- overflowX: "auto",
- fontWeight: "400",
- },
- "& ol": {
- marginTop: "1em",
- marginBottom: "1em",
- paddingInlineStart: "1.5em",
- },
- "& ul": {
- marginTop: "1em",
- marginBottom: "1em",
- paddingInlineStart: "1.5em",
- },
- "& li": {
- marginTop: "0.285em",
- marginBottom: "0.285em",
- },
- "& ol > li": {
- paddingInlineStart: "0.4em",
- listStyleType: "decimal",
- "&::marker": {
- color: "fg.muted",
- },
- },
- "& ul > li": {
- paddingInlineStart: "0.4em",
- listStyleType: "disc",
- "&::marker": {
- color: "fg.muted",
- },
- },
- "& > ul > li p": {
- marginTop: "0.5em",
- marginBottom: "0.5em",
- },
- "& > ul > li > p:first-of-type": {
- marginTop: "1em",
- },
- "& > ul > li > p:last-of-type": {
- marginBottom: "1em",
- },
- "& > ol > li > p:first-of-type": {
- marginTop: "1em",
- },
- "& > ol > li > p:last-of-type": {
- marginBottom: "1em",
- },
- "& ul ul, ul ol, ol ul, ol ol": {
- marginTop: "0.5em",
- marginBottom: "0.5em",
- },
- "& dl": {
- marginTop: "1em",
- marginBottom: "1em",
- },
- "& dt": {
- fontWeight: "600",
- marginTop: "1em",
- },
- "& dd": {
- marginTop: "0.285em",
- paddingInlineStart: "1.5em",
- },
- "& hr": {
- marginTop: "2.25em",
- marginBottom: "2.25em",
- },
- "& :is(h1,h2,h3,h4,h5,hr) + *": {
- marginTop: "0",
- },
- "& table": {
- width: "100%",
- tableLayout: "auto",
- textAlign: "start",
- lineHeight: "1.5em",
- marginTop: "2em",
- marginBottom: "2em",
- },
- "& thead": {
- borderBottomWidth: "1px",
- color: "fg",
- },
- "& tbody tr": {
- borderBottomWidth: "1px",
- borderBottomColor: "border",
- },
- "& thead th": {
- paddingInlineEnd: "1em",
- paddingBottom: "0.65em",
- paddingInlineStart: "1em",
- fontWeight: "medium",
- textAlign: "start",
- },
- "& thead th:first-of-type": {
- paddingInlineStart: "0",
- },
- "& thead th:last-of-type": {
- paddingInlineEnd: "0",
- },
- "& tbody td, tfoot td": {
- paddingTop: "0.65em",
- paddingInlineEnd: "1em",
- paddingBottom: "0.65em",
- paddingInlineStart: "1em",
- },
- "& tbody td:first-of-type, tfoot td:first-of-type": {
- paddingInlineStart: "0",
- },
- "& tbody td:last-of-type, tfoot td:last-of-type": {
- paddingInlineEnd: "0",
- },
- "& figure": {
- marginTop: "1.625em",
- marginBottom: "1.625em",
- },
- "& figure > *": {
- marginTop: "0",
- marginBottom: "0",
- },
- "& figcaption": {
- fontSize: "0.85em",
- lineHeight: "1.25em",
- marginTop: "0.85em",
- color: "fg.muted",
- },
- "& h1, h2, h3, h4": {
- color: "fg",
- fontWeight: "600",
- },
- },
- variants: {
- size: {
- md: {
- fontSize: "sm",
- },
- lg: {
- fontSize: "md",
- },
- },
- },
- defaultVariants: {
- size: "md",
- },
-})
diff --git a/src/components/ui/provider.tsx b/src/components/ui/provider.tsx
deleted file mode 100644
index fd0331b..0000000
--- a/src/components/ui/provider.tsx
+++ /dev/null
@@ -1,15 +0,0 @@
-"use client"
-
-import { ChakraProvider, defaultSystem } from "@chakra-ui/react"
-import {
- ColorModeProvider,
- type ColorModeProviderProps,
-} from "./color-mode"
-
-export function Provider(props: ColorModeProviderProps) {
- return (
-
-
-
- )
-}
diff --git a/src/components/ui/radio-card.tsx b/src/components/ui/radio-card.tsx
deleted file mode 100644
index d2fef42..0000000
--- a/src/components/ui/radio-card.tsx
+++ /dev/null
@@ -1,58 +0,0 @@
-import { RadioCard } from "@chakra-ui/react"
-import * as React from "react"
-
-interface RadioCardItemProps extends RadioCard.ItemProps {
- icon?: React.ReactElement
- label?: React.ReactNode
- description?: React.ReactNode
- addon?: React.ReactNode
- indicator?: React.ReactNode | null
- indicatorPlacement?: "start" | "end" | "inside"
- inputProps?: React.InputHTMLAttributes
-}
-
-export const RadioCardItem = React.forwardRef<
- HTMLInputElement,
- RadioCardItemProps
->(function RadioCardItem(props, ref) {
- const {
- inputProps,
- label,
- description,
- addon,
- icon,
- indicator = ,
- indicatorPlacement = "end",
- ...rest
- } = props
-
- const hasContent = label || description || icon
- const ContentWrapper = indicator ? RadioCard.ItemContent : React.Fragment
-
- return (
-
-
-
- {indicatorPlacement === "start" && indicator}
- {hasContent && (
-
- {icon}
- {label && {label}}
- {description && (
-
- {description}
-
- )}
- {indicatorPlacement === "inside" && indicator}
-
- )}
- {indicatorPlacement === "end" && indicator}
-
- {addon && {addon}}
-
- )
-})
-
-export const RadioCardRoot = RadioCard.Root
-export const RadioCardLabel = RadioCard.Label
-export const RadioCardItemIndicator = RadioCard.ItemIndicator
diff --git a/src/components/ui/radio.tsx b/src/components/ui/radio.tsx
deleted file mode 100644
index b3919d0..0000000
--- a/src/components/ui/radio.tsx
+++ /dev/null
@@ -1,24 +0,0 @@
-import { RadioGroup as ChakraRadioGroup } from "@chakra-ui/react"
-import * as React from "react"
-
-export interface RadioProps extends ChakraRadioGroup.ItemProps {
- rootRef?: React.Ref
- inputProps?: React.InputHTMLAttributes
-}
-
-export const Radio = React.forwardRef(
- function Radio(props, ref) {
- const { children, inputProps, rootRef, ...rest } = props
- return (
-
-
-
- {children && (
- {children}
- )}
-
- )
- },
-)
-
-export const RadioGroup = ChakraRadioGroup.Root
diff --git a/src/components/ui/rating.tsx b/src/components/ui/rating.tsx
deleted file mode 100644
index 5609f26..0000000
--- a/src/components/ui/rating.tsx
+++ /dev/null
@@ -1,27 +0,0 @@
-import { RatingGroup } from "@chakra-ui/react"
-import * as React from "react"
-
-export interface RatingProps extends RatingGroup.RootProps {
- icon?: React.ReactElement
- count?: number
- label?: React.ReactNode
-}
-
-export const Rating = React.forwardRef(
- function Rating(props, ref) {
- const { icon, count = 5, label, ...rest } = props
- return (
-
- {label && {label}}
-
-
- {Array.from({ length: count }).map((_, index) => (
-
-
-
- ))}
-
-
- )
- },
-)
diff --git a/src/components/ui/segmented-control.tsx b/src/components/ui/segmented-control.tsx
deleted file mode 100644
index aa38adf..0000000
--- a/src/components/ui/segmented-control.tsx
+++ /dev/null
@@ -1,47 +0,0 @@
-"use client"
-
-import { For, SegmentGroup } from "@chakra-ui/react"
-import * as React from "react"
-
-interface Item {
- value: string
- label: React.ReactNode
- disabled?: boolean
-}
-
-export interface SegmentedControlProps extends SegmentGroup.RootProps {
- items: Array
-}
-
-function normalize(items: Array): Item[] {
- return items.map((item) => {
- if (typeof item === "string") return { value: item, label: item }
- return item
- })
-}
-
-export const SegmentedControl = React.forwardRef<
- HTMLDivElement,
- SegmentedControlProps
->(function SegmentedControl(props, ref) {
- const { items, ...rest } = props
- const data = React.useMemo(() => normalize(items), [items])
-
- return (
-
-
-
- {(item) => (
-
- {item.label}
-
-
- )}
-
-
- )
-})
diff --git a/src/components/ui/select.tsx b/src/components/ui/select.tsx
deleted file mode 100644
index 99d84e6..0000000
--- a/src/components/ui/select.tsx
+++ /dev/null
@@ -1,143 +0,0 @@
-"use client"
-
-import type { CollectionItem } from "@chakra-ui/react"
-import { Select as ChakraSelect, Portal } from "@chakra-ui/react"
-import { CloseButton } from "./close-button"
-import * as React from "react"
-
-interface SelectTriggerProps extends ChakraSelect.ControlProps {
- clearable?: boolean
-}
-
-export const SelectTrigger = React.forwardRef<
- HTMLButtonElement,
- SelectTriggerProps
->(function SelectTrigger(props, ref) {
- const { children, clearable, ...rest } = props
- return (
-
- {children}
-
- {clearable && }
-
-
-
- )
-})
-
-const SelectClearTrigger = React.forwardRef<
- HTMLButtonElement,
- ChakraSelect.ClearTriggerProps
->(function SelectClearTrigger(props, ref) {
- return (
-
-
-
- )
-})
-
-interface SelectContentProps extends ChakraSelect.ContentProps {
- portalled?: boolean
- portalRef?: React.RefObject
-}
-
-export const SelectContent = React.forwardRef<
- HTMLDivElement,
- SelectContentProps
->(function SelectContent(props, ref) {
- const { portalled = true, portalRef, ...rest } = props
- return (
-
-
-
-
-
- )
-})
-
-export const SelectItem = React.forwardRef<
- HTMLDivElement,
- ChakraSelect.ItemProps
->(function SelectItem(props, ref) {
- const { item, children, ...rest } = props
- return (
-
- {children}
-
-
- )
-})
-
-interface SelectValueTextProps
- extends Omit {
- children?(items: CollectionItem[]): React.ReactNode
-}
-
-export const SelectValueText = React.forwardRef<
- HTMLSpanElement,
- SelectValueTextProps
->(function SelectValueText(props, ref) {
- const { children, ...rest } = props
- return (
-
-
- {(select) => {
- const items = select.selectedItems
- if (items.length === 0) return props.placeholder
- if (children) return children(items)
- if (items.length === 1)
- return select.collection.stringifyItem(items[0])
- return `${items.length} selected`
- }}
-
-
- )
-})
-
-export const SelectRoot = React.forwardRef<
- HTMLDivElement,
- ChakraSelect.RootProps
->(function SelectRoot(props, ref) {
- return (
-
- {props.asChild ? (
- props.children
- ) : (
- <>
-
- {props.children}
- >
- )}
-
- )
-}) as ChakraSelect.RootComponent
-
-interface SelectItemGroupProps extends ChakraSelect.ItemGroupProps {
- label: React.ReactNode
-}
-
-export const SelectItemGroup = React.forwardRef<
- HTMLDivElement,
- SelectItemGroupProps
->(function SelectItemGroup(props, ref) {
- const { children, label, ...rest } = props
- return (
-
- {label}
- {children}
-
- )
-})
-
-export const SelectLabel = ChakraSelect.Label
-export const SelectItemText = ChakraSelect.ItemText
diff --git a/src/components/ui/skeleton.tsx b/src/components/ui/skeleton.tsx
deleted file mode 100644
index 4f2c25b..0000000
--- a/src/components/ui/skeleton.tsx
+++ /dev/null
@@ -1,47 +0,0 @@
-import type {
- SkeletonProps as ChakraSkeletonProps,
- CircleProps,
-} from "@chakra-ui/react"
-import { Skeleton as ChakraSkeleton, Circle, Stack } from "@chakra-ui/react"
-import * as React from "react"
-
-export interface SkeletonCircleProps extends ChakraSkeletonProps {
- size?: CircleProps["size"]
-}
-
-export const SkeletonCircle = React.forwardRef<
- HTMLDivElement,
- SkeletonCircleProps
->(function SkeletonCircle(props, ref) {
- const { size, ...rest } = props
- return (
-
-
-
- )
-})
-
-export interface SkeletonTextProps extends ChakraSkeletonProps {
- noOfLines?: number
-}
-
-export const SkeletonText = React.forwardRef(
- function SkeletonText(props, ref) {
- const { noOfLines = 3, gap, ...rest } = props
- return (
-
- {Array.from({ length: noOfLines }).map((_, index) => (
-
- ))}
-
- )
- },
-)
-
-export const Skeleton = ChakraSkeleton
diff --git a/src/components/ui/slider.tsx b/src/components/ui/slider.tsx
deleted file mode 100644
index 37a6dc9..0000000
--- a/src/components/ui/slider.tsx
+++ /dev/null
@@ -1,60 +0,0 @@
-import { Slider as ChakraSlider, HStack } from "@chakra-ui/react"
-import * as React from "react"
-
-export interface SliderProps extends ChakraSlider.RootProps {
- marks?: Array
- label?: React.ReactNode
- showValue?: boolean
-}
-
-export const Slider = React.forwardRef(
- function Slider(props, ref) {
- const { marks: marksProp, label, showValue, ...rest } = props
- const value = props.defaultValue ?? props.value
-
- const marks = marksProp?.map((mark) => {
- if (typeof mark === "number") return { value: mark, label: undefined }
- return mark
- })
-
- const hasMarkLabel = !!marks?.some((mark) => mark.label)
-
- return (
-
- {label && !showValue && (
- {label}
- )}
- {label && showValue && (
-
- {label}
-
-
- )}
-
-
-
-
- {value?.map((_, index) => (
-
-
-
- ))}
-
- {marks?.length && (
-
- {marks.map((mark, index) => {
- const value = typeof mark === "number" ? mark : mark.value
- const label = typeof mark === "number" ? undefined : mark.label
- return (
-
-
- {label}
-
- )
- })}
-
- )}
-
- )
- },
-)
diff --git a/src/components/ui/stat.tsx b/src/components/ui/stat.tsx
deleted file mode 100644
index a1e60ad..0000000
--- a/src/components/ui/stat.tsx
+++ /dev/null
@@ -1,68 +0,0 @@
-import {
- Badge,
- type BadgeProps,
- Stat as ChakraStat,
- FormatNumber,
-} from "@chakra-ui/react"
-import { InfoTip } from "./toggle-tip"
-import * as React from "react"
-
-interface StatLabelProps extends ChakraStat.LabelProps {
- info?: React.ReactNode
-}
-
-export const StatLabel = React.forwardRef(
- function StatLabel(props, ref) {
- const { info, children, ...rest } = props
- return (
-
- {children}
- {info && {info}}
-
- )
- },
-)
-
-interface StatValueTextProps extends ChakraStat.ValueTextProps {
- value?: number
- formatOptions?: Intl.NumberFormatOptions
-}
-
-export const StatValueText = React.forwardRef<
- HTMLDivElement,
- StatValueTextProps
->(function StatValueText(props, ref) {
- const { value, formatOptions, children, ...rest } = props
- return (
-
- {children ||
- (value != null && )}
-
- )
-})
-
-export const StatUpTrend = React.forwardRef(
- function StatUpTrend(props, ref) {
- return (
-
-
- {props.children}
-
- )
- },
-)
-
-export const StatDownTrend = React.forwardRef(
- function StatDownTrend(props, ref) {
- return (
-
-
- {props.children}
-
- )
- },
-)
-
-export const StatRoot = ChakraStat.Root
-export const StatHelpText = ChakraStat.HelpText
-export const StatValueUnit = ChakraStat.ValueUnit
diff --git a/src/components/ui/status.tsx b/src/components/ui/status.tsx
deleted file mode 100644
index 5055463..0000000
--- a/src/components/ui/status.tsx
+++ /dev/null
@@ -1,29 +0,0 @@
-import type { ColorPalette } from "@chakra-ui/react"
-import { Status as ChakraStatus } from "@chakra-ui/react"
-import * as React from "react"
-
-type StatusValue = "success" | "error" | "warning" | "info"
-
-export interface StatusProps extends ChakraStatus.RootProps {
- value?: StatusValue
-}
-
-const statusMap: Record = {
- success: "green",
- error: "red",
- warning: "orange",
- info: "blue",
-}
-
-export const Status = React.forwardRef(
- function Status(props, ref) {
- const { children, value = "info", ...rest } = props
- const colorPalette = rest.colorPalette ?? statusMap[value]
- return (
-
-
- {children}
-
- )
- },
-)
diff --git a/src/components/ui/stepper-input.tsx b/src/components/ui/stepper-input.tsx
deleted file mode 100644
index 22d158d..0000000
--- a/src/components/ui/stepper-input.tsx
+++ /dev/null
@@ -1,49 +0,0 @@
-import { HStack, IconButton, NumberInput } from "@chakra-ui/react"
-import * as React from "react"
-import { LuMinus, LuPlus } from "react-icons/lu"
-
-export interface StepperInputProps extends NumberInput.RootProps {
- label?: React.ReactNode
-}
-
-export const StepperInput = React.forwardRef(
- function StepperInput(props, ref) {
- const { label, ...rest } = props
- return (
-
- {label && {label}}
-
-
-
-
-
-
- )
- },
-)
-
-const DecrementTrigger = React.forwardRef<
- HTMLButtonElement,
- NumberInput.DecrementTriggerProps
->(function DecrementTrigger(props, ref) {
- return (
-
-
-
-
-
- )
-})
-
-const IncrementTrigger = React.forwardRef<
- HTMLButtonElement,
- NumberInput.IncrementTriggerProps
->(function IncrementTrigger(props, ref) {
- return (
-
-
-
-
-
- )
-})
diff --git a/src/components/ui/steps.tsx b/src/components/ui/steps.tsx
deleted file mode 100644
index 677c4c7..0000000
--- a/src/components/ui/steps.tsx
+++ /dev/null
@@ -1,82 +0,0 @@
-import { Box, Steps as ChakraSteps } from "@chakra-ui/react"
-import * as React from "react"
-import { LuCheck } from "react-icons/lu"
-
-interface StepInfoProps {
- title?: React.ReactNode
- description?: React.ReactNode
-}
-
-export interface StepsItemProps
- extends Omit,
- StepInfoProps {
- completedIcon?: React.ReactNode
- icon?: React.ReactNode
-}
-
-export const StepsItem = React.forwardRef(
- function StepsItem(props, ref) {
- const { title, description, completedIcon, icon, ...rest } = props
- return (
-
-
-
- }
- incomplete={icon || }
- />
-
-
-
-
-
- )
- },
-)
-
-const StepInfo = (props: StepInfoProps) => {
- const { title, description } = props
-
- if (title && description) {
- return (
-
- {title}
- {description}
-
- )
- }
-
- return (
- <>
- {title && {title}}
- {description && (
- {description}
- )}
- >
- )
-}
-
-interface StepsIndicatorProps {
- completedIcon: React.ReactNode
- icon?: React.ReactNode
-}
-
-export const StepsIndicator = React.forwardRef<
- HTMLDivElement,
- StepsIndicatorProps
->(function StepsIndicator(props, ref) {
- const { icon = , completedIcon } = props
- return (
-
-
-
- )
-})
-
-export const StepsList = ChakraSteps.List
-export const StepsRoot = ChakraSteps.Root
-export const StepsContent = ChakraSteps.Content
-export const StepsCompletedContent = ChakraSteps.CompletedContent
-
-export const StepsNextTrigger = ChakraSteps.NextTrigger
-export const StepsPrevTrigger = ChakraSteps.PrevTrigger
diff --git a/src/components/ui/switch.tsx b/src/components/ui/switch.tsx
deleted file mode 100644
index a677ca2..0000000
--- a/src/components/ui/switch.tsx
+++ /dev/null
@@ -1,39 +0,0 @@
-import { Switch as ChakraSwitch } from "@chakra-ui/react"
-import * as React from "react"
-
-export interface SwitchProps extends ChakraSwitch.RootProps {
- inputProps?: React.InputHTMLAttributes
- rootRef?: React.Ref
- trackLabel?: { on: React.ReactNode; off: React.ReactNode }
- thumbLabel?: { on: React.ReactNode; off: React.ReactNode }
-}
-
-export const Switch = React.forwardRef(
- function Switch(props, ref) {
- const { inputProps, children, rootRef, trackLabel, thumbLabel, ...rest } =
- props
-
- return (
-
-
-
-
- {thumbLabel && (
-
- {thumbLabel?.on}
-
- )}
-
- {trackLabel && (
-
- {trackLabel.on}
-
- )}
-
- {children != null && (
- {children}
- )}
-
- )
- },
-)
diff --git a/src/components/ui/tag.tsx b/src/components/ui/tag.tsx
deleted file mode 100644
index 728250f..0000000
--- a/src/components/ui/tag.tsx
+++ /dev/null
@@ -1,39 +0,0 @@
-import { Tag as ChakraTag } from "@chakra-ui/react"
-import * as React from "react"
-
-export interface TagProps extends ChakraTag.RootProps {
- startElement?: React.ReactNode
- endElement?: React.ReactNode
- onClose?: VoidFunction
- closable?: boolean
-}
-
-export const Tag = React.forwardRef(
- function Tag(props, ref) {
- const {
- startElement,
- endElement,
- onClose,
- closable = !!onClose,
- children,
- ...rest
- } = props
-
- return (
-
- {startElement && (
- {startElement}
- )}
- {children}
- {endElement && (
- {endElement}
- )}
- {closable && (
-
-
-
- )}
-
- )
- },
-)
diff --git a/src/components/ui/timeline.tsx b/src/components/ui/timeline.tsx
deleted file mode 100644
index 678c1f6..0000000
--- a/src/components/ui/timeline.tsx
+++ /dev/null
@@ -1,21 +0,0 @@
-import { Timeline as ChakraTimeline } from "@chakra-ui/react"
-import * as React from "react"
-
-export const TimelineConnector = React.forwardRef<
- HTMLDivElement,
- ChakraTimeline.IndicatorProps
->(function TimelineConnector(props, ref) {
- return (
-
-
-
-
- )
-})
-
-export const TimelineRoot = ChakraTimeline.Root
-export const TimelineContent = ChakraTimeline.Content
-export const TimelineItem = ChakraTimeline.Item
-export const TimelineIndicator = ChakraTimeline.Indicator
-export const TimelineTitle = ChakraTimeline.Title
-export const TimelineDescription = ChakraTimeline.Description
diff --git a/src/components/ui/toaster.tsx b/src/components/ui/toaster.tsx
deleted file mode 100644
index df6c2c3..0000000
--- a/src/components/ui/toaster.tsx
+++ /dev/null
@@ -1,43 +0,0 @@
-"use client"
-
-import {
- Toaster as ChakraToaster,
- Portal,
- Spinner,
- Stack,
- Toast,
- createToaster,
-} from "@chakra-ui/react"
-
-export const toaster = createToaster({
- placement: "bottom-end",
- pauseOnPageIdle: true,
-})
-
-export const Toaster = () => {
- return (
-
-
- {(toast) => (
-
- {toast.type === "loading" ? (
-
- ) : (
-
- )}
-
- {toast.title && {toast.title}}
- {toast.description && (
- {toast.description}
- )}
-
- {toast.action && (
- {toast.action.label}
- )}
- {toast.meta?.closable && }
-
- )}
-
-
- )
-}
diff --git a/src/components/ui/toggle-tip.tsx b/src/components/ui/toggle-tip.tsx
deleted file mode 100644
index 7dc7eae..0000000
--- a/src/components/ui/toggle-tip.tsx
+++ /dev/null
@@ -1,70 +0,0 @@
-import { Popover as ChakraPopover, IconButton, Portal } from "@chakra-ui/react"
-import * as React from "react"
-import { HiOutlineInformationCircle } from "react-icons/hi"
-
-export interface ToggleTipProps extends ChakraPopover.RootProps {
- showArrow?: boolean
- portalled?: boolean
- portalRef?: React.RefObject
- content?: React.ReactNode
-}
-
-export const ToggleTip = React.forwardRef(
- function ToggleTip(props, ref) {
- const {
- showArrow,
- children,
- portalled = true,
- content,
- portalRef,
- ...rest
- } = props
-
- return (
-
- {children}
-
-
-
- {showArrow && (
-
-
-
- )}
- {content}
-
-
-
-
- )
- },
-)
-
-export const InfoTip = React.forwardRef<
- HTMLDivElement,
- Partial
->(function InfoTip(props, ref) {
- const { children, ...rest } = props
- return (
-
-
-
-
-
- )
-})
diff --git a/src/components/ui/toggle.tsx b/src/components/ui/toggle.tsx
deleted file mode 100644
index 8b95973..0000000
--- a/src/components/ui/toggle.tsx
+++ /dev/null
@@ -1,57 +0,0 @@
-"use client"
-
-import type { ButtonProps } from "@chakra-ui/react"
-import {
- Button,
- Toggle as ChakraToggle,
- useToggleContext,
-} from "@chakra-ui/react"
-import * as React from "react"
-
-interface ToggleProps extends ChakraToggle.RootProps {
- variant?: keyof typeof variantMap
- size?: ButtonProps["size"]
-}
-
-const variantMap = {
- solid: { on: "solid", off: "outline" },
- surface: { on: "surface", off: "outline" },
- subtle: { on: "subtle", off: "ghost" },
- ghost: { on: "subtle", off: "ghost" },
-} as const
-
-export const Toggle = React.forwardRef(
- function Toggle(props, ref) {
- const { variant = "subtle", size, children, ...rest } = props
- const variantConfig = variantMap[variant]
-
- return (
-
-
- {children}
-
-
- )
- },
-)
-
-interface ToggleBaseButtonProps extends Omit {
- variant: Record<"on" | "off", ButtonProps["variant"]>
-}
-
-const ToggleBaseButton = React.forwardRef<
- HTMLButtonElement,
- ToggleBaseButtonProps
->(function ToggleBaseButton(props, ref) {
- const toggle = useToggleContext()
- const { variant, ...rest } = props
- return (
-
- )
-})
-
-export const ToggleIndicator = ChakraToggle.Indicator
diff --git a/src/components/ui/tooltip.tsx b/src/components/ui/tooltip.tsx
deleted file mode 100644
index 644c37c..0000000
--- a/src/components/ui/tooltip.tsx
+++ /dev/null
@@ -1,46 +0,0 @@
-import { Tooltip as ChakraTooltip, Portal } from "@chakra-ui/react"
-import * as React from "react"
-
-export interface TooltipProps extends ChakraTooltip.RootProps {
- showArrow?: boolean
- portalled?: boolean
- portalRef?: React.RefObject
- content: React.ReactNode
- contentProps?: ChakraTooltip.ContentProps
- disabled?: boolean
-}
-
-export const Tooltip = React.forwardRef(
- function Tooltip(props, ref) {
- const {
- showArrow,
- children,
- disabled,
- portalled,
- content,
- contentProps,
- portalRef,
- ...rest
- } = props
-
- if (disabled) return children
-
- return (
-
- {children}
-
-
-
- {showArrow && (
-
-
-
- )}
- {content}
-
-
-
-
- )
- },
-)