@arolariu/components 0.5.0 → 1.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/{changelog.md → CHANGELOG.md} +82 -0
- package/CONTRIBUTING.md +344 -265
- package/DEBUGGING.md +185 -103
- package/EXAMPLES.md +2976 -341
- package/{readme.md → README.md} +306 -203
- package/dist/components/ui/accordion.d.ts +157 -5
- package/dist/components/ui/accordion.d.ts.map +1 -1
- package/dist/components/ui/accordion.js +100 -22
- package/dist/components/ui/accordion.js.map +1 -1
- package/dist/components/ui/accordion.module.js +12 -0
- package/dist/components/ui/accordion.module.js.map +1 -0
- package/dist/components/ui/accordion_module.css +72 -0
- package/dist/components/ui/accordion_module.css.map +1 -0
- package/dist/components/ui/alert-dialog.d.ts +309 -18
- package/dist/components/ui/alert-dialog.d.ts.map +1 -1
- package/dist/components/ui/alert-dialog.js +149 -52
- package/dist/components/ui/alert-dialog.js.map +1 -1
- package/dist/components/ui/alert-dialog.module.js +13 -0
- package/dist/components/ui/alert-dialog.module.js.map +1 -0
- package/dist/components/ui/alert-dialog_module.css +89 -0
- package/dist/components/ui/alert-dialog_module.css.map +1 -0
- package/dist/components/ui/alert.d.ts +109 -6
- package/dist/components/ui/alert.d.ts.map +1 -1
- package/dist/components/ui/alert.js +12 -21
- package/dist/components/ui/alert.js.map +1 -1
- package/dist/components/ui/alert.module.js +11 -0
- package/dist/components/ui/alert.module.js.map +1 -0
- package/dist/components/ui/alert_module.css +59 -0
- package/dist/components/ui/alert_module.css.map +1 -0
- package/dist/components/ui/aspect-ratio.d.ts +24 -2
- package/dist/components/ui/aspect-ratio.d.ts.map +1 -1
- package/dist/components/ui/aspect-ratio.js +14 -3
- package/dist/components/ui/aspect-ratio.js.map +1 -1
- package/dist/components/ui/aspect-ratio.module.js +7 -0
- package/dist/components/ui/aspect-ratio.module.js.map +1 -0
- package/dist/components/ui/aspect-ratio_module.css +10 -0
- package/dist/components/ui/aspect-ratio_module.css.map +1 -0
- package/dist/components/ui/async-boundary.js +17 -0
- package/dist/components/ui/async-boundary.js.map +1 -0
- package/dist/components/ui/avatar.d.ts +88 -4
- package/dist/components/ui/avatar.d.ts.map +1 -1
- package/dist/components/ui/avatar.js +52 -20
- package/dist/components/ui/avatar.js.map +1 -1
- package/dist/components/ui/avatar.module.js +9 -0
- package/dist/components/ui/avatar.module.js.map +1 -0
- package/dist/components/ui/avatar_module.css +35 -0
- package/dist/components/ui/avatar_module.css.map +1 -0
- package/dist/components/ui/background-beams.d.ts +21 -3
- package/dist/components/ui/background-beams.d.ts.map +1 -1
- package/dist/components/ui/background-beams.js +22 -11
- package/dist/components/ui/background-beams.js.map +1 -1
- package/dist/components/ui/background-beams.module.js +8 -0
- package/dist/components/ui/background-beams.module.js.map +1 -0
- package/dist/components/ui/background-beams_module.css +22 -0
- package/dist/components/ui/background-beams_module.css.map +1 -0
- package/dist/components/ui/badge.d.ts +79 -6
- package/dist/components/ui/badge.d.ts.map +1 -1
- package/dist/components/ui/badge.js +19 -23
- package/dist/components/ui/badge.js.map +1 -1
- package/dist/components/ui/badge.module.js +11 -0
- package/dist/components/ui/badge.module.js.map +1 -0
- package/dist/components/ui/badge_module.css +63 -0
- package/dist/components/ui/badge_module.css.map +1 -0
- package/dist/components/ui/breadcrumb.d.ts +158 -13
- package/dist/components/ui/breadcrumb.d.ts.map +1 -1
- package/dist/components/ui/breadcrumb.js +39 -30
- package/dist/components/ui/breadcrumb.js.map +1 -1
- package/dist/components/ui/breadcrumb.module.js +14 -0
- package/dist/components/ui/breadcrumb.module.js.map +1 -0
- package/dist/components/ui/breadcrumb_module.css +90 -0
- package/dist/components/ui/breadcrumb_module.css.map +1 -0
- package/dist/components/ui/bubble-background.d.ts +38 -10
- package/dist/components/ui/bubble-background.d.ts.map +1 -1
- package/dist/components/ui/bubble-background.js +33 -35
- package/dist/components/ui/bubble-background.js.map +1 -1
- package/dist/components/ui/bubble-background.module.js +20 -0
- package/dist/components/ui/bubble-background.module.js.map +1 -0
- package/dist/components/ui/bubble-background_module.css +99 -0
- package/dist/components/ui/bubble-background_module.css.map +1 -0
- package/dist/components/ui/button-group.d.ts +88 -8
- package/dist/components/ui/button-group.d.ts.map +1 -1
- package/dist/components/ui/button-group.js +35 -32
- package/dist/components/ui/button-group.js.map +1 -1
- package/dist/components/ui/button-group.module.js +11 -0
- package/dist/components/ui/button-group.module.js.map +1 -0
- package/dist/components/ui/button-group_module.css +79 -0
- package/dist/components/ui/button-group_module.css.map +1 -0
- package/dist/components/ui/button.d.ts +82 -7
- package/dist/components/ui/button.d.ts.map +1 -1
- package/dist/components/ui/button.js +69 -34
- package/dist/components/ui/button.js.map +1 -1
- package/dist/components/ui/button.module.js +17 -0
- package/dist/components/ui/button.module.js.map +1 -0
- package/dist/components/ui/button_module.css +137 -0
- package/dist/components/ui/button_module.css.map +1 -0
- package/dist/components/ui/calendar.d.ts +36 -5
- package/dist/components/ui/calendar.d.ts.map +1 -1
- package/dist/components/ui/calendar.js +75 -64
- package/dist/components/ui/calendar.js.map +1 -1
- package/dist/components/ui/calendar.module.js +35 -0
- package/dist/components/ui/calendar.module.js.map +1 -0
- package/dist/components/ui/calendar_module.css +245 -0
- package/dist/components/ui/calendar_module.css.map +1 -0
- package/dist/components/ui/card-skeleton.js +41 -0
- package/dist/components/ui/card-skeleton.js.map +1 -0
- package/dist/components/ui/card-skeleton.module.js +15 -0
- package/dist/components/ui/card-skeleton.module.js.map +1 -0
- package/dist/components/ui/card-skeleton_module.css +54 -0
- package/dist/components/ui/card-skeleton_module.css.map +1 -0
- package/dist/components/ui/card.d.ts +162 -7
- package/dist/components/ui/card.d.ts.map +1 -1
- package/dist/components/ui/card.js +13 -13
- package/dist/components/ui/card.js.map +1 -1
- package/dist/components/ui/card.module.js +13 -0
- package/dist/components/ui/card.module.js.map +1 -0
- package/dist/components/ui/card_module.css +43 -0
- package/dist/components/ui/card_module.css.map +1 -0
- package/dist/components/ui/carousel.d.ts +127 -3
- package/dist/components/ui/carousel.d.ts.map +1 -1
- package/dist/components/ui/carousel.js +63 -36
- package/dist/components/ui/carousel.js.map +1 -1
- package/dist/components/ui/carousel.module.js +17 -0
- package/dist/components/ui/carousel.module.js.map +1 -0
- package/dist/components/ui/carousel_module.css +82 -0
- package/dist/components/ui/carousel_module.css.map +1 -0
- package/dist/components/ui/chart.d.ts +323 -13
- package/dist/components/ui/chart.d.ts.map +1 -1
- package/dist/components/ui/chart.js +224 -53
- package/dist/components/ui/chart.js.map +1 -1
- package/dist/components/ui/chart.module.js +27 -0
- package/dist/components/ui/chart.module.js.map +1 -0
- package/dist/components/ui/chart_module.css +159 -0
- package/dist/components/ui/chart_module.css.map +1 -0
- package/dist/components/ui/checkbox-group.d.ts +27 -0
- package/dist/components/ui/checkbox-group.d.ts.map +1 -0
- package/dist/components/ui/checkbox-group.js +26 -0
- package/dist/components/ui/checkbox-group.js.map +1 -0
- package/dist/components/ui/checkbox-group.module.js +7 -0
- package/dist/components/ui/checkbox-group.module.js.map +1 -0
- package/dist/components/ui/checkbox-group_module.css +11 -0
- package/dist/components/ui/checkbox-group_module.css.map +1 -0
- package/dist/components/ui/checkbox.d.ts +35 -2
- package/dist/components/ui/checkbox.d.ts.map +1 -1
- package/dist/components/ui/checkbox.js +40 -12
- package/dist/components/ui/checkbox.js.map +1 -1
- package/dist/components/ui/checkbox.module.js +8 -0
- package/dist/components/ui/checkbox.module.js.map +1 -0
- package/dist/components/ui/checkbox_module.css +45 -0
- package/dist/components/ui/checkbox_module.css.map +1 -0
- package/dist/components/ui/collapsible.d.ts +87 -3
- package/dist/components/ui/collapsible.d.ts.map +1 -1
- package/dist/components/ui/collapsible.js +46 -32
- package/dist/components/ui/collapsible.js.map +1 -1
- package/dist/components/ui/collapsible.module.js +8 -0
- package/dist/components/ui/collapsible.module.js.map +1 -0
- package/dist/components/ui/collapsible_module.css +26 -0
- package/dist/components/ui/collapsible_module.css.map +1 -0
- package/dist/components/ui/combobox.d.ts +335 -0
- package/dist/components/ui/combobox.d.ts.map +1 -0
- package/dist/components/ui/combobox.js +206 -0
- package/dist/components/ui/combobox.js.map +1 -0
- package/dist/components/ui/combobox.module.js +23 -0
- package/dist/components/ui/combobox.module.js.map +1 -0
- package/dist/components/ui/combobox_module.css +142 -0
- package/dist/components/ui/combobox_module.css.map +1 -0
- package/dist/components/ui/command.d.ts +284 -51
- package/dist/components/ui/command.d.ts.map +1 -1
- package/dist/components/ui/command.js +396 -51
- package/dist/components/ui/command.js.map +1 -1
- package/dist/components/ui/command.module.js +20 -0
- package/dist/components/ui/command.module.js.map +1 -0
- package/dist/components/ui/command_module.css +194 -0
- package/dist/components/ui/command_module.css.map +1 -0
- package/dist/components/ui/context-menu.d.ts +414 -21
- package/dist/components/ui/context-menu.d.ts.map +1 -1
- package/dist/components/ui/context-menu.js +190 -68
- package/dist/components/ui/context-menu.js.map +1 -1
- package/dist/components/ui/context-menu.module.js +19 -0
- package/dist/components/ui/context-menu.module.js.map +1 -0
- package/dist/components/ui/context-menu_module.css +114 -0
- package/dist/components/ui/context-menu_module.css.map +1 -0
- package/dist/components/ui/copy-button.d.ts +41 -0
- package/dist/components/ui/copy-button.d.ts.map +1 -0
- package/dist/components/ui/copy-button.js +51 -0
- package/dist/components/ui/copy-button.js.map +1 -0
- package/dist/components/ui/copy-button.module.js +8 -0
- package/dist/components/ui/copy-button.module.js.map +1 -0
- package/dist/components/ui/copy-button_module.css +37 -0
- package/dist/components/ui/copy-button_module.css.map +1 -0
- package/dist/components/ui/counting-number.d.ts +28 -2
- package/dist/components/ui/counting-number.d.ts.map +1 -1
- package/dist/components/ui/counting-number.js +31 -27
- package/dist/components/ui/counting-number.js.map +1 -1
- package/dist/components/ui/counting-number.module.js +7 -0
- package/dist/components/ui/counting-number.module.js.map +1 -0
- package/dist/components/ui/counting-number_module.css +7 -0
- package/dist/components/ui/counting-number_module.css.map +1 -0
- package/dist/components/ui/dialog.d.ts +287 -17
- package/dist/components/ui/dialog.d.ts.map +1 -1
- package/dist/components/ui/dialog.js +129 -52
- package/dist/components/ui/dialog.js.map +1 -1
- package/dist/components/ui/dialog.module.js +13 -0
- package/dist/components/ui/dialog.module.js.map +1 -0
- package/dist/components/ui/dialog_module.css +114 -0
- package/dist/components/ui/dialog_module.css.map +1 -0
- package/dist/components/ui/dot-background.d.ts +25 -35
- package/dist/components/ui/dot-background.d.ts.map +1 -1
- package/dist/components/ui/dot-background.js +31 -22
- package/dist/components/ui/dot-background.js.map +1 -1
- package/dist/components/ui/dot-background.module.js +8 -0
- package/dist/components/ui/dot-background.module.js.map +1 -0
- package/dist/components/ui/dot-background_module.css +15 -0
- package/dist/components/ui/dot-background_module.css.map +1 -0
- package/dist/components/ui/drawer.d.ts +287 -18
- package/dist/components/ui/drawer.d.ts.map +1 -1
- package/dist/components/ui/drawer.js +117 -40
- package/dist/components/ui/drawer.js.map +1 -1
- package/dist/components/ui/drawer.module.js +14 -0
- package/dist/components/ui/drawer.module.js.map +1 -0
- package/dist/components/ui/drawer_module.css +86 -0
- package/dist/components/ui/drawer_module.css.map +1 -0
- package/dist/components/ui/dropdown-menu.d.ts +414 -21
- package/dist/components/ui/dropdown-menu.d.ts.map +1 -1
- package/dist/components/ui/dropdown-menu.js +189 -68
- package/dist/components/ui/dropdown-menu.js.map +1 -1
- package/dist/components/ui/dropdown-menu.module.js +19 -0
- package/dist/components/ui/dropdown-menu.module.js.map +1 -0
- package/dist/components/ui/dropdown-menu_module.css +114 -0
- package/dist/components/ui/dropdown-menu_module.css.map +1 -0
- package/dist/components/ui/dropdrawer.d.ts +307 -17
- package/dist/components/ui/dropdrawer.d.ts.map +1 -1
- package/dist/components/ui/dropdrawer.js +438 -166
- package/dist/components/ui/dropdrawer.js.map +1 -1
- package/dist/components/ui/dropdrawer.module.js +43 -0
- package/dist/components/ui/dropdrawer.module.js.map +1 -0
- package/dist/components/ui/dropdrawer_module.css +307 -0
- package/dist/components/ui/dropdrawer_module.css.map +1 -0
- package/dist/components/ui/empty.d.ts +129 -10
- package/dist/components/ui/empty.d.ts.map +1 -1
- package/dist/components/ui/empty.js +32 -47
- package/dist/components/ui/empty.js.map +1 -1
- package/dist/components/ui/empty.module.js +13 -0
- package/dist/components/ui/empty.module.js.map +1 -0
- package/dist/components/ui/empty_module.css +85 -0
- package/dist/components/ui/empty_module.css.map +1 -0
- package/dist/components/ui/error-boundary.js +61 -0
- package/dist/components/ui/error-boundary.js.map +1 -0
- package/dist/components/ui/error-boundary.module.js +10 -0
- package/dist/components/ui/error-boundary.module.js.map +1 -0
- package/dist/components/ui/error-boundary_module.css +41 -0
- package/dist/components/ui/error-boundary_module.css.map +1 -0
- package/dist/components/ui/field.d.ts +222 -23
- package/dist/components/ui/field.d.ts.map +1 -1
- package/dist/components/ui/field.js +76 -86
- package/dist/components/ui/field.js.map +1 -1
- package/dist/components/ui/field.module.js +24 -0
- package/dist/components/ui/field.module.js.map +1 -0
- package/dist/components/ui/field_module.css +185 -0
- package/dist/components/ui/field_module.css.map +1 -0
- package/dist/components/ui/fireworks-background.d.ts +27 -3
- package/dist/components/ui/fireworks-background.d.ts.map +1 -1
- package/dist/components/ui/fireworks-background.js +36 -35
- package/dist/components/ui/fireworks-background.js.map +1 -1
- package/dist/components/ui/fireworks-background.module.js +8 -0
- package/dist/components/ui/fireworks-background.module.js.map +1 -0
- package/dist/components/ui/fireworks-background_module.css +17 -0
- package/dist/components/ui/fireworks-background_module.css.map +1 -0
- package/dist/components/ui/flip-button.d.ts +27 -3
- package/dist/components/ui/flip-button.d.ts.map +1 -1
- package/dist/components/ui/flip-button.js +27 -17
- package/dist/components/ui/flip-button.js.map +1 -1
- package/dist/components/ui/flip-button.module.js +11 -0
- package/dist/components/ui/flip-button.module.js.map +1 -0
- package/dist/components/ui/flip-button_module.css +47 -0
- package/dist/components/ui/flip-button_module.css.map +1 -0
- package/dist/components/ui/focus-scope.js +70 -0
- package/dist/components/ui/focus-scope.js.map +1 -0
- package/dist/components/ui/focus-scope.module.js +7 -0
- package/dist/components/ui/focus-scope.module.js.map +1 -0
- package/dist/components/ui/focus-scope_module.css +6 -0
- package/dist/components/ui/focus-scope_module.css.map +1 -0
- package/dist/components/ui/form-skeleton.js +32 -0
- package/dist/components/ui/form-skeleton.js.map +1 -0
- package/dist/components/ui/form-skeleton.module.js +11 -0
- package/dist/components/ui/form-skeleton.module.js.map +1 -0
- package/dist/components/ui/form-skeleton_module.css +30 -0
- package/dist/components/ui/form-skeleton_module.css.map +1 -0
- package/dist/components/ui/form.d.ts +143 -13
- package/dist/components/ui/form.d.ts.map +1 -1
- package/dist/components/ui/form.js +55 -21
- package/dist/components/ui/form.js.map +1 -1
- package/dist/components/ui/form.module.js +10 -0
- package/dist/components/ui/form.module.js.map +1 -0
- package/dist/components/ui/form_module.css +22 -0
- package/dist/components/ui/form_module.css.map +1 -0
- package/dist/components/ui/gradient-background.d.ts +21 -3
- package/dist/components/ui/gradient-background.d.ts.map +1 -1
- package/dist/components/ui/gradient-background.js +8 -4
- package/dist/components/ui/gradient-background.js.map +1 -1
- package/dist/components/ui/gradient-background.module.js +7 -0
- package/dist/components/ui/gradient-background.module.js.map +1 -0
- package/dist/components/ui/gradient-background_module.css +9 -0
- package/dist/components/ui/gradient-background_module.css.map +1 -0
- package/dist/components/ui/gradient-text.d.ts +23 -2
- package/dist/components/ui/gradient-text.d.ts.map +1 -1
- package/dist/components/ui/gradient-text.js +8 -6
- package/dist/components/ui/gradient-text.js.map +1 -1
- package/dist/components/ui/gradient-text.module.js +9 -0
- package/dist/components/ui/gradient-text.module.js.map +1 -0
- package/dist/components/ui/gradient-text_module.css +24 -0
- package/dist/components/ui/gradient-text_module.css.map +1 -0
- package/dist/components/ui/highlight-text.d.ts +24 -2
- package/dist/components/ui/highlight-text.d.ts.map +1 -1
- package/dist/components/ui/highlight-text.js +7 -10
- package/dist/components/ui/highlight-text.js.map +1 -1
- package/dist/components/ui/highlight-text.module.js +7 -0
- package/dist/components/ui/highlight-text.module.js.map +1 -0
- package/dist/components/ui/highlight-text_module.css +16 -0
- package/dist/components/ui/highlight-text_module.css.map +1 -0
- package/dist/components/ui/hole-background.d.ts +23 -2
- package/dist/components/ui/hole-background.d.ts.map +1 -1
- package/dist/components/ui/hole-background.js +155 -118
- package/dist/components/ui/hole-background.js.map +1 -1
- package/dist/components/ui/hole-background.module.js +10 -0
- package/dist/components/ui/hole-background.module.js.map +1 -0
- package/dist/components/ui/hole-background_module.css +85 -0
- package/dist/components/ui/hole-background_module.css.map +1 -0
- package/dist/components/ui/hover-card.d.ts +85 -4
- package/dist/components/ui/hover-card.d.ts.map +1 -1
- package/dist/components/ui/hover-card.js +52 -10
- package/dist/components/ui/hover-card.js.map +1 -1
- package/dist/components/ui/hover-card.module.js +8 -0
- package/dist/components/ui/hover-card.module.js.map +1 -0
- package/dist/components/ui/hover-card_module.css +23 -0
- package/dist/components/ui/hover-card_module.css.map +1 -0
- package/dist/components/ui/input-group.d.ts +132 -13
- package/dist/components/ui/input-group.d.ts.map +1 -1
- package/dist/components/ui/input-group.js +62 -66
- package/dist/components/ui/input-group.js.map +1 -1
- package/dist/components/ui/input-group.module.js +20 -0
- package/dist/components/ui/input-group.module.js.map +1 -0
- package/dist/components/ui/input-group_module.css +150 -0
- package/dist/components/ui/input-group_module.css.map +1 -0
- package/dist/components/ui/input-otp.d.ts +110 -30
- package/dist/components/ui/input-otp.d.ts.map +1 -1
- package/dist/components/ui/input-otp.js +24 -15
- package/dist/components/ui/input-otp.js.map +1 -1
- package/dist/components/ui/input-otp.module.js +17 -0
- package/dist/components/ui/input-otp.module.js.map +1 -0
- package/dist/components/ui/input-otp_module.css +89 -0
- package/dist/components/ui/input-otp_module.css.map +1 -0
- package/dist/components/ui/input.d.ts +31 -1
- package/dist/components/ui/input.d.ts.map +1 -1
- package/dist/components/ui/input.js +21 -8
- package/dist/components/ui/input.js.map +1 -1
- package/dist/components/ui/input.module.js +7 -0
- package/dist/components/ui/input.module.js.map +1 -0
- package/dist/components/ui/input_module.css +40 -0
- package/dist/components/ui/input_module.css.map +1 -0
- package/dist/components/ui/item.d.ts +221 -19
- package/dist/components/ui/item.d.ts.map +1 -1
- package/dist/components/ui/item.js +66 -90
- package/dist/components/ui/item.js.map +1 -1
- package/dist/components/ui/item.module.js +22 -0
- package/dist/components/ui/item.module.js.map +1 -0
- package/dist/components/ui/item_module.css +143 -0
- package/dist/components/ui/item_module.css.map +1 -0
- package/dist/components/ui/kbd.d.ts +43 -2
- package/dist/components/ui/kbd.d.ts.map +1 -1
- package/dist/components/ui/kbd.js +12 -12
- package/dist/components/ui/kbd.js.map +1 -1
- package/dist/components/ui/kbd.module.js +8 -0
- package/dist/components/ui/kbd.module.js.map +1 -0
- package/dist/components/ui/kbd_module.css +35 -0
- package/dist/components/ui/kbd_module.css.map +1 -0
- package/dist/components/ui/label.d.ts +30 -3
- package/dist/components/ui/label.d.ts.map +1 -1
- package/dist/components/ui/label.js +7 -8
- package/dist/components/ui/label.js.map +1 -1
- package/dist/components/ui/label.module.js +7 -0
- package/dist/components/ui/label.module.js.map +1 -0
- package/dist/components/ui/label_module.css +17 -0
- package/dist/components/ui/label_module.css.map +1 -0
- package/dist/components/ui/list-skeleton.js +35 -0
- package/dist/components/ui/list-skeleton.js.map +1 -0
- package/dist/components/ui/list-skeleton.module.js +12 -0
- package/dist/components/ui/list-skeleton.module.js.map +1 -0
- package/dist/components/ui/list-skeleton_module.css +39 -0
- package/dist/components/ui/list-skeleton_module.css.map +1 -0
- package/dist/components/ui/loading-overlay.js +21 -0
- package/dist/components/ui/loading-overlay.js.map +1 -0
- package/dist/components/ui/loading-overlay.module.js +9 -0
- package/dist/components/ui/loading-overlay.module.js.map +1 -0
- package/dist/components/ui/loading-overlay_module.css +22 -0
- package/dist/components/ui/loading-overlay_module.css.map +1 -0
- package/dist/components/ui/menubar.d.ts +420 -22
- package/dist/components/ui/menubar.d.ts.map +1 -1
- package/dist/components/ui/menubar.js +199 -100
- package/dist/components/ui/menubar.js.map +1 -1
- package/dist/components/ui/menubar.module.js +21 -0
- package/dist/components/ui/menubar.module.js.map +1 -0
- package/dist/components/ui/menubar_module.css +145 -0
- package/dist/components/ui/menubar_module.css.map +1 -0
- package/dist/components/ui/meter.d.ts +85 -0
- package/dist/components/ui/meter.d.ts.map +1 -0
- package/dist/components/ui/meter.js +75 -0
- package/dist/components/ui/meter.js.map +1 -0
- package/dist/components/ui/meter.module.js +10 -0
- package/dist/components/ui/meter.module.js.map +1 -0
- package/dist/components/ui/meter_module.css +31 -0
- package/dist/components/ui/meter_module.css.map +1 -0
- package/dist/components/ui/navigation-menu.d.ts +233 -11
- package/dist/components/ui/navigation-menu.d.ts.map +1 -1
- package/dist/components/ui/navigation-menu.js +138 -49
- package/dist/components/ui/navigation-menu.js.map +1 -1
- package/dist/components/ui/navigation-menu.module.js +18 -0
- package/dist/components/ui/navigation-menu.module.js.map +1 -0
- package/dist/components/ui/navigation-menu_module.css +112 -0
- package/dist/components/ui/navigation-menu_module.css.map +1 -0
- package/dist/components/ui/number-field.d.ts +138 -0
- package/dist/components/ui/number-field.d.ts.map +1 -0
- package/dist/components/ui/number-field.js +111 -0
- package/dist/components/ui/number-field.js.map +1 -0
- package/dist/components/ui/number-field.module.js +15 -0
- package/dist/components/ui/number-field.module.js.map +1 -0
- package/dist/components/ui/number-field_module.css +125 -0
- package/dist/components/ui/number-field_module.css.map +1 -0
- package/dist/components/ui/pagination.d.ts +150 -24
- package/dist/components/ui/pagination.d.ts.map +1 -1
- package/dist/components/ui/pagination.js +41 -38
- package/dist/components/ui/pagination.js.map +1 -1
- package/dist/components/ui/pagination.module.js +14 -0
- package/dist/components/ui/pagination.module.js.map +1 -0
- package/dist/components/ui/pagination_module.css +66 -0
- package/dist/components/ui/pagination_module.css.map +1 -0
- package/dist/components/ui/popover.d.ts +133 -5
- package/dist/components/ui/popover.d.ts.map +1 -1
- package/dist/components/ui/popover.js +68 -14
- package/dist/components/ui/popover.js.map +1 -1
- package/dist/components/ui/popover.module.js +9 -0
- package/dist/components/ui/popover.module.js.map +1 -0
- package/dist/components/ui/popover_module.css +28 -0
- package/dist/components/ui/popover_module.css.map +1 -0
- package/dist/components/ui/progress.d.ts +31 -2
- package/dist/components/ui/progress.d.ts.map +1 -1
- package/dist/components/ui/progress.js +22 -13
- package/dist/components/ui/progress.js.map +1 -1
- package/dist/components/ui/progress.module.js +8 -0
- package/dist/components/ui/progress.module.js.map +1 -0
- package/dist/components/ui/progress_module.css +20 -0
- package/dist/components/ui/progress_module.css.map +1 -0
- package/dist/components/ui/radio-group.d.ts +42 -3
- package/dist/components/ui/radio-group.d.ts.map +1 -1
- package/dist/components/ui/radio-group.js +38 -16
- package/dist/components/ui/radio-group.js.map +1 -1
- package/dist/components/ui/radio-group.module.js +10 -0
- package/dist/components/ui/radio-group.module.js.map +1 -0
- package/dist/components/ui/radio-group_module.css +44 -0
- package/dist/components/ui/radio-group_module.css.map +1 -0
- package/dist/components/ui/resizable.d.ts +78 -5
- package/dist/components/ui/resizable.d.ts.map +1 -1
- package/dist/components/ui/resizable.js +23 -13
- package/dist/components/ui/resizable.js.map +1 -1
- package/dist/components/ui/resizable.module.js +10 -0
- package/dist/components/ui/resizable.module.js.map +1 -0
- package/dist/components/ui/resizable_module.css +70 -0
- package/dist/components/ui/resizable_module.css.map +1 -0
- package/dist/components/ui/ripple-button.d.ts +23 -2
- package/dist/components/ui/ripple-button.d.ts.map +1 -1
- package/dist/components/ui/ripple-button.js +26 -11
- package/dist/components/ui/ripple-button.js.map +1 -1
- package/dist/components/ui/ripple-button.module.js +9 -0
- package/dist/components/ui/ripple-button.module.js.map +1 -0
- package/dist/components/ui/ripple-button_module.css +38 -0
- package/dist/components/ui/ripple-button_module.css.map +1 -0
- package/dist/components/ui/scratcher.d.ts +26 -3
- package/dist/components/ui/scratcher.d.ts.map +1 -1
- package/dist/components/ui/scratcher.js +89 -90
- package/dist/components/ui/scratcher.js.map +1 -1
- package/dist/components/ui/scratcher.module.js +8 -0
- package/dist/components/ui/scratcher.module.js.map +1 -0
- package/dist/components/ui/scratcher_module.css +13 -0
- package/dist/components/ui/scratcher_module.css.map +1 -0
- package/dist/components/ui/scroll-area.d.ts +44 -3
- package/dist/components/ui/scroll-area.d.ts.map +1 -1
- package/dist/components/ui/scroll-area.js +44 -19
- package/dist/components/ui/scroll-area.js.map +1 -1
- package/dist/components/ui/scroll-area.module.js +14 -0
- package/dist/components/ui/scroll-area.module.js.map +1 -0
- package/dist/components/ui/scroll-area_module.css +51 -0
- package/dist/components/ui/scroll-area_module.css.map +1 -0
- package/dist/components/ui/select.d.ts +269 -11
- package/dist/components/ui/select.d.ts.map +1 -1
- package/dist/components/ui/select.js +152 -67
- package/dist/components/ui/select.js.map +1 -1
- package/dist/components/ui/select.module.js +20 -0
- package/dist/components/ui/select.module.js.map +1 -0
- package/dist/components/ui/select_module.css +134 -0
- package/dist/components/ui/select_module.css.map +1 -0
- package/dist/components/ui/separator.d.ts +33 -2
- package/dist/components/ui/separator.d.ts.map +1 -1
- package/dist/components/ui/separator.js +20 -9
- package/dist/components/ui/separator.js.map +1 -1
- package/dist/components/ui/separator.module.js +9 -0
- package/dist/components/ui/separator.module.js.map +1 -0
- package/dist/components/ui/separator_module.css +17 -0
- package/dist/components/ui/separator_module.css.map +1 -0
- package/dist/components/ui/sheet.d.ts +297 -23
- package/dist/components/ui/sheet.d.ts.map +1 -1
- package/dist/components/ui/sheet.js +121 -63
- package/dist/components/ui/sheet.js.map +1 -1
- package/dist/components/ui/sheet.module.js +18 -0
- package/dist/components/ui/sheet.module.js.map +1 -0
- package/dist/components/ui/sheet_module.css +136 -0
- package/dist/components/ui/sheet_module.css.map +1 -0
- package/dist/components/ui/sidebar.d.ts +491 -23
- package/dist/components/ui/sidebar.d.ts.map +1 -1
- package/dist/components/ui/sidebar.js +214 -143
- package/dist/components/ui/sidebar.js.map +1 -1
- package/dist/components/ui/sidebar.module.js +50 -0
- package/dist/components/ui/sidebar.module.js.map +1 -0
- package/dist/components/ui/sidebar_module.css +569 -0
- package/dist/components/ui/sidebar_module.css.map +1 -0
- package/dist/components/ui/skeleton.d.ts +30 -1
- package/dist/components/ui/skeleton.d.ts.map +1 -1
- package/dist/components/ui/skeleton.js +7 -7
- package/dist/components/ui/skeleton.js.map +1 -1
- package/dist/components/ui/skeleton.module.js +8 -0
- package/dist/components/ui/skeleton.module.js.map +1 -0
- package/dist/components/ui/skeleton_module.css +18 -0
- package/dist/components/ui/skeleton_module.css.map +1 -0
- package/dist/components/ui/slider.d.ts +48 -2
- package/dist/components/ui/slider.d.ts.map +1 -1
- package/dist/components/ui/slider.js +44 -17
- package/dist/components/ui/slider.js.map +1 -1
- package/dist/components/ui/slider.module.js +11 -0
- package/dist/components/ui/slider.module.js.map +1 -0
- package/dist/components/ui/slider_module.css +55 -0
- package/dist/components/ui/slider_module.css.map +1 -0
- package/dist/components/ui/sonner.d.ts +138 -4
- package/dist/components/ui/sonner.d.ts.map +1 -1
- package/dist/components/ui/sonner.js +450 -17
- package/dist/components/ui/sonner.js.map +1 -1
- package/dist/components/ui/sonner.module.js +34 -0
- package/dist/components/ui/sonner.module.js.map +1 -0
- package/dist/components/ui/sonner_module.css +233 -0
- package/dist/components/ui/sonner_module.css.map +1 -0
- package/dist/components/ui/spinner.d.ts +20 -1
- package/dist/components/ui/spinner.d.ts.map +1 -1
- package/dist/components/ui/spinner.js +29 -11
- package/dist/components/ui/spinner.js.map +1 -1
- package/dist/components/ui/spinner.module.js +10 -0
- package/dist/components/ui/spinner.module.js.map +1 -0
- package/dist/components/ui/spinner_module.css +28 -0
- package/dist/components/ui/spinner_module.css.map +1 -0
- package/dist/components/ui/stepper.d.ts +48 -0
- package/dist/components/ui/stepper.d.ts.map +1 -0
- package/dist/components/ui/stepper.js +41 -0
- package/dist/components/ui/stepper.js.map +1 -0
- package/dist/components/ui/stepper.module.js +12 -0
- package/dist/components/ui/stepper.module.js.map +1 -0
- package/dist/components/ui/stepper_module.css +75 -0
- package/dist/components/ui/stepper_module.css.map +1 -0
- package/dist/components/ui/switch.d.ts +29 -2
- package/dist/components/ui/switch.d.ts.map +1 -1
- package/dist/components/ui/switch.js +21 -9
- package/dist/components/ui/switch.js.map +1 -1
- package/dist/components/ui/switch.module.js +8 -0
- package/dist/components/ui/switch.module.js.map +1 -0
- package/dist/components/ui/switch_module.css +45 -0
- package/dist/components/ui/switch_module.css.map +1 -0
- package/dist/components/ui/table-skeleton.js +34 -0
- package/dist/components/ui/table-skeleton.js.map +1 -0
- package/dist/components/ui/table-skeleton.module.js +11 -0
- package/dist/components/ui/table-skeleton.module.js.map +1 -0
- package/dist/components/ui/table-skeleton_module.css +32 -0
- package/dist/components/ui/table-skeleton_module.css.map +1 -0
- package/dist/components/ui/table.d.ts +170 -8
- package/dist/components/ui/table.d.ts.map +1 -1
- package/dist/components/ui/table.js +17 -17
- package/dist/components/ui/table.js.map +1 -1
- package/dist/components/ui/table.module.js +15 -0
- package/dist/components/ui/table.module.js.map +1 -0
- package/dist/components/ui/table_module.css +71 -0
- package/dist/components/ui/table_module.css.map +1 -0
- package/dist/components/ui/tabs.d.ts +114 -5
- package/dist/components/ui/tabs.d.ts.map +1 -1
- package/dist/components/ui/tabs.js +71 -20
- package/dist/components/ui/tabs.js.map +1 -1
- package/dist/components/ui/tabs.module.js +10 -0
- package/dist/components/ui/tabs.module.js.map +1 -0
- package/dist/components/ui/tabs_module.css +89 -0
- package/dist/components/ui/tabs_module.css.map +1 -0
- package/dist/components/ui/textarea.d.ts +24 -1
- package/dist/components/ui/textarea.d.ts.map +1 -1
- package/dist/components/ui/textarea.js +2 -2
- package/dist/components/ui/textarea.js.map +1 -1
- package/dist/components/ui/textarea.module.js +7 -0
- package/dist/components/ui/textarea.module.js.map +1 -0
- package/dist/components/ui/textarea_module.css +33 -0
- package/dist/components/ui/textarea_module.css.map +1 -0
- package/dist/components/ui/timeline.d.ts +111 -0
- package/dist/components/ui/timeline.d.ts.map +1 -0
- package/dist/components/ui/timeline.js +34 -0
- package/dist/components/ui/timeline.js.map +1 -0
- package/dist/components/ui/timeline.module.js +10 -0
- package/dist/components/ui/timeline.module.js.map +1 -0
- package/dist/components/ui/timeline_module.css +47 -0
- package/dist/components/ui/timeline_module.css.map +1 -0
- package/dist/components/ui/toggle-group.d.ts +75 -10
- package/dist/components/ui/toggle-group.d.ts.map +1 -1
- package/dist/components/ui/toggle-group.js +32 -21
- package/dist/components/ui/toggle-group.js.map +1 -1
- package/dist/components/ui/toggle-group.module.js +7 -0
- package/dist/components/ui/toggle-group.module.js.map +1 -0
- package/dist/components/ui/toggle-group_module.css +8 -0
- package/dist/components/ui/toggle-group_module.css.map +1 -0
- package/dist/components/ui/toggle.d.ts +60 -11
- package/dist/components/ui/toggle.d.ts.map +1 -1
- package/dist/components/ui/toggle.js +29 -29
- package/dist/components/ui/toggle.js.map +1 -1
- package/dist/components/ui/toggle.module.js +12 -0
- package/dist/components/ui/toggle.module.js.map +1 -0
- package/dist/components/ui/toggle_module.css +62 -0
- package/dist/components/ui/toggle_module.css.map +1 -0
- package/dist/components/ui/toolbar.d.ts +107 -0
- package/dist/components/ui/toolbar.d.ts.map +1 -0
- package/dist/components/ui/toolbar.js +90 -0
- package/dist/components/ui/toolbar.js.map +1 -0
- package/dist/components/ui/toolbar.module.js +12 -0
- package/dist/components/ui/toolbar.module.js.map +1 -0
- package/dist/components/ui/toolbar_module.css +115 -0
- package/dist/components/ui/toolbar_module.css.map +1 -0
- package/dist/components/ui/tooltip.d.ts +119 -5
- package/dist/components/ui/tooltip.d.ts.map +1 -1
- package/dist/components/ui/tooltip.js +48 -13
- package/dist/components/ui/tooltip.js.map +1 -1
- package/dist/components/ui/tooltip.module.js +9 -0
- package/dist/components/ui/tooltip.module.js.map +1 -0
- package/dist/components/ui/tooltip_module.css +35 -0
- package/dist/components/ui/tooltip_module.css.map +1 -0
- package/dist/components/ui/typewriter.d.ts +48 -13
- package/dist/components/ui/typewriter.d.ts.map +1 -1
- package/dist/components/ui/typewriter.js +46 -49
- package/dist/components/ui/typewriter.js.map +1 -1
- package/dist/components/ui/typewriter.module.js +16 -0
- package/dist/components/ui/typewriter.module.js.map +1 -0
- package/dist/components/ui/typewriter_module.css +102 -0
- package/dist/components/ui/typewriter_module.css.map +1 -0
- package/dist/components/ui/visually-hidden.d.ts +38 -0
- package/dist/components/ui/visually-hidden.d.ts.map +1 -0
- package/dist/components/ui/visually-hidden.js +13 -0
- package/dist/components/ui/visually-hidden.js.map +1 -0
- package/dist/components/ui/visually-hidden.module.js +7 -0
- package/dist/components/ui/visually-hidden.module.js.map +1 -0
- package/dist/components/ui/visually-hidden_module.css +14 -0
- package/dist/components/ui/visually-hidden_module.css.map +1 -0
- package/dist/hooks/useAnnounce.js +46 -0
- package/dist/hooks/useAnnounce.js.map +1 -0
- package/dist/hooks/useBreakpoint.d.ts +17 -0
- package/dist/hooks/useBreakpoint.d.ts.map +1 -0
- package/dist/hooks/useBreakpoint.js +16 -0
- package/dist/hooks/useBreakpoint.js.map +1 -0
- package/dist/hooks/useClipboard.d.ts +77 -0
- package/dist/hooks/useClipboard.d.ts.map +1 -0
- package/dist/hooks/useClipboard.js +42 -0
- package/dist/hooks/useClipboard.js.map +1 -0
- package/dist/hooks/useColorScheme.d.ts +14 -0
- package/dist/hooks/useColorScheme.d.ts.map +1 -0
- package/dist/hooks/useColorScheme.js +9 -0
- package/dist/hooks/useColorScheme.js.map +1 -0
- package/dist/hooks/useControllableState.d.ts +54 -0
- package/dist/hooks/useControllableState.d.ts.map +1 -0
- package/dist/hooks/useControllableState.js +29 -0
- package/dist/hooks/useControllableState.js.map +1 -0
- package/dist/hooks/useDebounce.d.ts +33 -0
- package/dist/hooks/useDebounce.d.ts.map +1 -0
- package/dist/hooks/useDebounce.js +20 -0
- package/dist/hooks/useDebounce.js.map +1 -0
- package/dist/hooks/useEventCallback.d.ts +34 -0
- package/dist/hooks/useEventCallback.d.ts.map +1 -0
- package/dist/hooks/useEventCallback.js +12 -0
- package/dist/hooks/useEventCallback.js.map +1 -0
- package/dist/hooks/useFocusManager.js +51 -0
- package/dist/hooks/useFocusManager.js.map +1 -0
- package/dist/hooks/useFocusVisible.d.ts +50 -0
- package/dist/hooks/useFocusVisible.d.ts.map +1 -0
- package/dist/hooks/useFocusVisible.js +35 -0
- package/dist/hooks/useFocusVisible.js.map +1 -0
- package/dist/hooks/useId.d.ts +30 -0
- package/dist/hooks/useId.d.ts.map +1 -0
- package/dist/hooks/useId.js +9 -0
- package/dist/hooks/useId.js.map +1 -0
- package/dist/hooks/useIntersectionObserver.d.ts +51 -0
- package/dist/hooks/useIntersectionObserver.d.ts.map +1 -0
- package/dist/hooks/useIntersectionObserver.js +25 -0
- package/dist/hooks/useIntersectionObserver.js.map +1 -0
- package/dist/hooks/useInterval.d.ts +55 -0
- package/dist/hooks/useInterval.d.ts.map +1 -0
- package/dist/hooks/useInterval.js +24 -0
- package/dist/hooks/useInterval.js.map +1 -0
- package/dist/hooks/useIsMobile.d.ts +5 -11
- package/dist/hooks/useIsMobile.d.ts.map +1 -1
- package/dist/hooks/useIsMobile.js +2 -13
- package/dist/hooks/useIsMobile.js.map +1 -1
- package/dist/hooks/useLocalStorage.d.ts +43 -0
- package/dist/hooks/useLocalStorage.d.ts.map +1 -0
- package/dist/hooks/useLocalStorage.js +53 -0
- package/dist/hooks/useLocalStorage.js.map +1 -0
- package/dist/hooks/useMediaQuery.d.ts +14 -0
- package/dist/hooks/useMediaQuery.d.ts.map +1 -0
- package/dist/hooks/useMediaQuery.js +20 -0
- package/dist/hooks/useMediaQuery.js.map +1 -0
- package/dist/hooks/useMergedRefs.d.ts +27 -0
- package/dist/hooks/useMergedRefs.d.ts.map +1 -0
- package/dist/hooks/useMergedRefs.js +11 -0
- package/dist/hooks/useMergedRefs.js.map +1 -0
- package/dist/hooks/useOnClickOutside.d.ts +32 -0
- package/dist/hooks/useOnClickOutside.d.ts.map +1 -0
- package/dist/hooks/useOnClickOutside.js +23 -0
- package/dist/hooks/useOnClickOutside.js.map +1 -0
- package/dist/hooks/usePrefersContrast.d.ts +19 -0
- package/dist/hooks/usePrefersContrast.d.ts.map +1 -0
- package/dist/hooks/usePrefersContrast.js +8 -0
- package/dist/hooks/usePrefersContrast.js.map +1 -0
- package/dist/hooks/usePrevious.d.ts +33 -0
- package/dist/hooks/usePrevious.d.ts.map +1 -0
- package/dist/hooks/usePrevious.js +14 -0
- package/dist/hooks/usePrevious.js.map +1 -0
- package/dist/hooks/useReducedMotion.d.ts +19 -0
- package/dist/hooks/useReducedMotion.d.ts.map +1 -0
- package/dist/hooks/useReducedMotion.js +2 -0
- package/dist/hooks/useThrottle.d.ts +37 -0
- package/dist/hooks/useThrottle.d.ts.map +1 -0
- package/dist/hooks/useThrottle.js +34 -0
- package/dist/hooks/useThrottle.js.map +1 -0
- package/dist/hooks/useTimeout.d.ts +28 -0
- package/dist/hooks/useTimeout.d.ts.map +1 -0
- package/dist/hooks/useTimeout.js +24 -0
- package/dist/hooks/useTimeout.js.map +1 -0
- package/dist/index.css +104 -5363
- package/dist/index.css.map +1 -1
- package/dist/index.d.ts +52 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +103 -72
- package/dist/lib/utilities.d.ts +5 -5
- package/dist/lib/utilities.d.ts.map +1 -1
- package/dist/lib/utilities.js +1 -2
- package/dist/lib/utilities.js.map +1 -1
- package/dist/motion/Collapse.js +19 -0
- package/dist/motion/Collapse.js.map +1 -0
- package/dist/motion/Collapse.module.js +8 -0
- package/dist/motion/Collapse.module.js.map +1 -0
- package/dist/motion/Collapse_module.css +25 -0
- package/dist/motion/Collapse_module.css.map +1 -0
- package/dist/motion/Presence.js +14 -0
- package/dist/motion/Presence.js.map +1 -0
- package/dist/motion/index.js +5 -0
- package/dist/motion/presets.js +117 -0
- package/dist/motion/presets.js.map +1 -0
- package/dist/motion/tokens.js +41 -0
- package/dist/motion/tokens.js.map +1 -0
- package/dist/rslib-runtime.js +39 -0
- package/dist/rslib-runtime.js.map +1 -0
- package/package.json +233 -67
- package/src/components/ui/accordion.module.css +70 -0
- package/src/components/ui/accordion.tsx +278 -44
- package/src/components/ui/alert-dialog.module.css +87 -0
- package/src/components/ui/alert-dialog.tsx +481 -99
- package/src/components/ui/alert.module.css +57 -0
- package/src/components/ui/alert.tsx +136 -43
- package/src/components/ui/aspect-ratio.module.css +7 -0
- package/src/components/ui/aspect-ratio.tsx +38 -3
- package/src/components/ui/async-boundary.tsx +56 -0
- package/src/components/ui/avatar.module.css +31 -0
- package/src/components/ui/avatar.tsx +149 -36
- package/src/components/ui/background-beams.module.css +20 -0
- package/src/components/ui/background-beams.tsx +173 -134
- package/src/components/ui/badge.module.css +60 -0
- package/src/components/ui/badge.tsx +100 -32
- package/src/components/ui/breadcrumb.module.css +87 -0
- package/src/components/ui/breadcrumb.tsx +256 -74
- package/src/components/ui/bubble-background.module.css +97 -0
- package/src/components/ui/bubble-background.tsx +92 -52
- package/src/components/ui/button-group.module.css +76 -0
- package/src/components/ui/button-group.tsx +135 -46
- package/src/components/ui/button.module.css +138 -0
- package/src/components/ui/button.tsx +159 -41
- package/src/components/ui/calendar.module.css +250 -0
- package/src/components/ui/calendar.tsx +135 -111
- package/src/components/ui/card-skeleton.module.css +50 -0
- package/src/components/ui/card-skeleton.tsx +69 -0
- package/src/components/ui/card.module.css +41 -0
- package/src/components/ui/card.tsx +175 -22
- package/src/components/ui/carousel.module.css +80 -0
- package/src/components/ui/carousel.tsx +186 -43
- package/src/components/ui/chart.module.css +164 -0
- package/src/components/ui/chart.tsx +447 -102
- package/src/components/ui/checkbox-group.module.css +8 -0
- package/src/components/ui/checkbox-group.tsx +53 -0
- package/src/components/ui/checkbox.module.css +43 -0
- package/src/components/ui/checkbox.tsx +81 -19
- package/src/components/ui/collapsible.module.css +24 -0
- package/src/components/ui/collapsible.tsx +140 -3
- package/src/components/ui/combobox.module.css +158 -0
- package/src/components/ui/combobox.tsx +569 -0
- package/src/components/ui/command.module.css +193 -0
- package/src/components/ui/command.tsx +893 -114
- package/src/components/ui/context-menu.module.css +113 -0
- package/src/components/ui/context-menu.tsx +619 -157
- package/src/components/ui/copy-button.module.css +34 -0
- package/src/components/ui/copy-button.tsx +116 -0
- package/src/components/ui/counting-number.module.css +4 -0
- package/src/components/ui/counting-number.tsx +69 -31
- package/src/components/ui/dialog.module.css +113 -0
- package/src/components/ui/dialog.tsx +427 -81
- package/src/components/ui/dot-background.module.css +12 -0
- package/src/components/ui/dot-background.tsx +134 -126
- package/src/components/ui/drawer.module.css +85 -0
- package/src/components/ui/drawer.tsx +410 -80
- package/src/components/ui/dropdown-menu.module.css +113 -0
- package/src/components/ui/dropdown-menu.tsx +619 -159
- package/src/components/ui/dropdrawer.module.css +322 -0
- package/src/components/ui/dropdrawer.tsx +870 -400
- package/src/components/ui/empty.module.css +84 -0
- package/src/components/ui/empty.tsx +176 -52
- package/src/components/ui/error-boundary.module.css +36 -0
- package/src/components/ui/error-boundary.tsx +127 -0
- package/src/components/ui/field.module.css +179 -0
- package/src/components/ui/field.tsx +345 -139
- package/src/components/ui/fireworks-background.module.css +13 -0
- package/src/components/ui/fireworks-background.tsx +89 -51
- package/src/components/ui/flip-button.module.css +44 -0
- package/src/components/ui/flip-button.tsx +59 -28
- package/src/components/ui/focus-scope.module.css +3 -0
- package/src/components/ui/focus-scope.tsx +160 -0
- package/src/components/ui/form-skeleton.module.css +28 -0
- package/src/components/ui/form-skeleton.tsx +62 -0
- package/src/components/ui/form.module.css +20 -0
- package/src/components/ui/form.tsx +244 -33
- package/src/components/ui/gradient-background.module.css +6 -0
- package/src/components/ui/gradient-background.tsx +27 -5
- package/src/components/ui/gradient-text.module.css +23 -0
- package/src/components/ui/gradient-text.tsx +36 -9
- package/src/components/ui/highlight-text.module.css +14 -0
- package/src/components/ui/highlight-text.tsx +37 -15
- package/src/components/ui/hole-background.module.css +84 -0
- package/src/components/ui/hole-background.tsx +290 -162
- package/src/components/ui/hover-card.module.css +21 -0
- package/src/components/ui/hover-card.tsx +142 -21
- package/src/components/ui/input-group.module.css +148 -0
- package/src/components/ui/input-group.tsx +222 -98
- package/src/components/ui/input-otp.module.css +92 -0
- package/src/components/ui/input-otp.tsx +159 -33
- package/src/components/ui/input.module.css +37 -0
- package/src/components/ui/input.tsx +56 -14
- package/src/components/ui/item.module.css +143 -0
- package/src/components/ui/item.tsx +331 -104
- package/src/components/ui/kbd.module.css +31 -0
- package/src/components/ui/kbd.tsx +60 -17
- package/src/components/ui/label.module.css +13 -0
- package/src/components/ui/label.tsx +38 -14
- package/src/components/ui/list-skeleton.module.css +35 -0
- package/src/components/ui/list-skeleton.tsx +70 -0
- package/src/components/ui/loading-overlay.module.css +19 -0
- package/src/components/ui/loading-overlay.tsx +72 -0
- package/src/components/ui/menubar.module.css +144 -0
- package/src/components/ui/menubar.tsx +604 -192
- package/src/components/ui/meter.module.css +32 -0
- package/src/components/ui/meter.tsx +169 -0
- package/src/components/ui/navigation-menu.module.css +110 -0
- package/src/components/ui/navigation-menu.tsx +381 -99
- package/src/components/ui/number-field.module.css +126 -0
- package/src/components/ui/number-field.tsx +247 -0
- package/src/components/ui/pagination.module.css +64 -0
- package/src/components/ui/pagination.tsx +250 -72
- package/src/components/ui/popover.module.css +26 -0
- package/src/components/ui/popover.tsx +207 -25
- package/src/components/ui/progress.module.css +15 -0
- package/src/components/ui/progress.tsx +54 -16
- package/src/components/ui/radio-group.module.css +41 -0
- package/src/components/ui/radio-group.tsx +88 -34
- package/src/components/ui/resizable.module.css +67 -0
- package/src/components/ui/resizable.tsx +106 -26
- package/src/components/ui/ripple-button.module.css +35 -0
- package/src/components/ui/ripple-button.tsx +55 -21
- package/src/components/ui/scratcher.module.css +9 -0
- package/src/components/ui/scratcher.tsx +134 -108
- package/src/components/ui/scroll-area.module.css +47 -0
- package/src/components/ui/scroll-area.tsx +93 -34
- package/src/components/ui/select.module.css +131 -0
- package/src/components/ui/select.tsx +435 -124
- package/src/components/ui/separator.module.css +14 -0
- package/src/components/ui/separator.tsx +60 -18
- package/src/components/ui/sheet.module.css +138 -0
- package/src/components/ui/sheet.tsx +427 -95
- package/src/components/ui/sidebar.module.css +594 -0
- package/src/components/ui/sidebar.tsx +900 -425
- package/src/components/ui/skeleton.module.css +14 -0
- package/src/components/ui/skeleton.tsx +39 -9
- package/src/components/ui/slider.module.css +48 -0
- package/src/components/ui/slider.tsx +89 -16
- package/src/components/ui/sonner.module.css +246 -0
- package/src/components/ui/sonner.tsx +777 -25
- package/src/components/ui/spinner.module.css +25 -0
- package/src/components/ui/spinner.tsx +51 -12
- package/src/components/ui/stepper.module.css +72 -0
- package/src/components/ui/stepper.tsx +95 -0
- package/src/components/ui/switch.module.css +42 -0
- package/src/components/ui/switch.tsx +53 -20
- package/src/components/ui/table-skeleton.module.css +29 -0
- package/src/components/ui/table-skeleton.tsx +79 -0
- package/src/components/ui/table.module.css +66 -0
- package/src/components/ui/table.tsx +235 -61
- package/src/components/ui/tabs.module.css +89 -0
- package/src/components/ui/tabs.tsx +192 -45
- package/src/components/ui/textarea.module.css +30 -0
- package/src/components/ui/textarea.tsx +30 -10
- package/src/components/ui/timeline.module.css +43 -0
- package/src/components/ui/timeline.tsx +153 -0
- package/src/components/ui/toggle-group.module.css +5 -0
- package/src/components/ui/toggle-group.tsx +115 -32
- package/src/components/ui/toggle.module.css +57 -0
- package/src/components/ui/toggle.tsx +89 -33
- package/src/components/ui/toolbar.module.css +112 -0
- package/src/components/ui/toolbar.tsx +209 -0
- package/src/components/ui/tooltip.module.css +39 -0
- package/src/components/ui/tooltip.tsx +181 -24
- package/src/components/ui/typewriter.module.css +101 -0
- package/src/components/ui/typewriter.tsx +130 -128
- package/src/components/ui/visually-hidden.module.css +11 -0
- package/src/components/ui/visually-hidden.tsx +50 -0
- package/src/css-modules.d.ts +9 -0
- package/src/hooks/useAnnounce.tsx +73 -0
- package/src/hooks/useBreakpoint.tsx +41 -0
- package/src/hooks/useClipboard.tsx +137 -0
- package/src/hooks/useColorScheme.tsx +23 -0
- package/src/hooks/useControllableState.tsx +81 -0
- package/src/hooks/useDebounce.tsx +50 -0
- package/src/hooks/useEventCallback.tsx +47 -0
- package/src/hooks/useFocusManager.tsx +89 -0
- package/src/hooks/useFocusVisible.tsx +88 -0
- package/src/hooks/useId.tsx +36 -0
- package/src/hooks/useIntersectionObserver.tsx +81 -0
- package/src/hooks/useInterval.tsx +80 -0
- package/src/hooks/useIsMobile.tsx +7 -28
- package/src/hooks/useLocalStorage.tsx +111 -0
- package/src/hooks/useMediaQuery.tsx +34 -0
- package/src/hooks/useMergedRefs.tsx +48 -0
- package/src/hooks/useOnClickOutside.tsx +55 -0
- package/src/hooks/usePrefersContrast.tsx +24 -0
- package/src/hooks/usePrevious.tsx +44 -0
- package/src/hooks/useReducedMotion.tsx +20 -0
- package/src/hooks/useThrottle.tsx +78 -0
- package/src/hooks/useTimeout.tsx +51 -0
- package/src/index.css +127 -65
- package/src/index.ts +219 -18
- package/src/lib/utilities.ts +8 -7
- package/src/motion/Collapse.module.css +22 -0
- package/src/motion/Collapse.tsx +52 -0
- package/src/motion/Presence.tsx +44 -0
- package/src/motion/index.ts +13 -0
- package/src/motion/presets.ts +77 -0
- package/src/motion/tokens.ts +37 -0
- package/src/stories/DesignPrinciples.mdx +48 -0
- package/src/stories/GettingStarted.mdx +92 -0
- package/src/stories/Welcome.mdx +44 -0
- package/src/hooks/useIsMobile.test.tsx +0 -96
- package/src/hooks/useWindowSize.test.tsx +0 -57
- package/src/index.test.ts +0 -537
- package/src/lib/color-conversion-utilities.test.ts +0 -225
- package/src/lib/utilities.test.ts +0 -37
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { Check, ChevronsUpDown } from "lucide-react";
|
|
4
|
+
import { createContext, forwardRef, useCallback, useContext, useEffect, useMemo, useReducer, useRef } from "react";
|
|
5
|
+
import { useControllableState } from "../../hooks/useControllableState.js";
|
|
6
|
+
import { cn } from "../../lib/utilities.js";
|
|
7
|
+
import { Button } from "./button.js";
|
|
8
|
+
import { Command, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator } from "./command.js";
|
|
9
|
+
import { Popover, PopoverContent, PopoverTrigger } from "./popover.js";
|
|
10
|
+
import combobox_module from "./combobox.module.js";
|
|
11
|
+
const ComboboxContext = /*#__PURE__*/ createContext(null);
|
|
12
|
+
function useComboboxContext(componentName) {
|
|
13
|
+
const context = useContext(ComboboxContext);
|
|
14
|
+
if (!context) throw new Error(`${componentName} must be used within Combobox.`);
|
|
15
|
+
return context;
|
|
16
|
+
}
|
|
17
|
+
function Combobox(props) {
|
|
18
|
+
const { value: controlledValue, defaultValue = "", onValueChange, open: controlledOpen, defaultOpen = false, onOpenChange, placeholder = "Select an item...", searchPlaceholder = "Search...", emptyMessage = "No items found.", disabled = false, className, children } = props;
|
|
19
|
+
const [value, setValue] = useControllableState({
|
|
20
|
+
controlled: controlledValue,
|
|
21
|
+
defaultValue,
|
|
22
|
+
onChange: onValueChange
|
|
23
|
+
});
|
|
24
|
+
const [open, setOpen] = useControllableState({
|
|
25
|
+
controlled: controlledOpen,
|
|
26
|
+
defaultValue: defaultOpen,
|
|
27
|
+
onChange: onOpenChange
|
|
28
|
+
});
|
|
29
|
+
const itemLabelsRef = useRef(new Map());
|
|
30
|
+
const registerItem = useCallback((itemValue, label)=>{
|
|
31
|
+
itemLabelsRef.current.set(itemValue, label);
|
|
32
|
+
}, []);
|
|
33
|
+
const unregisterItem = useCallback((itemValue)=>{
|
|
34
|
+
itemLabelsRef.current.delete(itemValue);
|
|
35
|
+
}, []);
|
|
36
|
+
const contextValue = useMemo(()=>({
|
|
37
|
+
value,
|
|
38
|
+
onValueChange: setValue,
|
|
39
|
+
open,
|
|
40
|
+
setOpen,
|
|
41
|
+
placeholder,
|
|
42
|
+
searchPlaceholder,
|
|
43
|
+
emptyMessage,
|
|
44
|
+
disabled,
|
|
45
|
+
itemLabels: itemLabelsRef.current,
|
|
46
|
+
registerItem,
|
|
47
|
+
unregisterItem
|
|
48
|
+
}), [
|
|
49
|
+
value,
|
|
50
|
+
setValue,
|
|
51
|
+
open,
|
|
52
|
+
setOpen,
|
|
53
|
+
placeholder,
|
|
54
|
+
searchPlaceholder,
|
|
55
|
+
emptyMessage,
|
|
56
|
+
disabled,
|
|
57
|
+
registerItem,
|
|
58
|
+
unregisterItem
|
|
59
|
+
]);
|
|
60
|
+
return /*#__PURE__*/ jsx(ComboboxContext.Provider, {
|
|
61
|
+
value: contextValue,
|
|
62
|
+
children: /*#__PURE__*/ jsx(Popover, {
|
|
63
|
+
open: open,
|
|
64
|
+
onOpenChange: setOpen,
|
|
65
|
+
children: /*#__PURE__*/ jsx("div", {
|
|
66
|
+
className: cn(combobox_module.combobox, className),
|
|
67
|
+
children: children
|
|
68
|
+
})
|
|
69
|
+
})
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
Combobox.displayName = "Combobox";
|
|
73
|
+
const ComboboxTrigger = /*#__PURE__*/ forwardRef((props, ref)=>{
|
|
74
|
+
const { className, children } = props;
|
|
75
|
+
const { open, setOpen, value, placeholder, disabled, itemLabels } = useComboboxContext("ComboboxTrigger");
|
|
76
|
+
const [, forceUpdate] = useReducer((x)=>x + 1, 0);
|
|
77
|
+
useEffect(()=>{
|
|
78
|
+
forceUpdate();
|
|
79
|
+
}, [
|
|
80
|
+
value
|
|
81
|
+
]);
|
|
82
|
+
const selectedLabel = itemLabels.get(value) || "";
|
|
83
|
+
return /*#__PURE__*/ jsx(PopoverTrigger, {
|
|
84
|
+
asChild: true,
|
|
85
|
+
children: /*#__PURE__*/ jsx(Button, {
|
|
86
|
+
ref: ref,
|
|
87
|
+
variant: "outline",
|
|
88
|
+
role: "combobox",
|
|
89
|
+
"aria-expanded": open,
|
|
90
|
+
disabled: disabled,
|
|
91
|
+
className: cn(combobox_module.trigger, className),
|
|
92
|
+
onClick: ()=>setOpen(!open),
|
|
93
|
+
children: children ?? /*#__PURE__*/ jsxs(Fragment, {
|
|
94
|
+
children: [
|
|
95
|
+
/*#__PURE__*/ jsx("span", {
|
|
96
|
+
className: cn(combobox_module.triggerValue, !selectedLabel && combobox_module.triggerPlaceholder),
|
|
97
|
+
children: selectedLabel || placeholder
|
|
98
|
+
}),
|
|
99
|
+
/*#__PURE__*/ jsx(ChevronsUpDown, {
|
|
100
|
+
className: combobox_module.triggerIcon
|
|
101
|
+
})
|
|
102
|
+
]
|
|
103
|
+
})
|
|
104
|
+
})
|
|
105
|
+
});
|
|
106
|
+
});
|
|
107
|
+
ComboboxTrigger.displayName = "ComboboxTrigger";
|
|
108
|
+
const ComboboxContent = /*#__PURE__*/ forwardRef((props, ref)=>{
|
|
109
|
+
const { className, children } = props;
|
|
110
|
+
const { searchPlaceholder } = useComboboxContext("ComboboxContent");
|
|
111
|
+
return /*#__PURE__*/ jsx(PopoverContent, {
|
|
112
|
+
ref: ref,
|
|
113
|
+
className: cn(combobox_module.content, className),
|
|
114
|
+
sideOffset: 4,
|
|
115
|
+
children: /*#__PURE__*/ jsxs(Command, {
|
|
116
|
+
className: combobox_module.command,
|
|
117
|
+
children: [
|
|
118
|
+
/*#__PURE__*/ jsx(CommandInput, {
|
|
119
|
+
placeholder: searchPlaceholder,
|
|
120
|
+
className: combobox_module.commandInput
|
|
121
|
+
}),
|
|
122
|
+
/*#__PURE__*/ jsxs(CommandList, {
|
|
123
|
+
className: combobox_module.commandList,
|
|
124
|
+
children: [
|
|
125
|
+
/*#__PURE__*/ jsx(ComboboxEmpty, {}),
|
|
126
|
+
children
|
|
127
|
+
]
|
|
128
|
+
})
|
|
129
|
+
]
|
|
130
|
+
})
|
|
131
|
+
});
|
|
132
|
+
});
|
|
133
|
+
ComboboxContent.displayName = "ComboboxContent";
|
|
134
|
+
function ComboboxItem(props) {
|
|
135
|
+
const { value: itemValue, className, children, disabled = false, onSelect, keywords = [] } = props;
|
|
136
|
+
const { value: selectedValue, onValueChange, setOpen, registerItem, unregisterItem } = useComboboxContext("ComboboxItem");
|
|
137
|
+
const isSelected = selectedValue === itemValue;
|
|
138
|
+
const label = "string" == typeof children ? children : itemValue;
|
|
139
|
+
useEffect(()=>{
|
|
140
|
+
registerItem(itemValue, label);
|
|
141
|
+
return ()=>{
|
|
142
|
+
unregisterItem(itemValue);
|
|
143
|
+
};
|
|
144
|
+
}, [
|
|
145
|
+
itemValue,
|
|
146
|
+
label,
|
|
147
|
+
registerItem,
|
|
148
|
+
unregisterItem
|
|
149
|
+
]);
|
|
150
|
+
const handleSelect = useCallback((currentValue)=>{
|
|
151
|
+
const newValue = currentValue === selectedValue ? "" : currentValue;
|
|
152
|
+
onValueChange(newValue);
|
|
153
|
+
setOpen(false);
|
|
154
|
+
onSelect?.(newValue);
|
|
155
|
+
}, [
|
|
156
|
+
selectedValue,
|
|
157
|
+
onValueChange,
|
|
158
|
+
setOpen,
|
|
159
|
+
onSelect
|
|
160
|
+
]);
|
|
161
|
+
return /*#__PURE__*/ jsxs(CommandItem, {
|
|
162
|
+
value: itemValue,
|
|
163
|
+
disabled: disabled,
|
|
164
|
+
onSelect: handleSelect,
|
|
165
|
+
keywords: keywords,
|
|
166
|
+
className: cn(combobox_module.item, isSelected && combobox_module.itemSelected, className),
|
|
167
|
+
children: [
|
|
168
|
+
/*#__PURE__*/ jsx(Check, {
|
|
169
|
+
className: cn(combobox_module.itemCheck, isSelected && combobox_module.itemCheckVisible)
|
|
170
|
+
}),
|
|
171
|
+
/*#__PURE__*/ jsx("span", {
|
|
172
|
+
className: combobox_module.itemLabel,
|
|
173
|
+
children: children
|
|
174
|
+
})
|
|
175
|
+
]
|
|
176
|
+
});
|
|
177
|
+
}
|
|
178
|
+
ComboboxItem.displayName = "ComboboxItem";
|
|
179
|
+
function ComboboxEmpty(props) {
|
|
180
|
+
const { className, children } = props;
|
|
181
|
+
const { emptyMessage } = useComboboxContext("ComboboxEmpty");
|
|
182
|
+
return /*#__PURE__*/ jsx(CommandEmpty, {
|
|
183
|
+
className: cn(combobox_module.empty, className),
|
|
184
|
+
children: children ?? emptyMessage
|
|
185
|
+
});
|
|
186
|
+
}
|
|
187
|
+
ComboboxEmpty.displayName = "ComboboxEmpty";
|
|
188
|
+
function ComboboxGroup(props) {
|
|
189
|
+
const { heading, className, children } = props;
|
|
190
|
+
return /*#__PURE__*/ jsx(CommandGroup, {
|
|
191
|
+
heading: heading,
|
|
192
|
+
className: cn(combobox_module.group, className),
|
|
193
|
+
children: children
|
|
194
|
+
});
|
|
195
|
+
}
|
|
196
|
+
ComboboxGroup.displayName = "ComboboxGroup";
|
|
197
|
+
function ComboboxSeparator(props) {
|
|
198
|
+
const { className } = props;
|
|
199
|
+
return /*#__PURE__*/ jsx(CommandSeparator, {
|
|
200
|
+
className: cn(combobox_module.separator, className)
|
|
201
|
+
});
|
|
202
|
+
}
|
|
203
|
+
ComboboxSeparator.displayName = "ComboboxSeparator";
|
|
204
|
+
export { Combobox, ComboboxContent, ComboboxEmpty, ComboboxGroup, ComboboxItem, ComboboxSeparator, ComboboxTrigger };
|
|
205
|
+
|
|
206
|
+
//# sourceMappingURL=combobox.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"components/ui/combobox.js","sources":["../../../src/components/ui/combobox.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport {Check, ChevronsUpDown} from \"lucide-react\";\r\nimport * as React from \"react\";\r\n\r\nimport {useControllableState} from \"@/hooks/useControllableState\";\r\nimport {cn} from \"@/lib/utilities\";\r\n\r\nimport {Button} from \"./button\";\r\nimport {Command, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator} from \"./command\";\r\nimport {Popover, PopoverContent, PopoverTrigger} from \"./popover\";\r\n\r\nimport styles from \"./combobox.module.css\";\r\n\r\ninterface ComboboxContextValue {\r\n value: string;\r\n onValueChange: (value: string) => void;\r\n open: boolean;\r\n setOpen: (open: boolean) => void;\r\n placeholder?: string;\r\n searchPlaceholder?: string;\r\n emptyMessage?: string;\r\n disabled?: boolean;\r\n itemLabels: Map<string, string>;\r\n registerItem: (value: string, label: string) => void;\r\n unregisterItem: (value: string) => void;\r\n}\r\n\r\nconst ComboboxContext = React.createContext<ComboboxContextValue | null>(null);\r\n\r\nfunction useComboboxContext(componentName: string): ComboboxContextValue {\r\n const context = React.useContext(ComboboxContext);\r\n\r\n if (!context) {\r\n throw new Error(`${componentName} must be used within Combobox.`);\r\n }\r\n\r\n return context;\r\n}\r\n\r\ninterface ComboboxProps {\r\n /**\r\n * The controlled selected value.\r\n * @default undefined\r\n */\r\n value?: string;\r\n /**\r\n * The default value when uncontrolled.\r\n * @default \"\"\r\n */\r\n defaultValue?: string;\r\n /**\r\n * Callback fired when the selected value changes.\r\n * @default undefined\r\n */\r\n onValueChange?: (value: string) => void;\r\n /**\r\n * Whether the popover is controlled open state.\r\n * @default undefined\r\n */\r\n open?: boolean;\r\n /**\r\n * Whether the popover is open by default (uncontrolled).\r\n * @default false\r\n */\r\n defaultOpen?: boolean;\r\n /**\r\n * Callback fired when the open state changes.\r\n * @default undefined\r\n */\r\n onOpenChange?: (open: boolean) => void;\r\n /**\r\n * Placeholder text shown when no value is selected.\r\n * @default \"Select an item...\"\r\n */\r\n placeholder?: string;\r\n /**\r\n * Placeholder text shown in the search input.\r\n * @default \"Search...\"\r\n */\r\n searchPlaceholder?: string;\r\n /**\r\n * Message shown when no items match the search.\r\n * @default \"No items found.\"\r\n */\r\n emptyMessage?: string;\r\n /**\r\n * Whether the combobox is disabled.\r\n * @default false\r\n */\r\n disabled?: boolean;\r\n /**\r\n * Additional CSS classes merged with the combobox styles.\r\n * @default undefined\r\n */\r\n className?: string;\r\n /**\r\n * Combobox content and items.\r\n * @default undefined\r\n */\r\n children?: React.ReactNode;\r\n}\r\n\r\ninterface ComboboxTriggerProps {\r\n /**\r\n * Additional CSS classes merged with the trigger styles.\r\n * @default undefined\r\n */\r\n className?: string;\r\n /**\r\n * Trigger content. If not provided, shows selected item label or placeholder.\r\n * @default undefined\r\n */\r\n children?: React.ReactNode;\r\n}\r\n\r\ninterface ComboboxContentProps {\r\n /**\r\n * Additional CSS classes merged with the content styles.\r\n * @default undefined\r\n */\r\n className?: string;\r\n /**\r\n * Content children (typically ComboboxItem components).\r\n * @default undefined\r\n */\r\n children?: React.ReactNode;\r\n}\r\n\r\ninterface ComboboxItemProps {\r\n /**\r\n * The value associated with this item.\r\n */\r\n value: string;\r\n /**\r\n * Additional CSS classes merged with the item styles.\r\n * @default undefined\r\n */\r\n className?: string;\r\n /**\r\n * Item content (label).\r\n * @default undefined\r\n */\r\n children?: React.ReactNode;\r\n /**\r\n * Whether the item is disabled.\r\n * @default false\r\n */\r\n disabled?: boolean;\r\n /**\r\n * Callback fired when the item is selected.\r\n * @default undefined\r\n */\r\n onSelect?: (value: string) => void;\r\n /**\r\n * Additional search keywords for filtering.\r\n * @default []\r\n */\r\n keywords?: string[];\r\n}\r\n\r\ninterface ComboboxEmptyProps {\r\n /**\r\n * Additional CSS classes merged with the empty state styles.\r\n * @default undefined\r\n */\r\n className?: string;\r\n /**\r\n * Content shown when no items match. Defaults to context emptyMessage.\r\n * @default undefined\r\n */\r\n children?: React.ReactNode;\r\n}\r\n\r\ninterface ComboboxGroupProps {\r\n /**\r\n * Group heading text.\r\n * @default undefined\r\n */\r\n heading?: string;\r\n /**\r\n * Additional CSS classes merged with the group styles.\r\n * @default undefined\r\n */\r\n className?: string;\r\n /**\r\n * Group items.\r\n * @default undefined\r\n */\r\n children?: React.ReactNode;\r\n}\r\n\r\ninterface ComboboxSeparatorProps {\r\n /**\r\n * Additional CSS classes merged with the separator styles.\r\n * @default undefined\r\n */\r\n className?: string;\r\n}\r\n\r\n/**\r\n * A searchable select component combining Command, Popover, and Button.\r\n *\r\n * @remarks\r\n * - Composes Command (search), Popover (positioning), and Button (trigger)\r\n * - Supports both controlled and uncontrolled modes\r\n * - Provides keyboard navigation and filtering\r\n * - Built with Base UI primitives and CSS Modules\r\n *\r\n * @example Basic usage\r\n * ```tsx\r\n * <Combobox value={value} onValueChange={setValue}>\r\n * <ComboboxTrigger />\r\n * <ComboboxContent>\r\n * <ComboboxItem value=\"apple\">Apple</ComboboxItem>\r\n * <ComboboxItem value=\"banana\">Banana</ComboboxItem>\r\n * </ComboboxContent>\r\n * </Combobox>\r\n * ```\r\n *\r\n * @example With groups\r\n * ```tsx\r\n * <Combobox>\r\n * <ComboboxTrigger />\r\n * <ComboboxContent>\r\n * <ComboboxGroup heading=\"Fruits\">\r\n * <ComboboxItem value=\"apple\">Apple</ComboboxItem>\r\n * </ComboboxGroup>\r\n * <ComboboxSeparator />\r\n * <ComboboxGroup heading=\"Vegetables\">\r\n * <ComboboxItem value=\"carrot\">Carrot</ComboboxItem>\r\n * </ComboboxGroup>\r\n * </ComboboxContent>\r\n * </Combobox>\r\n * ```\r\n */\r\nfunction Combobox(props: Readonly<Combobox.Props>): React.ReactElement {\r\n const {\r\n value: controlledValue,\r\n defaultValue = \"\",\r\n onValueChange,\r\n open: controlledOpen,\r\n defaultOpen = false,\r\n onOpenChange,\r\n placeholder = \"Select an item...\",\r\n searchPlaceholder = \"Search...\",\r\n emptyMessage = \"No items found.\",\r\n disabled = false,\r\n className,\r\n children,\r\n } = props;\r\n\r\n const [value, setValue] = useControllableState({\r\n controlled: controlledValue,\r\n defaultValue,\r\n onChange: onValueChange,\r\n });\r\n\r\n const [open, setOpen] = useControllableState({\r\n controlled: controlledOpen,\r\n defaultValue: defaultOpen,\r\n onChange: onOpenChange,\r\n });\r\n\r\n const itemLabelsRef = React.useRef(new Map<string, string>());\r\n\r\n const registerItem = React.useCallback((itemValue: string, label: string) => {\r\n itemLabelsRef.current.set(itemValue, label);\r\n }, []);\r\n\r\n const unregisterItem = React.useCallback((itemValue: string) => {\r\n itemLabelsRef.current.delete(itemValue);\r\n }, []);\r\n\r\n const contextValue = React.useMemo<ComboboxContextValue>(\r\n () => ({\r\n value,\r\n onValueChange: setValue,\r\n open,\r\n setOpen,\r\n placeholder,\r\n searchPlaceholder,\r\n emptyMessage,\r\n disabled,\r\n itemLabels: itemLabelsRef.current,\r\n registerItem,\r\n unregisterItem,\r\n }),\r\n [value, setValue, open, setOpen, placeholder, searchPlaceholder, emptyMessage, disabled, registerItem, unregisterItem],\r\n );\r\n\r\n return (\r\n <ComboboxContext.Provider value={contextValue}>\r\n <Popover\r\n open={open}\r\n onOpenChange={setOpen}>\r\n <div className={cn(styles.combobox, className)}>{children}</div>\r\n </Popover>\r\n </ComboboxContext.Provider>\r\n );\r\n}\r\nCombobox.displayName = \"Combobox\";\r\n\r\n/**\r\n * Button that opens and closes the combobox popover.\r\n *\r\n * @remarks\r\n * - Renders as a Button with trigger behavior\r\n * - Shows selected item label or placeholder\r\n * - Supports custom children or auto-display\r\n *\r\n * @example Basic usage\r\n * ```tsx\r\n * <ComboboxTrigger />\r\n * ```\r\n *\r\n * @example Custom content\r\n * ```tsx\r\n * <ComboboxTrigger>\r\n * {selectedLabel || \"Choose...\"}\r\n * </ComboboxTrigger>\r\n * ```\r\n */\r\nconst ComboboxTrigger = React.forwardRef<HTMLButtonElement, ComboboxTrigger.Props>(\r\n (props: Readonly<ComboboxTrigger.Props>, ref): React.ReactElement => {\r\n const {className, children} = props;\r\n const {open, setOpen, value, placeholder, disabled, itemLabels} = useComboboxContext(\"ComboboxTrigger\");\r\n\r\n // Force re-render when value changes to update the selected label\r\n const [, forceUpdate] = React.useReducer((x: number) => x + 1, 0);\r\n\r\n React.useEffect(() => {\r\n forceUpdate();\r\n }, [value]);\r\n\r\n const selectedLabel = itemLabels.get(value) || \"\";\r\n\r\n return (\r\n <PopoverTrigger asChild>\r\n <Button\r\n ref={ref}\r\n variant='outline'\r\n role='combobox'\r\n aria-expanded={open}\r\n disabled={disabled}\r\n className={cn(styles.trigger, className)}\r\n onClick={() => setOpen(!open)}>\r\n {children ?? (\r\n <>\r\n <span className={cn(styles.triggerValue, !selectedLabel && styles.triggerPlaceholder)}>{selectedLabel || placeholder}</span>\r\n <ChevronsUpDown className={styles.triggerIcon} />\r\n </>\r\n )}\r\n </Button>\r\n </PopoverTrigger>\r\n );\r\n },\r\n);\r\nComboboxTrigger.displayName = \"ComboboxTrigger\";\r\n\r\n/**\r\n * The popover content containing the searchable command list.\r\n *\r\n * @remarks\r\n * - Wraps Command with Popover positioning\r\n * - Includes search input and items list\r\n * - Automatically closes on item selection\r\n *\r\n * @example Basic usage\r\n * ```tsx\r\n * <ComboboxContent>\r\n * <ComboboxItem value=\"item1\">Item 1</ComboboxItem>\r\n * </ComboboxContent>\r\n * ```\r\n */\r\nconst ComboboxContent = React.forwardRef<HTMLDivElement, ComboboxContent.Props>(\r\n (props: Readonly<ComboboxContent.Props>, ref): React.ReactElement => {\r\n const {className, children} = props;\r\n const {searchPlaceholder} = useComboboxContext(\"ComboboxContent\");\r\n\r\n return (\r\n <PopoverContent\r\n ref={ref}\r\n className={cn(styles.content, className)}\r\n sideOffset={4}>\r\n <Command className={styles.command}>\r\n <CommandInput\r\n placeholder={searchPlaceholder}\r\n className={styles.commandInput}\r\n />\r\n <CommandList className={styles.commandList}>\r\n <ComboboxEmpty />\r\n {children}\r\n </CommandList>\r\n </Command>\r\n </PopoverContent>\r\n );\r\n },\r\n);\r\nComboboxContent.displayName = \"ComboboxContent\";\r\n\r\n/**\r\n * A selectable item within the combobox.\r\n *\r\n * @remarks\r\n * - Uses CommandItem internally\r\n * - Shows check icon when selected\r\n * - Closes popover on selection\r\n *\r\n * @example Basic usage\r\n * ```tsx\r\n * <ComboboxItem value=\"apple\">Apple</ComboboxItem>\r\n * ```\r\n *\r\n * @example With custom select handler\r\n * ```tsx\r\n * <ComboboxItem\r\n * value=\"apple\"\r\n * onSelect={(value) => console.log(\"Selected:\", value)}\r\n * >\r\n * Apple\r\n * </ComboboxItem>\r\n * ```\r\n */\r\nfunction ComboboxItem(props: Readonly<ComboboxItem.Props>): React.ReactElement {\r\n const {value: itemValue, className, children, disabled = false, onSelect, keywords = []} = props;\r\n const {value: selectedValue, onValueChange, setOpen, registerItem, unregisterItem} = useComboboxContext(\"ComboboxItem\");\r\n\r\n const isSelected = selectedValue === itemValue;\r\n const label = typeof children === \"string\" ? children : itemValue;\r\n\r\n // Register this item's label when mounted\r\n React.useEffect(() => {\r\n registerItem(itemValue, label);\r\n return () => {\r\n unregisterItem(itemValue);\r\n };\r\n }, [itemValue, label, registerItem, unregisterItem]);\r\n\r\n const handleSelect = React.useCallback(\r\n (currentValue: string) => {\r\n const newValue = currentValue === selectedValue ? \"\" : currentValue;\r\n onValueChange(newValue);\r\n setOpen(false);\r\n onSelect?.(newValue);\r\n },\r\n [selectedValue, onValueChange, setOpen, onSelect],\r\n );\r\n\r\n return (\r\n <CommandItem\r\n value={itemValue}\r\n disabled={disabled}\r\n onSelect={handleSelect}\r\n keywords={keywords}\r\n className={cn(styles.item, isSelected && styles.itemSelected, className)}>\r\n <Check className={cn(styles.itemCheck, isSelected && styles.itemCheckVisible)} />\r\n <span className={styles.itemLabel}>{children}</span>\r\n </CommandItem>\r\n );\r\n}\r\nComboboxItem.displayName = \"ComboboxItem\";\r\n\r\n/**\r\n * Message shown when search returns no results.\r\n *\r\n * @remarks\r\n * - Uses CommandEmpty internally\r\n * - Defaults to context emptyMessage\r\n *\r\n * @example Basic usage\r\n * ```tsx\r\n * <ComboboxEmpty />\r\n * ```\r\n *\r\n * @example Custom message\r\n * ```tsx\r\n * <ComboboxEmpty>Nothing found</ComboboxEmpty>\r\n * ```\r\n */\r\nfunction ComboboxEmpty(props: Readonly<ComboboxEmpty.Props>): React.ReactElement {\r\n const {className, children} = props;\r\n const {emptyMessage} = useComboboxContext(\"ComboboxEmpty\");\r\n\r\n return <CommandEmpty className={cn(styles.empty, className)}>{children ?? emptyMessage}</CommandEmpty>;\r\n}\r\nComboboxEmpty.displayName = \"ComboboxEmpty\";\r\n\r\n/**\r\n * Groups related combobox items with an optional heading.\r\n *\r\n * @remarks\r\n * - Uses CommandGroup internally\r\n * - Supports visual grouping with headings\r\n *\r\n * @example Basic usage\r\n * ```tsx\r\n * <ComboboxGroup heading=\"Fruits\">\r\n * <ComboboxItem value=\"apple\">Apple</ComboboxItem>\r\n * </ComboboxGroup>\r\n * ```\r\n */\r\nfunction ComboboxGroup(props: Readonly<ComboboxGroup.Props>): React.ReactElement {\r\n const {heading, className, children} = props;\r\n\r\n return (\r\n <CommandGroup\r\n heading={heading}\r\n className={cn(styles.group, className)}>\r\n {children}\r\n </CommandGroup>\r\n );\r\n}\r\nComboboxGroup.displayName = \"ComboboxGroup\";\r\n\r\n/**\r\n * Visual separator between combobox groups.\r\n *\r\n * @remarks\r\n * - Uses CommandSeparator internally\r\n *\r\n * @example Basic usage\r\n * ```tsx\r\n * <ComboboxSeparator />\r\n * ```\r\n */\r\nfunction ComboboxSeparator(props: Readonly<ComboboxSeparator.Props>): React.ReactElement {\r\n const {className} = props;\r\n\r\n return <CommandSeparator className={cn(styles.separator, className)} />;\r\n}\r\nComboboxSeparator.displayName = \"ComboboxSeparator\";\r\n\r\n// eslint-disable-next-line no-redeclare -- required for the canonical component namespace typing API\r\nnamespace Combobox {\r\n export type Props = ComboboxProps;\r\n}\r\n\r\n// eslint-disable-next-line no-redeclare -- required for the canonical component namespace typing API\r\nnamespace ComboboxTrigger {\r\n export type Props = ComboboxTriggerProps;\r\n}\r\n\r\n// eslint-disable-next-line no-redeclare -- required for the canonical component namespace typing API\r\nnamespace ComboboxContent {\r\n export type Props = ComboboxContentProps;\r\n}\r\n\r\n// eslint-disable-next-line no-redeclare -- required for the canonical component namespace typing API\r\nnamespace ComboboxItem {\r\n export type Props = ComboboxItemProps;\r\n}\r\n\r\n// eslint-disable-next-line no-redeclare -- required for the canonical component namespace typing API\r\nnamespace ComboboxEmpty {\r\n export type Props = ComboboxEmptyProps;\r\n}\r\n\r\n// eslint-disable-next-line no-redeclare -- required for the canonical component namespace typing API\r\nnamespace ComboboxGroup {\r\n export type Props = ComboboxGroupProps;\r\n}\r\n\r\n// eslint-disable-next-line no-redeclare -- required for the canonical component namespace typing API\r\nnamespace ComboboxSeparator {\r\n export type Props = ComboboxSeparatorProps;\r\n}\r\n\r\nexport {Combobox, ComboboxContent, ComboboxEmpty, ComboboxGroup, ComboboxItem, ComboboxSeparator, ComboboxTrigger};\r\n"],"names":["ComboboxContext","React","useComboboxContext","componentName","context","Error","Combobox","props","controlledValue","defaultValue","onValueChange","controlledOpen","defaultOpen","onOpenChange","placeholder","searchPlaceholder","emptyMessage","disabled","className","children","value","setValue","useControllableState","open","setOpen","itemLabelsRef","Map","registerItem","itemValue","label","unregisterItem","contextValue","Popover","cn","styles","ComboboxTrigger","ref","itemLabels","forceUpdate","x","selectedLabel","PopoverTrigger","Button","ChevronsUpDown","ComboboxContent","PopoverContent","Command","CommandInput","CommandList","ComboboxEmpty","ComboboxItem","onSelect","keywords","selectedValue","isSelected","handleSelect","currentValue","newValue","CommandItem","Check","CommandEmpty","ComboboxGroup","heading","CommandGroup","ComboboxSeparator","CommandSeparator"],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import "./combobox_module.css";
|
|
2
|
+
const combobox_module = {
|
|
3
|
+
combobox: "combobox-wmFvJE",
|
|
4
|
+
trigger: "trigger-asByxe",
|
|
5
|
+
triggerValue: "triggerValue-s6rRGO",
|
|
6
|
+
triggerPlaceholder: "triggerPlaceholder-T2THwp",
|
|
7
|
+
triggerIcon: "triggerIcon-Z1UTU8",
|
|
8
|
+
content: "content-uE5DAH",
|
|
9
|
+
command: "command-cdXzEx",
|
|
10
|
+
commandInput: "commandInput-s91u2v",
|
|
11
|
+
commandList: "commandList-YCmDON",
|
|
12
|
+
item: "item-ThEyJB",
|
|
13
|
+
itemSelected: "itemSelected-JsUZAF",
|
|
14
|
+
itemCheck: "itemCheck-j350UO",
|
|
15
|
+
itemCheckVisible: "itemCheckVisible-QMieBm",
|
|
16
|
+
itemLabel: "itemLabel-wCtpTY",
|
|
17
|
+
empty: "empty-EEImeI",
|
|
18
|
+
group: "group-w7Vcxw",
|
|
19
|
+
separator: "separator-nkP8ud"
|
|
20
|
+
};
|
|
21
|
+
export default combobox_module;
|
|
22
|
+
|
|
23
|
+
//# sourceMappingURL=combobox.module.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"components/ui/combobox.module.js","sources":["../../../src/components/ui/combobox.module.css"],"sourcesContent":["// extracted by LIB_CSS_EXTRACT_LOADER\nimport \"./combobox_module.css\"\nexport default {\"combobox\":\"combobox-wmFvJE\",\"trigger\":\"trigger-asByxe\",\"triggerValue\":\"triggerValue-s6rRGO\",\"triggerPlaceholder\":\"triggerPlaceholder-T2THwp\",\"triggerIcon\":\"triggerIcon-Z1UTU8\",\"content\":\"content-uE5DAH\",\"command\":\"command-cdXzEx\",\"commandInput\":\"commandInput-s91u2v\",\"commandList\":\"commandList-YCmDON\",\"item\":\"item-ThEyJB\",\"itemSelected\":\"itemSelected-JsUZAF\",\"itemCheck\":\"itemCheck-j350UO\",\"itemCheckVisible\":\"itemCheckVisible-QMieBm\",\"itemLabel\":\"itemLabel-wCtpTY\",\"empty\":\"empty-EEImeI\",\"group\":\"group-w7Vcxw\",\"separator\":\"separator-nkP8ud\"};"],"names":[],"mappings":";AAEA,wBAAe;IAAC,UAAW;IAAkB,SAAU;IAAiB,cAAe;IAAsB,oBAAqB;IAA4B,aAAc;IAAqB,SAAU;IAAiB,SAAU;IAAiB,cAAe;IAAsB,aAAc;IAAqB,MAAO;IAAc,cAAe;IAAsB,WAAY;IAAmB,kBAAmB;IAA0B,WAAY;IAAmB,OAAQ;IAAe,OAAQ;IAAe,WAAY;AAAkB"}
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
.combobox-wmFvJE {
|
|
2
|
+
display: contents;
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
.trigger-asByxe {
|
|
6
|
+
justify-content: space-between;
|
|
7
|
+
width: 100%;
|
|
8
|
+
min-width: 200px;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
.triggerValue-s6rRGO {
|
|
12
|
+
text-align: left;
|
|
13
|
+
text-overflow: ellipsis;
|
|
14
|
+
white-space: nowrap;
|
|
15
|
+
flex: 1;
|
|
16
|
+
overflow: hidden;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
.triggerPlaceholder-T2THwp {
|
|
20
|
+
color: var(--ac-neutral-500);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.triggerIcon-Z1UTU8 {
|
|
24
|
+
height: 1rem;
|
|
25
|
+
margin-left: var(--ac-spacing-2);
|
|
26
|
+
opacity: .5;
|
|
27
|
+
flex-shrink: 0;
|
|
28
|
+
width: 1rem;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
.content-uE5DAH {
|
|
32
|
+
min-width: 200px;
|
|
33
|
+
width: var(--anchor-width);
|
|
34
|
+
padding: 0;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
.command-cdXzEx {
|
|
38
|
+
box-shadow: none;
|
|
39
|
+
border: none;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
.commandInput-s91u2v {
|
|
43
|
+
border-bottom: 1px solid var(--ac-neutral-200);
|
|
44
|
+
border-radius: 0;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
.commandList-YCmDON {
|
|
48
|
+
max-height: 300px;
|
|
49
|
+
overflow-y: auto;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
.item-ThEyJB {
|
|
53
|
+
border-radius: var(--ac-radius-sm);
|
|
54
|
+
cursor: pointer;
|
|
55
|
+
align-items: center;
|
|
56
|
+
gap: var(--ac-spacing-2);
|
|
57
|
+
padding: var(--ac-spacing-2) var(--ac-spacing-3);
|
|
58
|
+
transition: background-color .2s;
|
|
59
|
+
display: flex;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
.item-ThEyJB:hover {
|
|
63
|
+
background-color: var(--ac-neutral-100);
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
.item-ThEyJB[data-disabled] {
|
|
67
|
+
opacity: .5;
|
|
68
|
+
pointer-events: none;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
.itemSelected-JsUZAF {
|
|
72
|
+
background-color: var(--ac-neutral-100);
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
.itemCheck-j350UO {
|
|
76
|
+
opacity: 0;
|
|
77
|
+
flex-shrink: 0;
|
|
78
|
+
width: 1rem;
|
|
79
|
+
height: 1rem;
|
|
80
|
+
transition: opacity .2s;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
.itemCheckVisible-QMieBm {
|
|
84
|
+
opacity: 1;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
.itemLabel-wCtpTY {
|
|
88
|
+
text-overflow: ellipsis;
|
|
89
|
+
white-space: nowrap;
|
|
90
|
+
flex: 1;
|
|
91
|
+
overflow: hidden;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
.empty-EEImeI {
|
|
95
|
+
color: var(--ac-neutral-500);
|
|
96
|
+
font-size: var(--ac-font-size-sm);
|
|
97
|
+
padding: var(--ac-spacing-6) var(--ac-spacing-4);
|
|
98
|
+
text-align: center;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
.group-w7Vcxw {
|
|
102
|
+
padding: var(--ac-spacing-1) 0;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
.separator-nkP8ud {
|
|
106
|
+
background-color: var(--ac-neutral-200);
|
|
107
|
+
height: 1px;
|
|
108
|
+
margin: var(--ac-spacing-1) 0;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
.dark .triggerPlaceholder-T2THwp {
|
|
112
|
+
color: var(--ac-neutral-400);
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
.dark .commandInput-s91u2v {
|
|
116
|
+
border-bottom-color: var(--ac-neutral-700);
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
.dark .item-ThEyJB:hover {
|
|
120
|
+
background-color: var(--ac-neutral-800);
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
.dark .itemSelected-JsUZAF {
|
|
124
|
+
background-color: var(--ac-neutral-800);
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
.dark .empty-EEImeI {
|
|
128
|
+
color: var(--ac-neutral-400);
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
.dark .separator-nkP8ud {
|
|
132
|
+
background-color: var(--ac-neutral-700);
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
@media (width <= 640px) {
|
|
136
|
+
.content-uE5DAH, .trigger-asByxe {
|
|
137
|
+
min-width: 150px;
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
|
|
142
|
+
/*# sourceMappingURL=combobox_module.css.map */
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["webpack://./home/runner/work/arolariu.ro/arolariu.ro/packages/components/src/components/ui/combobox.module.css","webpack://./src/components/ui/combobox.module.css"],"names":[],"mappings":"AADA;ECEE,iBAAiB;AACnB;;AAEA;EACE,8BAA8B;EAC9B,WAAW;EACX,gBAAgB;AAClB;;AAEA;EACE,gBAAgB;EAChB,uBAAuB;EACvB,mBAAmB;EACnB,OAAO;EACP,gBAAgB;AAClB;;AAEA;EACE,4BAA4B;AAC9B;;AAEA;EACE,YAAY;EACZ,gCAAgC;EAChC,WAAW;EACX,cAAc;EACd,WAAW;AACb;;AAEA;EACE,gBAAgB;EAChB,0BAA0B;EAC1B,UAAU;AACZ;;AAEA;EACE,gBAAgB;EAChB,YAAY;AACd;;AAEA;EACE,8CAA8C;EAC9C,gBAAgB;AAClB;;AAEA;EACE,iBAAiB;EACjB,gBAAgB;AAClB;;AAEA;EACE,kCAAkC;EAClC,eAAe;EACf,mBAAmB;EACnB,wBAAwB;EACxB,gDAAgD;EAChD,gCAAgC;EAChC,aAAa;AACf;;AAEA;EACE,uCAAuC;AACzC;;AAEA;EACE,WAAW;EACX,oBAAoB;AACtB;;AAEA;EACE,uCAAuC;AACzC;;AAEA;EACE,UAAU;EACV,cAAc;EACd,WAAW;EACX,YAAY;EACZ,uBAAuB;AACzB;;AAEA;EACE,UAAU;AACZ;;AAEA;EACE,uBAAuB;EACvB,mBAAmB;EACnB,OAAO;EACP,gBAAgB;AAClB;;AAEA;EACE,4BAA4B;EAC5B,iCAAiC;EACjC,gDAAgD;EAChD,kBAAkB;AACpB;;AAEA;EACE,8BAA8B;AAChC;;AAEA;EACE,uCAAuC;EACvC,WAAW;EACX,6BAA6B;AAC/B;;AAEA;EACE,4BAA4B;AAC9B;;AAEA;EACE,0CAA0C;AAC5C;;AAEA;EACE,uCAAuC;AACzC;;AAEA;EACE,uCAAuC;AACzC;;AAEA;EACE,4BAA4B;AAC9B;;AAEA;EACE,uCAAuC;AACzC;;AAEA;EACE;IACE,gBAAgB;EAClB;AACF","sourcesContent":[".combobox{display:contents}.trigger{justify-content:space-between;min-width:200px;width:100%}.triggerValue{flex:1;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.triggerPlaceholder{color:var(--ac-neutral-500)}.triggerIcon{flex-shrink:0;height:1rem;margin-left:var(--ac-spacing-2);opacity:.5;width:1rem}.content{min-width:200px;padding:0;width:var(--anchor-width)}.command{border:none;box-shadow:none}.commandInput{border-bottom:1px solid var(--ac-neutral-200);border-radius:0}.commandList{max-height:300px;overflow-y:auto}.item{align-items:center;border-radius:var(--ac-radius-sm);cursor:pointer;display:flex;gap:var(--ac-spacing-2);padding:var(--ac-spacing-2) var(--ac-spacing-3);transition:background-color .2s}.item:hover{background-color:var(--ac-neutral-100)}.item[data-disabled]{opacity:.5;pointer-events:none}.itemSelected{background-color:var(--ac-neutral-100)}.itemCheck{flex-shrink:0;height:1rem;opacity:0;transition:opacity .2s;width:1rem}.itemCheckVisible{opacity:1}.itemLabel{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.empty{color:var(--ac-neutral-500);font-size:var(--ac-font-size-sm);padding:var(--ac-spacing-6) var(--ac-spacing-4);text-align:center}.group{padding:var(--ac-spacing-1) 0}.separator{background-color:var(--ac-neutral-200);height:1px;margin:var(--ac-spacing-1) 0}:global(.dark) .triggerPlaceholder{color:var(--ac-neutral-400)}:global(.dark) .commandInput{border-bottom-color:var(--ac-neutral-700)}:global(.dark) .item:hover{background-color:var(--ac-neutral-800)}:global(.dark) .itemSelected{background-color:var(--ac-neutral-800)}:global(.dark) .empty{color:var(--ac-neutral-400)}:global(.dark) .separator{background-color:var(--ac-neutral-700)}@media (max-width:640px){.content,.trigger{min-width:150px}}",".combobox {\n display: contents;\n}\n\n.trigger {\n justify-content: space-between;\n width: 100%;\n min-width: 200px;\n}\n\n.triggerValue {\n text-align: left;\n text-overflow: ellipsis;\n white-space: nowrap;\n flex: 1;\n overflow: hidden;\n}\n\n.triggerPlaceholder {\n color: var(--ac-neutral-500);\n}\n\n.triggerIcon {\n height: 1rem;\n margin-left: var(--ac-spacing-2);\n opacity: .5;\n flex-shrink: 0;\n width: 1rem;\n}\n\n.content {\n min-width: 200px;\n width: var(--anchor-width);\n padding: 0;\n}\n\n.command {\n box-shadow: none;\n border: none;\n}\n\n.commandInput {\n border-bottom: 1px solid var(--ac-neutral-200);\n border-radius: 0;\n}\n\n.commandList {\n max-height: 300px;\n overflow-y: auto;\n}\n\n.item {\n border-radius: var(--ac-radius-sm);\n cursor: pointer;\n align-items: center;\n gap: var(--ac-spacing-2);\n padding: var(--ac-spacing-2) var(--ac-spacing-3);\n transition: background-color .2s;\n display: flex;\n}\n\n.item:hover {\n background-color: var(--ac-neutral-100);\n}\n\n.item[data-disabled] {\n opacity: .5;\n pointer-events: none;\n}\n\n.itemSelected {\n background-color: var(--ac-neutral-100);\n}\n\n.itemCheck {\n opacity: 0;\n flex-shrink: 0;\n width: 1rem;\n height: 1rem;\n transition: opacity .2s;\n}\n\n.itemCheckVisible {\n opacity: 1;\n}\n\n.itemLabel {\n text-overflow: ellipsis;\n white-space: nowrap;\n flex: 1;\n overflow: hidden;\n}\n\n.empty {\n color: var(--ac-neutral-500);\n font-size: var(--ac-font-size-sm);\n padding: var(--ac-spacing-6) var(--ac-spacing-4);\n text-align: center;\n}\n\n.group {\n padding: var(--ac-spacing-1) 0;\n}\n\n.separator {\n background-color: var(--ac-neutral-200);\n height: 1px;\n margin: var(--ac-spacing-1) 0;\n}\n\n:global(.dark) .triggerPlaceholder {\n color: var(--ac-neutral-400);\n}\n\n:global(.dark) .commandInput {\n border-bottom-color: var(--ac-neutral-700);\n}\n\n:global(.dark) .item:hover {\n background-color: var(--ac-neutral-800);\n}\n\n:global(.dark) .itemSelected {\n background-color: var(--ac-neutral-800);\n}\n\n:global(.dark) .empty {\n color: var(--ac-neutral-400);\n}\n\n:global(.dark) .separator {\n background-color: var(--ac-neutral-700);\n}\n\n@media (width <= 640px) {\n .content, .trigger {\n min-width: 150px;\n }\n}\n"],"sourceRoot":""}
|