@mdigital_ui/ui 0.3.0 → 0.3.2
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/README.md +574 -994
- package/dist/accordion/index.d.ts +6 -0
- package/dist/accordion/index.d.ts.map +1 -0
- package/dist/accordion/index.js +1 -1
- package/dist/accordion/types.d.ts +125 -0
- package/dist/accordion/types.d.ts.map +1 -0
- package/dist/avatar/index.d.ts +14 -0
- package/dist/avatar/index.d.ts.map +1 -0
- package/dist/avatar/types.d.ts +147 -0
- package/dist/avatar/types.d.ts.map +1 -0
- package/dist/badge/index.d.ts +28 -0
- package/dist/badge/index.d.ts.map +1 -0
- package/dist/badge/index.js +1 -1
- package/dist/badge/types.d.ts +97 -0
- package/dist/badge/types.d.ts.map +1 -0
- package/dist/breadcrumbs/index.d.ts +13 -0
- package/dist/breadcrumbs/index.d.ts.map +1 -0
- package/dist/breadcrumbs/index.js +3 -3
- package/dist/breadcrumbs/types.d.ts +118 -0
- package/dist/breadcrumbs/types.d.ts.map +1 -0
- package/dist/button/index.d.ts +6 -0
- package/dist/button/index.d.ts.map +1 -0
- package/dist/button/index.js +1 -1
- package/dist/button/types.d.ts +86 -0
- package/dist/button/types.d.ts.map +1 -0
- package/dist/button-group/index.d.ts +34 -0
- package/dist/button-group/index.d.ts.map +1 -0
- package/dist/button-group/types.d.ts +75 -0
- package/dist/button-group/types.d.ts.map +1 -0
- package/dist/card/index.d.ts +71 -0
- package/dist/card/index.d.ts.map +1 -0
- package/dist/card/index.js +1 -1
- package/dist/card/types.d.ts +136 -0
- package/dist/card/types.d.ts.map +1 -0
- package/dist/carousel/carousel-navigation.d.ts +9 -0
- package/dist/carousel/carousel-navigation.d.ts.map +1 -0
- package/dist/carousel/index.d.ts +50 -0
- package/dist/carousel/index.d.ts.map +1 -0
- package/dist/carousel/index.js +1 -1
- package/dist/cascader/index.d.ts +27 -0
- package/dist/cascader/index.d.ts.map +1 -0
- package/dist/cascader/index.js +1 -1
- package/dist/cascader/types.d.ts +220 -0
- package/dist/cascader/types.d.ts.map +1 -0
- package/dist/checkbox/index.d.ts +6 -0
- package/dist/checkbox/index.d.ts.map +1 -0
- package/dist/checkbox/types.d.ts +21 -0
- package/dist/checkbox/types.d.ts.map +1 -0
- package/dist/checkbox-group/index.d.ts +6 -0
- package/dist/checkbox-group/index.d.ts.map +1 -0
- package/dist/checkbox-group/types.d.ts +43 -0
- package/dist/checkbox-group/types.d.ts.map +1 -0
- package/dist/{chunk-5JOJBDET.js → chunk-2K7MDR7K.js} +3 -3
- package/dist/chunk-2K7MDR7K.js.map +1 -0
- package/dist/{chunk-VY3X4SDU.js → chunk-2SYAIIJE.js} +3 -3
- package/dist/{chunk-VY3X4SDU.js.map → chunk-2SYAIIJE.js.map} +1 -1
- package/dist/{chunk-3HBMVZF5.js → chunk-623OVNLC.js} +4 -4
- package/dist/{chunk-3HBMVZF5.js.map → chunk-623OVNLC.js.map} +1 -1
- package/dist/{chunk-2NYVRAG4.js → chunk-6JGNJI5T.js} +2 -3
- package/dist/chunk-6JGNJI5T.js.map +1 -0
- package/dist/{chunk-UHVPOGNC.js → chunk-6QZFWSN7.js} +4 -4
- package/dist/chunk-6QZFWSN7.js.map +1 -0
- package/dist/{chunk-5VORB55Y.js → chunk-7P3Q6H2V.js} +3 -3
- package/dist/{chunk-5VORB55Y.js.map → chunk-7P3Q6H2V.js.map} +1 -1
- package/dist/{chunk-YWGWFGCY.js → chunk-BVO2BNFG.js} +129 -24
- package/dist/chunk-BVO2BNFG.js.map +1 -0
- package/dist/{chunk-CO766H7F.js → chunk-D53OQERO.js} +3 -4
- package/dist/chunk-D53OQERO.js.map +1 -0
- package/dist/{chunk-HWFI4GJE.js → chunk-DRCT6VZ7.js} +5 -5
- package/dist/{chunk-HWFI4GJE.js.map → chunk-DRCT6VZ7.js.map} +1 -1
- package/dist/{chunk-RPIJ2KY7.js → chunk-DUNER5Q3.js} +3 -3
- package/dist/{chunk-RPIJ2KY7.js.map → chunk-DUNER5Q3.js.map} +1 -1
- package/dist/{chunk-KTHWXHDN.js → chunk-E222IQHF.js} +3 -3
- package/dist/chunk-E222IQHF.js.map +1 -0
- package/dist/{chunk-CLLNXRYZ.js → chunk-GIWG6BCT.js} +26 -5
- package/dist/chunk-GIWG6BCT.js.map +1 -0
- package/dist/{chunk-FZLFCT6Q.js → chunk-HQVTIFXN.js} +4 -4
- package/dist/chunk-HQVTIFXN.js.map +1 -0
- package/dist/{chunk-Q57THXIU.js → chunk-HXPMYGSR.js} +16 -5
- package/dist/chunk-HXPMYGSR.js.map +1 -0
- package/dist/{chunk-OL2GU2O3.js → chunk-I75ZSXD6.js} +3 -3
- package/dist/{chunk-OL2GU2O3.js.map → chunk-I75ZSXD6.js.map} +1 -1
- package/dist/{chunk-XQJ6HZ4Q.js → chunk-I7MESP7F.js} +12 -12
- package/dist/chunk-I7MESP7F.js.map +1 -0
- package/dist/{chunk-UTKVWE76.js → chunk-ITCXCSUS.js} +7 -6
- package/dist/chunk-ITCXCSUS.js.map +1 -0
- package/dist/{chunk-7KA7JSRX.js → chunk-KJRKPYYZ.js} +88 -105
- package/dist/chunk-KJRKPYYZ.js.map +1 -0
- package/dist/{chunk-RZVEKAFR.js → chunk-M3AALH7G.js} +3 -3
- package/dist/chunk-M3AALH7G.js.map +1 -0
- package/dist/{chunk-HLY4VDIX.js → chunk-MBAZ7OW5.js} +7 -7
- package/dist/chunk-MBAZ7OW5.js.map +1 -0
- package/dist/{chunk-ILQQTKD4.js → chunk-MOQDO4XZ.js} +3 -3
- package/dist/chunk-MOQDO4XZ.js.map +1 -0
- package/dist/{chunk-L572AMB3.js → chunk-OKCKLIFP.js} +3 -3
- package/dist/{chunk-L572AMB3.js.map → chunk-OKCKLIFP.js.map} +1 -1
- package/dist/{chunk-J6IJBRYT.js → chunk-OSHJYIHC.js} +11 -11
- package/dist/{chunk-J6IJBRYT.js.map → chunk-OSHJYIHC.js.map} +1 -1
- package/dist/{chunk-ZRSSFP52.js → chunk-OV6K6GML.js} +3 -3
- package/dist/{chunk-ZRSSFP52.js.map → chunk-OV6K6GML.js.map} +1 -1
- package/dist/{chunk-4TQ4BZ3S.js → chunk-QC7XNMM7.js} +7 -7
- package/dist/chunk-QC7XNMM7.js.map +1 -0
- package/dist/{chunk-YTUB2Q7P.js → chunk-QLUGKHAA.js} +4 -5
- package/dist/chunk-QLUGKHAA.js.map +1 -0
- package/dist/{chunk-22MY7IWD.js → chunk-SJHNFRXG.js} +3 -3
- package/dist/{chunk-22MY7IWD.js.map → chunk-SJHNFRXG.js.map} +1 -1
- package/dist/{chunk-FJPMIXWU.js → chunk-SX5UNM6C.js} +3 -3
- package/dist/{chunk-FJPMIXWU.js.map → chunk-SX5UNM6C.js.map} +1 -1
- package/dist/{chunk-TBMY5EQC.js → chunk-TBH7QF26.js} +5 -4
- package/dist/chunk-TBH7QF26.js.map +1 -0
- package/dist/{chunk-HEV27FUK.js → chunk-UK4RHCMM.js} +3 -4
- package/dist/chunk-UK4RHCMM.js.map +1 -0
- package/dist/{chunk-2J57G7XG.js → chunk-UN3EW2PL.js} +13 -22
- package/dist/chunk-UN3EW2PL.js.map +1 -0
- package/dist/{chunk-ITZBSE5F.js → chunk-VKLDLJXG.js} +3 -3
- package/dist/chunk-VKLDLJXG.js.map +1 -0
- package/dist/{chunk-WUBMNJGC.js → chunk-VOODO2ZE.js} +64 -25
- package/dist/chunk-VOODO2ZE.js.map +1 -0
- package/dist/{chunk-FEMHXG2P.js → chunk-WAPZ4QAN.js} +3 -3
- package/dist/{chunk-FEMHXG2P.js.map → chunk-WAPZ4QAN.js.map} +1 -1
- package/dist/{chunk-KPM72QBO.js → chunk-X5XIBIEF.js} +4 -4
- package/dist/chunk-X5XIBIEF.js.map +1 -0
- package/dist/{chunk-IVOMN6DV.js → chunk-XHDUO3UW.js} +3 -4
- package/dist/chunk-XHDUO3UW.js.map +1 -0
- package/dist/{chunk-RW4RW4DV.js → chunk-XOIX5WIL.js} +5 -3
- package/dist/chunk-XOIX5WIL.js.map +1 -0
- package/dist/{chunk-CSRMVLPR.js → chunk-XWEI3MES.js} +32 -12
- package/dist/chunk-XWEI3MES.js.map +1 -0
- package/dist/{chunk-SAVEKACZ.js → chunk-YPHVSPWM.js} +4 -4
- package/dist/chunk-YPHVSPWM.js.map +1 -0
- package/dist/{chunk-ZFYEAPEL.js → chunk-ZHPYJTWP.js} +4 -4
- package/dist/{chunk-ZFYEAPEL.js.map → chunk-ZHPYJTWP.js.map} +1 -1
- package/dist/{chunk-DQQLJ5C5.js → chunk-ZPVBIQ2R.js} +3 -3
- package/dist/{chunk-DQQLJ5C5.js.map → chunk-ZPVBIQ2R.js.map} +1 -1
- package/dist/{chunk-WTGCXWNX.js → chunk-ZQTJBYKO.js} +3 -3
- package/dist/chunk-ZQTJBYKO.js.map +1 -0
- package/dist/{chunk-KPI7MN5V.js → chunk-ZSS6E4T2.js} +39 -14
- package/dist/chunk-ZSS6E4T2.js.map +1 -0
- package/dist/{chunk-N3ZVPIFC.js → chunk-ZYWDJMHF.js} +4 -4
- package/dist/chunk-ZYWDJMHF.js.map +1 -0
- package/dist/clipboard/index.d.ts +6 -0
- package/dist/clipboard/index.d.ts.map +1 -0
- package/dist/clipboard/index.js +1 -1
- package/dist/clipboard/types.d.ts +65 -0
- package/dist/clipboard/types.d.ts.map +1 -0
- package/dist/collapse/index.d.ts +6 -0
- package/dist/collapse/index.d.ts.map +1 -0
- package/dist/collapse/index.js +1 -1
- package/dist/collapse/types.d.ts +60 -0
- package/dist/collapse/types.d.ts.map +1 -0
- package/dist/command/index.d.ts +74 -0
- package/dist/command/index.d.ts.map +1 -0
- package/dist/command/index.js +2 -2
- package/dist/command/types.d.ts +24 -0
- package/dist/command/types.d.ts.map +1 -0
- package/dist/context-menu/index.d.ts +63 -0
- package/dist/context-menu/index.d.ts.map +1 -0
- package/dist/context-menu/index.js +1 -1
- package/dist/context-menu/types.d.ts +109 -0
- package/dist/context-menu/types.d.ts.map +1 -0
- package/dist/date-picker/index.d.ts +12 -0
- package/dist/date-picker/index.d.ts.map +1 -0
- package/dist/date-picker/index.js +2 -2
- package/dist/date-picker/types.d.ts +66 -0
- package/dist/date-picker/types.d.ts.map +1 -0
- package/dist/date-picker/utils.d.ts +10 -0
- package/dist/date-picker/utils.d.ts.map +1 -0
- package/dist/descriptions/index.d.ts +6 -0
- package/dist/descriptions/index.d.ts.map +1 -0
- package/dist/descriptions/index.js +1 -1
- package/dist/descriptions/types.d.ts +34 -0
- package/dist/descriptions/types.d.ts.map +1 -0
- package/dist/divider/index.d.ts +39 -0
- package/dist/divider/index.d.ts.map +1 -0
- package/dist/divider/index.js +1 -1
- package/dist/divider/types.d.ts +63 -0
- package/dist/divider/types.d.ts.map +1 -0
- package/dist/drawer/index.d.ts +23 -0
- package/dist/drawer/index.d.ts.map +1 -0
- package/dist/drawer/index.js +1 -1
- package/dist/drawer/types.d.ts +309 -0
- package/dist/drawer/types.d.ts.map +1 -0
- package/dist/dropdown/index.d.ts +6 -0
- package/dist/dropdown/index.d.ts.map +1 -0
- package/dist/dropdown/index.js +2 -2
- package/dist/dropdown/types.d.ts +116 -0
- package/dist/dropdown/types.d.ts.map +1 -0
- package/dist/empty/index.d.ts +6 -0
- package/dist/empty/index.d.ts.map +1 -0
- package/dist/empty/types.d.ts +62 -0
- package/dist/empty/types.d.ts.map +1 -0
- package/dist/fetching-overlay/index.d.ts +10 -0
- package/dist/fetching-overlay/index.d.ts.map +1 -0
- package/dist/fetching-overlay/index.js +1 -1
- package/dist/float-input/index.d.ts +6 -0
- package/dist/float-input/index.d.ts.map +1 -0
- package/dist/float-input/index.js +1 -1
- package/dist/float-input/types.d.ts +23 -0
- package/dist/float-input/types.d.ts.map +1 -0
- package/dist/form/index.d.ts +31 -0
- package/dist/form/index.d.ts.map +1 -0
- package/dist/form/types.d.ts +45 -0
- package/dist/form/types.d.ts.map +1 -0
- package/dist/grid/index.d.ts +6 -0
- package/dist/grid/index.d.ts.map +1 -0
- package/dist/grid/types.d.ts +21 -0
- package/dist/grid/types.d.ts.map +1 -0
- package/dist/image/index.d.ts +6 -0
- package/dist/image/index.d.ts.map +1 -0
- package/dist/image/index.js +1 -1
- package/dist/image/types.d.ts +53 -0
- package/dist/image/types.d.ts.map +1 -0
- package/dist/index.d.ts +139 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +46 -46
- package/dist/input/index.d.ts +6 -0
- package/dist/input/index.d.ts.map +1 -0
- package/dist/input/index.js +1 -1
- package/dist/input/types.d.ts +28 -0
- package/dist/input/types.d.ts.map +1 -0
- package/dist/input-group/index.d.ts +9 -0
- package/dist/input-group/index.d.ts.map +1 -0
- package/dist/input-group/types.d.ts +68 -0
- package/dist/input-group/types.d.ts.map +1 -0
- package/dist/input-otp/index.d.ts +7 -0
- package/dist/input-otp/index.d.ts.map +1 -0
- package/dist/input-otp/index.js +1 -1
- package/dist/input-otp/types.d.ts +111 -0
- package/dist/input-otp/types.d.ts.map +1 -0
- package/dist/input-password/index.d.ts +7 -0
- package/dist/input-password/index.d.ts.map +1 -0
- package/dist/input-password/index.js +2 -2
- package/dist/input-password/types.d.ts +34 -0
- package/dist/input-password/types.d.ts.map +1 -0
- package/dist/kbd/index.d.ts +6 -0
- package/dist/kbd/index.d.ts.map +1 -0
- package/dist/kbd/types.d.ts +26 -0
- package/dist/kbd/types.d.ts.map +1 -0
- package/dist/link/index.d.ts +9 -0
- package/dist/link/index.d.ts.map +1 -0
- package/dist/link/types.d.ts +30 -0
- package/dist/link/types.d.ts.map +1 -0
- package/dist/menubar/index.d.ts +6 -0
- package/dist/menubar/index.d.ts.map +1 -0
- package/dist/menubar/index.js +2 -2
- package/dist/menubar/types.d.ts +40 -0
- package/dist/menubar/types.d.ts.map +1 -0
- package/dist/modal/index.d.ts +39 -0
- package/dist/modal/index.d.ts.map +1 -0
- package/dist/modal/index.js +1 -1
- package/dist/modal/types.d.ts +77 -0
- package/dist/modal/types.d.ts.map +1 -0
- package/dist/multi-select/index.d.ts +6 -0
- package/dist/multi-select/index.d.ts.map +1 -0
- package/dist/multi-select/index.js +2 -2
- package/dist/multi-select/types.d.ts +81 -0
- package/dist/multi-select/types.d.ts.map +1 -0
- package/dist/multi-select/utils.d.ts +12 -0
- package/dist/multi-select/utils.d.ts.map +1 -0
- package/dist/navigation-menu/index.d.ts +5 -0
- package/dist/navigation-menu/index.d.ts.map +1 -0
- package/dist/navigation-menu/index.js +1 -1
- package/dist/navigation-menu/types.d.ts +37 -0
- package/dist/navigation-menu/types.d.ts.map +1 -0
- package/dist/notification/index.d.ts +6 -0
- package/dist/notification/index.d.ts.map +1 -0
- package/dist/notification/index.js +1 -1
- package/dist/notification/types.d.ts +90 -0
- package/dist/notification/types.d.ts.map +1 -0
- package/dist/number-input/index.d.ts +6 -0
- package/dist/number-input/index.d.ts.map +1 -0
- package/dist/number-input/index.js +1 -1
- package/dist/number-input/types.d.ts +28 -0
- package/dist/number-input/types.d.ts.map +1 -0
- package/dist/pagination/index.d.ts +6 -0
- package/dist/pagination/index.d.ts.map +1 -0
- package/dist/pagination/index.js +1 -1
- package/dist/pagination/types.d.ts +87 -0
- package/dist/pagination/types.d.ts.map +1 -0
- package/dist/popover/index.d.ts +19 -0
- package/dist/popover/index.d.ts.map +1 -0
- package/dist/popover/index.js +1 -1
- package/dist/popover/types.d.ts +31 -0
- package/dist/popover/types.d.ts.map +1 -0
- package/dist/progress/index.d.ts +6 -0
- package/dist/progress/index.d.ts.map +1 -0
- package/dist/progress/index.js +1 -1
- package/dist/progress/types.d.ts +100 -0
- package/dist/progress/types.d.ts.map +1 -0
- package/dist/radio/index.d.ts +6 -0
- package/dist/radio/index.d.ts.map +1 -0
- package/dist/radio/index.js +1 -1
- package/dist/radio/types.d.ts +20 -0
- package/dist/radio/types.d.ts.map +1 -0
- package/dist/radio-group/index.d.ts +6 -0
- package/dist/radio-group/index.d.ts.map +1 -0
- package/dist/radio-group/types.d.ts +43 -0
- package/dist/radio-group/types.d.ts.map +1 -0
- package/dist/rating/index.d.ts +6 -0
- package/dist/rating/index.d.ts.map +1 -0
- package/dist/rating/types.d.ts +64 -0
- package/dist/rating/types.d.ts.map +1 -0
- package/dist/ribbon/index.d.ts +6 -0
- package/dist/ribbon/index.d.ts.map +1 -0
- package/dist/ribbon/types.d.ts +26 -0
- package/dist/ribbon/types.d.ts.map +1 -0
- package/dist/scroll-area/index.d.ts +10 -0
- package/dist/scroll-area/index.d.ts.map +1 -0
- package/dist/scroll-area/types.d.ts +24 -0
- package/dist/scroll-area/types.d.ts.map +1 -0
- package/dist/select/index.d.ts +6 -0
- package/dist/select/index.d.ts.map +1 -0
- package/dist/select/index.js +2 -2
- package/dist/select/types.d.ts +34 -0
- package/dist/select/types.d.ts.map +1 -0
- package/dist/skeleton/index.d.ts +6 -0
- package/dist/skeleton/index.d.ts.map +1 -0
- package/dist/skeleton/types.d.ts +10 -0
- package/dist/skeleton/types.d.ts.map +1 -0
- package/dist/slider/index.d.ts +6 -0
- package/dist/slider/index.d.ts.map +1 -0
- package/dist/slider/types.d.ts +70 -0
- package/dist/slider/types.d.ts.map +1 -0
- package/dist/spinner/index.d.ts +6 -0
- package/dist/spinner/index.d.ts.map +1 -0
- package/dist/spinner/types.d.ts +10 -0
- package/dist/spinner/types.d.ts.map +1 -0
- package/dist/stepper/index.d.ts +6 -0
- package/dist/stepper/index.d.ts.map +1 -0
- package/dist/stepper/index.js +1 -1
- package/dist/stepper/types.d.ts +86 -0
- package/dist/stepper/types.d.ts.map +1 -0
- package/dist/styles/global.css +7651 -0
- package/dist/styles/themes/dark.css +93 -0
- package/dist/styles/themes/index.d.ts +9 -0
- package/dist/styles/themes/index.d.ts.map +1 -0
- package/dist/styles/themes/light.css +89 -0
- package/dist/styles/themes/presets/corporate.css +126 -0
- package/dist/styles/themes/presets/index.d.ts +21 -0
- package/dist/styles/themes/presets/index.d.ts.map +1 -0
- package/dist/styles/themes/presets/minimal.css +126 -0
- package/dist/styles/themes/presets/vibrant.css +126 -0
- package/dist/styles/tokens.d.ts +428 -0
- package/dist/styles/tokens.d.ts.map +1 -0
- package/dist/switch/index.d.ts +6 -0
- package/dist/switch/index.d.ts.map +1 -0
- package/dist/switch/types.d.ts +80 -0
- package/dist/switch/types.d.ts.map +1 -0
- package/dist/table/EditableCell.d.ts +13 -0
- package/dist/table/EditableCell.d.ts.map +1 -0
- package/dist/table/TableActions.d.ts +21 -0
- package/dist/table/TableActions.d.ts.map +1 -0
- package/dist/table/TableCell.d.ts +12 -0
- package/dist/table/TableCell.d.ts.map +1 -0
- package/dist/table/TableHeaderCell.d.ts +16 -0
- package/dist/table/TableHeaderCell.d.ts.map +1 -0
- package/dist/table/TableRow.d.ts +16 -0
- package/dist/table/TableRow.d.ts.map +1 -0
- package/dist/table/TableSkeleton.d.ts +13 -0
- package/dist/table/TableSkeleton.d.ts.map +1 -0
- package/dist/table/index.d.ts +15 -0
- package/dist/table/index.d.ts.map +1 -0
- package/dist/table/index.js +6 -6
- package/dist/table/types.d.ts +110 -0
- package/dist/table/types.d.ts.map +1 -0
- package/dist/table/variants.d.ts +8 -0
- package/dist/table/variants.d.ts.map +1 -0
- package/dist/tabs/index.d.ts +7 -0
- package/dist/tabs/index.d.ts.map +1 -0
- package/dist/tabs/index.js +1 -1
- package/dist/tabs/types.d.ts +86 -0
- package/dist/tabs/types.d.ts.map +1 -0
- package/dist/tag/index.d.ts +49 -0
- package/dist/tag/index.d.ts.map +1 -0
- package/dist/tag/index.js +1 -1
- package/dist/tag/types.d.ts +23 -0
- package/dist/tag/types.d.ts.map +1 -0
- package/dist/textarea/index.d.ts +6 -0
- package/dist/textarea/index.d.ts.map +1 -0
- package/dist/textarea/index.js +1 -1
- package/dist/textarea/types.d.ts +84 -0
- package/dist/textarea/types.d.ts.map +1 -0
- package/dist/theme/ThemeProvider.d.ts +44 -0
- package/dist/theme/ThemeProvider.d.ts.map +1 -0
- package/dist/theme/index.d.ts +7 -0
- package/dist/theme/index.d.ts.map +1 -0
- package/dist/theme/types.d.ts +47 -0
- package/dist/theme/types.d.ts.map +1 -0
- package/dist/timeline/index.d.ts +13 -0
- package/dist/timeline/index.d.ts.map +1 -0
- package/dist/timeline/types.d.ts +25 -0
- package/dist/timeline/types.d.ts.map +1 -0
- package/dist/toast/index.d.ts +12 -0
- package/dist/toast/index.d.ts.map +1 -0
- package/dist/toast/types.d.ts +49 -0
- package/dist/toast/types.d.ts.map +1 -0
- package/dist/toggle/index.d.ts +6 -0
- package/dist/toggle/index.d.ts.map +1 -0
- package/dist/toggle/index.js +1 -1
- package/dist/toggle/types.d.ts +57 -0
- package/dist/toggle/types.d.ts.map +1 -0
- package/dist/toggle-group/index.d.ts +6 -0
- package/dist/toggle-group/index.d.ts.map +1 -0
- package/dist/toggle-group/index.js +1 -1
- package/dist/toggle-group/types.d.ts +80 -0
- package/dist/toggle-group/types.d.ts.map +1 -0
- package/dist/tooltip/index.d.ts +9 -0
- package/dist/tooltip/index.d.ts.map +1 -0
- package/dist/tooltip/index.js +1 -1
- package/dist/tooltip/types.d.ts +72 -0
- package/dist/tooltip/types.d.ts.map +1 -0
- package/dist/transfer/index.d.ts +6 -0
- package/dist/transfer/index.d.ts.map +1 -0
- package/dist/transfer/types.d.ts +83 -0
- package/dist/transfer/types.d.ts.map +1 -0
- package/dist/transfer/utils.d.ts +13 -0
- package/dist/transfer/utils.d.ts.map +1 -0
- package/dist/tree/index.d.ts +6 -0
- package/dist/tree/index.d.ts.map +1 -0
- package/dist/tree/index.js +1 -1
- package/dist/tree/types.d.ts +143 -0
- package/dist/tree/types.d.ts.map +1 -0
- package/dist/tree-select/index.d.ts +6 -0
- package/dist/tree-select/index.d.ts.map +1 -0
- package/dist/tree-select/index.js +3 -3
- package/dist/tree-select/types.d.ts +147 -0
- package/dist/tree-select/types.d.ts.map +1 -0
- package/dist/types.d.ts +53 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/upload/index.d.ts +7 -0
- package/dist/upload/index.d.ts.map +1 -0
- package/dist/upload/index.js +1 -1
- package/dist/upload/types.d.ts +94 -0
- package/dist/upload/types.d.ts.map +1 -0
- package/dist/upload/utils.d.ts +26 -0
- package/dist/upload/utils.d.ts.map +1 -0
- package/dist/utils.d.ts +63 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/variants.d.ts +434 -0
- package/dist/variants.d.ts.map +1 -0
- package/package.json +157 -143
- package/dist/chunk-2J57G7XG.js.map +0 -1
- package/dist/chunk-2NYVRAG4.js.map +0 -1
- package/dist/chunk-4TQ4BZ3S.js.map +0 -1
- package/dist/chunk-5JOJBDET.js.map +0 -1
- package/dist/chunk-7KA7JSRX.js.map +0 -1
- package/dist/chunk-CLLNXRYZ.js.map +0 -1
- package/dist/chunk-CO766H7F.js.map +0 -1
- package/dist/chunk-CSRMVLPR.js.map +0 -1
- package/dist/chunk-FZLFCT6Q.js.map +0 -1
- package/dist/chunk-HEV27FUK.js.map +0 -1
- package/dist/chunk-HLY4VDIX.js.map +0 -1
- package/dist/chunk-ILQQTKD4.js.map +0 -1
- package/dist/chunk-ITZBSE5F.js.map +0 -1
- package/dist/chunk-IVOMN6DV.js.map +0 -1
- package/dist/chunk-KPI7MN5V.js.map +0 -1
- package/dist/chunk-KPM72QBO.js.map +0 -1
- package/dist/chunk-KTHWXHDN.js.map +0 -1
- package/dist/chunk-N3ZVPIFC.js.map +0 -1
- package/dist/chunk-Q57THXIU.js.map +0 -1
- package/dist/chunk-RW4RW4DV.js.map +0 -1
- package/dist/chunk-RZVEKAFR.js.map +0 -1
- package/dist/chunk-SAVEKACZ.js.map +0 -1
- package/dist/chunk-TBMY5EQC.js.map +0 -1
- package/dist/chunk-UHVPOGNC.js.map +0 -1
- package/dist/chunk-UTKVWE76.js.map +0 -1
- package/dist/chunk-WTGCXWNX.js.map +0 -1
- package/dist/chunk-WUBMNJGC.js.map +0 -1
- package/dist/chunk-XQJ6HZ4Q.js.map +0 -1
- package/dist/chunk-YTUB2Q7P.js.map +0 -1
- package/dist/chunk-YWGWFGCY.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/breadcrumbs/index.tsx"],"names":[],"mappings":"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","file":"chunk-5VORB55Y.js","sourcesContent":["'use client'\n\nimport { cva } from 'class-variance-authority'\nimport { ChevronRight, MoreHorizontal, MoreVertical } from 'lucide-react'\nimport React from 'react'\n\nimport Dropdown from '../dropdown'\nimport { cn, iconSizes } from '../utils'\nimport { textColorVariants } from '../variants'\nimport type {\n BreadcrumbEllipsisProps,\n BreadcrumbItemProps,\n BreadcrumbLinkProps,\n BreadcrumbListProps,\n BreadcrumbPageProps,\n BreadcrumbProps,\n BreadcrumbsColor,\n BreadcrumbSeparatorProps,\n BreadcrumbsSize,\n} from './types'\n\nexport type { BreadcrumbItemData } from './types'\n\ninterface BreadcrumbContextValue {\n color?: BreadcrumbsColor\n size?: BreadcrumbsSize\n classNames?: {\n list?: string\n item?: string\n link?: string\n separator?: string\n current?: string\n }\n}\n\nconst BreadcrumbContext = React.createContext<BreadcrumbContextValue>({})\n\nconst breadcrumbVariants = cva('', {\n variants: {\n size: {\n xs: 'text-xs',\n sm: 'text-sm',\n md: 'text-base',\n lg: 'text-lg',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n})\n\nconst Breadcrumb = React.memo<BreadcrumbProps>(\n ({\n children,\n items,\n color = 'default',\n size = 'md',\n separator,\n className,\n classNames,\n }) => {\n const content = items?.length ? (\n <BreadcrumbList>\n {items.map((item, index) => {\n const isLast = index === items.length - 1\n return (\n <React.Fragment key={index}>\n <BreadcrumbItem>\n {item.ellipsis ? (\n <BreadcrumbEllipsis\n orientation={item.ellipsisOrientation || 'horizontal'}\n items={item.ellipsisItems || []}\n size={size}\n />\n ) : isLast ? (\n <BreadcrumbPage\n leftIcon={item.leftIcon}\n rightIcon={item.rightIcon}\n >\n {item.label}\n </BreadcrumbPage>\n ) : (\n <BreadcrumbLink\n href={item.href || ''}\n onClick={item.onClick}\n leftIcon={item.leftIcon}\n rightIcon={item.rightIcon}\n >\n {item.label}\n </BreadcrumbLink>\n )}\n </BreadcrumbItem>\n {!isLast && (\n <BreadcrumbSeparator size={size}>\n {separator}\n </BreadcrumbSeparator>\n )}\n </React.Fragment>\n )\n })}\n </BreadcrumbList>\n ) : (\n children\n )\n\n return (\n <BreadcrumbContext.Provider value={{ color, size, classNames }}>\n <nav\n aria-label=\"breadcrumb\"\n className={cn(\n 'breadcrumbs_root',\n breadcrumbVariants({ size }),\n textColorVariants({ color }),\n classNames?.root,\n className,\n )}\n >\n {content}\n </nav>\n </BreadcrumbContext.Provider>\n )\n },\n)\n\nBreadcrumb.displayName = 'Breadcrumb'\n\nexport const BreadcrumbList = React.memo<BreadcrumbListProps>(\n ({ children, className }) => {\n const { classNames } = React.useContext(BreadcrumbContext)\n\n return (\n <ol\n className={cn(\n 'breadcrumbs_list',\n 'flex items-center gap-1.5',\n classNames?.list,\n className,\n )}\n >\n {children}\n </ol>\n )\n },\n)\n\nBreadcrumbList.displayName = 'BreadcrumbList'\n\nexport const BreadcrumbItem = React.memo<BreadcrumbItemProps>(\n ({ children, className }) => {\n const { classNames } = React.useContext(BreadcrumbContext)\n\n return (\n <li\n className={cn(\n 'breadcrumbs_item',\n 'inline-flex items-center gap-1.5',\n classNames?.item,\n className,\n )}\n >\n {children}\n </li>\n )\n },\n)\n\nBreadcrumbItem.displayName = 'BreadcrumbItem'\n\nexport const BreadcrumbLink = React.memo<BreadcrumbLinkProps>(\n ({ children, href, onClick, leftIcon, rightIcon, className }) => {\n const { classNames } = React.useContext(BreadcrumbContext)\n\n const handleClick = (e: React.MouseEvent) => {\n if (onClick) {\n e.preventDefault()\n onClick()\n }\n }\n\n const content = (\n <>\n {leftIcon && (\n <span className=\"inline-flex items-center\">{leftIcon}</span>\n )}\n {children}\n {rightIcon && (\n <span className=\"inline-flex items-center\">{rightIcon}</span>\n )}\n </>\n )\n\n const linkClasses = cn(\n 'breadcrumbs_link',\n 'inline-flex items-center gap-1.5 transition-colors hover:underline cursor-pointer',\n classNames?.link,\n className,\n )\n\n if (href) {\n return (\n <a\n href={href}\n onClick={handleClick}\n className={linkClasses}\n >\n {content}\n </a>\n )\n }\n\n if (onClick) {\n return (\n <button\n type=\"button\"\n onClick={handleClick}\n className={linkClasses}\n >\n {content}\n </button>\n )\n }\n\n return (\n <span\n className={cn(\n 'breadcrumbs_link',\n 'inline-flex items-center gap-1.5',\n classNames?.link,\n className,\n )}\n >\n {content}\n </span>\n )\n },\n)\n\nBreadcrumbLink.displayName = 'BreadcrumbLink'\n\nexport const BreadcrumbPage = React.memo<BreadcrumbPageProps>(\n ({ children, leftIcon, rightIcon, className }) => {\n const { classNames } = React.useContext(BreadcrumbContext)\n\n return (\n <span\n aria-current=\"page\"\n className={cn(\n 'breadcrumbs_current',\n 'inline-flex items-center gap-1.5 font-medium',\n classNames?.current,\n className,\n )}\n >\n {leftIcon && (\n <span className=\"inline-flex items-center\">{leftIcon}</span>\n )}\n {children}\n {rightIcon && (\n <span className=\"inline-flex items-center\">{rightIcon}</span>\n )}\n </span>\n )\n },\n)\n\nBreadcrumbPage.displayName = 'BreadcrumbPage'\n\nexport const BreadcrumbSeparator = React.memo<BreadcrumbSeparatorProps>(\n ({ children, className, size = 'md' }) => {\n const { classNames } = React.useContext(BreadcrumbContext)\n\n return (\n <span\n className={cn(\n 'breadcrumbs_separator',\n 'text-text-secondary',\n classNames?.separator,\n className,\n )}\n >\n {children ?? <ChevronRight className={iconSizes[size]} />}\n </span>\n )\n },\n)\n\nBreadcrumbSeparator.displayName = 'BreadcrumbSeparator'\n\n/**\n * Validates URL to prevent open redirect vulnerabilities\n * Only allows relative URLs or same-origin URLs\n */\nconst isValidNavigationUrl = (href: string): boolean => {\n // Allow relative URLs starting with / or #\n if (href.startsWith('/') || href.startsWith('#') || href.startsWith('?')) {\n return true\n }\n\n // Block javascript: and other dangerous protocols\n const dangerousProtocols = ['javascript:', 'data:', 'vbscript:']\n const lowerHref = href.toLowerCase()\n if (dangerousProtocols.some(protocol => lowerHref.startsWith(protocol))) {\n return false\n }\n\n // For absolute URLs, verify same origin\n try {\n const url = new URL(href, window.location.origin)\n return url.origin === window.location.origin\n } catch {\n // If URL parsing fails, allow it (likely a relative URL)\n return true\n }\n}\n\nexport const BreadcrumbEllipsis = React.memo<BreadcrumbEllipsisProps>(\n ({ orientation = 'horizontal', items, children, className, size = 'md' }) => {\n const Icon = orientation === 'horizontal' ? MoreHorizontal : MoreVertical\n const isInteractive = !!(items?.length || children)\n\n const ellipsisButton = (\n <span\n role={isInteractive ? 'button' : 'presentation'}\n aria-hidden={isInteractive ? undefined : true}\n aria-label={isInteractive ? 'Show more breadcrumbs' : undefined}\n tabIndex={isInteractive ? 0 : undefined}\n className={cn(\n 'flex items-center justify-center',\n isInteractive && 'cursor-pointer',\n className,\n )}\n >\n <Icon className={iconSizes[size]} />\n <span className=\"sr-only\">More</span>\n </span>\n )\n\n // If items or children are provided, wrap in Dropdown\n if (items || children) {\n const dropdownItems = (items || []).map((item) => ({\n label: item.label || '',\n value: item.label || '',\n onClick:\n item.onClick ||\n (() => {\n // Validate URL before navigation to prevent open redirect\n if (item.href && isValidNavigationUrl(item.href)) {\n window.location.href = item.href\n }\n }),\n }))\n\n return <Dropdown items={dropdownItems}>{ellipsisButton}</Dropdown>\n }\n\n return ellipsisButton\n },\n)\n\nBreadcrumbEllipsis.displayName = 'BreadcrumbEllipsis'\n\nexport type * from './types'\nexport default Breadcrumb\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/breadcrumbs/index.tsx"],"names":[],"mappings":";;;;;;;;AAmCA,IAAM,iBAAA,GAAoB,KAAA,CAAM,aAAA,CAAsC,EAAE,CAAA;AAExE,IAAM,kBAAA,GAAqB,IAAI,EAAA,EAAI;AAAA,EACjC,QAAA,EAAU;AAAA,IACR,IAAA,EAAM;AAAA,MACJ,EAAA,EAAI,SAAA;AAAA,MACJ,EAAA,EAAI,SAAA;AAAA,MACJ,EAAA,EAAI,WAAA;AAAA,MACJ,EAAA,EAAI;AAAA;AACN,GACF;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,IAAA,EAAM;AAAA;AAEV,CAAC,CAAA;AAED,IAAM,aAAa,KAAA,CAAM,IAAA;AAAA,EACvB,CAAC;AAAA,IACC,QAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA,GAAQ,SAAA;AAAA,IACR,IAAA,GAAO,IAAA;AAAA,IACP,SAAA;AAAA,IACA,SAAA;AAAA,IACA;AAAA,GACF,KAAM;AACJ,IAAA,MAAM,OAAA,GAAU,OAAO,MAAA,mBACrB,GAAA,CAAC,kBACE,QAAA,EAAA,KAAA,CAAM,GAAA,CAAI,CAAC,IAAA,EAAM,KAAA,KAAU;AAC1B,MAAA,MAAM,MAAA,GAAS,KAAA,KAAU,KAAA,CAAM,MAAA,GAAS,CAAA;AACxC,MAAA,uBACE,IAAA,CAAC,KAAA,CAAM,QAAA,EAAN,EACC,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,cAAA,EAAA,EACE,eAAK,QAAA,mBACJ,GAAA;AAAA,UAAC,kBAAA;AAAA,UAAA;AAAA,YACC,WAAA,EAAa,KAAK,mBAAA,IAAuB,YAAA;AAAA,YACzC,KAAA,EAAO,IAAA,CAAK,aAAA,IAAiB,EAAC;AAAA,YAC9B;AAAA;AAAA,YAEA,MAAA,mBACF,GAAA;AAAA,UAAC,cAAA;AAAA,UAAA;AAAA,YACC,UAAU,IAAA,CAAK,QAAA;AAAA,YACf,WAAW,IAAA,CAAK,SAAA;AAAA,YAEf,QAAA,EAAA,IAAA,CAAK;AAAA;AAAA,SACR,mBAEA,GAAA;AAAA,UAAC,cAAA;AAAA,UAAA;AAAA,YACC,IAAA,EAAM,KAAK,IAAA,IAAQ,EAAA;AAAA,YACnB,SAAS,IAAA,CAAK,OAAA;AAAA,YACd,UAAU,IAAA,CAAK,QAAA;AAAA,YACf,WAAW,IAAA,CAAK,SAAA;AAAA,YAEf,QAAA,EAAA,IAAA,CAAK;AAAA;AAAA,SACR,EAEJ,CAAA;AAAA,QACC,CAAC,MAAA,oBACA,GAAA,CAAC,mBAAA,EAAA,EAAoB,MAClB,QAAA,EAAA,SAAA,EACH;AAAA,OAAA,EAAA,EA7BiB,KA+BrB,CAAA;AAAA,IAEJ,CAAC,GACH,CAAA,GAEA,QAAA;AAGF,IAAA,uBACE,GAAA,CAAC,kBAAkB,QAAA,EAAlB,EAA2B,OAAO,EAAE,KAAA,EAAO,IAAA,EAAM,UAAA,EAAW,EAC3D,QAAA,kBAAA,GAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,YAAA,EAAW,YAAA;AAAA,QACX,SAAA,EAAW,EAAA;AAAA,UACT,kBAAA;AAAA,UACA,kBAAA,CAAmB,EAAE,IAAA,EAAM,CAAA;AAAA,UAC3B,iBAAA,CAAkB,EAAE,KAAA,EAAO,CAAA;AAAA,UAC3B,UAAA,EAAY,IAAA;AAAA,UACZ;AAAA,SACF;AAAA,QAEC,QAAA,EAAA;AAAA;AAAA,KACH,EACF,CAAA;AAAA,EAEJ;AACF,CAAA;AAEA,UAAA,CAAW,WAAA,GAAc,YAAA;AAElB,IAAM,iBAAiB,KAAA,CAAM,IAAA;AAAA,EAClC,CAAC,EAAE,QAAA,EAAU,SAAA,EAAU,KAAM;AAC3B,IAAA,MAAM,EAAE,UAAA,EAAW,GAAI,KAAA,CAAM,WAAW,iBAAiB,CAAA;AAEzD,IAAA,uBACE,GAAA;AAAA,MAAC,IAAA;AAAA,MAAA;AAAA,QACC,SAAA,EAAW,EAAA;AAAA,UACT,kBAAA;AAAA,UACA,2BAAA;AAAA,UACA,UAAA,EAAY,IAAA;AAAA,UACZ;AAAA,SACF;AAAA,QAEC;AAAA;AAAA,KACH;AAAA,EAEJ;AACF;AAEA,cAAA,CAAe,WAAA,GAAc,gBAAA;AAEtB,IAAM,iBAAiB,KAAA,CAAM,IAAA;AAAA,EAClC,CAAC,EAAE,QAAA,EAAU,SAAA,EAAU,KAAM;AAC3B,IAAA,MAAM,EAAE,UAAA,EAAW,GAAI,KAAA,CAAM,WAAW,iBAAiB,CAAA;AAEzD,IAAA,uBACE,GAAA;AAAA,MAAC,IAAA;AAAA,MAAA;AAAA,QACC,SAAA,EAAW,EAAA;AAAA,UACT,kBAAA;AAAA,UACA,kCAAA;AAAA,UACA,UAAA,EAAY,IAAA;AAAA,UACZ;AAAA,SACF;AAAA,QAEC;AAAA;AAAA,KACH;AAAA,EAEJ;AACF;AAEA,cAAA,CAAe,WAAA,GAAc,gBAAA;AAEtB,IAAM,iBAAiB,KAAA,CAAM,IAAA;AAAA,EAClC,CAAC,EAAE,QAAA,EAAU,IAAA,EAAM,SAAS,QAAA,EAAU,SAAA,EAAW,WAAU,KAAM;AAC/D,IAAA,MAAM,EAAE,UAAA,EAAW,GAAI,KAAA,CAAM,WAAW,iBAAiB,CAAA;AAEzD,IAAA,MAAM,WAAA,GAAc,CAAC,CAAA,KAAwB;AAC3C,MAAA,IAAI,OAAA,EAAS;AACX,QAAA,CAAA,CAAE,cAAA,EAAe;AACjB,QAAA,OAAA,EAAQ;AAAA,MACV;AAAA,IACF,CAAA;AAEA,IAAA,MAAM,0BACJ,IAAA,CAAA,QAAA,EAAA,EACG,QAAA,EAAA;AAAA,MAAA,QAAA,oBACC,GAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,0BAAA,EAA4B,QAAA,EAAA,QAAA,EAAS,CAAA;AAAA,MAEtD,QAAA;AAAA,MACA,SAAA,oBACC,GAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,4BAA4B,QAAA,EAAA,SAAA,EAAU;AAAA,KAAA,EAE1D,CAAA;AAGF,IAAA,MAAM,WAAA,GAAc,EAAA;AAAA,MAClB,kBAAA;AAAA,MACA,mFAAA;AAAA,MACA,UAAA,EAAY,IAAA;AAAA,MACZ;AAAA,KACF;AAEA,IAAA,IAAI,IAAA,EAAM;AACR,MAAA,uBACE,GAAA;AAAA,QAAC,GAAA;AAAA,QAAA;AAAA,UACC,IAAA;AAAA,UACA,OAAA,EAAS,WAAA;AAAA,UACT,SAAA,EAAW,WAAA;AAAA,UAEV,QAAA,EAAA;AAAA;AAAA,OACH;AAAA,IAEJ;AAEA,IAAA,IAAI,OAAA,EAAS;AACX,MAAA,uBACE,GAAA;AAAA,QAAC,QAAA;AAAA,QAAA;AAAA,UACC,IAAA,EAAK,QAAA;AAAA,UACL,OAAA,EAAS,WAAA;AAAA,UACT,SAAA,EAAW,WAAA;AAAA,UAEV,QAAA,EAAA;AAAA;AAAA,OACH;AAAA,IAEJ;AAEA,IAAA,uBACE,GAAA;AAAA,MAAC,MAAA;AAAA,MAAA;AAAA,QACC,SAAA,EAAW,EAAA;AAAA,UACT,kBAAA;AAAA,UACA,kCAAA;AAAA,UACA,UAAA,EAAY,IAAA;AAAA,UACZ;AAAA,SACF;AAAA,QAEC,QAAA,EAAA;AAAA;AAAA,KACH;AAAA,EAEJ;AACF;AAEA,cAAA,CAAe,WAAA,GAAc,gBAAA;AAEtB,IAAM,iBAAiB,KAAA,CAAM,IAAA;AAAA,EAClC,CAAC,EAAE,QAAA,EAAU,QAAA,EAAU,SAAA,EAAW,WAAU,KAAM;AAChD,IAAA,MAAM,EAAE,UAAA,EAAW,GAAI,KAAA,CAAM,WAAW,iBAAiB,CAAA;AAEzD,IAAA,uBACE,IAAA;AAAA,MAAC,MAAA;AAAA,MAAA;AAAA,QACC,cAAA,EAAa,MAAA;AAAA,QACb,SAAA,EAAW,EAAA;AAAA,UACT,qBAAA;AAAA,UACA,8CAAA;AAAA,UACA,UAAA,EAAY,OAAA;AAAA,UACZ;AAAA,SACF;AAAA,QAEC,QAAA,EAAA;AAAA,UAAA,QAAA,oBACC,GAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,0BAAA,EAA4B,QAAA,EAAA,QAAA,EAAS,CAAA;AAAA,UAEtD,QAAA;AAAA,UACA,SAAA,oBACC,GAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,4BAA4B,QAAA,EAAA,SAAA,EAAU;AAAA;AAAA;AAAA,KAE1D;AAAA,EAEJ;AACF;AAEA,cAAA,CAAe,WAAA,GAAc,gBAAA;AAEtB,IAAM,sBAAsB,KAAA,CAAM,IAAA;AAAA,EACvC,CAAC,EAAE,QAAA,EAAU,SAAA,EAAW,IAAA,GAAO,MAAK,KAAM;AACxC,IAAA,MAAM,EAAE,UAAA,EAAW,GAAI,KAAA,CAAM,WAAW,iBAAiB,CAAA;AAEzD,IAAA,uBACE,GAAA;AAAA,MAAC,MAAA;AAAA,MAAA;AAAA,QACC,SAAA,EAAW,EAAA;AAAA,UACT,uBAAA;AAAA,UACA,qBAAA;AAAA,UACA,UAAA,EAAY,SAAA;AAAA,UACZ;AAAA,SACF;AAAA,QAEC,sCAAY,GAAA,CAAC,YAAA,EAAA,EAAa,SAAA,EAAW,SAAA,CAAU,IAAI,CAAA,EAAG;AAAA;AAAA,KACzD;AAAA,EAEJ;AACF;AAEA,mBAAA,CAAoB,WAAA,GAAc,qBAAA;AAMlC,IAAM,oBAAA,GAAuB,CAAC,IAAA,KAA0B;AAEtD,EAAA,IAAI,IAAA,CAAK,UAAA,CAAW,GAAG,CAAA,IAAK,IAAA,CAAK,UAAA,CAAW,GAAG,CAAA,IAAK,IAAA,CAAK,UAAA,CAAW,GAAG,CAAA,EAAG;AACxE,IAAA,OAAO,IAAA;AAAA,EACT;AAGA,EAAA,MAAM,kBAAA,GAAqB,CAAC,aAAA,EAAe,OAAA,EAAS,WAAW,CAAA;AAC/D,EAAA,MAAM,SAAA,GAAY,KAAK,WAAA,EAAY;AACnC,EAAA,IAAI,mBAAmB,IAAA,CAAK,CAAA,QAAA,KAAY,UAAU,UAAA,CAAW,QAAQ,CAAC,CAAA,EAAG;AACvE,IAAA,OAAO,KAAA;AAAA,EACT;AAGA,EAAA,IAAI;AACF,IAAA,MAAM,MAAM,IAAI,GAAA,CAAI,IAAA,EAAM,MAAA,CAAO,SAAS,MAAM,CAAA;AAChD,IAAA,OAAO,GAAA,CAAI,MAAA,KAAW,MAAA,CAAO,QAAA,CAAS,MAAA;AAAA,EACxC,CAAA,CAAA,MAAQ;AAEN,IAAA,OAAO,IAAA;AAAA,EACT;AACF,CAAA;AAEO,IAAM,qBAAqB,KAAA,CAAM,IAAA;AAAA,EACtC,CAAC,EAAE,WAAA,GAAc,YAAA,EAAc,OAAO,QAAA,EAAU,SAAA,EAAW,IAAA,GAAO,IAAA,EAAK,KAAM;AAC3E,IAAA,MAAM,IAAA,GAAO,WAAA,KAAgB,YAAA,GAAe,cAAA,GAAiB,YAAA;AAC7D,IAAA,MAAM,aAAA,GAAgB,CAAC,EAAE,KAAA,EAAO,MAAA,IAAU,QAAA,CAAA;AAE1C,IAAA,MAAM,cAAA,mBACJ,IAAA;AAAA,MAAC,MAAA;AAAA,MAAA;AAAA,QACC,IAAA,EAAM,gBAAgB,QAAA,GAAW,cAAA;AAAA,QACjC,aAAA,EAAa,gBAAgB,MAAA,GAAY,IAAA;AAAA,QACzC,YAAA,EAAY,gBAAgB,uBAAA,GAA0B,MAAA;AAAA,QACtD,QAAA,EAAU,gBAAgB,CAAA,GAAI,MAAA;AAAA,QAC9B,SAAA,EAAW,EAAA;AAAA,UACT,kCAAA;AAAA,UACA,aAAA,IAAiB,gBAAA;AAAA,UACjB;AAAA,SACF;AAAA,QAEA,QAAA,EAAA;AAAA,0BAAA,GAAA,CAAC,IAAA,EAAA,EAAK,SAAA,EAAW,SAAA,CAAU,IAAI,CAAA,EAAG,CAAA;AAAA,0BAClC,GAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,SAAA,EAAU,QAAA,EAAA,MAAA,EAAI;AAAA;AAAA;AAAA,KAChC;AAIF,IAAA,IAAI,SAAS,QAAA,EAAU;AACrB,MAAA,MAAM,iBAAiB,KAAA,IAAS,EAAC,EAAG,GAAA,CAAI,CAAC,IAAA,MAAU;AAAA,QACjD,KAAA,EAAO,KAAK,KAAA,IAAS,EAAA;AAAA,QACrB,KAAA,EAAO,KAAK,KAAA,IAAS,EAAA;AAAA,QACrB,OAAA,EACE,IAAA,CAAK,OAAA,KACJ,MAAM;AAEL,UAAA,IAAI,IAAA,CAAK,IAAA,IAAQ,oBAAA,CAAqB,IAAA,CAAK,IAAI,CAAA,EAAG;AAChD,YAAA,MAAA,CAAO,QAAA,CAAS,OAAO,IAAA,CAAK,IAAA;AAAA,UAC9B;AAAA,QACF,CAAA;AAAA,OACJ,CAAE,CAAA;AAEF,MAAA,uBAAO,GAAA,CAAC,gBAAA,EAAA,EAAS,KAAA,EAAO,aAAA,EAAgB,QAAA,EAAA,cAAA,EAAe,CAAA;AAAA,IACzD;AAEA,IAAA,OAAO,cAAA;AAAA,EACT;AACF;AAEA,kBAAA,CAAmB,WAAA,GAAc,oBAAA;AAGjC,IAAO,mBAAA,GAAQ","file":"chunk-7P3Q6H2V.js","sourcesContent":["'use client'\n\nimport { cva } from 'class-variance-authority'\nimport { ChevronRight, MoreHorizontal, MoreVertical } from 'lucide-react'\nimport React from 'react'\n\nimport Dropdown from '../dropdown'\nimport { cn, iconSizes } from '../utils'\nimport { textColorVariants } from '../variants'\nimport type {\n BreadcrumbEllipsisProps,\n BreadcrumbItemProps,\n BreadcrumbLinkProps,\n BreadcrumbListProps,\n BreadcrumbPageProps,\n BreadcrumbProps,\n BreadcrumbsColor,\n BreadcrumbSeparatorProps,\n BreadcrumbsSize,\n} from './types'\n\nexport type { BreadcrumbItemData } from './types'\n\ninterface BreadcrumbContextValue {\n color?: BreadcrumbsColor\n size?: BreadcrumbsSize\n classNames?: {\n list?: string\n item?: string\n link?: string\n separator?: string\n current?: string\n }\n}\n\nconst BreadcrumbContext = React.createContext<BreadcrumbContextValue>({})\n\nconst breadcrumbVariants = cva('', {\n variants: {\n size: {\n xs: 'text-xs',\n sm: 'text-sm',\n md: 'text-base',\n lg: 'text-lg',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n})\n\nconst Breadcrumb = React.memo<BreadcrumbProps>(\n ({\n children,\n items,\n color = 'default',\n size = 'md',\n separator,\n className,\n classNames,\n }) => {\n const content = items?.length ? (\n <BreadcrumbList>\n {items.map((item, index) => {\n const isLast = index === items.length - 1\n return (\n <React.Fragment key={index}>\n <BreadcrumbItem>\n {item.ellipsis ? (\n <BreadcrumbEllipsis\n orientation={item.ellipsisOrientation || 'horizontal'}\n items={item.ellipsisItems || []}\n size={size}\n />\n ) : isLast ? (\n <BreadcrumbPage\n leftIcon={item.leftIcon}\n rightIcon={item.rightIcon}\n >\n {item.label}\n </BreadcrumbPage>\n ) : (\n <BreadcrumbLink\n href={item.href || ''}\n onClick={item.onClick}\n leftIcon={item.leftIcon}\n rightIcon={item.rightIcon}\n >\n {item.label}\n </BreadcrumbLink>\n )}\n </BreadcrumbItem>\n {!isLast && (\n <BreadcrumbSeparator size={size}>\n {separator}\n </BreadcrumbSeparator>\n )}\n </React.Fragment>\n )\n })}\n </BreadcrumbList>\n ) : (\n children\n )\n\n return (\n <BreadcrumbContext.Provider value={{ color, size, classNames }}>\n <nav\n aria-label=\"breadcrumb\"\n className={cn(\n 'breadcrumbs_root',\n breadcrumbVariants({ size }),\n textColorVariants({ color }),\n classNames?.root,\n className,\n )}\n >\n {content}\n </nav>\n </BreadcrumbContext.Provider>\n )\n },\n)\n\nBreadcrumb.displayName = 'Breadcrumb'\n\nexport const BreadcrumbList = React.memo<BreadcrumbListProps>(\n ({ children, className }) => {\n const { classNames } = React.useContext(BreadcrumbContext)\n\n return (\n <ol\n className={cn(\n 'breadcrumbs_list',\n 'flex items-center gap-1.5',\n classNames?.list,\n className,\n )}\n >\n {children}\n </ol>\n )\n },\n)\n\nBreadcrumbList.displayName = 'BreadcrumbList'\n\nexport const BreadcrumbItem = React.memo<BreadcrumbItemProps>(\n ({ children, className }) => {\n const { classNames } = React.useContext(BreadcrumbContext)\n\n return (\n <li\n className={cn(\n 'breadcrumbs_item',\n 'inline-flex items-center gap-1.5',\n classNames?.item,\n className,\n )}\n >\n {children}\n </li>\n )\n },\n)\n\nBreadcrumbItem.displayName = 'BreadcrumbItem'\n\nexport const BreadcrumbLink = React.memo<BreadcrumbLinkProps>(\n ({ children, href, onClick, leftIcon, rightIcon, className }) => {\n const { classNames } = React.useContext(BreadcrumbContext)\n\n const handleClick = (e: React.MouseEvent) => {\n if (onClick) {\n e.preventDefault()\n onClick()\n }\n }\n\n const content = (\n <>\n {leftIcon && (\n <span className=\"inline-flex items-center\">{leftIcon}</span>\n )}\n {children}\n {rightIcon && (\n <span className=\"inline-flex items-center\">{rightIcon}</span>\n )}\n </>\n )\n\n const linkClasses = cn(\n 'breadcrumbs_link',\n 'inline-flex items-center gap-1.5 transition-colors hover:underline cursor-pointer',\n classNames?.link,\n className,\n )\n\n if (href) {\n return (\n <a\n href={href}\n onClick={handleClick}\n className={linkClasses}\n >\n {content}\n </a>\n )\n }\n\n if (onClick) {\n return (\n <button\n type=\"button\"\n onClick={handleClick}\n className={linkClasses}\n >\n {content}\n </button>\n )\n }\n\n return (\n <span\n className={cn(\n 'breadcrumbs_link',\n 'inline-flex items-center gap-1.5',\n classNames?.link,\n className,\n )}\n >\n {content}\n </span>\n )\n },\n)\n\nBreadcrumbLink.displayName = 'BreadcrumbLink'\n\nexport const BreadcrumbPage = React.memo<BreadcrumbPageProps>(\n ({ children, leftIcon, rightIcon, className }) => {\n const { classNames } = React.useContext(BreadcrumbContext)\n\n return (\n <span\n aria-current=\"page\"\n className={cn(\n 'breadcrumbs_current',\n 'inline-flex items-center gap-1.5 font-medium',\n classNames?.current,\n className,\n )}\n >\n {leftIcon && (\n <span className=\"inline-flex items-center\">{leftIcon}</span>\n )}\n {children}\n {rightIcon && (\n <span className=\"inline-flex items-center\">{rightIcon}</span>\n )}\n </span>\n )\n },\n)\n\nBreadcrumbPage.displayName = 'BreadcrumbPage'\n\nexport const BreadcrumbSeparator = React.memo<BreadcrumbSeparatorProps>(\n ({ children, className, size = 'md' }) => {\n const { classNames } = React.useContext(BreadcrumbContext)\n\n return (\n <span\n className={cn(\n 'breadcrumbs_separator',\n 'text-text-secondary',\n classNames?.separator,\n className,\n )}\n >\n {children ?? <ChevronRight className={iconSizes[size]} />}\n </span>\n )\n },\n)\n\nBreadcrumbSeparator.displayName = 'BreadcrumbSeparator'\n\n/**\n * Validates URL to prevent open redirect vulnerabilities\n * Only allows relative URLs or same-origin URLs\n */\nconst isValidNavigationUrl = (href: string): boolean => {\n // Allow relative URLs starting with / or #\n if (href.startsWith('/') || href.startsWith('#') || href.startsWith('?')) {\n return true\n }\n\n // Block javascript: and other dangerous protocols\n const dangerousProtocols = ['javascript:', 'data:', 'vbscript:']\n const lowerHref = href.toLowerCase()\n if (dangerousProtocols.some(protocol => lowerHref.startsWith(protocol))) {\n return false\n }\n\n // For absolute URLs, verify same origin\n try {\n const url = new URL(href, window.location.origin)\n return url.origin === window.location.origin\n } catch {\n // If URL parsing fails, allow it (likely a relative URL)\n return true\n }\n}\n\nexport const BreadcrumbEllipsis = React.memo<BreadcrumbEllipsisProps>(\n ({ orientation = 'horizontal', items, children, className, size = 'md' }) => {\n const Icon = orientation === 'horizontal' ? MoreHorizontal : MoreVertical\n const isInteractive = !!(items?.length || children)\n\n const ellipsisButton = (\n <span\n role={isInteractive ? 'button' : 'presentation'}\n aria-hidden={isInteractive ? undefined : true}\n aria-label={isInteractive ? 'Show more breadcrumbs' : undefined}\n tabIndex={isInteractive ? 0 : undefined}\n className={cn(\n 'flex items-center justify-center',\n isInteractive && 'cursor-pointer',\n className,\n )}\n >\n <Icon className={iconSizes[size]} />\n <span className=\"sr-only\">More</span>\n </span>\n )\n\n // If items or children are provided, wrap in Dropdown\n if (items || children) {\n const dropdownItems = (items || []).map((item) => ({\n label: item.label || '',\n value: item.label || '',\n onClick:\n item.onClick ||\n (() => {\n // Validate URL before navigation to prevent open redirect\n if (item.href && isValidNavigationUrl(item.href)) {\n window.location.href = item.href\n }\n }),\n }))\n\n return <Dropdown items={dropdownItems}>{ellipsisButton}</Dropdown>\n }\n\n return ellipsisButton\n },\n)\n\nBreadcrumbEllipsis.displayName = 'BreadcrumbEllipsis'\n\nexport type * from './types'\nexport default Breadcrumb\n"]}
|
|
@@ -23,7 +23,7 @@ var tableVariants = cva("w-full border-separate border-spacing-0", {
|
|
|
23
23
|
}
|
|
24
24
|
});
|
|
25
25
|
var labelCellVariants = cva(
|
|
26
|
-
"font-semibold
|
|
26
|
+
"font-semibold border-b border-r",
|
|
27
27
|
{
|
|
28
28
|
variants: {
|
|
29
29
|
size: {
|
|
@@ -31,26 +31,15 @@ var labelCellVariants = cva(
|
|
|
31
31
|
sm: "py-2 px-3 text-xs",
|
|
32
32
|
md: "py-3 px-4 text-sm",
|
|
33
33
|
lg: "py-4 px-5 text-base"
|
|
34
|
-
},
|
|
35
|
-
color: {
|
|
36
|
-
default: "bg-surface",
|
|
37
|
-
primary: "bg-primary/10",
|
|
38
|
-
secondary: "bg-secondary/10",
|
|
39
|
-
accent: "bg-accent/10",
|
|
40
|
-
success: "bg-success/10",
|
|
41
|
-
error: "bg-error/10",
|
|
42
|
-
warning: "bg-warning/10",
|
|
43
|
-
info: "bg-info/10"
|
|
44
34
|
}
|
|
45
35
|
},
|
|
46
36
|
defaultVariants: {
|
|
47
|
-
size: "md"
|
|
48
|
-
color: "default"
|
|
37
|
+
size: "md"
|
|
49
38
|
}
|
|
50
39
|
}
|
|
51
40
|
);
|
|
52
41
|
var valueCellVariants = cva(
|
|
53
|
-
"text-text-primary border-b border-r
|
|
42
|
+
"text-text-primary border-b border-r",
|
|
54
43
|
{
|
|
55
44
|
variants: {
|
|
56
45
|
size: {
|
|
@@ -65,12 +54,109 @@ var valueCellVariants = cva(
|
|
|
65
54
|
}
|
|
66
55
|
}
|
|
67
56
|
);
|
|
57
|
+
var labelColorClasses = {
|
|
58
|
+
default: {
|
|
59
|
+
default: "bg-surface text-text-primary",
|
|
60
|
+
primary: "bg-primary/10 text-text-primary",
|
|
61
|
+
secondary: "bg-secondary/10 text-text-primary",
|
|
62
|
+
accent: "bg-accent/10 text-text-primary",
|
|
63
|
+
success: "bg-success/10 text-text-primary",
|
|
64
|
+
error: "bg-error/10 text-text-primary",
|
|
65
|
+
warning: "bg-warning/10 text-text-primary",
|
|
66
|
+
info: "bg-info/10 text-text-primary"
|
|
67
|
+
},
|
|
68
|
+
solid: {
|
|
69
|
+
default: "bg-text-primary text-background",
|
|
70
|
+
primary: "bg-primary text-background",
|
|
71
|
+
secondary: "bg-secondary text-background",
|
|
72
|
+
accent: "bg-accent text-background",
|
|
73
|
+
success: "bg-success text-background",
|
|
74
|
+
error: "bg-error text-background",
|
|
75
|
+
warning: "bg-warning text-background",
|
|
76
|
+
info: "bg-info text-background"
|
|
77
|
+
},
|
|
78
|
+
soft: {
|
|
79
|
+
default: "bg-surface/50 text-text-primary",
|
|
80
|
+
primary: "bg-primary/5 text-primary",
|
|
81
|
+
secondary: "bg-secondary/5 text-secondary",
|
|
82
|
+
accent: "bg-accent/5 text-accent",
|
|
83
|
+
success: "bg-success/5 text-success",
|
|
84
|
+
error: "bg-error/5 text-error",
|
|
85
|
+
warning: "bg-warning/5 text-warning",
|
|
86
|
+
info: "bg-info/5 text-info"
|
|
87
|
+
}
|
|
88
|
+
};
|
|
89
|
+
var valueColorClasses = {
|
|
90
|
+
default: {
|
|
91
|
+
default: "bg-background",
|
|
92
|
+
primary: "bg-background",
|
|
93
|
+
secondary: "bg-background",
|
|
94
|
+
accent: "bg-background",
|
|
95
|
+
success: "bg-background",
|
|
96
|
+
error: "bg-background",
|
|
97
|
+
warning: "bg-background",
|
|
98
|
+
info: "bg-background"
|
|
99
|
+
},
|
|
100
|
+
solid: {
|
|
101
|
+
default: "bg-background",
|
|
102
|
+
primary: "bg-background",
|
|
103
|
+
secondary: "bg-background",
|
|
104
|
+
accent: "bg-background",
|
|
105
|
+
success: "bg-background",
|
|
106
|
+
error: "bg-background",
|
|
107
|
+
warning: "bg-background",
|
|
108
|
+
info: "bg-background"
|
|
109
|
+
},
|
|
110
|
+
soft: {
|
|
111
|
+
default: "bg-surface/30",
|
|
112
|
+
primary: "bg-primary/5",
|
|
113
|
+
secondary: "bg-secondary/5",
|
|
114
|
+
accent: "bg-accent/5",
|
|
115
|
+
success: "bg-success/5",
|
|
116
|
+
error: "bg-error/5",
|
|
117
|
+
warning: "bg-warning/5",
|
|
118
|
+
info: "bg-info/5"
|
|
119
|
+
}
|
|
120
|
+
};
|
|
121
|
+
var borderColorClasses = {
|
|
122
|
+
default: {
|
|
123
|
+
default: "border-border",
|
|
124
|
+
primary: "border-border",
|
|
125
|
+
secondary: "border-border",
|
|
126
|
+
accent: "border-border",
|
|
127
|
+
success: "border-border",
|
|
128
|
+
error: "border-border",
|
|
129
|
+
warning: "border-border",
|
|
130
|
+
info: "border-border"
|
|
131
|
+
},
|
|
132
|
+
solid: {
|
|
133
|
+
default: "border-border",
|
|
134
|
+
primary: "border-border",
|
|
135
|
+
secondary: "border-border",
|
|
136
|
+
accent: "border-border",
|
|
137
|
+
success: "border-border",
|
|
138
|
+
error: "border-border",
|
|
139
|
+
warning: "border-border",
|
|
140
|
+
info: "border-border"
|
|
141
|
+
},
|
|
142
|
+
soft: {
|
|
143
|
+
default: "border-border",
|
|
144
|
+
primary: "border-primary/20",
|
|
145
|
+
secondary: "border-secondary/20",
|
|
146
|
+
accent: "border-accent/20",
|
|
147
|
+
success: "border-success/20",
|
|
148
|
+
error: "border-error/20",
|
|
149
|
+
warning: "border-warning/20",
|
|
150
|
+
info: "border-info/20"
|
|
151
|
+
}
|
|
152
|
+
};
|
|
68
153
|
var Descriptions = React.memo(
|
|
69
154
|
({
|
|
70
155
|
items,
|
|
71
156
|
column = 3,
|
|
72
157
|
color = "default",
|
|
73
158
|
size = "md",
|
|
159
|
+
variant = "default",
|
|
74
160
|
layout = "horizontal",
|
|
75
161
|
bordered = true,
|
|
76
162
|
rounded = true,
|
|
@@ -81,6 +167,9 @@ var Descriptions = React.memo(
|
|
|
81
167
|
ref,
|
|
82
168
|
...props
|
|
83
169
|
}) => {
|
|
170
|
+
const labelColors = labelColorClasses[variant][color];
|
|
171
|
+
const valueColors = valueColorClasses[variant][color];
|
|
172
|
+
const borderColors = borderColorClasses[variant][color];
|
|
84
173
|
const rows = [];
|
|
85
174
|
let currentRow = [];
|
|
86
175
|
let currentSpan = 0;
|
|
@@ -102,7 +191,7 @@ var Descriptions = React.memo(
|
|
|
102
191
|
const tableContent = /* @__PURE__ */ jsx(
|
|
103
192
|
"table",
|
|
104
193
|
{
|
|
105
|
-
className: cn(tableVariants({ bordered, rounded })),
|
|
194
|
+
className: cn(tableVariants({ bordered, rounded }), bordered && borderColors),
|
|
106
195
|
role: "presentation",
|
|
107
196
|
children: /* @__PURE__ */ jsx("tbody", { "data-slot": "body", className: classNames?.body, children: rows.map((row, rowIndex) => {
|
|
108
197
|
const isLastRow = rowIndex === rows.length - 1;
|
|
@@ -119,7 +208,9 @@ var Descriptions = React.memo(
|
|
|
119
208
|
colSpan: item.span || 1,
|
|
120
209
|
className: cn(
|
|
121
210
|
"descriptions_label",
|
|
122
|
-
labelCellVariants({ size
|
|
211
|
+
labelCellVariants({ size }),
|
|
212
|
+
labelColors,
|
|
213
|
+
borderColors,
|
|
123
214
|
itemsAtRightEdge[itemIndex] && "border-r-0",
|
|
124
215
|
classNames?.label
|
|
125
216
|
),
|
|
@@ -135,6 +226,8 @@ var Descriptions = React.memo(
|
|
|
135
226
|
className: cn(
|
|
136
227
|
"descriptions_content",
|
|
137
228
|
valueCellVariants({ size }),
|
|
229
|
+
valueColors,
|
|
230
|
+
borderColors,
|
|
138
231
|
itemsAtRightEdge[itemIndex] && "border-r-0",
|
|
139
232
|
isLastRow && "border-b-0",
|
|
140
233
|
classNames?.content
|
|
@@ -161,7 +254,7 @@ var Descriptions = React.memo(
|
|
|
161
254
|
"table",
|
|
162
255
|
{
|
|
163
256
|
ref,
|
|
164
|
-
className: cn("descriptions_root", tableVariants({ bordered, rounded }), classNames?.root, className),
|
|
257
|
+
className: cn("descriptions_root", tableVariants({ bordered, rounded }), bordered && borderColors, classNames?.root, className),
|
|
165
258
|
"data-slot": "root",
|
|
166
259
|
role: "presentation",
|
|
167
260
|
...props,
|
|
@@ -180,7 +273,9 @@ var Descriptions = React.memo(
|
|
|
180
273
|
colSpan: item.span || 1,
|
|
181
274
|
className: cn(
|
|
182
275
|
"descriptions_label",
|
|
183
|
-
labelCellVariants({ size
|
|
276
|
+
labelCellVariants({ size }),
|
|
277
|
+
labelColors,
|
|
278
|
+
borderColors,
|
|
184
279
|
itemsAtRightEdge[itemIndex] && "border-r-0",
|
|
185
280
|
classNames?.label
|
|
186
281
|
),
|
|
@@ -196,6 +291,8 @@ var Descriptions = React.memo(
|
|
|
196
291
|
className: cn(
|
|
197
292
|
"descriptions_content",
|
|
198
293
|
valueCellVariants({ size }),
|
|
294
|
+
valueColors,
|
|
295
|
+
borderColors,
|
|
199
296
|
itemsAtRightEdge[itemIndex] && "border-r-0",
|
|
200
297
|
isLastRow && "border-b-0",
|
|
201
298
|
classNames?.content
|
|
@@ -213,7 +310,7 @@ var Descriptions = React.memo(
|
|
|
213
310
|
const horizontalTableContent = /* @__PURE__ */ jsx(
|
|
214
311
|
"table",
|
|
215
312
|
{
|
|
216
|
-
className: cn(tableVariants({ bordered, rounded })),
|
|
313
|
+
className: cn(tableVariants({ bordered, rounded }), bordered && borderColors),
|
|
217
314
|
role: "presentation",
|
|
218
315
|
children: /* @__PURE__ */ jsx("tbody", { "data-slot": "body", className: classNames?.body, children: rows.map((row, rowIndex) => {
|
|
219
316
|
const isLastRow = rowIndex === rows.length - 1;
|
|
@@ -232,7 +329,9 @@ var Descriptions = React.memo(
|
|
|
232
329
|
{
|
|
233
330
|
className: cn(
|
|
234
331
|
"descriptions_label",
|
|
235
|
-
labelCellVariants({ size
|
|
332
|
+
labelCellVariants({ size }),
|
|
333
|
+
labelColors,
|
|
334
|
+
borderColors,
|
|
236
335
|
isLastRow && "border-b-0",
|
|
237
336
|
classNames?.label
|
|
238
337
|
),
|
|
@@ -247,6 +346,8 @@ var Descriptions = React.memo(
|
|
|
247
346
|
className: cn(
|
|
248
347
|
"descriptions_content",
|
|
249
348
|
valueCellVariants({ size }),
|
|
349
|
+
valueColors,
|
|
350
|
+
borderColors,
|
|
250
351
|
valueAtRightEdge[itemIndex] && "border-r-0",
|
|
251
352
|
isLastRow && "border-b-0",
|
|
252
353
|
classNames?.content
|
|
@@ -273,7 +374,7 @@ var Descriptions = React.memo(
|
|
|
273
374
|
"table",
|
|
274
375
|
{
|
|
275
376
|
ref,
|
|
276
|
-
className: cn("descriptions_root", tableVariants({ bordered, rounded }), classNames?.root, className),
|
|
377
|
+
className: cn("descriptions_root", tableVariants({ bordered, rounded }), bordered && borderColors, classNames?.root, className),
|
|
277
378
|
"data-slot": "root",
|
|
278
379
|
role: "presentation",
|
|
279
380
|
...props,
|
|
@@ -294,7 +395,9 @@ var Descriptions = React.memo(
|
|
|
294
395
|
{
|
|
295
396
|
className: cn(
|
|
296
397
|
"descriptions_label",
|
|
297
|
-
labelCellVariants({ size
|
|
398
|
+
labelCellVariants({ size }),
|
|
399
|
+
labelColors,
|
|
400
|
+
borderColors,
|
|
298
401
|
isLastRow && "border-b-0",
|
|
299
402
|
classNames?.label
|
|
300
403
|
),
|
|
@@ -309,6 +412,8 @@ var Descriptions = React.memo(
|
|
|
309
412
|
className: cn(
|
|
310
413
|
"descriptions_content",
|
|
311
414
|
valueCellVariants({ size }),
|
|
415
|
+
valueColors,
|
|
416
|
+
borderColors,
|
|
312
417
|
valueAtRightEdge[itemIndex] && "border-r-0",
|
|
313
418
|
isLastRow && "border-b-0",
|
|
314
419
|
classNames?.content
|
|
@@ -328,5 +433,5 @@ Descriptions.displayName = "Descriptions";
|
|
|
328
433
|
var descriptions_default = Descriptions;
|
|
329
434
|
|
|
330
435
|
export { descriptions_default };
|
|
331
|
-
//# sourceMappingURL=chunk-
|
|
332
|
-
//# sourceMappingURL=chunk-
|
|
436
|
+
//# sourceMappingURL=chunk-BVO2BNFG.js.map
|
|
437
|
+
//# sourceMappingURL=chunk-BVO2BNFG.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/descriptions/index.tsx"],"names":[],"mappings":"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","file":"chunk-BVO2BNFG.js","sourcesContent":["import { cva } from 'class-variance-authority'\nimport React from 'react'\n\nimport type { ComponentColor } from '../types'\nimport { cn } from '../utils'\nimport type { DescriptionsItem, DescriptionsProps, DescriptionsVariant } from './types'\n\nconst tableVariants = cva('w-full border-separate border-spacing-0', {\n variants: {\n bordered: {\n true: 'border border-border',\n false: '',\n },\n rounded: {\n true: 'rounded-lg',\n false: '',\n },\n },\n compoundVariants: [\n { bordered: true, rounded: true, class: 'overflow-hidden' },\n ],\n defaultVariants: {\n bordered: true,\n rounded: true,\n },\n})\n\nconst labelCellVariants = cva(\n 'font-semibold border-b border-r',\n {\n variants: {\n size: {\n xs: 'py-1 px-2 text-[10px]',\n sm: 'py-2 px-3 text-xs',\n md: 'py-3 px-4 text-sm',\n lg: 'py-4 px-5 text-base',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n },\n)\n\nconst valueCellVariants = cva(\n 'text-text-primary border-b border-r',\n {\n variants: {\n size: {\n xs: 'py-1 px-2 text-[10px]',\n sm: 'py-2 px-3 text-xs',\n md: 'py-3 px-4 text-sm',\n lg: 'py-4 px-5 text-base',\n },\n },\n defaultVariants: {\n size: 'md',\n },\n },\n)\n\nconst labelColorClasses: Record<DescriptionsVariant, Record<ComponentColor, string>> = {\n default: {\n default: 'bg-surface text-text-primary',\n primary: 'bg-primary/10 text-text-primary',\n secondary: 'bg-secondary/10 text-text-primary',\n accent: 'bg-accent/10 text-text-primary',\n success: 'bg-success/10 text-text-primary',\n error: 'bg-error/10 text-text-primary',\n warning: 'bg-warning/10 text-text-primary',\n info: 'bg-info/10 text-text-primary',\n },\n solid: {\n default: 'bg-text-primary text-background',\n primary: 'bg-primary text-background',\n secondary: 'bg-secondary text-background',\n accent: 'bg-accent text-background',\n success: 'bg-success text-background',\n error: 'bg-error text-background',\n warning: 'bg-warning text-background',\n info: 'bg-info text-background',\n },\n soft: {\n default: 'bg-surface/50 text-text-primary',\n primary: 'bg-primary/5 text-primary',\n secondary: 'bg-secondary/5 text-secondary',\n accent: 'bg-accent/5 text-accent',\n success: 'bg-success/5 text-success',\n error: 'bg-error/5 text-error',\n warning: 'bg-warning/5 text-warning',\n info: 'bg-info/5 text-info',\n },\n}\n\nconst valueColorClasses: Record<DescriptionsVariant, Record<ComponentColor, string>> = {\n default: {\n default: 'bg-background',\n primary: 'bg-background',\n secondary: 'bg-background',\n accent: 'bg-background',\n success: 'bg-background',\n error: 'bg-background',\n warning: 'bg-background',\n info: 'bg-background',\n },\n solid: {\n default: 'bg-background',\n primary: 'bg-background',\n secondary: 'bg-background',\n accent: 'bg-background',\n success: 'bg-background',\n error: 'bg-background',\n warning: 'bg-background',\n info: 'bg-background',\n },\n soft: {\n default: 'bg-surface/30',\n primary: 'bg-primary/5',\n secondary: 'bg-secondary/5',\n accent: 'bg-accent/5',\n success: 'bg-success/5',\n error: 'bg-error/5',\n warning: 'bg-warning/5',\n info: 'bg-info/5',\n },\n}\n\nconst borderColorClasses: Record<DescriptionsVariant, Record<ComponentColor, string>> = {\n default: {\n default: 'border-border', primary: 'border-border', secondary: 'border-border',\n accent: 'border-border', success: 'border-border', error: 'border-border',\n warning: 'border-border', info: 'border-border',\n },\n solid: {\n default: 'border-border', primary: 'border-border', secondary: 'border-border',\n accent: 'border-border', success: 'border-border', error: 'border-border',\n warning: 'border-border', info: 'border-border',\n },\n soft: {\n default: 'border-border',\n primary: 'border-primary/20',\n secondary: 'border-secondary/20',\n accent: 'border-accent/20',\n success: 'border-success/20',\n error: 'border-error/20',\n warning: 'border-warning/20',\n info: 'border-info/20',\n },\n}\n\nconst Descriptions = React.memo<DescriptionsProps>(\n ({\n items,\n column = 3,\n color = 'default',\n size = 'md',\n variant = 'default',\n layout = 'horizontal',\n bordered = true,\n rounded = true,\n className,\n classNames,\n title,\n extra,\n ref,\n ...props\n }) => {\n const labelColors = labelColorClasses[variant][color]\n const valueColors = valueColorClasses[variant][color]\n const borderColors = borderColorClasses[variant][color]\n\n // Split items into rows based on column count and span\n const rows: DescriptionsItem[][] = []\n let currentRow: DescriptionsItem[] = []\n let currentSpan = 0\n\n items.forEach((item) => {\n const itemSpan = item.span || 1\n\n if (currentSpan + itemSpan > column) {\n rows.push(currentRow)\n currentRow = [item]\n currentSpan = itemSpan\n } else {\n currentRow.push(item)\n currentSpan += itemSpan\n }\n })\n\n if (currentRow.length > 0) {\n rows.push(currentRow)\n }\n\n if (layout === 'vertical') {\n const tableContent = (\n <table\n className={cn(tableVariants({ bordered, rounded }), bordered && borderColors)}\n role=\"presentation\"\n >\n <tbody data-slot=\"body\" className={classNames?.body}>\n {rows.map((row, rowIndex) => {\n const isLastRow = rowIndex === rows.length - 1\n\n // Calculate which items reach the right edge\n let colPosition = 0\n const itemsAtRightEdge = row.map((item) => {\n const span = item.span || 1\n colPosition += span\n return colPosition >= column\n })\n\n return (\n <React.Fragment key={rowIndex}>\n <tr className={cn('descriptions_item', classNames?.item)} data-slot='item'>\n {row.map((item, itemIndex) => (\n <th\n key={`${item.key}-label`}\n colSpan={item.span || 1}\n className={cn(\n 'descriptions_label',\n labelCellVariants({ size }), labelColors, borderColors,\n itemsAtRightEdge[itemIndex] && 'border-r-0',\n classNames?.label,\n )}\n data-slot='label'\n >\n {item.label}\n </th>\n ))}\n </tr>\n <tr className={cn('descriptions_item', classNames?.item)} data-slot='item'>\n {row.map((item, itemIndex) => (\n <td\n key={`${item.key}-value`}\n colSpan={item.span || 1}\n className={cn(\n 'descriptions_content',\n valueCellVariants({ size }), valueColors, borderColors,\n itemsAtRightEdge[itemIndex] && 'border-r-0',\n isLastRow && 'border-b-0',\n classNames?.content,\n )}\n data-slot='content'\n >\n {item.children}\n </td>\n ))}\n </tr>\n </React.Fragment>\n )\n })}\n </tbody>\n </table>\n )\n\n if (title || extra) {\n return (\n <div ref={ref} className={cn('descriptions_root', classNames?.root, className)} data-slot=\"root\" {...props}>\n <div className={cn('descriptions_title', 'flex items-center justify-between mb-3', classNames?.title)} data-slot=\"title\">\n {title && <div className=\"text-base font-semibold text-text-primary\">{title}</div>}\n {extra && <div className={cn('descriptions_extra', classNames?.extra)} data-slot=\"extra\">{extra}</div>}\n </div>\n {tableContent}\n </div>\n )\n }\n\n return (\n <table\n ref={ref as React.Ref<HTMLTableElement>}\n className={cn('descriptions_root', tableVariants({ bordered, rounded }), bordered && borderColors, classNames?.root, className)}\n data-slot=\"root\"\n role=\"presentation\"\n {...props}\n >\n <tbody data-slot=\"body\" className={classNames?.body}>\n {rows.map((row, rowIndex) => {\n const isLastRow = rowIndex === rows.length - 1\n\n // Calculate which items reach the right edge\n let colPosition = 0\n const itemsAtRightEdge = row.map((item) => {\n const span = item.span || 1\n colPosition += span\n return colPosition >= column\n })\n\n return (\n <React.Fragment key={rowIndex}>\n <tr className={cn('descriptions_item', classNames?.item)} data-slot='item'>\n {row.map((item, itemIndex) => (\n <th\n key={`${item.key}-label`}\n colSpan={item.span || 1}\n className={cn(\n 'descriptions_label',\n labelCellVariants({ size }), labelColors, borderColors,\n itemsAtRightEdge[itemIndex] && 'border-r-0',\n classNames?.label,\n )}\n data-slot='label'\n >\n {item.label}\n </th>\n ))}\n </tr>\n <tr className={cn('descriptions_item', classNames?.item)} data-slot='item'>\n {row.map((item, itemIndex) => (\n <td\n key={`${item.key}-value`}\n colSpan={item.span || 1}\n className={cn(\n 'descriptions_content',\n valueCellVariants({ size }), valueColors, borderColors,\n itemsAtRightEdge[itemIndex] && 'border-r-0',\n isLastRow && 'border-b-0',\n classNames?.content,\n )}\n data-slot='content'\n >\n {item.children}\n </td>\n ))}\n </tr>\n </React.Fragment>\n )\n })}\n </tbody>\n </table>\n )\n }\n\n // Horizontal layout\n const horizontalTableContent = (\n <table\n className={cn(tableVariants({ bordered, rounded }), bordered && borderColors)}\n role=\"presentation\"\n >\n <tbody data-slot=\"body\" className={classNames?.body}>\n {rows.map((row, rowIndex) => {\n const isLastRow = rowIndex === rows.length - 1\n\n // Calculate which value cells reach the right edge\n let colPosition = 0\n const valueAtRightEdge = row.map((item) => {\n const span = item.span || 1\n colPosition += span * 2 // Each item takes label + value columns\n return colPosition >= column * 2\n })\n\n return (\n <tr key={rowIndex} className={cn('descriptions_item', classNames?.item)} data-slot='item'>\n {row.map((item, itemIndex) => {\n const itemSpan = item.span || 1\n const valueColSpan = itemSpan * 2 - 1\n\n return (\n <React.Fragment key={item.key}>\n <th\n className={cn(\n 'descriptions_label',\n labelCellVariants({ size }), labelColors, borderColors,\n isLastRow && 'border-b-0',\n classNames?.label,\n )}\n data-slot='label'\n >\n {item.label}\n </th>\n <td\n colSpan={valueColSpan}\n className={cn(\n 'descriptions_content',\n valueCellVariants({ size }), valueColors, borderColors,\n valueAtRightEdge[itemIndex] && 'border-r-0',\n isLastRow && 'border-b-0',\n classNames?.content,\n )}\n data-slot='content'\n >\n {item.children}\n </td>\n </React.Fragment>\n )\n })}\n </tr>\n )\n })}\n </tbody>\n </table>\n )\n\n if (title || extra) {\n return (\n <div ref={ref} className={cn('descriptions_root', classNames?.root, className)} data-slot=\"root\" {...props}>\n <div className={cn('descriptions_title', 'flex items-center justify-between mb-3', classNames?.title)} data-slot=\"title\">\n {title && <div className=\"text-base font-semibold text-text-primary\">{title}</div>}\n {extra && <div className={cn('descriptions_extra', classNames?.extra)} data-slot=\"extra\">{extra}</div>}\n </div>\n {horizontalTableContent}\n </div>\n )\n }\n\n return (\n <table\n ref={ref as React.Ref<HTMLTableElement>}\n className={cn('descriptions_root', tableVariants({ bordered, rounded }), bordered && borderColors, classNames?.root, className)}\n data-slot=\"root\"\n role=\"presentation\"\n {...props}\n >\n <tbody data-slot=\"body\" className={classNames?.body}>\n {rows.map((row, rowIndex) => {\n const isLastRow = rowIndex === rows.length - 1\n\n // Calculate which value cells reach the right edge\n let colPosition = 0\n const valueAtRightEdge = row.map((item) => {\n const span = item.span || 1\n colPosition += span * 2 // Each item takes label + value columns\n return colPosition >= column * 2\n })\n\n return (\n <tr key={rowIndex} className={cn('descriptions_item', classNames?.item)} data-slot='item'>\n {row.map((item, itemIndex) => {\n const itemSpan = item.span || 1\n const valueColSpan = itemSpan * 2 - 1\n\n return (\n <React.Fragment key={item.key}>\n <th\n className={cn(\n 'descriptions_label',\n labelCellVariants({ size }), labelColors, borderColors,\n isLastRow && 'border-b-0',\n classNames?.label,\n )}\n data-slot='label'\n >\n {item.label}\n </th>\n <td\n colSpan={valueColSpan}\n className={cn(\n 'descriptions_content',\n valueCellVariants({ size }), valueColors, borderColors,\n valueAtRightEdge[itemIndex] && 'border-r-0',\n isLastRow && 'border-b-0',\n classNames?.content,\n )}\n data-slot='content'\n >\n {item.children}\n </td>\n </React.Fragment>\n )\n })}\n </tr>\n )\n })}\n </tbody>\n </table>\n )\n },\n)\n\nDescriptions.displayName = 'Descriptions'\n\nexport type * from './types'\nexport default Descriptions\n"]}
|
|
@@ -40,7 +40,7 @@ var numberInputVariants = cva(
|
|
|
40
40
|
}
|
|
41
41
|
);
|
|
42
42
|
var controlButtonVariants = cva(
|
|
43
|
-
"flex items-center justify-center cursor-pointer transition-colors disabled:opacity-30 disabled:cursor-not-allowed",
|
|
43
|
+
"flex items-center justify-center cursor-pointer transition-[colors,transform] disabled:opacity-30 disabled:cursor-not-allowed active:scale-[0.9]",
|
|
44
44
|
{
|
|
45
45
|
variants: {
|
|
46
46
|
size: {
|
|
@@ -329,7 +329,6 @@ var NumberInput = React.memo(
|
|
|
329
329
|
controls && controlsPosition === "sides" && incrementButton,
|
|
330
330
|
loading && /* @__PURE__ */ jsx("div", { className: "absolute right-3 flex items-center", children: /* @__PURE__ */ jsx(spinner_default, { "aria-hidden": "true" }) })
|
|
331
331
|
] });
|
|
332
|
-
if (!label && !helperMessage) return inputElement;
|
|
333
332
|
return /* @__PURE__ */ jsxs("div", { "data-slot": "root", className: rootClass, children: [
|
|
334
333
|
label && /* @__PURE__ */ jsxs("label", { htmlFor: inputId, "data-slot": "label", className: labelClass, children: [
|
|
335
334
|
label,
|
|
@@ -344,5 +343,5 @@ NumberInput.displayName = "NumberInput";
|
|
|
344
343
|
var number_input_default = NumberInput;
|
|
345
344
|
|
|
346
345
|
export { number_input_default };
|
|
347
|
-
//# sourceMappingURL=chunk-
|
|
348
|
-
//# sourceMappingURL=chunk-
|
|
346
|
+
//# sourceMappingURL=chunk-D53OQERO.js.map
|
|
347
|
+
//# sourceMappingURL=chunk-D53OQERO.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/number-input/index.tsx"],"names":[],"mappings":"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","file":"chunk-D53OQERO.js","sourcesContent":["\"use client\";\n\nimport { cva } from \"class-variance-authority\";\nimport { Plus, Minus } from \"lucide-react\";\nimport React, { useId, useMemo, useCallback, useState } from \"react\";\n\nimport Spinner from \"../spinner\";\n\nimport {\n cn,\n getValidationStatus,\n iconSizes,\n statusMessageVariants,\n} from \"../utils\";\nimport type { NumberInputProps } from \"./types\";\n\nconst numberInputVariants = cva(\n \"w-full placeholder:text-text-secondary/50 rounded-md disabled:opacity-50 disabled:cursor-not-allowed read-only:bg-surface read-only:cursor-default outline-none text-text-primary transition-colors\",\n {\n variants: {\n status: {\n default: \"bg-background border border-border focus:border-primary\",\n error: \"bg-background border border-error focus:border-error\",\n warning: \"bg-background border border-warning focus:border-warning\",\n info: \"bg-background border border-info focus:border-info\",\n success: \"bg-background border border-success focus:border-success\",\n },\n size: {\n xs: \"h-(--input-height-xs) px-(--input-padding-x-xs) text-xs\",\n sm: \"h-(--input-height-sm) px-(--input-padding-x-sm) text-sm\",\n md: \"h-(--input-height-md) px-(--input-padding-x-md) text-base\",\n lg: \"h-(--input-height-lg) px-(--input-padding-x-lg) text-lg\",\n },\n fullWidth: {\n true: \"w-full\",\n false: \"max-w-full\",\n },\n controlsPosition: {\n right: \"\",\n sides: \"\",\n },\n },\n defaultVariants: {\n status: \"default\",\n size: \"md\",\n fullWidth: true,\n controlsPosition: \"right\",\n },\n },\n);\n\nconst controlButtonVariants = cva(\n \"flex items-center justify-center cursor-pointer transition-[colors,transform] disabled:opacity-30 disabled:cursor-not-allowed active:scale-[0.9]\",\n {\n variants: {\n size: {\n xs: \"w-6 h-6\",\n sm: \"w-7 h-7\",\n md: \"w-8 h-8\",\n lg: \"w-10 h-10\",\n },\n position: {\n right: \"hover:bg-surface-hover\",\n sides: \"hover:bg-surface-hover\",\n },\n },\n defaultVariants: {\n size: \"md\",\n position: \"right\",\n },\n },\n);\n\nconst NumberInput = React.memo<NumberInputProps>(\n ({\n value,\n defaultValue,\n onChange,\n min,\n max,\n step = 1,\n precision,\n size = \"md\",\n label,\n placeholder,\n disabled = false,\n readOnly = false,\n required = false,\n controls = true,\n controlsPosition = \"right\",\n clampOnBlur = true,\n className,\n classNames,\n error,\n warning,\n info,\n success,\n helperText,\n loading = false,\n fullWidth = true,\n ref,\n id,\n name,\n }) => {\n // Internal state for uncontrolled mode\n const [internalValue, setInternalValue] = useState<number | undefined>(\n defaultValue,\n );\n const currentValue = value !== undefined ? value : internalValue;\n\n // Generate unique IDs for accessibility\n const uniqueId = useId();\n const inputId = id || `number-input-${uniqueId}`;\n const helperId = `number-input-helper-${uniqueId}`;\n\n // Use shared validation status utility - memoized\n const { status, message: helperMessage } = useMemo(\n () => getValidationStatus({ error, warning, info, success, helperText }),\n [error, warning, info, success, helperText],\n );\n\n // Format number to precision\n const formatValue = useCallback(\n (val: number | undefined): string => {\n if (val === undefined || isNaN(val)) return \"\";\n if (precision !== undefined) {\n return val.toFixed(precision);\n }\n return String(val);\n },\n [precision],\n );\n\n // Parse string to number\n const parseValue = useCallback((str: string): number | undefined => {\n if (str === \"\" || str === \"-\") return undefined;\n const parsed = parseFloat(str);\n return isNaN(parsed) ? undefined : parsed;\n }, []);\n\n // Clamp value to min/max\n const clampValue = useCallback(\n (val: number | undefined): number | undefined => {\n if (val === undefined) return undefined;\n let clamped = val;\n if (min !== undefined && clamped < min) clamped = min;\n if (max !== undefined && clamped > max) clamped = max;\n return clamped;\n },\n [min, max],\n );\n\n // Update value\n const updateValue = useCallback(\n (newValue: number | undefined) => {\n if (value === undefined) {\n setInternalValue(newValue);\n }\n onChange?.(newValue);\n },\n [value, onChange],\n );\n\n // Handle input change\n const handleChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n const inputValue = e.target.value;\n\n // Allow empty, minus sign, and valid numbers\n if (inputValue === \"\" || inputValue === \"-\") {\n updateValue(undefined);\n return;\n }\n\n const parsed = parseValue(inputValue);\n updateValue(parsed);\n },\n [parseValue, updateValue],\n );\n\n // Handle blur - clamp if needed\n const handleBlur = useCallback(() => {\n if (clampOnBlur && currentValue !== undefined) {\n const clamped = clampValue(currentValue);\n if (clamped !== currentValue) {\n updateValue(clamped);\n }\n }\n }, [clampOnBlur, currentValue, clampValue, updateValue]);\n\n // Increment value\n const handleIncrement = useCallback(() => {\n const newValue = (currentValue ?? 0) + step;\n const clamped = clampValue(newValue);\n updateValue(clamped);\n }, [currentValue, step, clampValue, updateValue]);\n\n // Decrement value\n const handleDecrement = useCallback(() => {\n const newValue = (currentValue ?? 0) - step;\n const clamped = clampValue(newValue);\n updateValue(clamped);\n }, [currentValue, step, clampValue, updateValue]);\n\n // Handle keyboard events\n const handleKeyDown = useCallback(\n (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (readOnly || disabled) return;\n\n if (e.key === \"ArrowUp\") {\n e.preventDefault();\n handleIncrement();\n } else if (e.key === \"ArrowDown\") {\n e.preventDefault();\n handleDecrement();\n }\n },\n [readOnly, disabled, handleIncrement, handleDecrement],\n );\n\n // Check if buttons should be disabled\n const isIncrementDisabled = useMemo(() => {\n if (disabled || readOnly || loading) return true;\n if (\n max !== undefined &&\n currentValue !== undefined &&\n currentValue >= max\n )\n return true;\n return false;\n }, [disabled, readOnly, loading, max, currentValue]);\n\n const isDecrementDisabled = useMemo(() => {\n if (disabled || readOnly || loading) return true;\n if (\n min !== undefined &&\n currentValue !== undefined &&\n currentValue <= min\n )\n return true;\n return false;\n }, [disabled, readOnly, loading, min, currentValue]);\n\n // Memoize aria-describedby\n const ariaDescribedBy = useMemo(() => {\n return helperMessage ? helperId : undefined;\n }, [helperMessage, helperId]);\n\n // Memoized className computations\n const rootClass = useMemo(\n () =>\n cn(\n \"number-input_root\",\n \"w-full flex flex-col relative\",\n !fullWidth && \"inline-block\",\n classNames?.root,\n ),\n [fullWidth, classNames?.root],\n );\n\n const labelClass = useMemo(\n () =>\n cn(\n \"number-input_label\",\n \"text-sm font-medium text-text-secondary mb-0.5\",\n classNames?.label,\n ),\n [classNames?.label],\n );\n\n const wrapperClass = useMemo(\n () =>\n cn(\n \"number-input_wrapper\",\n \"relative flex items-center\",\n loading && \"opacity-50 cursor-not-allowed\",\n controlsPosition === \"sides\" && \"gap-1\",\n classNames?.wrapper,\n ),\n [loading, controlsPosition, classNames?.wrapper],\n );\n\n const inputClass = useMemo(\n () =>\n cn(\n \"number-input_input\",\n numberInputVariants({ status, size, fullWidth, controlsPosition }),\n controls && controlsPosition === \"right\" && \"pr-16\",\n controls && controlsPosition === \"sides\" && \"text-center\",\n className,\n classNames?.input,\n ),\n [\n status,\n size,\n fullWidth,\n controlsPosition,\n controls,\n className,\n classNames?.input,\n ],\n );\n\n const controlsClass = useMemo(\n () =>\n cn(\n \"number-input_controls\",\n \"flex\",\n controlsPosition === \"right\" &&\n \"absolute right-0 top-0 h-full border-l border-border\",\n controlsPosition === \"sides\" && \"gap-1\",\n classNames?.controls,\n ),\n [controlsPosition, classNames?.controls],\n );\n\n const helperClass = useMemo(\n () =>\n cn(\n \"number-input_helper\",\n statusMessageVariants({ status }),\n \"mt-0.5\",\n status === \"error\" ? classNames?.error : classNames?.helper,\n ),\n [status, classNames?.error, classNames?.helper],\n );\n\n const iconSize = iconSizes[size];\n\n const incrementButton = (\n <button\n type=\"button\"\n onClick={handleIncrement}\n disabled={isIncrementDisabled}\n data-slot=\"increment\"\n className={cn(\n \"number-input_increment h-full!\",\n controlButtonVariants({ size, position: controlsPosition }),\n controlsPosition === \"right\" && \"\",\n classNames?.increment,\n )}\n aria-label=\"Increment value\"\n tabIndex={-1}\n >\n <Plus className={iconSize} aria-hidden=\"true\" />\n </button>\n );\n\n const decrementButton = (\n <button\n type=\"button\"\n onClick={handleDecrement}\n disabled={isDecrementDisabled}\n data-slot=\"decrement\"\n className={cn(\n \"number-input_decrement h-full!\",\n controlButtonVariants({ size, position: controlsPosition }),\n controlsPosition === \"right\" && \"border-r border-border\",\n classNames?.decrement,\n )}\n aria-label=\"Decrement value\"\n tabIndex={-1}\n >\n <Minus className={iconSize} aria-hidden=\"true\" />\n </button>\n );\n\n const inputElement = (\n <div data-slot=\"wrapper\" className={wrapperClass}>\n {controls && controlsPosition === \"sides\" && decrementButton}\n <input\n ref={ref}\n id={inputId}\n name={name}\n type=\"text\"\n inputMode=\"decimal\"\n data-slot=\"input\"\n className={inputClass}\n value={formatValue(currentValue)}\n onChange={handleChange}\n onBlur={handleBlur}\n onKeyDown={handleKeyDown}\n disabled={disabled}\n readOnly={readOnly}\n placeholder={placeholder}\n aria-invalid={status === \"error\"}\n aria-describedby={ariaDescribedBy}\n aria-valuemin={min}\n aria-valuemax={max}\n aria-valuenow={currentValue}\n />\n {controls && controlsPosition === \"right\" && (\n <div data-slot=\"controls\" className={controlsClass}>\n <div className=\"flex flex-row h-full\">\n {decrementButton}\n {incrementButton}\n </div>\n </div>\n )}\n {controls && controlsPosition === \"sides\" && incrementButton}\n {loading && (\n <div className=\"absolute right-3 flex items-center\">\n <Spinner aria-hidden=\"true\" />\n </div>\n )}\n </div>\n );\n\n return (\n <div data-slot=\"root\" className={rootClass}>\n {label && (\n <label htmlFor={inputId} data-slot=\"label\" className={labelClass}>\n {label}\n {required && <span className=\"text-error ml-1\">*</span>}\n </label>\n )}\n {inputElement}\n {helperMessage && (\n <p id={helperId} data-slot=\"helper\" className={helperClass}>\n {helperMessage}\n </p>\n )}\n </div>\n );\n },\n);\n\nNumberInput.displayName = \"NumberInput\";\n\nexport type * from \"./types\";\nexport default NumberInput;\n"]}
|
|
@@ -50,7 +50,7 @@ var pagination = {
|
|
|
50
50
|
clickable: true,
|
|
51
51
|
horizontalClass: "pagination",
|
|
52
52
|
bulletActiveClass: "bg-text-primary",
|
|
53
|
-
bulletClass: "inline-flex w-2.5 h-2.5 mx-1 rounded-full bg-border opacity-70 transition-
|
|
53
|
+
bulletClass: "inline-flex w-2.5 h-2.5 mx-1 rounded-full bg-border opacity-70 transition-[opacity,colors] duration-300 cursor-pointer hover:opacity-100"
|
|
54
54
|
};
|
|
55
55
|
var Carousel = React.memo(
|
|
56
56
|
({
|
|
@@ -80,7 +80,7 @@ var Carousel = React.memo(
|
|
|
80
80
|
children: [
|
|
81
81
|
withArrows && /* @__PURE__ */ jsx("div", { className: cn(
|
|
82
82
|
"carousel_navigation",
|
|
83
|
-
"absolute -translate-y-1/2 top-1/2 left-0 flex px-1 z-10 opacity-0 group-hover:opacity-100 transition-opacity duration-200",
|
|
83
|
+
"absolute -translate-y-1/2 top-1/2 left-0 flex px-1 z-10 opacity-0 group-hover:opacity-100 transition-[opacity,colors] duration-200",
|
|
84
84
|
classNames?.navigation
|
|
85
85
|
), children: /* @__PURE__ */ jsx(
|
|
86
86
|
CarouselNavigation,
|
|
@@ -107,7 +107,7 @@ var Carousel = React.memo(
|
|
|
107
107
|
),
|
|
108
108
|
withArrows && /* @__PURE__ */ jsx("div", { className: cn(
|
|
109
109
|
"carousel_navigation",
|
|
110
|
-
"absolute -translate-y-1/2 top-1/2 right-0 flex px-1 z-10 opacity-0 group-hover:opacity-100 transition-opacity duration-200",
|
|
110
|
+
"absolute -translate-y-1/2 top-1/2 right-0 flex px-1 z-10 opacity-0 group-hover:opacity-100 transition-[opacity,colors] duration-200",
|
|
111
111
|
classNames?.navigation
|
|
112
112
|
), children: /* @__PURE__ */ jsx(
|
|
113
113
|
CarouselNavigation,
|
|
@@ -126,5 +126,5 @@ Carousel.displayName = "Carousel";
|
|
|
126
126
|
var carousel_default = Carousel;
|
|
127
127
|
|
|
128
128
|
export { carousel_default };
|
|
129
|
-
//# sourceMappingURL=chunk-
|
|
130
|
-
//# sourceMappingURL=chunk-
|
|
129
|
+
//# sourceMappingURL=chunk-DRCT6VZ7.js.map
|
|
130
|
+
//# sourceMappingURL=chunk-DRCT6VZ7.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/carousel/carousel-navigation.tsx","../src/carousel/index.tsx"],"names":["useState","jsx"],"mappings":"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
|
|
1
|
+
{"version":3,"sources":["../src/carousel/carousel-navigation.tsx","../src/carousel/index.tsx"],"names":["useState","jsx"],"mappings":"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","file":"chunk-DRCT6VZ7.js","sourcesContent":["'use client'\n\nimport { ChevronLeft, ChevronRight } from 'lucide-react'\nimport { Swiper as SwiperType } from 'swiper/types'\nimport { useEffect, useState } from 'react'\nimport { cn } from '../utils'\n\ninterface CarouselNavigationProps {\n type: 'next' | 'prev'\n swiper: SwiperType | null\n className?: string\n}\n\nexport function CarouselNavigation({ type, swiper, className }: CarouselNavigationProps) {\n const [slideConfig, setSlideConfig] = useState({\n isBeginning: true,\n isEnd: false,\n })\n\n useEffect(() => {\n if (!swiper) return\n\n const updateSlideState = () => {\n setSlideConfig({ isBeginning: swiper.isBeginning, isEnd: swiper.isEnd })\n }\n\n swiper.on('slideChange', updateSlideState)\n\n return () => {\n swiper.off('slideChange', updateSlideState)\n }\n }, [swiper])\n\n if (!swiper) return null\n if (slideConfig.isBeginning && type === 'prev') return null\n if (slideConfig.isEnd && type === 'next') return null\n\n return (\n <button\n type=\"button\"\n aria-label={type === 'next' ? 'Next slide' : 'Previous slide'}\n onClick={(e) => {\n e.stopPropagation()\n if (type === 'next') {\n swiper?.slideNext()\n } else {\n swiper?.slidePrev()\n }\n }}\n className={cn(\n 'flex items-center justify-center w-9 h-9 rounded-full border border-gray-300 bg-white shadow-sm hover:bg-gray-100 transition cursor-pointer focus-visible:ring-2 focus-visible:ring-primary focus-visible:ring-offset-2 outline-none',\n className\n )}\n >\n {type === 'next' ? <ChevronRight size={18} aria-hidden=\"true\" /> : <ChevronLeft size={18} aria-hidden=\"true\" />}\n </button>\n )\n}\n","'use client'\n\nimport React, { useRef, useState } from 'react'\nimport { Pagination } from 'swiper/modules'\nimport { Swiper, SwiperProps } from 'swiper/react'\nimport { PaginationOptions, Swiper as SwiperType } from 'swiper/types'\n\n// Swiper core styles - required for carousel to render correctly\nimport 'swiper/css'\nimport 'swiper/css/pagination'\n\nimport { cn } from '../utils'\nimport { CarouselNavigation } from './carousel-navigation'\n\nexport interface CarouselClassNames {\n /**\n * Class name for the root container\n */\n root?: string\n\n /**\n * Class name for the wrapper element\n */\n wrapper?: string\n\n /**\n * Class name for individual slides\n */\n slide?: string\n\n /**\n * Class name for the navigation container\n */\n navigation?: string\n\n /**\n * Class name for navigation buttons\n */\n navButton?: string\n\n /**\n * Class name for the pagination container\n */\n pagination?: string\n\n /**\n * Class name for pagination dots\n */\n dot?: string\n\n /**\n * Class name for active pagination dot\n */\n dotActive?: string\n}\n\ninterface CarouselProps extends SwiperProps {\n withArrows?: boolean\n withPagination?: boolean\n children: React.ReactNode\n /**\n * ClassNames for component parts\n */\n classNames?: CarouselClassNames\n}\n\nconst pagination: PaginationOptions = {\n clickable: true,\n horizontalClass: 'pagination',\n bulletActiveClass: 'bg-text-primary',\n bulletClass:\n 'inline-flex w-2.5 h-2.5 mx-1 rounded-full bg-border opacity-70 transition-[opacity,colors] duration-300 cursor-pointer hover:opacity-100',\n}\n\nconst Carousel = React.memo<CarouselProps>(\n ({\n withArrows = false,\n withPagination = false,\n children,\n loop = false,\n className,\n classNames,\n modules,\n ...props\n }) => {\n const swiperRef = useRef<SwiperType | null>(null)\n const [, setRenderTrigger] = useState(0)\n\n return (\n <div\n className={cn(\n 'carousel_root',\n 'relative h-full group',\n classNames?.root,\n className\n )}\n role=\"region\"\n aria-roledescription=\"carousel\"\n aria-label=\"Image carousel\"\n >\n {withArrows && (\n <div className={cn(\n 'carousel_navigation',\n 'absolute -translate-y-1/2 top-1/2 left-0 flex px-1 z-10 opacity-0 group-hover:opacity-100 transition-[opacity,colors] duration-200',\n classNames?.navigation\n )}>\n <CarouselNavigation\n type=\"prev\"\n swiper={swiperRef.current}\n className={cn('carousel_navButton', classNames?.navButton)}\n />\n </div>\n )}\n\n <Swiper\n loop={loop}\n {...props}\n modules={[Pagination, ...(modules || [])]}\n pagination={withPagination ? pagination : false}\n className={cn('carousel_wrapper', 'relative', classNames?.wrapper)}\n onBeforeInit={(swiper) => {\n swiperRef.current = swiper\n setRenderTrigger((x) => x + 1) // Trigger re-render to update navigation refs\n }}\n >\n {children}\n </Swiper>\n\n {withArrows && (\n <div className={cn(\n 'carousel_navigation',\n 'absolute -translate-y-1/2 top-1/2 right-0 flex px-1 z-10 opacity-0 group-hover:opacity-100 transition-[opacity,colors] duration-200',\n classNames?.navigation\n )}>\n <CarouselNavigation\n type=\"next\"\n swiper={swiperRef.current}\n className={cn('carousel_navButton', classNames?.navButton)}\n />\n </div>\n )}\n </div>\n )\n },\n)\n\nCarousel.displayName = 'Carousel'\n\nexport default Carousel\n"]}
|
|
@@ -57,7 +57,7 @@ var getToggleClasses = (color, variant, isActive) => {
|
|
|
57
57
|
return activeDefaultClasses[toggleColor] || activeDefaultClasses.default;
|
|
58
58
|
};
|
|
59
59
|
var singleToggleVariants = cva(
|
|
60
|
-
"inline-flex items-center gap-2 font-medium transition-colors cursor-pointer border rounded-md",
|
|
60
|
+
"inline-flex items-center gap-2 font-medium transition-[colors,transform] cursor-pointer border rounded-md active:scale-[0.95] focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-2",
|
|
61
61
|
{
|
|
62
62
|
variants: {
|
|
63
63
|
size: {
|
|
@@ -129,5 +129,5 @@ Toggle.displayName = "Toggle";
|
|
|
129
129
|
var toggle_default = Toggle;
|
|
130
130
|
|
|
131
131
|
export { toggle_default };
|
|
132
|
-
//# sourceMappingURL=chunk-
|
|
133
|
-
//# sourceMappingURL=chunk-
|
|
132
|
+
//# sourceMappingURL=chunk-DUNER5Q3.js.map
|
|
133
|
+
//# sourceMappingURL=chunk-DUNER5Q3.js.map
|