@tribepad/themis 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/CHANGELOG.md +17 -0
- package/LICENSE +21 -0
- package/README.md +114 -0
- package/dist/Carousel-NTZX5TOW.js +16 -0
- package/dist/Carousel-NTZX5TOW.js.map +1 -0
- package/dist/Carousel-YH3DOQJU.mjs +7 -0
- package/dist/Carousel-YH3DOQJU.mjs.map +1 -0
- package/dist/chunk-2HIUTHMU.mjs +234 -0
- package/dist/chunk-2HIUTHMU.mjs.map +1 -0
- package/dist/chunk-34GTFTDO.js +431 -0
- package/dist/chunk-34GTFTDO.js.map +1 -0
- package/dist/chunk-3H7ASYR7.js +250 -0
- package/dist/chunk-3H7ASYR7.js.map +1 -0
- package/dist/chunk-3IEN7JOP.js +316 -0
- package/dist/chunk-3IEN7JOP.js.map +1 -0
- package/dist/chunk-3JHN4GAL.js +326 -0
- package/dist/chunk-3JHN4GAL.js.map +1 -0
- package/dist/chunk-3MJPASQU.js +232 -0
- package/dist/chunk-3MJPASQU.js.map +1 -0
- package/dist/chunk-3XD2JUL3.js +572 -0
- package/dist/chunk-3XD2JUL3.js.map +1 -0
- package/dist/chunk-3YOY2VJ6.js +189 -0
- package/dist/chunk-3YOY2VJ6.js.map +1 -0
- package/dist/chunk-4DU5JSXB.js +408 -0
- package/dist/chunk-4DU5JSXB.js.map +1 -0
- package/dist/chunk-4E4E2GSS.js +352 -0
- package/dist/chunk-4E4E2GSS.js.map +1 -0
- package/dist/chunk-4NHAP4AN.mjs +3 -0
- package/dist/chunk-4NHAP4AN.mjs.map +1 -0
- package/dist/chunk-4S33J5NY.mjs +415 -0
- package/dist/chunk-4S33J5NY.mjs.map +1 -0
- package/dist/chunk-5SMGRT3G.mjs +354 -0
- package/dist/chunk-5SMGRT3G.mjs.map +1 -0
- package/dist/chunk-5SVLJN2C.mjs +22 -0
- package/dist/chunk-5SVLJN2C.mjs.map +1 -0
- package/dist/chunk-66WTU4EB.mjs +299 -0
- package/dist/chunk-66WTU4EB.mjs.map +1 -0
- package/dist/chunk-6S25NMOT.mjs +335 -0
- package/dist/chunk-6S25NMOT.mjs.map +1 -0
- package/dist/chunk-6SP7UB3D.js +4 -0
- package/dist/chunk-6SP7UB3D.js.map +1 -0
- package/dist/chunk-6TYWWQHM.mjs +565 -0
- package/dist/chunk-6TYWWQHM.mjs.map +1 -0
- package/dist/chunk-A3YUJA6W.mjs +384 -0
- package/dist/chunk-A3YUJA6W.mjs.map +1 -0
- package/dist/chunk-A6KEDVUR.js +61 -0
- package/dist/chunk-A6KEDVUR.js.map +1 -0
- package/dist/chunk-A77RUEWL.js +730 -0
- package/dist/chunk-A77RUEWL.js.map +1 -0
- package/dist/chunk-AA4IKMPE.mjs +3 -0
- package/dist/chunk-AA4IKMPE.mjs.map +1 -0
- package/dist/chunk-AKIA6GW6.mjs +163 -0
- package/dist/chunk-AKIA6GW6.mjs.map +1 -0
- package/dist/chunk-AL6P275L.mjs +435 -0
- package/dist/chunk-AL6P275L.mjs.map +1 -0
- package/dist/chunk-AZ3RJYTB.js +37 -0
- package/dist/chunk-AZ3RJYTB.js.map +1 -0
- package/dist/chunk-B5Q4UPL6.js +32 -0
- package/dist/chunk-B5Q4UPL6.js.map +1 -0
- package/dist/chunk-B6DHPMDP.mjs +335 -0
- package/dist/chunk-B6DHPMDP.mjs.map +1 -0
- package/dist/chunk-BDXKKMBZ.mjs +184 -0
- package/dist/chunk-BDXKKMBZ.mjs.map +1 -0
- package/dist/chunk-BL6E2DLZ.mjs +52 -0
- package/dist/chunk-BL6E2DLZ.mjs.map +1 -0
- package/dist/chunk-CGFDS4XS.mjs +121 -0
- package/dist/chunk-CGFDS4XS.mjs.map +1 -0
- package/dist/chunk-CJIW5TKI.js +139 -0
- package/dist/chunk-CJIW5TKI.js.map +1 -0
- package/dist/chunk-CKNISJOQ.js +314 -0
- package/dist/chunk-CKNISJOQ.js.map +1 -0
- package/dist/chunk-D6CBOECS.mjs +1757 -0
- package/dist/chunk-D6CBOECS.mjs.map +1 -0
- package/dist/chunk-DDWEVC2S.js +166 -0
- package/dist/chunk-DDWEVC2S.js.map +1 -0
- package/dist/chunk-DZ556D2F.mjs +176 -0
- package/dist/chunk-DZ556D2F.mjs.map +1 -0
- package/dist/chunk-E2KQFV3O.mjs +10 -0
- package/dist/chunk-E2KQFV3O.mjs.map +1 -0
- package/dist/chunk-EMMLADSC.js +126 -0
- package/dist/chunk-EMMLADSC.js.map +1 -0
- package/dist/chunk-EP4WOI5D.mjs +926 -0
- package/dist/chunk-EP4WOI5D.mjs.map +1 -0
- package/dist/chunk-FJRXLJC2.mjs +160 -0
- package/dist/chunk-FJRXLJC2.mjs.map +1 -0
- package/dist/chunk-FKQI434R.js +345 -0
- package/dist/chunk-FKQI434R.js.map +1 -0
- package/dist/chunk-FPKEAJRZ.mjs +100 -0
- package/dist/chunk-FPKEAJRZ.mjs.map +1 -0
- package/dist/chunk-FWQYB22U.js +183 -0
- package/dist/chunk-FWQYB22U.js.map +1 -0
- package/dist/chunk-GD5GHTMA.js +189 -0
- package/dist/chunk-GD5GHTMA.js.map +1 -0
- package/dist/chunk-GE5XTSDZ.js +447 -0
- package/dist/chunk-GE5XTSDZ.js.map +1 -0
- package/dist/chunk-GVE47ZAX.mjs +32 -0
- package/dist/chunk-GVE47ZAX.mjs.map +1 -0
- package/dist/chunk-HK46BT5U.mjs +18 -0
- package/dist/chunk-HK46BT5U.mjs.map +1 -0
- package/dist/chunk-HQVRMR6N.js +365 -0
- package/dist/chunk-HQVRMR6N.js.map +1 -0
- package/dist/chunk-HSGBJPJO.mjs +398 -0
- package/dist/chunk-HSGBJPJO.mjs.map +1 -0
- package/dist/chunk-I3AUTOMZ.mjs +125 -0
- package/dist/chunk-I3AUTOMZ.mjs.map +1 -0
- package/dist/chunk-IEI5LD5C.mjs +1161 -0
- package/dist/chunk-IEI5LD5C.mjs.map +1 -0
- package/dist/chunk-IIPTC2X7.mjs +118 -0
- package/dist/chunk-IIPTC2X7.mjs.map +1 -0
- package/dist/chunk-J7TLHF2Q.js +4 -0
- package/dist/chunk-J7TLHF2Q.js.map +1 -0
- package/dist/chunk-JJOWXFXQ.mjs +765 -0
- package/dist/chunk-JJOWXFXQ.mjs.map +1 -0
- package/dist/chunk-JPTSS2OA.mjs +3 -0
- package/dist/chunk-JPTSS2OA.mjs.map +1 -0
- package/dist/chunk-KFXXRLTP.js +396 -0
- package/dist/chunk-KFXXRLTP.js.map +1 -0
- package/dist/chunk-KPRRBSG6.mjs +272 -0
- package/dist/chunk-KPRRBSG6.mjs.map +1 -0
- package/dist/chunk-NFSBGRDB.mjs +57 -0
- package/dist/chunk-NFSBGRDB.mjs.map +1 -0
- package/dist/chunk-NGJVCFTM.js +219 -0
- package/dist/chunk-NGJVCFTM.js.map +1 -0
- package/dist/chunk-NSQ6MZJ6.mjs +728 -0
- package/dist/chunk-NSQ6MZJ6.mjs.map +1 -0
- package/dist/chunk-NYQYHT76.mjs +296 -0
- package/dist/chunk-NYQYHT76.mjs.map +1 -0
- package/dist/chunk-OLJJGI5B.js +1193 -0
- package/dist/chunk-OLJJGI5B.js.map +1 -0
- package/dist/chunk-Q3572X2J.js +292 -0
- package/dist/chunk-Q3572X2J.js.map +1 -0
- package/dist/chunk-QH7N7D4I.mjs +210 -0
- package/dist/chunk-QH7N7D4I.mjs.map +1 -0
- package/dist/chunk-R7XUIV25.js +466 -0
- package/dist/chunk-R7XUIV25.js.map +1 -0
- package/dist/chunk-RFFO4KPM.js +135 -0
- package/dist/chunk-RFFO4KPM.js.map +1 -0
- package/dist/chunk-RFX7QKA7.mjs +180 -0
- package/dist/chunk-RFX7QKA7.mjs.map +1 -0
- package/dist/chunk-SN5LFAP3.js +940 -0
- package/dist/chunk-SN5LFAP3.js.map +1 -0
- package/dist/chunk-T4COXKQ3.js +24 -0
- package/dist/chunk-T4COXKQ3.js.map +1 -0
- package/dist/chunk-TS54QM27.js +125 -0
- package/dist/chunk-TS54QM27.js.map +1 -0
- package/dist/chunk-UE2S4PCX.mjs +220 -0
- package/dist/chunk-UE2S4PCX.mjs.map +1 -0
- package/dist/chunk-UTW3QX2A.mjs +282 -0
- package/dist/chunk-UTW3QX2A.mjs.map +1 -0
- package/dist/chunk-V74LGMAE.js +1767 -0
- package/dist/chunk-V74LGMAE.js.map +1 -0
- package/dist/chunk-VIREG536.js +12 -0
- package/dist/chunk-VIREG536.js.map +1 -0
- package/dist/chunk-VY7M7346.js +4 -0
- package/dist/chunk-VY7M7346.js.map +1 -0
- package/dist/chunk-W3TJOO7H.mjs +319 -0
- package/dist/chunk-W3TJOO7H.mjs.map +1 -0
- package/dist/chunk-WIUOB36M.js +54 -0
- package/dist/chunk-WIUOB36M.js.map +1 -0
- package/dist/chunk-WJGLM4CY.js +291 -0
- package/dist/chunk-WJGLM4CY.js.map +1 -0
- package/dist/chunk-WNURH5OO.mjs +453 -0
- package/dist/chunk-WNURH5OO.mjs.map +1 -0
- package/dist/chunk-X25TNRSD.mjs +364 -0
- package/dist/chunk-X25TNRSD.mjs.map +1 -0
- package/dist/chunk-Y3GT7ETK.js +108 -0
- package/dist/chunk-Y3GT7ETK.js.map +1 -0
- package/dist/chunk-Z4FRNOF6.mjs +115 -0
- package/dist/chunk-Z4FRNOF6.mjs.map +1 -0
- package/dist/chunk-ZMYLD3BN.js +166 -0
- package/dist/chunk-ZMYLD3BN.js.map +1 -0
- package/dist/chunk-ZP2KV6EX.js +815 -0
- package/dist/chunk-ZP2KV6EX.js.map +1 -0
- package/dist/chunk-ZVKXFELU.js +366 -0
- package/dist/chunk-ZVKXFELU.js.map +1 -0
- package/dist/elements/Accordion/Accordion.d.ts +139 -0
- package/dist/elements/Accordion/Accordion.d.ts.map +1 -0
- package/dist/elements/Accordion/Accordion.types.d.ts +143 -0
- package/dist/elements/Accordion/Accordion.types.d.ts.map +1 -0
- package/dist/elements/Accordion/index.d.ts +13 -0
- package/dist/elements/Accordion/index.d.ts.map +1 -0
- package/dist/elements/Accordion/index.js +78 -0
- package/dist/elements/Accordion/index.js.map +1 -0
- package/dist/elements/Accordion/index.mjs +5 -0
- package/dist/elements/Accordion/index.mjs.map +1 -0
- package/dist/elements/Avatar/Avatar.d.ts +51 -0
- package/dist/elements/Avatar/Avatar.d.ts.map +1 -0
- package/dist/elements/Avatar/Avatar.types.d.ts +145 -0
- package/dist/elements/Avatar/Avatar.types.d.ts.map +1 -0
- package/dist/elements/Avatar/AvatarGroup.d.ts +32 -0
- package/dist/elements/Avatar/AvatarGroup.d.ts.map +1 -0
- package/dist/elements/Avatar/index.d.ts +11 -0
- package/dist/elements/Avatar/index.d.ts.map +1 -0
- package/dist/elements/Avatar/index.js +54 -0
- package/dist/elements/Avatar/index.js.map +1 -0
- package/dist/elements/Avatar/index.mjs +5 -0
- package/dist/elements/Avatar/index.mjs.map +1 -0
- package/dist/elements/Badge/Badge.d.ts +39 -0
- package/dist/elements/Badge/Badge.d.ts.map +1 -0
- package/dist/elements/Badge/Badge.types.d.ts +76 -0
- package/dist/elements/Badge/Badge.types.d.ts.map +1 -0
- package/dist/elements/Badge/index.d.ts +18 -0
- package/dist/elements/Badge/index.d.ts.map +1 -0
- package/dist/elements/Badge/index.js +43 -0
- package/dist/elements/Badge/index.js.map +1 -0
- package/dist/elements/Badge/index.mjs +6 -0
- package/dist/elements/Badge/index.mjs.map +1 -0
- package/dist/elements/Breadcrumbs/Breadcrumbs.d.ts +91 -0
- package/dist/elements/Breadcrumbs/Breadcrumbs.d.ts.map +1 -0
- package/dist/elements/Breadcrumbs/Breadcrumbs.types.d.ts +114 -0
- package/dist/elements/Breadcrumbs/Breadcrumbs.types.d.ts.map +1 -0
- package/dist/elements/Breadcrumbs/index.d.ts +14 -0
- package/dist/elements/Breadcrumbs/index.d.ts.map +1 -0
- package/dist/elements/Breadcrumbs/index.js +54 -0
- package/dist/elements/Breadcrumbs/index.js.map +1 -0
- package/dist/elements/Breadcrumbs/index.mjs +9 -0
- package/dist/elements/Breadcrumbs/index.mjs.map +1 -0
- package/dist/elements/Button/Button.d.ts +92 -0
- package/dist/elements/Button/Button.d.ts.map +1 -0
- package/dist/elements/Button/Button.types.d.ts +54 -0
- package/dist/elements/Button/Button.types.d.ts.map +1 -0
- package/dist/elements/Button/index.d.ts +18 -0
- package/dist/elements/Button/index.d.ts.map +1 -0
- package/dist/elements/Button/index.js +27 -0
- package/dist/elements/Button/index.js.map +1 -0
- package/dist/elements/Button/index.mjs +6 -0
- package/dist/elements/Button/index.mjs.map +1 -0
- package/dist/elements/ButtonGroup/ButtonGroup.d.ts +53 -0
- package/dist/elements/ButtonGroup/ButtonGroup.d.ts.map +1 -0
- package/dist/elements/ButtonGroup/ButtonGroup.types.d.ts +98 -0
- package/dist/elements/ButtonGroup/ButtonGroup.types.d.ts.map +1 -0
- package/dist/elements/ButtonGroup/ButtonGroup.utils.d.ts +60 -0
- package/dist/elements/ButtonGroup/ButtonGroup.utils.d.ts.map +1 -0
- package/dist/elements/ButtonGroup/ButtonGroup.variants.d.ts +39 -0
- package/dist/elements/ButtonGroup/ButtonGroup.variants.d.ts.map +1 -0
- package/dist/elements/ButtonGroup/ButtonGroupContext.d.ts +42 -0
- package/dist/elements/ButtonGroup/ButtonGroupContext.d.ts.map +1 -0
- package/dist/elements/ButtonGroup/index.d.ts +35 -0
- package/dist/elements/ButtonGroup/index.d.ts.map +1 -0
- package/dist/elements/ButtonGroup/index.js +66 -0
- package/dist/elements/ButtonGroup/index.js.map +1 -0
- package/dist/elements/ButtonGroup/index.mjs +5 -0
- package/dist/elements/ButtonGroup/index.mjs.map +1 -0
- package/dist/elements/Card/Card.d.ts +104 -0
- package/dist/elements/Card/Card.d.ts.map +1 -0
- package/dist/elements/Card/Card.types.d.ts +227 -0
- package/dist/elements/Card/Card.types.d.ts.map +1 -0
- package/dist/elements/Card/index.d.ts +38 -0
- package/dist/elements/Card/index.d.ts.map +1 -0
- package/dist/elements/Card/index.js +85 -0
- package/dist/elements/Card/index.js.map +1 -0
- package/dist/elements/Card/index.mjs +8 -0
- package/dist/elements/Card/index.mjs.map +1 -0
- package/dist/elements/Carousel/Carousel.d.ts +13 -0
- package/dist/elements/Carousel/Carousel.d.ts.map +1 -0
- package/dist/elements/Carousel/Carousel.types.d.ts +65 -0
- package/dist/elements/Carousel/Carousel.types.d.ts.map +1 -0
- package/dist/elements/Carousel/LazyCarousel.d.ts +46 -0
- package/dist/elements/Carousel/LazyCarousel.d.ts.map +1 -0
- package/dist/elements/Carousel/index.d.ts +5 -0
- package/dist/elements/Carousel/index.d.ts.map +1 -0
- package/dist/elements/Carousel/index.js +23 -0
- package/dist/elements/Carousel/index.js.map +1 -0
- package/dist/elements/Carousel/index.mjs +10 -0
- package/dist/elements/Carousel/index.mjs.map +1 -0
- package/dist/elements/Chart/Chart.d.ts +44 -0
- package/dist/elements/Chart/Chart.d.ts.map +1 -0
- package/dist/elements/Chart/Chart.types.d.ts +254 -0
- package/dist/elements/Chart/Chart.types.d.ts.map +1 -0
- package/dist/elements/Chart/ChartAnnouncer.d.ts +24 -0
- package/dist/elements/Chart/ChartAnnouncer.d.ts.map +1 -0
- package/dist/elements/Chart/ChartAxis.d.ts +42 -0
- package/dist/elements/Chart/ChartAxis.d.ts.map +1 -0
- package/dist/elements/Chart/ChartBarSeries.d.ts +54 -0
- package/dist/elements/Chart/ChartBarSeries.d.ts.map +1 -0
- package/dist/elements/Chart/ChartContext.d.ts +46 -0
- package/dist/elements/Chart/ChartContext.d.ts.map +1 -0
- package/dist/elements/Chart/ChartDataPoint.d.ts +56 -0
- package/dist/elements/Chart/ChartDataPoint.d.ts.map +1 -0
- package/dist/elements/Chart/ChartDataTable.d.ts +35 -0
- package/dist/elements/Chart/ChartDataTable.d.ts.map +1 -0
- package/dist/elements/Chart/ChartGrid.d.ts +32 -0
- package/dist/elements/Chart/ChartGrid.d.ts.map +1 -0
- package/dist/elements/Chart/ChartLegend.d.ts +32 -0
- package/dist/elements/Chart/ChartLegend.d.ts.map +1 -0
- package/dist/elements/Chart/ChartLineSeries.d.ts +52 -0
- package/dist/elements/Chart/ChartLineSeries.d.ts.map +1 -0
- package/dist/elements/Chart/ChartSVG.d.ts +62 -0
- package/dist/elements/Chart/ChartSVG.d.ts.map +1 -0
- package/dist/elements/Chart/ChartTooltip.d.ts +45 -0
- package/dist/elements/Chart/ChartTooltip.d.ts.map +1 -0
- package/dist/elements/Chart/chart.constants.d.ts +108 -0
- package/dist/elements/Chart/chart.constants.d.ts.map +1 -0
- package/dist/elements/Chart/chart.variants.d.ts +45 -0
- package/dist/elements/Chart/chart.variants.d.ts.map +1 -0
- package/dist/elements/Chart/index.d.ts +12 -0
- package/dist/elements/Chart/index.d.ts.map +1 -0
- package/dist/elements/Chart/index.js +47 -0
- package/dist/elements/Chart/index.js.map +1 -0
- package/dist/elements/Chart/index.mjs +6 -0
- package/dist/elements/Chart/index.mjs.map +1 -0
- package/dist/elements/Chart/useChartDimensions.d.ts +18 -0
- package/dist/elements/Chart/useChartDimensions.d.ts.map +1 -0
- package/dist/elements/Chart/useChartKeyboard.d.ts +42 -0
- package/dist/elements/Chart/useChartKeyboard.d.ts.map +1 -0
- package/dist/elements/Chart/useRovingTabIndex.d.ts +46 -0
- package/dist/elements/Chart/useRovingTabIndex.d.ts.map +1 -0
- package/dist/elements/Checkbox/Checkbox.d.ts +94 -0
- package/dist/elements/Checkbox/Checkbox.d.ts.map +1 -0
- package/dist/elements/Checkbox/Checkbox.types.d.ts +82 -0
- package/dist/elements/Checkbox/Checkbox.types.d.ts.map +1 -0
- package/dist/elements/Checkbox/index.d.ts +7 -0
- package/dist/elements/Checkbox/index.d.ts.map +1 -0
- package/dist/elements/Checkbox/index.js +47 -0
- package/dist/elements/Checkbox/index.js.map +1 -0
- package/dist/elements/Checkbox/index.mjs +6 -0
- package/dist/elements/Checkbox/index.mjs.map +1 -0
- package/dist/elements/CheckboxGroup/CheckboxGroup.d.ts +130 -0
- package/dist/elements/CheckboxGroup/CheckboxGroup.d.ts.map +1 -0
- package/dist/elements/CheckboxGroup/CheckboxGroup.types.d.ts +142 -0
- package/dist/elements/CheckboxGroup/CheckboxGroup.types.d.ts.map +1 -0
- package/dist/elements/CheckboxGroup/index.d.ts +10 -0
- package/dist/elements/CheckboxGroup/index.d.ts.map +1 -0
- package/dist/elements/CheckboxGroup/index.js +71 -0
- package/dist/elements/CheckboxGroup/index.js.map +1 -0
- package/dist/elements/CheckboxGroup/index.mjs +6 -0
- package/dist/elements/CheckboxGroup/index.mjs.map +1 -0
- package/dist/elements/DatePicker/Calendar.d.ts +16 -0
- package/dist/elements/DatePicker/Calendar.d.ts.map +1 -0
- package/dist/elements/DatePicker/DateField.d.ts +13 -0
- package/dist/elements/DatePicker/DateField.d.ts.map +1 -0
- package/dist/elements/DatePicker/DatePicker.d.ts +16 -0
- package/dist/elements/DatePicker/DatePicker.d.ts.map +1 -0
- package/dist/elements/DatePicker/DatePicker.types.d.ts +390 -0
- package/dist/elements/DatePicker/DatePicker.types.d.ts.map +1 -0
- package/dist/elements/DatePicker/DatePicker.variants.d.ts +42 -0
- package/dist/elements/DatePicker/DatePicker.variants.d.ts.map +1 -0
- package/dist/elements/DatePicker/DateRangePicker.d.ts +13 -0
- package/dist/elements/DatePicker/DateRangePicker.d.ts.map +1 -0
- package/dist/elements/DatePicker/index.d.ts +14 -0
- package/dist/elements/DatePicker/index.d.ts.map +1 -0
- package/dist/elements/DatePicker/index.js +123 -0
- package/dist/elements/DatePicker/index.js.map +1 -0
- package/dist/elements/DatePicker/index.mjs +6 -0
- package/dist/elements/DatePicker/index.mjs.map +1 -0
- package/dist/elements/Dropdown/Dropdown.d.ts +197 -0
- package/dist/elements/Dropdown/Dropdown.d.ts.map +1 -0
- package/dist/elements/Dropdown/Dropdown.types.d.ts +175 -0
- package/dist/elements/Dropdown/Dropdown.types.d.ts.map +1 -0
- package/dist/elements/Dropdown/index.d.ts +12 -0
- package/dist/elements/Dropdown/index.d.ts.map +1 -0
- package/dist/elements/Dropdown/index.js +41 -0
- package/dist/elements/Dropdown/index.js.map +1 -0
- package/dist/elements/Dropdown/index.mjs +4 -0
- package/dist/elements/Dropdown/index.mjs.map +1 -0
- package/dist/elements/FileField/FileField.d.ts +46 -0
- package/dist/elements/FileField/FileField.d.ts.map +1 -0
- package/dist/elements/FileField/FileField.types.d.ts +99 -0
- package/dist/elements/FileField/FileField.types.d.ts.map +1 -0
- package/dist/elements/FileField/FileField.variants.d.ts +49 -0
- package/dist/elements/FileField/FileField.variants.d.ts.map +1 -0
- package/dist/elements/FileField/FilePreview.d.ts +27 -0
- package/dist/elements/FileField/FilePreview.d.ts.map +1 -0
- package/dist/elements/FileField/FileProgress.d.ts +35 -0
- package/dist/elements/FileField/FileProgress.d.ts.map +1 -0
- package/dist/elements/FileField/FileProgress.variants.d.ts +55 -0
- package/dist/elements/FileField/FileProgress.variants.d.ts.map +1 -0
- package/dist/elements/FileField/index.d.ts +41 -0
- package/dist/elements/FileField/index.d.ts.map +1 -0
- package/dist/elements/FileField/index.js +138 -0
- package/dist/elements/FileField/index.js.map +1 -0
- package/dist/elements/FileField/index.mjs +9 -0
- package/dist/elements/FileField/index.mjs.map +1 -0
- package/dist/elements/FileField/useFilePreview.d.ts +46 -0
- package/dist/elements/FileField/useFilePreview.d.ts.map +1 -0
- package/dist/elements/FileField/utils.d.ts +134 -0
- package/dist/elements/FileField/utils.d.ts.map +1 -0
- package/dist/elements/FormLayout/FormLayout.d.ts +51 -0
- package/dist/elements/FormLayout/FormLayout.d.ts.map +1 -0
- package/dist/elements/FormLayout/FormLayout.types.d.ts +66 -0
- package/dist/elements/FormLayout/FormLayout.types.d.ts.map +1 -0
- package/dist/elements/FormLayout/index.d.ts +3 -0
- package/dist/elements/FormLayout/index.d.ts.map +1 -0
- package/dist/elements/FormLayout/index.js +17 -0
- package/dist/elements/FormLayout/index.js.map +1 -0
- package/dist/elements/FormLayout/index.mjs +4 -0
- package/dist/elements/FormLayout/index.mjs.map +1 -0
- package/dist/elements/Modal/Modal.d.ts +168 -0
- package/dist/elements/Modal/Modal.d.ts.map +1 -0
- package/dist/elements/Modal/Modal.types.d.ts +265 -0
- package/dist/elements/Modal/Modal.types.d.ts.map +1 -0
- package/dist/elements/Modal/index.d.ts +14 -0
- package/dist/elements/Modal/index.d.ts.map +1 -0
- package/dist/elements/Modal/index.js +52 -0
- package/dist/elements/Modal/index.js.map +1 -0
- package/dist/elements/Modal/index.mjs +3 -0
- package/dist/elements/Modal/index.mjs.map +1 -0
- package/dist/elements/NumberField/NumberField.d.ts +43 -0
- package/dist/elements/NumberField/NumberField.d.ts.map +1 -0
- package/dist/elements/NumberField/NumberField.types.d.ts +112 -0
- package/dist/elements/NumberField/NumberField.types.d.ts.map +1 -0
- package/dist/elements/NumberField/NumberField.variants.d.ts +82 -0
- package/dist/elements/NumberField/NumberField.variants.d.ts.map +1 -0
- package/dist/elements/NumberField/index.d.ts +25 -0
- package/dist/elements/NumberField/index.d.ts.map +1 -0
- package/dist/elements/NumberField/index.js +57 -0
- package/dist/elements/NumberField/index.js.map +1 -0
- package/dist/elements/NumberField/index.mjs +8 -0
- package/dist/elements/NumberField/index.mjs.map +1 -0
- package/dist/elements/OTPInput/OTPInput.d.ts +105 -0
- package/dist/elements/OTPInput/OTPInput.d.ts.map +1 -0
- package/dist/elements/OTPInput/OTPInput.styles.d.ts +83 -0
- package/dist/elements/OTPInput/OTPInput.styles.d.ts.map +1 -0
- package/dist/elements/OTPInput/OTPInput.types.d.ts +189 -0
- package/dist/elements/OTPInput/OTPInput.types.d.ts.map +1 -0
- package/dist/elements/OTPInput/components/OTPDigit.d.ts +51 -0
- package/dist/elements/OTPInput/components/OTPDigit.d.ts.map +1 -0
- package/dist/elements/OTPInput/hooks/useOTPInput.d.ts +36 -0
- package/dist/elements/OTPInput/hooks/useOTPInput.d.ts.map +1 -0
- package/dist/elements/OTPInput/hooks/useOTPKeyboard.d.ts +59 -0
- package/dist/elements/OTPInput/hooks/useOTPKeyboard.d.ts.map +1 -0
- package/dist/elements/OTPInput/index.d.ts +27 -0
- package/dist/elements/OTPInput/index.d.ts.map +1 -0
- package/dist/elements/OTPInput/index.js +13 -0
- package/dist/elements/OTPInput/index.js.map +1 -0
- package/dist/elements/OTPInput/index.mjs +4 -0
- package/dist/elements/OTPInput/index.mjs.map +1 -0
- package/dist/elements/Panel/Panel.d.ts +111 -0
- package/dist/elements/Panel/Panel.d.ts.map +1 -0
- package/dist/elements/Panel/Panel.types.d.ts +243 -0
- package/dist/elements/Panel/Panel.types.d.ts.map +1 -0
- package/dist/elements/Panel/index.d.ts +4 -0
- package/dist/elements/Panel/index.d.ts.map +1 -0
- package/dist/elements/Panel/index.js +33 -0
- package/dist/elements/Panel/index.js.map +1 -0
- package/dist/elements/Panel/index.mjs +4 -0
- package/dist/elements/Panel/index.mjs.map +1 -0
- package/dist/elements/Progress/Progress.d.ts +44 -0
- package/dist/elements/Progress/Progress.d.ts.map +1 -0
- package/dist/elements/Progress/Progress.types.d.ts +64 -0
- package/dist/elements/Progress/Progress.types.d.ts.map +1 -0
- package/dist/elements/Progress/index.d.ts +11 -0
- package/dist/elements/Progress/index.d.ts.map +1 -0
- package/dist/elements/Progress/index.js +30 -0
- package/dist/elements/Progress/index.js.map +1 -0
- package/dist/elements/Progress/index.mjs +5 -0
- package/dist/elements/Progress/index.mjs.map +1 -0
- package/dist/elements/RadioGroup/RadioGroup.d.ts +110 -0
- package/dist/elements/RadioGroup/RadioGroup.d.ts.map +1 -0
- package/dist/elements/RadioGroup/RadioGroup.types.d.ts +143 -0
- package/dist/elements/RadioGroup/RadioGroup.types.d.ts.map +1 -0
- package/dist/elements/RadioGroup/index.d.ts +10 -0
- package/dist/elements/RadioGroup/index.d.ts.map +1 -0
- package/dist/elements/RadioGroup/index.js +47 -0
- package/dist/elements/RadioGroup/index.js.map +1 -0
- package/dist/elements/RadioGroup/index.mjs +6 -0
- package/dist/elements/RadioGroup/index.mjs.map +1 -0
- package/dist/elements/Resizable/Resizable.types.d.ts +188 -0
- package/dist/elements/Resizable/Resizable.types.d.ts.map +1 -0
- package/dist/elements/Resizable/components/ResizableHandle.d.ts +28 -0
- package/dist/elements/Resizable/components/ResizableHandle.d.ts.map +1 -0
- package/dist/elements/Resizable/components/ResizablePanel.d.ts +24 -0
- package/dist/elements/Resizable/components/ResizablePanel.d.ts.map +1 -0
- package/dist/elements/Resizable/components/ResizablePanelGroup.d.ts +26 -0
- package/dist/elements/Resizable/components/ResizablePanelGroup.d.ts.map +1 -0
- package/dist/elements/Resizable/components/ResizablePopover.d.ts +45 -0
- package/dist/elements/Resizable/components/ResizablePopover.d.ts.map +1 -0
- package/dist/elements/Resizable/hooks/useResizable.d.ts +50 -0
- package/dist/elements/Resizable/hooks/useResizable.d.ts.map +1 -0
- package/dist/elements/Resizable/hooks/useResizableContext.d.ts +36 -0
- package/dist/elements/Resizable/hooks/useResizableContext.d.ts.map +1 -0
- package/dist/elements/Resizable/index.d.ts +37 -0
- package/dist/elements/Resizable/index.d.ts.map +1 -0
- package/dist/elements/Resizable/index.js +65 -0
- package/dist/elements/Resizable/index.js.map +1 -0
- package/dist/elements/Resizable/index.mjs +8 -0
- package/dist/elements/Resizable/index.mjs.map +1 -0
- package/dist/elements/Select/Select.d.ts +184 -0
- package/dist/elements/Select/Select.d.ts.map +1 -0
- package/dist/elements/Select/Select.types.d.ts +166 -0
- package/dist/elements/Select/Select.types.d.ts.map +1 -0
- package/dist/elements/Select/index.d.ts +35 -0
- package/dist/elements/Select/index.d.ts.map +1 -0
- package/dist/elements/Select/index.js +33 -0
- package/dist/elements/Select/index.js.map +1 -0
- package/dist/elements/Select/index.mjs +4 -0
- package/dist/elements/Select/index.mjs.map +1 -0
- package/dist/elements/Skeleton/Skeleton.d.ts +31 -0
- package/dist/elements/Skeleton/Skeleton.d.ts.map +1 -0
- package/dist/elements/Skeleton/Skeleton.types.d.ts +36 -0
- package/dist/elements/Skeleton/Skeleton.types.d.ts.map +1 -0
- package/dist/elements/Skeleton/index.d.ts +11 -0
- package/dist/elements/Skeleton/index.d.ts.map +1 -0
- package/dist/elements/Skeleton/index.js +22 -0
- package/dist/elements/Skeleton/index.js.map +1 -0
- package/dist/elements/Skeleton/index.mjs +5 -0
- package/dist/elements/Skeleton/index.mjs.map +1 -0
- package/dist/elements/Switch/Switch.d.ts +39 -0
- package/dist/elements/Switch/Switch.d.ts.map +1 -0
- package/dist/elements/Switch/Switch.types.d.ts +53 -0
- package/dist/elements/Switch/Switch.types.d.ts.map +1 -0
- package/dist/elements/Switch/index.d.ts +8 -0
- package/dist/elements/Switch/index.d.ts.map +1 -0
- package/dist/elements/Switch/index.js +49 -0
- package/dist/elements/Switch/index.js.map +1 -0
- package/dist/elements/Switch/index.mjs +31 -0
- package/dist/elements/Switch/index.mjs.map +1 -0
- package/dist/elements/Table/Table.d.ts +123 -0
- package/dist/elements/Table/Table.d.ts.map +1 -0
- package/dist/elements/Table/Table.types.d.ts +356 -0
- package/dist/elements/Table/Table.types.d.ts.map +1 -0
- package/dist/elements/Table/index.d.ts +5 -0
- package/dist/elements/Table/index.d.ts.map +1 -0
- package/dist/elements/Table/index.js +76 -0
- package/dist/elements/Table/index.js.map +1 -0
- package/dist/elements/Table/index.mjs +7 -0
- package/dist/elements/Table/index.mjs.map +1 -0
- package/dist/elements/Tabs/Tabs.d.ts +129 -0
- package/dist/elements/Tabs/Tabs.d.ts.map +1 -0
- package/dist/elements/Tabs/Tabs.types.d.ts +179 -0
- package/dist/elements/Tabs/Tabs.types.d.ts.map +1 -0
- package/dist/elements/Tabs/index.d.ts +12 -0
- package/dist/elements/Tabs/index.d.ts.map +1 -0
- package/dist/elements/Tabs/index.js +74 -0
- package/dist/elements/Tabs/index.js.map +1 -0
- package/dist/elements/Tabs/index.mjs +5 -0
- package/dist/elements/Tabs/index.mjs.map +1 -0
- package/dist/elements/TextField/TextField.d.ts +155 -0
- package/dist/elements/TextField/TextField.d.ts.map +1 -0
- package/dist/elements/TextField/TextField.types.d.ts +258 -0
- package/dist/elements/TextField/TextField.types.d.ts.map +1 -0
- package/dist/elements/TextField/index.css +23 -0
- package/dist/elements/TextField/index.css.map +1 -0
- package/dist/elements/TextField/index.d.ts +13 -0
- package/dist/elements/TextField/index.d.ts.map +1 -0
- package/dist/elements/TextField/index.js +260 -0
- package/dist/elements/TextField/index.js.map +1 -0
- package/dist/elements/TextField/index.mjs +207 -0
- package/dist/elements/TextField/index.mjs.map +1 -0
- package/dist/elements/TimeField/TimeField.d.ts +34 -0
- package/dist/elements/TimeField/TimeField.d.ts.map +1 -0
- package/dist/elements/TimeField/TimeField.types.d.ts +151 -0
- package/dist/elements/TimeField/TimeField.types.d.ts.map +1 -0
- package/dist/elements/TimeField/index.d.ts +24 -0
- package/dist/elements/TimeField/index.d.ts.map +1 -0
- package/dist/elements/TimeField/index.js +45 -0
- package/dist/elements/TimeField/index.js.map +1 -0
- package/dist/elements/TimeField/index.mjs +4 -0
- package/dist/elements/TimeField/index.mjs.map +1 -0
- package/dist/elements/Toast/Toast.d.ts +105 -0
- package/dist/elements/Toast/Toast.d.ts.map +1 -0
- package/dist/elements/Toast/Toast.types.d.ts +209 -0
- package/dist/elements/Toast/Toast.types.d.ts.map +1 -0
- package/dist/elements/Toast/ToastProvider.d.ts +37 -0
- package/dist/elements/Toast/ToastProvider.d.ts.map +1 -0
- package/dist/elements/Toast/Toaster.d.ts +18 -0
- package/dist/elements/Toast/Toaster.d.ts.map +1 -0
- package/dist/elements/Toast/index.d.ts +27 -0
- package/dist/elements/Toast/index.d.ts.map +1 -0
- package/dist/elements/Toast/index.js +60 -0
- package/dist/elements/Toast/index.js.map +1 -0
- package/dist/elements/Toast/index.mjs +7 -0
- package/dist/elements/Toast/index.mjs.map +1 -0
- package/dist/elements/Tooltip/Tooltip.d.ts +108 -0
- package/dist/elements/Tooltip/Tooltip.d.ts.map +1 -0
- package/dist/elements/Tooltip/Tooltip.types.d.ts +135 -0
- package/dist/elements/Tooltip/Tooltip.types.d.ts.map +1 -0
- package/dist/elements/Tooltip/index.d.ts +11 -0
- package/dist/elements/Tooltip/index.d.ts.map +1 -0
- package/dist/elements/Tooltip/index.js +59 -0
- package/dist/elements/Tooltip/index.js.map +1 -0
- package/dist/elements/Tooltip/index.mjs +6 -0
- package/dist/elements/Tooltip/index.mjs.map +1 -0
- package/dist/elements/index.css +23 -0
- package/dist/elements/index.css.map +1 -0
- package/dist/elements/index.d.ts +42 -0
- package/dist/elements/index.d.ts.map +1 -0
- package/dist/elements/index.js +839 -0
- package/dist/elements/index.js.map +1 -0
- package/dist/elements/index.mjs +42 -0
- package/dist/elements/index.mjs.map +1 -0
- package/dist/index.css +23 -0
- package/dist/index.css.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +865 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +44 -0
- package/dist/index.mjs.map +1 -0
- package/dist/schemas/BaseComponentProps.d.ts +25 -0
- package/dist/schemas/BaseComponentProps.d.ts.map +1 -0
- package/dist/schemas/RegistryItem.d.ts +55 -0
- package/dist/schemas/RegistryItem.d.ts.map +1 -0
- package/dist/schemas/index.d.ts +3 -0
- package/dist/schemas/index.d.ts.map +1 -0
- package/dist/schemas/index.js +29 -0
- package/dist/schemas/index.js.map +1 -0
- package/dist/schemas/index.mjs +4 -0
- package/dist/schemas/index.mjs.map +1 -0
- package/dist/styles/defaults.css +174 -0
- package/dist/styles/index.d.ts +7 -0
- package/dist/styles/index.d.ts.map +1 -0
- package/dist/styles/index.js +153 -0
- package/dist/styles/index.js.map +1 -0
- package/dist/styles/index.mjs +4 -0
- package/dist/styles/index.mjs.map +1 -0
- package/dist/styles/interaction-states.d.ts +96 -0
- package/dist/styles/interaction-states.d.ts.map +1 -0
- package/dist/styles/shared-variants.d.ts +120 -0
- package/dist/styles/shared-variants.d.ts.map +1 -0
- package/dist/styles/tokens.css +89 -0
- package/dist/utils/cn.d.ts +13 -0
- package/dist/utils/cn.d.ts.map +1 -0
- package/dist/utils/index.d.ts +2 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +13 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/index.mjs +4 -0
- package/dist/utils/index.mjs.map +1 -0
- package/package.json +228 -0
- package/src/elements/Accordion/Accordion.stories.tsx +793 -0
- package/src/elements/Avatar/Avatar.stories.tsx +408 -0
- package/src/elements/Badge/Badge.stories.tsx +509 -0
- package/src/elements/Breadcrumbs/Breadcrumbs.stories.tsx +623 -0
- package/src/elements/Button/Button.stories.tsx +670 -0
- package/src/elements/ButtonGroup/ButtonGroup.stories.tsx +658 -0
- package/src/elements/Card/Card.stories.tsx +570 -0
- package/src/elements/Carousel/Carousel.stories.tsx +597 -0
- package/src/elements/Chart/Chart.stories.tsx +616 -0
- package/src/elements/Checkbox/Checkbox.stories.tsx +514 -0
- package/src/elements/CheckboxGroup/CheckboxGroup.stories.tsx +1514 -0
- package/src/elements/DatePicker/DatePicker.stories.tsx +341 -0
- package/src/elements/Dropdown/Dropdown.stories.tsx +397 -0
- package/src/elements/FileField/FileField.stories.tsx +1021 -0
- package/src/elements/FileField/FileProgress.stories.tsx +359 -0
- package/src/elements/FormLayout/FormLayout.stories.tsx +637 -0
- package/src/elements/Modal/Modal.stories.tsx +640 -0
- package/src/elements/NumberField/NumberField.stories.tsx +678 -0
- package/src/elements/OTPInput/OTPInput.stories.tsx +404 -0
- package/src/elements/Panel/Panel.stories.tsx +769 -0
- package/src/elements/Progress/Progress.stories.tsx +668 -0
- package/src/elements/RadioGroup/RadioGroup.stories.tsx +1153 -0
- package/src/elements/Resizable/Resizable.stories.tsx +374 -0
- package/src/elements/Select/Select.stories.tsx +362 -0
- package/src/elements/Skeleton/Skeleton.stories.tsx +284 -0
- package/src/elements/Switch/Switch.stories.tsx +441 -0
- package/src/elements/Table/Table.stories.tsx +790 -0
- package/src/elements/Tabs/Tabs.stories.tsx +661 -0
- package/src/elements/TextField/TextField.stories.tsx +1878 -0
- package/src/elements/TimeField/TimeField.stories.tsx +671 -0
- package/src/elements/Toast/Toast.stories.tsx +971 -0
- package/src/elements/Tooltip/Tooltip.stories.tsx +748 -0
- package/tailwind.config.js +10 -0
- package/tailwind.config.v3.js +10 -0
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
export { TextField, TextFieldDescription, TextFieldError, TextFieldInput, TextFieldLabel, TextFieldSuccess, inputVariants, labelVariants, successMessageVariants, inputVariants as textFieldInputVariants, labelVariants as textFieldLabelVariants } from '../../chunk-HSGBJPJO.mjs';
|
|
2
|
+
import '../../chunk-BDXKKMBZ.mjs';
|
|
3
|
+
import '../../chunk-FPKEAJRZ.mjs';
|
|
4
|
+
import '../../chunk-HK46BT5U.mjs';
|
|
5
|
+
import '../../chunk-E2KQFV3O.mjs';
|
|
6
|
+
import { BaseComponentPropsSchema } from '../../chunk-5SVLJN2C.mjs';
|
|
7
|
+
import { z } from 'zod';
|
|
8
|
+
|
|
9
|
+
var AutoCompleteValue = z.enum([
|
|
10
|
+
// Control tokens
|
|
11
|
+
"off",
|
|
12
|
+
"on",
|
|
13
|
+
// Name-related
|
|
14
|
+
"name",
|
|
15
|
+
"honorific-prefix",
|
|
16
|
+
"given-name",
|
|
17
|
+
"additional-name",
|
|
18
|
+
"family-name",
|
|
19
|
+
"honorific-suffix",
|
|
20
|
+
"nickname",
|
|
21
|
+
// Contact
|
|
22
|
+
"email",
|
|
23
|
+
"username",
|
|
24
|
+
// Authentication
|
|
25
|
+
"new-password",
|
|
26
|
+
"current-password",
|
|
27
|
+
"one-time-code",
|
|
28
|
+
// Organization
|
|
29
|
+
"organization-title",
|
|
30
|
+
"organization",
|
|
31
|
+
// Address
|
|
32
|
+
"street-address",
|
|
33
|
+
"address-line1",
|
|
34
|
+
"address-line2",
|
|
35
|
+
"address-line3",
|
|
36
|
+
"address-level4",
|
|
37
|
+
"address-level3",
|
|
38
|
+
"address-level2",
|
|
39
|
+
"address-level1",
|
|
40
|
+
"country",
|
|
41
|
+
"country-name",
|
|
42
|
+
"postal-code",
|
|
43
|
+
// Payment
|
|
44
|
+
"cc-name",
|
|
45
|
+
"cc-given-name",
|
|
46
|
+
"cc-additional-name",
|
|
47
|
+
"cc-family-name",
|
|
48
|
+
"cc-number",
|
|
49
|
+
"cc-exp",
|
|
50
|
+
"cc-exp-month",
|
|
51
|
+
"cc-exp-year",
|
|
52
|
+
"cc-csc",
|
|
53
|
+
"cc-type",
|
|
54
|
+
// Transaction
|
|
55
|
+
"transaction-currency",
|
|
56
|
+
"transaction-amount",
|
|
57
|
+
// Personal
|
|
58
|
+
"language",
|
|
59
|
+
"bday",
|
|
60
|
+
"bday-day",
|
|
61
|
+
"bday-month",
|
|
62
|
+
"bday-year",
|
|
63
|
+
"sex",
|
|
64
|
+
// Telephone
|
|
65
|
+
"tel",
|
|
66
|
+
"tel-country-code",
|
|
67
|
+
"tel-national",
|
|
68
|
+
"tel-area-code",
|
|
69
|
+
"tel-local",
|
|
70
|
+
"tel-extension",
|
|
71
|
+
// Other
|
|
72
|
+
"impp",
|
|
73
|
+
"url",
|
|
74
|
+
"photo"
|
|
75
|
+
]);
|
|
76
|
+
var DANGEROUS_REGEX_PATTERNS = [
|
|
77
|
+
/\(\.\*\)\+/,
|
|
78
|
+
// Catastrophic backtracking: (.*)+
|
|
79
|
+
/\(\.\+\)\+/,
|
|
80
|
+
// Catastrophic backtracking: (.+)+
|
|
81
|
+
/\([^)]*\)\{.*,.*\}/,
|
|
82
|
+
// Excessive quantifiers: (x){10,1000}
|
|
83
|
+
/\(\?!\)/,
|
|
84
|
+
// Negative lookahead (can be slow)
|
|
85
|
+
/\(\?<=\)/
|
|
86
|
+
// Positive lookbehind (can be slow)
|
|
87
|
+
];
|
|
88
|
+
var validatePatternSafety = (pattern) => {
|
|
89
|
+
for (const dangerous of DANGEROUS_REGEX_PATTERNS) {
|
|
90
|
+
if (dangerous.test(pattern)) {
|
|
91
|
+
return false;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
const quantifierCount = (pattern.match(/[*+{}]/g) || []).length;
|
|
95
|
+
if (quantifierCount > 5) {
|
|
96
|
+
return false;
|
|
97
|
+
}
|
|
98
|
+
return true;
|
|
99
|
+
};
|
|
100
|
+
var TextFieldPropsSchema = BaseComponentPropsSchema.extend({
|
|
101
|
+
// Size variants (matching Button sizes: sm, default, lg)
|
|
102
|
+
size: z.enum(["sm", "default", "lg"]).optional().default("default"),
|
|
103
|
+
// Text content
|
|
104
|
+
label: z.string().optional(),
|
|
105
|
+
description: z.string().optional(),
|
|
106
|
+
errorMessage: z.string().optional(),
|
|
107
|
+
successMessage: z.string().optional(),
|
|
108
|
+
// Input type - BREAKING: removed 'tel' (use TelField component instead)
|
|
109
|
+
// @see DECISIONS.md Decision 14
|
|
110
|
+
type: z.enum(["text", "email", "password", "url", "search"]).optional().default("text"),
|
|
111
|
+
// State props
|
|
112
|
+
isRequired: z.boolean().optional(),
|
|
113
|
+
isReadOnly: z.boolean().optional(),
|
|
114
|
+
isDisabled: z.boolean().optional(),
|
|
115
|
+
isInvalid: z.boolean().optional(),
|
|
116
|
+
isValid: z.boolean().optional(),
|
|
117
|
+
// Input attributes
|
|
118
|
+
placeholder: z.string().optional(),
|
|
119
|
+
value: z.string().optional(),
|
|
120
|
+
defaultValue: z.string().optional(),
|
|
121
|
+
name: z.string().optional(),
|
|
122
|
+
autoFocus: z.boolean().optional(),
|
|
123
|
+
// AutoComplete - BREAKING: strict MDN enum instead of string
|
|
124
|
+
// @see DECISIONS.md Decision 13
|
|
125
|
+
autoComplete: AutoCompleteValue.optional(),
|
|
126
|
+
maxLength: z.number().optional(),
|
|
127
|
+
minLength: z.number().optional(),
|
|
128
|
+
// Pattern validation with security check
|
|
129
|
+
// @see DECISIONS.md Decision 15, 18
|
|
130
|
+
// @warning SECURITY: Only use patterns defined in source code, never from user input
|
|
131
|
+
pattern: z.string().optional(),
|
|
132
|
+
patternDescription: z.string().optional(),
|
|
133
|
+
// Feature: Copy/Paste Restriction
|
|
134
|
+
// @see DECISIONS.md Decision 4
|
|
135
|
+
disableCopyPaste: z.boolean().optional().default(false),
|
|
136
|
+
// Feature: Prefix/Suffix
|
|
137
|
+
// @see DECISIONS.md Decision 9
|
|
138
|
+
prefix: z.any().optional(),
|
|
139
|
+
// ReactNode - can't validate with Zod
|
|
140
|
+
suffix: z.any().optional(),
|
|
141
|
+
// ReactNode - can't validate with Zod
|
|
142
|
+
prefixSize: z.number().optional().default(16),
|
|
143
|
+
suffixSize: z.number().optional().default(16),
|
|
144
|
+
// Feature: Expand on Focus
|
|
145
|
+
// @see DECISIONS.md Decision 6, 17
|
|
146
|
+
expandOnFocus: z.boolean().optional().default(false),
|
|
147
|
+
collapsedWidth: z.string().optional().default("200px"),
|
|
148
|
+
// Feature: Password Toggle
|
|
149
|
+
// @see DECISIONS.md Decision 8
|
|
150
|
+
showPasswordToggle: z.boolean().optional()
|
|
151
|
+
// Event handlers (onChange, onBlur, onFocus inherited from AriaTextFieldProps)
|
|
152
|
+
// Custom validate function added in TypeScript type below (not in Zod schema)
|
|
153
|
+
}).refine(
|
|
154
|
+
(data) => !data.pattern || data.patternDescription,
|
|
155
|
+
{
|
|
156
|
+
message: "patternDescription is required when pattern is provided",
|
|
157
|
+
path: ["patternDescription"]
|
|
158
|
+
}
|
|
159
|
+
).refine(
|
|
160
|
+
(data) => !data.pattern || validatePatternSafety(data.pattern),
|
|
161
|
+
{
|
|
162
|
+
message: "Unsafe regex pattern detected. Pattern may cause ReDoS vulnerability. Avoid patterns like (.*)+, (.+)+, or excessive quantifiers.",
|
|
163
|
+
path: ["pattern"]
|
|
164
|
+
}
|
|
165
|
+
).refine(
|
|
166
|
+
(data) => !(data.successMessage && data.errorMessage),
|
|
167
|
+
{
|
|
168
|
+
message: "Cannot provide both successMessage and errorMessage. Use one based on validation state.",
|
|
169
|
+
path: ["successMessage"]
|
|
170
|
+
}
|
|
171
|
+
).refine(
|
|
172
|
+
(data) => {
|
|
173
|
+
if (typeof process !== "undefined" && process.env.NODE_ENV === "development") {
|
|
174
|
+
if (data.isValid && data.isInvalid) {
|
|
175
|
+
console.error("[TextField] Both isValid and isInvalid are true. isInvalid takes precedence.");
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
return true;
|
|
179
|
+
}
|
|
180
|
+
);
|
|
181
|
+
var TextFieldLabelPropsSchema = z.object({
|
|
182
|
+
children: z.any().optional(),
|
|
183
|
+
className: z.string().optional(),
|
|
184
|
+
htmlFor: z.string().optional(),
|
|
185
|
+
state: z.enum(["default", "error", "disabled"]).optional().default("default")
|
|
186
|
+
});
|
|
187
|
+
var TextFieldInputPropsSchema = z.object({
|
|
188
|
+
className: z.string().optional(),
|
|
189
|
+
size: z.enum(["sm", "default", "lg"]).optional().default("default"),
|
|
190
|
+
state: z.enum(["default", "error", "success", "disabled", "readonly"]).optional().default("default")
|
|
191
|
+
});
|
|
192
|
+
var TextFieldDescriptionPropsSchema = z.object({
|
|
193
|
+
children: z.any().optional(),
|
|
194
|
+
className: z.string().optional()
|
|
195
|
+
});
|
|
196
|
+
var TextFieldErrorPropsSchema = z.object({
|
|
197
|
+
children: z.any().optional(),
|
|
198
|
+
className: z.string().optional()
|
|
199
|
+
});
|
|
200
|
+
var TextFieldSuccessPropsSchema = z.object({
|
|
201
|
+
children: z.any().optional(),
|
|
202
|
+
className: z.string().optional()
|
|
203
|
+
});
|
|
204
|
+
|
|
205
|
+
export { AutoCompleteValue as AutoCompleteValueSchema, TextFieldDescriptionPropsSchema, TextFieldErrorPropsSchema, TextFieldInputPropsSchema, TextFieldLabelPropsSchema, TextFieldPropsSchema, TextFieldSuccessPropsSchema, validatePatternSafety };
|
|
206
|
+
//# sourceMappingURL=index.mjs.map
|
|
207
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/elements/TextField/TextField.types.ts"],"names":[],"mappings":"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","file":"index.mjs","sourcesContent":["import { z } from 'zod';\nimport type { ReactNode } from 'react';\nimport { BaseComponentPropsSchema } from '../../schemas/BaseComponentProps';\nimport type {\n TextFieldProps as AriaTextFieldProps,\n LabelProps as AriaLabelProps,\n InputProps as AriaInputProps,\n TextProps as AriaTextProps,\n} from 'react-aria-components';\n\n/**\n * AutoComplete values from MDN spec\n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete\n */\nexport const AutoCompleteValue = z.enum([\n // Control tokens\n 'off',\n 'on',\n // Name-related\n 'name',\n 'honorific-prefix',\n 'given-name',\n 'additional-name',\n 'family-name',\n 'honorific-suffix',\n 'nickname',\n // Contact\n 'email',\n 'username',\n // Authentication\n 'new-password',\n 'current-password',\n 'one-time-code',\n // Organization\n 'organization-title',\n 'organization',\n // Address\n 'street-address',\n 'address-line1',\n 'address-line2',\n 'address-line3',\n 'address-level4',\n 'address-level3',\n 'address-level2',\n 'address-level1',\n 'country',\n 'country-name',\n 'postal-code',\n // Payment\n 'cc-name',\n 'cc-given-name',\n 'cc-additional-name',\n 'cc-family-name',\n 'cc-number',\n 'cc-exp',\n 'cc-exp-month',\n 'cc-exp-year',\n 'cc-csc',\n 'cc-type',\n // Transaction\n 'transaction-currency',\n 'transaction-amount',\n // Personal\n 'language',\n 'bday',\n 'bday-day',\n 'bday-month',\n 'bday-year',\n 'sex',\n // Telephone\n 'tel',\n 'tel-country-code',\n 'tel-national',\n 'tel-area-code',\n 'tel-local',\n 'tel-extension',\n // Other\n 'impp',\n 'url',\n 'photo',\n]);\n\nexport type AutoCompleteValueType = z.infer<typeof AutoCompleteValue>;\n\n/**\n * Dangerous regex patterns that can cause ReDoS attacks\n * @see DECISIONS.md Decision 21\n */\nconst DANGEROUS_REGEX_PATTERNS = [\n /\\(\\.\\*\\)\\+/, // Catastrophic backtracking: (.*)+\n /\\(\\.\\+\\)\\+/, // Catastrophic backtracking: (.+)+\n /\\([^)]*\\)\\{.*,.*\\}/, // Excessive quantifiers: (x){10,1000}\n /\\(\\?!\\)/, // Negative lookahead (can be slow)\n /\\(\\?<=\\)/, // Positive lookbehind (can be slow)\n];\n\n/**\n * Validates regex pattern for ReDoS safety\n * @param pattern - Regular expression pattern string\n * @returns true if pattern is safe, false if potentially dangerous\n */\nexport const validatePatternSafety = (pattern: string): boolean => {\n // Check for known dangerous patterns\n for (const dangerous of DANGEROUS_REGEX_PATTERNS) {\n if (dangerous.test(pattern)) {\n return false;\n }\n }\n\n // Check for excessive nested quantifiers\n const quantifierCount = (pattern.match(/[*+{}]/g) || []).length;\n if (quantifierCount > 5) {\n return false;\n }\n\n return true;\n};\n\n/**\n * TextField props schema extending BaseComponentProps\n *\n * @see spec.md FR-009 to FR-014 (Accessibility Requirements - WCAG 2.2 AAA)\n * @see React Aria TextField: https://react-spectrum.adobe.com/react-aria/TextField.html\n * @see ShadCN Input: https://ui.shadcn.com/docs/components/input\n * @see ShadCN Label: https://ui.shadcn.com/docs/components/label\n */\nexport const TextFieldPropsSchema = BaseComponentPropsSchema.extend({\n // Size variants (matching Button sizes: sm, default, lg)\n size: z.enum(['sm', 'default', 'lg']).optional().default('default'),\n\n // Text content\n label: z.string().optional(),\n description: z.string().optional(),\n errorMessage: z.string().optional(),\n successMessage: z.string().optional(),\n\n // Input type - BREAKING: removed 'tel' (use TelField component instead)\n // @see DECISIONS.md Decision 14\n type: z\n .enum(['text', 'email', 'password', 'url', 'search'])\n .optional()\n .default('text'),\n\n // State props\n isRequired: z.boolean().optional(),\n isReadOnly: z.boolean().optional(),\n isDisabled: z.boolean().optional(),\n isInvalid: z.boolean().optional(),\n isValid: z.boolean().optional(),\n\n // Input attributes\n placeholder: z.string().optional(),\n value: z.string().optional(),\n defaultValue: z.string().optional(),\n name: z.string().optional(),\n autoFocus: z.boolean().optional(),\n\n // AutoComplete - BREAKING: strict MDN enum instead of string\n // @see DECISIONS.md Decision 13\n autoComplete: AutoCompleteValue.optional(),\n\n maxLength: z.number().optional(),\n minLength: z.number().optional(),\n\n // Pattern validation with security check\n // @see DECISIONS.md Decision 15, 18\n // @warning SECURITY: Only use patterns defined in source code, never from user input\n pattern: z.string().optional(),\n patternDescription: z.string().optional(),\n\n // Feature: Copy/Paste Restriction\n // @see DECISIONS.md Decision 4\n disableCopyPaste: z.boolean().optional().default(false),\n\n // Feature: Prefix/Suffix\n // @see DECISIONS.md Decision 9\n prefix: z.any().optional(), // ReactNode - can't validate with Zod\n suffix: z.any().optional(), // ReactNode - can't validate with Zod\n prefixSize: z.number().optional().default(16),\n suffixSize: z.number().optional().default(16),\n\n // Feature: Expand on Focus\n // @see DECISIONS.md Decision 6, 17\n expandOnFocus: z.boolean().optional().default(false),\n collapsedWidth: z.string().optional().default('200px'),\n\n // Feature: Password Toggle\n // @see DECISIONS.md Decision 8\n showPasswordToggle: z.boolean().optional(),\n\n // Event handlers (onChange, onBlur, onFocus inherited from AriaTextFieldProps)\n // Custom validate function added in TypeScript type below (not in Zod schema)\n})\n.refine(\n (data) => !data.pattern || data.patternDescription,\n {\n message: \"patternDescription is required when pattern is provided\",\n path: [\"patternDescription\"]\n }\n)\n.refine(\n (data) => !data.pattern || validatePatternSafety(data.pattern),\n {\n message: \"Unsafe regex pattern detected. Pattern may cause ReDoS vulnerability. Avoid patterns like (.*)+, (.+)+, or excessive quantifiers.\",\n path: [\"pattern\"]\n }\n)\n.refine(\n (data) => !(data.successMessage && data.errorMessage),\n {\n message: \"Cannot provide both successMessage and errorMessage. Use one based on validation state.\",\n path: [\"successMessage\"]\n }\n)\n.refine(\n (data) => {\n // Development mode warning for conflicting validation states\n if (typeof process !== 'undefined' && process.env.NODE_ENV === 'development') {\n if (data.isValid && data.isInvalid) {\n console.error('[TextField] Both isValid and isInvalid are true. isInvalid takes precedence.');\n }\n }\n return true;\n }\n);\n\nexport type TextFieldProps = Partial<z.infer<typeof TextFieldPropsSchema>> &\n Omit<AriaTextFieldProps, keyof z.infer<typeof TextFieldPropsSchema>> & {\n // Explicitly type onChange for better IntelliSense\n onChange?: (value: string) => void;\n\n // Custom validation function\n // @see DECISIONS.md Decision 7, 18\n // Pattern validation runs first, then custom validate\n validate?: (value: string) => string | undefined | null;\n\n // Prefix/Suffix with proper typing\n prefix?: ReactNode;\n suffix?: ReactNode;\n };\n\n/**\n * Label props schema for TextField label sub-component\n */\nexport const TextFieldLabelPropsSchema = z.object({\n children: z.any().optional(),\n className: z.string().optional(),\n htmlFor: z.string().optional(),\n state: z.enum(['default', 'error', 'disabled']).optional().default('default'),\n});\n\nexport type TextFieldLabelProps = z.infer<typeof TextFieldLabelPropsSchema> &\n Omit<AriaLabelProps, keyof z.infer<typeof TextFieldLabelPropsSchema>>;\n\n/**\n * Input props schema for TextField input sub-component\n */\nexport const TextFieldInputPropsSchema = z.object({\n className: z.string().optional(),\n size: z.enum(['sm', 'default', 'lg']).optional().default('default'),\n state: z\n .enum(['default', 'error', 'success', 'disabled', 'readonly'])\n .optional()\n .default('default'),\n});\n\nexport type TextFieldInputProps = z.infer<typeof TextFieldInputPropsSchema> &\n Omit<AriaInputProps, keyof z.infer<typeof TextFieldInputPropsSchema>>;\n\n/**\n * Description text props schema for TextField description sub-component\n */\nexport const TextFieldDescriptionPropsSchema = z.object({\n children: z.any().optional(),\n className: z.string().optional(),\n});\n\nexport type TextFieldDescriptionProps = z.infer<typeof TextFieldDescriptionPropsSchema> &\n Omit<AriaTextProps, keyof z.infer<typeof TextFieldDescriptionPropsSchema>>;\n\n/**\n * Error message props schema for TextField error sub-component\n */\nexport const TextFieldErrorPropsSchema = z.object({\n children: z.any().optional(),\n className: z.string().optional(),\n});\n\nexport type TextFieldErrorProps = z.infer<typeof TextFieldErrorPropsSchema> &\n Omit<AriaTextProps, keyof z.infer<typeof TextFieldErrorPropsSchema>>;\n\n/**\n * Success message props schema for TextField success sub-component\n * @see DECISIONS.md Decision 5\n */\nexport const TextFieldSuccessPropsSchema = z.object({\n children: z.any().optional(),\n className: z.string().optional(),\n});\n\nexport type TextFieldSuccessProps = z.infer<typeof TextFieldSuccessPropsSchema> &\n Omit<AriaTextProps, keyof z.infer<typeof TextFieldSuccessPropsSchema>>;\n\n/**\n * CVA variant configuration types\n */\nexport type TextFieldSize = z.infer<typeof TextFieldPropsSchema>['size'];\nexport type InputState = z.infer<typeof TextFieldInputPropsSchema>['state'];\nexport type LabelState = z.infer<typeof TextFieldLabelPropsSchema>['state'];\n"]}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TimeField component for time input with keyboard-editable segments.
|
|
3
|
+
*
|
|
4
|
+
* @example
|
|
5
|
+
* ```tsx
|
|
6
|
+
* import { TimeField, Time } from '@tribepad/themis/elements/TimeField';
|
|
7
|
+
*
|
|
8
|
+
* // Basic usage
|
|
9
|
+
* <TimeField label="Meeting Time" />
|
|
10
|
+
*
|
|
11
|
+
* // With default value
|
|
12
|
+
* <TimeField
|
|
13
|
+
* label="Start Time"
|
|
14
|
+
* defaultValue={new Time(14, 30)}
|
|
15
|
+
* />
|
|
16
|
+
*
|
|
17
|
+
* // 12-hour format with step
|
|
18
|
+
* <TimeField
|
|
19
|
+
* label="Appointment"
|
|
20
|
+
* hourCycle={12}
|
|
21
|
+
* step={15}
|
|
22
|
+
* />
|
|
23
|
+
*
|
|
24
|
+
* // With validation
|
|
25
|
+
* <TimeField
|
|
26
|
+
* label="Office Hours"
|
|
27
|
+
* minValue={new Time(9, 0)}
|
|
28
|
+
* maxValue={new Time(17, 0)}
|
|
29
|
+
* errorMessage="Please select a time within office hours"
|
|
30
|
+
* />
|
|
31
|
+
* ```
|
|
32
|
+
*/
|
|
33
|
+
export declare const TimeField: import("react").ForwardRefExoticComponent<import("react-aria-components").TimeFieldProps<import("react-aria").TimeValue> & import("./TimeField.types").ThemisTimeFieldCustomProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
34
|
+
//# sourceMappingURL=TimeField.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TimeField.d.ts","sourceRoot":"","sources":["../../../src/elements/TimeField/TimeField.tsx"],"names":[],"mappings":"AA4CA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,eAAO,MAAM,SAAS,oOAmErB,CAAC"}
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TimeField Component Types
|
|
3
|
+
*
|
|
4
|
+
* Zod schemas and TypeScript types for the TimeField component.
|
|
5
|
+
* Includes CVA variant definitions for styling.
|
|
6
|
+
*
|
|
7
|
+
* Note: Zod schemas are used for contract tests and developer guardrails,
|
|
8
|
+
* not runtime validation. This follows the established Themis pattern.
|
|
9
|
+
*
|
|
10
|
+
* @see {@link ../../docs/prd/timefield-prd.md} for full requirements
|
|
11
|
+
*/
|
|
12
|
+
import { z } from 'zod';
|
|
13
|
+
import { type VariantProps } from 'class-variance-authority';
|
|
14
|
+
import type { TimeFieldProps as AriaTimeFieldProps, TimeValue } from 'react-aria-components';
|
|
15
|
+
/**
|
|
16
|
+
* Union type for all time values supported by the TimeField.
|
|
17
|
+
* - Time: Time only (no date, no timezone)
|
|
18
|
+
* - CalendarDateTime: Date and time (no timezone)
|
|
19
|
+
* - ZonedDateTime: Date, time, and timezone
|
|
20
|
+
*/
|
|
21
|
+
export type { TimeValue } from 'react-aria-components';
|
|
22
|
+
/**
|
|
23
|
+
* Controls which time segments are displayed.
|
|
24
|
+
* - 'hour': Hour only (+ AM/PM in 12-hour mode)
|
|
25
|
+
* - 'minute': Hour + minute (default)
|
|
26
|
+
* - 'second': Hour + minute + second
|
|
27
|
+
*
|
|
28
|
+
* Note: Millisecond granularity is intentionally excluded - no common UI use case.
|
|
29
|
+
*/
|
|
30
|
+
export type TimeGranularity = 'hour' | 'minute' | 'second';
|
|
31
|
+
/**
|
|
32
|
+
* Size variants for TimeField component.
|
|
33
|
+
* - 'sm': Compact size (36px height) - AA compliant only, not AAA
|
|
34
|
+
* - 'default': Standard size (44px height) - AAA compliant
|
|
35
|
+
* - 'lg': Large size (56px height) - AAA compliant
|
|
36
|
+
*/
|
|
37
|
+
export type TimeFieldSize = 'sm' | 'default' | 'lg';
|
|
38
|
+
/**
|
|
39
|
+
* Hour cycle format.
|
|
40
|
+
* - 12: 12-hour format with AM/PM
|
|
41
|
+
* - 24: 24-hour format
|
|
42
|
+
*/
|
|
43
|
+
export type HourCycle = 12 | 24;
|
|
44
|
+
/**
|
|
45
|
+
* Zod schema for TimeField props validation.
|
|
46
|
+
* Used for contract tests and developer guardrails, not runtime validation.
|
|
47
|
+
*/
|
|
48
|
+
export declare const TimeFieldPropsSchema: z.ZodObject<{
|
|
49
|
+
value: z.ZodOptional<z.ZodCustom<TimeValue, TimeValue>>;
|
|
50
|
+
defaultValue: z.ZodOptional<z.ZodCustom<TimeValue, TimeValue>>;
|
|
51
|
+
placeholderValue: z.ZodOptional<z.ZodCustom<TimeValue, TimeValue>>;
|
|
52
|
+
granularity: z.ZodDefault<z.ZodEnum<{
|
|
53
|
+
hour: "hour";
|
|
54
|
+
minute: "minute";
|
|
55
|
+
second: "second";
|
|
56
|
+
}>>;
|
|
57
|
+
hourCycle: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<12>, z.ZodLiteral<24>]>>;
|
|
58
|
+
hideTimeZone: z.ZodOptional<z.ZodBoolean>;
|
|
59
|
+
shouldForceLeadingZeros: z.ZodOptional<z.ZodBoolean>;
|
|
60
|
+
minValue: z.ZodOptional<z.ZodCustom<TimeValue, TimeValue>>;
|
|
61
|
+
maxValue: z.ZodOptional<z.ZodCustom<TimeValue, TimeValue>>;
|
|
62
|
+
isDisabled: z.ZodOptional<z.ZodBoolean>;
|
|
63
|
+
isReadOnly: z.ZodOptional<z.ZodBoolean>;
|
|
64
|
+
isRequired: z.ZodOptional<z.ZodBoolean>;
|
|
65
|
+
isInvalid: z.ZodOptional<z.ZodBoolean>;
|
|
66
|
+
validate: z.ZodOptional<z.ZodFunction<z.core.$ZodFunctionArgs, z.core.$ZodFunctionOut>>;
|
|
67
|
+
validationBehavior: z.ZodDefault<z.ZodEnum<{
|
|
68
|
+
native: "native";
|
|
69
|
+
aria: "aria";
|
|
70
|
+
}>>;
|
|
71
|
+
label: z.ZodString;
|
|
72
|
+
description: z.ZodOptional<z.ZodString>;
|
|
73
|
+
errorMessage: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodFunction<z.core.$ZodFunctionArgs, z.core.$ZodFunctionOut>]>>;
|
|
74
|
+
name: z.ZodOptional<z.ZodString>;
|
|
75
|
+
size: z.ZodDefault<z.ZodEnum<{
|
|
76
|
+
default: "default";
|
|
77
|
+
sm: "sm";
|
|
78
|
+
lg: "lg";
|
|
79
|
+
}>>;
|
|
80
|
+
onChange: z.ZodOptional<z.ZodFunction<z.core.$ZodFunctionArgs, z.core.$ZodFunctionOut>>;
|
|
81
|
+
onFocus: z.ZodOptional<z.ZodFunction<z.core.$ZodFunctionArgs, z.core.$ZodFunctionOut>>;
|
|
82
|
+
onBlur: z.ZodOptional<z.ZodFunction<z.core.$ZodFunctionArgs, z.core.$ZodFunctionOut>>;
|
|
83
|
+
onFocusChange: z.ZodOptional<z.ZodFunction<z.core.$ZodFunctionArgs, z.core.$ZodFunctionOut>>;
|
|
84
|
+
className: z.ZodOptional<z.ZodString>;
|
|
85
|
+
autoFocus: z.ZodOptional<z.ZodBoolean>;
|
|
86
|
+
}, z.core.$strip>;
|
|
87
|
+
/**
|
|
88
|
+
* Custom props added to TimeField (not from React Aria).
|
|
89
|
+
*/
|
|
90
|
+
export interface ThemisTimeFieldCustomProps {
|
|
91
|
+
/** Size variant: 'sm', 'default', or 'lg' */
|
|
92
|
+
size?: TimeFieldSize;
|
|
93
|
+
/** Field label */
|
|
94
|
+
label?: string;
|
|
95
|
+
/** Description text below the field */
|
|
96
|
+
description?: string;
|
|
97
|
+
/** Error message when field is invalid */
|
|
98
|
+
errorMessage?: string;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Props for the TimeField component.
|
|
102
|
+
* Uses React Aria's TimeFieldProps directly to ensure correct function types.
|
|
103
|
+
*/
|
|
104
|
+
export type TimeFieldProps = AriaTimeFieldProps<TimeValue> & ThemisTimeFieldCustomProps;
|
|
105
|
+
/**
|
|
106
|
+
* Variants for the TimeField input container.
|
|
107
|
+
* Applies to the DateInput element wrapping time segments.
|
|
108
|
+
*
|
|
109
|
+
* Size notes:
|
|
110
|
+
* - sm (36px): Desktop-only, AA compliant only (not AAA touch target)
|
|
111
|
+
* - default (44px): AAA compliant, recommended for most use cases
|
|
112
|
+
* - lg (56px): AAA compliant, enhanced touch targets
|
|
113
|
+
*/
|
|
114
|
+
export declare const timeFieldVariants: (props?: ({
|
|
115
|
+
size?: "default" | "sm" | "lg" | null | undefined;
|
|
116
|
+
isInvalid?: boolean | null | undefined;
|
|
117
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
118
|
+
/**
|
|
119
|
+
* Variants for individual time segment elements.
|
|
120
|
+
* Each segment (hour, minute, second, dayPeriod) uses these styles.
|
|
121
|
+
*/
|
|
122
|
+
export declare const timeSegmentVariants: (props?: ({
|
|
123
|
+
size?: "default" | "sm" | "lg" | null | undefined;
|
|
124
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
125
|
+
/**
|
|
126
|
+
* Variants for the TimeField label.
|
|
127
|
+
*/
|
|
128
|
+
export declare const timeFieldLabelVariants: (props?: ({
|
|
129
|
+
size?: "default" | "sm" | "lg" | null | undefined;
|
|
130
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
131
|
+
/**
|
|
132
|
+
* Variants for the description text below the field.
|
|
133
|
+
*/
|
|
134
|
+
export declare const timeFieldDescriptionVariants: (props?: ({
|
|
135
|
+
size?: "default" | "sm" | "lg" | null | undefined;
|
|
136
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
137
|
+
/**
|
|
138
|
+
* Variants for the error message display.
|
|
139
|
+
*/
|
|
140
|
+
export declare const timeFieldErrorVariants: (props?: ({
|
|
141
|
+
size?: "default" | "sm" | "lg" | null | undefined;
|
|
142
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
143
|
+
/**
|
|
144
|
+
* Variant props for timeFieldVariants CVA function.
|
|
145
|
+
*/
|
|
146
|
+
export type TimeFieldVariantProps = VariantProps<typeof timeFieldVariants>;
|
|
147
|
+
/**
|
|
148
|
+
* Variant props for timeSegmentVariants CVA function.
|
|
149
|
+
*/
|
|
150
|
+
export type TimeSegmentVariantProps = VariantProps<typeof timeSegmentVariants>;
|
|
151
|
+
//# sourceMappingURL=TimeField.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TimeField.types.d.ts","sourceRoot":"","sources":["../../../src/elements/TimeField/TimeField.types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,EACV,cAAc,IAAI,kBAAkB,EACpC,SAAS,EACV,MAAM,uBAAuB,CAAC;AAM/B;;;;;GAKG;AACH,YAAY,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAMvD;;;;;;;GAOG;AACH,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAM3D;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,CAAC;AAMpD;;;;GAIG;AACH,MAAM,MAAM,SAAS,GAAG,EAAE,GAAG,EAAE,CAAC;AAMhC;;;GAGG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAoD/B,CAAC;AAMH;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,6CAA6C;IAC7C,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,kBAAkB;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uCAAuC;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0CAA0C;IAC1C,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,kBAAkB,CAAC,SAAS,CAAC,GACxD,0BAA0B,CAAC;AAM7B;;;;;;;;GAQG;AACH,eAAO,MAAM,iBAAiB;;;8EA4B7B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,mBAAmB;;8EAyB/B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,sBAAsB;;8EAoBlC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,4BAA4B;;8EAiBxC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,sBAAsB;;8EAkBlC,CAAC;AAMF;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG,YAAY,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE3E;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG,YAAY,CAAC,OAAO,mBAAmB,CAAC,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TimeField Component Exports
|
|
3
|
+
*
|
|
4
|
+
* Main entry point for the TimeField component.
|
|
5
|
+
* Re-exports time utilities from @internationalized/date for convenience.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```tsx
|
|
9
|
+
* import { TimeField, Time, parseTime } from '@tribepad/themis/elements/TimeField';
|
|
10
|
+
*
|
|
11
|
+
* <TimeField
|
|
12
|
+
* label="Meeting Time"
|
|
13
|
+
* defaultValue={new Time(14, 30)}
|
|
14
|
+
* granularity="minute"
|
|
15
|
+
* hourCycle={12}
|
|
16
|
+
* />
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
export { TimeField } from './TimeField';
|
|
20
|
+
export type { TimeFieldProps, TimeFieldSize, TimeGranularity, HourCycle } from './TimeField.types';
|
|
21
|
+
export { TimeFieldPropsSchema } from './TimeField.types';
|
|
22
|
+
export { timeFieldVariants, timeSegmentVariants, timeFieldLabelVariants, timeFieldDescriptionVariants, timeFieldErrorVariants, } from './TimeField.types';
|
|
23
|
+
export { Time, parseTime } from '@internationalized/date';
|
|
24
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/TimeField/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnG,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAGzD,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,sBAAsB,EACtB,4BAA4B,EAC5B,sBAAsB,GACvB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunk3H7ASYR7_js = require('../../chunk-3H7ASYR7.js');
|
|
4
|
+
require('../../chunk-VIREG536.js');
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
Object.defineProperty(exports, "Time", {
|
|
9
|
+
enumerable: true,
|
|
10
|
+
get: function () { return chunk3H7ASYR7_js.Time; }
|
|
11
|
+
});
|
|
12
|
+
Object.defineProperty(exports, "TimeField", {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function () { return chunk3H7ASYR7_js.TimeField; }
|
|
15
|
+
});
|
|
16
|
+
Object.defineProperty(exports, "TimeFieldPropsSchema", {
|
|
17
|
+
enumerable: true,
|
|
18
|
+
get: function () { return chunk3H7ASYR7_js.TimeFieldPropsSchema; }
|
|
19
|
+
});
|
|
20
|
+
Object.defineProperty(exports, "parseTime", {
|
|
21
|
+
enumerable: true,
|
|
22
|
+
get: function () { return chunk3H7ASYR7_js.parseTime; }
|
|
23
|
+
});
|
|
24
|
+
Object.defineProperty(exports, "timeFieldDescriptionVariants", {
|
|
25
|
+
enumerable: true,
|
|
26
|
+
get: function () { return chunk3H7ASYR7_js.timeFieldDescriptionVariants; }
|
|
27
|
+
});
|
|
28
|
+
Object.defineProperty(exports, "timeFieldErrorVariants", {
|
|
29
|
+
enumerable: true,
|
|
30
|
+
get: function () { return chunk3H7ASYR7_js.timeFieldErrorVariants; }
|
|
31
|
+
});
|
|
32
|
+
Object.defineProperty(exports, "timeFieldLabelVariants", {
|
|
33
|
+
enumerable: true,
|
|
34
|
+
get: function () { return chunk3H7ASYR7_js.timeFieldLabelVariants; }
|
|
35
|
+
});
|
|
36
|
+
Object.defineProperty(exports, "timeFieldVariants", {
|
|
37
|
+
enumerable: true,
|
|
38
|
+
get: function () { return chunk3H7ASYR7_js.timeFieldVariants; }
|
|
39
|
+
});
|
|
40
|
+
Object.defineProperty(exports, "timeSegmentVariants", {
|
|
41
|
+
enumerable: true,
|
|
42
|
+
get: function () { return chunk3H7ASYR7_js.timeSegmentVariants; }
|
|
43
|
+
});
|
|
44
|
+
//# sourceMappingURL=index.js.map
|
|
45
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"index.js"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { Time, TimeField, TimeFieldPropsSchema, parseTime, timeFieldDescriptionVariants, timeFieldErrorVariants, timeFieldLabelVariants, timeFieldVariants, timeSegmentVariants } from '../../chunk-2HIUTHMU.mjs';
|
|
2
|
+
import '../../chunk-E2KQFV3O.mjs';
|
|
3
|
+
//# sourceMappingURL=index.mjs.map
|
|
4
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"index.mjs"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { ToastQueue, type QueuedToast, type ToastState as AriaToastState } from 'react-stately';
|
|
2
|
+
import { type VariantProps } from 'class-variance-authority';
|
|
3
|
+
import type { ToastContent, ToastState, ToastConfig } from './Toast.types';
|
|
4
|
+
/**
|
|
5
|
+
* Toast container variants with theme-aligned styling
|
|
6
|
+
* Fixed 356px width for consistent appearance across all toasts
|
|
7
|
+
*/
|
|
8
|
+
export declare const toastVariants: (props?: ({
|
|
9
|
+
variant?: "default" | "primary" | "accent" | "destructive" | null | undefined;
|
|
10
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
11
|
+
/**
|
|
12
|
+
* Toaster position variants for the toast region container
|
|
13
|
+
*/
|
|
14
|
+
export declare const toasterVariants: (props?: ({
|
|
15
|
+
position?: "top-right" | "top-left" | "bottom-right" | "bottom-left" | "top-center" | "bottom-center" | null | undefined;
|
|
16
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
17
|
+
/**
|
|
18
|
+
* Get the total number of active toasts (visible + queued)
|
|
19
|
+
*/
|
|
20
|
+
export declare function getTotalActiveToasts(): number;
|
|
21
|
+
/**
|
|
22
|
+
* Subscribe to total toast count changes
|
|
23
|
+
*/
|
|
24
|
+
export declare function subscribeToTotalCount(fn: () => void): () => void;
|
|
25
|
+
/**
|
|
26
|
+
* Enhanced toast queue API with additional methods
|
|
27
|
+
* Provides closeAll, pauseAll, resumeAll on top of base ToastQueue
|
|
28
|
+
*/
|
|
29
|
+
export declare const toastQueue: {
|
|
30
|
+
/**
|
|
31
|
+
* Add a toast to the queue
|
|
32
|
+
*/
|
|
33
|
+
add: (content: ToastState, options?: {
|
|
34
|
+
timeout?: number;
|
|
35
|
+
onClose?: () => void;
|
|
36
|
+
}) => string;
|
|
37
|
+
/**
|
|
38
|
+
* Close a specific toast by key
|
|
39
|
+
*/
|
|
40
|
+
close: (key: string) => void;
|
|
41
|
+
/**
|
|
42
|
+
* Close all toasts (visible and queued)
|
|
43
|
+
*/
|
|
44
|
+
closeAll: () => void;
|
|
45
|
+
/**
|
|
46
|
+
* Pause all toast timers
|
|
47
|
+
*/
|
|
48
|
+
pauseAll: () => void;
|
|
49
|
+
/**
|
|
50
|
+
* Resume all toast timers
|
|
51
|
+
*/
|
|
52
|
+
resumeAll: () => void;
|
|
53
|
+
/**
|
|
54
|
+
* Get the visible toasts
|
|
55
|
+
*/
|
|
56
|
+
readonly visibleToasts: QueuedToast<ToastState>[];
|
|
57
|
+
/**
|
|
58
|
+
* Subscribe to queue changes
|
|
59
|
+
*/
|
|
60
|
+
subscribe: (fn: () => void) => () => void;
|
|
61
|
+
/**
|
|
62
|
+
* Get total active toasts (visible + queued)
|
|
63
|
+
*/
|
|
64
|
+
readonly totalCount: number;
|
|
65
|
+
};
|
|
66
|
+
/**
|
|
67
|
+
* Get the internal queue for use in components
|
|
68
|
+
*/
|
|
69
|
+
export declare function getInternalQueue(): ToastQueue<ToastState>;
|
|
70
|
+
/**
|
|
71
|
+
* Add a toast notification programmatically
|
|
72
|
+
*
|
|
73
|
+
* @param content - Content to display (string or ReactNode)
|
|
74
|
+
* @param options - Toast configuration options
|
|
75
|
+
* @returns Unique key for the created toast
|
|
76
|
+
*
|
|
77
|
+
* @example
|
|
78
|
+
* ```tsx
|
|
79
|
+
* // Simple string
|
|
80
|
+
* toast("Message saved!");
|
|
81
|
+
*
|
|
82
|
+
* // With variant
|
|
83
|
+
* toast("Error occurred", { variant: "destructive" });
|
|
84
|
+
*
|
|
85
|
+
* // With callback
|
|
86
|
+
* toast("Action completed", {
|
|
87
|
+
* variant: "primary",
|
|
88
|
+
* onClose: (key, reason) => console.log(`Closed: ${reason}`)
|
|
89
|
+
* });
|
|
90
|
+
* ```
|
|
91
|
+
*/
|
|
92
|
+
export declare function toast(content: ToastContent, options?: ToastConfig): string;
|
|
93
|
+
export interface ToastItemProps {
|
|
94
|
+
/** Toast from the queue */
|
|
95
|
+
toast: QueuedToast<ToastState>;
|
|
96
|
+
/** Toast state for managing dismissal */
|
|
97
|
+
state: AriaToastState<ToastState>;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Individual toast notification component
|
|
101
|
+
* Uses React Aria useToast hook for accessibility
|
|
102
|
+
*/
|
|
103
|
+
export declare const ToastItem: import("react").NamedExoticComponent<ToastItemProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
104
|
+
export type { VariantProps };
|
|
105
|
+
//# sourceMappingURL=Toast.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Toast.d.ts","sourceRoot":"","sources":["../../../src/elements/Toast/Toast.tsx"],"names":[],"mappings":"AAoBA,OAAO,EAAE,UAAU,EAAE,KAAK,WAAW,EAAE,KAAK,UAAU,IAAI,cAAc,EAAE,MAAM,eAAe,CAAC;AAChG,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAIlE,OAAO,KAAK,EAEV,YAAY,EACZ,UAAU,EAEV,WAAW,EACZ,MAAM,eAAe,CAAC;AAOvB;;;GAGG;AACH,eAAO,MAAM,aAAa;;8EA2CzB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe;;8EAqB3B,CAAC;AA2EF;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAE7C;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAGhE;AAED;;;GAGG;AACH,eAAO,MAAM,UAAU;IACrB;;OAEG;mBACY,UAAU,YAAY;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;KAAE;IAG/E;;OAEG;iBACU,MAAM;IAInB;;OAEG;;IAQH;;OAEG;;IAKH;;OAEG;;IAKH;;OAEG;;IAKH;;OAEG;oBACa,MAAM,IAAI;IAE1B;;OAEG;;CAIJ,CAAC;AAEF;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,UAAU,CAAC,UAAU,CAAC,CAEzD;AAgBD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,KAAK,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,MAAM,CAyC1E;AAMD,MAAM,WAAW,cAAc;IAC7B,2BAA2B;IAC3B,KAAK,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC;IAC/B,yCAAyC;IACzC,KAAK,EAAE,cAAc,CAAC,UAAU,CAAC,CAAC;CACnC;AAED;;;GAGG;AACH,eAAO,MAAM,SAAS,sGA4FrB,CAAC;AAQF,YAAY,EAAE,YAAY,EAAE,CAAC"}
|