@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
package/dist/ui/sheet.js
CHANGED
|
@@ -1,166 +1,138 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
}) => {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
2
|
+
import { An as e, Dn as t, En as n, Mn as r, Nn as i, On as a, jn as o, kn as s } from "../_chunks/primitives.js";
|
|
3
|
+
import { a as c, c as l, n as u } from "../_chunks/framer.js";
|
|
4
|
+
import { motionProps as d, springs as f, tweens as p } from "./lib/motion.js";
|
|
5
|
+
import { t as m } from "../_chunks/vendor-utils.js";
|
|
6
|
+
import { cn as h } from "./lib/utils.js";
|
|
7
|
+
import { Icon as g } from "./icon.js";
|
|
8
|
+
import { useIsMobile as _ } from "../hooks/use-mobile.js";
|
|
9
|
+
import * as v from "react";
|
|
10
|
+
import { jsx as y, jsxs as b } from "react/jsx-runtime";
|
|
11
|
+
import { IconX as x } from "@tabler/icons-react";
|
|
12
|
+
//#region src/ui/sheet.tsx
|
|
13
|
+
var S = v.createContext({
|
|
14
|
+
open: !1,
|
|
15
|
+
onClose: () => {}
|
|
16
|
+
}), C = ({ open: e, defaultOpen: t = !1, onOpenChange: n, children: r, ...i }) => {
|
|
17
|
+
let [a, s] = v.useState(t), c = e !== void 0, l = c ? e : a, u = v.useCallback((e) => {
|
|
18
|
+
c || s(e), n?.(e);
|
|
19
|
+
}, [c, n]), d = v.useMemo(() => ({
|
|
20
|
+
open: l,
|
|
21
|
+
onClose: () => u(!1)
|
|
22
|
+
}), [l, u]);
|
|
23
|
+
return /* @__PURE__ */ y(S.Provider, {
|
|
24
|
+
value: d,
|
|
25
|
+
children: /* @__PURE__ */ y(o, {
|
|
26
|
+
open: l,
|
|
27
|
+
onOpenChange: u,
|
|
28
|
+
...i,
|
|
29
|
+
children: r
|
|
30
|
+
})
|
|
31
|
+
});
|
|
30
32
|
};
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
33
|
+
C.displayName = "Sheet";
|
|
34
|
+
var w = i, T = n, E = e, D = v.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ y(s, {
|
|
35
|
+
forceMount: !0,
|
|
36
|
+
asChild: !0,
|
|
37
|
+
children: /* @__PURE__ */ y(c.div, {
|
|
38
|
+
ref: n,
|
|
39
|
+
className: h("fixed inset-0 z-modal bg-overlay", e),
|
|
40
|
+
initial: { opacity: 0 },
|
|
41
|
+
animate: { opacity: 1 },
|
|
42
|
+
exit: { opacity: 0 },
|
|
43
|
+
transition: p.fade,
|
|
44
|
+
...d(t)
|
|
45
|
+
})
|
|
46
|
+
}));
|
|
47
|
+
D.displayName = s.displayName;
|
|
48
|
+
var O = {
|
|
49
|
+
top: { y: "-100%" },
|
|
50
|
+
bottom: { y: "100%" },
|
|
51
|
+
left: { x: "-100%" },
|
|
52
|
+
right: { x: "100%" }
|
|
53
|
+
}, k = {
|
|
54
|
+
top: { y: 0 },
|
|
55
|
+
bottom: { y: 0 },
|
|
56
|
+
left: { x: 0 },
|
|
57
|
+
right: { x: 0 }
|
|
58
|
+
}, A = m("fixed z-modal gap-ds-05 bg-surface-overlay p-ds-06 shadow-overlay", {
|
|
59
|
+
variants: { side: {
|
|
60
|
+
top: "inset-x-0 top-0 border-b border-surface-border-strong",
|
|
61
|
+
bottom: "inset-x-0 bottom-0 border-t border-surface-border-strong",
|
|
62
|
+
left: "inset-y-0 left-0 h-full w-3/4 border-r border-surface-border-strong sm:max-w-sm",
|
|
63
|
+
right: "inset-y-0 right-0 h-full w-3/4 border-l border-surface-border-strong sm:max-w-sm"
|
|
64
|
+
} },
|
|
65
|
+
defaultVariants: { side: "right" }
|
|
66
|
+
}), j = v.forwardRef(({ side: e = "right", responsive: r, className: i, children: a, ...o }, s) => {
|
|
67
|
+
let p = _(), m = r !== !1 && p, C = u(), { open: w, onClose: T } = v.useContext(S), j = m ? "bottom" : e ?? "right", M = v.useRef(null), N = v.useCallback((e) => {
|
|
68
|
+
M.current = e, typeof s == "function" ? s(e) : s && (s.current = e);
|
|
69
|
+
}, [s]);
|
|
70
|
+
return /* @__PURE__ */ y(l, { children: w && /* @__PURE__ */ b(E, {
|
|
71
|
+
forceMount: !0,
|
|
72
|
+
children: [/* @__PURE__ */ y(D, {}), /* @__PURE__ */ y(t, {
|
|
73
|
+
forceMount: !0,
|
|
74
|
+
asChild: !0,
|
|
75
|
+
children: /* @__PURE__ */ b(c.div, {
|
|
76
|
+
ref: N,
|
|
77
|
+
className: h(A({ side: j }), i),
|
|
78
|
+
initial: O[j],
|
|
79
|
+
animate: k[j],
|
|
80
|
+
exit: O[j],
|
|
81
|
+
transition: f.smooth,
|
|
82
|
+
drag: m && !C ? "y" : !1,
|
|
83
|
+
dragConstraints: { top: 0 },
|
|
84
|
+
dragElastic: .2,
|
|
85
|
+
onDragEnd: m ? (e, t) => {
|
|
86
|
+
let n = M.current?.getBoundingClientRect().height ?? 300;
|
|
87
|
+
(t.offset.y > n * .3 || t.velocity.y > 500) && T();
|
|
88
|
+
} : void 0,
|
|
89
|
+
...d(o),
|
|
90
|
+
children: [
|
|
91
|
+
m && /* @__PURE__ */ y("div", {
|
|
92
|
+
className: "flex justify-center pt-ds-03 pb-ds-02",
|
|
93
|
+
children: /* @__PURE__ */ y("div", { className: "h-1 w-8 rounded-ds-full bg-surface-border" })
|
|
94
|
+
}),
|
|
95
|
+
/* @__PURE__ */ b(n, {
|
|
96
|
+
title: "Close",
|
|
97
|
+
className: "absolute right-ds-05 top-ds-05 min-h-ds-xs min-w-ds-xs flex items-center justify-center rounded-ds-sm text-surface-fg-subtle transition-colors ease-productive-standard hover:text-surface-fg-muted hover:bg-surface-raised-hover active:scale-90 focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-accent-9 disabled:pointer-events-none",
|
|
98
|
+
children: [/* @__PURE__ */ y(g, {
|
|
99
|
+
icon: x,
|
|
100
|
+
size: "sm"
|
|
101
|
+
}), /* @__PURE__ */ y("span", {
|
|
102
|
+
className: "sr-only",
|
|
103
|
+
children: "Close"
|
|
104
|
+
})]
|
|
105
|
+
}),
|
|
106
|
+
a
|
|
107
|
+
]
|
|
108
|
+
})
|
|
109
|
+
})]
|
|
110
|
+
}) });
|
|
107
111
|
});
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
)
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
);
|
|
136
|
-
L.displayName = "SheetFooter";
|
|
137
|
-
const Q = r.forwardRef(({ className: t, ...o }, s) => /* @__PURE__ */ e(
|
|
138
|
-
w,
|
|
139
|
-
{
|
|
140
|
-
ref: s,
|
|
141
|
-
className: l("text-ds-lg font-semibold text-surface-fg", t),
|
|
142
|
-
...o
|
|
143
|
-
}
|
|
144
|
-
));
|
|
145
|
-
Q.displayName = w.displayName;
|
|
146
|
-
const W = r.forwardRef(({ className: t, ...o }, s) => /* @__PURE__ */ e(
|
|
147
|
-
S,
|
|
148
|
-
{
|
|
149
|
-
ref: s,
|
|
150
|
-
className: l("text-ds-md text-surface-fg-muted", t),
|
|
151
|
-
...o
|
|
152
|
-
}
|
|
153
|
-
));
|
|
154
|
-
W.displayName = S.displayName;
|
|
155
|
-
export {
|
|
156
|
-
X as Sheet,
|
|
157
|
-
ne as SheetClose,
|
|
158
|
-
J as SheetContent,
|
|
159
|
-
W as SheetDescription,
|
|
160
|
-
L as SheetFooter,
|
|
161
|
-
K as SheetHeader,
|
|
162
|
-
O as SheetOverlay,
|
|
163
|
-
_ as SheetPortal,
|
|
164
|
-
Q as SheetTitle,
|
|
165
|
-
ie as SheetTrigger
|
|
166
|
-
};
|
|
112
|
+
j.displayName = t.displayName;
|
|
113
|
+
var M = v.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ y("div", {
|
|
114
|
+
ref: n,
|
|
115
|
+
className: h("flex flex-col space-y-ds-03 text-center sm:text-left", e),
|
|
116
|
+
...t
|
|
117
|
+
}));
|
|
118
|
+
M.displayName = "SheetHeader";
|
|
119
|
+
var N = v.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ y("div", {
|
|
120
|
+
ref: n,
|
|
121
|
+
className: h("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-ds-03", e),
|
|
122
|
+
...t
|
|
123
|
+
}));
|
|
124
|
+
N.displayName = "SheetFooter";
|
|
125
|
+
var P = v.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ y(r, {
|
|
126
|
+
ref: n,
|
|
127
|
+
className: h("text-ds-lg font-semibold text-surface-fg", e),
|
|
128
|
+
...t
|
|
129
|
+
}));
|
|
130
|
+
P.displayName = r.displayName;
|
|
131
|
+
var F = v.forwardRef(({ className: e, ...t }, n) => /* @__PURE__ */ y(a, {
|
|
132
|
+
ref: n,
|
|
133
|
+
className: h("text-ds-md text-surface-fg-muted", e),
|
|
134
|
+
...t
|
|
135
|
+
}));
|
|
136
|
+
F.displayName = a.displayName;
|
|
137
|
+
//#endregion
|
|
138
|
+
export { C as Sheet, T as SheetClose, j as SheetContent, F as SheetDescription, N as SheetFooter, M as SheetHeader, D as SheetOverlay, E as SheetPortal, P as SheetTitle, w as SheetTrigger };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sheet.js","names":[],"sources":["../../src/ui/sheet.tsx"],"sourcesContent":["'use client'\n\nimport * as React from 'react'\nimport * as SheetPrimitive from '@primitives/react-dialog'\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { IconX } from '@tabler/icons-react'\nimport { motion, AnimatePresence, useReducedMotion } from 'framer-motion'\n\nimport { cn } from './lib/utils'\nimport { springs, tweens, motionProps } from './lib/motion'\nimport { Icon } from './icon'\nimport { useIsMobile } from '../hooks/use-mobile'\n\n// ── Internal open-state context ──────────────────────────────────────\n\nconst SheetOpenContext = React.createContext<{ open: boolean; onClose: () => void }>({ open: false, onClose: () => {} })\n\n/**\n * Sheet compound component — accessible sliding panel anchored to a screen edge, with focus trap\n * and Escape dismissal. Built on the Dialog primitive.\n *\n * **Parts (in composition order):**\n * - `Sheet` — manages open/closed state (this root)\n * - `SheetTrigger` — element that opens the sheet (use `asChild` to render your own button)\n * - `SheetContent` — the sliding panel (use `side=\"right\"|\"left\"|\"top\"|\"bottom\"`, default `\"right\"`)\n * - `SheetHeader` — optional layout wrapper for title + description\n * - `SheetTitle` — required for accessibility (sets the sheet's ARIA label)\n * - `SheetDescription` — optional subtitle text\n * - `SheetFooter` — optional layout wrapper for action buttons\n * - `SheetClose` — manual close trigger (a close button is already built into SheetContent)\n * - `SheetPortal` — low-level portal wrapper (exported for custom layout; used internally by SheetContent)\n * - `SheetOverlay` — the backdrop element (exported for custom overlay styling)\n *\n * @compound\n *\n * Note: The `side` prop goes on `SheetContent`, NOT on `Sheet`.\n * A close button is auto-rendered in the top corner of `SheetContent`.\n *\n * @example\n * // Right-side settings panel (default):\n * <Sheet>\n * <SheetTrigger asChild><Button>Open settings</Button></SheetTrigger>\n * <SheetContent>\n * <SheetHeader>\n * <SheetTitle>Account settings</SheetTitle>\n * <SheetDescription>Manage your profile and preferences.</SheetDescription>\n * </SheetHeader>\n * </SheetContent>\n * </Sheet>\n *\n * @example\n * // Bottom sheet for a mobile-friendly action drawer:\n * <Sheet>\n * <SheetTrigger asChild><Button variant=\"ghost\">More options</Button></SheetTrigger>\n * <SheetContent side=\"bottom\">\n * <SheetTitle>Actions</SheetTitle>\n * <div className=\"flex flex-col gap-ds-03 mt-ds-05\">\n * <Button variant=\"outline\" color=\"error\" fullWidth>Delete item</Button>\n * <Button variant=\"outline\" fullWidth>Duplicate</Button>\n * </div>\n * </SheetContent>\n * </Sheet>\n */\nconst Sheet: React.FC<React.ComponentPropsWithoutRef<typeof SheetPrimitive.Root>> = ({\n open: controlledOpen,\n defaultOpen = false,\n onOpenChange,\n children,\n ...props\n}) => {\n const [uncontrolledOpen, setUncontrolledOpen] = React.useState(defaultOpen)\n const isControlled = controlledOpen !== undefined\n const open = isControlled ? controlledOpen : uncontrolledOpen\n\n const handleOpenChange = React.useCallback(\n (value: boolean) => {\n if (!isControlled) setUncontrolledOpen(value)\n onOpenChange?.(value)\n },\n [isControlled, onOpenChange],\n )\n\n const contextValue = React.useMemo(\n () => ({ open, onClose: () => handleOpenChange(false) }),\n [open, handleOpenChange],\n )\n\n return (\n <SheetOpenContext.Provider value={contextValue}>\n <SheetPrimitive.Root open={open} onOpenChange={handleOpenChange} {...props}>\n {children}\n </SheetPrimitive.Root>\n </SheetOpenContext.Provider>\n )\n}\nSheet.displayName = 'Sheet'\n\nconst SheetTrigger = SheetPrimitive.Trigger\n\nconst SheetClose = SheetPrimitive.Close\n\nconst SheetPortal = SheetPrimitive.Portal\n\nconst SheetOverlay = React.forwardRef<\n React.ElementRef<typeof SheetPrimitive.Overlay>,\n React.ComponentPropsWithoutRef<typeof SheetPrimitive.Overlay>\n>(({ className, ...props }, ref) => (\n <SheetPrimitive.Overlay forceMount asChild>\n <motion.div\n ref={ref}\n className={cn('fixed inset-0 z-modal bg-overlay', className)}\n initial={{ opacity: 0 }}\n animate={{ opacity: 1 }}\n exit={{ opacity: 0 }}\n transition={tweens.fade}\n {...motionProps(props)}\n />\n </SheetPrimitive.Overlay>\n))\nSheetOverlay.displayName = SheetPrimitive.Overlay.displayName\n\n// ── Slide direction map ──────────────────────────────────────────────\n\nconst slideInitial = {\n top: { y: '-100%' },\n bottom: { y: '100%' },\n left: { x: '-100%' },\n right: { x: '100%' },\n} as const\n\nconst slideAnimate = {\n top: { y: 0 },\n bottom: { y: 0 },\n left: { x: 0 },\n right: { x: 0 },\n} as const\n\nconst sheetVariants = cva(\n 'fixed z-modal gap-ds-05 bg-surface-overlay p-ds-06 shadow-overlay',\n {\n variants: {\n side: {\n top: 'inset-x-0 top-0 border-b border-surface-border-strong',\n bottom: 'inset-x-0 bottom-0 border-t border-surface-border-strong',\n left: 'inset-y-0 left-0 h-full w-3/4 border-r border-surface-border-strong sm:max-w-sm',\n right: 'inset-y-0 right-0 h-full w-3/4 border-l border-surface-border-strong sm:max-w-sm',\n },\n },\n defaultVariants: {\n side: 'right',\n },\n },\n)\n\n/**\n * Props for SheetContent — the sliding panel content that appears from one of four screen edges.\n * Built on the Dialog primitive: accessible, focus-trapped, and dismissible with Escape.\n *\n * **`side` variants:** `right` (default, slide from right) | `left` | `top` | `bottom`\n *\n * **Usage pattern:** Wrap the whole sheet in `<Sheet>`, add a `<SheetTrigger>`, and put content\n * inside `<SheetContent>`. Use `<SheetHeader>`, `<SheetTitle>`, and `<SheetDescription>` for\n * accessible structure. A close button is auto-rendered in the top corner.\n *\n * @example\n * // Right-side settings panel (default):\n * <Sheet>\n * <SheetTrigger asChild><Button>Open settings</Button></SheetTrigger>\n * <SheetContent>\n * <SheetHeader>\n * <SheetTitle>Account settings</SheetTitle>\n * <SheetDescription>Manage your profile and preferences.</SheetDescription>\n * </SheetHeader>\n * </SheetContent>\n * </Sheet>\n *\n * @example\n * // Bottom sheet for a mobile-friendly action drawer:\n * <Sheet>\n * <SheetTrigger asChild><Button variant=\"ghost\">More options</Button></SheetTrigger>\n * <SheetContent side=\"bottom\">\n * <SheetTitle>Actions</SheetTitle>\n * <div className=\"flex flex-col gap-ds-03 mt-ds-05\">\n * <Button variant=\"outline\" color=\"error\" fullWidth>Delete item</Button>\n * <Button variant=\"outline\" fullWidth>Duplicate</Button>\n * </div>\n * </SheetContent>\n * </Sheet>\n * // These are just a few ways — feel free to combine props creatively!\n */\nexport interface SheetContentProps\n extends React.ComponentPropsWithoutRef<typeof SheetPrimitive.Content>,\n VariantProps<typeof sheetVariants> {\n /** When true (default), Sheet slides from bottom on mobile with swipe-to-dismiss. */\n responsive?: boolean\n}\n\nconst SheetContent = React.forwardRef<\n React.ElementRef<typeof SheetPrimitive.Content>,\n SheetContentProps\n>(({ side = 'right', responsive, className, children, ...props }, ref) => {\n const isMobileRaw = useIsMobile()\n const isMobile = responsive !== false && isMobileRaw\n const isReduced = useReducedMotion()\n const { open, onClose } = React.useContext(SheetOpenContext)\n const effectiveSide = isMobile ? 'bottom' : (side ?? 'right')\n\n const internalRef = React.useRef<HTMLDivElement>(null)\n const composedRef = React.useCallback(\n (node: HTMLDivElement | null) => {\n internalRef.current = node\n if (typeof ref === 'function') ref(node)\n else if (ref) (ref as React.MutableRefObject<HTMLDivElement | null>).current = node\n },\n [ref],\n )\n\n return (\n <AnimatePresence>\n {open && (\n <SheetPortal forceMount>\n <SheetOverlay />\n <SheetPrimitive.Content forceMount asChild>\n <motion.div\n ref={composedRef}\n className={cn(sheetVariants({ side: effectiveSide }), className)}\n initial={slideInitial[effectiveSide]}\n animate={slideAnimate[effectiveSide]}\n exit={slideInitial[effectiveSide]}\n transition={springs.smooth}\n drag={isMobile && !isReduced ? 'y' : false}\n dragConstraints={{ top: 0 }}\n dragElastic={0.2}\n onDragEnd={\n isMobile\n ? (\n _: unknown,\n info: { offset: { y: number }; velocity: { y: number } },\n ) => {\n const h =\n internalRef.current?.getBoundingClientRect().height ?? 300\n if (info.offset.y > h * 0.3 || info.velocity.y > 500)\n onClose()\n }\n : undefined\n }\n {...motionProps(props)}\n >\n {isMobile && (\n <div className=\"flex justify-center pt-ds-03 pb-ds-02\">\n <div className=\"h-1 w-8 rounded-ds-full bg-surface-border\" />\n </div>\n )}\n <SheetPrimitive.Close title=\"Close\" className=\"absolute right-ds-05 top-ds-05 min-h-ds-xs min-w-ds-xs flex items-center justify-center rounded-ds-sm text-surface-fg-subtle transition-colors ease-productive-standard hover:text-surface-fg-muted hover:bg-surface-raised-hover active:scale-90 focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-accent-9 disabled:pointer-events-none\">\n <Icon icon={IconX} size=\"sm\" />\n <span className=\"sr-only\">Close</span>\n </SheetPrimitive.Close>\n {children}\n </motion.div>\n </SheetPrimitive.Content>\n </SheetPortal>\n )}\n </AnimatePresence>\n )\n})\nSheetContent.displayName = SheetPrimitive.Content.displayName\n\nconst SheetHeader = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\n 'flex flex-col space-y-ds-03 text-center sm:text-left',\n className,\n )}\n {...props}\n />\n ),\n)\nSheetHeader.displayName = 'SheetHeader'\n\nconst SheetFooter = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\n 'flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-ds-03',\n className,\n )}\n {...props}\n />\n ),\n)\nSheetFooter.displayName = 'SheetFooter'\n\nconst SheetTitle = React.forwardRef<\n React.ElementRef<typeof SheetPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof SheetPrimitive.Title>\n>(({ className, ...props }, ref) => (\n <SheetPrimitive.Title\n ref={ref}\n className={cn('text-ds-lg font-semibold text-surface-fg', className)}\n {...props}\n />\n))\nSheetTitle.displayName = SheetPrimitive.Title.displayName\n\nconst SheetDescription = React.forwardRef<\n React.ElementRef<typeof SheetPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof SheetPrimitive.Description>\n>(({ className, ...props }, ref) => (\n <SheetPrimitive.Description\n ref={ref}\n className={cn('text-ds-md text-surface-fg-muted', className)}\n {...props}\n />\n))\nSheetDescription.displayName = SheetPrimitive.Description.displayName\n\nexport {\n Sheet,\n SheetPortal,\n SheetOverlay,\n SheetTrigger,\n SheetClose,\n SheetContent,\n SheetHeader,\n SheetFooter,\n SheetTitle,\n SheetDescription,\n}\n"],"mappings":"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"}
|