@devalok/shilp-sutra 0.34.1 → 0.36.1
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 +651 -650
- 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 +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 +3 -1
- 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 +9 -9
- 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,143 +1,143 @@
|
|
|
1
|
-
# TopBar
|
|
2
|
-
|
|
3
|
-
- Import: @devalok/shilp-sutra/shell/top-bar
|
|
4
|
-
- Server-safe: No
|
|
5
|
-
- Category: shell
|
|
6
|
-
|
|
7
|
-
## Overview
|
|
8
|
-
|
|
9
|
-
Composition-based application top bar. Uses dot-notation subcomponents for flexible layout.
|
|
10
|
-
|
|
11
|
-
## Subcomponents
|
|
12
|
-
|
|
13
|
-
| Component | Purpose |
|
|
14
|
-
|-----------|---------|
|
|
15
|
-
| `TopBar` | Root — bg-surface-2, border-b, sticky. Auto-switches to grid when Center is present. |
|
|
16
|
-
| `TopBar.Left` | Left zone — sidebar trigger, title, breadcrumbs |
|
|
17
|
-
| `TopBar.Center` | Optional center zone — search bar, tabs. Triggers 3-column grid layout. |
|
|
18
|
-
| `TopBar.Right` | Right zone — action buttons, user menu. Gets ml-auto in flex mode. |
|
|
19
|
-
| `TopBar.Section` | Groups items with configurable gap |
|
|
20
|
-
| `TopBar.IconButton` | Circular icon button with tooltip (bg-surface-3, hover:bg-surface-4) |
|
|
21
|
-
| `TopBar.Title` | Page title heading, hidden on mobile |
|
|
22
|
-
| `TopBar.UserMenu` | Avatar dropdown with color mode toggle, profile, logout |
|
|
23
|
-
|
|
24
|
-
## Props
|
|
25
|
-
|
|
26
|
-
### TopBar (root)
|
|
27
|
-
children: ReactNode
|
|
28
|
-
className?: string
|
|
29
|
-
|
|
30
|
-
### TopBar.Left / TopBar.Center / TopBar.Right
|
|
31
|
-
children: ReactNode
|
|
32
|
-
className?: string
|
|
33
|
-
|
|
34
|
-
### TopBar.Section
|
|
35
|
-
gap?: "tight" | "default" | "loose" (default: "default")
|
|
36
|
-
children: ReactNode
|
|
37
|
-
className?: string
|
|
38
|
-
|
|
39
|
-
Gap values: tight = gap-ds-02, default = gap-ds-04, loose = gap-ds-06
|
|
40
|
-
|
|
41
|
-
### TopBar.IconButton
|
|
42
|
-
icon: ReactNode
|
|
43
|
-
tooltip: string
|
|
44
|
-
...ButtonHTMLAttributes
|
|
45
|
-
|
|
46
|
-
### TopBar.Title
|
|
47
|
-
children: ReactNode
|
|
48
|
-
className?: string
|
|
49
|
-
|
|
50
|
-
### TopBar.UserMenu
|
|
51
|
-
user: TopBarUser — { name, email?, image? }
|
|
52
|
-
onNavigate?: (path: string) => void
|
|
53
|
-
onLogout?: () => void
|
|
54
|
-
userMenuItems?: UserMenuItem[]
|
|
55
|
-
className?: string
|
|
56
|
-
|
|
57
|
-
TopBarUser: { name: string, email?: string, image?: string | null }
|
|
58
|
-
UserMenuItem: { label: string, icon?: ReactNode, href?: string, onClick?: () => void, separator?: boolean, color?: string, badge?: string | boolean, disabled?: boolean }
|
|
59
|
-
|
|
60
|
-
UserMenuItem fields:
|
|
61
|
-
- href — navigates via onNavigate callback
|
|
62
|
-
- onClick — custom action (takes precedence over href)
|
|
63
|
-
- separator — renders a DropdownMenuSeparator before this item
|
|
64
|
-
- color — semantic text color (e.g. "error" for text-error)
|
|
65
|
-
- badge — string for count badge, true for dot indicator
|
|
66
|
-
- disabled — greys out the item
|
|
67
|
-
|
|
68
|
-
## Example
|
|
69
|
-
|
|
70
|
-
### Two-zone (standard)
|
|
71
|
-
```jsx
|
|
72
|
-
<TopBar>
|
|
73
|
-
<TopBar.Left>
|
|
74
|
-
<SidebarTrigger />
|
|
75
|
-
<TopBar.Title>Dashboard</TopBar.Title>
|
|
76
|
-
</TopBar.Left>
|
|
77
|
-
<TopBar.Right>
|
|
78
|
-
<TopBar.Section gap="tight">
|
|
79
|
-
<TopBar.IconButton icon={<IconSearch />} tooltip="Search (Ctrl+K)" onClick={openSearch} />
|
|
80
|
-
<NotificationCenter notifications={notifications} />
|
|
81
|
-
<TopBar.IconButton icon={<IconSparkles />} tooltip="AI Chat" onClick={openAI} />
|
|
82
|
-
</TopBar.Section>
|
|
83
|
-
<TopBar.UserMenu
|
|
84
|
-
user={{ name: 'John', email: 'john@example.com' }}
|
|
85
|
-
onNavigate={(p) => router.push(p)}
|
|
86
|
-
onLogout={handleLogout}
|
|
87
|
-
userMenuItems={[
|
|
88
|
-
{ label: 'Changelog', icon: <IconNews />, href: '/changelog', badge: '3' },
|
|
89
|
-
]}
|
|
90
|
-
/>
|
|
91
|
-
</TopBar.Right>
|
|
92
|
-
</TopBar>
|
|
93
|
-
```
|
|
94
|
-
|
|
95
|
-
### Three-zone (centered search bar)
|
|
96
|
-
```jsx
|
|
97
|
-
<TopBar>
|
|
98
|
-
<TopBar.Left>
|
|
99
|
-
<SidebarTrigger />
|
|
100
|
-
<TopBar.Title>Dashboard</TopBar.Title>
|
|
101
|
-
</TopBar.Left>
|
|
102
|
-
<TopBar.Center>
|
|
103
|
-
<SearchBarTrigger />
|
|
104
|
-
</TopBar.Center>
|
|
105
|
-
<TopBar.Right>
|
|
106
|
-
<TopBar.Section gap="tight">
|
|
107
|
-
<TopBar.IconButton icon={<IconBell />} tooltip="Notifications" onClick={fn} />
|
|
108
|
-
</TopBar.Section>
|
|
109
|
-
<TopBar.UserMenu user={user} onLogout={logout} />
|
|
110
|
-
</TopBar.Right>
|
|
111
|
-
</TopBar>
|
|
112
|
-
```
|
|
113
|
-
|
|
114
|
-
## Gotchas
|
|
115
|
-
- Without `TopBar.Center`, layout is flex (two-zone). With it, layout switches to CSS grid `1fr auto 1fr` for true centering.
|
|
116
|
-
- `TopBar.IconButton` renders any number of action buttons — no artificial limit. Use responsive hiding (`className="hidden md:flex"`) for mobile.
|
|
117
|
-
- `TopBar.UserMenu` includes Profile link, color mode toggle, and logout automatically. `userMenuItems` are inserted between Profile and the toggle.
|
|
118
|
-
- Requires SidebarProvider wrapper for SidebarTrigger to work.
|
|
119
|
-
|
|
120
|
-
## Changes
|
|
121
|
-
### v0.19.0
|
|
122
|
-
- **BREAKING** Rewritten as composition API. Old props-based API removed (`pageTitle`, `onSearchClick`, `onAiChatClick`, `notificationSlot`, `mobileLogo` props).
|
|
123
|
-
- **Added** `TopBar.Left`, `TopBar.Center`, `TopBar.Right` zone components
|
|
124
|
-
- **Added** `TopBar.Section` with `gap` prop (`tight` | `default` | `loose`)
|
|
125
|
-
- **Added** `TopBar.IconButton` — reusable circular icon button with tooltip
|
|
126
|
-
- **Added** `TopBar.Title` — responsive page title (hidden on mobile)
|
|
127
|
-
- **Added** `TopBar.UserMenu` — extracted user dropdown as standalone subcomponent
|
|
128
|
-
- **Added** Auto grid/flex layout detection based on Center zone presence
|
|
129
|
-
- **Changed** Background elevated from `bg-surface-1` to `bg-surface-2`
|
|
130
|
-
|
|
131
|
-
### v0.27.2
|
|
132
|
-
- **Fixed** UserMenu email truncation — long emails now truncate instead of overflowing the dropdown
|
|
133
|
-
|
|
134
|
-
### v0.7.0
|
|
135
|
-
- **Added** `userMenuItems` prop for custom dropdown items
|
|
136
|
-
|
|
137
|
-
### v0.1.1
|
|
138
|
-
- **Changed** Decoupled from Next.js via LinkProvider
|
|
139
|
-
- **Fixed** Added `aria-label` to search/AI buttons
|
|
140
|
-
- **Fixed** Added `type="button"` to search/AI/avatar buttons to prevent form submission
|
|
141
|
-
|
|
142
|
-
### v0.1.0
|
|
143
|
-
- **Added** Initial release
|
|
1
|
+
# TopBar
|
|
2
|
+
|
|
3
|
+
- Import: @devalok/shilp-sutra/shell/top-bar
|
|
4
|
+
- Server-safe: No
|
|
5
|
+
- Category: shell
|
|
6
|
+
|
|
7
|
+
## Overview
|
|
8
|
+
|
|
9
|
+
Composition-based application top bar. Uses dot-notation subcomponents for flexible layout.
|
|
10
|
+
|
|
11
|
+
## Subcomponents
|
|
12
|
+
|
|
13
|
+
| Component | Purpose |
|
|
14
|
+
|-----------|---------|
|
|
15
|
+
| `TopBar` | Root — bg-surface-2, border-b, sticky. Auto-switches to grid when Center is present. |
|
|
16
|
+
| `TopBar.Left` | Left zone — sidebar trigger, title, breadcrumbs |
|
|
17
|
+
| `TopBar.Center` | Optional center zone — search bar, tabs. Triggers 3-column grid layout. |
|
|
18
|
+
| `TopBar.Right` | Right zone — action buttons, user menu. Gets ml-auto in flex mode. |
|
|
19
|
+
| `TopBar.Section` | Groups items with configurable gap |
|
|
20
|
+
| `TopBar.IconButton` | Circular icon button with tooltip (bg-surface-3, hover:bg-surface-4) |
|
|
21
|
+
| `TopBar.Title` | Page title heading, hidden on mobile |
|
|
22
|
+
| `TopBar.UserMenu` | Avatar dropdown with color mode toggle, profile, logout |
|
|
23
|
+
|
|
24
|
+
## Props
|
|
25
|
+
|
|
26
|
+
### TopBar (root)
|
|
27
|
+
children: ReactNode
|
|
28
|
+
className?: string
|
|
29
|
+
|
|
30
|
+
### TopBar.Left / TopBar.Center / TopBar.Right
|
|
31
|
+
children: ReactNode
|
|
32
|
+
className?: string
|
|
33
|
+
|
|
34
|
+
### TopBar.Section
|
|
35
|
+
gap?: "tight" | "default" | "loose" (default: "default")
|
|
36
|
+
children: ReactNode
|
|
37
|
+
className?: string
|
|
38
|
+
|
|
39
|
+
Gap values: tight = gap-ds-02, default = gap-ds-04, loose = gap-ds-06
|
|
40
|
+
|
|
41
|
+
### TopBar.IconButton
|
|
42
|
+
icon: ReactNode
|
|
43
|
+
tooltip: string
|
|
44
|
+
...ButtonHTMLAttributes
|
|
45
|
+
|
|
46
|
+
### TopBar.Title
|
|
47
|
+
children: ReactNode
|
|
48
|
+
className?: string
|
|
49
|
+
|
|
50
|
+
### TopBar.UserMenu
|
|
51
|
+
user: TopBarUser — { name, email?, image? }
|
|
52
|
+
onNavigate?: (path: string) => void
|
|
53
|
+
onLogout?: () => void
|
|
54
|
+
userMenuItems?: UserMenuItem[]
|
|
55
|
+
className?: string
|
|
56
|
+
|
|
57
|
+
TopBarUser: { name: string, email?: string, image?: string | null }
|
|
58
|
+
UserMenuItem: { label: string, icon?: ReactNode, href?: string, onClick?: () => void, separator?: boolean, color?: string, badge?: string | boolean, disabled?: boolean }
|
|
59
|
+
|
|
60
|
+
UserMenuItem fields:
|
|
61
|
+
- href — navigates via onNavigate callback
|
|
62
|
+
- onClick — custom action (takes precedence over href)
|
|
63
|
+
- separator — renders a DropdownMenuSeparator before this item
|
|
64
|
+
- color — semantic text color (e.g. "error" for text-error)
|
|
65
|
+
- badge — string for count badge, true for dot indicator
|
|
66
|
+
- disabled — greys out the item
|
|
67
|
+
|
|
68
|
+
## Example
|
|
69
|
+
|
|
70
|
+
### Two-zone (standard)
|
|
71
|
+
```jsx
|
|
72
|
+
<TopBar>
|
|
73
|
+
<TopBar.Left>
|
|
74
|
+
<SidebarTrigger />
|
|
75
|
+
<TopBar.Title>Dashboard</TopBar.Title>
|
|
76
|
+
</TopBar.Left>
|
|
77
|
+
<TopBar.Right>
|
|
78
|
+
<TopBar.Section gap="tight">
|
|
79
|
+
<TopBar.IconButton icon={<IconSearch />} tooltip="Search (Ctrl+K)" onClick={openSearch} />
|
|
80
|
+
<NotificationCenter notifications={notifications} />
|
|
81
|
+
<TopBar.IconButton icon={<IconSparkles />} tooltip="AI Chat" onClick={openAI} />
|
|
82
|
+
</TopBar.Section>
|
|
83
|
+
<TopBar.UserMenu
|
|
84
|
+
user={{ name: 'John', email: 'john@example.com' }}
|
|
85
|
+
onNavigate={(p) => router.push(p)}
|
|
86
|
+
onLogout={handleLogout}
|
|
87
|
+
userMenuItems={[
|
|
88
|
+
{ label: 'Changelog', icon: <IconNews />, href: '/changelog', badge: '3' },
|
|
89
|
+
]}
|
|
90
|
+
/>
|
|
91
|
+
</TopBar.Right>
|
|
92
|
+
</TopBar>
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
### Three-zone (centered search bar)
|
|
96
|
+
```jsx
|
|
97
|
+
<TopBar>
|
|
98
|
+
<TopBar.Left>
|
|
99
|
+
<SidebarTrigger />
|
|
100
|
+
<TopBar.Title>Dashboard</TopBar.Title>
|
|
101
|
+
</TopBar.Left>
|
|
102
|
+
<TopBar.Center>
|
|
103
|
+
<SearchBarTrigger />
|
|
104
|
+
</TopBar.Center>
|
|
105
|
+
<TopBar.Right>
|
|
106
|
+
<TopBar.Section gap="tight">
|
|
107
|
+
<TopBar.IconButton icon={<IconBell />} tooltip="Notifications" onClick={fn} />
|
|
108
|
+
</TopBar.Section>
|
|
109
|
+
<TopBar.UserMenu user={user} onLogout={logout} />
|
|
110
|
+
</TopBar.Right>
|
|
111
|
+
</TopBar>
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
## Gotchas
|
|
115
|
+
- Without `TopBar.Center`, layout is flex (two-zone). With it, layout switches to CSS grid `1fr auto 1fr` for true centering.
|
|
116
|
+
- `TopBar.IconButton` renders any number of action buttons — no artificial limit. Use responsive hiding (`className="hidden md:flex"`) for mobile.
|
|
117
|
+
- `TopBar.UserMenu` includes Profile link, color mode toggle, and logout automatically. `userMenuItems` are inserted between Profile and the toggle.
|
|
118
|
+
- Requires SidebarProvider wrapper for SidebarTrigger to work.
|
|
119
|
+
|
|
120
|
+
## Changes
|
|
121
|
+
### v0.19.0
|
|
122
|
+
- **BREAKING** Rewritten as composition API. Old props-based API removed (`pageTitle`, `onSearchClick`, `onAiChatClick`, `notificationSlot`, `mobileLogo` props).
|
|
123
|
+
- **Added** `TopBar.Left`, `TopBar.Center`, `TopBar.Right` zone components
|
|
124
|
+
- **Added** `TopBar.Section` with `gap` prop (`tight` | `default` | `loose`)
|
|
125
|
+
- **Added** `TopBar.IconButton` — reusable circular icon button with tooltip
|
|
126
|
+
- **Added** `TopBar.Title` — responsive page title (hidden on mobile)
|
|
127
|
+
- **Added** `TopBar.UserMenu` — extracted user dropdown as standalone subcomponent
|
|
128
|
+
- **Added** Auto grid/flex layout detection based on Center zone presence
|
|
129
|
+
- **Changed** Background elevated from `bg-surface-1` to `bg-surface-2`
|
|
130
|
+
|
|
131
|
+
### v0.27.2
|
|
132
|
+
- **Fixed** UserMenu email truncation — long emails now truncate instead of overflowing the dropdown
|
|
133
|
+
|
|
134
|
+
### v0.7.0
|
|
135
|
+
- **Added** `userMenuItems` prop for custom dropdown items
|
|
136
|
+
|
|
137
|
+
### v0.1.1
|
|
138
|
+
- **Changed** Decoupled from Next.js via LinkProvider
|
|
139
|
+
- **Fixed** Added `aria-label` to search/AI buttons
|
|
140
|
+
- **Fixed** Added `type="button"` to search/AI/avatar buttons to prevent form submission
|
|
141
|
+
|
|
142
|
+
### v0.1.0
|
|
143
|
+
- **Added** Initial release
|
|
@@ -1,51 +1,51 @@
|
|
|
1
|
-
# Accordion
|
|
2
|
-
|
|
3
|
-
- Import: @devalok/shilp-sutra/ui/accordion
|
|
4
|
-
- Server-safe: No
|
|
5
|
-
- Category: ui
|
|
6
|
-
|
|
7
|
-
## Props
|
|
8
|
-
type: "single" | "multiple" (REQUIRED)
|
|
9
|
-
defaultValue: string (single) | string[] (multiple)
|
|
10
|
-
value: string | string[] (controlled)
|
|
11
|
-
onValueChange: (value) => void
|
|
12
|
-
collapsible: boolean (only valid when type="single")
|
|
13
|
-
|
|
14
|
-
## Compound Components
|
|
15
|
-
Accordion (root)
|
|
16
|
-
AccordionItem (value: string, REQUIRED)
|
|
17
|
-
AccordionTrigger (clickable header, chevron auto-renders; chevronPosition: "left" | "right")
|
|
18
|
-
AccordionContent (collapsible body)
|
|
19
|
-
|
|
20
|
-
## Defaults
|
|
21
|
-
none (type is required); AccordionTrigger: chevronPosition="right"
|
|
22
|
-
|
|
23
|
-
## Example
|
|
24
|
-
```jsx
|
|
25
|
-
<Accordion type="single" defaultValue="item-1" collapsible>
|
|
26
|
-
<AccordionItem value="item-1">
|
|
27
|
-
<AccordionTrigger>Question?</AccordionTrigger>
|
|
28
|
-
<AccordionContent>Answer.</AccordionContent>
|
|
29
|
-
</AccordionItem>
|
|
30
|
-
</Accordion>
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
## Gotchas
|
|
34
|
-
- type is REQUIRED — omitting it causes runtime error
|
|
35
|
-
- collapsible only works with type="single"
|
|
36
|
-
|
|
37
|
-
## Changes
|
|
38
|
-
### v0.29.0
|
|
39
|
-
- **Added** `chevronPosition` prop on AccordionTrigger: `"left"` | `"right"` (default: `"right"`) — controls which side the chevron icon renders
|
|
40
|
-
|
|
41
|
-
### v0.18.0
|
|
42
|
-
- **Changed** Accordion content fade animation migrated to Framer Motion (height animation still uses CSS keyframes)
|
|
43
|
-
|
|
44
|
-
### v0.13.0
|
|
45
|
-
- **Added** `accordion-down` and `accordion-up` keyframes added to Tailwind preset using Radix CSS custom properties
|
|
46
|
-
|
|
47
|
-
### v0.4.2
|
|
48
|
-
- **Added** `AccordionItemProps`, `AccordionTriggerProps`, `AccordionContentProps` type exports
|
|
49
|
-
|
|
50
|
-
### v0.1.0
|
|
51
|
-
- **Added** Initial release
|
|
1
|
+
# Accordion
|
|
2
|
+
|
|
3
|
+
- Import: @devalok/shilp-sutra/ui/accordion
|
|
4
|
+
- Server-safe: No
|
|
5
|
+
- Category: ui
|
|
6
|
+
|
|
7
|
+
## Props
|
|
8
|
+
type: "single" | "multiple" (REQUIRED)
|
|
9
|
+
defaultValue: string (single) | string[] (multiple)
|
|
10
|
+
value: string | string[] (controlled)
|
|
11
|
+
onValueChange: (value) => void
|
|
12
|
+
collapsible: boolean (only valid when type="single")
|
|
13
|
+
|
|
14
|
+
## Compound Components
|
|
15
|
+
Accordion (root)
|
|
16
|
+
AccordionItem (value: string, REQUIRED)
|
|
17
|
+
AccordionTrigger (clickable header, chevron auto-renders; chevronPosition: "left" | "right")
|
|
18
|
+
AccordionContent (collapsible body)
|
|
19
|
+
|
|
20
|
+
## Defaults
|
|
21
|
+
none (type is required); AccordionTrigger: chevronPosition="right"
|
|
22
|
+
|
|
23
|
+
## Example
|
|
24
|
+
```jsx
|
|
25
|
+
<Accordion type="single" defaultValue="item-1" collapsible>
|
|
26
|
+
<AccordionItem value="item-1">
|
|
27
|
+
<AccordionTrigger>Question?</AccordionTrigger>
|
|
28
|
+
<AccordionContent>Answer.</AccordionContent>
|
|
29
|
+
</AccordionItem>
|
|
30
|
+
</Accordion>
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Gotchas
|
|
34
|
+
- type is REQUIRED — omitting it causes runtime error
|
|
35
|
+
- collapsible only works with type="single"
|
|
36
|
+
|
|
37
|
+
## Changes
|
|
38
|
+
### v0.29.0
|
|
39
|
+
- **Added** `chevronPosition` prop on AccordionTrigger: `"left"` | `"right"` (default: `"right"`) — controls which side the chevron icon renders
|
|
40
|
+
|
|
41
|
+
### v0.18.0
|
|
42
|
+
- **Changed** Accordion content fade animation migrated to Framer Motion (height animation still uses CSS keyframes)
|
|
43
|
+
|
|
44
|
+
### v0.13.0
|
|
45
|
+
- **Added** `accordion-down` and `accordion-up` keyframes added to Tailwind preset using Radix CSS custom properties
|
|
46
|
+
|
|
47
|
+
### v0.4.2
|
|
48
|
+
- **Added** `AccordionItemProps`, `AccordionTriggerProps`, `AccordionContentProps` type exports
|
|
49
|
+
|
|
50
|
+
### v0.1.0
|
|
51
|
+
- **Added** Initial release
|
|
@@ -1,61 +1,61 @@
|
|
|
1
|
-
# AlertDialog
|
|
2
|
-
|
|
3
|
-
- Import: @devalok/shilp-sutra/ui/alert-dialog
|
|
4
|
-
- Server-safe: No
|
|
5
|
-
- Category: ui
|
|
6
|
-
|
|
7
|
-
## Props
|
|
8
|
-
open: boolean (controlled)
|
|
9
|
-
onOpenChange: (open: boolean) => void
|
|
10
|
-
defaultOpen: boolean
|
|
11
|
-
|
|
12
|
-
## Compound Components
|
|
13
|
-
AlertDialog (root)
|
|
14
|
-
AlertDialogTrigger
|
|
15
|
-
AlertDialogContent
|
|
16
|
-
AlertDialogHeader
|
|
17
|
-
AlertDialogTitle
|
|
18
|
-
AlertDialogDescription
|
|
19
|
-
AlertDialogFooter
|
|
20
|
-
AlertDialogCancel
|
|
21
|
-
AlertDialogAction
|
|
22
|
-
|
|
23
|
-
## Defaults
|
|
24
|
-
none
|
|
25
|
-
|
|
26
|
-
## Example
|
|
27
|
-
```jsx
|
|
28
|
-
<AlertDialog>
|
|
29
|
-
<AlertDialogTrigger asChild>
|
|
30
|
-
<Button color="error">Delete</Button>
|
|
31
|
-
</AlertDialogTrigger>
|
|
32
|
-
<AlertDialogContent>
|
|
33
|
-
<AlertDialogHeader>
|
|
34
|
-
<AlertDialogTitle>Are you sure?</AlertDialogTitle>
|
|
35
|
-
<AlertDialogDescription>This cannot be undone.</AlertDialogDescription>
|
|
36
|
-
</AlertDialogHeader>
|
|
37
|
-
<AlertDialogFooter>
|
|
38
|
-
<AlertDialogCancel>Cancel</AlertDialogCancel>
|
|
39
|
-
<AlertDialogAction>Delete</AlertDialogAction>
|
|
40
|
-
</AlertDialogFooter>
|
|
41
|
-
</AlertDialogContent>
|
|
42
|
-
</AlertDialog>
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
## Gotchas
|
|
46
|
-
- AlertDialogAction does NOT have color="error" styling — add it yourself via className or wrap a Button
|
|
47
|
-
|
|
48
|
-
## Changes
|
|
49
|
-
### v0.19.1
|
|
50
|
-
- **Fixed** AlertDialog not centered after Framer Motion animation completes — same `transform: none` fix as Dialog.
|
|
51
|
-
|
|
52
|
-
### v0.18.0
|
|
53
|
-
- **Changed** Overlay animations migrated to Framer Motion (physics-based springs)
|
|
54
|
-
- **Added** `AlertDialogContentProps`, `AlertDialogActionProps`, `AlertDialogCancelProps` type exports
|
|
55
|
-
- **Fixed** Context provider value wrapped in `useMemo` for performance
|
|
56
|
-
|
|
57
|
-
### v0.4.2
|
|
58
|
-
- **Fixed** AlertDialogHeader/Footer now wrapped in `React.forwardRef` (matches Dialog/Sheet pattern)
|
|
59
|
-
|
|
60
|
-
### v0.1.0
|
|
61
|
-
- **Added** Initial release
|
|
1
|
+
# AlertDialog
|
|
2
|
+
|
|
3
|
+
- Import: @devalok/shilp-sutra/ui/alert-dialog
|
|
4
|
+
- Server-safe: No
|
|
5
|
+
- Category: ui
|
|
6
|
+
|
|
7
|
+
## Props
|
|
8
|
+
open: boolean (controlled)
|
|
9
|
+
onOpenChange: (open: boolean) => void
|
|
10
|
+
defaultOpen: boolean
|
|
11
|
+
|
|
12
|
+
## Compound Components
|
|
13
|
+
AlertDialog (root)
|
|
14
|
+
AlertDialogTrigger
|
|
15
|
+
AlertDialogContent
|
|
16
|
+
AlertDialogHeader
|
|
17
|
+
AlertDialogTitle
|
|
18
|
+
AlertDialogDescription
|
|
19
|
+
AlertDialogFooter
|
|
20
|
+
AlertDialogCancel
|
|
21
|
+
AlertDialogAction
|
|
22
|
+
|
|
23
|
+
## Defaults
|
|
24
|
+
none
|
|
25
|
+
|
|
26
|
+
## Example
|
|
27
|
+
```jsx
|
|
28
|
+
<AlertDialog>
|
|
29
|
+
<AlertDialogTrigger asChild>
|
|
30
|
+
<Button color="error">Delete</Button>
|
|
31
|
+
</AlertDialogTrigger>
|
|
32
|
+
<AlertDialogContent>
|
|
33
|
+
<AlertDialogHeader>
|
|
34
|
+
<AlertDialogTitle>Are you sure?</AlertDialogTitle>
|
|
35
|
+
<AlertDialogDescription>This cannot be undone.</AlertDialogDescription>
|
|
36
|
+
</AlertDialogHeader>
|
|
37
|
+
<AlertDialogFooter>
|
|
38
|
+
<AlertDialogCancel>Cancel</AlertDialogCancel>
|
|
39
|
+
<AlertDialogAction>Delete</AlertDialogAction>
|
|
40
|
+
</AlertDialogFooter>
|
|
41
|
+
</AlertDialogContent>
|
|
42
|
+
</AlertDialog>
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## Gotchas
|
|
46
|
+
- AlertDialogAction does NOT have color="error" styling — add it yourself via className or wrap a Button
|
|
47
|
+
|
|
48
|
+
## Changes
|
|
49
|
+
### v0.19.1
|
|
50
|
+
- **Fixed** AlertDialog not centered after Framer Motion animation completes — same `transform: none` fix as Dialog.
|
|
51
|
+
|
|
52
|
+
### v0.18.0
|
|
53
|
+
- **Changed** Overlay animations migrated to Framer Motion (physics-based springs)
|
|
54
|
+
- **Added** `AlertDialogContentProps`, `AlertDialogActionProps`, `AlertDialogCancelProps` type exports
|
|
55
|
+
- **Fixed** Context provider value wrapped in `useMemo` for performance
|
|
56
|
+
|
|
57
|
+
### v0.4.2
|
|
58
|
+
- **Fixed** AlertDialogHeader/Footer now wrapped in `React.forwardRef` (matches Dialog/Sheet pattern)
|
|
59
|
+
|
|
60
|
+
### v0.1.0
|
|
61
|
+
- **Added** Initial release
|
|
@@ -1,46 +1,46 @@
|
|
|
1
|
-
# Alert
|
|
2
|
-
|
|
3
|
-
- Import: @devalok/shilp-sutra/ui/alert
|
|
4
|
-
- Server-safe: No
|
|
5
|
-
- Category: ui
|
|
6
|
-
|
|
7
|
-
## Props
|
|
8
|
-
variant: "subtle" | "filled" | "outline"
|
|
9
|
-
color: "info" | "success" | "warning" | "error" | "neutral"
|
|
10
|
-
title: string (optional)
|
|
11
|
-
onDismiss: () => void (optional, shows X button when provided)
|
|
12
|
-
children: ReactNode (body text)
|
|
13
|
-
|
|
14
|
-
## Defaults
|
|
15
|
-
variant="subtle", color="info"
|
|
16
|
-
|
|
17
|
-
## Example
|
|
18
|
-
```jsx
|
|
19
|
-
<Alert color="error" title="Save failed" onDismiss={() => setError(null)}>
|
|
20
|
-
Your changes could not be saved.
|
|
21
|
-
</Alert>
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
## Gotchas
|
|
25
|
-
- NOT a compound component — use title prop, NOT <AlertTitle>
|
|
26
|
-
- DO NOT use variant="destructive" — use color="error"
|
|
27
|
-
- Renders role="alert" automatically
|
|
28
|
-
- Icon is auto-selected by color (info=circle, success=check, warning=triangle, error=alert)
|
|
29
|
-
|
|
30
|
-
## Changes
|
|
31
|
-
### v0.31.0
|
|
32
|
-
- **Added** `size` prop: `sm | md | lg`. Default `md` (non-breaking).
|
|
33
|
-
|
|
34
|
-
### v0.18.0
|
|
35
|
-
- **Changed** Exit animation migrated to Framer Motion
|
|
36
|
-
- **Fixed** `onDismiss` JSDoc documenting it fires after exit animation completes
|
|
37
|
-
- **Changed** OKLCH color token migration
|
|
38
|
-
|
|
39
|
-
### v0.3.1
|
|
40
|
-
- **Fixed** AlertProps uses `Omit<HTMLAttributes, 'color'>` to resolve TypeScript conflict with CVA `color` variant
|
|
41
|
-
|
|
42
|
-
### v0.3.0
|
|
43
|
-
- **Changed** (BREAKING) `variant` prop renamed to `color` for semantic intent
|
|
44
|
-
|
|
45
|
-
### v0.1.0
|
|
46
|
-
- **Added** Initial release
|
|
1
|
+
# Alert
|
|
2
|
+
|
|
3
|
+
- Import: @devalok/shilp-sutra/ui/alert
|
|
4
|
+
- Server-safe: No
|
|
5
|
+
- Category: ui
|
|
6
|
+
|
|
7
|
+
## Props
|
|
8
|
+
variant: "subtle" | "filled" | "outline"
|
|
9
|
+
color: "info" | "success" | "warning" | "error" | "neutral"
|
|
10
|
+
title: string (optional)
|
|
11
|
+
onDismiss: () => void (optional, shows X button when provided)
|
|
12
|
+
children: ReactNode (body text)
|
|
13
|
+
|
|
14
|
+
## Defaults
|
|
15
|
+
variant="subtle", color="info"
|
|
16
|
+
|
|
17
|
+
## Example
|
|
18
|
+
```jsx
|
|
19
|
+
<Alert color="error" title="Save failed" onDismiss={() => setError(null)}>
|
|
20
|
+
Your changes could not be saved.
|
|
21
|
+
</Alert>
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
## Gotchas
|
|
25
|
+
- NOT a compound component — use title prop, NOT <AlertTitle>
|
|
26
|
+
- DO NOT use variant="destructive" — use color="error"
|
|
27
|
+
- Renders role="alert" automatically
|
|
28
|
+
- Icon is auto-selected by color (info=circle, success=check, warning=triangle, error=alert)
|
|
29
|
+
|
|
30
|
+
## Changes
|
|
31
|
+
### v0.31.0
|
|
32
|
+
- **Added** `size` prop: `sm | md | lg`. Default `md` (non-breaking).
|
|
33
|
+
|
|
34
|
+
### v0.18.0
|
|
35
|
+
- **Changed** Exit animation migrated to Framer Motion
|
|
36
|
+
- **Fixed** `onDismiss` JSDoc documenting it fires after exit animation completes
|
|
37
|
+
- **Changed** OKLCH color token migration
|
|
38
|
+
|
|
39
|
+
### v0.3.1
|
|
40
|
+
- **Fixed** AlertProps uses `Omit<HTMLAttributes, 'color'>` to resolve TypeScript conflict with CVA `color` variant
|
|
41
|
+
|
|
42
|
+
### v0.3.0
|
|
43
|
+
- **Changed** (BREAKING) `variant` prop renamed to `color` for semantic intent
|
|
44
|
+
|
|
45
|
+
### v0.1.0
|
|
46
|
+
- **Added** Initial release
|
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
# AspectRatio
|
|
2
|
-
|
|
3
|
-
- Import: @devalok/shilp-sutra/ui/aspect-ratio
|
|
4
|
-
- Server-safe: No
|
|
5
|
-
- Category: ui
|
|
6
|
-
|
|
7
|
-
## Props
|
|
8
|
-
ratio: number (e.g. 16/9, 4/3, 1)
|
|
9
|
-
|
|
10
|
-
## Defaults
|
|
11
|
-
none
|
|
12
|
-
|
|
13
|
-
## Example
|
|
14
|
-
```jsx
|
|
15
|
-
<AspectRatio ratio={16 / 9}>
|
|
16
|
-
<img src="/photo.jpg" alt="Photo" className="object-cover w-full h-full" />
|
|
17
|
-
</AspectRatio>
|
|
18
|
-
```
|
|
19
|
-
|
|
20
|
-
## Gotchas
|
|
21
|
-
- ratio is a number, not a string — use `16/9` not `"16/9"`
|
|
22
|
-
|
|
23
|
-
## Changes
|
|
24
|
-
### v0.1.0
|
|
25
|
-
- **Added** Initial release
|
|
1
|
+
# AspectRatio
|
|
2
|
+
|
|
3
|
+
- Import: @devalok/shilp-sutra/ui/aspect-ratio
|
|
4
|
+
- Server-safe: No
|
|
5
|
+
- Category: ui
|
|
6
|
+
|
|
7
|
+
## Props
|
|
8
|
+
ratio: number (e.g. 16/9, 4/3, 1)
|
|
9
|
+
|
|
10
|
+
## Defaults
|
|
11
|
+
none
|
|
12
|
+
|
|
13
|
+
## Example
|
|
14
|
+
```jsx
|
|
15
|
+
<AspectRatio ratio={16 / 9}>
|
|
16
|
+
<img src="/photo.jpg" alt="Photo" className="object-cover w-full h-full" />
|
|
17
|
+
</AspectRatio>
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Gotchas
|
|
21
|
+
- ratio is a number, not a string — use `16/9` not `"16/9"`
|
|
22
|
+
|
|
23
|
+
## Changes
|
|
24
|
+
### v0.1.0
|
|
25
|
+
- **Added** Initial release
|