@techzyapp/ui-library 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Accordion-CAxa1I-m.js +112 -0
- package/dist/Accordion-CAxa1I-m.js.map +1 -0
- package/dist/Accordion-Dy_dM79Y.cjs +2 -0
- package/dist/Accordion-Dy_dM79Y.cjs.map +1 -0
- package/dist/Alert-BQpA48PY.js +71 -0
- package/dist/Alert-BQpA48PY.js.map +1 -0
- package/dist/Alert-DKIjM-9x.cjs +2 -0
- package/dist/Alert-DKIjM-9x.cjs.map +1 -0
- package/dist/Avatar-BJVCdo-K.js +60 -0
- package/dist/Avatar-BJVCdo-K.js.map +1 -0
- package/dist/Avatar-_ufXh3AY.cjs +2 -0
- package/dist/Avatar-_ufXh3AY.cjs.map +1 -0
- package/dist/AvatarGroup-DdJf4aT7.js +33 -0
- package/dist/AvatarGroup-DdJf4aT7.js.map +1 -0
- package/dist/AvatarGroup-TW1pt4tj.cjs +2 -0
- package/dist/AvatarGroup-TW1pt4tj.cjs.map +1 -0
- package/dist/Badge-BQpr2Jee.cjs +2 -0
- package/dist/Badge-BQpr2Jee.cjs.map +1 -0
- package/dist/Badge-DSWigoGC.js +50 -0
- package/dist/Badge-DSWigoGC.js.map +1 -0
- package/dist/Breadcrumbs-Bx5UgwDy.js +35 -0
- package/dist/Breadcrumbs-Bx5UgwDy.js.map +1 -0
- package/dist/Breadcrumbs-CHONper7.cjs +2 -0
- package/dist/Breadcrumbs-CHONper7.cjs.map +1 -0
- package/dist/Button-D4bfVNNa.cjs +2 -0
- package/dist/Button-D4bfVNNa.cjs.map +1 -0
- package/dist/Button-DhEv0YFk.js +72 -0
- package/dist/Button-DhEv0YFk.js.map +1 -0
- package/dist/Calendar-Bh317SaV.js +267 -0
- package/dist/Calendar-Bh317SaV.js.map +1 -0
- package/dist/Calendar-C8uNezI-.cjs +2 -0
- package/dist/Calendar-C8uNezI-.cjs.map +1 -0
- package/dist/Card-CfyaerZZ.cjs +2 -0
- package/dist/Card-CfyaerZZ.cjs.map +1 -0
- package/dist/Card-DzClqJuu.js +118 -0
- package/dist/Card-DzClqJuu.js.map +1 -0
- package/dist/Checkbox-DXOzYIAz.cjs +2 -0
- package/dist/Checkbox-DXOzYIAz.cjs.map +1 -0
- package/dist/Checkbox-XKL_Q5qj.js +84 -0
- package/dist/Checkbox-XKL_Q5qj.js.map +1 -0
- package/dist/Chip-Cfo0v3Z8.js +92 -0
- package/dist/Chip-Cfo0v3Z8.js.map +1 -0
- package/dist/Chip-DSrdXLBU.cjs +2 -0
- package/dist/Chip-DSrdXLBU.cjs.map +1 -0
- package/dist/ChoiceCardGroup-6eFM1eL0.cjs +2 -0
- package/dist/ChoiceCardGroup-6eFM1eL0.cjs.map +1 -0
- package/dist/ChoiceCardGroup-CvFzZlgI.js +181 -0
- package/dist/ChoiceCardGroup-CvFzZlgI.js.map +1 -0
- package/dist/CodeBlock-DOk5wekc.cjs +2 -0
- package/dist/CodeBlock-DOk5wekc.cjs.map +1 -0
- package/dist/CodeBlock-n3KExtTO.js +104 -0
- package/dist/CodeBlock-n3KExtTO.js.map +1 -0
- package/dist/Col-D2TfZKiM.js +13 -0
- package/dist/Col-D2TfZKiM.js.map +1 -0
- package/dist/Col-R5mAy8T9.cjs +2 -0
- package/dist/Col-R5mAy8T9.cjs.map +1 -0
- package/dist/ColorPicker-2udt1ORM.js +119 -0
- package/dist/ColorPicker-2udt1ORM.js.map +1 -0
- package/dist/ColorPicker-BwmaXCOy.cjs +2 -0
- package/dist/ColorPicker-BwmaXCOy.cjs.map +1 -0
- package/dist/ColorPickerPanel-BM9OwDDE.js +336 -0
- package/dist/ColorPickerPanel-BM9OwDDE.js.map +1 -0
- package/dist/ColorPickerPanel-ByB1mLSi.cjs +2 -0
- package/dist/ColorPickerPanel-ByB1mLSi.cjs.map +1 -0
- package/dist/ConfigProvider-2c94kUOk.js +291 -0
- package/dist/ConfigProvider-2c94kUOk.js.map +1 -0
- package/dist/ConfigProvider-ByOFXVyP.cjs +2 -0
- package/dist/ConfigProvider-ByOFXVyP.cjs.map +1 -0
- package/dist/DatePicker-DF4Epkn8.cjs +2 -0
- package/dist/DatePicker-DF4Epkn8.cjs.map +1 -0
- package/dist/DatePicker-WM9TC6L_.js +191 -0
- package/dist/DatePicker-WM9TC6L_.js.map +1 -0
- package/dist/DatePicker.module-BZDftL4g.js +138 -0
- package/dist/DatePicker.module-BZDftL4g.js.map +1 -0
- package/dist/DatePicker.module-tE-tGNBd.cjs +2 -0
- package/dist/DatePicker.module-tE-tGNBd.cjs.map +1 -0
- package/dist/DateTimePicker-C557OjBU.cjs +2 -0
- package/dist/DateTimePicker-C557OjBU.cjs.map +1 -0
- package/dist/DateTimePicker-DBtcWK0F.js +245 -0
- package/dist/DateTimePicker-DBtcWK0F.js.map +1 -0
- package/dist/Divider-CzbhdCiD.cjs +2 -0
- package/dist/Divider-CzbhdCiD.cjs.map +1 -0
- package/dist/Divider-LtH3dLgw.js +36 -0
- package/dist/Divider-LtH3dLgw.js.map +1 -0
- package/dist/Dropdown-DKAXue5_.js +146 -0
- package/dist/Dropdown-DKAXue5_.js.map +1 -0
- package/dist/Dropdown-DygP50OB.cjs +2 -0
- package/dist/Dropdown-DygP50OB.cjs.map +1 -0
- package/dist/EmptyState-CCCpZ-ZA.cjs +2 -0
- package/dist/EmptyState-CCCpZ-ZA.cjs.map +1 -0
- package/dist/EmptyState-CetM49vk.js +38 -0
- package/dist/EmptyState-CetM49vk.js.map +1 -0
- package/dist/FileUploader-B4TJHyoi.cjs +2 -0
- package/dist/FileUploader-B4TJHyoi.cjs.map +1 -0
- package/dist/FileUploader-VtmmwUFE.js +684 -0
- package/dist/FileUploader-VtmmwUFE.js.map +1 -0
- package/dist/Flag-BWCX6oSR.js +24 -0
- package/dist/Flag-BWCX6oSR.js.map +1 -0
- package/dist/Flag-EPZOrH-U.cjs +2 -0
- package/dist/Flag-EPZOrH-U.cjs.map +1 -0
- package/dist/Flex-Bj3mMF5A.js +50 -0
- package/dist/Flex-Bj3mMF5A.js.map +1 -0
- package/dist/Flex-CqL3Ghda.cjs +2 -0
- package/dist/Flex-CqL3Ghda.cjs.map +1 -0
- package/dist/FloatingPanel-BG9Uag__.js +131 -0
- package/dist/FloatingPanel-BG9Uag__.js.map +1 -0
- package/dist/FloatingPanel-U6sGYiSK.cjs +2 -0
- package/dist/FloatingPanel-U6sGYiSK.cjs.map +1 -0
- package/dist/Form-Bz2xgkEm.cjs +2 -0
- package/dist/Form-Bz2xgkEm.cjs.map +1 -0
- package/dist/Form-kglaJYr5.js +9 -0
- package/dist/Form-kglaJYr5.js.map +1 -0
- package/dist/FullscreenToggle-DDKN5n8B.cjs +2 -0
- package/dist/FullscreenToggle-DDKN5n8B.cjs.map +1 -0
- package/dist/FullscreenToggle-oWzYqUPH.js +42 -0
- package/dist/FullscreenToggle-oWzYqUPH.js.map +1 -0
- package/dist/Grid-Bw95bKkJ.cjs +2 -0
- package/dist/Grid-Bw95bKkJ.cjs.map +1 -0
- package/dist/Grid-CY-syhTX.js +24 -0
- package/dist/Grid-CY-syhTX.js.map +1 -0
- package/dist/Icon-CXTl_QAP.cjs +2 -0
- package/dist/Icon-CXTl_QAP.cjs.map +1 -0
- package/dist/Icon-CophpkHo.js +1228 -0
- package/dist/Icon-CophpkHo.js.map +1 -0
- package/dist/IconButton-CBusrDa9.js +68 -0
- package/dist/IconButton-CBusrDa9.js.map +1 -0
- package/dist/IconButton-D6TenQZ_.cjs +2 -0
- package/dist/IconButton-D6TenQZ_.cjs.map +1 -0
- package/dist/List-BHgFI9Ll.js +26 -0
- package/dist/List-BHgFI9Ll.js.map +1 -0
- package/dist/List-CNz2M3-q.cjs +2 -0
- package/dist/List-CNz2M3-q.cjs.map +1 -0
- package/dist/ListItem-B4yqZR-Z.js +74 -0
- package/dist/ListItem-B4yqZR-Z.js.map +1 -0
- package/dist/ListItem-RH-D-Wey.cjs +2 -0
- package/dist/ListItem-RH-D-Wey.cjs.map +1 -0
- package/dist/Loader-C4JoXOyA.js +28 -0
- package/dist/Loader-C4JoXOyA.js.map +1 -0
- package/dist/Loader-D1MtlQOH.cjs +2 -0
- package/dist/Loader-D1MtlQOH.cjs.map +1 -0
- package/dist/Modal-B2YSCVVt.cjs +2 -0
- package/dist/Modal-B2YSCVVt.cjs.map +1 -0
- package/dist/Modal-BuaPDlKV.js +195 -0
- package/dist/Modal-BuaPDlKV.js.map +1 -0
- package/dist/MultiSelect-BGRT_B60.js +350 -0
- package/dist/MultiSelect-BGRT_B60.js.map +1 -0
- package/dist/MultiSelect-CSJKSWpA.cjs +2 -0
- package/dist/MultiSelect-CSJKSWpA.cjs.map +1 -0
- package/dist/MultilineTextField-CwNCJ9lZ.js +123 -0
- package/dist/MultilineTextField-CwNCJ9lZ.js.map +1 -0
- package/dist/MultilineTextField-Dz6Fg8RJ.cjs +2 -0
- package/dist/MultilineTextField-Dz6Fg8RJ.cjs.map +1 -0
- package/dist/NumberField-DBpO-Z_7.cjs +2 -0
- package/dist/NumberField-DBpO-Z_7.cjs.map +1 -0
- package/dist/NumberField-DBvhSQCw.js +183 -0
- package/dist/NumberField-DBvhSQCw.js.map +1 -0
- package/dist/OtpField-BUBYyorC.cjs +2 -0
- package/dist/OtpField-BUBYyorC.cjs.map +1 -0
- package/dist/OtpField-CTq-CUbF.js +171 -0
- package/dist/OtpField-CTq-CUbF.js.map +1 -0
- package/dist/PageLayout-DddzYw2B.js +12 -0
- package/dist/PageLayout-DddzYw2B.js.map +1 -0
- package/dist/PageLayout-Dfbjw6jD.cjs +2 -0
- package/dist/PageLayout-Dfbjw6jD.cjs.map +1 -0
- package/dist/Pagination-CN9V8M5C.js +139 -0
- package/dist/Pagination-CN9V8M5C.js.map +1 -0
- package/dist/Pagination-DRwTLPh8.cjs +2 -0
- package/dist/Pagination-DRwTLPh8.cjs.map +1 -0
- package/dist/Popover-CBI1icIM.cjs +2 -0
- package/dist/Popover-CBI1icIM.cjs.map +1 -0
- package/dist/Popover-CgIU4Rhg.js +65 -0
- package/dist/Popover-CgIU4Rhg.js.map +1 -0
- package/dist/RadioGroup-C8u7eNBS.cjs +2 -0
- package/dist/RadioGroup-C8u7eNBS.cjs.map +1 -0
- package/dist/RadioGroup-DbodUJW8.js +141 -0
- package/dist/RadioGroup-DbodUJW8.js.map +1 -0
- package/dist/RemoveDialog-Bvt6sH79.js +47 -0
- package/dist/RemoveDialog-Bvt6sH79.js.map +1 -0
- package/dist/RemoveDialog-ClyZKyUG.cjs +2 -0
- package/dist/RemoveDialog-ClyZKyUG.cjs.map +1 -0
- package/dist/RichTextEditor-BTx8Py3I.js +806 -0
- package/dist/RichTextEditor-BTx8Py3I.js.map +1 -0
- package/dist/RichTextEditor-CAYt1Zm1.cjs +2 -0
- package/dist/RichTextEditor-CAYt1Zm1.cjs.map +1 -0
- package/dist/RootLayout-Cp-9CVjP.cjs +2 -0
- package/dist/RootLayout-Cp-9CVjP.cjs.map +1 -0
- package/dist/RootLayout-DCpfuFWF.js +405 -0
- package/dist/RootLayout-DCpfuFWF.js.map +1 -0
- package/dist/Select-PbTyxB1Q.js +338 -0
- package/dist/Select-PbTyxB1Q.js.map +1 -0
- package/dist/Select-_6WogC0u.cjs +2 -0
- package/dist/Select-_6WogC0u.cjs.map +1 -0
- package/dist/Sidebar-AaIlRzgk.cjs +2 -0
- package/dist/Sidebar-AaIlRzgk.cjs.map +1 -0
- package/dist/Sidebar-DRCs2ygZ.js +422 -0
- package/dist/Sidebar-DRCs2ygZ.js.map +1 -0
- package/dist/Slider-dxYVXRev.cjs +2 -0
- package/dist/Slider-dxYVXRev.cjs.map +1 -0
- package/dist/Slider-oGXd5e9X.js +184 -0
- package/dist/Slider-oGXd5e9X.js.map +1 -0
- package/dist/SpeedDial-C4jxIXTr.cjs +2 -0
- package/dist/SpeedDial-C4jxIXTr.cjs.map +1 -0
- package/dist/SpeedDial-DgFj16BQ.js +165 -0
- package/dist/SpeedDial-DgFj16BQ.js.map +1 -0
- package/dist/Stepper-7pPEBRLI.cjs +2 -0
- package/dist/Stepper-7pPEBRLI.cjs.map +1 -0
- package/dist/Stepper-COKAyN1L.js +165 -0
- package/dist/Stepper-COKAyN1L.js.map +1 -0
- package/dist/SwatchPicker-D30aSrbY.js +129 -0
- package/dist/SwatchPicker-D30aSrbY.js.map +1 -0
- package/dist/SwatchPicker-DbAU9-ux.cjs +2 -0
- package/dist/SwatchPicker-DbAU9-ux.cjs.map +1 -0
- package/dist/Switch-DMPJ0fhB.js +85 -0
- package/dist/Switch-DMPJ0fhB.js.map +1 -0
- package/dist/Switch-DRkZ6kHJ.cjs +2 -0
- package/dist/Switch-DRkZ6kHJ.cjs.map +1 -0
- package/dist/Table-BeOumGng.cjs +2 -0
- package/dist/Table-BeOumGng.cjs.map +1 -0
- package/dist/Table-BjPLvMbf.js +1090 -0
- package/dist/Table-BjPLvMbf.js.map +1 -0
- package/dist/Tabs--DDM-zKe.js +190 -0
- package/dist/Tabs--DDM-zKe.js.map +1 -0
- package/dist/Tabs-BZcMnjdC.cjs +2 -0
- package/dist/Tabs-BZcMnjdC.cjs.map +1 -0
- package/dist/TagsField-BTJcZS9P.js +186 -0
- package/dist/TagsField-BTJcZS9P.js.map +1 -0
- package/dist/TagsField-kknWiJZZ.cjs +2 -0
- package/dist/TagsField-kknWiJZZ.cjs.map +1 -0
- package/dist/TextField-BPefnD5M.cjs +2 -0
- package/dist/TextField-BPefnD5M.cjs.map +1 -0
- package/dist/TextField-DMI1X09n.js +266 -0
- package/dist/TextField-DMI1X09n.js.map +1 -0
- package/dist/TextField.module-QePvGeJ3.js +27 -0
- package/dist/TextField.module-QePvGeJ3.js.map +1 -0
- package/dist/TextField.module-m-UllwzG.cjs +2 -0
- package/dist/TextField.module-m-UllwzG.cjs.map +1 -0
- package/dist/ThemeToggle-DTal3RX5.cjs +2 -0
- package/dist/ThemeToggle-DTal3RX5.cjs.map +1 -0
- package/dist/ThemeToggle-Deh9j8pm.js +28 -0
- package/dist/ThemeToggle-Deh9j8pm.js.map +1 -0
- package/dist/TimeColumns-BCNmu4b_.js +147 -0
- package/dist/TimeColumns-BCNmu4b_.js.map +1 -0
- package/dist/TimeColumns-Duh4DcYJ.cjs +2 -0
- package/dist/TimeColumns-Duh4DcYJ.cjs.map +1 -0
- package/dist/TimePicker-3JgvK2on.js +194 -0
- package/dist/TimePicker-3JgvK2on.js.map +1 -0
- package/dist/TimePicker-CfGrCH9T.cjs +2 -0
- package/dist/TimePicker-CfGrCH9T.cjs.map +1 -0
- package/dist/Timeline-CoxW0Ia_.cjs +2 -0
- package/dist/Timeline-CoxW0Ia_.cjs.map +1 -0
- package/dist/Timeline-WkV4k_we.js +71 -0
- package/dist/Timeline-WkV4k_we.js.map +1 -0
- package/dist/Toaster-Bk5GtPjX.cjs +2 -0
- package/dist/Toaster-Bk5GtPjX.cjs.map +1 -0
- package/dist/Toaster-D-eG1xv7.js +63 -0
- package/dist/Toaster-D-eG1xv7.js.map +1 -0
- package/dist/ToggleButtonGroup-BWd7MOcc.js +123 -0
- package/dist/ToggleButtonGroup-BWd7MOcc.js.map +1 -0
- package/dist/ToggleButtonGroup-DYRLwKKh.cjs +2 -0
- package/dist/ToggleButtonGroup-DYRLwKKh.cjs.map +1 -0
- package/dist/Tooltip-Ao7az09p.cjs +2 -0
- package/dist/Tooltip-Ao7az09p.cjs.map +1 -0
- package/dist/Tooltip-Cb_FKxT9.js +65 -0
- package/dist/Tooltip-Cb_FKxT9.js.map +1 -0
- package/dist/TranslatedFields-CI0F9bHw.js +82 -0
- package/dist/TranslatedFields-CI0F9bHw.js.map +1 -0
- package/dist/TranslatedFields-DT3bYse6.cjs +2 -0
- package/dist/TranslatedFields-DT3bYse6.cjs.map +1 -0
- package/dist/Typography-BFatE1_A.cjs +2 -0
- package/dist/Typography-BFatE1_A.cjs.map +1 -0
- package/dist/Typography-Cta6Rg4L.js +51 -0
- package/dist/Typography-Cta6Rg4L.js.map +1 -0
- package/dist/UserCard-BhqtX1vU.js +74 -0
- package/dist/UserCard-BhqtX1vU.js.map +1 -0
- package/dist/UserCard-OlLeyyS0.cjs +2 -0
- package/dist/UserCard-OlLeyyS0.cjs.map +1 -0
- package/dist/access-DPUHbE-S.cjs +2 -0
- package/dist/access-DPUHbE-S.cjs.map +1 -0
- package/dist/access-Db4knwyR.js +25 -0
- package/dist/access-Db4knwyR.js.map +1 -0
- package/dist/components/Accordion/Accordion.d.cts +43 -0
- package/dist/components/Accordion/Accordion.d.ts +43 -0
- package/dist/components/Accordion/AccordionItem.d.cts +20 -0
- package/dist/components/Accordion/AccordionItem.d.ts +20 -0
- package/dist/components/Accordion/accordionContext.d.cts +13 -0
- package/dist/components/Accordion/accordionContext.d.ts +13 -0
- package/dist/components/Accordion/index.cjs +2 -0
- package/dist/components/Accordion/index.cjs.map +1 -0
- package/dist/components/Accordion/index.d.cts +4 -0
- package/dist/components/Accordion/index.d.ts +4 -0
- package/dist/components/Accordion/index.js +7 -0
- package/dist/components/Accordion/index.js.map +1 -0
- package/dist/components/Alert/Alert.d.cts +30 -0
- package/dist/components/Alert/Alert.d.ts +30 -0
- package/dist/components/Alert/index.cjs +2 -0
- package/dist/components/Alert/index.cjs.map +1 -0
- package/dist/components/Alert/index.d.cts +2 -0
- package/dist/components/Alert/index.d.ts +2 -0
- package/dist/components/Alert/index.js +6 -0
- package/dist/components/Alert/index.js.map +1 -0
- package/dist/components/Avatar/Avatar.d.cts +28 -0
- package/dist/components/Avatar/Avatar.d.ts +28 -0
- package/dist/components/Avatar/AvatarGroup.d.cts +19 -0
- package/dist/components/Avatar/AvatarGroup.d.ts +19 -0
- package/dist/components/Avatar/index.cjs +2 -0
- package/dist/components/Avatar/index.cjs.map +1 -0
- package/dist/components/Avatar/index.d.cts +4 -0
- package/dist/components/Avatar/index.d.ts +4 -0
- package/dist/components/Avatar/index.js +8 -0
- package/dist/components/Avatar/index.js.map +1 -0
- package/dist/components/Badge/Badge.d.cts +26 -0
- package/dist/components/Badge/Badge.d.ts +26 -0
- package/dist/components/Badge/index.cjs +2 -0
- package/dist/components/Badge/index.cjs.map +1 -0
- package/dist/components/Badge/index.d.cts +2 -0
- package/dist/components/Badge/index.d.ts +2 -0
- package/dist/components/Badge/index.js +6 -0
- package/dist/components/Badge/index.js.map +1 -0
- package/dist/components/Breadcrumbs/Breadcrumbs.d.cts +17 -0
- package/dist/components/Breadcrumbs/Breadcrumbs.d.ts +17 -0
- package/dist/components/Breadcrumbs/index.cjs +2 -0
- package/dist/components/Breadcrumbs/index.cjs.map +1 -0
- package/dist/components/Breadcrumbs/index.d.cts +2 -0
- package/dist/components/Breadcrumbs/index.d.ts +2 -0
- package/dist/components/Breadcrumbs/index.js +6 -0
- package/dist/components/Breadcrumbs/index.js.map +1 -0
- package/dist/components/Button/Button.d.cts +23 -0
- package/dist/components/Button/Button.d.ts +23 -0
- package/dist/components/Button/index.cjs +2 -0
- package/dist/components/Button/index.cjs.map +1 -0
- package/dist/components/Button/index.d.cts +2 -0
- package/dist/components/Button/index.d.ts +2 -0
- package/dist/components/Button/index.js +6 -0
- package/dist/components/Button/index.js.map +1 -0
- package/dist/components/Card/Card.d.cts +37 -0
- package/dist/components/Card/Card.d.ts +37 -0
- package/dist/components/Card/index.cjs +2 -0
- package/dist/components/Card/index.cjs.map +1 -0
- package/dist/components/Card/index.d.cts +2 -0
- package/dist/components/Card/index.d.ts +2 -0
- package/dist/components/Card/index.js +6 -0
- package/dist/components/Card/index.js.map +1 -0
- package/dist/components/Checkbox/Checkbox.d.cts +29 -0
- package/dist/components/Checkbox/Checkbox.d.ts +29 -0
- package/dist/components/Checkbox/index.cjs +2 -0
- package/dist/components/Checkbox/index.cjs.map +1 -0
- package/dist/components/Checkbox/index.d.cts +2 -0
- package/dist/components/Checkbox/index.d.ts +2 -0
- package/dist/components/Checkbox/index.js +6 -0
- package/dist/components/Checkbox/index.js.map +1 -0
- package/dist/components/Chip/Chip.d.cts +37 -0
- package/dist/components/Chip/Chip.d.ts +37 -0
- package/dist/components/Chip/index.cjs +2 -0
- package/dist/components/Chip/index.cjs.map +1 -0
- package/dist/components/Chip/index.d.cts +2 -0
- package/dist/components/Chip/index.d.ts +2 -0
- package/dist/components/Chip/index.js +6 -0
- package/dist/components/Chip/index.js.map +1 -0
- package/dist/components/ChoiceCard/ChoiceCard.d.cts +41 -0
- package/dist/components/ChoiceCard/ChoiceCard.d.ts +41 -0
- package/dist/components/ChoiceCard/ChoiceCardGroup.d.cts +72 -0
- package/dist/components/ChoiceCard/ChoiceCardGroup.d.ts +72 -0
- package/dist/components/ChoiceCard/choiceCardContext.d.cts +21 -0
- package/dist/components/ChoiceCard/choiceCardContext.d.ts +21 -0
- package/dist/components/ChoiceCard/index.cjs +2 -0
- package/dist/components/ChoiceCard/index.cjs.map +1 -0
- package/dist/components/ChoiceCard/index.d.cts +4 -0
- package/dist/components/ChoiceCard/index.d.ts +4 -0
- package/dist/components/ChoiceCard/index.js +7 -0
- package/dist/components/ChoiceCard/index.js.map +1 -0
- package/dist/components/CodeBlock/CodeBlock.d.cts +30 -0
- package/dist/components/CodeBlock/CodeBlock.d.ts +30 -0
- package/dist/components/CodeBlock/index.cjs +2 -0
- package/dist/components/CodeBlock/index.cjs.map +1 -0
- package/dist/components/CodeBlock/index.d.cts +2 -0
- package/dist/components/CodeBlock/index.d.ts +2 -0
- package/dist/components/CodeBlock/index.js +6 -0
- package/dist/components/CodeBlock/index.js.map +1 -0
- package/dist/components/ColorPicker/ColorPicker.d.cts +47 -0
- package/dist/components/ColorPicker/ColorPicker.d.ts +47 -0
- package/dist/components/ColorPicker/ColorPickerPanel.d.cts +20 -0
- package/dist/components/ColorPicker/ColorPickerPanel.d.ts +20 -0
- package/dist/components/ColorPicker/colorUtils.d.cts +44 -0
- package/dist/components/ColorPicker/colorUtils.d.ts +44 -0
- package/dist/components/ColorPicker/index.cjs +2 -0
- package/dist/components/ColorPicker/index.cjs.map +1 -0
- package/dist/components/ColorPicker/index.d.cts +2 -0
- package/dist/components/ColorPicker/index.d.ts +2 -0
- package/dist/components/ColorPicker/index.js +6 -0
- package/dist/components/ColorPicker/index.js.map +1 -0
- package/dist/components/DatePicker/Calendar.d.cts +29 -0
- package/dist/components/DatePicker/Calendar.d.ts +29 -0
- package/dist/components/DatePicker/DatePicker.d.cts +66 -0
- package/dist/components/DatePicker/DatePicker.d.ts +66 -0
- package/dist/components/DatePicker/dateUtils.d.cts +86 -0
- package/dist/components/DatePicker/dateUtils.d.ts +86 -0
- package/dist/components/DatePicker/index.cjs +2 -0
- package/dist/components/DatePicker/index.cjs.map +1 -0
- package/dist/components/DatePicker/index.d.cts +2 -0
- package/dist/components/DatePicker/index.d.ts +2 -0
- package/dist/components/DatePicker/index.js +6 -0
- package/dist/components/DatePicker/index.js.map +1 -0
- package/dist/components/DateTimePicker/DateTimePicker.d.cts +79 -0
- package/dist/components/DateTimePicker/DateTimePicker.d.ts +79 -0
- package/dist/components/DateTimePicker/TimeColumns.d.cts +22 -0
- package/dist/components/DateTimePicker/TimeColumns.d.ts +22 -0
- package/dist/components/DateTimePicker/index.cjs +2 -0
- package/dist/components/DateTimePicker/index.cjs.map +1 -0
- package/dist/components/DateTimePicker/index.d.cts +2 -0
- package/dist/components/DateTimePicker/index.d.ts +2 -0
- package/dist/components/DateTimePicker/index.js +6 -0
- package/dist/components/DateTimePicker/index.js.map +1 -0
- package/dist/components/Divider/Divider.d.cts +17 -0
- package/dist/components/Divider/Divider.d.ts +17 -0
- package/dist/components/Divider/index.cjs +2 -0
- package/dist/components/Divider/index.cjs.map +1 -0
- package/dist/components/Divider/index.d.cts +2 -0
- package/dist/components/Divider/index.d.ts +2 -0
- package/dist/components/Divider/index.js +6 -0
- package/dist/components/Divider/index.js.map +1 -0
- package/dist/components/Dropdown/Dropdown.d.cts +44 -0
- package/dist/components/Dropdown/Dropdown.d.ts +44 -0
- package/dist/components/Dropdown/index.cjs +2 -0
- package/dist/components/Dropdown/index.cjs.map +1 -0
- package/dist/components/Dropdown/index.d.cts +2 -0
- package/dist/components/Dropdown/index.d.ts +2 -0
- package/dist/components/Dropdown/index.js +6 -0
- package/dist/components/Dropdown/index.js.map +1 -0
- package/dist/components/EmptyState/EmptyState.d.cts +29 -0
- package/dist/components/EmptyState/EmptyState.d.ts +29 -0
- package/dist/components/EmptyState/index.cjs +2 -0
- package/dist/components/EmptyState/index.cjs.map +1 -0
- package/dist/components/EmptyState/index.d.cts +2 -0
- package/dist/components/EmptyState/index.d.ts +2 -0
- package/dist/components/EmptyState/index.js +6 -0
- package/dist/components/EmptyState/index.js.map +1 -0
- package/dist/components/FileUploader/FileUploader.d.cts +144 -0
- package/dist/components/FileUploader/FileUploader.d.ts +144 -0
- package/dist/components/FileUploader/FileUploaderEditDialog.d.cts +34 -0
- package/dist/components/FileUploader/FileUploaderEditDialog.d.ts +34 -0
- package/dist/components/FileUploader/FileUploaderPreview.d.cts +23 -0
- package/dist/components/FileUploader/FileUploaderPreview.d.ts +23 -0
- package/dist/components/FileUploader/index.cjs +2 -0
- package/dist/components/FileUploader/index.cjs.map +1 -0
- package/dist/components/FileUploader/index.d.cts +2 -0
- package/dist/components/FileUploader/index.d.ts +2 -0
- package/dist/components/FileUploader/index.js +6 -0
- package/dist/components/FileUploader/index.js.map +1 -0
- package/dist/components/Flag/Flag.d.cts +14 -0
- package/dist/components/Flag/Flag.d.ts +14 -0
- package/dist/components/Flag/index.cjs +2 -0
- package/dist/components/Flag/index.cjs.map +1 -0
- package/dist/components/Flag/index.d.cts +2 -0
- package/dist/components/Flag/index.d.ts +2 -0
- package/dist/components/Flag/index.js +6 -0
- package/dist/components/Flag/index.js.map +1 -0
- package/dist/components/Flex/Col.d.cts +8 -0
- package/dist/components/Flex/Col.d.ts +8 -0
- package/dist/components/Flex/Flex.d.cts +32 -0
- package/dist/components/Flex/Flex.d.ts +32 -0
- package/dist/components/Flex/Grid.d.cts +28 -0
- package/dist/components/Flex/Grid.d.ts +28 -0
- package/dist/components/Flex/Row.d.cts +8 -0
- package/dist/components/Flex/Row.d.ts +8 -0
- package/dist/components/Flex/index.cjs +2 -0
- package/dist/components/Flex/index.cjs.map +1 -0
- package/dist/components/Flex/index.d.cts +8 -0
- package/dist/components/Flex/index.d.ts +8 -0
- package/dist/components/Flex/index.js +11 -0
- package/dist/components/Flex/index.js.map +1 -0
- package/dist/components/FloatingPanel/FloatingPanel.d.cts +39 -0
- package/dist/components/FloatingPanel/FloatingPanel.d.ts +39 -0
- package/dist/components/FullscreenToggle/FullscreenToggle.d.cts +12 -0
- package/dist/components/FullscreenToggle/FullscreenToggle.d.ts +12 -0
- package/dist/components/FullscreenToggle/index.cjs +2 -0
- package/dist/components/FullscreenToggle/index.cjs.map +1 -0
- package/dist/components/FullscreenToggle/index.d.cts +2 -0
- package/dist/components/FullscreenToggle/index.d.ts +2 -0
- package/dist/components/FullscreenToggle/index.js +6 -0
- package/dist/components/FullscreenToggle/index.js.map +1 -0
- package/dist/components/Icon/Icon.d.cts +19 -0
- package/dist/components/Icon/Icon.d.ts +19 -0
- package/dist/components/Icon/index.cjs +2 -0
- package/dist/components/Icon/index.cjs.map +1 -0
- package/dist/components/Icon/index.d.cts +4 -0
- package/dist/components/Icon/index.d.ts +4 -0
- package/dist/components/Icon/index.js +9 -0
- package/dist/components/Icon/index.js.map +1 -0
- package/dist/components/IconButton/IconButton.d.cts +28 -0
- package/dist/components/IconButton/IconButton.d.ts +28 -0
- package/dist/components/IconButton/index.cjs +2 -0
- package/dist/components/IconButton/index.cjs.map +1 -0
- package/dist/components/IconButton/index.d.cts +2 -0
- package/dist/components/IconButton/index.d.ts +2 -0
- package/dist/components/IconButton/index.js +6 -0
- package/dist/components/IconButton/index.js.map +1 -0
- package/dist/components/List/List.d.cts +20 -0
- package/dist/components/List/List.d.ts +20 -0
- package/dist/components/List/ListItem.d.cts +33 -0
- package/dist/components/List/ListItem.d.ts +33 -0
- package/dist/components/List/index.cjs +2 -0
- package/dist/components/List/index.cjs.map +1 -0
- package/dist/components/List/index.d.cts +4 -0
- package/dist/components/List/index.d.ts +4 -0
- package/dist/components/List/index.js +8 -0
- package/dist/components/List/index.js.map +1 -0
- package/dist/components/List/listContext.d.cts +5 -0
- package/dist/components/List/listContext.d.ts +5 -0
- package/dist/components/Loader/Loader.d.cts +15 -0
- package/dist/components/Loader/Loader.d.ts +15 -0
- package/dist/components/Loader/index.cjs +2 -0
- package/dist/components/Loader/index.cjs.map +1 -0
- package/dist/components/Loader/index.d.cts +2 -0
- package/dist/components/Loader/index.d.ts +2 -0
- package/dist/components/Loader/index.js +6 -0
- package/dist/components/Loader/index.js.map +1 -0
- package/dist/components/Modal/Modal.d.cts +63 -0
- package/dist/components/Modal/Modal.d.ts +63 -0
- package/dist/components/Modal/index.cjs +2 -0
- package/dist/components/Modal/index.cjs.map +1 -0
- package/dist/components/Modal/index.d.cts +2 -0
- package/dist/components/Modal/index.d.ts +2 -0
- package/dist/components/Modal/index.js +6 -0
- package/dist/components/Modal/index.js.map +1 -0
- package/dist/components/MultiSelect/MultiSelect.d.cts +72 -0
- package/dist/components/MultiSelect/MultiSelect.d.ts +72 -0
- package/dist/components/MultiSelect/index.cjs +2 -0
- package/dist/components/MultiSelect/index.cjs.map +1 -0
- package/dist/components/MultiSelect/index.d.cts +2 -0
- package/dist/components/MultiSelect/index.d.ts +2 -0
- package/dist/components/MultiSelect/index.js +6 -0
- package/dist/components/MultiSelect/index.js.map +1 -0
- package/dist/components/MultilineTextField/MultilineTextField.d.cts +28 -0
- package/dist/components/MultilineTextField/MultilineTextField.d.ts +28 -0
- package/dist/components/MultilineTextField/index.cjs +2 -0
- package/dist/components/MultilineTextField/index.cjs.map +1 -0
- package/dist/components/MultilineTextField/index.d.cts +2 -0
- package/dist/components/MultilineTextField/index.d.ts +2 -0
- package/dist/components/MultilineTextField/index.js +6 -0
- package/dist/components/MultilineTextField/index.js.map +1 -0
- package/dist/components/NumberField/NumberField.d.cts +45 -0
- package/dist/components/NumberField/NumberField.d.ts +45 -0
- package/dist/components/NumberField/index.cjs +2 -0
- package/dist/components/NumberField/index.cjs.map +1 -0
- package/dist/components/NumberField/index.d.cts +2 -0
- package/dist/components/NumberField/index.d.ts +2 -0
- package/dist/components/NumberField/index.js +6 -0
- package/dist/components/NumberField/index.js.map +1 -0
- package/dist/components/OtpField/OtpField.d.cts +55 -0
- package/dist/components/OtpField/OtpField.d.ts +55 -0
- package/dist/components/OtpField/index.cjs +2 -0
- package/dist/components/OtpField/index.cjs.map +1 -0
- package/dist/components/OtpField/index.d.cts +2 -0
- package/dist/components/OtpField/index.d.ts +2 -0
- package/dist/components/OtpField/index.js +6 -0
- package/dist/components/OtpField/index.js.map +1 -0
- package/dist/components/Overlay/Overlay.d.cts +29 -0
- package/dist/components/Overlay/Overlay.d.ts +29 -0
- package/dist/components/PageLayout/PageLayout.d.cts +13 -0
- package/dist/components/PageLayout/PageLayout.d.ts +13 -0
- package/dist/components/PageLayout/index.cjs +2 -0
- package/dist/components/PageLayout/index.cjs.map +1 -0
- package/dist/components/PageLayout/index.d.cts +2 -0
- package/dist/components/PageLayout/index.d.ts +2 -0
- package/dist/components/PageLayout/index.js +6 -0
- package/dist/components/PageLayout/index.js.map +1 -0
- package/dist/components/Pagination/Pagination.d.cts +44 -0
- package/dist/components/Pagination/Pagination.d.ts +44 -0
- package/dist/components/Pagination/index.cjs +2 -0
- package/dist/components/Pagination/index.cjs.map +1 -0
- package/dist/components/Pagination/index.d.cts +2 -0
- package/dist/components/Pagination/index.d.ts +2 -0
- package/dist/components/Pagination/index.js +6 -0
- package/dist/components/Pagination/index.js.map +1 -0
- package/dist/components/Pagination/paginationRange.d.cts +21 -0
- package/dist/components/Pagination/paginationRange.d.ts +21 -0
- package/dist/components/Popover/Popover.d.cts +43 -0
- package/dist/components/Popover/Popover.d.ts +43 -0
- package/dist/components/Popover/index.cjs +2 -0
- package/dist/components/Popover/index.cjs.map +1 -0
- package/dist/components/Popover/index.d.cts +2 -0
- package/dist/components/Popover/index.d.ts +2 -0
- package/dist/components/Popover/index.js +6 -0
- package/dist/components/Popover/index.js.map +1 -0
- package/dist/components/Radio/Radio.d.cts +27 -0
- package/dist/components/Radio/Radio.d.ts +27 -0
- package/dist/components/Radio/RadioGroup.d.cts +47 -0
- package/dist/components/Radio/RadioGroup.d.ts +47 -0
- package/dist/components/Radio/index.cjs +2 -0
- package/dist/components/Radio/index.cjs.map +1 -0
- package/dist/components/Radio/index.d.cts +4 -0
- package/dist/components/Radio/index.d.ts +4 -0
- package/dist/components/Radio/index.js +7 -0
- package/dist/components/Radio/index.js.map +1 -0
- package/dist/components/Radio/radioContext.d.cts +18 -0
- package/dist/components/Radio/radioContext.d.ts +18 -0
- package/dist/components/RemoveDialog/RemoveDialog.d.cts +35 -0
- package/dist/components/RemoveDialog/RemoveDialog.d.ts +35 -0
- package/dist/components/RemoveDialog/index.cjs +2 -0
- package/dist/components/RemoveDialog/index.cjs.map +1 -0
- package/dist/components/RemoveDialog/index.d.cts +2 -0
- package/dist/components/RemoveDialog/index.d.ts +2 -0
- package/dist/components/RemoveDialog/index.js +6 -0
- package/dist/components/RemoveDialog/index.js.map +1 -0
- package/dist/components/RichTextEditor/RichTextEditor.d.cts +48 -0
- package/dist/components/RichTextEditor/RichTextEditor.d.ts +48 -0
- package/dist/components/RichTextEditor/Toolbar.d.cts +10 -0
- package/dist/components/RichTextEditor/Toolbar.d.ts +10 -0
- package/dist/components/RichTextEditor/index.cjs +2 -0
- package/dist/components/RichTextEditor/index.cjs.map +1 -0
- package/dist/components/RichTextEditor/index.d.cts +2 -0
- package/dist/components/RichTextEditor/index.d.ts +2 -0
- package/dist/components/RichTextEditor/index.js +6 -0
- package/dist/components/RichTextEditor/index.js.map +1 -0
- package/dist/components/RichTextEditor/nodes/ImageNode.d.cts +33 -0
- package/dist/components/RichTextEditor/nodes/ImageNode.d.ts +33 -0
- package/dist/components/RichTextEditor/nodes/VideoNode.d.cts +36 -0
- package/dist/components/RichTextEditor/nodes/VideoNode.d.ts +36 -0
- package/dist/components/RichTextEditor/urlSafety.d.cts +16 -0
- package/dist/components/RichTextEditor/urlSafety.d.ts +16 -0
- package/dist/components/RootLayout/RootLayout.d.cts +46 -0
- package/dist/components/RootLayout/RootLayout.d.ts +46 -0
- package/dist/components/RootLayout/SettingsDrawer.d.cts +23 -0
- package/dist/components/RootLayout/SettingsDrawer.d.ts +23 -0
- package/dist/components/RootLayout/index.cjs +2 -0
- package/dist/components/RootLayout/index.cjs.map +1 -0
- package/dist/components/RootLayout/index.d.cts +2 -0
- package/dist/components/RootLayout/index.d.ts +2 -0
- package/dist/components/RootLayout/index.js +6 -0
- package/dist/components/RootLayout/index.js.map +1 -0
- package/dist/components/Select/Select.d.cts +85 -0
- package/dist/components/Select/Select.d.ts +85 -0
- package/dist/components/Select/index.cjs +2 -0
- package/dist/components/Select/index.cjs.map +1 -0
- package/dist/components/Select/index.d.cts +2 -0
- package/dist/components/Select/index.d.ts +2 -0
- package/dist/components/Select/index.js +6 -0
- package/dist/components/Select/index.js.map +1 -0
- package/dist/components/Sidebar/Sidebar.d.cts +90 -0
- package/dist/components/Sidebar/Sidebar.d.ts +90 -0
- package/dist/components/Sidebar/index.cjs +2 -0
- package/dist/components/Sidebar/index.cjs.map +1 -0
- package/dist/components/Sidebar/index.d.cts +1 -0
- package/dist/components/Sidebar/index.d.ts +1 -0
- package/dist/components/Sidebar/index.js +7 -0
- package/dist/components/Sidebar/index.js.map +1 -0
- package/dist/components/Slider/Slider.d.cts +58 -0
- package/dist/components/Slider/Slider.d.ts +58 -0
- package/dist/components/Slider/index.cjs +2 -0
- package/dist/components/Slider/index.cjs.map +1 -0
- package/dist/components/Slider/index.d.cts +2 -0
- package/dist/components/Slider/index.d.ts +2 -0
- package/dist/components/Slider/index.js +6 -0
- package/dist/components/Slider/index.js.map +1 -0
- package/dist/components/SpeedDial/SpeedDial.d.cts +56 -0
- package/dist/components/SpeedDial/SpeedDial.d.ts +56 -0
- package/dist/components/SpeedDial/SpeedDialAction.d.cts +18 -0
- package/dist/components/SpeedDial/SpeedDialAction.d.ts +18 -0
- package/dist/components/SpeedDial/index.cjs +2 -0
- package/dist/components/SpeedDial/index.cjs.map +1 -0
- package/dist/components/SpeedDial/index.d.cts +4 -0
- package/dist/components/SpeedDial/index.d.ts +4 -0
- package/dist/components/SpeedDial/index.js +7 -0
- package/dist/components/SpeedDial/index.js.map +1 -0
- package/dist/components/SpeedDial/speedDialContext.d.cts +19 -0
- package/dist/components/SpeedDial/speedDialContext.d.ts +19 -0
- package/dist/components/Stepper/Stepper.d.cts +94 -0
- package/dist/components/Stepper/Stepper.d.ts +94 -0
- package/dist/components/Stepper/index.cjs +2 -0
- package/dist/components/Stepper/index.cjs.map +1 -0
- package/dist/components/Stepper/index.d.cts +2 -0
- package/dist/components/Stepper/index.d.ts +2 -0
- package/dist/components/Stepper/index.js +6 -0
- package/dist/components/Stepper/index.js.map +1 -0
- package/dist/components/SwatchPicker/SwatchPicker.d.cts +43 -0
- package/dist/components/SwatchPicker/SwatchPicker.d.ts +43 -0
- package/dist/components/SwatchPicker/index.cjs +2 -0
- package/dist/components/SwatchPicker/index.cjs.map +1 -0
- package/dist/components/SwatchPicker/index.d.cts +2 -0
- package/dist/components/SwatchPicker/index.d.ts +2 -0
- package/dist/components/SwatchPicker/index.js +6 -0
- package/dist/components/SwatchPicker/index.js.map +1 -0
- package/dist/components/Switch/Switch.d.cts +29 -0
- package/dist/components/Switch/Switch.d.ts +29 -0
- package/dist/components/Switch/index.cjs +2 -0
- package/dist/components/Switch/index.cjs.map +1 -0
- package/dist/components/Switch/index.d.cts +2 -0
- package/dist/components/Switch/index.d.ts +2 -0
- package/dist/components/Switch/index.js +6 -0
- package/dist/components/Switch/index.js.map +1 -0
- package/dist/components/Table/Table.d.cts +248 -0
- package/dist/components/Table/Table.d.ts +248 -0
- package/dist/components/Table/TableFilters.d.cts +16 -0
- package/dist/components/Table/TableFilters.d.ts +16 -0
- package/dist/components/Table/index.cjs +2 -0
- package/dist/components/Table/index.cjs.map +1 -0
- package/dist/components/Table/index.d.cts +3 -0
- package/dist/components/Table/index.d.ts +3 -0
- package/dist/components/Table/index.js +6 -0
- package/dist/components/Table/index.js.map +1 -0
- package/dist/components/Table/tableFilter.d.cts +65 -0
- package/dist/components/Table/tableFilter.d.ts +65 -0
- package/dist/components/Tabs/Tabs.d.cts +80 -0
- package/dist/components/Tabs/Tabs.d.ts +80 -0
- package/dist/components/Tabs/index.cjs +2 -0
- package/dist/components/Tabs/index.cjs.map +1 -0
- package/dist/components/Tabs/index.d.cts +2 -0
- package/dist/components/Tabs/index.d.ts +2 -0
- package/dist/components/Tabs/index.js +6 -0
- package/dist/components/Tabs/index.js.map +1 -0
- package/dist/components/TagsField/TagsField.d.cts +47 -0
- package/dist/components/TagsField/TagsField.d.ts +47 -0
- package/dist/components/TagsField/index.cjs +2 -0
- package/dist/components/TagsField/index.cjs.map +1 -0
- package/dist/components/TagsField/index.d.cts +2 -0
- package/dist/components/TagsField/index.d.ts +2 -0
- package/dist/components/TagsField/index.js +6 -0
- package/dist/components/TagsField/index.js.map +1 -0
- package/dist/components/TextField/TextField.d.cts +62 -0
- package/dist/components/TextField/TextField.d.ts +62 -0
- package/dist/components/TextField/index.cjs +2 -0
- package/dist/components/TextField/index.cjs.map +1 -0
- package/dist/components/TextField/index.d.cts +2 -0
- package/dist/components/TextField/index.d.ts +2 -0
- package/dist/components/TextField/index.js +6 -0
- package/dist/components/TextField/index.js.map +1 -0
- package/dist/components/ThemeToggle/ThemeToggle.d.cts +9 -0
- package/dist/components/ThemeToggle/ThemeToggle.d.ts +9 -0
- package/dist/components/ThemeToggle/index.cjs +2 -0
- package/dist/components/ThemeToggle/index.cjs.map +1 -0
- package/dist/components/ThemeToggle/index.d.cts +2 -0
- package/dist/components/ThemeToggle/index.d.ts +2 -0
- package/dist/components/ThemeToggle/index.js +6 -0
- package/dist/components/ThemeToggle/index.js.map +1 -0
- package/dist/components/TimePicker/TimePicker.d.cts +68 -0
- package/dist/components/TimePicker/TimePicker.d.ts +68 -0
- package/dist/components/TimePicker/index.cjs +2 -0
- package/dist/components/TimePicker/index.cjs.map +1 -0
- package/dist/components/TimePicker/index.d.cts +2 -0
- package/dist/components/TimePicker/index.d.ts +2 -0
- package/dist/components/TimePicker/index.js +6 -0
- package/dist/components/TimePicker/index.js.map +1 -0
- package/dist/components/Timeline/Timeline.d.cts +37 -0
- package/dist/components/Timeline/Timeline.d.ts +37 -0
- package/dist/components/Timeline/TimelineItem.d.cts +26 -0
- package/dist/components/Timeline/TimelineItem.d.ts +26 -0
- package/dist/components/Timeline/index.cjs +2 -0
- package/dist/components/Timeline/index.cjs.map +1 -0
- package/dist/components/Timeline/index.d.cts +4 -0
- package/dist/components/Timeline/index.d.ts +4 -0
- package/dist/components/Timeline/index.js +7 -0
- package/dist/components/Timeline/index.js.map +1 -0
- package/dist/components/Timeline/timelineContext.d.cts +10 -0
- package/dist/components/Timeline/timelineContext.d.ts +10 -0
- package/dist/components/Toast/ToastItem.d.cts +12 -0
- package/dist/components/Toast/ToastItem.d.ts +12 -0
- package/dist/components/Toast/Toaster.d.cts +18 -0
- package/dist/components/Toast/Toaster.d.ts +18 -0
- package/dist/components/Toast/index.cjs +2 -0
- package/dist/components/Toast/index.cjs.map +1 -0
- package/dist/components/Toast/index.d.cts +4 -0
- package/dist/components/Toast/index.d.ts +4 -0
- package/dist/components/Toast/index.js +8 -0
- package/dist/components/Toast/index.js.map +1 -0
- package/dist/components/Toast/toastStore.d.cts +45 -0
- package/dist/components/Toast/toastStore.d.ts +45 -0
- package/dist/components/ToggleButton/ToggleButton.d.cts +26 -0
- package/dist/components/ToggleButton/ToggleButton.d.ts +26 -0
- package/dist/components/ToggleButton/ToggleButtonGroup.d.cts +52 -0
- package/dist/components/ToggleButton/ToggleButtonGroup.d.ts +52 -0
- package/dist/components/ToggleButton/index.cjs +2 -0
- package/dist/components/ToggleButton/index.cjs.map +1 -0
- package/dist/components/ToggleButton/index.d.cts +4 -0
- package/dist/components/ToggleButton/index.d.ts +4 -0
- package/dist/components/ToggleButton/index.js +7 -0
- package/dist/components/ToggleButton/index.js.map +1 -0
- package/dist/components/ToggleButton/toggleButtonGroupContext.d.cts +15 -0
- package/dist/components/ToggleButton/toggleButtonGroupContext.d.ts +15 -0
- package/dist/components/Tooltip/Tooltip.d.cts +21 -0
- package/dist/components/Tooltip/Tooltip.d.ts +21 -0
- package/dist/components/Tooltip/index.cjs +2 -0
- package/dist/components/Tooltip/index.cjs.map +1 -0
- package/dist/components/Tooltip/index.d.cts +2 -0
- package/dist/components/Tooltip/index.d.ts +2 -0
- package/dist/components/Tooltip/index.js +6 -0
- package/dist/components/Tooltip/index.js.map +1 -0
- package/dist/components/TranslatedFields/TranslatedFields.d.cts +56 -0
- package/dist/components/TranslatedFields/TranslatedFields.d.ts +56 -0
- package/dist/components/TranslatedFields/index.cjs +2 -0
- package/dist/components/TranslatedFields/index.cjs.map +1 -0
- package/dist/components/TranslatedFields/index.d.cts +2 -0
- package/dist/components/TranslatedFields/index.d.ts +2 -0
- package/dist/components/TranslatedFields/index.js +6 -0
- package/dist/components/TranslatedFields/index.js.map +1 -0
- package/dist/components/Typography/Typography.d.cts +30 -0
- package/dist/components/Typography/Typography.d.ts +30 -0
- package/dist/components/Typography/index.cjs +2 -0
- package/dist/components/Typography/index.cjs.map +1 -0
- package/dist/components/Typography/index.d.cts +2 -0
- package/dist/components/Typography/index.d.ts +2 -0
- package/dist/components/Typography/index.js +6 -0
- package/dist/components/Typography/index.js.map +1 -0
- package/dist/components/UserCard/UserCard.d.cts +33 -0
- package/dist/components/UserCard/UserCard.d.ts +33 -0
- package/dist/components/UserCard/index.cjs +2 -0
- package/dist/components/UserCard/index.cjs.map +1 -0
- package/dist/components/UserCard/index.d.cts +2 -0
- package/dist/components/UserCard/index.d.ts +2 -0
- package/dist/components/UserCard/index.js +6 -0
- package/dist/components/UserCard/index.js.map +1 -0
- package/dist/components/index.d.cts +57 -0
- package/dist/components/index.d.ts +57 -0
- package/dist/entries/components.cjs +2 -0
- package/dist/entries/components.cjs.map +1 -0
- package/dist/entries/components.d.cts +3 -0
- package/dist/entries/components.d.ts +3 -0
- package/dist/entries/components.js +140 -0
- package/dist/entries/components.js.map +1 -0
- package/dist/entries/helpers.cjs +2 -0
- package/dist/entries/helpers.cjs.map +1 -0
- package/dist/entries/helpers.d.cts +4 -0
- package/dist/entries/helpers.d.ts +4 -0
- package/dist/entries/helpers.js +17 -0
- package/dist/entries/helpers.js.map +1 -0
- package/dist/entries/hooks.cjs +2 -0
- package/dist/entries/hooks.cjs.map +1 -0
- package/dist/entries/hooks.d.cts +7 -0
- package/dist/entries/hooks.d.ts +7 -0
- package/dist/entries/hooks.js +12 -0
- package/dist/entries/hooks.js.map +1 -0
- package/dist/entries/i18n.cjs +2 -0
- package/dist/entries/i18n.cjs.map +1 -0
- package/dist/entries/i18n.d.cts +3 -0
- package/dist/entries/i18n.d.ts +3 -0
- package/dist/entries/i18n.js +11 -0
- package/dist/entries/i18n.js.map +1 -0
- package/dist/entries/icons.cjs +2 -0
- package/dist/entries/icons.cjs.map +1 -0
- package/dist/entries/icons.d.cts +2 -0
- package/dist/entries/icons.d.ts +2 -0
- package/dist/entries/icons.js +9 -0
- package/dist/entries/icons.js.map +1 -0
- package/dist/entries/theme.cjs +2 -0
- package/dist/entries/theme.cjs.map +1 -0
- package/dist/entries/theme.d.cts +2 -0
- package/dist/entries/theme.d.ts +2 -0
- package/dist/entries/theme.js +18 -0
- package/dist/entries/theme.js.map +1 -0
- package/dist/form/Form.d.cts +14 -0
- package/dist/form/Form.d.ts +14 -0
- package/dist/form/formContext.d.cts +8 -0
- package/dist/form/formContext.d.ts +8 -0
- package/dist/form/index.d.cts +5 -0
- package/dist/form/index.d.ts +5 -0
- package/dist/form/useForm.d.cts +81 -0
- package/dist/form/useForm.d.ts +81 -0
- package/dist/formContext-B7ln1Miy.js +10 -0
- package/dist/formContext-B7ln1Miy.js.map +1 -0
- package/dist/formContext-bTWrqdEV.cjs +2 -0
- package/dist/formContext-bTWrqdEV.cjs.map +1 -0
- package/dist/helpers/access.d.cts +11 -0
- package/dist/helpers/access.d.ts +11 -0
- package/dist/helpers/table.d.cts +41 -0
- package/dist/helpers/table.d.ts +41 -0
- package/dist/helpers/translations.d.cts +63 -0
- package/dist/helpers/translations.d.ts +63 -0
- package/dist/hooks/index.d.cts +4 -0
- package/dist/hooks/index.d.ts +4 -0
- package/dist/hooks/useDisclosure.d.cts +7 -0
- package/dist/hooks/useDisclosure.d.ts +7 -0
- package/dist/hooks/useFloatingPanel.d.cts +45 -0
- package/dist/hooks/useFloatingPanel.d.ts +45 -0
- package/dist/hooks/useLockBodyScroll.d.cts +7 -0
- package/dist/hooks/useLockBodyScroll.d.ts +7 -0
- package/dist/hooks/useMediaQuery.d.cts +13 -0
- package/dist/hooks/useMediaQuery.d.ts +13 -0
- package/dist/i18n/locales/de.d.cts +5 -0
- package/dist/i18n/locales/de.d.ts +5 -0
- package/dist/i18n/locales/en.d.cts +9 -0
- package/dist/i18n/locales/en.d.ts +9 -0
- package/dist/i18n/locales/es.d.cts +5 -0
- package/dist/i18n/locales/es.d.ts +5 -0
- package/dist/i18n/locales/fr.d.cts +5 -0
- package/dist/i18n/locales/fr.d.ts +5 -0
- package/dist/i18n/locales/it.d.cts +5 -0
- package/dist/i18n/locales/it.d.ts +5 -0
- package/dist/i18n/locales/ka.d.cts +8 -0
- package/dist/i18n/locales/ka.d.ts +8 -0
- package/dist/i18n/locales/ru.d.cts +5 -0
- package/dist/i18n/locales/ru.d.ts +5 -0
- package/dist/i18n/messages.d.cts +241 -0
- package/dist/i18n/messages.d.ts +241 -0
- package/dist/icons/icons.d.cts +2 -0
- package/dist/icons/icons.d.ts +2 -0
- package/dist/icons/names.d.cts +3 -0
- package/dist/icons/names.d.ts +3 -0
- package/dist/index.cjs +2 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.css +203 -0
- package/dist/index.d.cts +6 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.js +185 -0
- package/dist/index.js.map +1 -0
- package/dist/messages-C-zecFBE.js +1363 -0
- package/dist/messages-C-zecFBE.js.map +1 -0
- package/dist/messages-Cy-qK5xU.cjs +36 -0
- package/dist/messages-Cy-qK5xU.cjs.map +1 -0
- package/dist/names-C2Yj1p3u.cjs +2 -0
- package/dist/names-C2Yj1p3u.cjs.map +1 -0
- package/dist/names-D8ABK2Wk.js +1205 -0
- package/dist/names-D8ABK2Wk.js.map +1 -0
- package/dist/reset.css +78 -0
- package/dist/table-CZRQGNdk.cjs +2 -0
- package/dist/table-CZRQGNdk.cjs.map +1 -0
- package/dist/table-DF3zTrC3.js +49 -0
- package/dist/table-DF3zTrC3.js.map +1 -0
- package/dist/theme/ConfigProvider.d.cts +362 -0
- package/dist/theme/ConfigProvider.d.ts +362 -0
- package/dist/theme/applyTheme.d.cts +28 -0
- package/dist/theme/applyTheme.d.ts +28 -0
- package/dist/theme/index.d.cts +5 -0
- package/dist/theme/index.d.ts +5 -0
- package/dist/toastStore-B4Tk2Xk7.cjs +2 -0
- package/dist/toastStore-B4Tk2Xk7.cjs.map +1 -0
- package/dist/toastStore-Cx_JOKwS.js +32 -0
- package/dist/toastStore-Cx_JOKwS.js.map +1 -0
- package/dist/translations-CXEeeUDL.cjs +2 -0
- package/dist/translations-CXEeeUDL.cjs.map +1 -0
- package/dist/translations-D15tFHM1.js +74 -0
- package/dist/translations-D15tFHM1.js.map +1 -0
- package/dist/useForm-B_5wDIER.js +126 -0
- package/dist/useForm-B_5wDIER.js.map +1 -0
- package/dist/useForm-C7erBHt0.cjs +2 -0
- package/dist/useForm-C7erBHt0.cjs.map +1 -0
- package/dist/useLockBodyScroll-CIXHZo-Q.cjs +2 -0
- package/dist/useLockBodyScroll-CIXHZo-Q.cjs.map +1 -0
- package/dist/useLockBodyScroll-DwBILLPK.js +35 -0
- package/dist/useLockBodyScroll-DwBILLPK.js.map +1 -0
- package/dist/useMediaQuery-BCsNfMA1.cjs +2 -0
- package/dist/useMediaQuery-BCsNfMA1.cjs.map +1 -0
- package/dist/useMediaQuery-_1EcFoC5.js +17 -0
- package/dist/useMediaQuery-_1EcFoC5.js.map +1 -0
- package/package.json +244 -0
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
import { useState as S, useCallback as f, useRef as E, useMemo as F } from "react";
|
|
2
|
+
function q(n = !1) {
|
|
3
|
+
const [i, e] = S(n), r = f(() => e(!0), []), u = f(() => e(!1), []), s = f(() => e((o) => !o), []);
|
|
4
|
+
return { isOpen: i, open: r, close: u, toggle: s };
|
|
5
|
+
}
|
|
6
|
+
function D(n, i) {
|
|
7
|
+
let e = null, r = Number.POSITIVE_INFINITY;
|
|
8
|
+
for (const u of i) {
|
|
9
|
+
const s = typeof CSS < "u" && CSS.escape ? CSS.escape(u) : u, o = n.querySelector(`[name="${s}"]`);
|
|
10
|
+
if (!o) continue;
|
|
11
|
+
const d = o.getBoundingClientRect().top;
|
|
12
|
+
d < r && (r = d, e = o);
|
|
13
|
+
}
|
|
14
|
+
e && (typeof e.scrollIntoView == "function" && e.scrollIntoView({ behavior: "smooth", block: "center" }), e.focus({ preventScroll: !0 }));
|
|
15
|
+
}
|
|
16
|
+
function _(n, i) {
|
|
17
|
+
const e = n.safeParse(i);
|
|
18
|
+
if (e.success) return {};
|
|
19
|
+
const r = {};
|
|
20
|
+
for (const u of e.error.issues) {
|
|
21
|
+
const s = String(u.path[0] ?? "_form");
|
|
22
|
+
s in r || (r[s] = u.message);
|
|
23
|
+
}
|
|
24
|
+
return r;
|
|
25
|
+
}
|
|
26
|
+
function L({
|
|
27
|
+
schema: n,
|
|
28
|
+
defaultValues: i,
|
|
29
|
+
onSubmit: e,
|
|
30
|
+
mode: r = "blurThenLive",
|
|
31
|
+
scrollToError: u = !0
|
|
32
|
+
}) {
|
|
33
|
+
const [s, o] = S(i), d = E(i), [h, m] = S({}), [b, V] = S(!1), [y, k] = S(0), [w, B] = S(!1), C = E(!1), g = F(() => _(n, s), [n, s]), O = Object.keys(g).length === 0, T = f(
|
|
34
|
+
(t) => r === "change" ? !0 : r === "submit" ? b : b || h[t] === !0,
|
|
35
|
+
[r, b, h]
|
|
36
|
+
), p = f((t, l) => {
|
|
37
|
+
o((c) => ({ ...c, [t]: l }));
|
|
38
|
+
}, []), P = f(
|
|
39
|
+
(t) => {
|
|
40
|
+
const l = s[t];
|
|
41
|
+
return {
|
|
42
|
+
name: t,
|
|
43
|
+
value: l == null ? "" : String(l),
|
|
44
|
+
onChange: (c) => p(t, c.target.value),
|
|
45
|
+
onBlur: () => {
|
|
46
|
+
m((c) => c[t] ? c : { ...c, [t]: !0 });
|
|
47
|
+
},
|
|
48
|
+
error: T(t) && !!g[t],
|
|
49
|
+
helperText: T(t) ? g[t] : void 0
|
|
50
|
+
};
|
|
51
|
+
},
|
|
52
|
+
[s, g, T, p, r]
|
|
53
|
+
), I = f((t) => {
|
|
54
|
+
o(t ?? d.current), m({}), V(!1), k(0);
|
|
55
|
+
}, []), R = f(
|
|
56
|
+
(t) => {
|
|
57
|
+
if (t == null || t.preventDefault(), C.current) return;
|
|
58
|
+
V(!0), k((a) => a + 1);
|
|
59
|
+
const l = n.safeParse(s);
|
|
60
|
+
if (!l.success) {
|
|
61
|
+
const a = t == null ? void 0 : t.currentTarget;
|
|
62
|
+
if (u && a instanceof Element) {
|
|
63
|
+
const N = l.error.issues.map((x) => String(x.path[0] ?? "")).filter(Boolean);
|
|
64
|
+
D(a, N);
|
|
65
|
+
}
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
const c = e == null ? void 0 : e(l.data, { reset: I, setValue: p, setValues: o });
|
|
69
|
+
if (c instanceof Promise) {
|
|
70
|
+
C.current = !0, B(!0);
|
|
71
|
+
const a = () => {
|
|
72
|
+
C.current = !1, B(!1);
|
|
73
|
+
};
|
|
74
|
+
c.then(a, a);
|
|
75
|
+
}
|
|
76
|
+
},
|
|
77
|
+
[n, s, e, I, p, u]
|
|
78
|
+
);
|
|
79
|
+
return F(
|
|
80
|
+
() => ({
|
|
81
|
+
/** Current form values. */
|
|
82
|
+
values: s,
|
|
83
|
+
/** `{ field: firstErrorMessage }` for every invalid field (regardless of visibility). */
|
|
84
|
+
errors: g,
|
|
85
|
+
/** Which fields have been blurred. */
|
|
86
|
+
touched: h,
|
|
87
|
+
/** True when the whole form passes the schema. */
|
|
88
|
+
isValid: O,
|
|
89
|
+
/** True once a submit has been attempted. */
|
|
90
|
+
isSubmitted: b,
|
|
91
|
+
/** Number of submit attempts (increments on every `handleSubmit`). */
|
|
92
|
+
submitCount: y,
|
|
93
|
+
/** True while an async `onSubmit` is in flight. */
|
|
94
|
+
isSubmitting: w,
|
|
95
|
+
/** Spread onto a `<TextField />`: wires value/onChange/onBlur and shows the field's error. */
|
|
96
|
+
field: P,
|
|
97
|
+
/** Imperatively set one field's value. */
|
|
98
|
+
setValue: p,
|
|
99
|
+
/** Replace all values. */
|
|
100
|
+
setValues: o,
|
|
101
|
+
/** Reset to `defaultValues` (or the given values) and clear touched/submitted state. */
|
|
102
|
+
reset: I,
|
|
103
|
+
/** Form `onSubmit` handler — validates, then calls `onSubmit` with parsed values when valid. */
|
|
104
|
+
handleSubmit: R
|
|
105
|
+
}),
|
|
106
|
+
[
|
|
107
|
+
s,
|
|
108
|
+
g,
|
|
109
|
+
h,
|
|
110
|
+
O,
|
|
111
|
+
b,
|
|
112
|
+
y,
|
|
113
|
+
w,
|
|
114
|
+
P,
|
|
115
|
+
p,
|
|
116
|
+
o,
|
|
117
|
+
I,
|
|
118
|
+
R
|
|
119
|
+
]
|
|
120
|
+
);
|
|
121
|
+
}
|
|
122
|
+
export {
|
|
123
|
+
L as a,
|
|
124
|
+
q as u
|
|
125
|
+
};
|
|
126
|
+
//# sourceMappingURL=useForm-B_5wDIER.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useForm-B_5wDIER.js","sources":["../src/hooks/useDisclosure.ts","../src/form/useForm.ts"],"sourcesContent":["import { useCallback, useState } from 'react'\n\nexport interface UseDisclosureReturn {\n isOpen: boolean\n open: () => void\n close: () => void\n toggle: () => void\n}\n\nexport function useDisclosure(initial = false): UseDisclosureReturn {\n const [isOpen, setIsOpen] = useState(initial)\n const open = useCallback(() => setIsOpen(true), [])\n const close = useCallback(() => setIsOpen(false), [])\n const toggle = useCallback(() => setIsOpen((v) => !v), [])\n return { isOpen, open, close, toggle }\n}\n","import {\n useCallback,\n useMemo,\n useRef,\n useState,\n type ChangeEvent,\n type Dispatch,\n type FocusEvent,\n type SetStateAction,\n type SyntheticEvent,\n} from 'react'\nimport type { TypeOf, ZodType } from 'zod'\n\n/**\n * When validation errors start showing for a field:\n * - `blurThenLive` (default) — after the field is blurred (or the form is submitted), then live on every change.\n * - `change` — from the very first keystroke.\n * - `submit` — only after a submit attempt.\n */\nexport type FormValidationMode = 'blurThenLive' | 'change' | 'submit'\n\nexport interface UseFormOptions<S extends ZodType> {\n /** Zod schema describing the whole form. Field names match the schema's top-level keys. */\n schema: S\n /** Initial values — the controlled source of truth for every field. */\n defaultValues: TypeOf<S>\n /**\n * Called with the parsed (schema-validated) values when a submit passes validation. The second\n * argument carries helpers — e.g. `reset` to clear the form on success: `(values, { reset }) => {…}`.\n */\n onSubmit?: (values: TypeOf<S>, helpers: FormHelpers<TypeOf<S>>) => void | Promise<void>\n /** When errors begin to show per field. Defaults to `blurThenLive`. */\n mode?: FormValidationMode\n /**\n * On a failed submit, smooth-scroll to (and focus) the first invalid field — the one that sits\n * **highest** on the page. Needs the submit event's form element (works with `<Form>` or any\n * `<form onSubmit={form.handleSubmit}>`). Defaults to `true`.\n */\n scrollToError?: boolean\n}\n\n/** Helpers handed to `onSubmit` (Formik-style), so you can clear or tweak the form on success. */\nexport interface FormHelpers<Values> {\n /** Reset to `defaultValues` (or the given values), clearing touched/submitted state. */\n reset: (next?: Values) => void\n /** Set one field's value. */\n setValue: <K extends keyof Values & string>(name: K, value: Values[K]) => void\n /** Replace all values. */\n setValues: Dispatch<SetStateAction<Values>>\n}\n\n/** Props returned by `field(name)` — spread directly onto a `<TextField />`. */\nexport interface FieldProps {\n name: string\n value: string\n onChange: (event: ChangeEvent<HTMLInputElement>) => void\n onBlur: (event: FocusEvent<HTMLInputElement>) => void\n error: boolean\n helperText?: string\n}\n\n/** Everything `useForm` returns — also the value carried by `<Form>`'s context. */\nexport interface FormApi<Values> {\n /** Current form values. */\n values: Values\n /** `{ field: firstErrorMessage }` for every invalid field (regardless of visibility). */\n errors: Record<string, string>\n /** Which fields have been blurred. */\n touched: Record<string, boolean>\n /** True when the whole form passes the schema. */\n isValid: boolean\n /** True once a submit has been attempted. */\n isSubmitted: boolean\n /** Number of submit attempts (increments on every `handleSubmit`) — watch it to react to each submit. */\n submitCount: number\n /** True while an async `onSubmit` is in flight. */\n isSubmitting: boolean\n /** Spread onto a `<TextField />` (or let `<Form>` + a `name` prop wire it for you). */\n field: (name: keyof Values & string) => FieldProps\n /** Imperatively set one field's value. */\n setValue: <K extends keyof Values & string>(name: K, value: Values[K]) => void\n /** Replace all values. */\n setValues: Dispatch<SetStateAction<Values>>\n /** Reset to `defaultValues` (or the given values) and clear touched/submitted state. */\n reset: (next?: Values) => void\n /** Form `onSubmit` handler — validates, then calls `onSubmit` with parsed values when valid. */\n handleSubmit: (event?: SyntheticEvent) => void\n}\n\n/**\n * Smooth-scroll to (and focus) the highest invalid field inside `scope`, matched by its `name`\n * attribute. \"Highest\" = smallest viewport `top`, so it lands on the first red field regardless of\n * DOM vs. visual order. No-op if none of the names resolve to an element.\n */\nfunction scrollToFirstError(scope: Element, names: string[]) {\n let target: HTMLElement | null = null\n let top = Number.POSITIVE_INFINITY\n for (const name of names) {\n const selector = typeof CSS !== 'undefined' && CSS.escape ? CSS.escape(name) : name\n const el = scope.querySelector<HTMLElement>(`[name=\"${selector}\"]`)\n if (!el) continue\n const elTop = el.getBoundingClientRect().top\n if (elTop < top) {\n top = elTop\n target = el\n }\n }\n if (!target) return\n if (typeof target.scrollIntoView === 'function') {\n target.scrollIntoView({ behavior: 'smooth', block: 'center' })\n }\n target.focus({ preventScroll: true })\n}\n\n/** Runs the schema and reduces Zod issues to a `{ field: firstMessage }` map. */\nfunction collectErrors(schema: ZodType, values: unknown): Record<string, string> {\n const result = schema.safeParse(values)\n if (result.success) return {}\n const errors: Record<string, string> = {}\n for (const issue of result.error.issues) {\n // path-less issues (a root `.refine()` / `.superRefine()`, e.g. password-confirm) land under a\n // reserved `_form` key so `isValid` reflects them and the message is surfaceable — instead of\n // being silently dropped (which made the form look valid while submit no-op'd).\n const key = String(issue.path[0] ?? '_form')\n if (!(key in errors)) errors[key] = issue.message // keep the first issue per field\n }\n return errors\n}\n\n/**\n * A tiny, Zod-powered form helper — the dependency-light alternative to bundling Formik in\n * every app. Give it a schema and initial values; spread `field(name)` onto a `<TextField />`\n * and it wires up `value`/`onChange`/`onBlur` and surfaces the field's validation error as\n * `error` + `helperText`. Validation follows `mode` (default: validate on blur, then live).\n * `handleSubmit` validates the whole form and calls `onSubmit` with the parsed values only when valid.\n */\nexport function useForm<S extends ZodType>({\n schema,\n defaultValues,\n onSubmit,\n mode = 'blurThenLive',\n scrollToError = true,\n}: UseFormOptions<S>): FormApi<TypeOf<S>> {\n type Values = TypeOf<S>\n\n const [values, setValues] = useState<Values>(defaultValues)\n // hold the initial values in a first-render ref so `reset`'s identity doesn't churn when the caller\n // passes an inline `defaultValues` literal (a fresh object every render)\n const defaultValuesRef = useRef(defaultValues)\n const [touched, setTouched] = useState<Record<string, boolean>>({})\n const [submitted, setSubmitted] = useState(false)\n const [submitCount, setSubmitCount] = useState(0)\n const [isSubmitting, setIsSubmitting] = useState(false)\n // synchronous re-entrancy guard — blocks a double-click before the `isSubmitting` re-render lands\n const submittingRef = useRef(false)\n\n const errors = useMemo(() => collectErrors(schema, values), [schema, values])\n const isValid = Object.keys(errors).length === 0\n\n /** Whether a field's error should currently be visible, per the chosen mode. */\n const isShown = useCallback(\n (name: string) => {\n if (mode === 'change') return true\n if (mode === 'submit') return submitted\n return submitted || touched[name] === true // blurThenLive\n },\n [mode, submitted, touched],\n )\n\n const setValue = useCallback(<K extends keyof Values & string>(name: K, value: Values[K]) => {\n setValues((prev) => ({ ...prev, [name]: value }))\n }, [])\n\n const field = useCallback(\n (name: keyof Values & string): FieldProps => {\n const raw = values[name]\n return {\n name,\n value: raw == null ? '' : String(raw),\n onChange: (event) => setValue(name, event.target.value as Values[typeof name]),\n onBlur: () => {\n // always record touched (so `FormApi.touched` is accurate in every mode); when a field's\n // error becomes *visible* is governed separately by `isShown`/`mode`\n setTouched((prev) => (prev[name] ? prev : { ...prev, [name]: true }))\n },\n error: isShown(name) && Boolean(errors[name]),\n helperText: isShown(name) ? errors[name] : undefined,\n }\n },\n [values, errors, isShown, setValue, mode],\n )\n\n const reset = useCallback((next?: Values) => {\n setValues(next ?? defaultValuesRef.current)\n setTouched({})\n setSubmitted(false)\n setSubmitCount(0)\n }, [])\n\n const handleSubmit = useCallback(\n (event?: SyntheticEvent) => {\n event?.preventDefault()\n if (submittingRef.current) return // ignore re-entrant submits while an async onSubmit is in flight\n setSubmitted(true)\n setSubmitCount((c) => c + 1)\n\n const result = schema.safeParse(values)\n if (!result.success) {\n // errors are derived + now shown (submitted); jump to the first red field if we have the form\n const scope = event?.currentTarget\n if (scrollToError && scope instanceof Element) {\n const names = result.error.issues\n .map((issue) => String(issue.path[0] ?? ''))\n .filter(Boolean)\n scrollToFirstError(scope, names)\n }\n return\n }\n\n const outcome = onSubmit?.(result.data as Values, { reset, setValue, setValues })\n if (outcome instanceof Promise) {\n submittingRef.current = true\n setIsSubmitting(true)\n const done = () => {\n submittingRef.current = false\n setIsSubmitting(false)\n }\n // clear on resolve OR reject — `.then(done, done)` also marks the rejection handled\n // (a bare `.finally` would re-throw into a discarded chain → unhandled promise rejection)\n outcome.then(done, done)\n }\n },\n [schema, values, onSubmit, reset, setValue, scrollToError],\n )\n\n // memoized so `<Form>` (which feeds this straight into context) doesn't re-render every bound field\n // on each render of the form-owning component — only when a real piece of state/identity changes\n return useMemo(\n () => ({\n /** Current form values. */\n values,\n /** `{ field: firstErrorMessage }` for every invalid field (regardless of visibility). */\n errors,\n /** Which fields have been blurred. */\n touched,\n /** True when the whole form passes the schema. */\n isValid,\n /** True once a submit has been attempted. */\n isSubmitted: submitted,\n /** Number of submit attempts (increments on every `handleSubmit`). */\n submitCount,\n /** True while an async `onSubmit` is in flight. */\n isSubmitting,\n /** Spread onto a `<TextField />`: wires value/onChange/onBlur and shows the field's error. */\n field,\n /** Imperatively set one field's value. */\n setValue,\n /** Replace all values. */\n setValues,\n /** Reset to `defaultValues` (or the given values) and clear touched/submitted state. */\n reset,\n /** Form `onSubmit` handler — validates, then calls `onSubmit` with parsed values when valid. */\n handleSubmit,\n }),\n [\n values,\n errors,\n touched,\n isValid,\n submitted,\n submitCount,\n isSubmitting,\n field,\n setValue,\n setValues,\n reset,\n handleSubmit,\n ],\n )\n}\n"],"names":["useDisclosure","initial","isOpen","setIsOpen","useState","open","useCallback","close","toggle","v","scrollToFirstError","scope","names","target","top","name","selector","el","elTop","collectErrors","schema","values","result","errors","issue","key","useForm","defaultValues","onSubmit","mode","scrollToError","setValues","defaultValuesRef","useRef","touched","setTouched","submitted","setSubmitted","submitCount","setSubmitCount","isSubmitting","setIsSubmitting","submittingRef","useMemo","isValid","isShown","setValue","value","prev","field","raw","event","reset","next","handleSubmit","c","outcome","done"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const t=require("react");function D(n=!1){const[i,s]=t.useState(n),o=t.useCallback(()=>s(!0),[]),c=t.useCallback(()=>s(!1),[]),r=t.useCallback(()=>s(u=>!u),[]);return{isOpen:i,open:o,close:c,toggle:r}}function E(n,i){let s=null,o=Number.POSITIVE_INFINITY;for(const c of i){const r=typeof CSS<"u"&&CSS.escape?CSS.escape(c):c,u=n.querySelector(`[name="${r}"]`);if(!u)continue;const p=u.getBoundingClientRect().top;p<o&&(o=p,s=u)}s&&(typeof s.scrollIntoView=="function"&&s.scrollIntoView({behavior:"smooth",block:"center"}),s.focus({preventScroll:!0}))}function N(n,i){const s=n.safeParse(i);if(s.success)return{};const o={};for(const c of s.error.issues){const r=String(c.path[0]??"_form");r in o||(o[r]=c.message)}return o}function q({schema:n,defaultValues:i,onSubmit:s,mode:o="blurThenLive",scrollToError:c=!0}){const[r,u]=t.useState(i),p=t.useRef(i),[C,I]=t.useState({}),[g,T]=t.useState(!1),[m,V]=t.useState(0),[y,R]=t.useState(!1),h=t.useRef(!1),S=t.useMemo(()=>N(n,r),[n,r]),w=Object.keys(S).length===0,k=t.useCallback(e=>o==="change"?!0:o==="submit"?g:g||C[e]===!0,[o,g,C]),b=t.useCallback((e,a)=>{u(l=>({...l,[e]:a}))},[]),B=t.useCallback(e=>{const a=r[e];return{name:e,value:a==null?"":String(a),onChange:l=>b(e,l.target.value),onBlur:()=>{I(l=>l[e]?l:{...l,[e]:!0})},error:k(e)&&!!S[e],helperText:k(e)?S[e]:void 0}},[r,S,k,b,o]),d=t.useCallback(e=>{u(e??p.current),I({}),T(!1),V(0)},[]),F=t.useCallback(e=>{if(e==null||e.preventDefault(),h.current)return;T(!0),V(f=>f+1);const a=n.safeParse(r);if(!a.success){const f=e==null?void 0:e.currentTarget;if(c&&f instanceof Element){const O=a.error.issues.map(P=>String(P.path[0]??"")).filter(Boolean);E(f,O)}return}const l=s==null?void 0:s(a.data,{reset:d,setValue:b,setValues:u});if(l instanceof Promise){h.current=!0,R(!0);const f=()=>{h.current=!1,R(!1)};l.then(f,f)}},[n,r,s,d,b,c]);return t.useMemo(()=>({values:r,errors:S,touched:C,isValid:w,isSubmitted:g,submitCount:m,isSubmitting:y,field:B,setValue:b,setValues:u,reset:d,handleSubmit:F}),[r,S,C,w,g,m,y,B,b,u,d,F])}exports.useDisclosure=D;exports.useForm=q;
|
|
2
|
+
//# sourceMappingURL=useForm-C7erBHt0.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useForm-C7erBHt0.cjs","sources":["../src/hooks/useDisclosure.ts","../src/form/useForm.ts"],"sourcesContent":["import { useCallback, useState } from 'react'\n\nexport interface UseDisclosureReturn {\n isOpen: boolean\n open: () => void\n close: () => void\n toggle: () => void\n}\n\nexport function useDisclosure(initial = false): UseDisclosureReturn {\n const [isOpen, setIsOpen] = useState(initial)\n const open = useCallback(() => setIsOpen(true), [])\n const close = useCallback(() => setIsOpen(false), [])\n const toggle = useCallback(() => setIsOpen((v) => !v), [])\n return { isOpen, open, close, toggle }\n}\n","import {\n useCallback,\n useMemo,\n useRef,\n useState,\n type ChangeEvent,\n type Dispatch,\n type FocusEvent,\n type SetStateAction,\n type SyntheticEvent,\n} from 'react'\nimport type { TypeOf, ZodType } from 'zod'\n\n/**\n * When validation errors start showing for a field:\n * - `blurThenLive` (default) — after the field is blurred (or the form is submitted), then live on every change.\n * - `change` — from the very first keystroke.\n * - `submit` — only after a submit attempt.\n */\nexport type FormValidationMode = 'blurThenLive' | 'change' | 'submit'\n\nexport interface UseFormOptions<S extends ZodType> {\n /** Zod schema describing the whole form. Field names match the schema's top-level keys. */\n schema: S\n /** Initial values — the controlled source of truth for every field. */\n defaultValues: TypeOf<S>\n /**\n * Called with the parsed (schema-validated) values when a submit passes validation. The second\n * argument carries helpers — e.g. `reset` to clear the form on success: `(values, { reset }) => {…}`.\n */\n onSubmit?: (values: TypeOf<S>, helpers: FormHelpers<TypeOf<S>>) => void | Promise<void>\n /** When errors begin to show per field. Defaults to `blurThenLive`. */\n mode?: FormValidationMode\n /**\n * On a failed submit, smooth-scroll to (and focus) the first invalid field — the one that sits\n * **highest** on the page. Needs the submit event's form element (works with `<Form>` or any\n * `<form onSubmit={form.handleSubmit}>`). Defaults to `true`.\n */\n scrollToError?: boolean\n}\n\n/** Helpers handed to `onSubmit` (Formik-style), so you can clear or tweak the form on success. */\nexport interface FormHelpers<Values> {\n /** Reset to `defaultValues` (or the given values), clearing touched/submitted state. */\n reset: (next?: Values) => void\n /** Set one field's value. */\n setValue: <K extends keyof Values & string>(name: K, value: Values[K]) => void\n /** Replace all values. */\n setValues: Dispatch<SetStateAction<Values>>\n}\n\n/** Props returned by `field(name)` — spread directly onto a `<TextField />`. */\nexport interface FieldProps {\n name: string\n value: string\n onChange: (event: ChangeEvent<HTMLInputElement>) => void\n onBlur: (event: FocusEvent<HTMLInputElement>) => void\n error: boolean\n helperText?: string\n}\n\n/** Everything `useForm` returns — also the value carried by `<Form>`'s context. */\nexport interface FormApi<Values> {\n /** Current form values. */\n values: Values\n /** `{ field: firstErrorMessage }` for every invalid field (regardless of visibility). */\n errors: Record<string, string>\n /** Which fields have been blurred. */\n touched: Record<string, boolean>\n /** True when the whole form passes the schema. */\n isValid: boolean\n /** True once a submit has been attempted. */\n isSubmitted: boolean\n /** Number of submit attempts (increments on every `handleSubmit`) — watch it to react to each submit. */\n submitCount: number\n /** True while an async `onSubmit` is in flight. */\n isSubmitting: boolean\n /** Spread onto a `<TextField />` (or let `<Form>` + a `name` prop wire it for you). */\n field: (name: keyof Values & string) => FieldProps\n /** Imperatively set one field's value. */\n setValue: <K extends keyof Values & string>(name: K, value: Values[K]) => void\n /** Replace all values. */\n setValues: Dispatch<SetStateAction<Values>>\n /** Reset to `defaultValues` (or the given values) and clear touched/submitted state. */\n reset: (next?: Values) => void\n /** Form `onSubmit` handler — validates, then calls `onSubmit` with parsed values when valid. */\n handleSubmit: (event?: SyntheticEvent) => void\n}\n\n/**\n * Smooth-scroll to (and focus) the highest invalid field inside `scope`, matched by its `name`\n * attribute. \"Highest\" = smallest viewport `top`, so it lands on the first red field regardless of\n * DOM vs. visual order. No-op if none of the names resolve to an element.\n */\nfunction scrollToFirstError(scope: Element, names: string[]) {\n let target: HTMLElement | null = null\n let top = Number.POSITIVE_INFINITY\n for (const name of names) {\n const selector = typeof CSS !== 'undefined' && CSS.escape ? CSS.escape(name) : name\n const el = scope.querySelector<HTMLElement>(`[name=\"${selector}\"]`)\n if (!el) continue\n const elTop = el.getBoundingClientRect().top\n if (elTop < top) {\n top = elTop\n target = el\n }\n }\n if (!target) return\n if (typeof target.scrollIntoView === 'function') {\n target.scrollIntoView({ behavior: 'smooth', block: 'center' })\n }\n target.focus({ preventScroll: true })\n}\n\n/** Runs the schema and reduces Zod issues to a `{ field: firstMessage }` map. */\nfunction collectErrors(schema: ZodType, values: unknown): Record<string, string> {\n const result = schema.safeParse(values)\n if (result.success) return {}\n const errors: Record<string, string> = {}\n for (const issue of result.error.issues) {\n // path-less issues (a root `.refine()` / `.superRefine()`, e.g. password-confirm) land under a\n // reserved `_form` key so `isValid` reflects them and the message is surfaceable — instead of\n // being silently dropped (which made the form look valid while submit no-op'd).\n const key = String(issue.path[0] ?? '_form')\n if (!(key in errors)) errors[key] = issue.message // keep the first issue per field\n }\n return errors\n}\n\n/**\n * A tiny, Zod-powered form helper — the dependency-light alternative to bundling Formik in\n * every app. Give it a schema and initial values; spread `field(name)` onto a `<TextField />`\n * and it wires up `value`/`onChange`/`onBlur` and surfaces the field's validation error as\n * `error` + `helperText`. Validation follows `mode` (default: validate on blur, then live).\n * `handleSubmit` validates the whole form and calls `onSubmit` with the parsed values only when valid.\n */\nexport function useForm<S extends ZodType>({\n schema,\n defaultValues,\n onSubmit,\n mode = 'blurThenLive',\n scrollToError = true,\n}: UseFormOptions<S>): FormApi<TypeOf<S>> {\n type Values = TypeOf<S>\n\n const [values, setValues] = useState<Values>(defaultValues)\n // hold the initial values in a first-render ref so `reset`'s identity doesn't churn when the caller\n // passes an inline `defaultValues` literal (a fresh object every render)\n const defaultValuesRef = useRef(defaultValues)\n const [touched, setTouched] = useState<Record<string, boolean>>({})\n const [submitted, setSubmitted] = useState(false)\n const [submitCount, setSubmitCount] = useState(0)\n const [isSubmitting, setIsSubmitting] = useState(false)\n // synchronous re-entrancy guard — blocks a double-click before the `isSubmitting` re-render lands\n const submittingRef = useRef(false)\n\n const errors = useMemo(() => collectErrors(schema, values), [schema, values])\n const isValid = Object.keys(errors).length === 0\n\n /** Whether a field's error should currently be visible, per the chosen mode. */\n const isShown = useCallback(\n (name: string) => {\n if (mode === 'change') return true\n if (mode === 'submit') return submitted\n return submitted || touched[name] === true // blurThenLive\n },\n [mode, submitted, touched],\n )\n\n const setValue = useCallback(<K extends keyof Values & string>(name: K, value: Values[K]) => {\n setValues((prev) => ({ ...prev, [name]: value }))\n }, [])\n\n const field = useCallback(\n (name: keyof Values & string): FieldProps => {\n const raw = values[name]\n return {\n name,\n value: raw == null ? '' : String(raw),\n onChange: (event) => setValue(name, event.target.value as Values[typeof name]),\n onBlur: () => {\n // always record touched (so `FormApi.touched` is accurate in every mode); when a field's\n // error becomes *visible* is governed separately by `isShown`/`mode`\n setTouched((prev) => (prev[name] ? prev : { ...prev, [name]: true }))\n },\n error: isShown(name) && Boolean(errors[name]),\n helperText: isShown(name) ? errors[name] : undefined,\n }\n },\n [values, errors, isShown, setValue, mode],\n )\n\n const reset = useCallback((next?: Values) => {\n setValues(next ?? defaultValuesRef.current)\n setTouched({})\n setSubmitted(false)\n setSubmitCount(0)\n }, [])\n\n const handleSubmit = useCallback(\n (event?: SyntheticEvent) => {\n event?.preventDefault()\n if (submittingRef.current) return // ignore re-entrant submits while an async onSubmit is in flight\n setSubmitted(true)\n setSubmitCount((c) => c + 1)\n\n const result = schema.safeParse(values)\n if (!result.success) {\n // errors are derived + now shown (submitted); jump to the first red field if we have the form\n const scope = event?.currentTarget\n if (scrollToError && scope instanceof Element) {\n const names = result.error.issues\n .map((issue) => String(issue.path[0] ?? ''))\n .filter(Boolean)\n scrollToFirstError(scope, names)\n }\n return\n }\n\n const outcome = onSubmit?.(result.data as Values, { reset, setValue, setValues })\n if (outcome instanceof Promise) {\n submittingRef.current = true\n setIsSubmitting(true)\n const done = () => {\n submittingRef.current = false\n setIsSubmitting(false)\n }\n // clear on resolve OR reject — `.then(done, done)` also marks the rejection handled\n // (a bare `.finally` would re-throw into a discarded chain → unhandled promise rejection)\n outcome.then(done, done)\n }\n },\n [schema, values, onSubmit, reset, setValue, scrollToError],\n )\n\n // memoized so `<Form>` (which feeds this straight into context) doesn't re-render every bound field\n // on each render of the form-owning component — only when a real piece of state/identity changes\n return useMemo(\n () => ({\n /** Current form values. */\n values,\n /** `{ field: firstErrorMessage }` for every invalid field (regardless of visibility). */\n errors,\n /** Which fields have been blurred. */\n touched,\n /** True when the whole form passes the schema. */\n isValid,\n /** True once a submit has been attempted. */\n isSubmitted: submitted,\n /** Number of submit attempts (increments on every `handleSubmit`). */\n submitCount,\n /** True while an async `onSubmit` is in flight. */\n isSubmitting,\n /** Spread onto a `<TextField />`: wires value/onChange/onBlur and shows the field's error. */\n field,\n /** Imperatively set one field's value. */\n setValue,\n /** Replace all values. */\n setValues,\n /** Reset to `defaultValues` (or the given values) and clear touched/submitted state. */\n reset,\n /** Form `onSubmit` handler — validates, then calls `onSubmit` with parsed values when valid. */\n handleSubmit,\n }),\n [\n values,\n errors,\n touched,\n isValid,\n submitted,\n submitCount,\n isSubmitting,\n field,\n setValue,\n setValues,\n reset,\n handleSubmit,\n ],\n )\n}\n"],"names":["useDisclosure","initial","isOpen","setIsOpen","useState","open","useCallback","close","toggle","v","scrollToFirstError","scope","names","target","top","name","selector","el","elTop","collectErrors","schema","values","result","errors","issue","key","useForm","defaultValues","onSubmit","mode","scrollToError","setValues","defaultValuesRef","useRef","touched","setTouched","submitted","setSubmitted","submitCount","setSubmitCount","isSubmitting","setIsSubmitting","submittingRef","useMemo","isValid","isShown","setValue","value","prev","field","raw","event","reset","next","handleSubmit","c","outcome","done"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const d=require("react"),i=typeof window<"u"?d.useLayoutEffect:d.useEffect;let n=0,o=null;function r(){if(n===0){const t=document.documentElement,{body:e}=document;o={htmlOverflow:t.style.overflow,bodyOverflow:e.style.overflow,bodyPaddingRight:e.style.paddingRight};const l=window.innerWidth-t.clientWidth;if(t.style.overflow="clip",e.style.overflow="clip",l>0){const c=parseFloat(getComputedStyle(e).paddingRight)||0;e.style.paddingRight=`${c+l}px`}}n+=1}function s(){if(n=Math.max(0,n-1),n===0&&o){const t=document.documentElement,{body:e}=document;t.style.overflow=o.htmlOverflow,e.style.overflow=o.bodyOverflow,e.style.paddingRight=o.bodyPaddingRight,o=null}}function u(t){i(()=>{if(!(!t||typeof document>"u"))return r(),s},[t])}exports.useLockBodyScroll=u;
|
|
2
|
+
//# sourceMappingURL=useLockBodyScroll-CIXHZo-Q.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useLockBodyScroll-CIXHZo-Q.cjs","sources":["../src/hooks/useLockBodyScroll.ts"],"sourcesContent":["import { useEffect, useLayoutEffect } from 'react'\n\n// `useLayoutEffect` warns during SSR; fall back to `useEffect` on the server (neither runs there anyway).\nconst useIsomorphicLayoutEffect = typeof window !== 'undefined' ? useLayoutEffect : useEffect\n\n// Module-level lock: a ref-count + the styles captured on the FIRST lock. Shared across all instances so\n// nested locks (a Select popover open inside a Modal, etc.) are safe to release in ANY order — the page\n// only unlocks when the last one releases, and always restores the true originals (not another lock's).\nlet lockCount = 0\nlet saved: { htmlOverflow: string; bodyOverflow: string; bodyPaddingRight: string } | null = null\n\nfunction acquire(): void {\n if (lockCount === 0) {\n const html = document.documentElement\n const { body } = document\n saved = {\n htmlOverflow: html.style.overflow,\n bodyOverflow: body.style.overflow,\n bodyPaddingRight: body.style.paddingRight,\n }\n const scrollbarWidth = window.innerWidth - html.clientWidth\n // `clip` (not `hidden`) locks scroll WITHOUT establishing a scroll container, so `position: sticky`\n // descendants (a sticky sidebar/header) keep working instead of jumping while the overlay is open\n html.style.overflow = 'clip'\n body.style.overflow = 'clip'\n if (scrollbarWidth > 0) {\n // augment any existing body padding rather than overwrite it (consumer apps may pad the body)\n const current = parseFloat(getComputedStyle(body).paddingRight) || 0\n body.style.paddingRight = `${current + scrollbarWidth}px`\n }\n }\n lockCount += 1\n}\n\nfunction release(): void {\n lockCount = Math.max(0, lockCount - 1)\n if (lockCount === 0 && saved) {\n const html = document.documentElement\n const { body } = document\n html.style.overflow = saved.htmlOverflow\n body.style.overflow = saved.bodyOverflow\n body.style.paddingRight = saved.bodyPaddingRight\n saved = null\n }\n}\n\n/**\n * Locks scrolling on `document.body` while `locked` is true (e.g. an open menu / modal / drawer).\n * Compensates for the removed scrollbar by **adding** to the body's `padding-right` so the page doesn't\n * shift, and restores the previous inline styles when unlocked. **Ref-counted** — nested locks are safe\n * to release in any order; the page unlocks only when the last one releases. SSR-safe.\n */\nexport function useLockBodyScroll(locked: boolean): void {\n useIsomorphicLayoutEffect(() => {\n if (!locked || typeof document === 'undefined') return\n acquire()\n return release\n }, [locked])\n}\n"],"names":["useIsomorphicLayoutEffect","useLayoutEffect","useEffect","lockCount","saved","acquire","html","body","scrollbarWidth","current","release","useLockBodyScroll","locked"],"mappings":"sCAGMA,EAA4B,OAAO,OAAW,IAAcC,EAAAA,gBAAkBC,EAAAA,UAKpF,IAAIC,EAAY,EACZC,EAAyF,KAE7F,SAASC,GAAgB,CACvB,GAAIF,IAAc,EAAG,CACnB,MAAMG,EAAO,SAAS,gBAChB,CAAE,KAAAC,GAAS,SACjBH,EAAQ,CACN,aAAcE,EAAK,MAAM,SACzB,aAAcC,EAAK,MAAM,SACzB,iBAAkBA,EAAK,MAAM,YAAA,EAE/B,MAAMC,EAAiB,OAAO,WAAaF,EAAK,YAKhD,GAFAA,EAAK,MAAM,SAAW,OACtBC,EAAK,MAAM,SAAW,OAClBC,EAAiB,EAAG,CAEtB,MAAMC,EAAU,WAAW,iBAAiBF,CAAI,EAAE,YAAY,GAAK,EACnEA,EAAK,MAAM,aAAe,GAAGE,EAAUD,CAAc,IACvD,CACF,CACAL,GAAa,CACf,CAEA,SAASO,GAAgB,CAEvB,GADAP,EAAY,KAAK,IAAI,EAAGA,EAAY,CAAC,EACjCA,IAAc,GAAKC,EAAO,CAC5B,MAAME,EAAO,SAAS,gBAChB,CAAE,KAAAC,GAAS,SACjBD,EAAK,MAAM,SAAWF,EAAM,aAC5BG,EAAK,MAAM,SAAWH,EAAM,aAC5BG,EAAK,MAAM,aAAeH,EAAM,iBAChCA,EAAQ,IACV,CACF,CAQO,SAASO,EAAkBC,EAAuB,CACvDZ,EAA0B,IAAM,CAC9B,GAAI,GAACY,GAAU,OAAO,SAAa,KACnC,OAAAP,EAAA,EACOK,CACT,EAAG,CAACE,CAAM,CAAC,CACb"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { useLayoutEffect as i, useEffect as c } from "react";
|
|
2
|
+
const f = typeof window < "u" ? i : c;
|
|
3
|
+
let n = 0, o = null;
|
|
4
|
+
function r() {
|
|
5
|
+
if (n === 0) {
|
|
6
|
+
const t = document.documentElement, { body: e } = document;
|
|
7
|
+
o = {
|
|
8
|
+
htmlOverflow: t.style.overflow,
|
|
9
|
+
bodyOverflow: e.style.overflow,
|
|
10
|
+
bodyPaddingRight: e.style.paddingRight
|
|
11
|
+
};
|
|
12
|
+
const l = window.innerWidth - t.clientWidth;
|
|
13
|
+
if (t.style.overflow = "clip", e.style.overflow = "clip", l > 0) {
|
|
14
|
+
const d = parseFloat(getComputedStyle(e).paddingRight) || 0;
|
|
15
|
+
e.style.paddingRight = `${d + l}px`;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
n += 1;
|
|
19
|
+
}
|
|
20
|
+
function u() {
|
|
21
|
+
if (n = Math.max(0, n - 1), n === 0 && o) {
|
|
22
|
+
const t = document.documentElement, { body: e } = document;
|
|
23
|
+
t.style.overflow = o.htmlOverflow, e.style.overflow = o.bodyOverflow, e.style.paddingRight = o.bodyPaddingRight, o = null;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
function y(t) {
|
|
27
|
+
f(() => {
|
|
28
|
+
if (!(!t || typeof document > "u"))
|
|
29
|
+
return r(), u;
|
|
30
|
+
}, [t]);
|
|
31
|
+
}
|
|
32
|
+
export {
|
|
33
|
+
y as u
|
|
34
|
+
};
|
|
35
|
+
//# sourceMappingURL=useLockBodyScroll-DwBILLPK.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useLockBodyScroll-DwBILLPK.js","sources":["../src/hooks/useLockBodyScroll.ts"],"sourcesContent":["import { useEffect, useLayoutEffect } from 'react'\n\n// `useLayoutEffect` warns during SSR; fall back to `useEffect` on the server (neither runs there anyway).\nconst useIsomorphicLayoutEffect = typeof window !== 'undefined' ? useLayoutEffect : useEffect\n\n// Module-level lock: a ref-count + the styles captured on the FIRST lock. Shared across all instances so\n// nested locks (a Select popover open inside a Modal, etc.) are safe to release in ANY order — the page\n// only unlocks when the last one releases, and always restores the true originals (not another lock's).\nlet lockCount = 0\nlet saved: { htmlOverflow: string; bodyOverflow: string; bodyPaddingRight: string } | null = null\n\nfunction acquire(): void {\n if (lockCount === 0) {\n const html = document.documentElement\n const { body } = document\n saved = {\n htmlOverflow: html.style.overflow,\n bodyOverflow: body.style.overflow,\n bodyPaddingRight: body.style.paddingRight,\n }\n const scrollbarWidth = window.innerWidth - html.clientWidth\n // `clip` (not `hidden`) locks scroll WITHOUT establishing a scroll container, so `position: sticky`\n // descendants (a sticky sidebar/header) keep working instead of jumping while the overlay is open\n html.style.overflow = 'clip'\n body.style.overflow = 'clip'\n if (scrollbarWidth > 0) {\n // augment any existing body padding rather than overwrite it (consumer apps may pad the body)\n const current = parseFloat(getComputedStyle(body).paddingRight) || 0\n body.style.paddingRight = `${current + scrollbarWidth}px`\n }\n }\n lockCount += 1\n}\n\nfunction release(): void {\n lockCount = Math.max(0, lockCount - 1)\n if (lockCount === 0 && saved) {\n const html = document.documentElement\n const { body } = document\n html.style.overflow = saved.htmlOverflow\n body.style.overflow = saved.bodyOverflow\n body.style.paddingRight = saved.bodyPaddingRight\n saved = null\n }\n}\n\n/**\n * Locks scrolling on `document.body` while `locked` is true (e.g. an open menu / modal / drawer).\n * Compensates for the removed scrollbar by **adding** to the body's `padding-right` so the page doesn't\n * shift, and restores the previous inline styles when unlocked. **Ref-counted** — nested locks are safe\n * to release in any order; the page unlocks only when the last one releases. SSR-safe.\n */\nexport function useLockBodyScroll(locked: boolean): void {\n useIsomorphicLayoutEffect(() => {\n if (!locked || typeof document === 'undefined') return\n acquire()\n return release\n }, [locked])\n}\n"],"names":["useIsomorphicLayoutEffect","useLayoutEffect","useEffect","lockCount","saved","acquire","html","body","scrollbarWidth","current","release","useLockBodyScroll","locked"],"mappings":";AAGA,MAAMA,IAA4B,OAAO,SAAW,MAAcC,IAAkBC;AAKpF,IAAIC,IAAY,GACZC,IAAyF;AAE7F,SAASC,IAAgB;AACvB,MAAIF,MAAc,GAAG;AACnB,UAAMG,IAAO,SAAS,iBAChB,EAAE,MAAAC,MAAS;AACjB,IAAAH,IAAQ;AAAA,MACN,cAAcE,EAAK,MAAM;AAAA,MACzB,cAAcC,EAAK,MAAM;AAAA,MACzB,kBAAkBA,EAAK,MAAM;AAAA,IAAA;AAE/B,UAAMC,IAAiB,OAAO,aAAaF,EAAK;AAKhD,QAFAA,EAAK,MAAM,WAAW,QACtBC,EAAK,MAAM,WAAW,QAClBC,IAAiB,GAAG;AAEtB,YAAMC,IAAU,WAAW,iBAAiBF,CAAI,EAAE,YAAY,KAAK;AACnE,MAAAA,EAAK,MAAM,eAAe,GAAGE,IAAUD,CAAc;AAAA,IACvD;AAAA,EACF;AACA,EAAAL,KAAa;AACf;AAEA,SAASO,IAAgB;AAEvB,MADAP,IAAY,KAAK,IAAI,GAAGA,IAAY,CAAC,GACjCA,MAAc,KAAKC,GAAO;AAC5B,UAAME,IAAO,SAAS,iBAChB,EAAE,MAAAC,MAAS;AACjB,IAAAD,EAAK,MAAM,WAAWF,EAAM,cAC5BG,EAAK,MAAM,WAAWH,EAAM,cAC5BG,EAAK,MAAM,eAAeH,EAAM,kBAChCA,IAAQ;AAAA,EACV;AACF;AAQO,SAASO,EAAkBC,GAAuB;AACvD,EAAAZ,EAA0B,MAAM;AAC9B,QAAI,GAACY,KAAU,OAAO,WAAa;AACnC,aAAAP,EAAA,GACOK;AAAA,EACT,GAAG,CAACE,CAAM,CAAC;AACb;"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const a=require("react");function d(e){const i=a.useCallback(n=>{if(typeof window>"u"||!window.matchMedia)return()=>{};const t=window.matchMedia(e);return t.addEventListener("change",n),()=>t.removeEventListener("change",n)},[e]),s=()=>typeof window<"u"&&window.matchMedia?window.matchMedia(e).matches:!1,c=()=>!1;return a.useSyncExternalStore(i,s,c)}exports.useMediaQuery=d;
|
|
2
|
+
//# sourceMappingURL=useMediaQuery-BCsNfMA1.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useMediaQuery-BCsNfMA1.cjs","sources":["../src/hooks/useMediaQuery.ts"],"sourcesContent":["import { useCallback, useSyncExternalStore } from 'react'\n\n/**\n * Subscribe to a CSS media query and get whether it currently matches, re-rendering when it flips.\n * Built on `useSyncExternalStore`, so on the client the first render already has the correct value\n * (no flash), and it's **SSR-safe** — returns `false` on the server / where `matchMedia` is\n * unavailable. Use this instead of hand-rolling `window.matchMedia` + effects in a component.\n *\n * @param query - a media query string, e.g. `'(max-width: 640px)'` or `'(prefers-color-scheme: dark)'`.\n * @returns `true` while the query matches.\n *\n * @example\n * const isNarrow = useMediaQuery('(max-width: 640px)')\n */\nexport function useMediaQuery(query: string): boolean {\n const subscribe = useCallback(\n (onStoreChange: () => void) => {\n if (typeof window === 'undefined' || !window.matchMedia) return () => {}\n const mql = window.matchMedia(query)\n mql.addEventListener('change', onStoreChange)\n return () => mql.removeEventListener('change', onStoreChange)\n },\n [query],\n )\n const getSnapshot = () =>\n typeof window !== 'undefined' && window.matchMedia ? window.matchMedia(query).matches : false\n // the server can't know the viewport — assume the query doesn't match (matches the CSR-first default)\n const getServerSnapshot = () => false\n return useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot)\n}\n"],"names":["useMediaQuery","query","subscribe","useCallback","onStoreChange","mql","getSnapshot","getServerSnapshot","useSyncExternalStore"],"mappings":"sCAcO,SAASA,EAAcC,EAAwB,CACpD,MAAMC,EAAYC,EAAAA,YACfC,GAA8B,CAC7B,GAAI,OAAO,OAAW,KAAe,CAAC,OAAO,iBAAmB,IAAM,CAAC,EACvE,MAAMC,EAAM,OAAO,WAAWJ,CAAK,EACnC,OAAAI,EAAI,iBAAiB,SAAUD,CAAa,EACrC,IAAMC,EAAI,oBAAoB,SAAUD,CAAa,CAC9D,EACA,CAACH,CAAK,CAAA,EAEFK,EAAc,IAClB,OAAO,OAAW,KAAe,OAAO,WAAa,OAAO,WAAWL,CAAK,EAAE,QAAU,GAEpFM,EAAoB,IAAM,GAChC,OAAOC,uBAAqBN,EAAWI,EAAaC,CAAiB,CACvE"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { useCallback as o, useSyncExternalStore as i } from "react";
|
|
2
|
+
function c(e) {
|
|
3
|
+
const a = o(
|
|
4
|
+
(t) => {
|
|
5
|
+
if (typeof window > "u" || !window.matchMedia) return () => {
|
|
6
|
+
};
|
|
7
|
+
const n = window.matchMedia(e);
|
|
8
|
+
return n.addEventListener("change", t), () => n.removeEventListener("change", t);
|
|
9
|
+
},
|
|
10
|
+
[e]
|
|
11
|
+
);
|
|
12
|
+
return i(a, () => typeof window < "u" && window.matchMedia ? window.matchMedia(e).matches : !1, () => !1);
|
|
13
|
+
}
|
|
14
|
+
export {
|
|
15
|
+
c as u
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=useMediaQuery-_1EcFoC5.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useMediaQuery-_1EcFoC5.js","sources":["../src/hooks/useMediaQuery.ts"],"sourcesContent":["import { useCallback, useSyncExternalStore } from 'react'\n\n/**\n * Subscribe to a CSS media query and get whether it currently matches, re-rendering when it flips.\n * Built on `useSyncExternalStore`, so on the client the first render already has the correct value\n * (no flash), and it's **SSR-safe** — returns `false` on the server / where `matchMedia` is\n * unavailable. Use this instead of hand-rolling `window.matchMedia` + effects in a component.\n *\n * @param query - a media query string, e.g. `'(max-width: 640px)'` or `'(prefers-color-scheme: dark)'`.\n * @returns `true` while the query matches.\n *\n * @example\n * const isNarrow = useMediaQuery('(max-width: 640px)')\n */\nexport function useMediaQuery(query: string): boolean {\n const subscribe = useCallback(\n (onStoreChange: () => void) => {\n if (typeof window === 'undefined' || !window.matchMedia) return () => {}\n const mql = window.matchMedia(query)\n mql.addEventListener('change', onStoreChange)\n return () => mql.removeEventListener('change', onStoreChange)\n },\n [query],\n )\n const getSnapshot = () =>\n typeof window !== 'undefined' && window.matchMedia ? window.matchMedia(query).matches : false\n // the server can't know the viewport — assume the query doesn't match (matches the CSR-first default)\n const getServerSnapshot = () => false\n return useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot)\n}\n"],"names":["useMediaQuery","query","subscribe","useCallback","onStoreChange","mql","useSyncExternalStore"],"mappings":";AAcO,SAASA,EAAcC,GAAwB;AACpD,QAAMC,IAAYC;AAAA,IAChB,CAACC,MAA8B;AAC7B,UAAI,OAAO,SAAW,OAAe,CAAC,OAAO,mBAAmB,MAAM;AAAA,MAAC;AACvE,YAAMC,IAAM,OAAO,WAAWJ,CAAK;AACnC,aAAAI,EAAI,iBAAiB,UAAUD,CAAa,GACrC,MAAMC,EAAI,oBAAoB,UAAUD,CAAa;AAAA,IAC9D;AAAA,IACA,CAACH,CAAK;AAAA,EAAA;AAMR,SAAOK,EAAqBJ,GAJR,MAClB,OAAO,SAAW,OAAe,OAAO,aAAa,OAAO,WAAWD,CAAK,EAAE,UAAU,IAEhE,MAAM,EACqC;AACvE;"}
|
package/package.json
ADDED
|
@@ -0,0 +1,244 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@techzyapp/ui-library",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "Techzy UI — reusable React component library for admin panels.",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"publishConfig": {
|
|
8
|
+
"access": "public"
|
|
9
|
+
},
|
|
10
|
+
"sideEffects": [
|
|
11
|
+
"**/*.css"
|
|
12
|
+
],
|
|
13
|
+
"engines": {
|
|
14
|
+
"node": ">=18"
|
|
15
|
+
},
|
|
16
|
+
"main": "./dist/index.cjs",
|
|
17
|
+
"module": "./dist/index.js",
|
|
18
|
+
"types": "./dist/index.d.ts",
|
|
19
|
+
"exports": {
|
|
20
|
+
".": {
|
|
21
|
+
"import": {
|
|
22
|
+
"types": "./dist/index.d.ts",
|
|
23
|
+
"default": "./dist/index.js"
|
|
24
|
+
},
|
|
25
|
+
"require": {
|
|
26
|
+
"types": "./dist/index.d.cts",
|
|
27
|
+
"default": "./dist/index.cjs"
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
"./components": {
|
|
31
|
+
"import": {
|
|
32
|
+
"types": "./dist/entries/components.d.ts",
|
|
33
|
+
"default": "./dist/entries/components.js"
|
|
34
|
+
},
|
|
35
|
+
"require": {
|
|
36
|
+
"types": "./dist/entries/components.d.cts",
|
|
37
|
+
"default": "./dist/entries/components.cjs"
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
"./components/*": {
|
|
41
|
+
"import": {
|
|
42
|
+
"types": "./dist/components/*/index.d.ts",
|
|
43
|
+
"default": "./dist/components/*/index.js"
|
|
44
|
+
},
|
|
45
|
+
"require": {
|
|
46
|
+
"types": "./dist/components/*/index.d.cts",
|
|
47
|
+
"default": "./dist/components/*/index.cjs"
|
|
48
|
+
}
|
|
49
|
+
},
|
|
50
|
+
"./hooks": {
|
|
51
|
+
"import": {
|
|
52
|
+
"types": "./dist/entries/hooks.d.ts",
|
|
53
|
+
"default": "./dist/entries/hooks.js"
|
|
54
|
+
},
|
|
55
|
+
"require": {
|
|
56
|
+
"types": "./dist/entries/hooks.d.cts",
|
|
57
|
+
"default": "./dist/entries/hooks.cjs"
|
|
58
|
+
}
|
|
59
|
+
},
|
|
60
|
+
"./theme": {
|
|
61
|
+
"import": {
|
|
62
|
+
"types": "./dist/entries/theme.d.ts",
|
|
63
|
+
"default": "./dist/entries/theme.js"
|
|
64
|
+
},
|
|
65
|
+
"require": {
|
|
66
|
+
"types": "./dist/entries/theme.d.cts",
|
|
67
|
+
"default": "./dist/entries/theme.cjs"
|
|
68
|
+
}
|
|
69
|
+
},
|
|
70
|
+
"./i18n": {
|
|
71
|
+
"import": {
|
|
72
|
+
"types": "./dist/entries/i18n.d.ts",
|
|
73
|
+
"default": "./dist/entries/i18n.js"
|
|
74
|
+
},
|
|
75
|
+
"require": {
|
|
76
|
+
"types": "./dist/entries/i18n.d.cts",
|
|
77
|
+
"default": "./dist/entries/i18n.cjs"
|
|
78
|
+
}
|
|
79
|
+
},
|
|
80
|
+
"./icons": {
|
|
81
|
+
"import": {
|
|
82
|
+
"types": "./dist/entries/icons.d.ts",
|
|
83
|
+
"default": "./dist/entries/icons.js"
|
|
84
|
+
},
|
|
85
|
+
"require": {
|
|
86
|
+
"types": "./dist/entries/icons.d.cts",
|
|
87
|
+
"default": "./dist/entries/icons.cjs"
|
|
88
|
+
}
|
|
89
|
+
},
|
|
90
|
+
"./helpers": {
|
|
91
|
+
"import": {
|
|
92
|
+
"types": "./dist/entries/helpers.d.ts",
|
|
93
|
+
"default": "./dist/entries/helpers.js"
|
|
94
|
+
},
|
|
95
|
+
"require": {
|
|
96
|
+
"types": "./dist/entries/helpers.d.cts",
|
|
97
|
+
"default": "./dist/entries/helpers.cjs"
|
|
98
|
+
}
|
|
99
|
+
},
|
|
100
|
+
"./css/reset.css": "./dist/reset.css",
|
|
101
|
+
"./css/styles.css": "./dist/index.css",
|
|
102
|
+
"./package.json": "./package.json"
|
|
103
|
+
},
|
|
104
|
+
"files": [
|
|
105
|
+
"dist"
|
|
106
|
+
],
|
|
107
|
+
"scripts": {
|
|
108
|
+
"build": "vite build && tsc -p tsconfig.build.json && node scripts/post-build.mjs",
|
|
109
|
+
"build:icons": "node scripts/build-icons.mjs",
|
|
110
|
+
"dev": "vite build --watch",
|
|
111
|
+
"playground": "vite",
|
|
112
|
+
"typecheck": "tsc --noEmit",
|
|
113
|
+
"test": "vitest run",
|
|
114
|
+
"test:watch": "vitest",
|
|
115
|
+
"format": "prettier --write .",
|
|
116
|
+
"format:check": "prettier --check .",
|
|
117
|
+
"lint:pkg": "publint",
|
|
118
|
+
"prepublishOnly": "npm run build"
|
|
119
|
+
},
|
|
120
|
+
"peerDependencies": {
|
|
121
|
+
"@dnd-kit/core": ">=6.0.0",
|
|
122
|
+
"@dnd-kit/sortable": ">=8.0.0",
|
|
123
|
+
"@dnd-kit/utilities": ">=3.0.0",
|
|
124
|
+
"@formkit/auto-animate": ">=0.8.0",
|
|
125
|
+
"@lexical/html": ">=0.45.0",
|
|
126
|
+
"@lexical/link": ">=0.45.0",
|
|
127
|
+
"@lexical/list": ">=0.45.0",
|
|
128
|
+
"@lexical/markdown": ">=0.45.0",
|
|
129
|
+
"@lexical/react": ">=0.45.0",
|
|
130
|
+
"@lexical/rich-text": ">=0.45.0",
|
|
131
|
+
"@lexical/selection": ">=0.45.0",
|
|
132
|
+
"@lexical/utils": ">=0.45.0",
|
|
133
|
+
"@tanstack/react-router": ">=1.0.0",
|
|
134
|
+
"@tanstack/react-table": ">=8.0.0",
|
|
135
|
+
"dayjs": ">=1.11.0",
|
|
136
|
+
"lexical": ">=0.45.0",
|
|
137
|
+
"react": ">=18.0.0",
|
|
138
|
+
"react-dom": ">=18.0.0",
|
|
139
|
+
"react-dropzone": ">=14.0.0",
|
|
140
|
+
"react-image-crop": ">=11.0.0",
|
|
141
|
+
"zod": ">=3.23.0",
|
|
142
|
+
"shiki": ">=1.0.0"
|
|
143
|
+
},
|
|
144
|
+
"peerDependenciesMeta": {
|
|
145
|
+
"@dnd-kit/core": {
|
|
146
|
+
"optional": true
|
|
147
|
+
},
|
|
148
|
+
"@dnd-kit/sortable": {
|
|
149
|
+
"optional": true
|
|
150
|
+
},
|
|
151
|
+
"@dnd-kit/utilities": {
|
|
152
|
+
"optional": true
|
|
153
|
+
},
|
|
154
|
+
"@formkit/auto-animate": {
|
|
155
|
+
"optional": true
|
|
156
|
+
},
|
|
157
|
+
"react-dropzone": {
|
|
158
|
+
"optional": true
|
|
159
|
+
},
|
|
160
|
+
"react-image-crop": {
|
|
161
|
+
"optional": true
|
|
162
|
+
},
|
|
163
|
+
"@tanstack/react-router": {
|
|
164
|
+
"optional": true
|
|
165
|
+
},
|
|
166
|
+
"@tanstack/react-table": {
|
|
167
|
+
"optional": true
|
|
168
|
+
},
|
|
169
|
+
"zod": {
|
|
170
|
+
"optional": true
|
|
171
|
+
},
|
|
172
|
+
"dayjs": {
|
|
173
|
+
"optional": true
|
|
174
|
+
},
|
|
175
|
+
"lexical": {
|
|
176
|
+
"optional": true
|
|
177
|
+
},
|
|
178
|
+
"@lexical/react": {
|
|
179
|
+
"optional": true
|
|
180
|
+
},
|
|
181
|
+
"@lexical/rich-text": {
|
|
182
|
+
"optional": true
|
|
183
|
+
},
|
|
184
|
+
"@lexical/list": {
|
|
185
|
+
"optional": true
|
|
186
|
+
},
|
|
187
|
+
"@lexical/link": {
|
|
188
|
+
"optional": true
|
|
189
|
+
},
|
|
190
|
+
"@lexical/html": {
|
|
191
|
+
"optional": true
|
|
192
|
+
},
|
|
193
|
+
"@lexical/markdown": {
|
|
194
|
+
"optional": true
|
|
195
|
+
},
|
|
196
|
+
"@lexical/selection": {
|
|
197
|
+
"optional": true
|
|
198
|
+
},
|
|
199
|
+
"@lexical/utils": {
|
|
200
|
+
"optional": true
|
|
201
|
+
},
|
|
202
|
+
"shiki": {
|
|
203
|
+
"optional": true
|
|
204
|
+
}
|
|
205
|
+
},
|
|
206
|
+
"devDependencies": {
|
|
207
|
+
"@dnd-kit/core": "^6.3.1",
|
|
208
|
+
"@dnd-kit/sortable": "^10.0.0",
|
|
209
|
+
"@dnd-kit/utilities": "^3.2.2",
|
|
210
|
+
"@formkit/auto-animate": "^0.9.0",
|
|
211
|
+
"@lexical/html": "^0.45.0",
|
|
212
|
+
"@lexical/link": "^0.45.0",
|
|
213
|
+
"@lexical/list": "^0.45.0",
|
|
214
|
+
"@lexical/markdown": "^0.45.0",
|
|
215
|
+
"@lexical/react": "^0.45.0",
|
|
216
|
+
"@lexical/rich-text": "^0.45.0",
|
|
217
|
+
"@lexical/selection": "^0.45.0",
|
|
218
|
+
"@lexical/utils": "^0.45.0",
|
|
219
|
+
"@tanstack/react-router": "^1.170.11",
|
|
220
|
+
"@tanstack/react-table": "^8.21.3",
|
|
221
|
+
"@testing-library/jest-dom": "^6.9.1",
|
|
222
|
+
"@testing-library/react": "^16.3.2",
|
|
223
|
+
"@testing-library/user-event": "^14.6.1",
|
|
224
|
+
"@types/react": "^19.2.15",
|
|
225
|
+
"@types/react-dom": "^19.2.3",
|
|
226
|
+
"dayjs": "^1.11.21",
|
|
227
|
+
"jsdom": "^25.0.1",
|
|
228
|
+
"lexical": "^0.45.0",
|
|
229
|
+
"prettier": "^3.8.3",
|
|
230
|
+
"publint": "^0.3.14",
|
|
231
|
+
"react": "^19.2.6",
|
|
232
|
+
"react-dom": "^19.2.6",
|
|
233
|
+
"react-dropzone": "^15.0.0",
|
|
234
|
+
"react-image-crop": "^11.1.2",
|
|
235
|
+
"shiki": "^4.3.1",
|
|
236
|
+
"typescript": "^6.0.3",
|
|
237
|
+
"vite": "^6.4.3",
|
|
238
|
+
"vitest": "^4.1.8",
|
|
239
|
+
"zod": "^3.25.76"
|
|
240
|
+
},
|
|
241
|
+
"dependencies": {
|
|
242
|
+
"clsx": "^2.1.1"
|
|
243
|
+
}
|
|
244
|
+
}
|