jaci-ui 0.1.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/LICENSE +21 -0
- package/dist/components/accordion/accordion.cjs +83 -0
- package/dist/components/accordion/accordion.cjs.map +1 -0
- package/dist/components/accordion/accordion.d.cts +32 -0
- package/dist/components/accordion/accordion.d.ts +32 -0
- package/dist/components/accordion/accordion.js +77 -0
- package/dist/components/accordion/accordion.js.map +1 -0
- package/dist/components/accordion/index.d.cts +2 -0
- package/dist/components/accordion/index.d.ts +2 -0
- package/dist/components/alert/alert.cjs +76 -0
- package/dist/components/alert/alert.cjs.map +1 -0
- package/dist/components/alert/alert.d.cts +26 -0
- package/dist/components/alert/alert.d.ts +26 -0
- package/dist/components/alert/alert.js +72 -0
- package/dist/components/alert/alert.js.map +1 -0
- package/dist/components/alert/index.d.cts +2 -0
- package/dist/components/alert/index.d.ts +2 -0
- package/dist/components/alert-dialog/alert-dialog.cjs +147 -0
- package/dist/components/alert-dialog/alert-dialog.cjs.map +1 -0
- package/dist/components/alert-dialog/alert-dialog.d.cts +73 -0
- package/dist/components/alert-dialog/alert-dialog.d.ts +73 -0
- package/dist/components/alert-dialog/alert-dialog.js +133 -0
- package/dist/components/alert-dialog/alert-dialog.js.map +1 -0
- package/dist/components/alert-dialog/index.d.cts +2 -0
- package/dist/components/alert-dialog/index.d.ts +2 -0
- package/dist/components/avatar/avatar.cjs +89 -0
- package/dist/components/avatar/avatar.cjs.map +1 -0
- package/dist/components/avatar/avatar.d.cts +33 -0
- package/dist/components/avatar/avatar.d.ts +33 -0
- package/dist/components/avatar/avatar.js +86 -0
- package/dist/components/avatar/avatar.js.map +1 -0
- package/dist/components/avatar/index.d.cts +2 -0
- package/dist/components/avatar/index.d.ts +2 -0
- package/dist/components/base-ui.cjs +14 -0
- package/dist/components/base-ui.cjs.map +1 -0
- package/dist/components/base-ui.js +14 -0
- package/dist/components/base-ui.js.map +1 -0
- package/dist/components/breadcrumbs/breadcrumbs.cjs +84 -0
- package/dist/components/breadcrumbs/breadcrumbs.cjs.map +1 -0
- package/dist/components/breadcrumbs/breadcrumbs.d.cts +31 -0
- package/dist/components/breadcrumbs/breadcrumbs.d.ts +31 -0
- package/dist/components/breadcrumbs/breadcrumbs.js +78 -0
- package/dist/components/breadcrumbs/breadcrumbs.js.map +1 -0
- package/dist/components/breadcrumbs/index.d.cts +2 -0
- package/dist/components/breadcrumbs/index.d.ts +2 -0
- package/dist/components/button/button.cjs +54 -0
- package/dist/components/button/button.cjs.map +1 -0
- package/dist/components/button/button.d.cts +21 -0
- package/dist/components/button/button.d.ts +21 -0
- package/dist/components/button/button.js +54 -0
- package/dist/components/button/button.js.map +1 -0
- package/dist/components/button/index.d.cts +2 -0
- package/dist/components/button/index.d.ts +2 -0
- package/dist/components/card/card.cjs +55 -0
- package/dist/components/card/card.cjs.map +1 -0
- package/dist/components/card/card.d.cts +13 -0
- package/dist/components/card/card.d.ts +13 -0
- package/dist/components/card/card.js +51 -0
- package/dist/components/card/card.js.map +1 -0
- package/dist/components/card/index.d.cts +2 -0
- package/dist/components/card/index.d.ts +2 -0
- package/dist/components/checkbox-group/checkbox-group.cjs +85 -0
- package/dist/components/checkbox-group/checkbox-group.cjs.map +1 -0
- package/dist/components/checkbox-group/checkbox-group.d.cts +37 -0
- package/dist/components/checkbox-group/checkbox-group.d.ts +37 -0
- package/dist/components/checkbox-group/checkbox-group.js +79 -0
- package/dist/components/checkbox-group/checkbox-group.js.map +1 -0
- package/dist/components/checkbox-group/index.d.cts +2 -0
- package/dist/components/checkbox-group/index.d.ts +2 -0
- package/dist/components/collapsible/collapsible.cjs +59 -0
- package/dist/components/collapsible/collapsible.cjs.map +1 -0
- package/dist/components/collapsible/collapsible.d.cts +22 -0
- package/dist/components/collapsible/collapsible.d.ts +22 -0
- package/dist/components/collapsible/collapsible.js +55 -0
- package/dist/components/collapsible/collapsible.js.map +1 -0
- package/dist/components/collapsible/index.d.cts +2 -0
- package/dist/components/collapsible/index.d.ts +2 -0
- package/dist/components/color-picker/color-picker.cjs +360 -0
- package/dist/components/color-picker/color-picker.cjs.map +1 -0
- package/dist/components/color-picker/color-picker.d.cts +94 -0
- package/dist/components/color-picker/color-picker.d.ts +94 -0
- package/dist/components/color-picker/color-picker.js +344 -0
- package/dist/components/color-picker/color-picker.js.map +1 -0
- package/dist/components/color-picker/color-utils.cjs +162 -0
- package/dist/components/color-picker/color-utils.cjs.map +1 -0
- package/dist/components/color-picker/color-utils.d.cts +14 -0
- package/dist/components/color-picker/color-utils.d.ts +14 -0
- package/dist/components/color-picker/color-utils.js +160 -0
- package/dist/components/color-picker/color-utils.js.map +1 -0
- package/dist/components/color-picker/index.d.cts +3 -0
- package/dist/components/color-picker/index.d.ts +3 -0
- package/dist/components/combobox/combobox.cjs +218 -0
- package/dist/components/combobox/combobox.cjs.map +1 -0
- package/dist/components/combobox/combobox.d.cts +81 -0
- package/dist/components/combobox/combobox.d.ts +81 -0
- package/dist/components/combobox/combobox.js +199 -0
- package/dist/components/combobox/combobox.js.map +1 -0
- package/dist/components/combobox/index.d.cts +2 -0
- package/dist/components/combobox/index.d.ts +2 -0
- package/dist/components/command/command.cjs +303 -0
- package/dist/components/command/command.cjs.map +1 -0
- package/dist/components/command/command.d.cts +50 -0
- package/dist/components/command/command.d.ts +50 -0
- package/dist/components/command/command.js +294 -0
- package/dist/components/command/command.js.map +1 -0
- package/dist/components/command/index.d.cts +2 -0
- package/dist/components/command/index.d.ts +2 -0
- package/dist/components/context-menu/context-menu.cjs +175 -0
- package/dist/components/context-menu/context-menu.cjs.map +1 -0
- package/dist/components/context-menu/context-menu.d.cts +69 -0
- package/dist/components/context-menu/context-menu.d.ts +69 -0
- package/dist/components/context-menu/context-menu.js +156 -0
- package/dist/components/context-menu/context-menu.js.map +1 -0
- package/dist/components/context-menu/index.d.cts +2 -0
- package/dist/components/context-menu/index.d.ts +2 -0
- package/dist/components/controls/checkbox.cjs +33 -0
- package/dist/components/controls/checkbox.cjs.map +1 -0
- package/dist/components/controls/checkbox.d.cts +12 -0
- package/dist/components/controls/checkbox.d.ts +12 -0
- package/dist/components/controls/checkbox.js +33 -0
- package/dist/components/controls/checkbox.js.map +1 -0
- package/dist/components/controls/index.d.cts +6 -0
- package/dist/components/controls/index.d.ts +6 -0
- package/dist/components/controls/input.cjs +29 -0
- package/dist/components/controls/input.cjs.map +1 -0
- package/dist/components/controls/input.d.cts +9 -0
- package/dist/components/controls/input.d.ts +9 -0
- package/dist/components/controls/input.js +29 -0
- package/dist/components/controls/input.js.map +1 -0
- package/dist/components/controls/radio.cjs +20 -0
- package/dist/components/controls/radio.cjs.map +1 -0
- package/dist/components/controls/radio.d.cts +7 -0
- package/dist/components/controls/radio.d.ts +7 -0
- package/dist/components/controls/radio.js +20 -0
- package/dist/components/controls/radio.js.map +1 -0
- package/dist/components/controls/switch.cjs +30 -0
- package/dist/components/controls/switch.cjs.map +1 -0
- package/dist/components/controls/switch.d.cts +10 -0
- package/dist/components/controls/switch.d.ts +10 -0
- package/dist/components/controls/switch.js +30 -0
- package/dist/components/controls/switch.js.map +1 -0
- package/dist/components/controls/textarea.cjs +30 -0
- package/dist/components/controls/textarea.cjs.map +1 -0
- package/dist/components/controls/textarea.d.cts +9 -0
- package/dist/components/controls/textarea.d.ts +9 -0
- package/dist/components/controls/textarea.js +30 -0
- package/dist/components/controls/textarea.js.map +1 -0
- package/dist/components/copyable/copyable.cjs +124 -0
- package/dist/components/copyable/copyable.cjs.map +1 -0
- package/dist/components/copyable/copyable.d.cts +27 -0
- package/dist/components/copyable/copyable.d.ts +27 -0
- package/dist/components/copyable/copyable.js +121 -0
- package/dist/components/copyable/copyable.js.map +1 -0
- package/dist/components/copyable/index.d.cts +2 -0
- package/dist/components/copyable/index.d.ts +2 -0
- package/dist/components/data-view/data-view.cjs +85 -0
- package/dist/components/data-view/data-view.cjs.map +1 -0
- package/dist/components/data-view/data-view.d.cts +31 -0
- package/dist/components/data-view/data-view.d.ts +31 -0
- package/dist/components/data-view/data-view.js +79 -0
- package/dist/components/data-view/data-view.js.map +1 -0
- package/dist/components/data-view/index.d.cts +2 -0
- package/dist/components/data-view/index.d.ts +2 -0
- package/dist/components/date-picker/date-picker.cjs +448 -0
- package/dist/components/date-picker/date-picker.cjs.map +1 -0
- package/dist/components/date-picker/date-picker.d.cts +118 -0
- package/dist/components/date-picker/date-picker.d.ts +118 -0
- package/dist/components/date-picker/date-picker.js +432 -0
- package/dist/components/date-picker/date-picker.js.map +1 -0
- package/dist/components/date-picker/date-utils.cjs +80 -0
- package/dist/components/date-picker/date-utils.cjs.map +1 -0
- package/dist/components/date-picker/date-utils.js +66 -0
- package/dist/components/date-picker/date-utils.js.map +1 -0
- package/dist/components/date-picker/index.d.cts +2 -0
- package/dist/components/date-picker/index.d.ts +2 -0
- package/dist/components/dialog/dialog.cjs +130 -0
- package/dist/components/dialog/dialog.cjs.map +1 -0
- package/dist/components/dialog/dialog.d.cts +55 -0
- package/dist/components/dialog/dialog.d.ts +55 -0
- package/dist/components/dialog/dialog.js +118 -0
- package/dist/components/dialog/dialog.js.map +1 -0
- package/dist/components/dialog/index.d.cts +2 -0
- package/dist/components/dialog/index.d.ts +2 -0
- package/dist/components/drawer/drawer.cjs +165 -0
- package/dist/components/drawer/drawer.cjs.map +1 -0
- package/dist/components/drawer/drawer.d.cts +58 -0
- package/dist/components/drawer/drawer.d.ts +58 -0
- package/dist/components/drawer/drawer.js +153 -0
- package/dist/components/drawer/drawer.js.map +1 -0
- package/dist/components/drawer/index.d.cts +2 -0
- package/dist/components/drawer/index.d.ts +2 -0
- package/dist/components/feedback/badge.cjs +18 -0
- package/dist/components/feedback/badge.cjs.map +1 -0
- package/dist/components/feedback/badge.d.cts +9 -0
- package/dist/components/feedback/badge.d.ts +9 -0
- package/dist/components/feedback/badge.js +18 -0
- package/dist/components/feedback/badge.js.map +1 -0
- package/dist/components/feedback/index.d.cts +2 -0
- package/dist/components/feedback/index.d.ts +2 -0
- package/dist/components/field/field.cjs +127 -0
- package/dist/components/field/field.cjs.map +1 -0
- package/dist/components/field/field.d.cts +47 -0
- package/dist/components/field/field.d.ts +47 -0
- package/dist/components/field/field.js +123 -0
- package/dist/components/field/field.js.map +1 -0
- package/dist/components/field/index.d.cts +2 -0
- package/dist/components/field/index.d.ts +2 -0
- package/dist/components/fieldset/fieldset.cjs +48 -0
- package/dist/components/fieldset/fieldset.cjs.map +1 -0
- package/dist/components/fieldset/fieldset.d.cts +17 -0
- package/dist/components/fieldset/fieldset.d.ts +17 -0
- package/dist/components/fieldset/fieldset.js +45 -0
- package/dist/components/fieldset/fieldset.js.map +1 -0
- package/dist/components/fieldset/index.d.cts +2 -0
- package/dist/components/fieldset/index.d.ts +2 -0
- package/dist/components/form/form.cjs +27 -0
- package/dist/components/form/form.cjs.map +1 -0
- package/dist/components/form/form.d.cts +18 -0
- package/dist/components/form/form.d.ts +18 -0
- package/dist/components/form/form.js +26 -0
- package/dist/components/form/form.js.map +1 -0
- package/dist/components/form/index.d.cts +2 -0
- package/dist/components/form/index.d.ts +2 -0
- package/dist/components/layout/index.cjs +73 -0
- package/dist/components/layout/index.cjs.map +1 -0
- package/dist/components/layout/index.d.cts +35 -0
- package/dist/components/layout/index.d.ts +35 -0
- package/dist/components/layout/index.js +69 -0
- package/dist/components/layout/index.js.map +1 -0
- package/dist/components/list/index.d.cts +2 -0
- package/dist/components/list/index.d.ts +2 -0
- package/dist/components/list/list.cjs +86 -0
- package/dist/components/list/list.cjs.map +1 -0
- package/dist/components/list/list.d.cts +37 -0
- package/dist/components/list/list.d.ts +37 -0
- package/dist/components/list/list.js +80 -0
- package/dist/components/list/list.js.map +1 -0
- package/dist/components/menu/index.d.cts +2 -0
- package/dist/components/menu/index.d.ts +2 -0
- package/dist/components/menu/menu.cjs +108 -0
- package/dist/components/menu/menu.cjs.map +1 -0
- package/dist/components/menu/menu.d.cts +47 -0
- package/dist/components/menu/menu.d.ts +47 -0
- package/dist/components/menu/menu.js +98 -0
- package/dist/components/menu/menu.js.map +1 -0
- package/dist/components/menubar/index.d.cts +2 -0
- package/dist/components/menubar/index.d.ts +2 -0
- package/dist/components/menubar/menubar.cjs +206 -0
- package/dist/components/menubar/menubar.cjs.map +1 -0
- package/dist/components/menubar/menubar.d.cts +74 -0
- package/dist/components/menubar/menubar.d.ts +74 -0
- package/dist/components/menubar/menubar.js +187 -0
- package/dist/components/menubar/menubar.js.map +1 -0
- package/dist/components/meter/index.d.cts +2 -0
- package/dist/components/meter/index.d.ts +2 -0
- package/dist/components/meter/meter.cjs +91 -0
- package/dist/components/meter/meter.cjs.map +1 -0
- package/dist/components/meter/meter.d.cts +30 -0
- package/dist/components/meter/meter.d.ts +30 -0
- package/dist/components/meter/meter.js +86 -0
- package/dist/components/meter/meter.js.map +1 -0
- package/dist/components/navigation/index.d.cts +2 -0
- package/dist/components/navigation/index.d.ts +2 -0
- package/dist/components/navigation/navigation.cjs +163 -0
- package/dist/components/navigation/navigation.cjs.map +1 -0
- package/dist/components/navigation/navigation.d.cts +75 -0
- package/dist/components/navigation/navigation.d.ts +75 -0
- package/dist/components/navigation/navigation.js +151 -0
- package/dist/components/navigation/navigation.js.map +1 -0
- package/dist/components/navigation-menu/index.d.cts +2 -0
- package/dist/components/navigation-menu/index.d.ts +2 -0
- package/dist/components/navigation-menu/navigation-menu.cjs +214 -0
- package/dist/components/navigation-menu/navigation-menu.cjs.map +1 -0
- package/dist/components/navigation-menu/navigation-menu.d.cts +54 -0
- package/dist/components/navigation-menu/navigation-menu.d.ts +54 -0
- package/dist/components/navigation-menu/navigation-menu.js +201 -0
- package/dist/components/navigation-menu/navigation-menu.js.map +1 -0
- package/dist/components/number-field/index.d.cts +2 -0
- package/dist/components/number-field/index.d.ts +2 -0
- package/dist/components/number-field/number-field.cjs +124 -0
- package/dist/components/number-field/number-field.cjs.map +1 -0
- package/dist/components/number-field/number-field.d.cts +48 -0
- package/dist/components/number-field/number-field.d.ts +48 -0
- package/dist/components/number-field/number-field.js +116 -0
- package/dist/components/number-field/number-field.js.map +1 -0
- package/dist/components/option-selector/index.d.cts +2 -0
- package/dist/components/option-selector/index.d.ts +2 -0
- package/dist/components/option-selector/option-selector.cjs +105 -0
- package/dist/components/option-selector/option-selector.cjs.map +1 -0
- package/dist/components/option-selector/option-selector.d.cts +46 -0
- package/dist/components/option-selector/option-selector.d.ts +46 -0
- package/dist/components/option-selector/option-selector.js +105 -0
- package/dist/components/option-selector/option-selector.js.map +1 -0
- package/dist/components/pagination/index.d.cts +2 -0
- package/dist/components/pagination/index.d.ts +2 -0
- package/dist/components/pagination/pagination.cjs +132 -0
- package/dist/components/pagination/pagination.cjs.map +1 -0
- package/dist/components/pagination/pagination.d.cts +44 -0
- package/dist/components/pagination/pagination.d.ts +44 -0
- package/dist/components/pagination/pagination.js +125 -0
- package/dist/components/pagination/pagination.js.map +1 -0
- package/dist/components/popover/index.d.cts +2 -0
- package/dist/components/popover/index.d.ts +2 -0
- package/dist/components/popover/popover.cjs +98 -0
- package/dist/components/popover/popover.cjs.map +1 -0
- package/dist/components/popover/popover.d.cts +61 -0
- package/dist/components/popover/popover.d.ts +61 -0
- package/dist/components/popover/popover.js +89 -0
- package/dist/components/popover/popover.js.map +1 -0
- package/dist/components/progress/index.d.cts +2 -0
- package/dist/components/progress/index.d.ts +2 -0
- package/dist/components/progress/progress.cjs +59 -0
- package/dist/components/progress/progress.cjs.map +1 -0
- package/dist/components/progress/progress.d.cts +20 -0
- package/dist/components/progress/progress.d.ts +20 -0
- package/dist/components/progress/progress.js +59 -0
- package/dist/components/progress/progress.js.map +1 -0
- package/dist/components/radio-group/index.d.cts +2 -0
- package/dist/components/radio-group/index.d.ts +2 -0
- package/dist/components/radio-group/radio-group.cjs +90 -0
- package/dist/components/radio-group/radio-group.cjs.map +1 -0
- package/dist/components/radio-group/radio-group.d.cts +40 -0
- package/dist/components/radio-group/radio-group.d.ts +40 -0
- package/dist/components/radio-group/radio-group.js +84 -0
- package/dist/components/radio-group/radio-group.js.map +1 -0
- package/dist/components/range-slider/index.d.cts +2 -0
- package/dist/components/range-slider/index.d.ts +2 -0
- package/dist/components/range-slider/range-slider.cjs +103 -0
- package/dist/components/range-slider/range-slider.cjs.map +1 -0
- package/dist/components/range-slider/range-slider.d.cts +40 -0
- package/dist/components/range-slider/range-slider.d.ts +40 -0
- package/dist/components/range-slider/range-slider.js +96 -0
- package/dist/components/range-slider/range-slider.js.map +1 -0
- package/dist/components/scroll-area/index.d.cts +2 -0
- package/dist/components/scroll-area/index.d.ts +2 -0
- package/dist/components/scroll-area/scroll-area.cjs +76 -0
- package/dist/components/scroll-area/scroll-area.cjs.map +1 -0
- package/dist/components/scroll-area/scroll-area.d.cts +26 -0
- package/dist/components/scroll-area/scroll-area.d.ts +26 -0
- package/dist/components/scroll-area/scroll-area.js +70 -0
- package/dist/components/scroll-area/scroll-area.js.map +1 -0
- package/dist/components/select/index.d.cts +2 -0
- package/dist/components/select/index.d.ts +2 -0
- package/dist/components/select/select.cjs +171 -0
- package/dist/components/select/select.cjs.map +1 -0
- package/dist/components/select/select.d.cts +74 -0
- package/dist/components/select/select.d.ts +74 -0
- package/dist/components/select/select.js +156 -0
- package/dist/components/select/select.js.map +1 -0
- package/dist/components/sidebar/index.d.cts +2 -0
- package/dist/components/sidebar/index.d.ts +2 -0
- package/dist/components/sidebar/sidebar.cjs +162 -0
- package/dist/components/sidebar/sidebar.cjs.map +1 -0
- package/dist/components/sidebar/sidebar.d.cts +64 -0
- package/dist/components/sidebar/sidebar.d.ts +64 -0
- package/dist/components/sidebar/sidebar.js +154 -0
- package/dist/components/sidebar/sidebar.js.map +1 -0
- package/dist/components/skeleton/index.d.cts +2 -0
- package/dist/components/skeleton/index.d.ts +2 -0
- package/dist/components/skeleton/skeleton.cjs +25 -0
- package/dist/components/skeleton/skeleton.cjs.map +1 -0
- package/dist/components/skeleton/skeleton.d.cts +13 -0
- package/dist/components/skeleton/skeleton.d.ts +13 -0
- package/dist/components/skeleton/skeleton.js +25 -0
- package/dist/components/skeleton/skeleton.js.map +1 -0
- package/dist/components/slider/index.d.cts +2 -0
- package/dist/components/slider/index.d.ts +2 -0
- package/dist/components/slider/slider.cjs +96 -0
- package/dist/components/slider/slider.cjs.map +1 -0
- package/dist/components/slider/slider.d.cts +39 -0
- package/dist/components/slider/slider.d.ts +39 -0
- package/dist/components/slider/slider.js +89 -0
- package/dist/components/slider/slider.js.map +1 -0
- package/dist/components/table/index.d.cts +2 -0
- package/dist/components/table/index.d.ts +2 -0
- package/dist/components/table/table.cjs +196 -0
- package/dist/components/table/table.cjs.map +1 -0
- package/dist/components/table/table.d.cts +66 -0
- package/dist/components/table/table.d.ts +66 -0
- package/dist/components/table/table.js +184 -0
- package/dist/components/table/table.js.map +1 -0
- package/dist/components/tabs/index.d.cts +2 -0
- package/dist/components/tabs/index.d.ts +2 -0
- package/dist/components/tabs/tabs.cjs +65 -0
- package/dist/components/tabs/tabs.cjs.map +1 -0
- package/dist/components/tabs/tabs.d.cts +23 -0
- package/dist/components/tabs/tabs.d.ts +23 -0
- package/dist/components/tabs/tabs.js +61 -0
- package/dist/components/tabs/tabs.js.map +1 -0
- package/dist/components/tags-input/index.d.cts +2 -0
- package/dist/components/tags-input/index.d.ts +2 -0
- package/dist/components/tags-input/tags-input.cjs +172 -0
- package/dist/components/tags-input/tags-input.cjs.map +1 -0
- package/dist/components/tags-input/tags-input.d.cts +26 -0
- package/dist/components/tags-input/tags-input.d.ts +26 -0
- package/dist/components/tags-input/tags-input.js +172 -0
- package/dist/components/tags-input/tags-input.js.map +1 -0
- package/dist/components/toast/index.d.cts +2 -0
- package/dist/components/toast/index.d.ts +2 -0
- package/dist/components/toast/toast.cjs +135 -0
- package/dist/components/toast/toast.cjs.map +1 -0
- package/dist/components/toast/toast.d.cts +61 -0
- package/dist/components/toast/toast.d.ts +61 -0
- package/dist/components/toast/toast.js +125 -0
- package/dist/components/toast/toast.js.map +1 -0
- package/dist/components/toggle/index.d.cts +2 -0
- package/dist/components/toggle/index.d.ts +2 -0
- package/dist/components/toggle/toggle.cjs +25 -0
- package/dist/components/toggle/toggle.cjs.map +1 -0
- package/dist/components/toggle/toggle.d.cts +16 -0
- package/dist/components/toggle/toggle.d.ts +16 -0
- package/dist/components/toggle/toggle.js +25 -0
- package/dist/components/toggle/toggle.js.map +1 -0
- package/dist/components/toggle-group/index.d.cts +2 -0
- package/dist/components/toggle-group/index.d.ts +2 -0
- package/dist/components/toggle-group/toggle-group.cjs +52 -0
- package/dist/components/toggle-group/toggle-group.cjs.map +1 -0
- package/dist/components/toggle-group/toggle-group.d.cts +25 -0
- package/dist/components/toggle-group/toggle-group.d.ts +25 -0
- package/dist/components/toggle-group/toggle-group.js +50 -0
- package/dist/components/toggle-group/toggle-group.js.map +1 -0
- package/dist/components/toolbar/index.d.cts +2 -0
- package/dist/components/toolbar/index.d.ts +2 -0
- package/dist/components/toolbar/toolbar.cjs +85 -0
- package/dist/components/toolbar/toolbar.cjs.map +1 -0
- package/dist/components/toolbar/toolbar.d.cts +34 -0
- package/dist/components/toolbar/toolbar.d.ts +34 -0
- package/dist/components/toolbar/toolbar.js +79 -0
- package/dist/components/toolbar/toolbar.js.map +1 -0
- package/dist/components/tooltip/index.d.cts +2 -0
- package/dist/components/tooltip/index.d.ts +2 -0
- package/dist/components/tooltip/tooltip.cjs +65 -0
- package/dist/components/tooltip/tooltip.cjs.map +1 -0
- package/dist/components/tooltip/tooltip.d.cts +28 -0
- package/dist/components/tooltip/tooltip.d.ts +28 -0
- package/dist/components/tooltip/tooltip.js +59 -0
- package/dist/components/tooltip/tooltip.js.map +1 -0
- package/dist/components/tree-view/index.d.cts +2 -0
- package/dist/components/tree-view/index.d.ts +2 -0
- package/dist/components/tree-view/tree-view.cjs +345 -0
- package/dist/components/tree-view/tree-view.cjs.map +1 -0
- package/dist/components/tree-view/tree-view.d.cts +39 -0
- package/dist/components/tree-view/tree-view.d.ts +39 -0
- package/dist/components/tree-view/tree-view.js +340 -0
- package/dist/components/tree-view/tree-view.js.map +1 -0
- package/dist/components/typography/heading.cjs +28 -0
- package/dist/components/typography/heading.cjs.map +1 -0
- package/dist/components/typography/heading.d.cts +12 -0
- package/dist/components/typography/heading.d.ts +12 -0
- package/dist/components/typography/heading.js +28 -0
- package/dist/components/typography/heading.js.map +1 -0
- package/dist/components/typography/index.d.cts +5 -0
- package/dist/components/typography/index.d.ts +5 -0
- package/dist/components/typography/link.cjs +18 -0
- package/dist/components/typography/link.cjs.map +1 -0
- package/dist/components/typography/link.d.cts +9 -0
- package/dist/components/typography/link.d.ts +9 -0
- package/dist/components/typography/link.js +18 -0
- package/dist/components/typography/link.js.map +1 -0
- package/dist/components/typography/paragraph.cjs +18 -0
- package/dist/components/typography/paragraph.cjs.map +1 -0
- package/dist/components/typography/paragraph.d.cts +7 -0
- package/dist/components/typography/paragraph.d.ts +7 -0
- package/dist/components/typography/paragraph.js +18 -0
- package/dist/components/typography/paragraph.js.map +1 -0
- package/dist/components/typography/text.cjs +21 -0
- package/dist/components/typography/text.cjs.map +1 -0
- package/dist/components/typography/text.d.cts +14 -0
- package/dist/components/typography/text.d.ts +14 -0
- package/dist/components/typography/text.js +21 -0
- package/dist/components/typography/text.js.map +1 -0
- package/dist/components/upload/index.d.cts +2 -0
- package/dist/components/upload/index.d.ts +2 -0
- package/dist/components/upload/upload.cjs +411 -0
- package/dist/components/upload/upload.cjs.map +1 -0
- package/dist/components/upload/upload.d.cts +91 -0
- package/dist/components/upload/upload.d.ts +91 -0
- package/dist/components/upload/upload.js +398 -0
- package/dist/components/upload/upload.js.map +1 -0
- package/dist/components/visually-hidden/index.d.cts +2 -0
- package/dist/components/visually-hidden/index.d.ts +2 -0
- package/dist/components/visually-hidden/visually-hidden.cjs +18 -0
- package/dist/components/visually-hidden/visually-hidden.cjs.map +1 -0
- package/dist/components/visually-hidden/visually-hidden.d.cts +7 -0
- package/dist/components/visually-hidden/visually-hidden.d.ts +7 -0
- package/dist/components/visually-hidden/visually-hidden.js +18 -0
- package/dist/components/visually-hidden/visually-hidden.js.map +1 -0
- package/dist/index.cjs +494 -0
- package/dist/index.d.cts +116 -0
- package/dist/index.d.ts +116 -0
- package/dist/index.js +63 -0
- package/dist/panda-preset.cjs +11 -0
- package/dist/panda-preset.cjs.map +1 -0
- package/dist/panda-preset.d.cts +4 -0
- package/dist/panda-preset.d.ts +5 -0
- package/dist/panda-preset.js +12 -0
- package/dist/panda-preset.js.map +1 -0
- package/dist/styled-system/css/conditions.cjs +31 -0
- package/dist/styled-system/css/conditions.cjs.map +1 -0
- package/dist/styled-system/css/conditions.js +29 -0
- package/dist/styled-system/css/conditions.js.map +1 -0
- package/dist/styled-system/css/css.cjs +48 -0
- package/dist/styled-system/css/css.cjs.map +1 -0
- package/dist/styled-system/css/css.js +47 -0
- package/dist/styled-system/css/css.js.map +1 -0
- package/dist/styled-system/css/cva.cjs +20 -0
- package/dist/styled-system/css/cva.cjs.map +1 -0
- package/dist/styled-system/css/cva.js +19 -0
- package/dist/styled-system/css/cva.js.map +1 -0
- package/dist/styled-system/css/cx.cjs +13 -0
- package/dist/styled-system/css/cx.cjs.map +1 -0
- package/dist/styled-system/css/cx.js +13 -0
- package/dist/styled-system/css/cx.js.map +1 -0
- package/dist/styled-system/helpers.cjs +231 -0
- package/dist/styled-system/helpers.cjs.map +1 -0
- package/dist/styled-system/helpers.js +216 -0
- package/dist/styled-system/helpers.js.map +1 -0
- package/dist/styled-system/recipes/accordion.cjs +37 -0
- package/dist/styled-system/recipes/accordion.cjs.map +1 -0
- package/dist/styled-system/recipes/accordion.js +37 -0
- package/dist/styled-system/recipes/accordion.js.map +1 -0
- package/dist/styled-system/recipes/alert.cjs +40 -0
- package/dist/styled-system/recipes/alert.cjs.map +1 -0
- package/dist/styled-system/recipes/alert.js +40 -0
- package/dist/styled-system/recipes/alert.js.map +1 -0
- package/dist/styled-system/recipes/avatar.cjs +46 -0
- package/dist/styled-system/recipes/avatar.cjs.map +1 -0
- package/dist/styled-system/recipes/avatar.js +46 -0
- package/dist/styled-system/recipes/avatar.js.map +1 -0
- package/dist/styled-system/recipes/badge.cjs +31 -0
- package/dist/styled-system/recipes/badge.cjs.map +1 -0
- package/dist/styled-system/recipes/badge.js +31 -0
- package/dist/styled-system/recipes/badge.js.map +1 -0
- package/dist/styled-system/recipes/bottom-navigation.cjs +30 -0
- package/dist/styled-system/recipes/bottom-navigation.cjs.map +1 -0
- package/dist/styled-system/recipes/bottom-navigation.js +30 -0
- package/dist/styled-system/recipes/bottom-navigation.js.map +1 -0
- package/dist/styled-system/recipes/breadcrumbs.cjs +37 -0
- package/dist/styled-system/recipes/breadcrumbs.cjs.map +1 -0
- package/dist/styled-system/recipes/breadcrumbs.js +37 -0
- package/dist/styled-system/recipes/breadcrumbs.js.map +1 -0
- package/dist/styled-system/recipes/button.cjs +42 -0
- package/dist/styled-system/recipes/button.cjs.map +1 -0
- package/dist/styled-system/recipes/button.js +42 -0
- package/dist/styled-system/recipes/button.js.map +1 -0
- package/dist/styled-system/recipes/card.cjs +40 -0
- package/dist/styled-system/recipes/card.cjs.map +1 -0
- package/dist/styled-system/recipes/card.js +40 -0
- package/dist/styled-system/recipes/card.js.map +1 -0
- package/dist/styled-system/recipes/checkbox-group.cjs +37 -0
- package/dist/styled-system/recipes/checkbox-group.cjs.map +1 -0
- package/dist/styled-system/recipes/checkbox-group.js +37 -0
- package/dist/styled-system/recipes/checkbox-group.js.map +1 -0
- package/dist/styled-system/recipes/checkbox.cjs +30 -0
- package/dist/styled-system/recipes/checkbox.cjs.map +1 -0
- package/dist/styled-system/recipes/checkbox.js +30 -0
- package/dist/styled-system/recipes/checkbox.js.map +1 -0
- package/dist/styled-system/recipes/collapsible.cjs +35 -0
- package/dist/styled-system/recipes/collapsible.cjs.map +1 -0
- package/dist/styled-system/recipes/collapsible.js +35 -0
- package/dist/styled-system/recipes/collapsible.js.map +1 -0
- package/dist/styled-system/recipes/color-picker.cjs +46 -0
- package/dist/styled-system/recipes/color-picker.cjs.map +1 -0
- package/dist/styled-system/recipes/color-picker.js +46 -0
- package/dist/styled-system/recipes/color-picker.js.map +1 -0
- package/dist/styled-system/recipes/combobox.cjs +53 -0
- package/dist/styled-system/recipes/combobox.cjs.map +1 -0
- package/dist/styled-system/recipes/combobox.js +53 -0
- package/dist/styled-system/recipes/combobox.js.map +1 -0
- package/dist/styled-system/recipes/command.cjs +41 -0
- package/dist/styled-system/recipes/command.cjs.map +1 -0
- package/dist/styled-system/recipes/command.js +41 -0
- package/dist/styled-system/recipes/command.js.map +1 -0
- package/dist/styled-system/recipes/copyable.cjs +35 -0
- package/dist/styled-system/recipes/copyable.cjs.map +1 -0
- package/dist/styled-system/recipes/copyable.js +35 -0
- package/dist/styled-system/recipes/copyable.js.map +1 -0
- package/dist/styled-system/recipes/create-recipe.cjs +80 -0
- package/dist/styled-system/recipes/create-recipe.cjs.map +1 -0
- package/dist/styled-system/recipes/create-recipe.js +79 -0
- package/dist/styled-system/recipes/create-recipe.js.map +1 -0
- package/dist/styled-system/recipes/data-view.cjs +52 -0
- package/dist/styled-system/recipes/data-view.cjs.map +1 -0
- package/dist/styled-system/recipes/data-view.js +52 -0
- package/dist/styled-system/recipes/data-view.js.map +1 -0
- package/dist/styled-system/recipes/date-picker.cjs +51 -0
- package/dist/styled-system/recipes/date-picker.cjs.map +1 -0
- package/dist/styled-system/recipes/date-picker.js +51 -0
- package/dist/styled-system/recipes/date-picker.js.map +1 -0
- package/dist/styled-system/recipes/dialog.cjs +46 -0
- package/dist/styled-system/recipes/dialog.cjs.map +1 -0
- package/dist/styled-system/recipes/dialog.js +46 -0
- package/dist/styled-system/recipes/dialog.js.map +1 -0
- package/dist/styled-system/recipes/drawer.cjs +46 -0
- package/dist/styled-system/recipes/drawer.cjs.map +1 -0
- package/dist/styled-system/recipes/drawer.js +46 -0
- package/dist/styled-system/recipes/drawer.js.map +1 -0
- package/dist/styled-system/recipes/field.cjs +36 -0
- package/dist/styled-system/recipes/field.cjs.map +1 -0
- package/dist/styled-system/recipes/field.js +36 -0
- package/dist/styled-system/recipes/field.js.map +1 -0
- package/dist/styled-system/recipes/fieldset.cjs +34 -0
- package/dist/styled-system/recipes/fieldset.cjs.map +1 -0
- package/dist/styled-system/recipes/fieldset.js +34 -0
- package/dist/styled-system/recipes/fieldset.js.map +1 -0
- package/dist/styled-system/recipes/form.cjs +25 -0
- package/dist/styled-system/recipes/form.cjs.map +1 -0
- package/dist/styled-system/recipes/form.js +25 -0
- package/dist/styled-system/recipes/form.js.map +1 -0
- package/dist/styled-system/recipes/heading.cjs +32 -0
- package/dist/styled-system/recipes/heading.cjs.map +1 -0
- package/dist/styled-system/recipes/heading.js +32 -0
- package/dist/styled-system/recipes/heading.js.map +1 -0
- package/dist/styled-system/recipes/input.cjs +29 -0
- package/dist/styled-system/recipes/input.cjs.map +1 -0
- package/dist/styled-system/recipes/input.js +29 -0
- package/dist/styled-system/recipes/input.js.map +1 -0
- package/dist/styled-system/recipes/layout-grid.cjs +42 -0
- package/dist/styled-system/recipes/layout-grid.cjs.map +1 -0
- package/dist/styled-system/recipes/layout-grid.js +42 -0
- package/dist/styled-system/recipes/layout-grid.js.map +1 -0
- package/dist/styled-system/recipes/layout-stack.cjs +53 -0
- package/dist/styled-system/recipes/layout-stack.cjs.map +1 -0
- package/dist/styled-system/recipes/layout-stack.js +53 -0
- package/dist/styled-system/recipes/layout-stack.js.map +1 -0
- package/dist/styled-system/recipes/link.cjs +25 -0
- package/dist/styled-system/recipes/link.cjs.map +1 -0
- package/dist/styled-system/recipes/link.js +25 -0
- package/dist/styled-system/recipes/link.js.map +1 -0
- package/dist/styled-system/recipes/list.cjs +52 -0
- package/dist/styled-system/recipes/list.cjs.map +1 -0
- package/dist/styled-system/recipes/list.js +52 -0
- package/dist/styled-system/recipes/list.js.map +1 -0
- package/dist/styled-system/recipes/menu.cjs +38 -0
- package/dist/styled-system/recipes/menu.cjs.map +1 -0
- package/dist/styled-system/recipes/menu.js +38 -0
- package/dist/styled-system/recipes/menu.js.map +1 -0
- package/dist/styled-system/recipes/menubar.cjs +30 -0
- package/dist/styled-system/recipes/menubar.cjs.map +1 -0
- package/dist/styled-system/recipes/menubar.js +30 -0
- package/dist/styled-system/recipes/menubar.js.map +1 -0
- package/dist/styled-system/recipes/meter.cjs +52 -0
- package/dist/styled-system/recipes/meter.cjs.map +1 -0
- package/dist/styled-system/recipes/meter.js +52 -0
- package/dist/styled-system/recipes/meter.js.map +1 -0
- package/dist/styled-system/recipes/navbar.cjs +41 -0
- package/dist/styled-system/recipes/navbar.cjs.map +1 -0
- package/dist/styled-system/recipes/navbar.js +41 -0
- package/dist/styled-system/recipes/navbar.js.map +1 -0
- package/dist/styled-system/recipes/navigation-menu.cjs +43 -0
- package/dist/styled-system/recipes/navigation-menu.cjs.map +1 -0
- package/dist/styled-system/recipes/navigation-menu.js +43 -0
- package/dist/styled-system/recipes/navigation-menu.js.map +1 -0
- package/dist/styled-system/recipes/number-field.cjs +43 -0
- package/dist/styled-system/recipes/number-field.cjs.map +1 -0
- package/dist/styled-system/recipes/number-field.js +43 -0
- package/dist/styled-system/recipes/number-field.js.map +1 -0
- package/dist/styled-system/recipes/option-selector.cjs +52 -0
- package/dist/styled-system/recipes/option-selector.cjs.map +1 -0
- package/dist/styled-system/recipes/option-selector.js +52 -0
- package/dist/styled-system/recipes/option-selector.js.map +1 -0
- package/dist/styled-system/recipes/pagination.cjs +44 -0
- package/dist/styled-system/recipes/pagination.cjs.map +1 -0
- package/dist/styled-system/recipes/pagination.js +44 -0
- package/dist/styled-system/recipes/pagination.js.map +1 -0
- package/dist/styled-system/recipes/paragraph.cjs +25 -0
- package/dist/styled-system/recipes/paragraph.cjs.map +1 -0
- package/dist/styled-system/recipes/paragraph.js +25 -0
- package/dist/styled-system/recipes/paragraph.js.map +1 -0
- package/dist/styled-system/recipes/popover.cjs +38 -0
- package/dist/styled-system/recipes/popover.cjs.map +1 -0
- package/dist/styled-system/recipes/popover.js +38 -0
- package/dist/styled-system/recipes/popover.js.map +1 -0
- package/dist/styled-system/recipes/progress.cjs +35 -0
- package/dist/styled-system/recipes/progress.cjs.map +1 -0
- package/dist/styled-system/recipes/progress.js +35 -0
- package/dist/styled-system/recipes/progress.js.map +1 -0
- package/dist/styled-system/recipes/radio-group.cjs +37 -0
- package/dist/styled-system/recipes/radio-group.cjs.map +1 -0
- package/dist/styled-system/recipes/radio-group.js +37 -0
- package/dist/styled-system/recipes/radio-group.js.map +1 -0
- package/dist/styled-system/recipes/range-slider.cjs +42 -0
- package/dist/styled-system/recipes/range-slider.cjs.map +1 -0
- package/dist/styled-system/recipes/range-slider.js +42 -0
- package/dist/styled-system/recipes/range-slider.js.map +1 -0
- package/dist/styled-system/recipes/screen-reader-only.cjs +25 -0
- package/dist/styled-system/recipes/screen-reader-only.cjs.map +1 -0
- package/dist/styled-system/recipes/screen-reader-only.js +25 -0
- package/dist/styled-system/recipes/screen-reader-only.js.map +1 -0
- package/dist/styled-system/recipes/scroll-area.cjs +37 -0
- package/dist/styled-system/recipes/scroll-area.cjs.map +1 -0
- package/dist/styled-system/recipes/scroll-area.js +37 -0
- package/dist/styled-system/recipes/scroll-area.js.map +1 -0
- package/dist/styled-system/recipes/select.cjs +48 -0
- package/dist/styled-system/recipes/select.cjs.map +1 -0
- package/dist/styled-system/recipes/select.js +48 -0
- package/dist/styled-system/recipes/select.js.map +1 -0
- package/dist/styled-system/recipes/separator.cjs +25 -0
- package/dist/styled-system/recipes/separator.cjs.map +1 -0
- package/dist/styled-system/recipes/separator.js +25 -0
- package/dist/styled-system/recipes/separator.js.map +1 -0
- package/dist/styled-system/recipes/sidebar.cjs +44 -0
- package/dist/styled-system/recipes/sidebar.cjs.map +1 -0
- package/dist/styled-system/recipes/sidebar.js +44 -0
- package/dist/styled-system/recipes/sidebar.js.map +1 -0
- package/dist/styled-system/recipes/skeleton.cjs +35 -0
- package/dist/styled-system/recipes/skeleton.cjs.map +1 -0
- package/dist/styled-system/recipes/skeleton.js +35 -0
- package/dist/styled-system/recipes/skeleton.js.map +1 -0
- package/dist/styled-system/recipes/slider.cjs +42 -0
- package/dist/styled-system/recipes/slider.cjs.map +1 -0
- package/dist/styled-system/recipes/slider.js +42 -0
- package/dist/styled-system/recipes/slider.js.map +1 -0
- package/dist/styled-system/recipes/spinner.cjs +29 -0
- package/dist/styled-system/recipes/spinner.cjs.map +1 -0
- package/dist/styled-system/recipes/spinner.js +29 -0
- package/dist/styled-system/recipes/spinner.js.map +1 -0
- package/dist/styled-system/recipes/table.cjs +58 -0
- package/dist/styled-system/recipes/table.cjs.map +1 -0
- package/dist/styled-system/recipes/table.js +58 -0
- package/dist/styled-system/recipes/table.js.map +1 -0
- package/dist/styled-system/recipes/tabs.cjs +35 -0
- package/dist/styled-system/recipes/tabs.cjs.map +1 -0
- package/dist/styled-system/recipes/tabs.js +35 -0
- package/dist/styled-system/recipes/tabs.js.map +1 -0
- package/dist/styled-system/recipes/tags-input.cjs +43 -0
- package/dist/styled-system/recipes/tags-input.cjs.map +1 -0
- package/dist/styled-system/recipes/tags-input.js +43 -0
- package/dist/styled-system/recipes/tags-input.js.map +1 -0
- package/dist/styled-system/recipes/text.cjs +35 -0
- package/dist/styled-system/recipes/text.cjs.map +1 -0
- package/dist/styled-system/recipes/text.js +35 -0
- package/dist/styled-system/recipes/text.js.map +1 -0
- package/dist/styled-system/recipes/textarea.cjs +29 -0
- package/dist/styled-system/recipes/textarea.cjs.map +1 -0
- package/dist/styled-system/recipes/textarea.js +29 -0
- package/dist/styled-system/recipes/textarea.js.map +1 -0
- package/dist/styled-system/recipes/toast.cjs +45 -0
- package/dist/styled-system/recipes/toast.cjs.map +1 -0
- package/dist/styled-system/recipes/toast.js +45 -0
- package/dist/styled-system/recipes/toast.js.map +1 -0
- package/dist/styled-system/recipes/toggle-group.cjs +44 -0
- package/dist/styled-system/recipes/toggle-group.cjs.map +1 -0
- package/dist/styled-system/recipes/toggle-group.js +44 -0
- package/dist/styled-system/recipes/toggle-group.js.map +1 -0
- package/dist/styled-system/recipes/toggle-switch.cjs +30 -0
- package/dist/styled-system/recipes/toggle-switch.cjs.map +1 -0
- package/dist/styled-system/recipes/toggle-switch.js +30 -0
- package/dist/styled-system/recipes/toggle-switch.js.map +1 -0
- package/dist/styled-system/recipes/toggle.cjs +39 -0
- package/dist/styled-system/recipes/toggle.cjs.map +1 -0
- package/dist/styled-system/recipes/toggle.js +39 -0
- package/dist/styled-system/recipes/toggle.js.map +1 -0
- package/dist/styled-system/recipes/toolbar.cjs +51 -0
- package/dist/styled-system/recipes/toolbar.cjs.map +1 -0
- package/dist/styled-system/recipes/toolbar.js +51 -0
- package/dist/styled-system/recipes/toolbar.js.map +1 -0
- package/dist/styled-system/recipes/tooltip.cjs +35 -0
- package/dist/styled-system/recipes/tooltip.cjs.map +1 -0
- package/dist/styled-system/recipes/tooltip.js +35 -0
- package/dist/styled-system/recipes/tooltip.js.map +1 -0
- package/dist/styled-system/recipes/tree-view.cjs +37 -0
- package/dist/styled-system/recipes/tree-view.cjs.map +1 -0
- package/dist/styled-system/recipes/tree-view.js +37 -0
- package/dist/styled-system/recipes/tree-view.js.map +1 -0
- package/dist/styled-system/recipes/upload.cjs +55 -0
- package/dist/styled-system/recipes/upload.cjs.map +1 -0
- package/dist/styled-system/recipes/upload.js +55 -0
- package/dist/styled-system/recipes/upload.js.map +1 -0
- package/dist/styles/theme.cjs +137 -0
- package/dist/styles/theme.cjs.map +1 -0
- package/dist/styles/theme.js +136 -0
- package/dist/styles/theme.js.map +1 -0
- package/dist/styles.css +7706 -0
- package/package.json +107 -0
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
const require_base_ui = require("../base-ui.cjs");
|
|
3
|
+
const require_tabs = require("../../styled-system/recipes/tabs.cjs");
|
|
4
|
+
let react = require("react");
|
|
5
|
+
let react_jsx_runtime = require("react/jsx-runtime");
|
|
6
|
+
let _base_ui_react_tabs = require("@base-ui/react/tabs");
|
|
7
|
+
//#region src/components/tabs/tabs.tsx
|
|
8
|
+
const TabsVariantContext = (0, react.createContext)("underline");
|
|
9
|
+
function useTabsStyles() {
|
|
10
|
+
return require_tabs.tabs({ variant: (0, react.useContext)(TabsVariantContext) });
|
|
11
|
+
}
|
|
12
|
+
const TabsRoot = (0, react.forwardRef)(function TabsRoot({ className, variant = "underline", ...props }, ref) {
|
|
13
|
+
const styles = require_tabs.tabs({ variant });
|
|
14
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TabsVariantContext.Provider, {
|
|
15
|
+
value: variant,
|
|
16
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_base_ui_react_tabs.Tabs.Root, {
|
|
17
|
+
...props,
|
|
18
|
+
ref,
|
|
19
|
+
className: require_base_ui.withRecipeClassName(styles.root, className),
|
|
20
|
+
"data-jaci-component": "tabs",
|
|
21
|
+
"data-slot": "tabs"
|
|
22
|
+
})
|
|
23
|
+
});
|
|
24
|
+
});
|
|
25
|
+
const TabsList = (0, react.forwardRef)(function TabsList({ className, ...props }, ref) {
|
|
26
|
+
const styles = useTabsStyles();
|
|
27
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_base_ui_react_tabs.Tabs.List, {
|
|
28
|
+
...props,
|
|
29
|
+
ref,
|
|
30
|
+
className: require_base_ui.withRecipeClassName(styles.list, className),
|
|
31
|
+
"data-slot": "tabs-list"
|
|
32
|
+
});
|
|
33
|
+
});
|
|
34
|
+
const TabsTab = (0, react.forwardRef)(function TabsTab({ className, ...props }, ref) {
|
|
35
|
+
const styles = useTabsStyles();
|
|
36
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_base_ui_react_tabs.Tabs.Tab, {
|
|
37
|
+
...props,
|
|
38
|
+
ref,
|
|
39
|
+
className: require_base_ui.withRecipeClassName(styles.tab, className),
|
|
40
|
+
"data-slot": "tabs-tab"
|
|
41
|
+
});
|
|
42
|
+
});
|
|
43
|
+
const TabsPanel = (0, react.forwardRef)(function TabsPanel({ className, ...props }, ref) {
|
|
44
|
+
const styles = useTabsStyles();
|
|
45
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_base_ui_react_tabs.Tabs.Panel, {
|
|
46
|
+
...props,
|
|
47
|
+
ref,
|
|
48
|
+
className: require_base_ui.withRecipeClassName(styles.panel, className),
|
|
49
|
+
"data-slot": "tabs-panel"
|
|
50
|
+
});
|
|
51
|
+
});
|
|
52
|
+
const Tabs = {
|
|
53
|
+
Root: TabsRoot,
|
|
54
|
+
List: TabsList,
|
|
55
|
+
Tab: TabsTab,
|
|
56
|
+
Panel: TabsPanel
|
|
57
|
+
};
|
|
58
|
+
//#endregion
|
|
59
|
+
exports.Tabs = Tabs;
|
|
60
|
+
exports.TabsList = TabsList;
|
|
61
|
+
exports.TabsPanel = TabsPanel;
|
|
62
|
+
exports.TabsRoot = TabsRoot;
|
|
63
|
+
exports.TabsTab = TabsTab;
|
|
64
|
+
|
|
65
|
+
//# sourceMappingURL=tabs.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tabs.cjs","names":["tabs","BaseTabs","withRecipeClassName"],"sources":["../../../src/components/tabs/tabs.tsx"],"sourcesContent":["\"use client\";\n\nimport { Tabs as BaseTabs } from \"@base-ui/react/tabs\";\nimport { createContext, forwardRef, useContext } from \"react\";\nimport type { ComponentPropsWithoutRef } from \"react\";\n\nimport { withRecipeClassName } from \"../base-ui\";\nimport { tabs } from \"../../styled-system/recipes\";\n\nexport type TabsVariant = \"underline\" | \"pills\";\n\nconst TabsVariantContext = createContext<TabsVariant>(\"underline\");\n\nfunction useTabsStyles() {\n return tabs({ variant: useContext(TabsVariantContext) });\n}\n\nexport interface TabsRootProps extends ComponentPropsWithoutRef<typeof BaseTabs.Root> {\n variant?: TabsVariant;\n}\n\nexport const TabsRoot = forwardRef<HTMLDivElement, TabsRootProps>(function TabsRoot(\n { className, variant = \"underline\", ...props },\n ref,\n) {\n const styles = tabs({ variant });\n\n return (\n <TabsVariantContext.Provider value={variant}>\n <BaseTabs.Root\n {...props}\n ref={ref}\n className={withRecipeClassName(styles.root, className)}\n data-jaci-component=\"tabs\"\n data-slot=\"tabs\"\n />\n </TabsVariantContext.Provider>\n );\n});\n\nexport type TabsListProps = ComponentPropsWithoutRef<typeof BaseTabs.List>;\n\nexport const TabsList = forwardRef<HTMLDivElement, TabsListProps>(function TabsList(\n { className, ...props },\n ref,\n) {\n const styles = useTabsStyles();\n\n return (\n <BaseTabs.List\n {...props}\n ref={ref}\n className={withRecipeClassName(styles.list, className)}\n data-slot=\"tabs-list\"\n />\n );\n});\n\nexport type TabsTabProps = ComponentPropsWithoutRef<typeof BaseTabs.Tab>;\n\nexport const TabsTab = forwardRef<HTMLElement, TabsTabProps>(function TabsTab(\n { className, ...props },\n ref,\n) {\n const styles = useTabsStyles();\n\n return (\n <BaseTabs.Tab\n {...props}\n ref={ref}\n className={withRecipeClassName(styles.tab, className)}\n data-slot=\"tabs-tab\"\n />\n );\n});\n\nexport type TabsPanelProps = ComponentPropsWithoutRef<typeof BaseTabs.Panel>;\n\nexport const TabsPanel = forwardRef<HTMLDivElement, TabsPanelProps>(function TabsPanel(\n { className, ...props },\n ref,\n) {\n const styles = useTabsStyles();\n\n return (\n <BaseTabs.Panel\n {...props}\n ref={ref}\n className={withRecipeClassName(styles.panel, className)}\n data-slot=\"tabs-panel\"\n />\n );\n});\n\nexport const Tabs = {\n Root: TabsRoot,\n List: TabsList,\n Tab: TabsTab,\n Panel: TabsPanel,\n};\n"],"mappings":";;;;;;;AAWA,MAAM,sBAAA,GAAA,MAAA,cAAA,CAAgD,WAAW;AAEjE,SAAS,gBAAgB;CACvB,OAAOA,aAAAA,KAAK,EAAE,UAAA,GAAA,MAAA,WAAA,CAAoB,kBAAkB,EAAE,CAAC;AACzD;AAMA,MAAa,YAAA,GAAA,MAAA,WAAA,CAAqD,SAAS,SACzE,EAAE,WAAW,UAAU,aAAa,GAAG,SACvC,KACA;CACA,MAAM,SAASA,aAAAA,KAAK,EAAE,QAAQ,CAAC;CAE/B,OACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,mBAAmB,UAApB;EAA6B,OAAO;YAClC,iBAAA,GAAA,kBAAA,IAAA,CAACC,oBAAAA,KAAS,MAAV;GACE,GAAI;GACC;GACL,WAAWC,gBAAAA,oBAAoB,OAAO,MAAM,SAAS;GACrD,uBAAoB;GACpB,aAAU;EACX,CAAA;CAC0B,CAAA;AAEjC,CAAC;AAID,MAAa,YAAA,GAAA,MAAA,WAAA,CAAqD,SAAS,SACzE,EAAE,WAAW,GAAG,SAChB,KACA;CACA,MAAM,SAAS,cAAc;CAE7B,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACD,oBAAAA,KAAS,MAAV;EACE,GAAI;EACC;EACL,WAAWC,gBAAAA,oBAAoB,OAAO,MAAM,SAAS;EACrD,aAAU;CACX,CAAA;AAEL,CAAC;AAID,MAAa,WAAA,GAAA,MAAA,WAAA,CAAgD,SAAS,QACpE,EAAE,WAAW,GAAG,SAChB,KACA;CACA,MAAM,SAAS,cAAc;CAE7B,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACD,oBAAAA,KAAS,KAAV;EACE,GAAI;EACC;EACL,WAAWC,gBAAAA,oBAAoB,OAAO,KAAK,SAAS;EACpD,aAAU;CACX,CAAA;AAEL,CAAC;AAID,MAAa,aAAA,GAAA,MAAA,WAAA,CAAuD,SAAS,UAC3E,EAAE,WAAW,GAAG,SAChB,KACA;CACA,MAAM,SAAS,cAAc;CAE7B,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACD,oBAAAA,KAAS,OAAV;EACE,GAAI;EACC;EACL,WAAWC,gBAAAA,oBAAoB,OAAO,OAAO,SAAS;EACtD,aAAU;CACX,CAAA;AAEL,CAAC;AAED,MAAa,OAAO;CAClB,MAAM;CACN,MAAM;CACN,KAAK;CACL,OAAO;AACT"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { ComponentPropsWithoutRef } from "react";
|
|
2
|
+
import { Tabs } from "@base-ui/react/tabs";
|
|
3
|
+
//#region src/components/tabs/tabs.d.ts
|
|
4
|
+
type TabsVariant = "underline" | "pills";
|
|
5
|
+
interface TabsRootProps extends ComponentPropsWithoutRef<typeof Tabs.Root> {
|
|
6
|
+
variant?: TabsVariant;
|
|
7
|
+
}
|
|
8
|
+
declare const TabsRoot: import("react").ForwardRefExoticComponent<TabsRootProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
9
|
+
type TabsListProps = ComponentPropsWithoutRef<typeof Tabs.List>;
|
|
10
|
+
declare const TabsList: import("react").ForwardRefExoticComponent<Omit<Omit<import("@base-ui/react").TabsListProps, "ref"> & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
11
|
+
type TabsTabProps = ComponentPropsWithoutRef<typeof Tabs.Tab>;
|
|
12
|
+
declare const TabsTab: import("react").ForwardRefExoticComponent<Omit<Omit<import("@base-ui/react").TabsTabProps, "ref"> & import("react").RefAttributes<HTMLElement>, "ref"> & import("react").RefAttributes<HTMLElement>>;
|
|
13
|
+
type TabsPanelProps = ComponentPropsWithoutRef<typeof Tabs.Panel>;
|
|
14
|
+
declare const TabsPanel: import("react").ForwardRefExoticComponent<Omit<Omit<import("@base-ui/react").TabsPanelProps, "ref"> & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
15
|
+
declare const Tabs$1: {
|
|
16
|
+
Root: import("react").ForwardRefExoticComponent<TabsRootProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
17
|
+
List: import("react").ForwardRefExoticComponent<Omit<Omit<import("@base-ui/react").TabsListProps, "ref"> & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
18
|
+
Tab: import("react").ForwardRefExoticComponent<Omit<Omit<import("@base-ui/react").TabsTabProps, "ref"> & import("react").RefAttributes<HTMLElement>, "ref"> & import("react").RefAttributes<HTMLElement>>;
|
|
19
|
+
Panel: import("react").ForwardRefExoticComponent<Omit<Omit<import("@base-ui/react").TabsPanelProps, "ref"> & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
20
|
+
};
|
|
21
|
+
//#endregion
|
|
22
|
+
export { Tabs$1 as Tabs, TabsList, TabsListProps, TabsPanel, TabsPanelProps, TabsRoot, TabsRootProps, TabsTab, TabsTabProps, TabsVariant };
|
|
23
|
+
//# sourceMappingURL=tabs.d.cts.map
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { ComponentPropsWithoutRef } from "react";
|
|
2
|
+
import { Tabs } from "@base-ui/react/tabs";
|
|
3
|
+
//#region src/components/tabs/tabs.d.ts
|
|
4
|
+
type TabsVariant = "underline" | "pills";
|
|
5
|
+
interface TabsRootProps extends ComponentPropsWithoutRef<typeof Tabs.Root> {
|
|
6
|
+
variant?: TabsVariant;
|
|
7
|
+
}
|
|
8
|
+
declare const TabsRoot: import("react").ForwardRefExoticComponent<TabsRootProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
9
|
+
type TabsListProps = ComponentPropsWithoutRef<typeof Tabs.List>;
|
|
10
|
+
declare const TabsList: import("react").ForwardRefExoticComponent<Omit<Omit<import("@base-ui/react").TabsListProps, "ref"> & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
11
|
+
type TabsTabProps = ComponentPropsWithoutRef<typeof Tabs.Tab>;
|
|
12
|
+
declare const TabsTab: import("react").ForwardRefExoticComponent<Omit<Omit<import("@base-ui/react").TabsTabProps, "ref"> & import("react").RefAttributes<HTMLElement>, "ref"> & import("react").RefAttributes<HTMLElement>>;
|
|
13
|
+
type TabsPanelProps = ComponentPropsWithoutRef<typeof Tabs.Panel>;
|
|
14
|
+
declare const TabsPanel: import("react").ForwardRefExoticComponent<Omit<Omit<import("@base-ui/react").TabsPanelProps, "ref"> & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
15
|
+
declare const Tabs$1: {
|
|
16
|
+
Root: import("react").ForwardRefExoticComponent<TabsRootProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
17
|
+
List: import("react").ForwardRefExoticComponent<Omit<Omit<import("@base-ui/react").TabsListProps, "ref"> & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
18
|
+
Tab: import("react").ForwardRefExoticComponent<Omit<Omit<import("@base-ui/react").TabsTabProps, "ref"> & import("react").RefAttributes<HTMLElement>, "ref"> & import("react").RefAttributes<HTMLElement>>;
|
|
19
|
+
Panel: import("react").ForwardRefExoticComponent<Omit<Omit<import("@base-ui/react").TabsPanelProps, "ref"> & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
20
|
+
};
|
|
21
|
+
//#endregion
|
|
22
|
+
export { Tabs$1 as Tabs, TabsList, TabsListProps, TabsPanel, TabsPanelProps, TabsRoot, TabsRootProps, TabsTab, TabsTabProps, TabsVariant };
|
|
23
|
+
//# sourceMappingURL=tabs.d.ts.map
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { withRecipeClassName } from "../base-ui.js";
|
|
3
|
+
import { tabs } from "../../styled-system/recipes/tabs.js";
|
|
4
|
+
import { createContext, forwardRef, useContext } from "react";
|
|
5
|
+
import { jsx } from "react/jsx-runtime";
|
|
6
|
+
import { Tabs } from "@base-ui/react/tabs";
|
|
7
|
+
//#region src/components/tabs/tabs.tsx
|
|
8
|
+
const TabsVariantContext = createContext("underline");
|
|
9
|
+
function useTabsStyles() {
|
|
10
|
+
return tabs({ variant: useContext(TabsVariantContext) });
|
|
11
|
+
}
|
|
12
|
+
const TabsRoot = forwardRef(function TabsRoot({ className, variant = "underline", ...props }, ref) {
|
|
13
|
+
const styles = tabs({ variant });
|
|
14
|
+
return /* @__PURE__ */ jsx(TabsVariantContext.Provider, {
|
|
15
|
+
value: variant,
|
|
16
|
+
children: /* @__PURE__ */ jsx(Tabs.Root, {
|
|
17
|
+
...props,
|
|
18
|
+
ref,
|
|
19
|
+
className: withRecipeClassName(styles.root, className),
|
|
20
|
+
"data-jaci-component": "tabs",
|
|
21
|
+
"data-slot": "tabs"
|
|
22
|
+
})
|
|
23
|
+
});
|
|
24
|
+
});
|
|
25
|
+
const TabsList = forwardRef(function TabsList({ className, ...props }, ref) {
|
|
26
|
+
const styles = useTabsStyles();
|
|
27
|
+
return /* @__PURE__ */ jsx(Tabs.List, {
|
|
28
|
+
...props,
|
|
29
|
+
ref,
|
|
30
|
+
className: withRecipeClassName(styles.list, className),
|
|
31
|
+
"data-slot": "tabs-list"
|
|
32
|
+
});
|
|
33
|
+
});
|
|
34
|
+
const TabsTab = forwardRef(function TabsTab({ className, ...props }, ref) {
|
|
35
|
+
const styles = useTabsStyles();
|
|
36
|
+
return /* @__PURE__ */ jsx(Tabs.Tab, {
|
|
37
|
+
...props,
|
|
38
|
+
ref,
|
|
39
|
+
className: withRecipeClassName(styles.tab, className),
|
|
40
|
+
"data-slot": "tabs-tab"
|
|
41
|
+
});
|
|
42
|
+
});
|
|
43
|
+
const TabsPanel = forwardRef(function TabsPanel({ className, ...props }, ref) {
|
|
44
|
+
const styles = useTabsStyles();
|
|
45
|
+
return /* @__PURE__ */ jsx(Tabs.Panel, {
|
|
46
|
+
...props,
|
|
47
|
+
ref,
|
|
48
|
+
className: withRecipeClassName(styles.panel, className),
|
|
49
|
+
"data-slot": "tabs-panel"
|
|
50
|
+
});
|
|
51
|
+
});
|
|
52
|
+
const Tabs$1 = {
|
|
53
|
+
Root: TabsRoot,
|
|
54
|
+
List: TabsList,
|
|
55
|
+
Tab: TabsTab,
|
|
56
|
+
Panel: TabsPanel
|
|
57
|
+
};
|
|
58
|
+
//#endregion
|
|
59
|
+
export { Tabs$1 as Tabs, TabsList, TabsPanel, TabsRoot, TabsTab };
|
|
60
|
+
|
|
61
|
+
//# sourceMappingURL=tabs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tabs.js","names":["BaseTabs","Tabs"],"sources":["../../../src/components/tabs/tabs.tsx"],"sourcesContent":["\"use client\";\n\nimport { Tabs as BaseTabs } from \"@base-ui/react/tabs\";\nimport { createContext, forwardRef, useContext } from \"react\";\nimport type { ComponentPropsWithoutRef } from \"react\";\n\nimport { withRecipeClassName } from \"../base-ui\";\nimport { tabs } from \"../../styled-system/recipes\";\n\nexport type TabsVariant = \"underline\" | \"pills\";\n\nconst TabsVariantContext = createContext<TabsVariant>(\"underline\");\n\nfunction useTabsStyles() {\n return tabs({ variant: useContext(TabsVariantContext) });\n}\n\nexport interface TabsRootProps extends ComponentPropsWithoutRef<typeof BaseTabs.Root> {\n variant?: TabsVariant;\n}\n\nexport const TabsRoot = forwardRef<HTMLDivElement, TabsRootProps>(function TabsRoot(\n { className, variant = \"underline\", ...props },\n ref,\n) {\n const styles = tabs({ variant });\n\n return (\n <TabsVariantContext.Provider value={variant}>\n <BaseTabs.Root\n {...props}\n ref={ref}\n className={withRecipeClassName(styles.root, className)}\n data-jaci-component=\"tabs\"\n data-slot=\"tabs\"\n />\n </TabsVariantContext.Provider>\n );\n});\n\nexport type TabsListProps = ComponentPropsWithoutRef<typeof BaseTabs.List>;\n\nexport const TabsList = forwardRef<HTMLDivElement, TabsListProps>(function TabsList(\n { className, ...props },\n ref,\n) {\n const styles = useTabsStyles();\n\n return (\n <BaseTabs.List\n {...props}\n ref={ref}\n className={withRecipeClassName(styles.list, className)}\n data-slot=\"tabs-list\"\n />\n );\n});\n\nexport type TabsTabProps = ComponentPropsWithoutRef<typeof BaseTabs.Tab>;\n\nexport const TabsTab = forwardRef<HTMLElement, TabsTabProps>(function TabsTab(\n { className, ...props },\n ref,\n) {\n const styles = useTabsStyles();\n\n return (\n <BaseTabs.Tab\n {...props}\n ref={ref}\n className={withRecipeClassName(styles.tab, className)}\n data-slot=\"tabs-tab\"\n />\n );\n});\n\nexport type TabsPanelProps = ComponentPropsWithoutRef<typeof BaseTabs.Panel>;\n\nexport const TabsPanel = forwardRef<HTMLDivElement, TabsPanelProps>(function TabsPanel(\n { className, ...props },\n ref,\n) {\n const styles = useTabsStyles();\n\n return (\n <BaseTabs.Panel\n {...props}\n ref={ref}\n className={withRecipeClassName(styles.panel, className)}\n data-slot=\"tabs-panel\"\n />\n );\n});\n\nexport const Tabs = {\n Root: TabsRoot,\n List: TabsList,\n Tab: TabsTab,\n Panel: TabsPanel,\n};\n"],"mappings":";;;;;;;AAWA,MAAM,qBAAqB,cAA2B,WAAW;AAEjE,SAAS,gBAAgB;CACvB,OAAO,KAAK,EAAE,SAAS,WAAW,kBAAkB,EAAE,CAAC;AACzD;AAMA,MAAa,WAAW,WAA0C,SAAS,SACzE,EAAE,WAAW,UAAU,aAAa,GAAG,SACvC,KACA;CACA,MAAM,SAAS,KAAK,EAAE,QAAQ,CAAC;CAE/B,OACE,oBAAC,mBAAmB,UAApB;EAA6B,OAAO;YAClC,oBAACA,KAAS,MAAV;GACE,GAAI;GACC;GACL,WAAW,oBAAoB,OAAO,MAAM,SAAS;GACrD,uBAAoB;GACpB,aAAU;EACX,CAAA;CAC0B,CAAA;AAEjC,CAAC;AAID,MAAa,WAAW,WAA0C,SAAS,SACzE,EAAE,WAAW,GAAG,SAChB,KACA;CACA,MAAM,SAAS,cAAc;CAE7B,OACE,oBAACA,KAAS,MAAV;EACE,GAAI;EACC;EACL,WAAW,oBAAoB,OAAO,MAAM,SAAS;EACrD,aAAU;CACX,CAAA;AAEL,CAAC;AAID,MAAa,UAAU,WAAsC,SAAS,QACpE,EAAE,WAAW,GAAG,SAChB,KACA;CACA,MAAM,SAAS,cAAc;CAE7B,OACE,oBAACA,KAAS,KAAV;EACE,GAAI;EACC;EACL,WAAW,oBAAoB,OAAO,KAAK,SAAS;EACpD,aAAU;CACX,CAAA;AAEL,CAAC;AAID,MAAa,YAAY,WAA2C,SAAS,UAC3E,EAAE,WAAW,GAAG,SAChB,KACA;CACA,MAAM,SAAS,cAAc;CAE7B,OACE,oBAACA,KAAS,OAAV;EACE,GAAI;EACC;EACL,WAAW,oBAAoB,OAAO,OAAO,SAAS;EACtD,aAAU;CACX,CAAA;AAEL,CAAC;AAED,MAAaC,SAAO;CAClB,MAAM;CACN,MAAM;CACN,KAAK;CACL,OAAO;AACT"}
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
const require_cx = require("../../styled-system/css/cx.cjs");
|
|
3
|
+
const require_tags_input = require("../../styled-system/recipes/tags-input.cjs");
|
|
4
|
+
let react = require("react");
|
|
5
|
+
let react_jsx_runtime = require("react/jsx-runtime");
|
|
6
|
+
//#region src/components/tags-input/tags-input.tsx
|
|
7
|
+
function changedEvent(event, value) {
|
|
8
|
+
const target = event.target;
|
|
9
|
+
const nextTarget = {
|
|
10
|
+
checked: target.checked,
|
|
11
|
+
id: target.id,
|
|
12
|
+
name: target.name,
|
|
13
|
+
value
|
|
14
|
+
};
|
|
15
|
+
return {
|
|
16
|
+
...event,
|
|
17
|
+
currentTarget: nextTarget,
|
|
18
|
+
target: nextTarget
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
const TagsInput = (0, react.forwardRef)(function TagsInput({ "aria-describedby": ariaDescribedBy, "aria-invalid": ariaInvalid, "aria-label": ariaLabel, className, data = [], defaultTags = [], defaultValue = "", disabled = false, id: providedId, label, onBlur, onChange, onFocus, onInputValueChange, onTagsChange, placeholder, tags: controlledTags, value: controlledInputValue, ...props }, ref) {
|
|
22
|
+
const generatedId = (0, react.useId)();
|
|
23
|
+
const id = providedId ?? generatedId;
|
|
24
|
+
const [uncontrolledTags, setUncontrolledTags] = (0, react.useState)(() => [...defaultTags]);
|
|
25
|
+
const [uncontrolledInputValue, setUncontrolledInputValue] = (0, react.useState)(defaultValue);
|
|
26
|
+
const [focused, setFocused] = (0, react.useState)(false);
|
|
27
|
+
const rootRef = (0, react.useRef)(null);
|
|
28
|
+
const styles = require_tags_input.tagsInput();
|
|
29
|
+
const selectedTags = controlledTags === void 0 ? uncontrolledTags : [...controlledTags];
|
|
30
|
+
const inputValue = controlledInputValue === void 0 ? uncontrolledInputValue : controlledInputValue;
|
|
31
|
+
const updateTags = (0, react.useCallback)((nextTags) => {
|
|
32
|
+
if (controlledTags === void 0) setUncontrolledTags(nextTags);
|
|
33
|
+
onTagsChange?.(nextTags);
|
|
34
|
+
}, [controlledTags, onTagsChange]);
|
|
35
|
+
const clearInput = (0, react.useCallback)((event) => {
|
|
36
|
+
if (controlledInputValue === void 0) setUncontrolledInputValue("");
|
|
37
|
+
onInputValueChange?.("");
|
|
38
|
+
if (event) onChange?.(changedEvent(event, ""));
|
|
39
|
+
}, [
|
|
40
|
+
controlledInputValue,
|
|
41
|
+
onChange,
|
|
42
|
+
onInputValueChange
|
|
43
|
+
]);
|
|
44
|
+
const addTag = (0, react.useCallback)((rawTag, event) => {
|
|
45
|
+
const tag = rawTag.trim();
|
|
46
|
+
if (tag && !selectedTags.includes(tag) && data.includes(tag)) updateTags([...selectedTags, tag]);
|
|
47
|
+
clearInput(event);
|
|
48
|
+
}, [
|
|
49
|
+
clearInput,
|
|
50
|
+
data,
|
|
51
|
+
selectedTags,
|
|
52
|
+
updateTags
|
|
53
|
+
]);
|
|
54
|
+
const suggestions = (0, react.useMemo)(() => {
|
|
55
|
+
const query = inputValue.trim().toLocaleLowerCase();
|
|
56
|
+
return data.filter((item) => !selectedTags.includes(item) && (query.length === 0 || item.toLocaleLowerCase().includes(query)));
|
|
57
|
+
}, [
|
|
58
|
+
data,
|
|
59
|
+
inputValue,
|
|
60
|
+
selectedTags
|
|
61
|
+
]);
|
|
62
|
+
function handleChange(event) {
|
|
63
|
+
const nextValue = event.currentTarget.value;
|
|
64
|
+
if (nextValue.trim() === "") {
|
|
65
|
+
clearInput(event);
|
|
66
|
+
onChange?.(event);
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
if (nextValue.endsWith(",")) {
|
|
70
|
+
addTag(nextValue.slice(0, -1), event);
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
if (controlledInputValue === void 0) setUncontrolledInputValue(nextValue);
|
|
74
|
+
onInputValueChange?.(nextValue);
|
|
75
|
+
onChange?.(event);
|
|
76
|
+
}
|
|
77
|
+
function handleBlur(event) {
|
|
78
|
+
setFocused(false);
|
|
79
|
+
onBlur?.(event);
|
|
80
|
+
}
|
|
81
|
+
function removeTag(index) {
|
|
82
|
+
updateTags(selectedTags.filter((_, currentIndex) => currentIndex !== index));
|
|
83
|
+
}
|
|
84
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
85
|
+
className: styles.root,
|
|
86
|
+
"data-jaci-component": "tags-input",
|
|
87
|
+
"data-slot": "tags-input",
|
|
88
|
+
ref: rootRef,
|
|
89
|
+
children: [
|
|
90
|
+
label ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("label", {
|
|
91
|
+
className: styles.label,
|
|
92
|
+
"data-slot": "tags-input-label",
|
|
93
|
+
htmlFor: id,
|
|
94
|
+
children: label
|
|
95
|
+
}) : null,
|
|
96
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
97
|
+
className: require_cx.cx(styles.control, className),
|
|
98
|
+
"data-disabled": disabled || void 0,
|
|
99
|
+
"data-focus": focused || void 0,
|
|
100
|
+
"data-slot": "tags-input-control",
|
|
101
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
102
|
+
className: styles.tagList,
|
|
103
|
+
"data-slot": "tags-input-tag-list",
|
|
104
|
+
children: selectedTags.map((tag, index) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
|
|
105
|
+
className: styles.tag,
|
|
106
|
+
"data-slot": "tags-input-tag",
|
|
107
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
108
|
+
className: styles.tagLabel,
|
|
109
|
+
"data-slot": "tags-input-tag-label",
|
|
110
|
+
children: tag
|
|
111
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
112
|
+
"aria-label": `Remove ${tag}`,
|
|
113
|
+
className: styles.tagRemove,
|
|
114
|
+
"data-slot": "tags-input-tag-remove",
|
|
115
|
+
disabled,
|
|
116
|
+
onClick: () => removeTag(index),
|
|
117
|
+
type: "button",
|
|
118
|
+
children: "×"
|
|
119
|
+
})]
|
|
120
|
+
}, tag))
|
|
121
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("input", {
|
|
122
|
+
...props,
|
|
123
|
+
...ariaDescribedBy ? { "aria-describedby": ariaDescribedBy } : {},
|
|
124
|
+
...ariaInvalid !== void 0 ? { "aria-invalid": ariaInvalid } : {},
|
|
125
|
+
...ariaLabel ? { "aria-label": ariaLabel } : {},
|
|
126
|
+
autoComplete: "off",
|
|
127
|
+
className: styles.input,
|
|
128
|
+
disabled,
|
|
129
|
+
id,
|
|
130
|
+
onBlur: handleBlur,
|
|
131
|
+
onChange: handleChange,
|
|
132
|
+
onFocus: (event) => {
|
|
133
|
+
setFocused(true);
|
|
134
|
+
onFocus?.(event);
|
|
135
|
+
},
|
|
136
|
+
placeholder,
|
|
137
|
+
ref,
|
|
138
|
+
type: "text",
|
|
139
|
+
value: inputValue
|
|
140
|
+
})]
|
|
141
|
+
}),
|
|
142
|
+
focused && data.length > 0 ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
143
|
+
className: styles.positioner,
|
|
144
|
+
"data-slot": "tags-input-positioner",
|
|
145
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
146
|
+
"aria-label": "Suggestions",
|
|
147
|
+
className: styles.list,
|
|
148
|
+
"data-slot": "tags-input-list",
|
|
149
|
+
role: "listbox",
|
|
150
|
+
children: suggestions.length > 0 ? suggestions.map((item) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
151
|
+
"aria-selected": false,
|
|
152
|
+
className: styles.item,
|
|
153
|
+
"data-slot": "tags-input-item",
|
|
154
|
+
onClick: () => addTag(item),
|
|
155
|
+
onMouseDown: (event) => event.preventDefault(),
|
|
156
|
+
role: "option",
|
|
157
|
+
type: "button",
|
|
158
|
+
children: item
|
|
159
|
+
}, item)) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
160
|
+
className: styles.empty,
|
|
161
|
+
"data-slot": "tags-input-empty",
|
|
162
|
+
children: "No options"
|
|
163
|
+
})
|
|
164
|
+
})
|
|
165
|
+
}) : null
|
|
166
|
+
]
|
|
167
|
+
});
|
|
168
|
+
});
|
|
169
|
+
//#endregion
|
|
170
|
+
exports.TagsInput = TagsInput;
|
|
171
|
+
|
|
172
|
+
//# sourceMappingURL=tags-input.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tags-input.cjs","names":["tagsInput","cx"],"sources":["../../../src/components/tags-input/tags-input.tsx"],"sourcesContent":["\"use client\";\n\nimport { forwardRef, useCallback, useId, useMemo, useRef, useState } from \"react\";\nimport type {\n ChangeEvent,\n ChangeEventHandler,\n ComponentPropsWithoutRef,\n FocusEvent,\n MouseEvent,\n ReactNode,\n} from \"react\";\n\nimport { cx } from \"../../styled-system/css\";\nimport { tagsInput } from \"../../styled-system/recipes\";\n\nexport interface TagsInputProps\n extends Omit<\n ComponentPropsWithoutRef<\"input\">,\n \"children\" | \"defaultValue\" | \"onChange\" | \"type\" | \"value\"\n > {\n /** Current tags. Omit this prop to use the uncontrolled API. */\n tags?: readonly string[];\n /** Initial tags for the uncontrolled API. */\n defaultTags?: readonly string[];\n /** Called whenever a tag is added or removed. */\n onTagsChange?: (tags: string[]) => void;\n /** Optional suggestions. A tag is accepted after a comma only when it is in this list. */\n data?: readonly string[];\n /** Visible label for the input. */\n label?: ReactNode;\n /** Current text query. This is the native input value, not the selected tags. */\n value?: string;\n /** Initial text query for an uncontrolled input. */\n defaultValue?: string;\n /** Native input change callback. */\n onChange?: ChangeEventHandler<HTMLInputElement>;\n /** Optional callback useful when a controlled query is cleared by selecting a tag. */\n onInputValueChange?: (value: string) => void;\n}\n\nfunction changedEvent(event: ChangeEvent<HTMLInputElement>, value: string) {\n const target = event.target;\n const nextTarget = {\n checked: target.checked,\n id: target.id,\n name: target.name,\n value,\n } as HTMLInputElement;\n\n return {\n ...event,\n currentTarget: nextTarget,\n target: nextTarget,\n } as ChangeEvent<HTMLInputElement>;\n}\n\nexport const TagsInput = forwardRef<HTMLInputElement, TagsInputProps>(function TagsInput(\n {\n \"aria-describedby\": ariaDescribedBy,\n \"aria-invalid\": ariaInvalid,\n \"aria-label\": ariaLabel,\n className,\n data = [],\n defaultTags = [],\n defaultValue = \"\",\n disabled = false,\n id: providedId,\n label,\n onBlur,\n onChange,\n onFocus,\n onInputValueChange,\n onTagsChange,\n placeholder,\n tags: controlledTags,\n value: controlledInputValue,\n ...props\n },\n ref,\n) {\n const generatedId = useId();\n const id = providedId ?? generatedId;\n const [uncontrolledTags, setUncontrolledTags] = useState<string[]>(() => [...defaultTags]);\n const [uncontrolledInputValue, setUncontrolledInputValue] = useState(defaultValue);\n const [focused, setFocused] = useState(false);\n const rootRef = useRef<HTMLDivElement>(null);\n const styles = tagsInput();\n const selectedTags = controlledTags === undefined ? uncontrolledTags : [...controlledTags];\n const inputValue =\n controlledInputValue === undefined ? uncontrolledInputValue : controlledInputValue;\n\n const updateTags = useCallback(\n (nextTags: string[]) => {\n if (controlledTags === undefined) setUncontrolledTags(nextTags);\n onTagsChange?.(nextTags);\n },\n [controlledTags, onTagsChange],\n );\n\n const clearInput = useCallback(\n (event?: ChangeEvent<HTMLInputElement>) => {\n if (controlledInputValue === undefined) setUncontrolledInputValue(\"\");\n onInputValueChange?.(\"\");\n if (event) onChange?.(changedEvent(event, \"\"));\n },\n [controlledInputValue, onChange, onInputValueChange],\n );\n\n const addTag = useCallback(\n (rawTag: string, event?: ChangeEvent<HTMLInputElement>) => {\n const tag = rawTag.trim();\n if (tag && !selectedTags.includes(tag) && data.includes(tag)) {\n updateTags([...selectedTags, tag]);\n }\n clearInput(event);\n },\n [clearInput, data, selectedTags, updateTags],\n );\n\n const suggestions = useMemo(() => {\n const query = inputValue.trim().toLocaleLowerCase();\n return data.filter(\n (item) =>\n !selectedTags.includes(item) &&\n (query.length === 0 || item.toLocaleLowerCase().includes(query)),\n );\n }, [data, inputValue, selectedTags]);\n\n function handleChange(event: ChangeEvent<HTMLInputElement>) {\n const nextValue = event.currentTarget.value;\n if (nextValue.trim() === \"\") {\n clearInput(event);\n onChange?.(event);\n return;\n }\n\n if (nextValue.endsWith(\",\")) {\n addTag(nextValue.slice(0, -1), event);\n return;\n }\n\n if (controlledInputValue === undefined) setUncontrolledInputValue(nextValue);\n onInputValueChange?.(nextValue);\n onChange?.(event);\n }\n\n function handleBlur(event: FocusEvent<HTMLInputElement>) {\n setFocused(false);\n onBlur?.(event);\n }\n\n function removeTag(index: number) {\n updateTags(selectedTags.filter((_, currentIndex) => currentIndex !== index));\n }\n\n return (\n <div\n className={styles.root}\n data-jaci-component=\"tags-input\"\n data-slot=\"tags-input\"\n ref={rootRef}\n >\n {label ? (\n <label className={styles.label} data-slot=\"tags-input-label\" htmlFor={id}>\n {label}\n </label>\n ) : null}\n <div\n className={cx(styles.control, className)}\n data-disabled={disabled || undefined}\n data-focus={focused || undefined}\n data-slot=\"tags-input-control\"\n >\n <div className={styles.tagList} data-slot=\"tags-input-tag-list\">\n {selectedTags.map((tag, index) => (\n <span className={styles.tag} data-slot=\"tags-input-tag\" key={tag}>\n <span className={styles.tagLabel} data-slot=\"tags-input-tag-label\">\n {tag}\n </span>\n <button\n aria-label={`Remove ${tag}`}\n className={styles.tagRemove}\n data-slot=\"tags-input-tag-remove\"\n disabled={disabled}\n onClick={() => removeTag(index)}\n type=\"button\"\n >\n ×\n </button>\n </span>\n ))}\n </div>\n <input\n {...props}\n {...(ariaDescribedBy ? { \"aria-describedby\": ariaDescribedBy } : {})}\n {...(ariaInvalid !== undefined ? { \"aria-invalid\": ariaInvalid } : {})}\n {...(ariaLabel ? { \"aria-label\": ariaLabel } : {})}\n autoComplete=\"off\"\n className={styles.input}\n disabled={disabled}\n id={id}\n onBlur={handleBlur}\n onChange={handleChange}\n onFocus={(event) => {\n setFocused(true);\n onFocus?.(event);\n }}\n placeholder={placeholder}\n ref={ref}\n type=\"text\"\n value={inputValue}\n />\n </div>\n {focused && data.length > 0 ? (\n <div className={styles.positioner} data-slot=\"tags-input-positioner\">\n <div\n aria-label=\"Suggestions\"\n className={styles.list}\n data-slot=\"tags-input-list\"\n role=\"listbox\"\n >\n {suggestions.length > 0 ? (\n suggestions.map((item) => (\n <button\n aria-selected={false}\n className={styles.item}\n data-slot=\"tags-input-item\"\n key={item}\n onClick={() => addTag(item)}\n onMouseDown={(event: MouseEvent<HTMLButtonElement>) => event.preventDefault()}\n role=\"option\"\n type=\"button\"\n >\n {item}\n </button>\n ))\n ) : (\n <div className={styles.empty} data-slot=\"tags-input-empty\">\n No options\n </div>\n )}\n </div>\n </div>\n ) : null}\n </div>\n );\n});\n"],"mappings":";;;;;;AAwCA,SAAS,aAAa,OAAsC,OAAe;CACzE,MAAM,SAAS,MAAM;CACrB,MAAM,aAAa;EACjB,SAAS,OAAO;EAChB,IAAI,OAAO;EACX,MAAM,OAAO;EACb;CACF;CAEA,OAAO;EACL,GAAG;EACH,eAAe;EACf,QAAQ;CACV;AACF;AAEA,MAAa,aAAA,GAAA,MAAA,WAAA,CAAyD,SAAS,UAC7E,EACE,oBAAoB,iBACpB,gBAAgB,aAChB,cAAc,WACd,WACA,OAAO,CAAC,GACR,cAAc,CAAC,GACf,eAAe,IACf,WAAW,OACX,IAAI,YACJ,OACA,QACA,UACA,SACA,oBACA,cACA,aACA,MAAM,gBACN,OAAO,sBACP,GAAG,SAEL,KACA;CACA,MAAM,eAAA,GAAA,MAAA,MAAA,CAAoB;CAC1B,MAAM,KAAK,cAAc;CACzB,MAAM,CAAC,kBAAkB,wBAAA,GAAA,MAAA,SAAA,OAAgD,CAAC,GAAG,WAAW,CAAC;CACzF,MAAM,CAAC,wBAAwB,8BAAA,GAAA,MAAA,SAAA,CAAsC,YAAY;CACjF,MAAM,CAAC,SAAS,eAAA,GAAA,MAAA,SAAA,CAAuB,KAAK;CAC5C,MAAM,WAAA,GAAA,MAAA,OAAA,CAAiC,IAAI;CAC3C,MAAM,SAASA,mBAAAA,UAAU;CACzB,MAAM,eAAe,mBAAmB,KAAA,IAAY,mBAAmB,CAAC,GAAG,cAAc;CACzF,MAAM,aACJ,yBAAyB,KAAA,IAAY,yBAAyB;CAEhE,MAAM,cAAA,GAAA,MAAA,YAAA,EACH,aAAuB;EACtB,IAAI,mBAAmB,KAAA,GAAW,oBAAoB,QAAQ;EAC9D,eAAe,QAAQ;CACzB,GACA,CAAC,gBAAgB,YAAY,CAC/B;CAEA,MAAM,cAAA,GAAA,MAAA,YAAA,EACH,UAA0C;EACzC,IAAI,yBAAyB,KAAA,GAAW,0BAA0B,EAAE;EACpE,qBAAqB,EAAE;EACvB,IAAI,OAAO,WAAW,aAAa,OAAO,EAAE,CAAC;CAC/C,GACA;EAAC;EAAsB;EAAU;CAAkB,CACrD;CAEA,MAAM,UAAA,GAAA,MAAA,YAAA,EACH,QAAgB,UAA0C;EACzD,MAAM,MAAM,OAAO,KAAK;EACxB,IAAI,OAAO,CAAC,aAAa,SAAS,GAAG,KAAK,KAAK,SAAS,GAAG,GACzD,WAAW,CAAC,GAAG,cAAc,GAAG,CAAC;EAEnC,WAAW,KAAK;CAClB,GACA;EAAC;EAAY;EAAM;EAAc;CAAU,CAC7C;CAEA,MAAM,eAAA,GAAA,MAAA,QAAA,OAA4B;EAChC,MAAM,QAAQ,WAAW,KAAK,CAAC,CAAC,kBAAkB;EAClD,OAAO,KAAK,QACT,SACC,CAAC,aAAa,SAAS,IAAI,MAC1B,MAAM,WAAW,KAAK,KAAK,kBAAkB,CAAC,CAAC,SAAS,KAAK,EAClE;CACF,GAAG;EAAC;EAAM;EAAY;CAAY,CAAC;CAEnC,SAAS,aAAa,OAAsC;EAC1D,MAAM,YAAY,MAAM,cAAc;EACtC,IAAI,UAAU,KAAK,MAAM,IAAI;GAC3B,WAAW,KAAK;GAChB,WAAW,KAAK;GAChB;EACF;EAEA,IAAI,UAAU,SAAS,GAAG,GAAG;GAC3B,OAAO,UAAU,MAAM,GAAG,EAAE,GAAG,KAAK;GACpC;EACF;EAEA,IAAI,yBAAyB,KAAA,GAAW,0BAA0B,SAAS;EAC3E,qBAAqB,SAAS;EAC9B,WAAW,KAAK;CAClB;CAEA,SAAS,WAAW,OAAqC;EACvD,WAAW,KAAK;EAChB,SAAS,KAAK;CAChB;CAEA,SAAS,UAAU,OAAe;EAChC,WAAW,aAAa,QAAQ,GAAG,iBAAiB,iBAAiB,KAAK,CAAC;CAC7E;CAEA,OACE,iBAAA,GAAA,kBAAA,KAAA,CAAC,OAAD;EACE,WAAW,OAAO;EAClB,uBAAoB;EACpB,aAAU;EACV,KAAK;YAJP;GAMG,QACC,iBAAA,GAAA,kBAAA,IAAA,CAAC,SAAD;IAAO,WAAW,OAAO;IAAO,aAAU;IAAmB,SAAS;cACnE;GACI,CAAA,IACL;GACJ,iBAAA,GAAA,kBAAA,KAAA,CAAC,OAAD;IACE,WAAWC,WAAAA,GAAG,OAAO,SAAS,SAAS;IACvC,iBAAe,YAAY,KAAA;IAC3B,cAAY,WAAW,KAAA;IACvB,aAAU;cAJZ,CAME,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;KAAK,WAAW,OAAO;KAAS,aAAU;eACvC,aAAa,KAAK,KAAK,UACtB,iBAAA,GAAA,kBAAA,KAAA,CAAC,QAAD;MAAM,WAAW,OAAO;MAAK,aAAU;gBAAvC,CACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,QAAD;OAAM,WAAW,OAAO;OAAU,aAAU;iBACzC;MACG,CAAA,GACN,iBAAA,GAAA,kBAAA,IAAA,CAAC,UAAD;OACE,cAAY,UAAU;OACtB,WAAW,OAAO;OAClB,aAAU;OACA;OACV,eAAe,UAAU,KAAK;OAC9B,MAAK;iBACN;MAEO,CAAA,CACJ;QAduD,GAcvD,CACP;IACE,CAAA,GACL,iBAAA,GAAA,kBAAA,IAAA,CAAC,SAAD;KACE,GAAI;KACJ,GAAK,kBAAkB,EAAE,oBAAoB,gBAAgB,IAAI,CAAC;KAClE,GAAK,gBAAgB,KAAA,IAAY,EAAE,gBAAgB,YAAY,IAAI,CAAC;KACpE,GAAK,YAAY,EAAE,cAAc,UAAU,IAAI,CAAC;KAChD,cAAa;KACb,WAAW,OAAO;KACR;KACN;KACJ,QAAQ;KACR,UAAU;KACV,UAAU,UAAU;MAClB,WAAW,IAAI;MACf,UAAU,KAAK;KACjB;KACa;KACR;KACL,MAAK;KACL,OAAO;IACR,CAAA,CACE;;GACJ,WAAW,KAAK,SAAS,IACxB,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;IAAK,WAAW,OAAO;IAAY,aAAU;cAC3C,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;KACE,cAAW;KACX,WAAW,OAAO;KAClB,aAAU;KACV,MAAK;eAEJ,YAAY,SAAS,IACpB,YAAY,KAAK,SACf,iBAAA,GAAA,kBAAA,IAAA,CAAC,UAAD;MACE,iBAAe;MACf,WAAW,OAAO;MAClB,aAAU;MAEV,eAAe,OAAO,IAAI;MAC1B,cAAc,UAAyC,MAAM,eAAe;MAC5E,MAAK;MACL,MAAK;gBAEJ;KACK,GAPD,IAOC,CACT,IAED,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;MAAK,WAAW,OAAO;MAAO,aAAU;gBAAmB;KAEtD,CAAA;IAEJ,CAAA;GACF,CAAA,IACH;EACD;;AAET,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { ChangeEventHandler, ComponentPropsWithoutRef, ReactNode } from "react";
|
|
2
|
+
//#region src/components/tags-input/tags-input.d.ts
|
|
3
|
+
interface TagsInputProps extends Omit<ComponentPropsWithoutRef<"input">, "children" | "defaultValue" | "onChange" | "type" | "value"> {
|
|
4
|
+
/** Current tags. Omit this prop to use the uncontrolled API. */
|
|
5
|
+
tags?: readonly string[];
|
|
6
|
+
/** Initial tags for the uncontrolled API. */
|
|
7
|
+
defaultTags?: readonly string[];
|
|
8
|
+
/** Called whenever a tag is added or removed. */
|
|
9
|
+
onTagsChange?: (tags: string[]) => void;
|
|
10
|
+
/** Optional suggestions. A tag is accepted after a comma only when it is in this list. */
|
|
11
|
+
data?: readonly string[];
|
|
12
|
+
/** Visible label for the input. */
|
|
13
|
+
label?: ReactNode;
|
|
14
|
+
/** Current text query. This is the native input value, not the selected tags. */
|
|
15
|
+
value?: string;
|
|
16
|
+
/** Initial text query for an uncontrolled input. */
|
|
17
|
+
defaultValue?: string;
|
|
18
|
+
/** Native input change callback. */
|
|
19
|
+
onChange?: ChangeEventHandler<HTMLInputElement>;
|
|
20
|
+
/** Optional callback useful when a controlled query is cleared by selecting a tag. */
|
|
21
|
+
onInputValueChange?: (value: string) => void;
|
|
22
|
+
}
|
|
23
|
+
declare const TagsInput: import("react").ForwardRefExoticComponent<TagsInputProps & import("react").RefAttributes<HTMLInputElement>>;
|
|
24
|
+
//#endregion
|
|
25
|
+
export { TagsInput, TagsInputProps };
|
|
26
|
+
//# sourceMappingURL=tags-input.d.cts.map
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { ChangeEventHandler, ComponentPropsWithoutRef, ReactNode } from "react";
|
|
2
|
+
//#region src/components/tags-input/tags-input.d.ts
|
|
3
|
+
interface TagsInputProps extends Omit<ComponentPropsWithoutRef<"input">, "children" | "defaultValue" | "onChange" | "type" | "value"> {
|
|
4
|
+
/** Current tags. Omit this prop to use the uncontrolled API. */
|
|
5
|
+
tags?: readonly string[];
|
|
6
|
+
/** Initial tags for the uncontrolled API. */
|
|
7
|
+
defaultTags?: readonly string[];
|
|
8
|
+
/** Called whenever a tag is added or removed. */
|
|
9
|
+
onTagsChange?: (tags: string[]) => void;
|
|
10
|
+
/** Optional suggestions. A tag is accepted after a comma only when it is in this list. */
|
|
11
|
+
data?: readonly string[];
|
|
12
|
+
/** Visible label for the input. */
|
|
13
|
+
label?: ReactNode;
|
|
14
|
+
/** Current text query. This is the native input value, not the selected tags. */
|
|
15
|
+
value?: string;
|
|
16
|
+
/** Initial text query for an uncontrolled input. */
|
|
17
|
+
defaultValue?: string;
|
|
18
|
+
/** Native input change callback. */
|
|
19
|
+
onChange?: ChangeEventHandler<HTMLInputElement>;
|
|
20
|
+
/** Optional callback useful when a controlled query is cleared by selecting a tag. */
|
|
21
|
+
onInputValueChange?: (value: string) => void;
|
|
22
|
+
}
|
|
23
|
+
declare const TagsInput: import("react").ForwardRefExoticComponent<TagsInputProps & import("react").RefAttributes<HTMLInputElement>>;
|
|
24
|
+
//#endregion
|
|
25
|
+
export { TagsInput, TagsInputProps };
|
|
26
|
+
//# sourceMappingURL=tags-input.d.ts.map
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { cx } from "../../styled-system/css/cx.js";
|
|
3
|
+
import { tagsInput } from "../../styled-system/recipes/tags-input.js";
|
|
4
|
+
import { forwardRef, useCallback, useId, useMemo, useRef, useState } from "react";
|
|
5
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
|
+
//#region src/components/tags-input/tags-input.tsx
|
|
7
|
+
function changedEvent(event, value) {
|
|
8
|
+
const target = event.target;
|
|
9
|
+
const nextTarget = {
|
|
10
|
+
checked: target.checked,
|
|
11
|
+
id: target.id,
|
|
12
|
+
name: target.name,
|
|
13
|
+
value
|
|
14
|
+
};
|
|
15
|
+
return {
|
|
16
|
+
...event,
|
|
17
|
+
currentTarget: nextTarget,
|
|
18
|
+
target: nextTarget
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
const TagsInput = forwardRef(function TagsInput({ "aria-describedby": ariaDescribedBy, "aria-invalid": ariaInvalid, "aria-label": ariaLabel, className, data = [], defaultTags = [], defaultValue = "", disabled = false, id: providedId, label, onBlur, onChange, onFocus, onInputValueChange, onTagsChange, placeholder, tags: controlledTags, value: controlledInputValue, ...props }, ref) {
|
|
22
|
+
const generatedId = useId();
|
|
23
|
+
const id = providedId ?? generatedId;
|
|
24
|
+
const [uncontrolledTags, setUncontrolledTags] = useState(() => [...defaultTags]);
|
|
25
|
+
const [uncontrolledInputValue, setUncontrolledInputValue] = useState(defaultValue);
|
|
26
|
+
const [focused, setFocused] = useState(false);
|
|
27
|
+
const rootRef = useRef(null);
|
|
28
|
+
const styles = tagsInput();
|
|
29
|
+
const selectedTags = controlledTags === void 0 ? uncontrolledTags : [...controlledTags];
|
|
30
|
+
const inputValue = controlledInputValue === void 0 ? uncontrolledInputValue : controlledInputValue;
|
|
31
|
+
const updateTags = useCallback((nextTags) => {
|
|
32
|
+
if (controlledTags === void 0) setUncontrolledTags(nextTags);
|
|
33
|
+
onTagsChange?.(nextTags);
|
|
34
|
+
}, [controlledTags, onTagsChange]);
|
|
35
|
+
const clearInput = useCallback((event) => {
|
|
36
|
+
if (controlledInputValue === void 0) setUncontrolledInputValue("");
|
|
37
|
+
onInputValueChange?.("");
|
|
38
|
+
if (event) onChange?.(changedEvent(event, ""));
|
|
39
|
+
}, [
|
|
40
|
+
controlledInputValue,
|
|
41
|
+
onChange,
|
|
42
|
+
onInputValueChange
|
|
43
|
+
]);
|
|
44
|
+
const addTag = useCallback((rawTag, event) => {
|
|
45
|
+
const tag = rawTag.trim();
|
|
46
|
+
if (tag && !selectedTags.includes(tag) && data.includes(tag)) updateTags([...selectedTags, tag]);
|
|
47
|
+
clearInput(event);
|
|
48
|
+
}, [
|
|
49
|
+
clearInput,
|
|
50
|
+
data,
|
|
51
|
+
selectedTags,
|
|
52
|
+
updateTags
|
|
53
|
+
]);
|
|
54
|
+
const suggestions = useMemo(() => {
|
|
55
|
+
const query = inputValue.trim().toLocaleLowerCase();
|
|
56
|
+
return data.filter((item) => !selectedTags.includes(item) && (query.length === 0 || item.toLocaleLowerCase().includes(query)));
|
|
57
|
+
}, [
|
|
58
|
+
data,
|
|
59
|
+
inputValue,
|
|
60
|
+
selectedTags
|
|
61
|
+
]);
|
|
62
|
+
function handleChange(event) {
|
|
63
|
+
const nextValue = event.currentTarget.value;
|
|
64
|
+
if (nextValue.trim() === "") {
|
|
65
|
+
clearInput(event);
|
|
66
|
+
onChange?.(event);
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
if (nextValue.endsWith(",")) {
|
|
70
|
+
addTag(nextValue.slice(0, -1), event);
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
if (controlledInputValue === void 0) setUncontrolledInputValue(nextValue);
|
|
74
|
+
onInputValueChange?.(nextValue);
|
|
75
|
+
onChange?.(event);
|
|
76
|
+
}
|
|
77
|
+
function handleBlur(event) {
|
|
78
|
+
setFocused(false);
|
|
79
|
+
onBlur?.(event);
|
|
80
|
+
}
|
|
81
|
+
function removeTag(index) {
|
|
82
|
+
updateTags(selectedTags.filter((_, currentIndex) => currentIndex !== index));
|
|
83
|
+
}
|
|
84
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
85
|
+
className: styles.root,
|
|
86
|
+
"data-jaci-component": "tags-input",
|
|
87
|
+
"data-slot": "tags-input",
|
|
88
|
+
ref: rootRef,
|
|
89
|
+
children: [
|
|
90
|
+
label ? /* @__PURE__ */ jsx("label", {
|
|
91
|
+
className: styles.label,
|
|
92
|
+
"data-slot": "tags-input-label",
|
|
93
|
+
htmlFor: id,
|
|
94
|
+
children: label
|
|
95
|
+
}) : null,
|
|
96
|
+
/* @__PURE__ */ jsxs("div", {
|
|
97
|
+
className: cx(styles.control, className),
|
|
98
|
+
"data-disabled": disabled || void 0,
|
|
99
|
+
"data-focus": focused || void 0,
|
|
100
|
+
"data-slot": "tags-input-control",
|
|
101
|
+
children: [/* @__PURE__ */ jsx("div", {
|
|
102
|
+
className: styles.tagList,
|
|
103
|
+
"data-slot": "tags-input-tag-list",
|
|
104
|
+
children: selectedTags.map((tag, index) => /* @__PURE__ */ jsxs("span", {
|
|
105
|
+
className: styles.tag,
|
|
106
|
+
"data-slot": "tags-input-tag",
|
|
107
|
+
children: [/* @__PURE__ */ jsx("span", {
|
|
108
|
+
className: styles.tagLabel,
|
|
109
|
+
"data-slot": "tags-input-tag-label",
|
|
110
|
+
children: tag
|
|
111
|
+
}), /* @__PURE__ */ jsx("button", {
|
|
112
|
+
"aria-label": `Remove ${tag}`,
|
|
113
|
+
className: styles.tagRemove,
|
|
114
|
+
"data-slot": "tags-input-tag-remove",
|
|
115
|
+
disabled,
|
|
116
|
+
onClick: () => removeTag(index),
|
|
117
|
+
type: "button",
|
|
118
|
+
children: "×"
|
|
119
|
+
})]
|
|
120
|
+
}, tag))
|
|
121
|
+
}), /* @__PURE__ */ jsx("input", {
|
|
122
|
+
...props,
|
|
123
|
+
...ariaDescribedBy ? { "aria-describedby": ariaDescribedBy } : {},
|
|
124
|
+
...ariaInvalid !== void 0 ? { "aria-invalid": ariaInvalid } : {},
|
|
125
|
+
...ariaLabel ? { "aria-label": ariaLabel } : {},
|
|
126
|
+
autoComplete: "off",
|
|
127
|
+
className: styles.input,
|
|
128
|
+
disabled,
|
|
129
|
+
id,
|
|
130
|
+
onBlur: handleBlur,
|
|
131
|
+
onChange: handleChange,
|
|
132
|
+
onFocus: (event) => {
|
|
133
|
+
setFocused(true);
|
|
134
|
+
onFocus?.(event);
|
|
135
|
+
},
|
|
136
|
+
placeholder,
|
|
137
|
+
ref,
|
|
138
|
+
type: "text",
|
|
139
|
+
value: inputValue
|
|
140
|
+
})]
|
|
141
|
+
}),
|
|
142
|
+
focused && data.length > 0 ? /* @__PURE__ */ jsx("div", {
|
|
143
|
+
className: styles.positioner,
|
|
144
|
+
"data-slot": "tags-input-positioner",
|
|
145
|
+
children: /* @__PURE__ */ jsx("div", {
|
|
146
|
+
"aria-label": "Suggestions",
|
|
147
|
+
className: styles.list,
|
|
148
|
+
"data-slot": "tags-input-list",
|
|
149
|
+
role: "listbox",
|
|
150
|
+
children: suggestions.length > 0 ? suggestions.map((item) => /* @__PURE__ */ jsx("button", {
|
|
151
|
+
"aria-selected": false,
|
|
152
|
+
className: styles.item,
|
|
153
|
+
"data-slot": "tags-input-item",
|
|
154
|
+
onClick: () => addTag(item),
|
|
155
|
+
onMouseDown: (event) => event.preventDefault(),
|
|
156
|
+
role: "option",
|
|
157
|
+
type: "button",
|
|
158
|
+
children: item
|
|
159
|
+
}, item)) : /* @__PURE__ */ jsx("div", {
|
|
160
|
+
className: styles.empty,
|
|
161
|
+
"data-slot": "tags-input-empty",
|
|
162
|
+
children: "No options"
|
|
163
|
+
})
|
|
164
|
+
})
|
|
165
|
+
}) : null
|
|
166
|
+
]
|
|
167
|
+
});
|
|
168
|
+
});
|
|
169
|
+
//#endregion
|
|
170
|
+
export { TagsInput };
|
|
171
|
+
|
|
172
|
+
//# sourceMappingURL=tags-input.js.map
|