@arolariu/components 0.4.2 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/{changelog.md → CHANGELOG.md} +36 -0
- package/CONTRIBUTING.md +344 -265
- package/DEBUGGING.md +185 -103
- package/EXAMPLES.md +470 -345
- 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 +321 -18
- package/dist/components/ui/alert-dialog.d.ts.map +1 -1
- package/dist/components/ui/alert-dialog.js +145 -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 +97 -4
- package/dist/components/ui/avatar.d.ts.map +1 -1
- package/dist/components/ui/avatar.js +50 -21
- 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 +39 -5
- package/dist/components/ui/calendar.d.ts.map +1 -1
- package/dist/components/ui/calendar.js +72 -61
- 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 +158 -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 +31 -0
- package/dist/components/ui/checkbox-group.d.ts.map +1 -0
- package/dist/components/ui/checkbox-group.js +25 -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 +33 -2
- package/dist/components/ui/checkbox.d.ts.map +1 -1
- package/dist/components/ui/checkbox.js +37 -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/command.d.ts +284 -51
- package/dist/components/ui/command.d.ts.map +1 -1
- package/dist/components/ui/command.js +391 -50
- 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 +313 -17
- package/dist/components/ui/dropdrawer.d.ts.map +1 -1
- package/dist/components/ui/dropdrawer.js +423 -159
- 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 +225 -0
- package/dist/components/ui/field.d.ts.map +1 -0
- 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 +422 -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 +101 -0
- package/dist/components/ui/meter.d.ts.map +1 -0
- package/dist/components/ui/meter.js +71 -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 +242 -11
- package/dist/components/ui/navigation-menu.d.ts.map +1 -1
- package/dist/components/ui/navigation-menu.js +135 -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 +144 -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 +34 -2
- package/dist/components/ui/progress.d.ts.map +1 -1
- package/dist/components/ui/progress.js +22 -14
- 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 +44 -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 +79 -6
- 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 +25 -2
- package/dist/components/ui/scratcher.d.ts.map +1 -1
- package/dist/components/ui/scratcher.js +85 -87
- 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 +46 -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 +36 -2
- package/dist/components/ui/separator.d.ts.map +1 -1
- package/dist/components/ui/separator.js +20 -10
- 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 +137 -4
- package/dist/components/ui/sonner.d.ts.map +1 -1
- package/dist/components/ui/sonner.js +450 -18
- 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 +81 -10
- package/dist/components/ui/toggle-group.d.ts.map +1 -1
- package/dist/components/ui/toggle-group.js +32 -23
- 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 +127 -0
- package/dist/components/ui/toolbar.d.ts.map +1 -0
- package/dist/components/ui/toolbar.js +85 -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/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/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/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/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/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/useReducedMotion.d.ts +19 -0
- package/dist/hooks/useReducedMotion.d.ts.map +1 -0
- package/dist/hooks/useReducedMotion.js +2 -0
- package/dist/index.css +104 -5355
- package/dist/index.css.map +1 -1
- package/dist/index.d.ts +40 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +89 -70
- package/dist/lib/color-conversion-utilities.d.ts +82 -0
- package/dist/lib/color-conversion-utilities.d.ts.map +1 -0
- package/dist/lib/color-conversion-utilities.js +94 -0
- package/dist/lib/color-conversion-utilities.js.map +1 -0
- package/dist/lib/utilities.d.ts +5 -4
- 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/package.json +159 -65
- 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 +474 -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 +146 -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 +133 -103
- 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 +184 -43
- package/src/components/ui/chart.module.css +164 -0
- package/src/components/ui/chart.tsx +444 -102
- package/src/components/ui/checkbox-group.module.css +8 -0
- package/src/components/ui/checkbox-group.tsx +54 -0
- package/src/components/ui/checkbox.module.css +43 -0
- package/src/components/ui/checkbox.tsx +73 -19
- package/src/components/ui/collapsible.module.css +24 -0
- package/src/components/ui/collapsible.tsx +139 -3
- package/src/components/ui/command.module.css +193 -0
- package/src/components/ui/command.tsx +877 -113
- package/src/components/ui/context-menu.module.css +113 -0
- package/src/components/ui/context-menu.tsx +616 -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 +408 -80
- package/src/components/ui/dropdown-menu.module.css +113 -0
- package/src/components/ui/dropdown-menu.tsx +616 -159
- package/src/components/ui/dropdrawer.module.css +322 -0
- package/src/components/ui/dropdrawer.tsx +850 -398
- 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 +605 -192
- package/src/components/ui/meter.module.css +32 -0
- package/src/components/ui/meter.tsx +170 -0
- package/src/components/ui/navigation-menu.module.css +110 -0
- package/src/components/ui/navigation-menu.tsx +375 -101
- package/src/components/ui/number-field.module.css +126 -0
- package/src/components/ui/number-field.tsx +254 -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 +53 -16
- package/src/components/ui/radio-group.module.css +41 -0
- package/src/components/ui/radio-group.tsx +91 -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 +129 -99
- package/src/components/ui/scroll-area.module.css +47 -0
- package/src/components/ui/scroll-area.tsx +96 -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 +59 -18
- package/src/components/ui/sheet.module.css +138 -0
- package/src/components/ui/sheet.tsx +424 -95
- package/src/components/ui/sidebar.module.css +594 -0
- package/src/components/ui/sidebar.tsx +899 -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 +769 -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 +116 -35
- 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 +210 -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/useColorScheme.tsx +23 -0
- package/src/hooks/useFocusManager.tsx +89 -0
- package/src/hooks/useFocusVisible.tsx +88 -0
- package/src/hooks/useIsMobile.tsx +7 -28
- package/src/hooks/useMediaQuery.tsx +34 -0
- package/src/hooks/usePrefersContrast.tsx +24 -0
- package/src/hooks/useReducedMotion.tsx +20 -0
- package/src/index.css +127 -65
- package/src/index.ts +223 -16
- package/src/lib/color-conversion-utilities.ts +165 -0
- package/src/lib/utilities.ts +7 -6
- 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/{readme.md → README.md}
RENAMED
|
@@ -14,9 +14,9 @@
|
|
|
14
14
|
|
|
15
15
|
**Modern • Accessible • Production Ready**
|
|
16
16
|
|
|
17
|
-
_A comprehensive collection of
|
|
17
|
+
_A comprehensive collection of 71+ beautifully crafted React components built on [Base UI](https://base-ui.com/) primitives, styled with CSS Modules, and designed for modern applications that demand both beauty and performance._
|
|
18
18
|
|
|
19
|
-
[🚀 Get Started](#-quick-start) • [📖 Documentation](#-component-catalog) •
|
|
19
|
+
[🚀 Get Started](#-quick-start) • [📖 Documentation](#-component-catalog) • 🎨 Storybook demos (Coming soon) • [💡 Examples](#-usage-examples) • [🤝 Contributing](#-contributing)
|
|
20
20
|
|
|
21
21
|
</div>
|
|
22
22
|
|
|
@@ -27,51 +27,48 @@ _A comprehensive collection of 60+ beautifully crafted React components built on
|
|
|
27
27
|
**For Developers Who Care About Quality**
|
|
28
28
|
|
|
29
29
|
- **🎨 Beautiful by Default** - Carefully designed components that look great out of the box
|
|
30
|
-
- **♿ Accessibility First** - Built on
|
|
31
|
-
-
|
|
30
|
+
- **♿ Accessibility First** - Built on Base UI primitives with strong keyboard and screen reader support
|
|
31
|
+
- **🧩 CSS Modules Architecture** - Scoped `.module.css` styling with no Tailwind dependency inside the library
|
|
32
|
+
- **🌈 OKLCH Design Tokens** - Theme every component with `--ac-*` CSS custom properties such as `--ac-primary` and `--ac-radius-md`
|
|
33
|
+
- **⚡ Performance Optimized** - Tree-shakeable exports, minimal bundle impact, and source maps included
|
|
32
34
|
- **🔧 Developer Experience** - Full TypeScript support, comprehensive docs, and debugging tools
|
|
33
|
-
-
|
|
34
|
-
- **🚀 Modern Stack** - React 18/19, ESM, SSR compatible
|
|
35
|
+
- **🌙 Flexible Theming** - Light and dark mode via `.dark` or `[data-theme="dark"]`
|
|
36
|
+
- **🚀 Modern Stack** - React 18/19, ESM, SSR compatible, built with RSLib
|
|
35
37
|
|
|
36
|
-
**
|
|
38
|
+
**Version 1.0.0 is the first major release of the new Base UI + CSS Modules architecture.**
|
|
37
39
|
|
|
38
|
-
##
|
|
40
|
+
## 🚀 Quick Start
|
|
39
41
|
|
|
40
|
-
Get up and running with @arolariu/components in under 2 minutes
|
|
42
|
+
Get up and running with @arolariu/components in under 2 minutes.
|
|
41
43
|
|
|
42
44
|
### Installation
|
|
43
45
|
|
|
44
46
|
```bash
|
|
45
|
-
# npm
|
|
46
47
|
npm install @arolariu/components
|
|
47
48
|
|
|
48
|
-
#
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
# pnpm
|
|
52
|
-
pnpm add @arolariu/components
|
|
49
|
+
# Peer dependencies (install if not already in your project)
|
|
50
|
+
npm install react react-dom @base-ui/react motion react-hook-form recharts
|
|
53
51
|
```
|
|
54
52
|
|
|
55
53
|
### Basic Setup
|
|
56
54
|
|
|
57
55
|
```tsx
|
|
58
|
-
// 1. Import the component you need
|
|
59
56
|
import { Button } from "@arolariu/components/button";
|
|
60
57
|
import {
|
|
61
58
|
Card,
|
|
59
|
+
CardContent,
|
|
62
60
|
CardHeader,
|
|
63
61
|
CardTitle,
|
|
64
|
-
CardContent,
|
|
65
62
|
} from "@arolariu/components/card";
|
|
63
|
+
import styles from "./app-shell.module.css";
|
|
66
64
|
|
|
67
|
-
// 2. Use it in your React component
|
|
68
65
|
export default function MyApp() {
|
|
69
66
|
return (
|
|
70
|
-
<Card className=
|
|
67
|
+
<Card className={styles.card}>
|
|
71
68
|
<CardHeader>
|
|
72
|
-
<CardTitle>Welcome to @arolariu/components
|
|
69
|
+
<CardTitle>Welcome to @arolariu/components 1.0.0</CardTitle>
|
|
73
70
|
</CardHeader>
|
|
74
|
-
<CardContent>
|
|
71
|
+
<CardContent className={styles.content}>
|
|
75
72
|
<Button>Get Started</Button>
|
|
76
73
|
</CardContent>
|
|
77
74
|
</Card>
|
|
@@ -79,20 +76,53 @@ export default function MyApp() {
|
|
|
79
76
|
}
|
|
80
77
|
```
|
|
81
78
|
|
|
79
|
+
```css
|
|
80
|
+
/* app-shell.module.css */
|
|
81
|
+
.card {
|
|
82
|
+
width: min(24rem, 100%);
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
.content {
|
|
86
|
+
display: flex;
|
|
87
|
+
justify-content: flex-start;
|
|
88
|
+
}
|
|
89
|
+
```
|
|
90
|
+
|
|
82
91
|
### Add Styles (Required)
|
|
83
92
|
|
|
84
93
|
```tsx
|
|
85
|
-
// Import
|
|
94
|
+
// Import design tokens only (colors, spacing, radii)
|
|
86
95
|
import "@arolariu/components/styles";
|
|
96
|
+
|
|
97
|
+
// Components auto-load their CSS when imported
|
|
98
|
+
import { Button, Card } from "@arolariu/components";
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
`@arolariu/components/styles` provides design tokens only. Component CSS is loaded automatically when you import components.
|
|
102
|
+
|
|
103
|
+
### Optional Theme Overrides
|
|
104
|
+
|
|
105
|
+
```css
|
|
106
|
+
/* app-theme.css */
|
|
107
|
+
:root {
|
|
108
|
+
--ac-primary: oklch(0.62 0.21 262);
|
|
109
|
+
--ac-primary-foreground: oklch(0.99 0.01 260);
|
|
110
|
+
--ac-radius-md: 0.75rem;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
.dark {
|
|
114
|
+
--ac-background: oklch(0.18 0.01 286);
|
|
115
|
+
--ac-foreground: oklch(0.98 0 0);
|
|
116
|
+
}
|
|
87
117
|
```
|
|
88
118
|
|
|
89
|
-
**That's it
|
|
119
|
+
**That's it.** 🎉 You bring your app layout styles with CSS Modules, and the library provides component styling and tokens.
|
|
90
120
|
|
|
91
121
|
---
|
|
92
122
|
|
|
93
123
|
## 📖 Component Catalog
|
|
94
124
|
|
|
95
|
-
Explore our
|
|
125
|
+
Explore our collection of **71+ components** organized by category.
|
|
96
126
|
|
|
97
127
|
### 🎨 Layout & Structure
|
|
98
128
|
|
|
@@ -121,8 +151,9 @@ Explore our comprehensive collection of **60+ components** organized by category
|
|
|
121
151
|
| **Breadcrumb** | Hierarchical navigation trails | `@arolariu/components/breadcrumb` |
|
|
122
152
|
| **NavigationMenu** | Complex dropdown navigation | `@arolariu/components/navigation-menu` |
|
|
123
153
|
| **Sidebar** | Collapsible side navigation | `@arolariu/components/sidebar` |
|
|
154
|
+
| **Menubar** | Application and editor menus | `@arolariu/components/menubar` |
|
|
124
155
|
|
|
125
|
-
###
|
|
156
|
+
### 📦 Overlays & Dialogs
|
|
126
157
|
|
|
127
158
|
| Component | Description | Import |
|
|
128
159
|
| -------------- | ---------------------------------- | --------------------------------- |
|
|
@@ -142,6 +173,29 @@ Explore our comprehensive collection of **60+ components** organized by category
|
|
|
142
173
|
| **Badge** | Status indicators and labels | `@arolariu/components/badge` |
|
|
143
174
|
| **Chart** | Data visualization components | `@arolariu/components/chart` |
|
|
144
175
|
|
|
176
|
+
### 🎛️ Form Controls
|
|
177
|
+
|
|
178
|
+
| Component | Description | Import |
|
|
179
|
+
| ---------------- | ----------------------------------------- | ------------------------------------ |
|
|
180
|
+
| **Form** | Form validation and management | `@arolariu/components/form` |
|
|
181
|
+
| **Field** | Form field layout primitives | `@arolariu/components/field` |
|
|
182
|
+
| **InputOTP** | One-time password input fields | `@arolariu/components/input-otp` |
|
|
183
|
+
| **InputGroup** | Grouped text inputs and actions | `@arolariu/components/input-group` |
|
|
184
|
+
| **RadioGroup** | Single-choice option groups | `@arolariu/components/radio-group` |
|
|
185
|
+
| **Switch** | Toggle switches for binary options | `@arolariu/components/switch` |
|
|
186
|
+
| **Textarea** | Multi-line text input areas | `@arolariu/components/textarea` |
|
|
187
|
+
| **ToggleGroup** | Coordinated toggle button groups | `@arolariu/components/toggle-group` |
|
|
188
|
+
|
|
189
|
+
### 💬 Feedback & Status
|
|
190
|
+
|
|
191
|
+
| Component | Description | Import |
|
|
192
|
+
| ------------ | ------------------------------- | ------------------------------- |
|
|
193
|
+
| **Alert** | Important message notifications | `@arolariu/components/alert` |
|
|
194
|
+
| **Progress** | Task completion indicators | `@arolariu/components/progress` |
|
|
195
|
+
| **Skeleton** | Loading state placeholders | `@arolariu/components/skeleton` |
|
|
196
|
+
| **Toaster** | Base UI-backed toast system | `@arolariu/components/sonner` |
|
|
197
|
+
| **Spinner** | Loading indicators | `@arolariu/components/spinner` |
|
|
198
|
+
|
|
145
199
|
### 🎪 Animated Backgrounds
|
|
146
200
|
|
|
147
201
|
| Component | Description | Import |
|
|
@@ -151,26 +205,62 @@ Explore our comprehensive collection of **60+ components** organized by category
|
|
|
151
205
|
| **FireworksBackground** | Particle explosion effects | `@arolariu/components/fireworks-background` |
|
|
152
206
|
| **GradientBackground** | Dynamic gradient animations | `@arolariu/components/gradient-background` |
|
|
153
207
|
|
|
154
|
-
|
|
208
|
+
**Storybook demos:** Coming soon.
|
|
209
|
+
|
|
210
|
+
---
|
|
155
211
|
|
|
156
|
-
|
|
157
|
-
| -------------- | ---------------------------------- | ---------------------------------- |
|
|
158
|
-
| **Form** | Form validation and management | `@arolariu/components/form` |
|
|
159
|
-
| **InputOTP** | One-time password input fields | `@arolariu/components/input-otp` |
|
|
160
|
-
| **RadioGroup** | Single-choice option groups | `@arolariu/components/radio-group` |
|
|
161
|
-
| **Switch** | Toggle switches for binary options | `@arolariu/components/switch` |
|
|
162
|
-
| **Textarea** | Multi-line text input areas | `@arolariu/components/textarea` |
|
|
212
|
+
## 🔄 Migrating from v0.x
|
|
163
213
|
|
|
164
|
-
|
|
214
|
+
- `@radix-ui/*` has been replaced internally with `@base-ui/react`; this is automatic and does not require consumer changes.
|
|
215
|
+
- `tailwindcss` is no longer a peer dependency.
|
|
216
|
+
- `asChild` still works for backward compatibility, but the `render` prop is now the preferred composition API.
|
|
217
|
+
- The `sonner` toast API is preserved through the compatibility wrapper exported from `@arolariu/components/sonner`.
|
|
218
|
+
- If you previously used `badgeVariants` or `buttonVariants`, migrate to component props such as `variant` and `size` instead.
|
|
219
|
+
- CSS custom properties now use the `--ac-*` prefix.
|
|
165
220
|
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
221
|
+
---
|
|
222
|
+
|
|
223
|
+
## 🏗️ Architecture
|
|
224
|
+
|
|
225
|
+
### Primitives
|
|
226
|
+
|
|
227
|
+
- **Base layer**: [`@base-ui/react`](https://base-ui.com/) provides the primitive building blocks
|
|
228
|
+
- **Composition**: Base UI's `render` prop is the preferred composition API
|
|
229
|
+
- **Backward compatibility**: `asChild` is still supported where available as a shim for Radix-era usage
|
|
230
|
+
|
|
231
|
+
### Styling
|
|
232
|
+
|
|
233
|
+
- Each component is styled with a colocated **CSS Module** such as `button.module.css`
|
|
234
|
+
- `className` remains the public extension point for consumer overrides
|
|
235
|
+
- Base UI state attributes such as `[data-open]`, `[data-disabled]`, `[data-checked]`, and `[data-selected]` drive stateful styling
|
|
236
|
+
- `cn()` now uses **`clsx` only** for predictable class composition
|
|
237
|
+
|
|
238
|
+
### Theming
|
|
239
|
+
|
|
240
|
+
- Design tokens live in `src/index.css`
|
|
241
|
+
- Theme tokens use the `--ac-` prefix, for example:
|
|
242
|
+
- `--ac-primary`
|
|
243
|
+
- `--ac-background`
|
|
244
|
+
- `--ac-radius-md`
|
|
245
|
+
- `--ac-chart-1`
|
|
246
|
+
- Dark mode is activated with either:
|
|
247
|
+
- a `.dark` class
|
|
248
|
+
- or a `[data-theme="dark"]` attribute
|
|
249
|
+
|
|
250
|
+
### Build & Distribution
|
|
251
|
+
|
|
252
|
+
- Built with **RSLib** using ESM output
|
|
253
|
+
- Tree-shakeable direct imports for components
|
|
254
|
+
- TypeScript declarations and source maps included
|
|
255
|
+
|
|
256
|
+
### Common Import Paths
|
|
172
257
|
|
|
173
|
-
|
|
258
|
+
```tsx
|
|
259
|
+
import { Button } from "@arolariu/components/button";
|
|
260
|
+
import { useIsMobile } from "@arolariu/components/useIsMobile";
|
|
261
|
+
import { cn } from "@arolariu/components/utilities";
|
|
262
|
+
import { hexToHsl } from "@arolariu/components/color-conversion-utilities";
|
|
263
|
+
```
|
|
174
264
|
|
|
175
265
|
---
|
|
176
266
|
|
|
@@ -179,37 +269,76 @@ Explore our comprehensive collection of **60+ components** organized by category
|
|
|
179
269
|
### Building a Login Form
|
|
180
270
|
|
|
181
271
|
```tsx
|
|
272
|
+
import { useState } from "react";
|
|
273
|
+
|
|
274
|
+
import { Alert, AlertDescription } from "@arolariu/components/alert";
|
|
275
|
+
import { Button } from "@arolariu/components/button";
|
|
182
276
|
import {
|
|
183
277
|
Card,
|
|
184
|
-
CardHeader,
|
|
185
|
-
CardTitle,
|
|
186
278
|
CardContent,
|
|
187
279
|
CardFooter,
|
|
280
|
+
CardHeader,
|
|
281
|
+
CardTitle,
|
|
188
282
|
} from "@arolariu/components/card";
|
|
283
|
+
import { Checkbox } from "@arolariu/components/checkbox";
|
|
189
284
|
import { Input } from "@arolariu/components/input";
|
|
190
|
-
import { Button } from "@arolariu/components/button";
|
|
191
285
|
import { Label } from "@arolariu/components/label";
|
|
286
|
+
import styles from "./login-form.module.css";
|
|
192
287
|
|
|
193
288
|
export function LoginForm() {
|
|
289
|
+
const [email, setEmail] = useState("");
|
|
290
|
+
const [password, setPassword] = useState("");
|
|
291
|
+
const [rememberMe, setRememberMe] = useState(false);
|
|
292
|
+
const [error, setError] = useState("");
|
|
293
|
+
|
|
194
294
|
return (
|
|
195
|
-
<
|
|
196
|
-
<
|
|
197
|
-
<
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
<
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
295
|
+
<div className={styles.wrapper}>
|
|
296
|
+
<Card className={styles.card}>
|
|
297
|
+
<CardHeader>
|
|
298
|
+
<CardTitle>Welcome Back</CardTitle>
|
|
299
|
+
</CardHeader>
|
|
300
|
+
<CardContent className={styles.content}>
|
|
301
|
+
{error ? (
|
|
302
|
+
<Alert variant="destructive">
|
|
303
|
+
<AlertDescription>{error}</AlertDescription>
|
|
304
|
+
</Alert>
|
|
305
|
+
) : null}
|
|
306
|
+
|
|
307
|
+
<div className={styles.field}>
|
|
308
|
+
<Label htmlFor="email">Email</Label>
|
|
309
|
+
<Input
|
|
310
|
+
id="email"
|
|
311
|
+
type="email"
|
|
312
|
+
placeholder="you@example.com"
|
|
313
|
+
value={email}
|
|
314
|
+
onChange={(event) => setEmail(event.target.value)}
|
|
315
|
+
/>
|
|
316
|
+
</div>
|
|
317
|
+
|
|
318
|
+
<div className={styles.field}>
|
|
319
|
+
<Label htmlFor="password">Password</Label>
|
|
320
|
+
<Input
|
|
321
|
+
id="password"
|
|
322
|
+
type="password"
|
|
323
|
+
value={password}
|
|
324
|
+
onChange={(event) => setPassword(event.target.value)}
|
|
325
|
+
/>
|
|
326
|
+
</div>
|
|
327
|
+
|
|
328
|
+
<div className={styles.checkboxRow}>
|
|
329
|
+
<Checkbox
|
|
330
|
+
id="remember"
|
|
331
|
+
checked={rememberMe}
|
|
332
|
+
onCheckedChange={setRememberMe}
|
|
333
|
+
/>
|
|
334
|
+
<Label htmlFor="remember">Remember me</Label>
|
|
335
|
+
</div>
|
|
336
|
+
</CardContent>
|
|
337
|
+
<CardFooter>
|
|
338
|
+
<Button className={styles.submitButton}>Sign In</Button>
|
|
339
|
+
</CardFooter>
|
|
340
|
+
</Card>
|
|
341
|
+
</div>
|
|
213
342
|
);
|
|
214
343
|
}
|
|
215
344
|
```
|
|
@@ -217,39 +346,38 @@ export function LoginForm() {
|
|
|
217
346
|
### Data Dashboard
|
|
218
347
|
|
|
219
348
|
```tsx
|
|
349
|
+
import { Badge } from "@arolariu/components/badge";
|
|
220
350
|
import {
|
|
221
351
|
Card,
|
|
352
|
+
CardContent,
|
|
222
353
|
CardHeader,
|
|
223
354
|
CardTitle,
|
|
224
|
-
CardContent,
|
|
225
355
|
} from "@arolariu/components/card";
|
|
226
356
|
import { Progress } from "@arolariu/components/progress";
|
|
227
|
-
import
|
|
228
|
-
import { Chart } from "@arolariu/components/chart";
|
|
357
|
+
import styles from "./dashboard.module.css";
|
|
229
358
|
|
|
230
359
|
export function Dashboard() {
|
|
231
360
|
return (
|
|
232
|
-
<div className=
|
|
361
|
+
<div className={styles.grid}>
|
|
233
362
|
<Card>
|
|
234
363
|
<CardHeader>
|
|
235
|
-
<CardTitle className=
|
|
364
|
+
<CardTitle className={styles.titleRow}>
|
|
236
365
|
Sales <Badge variant="secondary">+12%</Badge>
|
|
237
366
|
</CardTitle>
|
|
238
367
|
</CardHeader>
|
|
239
|
-
<CardContent>
|
|
240
|
-
<Progress value={75}
|
|
241
|
-
<p className=
|
|
242
|
-
75% of monthly goal
|
|
243
|
-
</p>
|
|
368
|
+
<CardContent className={styles.stack}>
|
|
369
|
+
<Progress value={75} />
|
|
370
|
+
<p className={styles.mutedText}>75% of monthly goal</p>
|
|
244
371
|
</CardContent>
|
|
245
372
|
</Card>
|
|
246
373
|
|
|
247
374
|
<Card>
|
|
248
375
|
<CardHeader>
|
|
249
|
-
<CardTitle>
|
|
376
|
+
<CardTitle>Team Health</CardTitle>
|
|
250
377
|
</CardHeader>
|
|
251
|
-
<CardContent>
|
|
252
|
-
<
|
|
378
|
+
<CardContent className={styles.stack}>
|
|
379
|
+
<p className={styles.metric}>24 active contributors</p>
|
|
380
|
+
<p className={styles.mutedText}>Using `--ac-*` tokens and Base UI primitives across the app</p>
|
|
253
381
|
</CardContent>
|
|
254
382
|
</Card>
|
|
255
383
|
</div>
|
|
@@ -263,51 +391,38 @@ export function Dashboard() {
|
|
|
263
391
|
import {
|
|
264
392
|
NavigationMenu,
|
|
265
393
|
NavigationMenuItem,
|
|
394
|
+
NavigationMenuLink,
|
|
266
395
|
NavigationMenuList,
|
|
267
396
|
} from "@arolariu/components/navigation-menu";
|
|
268
|
-
import { Button } from "@arolariu/components/button";
|
|
269
397
|
import { Sheet, SheetContent, SheetTrigger } from "@arolariu/components/sheet";
|
|
270
398
|
import { MenuIcon } from "lucide-react";
|
|
399
|
+
import styles from "./app-header.module.css";
|
|
271
400
|
|
|
272
401
|
export function AppHeader() {
|
|
273
402
|
return (
|
|
274
|
-
<header className=
|
|
275
|
-
<div className=
|
|
276
|
-
<h1 className=
|
|
403
|
+
<header className={styles.header}>
|
|
404
|
+
<div className={styles.container}>
|
|
405
|
+
<h1 className={styles.brand}>My App</h1>
|
|
277
406
|
|
|
278
|
-
{
|
|
279
|
-
<NavigationMenu className="hidden md:flex">
|
|
407
|
+
<NavigationMenu className={styles.desktopNav}>
|
|
280
408
|
<NavigationMenuList>
|
|
281
409
|
<NavigationMenuItem>
|
|
282
|
-
<
|
|
283
|
-
</NavigationMenuItem>
|
|
284
|
-
<NavigationMenuItem>
|
|
285
|
-
<Button variant="ghost">About</Button>
|
|
410
|
+
<NavigationMenuLink href="/">Home</NavigationMenuLink>
|
|
286
411
|
</NavigationMenuItem>
|
|
287
412
|
<NavigationMenuItem>
|
|
288
|
-
<
|
|
413
|
+
<NavigationMenuLink href="/about">About</NavigationMenuLink>
|
|
289
414
|
</NavigationMenuItem>
|
|
290
415
|
</NavigationMenuList>
|
|
291
416
|
</NavigationMenu>
|
|
292
417
|
|
|
293
|
-
{/* Mobile Navigation */}
|
|
294
418
|
<Sheet>
|
|
295
|
-
<SheetTrigger
|
|
296
|
-
<
|
|
297
|
-
<MenuIcon />
|
|
298
|
-
</Button>
|
|
419
|
+
<SheetTrigger render={<button type="button" className={styles.mobileTrigger} />}>
|
|
420
|
+
<MenuIcon />
|
|
299
421
|
</SheetTrigger>
|
|
300
422
|
<SheetContent>
|
|
301
|
-
<nav className=
|
|
302
|
-
<
|
|
303
|
-
|
|
304
|
-
</Button>
|
|
305
|
-
<Button variant="ghost" className="w-full justify-start">
|
|
306
|
-
About
|
|
307
|
-
</Button>
|
|
308
|
-
<Button variant="ghost" className="w-full justify-start">
|
|
309
|
-
Contact
|
|
310
|
-
</Button>
|
|
423
|
+
<nav className={styles.mobileNav}>
|
|
424
|
+
<a href="/">Home</a>
|
|
425
|
+
<a href="/about">About</a>
|
|
311
426
|
</nav>
|
|
312
427
|
</SheetContent>
|
|
313
428
|
</Sheet>
|
|
@@ -323,44 +438,49 @@ export function AppHeader() {
|
|
|
323
438
|
|
|
324
439
|
### Tree Shaking & Bundle Optimization
|
|
325
440
|
|
|
326
|
-
**@arolariu/components** is built with bundle optimization in mind
|
|
441
|
+
**@arolariu/components** is built with bundle optimization in mind.
|
|
327
442
|
|
|
328
443
|
```tsx
|
|
329
|
-
// ✅ Optimal:
|
|
444
|
+
// ✅ Optimal: import only what you need
|
|
330
445
|
import { Button } from "@arolariu/components/button";
|
|
331
446
|
import { Card } from "@arolariu/components/card";
|
|
332
447
|
|
|
333
|
-
// ❌ Avoid
|
|
448
|
+
// ❌ Avoid when bundle size matters
|
|
334
449
|
import { Button, Card } from "@arolariu/components";
|
|
335
450
|
```
|
|
336
451
|
|
|
337
|
-
**Bundle Impact
|
|
452
|
+
**Bundle Impact**
|
|
338
453
|
|
|
339
|
-
- Individual components:
|
|
340
|
-
- Full library:
|
|
341
|
-
- With tree shaking:
|
|
454
|
+
- Individual components: typically a few KB gzipped
|
|
455
|
+
- Full library: importable as ESM
|
|
456
|
+
- With tree shaking: only pay for what you use
|
|
342
457
|
|
|
343
458
|
### TypeScript Integration
|
|
344
459
|
|
|
345
|
-
Full TypeScript support with intelligent autocomplete
|
|
460
|
+
Full TypeScript support with intelligent autocomplete.
|
|
346
461
|
|
|
347
462
|
```tsx
|
|
348
463
|
import { Button, type ButtonProps } from "@arolariu/components/button";
|
|
349
|
-
import {
|
|
350
|
-
|
|
351
|
-
// Get variant types for custom components
|
|
352
|
-
type ButtonVariant = VariantProps<typeof Button>["variant"];
|
|
464
|
+
import { cn } from "@arolariu/components/utilities";
|
|
465
|
+
import styles from "./custom-button.module.css";
|
|
353
466
|
|
|
354
467
|
interface CustomButtonProps extends ButtonProps {
|
|
355
468
|
icon?: React.ReactNode;
|
|
356
|
-
variant?: ButtonVariant;
|
|
357
469
|
}
|
|
358
470
|
|
|
359
|
-
export function CustomButton({
|
|
471
|
+
export function CustomButton({
|
|
472
|
+
icon,
|
|
473
|
+
children,
|
|
474
|
+
className,
|
|
475
|
+
...props
|
|
476
|
+
}: CustomButtonProps) {
|
|
360
477
|
return (
|
|
361
|
-
<Button
|
|
362
|
-
{
|
|
363
|
-
{
|
|
478
|
+
<Button
|
|
479
|
+
className={cn(styles.customButton, className)}
|
|
480
|
+
{...props}
|
|
481
|
+
>
|
|
482
|
+
{icon ? <span className={styles.icon}>{icon}</span> : null}
|
|
483
|
+
<span>{children}</span>
|
|
364
484
|
</Button>
|
|
365
485
|
);
|
|
366
486
|
}
|
|
@@ -368,12 +488,12 @@ export function CustomButton({ icon, children, ...props }: CustomButtonProps) {
|
|
|
368
488
|
|
|
369
489
|
### Server-Side Rendering (SSR)
|
|
370
490
|
|
|
371
|
-
Compatible with **Next.js**, **Remix**, and other SSR frameworks
|
|
491
|
+
Compatible with **Next.js**, **Remix**, and other SSR frameworks.
|
|
372
492
|
|
|
373
493
|
```tsx
|
|
374
|
-
// app/page.tsx
|
|
375
|
-
import { Card, CardContent } from "@arolariu/components/card";
|
|
494
|
+
// app/page.tsx
|
|
376
495
|
import { Button } from "@arolariu/components/button";
|
|
496
|
+
import { Card, CardContent } from "@arolariu/components/card";
|
|
377
497
|
|
|
378
498
|
export default function HomePage() {
|
|
379
499
|
return (
|
|
@@ -384,60 +504,33 @@ export default function HomePage() {
|
|
|
384
504
|
</Card>
|
|
385
505
|
);
|
|
386
506
|
}
|
|
507
|
+
```
|
|
387
508
|
|
|
388
|
-
|
|
389
|
-
("use client");
|
|
390
|
-
import { useState } from "react";
|
|
391
|
-
import {
|
|
392
|
-
Dialog,
|
|
393
|
-
DialogTrigger,
|
|
394
|
-
DialogContent,
|
|
395
|
-
} from "@arolariu/components/dialog";
|
|
509
|
+
### Theming & Customization
|
|
396
510
|
|
|
397
|
-
|
|
398
|
-
const [isOpen, setIsOpen] = useState(false);
|
|
511
|
+
Built around **OKLCH CSS custom properties** and **CSS Modules**.
|
|
399
512
|
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
</DialogContent>
|
|
408
|
-
</Dialog>
|
|
409
|
-
);
|
|
513
|
+
```css
|
|
514
|
+
/* theme-overrides.module.css */
|
|
515
|
+
.themeScope {
|
|
516
|
+
--ac-primary: oklch(0.7 0.19 250);
|
|
517
|
+
--ac-primary-foreground: oklch(0.99 0.01 250);
|
|
518
|
+
--ac-muted: oklch(0.96 0.01 286);
|
|
519
|
+
--ac-radius-md: 0.875rem;
|
|
410
520
|
}
|
|
411
521
|
```
|
|
412
522
|
|
|
413
|
-
### Theming & Customization
|
|
414
|
-
|
|
415
|
-
Built with **Tailwind CSS** for easy customization:
|
|
416
|
-
|
|
417
523
|
```tsx
|
|
418
|
-
// Custom theme configuration
|
|
419
524
|
import { Button } from "@arolariu/components/button";
|
|
525
|
+
import styles from "./theme-overrides.module.css";
|
|
420
526
|
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
</Button
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
const customButtonVariants = cva(
|
|
430
|
-
"inline-flex items-center justify-center rounded-md font-medium transition-colors",
|
|
431
|
-
{
|
|
432
|
-
variants: {
|
|
433
|
-
variant: {
|
|
434
|
-
gradient:
|
|
435
|
-
"bg-gradient-to-r from-purple-500 to-pink-500 text-white hover:from-purple-600 hover:to-pink-600",
|
|
436
|
-
neon: "bg-black text-green-400 border border-green-400 hover:bg-green-400 hover:text-black",
|
|
437
|
-
},
|
|
438
|
-
},
|
|
439
|
-
},
|
|
440
|
-
);
|
|
527
|
+
export function ThemedExample() {
|
|
528
|
+
return (
|
|
529
|
+
<section className={styles.themeScope}>
|
|
530
|
+
<Button>Custom themed button</Button>
|
|
531
|
+
</section>
|
|
532
|
+
);
|
|
533
|
+
}
|
|
441
534
|
```
|
|
442
535
|
|
|
443
536
|
---
|
|
@@ -446,35 +539,32 @@ const customButtonVariants = cva(
|
|
|
446
539
|
|
|
447
540
|
### Complete Source Map Support
|
|
448
541
|
|
|
449
|
-
**Debug like a pro** with comprehensive development tools
|
|
542
|
+
**Debug like a pro** with comprehensive development tools.
|
|
450
543
|
|
|
451
544
|
- ✅ **JavaScript source maps** for accurate debugging
|
|
452
|
-
- ✅ **CSS source maps** for
|
|
545
|
+
- ✅ **CSS source maps** for CSS Module debugging
|
|
453
546
|
- ✅ **TypeScript declaration maps** for IDE IntelliSense
|
|
454
547
|
- ✅ **Original source access** via included `src/` directory
|
|
455
548
|
|
|
456
549
|
### Browser DevTools Integration
|
|
457
550
|
|
|
458
551
|
```tsx
|
|
459
|
-
// Components are easily debuggable in DevTools
|
|
460
552
|
import { Button } from "@arolariu/components/button";
|
|
461
553
|
|
|
462
554
|
function MyComponent() {
|
|
463
555
|
return <Button onClick={() => console.log("Clicked!")}>Debug Me</Button>;
|
|
464
556
|
}
|
|
465
|
-
|
|
466
|
-
// Set breakpoints in your original TypeScript code
|
|
467
|
-
// Stack traces point to exact source locations
|
|
468
|
-
// Inspect component props and state easily
|
|
469
557
|
```
|
|
470
558
|
|
|
471
|
-
|
|
559
|
+
Inspect generated class names, Base UI data attributes, and source-mapped module styles directly in DevTools.
|
|
560
|
+
|
|
561
|
+
📖 **[Full Debugging Guide](./DEBUGGING.md)** - Learn advanced debugging techniques.
|
|
472
562
|
|
|
473
563
|
---
|
|
474
564
|
|
|
475
565
|
## 🌐 Browser Support
|
|
476
566
|
|
|
477
|
-
**Modern browsers only** for optimal performance
|
|
567
|
+
**Modern browsers only** for optimal performance.
|
|
478
568
|
|
|
479
569
|
| Browser | Version |
|
|
480
570
|
| ------------------ | ----------- |
|
|
@@ -482,13 +572,13 @@ function MyComponent() {
|
|
|
482
572
|
| 🦊 **Firefox** | 88+ (2021+) |
|
|
483
573
|
| 🧭 **Safari** | 14+ (2020+) |
|
|
484
574
|
|
|
485
|
-
**Why modern browsers?**
|
|
575
|
+
**Why modern browsers?** The library uses modern ESM output, CSS custom properties, and contemporary platform APIs for smaller bundles and better performance.
|
|
486
576
|
|
|
487
577
|
---
|
|
488
578
|
|
|
489
579
|
## 🤝 Contributing
|
|
490
580
|
|
|
491
|
-
We welcome contributions
|
|
581
|
+
We welcome contributions. Help make @arolariu/components even better.
|
|
492
582
|
|
|
493
583
|
### Quick Start for Contributors
|
|
494
584
|
|
|
@@ -498,31 +588,32 @@ git clone https://github.com/your-username/arolariu.ro.git
|
|
|
498
588
|
cd arolariu.ro/packages/components
|
|
499
589
|
|
|
500
590
|
# 2. Install dependencies
|
|
501
|
-
|
|
591
|
+
npm install
|
|
502
592
|
|
|
503
593
|
# 3. Start development environment
|
|
504
|
-
|
|
505
|
-
|
|
594
|
+
npm run build:components
|
|
595
|
+
npm run dev:components
|
|
506
596
|
|
|
507
597
|
# 4. Make your changes and test
|
|
508
|
-
|
|
598
|
+
npm run build:components
|
|
509
599
|
```
|
|
510
600
|
|
|
511
601
|
### Ways to Contribute
|
|
512
602
|
|
|
513
603
|
- 🐛 **Report bugs** - Found an issue? [Open an issue](https://github.com/arolariu/arolariu.ro/issues)
|
|
514
|
-
- 💡 **Suggest features** - Have an idea? We'd love to hear it
|
|
604
|
+
- 💡 **Suggest features** - Have an idea? We'd love to hear it
|
|
515
605
|
- 🔧 **Fix issues** - Browse [open issues](https://github.com/arolariu/arolariu.ro/issues) and submit PRs
|
|
516
606
|
- 📖 **Improve docs** - Help make our documentation clearer
|
|
517
607
|
- 🎨 **Add components** - Contribute new components following our patterns
|
|
518
608
|
|
|
519
609
|
### Component Development Guidelines
|
|
520
610
|
|
|
521
|
-
1. **Follow accessibility standards** - Use
|
|
611
|
+
1. **Follow accessibility standards** - Use Base UI primitives when appropriate
|
|
522
612
|
2. **Include TypeScript types** - Full type definitions required
|
|
523
|
-
3. **Add
|
|
613
|
+
3. **Add stories or demos** - Document variants and use cases
|
|
524
614
|
4. **Write tests** - Ensure components work correctly
|
|
525
615
|
5. **Follow naming conventions** - Use clear, descriptive names
|
|
616
|
+
6. **Prefer CSS Modules** - Keep component styles colocated and token-driven
|
|
526
617
|
|
|
527
618
|
**[Read our full contributing guide →](./CONTRIBUTING.md)**
|
|
528
619
|
|
|
@@ -538,23 +629,35 @@ npm install @arolariu/components
|
|
|
538
629
|
npx bundlephobia @arolariu/components
|
|
539
630
|
```
|
|
540
631
|
|
|
541
|
-
**Key Stats
|
|
632
|
+
**Key Stats**
|
|
542
633
|
|
|
543
|
-
-
|
|
544
|
-
- 🌲 **Tree-shakeable**:
|
|
545
|
-
- 📝 **TypeScript**:
|
|
546
|
-
- ♿ **Accessibility**:
|
|
547
|
-
- 🎭 **Styling**:
|
|
548
|
-
-
|
|
634
|
+
- 📦 **Version**: 1.0.0
|
|
635
|
+
- 🌲 **Tree-shakeable**: import only what you need
|
|
636
|
+
- 📝 **TypeScript**: typed package with declaration output
|
|
637
|
+
- ♿ **Accessibility**: Base UI-backed primitives and patterns
|
|
638
|
+
- 🎭 **Styling**: CSS Modules + package-level design tokens
|
|
639
|
+
- 🌙 **Theming**: `--ac-*` tokens with `.dark` and `[data-theme="dark"]` support
|
|
549
640
|
|
|
550
641
|
### Dependencies
|
|
551
642
|
|
|
552
|
-
|
|
643
|
+
Core runtime dependencies include:
|
|
644
|
+
|
|
645
|
+
- **@base-ui/react** - Accessible component primitives in a single package
|
|
646
|
+
- **clsx** - Class name composition used by `cn()`
|
|
647
|
+
- **lucide-react** - Icon set
|
|
648
|
+
- **motion** - Animation library
|
|
649
|
+
- **react-hook-form** and **zod** - Forms and validation helpers
|
|
650
|
+
- **embla-carousel-react**, **recharts**, **react-day-picker**, **input-otp**, **react-resizable-panels**, **shiki** - Specialized UI integrations
|
|
651
|
+
|
|
652
|
+
Removed from the 1.0.0 architecture:
|
|
553
653
|
|
|
554
|
-
-
|
|
555
|
-
-
|
|
556
|
-
-
|
|
557
|
-
-
|
|
654
|
+
- `@radix-ui/*`
|
|
655
|
+
- `tailwind-merge`
|
|
656
|
+
- `class-variance-authority`
|
|
657
|
+
- `tailwindcss-animate`
|
|
658
|
+
- `vaul`
|
|
659
|
+
- `sonner`
|
|
660
|
+
- `cmdk`
|
|
558
661
|
|
|
559
662
|
---
|
|
560
663
|
|
|
@@ -586,25 +689,25 @@ Senior Software Engineer passionate about creating beautiful, accessible user in
|
|
|
586
689
|
|
|
587
690
|
- 🌐 **Website**: [arolariu.ro](https://arolariu.ro)
|
|
588
691
|
- 💻 **GitHub**: [@arolariu](https://github.com/arolariu)
|
|
589
|
-
-
|
|
692
|
+
- 💼 **LinkedIn**: [Alexandru-Razvan Olariu](https://www.linkedin.com/in/olariu-alexandru/)
|
|
590
693
|
- 📧 **Email**: [admin@arolariu.ro](mailto:admin@arolariu.ro)
|
|
591
694
|
|
|
592
695
|
---
|
|
593
696
|
|
|
594
697
|
## 🙏 Acknowledgments & Inspiration
|
|
595
698
|
|
|
596
|
-
This library wouldn't exist without these amazing projects
|
|
699
|
+
This library wouldn't exist without these amazing projects.
|
|
597
700
|
|
|
598
|
-
- 🎨 **[
|
|
701
|
+
- 🎨 **[Base UI](https://base-ui.com/)** - Accessible component primitives
|
|
599
702
|
- 💫 **[shadcn/ui](https://ui.shadcn.com/)** - Component design patterns and inspiration
|
|
600
|
-
- 🎭 **
|
|
703
|
+
- 🎭 **CSS Modules** - Scoped styling model used throughout the library
|
|
601
704
|
- ⚡ **[Motion](https://motion.dev/)** - Animation library for React
|
|
602
705
|
- 🛠️ **[Rslib](https://rslib.dev/)** - Fast, modern bundling with Rsbuild
|
|
603
706
|
- 📖 **[Storybook](https://storybook.js.org/)** - Component development environment
|
|
604
707
|
- 🎪 **[Magic UI](https://magicui.design/)** - Additional component inspiration
|
|
605
708
|
- ✨ **[Aceternity UI](https://ui.aceternity.com/)** - Creative component patterns
|
|
606
709
|
|
|
607
|
-
**Special thanks** to the open-source community for making all of this possible
|
|
710
|
+
**Special thanks** to the open-source community for making all of this possible. 💜
|
|
608
711
|
|
|
609
712
|
---
|
|
610
713
|
|
|
@@ -612,11 +715,11 @@ This library wouldn't exist without these amazing projects:
|
|
|
612
715
|
|
|
613
716
|
## ⭐ Star the Project
|
|
614
717
|
|
|
615
|
-
If **@arolariu/components** helps you build better UIs, please consider giving it a star on GitHub
|
|
718
|
+
If **@arolariu/components** helps you build better UIs, please consider giving it a star on GitHub.
|
|
616
719
|
|
|
617
720
|
[](https://github.com/arolariu/arolariu.ro)
|
|
618
721
|
|
|
619
|
-
**[⭐ Star on GitHub](https://github.com/arolariu/arolariu.ro)** • **[📖 View
|
|
722
|
+
**[⭐ Star on GitHub](https://github.com/arolariu/arolariu.ro)** • **[📖 View Component Catalog](#-component-catalog)** • **[🐛 Report Issues](https://github.com/arolariu/arolariu.ro/issues)**
|
|
620
723
|
|
|
621
724
|
---
|
|
622
725
|
|