@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,39 +1,39 @@
|
|
|
1
|
-
# ScheduleView
|
|
2
|
-
|
|
3
|
-
- Import: @devalok/shilp-sutra/composed/schedule-view
|
|
4
|
-
- Server-safe: No
|
|
5
|
-
- Category: composed
|
|
6
|
-
|
|
7
|
-
## Props
|
|
8
|
-
view: "day" | "week" (REQUIRED)
|
|
9
|
-
date: Date (REQUIRED — current day or any date in target week)
|
|
10
|
-
events: ScheduleEvent[] (REQUIRED) — { id, title, start: Date, end: Date, color? }
|
|
11
|
-
onEventClick?: (event: ScheduleEvent) => void
|
|
12
|
-
onSlotClick?: (start: Date, end: Date) => void
|
|
13
|
-
startHour: number (default: 8)
|
|
14
|
-
endHour: number (default: 18, exclusive)
|
|
15
|
-
slotDuration: number (minutes, default: 30)
|
|
16
|
-
|
|
17
|
-
Event colors: "primary" | "success" | "warning" | "error" | "info" | "neutral"
|
|
18
|
-
|
|
19
|
-
## Defaults
|
|
20
|
-
startHour=8, endHour=18, slotDuration=30
|
|
21
|
-
|
|
22
|
-
## Example
|
|
23
|
-
```jsx
|
|
24
|
-
<ScheduleView
|
|
25
|
-
view="week"
|
|
26
|
-
date={new Date()}
|
|
27
|
-
events={calendarEvents}
|
|
28
|
-
onEventClick={(e) => openEvent(e.id)}
|
|
29
|
-
/>
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
## Gotchas
|
|
33
|
-
- `endHour` is exclusive — `endHour=18` means the last visible slot starts at 17:30 (with default 30min slots)
|
|
34
|
-
- `onSlotClick` fires when clicking an empty time slot — useful for creating new events
|
|
35
|
-
- Events that span outside `startHour`/`endHour` may be clipped
|
|
36
|
-
|
|
37
|
-
## Changes
|
|
38
|
-
### v0.1.0
|
|
39
|
-
- **Added** Initial release
|
|
1
|
+
# ScheduleView
|
|
2
|
+
|
|
3
|
+
- Import: @devalok/shilp-sutra/composed/schedule-view
|
|
4
|
+
- Server-safe: No
|
|
5
|
+
- Category: composed
|
|
6
|
+
|
|
7
|
+
## Props
|
|
8
|
+
view: "day" | "week" (REQUIRED)
|
|
9
|
+
date: Date (REQUIRED — current day or any date in target week)
|
|
10
|
+
events: ScheduleEvent[] (REQUIRED) — { id, title, start: Date, end: Date, color? }
|
|
11
|
+
onEventClick?: (event: ScheduleEvent) => void
|
|
12
|
+
onSlotClick?: (start: Date, end: Date) => void
|
|
13
|
+
startHour: number (default: 8)
|
|
14
|
+
endHour: number (default: 18, exclusive)
|
|
15
|
+
slotDuration: number (minutes, default: 30)
|
|
16
|
+
|
|
17
|
+
Event colors: "primary" | "success" | "warning" | "error" | "info" | "neutral"
|
|
18
|
+
|
|
19
|
+
## Defaults
|
|
20
|
+
startHour=8, endHour=18, slotDuration=30
|
|
21
|
+
|
|
22
|
+
## Example
|
|
23
|
+
```jsx
|
|
24
|
+
<ScheduleView
|
|
25
|
+
view="week"
|
|
26
|
+
date={new Date()}
|
|
27
|
+
events={calendarEvents}
|
|
28
|
+
onEventClick={(e) => openEvent(e.id)}
|
|
29
|
+
/>
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## Gotchas
|
|
33
|
+
- `endHour` is exclusive — `endHour=18` means the last visible slot starts at 17:30 (with default 30min slots)
|
|
34
|
+
- `onSlotClick` fires when clicking an empty time slot — useful for creating new events
|
|
35
|
+
- Events that span outside `startHour`/`endHour` may be clipped
|
|
36
|
+
|
|
37
|
+
## Changes
|
|
38
|
+
### v0.1.0
|
|
39
|
+
- **Added** Initial release
|
|
@@ -1,33 +1,33 @@
|
|
|
1
|
-
# SimpleTooltip
|
|
2
|
-
|
|
3
|
-
- Import: @devalok/shilp-sutra/composed/simple-tooltip
|
|
4
|
-
- Server-safe: No
|
|
5
|
-
- Category: composed
|
|
6
|
-
|
|
7
|
-
## Props
|
|
8
|
-
content: ReactNode (REQUIRED — tooltip content)
|
|
9
|
-
side: "top" | "right" | "bottom" | "left" (default: "top")
|
|
10
|
-
align: "start" | "center" | "end" (default: "center")
|
|
11
|
-
delayDuration: number (ms, default: 300)
|
|
12
|
-
children: ReactNode (trigger element)
|
|
13
|
-
|
|
14
|
-
## Defaults
|
|
15
|
-
side="top", align="center", delayDuration=300
|
|
16
|
-
|
|
17
|
-
## Example
|
|
18
|
-
```jsx
|
|
19
|
-
<SimpleTooltip content="Edit this item">
|
|
20
|
-
<IconButton icon={<IconEdit />} aria-label="Edit" />
|
|
21
|
-
</SimpleTooltip>
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
## Gotchas
|
|
25
|
-
- Wraps the full Tooltip compound (Provider + Tooltip + Trigger + Content) into one component — no need for TooltipProvider
|
|
26
|
-
- Unlike the low-level Tooltip, SimpleTooltip does not require wrapping in a TooltipProvider
|
|
27
|
-
|
|
28
|
-
## Changes
|
|
29
|
-
### v0.18.0
|
|
30
|
-
- **Fixed** Type definition corrected
|
|
31
|
-
|
|
32
|
-
### v0.1.0
|
|
33
|
-
- **Added** Initial release
|
|
1
|
+
# SimpleTooltip
|
|
2
|
+
|
|
3
|
+
- Import: @devalok/shilp-sutra/composed/simple-tooltip
|
|
4
|
+
- Server-safe: No
|
|
5
|
+
- Category: composed
|
|
6
|
+
|
|
7
|
+
## Props
|
|
8
|
+
content: ReactNode (REQUIRED — tooltip content)
|
|
9
|
+
side: "top" | "right" | "bottom" | "left" (default: "top")
|
|
10
|
+
align: "start" | "center" | "end" (default: "center")
|
|
11
|
+
delayDuration: number (ms, default: 300)
|
|
12
|
+
children: ReactNode (trigger element)
|
|
13
|
+
|
|
14
|
+
## Defaults
|
|
15
|
+
side="top", align="center", delayDuration=300
|
|
16
|
+
|
|
17
|
+
## Example
|
|
18
|
+
```jsx
|
|
19
|
+
<SimpleTooltip content="Edit this item">
|
|
20
|
+
<IconButton icon={<IconEdit />} aria-label="Edit" />
|
|
21
|
+
</SimpleTooltip>
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
## Gotchas
|
|
25
|
+
- Wraps the full Tooltip compound (Provider + Tooltip + Trigger + Content) into one component — no need for TooltipProvider
|
|
26
|
+
- Unlike the low-level Tooltip, SimpleTooltip does not require wrapping in a TooltipProvider
|
|
27
|
+
|
|
28
|
+
## Changes
|
|
29
|
+
### v0.18.0
|
|
30
|
+
- **Fixed** Type definition corrected
|
|
31
|
+
|
|
32
|
+
### v0.1.0
|
|
33
|
+
- **Added** Initial release
|
|
@@ -1,55 +1,55 @@
|
|
|
1
|
-
# StatusBadge
|
|
2
|
-
|
|
3
|
-
- Import: @devalok/shilp-sutra/composed/status-badge
|
|
4
|
-
- Server-safe: No
|
|
5
|
-
- Category: composed
|
|
6
|
-
|
|
7
|
-
Note: StatusBadge was server-safe prior to v0.18.0 but is NO LONGER server-safe due to Framer Motion dependency.
|
|
8
|
-
|
|
9
|
-
## Props
|
|
10
|
-
status: "active" | "pending" | "approved" | "rejected" | "completed" | "blocked" | "in-progress" | "review" | "cancelled" | "draft"
|
|
11
|
-
color: "success" | "warning" | "error" | "info" | "neutral" (overrides status styling when set)
|
|
12
|
-
size: "sm" | "md"
|
|
13
|
-
label: string (auto-derived from status/color if omitted)
|
|
14
|
-
hideDot: boolean (default: false)
|
|
15
|
-
onClick: () => void (makes badge clickable — renders as button with chevron)
|
|
16
|
-
icon: ReactNode (custom trailing icon — replaces default chevron when clickable)
|
|
17
|
-
|
|
18
|
-
## Defaults
|
|
19
|
-
size="md", hideDot=false
|
|
20
|
-
When neither status nor color is passed, defaults to status='pending' styling
|
|
21
|
-
|
|
22
|
-
## Example
|
|
23
|
-
```jsx
|
|
24
|
-
<StatusBadge status="active" />
|
|
25
|
-
<StatusBadge status="in-progress" />
|
|
26
|
-
<StatusBadge status="review" label="Needs Review" />
|
|
27
|
-
<StatusBadge color="warning" label="In Review" size="sm" />
|
|
28
|
-
<StatusBadge status="active" onClick={() => openStatusPicker()} />
|
|
29
|
-
```
|
|
30
|
-
|
|
31
|
-
## Gotchas
|
|
32
|
-
- When `color` is set, it takes priority over `status` for styling
|
|
33
|
-
- Props use a discriminated union — pass either `status` or `color`, not both
|
|
34
|
-
- As of v0.18.0, StatusBadge is NOT server-safe (Framer Motion dependency)
|
|
35
|
-
- When `onClick` is provided, badge renders as a `<button>` with a trailing chevron icon
|
|
36
|
-
- Pass `icon` to replace the default chevron with a custom trailing icon
|
|
37
|
-
|
|
38
|
-
## Changes
|
|
39
|
-
### v0.29.0
|
|
40
|
-
- **Added** `in-progress` status (accent/blue styling)
|
|
41
|
-
- **Added** `review` status (info styling)
|
|
42
|
-
- **Added** `onClick` prop — renders as a `<button>` with trailing chevron and hover opacity
|
|
43
|
-
- **Added** `icon` prop — custom trailing icon (replaces the default chevron when clickable)
|
|
44
|
-
|
|
45
|
-
### v0.18.0
|
|
46
|
-
- **Changed** No longer server-safe due to Framer Motion dependency
|
|
47
|
-
|
|
48
|
-
### v0.8.0
|
|
49
|
-
- **Changed** Props now use discriminated union — pass either `status` or `color`, not both
|
|
50
|
-
|
|
51
|
-
### v0.2.0
|
|
52
|
-
- **Added** Identified as server-safe component (later reverted in v0.18.0)
|
|
53
|
-
|
|
54
|
-
### v0.1.0
|
|
55
|
-
- **Added** Initial release
|
|
1
|
+
# StatusBadge
|
|
2
|
+
|
|
3
|
+
- Import: @devalok/shilp-sutra/composed/status-badge
|
|
4
|
+
- Server-safe: No
|
|
5
|
+
- Category: composed
|
|
6
|
+
|
|
7
|
+
Note: StatusBadge was server-safe prior to v0.18.0 but is NO LONGER server-safe due to Framer Motion dependency.
|
|
8
|
+
|
|
9
|
+
## Props
|
|
10
|
+
status: "active" | "pending" | "approved" | "rejected" | "completed" | "blocked" | "in-progress" | "review" | "cancelled" | "draft"
|
|
11
|
+
color: "success" | "warning" | "error" | "info" | "neutral" (overrides status styling when set)
|
|
12
|
+
size: "sm" | "md"
|
|
13
|
+
label: string (auto-derived from status/color if omitted)
|
|
14
|
+
hideDot: boolean (default: false)
|
|
15
|
+
onClick: () => void (makes badge clickable — renders as button with chevron)
|
|
16
|
+
icon: ReactNode (custom trailing icon — replaces default chevron when clickable)
|
|
17
|
+
|
|
18
|
+
## Defaults
|
|
19
|
+
size="md", hideDot=false
|
|
20
|
+
When neither status nor color is passed, defaults to status='pending' styling
|
|
21
|
+
|
|
22
|
+
## Example
|
|
23
|
+
```jsx
|
|
24
|
+
<StatusBadge status="active" />
|
|
25
|
+
<StatusBadge status="in-progress" />
|
|
26
|
+
<StatusBadge status="review" label="Needs Review" />
|
|
27
|
+
<StatusBadge color="warning" label="In Review" size="sm" />
|
|
28
|
+
<StatusBadge status="active" onClick={() => openStatusPicker()} />
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## Gotchas
|
|
32
|
+
- When `color` is set, it takes priority over `status` for styling
|
|
33
|
+
- Props use a discriminated union — pass either `status` or `color`, not both
|
|
34
|
+
- As of v0.18.0, StatusBadge is NOT server-safe (Framer Motion dependency)
|
|
35
|
+
- When `onClick` is provided, badge renders as a `<button>` with a trailing chevron icon
|
|
36
|
+
- Pass `icon` to replace the default chevron with a custom trailing icon
|
|
37
|
+
|
|
38
|
+
## Changes
|
|
39
|
+
### v0.29.0
|
|
40
|
+
- **Added** `in-progress` status (accent/blue styling)
|
|
41
|
+
- **Added** `review` status (info styling)
|
|
42
|
+
- **Added** `onClick` prop — renders as a `<button>` with trailing chevron and hover opacity
|
|
43
|
+
- **Added** `icon` prop — custom trailing icon (replaces the default chevron when clickable)
|
|
44
|
+
|
|
45
|
+
### v0.18.0
|
|
46
|
+
- **Changed** No longer server-safe due to Framer Motion dependency
|
|
47
|
+
|
|
48
|
+
### v0.8.0
|
|
49
|
+
- **Changed** Props now use discriminated union — pass either `status` or `color`, not both
|
|
50
|
+
|
|
51
|
+
### v0.2.0
|
|
52
|
+
- **Added** Identified as server-safe component (later reverted in v0.18.0)
|
|
53
|
+
|
|
54
|
+
### v0.1.0
|
|
55
|
+
- **Added** Initial release
|
|
@@ -1,44 +1,44 @@
|
|
|
1
|
-
# AppCommandPalette
|
|
2
|
-
|
|
3
|
-
- Import: @devalok/shilp-sutra/shell/app-command-palette
|
|
4
|
-
- Server-safe: No
|
|
5
|
-
- Category: shell
|
|
6
|
-
|
|
7
|
-
## Props
|
|
8
|
-
user?: AppCommandPaletteUser | null — { name, role? } (optional)
|
|
9
|
-
isAdmin?: boolean (shows admin command groups regardless of user.role; takes precedence over role-based detection)
|
|
10
|
-
extraGroups?: CommandGroup[]
|
|
11
|
-
onNavigate?: (path: string) => void
|
|
12
|
-
onSearch?: (query: string) => void
|
|
13
|
-
searchResults?: SearchResult[]
|
|
14
|
-
isSearching?: boolean (shows loading state while search is in progress)
|
|
15
|
-
onSearchResultSelect?: (result: SearchResult) => void
|
|
16
|
-
|
|
17
|
-
SearchResult: { id: string, title: string, snippet?: string, entityType: string, projectId?: string | null, metadata?: Record<string, unknown> }
|
|
18
|
-
AppCommandPaletteUser: { name: string, role?: string }
|
|
19
|
-
|
|
20
|
-
## Defaults
|
|
21
|
-
None
|
|
22
|
-
|
|
23
|
-
## Example
|
|
24
|
-
```jsx
|
|
25
|
-
<AppCommandPalette
|
|
26
|
-
user={{ name: 'John', role: 'admin' }}
|
|
27
|
-
isAdmin={true}
|
|
28
|
-
onNavigate={(path) => router.push(path)}
|
|
29
|
-
searchResults={results}
|
|
30
|
-
onSearchResultSelect={(r) => router.push(`/${r.entityType}/${r.id}`)}
|
|
31
|
-
/>
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
## Gotchas
|
|
35
|
-
- Uses CommandRegistry context for page navigation items (see CommandRegistryProvider)
|
|
36
|
-
- `isAdmin` takes precedence over `user.role` for showing admin command groups
|
|
37
|
-
- Should be placed at the app root level, typically alongside TopBar
|
|
38
|
-
|
|
39
|
-
## Changes
|
|
40
|
-
### v0.3.0
|
|
41
|
-
- **Fixed** Added missing `'use client'` directive
|
|
42
|
-
|
|
43
|
-
### v0.1.0
|
|
44
|
-
- **Added** Initial release
|
|
1
|
+
# AppCommandPalette
|
|
2
|
+
|
|
3
|
+
- Import: @devalok/shilp-sutra/shell/app-command-palette
|
|
4
|
+
- Server-safe: No
|
|
5
|
+
- Category: shell
|
|
6
|
+
|
|
7
|
+
## Props
|
|
8
|
+
user?: AppCommandPaletteUser | null — { name, role? } (optional)
|
|
9
|
+
isAdmin?: boolean (shows admin command groups regardless of user.role; takes precedence over role-based detection)
|
|
10
|
+
extraGroups?: CommandGroup[]
|
|
11
|
+
onNavigate?: (path: string) => void
|
|
12
|
+
onSearch?: (query: string) => void
|
|
13
|
+
searchResults?: SearchResult[]
|
|
14
|
+
isSearching?: boolean (shows loading state while search is in progress)
|
|
15
|
+
onSearchResultSelect?: (result: SearchResult) => void
|
|
16
|
+
|
|
17
|
+
SearchResult: { id: string, title: string, snippet?: string, entityType: string, projectId?: string | null, metadata?: Record<string, unknown> }
|
|
18
|
+
AppCommandPaletteUser: { name: string, role?: string }
|
|
19
|
+
|
|
20
|
+
## Defaults
|
|
21
|
+
None
|
|
22
|
+
|
|
23
|
+
## Example
|
|
24
|
+
```jsx
|
|
25
|
+
<AppCommandPalette
|
|
26
|
+
user={{ name: 'John', role: 'admin' }}
|
|
27
|
+
isAdmin={true}
|
|
28
|
+
onNavigate={(path) => router.push(path)}
|
|
29
|
+
searchResults={results}
|
|
30
|
+
onSearchResultSelect={(r) => router.push(`/${r.entityType}/${r.id}`)}
|
|
31
|
+
/>
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## Gotchas
|
|
35
|
+
- Uses CommandRegistry context for page navigation items (see CommandRegistryProvider)
|
|
36
|
+
- `isAdmin` takes precedence over `user.role` for showing admin command groups
|
|
37
|
+
- Should be placed at the app root level, typically alongside TopBar
|
|
38
|
+
|
|
39
|
+
## Changes
|
|
40
|
+
### v0.3.0
|
|
41
|
+
- **Fixed** Added missing `'use client'` directive
|
|
42
|
+
|
|
43
|
+
### v0.1.0
|
|
44
|
+
- **Added** Initial release
|
|
@@ -1,52 +1,52 @@
|
|
|
1
|
-
# BottomNavbar
|
|
2
|
-
|
|
3
|
-
- Import: @devalok/shilp-sutra/shell/bottom-navbar
|
|
4
|
-
- Server-safe: No
|
|
5
|
-
- Category: shell
|
|
6
|
-
|
|
7
|
-
## Props
|
|
8
|
-
currentPath?: string (optional)
|
|
9
|
-
user?: BottomNavbarUser | null (optional)
|
|
10
|
-
primaryItems?: BottomNavItem[] (max 4 recommended, optional)
|
|
11
|
-
moreItems?: BottomNavItem[] (overflow items in "More" menu, optional)
|
|
12
|
-
className?: string
|
|
13
|
-
|
|
14
|
-
BottomNavItem: { title: string, href: string, icon: ReactNode, exact?: boolean, badge?: number }
|
|
15
|
-
BottomNavbarUser: { name: string, role?: string }
|
|
16
|
-
|
|
17
|
-
## Defaults
|
|
18
|
-
None
|
|
19
|
-
|
|
20
|
-
## Example
|
|
21
|
-
```jsx
|
|
22
|
-
<BottomNavbar
|
|
23
|
-
currentPath="/dashboard"
|
|
24
|
-
primaryItems={[
|
|
25
|
-
{ title: 'Home', href: '/', icon: <IconHome /> },
|
|
26
|
-
{ title: 'Tasks', href: '/tasks', icon: <IconChecklist /> },
|
|
27
|
-
]}
|
|
28
|
-
/>
|
|
29
|
-
```
|
|
30
|
-
|
|
31
|
-
## Gotchas
|
|
32
|
-
- Designed for mobile viewports — fixed to bottom of screen
|
|
33
|
-
- Max 4 `primaryItems` recommended; overflow goes in `moreItems` shown in a "More" sheet
|
|
34
|
-
- Use with `useIsMobile()` hook to conditionally render instead of AppSidebar
|
|
35
|
-
- Requires LinkProvider for framework-specific link components (e.g., Next.js Link)
|
|
36
|
-
|
|
37
|
-
## Changes
|
|
38
|
-
### v0.19.0
|
|
39
|
-
- **Changed** Background elevated from `bg-surface-1` to `bg-surface-2` for visual hierarchy above app background
|
|
40
|
-
- **Changed** "More" menu and interactive items bumped accordingly
|
|
41
|
-
|
|
42
|
-
### v0.18.0
|
|
43
|
-
- **Fixed** Removed incorrect `role="button"` and `tabIndex` from overlay
|
|
44
|
-
|
|
45
|
-
### v0.16.0
|
|
46
|
-
- **Added** `badge?: number` on `BottomNavItem` — notification count badge (red dot, 99+ cap)
|
|
47
|
-
|
|
48
|
-
### v0.1.1
|
|
49
|
-
- **Changed** Decoupled from Next.js via LinkProvider
|
|
50
|
-
|
|
51
|
-
### v0.1.0
|
|
52
|
-
- **Added** Initial release
|
|
1
|
+
# BottomNavbar
|
|
2
|
+
|
|
3
|
+
- Import: @devalok/shilp-sutra/shell/bottom-navbar
|
|
4
|
+
- Server-safe: No
|
|
5
|
+
- Category: shell
|
|
6
|
+
|
|
7
|
+
## Props
|
|
8
|
+
currentPath?: string (optional)
|
|
9
|
+
user?: BottomNavbarUser | null (optional)
|
|
10
|
+
primaryItems?: BottomNavItem[] (max 4 recommended, optional)
|
|
11
|
+
moreItems?: BottomNavItem[] (overflow items in "More" menu, optional)
|
|
12
|
+
className?: string
|
|
13
|
+
|
|
14
|
+
BottomNavItem: { title: string, href: string, icon: ReactNode, exact?: boolean, badge?: number }
|
|
15
|
+
BottomNavbarUser: { name: string, role?: string }
|
|
16
|
+
|
|
17
|
+
## Defaults
|
|
18
|
+
None
|
|
19
|
+
|
|
20
|
+
## Example
|
|
21
|
+
```jsx
|
|
22
|
+
<BottomNavbar
|
|
23
|
+
currentPath="/dashboard"
|
|
24
|
+
primaryItems={[
|
|
25
|
+
{ title: 'Home', href: '/', icon: <IconHome /> },
|
|
26
|
+
{ title: 'Tasks', href: '/tasks', icon: <IconChecklist /> },
|
|
27
|
+
]}
|
|
28
|
+
/>
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## Gotchas
|
|
32
|
+
- Designed for mobile viewports — fixed to bottom of screen
|
|
33
|
+
- Max 4 `primaryItems` recommended; overflow goes in `moreItems` shown in a "More" sheet
|
|
34
|
+
- Use with `useIsMobile()` hook to conditionally render instead of AppSidebar
|
|
35
|
+
- Requires LinkProvider for framework-specific link components (e.g., Next.js Link)
|
|
36
|
+
|
|
37
|
+
## Changes
|
|
38
|
+
### v0.19.0
|
|
39
|
+
- **Changed** Background elevated from `bg-surface-1` to `bg-surface-2` for visual hierarchy above app background
|
|
40
|
+
- **Changed** "More" menu and interactive items bumped accordingly
|
|
41
|
+
|
|
42
|
+
### v0.18.0
|
|
43
|
+
- **Fixed** Removed incorrect `role="button"` and `tabIndex` from overlay
|
|
44
|
+
|
|
45
|
+
### v0.16.0
|
|
46
|
+
- **Added** `badge?: number` on `BottomNavItem` — notification count badge (red dot, 99+ cap)
|
|
47
|
+
|
|
48
|
+
### v0.1.1
|
|
49
|
+
- **Changed** Decoupled from Next.js via LinkProvider
|
|
50
|
+
|
|
51
|
+
### v0.1.0
|
|
52
|
+
- **Added** Initial release
|
|
@@ -1,48 +1,48 @@
|
|
|
1
|
-
# CommandRegistry
|
|
2
|
-
|
|
3
|
-
- Import: @devalok/shilp-sutra/shell/command-registry
|
|
4
|
-
- Server-safe: No
|
|
5
|
-
- Category: shell
|
|
6
|
-
|
|
7
|
-
Exports: CommandRegistryProvider, useCommandRegistry
|
|
8
|
-
|
|
9
|
-
## Props
|
|
10
|
-
|
|
11
|
-
### CommandRegistryProvider
|
|
12
|
-
children: ReactNode
|
|
13
|
-
registry: CommandRegistry (REQUIRED)
|
|
14
|
-
|
|
15
|
-
CommandRegistry: { pages: CommandPageItem[], adminPages: CommandPageItem[] }
|
|
16
|
-
CommandPageItem: { id: string, label: string, icon: ReactNode, path: string, keywords?: string[] }
|
|
17
|
-
|
|
18
|
-
### useCommandRegistry hook
|
|
19
|
-
Returns: CommandRegistry | null
|
|
20
|
-
|
|
21
|
-
## Defaults
|
|
22
|
-
None
|
|
23
|
-
|
|
24
|
-
## Example
|
|
25
|
-
```jsx
|
|
26
|
-
<CommandRegistryProvider
|
|
27
|
-
registry={{
|
|
28
|
-
pages: [
|
|
29
|
-
{ id: 'dashboard', label: 'Dashboard', icon: <IconHome />, path: '/dashboard' },
|
|
30
|
-
{ id: 'projects', label: 'Projects', icon: <IconFolder />, path: '/projects' },
|
|
31
|
-
],
|
|
32
|
-
adminPages: [
|
|
33
|
-
{ id: 'users', label: 'Manage Users', icon: <IconUsers />, path: '/admin/users' },
|
|
34
|
-
],
|
|
35
|
-
}}
|
|
36
|
-
>
|
|
37
|
-
<App />
|
|
38
|
-
</CommandRegistryProvider>
|
|
39
|
-
```
|
|
40
|
-
|
|
41
|
-
## Gotchas
|
|
42
|
-
- Provides the command registry context consumed by AppCommandPalette
|
|
43
|
-
- Place at app root, wrapping both AppCommandPalette and the rest of the app
|
|
44
|
-
- `useCommandRegistry()` returns `null` if no provider is found — handle this case
|
|
45
|
-
|
|
46
|
-
## Changes
|
|
47
|
-
### v0.1.0
|
|
48
|
-
- **Added** Initial release
|
|
1
|
+
# CommandRegistry
|
|
2
|
+
|
|
3
|
+
- Import: @devalok/shilp-sutra/shell/command-registry
|
|
4
|
+
- Server-safe: No
|
|
5
|
+
- Category: shell
|
|
6
|
+
|
|
7
|
+
Exports: CommandRegistryProvider, useCommandRegistry
|
|
8
|
+
|
|
9
|
+
## Props
|
|
10
|
+
|
|
11
|
+
### CommandRegistryProvider
|
|
12
|
+
children: ReactNode
|
|
13
|
+
registry: CommandRegistry (REQUIRED)
|
|
14
|
+
|
|
15
|
+
CommandRegistry: { pages: CommandPageItem[], adminPages: CommandPageItem[] }
|
|
16
|
+
CommandPageItem: { id: string, label: string, icon: ReactNode, path: string, keywords?: string[] }
|
|
17
|
+
|
|
18
|
+
### useCommandRegistry hook
|
|
19
|
+
Returns: CommandRegistry | null
|
|
20
|
+
|
|
21
|
+
## Defaults
|
|
22
|
+
None
|
|
23
|
+
|
|
24
|
+
## Example
|
|
25
|
+
```jsx
|
|
26
|
+
<CommandRegistryProvider
|
|
27
|
+
registry={{
|
|
28
|
+
pages: [
|
|
29
|
+
{ id: 'dashboard', label: 'Dashboard', icon: <IconHome />, path: '/dashboard' },
|
|
30
|
+
{ id: 'projects', label: 'Projects', icon: <IconFolder />, path: '/projects' },
|
|
31
|
+
],
|
|
32
|
+
adminPages: [
|
|
33
|
+
{ id: 'users', label: 'Manage Users', icon: <IconUsers />, path: '/admin/users' },
|
|
34
|
+
],
|
|
35
|
+
}}
|
|
36
|
+
>
|
|
37
|
+
<App />
|
|
38
|
+
</CommandRegistryProvider>
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
## Gotchas
|
|
42
|
+
- Provides the command registry context consumed by AppCommandPalette
|
|
43
|
+
- Place at app root, wrapping both AppCommandPalette and the rest of the app
|
|
44
|
+
- `useCommandRegistry()` returns `null` if no provider is found — handle this case
|
|
45
|
+
|
|
46
|
+
## Changes
|
|
47
|
+
### v0.1.0
|
|
48
|
+
- **Added** Initial release
|
|
@@ -1,41 +1,41 @@
|
|
|
1
|
-
# LinkProvider
|
|
2
|
-
|
|
3
|
-
- Import: @devalok/shilp-sutra/shell/link-context
|
|
4
|
-
- Server-safe: No
|
|
5
|
-
- Category: shell
|
|
6
|
-
|
|
7
|
-
Exports: LinkProvider, useLink
|
|
8
|
-
|
|
9
|
-
## Props
|
|
10
|
-
|
|
11
|
-
### LinkProvider
|
|
12
|
-
component: ForwardRefComponent (e.g. Next.js Link, Remix Link)
|
|
13
|
-
children: ReactNode
|
|
14
|
-
|
|
15
|
-
### useLink hook
|
|
16
|
-
Returns: LinkComponent
|
|
17
|
-
|
|
18
|
-
## Defaults
|
|
19
|
-
Without LinkProvider, shell components render plain `<a>` tags
|
|
20
|
-
|
|
21
|
-
## Example
|
|
22
|
-
```jsx
|
|
23
|
-
import Link from 'next/link'
|
|
24
|
-
|
|
25
|
-
<LinkProvider component={Link}>
|
|
26
|
-
<AppSidebar ... />
|
|
27
|
-
<BottomNavbar ... />
|
|
28
|
-
</LinkProvider>
|
|
29
|
-
```
|
|
30
|
-
|
|
31
|
-
## Gotchas
|
|
32
|
-
- Without LinkProvider, shell components render plain `<a>` tags (full page reloads)
|
|
33
|
-
- Place at app root, wrapping all shell components that render navigation links
|
|
34
|
-
- The `component` prop must be a forwardRef component (Next.js Link, Remix Link, etc.)
|
|
35
|
-
|
|
36
|
-
## Changes
|
|
37
|
-
### v0.1.1
|
|
38
|
-
- **Added** Shell components decoupled from Next.js — replaced hard `next/link` import with polymorphic `LinkProvider`/`useLink` context
|
|
39
|
-
|
|
40
|
-
### v0.1.0
|
|
41
|
-
- **Added** Initial release (with hardcoded Next.js Link dependency)
|
|
1
|
+
# LinkProvider
|
|
2
|
+
|
|
3
|
+
- Import: @devalok/shilp-sutra/shell/link-context
|
|
4
|
+
- Server-safe: No
|
|
5
|
+
- Category: shell
|
|
6
|
+
|
|
7
|
+
Exports: LinkProvider, useLink
|
|
8
|
+
|
|
9
|
+
## Props
|
|
10
|
+
|
|
11
|
+
### LinkProvider
|
|
12
|
+
component: ForwardRefComponent (e.g. Next.js Link, Remix Link)
|
|
13
|
+
children: ReactNode
|
|
14
|
+
|
|
15
|
+
### useLink hook
|
|
16
|
+
Returns: LinkComponent
|
|
17
|
+
|
|
18
|
+
## Defaults
|
|
19
|
+
Without LinkProvider, shell components render plain `<a>` tags
|
|
20
|
+
|
|
21
|
+
## Example
|
|
22
|
+
```jsx
|
|
23
|
+
import Link from 'next/link'
|
|
24
|
+
|
|
25
|
+
<LinkProvider component={Link}>
|
|
26
|
+
<AppSidebar ... />
|
|
27
|
+
<BottomNavbar ... />
|
|
28
|
+
</LinkProvider>
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## Gotchas
|
|
32
|
+
- Without LinkProvider, shell components render plain `<a>` tags (full page reloads)
|
|
33
|
+
- Place at app root, wrapping all shell components that render navigation links
|
|
34
|
+
- The `component` prop must be a forwardRef component (Next.js Link, Remix Link, etc.)
|
|
35
|
+
|
|
36
|
+
## Changes
|
|
37
|
+
### v0.1.1
|
|
38
|
+
- **Added** Shell components decoupled from Next.js — replaced hard `next/link` import with polymorphic `LinkProvider`/`useLink` context
|
|
39
|
+
|
|
40
|
+
### v0.1.0
|
|
41
|
+
- **Added** Initial release (with hardcoded Next.js Link dependency)
|