@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 @@
|
|
|
1
|
+
{"version":3,"file":"TextField-DMI1X09n.js","sources":["../src/components/TextField/TextField.tsx"],"sourcesContent":["import {\n forwardRef,\n useCallback,\n useId,\n useLayoutEffect,\n useRef,\n useState,\n type ChangeEvent,\n type CSSProperties,\n type FocusEvent,\n type InputHTMLAttributes,\n type KeyboardEvent,\n type MouseEvent,\n type ReactNode,\n} from 'react'\nimport { clsx } from 'clsx'\nimport { useT, type MessageKey, type ThemeColor } from '../../theme'\nimport { useFormContext } from '../../form/formContext'\nimport { Icon } from '../Icon'\nimport { IconButton } from '../IconButton'\nimport { Typography } from '../Typography'\nimport styles from './TextField.module.css'\n\nexport type TextFieldSize = 'sm' | 'md' | 'lg'\nexport type TextFieldAdornmentPosition = 'left' | 'right'\n\n/** Mask token → matcher. Any other character in a mask is treated as a literal. */\nconst MASK_TOKENS: Record<string, RegExp> = {\n 9: /[0-9]/, // digit\n a: /[A-Za-z]/, // letter\n '*': /[A-Za-z0-9]/, // alphanumeric\n}\n\n/** Formats `raw` against `mask` (`9` digit · `a` letter · `*` alphanumeric · everything else literal). */\nfunction applyMask(raw: string, mask: string): string {\n let out = ''\n let i = 0\n for (const m of mask) {\n const token = MASK_TOKENS[m]\n if (token) {\n while (i < raw.length && !token.test(raw[i])) i++ // skip chars that don't fit this slot\n if (i >= raw.length) break\n out += raw[i]\n i++\n } else {\n if (i >= raw.length) break // don't show a trailing literal until there's more input\n if (raw[i] === m) i++ // consume an already-present literal so it isn't re-read\n out += m\n }\n }\n return out\n}\n\n/** Drops the mask's literal characters, leaving only the data the user actually entered. */\nfunction stripMaskLiterals(value: string, mask: string): string {\n const literals = new Set([...mask].filter((c) => !MASK_TOKENS[c]))\n return [...value].filter((c) => !literals.has(c)).join('')\n}\n\n/**\n * Where to place the caret after re-masking: keep it after the same number of \"significant\"\n * (data, i.e. alphanumeric) chars it followed in the raw input — so inserting mid-value doesn't\n * jump the caret to the end. Literal mask chars (spaces, `()`, `-`, …) don't count.\n */\nconst SIGNIFICANT = /[A-Za-z0-9]/\nfunction maskCaretPosition(rawBeforeCaret: string, masked: string): number {\n const target = (rawBeforeCaret.match(/[A-Za-z0-9]/g) ?? []).length\n if (target <= 0) return 0\n let count = 0\n for (let i = 0; i < masked.length; i++) {\n if (SIGNIFICANT.test(masked[i])) {\n count += 1\n if (count === target) return i + 1\n }\n }\n return masked.length\n}\n\n/** Password-strength buckets surfaced by the `passwordStrength` meter. */\nexport type PasswordStrength = 'weak' | 'medium' | 'strong'\n\n/**\n * A cheap, dependency-free password score: one point each for length ≥ 8, mixed upper/lower case, a\n * digit, and a symbol → 0–4. Empty input scores 0 (the meter hides). Not a security guarantee — a UX\n * hint that nudges toward longer, more varied passwords.\n */\nfunction scorePassword(pw: string): number {\n if (!pw) return 0\n let score = 0\n if (pw.length >= 8) score += 1\n if (/[a-z]/.test(pw) && /[A-Z]/.test(pw)) score += 1\n if (/\\d/.test(pw)) score += 1\n if (/[^A-Za-z0-9]/.test(pw)) score += 1\n return score\n}\n\n/** Maps a 0–4 score to a strength bucket (`null` when there's nothing to show). */\nfunction strengthLevel(score: number): PasswordStrength | null {\n if (score <= 0) return null\n if (score === 1) return 'weak'\n if (score === 2) return 'medium'\n return 'strong'\n}\n\nconst STRENGTH_META: Record<\n PasswordStrength,\n { labelKey: MessageKey; color: ThemeColor; bars: number }\n> = {\n weak: { labelKey: 'textField.strengthWeak', color: 'error', bars: 1 },\n medium: { labelKey: 'textField.strengthMedium', color: 'warning', bars: 2 },\n strong: { labelKey: 'textField.strengthStrong', color: 'success', bars: 3 },\n}\n\nexport interface TextFieldProps extends Omit<\n InputHTMLAttributes<HTMLInputElement>,\n 'size' | 'prefix'\n> {\n /** Label rendered above the field. */\n label?: ReactNode\n /** Preset size — drives the control height (`--tz-control-height-*`), font size and padding. */\n size?: TextFieldSize\n /** Marks the field invalid: red border/focus ring and the `helperText` shown in the error color. */\n error?: boolean\n /** Helper / validation text under the field. Adopts the error color while `error`. */\n helperText?: ReactNode\n /** Adds a red asterisk after the label (visual hint only — combine with native `required` if needed). */\n required?: boolean\n /** Stretches the field to fill its container width. Defaults to `true`. */\n fullWidth?: boolean\n /**\n * Content shown inside the field. A **string/number** renders as a muted prefix/suffix\n * (e.g. `\"https://\"`, `\"$\"`, `\"kg\"`); any other node renders as an icon (typically an `<Icon />`)\n * inside a square `IconButton` box.\n */\n adornment?: ReactNode\n /** Which side the adornment sits on. Defaults to `left`. */\n adornmentPosition?: TextFieldAdornmentPosition\n /** Makes an icon adornment a clickable `IconButton` and fires this on click (ignored for string adornments). */\n onAdornmentClick?: (event: MouseEvent<HTMLButtonElement>) => void\n /** Accessible label for the clickable icon adornment (used when `onAdornmentClick` is set). Defaults to `\"Field action\"`. */\n adornmentLabel?: string\n /** Allowed-input filter: a change whose value fails this pattern is rejected (e.g. `/^\\d*$/` for digits only). */\n regex?: RegExp\n /** Input mask, e.g. `\"(999) 999-9999\"` (`9` digit · `a` letter · `*` alphanumeric · other chars literal). Emits the masked value. */\n mask?: string\n /**\n * For `type=\"password\"`: show the built-in show/hide reveal toggle in the right adornment slot.\n * Defaults to `true`. Set `false` to drop it (e.g. to use your own right adornment instead).\n */\n passwordToggle?: boolean\n /**\n * Show a \"Caps Lock is on\" warning under the field while it's focused and Caps Lock is active.\n * Detected from key events, so it appears once the user starts typing. Defaults to `false`.\n */\n capsLockWarning?: boolean\n /**\n * Show a password-strength meter (segmented bar + label) under the field, derived from the current\n * value. A UX hint only — not a security check. Defaults to `false` (best paired with `type=\"password\"`).\n */\n passwordStrength?: boolean\n}\n\n/**\n * A labeled text input. Renders an optional label and helper/validation text, an\n * error state (red border + helper), and an optional `adornment` on either side —\n * a string prefix/suffix (e.g. `\"https://\"`) or an icon, which can be made\n * interactive via `onAdornmentClick`. Supports an allowed-input `regex` filter and\n * a formatting `mask`. Works controlled (`value` + `onChange`) or uncontrolled\n * (`defaultValue`); when a `mask` is set, `onChange` emits the masked value. Passing\n * `type=\"password\"` automatically adds a show/hide reveal toggle in the right adornment\n * slot. Inside a `<Form>`, a `name` prop auto-binds value/validation from the form (no need to\n * spread `field()`). Styling comes entirely from `--tz-*` tokens.\n */\nexport const TextField = forwardRef<HTMLInputElement, TextFieldProps>(function TextField(\n {\n label,\n size = 'md',\n error,\n helperText,\n required = false,\n fullWidth = true,\n adornment,\n adornmentPosition = 'left',\n onAdornmentClick,\n adornmentLabel,\n regex,\n mask,\n passwordToggle = true,\n capsLockWarning = false,\n passwordStrength = false,\n name,\n value,\n defaultValue,\n onChange,\n onBlur,\n onFocus,\n onKeyDown,\n onKeyUp,\n disabled = false,\n type,\n id: idProp,\n className,\n style,\n ...props\n },\n ref,\n) {\n const t = useT()\n const reactId = useId()\n const id = idProp ?? reactId\n const helperId = `${id}-helper`\n\n // Auto-bind to a surrounding <Form> by `name` — so `<TextField name=\"email\" />` just works,\n // pulling value/onChange/onBlur/error/helperText from the form. Explicit props still win.\n const form = useFormContext()\n const bound = form && name ? form.field(name) : undefined\n\n const resolvedError = error ?? bound?.error ?? false\n const resolvedHelperText = helperText ?? bound?.helperText\n\n const isControlled = value !== undefined || bound !== undefined\n const [internal, setInternal] = useState<string>(defaultValue != null ? String(defaultValue) : '')\n const currentValue = value !== undefined ? value : bound ? bound.value : internal\n\n // merge the consumer ref with an internal one so we can restore the caret after re-masking\n const innerRef = useRef<HTMLInputElement | null>(null)\n const setInputRef = useCallback(\n (node: HTMLInputElement | null) => {\n innerRef.current = node\n if (typeof ref === 'function') ref(node)\n else if (ref) (ref as { current: HTMLInputElement | null }).current = node\n },\n [ref],\n )\n const pendingCaret = useRef<number | null>(null)\n useLayoutEffect(() => {\n const pos = pendingCaret.current\n if (pos == null) return\n pendingCaret.current = null\n innerRef.current?.setSelectionRange(pos, pos)\n })\n\n const handleChange = (event: ChangeEvent<HTMLInputElement>) => {\n const el = event.target\n let next = el.value\n if (mask) {\n const caret = el.selectionStart ?? el.value.length\n const rawBeforeCaret = el.value.slice(0, caret) // capture before applyMask reassigns `next`\n next = applyMask(next, mask)\n // keep the caret after the same run of data chars, so mid-value edits don't jump to the end\n pendingCaret.current = maskCaretPosition(rawBeforeCaret, next)\n }\n if (regex) {\n const candidate = mask ? stripMaskLiterals(next, mask) : next\n if (!regex.test(candidate)) {\n pendingCaret.current = null\n return // reject the change, leaving the value unchanged\n }\n }\n if (!isControlled) setInternal(next)\n el.value = next // hand consumers the masked/filtered value\n bound?.onChange(event)\n onChange?.(event)\n }\n\n const handleBlur = (event: FocusEvent<HTMLInputElement>) => {\n setCapsOn(false) // hide the Caps Lock hint once focus leaves the field\n bound?.onBlur(event)\n onBlur?.(event)\n }\n\n // Caps Lock warning — read the modifier off key events (can't be known until the user types), and\n // clear it on blur. Cheap: only tracks state when the feature is enabled.\n const [capsOn, setCapsOn] = useState(false)\n const readCaps = (event: KeyboardEvent<HTMLInputElement>) => {\n if (capsLockWarning) setCapsOn(event.getModifierState?.('CapsLock') ?? false)\n }\n const handleKeyDown = (event: KeyboardEvent<HTMLInputElement>) => {\n readCaps(event)\n onKeyDown?.(event)\n }\n const handleKeyUp = (event: KeyboardEvent<HTMLInputElement>) => {\n readCaps(event)\n onKeyUp?.(event)\n }\n\n // Password fields get an automatic reveal toggle in the (right) adornment slot (unless\n // `passwordToggle={false}`); it flips the input between `password`/`text` and overrides any\n // adornment props for that field.\n const [revealed, setRevealed] = useState(false)\n const isPasswordField = type === 'password'\n const showReveal = isPasswordField && passwordToggle\n const inputType = isPasswordField && revealed ? 'text' : type\n\n const effAdornment = showReveal ? <Icon name={revealed ? 'EyeSlash' : 'Eye'} /> : adornment\n const effAdornmentPosition = showReveal ? 'right' : adornmentPosition\n const effOnAdornmentClick = showReveal ? () => setRevealed((shown) => !shown) : onAdornmentClick\n const effAdornmentLabel = showReveal\n ? revealed\n ? t('textField.hidePassword')\n : t('textField.showPassword')\n : (adornmentLabel ?? t('textField.fieldAction'))\n\n // Password-strength meter, derived from the current value (a UX hint, not a security check).\n const strength = passwordStrength\n ? strengthLevel(scorePassword(String(currentValue ?? '')))\n : null\n const strengthId = `${id}-strength`\n const capsId = `${id}-caps`\n const describedBy =\n [resolvedHelperText != null ? helperId : null, capsLockWarning && capsOn ? capsId : null]\n .filter(Boolean)\n .join(' ') || undefined\n\n const hasAdornment = effAdornment != null && effAdornment !== false\n const isTextAdornment = typeof effAdornment === 'string' || typeof effAdornment === 'number'\n\n let adornmentNode: ReactNode = null\n if (hasAdornment) {\n if (isTextAdornment) {\n adornmentNode = <span className={styles.textAdornment}>{effAdornment}</span>\n } else if (effOnAdornmentClick) {\n adornmentNode = (\n <IconButton\n variant=\"text\"\n color=\"primary\"\n size={size}\n disabled={disabled}\n aria-label={effAdornmentLabel}\n onClick={effOnAdornmentClick}\n // Don't steal focus from the input on click — keeps the control's focus ring tied to the\n // input itself (clicking the icon shouldn't light up the field's :focus-within ring).\n onMouseDown={(event) => event.preventDefault()}\n className={styles.iconButton}\n >\n {effAdornment}\n </IconButton>\n )\n } else {\n // Decorative icon: same IconButton box (so it sizes identically to the clickable one),\n // but non-interactive and hidden from the a11y tree.\n adornmentNode = (\n <IconButton\n variant=\"text\"\n color=\"primary\"\n size={size}\n disabled={disabled}\n nonClickable\n aria-hidden=\"true\"\n className={styles.iconButton}\n >\n {effAdornment}\n </IconButton>\n )\n }\n }\n\n return (\n <div\n className={clsx(\n styles.field,\n styles[size],\n fullWidth && styles.fullWidth,\n resolvedError && styles.error,\n disabled && styles.disabled,\n className,\n )}\n style={style as CSSProperties}\n >\n {label != null && (\n <label htmlFor={id} className={styles.label}>\n <Typography as=\"span\" variant=\"bodySmall\" color=\"muted\">\n {label}\n </Typography>\n {required && (\n <span className={styles.required} aria-hidden=\"true\">\n *\n </span>\n )}\n </label>\n )}\n\n <div\n className={clsx(\n styles.control,\n hasAdornment && effAdornmentPosition === 'left' && styles.hasLeftAdornment,\n hasAdornment && effAdornmentPosition === 'right' && styles.hasRightAdornment,\n )}\n >\n {effAdornmentPosition === 'left' && adornmentNode}\n <input\n ref={setInputRef}\n id={id}\n name={name}\n type={inputType}\n className={styles.input}\n value={currentValue}\n onChange={handleChange}\n onBlur={handleBlur}\n onFocus={onFocus}\n onKeyDown={handleKeyDown}\n onKeyUp={handleKeyUp}\n disabled={disabled}\n aria-invalid={resolvedError || undefined}\n aria-describedby={describedBy}\n {...props}\n />\n {effAdornmentPosition === 'right' && adornmentNode}\n </div>\n\n {capsLockWarning && capsOn && (\n <Typography\n as=\"span\"\n id={capsId}\n variant=\"bodySmall\"\n color=\"warning\"\n className={styles.caps}\n role=\"alert\"\n >\n <Icon name=\"Danger\" />\n {t('textField.capsLock')}\n </Typography>\n )}\n\n {strength && (\n <div\n className={styles.strength}\n style={\n {\n '--tz-strength-color': `var(--tz-color-${STRENGTH_META[strength].color})`,\n } as CSSProperties\n }\n >\n <span className={styles.strengthBars} aria-hidden=\"true\">\n {[0, 1, 2].map((i) => (\n <span\n key={i}\n className={styles.strengthBar}\n data-on={i < STRENGTH_META[strength].bars}\n />\n ))}\n </span>\n <Typography\n as=\"span\"\n id={strengthId}\n variant=\"bodySmall\"\n color={STRENGTH_META[strength].color}\n className={styles.strengthLabel}\n >\n {t(STRENGTH_META[strength].labelKey)}\n </Typography>\n </div>\n )}\n\n {resolvedHelperText != null && (\n <Typography\n as=\"span\"\n id={helperId}\n variant=\"bodySmall\"\n color={resolvedError ? 'error' : 'muted'}\n className={styles.helper}\n >\n {resolvedHelperText}\n </Typography>\n )}\n </div>\n )\n})\n"],"names":["MASK_TOKENS","applyMask","raw","mask","out","i","m","token","stripMaskLiterals","value","literals","c","SIGNIFICANT","maskCaretPosition","rawBeforeCaret","masked","target","count","scorePassword","pw","score","strengthLevel","STRENGTH_META","TextField","forwardRef","label","size","error","helperText","required","fullWidth","adornment","adornmentPosition","onAdornmentClick","adornmentLabel","regex","passwordToggle","capsLockWarning","passwordStrength","name","defaultValue","onChange","onBlur","onFocus","onKeyDown","onKeyUp","disabled","type","idProp","className","style","props","ref","t","useT","reactId","useId","id","helperId","form","useFormContext","bound","resolvedError","resolvedHelperText","isControlled","internal","setInternal","useState","currentValue","innerRef","useRef","setInputRef","useCallback","node","pendingCaret","useLayoutEffect","pos","_a","handleChange","event","el","next","caret","candidate","handleBlur","setCapsOn","capsOn","readCaps","handleKeyDown","handleKeyUp","revealed","setRevealed","isPasswordField","showReveal","inputType","effAdornment","jsx","Icon","effAdornmentPosition","effOnAdornmentClick","shown","effAdornmentLabel","strength","strengthId","capsId","describedBy","hasAdornment","isTextAdornment","adornmentNode","styles","IconButton","jsxs","clsx","Typography"],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
const t = "_field_1hj38_1", n = "_fullWidth_1hj38_7", _ = "_label_1hj38_13", e = "_required_1hj38_20", s = "_control_1hj38_26", r = "_input_1hj38_45", h = "_hasLeftAdornment_1hj38_68", o = "_hasRightAdornment_1hj38_72", l = "_sm_1hj38_77", c = "_md_1hj38_82", d = "_lg_1hj38_87", a = "_error_1hj38_93", i = "_disabled_1hj38_103", j = "_helper_1hj38_113", g = "_textAdornment_1hj38_119", m = "_iconButton_1hj38_132", u = "_caps_1hj38_142", f = "_strength_1hj38_155", p = "_strengthBars_1hj38_161", b = "_strengthBar_1hj38_161", A = "_strengthLabel_1hj38_176", B = {
|
|
2
|
+
field: t,
|
|
3
|
+
fullWidth: n,
|
|
4
|
+
label: _,
|
|
5
|
+
required: e,
|
|
6
|
+
control: s,
|
|
7
|
+
input: r,
|
|
8
|
+
hasLeftAdornment: h,
|
|
9
|
+
hasRightAdornment: o,
|
|
10
|
+
sm: l,
|
|
11
|
+
md: c,
|
|
12
|
+
lg: d,
|
|
13
|
+
error: a,
|
|
14
|
+
disabled: i,
|
|
15
|
+
helper: j,
|
|
16
|
+
textAdornment: g,
|
|
17
|
+
iconButton: m,
|
|
18
|
+
caps: u,
|
|
19
|
+
strength: f,
|
|
20
|
+
strengthBars: p,
|
|
21
|
+
strengthBar: b,
|
|
22
|
+
strengthLabel: A
|
|
23
|
+
};
|
|
24
|
+
export {
|
|
25
|
+
B as f
|
|
26
|
+
};
|
|
27
|
+
//# sourceMappingURL=TextField.module-QePvGeJ3.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TextField.module-QePvGeJ3.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const t="_field_1hj38_1",n="_fullWidth_1hj38_7",_="_label_1hj38_13",e="_required_1hj38_20",s="_control_1hj38_26",r="_input_1hj38_45",h="_hasLeftAdornment_1hj38_68",o="_hasRightAdornment_1hj38_72",l="_sm_1hj38_77",c="_md_1hj38_82",d="_lg_1hj38_87",a="_error_1hj38_93",i="_disabled_1hj38_103",j="_helper_1hj38_113",g="_textAdornment_1hj38_119",m="_iconButton_1hj38_132",u="_caps_1hj38_142",f="_strength_1hj38_155",b="_strengthBars_1hj38_161",p="_strengthBar_1hj38_161",A="_strengthLabel_1hj38_176",B={field:t,fullWidth:n,label:_,required:e,control:s,input:r,hasLeftAdornment:h,hasRightAdornment:o,sm:l,md:c,lg:d,error:a,disabled:i,helper:j,textAdornment:g,iconButton:m,caps:u,strength:f,strengthBars:b,strengthBar:p,strengthLabel:A};exports.fieldStyles=B;
|
|
2
|
+
//# sourceMappingURL=TextField.module-m-UllwzG.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TextField.module-m-UllwzG.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const t=require("react/jsx-runtime"),g=require("react"),T=require("./Icon-CXTl_QAP.cjs"),d=require("./IconButton-D6TenQZ_.cjs"),c=require("./ConfigProvider-ByOFXVyP.cjs"),h=g.forwardRef(function({variant:r="outlined",...e},i){const{mode:u,toggleMode:l}=c.useTheme(),s=c.useT(),n=u==="dark";return t.jsx(d.IconButton,{ref:i,variant:r,role:"switch","aria-checked":n,"aria-label":s("themeToggle.label"),...e,onClick:a=>{var o;(o=e.onClick)==null||o.call(e,a),l()},children:t.jsx(T.Icon,{name:n?"Moon":"Sun"})})});exports.ThemeToggle=h;
|
|
2
|
+
//# sourceMappingURL=ThemeToggle-DTal3RX5.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ThemeToggle-DTal3RX5.cjs","sources":["../src/components/ThemeToggle/ThemeToggle.tsx"],"sourcesContent":["import { forwardRef } from 'react'\nimport { useTheme, useT } from '../../theme'\nimport { Icon } from '../Icon'\nimport { IconButton, type IconButtonProps } from '../IconButton'\n\n/** Inherits `IconButton`'s look (variant, color, size); the icon and toggle behavior are built in. */\nexport type ThemeToggleProps = Omit<IconButtonProps, 'children'>\n\n/**\n * A one-tap color-theme switch. Renders an `IconButton` showing the `Sun` icon\n * in light mode and the `Moon` icon in dark mode, and flips `mode` on click.\n * Styling comes from `IconButton`, so `variant`, `color` and `size` pass through.\n */\nexport const ThemeToggle = forwardRef<HTMLButtonElement, ThemeToggleProps>(function ThemeToggle(\n { variant = 'outlined', ...props },\n ref,\n) {\n const { mode, toggleMode } = useTheme()\n const t = useT()\n const isDark = mode === 'dark'\n\n return (\n <IconButton\n ref={ref}\n variant={variant}\n role=\"switch\"\n aria-checked={isDark}\n aria-label={t('themeToggle.label')}\n {...props}\n onClick={(event) => {\n props.onClick?.(event) // preserve a caller-supplied handler, then toggle\n toggleMode()\n }}\n >\n <Icon name={isDark ? 'Moon' : 'Sun'} />\n </IconButton>\n )\n})\n"],"names":["ThemeToggle","forwardRef","variant","props","ref","mode","toggleMode","useTheme","t","useT","isDark","jsx","IconButton","event","_a","Icon"],"mappings":"wLAaaA,EAAcC,EAAAA,WAAgD,SACzE,CAAE,QAAAC,EAAU,WAAY,GAAGC,CAAA,EAC3BC,EACA,CACA,KAAM,CAAE,KAAAC,EAAM,WAAAC,CAAA,EAAeC,WAAA,EACvBC,EAAIC,EAAAA,KAAA,EACJC,EAASL,IAAS,OAExB,OACEM,EAAAA,IAACC,EAAAA,WAAA,CACC,IAAAR,EACA,QAAAF,EACA,KAAK,SACL,eAAcQ,EACd,aAAYF,EAAE,mBAAmB,EAChC,GAAGL,EACJ,QAAUU,GAAU,QAClBC,EAAAX,EAAM,UAAN,MAAAW,EAAA,KAAAX,EAAgBU,GAChBP,EAAA,CACF,EAEA,SAAAK,EAAAA,IAACI,OAAA,CAAK,KAAML,EAAS,OAAS,KAAA,CAAO,CAAA,CAAA,CAG3C,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { jsx as m } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef as s } from "react";
|
|
3
|
+
import { I as f } from "./Icon-CophpkHo.js";
|
|
4
|
+
import { I as g } from "./IconButton-CBusrDa9.js";
|
|
5
|
+
import { m as T, a as d } from "./ConfigProvider-2c94kUOk.js";
|
|
6
|
+
const x = s(function({ variant: n = "outlined", ...e }, a) {
|
|
7
|
+
const { mode: r, toggleMode: i } = T(), c = d(), o = r === "dark";
|
|
8
|
+
return /* @__PURE__ */ m(
|
|
9
|
+
g,
|
|
10
|
+
{
|
|
11
|
+
ref: a,
|
|
12
|
+
variant: n,
|
|
13
|
+
role: "switch",
|
|
14
|
+
"aria-checked": o,
|
|
15
|
+
"aria-label": c("themeToggle.label"),
|
|
16
|
+
...e,
|
|
17
|
+
onClick: (l) => {
|
|
18
|
+
var t;
|
|
19
|
+
(t = e.onClick) == null || t.call(e, l), i();
|
|
20
|
+
},
|
|
21
|
+
children: /* @__PURE__ */ m(f, { name: o ? "Moon" : "Sun" })
|
|
22
|
+
}
|
|
23
|
+
);
|
|
24
|
+
});
|
|
25
|
+
export {
|
|
26
|
+
x as T
|
|
27
|
+
};
|
|
28
|
+
//# sourceMappingURL=ThemeToggle-Deh9j8pm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ThemeToggle-Deh9j8pm.js","sources":["../src/components/ThemeToggle/ThemeToggle.tsx"],"sourcesContent":["import { forwardRef } from 'react'\nimport { useTheme, useT } from '../../theme'\nimport { Icon } from '../Icon'\nimport { IconButton, type IconButtonProps } from '../IconButton'\n\n/** Inherits `IconButton`'s look (variant, color, size); the icon and toggle behavior are built in. */\nexport type ThemeToggleProps = Omit<IconButtonProps, 'children'>\n\n/**\n * A one-tap color-theme switch. Renders an `IconButton` showing the `Sun` icon\n * in light mode and the `Moon` icon in dark mode, and flips `mode` on click.\n * Styling comes from `IconButton`, so `variant`, `color` and `size` pass through.\n */\nexport const ThemeToggle = forwardRef<HTMLButtonElement, ThemeToggleProps>(function ThemeToggle(\n { variant = 'outlined', ...props },\n ref,\n) {\n const { mode, toggleMode } = useTheme()\n const t = useT()\n const isDark = mode === 'dark'\n\n return (\n <IconButton\n ref={ref}\n variant={variant}\n role=\"switch\"\n aria-checked={isDark}\n aria-label={t('themeToggle.label')}\n {...props}\n onClick={(event) => {\n props.onClick?.(event) // preserve a caller-supplied handler, then toggle\n toggleMode()\n }}\n >\n <Icon name={isDark ? 'Moon' : 'Sun'} />\n </IconButton>\n )\n})\n"],"names":["ThemeToggle","forwardRef","variant","props","ref","mode","toggleMode","useTheme","t","useT","isDark","jsx","IconButton","event","_a","Icon"],"mappings":";;;;;AAaO,MAAMA,IAAcC,EAAgD,SACzE,EAAE,SAAAC,IAAU,YAAY,GAAGC,EAAA,GAC3BC,GACA;AACA,QAAM,EAAE,MAAAC,GAAM,YAAAC,EAAA,IAAeC,EAAA,GACvBC,IAAIC,EAAA,GACJC,IAASL,MAAS;AAExB,SACE,gBAAAM;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,KAAAR;AAAA,MACA,SAAAF;AAAA,MACA,MAAK;AAAA,MACL,gBAAcQ;AAAA,MACd,cAAYF,EAAE,mBAAmB;AAAA,MAChC,GAAGL;AAAA,MACJ,SAAS,CAACU,MAAU;;AAClB,SAAAC,IAAAX,EAAM,YAAN,QAAAW,EAAA,KAAAX,GAAgBU,IAChBP,EAAA;AAAA,MACF;AAAA,MAEA,UAAA,gBAAAK,EAACI,GAAA,EAAK,MAAML,IAAS,SAAS,MAAA,CAAO;AAAA,IAAA;AAAA,EAAA;AAG3C,CAAC;"}
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
import { jsxs as w, jsx as d } from "react/jsx-runtime";
|
|
2
|
+
import { useRef as M, useState as N, useEffect as v } from "react";
|
|
3
|
+
import { clsx as O } from "clsx";
|
|
4
|
+
import { t as P, r as S, g as T } from "./DatePicker.module-BZDftL4g.js";
|
|
5
|
+
import { a as q } from "./ConfigProvider-2c94kUOk.js";
|
|
6
|
+
const E = "_popover_1mo4p_5", H = "_tabs_1mo4p_13", R = "_timePane_1mo4p_30", j = "_timeCols_1mo4p_36", A = "_timeCol_1mo4p_36", K = "_timeColLabel_1mo4p_47", V = "_timeScroll_1mo4p_57", g = "_timeCell_1mo4p_85", B = "_timeCellSelected_1mo4p_110", F = "_footer_1mo4p_120", f = {
|
|
7
|
+
popover: E,
|
|
8
|
+
tabs: H,
|
|
9
|
+
timePane: R,
|
|
10
|
+
timeCols: j,
|
|
11
|
+
timeCol: A,
|
|
12
|
+
timeColLabel: K,
|
|
13
|
+
timeScroll: V,
|
|
14
|
+
timeCell: g,
|
|
15
|
+
timeCellSelected: B,
|
|
16
|
+
footer: F
|
|
17
|
+
};
|
|
18
|
+
function h({
|
|
19
|
+
options: o,
|
|
20
|
+
selected: l,
|
|
21
|
+
onSelect: m,
|
|
22
|
+
label: _,
|
|
23
|
+
autoFocus: x
|
|
24
|
+
}) {
|
|
25
|
+
const p = M(null), n = M(!!x), b = o.findIndex((e) => e.value === l), [t, i] = N(b >= 0 ? b : 0);
|
|
26
|
+
v(() => {
|
|
27
|
+
var c, s, C;
|
|
28
|
+
b >= 0 && i(b);
|
|
29
|
+
const e = ((c = p.current) == null ? void 0 : c.querySelector('[aria-selected="true"]')) ?? ((s = p.current) == null ? void 0 : s.querySelector('[tabindex="0"]'));
|
|
30
|
+
(C = e == null ? void 0 : e.scrollIntoView) == null || C.call(e, { block: "nearest" });
|
|
31
|
+
}, [l]), v(() => {
|
|
32
|
+
var c, s;
|
|
33
|
+
if (!n.current) return;
|
|
34
|
+
n.current = !1;
|
|
35
|
+
const e = (c = p.current) == null ? void 0 : c.querySelector('[tabindex="0"]');
|
|
36
|
+
e == null || e.focus(), (s = e == null ? void 0 : e.scrollIntoView) == null || s.call(e, { block: "nearest" });
|
|
37
|
+
}, [t]);
|
|
38
|
+
const a = (e) => {
|
|
39
|
+
n.current = !0, i(Math.max(0, Math.min(o.length - 1, e)));
|
|
40
|
+
}, u = (e) => {
|
|
41
|
+
switch (e.key) {
|
|
42
|
+
case "ArrowUp":
|
|
43
|
+
e.preventDefault(), a(t - 1);
|
|
44
|
+
break;
|
|
45
|
+
case "ArrowDown":
|
|
46
|
+
e.preventDefault(), a(t + 1);
|
|
47
|
+
break;
|
|
48
|
+
case "Home":
|
|
49
|
+
e.preventDefault(), a(0);
|
|
50
|
+
break;
|
|
51
|
+
case "End":
|
|
52
|
+
e.preventDefault(), a(o.length - 1);
|
|
53
|
+
break;
|
|
54
|
+
case "Enter":
|
|
55
|
+
case " ":
|
|
56
|
+
e.preventDefault(), m(o[t].value);
|
|
57
|
+
break;
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
return /* @__PURE__ */ w("div", { className: f.timeCol, children: [
|
|
61
|
+
/* @__PURE__ */ d("span", { className: f.timeColLabel, children: _ }),
|
|
62
|
+
/* @__PURE__ */ d(
|
|
63
|
+
"div",
|
|
64
|
+
{
|
|
65
|
+
ref: p,
|
|
66
|
+
className: f.timeScroll,
|
|
67
|
+
role: "listbox",
|
|
68
|
+
"aria-label": _,
|
|
69
|
+
onKeyDown: u,
|
|
70
|
+
children: o.map((e, c) => {
|
|
71
|
+
const s = e.value === l;
|
|
72
|
+
return /* @__PURE__ */ d(
|
|
73
|
+
"button",
|
|
74
|
+
{
|
|
75
|
+
type: "button",
|
|
76
|
+
role: "option",
|
|
77
|
+
className: O(f.timeCell, s && f.timeCellSelected),
|
|
78
|
+
tabIndex: c === t ? 0 : -1,
|
|
79
|
+
"aria-selected": s,
|
|
80
|
+
onClick: () => m(e.value),
|
|
81
|
+
children: e.label
|
|
82
|
+
},
|
|
83
|
+
e.label
|
|
84
|
+
);
|
|
85
|
+
})
|
|
86
|
+
}
|
|
87
|
+
)
|
|
88
|
+
] });
|
|
89
|
+
}
|
|
90
|
+
const k = (o) => o.map((l) => ({ value: l, label: T(l) }));
|
|
91
|
+
function W({
|
|
92
|
+
value: o,
|
|
93
|
+
onChange: l,
|
|
94
|
+
hour12: m,
|
|
95
|
+
minuteStep: _,
|
|
96
|
+
showSeconds: x,
|
|
97
|
+
autoFocus: p
|
|
98
|
+
}) {
|
|
99
|
+
const n = q(), b = [
|
|
100
|
+
{ value: !1, label: n("time.am") },
|
|
101
|
+
{ value: !0, label: n("time.pm") }
|
|
102
|
+
], t = o ?? P(), i = t.hour(), a = i >= 12, u = _ >= 1 ? Math.floor(_) : 1, e = k(m ? S(1, 12) : S(0, 23)), c = o ? m ? i % 12 || 12 : i : null, s = Math.floor(59 / u) * u, C = o ? Math.min(Math.round(t.minute() / u) * u, s) : null, y = (r) => l(m ? t.hour(r % 12 + (a ? 12 : 0)) : t.hour(r)), D = (r) => l(t.minute(r)), I = (r) => l(t.second(r)), L = (r) => l(r === a ? t : t.hour(r ? i + 12 : i - 12));
|
|
103
|
+
return /* @__PURE__ */ w("div", { className: f.timeCols, children: [
|
|
104
|
+
/* @__PURE__ */ d(
|
|
105
|
+
h,
|
|
106
|
+
{
|
|
107
|
+
options: e,
|
|
108
|
+
selected: c,
|
|
109
|
+
onSelect: y,
|
|
110
|
+
label: n("time.hour"),
|
|
111
|
+
autoFocus: p
|
|
112
|
+
}
|
|
113
|
+
),
|
|
114
|
+
/* @__PURE__ */ d(
|
|
115
|
+
h,
|
|
116
|
+
{
|
|
117
|
+
options: k(S(0, 59, u)),
|
|
118
|
+
selected: C,
|
|
119
|
+
onSelect: D,
|
|
120
|
+
label: n("time.minute")
|
|
121
|
+
}
|
|
122
|
+
),
|
|
123
|
+
x && /* @__PURE__ */ d(
|
|
124
|
+
h,
|
|
125
|
+
{
|
|
126
|
+
options: k(S(0, 59)),
|
|
127
|
+
selected: o ? t.second() : null,
|
|
128
|
+
onSelect: I,
|
|
129
|
+
label: n("time.second")
|
|
130
|
+
}
|
|
131
|
+
),
|
|
132
|
+
m && /* @__PURE__ */ d(
|
|
133
|
+
h,
|
|
134
|
+
{
|
|
135
|
+
options: b,
|
|
136
|
+
selected: o ? a : null,
|
|
137
|
+
onSelect: L,
|
|
138
|
+
label: n("time.meridiem")
|
|
139
|
+
}
|
|
140
|
+
)
|
|
141
|
+
] });
|
|
142
|
+
}
|
|
143
|
+
export {
|
|
144
|
+
W as T,
|
|
145
|
+
f as d
|
|
146
|
+
};
|
|
147
|
+
//# sourceMappingURL=TimeColumns-BCNmu4b_.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TimeColumns-BCNmu4b_.js","sources":["../src/components/DateTimePicker/TimeColumns.tsx"],"sourcesContent":["import { useEffect, useRef, useState, type KeyboardEvent } from 'react'\nimport { clsx } from 'clsx'\nimport { useT } from '../../theme'\nimport { pad2, range, today, type Dayjs } from '../DatePicker/dateUtils'\nimport styles from './DateTimePicker.module.css'\n\nexport interface TimeColumnsProps {\n /** The working datetime (selected value) or null. */\n value: Dayjs | null\n /** Emit the next datetime when an hour / minute / second / meridiem is chosen. */\n onChange: (next: Dayjs) => void\n /** 12-hour clock (1–12 + AM/PM) instead of 24-hour (0–23). */\n hour12: boolean\n /** Minute increment for the minutes column. */\n minuteStep: number\n /** Show a seconds column. */\n showSeconds: boolean\n /** Focus the hours column on mount (when there's no calendar to take focus, e.g. `TimePicker`). */\n autoFocus?: boolean\n}\n\ninterface Option<V> {\n value: V\n label: string\n}\n\n/** One scrollable, roving-focus column of time options (hours / minutes / seconds / meridiem). */\nfunction TimeList<V>({\n options,\n selected,\n onSelect,\n label,\n autoFocus,\n}: {\n options: Option<V>[]\n selected: V | null\n onSelect: (value: V) => void\n label: string\n autoFocus?: boolean\n}) {\n const listRef = useRef<HTMLDivElement | null>(null)\n const focusOnRender = useRef(Boolean(autoFocus))\n const selectedIndex = options.findIndex((o) => o.value === selected)\n const [focusedIndex, setFocusedIndex] = useState(selectedIndex >= 0 ? selectedIndex : 0)\n\n // re-anchor roving focus to the selected option and scroll it into view when it changes externally\n useEffect(() => {\n if (selectedIndex >= 0) setFocusedIndex(selectedIndex)\n const el =\n listRef.current?.querySelector<HTMLElement>('[aria-selected=\"true\"]') ??\n listRef.current?.querySelector<HTMLElement>('[tabindex=\"0\"]')\n el?.scrollIntoView?.({ block: 'nearest' })\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selected])\n\n // move DOM focus to the roving option after a keyboard move\n useEffect(() => {\n if (!focusOnRender.current) return\n focusOnRender.current = false\n const el = listRef.current?.querySelector<HTMLElement>('[tabindex=\"0\"]')\n el?.focus()\n el?.scrollIntoView?.({ block: 'nearest' })\n }, [focusedIndex])\n\n const move = (index: number) => {\n focusOnRender.current = true\n setFocusedIndex(Math.max(0, Math.min(options.length - 1, index)))\n }\n\n const handleKeyDown = (event: KeyboardEvent<HTMLDivElement>) => {\n switch (event.key) {\n case 'ArrowUp':\n event.preventDefault()\n move(focusedIndex - 1)\n break\n case 'ArrowDown':\n event.preventDefault()\n move(focusedIndex + 1)\n break\n case 'Home':\n event.preventDefault()\n move(0)\n break\n case 'End':\n event.preventDefault()\n move(options.length - 1)\n break\n case 'Enter':\n case ' ':\n event.preventDefault()\n onSelect(options[focusedIndex].value)\n break\n }\n }\n\n return (\n <div className={styles.timeCol}>\n <span className={styles.timeColLabel}>{label}</span>\n <div\n ref={listRef}\n className={styles.timeScroll}\n role=\"listbox\"\n aria-label={label}\n onKeyDown={handleKeyDown}\n >\n {options.map((opt, i) => {\n const isSelected = opt.value === selected\n return (\n <button\n key={opt.label}\n type=\"button\"\n role=\"option\"\n className={clsx(styles.timeCell, isSelected && styles.timeCellSelected)}\n tabIndex={i === focusedIndex ? 0 : -1}\n aria-selected={isSelected}\n onClick={() => onSelect(opt.value)}\n >\n {opt.label}\n </button>\n )\n })}\n </div>\n </div>\n )\n}\n\nconst numberOptions = (values: number[]): Option<number>[] =>\n values.map((v) => ({ value: v, label: pad2(v) }))\n\n/**\n * The time-picker columns shown beside the calendar in `DateTimePicker`. Scrollable hour + minute\n * (+ optional seconds) lists plus an AM/PM toggle in 12-hour mode — each a roving-focus listbox. All\n * math is UTC; each pick keeps the rest of the datetime intact (changing the hour preserves\n * minutes/seconds, etc.). When `value` is null a pick anchors to today's date at the chosen time.\n */\nexport function TimeColumns({\n value,\n onChange,\n hour12,\n minuteStep,\n showSeconds,\n autoFocus,\n}: TimeColumnsProps) {\n const t = useT()\n const meridiemOptions: Option<boolean>[] = [\n { value: false, label: t('time.am') },\n { value: true, label: t('time.pm') },\n ]\n const base = value ?? today()\n const h24 = base.hour()\n const isPM = h24 >= 12\n const step = minuteStep >= 1 ? Math.floor(minuteStep) : 1\n\n const hourOptions = numberOptions(hour12 ? range(1, 12) : range(0, 23))\n const selectedHour = value ? (hour12 ? h24 % 12 || 12 : h24) : null\n\n // snap the highlighted minute to the nearest step so a non-aligned value (e.g. :37 with step 15)\n // still lands on a real option — otherwise selectedIndex is -1 and roving focus sticks at :00\n const maxMinuteOption = Math.floor(59 / step) * step\n const selectedMinute = value\n ? Math.min(Math.round(base.minute() / step) * step, maxMinuteOption)\n : null\n\n const pickHour = (h: number) =>\n onChange(hour12 ? base.hour((h % 12) + (isPM ? 12 : 0)) : base.hour(h))\n const pickMinute = (m: number) => onChange(base.minute(m))\n const pickSecond = (s: number) => onChange(base.second(s))\n const pickMeridiem = (pm: boolean) =>\n onChange(pm === isPM ? base : base.hour(pm ? h24 + 12 : h24 - 12))\n\n return (\n <div className={styles.timeCols}>\n <TimeList\n options={hourOptions}\n selected={selectedHour}\n onSelect={pickHour}\n label={t('time.hour')}\n autoFocus={autoFocus}\n />\n <TimeList\n options={numberOptions(range(0, 59, step))}\n selected={selectedMinute}\n onSelect={pickMinute}\n label={t('time.minute')}\n />\n {showSeconds && (\n <TimeList\n options={numberOptions(range(0, 59))}\n selected={value ? base.second() : null}\n onSelect={pickSecond}\n label={t('time.second')}\n />\n )}\n {hour12 && (\n <TimeList\n options={meridiemOptions}\n selected={value ? isPM : null}\n onSelect={pickMeridiem}\n label={t('time.meridiem')}\n />\n )}\n </div>\n )\n}\n"],"names":["TimeList","options","selected","onSelect","label","autoFocus","listRef","useRef","focusOnRender","selectedIndex","o","focusedIndex","setFocusedIndex","useState","useEffect","el","_a","_b","_c","move","index","handleKeyDown","event","jsxs","styles","jsx","opt","i","isSelected","clsx","numberOptions","values","v","pad2","TimeColumns","value","onChange","hour12","minuteStep","showSeconds","t","useT","meridiemOptions","base","today","h24","isPM","step","hourOptions","range","selectedHour","maxMinuteOption","selectedMinute","pickHour","h","pickMinute","m","pickSecond","s","pickMeridiem","pm"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const i=require("react/jsx-runtime"),C=require("react"),w=require("clsx"),f=require("./DatePicker.module-tE-tGNBd.cjs"),y=require("./ConfigProvider-ByOFXVyP.cjs"),I="_popover_1mo4p_5",P="_tabs_1mo4p_13",L="_timePane_1mo4p_30",N="_timeCols_1mo4p_36",O="_timeCol_1mo4p_36",R="_timeColLabel_1mo4p_47",g="_timeScroll_1mo4p_57",E="_timeCell_1mo4p_85",T="_timeCellSelected_1mo4p_110",H="_footer_1mo4p_120",p={popover:I,tabs:P,timePane:L,timeCols:N,timeCol:O,timeColLabel:R,timeScroll:g,timeCell:E,timeCellSelected:T,footer:H};function h({options:o,selected:l,onSelect:u,label:x,autoFocus:k}){const b=C.useRef(null),s=C.useRef(!!k),_=o.findIndex(e=>e.value===l),[t,a]=C.useState(_>=0?_:0);C.useEffect(()=>{var c,n,S;_>=0&&a(_);const e=((c=b.current)==null?void 0:c.querySelector('[aria-selected="true"]'))??((n=b.current)==null?void 0:n.querySelector('[tabindex="0"]'));(S=e==null?void 0:e.scrollIntoView)==null||S.call(e,{block:"nearest"})},[l]),C.useEffect(()=>{var c,n;if(!s.current)return;s.current=!1;const e=(c=b.current)==null?void 0:c.querySelector('[tabindex="0"]');e==null||e.focus(),(n=e==null?void 0:e.scrollIntoView)==null||n.call(e,{block:"nearest"})},[t]);const m=e=>{s.current=!0,a(Math.max(0,Math.min(o.length-1,e)))},d=e=>{switch(e.key){case"ArrowUp":e.preventDefault(),m(t-1);break;case"ArrowDown":e.preventDefault(),m(t+1);break;case"Home":e.preventDefault(),m(0);break;case"End":e.preventDefault(),m(o.length-1);break;case"Enter":case" ":e.preventDefault(),u(o[t].value);break}};return i.jsxs("div",{className:p.timeCol,children:[i.jsx("span",{className:p.timeColLabel,children:x}),i.jsx("div",{ref:b,className:p.timeScroll,role:"listbox","aria-label":x,onKeyDown:d,children:o.map((e,c)=>{const n=e.value===l;return i.jsx("button",{type:"button",role:"option",className:w.clsx(p.timeCell,n&&p.timeCellSelected),tabIndex:c===t?0:-1,"aria-selected":n,onClick:()=>u(e.value),children:e.label},e.label)})})]})}const M=o=>o.map(l=>({value:l,label:f.pad2(l)}));function A({value:o,onChange:l,hour12:u,minuteStep:x,showSeconds:k,autoFocus:b}){const s=y.useT(),_=[{value:!1,label:s("time.am")},{value:!0,label:s("time.pm")}],t=o??f.today(),a=t.hour(),m=a>=12,d=x>=1?Math.floor(x):1,e=M(u?f.range(1,12):f.range(0,23)),c=o?u?a%12||12:a:null,n=Math.floor(59/d)*d,S=o?Math.min(Math.round(t.minute()/d)*d,n):null,j=r=>l(u?t.hour(r%12+(m?12:0)):t.hour(r)),v=r=>l(t.minute(r)),D=r=>l(t.second(r)),q=r=>l(r===m?t:t.hour(r?a+12:a-12));return i.jsxs("div",{className:p.timeCols,children:[i.jsx(h,{options:e,selected:c,onSelect:j,label:s("time.hour"),autoFocus:b}),i.jsx(h,{options:M(f.range(0,59,d)),selected:S,onSelect:v,label:s("time.minute")}),k&&i.jsx(h,{options:M(f.range(0,59)),selected:o?t.second():null,onSelect:D,label:s("time.second")}),u&&i.jsx(h,{options:_,selected:o?m:null,onSelect:q,label:s("time.meridiem")})]})}exports.TimeColumns=A;exports.dt=p;
|
|
2
|
+
//# sourceMappingURL=TimeColumns-Duh4DcYJ.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TimeColumns-Duh4DcYJ.cjs","sources":["../src/components/DateTimePicker/TimeColumns.tsx"],"sourcesContent":["import { useEffect, useRef, useState, type KeyboardEvent } from 'react'\nimport { clsx } from 'clsx'\nimport { useT } from '../../theme'\nimport { pad2, range, today, type Dayjs } from '../DatePicker/dateUtils'\nimport styles from './DateTimePicker.module.css'\n\nexport interface TimeColumnsProps {\n /** The working datetime (selected value) or null. */\n value: Dayjs | null\n /** Emit the next datetime when an hour / minute / second / meridiem is chosen. */\n onChange: (next: Dayjs) => void\n /** 12-hour clock (1–12 + AM/PM) instead of 24-hour (0–23). */\n hour12: boolean\n /** Minute increment for the minutes column. */\n minuteStep: number\n /** Show a seconds column. */\n showSeconds: boolean\n /** Focus the hours column on mount (when there's no calendar to take focus, e.g. `TimePicker`). */\n autoFocus?: boolean\n}\n\ninterface Option<V> {\n value: V\n label: string\n}\n\n/** One scrollable, roving-focus column of time options (hours / minutes / seconds / meridiem). */\nfunction TimeList<V>({\n options,\n selected,\n onSelect,\n label,\n autoFocus,\n}: {\n options: Option<V>[]\n selected: V | null\n onSelect: (value: V) => void\n label: string\n autoFocus?: boolean\n}) {\n const listRef = useRef<HTMLDivElement | null>(null)\n const focusOnRender = useRef(Boolean(autoFocus))\n const selectedIndex = options.findIndex((o) => o.value === selected)\n const [focusedIndex, setFocusedIndex] = useState(selectedIndex >= 0 ? selectedIndex : 0)\n\n // re-anchor roving focus to the selected option and scroll it into view when it changes externally\n useEffect(() => {\n if (selectedIndex >= 0) setFocusedIndex(selectedIndex)\n const el =\n listRef.current?.querySelector<HTMLElement>('[aria-selected=\"true\"]') ??\n listRef.current?.querySelector<HTMLElement>('[tabindex=\"0\"]')\n el?.scrollIntoView?.({ block: 'nearest' })\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selected])\n\n // move DOM focus to the roving option after a keyboard move\n useEffect(() => {\n if (!focusOnRender.current) return\n focusOnRender.current = false\n const el = listRef.current?.querySelector<HTMLElement>('[tabindex=\"0\"]')\n el?.focus()\n el?.scrollIntoView?.({ block: 'nearest' })\n }, [focusedIndex])\n\n const move = (index: number) => {\n focusOnRender.current = true\n setFocusedIndex(Math.max(0, Math.min(options.length - 1, index)))\n }\n\n const handleKeyDown = (event: KeyboardEvent<HTMLDivElement>) => {\n switch (event.key) {\n case 'ArrowUp':\n event.preventDefault()\n move(focusedIndex - 1)\n break\n case 'ArrowDown':\n event.preventDefault()\n move(focusedIndex + 1)\n break\n case 'Home':\n event.preventDefault()\n move(0)\n break\n case 'End':\n event.preventDefault()\n move(options.length - 1)\n break\n case 'Enter':\n case ' ':\n event.preventDefault()\n onSelect(options[focusedIndex].value)\n break\n }\n }\n\n return (\n <div className={styles.timeCol}>\n <span className={styles.timeColLabel}>{label}</span>\n <div\n ref={listRef}\n className={styles.timeScroll}\n role=\"listbox\"\n aria-label={label}\n onKeyDown={handleKeyDown}\n >\n {options.map((opt, i) => {\n const isSelected = opt.value === selected\n return (\n <button\n key={opt.label}\n type=\"button\"\n role=\"option\"\n className={clsx(styles.timeCell, isSelected && styles.timeCellSelected)}\n tabIndex={i === focusedIndex ? 0 : -1}\n aria-selected={isSelected}\n onClick={() => onSelect(opt.value)}\n >\n {opt.label}\n </button>\n )\n })}\n </div>\n </div>\n )\n}\n\nconst numberOptions = (values: number[]): Option<number>[] =>\n values.map((v) => ({ value: v, label: pad2(v) }))\n\n/**\n * The time-picker columns shown beside the calendar in `DateTimePicker`. Scrollable hour + minute\n * (+ optional seconds) lists plus an AM/PM toggle in 12-hour mode — each a roving-focus listbox. All\n * math is UTC; each pick keeps the rest of the datetime intact (changing the hour preserves\n * minutes/seconds, etc.). When `value` is null a pick anchors to today's date at the chosen time.\n */\nexport function TimeColumns({\n value,\n onChange,\n hour12,\n minuteStep,\n showSeconds,\n autoFocus,\n}: TimeColumnsProps) {\n const t = useT()\n const meridiemOptions: Option<boolean>[] = [\n { value: false, label: t('time.am') },\n { value: true, label: t('time.pm') },\n ]\n const base = value ?? today()\n const h24 = base.hour()\n const isPM = h24 >= 12\n const step = minuteStep >= 1 ? Math.floor(minuteStep) : 1\n\n const hourOptions = numberOptions(hour12 ? range(1, 12) : range(0, 23))\n const selectedHour = value ? (hour12 ? h24 % 12 || 12 : h24) : null\n\n // snap the highlighted minute to the nearest step so a non-aligned value (e.g. :37 with step 15)\n // still lands on a real option — otherwise selectedIndex is -1 and roving focus sticks at :00\n const maxMinuteOption = Math.floor(59 / step) * step\n const selectedMinute = value\n ? Math.min(Math.round(base.minute() / step) * step, maxMinuteOption)\n : null\n\n const pickHour = (h: number) =>\n onChange(hour12 ? base.hour((h % 12) + (isPM ? 12 : 0)) : base.hour(h))\n const pickMinute = (m: number) => onChange(base.minute(m))\n const pickSecond = (s: number) => onChange(base.second(s))\n const pickMeridiem = (pm: boolean) =>\n onChange(pm === isPM ? base : base.hour(pm ? h24 + 12 : h24 - 12))\n\n return (\n <div className={styles.timeCols}>\n <TimeList\n options={hourOptions}\n selected={selectedHour}\n onSelect={pickHour}\n label={t('time.hour')}\n autoFocus={autoFocus}\n />\n <TimeList\n options={numberOptions(range(0, 59, step))}\n selected={selectedMinute}\n onSelect={pickMinute}\n label={t('time.minute')}\n />\n {showSeconds && (\n <TimeList\n options={numberOptions(range(0, 59))}\n selected={value ? base.second() : null}\n onSelect={pickSecond}\n label={t('time.second')}\n />\n )}\n {hour12 && (\n <TimeList\n options={meridiemOptions}\n selected={value ? isPM : null}\n onSelect={pickMeridiem}\n label={t('time.meridiem')}\n />\n )}\n </div>\n )\n}\n"],"names":["TimeList","options","selected","onSelect","label","autoFocus","listRef","useRef","focusOnRender","selectedIndex","o","focusedIndex","setFocusedIndex","useState","useEffect","el","_a","_b","_c","move","index","handleKeyDown","event","jsxs","styles","jsx","opt","i","isSelected","clsx","numberOptions","values","v","pad2","TimeColumns","value","onChange","hour12","minuteStep","showSeconds","t","useT","meridiemOptions","base","today","h24","isPM","step","hourOptions","range","selectedHour","maxMinuteOption","selectedMinute","pickHour","h","pickMinute","m","pickSecond","s","pickMeridiem","pm"],"mappings":"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"}
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
import { jsxs as F, jsx as a } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef as xe, useId as Ne, useState as V, useEffect as ge, useRef as y, useCallback as Z } from "react";
|
|
3
|
+
import { clsx as $ } from "clsx";
|
|
4
|
+
import { u as Be } from "./formContext-B7ln1Miy.js";
|
|
5
|
+
import { F as He } from "./FloatingPanel-BG9Uag__.js";
|
|
6
|
+
import { B as Pe } from "./Button-DhEv0YFk.js";
|
|
7
|
+
import { I as G } from "./Icon-CophpkHo.js";
|
|
8
|
+
import { I as be } from "./IconButton-CBusrDa9.js";
|
|
9
|
+
import { T as J } from "./Typography-Cta6Rg4L.js";
|
|
10
|
+
import { T as Re } from "./TimeColumns-BCNmu4b_.js";
|
|
11
|
+
import { u as De, h as K, m as Ee, s as o, b as Q, c as Le, l as Me } from "./DatePicker.module-BZDftL4g.js";
|
|
12
|
+
import { a as Ve } from "./ConfigProvider-2c94kUOk.js";
|
|
13
|
+
const We = "_footer_p1ea2_7", _e = {
|
|
14
|
+
footer: We
|
|
15
|
+
};
|
|
16
|
+
function je(c, i) {
|
|
17
|
+
return c ? i ? "hh:mm:ss A" : "hh:mm A" : i ? "HH:mm:ss" : "HH:mm";
|
|
18
|
+
}
|
|
19
|
+
function X(c, i, m) {
|
|
20
|
+
return c.hour() !== i.hour() || c.minute() !== i.minute() ? !1 : m === "minute" ? !0 : c.second() === i.second();
|
|
21
|
+
}
|
|
22
|
+
const Qe = xe(function({
|
|
23
|
+
label: i,
|
|
24
|
+
size: m = "md",
|
|
25
|
+
error: Y,
|
|
26
|
+
helperText: ee,
|
|
27
|
+
required: oe = !1,
|
|
28
|
+
fullWidth: te = !0,
|
|
29
|
+
disabled: h = !1,
|
|
30
|
+
value: x,
|
|
31
|
+
defaultValue: re,
|
|
32
|
+
onChange: N,
|
|
33
|
+
format: se,
|
|
34
|
+
valueFormat: ae,
|
|
35
|
+
utc: g = !0,
|
|
36
|
+
hour12: W = !1,
|
|
37
|
+
minuteStep: ne = 1,
|
|
38
|
+
showSeconds: _ = !0,
|
|
39
|
+
placeholder: le,
|
|
40
|
+
clearable: ie = !0,
|
|
41
|
+
name: u,
|
|
42
|
+
id: ce,
|
|
43
|
+
className: me,
|
|
44
|
+
style: ue
|
|
45
|
+
}, f) {
|
|
46
|
+
const B = Ve(), fe = Ne(), H = ce ?? fe, j = `${H}-helper`, n = se ?? je(W, _), v = ae ?? (g ? "HH:mm:ss[Z]" : "HH:mm:ss"), T = Be(), C = !!(T && u), t = C ? T.field(u) : void 0, pe = x !== void 0 ? x : C ? T.values[u] ?? "" : void 0, w = x !== void 0 || C, [de, he] = V(re ?? ""), p = w ? pe : de, r = g ? De(K(p, v)) : K(p, v), P = Y ?? (t == null ? void 0 : t.error) ?? !1, b = ee ?? (t == null ? void 0 : t.helperText), ve = Ee(n), Te = /s/.test(n) ? "second" : "minute", I = (e) => {
|
|
47
|
+
e !== p && (w || he(e), C && T.setValue(u, e), N == null || N(e));
|
|
48
|
+
}, R = (e) => {
|
|
49
|
+
e && r && X(e, r, "second") || I(e ? (g ? Me(e) : e).format(v) : "");
|
|
50
|
+
}, z = (e) => !r || !X(e, r, Te), [D, d] = V(
|
|
51
|
+
() => r ? r.format(n) : ""
|
|
52
|
+
);
|
|
53
|
+
ge(() => {
|
|
54
|
+
d(r ? r.format(n) : "");
|
|
55
|
+
}, [p, n, v]);
|
|
56
|
+
const E = y(null), L = y(null), [M, A] = V(!1), Ce = Z(
|
|
57
|
+
(e) => {
|
|
58
|
+
L.current = e, typeof f == "function" ? f(e) : f && (f.current = e);
|
|
59
|
+
},
|
|
60
|
+
[f]
|
|
61
|
+
), k = y(void 0);
|
|
62
|
+
k.current = t ? () => t.onBlur({}) : void 0;
|
|
63
|
+
const S = y(null), U = Z((e) => {
|
|
64
|
+
var s, l;
|
|
65
|
+
A(!1), (s = k.current) == null || s.call(k), e && ((l = L.current) == null || l.focus());
|
|
66
|
+
}, []), Ie = (e) => {
|
|
67
|
+
const s = Le(e, ve);
|
|
68
|
+
if (d(s), s === "") {
|
|
69
|
+
I("");
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
const l = Q(s, n);
|
|
73
|
+
l && z(l) && R(l);
|
|
74
|
+
}, ke = (e) => {
|
|
75
|
+
var q, O;
|
|
76
|
+
const s = Q(D, n);
|
|
77
|
+
D === "" ? I("") : s ? (z(s) && R(s), d(s.format(n))) : d(r ? r.format(n) : "");
|
|
78
|
+
const l = e.relatedTarget;
|
|
79
|
+
l && ((q = S.current) != null && q.contains(l) || (O = E.current) != null && O.contains(l)) || t == null || t.onBlur(e);
|
|
80
|
+
}, Fe = (e) => R(e), ye = m === "sm" ? "sm" : "md";
|
|
81
|
+
return /* @__PURE__ */ F(
|
|
82
|
+
"div",
|
|
83
|
+
{
|
|
84
|
+
className: $(
|
|
85
|
+
o.field,
|
|
86
|
+
o[m],
|
|
87
|
+
te && o.fullWidth,
|
|
88
|
+
P && o.error,
|
|
89
|
+
h && o.disabled,
|
|
90
|
+
me
|
|
91
|
+
),
|
|
92
|
+
style: ue,
|
|
93
|
+
children: [
|
|
94
|
+
i != null && /* @__PURE__ */ F("label", { htmlFor: H, className: o.label, children: [
|
|
95
|
+
/* @__PURE__ */ a(J, { as: "span", variant: "bodySmall", color: "muted", children: i }),
|
|
96
|
+
oe && /* @__PURE__ */ a("span", { className: o.required, "aria-hidden": "true", children: "*" })
|
|
97
|
+
] }),
|
|
98
|
+
/* @__PURE__ */ F("div", { ref: E, className: $(o.control, M && o.open), children: [
|
|
99
|
+
/* @__PURE__ */ a(
|
|
100
|
+
"input",
|
|
101
|
+
{
|
|
102
|
+
ref: Ce,
|
|
103
|
+
id: H,
|
|
104
|
+
name: u,
|
|
105
|
+
className: o.input,
|
|
106
|
+
value: D,
|
|
107
|
+
placeholder: le ?? n.toLowerCase(),
|
|
108
|
+
disabled: h,
|
|
109
|
+
autoComplete: "off",
|
|
110
|
+
"aria-invalid": P || void 0,
|
|
111
|
+
"aria-describedby": b != null ? j : void 0,
|
|
112
|
+
onChange: (e) => Ie(e.target.value),
|
|
113
|
+
onBlur: ke
|
|
114
|
+
}
|
|
115
|
+
),
|
|
116
|
+
ie && p !== "" && !h && /* @__PURE__ */ a(
|
|
117
|
+
"button",
|
|
118
|
+
{
|
|
119
|
+
type: "button",
|
|
120
|
+
className: o.clear,
|
|
121
|
+
"aria-label": B("timePicker.clear"),
|
|
122
|
+
tabIndex: -1,
|
|
123
|
+
onMouseDown: (e) => e.preventDefault(),
|
|
124
|
+
onClick: () => {
|
|
125
|
+
var e;
|
|
126
|
+
I(""), d(""), (e = L.current) == null || e.focus();
|
|
127
|
+
},
|
|
128
|
+
children: /* @__PURE__ */ a(G, { name: "CloseCircle", size: "sm" })
|
|
129
|
+
}
|
|
130
|
+
),
|
|
131
|
+
/* @__PURE__ */ a(
|
|
132
|
+
be,
|
|
133
|
+
{
|
|
134
|
+
type: "button",
|
|
135
|
+
variant: "text",
|
|
136
|
+
color: "primary",
|
|
137
|
+
size: m,
|
|
138
|
+
disabled: h,
|
|
139
|
+
"aria-label": B("timePicker.open"),
|
|
140
|
+
"aria-haspopup": "dialog",
|
|
141
|
+
"aria-expanded": M,
|
|
142
|
+
className: o.calendarButton,
|
|
143
|
+
onMouseDown: (e) => e.preventDefault(),
|
|
144
|
+
onClick: () => A((e) => !e),
|
|
145
|
+
children: /* @__PURE__ */ a(G, { name: "Clock", size: ye })
|
|
146
|
+
}
|
|
147
|
+
)
|
|
148
|
+
] }),
|
|
149
|
+
/* @__PURE__ */ F(
|
|
150
|
+
He,
|
|
151
|
+
{
|
|
152
|
+
ref: S,
|
|
153
|
+
open: M,
|
|
154
|
+
triggerRef: E,
|
|
155
|
+
onClose: U,
|
|
156
|
+
role: "dialog",
|
|
157
|
+
ariaLabel: "Choose time",
|
|
158
|
+
trapFocus: !0,
|
|
159
|
+
className: o.popover,
|
|
160
|
+
children: [
|
|
161
|
+
/* @__PURE__ */ a(
|
|
162
|
+
Re,
|
|
163
|
+
{
|
|
164
|
+
value: r,
|
|
165
|
+
onChange: Fe,
|
|
166
|
+
hour12: W,
|
|
167
|
+
minuteStep: ne,
|
|
168
|
+
showSeconds: _,
|
|
169
|
+
autoFocus: !0
|
|
170
|
+
}
|
|
171
|
+
),
|
|
172
|
+
/* @__PURE__ */ a("div", { className: _e.footer, children: /* @__PURE__ */ a(Pe, { size: "sm", variant: "filled", color: "primary", onClick: () => U(!0), children: B("common.done") }) })
|
|
173
|
+
]
|
|
174
|
+
}
|
|
175
|
+
),
|
|
176
|
+
b != null && /* @__PURE__ */ a(
|
|
177
|
+
J,
|
|
178
|
+
{
|
|
179
|
+
as: "span",
|
|
180
|
+
id: j,
|
|
181
|
+
variant: "bodySmall",
|
|
182
|
+
color: P ? "error" : "muted",
|
|
183
|
+
className: o.helper,
|
|
184
|
+
children: b
|
|
185
|
+
}
|
|
186
|
+
)
|
|
187
|
+
]
|
|
188
|
+
}
|
|
189
|
+
);
|
|
190
|
+
});
|
|
191
|
+
export {
|
|
192
|
+
Qe as T
|
|
193
|
+
};
|
|
194
|
+
//# sourceMappingURL=TimePicker-3JgvK2on.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TimePicker-3JgvK2on.js","sources":["../src/components/TimePicker/TimePicker.tsx"],"sourcesContent":["import {\n forwardRef,\n useCallback,\n useEffect,\n useId,\n useRef,\n useState,\n type CSSProperties,\n type FocusEvent,\n type ReactNode,\n} from 'react'\nimport { clsx } from 'clsx'\nimport { useT } from '../../theme'\nimport { useFormContext } from '../../form/formContext'\nimport { FloatingPanel } from '../FloatingPanel/FloatingPanel'\nimport { Button } from '../Button'\nimport { Icon } from '../Icon'\nimport { IconButton } from '../IconButton'\nimport { Typography } from '../Typography'\nimport { TimeColumns } from '../DateTimePicker/TimeColumns'\nimport {\n applyMask,\n localWallToUtc,\n maskFromFormat,\n parseInput,\n parseTime,\n utcToLocalWall,\n type Dayjs,\n} from '../DatePicker/dateUtils'\nimport styles from '../DatePicker/DatePicker.module.css'\nimport tp from './TimePicker.module.css'\n\nexport type TimePickerSize = 'sm' | 'md' | 'lg'\n\nexport interface TimePickerProps {\n /** Label rendered above the field. */\n label?: ReactNode\n /** Preset size — control height, font and popover density. */\n size?: TimePickerSize\n /** Marks the field invalid: red border/ring + the `helperText` in the error color. */\n error?: boolean\n /** Helper / validation text under the field. Adopts the error color while `error`. */\n helperText?: ReactNode\n /** Adds a red asterisk after the label. */\n required?: boolean\n /** Stretches the field to fill its container width. Defaults to `true`. */\n fullWidth?: boolean\n /** Disables the field. */\n disabled?: boolean\n /** Controlled value — a time string in `valueFormat` (`''` = empty). */\n value?: string\n /** Initial value for uncontrolled use (in `valueFormat`). */\n defaultValue?: string\n /** Fires with the next time in `valueFormat` (`''` when cleared). */\n onChange?: (value: string) => void\n /**\n * Display + typed-input format (dayjs tokens). Defaults to `'HH:mm:ss'` (or `hh:mm:ss A` when\n * `hour12`; the `:ss` is dropped when `showSeconds` is `false`).\n */\n format?: string\n /**\n * Wire format of `value`/`defaultValue`/`onChange` (dayjs tokens), decoupled from the displayed\n * `format`. Defaults to `'HH:mm:ss[Z]'` when `utc` (the `Z` marks UTC), or `'HH:mm:ss'` when\n * `utc={false}`. Incoming values are parsed **leniently** (this format, then a numeric time — so a\n * backend time like `'09:35:49.6134342'` is accepted, ms-capped — then any ISO-8601 datetime, whose\n * time is used). Only the time-of-day is used; the date is ignored.\n */\n valueFormat?: string\n /**\n * Treat the value as **UTC** and display/edit in the viewer's **local** timezone (default `true`).\n * Set `false` to disable timezone conversion — the field shows and emits the value's exact wall-clock.\n */\n utc?: boolean\n /** 12-hour clock (1–12 + AM/PM) instead of 24-hour (0–23). Defaults to `false`. */\n hour12?: boolean\n /** Minute increment for the minutes column. Defaults to `1`. */\n minuteStep?: number\n /** Show the seconds column + `:ss` in the default format. Defaults to `true`; pass `false` to hide seconds. */\n showSeconds?: boolean\n /** Placeholder shown when empty. Defaults to the lowercased `format`. */\n placeholder?: string\n /** Shows a clear (×) button when a value is set. Defaults to `true`. */\n clearable?: boolean\n /** Form field name — auto-binds to a surrounding `<Form>` (value is the time string). */\n name?: string\n /** Id for the input (label association). */\n id?: string\n className?: string\n style?: CSSProperties\n}\n\nfunction defaultFormatFor(hour12: boolean, showSeconds: boolean): string {\n if (hour12) return showSeconds ? 'hh:mm:ss A' : 'hh:mm A'\n return showSeconds ? 'HH:mm:ss' : 'HH:mm'\n}\n\n/** Compares two datetimes by **time of day** only (ignoring the date) at the given precision. */\nfunction sameTime(a: Dayjs, b: Dayjs, unit: 'minute' | 'second'): boolean {\n if (a.hour() !== b.hour() || a.minute() !== b.minute()) return false\n return unit === 'minute' ? true : a.second() === b.second()\n}\n\n/**\n * A time-of-day field with a typed, masked input **and** a popover of scrollable time columns\n * (hour / minute / optional second + AM/PM in 12-hour mode) — the time sibling of `DateTimePicker`,\n * with no calendar. The value is a string in `valueFormat` (UTC, with a `Z`, unless `utc={false}`) —\n * incoming values are parsed leniently (a richer backend time is accepted) and the chosen time emitted\n * in that format. Picking keeps the popover open until you click away, press Escape, or hit Done.\n * Supports `hour12`, `minuteStep`, `showSeconds`, and `clearable`. Controlled (`value` + `onChange`) or\n * uncontrolled (`defaultValue`), and binds to a surrounding `<Form>` by `name`. Requires `dayjs`.\n */\nexport const TimePicker = forwardRef<HTMLInputElement, TimePickerProps>(function TimePicker(\n {\n label,\n size = 'md',\n error,\n helperText,\n required = false,\n fullWidth = true,\n disabled = false,\n value,\n defaultValue,\n onChange,\n format: formatProp,\n valueFormat: valueFormatProp,\n utc = true,\n hour12 = false,\n minuteStep = 1,\n showSeconds = true,\n placeholder,\n clearable = true,\n name,\n id: idProp,\n className,\n style,\n },\n ref,\n) {\n const t = useT()\n const reactId = useId()\n const id = idProp ?? reactId\n const helperId = `${id}-helper`\n const format = formatProp ?? defaultFormatFor(hour12, showSeconds)\n // UTC time-of-day carries a `Z` (\"09:35:00Z\"); `utc={false}` emits the bare wall-clock. Override via `valueFormat`.\n const valueFormat = valueFormatProp ?? (utc ? 'HH:mm:ss[Z]' : 'HH:mm:ss')\n\n // ── value (controlled / form-bound / uncontrolled) — a `valueFormat` time string ────────────────\n const form = useFormContext()\n const isFormBound = Boolean(form && name)\n const bound = isFormBound ? form!.field(name!) : undefined\n const externalValue =\n value !== undefined\n ? value\n : isFormBound\n ? ((form!.values[name!] as string | undefined) ?? '')\n : undefined\n const isControlled = value !== undefined || isFormBound\n const [internal, setInternal] = useState<string>(defaultValue ?? '')\n const currentValue = isControlled ? externalValue! : internal\n // when `utc`, parse the UTC time and show it in the viewer's LOCAL time (value stays UTC, emit\n // converts back); when `utc={false}`, show/emit the value's exact wall-clock (no tz conversion)\n const selected = utc\n ? utcToLocalWall(parseTime(currentValue, valueFormat))\n : parseTime(currentValue, valueFormat)\n\n const resolvedError = error ?? bound?.error ?? false\n const resolvedHelperText = helperText ?? bound?.helperText\n\n const mask = maskFromFormat(format)\n const timeUnit = /s/.test(format) ? 'second' : 'minute'\n\n const commit = (next: string) => {\n if (next === currentValue) return // skip redundant onChange / setValue with an unchanged value\n if (!isControlled) setInternal(next)\n if (isFormBound) form!.setValue(name!, next)\n onChange?.(next)\n }\n\n // emit a time in the wire `valueFormat`, or '' to clear. Re-picking the same time-of-day is a no-op\n const commitTime = (d: Dayjs | null) => {\n if (d && selected && sameTime(d, selected, 'second')) return\n // local-wall → UTC for the wire value (or emit the wall-clock as-is when `utc={false}`)\n commit(d ? (utc ? localWallToUtc(d) : d).format(valueFormat) : '')\n }\n\n // true when `d` differs from the current value at the input's precision — gates typed-input commits\n const changed = (d: Dayjs) => !selected || !sameTime(d, selected, timeUnit)\n\n const [inputText, setInputText] = useState<string>(() =>\n selected ? selected.format(format) : '',\n )\n useEffect(() => {\n setInputText(selected ? selected.format(format) : '')\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [currentValue, format, valueFormat])\n\n // ── popover ────────────────────────────────────────────────────────────────────────────────────\n const triggerRef = useRef<HTMLDivElement | null>(null)\n const inputRef = useRef<HTMLInputElement | null>(null)\n const [open, setOpen] = useState(false)\n\n const setInputRef = useCallback(\n (node: HTMLInputElement | null) => {\n inputRef.current = node\n if (typeof ref === 'function') ref(node)\n else if (ref) (ref as { current: HTMLInputElement | null }).current = node\n },\n [ref],\n )\n\n const fieldBlurRef = useRef<(() => void) | undefined>(undefined)\n fieldBlurRef.current = bound ? () => bound.onBlur({} as FocusEvent<HTMLInputElement>) : undefined\n\n // the floating panel forwards its node here, for the focus-leaves-the-widget check on blur\n const popoverRef = useRef<HTMLDivElement | null>(null)\n\n const closePopover = useCallback((refocus: boolean) => {\n setOpen(false)\n fieldBlurRef.current?.()\n if (refocus) inputRef.current?.focus()\n }, [])\n\n const handleInputChange = (raw: string) => {\n const masked = applyMask(raw, mask)\n setInputText(masked)\n if (masked === '') {\n commit('')\n return\n }\n const parsed = parseInput(masked, format)\n if (parsed && changed(parsed)) commitTime(parsed)\n }\n\n const handleInputBlur = (event: FocusEvent<HTMLInputElement>) => {\n const parsed = parseInput(inputText, format)\n if (inputText === '') {\n commit('')\n } else if (parsed) {\n if (changed(parsed)) commitTime(parsed)\n setInputText(parsed.format(format))\n } else {\n setInputText(selected ? selected.format(format) : '')\n }\n const nextEl = event.relatedTarget as Node | null\n if (nextEl && (popoverRef.current?.contains(nextEl) || triggerRef.current?.contains(nextEl)))\n return\n bound?.onBlur(event)\n }\n\n const handleTimeChange = (next: Dayjs) => commitTime(next)\n\n const iconSize: 'sm' | 'md' = size === 'sm' ? 'sm' : 'md'\n\n return (\n <div\n className={clsx(\n styles.field,\n styles[size],\n fullWidth && styles.fullWidth,\n resolvedError && styles.error,\n disabled && styles.disabled,\n className,\n )}\n style={style}\n >\n {label != null && (\n <label htmlFor={id} className={styles.label}>\n <Typography as=\"span\" variant=\"bodySmall\" color=\"muted\">\n {label}\n </Typography>\n {required && (\n <span className={styles.required} aria-hidden=\"true\">\n *\n </span>\n )}\n </label>\n )}\n\n <div ref={triggerRef} className={clsx(styles.control, open && styles.open)}>\n <input\n ref={setInputRef}\n id={id}\n name={name}\n className={styles.input}\n value={inputText}\n placeholder={placeholder ?? format.toLowerCase()}\n disabled={disabled}\n autoComplete=\"off\"\n aria-invalid={resolvedError || undefined}\n aria-describedby={resolvedHelperText != null ? helperId : undefined}\n onChange={(e) => handleInputChange(e.target.value)}\n onBlur={handleInputBlur}\n />\n\n {clearable && currentValue !== '' && !disabled && (\n <button\n type=\"button\"\n className={styles.clear}\n aria-label={t('timePicker.clear')}\n tabIndex={-1}\n onMouseDown={(e) => e.preventDefault()}\n onClick={() => {\n commit('')\n setInputText('')\n inputRef.current?.focus()\n }}\n >\n <Icon name=\"CloseCircle\" size=\"sm\" />\n </button>\n )}\n\n <IconButton\n type=\"button\"\n variant=\"text\"\n color=\"primary\"\n size={size}\n disabled={disabled}\n aria-label={t('timePicker.open')}\n aria-haspopup=\"dialog\"\n aria-expanded={open}\n className={styles.calendarButton}\n onMouseDown={(e) => e.preventDefault()}\n onClick={() => setOpen((o) => !o)}\n >\n <Icon name=\"Clock\" size={iconSize} />\n </IconButton>\n </div>\n\n <FloatingPanel\n ref={popoverRef}\n open={open}\n triggerRef={triggerRef}\n onClose={closePopover}\n role=\"dialog\"\n ariaLabel=\"Choose time\"\n trapFocus\n className={styles.popover}\n >\n <TimeColumns\n value={selected}\n onChange={handleTimeChange}\n hour12={hour12}\n minuteStep={minuteStep}\n showSeconds={showSeconds}\n autoFocus\n />\n <div className={tp.footer}>\n <Button size=\"sm\" variant=\"filled\" color=\"primary\" onClick={() => closePopover(true)}>\n {t('common.done')}\n </Button>\n </div>\n </FloatingPanel>\n\n {resolvedHelperText != null && (\n <Typography\n as=\"span\"\n id={helperId}\n variant=\"bodySmall\"\n color={resolvedError ? 'error' : 'muted'}\n className={styles.helper}\n >\n {resolvedHelperText}\n </Typography>\n )}\n </div>\n )\n})\n"],"names":["defaultFormatFor","hour12","showSeconds","sameTime","a","b","unit","TimePicker","forwardRef","label","size","error","helperText","required","fullWidth","disabled","value","defaultValue","onChange","formatProp","valueFormatProp","utc","minuteStep","placeholder","clearable","name","idProp","className","style","ref","t","useT","reactId","useId","id","helperId","format","valueFormat","form","useFormContext","isFormBound","bound","externalValue","isControlled","internal","setInternal","useState","currentValue","selected","utcToLocalWall","parseTime","resolvedError","resolvedHelperText","mask","maskFromFormat","timeUnit","commit","next","commitTime","d","localWallToUtc","changed","inputText","setInputText","useEffect","triggerRef","useRef","inputRef","open","setOpen","setInputRef","useCallback","node","fieldBlurRef","popoverRef","closePopover","refocus","_a","_b","handleInputChange","raw","masked","applyMask","parsed","parseInput","handleInputBlur","event","nextEl","handleTimeChange","iconSize","jsxs","clsx","styles","jsx","Typography","Icon","IconButton","o","FloatingPanel","TimeColumns","tp","Button"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const s=require("react/jsx-runtime"),r=require("react"),U=require("clsx"),xe=require("./formContext-bTWrqdEV.cjs"),Te=require("./FloatingPanel-U6sGYiSK.cjs"),Ce=require("./Button-D4bfVNNa.cjs"),O=require("./Icon-CXTl_QAP.cjs"),je=require("./IconButton-D6TenQZ_.cjs"),Z=require("./Typography-BFatE1_A.cjs"),ke=require("./TimeColumns-Duh4DcYJ.cjs"),t=require("./DatePicker.module-tE-tGNBd.cjs"),Ie=require("./ConfigProvider-ByOFXVyP.cjs"),ge="_footer_p1ea2_7",qe={footer:ge};function Fe(u,i){return u?i?"hh:mm:ss A":"hh:mm A":i?"HH:mm:ss":"HH:mm"}function $(u,i,m){return u.hour()!==i.hour()||u.minute()!==i.minute()?!1:m==="minute"?!0:u.second()===i.second()}const Be=r.forwardRef(function({label:i,size:m="md",error:G,helperText:J,required:K=!1,fullWidth:Q=!0,disabled:y=!1,value:k,defaultValue:X,onChange:I,format:Y,valueFormat:ee,utc:g=!0,hour12:S=!1,minuteStep:te=1,showSeconds:_=!0,placeholder:se,clearable:re=!0,name:f,id:oe,className:ne,style:le},p){const q=Ie.useT(),ae=r.useId(),F=oe??ae,E=`${F}-helper`,a=Y??Fe(S,_),v=ee??(g?"HH:mm:ss[Z]":"HH:mm:ss"),x=xe.useFormContext(),T=!!(x&&f),o=T?x.field(f):void 0,ce=k!==void 0?k:T?x.values[f]??"":void 0,L=k!==void 0||T,[ie,ue]=r.useState(X??""),d=L?ce:ie,n=g?t.utcToLocalWall(t.parseTime(d,v)):t.parseTime(d,v),B=G??(o==null?void 0:o.error)??!1,N=J??(o==null?void 0:o.helperText),me=t.maskFromFormat(a),fe=/s/.test(a)?"second":"minute",C=e=>{e!==d&&(L||ue(e),T&&x.setValue(f,e),I==null||I(e))},P=e=>{e&&n&&$(e,n,"second")||C(e?(g?t.localWallToUtc(e):e).format(v):"")},M=e=>!n||!$(e,n,fe),[H,h]=r.useState(()=>n?n.format(a):"");r.useEffect(()=>{h(n?n.format(a):"")},[d,a,v]);const R=r.useRef(null),b=r.useRef(null),[D,V]=r.useState(!1),pe=r.useCallback(e=>{b.current=e,typeof p=="function"?p(e):p&&(p.current=e)},[p]),j=r.useRef(void 0);j.current=o?()=>o.onBlur({}):void 0;const W=r.useRef(null),w=r.useCallback(e=>{var l,c;V(!1),(l=j.current)==null||l.call(j),e&&((c=b.current)==null||c.focus())},[]),de=e=>{const l=t.applyMask(e,me);if(h(l),l===""){C("");return}const c=t.parseInput(l,a);c&&M(c)&&P(c)},he=e=>{var z,A;const l=t.parseInput(H,a);H===""?C(""):l?(M(l)&&P(l),h(l.format(a))):h(n?n.format(a):"");const c=e.relatedTarget;c&&((z=W.current)!=null&&z.contains(c)||(A=R.current)!=null&&A.contains(c))||o==null||o.onBlur(e)},ye=e=>P(e),ve=m==="sm"?"sm":"md";return s.jsxs("div",{className:U.clsx(t.styles.field,t.styles[m],Q&&t.styles.fullWidth,B&&t.styles.error,y&&t.styles.disabled,ne),style:le,children:[i!=null&&s.jsxs("label",{htmlFor:F,className:t.styles.label,children:[s.jsx(Z.Typography,{as:"span",variant:"bodySmall",color:"muted",children:i}),K&&s.jsx("span",{className:t.styles.required,"aria-hidden":"true",children:"*"})]}),s.jsxs("div",{ref:R,className:U.clsx(t.styles.control,D&&t.styles.open),children:[s.jsx("input",{ref:pe,id:F,name:f,className:t.styles.input,value:H,placeholder:se??a.toLowerCase(),disabled:y,autoComplete:"off","aria-invalid":B||void 0,"aria-describedby":N!=null?E:void 0,onChange:e=>de(e.target.value),onBlur:he}),re&&d!==""&&!y&&s.jsx("button",{type:"button",className:t.styles.clear,"aria-label":q("timePicker.clear"),tabIndex:-1,onMouseDown:e=>e.preventDefault(),onClick:()=>{var e;C(""),h(""),(e=b.current)==null||e.focus()},children:s.jsx(O.Icon,{name:"CloseCircle",size:"sm"})}),s.jsx(je.IconButton,{type:"button",variant:"text",color:"primary",size:m,disabled:y,"aria-label":q("timePicker.open"),"aria-haspopup":"dialog","aria-expanded":D,className:t.styles.calendarButton,onMouseDown:e=>e.preventDefault(),onClick:()=>V(e=>!e),children:s.jsx(O.Icon,{name:"Clock",size:ve})})]}),s.jsxs(Te.FloatingPanel,{ref:W,open:D,triggerRef:R,onClose:w,role:"dialog",ariaLabel:"Choose time",trapFocus:!0,className:t.styles.popover,children:[s.jsx(ke.TimeColumns,{value:n,onChange:ye,hour12:S,minuteStep:te,showSeconds:_,autoFocus:!0}),s.jsx("div",{className:qe.footer,children:s.jsx(Ce.Button,{size:"sm",variant:"filled",color:"primary",onClick:()=>w(!0),children:q("common.done")})})]}),N!=null&&s.jsx(Z.Typography,{as:"span",id:E,variant:"bodySmall",color:B?"error":"muted",className:t.styles.helper,children:N})]})});exports.TimePicker=Be;
|
|
2
|
+
//# sourceMappingURL=TimePicker-CfGrCH9T.cjs.map
|