@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,130 +1,130 @@
|
|
|
1
|
-
# DatePicker
|
|
2
|
-
|
|
3
|
-
- Import: @devalok/shilp-sutra/composed/date-picker
|
|
4
|
-
- Server-safe: No
|
|
5
|
-
- Category: composed
|
|
6
|
-
|
|
7
|
-
## Props
|
|
8
|
-
|
|
9
|
-
### DatePicker
|
|
10
|
-
value?: Date | null
|
|
11
|
-
onChange?: (date: Date | null) => void
|
|
12
|
-
placeholder: string (default: "Pick a date")
|
|
13
|
-
formatStr: string (default: "MMM d, yyyy")
|
|
14
|
-
minDate: Date
|
|
15
|
-
maxDate: Date
|
|
16
|
-
disabledDates: (date: Date) => boolean
|
|
17
|
-
className: string
|
|
18
|
-
|
|
19
|
-
### DateRangePicker
|
|
20
|
-
startDate?: Date | null
|
|
21
|
-
endDate?: Date | null
|
|
22
|
-
onChange?: (range: { start: Date | null, end: Date | null }) => void
|
|
23
|
-
placeholder: string (default: "Pick a date range")
|
|
24
|
-
formatStr: string (default: "MMM d, yyyy")
|
|
25
|
-
minDate: Date
|
|
26
|
-
maxDate: Date
|
|
27
|
-
disabledDates: (date: Date) => boolean
|
|
28
|
-
presets: PresetKey[] (shows quick-select sidebar)
|
|
29
|
-
numberOfMonths: number (default: 1)
|
|
30
|
-
|
|
31
|
-
### DateTimePicker
|
|
32
|
-
value: Date | null
|
|
33
|
-
onChange: (date: Date | null) => void
|
|
34
|
-
minDate: Date
|
|
35
|
-
maxDate: Date
|
|
36
|
-
disabledDates: (date: Date) => boolean
|
|
37
|
-
timeFormat: "12h" | "24h"
|
|
38
|
-
minuteStep: number
|
|
39
|
-
placeholder: string
|
|
40
|
-
className: string
|
|
41
|
-
|
|
42
|
-
### TimePicker
|
|
43
|
-
value?: Date | null (time stored as a Date object)
|
|
44
|
-
onChange?: (date: Date) => void
|
|
45
|
-
format: "12h" | "24h" (default: "12h")
|
|
46
|
-
minuteStep: number (default: 1)
|
|
47
|
-
secondStep: number (default: 1)
|
|
48
|
-
showSeconds: boolean (default: false)
|
|
49
|
-
placeholder: string (default: "Pick a time")
|
|
50
|
-
disabled: boolean (default: false)
|
|
51
|
-
className: string
|
|
52
|
-
|
|
53
|
-
### CalendarGrid
|
|
54
|
-
currentMonth: Date (REQUIRED)
|
|
55
|
-
selected?: Date | null
|
|
56
|
-
rangeStart?: Date | null
|
|
57
|
-
rangeEnd?: Date | null
|
|
58
|
-
hoverDate?: Date | null
|
|
59
|
-
onSelect: (date: Date) => void (REQUIRED)
|
|
60
|
-
onHover?: (date: Date | null) => void
|
|
61
|
-
onMonthChange: (date: Date) => void (REQUIRED)
|
|
62
|
-
onHeaderClick?: () => void
|
|
63
|
-
disabledDates: (date: Date) => boolean
|
|
64
|
-
minDate: Date
|
|
65
|
-
maxDate: Date
|
|
66
|
-
hidePrevNav: boolean
|
|
67
|
-
hideNextNav: boolean
|
|
68
|
-
events: CalendarEvent[] — { date: Date, color?: string, label?: string }
|
|
69
|
-
|
|
70
|
-
### YearPicker
|
|
71
|
-
currentYear: number (REQUIRED)
|
|
72
|
-
selectedYear: number
|
|
73
|
-
onYearSelect: (year: number) => void (REQUIRED)
|
|
74
|
-
minDate: Date
|
|
75
|
-
maxDate: Date
|
|
76
|
-
|
|
77
|
-
### MonthPicker
|
|
78
|
-
currentYear: number (REQUIRED)
|
|
79
|
-
selectedMonth: number (0-11)
|
|
80
|
-
onMonthSelect: (month: number) => void (REQUIRED)
|
|
81
|
-
minDate: Date
|
|
82
|
-
maxDate: Date
|
|
83
|
-
|
|
84
|
-
### Presets
|
|
85
|
-
presets: PresetKey[] (REQUIRED)
|
|
86
|
-
onSelect: (start: Date, end: Date) => void (REQUIRED)
|
|
87
|
-
className: string
|
|
88
|
-
|
|
89
|
-
PresetKey: 'today' | 'yesterday' | 'last7days' | 'last30days' | 'thisMonth' | 'lastMonth' | 'thisYear'
|
|
90
|
-
|
|
91
|
-
### useCalendar hook
|
|
92
|
-
useCalendar(initialMonth?: Date) => { currentMonth, setCurrentMonth, goToPreviousMonth, goToNextMonth, goToMonth, goToYear }
|
|
93
|
-
|
|
94
|
-
## Defaults
|
|
95
|
-
DatePicker: placeholder="Pick a date", formatStr="MMM d, yyyy"
|
|
96
|
-
DateRangePicker: placeholder="Pick a date range", formatStr="MMM d, yyyy", numberOfMonths=1
|
|
97
|
-
TimePicker: format="12h", minuteStep=1, secondStep=1, showSeconds=false
|
|
98
|
-
|
|
99
|
-
## Example
|
|
100
|
-
```jsx
|
|
101
|
-
<DatePicker value={date} onChange={setDate} placeholder="Select date" />
|
|
102
|
-
|
|
103
|
-
<DateRangePicker
|
|
104
|
-
startDate={start}
|
|
105
|
-
endDate={end}
|
|
106
|
-
onChange={({ start, end }) => { setStart(start); setEnd(end); }}
|
|
107
|
-
/>
|
|
108
|
-
|
|
109
|
-
<DateTimePicker value={dateTime} onChange={setDateTime} timeFormat="12h" minuteStep={15} />
|
|
110
|
-
|
|
111
|
-
<TimePicker value={time} onChange={setTime} format="24h" minuteStep={15} />
|
|
112
|
-
```
|
|
113
|
-
|
|
114
|
-
## Gotchas
|
|
115
|
-
- TimePicker stores time inside a Date object — only hours/minutes/seconds are meaningful
|
|
116
|
-
- CalendarGrid is a low-level building block — prefer DatePicker/DateRangePicker for most use cases
|
|
117
|
-
- MonthPicker month values are 0-indexed (Jan=0, Dec=11) — same as JavaScript `Date.getMonth()`
|
|
118
|
-
- YearPicker displays a 12-year grid based on the decade of `currentYear`
|
|
119
|
-
- CalendarGrid supports up to 3 event dots per day cell
|
|
120
|
-
- useCalendar is a convenience hook for managing calendar month state
|
|
121
|
-
|
|
122
|
-
## Changes
|
|
123
|
-
### v0.18.0
|
|
124
|
-
- **Fixed** Added `aria-label` to DatePicker/DateRangePicker trigger buttons
|
|
125
|
-
|
|
126
|
-
### v0.4.2
|
|
127
|
-
- **Changed** DateRangePicker default `formatStr` from `'MMM d'` to `'MMM d, yyyy'`
|
|
128
|
-
|
|
129
|
-
### v0.1.0
|
|
130
|
-
- **Added** Initial release
|
|
1
|
+
# DatePicker
|
|
2
|
+
|
|
3
|
+
- Import: @devalok/shilp-sutra/composed/date-picker
|
|
4
|
+
- Server-safe: No
|
|
5
|
+
- Category: composed
|
|
6
|
+
|
|
7
|
+
## Props
|
|
8
|
+
|
|
9
|
+
### DatePicker
|
|
10
|
+
value?: Date | null
|
|
11
|
+
onChange?: (date: Date | null) => void
|
|
12
|
+
placeholder: string (default: "Pick a date")
|
|
13
|
+
formatStr: string (default: "MMM d, yyyy")
|
|
14
|
+
minDate: Date
|
|
15
|
+
maxDate: Date
|
|
16
|
+
disabledDates: (date: Date) => boolean
|
|
17
|
+
className: string
|
|
18
|
+
|
|
19
|
+
### DateRangePicker
|
|
20
|
+
startDate?: Date | null
|
|
21
|
+
endDate?: Date | null
|
|
22
|
+
onChange?: (range: { start: Date | null, end: Date | null }) => void
|
|
23
|
+
placeholder: string (default: "Pick a date range")
|
|
24
|
+
formatStr: string (default: "MMM d, yyyy")
|
|
25
|
+
minDate: Date
|
|
26
|
+
maxDate: Date
|
|
27
|
+
disabledDates: (date: Date) => boolean
|
|
28
|
+
presets: PresetKey[] (shows quick-select sidebar)
|
|
29
|
+
numberOfMonths: number (default: 1)
|
|
30
|
+
|
|
31
|
+
### DateTimePicker
|
|
32
|
+
value: Date | null
|
|
33
|
+
onChange: (date: Date | null) => void
|
|
34
|
+
minDate: Date
|
|
35
|
+
maxDate: Date
|
|
36
|
+
disabledDates: (date: Date) => boolean
|
|
37
|
+
timeFormat: "12h" | "24h"
|
|
38
|
+
minuteStep: number
|
|
39
|
+
placeholder: string
|
|
40
|
+
className: string
|
|
41
|
+
|
|
42
|
+
### TimePicker
|
|
43
|
+
value?: Date | null (time stored as a Date object)
|
|
44
|
+
onChange?: (date: Date) => void
|
|
45
|
+
format: "12h" | "24h" (default: "12h")
|
|
46
|
+
minuteStep: number (default: 1)
|
|
47
|
+
secondStep: number (default: 1)
|
|
48
|
+
showSeconds: boolean (default: false)
|
|
49
|
+
placeholder: string (default: "Pick a time")
|
|
50
|
+
disabled: boolean (default: false)
|
|
51
|
+
className: string
|
|
52
|
+
|
|
53
|
+
### CalendarGrid
|
|
54
|
+
currentMonth: Date (REQUIRED)
|
|
55
|
+
selected?: Date | null
|
|
56
|
+
rangeStart?: Date | null
|
|
57
|
+
rangeEnd?: Date | null
|
|
58
|
+
hoverDate?: Date | null
|
|
59
|
+
onSelect: (date: Date) => void (REQUIRED)
|
|
60
|
+
onHover?: (date: Date | null) => void
|
|
61
|
+
onMonthChange: (date: Date) => void (REQUIRED)
|
|
62
|
+
onHeaderClick?: () => void
|
|
63
|
+
disabledDates: (date: Date) => boolean
|
|
64
|
+
minDate: Date
|
|
65
|
+
maxDate: Date
|
|
66
|
+
hidePrevNav: boolean
|
|
67
|
+
hideNextNav: boolean
|
|
68
|
+
events: CalendarEvent[] — { date: Date, color?: string, label?: string }
|
|
69
|
+
|
|
70
|
+
### YearPicker
|
|
71
|
+
currentYear: number (REQUIRED)
|
|
72
|
+
selectedYear: number
|
|
73
|
+
onYearSelect: (year: number) => void (REQUIRED)
|
|
74
|
+
minDate: Date
|
|
75
|
+
maxDate: Date
|
|
76
|
+
|
|
77
|
+
### MonthPicker
|
|
78
|
+
currentYear: number (REQUIRED)
|
|
79
|
+
selectedMonth: number (0-11)
|
|
80
|
+
onMonthSelect: (month: number) => void (REQUIRED)
|
|
81
|
+
minDate: Date
|
|
82
|
+
maxDate: Date
|
|
83
|
+
|
|
84
|
+
### Presets
|
|
85
|
+
presets: PresetKey[] (REQUIRED)
|
|
86
|
+
onSelect: (start: Date, end: Date) => void (REQUIRED)
|
|
87
|
+
className: string
|
|
88
|
+
|
|
89
|
+
PresetKey: 'today' | 'yesterday' | 'last7days' | 'last30days' | 'thisMonth' | 'lastMonth' | 'thisYear'
|
|
90
|
+
|
|
91
|
+
### useCalendar hook
|
|
92
|
+
useCalendar(initialMonth?: Date) => { currentMonth, setCurrentMonth, goToPreviousMonth, goToNextMonth, goToMonth, goToYear }
|
|
93
|
+
|
|
94
|
+
## Defaults
|
|
95
|
+
DatePicker: placeholder="Pick a date", formatStr="MMM d, yyyy"
|
|
96
|
+
DateRangePicker: placeholder="Pick a date range", formatStr="MMM d, yyyy", numberOfMonths=1
|
|
97
|
+
TimePicker: format="12h", minuteStep=1, secondStep=1, showSeconds=false
|
|
98
|
+
|
|
99
|
+
## Example
|
|
100
|
+
```jsx
|
|
101
|
+
<DatePicker value={date} onChange={setDate} placeholder="Select date" />
|
|
102
|
+
|
|
103
|
+
<DateRangePicker
|
|
104
|
+
startDate={start}
|
|
105
|
+
endDate={end}
|
|
106
|
+
onChange={({ start, end }) => { setStart(start); setEnd(end); }}
|
|
107
|
+
/>
|
|
108
|
+
|
|
109
|
+
<DateTimePicker value={dateTime} onChange={setDateTime} timeFormat="12h" minuteStep={15} />
|
|
110
|
+
|
|
111
|
+
<TimePicker value={time} onChange={setTime} format="24h" minuteStep={15} />
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
## Gotchas
|
|
115
|
+
- TimePicker stores time inside a Date object — only hours/minutes/seconds are meaningful
|
|
116
|
+
- CalendarGrid is a low-level building block — prefer DatePicker/DateRangePicker for most use cases
|
|
117
|
+
- MonthPicker month values are 0-indexed (Jan=0, Dec=11) — same as JavaScript `Date.getMonth()`
|
|
118
|
+
- YearPicker displays a 12-year grid based on the decade of `currentYear`
|
|
119
|
+
- CalendarGrid supports up to 3 event dots per day cell
|
|
120
|
+
- useCalendar is a convenience hook for managing calendar month state
|
|
121
|
+
|
|
122
|
+
## Changes
|
|
123
|
+
### v0.18.0
|
|
124
|
+
- **Fixed** Added `aria-label` to DatePicker/DateRangePicker trigger buttons
|
|
125
|
+
|
|
126
|
+
### v0.4.2
|
|
127
|
+
- **Changed** DateRangePicker default `formatStr` from `'MMM d'` to `'MMM d, yyyy'`
|
|
128
|
+
|
|
129
|
+
### v0.1.0
|
|
130
|
+
- **Added** Initial release
|
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
# DeadlineIndicator
|
|
2
|
-
|
|
3
|
-
- Import: @devalok/shilp-sutra/composed/deadline-indicator
|
|
4
|
-
- Server-safe: Yes
|
|
5
|
-
- Category: composed
|
|
6
|
-
|
|
7
|
-
## Props
|
|
8
|
-
deadline: Date | string (deadline timestamp)
|
|
9
|
-
warningThreshold: number (minutes before deadline to show warning color)
|
|
10
|
-
criticalThreshold: number (minutes before deadline to show critical/error color)
|
|
11
|
-
format: "relative" | "absolute"
|
|
12
|
-
showIcon: boolean (show clock icon prefix)
|
|
13
|
-
|
|
14
|
-
## Defaults
|
|
15
|
-
warningThreshold={1440} (24h), criticalThreshold={240} (4h), format="relative", showIcon={false}
|
|
16
|
-
|
|
17
|
-
## Example
|
|
18
|
-
```jsx
|
|
19
|
-
<DeadlineIndicator deadline={task.dueDate} />
|
|
20
|
-
<DeadlineIndicator deadline="2026-03-20T17:00:00Z" showIcon format="absolute" />
|
|
21
|
-
<DeadlineIndicator deadline={task.dueDate} warningThreshold={2880} criticalThreshold={480} />
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
## Gotchas
|
|
25
|
-
- Color is semantic: green (on-track) -> yellow (warning threshold) -> red (critical/overdue)
|
|
26
|
-
- Overdue deadlines show bold red text with "Overdue by Xd/h/m"
|
|
27
|
-
- Relative format uses `Date.now()` at render time — does not live-update (re-render to refresh)
|
|
1
|
+
# DeadlineIndicator
|
|
2
|
+
|
|
3
|
+
- Import: @devalok/shilp-sutra/composed/deadline-indicator
|
|
4
|
+
- Server-safe: Yes
|
|
5
|
+
- Category: composed
|
|
6
|
+
|
|
7
|
+
## Props
|
|
8
|
+
deadline: Date | string (deadline timestamp)
|
|
9
|
+
warningThreshold: number (minutes before deadline to show warning color)
|
|
10
|
+
criticalThreshold: number (minutes before deadline to show critical/error color)
|
|
11
|
+
format: "relative" | "absolute"
|
|
12
|
+
showIcon: boolean (show clock icon prefix)
|
|
13
|
+
|
|
14
|
+
## Defaults
|
|
15
|
+
warningThreshold={1440} (24h), criticalThreshold={240} (4h), format="relative", showIcon={false}
|
|
16
|
+
|
|
17
|
+
## Example
|
|
18
|
+
```jsx
|
|
19
|
+
<DeadlineIndicator deadline={task.dueDate} />
|
|
20
|
+
<DeadlineIndicator deadline="2026-03-20T17:00:00Z" showIcon format="absolute" />
|
|
21
|
+
<DeadlineIndicator deadline={task.dueDate} warningThreshold={2880} criticalThreshold={480} />
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
## Gotchas
|
|
25
|
+
- Color is semantic: green (on-track) -> yellow (warning threshold) -> red (critical/overdue)
|
|
26
|
+
- Overdue deadlines show bold red text with "Overdue by Xd/h/m"
|
|
27
|
+
- Relative format uses `Date.now()` at render time — does not live-update (re-render to refresh)
|
|
@@ -1,52 +1,52 @@
|
|
|
1
|
-
# EmojiPicker
|
|
2
|
-
|
|
3
|
-
- Import: @devalok/shilp-sutra/composed/emoji-picker
|
|
4
|
-
- Server-safe: No
|
|
5
|
-
- Category: composed
|
|
6
|
-
|
|
7
|
-
## Exports
|
|
8
|
-
EmojiPicker, EmojiPickerPopover
|
|
9
|
-
|
|
10
|
-
## Props
|
|
11
|
-
|
|
12
|
-
### EmojiPicker
|
|
13
|
-
onSelect: (emoji: EmojiData) => void
|
|
14
|
-
theme: "auto" | "light" | "dark"
|
|
15
|
-
previewPosition: "top" | "bottom" | "none"
|
|
16
|
-
skinTonePosition: "search" | "preview" | "none"
|
|
17
|
-
className: string
|
|
18
|
-
|
|
19
|
-
### EmojiPickerPopover (extends EmojiPicker props)
|
|
20
|
-
children: ReactNode (trigger element)
|
|
21
|
-
align: "start" | "center" | "end"
|
|
22
|
-
|
|
23
|
-
### EmojiData
|
|
24
|
-
id: string
|
|
25
|
-
native: string (the emoji character)
|
|
26
|
-
shortcodes: string
|
|
27
|
-
|
|
28
|
-
## Defaults
|
|
29
|
-
theme="auto", previewPosition="none", skinTonePosition="search", align="start"
|
|
30
|
-
|
|
31
|
-
## Example
|
|
32
|
-
```jsx
|
|
33
|
-
<EmojiPickerPopover onSelect={(emoji) => insertEmoji(emoji.native)}>
|
|
34
|
-
<Button variant="ghost" size="icon-sm">😀</Button>
|
|
35
|
-
</EmojiPickerPopover>
|
|
36
|
-
|
|
37
|
-
<EmojiPicker onSelect={handleEmoji} theme="dark" />
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
## Gotchas
|
|
41
|
-
- Wraps `@emoji-mart/react` which is lazy-loaded — shows a Skeleton placeholder while loading
|
|
42
|
-
- `theme="auto"` reads the `.dark` class on `<html>` to pick light/dark
|
|
43
|
-
- EmojiPickerPopover auto-closes after selection
|
|
44
|
-
|
|
45
|
-
## Changes
|
|
46
|
-
|
|
47
|
-
### v0.33.0
|
|
48
|
-
- **Added** `set` prop on EmojiPicker and EmojiPickerPopover — `EmojiSet` type: 'native' | 'apple' | 'google' | 'twitter' | 'facebook'
|
|
49
|
-
- **Added** `EmojiNode` TipTap extension — inline atom node with spritesheet rendering for consistent emoji art styles
|
|
50
|
-
- **Added** `createEmojiSuggestion(set?)` factory — replaces `EmojiSuggestion` named export
|
|
51
|
-
- **Added** `EmojiSet` type exported from barrel
|
|
52
|
-
- **Breaking** `EmojiSuggestion` named export removed — use `createEmojiSuggestion()` factory
|
|
1
|
+
# EmojiPicker
|
|
2
|
+
|
|
3
|
+
- Import: @devalok/shilp-sutra/composed/emoji-picker
|
|
4
|
+
- Server-safe: No
|
|
5
|
+
- Category: composed
|
|
6
|
+
|
|
7
|
+
## Exports
|
|
8
|
+
EmojiPicker, EmojiPickerPopover
|
|
9
|
+
|
|
10
|
+
## Props
|
|
11
|
+
|
|
12
|
+
### EmojiPicker
|
|
13
|
+
onSelect: (emoji: EmojiData) => void
|
|
14
|
+
theme: "auto" | "light" | "dark"
|
|
15
|
+
previewPosition: "top" | "bottom" | "none"
|
|
16
|
+
skinTonePosition: "search" | "preview" | "none"
|
|
17
|
+
className: string
|
|
18
|
+
|
|
19
|
+
### EmojiPickerPopover (extends EmojiPicker props)
|
|
20
|
+
children: ReactNode (trigger element)
|
|
21
|
+
align: "start" | "center" | "end"
|
|
22
|
+
|
|
23
|
+
### EmojiData
|
|
24
|
+
id: string
|
|
25
|
+
native: string (the emoji character)
|
|
26
|
+
shortcodes: string
|
|
27
|
+
|
|
28
|
+
## Defaults
|
|
29
|
+
theme="auto", previewPosition="none", skinTonePosition="search", align="start"
|
|
30
|
+
|
|
31
|
+
## Example
|
|
32
|
+
```jsx
|
|
33
|
+
<EmojiPickerPopover onSelect={(emoji) => insertEmoji(emoji.native)}>
|
|
34
|
+
<Button variant="ghost" size="icon-sm">😀</Button>
|
|
35
|
+
</EmojiPickerPopover>
|
|
36
|
+
|
|
37
|
+
<EmojiPicker onSelect={handleEmoji} theme="dark" />
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## Gotchas
|
|
41
|
+
- Wraps `@emoji-mart/react` which is lazy-loaded — shows a Skeleton placeholder while loading
|
|
42
|
+
- `theme="auto"` reads the `.dark` class on `<html>` to pick light/dark
|
|
43
|
+
- EmojiPickerPopover auto-closes after selection
|
|
44
|
+
|
|
45
|
+
## Changes
|
|
46
|
+
|
|
47
|
+
### v0.33.0
|
|
48
|
+
- **Added** `set` prop on EmojiPicker and EmojiPickerPopover — `EmojiSet` type: 'native' | 'apple' | 'google' | 'twitter' | 'facebook'
|
|
49
|
+
- **Added** `EmojiNode` TipTap extension — inline atom node with spritesheet rendering for consistent emoji art styles
|
|
50
|
+
- **Added** `createEmojiSuggestion(set?)` factory — replaces `EmojiSuggestion` named export
|
|
51
|
+
- **Added** `EmojiSet` type exported from barrel
|
|
52
|
+
- **Breaking** `EmojiSuggestion` named export removed — use `createEmojiSuggestion()` factory
|
|
@@ -1,53 +1,53 @@
|
|
|
1
|
-
# EmptyState
|
|
2
|
-
|
|
3
|
-
- Import: @devalok/shilp-sutra/composed/empty-state
|
|
4
|
-
- Server-safe: No
|
|
5
|
-
- Category: composed
|
|
6
|
-
|
|
7
|
-
Note: EmptyState was server-safe prior to v0.18.0 but is NO LONGER server-safe due to Framer Motion dependency.
|
|
8
|
-
|
|
9
|
-
## Props
|
|
10
|
-
title: string (REQUIRED)
|
|
11
|
-
description: string
|
|
12
|
-
icon: ReactNode | ComponentType<{ className?: string }> (default: Devalok chakra icon)
|
|
13
|
-
action: ReactNode (e.g. a Button)
|
|
14
|
-
compact: boolean (smaller layout)
|
|
15
|
-
iconSize: 'sm' | 'md' | 'lg' (default 'md', compact defaults to 'sm') — sm=h-ico-sm, md=h-ico-lg, lg=h-ico-xl
|
|
16
|
-
|
|
17
|
-
## Defaults
|
|
18
|
-
iconSize="md" (compact defaults to "sm")
|
|
19
|
-
|
|
20
|
-
## Example
|
|
21
|
-
```jsx
|
|
22
|
-
<EmptyState
|
|
23
|
-
title="No tasks found"
|
|
24
|
-
description="Create your first task to get started."
|
|
25
|
-
action={<Button>Create Task</Button>}
|
|
26
|
-
iconSize="lg"
|
|
27
|
-
/>
|
|
28
|
-
```
|
|
29
|
-
|
|
30
|
-
## Gotchas
|
|
31
|
-
- `icon` accepts both JSX elements (`<IconFolder />`) and component references (`IconFolder`). Component references are auto-instantiated with correct sizing classes.
|
|
32
|
-
- `iconSize` controls icon dimensions regardless of icon type. When `compact=true` and no `iconSize`, defaults to `'sm'`.
|
|
33
|
-
- As of v0.18.0, EmptyState is NOT server-safe (Framer Motion dependency). Use per-component import in client components.
|
|
34
|
-
|
|
35
|
-
## Changes
|
|
36
|
-
### v0.18.0
|
|
37
|
-
- **Changed** No longer server-safe due to Framer Motion dependency
|
|
38
|
-
|
|
39
|
-
### v0.16.0
|
|
40
|
-
- **Added** `iconSize?: 'sm' | 'md' | 'lg'` — control icon dimensions
|
|
41
|
-
|
|
42
|
-
### v0.13.0
|
|
43
|
-
- **Changed** `icon` prop now accepts `React.ComponentType<{ className?: string }>` in addition to `ReactNode` — component references are auto-instantiated
|
|
44
|
-
|
|
45
|
-
### v0.5.0
|
|
46
|
-
- **Changed** `icon` prop changed from `TablerIcon` (component ref) to `React.ReactNode` — use `icon={<MyIcon />}` instead of `icon={MyIcon}`
|
|
47
|
-
- **Changed** Default icon is now the Devalok swadhisthana chakra (inline SVG)
|
|
48
|
-
|
|
49
|
-
### v0.2.0
|
|
50
|
-
- **Added** Identified as server-safe component (later reverted in v0.18.0)
|
|
51
|
-
|
|
52
|
-
### v0.1.0
|
|
53
|
-
- **Added** Initial release
|
|
1
|
+
# EmptyState
|
|
2
|
+
|
|
3
|
+
- Import: @devalok/shilp-sutra/composed/empty-state
|
|
4
|
+
- Server-safe: No
|
|
5
|
+
- Category: composed
|
|
6
|
+
|
|
7
|
+
Note: EmptyState was server-safe prior to v0.18.0 but is NO LONGER server-safe due to Framer Motion dependency.
|
|
8
|
+
|
|
9
|
+
## Props
|
|
10
|
+
title: string (REQUIRED)
|
|
11
|
+
description: string
|
|
12
|
+
icon: ReactNode | ComponentType<{ className?: string }> (default: Devalok chakra icon)
|
|
13
|
+
action: ReactNode (e.g. a Button)
|
|
14
|
+
compact: boolean (smaller layout)
|
|
15
|
+
iconSize: 'sm' | 'md' | 'lg' (default 'md', compact defaults to 'sm') — sm=h-ico-sm, md=h-ico-lg, lg=h-ico-xl
|
|
16
|
+
|
|
17
|
+
## Defaults
|
|
18
|
+
iconSize="md" (compact defaults to "sm")
|
|
19
|
+
|
|
20
|
+
## Example
|
|
21
|
+
```jsx
|
|
22
|
+
<EmptyState
|
|
23
|
+
title="No tasks found"
|
|
24
|
+
description="Create your first task to get started."
|
|
25
|
+
action={<Button>Create Task</Button>}
|
|
26
|
+
iconSize="lg"
|
|
27
|
+
/>
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## Gotchas
|
|
31
|
+
- `icon` accepts both JSX elements (`<IconFolder />`) and component references (`IconFolder`). Component references are auto-instantiated with correct sizing classes.
|
|
32
|
+
- `iconSize` controls icon dimensions regardless of icon type. When `compact=true` and no `iconSize`, defaults to `'sm'`.
|
|
33
|
+
- As of v0.18.0, EmptyState is NOT server-safe (Framer Motion dependency). Use per-component import in client components.
|
|
34
|
+
|
|
35
|
+
## Changes
|
|
36
|
+
### v0.18.0
|
|
37
|
+
- **Changed** No longer server-safe due to Framer Motion dependency
|
|
38
|
+
|
|
39
|
+
### v0.16.0
|
|
40
|
+
- **Added** `iconSize?: 'sm' | 'md' | 'lg'` — control icon dimensions
|
|
41
|
+
|
|
42
|
+
### v0.13.0
|
|
43
|
+
- **Changed** `icon` prop now accepts `React.ComponentType<{ className?: string }>` in addition to `ReactNode` — component references are auto-instantiated
|
|
44
|
+
|
|
45
|
+
### v0.5.0
|
|
46
|
+
- **Changed** `icon` prop changed from `TablerIcon` (component ref) to `React.ReactNode` — use `icon={<MyIcon />}` instead of `icon={MyIcon}`
|
|
47
|
+
- **Changed** Default icon is now the Devalok swadhisthana chakra (inline SVG)
|
|
48
|
+
|
|
49
|
+
### v0.2.0
|
|
50
|
+
- **Added** Identified as server-safe component (later reverted in v0.18.0)
|
|
51
|
+
|
|
52
|
+
### v0.1.0
|
|
53
|
+
- **Added** Initial release
|
|
@@ -1,29 +1,29 @@
|
|
|
1
|
-
# ErrorDisplay
|
|
2
|
-
|
|
3
|
-
- Import: @devalok/shilp-sutra/composed/error-boundary
|
|
4
|
-
- Server-safe: No
|
|
5
|
-
- Category: composed
|
|
6
|
-
|
|
7
|
-
## Props
|
|
8
|
-
error: unknown (REQUIRED — Error object, status object, or string)
|
|
9
|
-
onReset: () => void (optional retry button)
|
|
10
|
-
|
|
11
|
-
## Defaults
|
|
12
|
-
None
|
|
13
|
-
|
|
14
|
-
## Example
|
|
15
|
-
```jsx
|
|
16
|
-
<ErrorDisplay error={error} onReset={() => refetch()} />
|
|
17
|
-
```
|
|
18
|
-
|
|
19
|
-
## Gotchas
|
|
20
|
-
- Auto-detects HTTP status codes (404, 403, 500) and shows appropriate icon/message
|
|
21
|
-
- Shows stack trace in development mode only
|
|
22
|
-
- The import path is `error-boundary` but the component is named `ErrorDisplay`
|
|
23
|
-
|
|
24
|
-
## Changes
|
|
25
|
-
### v0.18.0
|
|
26
|
-
- **Added** ErrorBoundary tests (13 new tests)
|
|
27
|
-
|
|
28
|
-
### v0.1.0
|
|
29
|
-
- **Added** Initial release
|
|
1
|
+
# ErrorDisplay
|
|
2
|
+
|
|
3
|
+
- Import: @devalok/shilp-sutra/composed/error-boundary
|
|
4
|
+
- Server-safe: No
|
|
5
|
+
- Category: composed
|
|
6
|
+
|
|
7
|
+
## Props
|
|
8
|
+
error: unknown (REQUIRED — Error object, status object, or string)
|
|
9
|
+
onReset: () => void (optional retry button)
|
|
10
|
+
|
|
11
|
+
## Defaults
|
|
12
|
+
None
|
|
13
|
+
|
|
14
|
+
## Example
|
|
15
|
+
```jsx
|
|
16
|
+
<ErrorDisplay error={error} onReset={() => refetch()} />
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Gotchas
|
|
20
|
+
- Auto-detects HTTP status codes (404, 403, 500) and shows appropriate icon/message
|
|
21
|
+
- Shows stack trace in development mode only
|
|
22
|
+
- The import path is `error-boundary` but the component is named `ErrorDisplay`
|
|
23
|
+
|
|
24
|
+
## Changes
|
|
25
|
+
### v0.18.0
|
|
26
|
+
- **Added** ErrorBoundary tests (13 new tests)
|
|
27
|
+
|
|
28
|
+
### v0.1.0
|
|
29
|
+
- **Added** Initial release
|