@poodle64/ui 2026.8.7
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 +624 -0
- package/dist/components/ui/alert/alert-description.svelte +23 -0
- package/dist/components/ui/alert/alert-description.svelte.d.ts +9 -0
- package/dist/components/ui/alert/alert-title.svelte +23 -0
- package/dist/components/ui/alert/alert-title.svelte.d.ts +9 -0
- package/dist/components/ui/alert/alert.svelte +46 -0
- package/dist/components/ui/alert/alert.svelte.d.ts +28 -0
- package/dist/components/ui/alert/index.d.ts +4 -0
- package/dist/components/ui/alert/index.js +4 -0
- package/dist/components/ui/alert-dialog/alert-dialog-action.svelte +27 -0
- package/dist/components/ui/alert-dialog/alert-dialog-action.svelte.d.ts +9 -0
- package/dist/components/ui/alert-dialog/alert-dialog-cancel.svelte +27 -0
- package/dist/components/ui/alert-dialog/alert-dialog-cancel.svelte.d.ts +9 -0
- package/dist/components/ui/alert-dialog/alert-dialog-content.svelte +39 -0
- package/dist/components/ui/alert-dialog/alert-dialog-content.svelte.d.ts +11 -0
- package/dist/components/ui/alert-dialog/alert-dialog-description.svelte +20 -0
- package/dist/components/ui/alert-dialog/alert-dialog-description.svelte.d.ts +4 -0
- package/dist/components/ui/alert-dialog/alert-dialog-footer.svelte +23 -0
- package/dist/components/ui/alert-dialog/alert-dialog-footer.svelte.d.ts +5 -0
- package/dist/components/ui/alert-dialog/alert-dialog-header.svelte +23 -0
- package/dist/components/ui/alert-dialog/alert-dialog-header.svelte.d.ts +5 -0
- package/dist/components/ui/alert-dialog/alert-dialog-media.svelte +23 -0
- package/dist/components/ui/alert-dialog/alert-dialog-media.svelte.d.ts +5 -0
- package/dist/components/ui/alert-dialog/alert-dialog-overlay.svelte +20 -0
- package/dist/components/ui/alert-dialog/alert-dialog-overlay.svelte.d.ts +4 -0
- package/dist/components/ui/alert-dialog/alert-dialog-portal.svelte +7 -0
- package/dist/components/ui/alert-dialog/alert-dialog-portal.svelte.d.ts +3 -0
- package/dist/components/ui/alert-dialog/alert-dialog-title.svelte +20 -0
- package/dist/components/ui/alert-dialog/alert-dialog-title.svelte.d.ts +4 -0
- package/dist/components/ui/alert-dialog/alert-dialog-trigger.svelte +7 -0
- package/dist/components/ui/alert-dialog/alert-dialog-trigger.svelte.d.ts +4 -0
- package/dist/components/ui/alert-dialog/alert-dialog.svelte +7 -0
- package/dist/components/ui/alert-dialog/alert-dialog.svelte.d.ts +3 -0
- package/dist/components/ui/alert-dialog/index.d.ts +13 -0
- package/dist/components/ui/alert-dialog/index.js +15 -0
- package/dist/components/ui/app-dialog/app-dialog.svelte +111 -0
- package/dist/components/ui/app-dialog/app-dialog.svelte.d.ts +41 -0
- package/dist/components/ui/app-dialog/index.d.ts +2 -0
- package/dist/components/ui/app-dialog/index.js +2 -0
- package/dist/components/ui/app-shell/app-nav.svelte +299 -0
- package/dist/components/ui/app-shell/app-nav.svelte.d.ts +22 -0
- package/dist/components/ui/app-shell/app-shell.svelte +675 -0
- package/dist/components/ui/app-shell/app-shell.svelte.d.ts +157 -0
- package/dist/components/ui/app-shell/index.d.ts +6 -0
- package/dist/components/ui/app-shell/index.js +6 -0
- package/dist/components/ui/app-shell/measure.d.ts +28 -0
- package/dist/components/ui/app-shell/measure.js +21 -0
- package/dist/components/ui/app-shell/texture.d.ts +32 -0
- package/dist/components/ui/app-shell/texture.js +27 -0
- package/dist/components/ui/app-shell/types.d.ts +134 -0
- package/dist/components/ui/app-shell/types.js +88 -0
- package/dist/components/ui/arc-gauge/arc-gauge.svelte +112 -0
- package/dist/components/ui/arc-gauge/arc-gauge.svelte.d.ts +15 -0
- package/dist/components/ui/arc-gauge/index.d.ts +3 -0
- package/dist/components/ui/arc-gauge/index.js +2 -0
- package/dist/components/ui/avatar/avatar-fallback.svelte +26 -0
- package/dist/components/ui/avatar/avatar-fallback.svelte.d.ts +4 -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 +31 -0
- package/dist/components/ui/avatar/avatar.svelte.d.ts +4 -0
- package/dist/components/ui/avatar/index.d.ts +4 -0
- package/dist/components/ui/avatar/index.js +6 -0
- package/dist/components/ui/badge/badge.svelte +50 -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/bar-row/bar-row.svelte +42 -0
- package/dist/components/ui/bar-row/bar-row.svelte.d.ts +12 -0
- package/dist/components/ui/bar-row/index.d.ts +2 -0
- package/dist/components/ui/bar-row/index.js +2 -0
- package/dist/components/ui/button/button.svelte +89 -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/card/card-action.svelte +23 -0
- package/dist/components/ui/card/card-action.svelte.d.ts +5 -0
- package/dist/components/ui/card/card-content.svelte +20 -0
- package/dist/components/ui/card/card-content.svelte.d.ts +5 -0
- package/dist/components/ui/card/card-description.svelte +20 -0
- package/dist/components/ui/card/card-description.svelte.d.ts +5 -0
- package/dist/components/ui/card/card-footer.svelte +23 -0
- package/dist/components/ui/card/card-footer.svelte.d.ts +5 -0
- package/dist/components/ui/card/card-header.svelte +23 -0
- package/dist/components/ui/card/card-header.svelte.d.ts +5 -0
- package/dist/components/ui/card/card-title.svelte +52 -0
- package/dist/components/ui/card/card-title.svelte.d.ts +8 -0
- package/dist/components/ui/card/card.svelte +25 -0
- package/dist/components/ui/card/card.svelte.d.ts +8 -0
- package/dist/components/ui/card/index.d.ts +8 -0
- package/dist/components/ui/card/index.js +10 -0
- package/dist/components/ui/checkbox/checkbox.svelte +36 -0
- package/dist/components/ui/checkbox/checkbox.svelte.d.ts +8 -0
- package/dist/components/ui/checkbox/index.d.ts +2 -0
- package/dist/components/ui/checkbox/index.js +2 -0
- package/dist/components/ui/command/command-dialog.svelte +42 -0
- package/dist/components/ui/command/command-dialog.svelte.d.ts +14 -0
- package/dist/components/ui/command/command-empty.svelte +17 -0
- package/dist/components/ui/command/command-empty.svelte.d.ts +4 -0
- package/dist/components/ui/command/command-group.svelte +33 -0
- package/dist/components/ui/command/command-group.svelte.d.ts +7 -0
- package/dist/components/ui/command/command-input.svelte +36 -0
- package/dist/components/ui/command/command-input.svelte.d.ts +4 -0
- package/dist/components/ui/command/command-item.svelte +27 -0
- package/dist/components/ui/command/command-item.svelte.d.ts +4 -0
- package/dist/components/ui/command/command-link-item.svelte +20 -0
- package/dist/components/ui/command/command-link-item.svelte.d.ts +4 -0
- package/dist/components/ui/command/command-list.svelte +20 -0
- package/dist/components/ui/command/command-list.svelte.d.ts +4 -0
- package/dist/components/ui/command/command-loading.svelte +7 -0
- package/dist/components/ui/command/command-loading.svelte.d.ts +4 -0
- package/dist/components/ui/command/command-separator.svelte +17 -0
- package/dist/components/ui/command/command-separator.svelte.d.ts +4 -0
- package/dist/components/ui/command/command-shortcut.svelte +23 -0
- package/dist/components/ui/command/command-shortcut.svelte.d.ts +5 -0
- package/dist/components/ui/command/command.svelte +28 -0
- package/dist/components/ui/command/command.svelte.d.ts +8 -0
- package/dist/components/ui/command/index.d.ts +12 -0
- package/dist/components/ui/command/index.js +14 -0
- package/dist/components/ui/command-palette/command-palette.svelte +94 -0
- package/dist/components/ui/command-palette/command-palette.svelte.d.ts +40 -0
- package/dist/components/ui/command-palette/index.d.ts +3 -0
- package/dist/components/ui/command-palette/index.js +2 -0
- package/dist/components/ui/context-column/context-column.svelte +56 -0
- package/dist/components/ui/context-column/context-column.svelte.d.ts +14 -0
- package/dist/components/ui/context-column/index.d.ts +2 -0
- package/dist/components/ui/context-column/index.js +2 -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/data-table-tanstack/data-table-tanstack.svelte +247 -0
- package/dist/components/ui/data-table-tanstack/data-table-tanstack.svelte.d.ts +79 -0
- package/dist/components/ui/data-table-tanstack/index.d.ts +3 -0
- package/dist/components/ui/data-table-tanstack/index.js +2 -0
- package/dist/components/ui/data-table-toolbar/data-table-toolbar.svelte +102 -0
- package/dist/components/ui/data-table-toolbar/data-table-toolbar.svelte.d.ts +32 -0
- package/dist/components/ui/data-table-toolbar/index.d.ts +3 -0
- package/dist/components/ui/data-table-toolbar/index.js +2 -0
- package/dist/components/ui/detail-panel/detail-panel.svelte +95 -0
- package/dist/components/ui/detail-panel/detail-panel.svelte.d.ts +26 -0
- package/dist/components/ui/detail-panel/index.d.ts +2 -0
- package/dist/components/ui/detail-panel/index.js +2 -0
- package/dist/components/ui/dialog/dialog-close.svelte +11 -0
- package/dist/components/ui/dialog/dialog-close.svelte.d.ts +4 -0
- package/dist/components/ui/dialog/dialog-content.svelte +48 -0
- package/dist/components/ui/dialog/dialog-content.svelte.d.ts +13 -0
- package/dist/components/ui/dialog/dialog-description.svelte +20 -0
- package/dist/components/ui/dialog/dialog-description.svelte.d.ts +4 -0
- package/dist/components/ui/dialog/dialog-footer.svelte +35 -0
- package/dist/components/ui/dialog/dialog-footer.svelte.d.ts +8 -0
- package/dist/components/ui/dialog/dialog-header.svelte +20 -0
- package/dist/components/ui/dialog/dialog-header.svelte.d.ts +5 -0
- package/dist/components/ui/dialog/dialog-overlay.svelte +20 -0
- package/dist/components/ui/dialog/dialog-overlay.svelte.d.ts +4 -0
- package/dist/components/ui/dialog/dialog-portal.svelte +7 -0
- package/dist/components/ui/dialog/dialog-portal.svelte.d.ts +3 -0
- package/dist/components/ui/dialog/dialog-title.svelte +17 -0
- package/dist/components/ui/dialog/dialog-title.svelte.d.ts +4 -0
- package/dist/components/ui/dialog/dialog-trigger.svelte +11 -0
- package/dist/components/ui/dialog/dialog-trigger.svelte.d.ts +4 -0
- package/dist/components/ui/dialog/dialog.svelte +7 -0
- package/dist/components/ui/dialog/dialog.svelte.d.ts +3 -0
- package/dist/components/ui/dialog/index.d.ts +11 -0
- package/dist/components/ui/dialog/index.js +13 -0
- package/dist/components/ui/dialog-section/dialog-section.svelte +20 -0
- package/dist/components/ui/dialog-section/dialog-section.svelte.d.ts +8 -0
- package/dist/components/ui/dialog-section/index.d.ts +2 -0
- package/dist/components/ui/dialog-section/index.js +2 -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 +44 -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 +27 -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 +34 -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 +23 -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 +20 -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 +29 -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/empty-state/empty-state.svelte +44 -0
- package/dist/components/ui/empty-state/empty-state.svelte.d.ts +14 -0
- package/dist/components/ui/empty-state/index.d.ts +2 -0
- package/dist/components/ui/empty-state/index.js +2 -0
- package/dist/components/ui/error-state/error-state.svelte +52 -0
- package/dist/components/ui/error-state/error-state.svelte.d.ts +10 -0
- package/dist/components/ui/error-state/index.d.ts +2 -0
- package/dist/components/ui/error-state/index.js +2 -0
- package/dist/components/ui/info-tip/index.d.ts +2 -0
- package/dist/components/ui/info-tip/index.js +2 -0
- package/dist/components/ui/info-tip/info-tip.svelte +37 -0
- package/dist/components/ui/info-tip/info-tip.svelte.d.ts +10 -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/input-group/index.d.ts +7 -0
- package/dist/components/ui/input-group/index.js +9 -0
- package/dist/components/ui/input-group/input-group-addon.svelte +53 -0
- package/dist/components/ui/input-group/input-group-addon.svelte.d.ts +32 -0
- package/dist/components/ui/input-group/input-group-button.svelte +49 -0
- package/dist/components/ui/input-group/input-group-button.svelte.d.ts +32 -0
- package/dist/components/ui/input-group/input-group-input.svelte +23 -0
- package/dist/components/ui/input-group/input-group-input.svelte.d.ts +11 -0
- package/dist/components/ui/input-group/input-group-text.svelte +22 -0
- package/dist/components/ui/input-group/input-group-text.svelte.d.ts +5 -0
- package/dist/components/ui/input-group/input-group-textarea.svelte +23 -0
- package/dist/components/ui/input-group/input-group-textarea.svelte.d.ts +3 -0
- package/dist/components/ui/input-group/input-group.svelte +24 -0
- package/dist/components/ui/input-group/input-group.svelte.d.ts +5 -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/loading-state/index.d.ts +2 -0
- package/dist/components/ui/loading-state/index.js +2 -0
- package/dist/components/ui/loading-state/loading-state.svelte +28 -0
- package/dist/components/ui/loading-state/loading-state.svelte.d.ts +8 -0
- package/dist/components/ui/page-header/index.d.ts +2 -0
- package/dist/components/ui/page-header/index.js +2 -0
- package/dist/components/ui/page-header/page-header.svelte +100 -0
- package/dist/components/ui/page-header/page-header.svelte.d.ts +17 -0
- package/dist/components/ui/panel/index.d.ts +2 -0
- package/dist/components/ui/panel/index.js +2 -0
- package/dist/components/ui/panel/panel.svelte +54 -0
- package/dist/components/ui/panel/panel.svelte.d.ts +16 -0
- package/dist/components/ui/password-input/index.d.ts +2 -0
- package/dist/components/ui/password-input/index.js +4 -0
- package/dist/components/ui/password-input/password-input.svelte +48 -0
- package/dist/components/ui/password-input/password-input.svelte.d.ts +8 -0
- package/dist/components/ui/popover/index.d.ts +4 -0
- package/dist/components/ui/popover/index.js +6 -0
- package/dist/components/ui/popover/popover-content.svelte +45 -0
- package/dist/components/ui/popover/popover-content.svelte.d.ts +7 -0
- package/dist/components/ui/popover/popover-trigger.svelte +7 -0
- package/dist/components/ui/popover/popover-trigger.svelte.d.ts +4 -0
- package/dist/components/ui/popover/popover.svelte +7 -0
- package/dist/components/ui/popover/popover.svelte.d.ts +3 -0
- package/dist/components/ui/progress/index.d.ts +2 -0
- package/dist/components/ui/progress/index.js +4 -0
- package/dist/components/ui/progress/progress.svelte +30 -0
- package/dist/components/ui/progress/progress.svelte.d.ts +4 -0
- package/dist/components/ui/scorecard/index.d.ts +2 -0
- package/dist/components/ui/scorecard/index.js +2 -0
- package/dist/components/ui/scorecard/scorecard.svelte +35 -0
- package/dist/components/ui/scorecard/scorecard.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 +38 -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 +23 -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 +23 -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 +29 -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/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/sonner/index.d.ts +1 -0
- package/dist/components/ui/sonner/index.js +1 -0
- package/dist/components/ui/sonner/sonner.svelte +34 -0
- package/dist/components/ui/sonner/sonner.svelte.d.ts +4 -0
- package/dist/components/ui/sparkline/index.d.ts +3 -0
- package/dist/components/ui/sparkline/index.js +2 -0
- package/dist/components/ui/sparkline/sparkline.svelte +90 -0
- package/dist/components/ui/sparkline/sparkline.svelte.d.ts +16 -0
- package/dist/components/ui/stat-card/index.d.ts +2 -0
- package/dist/components/ui/stat-card/index.js +2 -0
- package/dist/components/ui/stat-card/stat-card.svelte +77 -0
- package/dist/components/ui/stat-card/stat-card.svelte.d.ts +34 -0
- package/dist/components/ui/stat-list/index.d.ts +3 -0
- package/dist/components/ui/stat-list/index.js +2 -0
- package/dist/components/ui/stat-list/stat-list.svelte +80 -0
- package/dist/components/ui/stat-list/stat-list.svelte.d.ts +23 -0
- package/dist/components/ui/status/index.d.ts +1 -0
- package/dist/components/ui/status/index.js +1 -0
- package/dist/components/ui/status-badge/index.d.ts +3 -0
- package/dist/components/ui/status-badge/index.js +2 -0
- package/dist/components/ui/status-badge/status-badge.svelte +53 -0
- package/dist/components/ui/status-badge/status-badge.svelte.d.ts +39 -0
- package/dist/components/ui/switch/index.d.ts +2 -0
- package/dist/components/ui/switch/index.js +4 -0
- package/dist/components/ui/switch/switch.svelte +39 -0
- package/dist/components/ui/switch/switch.svelte.d.ts +4 -0
- package/dist/components/ui/table/index.d.ts +10 -0
- package/dist/components/ui/table/index.js +12 -0
- package/dist/components/ui/table/table-body.svelte +20 -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 +20 -0
- package/dist/components/ui/table/table-cell.svelte.d.ts +5 -0
- package/dist/components/ui/table/table-classes.d.ts +15 -0
- package/dist/components/ui/table/table-classes.js +15 -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 +23 -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 +23 -0
- package/dist/components/ui/table/table-row.svelte.d.ts +5 -0
- package/dist/components/ui/table/table.svelte +37 -0
- package/dist/components/ui/table/table.svelte.d.ts +20 -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 +13 -0
- package/dist/components/ui/tabs/tabs-content.svelte.d.ts +4 -0
- package/dist/components/ui/tabs/tabs-list.svelte +16 -0
- package/dist/components/ui/tabs/tabs-list.svelte.d.ts +4 -0
- package/dist/components/ui/tabs/tabs-trigger.svelte +16 -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/textarea/index.d.ts +2 -0
- package/dist/components/ui/textarea/index.js +4 -0
- package/dist/components/ui/textarea/textarea.svelte +22 -0
- package/dist/components/ui/textarea/textarea.svelte.d.ts +5 -0
- package/dist/components/ui/tile-grid/index.d.ts +2 -0
- package/dist/components/ui/tile-grid/index.js +2 -0
- package/dist/components/ui/tile-grid/tile-grid.svelte +66 -0
- package/dist/components/ui/tile-grid/tile-grid.svelte.d.ts +43 -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 +4 -0
- package/dist/components/ui/tooltip/tooltip.svelte +7 -0
- package/dist/components/ui/tooltip/tooltip.svelte.d.ts +4 -0
- package/dist/styles.css +961 -0
- package/dist/utils.d.ts +12 -0
- package/dist/utils.js +5 -0
- package/package.json +81 -0
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The ⌘K palette, wired to the same navigation the shell renders.
|
|
3
|
+
*
|
|
4
|
+
* It ships beside AppShell because it had the identical coupling: the
|
|
5
|
+
* reference implementation imported its app's navigation module directly, so
|
|
6
|
+
* lifting the shell without it would have left the shell's search affordance
|
|
7
|
+
* pointing at nothing. One nav config now feeds both.
|
|
8
|
+
*
|
|
9
|
+
* The shortcut is bound here rather than in the consuming layout — every app
|
|
10
|
+
* that had a palette had re-typed the same `(metaKey || ctrlKey) && 'k'`
|
|
11
|
+
* handler, and one of them then needed a synthetic-keydown hack to reach it
|
|
12
|
+
* from the shell. Owning the binding removes both.
|
|
13
|
+
*
|
|
14
|
+
* let paletteOpen = $state(false);
|
|
15
|
+
* <AppShell {nav} onSearch={() => (paletteOpen = true)}>…</AppShell>
|
|
16
|
+
* <CommandPalette bind:open={paletteOpen} {nav} onNavigate={goto} />
|
|
17
|
+
*/
|
|
18
|
+
import type { Snippet } from 'svelte';
|
|
19
|
+
import { type NavSource } from '../app-shell/types.js';
|
|
20
|
+
type $$ComponentProps = {
|
|
21
|
+
open?: boolean;
|
|
22
|
+
/** The same value passed to AppShell. Filter for permissions first. */
|
|
23
|
+
nav?: NavSource;
|
|
24
|
+
/**
|
|
25
|
+
* How to go somewhere. Apps pass SvelteKit's `goto` for a client-side
|
|
26
|
+
* transition; the default is a full navigation, so the palette works in an
|
|
27
|
+
* app with no router rather than silently doing nothing.
|
|
28
|
+
*/
|
|
29
|
+
onNavigate?: (href: string) => void;
|
|
30
|
+
placeholder?: string;
|
|
31
|
+
navHeading?: string;
|
|
32
|
+
emptyText?: string;
|
|
33
|
+
/** Bind ⌘K / Ctrl-K to toggle. Turn off to drive `open` yourself. */
|
|
34
|
+
shortcut?: boolean;
|
|
35
|
+
/** Extra command groups: app-specific actions beneath the nav group. */
|
|
36
|
+
children?: Snippet;
|
|
37
|
+
};
|
|
38
|
+
declare const CommandPalette: import("svelte").Component<$$ComponentProps, {}, "open">;
|
|
39
|
+
type CommandPalette = ReturnType<typeof CommandPalette>;
|
|
40
|
+
export default CommandPalette;
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import type { Snippet } from 'svelte';
|
|
3
|
+
import type { HTMLAttributes } from 'svelte/elements';
|
|
4
|
+
import { cn, type WithElementRef } from '../../../utils.js';
|
|
5
|
+
import StatList from '../stat-list/stat-list.svelte';
|
|
6
|
+
import type { StatItem } from '../stat-list/stat-list.svelte';
|
|
7
|
+
|
|
8
|
+
// The persistent right-hand context column, identical on every route. It holds
|
|
9
|
+
// one standing "At a glance" stat card and, on routes with a selectable table,
|
|
10
|
+
// the selected-row detail beneath it (a DetailPanel passed as the `detail`
|
|
11
|
+
// snippet). The stat card stays put; the detail flows in on select and leaves
|
|
12
|
+
// on deselect, so the column never changes shape.
|
|
13
|
+
//
|
|
14
|
+
// Width is clamped (shared-design-language §6) so a wide screen earns
|
|
15
|
+
// information, not emptiness. The column is a flex child of the page body row;
|
|
16
|
+
// the stat card is shrink-0 and any detail takes the remaining height with its
|
|
17
|
+
// own inner scroll.
|
|
18
|
+
//
|
|
19
|
+
// Below xl (1280px) the column is hidden so the primary pane keeps full width:
|
|
20
|
+
// a fixed nav rail plus a ~400px column would crush the content on a narrow
|
|
21
|
+
// screen. The proper narrow-viewport treatment (off-canvas nav, stacking panes)
|
|
22
|
+
// is a separate workstream; this is the regression guard until it lands.
|
|
23
|
+
let {
|
|
24
|
+
stats,
|
|
25
|
+
statsTitle = 'At a glance',
|
|
26
|
+
statsInfo,
|
|
27
|
+
detail,
|
|
28
|
+
/** The landmark's accessible name. `<aside>` with no name is exposed as
|
|
29
|
+
"complementary" alone — set this to identify which one. */
|
|
30
|
+
ariaLabel,
|
|
31
|
+
ref = $bindable(null),
|
|
32
|
+
class: className,
|
|
33
|
+
...restProps
|
|
34
|
+
}: WithElementRef<HTMLAttributes<HTMLElement>> & {
|
|
35
|
+
stats: StatItem[];
|
|
36
|
+
statsTitle?: string;
|
|
37
|
+
statsInfo?: string;
|
|
38
|
+
detail?: Snippet;
|
|
39
|
+
ariaLabel?: string;
|
|
40
|
+
} = $props();
|
|
41
|
+
</script>
|
|
42
|
+
|
|
43
|
+
<aside
|
|
44
|
+
bind:this={ref}
|
|
45
|
+
aria-label={ariaLabel}
|
|
46
|
+
class={cn(
|
|
47
|
+
'hidden max-h-full min-h-0 w-[clamp(360px,28vw,460px)] shrink-0 flex-col gap-5 xl:flex',
|
|
48
|
+
className
|
|
49
|
+
)}
|
|
50
|
+
{...restProps}
|
|
51
|
+
>
|
|
52
|
+
<StatList items={stats} title={statsTitle} info={statsInfo} />
|
|
53
|
+
{#if detail}
|
|
54
|
+
{@render detail()}
|
|
55
|
+
{/if}
|
|
56
|
+
</aside>
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { Snippet } from 'svelte';
|
|
2
|
+
import type { HTMLAttributes } from 'svelte/elements';
|
|
3
|
+
import { type WithElementRef } from '../../../utils.js';
|
|
4
|
+
import type { StatItem } from '../stat-list/stat-list.svelte';
|
|
5
|
+
type $$ComponentProps = WithElementRef<HTMLAttributes<HTMLElement>> & {
|
|
6
|
+
stats: StatItem[];
|
|
7
|
+
statsTitle?: string;
|
|
8
|
+
statsInfo?: string;
|
|
9
|
+
detail?: Snippet;
|
|
10
|
+
ariaLabel?: string;
|
|
11
|
+
};
|
|
12
|
+
declare const ContextColumn: import("svelte").Component<$$ComponentProps, {}, "ref">;
|
|
13
|
+
type ContextColumn = ReturnType<typeof ContextColumn>;
|
|
14
|
+
export default ContextColumn;
|
|
@@ -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 {};
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { createTable } 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 function createSvelteTable(options) {
|
|
29
|
+
const resolvedOptions = mergeObjects({
|
|
30
|
+
state: {},
|
|
31
|
+
onStateChange() { },
|
|
32
|
+
renderFallbackValue: null,
|
|
33
|
+
mergeOptions: (defaultOptions, options) => {
|
|
34
|
+
return mergeObjects(defaultOptions, options);
|
|
35
|
+
}
|
|
36
|
+
}, options);
|
|
37
|
+
const table = createTable(resolvedOptions);
|
|
38
|
+
let state = $state(table.initialState);
|
|
39
|
+
function updateOptions() {
|
|
40
|
+
table.setOptions(() => {
|
|
41
|
+
return mergeObjects(resolvedOptions, options, {
|
|
42
|
+
state: mergeObjects(state, options.state || {}),
|
|
43
|
+
onStateChange: (updater) => {
|
|
44
|
+
if (updater instanceof Function)
|
|
45
|
+
state = updater(state);
|
|
46
|
+
else
|
|
47
|
+
state = mergeObjects(state, updater);
|
|
48
|
+
options.onStateChange?.(updater);
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
updateOptions();
|
|
54
|
+
$effect.pre(() => {
|
|
55
|
+
updateOptions();
|
|
56
|
+
});
|
|
57
|
+
return table;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Lazily merges several objects (or thunks) while preserving
|
|
61
|
+
* getter semantics from every source.
|
|
62
|
+
*
|
|
63
|
+
* Proxy-based to avoid known WebKit recursion issue.
|
|
64
|
+
*/
|
|
65
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
66
|
+
export function mergeObjects(...sources) {
|
|
67
|
+
const resolve = (src) => typeof src === 'function' ? (src() ?? undefined) : src;
|
|
68
|
+
const findSourceWithKey = (key) => {
|
|
69
|
+
for (let i = sources.length - 1; i >= 0; i--) {
|
|
70
|
+
const obj = resolve(sources[i]);
|
|
71
|
+
if (obj && key in obj)
|
|
72
|
+
return obj;
|
|
73
|
+
}
|
|
74
|
+
return undefined;
|
|
75
|
+
};
|
|
76
|
+
return new Proxy(Object.create(null), {
|
|
77
|
+
get(_, key) {
|
|
78
|
+
const src = findSourceWithKey(key);
|
|
79
|
+
return src?.[key];
|
|
80
|
+
},
|
|
81
|
+
has(_, key) {
|
|
82
|
+
return !!findSourceWithKey(key);
|
|
83
|
+
},
|
|
84
|
+
ownKeys() {
|
|
85
|
+
// eslint-disable-next-line svelte/prefer-svelte-reactivity
|
|
86
|
+
const all = new Set();
|
|
87
|
+
for (const s of sources) {
|
|
88
|
+
const obj = resolve(s);
|
|
89
|
+
if (obj) {
|
|
90
|
+
for (const k of Reflect.ownKeys(obj)) {
|
|
91
|
+
all.add(k);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
return [...all];
|
|
96
|
+
},
|
|
97
|
+
getOwnPropertyDescriptor(_, key) {
|
|
98
|
+
const src = findSourceWithKey(key);
|
|
99
|
+
if (!src)
|
|
100
|
+
return undefined;
|
|
101
|
+
return {
|
|
102
|
+
configurable: true,
|
|
103
|
+
enumerable: true,
|
|
104
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
105
|
+
value: src[key],
|
|
106
|
+
writable: true
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
});
|
|
110
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
<script
|
|
2
|
+
lang="ts"
|
|
3
|
+
generics="TData, TValue, TContext extends HeaderContext<TData, TValue> | CellContext<TData, TValue>"
|
|
4
|
+
>
|
|
5
|
+
import type { CellContext, ColumnDefTemplate, HeaderContext } from '@tanstack/table-core';
|
|
6
|
+
import { RenderComponentConfig, RenderSnippetConfig } from './render-helpers.js';
|
|
7
|
+
import type { Attachment } from 'svelte/attachments';
|
|
8
|
+
type Props = {
|
|
9
|
+
/** The cell or header field of the current cell's column definition. */
|
|
10
|
+
content?: TContext extends HeaderContext<TData, TValue>
|
|
11
|
+
? ColumnDefTemplate<HeaderContext<TData, TValue>>
|
|
12
|
+
: TContext extends CellContext<TData, TValue>
|
|
13
|
+
? ColumnDefTemplate<CellContext<TData, TValue>>
|
|
14
|
+
: never;
|
|
15
|
+
/** The result of the `getContext()` function of the header or cell */
|
|
16
|
+
context: TContext;
|
|
17
|
+
|
|
18
|
+
/** Used to pass attachments that can't be gotten through context */
|
|
19
|
+
attach?: Attachment;
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
let { content, context, attach }: Props = $props();
|
|
23
|
+
</script>
|
|
24
|
+
|
|
25
|
+
{#if typeof content === 'string'}
|
|
26
|
+
{content}
|
|
27
|
+
{:else if content instanceof Function}
|
|
28
|
+
<!-- It's unlikely that a CellContext will be passed to a Header -->
|
|
29
|
+
<!-- eslint-disable-next-line @typescript-eslint/no-explicit-any -->
|
|
30
|
+
{@const result = content(context as any)}
|
|
31
|
+
{#if result instanceof RenderComponentConfig}
|
|
32
|
+
{@const { component: Component, props } = result}
|
|
33
|
+
<Component {...props} {attach} />
|
|
34
|
+
{:else if result instanceof RenderSnippetConfig}
|
|
35
|
+
{@const { snippet, params } = result}
|
|
36
|
+
{@render snippet({ ...params, attach })}
|
|
37
|
+
{:else}
|
|
38
|
+
{result}
|
|
39
|
+
{/if}
|
|
40
|
+
{/if}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { CellContext, ColumnDefTemplate, HeaderContext } from '@tanstack/table-core';
|
|
2
|
+
import type { Attachment } from 'svelte/attachments';
|
|
3
|
+
declare function $$render<TData, TValue, TContext extends HeaderContext<TData, TValue> | CellContext<TData, TValue>>(): {
|
|
4
|
+
props: {
|
|
5
|
+
/** The cell or header field of the current cell's column definition. */
|
|
6
|
+
content?: TContext extends HeaderContext<TData, TValue> ? ColumnDefTemplate<HeaderContext<TData, TValue>> : TContext extends CellContext<TData, TValue> ? ColumnDefTemplate<CellContext<TData, TValue>> : never;
|
|
7
|
+
/** The result of the `getContext()` function of the header or cell */
|
|
8
|
+
context: TContext;
|
|
9
|
+
/** Used to pass attachments that can't be gotten through context */
|
|
10
|
+
attach?: Attachment;
|
|
11
|
+
};
|
|
12
|
+
exports: {};
|
|
13
|
+
bindings: "";
|
|
14
|
+
slots: {};
|
|
15
|
+
events: {};
|
|
16
|
+
};
|
|
17
|
+
declare class __sveltets_Render<TData, TValue, TContext extends HeaderContext<TData, TValue> | CellContext<TData, TValue>> {
|
|
18
|
+
props(): ReturnType<typeof $$render<TData, TValue, TContext>>['props'];
|
|
19
|
+
events(): ReturnType<typeof $$render<TData, TValue, TContext>>['events'];
|
|
20
|
+
slots(): ReturnType<typeof $$render<TData, TValue, TContext>>['slots'];
|
|
21
|
+
bindings(): "";
|
|
22
|
+
exports(): {};
|
|
23
|
+
}
|
|
24
|
+
interface $$IsomorphicComponent {
|
|
25
|
+
new <TData, TValue, TContext extends HeaderContext<TData, TValue> | CellContext<TData, TValue>>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<TData, TValue, TContext>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<TData, TValue, TContext>['props']>, ReturnType<__sveltets_Render<TData, TValue, TContext>['events']>, ReturnType<__sveltets_Render<TData, TValue, TContext>['slots']>> & {
|
|
26
|
+
$$bindings?: ReturnType<__sveltets_Render<TData, TValue, TContext>['bindings']>;
|
|
27
|
+
} & ReturnType<__sveltets_Render<TData, TValue, TContext>['exports']>;
|
|
28
|
+
<TData, TValue, TContext extends HeaderContext<TData, TValue> | CellContext<TData, TValue>>(internal: unknown, props: ReturnType<__sveltets_Render<TData, TValue, TContext>['props']> & {}): ReturnType<__sveltets_Render<TData, TValue, TContext>['exports']>;
|
|
29
|
+
z_$$bindings?: ReturnType<__sveltets_Render<any, any, any>['bindings']>;
|
|
30
|
+
}
|
|
31
|
+
declare const FlexRender: $$IsomorphicComponent;
|
|
32
|
+
type FlexRender<TData, TValue, TContext extends HeaderContext<TData, TValue> | CellContext<TData, TValue>> = InstanceType<typeof FlexRender<TData, TValue, TContext>>;
|
|
33
|
+
export default FlexRender;
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import type { Component, ComponentProps, Snippet } from 'svelte';
|
|
2
|
+
/**
|
|
3
|
+
* A helper class to make it easy to identify Svelte components in
|
|
4
|
+
* `columnDef.cell` and `columnDef.header` properties.
|
|
5
|
+
*
|
|
6
|
+
* > NOTE: This class should only be used internally by the adapter. If you're
|
|
7
|
+
* reading this and you don't know what this is for, you probably don't need it.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```svelte
|
|
11
|
+
* {@const result = content(context as any)}
|
|
12
|
+
* {#if result instanceof RenderComponentConfig}
|
|
13
|
+
* {@const { component: Component, props } = result}
|
|
14
|
+
* <Component {...props} />
|
|
15
|
+
* {/if}
|
|
16
|
+
* ```
|
|
17
|
+
*/
|
|
18
|
+
export declare class RenderComponentConfig<TComponent extends Component> {
|
|
19
|
+
component: TComponent;
|
|
20
|
+
props: ComponentProps<TComponent> | Record<string, never>;
|
|
21
|
+
constructor(component: TComponent, props?: ComponentProps<TComponent> | Record<string, never>);
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* A helper class to make it easy to identify Svelte Snippets in `columnDef.cell` and `columnDef.header` properties.
|
|
25
|
+
*
|
|
26
|
+
* > NOTE: This class should only be used internally by the adapter. If you're
|
|
27
|
+
* reading this and you don't know what this is for, you probably don't need it.
|
|
28
|
+
*
|
|
29
|
+
* @example
|
|
30
|
+
* ```svelte
|
|
31
|
+
* {@const result = content(context as any)}
|
|
32
|
+
* {#if result instanceof RenderSnippetConfig}
|
|
33
|
+
* {@const { snippet, params } = result}
|
|
34
|
+
* {@render snippet(params)}
|
|
35
|
+
* {/if}
|
|
36
|
+
* ```
|
|
37
|
+
*/
|
|
38
|
+
export declare class RenderSnippetConfig<TProps> {
|
|
39
|
+
snippet: Snippet<[TProps]>;
|
|
40
|
+
params: TProps;
|
|
41
|
+
constructor(snippet: Snippet<[TProps]>, params: TProps);
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* A helper function to help create cells from Svelte components through ColumnDef's `cell` and `header` properties.
|
|
45
|
+
*
|
|
46
|
+
* This is only to be used with Svelte Components - use `renderSnippet` for Svelte Snippets.
|
|
47
|
+
*
|
|
48
|
+
* @param component A Svelte component
|
|
49
|
+
* @param props The props to pass to `component`
|
|
50
|
+
* @returns A `RenderComponentConfig` object that helps svelte-table know how to render the header/cell component.
|
|
51
|
+
* @example
|
|
52
|
+
* ```ts
|
|
53
|
+
* // +page.svelte
|
|
54
|
+
* const defaultColumns = [
|
|
55
|
+
* columnHelper.accessor('name', {
|
|
56
|
+
* header: header => renderComponent(SortHeader, { label: 'Name', header }),
|
|
57
|
+
* }),
|
|
58
|
+
* columnHelper.accessor('state', {
|
|
59
|
+
* header: header => renderComponent(SortHeader, { label: 'State', header }),
|
|
60
|
+
* }),
|
|
61
|
+
* ]
|
|
62
|
+
* ```
|
|
63
|
+
* @see {@link https://tanstack.com/table/latest/docs/guide/column-defs}
|
|
64
|
+
*/
|
|
65
|
+
export declare function renderComponent<T extends Component<any>, Props extends ComponentProps<T>>(component: T, props?: Props): RenderComponentConfig<T>;
|
|
66
|
+
/**
|
|
67
|
+
* A helper function to help create cells from Svelte Snippets through ColumnDef's `cell` and `header` properties.
|
|
68
|
+
*
|
|
69
|
+
* The snippet must only take one parameter.
|
|
70
|
+
*
|
|
71
|
+
* This is only to be used with Snippets - use `renderComponent` for Svelte Components.
|
|
72
|
+
*
|
|
73
|
+
* @param snippet
|
|
74
|
+
* @param params
|
|
75
|
+
* @returns - A `RenderSnippetConfig` object that helps svelte-table know how to render the header/cell snippet.
|
|
76
|
+
* @example
|
|
77
|
+
* ```ts
|
|
78
|
+
* // +page.svelte
|
|
79
|
+
* const defaultColumns = [
|
|
80
|
+
* columnHelper.accessor('name', {
|
|
81
|
+
* cell: cell => renderSnippet(nameSnippet, { name: cell.row.name }),
|
|
82
|
+
* }),
|
|
83
|
+
* columnHelper.accessor('state', {
|
|
84
|
+
* cell: cell => renderSnippet(stateSnippet, { state: cell.row.state }),
|
|
85
|
+
* }),
|
|
86
|
+
* ]
|
|
87
|
+
* ```
|
|
88
|
+
* @see {@link https://tanstack.com/table/latest/docs/guide/column-defs}
|
|
89
|
+
*/
|
|
90
|
+
export declare function renderSnippet<TProps>(snippet: Snippet<[TProps]>, params?: TProps): RenderSnippetConfig<TProps>;
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A helper class to make it easy to identify Svelte components in
|
|
3
|
+
* `columnDef.cell` and `columnDef.header` properties.
|
|
4
|
+
*
|
|
5
|
+
* > NOTE: This class should only be used internally by the adapter. If you're
|
|
6
|
+
* reading this and you don't know what this is for, you probably don't need it.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```svelte
|
|
10
|
+
* {@const result = content(context as any)}
|
|
11
|
+
* {#if result instanceof RenderComponentConfig}
|
|
12
|
+
* {@const { component: Component, props } = result}
|
|
13
|
+
* <Component {...props} />
|
|
14
|
+
* {/if}
|
|
15
|
+
* ```
|
|
16
|
+
*/
|
|
17
|
+
export class RenderComponentConfig {
|
|
18
|
+
component;
|
|
19
|
+
props;
|
|
20
|
+
constructor(component, props = {}) {
|
|
21
|
+
this.component = component;
|
|
22
|
+
this.props = props;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* A helper class to make it easy to identify Svelte Snippets in `columnDef.cell` and `columnDef.header` properties.
|
|
27
|
+
*
|
|
28
|
+
* > NOTE: This class should only be used internally by the adapter. If you're
|
|
29
|
+
* reading this and you don't know what this is for, you probably don't need it.
|
|
30
|
+
*
|
|
31
|
+
* @example
|
|
32
|
+
* ```svelte
|
|
33
|
+
* {@const result = content(context as any)}
|
|
34
|
+
* {#if result instanceof RenderSnippetConfig}
|
|
35
|
+
* {@const { snippet, params } = result}
|
|
36
|
+
* {@render snippet(params)}
|
|
37
|
+
* {/if}
|
|
38
|
+
* ```
|
|
39
|
+
*/
|
|
40
|
+
export class RenderSnippetConfig {
|
|
41
|
+
snippet;
|
|
42
|
+
params;
|
|
43
|
+
constructor(snippet, params) {
|
|
44
|
+
this.snippet = snippet;
|
|
45
|
+
this.params = params;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* A helper function to help create cells from Svelte components through ColumnDef's `cell` and `header` properties.
|
|
50
|
+
*
|
|
51
|
+
* This is only to be used with Svelte Components - use `renderSnippet` for Svelte Snippets.
|
|
52
|
+
*
|
|
53
|
+
* @param component A Svelte component
|
|
54
|
+
* @param props The props to pass to `component`
|
|
55
|
+
* @returns A `RenderComponentConfig` object that helps svelte-table know how to render the header/cell component.
|
|
56
|
+
* @example
|
|
57
|
+
* ```ts
|
|
58
|
+
* // +page.svelte
|
|
59
|
+
* const defaultColumns = [
|
|
60
|
+
* columnHelper.accessor('name', {
|
|
61
|
+
* header: header => renderComponent(SortHeader, { label: 'Name', header }),
|
|
62
|
+
* }),
|
|
63
|
+
* columnHelper.accessor('state', {
|
|
64
|
+
* header: header => renderComponent(SortHeader, { label: 'State', header }),
|
|
65
|
+
* }),
|
|
66
|
+
* ]
|
|
67
|
+
* ```
|
|
68
|
+
* @see {@link https://tanstack.com/table/latest/docs/guide/column-defs}
|
|
69
|
+
*/
|
|
70
|
+
export function renderComponent(component, props = {}) {
|
|
71
|
+
return new RenderComponentConfig(component, props);
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* A helper function to help create cells from Svelte Snippets through ColumnDef's `cell` and `header` properties.
|
|
75
|
+
*
|
|
76
|
+
* The snippet must only take one parameter.
|
|
77
|
+
*
|
|
78
|
+
* This is only to be used with Snippets - use `renderComponent` for Svelte Components.
|
|
79
|
+
*
|
|
80
|
+
* @param snippet
|
|
81
|
+
* @param params
|
|
82
|
+
* @returns - A `RenderSnippetConfig` object that helps svelte-table know how to render the header/cell snippet.
|
|
83
|
+
* @example
|
|
84
|
+
* ```ts
|
|
85
|
+
* // +page.svelte
|
|
86
|
+
* const defaultColumns = [
|
|
87
|
+
* columnHelper.accessor('name', {
|
|
88
|
+
* cell: cell => renderSnippet(nameSnippet, { name: cell.row.name }),
|
|
89
|
+
* }),
|
|
90
|
+
* columnHelper.accessor('state', {
|
|
91
|
+
* cell: cell => renderSnippet(stateSnippet, { state: cell.row.state }),
|
|
92
|
+
* }),
|
|
93
|
+
* ]
|
|
94
|
+
* ```
|
|
95
|
+
* @see {@link https://tanstack.com/table/latest/docs/guide/column-defs}
|
|
96
|
+
*/
|
|
97
|
+
export function renderSnippet(snippet, params = {}) {
|
|
98
|
+
return new RenderSnippetConfig(snippet, params);
|
|
99
|
+
}
|