@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,65 +1,65 @@
|
|
|
1
|
-
# Toast
|
|
2
|
-
|
|
3
|
-
- Import: @devalok/shilp-sutra/ui/toast
|
|
4
|
-
- Server-safe: No
|
|
5
|
-
- Category: ui
|
|
6
|
-
|
|
7
|
-
## API
|
|
8
|
-
toast('Plain message') // no icon, no accent bar
|
|
9
|
-
toast.message('Same as plain') // alias for toast()
|
|
10
|
-
toast.success('Saved!') // green accent, check icon
|
|
11
|
-
toast.error('Failed', { description }) // red accent, X icon
|
|
12
|
-
toast.warning('Disk low') // yellow accent, triangle icon
|
|
13
|
-
toast.info('New version') // blue accent, info icon
|
|
14
|
-
toast.loading('Saving...') // interactive accent, spinner, no timer bar, duration: Infinity
|
|
15
|
-
toast.promise(asyncFn, { loading, success, error }) // dynamic messages
|
|
16
|
-
toast.undo('Item deleted', { onUndo, duration? }) // 8s default, Undo action button
|
|
17
|
-
toast.upload({ files, id?, onRetry?, onRemove? }) // upload toast with per-file progress
|
|
18
|
-
toast.custom((id) => <MyComponent />, options) // escape hatch
|
|
19
|
-
toast.dismiss(id?) // specific or all
|
|
20
|
-
|
|
21
|
-
## Options (all methods accept)
|
|
22
|
-
id?: string
|
|
23
|
-
description?: ReactNode
|
|
24
|
-
action?: { label: string, onClick: () => void }
|
|
25
|
-
cancel?: { label: string, onClick: () => void }
|
|
26
|
-
duration?: number (ms, default 5000)
|
|
27
|
-
|
|
28
|
-
## Types
|
|
29
|
-
UploadFile: { id, name, size (bytes), progress? (0-100), status: 'pending' | 'uploading' | 'processing' | 'complete' | 'error', error?, previewUrl? }
|
|
30
|
-
|
|
31
|
-
## Utility
|
|
32
|
-
formatFileSize(bytes) => string (B, KB, MB, GB)
|
|
33
|
-
|
|
34
|
-
## Example
|
|
35
|
-
```jsx
|
|
36
|
-
// Mount <Toaster /> once at root layout
|
|
37
|
-
import { toast } from '@devalok/shilp-sutra/ui/toast'
|
|
38
|
-
|
|
39
|
-
toast.success('Changes saved!')
|
|
40
|
-
toast.error('Upload failed', { description: 'File too large' })
|
|
41
|
-
toast.undo('Task deleted', { onUndo: () => restoreTask(id) })
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
## Gotchas
|
|
45
|
-
- DO NOT use useToast() hook — it is deprecated, use imperative toast.* methods
|
|
46
|
-
- DO NOT use toast({ title, color }) object syntax — use toast.success('message') etc.
|
|
47
|
-
- DO NOT call toast() without <Toaster /> mounted at layout root
|
|
48
|
-
- Timer bar animates auto-dismiss countdown (hidden on loading toasts)
|
|
49
|
-
- Upload toast replaces the old UploadProgress composed component
|
|
50
|
-
|
|
51
|
-
## Changes
|
|
52
|
-
### v0.18.0
|
|
53
|
-
- **Changed** (BREAKING) Complete rewrite to Sonner-based imperative API
|
|
54
|
-
- **Fixed** Accent bar colors from step 7 to step 9 (decorative fills use solid step)
|
|
55
|
-
|
|
56
|
-
### v0.4.2
|
|
57
|
-
- **Changed** (BREAKING) `color="default"` renamed to `color="neutral"`
|
|
58
|
-
|
|
59
|
-
### v0.3.0
|
|
60
|
-
- **Changed** (BREAKING) `variant` prop renamed to `color` for semantic intent
|
|
61
|
-
- **Fixed** Close button now always visible (was hidden until hover)
|
|
62
|
-
|
|
63
|
-
### v0.1.0
|
|
64
|
-
- **Added** Initial release
|
|
65
|
-
- **Fixed** Toast now announces to screen readers (`role="status"`, `aria-live`)
|
|
1
|
+
# Toast
|
|
2
|
+
|
|
3
|
+
- Import: @devalok/shilp-sutra/ui/toast
|
|
4
|
+
- Server-safe: No
|
|
5
|
+
- Category: ui
|
|
6
|
+
|
|
7
|
+
## API
|
|
8
|
+
toast('Plain message') // no icon, no accent bar
|
|
9
|
+
toast.message('Same as plain') // alias for toast()
|
|
10
|
+
toast.success('Saved!') // green accent, check icon
|
|
11
|
+
toast.error('Failed', { description }) // red accent, X icon
|
|
12
|
+
toast.warning('Disk low') // yellow accent, triangle icon
|
|
13
|
+
toast.info('New version') // blue accent, info icon
|
|
14
|
+
toast.loading('Saving...') // interactive accent, spinner, no timer bar, duration: Infinity
|
|
15
|
+
toast.promise(asyncFn, { loading, success, error }) // dynamic messages
|
|
16
|
+
toast.undo('Item deleted', { onUndo, duration? }) // 8s default, Undo action button
|
|
17
|
+
toast.upload({ files, id?, onRetry?, onRemove? }) // upload toast with per-file progress
|
|
18
|
+
toast.custom((id) => <MyComponent />, options) // escape hatch
|
|
19
|
+
toast.dismiss(id?) // specific or all
|
|
20
|
+
|
|
21
|
+
## Options (all methods accept)
|
|
22
|
+
id?: string
|
|
23
|
+
description?: ReactNode
|
|
24
|
+
action?: { label: string, onClick: () => void }
|
|
25
|
+
cancel?: { label: string, onClick: () => void }
|
|
26
|
+
duration?: number (ms, default 5000)
|
|
27
|
+
|
|
28
|
+
## Types
|
|
29
|
+
UploadFile: { id, name, size (bytes), progress? (0-100), status: 'pending' | 'uploading' | 'processing' | 'complete' | 'error', error?, previewUrl? }
|
|
30
|
+
|
|
31
|
+
## Utility
|
|
32
|
+
formatFileSize(bytes) => string (B, KB, MB, GB)
|
|
33
|
+
|
|
34
|
+
## Example
|
|
35
|
+
```jsx
|
|
36
|
+
// Mount <Toaster /> once at root layout
|
|
37
|
+
import { toast } from '@devalok/shilp-sutra/ui/toast'
|
|
38
|
+
|
|
39
|
+
toast.success('Changes saved!')
|
|
40
|
+
toast.error('Upload failed', { description: 'File too large' })
|
|
41
|
+
toast.undo('Task deleted', { onUndo: () => restoreTask(id) })
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## Gotchas
|
|
45
|
+
- DO NOT use useToast() hook — it is deprecated, use imperative toast.* methods
|
|
46
|
+
- DO NOT use toast({ title, color }) object syntax — use toast.success('message') etc.
|
|
47
|
+
- DO NOT call toast() without <Toaster /> mounted at layout root
|
|
48
|
+
- Timer bar animates auto-dismiss countdown (hidden on loading toasts)
|
|
49
|
+
- Upload toast replaces the old UploadProgress composed component
|
|
50
|
+
|
|
51
|
+
## Changes
|
|
52
|
+
### v0.18.0
|
|
53
|
+
- **Changed** (BREAKING) Complete rewrite to Sonner-based imperative API
|
|
54
|
+
- **Fixed** Accent bar colors from step 7 to step 9 (decorative fills use solid step)
|
|
55
|
+
|
|
56
|
+
### v0.4.2
|
|
57
|
+
- **Changed** (BREAKING) `color="default"` renamed to `color="neutral"`
|
|
58
|
+
|
|
59
|
+
### v0.3.0
|
|
60
|
+
- **Changed** (BREAKING) `variant` prop renamed to `color` for semantic intent
|
|
61
|
+
- **Fixed** Close button now always visible (was hidden until hover)
|
|
62
|
+
|
|
63
|
+
### v0.1.0
|
|
64
|
+
- **Added** Initial release
|
|
65
|
+
- **Fixed** Toast now announces to screen readers (`role="status"`, `aria-live`)
|
|
@@ -1,47 +1,47 @@
|
|
|
1
|
-
# Toaster
|
|
2
|
-
|
|
3
|
-
- Import: @devalok/shilp-sutra/ui/toaster
|
|
4
|
-
- Server-safe: No
|
|
5
|
-
- Category: ui
|
|
6
|
-
|
|
7
|
-
## Props
|
|
8
|
-
position: 'top-left' | 'top-center' | 'top-right' | 'bottom-left' | 'bottom-center' | 'bottom-right'
|
|
9
|
-
closeButton: boolean
|
|
10
|
-
duration: number (ms)
|
|
11
|
-
hotkey: string[]
|
|
12
|
-
visibleToasts: number
|
|
13
|
-
|
|
14
|
-
## Defaults
|
|
15
|
-
position: "bottom-right"
|
|
16
|
-
closeButton: false
|
|
17
|
-
duration: 5000
|
|
18
|
-
hotkey: ['altKey', 'KeyT']
|
|
19
|
-
visibleToasts: 3
|
|
20
|
-
|
|
21
|
-
## Example
|
|
22
|
-
```jsx
|
|
23
|
-
// Mount once at root layout
|
|
24
|
-
import { Toaster } from '@devalok/shilp-sutra/ui/toaster'
|
|
25
|
-
|
|
26
|
-
export default function RootLayout({ children }) {
|
|
27
|
-
return (
|
|
28
|
-
<>
|
|
29
|
-
{children}
|
|
30
|
-
<Toaster />
|
|
31
|
-
</>
|
|
32
|
-
)
|
|
33
|
-
}
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
## Gotchas
|
|
37
|
-
- Must be mounted once at the layout root for toast notifications to work
|
|
38
|
-
- Use the `toast` import from `@devalok/shilp-sutra/ui/toast` to trigger toasts
|
|
39
|
-
|
|
40
|
-
## Changes
|
|
41
|
-
### v0.18.0
|
|
42
|
-
- **Changed** (BREAKING) Rewritten to Sonner-based engine with custom ToastContent rendering
|
|
43
|
-
- **Added** `ToasterProps` type export
|
|
44
|
-
- **Added** Visual: neutral bg-layer-01 base, colored left accent bar per type, status icon, timer bar
|
|
45
|
-
|
|
46
|
-
### v0.1.0
|
|
47
|
-
- **Added** Initial release
|
|
1
|
+
# Toaster
|
|
2
|
+
|
|
3
|
+
- Import: @devalok/shilp-sutra/ui/toaster
|
|
4
|
+
- Server-safe: No
|
|
5
|
+
- Category: ui
|
|
6
|
+
|
|
7
|
+
## Props
|
|
8
|
+
position: 'top-left' | 'top-center' | 'top-right' | 'bottom-left' | 'bottom-center' | 'bottom-right'
|
|
9
|
+
closeButton: boolean
|
|
10
|
+
duration: number (ms)
|
|
11
|
+
hotkey: string[]
|
|
12
|
+
visibleToasts: number
|
|
13
|
+
|
|
14
|
+
## Defaults
|
|
15
|
+
position: "bottom-right"
|
|
16
|
+
closeButton: false
|
|
17
|
+
duration: 5000
|
|
18
|
+
hotkey: ['altKey', 'KeyT']
|
|
19
|
+
visibleToasts: 3
|
|
20
|
+
|
|
21
|
+
## Example
|
|
22
|
+
```jsx
|
|
23
|
+
// Mount once at root layout
|
|
24
|
+
import { Toaster } from '@devalok/shilp-sutra/ui/toaster'
|
|
25
|
+
|
|
26
|
+
export default function RootLayout({ children }) {
|
|
27
|
+
return (
|
|
28
|
+
<>
|
|
29
|
+
{children}
|
|
30
|
+
<Toaster />
|
|
31
|
+
</>
|
|
32
|
+
)
|
|
33
|
+
}
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## Gotchas
|
|
37
|
+
- Must be mounted once at the layout root for toast notifications to work
|
|
38
|
+
- Use the `toast` import from `@devalok/shilp-sutra/ui/toast` to trigger toasts
|
|
39
|
+
|
|
40
|
+
## Changes
|
|
41
|
+
### v0.18.0
|
|
42
|
+
- **Changed** (BREAKING) Rewritten to Sonner-based engine with custom ToastContent rendering
|
|
43
|
+
- **Added** `ToasterProps` type export
|
|
44
|
+
- **Added** Visual: neutral bg-layer-01 base, colored left accent bar per type, status icon, timer bar
|
|
45
|
+
|
|
46
|
+
### v0.1.0
|
|
47
|
+
- **Added** Initial release
|
|
@@ -1,43 +1,43 @@
|
|
|
1
|
-
# ToggleGroup
|
|
2
|
-
|
|
3
|
-
- Import: @devalok/shilp-sutra/ui/toggle-group
|
|
4
|
-
- Server-safe: No
|
|
5
|
-
- Category: ui
|
|
6
|
-
|
|
7
|
-
## Props
|
|
8
|
-
### ToggleGroup
|
|
9
|
-
type: "single" | "multiple"
|
|
10
|
-
variant: "default" | "outline" (propagated to items)
|
|
11
|
-
size: "sm" | "md" | "lg" (propagated to items)
|
|
12
|
-
value: string | string[]
|
|
13
|
-
onValueChange: (value) => void
|
|
14
|
-
|
|
15
|
-
### ToggleGroupItem
|
|
16
|
-
value: string
|
|
17
|
-
|
|
18
|
-
## Compound Components
|
|
19
|
-
ToggleGroup (root)
|
|
20
|
-
ToggleGroupItem (value: string)
|
|
21
|
-
|
|
22
|
-
## Example
|
|
23
|
-
```jsx
|
|
24
|
-
<ToggleGroup type="single" variant="outline" size="sm" value={alignment} onValueChange={setAlignment}>
|
|
25
|
-
<ToggleGroupItem value="left"><IconAlignLeft /></ToggleGroupItem>
|
|
26
|
-
<ToggleGroupItem value="center"><IconAlignCenter /></ToggleGroupItem>
|
|
27
|
-
<ToggleGroupItem value="right"><IconAlignRight /></ToggleGroupItem>
|
|
28
|
-
</ToggleGroup>
|
|
29
|
-
```
|
|
30
|
-
|
|
31
|
-
## Gotchas
|
|
32
|
-
- type is required — "single" or "multiple"
|
|
33
|
-
- variant and size propagate from ToggleGroup to items
|
|
34
|
-
|
|
35
|
-
## Changes
|
|
36
|
-
### v0.18.0
|
|
37
|
-
- **Fixed** Wrapped ToggleGroup context provider value in `useMemo` for performance
|
|
38
|
-
|
|
39
|
-
### v0.4.2
|
|
40
|
-
- **Added** `ToggleGroupProps`, `ToggleGroupItemProps` type exports
|
|
41
|
-
|
|
42
|
-
### v0.1.0
|
|
43
|
-
- **Added** Initial release
|
|
1
|
+
# ToggleGroup
|
|
2
|
+
|
|
3
|
+
- Import: @devalok/shilp-sutra/ui/toggle-group
|
|
4
|
+
- Server-safe: No
|
|
5
|
+
- Category: ui
|
|
6
|
+
|
|
7
|
+
## Props
|
|
8
|
+
### ToggleGroup
|
|
9
|
+
type: "single" | "multiple"
|
|
10
|
+
variant: "default" | "outline" (propagated to items)
|
|
11
|
+
size: "sm" | "md" | "lg" (propagated to items)
|
|
12
|
+
value: string | string[]
|
|
13
|
+
onValueChange: (value) => void
|
|
14
|
+
|
|
15
|
+
### ToggleGroupItem
|
|
16
|
+
value: string
|
|
17
|
+
|
|
18
|
+
## Compound Components
|
|
19
|
+
ToggleGroup (root)
|
|
20
|
+
ToggleGroupItem (value: string)
|
|
21
|
+
|
|
22
|
+
## Example
|
|
23
|
+
```jsx
|
|
24
|
+
<ToggleGroup type="single" variant="outline" size="sm" value={alignment} onValueChange={setAlignment}>
|
|
25
|
+
<ToggleGroupItem value="left"><IconAlignLeft /></ToggleGroupItem>
|
|
26
|
+
<ToggleGroupItem value="center"><IconAlignCenter /></ToggleGroupItem>
|
|
27
|
+
<ToggleGroupItem value="right"><IconAlignRight /></ToggleGroupItem>
|
|
28
|
+
</ToggleGroup>
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## Gotchas
|
|
32
|
+
- type is required — "single" or "multiple"
|
|
33
|
+
- variant and size propagate from ToggleGroup to items
|
|
34
|
+
|
|
35
|
+
## Changes
|
|
36
|
+
### v0.18.0
|
|
37
|
+
- **Fixed** Wrapped ToggleGroup context provider value in `useMemo` for performance
|
|
38
|
+
|
|
39
|
+
### v0.4.2
|
|
40
|
+
- **Added** `ToggleGroupProps`, `ToggleGroupItemProps` type exports
|
|
41
|
+
|
|
42
|
+
### v0.1.0
|
|
43
|
+
- **Added** Initial release
|
|
@@ -1,37 +1,37 @@
|
|
|
1
|
-
# Toggle
|
|
2
|
-
|
|
3
|
-
- Import: @devalok/shilp-sutra/ui/toggle
|
|
4
|
-
- Server-safe: No
|
|
5
|
-
- Category: ui
|
|
6
|
-
|
|
7
|
-
## Props
|
|
8
|
-
variant: "default" | "outline"
|
|
9
|
-
size: "sm" | "md" | "lg"
|
|
10
|
-
pressed: boolean
|
|
11
|
-
onPressedChange: (pressed: boolean) => void
|
|
12
|
-
defaultPressed: boolean
|
|
13
|
-
|
|
14
|
-
## Defaults
|
|
15
|
-
variant: "default"
|
|
16
|
-
size: "md"
|
|
17
|
-
|
|
18
|
-
## Example
|
|
19
|
-
```jsx
|
|
20
|
-
<Toggle aria-label="Toggle bold" pressed={isBold} onPressedChange={setIsBold}>
|
|
21
|
-
<IconBold />
|
|
22
|
-
</Toggle>
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
## Gotchas
|
|
26
|
-
- Always provide aria-label for accessibility
|
|
27
|
-
|
|
28
|
-
## Changes
|
|
29
|
-
### v0.18.0
|
|
30
|
-
- **Changed** Migrated to Framer Motion press spring animation
|
|
31
|
-
|
|
32
|
-
### v0.4.2
|
|
33
|
-
- **Fixed** `className` was passed inside CVA (silently dropped) — now separate `cn()` argument
|
|
34
|
-
- **Added** `ToggleProps` type export
|
|
35
|
-
|
|
36
|
-
### v0.1.0
|
|
37
|
-
- **Added** Initial release
|
|
1
|
+
# Toggle
|
|
2
|
+
|
|
3
|
+
- Import: @devalok/shilp-sutra/ui/toggle
|
|
4
|
+
- Server-safe: No
|
|
5
|
+
- Category: ui
|
|
6
|
+
|
|
7
|
+
## Props
|
|
8
|
+
variant: "default" | "outline"
|
|
9
|
+
size: "sm" | "md" | "lg"
|
|
10
|
+
pressed: boolean
|
|
11
|
+
onPressedChange: (pressed: boolean) => void
|
|
12
|
+
defaultPressed: boolean
|
|
13
|
+
|
|
14
|
+
## Defaults
|
|
15
|
+
variant: "default"
|
|
16
|
+
size: "md"
|
|
17
|
+
|
|
18
|
+
## Example
|
|
19
|
+
```jsx
|
|
20
|
+
<Toggle aria-label="Toggle bold" pressed={isBold} onPressedChange={setIsBold}>
|
|
21
|
+
<IconBold />
|
|
22
|
+
</Toggle>
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## Gotchas
|
|
26
|
+
- Always provide aria-label for accessibility
|
|
27
|
+
|
|
28
|
+
## Changes
|
|
29
|
+
### v0.18.0
|
|
30
|
+
- **Changed** Migrated to Framer Motion press spring animation
|
|
31
|
+
|
|
32
|
+
### v0.4.2
|
|
33
|
+
- **Fixed** `className` was passed inside CVA (silently dropped) — now separate `cn()` argument
|
|
34
|
+
- **Added** `ToggleProps` type export
|
|
35
|
+
|
|
36
|
+
### v0.1.0
|
|
37
|
+
- **Added** Initial release
|
|
@@ -1,38 +1,38 @@
|
|
|
1
|
-
# Tooltip
|
|
2
|
-
|
|
3
|
-
- Import: @devalok/shilp-sutra/ui/tooltip
|
|
4
|
-
- Server-safe: No
|
|
5
|
-
- Category: ui
|
|
6
|
-
|
|
7
|
-
## Compound Components
|
|
8
|
-
TooltipProvider (REQUIRED at layout root or wrapping tooltip usage, controls delay)
|
|
9
|
-
Tooltip (root)
|
|
10
|
-
TooltipTrigger
|
|
11
|
-
TooltipContent
|
|
12
|
-
|
|
13
|
-
## Example
|
|
14
|
-
```jsx
|
|
15
|
-
<TooltipProvider>
|
|
16
|
-
<Tooltip>
|
|
17
|
-
<TooltipTrigger asChild><Button>Hover me</Button></TooltipTrigger>
|
|
18
|
-
<TooltipContent>Tooltip text</TooltipContent>
|
|
19
|
-
</Tooltip>
|
|
20
|
-
</TooltipProvider>
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
## Gotchas
|
|
24
|
-
- TooltipProvider is REQUIRED — without it, tooltips won't show
|
|
25
|
-
|
|
26
|
-
## Changes
|
|
27
|
-
### v0.22.0
|
|
28
|
-
- **Added** Auto-provider: `<Tooltip>` now auto-wraps with `<TooltipProvider>` when no ancestor provider exists. No more "tooltip doesn't appear" issues.
|
|
29
|
-
- **Fixed** Content children not rendering — `motion.div` was self-closing (`/>`), so children were never passed through.
|
|
30
|
-
- **Fixed** Text invisible in dark mode — `text-accent-fg` resolves to same value as `bg-surface-fg` in dark mode. Changed to `text-surface-1`.
|
|
31
|
-
|
|
32
|
-
### v0.18.0
|
|
33
|
-
- **Changed** Migrated to Framer Motion for enter/exit animations
|
|
34
|
-
- **Added** `TooltipContentProps` type export
|
|
35
|
-
- **Fixed** Wrapped Tooltip context provider value in `useMemo` for performance
|
|
36
|
-
|
|
37
|
-
### v0.1.0
|
|
38
|
-
- **Added** Initial release
|
|
1
|
+
# Tooltip
|
|
2
|
+
|
|
3
|
+
- Import: @devalok/shilp-sutra/ui/tooltip
|
|
4
|
+
- Server-safe: No
|
|
5
|
+
- Category: ui
|
|
6
|
+
|
|
7
|
+
## Compound Components
|
|
8
|
+
TooltipProvider (REQUIRED at layout root or wrapping tooltip usage, controls delay)
|
|
9
|
+
Tooltip (root)
|
|
10
|
+
TooltipTrigger
|
|
11
|
+
TooltipContent
|
|
12
|
+
|
|
13
|
+
## Example
|
|
14
|
+
```jsx
|
|
15
|
+
<TooltipProvider>
|
|
16
|
+
<Tooltip>
|
|
17
|
+
<TooltipTrigger asChild><Button>Hover me</Button></TooltipTrigger>
|
|
18
|
+
<TooltipContent>Tooltip text</TooltipContent>
|
|
19
|
+
</Tooltip>
|
|
20
|
+
</TooltipProvider>
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## Gotchas
|
|
24
|
+
- TooltipProvider is REQUIRED — without it, tooltips won't show
|
|
25
|
+
|
|
26
|
+
## Changes
|
|
27
|
+
### v0.22.0
|
|
28
|
+
- **Added** Auto-provider: `<Tooltip>` now auto-wraps with `<TooltipProvider>` when no ancestor provider exists. No more "tooltip doesn't appear" issues.
|
|
29
|
+
- **Fixed** Content children not rendering — `motion.div` was self-closing (`/>`), so children were never passed through.
|
|
30
|
+
- **Fixed** Text invisible in dark mode — `text-accent-fg` resolves to same value as `bg-surface-fg` in dark mode. Changed to `text-surface-1`.
|
|
31
|
+
|
|
32
|
+
### v0.18.0
|
|
33
|
+
- **Changed** Migrated to Framer Motion for enter/exit animations
|
|
34
|
+
- **Added** `TooltipContentProps` type export
|
|
35
|
+
- **Fixed** Wrapped Tooltip context provider value in `useMemo` for performance
|
|
36
|
+
|
|
37
|
+
### v0.1.0
|
|
38
|
+
- **Added** Initial release
|
|
@@ -1,65 +1,65 @@
|
|
|
1
|
-
# TreeView / TreeItem
|
|
2
|
-
|
|
3
|
-
- Import: @devalok/shilp-sutra/ui/tree-view
|
|
4
|
-
- Server-safe: No
|
|
5
|
-
- Category: ui
|
|
6
|
-
|
|
7
|
-
## Props
|
|
8
|
-
### TreeView
|
|
9
|
-
items: TreeNode[] (data-driven mode) — { id, label, icon?, disabled?, children? }
|
|
10
|
-
defaultExpanded: string[]
|
|
11
|
-
defaultSelected: string[]
|
|
12
|
-
multiSelect: boolean
|
|
13
|
-
checkboxes: boolean
|
|
14
|
-
onSelect: (ids: string[]) => void
|
|
15
|
-
onExpand: (ids: string[]) => void
|
|
16
|
-
children: ReactNode (declarative mode)
|
|
17
|
-
|
|
18
|
-
### TreeItem
|
|
19
|
-
itemId: string (REQUIRED)
|
|
20
|
-
label: ReactNode
|
|
21
|
-
secondaryLabel: ReactNode
|
|
22
|
-
icon: ReactNode
|
|
23
|
-
actions: ReactNode
|
|
24
|
-
disabled: boolean
|
|
25
|
-
depth: number
|
|
26
|
-
children: ReactNode (nested TreeItems)
|
|
27
|
-
|
|
28
|
-
## Hook
|
|
29
|
-
useTree({ defaultExpanded, defaultSelected, multiSelect, onSelect, onExpand })
|
|
30
|
-
|
|
31
|
-
## Example (data-driven)
|
|
32
|
-
```jsx
|
|
33
|
-
<TreeView
|
|
34
|
-
items={[
|
|
35
|
-
{ id: '1', label: 'Folder', children: [
|
|
36
|
-
{ id: '1.1', label: 'File A' },
|
|
37
|
-
{ id: '1.2', label: 'File B' },
|
|
38
|
-
]},
|
|
39
|
-
]}
|
|
40
|
-
defaultExpanded={['1']}
|
|
41
|
-
onSelect={(ids) => console.log(ids)}
|
|
42
|
-
/>
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
## Example (declarative)
|
|
46
|
-
```jsx
|
|
47
|
-
<TreeView>
|
|
48
|
-
<TreeItem itemId="1" label="Folder">
|
|
49
|
-
<TreeItem itemId="1.1" label="File A" />
|
|
50
|
-
</TreeItem>
|
|
51
|
-
</TreeView>
|
|
52
|
-
```
|
|
53
|
-
|
|
54
|
-
## Gotchas
|
|
55
|
-
- Supports both data-driven (items prop) and declarative (children) modes
|
|
56
|
-
|
|
57
|
-
## Changes
|
|
58
|
-
### v0.4.2
|
|
59
|
-
- **Added** TreeItem now accepts `className` prop
|
|
60
|
-
|
|
61
|
-
### v0.3.0
|
|
62
|
-
- **Added** Per-component export: `./ui/tree-view`
|
|
63
|
-
|
|
64
|
-
### v0.1.0
|
|
65
|
-
- **Added** Initial release
|
|
1
|
+
# TreeView / TreeItem
|
|
2
|
+
|
|
3
|
+
- Import: @devalok/shilp-sutra/ui/tree-view
|
|
4
|
+
- Server-safe: No
|
|
5
|
+
- Category: ui
|
|
6
|
+
|
|
7
|
+
## Props
|
|
8
|
+
### TreeView
|
|
9
|
+
items: TreeNode[] (data-driven mode) — { id, label, icon?, disabled?, children? }
|
|
10
|
+
defaultExpanded: string[]
|
|
11
|
+
defaultSelected: string[]
|
|
12
|
+
multiSelect: boolean
|
|
13
|
+
checkboxes: boolean
|
|
14
|
+
onSelect: (ids: string[]) => void
|
|
15
|
+
onExpand: (ids: string[]) => void
|
|
16
|
+
children: ReactNode (declarative mode)
|
|
17
|
+
|
|
18
|
+
### TreeItem
|
|
19
|
+
itemId: string (REQUIRED)
|
|
20
|
+
label: ReactNode
|
|
21
|
+
secondaryLabel: ReactNode
|
|
22
|
+
icon: ReactNode
|
|
23
|
+
actions: ReactNode
|
|
24
|
+
disabled: boolean
|
|
25
|
+
depth: number
|
|
26
|
+
children: ReactNode (nested TreeItems)
|
|
27
|
+
|
|
28
|
+
## Hook
|
|
29
|
+
useTree({ defaultExpanded, defaultSelected, multiSelect, onSelect, onExpand })
|
|
30
|
+
|
|
31
|
+
## Example (data-driven)
|
|
32
|
+
```jsx
|
|
33
|
+
<TreeView
|
|
34
|
+
items={[
|
|
35
|
+
{ id: '1', label: 'Folder', children: [
|
|
36
|
+
{ id: '1.1', label: 'File A' },
|
|
37
|
+
{ id: '1.2', label: 'File B' },
|
|
38
|
+
]},
|
|
39
|
+
]}
|
|
40
|
+
defaultExpanded={['1']}
|
|
41
|
+
onSelect={(ids) => console.log(ids)}
|
|
42
|
+
/>
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## Example (declarative)
|
|
46
|
+
```jsx
|
|
47
|
+
<TreeView>
|
|
48
|
+
<TreeItem itemId="1" label="Folder">
|
|
49
|
+
<TreeItem itemId="1.1" label="File A" />
|
|
50
|
+
</TreeItem>
|
|
51
|
+
</TreeView>
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## Gotchas
|
|
55
|
+
- Supports both data-driven (items prop) and declarative (children) modes
|
|
56
|
+
|
|
57
|
+
## Changes
|
|
58
|
+
### v0.4.2
|
|
59
|
+
- **Added** TreeItem now accepts `className` prop
|
|
60
|
+
|
|
61
|
+
### v0.3.0
|
|
62
|
+
- **Added** Per-component export: `./ui/tree-view`
|
|
63
|
+
|
|
64
|
+
### v0.1.0
|
|
65
|
+
- **Added** Initial release
|
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
# VisuallyHidden
|
|
2
|
-
|
|
3
|
-
- Import: @devalok/shilp-sutra/ui/visually-hidden
|
|
4
|
-
- Server-safe: Yes
|
|
5
|
-
- Category: ui
|
|
6
|
-
|
|
7
|
-
## Props
|
|
8
|
-
standard span attributes
|
|
9
|
-
|
|
10
|
-
## Example
|
|
11
|
-
```jsx
|
|
12
|
-
<VisuallyHidden>Screen reader only text</VisuallyHidden>
|
|
13
|
-
```
|
|
14
|
-
|
|
15
|
-
## Gotchas
|
|
16
|
-
- Content is visually hidden but accessible to screen readers
|
|
17
|
-
- Useful for providing accessible labels without visual UI
|
|
18
|
-
|
|
19
|
-
## Changes
|
|
20
|
-
### v0.1.0
|
|
21
|
-
- **Added** Initial release
|
|
1
|
+
# VisuallyHidden
|
|
2
|
+
|
|
3
|
+
- Import: @devalok/shilp-sutra/ui/visually-hidden
|
|
4
|
+
- Server-safe: Yes
|
|
5
|
+
- Category: ui
|
|
6
|
+
|
|
7
|
+
## Props
|
|
8
|
+
standard span attributes
|
|
9
|
+
|
|
10
|
+
## Example
|
|
11
|
+
```jsx
|
|
12
|
+
<VisuallyHidden>Screen reader only text</VisuallyHidden>
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Gotchas
|
|
16
|
+
- Content is visually hidden but accessible to screen readers
|
|
17
|
+
- Useful for providing accessible labels without visual UI
|
|
18
|
+
|
|
19
|
+
## Changes
|
|
20
|
+
### v0.1.0
|
|
21
|
+
- **Added** Initial release
|