@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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/Combobox/utils.ts","../src/components/Combobox/ComboboxChips.tsx","../src/components/Combobox/ComboboxContent.tsx","../src/components/Combobox/ComboboxEmpty.tsx","../src/components/Combobox/ComboboxInput.tsx","../src/components/Combobox/ComboboxInputGroup.tsx","../src/components/Combobox/ComboboxItemIndicator.tsx","../src/components/Combobox/ComboboxItem.tsx","../src/components/Combobox/ComboboxList.tsx","../src/components/Combobox/ComboboxRoot.tsx","../src/components/Combobox/ComboboxSeparator.tsx","../src/components/Combobox/Group/ComboboxGroup.tsx","../src/components/Combobox/Group/ComboboxGroupLabel.tsx","../src/components/Combobox/Group/ComboboxCollection.tsx","../src/components/Combobox/Combobox.tsx"],"names":["BaseCombobox","jsx","jsxs","value"],"mappings":"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","file":"chunk-5AIE6SET.js","sourcesContent":["import type { CreatableItem, Group, InternalItems, LabeledItem, SelectAllItem } from './types';\n\nconst isPlainObject = (item: unknown): item is Record<string, unknown> =>\n item !== null && typeof item === 'object';\n\nconst isNumber = (item: unknown): item is number => typeof item === 'number';\nconst isString = (item: unknown): item is string => typeof item === 'string';\n\nexport const isLabeledItem = (item: unknown): item is LabeledItem =>\n isPlainObject(item) && Reflect.has(item, 'label') && Reflect.has(item, 'value');\n\nconst isInternalItem = (item: unknown): item is InternalItems =>\n isLabeledItem(item) && '__marker' in item;\n\nexport const isSelectAllItem = (item: unknown): item is SelectAllItem =>\n isInternalItem(item) && item.__marker === 'selectAll';\n\nexport const isCreatableItem = (item: unknown): item is CreatableItem => {\n return isInternalItem(item) && item.__marker === 'creatable';\n};\n\nexport const isGroupItem = <Item>(itemOrGroup: Item | Group<Item>): itemOrGroup is Group<Item> =>\n itemOrGroup !== null && typeof itemOrGroup === 'object' && Reflect.has(itemOrGroup, 'items');\n\nexport const isGroupItems = <Item, GroupShape extends Group<Item> = Group<Item>>(\n items: readonly (Item | GroupShape)[],\n): items is GroupShape[] => {\n if (!Array.isArray(items)) return false;\n if (items.length === 0) return false; // Base UI treats an empty items array as non-grouped, so we must too for consistency\n return isGroupItem(items[0]); // Base UI only checks the first item to determine if it's a group or not, so we do the same for consistency\n};\n\nexport const defaultItemToLabel = <Item>(item: Item) => {\n if (isNumber(item) || isString(item)) return item;\n if (!isLabeledItem(item))\n throw new Error(\n 'Combobox: Item does not have a `label` field. Pass `itemToLabel` for custom item shapes.',\n );\n\n return item.label;\n};\n\n/** Display string for an item — mirrors base-ui's own default logic. */\nexport const toLabel = (item: unknown): string => {\n if (isString(item)) return item;\n if (isLabeledItem(item)) {\n if (item.label) return item.label;\n if (item.value) return item.value;\n }\n return String(item);\n};\n\n/** Equality key for an item — prefers .value for stable identity. */\nexport const toValueKey = (item: unknown): string => {\n if (isString(item)) return item;\n if (isLabeledItem(item)) {\n if (item.value) return item.value;\n if (item.label) return item.label;\n }\n return String(item);\n};\n\nexport const defaultItemToIcon = <Item>(item: Item) =>\n isLabeledItem(item) ? item.icon : undefined;\n\nexport const defaultItemToDisabled = <Item>(item: Item) =>\n isLabeledItem(item) ? (item.disabled ?? false) : false;\n\nexport const defaultGroupToLabel = () => undefined;\n\n// Internal markers ------------------------------------------------------------\n// Both `selectAll` and `creatable` are LabeledItem-shaped sentinels that we\n// inject into the items list passed to Base UI. They carry a `__marker`\n// discriminator so consumer code (and user-supplied callbacks) can't collide\n// with them by accident.\n\nexport const selectAllItem: SelectAllItem = {\n __marker: 'selectAll',\n value: '__select_all__',\n label: 'Select All',\n};\n\nexport const createCreatableItem = (query: string): CreatableItem => ({\n __marker: 'creatable',\n value: query,\n label: query,\n});\n\nexport const defaultToCreateValue = <Value>(\n query: string,\n value: Value | undefined,\n queryToCreateValue?: (query: string) => Value,\n): Value => {\n if (queryToCreateValue) return queryToCreateValue(query);\n if (value === undefined) return query as Value;\n if (isString(value)) return query as Value;\n if (isLabeledItem(value)) return { value: query, label: query } as Value;\n throw new Error(\n 'Combobox: Cannot infer item shape for `allowCreate`. Pass `queryToCreateValue` for custom item shapes.',\n );\n};\n\nexport const defaultQueryToCreateLabel = (query: string) => `Create \"${query}\"`;\n","import type { ComponentProps, ReactNode } from 'react';\nimport { Combobox as BaseCombobox } from '@base-ui/react/combobox';\n\nimport { X } from '../../icons';\nimport { Badge } from '../Badge';\n\nimport { defaultItemToLabel } from './utils';\n\ntype BadgeColor = ComponentProps<typeof Badge>['color'];\ntype BadgeVariant = ComponentProps<typeof Badge>['variant'];\n\ntype Props<Value> = {\n maxVisible?: number;\n itemToChipLabel?: (item: Value) => ReactNode;\n itemToChipColor?: (item: Value) => BadgeColor;\n variant?: BadgeVariant;\n};\n\nexport const ComboboxChips = <Value,>({\n maxVisible = 3,\n itemToChipLabel = defaultItemToLabel,\n itemToChipColor,\n variant = 'pill',\n}: Props<Value>) => (\n <BaseCombobox.Value>\n {(values: Value[]) => {\n if (!values.length) return null;\n\n const visible = values.slice(0, maxVisible);\n const overflow = values.slice(maxVisible);\n\n return (\n <>\n {visible.map((value: Value, index) => (\n <BaseCombobox.Chip\n // oxlint-disable-next-line react/no-array-index-key\n key={index}\n render={\n <Badge.Root\n color={itemToChipColor?.(value)}\n className=\"tw:max-w-40\"\n variant={variant}\n />\n }\n >\n <Badge.Label>{itemToChipLabel(value)}</Badge.Label>\n <Badge.Addon variant=\"inline\" align=\"inline-end\">\n <BaseCombobox.ChipRemove\n render={\n <Badge.Button aria-label=\"Remove value\">\n <X className=\"tw:size-3\" />\n </Badge.Button>\n }\n />\n </Badge.Addon>\n </BaseCombobox.Chip>\n ))}\n\n {overflow.length > 0 && (\n <Badge.Root variant=\"pill\">\n <Badge.Label>+{overflow.length}</Badge.Label>\n </Badge.Root>\n )}\n </>\n );\n }}\n </BaseCombobox.Value>\n);\n","import type { ComponentProps } from 'react';\nimport { Combobox as BaseCombobox } from '@base-ui/react/combobox';\n\nimport { cn } from '../../utils';\nimport { useArgoDesign } from '../ThemeProvider/context';\n\ntype PortalProps = ComponentProps<typeof BaseCombobox.Portal>;\ntype PositionerProps = ComponentProps<typeof BaseCombobox.Positioner>;\ntype PopupProps = Omit<ComponentProps<typeof BaseCombobox.Popup>, 'className'> & {\n className?: string;\n};\n\ntype Variant = 'default' | 'argo';\n\ntype Props = PopupProps &\n Pick<PositionerProps, 'side' | 'align' | 'sideOffset' | 'alignOffset' | 'anchor'> &\n Pick<PortalProps, 'container'>;\n\nexport const ComboboxContent = ({\n ref,\n align = 'start',\n side = 'bottom',\n sideOffset = 4,\n alignOffset,\n anchor,\n container,\n className,\n children,\n ...popupProps\n}: Props) => {\n const effectiveVariant: Variant = useArgoDesign() ? 'argo' : 'default';\n return (\n <BaseCombobox.Portal container={container}>\n <BaseCombobox.Positioner\n align={align}\n side={side}\n sideOffset={sideOffset}\n alignOffset={alignOffset}\n anchor={anchor}\n className=\"tw:isolate tw:z-[1055] tailwindcss-preflight\"\n >\n <BaseCombobox.Popup\n ref={ref}\n data-chips={!!anchor}\n data-variant={effectiveVariant}\n className={cn(\n 'tw:!pointer-events-auto',\n 'tw:group/combobox-content',\n 'tw:relative',\n 'tw:flex tw:flex-col tw:overflow-hidden',\n\n // sizing\n 'tw:max-h-[var(--available-height)]',\n 'tw:w-[var(--anchor-width)]',\n 'tw:max-w-[var(--available-width)]',\n 'tw:origin-[var(--transform-origin)]',\n 'tw:data-[chips=true]:min-w-[var(--anchor-width)]',\n\n // appearance\n 'tw:rounded-lg',\n 'tw:data-[variant=default]:rounded',\n\n 'tw:bg-popover',\n 'tw:text-popover-foreground',\n 'tw:shadow-md',\n 'tw:ring-1',\n 'tw:ring-foreground/10',\n 'tw:duration-100',\n\n // open animation\n 'data-open:animate-in',\n 'data-open:fade-in-0',\n 'data-open:zoom-in-95',\n\n // closed animation\n 'data-closed:animate-out',\n 'data-closed:fade-out-0',\n 'data-closed:zoom-out-95',\n\n // position animations\n 'tw:data-[side=bottom]:slide-in-from-top-2',\n 'tw:data-[side=top]:slide-in-from-bottom-2',\n 'tw:data-[side=left]:slide-in-from-right-2',\n 'tw:data-[side=right]:slide-in-from-left-2',\n 'tw:data-[side=inline-start]:slide-in-from-right-2',\n 'tw:data-[side=inline-end]:slide-in-from-left-2',\n className,\n )}\n {...popupProps}\n >\n {children}\n </BaseCombobox.Popup>\n </BaseCombobox.Positioner>\n </BaseCombobox.Portal>\n );\n};\n","import type { ComponentProps } from 'react';\nimport { Combobox as BaseCombobox } from '@base-ui/react/combobox';\n\nimport { cn } from '../../utils';\n\ntype Props = Omit<ComponentProps<typeof BaseCombobox.Empty>, 'className'> & {\n className?: string;\n};\n\nexport const ComboboxEmpty = ({ ref, className, ...props }: Props) => (\n <BaseCombobox.Empty\n ref={ref}\n className={cn(\n 'tw:hidden',\n 'tw:group-data-[empty]/combobox-content:flex',\n 'tw:justify-center',\n 'tw:items-center',\n 'tw:text-center',\n 'tw:px-2',\n 'tw:text-muted-foreground',\n 'tw:py-6',\n className,\n )}\n {...props}\n />\n);\n","import type { ComponentProps } from 'react';\nimport { Combobox as BaseCombobox } from '@base-ui/react/combobox';\n\nimport { InputGroup } from '../InputGroup';\n\ntype Props = Omit<ComponentProps<typeof BaseCombobox.Input>, 'render'>;\n\nexport const ComboboxInput = ({ ref, ...props }: Props) => (\n <BaseCombobox.Input {...props} ref={ref} render={<InputGroup.Input />} />\n);\n","import type { ComponentProps } from 'react';\nimport { Combobox as BaseCombobox } from '@base-ui/react/combobox';\n\nimport { InputGroup } from '../InputGroup';\n\ntype InputGroupProps = Pick<\n ComponentProps<typeof InputGroup>,\n 'variant' | 'focusVariant' | 'sizing' | 'state'\n>;\n\ntype Props = InputGroupProps &\n Omit<ComponentProps<typeof BaseCombobox.InputGroup>, 'render' | 'className'> & {\n className?: string;\n };\n\nexport const ComboboxInputGroup = ({\n ref,\n state,\n variant,\n sizing,\n focusVariant,\n className,\n ...props\n}: Props) => (\n <BaseCombobox.InputGroup\n {...props}\n ref={ref}\n render={\n <InputGroup\n state={state}\n variant={variant}\n focusVariant={focusVariant}\n sizing={sizing}\n className={className}\n />\n }\n />\n);\n","import type { ComponentProps } from 'react';\nimport { Combobox as BaseCombobox } from '@base-ui/react/combobox';\n\nimport { Check } from '../../icons';\nimport { cn } from '../../utils';\n\ntype Variant = 'check' | 'checkbox';\n\ntype Props = Omit<ComponentProps<typeof BaseCombobox.ItemIndicator>, 'className' | 'children'> & {\n className?: string;\n variant?: Variant;\n};\n\nexport const ComboboxItemIndicator = ({ ref, className, variant = 'check', ...props }: Props) => {\n if (variant === 'checkbox') {\n return (\n <BaseCombobox.ItemIndicator\n ref={ref}\n keepMounted\n className={cn(\n 'tw:group/combobox-item-indicator',\n\n 'tw:inline-flex',\n 'tw:items-center',\n 'tw:justify-center',\n 'tw:size-4',\n 'tw:shrink-0',\n\n 'tw:rounded',\n 'tw:border',\n 'tw:border-input',\n 'tw:bg-background',\n\n 'tw:data-[selected]:bg-primary',\n 'tw:data-[selected]:border-primary',\n className,\n )}\n {...props}\n >\n <Check\n className={cn(\n 'tw:hidden',\n 'tw:size-3',\n 'tw:stroke-[4px]',\n 'tw:!text-primary-foreground',\n 'tw:group-data-[selected]/combobox-item-indicator:block',\n )}\n />\n </BaseCombobox.ItemIndicator>\n );\n }\n\n return (\n <BaseCombobox.ItemIndicator\n {...props}\n ref={ref}\n className={cn(\n 'tw:pointer-events-none',\n 'tw:absolute',\n 'tw:right-2',\n\n 'tw:group-data-[variant=default]/combobox-content:right-4',\n // `render={<Check />}` makes the icon the indicator element itself (not a descendant), so a\n // `[&_svg]` rule never matches it — size it directly or Lucide renders at its 24px default.\n 'tw:size-4',\n 'tw:group-data-[highlighted]/combobox-item:text-accent-foreground',\n 'tw:group-data-[variant=default]/combobox-content:group-data-[highlighted]/combobox-item:text-foreground',\n className,\n )}\n render={<Check />}\n />\n );\n};\n","import type { ComponentProps, ReactNode } from 'react';\nimport { Combobox as BaseCombobox } from '@base-ui/react/combobox';\n\nimport { cn } from '../../utils';\n\nimport { ComboboxItemIndicator } from './ComboboxItemIndicator';\n\ntype Props = Omit<ComponentProps<typeof BaseCombobox.Item>, 'className'> & {\n className?: string;\n icon?: ReactNode;\n indicator?: ComponentProps<typeof ComboboxItemIndicator>['variant'];\n};\n\nexport const ComboboxItem = ({\n ref,\n className,\n children,\n icon,\n indicator: variant = 'check',\n ...props\n}: Props) => (\n <BaseCombobox.Item\n {...props}\n ref={ref}\n data-slot=\"combobox-item\"\n className={cn(\n 'tw:group/combobox-item',\n // layout\n 'tw:relative',\n 'tw:flex',\n 'tw:flex-1',\n 'tw:items-center',\n 'tw:gap-2',\n\n // spacing\n 'tw:py-2',\n 'tw:px-2',\n 'tw:group-data-[variant=default]/combobox-content:px-4',\n 'tw:rounded-lg',\n 'tw:group-data-[variant=default]/combobox-content:rounded-none',\n\n // typography\n 'tw:text-sm',\n 'tw:select-none',\n 'tw:cursor-default',\n 'tw:outline-hidden',\n\n // highlighted (keyboard / hover)\n 'tw:data-[highlighted]:bg-accent',\n 'tw:group-data-[variant=default]/combobox-content:data-[highlighted]:bg-neutral-100',\n 'tw:data-[highlighted]:text-accent-foreground',\n 'tw:group-data-[variant=default]/combobox-content:data-[highlighted]:text-foreground',\n\n // disabled\n 'tw:data-disabled:pointer-events-none',\n 'tw:data-disabled:opacity-50',\n\n // child svg defaults\n 'tw:[&_svg]:pointer-events-none',\n 'tw:[&_svg]:shrink-0',\n 'tw:[&_svg]:text-muted-foreground',\n \"tw:[&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n >\n {<ComboboxItemIndicator variant={variant} />}\n {icon}\n <span className=\"tw:truncate\">{children}</span>\n </BaseCombobox.Item>\n);\n","import type { ComponentProps } from 'react';\nimport { Combobox as BaseCombobox } from '@base-ui/react/combobox';\n\nimport { cn } from '../../utils';\n\ntype Props = Omit<ComponentProps<typeof BaseCombobox.List>, 'className'> & {\n className?: string;\n};\n\nexport const ComboboxList = ({ ref, className, ...props }: Props) => (\n <BaseCombobox.List\n ref={ref}\n className={cn(\n 'tw:no-scrollbar',\n 'tw:scroll-py-1',\n 'tw:overflow-y-auto',\n 'tw:overscroll-contain',\n 'tw:min-h-0',\n 'tw:flex-1',\n\n 'tw:p-2',\n 'tw:data-[empty]:p-0',\n 'tw:group-data-[variant=default]/combobox-content:p-0',\n className,\n )}\n {...props}\n />\n);\n","import { Combobox as BaseCombobox } from '@base-ui/react/combobox';\n\nexport const ComboboxRoot = <Value, Multiple extends boolean | undefined = false>(\n props: BaseCombobox.Root.Props<Value, Multiple>,\n) => <BaseCombobox.Root {...props} />;\n","import type { ComponentProps } from 'react';\nimport { Combobox as BaseCombobox } from '@base-ui/react/combobox';\n\nimport { cn } from '../../utils';\n\ntype Props = Omit<ComponentProps<typeof BaseCombobox.Separator>, 'className'> & {\n className?: string;\n};\n\nexport const ComboboxSeparator = ({ ref, className, ...props }: Props) => (\n <BaseCombobox.Separator\n ref={ref}\n className={cn('tw:mx-2 tw:my-1 tw:h-px tw:bg-border', className)}\n {...props}\n />\n);\n","import type { ComponentProps } from 'react';\nimport { Combobox as BaseCombobox } from '@base-ui/react/combobox';\n\nimport { cn } from '../../../utils';\n\ntype Props = Omit<ComponentProps<typeof BaseCombobox.Group>, 'className'> & {\n className?: string;\n};\n\nexport const ComboboxGroup = ({ ref, className, children, ...props }: Props) => (\n <BaseCombobox.Group\n ref={ref}\n className={cn('tw:flex tw:flex-col tw:gap-0.5', className)}\n {...props}\n >\n {children}\n </BaseCombobox.Group>\n);\n","import { Combobox as BaseCombobox } from '@base-ui/react/combobox';\n\nimport { cn } from '../../../utils';\n\ntype Props = Omit<BaseCombobox.GroupLabel.Props, 'className'> & {\n className?: string;\n};\n\nexport const ComboboxGroupLabel = ({ ref, className, ...props }: Props) => (\n <BaseCombobox.GroupLabel\n {...props}\n ref={ref}\n className={cn(\n // Base (argo variant) — soft gray section label.\n 'tw:px-2',\n 'tw:py-1.5',\n 'tw:text-xs',\n 'tw:font-medium',\n 'tw:leading-none',\n 'tw:text-muted-foreground',\n\n 'tw:group-data-[variant=default]/combobox-content:uppercase',\n 'tw:group-data-[variant=default]/combobox-content:font-semibold',\n 'tw:group-data-[variant=default]/combobox-content:tracking-wider',\n 'tw:group-data-[variant=default]/combobox-content:text-[11px]',\n 'tw:group-data-[variant=default]/combobox-content:text-black',\n 'tw:group-data-[variant=default]/combobox-content:pt-2',\n 'tw:group-data-[variant=default]/combobox-content:px-4',\n\n className,\n )}\n />\n);\n","import { Combobox as BaseCombobox } from '@base-ui/react/combobox';\n\ntype Props = BaseCombobox.Collection.Props;\n\nexport const ComboboxCollection = ({ ...props }: Props) => (\n <BaseCombobox.Collection data-slot=\"combobox-collection\" {...props} />\n);\n","import {\n type ComponentProps,\n type CSSProperties,\n type ReactNode,\n useEffect,\n useRef,\n useState,\n} from 'react';\nimport { Combobox as BaseCombobox } from '@base-ui/react/combobox';\nimport { useVirtualizer } from '@tanstack/react-virtual';\n\nimport { ChevronDown, Plus, X } from '../../icons';\nimport { InputGroup } from '../InputGroup';\n\nimport { ComboboxChips } from './ComboboxChips';\nimport { ComboboxContent } from './ComboboxContent';\nimport { ComboboxEmpty } from './ComboboxEmpty';\nimport { ComboboxInput } from './ComboboxInput';\nimport { ComboboxInputGroup } from './ComboboxInputGroup';\nimport { ComboboxItem } from './ComboboxItem';\nimport { ComboboxList } from './ComboboxList';\nimport { ComboboxRoot } from './ComboboxRoot';\nimport { ComboboxSeparator } from './ComboboxSeparator';\nimport { ComboboxCollection, ComboboxGroup, ComboboxGroupLabel } from './Group';\nimport type { Group } from './types';\nimport {\n createCreatableItem,\n defaultGroupToLabel,\n defaultItemToDisabled,\n defaultItemToIcon,\n defaultItemToLabel,\n defaultQueryToCreateLabel,\n defaultToCreateValue,\n isCreatableItem,\n isGroupItem,\n isGroupItems,\n toLabel,\n toValueKey,\n} from './utils';\n\n// Above this many (ungrouped) items, the list is windowed with `@tanstack/react-virtual` so only\n// the visible rows hit the DOM. Base UI keeps keyboard nav + filtering working against the full\n// `items` set (via `virtualized`), so search is unaffected.\nconst VIRTUALIZE_THRESHOLD = 30;\nconst ESTIMATED_ROW_HEIGHT = 40;\nconst ESTIMATED_LIST_HEIGHT = 320;\n\ntype ComboboxProps<Value> = BaseCombobox.Root.Props<Value, false>;\ntype ComboboxInputProps = ComponentProps<typeof ComboboxInput>;\ntype ComboboxInputGroupProps = ComponentProps<typeof ComboboxInputGroup>;\ntype ComboboxItemProps = ComponentProps<typeof ComboboxItem>;\n\ntype Indicator = NonNullable<ComboboxItemProps['indicator']>;\n\ntype PublicComboboxInputProps = Pick<ComboboxInputProps, 'placeholder' | 'id'> &\n Pick<ComboboxInputGroupProps, 'variant' | 'focusVariant' | 'sizing' | 'state' | 'className'>;\n\ntype PublicComboboxProps<Value> = Pick<\n ComboboxProps<Value>,\n | 'disabled'\n | 'inputRef'\n | 'value'\n | 'defaultValue'\n | 'onValueChange'\n | 'itemToStringLabel'\n | 'itemToStringValue'\n | 'filter'\n | 'onOpenChangeComplete'\n | 'isItemEqualToValue'\n>;\n\ntype CreatableProps<Value> = {\n allowCreate?: boolean;\n queryToCreateLabel?: (query: string) => ReactNode;\n queryToCreateValue?: (query: string) => Value;\n};\n\ntype Props<Value, GroupShape extends Group<Value> = Group<Value>> = PublicComboboxInputProps &\n PublicComboboxProps<Value> &\n CreatableProps<Value> & {\n items?: readonly (Value | GroupShape)[];\n\n // root specific\n allowClear?: boolean;\n empty?: ReactNode;\n indicator?: Indicator;\n prefix?: ReactNode;\n /**\n * Window the list with a virtualizer so large option sets stay fast. Opt-in — defaults to\n * `false` to keep behavior unchanged for existing call sites (every option stays in the DOM).\n * Pass `'auto'` to virtualize only ungrouped lists longer than {@link VIRTUALIZE_THRESHOLD},\n * or `true` to force it. Grouped lists are never virtualized.\n */\n virtualized?: boolean | 'auto';\n\n // item specific\n itemToLabel?: (item: Value) => ReactNode;\n itemToIcon?: (item: Value) => ReactNode;\n itemToDisabled?: (item: Value) => boolean;\n\n // group specific\n groupToLabel?: (group: GroupShape) => ReactNode;\n };\n\nexport const Combobox = <Value, GroupShape extends Group<Value> = Group<Value>>({\n // root props\n items: _itemsProp,\n value,\n defaultValue,\n onValueChange,\n itemToStringLabel: itemToStringLabelProp,\n itemToStringValue,\n disabled,\n filter,\n inputRef,\n onOpenChangeComplete,\n isItemEqualToValue: isItemEqualToValueProp,\n\n // input props\n variant,\n sizing,\n focusVariant,\n state,\n placeholder,\n allowClear,\n id,\n className,\n\n // own props\n empty = 'No items',\n indicator,\n prefix,\n virtualized = false,\n\n // creatable\n allowCreate,\n queryToCreateValue,\n queryToCreateLabel = defaultQueryToCreateLabel,\n\n // own item props\n itemToDisabled = defaultItemToDisabled,\n itemToLabel = defaultItemToLabel,\n itemToIcon = defaultItemToIcon,\n groupToLabel = defaultGroupToLabel,\n}: Props<Value, GroupShape>) => {\n const closeReasonRef = useRef<'outside-click' | 'item-press' | 'creatable-item-press' | 'none'>(\n 'none',\n );\n const [inputValue, setInputValue] = useState(() => {\n const initial = value !== undefined ? value : defaultValue;\n if (initial == null) return '';\n return itemToStringLabelProp?.(initial) ?? toLabel(initial);\n });\n\n useEffect(() => {\n if (value === undefined) return;\n const label = value === null ? '' : (itemToStringLabelProp?.(value) ?? toLabel(value));\n setInputValue((prev) => (prev === label ? prev : label));\n }, [value]); // eslint-disable-line react-hooks/exhaustive-deps\n\n const selectedLabel =\n value == null ? undefined : (itemToStringLabelProp?.(value) ?? toLabel(value));\n // While the input still shows the current selection's label (nothing typed since the popup\n // opened), treat it as an empty query so the whole list stays browsable. Otherwise the combobox\n // filters down to just the selected item and you can't switch to a different, unrelated one\n // without clearing first.\n const isShowingSelection = selectedLabel !== undefined && inputValue === selectedLabel;\n const query = (isShowingSelection ? '' : inputValue).trim();\n const queryLower = query.toLowerCase();\n\n const itemsProp = _itemsProp ?? [];\n const sampleItem = itemsProp.flatMap((item) => (isGroupItem(item) ? item.items : [item]))[0];\n\n const [createdItems, setCreatedItems] = useState<Value[]>([]);\n\n const allItems = (() => {\n if (createdItems.length === 0) return itemsProp as (Value | GroupShape)[];\n if (isGroupItems(itemsProp))\n return [...itemsProp, { items: createdItems } as unknown as GroupShape];\n return [...itemsProp, ...createdItems];\n })();\n\n const items = (() => {\n if (!allowCreate || disabled) return allItems;\n if (!query) return allItems;\n const exactMatch = allItems\n .flatMap((item) => (isGroupItem(item) ? item.items : [item]))\n .some(\n (item) => (itemToStringLabelProp?.(item) ?? toLabel(item)).toLowerCase() === queryLower,\n );\n if (exactMatch) return allItems;\n\n const creatable = isGroupItems(itemsProp)\n ? [{ items: [createCreatableItem(query)] }]\n : [createCreatableItem(query)];\n\n return [...allItems, ...creatable];\n })();\n\n const itemToStringLabel: ComboboxProps<Value>['itemToStringLabel'] = (value) => {\n if (isCreatableItem(value)) return value.value;\n return itemToStringLabelProp?.(value) ?? toLabel(value);\n };\n\n const wrappedFilter: ComboboxProps<Value>['filter'] = isShowingSelection\n ? () => true\n : !allowCreate || !filter\n ? filter\n : (item, ...args) => isCreatableItem(item) || filter(item, ...args);\n\n const wrappedItemToStringValue: ComboboxProps<Value>['itemToStringValue'] =\n !allowCreate || !itemToStringValue\n ? itemToStringValue\n : (item) => (isCreatableItem(item) ? item.value : itemToStringValue(item));\n\n const isItemEqualToValue: ComboboxProps<Value>['isItemEqualToValue'] = (a, b) => {\n if (isCreatableItem(a) || isCreatableItem(b)) return toValueKey(a) === toValueKey(b);\n return isItemEqualToValueProp?.(a, b) ?? Object.is(a, b);\n };\n\n const handleInputValueChange: NonNullable<ComboboxProps<Value>['onInputValueChange']> = (\n value,\n { reason },\n ) => {\n if (\n ['input-clear', 'none'].includes(reason) &&\n ['item-press', 'creatable-item-press'].includes(closeReasonRef.current)\n ) {\n closeReasonRef.current = 'none';\n return;\n }\n\n if (reason === 'none' && closeReasonRef.current == 'outside-click') {\n closeReasonRef.current = 'none';\n setInputValue(value);\n return;\n }\n\n setInputValue(value);\n };\n\n const handleOnOpenChangeComplete: NonNullable<ComboboxProps<Value>['onOpenChangeComplete']> = (\n open,\n ) => {\n onOpenChangeComplete?.(open);\n if (open) return;\n if (closeReasonRef.current !== 'none') return;\n closeReasonRef.current = 'outside-click';\n };\n\n const handleOnValueChange: ComboboxProps<Value>['onValueChange'] = (next, event) => {\n if (isCreatableItem(next)) {\n const newValue = defaultToCreateValue(next.value, sampleItem, queryToCreateValue) as Value;\n closeReasonRef.current = 'creatable-item-press';\n setCreatedItems((prev) => [...prev, newValue]);\n onValueChange?.(newValue, event);\n return;\n }\n\n closeReasonRef.current = 'item-press';\n onValueChange?.(next, event);\n };\n\n // State-backed (not a ref) so a re-render fires when the popup mounts/remounts — Base UI unmounts\n // the list on close, and the virtualizer must re-observe the fresh element on each reopen or it\n // measures a stale/detached node and paints nothing.\n const [listElement, setListElement] = useState<HTMLDivElement | null>(null);\n // Base the decision on `allItems` (the real options) rather than `items`, which also holds the\n // transient creatable row — otherwise virtualization could toggle on/off as the user types.\n const isGrouped = isGroupItems(allItems);\n const shouldVirtualize =\n !isGrouped &&\n (virtualized === true || (virtualized === 'auto' && allItems.length > VIRTUALIZE_THRESHOLD));\n\n // In virtualized mode we pre-filter here and disable Base UI's filter with `null` (see the Root\n // `filter` prop — `undefined` would keep Base UI's default `contains`, which re-filters our items\n // with a different predicate and wrongly drives the empty state + keyboard nav). The creatable\n // row is always kept.\n const matchesQuery = (item: Value) => {\n if (isCreatableItem(item)) return true;\n if (!query) return true;\n if (filter) return !!filter(item, query, (value) => itemToStringLabel(value) ?? toLabel(value));\n return (itemToStringLabel(item) ?? toLabel(item)).toLowerCase().includes(queryLower);\n };\n\n const virtualItems = shouldVirtualize ? (items as Value[]).filter(matchesQuery) : [];\n\n const virtualizer = useVirtualizer({\n count: virtualItems.length,\n getScrollElement: () => listElement,\n estimateSize: () => ESTIMATED_ROW_HEIGHT,\n overscan: 12,\n enabled: shouldVirtualize,\n // Seed a viewport height so rows paint on the first frame. Without it the list measures 0 until\n // the ResizeObserver fires (a frame later), which renders an empty popup on open.\n initialRect: { width: 0, height: ESTIMATED_LIST_HEIGHT },\n });\n\n const renderItem = (item: Value, index?: number) => {\n if (isCreatableItem(item)) {\n return (\n <Combobox.Item index={index} value={item} icon={<Plus />}>\n {queryToCreateLabel(item.value)}\n </Combobox.Item>\n );\n }\n\n return (\n <Combobox.Item\n index={index}\n value={item}\n indicator={indicator}\n icon={itemToIcon(item)}\n disabled={itemToDisabled(item)}\n >\n {itemToLabel(item)}\n </Combobox.Item>\n );\n };\n\n const rowStyle = (offset: number): CSSProperties => ({\n position: 'absolute',\n top: 0,\n left: 0,\n width: '100%',\n transform: `translateY(${offset}px)`,\n });\n\n return (\n <BaseCombobox.Root<Value, false>\n items={shouldVirtualize ? virtualItems : items}\n value={value}\n defaultValue={defaultValue}\n filter={shouldVirtualize ? null : wrappedFilter}\n onValueChange={handleOnValueChange}\n itemToStringLabel={itemToStringLabel}\n isItemEqualToValue={isItemEqualToValue}\n itemToStringValue={wrappedItemToStringValue}\n onOpenChangeComplete={handleOnOpenChangeComplete}\n disabled={disabled}\n inputRef={inputRef}\n inputValue={inputValue}\n onInputValueChange={handleInputValueChange}\n virtualized={shouldVirtualize}\n onItemHighlighted={(_, details) => {\n if (shouldVirtualize && details.reason === 'keyboard') {\n virtualizer.scrollToIndex(details.index);\n }\n }}\n >\n <ComboboxInputGroup\n variant={variant}\n sizing={sizing}\n state={state}\n focusVariant={focusVariant}\n className={className}\n >\n {prefix && <InputGroup.Addon align=\"inline-start\">{prefix}</InputGroup.Addon>}\n <ComboboxInput id={id} placeholder={placeholder} disabled={disabled} />\n <InputGroup.Addon align=\"inline-end\">\n {allowClear && (\n <InputGroup.Button asChild aria-label=\"Clear\" disabled={disabled}>\n <BaseCombobox.Clear>\n <X className=\"tw:size-4\" />\n </BaseCombobox.Clear>\n </InputGroup.Button>\n )}\n <InputGroup.Button disabled={disabled} asChild aria-label=\"Open combobox\">\n <BaseCombobox.Trigger>\n <ChevronDown className=\"tw:size-4\" />\n </BaseCombobox.Trigger>\n </InputGroup.Button>\n </InputGroup.Addon>\n </ComboboxInputGroup>\n <ComboboxContent>\n <ComboboxEmpty>{empty}</ComboboxEmpty>\n {shouldVirtualize ? (\n <ComboboxList ref={setListElement}>\n <div\n style={{\n position: 'relative',\n width: '100%',\n height: `${virtualizer.getTotalSize()}px`,\n }}\n >\n {virtualizer.getVirtualItems().map((row) => {\n const item = virtualItems[row.index];\n if (item === undefined) return null;\n return (\n <div\n key={row.key}\n data-index={row.index}\n ref={virtualizer.measureElement}\n style={rowStyle(row.start)}\n >\n {renderItem(item, row.index)}\n </div>\n );\n })}\n </div>\n </ComboboxList>\n ) : (\n <ComboboxList>\n {(itemOrGroup: Value | GroupShape) => {\n if (isCreatableItem(itemOrGroup))\n return (\n <Combobox.Item value={itemOrGroup} icon={<Plus />}>\n {queryToCreateLabel(itemOrGroup.value)}\n </Combobox.Item>\n );\n\n if (isGroupItem(itemOrGroup)) {\n const maybeCreatable = itemOrGroup.items[0];\n\n if (isCreatableItem(maybeCreatable)) {\n return (\n <Combobox.Item value={maybeCreatable} icon={<Plus />}>\n {queryToCreateLabel(maybeCreatable.value)}\n </Combobox.Item>\n );\n }\n\n const groupLabel = groupToLabel(itemOrGroup);\n\n return (\n <Combobox.Group items={itemOrGroup.items}>\n {groupLabel && <Combobox.GroupLabel>{groupLabel}</Combobox.GroupLabel>}\n {/* Don't forward `renderItem` by reference — the collection passes its\n group-local index, which ComboboxItem uses verbatim and breaks keyboard\n nav. Drop it so the item falls back to its own global list index. */}\n <Combobox.GroupList>{(item: Value) => renderItem(item)}</Combobox.GroupList>\n </Combobox.Group>\n );\n }\n\n return renderItem(itemOrGroup);\n }}\n </ComboboxList>\n )}\n </ComboboxContent>\n </BaseCombobox.Root>\n );\n};\n\n// Base\nCombobox.Root = ComboboxRoot;\nCombobox.InputGroup = ComboboxInputGroup;\nCombobox.Input = ComboboxInput;\nCombobox.Content = ComboboxContent;\nCombobox.List = ComboboxList;\nCombobox.Item = ComboboxItem;\nCombobox.Empty = ComboboxEmpty;\nCombobox.Value = BaseCombobox.Value;\nCombobox.Separator = ComboboxSeparator;\n\n// Group\nCombobox.Group = ComboboxGroup;\nCombobox.GroupLabel = ComboboxGroupLabel;\nCombobox.GroupList = ComboboxCollection;\n\n// Chips\nCombobox.Chips = ComboboxChips;\n"]}
|
|
@@ -0,0 +1,327 @@
|
|
|
1
|
+
import { BrandLogo } from './chunk-4FIZZONW.js';
|
|
2
|
+
import { ScrollArea } from './chunk-THHB4EWS.js';
|
|
3
|
+
import { Search } from './chunk-RQVK4IYC.js';
|
|
4
|
+
import { cn } from './chunk-LXLIQ2D6.js';
|
|
5
|
+
import { cva } from 'class-variance-authority';
|
|
6
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
7
|
+
import * as RadixAvatar from '@radix-ui/react-avatar';
|
|
8
|
+
import BoringAvatar from 'boring-avatars';
|
|
9
|
+
import { Root, Slottable, Slot } from '@radix-ui/react-slot';
|
|
10
|
+
|
|
11
|
+
var NavbarContent = ({ children, className }) => /* @__PURE__ */ jsx(
|
|
12
|
+
ScrollArea,
|
|
13
|
+
{
|
|
14
|
+
type: "auto",
|
|
15
|
+
orientation: "horizontal",
|
|
16
|
+
className: "tw:flex-1",
|
|
17
|
+
scrollBarClassName: "tw:h-1.5",
|
|
18
|
+
children: /* @__PURE__ */ jsx("div", { className: cn("tw:flex", "tw:py-1.5", className), children })
|
|
19
|
+
}
|
|
20
|
+
);
|
|
21
|
+
var NavbarFooter = ({ children, className, ...rest }) => /* @__PURE__ */ jsx("div", { ...rest, className: cn("tw:flex tw:items-center tw:gap-2 tw:py-1.5", className), children });
|
|
22
|
+
var NavbarHeader = ({ children, className, ...rest }) => (
|
|
23
|
+
// BrandLogo reads the nearest ThemeProvider (or the default context) and
|
|
24
|
+
// renders null when the active brand ships no logo, so no provider gate needed.
|
|
25
|
+
/* @__PURE__ */ jsx("div", { ...rest, className: cn("tw:overflow-hidden", "tw:py-1.5", className), children: children ?? /* @__PURE__ */ jsx(BrandLogo, { variant: "wordmark", className: "tw:h-7" }) })
|
|
26
|
+
);
|
|
27
|
+
var variants = cva(
|
|
28
|
+
["tw:m-0", "tw:p-0", "tw:flex", "tw:items-center", "tw:justify-center", "tw:gap-2"],
|
|
29
|
+
{
|
|
30
|
+
variants: {
|
|
31
|
+
marker: {
|
|
32
|
+
none: [],
|
|
33
|
+
"forward-slash": [
|
|
34
|
+
// Style all li children with pseudo-element marker
|
|
35
|
+
"tw:[&_li]:flex",
|
|
36
|
+
"tw:[&_li]:items-center",
|
|
37
|
+
'tw:[&_li]:before:content-["/"]',
|
|
38
|
+
"tw:[&_li]:before:text-border",
|
|
39
|
+
"tw:[&_li]:before:text-sm",
|
|
40
|
+
"tw:[&_li]:before:mr-0.5",
|
|
41
|
+
"tw:[&_li:not(:first-child)]:before:ml-0.5"
|
|
42
|
+
]
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
defaultVariants: {
|
|
46
|
+
marker: "none"
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
);
|
|
50
|
+
var NavbarMenu = ({ className, marker, ...rest }) => /* @__PURE__ */ jsx("ul", { ...rest, className: variants({ marker, className }) });
|
|
51
|
+
var NavbarMenuAvatar = ({ ref, className, type = "button", src, alt, ...rest }) => {
|
|
52
|
+
const altText = alt ?? "Avatar";
|
|
53
|
+
return /* @__PURE__ */ jsx(
|
|
54
|
+
"button",
|
|
55
|
+
{
|
|
56
|
+
...rest,
|
|
57
|
+
ref,
|
|
58
|
+
type,
|
|
59
|
+
className: cn(
|
|
60
|
+
"tw:flex",
|
|
61
|
+
"tw:items-center",
|
|
62
|
+
"tw:justify-center",
|
|
63
|
+
"tw:size-8",
|
|
64
|
+
"tw:aspect-square",
|
|
65
|
+
"tw:overflow-hidden",
|
|
66
|
+
"tw:shrink-0",
|
|
67
|
+
"tw:rounded-lg",
|
|
68
|
+
"tw:bg-transparent",
|
|
69
|
+
"tw:cursor-pointer",
|
|
70
|
+
// Disabled state
|
|
71
|
+
"tw:disabled:opacity-50",
|
|
72
|
+
"tw:disabled:cursor-not-allowed",
|
|
73
|
+
// Focus-visible (matches SidebarMenuButton exactly)
|
|
74
|
+
"tw:focus-visible:outline-hidden",
|
|
75
|
+
"tw:focus-visible:ring-2",
|
|
76
|
+
"tw:focus-visible:ring-sidebar-ring/50",
|
|
77
|
+
className
|
|
78
|
+
),
|
|
79
|
+
children: /* @__PURE__ */ jsxs(RadixAvatar.Root, { children: [
|
|
80
|
+
/* @__PURE__ */ jsx(RadixAvatar.Image, { src, alt: altText, className: "tw:size-full tw:object-cover" }),
|
|
81
|
+
/* @__PURE__ */ jsx(RadixAvatar.Fallback, { asChild: true, children: /* @__PURE__ */ jsx(
|
|
82
|
+
BoringAvatar,
|
|
83
|
+
{
|
|
84
|
+
square: true,
|
|
85
|
+
name: altText,
|
|
86
|
+
variant: "beam",
|
|
87
|
+
colors: ["#1F8FFF", "#004787", "#28D8FF", "#925cff", "#A8C2E6"],
|
|
88
|
+
size: 32
|
|
89
|
+
}
|
|
90
|
+
) })
|
|
91
|
+
] })
|
|
92
|
+
}
|
|
93
|
+
);
|
|
94
|
+
};
|
|
95
|
+
var variants2 = cva(
|
|
96
|
+
[
|
|
97
|
+
"tw:flex",
|
|
98
|
+
"tw:justify-center",
|
|
99
|
+
"tw:items-center",
|
|
100
|
+
'tw:[&_svg:not([class*="tw:size-"])]:size-3',
|
|
101
|
+
"tw:[&:not(svg)]:h-5",
|
|
102
|
+
"tw:[&:not(svg)]:min-w-5",
|
|
103
|
+
"tw:p-1",
|
|
104
|
+
"tw:aspect-square",
|
|
105
|
+
"tw:rounded-md"
|
|
106
|
+
],
|
|
107
|
+
{
|
|
108
|
+
defaultVariants: { variant: "icon-accent" },
|
|
109
|
+
variants: {
|
|
110
|
+
variant: {
|
|
111
|
+
icon: ["tw:text-sidebar-foreground", "tw:[&_svg]:text-sidebar-foreground"],
|
|
112
|
+
"icon-emphasized": ["tw:text-white", "tw:[&_svg]:text-white"],
|
|
113
|
+
"icon-accent": [
|
|
114
|
+
// color-aware accent styling
|
|
115
|
+
"tw:group-data-[accent=blue]/navbar:text-sidebar-primary",
|
|
116
|
+
"tw:group-data-[accent=blue]/navbar:[&_svg]:text-sidebar-primary",
|
|
117
|
+
"tw:group-data-[accent=purple]/navbar:text-purple-500",
|
|
118
|
+
"tw:group-data-[accent=purple]/navbar:[&_svg]:text-purple-500",
|
|
119
|
+
"tw:group-data-[accent=orange]/navbar:text-warning-500",
|
|
120
|
+
"tw:group-data-[accent=orange]/navbar:[&_svg]:text-warning-500",
|
|
121
|
+
"tw:group-data-[accent=green]/navbar:text-primary-500",
|
|
122
|
+
"tw:group-data-[accent=green]/navbar:[&_svg]:text-primary-500"
|
|
123
|
+
],
|
|
124
|
+
"icon-accent-emphasized": [
|
|
125
|
+
"tw:text-white",
|
|
126
|
+
"tw:[&_svg]:text-white",
|
|
127
|
+
"tw:group-data-[accent=blue]/navbar:bg-sidebar-primary",
|
|
128
|
+
"tw:group-data-[accent=purple]/navbar:bg-purple-500",
|
|
129
|
+
"tw:group-data-[accent=orange]/navbar:bg-warning-500",
|
|
130
|
+
"tw:group-data-[accent=green]/navbar:bg-primary-500"
|
|
131
|
+
],
|
|
132
|
+
"icon-button": ["tw:size-4", "tw:!p-0", 'tw:[&_svg:not([class*="tw:size-"])]:size-4'],
|
|
133
|
+
shortcut: ["tw:bg-muted", "tw:text-sidebar-foreground", "tw:ml-auto"]
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
);
|
|
138
|
+
var NavbarMenuItemAdornment = ({
|
|
139
|
+
ref,
|
|
140
|
+
asChild = false,
|
|
141
|
+
className,
|
|
142
|
+
variant = "icon-accent",
|
|
143
|
+
...props
|
|
144
|
+
}) => {
|
|
145
|
+
const Comp = asChild ? Slot : "span";
|
|
146
|
+
return /* @__PURE__ */ jsx(Comp, { ...props, ref, className: variants2({ variant, className }) });
|
|
147
|
+
};
|
|
148
|
+
var variants3 = cva(
|
|
149
|
+
[
|
|
150
|
+
"tw:group/navbar-menu-button",
|
|
151
|
+
"tw:box-border",
|
|
152
|
+
"tw:flex",
|
|
153
|
+
"tw:items-center",
|
|
154
|
+
"tw:gap-2",
|
|
155
|
+
"tw:bg-transparent",
|
|
156
|
+
"tw:leading-9",
|
|
157
|
+
"tw:border",
|
|
158
|
+
"tw:rounded-lg",
|
|
159
|
+
"tw:whitespace-nowrap",
|
|
160
|
+
"tw:select-none",
|
|
161
|
+
// focus-visible
|
|
162
|
+
"tw:!outline-hidden",
|
|
163
|
+
"tw:focus-visible:ring-2",
|
|
164
|
+
"tw:focus-visible:ring-sidebar-ring/50",
|
|
165
|
+
// disabled
|
|
166
|
+
"tw:disabled:opacity-50",
|
|
167
|
+
"tw:disabled:hover:bg-transparent",
|
|
168
|
+
"tw:disabled:cursor-not-allowed"
|
|
169
|
+
],
|
|
170
|
+
{
|
|
171
|
+
defaultVariants: {
|
|
172
|
+
variant: "default"
|
|
173
|
+
},
|
|
174
|
+
variants: {
|
|
175
|
+
variant: {
|
|
176
|
+
default: [
|
|
177
|
+
"tw:max-h-9",
|
|
178
|
+
"tw:border-transparent",
|
|
179
|
+
"tw:py-2",
|
|
180
|
+
"tw:px-1.5",
|
|
181
|
+
"tw:text-sidebar-foreground",
|
|
182
|
+
"tw:hover:bg-sidebar-accent",
|
|
183
|
+
"tw:aria-expanded:bg-sidebar-accent"
|
|
184
|
+
],
|
|
185
|
+
emphasized: [
|
|
186
|
+
"tw:max-h-9",
|
|
187
|
+
"tw:border-transparent",
|
|
188
|
+
"tw:py-2",
|
|
189
|
+
"tw:px-1.5",
|
|
190
|
+
"tw:text-sidebar-foreground",
|
|
191
|
+
"tw:hover:bg-sidebar-accent",
|
|
192
|
+
"tw:aria-expanded:bg-sidebar-accent",
|
|
193
|
+
"tw:font-semibold"
|
|
194
|
+
],
|
|
195
|
+
icon: [
|
|
196
|
+
"tw:size-8",
|
|
197
|
+
"tw:aspect-square",
|
|
198
|
+
"tw:justify-center",
|
|
199
|
+
"tw:font-normal",
|
|
200
|
+
"tw:border-transparent",
|
|
201
|
+
"tw:text-primary",
|
|
202
|
+
"tw:[&_svg]:!text-primary",
|
|
203
|
+
"tw:hover:bg-sidebar-accent",
|
|
204
|
+
"tw:aria-expanded:bg-sidebar-accent"
|
|
205
|
+
],
|
|
206
|
+
search: [
|
|
207
|
+
"tw:max-h-8",
|
|
208
|
+
"tw:min-w-52",
|
|
209
|
+
"tw:px-3",
|
|
210
|
+
"tw:py-1",
|
|
211
|
+
"tw:font-normal",
|
|
212
|
+
"tw:border-input",
|
|
213
|
+
"tw:text-muted-foreground",
|
|
214
|
+
"tw:[&_svg]:!text-muted-foreground"
|
|
215
|
+
]
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
);
|
|
220
|
+
var NavbarMenuButton = ({
|
|
221
|
+
ref,
|
|
222
|
+
className,
|
|
223
|
+
type = "button",
|
|
224
|
+
children,
|
|
225
|
+
icon,
|
|
226
|
+
asChild = false,
|
|
227
|
+
variant = "default",
|
|
228
|
+
...rest
|
|
229
|
+
}) => {
|
|
230
|
+
const Comp = asChild ? Root : "button";
|
|
231
|
+
const isSearchVariant = variant === "search";
|
|
232
|
+
const isEmphasizedVariant = variant === "emphasized";
|
|
233
|
+
const adornment = isSearchVariant ? /* @__PURE__ */ jsx(Search, {}) : icon;
|
|
234
|
+
const adornmentVariant = (() => {
|
|
235
|
+
if (isSearchVariant || variant === "icon") return "icon-button";
|
|
236
|
+
if (isEmphasizedVariant) return "icon-accent-emphasized";
|
|
237
|
+
return "icon-accent";
|
|
238
|
+
})();
|
|
239
|
+
return /* @__PURE__ */ jsxs(
|
|
240
|
+
Comp,
|
|
241
|
+
{
|
|
242
|
+
...rest,
|
|
243
|
+
ref,
|
|
244
|
+
type,
|
|
245
|
+
"data-variant": variant,
|
|
246
|
+
className: cn(variants3({ className, variant })),
|
|
247
|
+
children: [
|
|
248
|
+
adornment && /* @__PURE__ */ jsx(NavbarMenuItemAdornment, { variant: adornmentVariant, children: adornment }),
|
|
249
|
+
/* @__PURE__ */ jsx(Slottable, { children })
|
|
250
|
+
]
|
|
251
|
+
}
|
|
252
|
+
);
|
|
253
|
+
};
|
|
254
|
+
var NavbarMenuItem = ({ className, ...rest }) => /* @__PURE__ */ jsx("li", { ...rest, className: cn("tw:flex", "tw:items-center", "tw:gap-2", className) });
|
|
255
|
+
var navbarClassnames = cva(
|
|
256
|
+
[
|
|
257
|
+
"tailwindcss-preflight",
|
|
258
|
+
"tw:group/navbar",
|
|
259
|
+
"tw:sticky",
|
|
260
|
+
"tw:top-0",
|
|
261
|
+
"tw:z-50",
|
|
262
|
+
"tw:flex",
|
|
263
|
+
"tw:gap-2",
|
|
264
|
+
"tw:items-center",
|
|
265
|
+
// The left side is intentionally smaller to align the logo with the sidebar icons.
|
|
266
|
+
"tw:pl-2",
|
|
267
|
+
"tw:pr-3",
|
|
268
|
+
"tw:bg-sidebar",
|
|
269
|
+
// Pairs with `bg-sidebar` — required, not cosmetic.
|
|
270
|
+
// - Without it `currentColor` inside the bar resolves to the UA's black, invisible
|
|
271
|
+
// on the dark scheme's sidebar surface.
|
|
272
|
+
// - Content inheriting it: plain text, and a `BrandLogo` whose SVG fills with
|
|
273
|
+
// `currentColor`.
|
|
274
|
+
"tw:text-sidebar-foreground",
|
|
275
|
+
"tw:text-xs",
|
|
276
|
+
"tw:leading-4"
|
|
277
|
+
],
|
|
278
|
+
{
|
|
279
|
+
defaultVariants: {
|
|
280
|
+
bordered: false
|
|
281
|
+
},
|
|
282
|
+
variants: {
|
|
283
|
+
bordered: {
|
|
284
|
+
true: [
|
|
285
|
+
"tw:before:content",
|
|
286
|
+
"tw:before:h-0.5",
|
|
287
|
+
"tw:before:w-full",
|
|
288
|
+
"tw:before:absolute",
|
|
289
|
+
"tw:before:left-0",
|
|
290
|
+
"tw:before:top-0",
|
|
291
|
+
"tw:before:data-[accent=blue]:bg-sidebar-primary",
|
|
292
|
+
"tw:before:data-[accent=purple]:bg-purple-500",
|
|
293
|
+
"tw:before:data-[accent=green]:bg-primary-500",
|
|
294
|
+
"tw:before:data-[accent=orange]:bg-warning-500"
|
|
295
|
+
],
|
|
296
|
+
false: ""
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
);
|
|
301
|
+
var Navbar = ({ className, accent = "blue", bordered = false, ...rest }) => (
|
|
302
|
+
// A `<nav>` (not `<header>`): it's hosted inside `AppShell.Header`, which is
|
|
303
|
+
// already the `<header>` landmark — nesting a second `<header>` is invalid and
|
|
304
|
+
// muddies landmark navigation. `aria-label` comes first so a caller-supplied
|
|
305
|
+
// label in `...rest` overrides the default.
|
|
306
|
+
/* @__PURE__ */ jsx(
|
|
307
|
+
"nav",
|
|
308
|
+
{
|
|
309
|
+
"aria-label": "Main navigation",
|
|
310
|
+
...rest,
|
|
311
|
+
"data-accent": accent,
|
|
312
|
+
className: navbarClassnames({ bordered, className })
|
|
313
|
+
}
|
|
314
|
+
)
|
|
315
|
+
);
|
|
316
|
+
Navbar.Header = NavbarHeader;
|
|
317
|
+
Navbar.Footer = NavbarFooter;
|
|
318
|
+
Navbar.Content = NavbarContent;
|
|
319
|
+
Navbar.Menu = NavbarMenu;
|
|
320
|
+
Navbar.MenuItem = NavbarMenuItem;
|
|
321
|
+
Navbar.MenuButton = NavbarMenuButton;
|
|
322
|
+
Navbar.MenuItemAdornment = NavbarMenuItemAdornment;
|
|
323
|
+
Navbar.MenuAvatar = NavbarMenuAvatar;
|
|
324
|
+
|
|
325
|
+
export { Navbar };
|
|
326
|
+
//# sourceMappingURL=chunk-5FTNAZRW.js.map
|
|
327
|
+
//# sourceMappingURL=chunk-5FTNAZRW.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/Navbar/NavbarContent.tsx","../src/components/Navbar/NavbarFooter.tsx","../src/components/Navbar/NavbarHeader.tsx","../src/components/Navbar/NavbarMenu.tsx","../src/components/Navbar/NavbarMenuAvatar.tsx","../src/components/Navbar/NavbarMenuItemAdornment.tsx","../src/components/Navbar/NavbarMenuButton.tsx","../src/components/Navbar/NavbarMenuItem.tsx","../src/components/Navbar/Navbar.tsx"],"names":["jsx","variants","cva","Root","jsxs"],"mappings":"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","file":"chunk-5FTNAZRW.js","sourcesContent":["import type { ReactNode } from 'react';\n\nimport { cn } from '../../utils';\nimport { ScrollArea } from '../ScrollArea';\n\ntype Props = {\n className?: string;\n children?: ReactNode;\n};\n\nexport const NavbarContent = ({ children, className }: Props) => (\n <ScrollArea\n type=\"auto\"\n orientation=\"horizontal\"\n className=\"tw:flex-1\"\n scrollBarClassName=\"tw:h-1.5\"\n >\n <div className={cn('tw:flex', 'tw:py-1.5', className)}>{children}</div>\n </ScrollArea>\n);\n","import type { ComponentProps } from 'react';\n\nimport { cn } from '../../utils';\n\ntype Props = ComponentProps<'div'>;\n\n// `flex items-center`, not a bare block: this slot is documented to hold several\n// items (search, notifications, avatar). As a block they are inline-level boxes\n// aligned on a text baseline, so a button carrying an icon and a text-only button\n// sit at different heights — visibly off-centre against the bar. Centring them is\n// a no-op for the common single-`Navbar.Menu` child, and `gap` only applies\n// between siblings, so existing compositions keep their spacing.\nexport const NavbarFooter = ({ children, className, ...rest }: Props) => (\n <div {...rest} className={cn('tw:flex tw:items-center tw:gap-2 tw:py-1.5', className)}>\n {children}\n </div>\n);\n","import { type ComponentProps } from 'react';\n\nimport { cn } from '../../utils';\nimport { BrandLogo } from '../BrandLogo';\n\ntype Props = ComponentProps<'div'>;\n\nexport const NavbarHeader = ({ children, className, ...rest }: Props) => (\n // BrandLogo reads the nearest ThemeProvider (or the default context) and\n // renders null when the active brand ships no logo, so no provider gate needed.\n <div {...rest} className={cn('tw:overflow-hidden', 'tw:py-1.5', className)}>\n {children ?? <BrandLogo variant=\"wordmark\" className=\"tw:h-7\" />}\n </div>\n);\n","import type { ComponentProps } from 'react';\nimport type { VariantProps } from 'class-variance-authority';\nimport { cva } from 'class-variance-authority';\n\n// `tw:m-0` alongside `tw:p-0`: browsers give `<ul>` a default block margin. In a plain\n// app the scoped preflight resets it, but in kbc-ui the legacy Bootstrap layer (which sits\n// above the preflight so Bootstrap padding survives on its own elements) re-applies\n// `ul { margin-bottom: 10px }`, which then inflates this menu's height and pushes the whole\n// navbar row off-center. Resetting the margin explicitly (utilities beat the legacy layer)\n// keeps the row centered everywhere.\nconst variants = cva(\n ['tw:m-0', 'tw:p-0', 'tw:flex', 'tw:items-center', 'tw:justify-center', 'tw:gap-2'],\n {\n variants: {\n marker: {\n none: [],\n 'forward-slash': [\n // Style all li children with pseudo-element marker\n 'tw:[&_li]:flex',\n 'tw:[&_li]:items-center',\n 'tw:[&_li]:before:content-[\"/\"]',\n 'tw:[&_li]:before:text-border',\n 'tw:[&_li]:before:text-sm',\n 'tw:[&_li]:before:mr-0.5',\n 'tw:[&_li:not(:first-child)]:before:ml-0.5',\n ],\n },\n },\n defaultVariants: {\n marker: 'none',\n },\n },\n);\n\ntype Props = ComponentProps<'ul'> & VariantProps<typeof variants>;\n\nexport const NavbarMenu = ({ className, marker, ...rest }: Props) => (\n <ul {...rest} className={variants({ marker, className })} />\n);\n","import type { ComponentProps } from 'react';\nimport * as RadixAvatar from '@radix-ui/react-avatar';\nimport BoringAvatar from 'boring-avatars';\n\nimport { cn } from '../../utils';\n\ntype Props = ComponentProps<'button'> & {\n src?: string;\n alt?: string;\n};\n\nexport const NavbarMenuAvatar = ({ ref, className, type = 'button', src, alt, ...rest }: Props) => {\n const altText = alt ?? 'Avatar';\n\n return (\n <button\n {...rest}\n ref={ref}\n type={type}\n className={cn(\n 'tw:flex',\n 'tw:items-center',\n 'tw:justify-center',\n 'tw:size-8',\n\n 'tw:aspect-square',\n 'tw:overflow-hidden',\n 'tw:shrink-0',\n\n 'tw:rounded-lg',\n 'tw:bg-transparent',\n 'tw:cursor-pointer',\n\n // Disabled state\n 'tw:disabled:opacity-50',\n 'tw:disabled:cursor-not-allowed',\n\n // Focus-visible (matches SidebarMenuButton exactly)\n 'tw:focus-visible:outline-hidden',\n 'tw:focus-visible:ring-2',\n 'tw:focus-visible:ring-sidebar-ring/50',\n className,\n )}\n >\n <RadixAvatar.Root>\n <RadixAvatar.Image src={src} alt={altText} className=\"tw:size-full tw:object-cover\" />\n\n <RadixAvatar.Fallback asChild>\n <BoringAvatar\n square\n name={altText}\n variant=\"beam\"\n colors={['#1F8FFF', '#004787', '#28D8FF', '#925cff', '#A8C2E6']}\n size={32}\n />\n </RadixAvatar.Fallback>\n </RadixAvatar.Root>\n </button>\n );\n};\n","import type { ComponentProps } from 'react';\nimport { Slot } from '@radix-ui/react-slot';\nimport type { VariantProps } from 'class-variance-authority';\nimport { cva } from 'class-variance-authority';\n\nconst variants = cva(\n [\n 'tw:flex',\n 'tw:justify-center',\n 'tw:items-center',\n\n 'tw:[&_svg:not([class*=\"tw:size-\"])]:size-3',\n 'tw:[&:not(svg)]:h-5',\n 'tw:[&:not(svg)]:min-w-5',\n\n 'tw:p-1',\n 'tw:aspect-square',\n 'tw:rounded-md',\n ],\n {\n defaultVariants: { variant: 'icon-accent' },\n variants: {\n variant: {\n icon: ['tw:text-sidebar-foreground', 'tw:[&_svg]:text-sidebar-foreground'],\n 'icon-emphasized': ['tw:text-white', 'tw:[&_svg]:text-white'],\n 'icon-accent': [\n // color-aware accent styling\n 'tw:group-data-[accent=blue]/navbar:text-sidebar-primary',\n 'tw:group-data-[accent=blue]/navbar:[&_svg]:text-sidebar-primary',\n 'tw:group-data-[accent=purple]/navbar:text-purple-500',\n 'tw:group-data-[accent=purple]/navbar:[&_svg]:text-purple-500',\n 'tw:group-data-[accent=orange]/navbar:text-warning-500',\n 'tw:group-data-[accent=orange]/navbar:[&_svg]:text-warning-500',\n 'tw:group-data-[accent=green]/navbar:text-primary-500',\n 'tw:group-data-[accent=green]/navbar:[&_svg]:text-primary-500',\n ],\n 'icon-accent-emphasized': [\n 'tw:text-white',\n 'tw:[&_svg]:text-white',\n\n 'tw:group-data-[accent=blue]/navbar:bg-sidebar-primary',\n 'tw:group-data-[accent=purple]/navbar:bg-purple-500',\n 'tw:group-data-[accent=orange]/navbar:bg-warning-500',\n 'tw:group-data-[accent=green]/navbar:bg-primary-500',\n ],\n 'icon-button': ['tw:size-4', 'tw:!p-0', 'tw:[&_svg:not([class*=\"tw:size-\"])]:size-4'],\n shortcut: ['tw:bg-muted', 'tw:text-sidebar-foreground', 'tw:ml-auto'],\n },\n },\n },\n);\n\ntype Props = { asChild?: boolean } & ComponentProps<'span'> & VariantProps<typeof variants>;\n\nexport const NavbarMenuItemAdornment = ({\n ref,\n asChild = false,\n className,\n variant = 'icon-accent',\n ...props\n}: Props) => {\n const Comp = asChild ? Slot : 'span';\n\n return <Comp {...props} ref={ref} className={variants({ variant, className })} />;\n};\n","import type { ComponentProps, ReactNode } from 'react';\nimport { Root, Slottable } from '@radix-ui/react-slot';\nimport type { VariantProps } from 'class-variance-authority';\nimport { cva } from 'class-variance-authority';\n\nimport { Search } from '../../icons';\nimport { cn } from '../../utils';\n\nimport { NavbarMenuItemAdornment } from './NavbarMenuItemAdornment';\n\nconst variants = cva(\n [\n 'tw:group/navbar-menu-button',\n 'tw:box-border',\n 'tw:flex',\n 'tw:items-center',\n 'tw:gap-2',\n 'tw:bg-transparent',\n\n 'tw:leading-9',\n\n 'tw:border',\n 'tw:rounded-lg',\n 'tw:whitespace-nowrap',\n 'tw:select-none',\n\n // focus-visible\n 'tw:!outline-hidden',\n 'tw:focus-visible:ring-2',\n 'tw:focus-visible:ring-sidebar-ring/50',\n\n // disabled\n 'tw:disabled:opacity-50',\n 'tw:disabled:hover:bg-transparent',\n 'tw:disabled:cursor-not-allowed',\n ],\n {\n defaultVariants: {\n variant: 'default',\n },\n variants: {\n variant: {\n default: [\n 'tw:max-h-9',\n 'tw:border-transparent',\n 'tw:py-2',\n 'tw:px-1.5',\n 'tw:text-sidebar-foreground',\n 'tw:hover:bg-sidebar-accent',\n 'tw:aria-expanded:bg-sidebar-accent',\n ],\n emphasized: [\n 'tw:max-h-9',\n 'tw:border-transparent',\n 'tw:py-2',\n 'tw:px-1.5',\n\n 'tw:text-sidebar-foreground',\n 'tw:hover:bg-sidebar-accent',\n 'tw:aria-expanded:bg-sidebar-accent',\n\n 'tw:font-semibold',\n ],\n icon: [\n 'tw:size-8',\n 'tw:aspect-square',\n 'tw:justify-center',\n 'tw:font-normal',\n 'tw:border-transparent',\n 'tw:text-primary',\n 'tw:[&_svg]:!text-primary',\n 'tw:hover:bg-sidebar-accent',\n 'tw:aria-expanded:bg-sidebar-accent',\n ],\n search: [\n 'tw:max-h-8',\n 'tw:min-w-52',\n 'tw:px-3',\n 'tw:py-1',\n 'tw:font-normal',\n 'tw:border-input',\n 'tw:text-muted-foreground',\n 'tw:[&_svg]:!text-muted-foreground',\n ],\n },\n },\n },\n);\n\ntype Props = ComponentProps<'button'> & {\n /** Optional leading-icon slot. Pass a Lucide icon node to render an adornment before children. */\n icon?: ReactNode;\n asChild?: boolean;\n} & VariantProps<typeof variants>;\n\nexport const NavbarMenuButton = ({\n ref,\n className,\n type = 'button',\n children,\n icon,\n asChild = false,\n variant = 'default',\n ...rest\n}: Props) => {\n const Comp = asChild ? Root : 'button';\n const isSearchVariant = variant === 'search';\n const isEmphasizedVariant = variant === 'emphasized';\n const adornment = isSearchVariant ? <Search /> : icon;\n\n const adornmentVariant: ComponentProps<typeof NavbarMenuItemAdornment>['variant'] = (() => {\n if (isSearchVariant || variant === 'icon') return 'icon-button';\n if (isEmphasizedVariant) return 'icon-accent-emphasized';\n return 'icon-accent';\n })();\n\n return (\n <Comp\n {...rest}\n ref={ref}\n type={type}\n data-variant={variant}\n className={cn(variants({ className, variant }))}\n >\n {adornment && (\n <NavbarMenuItemAdornment variant={adornmentVariant}>{adornment}</NavbarMenuItemAdornment>\n )}\n\n <Slottable>{children}</Slottable>\n </Comp>\n );\n};\n","import type { ComponentProps } from 'react';\n\nimport { cn } from '../../utils';\n\ntype Props = ComponentProps<'li'>;\n\nexport const NavbarMenuItem = ({ className, ...rest }: Props) => (\n <li {...rest} className={cn('tw:flex', 'tw:items-center', 'tw:gap-2', className)} />\n);\n","import type { ComponentProps } from 'react';\nimport type { VariantProps } from 'class-variance-authority';\nimport { cva } from 'class-variance-authority';\n\nimport { NavbarContent } from './NavbarContent';\nimport { NavbarFooter } from './NavbarFooter';\nimport { NavbarHeader } from './NavbarHeader';\nimport { NavbarMenu } from './NavbarMenu';\nimport { NavbarMenuAvatar } from './NavbarMenuAvatar';\nimport { NavbarMenuButton } from './NavbarMenuButton';\nimport { NavbarMenuItem } from './NavbarMenuItem';\nimport { NavbarMenuItemAdornment } from './NavbarMenuItemAdornment';\n\nconst navbarClassnames = cva(\n [\n 'tailwindcss-preflight',\n 'tw:group/navbar',\n 'tw:sticky',\n 'tw:top-0',\n 'tw:z-50',\n 'tw:flex',\n 'tw:gap-2',\n 'tw:items-center',\n\n // The left side is intentionally smaller to align the logo with the sidebar icons.\n 'tw:pl-2',\n 'tw:pr-3',\n\n 'tw:bg-sidebar',\n // Pairs with `bg-sidebar` — required, not cosmetic.\n // - Without it `currentColor` inside the bar resolves to the UA's black, invisible\n // on the dark scheme's sidebar surface.\n // - Content inheriting it: plain text, and a `BrandLogo` whose SVG fills with\n // `currentColor`.\n 'tw:text-sidebar-foreground',\n 'tw:text-xs',\n 'tw:leading-4',\n ],\n {\n defaultVariants: {\n bordered: false,\n },\n variants: {\n bordered: {\n true: [\n 'tw:before:content',\n 'tw:before:h-0.5',\n 'tw:before:w-full',\n 'tw:before:absolute',\n 'tw:before:left-0',\n 'tw:before:top-0',\n 'tw:before:data-[accent=blue]:bg-sidebar-primary',\n 'tw:before:data-[accent=purple]:bg-purple-500',\n 'tw:before:data-[accent=green]:bg-primary-500',\n 'tw:before:data-[accent=orange]:bg-warning-500',\n ],\n false: '',\n },\n },\n },\n);\n\ntype Props = ComponentProps<'nav'> &\n VariantProps<typeof navbarClassnames> & {\n accent?: 'blue' | 'purple' | 'green' | 'orange';\n };\n\n/**\n * Top navigation bar for the app shell. Host inside `<AppShell.Header>` to give a\n * top-nav (or `keboola-legacy` top-bar) layout its primary navigation, brand mark,\n * and account/actions area.\n *\n * **Composition:** `Navbar.Header` (left — brand / logo), `Navbar.Content` (center —\n * primary `Navbar.Menu` of `Navbar.MenuItem` + `Navbar.MenuButton`, horizontally\n * scrollable), and `Navbar.Footer` (right — search, notifications, `Navbar.MenuAvatar`).\n * `bordered` renders a top accent hairline whose color follows `accent`. Renders a\n * `<nav>` landmark with a default `aria-label` — override it via `aria-label` /\n * `aria-labelledby` when a page has more than one nav.\n *\n * @see AppShell — pair with `AppShell.Header`; the sidebar rail uses `Sidebar` instead.\n */\nexport const Navbar = ({ className, accent = 'blue', bordered = false, ...rest }: Props) => (\n // A `<nav>` (not `<header>`): it's hosted inside `AppShell.Header`, which is\n // already the `<header>` landmark — nesting a second `<header>` is invalid and\n // muddies landmark navigation. `aria-label` comes first so a caller-supplied\n // label in `...rest` overrides the default.\n <nav\n aria-label=\"Main navigation\"\n {...rest}\n data-accent={accent}\n className={navbarClassnames({ bordered, className })}\n />\n);\n\nNavbar.Header = NavbarHeader;\nNavbar.Footer = NavbarFooter;\nNavbar.Content = NavbarContent;\n\nNavbar.Menu = NavbarMenu;\nNavbar.MenuItem = NavbarMenuItem;\nNavbar.MenuButton = NavbarMenuButton;\nNavbar.MenuItemAdornment = NavbarMenuItemAdornment;\nNavbar.MenuAvatar = NavbarMenuAvatar;\n"]}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { useArgoDesign } from './chunk-WETKNYZX.js';
|
|
2
|
+
import { cn } from './chunk-LXLIQ2D6.js';
|
|
3
|
+
import { Root, Trigger, Portal, Content } from '@radix-ui/react-hover-card';
|
|
4
|
+
import { jsx } from 'react/jsx-runtime';
|
|
5
|
+
|
|
6
|
+
var HoverCardContent = ({
|
|
7
|
+
ref,
|
|
8
|
+
className,
|
|
9
|
+
align = "center",
|
|
10
|
+
sideOffset = 4,
|
|
11
|
+
children,
|
|
12
|
+
...props
|
|
13
|
+
}) => {
|
|
14
|
+
const renderArgo = useArgoDesign();
|
|
15
|
+
return /* @__PURE__ */ jsx(Portal, { children: /* @__PURE__ */ jsx(
|
|
16
|
+
Content,
|
|
17
|
+
{
|
|
18
|
+
ref,
|
|
19
|
+
align,
|
|
20
|
+
sideOffset,
|
|
21
|
+
"data-slot": "hover-card-content",
|
|
22
|
+
"data-argo": renderArgo,
|
|
23
|
+
className: cn(
|
|
24
|
+
"tailwindcss-preflight",
|
|
25
|
+
"tw:group/hover-card-content",
|
|
26
|
+
"tw:z-50",
|
|
27
|
+
// border
|
|
28
|
+
"tw:box-border",
|
|
29
|
+
"tw:border",
|
|
30
|
+
"tw:rounded-2xl",
|
|
31
|
+
// sizing
|
|
32
|
+
"tw:min-w-32",
|
|
33
|
+
"tw:origin-(--radix-hover-card-content-transform-origin)",
|
|
34
|
+
"tw:max-h-[var(--radix-hover-card-content-available-height)]",
|
|
35
|
+
// padding + shared shadow
|
|
36
|
+
"tw:p-4",
|
|
37
|
+
"tw:shadow-md",
|
|
38
|
+
// legacy chrome — default
|
|
39
|
+
"tw:border-neutral-150 tw:bg-white",
|
|
40
|
+
// argo chrome overrides — semantic floating-panel tokens
|
|
41
|
+
"tw:data-[argo=true]:border-solid tw:data-[argo=true]:border-border tw:data-[argo=true]:bg-popover tw:data-[argo=true]:text-popover-foreground",
|
|
42
|
+
// directional animations
|
|
43
|
+
"tw:data-[side=bottom]:slide-in-from-top-2",
|
|
44
|
+
"tw:data-[side=left]:slide-in-from-right-2",
|
|
45
|
+
"tw:data-[side=right]:slide-in-from-left-2",
|
|
46
|
+
"tw:data-[side=top]:slide-in-from-bottom-2",
|
|
47
|
+
// animations
|
|
48
|
+
"tw:data-[state=open]:animate-in",
|
|
49
|
+
"tw:data-[state=open]:fade-in-0",
|
|
50
|
+
"tw:data-[state=open]:zoom-in-95",
|
|
51
|
+
"tw:data-[state=closed]:animate-out",
|
|
52
|
+
"tw:data-[state=closed]:fade-out-0",
|
|
53
|
+
"tw:data-[state=closed]:zoom-out-95",
|
|
54
|
+
// Default size for nested Lucide icons; callers can override on the icon.
|
|
55
|
+
"tw:[&_svg.lucide:not([class*='tw:size-'])]:size-4",
|
|
56
|
+
"tw:[&_svg]:shrink-0",
|
|
57
|
+
className
|
|
58
|
+
),
|
|
59
|
+
...props,
|
|
60
|
+
children
|
|
61
|
+
}
|
|
62
|
+
) });
|
|
63
|
+
};
|
|
64
|
+
var HoverCard = ({ openDelay = 200, closeDelay = 200, ...rest }) => /* @__PURE__ */ jsx(Root, { ...rest, openDelay, closeDelay });
|
|
65
|
+
HoverCard.Content = HoverCardContent;
|
|
66
|
+
HoverCard.Trigger = Trigger;
|
|
67
|
+
|
|
68
|
+
export { HoverCard };
|
|
69
|
+
//# sourceMappingURL=chunk-5IG2S7ZY.js.map
|
|
70
|
+
//# sourceMappingURL=chunk-5IG2S7ZY.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/HoverCard/HoverCardContent.tsx","../src/components/HoverCard/HoverCard.tsx"],"names":["jsx"],"mappings":";;;;;AAQO,IAAM,mBAAmB,CAAC;AAAA,EAC/B,GAAA;AAAA,EACA,SAAA;AAAA,EACA,KAAA,GAAQ,QAAA;AAAA,EACR,UAAA,GAAa,CAAA;AAAA,EACb,QAAA;AAAA,EACA,GAAG;AACL,CAAA,KAAa;AACX,EAAA,MAAM,aAAa,aAAA,EAAc;AACjC,EAAA,2BACG,MAAA,EAAA,EACC,QAAA,kBAAA,GAAA;AAAA,IAAC,OAAA;AAAA,IAAA;AAAA,MACC,GAAA;AAAA,MACA,KAAA;AAAA,MACA,UAAA;AAAA,MACA,WAAA,EAAU,oBAAA;AAAA,MACV,WAAA,EAAW,UAAA;AAAA,MACX,SAAA,EAAW,EAAA;AAAA,QACT,uBAAA;AAAA,QACA,6BAAA;AAAA,QACA,SAAA;AAAA;AAAA,QAGA,eAAA;AAAA,QACA,WAAA;AAAA,QACA,gBAAA;AAAA;AAAA,QAGA,aAAA;AAAA,QACA,yDAAA;AAAA,QACA,6DAAA;AAAA;AAAA,QAGA,QAAA;AAAA,QACA,cAAA;AAAA;AAAA,QAGA,mCAAA;AAAA;AAAA,QAEA,+IAAA;AAAA;AAAA,QAGA,2CAAA;AAAA,QACA,2CAAA;AAAA,QACA,2CAAA;AAAA,QACA,2CAAA;AAAA;AAAA,QAGA,iCAAA;AAAA,QACA,gCAAA;AAAA,QACA,iCAAA;AAAA,QACA,oCAAA;AAAA,QACA,mCAAA;AAAA,QACA,oCAAA;AAAA;AAAA,QAGA,mDAAA;AAAA,QACA,qBAAA;AAAA,QAEA;AAAA,OACF;AAAA,MACC,GAAG,KAAA;AAAA,MAEH;AAAA;AAAA,GACH,EACF,CAAA;AAEJ,CAAA;ACpEO,IAAM,YAAY,CAAC,EAAE,SAAA,GAAY,GAAA,EAAK,aAAa,GAAA,EAAK,GAAG,IAAA,EAAK,qBACrEA,GAAAA,CAAC,IAAA,EAAA,EAAM,GAAG,IAAA,EAAM,WAAsB,UAAA,EAAwB;AAGhE,SAAA,CAAU,OAAA,GAAU,gBAAA;AACpB,SAAA,CAAU,OAAA,GAAU,OAAA","file":"chunk-5IG2S7ZY.js","sourcesContent":["import type { ComponentProps } from 'react';\nimport { Content, Portal } from '@radix-ui/react-hover-card';\n\nimport { cn } from '../../utils';\nimport { useArgoDesign } from '../ThemeProvider/context';\n\ntype Props = ComponentProps<typeof Content>;\n\nexport const HoverCardContent = ({\n ref,\n className,\n align = 'center',\n sideOffset = 4,\n children,\n ...props\n}: Props) => {\n const renderArgo = useArgoDesign();\n return (\n <Portal>\n <Content\n ref={ref}\n align={align}\n sideOffset={sideOffset}\n data-slot=\"hover-card-content\"\n data-argo={renderArgo}\n className={cn(\n 'tailwindcss-preflight',\n 'tw:group/hover-card-content',\n 'tw:z-50',\n\n // border\n 'tw:box-border',\n 'tw:border',\n 'tw:rounded-2xl',\n\n // sizing\n 'tw:min-w-32',\n 'tw:origin-(--radix-hover-card-content-transform-origin)',\n 'tw:max-h-[var(--radix-hover-card-content-available-height)]',\n\n // padding + shared shadow\n 'tw:p-4',\n 'tw:shadow-md',\n\n // legacy chrome — default\n 'tw:border-neutral-150 tw:bg-white',\n // argo chrome overrides — semantic floating-panel tokens\n 'tw:data-[argo=true]:border-solid tw:data-[argo=true]:border-border tw:data-[argo=true]:bg-popover tw:data-[argo=true]:text-popover-foreground',\n\n // directional animations\n 'tw:data-[side=bottom]:slide-in-from-top-2',\n 'tw:data-[side=left]:slide-in-from-right-2',\n 'tw:data-[side=right]:slide-in-from-left-2',\n 'tw:data-[side=top]:slide-in-from-bottom-2',\n\n // animations\n 'tw:data-[state=open]:animate-in',\n 'tw:data-[state=open]:fade-in-0',\n 'tw:data-[state=open]:zoom-in-95',\n 'tw:data-[state=closed]:animate-out',\n 'tw:data-[state=closed]:fade-out-0',\n 'tw:data-[state=closed]:zoom-out-95',\n\n // Default size for nested Lucide icons; callers can override on the icon.\n \"tw:[&_svg.lucide:not([class*='tw:size-'])]:size-4\",\n 'tw:[&_svg]:shrink-0',\n\n className,\n )}\n {...props}\n >\n {children}\n </Content>\n </Portal>\n );\n};\n","import type { ComponentProps } from 'react';\nimport { Root, Trigger } from '@radix-ui/react-hover-card';\n\nimport { HoverCardContent } from './HoverCardContent';\n\ntype Props = ComponentProps<typeof Root>;\n\nexport const HoverCard = ({ openDelay = 200, closeDelay = 200, ...rest }: Props) => (\n <Root {...rest} openDelay={openDelay} closeDelay={closeDelay} />\n);\n\nHoverCard.Content = HoverCardContent;\nHoverCard.Trigger = Trigger;\n"]}
|