@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.
Files changed (531) hide show
  1. package/MIGRATION.md +346 -0
  2. package/README.md +26 -29
  3. package/dist/_chunks/badge-group.js +42 -42
  4. package/dist/_chunks/badge-group.js.map +1 -1
  5. package/dist/_chunks/chat.js +324 -327
  6. package/dist/_chunks/chat.js.map +1 -1
  7. package/dist/_chunks/date-picker.js +245 -245
  8. package/dist/_chunks/date-picker.js.map +1 -1
  9. package/dist/_chunks/document-preview.js +33 -33
  10. package/dist/_chunks/document-preview.js.map +1 -1
  11. package/dist/_chunks/file-preview.js +264 -264
  12. package/dist/_chunks/file-preview.js.map +1 -1
  13. package/dist/_chunks/image-preview.js +45 -45
  14. package/dist/_chunks/image-preview.js.map +1 -1
  15. package/dist/_chunks/mention-suggestion.js +85 -85
  16. package/dist/_chunks/mention-suggestion.js.map +1 -1
  17. package/dist/_chunks/motion-provider.js +13 -13
  18. package/dist/_chunks/motion-provider.js.map +1 -1
  19. package/dist/_chunks/popover.js +36 -36
  20. package/dist/_chunks/popover.js.map +1 -1
  21. package/dist/_chunks/primitives.js +489 -489
  22. package/dist/_chunks/primitives.js.map +1 -1
  23. package/dist/_chunks/rich-chat-input.js +1065 -1065
  24. package/dist/_chunks/rich-chat-input.js.map +1 -1
  25. package/dist/_chunks/shared.js +43 -43
  26. package/dist/_chunks/shared.js.map +1 -1
  27. package/dist/_chunks/text.js +432 -0
  28. package/dist/_chunks/text.js.map +1 -0
  29. package/dist/_chunks/tiptap.js +6053 -6187
  30. package/dist/_chunks/tiptap.js.map +1 -1
  31. package/dist/_chunks/tree-view.js +97 -97
  32. package/dist/_chunks/tree-view.js.map +1 -1
  33. package/dist/_chunks/use-calendar.js.map +1 -1
  34. package/dist/ai/ai-command-provider.d.ts.map +1 -1
  35. package/dist/ai/ai-command-provider.js.map +1 -1
  36. package/dist/ai/block-renderer.d.ts.map +1 -1
  37. package/dist/ai/block-renderer.js +43 -43
  38. package/dist/ai/block-renderer.js.map +1 -1
  39. package/dist/ai/blocks/block-table.d.ts.map +1 -1
  40. package/dist/ai/blocks/confirm.d.ts.map +1 -1
  41. package/dist/ai/blocks/divider.d.ts.map +1 -1
  42. package/dist/ai/blocks/error.d.ts.map +1 -1
  43. package/dist/ai/blocks/index.d.ts +5 -5
  44. package/dist/ai/blocks/index.d.ts.map +1 -1
  45. package/dist/ai/blocks/index.js +2 -2
  46. package/dist/ai/blocks/info.d.ts.map +1 -1
  47. package/dist/ai/blocks/loading.d.ts.map +1 -1
  48. package/dist/ai/blocks/stat-row.d.ts.map +1 -1
  49. package/dist/ai/blocks/success.d.ts.map +1 -1
  50. package/dist/ai/blocks/text.d.ts.map +1 -1
  51. package/dist/ai/command-bar.d.ts +0 -11
  52. package/dist/ai/command-bar.d.ts.map +1 -1
  53. package/dist/ai/command-bar.js +128 -128
  54. package/dist/ai/command-bar.js.map +1 -1
  55. package/dist/ai/conversation.d.ts +1 -1
  56. package/dist/ai/conversation.d.ts.map +1 -1
  57. package/dist/ai/conversation.js +76 -76
  58. package/dist/ai/conversation.js.map +1 -1
  59. package/dist/ai/devadoot-icon.d.ts +0 -12
  60. package/dist/ai/devadoot-icon.d.ts.map +1 -1
  61. package/dist/ai/index.d.ts +11 -11
  62. package/dist/ai/index.d.ts.map +1 -1
  63. package/dist/ai/index.js +44 -44
  64. package/dist/ai/index.js.map +1 -1
  65. package/dist/composed/activity-feed.d.ts.map +1 -1
  66. package/dist/composed/activity-feed.js +93 -93
  67. package/dist/composed/activity-feed.js.map +1 -1
  68. package/dist/composed/avatar-group.d.ts.map +1 -1
  69. package/dist/composed/avatar-group.js +50 -50
  70. package/dist/composed/avatar-group.js.map +1 -1
  71. package/dist/composed/bulk-action-bar.d.ts.map +1 -1
  72. package/dist/composed/bulk-action-bar.js +40 -40
  73. package/dist/composed/bulk-action-bar.js.map +1 -1
  74. package/dist/composed/command-palette.d.ts +0 -6
  75. package/dist/composed/command-palette.d.ts.map +1 -1
  76. package/dist/composed/command-palette.js +131 -131
  77. package/dist/composed/command-palette.js.map +1 -1
  78. package/dist/composed/confirm-dialog.d.ts.map +1 -1
  79. package/dist/composed/confirm-dialog.js.map +1 -1
  80. package/dist/composed/content-card.d.ts.map +1 -1
  81. package/dist/composed/content-card.js.map +1 -1
  82. package/dist/composed/date-picker/calendar-grid.d.ts.map +1 -1
  83. package/dist/composed/date-picker/date-picker.d.ts.map +1 -1
  84. package/dist/composed/date-picker/date-range-picker.d.ts.map +1 -1
  85. package/dist/composed/date-picker/date-time-picker.d.ts.map +1 -1
  86. package/dist/composed/date-picker/index.d.ts +11 -11
  87. package/dist/composed/date-picker/index.d.ts.map +1 -1
  88. package/dist/composed/date-picker/index.js +1 -1
  89. package/dist/composed/date-picker/month-picker.d.ts.map +1 -1
  90. package/dist/composed/date-picker/presets.d.ts.map +1 -1
  91. package/dist/composed/date-picker/time-picker.d.ts.map +1 -1
  92. package/dist/composed/date-picker/year-picker.d.ts.map +1 -1
  93. package/dist/composed/deadline-indicator.d.ts.map +1 -1
  94. package/dist/composed/deadline-indicator.js +25 -25
  95. package/dist/composed/deadline-indicator.js.map +1 -1
  96. package/dist/composed/emoji-picker.d.ts.map +1 -1
  97. package/dist/composed/emoji-picker.js +37 -37
  98. package/dist/composed/emoji-picker.js.map +1 -1
  99. package/dist/composed/empty-state.d.ts.map +1 -1
  100. package/dist/composed/empty-state.js +21 -21
  101. package/dist/composed/empty-state.js.map +1 -1
  102. package/dist/composed/error-boundary.d.ts +1 -1
  103. package/dist/composed/error-boundary.d.ts.map +1 -1
  104. package/dist/composed/error-boundary.js.map +1 -1
  105. package/dist/composed/extensions/emoji-node.d.ts.map +1 -1
  106. package/dist/composed/extensions/emoji-suggestion.d.ts.map +1 -1
  107. package/dist/composed/extensions/file-attachment.d.ts.map +1 -1
  108. package/dist/composed/extensions/mention-suggestion.d.ts +1 -1
  109. package/dist/composed/extensions/mention-suggestion.d.ts.map +1 -1
  110. package/dist/composed/extensions/slash-command.d.ts +1 -1
  111. package/dist/composed/extensions/slash-command.d.ts.map +1 -1
  112. package/dist/composed/file-preview/audio-preview.d.ts.map +1 -1
  113. package/dist/composed/file-preview/document-preview.d.ts.map +1 -1
  114. package/dist/composed/file-preview/embed-preview.d.ts.map +1 -1
  115. package/dist/composed/file-preview/image-preview.d.ts.map +1 -1
  116. package/dist/composed/file-preview/shared.d.ts.map +1 -1
  117. package/dist/composed/file-preview/video-preview.d.ts.map +1 -1
  118. package/dist/composed/file-preview.d.ts.map +1 -1
  119. package/dist/composed/filter-bar.d.ts +1 -1
  120. package/dist/composed/filter-bar.d.ts.map +1 -1
  121. package/dist/composed/filter-bar.js +54 -54
  122. package/dist/composed/filter-bar.js.map +1 -1
  123. package/dist/composed/form-section.d.ts.map +1 -1
  124. package/dist/composed/form-section.js +26 -26
  125. package/dist/composed/form-section.js.map +1 -1
  126. package/dist/composed/global-loading.d.ts.map +1 -1
  127. package/dist/composed/global-loading.js.map +1 -1
  128. package/dist/composed/index.d.ts +55 -55
  129. package/dist/composed/index.d.ts.map +1 -1
  130. package/dist/composed/index.js +17 -17
  131. package/dist/composed/inline-edit.d.ts.map +1 -1
  132. package/dist/composed/inline-edit.js.map +1 -1
  133. package/dist/composed/loading-skeleton.d.ts +1 -1
  134. package/dist/composed/loading-skeleton.d.ts.map +1 -1
  135. package/dist/composed/loading-skeleton.js.map +1 -1
  136. package/dist/composed/markdown-viewer.d.ts.map +1 -1
  137. package/dist/composed/markdown-viewer.js +3 -3
  138. package/dist/composed/markdown-viewer.js.map +1 -1
  139. package/dist/composed/master-detail.d.ts.map +1 -1
  140. package/dist/composed/master-detail.js +42 -42
  141. package/dist/composed/master-detail.js.map +1 -1
  142. package/dist/composed/member-picker.d.ts.map +1 -1
  143. package/dist/composed/member-picker.js.map +1 -1
  144. package/dist/composed/multi-select-popover.d.ts.map +1 -1
  145. package/dist/composed/multi-select-popover.js +55 -55
  146. package/dist/composed/multi-select-popover.js.map +1 -1
  147. package/dist/composed/page-header.d.ts.map +1 -1
  148. package/dist/composed/page-header.js.map +1 -1
  149. package/dist/composed/page-skeletons.d.ts.map +1 -1
  150. package/dist/composed/page-skeletons.js.map +1 -1
  151. package/dist/composed/priority-indicator.d.ts.map +1 -1
  152. package/dist/composed/priority-indicator.js +34 -34
  153. package/dist/composed/priority-indicator.js.map +1 -1
  154. package/dist/composed/responsive-overlay.d.ts.map +1 -1
  155. package/dist/composed/responsive-overlay.js.map +1 -1
  156. package/dist/composed/rich-chat-input/attachment-strip.d.ts.map +1 -1
  157. package/dist/composed/rich-chat-input/audio-player.d.ts.map +1 -1
  158. package/dist/composed/rich-chat-input/audio-waveform.d.ts.map +1 -1
  159. package/dist/composed/rich-chat-input/chat-toolbar.d.ts.map +1 -1
  160. package/dist/composed/rich-chat-input/recording-overlay.d.ts.map +1 -1
  161. package/dist/composed/rich-chat-input/reply-banner.d.ts.map +1 -1
  162. package/dist/composed/rich-chat-input/schedule-send.d.ts.map +1 -1
  163. package/dist/composed/rich-chat-input.d.ts +6 -6
  164. package/dist/composed/rich-chat-input.d.ts.map +1 -1
  165. package/dist/composed/rich-chat-input.js +1 -1
  166. package/dist/composed/rich-text-editor.d.ts.map +1 -1
  167. package/dist/composed/rich-text-editor.js +24 -24
  168. package/dist/composed/rich-text-editor.js.map +1 -1
  169. package/dist/composed/schedule-view.d.ts.map +1 -1
  170. package/dist/composed/schedule-view.js +53 -53
  171. package/dist/composed/schedule-view.js.map +1 -1
  172. package/dist/composed/simple-tooltip.d.ts.map +1 -1
  173. package/dist/composed/simple-tooltip.js.map +1 -1
  174. package/dist/composed/status-badge.d.ts +1 -1
  175. package/dist/composed/status-badge.d.ts.map +1 -1
  176. package/dist/composed/status-badge.js +30 -30
  177. package/dist/composed/status-badge.js.map +1 -1
  178. package/dist/hooks/index.d.ts +3 -3
  179. package/dist/hooks/index.d.ts.map +1 -1
  180. package/dist/hooks/index.js +1 -1
  181. package/dist/hooks/use-color-mode.js.map +1 -1
  182. package/dist/hooks/use-toast.d.ts +1 -1
  183. package/dist/hooks/use-toast.d.ts.map +1 -1
  184. package/dist/motion/index.d.ts +2 -2
  185. package/dist/motion/index.d.ts.map +1 -1
  186. package/dist/motion/index.js.map +1 -1
  187. package/dist/motion/motion-provider.d.ts +1 -1
  188. package/dist/motion/motion-provider.d.ts.map +1 -1
  189. package/dist/motion/primitives-index.d.ts +1 -1
  190. package/dist/motion/primitives-index.d.ts.map +1 -1
  191. package/dist/motion/primitives-index.js +40 -40
  192. package/dist/motion/primitives-index.js.map +1 -1
  193. package/dist/motion/primitives.d.ts +1 -1
  194. package/dist/motion/primitives.d.ts.map +1 -1
  195. package/dist/shell/app-command-palette.d.ts +0 -8
  196. package/dist/shell/app-command-palette.d.ts.map +1 -1
  197. package/dist/shell/app-command-palette.js.map +1 -1
  198. package/dist/shell/bottom-navbar.d.ts +0 -6
  199. package/dist/shell/bottom-navbar.d.ts.map +1 -1
  200. package/dist/shell/bottom-navbar.js +62 -62
  201. package/dist/shell/bottom-navbar.js.map +1 -1
  202. package/dist/shell/index.d.ts +8 -8
  203. package/dist/shell/index.d.ts.map +1 -1
  204. package/dist/shell/index.js +5 -5
  205. package/dist/shell/link-context.d.ts +1 -1
  206. package/dist/shell/link-context.d.ts.map +1 -1
  207. package/dist/shell/notification-center.d.ts +0 -6
  208. package/dist/shell/notification-center.d.ts.map +1 -1
  209. package/dist/shell/notification-center.js +54 -54
  210. package/dist/shell/notification-center.js.map +1 -1
  211. package/dist/shell/notification-preferences.d.ts +0 -6
  212. package/dist/shell/notification-preferences.d.ts.map +1 -1
  213. package/dist/shell/notification-preferences.js +22 -22
  214. package/dist/shell/notification-preferences.js.map +1 -1
  215. package/dist/shell/sidebar.d.ts.map +1 -1
  216. package/dist/shell/sidebar.js.map +1 -1
  217. package/dist/shell/top-bar.d.ts +0 -6
  218. package/dist/shell/top-bar.d.ts.map +1 -1
  219. package/dist/shell/top-bar.js.map +1 -1
  220. package/dist/tailwind/index.cjs +15 -499
  221. package/dist/tailwind/preset.d.ts +21 -0
  222. package/dist/tailwind/preset.d.ts.map +1 -1
  223. package/dist/tailwind/preset.js +14 -489
  224. package/dist/tailwind/preset.js.map +1 -1
  225. package/dist/tokens/animations.css +139 -0
  226. package/dist/tokens/base.css +26 -0
  227. package/dist/tokens/index.css +22 -0
  228. package/dist/tokens/primitives.css +2 -0
  229. package/dist/tokens/semantic.css +500 -465
  230. package/dist/tokens/shilp-sutra.css +54 -0
  231. package/dist/tokens/typography-semantic.css +48 -41
  232. package/dist/tokens/utilities.css +328 -0
  233. package/dist/tokens/variants.css +14 -0
  234. package/dist/ui/accordion.d.ts +2 -2
  235. package/dist/ui/accordion.d.ts.map +1 -1
  236. package/dist/ui/accordion.js +23 -23
  237. package/dist/ui/accordion.js.map +1 -1
  238. package/dist/ui/alert-dialog.d.ts +2 -2
  239. package/dist/ui/alert-dialog.d.ts.map +1 -1
  240. package/dist/ui/alert-dialog.js +37 -37
  241. package/dist/ui/alert-dialog.js.map +1 -1
  242. package/dist/ui/alert.d.ts.map +1 -1
  243. package/dist/ui/alert.js +36 -36
  244. package/dist/ui/alert.js.map +1 -1
  245. package/dist/ui/aspect-ratio.d.ts +1 -1
  246. package/dist/ui/aspect-ratio.d.ts.map +1 -1
  247. package/dist/ui/aspect-ratio.js.map +1 -1
  248. package/dist/ui/autocomplete.d.ts +1 -1
  249. package/dist/ui/autocomplete.d.ts.map +1 -1
  250. package/dist/ui/autocomplete.js +27 -27
  251. package/dist/ui/autocomplete.js.map +1 -1
  252. package/dist/ui/avatar.d.ts +2 -2
  253. package/dist/ui/avatar.d.ts.map +1 -1
  254. package/dist/ui/avatar.js +41 -41
  255. package/dist/ui/avatar.js.map +1 -1
  256. package/dist/ui/badge-group.d.ts.map +1 -1
  257. package/dist/ui/badge-indicator.d.ts.map +1 -1
  258. package/dist/ui/badge-indicator.js +10 -10
  259. package/dist/ui/badge-indicator.js.map +1 -1
  260. package/dist/ui/badge.d.ts +2 -2
  261. package/dist/ui/badge.d.ts.map +1 -1
  262. package/dist/ui/banner.d.ts.map +1 -1
  263. package/dist/ui/banner.js +28 -28
  264. package/dist/ui/banner.js.map +1 -1
  265. package/dist/ui/breadcrumb.d.ts +1 -1
  266. package/dist/ui/breadcrumb.d.ts.map +1 -1
  267. package/dist/ui/breadcrumb.js.map +1 -1
  268. package/dist/ui/button-group.d.ts.map +1 -1
  269. package/dist/ui/button-group.js.map +1 -1
  270. package/dist/ui/button-processing.d.ts.map +1 -1
  271. package/dist/ui/button-processing.js +15 -15
  272. package/dist/ui/button-processing.js.map +1 -1
  273. package/dist/ui/button.d.ts.map +1 -1
  274. package/dist/ui/button.js +84 -84
  275. package/dist/ui/button.js.map +1 -1
  276. package/dist/ui/card.d.ts +1 -1
  277. package/dist/ui/card.d.ts.map +1 -1
  278. package/dist/ui/card.js +28 -28
  279. package/dist/ui/card.js.map +1 -1
  280. package/dist/ui/charts/_internal/axes.d.ts +1 -1
  281. package/dist/ui/charts/_internal/axes.d.ts.map +1 -1
  282. package/dist/ui/charts/_internal/grid-lines.d.ts.map +1 -1
  283. package/dist/ui/charts/_internal/legend.d.ts.map +1 -1
  284. package/dist/ui/charts/_internal/tooltip.d.ts +1 -1
  285. package/dist/ui/charts/_internal/tooltip.d.ts.map +1 -1
  286. package/dist/ui/charts/area-chart.d.ts.map +1 -1
  287. package/dist/ui/charts/bar-chart.d.ts +1 -1
  288. package/dist/ui/charts/bar-chart.d.ts.map +1 -1
  289. package/dist/ui/charts/chart-container.d.ts.map +1 -1
  290. package/dist/ui/charts/gauge-chart.d.ts.map +1 -1
  291. package/dist/ui/charts/index.d.ts +5 -5
  292. package/dist/ui/charts/index.d.ts.map +1 -1
  293. package/dist/ui/charts/index.js +616 -616
  294. package/dist/ui/charts/index.js.map +1 -1
  295. package/dist/ui/charts/line-chart.d.ts.map +1 -1
  296. package/dist/ui/charts/pie-chart.d.ts.map +1 -1
  297. package/dist/ui/charts/radar-chart.d.ts.map +1 -1
  298. package/dist/ui/charts/sparkline.d.ts.map +1 -1
  299. package/dist/ui/chat/date-separator.d.ts.map +1 -1
  300. package/dist/ui/chat/index.d.ts +4 -4
  301. package/dist/ui/chat/index.d.ts.map +1 -1
  302. package/dist/ui/chat/index.js +1 -1
  303. package/dist/ui/chat/message-input.d.ts.map +1 -1
  304. package/dist/ui/chat/message-list.d.ts.map +1 -1
  305. package/dist/ui/chat/message.d.ts +1 -1
  306. package/dist/ui/chat/message.d.ts.map +1 -1
  307. package/dist/ui/chat/system-message.d.ts.map +1 -1
  308. package/dist/ui/chat/typing-indicator.d.ts.map +1 -1
  309. package/dist/ui/chat/unread-separator.d.ts.map +1 -1
  310. package/dist/ui/checkbox.d.ts.map +1 -1
  311. package/dist/ui/checkbox.js +18 -18
  312. package/dist/ui/checkbox.js.map +1 -1
  313. package/dist/ui/code.d.ts.map +1 -1
  314. package/dist/ui/code.js.map +1 -1
  315. package/dist/ui/collapsible.d.ts +2 -2
  316. package/dist/ui/collapsible.d.ts.map +1 -1
  317. package/dist/ui/collapsible.js +10 -10
  318. package/dist/ui/collapsible.js.map +1 -1
  319. package/dist/ui/color-input.d.ts.map +1 -1
  320. package/dist/ui/color-input.js +85 -85
  321. package/dist/ui/color-input.js.map +1 -1
  322. package/dist/ui/color-swatch.d.ts.map +1 -1
  323. package/dist/ui/color-swatch.js.map +1 -1
  324. package/dist/ui/combobox.d.ts.map +1 -1
  325. package/dist/ui/combobox.js +58 -58
  326. package/dist/ui/combobox.js.map +1 -1
  327. package/dist/ui/container.d.ts.map +1 -1
  328. package/dist/ui/container.js.map +1 -1
  329. package/dist/ui/context-menu.d.ts +2 -2
  330. package/dist/ui/context-menu.d.ts.map +1 -1
  331. package/dist/ui/context-menu.js +47 -47
  332. package/dist/ui/context-menu.js.map +1 -1
  333. package/dist/ui/data-table-body.d.ts +1 -1
  334. package/dist/ui/data-table-body.d.ts.map +1 -1
  335. package/dist/ui/data-table-body.js +43 -43
  336. package/dist/ui/data-table-body.js.map +1 -1
  337. package/dist/ui/data-table-bulk-actions.js.map +1 -1
  338. package/dist/ui/data-table-card.d.ts.map +1 -1
  339. package/dist/ui/data-table-card.js +7 -7
  340. package/dist/ui/data-table-card.js.map +1 -1
  341. package/dist/ui/data-table-context.d.ts +1 -1
  342. package/dist/ui/data-table-context.d.ts.map +1 -1
  343. package/dist/ui/data-table-context.js.map +1 -1
  344. package/dist/ui/data-table-header.js +38 -38
  345. package/dist/ui/data-table-header.js.map +1 -1
  346. package/dist/ui/data-table-pagination.js.map +1 -1
  347. package/dist/ui/data-table-toolbar.d.ts.map +1 -1
  348. package/dist/ui/data-table-toolbar.js.map +1 -1
  349. package/dist/ui/data-table.d.ts +2 -2
  350. package/dist/ui/data-table.d.ts.map +1 -1
  351. package/dist/ui/data-table.js +5 -5
  352. package/dist/ui/data-table.js.map +1 -1
  353. package/dist/ui/devalok-grain.js +8 -8
  354. package/dist/ui/devalok-grain.js.map +1 -1
  355. package/dist/ui/dialog.d.ts +2 -2
  356. package/dist/ui/dialog.d.ts.map +1 -1
  357. package/dist/ui/dialog.js +41 -41
  358. package/dist/ui/dialog.js.map +1 -1
  359. package/dist/ui/dropdown-menu.d.ts +2 -2
  360. package/dist/ui/dropdown-menu.d.ts.map +1 -1
  361. package/dist/ui/dropdown-menu.js +46 -46
  362. package/dist/ui/dropdown-menu.js.map +1 -1
  363. package/dist/ui/file-upload.d.ts.map +1 -1
  364. package/dist/ui/file-upload.js +54 -54
  365. package/dist/ui/file-upload.js.map +1 -1
  366. package/dist/ui/form.d.ts.map +1 -1
  367. package/dist/ui/form.js +17 -17
  368. package/dist/ui/form.js.map +1 -1
  369. package/dist/ui/hover-card.d.ts +2 -2
  370. package/dist/ui/hover-card.d.ts.map +1 -1
  371. package/dist/ui/hover-card.js +19 -19
  372. package/dist/ui/hover-card.js.map +1 -1
  373. package/dist/ui/icon-button.d.ts.map +1 -1
  374. package/dist/ui/icon-button.js.map +1 -1
  375. package/dist/ui/icon-group.d.ts.map +1 -1
  376. package/dist/ui/icon-group.js +4 -4
  377. package/dist/ui/icon-group.js.map +1 -1
  378. package/dist/ui/icon.d.ts.map +1 -1
  379. package/dist/ui/icon.js +32 -32
  380. package/dist/ui/icon.js.map +1 -1
  381. package/dist/ui/index.d.ts +57 -57
  382. package/dist/ui/index.d.ts.map +1 -1
  383. package/dist/ui/index.js +27 -27
  384. package/dist/ui/index.js.map +1 -1
  385. package/dist/ui/input-otp.d.ts +1 -1
  386. package/dist/ui/input-otp.d.ts.map +1 -1
  387. package/dist/ui/input-otp.js.map +1 -1
  388. package/dist/ui/input.d.ts.map +1 -1
  389. package/dist/ui/input.js +14 -14
  390. package/dist/ui/input.js.map +1 -1
  391. package/dist/ui/label.d.ts +1 -1
  392. package/dist/ui/label.d.ts.map +1 -1
  393. package/dist/ui/label.js.map +1 -1
  394. package/dist/ui/lib/bottom-sheet.d.ts.map +1 -1
  395. package/dist/ui/lib/index.d.ts +4 -4
  396. package/dist/ui/lib/index.d.ts.map +1 -1
  397. package/dist/ui/lib/slot.d.ts +1 -1
  398. package/dist/ui/lib/slot.d.ts.map +1 -1
  399. package/dist/ui/lib/utils.d.ts.map +1 -1
  400. package/dist/ui/lib/utils.js.map +1 -1
  401. package/dist/ui/link.d.ts.map +1 -1
  402. package/dist/ui/link.js.map +1 -1
  403. package/dist/ui/menubar.d.ts +2 -2
  404. package/dist/ui/menubar.d.ts.map +1 -1
  405. package/dist/ui/menubar.js +64 -64
  406. package/dist/ui/menubar.js.map +1 -1
  407. package/dist/ui/navigation-menu.d.ts +2 -2
  408. package/dist/ui/navigation-menu.d.ts.map +1 -1
  409. package/dist/ui/navigation-menu.js +72 -72
  410. package/dist/ui/navigation-menu.js.map +1 -1
  411. package/dist/ui/number-input.d.ts.map +1 -1
  412. package/dist/ui/number-input.js.map +1 -1
  413. package/dist/ui/pagination.d.ts +1 -1
  414. package/dist/ui/pagination.d.ts.map +1 -1
  415. package/dist/ui/pagination.js.map +1 -1
  416. package/dist/ui/popover.d.ts +2 -2
  417. package/dist/ui/popover.d.ts.map +1 -1
  418. package/dist/ui/progress-ring.d.ts +1 -1
  419. package/dist/ui/progress-ring.d.ts.map +1 -1
  420. package/dist/ui/progress-ring.js +33 -33
  421. package/dist/ui/progress-ring.js.map +1 -1
  422. package/dist/ui/progress.d.ts +2 -2
  423. package/dist/ui/progress.d.ts.map +1 -1
  424. package/dist/ui/progress.js +23 -23
  425. package/dist/ui/progress.js.map +1 -1
  426. package/dist/ui/radio.d.ts.map +1 -1
  427. package/dist/ui/radio.js +19 -19
  428. package/dist/ui/radio.js.map +1 -1
  429. package/dist/ui/search-input.d.ts.map +1 -1
  430. package/dist/ui/search-input.js +17 -17
  431. package/dist/ui/search-input.js.map +1 -1
  432. package/dist/ui/segmented-control.d.ts.map +1 -1
  433. package/dist/ui/segmented-control.js +18 -18
  434. package/dist/ui/segmented-control.js.map +1 -1
  435. package/dist/ui/select.d.ts +2 -2
  436. package/dist/ui/select.d.ts.map +1 -1
  437. package/dist/ui/select.js +68 -68
  438. package/dist/ui/select.js.map +1 -1
  439. package/dist/ui/separator.d.ts +1 -1
  440. package/dist/ui/separator.d.ts.map +1 -1
  441. package/dist/ui/separator.js.map +1 -1
  442. package/dist/ui/sheet.d.ts +2 -2
  443. package/dist/ui/sheet.d.ts.map +1 -1
  444. package/dist/ui/sheet.js +44 -44
  445. package/dist/ui/sheet.js.map +1 -1
  446. package/dist/ui/sidebar.d.ts +1 -1
  447. package/dist/ui/sidebar.d.ts.map +1 -1
  448. package/dist/ui/sidebar.js +155 -155
  449. package/dist/ui/sidebar.js.map +1 -1
  450. package/dist/ui/skeleton.d.ts +1 -1
  451. package/dist/ui/skeleton.d.ts.map +1 -1
  452. package/dist/ui/skeleton.js +2 -2
  453. package/dist/ui/skeleton.js.map +1 -1
  454. package/dist/ui/slider.d.ts +2 -2
  455. package/dist/ui/slider.d.ts.map +1 -1
  456. package/dist/ui/slider.js +5 -5
  457. package/dist/ui/slider.js.map +1 -1
  458. package/dist/ui/spinner.d.ts.map +1 -1
  459. package/dist/ui/spinner.js +21 -21
  460. package/dist/ui/spinner.js.map +1 -1
  461. package/dist/ui/split-button.d.ts +1 -1
  462. package/dist/ui/split-button.d.ts.map +1 -1
  463. package/dist/ui/split-button.js +28 -28
  464. package/dist/ui/split-button.js.map +1 -1
  465. package/dist/ui/stack.d.ts +1 -1
  466. package/dist/ui/stack.d.ts.map +1 -1
  467. package/dist/ui/stack.js.map +1 -1
  468. package/dist/ui/stat-card.d.ts.map +1 -1
  469. package/dist/ui/stat-card.js +73 -73
  470. package/dist/ui/stat-card.js.map +1 -1
  471. package/dist/ui/status-dot.d.ts.map +1 -1
  472. package/dist/ui/status-dot.js.map +1 -1
  473. package/dist/ui/stepper.d.ts +1 -1
  474. package/dist/ui/stepper.d.ts.map +1 -1
  475. package/dist/ui/stepper.js +48 -48
  476. package/dist/ui/stepper.js.map +1 -1
  477. package/dist/ui/switch.d.ts +1 -1
  478. package/dist/ui/switch.d.ts.map +1 -1
  479. package/dist/ui/switch.js +15 -15
  480. package/dist/ui/switch.js.map +1 -1
  481. package/dist/ui/table.d.ts +1 -1
  482. package/dist/ui/table.d.ts.map +1 -1
  483. package/dist/ui/table.js.map +1 -1
  484. package/dist/ui/tabs.d.ts +2 -2
  485. package/dist/ui/tabs.d.ts.map +1 -1
  486. package/dist/ui/tabs.js +52 -52
  487. package/dist/ui/tabs.js.map +1 -1
  488. package/dist/ui/text.d.ts +1 -1
  489. package/dist/ui/text.d.ts.map +1 -1
  490. package/dist/ui/text.js.map +1 -1
  491. package/dist/ui/textarea.d.ts.map +1 -1
  492. package/dist/ui/textarea.js +13 -13
  493. package/dist/ui/textarea.js.map +1 -1
  494. package/dist/ui/toast-registry.js.map +1 -1
  495. package/dist/ui/toast.d.ts +3 -3
  496. package/dist/ui/toast.d.ts.map +1 -1
  497. package/dist/ui/toast.js +164 -164
  498. package/dist/ui/toast.js.map +1 -1
  499. package/dist/ui/toaster.d.ts.map +1 -1
  500. package/dist/ui/toaster.js +6 -6
  501. package/dist/ui/toaster.js.map +1 -1
  502. package/dist/ui/toggle-group.d.ts +1 -1
  503. package/dist/ui/toggle-group.d.ts.map +1 -1
  504. package/dist/ui/toggle-group.js.map +1 -1
  505. package/dist/ui/toggle.d.ts +1 -1
  506. package/dist/ui/toggle.d.ts.map +1 -1
  507. package/dist/ui/toggle.js +14 -14
  508. package/dist/ui/toggle.js.map +1 -1
  509. package/dist/ui/tooltip.d.ts +2 -2
  510. package/dist/ui/tooltip.d.ts.map +1 -1
  511. package/dist/ui/tooltip.js +26 -26
  512. package/dist/ui/tooltip.js.map +1 -1
  513. package/dist/ui/tree-view/index.d.ts +2 -2
  514. package/dist/ui/tree-view/index.d.ts.map +1 -1
  515. package/dist/ui/tree-view/index.js +1 -1
  516. package/dist/ui/tree-view/tree-view.d.ts +1 -1
  517. package/dist/ui/tree-view/tree-view.d.ts.map +1 -1
  518. package/dist/ui/visually-hidden.d.ts.map +1 -1
  519. package/dist/ui/visually-hidden.js.map +1 -1
  520. package/docs/components/_header.md +96 -0
  521. package/docs/rollback.md +179 -0
  522. package/llms-full.txt +97 -1
  523. package/llms.txt +24 -2
  524. package/package.json +302 -277
  525. package/dist/_chunks/framer.js +0 -5604
  526. package/dist/_chunks/framer.js.map +0 -1
  527. package/dist/_chunks/rolldown-runtime.js +0 -21
  528. package/dist/_chunks/sonner.js +0 -616
  529. package/dist/_chunks/sonner.js.map +0 -1
  530. package/dist/_chunks/stat-row.js +0 -432
  531. 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
 
@@ -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.36.1
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.