negodesign 0.0.1
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 +42 -0
- package/dist/assets/favicon.svg +1 -0
- package/dist/components/button.svelte +83 -0
- package/dist/components/button.svelte.d.ts +32 -0
- package/dist/components/core/breadcrumb/breadcrumb-list.svelte +32 -0
- package/dist/components/core/breadcrumb/breadcrumb-list.svelte.d.ts +9 -0
- package/dist/components/core/button/ButtonBack.svelte +18 -0
- package/dist/components/core/button/ButtonBack.svelte.d.ts +4 -0
- package/dist/components/core/button/ButtonLogin.svelte +15 -0
- package/dist/components/core/button/ButtonLogin.svelte.d.ts +4 -0
- package/dist/components/core/button/ButtonLoginWith.svelte +57 -0
- package/dist/components/core/button/ButtonLoginWith.svelte.d.ts +12 -0
- package/dist/components/core/carousel/data/CarouselModel.d.ts +10 -0
- package/dist/components/core/carousel/data/CarouselModel.js +1 -0
- package/dist/components/core/datatable/data/columns-create.d.ts +3 -0
- package/dist/components/core/datatable/data/columns-create.js +35 -0
- package/dist/components/core/datatable/data/data-table.d.ts +19 -0
- package/dist/components/core/datatable/data/data-table.js +1 -0
- package/dist/components/core/datatable/data/resolve-cell-badge.svelte.d.ts +8 -0
- package/dist/components/core/datatable/data/resolve-cell-badge.svelte.js +32 -0
- package/dist/components/core/datatable/data/resolve-cell.svelte.d.ts +2 -0
- package/dist/components/core/datatable/data/resolve-cell.svelte.js +19 -0
- package/dist/components/core/datatable/data/resolve-header.svelte.d.ts +2 -0
- package/dist/components/core/datatable/data/resolve-header.svelte.js +17 -0
- package/dist/components/core/datatable/ui/DataTableActions.svelte +28 -0
- package/dist/components/core/datatable/ui/DataTableActions.svelte.d.ts +25 -0
- package/dist/components/core/datatable/ui/DataTableCheckbox.svelte +22 -0
- package/dist/components/core/datatable/ui/DataTableCheckbox.svelte.d.ts +9 -0
- package/dist/components/core/datatable/ui/DataTableContent.svelte +59 -0
- package/dist/components/core/datatable/ui/DataTableContent.svelte.d.ts +28 -0
- package/dist/components/core/datatable/ui/DataTableCore.svelte +144 -0
- package/dist/components/core/datatable/ui/DataTableCore.svelte.d.ts +25 -0
- package/dist/components/core/datatable/ui/DataTableDragHandle.svelte +8 -0
- package/dist/components/core/datatable/ui/DataTableDragHandle.svelte.d.ts +18 -0
- package/dist/components/core/datatable/ui/DataTableListFilter.svelte +59 -0
- package/dist/components/core/datatable/ui/DataTableListFilter.svelte.d.ts +28 -0
- package/dist/components/core/datatable/ui/DataTableListPagination.svelte +35 -0
- package/dist/components/core/datatable/ui/DataTableListPagination.svelte.d.ts +27 -0
- package/dist/components/core/datatable/ui/columns-create.svelte.d.ts +3 -0
- package/dist/components/core/datatable/ui/columns-create.svelte.js +33 -0
- package/dist/components/core/form/data/InputIconDefault.svelte.d.ts +3 -0
- package/dist/components/core/form/data/InputIconDefault.svelte.js +9 -0
- package/dist/components/core/form/data/InputLabel.svelte.d.ts +8 -0
- package/dist/components/core/form/data/InputLabel.svelte.js +1 -0
- package/dist/components/core/form/ui/input-base.svelte +81 -0
- package/dist/components/core/form/ui/input-base.svelte.d.ts +4 -0
- package/dist/components/core/form/ui/input-email.svelte +22 -0
- package/dist/components/core/form/ui/input-email.svelte.d.ts +4 -0
- package/dist/components/core/form/ui/input-password-confirm.svelte +22 -0
- package/dist/components/core/form/ui/input-password-confirm.svelte.d.ts +4 -0
- package/dist/components/core/form/ui/input-password.svelte +22 -0
- package/dist/components/core/form/ui/input-password.svelte.d.ts +4 -0
- package/dist/components/core/form/ui/input-username.svelte +21 -0
- package/dist/components/core/form/ui/input-username.svelte.d.ts +4 -0
- package/dist/components/core/label/LabelOr.svelte +25 -0
- package/dist/components/core/label/LabelOr.svelte.d.ts +6 -0
- package/dist/components/core/link/link-forget-password.svelte +12 -0
- package/dist/components/core/link/link-forget-password.svelte.d.ts +4 -0
- package/dist/components/core/link/link-privacy-polity.svelte +12 -0
- package/dist/components/core/link/link-privacy-polity.svelte.d.ts +4 -0
- package/dist/components/core/link/link-terms-of-service.svelte +12 -0
- package/dist/components/core/link/link-terms-of-service.svelte.d.ts +4 -0
- package/dist/components/core/nav/data/nav-menu-sidebar.d.ts +21 -0
- package/dist/components/core/nav/data/nav-menu-sidebar.js +1 -0
- package/dist/components/core/nav/data/nav-top-bar-sidebar.d.ts +22 -0
- package/dist/components/core/nav/data/nav-top-bar-sidebar.js +1 -0
- package/dist/components/core/nav/data/nav-user-sidebar.d.ts +14 -0
- package/dist/components/core/nav/data/nav-user-sidebar.js +1 -0
- package/dist/components/core/nav/ui/nav-menu-bar.svelte +97 -0
- package/dist/components/core/nav/ui/nav-menu-bar.svelte.d.ts +7 -0
- package/dist/components/core/nav/ui/nav-menu-bottom-bar.svelte +33 -0
- package/dist/components/core/nav/ui/nav-menu-bottom-bar.svelte.d.ts +10 -0
- package/dist/components/core/nav/ui/nav-menu-header.svelte +78 -0
- package/dist/components/core/nav/ui/nav-menu-header.svelte.d.ts +10 -0
- package/dist/components/core/nav/ui/nav-menu-top-bar.svelte +103 -0
- package/dist/components/core/nav/ui/nav-menu-top-bar.svelte.d.ts +4 -0
- package/dist/components/core/nav/ui/nav-user-sidebar.svelte +94 -0
- package/dist/components/core/nav/ui/nav-user-sidebar.svelte.d.ts +7 -0
- package/dist/components/core/sidebar/menu-bar-sidebar.svelte +62 -0
- package/dist/components/core/sidebar/menu-bar-sidebar.svelte.d.ts +16 -0
- package/dist/components/core/tabs/data/TabModel.d.ts +9 -0
- package/dist/components/core/tabs/data/TabModel.js +1 -0
- package/dist/components/core/tabs/ui/tab-underline.svelte +41 -0
- package/dist/components/core/tabs/ui/tab-underline.svelte.d.ts +8 -0
- package/dist/components/pages/admin/ui/admin-content.svelte +13 -0
- package/dist/components/pages/admin/ui/admin-content.svelte.d.ts +7 -0
- package/dist/components/pages/admin/ui/admin-panel.svelte +40 -0
- package/dist/components/pages/admin/ui/admin-panel.svelte.d.ts +9 -0
- package/dist/components/pages/login/admin/01/ui/AuthCard.svelte +58 -0
- package/dist/components/pages/login/admin/01/ui/AuthCard.svelte.d.ts +18 -0
- package/dist/components/pages/login/admin/01/ui/FormLogin.svelte +31 -0
- package/dist/components/pages/login/admin/01/ui/FormLogin.svelte.d.ts +3 -0
- package/dist/components/pages/login/admin/01/ui/FormRegister.svelte +28 -0
- package/dist/components/pages/login/admin/01/ui/FormRegister.svelte.d.ts +3 -0
- package/dist/components/pages/login/admin/01/ui/LeftHero.svelte +105 -0
- package/dist/components/pages/login/admin/01/ui/LeftHero.svelte.d.ts +11 -0
- package/dist/components/pages/login/admin/01/ui/PageLogin.svelte +49 -0
- package/dist/components/pages/login/admin/01/ui/PageLogin.svelte.d.ts +18 -0
- package/dist/components/pages/login/admin/index.d.ts +0 -0
- package/dist/components/pages/login/admin/index.js +1 -0
- package/dist/components/pages/login/index.d.ts +0 -0
- package/dist/components/pages/login/index.js +1 -0
- package/dist/components/ui/avatar/avatar-badge.svelte +26 -0
- package/dist/components/ui/avatar/avatar-badge.svelte.d.ts +5 -0
- package/dist/components/ui/avatar/avatar-fallback.svelte +20 -0
- package/dist/components/ui/avatar/avatar-fallback.svelte.d.ts +4 -0
- package/dist/components/ui/avatar/avatar-group-count.svelte +23 -0
- package/dist/components/ui/avatar/avatar-group-count.svelte.d.ts +5 -0
- package/dist/components/ui/avatar/avatar-group.svelte +23 -0
- package/dist/components/ui/avatar/avatar-group.svelte.d.ts +5 -0
- package/dist/components/ui/avatar/avatar-image.svelte +17 -0
- package/dist/components/ui/avatar/avatar-image.svelte.d.ts +4 -0
- package/dist/components/ui/avatar/avatar.svelte +26 -0
- package/dist/components/ui/avatar/avatar.svelte.d.ts +7 -0
- package/dist/components/ui/avatar/index.d.ts +7 -0
- package/dist/components/ui/avatar/index.js +9 -0
- package/dist/components/ui/badge/badge.svelte +49 -0
- package/dist/components/ui/badge/badge.svelte.d.ts +38 -0
- package/dist/components/ui/badge/index.d.ts +2 -0
- package/dist/components/ui/badge/index.js +2 -0
- package/dist/components/ui/breadcrumb/breadcrumb-ellipsis.svelte +24 -0
- package/dist/components/ui/breadcrumb/breadcrumb-ellipsis.svelte.d.ts +5 -0
- package/dist/components/ui/breadcrumb/breadcrumb-item.svelte +20 -0
- package/dist/components/ui/breadcrumb/breadcrumb-item.svelte.d.ts +5 -0
- package/dist/components/ui/breadcrumb/breadcrumb-link.svelte +31 -0
- package/dist/components/ui/breadcrumb/breadcrumb-link.svelte.d.ts +11 -0
- package/dist/components/ui/breadcrumb/breadcrumb-list.svelte +20 -0
- package/dist/components/ui/breadcrumb/breadcrumb-list.svelte.d.ts +5 -0
- package/dist/components/ui/breadcrumb/breadcrumb-page.svelte +23 -0
- package/dist/components/ui/breadcrumb/breadcrumb-page.svelte.d.ts +5 -0
- package/dist/components/ui/breadcrumb/breadcrumb-separator.svelte +28 -0
- package/dist/components/ui/breadcrumb/breadcrumb-separator.svelte.d.ts +5 -0
- package/dist/components/ui/breadcrumb/breadcrumb.svelte +22 -0
- package/dist/components/ui/breadcrumb/breadcrumb.svelte.d.ts +5 -0
- package/dist/components/ui/breadcrumb/index.d.ts +8 -0
- package/dist/components/ui/breadcrumb/index.js +10 -0
- package/dist/components/ui/button/button.svelte +82 -0
- package/dist/components/ui/button/button.svelte.d.ts +70 -0
- package/dist/components/ui/button/index.d.ts +2 -0
- package/dist/components/ui/button/index.js +4 -0
- package/dist/components/ui/chart/chart-container.svelte +80 -0
- package/dist/components/ui/chart/chart-container.svelte.d.ts +9 -0
- package/dist/components/ui/chart/chart-style.svelte +37 -0
- package/dist/components/ui/chart/chart-style.svelte.d.ts +8 -0
- package/dist/components/ui/chart/chart-tooltip.svelte +184 -0
- package/dist/components/ui/chart/chart-tooltip.svelte.d.ts +27 -0
- package/dist/components/ui/chart/chart-utils.d.ts +36 -0
- package/dist/components/ui/chart/chart-utils.js +38 -0
- package/dist/components/ui/chart/index.d.ts +4 -0
- package/dist/components/ui/chart/index.js +4 -0
- package/dist/components/ui/checkbox/checkbox.svelte +40 -0
- package/dist/components/ui/checkbox/checkbox.svelte.d.ts +4 -0
- package/dist/components/ui/checkbox/index.d.ts +2 -0
- package/dist/components/ui/checkbox/index.js +4 -0
- package/dist/components/ui/collapsible/collapsible-content.svelte +7 -0
- package/dist/components/ui/collapsible/collapsible-content.svelte.d.ts +4 -0
- package/dist/components/ui/collapsible/collapsible-trigger.svelte +7 -0
- package/dist/components/ui/collapsible/collapsible-trigger.svelte.d.ts +4 -0
- package/dist/components/ui/collapsible/collapsible.svelte +11 -0
- package/dist/components/ui/collapsible/collapsible.svelte.d.ts +4 -0
- package/dist/components/ui/collapsible/index.d.ts +4 -0
- package/dist/components/ui/collapsible/index.js +6 -0
- package/dist/components/ui/data-table/data-table.svelte.d.ts +40 -0
- package/dist/components/ui/data-table/data-table.svelte.js +110 -0
- package/dist/components/ui/data-table/flex-render.svelte +40 -0
- package/dist/components/ui/data-table/flex-render.svelte.d.ts +33 -0
- package/dist/components/ui/data-table/index.d.ts +3 -0
- package/dist/components/ui/data-table/index.js +3 -0
- package/dist/components/ui/data-table/render-helpers.d.ts +90 -0
- package/dist/components/ui/data-table/render-helpers.js +99 -0
- package/dist/components/ui/drawer/drawer-close.svelte +7 -0
- package/dist/components/ui/drawer/drawer-close.svelte.d.ts +4 -0
- package/dist/components/ui/drawer/drawer-content.svelte +33 -0
- package/dist/components/ui/drawer/drawer-content.svelte.d.ts +10 -0
- package/dist/components/ui/drawer/drawer-description.svelte +17 -0
- package/dist/components/ui/drawer/drawer-description.svelte.d.ts +4 -0
- package/dist/components/ui/drawer/drawer-footer.svelte +20 -0
- package/dist/components/ui/drawer/drawer-footer.svelte.d.ts +5 -0
- package/dist/components/ui/drawer/drawer-header.svelte +20 -0
- package/dist/components/ui/drawer/drawer-header.svelte.d.ts +5 -0
- package/dist/components/ui/drawer/drawer-nested.svelte +12 -0
- package/dist/components/ui/drawer/drawer-nested.svelte.d.ts +3 -0
- package/dist/components/ui/drawer/drawer-overlay.svelte +17 -0
- package/dist/components/ui/drawer/drawer-overlay.svelte.d.ts +4 -0
- package/dist/components/ui/drawer/drawer-portal.svelte +7 -0
- package/dist/components/ui/drawer/drawer-portal.svelte.d.ts +3 -0
- package/dist/components/ui/drawer/drawer-title.svelte +17 -0
- package/dist/components/ui/drawer/drawer-title.svelte.d.ts +4 -0
- package/dist/components/ui/drawer/drawer-trigger.svelte +7 -0
- package/dist/components/ui/drawer/drawer-trigger.svelte.d.ts +4 -0
- package/dist/components/ui/drawer/drawer.svelte +12 -0
- package/dist/components/ui/drawer/drawer.svelte.d.ts +3 -0
- package/dist/components/ui/drawer/index.d.ts +12 -0
- package/dist/components/ui/drawer/index.js +14 -0
- package/dist/components/ui/dropdown-menu/dropdown-menu-checkbox-group.svelte +16 -0
- package/dist/components/ui/dropdown-menu/dropdown-menu-checkbox-group.svelte.d.ts +4 -0
- package/dist/components/ui/dropdown-menu/dropdown-menu-checkbox-item.svelte +45 -0
- package/dist/components/ui/dropdown-menu/dropdown-menu-checkbox-item.svelte.d.ts +9 -0
- package/dist/components/ui/dropdown-menu/dropdown-menu-content.svelte +31 -0
- package/dist/components/ui/dropdown-menu/dropdown-menu-content.svelte.d.ts +10 -0
- package/dist/components/ui/dropdown-menu/dropdown-menu-group-heading.svelte +22 -0
- package/dist/components/ui/dropdown-menu/dropdown-menu-group-heading.svelte.d.ts +8 -0
- package/dist/components/ui/dropdown-menu/dropdown-menu-group.svelte +7 -0
- package/dist/components/ui/dropdown-menu/dropdown-menu-group.svelte.d.ts +4 -0
- package/dist/components/ui/dropdown-menu/dropdown-menu-item.svelte +27 -0
- package/dist/components/ui/dropdown-menu/dropdown-menu-item.svelte.d.ts +8 -0
- package/dist/components/ui/dropdown-menu/dropdown-menu-label.svelte +24 -0
- package/dist/components/ui/dropdown-menu/dropdown-menu-label.svelte.d.ts +8 -0
- package/dist/components/ui/dropdown-menu/dropdown-menu-portal.svelte +7 -0
- package/dist/components/ui/dropdown-menu/dropdown-menu-portal.svelte.d.ts +3 -0
- package/dist/components/ui/dropdown-menu/dropdown-menu-radio-group.svelte +16 -0
- package/dist/components/ui/dropdown-menu/dropdown-menu-radio-group.svelte.d.ts +4 -0
- package/dist/components/ui/dropdown-menu/dropdown-menu-radio-item.svelte +35 -0
- package/dist/components/ui/dropdown-menu/dropdown-menu-radio-item.svelte.d.ts +4 -0
- package/dist/components/ui/dropdown-menu/dropdown-menu-separator.svelte +17 -0
- package/dist/components/ui/dropdown-menu/dropdown-menu-separator.svelte.d.ts +4 -0
- package/dist/components/ui/dropdown-menu/dropdown-menu-shortcut.svelte +20 -0
- package/dist/components/ui/dropdown-menu/dropdown-menu-shortcut.svelte.d.ts +5 -0
- package/dist/components/ui/dropdown-menu/dropdown-menu-sub-content.svelte +17 -0
- package/dist/components/ui/dropdown-menu/dropdown-menu-sub-content.svelte.d.ts +4 -0
- package/dist/components/ui/dropdown-menu/dropdown-menu-sub-trigger.svelte +30 -0
- package/dist/components/ui/dropdown-menu/dropdown-menu-sub-trigger.svelte.d.ts +7 -0
- package/dist/components/ui/dropdown-menu/dropdown-menu-sub.svelte +7 -0
- package/dist/components/ui/dropdown-menu/dropdown-menu-sub.svelte.d.ts +3 -0
- package/dist/components/ui/dropdown-menu/dropdown-menu-trigger.svelte +7 -0
- package/dist/components/ui/dropdown-menu/dropdown-menu-trigger.svelte.d.ts +4 -0
- package/dist/components/ui/dropdown-menu/dropdown-menu.svelte +7 -0
- package/dist/components/ui/dropdown-menu/dropdown-menu.svelte.d.ts +3 -0
- package/dist/components/ui/dropdown-menu/index.d.ts +18 -0
- package/dist/components/ui/dropdown-menu/index.js +18 -0
- package/dist/components/ui/input/index.d.ts +2 -0
- package/dist/components/ui/input/index.js +4 -0
- package/dist/components/ui/input/input.svelte +48 -0
- package/dist/components/ui/input/input.svelte.d.ts +13 -0
- package/dist/components/ui/label/index.d.ts +2 -0
- package/dist/components/ui/label/index.js +4 -0
- package/dist/components/ui/label/label.svelte +20 -0
- package/dist/components/ui/label/label.svelte.d.ts +4 -0
- package/dist/components/ui/language-switcher/index.d.ts +3 -0
- package/dist/components/ui/language-switcher/index.js +2 -0
- package/dist/components/ui/language-switcher/language-switcher.svelte +48 -0
- package/dist/components/ui/language-switcher/language-switcher.svelte.d.ts +10 -0
- package/dist/components/ui/light-switch/index.d.ts +2 -0
- package/dist/components/ui/light-switch/index.js +2 -0
- package/dist/components/ui/light-switch/light-switch.svelte +32 -0
- package/dist/components/ui/light-switch/light-switch.svelte.d.ts +8 -0
- package/dist/components/ui/select/index.d.ts +12 -0
- package/dist/components/ui/select/index.js +14 -0
- package/dist/components/ui/select/select-content.svelte +45 -0
- package/dist/components/ui/select/select-content.svelte.d.ts +11 -0
- package/dist/components/ui/select/select-group-heading.svelte +21 -0
- package/dist/components/ui/select/select-group-heading.svelte.d.ts +10 -0
- package/dist/components/ui/select/select-group.svelte +17 -0
- package/dist/components/ui/select/select-group.svelte.d.ts +4 -0
- package/dist/components/ui/select/select-item.svelte +41 -0
- package/dist/components/ui/select/select-item.svelte.d.ts +4 -0
- package/dist/components/ui/select/select-label.svelte +20 -0
- package/dist/components/ui/select/select-label.svelte.d.ts +6 -0
- package/dist/components/ui/select/select-portal.svelte +7 -0
- package/dist/components/ui/select/select-portal.svelte.d.ts +3 -0
- package/dist/components/ui/select/select-scroll-down-button.svelte +21 -0
- package/dist/components/ui/select/select-scroll-down-button.svelte.d.ts +4 -0
- package/dist/components/ui/select/select-scroll-up-button.svelte +21 -0
- package/dist/components/ui/select/select-scroll-up-button.svelte.d.ts +4 -0
- package/dist/components/ui/select/select-separator.svelte +18 -0
- package/dist/components/ui/select/select-separator.svelte.d.ts +4 -0
- package/dist/components/ui/select/select-trigger.svelte +30 -0
- package/dist/components/ui/select/select-trigger.svelte.d.ts +8 -0
- package/dist/components/ui/select/select.svelte +11 -0
- package/dist/components/ui/select/select.svelte.d.ts +3 -0
- package/dist/components/ui/separator/index.d.ts +2 -0
- package/dist/components/ui/separator/index.js +4 -0
- package/dist/components/ui/separator/separator.svelte +23 -0
- package/dist/components/ui/separator/separator.svelte.d.ts +4 -0
- package/dist/components/ui/sheet/index.d.ts +11 -0
- package/dist/components/ui/sheet/index.js +13 -0
- package/dist/components/ui/sheet/sheet-close.svelte +7 -0
- package/dist/components/ui/sheet/sheet-close.svelte.d.ts +4 -0
- package/dist/components/ui/sheet/sheet-content.svelte +56 -0
- package/dist/components/ui/sheet/sheet-content.svelte.d.ts +15 -0
- package/dist/components/ui/sheet/sheet-description.svelte +17 -0
- package/dist/components/ui/sheet/sheet-description.svelte.d.ts +4 -0
- package/dist/components/ui/sheet/sheet-footer.svelte +20 -0
- package/dist/components/ui/sheet/sheet-footer.svelte.d.ts +5 -0
- package/dist/components/ui/sheet/sheet-header.svelte +20 -0
- package/dist/components/ui/sheet/sheet-header.svelte.d.ts +5 -0
- package/dist/components/ui/sheet/sheet-overlay.svelte +17 -0
- package/dist/components/ui/sheet/sheet-overlay.svelte.d.ts +4 -0
- package/dist/components/ui/sheet/sheet-portal.svelte +7 -0
- package/dist/components/ui/sheet/sheet-portal.svelte.d.ts +3 -0
- package/dist/components/ui/sheet/sheet-title.svelte +17 -0
- package/dist/components/ui/sheet/sheet-title.svelte.d.ts +4 -0
- package/dist/components/ui/sheet/sheet-trigger.svelte +7 -0
- package/dist/components/ui/sheet/sheet-trigger.svelte.d.ts +4 -0
- package/dist/components/ui/sheet/sheet.svelte +7 -0
- package/dist/components/ui/sheet/sheet.svelte.d.ts +3 -0
- package/dist/components/ui/sidebar/constants.d.ts +6 -0
- package/dist/components/ui/sidebar/constants.js +6 -0
- package/dist/components/ui/sidebar/context.svelte.d.ts +42 -0
- package/dist/components/ui/sidebar/context.svelte.js +54 -0
- package/dist/components/ui/sidebar/index.d.ts +25 -0
- package/dist/components/ui/sidebar/index.js +27 -0
- package/dist/components/ui/sidebar/sidebar-content.svelte +24 -0
- package/dist/components/ui/sidebar/sidebar-content.svelte.d.ts +5 -0
- package/dist/components/ui/sidebar/sidebar-footer.svelte +21 -0
- package/dist/components/ui/sidebar/sidebar-footer.svelte.d.ts +5 -0
- package/dist/components/ui/sidebar/sidebar-group-action.svelte +33 -0
- package/dist/components/ui/sidebar/sidebar-group-action.svelte.d.ts +11 -0
- package/dist/components/ui/sidebar/sidebar-group-content.svelte +21 -0
- package/dist/components/ui/sidebar/sidebar-group-content.svelte.d.ts +5 -0
- package/dist/components/ui/sidebar/sidebar-group-label.svelte +33 -0
- package/dist/components/ui/sidebar/sidebar-group-label.svelte.d.ts +11 -0
- package/dist/components/ui/sidebar/sidebar-group.svelte +21 -0
- package/dist/components/ui/sidebar/sidebar-group.svelte.d.ts +5 -0
- package/dist/components/ui/sidebar/sidebar-header.svelte +21 -0
- package/dist/components/ui/sidebar/sidebar-header.svelte.d.ts +5 -0
- package/dist/components/ui/sidebar/sidebar-input.svelte +21 -0
- package/dist/components/ui/sidebar/sidebar-input.svelte.d.ts +11 -0
- package/dist/components/ui/sidebar/sidebar-inset.svelte +20 -0
- package/dist/components/ui/sidebar/sidebar-inset.svelte.d.ts +5 -0
- package/dist/components/ui/sidebar/sidebar-menu-action.svelte +37 -0
- package/dist/components/ui/sidebar/sidebar-menu-action.svelte.d.ts +12 -0
- package/dist/components/ui/sidebar/sidebar-menu-badge.svelte +24 -0
- package/dist/components/ui/sidebar/sidebar-menu-badge.svelte.d.ts +5 -0
- package/dist/components/ui/sidebar/sidebar-menu-button.svelte +102 -0
- package/dist/components/ui/sidebar/sidebar-menu-button.svelte.d.ts +51 -0
- package/dist/components/ui/sidebar/sidebar-menu-item.svelte +21 -0
- package/dist/components/ui/sidebar/sidebar-menu-item.svelte.d.ts +5 -0
- package/dist/components/ui/sidebar/sidebar-menu-skeleton.svelte +36 -0
- package/dist/components/ui/sidebar/sidebar-menu-skeleton.svelte.d.ts +8 -0
- package/dist/components/ui/sidebar/sidebar-menu-sub-button.svelte +39 -0
- package/dist/components/ui/sidebar/sidebar-menu-sub-button.svelte.d.ts +13 -0
- package/dist/components/ui/sidebar/sidebar-menu-sub-item.svelte +21 -0
- package/dist/components/ui/sidebar/sidebar-menu-sub-item.svelte.d.ts +5 -0
- package/dist/components/ui/sidebar/sidebar-menu-sub.svelte +21 -0
- package/dist/components/ui/sidebar/sidebar-menu-sub.svelte.d.ts +5 -0
- package/dist/components/ui/sidebar/sidebar-menu.svelte +21 -0
- package/dist/components/ui/sidebar/sidebar-menu.svelte.d.ts +5 -0
- package/dist/components/ui/sidebar/sidebar-provider.svelte +53 -0
- package/dist/components/ui/sidebar/sidebar-provider.svelte.d.ts +9 -0
- package/dist/components/ui/sidebar/sidebar-rail.svelte +36 -0
- package/dist/components/ui/sidebar/sidebar-rail.svelte.d.ts +5 -0
- package/dist/components/ui/sidebar/sidebar-separator.svelte +19 -0
- package/dist/components/ui/sidebar/sidebar-separator.svelte.d.ts +13 -0
- package/dist/components/ui/sidebar/sidebar-trigger.svelte +37 -0
- package/dist/components/ui/sidebar/sidebar-trigger.svelte.d.ts +8 -0
- package/dist/components/ui/sidebar/sidebar.svelte +108 -0
- package/dist/components/ui/sidebar/sidebar.svelte.d.ts +10 -0
- package/dist/components/ui/skeleton/index.d.ts +2 -0
- package/dist/components/ui/skeleton/index.js +4 -0
- package/dist/components/ui/skeleton/skeleton.svelte +17 -0
- package/dist/components/ui/skeleton/skeleton.svelte.d.ts +5 -0
- package/dist/components/ui/spinner/index.d.ts +1 -0
- package/dist/components/ui/spinner/index.js +1 -0
- package/dist/components/ui/spinner/spinner.svelte +26 -0
- package/dist/components/ui/spinner/spinner.svelte.d.ts +4 -0
- package/dist/components/ui/table/index.d.ts +9 -0
- package/dist/components/ui/table/index.js +11 -0
- package/dist/components/ui/table/table-body.svelte +15 -0
- package/dist/components/ui/table/table-body.svelte.d.ts +5 -0
- package/dist/components/ui/table/table-caption.svelte +20 -0
- package/dist/components/ui/table/table-caption.svelte.d.ts +5 -0
- package/dist/components/ui/table/table-cell.svelte +15 -0
- package/dist/components/ui/table/table-cell.svelte.d.ts +5 -0
- package/dist/components/ui/table/table-footer.svelte +20 -0
- package/dist/components/ui/table/table-footer.svelte.d.ts +5 -0
- package/dist/components/ui/table/table-head.svelte +15 -0
- package/dist/components/ui/table/table-head.svelte.d.ts +5 -0
- package/dist/components/ui/table/table-header.svelte +20 -0
- package/dist/components/ui/table/table-header.svelte.d.ts +5 -0
- package/dist/components/ui/table/table-row.svelte +15 -0
- package/dist/components/ui/table/table-row.svelte.d.ts +5 -0
- package/dist/components/ui/table/table.svelte +17 -0
- package/dist/components/ui/table/table.svelte.d.ts +5 -0
- package/dist/components/ui/tabs/index.d.ts +5 -0
- package/dist/components/ui/tabs/index.js +7 -0
- package/dist/components/ui/tabs/tabs-content.svelte +17 -0
- package/dist/components/ui/tabs/tabs-content.svelte.d.ts +4 -0
- package/dist/components/ui/tabs/tabs-list.svelte +40 -0
- package/dist/components/ui/tabs/tabs-list.svelte.d.ts +25 -0
- package/dist/components/ui/tabs/tabs-trigger.svelte +23 -0
- package/dist/components/ui/tabs/tabs-trigger.svelte.d.ts +4 -0
- package/dist/components/ui/tabs/tabs.svelte +19 -0
- package/dist/components/ui/tabs/tabs.svelte.d.ts +4 -0
- package/dist/components/ui/tooltip/index.d.ts +6 -0
- package/dist/components/ui/tooltip/index.js +8 -0
- package/dist/components/ui/tooltip/tooltip-content.svelte +52 -0
- package/dist/components/ui/tooltip/tooltip-content.svelte.d.ts +11 -0
- package/dist/components/ui/tooltip/tooltip-portal.svelte +7 -0
- package/dist/components/ui/tooltip/tooltip-portal.svelte.d.ts +4 -0
- package/dist/components/ui/tooltip/tooltip-provider.svelte +7 -0
- package/dist/components/ui/tooltip/tooltip-provider.svelte.d.ts +4 -0
- package/dist/components/ui/tooltip/tooltip-trigger.svelte +7 -0
- package/dist/components/ui/tooltip/tooltip-trigger.svelte.d.ts +25 -0
- package/dist/components/ui/tooltip/tooltip.svelte +7 -0
- package/dist/components/ui/tooltip/tooltip.svelte.d.ts +25 -0
- package/dist/components/ui/underline-tabs/index.d.ts +5 -0
- package/dist/components/ui/underline-tabs/index.js +7 -0
- package/dist/components/ui/underline-tabs/underline-tabs-content.svelte +17 -0
- package/dist/components/ui/underline-tabs/underline-tabs-content.svelte.d.ts +4 -0
- package/dist/components/ui/underline-tabs/underline-tabs-list.svelte +34 -0
- package/dist/components/ui/underline-tabs/underline-tabs-list.svelte.d.ts +4 -0
- package/dist/components/ui/underline-tabs/underline-tabs-trigger.svelte +61 -0
- package/dist/components/ui/underline-tabs/underline-tabs-trigger.svelte.d.ts +4 -0
- package/dist/components/ui/underline-tabs/underline-tabs.svelte +33 -0
- package/dist/components/ui/underline-tabs/underline-tabs.svelte.d.ts +7 -0
- package/dist/components/ui/underline-tabs/underline-tabs.svelte.js +61 -0
- package/dist/hooks/is-mobile.svelte.d.ts +4 -0
- package/dist/hooks/is-mobile.svelte.js +7 -0
- package/dist/i18n/index.d.ts +6 -0
- package/dist/i18n/index.js +24 -0
- package/dist/i18n/translations.d.ts +77 -0
- package/dist/i18n/translations.js +76 -0
- package/dist/index.d.ts +0 -0
- package/dist/index.js +2 -0
- package/dist/utils.d.ts +12 -0
- package/dist/utils.js +5 -0
- package/dist/vitest-examples/Welcome.svelte +8 -0
- package/dist/vitest-examples/Welcome.svelte.d.ts +13 -0
- package/dist/vitest-examples/Welcome.svelte.spec.d.ts +1 -0
- package/dist/vitest-examples/Welcome.svelte.spec.js +11 -0
- package/dist/vitest-examples/greet.d.ts +1 -0
- package/dist/vitest-examples/greet.js +3 -0
- package/dist/vitest-examples/greet.spec.d.ts +1 -0
- package/dist/vitest-examples/greet.spec.js +7 -0
- package/package.json +89 -0
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { cn, type WithElementRef } from "../../../utils.js";
|
|
3
|
+
import type { HTMLAttributes } from "svelte/elements";
|
|
4
|
+
import ChartStyle from "./chart-style.svelte";
|
|
5
|
+
import { setChartContext, type ChartConfig } from "./chart-utils.js";
|
|
6
|
+
|
|
7
|
+
const uid = $props.id();
|
|
8
|
+
|
|
9
|
+
let {
|
|
10
|
+
ref = $bindable(null),
|
|
11
|
+
id = uid,
|
|
12
|
+
class: className,
|
|
13
|
+
children,
|
|
14
|
+
config,
|
|
15
|
+
...restProps
|
|
16
|
+
}: WithElementRef<HTMLAttributes<HTMLElement>> & {
|
|
17
|
+
config: ChartConfig;
|
|
18
|
+
} = $props();
|
|
19
|
+
|
|
20
|
+
const chartId = $derived(`chart-${id || uid.replace(/:/g, "")}`);
|
|
21
|
+
|
|
22
|
+
setChartContext({
|
|
23
|
+
get config() {
|
|
24
|
+
return config;
|
|
25
|
+
},
|
|
26
|
+
});
|
|
27
|
+
</script>
|
|
28
|
+
|
|
29
|
+
<div
|
|
30
|
+
bind:this={ref}
|
|
31
|
+
data-chart={chartId}
|
|
32
|
+
data-slot="chart"
|
|
33
|
+
class={cn(
|
|
34
|
+
"flex aspect-video justify-center overflow-visible text-xs",
|
|
35
|
+
// Overrides
|
|
36
|
+
//
|
|
37
|
+
// Stroke around dots/marks when hovering
|
|
38
|
+
"[&_.lc-highlight-point]:stroke-transparent",
|
|
39
|
+
// override the default stroke color of lines
|
|
40
|
+
"[&_.lc-line]:stroke-border/50",
|
|
41
|
+
|
|
42
|
+
// by default, layerchart shows a line intersecting the point when hovering, this hides that
|
|
43
|
+
"[&_.lc-highlight-line]:stroke-0",
|
|
44
|
+
|
|
45
|
+
// by default, when you hover a point on a stacked series chart, it will drop the opacity
|
|
46
|
+
// of the other series, this overrides that
|
|
47
|
+
"[&_.lc-area-path]:opacity-100 [&_.lc-highlight-line]:opacity-100 [&_.lc-highlight-point]:opacity-100 [&_.lc-spline-path]:opacity-100 [&_.lc-text]:text-xs [&_.lc-text-svg]:overflow-visible",
|
|
48
|
+
|
|
49
|
+
// We don't want the little tick lines between the axis labels and the chart, so we remove
|
|
50
|
+
// the stroke. The alternative is to manually disable `tickMarks` on the x/y axis of every
|
|
51
|
+
// chart.
|
|
52
|
+
"[&_.lc-axis-tick]:stroke-0",
|
|
53
|
+
|
|
54
|
+
// We don't want to display the rule on the x/y axis, as there is already going to be
|
|
55
|
+
// a grid line there and rule ends up overlapping the marks because it is rendered after
|
|
56
|
+
// the marks
|
|
57
|
+
"[&_.lc-rule-x-line:not(.lc-grid-x-rule)]:stroke-0 [&_.lc-rule-y-line:not(.lc-grid-y-rule)]:stroke-0",
|
|
58
|
+
"[&_.lc-grid-x-radial-line]:stroke-border [&_.lc-grid-x-radial-circle]:stroke-border",
|
|
59
|
+
"[&_.lc-grid-y-radial-line]:stroke-border [&_.lc-grid-y-radial-circle]:stroke-border",
|
|
60
|
+
|
|
61
|
+
// Legend adjustments
|
|
62
|
+
"[&_.lc-legend-swatch-button]:items-center [&_.lc-legend-swatch-button]:gap-1.5",
|
|
63
|
+
"[&_.lc-legend-swatch-group]:items-center [&_.lc-legend-swatch-group]:gap-4",
|
|
64
|
+
"[&_.lc-legend-swatch]:size-2.5 [&_.lc-legend-swatch]:rounded-[2px]",
|
|
65
|
+
|
|
66
|
+
// Labels
|
|
67
|
+
"[&_.lc-labels-text:not([fill])]:fill-foreground [&_text]:stroke-transparent",
|
|
68
|
+
|
|
69
|
+
// Tick labels on th x/y axes
|
|
70
|
+
"[&_.lc-axis-tick-label]:fill-muted-foreground [&_.lc-axis-tick-label]:font-normal",
|
|
71
|
+
"[&_.lc-tooltip-rects-g]:fill-transparent",
|
|
72
|
+
"[&_.lc-layout-svg-g]:fill-transparent",
|
|
73
|
+
"[&_.lc-root-container]:w-full",
|
|
74
|
+
className
|
|
75
|
+
)}
|
|
76
|
+
{...restProps}
|
|
77
|
+
>
|
|
78
|
+
<ChartStyle id={chartId} {config} />
|
|
79
|
+
{@render children?.()}
|
|
80
|
+
</div>
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type WithElementRef } from "../../../utils.js";
|
|
2
|
+
import type { HTMLAttributes } from "svelte/elements";
|
|
3
|
+
import { type ChartConfig } from "./chart-utils.js";
|
|
4
|
+
type $$ComponentProps = WithElementRef<HTMLAttributes<HTMLElement>> & {
|
|
5
|
+
config: ChartConfig;
|
|
6
|
+
};
|
|
7
|
+
declare const ChartContainer: import("svelte").Component<$$ComponentProps, {}, "ref">;
|
|
8
|
+
type ChartContainer = ReturnType<typeof ChartContainer>;
|
|
9
|
+
export default ChartContainer;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { THEMES, type ChartConfig } from "./chart-utils.js";
|
|
3
|
+
|
|
4
|
+
let { id, config }: { id: string; config: ChartConfig } = $props();
|
|
5
|
+
|
|
6
|
+
const colorConfig = $derived(
|
|
7
|
+
config ? Object.entries(config).filter(([, config]) => config.theme || config.color) : null
|
|
8
|
+
);
|
|
9
|
+
|
|
10
|
+
const themeContents = $derived.by(() => {
|
|
11
|
+
if (!colorConfig || !colorConfig.length) return;
|
|
12
|
+
|
|
13
|
+
const themeContents = [];
|
|
14
|
+
for (const [_theme, prefix] of Object.entries(THEMES)) {
|
|
15
|
+
let content = `${prefix} [data-chart=${id}] {\n`;
|
|
16
|
+
const color = colorConfig.map(([key, itemConfig]) => {
|
|
17
|
+
const theme = _theme as keyof typeof itemConfig.theme;
|
|
18
|
+
const color = itemConfig.theme?.[theme] || itemConfig.color;
|
|
19
|
+
return color ? `\t--color-${key}: ${color};` : null;
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
content += color.join("\n") + "\n}";
|
|
23
|
+
|
|
24
|
+
themeContents.push(content);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
return themeContents.join("\n");
|
|
28
|
+
});
|
|
29
|
+
</script>
|
|
30
|
+
|
|
31
|
+
{#if themeContents}
|
|
32
|
+
{#key id}
|
|
33
|
+
<svelte:element this={"style"}>
|
|
34
|
+
{themeContents}
|
|
35
|
+
</svelte:element>
|
|
36
|
+
{/key}
|
|
37
|
+
{/if}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { type ChartConfig } from "./chart-utils.js";
|
|
2
|
+
type $$ComponentProps = {
|
|
3
|
+
id: string;
|
|
4
|
+
config: ChartConfig;
|
|
5
|
+
};
|
|
6
|
+
declare const ChartStyle: import("svelte").Component<$$ComponentProps, {}, "">;
|
|
7
|
+
type ChartStyle = ReturnType<typeof ChartStyle>;
|
|
8
|
+
export default ChartStyle;
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { cn, type WithElementRef, type WithoutChildren } from "../../../utils.js";
|
|
3
|
+
import type { HTMLAttributes } from "svelte/elements";
|
|
4
|
+
import { getPayloadConfigFromPayload, useChart, type TooltipPayload } from "./chart-utils.js";
|
|
5
|
+
import { getChartContext, Tooltip as TooltipPrimitive } from "layerchart";
|
|
6
|
+
import type { Snippet } from "svelte";
|
|
7
|
+
|
|
8
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
9
|
+
function defaultFormatter(value: any, _payload: TooltipPayload[]) {
|
|
10
|
+
return `${value}`;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
let {
|
|
14
|
+
ref = $bindable(null),
|
|
15
|
+
class: className,
|
|
16
|
+
hideLabel = false,
|
|
17
|
+
indicator = "dot",
|
|
18
|
+
hideIndicator = false,
|
|
19
|
+
labelKey,
|
|
20
|
+
label,
|
|
21
|
+
labelFormatter = defaultFormatter,
|
|
22
|
+
labelClassName,
|
|
23
|
+
formatter,
|
|
24
|
+
nameKey,
|
|
25
|
+
color,
|
|
26
|
+
...restProps
|
|
27
|
+
}: WithoutChildren<WithElementRef<HTMLAttributes<HTMLDivElement>>> & {
|
|
28
|
+
hideLabel?: boolean;
|
|
29
|
+
label?: string;
|
|
30
|
+
indicator?: "line" | "dot" | "dashed";
|
|
31
|
+
nameKey?: string;
|
|
32
|
+
labelKey?: string;
|
|
33
|
+
hideIndicator?: boolean;
|
|
34
|
+
labelClassName?: string;
|
|
35
|
+
labelFormatter?: // eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
36
|
+
((value: any, payload: TooltipPayload[]) => string | number | Snippet) | null;
|
|
37
|
+
formatter?: Snippet<
|
|
38
|
+
[
|
|
39
|
+
{
|
|
40
|
+
value: unknown;
|
|
41
|
+
name: string;
|
|
42
|
+
item: TooltipPayload;
|
|
43
|
+
index: number;
|
|
44
|
+
payload: TooltipPayload[];
|
|
45
|
+
},
|
|
46
|
+
]
|
|
47
|
+
>;
|
|
48
|
+
} = $props();
|
|
49
|
+
|
|
50
|
+
const chart = useChart();
|
|
51
|
+
const chartCtx = getChartContext();
|
|
52
|
+
|
|
53
|
+
// Filter to series with defined values (important for item-based charts like Pie/Arc
|
|
54
|
+
// where only the hovered item has a value)
|
|
55
|
+
const visibleSeries = $derived(
|
|
56
|
+
chartCtx.tooltip.series.filter((s: TooltipPayload) => s.value !== undefined)
|
|
57
|
+
);
|
|
58
|
+
|
|
59
|
+
const formattedLabel = $derived.by(() => {
|
|
60
|
+
if (hideLabel || !visibleSeries?.length) return null;
|
|
61
|
+
|
|
62
|
+
const [item] = visibleSeries;
|
|
63
|
+
const tooltipData = chartCtx.tooltip.data;
|
|
64
|
+
|
|
65
|
+
// Get the x-axis label value from the raw tooltip data (e.g. a Date or month string)
|
|
66
|
+
const dataLabel = tooltipData != null ? chartCtx.x(tooltipData) : undefined;
|
|
67
|
+
|
|
68
|
+
const key = labelKey ?? item?.label ?? item?.key ?? "value";
|
|
69
|
+
const itemConfig = getPayloadConfigFromPayload(
|
|
70
|
+
chart.config,
|
|
71
|
+
item,
|
|
72
|
+
key,
|
|
73
|
+
tooltipData as Record<string, unknown> | null
|
|
74
|
+
);
|
|
75
|
+
|
|
76
|
+
let value: unknown;
|
|
77
|
+
if (!labelKey && typeof label === "string") {
|
|
78
|
+
value = chart.config[label as keyof typeof chart.config]?.label ?? label;
|
|
79
|
+
} else if (labelKey) {
|
|
80
|
+
value = itemConfig?.label ?? dataLabel;
|
|
81
|
+
} else {
|
|
82
|
+
value = dataLabel;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
if (value === undefined) return null;
|
|
86
|
+
if (!labelFormatter) return value;
|
|
87
|
+
return labelFormatter(value, visibleSeries);
|
|
88
|
+
});
|
|
89
|
+
|
|
90
|
+
const nestLabel = $derived(visibleSeries.length === 1 && indicator !== "dot");
|
|
91
|
+
</script>
|
|
92
|
+
|
|
93
|
+
{#snippet TooltipLabel()}
|
|
94
|
+
{#if formattedLabel}
|
|
95
|
+
<div class={cn("font-medium", labelClassName)}>
|
|
96
|
+
{#if typeof formattedLabel === "function"}
|
|
97
|
+
{@render formattedLabel()}
|
|
98
|
+
{:else}
|
|
99
|
+
{formattedLabel}
|
|
100
|
+
{/if}
|
|
101
|
+
</div>
|
|
102
|
+
{/if}
|
|
103
|
+
{/snippet}
|
|
104
|
+
|
|
105
|
+
<TooltipPrimitive.Root variant="none">
|
|
106
|
+
<div
|
|
107
|
+
bind:this={ref}
|
|
108
|
+
class={cn(
|
|
109
|
+
"border-border/50 bg-background grid min-w-[9rem] items-start gap-1.5 rounded-lg border px-2.5 py-1.5 text-xs shadow-xl",
|
|
110
|
+
className
|
|
111
|
+
)}
|
|
112
|
+
{...restProps}
|
|
113
|
+
>
|
|
114
|
+
{#if !nestLabel}
|
|
115
|
+
{@render TooltipLabel()}
|
|
116
|
+
{/if}
|
|
117
|
+
<div class="grid gap-1.5">
|
|
118
|
+
{#each visibleSeries as item, i (item.key + i)}
|
|
119
|
+
{@const key = `${nameKey || item.key || item.label || "value"}`}
|
|
120
|
+
{@const itemConfig = getPayloadConfigFromPayload(
|
|
121
|
+
chart.config,
|
|
122
|
+
item,
|
|
123
|
+
key,
|
|
124
|
+
chartCtx.tooltip.data
|
|
125
|
+
)}
|
|
126
|
+
{@const indicatorColor = color || item.config?.color || item.color}
|
|
127
|
+
<div
|
|
128
|
+
class={cn(
|
|
129
|
+
"[&>svg]:text-muted-foreground flex w-full flex-wrap items-stretch gap-2 [&>svg]:size-2.5",
|
|
130
|
+
indicator === "dot" && "items-center"
|
|
131
|
+
)}
|
|
132
|
+
>
|
|
133
|
+
{#if formatter && item.value !== undefined && item.label}
|
|
134
|
+
{@render formatter({
|
|
135
|
+
value: item.value,
|
|
136
|
+
name: item.label,
|
|
137
|
+
item,
|
|
138
|
+
index: i,
|
|
139
|
+
payload: visibleSeries,
|
|
140
|
+
})}
|
|
141
|
+
{:else}
|
|
142
|
+
{#if itemConfig?.icon}
|
|
143
|
+
<itemConfig.icon />
|
|
144
|
+
{:else if !hideIndicator}
|
|
145
|
+
<div
|
|
146
|
+
style="--color-bg: {indicatorColor}; --color-border: {indicatorColor};"
|
|
147
|
+
class={cn(
|
|
148
|
+
"shrink-0 rounded-[2px] border-(--color-border) bg-(--color-bg)",
|
|
149
|
+
{
|
|
150
|
+
"size-2.5": indicator === "dot",
|
|
151
|
+
"h-full w-1": indicator === "line",
|
|
152
|
+
"w-0 border-[1.5px] border-dashed bg-transparent":
|
|
153
|
+
indicator === "dashed",
|
|
154
|
+
"my-0.5": nestLabel && indicator === "dashed",
|
|
155
|
+
}
|
|
156
|
+
)}
|
|
157
|
+
></div>
|
|
158
|
+
{/if}
|
|
159
|
+
<div
|
|
160
|
+
class={cn(
|
|
161
|
+
"flex flex-1 shrink-0 justify-between leading-none",
|
|
162
|
+
nestLabel ? "items-end" : "items-center"
|
|
163
|
+
)}
|
|
164
|
+
>
|
|
165
|
+
<div class="grid gap-1.5">
|
|
166
|
+
{#if nestLabel}
|
|
167
|
+
{@render TooltipLabel()}
|
|
168
|
+
{/if}
|
|
169
|
+
<span class="text-muted-foreground">
|
|
170
|
+
{itemConfig?.label || item.label}
|
|
171
|
+
</span>
|
|
172
|
+
</div>
|
|
173
|
+
{#if item.value !== undefined}
|
|
174
|
+
<span class="text-foreground font-mono font-medium tabular-nums">
|
|
175
|
+
{item.value.toLocaleString()}
|
|
176
|
+
</span>
|
|
177
|
+
{/if}
|
|
178
|
+
</div>
|
|
179
|
+
{/if}
|
|
180
|
+
</div>
|
|
181
|
+
{/each}
|
|
182
|
+
</div>
|
|
183
|
+
</div>
|
|
184
|
+
</TooltipPrimitive.Root>
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { type WithElementRef, type WithoutChildren } from "../../../utils.js";
|
|
2
|
+
import type { HTMLAttributes } from "svelte/elements";
|
|
3
|
+
import { type TooltipPayload } from "./chart-utils.js";
|
|
4
|
+
import type { Snippet } from "svelte";
|
|
5
|
+
type $$ComponentProps = WithoutChildren<WithElementRef<HTMLAttributes<HTMLDivElement>>> & {
|
|
6
|
+
hideLabel?: boolean;
|
|
7
|
+
label?: string;
|
|
8
|
+
indicator?: "line" | "dot" | "dashed";
|
|
9
|
+
nameKey?: string;
|
|
10
|
+
labelKey?: string;
|
|
11
|
+
hideIndicator?: boolean;
|
|
12
|
+
labelClassName?: string;
|
|
13
|
+
labelFormatter?: // eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
14
|
+
((value: any, payload: TooltipPayload[]) => string | number | Snippet) | null;
|
|
15
|
+
formatter?: Snippet<[
|
|
16
|
+
{
|
|
17
|
+
value: unknown;
|
|
18
|
+
name: string;
|
|
19
|
+
item: TooltipPayload;
|
|
20
|
+
index: number;
|
|
21
|
+
payload: TooltipPayload[];
|
|
22
|
+
}
|
|
23
|
+
]>;
|
|
24
|
+
};
|
|
25
|
+
declare const ChartTooltip: import("svelte").Component<$$ComponentProps, {}, "ref">;
|
|
26
|
+
type ChartTooltip = ReturnType<typeof ChartTooltip>;
|
|
27
|
+
export default ChartTooltip;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type { Tooltip } from "layerchart";
|
|
2
|
+
import { type Component, type Snippet } from "svelte";
|
|
3
|
+
export declare const THEMES: {
|
|
4
|
+
readonly light: "";
|
|
5
|
+
readonly dark: ".dark";
|
|
6
|
+
};
|
|
7
|
+
export type ChartConfig = {
|
|
8
|
+
[k in string]: {
|
|
9
|
+
label?: string;
|
|
10
|
+
icon?: Component;
|
|
11
|
+
} & ({
|
|
12
|
+
color?: string;
|
|
13
|
+
theme?: never;
|
|
14
|
+
} | {
|
|
15
|
+
color?: never;
|
|
16
|
+
theme: Record<keyof typeof THEMES, string>;
|
|
17
|
+
});
|
|
18
|
+
};
|
|
19
|
+
export type ExtractSnippetParams<T> = T extends Snippet<[infer P]> ? P : never;
|
|
20
|
+
export type TooltipPayload = Tooltip.TooltipSeries;
|
|
21
|
+
export declare function getPayloadConfigFromPayload(config: ChartConfig, payload: TooltipPayload, key: string, data?: Record<string, any> | null): ({
|
|
22
|
+
label?: string;
|
|
23
|
+
icon?: Component;
|
|
24
|
+
} & ({
|
|
25
|
+
color?: string;
|
|
26
|
+
theme?: never;
|
|
27
|
+
} | {
|
|
28
|
+
color?: never;
|
|
29
|
+
theme: Record<keyof typeof THEMES, string>;
|
|
30
|
+
})) | undefined;
|
|
31
|
+
type ChartContextValue = {
|
|
32
|
+
config: ChartConfig;
|
|
33
|
+
};
|
|
34
|
+
export declare function setChartContext(value: ChartContextValue): ChartContextValue;
|
|
35
|
+
export declare function useChart(): ChartContextValue;
|
|
36
|
+
export {};
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { getContext, setContext } from "svelte";
|
|
2
|
+
export const THEMES = { light: "", dark: ".dark" };
|
|
3
|
+
// Helper to extract item config from a payload.
|
|
4
|
+
export function getPayloadConfigFromPayload(config, payload, key,
|
|
5
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
6
|
+
data) {
|
|
7
|
+
if (typeof payload !== "object" || payload === null)
|
|
8
|
+
return undefined;
|
|
9
|
+
const payloadConfig = "config" in payload && typeof payload.config === "object" && payload.config !== null
|
|
10
|
+
? payload.config
|
|
11
|
+
: undefined;
|
|
12
|
+
let configLabelKey = key;
|
|
13
|
+
if (payload.key === key) {
|
|
14
|
+
configLabelKey = payload.key;
|
|
15
|
+
}
|
|
16
|
+
else if (payload.label === key) {
|
|
17
|
+
configLabelKey = payload.label;
|
|
18
|
+
}
|
|
19
|
+
else if (key in payload && typeof payload[key] === "string") {
|
|
20
|
+
configLabelKey = payload[key];
|
|
21
|
+
}
|
|
22
|
+
else if (payloadConfig !== undefined &&
|
|
23
|
+
key in payloadConfig &&
|
|
24
|
+
typeof payloadConfig[key] === "string") {
|
|
25
|
+
configLabelKey = payloadConfig[key];
|
|
26
|
+
}
|
|
27
|
+
else if (data != null && key in data && typeof data[key] === "string") {
|
|
28
|
+
configLabelKey = data[key];
|
|
29
|
+
}
|
|
30
|
+
return configLabelKey in config ? config[configLabelKey] : config[key];
|
|
31
|
+
}
|
|
32
|
+
const chartContextKey = Symbol("chart-context");
|
|
33
|
+
export function setChartContext(value) {
|
|
34
|
+
return setContext(chartContextKey, value);
|
|
35
|
+
}
|
|
36
|
+
export function useChart() {
|
|
37
|
+
return getContext(chartContextKey);
|
|
38
|
+
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import ChartContainer from "./chart-container.svelte";
|
|
2
|
+
import ChartTooltip from "./chart-tooltip.svelte";
|
|
3
|
+
export { getPayloadConfigFromPayload, type ChartConfig } from "./chart-utils.js";
|
|
4
|
+
export { ChartContainer, ChartTooltip, ChartContainer as Container, ChartTooltip as Tooltip };
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { Checkbox as CheckboxPrimitive } from "bits-ui";
|
|
3
|
+
import { cn, type WithoutChildrenOrChild } from "../../../utils.js";
|
|
4
|
+
import { HugeiconsIcon } from "@hugeicons/svelte"
|
|
5
|
+
import { Tick02Icon } from '@hugeicons/core-free-icons';
|
|
6
|
+
import { MinusSignIcon } from '@hugeicons/core-free-icons';
|
|
7
|
+
|
|
8
|
+
let {
|
|
9
|
+
ref = $bindable(null),
|
|
10
|
+
checked = $bindable(false),
|
|
11
|
+
indeterminate = $bindable(false),
|
|
12
|
+
class: className,
|
|
13
|
+
...restProps
|
|
14
|
+
}: WithoutChildrenOrChild<CheckboxPrimitive.RootProps> = $props();
|
|
15
|
+
</script>
|
|
16
|
+
|
|
17
|
+
<CheckboxPrimitive.Root
|
|
18
|
+
bind:ref
|
|
19
|
+
data-slot="checkbox"
|
|
20
|
+
class={cn(
|
|
21
|
+
"border-input dark:bg-input/30 data-checked:bg-primary data-checked:text-primary-foreground dark:data-checked:bg-primary data-checked:border-primary aria-invalid:aria-checked:border-primary aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 flex size-4 items-center justify-center rounded-[6px] border transition-shadow group-has-disabled/field:opacity-50 focus-visible:ring-[3px] aria-invalid:ring-[3px] peer relative shrink-0 outline-none after:absolute after:-inset-x-3 after:-inset-y-2 disabled:cursor-not-allowed disabled:opacity-50",
|
|
22
|
+
className
|
|
23
|
+
)}
|
|
24
|
+
bind:checked
|
|
25
|
+
bind:indeterminate
|
|
26
|
+
{...restProps}
|
|
27
|
+
>
|
|
28
|
+
{#snippet children({ checked, indeterminate })}
|
|
29
|
+
<div
|
|
30
|
+
data-slot="checkbox-indicator"
|
|
31
|
+
class="[&>svg]:size-3.5 grid place-content-center text-current transition-none"
|
|
32
|
+
>
|
|
33
|
+
{#if checked}
|
|
34
|
+
<HugeiconsIcon icon={Tick02Icon} strokeWidth={2} />
|
|
35
|
+
{:else if indeterminate}
|
|
36
|
+
<HugeiconsIcon icon={MinusSignIcon} strokeWidth={2} />
|
|
37
|
+
{/if}
|
|
38
|
+
</div>
|
|
39
|
+
{/snippet}
|
|
40
|
+
</CheckboxPrimitive.Root>
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { Checkbox as CheckboxPrimitive } from "bits-ui";
|
|
2
|
+
declare const Checkbox: import("svelte").Component<Omit<Omit<CheckboxPrimitive.RootProps, "child">, "children">, {}, "ref" | "checked" | "indeterminate">;
|
|
3
|
+
type Checkbox = ReturnType<typeof Checkbox>;
|
|
4
|
+
export default Checkbox;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { Collapsible as CollapsiblePrimitive } from "bits-ui";
|
|
3
|
+
|
|
4
|
+
let { ref = $bindable(null), ...restProps }: CollapsiblePrimitive.ContentProps = $props();
|
|
5
|
+
</script>
|
|
6
|
+
|
|
7
|
+
<CollapsiblePrimitive.Content bind:ref data-slot="collapsible-content" {...restProps} />
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { Collapsible as CollapsiblePrimitive } from "bits-ui";
|
|
2
|
+
declare const CollapsibleContent: import("svelte").Component<CollapsiblePrimitive.ContentProps, {}, "ref">;
|
|
3
|
+
type CollapsibleContent = ReturnType<typeof CollapsibleContent>;
|
|
4
|
+
export default CollapsibleContent;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { Collapsible as CollapsiblePrimitive } from "bits-ui";
|
|
3
|
+
|
|
4
|
+
let { ref = $bindable(null), ...restProps }: CollapsiblePrimitive.TriggerProps = $props();
|
|
5
|
+
</script>
|
|
6
|
+
|
|
7
|
+
<CollapsiblePrimitive.Trigger bind:ref data-slot="collapsible-trigger" {...restProps} />
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { Collapsible as CollapsiblePrimitive } from "bits-ui";
|
|
2
|
+
declare const CollapsibleTrigger: import("svelte").Component<CollapsiblePrimitive.TriggerProps, {}, "ref">;
|
|
3
|
+
type CollapsibleTrigger = ReturnType<typeof CollapsibleTrigger>;
|
|
4
|
+
export default CollapsibleTrigger;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { Collapsible as CollapsiblePrimitive } from "bits-ui";
|
|
3
|
+
|
|
4
|
+
let {
|
|
5
|
+
ref = $bindable(null),
|
|
6
|
+
open = $bindable(false),
|
|
7
|
+
...restProps
|
|
8
|
+
}: CollapsiblePrimitive.RootProps = $props();
|
|
9
|
+
</script>
|
|
10
|
+
|
|
11
|
+
<CollapsiblePrimitive.Root bind:ref bind:open data-slot="collapsible" {...restProps} />
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import Root from "./collapsible.svelte";
|
|
2
|
+
import Trigger from "./collapsible-trigger.svelte";
|
|
3
|
+
import Content from "./collapsible-content.svelte";
|
|
4
|
+
export { Root, Content, Trigger,
|
|
5
|
+
//
|
|
6
|
+
Root as Collapsible, Content as CollapsibleContent, Trigger as CollapsibleTrigger, };
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { type RowData, type TableOptions } from "@tanstack/table-core";
|
|
2
|
+
/**
|
|
3
|
+
* Creates a reactive TanStack table object for Svelte.
|
|
4
|
+
* @param options Table options to create the table with.
|
|
5
|
+
* @returns A reactive table object.
|
|
6
|
+
* @example
|
|
7
|
+
* ```svelte
|
|
8
|
+
* <script>
|
|
9
|
+
* const table = createSvelteTable({ ... })
|
|
10
|
+
* </script>
|
|
11
|
+
*
|
|
12
|
+
* <table>
|
|
13
|
+
* <thead>
|
|
14
|
+
* {#each table.getHeaderGroups() as headerGroup}
|
|
15
|
+
* <tr>
|
|
16
|
+
* {#each headerGroup.headers as header}
|
|
17
|
+
* <th colspan={header.colSpan}>
|
|
18
|
+
* <FlexRender content={header.column.columnDef.header} context={header.getContext()} />
|
|
19
|
+
* </th>
|
|
20
|
+
* {/each}
|
|
21
|
+
* </tr>
|
|
22
|
+
* {/each}
|
|
23
|
+
* </thead>
|
|
24
|
+
* <!-- ... -->
|
|
25
|
+
* </table>
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
28
|
+
export declare function createSvelteTable<TData extends RowData>(options: TableOptions<TData>): import("@tanstack/table-core").Table<TData>;
|
|
29
|
+
type MaybeThunk<T extends object> = T | (() => T | null | undefined);
|
|
30
|
+
type Intersection<T extends readonly unknown[]> = (T extends [infer H, ...infer R] ? H & Intersection<R> : unknown) & {};
|
|
31
|
+
/**
|
|
32
|
+
* Lazily merges several objects (or thunks) while preserving
|
|
33
|
+
* getter semantics from every source.
|
|
34
|
+
*
|
|
35
|
+
* Proxy-based to avoid known WebKit recursion issue.
|
|
36
|
+
*/
|
|
37
|
+
export declare function mergeObjects<Sources extends readonly MaybeThunk<any>[]>(...sources: Sources): Intersection<{
|
|
38
|
+
[K in keyof Sources]: Sources[K];
|
|
39
|
+
}>;
|
|
40
|
+
export {};
|