@keboola/design 9.1.0 → 11.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/AGENTS.md +119 -40
- package/COMPONENT-API.md +31 -9
- package/README.md +3 -3
- package/dist/MermaidDiagram-ZU5KAVRT.js +18 -0
- package/dist/MermaidDiagram-ZU5KAVRT.js.map +1 -0
- package/dist/charts.d.ts +37 -2
- package/dist/charts.js +11 -9
- package/dist/charts.js.map +1 -1
- package/dist/chunk-2YYJDKSP.js +51 -0
- package/dist/chunk-2YYJDKSP.js.map +1 -0
- package/dist/chunk-3P5UUCFI.js +385 -0
- package/dist/chunk-3P5UUCFI.js.map +1 -0
- package/dist/chunk-3QDFDDWZ.js +99 -0
- package/dist/chunk-3QDFDDWZ.js.map +1 -0
- package/dist/chunk-3W27OLK5.js +15 -0
- package/dist/chunk-3W27OLK5.js.map +1 -0
- package/dist/chunk-4FIZZONW.js +40 -0
- package/dist/chunk-4FIZZONW.js.map +1 -0
- package/dist/chunk-4GIAXOJG.js +133 -0
- package/dist/chunk-4GIAXOJG.js.map +1 -0
- package/dist/chunk-52NDNMK7.js +99 -0
- package/dist/chunk-52NDNMK7.js.map +1 -0
- package/dist/chunk-576G5OES.js +201 -0
- package/dist/chunk-576G5OES.js.map +1 -0
- package/dist/chunk-5AIE6SET.js +659 -0
- package/dist/chunk-5AIE6SET.js.map +1 -0
- package/dist/chunk-5FTNAZRW.js +327 -0
- package/dist/chunk-5FTNAZRW.js.map +1 -0
- package/dist/chunk-5IG2S7ZY.js +70 -0
- package/dist/chunk-5IG2S7ZY.js.map +1 -0
- package/dist/chunk-5QCXHNCW.js +404 -0
- package/dist/chunk-5QCXHNCW.js.map +1 -0
- package/dist/chunk-6DUMGC7Y.js +105 -0
- package/dist/chunk-6DUMGC7Y.js.map +1 -0
- package/dist/chunk-6J25CVST.js +174 -0
- package/dist/chunk-6J25CVST.js.map +1 -0
- package/dist/chunk-6NN35XOP.js +120 -0
- package/dist/chunk-6NN35XOP.js.map +1 -0
- package/dist/chunk-6NZBVA4T.js +24 -0
- package/dist/chunk-6NZBVA4T.js.map +1 -0
- package/dist/chunk-6W5BHRCL.js +295 -0
- package/dist/chunk-6W5BHRCL.js.map +1 -0
- package/dist/chunk-72BKRCEG.js +409 -0
- package/dist/chunk-72BKRCEG.js.map +1 -0
- package/dist/chunk-7GTI3PPI.js +95 -0
- package/dist/chunk-7GTI3PPI.js.map +1 -0
- package/dist/chunk-7P6PLZ4B.js +74 -0
- package/dist/chunk-7P6PLZ4B.js.map +1 -0
- package/dist/chunk-7WZWY5IA.js +46 -0
- package/dist/chunk-7WZWY5IA.js.map +1 -0
- package/dist/chunk-AIYO2632.js +489 -0
- package/dist/chunk-AIYO2632.js.map +1 -0
- package/dist/chunk-ANFZWPNE.js +112 -0
- package/dist/chunk-ANFZWPNE.js.map +1 -0
- package/dist/chunk-ANZTVAJU.js +73 -0
- package/dist/chunk-ANZTVAJU.js.map +1 -0
- package/dist/chunk-BD5BTJKX.js +166 -0
- package/dist/chunk-BD5BTJKX.js.map +1 -0
- package/dist/chunk-BHGIDSRJ.js +140 -0
- package/dist/chunk-BHGIDSRJ.js.map +1 -0
- package/dist/chunk-BSQWZITZ.js +507 -0
- package/dist/chunk-BSQWZITZ.js.map +1 -0
- package/dist/chunk-D3LAIK62.js +23 -0
- package/dist/chunk-D3LAIK62.js.map +1 -0
- package/dist/chunk-DODCR43C.js +155 -0
- package/dist/chunk-DODCR43C.js.map +1 -0
- package/dist/chunk-EEK5NGZF.js +40 -0
- package/dist/chunk-EEK5NGZF.js.map +1 -0
- package/dist/chunk-ENRG7TXA.js +11 -0
- package/dist/chunk-ENRG7TXA.js.map +1 -0
- package/dist/chunk-EQRMGIGY.js +239 -0
- package/dist/chunk-EQRMGIGY.js.map +1 -0
- package/dist/chunk-ERAHK5YQ.js +495 -0
- package/dist/chunk-ERAHK5YQ.js.map +1 -0
- package/dist/chunk-F3FOFY2P.js +124 -0
- package/dist/chunk-F3FOFY2P.js.map +1 -0
- package/dist/chunk-F6BTWFOC.js +507 -0
- package/dist/chunk-F6BTWFOC.js.map +1 -0
- package/dist/chunk-F6J6NNAL.js +34 -0
- package/dist/chunk-F6J6NNAL.js.map +1 -0
- package/dist/chunk-FCHJ7D5O.js +59 -0
- package/dist/chunk-FCHJ7D5O.js.map +1 -0
- package/dist/chunk-FFJTEQCC.js +80 -0
- package/dist/chunk-FFJTEQCC.js.map +1 -0
- package/dist/chunk-FUFMVW7O.js +64 -0
- package/dist/chunk-FUFMVW7O.js.map +1 -0
- package/dist/chunk-FVPGQ6UE.js +25 -0
- package/dist/chunk-FVPGQ6UE.js.map +1 -0
- package/dist/chunk-G3PMV62Z.js +33 -0
- package/dist/chunk-G3PMV62Z.js.map +1 -0
- package/dist/chunk-GACFOW3E.js +51 -0
- package/dist/chunk-GACFOW3E.js.map +1 -0
- package/dist/chunk-GDT6HQMK.js +42 -0
- package/dist/chunk-GDT6HQMK.js.map +1 -0
- package/dist/chunk-HLGU22C6.js +2589 -0
- package/dist/chunk-HLGU22C6.js.map +1 -0
- package/dist/chunk-HPMYYGP7.js +134 -0
- package/dist/chunk-HPMYYGP7.js.map +1 -0
- package/dist/chunk-I2UCOD45.js +197 -0
- package/dist/chunk-I2UCOD45.js.map +1 -0
- package/dist/chunk-IEGDZUVM.js +75 -0
- package/dist/chunk-IEGDZUVM.js.map +1 -0
- package/dist/chunk-IIS7INHF.js +47 -0
- package/dist/chunk-IIS7INHF.js.map +1 -0
- package/dist/chunk-ITELSEFU.js +256 -0
- package/dist/chunk-ITELSEFU.js.map +1 -0
- package/dist/chunk-IXAYNBOY.js +407 -0
- package/dist/chunk-IXAYNBOY.js.map +1 -0
- package/dist/chunk-JUW2ETEI.js +191 -0
- package/dist/chunk-JUW2ETEI.js.map +1 -0
- package/dist/chunk-K65C7CVE.js +127 -0
- package/dist/chunk-K65C7CVE.js.map +1 -0
- package/dist/chunk-KDI64MCY.js +189 -0
- package/dist/chunk-KDI64MCY.js.map +1 -0
- package/dist/chunk-KN4ASMH5.js +160 -0
- package/dist/chunk-KN4ASMH5.js.map +1 -0
- package/dist/chunk-KQW7QNTU.js +1549 -0
- package/dist/chunk-KQW7QNTU.js.map +1 -0
- package/dist/chunk-KR7NXXHC.js +66 -0
- package/dist/chunk-KR7NXXHC.js.map +1 -0
- package/dist/chunk-KRZKIVMA.js +142 -0
- package/dist/chunk-KRZKIVMA.js.map +1 -0
- package/dist/chunk-KTTLLKGQ.js +185 -0
- package/dist/chunk-KTTLLKGQ.js.map +1 -0
- package/dist/chunk-KWKSHPDP.js +234 -0
- package/dist/chunk-KWKSHPDP.js.map +1 -0
- package/dist/chunk-KZVC7OYG.js +57 -0
- package/dist/chunk-KZVC7OYG.js.map +1 -0
- package/dist/chunk-L5DHUN2V.js +204 -0
- package/dist/chunk-L5DHUN2V.js.map +1 -0
- package/dist/chunk-LCTGEH57.js +1376 -0
- package/dist/chunk-LCTGEH57.js.map +1 -0
- package/dist/chunk-LXLIQ2D6.js +12 -0
- package/dist/chunk-LXLIQ2D6.js.map +1 -0
- package/dist/chunk-M4CTURKX.js +84 -0
- package/dist/chunk-M4CTURKX.js.map +1 -0
- package/dist/chunk-M6LTUPVP.js +301 -0
- package/dist/chunk-M6LTUPVP.js.map +1 -0
- package/dist/chunk-MA6RRHDT.js +291 -0
- package/dist/chunk-MA6RRHDT.js.map +1 -0
- package/dist/chunk-MODE4QIA.js +6 -0
- package/dist/chunk-MODE4QIA.js.map +1 -0
- package/dist/chunk-MVILMVGG.js +118 -0
- package/dist/chunk-MVILMVGG.js.map +1 -0
- package/dist/chunk-MWS4VCLV.js +17 -0
- package/dist/chunk-MWS4VCLV.js.map +1 -0
- package/dist/chunk-NEUX74SO.js +315 -0
- package/dist/chunk-NEUX74SO.js.map +1 -0
- package/dist/chunk-NFHKYBRD.js +156 -0
- package/dist/chunk-NFHKYBRD.js.map +1 -0
- package/dist/chunk-NHJNNXD3.js +89 -0
- package/dist/chunk-NHJNNXD3.js.map +1 -0
- package/dist/chunk-O2BF3HZL.js +33 -0
- package/dist/chunk-O2BF3HZL.js.map +1 -0
- package/dist/chunk-OANXCZYD.js +212 -0
- package/dist/chunk-OANXCZYD.js.map +1 -0
- package/dist/chunk-ODJF7YIP.js +230 -0
- package/dist/chunk-ODJF7YIP.js.map +1 -0
- package/dist/chunk-ON4BJTHI.js +101 -0
- package/dist/chunk-ON4BJTHI.js.map +1 -0
- package/dist/chunk-OTL5WXIJ.js +16 -0
- package/dist/chunk-OTL5WXIJ.js.map +1 -0
- package/dist/chunk-PACNBKJV.js +47 -0
- package/dist/chunk-PACNBKJV.js.map +1 -0
- package/dist/chunk-PROCA7K7.js +23 -0
- package/dist/chunk-PROCA7K7.js.map +1 -0
- package/dist/chunk-QGMIPA67.js +85 -0
- package/dist/chunk-QGMIPA67.js.map +1 -0
- package/dist/chunk-QQA37LFB.js +190 -0
- package/dist/chunk-QQA37LFB.js.map +1 -0
- package/dist/chunk-QZAWRSEB.js +61 -0
- package/dist/chunk-QZAWRSEB.js.map +1 -0
- package/dist/chunk-R74KGWNS.js +699 -0
- package/dist/chunk-R74KGWNS.js.map +1 -0
- package/dist/chunk-RFDLHMKL.js +110 -0
- package/dist/chunk-RFDLHMKL.js.map +1 -0
- package/dist/chunk-RL64HN7S.js +40 -0
- package/dist/chunk-RL64HN7S.js.map +1 -0
- package/dist/chunk-RMRQKPL7.js +115 -0
- package/dist/chunk-RMRQKPL7.js.map +1 -0
- package/dist/chunk-RQVK4IYC.js +606 -0
- package/dist/chunk-RQVK4IYC.js.map +1 -0
- package/dist/chunk-RTW56PWZ.js +59 -0
- package/dist/chunk-RTW56PWZ.js.map +1 -0
- package/dist/chunk-RUTPQNLR.js +266 -0
- package/dist/chunk-RUTPQNLR.js.map +1 -0
- package/dist/chunk-S6TAF63G.js +25 -0
- package/dist/chunk-S6TAF63G.js.map +1 -0
- package/dist/chunk-SBGAUGXY.js +224 -0
- package/dist/chunk-SBGAUGXY.js.map +1 -0
- package/dist/chunk-SC275NHZ.js +407 -0
- package/dist/chunk-SC275NHZ.js.map +1 -0
- package/dist/chunk-SCQPU4UE.js +97 -0
- package/dist/chunk-SCQPU4UE.js.map +1 -0
- package/dist/chunk-SFFF2WQP.js +8 -0
- package/dist/chunk-SFFF2WQP.js.map +1 -0
- package/dist/chunk-SJYMHZKA.js +36 -0
- package/dist/chunk-SJYMHZKA.js.map +1 -0
- package/dist/chunk-SLCCUJVN.js +125 -0
- package/dist/chunk-SLCCUJVN.js.map +1 -0
- package/dist/chunk-SVBSNSD4.js +259 -0
- package/dist/chunk-SVBSNSD4.js.map +1 -0
- package/dist/chunk-SVPLTL35.js +62 -0
- package/dist/chunk-SVPLTL35.js.map +1 -0
- package/dist/chunk-SWQFYNYG.js +338 -0
- package/dist/chunk-SWQFYNYG.js.map +1 -0
- package/dist/chunk-THHB4EWS.js +72 -0
- package/dist/chunk-THHB4EWS.js.map +1 -0
- package/dist/chunk-TUCDD33E.js +246 -0
- package/dist/chunk-TUCDD33E.js.map +1 -0
- package/dist/chunk-TV4WAP2R.js +14 -0
- package/dist/chunk-TV4WAP2R.js.map +1 -0
- package/dist/chunk-U3A6YBTZ.js +134 -0
- package/dist/chunk-U3A6YBTZ.js.map +1 -0
- package/dist/chunk-UGT6DKWM.js +95 -0
- package/dist/chunk-UGT6DKWM.js.map +1 -0
- package/dist/chunk-VSERHUWD.js +212 -0
- package/dist/chunk-VSERHUWD.js.map +1 -0
- package/dist/chunk-VYG7BDXC.js +49 -0
- package/dist/chunk-VYG7BDXC.js.map +1 -0
- package/dist/chunk-WETKNYZX.js +52 -0
- package/dist/chunk-WETKNYZX.js.map +1 -0
- package/dist/chunk-WGG4AML3.js +216 -0
- package/dist/chunk-WGG4AML3.js.map +1 -0
- package/dist/chunk-WKAUEL6I.js +30 -0
- package/dist/chunk-WKAUEL6I.js.map +1 -0
- package/dist/chunk-WPOLA5CG.js +81 -0
- package/dist/chunk-WPOLA5CG.js.map +1 -0
- package/dist/chunk-WPVETCGJ.js +254 -0
- package/dist/chunk-WPVETCGJ.js.map +1 -0
- package/dist/chunk-WTSM3A7E.js +13 -0
- package/dist/chunk-WTSM3A7E.js.map +1 -0
- package/dist/chunk-WU3F2K3T.js +148 -0
- package/dist/chunk-WU3F2K3T.js.map +1 -0
- package/dist/chunk-WZZK2DTZ.js +39 -0
- package/dist/chunk-WZZK2DTZ.js.map +1 -0
- package/dist/chunk-X4IHLKRD.js +42 -0
- package/dist/chunk-X4IHLKRD.js.map +1 -0
- package/dist/chunk-XAHEXZJC.js +80 -0
- package/dist/chunk-XAHEXZJC.js.map +1 -0
- package/dist/chunk-XCYGJDUX.js +31 -0
- package/dist/chunk-XCYGJDUX.js.map +1 -0
- package/dist/chunk-Y4W3JORC.js +104 -0
- package/dist/chunk-Y4W3JORC.js.map +1 -0
- package/dist/chunk-YFZJ3ZLG.js +1297 -0
- package/dist/chunk-YFZJ3ZLG.js.map +1 -0
- package/dist/chunk-YI3WLXEN.js +4387 -0
- package/dist/chunk-YI3WLXEN.js.map +1 -0
- package/dist/chunk-ZBKFSPD3.js +29 -0
- package/dist/chunk-ZBKFSPD3.js.map +1 -0
- package/dist/chunk-ZOERRQ6A.js +79 -0
- package/dist/chunk-ZOERRQ6A.js.map +1 -0
- package/dist/chunk-ZSTGUKHU.js +10 -0
- package/dist/chunk-ZSTGUKHU.js.map +1 -0
- package/dist/chunk-ZUEHDL27.js +65 -0
- package/dist/chunk-ZUEHDL27.js.map +1 -0
- package/dist/editors.d.ts +27 -3
- package/dist/editors.js +93 -2081
- package/dist/editors.js.map +1 -1
- package/dist/icons.d.ts +29 -8
- package/dist/icons.js +7 -361
- package/dist/icons.js.map +1 -1
- package/dist/index.d.ts +715 -441
- package/dist/index.js +121 -24643
- package/dist/index.js.map +1 -1
- package/dist/internal/blocks/AIKit.js +30 -0
- package/dist/internal/blocks/AIKit.js.map +1 -0
- package/dist/internal/blocks/AppShell.js +11 -0
- package/dist/internal/blocks/AppShell.js.map +1 -0
- package/dist/internal/blocks/AutoSaveTextarea.js +14 -0
- package/dist/internal/blocks/AutoSaveTextarea.js.map +1 -0
- package/dist/internal/blocks/BrandEditor.js +23 -0
- package/dist/internal/blocks/BrandEditor.js.map +1 -0
- package/dist/internal/blocks/ChartPanel.js +10 -0
- package/dist/internal/blocks/ChartPanel.js.map +1 -0
- package/dist/internal/blocks/ClipboardButton.js +12 -0
- package/dist/internal/blocks/ClipboardButton.js.map +1 -0
- package/dist/internal/blocks/ColorInput.js +13 -0
- package/dist/internal/blocks/ColorInput.js.map +1 -0
- package/dist/internal/blocks/ColorModeSwitch.js +13 -0
- package/dist/internal/blocks/ColorModeSwitch.js.map +1 -0
- package/dist/internal/blocks/Command.js +15 -0
- package/dist/internal/blocks/Command.js.map +1 -0
- package/dist/internal/blocks/CopyField.js +11 -0
- package/dist/internal/blocks/CopyField.js.map +1 -0
- package/dist/internal/blocks/DashboardHero.js +9 -0
- package/dist/internal/blocks/DashboardHero.js.map +1 -0
- package/dist/internal/blocks/DateInput.js +16 -0
- package/dist/internal/blocks/DateInput.js.map +1 -0
- package/dist/internal/blocks/DateRangeInput.js +16 -0
- package/dist/internal/blocks/DateRangeInput.js.map +1 -0
- package/dist/internal/blocks/EmptyConfigurationActionCard.js +10 -0
- package/dist/internal/blocks/EmptyConfigurationActionCard.js.map +1 -0
- package/dist/internal/blocks/EmptyState.js +4 -0
- package/dist/internal/blocks/EmptyState.js.map +1 -0
- package/dist/internal/blocks/ErrorState.js +5 -0
- package/dist/internal/blocks/ErrorState.js.map +1 -0
- package/dist/internal/blocks/ExportMenu.js +13 -0
- package/dist/internal/blocks/ExportMenu.js.map +1 -0
- package/dist/internal/blocks/Form.js +29 -0
- package/dist/internal/blocks/Form.js.map +1 -0
- package/dist/internal/blocks/FormGroup.js +18 -0
- package/dist/internal/blocks/FormGroup.js.map +1 -0
- package/dist/internal/blocks/GoogleButton.js +10 -0
- package/dist/internal/blocks/GoogleButton.js.map +1 -0
- package/dist/internal/blocks/MicrosoftButton.js +10 -0
- package/dist/internal/blocks/MicrosoftButton.js.map +1 -0
- package/dist/internal/blocks/MultiActionButtonGroup.js +12 -0
- package/dist/internal/blocks/MultiActionButtonGroup.js.map +1 -0
- package/dist/internal/blocks/MultiCombobox.js +14 -0
- package/dist/internal/blocks/MultiCombobox.js.map +1 -0
- package/dist/internal/blocks/NumberInput.js +12 -0
- package/dist/internal/blocks/NumberInput.js.map +1 -0
- package/dist/internal/blocks/OtpInput.js +10 -0
- package/dist/internal/blocks/OtpInput.js.map +1 -0
- package/dist/internal/blocks/PageHeader.js +9 -0
- package/dist/internal/blocks/PageHeader.js.map +1 -0
- package/dist/internal/blocks/PageLayout.js +9 -0
- package/dist/internal/blocks/PageLayout.js.map +1 -0
- package/dist/internal/blocks/PageToolbar.js +13 -0
- package/dist/internal/blocks/PageToolbar.js.map +1 -0
- package/dist/internal/blocks/PasswordInput.js +13 -0
- package/dist/internal/blocks/PasswordInput.js.map +1 -0
- package/dist/internal/blocks/SearchInput.js +12 -0
- package/dist/internal/blocks/SearchInput.js.map +1 -0
- package/dist/internal/blocks/SearchInputWithNavigation.js +16 -0
- package/dist/internal/blocks/SearchInputWithNavigation.js.map +1 -0
- package/dist/internal/blocks/SectionNav.js +15 -0
- package/dist/internal/blocks/SectionNav.js.map +1 -0
- package/dist/internal/blocks/SplitButton.js +14 -0
- package/dist/internal/blocks/SplitButton.js.map +1 -0
- package/dist/internal/blocks/StatCard.js +10 -0
- package/dist/internal/blocks/StatCard.js.map +1 -0
- package/dist/internal/blocks/TextInput.js +13 -0
- package/dist/internal/blocks/TextInput.js.map +1 -0
- package/dist/internal/blocks/Textarea.js +13 -0
- package/dist/internal/blocks/Textarea.js.map +1 -0
- package/dist/internal/blocks/TimeInput.js +17 -0
- package/dist/internal/blocks/TimeInput.js.map +1 -0
- package/dist/internal/components/Alert.js +11 -0
- package/dist/internal/components/Alert.js.map +1 -0
- package/dist/internal/components/AlertModal.js +11 -0
- package/dist/internal/components/AlertModal.js.map +1 -0
- package/dist/internal/components/Avatar.js +9 -0
- package/dist/internal/components/Avatar.js.map +1 -0
- package/dist/internal/components/Badge.js +9 -0
- package/dist/internal/components/Badge.js.map +1 -0
- package/dist/internal/components/BrandLogo.js +11 -0
- package/dist/internal/components/BrandLogo.js.map +1 -0
- package/dist/internal/components/Breadcrumb.js +14 -0
- package/dist/internal/components/Breadcrumb.js.map +1 -0
- package/dist/internal/components/Button.js +10 -0
- package/dist/internal/components/Button.js.map +1 -0
- package/dist/internal/components/ButtonGroup.js +9 -0
- package/dist/internal/components/ButtonGroup.js.map +1 -0
- package/dist/internal/components/Calendar.js +9 -0
- package/dist/internal/components/Calendar.js.map +1 -0
- package/dist/internal/components/Card.js +9 -0
- package/dist/internal/components/Card.js.map +1 -0
- package/dist/internal/components/Checkbox.js +11 -0
- package/dist/internal/components/Checkbox.js.map +1 -0
- package/dist/internal/components/Clipboard.js +9 -0
- package/dist/internal/components/Clipboard.js.map +1 -0
- package/dist/internal/components/Collapsible.js +9 -0
- package/dist/internal/components/Collapsible.js.map +1 -0
- package/dist/internal/components/CollapsiblePanel.js +11 -0
- package/dist/internal/components/CollapsiblePanel.js.map +1 -0
- package/dist/internal/components/Combobox.js +13 -0
- package/dist/internal/components/Combobox.js.map +1 -0
- package/dist/internal/components/DatePicker.js +11 -0
- package/dist/internal/components/DatePicker.js.map +1 -0
- package/dist/internal/components/DateRangePicker.js +17 -0
- package/dist/internal/components/DateRangePicker.js.map +1 -0
- package/dist/internal/components/DiffView.js +9 -0
- package/dist/internal/components/DiffView.js.map +1 -0
- package/dist/internal/components/DotsLoader.js +5 -0
- package/dist/internal/components/DotsLoader.js.map +1 -0
- package/dist/internal/components/DropdownMenu.js +11 -0
- package/dist/internal/components/DropdownMenu.js.map +1 -0
- package/dist/internal/components/EmptySearchContent.js +4 -0
- package/dist/internal/components/EmptySearchContent.js.map +1 -0
- package/dist/internal/components/FileUpload.js +11 -0
- package/dist/internal/components/FileUpload.js.map +1 -0
- package/dist/internal/components/FullScreenModal.js +12 -0
- package/dist/internal/components/FullScreenModal.js.map +1 -0
- package/dist/internal/components/HelpBlock.js +4 -0
- package/dist/internal/components/HelpBlock.js.map +1 -0
- package/dist/internal/components/HoverCard.js +9 -0
- package/dist/internal/components/HoverCard.js.map +1 -0
- package/dist/internal/components/InputGroup.js +11 -0
- package/dist/internal/components/InputGroup.js.map +1 -0
- package/dist/internal/components/Kbd.js +9 -0
- package/dist/internal/components/Kbd.js.map +1 -0
- package/dist/internal/components/Label.js +9 -0
- package/dist/internal/components/Label.js.map +1 -0
- package/dist/internal/components/Link.js +9 -0
- package/dist/internal/components/Link.js.map +1 -0
- package/dist/internal/components/MarkedText.js +5 -0
- package/dist/internal/components/MarkedText.js.map +1 -0
- package/dist/internal/components/MergeEditor/ConflictStatus/ConflictStatusIndicator.js +10 -0
- package/dist/internal/components/MergeEditor/ConflictStatus/ConflictStatusIndicator.js.map +1 -0
- package/dist/internal/components/MergeEditor/PaneHeader.js +4 -0
- package/dist/internal/components/MergeEditor/PaneHeader.js.map +1 -0
- package/dist/internal/components/MergeEditor/constants.js +4 -0
- package/dist/internal/components/MergeEditor/constants.js.map +1 -0
- package/dist/internal/components/MergeEditor/useMergeDiff.js +5 -0
- package/dist/internal/components/MergeEditor/useMergeDiff.js.map +1 -0
- package/dist/internal/components/Modal.js +13 -0
- package/dist/internal/components/Modal.js.map +1 -0
- package/dist/internal/components/Navbar.js +14 -0
- package/dist/internal/components/Navbar.js.map +1 -0
- package/dist/internal/components/Pagination.js +11 -0
- package/dist/internal/components/Pagination.js.map +1 -0
- package/dist/internal/components/PanelWithDetails.js +11 -0
- package/dist/internal/components/PanelWithDetails.js.map +1 -0
- package/dist/internal/components/Popconfirm.js +12 -0
- package/dist/internal/components/Popconfirm.js.map +1 -0
- package/dist/internal/components/Popover.js +9 -0
- package/dist/internal/components/Popover.js.map +1 -0
- package/dist/internal/components/Progress.js +9 -0
- package/dist/internal/components/Progress.js.map +1 -0
- package/dist/internal/components/RadioGroup.js +12 -0
- package/dist/internal/components/RadioGroup.js.map +1 -0
- package/dist/internal/components/Resizable.js +9 -0
- package/dist/internal/components/Resizable.js.map +1 -0
- package/dist/internal/components/ScrollArea.js +9 -0
- package/dist/internal/components/ScrollArea.js.map +1 -0
- package/dist/internal/components/Search.js +10 -0
- package/dist/internal/components/Search.js.map +1 -0
- package/dist/internal/components/Select.js +12 -0
- package/dist/internal/components/Select.js.map +1 -0
- package/dist/internal/components/Separator.js +9 -0
- package/dist/internal/components/Separator.js.map +1 -0
- package/dist/internal/components/Sheet.js +12 -0
- package/dist/internal/components/Sheet.js.map +1 -0
- package/dist/internal/components/Sidebar.js +20 -0
- package/dist/internal/components/Sidebar.js.map +1 -0
- package/dist/internal/components/Skeleton/Skeleton.js +9 -0
- package/dist/internal/components/Skeleton/Skeleton.js.map +1 -0
- package/dist/internal/components/Skeleton/SkeletonList.js +10 -0
- package/dist/internal/components/Skeleton/SkeletonList.js.map +1 -0
- package/dist/internal/components/Slider.js +11 -0
- package/dist/internal/components/Slider.js.map +1 -0
- package/dist/internal/components/SpotlightBackdrop.js +9 -0
- package/dist/internal/components/SpotlightBackdrop.js.map +1 -0
- package/dist/internal/components/Stepper.js +10 -0
- package/dist/internal/components/Stepper.js.map +1 -0
- package/dist/internal/components/Switch.js +10 -0
- package/dist/internal/components/Switch.js.map +1 -0
- package/dist/internal/components/Table.js +10 -0
- package/dist/internal/components/Table.js.map +1 -0
- package/dist/internal/components/Tabs.js +12 -0
- package/dist/internal/components/Tabs.js.map +1 -0
- package/dist/internal/components/ThemeProvider.js +10 -0
- package/dist/internal/components/ThemeProvider.js.map +1 -0
- package/dist/internal/components/TimePicker.js +12 -0
- package/dist/internal/components/TimePicker.js.map +1 -0
- package/dist/internal/components/Timeline.js +10 -0
- package/dist/internal/components/Timeline.js.map +1 -0
- package/dist/internal/components/Toast.js +11 -0
- package/dist/internal/components/Toast.js.map +1 -0
- package/dist/internal/components/Toggle.js +9 -0
- package/dist/internal/components/Toggle.js.map +1 -0
- package/dist/internal/components/ToggleGroup.js +9 -0
- package/dist/internal/components/ToggleGroup.js.map +1 -0
- package/dist/internal/components/Tooltip.js +8 -0
- package/dist/internal/components/Tooltip.js.map +1 -0
- package/dist/internal/components/Truncated.js +9 -0
- package/dist/internal/components/Truncated.js.map +1 -0
- package/dist/internal/components/Workbench.js +11 -0
- package/dist/internal/components/Workbench.js.map +1 -0
- package/dist/internal/components/ZoomableSvg.js +13 -0
- package/dist/internal/components/ZoomableSvg.js.map +1 -0
- package/dist/internal/hooks/useAutosizeInput.js +4 -0
- package/dist/internal/hooks/useAutosizeInput.js.map +1 -0
- package/dist/internal/hooks/useScrollbarPosition.js +5 -0
- package/dist/internal/hooks/useScrollbarPosition.js.map +1 -0
- package/dist/internal/hooks/useStableCallback.js +4 -0
- package/dist/internal/hooks/useStableCallback.js.map +1 -0
- package/dist/internal/utils/mergeRefs.js +4 -0
- package/dist/internal/utils/mergeRefs.js.map +1 -0
- package/dist/internal/utils.js +8 -0
- package/dist/internal/utils.js.map +1 -0
- package/dist/markdown-editor.js +55 -3426
- package/dist/markdown-editor.js.map +1 -1
- package/dist/mermaid.js +16 -1129
- package/dist/mermaid.js.map +1 -1
- package/dist/rjsf.js +252 -9380
- package/dist/rjsf.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/testing.js +10 -357
- package/dist/testing.js.map +1 -1
- package/package.json +31 -75
- package/src/styles.css +95 -10
- package/src/theme.css +65 -0
- package/dist/charts.cjs +0 -268
- package/dist/charts.cjs.map +0 -1
- package/dist/charts.d.cts +0 -181
- package/dist/constants-D3gaMY-W.d.cts +0 -39
- package/dist/editors.cjs +0 -2440
- package/dist/editors.cjs.map +0 -1
- package/dist/editors.d.cts +0 -165
- package/dist/icons.cjs +0 -23888
- package/dist/icons.cjs.map +0 -1
- package/dist/icons.d.cts +0 -20
- package/dist/index.cjs +0 -24894
- package/dist/index.cjs.map +0 -1
- package/dist/index.d.cts +0 -10438
- package/dist/markdown-editor.cjs +0 -4636
- package/dist/markdown-editor.cjs.map +0 -1
- package/dist/markdown-editor.d.cts +0 -75
- package/dist/mermaid.cjs +0 -1138
- package/dist/mermaid.cjs.map +0 -1
- package/dist/mermaid.d.cts +0 -15
- package/dist/rjsf.cjs +0 -10893
- package/dist/rjsf.cjs.map +0 -1
- package/dist/rjsf.d.cts +0 -55
- package/dist/testing.cjs +0 -373
- package/dist/testing.cjs.map +0 -1
- package/dist/testing.d.cts +0 -25
|
@@ -0,0 +1,404 @@
|
|
|
1
|
+
import { OtpInput } from './chunk-K65C7CVE.js';
|
|
2
|
+
import { Select } from './chunk-M6LTUPVP.js';
|
|
3
|
+
import { Switch } from './chunk-576G5OES.js';
|
|
4
|
+
import { Alert } from './chunk-KWKSHPDP.js';
|
|
5
|
+
import { PasswordInput } from './chunk-U3A6YBTZ.js';
|
|
6
|
+
import { Checkbox } from './chunk-Y4W3JORC.js';
|
|
7
|
+
import { FormGroup } from './chunk-RTW56PWZ.js';
|
|
8
|
+
import { NumberInput } from './chunk-QZAWRSEB.js';
|
|
9
|
+
import { Textarea } from './chunk-EEK5NGZF.js';
|
|
10
|
+
import { TextInput } from './chunk-HPMYYGP7.js';
|
|
11
|
+
import { Label } from './chunk-S6TAF63G.js';
|
|
12
|
+
import { Button } from './chunk-IXAYNBOY.js';
|
|
13
|
+
import { Info } from './chunk-RQVK4IYC.js';
|
|
14
|
+
import { Tooltip } from './chunk-SWQFYNYG.js';
|
|
15
|
+
import { cn } from './chunk-LXLIQ2D6.js';
|
|
16
|
+
import { createFormHookContexts, createFormHook } from '@tanstack/react-form';
|
|
17
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
18
|
+
|
|
19
|
+
var { fieldContext, useFieldContext, formContext, useFormContext } = createFormHookContexts();
|
|
20
|
+
var FormBody = ({ children, className, ...formProps }) => {
|
|
21
|
+
const form = useFormContext();
|
|
22
|
+
return /* @__PURE__ */ jsx(
|
|
23
|
+
"form",
|
|
24
|
+
{
|
|
25
|
+
...formProps,
|
|
26
|
+
className: cn("tw:flex tw:flex-col tw:gap-4", className),
|
|
27
|
+
onSubmit: (e) => {
|
|
28
|
+
e.preventDefault();
|
|
29
|
+
e.stopPropagation();
|
|
30
|
+
void form.handleSubmit();
|
|
31
|
+
},
|
|
32
|
+
children
|
|
33
|
+
}
|
|
34
|
+
);
|
|
35
|
+
};
|
|
36
|
+
var SubmitButton = ({ children = "Submit", ...buttonProps }) => {
|
|
37
|
+
const form = useFormContext();
|
|
38
|
+
return /* @__PURE__ */ jsx(
|
|
39
|
+
form.Subscribe,
|
|
40
|
+
{
|
|
41
|
+
selector: (state) => ({ isSubmitting: state.isSubmitting, canSubmit: state.canSubmit }),
|
|
42
|
+
children: ({ isSubmitting, canSubmit }) => /* @__PURE__ */ jsx(
|
|
43
|
+
Button,
|
|
44
|
+
{
|
|
45
|
+
...buttonProps,
|
|
46
|
+
type: "submit",
|
|
47
|
+
isLoading: isSubmitting,
|
|
48
|
+
disabled: !canSubmit || isSubmitting,
|
|
49
|
+
children
|
|
50
|
+
}
|
|
51
|
+
)
|
|
52
|
+
}
|
|
53
|
+
);
|
|
54
|
+
};
|
|
55
|
+
var SubmitErrorAlert = () => {
|
|
56
|
+
const form = useFormContext();
|
|
57
|
+
return /* @__PURE__ */ jsx(form.Subscribe, { selector: (state) => state.errorMap.onSubmit, children: (submitError) => typeof submitError === "string" ? /* @__PURE__ */ jsx(Alert, { variant: "error", title: submitError }) : null });
|
|
58
|
+
};
|
|
59
|
+
var FieldItem = ({
|
|
60
|
+
label,
|
|
61
|
+
action,
|
|
62
|
+
required,
|
|
63
|
+
requiredMark = "required",
|
|
64
|
+
help,
|
|
65
|
+
tooltip,
|
|
66
|
+
className,
|
|
67
|
+
"aria-describedby": ariaDescribedBy,
|
|
68
|
+
children
|
|
69
|
+
}) => {
|
|
70
|
+
const field = useFieldContext();
|
|
71
|
+
const { errors, isTouched } = field.state.meta;
|
|
72
|
+
const isInvalid = isTouched && errors.length > 0;
|
|
73
|
+
const errorId = `${field.name}-error`;
|
|
74
|
+
const descriptionId = `${field.name}-description`;
|
|
75
|
+
const describedBy = [ariaDescribedBy, !!help && descriptionId, isInvalid && errorId].filter(Boolean).join(" ") || void 0;
|
|
76
|
+
return /* @__PURE__ */ jsxs(FormGroup, { className, children: [
|
|
77
|
+
(label || action) && /* @__PURE__ */ jsxs("div", { className: "tw:flex tw:items-center tw:justify-between tw:gap-2", children: [
|
|
78
|
+
/* @__PURE__ */ jsxs("div", { className: "tw:flex tw:items-center tw:gap-1", children: [
|
|
79
|
+
label && /* @__PURE__ */ jsxs(Label, { htmlFor: field.name, children: [
|
|
80
|
+
label,
|
|
81
|
+
requiredMark === "required" && required && /* @__PURE__ */ jsx(Label.Required, {}),
|
|
82
|
+
requiredMark === "optional" && !required && /* @__PURE__ */ jsx(Label.Optional, {})
|
|
83
|
+
] }),
|
|
84
|
+
tooltip && /* @__PURE__ */ jsx(Tooltip, { tooltip, placement: "top", triggerAsChild: true, children: /* @__PURE__ */ jsx(
|
|
85
|
+
"button",
|
|
86
|
+
{
|
|
87
|
+
type: "button",
|
|
88
|
+
"aria-label": typeof label === "string" ? `More information about ${label}` : "More information",
|
|
89
|
+
className: "tw:text-muted-foreground tw:focus:outline-hidden tw:focus-visible:text-primary tailwindcss-preflight",
|
|
90
|
+
children: /* @__PURE__ */ jsx(Info, { className: "tw:size-3" })
|
|
91
|
+
}
|
|
92
|
+
) })
|
|
93
|
+
] }),
|
|
94
|
+
action
|
|
95
|
+
] }),
|
|
96
|
+
children({
|
|
97
|
+
id: field.name,
|
|
98
|
+
name: field.name,
|
|
99
|
+
"aria-required": required || void 0,
|
|
100
|
+
"aria-invalid": isInvalid || void 0,
|
|
101
|
+
"aria-describedby": describedBy
|
|
102
|
+
}),
|
|
103
|
+
(help || isInvalid) && /* @__PURE__ */ jsxs("div", { children: [
|
|
104
|
+
help && /* @__PURE__ */ jsx(FormGroup.Help, { id: descriptionId, children: help }),
|
|
105
|
+
isInvalid && /* @__PURE__ */ jsx(FormGroup.Error, { id: errorId, errors })
|
|
106
|
+
] })
|
|
107
|
+
] });
|
|
108
|
+
};
|
|
109
|
+
var CheckboxField = ({ className, children, ...checkboxProps }) => {
|
|
110
|
+
const field = useFieldContext();
|
|
111
|
+
return /* @__PURE__ */ jsx(FieldItem, { className, children: (control) => /* @__PURE__ */ jsx(
|
|
112
|
+
Checkbox,
|
|
113
|
+
{
|
|
114
|
+
...checkboxProps,
|
|
115
|
+
...control,
|
|
116
|
+
checked: field.state.value ?? false,
|
|
117
|
+
onCheckedChange: (checked) => field.handleChange(checked === true),
|
|
118
|
+
onBlur: field.handleBlur,
|
|
119
|
+
children
|
|
120
|
+
}
|
|
121
|
+
) });
|
|
122
|
+
};
|
|
123
|
+
var NumberField = ({
|
|
124
|
+
label,
|
|
125
|
+
action,
|
|
126
|
+
required,
|
|
127
|
+
requiredMark,
|
|
128
|
+
help,
|
|
129
|
+
tooltip,
|
|
130
|
+
className,
|
|
131
|
+
"aria-describedby": ariaDescribedBy,
|
|
132
|
+
...inputProps
|
|
133
|
+
}) => {
|
|
134
|
+
const field = useFieldContext();
|
|
135
|
+
return /* @__PURE__ */ jsx(
|
|
136
|
+
FieldItem,
|
|
137
|
+
{
|
|
138
|
+
label,
|
|
139
|
+
action,
|
|
140
|
+
required,
|
|
141
|
+
requiredMark,
|
|
142
|
+
help,
|
|
143
|
+
tooltip,
|
|
144
|
+
className,
|
|
145
|
+
"aria-describedby": ariaDescribedBy,
|
|
146
|
+
children: (control) => /* @__PURE__ */ jsx(
|
|
147
|
+
NumberInput,
|
|
148
|
+
{
|
|
149
|
+
...inputProps,
|
|
150
|
+
...control,
|
|
151
|
+
value: field.state.value ?? null,
|
|
152
|
+
onValueChange: field.handleChange,
|
|
153
|
+
onBlur: field.handleBlur
|
|
154
|
+
}
|
|
155
|
+
)
|
|
156
|
+
}
|
|
157
|
+
);
|
|
158
|
+
};
|
|
159
|
+
var OtpInputField = ({
|
|
160
|
+
label,
|
|
161
|
+
action,
|
|
162
|
+
required,
|
|
163
|
+
requiredMark,
|
|
164
|
+
help,
|
|
165
|
+
tooltip,
|
|
166
|
+
className,
|
|
167
|
+
"aria-describedby": ariaDescribedBy,
|
|
168
|
+
maxLength,
|
|
169
|
+
...otpProps
|
|
170
|
+
}) => {
|
|
171
|
+
const field = useFieldContext();
|
|
172
|
+
return /* @__PURE__ */ jsx(
|
|
173
|
+
FieldItem,
|
|
174
|
+
{
|
|
175
|
+
label,
|
|
176
|
+
action,
|
|
177
|
+
required,
|
|
178
|
+
requiredMark,
|
|
179
|
+
help,
|
|
180
|
+
tooltip,
|
|
181
|
+
className,
|
|
182
|
+
"aria-describedby": ariaDescribedBy,
|
|
183
|
+
children: (control) => /* @__PURE__ */ jsx(
|
|
184
|
+
OtpInput,
|
|
185
|
+
{
|
|
186
|
+
...otpProps,
|
|
187
|
+
...control,
|
|
188
|
+
maxLength,
|
|
189
|
+
value: field.state.value ?? "",
|
|
190
|
+
onChange: field.handleChange,
|
|
191
|
+
onBlur: field.handleBlur,
|
|
192
|
+
children: /* @__PURE__ */ jsx(OtpInput.Group, { children: Array.from({ length: maxLength }, (_, index) => /* @__PURE__ */ jsx(OtpInput.Slot, { index }, index)) })
|
|
193
|
+
}
|
|
194
|
+
)
|
|
195
|
+
}
|
|
196
|
+
);
|
|
197
|
+
};
|
|
198
|
+
var PasswordField = ({
|
|
199
|
+
label,
|
|
200
|
+
action,
|
|
201
|
+
required,
|
|
202
|
+
requiredMark,
|
|
203
|
+
help,
|
|
204
|
+
tooltip,
|
|
205
|
+
className,
|
|
206
|
+
"aria-describedby": ariaDescribedBy,
|
|
207
|
+
...inputProps
|
|
208
|
+
}) => {
|
|
209
|
+
const field = useFieldContext();
|
|
210
|
+
return /* @__PURE__ */ jsx(
|
|
211
|
+
FieldItem,
|
|
212
|
+
{
|
|
213
|
+
label,
|
|
214
|
+
action,
|
|
215
|
+
required,
|
|
216
|
+
requiredMark,
|
|
217
|
+
help,
|
|
218
|
+
tooltip,
|
|
219
|
+
className,
|
|
220
|
+
"aria-describedby": ariaDescribedBy,
|
|
221
|
+
children: (control) => /* @__PURE__ */ jsx(
|
|
222
|
+
PasswordInput,
|
|
223
|
+
{
|
|
224
|
+
...inputProps,
|
|
225
|
+
...control,
|
|
226
|
+
value: field.state.value ?? "",
|
|
227
|
+
onValueChange: field.handleChange,
|
|
228
|
+
onBlur: field.handleBlur
|
|
229
|
+
}
|
|
230
|
+
)
|
|
231
|
+
}
|
|
232
|
+
);
|
|
233
|
+
};
|
|
234
|
+
var SelectField = ({
|
|
235
|
+
label,
|
|
236
|
+
action,
|
|
237
|
+
required,
|
|
238
|
+
requiredMark,
|
|
239
|
+
help,
|
|
240
|
+
tooltip,
|
|
241
|
+
className,
|
|
242
|
+
"aria-describedby": ariaDescribedBy,
|
|
243
|
+
triggerClassName,
|
|
244
|
+
...selectProps
|
|
245
|
+
}) => {
|
|
246
|
+
const field = useFieldContext();
|
|
247
|
+
return /* @__PURE__ */ jsx(
|
|
248
|
+
FieldItem,
|
|
249
|
+
{
|
|
250
|
+
label,
|
|
251
|
+
action,
|
|
252
|
+
required,
|
|
253
|
+
requiredMark,
|
|
254
|
+
help,
|
|
255
|
+
tooltip,
|
|
256
|
+
className,
|
|
257
|
+
"aria-describedby": ariaDescribedBy,
|
|
258
|
+
children: (control) => (
|
|
259
|
+
// `required` deliberately stays on `FieldItem` (which turns it into `aria-required` via
|
|
260
|
+
// `control`) and is not forwarded to the Radix root: a required hidden native select would
|
|
261
|
+
// fail browser constraint validation and swallow the submit event before the form sees it.
|
|
262
|
+
/* @__PURE__ */ jsx(
|
|
263
|
+
Select,
|
|
264
|
+
{
|
|
265
|
+
...selectProps,
|
|
266
|
+
...control,
|
|
267
|
+
className: triggerClassName ?? "tw:w-full",
|
|
268
|
+
value: field.state.value ?? "",
|
|
269
|
+
onValueChange: field.handleChange,
|
|
270
|
+
onBlur: field.handleBlur
|
|
271
|
+
}
|
|
272
|
+
)
|
|
273
|
+
)
|
|
274
|
+
}
|
|
275
|
+
);
|
|
276
|
+
};
|
|
277
|
+
var SwitchField = ({ className, children, ...switchProps }) => {
|
|
278
|
+
const field = useFieldContext();
|
|
279
|
+
return /* @__PURE__ */ jsx(FieldItem, { className, children: (control) => /* @__PURE__ */ jsx(
|
|
280
|
+
Switch,
|
|
281
|
+
{
|
|
282
|
+
...switchProps,
|
|
283
|
+
...control,
|
|
284
|
+
checked: field.state.value ?? false,
|
|
285
|
+
onCheckedChange: field.handleChange,
|
|
286
|
+
onBlur: field.handleBlur,
|
|
287
|
+
children
|
|
288
|
+
}
|
|
289
|
+
) });
|
|
290
|
+
};
|
|
291
|
+
var TextareaField = ({
|
|
292
|
+
label,
|
|
293
|
+
action,
|
|
294
|
+
required,
|
|
295
|
+
requiredMark,
|
|
296
|
+
help,
|
|
297
|
+
tooltip,
|
|
298
|
+
className,
|
|
299
|
+
"aria-describedby": ariaDescribedBy,
|
|
300
|
+
...inputProps
|
|
301
|
+
}) => {
|
|
302
|
+
const field = useFieldContext();
|
|
303
|
+
return /* @__PURE__ */ jsx(
|
|
304
|
+
FieldItem,
|
|
305
|
+
{
|
|
306
|
+
label,
|
|
307
|
+
action,
|
|
308
|
+
required,
|
|
309
|
+
requiredMark,
|
|
310
|
+
help,
|
|
311
|
+
tooltip,
|
|
312
|
+
className,
|
|
313
|
+
"aria-describedby": ariaDescribedBy,
|
|
314
|
+
children: (control) => /* @__PURE__ */ jsx(
|
|
315
|
+
Textarea,
|
|
316
|
+
{
|
|
317
|
+
...inputProps,
|
|
318
|
+
...control,
|
|
319
|
+
value: field.state.value ?? "",
|
|
320
|
+
onValueChange: field.handleChange,
|
|
321
|
+
onBlur: field.handleBlur
|
|
322
|
+
}
|
|
323
|
+
)
|
|
324
|
+
}
|
|
325
|
+
);
|
|
326
|
+
};
|
|
327
|
+
var TextField = ({
|
|
328
|
+
label,
|
|
329
|
+
action,
|
|
330
|
+
required,
|
|
331
|
+
requiredMark,
|
|
332
|
+
help,
|
|
333
|
+
tooltip,
|
|
334
|
+
className,
|
|
335
|
+
"aria-describedby": ariaDescribedBy,
|
|
336
|
+
...inputProps
|
|
337
|
+
}) => {
|
|
338
|
+
const field = useFieldContext();
|
|
339
|
+
return /* @__PURE__ */ jsx(
|
|
340
|
+
FieldItem,
|
|
341
|
+
{
|
|
342
|
+
label,
|
|
343
|
+
action,
|
|
344
|
+
required,
|
|
345
|
+
requiredMark,
|
|
346
|
+
help,
|
|
347
|
+
tooltip,
|
|
348
|
+
className,
|
|
349
|
+
"aria-describedby": ariaDescribedBy,
|
|
350
|
+
children: (control) => /* @__PURE__ */ jsx(
|
|
351
|
+
TextInput,
|
|
352
|
+
{
|
|
353
|
+
...inputProps,
|
|
354
|
+
...control,
|
|
355
|
+
value: field.state.value ?? "",
|
|
356
|
+
onValueChange: field.handleChange,
|
|
357
|
+
onBlur: field.handleBlur
|
|
358
|
+
}
|
|
359
|
+
)
|
|
360
|
+
}
|
|
361
|
+
);
|
|
362
|
+
};
|
|
363
|
+
|
|
364
|
+
// src/blocks/Form/formHook.ts
|
|
365
|
+
var { useAppForm, withForm } = createFormHook({
|
|
366
|
+
fieldContext,
|
|
367
|
+
formContext,
|
|
368
|
+
fieldComponents: {
|
|
369
|
+
TextField,
|
|
370
|
+
NumberField,
|
|
371
|
+
PasswordField,
|
|
372
|
+
TextareaField,
|
|
373
|
+
SelectField,
|
|
374
|
+
CheckboxField,
|
|
375
|
+
SwitchField,
|
|
376
|
+
OtpInputField
|
|
377
|
+
},
|
|
378
|
+
formComponents: {
|
|
379
|
+
FormBody,
|
|
380
|
+
SubmitButton,
|
|
381
|
+
SubmitErrorAlert
|
|
382
|
+
}
|
|
383
|
+
});
|
|
384
|
+
|
|
385
|
+
// src/blocks/Form/setServerFieldErrors.ts
|
|
386
|
+
var setServerFieldErrors = (form, errors) => {
|
|
387
|
+
for (const { field, message } of errors) {
|
|
388
|
+
form.setFieldMeta(field, (meta) => ({
|
|
389
|
+
...meta,
|
|
390
|
+
isTouched: true,
|
|
391
|
+
errors: [message],
|
|
392
|
+
errorMap: { ...meta.errorMap, onServer: message }
|
|
393
|
+
}));
|
|
394
|
+
}
|
|
395
|
+
};
|
|
396
|
+
|
|
397
|
+
// src/blocks/Form/setSubmitError.ts
|
|
398
|
+
var setSubmitError = (form, message) => {
|
|
399
|
+
form.setErrorMap({ onSubmit: { form: message, fields: {} } });
|
|
400
|
+
};
|
|
401
|
+
|
|
402
|
+
export { setServerFieldErrors, setSubmitError, useAppForm, withForm };
|
|
403
|
+
//# sourceMappingURL=chunk-5QCXHNCW.js.map
|
|
404
|
+
//# sourceMappingURL=chunk-5QCXHNCW.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/blocks/Form/contexts.ts","../src/blocks/Form/components/FormBody.tsx","../src/blocks/Form/components/SubmitButton.tsx","../src/blocks/Form/components/SubmitErrorAlert.tsx","../src/blocks/Form/connectors/FieldItem.tsx","../src/blocks/Form/connectors/CheckboxField.tsx","../src/blocks/Form/connectors/NumberField.tsx","../src/blocks/Form/connectors/OtpInputField.tsx","../src/blocks/Form/connectors/PasswordField.tsx","../src/blocks/Form/connectors/SelectField.tsx","../src/blocks/Form/connectors/SwitchField.tsx","../src/blocks/Form/connectors/TextareaField.tsx","../src/blocks/Form/connectors/TextField.tsx","../src/blocks/Form/formHook.ts","../src/blocks/Form/setServerFieldErrors.ts","../src/blocks/Form/setSubmitError.ts"],"names":["jsx"],"mappings":";;;;;;;;;;;;;;;;;;AAEO,IAAM,EAAE,YAAA,EAAc,eAAA,EAAiB,WAAA,EAAa,cAAA,KACzD,sBAAA,EAAuB;ACMlB,IAAM,WAAW,CAAC,EAAE,UAAU,SAAA,EAAW,GAAG,WAAU,KAAa;AACxE,EAAA,MAAM,OAAO,cAAA,EAAe;AAE5B,EAAA,uBACE,GAAA;AAAA,IAAC,MAAA;AAAA,IAAA;AAAA,MACE,GAAG,SAAA;AAAA,MACJ,SAAA,EAAW,EAAA,CAAG,8BAAA,EAAgC,SAAS,CAAA;AAAA,MACvD,QAAA,EAAU,CAAC,CAAA,KAAM;AACf,QAAA,CAAA,CAAE,cAAA,EAAe;AACjB,QAAA,CAAA,CAAE,eAAA,EAAgB;AAClB,QAAA,KAAK,KAAK,YAAA,EAAa;AAAA,MACzB,CAAA;AAAA,MAEC;AAAA;AAAA,GACH;AAEJ,CAAA;AChBO,IAAM,eAAe,CAAC,EAAE,WAAW,QAAA,EAAU,GAAG,aAAY,KAAa;AAC9E,EAAA,MAAM,OAAO,cAAA,EAAe;AAE5B,EAAA,uBACEA,GAAAA;AAAA,IAAC,IAAA,CAAK,SAAA;AAAA,IAAL;AAAA,MACC,QAAA,EAAU,CAAC,KAAA,MAAW,EAAE,cAAc,KAAA,CAAM,YAAA,EAAc,SAAA,EAAW,KAAA,CAAM,SAAA,EAAU,CAAA;AAAA,MAEpF,QAAA,EAAA,CAAC,EAAE,YAAA,EAAc,SAAA,uBAChBA,GAAAA;AAAA,QAAC,MAAA;AAAA,QAAA;AAAA,UACE,GAAG,WAAA;AAAA,UACJ,IAAA,EAAK,QAAA;AAAA,UACL,SAAA,EAAW,YAAA;AAAA,UACX,QAAA,EAAU,CAAC,SAAA,IAAa,YAAA;AAAA,UAEvB;AAAA;AAAA;AACH;AAAA,GAEJ;AAEJ,CAAA;ACpBO,IAAM,mBAAmB,MAAM;AACpC,EAAA,MAAM,OAAO,cAAA,EAAe;AAE5B,EAAA,uBACEA,GAAAA,CAAC,IAAA,CAAK,SAAA,EAAL,EAAe,UAAU,CAAC,KAAA,KAAU,KAAA,CAAM,QAAA,CAAS,QAAA,EACjD,QAAA,EAAA,CAAC,gBACA,OAAO,WAAA,KAAgB,QAAA,mBAAWA,GAAAA,CAAC,KAAA,EAAA,EAAM,SAAQ,OAAA,EAAQ,KAAA,EAAO,WAAA,EAAa,CAAA,GAAK,IAAA,EAEtF,CAAA;AAEJ,CAAA;ACmCO,IAAM,YAAY,CAAC;AAAA,EACxB,KAAA;AAAA,EACA,MAAA;AAAA,EACA,QAAA;AAAA,EACA,YAAA,GAAe,UAAA;AAAA,EACf,IAAA;AAAA,EACA,OAAA;AAAA,EACA,SAAA;AAAA,EACA,kBAAA,EAAoB,eAAA;AAAA,EACpB;AACF,CAAA,KAAa;AACX,EAAA,MAAM,QAAQ,eAAA,EAAgB;AAC9B,EAAA,MAAM,EAAE,MAAA,EAAQ,SAAA,EAAU,GAAI,MAAM,KAAA,CAAM,IAAA;AAC1C,EAAA,MAAM,SAAA,GAAY,SAAA,IAAa,MAAA,CAAO,MAAA,GAAS,CAAA;AAE/C,EAAA,MAAM,OAAA,GAAU,CAAA,EAAG,KAAA,CAAM,IAAI,CAAA,MAAA,CAAA;AAC7B,EAAA,MAAM,aAAA,GAAgB,CAAA,EAAG,KAAA,CAAM,IAAI,CAAA,YAAA,CAAA;AAGnC,EAAA,MAAM,WAAA,GACJ,CAAC,eAAA,EAAiB,CAAC,CAAC,IAAA,IAAQ,aAAA,EAAe,SAAA,IAAa,OAAO,EAAE,MAAA,CAAO,OAAO,CAAA,CAAE,IAAA,CAAK,GAAG,CAAA,IACzF,MAAA;AAEF,EAAA,uBACE,IAAA,CAAC,aAAU,SAAA,EACP,QAAA,EAAA;AAAA,IAAA,CAAA,KAAA,IAAS,MAAA,qBACT,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,qDAAA,EACb,QAAA,EAAA;AAAA,sBAAA,IAAA,CAAC,KAAA,EAAA,EAAI,WAAU,kCAAA,EAEZ,QAAA,EAAA;AAAA,QAAA,KAAA,oBACC,IAAA,CAAC,KAAA,EAAA,EAAM,OAAA,EAAS,KAAA,CAAM,IAAA,EACnB,QAAA,EAAA;AAAA,UAAA,KAAA;AAAA,UAGA,iBAAiB,UAAA,IAAc,QAAA,oBAAYA,GAAAA,CAAC,KAAA,CAAM,UAAN,EAAe,CAAA;AAAA,UAC3D,YAAA,KAAiB,cAAc,CAAC,QAAA,oBAAYA,GAAAA,CAAC,KAAA,CAAM,UAAN,EAAe;AAAA,SAAA,EAC/D,CAAA;AAAA,QAGD,OAAA,oBACCA,GAAAA,CAAC,OAAA,EAAA,EAAQ,SAAkB,SAAA,EAAU,KAAA,EAAM,cAAA,EAAc,IAAA,EACvD,QAAA,kBAAAA,GAAAA;AAAA,UAAC,QAAA;AAAA,UAAA;AAAA,YACC,IAAA,EAAK,QAAA;AAAA,YACL,cACE,OAAO,KAAA,KAAU,QAAA,GACb,CAAA,uBAAA,EAA0B,KAAK,CAAA,CAAA,GAC/B,kBAAA;AAAA,YAEN,SAAA,EAAU,sGAAA;AAAA,YAEV,QAAA,kBAAAA,GAAAA,CAAC,IAAA,EAAA,EAAK,SAAA,EAAU,WAAA,EAAY;AAAA;AAAA,SAC9B,EACF;AAAA,OAAA,EAEJ,CAAA;AAAA,MAEC;AAAA,KAAA,EACH,CAAA;AAAA,IAGD,QAAA,CAAS;AAAA,MACR,IAAI,KAAA,CAAM,IAAA;AAAA,MACV,MAAM,KAAA,CAAM,IAAA;AAAA,MACZ,iBAAiB,QAAA,IAAY,MAAA;AAAA,MAC7B,gBAAgB,SAAA,IAAa,MAAA;AAAA,MAC7B,kBAAA,EAAoB;AAAA,KACrB,CAAA;AAAA,IAAA,CAEC,IAAA,IAAQ,SAAA,qBACR,IAAA,CAAC,KAAA,EAAA,EACE,QAAA,EAAA;AAAA,MAAA,IAAA,oBAAQA,GAAAA,CAAC,SAAA,CAAU,MAAV,EAAe,EAAA,EAAI,eAAgB,QAAA,EAAA,IAAA,EAAK,CAAA;AAAA,MACjD,SAAA,oBAAaA,GAAAA,CAAC,SAAA,CAAU,OAAV,EAAgB,EAAA,EAAI,SAAS,MAAA,EAAgB;AAAA,KAAA,EAC9D;AAAA,GAAA,EAEJ,CAAA;AAEJ,CAAA;ACtHO,IAAM,gBAAgB,CAAC,EAAE,WAAW,QAAA,EAAU,GAAG,eAAc,KAAa;AAGjF,EAAA,MAAM,QAAQ,eAAA,EAAyB;AAEvC,EAAA,uBACEA,GAAAA,CAAC,SAAA,EAAA,EAAU,SAAA,EACR,QAAA,EAAA,CAAC,4BACAA,GAAAA;AAAA,IAAC,QAAA;AAAA,IAAA;AAAA,MACE,GAAG,aAAA;AAAA,MACH,GAAG,OAAA;AAAA,MACJ,OAAA,EAAS,KAAA,CAAM,KAAA,CAAM,KAAA,IAAS,KAAA;AAAA,MAC9B,iBAAiB,CAAC,OAAA,KAAY,KAAA,CAAM,YAAA,CAAa,YAAY,IAAI,CAAA;AAAA,MACjE,QAAQ,KAAA,CAAM,UAAA;AAAA,MAEb;AAAA;AAAA,GACH,EAEJ,CAAA;AAEJ,CAAA;ACjBO,IAAM,cAAc,CAAC;AAAA,EAC1B,KAAA;AAAA,EACA,MAAA;AAAA,EACA,QAAA;AAAA,EACA,YAAA;AAAA,EACA,IAAA;AAAA,EACA,OAAA;AAAA,EACA,SAAA;AAAA,EACA,kBAAA,EAAoB,eAAA;AAAA,EACpB,GAAG;AACL,CAAA,KAAa;AACX,EAAA,MAAM,QAAQ,eAAA,EAA+B;AAE7C,EAAA,uBACEA,GAAAA;AAAA,IAAC,SAAA;AAAA,IAAA;AAAA,MACC,KAAA;AAAA,MACA,MAAA;AAAA,MACA,QAAA;AAAA,MACA,YAAA;AAAA,MACA,IAAA;AAAA,MACA,OAAA;AAAA,MACA,SAAA;AAAA,MACA,kBAAA,EAAkB,eAAA;AAAA,MAEjB,QAAA,EAAA,CAAC,4BACAA,GAAAA;AAAA,QAAC,WAAA;AAAA,QAAA;AAAA,UACE,GAAG,UAAA;AAAA,UACH,GAAG,OAAA;AAAA,UACJ,KAAA,EAAO,KAAA,CAAM,KAAA,CAAM,KAAA,IAAS,IAAA;AAAA,UAC5B,eAAe,KAAA,CAAM,YAAA;AAAA,UACrB,QAAQ,KAAA,CAAM;AAAA;AAAA;AAChB;AAAA,GAEJ;AAEJ,CAAA;AC/BO,IAAM,gBAAgB,CAAC;AAAA,EAC5B,KAAA;AAAA,EACA,MAAA;AAAA,EACA,QAAA;AAAA,EACA,YAAA;AAAA,EACA,IAAA;AAAA,EACA,OAAA;AAAA,EACA,SAAA;AAAA,EACA,kBAAA,EAAoB,eAAA;AAAA,EACpB,SAAA;AAAA,EACA,GAAG;AACL,CAAA,KAAa;AACX,EAAA,MAAM,QAAQ,eAAA,EAAwB;AAEtC,EAAA,uBACEA,GAAAA;AAAA,IAAC,SAAA;AAAA,IAAA;AAAA,MACC,KAAA;AAAA,MACA,MAAA;AAAA,MACA,QAAA;AAAA,MACA,YAAA;AAAA,MACA,IAAA;AAAA,MACA,OAAA;AAAA,MACA,SAAA;AAAA,MACA,kBAAA,EAAkB,eAAA;AAAA,MAEjB,QAAA,EAAA,CAAC,4BACAA,GAAAA;AAAA,QAAC,QAAA;AAAA,QAAA;AAAA,UACE,GAAG,QAAA;AAAA,UACH,GAAG,OAAA;AAAA,UACJ,SAAA;AAAA,UACA,KAAA,EAAO,KAAA,CAAM,KAAA,CAAM,KAAA,IAAS,EAAA;AAAA,UAC5B,UAAU,KAAA,CAAM,YAAA;AAAA,UAChB,QAAQ,KAAA,CAAM,UAAA;AAAA,UAEd,QAAA,kBAAAA,IAAC,QAAA,CAAS,KAAA,EAAT,EACE,QAAA,EAAA,KAAA,CAAM,IAAA,CAAK,EAAE,MAAA,EAAQ,SAAA,EAAU,EAAG,CAAC,CAAA,EAAG,KAAA,qBACrCA,GAAAA,CAAC,QAAA,CAAS,MAAT,EAA0B,KAAA,EAAA,EAAP,KAAqB,CAC1C,CAAA,EACH;AAAA;AAAA;AACF;AAAA,GAEJ;AAEJ,CAAA;ACnDO,IAAM,gBAAgB,CAAC;AAAA,EAC5B,KAAA;AAAA,EACA,MAAA;AAAA,EACA,QAAA;AAAA,EACA,YAAA;AAAA,EACA,IAAA;AAAA,EACA,OAAA;AAAA,EACA,SAAA;AAAA,EACA,kBAAA,EAAoB,eAAA;AAAA,EACpB,GAAG;AACL,CAAA,KAAa;AACX,EAAA,MAAM,QAAQ,eAAA,EAAwB;AAEtC,EAAA,uBACEA,GAAAA;AAAA,IAAC,SAAA;AAAA,IAAA;AAAA,MACC,KAAA;AAAA,MACA,MAAA;AAAA,MACA,QAAA;AAAA,MACA,YAAA;AAAA,MACA,IAAA;AAAA,MACA,OAAA;AAAA,MACA,SAAA;AAAA,MACA,kBAAA,EAAkB,eAAA;AAAA,MAEjB,QAAA,EAAA,CAAC,4BACAA,GAAAA;AAAA,QAAC,aAAA;AAAA,QAAA;AAAA,UACE,GAAG,UAAA;AAAA,UACH,GAAG,OAAA;AAAA,UACJ,KAAA,EAAO,KAAA,CAAM,KAAA,CAAM,KAAA,IAAS,EAAA;AAAA,UAC5B,eAAe,KAAA,CAAM,YAAA;AAAA,UACrB,QAAQ,KAAA,CAAM;AAAA;AAAA;AAChB;AAAA,GAEJ;AAEJ,CAAA;ACjBO,IAAM,cAAc,CAAC;AAAA,EAC1B,KAAA;AAAA,EACA,MAAA;AAAA,EACA,QAAA;AAAA,EACA,YAAA;AAAA,EACA,IAAA;AAAA,EACA,OAAA;AAAA,EACA,SAAA;AAAA,EACA,kBAAA,EAAoB,eAAA;AAAA,EACpB,gBAAA;AAAA,EACA,GAAG;AACL,CAAA,KAAa;AACX,EAAA,MAAM,QAAQ,eAAA,EAAwB;AAEtC,EAAA,uBACEA,GAAAA;AAAA,IAAC,SAAA;AAAA,IAAA;AAAA,MACC,KAAA;AAAA,MACA,MAAA;AAAA,MACA,QAAA;AAAA,MACA,YAAA;AAAA,MACA,IAAA;AAAA,MACA,OAAA;AAAA,MACA,SAAA;AAAA,MACA,kBAAA,EAAkB,eAAA;AAAA,MAEjB,QAAA,EAAA,CAAC,OAAA;AAAA;AAAA;AAAA;AAAA,wBAIAA,GAAAA;AAAA,UAAC,MAAA;AAAA,UAAA;AAAA,YACE,GAAG,WAAA;AAAA,YACH,GAAG,OAAA;AAAA,YACJ,WAAW,gBAAA,IAAoB,WAAA;AAAA,YAC/B,KAAA,EAAO,KAAA,CAAM,KAAA,CAAM,KAAA,IAAS,EAAA;AAAA,YAC5B,eAAe,KAAA,CAAM,YAAA;AAAA,YACrB,QAAQ,KAAA,CAAM;AAAA;AAAA;AAChB;AAAA;AAAA,GAEJ;AAEJ,CAAA;ACzDO,IAAM,cAAc,CAAC,EAAE,WAAW,QAAA,EAAU,GAAG,aAAY,KAAa;AAC7E,EAAA,MAAM,QAAQ,eAAA,EAAyB;AAEvC,EAAA,uBACEA,GAAAA,CAAC,SAAA,EAAA,EAAU,SAAA,EACR,QAAA,EAAA,CAAC,4BACAA,GAAAA;AAAA,IAAC,MAAA;AAAA,IAAA;AAAA,MACE,GAAG,WAAA;AAAA,MACH,GAAG,OAAA;AAAA,MACJ,OAAA,EAAS,KAAA,CAAM,KAAA,CAAM,KAAA,IAAS,KAAA;AAAA,MAC9B,iBAAiB,KAAA,CAAM,YAAA;AAAA,MACvB,QAAQ,KAAA,CAAM,UAAA;AAAA,MAEb;AAAA;AAAA,GACH,EAEJ,CAAA;AAEJ,CAAA;ACfO,IAAM,gBAAgB,CAAC;AAAA,EAC5B,KAAA;AAAA,EACA,MAAA;AAAA,EACA,QAAA;AAAA,EACA,YAAA;AAAA,EACA,IAAA;AAAA,EACA,OAAA;AAAA,EACA,SAAA;AAAA,EACA,kBAAA,EAAoB,eAAA;AAAA,EACpB,GAAG;AACL,CAAA,KAAa;AACX,EAAA,MAAM,QAAQ,eAAA,EAAwB;AAEtC,EAAA,uBACEA,GAAAA;AAAA,IAAC,SAAA;AAAA,IAAA;AAAA,MACC,KAAA;AAAA,MACA,MAAA;AAAA,MACA,QAAA;AAAA,MACA,YAAA;AAAA,MACA,IAAA;AAAA,MACA,OAAA;AAAA,MACA,SAAA;AAAA,MACA,kBAAA,EAAkB,eAAA;AAAA,MAEjB,QAAA,EAAA,CAAC,4BACAA,GAAAA;AAAA,QAAC,QAAA;AAAA,QAAA;AAAA,UACE,GAAG,UAAA;AAAA,UACH,GAAG,OAAA;AAAA,UACJ,KAAA,EAAO,KAAA,CAAM,KAAA,CAAM,KAAA,IAAS,EAAA;AAAA,UAC5B,eAAe,KAAA,CAAM,YAAA;AAAA,UACrB,QAAQ,KAAA,CAAM;AAAA;AAAA;AAChB;AAAA,GAEJ;AAEJ,CAAA;ACtCO,IAAM,YAAY,CAAC;AAAA,EACxB,KAAA;AAAA,EACA,MAAA;AAAA,EACA,QAAA;AAAA,EACA,YAAA;AAAA,EACA,IAAA;AAAA,EACA,OAAA;AAAA,EACA,SAAA;AAAA,EACA,kBAAA,EAAoB,eAAA;AAAA,EACpB,GAAG;AACL,CAAA,KAAa;AACX,EAAA,MAAM,QAAQ,eAAA,EAAwB;AAEtC,EAAA,uBACEA,GAAAA;AAAA,IAAC,SAAA;AAAA,IAAA;AAAA,MACC,KAAA;AAAA,MACA,MAAA;AAAA,MACA,QAAA;AAAA,MACA,YAAA;AAAA,MACA,IAAA;AAAA,MACA,OAAA;AAAA,MACA,SAAA;AAAA,MACA,kBAAA,EAAkB,eAAA;AAAA,MAEjB,QAAA,EAAA,CAAC,4BACAA,GAAAA;AAAA,QAAC,SAAA;AAAA,QAAA;AAAA,UACE,GAAG,UAAA;AAAA,UACH,GAAG,OAAA;AAAA,UACJ,KAAA,EAAO,KAAA,CAAM,KAAA,CAAM,KAAA,IAAS,EAAA;AAAA,UAC5B,eAAe,KAAA,CAAM,YAAA;AAAA,UACrB,QAAQ,KAAA,CAAM;AAAA;AAAA;AAChB;AAAA,GAEJ;AAEJ,CAAA;;;AChBO,IAAM,EAAE,UAAA,EAAY,QAAA,EAAS,GAAI,cAAA,CAAe;AAAA,EACrD,YAAA;AAAA,EACA,WAAA;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,SAAA;AAAA,IACA,WAAA;AAAA,IACA,aAAA;AAAA,IACA,aAAA;AAAA,IACA,WAAA;AAAA,IACA,aAAA;AAAA,IACA,WAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA,cAAA,EAAgB;AAAA,IACd,QAAA;AAAA,IACA,YAAA;AAAA,IACA;AAAA;AAEJ,CAAC;;;ACrCM,IAAM,oBAAA,GAAuB,CAAC,IAAA,EAAkB,MAAA,KAAwC;AAC7F,EAAA,KAAA,MAAW,EAAE,KAAA,EAAO,OAAA,EAAQ,IAAK,MAAA,EAAQ;AACvC,IAAA,IAAA,CAAK,YAAA,CAAa,KAAA,EAAO,CAAC,IAAA,MAAU;AAAA,MAClC,GAAG,IAAA;AAAA,MACH,SAAA,EAAW,IAAA;AAAA,MACX,MAAA,EAAQ,CAAC,OAAO,CAAA;AAAA,MAChB,UAAU,EAAE,GAAG,IAAA,CAAK,QAAA,EAAU,UAAU,OAAA;AAAQ,KAClD,CAAE,CAAA;AAAA,EACJ;AACF;;;ACVO,IAAM,cAAA,GAAiB,CAAC,IAAA,EAAkB,OAAA,KAAoB;AACnE,EAAA,IAAA,CAAK,WAAA,CAAY,EAAE,QAAA,EAAU,EAAE,IAAA,EAAM,SAAS,MAAA,EAAQ,EAAC,EAAE,EAAG,CAAA;AAC9D","file":"chunk-5QCXHNCW.js","sourcesContent":["import { createFormHookContexts } from '@tanstack/react-form';\n\nexport const { fieldContext, useFieldContext, formContext, useFormContext } =\n createFormHookContexts();\n","import type { ComponentProps, ReactNode } from 'react';\n\nimport { cn } from '../../../utils';\nimport { useFormContext } from '../contexts';\n\ntype Props = {\n children: ReactNode;\n} & Omit<ComponentProps<'form'>, 'onSubmit'>;\n\nexport const FormBody = ({ children, className, ...formProps }: Props) => {\n const form = useFormContext();\n\n return (\n <form\n {...formProps}\n className={cn('tw:flex tw:flex-col tw:gap-4', className)}\n onSubmit={(e) => {\n e.preventDefault();\n e.stopPropagation();\n void form.handleSubmit();\n }}\n >\n {children}\n </form>\n );\n};\n","import type { ComponentProps, ReactNode } from 'react';\n\nimport { Button } from '../../../components/Button';\nimport { useFormContext } from '../contexts';\n\ntype Props = {\n children?: ReactNode;\n} & Omit<ComponentProps<typeof Button>, 'type' | 'isLoading' | 'disabled'>;\n\nexport const SubmitButton = ({ children = 'Submit', ...buttonProps }: Props) => {\n const form = useFormContext();\n\n return (\n <form.Subscribe\n selector={(state) => ({ isSubmitting: state.isSubmitting, canSubmit: state.canSubmit })}\n >\n {({ isSubmitting, canSubmit }) => (\n <Button\n {...buttonProps}\n type=\"submit\"\n isLoading={isSubmitting}\n disabled={!canSubmit || isSubmitting}\n >\n {children}\n </Button>\n )}\n </form.Subscribe>\n );\n};\n","import { Alert } from '../../../components/Alert';\nimport { useFormContext } from '../contexts';\n\n/**\n * Renders the form-level submit error (set via `setSubmitError` → `errorMap.onSubmit`) as an error\n * `Alert`. Place inside `form.FormBody`, typically just above the submit button. Renders nothing when\n * there is no submit error.\n */\nexport const SubmitErrorAlert = () => {\n const form = useFormContext();\n\n return (\n <form.Subscribe selector={(state) => state.errorMap.onSubmit}>\n {(submitError) =>\n typeof submitError === 'string' ? <Alert variant=\"error\" title={submitError} /> : null\n }\n </form.Subscribe>\n );\n};\n","import type { ReactNode } from 'react';\n\nimport { Label } from '../../../components/Label';\nimport { Tooltip } from '../../../components/Tooltip';\nimport { Info } from '../../../icons';\nimport { FormGroup } from '../../FormGroup';\nimport { useFieldContext } from '../contexts';\n\n/**\n * The a11y wiring `FieldItem` derives from the field and hands back to the control — spread it onto\n * whatever element the field renders. Callers never author these attributes themselves.\n */\ntype FieldControlProps = {\n id: string;\n name: string;\n 'aria-required'?: true;\n 'aria-invalid'?: true;\n 'aria-describedby'?: string;\n};\n\n/** Which marker sits next to the label. Purely visual — `aria-required` is driven by `required`. */\ntype RequiredMark = 'required' | 'optional' | 'hidden';\n\ntype Props = {\n label?: ReactNode;\n /**\n * Optional node rendered at the trailing edge of the label row (opposite the label) — e.g. a\n * \"Forgot password?\" link beside a Password label. Presentational placement only; it is a sibling\n * of the `<Label>`, not part of the field's accessible name. Provide an interactive element\n * (`ButtonInline` / `Link`).\n */\n action?: ReactNode;\n required?: boolean;\n /**\n * Which marker to show beside the label — gated by `required` so it never lies: `'required'`\n * renders `*` only when the field is `required`; `'optional'` renders `(optional)` only when it\n * is not; `'hidden'` renders neither. Defaults to `'required'`.\n */\n requiredMark?: RequiredMark;\n help?: ReactNode;\n tooltip?: ReactNode;\n className?: string;\n 'aria-describedby'?: string;\n children: (control: FieldControlProps) => ReactNode;\n};\n\nexport type FieldItemProps = Omit<Props, 'children'>;\n\n/**\n * Shared frame for a form field: label (+ required marker + tooltip), the control, and help/error\n * text. It reads the field from context and owns everything derivable — validity, the error/help\n * ids, and the control's `aria-*` wiring — so a connector only picks a control and binds its value.\n */\nexport const FieldItem = ({\n label,\n action,\n required,\n requiredMark = 'required',\n help,\n tooltip,\n className,\n 'aria-describedby': ariaDescribedBy,\n children,\n}: Props) => {\n const field = useFieldContext();\n const { errors, isTouched } = field.state.meta;\n const isInvalid = isTouched && errors.length > 0;\n\n const errorId = `${field.name}-error`;\n const descriptionId = `${field.name}-description`;\n // Help and error are not exclusive — link the control to whichever are present. Space-delimited\n // ARIA idref list; falsy entries dropped, and `undefined` when empty so the attr is omitted.\n const describedBy =\n [ariaDescribedBy, !!help && descriptionId, isInvalid && errorId].filter(Boolean).join(' ') ||\n undefined;\n\n return (\n <FormGroup className={className}>\n {(label || action) && (\n <div className=\"tw:flex tw:items-center tw:justify-between tw:gap-2\">\n <div className=\"tw:flex tw:items-center tw:gap-1\">\n {/* Marker binds to the label text; the interactive tooltip button is a sibling. */}\n {label && (\n <Label htmlFor={field.name}>\n {label}\n {/* Marker follows both flags: `*` only when actually required, `(optional)` only\n when not — a mismatched marker would lie. `hidden` shows neither. */}\n {requiredMark === 'required' && required && <Label.Required />}\n {requiredMark === 'optional' && !required && <Label.Optional />}\n </Label>\n )}\n\n {tooltip && (\n <Tooltip tooltip={tooltip} placement=\"top\" triggerAsChild>\n <button\n type=\"button\"\n aria-label={\n typeof label === 'string'\n ? `More information about ${label}`\n : 'More information'\n }\n className=\"tw:text-muted-foreground tw:focus:outline-hidden tw:focus-visible:text-primary tailwindcss-preflight\"\n >\n <Info className=\"tw:size-3\" />\n </button>\n </Tooltip>\n )}\n </div>\n\n {action}\n </div>\n )}\n\n {children({\n id: field.name,\n name: field.name,\n 'aria-required': required || undefined,\n 'aria-invalid': isInvalid || undefined,\n 'aria-describedby': describedBy,\n })}\n\n {(help || isInvalid) && (\n <div>\n {help && <FormGroup.Help id={descriptionId}>{help}</FormGroup.Help>}\n {isInvalid && <FormGroup.Error id={errorId} errors={errors} />}\n </div>\n )}\n </FormGroup>\n );\n};\n","import type { ComponentProps } from 'react';\n\nimport { Checkbox } from '../../../components/Checkbox';\nimport { useFieldContext } from '../contexts';\n\nimport { FieldItem, type FieldItemProps } from './FieldItem';\n\n// Checkbox owns its own label + description (via children), so only the wrapper className applies.\ntype Props = Pick<FieldItemProps, 'className'> &\n Omit<ComponentProps<typeof Checkbox>, 'id' | 'name' | 'checked' | 'onCheckedChange'>;\n\nexport const CheckboxField = ({ className, children, ...checkboxProps }: Props) => {\n // Strictly boolean: coerce Radix's `'indeterminate'` to `false` so a non-boolean never leaks into\n // form state (submit payloads / validators). `'indeterminate'` stays a purely visual state.\n const field = useFieldContext<boolean>();\n\n return (\n <FieldItem className={className}>\n {(control) => (\n <Checkbox\n {...checkboxProps}\n {...control}\n checked={field.state.value ?? false}\n onCheckedChange={(checked) => field.handleChange(checked === true)}\n onBlur={field.handleBlur}\n >\n {children}\n </Checkbox>\n )}\n </FieldItem>\n );\n};\n","import type { ComponentProps } from 'react';\n\nimport type { FormGroup } from '../../FormGroup';\nimport { NumberInput } from '../../NumberInput';\nimport { useFieldContext } from '../contexts';\n\nimport { FieldItem, type FieldItemProps } from './FieldItem';\n\ntype Props = FieldItemProps &\n Omit<\n ComponentProps<typeof FormGroup.NumberInput>,\n 'id' | 'name' | 'value' | 'onValueChange' | 'onBlur'\n >;\n\nexport const NumberField = ({\n label,\n action,\n required,\n requiredMark,\n help,\n tooltip,\n className,\n 'aria-describedby': ariaDescribedBy,\n ...inputProps\n}: Props) => {\n const field = useFieldContext<number | null>();\n\n return (\n <FieldItem\n label={label}\n action={action}\n required={required}\n requiredMark={requiredMark}\n help={help}\n tooltip={tooltip}\n className={className}\n aria-describedby={ariaDescribedBy}\n >\n {(control) => (\n <NumberInput\n {...inputProps}\n {...control}\n value={field.state.value ?? null}\n onValueChange={field.handleChange}\n onBlur={field.handleBlur}\n />\n )}\n </FieldItem>\n );\n};\n","import { OtpInput, type OtpInputProps } from '../../OtpInput';\nimport { useFieldContext } from '../contexts';\n\nimport { FieldItem, type FieldItemProps } from './FieldItem';\n\ntype Props = FieldItemProps &\n Omit<\n OtpInputProps,\n | 'value'\n | 'onChange'\n | 'children'\n | 'id'\n | 'name'\n | 'aria-describedby'\n | 'aria-required'\n | 'aria-invalid'\n >;\n\nexport const OtpInputField = ({\n label,\n action,\n required,\n requiredMark,\n help,\n tooltip,\n className,\n 'aria-describedby': ariaDescribedBy,\n maxLength,\n ...otpProps\n}: Props) => {\n const field = useFieldContext<string>();\n\n return (\n <FieldItem\n label={label}\n action={action}\n required={required}\n requiredMark={requiredMark}\n help={help}\n tooltip={tooltip}\n className={className}\n aria-describedby={ariaDescribedBy}\n >\n {(control) => (\n <OtpInput\n {...otpProps}\n {...control}\n maxLength={maxLength}\n value={field.state.value ?? ''}\n onChange={field.handleChange}\n onBlur={field.handleBlur}\n >\n <OtpInput.Group>\n {Array.from({ length: maxLength }, (_, index) => (\n <OtpInput.Slot key={index} index={index} />\n ))}\n </OtpInput.Group>\n </OtpInput>\n )}\n </FieldItem>\n );\n};\n","import type { ComponentProps } from 'react';\n\nimport { PasswordInput } from '../../PasswordInput';\nimport { useFieldContext } from '../contexts';\n\nimport { FieldItem, type FieldItemProps } from './FieldItem';\n\ntype Props = FieldItemProps &\n Omit<ComponentProps<typeof PasswordInput>, 'id' | 'name' | 'value' | 'onValueChange' | 'onBlur'>;\n\nexport const PasswordField = ({\n label,\n action,\n required,\n requiredMark,\n help,\n tooltip,\n className,\n 'aria-describedby': ariaDescribedBy,\n ...inputProps\n}: Props) => {\n const field = useFieldContext<string>();\n\n return (\n <FieldItem\n label={label}\n action={action}\n required={required}\n requiredMark={requiredMark}\n help={help}\n tooltip={tooltip}\n className={className}\n aria-describedby={ariaDescribedBy}\n >\n {(control) => (\n <PasswordInput\n {...inputProps}\n {...control}\n value={field.state.value ?? ''}\n onValueChange={field.handleChange}\n onBlur={field.handleBlur}\n />\n )}\n </FieldItem>\n );\n};\n","import type { ComponentProps } from 'react';\n\nimport { Select, type SelectItem, type SelectItemGroup } from '../../../components/Select';\nimport { useFieldContext } from '../contexts';\n\nimport { FieldItem, type FieldItemProps } from './FieldItem';\n\ntype Props = FieldItemProps &\n Omit<\n ComponentProps<typeof Select>,\n // Owned by the field / `FieldItem` — see the connector rules in AGENTS.md.\n | 'id'\n | 'name'\n | 'value'\n | 'defaultValue'\n | 'onValueChange'\n | 'onBlur'\n | 'aria-describedby'\n | 'aria-invalid'\n | 'aria-required'\n // `className` styles the field frame, so the trigger gets its own prop below.\n | 'className'\n | 'items'\n > & {\n items: readonly (SelectItem | SelectItemGroup)[];\n triggerClassName?: string;\n };\n\nexport const SelectField = ({\n label,\n action,\n required,\n requiredMark,\n help,\n tooltip,\n className,\n 'aria-describedby': ariaDescribedBy,\n triggerClassName,\n ...selectProps\n}: Props) => {\n const field = useFieldContext<string>();\n\n return (\n <FieldItem\n label={label}\n action={action}\n required={required}\n requiredMark={requiredMark}\n help={help}\n tooltip={tooltip}\n className={className}\n aria-describedby={ariaDescribedBy}\n >\n {(control) => (\n // `required` deliberately stays on `FieldItem` (which turns it into `aria-required` via\n // `control`) and is not forwarded to the Radix root: a required hidden native select would\n // fail browser constraint validation and swallow the submit event before the form sees it.\n <Select\n {...selectProps}\n {...control}\n className={triggerClassName ?? 'tw:w-full'}\n value={field.state.value ?? ''}\n onValueChange={field.handleChange}\n onBlur={field.handleBlur}\n />\n )}\n </FieldItem>\n );\n};\n","import type { ComponentProps } from 'react';\n\nimport { Switch } from '../../../components/Switch';\nimport { useFieldContext } from '../contexts';\n\nimport { FieldItem, type FieldItemProps } from './FieldItem';\n\n// Switch owns its own label + description (via children), so only the wrapper className applies.\ntype Props = Pick<FieldItemProps, 'className'> &\n Omit<ComponentProps<typeof Switch>, 'id' | 'name' | 'checked' | 'onCheckedChange'>;\n\nexport const SwitchField = ({ className, children, ...switchProps }: Props) => {\n const field = useFieldContext<boolean>();\n\n return (\n <FieldItem className={className}>\n {(control) => (\n <Switch\n {...switchProps}\n {...control}\n checked={field.state.value ?? false}\n onCheckedChange={field.handleChange}\n onBlur={field.handleBlur}\n >\n {children}\n </Switch>\n )}\n </FieldItem>\n );\n};\n","import type { ComponentProps } from 'react';\n\nimport type { FormGroup } from '../../FormGroup';\nimport { Textarea } from '../../Textarea';\nimport { useFieldContext } from '../contexts';\n\nimport { FieldItem, type FieldItemProps } from './FieldItem';\n\ntype Props = FieldItemProps &\n Omit<\n ComponentProps<typeof FormGroup.Textarea>,\n 'id' | 'name' | 'value' | 'onValueChange' | 'onBlur'\n >;\n\nexport const TextareaField = ({\n label,\n action,\n required,\n requiredMark,\n help,\n tooltip,\n className,\n 'aria-describedby': ariaDescribedBy,\n ...inputProps\n}: Props) => {\n const field = useFieldContext<string>();\n\n return (\n <FieldItem\n label={label}\n action={action}\n required={required}\n requiredMark={requiredMark}\n help={help}\n tooltip={tooltip}\n className={className}\n aria-describedby={ariaDescribedBy}\n >\n {(control) => (\n <Textarea\n {...inputProps}\n {...control}\n value={field.state.value ?? ''}\n onValueChange={field.handleChange}\n onBlur={field.handleBlur}\n />\n )}\n </FieldItem>\n );\n};\n","import type { ComponentProps } from 'react';\n\nimport type { FormGroup } from '../../FormGroup';\nimport { TextInput } from '../../TextInput';\nimport { useFieldContext } from '../contexts';\n\nimport { FieldItem, type FieldItemProps } from './FieldItem';\n\ntype Props = FieldItemProps &\n Omit<ComponentProps<typeof FormGroup.TextInput>, 'id' | 'name' | 'value' | 'onChange' | 'onBlur'>;\n\nexport const TextField = ({\n label,\n action,\n required,\n requiredMark,\n help,\n tooltip,\n className,\n 'aria-describedby': ariaDescribedBy,\n ...inputProps\n}: Props) => {\n const field = useFieldContext<string>();\n\n return (\n <FieldItem\n label={label}\n action={action}\n required={required}\n requiredMark={requiredMark}\n help={help}\n tooltip={tooltip}\n className={className}\n aria-describedby={ariaDescribedBy}\n >\n {(control) => (\n <TextInput\n {...inputProps}\n {...control}\n value={field.state.value ?? ''}\n onValueChange={field.handleChange}\n onBlur={field.handleBlur}\n />\n )}\n </FieldItem>\n );\n};\n","import { createFormHook } from '@tanstack/react-form';\n\nimport { FormBody } from './components/FormBody';\nimport { SubmitButton } from './components/SubmitButton';\nimport { SubmitErrorAlert } from './components/SubmitErrorAlert';\nimport { CheckboxField } from './connectors/CheckboxField';\nimport { NumberField } from './connectors/NumberField';\nimport { OtpInputField } from './connectors/OtpInputField';\nimport { PasswordField } from './connectors/PasswordField';\nimport { SelectField } from './connectors/SelectField';\nimport { SwitchField } from './connectors/SwitchField';\nimport { TextareaField } from './connectors/TextareaField';\nimport { TextField } from './connectors/TextField';\nimport { fieldContext, formContext } from './contexts';\n\n/**\n * Typed form hook + `withForm` binding for the design system.\n *\n * **When to use:** any form layout that has validation, server-side errors, or a submit state — pages,\n * modals, drawers, multi-step wizards. Use `useAppForm({ defaultValues, validators, onSubmit })` at the\n * top of the form component, then render the typed `field.TextField` / `field.NumberField` /\n * `field.PasswordField` / `field.TextareaField` / `field.SelectField` / `field.CheckboxField` /\n * `field.SwitchField` connectors inside `form.AppForm` → `form.FormBody`. Submit via `form.SubmitButton`.\n * **When NOT to use:** for a single uncontrolled `<input>` use `TextInput` directly; for a bare label + input\n * pair without validation use `FormGroup` + `FormGroup.TextInput`.\n * **Composition:** schema-library agnostic — pass any [Standard Schema](https://standardschema.dev/) validator\n * (zod, valibot, …) in the consuming app. Server errors come from `setServerFieldErrors` (also re-exported).\n *\n * @see RECIPES.md#modal-form — for the canonical form-in-modal composition\n */\nexport const { useAppForm, withForm } = createFormHook({\n fieldContext,\n formContext,\n fieldComponents: {\n TextField,\n NumberField,\n PasswordField,\n TextareaField,\n SelectField,\n CheckboxField,\n SwitchField,\n OtpInputField,\n },\n formComponents: {\n FormBody,\n SubmitButton,\n SubmitErrorAlert,\n },\n});\n","import type { AnyFormApi } from '@tanstack/react-form';\n\nexport type ServerFieldError = {\n field: string;\n message: string;\n};\n\n/**\n * Map a list of server-returned field errors onto a TanStack form instance.\n * Marks each field as touched so the error renders immediately.\n */\nexport const setServerFieldErrors = (form: AnyFormApi, errors: readonly ServerFieldError[]) => {\n for (const { field, message } of errors) {\n form.setFieldMeta(field, (meta) => ({\n ...meta,\n isTouched: true,\n errors: [message],\n errorMap: { ...meta.errorMap, onServer: message },\n }));\n }\n};\n","import type { AnyFormApi } from '@tanstack/react-form';\n\n/**\n * Set a **form-level** submit error on a TanStack form instance — a failed submission that isn't tied\n * to a single field (bad credentials, 5xx, network). Stored on `errorMap.onSubmit` and rendered by\n * `SubmitErrorAlert`. For field-specific server errors use `setServerFieldErrors` instead.\n *\n * Note: any error entry makes the form \"invalid\", so pair this with `canSubmitWhenInvalid: true` on\n * the form to keep the submit button retryable (a resubmit re-runs the validators and clears it).\n */\nexport const setSubmitError = (form: AnyFormApi, message: string) => {\n form.setErrorMap({ onSubmit: { form: message, fields: {} } });\n};\n"]}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { cn } from './chunk-LXLIQ2D6.js';
|
|
2
|
+
import * as RSeparator from '@radix-ui/react-separator';
|
|
3
|
+
import { cva } from 'class-variance-authority';
|
|
4
|
+
import { jsx } from 'react/jsx-runtime';
|
|
5
|
+
|
|
6
|
+
var separatorVariants = cva(
|
|
7
|
+
[
|
|
8
|
+
// position
|
|
9
|
+
"tw:flex",
|
|
10
|
+
"tw:items-center",
|
|
11
|
+
"tw:justify-center",
|
|
12
|
+
"tw:self-stretch",
|
|
13
|
+
// before
|
|
14
|
+
"tw:before:content-['']",
|
|
15
|
+
"tw:before:bg-border"
|
|
16
|
+
],
|
|
17
|
+
{
|
|
18
|
+
defaultVariants: {
|
|
19
|
+
orientation: "vertical",
|
|
20
|
+
size: "full"
|
|
21
|
+
},
|
|
22
|
+
compoundVariants: [
|
|
23
|
+
{
|
|
24
|
+
orientation: "horizontal",
|
|
25
|
+
size: "full",
|
|
26
|
+
className: ["tw:before:w-full"]
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
orientation: "horizontal",
|
|
30
|
+
size: "1/2",
|
|
31
|
+
className: ["tw:before:w-1/2"]
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
orientation: "horizontal",
|
|
35
|
+
size: "3/4",
|
|
36
|
+
className: ["tw:before:w-3/4"]
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
orientation: "vertical",
|
|
40
|
+
size: "full",
|
|
41
|
+
className: ["tw:before:h-full"]
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
orientation: "vertical",
|
|
45
|
+
size: "1/2",
|
|
46
|
+
className: ["tw:before:h-1/2"]
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
orientation: "vertical",
|
|
50
|
+
size: "3/4",
|
|
51
|
+
className: ["tw:before:h-3/4"]
|
|
52
|
+
}
|
|
53
|
+
],
|
|
54
|
+
variants: {
|
|
55
|
+
size: {
|
|
56
|
+
full: ["tw:before:h-full"],
|
|
57
|
+
"1/2": [],
|
|
58
|
+
"3/4": []
|
|
59
|
+
},
|
|
60
|
+
orientation: {
|
|
61
|
+
vertical: ["tw:before:w-px"],
|
|
62
|
+
horizontal: ["tw:before:h-px"]
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
);
|
|
67
|
+
var Separator = ({
|
|
68
|
+
className,
|
|
69
|
+
orientation = "vertical",
|
|
70
|
+
size = "full",
|
|
71
|
+
label,
|
|
72
|
+
...props
|
|
73
|
+
}) => {
|
|
74
|
+
if (label != null && label !== false) {
|
|
75
|
+
return /* @__PURE__ */ jsx(
|
|
76
|
+
RSeparator.Root,
|
|
77
|
+
{
|
|
78
|
+
...props,
|
|
79
|
+
decorative: true,
|
|
80
|
+
orientation: "horizontal",
|
|
81
|
+
className: cn(
|
|
82
|
+
"tw:flex tw:w-full tw:items-center tw:gap-3 tw:self-stretch",
|
|
83
|
+
"tw:text-xs tw:font-medium tw:text-muted-foreground",
|
|
84
|
+
"tw:before:content-[''] tw:before:h-px tw:before:flex-1 tw:before:bg-border",
|
|
85
|
+
"tw:after:content-[''] tw:after:h-px tw:after:flex-1 tw:after:bg-border",
|
|
86
|
+
className
|
|
87
|
+
),
|
|
88
|
+
children: label
|
|
89
|
+
}
|
|
90
|
+
);
|
|
91
|
+
}
|
|
92
|
+
return /* @__PURE__ */ jsx(
|
|
93
|
+
RSeparator.Root,
|
|
94
|
+
{
|
|
95
|
+
...props,
|
|
96
|
+
decorative: true,
|
|
97
|
+
orientation,
|
|
98
|
+
className: separatorVariants({ size, orientation, className })
|
|
99
|
+
}
|
|
100
|
+
);
|
|
101
|
+
};
|
|
102
|
+
|
|
103
|
+
export { Separator };
|
|
104
|
+
//# sourceMappingURL=chunk-6DUMGC7Y.js.map
|
|
105
|
+
//# sourceMappingURL=chunk-6DUMGC7Y.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/Separator/Separator.tsx"],"names":[],"mappings":";;;;;AAOA,IAAM,iBAAA,GAAoB,GAAA;AAAA,EACxB;AAAA;AAAA,IAEE,SAAA;AAAA,IACA,iBAAA;AAAA,IACA,mBAAA;AAAA,IACA,iBAAA;AAAA;AAAA,IAGA,wBAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA;AAAA,IACE,eAAA,EAAiB;AAAA,MACf,WAAA,EAAa,UAAA;AAAA,MACb,IAAA,EAAM;AAAA,KACR;AAAA,IACA,gBAAA,EAAkB;AAAA,MAChB;AAAA,QACE,WAAA,EAAa,YAAA;AAAA,QACb,IAAA,EAAM,MAAA;AAAA,QACN,SAAA,EAAW,CAAC,kBAAkB;AAAA,OAChC;AAAA,MACA;AAAA,QACE,WAAA,EAAa,YAAA;AAAA,QACb,IAAA,EAAM,KAAA;AAAA,QACN,SAAA,EAAW,CAAC,iBAAiB;AAAA,OAC/B;AAAA,MACA;AAAA,QACE,WAAA,EAAa,YAAA;AAAA,QACb,IAAA,EAAM,KAAA;AAAA,QACN,SAAA,EAAW,CAAC,iBAAiB;AAAA,OAC/B;AAAA,MACA;AAAA,QACE,WAAA,EAAa,UAAA;AAAA,QACb,IAAA,EAAM,MAAA;AAAA,QACN,SAAA,EAAW,CAAC,kBAAkB;AAAA,OAChC;AAAA,MACA;AAAA,QACE,WAAA,EAAa,UAAA;AAAA,QACb,IAAA,EAAM,KAAA;AAAA,QACN,SAAA,EAAW,CAAC,iBAAiB;AAAA,OAC/B;AAAA,MACA;AAAA,QACE,WAAA,EAAa,UAAA;AAAA,QACb,IAAA,EAAM,KAAA;AAAA,QACN,SAAA,EAAW,CAAC,iBAAiB;AAAA;AAC/B,KACF;AAAA,IACA,QAAA,EAAU;AAAA,MACR,IAAA,EAAM;AAAA,QACJ,IAAA,EAAM,CAAC,kBAAkB,CAAA;AAAA,QACzB,OAAO,EAAC;AAAA,QACR,OAAO;AAAC,OACV;AAAA,MACA,WAAA,EAAa;AAAA,QACX,QAAA,EAAU,CAAC,gBAAgB,CAAA;AAAA,QAC3B,UAAA,EAAY,CAAC,gBAAgB;AAAA;AAC/B;AACF;AAEJ,CAAA;AAYO,IAAM,YAAY,CAAC;AAAA,EACxB,SAAA;AAAA,EACA,WAAA,GAAc,UAAA;AAAA,EACd,IAAA,GAAO,MAAA;AAAA,EACP,KAAA;AAAA,EACA,GAAG;AACL,CAAA,KAAa;AACX,EAAA,IAAI,KAAA,IAAS,IAAA,IAAQ,KAAA,KAAU,KAAA,EAAO;AACpC,IAAA,uBACE,GAAA;AAAA,MAAY,UAAA,CAAA,IAAA;AAAA,MAAX;AAAA,QACE,GAAG,KAAA;AAAA,QACJ,UAAA,EAAU,IAAA;AAAA,QACV,WAAA,EAAY,YAAA;AAAA,QACZ,SAAA,EAAW,EAAA;AAAA,UACT,4DAAA;AAAA,UACA,oDAAA;AAAA,UACA,4EAAA;AAAA,UACA,wEAAA;AAAA,UACA;AAAA,SACF;AAAA,QAEC,QAAA,EAAA;AAAA;AAAA,KACH;AAAA,EAEJ;AAEA,EAAA,uBACE,GAAA;AAAA,IAAY,UAAA,CAAA,IAAA;AAAA,IAAX;AAAA,MACE,GAAG,KAAA;AAAA,MACJ,UAAA,EAAU,IAAA;AAAA,MACV,WAAA;AAAA,MACA,WAAW,iBAAA,CAAkB,EAAE,IAAA,EAAM,WAAA,EAAa,WAAW;AAAA;AAAA,GAC/D;AAEJ","file":"chunk-6DUMGC7Y.js","sourcesContent":["import type { ComponentProps, ReactNode } from 'react';\nimport * as RSeparator from '@radix-ui/react-separator';\nimport type { VariantProps } from 'class-variance-authority';\nimport { cva } from 'class-variance-authority';\n\nimport { cn } from '../../utils';\n\nconst separatorVariants = cva(\n [\n // position\n 'tw:flex',\n 'tw:items-center',\n 'tw:justify-center',\n 'tw:self-stretch',\n\n // before\n \"tw:before:content-['']\",\n 'tw:before:bg-border',\n ],\n {\n defaultVariants: {\n orientation: 'vertical',\n size: 'full',\n },\n compoundVariants: [\n {\n orientation: 'horizontal',\n size: 'full',\n className: ['tw:before:w-full'],\n },\n {\n orientation: 'horizontal',\n size: '1/2',\n className: ['tw:before:w-1/2'],\n },\n {\n orientation: 'horizontal',\n size: '3/4',\n className: ['tw:before:w-3/4'],\n },\n {\n orientation: 'vertical',\n size: 'full',\n className: ['tw:before:h-full'],\n },\n {\n orientation: 'vertical',\n size: '1/2',\n className: ['tw:before:h-1/2'],\n },\n {\n orientation: 'vertical',\n size: '3/4',\n className: ['tw:before:h-3/4'],\n },\n ],\n variants: {\n size: {\n full: ['tw:before:h-full'],\n '1/2': [],\n '3/4': [],\n },\n orientation: {\n vertical: ['tw:before:w-px'],\n horizontal: ['tw:before:h-px'],\n },\n },\n },\n);\n\ntype Props = VariantProps<typeof separatorVariants> &\n Omit<ComponentProps<typeof RSeparator.Root>, 'decorative'> & {\n /**\n * Optional label rendered centered between two line segments\n * (typical \"OR\" divider). Implies `orientation=\"horizontal\"`.\n * Overrides any `children` passed to the component.\n */\n label?: ReactNode;\n };\n\nexport const Separator = ({\n className,\n orientation = 'vertical',\n size = 'full',\n label,\n ...props\n}: Props) => {\n if (label != null && label !== false) {\n return (\n <RSeparator.Root\n {...props}\n decorative\n orientation=\"horizontal\"\n className={cn(\n 'tw:flex tw:w-full tw:items-center tw:gap-3 tw:self-stretch',\n 'tw:text-xs tw:font-medium tw:text-muted-foreground',\n \"tw:before:content-[''] tw:before:h-px tw:before:flex-1 tw:before:bg-border\",\n \"tw:after:content-[''] tw:after:h-px tw:after:flex-1 tw:after:bg-border\",\n className,\n )}\n >\n {label}\n </RSeparator.Root>\n );\n }\n\n return (\n <RSeparator.Root\n {...props}\n decorative\n orientation={orientation}\n className={separatorVariants({ size, orientation, className })}\n />\n );\n};\n"]}
|