@devalok/shilp-sutra 0.36.1 → 0.37.0-next.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/MIGRATION.md +346 -0
- package/README.md +26 -29
- package/dist/_chunks/badge-group.js +42 -42
- package/dist/_chunks/badge-group.js.map +1 -1
- package/dist/_chunks/chat.js +324 -327
- package/dist/_chunks/chat.js.map +1 -1
- package/dist/_chunks/date-picker.js +245 -245
- package/dist/_chunks/date-picker.js.map +1 -1
- package/dist/_chunks/document-preview.js +33 -33
- package/dist/_chunks/document-preview.js.map +1 -1
- package/dist/_chunks/file-preview.js +264 -264
- package/dist/_chunks/file-preview.js.map +1 -1
- package/dist/_chunks/image-preview.js +45 -45
- package/dist/_chunks/image-preview.js.map +1 -1
- package/dist/_chunks/mention-suggestion.js +85 -85
- package/dist/_chunks/mention-suggestion.js.map +1 -1
- package/dist/_chunks/motion-provider.js +13 -13
- package/dist/_chunks/motion-provider.js.map +1 -1
- package/dist/_chunks/popover.js +36 -36
- package/dist/_chunks/popover.js.map +1 -1
- package/dist/_chunks/primitives.js +489 -489
- package/dist/_chunks/primitives.js.map +1 -1
- package/dist/_chunks/rich-chat-input.js +1065 -1065
- package/dist/_chunks/rich-chat-input.js.map +1 -1
- package/dist/_chunks/shared.js +43 -43
- package/dist/_chunks/shared.js.map +1 -1
- package/dist/_chunks/text.js +432 -0
- package/dist/_chunks/text.js.map +1 -0
- package/dist/_chunks/tiptap.js +6053 -6187
- package/dist/_chunks/tiptap.js.map +1 -1
- package/dist/_chunks/tree-view.js +97 -97
- package/dist/_chunks/tree-view.js.map +1 -1
- package/dist/_chunks/use-calendar.js.map +1 -1
- package/dist/ai/ai-command-provider.d.ts.map +1 -1
- package/dist/ai/ai-command-provider.js.map +1 -1
- package/dist/ai/block-renderer.d.ts.map +1 -1
- package/dist/ai/block-renderer.js +43 -43
- package/dist/ai/block-renderer.js.map +1 -1
- package/dist/ai/blocks/block-table.d.ts.map +1 -1
- package/dist/ai/blocks/confirm.d.ts.map +1 -1
- package/dist/ai/blocks/divider.d.ts.map +1 -1
- package/dist/ai/blocks/error.d.ts.map +1 -1
- package/dist/ai/blocks/index.d.ts +5 -5
- package/dist/ai/blocks/index.d.ts.map +1 -1
- package/dist/ai/blocks/index.js +2 -2
- package/dist/ai/blocks/info.d.ts.map +1 -1
- package/dist/ai/blocks/loading.d.ts.map +1 -1
- package/dist/ai/blocks/stat-row.d.ts.map +1 -1
- package/dist/ai/blocks/success.d.ts.map +1 -1
- package/dist/ai/blocks/text.d.ts.map +1 -1
- package/dist/ai/command-bar.d.ts +0 -11
- package/dist/ai/command-bar.d.ts.map +1 -1
- package/dist/ai/command-bar.js +128 -128
- package/dist/ai/command-bar.js.map +1 -1
- package/dist/ai/conversation.d.ts +1 -1
- package/dist/ai/conversation.d.ts.map +1 -1
- package/dist/ai/conversation.js +76 -76
- package/dist/ai/conversation.js.map +1 -1
- package/dist/ai/devadoot-icon.d.ts +0 -12
- package/dist/ai/devadoot-icon.d.ts.map +1 -1
- package/dist/ai/index.d.ts +11 -11
- package/dist/ai/index.d.ts.map +1 -1
- package/dist/ai/index.js +44 -44
- package/dist/ai/index.js.map +1 -1
- package/dist/composed/activity-feed.d.ts.map +1 -1
- package/dist/composed/activity-feed.js +93 -93
- package/dist/composed/activity-feed.js.map +1 -1
- package/dist/composed/avatar-group.d.ts.map +1 -1
- package/dist/composed/avatar-group.js +50 -50
- package/dist/composed/avatar-group.js.map +1 -1
- package/dist/composed/bulk-action-bar.d.ts.map +1 -1
- package/dist/composed/bulk-action-bar.js +40 -40
- package/dist/composed/bulk-action-bar.js.map +1 -1
- package/dist/composed/command-palette.d.ts +0 -6
- package/dist/composed/command-palette.d.ts.map +1 -1
- package/dist/composed/command-palette.js +131 -131
- package/dist/composed/command-palette.js.map +1 -1
- package/dist/composed/confirm-dialog.d.ts.map +1 -1
- package/dist/composed/confirm-dialog.js.map +1 -1
- package/dist/composed/content-card.d.ts.map +1 -1
- package/dist/composed/content-card.js.map +1 -1
- package/dist/composed/date-picker/calendar-grid.d.ts.map +1 -1
- package/dist/composed/date-picker/date-picker.d.ts.map +1 -1
- package/dist/composed/date-picker/date-range-picker.d.ts.map +1 -1
- package/dist/composed/date-picker/date-time-picker.d.ts.map +1 -1
- package/dist/composed/date-picker/index.d.ts +11 -11
- package/dist/composed/date-picker/index.d.ts.map +1 -1
- package/dist/composed/date-picker/index.js +1 -1
- package/dist/composed/date-picker/month-picker.d.ts.map +1 -1
- package/dist/composed/date-picker/presets.d.ts.map +1 -1
- package/dist/composed/date-picker/time-picker.d.ts.map +1 -1
- package/dist/composed/date-picker/year-picker.d.ts.map +1 -1
- package/dist/composed/deadline-indicator.d.ts.map +1 -1
- package/dist/composed/deadline-indicator.js +25 -25
- package/dist/composed/deadline-indicator.js.map +1 -1
- package/dist/composed/emoji-picker.d.ts.map +1 -1
- package/dist/composed/emoji-picker.js +37 -37
- package/dist/composed/emoji-picker.js.map +1 -1
- package/dist/composed/empty-state.d.ts.map +1 -1
- package/dist/composed/empty-state.js +21 -21
- package/dist/composed/empty-state.js.map +1 -1
- package/dist/composed/error-boundary.d.ts +1 -1
- package/dist/composed/error-boundary.d.ts.map +1 -1
- package/dist/composed/error-boundary.js.map +1 -1
- package/dist/composed/extensions/emoji-node.d.ts.map +1 -1
- package/dist/composed/extensions/emoji-suggestion.d.ts.map +1 -1
- package/dist/composed/extensions/file-attachment.d.ts.map +1 -1
- package/dist/composed/extensions/mention-suggestion.d.ts +1 -1
- package/dist/composed/extensions/mention-suggestion.d.ts.map +1 -1
- package/dist/composed/extensions/slash-command.d.ts +1 -1
- package/dist/composed/extensions/slash-command.d.ts.map +1 -1
- package/dist/composed/file-preview/audio-preview.d.ts.map +1 -1
- package/dist/composed/file-preview/document-preview.d.ts.map +1 -1
- package/dist/composed/file-preview/embed-preview.d.ts.map +1 -1
- package/dist/composed/file-preview/image-preview.d.ts.map +1 -1
- package/dist/composed/file-preview/shared.d.ts.map +1 -1
- package/dist/composed/file-preview/video-preview.d.ts.map +1 -1
- package/dist/composed/file-preview.d.ts.map +1 -1
- package/dist/composed/filter-bar.d.ts +1 -1
- package/dist/composed/filter-bar.d.ts.map +1 -1
- package/dist/composed/filter-bar.js +54 -54
- package/dist/composed/filter-bar.js.map +1 -1
- package/dist/composed/form-section.d.ts.map +1 -1
- package/dist/composed/form-section.js +26 -26
- package/dist/composed/form-section.js.map +1 -1
- package/dist/composed/global-loading.d.ts.map +1 -1
- package/dist/composed/global-loading.js.map +1 -1
- package/dist/composed/index.d.ts +55 -55
- package/dist/composed/index.d.ts.map +1 -1
- package/dist/composed/index.js +17 -17
- package/dist/composed/inline-edit.d.ts.map +1 -1
- package/dist/composed/inline-edit.js.map +1 -1
- package/dist/composed/loading-skeleton.d.ts +1 -1
- package/dist/composed/loading-skeleton.d.ts.map +1 -1
- package/dist/composed/loading-skeleton.js.map +1 -1
- package/dist/composed/markdown-viewer.d.ts.map +1 -1
- package/dist/composed/markdown-viewer.js +3 -3
- package/dist/composed/markdown-viewer.js.map +1 -1
- package/dist/composed/master-detail.d.ts.map +1 -1
- package/dist/composed/master-detail.js +42 -42
- package/dist/composed/master-detail.js.map +1 -1
- package/dist/composed/member-picker.d.ts.map +1 -1
- package/dist/composed/member-picker.js.map +1 -1
- package/dist/composed/multi-select-popover.d.ts.map +1 -1
- package/dist/composed/multi-select-popover.js +55 -55
- package/dist/composed/multi-select-popover.js.map +1 -1
- package/dist/composed/page-header.d.ts.map +1 -1
- package/dist/composed/page-header.js.map +1 -1
- package/dist/composed/page-skeletons.d.ts.map +1 -1
- package/dist/composed/page-skeletons.js.map +1 -1
- package/dist/composed/priority-indicator.d.ts.map +1 -1
- package/dist/composed/priority-indicator.js +34 -34
- package/dist/composed/priority-indicator.js.map +1 -1
- package/dist/composed/responsive-overlay.d.ts.map +1 -1
- package/dist/composed/responsive-overlay.js.map +1 -1
- package/dist/composed/rich-chat-input/attachment-strip.d.ts.map +1 -1
- package/dist/composed/rich-chat-input/audio-player.d.ts.map +1 -1
- package/dist/composed/rich-chat-input/audio-waveform.d.ts.map +1 -1
- package/dist/composed/rich-chat-input/chat-toolbar.d.ts.map +1 -1
- package/dist/composed/rich-chat-input/recording-overlay.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 +6 -6
- package/dist/composed/rich-chat-input.d.ts.map +1 -1
- package/dist/composed/rich-chat-input.js +1 -1
- package/dist/composed/rich-text-editor.d.ts.map +1 -1
- package/dist/composed/rich-text-editor.js +24 -24
- package/dist/composed/rich-text-editor.js.map +1 -1
- package/dist/composed/schedule-view.d.ts.map +1 -1
- package/dist/composed/schedule-view.js +53 -53
- package/dist/composed/schedule-view.js.map +1 -1
- package/dist/composed/simple-tooltip.d.ts.map +1 -1
- package/dist/composed/simple-tooltip.js.map +1 -1
- package/dist/composed/status-badge.d.ts +1 -1
- package/dist/composed/status-badge.d.ts.map +1 -1
- package/dist/composed/status-badge.js +30 -30
- package/dist/composed/status-badge.js.map +1 -1
- package/dist/hooks/index.d.ts +3 -3
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +1 -1
- package/dist/hooks/use-color-mode.js.map +1 -1
- package/dist/hooks/use-toast.d.ts +1 -1
- package/dist/hooks/use-toast.d.ts.map +1 -1
- package/dist/motion/index.d.ts +2 -2
- package/dist/motion/index.d.ts.map +1 -1
- package/dist/motion/index.js.map +1 -1
- package/dist/motion/motion-provider.d.ts +1 -1
- package/dist/motion/motion-provider.d.ts.map +1 -1
- package/dist/motion/primitives-index.d.ts +1 -1
- package/dist/motion/primitives-index.d.ts.map +1 -1
- package/dist/motion/primitives-index.js +40 -40
- package/dist/motion/primitives-index.js.map +1 -1
- package/dist/motion/primitives.d.ts +1 -1
- package/dist/motion/primitives.d.ts.map +1 -1
- package/dist/shell/app-command-palette.d.ts +0 -8
- package/dist/shell/app-command-palette.d.ts.map +1 -1
- package/dist/shell/app-command-palette.js.map +1 -1
- package/dist/shell/bottom-navbar.d.ts +0 -6
- package/dist/shell/bottom-navbar.d.ts.map +1 -1
- package/dist/shell/bottom-navbar.js +62 -62
- package/dist/shell/bottom-navbar.js.map +1 -1
- package/dist/shell/index.d.ts +8 -8
- package/dist/shell/index.d.ts.map +1 -1
- package/dist/shell/index.js +5 -5
- package/dist/shell/link-context.d.ts +1 -1
- package/dist/shell/link-context.d.ts.map +1 -1
- package/dist/shell/notification-center.d.ts +0 -6
- package/dist/shell/notification-center.d.ts.map +1 -1
- package/dist/shell/notification-center.js +54 -54
- package/dist/shell/notification-center.js.map +1 -1
- package/dist/shell/notification-preferences.d.ts +0 -6
- package/dist/shell/notification-preferences.d.ts.map +1 -1
- package/dist/shell/notification-preferences.js +22 -22
- package/dist/shell/notification-preferences.js.map +1 -1
- package/dist/shell/sidebar.d.ts.map +1 -1
- package/dist/shell/sidebar.js.map +1 -1
- package/dist/shell/top-bar.d.ts +0 -6
- package/dist/shell/top-bar.d.ts.map +1 -1
- package/dist/shell/top-bar.js.map +1 -1
- package/dist/tailwind/index.cjs +15 -499
- package/dist/tailwind/preset.d.ts +21 -0
- package/dist/tailwind/preset.d.ts.map +1 -1
- package/dist/tailwind/preset.js +14 -489
- package/dist/tailwind/preset.js.map +1 -1
- package/dist/tokens/animations.css +139 -0
- package/dist/tokens/base.css +26 -0
- package/dist/tokens/index.css +22 -0
- package/dist/tokens/primitives.css +2 -0
- package/dist/tokens/semantic.css +500 -465
- package/dist/tokens/shilp-sutra.css +54 -0
- package/dist/tokens/typography-semantic.css +48 -41
- package/dist/tokens/utilities.css +328 -0
- package/dist/tokens/variants.css +14 -0
- package/dist/ui/accordion.d.ts +2 -2
- package/dist/ui/accordion.d.ts.map +1 -1
- package/dist/ui/accordion.js +23 -23
- package/dist/ui/accordion.js.map +1 -1
- package/dist/ui/alert-dialog.d.ts +2 -2
- package/dist/ui/alert-dialog.d.ts.map +1 -1
- package/dist/ui/alert-dialog.js +37 -37
- package/dist/ui/alert-dialog.js.map +1 -1
- package/dist/ui/alert.d.ts.map +1 -1
- package/dist/ui/alert.js +36 -36
- package/dist/ui/alert.js.map +1 -1
- package/dist/ui/aspect-ratio.d.ts +1 -1
- package/dist/ui/aspect-ratio.d.ts.map +1 -1
- package/dist/ui/aspect-ratio.js.map +1 -1
- package/dist/ui/autocomplete.d.ts +1 -1
- package/dist/ui/autocomplete.d.ts.map +1 -1
- package/dist/ui/autocomplete.js +27 -27
- package/dist/ui/autocomplete.js.map +1 -1
- package/dist/ui/avatar.d.ts +2 -2
- package/dist/ui/avatar.d.ts.map +1 -1
- package/dist/ui/avatar.js +41 -41
- package/dist/ui/avatar.js.map +1 -1
- package/dist/ui/badge-group.d.ts.map +1 -1
- package/dist/ui/badge-indicator.d.ts.map +1 -1
- package/dist/ui/badge-indicator.js +10 -10
- package/dist/ui/badge-indicator.js.map +1 -1
- package/dist/ui/badge.d.ts +2 -2
- package/dist/ui/badge.d.ts.map +1 -1
- package/dist/ui/banner.d.ts.map +1 -1
- package/dist/ui/banner.js +28 -28
- package/dist/ui/banner.js.map +1 -1
- package/dist/ui/breadcrumb.d.ts +1 -1
- package/dist/ui/breadcrumb.d.ts.map +1 -1
- package/dist/ui/breadcrumb.js.map +1 -1
- package/dist/ui/button-group.d.ts.map +1 -1
- package/dist/ui/button-group.js.map +1 -1
- package/dist/ui/button-processing.d.ts.map +1 -1
- package/dist/ui/button-processing.js +15 -15
- package/dist/ui/button-processing.js.map +1 -1
- package/dist/ui/button.d.ts.map +1 -1
- package/dist/ui/button.js +84 -84
- package/dist/ui/button.js.map +1 -1
- package/dist/ui/card.d.ts +1 -1
- package/dist/ui/card.d.ts.map +1 -1
- package/dist/ui/card.js +28 -28
- package/dist/ui/card.js.map +1 -1
- package/dist/ui/charts/_internal/axes.d.ts +1 -1
- package/dist/ui/charts/_internal/axes.d.ts.map +1 -1
- package/dist/ui/charts/_internal/grid-lines.d.ts.map +1 -1
- package/dist/ui/charts/_internal/legend.d.ts.map +1 -1
- package/dist/ui/charts/_internal/tooltip.d.ts +1 -1
- package/dist/ui/charts/_internal/tooltip.d.ts.map +1 -1
- package/dist/ui/charts/area-chart.d.ts.map +1 -1
- package/dist/ui/charts/bar-chart.d.ts +1 -1
- package/dist/ui/charts/bar-chart.d.ts.map +1 -1
- package/dist/ui/charts/chart-container.d.ts.map +1 -1
- package/dist/ui/charts/gauge-chart.d.ts.map +1 -1
- package/dist/ui/charts/index.d.ts +5 -5
- package/dist/ui/charts/index.d.ts.map +1 -1
- package/dist/ui/charts/index.js +616 -616
- package/dist/ui/charts/index.js.map +1 -1
- package/dist/ui/charts/line-chart.d.ts.map +1 -1
- package/dist/ui/charts/pie-chart.d.ts.map +1 -1
- package/dist/ui/charts/radar-chart.d.ts.map +1 -1
- package/dist/ui/charts/sparkline.d.ts.map +1 -1
- package/dist/ui/chat/date-separator.d.ts.map +1 -1
- package/dist/ui/chat/index.d.ts +4 -4
- package/dist/ui/chat/index.d.ts.map +1 -1
- package/dist/ui/chat/index.js +1 -1
- package/dist/ui/chat/message-input.d.ts.map +1 -1
- package/dist/ui/chat/message-list.d.ts.map +1 -1
- package/dist/ui/chat/message.d.ts +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/chat/typing-indicator.d.ts.map +1 -1
- package/dist/ui/chat/unread-separator.d.ts.map +1 -1
- package/dist/ui/checkbox.d.ts.map +1 -1
- package/dist/ui/checkbox.js +18 -18
- package/dist/ui/checkbox.js.map +1 -1
- package/dist/ui/code.d.ts.map +1 -1
- package/dist/ui/code.js.map +1 -1
- package/dist/ui/collapsible.d.ts +2 -2
- package/dist/ui/collapsible.d.ts.map +1 -1
- package/dist/ui/collapsible.js +10 -10
- package/dist/ui/collapsible.js.map +1 -1
- package/dist/ui/color-input.d.ts.map +1 -1
- package/dist/ui/color-input.js +85 -85
- package/dist/ui/color-input.js.map +1 -1
- package/dist/ui/color-swatch.d.ts.map +1 -1
- package/dist/ui/color-swatch.js.map +1 -1
- package/dist/ui/combobox.d.ts.map +1 -1
- package/dist/ui/combobox.js +58 -58
- package/dist/ui/combobox.js.map +1 -1
- package/dist/ui/container.d.ts.map +1 -1
- package/dist/ui/container.js.map +1 -1
- package/dist/ui/context-menu.d.ts +2 -2
- package/dist/ui/context-menu.d.ts.map +1 -1
- package/dist/ui/context-menu.js +47 -47
- package/dist/ui/context-menu.js.map +1 -1
- package/dist/ui/data-table-body.d.ts +1 -1
- package/dist/ui/data-table-body.d.ts.map +1 -1
- package/dist/ui/data-table-body.js +43 -43
- package/dist/ui/data-table-body.js.map +1 -1
- package/dist/ui/data-table-bulk-actions.js.map +1 -1
- package/dist/ui/data-table-card.d.ts.map +1 -1
- package/dist/ui/data-table-card.js +7 -7
- package/dist/ui/data-table-card.js.map +1 -1
- package/dist/ui/data-table-context.d.ts +1 -1
- package/dist/ui/data-table-context.d.ts.map +1 -1
- package/dist/ui/data-table-context.js.map +1 -1
- package/dist/ui/data-table-header.js +38 -38
- package/dist/ui/data-table-header.js.map +1 -1
- package/dist/ui/data-table-pagination.js.map +1 -1
- package/dist/ui/data-table-toolbar.d.ts.map +1 -1
- package/dist/ui/data-table-toolbar.js.map +1 -1
- package/dist/ui/data-table.d.ts +2 -2
- package/dist/ui/data-table.d.ts.map +1 -1
- package/dist/ui/data-table.js +5 -5
- package/dist/ui/data-table.js.map +1 -1
- package/dist/ui/devalok-grain.js +8 -8
- package/dist/ui/devalok-grain.js.map +1 -1
- package/dist/ui/dialog.d.ts +2 -2
- package/dist/ui/dialog.d.ts.map +1 -1
- package/dist/ui/dialog.js +41 -41
- package/dist/ui/dialog.js.map +1 -1
- package/dist/ui/dropdown-menu.d.ts +2 -2
- package/dist/ui/dropdown-menu.d.ts.map +1 -1
- package/dist/ui/dropdown-menu.js +46 -46
- package/dist/ui/dropdown-menu.js.map +1 -1
- package/dist/ui/file-upload.d.ts.map +1 -1
- package/dist/ui/file-upload.js +54 -54
- package/dist/ui/file-upload.js.map +1 -1
- package/dist/ui/form.d.ts.map +1 -1
- package/dist/ui/form.js +17 -17
- package/dist/ui/form.js.map +1 -1
- package/dist/ui/hover-card.d.ts +2 -2
- package/dist/ui/hover-card.d.ts.map +1 -1
- package/dist/ui/hover-card.js +19 -19
- package/dist/ui/hover-card.js.map +1 -1
- package/dist/ui/icon-button.d.ts.map +1 -1
- package/dist/ui/icon-button.js.map +1 -1
- package/dist/ui/icon-group.d.ts.map +1 -1
- package/dist/ui/icon-group.js +4 -4
- package/dist/ui/icon-group.js.map +1 -1
- package/dist/ui/icon.d.ts.map +1 -1
- package/dist/ui/icon.js +32 -32
- package/dist/ui/icon.js.map +1 -1
- package/dist/ui/index.d.ts +57 -57
- package/dist/ui/index.d.ts.map +1 -1
- package/dist/ui/index.js +27 -27
- package/dist/ui/index.js.map +1 -1
- package/dist/ui/input-otp.d.ts +1 -1
- package/dist/ui/input-otp.d.ts.map +1 -1
- package/dist/ui/input-otp.js.map +1 -1
- package/dist/ui/input.d.ts.map +1 -1
- package/dist/ui/input.js +14 -14
- package/dist/ui/input.js.map +1 -1
- package/dist/ui/label.d.ts +1 -1
- package/dist/ui/label.d.ts.map +1 -1
- package/dist/ui/label.js.map +1 -1
- package/dist/ui/lib/bottom-sheet.d.ts.map +1 -1
- package/dist/ui/lib/index.d.ts +4 -4
- package/dist/ui/lib/index.d.ts.map +1 -1
- package/dist/ui/lib/slot.d.ts +1 -1
- package/dist/ui/lib/slot.d.ts.map +1 -1
- package/dist/ui/lib/utils.d.ts.map +1 -1
- package/dist/ui/lib/utils.js.map +1 -1
- package/dist/ui/link.d.ts.map +1 -1
- package/dist/ui/link.js.map +1 -1
- package/dist/ui/menubar.d.ts +2 -2
- package/dist/ui/menubar.d.ts.map +1 -1
- package/dist/ui/menubar.js +64 -64
- package/dist/ui/menubar.js.map +1 -1
- package/dist/ui/navigation-menu.d.ts +2 -2
- package/dist/ui/navigation-menu.d.ts.map +1 -1
- package/dist/ui/navigation-menu.js +72 -72
- package/dist/ui/navigation-menu.js.map +1 -1
- package/dist/ui/number-input.d.ts.map +1 -1
- package/dist/ui/number-input.js.map +1 -1
- package/dist/ui/pagination.d.ts +1 -1
- package/dist/ui/pagination.d.ts.map +1 -1
- package/dist/ui/pagination.js.map +1 -1
- package/dist/ui/popover.d.ts +2 -2
- package/dist/ui/popover.d.ts.map +1 -1
- package/dist/ui/progress-ring.d.ts +1 -1
- package/dist/ui/progress-ring.d.ts.map +1 -1
- package/dist/ui/progress-ring.js +33 -33
- package/dist/ui/progress-ring.js.map +1 -1
- package/dist/ui/progress.d.ts +2 -2
- package/dist/ui/progress.d.ts.map +1 -1
- package/dist/ui/progress.js +23 -23
- package/dist/ui/progress.js.map +1 -1
- package/dist/ui/radio.d.ts.map +1 -1
- package/dist/ui/radio.js +19 -19
- package/dist/ui/radio.js.map +1 -1
- package/dist/ui/search-input.d.ts.map +1 -1
- package/dist/ui/search-input.js +17 -17
- package/dist/ui/search-input.js.map +1 -1
- package/dist/ui/segmented-control.d.ts.map +1 -1
- package/dist/ui/segmented-control.js +18 -18
- package/dist/ui/segmented-control.js.map +1 -1
- package/dist/ui/select.d.ts +2 -2
- package/dist/ui/select.d.ts.map +1 -1
- package/dist/ui/select.js +68 -68
- package/dist/ui/select.js.map +1 -1
- package/dist/ui/separator.d.ts +1 -1
- package/dist/ui/separator.d.ts.map +1 -1
- package/dist/ui/separator.js.map +1 -1
- package/dist/ui/sheet.d.ts +2 -2
- package/dist/ui/sheet.d.ts.map +1 -1
- package/dist/ui/sheet.js +44 -44
- package/dist/ui/sheet.js.map +1 -1
- package/dist/ui/sidebar.d.ts +1 -1
- package/dist/ui/sidebar.d.ts.map +1 -1
- package/dist/ui/sidebar.js +155 -155
- package/dist/ui/sidebar.js.map +1 -1
- package/dist/ui/skeleton.d.ts +1 -1
- package/dist/ui/skeleton.d.ts.map +1 -1
- package/dist/ui/skeleton.js +2 -2
- package/dist/ui/skeleton.js.map +1 -1
- package/dist/ui/slider.d.ts +2 -2
- package/dist/ui/slider.d.ts.map +1 -1
- package/dist/ui/slider.js +5 -5
- package/dist/ui/slider.js.map +1 -1
- package/dist/ui/spinner.d.ts.map +1 -1
- package/dist/ui/spinner.js +21 -21
- package/dist/ui/spinner.js.map +1 -1
- package/dist/ui/split-button.d.ts +1 -1
- package/dist/ui/split-button.d.ts.map +1 -1
- package/dist/ui/split-button.js +28 -28
- package/dist/ui/split-button.js.map +1 -1
- package/dist/ui/stack.d.ts +1 -1
- package/dist/ui/stack.d.ts.map +1 -1
- package/dist/ui/stack.js.map +1 -1
- package/dist/ui/stat-card.d.ts.map +1 -1
- package/dist/ui/stat-card.js +73 -73
- package/dist/ui/stat-card.js.map +1 -1
- package/dist/ui/status-dot.d.ts.map +1 -1
- package/dist/ui/status-dot.js.map +1 -1
- package/dist/ui/stepper.d.ts +1 -1
- package/dist/ui/stepper.d.ts.map +1 -1
- package/dist/ui/stepper.js +48 -48
- package/dist/ui/stepper.js.map +1 -1
- package/dist/ui/switch.d.ts +1 -1
- package/dist/ui/switch.d.ts.map +1 -1
- package/dist/ui/switch.js +15 -15
- package/dist/ui/switch.js.map +1 -1
- package/dist/ui/table.d.ts +1 -1
- package/dist/ui/table.d.ts.map +1 -1
- package/dist/ui/table.js.map +1 -1
- package/dist/ui/tabs.d.ts +2 -2
- package/dist/ui/tabs.d.ts.map +1 -1
- package/dist/ui/tabs.js +52 -52
- package/dist/ui/tabs.js.map +1 -1
- package/dist/ui/text.d.ts +1 -1
- package/dist/ui/text.d.ts.map +1 -1
- package/dist/ui/text.js.map +1 -1
- package/dist/ui/textarea.d.ts.map +1 -1
- package/dist/ui/textarea.js +13 -13
- package/dist/ui/textarea.js.map +1 -1
- package/dist/ui/toast-registry.js.map +1 -1
- package/dist/ui/toast.d.ts +3 -3
- package/dist/ui/toast.d.ts.map +1 -1
- package/dist/ui/toast.js +164 -164
- package/dist/ui/toast.js.map +1 -1
- package/dist/ui/toaster.d.ts.map +1 -1
- package/dist/ui/toaster.js +6 -6
- package/dist/ui/toaster.js.map +1 -1
- package/dist/ui/toggle-group.d.ts +1 -1
- package/dist/ui/toggle-group.d.ts.map +1 -1
- package/dist/ui/toggle-group.js.map +1 -1
- package/dist/ui/toggle.d.ts +1 -1
- package/dist/ui/toggle.d.ts.map +1 -1
- package/dist/ui/toggle.js +14 -14
- package/dist/ui/toggle.js.map +1 -1
- package/dist/ui/tooltip.d.ts +2 -2
- package/dist/ui/tooltip.d.ts.map +1 -1
- package/dist/ui/tooltip.js +26 -26
- package/dist/ui/tooltip.js.map +1 -1
- package/dist/ui/tree-view/index.d.ts +2 -2
- package/dist/ui/tree-view/index.d.ts.map +1 -1
- package/dist/ui/tree-view/index.js +1 -1
- package/dist/ui/tree-view/tree-view.d.ts +1 -1
- package/dist/ui/tree-view/tree-view.d.ts.map +1 -1
- package/dist/ui/visually-hidden.d.ts.map +1 -1
- package/dist/ui/visually-hidden.js.map +1 -1
- package/docs/components/_header.md +96 -0
- package/docs/rollback.md +179 -0
- package/llms-full.txt +97 -1
- package/llms.txt +24 -2
- package/package.json +302 -277
- package/dist/_chunks/framer.js +0 -5604
- package/dist/_chunks/framer.js.map +0 -1
- package/dist/_chunks/rolldown-runtime.js +0 -21
- package/dist/_chunks/sonner.js +0 -616
- package/dist/_chunks/sonner.js.map +0 -1
- package/dist/_chunks/stat-row.js +0 -432
- package/dist/_chunks/stat-row.js.map +0 -1
|
@@ -6,6 +6,102 @@
|
|
|
6
6
|
>
|
|
7
7
|
> Package: @devalok/shilp-sutra
|
|
8
8
|
> Version: {{VERSION}}
|
|
9
|
+
>
|
|
10
|
+
> **If you are an AI agent reading this file top-to-bottom:** the Setup
|
|
11
|
+
> section below is authoritative. If any later per-component doc or a
|
|
12
|
+
> pre-0.37 history entry shows `tailwind.config.ts` / `presets: [shilpSutra]`
|
|
13
|
+
> / `@config`, that is HISTORICAL and does NOT apply on 0.37+.
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## Setup (0.37.0+ — Tailwind 4 CSS-first)
|
|
18
|
+
|
|
19
|
+
**The only supported setup** is TW4 CSS-first. No JS preset, no `tailwind.config.ts` required from us.
|
|
20
|
+
|
|
21
|
+
```sh
|
|
22
|
+
pnpm add @devalok/shilp-sutra@next framer-motion
|
|
23
|
+
# Only if you render <Toaster />:
|
|
24
|
+
pnpm add sonner
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
```css
|
|
28
|
+
/* app/globals.css */
|
|
29
|
+
@import "tailwindcss";
|
|
30
|
+
@import "@devalok/shilp-sutra/css";
|
|
31
|
+
|
|
32
|
+
/* Your own extensions go in the same file */
|
|
33
|
+
@plugin "@tailwindcss/typography";
|
|
34
|
+
@source "./app/**/*.{ts,tsx}";
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
```ts
|
|
38
|
+
// next.config.ts
|
|
39
|
+
transpilePackages: ['@devalok/shilp-sutra', '@devalok/shilp-sutra-brand'],
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
**Do NOT** import `@devalok/shilp-sutra/tailwind` in a `tailwind.config.ts`. That export is a deprecated no-op stub and logs a dev-mode `console.warn`. It is scheduled for removal in 0.38.
|
|
43
|
+
|
|
44
|
+
### Peer dependencies (0.37.0)
|
|
45
|
+
|
|
46
|
+
| Package | Role | Install when |
|
|
47
|
+
|---|---|---|
|
|
48
|
+
| `react`, `react-dom` | required peer | always |
|
|
49
|
+
| `tailwindcss ^4.0.0` | required peer | always |
|
|
50
|
+
| `framer-motion ^12.0.0` | required peer | always — module-scoped motion contexts must be single-copy |
|
|
51
|
+
| `sonner ^2.0.0` | optional peer | only if you render `<Toaster />` or call `toast()` |
|
|
52
|
+
| `@tabler/icons-react` | optional peer | if you use `Icon` / icon-bearing components |
|
|
53
|
+
| `@tanstack/react-table`, `@tanstack/react-virtual` | optional peer | if you use `DataTable` |
|
|
54
|
+
| `@tiptap/*` | optional peer | if you use `RichTextEditor` or `RichChatInput` |
|
|
55
|
+
| `react-pdf`, `react-zoom-pan-pinch` | optional peer | if you use `FilePreview` |
|
|
56
|
+
| `react-markdown`, `remark-gfm` | optional peer | if you use `MarkdownViewer` |
|
|
57
|
+
| `date-fns` | optional peer | if you use `DatePicker` / `ScheduleView` |
|
|
58
|
+
| `input-otp` | optional peer | if you use `InputOTP` |
|
|
59
|
+
|
|
60
|
+
### Token namespaces exposed by our `/css` import
|
|
61
|
+
|
|
62
|
+
| TW4 namespace | Generates utilities like | Our tokens |
|
|
63
|
+
|---|---|---|
|
|
64
|
+
| `--color-*` | `bg-*`, `text-*`, `border-*`, `ring-*` | accent-1..12, secondary-1..12, surface-*, error-*, success-*, warning-*, info-*, category-*, link-* |
|
|
65
|
+
| `--spacing-ds-*` | `p-ds-03`, `m-ds-04`, `gap-ds-05`, `w-ds-md`, `h-ds-lg` | ds-namespaced to avoid collision with consumer numeric `p-4` etc. |
|
|
66
|
+
| `--text-ds-*` | `text-ds-md`, `text-ds-lg` | ds-namespaced; consumer `text-lg` still works |
|
|
67
|
+
| `--leading-ds-*` | `leading-ds-tight`, `leading-ds-normal` | ds-namespaced |
|
|
68
|
+
| `--tracking-*` | `tracking-tight`, `tracking-normal` | standard TW namespace |
|
|
69
|
+
| `--font-*`, `--font-weight-*` | `font-sans`, `font-semibold` | standard TW namespace |
|
|
70
|
+
| `--radius`, `--radius-ds-*` | `rounded` (bare), `rounded-ds-lg` | unprefixed + ds-namespaced |
|
|
71
|
+
| `--shadow-*` | `shadow-raised`, `shadow-overlay` | semantic names only; bare `shadow` is NOT generated (TW4 has no default scale and we don't define `--shadow`) |
|
|
72
|
+
| `--ease-*` | `ease-productive-standard` | semantic names |
|
|
73
|
+
| `--breakpoint-*` | `md:`, `lg:` | standard TW namespace |
|
|
74
|
+
| `--animate-*` | `animate-skeleton-shimmer`, `animate-processing-ants-*` | named animations |
|
|
75
|
+
|
|
76
|
+
### Utilities declared via `@utility` (not token-driven)
|
|
77
|
+
|
|
78
|
+
TW4 has no `--z-*` or `--duration-*` auto-namespace, so these are explicit:
|
|
79
|
+
|
|
80
|
+
- **Z-layer:** `z-base`, `z-raised`, `z-dropdown`, `z-sticky`, `z-overlay`, `z-modal`, `z-popover`, `z-toast`, `z-tooltip`
|
|
81
|
+
- **Named durations:** `duration-instant`, `duration-fast-01`, `duration-fast-02`, `duration-moderate-01`, `duration-moderate-01b`, `duration-moderate-02`, `duration-slow-01`, `duration-slow-02`
|
|
82
|
+
- **Typography composites:** `text-heading-{2xl|xl|lg|md|sm|xs}`, `text-body-{lg|md|sm|xs}`, `text-label-{lg|md|sm|xs}`, `text-label-plain-{lg|md|sm}`, `text-caption`, `text-overline`, `text-code`
|
|
83
|
+
- **Focus rings:** `focus-ring`, `focus-ring-inset`, `focus-ring-sm`
|
|
84
|
+
- **Touch target:** `touch-target` (44×44 WCAG hit area via `::before`)
|
|
85
|
+
- **Safe-area insets:** `pt-safe`, `pb-safe`, `pl-safe`, `pr-safe`, `p-safe`
|
|
86
|
+
- **Number formatting:** `tabular-nums`
|
|
87
|
+
|
|
88
|
+
### Dark mode
|
|
89
|
+
|
|
90
|
+
`.dark` class-based. The `@custom-variant dark (&:where(.dark *))` declaration means `dark:` utilities apply to **descendants** of `.dark`, not the element itself. Put `.dark` on `<html>` (standard pattern for `next-themes`) or `<body>`.
|
|
91
|
+
|
|
92
|
+
### Dead in TW4 — do NOT generate these
|
|
93
|
+
|
|
94
|
+
| Dead pattern | Replacement |
|
|
95
|
+
|---|---|
|
|
96
|
+
| `w-[--var]` | `w-(--var)` |
|
|
97
|
+
| `theme(spacing.N)` inside arbitrary values | literal value |
|
|
98
|
+
| `bg-gradient-to-*` | `bg-linear-to-*` |
|
|
99
|
+
| bare `shadow` | `shadow-sm`, `shadow-raised`, etc. |
|
|
100
|
+
| `outline-none` | `outline-hidden` |
|
|
101
|
+
| `rounded-sm` | `rounded-xs` |
|
|
102
|
+
| `!prefix` | `suffix!` |
|
|
103
|
+
|
|
104
|
+
See `MIGRATION.md#v0370--tailwind-4-css-first-migration` (root of this package).
|
|
9
105
|
|
|
10
106
|
---
|
|
11
107
|
|
package/docs/rollback.md
ADDED
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
# Release Rollback Playbook
|
|
2
|
+
|
|
3
|
+
Every scenario below is a copy-pasteable command sequence. No prose to interpret under pressure.
|
|
4
|
+
|
|
5
|
+
Rule of thumb when something ships broken:
|
|
6
|
+
1. **First, flip `latest` back.** That stops new installs from pulling the bad version.
|
|
7
|
+
2. **Then, deprecate.** That warns consumers who already installed.
|
|
8
|
+
3. **Then (within 72h only), unpublish** if the bad version is actively harmful and no consumer should keep it.
|
|
9
|
+
4. **Then, patch.** Cut a fix release ASAP.
|
|
10
|
+
|
|
11
|
+
Do these steps in order. Don't skip step 1 — `npm deprecate` alone does NOT remove the bad version from `latest`; new installs keep getting it.
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## Scenario 1: 0.37.0 just published, it's catastrophic (bricks consumer builds)
|
|
16
|
+
|
|
17
|
+
```sh
|
|
18
|
+
# 1. Demote 0.37.0 from @latest. New pnpm/npm installs will resolve to 0.36.1 again.
|
|
19
|
+
npm dist-tag add @devalok/shilp-sutra@0.36.1 latest
|
|
20
|
+
|
|
21
|
+
# 2. Deprecate 0.37.0 so consumers who already installed see a warning.
|
|
22
|
+
npm deprecate @devalok/shilp-sutra@0.37.0 \
|
|
23
|
+
"Critical issue — downgrade to 0.36.1 or await 0.37.1. See https://github.com/devalok-design/shilp-sutra/issues"
|
|
24
|
+
|
|
25
|
+
# 3. Verify the flip took effect.
|
|
26
|
+
npm view @devalok/shilp-sutra dist-tags
|
|
27
|
+
# Should show: { latest: '0.36.1', 'latest-0.36': '0.36.1', next: '0.37.0-...' }
|
|
28
|
+
|
|
29
|
+
# 4. Unpublish ONLY if actively harmful. Available for 72h after publish.
|
|
30
|
+
# This permanently removes the version from the registry. Cannot be re-published
|
|
31
|
+
# at the same version number — you'd have to go to 0.37.0-hotfix.0 or 0.37.1.
|
|
32
|
+
# npm unpublish @devalok/shilp-sutra@0.37.0
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
Post-rollback: cut a 0.37.1 fix on a branch, repeat RC flow (see MIGRATION.md §RC).
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## Scenario 2: RC (0.37.0-next.N) is broken, stable 0.37.0 not yet published
|
|
40
|
+
|
|
41
|
+
```sh
|
|
42
|
+
# No action on @latest — it still points to 0.36.1.
|
|
43
|
+
# Just deprecate the bad RC and publish a new one.
|
|
44
|
+
|
|
45
|
+
npm deprecate @devalok/shilp-sutra@0.37.0-next.0 \
|
|
46
|
+
"Superseded. Use @next for the current prerelease."
|
|
47
|
+
|
|
48
|
+
# Then commit fix + let the Release workflow auto-publish 0.37.0-next.1.
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
## Scenario 3: Consumer is blocked post-0.37.0 publish but bug is small
|
|
54
|
+
|
|
55
|
+
Don't rollback. Cut 0.37.1 as a fast patch on the 0.37 branch.
|
|
56
|
+
|
|
57
|
+
```sh
|
|
58
|
+
# On your migration branch or fresh branch from 0.37.0 commit:
|
|
59
|
+
pnpm changeset # bump patch
|
|
60
|
+
# commit + push + PR + merge
|
|
61
|
+
# Release workflow auto-publishes 0.37.1 to @latest within ~15 min
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
Advise the affected consumer to wait for 0.37.1 (usually faster than their rollback).
|
|
65
|
+
|
|
66
|
+
---
|
|
67
|
+
|
|
68
|
+
## Scenario 4: Compromised NPM_TOKEN, may have published tainted versions
|
|
69
|
+
|
|
70
|
+
```sh
|
|
71
|
+
# 1. IMMEDIATELY rotate the token.
|
|
72
|
+
# a. Revoke old token on npmjs.com
|
|
73
|
+
# b. Generate new Automation token (Classic, bypass 2FA)
|
|
74
|
+
# c. gh secret set NPM_TOKEN --repo devalok-design/shilp-sutra
|
|
75
|
+
# (paste new token when prompted)
|
|
76
|
+
|
|
77
|
+
# 2. Audit the last N publishes.
|
|
78
|
+
npm audit signatures @devalok/shilp-sutra
|
|
79
|
+
|
|
80
|
+
# 3. Any version published under the old token that you cannot vouch for:
|
|
81
|
+
npm unpublish @devalok/shilp-sutra@<tainted-version> # within 72h
|
|
82
|
+
npm deprecate @devalok/shilp-sutra@<tainted-version> "Compromised token — re-pull from <clean-version>"
|
|
83
|
+
|
|
84
|
+
# 4. Re-publish the same content from a known-good commit under the new token.
|
|
85
|
+
|
|
86
|
+
# 5. Migrate to OIDC trusted publishing so you don't have a long-lived token
|
|
87
|
+
# at risk again. See docs/plans/2026-04-19-tw4-native-migration-0.37.md §−1d.
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
## Scenario 5: Needed to pin a consumer to an older stable while debugging
|
|
93
|
+
|
|
94
|
+
Consumer can pin via the `latest-0.36` dist-tag instead of hardcoding a version number:
|
|
95
|
+
|
|
96
|
+
```sh
|
|
97
|
+
# In the consumer repo:
|
|
98
|
+
pnpm add @devalok/shilp-sutra@latest-0.36
|
|
99
|
+
# Resolves to whatever we've tagged as latest-0.36 (currently 0.36.1)
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
Confirm the tag exists:
|
|
103
|
+
```sh
|
|
104
|
+
npm view @devalok/shilp-sutra dist-tags
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
Maintainer tip: any time we publish a new 0.36.x patch, also bump `latest-0.36` to point at it:
|
|
108
|
+
```sh
|
|
109
|
+
npm dist-tag add @devalok/shilp-sutra@0.36.2 latest-0.36
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
---
|
|
113
|
+
|
|
114
|
+
## Scenario 6: Accidentally published 0.37.0-next.N to @latest instead of @next
|
|
115
|
+
|
|
116
|
+
(Common Changesets mistake — `pre exit` was forgotten, or someone manually ran `pnpm publish` without `--tag`.)
|
|
117
|
+
|
|
118
|
+
```sh
|
|
119
|
+
# 1. Flip latest back.
|
|
120
|
+
npm dist-tag add @devalok/shilp-sutra@0.36.1 latest
|
|
121
|
+
|
|
122
|
+
# 2. Re-tag the prerelease correctly.
|
|
123
|
+
npm dist-tag add @devalok/shilp-sutra@0.37.0-next.N next
|
|
124
|
+
|
|
125
|
+
# 3. Verify.
|
|
126
|
+
npm view @devalok/shilp-sutra dist-tags
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
No deprecate or unpublish needed — the version is valid, it was just mis-tagged.
|
|
130
|
+
|
|
131
|
+
---
|
|
132
|
+
|
|
133
|
+
## Reference: npm command semantics
|
|
134
|
+
|
|
135
|
+
| Command | What it does | When to use |
|
|
136
|
+
|---|---|---|
|
|
137
|
+
| `npm dist-tag add <pkg>@<version> <tag>` | Points `<tag>` at `<version>`. Moves the tag if it already exists. | Flipping `latest`. Setting `latest-0.36`. Moving `next`. |
|
|
138
|
+
| `npm deprecate <pkg>@<spec> <msg>` | Adds install-time warning. **Does NOT remove the version.** New `@latest` installs still pull it unless the dist-tag is also flipped. | Warning consumers about a bad version. |
|
|
139
|
+
| `npm unpublish <pkg>@<version>` | Permanently removes the version from the registry. Allowed **only within 72h of publish**. Cannot re-publish the same version number. | Actively harmful versions. |
|
|
140
|
+
| `npm unpublish <pkg>` | Unpublishes the entire package. Almost never what you want. | Accidentally published a typosquat. |
|
|
141
|
+
| `npm audit signatures` | Verifies signatures of published versions. Useful post-token-compromise. | Suspected supply-chain incident. |
|
|
142
|
+
|
|
143
|
+
## What dist-tags are currently set
|
|
144
|
+
|
|
145
|
+
Run `npm view @devalok/shilp-sutra dist-tags` to see the live state. The list we maintain:
|
|
146
|
+
|
|
147
|
+
- `latest` — current stable.
|
|
148
|
+
- `latest-0.36` — pinned to the highest 0.36.x for consumers who can't yet migrate to 0.37.
|
|
149
|
+
- `next` — current prerelease (e.g., `0.37.0-next.N`).
|
|
150
|
+
|
|
151
|
+
If any of those show `undefined` or an unexpected version, treat it as an incident and escalate.
|
|
152
|
+
|
|
153
|
+
---
|
|
154
|
+
|
|
155
|
+
## Rollback drill — what, when, who
|
|
156
|
+
|
|
157
|
+
This playbook is only as good as its last rehearsal. Do a real drill BEFORE every breaking release (0.37.0, 0.38.0, 1.0.0, etc.) so the commands aren't first-run under pressure.
|
|
158
|
+
|
|
159
|
+
### Drill procedure (15 min)
|
|
160
|
+
|
|
161
|
+
1. Publish a throwaway RC under the `next` dist-tag:
|
|
162
|
+
```sh
|
|
163
|
+
# On a throwaway branch, cut a changeset patch bump to e.g. 0.37.0-next.999
|
|
164
|
+
pnpm changeset version
|
|
165
|
+
# Let the Release workflow publish it to @next
|
|
166
|
+
```
|
|
167
|
+
2. Verify: `npm view @devalok/shilp-sutra@0.37.0-next.999 version` returns `0.37.0-next.999`.
|
|
168
|
+
3. Walk Scenario 1 against this throwaway version — replace `0.37.0` with `0.37.0-next.999` and `0.36.1` with the current `@latest`:
|
|
169
|
+
```sh
|
|
170
|
+
npm dist-tag add @devalok/shilp-sutra@<current-latest> latest
|
|
171
|
+
npm deprecate @devalok/shilp-sutra@0.37.0-next.999 "Drill — not a real incident"
|
|
172
|
+
npm unpublish @devalok/shilp-sutra@0.37.0-next.999 # within 72h
|
|
173
|
+
```
|
|
174
|
+
4. Confirm `npm view @devalok/shilp-sutra dist-tags` shows the expected post-drill state.
|
|
175
|
+
5. Document any step where the command output surprised you, and update this file.
|
|
176
|
+
|
|
177
|
+
### When to skip
|
|
178
|
+
|
|
179
|
+
Never skip for breaking releases. Skippable for patches/minors of an already-drilled major, provided the drill is less than 6 months old.
|
package/llms-full.txt
CHANGED
|
@@ -5,7 +5,103 @@
|
|
|
5
5
|
> All variant values and props verified from source CVA definitions.
|
|
6
6
|
>
|
|
7
7
|
> Package: @devalok/shilp-sutra
|
|
8
|
-
> Version: 0.
|
|
8
|
+
> Version: 0.37.0-next.1
|
|
9
|
+
>
|
|
10
|
+
> **If you are an AI agent reading this file top-to-bottom:** the Setup
|
|
11
|
+
> section below is authoritative. If any later per-component doc or a
|
|
12
|
+
> pre-0.37 history entry shows `tailwind.config.ts` / `presets: [shilpSutra]`
|
|
13
|
+
> / `@config`, that is HISTORICAL and does NOT apply on 0.37+.
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## Setup (0.37.0+ — Tailwind 4 CSS-first)
|
|
18
|
+
|
|
19
|
+
**The only supported setup** is TW4 CSS-first. No JS preset, no `tailwind.config.ts` required from us.
|
|
20
|
+
|
|
21
|
+
```sh
|
|
22
|
+
pnpm add @devalok/shilp-sutra@next framer-motion
|
|
23
|
+
# Only if you render <Toaster />:
|
|
24
|
+
pnpm add sonner
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
```css
|
|
28
|
+
/* app/globals.css */
|
|
29
|
+
@import "tailwindcss";
|
|
30
|
+
@import "@devalok/shilp-sutra/css";
|
|
31
|
+
|
|
32
|
+
/* Your own extensions go in the same file */
|
|
33
|
+
@plugin "@tailwindcss/typography";
|
|
34
|
+
@source "./app/**/*.{ts,tsx}";
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
```ts
|
|
38
|
+
// next.config.ts
|
|
39
|
+
transpilePackages: ['@devalok/shilp-sutra', '@devalok/shilp-sutra-brand'],
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
**Do NOT** import `@devalok/shilp-sutra/tailwind` in a `tailwind.config.ts`. That export is a deprecated no-op stub and logs a dev-mode `console.warn`. It is scheduled for removal in 0.38.
|
|
43
|
+
|
|
44
|
+
### Peer dependencies (0.37.0)
|
|
45
|
+
|
|
46
|
+
| Package | Role | Install when |
|
|
47
|
+
|---|---|---|
|
|
48
|
+
| `react`, `react-dom` | required peer | always |
|
|
49
|
+
| `tailwindcss ^4.0.0` | required peer | always |
|
|
50
|
+
| `framer-motion ^12.0.0` | required peer | always — module-scoped motion contexts must be single-copy |
|
|
51
|
+
| `sonner ^2.0.0` | optional peer | only if you render `<Toaster />` or call `toast()` |
|
|
52
|
+
| `@tabler/icons-react` | optional peer | if you use `Icon` / icon-bearing components |
|
|
53
|
+
| `@tanstack/react-table`, `@tanstack/react-virtual` | optional peer | if you use `DataTable` |
|
|
54
|
+
| `@tiptap/*` | optional peer | if you use `RichTextEditor` or `RichChatInput` |
|
|
55
|
+
| `react-pdf`, `react-zoom-pan-pinch` | optional peer | if you use `FilePreview` |
|
|
56
|
+
| `react-markdown`, `remark-gfm` | optional peer | if you use `MarkdownViewer` |
|
|
57
|
+
| `date-fns` | optional peer | if you use `DatePicker` / `ScheduleView` |
|
|
58
|
+
| `input-otp` | optional peer | if you use `InputOTP` |
|
|
59
|
+
|
|
60
|
+
### Token namespaces exposed by our `/css` import
|
|
61
|
+
|
|
62
|
+
| TW4 namespace | Generates utilities like | Our tokens |
|
|
63
|
+
|---|---|---|
|
|
64
|
+
| `--color-*` | `bg-*`, `text-*`, `border-*`, `ring-*` | accent-1..12, secondary-1..12, surface-*, error-*, success-*, warning-*, info-*, category-*, link-* |
|
|
65
|
+
| `--spacing-ds-*` | `p-ds-03`, `m-ds-04`, `gap-ds-05`, `w-ds-md`, `h-ds-lg` | ds-namespaced to avoid collision with consumer numeric `p-4` etc. |
|
|
66
|
+
| `--text-ds-*` | `text-ds-md`, `text-ds-lg` | ds-namespaced; consumer `text-lg` still works |
|
|
67
|
+
| `--leading-ds-*` | `leading-ds-tight`, `leading-ds-normal` | ds-namespaced |
|
|
68
|
+
| `--tracking-*` | `tracking-tight`, `tracking-normal` | standard TW namespace |
|
|
69
|
+
| `--font-*`, `--font-weight-*` | `font-sans`, `font-semibold` | standard TW namespace |
|
|
70
|
+
| `--radius`, `--radius-ds-*` | `rounded` (bare), `rounded-ds-lg` | unprefixed + ds-namespaced |
|
|
71
|
+
| `--shadow-*` | `shadow-raised`, `shadow-overlay` | semantic names only; bare `shadow` is NOT generated (TW4 has no default scale and we don't define `--shadow`) |
|
|
72
|
+
| `--ease-*` | `ease-productive-standard` | semantic names |
|
|
73
|
+
| `--breakpoint-*` | `md:`, `lg:` | standard TW namespace |
|
|
74
|
+
| `--animate-*` | `animate-skeleton-shimmer`, `animate-processing-ants-*` | named animations |
|
|
75
|
+
|
|
76
|
+
### Utilities declared via `@utility` (not token-driven)
|
|
77
|
+
|
|
78
|
+
TW4 has no `--z-*` or `--duration-*` auto-namespace, so these are explicit:
|
|
79
|
+
|
|
80
|
+
- **Z-layer:** `z-base`, `z-raised`, `z-dropdown`, `z-sticky`, `z-overlay`, `z-modal`, `z-popover`, `z-toast`, `z-tooltip`
|
|
81
|
+
- **Named durations:** `duration-instant`, `duration-fast-01`, `duration-fast-02`, `duration-moderate-01`, `duration-moderate-01b`, `duration-moderate-02`, `duration-slow-01`, `duration-slow-02`
|
|
82
|
+
- **Typography composites:** `text-heading-{2xl|xl|lg|md|sm|xs}`, `text-body-{lg|md|sm|xs}`, `text-label-{lg|md|sm|xs}`, `text-label-plain-{lg|md|sm}`, `text-caption`, `text-overline`, `text-code`
|
|
83
|
+
- **Focus rings:** `focus-ring`, `focus-ring-inset`, `focus-ring-sm`
|
|
84
|
+
- **Touch target:** `touch-target` (44×44 WCAG hit area via `::before`)
|
|
85
|
+
- **Safe-area insets:** `pt-safe`, `pb-safe`, `pl-safe`, `pr-safe`, `p-safe`
|
|
86
|
+
- **Number formatting:** `tabular-nums`
|
|
87
|
+
|
|
88
|
+
### Dark mode
|
|
89
|
+
|
|
90
|
+
`.dark` class-based. The `@custom-variant dark (&:where(.dark *))` declaration means `dark:` utilities apply to **descendants** of `.dark`, not the element itself. Put `.dark` on `<html>` (standard pattern for `next-themes`) or `<body>`.
|
|
91
|
+
|
|
92
|
+
### Dead in TW4 — do NOT generate these
|
|
93
|
+
|
|
94
|
+
| Dead pattern | Replacement |
|
|
95
|
+
|---|---|
|
|
96
|
+
| `w-[--var]` | `w-(--var)` |
|
|
97
|
+
| `theme(spacing.N)` inside arbitrary values | literal value |
|
|
98
|
+
| `bg-gradient-to-*` | `bg-linear-to-*` |
|
|
99
|
+
| bare `shadow` | `shadow-sm`, `shadow-raised`, etc. |
|
|
100
|
+
| `outline-none` | `outline-hidden` |
|
|
101
|
+
| `rounded-sm` | `rounded-xs` |
|
|
102
|
+
| `!prefix` | `suffix!` |
|
|
103
|
+
|
|
104
|
+
See `MIGRATION.md#v0370--tailwind-4-css-first-migration` (root of this package).
|
|
9
105
|
|
|
10
106
|
---
|
|
11
107
|
|
package/llms.txt
CHANGED
|
@@ -1,9 +1,29 @@
|
|
|
1
1
|
# @devalok/shilp-sutra
|
|
2
2
|
|
|
3
|
-
> Radix UI + Tailwind CSS + CVA design system for Devalok apps.
|
|
3
|
+
> Radix UI + Tailwind 4 (CSS-first) + CVA design system for Devalok apps.
|
|
4
4
|
> Built on the same primitives as shadcn/ui but with key API differences.
|
|
5
5
|
> Read this file BEFORE writing any UI code. Do NOT guess from shadcn/ui knowledge.
|
|
6
6
|
|
|
7
|
+
## BREAKING CHANGES (v0.37.0 — Tailwind 4 CSS-first)
|
|
8
|
+
|
|
9
|
+
**Setup migration only — component APIs unchanged.** See `MIGRATION.md` at the root of this package (or https://github.com/devalok-design/shilp-sutra/blob/main/MIGRATION.md#v0370--tailwind-4-css-first-migration) for the full guide.
|
|
10
|
+
|
|
11
|
+
- **No more JS preset.** `tailwind.config.ts` with `presets: [shilpSutra]` is gone. Tokens ship as TW4 `@theme` CSS via a single CSS import. Consumer setup becomes:
|
|
12
|
+
```css
|
|
13
|
+
@import "tailwindcss";
|
|
14
|
+
@import "@devalok/shilp-sutra/css";
|
|
15
|
+
```
|
|
16
|
+
The old `./tailwind` export is a deprecated no-op stub; importing it logs a dev-mode `console.warn` and is scheduled for removal in 0.38.
|
|
17
|
+
- **framer-motion is now a required peer dep.** Previously bundled. Install: `pnpm add framer-motion`. Module-scoped React contexts (MotionConfig, LayoutGroup, AnimatePresence) must be single-copy — the peer declaration forces pnpm to dedupe against the consumer's version.
|
|
18
|
+
- **sonner is now an optional peer dep.** Install only if you render `<Toaster />`: `pnpm add sonner`.
|
|
19
|
+
- **tailwindcss peer tightened to `^4.0.0`.** No more `^3.4.0 || ^4.0.0`.
|
|
20
|
+
- **use-sync-external-store moved to our `dependencies`** (from optional peer). Auto-installed transitively.
|
|
21
|
+
- **Node engines floor dropped.** No `engines.node` declared — use any Node 18+.
|
|
22
|
+
- **New export `@devalok/shilp-sutra/css`** — primary consumer entry for TW4 setup.
|
|
23
|
+
- **Source class hygiene:** `w-[--var]` → `w-(--var)`, `theme(spacing.N)` → literal, `bg-gradient-to-*` → `bg-linear-to-*`, bare `shadow` → explicit like `shadow-raised`. Codemod your own code; grep: `grep -rn 'w-\[--\|bg-gradient-to-\|theme(spacing' src/`.
|
|
24
|
+
- **Tokens now expose TW4 namespaces.** Spacing is `--spacing-ds-*` (so `p-ds-03`, not `p-3`). Typography uses `--text-ds-*`, `--leading-ds-*`. Radius is unprefixed (`--radius`, `--radius-ds-*`). Z-layer utilities are custom-generated (`z-popover`, `z-dropdown`, etc.).
|
|
25
|
+
- **Dark mode variant:** `@custom-variant dark (&:where(.dark *))` — identical semantics to old `darkMode: 'class'`. `.dark` on `<html>` or `<body>` activates everything below.
|
|
26
|
+
|
|
7
27
|
## NEW (v0.36.0)
|
|
8
28
|
|
|
9
29
|
- **Forced-colors (Windows high-contrast) support.** Every semantic color token remaps to system keywords (`Canvas`, `CanvasText`, `Highlight`, `HighlightText`, `LinkText`, `GrayText`, `Mark`, `ButtonText`, `VisitedText`) under `@media (forced-colors: active)`. Focus ring forced via `outline: 2px solid Highlight`, interactive elements get visible borders, decorative grain + skeleton shimmer suppressed. Zero runtime impact when inactive.
|
|
@@ -46,7 +66,9 @@
|
|
|
46
66
|
- **Chart a11y:** Keyboard tooltip access on BarChart/LineChart. `ariaDescription` on ChartContainer.
|
|
47
67
|
- **Dev warnings:** Token-missing CSS detection + MotionProvider hint (dev mode only).
|
|
48
68
|
|
|
49
|
-
## BREAKING CHANGES (v0.33.x — Tailwind 4 + Toolchain)
|
|
69
|
+
## HISTORICAL: BREAKING CHANGES (v0.33.x — Tailwind 4 + Toolchain)
|
|
70
|
+
|
|
71
|
+
> **Note:** The v0.33 peer range `^3.4.0 || ^4.0.0` and `@config` directive requirement are superseded by v0.37 (TW4-only, CSS-first, no `@config`). Keep reading if you're upgrading from < 0.33; otherwise skip to v0.37 above.
|
|
50
72
|
|
|
51
73
|
- **Tailwind CSS 3 → 4:** `outline-none` → `outline-hidden`, `rounded-sm` → `rounded-xs`, `backdrop-blur-sm` → `backdrop-blur-xs`, `!prefix` → `suffix!` important syntax. Consumers using our preset: add `@import "tailwindcss"` + `@config` to your CSS, replace `darkMode: 'class'` with `@variant dark (&:is(.dark *))` in CSS. Peer dep accepts both `^3.4.0 || ^4.0.0`.
|
|
52
74
|
- **tailwind-merge 3.0 → 3.5:** Required for TW4 class recognition.
|