negodesign 0.0.71 → 0.0.73
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 +115 -23
- package/dist/components/NegoDesign.svelte +7 -2
- package/dist/components/core/carousel/badge/ui/CarouselBadge.svelte +3 -5
- package/dist/components/core/carousel/grid/shared/ui/CarouselGridSlot.svelte +2 -2
- package/dist/components/core/carousel/highlights/ui/CarouselHighlights.svelte +2 -2
- package/dist/components/core/carousel/product/ui/CarouselProduct.svelte +2 -2
- package/dist/components/core/carousel/promotion/ui/CarouselPromotion.svelte +2 -2
- package/dist/components/core/datatable/data/columns-create.d.ts +1 -1
- package/dist/components/core/datatable/data/data-table.d.ts +3 -3
- package/dist/components/core/datatable/data/resolve-cell-badge.svelte.d.ts +2 -2
- package/dist/components/core/datatable/data/resolve-cell-badge.svelte.js +2 -1
- package/dist/components/core/datatable/data/resolve-cell.svelte.d.ts +2 -2
- package/dist/components/core/datatable/data/resolve-header.svelte.d.ts +2 -2
- package/dist/components/core/datatable/ui/DataTableActions.svelte +1 -1
- package/dist/components/core/datatable/ui/DataTableActions.svelte.d.ts +1 -1
- package/dist/components/core/datatable/ui/DataTableContent.svelte +1 -1
- package/dist/components/core/datatable/ui/DataTableContent.svelte.d.ts +1 -1
- package/dist/components/core/datatable/ui/DataTableCore.svelte +23 -26
- package/dist/components/core/datatable/ui/DataTableListFilter.svelte +3 -2
- package/dist/components/core/datatable/ui/DataTableListFilter.svelte.d.ts +1 -1
- package/dist/components/core/datatable/ui/DataTableListPagination.svelte +1 -1
- package/dist/components/core/datatable/ui/DataTableListPagination.svelte.d.ts +1 -1
- package/dist/components/core/datatable/ui/columns-create.svelte.d.ts +1 -1
- package/dist/components/core/panel/LeftHero.svelte +2 -2
- package/dist/components/core/sidebar/data/nav-top-bar-sidebar.d.ts +13 -4
- package/dist/components/core/sidebar/ui/navbar/NavMenuBarSidebar.svelte +3 -3
- package/dist/components/core/sidebar/ui/navbar/NavMenuTopBarSidebar.svelte +0 -2
- package/dist/components/core/sidebar/ui/navbar/nav-menu-header-sidebar.svelte +4 -5
- package/dist/components/pages/product-details/shared/ProductDetailFilesVertical.svelte +0 -1
- package/dist/components/pages/profile-user/shared/ProfileUserAddress.svelte +2 -3
- package/dist/components/pages/profile-user/shared/ProfileUserTabs.svelte +3 -1
- package/dist/components/ui/avatar/avatar-fallback.svelte +22 -12
- package/dist/components/ui/avatar/avatar-fallback.svelte.d.ts +3 -2
- package/dist/components/ui/avatar/avatar-image.svelte +31 -9
- package/dist/components/ui/avatar/avatar-image.svelte.d.ts +3 -2
- package/dist/components/ui/avatar/avatar.svelte +23 -9
- package/dist/components/ui/avatar/avatar.svelte.d.ts +6 -3
- package/dist/components/ui/avatar/context.svelte.d.ts +7 -0
- package/dist/components/ui/avatar/context.svelte.js +10 -0
- package/dist/components/ui/badge/badge.svelte +24 -26
- package/dist/components/ui/badge/badge.svelte.d.ts +15 -33
- package/dist/components/ui/button/button.svelte +35 -31
- package/dist/components/ui/button/button.svelte.d.ts +24 -61
- package/dist/components/ui/carousel/autoplay.d.ts +7 -0
- package/dist/components/ui/carousel/autoplay.js +7 -0
- package/dist/components/ui/carousel/carousel-content.svelte +31 -17
- package/dist/components/ui/carousel/carousel-item.svelte +2 -3
- package/dist/components/ui/carousel/carousel-next.svelte +1 -1
- package/dist/components/ui/carousel/carousel-previous.svelte +1 -1
- package/dist/components/ui/carousel/carousel.svelte +162 -30
- package/dist/components/ui/carousel/context.d.ts +23 -14
- package/dist/components/ui/carousel/context.js +4 -4
- package/dist/components/ui/carousel/index.d.ts +2 -0
- package/dist/components/ui/carousel/index.js +1 -0
- package/dist/components/ui/checkbox/checkbox.svelte +74 -17
- package/dist/components/ui/checkbox/checkbox.svelte.d.ts +17 -2
- package/dist/components/ui/collapsible/collapsible-content.svelte +27 -3
- package/dist/components/ui/collapsible/collapsible-content.svelte.d.ts +8 -2
- package/dist/components/ui/collapsible/collapsible-trigger.svelte +48 -3
- package/dist/components/ui/collapsible/collapsible-trigger.svelte.d.ts +10 -2
- package/dist/components/ui/collapsible/collapsible.svelte +62 -6
- package/dist/components/ui/collapsible/collapsible.svelte.d.ts +21 -2
- package/dist/components/ui/data-table/data-table.svelte.d.ts +2 -40
- package/dist/components/ui/data-table/data-table.svelte.js +1 -110
- package/dist/components/ui/data-table/flex-render.svelte +5 -5
- package/dist/components/ui/data-table/flex-render.svelte.d.ts +2 -2
- package/dist/components/ui/data-table/index.d.ts +2 -1
- package/dist/components/ui/data-table/index.js +1 -1
- package/dist/components/ui/data-table/table-core.svelte.d.ts +117 -0
- package/dist/components/ui/data-table/table-core.svelte.js +260 -0
- package/dist/components/ui/drawer/drawer-close.svelte +38 -3
- package/dist/components/ui/drawer/drawer-close.svelte.d.ts +10 -2
- package/dist/components/ui/drawer/drawer-content.svelte +67 -18
- package/dist/components/ui/drawer/drawer-content.svelte.d.ts +5 -4
- package/dist/components/ui/drawer/drawer-description.svelte +9 -6
- package/dist/components/ui/drawer/drawer-description.svelte.d.ts +3 -2
- package/dist/components/ui/drawer/drawer-nested.svelte +28 -5
- package/dist/components/ui/drawer/drawer-nested.svelte.d.ts +8 -1
- package/dist/components/ui/drawer/drawer-overlay.svelte +18 -9
- package/dist/components/ui/drawer/drawer-overlay.svelte.d.ts +3 -2
- package/dist/components/ui/drawer/drawer-portal.svelte +16 -3
- package/dist/components/ui/drawer/drawer-portal.svelte.d.ts +3 -1
- package/dist/components/ui/drawer/drawer-title.svelte +9 -6
- package/dist/components/ui/drawer/drawer-title.svelte.d.ts +3 -2
- package/dist/components/ui/drawer/drawer-trigger.svelte +39 -3
- package/dist/components/ui/drawer/drawer-trigger.svelte.d.ts +10 -2
- package/dist/components/ui/drawer/drawer.svelte +67 -4
- package/dist/components/ui/drawer/drawer.svelte.d.ts +23 -1
- package/dist/components/ui/dropdown-menu/dropdown-menu-checkbox-group.svelte +18 -8
- package/dist/components/ui/dropdown-menu/dropdown-menu-checkbox-group.svelte.d.ts +8 -2
- package/dist/components/ui/dropdown-menu/dropdown-menu-checkbox-item.svelte +53 -28
- package/dist/components/ui/dropdown-menu/dropdown-menu-checkbox-item.svelte.d.ts +8 -3
- package/dist/components/ui/dropdown-menu/dropdown-menu-content.svelte +93 -17
- package/dist/components/ui/dropdown-menu/dropdown-menu-content.svelte.d.ts +10 -6
- package/dist/components/ui/dropdown-menu/dropdown-menu-context.svelte.d.ts +26 -0
- package/dist/components/ui/dropdown-menu/dropdown-menu-context.svelte.js +27 -0
- package/dist/components/ui/dropdown-menu/dropdown-menu-group-heading.svelte +14 -8
- package/dist/components/ui/dropdown-menu/dropdown-menu-group-heading.svelte.d.ts +6 -3
- package/dist/components/ui/dropdown-menu/dropdown-menu-group.svelte +18 -3
- package/dist/components/ui/dropdown-menu/dropdown-menu-group.svelte.d.ts +7 -2
- package/dist/components/ui/dropdown-menu/dropdown-menu-item.svelte +42 -8
- package/dist/components/ui/dropdown-menu/dropdown-menu-item.svelte.d.ts +9 -2
- package/dist/components/ui/dropdown-menu/dropdown-menu-label.svelte +9 -5
- package/dist/components/ui/dropdown-menu/dropdown-menu-label.svelte.d.ts +5 -2
- package/dist/components/ui/dropdown-menu/dropdown-menu-portal.svelte +3 -3
- package/dist/components/ui/dropdown-menu/dropdown-menu-portal.svelte.d.ts +5 -1
- package/dist/components/ui/dropdown-menu/dropdown-menu-radio-group.svelte +36 -8
- package/dist/components/ui/dropdown-menu/dropdown-menu-radio-group.svelte.d.ts +9 -2
- package/dist/components/ui/dropdown-menu/dropdown-menu-radio-item.svelte +59 -23
- package/dist/components/ui/dropdown-menu/dropdown-menu-radio-item.svelte.d.ts +12 -2
- package/dist/components/ui/dropdown-menu/dropdown-menu-separator.svelte +11 -7
- package/dist/components/ui/dropdown-menu/dropdown-menu-separator.svelte.d.ts +6 -2
- package/dist/components/ui/dropdown-menu/dropdown-menu-sub-content.svelte +26 -9
- package/dist/components/ui/dropdown-menu/dropdown-menu-sub-content.svelte.d.ts +8 -2
- package/dist/components/ui/dropdown-menu/dropdown-menu-sub-trigger.svelte +39 -11
- package/dist/components/ui/dropdown-menu/dropdown-menu-sub-trigger.svelte.d.ts +7 -2
- package/dist/components/ui/dropdown-menu/dropdown-menu-sub.svelte +73 -3
- package/dist/components/ui/dropdown-menu/dropdown-menu-sub.svelte.d.ts +8 -1
- package/dist/components/ui/dropdown-menu/dropdown-menu-trigger.svelte +65 -3
- package/dist/components/ui/dropdown-menu/dropdown-menu-trigger.svelte.d.ts +12 -2
- package/dist/components/ui/dropdown-menu/dropdown-menu.svelte +50 -3
- package/dist/components/ui/dropdown-menu/dropdown-menu.svelte.d.ts +9 -1
- package/dist/components/ui/empty/empty-content.svelte +2 -5
- package/dist/components/ui/empty/empty-description.svelte +2 -5
- package/dist/components/ui/empty/empty-header.svelte +2 -2
- package/dist/components/ui/empty/empty-media.svelte +17 -16
- package/dist/components/ui/empty/empty-media.svelte.d.ts +10 -19
- package/dist/components/ui/empty/empty-title.svelte +2 -2
- package/dist/components/ui/empty/empty.svelte +2 -5
- package/dist/components/ui/input-otp/context.svelte.d.ts +22 -0
- package/dist/components/ui/input-otp/context.svelte.js +8 -0
- package/dist/components/ui/input-otp/input-otp-group.svelte +5 -2
- package/dist/components/ui/input-otp/input-otp-separator.svelte +5 -5
- package/dist/components/ui/input-otp/input-otp-slot.svelte +50 -17
- package/dist/components/ui/input-otp/input-otp-slot.svelte.d.ts +7 -2
- package/dist/components/ui/input-otp/input-otp.svelte +167 -8
- package/dist/components/ui/input-otp/input-otp.svelte.d.ts +17 -2
- package/dist/components/ui/label/label.svelte +10 -10
- package/dist/components/ui/label/label.svelte.d.ts +3 -2
- package/dist/components/ui/language-switcher/language-switcher.svelte +4 -3
- package/dist/components/ui/light-switch/light-switch.svelte +12 -6
- package/dist/components/ui/phone-input/country-selector.svelte +64 -78
- package/dist/components/ui/phone-input/country-selector.svelte.d.ts +6 -6
- package/dist/components/ui/phone-input/flag.svelte +3 -12
- package/dist/components/ui/phone-input/flag.svelte.d.ts +1 -1
- package/dist/components/ui/phone-input/flags.d.ts +2 -1
- package/dist/components/ui/phone-input/flags.js +4 -8
- package/dist/components/ui/phone-input/index.d.ts +1 -1
- package/dist/components/ui/phone-input/phone-input.svelte +106 -21
- package/dist/components/ui/phone-input/phone-input.svelte.d.ts +1 -2
- package/dist/components/ui/phone-input/types.d.ts +16 -1
- package/dist/components/ui/popover/popover-close.svelte +22 -3
- package/dist/components/ui/popover/popover-close.svelte.d.ts +7 -2
- package/dist/components/ui/popover/popover-content.svelte +80 -18
- package/dist/components/ui/popover/popover-content.svelte.d.ts +10 -6
- package/dist/components/ui/popover/popover-context.svelte.d.ts +13 -0
- package/dist/components/ui/popover/popover-context.svelte.js +13 -0
- package/dist/components/ui/popover/popover-portal.svelte +3 -3
- package/dist/components/ui/popover/popover-portal.svelte.d.ts +5 -1
- package/dist/components/ui/popover/popover-trigger.svelte +62 -10
- package/dist/components/ui/popover/popover-trigger.svelte.d.ts +12 -2
- package/dist/components/ui/popover/popover.svelte +50 -3
- package/dist/components/ui/popover/popover.svelte.d.ts +9 -1
- package/dist/components/ui/separator/separator.svelte +17 -11
- package/dist/components/ui/separator/separator.svelte.d.ts +7 -2
- package/dist/components/ui/sidebar/context.svelte.d.ts +15 -23
- package/dist/components/ui/sidebar/context.svelte.js +33 -21
- package/dist/components/ui/sidebar/sidebar-content.svelte +1 -1
- package/dist/components/ui/sidebar/sidebar-footer.svelte +1 -1
- package/dist/components/ui/sidebar/sidebar-group-content.svelte +1 -1
- package/dist/components/ui/sidebar/sidebar-menu-action.svelte +3 -2
- package/dist/components/ui/sidebar/sidebar-menu-button.svelte +35 -66
- package/dist/components/ui/sidebar/sidebar-menu-button.svelte.d.ts +9 -38
- package/dist/components/ui/sidebar/sidebar-provider.svelte +28 -18
- package/dist/components/ui/sidebar/sidebar-provider.svelte.d.ts +3 -0
- package/dist/components/ui/sidebar/sidebar-rail.svelte +1 -1
- package/dist/components/ui/sidebar/sidebar-separator.svelte +11 -8
- package/dist/components/ui/sidebar/sidebar-separator.svelte.d.ts +3 -11
- package/dist/components/ui/sidebar/sidebar-trigger.svelte +2 -2
- package/dist/components/ui/sidebar/sidebar.svelte +34 -23
- package/dist/components/ui/sidebar/sidebar.svelte.d.ts +1 -1
- package/dist/components/ui/skeleton/skeleton.svelte +7 -4
- package/dist/components/ui/skeleton/skeleton.svelte.d.ts +1 -1
- package/dist/components/ui/star-rating/star-rating-star.svelte +57 -31
- package/dist/components/ui/star-rating/star-rating-star.svelte.d.ts +1 -1
- package/dist/components/ui/star-rating/star-rating.svelte +143 -13
- package/dist/components/ui/star-rating/star-rating.svelte.d.ts +31 -2
- package/dist/components/ui/star-rating/types.d.ts +6 -1
- package/dist/components/ui/underline-tabs/underline-tabs-content.svelte +26 -9
- package/dist/components/ui/underline-tabs/underline-tabs-content.svelte.d.ts +9 -2
- package/dist/components/ui/underline-tabs/underline-tabs-list.svelte +15 -8
- package/dist/components/ui/underline-tabs/underline-tabs-list.svelte.d.ts +8 -2
- package/dist/components/ui/underline-tabs/underline-tabs-trigger.svelte +65 -34
- package/dist/components/ui/underline-tabs/underline-tabs-trigger.svelte.d.ts +14 -2
- package/dist/components/ui/underline-tabs/underline-tabs.svelte +49 -20
- package/dist/components/ui/underline-tabs/underline-tabs.svelte.d.ts +10 -2
- package/dist/components/ui/underline-tabs/underline-tabs.svelte.js +6 -59
- package/dist/docs/ApiTable.svelte +42 -0
- package/dist/docs/ApiTable.svelte.d.ts +7 -0
- package/dist/docs/CodeBlock.svelte +26 -0
- package/dist/docs/CodeBlock.svelte.d.ts +7 -0
- package/dist/docs/DocsHeader.svelte +25 -0
- package/dist/docs/DocsHeader.svelte.d.ts +6 -0
- package/dist/docs/DocsSidebar.svelte +99 -0
- package/dist/docs/DocsSidebar.svelte.d.ts +3 -0
- package/dist/docs/components.d.ts +27 -0
- package/dist/docs/components.js +897 -0
- package/dist/globals.css +466 -1590
- package/dist/styles/globals.css +136 -2
- package/dist/theme.svelte.d.ts +7 -0
- package/dist/theme.svelte.js +33 -0
- package/dist/utils.d.ts +4 -4
- package/dist/utils.js +18 -3
- package/package.json +4 -34
- package/dist/components/ui/chart/chart-container.svelte +0 -80
- package/dist/components/ui/chart/chart-container.svelte.d.ts +0 -9
- package/dist/components/ui/chart/chart-style.svelte +0 -37
- package/dist/components/ui/chart/chart-style.svelte.d.ts +0 -8
- package/dist/components/ui/chart/chart-tooltip.svelte +0 -184
- package/dist/components/ui/chart/chart-tooltip.svelte.d.ts +0 -27
- package/dist/components/ui/chart/chart-utils.d.ts +0 -36
- package/dist/components/ui/chart/chart-utils.js +0 -38
- package/dist/components/ui/chart/index.d.ts +0 -4
- package/dist/components/ui/chart/index.js +0 -4
- package/dist/components/ui/command/command-dialog.svelte +0 -42
- package/dist/components/ui/command/command-dialog.svelte.d.ts +0 -14
- package/dist/components/ui/command/command-empty.svelte +0 -17
- package/dist/components/ui/command/command-empty.svelte.d.ts +0 -4
- package/dist/components/ui/command/command-group.svelte +0 -33
- package/dist/components/ui/command/command-group.svelte.d.ts +0 -7
- package/dist/components/ui/command/command-input.svelte +0 -33
- package/dist/components/ui/command/command-input.svelte.d.ts +0 -4
- package/dist/components/ui/command/command-item.svelte +0 -27
- package/dist/components/ui/command/command-item.svelte.d.ts +0 -4
- package/dist/components/ui/command/command-link-item.svelte +0 -20
- package/dist/components/ui/command/command-link-item.svelte.d.ts +0 -4
- package/dist/components/ui/command/command-list.svelte +0 -20
- package/dist/components/ui/command/command-list.svelte.d.ts +0 -4
- package/dist/components/ui/command/command-loading.svelte +0 -7
- package/dist/components/ui/command/command-loading.svelte.d.ts +0 -4
- package/dist/components/ui/command/command-separator.svelte +0 -17
- package/dist/components/ui/command/command-separator.svelte.d.ts +0 -4
- package/dist/components/ui/command/command-shortcut.svelte +0 -23
- package/dist/components/ui/command/command-shortcut.svelte.d.ts +0 -5
- package/dist/components/ui/command/command.svelte +0 -28
- package/dist/components/ui/command/command.svelte.d.ts +0 -8
- package/dist/components/ui/command/index.d.ts +0 -12
- package/dist/components/ui/command/index.js +0 -14
- package/dist/components/ui/dialog/dialog-close.svelte +0 -11
- package/dist/components/ui/dialog/dialog-close.svelte.d.ts +0 -4
- package/dist/components/ui/dialog/dialog-content.svelte +0 -48
- package/dist/components/ui/dialog/dialog-content.svelte.d.ts +0 -13
- package/dist/components/ui/dialog/dialog-description.svelte +0 -20
- package/dist/components/ui/dialog/dialog-description.svelte.d.ts +0 -4
- package/dist/components/ui/dialog/dialog-footer.svelte +0 -32
- package/dist/components/ui/dialog/dialog-footer.svelte.d.ts +0 -8
- package/dist/components/ui/dialog/dialog-header.svelte +0 -20
- package/dist/components/ui/dialog/dialog-header.svelte.d.ts +0 -5
- package/dist/components/ui/dialog/dialog-overlay.svelte +0 -20
- package/dist/components/ui/dialog/dialog-overlay.svelte.d.ts +0 -4
- package/dist/components/ui/dialog/dialog-portal.svelte +0 -7
- package/dist/components/ui/dialog/dialog-portal.svelte.d.ts +0 -3
- package/dist/components/ui/dialog/dialog-title.svelte +0 -17
- package/dist/components/ui/dialog/dialog-title.svelte.d.ts +0 -4
- package/dist/components/ui/dialog/dialog-trigger.svelte +0 -11
- package/dist/components/ui/dialog/dialog-trigger.svelte.d.ts +0 -4
- package/dist/components/ui/dialog/dialog.svelte +0 -7
- package/dist/components/ui/dialog/dialog.svelte.d.ts +0 -3
- package/dist/components/ui/dialog/index.d.ts +0 -11
- package/dist/components/ui/dialog/index.js +0 -13
- package/dist/components/ui/input-group/index.d.ts +0 -7
- package/dist/components/ui/input-group/index.js +0 -9
- package/dist/components/ui/input-group/input-group-addon.svelte +0 -59
- package/dist/components/ui/input-group/input-group-addon.svelte.d.ts +0 -38
- package/dist/components/ui/input-group/input-group-button.svelte +0 -49
- package/dist/components/ui/input-group/input-group-button.svelte.d.ts +0 -32
- package/dist/components/ui/input-group/input-group-input.svelte +0 -23
- package/dist/components/ui/input-group/input-group-input.svelte.d.ts +0 -11
- package/dist/components/ui/input-group/input-group-text.svelte +0 -22
- package/dist/components/ui/input-group/input-group-text.svelte.d.ts +0 -5
- package/dist/components/ui/input-group/input-group-textarea.svelte +0 -23
- package/dist/components/ui/input-group/input-group-textarea.svelte.d.ts +0 -3
- package/dist/components/ui/input-group/input-group.svelte +0 -24
- package/dist/components/ui/input-group/input-group.svelte.d.ts +0 -5
- package/dist/components/ui/navigation-menu/index.d.ts +0 -9
- package/dist/components/ui/navigation-menu/index.js +0 -11
- package/dist/components/ui/navigation-menu/navigation-menu-content.svelte +0 -20
- package/dist/components/ui/navigation-menu/navigation-menu-content.svelte.d.ts +0 -4
- package/dist/components/ui/navigation-menu/navigation-menu-indicator.svelte +0 -22
- package/dist/components/ui/navigation-menu/navigation-menu-indicator.svelte.d.ts +0 -4
- package/dist/components/ui/navigation-menu/navigation-menu-item.svelte +0 -17
- package/dist/components/ui/navigation-menu/navigation-menu-item.svelte.d.ts +0 -4
- package/dist/components/ui/navigation-menu/navigation-menu-link.svelte +0 -17
- package/dist/components/ui/navigation-menu/navigation-menu-link.svelte.d.ts +0 -4
- package/dist/components/ui/navigation-menu/navigation-menu-list.svelte +0 -20
- package/dist/components/ui/navigation-menu/navigation-menu-list.svelte.d.ts +0 -4
- package/dist/components/ui/navigation-menu/navigation-menu-trigger.svelte +0 -30
- package/dist/components/ui/navigation-menu/navigation-menu-trigger.svelte.d.ts +0 -5
- package/dist/components/ui/navigation-menu/navigation-menu-viewport.svelte +0 -22
- package/dist/components/ui/navigation-menu/navigation-menu-viewport.svelte.d.ts +0 -4
- package/dist/components/ui/navigation-menu/navigation-menu.svelte +0 -31
- package/dist/components/ui/navigation-menu/navigation-menu.svelte.d.ts +0 -7
- package/dist/components/ui/scroll-area/index.d.ts +0 -3
- package/dist/components/ui/scroll-area/index.js +0 -5
- package/dist/components/ui/scroll-area/scroll-area-scrollbar.svelte +0 -30
- package/dist/components/ui/scroll-area/scroll-area-scrollbar.svelte.d.ts +0 -4
- package/dist/components/ui/scroll-area/scroll-area.svelte +0 -43
- package/dist/components/ui/scroll-area/scroll-area.svelte.d.ts +0 -11
- package/dist/components/ui/select/index.d.ts +0 -12
- package/dist/components/ui/select/index.js +0 -14
- package/dist/components/ui/select/select-content.svelte +0 -45
- package/dist/components/ui/select/select-content.svelte.d.ts +0 -11
- package/dist/components/ui/select/select-group-heading.svelte +0 -21
- package/dist/components/ui/select/select-group-heading.svelte.d.ts +0 -10
- package/dist/components/ui/select/select-group.svelte +0 -17
- package/dist/components/ui/select/select-group.svelte.d.ts +0 -4
- package/dist/components/ui/select/select-item.svelte +0 -41
- package/dist/components/ui/select/select-item.svelte.d.ts +0 -4
- package/dist/components/ui/select/select-label.svelte +0 -20
- package/dist/components/ui/select/select-label.svelte.d.ts +0 -6
- package/dist/components/ui/select/select-portal.svelte +0 -7
- package/dist/components/ui/select/select-portal.svelte.d.ts +0 -3
- package/dist/components/ui/select/select-scroll-down-button.svelte +0 -21
- package/dist/components/ui/select/select-scroll-down-button.svelte.d.ts +0 -4
- package/dist/components/ui/select/select-scroll-up-button.svelte +0 -21
- package/dist/components/ui/select/select-scroll-up-button.svelte.d.ts +0 -4
- package/dist/components/ui/select/select-separator.svelte +0 -18
- package/dist/components/ui/select/select-separator.svelte.d.ts +0 -4
- package/dist/components/ui/select/select-trigger.svelte +0 -30
- package/dist/components/ui/select/select-trigger.svelte.d.ts +0 -8
- package/dist/components/ui/select/select.svelte +0 -11
- package/dist/components/ui/select/select.svelte.d.ts +0 -3
- package/dist/components/ui/sheet/index.d.ts +0 -11
- package/dist/components/ui/sheet/index.js +0 -13
- package/dist/components/ui/sheet/sheet-close.svelte +0 -7
- package/dist/components/ui/sheet/sheet-close.svelte.d.ts +0 -4
- package/dist/components/ui/sheet/sheet-content.svelte +0 -56
- package/dist/components/ui/sheet/sheet-content.svelte.d.ts +0 -15
- package/dist/components/ui/sheet/sheet-description.svelte +0 -17
- package/dist/components/ui/sheet/sheet-description.svelte.d.ts +0 -4
- package/dist/components/ui/sheet/sheet-footer.svelte +0 -20
- package/dist/components/ui/sheet/sheet-footer.svelte.d.ts +0 -5
- package/dist/components/ui/sheet/sheet-header.svelte +0 -20
- package/dist/components/ui/sheet/sheet-header.svelte.d.ts +0 -5
- package/dist/components/ui/sheet/sheet-overlay.svelte +0 -17
- package/dist/components/ui/sheet/sheet-overlay.svelte.d.ts +0 -4
- package/dist/components/ui/sheet/sheet-portal.svelte +0 -7
- package/dist/components/ui/sheet/sheet-portal.svelte.d.ts +0 -3
- package/dist/components/ui/sheet/sheet-title.svelte +0 -17
- package/dist/components/ui/sheet/sheet-title.svelte.d.ts +0 -4
- package/dist/components/ui/sheet/sheet-trigger.svelte +0 -7
- package/dist/components/ui/sheet/sheet-trigger.svelte.d.ts +0 -4
- package/dist/components/ui/sheet/sheet.svelte +0 -7
- package/dist/components/ui/sheet/sheet.svelte.d.ts +0 -3
- package/dist/components/ui/spinner/index.d.ts +0 -1
- package/dist/components/ui/spinner/index.js +0 -1
- package/dist/components/ui/spinner/spinner.svelte +0 -26
- package/dist/components/ui/spinner/spinner.svelte.d.ts +0 -4
- package/dist/components/ui/tabs/index.d.ts +0 -5
- package/dist/components/ui/tabs/index.js +0 -7
- package/dist/components/ui/tabs/tabs-content.svelte +0 -17
- package/dist/components/ui/tabs/tabs-content.svelte.d.ts +0 -4
- package/dist/components/ui/tabs/tabs-list.svelte +0 -40
- package/dist/components/ui/tabs/tabs-list.svelte.d.ts +0 -25
- package/dist/components/ui/tabs/tabs-trigger.svelte +0 -23
- package/dist/components/ui/tabs/tabs-trigger.svelte.d.ts +0 -4
- package/dist/components/ui/tabs/tabs.svelte +0 -19
- package/dist/components/ui/tabs/tabs.svelte.d.ts +0 -4
- package/dist/components/ui/textarea/index.d.ts +0 -2
- package/dist/components/ui/textarea/index.js +0 -4
- package/dist/components/ui/textarea/textarea.svelte +0 -23
- package/dist/components/ui/textarea/textarea.svelte.d.ts +0 -5
- package/dist/components/ui/tooltip/index.d.ts +0 -6
- package/dist/components/ui/tooltip/index.js +0 -8
- package/dist/components/ui/tooltip/tooltip-content.svelte +0 -52
- package/dist/components/ui/tooltip/tooltip-content.svelte.d.ts +0 -11
- package/dist/components/ui/tooltip/tooltip-portal.svelte +0 -7
- package/dist/components/ui/tooltip/tooltip-portal.svelte.d.ts +0 -4
- package/dist/components/ui/tooltip/tooltip-provider.svelte +0 -7
- package/dist/components/ui/tooltip/tooltip-provider.svelte.d.ts +0 -4
- package/dist/components/ui/tooltip/tooltip-trigger.svelte +0 -7
- package/dist/components/ui/tooltip/tooltip-trigger.svelte.d.ts +0 -25
- package/dist/components/ui/tooltip/tooltip.svelte +0 -7
- package/dist/components/ui/tooltip/tooltip.svelte.d.ts +0 -25
- package/dist/vitest-examples/Welcome.svelte +0 -8
- package/dist/vitest-examples/Welcome.svelte.d.ts +0 -13
- package/dist/vitest-examples/Welcome.svelte.spec.d.ts +0 -1
- package/dist/vitest-examples/Welcome.svelte.spec.js +0 -11
- package/dist/vitest-examples/greet.d.ts +0 -1
- package/dist/vitest-examples/greet.js +0 -3
- package/dist/vitest-examples/greet.spec.d.ts +0 -1
- package/dist/vitest-examples/greet.spec.js +0 -7
|
@@ -1,45 +1,70 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import { Tick02Icon } from '@hugeicons/core-free-icons';
|
|
6
|
-
import { cn, type WithoutChildrenOrChild } from "../../../utils.js";
|
|
2
|
+
import { HugeiconsIcon } from "@hugeicons/svelte";
|
|
3
|
+
import { MinusSignIcon, Tick02Icon } from "@hugeicons/core-free-icons";
|
|
4
|
+
import { cn } from "../../../utils.js";
|
|
7
5
|
import type { Snippet } from "svelte";
|
|
6
|
+
import type { HTMLButtonAttributes } from "svelte/elements";
|
|
8
7
|
|
|
9
8
|
let {
|
|
10
|
-
ref = $bindable(null),
|
|
9
|
+
ref = $bindable<HTMLButtonElement | null>(null),
|
|
11
10
|
checked = $bindable(false),
|
|
12
11
|
indeterminate = $bindable(false),
|
|
12
|
+
onCheckedChange,
|
|
13
13
|
class: className,
|
|
14
|
-
|
|
14
|
+
disabled,
|
|
15
|
+
children,
|
|
15
16
|
...restProps
|
|
16
|
-
}:
|
|
17
|
+
}: HTMLButtonAttributes & {
|
|
18
|
+
ref?: HTMLButtonElement | null;
|
|
19
|
+
checked?: boolean;
|
|
20
|
+
indeterminate?: boolean;
|
|
21
|
+
onCheckedChange?: (checked: boolean) => void;
|
|
22
|
+
class?: string;
|
|
23
|
+
disabled?: boolean;
|
|
17
24
|
children?: Snippet;
|
|
18
25
|
} = $props();
|
|
26
|
+
|
|
27
|
+
let isChecked = $derived(indeterminate || checked);
|
|
28
|
+
|
|
29
|
+
let highlighted = $state(false);
|
|
30
|
+
|
|
31
|
+
function handleClick() {
|
|
32
|
+
checked = !checked;
|
|
33
|
+
indeterminate = false;
|
|
34
|
+
onCheckedChange?.(checked);
|
|
35
|
+
}
|
|
19
36
|
</script>
|
|
20
37
|
|
|
21
|
-
<
|
|
22
|
-
bind:ref
|
|
23
|
-
|
|
24
|
-
|
|
38
|
+
<button
|
|
39
|
+
bind:this={ref}
|
|
40
|
+
type="button"
|
|
41
|
+
role="menuitemcheckbox"
|
|
42
|
+
tabindex="-1"
|
|
25
43
|
data-slot="dropdown-menu-checkbox-item"
|
|
44
|
+
data-state={isChecked ? "checked" : "unchecked"}
|
|
45
|
+
data-highlighted={highlighted || undefined}
|
|
46
|
+
aria-checked={isChecked}
|
|
47
|
+
{disabled}
|
|
48
|
+
onclick={handleClick}
|
|
49
|
+
onfocus={() => (highlighted = true)}
|
|
50
|
+
onblur={() => (highlighted = false)}
|
|
51
|
+
onmouseenter={() => (highlighted = true)}
|
|
52
|
+
onmouseleave={() => (highlighted = false)}
|
|
26
53
|
class={cn(
|
|
27
|
-
"
|
|
28
|
-
className
|
|
54
|
+
"relative flex w-full cursor-pointer items-center justify-start gap-2.5 rounded-lg px-2 py-1.5 pr-8 text-sm outline-none select-none hover:bg-muted hover:text-foreground disabled:pointer-events-none disabled:opacity-50 [&>svg]:size-4 [&>svg]:shrink-0",
|
|
55
|
+
className,
|
|
29
56
|
)}
|
|
30
57
|
{...restProps}
|
|
31
58
|
>
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
{
|
|
38
|
-
|
|
39
|
-
{
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
{/snippet}
|
|
45
|
-
</DropdownMenuPrimitive.CheckboxItem>
|
|
59
|
+
<span
|
|
60
|
+
class="absolute right-2 flex size-4 items-center justify-center pointer-events-none"
|
|
61
|
+
data-slot="dropdown-menu-checkbox-item-indicator"
|
|
62
|
+
>
|
|
63
|
+
{#if indeterminate}
|
|
64
|
+
<HugeiconsIcon icon={MinusSignIcon} strokeWidth={2} class="size-4" />
|
|
65
|
+
{:else if checked}
|
|
66
|
+
<HugeiconsIcon icon={Tick02Icon} strokeWidth={2} class="size-4" />
|
|
67
|
+
{/if}
|
|
68
|
+
</span>
|
|
69
|
+
{@render children?.()}
|
|
70
|
+
</button>
|
|
@@ -1,7 +1,12 @@
|
|
|
1
|
-
import { DropdownMenu as DropdownMenuPrimitive } from "bits-ui";
|
|
2
|
-
import { type WithoutChildrenOrChild } from "../../../utils.js";
|
|
3
1
|
import type { Snippet } from "svelte";
|
|
4
|
-
type
|
|
2
|
+
import type { HTMLButtonAttributes } from "svelte/elements";
|
|
3
|
+
type $$ComponentProps = HTMLButtonAttributes & {
|
|
4
|
+
ref?: HTMLButtonElement | null;
|
|
5
|
+
checked?: boolean;
|
|
6
|
+
indeterminate?: boolean;
|
|
7
|
+
onCheckedChange?: (checked: boolean) => void;
|
|
8
|
+
class?: string;
|
|
9
|
+
disabled?: boolean;
|
|
5
10
|
children?: Snippet;
|
|
6
11
|
};
|
|
7
12
|
declare const DropdownMenuCheckboxItem: import("svelte").Component<$$ComponentProps, {}, "ref" | "checked" | "indeterminate">;
|
|
@@ -1,31 +1,107 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
4
|
-
import {
|
|
5
|
-
import type {
|
|
2
|
+
import { getDropdownMenuContext } from "./dropdown-menu-context.svelte.js";
|
|
3
|
+
import { cn } from "../../../utils.js";
|
|
4
|
+
import type { Snippet } from "svelte";
|
|
5
|
+
import type { HTMLAttributes } from "svelte/elements";
|
|
6
6
|
|
|
7
7
|
let {
|
|
8
|
-
ref = $bindable(null),
|
|
9
|
-
sideOffset = 4,
|
|
8
|
+
ref = $bindable<HTMLDivElement | null>(null),
|
|
10
9
|
align = "start",
|
|
10
|
+
side = "bottom",
|
|
11
|
+
sideOffset = 4,
|
|
11
12
|
portalProps,
|
|
12
13
|
class: className,
|
|
14
|
+
children,
|
|
13
15
|
...restProps
|
|
14
|
-
}:
|
|
15
|
-
|
|
16
|
+
}: HTMLAttributes<HTMLDivElement> & {
|
|
17
|
+
ref?: HTMLDivElement | null;
|
|
18
|
+
align?: "start" | "center" | "end";
|
|
19
|
+
side?: "top" | "right" | "bottom" | "left" | "inline-start" | "inline-end";
|
|
20
|
+
sideOffset?: number;
|
|
21
|
+
portalProps?: Record<string, unknown>;
|
|
22
|
+
class?: string;
|
|
23
|
+
children?: Snippet;
|
|
16
24
|
} = $props();
|
|
25
|
+
|
|
26
|
+
const store = getDropdownMenuContext();
|
|
27
|
+
|
|
28
|
+
let anchorWidth = $state(0);
|
|
29
|
+
|
|
30
|
+
$effect(() => {
|
|
31
|
+
if (!store.open) return;
|
|
32
|
+
const width = store.anchorEl?.getBoundingClientRect().width ?? 0;
|
|
33
|
+
if (width > 0) anchorWidth = width;
|
|
34
|
+
});
|
|
35
|
+
|
|
36
|
+
$effect(() => {
|
|
37
|
+
if (!store.open) return;
|
|
38
|
+
function handlePointerDown(event: PointerEvent) {
|
|
39
|
+
const target = event.target as Node;
|
|
40
|
+
if (store.anchorEl?.contains(target)) return;
|
|
41
|
+
if (ref?.contains(target)) return;
|
|
42
|
+
store.closeMenu();
|
|
43
|
+
}
|
|
44
|
+
function handleKeydown(event: KeyboardEvent) {
|
|
45
|
+
if (event.key === "Escape") {
|
|
46
|
+
store.closeMenu();
|
|
47
|
+
store.anchorEl?.focus();
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
document.addEventListener("pointerdown", handlePointerDown);
|
|
51
|
+
document.addEventListener("keydown", handleKeydown);
|
|
52
|
+
return () => {
|
|
53
|
+
document.removeEventListener("pointerdown", handlePointerDown);
|
|
54
|
+
document.removeEventListener("keydown", handleKeydown);
|
|
55
|
+
};
|
|
56
|
+
});
|
|
57
|
+
|
|
58
|
+
let positionClasses = $derived.by(() => {
|
|
59
|
+
const horizontal =
|
|
60
|
+
side === "right" || side === "left" || side === "inline-start" || side === "inline-end";
|
|
61
|
+
if (horizontal) {
|
|
62
|
+
const sideClass = side === "left" || side === "inline-start" ? "right-full" : "left-full";
|
|
63
|
+
const alignClass =
|
|
64
|
+
align === "end"
|
|
65
|
+
? "bottom-0"
|
|
66
|
+
: align === "center"
|
|
67
|
+
? "top-1/2 -translate-y-1/2"
|
|
68
|
+
: "top-0";
|
|
69
|
+
const margin =
|
|
70
|
+
side === "left" || side === "inline-start"
|
|
71
|
+
? `margin-right: ${sideOffset + 4}px`
|
|
72
|
+
: `margin-left: ${sideOffset + 4}px`;
|
|
73
|
+
return { sideClass, alignClass, margin };
|
|
74
|
+
}
|
|
75
|
+
const sideClass = side === "top" ? "bottom-full" : "top-full";
|
|
76
|
+
const alignClass =
|
|
77
|
+
align === "end" ? "end-0" : align === "center" ? "start-1/2 -translate-x-1/2" : "start-0";
|
|
78
|
+
const margin =
|
|
79
|
+
side === "top"
|
|
80
|
+
? `margin-bottom: ${sideOffset + 4}px`
|
|
81
|
+
: `margin-top: ${sideOffset + 4}px`;
|
|
82
|
+
return { sideClass, alignClass, margin };
|
|
83
|
+
});
|
|
84
|
+
|
|
85
|
+
let contentStyle = $derived(
|
|
86
|
+
`${positionClasses.margin}${anchorWidth > 0 ? `;--bits-dropdown-menu-anchor-width: ${anchorWidth}px` : ""}`,
|
|
87
|
+
);
|
|
17
88
|
</script>
|
|
18
89
|
|
|
19
|
-
|
|
20
|
-
<
|
|
21
|
-
bind:ref
|
|
90
|
+
{#if store.open}
|
|
91
|
+
<div
|
|
92
|
+
bind:this={ref}
|
|
22
93
|
data-slot="dropdown-menu-content"
|
|
23
|
-
|
|
24
|
-
{
|
|
94
|
+
role="menu"
|
|
95
|
+
data-state={store.open ? "open" : "closed"}
|
|
96
|
+
style={contentStyle}
|
|
25
97
|
class={cn(
|
|
26
|
-
"
|
|
27
|
-
|
|
98
|
+
"absolute z-50 min-w-48 overflow-x-hidden overflow-y-auto rounded-2xl p-1 shadow-2xl ring-1 ring-foreground/5 bg-popover text-popover-foreground outline-none animate-zoom-in",
|
|
99
|
+
positionClasses.sideClass,
|
|
100
|
+
positionClasses.alignClass,
|
|
101
|
+
className,
|
|
28
102
|
)}
|
|
29
103
|
{...restProps}
|
|
30
|
-
|
|
31
|
-
|
|
104
|
+
>
|
|
105
|
+
{@render children?.()}
|
|
106
|
+
</div>
|
|
107
|
+
{/if}
|
|
@@ -1,9 +1,13 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
import type { Snippet } from "svelte";
|
|
2
|
+
import type { HTMLAttributes } from "svelte/elements";
|
|
3
|
+
type $$ComponentProps = HTMLAttributes<HTMLDivElement> & {
|
|
4
|
+
ref?: HTMLDivElement | null;
|
|
5
|
+
align?: "start" | "center" | "end";
|
|
6
|
+
side?: "top" | "right" | "bottom" | "left" | "inline-start" | "inline-end";
|
|
7
|
+
sideOffset?: number;
|
|
8
|
+
portalProps?: Record<string, unknown>;
|
|
9
|
+
class?: string;
|
|
10
|
+
children?: Snippet;
|
|
7
11
|
};
|
|
8
12
|
declare const DropdownMenuContent: import("svelte").Component<$$ComponentProps, {}, "ref">;
|
|
9
13
|
type DropdownMenuContent = ReturnType<typeof DropdownMenuContent>;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export type DropdownMenuStore = {
|
|
2
|
+
open: boolean;
|
|
3
|
+
anchorId: string;
|
|
4
|
+
anchorEl: HTMLElement | null;
|
|
5
|
+
clickEvent: MouseEvent | null;
|
|
6
|
+
toggle: () => void;
|
|
7
|
+
openMenu: () => void;
|
|
8
|
+
closeMenu: () => void;
|
|
9
|
+
setAnchor: (el: HTMLElement | null) => void;
|
|
10
|
+
};
|
|
11
|
+
export type DropdownMenuSubStore = {
|
|
12
|
+
open: boolean;
|
|
13
|
+
};
|
|
14
|
+
export type DropdownRadioGroupStore = {
|
|
15
|
+
state: {
|
|
16
|
+
value: string;
|
|
17
|
+
};
|
|
18
|
+
setValue: (value: string) => void;
|
|
19
|
+
};
|
|
20
|
+
export declare function generateDropdownMenuId(): string;
|
|
21
|
+
export declare function setDropdownMenuContext(store: DropdownMenuStore): DropdownMenuStore;
|
|
22
|
+
export declare function getDropdownMenuContext(): DropdownMenuStore;
|
|
23
|
+
export declare function setDropdownMenuSubContext(store: DropdownMenuSubStore): DropdownMenuSubStore;
|
|
24
|
+
export declare function getDropdownMenuSubContext(): DropdownMenuSubStore;
|
|
25
|
+
export declare function setDropdownMenuRadioGroupContext(ctx: DropdownRadioGroupStore): DropdownRadioGroupStore;
|
|
26
|
+
export declare function getDropdownMenuRadioGroupContext(): DropdownRadioGroupStore;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { getContext, setContext } from "svelte";
|
|
2
|
+
const DROPDOWN_MENU_CONTEXT_KEY = Symbol("dropdown-menu-context");
|
|
3
|
+
const DROPDOWN_MENU_SUB_CONTEXT_KEY = Symbol("dropdown-menu-sub-context");
|
|
4
|
+
const DROPDOWN_MENU_RADIO_GROUP_CONTEXT_KEY = Symbol("dropdown-menu-radio-group-context");
|
|
5
|
+
let dropdownMenuIdCounter = 0;
|
|
6
|
+
export function generateDropdownMenuId() {
|
|
7
|
+
dropdownMenuIdCounter += 1;
|
|
8
|
+
return `dropdown-menu-${dropdownMenuIdCounter.toString(36)}`;
|
|
9
|
+
}
|
|
10
|
+
export function setDropdownMenuContext(store) {
|
|
11
|
+
return setContext(DROPDOWN_MENU_CONTEXT_KEY, store);
|
|
12
|
+
}
|
|
13
|
+
export function getDropdownMenuContext() {
|
|
14
|
+
return getContext(DROPDOWN_MENU_CONTEXT_KEY);
|
|
15
|
+
}
|
|
16
|
+
export function setDropdownMenuSubContext(store) {
|
|
17
|
+
return setContext(DROPDOWN_MENU_SUB_CONTEXT_KEY, store);
|
|
18
|
+
}
|
|
19
|
+
export function getDropdownMenuSubContext() {
|
|
20
|
+
return getContext(DROPDOWN_MENU_SUB_CONTEXT_KEY);
|
|
21
|
+
}
|
|
22
|
+
export function setDropdownMenuRadioGroupContext(ctx) {
|
|
23
|
+
return setContext(DROPDOWN_MENU_RADIO_GROUP_CONTEXT_KEY, ctx);
|
|
24
|
+
}
|
|
25
|
+
export function getDropdownMenuRadioGroupContext() {
|
|
26
|
+
return getContext(DROPDOWN_MENU_RADIO_GROUP_CONTEXT_KEY);
|
|
27
|
+
}
|
|
@@ -1,22 +1,28 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
|
-
import { DropdownMenu as DropdownMenuPrimitive } from "bits-ui";
|
|
3
2
|
import { cn } from "../../../utils.js";
|
|
4
|
-
import type {
|
|
3
|
+
import type { Snippet } from "svelte";
|
|
4
|
+
import type { HTMLAttributes } from "svelte/elements";
|
|
5
5
|
|
|
6
6
|
let {
|
|
7
|
-
ref = $bindable(null),
|
|
7
|
+
ref = $bindable<HTMLDivElement | null>(null),
|
|
8
8
|
class: className,
|
|
9
9
|
inset,
|
|
10
|
+
children,
|
|
10
11
|
...restProps
|
|
11
|
-
}:
|
|
12
|
+
}: HTMLAttributes<HTMLDivElement> & {
|
|
13
|
+
ref?: HTMLDivElement | null;
|
|
14
|
+
class?: string;
|
|
12
15
|
inset?: boolean;
|
|
16
|
+
children?: Snippet;
|
|
13
17
|
} = $props();
|
|
14
18
|
</script>
|
|
15
19
|
|
|
16
|
-
<
|
|
17
|
-
bind:ref
|
|
20
|
+
<div
|
|
21
|
+
bind:this={ref}
|
|
18
22
|
data-slot="dropdown-menu-group-heading"
|
|
19
23
|
data-inset={inset}
|
|
20
|
-
class={cn("px-2 py-1.5 text-
|
|
24
|
+
class={cn("px-2 py-1.5 text-xs font-medium text-muted-foreground", className)}
|
|
21
25
|
{...restProps}
|
|
22
|
-
|
|
26
|
+
>
|
|
27
|
+
{@render children?.()}
|
|
28
|
+
</div>
|
|
@@ -1,7 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import type {
|
|
3
|
-
type $$ComponentProps =
|
|
1
|
+
import type { Snippet } from "svelte";
|
|
2
|
+
import type { HTMLAttributes } from "svelte/elements";
|
|
3
|
+
type $$ComponentProps = HTMLAttributes<HTMLDivElement> & {
|
|
4
|
+
ref?: HTMLDivElement | null;
|
|
5
|
+
class?: string;
|
|
4
6
|
inset?: boolean;
|
|
7
|
+
children?: Snippet;
|
|
5
8
|
};
|
|
6
9
|
declare const DropdownMenuGroupHeading: import("svelte").Component<$$ComponentProps, {}, "ref">;
|
|
7
10
|
type DropdownMenuGroupHeading = ReturnType<typeof DropdownMenuGroupHeading>;
|
|
@@ -1,7 +1,22 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
|
-
import {
|
|
2
|
+
import type { Snippet } from "svelte";
|
|
3
|
+
import type { HTMLAttributes } from "svelte/elements";
|
|
3
4
|
|
|
4
|
-
let {
|
|
5
|
+
let {
|
|
6
|
+
ref = $bindable<HTMLDivElement | null>(null),
|
|
7
|
+
children,
|
|
8
|
+
...restProps
|
|
9
|
+
}: HTMLAttributes<HTMLDivElement> & {
|
|
10
|
+
ref?: HTMLDivElement | null;
|
|
11
|
+
children?: Snippet;
|
|
12
|
+
} = $props();
|
|
5
13
|
</script>
|
|
6
14
|
|
|
7
|
-
<
|
|
15
|
+
<div
|
|
16
|
+
bind:this={ref}
|
|
17
|
+
role="group"
|
|
18
|
+
data-slot="dropdown-menu-group"
|
|
19
|
+
{...restProps}
|
|
20
|
+
>
|
|
21
|
+
{@render children?.()}
|
|
22
|
+
</div>
|
|
@@ -1,4 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import type { Snippet } from "svelte";
|
|
2
|
+
import type { HTMLAttributes } from "svelte/elements";
|
|
3
|
+
type $$ComponentProps = HTMLAttributes<HTMLDivElement> & {
|
|
4
|
+
ref?: HTMLDivElement | null;
|
|
5
|
+
children?: Snippet;
|
|
6
|
+
};
|
|
7
|
+
declare const DropdownMenuGroup: import("svelte").Component<$$ComponentProps, {}, "ref">;
|
|
3
8
|
type DropdownMenuGroup = ReturnType<typeof DropdownMenuGroup>;
|
|
4
9
|
export default DropdownMenuGroup;
|
|
@@ -1,27 +1,61 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
import { cn } from "../../../utils.js";
|
|
3
|
-
import {
|
|
3
|
+
import { getDropdownMenuContext } from "./dropdown-menu-context.svelte.js";
|
|
4
|
+
import type { Snippet } from "svelte";
|
|
5
|
+
import type { HTMLButtonAttributes } from "svelte/elements";
|
|
4
6
|
|
|
5
7
|
let {
|
|
6
|
-
ref = $bindable(null),
|
|
8
|
+
ref = $bindable<HTMLButtonElement | null>(null),
|
|
7
9
|
class: className,
|
|
10
|
+
disabled,
|
|
8
11
|
inset,
|
|
9
12
|
variant = "default",
|
|
13
|
+
onSelect,
|
|
14
|
+
onclick,
|
|
15
|
+
children,
|
|
10
16
|
...restProps
|
|
11
|
-
}:
|
|
17
|
+
}: HTMLButtonAttributes & {
|
|
18
|
+
ref?: HTMLButtonElement | null;
|
|
19
|
+
class?: string;
|
|
20
|
+
disabled?: boolean;
|
|
12
21
|
inset?: boolean;
|
|
13
22
|
variant?: "default" | "destructive";
|
|
23
|
+
onSelect?: (event: MouseEvent) => void;
|
|
24
|
+
onclick?: (event: MouseEvent) => void;
|
|
25
|
+
children?: Snippet;
|
|
14
26
|
} = $props();
|
|
27
|
+
|
|
28
|
+
const store = getDropdownMenuContext();
|
|
29
|
+
|
|
30
|
+
let highlighted = $state(false);
|
|
31
|
+
|
|
32
|
+
function handleSelect(event: MouseEvent) {
|
|
33
|
+
onclick?.(event);
|
|
34
|
+
onSelect?.(event);
|
|
35
|
+
store.closeMenu();
|
|
36
|
+
}
|
|
15
37
|
</script>
|
|
16
38
|
|
|
17
|
-
<
|
|
18
|
-
bind:ref
|
|
39
|
+
<button
|
|
40
|
+
bind:this={ref}
|
|
41
|
+
type="button"
|
|
42
|
+
role="menuitem"
|
|
43
|
+
tabindex="-1"
|
|
19
44
|
data-slot="dropdown-menu-item"
|
|
20
45
|
data-inset={inset}
|
|
21
46
|
data-variant={variant}
|
|
47
|
+
data-highlighted={highlighted || undefined}
|
|
48
|
+
{disabled}
|
|
49
|
+
onclick={handleSelect}
|
|
50
|
+
onfocus={() => (highlighted = true)}
|
|
51
|
+
onblur={() => (highlighted = false)}
|
|
52
|
+
onmouseenter={() => (highlighted = true)}
|
|
53
|
+
onmouseleave={() => (highlighted = false)}
|
|
22
54
|
class={cn(
|
|
23
|
-
"
|
|
24
|
-
className
|
|
55
|
+
"group/dropdown-menu-item relative flex w-full cursor-pointer items-center justify-start gap-2 rounded-lg px-2 py-1.5 text-sm outline-none select-none hover:bg-muted hover:text-foreground disabled:pointer-events-none disabled:opacity-50 [&>svg]:size-4 [&>svg]:shrink-0",
|
|
56
|
+
className,
|
|
25
57
|
)}
|
|
26
58
|
{...restProps}
|
|
27
|
-
|
|
59
|
+
>
|
|
60
|
+
{@render children?.()}
|
|
61
|
+
</button>
|
|
@@ -1,7 +1,14 @@
|
|
|
1
|
-
import {
|
|
2
|
-
type
|
|
1
|
+
import type { Snippet } from "svelte";
|
|
2
|
+
import type { HTMLButtonAttributes } from "svelte/elements";
|
|
3
|
+
type $$ComponentProps = HTMLButtonAttributes & {
|
|
4
|
+
ref?: HTMLButtonElement | null;
|
|
5
|
+
class?: string;
|
|
6
|
+
disabled?: boolean;
|
|
3
7
|
inset?: boolean;
|
|
4
8
|
variant?: "default" | "destructive";
|
|
9
|
+
onSelect?: (event: MouseEvent) => void;
|
|
10
|
+
onclick?: (event: MouseEvent) => void;
|
|
11
|
+
children?: Snippet;
|
|
5
12
|
};
|
|
6
13
|
declare const DropdownMenuItem: import("svelte").Component<$$ComponentProps, {}, "ref">;
|
|
7
14
|
type DropdownMenuItem = ReturnType<typeof DropdownMenuItem>;
|
|
@@ -1,15 +1,19 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
|
-
import { cn
|
|
2
|
+
import { cn } from "../../../utils.js";
|
|
3
|
+
import type { Snippet } from "svelte";
|
|
3
4
|
import type { HTMLAttributes } from "svelte/elements";
|
|
4
5
|
|
|
5
6
|
let {
|
|
6
|
-
ref = $bindable(null),
|
|
7
|
+
ref = $bindable<HTMLDivElement | null>(null),
|
|
7
8
|
class: className,
|
|
8
9
|
inset,
|
|
9
10
|
children,
|
|
10
11
|
...restProps
|
|
11
|
-
}:
|
|
12
|
+
}: HTMLAttributes<HTMLDivElement> & {
|
|
13
|
+
ref?: HTMLDivElement | null;
|
|
14
|
+
class?: string;
|
|
12
15
|
inset?: boolean;
|
|
16
|
+
children?: Snippet;
|
|
13
17
|
} = $props();
|
|
14
18
|
</script>
|
|
15
19
|
|
|
@@ -17,8 +21,8 @@
|
|
|
17
21
|
bind:this={ref}
|
|
18
22
|
data-slot="dropdown-menu-label"
|
|
19
23
|
data-inset={inset}
|
|
20
|
-
class={cn("
|
|
24
|
+
class={cn("px-2 py-1.5 text-sm font-medium text-foreground", className)}
|
|
21
25
|
{...restProps}
|
|
22
26
|
>
|
|
23
27
|
{@render children?.()}
|
|
24
|
-
</div>
|
|
28
|
+
</div>
|
|
@@ -1,7 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { Snippet } from "svelte";
|
|
2
2
|
import type { HTMLAttributes } from "svelte/elements";
|
|
3
|
-
type $$ComponentProps =
|
|
3
|
+
type $$ComponentProps = HTMLAttributes<HTMLDivElement> & {
|
|
4
|
+
ref?: HTMLDivElement | null;
|
|
5
|
+
class?: string;
|
|
4
6
|
inset?: boolean;
|
|
7
|
+
children?: Snippet;
|
|
5
8
|
};
|
|
6
9
|
declare const DropdownMenuLabel: import("svelte").Component<$$ComponentProps, {}, "ref">;
|
|
7
10
|
type DropdownMenuLabel = ReturnType<typeof DropdownMenuLabel>;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
|
-
import {
|
|
2
|
+
import type { Snippet } from "svelte";
|
|
3
3
|
|
|
4
|
-
let {
|
|
4
|
+
let { children }: { children?: Snippet } = $props();
|
|
5
5
|
</script>
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
{@render children?.()}
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
import type { Snippet } from "svelte";
|
|
2
|
+
type $$ComponentProps = {
|
|
3
|
+
children?: Snippet;
|
|
4
|
+
};
|
|
5
|
+
declare const DropdownMenuPortal: import("svelte").Component<$$ComponentProps, {}, "">;
|
|
2
6
|
type DropdownMenuPortal = ReturnType<typeof DropdownMenuPortal>;
|
|
3
7
|
export default DropdownMenuPortal;
|
|
@@ -1,16 +1,44 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
|
-
import {
|
|
2
|
+
import { setDropdownMenuRadioGroupContext } from "./dropdown-menu-context.svelte.js";
|
|
3
|
+
import type { Snippet } from "svelte";
|
|
4
|
+
import type { HTMLAttributes } from "svelte/elements";
|
|
3
5
|
|
|
4
6
|
let {
|
|
5
|
-
ref = $bindable(null),
|
|
6
|
-
value = $bindable(),
|
|
7
|
+
ref = $bindable<HTMLDivElement | null>(null),
|
|
8
|
+
value = $bindable<string>(),
|
|
9
|
+
onValueChange,
|
|
10
|
+
children,
|
|
7
11
|
...restProps
|
|
8
|
-
}:
|
|
12
|
+
}: HTMLAttributes<HTMLDivElement> & {
|
|
13
|
+
ref?: HTMLDivElement | null;
|
|
14
|
+
value?: string;
|
|
15
|
+
onValueChange?: (value: string) => void;
|
|
16
|
+
children?: Snippet;
|
|
17
|
+
} = $props();
|
|
18
|
+
|
|
19
|
+
let groupState = $state({ value: value ?? "" });
|
|
20
|
+
|
|
21
|
+
$effect(() => {
|
|
22
|
+
if (value !== undefined && value !== groupState.value) {
|
|
23
|
+
groupState.value = value;
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
function setValue(next: string) {
|
|
28
|
+
if (next === groupState.value) return;
|
|
29
|
+
groupState.value = next;
|
|
30
|
+
value = next;
|
|
31
|
+
onValueChange?.(next);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
setDropdownMenuRadioGroupContext({ state: groupState, setValue });
|
|
9
35
|
</script>
|
|
10
36
|
|
|
11
|
-
<
|
|
12
|
-
bind:ref
|
|
13
|
-
|
|
37
|
+
<div
|
|
38
|
+
bind:this={ref}
|
|
39
|
+
role="radiogroup"
|
|
14
40
|
data-slot="dropdown-menu-radio-group"
|
|
15
41
|
{...restProps}
|
|
16
|
-
|
|
42
|
+
>
|
|
43
|
+
{@render children?.()}
|
|
44
|
+
</div>
|
|
@@ -1,4 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import type { Snippet } from "svelte";
|
|
2
|
+
import type { HTMLAttributes } from "svelte/elements";
|
|
3
|
+
type $$ComponentProps = HTMLAttributes<HTMLDivElement> & {
|
|
4
|
+
ref?: HTMLDivElement | null;
|
|
5
|
+
value?: string;
|
|
6
|
+
onValueChange?: (value: string) => void;
|
|
7
|
+
children?: Snippet;
|
|
8
|
+
};
|
|
9
|
+
declare const DropdownMenuRadioGroup: import("svelte").Component<$$ComponentProps, {}, "ref" | "value">;
|
|
3
10
|
type DropdownMenuRadioGroup = ReturnType<typeof DropdownMenuRadioGroup>;
|
|
4
11
|
export default DropdownMenuRadioGroup;
|