@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,186 @@
|
|
|
1
|
+
import { jsxs as b, jsx as n } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef as dt, useId as mt, useState as M, useRef as ut, useCallback as ft } from "react";
|
|
3
|
+
import { clsx as V } from "clsx";
|
|
4
|
+
import { u as pt } from "./formContext-B7ln1Miy.js";
|
|
5
|
+
import { C as _t } from "./Chip-Cfo0v3Z8.js";
|
|
6
|
+
import { I as ht } from "./Icon-CophpkHo.js";
|
|
7
|
+
import { I as gt } from "./IconButton-CBusrDa9.js";
|
|
8
|
+
import { T as H } from "./Typography-Cta6Rg4L.js";
|
|
9
|
+
import { a as vt } from "./ConfigProvider-2c94kUOk.js";
|
|
10
|
+
const Ft = "_field_10m23_1", bt = "_fullWidth_10m23_7", yt = "_label_10m23_13", Tt = "_required_10m23_20", xt = "_control_10m23_26", It = "_tags_10m23_45", Bt = "_tagsFilled_10m23_60", Nt = "_input_10m23_65", kt = "_addButton_10m23_94", St = "_sm_10m23_102", Ct = "_md_10m23_107", Rt = "_lg_10m23_112", qt = "_error_10m23_118", Et = "_disabled_10m23_128", Wt = "_helper_10m23_138", l = {
|
|
11
|
+
field: Ft,
|
|
12
|
+
fullWidth: bt,
|
|
13
|
+
label: yt,
|
|
14
|
+
required: Tt,
|
|
15
|
+
control: xt,
|
|
16
|
+
tags: It,
|
|
17
|
+
tagsFilled: Bt,
|
|
18
|
+
input: Nt,
|
|
19
|
+
addButton: kt,
|
|
20
|
+
sm: St,
|
|
21
|
+
md: Ct,
|
|
22
|
+
lg: Rt,
|
|
23
|
+
error: qt,
|
|
24
|
+
disabled: Et,
|
|
25
|
+
helper: Wt
|
|
26
|
+
};
|
|
27
|
+
function R(a, m) {
|
|
28
|
+
return (Array.isArray(a) ? a : typeof a == "string" ? m ? a.split(m) : [a] : []).map((y) => y.trim()).filter(Boolean);
|
|
29
|
+
}
|
|
30
|
+
const Ot = dt(function({
|
|
31
|
+
label: m,
|
|
32
|
+
size: h = "md",
|
|
33
|
+
error: y,
|
|
34
|
+
helperText: L,
|
|
35
|
+
required: G = !1,
|
|
36
|
+
fullWidth: J = !0,
|
|
37
|
+
disabled: g = !1,
|
|
38
|
+
value: T,
|
|
39
|
+
defaultValue: q,
|
|
40
|
+
onChange: x,
|
|
41
|
+
separator: i = ",",
|
|
42
|
+
color: O = "primary",
|
|
43
|
+
allowDuplicates: Q = !1,
|
|
44
|
+
placeholder: U,
|
|
45
|
+
addIcon: X,
|
|
46
|
+
addLabel: Y,
|
|
47
|
+
name: u,
|
|
48
|
+
id: Z,
|
|
49
|
+
className: z,
|
|
50
|
+
style: P,
|
|
51
|
+
onKeyDown: d,
|
|
52
|
+
onBlur: I,
|
|
53
|
+
onPaste: B,
|
|
54
|
+
...w
|
|
55
|
+
}, f) {
|
|
56
|
+
const K = mt(), N = Z ?? K, E = `${N}-helper`, v = pt(), p = !!(v && u), r = p ? v.field(u) : void 0, tt = p ? v.values[u] : void 0, k = y ?? (r == null ? void 0 : r.error) ?? !1, S = L ?? (r == null ? void 0 : r.helperText), C = T !== void 0 ? T : p ? tt : void 0, W = T !== void 0 || p, et = vt(), lt = typeof (C !== void 0 ? C : q) == "string", [st, rt] = M(() => R(q, i)), c = W ? R(C, i) : st, [s, $] = M(""), j = ut(null), ot = ft(
|
|
57
|
+
(t) => {
|
|
58
|
+
j.current = t, typeof f == "function" ? f(t) : f && (f.current = t);
|
|
59
|
+
},
|
|
60
|
+
[f]
|
|
61
|
+
), A = (t) => {
|
|
62
|
+
W || rt(t);
|
|
63
|
+
const e = lt ? t.join(i) : t;
|
|
64
|
+
p && v.setValue(u, e), x == null || x(e);
|
|
65
|
+
}, _ = (t) => {
|
|
66
|
+
const e = R(t, i);
|
|
67
|
+
if ($(""), !e.length) return;
|
|
68
|
+
const o = [...c];
|
|
69
|
+
for (const F of e)
|
|
70
|
+
!Q && o.includes(F) || o.push(F);
|
|
71
|
+
o.length !== c.length && A(o);
|
|
72
|
+
}, D = (t) => {
|
|
73
|
+
A(c.filter((e, o) => o !== t));
|
|
74
|
+
}, it = (t) => {
|
|
75
|
+
if (t.nativeEvent.isComposing) {
|
|
76
|
+
d == null || d(t);
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
t.key === "Enter" || i.length === 1 && t.key === i ? (t.preventDefault(), _(s)) : t.key === "Backspace" && s === "" && c.length > 0 && (t.preventDefault(), D(c.length - 1)), d == null || d(t);
|
|
80
|
+
}, ct = (t) => {
|
|
81
|
+
s.trim() && _(s), r == null || r.onBlur(t), I == null || I(t);
|
|
82
|
+
}, nt = (t) => {
|
|
83
|
+
const e = t.clipboardData.getData("text");
|
|
84
|
+
if (e && i && e.includes(i)) {
|
|
85
|
+
t.preventDefault();
|
|
86
|
+
const o = t.currentTarget, F = o.selectionStart ?? s.length, at = o.selectionEnd ?? s.length;
|
|
87
|
+
_(s.slice(0, F) + e + s.slice(at));
|
|
88
|
+
}
|
|
89
|
+
B == null || B(t);
|
|
90
|
+
};
|
|
91
|
+
return /* @__PURE__ */ b(
|
|
92
|
+
"div",
|
|
93
|
+
{
|
|
94
|
+
className: V(
|
|
95
|
+
l.field,
|
|
96
|
+
l[h],
|
|
97
|
+
J && l.fullWidth,
|
|
98
|
+
k && l.error,
|
|
99
|
+
g && l.disabled,
|
|
100
|
+
z
|
|
101
|
+
),
|
|
102
|
+
style: P,
|
|
103
|
+
children: [
|
|
104
|
+
m != null && /* @__PURE__ */ b("label", { htmlFor: N, className: l.label, children: [
|
|
105
|
+
/* @__PURE__ */ n(H, { as: "span", variant: "bodySmall", color: "muted", children: m }),
|
|
106
|
+
G && /* @__PURE__ */ n("span", { className: l.required, "aria-hidden": "true", children: "*" })
|
|
107
|
+
] }),
|
|
108
|
+
/* @__PURE__ */ b("div", { className: l.control, children: [
|
|
109
|
+
/* @__PURE__ */ b(
|
|
110
|
+
"div",
|
|
111
|
+
{
|
|
112
|
+
className: V(l.tags, c.length > 0 && l.tagsFilled),
|
|
113
|
+
onClick: () => {
|
|
114
|
+
var t;
|
|
115
|
+
return (t = j.current) == null ? void 0 : t.focus();
|
|
116
|
+
},
|
|
117
|
+
children: [
|
|
118
|
+
c.map((t, e) => /* @__PURE__ */ n(
|
|
119
|
+
_t,
|
|
120
|
+
{
|
|
121
|
+
size: h,
|
|
122
|
+
color: O,
|
|
123
|
+
disabled: g,
|
|
124
|
+
onDelete: () => D(e),
|
|
125
|
+
deleteLabel: `Remove ${t}`,
|
|
126
|
+
children: t
|
|
127
|
+
},
|
|
128
|
+
`${t}-${e}`
|
|
129
|
+
)),
|
|
130
|
+
/* @__PURE__ */ n(
|
|
131
|
+
"input",
|
|
132
|
+
{
|
|
133
|
+
ref: ot,
|
|
134
|
+
id: N,
|
|
135
|
+
name: u,
|
|
136
|
+
className: l.input,
|
|
137
|
+
value: s,
|
|
138
|
+
placeholder: c.length === 0 ? U : void 0,
|
|
139
|
+
disabled: g,
|
|
140
|
+
"aria-invalid": k || void 0,
|
|
141
|
+
"aria-describedby": S != null ? E : void 0,
|
|
142
|
+
onChange: (t) => $(t.target.value),
|
|
143
|
+
onKeyDown: it,
|
|
144
|
+
onBlur: ct,
|
|
145
|
+
onPaste: nt,
|
|
146
|
+
...w
|
|
147
|
+
}
|
|
148
|
+
)
|
|
149
|
+
]
|
|
150
|
+
}
|
|
151
|
+
),
|
|
152
|
+
/* @__PURE__ */ n(
|
|
153
|
+
gt,
|
|
154
|
+
{
|
|
155
|
+
type: "button",
|
|
156
|
+
variant: "text",
|
|
157
|
+
color: "primary",
|
|
158
|
+
size: h,
|
|
159
|
+
disabled: g || s.trim() === "",
|
|
160
|
+
"aria-label": Y ?? et("tagsField.add"),
|
|
161
|
+
className: l.addButton,
|
|
162
|
+
onMouseDown: (t) => t.preventDefault(),
|
|
163
|
+
onClick: () => _(s),
|
|
164
|
+
children: X ?? /* @__PURE__ */ n(ht, { name: "Add" })
|
|
165
|
+
}
|
|
166
|
+
)
|
|
167
|
+
] }),
|
|
168
|
+
S != null && /* @__PURE__ */ n(
|
|
169
|
+
H,
|
|
170
|
+
{
|
|
171
|
+
as: "span",
|
|
172
|
+
id: E,
|
|
173
|
+
variant: "bodySmall",
|
|
174
|
+
color: k ? "error" : "muted",
|
|
175
|
+
className: l.helper,
|
|
176
|
+
children: S
|
|
177
|
+
}
|
|
178
|
+
)
|
|
179
|
+
]
|
|
180
|
+
}
|
|
181
|
+
);
|
|
182
|
+
});
|
|
183
|
+
export {
|
|
184
|
+
Ot as T
|
|
185
|
+
};
|
|
186
|
+
//# sourceMappingURL=TagsField-BTJcZS9P.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TagsField-BTJcZS9P.js","sources":["../src/components/TagsField/TagsField.tsx"],"sourcesContent":["import {\n forwardRef,\n useCallback,\n useId,\n useRef,\n useState,\n type ClipboardEvent,\n type CSSProperties,\n type FocusEvent,\n type KeyboardEvent,\n type InputHTMLAttributes,\n type ReactNode,\n} from 'react'\nimport { clsx } from 'clsx'\nimport { useFormContext } from '../../form/formContext'\nimport { useT, type ThemeColor } from '../../theme'\nimport { Chip } from '../Chip'\nimport { Icon } from '../Icon'\nimport { IconButton } from '../IconButton'\nimport { Typography } from '../Typography'\nimport styles from './TagsField.module.css'\n\nexport type TagsFieldSize = 'sm' | 'md' | 'lg'\n\n/** Splits a value (array or `separator`-joined string) into trimmed, non-empty tags. */\nfunction toTags(value: string[] | string | undefined, separator: string): string[] {\n const parts = Array.isArray(value)\n ? value\n : typeof value === 'string'\n ? separator\n ? value.split(separator)\n : [value] // empty separator → don't explode into per-character tags\n : []\n return parts.map((t) => t.trim()).filter(Boolean)\n}\n\nexport interface TagsFieldProps extends Omit<\n InputHTMLAttributes<HTMLInputElement>,\n 'size' | 'color' | 'value' | 'defaultValue' | 'onChange'\n> {\n /** Label rendered above the field. */\n label?: ReactNode\n /** Preset size — control height, font and chips. */\n size?: TagsFieldSize\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. */\n required?: boolean\n /** Stretches the field to fill its container width. Defaults to `true`. */\n fullWidth?: boolean\n /** Disables the field (no typing, no add/remove). */\n disabled?: boolean\n /** Controlled value — a `string[]` or a `separator`-joined `string` (e.g. `\"react;typescript\"`). */\n value?: string[] | string\n /** Initial value for uncontrolled use (`string[]` or a joined `string`). */\n defaultValue?: string[] | string\n /** Fires with the next tags, mirroring the input shape: a `string[]`, or a joined `string` when the value is a string. */\n onChange?: (value: string[] | string) => void\n /** Character/string that splits typed & pasted input and joins the value when it's a string. Defaults to `,`. */\n separator?: string\n /** Theme palette token tinting the tag chips. Defaults to `primary`. */\n color?: ThemeColor\n /** Allow the same tag more than once. Off by default (duplicates are ignored). */\n allowDuplicates?: boolean\n /** Placeholder shown in the input while there are no tags. */\n placeholder?: string\n /** Icon for the add button. Defaults to an `Add` icon. */\n addIcon?: ReactNode\n /** Accessible label for the add button. Defaults to `\"Add tag\"`. */\n addLabel?: string\n}\n\n/**\n * A tags / token input. Type a value and press **Enter**, the **add button**, or the `separator`\n * key to commit it as a tag; remove a tag via its chip's delete button (or Backspace on the empty\n * input). The **`separator`** (default `,`) also splits pasted text, so pasting `\"react;typescript\"`\n * (with `separator=\";\"`) adds both at once. The value accepts — and `onChange` mirrors — **either a\n * `string[]` or a `separator`-joined `string`**, so it binds to a `<Form>` schema of either shape.\n * Shares TextField's chrome (label, helper/error, sizes, `<Form>` binding by `name` for validation).\n * Controlled (`value` + `onChange`) or uncontrolled (`defaultValue`). Token-only styling.\n */\nexport const TagsField = forwardRef<HTMLInputElement, TagsFieldProps>(function TagsField(\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 separator = ',',\n color = 'primary',\n allowDuplicates = false,\n placeholder,\n addIcon,\n addLabel,\n name,\n id: idProp,\n className,\n style,\n onKeyDown,\n onBlur,\n onPaste,\n ...props\n },\n ref,\n) {\n const reactId = useId()\n const id = idProp ?? reactId\n const helperId = `${id}-helper`\n\n // Auto-bind to a surrounding <Form> by `name`. error/helper/onBlur come from field(), but the VALUE\n // is read RAW from `form.values` — field().value is always String-coerced, which would flatten a\n // `string[]` into a joined string and break an array schema. Same pattern as NumberField/ColorPicker.\n const form = useFormContext()\n const isFormBound = Boolean(form && name)\n const bound = isFormBound ? form!.field(name!) : undefined\n const rawFormValue = isFormBound\n ? (form!.values[name!] as string[] | string | undefined)\n : undefined\n\n const resolvedError = error ?? bound?.error ?? false\n const resolvedHelperText = helperText ?? bound?.helperText\n\n const externalValue = value !== undefined ? value : isFormBound ? rawFormValue : undefined\n const isControlled = value !== undefined || isFormBound\n // Mirror the value's shape on output: a joined string when the source is a string, else an array.\n const t = useT()\n const shapeSource = externalValue !== undefined ? externalValue : defaultValue\n const stringMode = typeof shapeSource === 'string'\n\n const [internal, setInternal] = useState<string[]>(() => toTags(defaultValue, separator))\n const tags = isControlled ? toTags(externalValue, separator) : internal\n\n const [input, setInput] = useState('')\n\n const inputRef = useRef<HTMLInputElement | null>(null)\n const setRef = 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 commit = (nextTags: string[]) => {\n if (!isControlled) setInternal(nextTags)\n const out: string[] | string = stringMode ? nextTags.join(separator) : nextTags\n if (isFormBound) form!.setValue(name!, out)\n onChange?.(out)\n }\n\n const addTags = (raw: string) => {\n const parts = toTags(raw, separator)\n setInput('')\n if (!parts.length) return\n const next = [...tags]\n for (const part of parts) {\n if (!allowDuplicates && next.includes(part)) continue\n next.push(part)\n }\n if (next.length !== tags.length) commit(next)\n }\n\n const removeTag = (index: number) => {\n commit(tags.filter((_, i) => i !== index))\n }\n\n const handleKeyDown = (event: KeyboardEvent<HTMLInputElement>) => {\n // while an IME is composing (CJK etc.), Enter/separator confirm the candidate — not a commit\n if (event.nativeEvent.isComposing) {\n onKeyDown?.(event)\n return\n }\n if (event.key === 'Enter') {\n event.preventDefault()\n addTags(input)\n } else if (separator.length === 1 && event.key === separator) {\n event.preventDefault()\n addTags(input)\n } else if (event.key === 'Backspace' && input === '' && tags.length > 0) {\n event.preventDefault()\n removeTag(tags.length - 1)\n }\n onKeyDown?.(event)\n }\n\n const handleBlur = (event: FocusEvent<HTMLInputElement>) => {\n if (input.trim()) addTags(input) // don't lose a typed-but-not-committed tag\n bound?.onBlur(event)\n onBlur?.(event)\n }\n\n const handlePaste = (event: ClipboardEvent<HTMLInputElement>) => {\n const text = event.clipboardData.getData('text')\n if (text && separator && text.includes(separator)) {\n event.preventDefault()\n // splice the pasted, separator-delimited text into the input at the caret/selection\n const el = event.currentTarget\n const start = el.selectionStart ?? input.length\n const end = el.selectionEnd ?? input.length\n addTags(input.slice(0, start) + text + input.slice(end))\n }\n onPaste?.(event)\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 className={styles.control}>\n {/* clicking anywhere in the tag area focuses the input */}\n <div\n className={clsx(styles.tags, tags.length > 0 && styles.tagsFilled)}\n onClick={() => inputRef.current?.focus()}\n >\n {tags.map((tag, index) => (\n <Chip\n key={`${tag}-${index}`}\n size={size}\n color={color}\n disabled={disabled}\n onDelete={() => removeTag(index)}\n deleteLabel={`Remove ${tag}`}\n >\n {tag}\n </Chip>\n ))}\n <input\n ref={setRef}\n id={id}\n name={name}\n className={styles.input}\n value={input}\n placeholder={tags.length === 0 ? placeholder : undefined}\n disabled={disabled}\n aria-invalid={resolvedError || undefined}\n aria-describedby={resolvedHelperText != null ? helperId : undefined}\n onChange={(event) => setInput(event.target.value)}\n onKeyDown={handleKeyDown}\n onBlur={handleBlur}\n onPaste={handlePaste}\n {...props}\n />\n </div>\n <IconButton\n type=\"button\"\n variant=\"text\"\n color=\"primary\"\n size={size}\n disabled={disabled || input.trim() === ''}\n aria-label={addLabel ?? t('tagsField.add')}\n className={styles.addButton}\n // keep the input's focus ring while clicking add (don't steal focus → blur → double add)\n onMouseDown={(event) => event.preventDefault()}\n onClick={() => addTags(input)}\n >\n {addIcon ?? <Icon name=\"Add\" />}\n </IconButton>\n </div>\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":["toTags","value","separator","t","TagsField","forwardRef","label","size","error","helperText","required","fullWidth","disabled","defaultValue","onChange","color","allowDuplicates","placeholder","addIcon","addLabel","name","idProp","className","style","onKeyDown","onBlur","onPaste","props","ref","reactId","useId","id","helperId","form","useFormContext","isFormBound","bound","rawFormValue","resolvedError","resolvedHelperText","externalValue","isControlled","useT","stringMode","internal","setInternal","useState","tags","input","setInput","inputRef","useRef","setRef","useCallback","node","commit","nextTags","out","addTags","raw","parts","next","part","removeTag","index","_","i","handleKeyDown","event","handleBlur","handlePaste","text","el","start","end","jsxs","clsx","styles","jsx","Typography","_a","tag","Chip","IconButton","Icon"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const r=require("react/jsx-runtime"),u=require("react"),M=require("clsx"),at=require("./formContext-bTWrqdEV.cjs"),dt=require("./Chip-DSrdXLBU.cjs"),ut=require("./Icon-CXTl_QAP.cjs"),mt=require("./IconButton-D6TenQZ_.cjs"),V=require("./Typography-BFatE1_A.cjs"),ft=require("./ConfigProvider-ByOFXVyP.cjs"),_t="_field_10m23_1",pt="_fullWidth_10m23_7",ht="_label_10m23_13",gt="_required_10m23_20",xt="_control_10m23_26",yt="_tags_10m23_45",jt="_tagsFilled_10m23_60",qt="_input_10m23_65",vt="_addButton_10m23_94",Ft="_sm_10m23_102",Tt="_md_10m23_107",bt="_lg_10m23_112",Bt="_error_10m23_118",It="_disabled_10m23_128",Nt="_helper_10m23_138",s={field:_t,fullWidth:pt,label:ht,required:gt,control:xt,tags:yt,tagsFilled:jt,input:qt,addButton:vt,sm:Ft,md:Tt,lg:bt,error:Bt,disabled:It,helper:Nt};function C(a,m){return(Array.isArray(a)?a:typeof a=="string"?m?a.split(m):[a]:[]).map(q=>q.trim()).filter(Boolean)}const kt=u.forwardRef(function({label:m,size:g="md",error:q,helperText:H,required:L=!1,fullWidth:G=!0,disabled:x=!1,value:v,defaultValue:S,onChange:F,separator:n=",",color:J="primary",allowDuplicates:O=!1,placeholder:Q,addIcon:U,addLabel:X,name:f,id:Y,className:Z,style:P,onKeyDown:d,onBlur:T,onPaste:b,...z},_){const w=u.useId(),B=Y??w,R=`${B}-helper`,y=at.useFormContext(),p=!!(y&&f),i=p?y.field(f):void 0,K=p?y.values[f]:void 0,I=q??(i==null?void 0:i.error)??!1,N=H??(i==null?void 0:i.helperText),k=v!==void 0?v:p?K:void 0,E=v!==void 0||p,tt=ft.useT(),et=typeof(k!==void 0?k:S)=="string",[st,lt]=u.useState(()=>C(S,n)),o=E?C(k,n):st,[l,W]=u.useState(""),$=u.useRef(null),rt=u.useCallback(t=>{$.current=t,typeof _=="function"?_(t):_&&(_.current=t)},[_]),A=t=>{E||lt(t);const e=et?t.join(n):t;p&&y.setValue(f,e),F==null||F(e)},h=t=>{const e=C(t,n);if(W(""),!e.length)return;const c=[...o];for(const j of e)!O&&c.includes(j)||c.push(j);c.length!==o.length&&A(c)},D=t=>{A(o.filter((e,c)=>c!==t))},it=t=>{if(t.nativeEvent.isComposing){d==null||d(t);return}t.key==="Enter"||n.length===1&&t.key===n?(t.preventDefault(),h(l)):t.key==="Backspace"&&l===""&&o.length>0&&(t.preventDefault(),D(o.length-1)),d==null||d(t)},ct=t=>{l.trim()&&h(l),i==null||i.onBlur(t),T==null||T(t)},nt=t=>{const e=t.clipboardData.getData("text");if(e&&n&&e.includes(n)){t.preventDefault();const c=t.currentTarget,j=c.selectionStart??l.length,ot=c.selectionEnd??l.length;h(l.slice(0,j)+e+l.slice(ot))}b==null||b(t)};return r.jsxs("div",{className:M.clsx(s.field,s[g],G&&s.fullWidth,I&&s.error,x&&s.disabled,Z),style:P,children:[m!=null&&r.jsxs("label",{htmlFor:B,className:s.label,children:[r.jsx(V.Typography,{as:"span",variant:"bodySmall",color:"muted",children:m}),L&&r.jsx("span",{className:s.required,"aria-hidden":"true",children:"*"})]}),r.jsxs("div",{className:s.control,children:[r.jsxs("div",{className:M.clsx(s.tags,o.length>0&&s.tagsFilled),onClick:()=>{var t;return(t=$.current)==null?void 0:t.focus()},children:[o.map((t,e)=>r.jsx(dt.Chip,{size:g,color:J,disabled:x,onDelete:()=>D(e),deleteLabel:`Remove ${t}`,children:t},`${t}-${e}`)),r.jsx("input",{ref:rt,id:B,name:f,className:s.input,value:l,placeholder:o.length===0?Q:void 0,disabled:x,"aria-invalid":I||void 0,"aria-describedby":N!=null?R:void 0,onChange:t=>W(t.target.value),onKeyDown:it,onBlur:ct,onPaste:nt,...z})]}),r.jsx(mt.IconButton,{type:"button",variant:"text",color:"primary",size:g,disabled:x||l.trim()==="","aria-label":X??tt("tagsField.add"),className:s.addButton,onMouseDown:t=>t.preventDefault(),onClick:()=>h(l),children:U??r.jsx(ut.Icon,{name:"Add"})})]}),N!=null&&r.jsx(V.Typography,{as:"span",id:R,variant:"bodySmall",color:I?"error":"muted",className:s.helper,children:N})]})});exports.TagsField=kt;
|
|
2
|
+
//# sourceMappingURL=TagsField-kknWiJZZ.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TagsField-kknWiJZZ.cjs","sources":["../src/components/TagsField/TagsField.tsx"],"sourcesContent":["import {\n forwardRef,\n useCallback,\n useId,\n useRef,\n useState,\n type ClipboardEvent,\n type CSSProperties,\n type FocusEvent,\n type KeyboardEvent,\n type InputHTMLAttributes,\n type ReactNode,\n} from 'react'\nimport { clsx } from 'clsx'\nimport { useFormContext } from '../../form/formContext'\nimport { useT, type ThemeColor } from '../../theme'\nimport { Chip } from '../Chip'\nimport { Icon } from '../Icon'\nimport { IconButton } from '../IconButton'\nimport { Typography } from '../Typography'\nimport styles from './TagsField.module.css'\n\nexport type TagsFieldSize = 'sm' | 'md' | 'lg'\n\n/** Splits a value (array or `separator`-joined string) into trimmed, non-empty tags. */\nfunction toTags(value: string[] | string | undefined, separator: string): string[] {\n const parts = Array.isArray(value)\n ? value\n : typeof value === 'string'\n ? separator\n ? value.split(separator)\n : [value] // empty separator → don't explode into per-character tags\n : []\n return parts.map((t) => t.trim()).filter(Boolean)\n}\n\nexport interface TagsFieldProps extends Omit<\n InputHTMLAttributes<HTMLInputElement>,\n 'size' | 'color' | 'value' | 'defaultValue' | 'onChange'\n> {\n /** Label rendered above the field. */\n label?: ReactNode\n /** Preset size — control height, font and chips. */\n size?: TagsFieldSize\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. */\n required?: boolean\n /** Stretches the field to fill its container width. Defaults to `true`. */\n fullWidth?: boolean\n /** Disables the field (no typing, no add/remove). */\n disabled?: boolean\n /** Controlled value — a `string[]` or a `separator`-joined `string` (e.g. `\"react;typescript\"`). */\n value?: string[] | string\n /** Initial value for uncontrolled use (`string[]` or a joined `string`). */\n defaultValue?: string[] | string\n /** Fires with the next tags, mirroring the input shape: a `string[]`, or a joined `string` when the value is a string. */\n onChange?: (value: string[] | string) => void\n /** Character/string that splits typed & pasted input and joins the value when it's a string. Defaults to `,`. */\n separator?: string\n /** Theme palette token tinting the tag chips. Defaults to `primary`. */\n color?: ThemeColor\n /** Allow the same tag more than once. Off by default (duplicates are ignored). */\n allowDuplicates?: boolean\n /** Placeholder shown in the input while there are no tags. */\n placeholder?: string\n /** Icon for the add button. Defaults to an `Add` icon. */\n addIcon?: ReactNode\n /** Accessible label for the add button. Defaults to `\"Add tag\"`. */\n addLabel?: string\n}\n\n/**\n * A tags / token input. Type a value and press **Enter**, the **add button**, or the `separator`\n * key to commit it as a tag; remove a tag via its chip's delete button (or Backspace on the empty\n * input). The **`separator`** (default `,`) also splits pasted text, so pasting `\"react;typescript\"`\n * (with `separator=\";\"`) adds both at once. The value accepts — and `onChange` mirrors — **either a\n * `string[]` or a `separator`-joined `string`**, so it binds to a `<Form>` schema of either shape.\n * Shares TextField's chrome (label, helper/error, sizes, `<Form>` binding by `name` for validation).\n * Controlled (`value` + `onChange`) or uncontrolled (`defaultValue`). Token-only styling.\n */\nexport const TagsField = forwardRef<HTMLInputElement, TagsFieldProps>(function TagsField(\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 separator = ',',\n color = 'primary',\n allowDuplicates = false,\n placeholder,\n addIcon,\n addLabel,\n name,\n id: idProp,\n className,\n style,\n onKeyDown,\n onBlur,\n onPaste,\n ...props\n },\n ref,\n) {\n const reactId = useId()\n const id = idProp ?? reactId\n const helperId = `${id}-helper`\n\n // Auto-bind to a surrounding <Form> by `name`. error/helper/onBlur come from field(), but the VALUE\n // is read RAW from `form.values` — field().value is always String-coerced, which would flatten a\n // `string[]` into a joined string and break an array schema. Same pattern as NumberField/ColorPicker.\n const form = useFormContext()\n const isFormBound = Boolean(form && name)\n const bound = isFormBound ? form!.field(name!) : undefined\n const rawFormValue = isFormBound\n ? (form!.values[name!] as string[] | string | undefined)\n : undefined\n\n const resolvedError = error ?? bound?.error ?? false\n const resolvedHelperText = helperText ?? bound?.helperText\n\n const externalValue = value !== undefined ? value : isFormBound ? rawFormValue : undefined\n const isControlled = value !== undefined || isFormBound\n // Mirror the value's shape on output: a joined string when the source is a string, else an array.\n const t = useT()\n const shapeSource = externalValue !== undefined ? externalValue : defaultValue\n const stringMode = typeof shapeSource === 'string'\n\n const [internal, setInternal] = useState<string[]>(() => toTags(defaultValue, separator))\n const tags = isControlled ? toTags(externalValue, separator) : internal\n\n const [input, setInput] = useState('')\n\n const inputRef = useRef<HTMLInputElement | null>(null)\n const setRef = 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 commit = (nextTags: string[]) => {\n if (!isControlled) setInternal(nextTags)\n const out: string[] | string = stringMode ? nextTags.join(separator) : nextTags\n if (isFormBound) form!.setValue(name!, out)\n onChange?.(out)\n }\n\n const addTags = (raw: string) => {\n const parts = toTags(raw, separator)\n setInput('')\n if (!parts.length) return\n const next = [...tags]\n for (const part of parts) {\n if (!allowDuplicates && next.includes(part)) continue\n next.push(part)\n }\n if (next.length !== tags.length) commit(next)\n }\n\n const removeTag = (index: number) => {\n commit(tags.filter((_, i) => i !== index))\n }\n\n const handleKeyDown = (event: KeyboardEvent<HTMLInputElement>) => {\n // while an IME is composing (CJK etc.), Enter/separator confirm the candidate — not a commit\n if (event.nativeEvent.isComposing) {\n onKeyDown?.(event)\n return\n }\n if (event.key === 'Enter') {\n event.preventDefault()\n addTags(input)\n } else if (separator.length === 1 && event.key === separator) {\n event.preventDefault()\n addTags(input)\n } else if (event.key === 'Backspace' && input === '' && tags.length > 0) {\n event.preventDefault()\n removeTag(tags.length - 1)\n }\n onKeyDown?.(event)\n }\n\n const handleBlur = (event: FocusEvent<HTMLInputElement>) => {\n if (input.trim()) addTags(input) // don't lose a typed-but-not-committed tag\n bound?.onBlur(event)\n onBlur?.(event)\n }\n\n const handlePaste = (event: ClipboardEvent<HTMLInputElement>) => {\n const text = event.clipboardData.getData('text')\n if (text && separator && text.includes(separator)) {\n event.preventDefault()\n // splice the pasted, separator-delimited text into the input at the caret/selection\n const el = event.currentTarget\n const start = el.selectionStart ?? input.length\n const end = el.selectionEnd ?? input.length\n addTags(input.slice(0, start) + text + input.slice(end))\n }\n onPaste?.(event)\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 className={styles.control}>\n {/* clicking anywhere in the tag area focuses the input */}\n <div\n className={clsx(styles.tags, tags.length > 0 && styles.tagsFilled)}\n onClick={() => inputRef.current?.focus()}\n >\n {tags.map((tag, index) => (\n <Chip\n key={`${tag}-${index}`}\n size={size}\n color={color}\n disabled={disabled}\n onDelete={() => removeTag(index)}\n deleteLabel={`Remove ${tag}`}\n >\n {tag}\n </Chip>\n ))}\n <input\n ref={setRef}\n id={id}\n name={name}\n className={styles.input}\n value={input}\n placeholder={tags.length === 0 ? placeholder : undefined}\n disabled={disabled}\n aria-invalid={resolvedError || undefined}\n aria-describedby={resolvedHelperText != null ? helperId : undefined}\n onChange={(event) => setInput(event.target.value)}\n onKeyDown={handleKeyDown}\n onBlur={handleBlur}\n onPaste={handlePaste}\n {...props}\n />\n </div>\n <IconButton\n type=\"button\"\n variant=\"text\"\n color=\"primary\"\n size={size}\n disabled={disabled || input.trim() === ''}\n aria-label={addLabel ?? t('tagsField.add')}\n className={styles.addButton}\n // keep the input's focus ring while clicking add (don't steal focus → blur → double add)\n onMouseDown={(event) => event.preventDefault()}\n onClick={() => addTags(input)}\n >\n {addIcon ?? <Icon name=\"Add\" />}\n </IconButton>\n </div>\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":["toTags","value","separator","t","TagsField","forwardRef","label","size","error","helperText","required","fullWidth","disabled","defaultValue","onChange","color","allowDuplicates","placeholder","addIcon","addLabel","name","idProp","className","style","onKeyDown","onBlur","onPaste","props","ref","reactId","useId","id","helperId","form","useFormContext","isFormBound","bound","rawFormValue","resolvedError","resolvedHelperText","externalValue","isControlled","useT","stringMode","internal","setInternal","useState","tags","input","setInput","inputRef","useRef","setRef","useCallback","node","commit","nextTags","out","addTags","raw","parts","next","part","removeTag","index","_","i","handleKeyDown","event","handleBlur","handlePaste","text","el","start","end","jsxs","clsx","styles","jsx","Typography","_a","tag","Chip","IconButton","Icon"],"mappings":"iyBAyBA,SAASA,EAAOC,EAAsCC,EAA6B,CAQjF,OAPc,MAAM,QAAQD,CAAK,EAC7BA,EACA,OAAOA,GAAU,SACfC,EACED,EAAM,MAAMC,CAAS,EACrB,CAACD,CAAK,EACR,CAAA,GACO,IAAKE,GAAMA,EAAE,KAAA,CAAM,EAAE,OAAO,OAAO,CAClD,CAiDO,MAAMC,GAAYC,EAAAA,WAA6C,SACpE,CACE,MAAAC,EACA,KAAAC,EAAO,KACP,MAAAC,EACA,WAAAC,EACA,SAAAC,EAAW,GACX,UAAAC,EAAY,GACZ,SAAAC,EAAW,GACX,MAAAX,EACA,aAAAY,EACA,SAAAC,EACA,UAAAZ,EAAY,IACZ,MAAAa,EAAQ,UACR,gBAAAC,EAAkB,GAClB,YAAAC,EACA,QAAAC,EACA,SAAAC,EACA,KAAAC,EACA,GAAIC,EACJ,UAAAC,EACA,MAAAC,EACA,UAAAC,EACA,OAAAC,EACA,QAAAC,EACA,GAAGC,CACL,EACAC,EACA,CACA,MAAMC,EAAUC,EAAAA,MAAA,EACVC,EAAKV,GAAUQ,EACfG,EAAW,GAAGD,CAAE,UAKhBE,EAAOC,GAAAA,eAAA,EACPC,EAAc,GAAQF,GAAQb,GAC9BgB,EAAQD,EAAcF,EAAM,MAAMb,CAAK,EAAI,OAC3CiB,EAAeF,EAChBF,EAAM,OAAOb,CAAK,EACnB,OAEEkB,EAAgB9B,IAAS4B,GAAA,YAAAA,EAAO,QAAS,GACzCG,EAAqB9B,IAAc2B,GAAA,YAAAA,EAAO,YAE1CI,EAAgBvC,IAAU,OAAYA,EAAQkC,EAAcE,EAAe,OAC3EI,EAAexC,IAAU,QAAakC,EAEtChC,GAAIuC,GAAAA,KAAA,EAEJC,GAAa,OADCH,IAAkB,OAAYA,EAAgB3B,IACxB,SAEpC,CAAC+B,GAAUC,EAAW,EAAIC,EAAAA,SAAmB,IAAM9C,EAAOa,EAAcX,CAAS,CAAC,EAClF6C,EAAON,EAAezC,EAAOwC,EAAetC,CAAS,EAAI0C,GAEzD,CAACI,EAAOC,CAAQ,EAAIH,EAAAA,SAAS,EAAE,EAE/BI,EAAWC,EAAAA,OAAgC,IAAI,EAC/CC,GAASC,EAAAA,YACZC,GAAkC,CACjCJ,EAAS,QAAUI,EACf,OAAO1B,GAAQ,WAAYA,EAAI0B,CAAI,EAC9B1B,IAAMA,EAA6C,QAAU0B,EACxE,EACA,CAAC1B,CAAG,CAAA,EAGA2B,EAAUC,GAAuB,CAChCf,GAAcI,GAAYW,CAAQ,EACvC,MAAMC,EAAyBd,GAAaa,EAAS,KAAKtD,CAAS,EAAIsD,EACnErB,GAAaF,EAAM,SAASb,EAAOqC,CAAG,EAC1C3C,GAAA,MAAAA,EAAW2C,EACb,EAEMC,EAAWC,GAAgB,CAC/B,MAAMC,EAAQ5D,EAAO2D,EAAKzD,CAAS,EAEnC,GADA+C,EAAS,EAAE,EACP,CAACW,EAAM,OAAQ,OACnB,MAAMC,EAAO,CAAC,GAAGd,CAAI,EACrB,UAAWe,KAAQF,EACb,CAAC5C,GAAmB6C,EAAK,SAASC,CAAI,GAC1CD,EAAK,KAAKC,CAAI,EAEZD,EAAK,SAAWd,EAAK,UAAec,CAAI,CAC9C,EAEME,EAAaC,GAAkB,CACnCT,EAAOR,EAAK,OAAO,CAACkB,EAAGC,IAAMA,IAAMF,CAAK,CAAC,CAC3C,EAEMG,GAAiBC,GAA2C,CAEhE,GAAIA,EAAM,YAAY,YAAa,CACjC5C,GAAA,MAAAA,EAAY4C,GACZ,MACF,CACIA,EAAM,MAAQ,SAGPlE,EAAU,SAAW,GAAKkE,EAAM,MAAQlE,GAFjDkE,EAAM,eAAA,EACNV,EAAQV,CAAK,GAIJoB,EAAM,MAAQ,aAAepB,IAAU,IAAMD,EAAK,OAAS,IACpEqB,EAAM,eAAA,EACNL,EAAUhB,EAAK,OAAS,CAAC,GAE3BvB,GAAA,MAAAA,EAAY4C,EACd,EAEMC,GAAcD,GAAwC,CACtDpB,EAAM,QAAQU,EAAQV,CAAK,EAC/BZ,GAAA,MAAAA,EAAO,OAAOgC,GACd3C,GAAA,MAAAA,EAAS2C,EACX,EAEME,GAAeF,GAA4C,CAC/D,MAAMG,EAAOH,EAAM,cAAc,QAAQ,MAAM,EAC/C,GAAIG,GAAQrE,GAAaqE,EAAK,SAASrE,CAAS,EAAG,CACjDkE,EAAM,eAAA,EAEN,MAAMI,EAAKJ,EAAM,cACXK,EAAQD,EAAG,gBAAkBxB,EAAM,OACnC0B,GAAMF,EAAG,cAAgBxB,EAAM,OACrCU,EAAQV,EAAM,MAAM,EAAGyB,CAAK,EAAIF,EAAOvB,EAAM,MAAM0B,EAAG,CAAC,CACzD,CACAhD,GAAA,MAAAA,EAAU0C,EACZ,EAEA,OACEO,EAAAA,KAAC,MAAA,CACC,UAAWC,EAAAA,KACTC,EAAO,MACPA,EAAOtE,CAAI,EACXI,GAAakE,EAAO,UACpBvC,GAAiBuC,EAAO,MACxBjE,GAAYiE,EAAO,SACnBvD,CAAA,EAEF,MAAAC,EAEC,SAAA,CAAAjB,GAAS,MACRqE,OAAC,QAAA,CAAM,QAAS5C,EAAI,UAAW8C,EAAO,MACpC,SAAA,CAAAC,EAAAA,IAACC,EAAAA,YAAW,GAAG,OAAO,QAAQ,YAAY,MAAM,QAC7C,SAAAzE,CAAA,CACH,EACCI,SACE,OAAA,CAAK,UAAWmE,EAAO,SAAU,cAAY,OAAO,SAAA,GAAA,CAErD,CAAA,EAEJ,EAGFF,EAAAA,KAAC,MAAA,CAAI,UAAWE,EAAO,QAErB,SAAA,CAAAF,EAAAA,KAAC,MAAA,CACC,UAAWC,EAAAA,KAAKC,EAAO,KAAM9B,EAAK,OAAS,GAAK8B,EAAO,UAAU,EACjE,QAAS,IAAA,OAAM,OAAAG,EAAA9B,EAAS,UAAT,YAAA8B,EAAkB,SAEhC,SAAA,CAAAjC,EAAK,IAAI,CAACkC,EAAKjB,IACdc,EAAAA,IAACI,GAAAA,KAAA,CAEC,KAAA3E,EACA,MAAAQ,EACA,SAAAH,EACA,SAAU,IAAMmD,EAAUC,CAAK,EAC/B,YAAa,UAAUiB,CAAG,GAEzB,SAAAA,CAAA,EAPI,GAAGA,CAAG,IAAIjB,CAAK,EAAA,CASvB,EACDc,EAAAA,IAAC,QAAA,CACC,IAAK1B,GACL,GAAArB,EACA,KAAAX,EACA,UAAWyD,EAAO,MAClB,MAAO7B,EACP,YAAaD,EAAK,SAAW,EAAI9B,EAAc,OAC/C,SAAAL,EACA,eAAc0B,GAAiB,OAC/B,mBAAkBC,GAAsB,KAAOP,EAAW,OAC1D,SAAWoC,GAAUnB,EAASmB,EAAM,OAAO,KAAK,EAChD,UAAWD,GACX,OAAQE,GACR,QAASC,GACR,GAAG3C,CAAA,CAAA,CACN,CAAA,CAAA,EAEFmD,EAAAA,IAACK,GAAAA,WAAA,CACC,KAAK,SACL,QAAQ,OACR,MAAM,UACN,KAAA5E,EACA,SAAUK,GAAYoC,EAAM,KAAA,IAAW,GACvC,aAAY7B,GAAYhB,GAAE,eAAe,EACzC,UAAW0E,EAAO,UAElB,YAAcT,GAAUA,EAAM,eAAA,EAC9B,QAAS,IAAMV,EAAQV,CAAK,EAE3B,SAAA9B,GAAW4D,EAAAA,IAACM,GAAAA,KAAA,CAAK,KAAK,KAAA,CAAM,CAAA,CAAA,CAC/B,EACF,EAEC7C,GAAsB,MACrBuC,EAAAA,IAACC,EAAAA,WAAA,CACC,GAAG,OACH,GAAI/C,EACJ,QAAQ,YACR,MAAOM,EAAgB,QAAU,QACjC,UAAWuC,EAAO,OAEjB,SAAAtC,CAAA,CAAA,CACH,CAAA,CAAA,CAIR,CAAC"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const r=require("react/jsx-runtime"),d=require("react"),X=require("clsx"),Re=require("./formContext-bTWrqdEV.cjs"),Y=require("./Icon-CXTl_QAP.cjs"),U=require("./IconButton-D6TenQZ_.cjs"),T=require("./Typography-BFatE1_A.cjs"),s=require("./TextField.module-m-UllwzG.cjs"),qe=require("./ConfigProvider-ByOFXVyP.cjs"),ee={9:/[0-9]/,a:/[A-Za-z]/,"*":/[A-Za-z0-9]/};function Be(t,n){let o="",l=0;for(const c of n){const p=ee[c];if(p){for(;l<t.length&&!p.test(t[l]);)l++;if(l>=t.length)break;o+=t[l],l++}else{if(l>=t.length)break;t[l]===c&&l++,o+=c}}return o}function ke(t,n){const o=new Set([...n].filter(l=>!ee[l]));return[...t].filter(l=>!o.has(l)).join("")}const Ee=/[A-Za-z0-9]/;function Me(t,n){const o=(t.match(/[A-Za-z0-9]/g)??[]).length;if(o<=0)return 0;let l=0;for(let c=0;c<n.length;c++)if(Ee.test(n[c])&&(l+=1,l===o))return c+1;return n.length}function Pe(t){if(!t)return 0;let n=0;return t.length>=8&&(n+=1),/[a-z]/.test(t)&&/[A-Z]/.test(t)&&(n+=1),/\d/.test(t)&&(n+=1),/[^A-Za-z0-9]/.test(t)&&(n+=1),n}function ze(t){return t<=0?null:t===1?"weak":t===2?"medium":"strong"}const I={weak:{labelKey:"textField.strengthWeak",color:"error",bars:1},medium:{labelKey:"textField.strengthMedium",color:"warning",bars:2},strong:{labelKey:"textField.strengthStrong",color:"success",bars:3}},Le=d.forwardRef(function({label:n,size:o="md",error:l,helperText:c,required:p=!1,fullWidth:te=!0,adornment:se,adornmentPosition:le="left",onAdornmentClick:re,adornmentLabel:ne,regex:Z,mask:S,passwordToggle:ie=!0,capsLockWarning:b=!1,passwordStrength:oe=!1,name:F,value:C,defaultValue:w,onChange:R,onBlur:q,onFocus:ae,onKeyDown:B,onKeyUp:k,disabled:j=!1,type:O,id:ce,className:de,style:fe,...ue},h){const y=qe.useT(),he=d.useId(),m=ce??he,$=`${m}-helper`,_=Re.useFormContext(),i=_&&F?_.field(F):void 0,E=l??(i==null?void 0:i.error)??!1,M=c??(i==null?void 0:i.helperText),ye=C!==void 0||i!==void 0,[me,ge]=d.useState(w!=null?String(w):""),G=C!==void 0?C:i?i.value:me,H=d.useRef(null),xe=d.useCallback(e=>{H.current=e,typeof h=="function"?h(e):h&&(h.current=e)},[h]),v=d.useRef(null);d.useLayoutEffect(()=>{var a;const e=v.current;e!=null&&(v.current=null,(a=H.current)==null||a.setSelectionRange(e,e))});const pe=e=>{const a=e.target;let u=a.value;if(S){const L=a.selectionStart??a.value.length,Ce=a.value.slice(0,L);u=Be(u,S),v.current=Me(Ce,u)}if(Z){const L=S?ke(u,S):u;if(!Z.test(L)){v.current=null;return}}ye||ge(u),a.value=u,i==null||i.onChange(e),R==null||R(e)},Se=e=>{D(!1),i==null||i.onBlur(e),q==null||q(e)},[K,D]=d.useState(!1),J=e=>{var a;b&&D(((a=e.getModifierState)==null?void 0:a.call(e,"CapsLock"))??!1)},je=e=>{J(e),B==null||B(e)},ve=e=>{J(e),k==null||k(e)},[P,Ae]=d.useState(!1),Q=O==="password",A=Q&&ie,Ne=Q&&P?"text":O,f=A?r.jsx(Y.Icon,{name:P?"EyeSlash":"Eye"}):se,N=A?"right":le,V=A?()=>Ae(e=>!e):re,Te=A?y(P?"textField.hidePassword":"textField.showPassword"):ne??y("textField.fieldAction"),g=oe?ze(Pe(String(G??""))):null,Ie=`${m}-strength`,W=`${m}-caps`,be=[M!=null?$:null,b&&K?W:null].filter(Boolean).join(" ")||void 0,z=f!=null&&f!==!1,Fe=typeof f=="string"||typeof f=="number";let x=null;return z&&(Fe?x=r.jsx("span",{className:s.fieldStyles.textAdornment,children:f}):V?x=r.jsx(U.IconButton,{variant:"text",color:"primary",size:o,disabled:j,"aria-label":Te,onClick:V,onMouseDown:e=>e.preventDefault(),className:s.fieldStyles.iconButton,children:f}):x=r.jsx(U.IconButton,{variant:"text",color:"primary",size:o,disabled:j,nonClickable:!0,"aria-hidden":"true",className:s.fieldStyles.iconButton,children:f})),r.jsxs("div",{className:X.clsx(s.fieldStyles.field,s.fieldStyles[o],te&&s.fieldStyles.fullWidth,E&&s.fieldStyles.error,j&&s.fieldStyles.disabled,de),style:fe,children:[n!=null&&r.jsxs("label",{htmlFor:m,className:s.fieldStyles.label,children:[r.jsx(T.Typography,{as:"span",variant:"bodySmall",color:"muted",children:n}),p&&r.jsx("span",{className:s.fieldStyles.required,"aria-hidden":"true",children:"*"})]}),r.jsxs("div",{className:X.clsx(s.fieldStyles.control,z&&N==="left"&&s.fieldStyles.hasLeftAdornment,z&&N==="right"&&s.fieldStyles.hasRightAdornment),children:[N==="left"&&x,r.jsx("input",{ref:xe,id:m,name:F,type:Ne,className:s.fieldStyles.input,value:G,onChange:pe,onBlur:Se,onFocus:ae,onKeyDown:je,onKeyUp:ve,disabled:j,"aria-invalid":E||void 0,"aria-describedby":be,...ue}),N==="right"&&x]}),b&&K&&r.jsxs(T.Typography,{as:"span",id:W,variant:"bodySmall",color:"warning",className:s.fieldStyles.caps,role:"alert",children:[r.jsx(Y.Icon,{name:"Danger"}),y("textField.capsLock")]}),g&&r.jsxs("div",{className:s.fieldStyles.strength,style:{"--tz-strength-color":`var(--tz-color-${I[g].color})`},children:[r.jsx("span",{className:s.fieldStyles.strengthBars,"aria-hidden":"true",children:[0,1,2].map(e=>r.jsx("span",{className:s.fieldStyles.strengthBar,"data-on":e<I[g].bars},e))}),r.jsx(T.Typography,{as:"span",id:Ie,variant:"bodySmall",color:I[g].color,className:s.fieldStyles.strengthLabel,children:y(I[g].labelKey)})]}),M!=null&&r.jsx(T.Typography,{as:"span",id:$,variant:"bodySmall",color:E?"error":"muted",className:s.fieldStyles.helper,children:M})]})});exports.TextField=Le;
|
|
2
|
+
//# sourceMappingURL=TextField-BPefnD5M.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TextField-BPefnD5M.cjs","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,266 @@
|
|
|
1
|
+
import { jsxs as x, jsx as o } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef as Et, useId as Mt, useState as w, useRef as Y, useCallback as zt, useLayoutEffect as Lt } from "react";
|
|
3
|
+
import { clsx as U } from "clsx";
|
|
4
|
+
import { u as Pt } from "./formContext-B7ln1Miy.js";
|
|
5
|
+
import { I as tt } from "./Icon-CophpkHo.js";
|
|
6
|
+
import { I as et } from "./IconButton-CBusrDa9.js";
|
|
7
|
+
import { T } from "./Typography-Cta6Rg4L.js";
|
|
8
|
+
import { f as r } from "./TextField.module-QePvGeJ3.js";
|
|
9
|
+
import { a as Zt } from "./ConfigProvider-2c94kUOk.js";
|
|
10
|
+
const rt = {
|
|
11
|
+
9: /[0-9]/,
|
|
12
|
+
// digit
|
|
13
|
+
a: /[A-Za-z]/,
|
|
14
|
+
// letter
|
|
15
|
+
"*": /[A-Za-z0-9]/
|
|
16
|
+
// alphanumeric
|
|
17
|
+
};
|
|
18
|
+
function jt(e, s) {
|
|
19
|
+
let a = "", n = 0;
|
|
20
|
+
for (const c of s) {
|
|
21
|
+
const y = rt[c];
|
|
22
|
+
if (y) {
|
|
23
|
+
for (; n < e.length && !y.test(e[n]); ) n++;
|
|
24
|
+
if (n >= e.length) break;
|
|
25
|
+
a += e[n], n++;
|
|
26
|
+
} else {
|
|
27
|
+
if (n >= e.length) break;
|
|
28
|
+
e[n] === c && n++, a += c;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
return a;
|
|
32
|
+
}
|
|
33
|
+
function wt(e, s) {
|
|
34
|
+
const a = new Set([...s].filter((n) => !rt[n]));
|
|
35
|
+
return [...e].filter((n) => !a.has(n)).join("");
|
|
36
|
+
}
|
|
37
|
+
const Ot = /[A-Za-z0-9]/;
|
|
38
|
+
function $t(e, s) {
|
|
39
|
+
const a = (e.match(/[A-Za-z0-9]/g) ?? []).length;
|
|
40
|
+
if (a <= 0) return 0;
|
|
41
|
+
let n = 0;
|
|
42
|
+
for (let c = 0; c < s.length; c++)
|
|
43
|
+
if (Ot.test(s[c]) && (n += 1, n === a))
|
|
44
|
+
return c + 1;
|
|
45
|
+
return s.length;
|
|
46
|
+
}
|
|
47
|
+
function Gt(e) {
|
|
48
|
+
if (!e) return 0;
|
|
49
|
+
let s = 0;
|
|
50
|
+
return e.length >= 8 && (s += 1), /[a-z]/.test(e) && /[A-Z]/.test(e) && (s += 1), /\d/.test(e) && (s += 1), /[^A-Za-z0-9]/.test(e) && (s += 1), s;
|
|
51
|
+
}
|
|
52
|
+
function Ht(e) {
|
|
53
|
+
return e <= 0 ? null : e === 1 ? "weak" : e === 2 ? "medium" : "strong";
|
|
54
|
+
}
|
|
55
|
+
const I = {
|
|
56
|
+
weak: { labelKey: "textField.strengthWeak", color: "error", bars: 1 },
|
|
57
|
+
medium: { labelKey: "textField.strengthMedium", color: "warning", bars: 2 },
|
|
58
|
+
strong: { labelKey: "textField.strengthStrong", color: "success", bars: 3 }
|
|
59
|
+
}, Yt = Et(function({
|
|
60
|
+
label: s,
|
|
61
|
+
size: a = "md",
|
|
62
|
+
error: n,
|
|
63
|
+
helperText: c,
|
|
64
|
+
required: y = !1,
|
|
65
|
+
fullWidth: nt = !0,
|
|
66
|
+
adornment: st,
|
|
67
|
+
adornmentPosition: lt = "left",
|
|
68
|
+
onAdornmentClick: at,
|
|
69
|
+
adornmentLabel: ot,
|
|
70
|
+
regex: O,
|
|
71
|
+
mask: v,
|
|
72
|
+
passwordToggle: it = !0,
|
|
73
|
+
capsLockWarning: F = !1,
|
|
74
|
+
passwordStrength: ct = !1,
|
|
75
|
+
name: C,
|
|
76
|
+
value: R,
|
|
77
|
+
defaultValue: $,
|
|
78
|
+
onChange: k,
|
|
79
|
+
onBlur: B,
|
|
80
|
+
onFocus: dt,
|
|
81
|
+
onKeyDown: E,
|
|
82
|
+
onKeyUp: M,
|
|
83
|
+
disabled: A = !1,
|
|
84
|
+
type: G,
|
|
85
|
+
id: ft,
|
|
86
|
+
className: ut,
|
|
87
|
+
style: ht,
|
|
88
|
+
...mt
|
|
89
|
+
}, u) {
|
|
90
|
+
const h = Zt(), pt = Mt(), m = ft ?? pt, H = `${m}-helper`, K = Pt(), l = K && C ? K.field(C) : void 0, z = n ?? (l == null ? void 0 : l.error) ?? !1, L = c ?? (l == null ? void 0 : l.helperText), gt = R !== void 0 || l !== void 0, [xt, yt] = w($ != null ? String($) : ""), _ = R !== void 0 ? R : l ? l.value : xt, q = Y(null), vt = zt(
|
|
91
|
+
(t) => {
|
|
92
|
+
q.current = t, typeof u == "function" ? u(t) : u && (u.current = t);
|
|
93
|
+
},
|
|
94
|
+
[u]
|
|
95
|
+
), N = Y(null);
|
|
96
|
+
Lt(() => {
|
|
97
|
+
var i;
|
|
98
|
+
const t = N.current;
|
|
99
|
+
t != null && (N.current = null, (i = q.current) == null || i.setSelectionRange(t, t));
|
|
100
|
+
});
|
|
101
|
+
const At = (t) => {
|
|
102
|
+
const i = t.target;
|
|
103
|
+
let f = i.value;
|
|
104
|
+
if (v) {
|
|
105
|
+
const j = i.selectionStart ?? i.value.length, Bt = i.value.slice(0, j);
|
|
106
|
+
f = jt(f, v), N.current = $t(Bt, f);
|
|
107
|
+
}
|
|
108
|
+
if (O) {
|
|
109
|
+
const j = v ? wt(f, v) : f;
|
|
110
|
+
if (!O.test(j)) {
|
|
111
|
+
N.current = null;
|
|
112
|
+
return;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
gt || yt(f), i.value = f, l == null || l.onChange(t), k == null || k(t);
|
|
116
|
+
}, Nt = (t) => {
|
|
117
|
+
J(!1), l == null || l.onBlur(t), B == null || B(t);
|
|
118
|
+
}, [D, J] = w(!1), Q = (t) => {
|
|
119
|
+
var i;
|
|
120
|
+
F && J(((i = t.getModifierState) == null ? void 0 : i.call(t, "CapsLock")) ?? !1);
|
|
121
|
+
}, St = (t) => {
|
|
122
|
+
Q(t), E == null || E(t);
|
|
123
|
+
}, bt = (t) => {
|
|
124
|
+
Q(t), M == null || M(t);
|
|
125
|
+
}, [P, Tt] = w(!1), V = G === "password", S = V && it, It = V && P ? "text" : G, d = S ? /* @__PURE__ */ o(tt, { name: P ? "EyeSlash" : "Eye" }) : st, b = S ? "right" : lt, W = S ? () => Tt((t) => !t) : at, Ft = S ? h(P ? "textField.hidePassword" : "textField.showPassword") : ot ?? h("textField.fieldAction"), p = ct ? Ht(Gt(String(_ ?? ""))) : null, Ct = `${m}-strength`, X = `${m}-caps`, Rt = [L != null ? H : null, F && D ? X : null].filter(Boolean).join(" ") || void 0, Z = d != null && d !== !1, kt = typeof d == "string" || typeof d == "number";
|
|
126
|
+
let g = null;
|
|
127
|
+
return Z && (kt ? g = /* @__PURE__ */ o("span", { className: r.textAdornment, children: d }) : W ? g = /* @__PURE__ */ o(
|
|
128
|
+
et,
|
|
129
|
+
{
|
|
130
|
+
variant: "text",
|
|
131
|
+
color: "primary",
|
|
132
|
+
size: a,
|
|
133
|
+
disabled: A,
|
|
134
|
+
"aria-label": Ft,
|
|
135
|
+
onClick: W,
|
|
136
|
+
onMouseDown: (t) => t.preventDefault(),
|
|
137
|
+
className: r.iconButton,
|
|
138
|
+
children: d
|
|
139
|
+
}
|
|
140
|
+
) : g = /* @__PURE__ */ o(
|
|
141
|
+
et,
|
|
142
|
+
{
|
|
143
|
+
variant: "text",
|
|
144
|
+
color: "primary",
|
|
145
|
+
size: a,
|
|
146
|
+
disabled: A,
|
|
147
|
+
nonClickable: !0,
|
|
148
|
+
"aria-hidden": "true",
|
|
149
|
+
className: r.iconButton,
|
|
150
|
+
children: d
|
|
151
|
+
}
|
|
152
|
+
)), /* @__PURE__ */ x(
|
|
153
|
+
"div",
|
|
154
|
+
{
|
|
155
|
+
className: U(
|
|
156
|
+
r.field,
|
|
157
|
+
r[a],
|
|
158
|
+
nt && r.fullWidth,
|
|
159
|
+
z && r.error,
|
|
160
|
+
A && r.disabled,
|
|
161
|
+
ut
|
|
162
|
+
),
|
|
163
|
+
style: ht,
|
|
164
|
+
children: [
|
|
165
|
+
s != null && /* @__PURE__ */ x("label", { htmlFor: m, className: r.label, children: [
|
|
166
|
+
/* @__PURE__ */ o(T, { as: "span", variant: "bodySmall", color: "muted", children: s }),
|
|
167
|
+
y && /* @__PURE__ */ o("span", { className: r.required, "aria-hidden": "true", children: "*" })
|
|
168
|
+
] }),
|
|
169
|
+
/* @__PURE__ */ x(
|
|
170
|
+
"div",
|
|
171
|
+
{
|
|
172
|
+
className: U(
|
|
173
|
+
r.control,
|
|
174
|
+
Z && b === "left" && r.hasLeftAdornment,
|
|
175
|
+
Z && b === "right" && r.hasRightAdornment
|
|
176
|
+
),
|
|
177
|
+
children: [
|
|
178
|
+
b === "left" && g,
|
|
179
|
+
/* @__PURE__ */ o(
|
|
180
|
+
"input",
|
|
181
|
+
{
|
|
182
|
+
ref: vt,
|
|
183
|
+
id: m,
|
|
184
|
+
name: C,
|
|
185
|
+
type: It,
|
|
186
|
+
className: r.input,
|
|
187
|
+
value: _,
|
|
188
|
+
onChange: At,
|
|
189
|
+
onBlur: Nt,
|
|
190
|
+
onFocus: dt,
|
|
191
|
+
onKeyDown: St,
|
|
192
|
+
onKeyUp: bt,
|
|
193
|
+
disabled: A,
|
|
194
|
+
"aria-invalid": z || void 0,
|
|
195
|
+
"aria-describedby": Rt,
|
|
196
|
+
...mt
|
|
197
|
+
}
|
|
198
|
+
),
|
|
199
|
+
b === "right" && g
|
|
200
|
+
]
|
|
201
|
+
}
|
|
202
|
+
),
|
|
203
|
+
F && D && /* @__PURE__ */ x(
|
|
204
|
+
T,
|
|
205
|
+
{
|
|
206
|
+
as: "span",
|
|
207
|
+
id: X,
|
|
208
|
+
variant: "bodySmall",
|
|
209
|
+
color: "warning",
|
|
210
|
+
className: r.caps,
|
|
211
|
+
role: "alert",
|
|
212
|
+
children: [
|
|
213
|
+
/* @__PURE__ */ o(tt, { name: "Danger" }),
|
|
214
|
+
h("textField.capsLock")
|
|
215
|
+
]
|
|
216
|
+
}
|
|
217
|
+
),
|
|
218
|
+
p && /* @__PURE__ */ x(
|
|
219
|
+
"div",
|
|
220
|
+
{
|
|
221
|
+
className: r.strength,
|
|
222
|
+
style: {
|
|
223
|
+
"--tz-strength-color": `var(--tz-color-${I[p].color})`
|
|
224
|
+
},
|
|
225
|
+
children: [
|
|
226
|
+
/* @__PURE__ */ o("span", { className: r.strengthBars, "aria-hidden": "true", children: [0, 1, 2].map((t) => /* @__PURE__ */ o(
|
|
227
|
+
"span",
|
|
228
|
+
{
|
|
229
|
+
className: r.strengthBar,
|
|
230
|
+
"data-on": t < I[p].bars
|
|
231
|
+
},
|
|
232
|
+
t
|
|
233
|
+
)) }),
|
|
234
|
+
/* @__PURE__ */ o(
|
|
235
|
+
T,
|
|
236
|
+
{
|
|
237
|
+
as: "span",
|
|
238
|
+
id: Ct,
|
|
239
|
+
variant: "bodySmall",
|
|
240
|
+
color: I[p].color,
|
|
241
|
+
className: r.strengthLabel,
|
|
242
|
+
children: h(I[p].labelKey)
|
|
243
|
+
}
|
|
244
|
+
)
|
|
245
|
+
]
|
|
246
|
+
}
|
|
247
|
+
),
|
|
248
|
+
L != null && /* @__PURE__ */ o(
|
|
249
|
+
T,
|
|
250
|
+
{
|
|
251
|
+
as: "span",
|
|
252
|
+
id: H,
|
|
253
|
+
variant: "bodySmall",
|
|
254
|
+
color: z ? "error" : "muted",
|
|
255
|
+
className: r.helper,
|
|
256
|
+
children: L
|
|
257
|
+
}
|
|
258
|
+
)
|
|
259
|
+
]
|
|
260
|
+
}
|
|
261
|
+
);
|
|
262
|
+
});
|
|
263
|
+
export {
|
|
264
|
+
Yt as T
|
|
265
|
+
};
|
|
266
|
+
//# sourceMappingURL=TextField-DMI1X09n.js.map
|