@keboola/design 10.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 +2 -0
- package/dist/MermaidDiagram-ZU5KAVRT.js +18 -0
- package/dist/{MermaidDiagram-EOKJHQQV.js.map → MermaidDiagram-ZU5KAVRT.js.map} +1 -1
- package/dist/charts.d.ts +14 -8
- package/dist/charts.js +6 -1
- 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-Q7NWXLCT.js → chunk-7GTI3PPI.js} +53 -48
- 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-XV3UUOYF.js → chunk-ERAHK5YQ.js} +9 -359
- 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-JP7PNHLH.js → chunk-G3PMV62Z.js} +3 -10
- 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-CTCFYWJC.js → chunk-IXAYNBOY.js} +6 -6
- package/dist/{chunk-CTCFYWJC.js.map → chunk-IXAYNBOY.js.map} +1 -1
- 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-C3L3TBBT.js → chunk-KTTLLKGQ.js} +6 -63
- 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-VMFSRV5H.js → chunk-OTL5WXIJ.js} +2 -2
- package/dist/{chunk-VMFSRV5H.js.map → chunk-OTL5WXIJ.js.map} +1 -1
- package/dist/{chunk-VPPM7UUQ.js → chunk-PACNBKJV.js} +3 -3
- package/dist/{chunk-VPPM7UUQ.js.map → chunk-PACNBKJV.js.map} +1 -1
- package/dist/{chunk-ESBL3IPF.js → chunk-PROCA7K7.js} +2 -2
- package/dist/{chunk-ESBL3IPF.js.map → chunk-PROCA7K7.js.map} +1 -1
- 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-BOHNXTMM.js → chunk-RQVK4IYC.js} +3 -3
- package/dist/{chunk-BOHNXTMM.js.map → chunk-RQVK4IYC.js.map} +1 -1
- 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-IJTHFNNJ.js → chunk-SVBSNSD4.js} +10 -12
- 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-63NSN2VL.js → chunk-SWQFYNYG.js} +115 -51
- 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-7PUUHEJQ.js → chunk-YFZJ3ZLG.js} +26 -42
- package/dist/chunk-YFZJ3ZLG.js.map +1 -0
- package/dist/{chunk-6FPEI4EM.js → chunk-YI3WLXEN.js} +27 -2323
- 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.js +22 -14
- package/dist/editors.js.map +1 -1
- package/dist/icons.js +7 -2
- package/dist/index.d.ts +8 -18
- package/dist/index.js +121 -15800
- 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 +23 -9
- package/dist/markdown-editor.js.map +1 -1
- package/dist/mermaid.js +16 -8
- package/dist/rjsf.js +102 -29
- package/dist/rjsf.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/testing.js +8 -3
- package/dist/testing.js.map +1 -1
- package/package.json +9 -8
- package/src/styles.css +35 -7
- package/src/theme.css +64 -0
- package/dist/MermaidDiagram-EOKJHQQV.js +0 -10
- package/dist/chunk-63NSN2VL.js.map +0 -1
- package/dist/chunk-6FPEI4EM.js.map +0 -1
- package/dist/chunk-7PUUHEJQ.js.map +0 -1
- package/dist/chunk-C3L3TBBT.js.map +0 -1
- package/dist/chunk-IJTHFNNJ.js.map +0 -1
- package/dist/chunk-JP7PNHLH.js.map +0 -1
- package/dist/chunk-KPNAW5MU.js +0 -229
- package/dist/chunk-KPNAW5MU.js.map +0 -1
- package/dist/chunk-L37JJ6MR.js +0 -152
- package/dist/chunk-L37JJ6MR.js.map +0 -1
- package/dist/chunk-Q7NWXLCT.js.map +0 -1
- package/dist/chunk-SYIEF644.js +0 -1016
- package/dist/chunk-SYIEF644.js.map +0 -1
- package/dist/chunk-XV3UUOYF.js.map +0 -1
|
@@ -1,251 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
4
|
-
import {
|
|
5
|
-
import { __export, cn } from './chunk-JP7PNHLH.js';
|
|
6
|
-
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
7
|
-
import * as RSeparator from '@radix-ui/react-separator';
|
|
8
|
-
import { cva } from 'class-variance-authority';
|
|
9
|
-
import { Root, Trigger, Close, Portal, Content } from '@radix-ui/react-popover';
|
|
10
|
-
import React26, { createContext, useCallback, useContext, useId, useRef, useState, useEffect, useMemo, useLayoutEffect, use } from 'react';
|
|
11
|
-
import * as RRadioGroup from '@radix-ui/react-radio-group';
|
|
12
|
-
import { Item, Indicator as Indicator$1 } from '@radix-ui/react-radio-group';
|
|
13
|
-
import { Root as Root$1, Indicator } from '@radix-ui/react-checkbox';
|
|
14
|
-
import { Slot } from '@radix-ui/react-slot';
|
|
15
|
-
import { Combobox as Combobox$1 } from '@base-ui/react/combobox';
|
|
16
|
-
import { useVirtualizer } from '@tanstack/react-virtual';
|
|
17
|
-
import { Root as Root$2, CollapsibleTrigger, Content as Content$1 } from '@radix-ui/react-collapsible';
|
|
18
|
-
import * as RadixTabs from '@radix-ui/react-tabs';
|
|
19
|
-
|
|
20
|
-
// src/utils/debounce.ts
|
|
21
|
-
var debounce = (fn, delay) => {
|
|
22
|
-
let timeoutId;
|
|
23
|
-
const debounced = (...args) => {
|
|
24
|
-
clearTimeout(timeoutId);
|
|
25
|
-
timeoutId = setTimeout(() => fn(...args), delay);
|
|
26
|
-
};
|
|
27
|
-
debounced.cancel = () => clearTimeout(timeoutId);
|
|
28
|
-
return debounced;
|
|
29
|
-
};
|
|
30
|
-
var Link = ({
|
|
31
|
-
ref,
|
|
32
|
-
children,
|
|
33
|
-
target = "_blank",
|
|
34
|
-
rel = "noopener noreferrer",
|
|
35
|
-
onClick,
|
|
36
|
-
className,
|
|
37
|
-
...rest
|
|
38
|
-
}) => {
|
|
39
|
-
const handleOnClick = (event) => {
|
|
40
|
-
event.stopPropagation();
|
|
41
|
-
onClick?.(event);
|
|
42
|
-
};
|
|
43
|
-
return (
|
|
44
|
-
// oxlint-disable-next-line jsx-a11y/click-events-have-key-events,jsx-a11y/no-static-element-interactions
|
|
45
|
-
/* @__PURE__ */ jsx(
|
|
46
|
-
"a",
|
|
47
|
-
{
|
|
48
|
-
...rest,
|
|
49
|
-
ref,
|
|
50
|
-
target,
|
|
51
|
-
rel,
|
|
52
|
-
onClick: handleOnClick,
|
|
53
|
-
className: cn(
|
|
54
|
-
"tw:text-primary tw:underline tw:hover:text-primary/90 tw:hover:no-underline",
|
|
55
|
-
className
|
|
56
|
-
),
|
|
57
|
-
children
|
|
58
|
-
}
|
|
59
|
-
)
|
|
60
|
-
);
|
|
61
|
-
};
|
|
62
|
-
var separatorVariants = cva(
|
|
63
|
-
[
|
|
64
|
-
// position
|
|
65
|
-
"tw:flex",
|
|
66
|
-
"tw:items-center",
|
|
67
|
-
"tw:justify-center",
|
|
68
|
-
"tw:self-stretch",
|
|
69
|
-
// before
|
|
70
|
-
"tw:before:content-['']",
|
|
71
|
-
"tw:before:bg-border"
|
|
72
|
-
],
|
|
73
|
-
{
|
|
74
|
-
defaultVariants: {
|
|
75
|
-
orientation: "vertical",
|
|
76
|
-
size: "full"
|
|
77
|
-
},
|
|
78
|
-
compoundVariants: [
|
|
79
|
-
{
|
|
80
|
-
orientation: "horizontal",
|
|
81
|
-
size: "full",
|
|
82
|
-
className: ["tw:before:w-full"]
|
|
83
|
-
},
|
|
84
|
-
{
|
|
85
|
-
orientation: "horizontal",
|
|
86
|
-
size: "1/2",
|
|
87
|
-
className: ["tw:before:w-1/2"]
|
|
88
|
-
},
|
|
89
|
-
{
|
|
90
|
-
orientation: "horizontal",
|
|
91
|
-
size: "3/4",
|
|
92
|
-
className: ["tw:before:w-3/4"]
|
|
93
|
-
},
|
|
94
|
-
{
|
|
95
|
-
orientation: "vertical",
|
|
96
|
-
size: "full",
|
|
97
|
-
className: ["tw:before:h-full"]
|
|
98
|
-
},
|
|
99
|
-
{
|
|
100
|
-
orientation: "vertical",
|
|
101
|
-
size: "1/2",
|
|
102
|
-
className: ["tw:before:h-1/2"]
|
|
103
|
-
},
|
|
104
|
-
{
|
|
105
|
-
orientation: "vertical",
|
|
106
|
-
size: "3/4",
|
|
107
|
-
className: ["tw:before:h-3/4"]
|
|
108
|
-
}
|
|
109
|
-
],
|
|
110
|
-
variants: {
|
|
111
|
-
size: {
|
|
112
|
-
full: ["tw:before:h-full"],
|
|
113
|
-
"1/2": [],
|
|
114
|
-
"3/4": []
|
|
115
|
-
},
|
|
116
|
-
orientation: {
|
|
117
|
-
vertical: ["tw:before:w-px"],
|
|
118
|
-
horizontal: ["tw:before:h-px"]
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
);
|
|
123
|
-
var Separator = ({
|
|
124
|
-
className,
|
|
125
|
-
orientation = "vertical",
|
|
126
|
-
size = "full",
|
|
127
|
-
label,
|
|
128
|
-
...props
|
|
129
|
-
}) => {
|
|
130
|
-
if (label != null && label !== false) {
|
|
131
|
-
return /* @__PURE__ */ jsx(
|
|
132
|
-
RSeparator.Root,
|
|
133
|
-
{
|
|
134
|
-
...props,
|
|
135
|
-
decorative: true,
|
|
136
|
-
orientation: "horizontal",
|
|
137
|
-
className: cn(
|
|
138
|
-
"tw:flex tw:w-full tw:items-center tw:gap-3 tw:self-stretch",
|
|
139
|
-
"tw:text-xs tw:font-medium tw:text-muted-foreground",
|
|
140
|
-
"tw:before:content-[''] tw:before:h-px tw:before:flex-1 tw:before:bg-border",
|
|
141
|
-
"tw:after:content-[''] tw:after:h-px tw:after:flex-1 tw:after:bg-border",
|
|
142
|
-
className
|
|
143
|
-
),
|
|
144
|
-
children: label
|
|
145
|
-
}
|
|
146
|
-
);
|
|
147
|
-
}
|
|
148
|
-
return /* @__PURE__ */ jsx(
|
|
149
|
-
RSeparator.Root,
|
|
150
|
-
{
|
|
151
|
-
...props,
|
|
152
|
-
decorative: true,
|
|
153
|
-
orientation,
|
|
154
|
-
className: separatorVariants({ size, orientation, className })
|
|
155
|
-
}
|
|
156
|
-
);
|
|
157
|
-
};
|
|
158
|
-
var variants = cva(
|
|
159
|
-
[
|
|
160
|
-
"tailwindcss-preflight",
|
|
161
|
-
"tw:group/popover-content",
|
|
162
|
-
"tw:z-[1055]",
|
|
163
|
-
"tw:focus-visible:outline-hidden",
|
|
164
|
-
// An open Radix Dialog locks `pointer-events: none` on <body>. Popover content
|
|
165
|
-
// is portalled to <body> as a sibling of the dialog, so it inherits the lock
|
|
166
|
-
// and clicks fall through — re-enable pointer events on the content itself
|
|
167
|
-
// (dismiss-on-outside-click still works, it listens on document).
|
|
168
|
-
"tw:pointer-events-auto",
|
|
169
|
-
// sizing
|
|
170
|
-
"tw:min-w-32",
|
|
171
|
-
"tw:max-h-[var(--radix-popover-content-available-height)]",
|
|
172
|
-
"tw:origin-(--radix-popover-content-transform-origin)",
|
|
173
|
-
// layout
|
|
174
|
-
"tw:flex",
|
|
175
|
-
"tw:flex-col",
|
|
176
|
-
"tw:overflow-y-auto",
|
|
177
|
-
// border
|
|
178
|
-
"tw:box-border",
|
|
179
|
-
"tw:border",
|
|
180
|
-
"tw:border-solid",
|
|
181
|
-
"tw:shadow-lg",
|
|
182
|
-
// open animation
|
|
183
|
-
"tw:data-[state=open]:animate-in",
|
|
184
|
-
"tw:data-[state=open]:fade-in-0",
|
|
185
|
-
"tw:data-[state=open]:zoom-in-95",
|
|
186
|
-
// closed animation
|
|
187
|
-
"tw:data-[state=closed]:animate-out",
|
|
188
|
-
"tw:data-[state=closed]:fade-out-0",
|
|
189
|
-
"tw:data-[state=closed]:zoom-out-95",
|
|
190
|
-
// position animation
|
|
191
|
-
"tw:data-[side=bottom]:slide-in-from-top-2",
|
|
192
|
-
"tw:data-[side=left]:slide-in-from-right-2",
|
|
193
|
-
"tw:data-[side=right]:slide-in-from-left-2",
|
|
194
|
-
"tw:data-[side=top]:slide-in-from-bottom-2",
|
|
195
|
-
// Default size for nested Lucide icons; callers can override on the icon.
|
|
196
|
-
"tw:[&_svg.lucide:not([class*='tw:size-'])]:size-4",
|
|
197
|
-
"tw:[&_svg]:shrink-0"
|
|
198
|
-
],
|
|
199
|
-
{
|
|
200
|
-
defaultVariants: {
|
|
201
|
-
matchTriggerWidth: false,
|
|
202
|
-
variant: "default"
|
|
203
|
-
},
|
|
204
|
-
variants: {
|
|
205
|
-
variant: {
|
|
206
|
-
// Legacy surface — fixed white panel.
|
|
207
|
-
default: ["tw:rounded-md", "tw:border-neutral-100", "tw:bg-white", "tw:text-neutral-800"],
|
|
208
|
-
// Argo surface — semantic popover tokens (brand + dark aware).
|
|
209
|
-
argo: ["tw:rounded-2xl", "tw:border-border", "tw:bg-popover", "tw:text-popover-foreground"]
|
|
210
|
-
},
|
|
211
|
-
matchTriggerWidth: {
|
|
212
|
-
true: ["tw:w-[var(--radix-popover-trigger-width)]"],
|
|
213
|
-
false: []
|
|
214
|
-
}
|
|
215
|
-
}
|
|
216
|
-
}
|
|
217
|
-
);
|
|
218
|
-
var PopoverContent = ({
|
|
219
|
-
ref,
|
|
220
|
-
className,
|
|
221
|
-
align = "center",
|
|
222
|
-
sideOffset = 4,
|
|
223
|
-
matchTriggerWidth = false,
|
|
224
|
-
children,
|
|
225
|
-
onEscapeKeyDown,
|
|
226
|
-
...props
|
|
227
|
-
}) => {
|
|
228
|
-
const effectiveVariant = useArgoDesign() ? "argo" : "default";
|
|
229
|
-
return /* @__PURE__ */ jsx(Portal, { children: /* @__PURE__ */ jsx(
|
|
230
|
-
Content,
|
|
231
|
-
{
|
|
232
|
-
ref,
|
|
233
|
-
align: matchTriggerWidth ? "start" : align,
|
|
234
|
-
sideOffset,
|
|
235
|
-
className: cn(variants({ className, matchTriggerWidth, variant: effectiveVariant })),
|
|
236
|
-
onEscapeKeyDown: (event) => {
|
|
237
|
-
event.stopPropagation();
|
|
238
|
-
onEscapeKeyDown?.(event);
|
|
239
|
-
},
|
|
240
|
-
...props,
|
|
241
|
-
children
|
|
242
|
-
}
|
|
243
|
-
) });
|
|
244
|
-
};
|
|
245
|
-
var Popover = (props) => /* @__PURE__ */ jsx(Root, { ...props });
|
|
246
|
-
Popover.Content = PopoverContent;
|
|
247
|
-
Popover.Trigger = Trigger;
|
|
248
|
-
Popover.Close = Close;
|
|
1
|
+
import { cn } from './chunk-LXLIQ2D6.js';
|
|
2
|
+
import { __export } from './chunk-G3PMV62Z.js';
|
|
3
|
+
import React26, { createContext, useCallback, useContext, useMemo, useRef, useEffect, useState, useLayoutEffect } from 'react';
|
|
4
|
+
import { jsx } from 'react/jsx-runtime';
|
|
249
5
|
|
|
250
6
|
// ../../node_modules/.pnpm/@date-fns+tz@1.4.1/node_modules/@date-fns/tz/tzName/index.js
|
|
251
7
|
function tzName(timeZone, date, format2 = "long") {
|
|
@@ -2308,13 +2064,13 @@ var enUS2 = {
|
|
|
2308
2064
|
...enUS,
|
|
2309
2065
|
labels: {
|
|
2310
2066
|
labelDayButton: (date, modifiers, options, dateLib) => {
|
|
2311
|
-
let
|
|
2067
|
+
let formatDate;
|
|
2312
2068
|
if (dateLib && typeof dateLib.format === "function") {
|
|
2313
|
-
|
|
2069
|
+
formatDate = dateLib.format.bind(dateLib);
|
|
2314
2070
|
} else {
|
|
2315
|
-
|
|
2071
|
+
formatDate = (d, pattern) => format(d, pattern, { locale: enUS, ...options });
|
|
2316
2072
|
}
|
|
2317
|
-
let label =
|
|
2073
|
+
let label = formatDate(date, "PPPP");
|
|
2318
2074
|
if (modifiers.today)
|
|
2319
2075
|
label = `Today, ${label}`;
|
|
2320
2076
|
if (modifiers.selected)
|
|
@@ -2327,22 +2083,22 @@ var enUS2 = {
|
|
|
2327
2083
|
labelWeekNumber: (weekNumber) => `Week ${weekNumber}`,
|
|
2328
2084
|
labelYearDropdown: "Choose the Year",
|
|
2329
2085
|
labelGrid: (date, options, dateLib) => {
|
|
2330
|
-
let
|
|
2086
|
+
let formatDate;
|
|
2331
2087
|
if (dateLib && typeof dateLib.format === "function") {
|
|
2332
|
-
|
|
2088
|
+
formatDate = dateLib.format.bind(dateLib);
|
|
2333
2089
|
} else {
|
|
2334
|
-
|
|
2090
|
+
formatDate = (d, pattern) => format(d, pattern, { locale: enUS, ...options });
|
|
2335
2091
|
}
|
|
2336
|
-
return
|
|
2092
|
+
return formatDate(date, "LLLL yyyy");
|
|
2337
2093
|
},
|
|
2338
2094
|
labelGridcell: (date, modifiers, options, dateLib) => {
|
|
2339
|
-
let
|
|
2095
|
+
let formatDate;
|
|
2340
2096
|
if (dateLib && typeof dateLib.format === "function") {
|
|
2341
|
-
|
|
2097
|
+
formatDate = dateLib.format.bind(dateLib);
|
|
2342
2098
|
} else {
|
|
2343
|
-
|
|
2099
|
+
formatDate = (d, pattern) => format(d, pattern, { locale: enUS, ...options });
|
|
2344
2100
|
}
|
|
2345
|
-
let label =
|
|
2101
|
+
let label = formatDate(date, "PPPP");
|
|
2346
2102
|
if (modifiers?.today) {
|
|
2347
2103
|
label = `Today, ${label}`;
|
|
2348
2104
|
}
|
|
@@ -2351,13 +2107,13 @@ var enUS2 = {
|
|
|
2351
2107
|
labelNav: "Navigation bar",
|
|
2352
2108
|
labelWeekNumberHeader: "Week Number",
|
|
2353
2109
|
labelWeekday: (date, options, dateLib) => {
|
|
2354
|
-
let
|
|
2110
|
+
let formatDate;
|
|
2355
2111
|
if (dateLib && typeof dateLib.format === "function") {
|
|
2356
|
-
|
|
2112
|
+
formatDate = dateLib.format.bind(dateLib);
|
|
2357
2113
|
} else {
|
|
2358
|
-
|
|
2114
|
+
formatDate = (d, pattern) => format(d, pattern, { locale: enUS, ...options });
|
|
2359
2115
|
}
|
|
2360
|
-
return
|
|
2116
|
+
return formatDate(date, "cccc");
|
|
2361
2117
|
}
|
|
2362
2118
|
}
|
|
2363
2119
|
};
|
|
@@ -2662,7 +2418,7 @@ __export(custom_components_exports, {
|
|
|
2662
2418
|
NextMonthButton: () => NextMonthButton,
|
|
2663
2419
|
Option: () => Option,
|
|
2664
2420
|
PreviousMonthButton: () => PreviousMonthButton,
|
|
2665
|
-
Root: () =>
|
|
2421
|
+
Root: () => Root,
|
|
2666
2422
|
Select: () => Select,
|
|
2667
2423
|
Week: () => Week,
|
|
2668
2424
|
WeekNumber: () => WeekNumber,
|
|
@@ -2842,7 +2598,7 @@ function Option(props) {
|
|
|
2842
2598
|
function PreviousMonthButton(props) {
|
|
2843
2599
|
return React26.createElement("button", { ...props });
|
|
2844
2600
|
}
|
|
2845
|
-
function
|
|
2601
|
+
function Root(props) {
|
|
2846
2602
|
const { rootRef, ...rest } = props;
|
|
2847
2603
|
return React26.createElement("div", { ...rest, ref: rootRef });
|
|
2848
2604
|
}
|
|
@@ -4602,7 +4358,7 @@ var rangePickerClassNames = {
|
|
|
4602
4358
|
selected: `tw:font-medium tw:rounded`,
|
|
4603
4359
|
range_middle: `tw:bg-accent tw:border-accent tw:text-accent-foreground tw:rounded-none tw:font-medium`
|
|
4604
4360
|
};
|
|
4605
|
-
var
|
|
4361
|
+
var Calendar = ({ className, classNames, ...props }) => {
|
|
4606
4362
|
const defaultClassNames = getDefaultClassNames();
|
|
4607
4363
|
return /* @__PURE__ */ jsx(
|
|
4608
4364
|
DayPicker,
|
|
@@ -4624,2060 +4380,8 @@ var Calendar2 = ({ className, classNames, ...props }) => {
|
|
|
4624
4380
|
}
|
|
4625
4381
|
);
|
|
4626
4382
|
};
|
|
4627
|
-
|
|
4628
|
-
var DatePicker = ({
|
|
4629
|
-
align = "end",
|
|
4630
|
-
alignOffset = -18,
|
|
4631
|
-
children,
|
|
4632
|
-
defaultOpen,
|
|
4633
|
-
onOpenChange,
|
|
4634
|
-
open,
|
|
4635
|
-
sideOffset = 12,
|
|
4636
|
-
...calendarProps
|
|
4637
|
-
}) => /* @__PURE__ */ jsxs(Popover, { defaultOpen, open, onOpenChange, children: [
|
|
4638
|
-
/* @__PURE__ */ jsx(Popover.Trigger, { asChild: true, children }),
|
|
4639
|
-
/* @__PURE__ */ jsx(
|
|
4640
|
-
Popover.Content,
|
|
4641
|
-
{
|
|
4642
|
-
align,
|
|
4643
|
-
alignOffset,
|
|
4644
|
-
className: "tw:w-auto tw:p-0",
|
|
4645
|
-
sideOffset,
|
|
4646
|
-
children: /* @__PURE__ */ jsx(Calendar2, { ...calendarProps })
|
|
4647
|
-
}
|
|
4648
|
-
)
|
|
4649
|
-
] });
|
|
4650
|
-
DatePicker.displayName = "DatePicker";
|
|
4651
|
-
var RadioGroupContext = createContext({
|
|
4652
|
-
variant: "radio",
|
|
4653
|
-
orientation: "horizontal"
|
|
4654
|
-
});
|
|
4655
|
-
var RadioGroupProvider = RadioGroupContext;
|
|
4656
|
-
var useRadioGroupContext = () => use(RadioGroupContext);
|
|
4657
|
-
var FieldBoxDescription = ({ className, ...props }) => /* @__PURE__ */ jsx(
|
|
4658
|
-
"span",
|
|
4659
|
-
{
|
|
4660
|
-
...props,
|
|
4661
|
-
"data-slot": "field-box-description",
|
|
4662
|
-
className: cn(
|
|
4663
|
-
"tw:text-xs",
|
|
4664
|
-
"tw:text-muted-foreground",
|
|
4665
|
-
"tw:group-has-[:disabled]/field-box:opacity-50",
|
|
4666
|
-
className
|
|
4667
|
-
)
|
|
4668
|
-
}
|
|
4669
|
-
);
|
|
4670
|
-
var FieldBoxTitle = ({ className, ...props }) => /* @__PURE__ */ jsx(
|
|
4671
|
-
"span",
|
|
4672
|
-
{
|
|
4673
|
-
...props,
|
|
4674
|
-
"data-slot": "field-box-title",
|
|
4675
|
-
className: cn(
|
|
4676
|
-
"tw:text-sm",
|
|
4677
|
-
"tw:font-medium",
|
|
4678
|
-
"tw:text-foreground",
|
|
4679
|
-
"tw:group-has-[:disabled]/field-box:cursor-not-allowed",
|
|
4680
|
-
"tw:group-has-[:disabled]/field-box:opacity-50",
|
|
4681
|
-
className
|
|
4682
|
-
)
|
|
4683
|
-
}
|
|
4684
|
-
);
|
|
4685
|
-
var fieldBoxVariants = cva(
|
|
4686
|
-
[
|
|
4687
|
-
"tw:group/field-box",
|
|
4688
|
-
"tw:m-0",
|
|
4689
|
-
"tw:inline-flex",
|
|
4690
|
-
"tw:gap-3",
|
|
4691
|
-
"tw:items-start",
|
|
4692
|
-
"tw:cursor-pointer",
|
|
4693
|
-
"tw:select-none",
|
|
4694
|
-
"tw:has-[:disabled]:cursor-not-allowed"
|
|
4695
|
-
],
|
|
4696
|
-
{
|
|
4697
|
-
variants: {
|
|
4698
|
-
variant: {
|
|
4699
|
-
default: [],
|
|
4700
|
-
boxed: [
|
|
4701
|
-
"tw:rounded-lg",
|
|
4702
|
-
"tw:border",
|
|
4703
|
-
"tw:border-solid",
|
|
4704
|
-
"tw:border-border",
|
|
4705
|
-
"tw:p-3",
|
|
4706
|
-
"tw:transition-colors",
|
|
4707
|
-
"tw:has-[[data-state=checked]]:border-primary",
|
|
4708
|
-
"tw:has-[[data-state=checked]]:bg-accent",
|
|
4709
|
-
"tw:has-[[data-state=indeterminate]]:border-primary",
|
|
4710
|
-
"tw:has-[[data-state=indeterminate]]:bg-accent"
|
|
4711
|
-
]
|
|
4712
|
-
}
|
|
4713
|
-
},
|
|
4714
|
-
defaultVariants: {
|
|
4715
|
-
variant: "default"
|
|
4716
|
-
}
|
|
4717
|
-
}
|
|
4718
|
-
);
|
|
4719
|
-
var FieldBoxRoot = ({
|
|
4720
|
-
ref,
|
|
4721
|
-
className,
|
|
4722
|
-
variant,
|
|
4723
|
-
position = "start",
|
|
4724
|
-
control,
|
|
4725
|
-
children,
|
|
4726
|
-
...rest
|
|
4727
|
-
}) => /* @__PURE__ */ jsxs(
|
|
4728
|
-
"label",
|
|
4729
|
-
{
|
|
4730
|
-
...rest,
|
|
4731
|
-
ref,
|
|
4732
|
-
className: cn(
|
|
4733
|
-
fieldBoxVariants({ variant, className }),
|
|
4734
|
-
position === "end" && "tw:flex-row-reverse"
|
|
4735
|
-
),
|
|
4736
|
-
children: [
|
|
4737
|
-
/* @__PURE__ */ jsx("span", { className: "tw:inline-flex tw:min-h-5 tw:shrink-0 tw:items-center tw:group-has-[[data-slot=field-box-description]]/field-box:mt-0.5", children: control }),
|
|
4738
|
-
children != null && /* @__PURE__ */ jsx("span", { className: "tw:flex tw:flex-1 tw:flex-col tw:gap-0.5", children })
|
|
4739
|
-
]
|
|
4740
|
-
}
|
|
4741
|
-
);
|
|
4742
|
-
var FieldBox = Object.assign(FieldBoxRoot, {
|
|
4743
|
-
Title: FieldBoxTitle,
|
|
4744
|
-
Description: FieldBoxDescription
|
|
4745
|
-
});
|
|
4746
|
-
var radioVariants = cva(
|
|
4747
|
-
[
|
|
4748
|
-
// reset
|
|
4749
|
-
"tw:bg-transparent",
|
|
4750
|
-
"tw:p-0",
|
|
4751
|
-
"tw:peer",
|
|
4752
|
-
"tw:cursor-pointer",
|
|
4753
|
-
"tw:whitespace-nowrap",
|
|
4754
|
-
"tw:shrink-0",
|
|
4755
|
-
// position
|
|
4756
|
-
"tw:flex",
|
|
4757
|
-
"tw:items-center",
|
|
4758
|
-
"tw:justify-center",
|
|
4759
|
-
"tw:disabled:cursor-not-allowed",
|
|
4760
|
-
"tw:size-4",
|
|
4761
|
-
// border
|
|
4762
|
-
"tw:rounded-full",
|
|
4763
|
-
"tw:border",
|
|
4764
|
-
"tw:border-solid"
|
|
4765
|
-
],
|
|
4766
|
-
{
|
|
4767
|
-
defaultVariants: {
|
|
4768
|
-
variant: "default"
|
|
4769
|
-
},
|
|
4770
|
-
variants: {
|
|
4771
|
-
variant: {
|
|
4772
|
-
default: [
|
|
4773
|
-
"tw:disabled:opacity-40",
|
|
4774
|
-
"tw:data-[state=checked]:border-primary",
|
|
4775
|
-
"tw:data-[state=unchecked]:border-neutral-200",
|
|
4776
|
-
"tw:data-[state=unchecked]:hover:border-primary",
|
|
4777
|
-
"tw:data-[state=unchecked]:disabled:hover:border-neutral-200",
|
|
4778
|
-
"tw:focus-visible:ring-2",
|
|
4779
|
-
"tw:focus-visible:ring-ring/30"
|
|
4780
|
-
],
|
|
4781
|
-
argo: [
|
|
4782
|
-
"tw:disabled:opacity-50",
|
|
4783
|
-
"tw:border-input",
|
|
4784
|
-
"tw:transition-colors",
|
|
4785
|
-
"tw:data-[state=checked]:bg-primary",
|
|
4786
|
-
"tw:data-[state=checked]:border-primary",
|
|
4787
|
-
"tw:data-[state=unchecked]:not-disabled:hover:bg-accent",
|
|
4788
|
-
"tw:data-[state=checked]:not-disabled:hover:bg-primary",
|
|
4789
|
-
"tw:focus-visible:outline-hidden",
|
|
4790
|
-
"tw:focus-visible:border-primary",
|
|
4791
|
-
"tw:focus-visible:ring-2",
|
|
4792
|
-
"tw:focus-visible:ring-ring/50"
|
|
4793
|
-
]
|
|
4794
|
-
}
|
|
4795
|
-
}
|
|
4796
|
-
}
|
|
4797
|
-
);
|
|
4798
|
-
var radioIndicatorVariants = cva(["tw:size-2.5", "tw:fill-current"], {
|
|
4799
|
-
defaultVariants: {
|
|
4800
|
-
variant: "default"
|
|
4801
|
-
},
|
|
4802
|
-
variants: {
|
|
4803
|
-
variant: {
|
|
4804
|
-
default: ["tw:text-primary"],
|
|
4805
|
-
argo: ["tw:text-primary-foreground"]
|
|
4806
|
-
}
|
|
4807
|
-
}
|
|
4808
|
-
});
|
|
4809
|
-
var radioItemButtonVariants = cva(
|
|
4810
|
-
[
|
|
4811
|
-
// reset
|
|
4812
|
-
"tw:bg-transparent",
|
|
4813
|
-
"tw:p-0",
|
|
4814
|
-
"tw:peer",
|
|
4815
|
-
"tw:cursor-pointer",
|
|
4816
|
-
"tw:whitespace-nowrap",
|
|
4817
|
-
// position
|
|
4818
|
-
"tw:flex",
|
|
4819
|
-
"tw:items-center",
|
|
4820
|
-
"tw:justify-center",
|
|
4821
|
-
"tw:disabled:cursor-not-allowed",
|
|
4822
|
-
// layouts
|
|
4823
|
-
"tw:w-full",
|
|
4824
|
-
"tw:px-2",
|
|
4825
|
-
"tw:py-1.5",
|
|
4826
|
-
// fonts
|
|
4827
|
-
"tw:uppercase",
|
|
4828
|
-
"tw:font-semibold",
|
|
4829
|
-
"tw:font-sans",
|
|
4830
|
-
"tw:text-[11px]",
|
|
4831
|
-
"tw:whitespace-nowrap",
|
|
4832
|
-
"tw:tracking-widest",
|
|
4833
|
-
"tw:leading-[18px]",
|
|
4834
|
-
// border
|
|
4835
|
-
"tw:border",
|
|
4836
|
-
"tw:border-solid",
|
|
4837
|
-
"tw:rounded"
|
|
4838
|
-
],
|
|
4839
|
-
{
|
|
4840
|
-
defaultVariants: {
|
|
4841
|
-
variant: "default"
|
|
4842
|
-
},
|
|
4843
|
-
variants: {
|
|
4844
|
-
variant: {
|
|
4845
|
-
default: [
|
|
4846
|
-
"tw:disabled:opacity-40",
|
|
4847
|
-
"tw:text-secondary-600",
|
|
4848
|
-
"tw:border-secondary-500",
|
|
4849
|
-
"tw:data-[state=unchecked]:hover:bg-secondary-500",
|
|
4850
|
-
"tw:data-[state=unchecked]:hover:text-white",
|
|
4851
|
-
"tw:data-[state=unchecked]:disabled:hover:bg-white",
|
|
4852
|
-
"tw:data-[state=unchecked]:disabled:hover:text-secondary-500",
|
|
4853
|
-
"tw:data-[state=checked]:disabled:cursor-not-allowed",
|
|
4854
|
-
"tw:data-[state=unchecked]:bg-white",
|
|
4855
|
-
"tw:data-[state=checked]:bg-secondary-500",
|
|
4856
|
-
"tw:data-[state=checked]:text-white",
|
|
4857
|
-
"tw:data-[state=checked]:cursor-default",
|
|
4858
|
-
"tw:focus-visible:outline",
|
|
4859
|
-
"tw:focus-visible:outline-ring",
|
|
4860
|
-
"tw:focus-visible:ring-4",
|
|
4861
|
-
"tw:focus-visible:ring-ring/30"
|
|
4862
|
-
],
|
|
4863
|
-
argo: [
|
|
4864
|
-
"tw:disabled:opacity-50",
|
|
4865
|
-
"tw:text-foreground",
|
|
4866
|
-
"tw:border-input",
|
|
4867
|
-
"tw:transition-colors",
|
|
4868
|
-
// muted filled control surface — gray, distinct from white containers; not the app-background token
|
|
4869
|
-
"tw:data-[state=unchecked]:bg-muted",
|
|
4870
|
-
"tw:data-[state=unchecked]:not-disabled:hover:bg-accent",
|
|
4871
|
-
"tw:data-[state=unchecked]:not-disabled:hover:text-accent-foreground",
|
|
4872
|
-
"tw:data-[state=checked]:bg-primary",
|
|
4873
|
-
"tw:data-[state=checked]:border-primary",
|
|
4874
|
-
"tw:data-[state=checked]:text-primary-foreground",
|
|
4875
|
-
"tw:data-[state=checked]:not-disabled:cursor-default",
|
|
4876
|
-
"tw:focus-visible:outline-hidden",
|
|
4877
|
-
"tw:focus-visible:border-primary",
|
|
4878
|
-
"tw:focus-visible:ring-2",
|
|
4879
|
-
"tw:focus-visible:ring-ring/50"
|
|
4880
|
-
]
|
|
4881
|
-
}
|
|
4882
|
-
}
|
|
4883
|
-
}
|
|
4884
|
-
);
|
|
4885
|
-
var Radio = ({ className, styleVariant = "default", ...props }) => /* @__PURE__ */ jsx(Item, { ...props, className: cn(radioVariants({ variant: styleVariant }), className), children: /* @__PURE__ */ jsx(Indicator$1, { className: cn("tw:flex", "tw:items-center", "tw:justify-center"), children: /* @__PURE__ */ jsx(Circle, { className: radioIndicatorVariants({ variant: styleVariant }) }) }) });
|
|
4886
|
-
var RadioGroupItemButton = ({
|
|
4887
|
-
ref,
|
|
4888
|
-
className,
|
|
4889
|
-
children,
|
|
4890
|
-
styleVariant = "default",
|
|
4891
|
-
...props
|
|
4892
|
-
}) => /* @__PURE__ */ jsx(
|
|
4893
|
-
Item,
|
|
4894
|
-
{
|
|
4895
|
-
ref,
|
|
4896
|
-
...props,
|
|
4897
|
-
className: cn(radioItemButtonVariants({ variant: styleVariant }), className),
|
|
4898
|
-
children
|
|
4899
|
-
}
|
|
4900
|
-
);
|
|
4901
|
-
var RadioGroupItem = ({
|
|
4902
|
-
children,
|
|
4903
|
-
className,
|
|
4904
|
-
tooltip,
|
|
4905
|
-
tooltipVariant,
|
|
4906
|
-
tooltipPlacement,
|
|
4907
|
-
description,
|
|
4908
|
-
...props
|
|
4909
|
-
}) => {
|
|
4910
|
-
const { variant } = useRadioGroupContext();
|
|
4911
|
-
const styleVariant = useArgoDesign() ? "argo" : "default";
|
|
4912
|
-
const id = useId();
|
|
4913
|
-
const item = (() => {
|
|
4914
|
-
if (variant === "button")
|
|
4915
|
-
return /* @__PURE__ */ jsx(RadioGroupItemButton, { styleVariant, ...props, className, children });
|
|
4916
|
-
return /* @__PURE__ */ jsxs(
|
|
4917
|
-
FieldBox,
|
|
4918
|
-
{
|
|
4919
|
-
variant: variant === "radio-block" ? "boxed" : "default",
|
|
4920
|
-
htmlFor: id,
|
|
4921
|
-
control: /* @__PURE__ */ jsx(Radio, { styleVariant, ...props, id }),
|
|
4922
|
-
className: cn(variant === "radio-block" && "tw:flex-1", className),
|
|
4923
|
-
children: [
|
|
4924
|
-
/* @__PURE__ */ jsx(FieldBox.Title, { children }),
|
|
4925
|
-
description && /* @__PURE__ */ jsx(FieldBox.Description, { children: description })
|
|
4926
|
-
]
|
|
4927
|
-
}
|
|
4928
|
-
);
|
|
4929
|
-
})();
|
|
4930
|
-
if (!tooltip) {
|
|
4931
|
-
return item;
|
|
4932
|
-
}
|
|
4933
|
-
return /* @__PURE__ */ jsx(Tooltip, { tooltip, variant: tooltipVariant, placement: tooltipPlacement, triggerAsChild: true, children: item });
|
|
4934
|
-
};
|
|
4935
|
-
var RadioGroupSeparator = () => {
|
|
4936
|
-
const { orientation } = useRadioGroupContext();
|
|
4937
|
-
const invertedOrientation = orientation === "horizontal" ? "vertical" : "horizontal";
|
|
4938
|
-
const size = orientation === "horizontal" ? "1/2" : "full";
|
|
4939
|
-
const className = orientation === "horizontal" ? "tw:mx-2" : "tw:my-2";
|
|
4940
|
-
return /* @__PURE__ */ jsx(Separator, { orientation: invertedOrientation, size, className });
|
|
4941
|
-
};
|
|
4942
|
-
var radioGroupVariants = cva(["tw:flex"], {
|
|
4943
|
-
variants: {
|
|
4944
|
-
orientation: {
|
|
4945
|
-
horizontal: ["tw:gap-2"],
|
|
4946
|
-
vertical: ["tw:flex-col", "tw:gap-3"]
|
|
4947
|
-
},
|
|
4948
|
-
variant: {
|
|
4949
|
-
button: [],
|
|
4950
|
-
radio: [],
|
|
4951
|
-
"radio-block": ["tw:w-full"]
|
|
4952
|
-
}
|
|
4953
|
-
}
|
|
4954
|
-
});
|
|
4955
|
-
var RadioGroup = ({
|
|
4956
|
-
variant = "radio",
|
|
4957
|
-
className,
|
|
4958
|
-
disabled = false,
|
|
4959
|
-
orientation = "horizontal",
|
|
4960
|
-
onValueChange,
|
|
4961
|
-
children,
|
|
4962
|
-
value,
|
|
4963
|
-
defaultValue,
|
|
4964
|
-
...props
|
|
4965
|
-
}) => /* @__PURE__ */ jsx(
|
|
4966
|
-
RRadioGroup.Root,
|
|
4967
|
-
{
|
|
4968
|
-
...props,
|
|
4969
|
-
onValueChange,
|
|
4970
|
-
orientation,
|
|
4971
|
-
className: cn(radioGroupVariants({ orientation, variant, className })),
|
|
4972
|
-
disabled,
|
|
4973
|
-
value: value ?? void 0,
|
|
4974
|
-
defaultValue: defaultValue ?? void 0,
|
|
4975
|
-
children: /* @__PURE__ */ jsx(RadioGroupProvider, { value: { variant, orientation }, children })
|
|
4976
|
-
}
|
|
4977
|
-
);
|
|
4978
|
-
RadioGroup.Item = RadioGroupItem;
|
|
4979
|
-
RadioGroup.Separator = RadioGroupSeparator;
|
|
4980
|
-
var rootVariants = cva(
|
|
4981
|
-
[
|
|
4982
|
-
// reset
|
|
4983
|
-
"tailwindcss-preflight",
|
|
4984
|
-
// position
|
|
4985
|
-
"tw:flex",
|
|
4986
|
-
"tw:items-center",
|
|
4987
|
-
"tw:justify-center",
|
|
4988
|
-
"tw:peer",
|
|
4989
|
-
"tw:size-4",
|
|
4990
|
-
"tw:shrink-0",
|
|
4991
|
-
"tw:cursor-pointer",
|
|
4992
|
-
// border
|
|
4993
|
-
"tw:border",
|
|
4994
|
-
"tw:border-solid",
|
|
4995
|
-
// disabled
|
|
4996
|
-
"tw:disabled:opacity-50",
|
|
4997
|
-
"tw:disabled:cursor-not-allowed"
|
|
4998
|
-
],
|
|
4999
|
-
{
|
|
5000
|
-
defaultVariants: {
|
|
5001
|
-
variant: "default"
|
|
5002
|
-
},
|
|
5003
|
-
variants: {
|
|
5004
|
-
variant: {
|
|
5005
|
-
default: [
|
|
5006
|
-
"tw:rounded",
|
|
5007
|
-
"tw:border-neutral-200",
|
|
5008
|
-
"tw:data-[state=checked]:bg-primary",
|
|
5009
|
-
"tw:data-[state=checked]:border-primary",
|
|
5010
|
-
"tw:data-[state=indeterminate]:bg-white",
|
|
5011
|
-
"tw:data-[state=indeterminate]:border-neutral-200"
|
|
5012
|
-
],
|
|
5013
|
-
argo: [
|
|
5014
|
-
"tw:rounded",
|
|
5015
|
-
"tw:border-input",
|
|
5016
|
-
"tw:transition-colors",
|
|
5017
|
-
"tw:data-[state=checked]:bg-primary",
|
|
5018
|
-
"tw:data-[state=checked]:border-primary",
|
|
5019
|
-
"tw:data-[state=indeterminate]:bg-primary",
|
|
5020
|
-
"tw:data-[state=indeterminate]:border-primary",
|
|
5021
|
-
// focus
|
|
5022
|
-
"tw:focus-visible:outline-hidden",
|
|
5023
|
-
"tw:focus-visible:border-primary",
|
|
5024
|
-
"tw:focus-visible:ring-2",
|
|
5025
|
-
"tw:focus-visible:ring-ring/50"
|
|
5026
|
-
]
|
|
5027
|
-
}
|
|
5028
|
-
}
|
|
5029
|
-
}
|
|
5030
|
-
);
|
|
5031
|
-
var indicatorVariants = cva(["tw:group", "tw:flex", "tw:items-center"], {
|
|
5032
|
-
defaultVariants: {
|
|
5033
|
-
variant: "default"
|
|
5034
|
-
},
|
|
5035
|
-
variants: {
|
|
5036
|
-
variant: {
|
|
5037
|
-
default: [
|
|
5038
|
-
"tw:data-[state=checked]:text-primary-foreground",
|
|
5039
|
-
"tw:data-[state=indeterminate]:text-neutral-200"
|
|
5040
|
-
],
|
|
5041
|
-
argo: ["tw:text-primary-foreground"]
|
|
5042
|
-
}
|
|
5043
|
-
}
|
|
5044
|
-
});
|
|
5045
|
-
function Checkbox({
|
|
5046
|
-
className,
|
|
5047
|
-
id: idProp,
|
|
5048
|
-
children,
|
|
5049
|
-
description,
|
|
5050
|
-
variant,
|
|
5051
|
-
position,
|
|
5052
|
-
tooltip,
|
|
5053
|
-
tooltipPlacement = "top",
|
|
5054
|
-
...rest
|
|
5055
|
-
}) {
|
|
5056
|
-
const fallbackId = useId();
|
|
5057
|
-
const id = idProp?.toString() ?? fallbackId;
|
|
5058
|
-
const styleVariant = useArgoDesign() ? "argo" : "default";
|
|
5059
|
-
const checkboxElement = /* @__PURE__ */ jsx(Root$1, { id, ...rest, className: cn(rootVariants({ variant: styleVariant, className })), children: /* @__PURE__ */ jsxs(Indicator, { className: cn(indicatorVariants({ variant: styleVariant })), children: [
|
|
5060
|
-
/* @__PURE__ */ jsx(Check, { className: "tw:hidden tw:size-3 tw:stroke-[4px] tw:group-data-[state=checked]:block" }),
|
|
5061
|
-
/* @__PURE__ */ jsx(Minus, { className: "tw:hidden tw:size-3 tw:stroke-[4px] tw:group-data-[state=indeterminate]:block" })
|
|
5062
|
-
] }) });
|
|
5063
|
-
const rendered = !children ? checkboxElement : /* @__PURE__ */ jsxs(FieldBox, { htmlFor: id, variant, position, control: checkboxElement, children: [
|
|
5064
|
-
/* @__PURE__ */ jsx(FieldBox.Title, { children }),
|
|
5065
|
-
description && /* @__PURE__ */ jsx(FieldBox.Description, { children: description })
|
|
5066
|
-
] });
|
|
5067
|
-
if (!tooltip) return rendered;
|
|
5068
|
-
return /* @__PURE__ */ jsx(Tooltip, { tooltip, placement: tooltipPlacement, triggerAsChild: !!children, children: rendered });
|
|
5069
|
-
}
|
|
5070
|
-
var addonVariants = cva(
|
|
5071
|
-
[
|
|
5072
|
-
"tw:flex",
|
|
5073
|
-
"tw:items-center",
|
|
5074
|
-
"tw:shrink-0",
|
|
5075
|
-
"tw:bg-inherit",
|
|
5076
|
-
"tw:self-stretch",
|
|
5077
|
-
"tw:px-1",
|
|
5078
|
-
"tw:has-[button]:px-0",
|
|
5079
|
-
'tw:[&_svg:not([class*="tw:size-"])]:size-3'
|
|
5080
|
-
],
|
|
5081
|
-
{
|
|
5082
|
-
defaultVariants: {
|
|
5083
|
-
align: "inline-end",
|
|
5084
|
-
variant: "inline"
|
|
5085
|
-
},
|
|
5086
|
-
variants: {
|
|
5087
|
-
align: {
|
|
5088
|
-
"inline-start": ["tw:order-first"],
|
|
5089
|
-
"inline-end": ["tw:order-last"]
|
|
5090
|
-
},
|
|
5091
|
-
variant: {
|
|
5092
|
-
inline: [],
|
|
5093
|
-
floating: [
|
|
5094
|
-
"tw:hidden",
|
|
5095
|
-
"tw:group-hover/badge:flex",
|
|
5096
|
-
"tw:absolute",
|
|
5097
|
-
"tw:top-0",
|
|
5098
|
-
"tw:bottom-0",
|
|
5099
|
-
"tw:focus-within:flex"
|
|
5100
|
-
]
|
|
5101
|
-
}
|
|
5102
|
-
},
|
|
5103
|
-
compoundVariants: [
|
|
5104
|
-
{ variant: "floating", align: "inline-end", className: ["tw:right-0"] },
|
|
5105
|
-
{ variant: "floating", align: "inline-start", className: ["tw:left-0"] }
|
|
5106
|
-
]
|
|
5107
|
-
}
|
|
5108
|
-
);
|
|
5109
|
-
var BadgeAddon = ({
|
|
5110
|
-
ref,
|
|
5111
|
-
align = "inline-end",
|
|
5112
|
-
variant = "inline",
|
|
5113
|
-
className,
|
|
5114
|
-
...rest
|
|
5115
|
-
}) => /* @__PURE__ */ jsx(
|
|
5116
|
-
"div",
|
|
5117
|
-
{
|
|
5118
|
-
...rest,
|
|
5119
|
-
ref,
|
|
5120
|
-
"data-align": align,
|
|
5121
|
-
"data-variant": variant,
|
|
5122
|
-
className: cn(addonVariants({ align, variant, className }))
|
|
5123
|
-
}
|
|
5124
|
-
);
|
|
5125
|
-
var BadgeButton = ({ ref, className, type = "button", children, ...rest }) => /* @__PURE__ */ jsx(
|
|
5126
|
-
"button",
|
|
5127
|
-
{
|
|
5128
|
-
...rest,
|
|
5129
|
-
ref,
|
|
5130
|
-
type,
|
|
5131
|
-
className: cn(
|
|
5132
|
-
"tailwindcss-preflight",
|
|
5133
|
-
"tw:inline-flex",
|
|
5134
|
-
"tw:items-center",
|
|
5135
|
-
"tw:justify-center",
|
|
5136
|
-
"tw:cursor-pointer",
|
|
5137
|
-
"tw:bg-inherit",
|
|
5138
|
-
"tw:text-inherit",
|
|
5139
|
-
"tw:hover:brightness-95",
|
|
5140
|
-
"tw:px-1",
|
|
5141
|
-
// Default sizing for Lucide-icon children (which ship at 24×24); keeps
|
|
5142
|
-
// the visual baseline aligned with the previous FA-icon API and other
|
|
5143
|
-
// icon-wrapper components (ItemIcon, SidebarMenuIcon).
|
|
5144
|
-
'tw:[&_svg:not([class*="tw:size-"])]:size-3',
|
|
5145
|
-
className
|
|
5146
|
-
),
|
|
5147
|
-
children
|
|
5148
|
-
}
|
|
5149
|
-
);
|
|
5150
|
-
var BadgeLabel = ({ ref, className, asChild = false, ...rest }) => {
|
|
5151
|
-
const Comp = asChild ? Slot : "span";
|
|
5152
|
-
return /* @__PURE__ */ jsx(
|
|
5153
|
-
Comp,
|
|
5154
|
-
{
|
|
5155
|
-
...rest,
|
|
5156
|
-
ref,
|
|
5157
|
-
"data-slot": "badge-label",
|
|
5158
|
-
className: cn(
|
|
5159
|
-
"tw:max-w-56",
|
|
5160
|
-
"tw:truncate",
|
|
5161
|
-
"tw:px-2",
|
|
5162
|
-
"tw:py-0.5",
|
|
5163
|
-
// Drop side padding only when an *inline* addon is present —
|
|
5164
|
-
// floating addons overlay the label without taking layout space,
|
|
5165
|
-
// so the label still needs full padding behind them.
|
|
5166
|
-
"tw:group-has-[[data-align=inline-start][data-variant=inline]:not(:empty)]/badge:pl-0",
|
|
5167
|
-
"tw:group-has-[[data-align=inline-end][data-variant=inline]:not(:empty)]/badge:pr-0",
|
|
5168
|
-
className
|
|
5169
|
-
)
|
|
5170
|
-
}
|
|
5171
|
-
);
|
|
5172
|
-
};
|
|
5173
|
-
var badgeColors = {
|
|
5174
|
-
gray: "tw:bg-neutral-400 tw:text-white tw:decoration-neutral-400",
|
|
5175
|
-
"gray-darker": "tw:bg-neutral-500 tw:text-white tw:decoration-neutral-500",
|
|
5176
|
-
"gray-inverse": "tw:bg-neutral-100 tw:text-neutral-500 tw:decoration-neutral-100 tw:[[data-theme=dark]_&]:bg-neutral-700 tw:[[data-theme=dark]_&]:text-neutral-300 tw:[[data-theme=dark]_&]:decoration-neutral-700",
|
|
5177
|
-
green: "tw:bg-green-500 tw:text-white tw:decoration-green-500",
|
|
5178
|
-
"green-darker": "tw:bg-green-600 tw:text-white tw:decoration-green-600",
|
|
5179
|
-
"green-inverse": "tw:bg-green-100 tw:text-green-900 tw:decoration-green-100 tw:[[data-theme=dark]_&]:bg-green-900 tw:[[data-theme=dark]_&]:text-green-200 tw:[[data-theme=dark]_&]:decoration-green-900",
|
|
5180
|
-
blue: "tw:bg-blue-500 tw:text-white tw:decoration-blue-500",
|
|
5181
|
-
"blue-inverse": "tw:bg-blue-100 tw:text-blue-600 tw:decoration-blue-100 tw:[[data-theme=dark]_&]:bg-blue-900 tw:[[data-theme=dark]_&]:text-blue-200 tw:[[data-theme=dark]_&]:decoration-blue-900",
|
|
5182
|
-
red: "tw:bg-error-500 tw:text-white tw:decoration-error-500",
|
|
5183
|
-
orange: "tw:bg-warning-500 tw:text-white tw:decoration-warning-500",
|
|
5184
|
-
"orange-inverse": "tw:bg-warning-100 tw:text-warning-500 tw:decoration-warning-100 tw:[[data-theme=dark]_&]:bg-warning-900 tw:[[data-theme=dark]_&]:text-warning-200 tw:[[data-theme=dark]_&]:decoration-warning-900",
|
|
5185
|
-
amber: "tw:bg-warning-300 tw:text-warning-800 tw:decoration-warning-300",
|
|
5186
|
-
"amber-inverse": "tw:bg-warning-100 tw:text-warning-700 tw:decoration-warning-100",
|
|
5187
|
-
teal: "tw:bg-teal-500 tw:text-white tw:decoration-teal-500",
|
|
5188
|
-
"teal-inverse": "tw:bg-teal-100 tw:text-teal-800 tw:decoration-teal-100 tw:[[data-theme=dark]_&]:bg-teal-900 tw:[[data-theme=dark]_&]:text-teal-200 tw:[[data-theme=dark]_&]:decoration-teal-900",
|
|
5189
|
-
purple: "tw:bg-purple-500 tw:text-white tw:decoration-purple-500",
|
|
5190
|
-
"purple-inverse": "tw:bg-purple-100 tw:text-purple-800 tw:decoration-purple-100 tw:[[data-theme=dark]_&]:bg-purple-900 tw:[[data-theme=dark]_&]:text-purple-200 tw:[[data-theme=dark]_&]:decoration-purple-900",
|
|
5191
|
-
cyan: "tw:bg-cyan-500 tw:text-white tw:decoration-cyan-500",
|
|
5192
|
-
"cyan-inverse": "tw:bg-cyan-100 tw:text-cyan-800 tw:decoration-cyan-100 tw:[[data-theme=dark]_&]:bg-cyan-900 tw:[[data-theme=dark]_&]:text-cyan-200 tw:[[data-theme=dark]_&]:decoration-cyan-900",
|
|
5193
|
-
"sidebar-primary": "tw:bg-sidebar-primary tw:text-white tw:decoration-sidebar-primary",
|
|
5194
|
-
white: "tw:bg-white/90 tw:text-neutral-600 tw:decoration-white/90"
|
|
5195
|
-
};
|
|
5196
|
-
var badgeRootVariants = cva(
|
|
5197
|
-
[
|
|
5198
|
-
"tailwindcss-preflight",
|
|
5199
|
-
"tw:group/badge",
|
|
5200
|
-
// display
|
|
5201
|
-
"tw:relative",
|
|
5202
|
-
"tw:inline-flex",
|
|
5203
|
-
"tw:justify-center",
|
|
5204
|
-
"tw:items-center",
|
|
5205
|
-
"tw:min-h-5",
|
|
5206
|
-
"tw:h-fit",
|
|
5207
|
-
"tw:shrink-0",
|
|
5208
|
-
"tw:overflow-hidden",
|
|
5209
|
-
// text — chrome weight/tracking are brand-overridable tokens
|
|
5210
|
-
// (`--font-weight-medium` / `--letter-spacing-chrome`); casing lives on the
|
|
5211
|
-
// `default` variant below via `tw:uppercase`.
|
|
5212
|
-
"tw:whitespace-pre-wrap",
|
|
5213
|
-
"tw:break-normal",
|
|
5214
|
-
"tw:text-xs",
|
|
5215
|
-
"tw:font-medium",
|
|
5216
|
-
"tw:tracking-chrome",
|
|
5217
|
-
"tw:text-center",
|
|
5218
|
-
"tw:underline",
|
|
5219
|
-
// content
|
|
5220
|
-
"tw:border-none",
|
|
5221
|
-
"tw:[&>svg]:self-center",
|
|
5222
|
-
"tw:[button&]:cursor-pointer",
|
|
5223
|
-
// focus
|
|
5224
|
-
"tw:focus-visible:outline-hidden",
|
|
5225
|
-
"tw:focus-visible:ring-2",
|
|
5226
|
-
"tw:focus-visible:ring-inset",
|
|
5227
|
-
"tw:focus-visible:ring-ring"
|
|
5228
|
-
],
|
|
5229
|
-
{
|
|
5230
|
-
defaultVariants: {
|
|
5231
|
-
color: "gray",
|
|
5232
|
-
variant: "default"
|
|
5233
|
-
},
|
|
5234
|
-
variants: {
|
|
5235
|
-
variant: {
|
|
5236
|
-
// Legacy chrome uppercases the default badge; the Keboola V2 brand
|
|
5237
|
-
// (`data-brand="keboola"`) renders it in standard case instead.
|
|
5238
|
-
default: [
|
|
5239
|
-
"tw:rounded tw:uppercase",
|
|
5240
|
-
"tw:[[data-brand=keboola]_&]:normal-case tw:[[data-brand=keboola]_&]:tracking-normal"
|
|
5241
|
-
],
|
|
5242
|
-
tag: ["tw:rounded tw:normal-case"],
|
|
5243
|
-
pill: ["tw:min-w-5 tw:rounded-full tw:normal-case tw:tracking-normal"]
|
|
5244
|
-
},
|
|
5245
|
-
color: badgeColors
|
|
5246
|
-
}
|
|
5247
|
-
}
|
|
5248
|
-
);
|
|
5249
|
-
var BadgeRoot = ({ ref, variant, color, className, children, ...rest }) => /* @__PURE__ */ jsx(
|
|
5250
|
-
"div",
|
|
5251
|
-
{
|
|
5252
|
-
...rest,
|
|
5253
|
-
ref,
|
|
5254
|
-
"data-slot": "badge",
|
|
5255
|
-
className: cn(badgeRootVariants({ variant, color, className })),
|
|
5256
|
-
children
|
|
5257
|
-
}
|
|
5258
|
-
);
|
|
5259
|
-
var BadgeInner = ({
|
|
5260
|
-
ref,
|
|
5261
|
-
// root props
|
|
5262
|
-
variant,
|
|
5263
|
-
color,
|
|
5264
|
-
// custom props
|
|
5265
|
-
prefix,
|
|
5266
|
-
prefixVariant = "inline",
|
|
5267
|
-
suffix,
|
|
5268
|
-
suffixVariant = "inline",
|
|
5269
|
-
className,
|
|
5270
|
-
labelClassName,
|
|
5271
|
-
...labelProps
|
|
5272
|
-
}) => /* @__PURE__ */ jsxs(BadgeRoot, { className, variant, color, children: [
|
|
5273
|
-
prefix && /* @__PURE__ */ jsx(BadgeAddon, { align: "inline-start", variant: prefixVariant, children: prefix }),
|
|
5274
|
-
/* @__PURE__ */ jsx(BadgeLabel, { ...labelProps, ref, className: labelClassName }),
|
|
5275
|
-
suffix && /* @__PURE__ */ jsx(BadgeAddon, { align: "inline-end", variant: suffixVariant, children: suffix })
|
|
5276
|
-
] });
|
|
5277
|
-
var Badge = Object.assign(BadgeInner, {
|
|
5278
|
-
Root: BadgeRoot,
|
|
5279
|
-
Button: BadgeButton,
|
|
5280
|
-
Label: BadgeLabel,
|
|
5281
|
-
Addon: BadgeAddon
|
|
5282
|
-
});
|
|
5283
|
-
|
|
5284
|
-
// src/components/Combobox/utils.ts
|
|
5285
|
-
var isPlainObject = (item) => item !== null && typeof item === "object";
|
|
5286
|
-
var isNumber = (item) => typeof item === "number";
|
|
5287
|
-
var isString = (item) => typeof item === "string";
|
|
5288
|
-
var isLabeledItem = (item) => isPlainObject(item) && Reflect.has(item, "label") && Reflect.has(item, "value");
|
|
5289
|
-
var isInternalItem = (item) => isLabeledItem(item) && "__marker" in item;
|
|
5290
|
-
var isCreatableItem = (item) => {
|
|
5291
|
-
return isInternalItem(item) && item.__marker === "creatable";
|
|
5292
|
-
};
|
|
5293
|
-
var isGroupItem = (itemOrGroup) => itemOrGroup !== null && typeof itemOrGroup === "object" && Reflect.has(itemOrGroup, "items");
|
|
5294
|
-
var isGroupItems = (items) => {
|
|
5295
|
-
if (!Array.isArray(items)) return false;
|
|
5296
|
-
if (items.length === 0) return false;
|
|
5297
|
-
return isGroupItem(items[0]);
|
|
5298
|
-
};
|
|
5299
|
-
var defaultItemToLabel = (item) => {
|
|
5300
|
-
if (isNumber(item) || isString(item)) return item;
|
|
5301
|
-
if (!isLabeledItem(item))
|
|
5302
|
-
throw new Error(
|
|
5303
|
-
"Combobox: Item does not have a `label` field. Pass `itemToLabel` for custom item shapes."
|
|
5304
|
-
);
|
|
5305
|
-
return item.label;
|
|
5306
|
-
};
|
|
5307
|
-
var toLabel = (item) => {
|
|
5308
|
-
if (isString(item)) return item;
|
|
5309
|
-
if (isLabeledItem(item)) {
|
|
5310
|
-
if (item.label) return item.label;
|
|
5311
|
-
if (item.value) return item.value;
|
|
5312
|
-
}
|
|
5313
|
-
return String(item);
|
|
5314
|
-
};
|
|
5315
|
-
var toValueKey = (item) => {
|
|
5316
|
-
if (isString(item)) return item;
|
|
5317
|
-
if (isLabeledItem(item)) {
|
|
5318
|
-
if (item.value) return item.value;
|
|
5319
|
-
if (item.label) return item.label;
|
|
5320
|
-
}
|
|
5321
|
-
return String(item);
|
|
5322
|
-
};
|
|
5323
|
-
var defaultItemToIcon = (item) => isLabeledItem(item) ? item.icon : void 0;
|
|
5324
|
-
var defaultItemToDisabled = (item) => isLabeledItem(item) ? item.disabled ?? false : false;
|
|
5325
|
-
var defaultGroupToLabel = () => void 0;
|
|
5326
|
-
var createCreatableItem = (query) => ({
|
|
5327
|
-
__marker: "creatable",
|
|
5328
|
-
value: query,
|
|
5329
|
-
label: query
|
|
5330
|
-
});
|
|
5331
|
-
var defaultToCreateValue = (query, value, queryToCreateValue) => {
|
|
5332
|
-
if (queryToCreateValue) return queryToCreateValue(query);
|
|
5333
|
-
if (value === void 0) return query;
|
|
5334
|
-
if (isString(value)) return query;
|
|
5335
|
-
if (isLabeledItem(value)) return { value: query, label: query };
|
|
5336
|
-
throw new Error(
|
|
5337
|
-
"Combobox: Cannot infer item shape for `allowCreate`. Pass `queryToCreateValue` for custom item shapes."
|
|
5338
|
-
);
|
|
5339
|
-
};
|
|
5340
|
-
var defaultQueryToCreateLabel = (query) => `Create "${query}"`;
|
|
5341
|
-
var ComboboxChips = ({
|
|
5342
|
-
maxVisible = 3,
|
|
5343
|
-
itemToChipLabel = defaultItemToLabel,
|
|
5344
|
-
itemToChipColor,
|
|
5345
|
-
variant = "pill"
|
|
5346
|
-
}) => /* @__PURE__ */ jsx(Combobox$1.Value, { children: (values) => {
|
|
5347
|
-
if (!values.length) return null;
|
|
5348
|
-
const visible = values.slice(0, maxVisible);
|
|
5349
|
-
const overflow = values.slice(maxVisible);
|
|
5350
|
-
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
5351
|
-
visible.map((value, index) => /* @__PURE__ */ jsxs(
|
|
5352
|
-
Combobox$1.Chip,
|
|
5353
|
-
{
|
|
5354
|
-
render: /* @__PURE__ */ jsx(
|
|
5355
|
-
Badge.Root,
|
|
5356
|
-
{
|
|
5357
|
-
color: itemToChipColor?.(value),
|
|
5358
|
-
className: "tw:max-w-40",
|
|
5359
|
-
variant
|
|
5360
|
-
}
|
|
5361
|
-
),
|
|
5362
|
-
children: [
|
|
5363
|
-
/* @__PURE__ */ jsx(Badge.Label, { children: itemToChipLabel(value) }),
|
|
5364
|
-
/* @__PURE__ */ jsx(Badge.Addon, { variant: "inline", align: "inline-end", children: /* @__PURE__ */ jsx(
|
|
5365
|
-
Combobox$1.ChipRemove,
|
|
5366
|
-
{
|
|
5367
|
-
render: /* @__PURE__ */ jsx(Badge.Button, { "aria-label": "Remove value", children: /* @__PURE__ */ jsx(X, { className: "tw:size-3" }) })
|
|
5368
|
-
}
|
|
5369
|
-
) })
|
|
5370
|
-
]
|
|
5371
|
-
},
|
|
5372
|
-
index
|
|
5373
|
-
)),
|
|
5374
|
-
overflow.length > 0 && /* @__PURE__ */ jsx(Badge.Root, { variant: "pill", children: /* @__PURE__ */ jsxs(Badge.Label, { children: [
|
|
5375
|
-
"+",
|
|
5376
|
-
overflow.length
|
|
5377
|
-
] }) })
|
|
5378
|
-
] });
|
|
5379
|
-
} });
|
|
5380
|
-
var ComboboxContent = ({
|
|
5381
|
-
ref,
|
|
5382
|
-
align = "start",
|
|
5383
|
-
side = "bottom",
|
|
5384
|
-
sideOffset = 4,
|
|
5385
|
-
alignOffset,
|
|
5386
|
-
anchor,
|
|
5387
|
-
container,
|
|
5388
|
-
className,
|
|
5389
|
-
children,
|
|
5390
|
-
...popupProps
|
|
5391
|
-
}) => {
|
|
5392
|
-
const effectiveVariant = useArgoDesign() ? "argo" : "default";
|
|
5393
|
-
return /* @__PURE__ */ jsx(Combobox$1.Portal, { container, children: /* @__PURE__ */ jsx(
|
|
5394
|
-
Combobox$1.Positioner,
|
|
5395
|
-
{
|
|
5396
|
-
align,
|
|
5397
|
-
side,
|
|
5398
|
-
sideOffset,
|
|
5399
|
-
alignOffset,
|
|
5400
|
-
anchor,
|
|
5401
|
-
className: "tw:isolate tw:z-[1055] tailwindcss-preflight",
|
|
5402
|
-
children: /* @__PURE__ */ jsx(
|
|
5403
|
-
Combobox$1.Popup,
|
|
5404
|
-
{
|
|
5405
|
-
ref,
|
|
5406
|
-
"data-chips": !!anchor,
|
|
5407
|
-
"data-variant": effectiveVariant,
|
|
5408
|
-
className: cn(
|
|
5409
|
-
"tw:!pointer-events-auto",
|
|
5410
|
-
"tw:group/combobox-content",
|
|
5411
|
-
"tw:relative",
|
|
5412
|
-
"tw:flex tw:flex-col tw:overflow-hidden",
|
|
5413
|
-
// sizing
|
|
5414
|
-
"tw:max-h-[var(--available-height)]",
|
|
5415
|
-
"tw:w-[var(--anchor-width)]",
|
|
5416
|
-
"tw:max-w-[var(--available-width)]",
|
|
5417
|
-
"tw:origin-[var(--transform-origin)]",
|
|
5418
|
-
"tw:data-[chips=true]:min-w-[var(--anchor-width)]",
|
|
5419
|
-
// appearance
|
|
5420
|
-
"tw:rounded-lg",
|
|
5421
|
-
"tw:data-[variant=default]:rounded",
|
|
5422
|
-
"tw:bg-popover",
|
|
5423
|
-
"tw:text-popover-foreground",
|
|
5424
|
-
"tw:shadow-md",
|
|
5425
|
-
"tw:ring-1",
|
|
5426
|
-
"tw:ring-foreground/10",
|
|
5427
|
-
"tw:duration-100",
|
|
5428
|
-
// open animation
|
|
5429
|
-
"data-open:animate-in",
|
|
5430
|
-
"data-open:fade-in-0",
|
|
5431
|
-
"data-open:zoom-in-95",
|
|
5432
|
-
// closed animation
|
|
5433
|
-
"data-closed:animate-out",
|
|
5434
|
-
"data-closed:fade-out-0",
|
|
5435
|
-
"data-closed:zoom-out-95",
|
|
5436
|
-
// position animations
|
|
5437
|
-
"tw:data-[side=bottom]:slide-in-from-top-2",
|
|
5438
|
-
"tw:data-[side=top]:slide-in-from-bottom-2",
|
|
5439
|
-
"tw:data-[side=left]:slide-in-from-right-2",
|
|
5440
|
-
"tw:data-[side=right]:slide-in-from-left-2",
|
|
5441
|
-
"tw:data-[side=inline-start]:slide-in-from-right-2",
|
|
5442
|
-
"tw:data-[side=inline-end]:slide-in-from-left-2",
|
|
5443
|
-
className
|
|
5444
|
-
),
|
|
5445
|
-
...popupProps,
|
|
5446
|
-
children
|
|
5447
|
-
}
|
|
5448
|
-
)
|
|
5449
|
-
}
|
|
5450
|
-
) });
|
|
5451
|
-
};
|
|
5452
|
-
var ComboboxEmpty = ({ ref, className, ...props }) => /* @__PURE__ */ jsx(
|
|
5453
|
-
Combobox$1.Empty,
|
|
5454
|
-
{
|
|
5455
|
-
ref,
|
|
5456
|
-
className: cn(
|
|
5457
|
-
"tw:hidden",
|
|
5458
|
-
"tw:group-data-[empty]/combobox-content:flex",
|
|
5459
|
-
"tw:justify-center",
|
|
5460
|
-
"tw:items-center",
|
|
5461
|
-
"tw:text-center",
|
|
5462
|
-
"tw:px-2",
|
|
5463
|
-
"tw:text-muted-foreground",
|
|
5464
|
-
"tw:py-6",
|
|
5465
|
-
className
|
|
5466
|
-
),
|
|
5467
|
-
...props
|
|
5468
|
-
}
|
|
5469
|
-
);
|
|
5470
|
-
var ComboboxInput = ({ ref, ...props }) => /* @__PURE__ */ jsx(Combobox$1.Input, { ...props, ref, render: /* @__PURE__ */ jsx(InputGroup.Input, {}) });
|
|
5471
|
-
var ComboboxInputGroup = ({
|
|
5472
|
-
ref,
|
|
5473
|
-
state,
|
|
5474
|
-
variant,
|
|
5475
|
-
sizing,
|
|
5476
|
-
focusVariant,
|
|
5477
|
-
className,
|
|
5478
|
-
...props
|
|
5479
|
-
}) => /* @__PURE__ */ jsx(
|
|
5480
|
-
Combobox$1.InputGroup,
|
|
5481
|
-
{
|
|
5482
|
-
...props,
|
|
5483
|
-
ref,
|
|
5484
|
-
render: /* @__PURE__ */ jsx(
|
|
5485
|
-
InputGroup,
|
|
5486
|
-
{
|
|
5487
|
-
state,
|
|
5488
|
-
variant,
|
|
5489
|
-
focusVariant,
|
|
5490
|
-
sizing,
|
|
5491
|
-
className
|
|
5492
|
-
}
|
|
5493
|
-
)
|
|
5494
|
-
}
|
|
5495
|
-
);
|
|
5496
|
-
var ComboboxItemIndicator = ({ ref, className, variant = "check", ...props }) => {
|
|
5497
|
-
if (variant === "checkbox") {
|
|
5498
|
-
return /* @__PURE__ */ jsx(
|
|
5499
|
-
Combobox$1.ItemIndicator,
|
|
5500
|
-
{
|
|
5501
|
-
ref,
|
|
5502
|
-
keepMounted: true,
|
|
5503
|
-
className: cn(
|
|
5504
|
-
"tw:group/combobox-item-indicator",
|
|
5505
|
-
"tw:inline-flex",
|
|
5506
|
-
"tw:items-center",
|
|
5507
|
-
"tw:justify-center",
|
|
5508
|
-
"tw:size-4",
|
|
5509
|
-
"tw:shrink-0",
|
|
5510
|
-
"tw:rounded",
|
|
5511
|
-
"tw:border",
|
|
5512
|
-
"tw:border-input",
|
|
5513
|
-
"tw:bg-background",
|
|
5514
|
-
"tw:data-[selected]:bg-primary",
|
|
5515
|
-
"tw:data-[selected]:border-primary",
|
|
5516
|
-
className
|
|
5517
|
-
),
|
|
5518
|
-
...props,
|
|
5519
|
-
children: /* @__PURE__ */ jsx(
|
|
5520
|
-
Check,
|
|
5521
|
-
{
|
|
5522
|
-
className: cn(
|
|
5523
|
-
"tw:hidden",
|
|
5524
|
-
"tw:size-3",
|
|
5525
|
-
"tw:stroke-[4px]",
|
|
5526
|
-
"tw:!text-primary-foreground",
|
|
5527
|
-
"tw:group-data-[selected]/combobox-item-indicator:block"
|
|
5528
|
-
)
|
|
5529
|
-
}
|
|
5530
|
-
)
|
|
5531
|
-
}
|
|
5532
|
-
);
|
|
5533
|
-
}
|
|
5534
|
-
return /* @__PURE__ */ jsx(
|
|
5535
|
-
Combobox$1.ItemIndicator,
|
|
5536
|
-
{
|
|
5537
|
-
...props,
|
|
5538
|
-
ref,
|
|
5539
|
-
className: cn(
|
|
5540
|
-
"tw:pointer-events-none",
|
|
5541
|
-
"tw:absolute",
|
|
5542
|
-
"tw:right-2",
|
|
5543
|
-
"tw:group-data-[variant=default]/combobox-content:right-4",
|
|
5544
|
-
// `render={<Check />}` makes the icon the indicator element itself (not a descendant), so a
|
|
5545
|
-
// `[&_svg]` rule never matches it — size it directly or Lucide renders at its 24px default.
|
|
5546
|
-
"tw:size-4",
|
|
5547
|
-
"tw:group-data-[highlighted]/combobox-item:text-accent-foreground",
|
|
5548
|
-
"tw:group-data-[variant=default]/combobox-content:group-data-[highlighted]/combobox-item:text-foreground",
|
|
5549
|
-
className
|
|
5550
|
-
),
|
|
5551
|
-
render: /* @__PURE__ */ jsx(Check, {})
|
|
5552
|
-
}
|
|
5553
|
-
);
|
|
5554
|
-
};
|
|
5555
|
-
var ComboboxItem = ({
|
|
5556
|
-
ref,
|
|
5557
|
-
className,
|
|
5558
|
-
children,
|
|
5559
|
-
icon,
|
|
5560
|
-
indicator: variant = "check",
|
|
5561
|
-
...props
|
|
5562
|
-
}) => /* @__PURE__ */ jsxs(
|
|
5563
|
-
Combobox$1.Item,
|
|
5564
|
-
{
|
|
5565
|
-
...props,
|
|
5566
|
-
ref,
|
|
5567
|
-
"data-slot": "combobox-item",
|
|
5568
|
-
className: cn(
|
|
5569
|
-
"tw:group/combobox-item",
|
|
5570
|
-
// layout
|
|
5571
|
-
"tw:relative",
|
|
5572
|
-
"tw:flex",
|
|
5573
|
-
"tw:flex-1",
|
|
5574
|
-
"tw:items-center",
|
|
5575
|
-
"tw:gap-2",
|
|
5576
|
-
// spacing
|
|
5577
|
-
"tw:py-2",
|
|
5578
|
-
"tw:px-2",
|
|
5579
|
-
"tw:group-data-[variant=default]/combobox-content:px-4",
|
|
5580
|
-
"tw:rounded-lg",
|
|
5581
|
-
"tw:group-data-[variant=default]/combobox-content:rounded-none",
|
|
5582
|
-
// typography
|
|
5583
|
-
"tw:text-sm",
|
|
5584
|
-
"tw:select-none",
|
|
5585
|
-
"tw:cursor-default",
|
|
5586
|
-
"tw:outline-hidden",
|
|
5587
|
-
// highlighted (keyboard / hover)
|
|
5588
|
-
"tw:data-[highlighted]:bg-accent",
|
|
5589
|
-
"tw:group-data-[variant=default]/combobox-content:data-[highlighted]:bg-neutral-100",
|
|
5590
|
-
"tw:data-[highlighted]:text-accent-foreground",
|
|
5591
|
-
"tw:group-data-[variant=default]/combobox-content:data-[highlighted]:text-foreground",
|
|
5592
|
-
// disabled
|
|
5593
|
-
"tw:data-disabled:pointer-events-none",
|
|
5594
|
-
"tw:data-disabled:opacity-50",
|
|
5595
|
-
// child svg defaults
|
|
5596
|
-
"tw:[&_svg]:pointer-events-none",
|
|
5597
|
-
"tw:[&_svg]:shrink-0",
|
|
5598
|
-
"tw:[&_svg]:text-muted-foreground",
|
|
5599
|
-
"tw:[&_svg:not([class*='size-'])]:size-4",
|
|
5600
|
-
className
|
|
5601
|
-
),
|
|
5602
|
-
children: [
|
|
5603
|
-
/* @__PURE__ */ jsx(ComboboxItemIndicator, { variant }),
|
|
5604
|
-
icon,
|
|
5605
|
-
/* @__PURE__ */ jsx("span", { className: "tw:truncate", children })
|
|
5606
|
-
]
|
|
5607
|
-
}
|
|
5608
|
-
);
|
|
5609
|
-
var ComboboxList = ({ ref, className, ...props }) => /* @__PURE__ */ jsx(
|
|
5610
|
-
Combobox$1.List,
|
|
5611
|
-
{
|
|
5612
|
-
ref,
|
|
5613
|
-
className: cn(
|
|
5614
|
-
"tw:no-scrollbar",
|
|
5615
|
-
"tw:scroll-py-1",
|
|
5616
|
-
"tw:overflow-y-auto",
|
|
5617
|
-
"tw:overscroll-contain",
|
|
5618
|
-
"tw:min-h-0",
|
|
5619
|
-
"tw:flex-1",
|
|
5620
|
-
"tw:p-2",
|
|
5621
|
-
"tw:data-[empty]:p-0",
|
|
5622
|
-
"tw:group-data-[variant=default]/combobox-content:p-0",
|
|
5623
|
-
className
|
|
5624
|
-
),
|
|
5625
|
-
...props
|
|
5626
|
-
}
|
|
5627
|
-
);
|
|
5628
|
-
var ComboboxRoot = (props) => /* @__PURE__ */ jsx(Combobox$1.Root, { ...props });
|
|
5629
|
-
var ComboboxSeparator = ({ ref, className, ...props }) => /* @__PURE__ */ jsx(
|
|
5630
|
-
Combobox$1.Separator,
|
|
5631
|
-
{
|
|
5632
|
-
ref,
|
|
5633
|
-
className: cn("tw:mx-2 tw:my-1 tw:h-px tw:bg-border", className),
|
|
5634
|
-
...props
|
|
5635
|
-
}
|
|
5636
|
-
);
|
|
5637
|
-
var ComboboxGroup = ({ ref, className, children, ...props }) => /* @__PURE__ */ jsx(
|
|
5638
|
-
Combobox$1.Group,
|
|
5639
|
-
{
|
|
5640
|
-
ref,
|
|
5641
|
-
className: cn("tw:flex tw:flex-col tw:gap-0.5", className),
|
|
5642
|
-
...props,
|
|
5643
|
-
children
|
|
5644
|
-
}
|
|
5645
|
-
);
|
|
5646
|
-
var ComboboxGroupLabel = ({ ref, className, ...props }) => /* @__PURE__ */ jsx(
|
|
5647
|
-
Combobox$1.GroupLabel,
|
|
5648
|
-
{
|
|
5649
|
-
...props,
|
|
5650
|
-
ref,
|
|
5651
|
-
className: cn(
|
|
5652
|
-
// Base (argo variant) — soft gray section label.
|
|
5653
|
-
"tw:px-2",
|
|
5654
|
-
"tw:py-1.5",
|
|
5655
|
-
"tw:text-xs",
|
|
5656
|
-
"tw:font-medium",
|
|
5657
|
-
"tw:leading-none",
|
|
5658
|
-
"tw:text-muted-foreground",
|
|
5659
|
-
"tw:group-data-[variant=default]/combobox-content:uppercase",
|
|
5660
|
-
"tw:group-data-[variant=default]/combobox-content:font-semibold",
|
|
5661
|
-
"tw:group-data-[variant=default]/combobox-content:tracking-wider",
|
|
5662
|
-
"tw:group-data-[variant=default]/combobox-content:text-[11px]",
|
|
5663
|
-
"tw:group-data-[variant=default]/combobox-content:text-black",
|
|
5664
|
-
"tw:group-data-[variant=default]/combobox-content:pt-2",
|
|
5665
|
-
"tw:group-data-[variant=default]/combobox-content:px-4",
|
|
5666
|
-
className
|
|
5667
|
-
)
|
|
5668
|
-
}
|
|
5669
|
-
);
|
|
5670
|
-
var ComboboxCollection = ({ ...props }) => /* @__PURE__ */ jsx(Combobox$1.Collection, { "data-slot": "combobox-collection", ...props });
|
|
5671
|
-
var VIRTUALIZE_THRESHOLD = 30;
|
|
5672
|
-
var ESTIMATED_ROW_HEIGHT = 40;
|
|
5673
|
-
var ESTIMATED_LIST_HEIGHT = 320;
|
|
5674
|
-
var Combobox = ({
|
|
5675
|
-
// root props
|
|
5676
|
-
items: _itemsProp,
|
|
5677
|
-
value,
|
|
5678
|
-
defaultValue,
|
|
5679
|
-
onValueChange,
|
|
5680
|
-
itemToStringLabel: itemToStringLabelProp,
|
|
5681
|
-
itemToStringValue,
|
|
5682
|
-
disabled,
|
|
5683
|
-
filter,
|
|
5684
|
-
inputRef,
|
|
5685
|
-
onOpenChangeComplete,
|
|
5686
|
-
isItemEqualToValue: isItemEqualToValueProp,
|
|
5687
|
-
// input props
|
|
5688
|
-
variant,
|
|
5689
|
-
sizing,
|
|
5690
|
-
focusVariant,
|
|
5691
|
-
state,
|
|
5692
|
-
placeholder,
|
|
5693
|
-
allowClear,
|
|
5694
|
-
id,
|
|
5695
|
-
className,
|
|
5696
|
-
// own props
|
|
5697
|
-
empty = "No items",
|
|
5698
|
-
indicator,
|
|
5699
|
-
prefix,
|
|
5700
|
-
virtualized = false,
|
|
5701
|
-
// creatable
|
|
5702
|
-
allowCreate,
|
|
5703
|
-
queryToCreateValue,
|
|
5704
|
-
queryToCreateLabel = defaultQueryToCreateLabel,
|
|
5705
|
-
// own item props
|
|
5706
|
-
itemToDisabled = defaultItemToDisabled,
|
|
5707
|
-
itemToLabel = defaultItemToLabel,
|
|
5708
|
-
itemToIcon = defaultItemToIcon,
|
|
5709
|
-
groupToLabel = defaultGroupToLabel
|
|
5710
|
-
}) => {
|
|
5711
|
-
const closeReasonRef = useRef(
|
|
5712
|
-
"none"
|
|
5713
|
-
);
|
|
5714
|
-
const [inputValue, setInputValue] = useState(() => {
|
|
5715
|
-
const initial = value !== void 0 ? value : defaultValue;
|
|
5716
|
-
if (initial == null) return "";
|
|
5717
|
-
return itemToStringLabelProp?.(initial) ?? toLabel(initial);
|
|
5718
|
-
});
|
|
5719
|
-
useEffect(() => {
|
|
5720
|
-
if (value === void 0) return;
|
|
5721
|
-
const label = value === null ? "" : itemToStringLabelProp?.(value) ?? toLabel(value);
|
|
5722
|
-
setInputValue((prev) => prev === label ? prev : label);
|
|
5723
|
-
}, [value]);
|
|
5724
|
-
const selectedLabel = value == null ? void 0 : itemToStringLabelProp?.(value) ?? toLabel(value);
|
|
5725
|
-
const isShowingSelection = selectedLabel !== void 0 && inputValue === selectedLabel;
|
|
5726
|
-
const query = (isShowingSelection ? "" : inputValue).trim();
|
|
5727
|
-
const queryLower = query.toLowerCase();
|
|
5728
|
-
const itemsProp = _itemsProp ?? [];
|
|
5729
|
-
const sampleItem = itemsProp.flatMap((item) => isGroupItem(item) ? item.items : [item])[0];
|
|
5730
|
-
const [createdItems, setCreatedItems] = useState([]);
|
|
5731
|
-
const allItems = (() => {
|
|
5732
|
-
if (createdItems.length === 0) return itemsProp;
|
|
5733
|
-
if (isGroupItems(itemsProp))
|
|
5734
|
-
return [...itemsProp, { items: createdItems }];
|
|
5735
|
-
return [...itemsProp, ...createdItems];
|
|
5736
|
-
})();
|
|
5737
|
-
const items = (() => {
|
|
5738
|
-
if (!allowCreate || disabled) return allItems;
|
|
5739
|
-
if (!query) return allItems;
|
|
5740
|
-
const exactMatch = allItems.flatMap((item) => isGroupItem(item) ? item.items : [item]).some(
|
|
5741
|
-
(item) => (itemToStringLabelProp?.(item) ?? toLabel(item)).toLowerCase() === queryLower
|
|
5742
|
-
);
|
|
5743
|
-
if (exactMatch) return allItems;
|
|
5744
|
-
const creatable = isGroupItems(itemsProp) ? [{ items: [createCreatableItem(query)] }] : [createCreatableItem(query)];
|
|
5745
|
-
return [...allItems, ...creatable];
|
|
5746
|
-
})();
|
|
5747
|
-
const itemToStringLabel = (value2) => {
|
|
5748
|
-
if (isCreatableItem(value2)) return value2.value;
|
|
5749
|
-
return itemToStringLabelProp?.(value2) ?? toLabel(value2);
|
|
5750
|
-
};
|
|
5751
|
-
const wrappedFilter = isShowingSelection ? () => true : !allowCreate || !filter ? filter : (item, ...args) => isCreatableItem(item) || filter(item, ...args);
|
|
5752
|
-
const wrappedItemToStringValue = !allowCreate || !itemToStringValue ? itemToStringValue : (item) => isCreatableItem(item) ? item.value : itemToStringValue(item);
|
|
5753
|
-
const isItemEqualToValue = (a, b) => {
|
|
5754
|
-
if (isCreatableItem(a) || isCreatableItem(b)) return toValueKey(a) === toValueKey(b);
|
|
5755
|
-
return isItemEqualToValueProp?.(a, b) ?? Object.is(a, b);
|
|
5756
|
-
};
|
|
5757
|
-
const handleInputValueChange = (value2, { reason }) => {
|
|
5758
|
-
if (["input-clear", "none"].includes(reason) && ["item-press", "creatable-item-press"].includes(closeReasonRef.current)) {
|
|
5759
|
-
closeReasonRef.current = "none";
|
|
5760
|
-
return;
|
|
5761
|
-
}
|
|
5762
|
-
if (reason === "none" && closeReasonRef.current == "outside-click") {
|
|
5763
|
-
closeReasonRef.current = "none";
|
|
5764
|
-
setInputValue(value2);
|
|
5765
|
-
return;
|
|
5766
|
-
}
|
|
5767
|
-
setInputValue(value2);
|
|
5768
|
-
};
|
|
5769
|
-
const handleOnOpenChangeComplete = (open) => {
|
|
5770
|
-
onOpenChangeComplete?.(open);
|
|
5771
|
-
if (open) return;
|
|
5772
|
-
if (closeReasonRef.current !== "none") return;
|
|
5773
|
-
closeReasonRef.current = "outside-click";
|
|
5774
|
-
};
|
|
5775
|
-
const handleOnValueChange = (next, event) => {
|
|
5776
|
-
if (isCreatableItem(next)) {
|
|
5777
|
-
const newValue = defaultToCreateValue(next.value, sampleItem, queryToCreateValue);
|
|
5778
|
-
closeReasonRef.current = "creatable-item-press";
|
|
5779
|
-
setCreatedItems((prev) => [...prev, newValue]);
|
|
5780
|
-
onValueChange?.(newValue, event);
|
|
5781
|
-
return;
|
|
5782
|
-
}
|
|
5783
|
-
closeReasonRef.current = "item-press";
|
|
5784
|
-
onValueChange?.(next, event);
|
|
5785
|
-
};
|
|
5786
|
-
const [listElement, setListElement] = useState(null);
|
|
5787
|
-
const isGrouped = isGroupItems(allItems);
|
|
5788
|
-
const shouldVirtualize = !isGrouped && (virtualized === true || virtualized === "auto" && allItems.length > VIRTUALIZE_THRESHOLD);
|
|
5789
|
-
const matchesQuery = (item) => {
|
|
5790
|
-
if (isCreatableItem(item)) return true;
|
|
5791
|
-
if (!query) return true;
|
|
5792
|
-
if (filter) return !!filter(item, query, (value2) => itemToStringLabel(value2) ?? toLabel(value2));
|
|
5793
|
-
return (itemToStringLabel(item) ?? toLabel(item)).toLowerCase().includes(queryLower);
|
|
5794
|
-
};
|
|
5795
|
-
const virtualItems = shouldVirtualize ? items.filter(matchesQuery) : [];
|
|
5796
|
-
const virtualizer = useVirtualizer({
|
|
5797
|
-
count: virtualItems.length,
|
|
5798
|
-
getScrollElement: () => listElement,
|
|
5799
|
-
estimateSize: () => ESTIMATED_ROW_HEIGHT,
|
|
5800
|
-
overscan: 12,
|
|
5801
|
-
enabled: shouldVirtualize,
|
|
5802
|
-
// Seed a viewport height so rows paint on the first frame. Without it the list measures 0 until
|
|
5803
|
-
// the ResizeObserver fires (a frame later), which renders an empty popup on open.
|
|
5804
|
-
initialRect: { width: 0, height: ESTIMATED_LIST_HEIGHT }
|
|
5805
|
-
});
|
|
5806
|
-
const renderItem = (item, index) => {
|
|
5807
|
-
if (isCreatableItem(item)) {
|
|
5808
|
-
return /* @__PURE__ */ jsx(Combobox.Item, { index, value: item, icon: /* @__PURE__ */ jsx(Plus, {}), children: queryToCreateLabel(item.value) });
|
|
5809
|
-
}
|
|
5810
|
-
return /* @__PURE__ */ jsx(
|
|
5811
|
-
Combobox.Item,
|
|
5812
|
-
{
|
|
5813
|
-
index,
|
|
5814
|
-
value: item,
|
|
5815
|
-
indicator,
|
|
5816
|
-
icon: itemToIcon(item),
|
|
5817
|
-
disabled: itemToDisabled(item),
|
|
5818
|
-
children: itemToLabel(item)
|
|
5819
|
-
}
|
|
5820
|
-
);
|
|
5821
|
-
};
|
|
5822
|
-
const rowStyle = (offset) => ({
|
|
5823
|
-
position: "absolute",
|
|
5824
|
-
top: 0,
|
|
5825
|
-
left: 0,
|
|
5826
|
-
width: "100%",
|
|
5827
|
-
transform: `translateY(${offset}px)`
|
|
5828
|
-
});
|
|
5829
|
-
return /* @__PURE__ */ jsxs(
|
|
5830
|
-
Combobox$1.Root,
|
|
5831
|
-
{
|
|
5832
|
-
items: shouldVirtualize ? virtualItems : items,
|
|
5833
|
-
value,
|
|
5834
|
-
defaultValue,
|
|
5835
|
-
filter: shouldVirtualize ? null : wrappedFilter,
|
|
5836
|
-
onValueChange: handleOnValueChange,
|
|
5837
|
-
itemToStringLabel,
|
|
5838
|
-
isItemEqualToValue,
|
|
5839
|
-
itemToStringValue: wrappedItemToStringValue,
|
|
5840
|
-
onOpenChangeComplete: handleOnOpenChangeComplete,
|
|
5841
|
-
disabled,
|
|
5842
|
-
inputRef,
|
|
5843
|
-
inputValue,
|
|
5844
|
-
onInputValueChange: handleInputValueChange,
|
|
5845
|
-
virtualized: shouldVirtualize,
|
|
5846
|
-
onItemHighlighted: (_, details) => {
|
|
5847
|
-
if (shouldVirtualize && details.reason === "keyboard") {
|
|
5848
|
-
virtualizer.scrollToIndex(details.index);
|
|
5849
|
-
}
|
|
5850
|
-
},
|
|
5851
|
-
children: [
|
|
5852
|
-
/* @__PURE__ */ jsxs(
|
|
5853
|
-
ComboboxInputGroup,
|
|
5854
|
-
{
|
|
5855
|
-
variant,
|
|
5856
|
-
sizing,
|
|
5857
|
-
state,
|
|
5858
|
-
focusVariant,
|
|
5859
|
-
className,
|
|
5860
|
-
children: [
|
|
5861
|
-
prefix && /* @__PURE__ */ jsx(InputGroup.Addon, { align: "inline-start", children: prefix }),
|
|
5862
|
-
/* @__PURE__ */ jsx(ComboboxInput, { id, placeholder, disabled }),
|
|
5863
|
-
/* @__PURE__ */ jsxs(InputGroup.Addon, { align: "inline-end", children: [
|
|
5864
|
-
allowClear && /* @__PURE__ */ jsx(InputGroup.Button, { asChild: true, "aria-label": "Clear", disabled, children: /* @__PURE__ */ jsx(Combobox$1.Clear, { children: /* @__PURE__ */ jsx(X, { className: "tw:size-4" }) }) }),
|
|
5865
|
-
/* @__PURE__ */ jsx(InputGroup.Button, { disabled, asChild: true, "aria-label": "Open combobox", children: /* @__PURE__ */ jsx(Combobox$1.Trigger, { children: /* @__PURE__ */ jsx(ChevronDown, { className: "tw:size-4" }) }) })
|
|
5866
|
-
] })
|
|
5867
|
-
]
|
|
5868
|
-
}
|
|
5869
|
-
),
|
|
5870
|
-
/* @__PURE__ */ jsxs(ComboboxContent, { children: [
|
|
5871
|
-
/* @__PURE__ */ jsx(ComboboxEmpty, { children: empty }),
|
|
5872
|
-
shouldVirtualize ? /* @__PURE__ */ jsx(ComboboxList, { ref: setListElement, children: /* @__PURE__ */ jsx(
|
|
5873
|
-
"div",
|
|
5874
|
-
{
|
|
5875
|
-
style: {
|
|
5876
|
-
position: "relative",
|
|
5877
|
-
width: "100%",
|
|
5878
|
-
height: `${virtualizer.getTotalSize()}px`
|
|
5879
|
-
},
|
|
5880
|
-
children: virtualizer.getVirtualItems().map((row) => {
|
|
5881
|
-
const item = virtualItems[row.index];
|
|
5882
|
-
if (item === void 0) return null;
|
|
5883
|
-
return /* @__PURE__ */ jsx(
|
|
5884
|
-
"div",
|
|
5885
|
-
{
|
|
5886
|
-
"data-index": row.index,
|
|
5887
|
-
ref: virtualizer.measureElement,
|
|
5888
|
-
style: rowStyle(row.start),
|
|
5889
|
-
children: renderItem(item, row.index)
|
|
5890
|
-
},
|
|
5891
|
-
row.key
|
|
5892
|
-
);
|
|
5893
|
-
})
|
|
5894
|
-
}
|
|
5895
|
-
) }) : /* @__PURE__ */ jsx(ComboboxList, { children: (itemOrGroup) => {
|
|
5896
|
-
if (isCreatableItem(itemOrGroup))
|
|
5897
|
-
return /* @__PURE__ */ jsx(Combobox.Item, { value: itemOrGroup, icon: /* @__PURE__ */ jsx(Plus, {}), children: queryToCreateLabel(itemOrGroup.value) });
|
|
5898
|
-
if (isGroupItem(itemOrGroup)) {
|
|
5899
|
-
const maybeCreatable = itemOrGroup.items[0];
|
|
5900
|
-
if (isCreatableItem(maybeCreatable)) {
|
|
5901
|
-
return /* @__PURE__ */ jsx(Combobox.Item, { value: maybeCreatable, icon: /* @__PURE__ */ jsx(Plus, {}), children: queryToCreateLabel(maybeCreatable.value) });
|
|
5902
|
-
}
|
|
5903
|
-
const groupLabel = groupToLabel(itemOrGroup);
|
|
5904
|
-
return /* @__PURE__ */ jsxs(Combobox.Group, { items: itemOrGroup.items, children: [
|
|
5905
|
-
groupLabel && /* @__PURE__ */ jsx(Combobox.GroupLabel, { children: groupLabel }),
|
|
5906
|
-
/* @__PURE__ */ jsx(Combobox.GroupList, { children: (item) => renderItem(item) })
|
|
5907
|
-
] });
|
|
5908
|
-
}
|
|
5909
|
-
return renderItem(itemOrGroup);
|
|
5910
|
-
} })
|
|
5911
|
-
] })
|
|
5912
|
-
]
|
|
5913
|
-
}
|
|
5914
|
-
);
|
|
5915
|
-
};
|
|
5916
|
-
Combobox.Root = ComboboxRoot;
|
|
5917
|
-
Combobox.InputGroup = ComboboxInputGroup;
|
|
5918
|
-
Combobox.Input = ComboboxInput;
|
|
5919
|
-
Combobox.Content = ComboboxContent;
|
|
5920
|
-
Combobox.List = ComboboxList;
|
|
5921
|
-
Combobox.Item = ComboboxItem;
|
|
5922
|
-
Combobox.Empty = ComboboxEmpty;
|
|
5923
|
-
Combobox.Value = Combobox$1.Value;
|
|
5924
|
-
Combobox.Separator = ComboboxSeparator;
|
|
5925
|
-
Combobox.Group = ComboboxGroup;
|
|
5926
|
-
Combobox.GroupLabel = ComboboxGroupLabel;
|
|
5927
|
-
Combobox.GroupList = ComboboxCollection;
|
|
5928
|
-
Combobox.Chips = ComboboxChips;
|
|
5929
|
-
|
|
5930
|
-
// src/blocks/DateInput/helpers.ts
|
|
5931
|
-
var formatDate = (date, inputValue) => {
|
|
5932
|
-
if (!date) {
|
|
5933
|
-
return inputValue;
|
|
5934
|
-
}
|
|
5935
|
-
return date.toLocaleDateString();
|
|
5936
|
-
};
|
|
5937
|
-
var datePartOrder = new Intl.DateTimeFormat().formatToParts(new Date(2e3, 0, 2)).filter(
|
|
5938
|
-
(p) => p.type === "day" || p.type === "month" || p.type === "year"
|
|
5939
|
-
).map((p) => p.type);
|
|
5940
|
-
var parseDate = (value) => {
|
|
5941
|
-
if (!value.trim()) return null;
|
|
5942
|
-
const nums = value.match(/\d+/g)?.map(Number);
|
|
5943
|
-
if (nums && nums.length >= 3) {
|
|
5944
|
-
const parts = Object.fromEntries(datePartOrder.map((type, i) => [type, nums[i]]));
|
|
5945
|
-
const year = parts.year;
|
|
5946
|
-
const month = parts.month;
|
|
5947
|
-
const day = parts.day;
|
|
5948
|
-
if (year != null && month != null && day != null && month >= 1 && month <= 12 && day >= 1 && day <= 31) {
|
|
5949
|
-
const date = new Date(year, month - 1, day);
|
|
5950
|
-
if (date.getFullYear() === year && date.getMonth() === month - 1 && date.getDate() === day) {
|
|
5951
|
-
return date;
|
|
5952
|
-
}
|
|
5953
|
-
}
|
|
5954
|
-
}
|
|
5955
|
-
const isoMatch = value.match(/^(\d{4})-(\d{1,2})-(\d{1,2})$/);
|
|
5956
|
-
if (isoMatch) {
|
|
5957
|
-
const y = Number(isoMatch[1]);
|
|
5958
|
-
const m = Number(isoMatch[2]) - 1;
|
|
5959
|
-
const d = Number(isoMatch[3]);
|
|
5960
|
-
const date = new Date(y, m, d);
|
|
5961
|
-
if (date.getFullYear() === y && date.getMonth() === m && date.getDate() === d) {
|
|
5962
|
-
return date;
|
|
5963
|
-
}
|
|
5964
|
-
return null;
|
|
5965
|
-
}
|
|
5966
|
-
const fallback = new Date(value);
|
|
5967
|
-
return isNaN(fallback.getTime()) ? null : fallback;
|
|
5968
|
-
};
|
|
5969
|
-
var DateInput = ({
|
|
5970
|
-
ref,
|
|
5971
|
-
// group props
|
|
5972
|
-
state,
|
|
5973
|
-
variant,
|
|
5974
|
-
focusVariant,
|
|
5975
|
-
sizing,
|
|
5976
|
-
className,
|
|
5977
|
-
// own props
|
|
5978
|
-
value,
|
|
5979
|
-
defaultValue,
|
|
5980
|
-
onValueChange,
|
|
5981
|
-
onValueBlur,
|
|
5982
|
-
onChange,
|
|
5983
|
-
onBlur,
|
|
5984
|
-
onFocus,
|
|
5985
|
-
allowClear = false,
|
|
5986
|
-
disabledDays,
|
|
5987
|
-
endMonth,
|
|
5988
|
-
startMonth,
|
|
5989
|
-
// input props
|
|
5990
|
-
disabled,
|
|
5991
|
-
readOnly,
|
|
5992
|
-
placeholder = "Select a date",
|
|
5993
|
-
...restInputProps
|
|
5994
|
-
}) => {
|
|
5995
|
-
const inputRef = useRef(null);
|
|
5996
|
-
const [inputValue, setInputValue] = useState("");
|
|
5997
|
-
const [hasFocus, setHasFocus] = useState(false);
|
|
5998
|
-
const [isOpen, setIsOpen] = useState(false);
|
|
5999
|
-
const [month, setMonth2] = useState(/* @__PURE__ */ new Date());
|
|
6000
|
-
const [currentValue, setCurrentValue] = useControllableState({
|
|
6001
|
-
prop: value,
|
|
6002
|
-
defaultProp: defaultValue ?? null
|
|
6003
|
-
});
|
|
6004
|
-
const canClear = allowClear && !!currentValue && !disabled && !readOnly;
|
|
6005
|
-
const showPicker = !disabled && !readOnly;
|
|
6006
|
-
const handleChange = (event) => {
|
|
6007
|
-
const newValue = event.target.value;
|
|
6008
|
-
setInputValue(newValue);
|
|
6009
|
-
onChange?.(event);
|
|
6010
|
-
const parsedDate = parseDate(newValue);
|
|
6011
|
-
if (parsedDate !== null || !newValue.trim()) {
|
|
6012
|
-
onValueChange?.(parsedDate);
|
|
6013
|
-
}
|
|
6014
|
-
};
|
|
6015
|
-
const handleFocus = (event) => {
|
|
6016
|
-
const formatted = formatDate(currentValue, "");
|
|
6017
|
-
setInputValue(formatted);
|
|
6018
|
-
setHasFocus(true);
|
|
6019
|
-
onFocus?.(event);
|
|
6020
|
-
};
|
|
6021
|
-
const handleBlur = (event) => {
|
|
6022
|
-
setHasFocus(false);
|
|
6023
|
-
onBlur?.(event);
|
|
6024
|
-
const text = event.target.value;
|
|
6025
|
-
const parsedDate = text === formatDate(currentValue, "") ? currentValue : parseDate(text);
|
|
6026
|
-
onValueBlur?.(parsedDate);
|
|
6027
|
-
setCurrentValue(parsedDate);
|
|
6028
|
-
};
|
|
6029
|
-
const handleDatePickerChange = (newValue) => {
|
|
6030
|
-
const dateValue = newValue ?? null;
|
|
6031
|
-
setCurrentValue(dateValue);
|
|
6032
|
-
onValueChange?.(dateValue);
|
|
6033
|
-
setHasFocus(false);
|
|
6034
|
-
setIsOpen(false);
|
|
6035
|
-
};
|
|
6036
|
-
const handleClear = () => {
|
|
6037
|
-
if (!inputRef.current) return;
|
|
6038
|
-
inputRef.current.value = "";
|
|
6039
|
-
setInputValue("");
|
|
6040
|
-
setCurrentValue(null);
|
|
6041
|
-
onValueChange?.(null);
|
|
6042
|
-
onChange?.(createChangeInputEvent(inputRef.current));
|
|
6043
|
-
};
|
|
6044
|
-
const handleOpenChange = (open) => {
|
|
6045
|
-
if (open) {
|
|
6046
|
-
setMonth2(currentValue ?? /* @__PURE__ */ new Date());
|
|
6047
|
-
}
|
|
6048
|
-
setIsOpen(open);
|
|
6049
|
-
};
|
|
6050
|
-
const displayValue = hasFocus ? inputValue : formatDate(currentValue, "");
|
|
6051
|
-
return /* @__PURE__ */ jsxs(
|
|
6052
|
-
InputGroup,
|
|
6053
|
-
{
|
|
6054
|
-
state,
|
|
6055
|
-
variant,
|
|
6056
|
-
sizing,
|
|
6057
|
-
focusVariant,
|
|
6058
|
-
className,
|
|
6059
|
-
children: [
|
|
6060
|
-
/* @__PURE__ */ jsx(
|
|
6061
|
-
InputGroup.Input,
|
|
6062
|
-
{
|
|
6063
|
-
...restInputProps,
|
|
6064
|
-
ref: mergeRefs(ref ?? null, inputRef),
|
|
6065
|
-
type: "text",
|
|
6066
|
-
value: displayValue,
|
|
6067
|
-
placeholder,
|
|
6068
|
-
onChange: handleChange,
|
|
6069
|
-
onFocus: handleFocus,
|
|
6070
|
-
onBlur: handleBlur,
|
|
6071
|
-
disabled,
|
|
6072
|
-
readOnly
|
|
6073
|
-
}
|
|
6074
|
-
),
|
|
6075
|
-
(canClear || showPicker) && /* @__PURE__ */ jsxs(InputGroup.Addon, { align: "inline-end", children: [
|
|
6076
|
-
canClear && /* @__PURE__ */ jsx(
|
|
6077
|
-
InputGroup.Button,
|
|
6078
|
-
{
|
|
6079
|
-
"aria-label": "Clear date",
|
|
6080
|
-
onMouseDown: (event) => event.preventDefault(),
|
|
6081
|
-
onClick: handleClear,
|
|
6082
|
-
children: /* @__PURE__ */ jsx(X, { className: "tw:size-4" })
|
|
6083
|
-
}
|
|
6084
|
-
),
|
|
6085
|
-
showPicker && /* @__PURE__ */ jsx(
|
|
6086
|
-
DatePicker,
|
|
6087
|
-
{
|
|
6088
|
-
disabled: disabledDays,
|
|
6089
|
-
endMonth,
|
|
6090
|
-
mode: "single",
|
|
6091
|
-
month,
|
|
6092
|
-
onMonthChange: setMonth2,
|
|
6093
|
-
onOpenChange: handleOpenChange,
|
|
6094
|
-
onSelect: handleDatePickerChange,
|
|
6095
|
-
open: isOpen,
|
|
6096
|
-
selected: currentValue ?? void 0,
|
|
6097
|
-
startMonth,
|
|
6098
|
-
children: /* @__PURE__ */ jsx(InputGroup.Button, { "aria-label": "Select Date", children: /* @__PURE__ */ jsx(Calendar, { className: "tw:size-4" }) })
|
|
6099
|
-
}
|
|
6100
|
-
)
|
|
6101
|
-
] })
|
|
6102
|
-
]
|
|
6103
|
-
}
|
|
6104
|
-
);
|
|
6105
|
-
};
|
|
6106
|
-
var PasswordInput = ({
|
|
6107
|
-
ref,
|
|
6108
|
-
// group props
|
|
6109
|
-
state,
|
|
6110
|
-
variant,
|
|
6111
|
-
focusVariant,
|
|
6112
|
-
sizing,
|
|
6113
|
-
className,
|
|
6114
|
-
// own props
|
|
6115
|
-
value: valueProp,
|
|
6116
|
-
defaultValue,
|
|
6117
|
-
onValueChange,
|
|
6118
|
-
onValueBlur,
|
|
6119
|
-
onChange,
|
|
6120
|
-
onBlur,
|
|
6121
|
-
onKeyDown,
|
|
6122
|
-
onKeyUp,
|
|
6123
|
-
onMouseDown,
|
|
6124
|
-
allowClear = false,
|
|
6125
|
-
allowPasswordToggle = false,
|
|
6126
|
-
passwordToggleLabel,
|
|
6127
|
-
autoComplete = "new-password",
|
|
6128
|
-
defaultPasswordVisibility = false,
|
|
6129
|
-
// input props
|
|
6130
|
-
disabled,
|
|
6131
|
-
readOnly,
|
|
6132
|
-
...restInputProps
|
|
6133
|
-
}) => {
|
|
6134
|
-
const inputRef = useRef(null);
|
|
6135
|
-
const [value, setValue] = useControllableState({
|
|
6136
|
-
// A `null` controlled value stays controlled (coerced to ''); `undefined` is uncontrolled.
|
|
6137
|
-
prop: valueProp === null ? "" : valueProp,
|
|
6138
|
-
defaultProp: defaultValue ?? "",
|
|
6139
|
-
onChange: onValueChange
|
|
6140
|
-
});
|
|
6141
|
-
const [capsLock, setCapsLock] = useState(false);
|
|
6142
|
-
const [isPasswordVisible, setIsPasswordVisible] = useState(defaultPasswordVisibility);
|
|
6143
|
-
const canClear = allowClear && !!value && !disabled && !readOnly;
|
|
6144
|
-
const handleChange = (event) => {
|
|
6145
|
-
setValue(event.target.value);
|
|
6146
|
-
onChange?.(event);
|
|
6147
|
-
};
|
|
6148
|
-
const handleBlur = (event) => {
|
|
6149
|
-
if (capsLock) setCapsLock(false);
|
|
6150
|
-
onValueBlur?.(event.target.value);
|
|
6151
|
-
onBlur?.(event);
|
|
6152
|
-
};
|
|
6153
|
-
const handleKeyDown = (event) => {
|
|
6154
|
-
const isOn = event.getModifierState("CapsLock");
|
|
6155
|
-
if (isOn !== capsLock) setCapsLock(isOn);
|
|
6156
|
-
onKeyDown?.(event);
|
|
6157
|
-
};
|
|
6158
|
-
const handleKeyUp = (event) => {
|
|
6159
|
-
const isOn = event.getModifierState("CapsLock");
|
|
6160
|
-
if (isOn !== capsLock) setCapsLock(isOn);
|
|
6161
|
-
onKeyUp?.(event);
|
|
6162
|
-
};
|
|
6163
|
-
const handleMouseDown = (event) => {
|
|
6164
|
-
const isOn = event.getModifierState("CapsLock");
|
|
6165
|
-
if (isOn !== capsLock) setCapsLock(isOn);
|
|
6166
|
-
onMouseDown?.(event);
|
|
6167
|
-
};
|
|
6168
|
-
const handleClear = () => {
|
|
6169
|
-
if (!inputRef.current) return;
|
|
6170
|
-
inputRef.current.value = "";
|
|
6171
|
-
setValue("");
|
|
6172
|
-
onChange?.(createChangeInputEvent(inputRef.current));
|
|
6173
|
-
};
|
|
6174
|
-
const handleTogglePasswordVisibility = () => {
|
|
6175
|
-
setIsPasswordVisible((prev) => !prev);
|
|
6176
|
-
};
|
|
6177
|
-
return /* @__PURE__ */ jsxs(
|
|
6178
|
-
InputGroup,
|
|
6179
|
-
{
|
|
6180
|
-
state,
|
|
6181
|
-
variant,
|
|
6182
|
-
sizing,
|
|
6183
|
-
focusVariant,
|
|
6184
|
-
className,
|
|
6185
|
-
children: [
|
|
6186
|
-
/* @__PURE__ */ jsx(
|
|
6187
|
-
InputGroup.Input,
|
|
6188
|
-
{
|
|
6189
|
-
...restInputProps,
|
|
6190
|
-
ref: mergeRefs(ref ?? null, inputRef),
|
|
6191
|
-
type: isPasswordVisible ? "text" : "password",
|
|
6192
|
-
autoComplete,
|
|
6193
|
-
value,
|
|
6194
|
-
onChange: handleChange,
|
|
6195
|
-
onBlur: handleBlur,
|
|
6196
|
-
onKeyDown: handleKeyDown,
|
|
6197
|
-
onKeyUp: handleKeyUp,
|
|
6198
|
-
onMouseDown: handleMouseDown,
|
|
6199
|
-
disabled,
|
|
6200
|
-
readOnly
|
|
6201
|
-
}
|
|
6202
|
-
),
|
|
6203
|
-
(capsLock || canClear || allowPasswordToggle) && /* @__PURE__ */ jsxs(InputGroup.Addon, { align: "inline-end", children: [
|
|
6204
|
-
capsLock && /* @__PURE__ */ jsx(ArrowBigUpDash, { className: "tw:size-4 tw:text-primary", children: /* @__PURE__ */ jsx("title", { children: "Caps Lock is on" }) }),
|
|
6205
|
-
canClear && /* @__PURE__ */ jsx(
|
|
6206
|
-
InputGroup.Button,
|
|
6207
|
-
{
|
|
6208
|
-
"aria-label": "Clear password",
|
|
6209
|
-
onMouseDown: (event) => event.preventDefault(),
|
|
6210
|
-
onClick: handleClear,
|
|
6211
|
-
children: /* @__PURE__ */ jsx(X, { className: "tw:size-4" })
|
|
6212
|
-
}
|
|
6213
|
-
),
|
|
6214
|
-
allowPasswordToggle && /* @__PURE__ */ jsx(
|
|
6215
|
-
InputGroup.Button,
|
|
6216
|
-
{
|
|
6217
|
-
"aria-label": `${isPasswordVisible ? "Hide password" : "Show password"}${passwordToggleLabel ? `: ${passwordToggleLabel}` : ""}`,
|
|
6218
|
-
onMouseDown: (event) => event.preventDefault(),
|
|
6219
|
-
onClick: handleTogglePasswordVisibility,
|
|
6220
|
-
children: isPasswordVisible ? /* @__PURE__ */ jsx(EyeOff, { className: "tw:size-4" }) : /* @__PURE__ */ jsx(Eye, { className: "tw:size-4" })
|
|
6221
|
-
}
|
|
6222
|
-
)
|
|
6223
|
-
] })
|
|
6224
|
-
]
|
|
6225
|
-
}
|
|
6226
|
-
);
|
|
6227
|
-
};
|
|
6228
|
-
var CollapsibleContent = ({ ref, className, children, ...props }) => /* @__PURE__ */ jsx(
|
|
6229
|
-
Content$1,
|
|
6230
|
-
{
|
|
6231
|
-
ref,
|
|
6232
|
-
className: cn(
|
|
6233
|
-
"tw:data-[state=closed]:animate-collapsible-up",
|
|
6234
|
-
"tw:data-[state=open]:animate-collapsible-down",
|
|
6235
|
-
className
|
|
6236
|
-
),
|
|
6237
|
-
...props,
|
|
6238
|
-
children
|
|
6239
|
-
}
|
|
6240
|
-
);
|
|
6241
|
-
var Collapsible = (props) => /* @__PURE__ */ jsx(Root$2, { ...props });
|
|
6242
|
-
Collapsible.Trigger = CollapsibleTrigger;
|
|
6243
|
-
Collapsible.Content = CollapsibleContent;
|
|
6244
|
-
var AlertAction = ({ ref, className, asChild = false, ...props }) => {
|
|
6245
|
-
const Comp = asChild ? Slot : "div";
|
|
6246
|
-
return /* @__PURE__ */ jsx(
|
|
6247
|
-
Comp,
|
|
6248
|
-
{
|
|
6249
|
-
...props,
|
|
6250
|
-
ref,
|
|
6251
|
-
className: cn(
|
|
6252
|
-
"tw:col-start-3",
|
|
6253
|
-
"tw:row-start-1",
|
|
6254
|
-
"tw:self-start",
|
|
6255
|
-
"tw:flex",
|
|
6256
|
-
"tw:gap-2",
|
|
6257
|
-
className
|
|
6258
|
-
)
|
|
6259
|
-
}
|
|
6260
|
-
);
|
|
6261
|
-
};
|
|
6262
|
-
var AlertCollapsibleIcon = ({ open }) => /* @__PURE__ */ jsx(Tooltip, { placement: "top", tooltip: open ? "Collapse alert" : "Expand alert", triggerAsChild: true, children: /* @__PURE__ */ jsx(
|
|
6263
|
-
ChevronDown,
|
|
6264
|
-
{
|
|
6265
|
-
className: cn(
|
|
6266
|
-
"tw:mt-px",
|
|
6267
|
-
"tw:size-5",
|
|
6268
|
-
"tw:text-neutral-400",
|
|
6269
|
-
"tw:group-data-[state=open]/alert:rotate-180",
|
|
6270
|
-
// Legacy uses the fixed categorical hover scales; argo uses the themeable status tokens.
|
|
6271
|
-
"tw:group-data-[variant=info]/alert:group-hover:text-blue-600",
|
|
6272
|
-
"tw:group-data-[variant=info]/alert:group-data-[argo=true]/alert:group-hover:text-info",
|
|
6273
|
-
"tw:group-data-[variant=warning]/alert:group-hover:text-warning-600",
|
|
6274
|
-
"tw:group-data-[variant=warning]/alert:group-data-[argo=true]/alert:group-hover:text-warning",
|
|
6275
|
-
"tw:group-data-[variant=error]/alert:group-hover:text-error-600",
|
|
6276
|
-
"tw:group-data-[variant=error]/alert:group-data-[argo=true]/alert:group-hover:text-destructive",
|
|
6277
|
-
"tw:group-data-[variant=success]/alert:group-hover:text-green-600",
|
|
6278
|
-
"tw:group-data-[variant=success]/alert:group-data-[argo=true]/alert:group-hover:text-success"
|
|
6279
|
-
)
|
|
6280
|
-
}
|
|
6281
|
-
) });
|
|
6282
|
-
var AlertDescription = ({ ref, children, className, ...rest }) => /* @__PURE__ */ jsx(
|
|
6283
|
-
"div",
|
|
6284
|
-
{
|
|
6285
|
-
...rest,
|
|
6286
|
-
ref,
|
|
6287
|
-
className: cn(
|
|
6288
|
-
"tw:col-start-2",
|
|
6289
|
-
"tw:group-has-[[data-slot=alert-title]]/alert:col-end-[-1]",
|
|
6290
|
-
// spacer before description when a title exists (pseudo-element so it animates with Collapsible)
|
|
6291
|
-
"tw:group-has-[[data-slot=alert-title]]/alert:before:block",
|
|
6292
|
-
"tw:group-has-[[data-slot=alert-title]]/alert:before:h-4",
|
|
6293
|
-
"tw:group-has-[[data-slot=alert-title]]/alert:before:content-['']",
|
|
6294
|
-
"tw:break-anywhere",
|
|
6295
|
-
// Default size for nested Lucide icons; callers can override on the icon.
|
|
6296
|
-
"tw:[&_svg.lucide:not([class*='tw:size-'])]:size-4",
|
|
6297
|
-
"tw:[&_svg]:shrink-0",
|
|
6298
|
-
className
|
|
6299
|
-
),
|
|
6300
|
-
children
|
|
6301
|
-
}
|
|
6302
|
-
);
|
|
6303
|
-
var VARIANT_ICONS = {
|
|
6304
|
-
info: /* @__PURE__ */ jsx(Info, {}),
|
|
6305
|
-
warning: /* @__PURE__ */ jsx(AlertTriangle, {}),
|
|
6306
|
-
error: /* @__PURE__ */ jsx(AlertTriangle, {}),
|
|
6307
|
-
success: /* @__PURE__ */ jsx(CircleCheck, {})
|
|
6308
|
-
};
|
|
6309
|
-
var AlertIcon = ({ variant, icon, className, ...rest }) => /* @__PURE__ */ jsx(
|
|
6310
|
-
"span",
|
|
6311
|
-
{
|
|
6312
|
-
...rest,
|
|
6313
|
-
"data-slot": "alert-icon",
|
|
6314
|
-
className: cn(
|
|
6315
|
-
"tw:inline-flex",
|
|
6316
|
-
"tw:items-center",
|
|
6317
|
-
"tw:justify-center",
|
|
6318
|
-
"tw:self-start",
|
|
6319
|
-
"tw:p-0.5",
|
|
6320
|
-
'tw:[&_svg:not([class*="tw:size-"])]:size-4',
|
|
6321
|
-
// Legacy uses the fixed categorical icon scales; argo uses the themeable status tokens.
|
|
6322
|
-
"tw:group-data-[variant=info]/alert:text-blue-500",
|
|
6323
|
-
"tw:group-data-[variant=info]/alert:group-data-[argo=true]/alert:text-info",
|
|
6324
|
-
"tw:group-data-[variant=warning]/alert:text-warning-500",
|
|
6325
|
-
"tw:group-data-[variant=warning]/alert:group-data-[argo=true]/alert:text-warning",
|
|
6326
|
-
"tw:group-data-[variant=error]/alert:text-error-500",
|
|
6327
|
-
"tw:group-data-[variant=error]/alert:group-data-[argo=true]/alert:text-destructive",
|
|
6328
|
-
"tw:group-data-[variant=success]/alert:text-green-500",
|
|
6329
|
-
"tw:group-data-[variant=success]/alert:group-data-[argo=true]/alert:text-success",
|
|
6330
|
-
className
|
|
6331
|
-
),
|
|
6332
|
-
children: icon ?? VARIANT_ICONS[variant]
|
|
6333
|
-
}
|
|
6334
|
-
);
|
|
6335
|
-
var AlertRoot = ({ ref, children, className, variant, ...rest }) => {
|
|
6336
|
-
const renderArgo = useArgoDesign();
|
|
6337
|
-
return /* @__PURE__ */ jsx(
|
|
6338
|
-
"div",
|
|
6339
|
-
{
|
|
6340
|
-
...rest,
|
|
6341
|
-
ref,
|
|
6342
|
-
"data-variant": variant,
|
|
6343
|
-
"data-argo": renderArgo,
|
|
6344
|
-
className: cn(
|
|
6345
|
-
"tw:group/alert",
|
|
6346
|
-
// layout
|
|
6347
|
-
"tw:grid",
|
|
6348
|
-
"tw:grid-cols-[0_1fr_auto]",
|
|
6349
|
-
"tw:has-[[data-slot=alert-icon]]:grid-cols-[auto_1fr_auto]",
|
|
6350
|
-
"tw:has-[[data-slot=alert-icon]]:gap-x-2",
|
|
6351
|
-
// fonts
|
|
6352
|
-
"tw:text-sm",
|
|
6353
|
-
// Legacy keeps the fixed neutral text; argo uses the semantic foreground
|
|
6354
|
-
// so the alert flips with the brand's light/dark palette (the categorical
|
|
6355
|
-
// variant tint stays — only the text token becomes brand-aware).
|
|
6356
|
-
"tw:text-neutral-800",
|
|
6357
|
-
"tw:data-[argo=true]:text-foreground",
|
|
6358
|
-
"tw:text-left",
|
|
6359
|
-
"tw:p-4",
|
|
6360
|
-
// border — legacy keeps a fixed radius; argo follows the brand radius token.
|
|
6361
|
-
"tw:rounded",
|
|
6362
|
-
"tw:data-[argo=true]:rounded-[var(--radius-lg,0.25rem)]",
|
|
6363
|
-
"tw:border",
|
|
6364
|
-
"tw:border-solid",
|
|
6365
|
-
// Variant tint + border. Legacy keeps the fixed categorical scales (solid
|
|
6366
|
-
// pastel tint); argo uses the brand-overridable status tokens (bg at 10%,
|
|
6367
|
-
// border at 25%) so status re-skins with the brand. The argo tokens carry
|
|
6368
|
-
// AA-legible defaults, so the variant icon (AlertIcon, full-strength
|
|
6369
|
-
// `tw:text-<role>`) clears ≥4.5:1 on the tint in both light and dark.
|
|
6370
|
-
"tw:data-[variant=info]:bg-blue-100",
|
|
6371
|
-
"tw:data-[variant=info]:border-blue-200",
|
|
6372
|
-
"tw:data-[variant=info]:data-[argo=true]:bg-info/10",
|
|
6373
|
-
"tw:data-[variant=info]:data-[argo=true]:border-info/25",
|
|
6374
|
-
"tw:data-[variant=warning]:bg-warning-100",
|
|
6375
|
-
"tw:data-[variant=warning]:border-warning-300",
|
|
6376
|
-
"tw:data-[variant=warning]:data-[argo=true]:bg-warning/10",
|
|
6377
|
-
"tw:data-[variant=warning]:data-[argo=true]:border-warning/25",
|
|
6378
|
-
"tw:data-[variant=error]:bg-error-100",
|
|
6379
|
-
"tw:data-[variant=error]:border-error-200",
|
|
6380
|
-
"tw:data-[variant=error]:data-[argo=true]:bg-destructive/10",
|
|
6381
|
-
"tw:data-[variant=error]:data-[argo=true]:border-destructive/25",
|
|
6382
|
-
"tw:data-[variant=success]:bg-green-100",
|
|
6383
|
-
"tw:data-[variant=success]:border-green-200",
|
|
6384
|
-
"tw:data-[variant=success]:data-[argo=true]:bg-success/10",
|
|
6385
|
-
"tw:data-[variant=success]:data-[argo=true]:border-success/25",
|
|
6386
|
-
className
|
|
6387
|
-
),
|
|
6388
|
-
children
|
|
6389
|
-
}
|
|
6390
|
-
);
|
|
6391
|
-
};
|
|
6392
|
-
var AlertTitle = ({ ref, className, ...props }) => /* @__PURE__ */ jsx(
|
|
6393
|
-
"div",
|
|
6394
|
-
{
|
|
6395
|
-
...props,
|
|
6396
|
-
ref,
|
|
6397
|
-
"data-slot": "alert-title",
|
|
6398
|
-
className: cn(
|
|
6399
|
-
"tw:group/alert-title",
|
|
6400
|
-
"tw:flex",
|
|
6401
|
-
"tw:col-start-2",
|
|
6402
|
-
"tw:font-medium",
|
|
6403
|
-
"tw:items-center",
|
|
6404
|
-
className
|
|
6405
|
-
)
|
|
6406
|
-
}
|
|
6407
|
-
);
|
|
6408
|
-
var Alert = ({
|
|
6409
|
-
title,
|
|
6410
|
-
variant = "info",
|
|
6411
|
-
children,
|
|
6412
|
-
hideIcon = false,
|
|
6413
|
-
icon,
|
|
6414
|
-
className,
|
|
6415
|
-
actions,
|
|
6416
|
-
mode = "default",
|
|
6417
|
-
// collapsible props
|
|
6418
|
-
defaultOpen = true,
|
|
6419
|
-
open: openProp,
|
|
6420
|
-
onOpenChange: onOpenChangeProp,
|
|
6421
|
-
...rest
|
|
6422
|
-
}) => {
|
|
6423
|
-
const isControlled = openProp !== void 0;
|
|
6424
|
-
const [innerOpen, setInnerOpen] = useState(defaultOpen);
|
|
6425
|
-
const open = isControlled ? openProp : innerOpen;
|
|
6426
|
-
const handleOpenChange = (nextOpen) => {
|
|
6427
|
-
if (!isControlled) {
|
|
6428
|
-
setInnerOpen(nextOpen);
|
|
6429
|
-
}
|
|
6430
|
-
onOpenChangeProp?.(nextOpen);
|
|
6431
|
-
};
|
|
6432
|
-
const isCollapsible = mode === "collapsible" && !!title && !!children && !actions;
|
|
6433
|
-
if (isCollapsible)
|
|
6434
|
-
return /* @__PURE__ */ jsx(Collapsible, { open, onOpenChange: handleOpenChange, asChild: true, children: /* @__PURE__ */ jsxs(AlertRoot, { ...rest, variant, className, children: [
|
|
6435
|
-
/* @__PURE__ */ jsxs(
|
|
6436
|
-
Collapsible.Trigger,
|
|
6437
|
-
{
|
|
6438
|
-
className: cn(
|
|
6439
|
-
"tailwindcss-preflight",
|
|
6440
|
-
"tw:group",
|
|
6441
|
-
"tw:col-span-full",
|
|
6442
|
-
"tw:grid",
|
|
6443
|
-
"tw:grid-cols-subgrid",
|
|
6444
|
-
"tw:rounded-sm",
|
|
6445
|
-
"tw:focus-visible:outline",
|
|
6446
|
-
"tw:focus-visible:outline-2",
|
|
6447
|
-
"tw:focus-visible:outline-ring"
|
|
6448
|
-
),
|
|
6449
|
-
children: [
|
|
6450
|
-
!hideIcon && /* @__PURE__ */ jsx(AlertIcon, { variant, icon }),
|
|
6451
|
-
/* @__PURE__ */ jsx(AlertTitle, { children: title }),
|
|
6452
|
-
/* @__PURE__ */ jsx(AlertCollapsibleIcon, { open })
|
|
6453
|
-
]
|
|
6454
|
-
}
|
|
6455
|
-
),
|
|
6456
|
-
/* @__PURE__ */ jsx(Collapsible.Content, { asChild: true, children: /* @__PURE__ */ jsx(AlertDescription, { children }) })
|
|
6457
|
-
] }) });
|
|
6458
|
-
return /* @__PURE__ */ jsxs(AlertRoot, { ...rest, variant, className, children: [
|
|
6459
|
-
!hideIcon && /* @__PURE__ */ jsx(AlertIcon, { variant, icon }),
|
|
6460
|
-
title && /* @__PURE__ */ jsx(AlertTitle, { children: title }),
|
|
6461
|
-
children && /* @__PURE__ */ jsx(AlertDescription, { children }),
|
|
6462
|
-
actions && /* @__PURE__ */ jsx(AlertAction, { children: actions })
|
|
6463
|
-
] });
|
|
6464
|
-
};
|
|
6465
|
-
var Collapse = ({
|
|
6466
|
-
open,
|
|
6467
|
-
header,
|
|
6468
|
-
className,
|
|
6469
|
-
bodyClassName,
|
|
6470
|
-
children,
|
|
6471
|
-
onClick,
|
|
6472
|
-
animationClassName,
|
|
6473
|
-
hidden,
|
|
6474
|
-
...rest
|
|
6475
|
-
}) => {
|
|
6476
|
-
return /* @__PURE__ */ jsxs(
|
|
6477
|
-
"div",
|
|
6478
|
-
{
|
|
6479
|
-
...rest,
|
|
6480
|
-
hidden,
|
|
6481
|
-
role: onClick && "button",
|
|
6482
|
-
tabIndex: onClick ? 0 : void 0,
|
|
6483
|
-
onClick,
|
|
6484
|
-
onKeyDown: (e) => {
|
|
6485
|
-
if (onClick && (e.key === "Enter" || e.key === " ")) {
|
|
6486
|
-
onClick();
|
|
6487
|
-
}
|
|
6488
|
-
},
|
|
6489
|
-
"data-state": open ? "open" : "closed",
|
|
6490
|
-
className: cn("tw:group tw:flex tw:flex-col", className, {
|
|
6491
|
-
"tw:cursor-pointer": onClick,
|
|
6492
|
-
"tw:hidden": hidden
|
|
6493
|
-
}),
|
|
6494
|
-
children: [
|
|
6495
|
-
header,
|
|
6496
|
-
/* @__PURE__ */ jsx(
|
|
6497
|
-
"div",
|
|
6498
|
-
{
|
|
6499
|
-
className: cn(
|
|
6500
|
-
"tw:grid tw:duration-300",
|
|
6501
|
-
open ? "tw:grid-rows-[1fr]" : "tw:grid-rows-[0fr]",
|
|
6502
|
-
animationClassName
|
|
6503
|
-
),
|
|
6504
|
-
children: /* @__PURE__ */ jsx("div", { className: cn("tw:overflow-hidden", open && "tw:animate-collapseDown", bodyClassName), children })
|
|
6505
|
-
}
|
|
6506
|
-
)
|
|
6507
|
-
]
|
|
6508
|
-
}
|
|
6509
|
-
);
|
|
6510
|
-
};
|
|
6511
|
-
var headerVariants = cva(
|
|
6512
|
-
"tw:flex tw:flex-1 tw:items-center tw:gap-2 tw:rounded tw:px-4 tw:py-2.5 tw:text-sm tw:text-muted-foreground",
|
|
6513
|
-
{
|
|
6514
|
-
variants: {
|
|
6515
|
-
variant: {
|
|
6516
|
-
default: "tw:bg-muted",
|
|
6517
|
-
white: "tw:bg-card"
|
|
6518
|
-
},
|
|
6519
|
-
isDisabled: {
|
|
6520
|
-
true: "tw:cursor-not-allowed tw:opacity-50",
|
|
6521
|
-
false: ""
|
|
6522
|
-
},
|
|
6523
|
-
hasEnforcedState: {
|
|
6524
|
-
true: "",
|
|
6525
|
-
false: ""
|
|
6526
|
-
}
|
|
6527
|
-
},
|
|
6528
|
-
compoundVariants: [
|
|
6529
|
-
{
|
|
6530
|
-
isDisabled: false,
|
|
6531
|
-
hasEnforcedState: false,
|
|
6532
|
-
class: "tw:cursor-pointer tw:hover:text-primary"
|
|
6533
|
-
}
|
|
6534
|
-
],
|
|
6535
|
-
defaultVariants: {
|
|
6536
|
-
variant: "default",
|
|
6537
|
-
isDisabled: false,
|
|
6538
|
-
hasEnforcedState: false
|
|
6539
|
-
}
|
|
6540
|
-
}
|
|
6541
|
-
);
|
|
6542
|
-
var CollapsiblePanel = ({
|
|
6543
|
-
header,
|
|
6544
|
-
className,
|
|
6545
|
-
bodyClassName,
|
|
6546
|
-
headerClassName,
|
|
6547
|
-
defaultExpanded = false,
|
|
6548
|
-
isDisabled = false,
|
|
6549
|
-
children,
|
|
6550
|
-
isOpen,
|
|
6551
|
-
onToggle,
|
|
6552
|
-
variant = "default"
|
|
6553
|
-
}) => {
|
|
6554
|
-
const [isUncontrolledOpen, setIsUncontrolledOpen] = useState(defaultExpanded);
|
|
6555
|
-
const open = isOpen ?? isUncontrolledOpen;
|
|
6556
|
-
const hasEnforcedState = isOpen !== void 0 && onToggle === void 0;
|
|
6557
|
-
const handleCollapse = (event) => {
|
|
6558
|
-
if (event) {
|
|
6559
|
-
event.stopPropagation();
|
|
6560
|
-
}
|
|
6561
|
-
if (!isDisabled) {
|
|
6562
|
-
setIsUncontrolledOpen(!isUncontrolledOpen);
|
|
6563
|
-
}
|
|
6564
|
-
};
|
|
6565
|
-
const handleClick = (e) => {
|
|
6566
|
-
if (onToggle) {
|
|
6567
|
-
onToggle(e);
|
|
6568
|
-
return;
|
|
6569
|
-
}
|
|
6570
|
-
handleCollapse(e);
|
|
6571
|
-
};
|
|
6572
|
-
const handleKeyUp = (e) => {
|
|
6573
|
-
if ([keyCodes.ENTER, keyCodes.SPACE].includes(e.key)) {
|
|
6574
|
-
handleClick(e);
|
|
6575
|
-
}
|
|
6576
|
-
};
|
|
6577
|
-
return /* @__PURE__ */ jsx(
|
|
6578
|
-
Collapse,
|
|
6579
|
-
{
|
|
6580
|
-
open,
|
|
6581
|
-
className: cn(
|
|
6582
|
-
"tw:rounded tw:!border tw:!border-solid tw:!border-border tw:bg-card",
|
|
6583
|
-
className
|
|
6584
|
-
),
|
|
6585
|
-
header: /* @__PURE__ */ jsxs(
|
|
6586
|
-
"div",
|
|
6587
|
-
{
|
|
6588
|
-
className: cn(headerVariants({ variant, isDisabled, hasEnforcedState }), headerClassName),
|
|
6589
|
-
...!hasEnforcedState && !isDisabled && {
|
|
6590
|
-
role: "button",
|
|
6591
|
-
tabIndex: 0,
|
|
6592
|
-
onClick: handleClick,
|
|
6593
|
-
onKeyUp: handleKeyUp
|
|
6594
|
-
},
|
|
6595
|
-
children: [
|
|
6596
|
-
/* @__PURE__ */ jsx("div", { className: "tw:flex tw:flex-1 tw:items-center tw:gap-2 tw:py-px tw:text-sm tw:font-medium tw:text-foreground", children: header }),
|
|
6597
|
-
!isDisabled && /* @__PURE__ */ jsx("div", { className: "tw:ml-auto tw:shrink-0", children: /* @__PURE__ */ jsx(ChevronDown, { className: cn("tw:size-5 tw:group-data-[state=open]:rotate-180") }) })
|
|
6598
|
-
]
|
|
6599
|
-
}
|
|
6600
|
-
),
|
|
6601
|
-
children: /* @__PURE__ */ jsx("div", { className: cn("tw:px-4 tw:py-3", bodyClassName), children })
|
|
6602
|
-
}
|
|
6603
|
-
);
|
|
6604
|
-
};
|
|
6605
|
-
|
|
6606
|
-
// src/components/Tabs/styles.ts
|
|
6607
|
-
var tabsListWrapperClass = "tw:shrink-0 tw:border-t-0 tw:border-x-0 tw:border-b tw:border-solid tw:border-border";
|
|
6608
|
-
var tabsListClass = "tw:flex tw:gap-8 tw:shrink-0 tw:w-max";
|
|
6609
|
-
var tabsTriggerGroupClass = "tw:group/tab-trigger-group tw:flex tw:shrink-0 tw:items-center";
|
|
6610
|
-
var tabsTriggerClass = "tw:focus-visible:outline-hidden tw:focus-visible:ring-2 tw:focus-visible:ring-inset tw:focus-visible:ring-ring tw:flex tw:justify-center tw:items-center tw:gap-1.5 tw:bg-transparent tw:shrink-0 tw:border-t-0 tw:border-x-0 tw:border-b-[3px] tw:border-solid tw:border-transparent tw:pt-2.5 tw:pb-5 tw:px-0 tw:m-0 tw:font-medium tw:leading-5 tw:text-muted-foreground tw:text-base tw:data-[state=active]:text-primary tw:data-[state=active]:border-primary tw:data-[disabled]:text-muted-foreground tw:data-[disabled]:opacity-50 tw:data-[disabled]:cursor-not-allowed tw:group-hover/tab-trigger-group:enabled:text-primary tw:group-hover/tab-trigger-group:enabled:border-primary tw:group-hover/tab-trigger-group:enabled:cursor-pointer";
|
|
6611
|
-
var tabsTriggerCompactClass = "tw:text-sm tw:pb-4";
|
|
6612
|
-
var TabsList = ({ className, children, ...rest }) => /* @__PURE__ */ jsx(ScrollArea, { orientation: "horizontal", className: tabsListWrapperClass, children: /* @__PURE__ */ jsx(RadixTabs.List, { ...rest, "data-slot": "tabs-list", className: cn(tabsListClass, className), children }) });
|
|
6613
|
-
var TabsTrigger = ({ className, compact = false, ...rest }) => /* @__PURE__ */ jsx(
|
|
6614
|
-
RadixTabs.Trigger,
|
|
6615
|
-
{
|
|
6616
|
-
"data-slot": "tabs-trigger",
|
|
6617
|
-
...rest,
|
|
6618
|
-
className: cn(tabsTriggerClass, compact && tabsTriggerCompactClass, className)
|
|
6619
|
-
}
|
|
6620
|
-
);
|
|
6621
|
-
var Tabs = ({
|
|
6622
|
-
triggers,
|
|
6623
|
-
compact = false,
|
|
6624
|
-
children,
|
|
6625
|
-
defaultValue,
|
|
6626
|
-
onValueChange,
|
|
6627
|
-
rootClassName,
|
|
6628
|
-
listClassName,
|
|
6629
|
-
triggerClassName,
|
|
6630
|
-
triggerGroupClassName,
|
|
6631
|
-
...rest
|
|
6632
|
-
}) => /* @__PURE__ */ jsxs(
|
|
6633
|
-
RadixTabs.Root,
|
|
6634
|
-
{
|
|
6635
|
-
...rest,
|
|
6636
|
-
"data-slot": "tabs-root",
|
|
6637
|
-
className: cn("tw:flex tw:flex-col tw:gap-6", rootClassName),
|
|
6638
|
-
defaultValue: defaultValue ?? triggers[0]?.value,
|
|
6639
|
-
onValueChange,
|
|
6640
|
-
children: [
|
|
6641
|
-
/* @__PURE__ */ jsx(TabsList, { className: listClassName, children: triggers.map(({ value, title, onClose, className: callerClassName, ...triggerRest }) => /* @__PURE__ */ jsxs(
|
|
6642
|
-
"div",
|
|
6643
|
-
{
|
|
6644
|
-
className: cn(tabsTriggerGroupClass, triggerGroupClassName),
|
|
6645
|
-
"data-slot": "tabs-trigger-group",
|
|
6646
|
-
children: [
|
|
6647
|
-
/* @__PURE__ */ jsx(
|
|
6648
|
-
TabsTrigger,
|
|
6649
|
-
{
|
|
6650
|
-
value,
|
|
6651
|
-
compact,
|
|
6652
|
-
...triggerRest,
|
|
6653
|
-
className: cn(triggerClassName, callerClassName),
|
|
6654
|
-
children: title
|
|
6655
|
-
}
|
|
6656
|
-
),
|
|
6657
|
-
onClose && /* @__PURE__ */ jsx(
|
|
6658
|
-
Button,
|
|
6659
|
-
{
|
|
6660
|
-
type: "button",
|
|
6661
|
-
variant: "inline",
|
|
6662
|
-
size: "icon-3xs",
|
|
6663
|
-
disabled: triggerRest.disabled,
|
|
6664
|
-
onClick: () => onClose(value),
|
|
6665
|
-
onMouseDown: (e) => e.preventDefault(),
|
|
6666
|
-
className: "tw:!size-8 tw:opacity-0 tw:duration-200 tw:focus-visible:opacity-100 tw:group-focus-within/tab-trigger-group:opacity-100 tw:group-hover/tab-trigger-group:opacity-100",
|
|
6667
|
-
"aria-label": typeof title === "string" ? `Close ${title}` : "Close tab",
|
|
6668
|
-
children: /* @__PURE__ */ jsx(X, { className: "tw:size-4" })
|
|
6669
|
-
}
|
|
6670
|
-
)
|
|
6671
|
-
]
|
|
6672
|
-
},
|
|
6673
|
-
value
|
|
6674
|
-
)) }),
|
|
6675
|
-
children
|
|
6676
|
-
]
|
|
6677
|
-
}
|
|
6678
|
-
);
|
|
6679
|
-
var TabsContent = (props) => /* @__PURE__ */ jsx(RadixTabs.Content, { "data-slot": "tabs-content", tabIndex: -1, ...props });
|
|
4383
|
+
Calendar.displayName = "Calendar";
|
|
6680
4384
|
|
|
6681
|
-
export {
|
|
6682
|
-
//# sourceMappingURL=chunk-
|
|
6683
|
-
//# sourceMappingURL=chunk-
|
|
4385
|
+
export { Calendar };
|
|
4386
|
+
//# sourceMappingURL=chunk-YI3WLXEN.js.map
|
|
4387
|
+
//# sourceMappingURL=chunk-YI3WLXEN.js.map
|