@kuzenbo/core 0.0.2 → 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -3
- package/dist/avatar-image-BQ_NEKH4.js +47 -0
- package/dist/avatar-image-BQ_NEKH4.js.map +1 -0
- package/dist/avatar-image-Ce26D2fb.d.ts +41 -0
- package/dist/avatar-image-Ce26D2fb.d.ts.map +1 -0
- package/dist/button-group-size-context-DW7Gn-3k.js +8 -0
- package/dist/button-group-size-context-DW7Gn-3k.js.map +1 -0
- package/dist/dialog-trigger-BUF3elAP.js +122 -0
- package/dist/dialog-trigger-BUF3elAP.js.map +1 -0
- package/dist/dialog-viewport-Ce1huyAI.d.ts +96 -0
- package/dist/dialog-viewport-Ce1huyAI.d.ts.map +1 -0
- package/dist/dropdown-menu-trigger-BpgtLUvf.d.ts +646 -0
- package/dist/dropdown-menu-trigger-BpgtLUvf.d.ts.map +1 -0
- package/dist/dropdown-menu-trigger-COnFGfDa.js +488 -0
- package/dist/dropdown-menu-trigger-COnFGfDa.js.map +1 -0
- package/dist/input-group-textarea-B-rP98r5.js +120 -0
- package/dist/input-group-textarea-B-rP98r5.js.map +1 -0
- package/dist/merge-base-ui-class-name-HKsgjcXj.js +11 -0
- package/dist/merge-base-ui-class-name-HKsgjcXj.js.map +1 -0
- package/dist/provider.d.ts +4 -0
- package/dist/provider.js +5 -0
- package/dist/scroll-bar-C4qEUKlT.js +26 -0
- package/dist/scroll-bar-C4qEUKlT.js.map +1 -0
- package/dist/sheet-trigger-D7neoTF5.js +121 -0
- package/dist/sheet-trigger-D7neoTF5.js.map +1 -0
- package/dist/size-context-BjRwqlSg.js +25 -0
- package/dist/size-context-BjRwqlSg.js.map +1 -0
- package/dist/size-context-DXfCAlWF.d.ts +16 -0
- package/dist/size-context-DXfCAlWF.d.ts.map +1 -0
- package/dist/size-provider-18EvJgDT.js +128 -0
- package/dist/size-provider-18EvJgDT.js.map +1 -0
- package/dist/size-provider-Bd2C6gKd.d.ts +53 -0
- package/dist/size-provider-Bd2C6gKd.d.ts.map +1 -0
- package/dist/size-system-DTXmtQXw.js +47 -0
- package/dist/size-system-DTXmtQXw.js.map +1 -0
- package/dist/size-system-wzOLSuax.d.ts +6 -0
- package/dist/size-system-wzOLSuax.d.ts.map +1 -0
- package/dist/size.d.ts +4 -0
- package/dist/size.js +5 -0
- package/dist/slider-root-presentation-ChJHPMIV.js +336 -0
- package/dist/slider-root-presentation-ChJHPMIV.js.map +1 -0
- package/dist/slider-value-Db8SCu0c.d.ts +146 -0
- package/dist/slider-value-Db8SCu0c.d.ts.map +1 -0
- package/dist/tooltip-trigger-qXw-_nbh.js +101 -0
- package/dist/tooltip-trigger-qXw-_nbh.js.map +1 -0
- package/dist/tooltip-viewport-csA6luqI.d.ts +103 -0
- package/dist/tooltip-viewport-csA6luqI.d.ts.map +1 -0
- package/dist/ui/accordion.d.ts +83 -0
- package/dist/ui/accordion.d.ts.map +1 -0
- package/dist/ui/accordion.js +311 -0
- package/dist/ui/accordion.js.map +1 -0
- package/dist/ui/affix.d.ts +50 -0
- package/dist/ui/affix.d.ts.map +1 -0
- package/dist/ui/affix.js +69 -0
- package/dist/ui/affix.js.map +1 -0
- package/dist/ui/alert-dialog.d.ts +190 -0
- package/dist/ui/alert-dialog.d.ts.map +1 -0
- package/dist/ui/alert-dialog.js +164 -0
- package/dist/ui/alert-dialog.js.map +1 -0
- package/dist/ui/alert.d.ts +126 -0
- package/dist/ui/alert.d.ts.map +1 -0
- package/dist/ui/alert.js +238 -0
- package/dist/ui/alert.js.map +1 -0
- package/dist/ui/announcement.d.ts +41 -0
- package/dist/ui/announcement.d.ts.map +1 -0
- package/dist/ui/announcement.js +30 -0
- package/dist/ui/announcement.js.map +1 -0
- package/dist/ui/aspect-ratio.d.ts.map +1 -0
- package/dist/ui/aspect-ratio.js +14 -0
- package/dist/ui/aspect-ratio.js.map +1 -0
- package/dist/ui/autocomplete.d.ts +401 -0
- package/dist/ui/autocomplete.d.ts.map +1 -0
- package/dist/ui/autocomplete.js +332 -0
- package/dist/ui/autocomplete.js.map +1 -0
- package/dist/ui/avatar.d.ts +39 -0
- package/dist/ui/avatar.d.ts.map +1 -0
- package/dist/ui/avatar.js +27 -0
- package/dist/ui/avatar.js.map +1 -0
- package/dist/ui/badge.d.ts +69 -0
- package/dist/ui/badge.d.ts.map +1 -0
- package/dist/ui/badge.js +55 -0
- package/dist/ui/badge.js.map +1 -0
- package/dist/ui/breadcrumb.d.ts +272 -0
- package/dist/ui/breadcrumb.d.ts.map +1 -0
- package/dist/ui/breadcrumb.js +195 -0
- package/dist/ui/breadcrumb.js.map +1 -0
- package/dist/ui/button-group.d.ts +147 -0
- package/dist/ui/button-group.d.ts.map +1 -0
- package/dist/ui/button-group.js +105 -0
- package/dist/ui/button-group.js.map +1 -0
- package/dist/ui/button.d.ts +78 -0
- package/dist/ui/button.d.ts.map +1 -0
- package/dist/ui/button.js +110 -0
- package/dist/ui/button.js.map +1 -0
- package/dist/ui/card.d.ts +80 -0
- package/dist/ui/card.d.ts.map +1 -0
- package/dist/ui/card.js +77 -0
- package/dist/ui/card.js.map +1 -0
- package/dist/ui/carousel.d.ts +93 -0
- package/dist/ui/carousel.d.ts.map +1 -0
- package/dist/ui/carousel.js +162 -0
- package/dist/ui/carousel.js.map +1 -0
- package/dist/ui/checkbox-group.d.ts.map +1 -0
- package/dist/ui/checkbox-group.js +14 -0
- package/dist/ui/checkbox-group.js.map +1 -0
- package/dist/ui/checkbox.d.ts +89 -0
- package/dist/ui/checkbox.d.ts.map +1 -0
- package/dist/ui/checkbox.js +68 -0
- package/dist/ui/checkbox.js.map +1 -0
- package/dist/ui/code.d.ts.map +1 -0
- package/dist/ui/code.js +22 -0
- package/dist/ui/code.js.map +1 -0
- package/dist/ui/collapsible.d.ts +36 -0
- package/dist/ui/collapsible.d.ts.map +1 -0
- package/dist/ui/collapsible.js +34 -0
- package/dist/ui/collapsible.js.map +1 -0
- package/dist/ui/combobox.d.ts +683 -0
- package/dist/ui/combobox.d.ts.map +1 -0
- package/dist/ui/combobox.js +569 -0
- package/dist/ui/combobox.js.map +1 -0
- package/dist/ui/command.d.ts +325 -0
- package/dist/ui/command.d.ts.map +1 -0
- package/dist/ui/command.js +252 -0
- package/dist/ui/command.js.map +1 -0
- package/dist/ui/container.d.ts.map +1 -0
- package/dist/ui/container.js +13 -0
- package/dist/ui/container.js.map +1 -0
- package/dist/ui/context-menu.d.ts +764 -0
- package/dist/ui/context-menu.d.ts.map +1 -0
- package/dist/ui/context-menu.js +505 -0
- package/dist/ui/context-menu.js.map +1 -0
- package/dist/ui/copy-button.d.ts +40 -0
- package/dist/ui/copy-button.d.ts.map +1 -0
- package/dist/ui/copy-button.js +130 -0
- package/dist/ui/copy-button.js.map +1 -0
- package/dist/ui/dialog.d.ts +66 -0
- package/dist/ui/dialog.d.ts.map +1 -0
- package/dist/ui/dialog.js +27 -0
- package/dist/ui/dialog.js.map +1 -0
- package/dist/ui/drawer.d.ts +535 -0
- package/dist/ui/drawer.d.ts.map +1 -0
- package/dist/ui/drawer.js +293 -0
- package/dist/ui/drawer.js.map +1 -0
- package/dist/ui/dropdown-menu.d.ts +144 -0
- package/dist/ui/dropdown-menu.d.ts.map +1 -0
- package/dist/ui/dropdown-menu.js +40 -0
- package/dist/ui/dropdown-menu.js.map +1 -0
- package/dist/ui/dropzone.d.ts +274 -0
- package/dist/ui/dropzone.d.ts.map +1 -0
- package/dist/ui/dropzone.js +208 -0
- package/dist/ui/dropzone.js.map +1 -0
- package/dist/ui/emoji-picker.d.ts +397 -0
- package/dist/ui/emoji-picker.d.ts.map +1 -0
- package/dist/ui/emoji-picker.js +346 -0
- package/dist/ui/emoji-picker.js.map +1 -0
- package/dist/ui/empty.d.ts +279 -0
- package/dist/ui/empty.d.ts.map +1 -0
- package/dist/ui/empty.js +211 -0
- package/dist/ui/empty.js.map +1 -0
- package/dist/ui/field.d.ts +120 -0
- package/dist/ui/field.d.ts.map +1 -0
- package/dist/ui/field.js +86 -0
- package/dist/ui/field.js.map +1 -0
- package/dist/ui/fieldset.d.ts +36 -0
- package/dist/ui/fieldset.d.ts.map +1 -0
- package/dist/ui/fieldset.js +28 -0
- package/dist/ui/fieldset.js.map +1 -0
- package/dist/ui/form.d.ts +28 -0
- package/dist/ui/form.d.ts.map +1 -0
- package/dist/ui/form.js +15 -0
- package/dist/ui/form.js.map +1 -0
- package/dist/ui/input-group.d.ts +160 -0
- package/dist/ui/input-group.d.ts.map +1 -0
- package/dist/ui/input-group.js +31 -0
- package/dist/ui/input-group.js.map +1 -0
- package/dist/ui/input-otp.d.ts +206 -0
- package/dist/ui/input-otp.d.ts.map +1 -0
- package/dist/ui/input-otp.js +139 -0
- package/dist/ui/input-otp.js.map +1 -0
- package/dist/ui/input.d.ts +46 -0
- package/dist/ui/input.d.ts.map +1 -0
- package/dist/ui/input.js +37 -0
- package/dist/ui/input.js.map +1 -0
- package/dist/ui/item.d.ts +182 -0
- package/dist/ui/item.d.ts.map +1 -0
- package/dist/ui/item.js +142 -0
- package/dist/ui/item.js.map +1 -0
- package/dist/ui/kbd.d.ts +36 -0
- package/dist/ui/kbd.d.ts.map +1 -0
- package/dist/ui/kbd.js +54 -0
- package/dist/ui/kbd.js.map +1 -0
- package/dist/ui/label.d.ts.map +1 -0
- package/dist/ui/label.js +16 -0
- package/dist/ui/label.js.map +1 -0
- package/dist/ui/marquee.d.ts +58 -0
- package/dist/ui/marquee.d.ts.map +1 -0
- package/dist/ui/marquee.js +42 -0
- package/dist/ui/marquee.js.map +1 -0
- package/dist/ui/menubar.d.ts +769 -0
- package/dist/ui/menubar.d.ts.map +1 -0
- package/dist/ui/menubar.js +475 -0
- package/dist/ui/menubar.js.map +1 -0
- package/dist/ui/meter.d.ts +60 -0
- package/dist/ui/meter.d.ts.map +1 -0
- package/dist/ui/meter.js +51 -0
- package/dist/ui/meter.js.map +1 -0
- package/dist/ui/navigation-list.d.ts +972 -0
- package/dist/ui/navigation-list.d.ts.map +1 -0
- package/dist/ui/navigation-list.js +914 -0
- package/dist/ui/navigation-list.js.map +1 -0
- package/dist/ui/navigation-menu.d.ts +473 -0
- package/dist/ui/navigation-menu.d.ts.map +1 -0
- package/dist/ui/navigation-menu.js +319 -0
- package/dist/ui/navigation-menu.js.map +1 -0
- package/dist/ui/number-field.d.ts +183 -0
- package/dist/ui/number-field.d.ts.map +1 -0
- package/dist/ui/number-field.js +159 -0
- package/dist/ui/number-field.js.map +1 -0
- package/dist/ui/pagination.d.ts +268 -0
- package/dist/ui/pagination.d.ts.map +1 -0
- package/dist/ui/pagination.js +217 -0
- package/dist/ui/pagination.js.map +1 -0
- package/dist/ui/pill.d.ts +122 -0
- package/dist/ui/pill.d.ts.map +1 -0
- package/dist/ui/pill.js +91 -0
- package/dist/ui/pill.js.map +1 -0
- package/dist/ui/popover.d.ts +194 -0
- package/dist/ui/popover.d.ts.map +1 -0
- package/dist/ui/popover.js +160 -0
- package/dist/ui/popover.js.map +1 -0
- package/dist/ui/portal.d.ts.map +1 -0
- package/dist/ui/portal.js +53 -0
- package/dist/ui/portal.js.map +1 -0
- package/dist/ui/preview-card.d.ts +113 -0
- package/dist/ui/preview-card.d.ts.map +1 -0
- package/dist/ui/preview-card.js +94 -0
- package/dist/ui/preview-card.js.map +1 -0
- package/dist/ui/progress.d.ts +60 -0
- package/dist/ui/progress.d.ts.map +1 -0
- package/dist/ui/progress.js +54 -0
- package/dist/ui/progress.js.map +1 -0
- package/dist/ui/qr-code.d.ts.map +1 -0
- package/dist/ui/qr-code.js +79 -0
- package/dist/ui/qr-code.js.map +1 -0
- package/dist/ui/radio-group.d.ts +102 -0
- package/dist/ui/radio-group.d.ts.map +1 -0
- package/dist/ui/radio-group.js +76 -0
- package/dist/ui/radio-group.js.map +1 -0
- package/dist/ui/range-slider/range-slider-types.d.ts +5 -0
- package/dist/ui/range-slider/range-slider-types.d.ts.map +1 -0
- package/dist/ui/range-slider/range-slider-types.js +0 -0
- package/dist/ui/range-slider.d.ts +57 -0
- package/dist/ui/range-slider.d.ts.map +1 -0
- package/dist/ui/range-slider.js +338 -0
- package/dist/ui/range-slider.js.map +1 -0
- package/dist/ui/rating.d.ts +149 -0
- package/dist/ui/rating.d.ts.map +1 -0
- package/dist/ui/rating.js +173 -0
- package/dist/ui/rating.js.map +1 -0
- package/dist/ui/resizable.d.ts +39 -0
- package/dist/ui/resizable.d.ts.map +1 -0
- package/dist/ui/resizable.js +34 -0
- package/dist/ui/resizable.js.map +1 -0
- package/dist/ui/scroll-area.d.ts +80 -0
- package/dist/ui/scroll-area.d.ts.map +1 -0
- package/dist/ui/scroll-area.js +54 -0
- package/dist/ui/scroll-area.js.map +1 -0
- package/dist/ui/select.d.ts +545 -0
- package/dist/ui/select.d.ts.map +1 -0
- package/dist/ui/select.js +425 -0
- package/dist/ui/select.js.map +1 -0
- package/dist/ui/separator.d.ts.map +1 -0
- package/dist/ui/separator.js +15 -0
- package/dist/ui/separator.js.map +1 -0
- package/dist/ui/sheet.d.ts +158 -0
- package/dist/ui/sheet.d.ts.map +1 -0
- package/dist/ui/sheet.js +27 -0
- package/dist/ui/sheet.js.map +1 -0
- package/dist/ui/sidebar.d.ts +521 -0
- package/dist/ui/sidebar.d.ts.map +1 -0
- package/dist/ui/sidebar.js +538 -0
- package/dist/ui/sidebar.js.map +1 -0
- package/dist/ui/skeleton.d.ts.map +1 -0
- package/dist/ui/skeleton.js +13 -0
- package/dist/ui/skeleton.js.map +1 -0
- package/dist/ui/slider.d.ts +52 -0
- package/dist/ui/slider.d.ts.map +1 -0
- package/dist/ui/slider.js +215 -0
- package/dist/ui/slider.js.map +1 -0
- package/dist/ui/spacer.d.ts.map +1 -0
- package/dist/ui/spacer.js +26 -0
- package/dist/ui/spacer.js.map +1 -0
- package/dist/ui/spinner.d.ts +17 -0
- package/dist/ui/spinner.d.ts.map +1 -0
- package/dist/ui/spinner.js +23 -0
- package/dist/ui/spinner.js.map +1 -0
- package/dist/ui/switch.d.ts +58 -0
- package/dist/ui/switch.d.ts.map +1 -0
- package/dist/ui/switch.js +43 -0
- package/dist/ui/switch.js.map +1 -0
- package/dist/ui/table.d.ts +279 -0
- package/dist/ui/table.d.ts.map +1 -0
- package/dist/ui/table.js +210 -0
- package/dist/ui/table.js.map +1 -0
- package/dist/ui/tabs.d.ts +120 -0
- package/dist/ui/tabs.d.ts.map +1 -0
- package/dist/ui/tabs.js +170 -0
- package/dist/ui/tabs.js.map +1 -0
- package/dist/ui/textarea.d.ts +37 -0
- package/dist/ui/textarea.d.ts.map +1 -0
- package/dist/ui/textarea.js +36 -0
- package/dist/ui/textarea.js.map +1 -0
- package/dist/ui/theme-icon.d.ts +78 -0
- package/dist/ui/theme-icon.d.ts.map +1 -0
- package/dist/ui/theme-icon.js +58 -0
- package/dist/ui/theme-icon.js.map +1 -0
- package/dist/ui/timeline.d.ts +171 -0
- package/dist/ui/timeline.d.ts.map +1 -0
- package/dist/ui/timeline.js +472 -0
- package/dist/ui/timeline.js.map +1 -0
- package/dist/ui/toggle-group.d.ts +138 -0
- package/dist/ui/toggle-group.d.ts.map +1 -0
- package/dist/ui/toggle-group.js +76 -0
- package/dist/ui/toggle-group.js.map +1 -0
- package/dist/ui/toggle.d.ts +53 -0
- package/dist/ui/toggle.d.ts.map +1 -0
- package/dist/ui/toggle.js +41 -0
- package/dist/ui/toggle.js.map +1 -0
- package/dist/ui/toolbar.d.ts +234 -0
- package/dist/ui/toolbar.d.ts.map +1 -0
- package/dist/ui/toolbar.js +156 -0
- package/dist/ui/toolbar.js.map +1 -0
- package/dist/ui/tooltip.d.ts +55 -0
- package/dist/ui/tooltip.d.ts.map +1 -0
- package/dist/ui/tooltip.js +31 -0
- package/dist/ui/tooltip.js.map +1 -0
- package/dist/ui/typography.d.ts +411 -0
- package/dist/ui/typography.d.ts.map +1 -0
- package/dist/ui/typography.js +290 -0
- package/dist/ui/typography.js.map +1 -0
- package/dist/use-badge-default-props-8d9wPL0k.js +8 -0
- package/dist/use-badge-default-props-8d9wPL0k.js.map +1 -0
- package/dist/use-input-default-props-B6VgKXGM.js +8 -0
- package/dist/use-input-default-props-B6VgKXGM.js.map +1 -0
- package/dist/use-textarea-default-props-7MlOxkDO.js +8 -0
- package/dist/use-textarea-default-props-7MlOxkDO.js.map +1 -0
- package/package.json +165 -745
- package/dist/accordion-trigger-P3yAXC9X.d.ts +0 -35
- package/dist/accordion-trigger-P3yAXC9X.d.ts.map +0 -1
- package/dist/accordion.d.ts +0 -59
- package/dist/accordion.d.ts.map +0 -1
- package/dist/accordion.js +0 -45
- package/dist/accordion.js.map +0 -1
- package/dist/affix.d.ts +0 -50
- package/dist/affix.d.ts.map +0 -1
- package/dist/affix.js +0 -58
- package/dist/affix.js.map +0 -1
- package/dist/alert-dialog-trigger-Bh4pSvCf.js +0 -142
- package/dist/alert-dialog-trigger-Bh4pSvCf.js.map +0 -1
- package/dist/alert-dialog-viewport-CIjRyI-y.d.ts +0 -120
- package/dist/alert-dialog-viewport-CIjRyI-y.d.ts.map +0 -1
- package/dist/alert-dialog.d.ts +0 -76
- package/dist/alert-dialog.d.ts.map +0 -1
- package/dist/alert-dialog.js +0 -28
- package/dist/alert-dialog.js.map +0 -1
- package/dist/alert-title-B1q_D7US.js +0 -29
- package/dist/alert-title-B1q_D7US.js.map +0 -1
- package/dist/alert-title-BzrwvCBs.d.ts +0 -26
- package/dist/alert-title-BzrwvCBs.d.ts.map +0 -1
- package/dist/alert.d.ts +0 -106
- package/dist/alert.d.ts.map +0 -1
- package/dist/alert.js +0 -215
- package/dist/alert.js.map +0 -1
- package/dist/announcement-title-CZ-xxuBs.js +0 -19
- package/dist/announcement-title-CZ-xxuBs.js.map +0 -1
- package/dist/announcement-title-DQAqY8lM.d.ts +0 -19
- package/dist/announcement-title-DQAqY8lM.d.ts.map +0 -1
- package/dist/announcement.d.ts +0 -28
- package/dist/announcement.d.ts.map +0 -1
- package/dist/announcement.js +0 -17
- package/dist/announcement.js.map +0 -1
- package/dist/aspect-ratio.d.ts.map +0 -1
- package/dist/aspect-ratio.js +0 -14
- package/dist/aspect-ratio.js.map +0 -1
- package/dist/autocomplete-value-CE4htlBI.js +0 -296
- package/dist/autocomplete-value-CE4htlBI.js.map +0 -1
- package/dist/autocomplete-value-DZvfXD_j.d.ts +0 -320
- package/dist/autocomplete-value-DZvfXD_j.d.ts.map +0 -1
- package/dist/autocomplete.d.ts +0 -89
- package/dist/autocomplete.d.ts.map +0 -1
- package/dist/autocomplete.js +0 -42
- package/dist/autocomplete.js.map +0 -1
- package/dist/avatar-image-BpYCNLxP.d.ts +0 -41
- package/dist/avatar-image-BpYCNLxP.d.ts.map +0 -1
- package/dist/avatar-image-QGDvWzq_.js +0 -47
- package/dist/avatar-image-QGDvWzq_.js.map +0 -1
- package/dist/avatar.d.ts +0 -39
- package/dist/avatar.d.ts.map +0 -1
- package/dist/avatar.js +0 -27
- package/dist/avatar.js.map +0 -1
- package/dist/badge.d.ts +0 -69
- package/dist/badge.d.ts.map +0 -1
- package/dist/badge.js +0 -55
- package/dist/badge.js.map +0 -1
- package/dist/breadcrumb-separator-BxPVg1Je.js +0 -172
- package/dist/breadcrumb-separator-BxPVg1Je.js.map +0 -1
- package/dist/breadcrumb-separator-Cn5BAhvD.d.ts +0 -228
- package/dist/breadcrumb-separator-Cn5BAhvD.d.ts.map +0 -1
- package/dist/breadcrumb.d.ts +0 -52
- package/dist/breadcrumb.d.ts.map +0 -1
- package/dist/breadcrumb.js +0 -29
- package/dist/breadcrumb.js.map +0 -1
- package/dist/button-group-size-context-BAqIdusJ.js +0 -8
- package/dist/button-group-size-context-BAqIdusJ.js.map +0 -1
- package/dist/button-group-text-B2_MmlIc.d.ts +0 -85
- package/dist/button-group-text-B2_MmlIc.d.ts.map +0 -1
- package/dist/button-group-text-JA0xMSnb.js +0 -62
- package/dist/button-group-text-JA0xMSnb.js.map +0 -1
- package/dist/button-group.d.ts +0 -72
- package/dist/button-group.d.ts.map +0 -1
- package/dist/button-group.js +0 -50
- package/dist/button-group.js.map +0 -1
- package/dist/button.d.ts +0 -78
- package/dist/button.d.ts.map +0 -1
- package/dist/button.js +0 -110
- package/dist/button.js.map +0 -1
- package/dist/card-title-BaHIF8-E.d.ts +0 -47
- package/dist/card-title-BaHIF8-E.d.ts.map +0 -1
- package/dist/card.d.ts +0 -39
- package/dist/card.d.ts.map +0 -1
- package/dist/card.js +0 -26
- package/dist/card.js.map +0 -1
- package/dist/carousel-previous-OcdvvI1k.js +0 -90
- package/dist/carousel-previous-OcdvvI1k.js.map +0 -1
- package/dist/carousel.d.ts +0 -39
- package/dist/carousel.d.ts.map +0 -1
- package/dist/carousel.js +0 -79
- package/dist/carousel.js.map +0 -1
- package/dist/checkbox-group.d.ts.map +0 -1
- package/dist/checkbox-group.js +0 -14
- package/dist/checkbox-group.js.map +0 -1
- package/dist/checkbox-indicator-D9X12aCq.d.ts +0 -44
- package/dist/checkbox-indicator-D9X12aCq.d.ts.map +0 -1
- package/dist/checkbox-indicator-DMjot9eq.js +0 -31
- package/dist/checkbox-indicator-DMjot9eq.js.map +0 -1
- package/dist/checkbox.d.ts +0 -54
- package/dist/checkbox.d.ts.map +0 -1
- package/dist/checkbox.js +0 -46
- package/dist/checkbox.js.map +0 -1
- package/dist/code.d.ts.map +0 -1
- package/dist/code.js +0 -22
- package/dist/code.js.map +0 -1
- package/dist/collapsible-trigger-CvIq1bXq.d.ts +0 -19
- package/dist/collapsible-trigger-CvIq1bXq.d.ts.map +0 -1
- package/dist/collapsible-trigger-DCw3swj8.js +0 -22
- package/dist/collapsible-trigger-DCw3swj8.js.map +0 -1
- package/dist/collapsible.d.ts +0 -27
- package/dist/collapsible.d.ts.map +0 -1
- package/dist/collapsible.js +0 -20
- package/dist/collapsible.js.map +0 -1
- package/dist/combobox.d.ts +0 -149
- package/dist/combobox.d.ts.map +0 -1
- package/dist/combobox.js +0 -50
- package/dist/combobox.js.map +0 -1
- package/dist/command-shortcut-B42eSLXJ.d.ts +0 -268
- package/dist/command-shortcut-B42eSLXJ.d.ts.map +0 -1
- package/dist/command-shortcut-fALFGGNB.js +0 -226
- package/dist/command-shortcut-fALFGGNB.js.map +0 -1
- package/dist/command.d.ts +0 -65
- package/dist/command.d.ts.map +0 -1
- package/dist/command.js +0 -33
- package/dist/command.js.map +0 -1
- package/dist/container.d.ts.map +0 -1
- package/dist/container.js +0 -13
- package/dist/container.js.map +0 -1
- package/dist/context-menu-trigger-D1yfnhtH.d.ts +0 -632
- package/dist/context-menu-trigger-D1yfnhtH.d.ts.map +0 -1
- package/dist/context-menu-trigger-Db8Hnkac.js +0 -471
- package/dist/context-menu-trigger-Db8Hnkac.js.map +0 -1
- package/dist/context-menu.d.ts +0 -140
- package/dist/context-menu.d.ts.map +0 -1
- package/dist/context-menu.js +0 -40
- package/dist/context-menu.js.map +0 -1
- package/dist/dialog-trigger-Qa2UBwDK.js +0 -122
- package/dist/dialog-trigger-Qa2UBwDK.js.map +0 -1
- package/dist/dialog-viewport-_iN9a_OF.d.ts +0 -96
- package/dist/dialog-viewport-_iN9a_OF.d.ts.map +0 -1
- package/dist/dialog.d.ts +0 -66
- package/dist/dialog.d.ts.map +0 -1
- package/dist/dialog.js +0 -27
- package/dist/dialog.js.map +0 -1
- package/dist/drawer-size-context-TrNk8sne.d.ts +0 -377
- package/dist/drawer-size-context-TrNk8sne.d.ts.map +0 -1
- package/dist/drawer-viewport-CXCkzSjL.js +0 -261
- package/dist/drawer-viewport-CXCkzSjL.js.map +0 -1
- package/dist/drawer.d.ts +0 -164
- package/dist/drawer.d.ts.map +0 -1
- package/dist/drawer.js +0 -38
- package/dist/drawer.js.map +0 -1
- package/dist/dropdown-menu-trigger-BzJ8E29P.d.ts +0 -646
- package/dist/dropdown-menu-trigger-BzJ8E29P.d.ts.map +0 -1
- package/dist/dropdown-menu-trigger-PvBaqoOj.js +0 -488
- package/dist/dropdown-menu-trigger-PvBaqoOj.js.map +0 -1
- package/dist/dropdown-menu.d.ts +0 -144
- package/dist/dropdown-menu.d.ts.map +0 -1
- package/dist/dropdown-menu.js +0 -40
- package/dist/dropdown-menu.js.map +0 -1
- package/dist/dropzone-context-PCTXy62j.d.ts +0 -46
- package/dist/dropzone-context-PCTXy62j.d.ts.map +0 -1
- package/dist/dropzone-status-BziqO77U.js +0 -34
- package/dist/dropzone-status-BziqO77U.js.map +0 -1
- package/dist/dropzone.d.ts +0 -234
- package/dist/dropzone.d.ts.map +0 -1
- package/dist/dropzone.js +0 -181
- package/dist/dropzone.js.map +0 -1
- package/dist/emoji-picker-size-context-gu6mLjuf.d.ts +0 -315
- package/dist/emoji-picker-size-context-gu6mLjuf.d.ts.map +0 -1
- package/dist/emoji-picker-skin-tone-selector-DAJcO_Ue.js +0 -308
- package/dist/emoji-picker-skin-tone-selector-DAJcO_Ue.js.map +0 -1
- package/dist/emoji-picker.d.ts +0 -92
- package/dist/emoji-picker.d.ts.map +0 -1
- package/dist/emoji-picker.js +0 -45
- package/dist/emoji-picker.js.map +0 -1
- package/dist/empty-title-C9hHuBz8.d.ts +0 -211
- package/dist/empty-title-C9hHuBz8.d.ts.map +0 -1
- package/dist/empty-title-DjJj4k34.js +0 -178
- package/dist/empty-title-DjJj4k34.js.map +0 -1
- package/dist/empty.d.ts +0 -77
- package/dist/empty.d.ts.map +0 -1
- package/dist/empty.js +0 -39
- package/dist/empty.js.map +0 -1
- package/dist/fieldset-BvbNkZWm.d.ts +0 -151
- package/dist/fieldset-BvbNkZWm.d.ts.map +0 -1
- package/dist/fieldset-fXftcr4b.js +0 -109
- package/dist/fieldset-fXftcr4b.js.map +0 -1
- package/dist/form-field.d.ts +0 -155
- package/dist/form-field.d.ts.map +0 -1
- package/dist/form-field.js +0 -136
- package/dist/form-field.js.map +0 -1
- package/dist/index.d.ts +0 -1247
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -1495
- package/dist/index.js.map +0 -1
- package/dist/input-group-textarea-C6-pPujg.d.ts +0 -121
- package/dist/input-group-textarea-C6-pPujg.d.ts.map +0 -1
- package/dist/input-group-textarea-C6ixncHC.js +0 -120
- package/dist/input-group-textarea-C6ixncHC.js.map +0 -1
- package/dist/input-group.d.ts +0 -46
- package/dist/input-group.d.ts.map +0 -1
- package/dist/input-group.js +0 -31
- package/dist/input-group.js.map +0 -1
- package/dist/input-otp-slot-BA8DE3oz.js +0 -116
- package/dist/input-otp-slot-BA8DE3oz.js.map +0 -1
- package/dist/input-otp-slot-BxEhjqR5.d.ts +0 -173
- package/dist/input-otp-slot-BxEhjqR5.d.ts.map +0 -1
- package/dist/input-otp.d.ts +0 -40
- package/dist/input-otp.d.ts.map +0 -1
- package/dist/input-otp.js +0 -30
- package/dist/input-otp.js.map +0 -1
- package/dist/input.d.ts +0 -46
- package/dist/input.d.ts.map +0 -1
- package/dist/input.js +0 -37
- package/dist/input.js.map +0 -1
- package/dist/item-title-BEt0xgK_.d.ts +0 -91
- package/dist/item-title-BEt0xgK_.d.ts.map +0 -1
- package/dist/item-title-DL4BlZUJ.js +0 -90
- package/dist/item-title-DL4BlZUJ.js.map +0 -1
- package/dist/item.d.ts +0 -98
- package/dist/item.d.ts.map +0 -1
- package/dist/item.js +0 -57
- package/dist/item.js.map +0 -1
- package/dist/kbd-group-3GbsGHQf.d.ts +0 -19
- package/dist/kbd-group-3GbsGHQf.d.ts.map +0 -1
- package/dist/kbd-group-BmHYZhQr.js +0 -30
- package/dist/kbd-group-BmHYZhQr.js.map +0 -1
- package/dist/kbd.d.ts +0 -23
- package/dist/kbd.d.ts.map +0 -1
- package/dist/kbd.js +0 -30
- package/dist/kbd.js.map +0 -1
- package/dist/label.d.ts.map +0 -1
- package/dist/label.js +0 -16
- package/dist/label.js.map +0 -1
- package/dist/marquee-item-B0TLvHgC.js +0 -30
- package/dist/marquee-item-B0TLvHgC.js.map +0 -1
- package/dist/marquee-item-CF7L5m2C.d.ts +0 -33
- package/dist/marquee-item-CF7L5m2C.d.ts.map +0 -1
- package/dist/marquee.d.ts +0 -31
- package/dist/marquee.d.ts.map +0 -1
- package/dist/marquee.js +0 -18
- package/dist/marquee.js.map +0 -1
- package/dist/menubar-trigger-BSEAK4Hv.js +0 -427
- package/dist/menubar-trigger-BSEAK4Hv.js.map +0 -1
- package/dist/menubar-trigger-Cg8h_R-F.d.ts +0 -633
- package/dist/menubar-trigger-Cg8h_R-F.d.ts.map +0 -1
- package/dist/menubar.d.ts +0 -145
- package/dist/menubar.d.ts.map +0 -1
- package/dist/menubar.js +0 -54
- package/dist/menubar.js.map +0 -1
- package/dist/merge-base-ui-class-name-u6eS5MaQ.js +0 -11
- package/dist/merge-base-ui-class-name-u6eS5MaQ.js.map +0 -1
- package/dist/meter-value-BBRupvEw.d.ts +0 -34
- package/dist/meter-value-BBRupvEw.d.ts.map +0 -1
- package/dist/meter-value-DTvav35V.js +0 -38
- package/dist/meter-value-DTvav35V.js.map +0 -1
- package/dist/meter.d.ts +0 -33
- package/dist/meter.d.ts.map +0 -1
- package/dist/meter.js +0 -20
- package/dist/meter.js.map +0 -1
- package/dist/navigation-menu-viewport-B1zGz9H_.d.ts +0 -401
- package/dist/navigation-menu-viewport-B1zGz9H_.d.ts.map +0 -1
- package/dist/navigation-menu-viewport-MCTpmOhX.js +0 -284
- package/dist/navigation-menu-viewport-MCTpmOhX.js.map +0 -1
- package/dist/navigation-menu.d.ts +0 -79
- package/dist/navigation-menu.d.ts.map +0 -1
- package/dist/navigation-menu.js +0 -42
- package/dist/navigation-menu.js.map +0 -1
- package/dist/number-field-scrub-area-cursor-DJPffFNk.d.ts +0 -137
- package/dist/number-field-scrub-area-cursor-DJPffFNk.d.ts.map +0 -1
- package/dist/number-field-scrub-area-cursor-h-iB-JHz.js +0 -136
- package/dist/number-field-scrub-area-cursor-h-iB-JHz.js.map +0 -1
- package/dist/number-field.d.ts +0 -53
- package/dist/number-field.d.ts.map +0 -1
- package/dist/number-field.js +0 -30
- package/dist/number-field.js.map +0 -1
- package/dist/optional-portal-BnKabTYx.js +0 -16
- package/dist/optional-portal-BnKabTYx.js.map +0 -1
- package/dist/pagination-previous-B-zSBsti.d.ts +0 -226
- package/dist/pagination-previous-B-zSBsti.d.ts.map +0 -1
- package/dist/pagination-previous-g-wCDo--.js +0 -194
- package/dist/pagination-previous-g-wCDo--.js.map +0 -1
- package/dist/pagination.d.ts +0 -49
- package/dist/pagination.d.ts.map +0 -1
- package/dist/pagination.js +0 -29
- package/dist/pagination.js.map +0 -1
- package/dist/pill-status-B0H8oDjy.d.ts +0 -78
- package/dist/pill-status-B0H8oDjy.d.ts.map +0 -1
- package/dist/pill-status-CZugGAo0.js +0 -75
- package/dist/pill-status-CZugGAo0.js.map +0 -1
- package/dist/pill.d.ts +0 -50
- package/dist/pill.d.ts.map +0 -1
- package/dist/pill.js +0 -22
- package/dist/pill.js.map +0 -1
- package/dist/popover-trigger-YoOfFIQY.js +0 -131
- package/dist/popover-trigger-YoOfFIQY.js.map +0 -1
- package/dist/popover-viewport-D0OLhge2.d.ts +0 -130
- package/dist/popover-viewport-D0OLhge2.d.ts.map +0 -1
- package/dist/popover.d.ts +0 -70
- package/dist/popover.d.ts.map +0 -1
- package/dist/popover.js +0 -35
- package/dist/popover.js.map +0 -1
- package/dist/portal.d.ts.map +0 -1
- package/dist/portal.js +0 -53
- package/dist/portal.js.map +0 -1
- package/dist/preview-card-trigger-CbF-WF9d.js +0 -75
- package/dist/preview-card-trigger-CbF-WF9d.js.map +0 -1
- package/dist/preview-card-viewport-DyigXVot.d.ts +0 -67
- package/dist/preview-card-viewport-DyigXVot.d.ts.map +0 -1
- package/dist/preview-card.d.ts +0 -52
- package/dist/preview-card.d.ts.map +0 -1
- package/dist/preview-card.js +0 -25
- package/dist/preview-card.js.map +0 -1
- package/dist/progress-value-C2beGR4l.js +0 -38
- package/dist/progress-value-C2beGR4l.js.map +0 -1
- package/dist/progress-value-DdW3JCEx.d.ts +0 -33
- package/dist/progress-value-DdW3JCEx.d.ts.map +0 -1
- package/dist/progress.d.ts +0 -33
- package/dist/progress.d.ts.map +0 -1
- package/dist/progress.js +0 -23
- package/dist/progress.js.map +0 -1
- package/dist/qr-code.d.ts.map +0 -1
- package/dist/qr-code.js +0 -79
- package/dist/qr-code.js.map +0 -1
- package/dist/radio-group-item-By6KUGFQ.js +0 -65
- package/dist/radio-group-item-By6KUGFQ.js.map +0 -1
- package/dist/radio-group-item-DvfY629D.d.ts +0 -81
- package/dist/radio-group-item-DvfY629D.d.ts.map +0 -1
- package/dist/radio-group.d.ts +0 -26
- package/dist/radio-group.d.ts.map +0 -1
- package/dist/radio-group.js +0 -17
- package/dist/radio-group.js.map +0 -1
- package/dist/rating-star-Bg5AgFfI.d.ts +0 -64
- package/dist/rating-star-Bg5AgFfI.d.ts.map +0 -1
- package/dist/rating-star-CT7E88Vb.js +0 -115
- package/dist/rating-star-CT7E88Vb.js.map +0 -1
- package/dist/rating.d.ts +0 -93
- package/dist/rating.d.ts.map +0 -1
- package/dist/rating.js +0 -64
- package/dist/rating.js.map +0 -1
- package/dist/resizable-panel-BSRzFmQT.d.ts +0 -22
- package/dist/resizable-panel-BSRzFmQT.d.ts.map +0 -1
- package/dist/resizable-panel-Qs_va758.js +0 -22
- package/dist/resizable-panel-Qs_va758.js.map +0 -1
- package/dist/resizable.d.ts +0 -24
- package/dist/resizable.d.ts.map +0 -1
- package/dist/resizable.js +0 -19
- package/dist/resizable.js.map +0 -1
- package/dist/scroll-area.d.ts +0 -44
- package/dist/scroll-area.d.ts.map +0 -1
- package/dist/scroll-area.js +0 -31
- package/dist/scroll-area.js.map +0 -1
- package/dist/scroll-bar-Ms5-vqAH.js +0 -26
- package/dist/scroll-bar-Ms5-vqAH.js.map +0 -1
- package/dist/scroll-viewport-02SiMbYg.d.ts +0 -42
- package/dist/scroll-viewport-02SiMbYg.d.ts.map +0 -1
- package/dist/scroll-viewport-Bv90eZWC.js +0 -30
- package/dist/scroll-viewport-Bv90eZWC.js.map +0 -1
- package/dist/select-value-DCLmCbND.d.ts +0 -413
- package/dist/select-value-DCLmCbND.d.ts.map +0 -1
- package/dist/select.d.ts +0 -140
- package/dist/select.d.ts.map +0 -1
- package/dist/select.js +0 -48
- package/dist/select.js.map +0 -1
- package/dist/separator.d.ts.map +0 -1
- package/dist/separator.js +0 -15
- package/dist/separator.js.map +0 -1
- package/dist/sheet-trigger-CBnNmAyv.js +0 -121
- package/dist/sheet-trigger-CBnNmAyv.js.map +0 -1
- package/dist/sheet-viewport-PgLs2Dbp.d.ts +0 -99
- package/dist/sheet-viewport-PgLs2Dbp.d.ts.map +0 -1
- package/dist/sheet.d.ts +0 -65
- package/dist/sheet.d.ts.map +0 -1
- package/dist/sheet.js +0 -27
- package/dist/sheet.js.map +0 -1
- package/dist/sidebar-trigger-DpUDeyoo.js +0 -460
- package/dist/sidebar-trigger-DpUDeyoo.js.map +0 -1
- package/dist/sidebar.d.ts +0 -139
- package/dist/sidebar.d.ts.map +0 -1
- package/dist/sidebar.js +0 -84
- package/dist/sidebar.js.map +0 -1
- package/dist/size-context-CPoCTRTV.d.ts +0 -16
- package/dist/size-context-CPoCTRTV.d.ts.map +0 -1
- package/dist/size-context-rJNE33WZ.js +0 -25
- package/dist/size-context-rJNE33WZ.js.map +0 -1
- package/dist/size-provider-D2Fy00Ky.js +0 -128
- package/dist/size-provider-D2Fy00Ky.js.map +0 -1
- package/dist/size-system-BNfPN2hb.js +0 -47
- package/dist/size-system-BNfPN2hb.js.map +0 -1
- package/dist/size-system-CMU68sQY.d.ts +0 -6
- package/dist/size-system-CMU68sQY.d.ts.map +0 -1
- package/dist/skeleton.d.ts.map +0 -1
- package/dist/skeleton.js +0 -13
- package/dist/skeleton.js.map +0 -1
- package/dist/slider-CqapJ6Pa.js +0 -544
- package/dist/slider-CqapJ6Pa.js.map +0 -1
- package/dist/slider-types-BejlapyA.d.ts +0 -192
- package/dist/slider-types-BejlapyA.d.ts.map +0 -1
- package/dist/slider.d.ts +0 -2
- package/dist/slider.js +0 -3
- package/dist/spacer.d.ts.map +0 -1
- package/dist/spacer.js +0 -26
- package/dist/spacer.js.map +0 -1
- package/dist/spinner.d.ts +0 -17
- package/dist/spinner.d.ts.map +0 -1
- package/dist/spinner.js +0 -23
- package/dist/spinner.js.map +0 -1
- package/dist/switch-thumb-B1oq_Il-.d.ts +0 -12
- package/dist/switch-thumb-B1oq_Il-.d.ts.map +0 -1
- package/dist/switch-thumb-BcrfgKM7.js +0 -14
- package/dist/switch-thumb-BcrfgKM7.js.map +0 -1
- package/dist/switch.d.ts +0 -52
- package/dist/switch.d.ts.map +0 -1
- package/dist/switch.js +0 -36
- package/dist/switch.js.map +0 -1
- package/dist/table-row-oLfiQvkD.js +0 -161
- package/dist/table-row-oLfiQvkD.js.map +0 -1
- package/dist/table-size-context-CIwmKalf.d.ts +0 -206
- package/dist/table-size-context-CIwmKalf.d.ts.map +0 -1
- package/dist/table.d.ts +0 -82
- package/dist/table.d.ts.map +0 -1
- package/dist/table.js +0 -55
- package/dist/table.js.map +0 -1
- package/dist/tabs-trigger-CzOTnpSV.js +0 -155
- package/dist/tabs-trigger-CzOTnpSV.js.map +0 -1
- package/dist/tabs-trigger-DIAd8cRQ.d.ts +0 -91
- package/dist/tabs-trigger-DIAd8cRQ.d.ts.map +0 -1
- package/dist/tabs.d.ts +0 -43
- package/dist/tabs.d.ts.map +0 -1
- package/dist/tabs.js +0 -24
- package/dist/tabs.js.map +0 -1
- package/dist/textarea.d.ts +0 -37
- package/dist/textarea.d.ts.map +0 -1
- package/dist/textarea.js +0 -36
- package/dist/textarea.js.map +0 -1
- package/dist/theme-icon.d.ts +0 -78
- package/dist/theme-icon.d.ts.map +0 -1
- package/dist/theme-icon.js +0 -58
- package/dist/theme-icon.js.map +0 -1
- package/dist/timeline-title-DPQkU32C.js +0 -390
- package/dist/timeline-title-DPQkU32C.js.map +0 -1
- package/dist/timeline.d.ts +0 -97
- package/dist/timeline.d.ts.map +0 -1
- package/dist/timeline.js +0 -89
- package/dist/timeline.js.map +0 -1
- package/dist/toggle-group-item-BNfDa9G7.js +0 -46
- package/dist/toggle-group-item-BNfDa9G7.js.map +0 -1
- package/dist/toggle-group-item-GtR1C20m.d.ts +0 -111
- package/dist/toggle-group-item-GtR1C20m.d.ts.map +0 -1
- package/dist/toggle-group.d.ts +0 -32
- package/dist/toggle-group.d.ts.map +0 -1
- package/dist/toggle-group.js +0 -37
- package/dist/toggle-group.js.map +0 -1
- package/dist/toggle.d.ts +0 -53
- package/dist/toggle.d.ts.map +0 -1
- package/dist/toggle.js +0 -41
- package/dist/toggle.js.map +0 -1
- package/dist/toolbar-separator-B2h6uLOE.d.ts +0 -169
- package/dist/toolbar-separator-B2h6uLOE.d.ts.map +0 -1
- package/dist/toolbar-separator-DenKrCUv.js +0 -124
- package/dist/toolbar-separator-DenKrCUv.js.map +0 -1
- package/dist/toolbar.d.ts +0 -73
- package/dist/toolbar.d.ts.map +0 -1
- package/dist/toolbar.js +0 -40
- package/dist/toolbar.js.map +0 -1
- package/dist/tooltip-trigger-Bh-4uwB1.js +0 -101
- package/dist/tooltip-trigger-Bh-4uwB1.js.map +0 -1
- package/dist/tooltip-viewport-bfS0ERim.d.ts +0 -103
- package/dist/tooltip-viewport-bfS0ERim.d.ts.map +0 -1
- package/dist/tooltip.d.ts +0 -55
- package/dist/tooltip.d.ts.map +0 -1
- package/dist/tooltip.js +0 -31
- package/dist/tooltip.js.map +0 -1
- package/dist/typography-ul-CQPMwh0l.js +0 -262
- package/dist/typography-ul-CQPMwh0l.js.map +0 -1
- package/dist/typography-ul-DdbLy4uP.d.ts +0 -299
- package/dist/typography-ul-DdbLy4uP.d.ts.map +0 -1
- package/dist/typography.d.ts +0 -118
- package/dist/typography.d.ts.map +0 -1
- package/dist/typography.js +0 -32
- package/dist/typography.js.map +0 -1
- package/dist/use-accordion-default-props-C4qiSPdy.js +0 -276
- package/dist/use-accordion-default-props-C4qiSPdy.js.map +0 -1
- package/dist/use-badge-default-props-aiDsN2ec.js +0 -8
- package/dist/use-badge-default-props-aiDsN2ec.js.map +0 -1
- package/dist/use-card-default-props-D7h5DKMA.js +0 -58
- package/dist/use-card-default-props-D7h5DKMA.js.map +0 -1
- package/dist/use-carousel-BP1JcA8B.d.ts +0 -60
- package/dist/use-carousel-BP1JcA8B.d.ts.map +0 -1
- package/dist/use-combobox-anchor-CR11U_ns.js +0 -524
- package/dist/use-combobox-anchor-CR11U_ns.js.map +0 -1
- package/dist/use-combobox-anchor-_uR3C1ZZ.d.ts +0 -541
- package/dist/use-combobox-anchor-_uR3C1ZZ.d.ts.map +0 -1
- package/dist/use-input-default-props-DSeo88je.js +0 -8
- package/dist/use-input-default-props-DSeo88je.js.map +0 -1
- package/dist/use-select-default-props-xp2KqlMr.js +0 -384
- package/dist/use-select-default-props-xp2KqlMr.js.map +0 -1
- package/dist/use-sidebar-C9Nj2_Hm.d.ts +0 -389
- package/dist/use-sidebar-C9Nj2_Hm.d.ts.map +0 -1
- package/dist/use-textarea-default-props-DEDcVuHi.js +0 -8
- package/dist/use-textarea-default-props-DEDcVuHi.js.map +0 -1
- package/dist/use-timeline-C1sQqHU_.d.ts +0 -82
- package/dist/use-timeline-C1sQqHU_.d.ts.map +0 -1
- /package/dist/{aspect-ratio.d.ts → ui/aspect-ratio.d.ts} +0 -0
- /package/dist/{checkbox-group.d.ts → ui/checkbox-group.d.ts} +0 -0
- /package/dist/{code.d.ts → ui/code.d.ts} +0 -0
- /package/dist/{container.d.ts → ui/container.d.ts} +0 -0
- /package/dist/{label.d.ts → ui/label.d.ts} +0 -0
- /package/dist/{portal.d.ts → ui/portal.d.ts} +0 -0
- /package/dist/{qr-code.d.ts → ui/qr-code.d.ts} +0 -0
- /package/dist/{separator.d.ts → ui/separator.d.ts} +0 -0
- /package/dist/{skeleton.d.ts → ui/skeleton.d.ts} +0 -0
- /package/dist/{spacer.d.ts → ui/spacer.d.ts} +0 -0
package/dist/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["BaseForm","CollapsiblePrimitive","CollapsiblePrimitive","CollapsiblePrimitive","SliderPrimitive","SliderValuePrimitive"],"sources":["../src/ui/copy-button/copy-button.tsx","../src/ui/form/form.tsx","../src/ui/navigation-list/navigation-list-context.tsx","../src/ui/navigation-list/navigation-list-item-context.tsx","../src/ui/navigation-list/navigation-list-action.tsx","../src/ui/navigation-list/navigation-list-badge.tsx","../src/ui/navigation-list/navigation-list-content.tsx","../src/ui/navigation-list/navigation-list-group.tsx","../src/ui/navigation-list/navigation-list-group-content.tsx","../src/ui/navigation-list/navigation-list-group-label.tsx","../src/ui/navigation-list/navigation-list-item.tsx","../src/ui/navigation-list/navigation-list-link.tsx","../src/ui/navigation-list/navigation-list-separator.tsx","../src/ui/navigation-list/navigation-list-skeleton.tsx","../src/ui/navigation-list/navigation-list-sub.tsx","../src/ui/navigation-list/navigation-list-sub-item.tsx","../src/ui/navigation-list/navigation-list-sub-link.tsx","../src/ui/navigation-list/navigation-list.tsx","../src/ui/range-slider/range-slider-helpers.ts","../src/ui/range-slider/math/normalize-range-slider-value.ts","../src/ui/range-slider/use-range-slider-state.ts","../src/ui/range-slider/range-slider.tsx"],"sourcesContent":["\"use client\";\n\nimport type { HugeiconsProps } from \"@hugeicons/react\";\nimport type { ComponentProps, ReactNode } from \"react\";\n\nimport {\n Alert01Icon,\n Copy01Icon,\n Loading03Icon,\n Tick02Icon,\n} from \"@hugeicons/core-free-icons\";\nimport { HugeiconsIcon } from \"@hugeicons/react\";\nimport { useClipboard } from \"@kuzenbo/hooks\";\nimport { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport { cn } from \"tailwind-variants\";\n\nimport { Button } from \"../button/button\";\n\nexport type CopyButtonStatus = \"idle\" | \"copying\" | \"copied\" | \"failed\";\n\ntype CopyButtonStatusMap = Record<CopyButtonStatus, string>;\n\ntype CopyButtonContent = ReactNode | ((status: CopyButtonStatus) => ReactNode);\n\nconst DEFAULT_TIMEOUT = 1200;\n\nconst STATUS_ORDER: CopyButtonStatus[] = [\n \"idle\",\n \"copying\",\n \"copied\",\n \"failed\",\n];\n\nconst STATUS_LABELS: CopyButtonStatusMap = {\n idle: \"Copy\",\n copying: \"Copying\",\n copied: \"Copied\",\n failed: \"Copy failed\",\n};\n\nconst STATUS_LIVE_MESSAGES: CopyButtonStatusMap = {\n idle: \"Ready to copy to clipboard\",\n copying: \"Copying to clipboard\",\n copied: \"Copied to clipboard\",\n failed: \"Failed to copy to clipboard\",\n};\n\nconst STATUS_ICON_BY_STATUS = {\n idle: Copy01Icon,\n copying: Loading03Icon,\n copied: Tick02Icon,\n failed: Alert01Icon,\n} as const satisfies Record<\n CopyButtonStatus,\n NonNullable<HugeiconsProps[\"icon\"]>\n>;\n\nexport type CopyButtonProps = Omit<\n ComponentProps<typeof Button>,\n \"aria-pressed\" | \"children\" | \"isLoading\" | \"onClick\"\n> & {\n value: string;\n timeout?: number;\n useLegacyFallback?: boolean;\n status?: CopyButtonStatus;\n defaultStatus?: CopyButtonStatus;\n onStatusChange?: (status: CopyButtonStatus) => void;\n statusLabels?: Partial<CopyButtonStatusMap>;\n liveRegionMessages?: Partial<CopyButtonStatusMap>;\n children?: CopyButtonContent;\n onClick?: ComponentProps<typeof Button>[\"onClick\"];\n};\n\nconst resolveContent = (\n content: CopyButtonContent | undefined,\n status: CopyButtonStatus\n) => {\n if (typeof content === \"function\") {\n return content(status);\n }\n\n return content;\n};\n\nconst CopyButton = ({\n className,\n value,\n timeout = DEFAULT_TIMEOUT,\n useLegacyFallback = true,\n status,\n defaultStatus = \"idle\",\n onStatusChange,\n statusLabels,\n liveRegionMessages,\n children,\n disabled,\n onClick,\n type = \"button\",\n \"aria-label\": ariaLabel,\n ...props\n}: CopyButtonProps) => {\n const clipboard = useClipboard({\n copiedDurationMs: timeout,\n failedDurationMs: timeout,\n useLegacyFallback,\n });\n const [internalStatus, setInternalStatus] =\n useState<CopyButtonStatus>(defaultStatus);\n const isControlled = status !== undefined;\n const currentStatus = status ?? internalStatus;\n const currentStatusRef = useRef(currentStatus);\n const hasMountedRef = useRef(false);\n\n const mergedStatusLabels = useMemo<CopyButtonStatusMap>(\n () => ({ ...STATUS_LABELS, ...statusLabels }),\n [statusLabels]\n );\n\n const mergedLiveMessages = useMemo<CopyButtonStatusMap>(\n () => ({ ...STATUS_LIVE_MESSAGES, ...liveRegionMessages }),\n [liveRegionMessages]\n );\n\n const setStatus = useCallback(\n (nextStatus: CopyButtonStatus) => {\n if (currentStatusRef.current === nextStatus) {\n return;\n }\n\n currentStatusRef.current = nextStatus;\n\n if (!isControlled) {\n setInternalStatus(nextStatus);\n }\n\n onStatusChange?.(nextStatus);\n },\n [isControlled, onStatusChange]\n );\n\n const handleClick = useCallback<NonNullable<CopyButtonProps[\"onClick\"]>>(\n (event) => {\n onClick?.(event);\n\n if (event.defaultPrevented || disabled) {\n return;\n }\n\n clipboard.reset();\n setStatus(\"copying\");\n clipboard.copy(value);\n },\n [clipboard, disabled, onClick, setStatus, value]\n );\n\n useEffect(() => {\n currentStatusRef.current = currentStatus;\n }, [currentStatus]);\n\n useEffect(() => {\n if (!hasMountedRef.current) {\n hasMountedRef.current = true;\n return;\n }\n\n setStatus(clipboard.status);\n }, [clipboard.status, setStatus]);\n\n const resolvedContent = resolveContent(children, currentStatus);\n const visibleLabel = resolvedContent ?? mergedStatusLabels[currentStatus];\n const hookAnnouncement =\n clipboard.announcement.trim().length > 0\n ? clipboard.announcement\n : undefined;\n const liveRegionText =\n liveRegionMessages?.[currentStatus] ??\n hookAnnouncement ??\n mergedLiveMessages[currentStatus];\n const resolvedAriaLabel =\n ariaLabel ?? (visibleLabel ? undefined : mergedStatusLabels[currentStatus]);\n\n return (\n <>\n <Button\n aria-label={resolvedAriaLabel}\n className={cn(\"gap-2\", className)}\n data-slot=\"copy-button\"\n data-status={currentStatus}\n disabled={disabled || currentStatus === \"copying\"}\n onClick={handleClick}\n type={type}\n {...props}\n >\n <span className=\"inline-flex items-center gap-2\">\n <span\n aria-hidden=\"true\"\n className=\"relative inline-flex size-4 items-center justify-center\"\n >\n {STATUS_ORDER.map((iconStatus) => (\n <HugeiconsIcon\n key={iconStatus}\n className={cn(\n \"absolute inset-0 size-4 transition-opacity duration-150 ease-out motion-reduce:transition-none\",\n iconStatus === currentStatus ? \"opacity-100\" : \"opacity-0\",\n iconStatus === \"copying\" &&\n \"data-[active=true]:animate-spin motion-reduce:data-[active=true]:animate-none\",\n iconStatus === \"copied\" && \"text-success\",\n iconStatus === \"failed\" && \"text-danger\",\n iconStatus === \"idle\" && \"text-muted-foreground\"\n )}\n data-active={iconStatus === currentStatus}\n data-status-icon={iconStatus}\n icon={STATUS_ICON_BY_STATUS[iconStatus]}\n strokeWidth={2}\n />\n ))}\n </span>\n {visibleLabel ? (\n <span className=\"transition-opacity duration-150 ease-out motion-reduce:transition-none\">\n {visibleLabel}\n </span>\n ) : null}\n </span>\n </Button>\n <span\n aria-atomic=\"true\"\n aria-live={currentStatus === \"failed\" ? \"assertive\" : \"polite\"}\n className=\"sr-only\"\n role=\"status\"\n >\n {liveRegionText}\n </span>\n </>\n );\n};\n\nexport { CopyButton };\n","import { Form as BaseForm } from \"@base-ui/react/form\";\n\nimport { mergeBaseUIClassName } from \"../../utils/merge-base-ui-class-name\";\n\nexport type FormRootProps<\n FormValues extends Record<string, unknown> = Record<string, unknown>,\n> = BaseForm.Props<FormValues>;\n\nexport type FormProps<\n FormValues extends Record<string, unknown> = Record<string, unknown>,\n> = FormRootProps<FormValues>;\n\nconst FormRoot = <\n FormValues extends Record<string, unknown> = Record<string, unknown>,\n>({\n className,\n ...props\n}: FormRootProps<FormValues>) => (\n <BaseForm\n className={mergeBaseUIClassName<BaseForm.State>(\n \"flex w-full flex-col gap-6\",\n className\n )}\n data-slot=\"form\"\n {...props}\n />\n);\n\nconst Form = Object.assign(FormRoot, {\n Root: FormRoot,\n});\n\nexport type FormActions = BaseForm.Actions;\nexport type FormState = BaseForm.State;\nexport type FormSubmitEventDetails = BaseForm.SubmitEventDetails;\nexport type FormSubmitEventReason = BaseForm.SubmitEventReason;\nexport type FormValidationMode = BaseForm.ValidationMode;\nexport type FormValues<\n Values extends Record<string, unknown> = Record<string, unknown>,\n> = BaseForm.Values<Values>;\n\nexport { Form, FormRoot };\n","\"use client\";\n\nimport { createContext, useContext } from \"react\";\n\nimport type { UISize } from \"../shared/size/size-system\";\n\nexport type NavigationListTone = \"surface\" | \"sidebar\";\nexport type NavigationListVariant = \"subtle\" | \"light\" | \"filled\";\n\nexport interface NavigationListContextValue {\n size?: UISize;\n tone?: NavigationListTone;\n variant?: NavigationListVariant;\n}\n\nconst NavigationListContext = createContext<NavigationListContextValue>({\n size: \"md\",\n tone: \"surface\",\n variant: \"light\",\n});\n\nconst resolveCandidate = <T,>(\n fallback: T,\n contextValue: T | undefined,\n candidates: (T | null | undefined)[]\n): T => {\n for (const candidate of candidates) {\n if (candidate !== undefined && candidate !== null) {\n return candidate;\n }\n }\n\n return contextValue ?? fallback;\n};\n\nconst useResolvedNavigationListTone = (\n ...candidates: (NavigationListTone | null | undefined)[]\n): NavigationListTone => {\n const { tone } = useContext(NavigationListContext);\n\n return resolveCandidate(\"surface\", tone, candidates);\n};\n\nconst useResolvedNavigationListVariant = (\n ...candidates: (NavigationListVariant | null | undefined)[]\n): NavigationListVariant => {\n const { variant } = useContext(NavigationListContext);\n\n return resolveCandidate(\"light\", variant, candidates);\n};\n\nconst useResolvedNavigationListSize = (\n ...candidates: (UISize | null | undefined)[]\n): UISize => {\n const { size } = useContext(NavigationListContext);\n\n return resolveCandidate(\"md\", size, candidates);\n};\n\nexport {\n NavigationListContext,\n useResolvedNavigationListSize,\n useResolvedNavigationListTone,\n useResolvedNavigationListVariant,\n};\n","\"use client\";\n\nimport { createContext, useContext } from \"react\";\n\nimport type { UISize } from \"../shared/size/size-system\";\nimport type {\n NavigationListTone,\n NavigationListVariant,\n} from \"./navigation-list-context\";\n\nexport interface NavigationListItemContextValue {\n collapsible: boolean;\n disabled: boolean;\n open: boolean;\n size?: UISize;\n tone?: NavigationListTone;\n variant?: NavigationListVariant;\n}\n\nconst NavigationListItemContext = createContext<NavigationListItemContextValue>(\n {\n collapsible: false,\n disabled: false,\n open: false,\n size: undefined,\n tone: undefined,\n variant: undefined,\n }\n);\n\nconst useNavigationListItemContext = () =>\n useContext(NavigationListItemContext);\n\nexport { NavigationListItemContext, useNavigationListItemContext };\n","\"use client\";\n\nimport type { ComponentProps } from \"react\";\n\nimport { mergeProps } from \"@base-ui/react/merge-props\";\nimport { useRender } from \"@base-ui/react/use-render\";\nimport { cn, tv, type VariantProps } from \"tailwind-variants\";\n\nimport type { UISize } from \"../shared/size/size-system\";\n\nimport {\n type NavigationListTone,\n useResolvedNavigationListSize,\n useResolvedNavigationListTone,\n} from \"./navigation-list-context\";\nimport { useNavigationListItemContext } from \"./navigation-list-item-context\";\n\nconst navigationListActionVariants = tv({\n base: \"absolute right-1 flex aspect-square cursor-pointer items-center justify-center rounded-md p-0 outline-hidden transition-transform group-data-[collapsible=true]/navigation-list-item:right-10 group-has-data-[slot=navigation-list-badge]/navigation-list-item:right-14 [&>svg]:shrink-0\",\n variants: {\n size: {\n xs: \"top-0.5 w-4 [&>svg:not([class*='size-'])]:size-3\",\n sm: \"top-1 w-5 [&>svg:not([class*='size-'])]:size-3.5\",\n md: \"top-1.5 w-5 [&>svg:not([class*='size-'])]:size-4\",\n lg: \"top-2 w-6 [&>svg:not([class*='size-'])]:size-4\",\n xl: \"top-2.5 w-7 [&>svg:not([class*='size-'])]:size-5\",\n },\n tone: {\n surface:\n \"text-muted-foreground ring-ring hover:bg-muted hover:text-foreground focus-visible:ring-2 peer-hover/navigation-list-link:text-foreground peer-data-active/navigation-list-link:text-foreground\",\n sidebar:\n \"text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 peer-hover/navigation-list-link:text-sidebar-accent-foreground peer-data-active/navigation-list-link:text-sidebar-accent-foreground\",\n },\n },\n defaultVariants: {\n size: \"md\",\n tone: \"surface\",\n },\n});\n\nexport type NavigationListActionProps = useRender.ComponentProps<\"button\"> &\n ComponentProps<\"button\"> & {\n showOnHover?: boolean;\n size?: UISize;\n tone?: NavigationListTone;\n } & VariantProps<typeof navigationListActionVariants>;\n\nconst NavigationListAction = ({\n className,\n render,\n showOnHover = false,\n size,\n tone,\n ...props\n}: NavigationListActionProps) => {\n const itemContext = useNavigationListItemContext();\n const resolvedSize = useResolvedNavigationListSize(size, itemContext.size);\n const resolvedTone = useResolvedNavigationListTone(tone, itemContext.tone);\n\n return useRender({\n defaultTagName: \"button\",\n props: mergeProps<\"button\">(\n {\n className: cn(\n navigationListActionVariants({\n size: resolvedSize,\n tone: resolvedTone,\n }),\n itemContext.variant === \"filled\" &&\n resolvedTone === \"surface\" &&\n \"peer-data-active/navigation-list-link:text-primary-foreground\",\n itemContext.variant === \"filled\" &&\n resolvedTone === \"sidebar\" &&\n \"peer-data-active/navigation-list-link:text-sidebar-primary-foreground\",\n \"peer-data-[size=xs]/navigation-list-link:top-0.5 peer-data-[size=sm]/navigation-list-link:top-1 peer-data-[size=md]/navigation-list-link:top-1.5 peer-data-[size=lg]/navigation-list-link:top-2 peer-data-[size=xl]/navigation-list-link:top-2.5\",\n showOnHover &&\n \"group-focus-within/navigation-list-item:opacity-100 group-hover/navigation-list-item:opacity-100 peer-data-active/navigation-list-link:opacity-100 md:opacity-0\",\n className\n ),\n type: render ? undefined : \"button\",\n },\n props\n ),\n render,\n state: {\n size: resolvedSize,\n slot: \"navigation-list-action\",\n tone: resolvedTone,\n },\n });\n};\n\nexport { NavigationListAction };\n","import type { ComponentProps } from \"react\";\n\nimport { cn, tv, type VariantProps } from \"tailwind-variants\";\n\nimport type { UISize } from \"../shared/size/size-system\";\n\nimport {\n type NavigationListTone,\n useResolvedNavigationListSize,\n useResolvedNavigationListTone,\n} from \"./navigation-list-context\";\nimport { useNavigationListItemContext } from \"./navigation-list-item-context\";\n\nconst navigationListBadgeVariants = tv({\n base: \"pointer-events-none absolute right-1 flex items-center justify-center rounded-md px-1 font-medium tabular-nums select-none group-data-[collapsible=true]/navigation-list-item:right-8\",\n variants: {\n size: {\n xs: \"top-0.5 h-4 min-w-4 text-[10px]\",\n sm: \"top-1 h-5 min-w-5 text-[11px]\",\n md: \"top-1.5 h-5 min-w-5 text-xs\",\n lg: \"top-2 h-6 min-w-6 text-xs\",\n xl: \"top-2.5 h-7 min-w-7 text-sm\",\n },\n tone: {\n surface:\n \"text-muted-foreground peer-hover/navigation-list-link:text-foreground peer-data-active/navigation-list-link:text-foreground\",\n sidebar:\n \"text-sidebar-foreground peer-hover/navigation-list-link:text-sidebar-accent-foreground peer-data-active/navigation-list-link:text-sidebar-accent-foreground\",\n },\n },\n defaultVariants: {\n size: \"md\",\n tone: \"surface\",\n },\n});\n\nexport type NavigationListBadgeProps = ComponentProps<\"div\"> & {\n size?: UISize;\n tone?: NavigationListTone;\n} & VariantProps<typeof navigationListBadgeVariants>;\n\nconst NavigationListBadge = ({\n className,\n size,\n tone,\n ...props\n}: NavigationListBadgeProps) => {\n const itemContext = useNavigationListItemContext();\n const resolvedSize = useResolvedNavigationListSize(size, itemContext.size);\n const resolvedTone = useResolvedNavigationListTone(tone, itemContext.tone);\n\n return (\n <div\n className={cn(\n navigationListBadgeVariants({\n size: resolvedSize,\n tone: resolvedTone,\n }),\n itemContext.variant === \"filled\" &&\n resolvedTone === \"surface\" &&\n \"peer-data-active/navigation-list-link:text-primary-foreground\",\n itemContext.variant === \"filled\" &&\n resolvedTone === \"sidebar\" &&\n \"peer-data-active/navigation-list-link:text-sidebar-primary-foreground\",\n className\n )}\n data-size={resolvedSize}\n data-slot=\"navigation-list-badge\"\n data-tone={resolvedTone}\n {...props}\n />\n );\n};\n\nexport { NavigationListBadge };\n","import type { ComponentProps } from \"react\";\n\nimport { cn, tv, type VariantProps } from \"tailwind-variants\";\n\nimport type { UISize } from \"../shared/size/size-system\";\n\nimport {\n type NavigationListTone,\n type NavigationListVariant,\n useResolvedNavigationListSize,\n useResolvedNavigationListTone,\n useResolvedNavigationListVariant,\n} from \"./navigation-list-context\";\n\nconst navigationListContentVariants = tv({\n base: \"flex min-w-0 list-none flex-col rounded-lg border\",\n variants: {\n size: {\n xs: \"gap-0.5 p-1\",\n sm: \"gap-1 p-1.5\",\n md: \"gap-1 p-2\",\n lg: \"gap-1.5 p-2.5\",\n xl: \"gap-2 p-3\",\n },\n tone: {\n surface: \"border-border bg-background text-foreground\",\n sidebar: \"border-sidebar-border bg-sidebar text-sidebar-foreground\",\n },\n variant: {\n subtle: \"\",\n light: \"\",\n filled: \"\",\n },\n },\n defaultVariants: {\n size: \"md\",\n tone: \"surface\",\n variant: \"light\",\n },\n});\n\nexport type NavigationListContentProps = ComponentProps<\"ul\"> &\n VariantProps<typeof navigationListContentVariants> & {\n size?: UISize;\n tone?: NavigationListTone;\n variant?: NavigationListVariant;\n };\n\nconst NavigationListContent = ({\n className,\n size,\n tone,\n variant,\n ...props\n}: NavigationListContentProps) => {\n const resolvedSize = useResolvedNavigationListSize(size);\n const resolvedTone = useResolvedNavigationListTone(tone);\n const resolvedVariant = useResolvedNavigationListVariant(variant);\n\n return (\n <ul\n className={cn(\n navigationListContentVariants({\n size: resolvedSize,\n tone: resolvedTone,\n variant: resolvedVariant,\n }),\n className\n )}\n data-navigation-list=\"content\"\n data-size={resolvedSize}\n data-slot=\"navigation-list-content\"\n data-tone={resolvedTone}\n data-variant={resolvedVariant}\n {...props}\n />\n );\n};\n\nexport { NavigationListContent };\n","import type { ComponentProps } from \"react\";\n\nimport { cn, tv, type VariantProps } from \"tailwind-variants\";\n\nimport type { UISize } from \"../shared/size/size-system\";\n\nimport {\n type NavigationListTone,\n type NavigationListVariant,\n useResolvedNavigationListSize,\n useResolvedNavigationListTone,\n useResolvedNavigationListVariant,\n} from \"./navigation-list-context\";\n\nconst navigationListGroupVariants = tv({\n base: \"list-none space-y-1\",\n variants: {\n size: {\n xs: \"\",\n sm: \"\",\n md: \"\",\n lg: \"\",\n xl: \"\",\n },\n tone: {\n surface: \"\",\n sidebar: \"\",\n },\n variant: {\n subtle: \"\",\n light: \"\",\n filled: \"\",\n },\n },\n defaultVariants: {\n size: \"md\",\n tone: \"surface\",\n variant: \"light\",\n },\n});\n\nexport type NavigationListGroupProps = ComponentProps<\"li\"> &\n VariantProps<typeof navigationListGroupVariants> & {\n size?: UISize;\n tone?: NavigationListTone;\n variant?: NavigationListVariant;\n };\n\nconst NavigationListGroup = ({\n className,\n size,\n tone,\n variant,\n ...props\n}: NavigationListGroupProps) => {\n const resolvedSize = useResolvedNavigationListSize(size);\n const resolvedTone = useResolvedNavigationListTone(tone);\n const resolvedVariant = useResolvedNavigationListVariant(variant);\n\n return (\n <li\n className={cn(\n navigationListGroupVariants({\n size: resolvedSize,\n tone: resolvedTone,\n variant: resolvedVariant,\n }),\n className\n )}\n data-size={resolvedSize}\n data-slot=\"navigation-list-group\"\n data-tone={resolvedTone}\n data-variant={resolvedVariant}\n {...props}\n />\n );\n};\n\nexport { NavigationListGroup };\n","import type { ComponentProps } from \"react\";\n\nimport { cn, tv, type VariantProps } from \"tailwind-variants\";\n\nimport type { UISize } from \"../shared/size/size-system\";\n\nimport {\n type NavigationListTone,\n type NavigationListVariant,\n useResolvedNavigationListSize,\n useResolvedNavigationListTone,\n useResolvedNavigationListVariant,\n} from \"./navigation-list-context\";\n\nconst navigationListGroupContentVariants = tv({\n base: \"flex list-none flex-col\",\n variants: {\n size: {\n xs: \"gap-0.5\",\n sm: \"gap-0.5\",\n md: \"gap-1\",\n lg: \"gap-1\",\n xl: \"gap-1.5\",\n },\n tone: {\n surface: \"\",\n sidebar: \"\",\n },\n variant: {\n subtle: \"\",\n light: \"\",\n filled: \"\",\n },\n },\n defaultVariants: {\n size: \"md\",\n tone: \"surface\",\n variant: \"light\",\n },\n});\n\nexport type NavigationListGroupContentProps = ComponentProps<\"ul\"> &\n VariantProps<typeof navigationListGroupContentVariants> & {\n size?: UISize;\n tone?: NavigationListTone;\n variant?: NavigationListVariant;\n };\n\nconst NavigationListGroupContent = ({\n className,\n size,\n tone,\n variant,\n ...props\n}: NavigationListGroupContentProps) => {\n const resolvedSize = useResolvedNavigationListSize(size);\n const resolvedTone = useResolvedNavigationListTone(tone);\n const resolvedVariant = useResolvedNavigationListVariant(variant);\n\n return (\n <ul\n className={cn(\n navigationListGroupContentVariants({\n size: resolvedSize,\n tone: resolvedTone,\n variant: resolvedVariant,\n }),\n className\n )}\n data-size={resolvedSize}\n data-slot=\"navigation-list-group-content\"\n data-tone={resolvedTone}\n data-variant={resolvedVariant}\n {...props}\n />\n );\n};\n\nexport { NavigationListGroupContent };\n","import type { ComponentProps } from \"react\";\n\nimport { mergeProps } from \"@base-ui/react/merge-props\";\nimport { useRender } from \"@base-ui/react/use-render\";\nimport { cn, tv, type VariantProps } from \"tailwind-variants\";\n\nimport type { UISize } from \"../shared/size/size-system\";\n\nimport {\n type NavigationListTone,\n useResolvedNavigationListSize,\n useResolvedNavigationListTone,\n} from \"./navigation-list-context\";\n\nconst navigationListGroupLabelVariants = tv({\n base: \"flex items-center rounded-md px-2 font-medium uppercase tracking-wide\",\n variants: {\n size: {\n xs: \"h-6 text-[10px]\",\n sm: \"h-7 text-[10px]\",\n md: \"h-8 text-[11px]\",\n lg: \"h-9 text-xs\",\n xl: \"h-10 text-xs\",\n },\n tone: {\n surface: \"text-muted-foreground\",\n sidebar: \"text-sidebar-foreground/70\",\n },\n },\n defaultVariants: {\n size: \"md\",\n tone: \"surface\",\n },\n});\n\nexport type NavigationListGroupLabelProps = useRender.ComponentProps<\"div\"> &\n ComponentProps<\"div\"> &\n Omit<VariantProps<typeof navigationListGroupLabelVariants>, \"size\"> & {\n size?: UISize;\n tone?: NavigationListTone;\n };\n\nconst NavigationListGroupLabel = ({\n className,\n render,\n size,\n tone,\n ...props\n}: NavigationListGroupLabelProps) => {\n const resolvedSize = useResolvedNavigationListSize(size);\n const resolvedTone = useResolvedNavigationListTone(tone);\n\n return useRender({\n defaultTagName: \"div\",\n props: mergeProps<\"div\">(\n {\n className: cn(\n navigationListGroupLabelVariants({\n size: resolvedSize,\n tone: resolvedTone,\n }),\n className\n ),\n },\n props\n ),\n render,\n state: {\n slot: \"navigation-list-group-label\",\n size: resolvedSize,\n tone: resolvedTone,\n },\n });\n};\n\nexport { NavigationListGroupLabel };\n","\"use client\";\n\nimport type { ComponentProps } from \"react\";\n\nimport { Collapsible as CollapsiblePrimitive } from \"@base-ui/react/collapsible\";\nimport { useCallback, useMemo, useState } from \"react\";\nimport { cn, tv, type VariantProps } from \"tailwind-variants\";\n\nimport type { UISize } from \"../shared/size/size-system\";\n\nimport {\n type NavigationListTone,\n type NavigationListVariant,\n useResolvedNavigationListSize,\n useResolvedNavigationListTone,\n useResolvedNavigationListVariant,\n} from \"./navigation-list-context\";\nimport {\n NavigationListItemContext,\n type NavigationListItemContextValue,\n} from \"./navigation-list-item-context\";\n\nconst navigationListItemVariants = tv({\n base: \"group/navigation-list-item relative list-none\",\n variants: {\n size: {\n xs: \"\",\n sm: \"\",\n md: \"\",\n lg: \"\",\n xl: \"\",\n },\n tone: {\n surface: \"\",\n sidebar: \"\",\n },\n variant: {\n subtle: \"\",\n light: \"\",\n filled: \"\",\n },\n },\n defaultVariants: {\n size: \"md\",\n tone: \"surface\",\n variant: \"light\",\n },\n});\n\nexport type NavigationListItemProps = ComponentProps<\"li\"> &\n VariantProps<typeof navigationListItemVariants> & {\n collapsible?: boolean;\n opened?: boolean;\n defaultOpened?: boolean;\n onOpenedChange?: (opened: boolean) => void;\n disabled?: boolean;\n size?: UISize;\n tone?: NavigationListTone;\n variant?: NavigationListVariant;\n };\n\nconst NavigationListItem = ({\n className,\n collapsible = false,\n opened,\n defaultOpened = false,\n onOpenedChange,\n disabled = false,\n size,\n tone,\n variant,\n children,\n ...props\n}: NavigationListItemProps) => {\n const [internalOpen, setInternalOpen] = useState(defaultOpened);\n const isControlled = opened !== undefined;\n const currentOpen = isControlled ? (opened ?? false) : internalOpen;\n const resolvedOpen = collapsible ? currentOpen : false;\n\n const handleOpenChange = useCallback(\n (nextOpen: boolean) => {\n if (!collapsible) {\n return;\n }\n\n if (!isControlled) {\n setInternalOpen(nextOpen);\n }\n\n onOpenedChange?.(nextOpen);\n },\n [collapsible, isControlled, onOpenedChange]\n );\n\n const resolvedSize = useResolvedNavigationListSize(size);\n const resolvedTone = useResolvedNavigationListTone(tone);\n const resolvedVariant = useResolvedNavigationListVariant(variant);\n\n const contextValue = useMemo<NavigationListItemContextValue>(\n () => ({\n collapsible,\n disabled,\n open: resolvedOpen,\n size: resolvedSize,\n tone: resolvedTone,\n variant: resolvedVariant,\n }),\n [\n collapsible,\n disabled,\n resolvedOpen,\n resolvedSize,\n resolvedTone,\n resolvedVariant,\n ]\n );\n\n const itemProps = {\n className: cn(\n navigationListItemVariants({\n size: resolvedSize,\n tone: resolvedTone,\n variant: resolvedVariant,\n }),\n className\n ),\n \"data-collapsible\": collapsible ? \"true\" : \"false\",\n \"data-disabled\": disabled ? \"true\" : undefined,\n \"data-open\": resolvedOpen ? \"true\" : \"false\",\n \"data-size\": resolvedSize,\n \"data-slot\": \"navigation-list-item\",\n \"data-tone\": resolvedTone,\n \"data-variant\": resolvedVariant,\n ...props,\n };\n\n return (\n <NavigationListItemContext.Provider value={contextValue}>\n <li {...itemProps}>\n {collapsible ? (\n <CollapsiblePrimitive.Root\n disabled={disabled}\n onOpenChange={handleOpenChange}\n open={resolvedOpen}\n >\n {children}\n </CollapsiblePrimitive.Root>\n ) : (\n children\n )}\n </li>\n </NavigationListItemContext.Provider>\n );\n};\n\nexport { NavigationListItem };\n","\"use client\";\n\nimport type { ComponentProps, MouseEvent, ReactNode } from \"react\";\n\nimport { Collapsible as CollapsiblePrimitive } from \"@base-ui/react/collapsible\";\nimport { mergeProps } from \"@base-ui/react/merge-props\";\nimport { useRender } from \"@base-ui/react/use-render\";\nimport { ArrowRight01Icon } from \"@hugeicons/core-free-icons\";\nimport { HugeiconsIcon } from \"@hugeicons/react\";\nimport { useCallback, useEffect } from \"react\";\nimport { cn, tv, type VariantProps } from \"tailwind-variants\";\n\nimport type { BaseUIClassName } from \"../../utils/merge-base-ui-class-name\";\nimport type { UISize } from \"../shared/size/size-system\";\n\nimport {\n type NavigationListTone,\n type NavigationListVariant,\n useResolvedNavigationListSize,\n useResolvedNavigationListTone,\n useResolvedNavigationListVariant,\n} from \"./navigation-list-context\";\nimport { useNavigationListItemContext } from \"./navigation-list-item-context\";\n\nconst navigationListLinkVariants = tv({\n base: \"peer/navigation-list-link flex w-full cursor-pointer gap-2 overflow-hidden rounded-md text-left ring-offset-background outline-hidden transition-colors group-has-data-[slot=navigation-list-action]/navigation-list-item:pr-20 group-has-data-[slot=navigation-list-badge]/navigation-list-item:pr-20 focus-visible:ring-2 disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50\",\n variants: {\n size: {\n xs: \"min-h-6 px-1.5 text-xs [&_svg:not([class*='size-'])]:size-3\",\n sm: \"min-h-7 px-2 text-xs [&_svg:not([class*='size-'])]:size-3.5\",\n md: \"min-h-8 px-2 text-sm [&_svg:not([class*='size-'])]:size-4\",\n lg: \"min-h-9 px-2.5 text-sm [&_svg:not([class*='size-'])]:size-4\",\n xl: \"min-h-10 px-3 text-base [&_svg:not([class*='size-'])]:size-5\",\n },\n tone: {\n surface: \"ring-ring\",\n sidebar: \"ring-sidebar-ring\",\n },\n variant: {\n subtle: \"\",\n light: \"\",\n filled: \"\",\n },\n noWrap: {\n true: \"\",\n false: \"\",\n },\n hasDescription: {\n true: \"items-start py-1.5\",\n false: \"items-center\",\n },\n },\n defaultVariants: {\n size: \"md\",\n tone: \"surface\",\n variant: \"light\",\n noWrap: false,\n hasDescription: false,\n },\n compoundVariants: [\n {\n tone: \"surface\",\n variant: \"subtle\",\n className:\n \"hover:bg-muted/70 hover:text-foreground data-active:bg-muted/50 data-active:text-foreground data-active:font-medium\",\n },\n {\n tone: \"surface\",\n variant: \"light\",\n className:\n \"hover:bg-muted hover:text-foreground data-active:bg-muted data-active:text-foreground data-active:font-medium\",\n },\n {\n tone: \"surface\",\n variant: \"filled\",\n className:\n \"hover:bg-muted hover:text-foreground data-active:bg-primary data-active:text-primary-foreground data-active:font-medium\",\n },\n {\n tone: \"sidebar\",\n variant: \"subtle\",\n className:\n \"hover:bg-sidebar-accent/70 hover:text-sidebar-accent-foreground data-active:bg-sidebar-accent/60 data-active:text-sidebar-accent-foreground data-active:font-medium\",\n },\n {\n tone: \"sidebar\",\n variant: \"light\",\n className:\n \"hover:bg-sidebar-accent hover:text-sidebar-accent-foreground data-active:bg-sidebar-accent data-active:text-sidebar-accent-foreground data-active:font-medium\",\n },\n {\n tone: \"sidebar\",\n variant: \"filled\",\n className:\n \"hover:bg-sidebar-accent hover:text-sidebar-accent-foreground data-active:bg-sidebar-primary data-active:text-sidebar-primary-foreground data-active:font-medium\",\n },\n ],\n});\n\nconst navigationListLinkBodyVariants = tv({\n base: \"min-w-0 flex-1\",\n variants: {\n noWrap: {\n true: \"truncate\",\n false: \"\",\n },\n },\n defaultVariants: {\n noWrap: false,\n },\n});\n\nconst navigationListLinkLabelVariants = tv({\n base: \"block\",\n variants: {\n noWrap: {\n true: \"truncate\",\n false: \"\",\n },\n },\n defaultVariants: {\n noWrap: false,\n },\n});\n\nconst navigationListLinkDescriptionVariants = tv({\n base: \"mt-0.5 block text-xs\",\n variants: {\n noWrap: {\n true: \"truncate\",\n false: \"\",\n },\n tone: {\n surface: \"text-muted-foreground\",\n sidebar: \"text-sidebar-foreground/70\",\n },\n },\n defaultVariants: {\n noWrap: false,\n tone: \"surface\",\n },\n});\n\nconst navigationListDefaultChevron = (\n <HugeiconsIcon aria-hidden=\"true\" icon={ArrowRight01Icon} strokeWidth={2} />\n);\n\nexport interface NavigationListLinkState {\n active: boolean;\n collapsible: boolean;\n disabled: boolean;\n open: boolean;\n size: UISize;\n slot: \"navigation-list-link\";\n tone: NavigationListTone;\n variant: NavigationListVariant;\n}\n\nexport type NavigationListLinkProps = Omit<\n useRender.ComponentProps<\"button\">,\n \"className\"\n> &\n Omit<ComponentProps<\"button\">, \"className\"> &\n Omit<\n VariantProps<typeof navigationListLinkVariants>,\n | \"class\"\n | \"className\"\n | \"hasDescription\"\n | \"noWrap\"\n | \"size\"\n | \"tone\"\n | \"variant\"\n > & {\n href?: string;\n active?: boolean;\n label?: ReactNode;\n description?: ReactNode;\n leftSection?: ReactNode;\n rightSection?: ReactNode | null;\n noWrap?: boolean;\n disableRightSectionRotation?: boolean;\n size?: UISize;\n tone?: NavigationListTone;\n variant?: NavigationListVariant;\n className?: BaseUIClassName<NavigationListLinkState>;\n };\n\nconst NavigationListLink = ({\n className,\n render,\n href,\n active,\n label,\n description,\n leftSection,\n rightSection,\n noWrap = false,\n disableRightSectionRotation = false,\n size,\n tone,\n variant,\n disabled,\n onClick,\n onKeyDown,\n children,\n ...props\n}: NavigationListLinkProps) => {\n const itemContext = useNavigationListItemContext();\n\n const resolvedSize = useResolvedNavigationListSize(size, itemContext.size);\n const resolvedTone = useResolvedNavigationListTone(tone, itemContext.tone);\n const resolvedVariant = useResolvedNavigationListVariant(\n variant,\n itemContext.variant\n );\n\n const hasToggleBehavior = itemContext.collapsible;\n const isLinkLike =\n !hasToggleBehavior && (href !== undefined || render !== undefined);\n const resolvedActive = Boolean(active || props[\"aria-current\"] === \"page\");\n const resolvedAriaCurrent =\n props[\"aria-current\"] ??\n (resolvedActive && isLinkLike ? \"page\" : undefined);\n const resolvedDisabled = disabled ?? itemContext.disabled;\n\n useEffect(() => {\n if (process.env.NODE_ENV === \"production\" || !hasToggleBehavior) {\n return;\n }\n\n if (href !== undefined) {\n console.warn(\n \"[NavigationList.Link] `href` is ignored when used inside `NavigationList.Item collapsible`. Parent rows are disclosure buttons.\"\n );\n }\n\n if (render !== undefined) {\n console.warn(\n \"[NavigationList.Link] `render` is ignored when used inside `NavigationList.Item collapsible`. Parent rows are disclosure buttons.\"\n );\n }\n }, [hasToggleBehavior, href, render]);\n\n const usesDefaultChevron = rightSection === undefined && hasToggleBehavior;\n const renderedRightSection = usesDefaultChevron\n ? navigationListDefaultChevron\n : rightSection;\n const hasRenderedRightSection = renderedRightSection !== null;\n\n const handleClick = useCallback(\n (event: MouseEvent<HTMLElement>) => {\n onClick?.(event as never);\n\n if (event.defaultPrevented) {\n return;\n }\n\n if (resolvedDisabled) {\n event.preventDefault();\n }\n },\n [onClick, resolvedDisabled]\n );\n\n const composedContent =\n children ??\n (label || description || leftSection || hasRenderedRightSection ? (\n <>\n {leftSection ? (\n <span\n className=\"shrink-0\"\n data-slot=\"navigation-list-link-left-section\"\n >\n {leftSection}\n </span>\n ) : null}\n\n <span className={navigationListLinkBodyVariants({ noWrap })}>\n {label ? (\n <span\n className={navigationListLinkLabelVariants({ noWrap })}\n data-slot=\"navigation-list-link-label\"\n >\n {label}\n </span>\n ) : null}\n {description ? (\n <span\n className={navigationListLinkDescriptionVariants({\n noWrap,\n tone: resolvedTone,\n })}\n data-slot=\"navigation-list-link-description\"\n >\n {description}\n </span>\n ) : null}\n </span>\n\n {hasRenderedRightSection ? (\n <span\n aria-hidden={usesDefaultChevron ? \"true\" : undefined}\n className={cn(\n \"ml-auto flex shrink-0 items-center justify-center\",\n hasToggleBehavior &&\n !disableRightSectionRotation &&\n \"data-[open=true]:rotate-90\"\n )}\n data-open={itemContext.open ? \"true\" : \"false\"}\n data-slot=\"navigation-list-link-right-section\"\n >\n {renderedRightSection}\n </span>\n ) : null}\n </>\n ) : null);\n\n const state: NavigationListLinkState = {\n active: resolvedActive,\n collapsible: hasToggleBehavior,\n disabled: resolvedDisabled,\n open: itemContext.open,\n size: resolvedSize,\n slot: \"navigation-list-link\",\n tone: resolvedTone,\n variant: resolvedVariant,\n };\n const resolvedClassName =\n typeof className === \"function\" ? className(state) : className;\n\n const mergedClassName = cn(\n navigationListLinkVariants({\n hasDescription: Boolean(description),\n noWrap,\n size: resolvedSize,\n tone: resolvedTone,\n variant: resolvedVariant,\n }),\n resolvedClassName\n );\n\n const resolvedRender =\n render ??\n (href\n ? (renderProps: ComponentProps<\"a\">) => {\n const { children: renderChildren, ...anchorProps } = renderProps;\n\n return (\n <a {...anchorProps} href={href}>\n {renderChildren}\n </a>\n );\n }\n : undefined);\n\n const renderedLinkElement = useRender({\n defaultTagName: \"button\",\n props: mergeProps<\"button\">(\n {\n className: mergedClassName,\n \"aria-current\": resolvedAriaCurrent,\n \"aria-disabled\": resolvedDisabled ? \"true\" : undefined,\n disabled: isLinkLike ? undefined : resolvedDisabled,\n onClick: handleClick,\n onKeyDown,\n type: isLinkLike ? undefined : \"button\",\n children: composedContent,\n },\n props\n ),\n render: resolvedRender,\n state,\n });\n\n if (hasToggleBehavior) {\n return (\n <CollapsiblePrimitive.Trigger\n aria-disabled={resolvedDisabled ? \"true\" : undefined}\n className={mergedClassName}\n data-active={resolvedActive ? \"true\" : undefined}\n data-size={resolvedSize}\n data-slot=\"navigation-list-link\"\n data-tone={resolvedTone}\n data-variant={resolvedVariant}\n disabled={resolvedDisabled}\n onClick={onClick}\n onKeyDown={onKeyDown}\n type=\"button\"\n >\n {composedContent}\n </CollapsiblePrimitive.Trigger>\n );\n }\n\n return renderedLinkElement;\n};\n\nexport { NavigationListLink };\n","import type { ComponentProps } from \"react\";\n\nimport { cn } from \"tailwind-variants\";\n\nimport { Separator } from \"../separator/separator\";\nimport {\n type NavigationListTone,\n useResolvedNavigationListTone,\n} from \"./navigation-list-context\";\n\nexport type NavigationListSeparatorProps = ComponentProps<typeof Separator> & {\n tone?: NavigationListTone;\n};\n\nconst NavigationListSeparator = ({\n className,\n tone,\n ...props\n}: NavigationListSeparatorProps) => {\n const resolvedTone = useResolvedNavigationListTone(tone);\n\n return (\n <Separator\n className={cn(\n resolvedTone === \"sidebar\" ? \"bg-sidebar-border\" : \"bg-border\",\n className\n )}\n data-slot=\"navigation-list-separator\"\n data-tone={resolvedTone}\n {...props}\n />\n );\n};\n\nexport { NavigationListSeparator };\n","import type { ComponentProps, CSSProperties } from \"react\";\n\nimport { cn, tv, type VariantProps } from \"tailwind-variants\";\n\nimport type { UISize } from \"../shared/size/size-system\";\n\nimport { Skeleton } from \"../skeleton/skeleton\";\nimport {\n type NavigationListTone,\n useResolvedNavigationListSize,\n useResolvedNavigationListTone,\n} from \"./navigation-list-context\";\nimport { useNavigationListItemContext } from \"./navigation-list-item-context\";\n\nconst navigationListSkeletonVariants = tv({\n base: \"flex items-center gap-2 rounded-md px-2\",\n variants: {\n size: {\n xs: \"h-6\",\n sm: \"h-7\",\n md: \"h-8\",\n lg: \"h-9\",\n xl: \"h-10\",\n },\n tone: {\n surface: \"\",\n sidebar: \"\",\n },\n },\n defaultVariants: {\n size: \"md\",\n tone: \"surface\",\n },\n});\n\nexport type NavigationListSkeletonProps = ComponentProps<\"div\"> & {\n showIcon?: boolean;\n size?: UISize;\n tone?: NavigationListTone;\n} & VariantProps<typeof navigationListSkeletonVariants>;\n\nconst NavigationListSkeleton = ({\n className,\n showIcon = false,\n size,\n tone,\n ...props\n}: NavigationListSkeletonProps) => {\n const itemContext = useNavigationListItemContext();\n const resolvedSize = useResolvedNavigationListSize(size, itemContext.size);\n const resolvedTone = useResolvedNavigationListTone(tone, itemContext.tone);\n\n return (\n <div\n className={cn(\n navigationListSkeletonVariants({\n size: resolvedSize,\n tone: resolvedTone,\n }),\n className\n )}\n data-size={resolvedSize}\n data-slot=\"navigation-list-skeleton\"\n data-tone={resolvedTone}\n {...props}\n >\n {showIcon ? (\n <Skeleton\n className=\"size-4 rounded-md\"\n data-slot=\"navigation-list-skeleton-icon\"\n />\n ) : null}\n <Skeleton\n className=\"h-4 max-w-(--navigation-list-skeleton-width) flex-1\"\n data-slot=\"navigation-list-skeleton-text\"\n style={\n {\n \"--navigation-list-skeleton-width\": \"100%\",\n } as CSSProperties\n }\n />\n </div>\n );\n};\n\nexport { NavigationListSkeleton };\n","import type { ComponentProps } from \"react\";\n\nimport { Collapsible as CollapsiblePrimitive } from \"@base-ui/react/collapsible\";\nimport { cn, tv, type VariantProps } from \"tailwind-variants\";\n\nimport type { UISize } from \"../shared/size/size-system\";\n\nimport {\n type NavigationListTone,\n type NavigationListVariant,\n useResolvedNavigationListSize,\n useResolvedNavigationListTone,\n useResolvedNavigationListVariant,\n} from \"./navigation-list-context\";\nimport { useNavigationListItemContext } from \"./navigation-list-item-context\";\n\nconst navigationListSubVariants = tv({\n base: \"mx-2 mt-1 flex min-w-0 list-none flex-col border-l overflow-hidden [&[hidden]:not([hidden='until-found'])]:hidden data-[open=false]:pointer-events-none data-[open=false]:mt-0 data-[open=false]:max-h-0 data-[open=false]:opacity-0 data-[open=false]:py-0 data-[open=false]:border-transparent data-[open=true]:max-h-[48rem] data-[open=true]:opacity-100\",\n variants: {\n size: {\n xs: \"gap-0.5 px-1 py-0.5\",\n sm: \"gap-0.5 px-1.5 py-0.5\",\n md: \"gap-1 px-2 py-0.5\",\n lg: \"gap-1 px-2.5 py-1\",\n xl: \"gap-1.5 px-3 py-1\",\n },\n tone: {\n surface: \"border-border\",\n sidebar: \"border-sidebar-border\",\n },\n variant: {\n subtle: \"\",\n light: \"\",\n filled: \"\",\n },\n },\n defaultVariants: {\n size: \"md\",\n tone: \"surface\",\n variant: \"light\",\n },\n});\n\nexport type NavigationListSubProps = ComponentProps<\"ul\"> & {\n keepMounted?: boolean;\n size?: UISize;\n tone?: NavigationListTone;\n variant?: NavigationListVariant;\n} & VariantProps<typeof navigationListSubVariants>;\n\nconst NavigationListSub = ({\n className,\n keepMounted = true,\n size,\n tone,\n variant,\n ...props\n}: NavigationListSubProps) => {\n const itemContext = useNavigationListItemContext();\n const resolvedSize = useResolvedNavigationListSize(size, itemContext.size);\n const resolvedTone = useResolvedNavigationListTone(tone, itemContext.tone);\n const resolvedVariant = useResolvedNavigationListVariant(\n variant,\n itemContext.variant\n );\n\n const resolvedClassName = cn(\n navigationListSubVariants({\n size: resolvedSize,\n tone: resolvedTone,\n variant: resolvedVariant,\n }),\n className\n );\n\n if (!itemContext.collapsible) {\n return (\n <ul\n className={resolvedClassName}\n data-open=\"true\"\n data-size={resolvedSize}\n data-slot=\"navigation-list-sub\"\n data-tone={resolvedTone}\n data-variant={resolvedVariant}\n {...props}\n />\n );\n }\n\n return (\n <CollapsiblePrimitive.Panel keepMounted={keepMounted}>\n <ul\n className={resolvedClassName}\n data-open={itemContext.open ? \"true\" : \"false\"}\n data-size={resolvedSize}\n data-slot=\"navigation-list-sub\"\n data-tone={resolvedTone}\n data-variant={resolvedVariant}\n hidden={keepMounted && !itemContext.open}\n {...props}\n />\n </CollapsiblePrimitive.Panel>\n );\n};\n\nexport { NavigationListSub };\n","import type { ComponentProps } from \"react\";\n\nimport { cn } from \"tailwind-variants\";\n\nexport type NavigationListSubItemProps = ComponentProps<\"li\">;\n\nconst NavigationListSubItem = ({\n className,\n ...props\n}: NavigationListSubItemProps) => (\n <li\n className={cn(\n \"group/navigation-list-sub-item relative list-none\",\n className\n )}\n data-slot=\"navigation-list-sub-item\"\n {...props}\n />\n);\n\nexport { NavigationListSubItem };\n","import type { ComponentProps } from \"react\";\n\nimport { mergeProps } from \"@base-ui/react/merge-props\";\nimport { useRender } from \"@base-ui/react/use-render\";\nimport { cn, tv, type VariantProps } from \"tailwind-variants\";\n\nimport type { UISize } from \"../shared/size/size-system\";\n\nimport {\n type NavigationListTone,\n type NavigationListVariant,\n useResolvedNavigationListSize,\n useResolvedNavigationListTone,\n useResolvedNavigationListVariant,\n} from \"./navigation-list-context\";\nimport { useNavigationListItemContext } from \"./navigation-list-item-context\";\n\nconst navigationListSubLinkVariants = tv({\n base: \"flex min-w-0 items-center gap-2 overflow-hidden rounded-md text-left outline-hidden transition-colors focus-visible:ring-2 [&>span:last-child]:truncate\",\n variants: {\n size: {\n xs: \"h-6 px-1.5 text-xs [&_svg:not([class*='size-'])]:size-3\",\n sm: \"h-7 px-2 text-xs [&_svg:not([class*='size-'])]:size-3.5\",\n md: \"h-8 px-2 text-sm [&_svg:not([class*='size-'])]:size-4\",\n lg: \"h-9 px-2.5 text-sm [&_svg:not([class*='size-'])]:size-4\",\n xl: \"h-10 px-3 text-base [&_svg:not([class*='size-'])]:size-5\",\n },\n tone: {\n surface: \"ring-ring\",\n sidebar: \"ring-sidebar-ring\",\n },\n variant: {\n subtle: \"\",\n light: \"\",\n filled: \"\",\n },\n active: {\n true: \"font-medium\",\n false: \"\",\n },\n },\n defaultVariants: {\n size: \"md\",\n tone: \"surface\",\n variant: \"light\",\n active: false,\n },\n compoundVariants: [\n {\n tone: \"surface\",\n variant: \"subtle\",\n className:\n \"hover:bg-muted/70 hover:text-foreground data-active:bg-muted/50\",\n },\n {\n tone: \"surface\",\n variant: \"light\",\n className: \"hover:bg-muted hover:text-foreground data-active:bg-muted\",\n },\n {\n tone: \"surface\",\n variant: \"filled\",\n className:\n \"hover:bg-muted hover:text-foreground data-active:bg-primary data-active:text-primary-foreground\",\n },\n {\n tone: \"sidebar\",\n variant: \"subtle\",\n className:\n \"hover:bg-sidebar-accent/70 hover:text-sidebar-accent-foreground data-active:bg-sidebar-accent/60 data-active:text-sidebar-accent-foreground\",\n },\n {\n tone: \"sidebar\",\n variant: \"light\",\n className:\n \"hover:bg-sidebar-accent hover:text-sidebar-accent-foreground data-active:bg-sidebar-accent data-active:text-sidebar-accent-foreground\",\n },\n {\n tone: \"sidebar\",\n variant: \"filled\",\n className:\n \"hover:bg-sidebar-accent hover:text-sidebar-accent-foreground data-active:bg-sidebar-primary data-active:text-sidebar-primary-foreground\",\n },\n ],\n});\n\nexport type NavigationListSubLinkProps = useRender.ComponentProps<\"a\"> &\n ComponentProps<\"a\"> & {\n active?: boolean;\n size?: UISize;\n tone?: NavigationListTone;\n variant?: NavigationListVariant;\n } & VariantProps<typeof navigationListSubLinkVariants>;\n\nconst NavigationListSubLink = ({\n className,\n render,\n active,\n size,\n tone,\n variant,\n ...props\n}: NavigationListSubLinkProps) => {\n const itemContext = useNavigationListItemContext();\n const resolvedSize = useResolvedNavigationListSize(size, itemContext.size);\n const resolvedTone = useResolvedNavigationListTone(tone, itemContext.tone);\n const resolvedVariant = useResolvedNavigationListVariant(\n variant,\n itemContext.variant\n );\n const resolvedActive = active ?? props[\"aria-current\"] === \"page\";\n const resolvedAriaCurrent =\n props[\"aria-current\"] ?? (resolvedActive ? \"page\" : undefined);\n\n return useRender({\n defaultTagName: \"a\",\n props: mergeProps<\"a\">(\n {\n \"aria-current\": resolvedAriaCurrent,\n className: cn(\n navigationListSubLinkVariants({\n active: resolvedActive,\n size: resolvedSize,\n tone: resolvedTone,\n variant: resolvedVariant,\n }),\n className\n ),\n },\n props\n ),\n render,\n state: {\n active: resolvedActive,\n size: resolvedSize,\n slot: \"navigation-list-sub-link\",\n tone: resolvedTone,\n variant: resolvedVariant,\n },\n });\n};\n\nexport { NavigationListSubLink };\n","import type { ComponentProps } from \"react\";\n\nimport { cn, tv, type VariantProps } from \"tailwind-variants\";\n\nimport type { BaseUIClassName } from \"../../utils/merge-base-ui-class-name\";\nimport type { UISize } from \"../shared/size/size-system\";\n\nimport { useComponentSize } from \"../shared/size/size-provider\";\nimport { NavigationListAction } from \"./navigation-list-action\";\nimport { NavigationListBadge } from \"./navigation-list-badge\";\nimport { NavigationListContent } from \"./navigation-list-content\";\nimport {\n NavigationListContext,\n type NavigationListTone,\n type NavigationListVariant,\n} from \"./navigation-list-context\";\nimport { NavigationListGroup } from \"./navigation-list-group\";\nimport { NavigationListGroupContent } from \"./navigation-list-group-content\";\nimport { NavigationListGroupLabel } from \"./navigation-list-group-label\";\nimport { NavigationListItem } from \"./navigation-list-item\";\nimport { NavigationListLink } from \"./navigation-list-link\";\nimport { NavigationListSeparator } from \"./navigation-list-separator\";\nimport { NavigationListSkeleton } from \"./navigation-list-skeleton\";\nimport { NavigationListSub } from \"./navigation-list-sub\";\nimport { NavigationListSubItem } from \"./navigation-list-sub-item\";\nimport { NavigationListSubLink } from \"./navigation-list-sub-link\";\n\nconst navigationListVariants = tv({\n base: \"flex min-w-0 flex-col\",\n variants: {\n size: {\n xs: \"gap-1\",\n sm: \"gap-1\",\n md: \"gap-1.5\",\n lg: \"gap-2\",\n xl: \"gap-2.5\",\n },\n tone: {\n surface: \"\",\n sidebar: \"\",\n },\n variant: {\n subtle: \"\",\n light: \"\",\n filled: \"\",\n },\n },\n defaultVariants: {\n size: \"md\",\n tone: \"surface\",\n variant: \"light\",\n },\n});\n\nexport interface NavigationListRootState {\n size: UISize;\n slot: \"navigation-list\";\n tone: NavigationListTone;\n variant: NavigationListVariant;\n}\n\nexport type NavigationListProps = Omit<ComponentProps<\"nav\">, \"className\"> &\n Omit<\n VariantProps<typeof navigationListVariants>,\n \"class\" | \"className\" | \"size\"\n > & {\n className?: BaseUIClassName<NavigationListRootState>;\n size?: UISize;\n tone?: NavigationListTone;\n variant?: NavigationListVariant;\n };\n\nconst NavigationList = ({\n className,\n size: providedSize,\n tone = \"surface\",\n variant = \"light\",\n children,\n ...props\n}: NavigationListProps) => {\n const size = useComponentSize(providedSize);\n const state: NavigationListRootState = {\n size,\n slot: \"navigation-list\",\n tone,\n variant,\n };\n\n const resolvedClassName =\n typeof className === \"function\" ? className(state) : className;\n\n return (\n <NavigationListContext.Provider value={{ size, tone, variant }}>\n <nav\n className={cn(\n navigationListVariants({\n size,\n tone,\n variant,\n }),\n resolvedClassName\n )}\n data-size={size}\n data-slot=\"navigation-list\"\n data-tone={tone}\n data-variant={variant}\n {...props}\n >\n {children}\n </nav>\n </NavigationListContext.Provider>\n );\n};\n\nNavigationList.Action = NavigationListAction;\nNavigationList.Badge = NavigationListBadge;\nNavigationList.Content = NavigationListContent;\nNavigationList.Group = NavigationListGroup;\nNavigationList.GroupContent = NavigationListGroupContent;\nNavigationList.GroupLabel = NavigationListGroupLabel;\nNavigationList.Item = NavigationListItem;\nNavigationList.Link = NavigationListLink;\nNavigationList.Separator = NavigationListSeparator;\nNavigationList.Skeleton = NavigationListSkeleton;\nNavigationList.Sub = NavigationListSub;\nNavigationList.SubItem = NavigationListSubItem;\nNavigationList.SubLink = NavigationListSubLink;\n\nexport {\n NavigationList,\n NavigationListAction,\n NavigationListBadge,\n NavigationListContent,\n NavigationListGroup,\n NavigationListGroupContent,\n NavigationListGroupLabel,\n NavigationListItem,\n NavigationListLink,\n NavigationListSeparator,\n NavigationListSkeleton,\n NavigationListSub,\n NavigationListSubItem,\n NavigationListSubLink,\n};\n\nexport type { NavigationListActionProps } from \"./navigation-list-action\";\nexport type { NavigationListBadgeProps } from \"./navigation-list-badge\";\nexport type { NavigationListContentProps } from \"./navigation-list-content\";\nexport type {\n NavigationListContextValue,\n NavigationListTone,\n NavigationListVariant,\n} from \"./navigation-list-context\";\nexport type { NavigationListGroupProps } from \"./navigation-list-group\";\nexport type { NavigationListGroupContentProps } from \"./navigation-list-group-content\";\nexport type { NavigationListGroupLabelProps } from \"./navigation-list-group-label\";\nexport type { NavigationListItemProps } from \"./navigation-list-item\";\nexport type { NavigationListLinkProps } from \"./navigation-list-link\";\nexport type { NavigationListSeparatorProps } from \"./navigation-list-separator\";\nexport type { NavigationListSkeletonProps } from \"./navigation-list-skeleton\";\nexport type { NavigationListSubProps } from \"./navigation-list-sub\";\nexport type { NavigationListSubItemProps } from \"./navigation-list-sub-item\";\nexport type { NavigationListSubLinkProps } from \"./navigation-list-sub-link\";\n","import type { ReactNode } from \"react\";\n\nconst MIN_STEP_TOLERANCE_MULTIPLIER = 10;\n\nexport const getMinStepsBetweenValues = ({\n minRange,\n restrictToMarks,\n step,\n}: {\n minRange: number;\n restrictToMarks: boolean;\n step: number;\n}) => {\n if (restrictToMarks || step <= 0 || !Number.isFinite(minRange)) {\n return;\n }\n\n const steps = minRange / step;\n if (!Number.isFinite(steps) || steps < 0) {\n return;\n }\n\n const roundedSteps = Math.round(steps);\n return Math.abs(steps - roundedSteps) <\n Number.EPSILON * MIN_STEP_TOLERANCE_MULTIPLIER\n ? roundedSteps\n : undefined;\n};\n\nexport const getThumbChildrenByIndex = (\n thumbChildren: ReactNode | [ReactNode, ReactNode] | undefined,\n index: 0 | 1\n) => {\n if (!Array.isArray(thumbChildren)) {\n return thumbChildren;\n }\n\n return thumbChildren[index];\n};\n","import type { SliderMark } from \"../../slider/shared/slider-types\";\n\nimport {\n clampNumber,\n getFirstMarkValue,\n getLastMarkValue,\n getNearestMarkValue,\n getNextMarkValue,\n getPreviousMarkValue,\n getSortedSelectableMarks,\n isKeyboardLikeReason,\n toFloatingValue,\n} from \"../../slider/math/slider-math-utils\";\n\ninterface NormalizeRangeSliderValueOptions {\n activeThumbIndex?: number;\n current: readonly number[];\n domainMax: number;\n domainMin: number;\n marks?: readonly SliderMark[];\n max: number;\n maxRange: number;\n min: number;\n minRange: number;\n precision: number;\n pushOnOverlap: boolean;\n raw: readonly number[];\n reason?: string;\n restrictToMarks?: boolean;\n}\n\nconst getResolvedActiveThumbIndex = (\n current: readonly number[],\n raw: readonly number[],\n activeThumbIndex?: number\n) => {\n if (activeThumbIndex === 0 || activeThumbIndex === 1) {\n return activeThumbIndex;\n }\n\n const currentFrom = current[0] ?? 0;\n const currentTo = current[1] ?? 0;\n const rawFrom = raw[0] ?? currentFrom;\n const rawTo = raw[1] ?? currentTo;\n\n return Math.abs(rawFrom - currentFrom) >= Math.abs(rawTo - currentTo) ? 0 : 1;\n};\n\nexport const normalizeRangeSliderValue = ({\n activeThumbIndex,\n current,\n domainMax,\n domainMin,\n marks,\n max,\n maxRange,\n min,\n minRange,\n precision,\n pushOnOverlap,\n raw,\n reason,\n restrictToMarks,\n}: NormalizeRangeSliderValueOptions): [number, number] => {\n const currentFrom = clampNumber(current[0] ?? min, min, max);\n const currentTo = clampNumber(current[1] ?? max, min, max);\n const currentValues: [number, number] = [currentFrom, currentTo];\n\n const clampedRawFrom = clampNumber(\n raw[0] ?? currentFrom,\n domainMin,\n domainMax\n );\n const clampedRawTo = clampNumber(raw[1] ?? currentTo, domainMin, domainMax);\n\n const resolvedActiveIndex = getResolvedActiveThumbIndex(\n [currentFrom, currentTo],\n [clampedRawFrom, clampedRawTo],\n activeThumbIndex\n );\n\n const clone: [number, number] = [\n clampNumber(clampedRawFrom, min, max),\n clampNumber(clampedRawTo, min, max),\n ];\n\n if (restrictToMarks) {\n const selectableMarks = getSortedSelectableMarks(marks, min, max);\n if (selectableMarks.length) {\n const firstMarkValue = getFirstMarkValue(selectableMarks, min);\n const lastMarkValue = getLastMarkValue(selectableMarks, max);\n const index = resolvedActiveIndex;\n const otherIndex = index === 0 ? 1 : 0;\n const currentAtIndex = currentValues[index];\n const rawAtIndex = index === 0 ? clampedRawFrom : clampedRawTo;\n\n if (isKeyboardLikeReason(reason)) {\n if (rawAtIndex <= min) {\n clone[index] = firstMarkValue;\n } else if (rawAtIndex >= max) {\n clone[index] = lastMarkValue;\n } else if (rawAtIndex > currentAtIndex) {\n clone[index] = getNextMarkValue(currentAtIndex, selectableMarks);\n } else if (rawAtIndex < currentAtIndex) {\n clone[index] = getPreviousMarkValue(currentAtIndex, selectableMarks);\n } else {\n clone[index] = getNearestMarkValue(rawAtIndex, selectableMarks);\n }\n } else {\n clone[index] = getNearestMarkValue(rawAtIndex, selectableMarks);\n }\n\n if (\n clone[index] === lastMarkValue &&\n clone[otherIndex] === lastMarkValue\n ) {\n clone[index] = currentAtIndex;\n } else if (\n clone[index] === firstMarkValue &&\n clone[otherIndex] === firstMarkValue\n ) {\n clone[index] = currentAtIndex;\n } else if (clone[index] === clone[otherIndex]) {\n if (currentAtIndex > clone[otherIndex]) {\n clone[otherIndex] = getPreviousMarkValue(\n clone[index],\n selectableMarks\n );\n } else {\n clone[otherIndex] = getNextMarkValue(clone[index], selectableMarks);\n }\n }\n }\n } else {\n const safeMinRange = Number.isFinite(minRange) ? Math.max(minRange, 0) : 0;\n const safeMaxRange = Number.isFinite(maxRange)\n ? Math.max(maxRange, safeMinRange)\n : Number.POSITIVE_INFINITY;\n\n if (resolvedActiveIndex === 0) {\n const [clamped] = clone;\n\n if (clamped > clone[1] - (safeMinRange - 1e-9)) {\n if (pushOnOverlap) {\n clone[1] = Math.min(clamped + safeMinRange, max);\n } else {\n clone[0] = currentFrom;\n }\n }\n\n if (clamped > clone[1] - (safeMinRange - 1e-9)) {\n if (pushOnOverlap) {\n clone[0] = clone[1] - safeMinRange;\n } else {\n clone[0] = currentFrom;\n }\n }\n\n if (clone[1] - clamped > safeMaxRange) {\n if (pushOnOverlap) {\n clone[1] = clamped + safeMaxRange;\n } else {\n clone[0] = currentFrom;\n }\n }\n }\n\n if (resolvedActiveIndex === 1) {\n const [, clamped] = clone;\n\n if (clamped < clone[0] + safeMinRange) {\n if (pushOnOverlap) {\n clone[0] = Math.max(clamped - safeMinRange, min);\n } else {\n clone[1] = currentTo;\n }\n }\n\n if (clamped < clone[0] + safeMinRange) {\n if (pushOnOverlap) {\n clone[1] = clone[0] + safeMinRange;\n } else {\n clone[1] = currentTo;\n }\n }\n\n if (clamped - clone[0] > safeMaxRange) {\n if (pushOnOverlap) {\n clone[0] = clamped - safeMaxRange;\n } else {\n clone[1] = currentTo;\n }\n }\n }\n }\n\n const rounded: [number, number] = [\n toFloatingValue(clampNumber(clone[0], min, max), precision),\n toFloatingValue(clampNumber(clone[1], min, max), precision),\n ];\n\n if (rounded[0] > rounded[1]) {\n return [rounded[1], rounded[0]];\n }\n\n return rounded;\n};\n","\"use client\";\n\nimport type { Slider as SliderPrimitive } from \"@base-ui/react/slider\";\n\nimport { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\n\nimport type { SliderMark } from \"../slider/shared/slider-types\";\nimport type { RangeSliderValue } from \"./range-slider-types\";\n\nimport { normalizeRangeSliderValue } from \"./math/normalize-range-slider-value\";\n\ninterface UseRangeSliderStateOptions {\n defaultValue?: RangeSliderValue;\n domainMax: number;\n domainMin: number;\n marks?: readonly SliderMark[];\n max: number;\n maxRange: number;\n min: number;\n minRange: number;\n onChange?: ((value: RangeSliderValue) => void) | undefined;\n onChangeEnd?: ((value: RangeSliderValue) => void) | undefined;\n precision: number;\n pushOnOverlap: boolean;\n restrictToMarks: boolean;\n value?: RangeSliderValue;\n}\n\nexport const useRangeSliderState = ({\n defaultValue,\n domainMax,\n domainMin,\n marks,\n max,\n maxRange,\n min,\n minRange,\n onChange,\n onChangeEnd,\n precision,\n pushOnOverlap,\n restrictToMarks,\n value,\n}: UseRangeSliderStateOptions) => {\n const initialValue = useMemo(\n () =>\n normalizeRangeSliderValue({\n current: [min, max],\n domainMax,\n domainMin,\n marks,\n max,\n maxRange,\n min,\n minRange,\n precision,\n pushOnOverlap,\n raw: defaultValue ?? [min, max],\n restrictToMarks,\n }),\n [\n defaultValue,\n domainMax,\n domainMin,\n marks,\n max,\n maxRange,\n min,\n minRange,\n precision,\n pushOnOverlap,\n restrictToMarks,\n ]\n );\n\n const [uncontrolledValue, setUncontrolledValue] =\n useState<RangeSliderValue>(initialValue);\n\n const controlledValue = useMemo(() => {\n if (value === undefined) {\n return;\n }\n\n return normalizeRangeSliderValue({\n current: uncontrolledValue,\n domainMax,\n domainMin,\n marks,\n max,\n maxRange,\n min,\n minRange,\n precision,\n pushOnOverlap,\n raw: value,\n restrictToMarks,\n });\n }, [\n domainMax,\n domainMin,\n marks,\n max,\n maxRange,\n min,\n minRange,\n precision,\n pushOnOverlap,\n restrictToMarks,\n uncontrolledValue,\n value,\n ]);\n\n const rangeValue = controlledValue ?? uncontrolledValue;\n const valueRef = useRef<RangeSliderValue>(rangeValue);\n\n useEffect(() => {\n valueRef.current = rangeValue;\n }, [rangeValue]);\n\n useEffect(() => {\n if (value !== undefined) {\n return;\n }\n\n setUncontrolledValue((previous) =>\n normalizeRangeSliderValue({\n current: previous,\n domainMax,\n domainMin,\n marks,\n max,\n maxRange,\n min,\n minRange,\n precision,\n pushOnOverlap,\n raw: previous,\n restrictToMarks,\n })\n );\n }, [\n domainMax,\n domainMin,\n marks,\n max,\n maxRange,\n min,\n minRange,\n precision,\n pushOnOverlap,\n restrictToMarks,\n value,\n ]);\n\n const handleValueChange = useCallback(\n (\n nextValue: number | number[],\n eventDetails: SliderPrimitive.Root.ChangeEventDetails\n ) => {\n const rawValues = Array.isArray(nextValue)\n ? [\n nextValue[0] ?? valueRef.current[0],\n nextValue[1] ?? valueRef.current[1],\n ]\n : [nextValue, valueRef.current[1]];\n\n const normalizedValue = normalizeRangeSliderValue({\n activeThumbIndex: eventDetails.activeThumbIndex,\n current: valueRef.current,\n domainMax,\n domainMin,\n marks,\n max,\n maxRange,\n min,\n minRange,\n precision,\n pushOnOverlap,\n raw: rawValues,\n reason: eventDetails.reason,\n restrictToMarks,\n });\n\n valueRef.current = normalizedValue;\n\n if (value === undefined) {\n setUncontrolledValue(normalizedValue);\n }\n\n onChange?.(normalizedValue);\n },\n [\n domainMax,\n domainMin,\n marks,\n max,\n maxRange,\n min,\n minRange,\n onChange,\n precision,\n pushOnOverlap,\n restrictToMarks,\n value,\n ]\n );\n\n const handleValueCommitted = useCallback(() => {\n onChangeEnd?.(valueRef.current);\n }, [onChangeEnd]);\n\n return {\n handleValueChange,\n handleValueCommitted,\n rangeValue,\n };\n};\n","\"use client\";\n\nimport type { ComponentPropsWithoutRef, ReactNode } from \"react\";\n\nimport { Slider as SliderPrimitive } from \"@base-ui/react/slider\";\n\nimport type {\n SliderRadius,\n SliderSize,\n} from \"../slider/shared/slider-style-tokens\";\nimport type { SliderLabelTransitionProps } from \"../slider/shared/slider-transition\";\nimport type {\n SliderLabel,\n SliderMark as SliderMarkType,\n} from \"../slider/shared/slider-types\";\nimport type { RangeSliderValue } from \"./range-slider-types\";\n\nimport { toFloatingValue } from \"../slider/math/slider-math-utils\";\nimport { SliderControl } from \"../slider/primitives/slider-control\";\nimport { SliderIndicator } from \"../slider/primitives/slider-indicator\";\nimport { SliderMark } from \"../slider/primitives/slider-mark\";\nimport { SliderMarks } from \"../slider/primitives/slider-marks\";\nimport {\n SliderThumb,\n type SliderThumbProps,\n} from \"../slider/primitives/slider-thumb\";\nimport { SliderThumbLabel } from \"../slider/primitives/slider-thumb-label\";\nimport { SliderTrack } from \"../slider/primitives/slider-track\";\nimport { SliderValue as SliderValuePrimitive } from \"../slider/primitives/slider-value\";\nimport { resolveSliderBounds } from \"../slider/shared/slider-bounds\";\nimport { resolveSliderLabel } from \"../slider/shared/slider-label\";\nimport {\n mergeSliderRootStyle,\n resolveSliderRootClassName,\n} from \"../slider/shared/slider-root-presentation\";\nimport {\n getMinStepsBetweenValues,\n getThumbChildrenByIndex,\n} from \"./range-slider-helpers\";\nimport { useRangeSliderState } from \"./use-range-slider-state\";\n\ntype RangeSliderRootProps = Omit<\n SliderPrimitive.Root.Props<number[]>,\n | \"defaultValue\"\n | \"max\"\n | \"min\"\n | \"minStepsBetweenValues\"\n | \"name\"\n | \"onChange\"\n | \"onValueChange\"\n | \"onValueCommitted\"\n | \"thumbAlignment\"\n | \"thumbCollisionBehavior\"\n | \"value\"\n>;\n\nexport interface RangeSliderProps extends RangeSliderRootProps {\n color?: string;\n defaultValue?: RangeSliderValue;\n domain?: [number, number];\n hiddenInputProps?: Omit<\n ComponentPropsWithoutRef<\"input\">,\n \"name\" | \"type\" | \"value\"\n >;\n inverted?: boolean;\n label?: SliderLabel;\n labelAlwaysOn?: boolean;\n labelTransitionProps?: SliderLabelTransitionProps;\n marks?: readonly SliderMarkType[];\n max?: number;\n maxRange?: number;\n min?: number;\n minRange?: number;\n name?: string;\n onChange?: ((value: RangeSliderValue) => void) | undefined;\n onChangeEnd?: ((value: RangeSliderValue) => void) | undefined;\n precision?: number;\n pushOnOverlap?: boolean;\n radius?: SliderRadius;\n restrictToMarks?: boolean;\n scale?: ((value: number) => number) | undefined;\n size?: SliderSize;\n showLabelOnHover?: boolean;\n step?: number;\n thumbChildren?: ReactNode | [ReactNode, ReactNode];\n thumbFromLabel?: string;\n thumbLabelOffset?: number | string;\n thumbLabelOffsetVertical?: number | string;\n thumbProps?:\n | ((\n index: 0 | 1\n ) => Omit<SliderThumbProps, \"aria-label\" | \"children\" | \"index\">)\n | undefined;\n thumbSize?: number | string;\n thumbToLabel?: string;\n trackSize?: number | string;\n markSize?: number | string;\n value?: RangeSliderValue;\n}\n\ntype RangeSliderComponent = ((props: RangeSliderProps) => ReactNode) & {\n Control: typeof SliderControl;\n Indicator: typeof SliderIndicator;\n Mark: typeof SliderMark;\n Marks: typeof SliderMarks;\n Thumb: typeof SliderThumb;\n ThumbLabel: typeof SliderThumbLabel;\n Track: typeof SliderTrack;\n Value: typeof SliderValuePrimitive;\n};\n\nconst RangeSlider = (({\n className,\n children,\n color,\n defaultValue,\n domain,\n hiddenInputProps,\n inverted = false,\n label = (value) => value,\n labelAlwaysOn = false,\n labelTransitionProps,\n marks,\n max = 100,\n maxRange = Number.POSITIVE_INFINITY,\n min = 0,\n minRange = 10,\n name,\n onChange,\n onChangeEnd,\n precision: precisionProp,\n pushOnOverlap = true,\n radius,\n restrictToMarks = false,\n scale = (value) => value,\n size,\n showLabelOnHover = true,\n step = 1,\n style,\n thumbChildren,\n thumbFromLabel,\n thumbLabelOffset,\n thumbLabelOffsetVertical,\n thumbProps,\n thumbSize,\n thumbToLabel,\n trackSize,\n markSize,\n value,\n ...props\n}: RangeSliderProps) => {\n const resolvedBounds = resolveSliderBounds({\n domain,\n max,\n min,\n precision: precisionProp,\n step,\n });\n\n const {\n domainMax,\n domainMin,\n max: normalizedMax,\n min: normalizedMin,\n precision,\n } = resolvedBounds;\n\n const { handleValueChange, handleValueCommitted, rangeValue } =\n useRangeSliderState({\n defaultValue,\n domainMax,\n domainMin,\n marks,\n max: normalizedMax,\n maxRange,\n min: normalizedMin,\n minRange,\n onChange,\n onChangeEnd,\n precision,\n pushOnOverlap,\n restrictToMarks,\n value,\n });\n\n const firstThumbProps = thumbProps?.(0) ?? {};\n const secondThumbProps = thumbProps?.(1) ?? {};\n\n const minStepsBetweenValues = getMinStepsBetweenValues({\n minRange,\n restrictToMarks,\n step,\n });\n\n const displayedFromValue = toFloatingValue(scale(rangeValue[0]), precision);\n const displayedToValue = toFloatingValue(scale(rangeValue[1]), precision);\n\n return (\n <SliderPrimitive.Root\n {...props}\n className={resolveSliderRootClassName(className, inverted)}\n data-slot=\"slider\"\n max={domainMax}\n min={domainMin}\n minStepsBetweenValues={minStepsBetweenValues}\n onValueChange={handleValueChange}\n onValueCommitted={handleValueCommitted}\n step={step}\n style={mergeSliderRootStyle(\n {\n color,\n markSize,\n radius,\n size,\n thumbLabelOffset,\n thumbLabelOffsetVertical,\n thumbSize,\n trackSize,\n },\n style\n )}\n thumbAlignment=\"center\"\n thumbCollisionBehavior={pushOnOverlap ? \"push\" : \"none\"}\n value={rangeValue}\n >\n {children ?? (\n <SliderControl>\n <SliderTrack>\n <SliderIndicator />\n <SliderMarks\n disabled={props.disabled}\n inverted={inverted}\n marks={marks}\n max={domainMax}\n min={domainMin}\n orientation={props.orientation}\n values={rangeValue}\n />\n </SliderTrack>\n <SliderThumb\n {...firstThumbProps}\n aria-label={thumbFromLabel}\n index={0}\n >\n {getThumbChildrenByIndex(thumbChildren, 0)}\n <SliderThumbLabel\n label={resolveSliderLabel(label, displayedFromValue)}\n labelAlwaysOn={labelAlwaysOn}\n orientation={props.orientation}\n showLabelOnHover={showLabelOnHover}\n transitionProps={labelTransitionProps}\n />\n </SliderThumb>\n <SliderThumb\n {...secondThumbProps}\n aria-label={thumbToLabel}\n index={1}\n >\n {getThumbChildrenByIndex(thumbChildren, 1)}\n <SliderThumbLabel\n label={resolveSliderLabel(label, displayedToValue)}\n labelAlwaysOn={labelAlwaysOn}\n orientation={props.orientation}\n showLabelOnHover={showLabelOnHover}\n transitionProps={labelTransitionProps}\n />\n </SliderThumb>\n </SliderControl>\n )}\n {name ? (\n <>\n <input\n {...hiddenInputProps}\n name={`${name}_from`}\n type=\"hidden\"\n value={String(displayedFromValue)}\n />\n <input\n {...hiddenInputProps}\n name={`${name}_to`}\n type=\"hidden\"\n value={String(displayedToValue)}\n />\n </>\n ) : null}\n </SliderPrimitive.Root>\n );\n}) as RangeSliderComponent;\n\nRangeSlider.Control = SliderControl;\nRangeSlider.Indicator = SliderIndicator;\nRangeSlider.Mark = SliderMark;\nRangeSlider.Marks = SliderMarks;\nRangeSlider.Thumb = SliderThumb;\nRangeSlider.ThumbLabel = SliderThumbLabel;\nRangeSlider.Track = SliderTrack;\nRangeSlider.Value = SliderValuePrimitive;\n\nexport { RangeSlider };\n"],"mappings":"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,OACA,KACA,UACA,KACA,UACA,UACA,aACA,WACA,eACA,iBACA,YACgC;CAgChC,MAAM,CAAC,mBAAmB,wBACxB,SAhCmB,cAEjB,0BAA0B;EACxB,SAAS,CAAC,KAAK,IAAI;EACnB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,KAAK,gBAAgB,CAAC,KAAK,IAAI;EAC/B;EACD,CAAC,EACJ;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACD,CACF,CAGyC;CAoC1C,MAAM,aAlCkB,cAAc;AACpC,MAAI,UAAU,OACZ;AAGF,SAAO,0BAA0B;GAC/B,SAAS;GACT;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA,KAAK;GACL;GACD,CAAC;IACD;EACD;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACD,CAAC,IAEoC;CACtC,MAAM,WAAW,OAAyB,WAAW;AAErD,iBAAgB;AACd,WAAS,UAAU;IAClB,CAAC,WAAW,CAAC;AAEhB,iBAAgB;AACd,MAAI,UAAU,OACZ;AAGF,wBAAsB,aACpB,0BAA0B;GACxB,SAAS;GACT;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA,KAAK;GACL;GACD,CAAC,CACH;IACA;EACD;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACD,CAAC;AA2DF,QAAO;EACL,mBA1DwB,aAEtB,WACA,iBACG;GACH,MAAM,YAAY,MAAM,QAAQ,UAAU,GACtC,CACE,UAAU,MAAM,SAAS,QAAQ,IACjC,UAAU,MAAM,SAAS,QAAQ,GAClC,GACD,CAAC,WAAW,SAAS,QAAQ,GAAG;GAEpC,MAAM,kBAAkB,0BAA0B;IAChD,kBAAkB,aAAa;IAC/B,SAAS,SAAS;IAClB;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,KAAK;IACL,QAAQ,aAAa;IACrB;IACD,CAAC;AAEF,YAAS,UAAU;AAEnB,OAAI,UAAU,OACZ,sBAAqB,gBAAgB;AAGvC,cAAW,gBAAgB;KAE7B;GACE;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACD,CACF;EAQC,sBAN2B,kBAAkB;AAC7C,iBAAc,SAAS,QAAQ;KAC9B,CAAC,YAAY,CAAC;EAKf;EACD;;;;;ACxGH,MAAM,gBAAgB,EACpB,WACA,UACA,OACA,cACA,QACA,kBACA,WAAW,OACX,SAAS,UAAU,OACnB,gBAAgB,OAChB,sBACA,OACA,MAAM,KACN,WAAW,OAAO,mBAClB,MAAM,GACN,WAAW,IACX,MACA,UACA,aACA,WAAW,eACX,gBAAgB,MAChB,QACA,kBAAkB,OAClB,SAAS,UAAU,OACnB,MACA,mBAAmB,MACnB,OAAO,GACP,OACA,eACA,gBACA,kBACA,0BACA,YACA,WACA,cACA,WACA,UACA,OACA,GAAG,YACmB;CAStB,MAAM,EACJ,WACA,WACA,KAAK,eACL,KAAK,eACL,cAbqB,oBAAoB;EACzC;EACA;EACA;EACA,WAAW;EACX;EACD,CAAC;CAUF,MAAM,EAAE,mBAAmB,sBAAsB,eAC/C,oBAAoB;EAClB;EACA;EACA;EACA;EACA,KAAK;EACL;EACA,KAAK;EACL;EACA;EACA;EACA;EACA;EACA;EACA;EACD,CAAC;CAEJ,MAAM,kBAAkB,aAAa,EAAE,IAAI,EAAE;CAC7C,MAAM,mBAAmB,aAAa,EAAE,IAAI,EAAE;CAE9C,MAAM,wBAAwB,yBAAyB;EACrD;EACA;EACA;EACD,CAAC;CAEF,MAAM,qBAAqB,gBAAgB,MAAM,WAAW,GAAG,EAAE,UAAU;CAC3E,MAAM,mBAAmB,gBAAgB,MAAM,WAAW,GAAG,EAAE,UAAU;AAEzE,QACE,qBAACC,SAAgB;EACf,GAAI;EACJ,WAAW,2BAA2B,WAAW,SAAS;EAC1D,aAAU;EACV,KAAK;EACL,KAAK;EACkB;EACvB,eAAe;EACf,kBAAkB;EACZ;EACN,OAAO,qBACL;GACE;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACD,EACD,MACD;EACD,gBAAe;EACf,wBAAwB,gBAAgB,SAAS;EACjD,OAAO;aAEN,YACC,qBAAC;GACC,qBAAC,0BACC,oBAAC,oBAAkB,EACnB,oBAAC;IACC,UAAU,MAAM;IACN;IACH;IACP,KAAK;IACL,KAAK;IACL,aAAa,MAAM;IACnB,QAAQ;KACR,IACU;GACd,qBAAC;IACC,GAAI;IACJ,cAAY;IACZ,OAAO;eAEN,wBAAwB,eAAe,EAAE,EAC1C,oBAAC;KACC,OAAO,mBAAmB,OAAO,mBAAmB;KACrC;KACf,aAAa,MAAM;KACD;KAClB,iBAAiB;MACjB;KACU;GACd,qBAAC;IACC,GAAI;IACJ,cAAY;IACZ,OAAO;eAEN,wBAAwB,eAAe,EAAE,EAC1C,oBAAC;KACC,OAAO,mBAAmB,OAAO,iBAAiB;KACnC;KACf,aAAa,MAAM;KACD;KAClB,iBAAiB;MACjB;KACU;MACA,EAEjB,OACC,4CACE,oBAAC;GACC,GAAI;GACJ,MAAM,GAAG,KAAK;GACd,MAAK;GACL,OAAO,OAAO,mBAAmB;IACjC,EACF,oBAAC;GACC,GAAI;GACJ,MAAM,GAAG,KAAK;GACd,MAAK;GACL,OAAO,OAAO,iBAAiB;IAC/B,IACD,GACD;GACiB;;AAI3B,YAAY,UAAU;AACtB,YAAY,YAAY;AACxB,YAAY,OAAO;AACnB,YAAY,QAAQ;AACpB,YAAY,QAAQ;AACpB,YAAY,aAAa;AACzB,YAAY,QAAQ;AACpB,YAAY,QAAQC"}
|
|
@@ -1,121 +0,0 @@
|
|
|
1
|
-
import { Button } from "./button.js";
|
|
2
|
-
import { Input } from "./input.js";
|
|
3
|
-
import { Textarea } from "./textarea.js";
|
|
4
|
-
import * as tailwind_variants0 from "tailwind-variants";
|
|
5
|
-
import { VariantProps } from "tailwind-variants";
|
|
6
|
-
import { ComponentProps } from "react";
|
|
7
|
-
import * as react_jsx_runtime0 from "react/jsx-runtime";
|
|
8
|
-
|
|
9
|
-
//#region src/ui/input-group/input-group-addon.d.ts
|
|
10
|
-
type InputGroupAddonProps = ComponentProps<"div"> & VariantProps<typeof inputGroupAddonVariants>;
|
|
11
|
-
declare const inputGroupAddonVariants: tailwind_variants0.TVReturnType<{
|
|
12
|
-
align: {
|
|
13
|
-
"inline-start": string;
|
|
14
|
-
"inline-end": string;
|
|
15
|
-
"block-start": string;
|
|
16
|
-
"block-end": string;
|
|
17
|
-
};
|
|
18
|
-
size: {
|
|
19
|
-
xs: string;
|
|
20
|
-
sm: string;
|
|
21
|
-
md: string;
|
|
22
|
-
lg: string;
|
|
23
|
-
xl: string;
|
|
24
|
-
};
|
|
25
|
-
}, undefined, "flex h-auto cursor-text items-center justify-center font-medium text-muted-foreground select-none group-data-[disabled=true]/input-group:opacity-50 [&>kbd]:rounded-[calc(var(--kb-radius)-5px)]", {
|
|
26
|
-
align: {
|
|
27
|
-
"inline-start": string;
|
|
28
|
-
"inline-end": string;
|
|
29
|
-
"block-start": string;
|
|
30
|
-
"block-end": string;
|
|
31
|
-
};
|
|
32
|
-
size: {
|
|
33
|
-
xs: string;
|
|
34
|
-
sm: string;
|
|
35
|
-
md: string;
|
|
36
|
-
lg: string;
|
|
37
|
-
xl: string;
|
|
38
|
-
};
|
|
39
|
-
}, undefined, tailwind_variants0.TVReturnType<{
|
|
40
|
-
align: {
|
|
41
|
-
"inline-start": string;
|
|
42
|
-
"inline-end": string;
|
|
43
|
-
"block-start": string;
|
|
44
|
-
"block-end": string;
|
|
45
|
-
};
|
|
46
|
-
size: {
|
|
47
|
-
xs: string;
|
|
48
|
-
sm: string;
|
|
49
|
-
md: string;
|
|
50
|
-
lg: string;
|
|
51
|
-
xl: string;
|
|
52
|
-
};
|
|
53
|
-
}, undefined, "flex h-auto cursor-text items-center justify-center font-medium text-muted-foreground select-none group-data-[disabled=true]/input-group:opacity-50 [&>kbd]:rounded-[calc(var(--kb-radius)-5px)]", unknown, unknown, undefined>>;
|
|
54
|
-
declare const InputGroupAddon: ({
|
|
55
|
-
className,
|
|
56
|
-
align,
|
|
57
|
-
size,
|
|
58
|
-
...props
|
|
59
|
-
}: InputGroupAddonProps) => react_jsx_runtime0.JSX.Element;
|
|
60
|
-
//#endregion
|
|
61
|
-
//#region src/ui/input-group/input-group-button.d.ts
|
|
62
|
-
type InputGroupButtonProps = Omit<ComponentProps<typeof Button>, "size" | "type"> & VariantProps<typeof inputGroupButtonVariants> & {
|
|
63
|
-
type?: "button" | "submit" | "reset";
|
|
64
|
-
};
|
|
65
|
-
declare const inputGroupButtonVariants: tailwind_variants0.TVReturnType<{
|
|
66
|
-
size: {
|
|
67
|
-
xs: string;
|
|
68
|
-
sm: string;
|
|
69
|
-
md: string;
|
|
70
|
-
"icon-xs": string;
|
|
71
|
-
"icon-sm": string;
|
|
72
|
-
};
|
|
73
|
-
}, undefined, "flex items-center gap-2 text-sm shadow-none", {
|
|
74
|
-
size: {
|
|
75
|
-
xs: string;
|
|
76
|
-
sm: string;
|
|
77
|
-
md: string;
|
|
78
|
-
"icon-xs": string;
|
|
79
|
-
"icon-sm": string;
|
|
80
|
-
};
|
|
81
|
-
}, undefined, tailwind_variants0.TVReturnType<{
|
|
82
|
-
size: {
|
|
83
|
-
xs: string;
|
|
84
|
-
sm: string;
|
|
85
|
-
md: string;
|
|
86
|
-
"icon-xs": string;
|
|
87
|
-
"icon-sm": string;
|
|
88
|
-
};
|
|
89
|
-
}, undefined, "flex items-center gap-2 text-sm shadow-none", unknown, unknown, undefined>>;
|
|
90
|
-
declare const InputGroupButton: ({
|
|
91
|
-
className,
|
|
92
|
-
type,
|
|
93
|
-
variant,
|
|
94
|
-
size,
|
|
95
|
-
...props
|
|
96
|
-
}: InputGroupButtonProps) => react_jsx_runtime0.JSX.Element;
|
|
97
|
-
//#endregion
|
|
98
|
-
//#region src/ui/input-group/input-group-input.d.ts
|
|
99
|
-
type InputGroupInputProps = ComponentProps<typeof Input>;
|
|
100
|
-
declare const InputGroupInput: ({
|
|
101
|
-
className,
|
|
102
|
-
size,
|
|
103
|
-
...props
|
|
104
|
-
}: InputGroupInputProps) => react_jsx_runtime0.JSX.Element;
|
|
105
|
-
//#endregion
|
|
106
|
-
//#region src/ui/input-group/input-group-text.d.ts
|
|
107
|
-
type InputGroupTextProps = ComponentProps<"span">;
|
|
108
|
-
declare const InputGroupText: ({
|
|
109
|
-
className,
|
|
110
|
-
...props
|
|
111
|
-
}: InputGroupTextProps) => react_jsx_runtime0.JSX.Element;
|
|
112
|
-
//#endregion
|
|
113
|
-
//#region src/ui/input-group/input-group-textarea.d.ts
|
|
114
|
-
type InputGroupTextareaProps = ComponentProps<typeof Textarea>;
|
|
115
|
-
declare const InputGroupTextarea: ({
|
|
116
|
-
className,
|
|
117
|
-
...props
|
|
118
|
-
}: InputGroupTextareaProps) => react_jsx_runtime0.JSX.Element;
|
|
119
|
-
//#endregion
|
|
120
|
-
export { InputGroupInput as a, InputGroupButtonProps as c, InputGroupTextProps as i, InputGroupAddon as l, InputGroupTextareaProps as n, InputGroupInputProps as o, InputGroupText as r, InputGroupButton as s, InputGroupTextarea as t, InputGroupAddonProps as u };
|
|
121
|
-
//# sourceMappingURL=input-group-textarea-C6-pPujg.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"input-group-textarea-C6-pPujg.d.ts","names":[],"sources":["../src/ui/input-group/input-group-addon.tsx","../src/ui/input-group/input-group-button.tsx","../src/ui/input-group/input-group-input.tsx","../src/ui/input-group/input-group-text.tsx","../src/ui/input-group/input-group-textarea.tsx"],"mappings":";;;;;;;;;KAQY,oBAAA,GAAuB,cAAA,UACjC,YAAA,QAAoB,uBAAA;AAAA,cAEhB,uBAAA,EAyBJ,kBAAA,CAzB2B,YAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAyB3B,kBAAA,CAAA,YAAA;;;;;;;;;;;;;;;cAuBI,eAAA;EAAmB,SAAA;EAAA,KAAA;EAAA,IAAA;EAAA,GAAA;AAAA,GAKtB,oBAAA,KAAoB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;KCrDX,qBAAA,GAAwB,IAAA,CAClC,cAAA,QAAsB,MAAA,sBAGtB,YAAA,QAAoB,wBAAA;EAClB,IAAA;AAAA;AAAA,cAGE,wBAAA,EAeJ,kBAAA,CAf4B,YAAA;;;;;;;;;;;;;;;;cAe5B,kBAAA,CAAA,YAAA;;;;;;;;;cAUI,gBAAA;EAAoB,SAAA;EAAA,IAAA;EAAA,OAAA;EAAA,IAAA;EAAA,GAAA;AAAA,GAMvB,qBAAA,KAAqB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;KCzCZ,oBAAA,GAAuB,cAAA,QAAsB,KAAA;AAAA,cAEnD,eAAA;EAAmB,SAAA;EAAA,IAAA;EAAA,GAAA;AAAA,GAItB,oBAAA,KAAoB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;KCVX,mBAAA,GAAsB,cAAA;AAAA,cAE5B,cAAA;EAAkB,SAAA;EAAA,GAAA;AAAA,GAAyB,mBAAA,KAAmB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;KCAxD,uBAAA,GAA0B,cAAA,QAAsB,QAAA;AAAA,cAEtD,kBAAA;EAAsB,SAAA;EAAA,GAAA;AAAA,GAGzB,uBAAA,KAAuB,kBAAA,CAAA,GAAA,CAAA,OAAA"}
|
|
@@ -1,120 +0,0 @@
|
|
|
1
|
-
import { Button } from "./button.js";
|
|
2
|
-
import { Input } from "./input.js";
|
|
3
|
-
import { Textarea } from "./textarea.js";
|
|
4
|
-
import { cn, tv } from "tailwind-variants";
|
|
5
|
-
import { createContext, useContext } from "react";
|
|
6
|
-
import { jsx } from "react/jsx-runtime";
|
|
7
|
-
|
|
8
|
-
//#region src/ui/input-group/input-group-context.tsx
|
|
9
|
-
const InputGroupContext = createContext({ size: "md" });
|
|
10
|
-
|
|
11
|
-
//#endregion
|
|
12
|
-
//#region src/ui/input-group/input-group-addon.tsx
|
|
13
|
-
const inputGroupAddonVariants = tv({
|
|
14
|
-
base: "flex h-auto cursor-text items-center justify-center font-medium text-muted-foreground select-none group-data-[disabled=true]/input-group:opacity-50 [&>kbd]:rounded-[calc(var(--kb-radius)-5px)]",
|
|
15
|
-
variants: {
|
|
16
|
-
align: {
|
|
17
|
-
"inline-start": "order-first pl-2 has-[>button]:ml-[-0.25rem] has-[>kbd]:ml-[-0.15rem]",
|
|
18
|
-
"inline-end": "order-last pr-2 has-[>button]:mr-[-0.25rem] has-[>kbd]:mr-[-0.15rem]",
|
|
19
|
-
"block-start": "order-first w-full justify-start px-2.5 pt-2 group-has-[>input]/input-group:pt-2 [.border-b]:pb-2",
|
|
20
|
-
"block-end": "order-last w-full justify-start px-2.5 pb-2 group-has-[>input]/input-group:pb-2 [.border-t]:pt-2"
|
|
21
|
-
},
|
|
22
|
-
size: {
|
|
23
|
-
xs: "gap-1 py-0.5 text-xs [&>svg:not([class*='size-'])]:size-3",
|
|
24
|
-
sm: "gap-1.5 py-1 text-sm [&>svg:not([class*='size-'])]:size-3.5",
|
|
25
|
-
md: "gap-2 py-1.5 text-sm [&>svg:not([class*='size-'])]:size-4",
|
|
26
|
-
lg: "gap-2 py-2 text-sm [&>svg:not([class*='size-'])]:size-4",
|
|
27
|
-
xl: "gap-2.5 py-2 text-base [&>svg:not([class*='size-'])]:size-5"
|
|
28
|
-
}
|
|
29
|
-
},
|
|
30
|
-
defaultVariants: {
|
|
31
|
-
align: "inline-start",
|
|
32
|
-
size: "md"
|
|
33
|
-
}
|
|
34
|
-
});
|
|
35
|
-
const focusInput = (e) => {
|
|
36
|
-
if (e.target.closest("button")) return;
|
|
37
|
-
(e.currentTarget.parentElement?.querySelector("input, textarea"))?.focus();
|
|
38
|
-
};
|
|
39
|
-
const handleKeyDown = (e) => {
|
|
40
|
-
if (e.key === "Enter" || e.key === " ") (e.currentTarget.parentElement?.querySelector("input, textarea"))?.focus();
|
|
41
|
-
};
|
|
42
|
-
const InputGroupAddon = ({ className, align = "inline-start", size, ...props }) => {
|
|
43
|
-
const { size: contextSize } = useContext(InputGroupContext);
|
|
44
|
-
const resolvedSize = size ?? contextSize ?? "md";
|
|
45
|
-
return /* @__PURE__ */ jsx("div", {
|
|
46
|
-
className: cn(inputGroupAddonVariants({
|
|
47
|
-
align,
|
|
48
|
-
size: resolvedSize
|
|
49
|
-
}), className),
|
|
50
|
-
"data-align": align,
|
|
51
|
-
"data-size": resolvedSize,
|
|
52
|
-
"data-slot": "input-group-addon",
|
|
53
|
-
onClick: focusInput,
|
|
54
|
-
onKeyDown: handleKeyDown,
|
|
55
|
-
role: "group",
|
|
56
|
-
...props
|
|
57
|
-
});
|
|
58
|
-
};
|
|
59
|
-
|
|
60
|
-
//#endregion
|
|
61
|
-
//#region src/ui/input-group/input-group-button.tsx
|
|
62
|
-
const inputGroupButtonVariants = tv({
|
|
63
|
-
base: "flex items-center gap-2 text-sm shadow-none",
|
|
64
|
-
variants: { size: {
|
|
65
|
-
xs: "h-6 gap-1 rounded-[calc(var(--kb-radius)-5px)] px-1.5 [&>svg:not([class*='size-'])]:size-3.5",
|
|
66
|
-
sm: "",
|
|
67
|
-
md: "",
|
|
68
|
-
"icon-xs": "size-6 rounded-[calc(var(--kb-radius)-5px)] p-0 has-[>svg]:p-0",
|
|
69
|
-
"icon-sm": "size-8 p-0 has-[>svg]:p-0"
|
|
70
|
-
} },
|
|
71
|
-
defaultVariants: { size: "xs" }
|
|
72
|
-
});
|
|
73
|
-
const mapInputGroupSizeToButtonSize = (size) => {
|
|
74
|
-
if (size === "xl") return "sm";
|
|
75
|
-
return "xs";
|
|
76
|
-
};
|
|
77
|
-
const InputGroupButton = ({ className, type = "button", variant = "ghost", size, ...props }) => {
|
|
78
|
-
const { size: contextSize } = useContext(InputGroupContext);
|
|
79
|
-
const resolvedSize = size ?? mapInputGroupSizeToButtonSize(contextSize);
|
|
80
|
-
return /* @__PURE__ */ jsx(Button, {
|
|
81
|
-
className: cn(inputGroupButtonVariants({ size: resolvedSize }), className),
|
|
82
|
-
"data-size": resolvedSize,
|
|
83
|
-
size: resolvedSize,
|
|
84
|
-
type,
|
|
85
|
-
variant,
|
|
86
|
-
...props
|
|
87
|
-
});
|
|
88
|
-
};
|
|
89
|
-
|
|
90
|
-
//#endregion
|
|
91
|
-
//#region src/ui/input-group/input-group-input.tsx
|
|
92
|
-
const InputGroupInput = ({ className, size, ...props }) => {
|
|
93
|
-
const { size: contextSize } = useContext(InputGroupContext);
|
|
94
|
-
const resolvedSize = size ?? contextSize ?? "md";
|
|
95
|
-
return /* @__PURE__ */ jsx(Input, {
|
|
96
|
-
className: cn("flex-1 rounded-none border-0 bg-transparent shadow-none ring-0 focus-visible:ring-0 disabled:bg-transparent aria-invalid:ring-0 dark:bg-transparent dark:disabled:bg-transparent", className),
|
|
97
|
-
"data-slot": "input-group-control",
|
|
98
|
-
size: resolvedSize,
|
|
99
|
-
...props
|
|
100
|
-
});
|
|
101
|
-
};
|
|
102
|
-
|
|
103
|
-
//#endregion
|
|
104
|
-
//#region src/ui/input-group/input-group-text.tsx
|
|
105
|
-
const InputGroupText = ({ className, ...props }) => /* @__PURE__ */ jsx("span", {
|
|
106
|
-
className: cn("flex items-center gap-2 text-inherit text-muted-foreground [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-[1em]", className),
|
|
107
|
-
...props
|
|
108
|
-
});
|
|
109
|
-
|
|
110
|
-
//#endregion
|
|
111
|
-
//#region src/ui/input-group/input-group-textarea.tsx
|
|
112
|
-
const InputGroupTextarea = ({ className, ...props }) => /* @__PURE__ */ jsx(Textarea, {
|
|
113
|
-
className: cn("flex-1 resize-none rounded-none border-0 bg-transparent py-2 shadow-none ring-0 focus-visible:ring-0 disabled:bg-transparent aria-invalid:ring-0 dark:bg-transparent dark:disabled:bg-transparent", className),
|
|
114
|
-
"data-slot": "input-group-control",
|
|
115
|
-
...props
|
|
116
|
-
});
|
|
117
|
-
|
|
118
|
-
//#endregion
|
|
119
|
-
export { InputGroupAddon as a, InputGroupButton as i, InputGroupText as n, InputGroupContext as o, InputGroupInput as r, InputGroupTextarea as t };
|
|
120
|
-
//# sourceMappingURL=input-group-textarea-C6ixncHC.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"input-group-textarea-C6ixncHC.js","names":[],"sources":["../src/ui/input-group/input-group-context.tsx","../src/ui/input-group/input-group-addon.tsx","../src/ui/input-group/input-group-button.tsx","../src/ui/input-group/input-group-input.tsx","../src/ui/input-group/input-group-text.tsx","../src/ui/input-group/input-group-textarea.tsx"],"sourcesContent":["\"use client\";\n\nimport { createContext } from \"react\";\n\nimport type { InputSize } from \"../input/input\";\n\nexport interface InputGroupContextValue {\n size?: InputSize;\n}\n\nconst InputGroupContext = createContext<InputGroupContextValue>({\n size: \"md\",\n});\n\nexport { InputGroupContext };\n","\"use client\";\n\nimport type { ComponentProps, KeyboardEvent, MouseEvent } from \"react\";\n\nimport { useContext } from \"react\";\nimport { cn, tv, type VariantProps } from \"tailwind-variants\";\n\nimport { InputGroupContext } from \"./input-group-context\";\nexport type InputGroupAddonProps = ComponentProps<\"div\"> &\n VariantProps<typeof inputGroupAddonVariants>;\n\nconst inputGroupAddonVariants = tv({\n base: \"flex h-auto cursor-text items-center justify-center font-medium text-muted-foreground select-none group-data-[disabled=true]/input-group:opacity-50 [&>kbd]:rounded-[calc(var(--kb-radius)-5px)]\",\n variants: {\n align: {\n \"inline-start\":\n \"order-first pl-2 has-[>button]:ml-[-0.25rem] has-[>kbd]:ml-[-0.15rem]\",\n \"inline-end\":\n \"order-last pr-2 has-[>button]:mr-[-0.25rem] has-[>kbd]:mr-[-0.15rem]\",\n \"block-start\":\n \"order-first w-full justify-start px-2.5 pt-2 group-has-[>input]/input-group:pt-2 [.border-b]:pb-2\",\n \"block-end\":\n \"order-last w-full justify-start px-2.5 pb-2 group-has-[>input]/input-group:pb-2 [.border-t]:pt-2\",\n },\n size: {\n xs: \"gap-1 py-0.5 text-xs [&>svg:not([class*='size-'])]:size-3\",\n sm: \"gap-1.5 py-1 text-sm [&>svg:not([class*='size-'])]:size-3.5\",\n md: \"gap-2 py-1.5 text-sm [&>svg:not([class*='size-'])]:size-4\",\n lg: \"gap-2 py-2 text-sm [&>svg:not([class*='size-'])]:size-4\",\n xl: \"gap-2.5 py-2 text-base [&>svg:not([class*='size-'])]:size-5\",\n },\n },\n defaultVariants: {\n align: \"inline-start\",\n size: \"md\",\n },\n});\n\nconst focusInput = (e: MouseEvent<HTMLDivElement>) => {\n if ((e.target as HTMLElement).closest(\"button\")) {\n return;\n }\n const control =\n e.currentTarget.parentElement?.querySelector<HTMLElement>(\n \"input, textarea\"\n );\n control?.focus();\n};\n\nconst handleKeyDown = (e: KeyboardEvent<HTMLDivElement>) => {\n if (e.key === \"Enter\" || e.key === \" \") {\n const control =\n e.currentTarget.parentElement?.querySelector<HTMLElement>(\n \"input, textarea\"\n );\n control?.focus();\n }\n};\n\nconst InputGroupAddon = ({\n className,\n align = \"inline-start\",\n size,\n ...props\n}: InputGroupAddonProps) => {\n const { size: contextSize } = useContext(InputGroupContext);\n const resolvedSize = size ?? contextSize ?? \"md\";\n\n return (\n <div\n className={cn(\n inputGroupAddonVariants({ align, size: resolvedSize }),\n className\n )}\n data-align={align}\n data-size={resolvedSize}\n data-slot=\"input-group-addon\"\n onClick={focusInput}\n onKeyDown={handleKeyDown}\n role=\"group\"\n {...props}\n />\n );\n};\n\nexport { InputGroupAddon, inputGroupAddonVariants };\n","\"use client\";\n\nimport type { ComponentProps } from \"react\";\n\nimport { useContext } from \"react\";\nimport { cn, tv, type VariantProps } from \"tailwind-variants\";\n\nimport type { InputSize } from \"../input/input\";\n\nimport { Button } from \"../button/button\";\nimport { InputGroupContext } from \"./input-group-context\";\nexport type InputGroupButtonProps = Omit<\n ComponentProps<typeof Button>,\n \"size\" | \"type\"\n> &\n VariantProps<typeof inputGroupButtonVariants> & {\n type?: \"button\" | \"submit\" | \"reset\";\n };\n\nconst inputGroupButtonVariants = tv({\n base: \"flex items-center gap-2 text-sm shadow-none\",\n variants: {\n size: {\n xs: \"h-6 gap-1 rounded-[calc(var(--kb-radius)-5px)] px-1.5 [&>svg:not([class*='size-'])]:size-3.5\",\n sm: \"\",\n md: \"\",\n \"icon-xs\":\n \"size-6 rounded-[calc(var(--kb-radius)-5px)] p-0 has-[>svg]:p-0\",\n \"icon-sm\": \"size-8 p-0 has-[>svg]:p-0\",\n },\n },\n defaultVariants: {\n size: \"xs\",\n },\n});\n\nconst mapInputGroupSizeToButtonSize = (size?: InputSize) => {\n if (size === \"xl\") {\n return \"sm\";\n }\n\n return \"xs\";\n};\n\nconst InputGroupButton = ({\n className,\n type = \"button\",\n variant = \"ghost\",\n size,\n ...props\n}: InputGroupButtonProps) => {\n const { size: contextSize } = useContext(InputGroupContext);\n const resolvedSize = size ?? mapInputGroupSizeToButtonSize(contextSize);\n\n return (\n <Button\n className={cn(\n inputGroupButtonVariants({ size: resolvedSize }),\n className\n )}\n data-size={resolvedSize}\n size={resolvedSize}\n type={type}\n variant={variant}\n {...props}\n />\n );\n};\n\nexport { InputGroupButton, inputGroupButtonVariants };\n","\"use client\";\n\nimport type { ComponentProps } from \"react\";\n\nimport { useContext } from \"react\";\nimport { cn } from \"tailwind-variants\";\n\nimport { Input } from \"../input/input\";\nimport { InputGroupContext } from \"./input-group-context\";\nexport type InputGroupInputProps = ComponentProps<typeof Input>;\n\nconst InputGroupInput = ({\n className,\n size,\n ...props\n}: InputGroupInputProps) => {\n const { size: contextSize } = useContext(InputGroupContext);\n const resolvedSize = size ?? contextSize ?? \"md\";\n\n return (\n <Input\n className={cn(\n \"flex-1 rounded-none border-0 bg-transparent shadow-none ring-0 focus-visible:ring-0 disabled:bg-transparent aria-invalid:ring-0 dark:bg-transparent dark:disabled:bg-transparent\",\n className\n )}\n data-slot=\"input-group-control\"\n size={resolvedSize}\n {...props}\n />\n );\n};\n\nexport { InputGroupInput };\n","\"use client\";\n\nimport type { ComponentProps } from \"react\";\n\nimport { cn } from \"tailwind-variants\";\nexport type InputGroupTextProps = ComponentProps<\"span\">;\n\nconst InputGroupText = ({ className, ...props }: InputGroupTextProps) => (\n <span\n className={cn(\n \"flex items-center gap-2 text-inherit text-muted-foreground [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-[1em]\",\n className\n )}\n {...props}\n />\n);\n\nexport { InputGroupText };\n","\"use client\";\n\nimport type { ComponentProps } from \"react\";\n\nimport { cn } from \"tailwind-variants\";\n\nimport { Textarea } from \"../textarea/textarea\";\nexport type InputGroupTextareaProps = ComponentProps<typeof Textarea>;\n\nconst InputGroupTextarea = ({\n className,\n ...props\n}: InputGroupTextareaProps) => (\n <Textarea\n className={cn(\n \"flex-1 resize-none rounded-none border-0 bg-transparent py-2 shadow-none ring-0 focus-visible:ring-0 disabled:bg-transparent aria-invalid:ring-0 dark:bg-transparent dark:disabled:bg-transparent\",\n className\n )}\n data-slot=\"input-group-control\"\n {...props}\n />\n);\n\nexport { InputGroupTextarea };\n"],"mappings":";;;;;;;;AAUA,MAAM,oBAAoB,cAAsC,EAC9D,MAAM,MACP,CAAC;;;;ACDF,MAAM,0BAA0B,GAAG;CACjC,MAAM;CACN,UAAU;EACR,OAAO;GACL,gBACE;GACF,cACE;GACF,eACE;GACF,aACE;GACH;EACD,MAAM;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACL;EACF;CACD,iBAAiB;EACf,OAAO;EACP,MAAM;EACP;CACF,CAAC;AAEF,MAAM,cAAc,MAAkC;AACpD,KAAK,EAAE,OAAuB,QAAQ,SAAS,CAC7C;AAMF,EAHE,EAAE,cAAc,eAAe,cAC7B,kBACD,GACM,OAAO;;AAGlB,MAAM,iBAAiB,MAAqC;AAC1D,KAAI,EAAE,QAAQ,WAAW,EAAE,QAAQ,IAKjC,EAHE,EAAE,cAAc,eAAe,cAC7B,kBACD,GACM,OAAO;;AAIpB,MAAM,mBAAmB,EACvB,WACA,QAAQ,gBACR,MACA,GAAG,YACuB;CAC1B,MAAM,EAAE,MAAM,gBAAgB,WAAW,kBAAkB;CAC3D,MAAM,eAAe,QAAQ,eAAe;AAE5C,QACE,oBAAC;EACC,WAAW,GACT,wBAAwB;GAAE;GAAO,MAAM;GAAc,CAAC,EACtD,UACD;EACD,cAAY;EACZ,aAAW;EACX,aAAU;EACV,SAAS;EACT,WAAW;EACX,MAAK;EACL,GAAI;GACJ;;;;;AC9DN,MAAM,2BAA2B,GAAG;CAClC,MAAM;CACN,UAAU,EACR,MAAM;EACJ,IAAI;EACJ,IAAI;EACJ,IAAI;EACJ,WACE;EACF,WAAW;EACZ,EACF;CACD,iBAAiB,EACf,MAAM,MACP;CACF,CAAC;AAEF,MAAM,iCAAiC,SAAqB;AAC1D,KAAI,SAAS,KACX,QAAO;AAGT,QAAO;;AAGT,MAAM,oBAAoB,EACxB,WACA,OAAO,UACP,UAAU,SACV,MACA,GAAG,YACwB;CAC3B,MAAM,EAAE,MAAM,gBAAgB,WAAW,kBAAkB;CAC3D,MAAM,eAAe,QAAQ,8BAA8B,YAAY;AAEvE,QACE,oBAAC;EACC,WAAW,GACT,yBAAyB,EAAE,MAAM,cAAc,CAAC,EAChD,UACD;EACD,aAAW;EACX,MAAM;EACA;EACG;EACT,GAAI;GACJ;;;;;ACtDN,MAAM,mBAAmB,EACvB,WACA,MACA,GAAG,YACuB;CAC1B,MAAM,EAAE,MAAM,gBAAgB,WAAW,kBAAkB;CAC3D,MAAM,eAAe,QAAQ,eAAe;AAE5C,QACE,oBAAC;EACC,WAAW,GACT,oLACA,UACD;EACD,aAAU;EACV,MAAM;EACN,GAAI;GACJ;;;;;ACrBN,MAAM,kBAAkB,EAAE,WAAW,GAAG,YACtC,oBAAC;CACC,WAAW,GACT,mIACA,UACD;CACD,GAAI;EACJ;;;;ACLJ,MAAM,sBAAsB,EAC1B,WACA,GAAG,YAEH,oBAAC;CACC,WAAW,GACT,qMACA,UACD;CACD,aAAU;CACV,GAAI;EACJ"}
|
package/dist/input-group.d.ts
DELETED
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import { InputSize } from "./input.js";
|
|
2
|
-
import { a as InputGroupInput, c as InputGroupButtonProps, i as InputGroupTextProps, l as InputGroupAddon, n as InputGroupTextareaProps, o as InputGroupInputProps, r as InputGroupText, s as InputGroupButton, t as InputGroupTextarea, u as InputGroupAddonProps } from "./input-group-textarea-C6-pPujg.js";
|
|
3
|
-
import { ComponentProps } from "react";
|
|
4
|
-
import * as react_jsx_runtime0 from "react/jsx-runtime";
|
|
5
|
-
|
|
6
|
-
//#region src/ui/input-group/input-group.d.ts
|
|
7
|
-
type InputGroupProps = ComponentProps<"div"> & {
|
|
8
|
-
size?: InputSize;
|
|
9
|
-
};
|
|
10
|
-
declare const InputGroup: {
|
|
11
|
-
({
|
|
12
|
-
className,
|
|
13
|
-
children,
|
|
14
|
-
size: providedSize,
|
|
15
|
-
...props
|
|
16
|
-
}: InputGroupProps): react_jsx_runtime0.JSX.Element;
|
|
17
|
-
Addon: ({
|
|
18
|
-
className,
|
|
19
|
-
align,
|
|
20
|
-
size,
|
|
21
|
-
...props
|
|
22
|
-
}: InputGroupAddonProps) => react_jsx_runtime0.JSX.Element;
|
|
23
|
-
Button: ({
|
|
24
|
-
className,
|
|
25
|
-
type,
|
|
26
|
-
variant,
|
|
27
|
-
size,
|
|
28
|
-
...props
|
|
29
|
-
}: InputGroupButtonProps) => react_jsx_runtime0.JSX.Element;
|
|
30
|
-
Input: ({
|
|
31
|
-
className,
|
|
32
|
-
size,
|
|
33
|
-
...props
|
|
34
|
-
}: InputGroupInputProps) => react_jsx_runtime0.JSX.Element;
|
|
35
|
-
Text: ({
|
|
36
|
-
className,
|
|
37
|
-
...props
|
|
38
|
-
}: InputGroupTextProps) => react_jsx_runtime0.JSX.Element;
|
|
39
|
-
Textarea: ({
|
|
40
|
-
className,
|
|
41
|
-
...props
|
|
42
|
-
}: InputGroupTextareaProps) => react_jsx_runtime0.JSX.Element;
|
|
43
|
-
};
|
|
44
|
-
//#endregion
|
|
45
|
-
export { InputGroup, InputGroupAddon, type InputGroupAddonProps, InputGroupButton, type InputGroupButtonProps, InputGroupInput, type InputGroupInputProps, InputGroupProps, InputGroupText, type InputGroupTextProps, InputGroupTextarea, type InputGroupTextareaProps };
|
|
46
|
-
//# sourceMappingURL=input-group.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"input-group.d.ts","names":[],"sources":["../src/ui/input-group/input-group.tsx"],"mappings":";;;;;;KAeY,eAAA,GAAkB,cAAA;EAC5B,IAAA,GAAO,SAAA;AAAA;AAAA,cAGH,UAAA;EAAA;;;;;KAKH,eAAA,GAAe,kBAAA,CAAA,GAAA,CAAA,OAAA"}
|
package/dist/input-group.js
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
|
|
3
|
-
import { a as useComponentSize } from "./size-provider-D2Fy00Ky.js";
|
|
4
|
-
import { a as InputGroupAddon, i as InputGroupButton, n as InputGroupText, o as InputGroupContext, r as InputGroupInput, t as InputGroupTextarea } from "./input-group-textarea-C6ixncHC.js";
|
|
5
|
-
import { cn } from "tailwind-variants";
|
|
6
|
-
import { jsx } from "react/jsx-runtime";
|
|
7
|
-
|
|
8
|
-
//#region src/ui/input-group/input-group.tsx
|
|
9
|
-
const InputGroup = ({ className, children, size: providedSize, ...props }) => {
|
|
10
|
-
const size = useComponentSize(providedSize);
|
|
11
|
-
return /* @__PURE__ */ jsx("div", {
|
|
12
|
-
className: cn("group/input-group relative flex w-full min-w-0 items-center border border-input transition-colors outline-none data-[size=xs]:h-6 data-[size=xs]:rounded-[min(var(--radius-md),8px)] data-[size=sm]:h-8 data-[size=sm]:rounded-[min(var(--radius-md),10px)] data-[size=md]:h-9 data-[size=md]:rounded-md data-[size=lg]:h-10 data-[size=lg]:rounded-md data-[size=xl]:h-11 data-[size=xl]:rounded-md in-data-[slot=combobox-content]:focus-within:border-inherit in-data-[slot=combobox-content]:focus-within:ring-0 has-disabled:bg-input/50 has-disabled:opacity-50 has-[[data-slot=input-group-control]:focus-visible]:border-ring has-[[data-slot=input-group-control]:focus-visible]:ring-[3px] has-[[data-slot=input-group-control]:focus-visible]:ring-ring/50 has-[[data-slot][aria-invalid=true]]:border-danger has-[[data-slot][aria-invalid=true]]:ring-[3px] has-[[data-slot][aria-invalid=true]]:ring-danger/20 has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col has-[>textarea]:h-auto dark:bg-input/30 dark:has-disabled:bg-input/80 dark:has-[[data-slot][aria-invalid=true]]:ring-danger/40 has-[>[data-align=block-end]]:[&>input]:pt-3 has-[>[data-align=block-start]]:[&>input]:pb-3 has-[>[data-align=inline-end]]:[&>input]:pr-1.5 has-[>[data-align=inline-start]]:[&>input]:pl-1.5", className),
|
|
13
|
-
"data-size": size,
|
|
14
|
-
"data-slot": "input-group",
|
|
15
|
-
role: "group",
|
|
16
|
-
...props,
|
|
17
|
-
children: /* @__PURE__ */ jsx(InputGroupContext.Provider, {
|
|
18
|
-
value: { size },
|
|
19
|
-
children
|
|
20
|
-
})
|
|
21
|
-
});
|
|
22
|
-
};
|
|
23
|
-
InputGroup.Addon = InputGroupAddon;
|
|
24
|
-
InputGroup.Button = InputGroupButton;
|
|
25
|
-
InputGroup.Input = InputGroupInput;
|
|
26
|
-
InputGroup.Text = InputGroupText;
|
|
27
|
-
InputGroup.Textarea = InputGroupTextarea;
|
|
28
|
-
|
|
29
|
-
//#endregion
|
|
30
|
-
export { InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea };
|
|
31
|
-
//# sourceMappingURL=input-group.js.map
|
package/dist/input-group.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"input-group.js","names":[],"sources":["../src/ui/input-group/input-group.tsx"],"sourcesContent":["\"use client\";\n\nimport type { ComponentProps } from \"react\";\n\nimport { cn } from \"tailwind-variants\";\n\nimport type { InputSize } from \"../input/input\";\n\nimport { useComponentSize } from \"../shared/size/size-provider\";\nimport { InputGroupAddon } from \"./input-group-addon\";\nimport { InputGroupButton } from \"./input-group-button\";\nimport { InputGroupContext } from \"./input-group-context\";\nimport { InputGroupInput } from \"./input-group-input\";\nimport { InputGroupText } from \"./input-group-text\";\nimport { InputGroupTextarea } from \"./input-group-textarea\";\nexport type InputGroupProps = ComponentProps<\"div\"> & {\n size?: InputSize;\n};\n\nconst InputGroup = ({\n className,\n children,\n size: providedSize,\n ...props\n}: InputGroupProps) => {\n const size = useComponentSize(providedSize);\n\n return (\n <div\n className={cn(\n \"group/input-group relative flex w-full min-w-0 items-center border border-input transition-colors outline-none data-[size=xs]:h-6 data-[size=xs]:rounded-[min(var(--radius-md),8px)] data-[size=sm]:h-8 data-[size=sm]:rounded-[min(var(--radius-md),10px)] data-[size=md]:h-9 data-[size=md]:rounded-md data-[size=lg]:h-10 data-[size=lg]:rounded-md data-[size=xl]:h-11 data-[size=xl]:rounded-md in-data-[slot=combobox-content]:focus-within:border-inherit in-data-[slot=combobox-content]:focus-within:ring-0 has-disabled:bg-input/50 has-disabled:opacity-50 has-[[data-slot=input-group-control]:focus-visible]:border-ring has-[[data-slot=input-group-control]:focus-visible]:ring-[3px] has-[[data-slot=input-group-control]:focus-visible]:ring-ring/50 has-[[data-slot][aria-invalid=true]]:border-danger has-[[data-slot][aria-invalid=true]]:ring-[3px] has-[[data-slot][aria-invalid=true]]:ring-danger/20 has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col has-[>textarea]:h-auto dark:bg-input/30 dark:has-disabled:bg-input/80 dark:has-[[data-slot][aria-invalid=true]]:ring-danger/40 has-[>[data-align=block-end]]:[&>input]:pt-3 has-[>[data-align=block-start]]:[&>input]:pb-3 has-[>[data-align=inline-end]]:[&>input]:pr-1.5 has-[>[data-align=inline-start]]:[&>input]:pl-1.5\",\n className\n )}\n data-size={size}\n data-slot=\"input-group\"\n role=\"group\"\n {...props}\n >\n <InputGroupContext.Provider value={{ size }}>\n {children}\n </InputGroupContext.Provider>\n </div>\n );\n};\n\nInputGroup.Addon = InputGroupAddon;\nInputGroup.Button = InputGroupButton;\nInputGroup.Input = InputGroupInput;\nInputGroup.Text = InputGroupText;\nInputGroup.Textarea = InputGroupTextarea;\n\nexport {\n InputGroup,\n InputGroupAddon,\n InputGroupButton,\n InputGroupInput,\n InputGroupText,\n InputGroupTextarea,\n};\n\nexport type { InputGroupAddonProps } from \"./input-group-addon\";\nexport type { InputGroupButtonProps } from \"./input-group-button\";\nexport type { InputGroupInputProps } from \"./input-group-input\";\nexport type { InputGroupTextProps } from \"./input-group-text\";\nexport type { InputGroupTextareaProps } from \"./input-group-textarea\";\n"],"mappings":";;;;;;;;AAmBA,MAAM,cAAc,EAClB,WACA,UACA,MAAM,cACN,GAAG,YACkB;CACrB,MAAM,OAAO,iBAAiB,aAAa;AAE3C,QACE,oBAAC;EACC,WAAW,GACT,y1CACA,UACD;EACD,aAAW;EACX,aAAU;EACV,MAAK;EACL,GAAI;YAEJ,oBAAC,kBAAkB;GAAS,OAAO,EAAE,MAAM;GACxC;IAC0B;GACzB;;AAIV,WAAW,QAAQ;AACnB,WAAW,SAAS;AACpB,WAAW,QAAQ;AACnB,WAAW,OAAO;AAClB,WAAW,WAAW"}
|