@devalok/shilp-sutra 0.34.1 → 0.36.0
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/LICENSE +21 -21
- package/dist/_chunks/badge-group.js +95 -95
- package/dist/_chunks/badge-group.js.map +1 -0
- package/dist/_chunks/chat.js +7 -2
- package/dist/_chunks/chat.js.map +1 -0
- package/dist/_chunks/date-picker.js.map +1 -0
- package/dist/_chunks/document-preview.js.map +1 -0
- package/dist/_chunks/file-preview.js.map +1 -0
- package/dist/_chunks/framer.js +62 -62
- package/dist/_chunks/framer.js.map +1 -0
- package/dist/_chunks/image-preview.js +1 -1
- package/dist/_chunks/image-preview.js.map +1 -0
- package/dist/_chunks/keybinding.js.map +1 -0
- package/dist/_chunks/link-context.js.map +1 -0
- package/dist/_chunks/mention-suggestion.js.map +1 -0
- package/dist/_chunks/motion-provider.js.map +1 -0
- package/dist/_chunks/popover.js +32 -36
- package/dist/_chunks/popover.js.map +1 -0
- package/dist/_chunks/primitives.js +686 -686
- package/dist/_chunks/primitives.js.map +1 -0
- package/dist/_chunks/rich-chat-input.js +650 -649
- package/dist/_chunks/rich-chat-input.js.map +1 -0
- package/dist/_chunks/shared.js.map +1 -0
- package/dist/_chunks/sonner.js.map +1 -0
- package/dist/_chunks/stat-row.js +158 -158
- package/dist/_chunks/stat-row.js.map +1 -0
- package/dist/_chunks/tiptap.js +11 -11
- package/dist/_chunks/tiptap.js.map +1 -0
- package/dist/_chunks/tree-view.js +1 -1
- package/dist/_chunks/tree-view.js.map +1 -0
- package/dist/_chunks/use-calendar.js.map +1 -0
- package/dist/_chunks/vendor-client.js +1 -1
- package/dist/_chunks/vendor-client.js.map +1 -0
- package/dist/_chunks/vendor-utils.js.map +1 -0
- package/dist/ai/ai-command-provider.js.map +1 -0
- package/dist/ai/block-renderer.js.map +1 -0
- package/dist/ai/blocks/loading.d.ts.map +1 -1
- package/dist/ai/command-bar.js.map +1 -0
- package/dist/ai/conversation.js +76 -76
- package/dist/ai/conversation.js.map +1 -0
- package/dist/ai/devadoot-icon.d.ts.map +1 -1
- package/dist/ai/index.js.map +1 -0
- package/dist/composed/activity-feed.js.map +1 -0
- package/dist/composed/avatar-group.js +1 -1
- package/dist/composed/avatar-group.js.map +1 -0
- package/dist/composed/bulk-action-bar.js +13 -21
- package/dist/composed/bulk-action-bar.js.map +1 -0
- package/dist/composed/command-palette.js.map +1 -0
- package/dist/composed/confirm-dialog.js.map +1 -0
- package/dist/composed/content-card.js.map +1 -0
- package/dist/composed/deadline-indicator.js.map +1 -0
- package/dist/composed/emoji-picker.js.map +1 -0
- package/dist/composed/empty-state.d.ts.map +1 -1
- package/dist/composed/empty-state.js +30 -30
- package/dist/composed/empty-state.js.map +1 -0
- package/dist/composed/error-boundary.js.map +1 -0
- package/dist/composed/filter-bar.js.map +1 -0
- package/dist/composed/form-section.js.map +1 -0
- package/dist/composed/global-loading.js.map +1 -0
- package/dist/composed/inline-edit.js.map +1 -0
- package/dist/composed/lib/string-utils.js.map +1 -0
- package/dist/composed/loading-skeleton.js.map +1 -0
- package/dist/composed/markdown-viewer.js.map +1 -0
- package/dist/composed/master-detail.js.map +1 -0
- package/dist/composed/member-picker.js.map +1 -0
- package/dist/composed/multi-select-popover.d.ts.map +1 -1
- package/dist/composed/multi-select-popover.js +4 -0
- package/dist/composed/multi-select-popover.js.map +1 -0
- package/dist/composed/page-header.js.map +1 -0
- package/dist/composed/page-skeletons.js.map +1 -0
- package/dist/composed/priority-indicator.js.map +1 -0
- package/dist/composed/responsive-overlay.js.map +1 -0
- package/dist/composed/rich-chat-input/attachment-strip.d.ts.map +1 -1
- package/dist/composed/rich-chat-input/reply-banner.d.ts.map +1 -1
- package/dist/composed/rich-chat-input/schedule-send.d.ts.map +1 -1
- package/dist/composed/rich-chat-input.d.ts.map +1 -1
- package/dist/composed/rich-text-editor.js.map +1 -0
- package/dist/composed/schedule-view.js.map +1 -0
- package/dist/composed/simple-tooltip.js.map +1 -0
- package/dist/composed/status-badge.d.ts.map +1 -1
- package/dist/composed/status-badge.js.map +1 -0
- package/dist/hooks/use-color-mode.js.map +1 -0
- package/dist/hooks/use-mobile.js.map +1 -0
- package/dist/hooks/use-touch-device.js.map +1 -0
- package/dist/hooks/use-viewport-height.js.map +1 -0
- package/dist/motion/check-motion-provider.d.ts +3 -0
- package/dist/motion/check-motion-provider.d.ts.map +1 -0
- package/dist/motion/index.js +14 -0
- package/dist/motion/index.js.map +1 -0
- package/dist/motion/primitives-index.js.map +1 -0
- package/dist/primitives/react-accordion.d.ts +114 -114
- package/dist/primitives/react-alert-dialog.d.ts +51 -51
- package/dist/primitives/react-aspect-ratio.d.ts +11 -11
- package/dist/primitives/react-avatar.d.ts +24 -24
- package/dist/primitives/react-checkbox.d.ts +50 -50
- package/dist/primitives/react-collapsible.d.ts +33 -33
- package/dist/primitives/react-context-menu.d.ts +96 -96
- package/dist/primitives/react-dialog.d.ts +103 -103
- package/dist/primitives/react-dropdown-menu.d.ts +97 -97
- package/dist/primitives/react-hover-card.d.ts +79 -79
- package/dist/primitives/react-label.d.ts +10 -10
- package/dist/primitives/react-menu.d.ts +169 -169
- package/dist/primitives/react-menubar.d.ts +115 -115
- package/dist/primitives/react-navigation-menu.d.ts +126 -126
- package/dist/primitives/react-popover.d.ts +85 -85
- package/dist/primitives/react-progress.d.ts +19 -19
- package/dist/primitives/react-radio-group.d.ts +58 -58
- package/dist/primitives/react-roving-focus.d.ts +49 -49
- package/dist/primitives/react-select.d.ts +137 -137
- package/dist/primitives/react-separator.d.ts +21 -21
- package/dist/primitives/react-slider.d.ts +75 -75
- package/dist/primitives/react-switch.d.ts +21 -21
- package/dist/primitives/react-tabs.d.ts +56 -56
- package/dist/primitives/react-toast.d.ts +120 -120
- package/dist/primitives/react-toggle-group.d.ts +75 -75
- package/dist/primitives/react-toggle.d.ts +24 -24
- package/dist/primitives/react-tooltip.d.ts +101 -101
- package/dist/primitives/react-visually-hidden.d.ts +22 -22
- package/dist/shell/app-command-palette.d.ts +2 -0
- package/dist/shell/app-command-palette.d.ts.map +1 -1
- package/dist/shell/app-command-palette.js +42 -155
- package/dist/shell/app-command-palette.js.map +1 -0
- package/dist/shell/bottom-navbar.js +1 -1
- package/dist/shell/bottom-navbar.js.map +1 -0
- package/dist/shell/command-registry.js.map +1 -0
- package/dist/shell/notification-center.d.ts.map +1 -1
- package/dist/shell/notification-center.js +194 -169
- package/dist/shell/notification-center.js.map +1 -0
- package/dist/shell/notification-preferences.js.map +1 -0
- package/dist/shell/sidebar.js.map +1 -0
- package/dist/shell/top-bar.js +1 -1
- package/dist/shell/top-bar.js.map +1 -0
- package/dist/tailwind/index.cjs +48 -1
- package/dist/tailwind/preset.d.ts.map +1 -1
- package/dist/tailwind/preset.js +48 -1
- package/dist/tailwind/preset.js.map +1 -0
- package/dist/tokens/index.css +4 -4
- package/dist/tokens/primitives.css +442 -442
- package/dist/tokens/semantic.css +742 -547
- package/dist/tokens/typography-semantic.css +123 -100
- package/dist/tokens/typography.css +422 -422
- package/dist/ui/accordion.js +13 -13
- package/dist/ui/accordion.js.map +1 -0
- package/dist/ui/alert-dialog.d.ts +6 -2
- package/dist/ui/alert-dialog.d.ts.map +1 -1
- package/dist/ui/alert-dialog.js +43 -42
- package/dist/ui/alert-dialog.js.map +1 -0
- package/dist/ui/alert.d.ts +3 -2
- package/dist/ui/alert.d.ts.map +1 -1
- package/dist/ui/alert.js +31 -5
- package/dist/ui/alert.js.map +1 -0
- package/dist/ui/aspect-ratio.js +1 -1
- package/dist/ui/aspect-ratio.js.map +1 -0
- package/dist/ui/autocomplete.d.ts.map +1 -1
- package/dist/ui/autocomplete.js +92 -67
- package/dist/ui/autocomplete.js.map +1 -0
- package/dist/ui/avatar.js +9 -9
- package/dist/ui/avatar.js.map +1 -0
- package/dist/ui/badge-indicator.js.map +1 -0
- package/dist/ui/banner.js.map +1 -0
- package/dist/ui/breadcrumb.js +1 -1
- package/dist/ui/breadcrumb.js.map +1 -0
- package/dist/ui/button-group.js.map +1 -0
- package/dist/ui/button-processing.d.ts.map +1 -1
- package/dist/ui/button-processing.js +61 -40
- package/dist/ui/button-processing.js.map +1 -0
- package/dist/ui/button.js +8 -8
- package/dist/ui/button.js.map +1 -0
- package/dist/ui/card.js.map +1 -0
- package/dist/ui/charts/bar-chart.d.ts.map +1 -1
- package/dist/ui/charts/chart-container.d.ts +2 -0
- package/dist/ui/charts/chart-container.d.ts.map +1 -1
- package/dist/ui/charts/index.js +88 -65
- package/dist/ui/charts/index.js.map +1 -0
- package/dist/ui/charts/line-chart.d.ts.map +1 -1
- package/dist/ui/chat/message-input.d.ts.map +1 -1
- package/dist/ui/chat/message-list.d.ts +1 -1
- package/dist/ui/chat/message-list.d.ts.map +1 -1
- package/dist/ui/chat/message.d.ts.map +1 -1
- package/dist/ui/chat/system-message.d.ts.map +1 -1
- package/dist/ui/checkbox.d.ts.map +1 -1
- package/dist/ui/checkbox.js +33 -28
- package/dist/ui/checkbox.js.map +1 -0
- package/dist/ui/code.js.map +1 -0
- package/dist/ui/collapsible.js +1 -1
- package/dist/ui/collapsible.js.map +1 -0
- package/dist/ui/color-input.d.ts.map +1 -1
- package/dist/ui/color-input.js +165 -163
- package/dist/ui/color-input.js.map +1 -0
- package/dist/ui/color-swatch.js.map +1 -0
- package/dist/ui/combobox.d.ts +7 -0
- package/dist/ui/combobox.d.ts.map +1 -1
- package/dist/ui/combobox.js +147 -113
- package/dist/ui/combobox.js.map +1 -0
- package/dist/ui/container.js +1 -1
- package/dist/ui/container.js.map +1 -0
- package/dist/ui/context-menu.js.map +1 -0
- package/dist/ui/data-table-body.js.map +1 -0
- package/dist/ui/data-table-bulk-actions.js +1 -1
- package/dist/ui/data-table-bulk-actions.js.map +1 -0
- package/dist/ui/data-table-card.js.map +1 -0
- package/dist/ui/data-table-context.js.map +1 -0
- package/dist/ui/data-table-header.js.map +1 -0
- package/dist/ui/data-table-pagination.js.map +1 -0
- package/dist/ui/data-table-toolbar.js.map +1 -0
- package/dist/ui/data-table.js +34 -31
- package/dist/ui/data-table.js.map +1 -0
- package/dist/ui/devalok-grain.js.map +1 -0
- package/dist/ui/dialog.js +31 -35
- package/dist/ui/dialog.js.map +1 -0
- package/dist/ui/dropdown-menu.js.map +1 -0
- package/dist/ui/file-upload.js +120 -120
- package/dist/ui/file-upload.js.map +1 -0
- package/dist/ui/form.d.ts +8 -0
- package/dist/ui/form.d.ts.map +1 -1
- package/dist/ui/form.js +14 -12
- package/dist/ui/form.js.map +1 -0
- package/dist/ui/hover-card.js.map +1 -0
- package/dist/ui/icon-button.js.map +1 -0
- package/dist/ui/icon-context.js.map +1 -0
- package/dist/ui/icon-group.js.map +1 -0
- package/dist/ui/icon.js.map +1 -0
- package/dist/ui/index.d.ts +4 -4
- package/dist/ui/index.d.ts.map +1 -1
- package/dist/ui/index.js +82 -66
- package/dist/ui/index.js.map +1 -0
- package/dist/ui/input-otp.d.ts +12 -3
- package/dist/ui/input-otp.d.ts.map +1 -1
- package/dist/ui/input-otp.js +41 -27
- package/dist/ui/input-otp.js.map +1 -0
- package/dist/ui/input.d.ts.map +1 -1
- package/dist/ui/input.js +16 -15
- package/dist/ui/input.js.map +1 -0
- package/dist/ui/label.d.ts.map +1 -1
- package/dist/ui/label.js +19 -14
- package/dist/ui/label.js.map +1 -0
- package/dist/ui/lib/check-tokens.d.ts +3 -0
- package/dist/ui/lib/check-tokens.d.ts.map +1 -0
- package/dist/ui/lib/date-utils.js.map +1 -0
- package/dist/ui/lib/motion.d.ts +15 -4
- package/dist/ui/lib/motion.d.ts.map +1 -1
- package/dist/ui/lib/motion.js +18 -9
- package/dist/ui/lib/motion.js.map +1 -0
- package/dist/ui/lib/utils.js.map +1 -0
- package/dist/ui/link.js +2 -2
- package/dist/ui/link.js.map +1 -0
- package/dist/ui/menubar.js.map +1 -0
- package/dist/ui/navigation-menu.js.map +1 -0
- package/dist/ui/number-input.d.ts +16 -1
- package/dist/ui/number-input.d.ts.map +1 -1
- package/dist/ui/number-input.js +79 -49
- package/dist/ui/number-input.js.map +1 -0
- package/dist/ui/pagination.js +1 -1
- package/dist/ui/pagination.js.map +1 -0
- package/dist/ui/progress-ring.d.ts.map +1 -1
- package/dist/ui/progress-ring.js.map +1 -0
- package/dist/ui/progress.js.map +1 -0
- package/dist/ui/radio.d.ts.map +1 -1
- package/dist/ui/radio.js +27 -20
- package/dist/ui/radio.js.map +1 -0
- package/dist/ui/search-input.js.map +1 -0
- package/dist/ui/segmented-control.d.ts +1 -1
- package/dist/ui/segmented-control.d.ts.map +1 -1
- package/dist/ui/segmented-control.js +2 -0
- package/dist/ui/segmented-control.js.map +1 -0
- package/dist/ui/select.d.ts.map +1 -1
- package/dist/ui/select.js +54 -48
- package/dist/ui/select.js.map +1 -0
- package/dist/ui/separator.d.ts.map +1 -1
- package/dist/ui/separator.js +10 -7
- package/dist/ui/separator.js.map +1 -0
- package/dist/ui/sheet.js +29 -29
- package/dist/ui/sheet.js.map +1 -0
- package/dist/ui/sidebar.js +7 -7
- package/dist/ui/sidebar.js.map +1 -0
- package/dist/ui/skeleton.js.map +1 -0
- package/dist/ui/slider.d.ts +22 -3
- package/dist/ui/slider.d.ts.map +1 -1
- package/dist/ui/slider.js +57 -19
- package/dist/ui/slider.js.map +1 -0
- package/dist/ui/spinner.js.map +1 -0
- package/dist/ui/split-button.d.ts.map +1 -1
- package/dist/ui/split-button.js +77 -76
- package/dist/ui/split-button.js.map +1 -0
- package/dist/ui/stack.js.map +1 -0
- package/dist/ui/stat-card.js.map +1 -0
- package/dist/ui/status-dot.js.map +1 -0
- package/dist/ui/stepper.d.ts +10 -0
- package/dist/ui/stepper.d.ts.map +1 -1
- package/dist/ui/stepper.js +80 -75
- package/dist/ui/stepper.js.map +1 -0
- package/dist/ui/switch.d.ts.map +1 -1
- package/dist/ui/switch.js +26 -22
- package/dist/ui/switch.js.map +1 -0
- package/dist/ui/table.js.map +1 -0
- package/dist/ui/tabs.d.ts +3 -1
- package/dist/ui/tabs.d.ts.map +1 -1
- package/dist/ui/tabs.js +68 -48
- package/dist/ui/tabs.js.map +1 -0
- package/dist/ui/text.d.ts +1 -1
- package/dist/ui/text.d.ts.map +1 -1
- package/dist/ui/text.js +10 -2
- package/dist/ui/text.js.map +1 -0
- package/dist/ui/textarea.js +1 -1
- package/dist/ui/textarea.js.map +1 -0
- package/dist/ui/toast-registry.d.ts +8 -0
- package/dist/ui/toast-registry.d.ts.map +1 -0
- package/dist/ui/toast-registry.js +13 -0
- package/dist/ui/toast-registry.js.map +1 -0
- package/dist/ui/toast.d.ts.map +1 -1
- package/dist/ui/toast.js +141 -136
- package/dist/ui/toast.js.map +1 -0
- package/dist/ui/toaster.d.ts.map +1 -1
- package/dist/ui/toaster.js +15 -14
- package/dist/ui/toaster.js.map +1 -0
- package/dist/ui/toggle-group.d.ts +2 -0
- package/dist/ui/toggle-group.d.ts.map +1 -1
- package/dist/ui/toggle-group.js +23 -16
- package/dist/ui/toggle-group.js.map +1 -0
- package/dist/ui/toggle.d.ts +2 -0
- package/dist/ui/toggle.d.ts.map +1 -1
- package/dist/ui/toggle.js +14 -6
- package/dist/ui/toggle.js.map +1 -0
- package/dist/ui/tooltip.js.map +1 -0
- package/dist/ui/visually-hidden.js.map +1 -0
- package/docs/components/_header.md +85 -85
- package/docs/components/composed/activity-feed.md +62 -62
- package/docs/components/composed/avatar-group.md +65 -65
- package/docs/components/composed/bulk-action-bar.md +40 -40
- package/docs/components/composed/command-palette.md +40 -40
- package/docs/components/composed/confirm-dialog.md +46 -46
- package/docs/components/composed/content-card.md +36 -36
- package/docs/components/composed/date-picker.md +130 -130
- package/docs/components/composed/deadline-indicator.md +27 -27
- package/docs/components/composed/emoji-picker.md +52 -52
- package/docs/components/composed/empty-state.md +53 -53
- package/docs/components/composed/error-boundary.md +29 -29
- package/docs/components/composed/file-preview.md +40 -40
- package/docs/components/composed/filter-bar.md +57 -57
- package/docs/components/composed/form-section.md +31 -31
- package/docs/components/composed/global-loading.md +27 -27
- package/docs/components/composed/inline-edit.md +35 -35
- package/docs/components/composed/loading-skeleton.md +51 -51
- package/docs/components/composed/markdown-viewer.md +27 -27
- package/docs/components/composed/master-detail.md +48 -48
- package/docs/components/composed/member-picker.md +35 -35
- package/docs/components/composed/multi-select-popover.md +62 -62
- package/docs/components/composed/page-header.md +41 -41
- package/docs/components/composed/page-skeletons.md +32 -32
- package/docs/components/composed/priority-indicator.md +32 -32
- package/docs/components/composed/responsive-overlay.md +34 -34
- package/docs/components/composed/rich-text-editor.md +82 -82
- package/docs/components/composed/schedule-view.md +39 -39
- package/docs/components/composed/simple-tooltip.md +33 -33
- package/docs/components/composed/status-badge.md +55 -55
- package/docs/components/shell/app-command-palette.md +44 -44
- package/docs/components/shell/bottom-navbar.md +52 -52
- package/docs/components/shell/command-registry.md +48 -48
- package/docs/components/shell/link-context.md +41 -41
- package/docs/components/shell/notification-center.md +63 -63
- package/docs/components/shell/notification-preferences.md +42 -42
- package/docs/components/shell/sidebar.md +92 -92
- package/docs/components/shell/top-bar.md +143 -143
- package/docs/components/ui/accordion.md +51 -51
- package/docs/components/ui/alert-dialog.md +61 -61
- package/docs/components/ui/alert.md +46 -46
- package/docs/components/ui/aspect-ratio.md +25 -25
- package/docs/components/ui/autocomplete.md +48 -48
- package/docs/components/ui/avatar.md +56 -56
- package/docs/components/ui/badge.md +83 -82
- package/docs/components/ui/banner.md +42 -42
- package/docs/components/ui/breadcrumb.md +37 -37
- package/docs/components/ui/button-group.md +41 -41
- package/docs/components/ui/button.md +94 -93
- package/docs/components/ui/card.md +52 -52
- package/docs/components/ui/charts.md +43 -43
- package/docs/components/ui/checkbox.md +36 -36
- package/docs/components/ui/chip.md +47 -47
- package/docs/components/ui/code.md +28 -28
- package/docs/components/ui/collapsible.md +40 -40
- package/docs/components/ui/color-input.md +91 -91
- package/docs/components/ui/color-swatch.md +25 -25
- package/docs/components/ui/combobox.md +54 -54
- package/docs/components/ui/container.md +26 -26
- package/docs/components/ui/context-menu.md +43 -43
- package/docs/components/ui/data-table-body.md +1 -1
- package/docs/components/ui/data-table-bulk-actions.md +1 -1
- package/docs/components/ui/data-table-card.md +1 -1
- package/docs/components/ui/data-table-context.md +1 -1
- package/docs/components/ui/data-table-header.md +1 -1
- package/docs/components/ui/data-table-pagination.md +1 -1
- package/docs/components/ui/data-table-toolbar.md +44 -44
- package/docs/components/ui/data-table.md +94 -94
- package/docs/components/ui/dialog.md +54 -54
- package/docs/components/ui/dropdown-menu.md +48 -48
- package/docs/components/ui/file-upload.md +41 -41
- package/docs/components/ui/form.md +51 -51
- package/docs/components/ui/hover-card.md +32 -32
- package/docs/components/ui/icon-button.md +40 -40
- package/docs/components/ui/input-otp.md +44 -44
- package/docs/components/ui/input.md +74 -74
- package/docs/components/ui/label.md +25 -25
- package/docs/components/ui/link.md +29 -29
- package/docs/components/ui/menubar.md +44 -44
- package/docs/components/ui/navigation-menu.md +46 -46
- package/docs/components/ui/number-input.md +44 -44
- package/docs/components/ui/pagination.md +48 -48
- package/docs/components/ui/popover.md +30 -30
- package/docs/components/ui/progress-ring.md +41 -41
- package/docs/components/ui/progress.md +34 -34
- package/docs/components/ui/radio.md +34 -34
- package/docs/components/ui/search-input.md +43 -43
- package/docs/components/ui/segmented-control.md +50 -50
- package/docs/components/ui/select.md +53 -53
- package/docs/components/ui/separator.md +32 -32
- package/docs/components/ui/sheet.md +47 -47
- package/docs/components/ui/sidebar.md +72 -72
- package/docs/components/ui/skeleton.md +77 -77
- package/docs/components/ui/slider.md +29 -29
- package/docs/components/ui/spinner.md +54 -54
- package/docs/components/ui/stack.md +39 -39
- package/docs/components/ui/stat-card.md +61 -61
- package/docs/components/ui/status-dot.md +26 -26
- package/docs/components/ui/stepper.md +49 -49
- package/docs/components/ui/switch.md +47 -47
- package/docs/components/ui/table.md +47 -47
- package/docs/components/ui/tabs.md +60 -60
- package/docs/components/ui/text.md +37 -37
- package/docs/components/ui/textarea.md +39 -39
- package/docs/components/ui/toast.md +65 -65
- package/docs/components/ui/toaster.md +47 -47
- package/docs/components/ui/toggle-group.md +43 -43
- package/docs/components/ui/toggle.md +37 -37
- package/docs/components/ui/tooltip.md +38 -38
- package/docs/components/ui/tree-view.md +65 -65
- package/docs/components/ui/visually-hidden.md +21 -21
- package/llms-full.txt +5266 -5264
- package/llms.txt +624 -580
- package/package.json +7 -8
|
@@ -1,63 +1,63 @@
|
|
|
1
|
-
# NotificationCenter
|
|
2
|
-
|
|
3
|
-
- Import: @devalok/shilp-sutra/shell/notification-center
|
|
4
|
-
- Server-safe: No
|
|
5
|
-
- Category: shell
|
|
6
|
-
|
|
7
|
-
## Props
|
|
8
|
-
notifications?: Notification[]
|
|
9
|
-
unreadCount?: number (derived from notifications if not provided)
|
|
10
|
-
open?: boolean (controlled mode)
|
|
11
|
-
onOpenChange?: (open: boolean) => void
|
|
12
|
-
isLoading?: boolean
|
|
13
|
-
hasMore?: boolean
|
|
14
|
-
onFetchMore?: () => void
|
|
15
|
-
onMarkRead?: (id: string) => void
|
|
16
|
-
onMarkAllRead?: () => void
|
|
17
|
-
onNavigate?: (path: string) => void — called when a notification with a route is clicked
|
|
18
|
-
getNotificationRoute?: (notification: Notification) => string | null — returns route for a notification; defaults to () => null
|
|
19
|
-
footerSlot?: ReactNode — content rendered in a sticky footer below the scroll area
|
|
20
|
-
emptyState?: ReactNode — replaces default empty state UI
|
|
21
|
-
headerActions?: ReactNode — extra action buttons after "Mark all read"
|
|
22
|
-
popoverClassName?: string — override default popover dimensions
|
|
23
|
-
onDismiss?: (id: string) => void — when provided, each notification shows a dismiss button
|
|
24
|
-
|
|
25
|
-
Notification: { id: string, title: string, body?: string | null, tier: 'INFO' | 'IMPORTANT' | 'CRITICAL', isRead: boolean, createdAt: string, entityType?: string | null, entityId?: string | null, projectId?: string | null, project?: { title: string } | null, actions?: NotificationAction[] }
|
|
26
|
-
NotificationAction: { label: string, variant?: 'primary' | 'default' | 'danger', onClick: (id: string) => void }
|
|
27
|
-
|
|
28
|
-
## Defaults
|
|
29
|
-
getNotificationRoute defaults to () => null (no hardcoded routes)
|
|
30
|
-
|
|
31
|
-
## Example
|
|
32
|
-
```jsx
|
|
33
|
-
<NotificationCenter
|
|
34
|
-
notifications={notifications}
|
|
35
|
-
onMarkRead={markAsRead}
|
|
36
|
-
onMarkAllRead={markAllAsRead}
|
|
37
|
-
onNavigate={(path) => router.push(path)}
|
|
38
|
-
getNotificationRoute={(n) => n.entityType === 'task' ? `/tasks/${n.entityId}` : null}
|
|
39
|
-
onDismiss={(id) => dismissNotification(id)}
|
|
40
|
-
footerSlot={<Link href="/notifications">View all notifications</Link>}
|
|
41
|
-
emptyState={<p>You're all caught up!</p>}
|
|
42
|
-
headerActions={<Button variant="ghost" size="sm">Settings</Button>}
|
|
43
|
-
popoverClassName="w-[480px]"
|
|
44
|
-
/>
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
## Gotchas
|
|
48
|
-
- Typically rendered inside TopBar's `notificationSlot` prop
|
|
49
|
-
- `getNotificationRoute` must be provided for clickable notifications — no hardcoded routes
|
|
50
|
-
- Tier dot doubles as read/unread marker (opacity-based)
|
|
51
|
-
- `onDismiss` enables per-notification dismiss buttons when provided
|
|
52
|
-
|
|
53
|
-
## Changes
|
|
54
|
-
### v0.13.0
|
|
55
|
-
- **Added** `NotificationAction` type and `actions` prop on `Notification` — inline action buttons per notification row
|
|
56
|
-
- **Fixed** Tier dot now doubles as read/unread marker (opacity-based) — removed separate unread indicator dot
|
|
57
|
-
|
|
58
|
-
### v0.1.1
|
|
59
|
-
- **Changed** Decoupled from Next.js via LinkProvider
|
|
60
|
-
- **Fixed** Added `aria-label` to bell button
|
|
61
|
-
|
|
62
|
-
### v0.1.0
|
|
63
|
-
- **Added** Initial release
|
|
1
|
+
# NotificationCenter
|
|
2
|
+
|
|
3
|
+
- Import: @devalok/shilp-sutra/shell/notification-center
|
|
4
|
+
- Server-safe: No
|
|
5
|
+
- Category: shell
|
|
6
|
+
|
|
7
|
+
## Props
|
|
8
|
+
notifications?: Notification[]
|
|
9
|
+
unreadCount?: number (derived from notifications if not provided)
|
|
10
|
+
open?: boolean (controlled mode)
|
|
11
|
+
onOpenChange?: (open: boolean) => void
|
|
12
|
+
isLoading?: boolean
|
|
13
|
+
hasMore?: boolean
|
|
14
|
+
onFetchMore?: () => void
|
|
15
|
+
onMarkRead?: (id: string) => void
|
|
16
|
+
onMarkAllRead?: () => void
|
|
17
|
+
onNavigate?: (path: string) => void — called when a notification with a route is clicked
|
|
18
|
+
getNotificationRoute?: (notification: Notification) => string | null — returns route for a notification; defaults to () => null
|
|
19
|
+
footerSlot?: ReactNode — content rendered in a sticky footer below the scroll area
|
|
20
|
+
emptyState?: ReactNode — replaces default empty state UI
|
|
21
|
+
headerActions?: ReactNode — extra action buttons after "Mark all read"
|
|
22
|
+
popoverClassName?: string — override default popover dimensions
|
|
23
|
+
onDismiss?: (id: string) => void — when provided, each notification shows a dismiss button
|
|
24
|
+
|
|
25
|
+
Notification: { id: string, title: string, body?: string | null, tier: 'INFO' | 'IMPORTANT' | 'CRITICAL', isRead: boolean, createdAt: string, entityType?: string | null, entityId?: string | null, projectId?: string | null, project?: { title: string } | null, actions?: NotificationAction[] }
|
|
26
|
+
NotificationAction: { label: string, variant?: 'primary' | 'default' | 'danger', onClick: (id: string) => void }
|
|
27
|
+
|
|
28
|
+
## Defaults
|
|
29
|
+
getNotificationRoute defaults to () => null (no hardcoded routes)
|
|
30
|
+
|
|
31
|
+
## Example
|
|
32
|
+
```jsx
|
|
33
|
+
<NotificationCenter
|
|
34
|
+
notifications={notifications}
|
|
35
|
+
onMarkRead={markAsRead}
|
|
36
|
+
onMarkAllRead={markAllAsRead}
|
|
37
|
+
onNavigate={(path) => router.push(path)}
|
|
38
|
+
getNotificationRoute={(n) => n.entityType === 'task' ? `/tasks/${n.entityId}` : null}
|
|
39
|
+
onDismiss={(id) => dismissNotification(id)}
|
|
40
|
+
footerSlot={<Link href="/notifications">View all notifications</Link>}
|
|
41
|
+
emptyState={<p>You're all caught up!</p>}
|
|
42
|
+
headerActions={<Button variant="ghost" size="sm">Settings</Button>}
|
|
43
|
+
popoverClassName="w-[480px]"
|
|
44
|
+
/>
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## Gotchas
|
|
48
|
+
- Typically rendered inside TopBar's `notificationSlot` prop
|
|
49
|
+
- `getNotificationRoute` must be provided for clickable notifications — no hardcoded routes
|
|
50
|
+
- Tier dot doubles as read/unread marker (opacity-based)
|
|
51
|
+
- `onDismiss` enables per-notification dismiss buttons when provided
|
|
52
|
+
|
|
53
|
+
## Changes
|
|
54
|
+
### v0.13.0
|
|
55
|
+
- **Added** `NotificationAction` type and `actions` prop on `Notification` — inline action buttons per notification row
|
|
56
|
+
- **Fixed** Tier dot now doubles as read/unread marker (opacity-based) — removed separate unread indicator dot
|
|
57
|
+
|
|
58
|
+
### v0.1.1
|
|
59
|
+
- **Changed** Decoupled from Next.js via LinkProvider
|
|
60
|
+
- **Fixed** Added `aria-label` to bell button
|
|
61
|
+
|
|
62
|
+
### v0.1.0
|
|
63
|
+
- **Added** Initial release
|
|
@@ -1,42 +1,42 @@
|
|
|
1
|
-
# NotificationPreferences
|
|
2
|
-
|
|
3
|
-
- Import: @devalok/shilp-sutra/shell/notification-preferences
|
|
4
|
-
- Server-safe: No
|
|
5
|
-
- Category: shell
|
|
6
|
-
|
|
7
|
-
## Props
|
|
8
|
-
preferences?: NotificationPreference[]
|
|
9
|
-
projects?: NotificationProject[]
|
|
10
|
-
isLoading?: boolean
|
|
11
|
-
onSave?: (preference: { projectId, channel, minTier, muted }) => void | Promise<void>
|
|
12
|
-
onToggleMute?: (preference: NotificationPreference) => void | Promise<void>
|
|
13
|
-
onUpdateTier?: (preference: NotificationPreference, newTier: string) => void | Promise<void>
|
|
14
|
-
onDelete?: (preferenceId: string) => void | Promise<void>
|
|
15
|
-
className?: string
|
|
16
|
-
|
|
17
|
-
NotificationPreference: { id: string, userId?: string, projectId: string | null, channel: string, minTier: string, muted: boolean }
|
|
18
|
-
NotificationProject: { id: string, title: string }
|
|
19
|
-
|
|
20
|
-
## Defaults
|
|
21
|
-
None
|
|
22
|
-
|
|
23
|
-
## Example
|
|
24
|
-
```jsx
|
|
25
|
-
<NotificationPreferences
|
|
26
|
-
preferences={prefs}
|
|
27
|
-
projects={projectList}
|
|
28
|
-
onSave={handleSavePref}
|
|
29
|
-
onToggleMute={handleToggleMute}
|
|
30
|
-
onUpdateTier={handleUpdateTier}
|
|
31
|
-
onDelete={handleDeletePref}
|
|
32
|
-
/>
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
## Gotchas
|
|
36
|
-
- Manages per-project notification preferences (channel, tier, mute)
|
|
37
|
-
- All callback props support async (Promise<void>) for server-side operations
|
|
38
|
-
- Typically rendered on a settings/preferences page
|
|
39
|
-
|
|
40
|
-
## Changes
|
|
41
|
-
### v0.1.0
|
|
42
|
-
- **Added** Initial release
|
|
1
|
+
# NotificationPreferences
|
|
2
|
+
|
|
3
|
+
- Import: @devalok/shilp-sutra/shell/notification-preferences
|
|
4
|
+
- Server-safe: No
|
|
5
|
+
- Category: shell
|
|
6
|
+
|
|
7
|
+
## Props
|
|
8
|
+
preferences?: NotificationPreference[]
|
|
9
|
+
projects?: NotificationProject[]
|
|
10
|
+
isLoading?: boolean
|
|
11
|
+
onSave?: (preference: { projectId, channel, minTier, muted }) => void | Promise<void>
|
|
12
|
+
onToggleMute?: (preference: NotificationPreference) => void | Promise<void>
|
|
13
|
+
onUpdateTier?: (preference: NotificationPreference, newTier: string) => void | Promise<void>
|
|
14
|
+
onDelete?: (preferenceId: string) => void | Promise<void>
|
|
15
|
+
className?: string
|
|
16
|
+
|
|
17
|
+
NotificationPreference: { id: string, userId?: string, projectId: string | null, channel: string, minTier: string, muted: boolean }
|
|
18
|
+
NotificationProject: { id: string, title: string }
|
|
19
|
+
|
|
20
|
+
## Defaults
|
|
21
|
+
None
|
|
22
|
+
|
|
23
|
+
## Example
|
|
24
|
+
```jsx
|
|
25
|
+
<NotificationPreferences
|
|
26
|
+
preferences={prefs}
|
|
27
|
+
projects={projectList}
|
|
28
|
+
onSave={handleSavePref}
|
|
29
|
+
onToggleMute={handleToggleMute}
|
|
30
|
+
onUpdateTier={handleUpdateTier}
|
|
31
|
+
onDelete={handleDeletePref}
|
|
32
|
+
/>
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## Gotchas
|
|
36
|
+
- Manages per-project notification preferences (channel, tier, mute)
|
|
37
|
+
- All callback props support async (Promise<void>) for server-side operations
|
|
38
|
+
- Typically rendered on a settings/preferences page
|
|
39
|
+
|
|
40
|
+
## Changes
|
|
41
|
+
### v0.1.0
|
|
42
|
+
- **Added** Initial release
|
|
@@ -1,92 +1,92 @@
|
|
|
1
|
-
# AppSidebar
|
|
2
|
-
|
|
3
|
-
- Import: @devalok/shilp-sutra/shell/sidebar
|
|
4
|
-
- Server-safe: No
|
|
5
|
-
- Category: shell
|
|
6
|
-
|
|
7
|
-
## Props
|
|
8
|
-
currentPath?: string (highlights active nav item)
|
|
9
|
-
user?: SidebarUser | null — { name, email?, image?, designation?, role? }
|
|
10
|
-
navGroups?: NavGroup[] — { label: string, items: NavItem[], action?: ReactNode }
|
|
11
|
-
logo?: ReactNode
|
|
12
|
-
footerLinks?: Array<{ label: string, href: string }> (DEPRECATED — use footer.links)
|
|
13
|
-
footer?: SidebarFooterConfig — structured footer (takes precedence over footerLinks)
|
|
14
|
-
headerSlot?: ReactNode — content between user info and navigation
|
|
15
|
-
preFooterSlot?: ReactNode — content between navigation and footer
|
|
16
|
-
preFooterClassName?: string — className on preFooterSlot wrapper div
|
|
17
|
-
renderItem?: (item: NavItem, defaultRender: () => ReactNode) => ReactNode | null — custom item rendering
|
|
18
|
-
className?: string
|
|
19
|
-
|
|
20
|
-
NavItem: { title: string, href: string, icon: ReactNode, exact?: boolean, badge?: string | number, children?: NavSubItem[], defaultOpen?: boolean }
|
|
21
|
-
NavSubItem: { title: string, href: string, icon?: ReactNode, exact?: boolean }
|
|
22
|
-
NavGroup: { label: string, items: NavItem[], action?: ReactNode }
|
|
23
|
-
SidebarUser: { name: string, email?: string, image?: string | null, designation?: string, role?: string }
|
|
24
|
-
SidebarFooterConfig: { links?: Array<{ label: string, href: string }>, version?: string | { label: string, href: string }, slot?: ReactNode, promo?: SidebarPromo }
|
|
25
|
-
SidebarPromo: { text: string, icon?: ReactNode, action?: { label: string, href?: string, onClick?: () => void }, onDismiss?: () => void }
|
|
26
|
-
|
|
27
|
-
## Defaults
|
|
28
|
-
None
|
|
29
|
-
|
|
30
|
-
## Example
|
|
31
|
-
```jsx
|
|
32
|
-
<AppSidebar
|
|
33
|
-
currentPath="/dashboard"
|
|
34
|
-
user={{ name: 'Jane', email: 'jane@example.com' }}
|
|
35
|
-
navGroups={[{
|
|
36
|
-
label: 'Main',
|
|
37
|
-
items: [
|
|
38
|
-
{ title: 'Dashboard', href: '/dashboard', icon: <IconHome /> },
|
|
39
|
-
{ title: 'Projects', href: '/projects', icon: <IconFolder />, children: [
|
|
40
|
-
{ title: 'Karm V2', href: '/projects/abc/board' },
|
|
41
|
-
]},
|
|
42
|
-
],
|
|
43
|
-
}]}
|
|
44
|
-
footer={{
|
|
45
|
-
links: [{ label: 'Terms', href: '/terms' }],
|
|
46
|
-
version: { label: 'v2.4.1', href: '/changelog' },
|
|
47
|
-
}}
|
|
48
|
-
/>
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
## Gotchas
|
|
52
|
-
- Must be wrapped in SidebarProvider (from ui/sidebar)
|
|
53
|
-
- Requires LinkProvider for framework-specific link components
|
|
54
|
-
- `footerLinks` is deprecated — use `footer.links` instead
|
|
55
|
-
- `renderItem` returning `null` falls back to default rendering
|
|
56
|
-
- Collapsible nav items auto-open when a child is active (matching `currentPath`)
|
|
57
|
-
- Badge numbers > 99 display as "99+"
|
|
58
|
-
|
|
59
|
-
## Changes
|
|
60
|
-
### v0.19.0
|
|
61
|
-
- **Changed** Background elevated from `bg-surface-1` to `bg-surface-2` for visual hierarchy above app background
|
|
62
|
-
- **Changed** Interactive hover states bumped from `surface-2` to `surface-3`
|
|
63
|
-
|
|
64
|
-
### v0.18.0
|
|
65
|
-
- **Fixed** `bg-interactive-subtle` changed to `bg-accent-2` (OKLCH migration)
|
|
66
|
-
|
|
67
|
-
### v0.16.0
|
|
68
|
-
- **Added** `preFooterClassName?: string` — custom className on preFooterSlot wrapper
|
|
69
|
-
|
|
70
|
-
### v0.14.0
|
|
71
|
-
- **Changed** `footer.version` now accepts `string | { label: string; href: string }` — version can link to changelog
|
|
72
|
-
|
|
73
|
-
### v0.13.0
|
|
74
|
-
- **Added** `SidebarPromo` type and `footer.promo` prop — dismissable promo/upsell banner
|
|
75
|
-
- **Changed** Footer links and version now render on a single line separated by dividers
|
|
76
|
-
- **Fixed** Collapsible chevron wrapped in fixed-height container to prevent drift
|
|
77
|
-
- **Fixed** Collapsible chevron no longer drifts into child elements when sub-list expands
|
|
78
|
-
|
|
79
|
-
### v0.10.0
|
|
80
|
-
- **Added** Collapsible nav items with `children` array and `NavSubItem` type
|
|
81
|
-
- **Added** Nav item `badge` prop for counts/labels, caps at 99+
|
|
82
|
-
- **Added** Nav group `action` prop for buttons next to group labels
|
|
83
|
-
- **Added** Structured `footer` prop with `SidebarFooterConfig` — links, version, slot
|
|
84
|
-
- **Added** `headerSlot` and `preFooterSlot` content slots
|
|
85
|
-
- **Added** `renderItem` escape hatch for custom item rendering
|
|
86
|
-
- **Deprecated** `footerLinks` prop — use `footer.links` instead
|
|
87
|
-
|
|
88
|
-
### v0.1.1
|
|
89
|
-
- **Changed** Decoupled from Next.js via LinkProvider
|
|
90
|
-
|
|
91
|
-
### v0.1.0
|
|
92
|
-
- **Added** Initial release
|
|
1
|
+
# AppSidebar
|
|
2
|
+
|
|
3
|
+
- Import: @devalok/shilp-sutra/shell/sidebar
|
|
4
|
+
- Server-safe: No
|
|
5
|
+
- Category: shell
|
|
6
|
+
|
|
7
|
+
## Props
|
|
8
|
+
currentPath?: string (highlights active nav item)
|
|
9
|
+
user?: SidebarUser | null — { name, email?, image?, designation?, role? }
|
|
10
|
+
navGroups?: NavGroup[] — { label: string, items: NavItem[], action?: ReactNode }
|
|
11
|
+
logo?: ReactNode
|
|
12
|
+
footerLinks?: Array<{ label: string, href: string }> (DEPRECATED — use footer.links)
|
|
13
|
+
footer?: SidebarFooterConfig — structured footer (takes precedence over footerLinks)
|
|
14
|
+
headerSlot?: ReactNode — content between user info and navigation
|
|
15
|
+
preFooterSlot?: ReactNode — content between navigation and footer
|
|
16
|
+
preFooterClassName?: string — className on preFooterSlot wrapper div
|
|
17
|
+
renderItem?: (item: NavItem, defaultRender: () => ReactNode) => ReactNode | null — custom item rendering
|
|
18
|
+
className?: string
|
|
19
|
+
|
|
20
|
+
NavItem: { title: string, href: string, icon: ReactNode, exact?: boolean, badge?: string | number, children?: NavSubItem[], defaultOpen?: boolean }
|
|
21
|
+
NavSubItem: { title: string, href: string, icon?: ReactNode, exact?: boolean }
|
|
22
|
+
NavGroup: { label: string, items: NavItem[], action?: ReactNode }
|
|
23
|
+
SidebarUser: { name: string, email?: string, image?: string | null, designation?: string, role?: string }
|
|
24
|
+
SidebarFooterConfig: { links?: Array<{ label: string, href: string }>, version?: string | { label: string, href: string }, slot?: ReactNode, promo?: SidebarPromo }
|
|
25
|
+
SidebarPromo: { text: string, icon?: ReactNode, action?: { label: string, href?: string, onClick?: () => void }, onDismiss?: () => void }
|
|
26
|
+
|
|
27
|
+
## Defaults
|
|
28
|
+
None
|
|
29
|
+
|
|
30
|
+
## Example
|
|
31
|
+
```jsx
|
|
32
|
+
<AppSidebar
|
|
33
|
+
currentPath="/dashboard"
|
|
34
|
+
user={{ name: 'Jane', email: 'jane@example.com' }}
|
|
35
|
+
navGroups={[{
|
|
36
|
+
label: 'Main',
|
|
37
|
+
items: [
|
|
38
|
+
{ title: 'Dashboard', href: '/dashboard', icon: <IconHome /> },
|
|
39
|
+
{ title: 'Projects', href: '/projects', icon: <IconFolder />, children: [
|
|
40
|
+
{ title: 'Karm V2', href: '/projects/abc/board' },
|
|
41
|
+
]},
|
|
42
|
+
],
|
|
43
|
+
}]}
|
|
44
|
+
footer={{
|
|
45
|
+
links: [{ label: 'Terms', href: '/terms' }],
|
|
46
|
+
version: { label: 'v2.4.1', href: '/changelog' },
|
|
47
|
+
}}
|
|
48
|
+
/>
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## Gotchas
|
|
52
|
+
- Must be wrapped in SidebarProvider (from ui/sidebar)
|
|
53
|
+
- Requires LinkProvider for framework-specific link components
|
|
54
|
+
- `footerLinks` is deprecated — use `footer.links` instead
|
|
55
|
+
- `renderItem` returning `null` falls back to default rendering
|
|
56
|
+
- Collapsible nav items auto-open when a child is active (matching `currentPath`)
|
|
57
|
+
- Badge numbers > 99 display as "99+"
|
|
58
|
+
|
|
59
|
+
## Changes
|
|
60
|
+
### v0.19.0
|
|
61
|
+
- **Changed** Background elevated from `bg-surface-1` to `bg-surface-2` for visual hierarchy above app background
|
|
62
|
+
- **Changed** Interactive hover states bumped from `surface-2` to `surface-3`
|
|
63
|
+
|
|
64
|
+
### v0.18.0
|
|
65
|
+
- **Fixed** `bg-interactive-subtle` changed to `bg-accent-2` (OKLCH migration)
|
|
66
|
+
|
|
67
|
+
### v0.16.0
|
|
68
|
+
- **Added** `preFooterClassName?: string` — custom className on preFooterSlot wrapper
|
|
69
|
+
|
|
70
|
+
### v0.14.0
|
|
71
|
+
- **Changed** `footer.version` now accepts `string | { label: string; href: string }` — version can link to changelog
|
|
72
|
+
|
|
73
|
+
### v0.13.0
|
|
74
|
+
- **Added** `SidebarPromo` type and `footer.promo` prop — dismissable promo/upsell banner
|
|
75
|
+
- **Changed** Footer links and version now render on a single line separated by dividers
|
|
76
|
+
- **Fixed** Collapsible chevron wrapped in fixed-height container to prevent drift
|
|
77
|
+
- **Fixed** Collapsible chevron no longer drifts into child elements when sub-list expands
|
|
78
|
+
|
|
79
|
+
### v0.10.0
|
|
80
|
+
- **Added** Collapsible nav items with `children` array and `NavSubItem` type
|
|
81
|
+
- **Added** Nav item `badge` prop for counts/labels, caps at 99+
|
|
82
|
+
- **Added** Nav group `action` prop for buttons next to group labels
|
|
83
|
+
- **Added** Structured `footer` prop with `SidebarFooterConfig` — links, version, slot
|
|
84
|
+
- **Added** `headerSlot` and `preFooterSlot` content slots
|
|
85
|
+
- **Added** `renderItem` escape hatch for custom item rendering
|
|
86
|
+
- **Deprecated** `footerLinks` prop — use `footer.links` instead
|
|
87
|
+
|
|
88
|
+
### v0.1.1
|
|
89
|
+
- **Changed** Decoupled from Next.js via LinkProvider
|
|
90
|
+
|
|
91
|
+
### v0.1.0
|
|
92
|
+
- **Added** Initial release
|