negodesign 0.0.71 → 0.0.72
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 +155 -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,61 +1,92 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
|
-
import {
|
|
3
|
-
import { cn } from
|
|
4
|
-
import {
|
|
5
|
-
import { box } from 'svelte-toolbelt';
|
|
2
|
+
import type { Snippet } from "svelte";
|
|
3
|
+
import { cn } from "../../../utils.js";
|
|
4
|
+
import { useUnderlineTabsTrigger } from "./underline-tabs.svelte.js";
|
|
6
5
|
|
|
7
6
|
let {
|
|
8
7
|
ref = $bindable(null),
|
|
9
8
|
value,
|
|
10
9
|
class: className,
|
|
10
|
+
onclick,
|
|
11
11
|
onmouseenter,
|
|
12
12
|
onmouseleave,
|
|
13
13
|
onfocus,
|
|
14
14
|
onblur,
|
|
15
15
|
children,
|
|
16
16
|
...restProps
|
|
17
|
-
}:
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
17
|
+
}: {
|
|
18
|
+
ref?: HTMLButtonElement | null;
|
|
19
|
+
value: string;
|
|
20
|
+
class?: string;
|
|
21
|
+
onclick?: (e: MouseEvent) => void;
|
|
22
|
+
onmouseenter?: (e: MouseEvent) => void;
|
|
23
|
+
onmouseleave?: (e: MouseEvent) => void;
|
|
24
|
+
onfocus?: (e: FocusEvent) => void;
|
|
25
|
+
onblur?: (e: FocusEvent) => void;
|
|
26
|
+
children?: Snippet;
|
|
27
|
+
[key: string]: unknown;
|
|
28
|
+
} = $props();
|
|
29
|
+
|
|
30
|
+
const state = useUnderlineTabsTrigger();
|
|
31
|
+
|
|
32
|
+
const isActive = $derived(state.value === value);
|
|
33
|
+
const isHovered = $derived(state.hovered === value);
|
|
34
|
+
|
|
35
|
+
function handleClick(e: MouseEvent) {
|
|
36
|
+
onclick?.(e);
|
|
37
|
+
state.select(value);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
function handleMouseEnter(e: MouseEvent) {
|
|
41
|
+
onmouseenter?.(e);
|
|
42
|
+
state.setHovered(value);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
function handleMouseLeave(e: MouseEvent) {
|
|
46
|
+
onmouseleave?.(e);
|
|
47
|
+
state.setHovered(null);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
function handleFocus(e: FocusEvent) {
|
|
51
|
+
onfocus?.(e);
|
|
52
|
+
state.setHovered(value);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
function handleBlur(e: FocusEvent) {
|
|
56
|
+
onblur?.(e);
|
|
57
|
+
state.setHovered(null);
|
|
58
|
+
}
|
|
26
59
|
</script>
|
|
27
60
|
|
|
28
61
|
<div class="relative h-full">
|
|
29
|
-
<
|
|
30
|
-
bind:ref
|
|
62
|
+
<button
|
|
63
|
+
bind:this={ref}
|
|
64
|
+
type="button"
|
|
65
|
+
role="tab"
|
|
31
66
|
data-slot="underline-tabs-trigger"
|
|
67
|
+
data-state={isActive ? "active" : "inactive"}
|
|
68
|
+
aria-selected={isActive}
|
|
69
|
+
tabindex={isActive ? 0 : -1}
|
|
32
70
|
class={cn(
|
|
33
71
|
"dark:data-[state=active]:text-foreground data-[state=active]:text-foreground text-muted-foreground relative z-2 inline-flex h-[calc(100%-3px)] flex-1 items-center justify-center gap-1.5 px-3 py-1 text-sm font-medium whitespace-nowrap transition-colors focus:outline-none disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
34
|
-
state.rootState.isHovered &&
|
|
35
|
-
state.rootState.hoveredTab === value &&
|
|
36
|
-
'data-[state=inactive]:text-foreground!',
|
|
37
72
|
className
|
|
38
73
|
)}
|
|
39
|
-
{
|
|
74
|
+
onclick={handleClick}
|
|
75
|
+
onmouseenter={handleMouseEnter}
|
|
76
|
+
onmouseleave={handleMouseLeave}
|
|
77
|
+
onfocus={handleFocus}
|
|
78
|
+
onblur={handleBlur}
|
|
40
79
|
{...restProps}
|
|
41
80
|
>
|
|
42
81
|
{@render children?.()}
|
|
43
|
-
</
|
|
44
|
-
{#if
|
|
82
|
+
</button>
|
|
83
|
+
{#if isHovered}
|
|
45
84
|
<div
|
|
46
|
-
class=
|
|
47
|
-
|
|
48
|
-
state.rootState.isHovered && 'opacity-100'
|
|
49
|
-
)}
|
|
50
|
-
in:receive={{ key: `${state.rootState.opts.id.current}-tab-hover`, duration: 300 }}
|
|
51
|
-
out:send={{ key: `${state.rootState.opts.id.current}-tab-hover`, duration: 300 }}
|
|
85
|
+
class="bg-accent absolute top-0 z-1 h-[calc(100%-3px)] w-full rounded-md opacity-100 transition-opacity duration-300"
|
|
86
|
+
aria-hidden="true"
|
|
52
87
|
></div>
|
|
53
88
|
{/if}
|
|
54
|
-
{#if
|
|
55
|
-
<div
|
|
56
|
-
class="bg-primary absolute -bottom-px z-1 h-0.5 w-full"
|
|
57
|
-
in:receive={{ key: `${state.rootState.opts.id.current}-tab-active-border`, duration: 200 }}
|
|
58
|
-
out:send={{ key: `${state.rootState.opts.id.current}-tab-active-border`, duration: 200 }}
|
|
59
|
-
></div>
|
|
89
|
+
{#if isActive}
|
|
90
|
+
<div class="bg-primary absolute -bottom-px z-1 h-0.5 w-full" aria-hidden="true"></div>
|
|
60
91
|
{/if}
|
|
61
|
-
</div>
|
|
92
|
+
</div>
|
|
@@ -1,4 +1,16 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import type { Snippet } from "svelte";
|
|
2
|
+
type $$ComponentProps = {
|
|
3
|
+
ref?: HTMLButtonElement | null;
|
|
4
|
+
value: string;
|
|
5
|
+
class?: string;
|
|
6
|
+
onclick?: (e: MouseEvent) => void;
|
|
7
|
+
onmouseenter?: (e: MouseEvent) => void;
|
|
8
|
+
onmouseleave?: (e: MouseEvent) => void;
|
|
9
|
+
onfocus?: (e: FocusEvent) => void;
|
|
10
|
+
onblur?: (e: FocusEvent) => void;
|
|
11
|
+
children?: Snippet;
|
|
12
|
+
[key: string]: unknown;
|
|
13
|
+
};
|
|
14
|
+
declare const UnderlineTabsTrigger: import("svelte").Component<$$ComponentProps, {}, "ref">;
|
|
3
15
|
type UnderlineTabsTrigger = ReturnType<typeof UnderlineTabsTrigger>;
|
|
4
16
|
export default UnderlineTabsTrigger;
|
|
@@ -1,33 +1,62 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
|
-
import {
|
|
3
|
-
import { cn } from
|
|
4
|
-
import { useUnderlineTabs } from
|
|
5
|
-
import { box } from 'svelte-toolbelt';
|
|
6
|
-
|
|
7
|
-
const uid = $props.id();
|
|
2
|
+
import type { Snippet } from "svelte";
|
|
3
|
+
import { cn } from "../../../utils.js";
|
|
4
|
+
import { useUnderlineTabs } from "./underline-tabs.svelte.js";
|
|
8
5
|
|
|
9
6
|
let {
|
|
10
7
|
ref = $bindable(null),
|
|
11
|
-
|
|
12
|
-
|
|
8
|
+
defaultValue = "",
|
|
9
|
+
value = $bindable(defaultValue),
|
|
10
|
+
onValueChange,
|
|
11
|
+
orientation = "horizontal",
|
|
12
|
+
id = "",
|
|
13
13
|
class: className,
|
|
14
|
+
children,
|
|
14
15
|
...restProps
|
|
15
|
-
}:
|
|
16
|
+
}: {
|
|
17
|
+
ref?: HTMLDivElement | null;
|
|
18
|
+
defaultValue?: string;
|
|
19
|
+
value?: string;
|
|
20
|
+
onValueChange?: (value: string) => void;
|
|
21
|
+
orientation?: "horizontal" | "vertical";
|
|
22
|
+
id?: string;
|
|
23
|
+
class?: string;
|
|
24
|
+
children?: Snippet;
|
|
25
|
+
[key: string]: unknown;
|
|
26
|
+
} = $props();
|
|
27
|
+
|
|
28
|
+
let hovered = $state<string | null>(null);
|
|
29
|
+
|
|
30
|
+
function select(next: string) {
|
|
31
|
+
value = next;
|
|
32
|
+
onValueChange?.(next);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
function setHovered(next: string | null) {
|
|
36
|
+
hovered = next;
|
|
37
|
+
}
|
|
16
38
|
|
|
17
39
|
useUnderlineTabs({
|
|
18
|
-
value
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
)
|
|
22
|
-
|
|
40
|
+
get value() {
|
|
41
|
+
return value;
|
|
42
|
+
},
|
|
43
|
+
get hovered() {
|
|
44
|
+
return hovered;
|
|
45
|
+
},
|
|
46
|
+
get orientation() {
|
|
47
|
+
return orientation;
|
|
48
|
+
},
|
|
49
|
+
select,
|
|
50
|
+
setHovered
|
|
23
51
|
});
|
|
24
52
|
</script>
|
|
25
53
|
|
|
26
|
-
<
|
|
27
|
-
bind:ref
|
|
28
|
-
bind:value
|
|
29
|
-
orientation="horizontal"
|
|
54
|
+
<div
|
|
55
|
+
bind:this={ref}
|
|
30
56
|
data-slot="underline-tabs"
|
|
31
|
-
|
|
57
|
+
data-orientation={orientation}
|
|
58
|
+
class={cn("flex flex-col gap-2", className)}
|
|
32
59
|
{...restProps}
|
|
33
|
-
|
|
60
|
+
>
|
|
61
|
+
{@render children?.()}
|
|
62
|
+
</div>
|
|
@@ -1,6 +1,14 @@
|
|
|
1
|
-
import {
|
|
2
|
-
type $$ComponentProps =
|
|
1
|
+
import type { Snippet } from "svelte";
|
|
2
|
+
type $$ComponentProps = {
|
|
3
|
+
ref?: HTMLDivElement | null;
|
|
4
|
+
defaultValue?: string;
|
|
5
|
+
value?: string;
|
|
6
|
+
onValueChange?: (value: string) => void;
|
|
7
|
+
orientation?: "horizontal" | "vertical";
|
|
3
8
|
id?: string;
|
|
9
|
+
class?: string;
|
|
10
|
+
children?: Snippet;
|
|
11
|
+
[key: string]: unknown;
|
|
4
12
|
};
|
|
5
13
|
declare const UnderlineTabs: import("svelte").Component<$$ComponentProps, {}, "ref" | "value">;
|
|
6
14
|
type UnderlineTabs = ReturnType<typeof UnderlineTabs>;
|
|
@@ -1,61 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
export
|
|
4
|
-
|
|
5
|
-
});
|
|
6
|
-
class UnderlineTabsRootState {
|
|
7
|
-
opts;
|
|
8
|
-
hoveredTab = $state(null);
|
|
9
|
-
isHovered = $state(false);
|
|
10
|
-
constructor(opts) {
|
|
11
|
-
this.opts = opts;
|
|
12
|
-
this.hoveredTab = this.opts.value.current;
|
|
13
|
-
}
|
|
1
|
+
import { getContext, setContext } from "svelte";
|
|
2
|
+
const UNDERLINE_TABS_CONTEXT_KEY = "scn-underline-tabs";
|
|
3
|
+
export function useUnderlineTabs(ctx) {
|
|
4
|
+
return setContext(UNDERLINE_TABS_CONTEXT_KEY, ctx);
|
|
14
5
|
}
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
rootState;
|
|
18
|
-
constructor(opts, rootState) {
|
|
19
|
-
this.opts = opts;
|
|
20
|
-
this.rootState = rootState;
|
|
21
|
-
}
|
|
22
|
-
handleFocus() {
|
|
23
|
-
this.rootState.isHovered = true;
|
|
24
|
-
this.rootState.hoveredTab = this.opts.value.current;
|
|
25
|
-
}
|
|
26
|
-
handleBlur() {
|
|
27
|
-
if (this.rootState.hoveredTab === this.opts.value.current) {
|
|
28
|
-
this.rootState.isHovered = false;
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
onmouseenter(e) {
|
|
32
|
-
this.handleFocus();
|
|
33
|
-
this.opts.onmouseenter.current?.(e);
|
|
34
|
-
}
|
|
35
|
-
onmouseleave(e) {
|
|
36
|
-
this.handleBlur();
|
|
37
|
-
this.opts.onmouseleave.current?.(e);
|
|
38
|
-
}
|
|
39
|
-
onfocus(e) {
|
|
40
|
-
this.handleFocus();
|
|
41
|
-
this.opts.onfocus.current?.(e);
|
|
42
|
-
}
|
|
43
|
-
onblur(e) {
|
|
44
|
-
this.handleBlur();
|
|
45
|
-
this.opts.onblur.current?.(e);
|
|
46
|
-
}
|
|
47
|
-
props = $derived.by(() => ({
|
|
48
|
-
value: this.opts.value.current,
|
|
49
|
-
onmouseenter: this.onmouseenter.bind(this),
|
|
50
|
-
onmouseleave: this.onmouseleave.bind(this),
|
|
51
|
-
onfocus: this.onfocus.bind(this),
|
|
52
|
-
onblur: this.onblur.bind(this)
|
|
53
|
-
}));
|
|
54
|
-
}
|
|
55
|
-
const ctx = new Context('underline-tabs-root-ctx');
|
|
56
|
-
export function useUnderlineTabs(opts) {
|
|
57
|
-
return ctx.set(new UnderlineTabsRootState(opts));
|
|
58
|
-
}
|
|
59
|
-
export function useUnderlineTabsTrigger(opts) {
|
|
60
|
-
return new UnderlineTabsTriggerState(opts, ctx.get());
|
|
6
|
+
export function useUnderlineTabsTrigger() {
|
|
7
|
+
return getContext(UNDERLINE_TABS_CONTEXT_KEY);
|
|
61
8
|
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import type { DocProp } from "./components";
|
|
3
|
+
import { CheckmarkCircle01Icon } from "@hugeicons/core-free-icons";
|
|
4
|
+
import { HugeiconsIcon } from "@hugeicons/svelte";
|
|
5
|
+
|
|
6
|
+
let { props }: { props: DocProp[] } = $props();
|
|
7
|
+
</script>
|
|
8
|
+
|
|
9
|
+
<div class="overflow-x-auto">
|
|
10
|
+
<table class="min-w-full text-sm">
|
|
11
|
+
<thead>
|
|
12
|
+
<tr class="border-b border-border text-left">
|
|
13
|
+
<th class="px-3 py-2 font-semibold">Prop</th>
|
|
14
|
+
<th class="px-3 py-2 font-semibold">Type</th>
|
|
15
|
+
<th class="px-3 py-2 font-semibold">Default</th>
|
|
16
|
+
<th class="px-3 py-2 font-semibold">Description</th>
|
|
17
|
+
</tr>
|
|
18
|
+
</thead>
|
|
19
|
+
<tbody>
|
|
20
|
+
{#each props as prop (prop.name)}
|
|
21
|
+
<tr class="border-b border-border/60 align-top">
|
|
22
|
+
<td class="px-3 py-2 font-mono text-xs font-medium text-primary">
|
|
23
|
+
{prop.name}
|
|
24
|
+
{#if prop.required}
|
|
25
|
+
<HugeiconsIcon icon={CheckmarkCircle01Icon} class="inline size-3 text-destructive" />
|
|
26
|
+
{/if}
|
|
27
|
+
</td>
|
|
28
|
+
<td class="px-3 py-2 font-mono text-xs text-muted-foreground">{prop.type}</td>
|
|
29
|
+
<td class="px-3 py-2 font-mono text-xs text-muted-foreground">
|
|
30
|
+
{prop.default ?? "—"}
|
|
31
|
+
</td>
|
|
32
|
+
<td class="px-3 py-2 text-xs text-muted-foreground">
|
|
33
|
+
{prop.description}
|
|
34
|
+
{#if prop.required}
|
|
35
|
+
<span class="font-medium text-destructive"> (required)</span>
|
|
36
|
+
{/if}
|
|
37
|
+
</td>
|
|
38
|
+
</tr>
|
|
39
|
+
{/each}
|
|
40
|
+
</tbody>
|
|
41
|
+
</table>
|
|
42
|
+
</div>
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { Copy01Icon } from "@hugeicons/core-free-icons";
|
|
3
|
+
import { HugeiconsIcon } from "@hugeicons/svelte";
|
|
4
|
+
import type { DocProp } from "./components";
|
|
5
|
+
|
|
6
|
+
let { code, title = "Example" }: { code: string; title?: string } = $props();
|
|
7
|
+
|
|
8
|
+
function copy() {
|
|
9
|
+
navigator.clipboard?.writeText(code);
|
|
10
|
+
}
|
|
11
|
+
</script>
|
|
12
|
+
|
|
13
|
+
<div class="overflow-hidden rounded-lg border border-border">
|
|
14
|
+
<div class="flex items-center justify-between border-b border-border bg-muted/60 px-4 py-2">
|
|
15
|
+
<span class="text-xs font-medium text-muted-foreground">{title}</span>
|
|
16
|
+
<button
|
|
17
|
+
type="button"
|
|
18
|
+
onclick={copy}
|
|
19
|
+
class="inline-flex items-center gap-1.5 rounded-md px-2 py-1 text-xs text-muted-foreground transition hover:bg-muted hover:text-foreground"
|
|
20
|
+
>
|
|
21
|
+
<HugeiconsIcon icon={Copy01Icon} class="size-3.5" />
|
|
22
|
+
Copy
|
|
23
|
+
</button>
|
|
24
|
+
</div>
|
|
25
|
+
<pre class="overflow-x-auto p-4 text-xs leading-relaxed"><code>{code}</code></pre>
|
|
26
|
+
</div>
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { SidebarTrigger, useSidebar } from "../components/ui/sidebar";
|
|
3
|
+
import { Separator } from "../components/ui/separator";
|
|
4
|
+
import { LanguageSwitcher } from "../components/ui/language-switcher";
|
|
5
|
+
import { LightSwitch } from "../components/ui/light-switch";
|
|
6
|
+
|
|
7
|
+
let { title = "Components" }: { title?: string } = $props();
|
|
8
|
+
</script>
|
|
9
|
+
|
|
10
|
+
<header class="sticky top-0 z-30 flex h-14 shrink-0 items-center gap-2 border-b border-border bg-background/95 px-4 backdrop-blur">
|
|
11
|
+
<SidebarTrigger class="-ms-1" />
|
|
12
|
+
<Separator orientation="vertical" class="mr-2 h-4" />
|
|
13
|
+
<nav class="hidden items-center gap-1 text-sm md:flex">
|
|
14
|
+
<a href="/docs" class="font-medium text-foreground">Docs</a>
|
|
15
|
+
<span class="text-muted-foreground">/</span>
|
|
16
|
+
<span class="font-medium text-foreground">{title}</span>
|
|
17
|
+
</nav>
|
|
18
|
+
<div class="ms-auto flex items-center gap-2">
|
|
19
|
+
<a href="/" class="rounded-md px-2 py-1 text-sm text-muted-foreground transition hover:bg-muted hover:text-foreground">
|
|
20
|
+
Demos
|
|
21
|
+
</a>
|
|
22
|
+
<LightSwitch />
|
|
23
|
+
<LanguageSwitcher />
|
|
24
|
+
</div>
|
|
25
|
+
</header>
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import {
|
|
3
|
+
Sidebar,
|
|
4
|
+
SidebarContent,
|
|
5
|
+
SidebarFooter,
|
|
6
|
+
SidebarGroup,
|
|
7
|
+
SidebarGroupContent,
|
|
8
|
+
SidebarGroupLabel,
|
|
9
|
+
SidebarHeader,
|
|
10
|
+
SidebarMenu,
|
|
11
|
+
SidebarMenuButton,
|
|
12
|
+
SidebarMenuItem,
|
|
13
|
+
} from "../components/ui/sidebar";
|
|
14
|
+
import { DocumentCodeIcon } from "@hugeicons/core-free-icons";
|
|
15
|
+
import { HugeiconsIcon } from "@hugeicons/svelte";
|
|
16
|
+
import { page } from "$app/state";
|
|
17
|
+
import { categories, components } from "./components";
|
|
18
|
+
|
|
19
|
+
function componentList(category: string) {
|
|
20
|
+
return components.filter((c) => c.category === category);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
const path = $derived(page.url.pathname);
|
|
24
|
+
</script>
|
|
25
|
+
|
|
26
|
+
<Sidebar collapsible="icon">
|
|
27
|
+
<SidebarHeader>
|
|
28
|
+
<SidebarMenu>
|
|
29
|
+
<SidebarMenuItem>
|
|
30
|
+
<a href="/docs" class="flex items-center gap-2 px-3 py-1">
|
|
31
|
+
<span class="flex size-7 items-center justify-center rounded-lg bg-primary text-primary-foreground">
|
|
32
|
+
<HugeiconsIcon icon={DocumentCodeIcon} class="size-4" />
|
|
33
|
+
</span>
|
|
34
|
+
<span class="text-sm font-semibold">NegoDesign</span>
|
|
35
|
+
</a>
|
|
36
|
+
</SidebarMenuItem>
|
|
37
|
+
</SidebarMenu>
|
|
38
|
+
</SidebarHeader>
|
|
39
|
+
|
|
40
|
+
<SidebarContent>
|
|
41
|
+
<SidebarGroup>
|
|
42
|
+
<SidebarGroupContent>
|
|
43
|
+
<SidebarMenu>
|
|
44
|
+
<SidebarMenuItem>
|
|
45
|
+
<SidebarMenuButton isActive={path === "/docs"}>
|
|
46
|
+
{#snippet child({ props })}
|
|
47
|
+
<a href="/docs" {...props}><span>Getting Started</span></a>
|
|
48
|
+
{/snippet}
|
|
49
|
+
</SidebarMenuButton>
|
|
50
|
+
</SidebarMenuItem>
|
|
51
|
+
<SidebarMenuItem>
|
|
52
|
+
<SidebarMenuButton isActive={path === "/docs/installation"}>
|
|
53
|
+
{#snippet child({ props })}
|
|
54
|
+
<a href="/docs/installation" {...props}><span>Installation</span></a>
|
|
55
|
+
{/snippet}
|
|
56
|
+
</SidebarMenuButton>
|
|
57
|
+
</SidebarMenuItem>
|
|
58
|
+
<SidebarMenuItem>
|
|
59
|
+
<SidebarMenuButton isActive={path === "/docs/components"}>
|
|
60
|
+
{#snippet child({ props })}
|
|
61
|
+
<a href="/docs/components" {...props}><span>Components</span></a>
|
|
62
|
+
{/snippet}
|
|
63
|
+
</SidebarMenuButton>
|
|
64
|
+
</SidebarMenuItem>
|
|
65
|
+
</SidebarMenu>
|
|
66
|
+
</SidebarGroupContent>
|
|
67
|
+
</SidebarGroup>
|
|
68
|
+
|
|
69
|
+
{#each categories as category (category)}
|
|
70
|
+
{@const list = componentList(category)}
|
|
71
|
+
{#if list.length > 0}
|
|
72
|
+
<SidebarGroup>
|
|
73
|
+
<SidebarGroupLabel class="uppercase tracking-wider text-muted-foreground/70">
|
|
74
|
+
{category}
|
|
75
|
+
</SidebarGroupLabel>
|
|
76
|
+
<SidebarGroupContent>
|
|
77
|
+
<SidebarMenu>
|
|
78
|
+
{#each list as comp (comp.slug)}
|
|
79
|
+
<SidebarMenuItem>
|
|
80
|
+
<SidebarMenuButton isActive={path === `/docs/${comp.slug}`}>
|
|
81
|
+
{#snippet child({ props })}
|
|
82
|
+
<a href={`/docs/${comp.slug}`} {...props}><span>{comp.name}</span></a>
|
|
83
|
+
{/snippet}
|
|
84
|
+
</SidebarMenuButton>
|
|
85
|
+
</SidebarMenuItem>
|
|
86
|
+
{/each}
|
|
87
|
+
</SidebarMenu>
|
|
88
|
+
</SidebarGroupContent>
|
|
89
|
+
</SidebarGroup>
|
|
90
|
+
{/if}
|
|
91
|
+
{/each}
|
|
92
|
+
</SidebarContent>
|
|
93
|
+
|
|
94
|
+
<SidebarFooter>
|
|
95
|
+
<div class="border-t border-border px-4 py-3 text-xs text-muted-foreground">
|
|
96
|
+
Licensed under MIT
|
|
97
|
+
</div>
|
|
98
|
+
</SidebarFooter>
|
|
99
|
+
</Sidebar>
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export interface DocProp {
|
|
2
|
+
name: string;
|
|
3
|
+
type: string;
|
|
4
|
+
description: string;
|
|
5
|
+
default?: string;
|
|
6
|
+
required?: boolean;
|
|
7
|
+
}
|
|
8
|
+
export interface DocExample {
|
|
9
|
+
title: string;
|
|
10
|
+
description?: string;
|
|
11
|
+
code: string;
|
|
12
|
+
href?: string;
|
|
13
|
+
}
|
|
14
|
+
export interface DocComponent {
|
|
15
|
+
slug: string;
|
|
16
|
+
name: string;
|
|
17
|
+
category: string;
|
|
18
|
+
description: string;
|
|
19
|
+
path: string;
|
|
20
|
+
importPath: string;
|
|
21
|
+
examples: DocExample[];
|
|
22
|
+
props: DocProp[];
|
|
23
|
+
}
|
|
24
|
+
export declare const categories: readonly ["Navigation", "Hero", "Banners", "Cards", "Carousels", "Item Grid", "Footer", "Admin Panel", "Login / Security", "Full Pages"];
|
|
25
|
+
export declare const components: DocComponent[];
|
|
26
|
+
export declare function getComponent(slug: string): DocComponent | undefined;
|
|
27
|
+
export declare function getComponentsByCategory(category: string): DocComponent[];
|