@devalok/shilp-sutra 0.34.0 → 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 +306 -246
- package/dist/_chunks/badge-group.js.map +1 -0
- package/dist/_chunks/chat.js +518 -0
- package/dist/_chunks/chat.js.map +1 -0
- package/dist/_chunks/date-picker.js +748 -0
- package/dist/_chunks/date-picker.js.map +1 -0
- package/dist/_chunks/document-preview.js +109 -90
- package/dist/_chunks/document-preview.js.map +1 -0
- package/dist/_chunks/file-preview.js +492 -504
- package/dist/_chunks/file-preview.js.map +1 -0
- package/dist/_chunks/framer.js +5564 -5613
- package/dist/_chunks/framer.js.map +1 -0
- package/dist/_chunks/image-preview.js +127 -88
- package/dist/_chunks/image-preview.js.map +1 -0
- package/dist/_chunks/keybinding.js +12 -14
- package/dist/_chunks/keybinding.js.map +1 -0
- package/dist/_chunks/link-context.js +19 -16
- package/dist/_chunks/link-context.js.map +1 -0
- package/dist/_chunks/mention-suggestion.js +353 -350
- package/dist/_chunks/mention-suggestion.js.map +1 -0
- package/dist/_chunks/motion-provider.js +26 -20
- package/dist/_chunks/motion-provider.js.map +1 -0
- package/dist/_chunks/popover.js +123 -0
- package/dist/_chunks/popover.js.map +1 -0
- package/dist/_chunks/primitives.js +7585 -6426
- package/dist/_chunks/primitives.js.map +1 -0
- package/dist/_chunks/rich-chat-input.js +2071 -0
- package/dist/_chunks/rich-chat-input.js.map +1 -0
- package/dist/_chunks/rolldown-runtime.js +21 -0
- package/dist/_chunks/shared.js +126 -0
- package/dist/_chunks/shared.js.map +1 -0
- package/dist/_chunks/sonner.js +605 -734
- package/dist/_chunks/sonner.js.map +1 -0
- package/dist/_chunks/stat-row.js +418 -440
- package/dist/_chunks/stat-row.js.map +1 -0
- package/dist/_chunks/tiptap.js +15850 -19964
- package/dist/_chunks/tiptap.js.map +1 -0
- package/dist/_chunks/tree-view.js +231 -290
- package/dist/_chunks/tree-view.js.map +1 -0
- package/dist/_chunks/use-calendar.js +161 -208
- package/dist/_chunks/use-calendar.js.map +1 -0
- package/dist/_chunks/vendor-client.js +314 -2199
- package/dist/_chunks/vendor-client.js.map +1 -0
- package/dist/_chunks/vendor-utils.js +1721 -2978
- package/dist/_chunks/vendor-utils.js.map +1 -0
- package/dist/ai/ai-command-provider.js +23 -17
- package/dist/ai/ai-command-provider.js.map +1 -0
- package/dist/ai/block-renderer.js +68 -51
- package/dist/ai/block-renderer.js.map +1 -0
- package/dist/ai/blocks/index.js +2 -12
- package/dist/ai/blocks/loading.d.ts.map +1 -1
- package/dist/ai/command-bar.js +470 -519
- package/dist/ai/command-bar.js.map +1 -0
- package/dist/ai/conversation.js +241 -227
- package/dist/ai/conversation.js.map +1 -0
- package/dist/ai/devadoot-icon.d.ts.map +1 -1
- package/dist/ai/index.js +181 -167
- package/dist/ai/index.js.map +1 -0
- package/dist/ai/types.js +0 -1
- package/dist/composed/activity-feed.js +232 -202
- package/dist/composed/activity-feed.js.map +1 -0
- package/dist/composed/avatar-group.js +164 -222
- package/dist/composed/avatar-group.js.map +1 -0
- package/dist/composed/bulk-action-bar.js +166 -165
- package/dist/composed/bulk-action-bar.js.map +1 -0
- package/dist/composed/command-palette.js +290 -308
- package/dist/composed/command-palette.js.map +1 -0
- package/dist/composed/confirm-dialog.js +28 -48
- package/dist/composed/confirm-dialog.js.map +1 -0
- package/dist/composed/content-card.js +69 -108
- package/dist/composed/content-card.js.map +1 -0
- package/dist/composed/date-picker/index.js +3 -13
- package/dist/composed/deadline-indicator.js +68 -74
- package/dist/composed/deadline-indicator.js.map +1 -0
- package/dist/composed/emoji-picker.js +83 -110
- 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 +64 -103
- package/dist/composed/empty-state.js.map +1 -0
- package/dist/composed/error-boundary.js +129 -127
- package/dist/composed/error-boundary.js.map +1 -0
- package/dist/composed/file-preview.js +2 -12
- package/dist/composed/filter-bar.js +98 -130
- package/dist/composed/filter-bar.js.map +1 -0
- package/dist/composed/form-section.js +61 -45
- package/dist/composed/form-section.js.map +1 -0
- package/dist/composed/global-loading.js +34 -47
- package/dist/composed/global-loading.js.map +1 -0
- package/dist/composed/index.js +34 -92
- package/dist/composed/inline-edit.js +92 -107
- package/dist/composed/inline-edit.js.map +1 -0
- package/dist/composed/lib/string-utils.js +8 -8
- package/dist/composed/lib/string-utils.js.map +1 -0
- package/dist/composed/loading-skeleton.js +103 -171
- package/dist/composed/loading-skeleton.js.map +1 -0
- package/dist/composed/markdown-viewer.js +187 -139
- package/dist/composed/markdown-viewer.js.map +1 -0
- package/dist/composed/master-detail.js +147 -156
- package/dist/composed/master-detail.js.map +1 -0
- package/dist/composed/member-picker.js +46 -49
- 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 +185 -179
- package/dist/composed/multi-select-popover.js.map +1 -0
- package/dist/composed/page-header.js +54 -76
- package/dist/composed/page-header.js.map +1 -0
- package/dist/composed/page-skeletons.js +143 -127
- package/dist/composed/page-skeletons.js.map +1 -0
- package/dist/composed/priority-indicator.js +105 -111
- package/dist/composed/priority-indicator.js.map +1 -0
- package/dist/composed/responsive-overlay.js +36 -41
- 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-chat-input.js +2 -1860
- package/dist/composed/rich-text-editor.js +561 -424
- package/dist/composed/rich-text-editor.js.map +1 -0
- package/dist/composed/schedule-view.js +134 -185
- package/dist/composed/schedule-view.js.map +1 -0
- package/dist/composed/simple-tooltip.js +21 -21
- 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 +133 -137
- package/dist/composed/status-badge.js.map +1 -0
- package/dist/hooks/index.js +7 -12
- package/dist/hooks/use-color-mode.js +28 -25
- package/dist/hooks/use-color-mode.js.map +1 -0
- package/dist/hooks/use-mobile.js +13 -13
- package/dist/hooks/use-mobile.js.map +1 -0
- package/dist/hooks/use-toast.js +2 -4
- package/dist/hooks/use-touch-device.js +9 -11
- package/dist/hooks/use-touch-device.js.map +1 -0
- package/dist/hooks/use-viewport-height.js +14 -14
- 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 +17 -11
- package/dist/motion/index.js.map +1 -0
- package/dist/motion/primitives-index.js +226 -186
- 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 +94 -238
- package/dist/shell/app-command-palette.js.map +1 -0
- package/dist/shell/bottom-navbar.js +150 -190
- package/dist/shell/bottom-navbar.js.map +1 -0
- package/dist/shell/command-registry.js +13 -14
- package/dist/shell/command-registry.js.map +1 -0
- package/dist/shell/index.js +10 -20
- package/dist/shell/link-context.js +2 -5
- package/dist/shell/notification-center.d.ts.map +1 -1
- package/dist/shell/notification-center.js +263 -259
- package/dist/shell/notification-center.js.map +1 -0
- package/dist/shell/notification-preferences.js +241 -184
- package/dist/shell/notification-preferences.js.map +1 -0
- package/dist/shell/sidebar.js +251 -281
- package/dist/shell/sidebar.js.map +1 -0
- package/dist/shell/top-bar.js +203 -237
- package/dist/shell/top-bar.js.map +1 -0
- package/dist/tailwind/index.cjs +473 -442
- package/dist/tailwind/index.js +2 -4
- package/dist/tailwind/preset.d.ts.map +1 -1
- package/dist/tailwind/preset.js +490 -459
- 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 +52 -60
- 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 +112 -156
- 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 +203 -99
- package/dist/ui/alert.js.map +1 -0
- package/dist/ui/aspect-ratio.js +13 -16
- package/dist/ui/aspect-ratio.js.map +1 -0
- package/dist/ui/autocomplete.d.ts.map +1 -1
- package/dist/ui/autocomplete.js +137 -148
- package/dist/ui/autocomplete.js.map +1 -0
- package/dist/ui/avatar.js +196 -169
- package/dist/ui/avatar.js.map +1 -0
- package/dist/ui/badge-group.js +2 -7
- package/dist/ui/badge-indicator.js +42 -51
- package/dist/ui/badge-indicator.js.map +1 -0
- package/dist/ui/badge.js +2 -15
- package/dist/ui/banner.js +76 -68
- package/dist/ui/banner.js.map +1 -0
- package/dist/ui/breadcrumb.js +65 -84
- package/dist/ui/breadcrumb.js.map +1 -0
- package/dist/ui/button-group.js +109 -102
- 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 +89 -72
- package/dist/ui/button-processing.js.map +1 -0
- package/dist/ui/button.js +393 -279
- package/dist/ui/button.js.map +1 -0
- package/dist/ui/card.js +151 -157
- 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 +1025 -1319
- package/dist/ui/charts/index.js.map +1 -0
- package/dist/ui/charts/line-chart.d.ts.map +1 -1
- package/dist/ui/chat/index.js +2 -11
- 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 +82 -100
- package/dist/ui/checkbox.js.map +1 -0
- package/dist/ui/code.js +18 -32
- package/dist/ui/code.js.map +1 -0
- package/dist/ui/collapsible.js +21 -29
- package/dist/ui/collapsible.js.map +1 -0
- package/dist/ui/color-input.d.ts.map +1 -1
- package/dist/ui/color-input.js +455 -372
- package/dist/ui/color-input.js.map +1 -0
- package/dist/ui/color-swatch.js +60 -90
- 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 +278 -293
- package/dist/ui/combobox.js.map +1 -0
- package/dist/ui/container.js +18 -24
- package/dist/ui/container.js.map +1 -0
- package/dist/ui/context-menu.js +154 -203
- package/dist/ui/context-menu.js.map +1 -0
- package/dist/ui/data-table-body.js +116 -213
- package/dist/ui/data-table-body.js.map +1 -0
- package/dist/ui/data-table-bulk-actions.js +43 -59
- package/dist/ui/data-table-bulk-actions.js.map +1 -0
- package/dist/ui/data-table-card.js +84 -71
- package/dist/ui/data-table-card.js.map +1 -0
- package/dist/ui/data-table-context.js +39 -42
- package/dist/ui/data-table-context.js.map +1 -0
- package/dist/ui/data-table-header.js +98 -139
- package/dist/ui/data-table-header.js.map +1 -0
- package/dist/ui/data-table-pagination.js +69 -82
- package/dist/ui/data-table-pagination.js.map +1 -0
- package/dist/ui/data-table-toolbar.js +104 -130
- package/dist/ui/data-table-toolbar.js.map +1 -0
- package/dist/ui/data-table.js +281 -354
- package/dist/ui/data-table.js.map +1 -0
- package/dist/ui/devalok-grain.js +77 -66
- package/dist/ui/devalok-grain.js.map +1 -0
- package/dist/ui/dialog.js +118 -151
- package/dist/ui/dialog.js.map +1 -0
- package/dist/ui/dropdown-menu.js +152 -203
- package/dist/ui/dropdown-menu.js.map +1 -0
- package/dist/ui/file-upload.js +242 -266
- 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 +62 -56
- package/dist/ui/form.js.map +1 -0
- package/dist/ui/hover-card.js +54 -54
- package/dist/ui/hover-card.js.map +1 -0
- package/dist/ui/icon-button.js +21 -26
- package/dist/ui/icon-button.js.map +1 -0
- package/dist/ui/icon-context.js +17 -17
- package/dist/ui/icon-context.js.map +1 -0
- package/dist/ui/icon-group.js +22 -29
- package/dist/ui/icon-group.js.map +1 -0
- package/dist/ui/icon.js +201 -121
- 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 +90 -350
- 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 +58 -48
- package/dist/ui/input-otp.js.map +1 -0
- package/dist/ui/input.d.ts.map +1 -1
- package/dist/ui/input.js +93 -169
- package/dist/ui/input.js.map +1 -0
- package/dist/ui/label.d.ts.map +1 -1
- package/dist/ui/label.js +23 -23
- 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 +14 -11
- 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 +83 -33
- package/dist/ui/lib/motion.js.map +1 -0
- package/dist/ui/lib/utils.js +39 -16
- package/dist/ui/lib/utils.js.map +1 -0
- package/dist/ui/link.js +13 -24
- package/dist/ui/link.js.map +1 -0
- package/dist/ui/menubar.js +132 -210
- package/dist/ui/menubar.js.map +1 -0
- package/dist/ui/navigation-menu.js +163 -193
- 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 +102 -95
- package/dist/ui/number-input.js.map +1 -0
- package/dist/ui/pagination.js +122 -159
- package/dist/ui/pagination.js.map +1 -0
- package/dist/ui/popover.js +2 -131
- package/dist/ui/progress-ring.d.ts.map +1 -1
- package/dist/ui/progress-ring.js +133 -143
- package/dist/ui/progress-ring.js.map +1 -0
- package/dist/ui/progress.js +51 -95
- package/dist/ui/progress.js.map +1 -0
- package/dist/ui/radio.d.ts.map +1 -1
- package/dist/ui/radio.js +47 -49
- package/dist/ui/radio.js.map +1 -0
- package/dist/ui/search-input.js +51 -53
- 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 +95 -114
- package/dist/ui/segmented-control.js.map +1 -0
- package/dist/ui/select.d.ts.map +1 -1
- package/dist/ui/select.js +137 -157
- package/dist/ui/select.js.map +1 -0
- package/dist/ui/separator.d.ts.map +1 -1
- package/dist/ui/separator.js +18 -25
- package/dist/ui/separator.js.map +1 -0
- package/dist/ui/sheet.js +135 -163
- package/dist/ui/sheet.js.map +1 -0
- package/dist/ui/sidebar.js +357 -600
- package/dist/ui/sidebar.js.map +1 -0
- package/dist/ui/skeleton.js +179 -231
- 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 +62 -34
- package/dist/ui/slider.js.map +1 -0
- package/dist/ui/spinner.js +226 -205
- package/dist/ui/spinner.js.map +1 -0
- package/dist/ui/split-button.d.ts.map +1 -1
- package/dist/ui/split-button.js +228 -276
- package/dist/ui/split-button.js.map +1 -0
- package/dist/ui/stack.js +56 -70
- package/dist/ui/stack.js.map +1 -0
- package/dist/ui/stat-card.js +259 -251
- package/dist/ui/stat-card.js.map +1 -0
- package/dist/ui/status-dot.js +67 -63
- 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 +124 -168
- package/dist/ui/stepper.js.map +1 -0
- package/dist/ui/switch.d.ts.map +1 -1
- package/dist/ui/switch.js +56 -55
- package/dist/ui/switch.js.map +1 -0
- package/dist/ui/table.js +57 -90
- 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 +159 -156
- 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 +60 -59
- package/dist/ui/text.js.map +1 -0
- package/dist/ui/textarea.js +40 -57
- 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-types.js +0 -1
- package/dist/ui/toast.d.ts.map +1 -1
- package/dist/ui/toast.js +559 -536
- package/dist/ui/toast.js.map +1 -0
- package/dist/ui/toaster.d.ts.map +1 -1
- package/dist/ui/toaster.js +24 -33
- 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 +44 -41
- 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 +44 -40
- package/dist/ui/toggle.js.map +1 -0
- package/dist/ui/tooltip.js +80 -65
- package/dist/ui/tooltip.js.map +1 -0
- package/dist/ui/tree-view/index.js +2 -6
- package/dist/ui/visually-hidden.js +12 -10
- 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
- package/dist/_chunks/date-time-picker.js +0 -851
- package/dist/_chunks/typing-indicator.js +0 -565
|
@@ -1,82 +1,82 @@
|
|
|
1
|
-
# RichTextEditor
|
|
2
|
-
|
|
3
|
-
- Import: @devalok/shilp-sutra/composed/rich-text-editor
|
|
4
|
-
- Server-safe: No
|
|
5
|
-
- Category: composed
|
|
6
|
-
|
|
7
|
-
Exports: RichTextEditor, RichTextViewer
|
|
8
|
-
|
|
9
|
-
## Props
|
|
10
|
-
|
|
11
|
-
### RichTextEditor
|
|
12
|
-
content: string (HTML string)
|
|
13
|
-
placeholder: string (default: "Start writing...")
|
|
14
|
-
onChange: (html: string) => void
|
|
15
|
-
className: string
|
|
16
|
-
editable: boolean (default: true)
|
|
17
|
-
onImageUpload?: (file: File) => Promise<string> — return URL. If omitted, images paste as base64
|
|
18
|
-
onFileUpload?: (file: File) => Promise<{ url: string; name: string; size: number }> — enables file attachments
|
|
19
|
-
mentions?: MentionItem[] — static list for @mention autocomplete
|
|
20
|
-
onMentionSearch?: (query: string) => Promise<MentionItem[]> — async search, takes precedence over static mentions
|
|
21
|
-
toolbar?: ToolbarItem[] — whitelist of toolbar items to show. Omit to show all.
|
|
22
|
-
onMentionSelect?: (item: MentionItem) => void — called when a mention is selected
|
|
23
|
-
|
|
24
|
-
ToolbarItem: 'bold' | 'italic' | 'underline' | 'strike' | 'highlight' | 'h2' | 'h3' | 'blockquote' | 'bulletList' | 'orderedList' | 'taskList' | 'codeBlock' | 'link' | 'image' | 'file' | 'hr' | 'alignLeft' | 'alignCenter' | 'alignRight' | 'emoji' | 'undo' | 'redo'
|
|
25
|
-
|
|
26
|
-
MentionItem: { id: string; label: string; avatar?: string }
|
|
27
|
-
|
|
28
|
-
### RichTextViewer
|
|
29
|
-
content: string (REQUIRED, HTML string)
|
|
30
|
-
className: string
|
|
31
|
-
|
|
32
|
-
## Defaults
|
|
33
|
-
RichTextEditor: placeholder="Start writing...", editable=true
|
|
34
|
-
|
|
35
|
-
## Example
|
|
36
|
-
```jsx
|
|
37
|
-
<RichTextEditor content={html} onChange={setHtml} placeholder="Write your message..." />
|
|
38
|
-
|
|
39
|
-
<RichTextEditor
|
|
40
|
-
content={html}
|
|
41
|
-
onChange={setHtml}
|
|
42
|
-
mentions={[{ id: '1', label: 'Aarav' }]}
|
|
43
|
-
onImageUpload={async (file) => uploadAndReturnUrl(file)}
|
|
44
|
-
onFileUpload={async (file) => ({ url: uploadUrl, name: file.name, size: file.size })}
|
|
45
|
-
/>
|
|
46
|
-
|
|
47
|
-
<RichTextViewer content={savedHtml} />
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
## Gotchas
|
|
51
|
-
- Tiptap is bundled — no need to install `@tiptap/*` packages separately
|
|
52
|
-
- Emoji picker requires `@emoji-mart/react` + `@emoji-mart/data` peers
|
|
53
|
-
- Images without `onImageUpload` are stored as base64 in HTML — large images bloat content
|
|
54
|
-
- Mention rendering in viewer always works (no mention props needed, just the HTML)
|
|
55
|
-
- Features: bold, italic, underline, strikethrough, highlight, headings, blockquote, lists, task lists, code, links, images, file attachments, mentions, emoji, text alignment, horizontal rule
|
|
56
|
-
|
|
57
|
-
## Changes
|
|
58
|
-
### v0.33.0
|
|
59
|
-
- **Added** `emojiSet` prop — `EmojiSet` type for consistent emoji art style rendering
|
|
60
|
-
- **Changed** TipTap v2 → v3 upgrade (useEditorState, immediatelyRender: false for SSR, ListKit)
|
|
61
|
-
- **Added** EmojiNode + createEmojiSuggestion(set) registered internally
|
|
62
|
-
|
|
63
|
-
### v0.30.0
|
|
64
|
-
- **Added** `toolbar` prop — whitelist of `ToolbarItem` names to control which toolbar buttons appear. Dividers render only between groups that have visible items. `ToolbarItem` type exported from barrel.
|
|
65
|
-
|
|
66
|
-
### v0.18.0
|
|
67
|
-
- **Fixed** Use ref to track internal changes, prevent update loop
|
|
68
|
-
|
|
69
|
-
### v0.9.0
|
|
70
|
-
- **Changed** All `@tiptap/*` packages moved from peerDependencies to bundled build-time dependencies — consumers no longer need to install tiptap separately
|
|
71
|
-
|
|
72
|
-
### v0.8.0
|
|
73
|
-
- **Fixed** Emoji picker now renders above the editor (not clipped by overflow)
|
|
74
|
-
- **Fixed** Link/image URL injection prevented via protocol validation
|
|
75
|
-
- **Fixed** Escape key in emoji picker no longer closes parent dialogs
|
|
76
|
-
- **Fixed** Tiptap peer deps tightened to `>=2.27.2 <3.0.0`
|
|
77
|
-
|
|
78
|
-
### v0.7.0
|
|
79
|
-
- **Added** Initial release — full-featured tiptap-based rich text editing with toolbar, mentions, emoji, image, alignment
|
|
80
|
-
|
|
81
|
-
### v0.1.1
|
|
82
|
-
- **Fixed** Added content sync effect so editor updates when `content` prop changes externally
|
|
1
|
+
# RichTextEditor
|
|
2
|
+
|
|
3
|
+
- Import: @devalok/shilp-sutra/composed/rich-text-editor
|
|
4
|
+
- Server-safe: No
|
|
5
|
+
- Category: composed
|
|
6
|
+
|
|
7
|
+
Exports: RichTextEditor, RichTextViewer
|
|
8
|
+
|
|
9
|
+
## Props
|
|
10
|
+
|
|
11
|
+
### RichTextEditor
|
|
12
|
+
content: string (HTML string)
|
|
13
|
+
placeholder: string (default: "Start writing...")
|
|
14
|
+
onChange: (html: string) => void
|
|
15
|
+
className: string
|
|
16
|
+
editable: boolean (default: true)
|
|
17
|
+
onImageUpload?: (file: File) => Promise<string> — return URL. If omitted, images paste as base64
|
|
18
|
+
onFileUpload?: (file: File) => Promise<{ url: string; name: string; size: number }> — enables file attachments
|
|
19
|
+
mentions?: MentionItem[] — static list for @mention autocomplete
|
|
20
|
+
onMentionSearch?: (query: string) => Promise<MentionItem[]> — async search, takes precedence over static mentions
|
|
21
|
+
toolbar?: ToolbarItem[] — whitelist of toolbar items to show. Omit to show all.
|
|
22
|
+
onMentionSelect?: (item: MentionItem) => void — called when a mention is selected
|
|
23
|
+
|
|
24
|
+
ToolbarItem: 'bold' | 'italic' | 'underline' | 'strike' | 'highlight' | 'h2' | 'h3' | 'blockquote' | 'bulletList' | 'orderedList' | 'taskList' | 'codeBlock' | 'link' | 'image' | 'file' | 'hr' | 'alignLeft' | 'alignCenter' | 'alignRight' | 'emoji' | 'undo' | 'redo'
|
|
25
|
+
|
|
26
|
+
MentionItem: { id: string; label: string; avatar?: string }
|
|
27
|
+
|
|
28
|
+
### RichTextViewer
|
|
29
|
+
content: string (REQUIRED, HTML string)
|
|
30
|
+
className: string
|
|
31
|
+
|
|
32
|
+
## Defaults
|
|
33
|
+
RichTextEditor: placeholder="Start writing...", editable=true
|
|
34
|
+
|
|
35
|
+
## Example
|
|
36
|
+
```jsx
|
|
37
|
+
<RichTextEditor content={html} onChange={setHtml} placeholder="Write your message..." />
|
|
38
|
+
|
|
39
|
+
<RichTextEditor
|
|
40
|
+
content={html}
|
|
41
|
+
onChange={setHtml}
|
|
42
|
+
mentions={[{ id: '1', label: 'Aarav' }]}
|
|
43
|
+
onImageUpload={async (file) => uploadAndReturnUrl(file)}
|
|
44
|
+
onFileUpload={async (file) => ({ url: uploadUrl, name: file.name, size: file.size })}
|
|
45
|
+
/>
|
|
46
|
+
|
|
47
|
+
<RichTextViewer content={savedHtml} />
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
## Gotchas
|
|
51
|
+
- Tiptap is bundled — no need to install `@tiptap/*` packages separately
|
|
52
|
+
- Emoji picker requires `@emoji-mart/react` + `@emoji-mart/data` peers
|
|
53
|
+
- Images without `onImageUpload` are stored as base64 in HTML — large images bloat content
|
|
54
|
+
- Mention rendering in viewer always works (no mention props needed, just the HTML)
|
|
55
|
+
- Features: bold, italic, underline, strikethrough, highlight, headings, blockquote, lists, task lists, code, links, images, file attachments, mentions, emoji, text alignment, horizontal rule
|
|
56
|
+
|
|
57
|
+
## Changes
|
|
58
|
+
### v0.33.0
|
|
59
|
+
- **Added** `emojiSet` prop — `EmojiSet` type for consistent emoji art style rendering
|
|
60
|
+
- **Changed** TipTap v2 → v3 upgrade (useEditorState, immediatelyRender: false for SSR, ListKit)
|
|
61
|
+
- **Added** EmojiNode + createEmojiSuggestion(set) registered internally
|
|
62
|
+
|
|
63
|
+
### v0.30.0
|
|
64
|
+
- **Added** `toolbar` prop — whitelist of `ToolbarItem` names to control which toolbar buttons appear. Dividers render only between groups that have visible items. `ToolbarItem` type exported from barrel.
|
|
65
|
+
|
|
66
|
+
### v0.18.0
|
|
67
|
+
- **Fixed** Use ref to track internal changes, prevent update loop
|
|
68
|
+
|
|
69
|
+
### v0.9.0
|
|
70
|
+
- **Changed** All `@tiptap/*` packages moved from peerDependencies to bundled build-time dependencies — consumers no longer need to install tiptap separately
|
|
71
|
+
|
|
72
|
+
### v0.8.0
|
|
73
|
+
- **Fixed** Emoji picker now renders above the editor (not clipped by overflow)
|
|
74
|
+
- **Fixed** Link/image URL injection prevented via protocol validation
|
|
75
|
+
- **Fixed** Escape key in emoji picker no longer closes parent dialogs
|
|
76
|
+
- **Fixed** Tiptap peer deps tightened to `>=2.27.2 <3.0.0`
|
|
77
|
+
|
|
78
|
+
### v0.7.0
|
|
79
|
+
- **Added** Initial release — full-featured tiptap-based rich text editing with toolbar, mentions, emoji, image, alignment
|
|
80
|
+
|
|
81
|
+
### v0.1.1
|
|
82
|
+
- **Fixed** Added content sync effect so editor updates when `content` prop changes externally
|
|
@@ -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
|