@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,258 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import type { ReactNode } from 'react';
|
|
3
|
+
import type { TextFieldProps as AriaTextFieldProps, LabelProps as AriaLabelProps, InputProps as AriaInputProps, TextProps as AriaTextProps } from 'react-aria-components';
|
|
4
|
+
/**
|
|
5
|
+
* AutoComplete values from MDN spec
|
|
6
|
+
* @see https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete
|
|
7
|
+
*/
|
|
8
|
+
export declare const AutoCompleteValue: z.ZodEnum<{
|
|
9
|
+
off: "off";
|
|
10
|
+
name: "name";
|
|
11
|
+
on: "on";
|
|
12
|
+
tel: "tel";
|
|
13
|
+
url: "url";
|
|
14
|
+
email: "email";
|
|
15
|
+
"additional-name": "additional-name";
|
|
16
|
+
"address-level1": "address-level1";
|
|
17
|
+
"address-level2": "address-level2";
|
|
18
|
+
"address-level3": "address-level3";
|
|
19
|
+
"address-level4": "address-level4";
|
|
20
|
+
"address-line1": "address-line1";
|
|
21
|
+
"address-line2": "address-line2";
|
|
22
|
+
"address-line3": "address-line3";
|
|
23
|
+
"bday-day": "bday-day";
|
|
24
|
+
"bday-month": "bday-month";
|
|
25
|
+
"bday-year": "bday-year";
|
|
26
|
+
"cc-csc": "cc-csc";
|
|
27
|
+
"cc-exp": "cc-exp";
|
|
28
|
+
"cc-exp-month": "cc-exp-month";
|
|
29
|
+
"cc-exp-year": "cc-exp-year";
|
|
30
|
+
"cc-family-name": "cc-family-name";
|
|
31
|
+
"cc-given-name": "cc-given-name";
|
|
32
|
+
"cc-name": "cc-name";
|
|
33
|
+
"cc-number": "cc-number";
|
|
34
|
+
"cc-type": "cc-type";
|
|
35
|
+
country: "country";
|
|
36
|
+
"country-name": "country-name";
|
|
37
|
+
"current-password": "current-password";
|
|
38
|
+
"family-name": "family-name";
|
|
39
|
+
"given-name": "given-name";
|
|
40
|
+
"honorific-prefix": "honorific-prefix";
|
|
41
|
+
"honorific-suffix": "honorific-suffix";
|
|
42
|
+
"new-password": "new-password";
|
|
43
|
+
"one-time-code": "one-time-code";
|
|
44
|
+
organization: "organization";
|
|
45
|
+
"postal-code": "postal-code";
|
|
46
|
+
"street-address": "street-address";
|
|
47
|
+
"transaction-amount": "transaction-amount";
|
|
48
|
+
"transaction-currency": "transaction-currency";
|
|
49
|
+
username: "username";
|
|
50
|
+
"tel-area-code": "tel-area-code";
|
|
51
|
+
"tel-country-code": "tel-country-code";
|
|
52
|
+
"tel-extension": "tel-extension";
|
|
53
|
+
"tel-local": "tel-local";
|
|
54
|
+
"tel-national": "tel-national";
|
|
55
|
+
nickname: "nickname";
|
|
56
|
+
"organization-title": "organization-title";
|
|
57
|
+
"cc-additional-name": "cc-additional-name";
|
|
58
|
+
language: "language";
|
|
59
|
+
bday: "bday";
|
|
60
|
+
sex: "sex";
|
|
61
|
+
impp: "impp";
|
|
62
|
+
photo: "photo";
|
|
63
|
+
}>;
|
|
64
|
+
export type AutoCompleteValueType = z.infer<typeof AutoCompleteValue>;
|
|
65
|
+
/**
|
|
66
|
+
* Validates regex pattern for ReDoS safety
|
|
67
|
+
* @param pattern - Regular expression pattern string
|
|
68
|
+
* @returns true if pattern is safe, false if potentially dangerous
|
|
69
|
+
*/
|
|
70
|
+
export declare const validatePatternSafety: (pattern: string) => boolean;
|
|
71
|
+
/**
|
|
72
|
+
* TextField props schema extending BaseComponentProps
|
|
73
|
+
*
|
|
74
|
+
* @see spec.md FR-009 to FR-014 (Accessibility Requirements - WCAG 2.2 AAA)
|
|
75
|
+
* @see React Aria TextField: https://react-spectrum.adobe.com/react-aria/TextField.html
|
|
76
|
+
* @see ShadCN Input: https://ui.shadcn.com/docs/components/input
|
|
77
|
+
* @see ShadCN Label: https://ui.shadcn.com/docs/components/label
|
|
78
|
+
*/
|
|
79
|
+
export declare const TextFieldPropsSchema: z.ZodObject<{
|
|
80
|
+
className: z.ZodOptional<z.ZodString>;
|
|
81
|
+
children: z.ZodOptional<z.ZodAny>;
|
|
82
|
+
id: z.ZodOptional<z.ZodString>;
|
|
83
|
+
'aria-label': z.ZodOptional<z.ZodString>;
|
|
84
|
+
'aria-labelledby': z.ZodOptional<z.ZodString>;
|
|
85
|
+
'aria-describedby': z.ZodOptional<z.ZodString>;
|
|
86
|
+
'aria-live': z.ZodOptional<z.ZodEnum<{
|
|
87
|
+
off: "off";
|
|
88
|
+
polite: "polite";
|
|
89
|
+
assertive: "assertive";
|
|
90
|
+
}>>;
|
|
91
|
+
'aria-hidden': z.ZodOptional<z.ZodBoolean>;
|
|
92
|
+
'data-testid': z.ZodOptional<z.ZodString>;
|
|
93
|
+
size: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
|
|
94
|
+
default: "default";
|
|
95
|
+
sm: "sm";
|
|
96
|
+
lg: "lg";
|
|
97
|
+
}>>>;
|
|
98
|
+
label: z.ZodOptional<z.ZodString>;
|
|
99
|
+
description: z.ZodOptional<z.ZodString>;
|
|
100
|
+
errorMessage: z.ZodOptional<z.ZodString>;
|
|
101
|
+
successMessage: z.ZodOptional<z.ZodString>;
|
|
102
|
+
type: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
|
|
103
|
+
search: "search";
|
|
104
|
+
text: "text";
|
|
105
|
+
url: "url";
|
|
106
|
+
email: "email";
|
|
107
|
+
password: "password";
|
|
108
|
+
}>>>;
|
|
109
|
+
isRequired: z.ZodOptional<z.ZodBoolean>;
|
|
110
|
+
isReadOnly: z.ZodOptional<z.ZodBoolean>;
|
|
111
|
+
isDisabled: z.ZodOptional<z.ZodBoolean>;
|
|
112
|
+
isInvalid: z.ZodOptional<z.ZodBoolean>;
|
|
113
|
+
isValid: z.ZodOptional<z.ZodBoolean>;
|
|
114
|
+
placeholder: z.ZodOptional<z.ZodString>;
|
|
115
|
+
value: z.ZodOptional<z.ZodString>;
|
|
116
|
+
defaultValue: z.ZodOptional<z.ZodString>;
|
|
117
|
+
name: z.ZodOptional<z.ZodString>;
|
|
118
|
+
autoFocus: z.ZodOptional<z.ZodBoolean>;
|
|
119
|
+
autoComplete: z.ZodOptional<z.ZodEnum<{
|
|
120
|
+
off: "off";
|
|
121
|
+
name: "name";
|
|
122
|
+
on: "on";
|
|
123
|
+
tel: "tel";
|
|
124
|
+
url: "url";
|
|
125
|
+
email: "email";
|
|
126
|
+
"additional-name": "additional-name";
|
|
127
|
+
"address-level1": "address-level1";
|
|
128
|
+
"address-level2": "address-level2";
|
|
129
|
+
"address-level3": "address-level3";
|
|
130
|
+
"address-level4": "address-level4";
|
|
131
|
+
"address-line1": "address-line1";
|
|
132
|
+
"address-line2": "address-line2";
|
|
133
|
+
"address-line3": "address-line3";
|
|
134
|
+
"bday-day": "bday-day";
|
|
135
|
+
"bday-month": "bday-month";
|
|
136
|
+
"bday-year": "bday-year";
|
|
137
|
+
"cc-csc": "cc-csc";
|
|
138
|
+
"cc-exp": "cc-exp";
|
|
139
|
+
"cc-exp-month": "cc-exp-month";
|
|
140
|
+
"cc-exp-year": "cc-exp-year";
|
|
141
|
+
"cc-family-name": "cc-family-name";
|
|
142
|
+
"cc-given-name": "cc-given-name";
|
|
143
|
+
"cc-name": "cc-name";
|
|
144
|
+
"cc-number": "cc-number";
|
|
145
|
+
"cc-type": "cc-type";
|
|
146
|
+
country: "country";
|
|
147
|
+
"country-name": "country-name";
|
|
148
|
+
"current-password": "current-password";
|
|
149
|
+
"family-name": "family-name";
|
|
150
|
+
"given-name": "given-name";
|
|
151
|
+
"honorific-prefix": "honorific-prefix";
|
|
152
|
+
"honorific-suffix": "honorific-suffix";
|
|
153
|
+
"new-password": "new-password";
|
|
154
|
+
"one-time-code": "one-time-code";
|
|
155
|
+
organization: "organization";
|
|
156
|
+
"postal-code": "postal-code";
|
|
157
|
+
"street-address": "street-address";
|
|
158
|
+
"transaction-amount": "transaction-amount";
|
|
159
|
+
"transaction-currency": "transaction-currency";
|
|
160
|
+
username: "username";
|
|
161
|
+
"tel-area-code": "tel-area-code";
|
|
162
|
+
"tel-country-code": "tel-country-code";
|
|
163
|
+
"tel-extension": "tel-extension";
|
|
164
|
+
"tel-local": "tel-local";
|
|
165
|
+
"tel-national": "tel-national";
|
|
166
|
+
nickname: "nickname";
|
|
167
|
+
"organization-title": "organization-title";
|
|
168
|
+
"cc-additional-name": "cc-additional-name";
|
|
169
|
+
language: "language";
|
|
170
|
+
bday: "bday";
|
|
171
|
+
sex: "sex";
|
|
172
|
+
impp: "impp";
|
|
173
|
+
photo: "photo";
|
|
174
|
+
}>>;
|
|
175
|
+
maxLength: z.ZodOptional<z.ZodNumber>;
|
|
176
|
+
minLength: z.ZodOptional<z.ZodNumber>;
|
|
177
|
+
pattern: z.ZodOptional<z.ZodString>;
|
|
178
|
+
patternDescription: z.ZodOptional<z.ZodString>;
|
|
179
|
+
disableCopyPaste: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
180
|
+
prefix: z.ZodOptional<z.ZodAny>;
|
|
181
|
+
suffix: z.ZodOptional<z.ZodAny>;
|
|
182
|
+
prefixSize: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
183
|
+
suffixSize: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
184
|
+
expandOnFocus: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
185
|
+
collapsedWidth: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
186
|
+
showPasswordToggle: z.ZodOptional<z.ZodBoolean>;
|
|
187
|
+
}, z.core.$strip>;
|
|
188
|
+
export type TextFieldProps = Partial<z.infer<typeof TextFieldPropsSchema>> & Omit<AriaTextFieldProps, keyof z.infer<typeof TextFieldPropsSchema>> & {
|
|
189
|
+
onChange?: (value: string) => void;
|
|
190
|
+
validate?: (value: string) => string | undefined | null;
|
|
191
|
+
prefix?: ReactNode;
|
|
192
|
+
suffix?: ReactNode;
|
|
193
|
+
};
|
|
194
|
+
/**
|
|
195
|
+
* Label props schema for TextField label sub-component
|
|
196
|
+
*/
|
|
197
|
+
export declare const TextFieldLabelPropsSchema: z.ZodObject<{
|
|
198
|
+
children: z.ZodOptional<z.ZodAny>;
|
|
199
|
+
className: z.ZodOptional<z.ZodString>;
|
|
200
|
+
htmlFor: z.ZodOptional<z.ZodString>;
|
|
201
|
+
state: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
|
|
202
|
+
default: "default";
|
|
203
|
+
error: "error";
|
|
204
|
+
disabled: "disabled";
|
|
205
|
+
}>>>;
|
|
206
|
+
}, z.core.$strip>;
|
|
207
|
+
export type TextFieldLabelProps = z.infer<typeof TextFieldLabelPropsSchema> & Omit<AriaLabelProps, keyof z.infer<typeof TextFieldLabelPropsSchema>>;
|
|
208
|
+
/**
|
|
209
|
+
* Input props schema for TextField input sub-component
|
|
210
|
+
*/
|
|
211
|
+
export declare const TextFieldInputPropsSchema: z.ZodObject<{
|
|
212
|
+
className: z.ZodOptional<z.ZodString>;
|
|
213
|
+
size: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
|
|
214
|
+
default: "default";
|
|
215
|
+
sm: "sm";
|
|
216
|
+
lg: "lg";
|
|
217
|
+
}>>>;
|
|
218
|
+
state: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
|
|
219
|
+
success: "success";
|
|
220
|
+
default: "default";
|
|
221
|
+
readonly: "readonly";
|
|
222
|
+
error: "error";
|
|
223
|
+
disabled: "disabled";
|
|
224
|
+
}>>>;
|
|
225
|
+
}, z.core.$strip>;
|
|
226
|
+
export type TextFieldInputProps = z.infer<typeof TextFieldInputPropsSchema> & Omit<AriaInputProps, keyof z.infer<typeof TextFieldInputPropsSchema>>;
|
|
227
|
+
/**
|
|
228
|
+
* Description text props schema for TextField description sub-component
|
|
229
|
+
*/
|
|
230
|
+
export declare const TextFieldDescriptionPropsSchema: z.ZodObject<{
|
|
231
|
+
children: z.ZodOptional<z.ZodAny>;
|
|
232
|
+
className: z.ZodOptional<z.ZodString>;
|
|
233
|
+
}, z.core.$strip>;
|
|
234
|
+
export type TextFieldDescriptionProps = z.infer<typeof TextFieldDescriptionPropsSchema> & Omit<AriaTextProps, keyof z.infer<typeof TextFieldDescriptionPropsSchema>>;
|
|
235
|
+
/**
|
|
236
|
+
* Error message props schema for TextField error sub-component
|
|
237
|
+
*/
|
|
238
|
+
export declare const TextFieldErrorPropsSchema: z.ZodObject<{
|
|
239
|
+
children: z.ZodOptional<z.ZodAny>;
|
|
240
|
+
className: z.ZodOptional<z.ZodString>;
|
|
241
|
+
}, z.core.$strip>;
|
|
242
|
+
export type TextFieldErrorProps = z.infer<typeof TextFieldErrorPropsSchema> & Omit<AriaTextProps, keyof z.infer<typeof TextFieldErrorPropsSchema>>;
|
|
243
|
+
/**
|
|
244
|
+
* Success message props schema for TextField success sub-component
|
|
245
|
+
* @see DECISIONS.md Decision 5
|
|
246
|
+
*/
|
|
247
|
+
export declare const TextFieldSuccessPropsSchema: z.ZodObject<{
|
|
248
|
+
children: z.ZodOptional<z.ZodAny>;
|
|
249
|
+
className: z.ZodOptional<z.ZodString>;
|
|
250
|
+
}, z.core.$strip>;
|
|
251
|
+
export type TextFieldSuccessProps = z.infer<typeof TextFieldSuccessPropsSchema> & Omit<AriaTextProps, keyof z.infer<typeof TextFieldSuccessPropsSchema>>;
|
|
252
|
+
/**
|
|
253
|
+
* CVA variant configuration types
|
|
254
|
+
*/
|
|
255
|
+
export type TextFieldSize = z.infer<typeof TextFieldPropsSchema>['size'];
|
|
256
|
+
export type InputState = z.infer<typeof TextFieldInputPropsSchema>['state'];
|
|
257
|
+
export type LabelState = z.infer<typeof TextFieldLabelPropsSchema>['state'];
|
|
258
|
+
//# sourceMappingURL=TextField.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TextField.types.d.ts","sourceRoot":"","sources":["../../../src/elements/TextField/TextField.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/* src/elements/TextField/TextField.css */
|
|
2
|
+
@keyframes shake {
|
|
3
|
+
0%, 100% {
|
|
4
|
+
transform: translateX(0);
|
|
5
|
+
}
|
|
6
|
+
10%, 30%, 50%, 70%, 90% {
|
|
7
|
+
transform: translateX(-4px);
|
|
8
|
+
}
|
|
9
|
+
20%, 40%, 60%, 80% {
|
|
10
|
+
transform: translateX(4px);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
.shake {
|
|
14
|
+
animation: shake 400ms ease-in-out;
|
|
15
|
+
}
|
|
16
|
+
@media (prefers-reduced-motion: reduce) {
|
|
17
|
+
.shake {
|
|
18
|
+
animation: none;
|
|
19
|
+
border-color: var(--destructive);
|
|
20
|
+
transition: border-color 100ms;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
/*# sourceMappingURL=index.css.map */
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/elements/TextField/TextField.css"],"sourcesContent":["/**\n * TextField Component Styles\n * Additional CSS for animations and effects\n */\n\n/* Shake animation for paste prevention (Phase 3) */\n@keyframes shake {\n 0%, 100% { transform: translateX(0); }\n 10%, 30%, 50%, 70%, 90% { transform: translateX(-4px); }\n 20%, 40%, 60%, 80% { transform: translateX(4px); }\n}\n\n.shake {\n animation: shake 400ms ease-in-out;\n}\n\n/* Respect reduced motion preference (WCAG 2.2) */\n@media (prefers-reduced-motion: reduce) {\n .shake {\n animation: none;\n /* Alternative: brief border color flash */\n border-color: var(--destructive);\n transition: border-color 100ms;\n }\n}\n"],"mappings":";AAMA,WAAW;AACT;AAAW,eAAW,WAAW;AAAI;AACrC;AAA0B,eAAW,WAAW;AAAO;AACvD;AAAqB,eAAW,WAAW;AAAM;AACnD;AAEA,CANW;AAOT,aAAW,MAAM,MAAM;AACzB;AAGA,QAAO,wBAAyB;AAC9B,GAZS;AAaP,eAAW;AAEX,kBAAc,IAAI;AAClB,gBAAY,aAAa;AAC3B;AACF;","names":[]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TextField Component Exports
|
|
3
|
+
* Barrel file for TextField component and sub-components
|
|
4
|
+
*
|
|
5
|
+
* Usage:
|
|
6
|
+
* import { TextField, TextFieldInput, TextFieldLabel } from '@tribepad/themis/elements/TextField';
|
|
7
|
+
*/
|
|
8
|
+
export { TextField } from './TextField';
|
|
9
|
+
export { TextFieldLabel, TextFieldInput, TextFieldDescription, TextFieldError, TextFieldSuccess, } from './TextField';
|
|
10
|
+
export { inputVariants, labelVariants, textFieldInputVariants, textFieldLabelVariants, successMessageVariants, } from './TextField';
|
|
11
|
+
export type { TextFieldProps, TextFieldLabelProps, TextFieldInputProps, TextFieldDescriptionProps, TextFieldErrorProps, TextFieldSuccessProps, TextFieldSize, InputState, LabelState, AutoCompleteValue, } from './TextField.types';
|
|
12
|
+
export { TextFieldPropsSchema, TextFieldLabelPropsSchema, TextFieldInputPropsSchema, TextFieldDescriptionPropsSchema, TextFieldErrorPropsSchema, TextFieldSuccessPropsSchema, AutoCompleteValue as AutoCompleteValueSchema, validatePatternSafety, } from './TextField.types';
|
|
13
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/TextField/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC,OAAO,EACL,cAAc,EACd,cAAc,EACd,oBAAoB,EACpB,cAAc,EACd,gBAAgB,GACjB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,aAAa,EACb,aAAa,EACb,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,aAAa,CAAC;AAGrB,YAAY,EACV,cAAc,EACd,mBAAmB,EACnB,mBAAmB,EACnB,yBAAyB,EACzB,mBAAmB,EACnB,qBAAqB,EACrB,aAAa,EACb,UAAU,EACV,UAAU,EACV,iBAAiB,GAClB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,oBAAoB,EACpB,yBAAyB,EACzB,yBAAyB,EACzB,+BAA+B,EAC/B,yBAAyB,EACzB,2BAA2B,EAC3B,iBAAiB,IAAI,uBAAuB,EAC5C,qBAAqB,GACtB,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,260 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunk4DU5JSXB_js = require('../../chunk-4DU5JSXB.js');
|
|
4
|
+
require('../../chunk-3YOY2VJ6.js');
|
|
5
|
+
require('../../chunk-Y3GT7ETK.js');
|
|
6
|
+
require('../../chunk-B5Q4UPL6.js');
|
|
7
|
+
require('../../chunk-VIREG536.js');
|
|
8
|
+
var chunkT4COXKQ3_js = require('../../chunk-T4COXKQ3.js');
|
|
9
|
+
var zod = require('zod');
|
|
10
|
+
|
|
11
|
+
var AutoCompleteValue = zod.z.enum([
|
|
12
|
+
// Control tokens
|
|
13
|
+
"off",
|
|
14
|
+
"on",
|
|
15
|
+
// Name-related
|
|
16
|
+
"name",
|
|
17
|
+
"honorific-prefix",
|
|
18
|
+
"given-name",
|
|
19
|
+
"additional-name",
|
|
20
|
+
"family-name",
|
|
21
|
+
"honorific-suffix",
|
|
22
|
+
"nickname",
|
|
23
|
+
// Contact
|
|
24
|
+
"email",
|
|
25
|
+
"username",
|
|
26
|
+
// Authentication
|
|
27
|
+
"new-password",
|
|
28
|
+
"current-password",
|
|
29
|
+
"one-time-code",
|
|
30
|
+
// Organization
|
|
31
|
+
"organization-title",
|
|
32
|
+
"organization",
|
|
33
|
+
// Address
|
|
34
|
+
"street-address",
|
|
35
|
+
"address-line1",
|
|
36
|
+
"address-line2",
|
|
37
|
+
"address-line3",
|
|
38
|
+
"address-level4",
|
|
39
|
+
"address-level3",
|
|
40
|
+
"address-level2",
|
|
41
|
+
"address-level1",
|
|
42
|
+
"country",
|
|
43
|
+
"country-name",
|
|
44
|
+
"postal-code",
|
|
45
|
+
// Payment
|
|
46
|
+
"cc-name",
|
|
47
|
+
"cc-given-name",
|
|
48
|
+
"cc-additional-name",
|
|
49
|
+
"cc-family-name",
|
|
50
|
+
"cc-number",
|
|
51
|
+
"cc-exp",
|
|
52
|
+
"cc-exp-month",
|
|
53
|
+
"cc-exp-year",
|
|
54
|
+
"cc-csc",
|
|
55
|
+
"cc-type",
|
|
56
|
+
// Transaction
|
|
57
|
+
"transaction-currency",
|
|
58
|
+
"transaction-amount",
|
|
59
|
+
// Personal
|
|
60
|
+
"language",
|
|
61
|
+
"bday",
|
|
62
|
+
"bday-day",
|
|
63
|
+
"bday-month",
|
|
64
|
+
"bday-year",
|
|
65
|
+
"sex",
|
|
66
|
+
// Telephone
|
|
67
|
+
"tel",
|
|
68
|
+
"tel-country-code",
|
|
69
|
+
"tel-national",
|
|
70
|
+
"tel-area-code",
|
|
71
|
+
"tel-local",
|
|
72
|
+
"tel-extension",
|
|
73
|
+
// Other
|
|
74
|
+
"impp",
|
|
75
|
+
"url",
|
|
76
|
+
"photo"
|
|
77
|
+
]);
|
|
78
|
+
var DANGEROUS_REGEX_PATTERNS = [
|
|
79
|
+
/\(\.\*\)\+/,
|
|
80
|
+
// Catastrophic backtracking: (.*)+
|
|
81
|
+
/\(\.\+\)\+/,
|
|
82
|
+
// Catastrophic backtracking: (.+)+
|
|
83
|
+
/\([^)]*\)\{.*,.*\}/,
|
|
84
|
+
// Excessive quantifiers: (x){10,1000}
|
|
85
|
+
/\(\?!\)/,
|
|
86
|
+
// Negative lookahead (can be slow)
|
|
87
|
+
/\(\?<=\)/
|
|
88
|
+
// Positive lookbehind (can be slow)
|
|
89
|
+
];
|
|
90
|
+
var validatePatternSafety = (pattern) => {
|
|
91
|
+
for (const dangerous of DANGEROUS_REGEX_PATTERNS) {
|
|
92
|
+
if (dangerous.test(pattern)) {
|
|
93
|
+
return false;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
const quantifierCount = (pattern.match(/[*+{}]/g) || []).length;
|
|
97
|
+
if (quantifierCount > 5) {
|
|
98
|
+
return false;
|
|
99
|
+
}
|
|
100
|
+
return true;
|
|
101
|
+
};
|
|
102
|
+
var TextFieldPropsSchema = chunkT4COXKQ3_js.BaseComponentPropsSchema.extend({
|
|
103
|
+
// Size variants (matching Button sizes: sm, default, lg)
|
|
104
|
+
size: zod.z.enum(["sm", "default", "lg"]).optional().default("default"),
|
|
105
|
+
// Text content
|
|
106
|
+
label: zod.z.string().optional(),
|
|
107
|
+
description: zod.z.string().optional(),
|
|
108
|
+
errorMessage: zod.z.string().optional(),
|
|
109
|
+
successMessage: zod.z.string().optional(),
|
|
110
|
+
// Input type - BREAKING: removed 'tel' (use TelField component instead)
|
|
111
|
+
// @see DECISIONS.md Decision 14
|
|
112
|
+
type: zod.z.enum(["text", "email", "password", "url", "search"]).optional().default("text"),
|
|
113
|
+
// State props
|
|
114
|
+
isRequired: zod.z.boolean().optional(),
|
|
115
|
+
isReadOnly: zod.z.boolean().optional(),
|
|
116
|
+
isDisabled: zod.z.boolean().optional(),
|
|
117
|
+
isInvalid: zod.z.boolean().optional(),
|
|
118
|
+
isValid: zod.z.boolean().optional(),
|
|
119
|
+
// Input attributes
|
|
120
|
+
placeholder: zod.z.string().optional(),
|
|
121
|
+
value: zod.z.string().optional(),
|
|
122
|
+
defaultValue: zod.z.string().optional(),
|
|
123
|
+
name: zod.z.string().optional(),
|
|
124
|
+
autoFocus: zod.z.boolean().optional(),
|
|
125
|
+
// AutoComplete - BREAKING: strict MDN enum instead of string
|
|
126
|
+
// @see DECISIONS.md Decision 13
|
|
127
|
+
autoComplete: AutoCompleteValue.optional(),
|
|
128
|
+
maxLength: zod.z.number().optional(),
|
|
129
|
+
minLength: zod.z.number().optional(),
|
|
130
|
+
// Pattern validation with security check
|
|
131
|
+
// @see DECISIONS.md Decision 15, 18
|
|
132
|
+
// @warning SECURITY: Only use patterns defined in source code, never from user input
|
|
133
|
+
pattern: zod.z.string().optional(),
|
|
134
|
+
patternDescription: zod.z.string().optional(),
|
|
135
|
+
// Feature: Copy/Paste Restriction
|
|
136
|
+
// @see DECISIONS.md Decision 4
|
|
137
|
+
disableCopyPaste: zod.z.boolean().optional().default(false),
|
|
138
|
+
// Feature: Prefix/Suffix
|
|
139
|
+
// @see DECISIONS.md Decision 9
|
|
140
|
+
prefix: zod.z.any().optional(),
|
|
141
|
+
// ReactNode - can't validate with Zod
|
|
142
|
+
suffix: zod.z.any().optional(),
|
|
143
|
+
// ReactNode - can't validate with Zod
|
|
144
|
+
prefixSize: zod.z.number().optional().default(16),
|
|
145
|
+
suffixSize: zod.z.number().optional().default(16),
|
|
146
|
+
// Feature: Expand on Focus
|
|
147
|
+
// @see DECISIONS.md Decision 6, 17
|
|
148
|
+
expandOnFocus: zod.z.boolean().optional().default(false),
|
|
149
|
+
collapsedWidth: zod.z.string().optional().default("200px"),
|
|
150
|
+
// Feature: Password Toggle
|
|
151
|
+
// @see DECISIONS.md Decision 8
|
|
152
|
+
showPasswordToggle: zod.z.boolean().optional()
|
|
153
|
+
// Event handlers (onChange, onBlur, onFocus inherited from AriaTextFieldProps)
|
|
154
|
+
// Custom validate function added in TypeScript type below (not in Zod schema)
|
|
155
|
+
}).refine(
|
|
156
|
+
(data) => !data.pattern || data.patternDescription,
|
|
157
|
+
{
|
|
158
|
+
message: "patternDescription is required when pattern is provided",
|
|
159
|
+
path: ["patternDescription"]
|
|
160
|
+
}
|
|
161
|
+
).refine(
|
|
162
|
+
(data) => !data.pattern || validatePatternSafety(data.pattern),
|
|
163
|
+
{
|
|
164
|
+
message: "Unsafe regex pattern detected. Pattern may cause ReDoS vulnerability. Avoid patterns like (.*)+, (.+)+, or excessive quantifiers.",
|
|
165
|
+
path: ["pattern"]
|
|
166
|
+
}
|
|
167
|
+
).refine(
|
|
168
|
+
(data) => !(data.successMessage && data.errorMessage),
|
|
169
|
+
{
|
|
170
|
+
message: "Cannot provide both successMessage and errorMessage. Use one based on validation state.",
|
|
171
|
+
path: ["successMessage"]
|
|
172
|
+
}
|
|
173
|
+
).refine(
|
|
174
|
+
(data) => {
|
|
175
|
+
if (typeof process !== "undefined" && process.env.NODE_ENV === "development") {
|
|
176
|
+
if (data.isValid && data.isInvalid) {
|
|
177
|
+
console.error("[TextField] Both isValid and isInvalid are true. isInvalid takes precedence.");
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
return true;
|
|
181
|
+
}
|
|
182
|
+
);
|
|
183
|
+
var TextFieldLabelPropsSchema = zod.z.object({
|
|
184
|
+
children: zod.z.any().optional(),
|
|
185
|
+
className: zod.z.string().optional(),
|
|
186
|
+
htmlFor: zod.z.string().optional(),
|
|
187
|
+
state: zod.z.enum(["default", "error", "disabled"]).optional().default("default")
|
|
188
|
+
});
|
|
189
|
+
var TextFieldInputPropsSchema = zod.z.object({
|
|
190
|
+
className: zod.z.string().optional(),
|
|
191
|
+
size: zod.z.enum(["sm", "default", "lg"]).optional().default("default"),
|
|
192
|
+
state: zod.z.enum(["default", "error", "success", "disabled", "readonly"]).optional().default("default")
|
|
193
|
+
});
|
|
194
|
+
var TextFieldDescriptionPropsSchema = zod.z.object({
|
|
195
|
+
children: zod.z.any().optional(),
|
|
196
|
+
className: zod.z.string().optional()
|
|
197
|
+
});
|
|
198
|
+
var TextFieldErrorPropsSchema = zod.z.object({
|
|
199
|
+
children: zod.z.any().optional(),
|
|
200
|
+
className: zod.z.string().optional()
|
|
201
|
+
});
|
|
202
|
+
var TextFieldSuccessPropsSchema = zod.z.object({
|
|
203
|
+
children: zod.z.any().optional(),
|
|
204
|
+
className: zod.z.string().optional()
|
|
205
|
+
});
|
|
206
|
+
|
|
207
|
+
Object.defineProperty(exports, "TextField", {
|
|
208
|
+
enumerable: true,
|
|
209
|
+
get: function () { return chunk4DU5JSXB_js.TextField; }
|
|
210
|
+
});
|
|
211
|
+
Object.defineProperty(exports, "TextFieldDescription", {
|
|
212
|
+
enumerable: true,
|
|
213
|
+
get: function () { return chunk4DU5JSXB_js.TextFieldDescription; }
|
|
214
|
+
});
|
|
215
|
+
Object.defineProperty(exports, "TextFieldError", {
|
|
216
|
+
enumerable: true,
|
|
217
|
+
get: function () { return chunk4DU5JSXB_js.TextFieldError; }
|
|
218
|
+
});
|
|
219
|
+
Object.defineProperty(exports, "TextFieldInput", {
|
|
220
|
+
enumerable: true,
|
|
221
|
+
get: function () { return chunk4DU5JSXB_js.TextFieldInput; }
|
|
222
|
+
});
|
|
223
|
+
Object.defineProperty(exports, "TextFieldLabel", {
|
|
224
|
+
enumerable: true,
|
|
225
|
+
get: function () { return chunk4DU5JSXB_js.TextFieldLabel; }
|
|
226
|
+
});
|
|
227
|
+
Object.defineProperty(exports, "TextFieldSuccess", {
|
|
228
|
+
enumerable: true,
|
|
229
|
+
get: function () { return chunk4DU5JSXB_js.TextFieldSuccess; }
|
|
230
|
+
});
|
|
231
|
+
Object.defineProperty(exports, "inputVariants", {
|
|
232
|
+
enumerable: true,
|
|
233
|
+
get: function () { return chunk4DU5JSXB_js.inputVariants; }
|
|
234
|
+
});
|
|
235
|
+
Object.defineProperty(exports, "labelVariants", {
|
|
236
|
+
enumerable: true,
|
|
237
|
+
get: function () { return chunk4DU5JSXB_js.labelVariants; }
|
|
238
|
+
});
|
|
239
|
+
Object.defineProperty(exports, "successMessageVariants", {
|
|
240
|
+
enumerable: true,
|
|
241
|
+
get: function () { return chunk4DU5JSXB_js.successMessageVariants; }
|
|
242
|
+
});
|
|
243
|
+
Object.defineProperty(exports, "textFieldInputVariants", {
|
|
244
|
+
enumerable: true,
|
|
245
|
+
get: function () { return chunk4DU5JSXB_js.inputVariants; }
|
|
246
|
+
});
|
|
247
|
+
Object.defineProperty(exports, "textFieldLabelVariants", {
|
|
248
|
+
enumerable: true,
|
|
249
|
+
get: function () { return chunk4DU5JSXB_js.labelVariants; }
|
|
250
|
+
});
|
|
251
|
+
exports.AutoCompleteValueSchema = AutoCompleteValue;
|
|
252
|
+
exports.TextFieldDescriptionPropsSchema = TextFieldDescriptionPropsSchema;
|
|
253
|
+
exports.TextFieldErrorPropsSchema = TextFieldErrorPropsSchema;
|
|
254
|
+
exports.TextFieldInputPropsSchema = TextFieldInputPropsSchema;
|
|
255
|
+
exports.TextFieldLabelPropsSchema = TextFieldLabelPropsSchema;
|
|
256
|
+
exports.TextFieldPropsSchema = TextFieldPropsSchema;
|
|
257
|
+
exports.TextFieldSuccessPropsSchema = TextFieldSuccessPropsSchema;
|
|
258
|
+
exports.validatePatternSafety = validatePatternSafety;
|
|
259
|
+
//# sourceMappingURL=index.js.map
|
|
260
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/elements/TextField/TextField.types.ts"],"names":["z","BaseComponentPropsSchema"],"mappings":";;;;;;;;;;AAcO,IAAM,iBAAA,GAAoBA,MAAE,IAAA,CAAK;AAAA;AAAA,EAEtC,KAAA;AAAA,EACA,IAAA;AAAA;AAAA,EAEA,MAAA;AAAA,EACA,kBAAA;AAAA,EACA,YAAA;AAAA,EACA,iBAAA;AAAA,EACA,aAAA;AAAA,EACA,kBAAA;AAAA,EACA,UAAA;AAAA;AAAA,EAEA,OAAA;AAAA,EACA,UAAA;AAAA;AAAA,EAEA,cAAA;AAAA,EACA,kBAAA;AAAA,EACA,eAAA;AAAA;AAAA,EAEA,oBAAA;AAAA,EACA,cAAA;AAAA;AAAA,EAEA,gBAAA;AAAA,EACA,eAAA;AAAA,EACA,eAAA;AAAA,EACA,eAAA;AAAA,EACA,gBAAA;AAAA,EACA,gBAAA;AAAA,EACA,gBAAA;AAAA,EACA,gBAAA;AAAA,EACA,SAAA;AAAA,EACA,cAAA;AAAA,EACA,aAAA;AAAA;AAAA,EAEA,SAAA;AAAA,EACA,eAAA;AAAA,EACA,oBAAA;AAAA,EACA,gBAAA;AAAA,EACA,WAAA;AAAA,EACA,QAAA;AAAA,EACA,cAAA;AAAA,EACA,aAAA;AAAA,EACA,QAAA;AAAA,EACA,SAAA;AAAA;AAAA,EAEA,sBAAA;AAAA,EACA,oBAAA;AAAA;AAAA,EAEA,UAAA;AAAA,EACA,MAAA;AAAA,EACA,UAAA;AAAA,EACA,YAAA;AAAA,EACA,WAAA;AAAA,EACA,KAAA;AAAA;AAAA,EAEA,KAAA;AAAA,EACA,kBAAA;AAAA,EACA,cAAA;AAAA,EACA,eAAA;AAAA,EACA,WAAA;AAAA,EACA,eAAA;AAAA;AAAA,EAEA,MAAA;AAAA,EACA,KAAA;AAAA,EACA;AACF,CAAC;AAQD,IAAM,wBAAA,GAA2B;AAAA,EAC/B,YAAA;AAAA;AAAA,EACA,YAAA;AAAA;AAAA,EACA,oBAAA;AAAA;AAAA,EACA,SAAA;AAAA;AAAA,EACA;AAAA;AACF,CAAA;AAOO,IAAM,qBAAA,GAAwB,CAAC,OAAA,KAA6B;AAEjE,EAAA,KAAA,MAAW,aAAa,wBAAA,EAA0B;AAChD,IAAA,IAAI,SAAA,CAAU,IAAA,CAAK,OAAO,CAAA,EAAG;AAC3B,MAAA,OAAO,KAAA;AAAA,IACT;AAAA,EACF;AAGA,EAAA,MAAM,mBAAmB,OAAA,CAAQ,KAAA,CAAM,SAAS,CAAA,IAAK,EAAC,EAAG,MAAA;AACzD,EAAA,IAAI,kBAAkB,CAAA,EAAG;AACvB,IAAA,OAAO,KAAA;AAAA,EACT;AAEA,EAAA,OAAO,IAAA;AACT;AAUO,IAAM,oBAAA,GAAuBC,0CAAyB,MAAA,CAAO;AAAA;AAAA,EAElE,IAAA,EAAMD,KAAA,CAAE,IAAA,CAAK,CAAC,IAAA,EAAM,SAAA,EAAW,IAAI,CAAC,CAAA,CAAE,QAAA,EAAS,CAAE,OAAA,CAAQ,SAAS,CAAA;AAAA;AAAA,EAGlE,KAAA,EAAOA,KAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC3B,WAAA,EAAaA,KAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACjC,YAAA,EAAcA,KAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAClC,cAAA,EAAgBA,KAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA;AAAA;AAAA,EAIpC,IAAA,EAAMA,KAAA,CACH,IAAA,CAAK,CAAC,QAAQ,OAAA,EAAS,UAAA,EAAY,KAAA,EAAO,QAAQ,CAAC,CAAA,CACnD,QAAA,EAAS,CACT,QAAQ,MAAM,CAAA;AAAA;AAAA,EAGjB,UAAA,EAAYA,KAAA,CAAE,OAAA,EAAQ,CAAE,QAAA,EAAS;AAAA,EACjC,UAAA,EAAYA,KAAA,CAAE,OAAA,EAAQ,CAAE,QAAA,EAAS;AAAA,EACjC,UAAA,EAAYA,KAAA,CAAE,OAAA,EAAQ,CAAE,QAAA,EAAS;AAAA,EACjC,SAAA,EAAWA,KAAA,CAAE,OAAA,EAAQ,CAAE,QAAA,EAAS;AAAA,EAChC,OAAA,EAASA,KAAA,CAAE,OAAA,EAAQ,CAAE,QAAA,EAAS;AAAA;AAAA,EAG9B,WAAA,EAAaA,KAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EACjC,KAAA,EAAOA,KAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC3B,YAAA,EAAcA,KAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAClC,IAAA,EAAMA,KAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC1B,SAAA,EAAWA,KAAA,CAAE,OAAA,EAAQ,CAAE,QAAA,EAAS;AAAA;AAAA;AAAA,EAIhC,YAAA,EAAc,kBAAkB,QAAA,EAAS;AAAA,EAEzC,SAAA,EAAWA,KAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC/B,SAAA,EAAWA,KAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA;AAAA;AAAA;AAAA,EAK/B,OAAA,EAASA,KAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC7B,kBAAA,EAAoBA,KAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA;AAAA;AAAA,EAIxC,kBAAkBA,KAAA,CAAE,OAAA,GAAU,QAAA,EAAS,CAAE,QAAQ,KAAK,CAAA;AAAA;AAAA;AAAA,EAItD,MAAA,EAAQA,KAAA,CAAE,GAAA,EAAI,CAAE,QAAA,EAAS;AAAA;AAAA,EACzB,MAAA,EAAQA,KAAA,CAAE,GAAA,EAAI,CAAE,QAAA,EAAS;AAAA;AAAA,EACzB,YAAYA,KAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,QAAQ,EAAE,CAAA;AAAA,EAC5C,YAAYA,KAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,QAAQ,EAAE,CAAA;AAAA;AAAA;AAAA,EAI5C,eAAeA,KAAA,CAAE,OAAA,GAAU,QAAA,EAAS,CAAE,QAAQ,KAAK,CAAA;AAAA,EACnD,gBAAgBA,KAAA,CAAE,MAAA,GAAS,QAAA,EAAS,CAAE,QAAQ,OAAO,CAAA;AAAA;AAAA;AAAA,EAIrD,kBAAA,EAAoBA,KAAA,CAAE,OAAA,EAAQ,CAAE,QAAA;AAAS;AAAA;AAI3C,CAAC,CAAA,CACA,MAAA;AAAA,EACC,CAAC,IAAA,KAAS,CAAC,IAAA,CAAK,WAAW,IAAA,CAAK,kBAAA;AAAA,EAChC;AAAA,IACE,OAAA,EAAS,yDAAA;AAAA,IACT,IAAA,EAAM,CAAC,oBAAoB;AAAA;AAE/B,CAAA,CACC,MAAA;AAAA,EACC,CAAC,IAAA,KAAS,CAAC,KAAK,OAAA,IAAW,qBAAA,CAAsB,KAAK,OAAO,CAAA;AAAA,EAC7D;AAAA,IACE,OAAA,EAAS,mIAAA;AAAA,IACT,IAAA,EAAM,CAAC,SAAS;AAAA;AAEpB,CAAA,CACC,MAAA;AAAA,EACC,CAAC,IAAA,KAAS,EAAE,IAAA,CAAK,kBAAkB,IAAA,CAAK,YAAA,CAAA;AAAA,EACxC;AAAA,IACE,OAAA,EAAS,yFAAA;AAAA,IACT,IAAA,EAAM,CAAC,gBAAgB;AAAA;AAE3B,CAAA,CACC,MAAA;AAAA,EACC,CAAC,IAAA,KAAS;AAER,IAAA,IAAI,OAAO,OAAA,KAAY,WAAA,IAAe,OAAA,CAAQ,GAAA,CAAI,aAAa,aAAA,EAAe;AAC5E,MAAA,IAAI,IAAA,CAAK,OAAA,IAAW,IAAA,CAAK,SAAA,EAAW;AAClC,QAAA,OAAA,CAAQ,MAAM,8EAA8E,CAAA;AAAA,MAC9F;AAAA,IACF;AACA,IAAA,OAAO,IAAA;AAAA,EACT;AACF;AAoBO,IAAM,yBAAA,GAA4BA,MAAE,MAAA,CAAO;AAAA,EAChD,QAAA,EAAUA,KAAA,CAAE,GAAA,EAAI,CAAE,QAAA,EAAS;AAAA,EAC3B,SAAA,EAAWA,KAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC/B,OAAA,EAASA,KAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC7B,KAAA,EAAOA,KAAA,CAAE,IAAA,CAAK,CAAC,SAAA,EAAW,OAAA,EAAS,UAAU,CAAC,CAAA,CAAE,QAAA,EAAS,CAAE,OAAA,CAAQ,SAAS;AAC9E,CAAC;AAQM,IAAM,yBAAA,GAA4BA,MAAE,MAAA,CAAO;AAAA,EAChD,SAAA,EAAWA,KAAA,CAAE,MAAA,EAAO,CAAE,QAAA,EAAS;AAAA,EAC/B,IAAA,EAAMA,KAAA,CAAE,IAAA,CAAK,CAAC,IAAA,EAAM,SAAA,EAAW,IAAI,CAAC,CAAA,CAAE,QAAA,EAAS,CAAE,OAAA,CAAQ,SAAS,CAAA;AAAA,EAClE,KAAA,EAAOA,KAAA,CACJ,IAAA,CAAK,CAAC,WAAW,OAAA,EAAS,SAAA,EAAW,UAAA,EAAY,UAAU,CAAC,CAAA,CAC5D,QAAA,EAAS,CACT,QAAQ,SAAS;AACtB,CAAC;AAQM,IAAM,+BAAA,GAAkCA,MAAE,MAAA,CAAO;AAAA,EACtD,QAAA,EAAUA,KAAA,CAAE,GAAA,EAAI,CAAE,QAAA,EAAS;AAAA,EAC3B,SAAA,EAAWA,KAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AACxB,CAAC;AAQM,IAAM,yBAAA,GAA4BA,MAAE,MAAA,CAAO;AAAA,EAChD,QAAA,EAAUA,KAAA,CAAE,GAAA,EAAI,CAAE,QAAA,EAAS;AAAA,EAC3B,SAAA,EAAWA,KAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AACxB,CAAC;AASM,IAAM,2BAAA,GAA8BA,MAAE,MAAA,CAAO;AAAA,EAClD,QAAA,EAAUA,KAAA,CAAE,GAAA,EAAI,CAAE,QAAA,EAAS;AAAA,EAC3B,SAAA,EAAWA,KAAA,CAAE,MAAA,EAAO,CAAE,QAAA;AACxB,CAAC","file":"index.js","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"]}
|