@devalok/shilp-sutra 0.53.0 → 0.55.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (429) hide show
  1. package/AGENTS.md +7 -1
  2. package/BREAKING.json +29 -0
  3. package/MIGRATION.md +83 -0
  4. package/dist/_chunks/badge-group.js +1 -1
  5. package/dist/_chunks/popover.js +38 -37
  6. package/dist/_chunks/popover.js.map +1 -1
  7. package/dist/_chunks/primitives/react-accordion.js +270 -0
  8. package/dist/_chunks/primitives/react-accordion.js.map +1 -0
  9. package/dist/_chunks/primitives/react-alert-dialog.js +857 -0
  10. package/dist/_chunks/primitives/react-alert-dialog.js.map +1 -0
  11. package/dist/_chunks/primitives/react-aspect-ratio.js +32 -0
  12. package/dist/_chunks/primitives/react-aspect-ratio.js.map +1 -0
  13. package/dist/_chunks/primitives/react-avatar.js +69 -0
  14. package/dist/_chunks/primitives/react-avatar.js.map +1 -0
  15. package/dist/_chunks/primitives/react-checkbox.js +151 -0
  16. package/dist/_chunks/primitives/react-checkbox.js.map +1 -0
  17. package/dist/_chunks/primitives/react-context-menu.js +905 -0
  18. package/dist/_chunks/primitives/react-context-menu.js.map +1 -0
  19. package/dist/_chunks/primitives/react-dropdown-menu.js +220 -0
  20. package/dist/_chunks/primitives/react-dropdown-menu.js.map +1 -0
  21. package/dist/_chunks/primitives/react-hover-card.js +153 -0
  22. package/dist/_chunks/primitives/react-hover-card.js.map +1 -0
  23. package/dist/_chunks/primitives/react-label.js +16 -0
  24. package/dist/_chunks/primitives/react-label.js.map +1 -0
  25. package/dist/_chunks/primitives/react-menubar.js +304 -0
  26. package/dist/_chunks/primitives/react-menubar.js.map +1 -0
  27. package/dist/_chunks/primitives/react-navigation-menu.js +560 -0
  28. package/dist/_chunks/primitives/react-navigation-menu.js.map +1 -0
  29. package/dist/_chunks/primitives/react-popover.js +186 -0
  30. package/dist/_chunks/primitives/react-popover.js.map +1 -0
  31. package/dist/_chunks/primitives/react-progress.js +70 -0
  32. package/dist/_chunks/primitives/react-progress.js.map +1 -0
  33. package/dist/_chunks/primitives/react-radio-group.js +170 -0
  34. package/dist/_chunks/primitives/react-radio-group.js.map +1 -0
  35. package/dist/_chunks/primitives/react-select.js +671 -0
  36. package/dist/_chunks/primitives/react-select.js.map +1 -0
  37. package/dist/_chunks/primitives/react-separator.js +24 -0
  38. package/dist/_chunks/primitives/react-separator.js.map +1 -0
  39. package/dist/_chunks/primitives/react-slider.js +349 -0
  40. package/dist/_chunks/primitives/react-slider.js.map +1 -0
  41. package/dist/_chunks/primitives/react-switch.js +92 -0
  42. package/dist/_chunks/primitives/react-switch.js.map +1 -0
  43. package/dist/_chunks/primitives/react-tabs.js +114 -0
  44. package/dist/_chunks/primitives/react-tabs.js.map +1 -0
  45. package/dist/_chunks/primitives/react-toggle-group.js +122 -0
  46. package/dist/_chunks/primitives/react-toggle-group.js.map +1 -0
  47. package/dist/_chunks/primitives/react-toggle.js +28 -0
  48. package/dist/_chunks/primitives/react-toggle.js.map +1 -0
  49. package/dist/_chunks/primitives/react-tooltip.js +341 -0
  50. package/dist/_chunks/primitives/react-tooltip.js.map +1 -0
  51. package/dist/_chunks/primitives-internal.js +2071 -0
  52. package/dist/_chunks/primitives-internal.js.map +1 -0
  53. package/dist/_chunks/shared.js +32 -32
  54. package/dist/_chunks/tiptap.js +1 -1
  55. package/dist/ai/ai-command-provider.d.ts +2 -3
  56. package/dist/ai/block-renderer.d.ts +1 -2
  57. package/dist/ai/blocks/block-shell.d.ts +0 -1
  58. package/dist/ai/blocks/block-table.d.ts +1 -2
  59. package/dist/ai/blocks/confirm.d.ts +1 -2
  60. package/dist/ai/blocks/divider.d.ts +1 -2
  61. package/dist/ai/blocks/error.d.ts +1 -2
  62. package/dist/ai/blocks/index.d.ts +7 -8
  63. package/dist/ai/blocks/info.d.ts +1 -2
  64. package/dist/ai/blocks/loading.d.ts +1 -2
  65. package/dist/ai/blocks/stat-row.d.ts +1 -2
  66. package/dist/ai/blocks/success.d.ts +1 -2
  67. package/dist/ai/blocks/text.d.ts +1 -2
  68. package/dist/ai/command-bar.d.ts +1 -2
  69. package/dist/ai/conversation.d.ts +2 -3
  70. package/dist/ai/devadoot-icon.d.ts +0 -1
  71. package/dist/ai/index.d.ts +16 -17
  72. package/dist/ai/types.js +1 -0
  73. package/dist/composed/activity-feed.d.ts +1 -2
  74. package/dist/composed/avatar-group.d.ts +11 -10
  75. package/dist/composed/avatar-group.d.ts.map +1 -1
  76. package/dist/composed/avatar-group.js +108 -140
  77. package/dist/composed/avatar-group.js.map +1 -1
  78. package/dist/composed/bulk-action-bar.d.ts +20 -13
  79. package/dist/composed/bulk-action-bar.d.ts.map +1 -1
  80. package/dist/composed/bulk-action-bar.js +81 -110
  81. package/dist/composed/bulk-action-bar.js.map +1 -1
  82. package/dist/composed/command-palette.d.ts +1 -2
  83. package/dist/composed/confirm-dialog.d.ts +0 -1
  84. package/dist/composed/date-picker/calendar-grid.d.ts +0 -1
  85. package/dist/composed/date-picker/date-picker.d.ts +0 -1
  86. package/dist/composed/date-picker/date-range-picker.d.ts +1 -2
  87. package/dist/composed/date-picker/date-time-picker.d.ts +0 -1
  88. package/dist/composed/date-picker/index.d.ts +17 -18
  89. package/dist/composed/date-picker/month-picker.d.ts +0 -1
  90. package/dist/composed/date-picker/presets.d.ts +0 -1
  91. package/dist/composed/date-picker/time-picker.d.ts +0 -1
  92. package/dist/composed/date-picker/use-calendar.d.ts +0 -1
  93. package/dist/composed/date-picker/year-picker.d.ts +0 -1
  94. package/dist/composed/deadline-indicator.d.ts +0 -1
  95. package/dist/composed/diff.d.ts +0 -1
  96. package/dist/composed/emoji-picker.d.ts +0 -1
  97. package/dist/composed/empty-state.d.ts +1 -2
  98. package/dist/composed/error-boundary.d.ts +15 -4
  99. package/dist/composed/error-boundary.d.ts.map +1 -1
  100. package/dist/composed/error-boundary.js +43 -26
  101. package/dist/composed/error-boundary.js.map +1 -1
  102. package/dist/composed/extensions/emoji-data.d.ts +0 -1
  103. package/dist/composed/extensions/emoji-node.d.ts +0 -1
  104. package/dist/composed/extensions/emoji-suggestion.d.ts +1 -2
  105. package/dist/composed/extensions/file-attachment.d.ts +0 -1
  106. package/dist/composed/extensions/mention-suggestion.d.ts +1 -2
  107. package/dist/composed/extensions/slash-command.d.ts +0 -1
  108. package/dist/composed/file-preview/audio-preview.d.ts +0 -1
  109. package/dist/composed/file-preview/document-preview.d.ts +0 -1
  110. package/dist/composed/file-preview/embed-preview.d.ts +0 -1
  111. package/dist/composed/file-preview/image-preview.d.ts +0 -1
  112. package/dist/composed/file-preview/shared.d.ts +0 -1
  113. package/dist/composed/file-preview/video-preview.d.ts +0 -1
  114. package/dist/composed/file-preview.d.ts +0 -1
  115. package/dist/composed/filter-bar.d.ts +0 -1
  116. package/dist/composed/form-section.d.ts +0 -1
  117. package/dist/composed/global-loading.d.ts +0 -1
  118. package/dist/composed/index.d.ts +49 -50
  119. package/dist/composed/inline-edit.d.ts +0 -1
  120. package/dist/composed/loading-skeleton.d.ts +2 -0
  121. package/dist/composed/loading-skeleton.d.ts.map +1 -1
  122. package/dist/composed/loading-skeleton.js +79 -56
  123. package/dist/composed/loading-skeleton.js.map +1 -1
  124. package/dist/composed/markdown-viewer.d.ts +0 -1
  125. package/dist/composed/master-detail.d.ts +21 -9
  126. package/dist/composed/master-detail.d.ts.map +1 -1
  127. package/dist/composed/master-detail.js +91 -77
  128. package/dist/composed/master-detail.js.map +1 -1
  129. package/dist/composed/member-picker.d.ts +0 -1
  130. package/dist/composed/multi-select-popover.d.ts +0 -1
  131. package/dist/composed/page-skeletons.d.ts +6 -0
  132. package/dist/composed/page-skeletons.d.ts.map +1 -1
  133. package/dist/composed/page-skeletons.js +93 -71
  134. package/dist/composed/page-skeletons.js.map +1 -1
  135. package/dist/composed/priority-indicator.d.ts +0 -1
  136. package/dist/composed/responsive-modal.d.ts +1 -2
  137. package/dist/composed/responsive-modal.js +47 -47
  138. package/dist/composed/rich-chat-input/attachment-strip.d.ts +0 -1
  139. package/dist/composed/rich-chat-input/audio-player.d.ts +0 -1
  140. package/dist/composed/rich-chat-input/audio-waveform.d.ts +0 -1
  141. package/dist/composed/rich-chat-input/chat-toolbar.d.ts +0 -1
  142. package/dist/composed/rich-chat-input/recording-overlay.d.ts +0 -1
  143. package/dist/composed/rich-chat-input/reply-banner.d.ts +0 -1
  144. package/dist/composed/rich-chat-input/schedule-send.d.ts +0 -1
  145. package/dist/composed/rich-chat-input/use-voice-recorder.d.ts +0 -1
  146. package/dist/composed/rich-chat-input.d.ts +9 -10
  147. package/dist/composed/rich-chat-input.js +1 -1
  148. package/dist/composed/rich-text-editor.d.ts +1 -2
  149. package/dist/composed/schedule-view.d.ts +0 -1
  150. package/dist/composed/simple-tooltip.d.ts +0 -1
  151. package/dist/composed/status-badge.d.ts +1 -2
  152. package/dist/hooks/index.d.ts +6 -7
  153. package/dist/hooks/use-color-mode.d.ts +0 -1
  154. package/dist/hooks/use-mobile.d.ts +0 -1
  155. package/dist/hooks/use-touch-device.d.ts +0 -1
  156. package/dist/hooks/use-viewport-height.d.ts +0 -1
  157. package/dist/motion/check-motion-provider.d.ts +0 -1
  158. package/dist/motion/index.d.ts +2 -3
  159. package/dist/motion/motion-provider.d.ts +1 -2
  160. package/dist/motion/primitives-index.d.ts +1 -2
  161. package/dist/motion/primitives.d.ts +1 -2
  162. package/dist/primitives/_internal/react-arrow.d.ts +1 -1
  163. package/dist/primitives/_internal/react-collection.d.ts +2 -2
  164. package/dist/primitives/_internal/react-dismissable-layer.d.ts +1 -1
  165. package/dist/primitives/_internal/react-focus-scope.d.ts +1 -1
  166. package/dist/primitives/_internal/react-popper.d.ts +4 -4
  167. package/dist/primitives/_internal/react-portal.d.ts +1 -1
  168. package/dist/primitives/_internal/react-use-rect.d.ts +1 -1
  169. package/dist/primitives/react-accordion.d.ts +3 -3
  170. package/dist/primitives/react-alert-dialog.d.ts +2 -2
  171. package/dist/primitives/react-aspect-ratio.d.ts +1 -1
  172. package/dist/primitives/react-avatar.d.ts +2 -2
  173. package/dist/primitives/react-checkbox.d.ts +3 -3
  174. package/dist/primitives/react-collapsible.d.ts +2 -2
  175. package/dist/primitives/react-context-menu.d.ts +3 -3
  176. package/dist/primitives/react-dialog.d.ts +5 -5
  177. package/dist/primitives/react-dropdown-menu.d.ts +3 -3
  178. package/dist/primitives/react-hover-card.d.ts +5 -5
  179. package/dist/primitives/react-label.d.ts +1 -1
  180. package/dist/primitives/react-menu.d.ts +7 -7
  181. package/dist/primitives/react-menubar.d.ts +5 -5
  182. package/dist/primitives/react-navigation-menu.d.ts +5 -5
  183. package/dist/primitives/react-popover.d.ts +6 -6
  184. package/dist/primitives/react-progress.d.ts +2 -2
  185. package/dist/primitives/react-radio-group.d.ts +3 -3
  186. package/dist/primitives/react-roving-focus.d.ts +2 -2
  187. package/dist/primitives/react-select.d.ts +6 -6
  188. package/dist/primitives/react-separator.d.ts +1 -1
  189. package/dist/primitives/react-slider.d.ts +2 -2
  190. package/dist/primitives/react-switch.d.ts +2 -2
  191. package/dist/primitives/react-tabs.d.ts +3 -3
  192. package/dist/primitives/react-toast.d.ts +3 -3
  193. package/dist/primitives/react-toggle-group.d.ts +4 -4
  194. package/dist/primitives/react-toggle.d.ts +1 -1
  195. package/dist/primitives/react-tooltip.d.ts +5 -5
  196. package/dist/primitives/react-visually-hidden.d.ts +1 -1
  197. package/dist/shell/app-command-palette.d.ts +2 -3
  198. package/dist/shell/bottom-navbar.d.ts +1 -2
  199. package/dist/shell/command-registry.d.ts +1 -2
  200. package/dist/shell/index.d.ts +12 -11
  201. package/dist/shell/index.d.ts.map +1 -1
  202. package/dist/shell/index.js +2 -3
  203. package/dist/shell/link-context.d.ts +2 -3
  204. package/dist/shell/notification-center.d.ts +0 -1
  205. package/dist/shell/notification-preferences.d.ts +0 -1
  206. package/dist/shell/notification-preferences.d.ts.map +1 -1
  207. package/dist/shell/notification-preferences.js +2 -0
  208. package/dist/shell/notification-preferences.js.map +1 -1
  209. package/dist/shell/top-bar.d.ts +1 -2
  210. package/dist/test-utils/conformance.d.ts +0 -1
  211. package/dist/ui/accordion.d.ts +1 -2
  212. package/dist/ui/accordion.js +1 -1
  213. package/dist/ui/alert-dialog.d.ts +1 -2
  214. package/dist/ui/alert-dialog.js +52 -52
  215. package/dist/ui/alert.d.ts +0 -1
  216. package/dist/ui/aspect-ratio.d.ts +1 -2
  217. package/dist/ui/aspect-ratio.js +4 -4
  218. package/dist/ui/autocomplete.d.ts +1 -2
  219. package/dist/ui/autocomplete.js +1 -1
  220. package/dist/ui/avatar.d.ts +1 -2
  221. package/dist/ui/avatar.js +33 -33
  222. package/dist/ui/badge-group.d.ts +1 -2
  223. package/dist/ui/badge-indicator.d.ts +0 -1
  224. package/dist/ui/badge.d.ts +3 -4
  225. package/dist/ui/banner.d.ts +0 -1
  226. package/dist/ui/breadcrumb.js +1 -1
  227. package/dist/ui/button-group.d.ts +1 -2
  228. package/dist/ui/button-processing.d.ts +0 -1
  229. package/dist/ui/button.d.ts +1 -2
  230. package/dist/ui/button.js +1 -1
  231. package/dist/ui/card.d.ts +0 -1
  232. package/dist/ui/charts/_internal/animation.d.ts +0 -1
  233. package/dist/ui/charts/_internal/axes.d.ts +0 -1
  234. package/dist/ui/charts/_internal/colors.d.ts +1 -2
  235. package/dist/ui/charts/_internal/grid-lines.d.ts +0 -1
  236. package/dist/ui/charts/_internal/legend.d.ts +0 -1
  237. package/dist/ui/charts/_internal/scales.d.ts +0 -1
  238. package/dist/ui/charts/_internal/tooltip.d.ts +0 -1
  239. package/dist/ui/charts/_internal/types.d.ts +0 -1
  240. package/dist/ui/charts/area-chart.d.ts +1 -2
  241. package/dist/ui/charts/bar-chart.d.ts +1 -2
  242. package/dist/ui/charts/chart-container.d.ts +1 -2
  243. package/dist/ui/charts/gauge-chart.d.ts +0 -1
  244. package/dist/ui/charts/index.d.ts +9 -10
  245. package/dist/ui/charts/line-chart.d.ts +1 -2
  246. package/dist/ui/charts/pie-chart.d.ts +0 -1
  247. package/dist/ui/charts/radar-chart.d.ts +0 -1
  248. package/dist/ui/charts/sparkline.d.ts +0 -1
  249. package/dist/ui/chat/date-separator.d.ts +0 -1
  250. package/dist/ui/chat/index.d.ts +7 -8
  251. package/dist/ui/chat/message-input.d.ts +0 -1
  252. package/dist/ui/chat/message-list.d.ts +0 -1
  253. package/dist/ui/chat/message.d.ts +1 -2
  254. package/dist/ui/chat/system-message.d.ts +1 -2
  255. package/dist/ui/chat/typing-indicator.d.ts +0 -1
  256. package/dist/ui/chat/unread-separator.d.ts +0 -1
  257. package/dist/ui/checkbox.d.ts +2 -3
  258. package/dist/ui/checkbox.js +13 -13
  259. package/dist/ui/collapsible.d.ts +1 -2
  260. package/dist/ui/collapsible.js +1 -1
  261. package/dist/ui/color-input.d.ts +0 -1
  262. package/dist/ui/color-swatch.d.ts +0 -1
  263. package/dist/ui/combobox.d.ts +3 -4
  264. package/dist/ui/combobox.d.ts.map +1 -1
  265. package/dist/ui/combobox.js +146 -141
  266. package/dist/ui/combobox.js.map +1 -1
  267. package/dist/ui/context-menu.d.ts +1 -2
  268. package/dist/ui/context-menu.js +58 -58
  269. package/dist/ui/data-table-body.d.ts +0 -1
  270. package/dist/ui/data-table-bulk-actions.d.ts +0 -1
  271. package/dist/ui/data-table-card.d.ts +0 -1
  272. package/dist/ui/data-table-context.d.ts +0 -1
  273. package/dist/ui/data-table-header.d.ts +0 -1
  274. package/dist/ui/data-table-pagination.d.ts +0 -1
  275. package/dist/ui/data-table-toolbar.d.ts +0 -1
  276. package/dist/ui/data-table.d.ts +3 -4
  277. package/dist/ui/devalok-grain.d.ts +0 -1
  278. package/dist/ui/dialog.d.ts +1 -2
  279. package/dist/ui/dialog.js +43 -43
  280. package/dist/ui/dot.d.ts +0 -1
  281. package/dist/ui/dropdown-menu.d.ts +1 -2
  282. package/dist/ui/dropdown-menu.js +69 -69
  283. package/dist/ui/file-upload.d.ts +0 -1
  284. package/dist/ui/file-upload.d.ts.map +1 -1
  285. package/dist/ui/file-upload.js +124 -138
  286. package/dist/ui/file-upload.js.map +1 -1
  287. package/dist/ui/form.d.ts +7 -1
  288. package/dist/ui/form.d.ts.map +1 -1
  289. package/dist/ui/form.js +4 -2
  290. package/dist/ui/form.js.map +1 -1
  291. package/dist/ui/hover-card.d.ts +1 -2
  292. package/dist/ui/hover-card.js +16 -16
  293. package/dist/ui/icon-button.d.ts +4 -4
  294. package/dist/ui/icon-button.d.ts.map +1 -1
  295. package/dist/ui/icon-button.js +1 -1
  296. package/dist/ui/icon-button.js.map +1 -1
  297. package/dist/ui/icon-context.d.ts +0 -1
  298. package/dist/ui/icon-group.d.ts +1 -2
  299. package/dist/ui/icon.d.ts +1 -2
  300. package/dist/ui/index.d.ts +78 -79
  301. package/dist/ui/index.d.ts.map +1 -1
  302. package/dist/ui/index.js.map +1 -1
  303. package/dist/ui/input-otp.d.ts +0 -1
  304. package/dist/ui/input.d.ts +1 -2
  305. package/dist/ui/label.d.ts +1 -2
  306. package/dist/ui/label.d.ts.map +1 -1
  307. package/dist/ui/label.js +13 -12
  308. package/dist/ui/label.js.map +1 -1
  309. package/dist/ui/lib/bottom-sheet.d.ts +0 -1
  310. package/dist/ui/lib/check-tokens.d.ts +0 -1
  311. package/dist/ui/lib/field-state.d.ts +0 -1
  312. package/dist/ui/lib/icon-input.d.ts +0 -1
  313. package/dist/ui/lib/index.d.ts +6 -7
  314. package/dist/ui/lib/keybinding.d.ts +0 -1
  315. package/dist/ui/lib/link-context.d.ts +0 -1
  316. package/dist/ui/lib/mention.d.ts +0 -1
  317. package/dist/ui/lib/normalize-icon.d.ts +2 -2
  318. package/dist/ui/lib/slot.d.ts +2 -3
  319. package/dist/ui/lib/use-controllable-open.d.ts +0 -1
  320. package/dist/ui/link.d.ts +0 -1
  321. package/dist/ui/link.js +1 -1
  322. package/dist/ui/menubar.d.ts +1 -2
  323. package/dist/ui/menubar.js +64 -64
  324. package/dist/ui/navigation-menu.d.ts +1 -2
  325. package/dist/ui/navigation-menu.js +67 -67
  326. package/dist/ui/number-input.d.ts +1 -2
  327. package/dist/ui/oauth-button/index.d.ts +1 -2
  328. package/dist/ui/oauth-button/oauth-button.d.ts +2 -3
  329. package/dist/ui/pagination.d.ts +0 -1
  330. package/dist/ui/pagination.js +1 -1
  331. package/dist/ui/popover.d.ts +1 -2
  332. package/dist/ui/progress-ring.d.ts +0 -1
  333. package/dist/ui/progress.d.ts +1 -2
  334. package/dist/ui/progress.js +30 -30
  335. package/dist/ui/radio.d.ts +2 -3
  336. package/dist/ui/radio.js +18 -18
  337. package/dist/ui/search-input.d.ts +0 -1
  338. package/dist/ui/segmented-control.d.ts +1 -2
  339. package/dist/ui/select.d.ts +1 -2
  340. package/dist/ui/select.js +55 -55
  341. package/dist/ui/separator.d.ts +1 -2
  342. package/dist/ui/separator.js +5 -5
  343. package/dist/ui/sheet.d.ts +1 -2
  344. package/dist/ui/sheet.js +45 -45
  345. package/dist/ui/sidebar.d.ts +4 -5
  346. package/dist/ui/sidebar.js +1 -1
  347. package/dist/ui/slider.d.ts +1 -2
  348. package/dist/ui/slider.js +14 -14
  349. package/dist/ui/spinner.d.ts +0 -1
  350. package/dist/ui/spinner.d.ts.map +1 -1
  351. package/dist/ui/spinner.js +50 -44
  352. package/dist/ui/spinner.js.map +1 -1
  353. package/dist/ui/split-button.d.ts +14 -4
  354. package/dist/ui/split-button.d.ts.map +1 -1
  355. package/dist/ui/split-button.js.map +1 -1
  356. package/dist/ui/stat-card.d.ts +3 -4
  357. package/dist/ui/stat-flash.d.ts +1 -2
  358. package/dist/ui/stepper.d.ts +1 -2
  359. package/dist/ui/surface.js +1 -1
  360. package/dist/ui/switch.d.ts +2 -3
  361. package/dist/ui/switch.d.ts.map +1 -1
  362. package/dist/ui/switch.js +31 -31
  363. package/dist/ui/switch.js.map +1 -1
  364. package/dist/ui/table-row-link.d.ts +0 -1
  365. package/dist/ui/table.js +1 -1
  366. package/dist/ui/table.js.map +1 -1
  367. package/dist/ui/tabs.d.ts +1 -2
  368. package/dist/ui/tabs.js +35 -35
  369. package/dist/ui/textarea.d.ts +1 -2
  370. package/dist/ui/toast-registry.d.ts +0 -1
  371. package/dist/ui/toast-types.js +1 -0
  372. package/dist/ui/toast.d.ts +2 -3
  373. package/dist/ui/toaster.d.ts +0 -1
  374. package/dist/ui/toggle-group.d.ts +2 -3
  375. package/dist/ui/toggle-group.js +14 -14
  376. package/dist/ui/toggle.d.ts +1 -2
  377. package/dist/ui/toggle.js +12 -12
  378. package/dist/ui/tooltip.d.ts +1 -2
  379. package/dist/ui/tooltip.js +21 -21
  380. package/dist/ui/tree-view/index.d.ts +3 -4
  381. package/dist/ui/tree-view/tree-item.d.ts +1 -2
  382. package/dist/ui/tree-view/tree-view.d.ts +1 -2
  383. package/dist/ui/tree-view/use-tree.d.ts +1 -2
  384. package/dist/ui/truncated-text.d.ts +0 -1
  385. package/docs/components/composed/bulk-action-bar.md +9 -3
  386. package/docs/components/composed/error-boundary.md +18 -2
  387. package/docs/components/composed/master-detail.md +12 -2
  388. package/docs/components/composed/page-skeletons.md +2 -2
  389. package/docs/components/composed/rich-chat-input.md +18 -6
  390. package/docs/components/composed/simple-tooltip.md +1 -1
  391. package/docs/components/shell/app-command-palette.md +2 -1
  392. package/docs/components/shell/bottom-navbar.md +4 -4
  393. package/docs/components/shell/command-registry.md +2 -2
  394. package/docs/components/shell/link-context.md +2 -2
  395. package/docs/components/shell/top-bar.md +1 -1
  396. package/docs/components/ui/search-input.md +2 -2
  397. package/docs/components/ui/slider.md +2 -2
  398. package/docs/components/ui/split-button.md +3 -3
  399. package/docs/recipes/install-astro.md +2 -0
  400. package/docs/recipes/install-next-app-router.md +2 -0
  401. package/docs/recipes/install-remix.md +2 -0
  402. package/docs/recipes/install-tanstack-start.md +2 -0
  403. package/docs/recipes/install-vite.md +2 -0
  404. package/docs/recipes/troubleshoot.md +80 -0
  405. package/llms.txt +2 -2
  406. package/make-kit/Guidelines.md +1 -1
  407. package/make-kit/components/overview.md +2 -2
  408. package/make-kit/foundations/surfaces.md +1 -1
  409. package/mcp-manifest.json +411 -147
  410. package/package.json +30 -10
  411. package/skill/SKILL.md +1 -1
  412. package/skill/chat-skill/README.md +18 -0
  413. package/skill/chat-skill/SKILL.md +78 -0
  414. package/skill/chat-skill/chatgpt-instructions.md +26 -0
  415. package/skill/chat-skill/gemini-instructions.md +25 -0
  416. package/skill/references/components.md +2 -2
  417. package/skill/references/setup-astro.md +2 -0
  418. package/skill/references/setup-next-app-router.md +2 -0
  419. package/skill/references/setup-remix.md +2 -0
  420. package/skill/references/setup-tanstack-start.md +2 -0
  421. package/skill/references/setup-vite.md +2 -0
  422. package/skill/references/troubleshoot.md +80 -0
  423. package/dist/_chunks/primitives.js +0 -7596
  424. package/dist/_chunks/primitives.js.map +0 -1
  425. package/dist/shell/sidebar.d.ts +0 -113
  426. package/dist/shell/sidebar.d.ts.map +0 -1
  427. package/dist/shell/sidebar.js +0 -293
  428. package/dist/shell/sidebar.js.map +0 -1
  429. package/docs/components/shell/sidebar.md +0 -103
package/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@devalok/shilp-sutra",
3
- "version": "0.53.0",
3
+ "version": "0.55.0",
4
4
  "description": "Devalok Design System — accessible React components, OKLCH design tokens, and Tailwind 4 CSS-first setup. Ships with AI-agent setup recipes.",
5
5
  "license": "MIT",
6
6
  "author": "Devalok Design & Strategy Studios <shilp-sutra@devalok.in>",
7
7
  "homepage": "https://shilp-sutra.devalok.in",
8
8
  "repository": {
9
9
  "type": "git",
10
- "url": "https://github.com/devalok-design/shilp-sutra",
10
+ "url": "git+https://github.com/devalok-design/shilp-sutra.git",
11
11
  "directory": "packages/core"
12
12
  },
13
13
  "bugs": {
@@ -52,11 +52,8 @@
52
52
  "provenance": true
53
53
  },
54
54
  "dependencies": {
55
- "@emoji-mart/data": "^1.2.1",
56
55
  "class-variance-authority": "^0.7.1",
57
56
  "clsx": "^2.1.1",
58
- "diff": "^9.0.0",
59
- "frimousse": "^0.3.0",
60
57
  "tw-animate-css": "^1.4.0",
61
58
  "use-sync-external-store": "^1.6.0"
62
59
  },
@@ -710,11 +707,6 @@
710
707
  "import": "./dist/shell/notification-preferences.js",
711
708
  "default": "./dist/shell/notification-preferences.js"
712
709
  },
713
- "./shell/sidebar": {
714
- "types": "./dist/shell/sidebar.d.ts",
715
- "import": "./dist/shell/sidebar.js",
716
- "default": "./dist/shell/sidebar.js"
717
- },
718
710
  "./shell/top-bar": {
719
711
  "types": "./dist/shell/top-bar.d.ts",
720
712
  "import": "./dist/shell/top-bar.js",
@@ -740,6 +732,16 @@
740
732
  "import": "./dist/hooks/use-mobile.js",
741
733
  "default": "./dist/hooks/use-mobile.js"
742
734
  },
735
+ "./hooks/use-touch-device": {
736
+ "types": "./dist/hooks/use-touch-device.d.ts",
737
+ "import": "./dist/hooks/use-touch-device.js",
738
+ "default": "./dist/hooks/use-touch-device.js"
739
+ },
740
+ "./hooks/use-viewport-height": {
741
+ "types": "./dist/hooks/use-viewport-height.d.ts",
742
+ "import": "./dist/hooks/use-viewport-height.js",
743
+ "default": "./dist/hooks/use-viewport-height.js"
744
+ },
743
745
  "./utils": {
744
746
  "types": "./dist/ui/lib/utils.d.ts",
745
747
  "import": "./dist/ui/lib/utils.js",
@@ -855,6 +857,10 @@
855
857
  "@tabler/icons-react": "^3.0.0",
856
858
  "@tanstack/react-table": "^8.0.0",
857
859
  "@tanstack/react-virtual": "^3.0.0",
860
+ "@tiptap/core": "^3.28.0",
861
+ "@tiptap/pm": "^3.28.0",
862
+ "@tiptap/react": "^3.28.0",
863
+ "@tiptap/suggestion": "^3.28.0",
858
864
  "d3-array": "^3.0.0",
859
865
  "d3-axis": "^3.0.0",
860
866
  "d3-format": "^3.0.0",
@@ -884,6 +890,18 @@
884
890
  "@tanstack/react-virtual": {
885
891
  "optional": true
886
892
  },
893
+ "@tiptap/core": {
894
+ "optional": true
895
+ },
896
+ "@tiptap/pm": {
897
+ "optional": true
898
+ },
899
+ "@tiptap/react": {
900
+ "optional": true
901
+ },
902
+ "@tiptap/suggestion": {
903
+ "optional": true
904
+ },
887
905
  "d3-array": {
888
906
  "optional": true
889
907
  },
@@ -972,8 +990,10 @@
972
990
  "d3-time-format": "^4.1.0",
973
991
  "d3-transition": "^3.0.1",
974
992
  "date-fns": "^4.4.0",
993
+ "diff": "^9.0.0",
975
994
  "esbuild": "^0.28.1",
976
995
  "framer-motion": "^12.42.2",
996
+ "frimousse": "^0.3.0",
977
997
  "input-otp": "^1.4.2",
978
998
  "prosemirror-state": "^1.4.4",
979
999
  "react-colorful": "^5.8.0",
package/skill/SKILL.md CHANGED
@@ -3,7 +3,7 @@ name: shilp-sutra
3
3
  description: Add, configure, and use components from Devalok's shilp-sutra design system (@devalok/shilp-sutra) — a Tailwind 4 + React 19 + CVA library with 110+ accessible components, OKLCH design tokens, framer-motion animations, and per-component RSC-safe entry points. Use this skill whenever the user mentions shilp-sutra, Devalok, the @devalok npm scope, or asks to install/add/style/theme UI in any React project that already depends on the package — even if they don't name it explicitly. Use it instead of generic shadcn/ui, MUI, or Chakra knowledge when shilp-sutra is in the project. Covers Next.js (App + Pages), Vite, Astro, Remix, TanStack Start setup playbooks; component API and variant reference; brand token customization; Server Component import patterns; and a troubleshoot tree for the thirteen most common breakages.
4
4
  license: MIT
5
5
  metadata:
6
- version: "0.53.0"
6
+ version: "0.55.0"
7
7
  author: Devalok Design & Strategy Studios
8
8
  homepage: https://github.com/devalok-design/shilp-sutra
9
9
  npm: https://www.npmjs.com/package/@devalok/shilp-sutra
@@ -0,0 +1,18 @@
1
+ # shilp-sutra chat skill
2
+
3
+ A small pointer that teaches AI chat assistants what `@devalok/shilp-sutra` is and
4
+ routes them to the MCP server for the real, version-exact component docs. Use it on chat
5
+ surfaces that have no native Agent Skills support. For coding agents (Claude Code,
6
+ Cursor, Codex), use the full skill in the parent directory instead.
7
+
8
+ All of these say the same thing; pick the file that matches where you are pasting.
9
+
10
+ | Surface | File | How to load it |
11
+ | --- | --- | --- |
12
+ | claude.ai / Claude Desktop | `SKILL.md` | Add as a skill, or connect the MCP directly: `claude mcp add --transport http shilp-sutra https://shilp-sutra.devalok.in/mcp` |
13
+ | ChatGPT (Custom GPT or Custom Instructions) | `chatgpt-instructions.md` | Paste the block into the GPT's Instructions field |
14
+ | Gemini (Gem) | `gemini-instructions.md` | Paste the block into the Gem's Instructions field |
15
+ | Copilot Chat / other | `SKILL.md` | Paste the body into the system or context prompt |
16
+
17
+ The heavy lifting lives in the MCP server at https://shilp-sutra.devalok.in/mcp. These
18
+ files only orient the model and point it there; they do not duplicate component docs.
@@ -0,0 +1,78 @@
1
+ ---
2
+ name: shilp-sutra
3
+ description: >
4
+ Use whenever the user works with @devalok/shilp-sutra or the Devalok Design
5
+ System in a React or Next.js project: installing it, importing components,
6
+ building dashboards, theming with an archetype or a brand color, or fixing
7
+ token and setup issues. Trigger on any @devalok import or a component name
8
+ (Sidebar, StatCard, DataTable, DatePicker, TopBar, PageHeader) even when the
9
+ package is not named. Prefer this over shadcn/ui, Radix, MUI, or Chakra
10
+ knowledge whenever shilp-sutra is in the project.
11
+ license: MIT
12
+ metadata:
13
+ author: Devalok Design & Strategy Studio
14
+ homepage: https://github.com/devalok-design/shilp-sutra
15
+ npm: https://www.npmjs.com/package/@devalok/shilp-sutra
16
+ ---
17
+
18
+ # shilp-sutra (Devalok Design System): chat quick reference
19
+
20
+ `@devalok/shilp-sutra` is Devalok's design system for React and Next.js: Tailwind 4,
21
+ React 19, CVA, OKLCH tokens. It is NOT shadcn/ui, Radix, MUI, or Chakra. The component
22
+ APIs, token namespace, and setup all differ, so do not answer from memory of those
23
+ libraries. This file is a pointer. The full, version-exact docs live in the shilp-sutra
24
+ MCP server.
25
+
26
+ ## Install
27
+
28
+ ```bash
29
+ pnpm add @devalok/shilp-sutra framer-motion
30
+ ```
31
+
32
+ `framer-motion@^12` is a required peer. Add `sonner@^2` only if you render a `<Toaster />`.
33
+
34
+ ## Wire the CSS (Tailwind 4, no JS config)
35
+
36
+ ```css
37
+ @import "tailwindcss";
38
+ @import "@devalok/shilp-sutra/css";
39
+ ```
40
+
41
+ There is no `tailwind.config.ts` and no preset. On Next.js, add
42
+ `transpilePackages: ["@devalok/shilp-sutra"]` to `next.config`.
43
+
44
+ ## Import layers
45
+
46
+ | Layer | Import | Holds |
47
+ | -------- | ------------------------------------- | ---------------------------------------------- |
48
+ | ui | `@devalok/shilp-sutra/ui/<name>` | primitives: Button, Input, Dialog, Select, ... |
49
+ | composed | `@devalok/shilp-sutra/composed/<name>`| patterns: StatCard, DataTable, DatePicker, ... |
50
+ | shell | `@devalok/shilp-sutra/shell/<name>` | app frame: TopBar, Sidebar, BottomNavbar |
51
+
52
+ Prefer per-component imports (`/ui/button`) over the barrel (`/ui`): smaller bundles and
53
+ Server-Component safe.
54
+
55
+ ## Full docs live in the MCP: connect it
56
+
57
+ For real component APIs, props, variants, tokens, and setup recipes, use the shilp-sutra
58
+ MCP server. Do not guess prop or variant names; they are enumerated there.
59
+
60
+ ```
61
+ https://shilp-sutra.devalok.in/mcp
62
+ ```
63
+
64
+ Claude Code or Claude Desktop:
65
+
66
+ ```bash
67
+ claude mcp add --transport http shilp-sutra https://shilp-sutra.devalok.in/mcp
68
+ ```
69
+
70
+ Once connected, call `how_to_use` first, then `get_component`, `get_setup`, and
71
+ `get_tokens` as needed.
72
+
73
+ ## Theming
74
+
75
+ For a copy-paste theme (a 12-step accent ramp plus role tokens), send the user to the
76
+ Themer: https://shilp-sutra.devalok.in/themer . Paste its CSS block after the
77
+ `@import "@devalok/shilp-sutra/css";` line. Theming is CSS-only; there is no provider
78
+ component.
@@ -0,0 +1,26 @@
1
+ <!-- Paste the block below into a ChatGPT Custom GPT's "Instructions" field, or into
2
+ Settings > Personalization > Custom Instructions. Keep it verbatim. -->
3
+
4
+ You help users build UI with @devalok/shilp-sutra, the Devalok Design System for
5
+ React and Next.js (Tailwind 4, React 19, CVA, OKLCH tokens).
6
+
7
+ It is NOT shadcn/ui, Radix, MUI, or Chakra. The component APIs, token namespace, and
8
+ setup differ from all of them. Do not answer from memory of those libraries, and do
9
+ not invent prop or variant names.
10
+
11
+ Setup:
12
+ - Install: `pnpm add @devalok/shilp-sutra framer-motion` (framer-motion@^12 is a
13
+ required peer; add sonner@^2 only for a Toaster).
14
+ - CSS (Tailwind 4, no JS config): `@import "tailwindcss";` then
15
+ `@import "@devalok/shilp-sutra/css";`. On Next.js add
16
+ `transpilePackages: ["@devalok/shilp-sutra"]`.
17
+ - Import per component: `@devalok/shilp-sutra/ui/button`,
18
+ `@devalok/shilp-sutra/composed/stat-card`, `@devalok/shilp-sutra/shell/top-bar`.
19
+
20
+ For real component APIs, props, variants, tokens, and setup recipes, tell the user to
21
+ connect the shilp-sutra MCP server at https://shilp-sutra.devalok.in/mcp and to read
22
+ its `how_to_use`, `get_component`, `get_setup`, and `get_tokens` tools. That server is
23
+ the version-exact source of truth; this instruction block is only an orientation.
24
+
25
+ For theming, point the user to the Themer at https://shilp-sutra.devalok.in/themer for
26
+ a copy-paste CSS theme.
@@ -0,0 +1,25 @@
1
+ <!-- Paste the block below into a Gemini Gem's "Instructions" field. Keep it verbatim. -->
2
+
3
+ Act as a helper for @devalok/shilp-sutra, the Devalok Design System for React and
4
+ Next.js (Tailwind 4, React 19, CVA, OKLCH tokens).
5
+
6
+ It is NOT shadcn/ui, Radix, MUI, or Chakra. Its component APIs, token namespace, and
7
+ setup differ. Do not answer from memory of those libraries, and never invent prop or
8
+ variant names.
9
+
10
+ Setup:
11
+ - Install: `pnpm add @devalok/shilp-sutra framer-motion` (framer-motion@^12 is a
12
+ required peer; add sonner@^2 only for a Toaster).
13
+ - CSS (Tailwind 4, no JS config): `@import "tailwindcss";` then
14
+ `@import "@devalok/shilp-sutra/css";`. On Next.js add
15
+ `transpilePackages: ["@devalok/shilp-sutra"]`.
16
+ - Import per component: `@devalok/shilp-sutra/ui/button`,
17
+ `@devalok/shilp-sutra/composed/stat-card`, `@devalok/shilp-sutra/shell/top-bar`.
18
+
19
+ For real component APIs, props, variants, tokens, and setup recipes, direct the user to
20
+ the shilp-sutra MCP server at https://shilp-sutra.devalok.in/mcp (tools: `how_to_use`,
21
+ `get_component`, `get_setup`, `get_tokens`). It is the version-exact source of truth;
22
+ these instructions are only an orientation.
23
+
24
+ For theming, send the user to the Themer at https://shilp-sutra.devalok.in/themer for a
25
+ copy-paste CSS theme.
@@ -2,7 +2,7 @@
2
2
 
3
3
  # @devalok/shilp-sutra
4
4
 
5
- > Radix UI + Tailwind 4 (CSS-first) + CVA design system for Devalok apps, v0.53.0.
5
+ > Radix UI + Tailwind 4 (CSS-first) + CVA design system for Devalok apps, v0.55.0.
6
6
  > Built on the same primitives as shadcn/ui but with DIFFERENT prop APIs — never guess from shadcn knowledge; verify every prop.
7
7
  > This file is a ROUTER: it tells you what exists and where to get details. Do not look for prop tables here — fetch them per component (MCP tool or per-component doc file below).
8
8
 
@@ -94,6 +94,7 @@ Format: `[name](doc path): summary`. Import paths follow `@devalok/shilp-sutra/<
94
94
  - [select](docs/components/ui/select.md)
95
95
  - [separator](docs/components/ui/separator.md)
96
96
  - [sheet](docs/components/ui/sheet.md)
97
+ - [sidebar](docs/components/ui/sidebar.md)
97
98
  - [skeleton](docs/components/ui/skeleton.md)
98
99
  - [slider](docs/components/ui/slider.md)
99
100
  - [spinner](docs/components/ui/spinner.md)
@@ -158,7 +159,6 @@ Format: `[name](doc path): summary`. Import paths follow `@devalok/shilp-sutra/<
158
159
  - [link-context](docs/components/shell/link-context.md): Exports: LinkProvider, useLink
159
160
  - [notification-center](docs/components/shell/notification-center.md)
160
161
  - [notification-preferences](docs/components/shell/notification-preferences.md)
161
- - [sidebar](docs/components/shell/sidebar.md)
162
162
  - [top-bar](docs/components/shell/top-bar.md)
163
163
 
164
164
  ### ai
@@ -40,6 +40,8 @@ Some components ship hard peers as optional. **Install BEFORE first import.**
40
40
  | `@devalok/shilp-sutra/composed/date-picker` | `pnpm add date-fns` |
41
41
  | `@devalok/shilp-sutra/composed/file-preview` | `pnpm add react-pdf react-zoom-pan-pinch` |
42
42
  | `@devalok/shilp-sutra/composed/markdown-viewer` | `pnpm add react-markdown react-syntax-highlighter remark-gfm` |
43
+ | `@devalok/shilp-sutra/composed/rich-chat-input` | `pnpm add -D @tiptap/pm @tiptap/react` *(types only — the runtime is bundled)* |
44
+ | `@devalok/shilp-sutra/composed/rich-text-editor` | `pnpm add -D @tiptap/pm @tiptap/react` *(types only — the runtime is bundled)* |
43
45
  | `@devalok/shilp-sutra/composed/schedule-view` | `pnpm add date-fns` |
44
46
  | `@devalok/shilp-sutra/ui/charts` | `pnpm add d3-axis d3-scale d3-selection d3-shape` |
45
47
  | `@devalok/shilp-sutra/ui/data-table` | `pnpm add @tanstack/react-table @tanstack/react-virtual` |
@@ -53,6 +53,8 @@ Some components depend on third-party libraries that ship as optional peers. **I
53
53
  | `@devalok/shilp-sutra/composed/date-picker` | `pnpm add date-fns` |
54
54
  | `@devalok/shilp-sutra/composed/file-preview` | `pnpm add react-pdf react-zoom-pan-pinch` |
55
55
  | `@devalok/shilp-sutra/composed/markdown-viewer` | `pnpm add react-markdown react-syntax-highlighter remark-gfm` |
56
+ | `@devalok/shilp-sutra/composed/rich-chat-input` | `pnpm add -D @tiptap/pm @tiptap/react` *(types only — the runtime is bundled)* |
57
+ | `@devalok/shilp-sutra/composed/rich-text-editor` | `pnpm add -D @tiptap/pm @tiptap/react` *(types only — the runtime is bundled)* |
56
58
  | `@devalok/shilp-sutra/composed/schedule-view` | `pnpm add date-fns` |
57
59
  | `@devalok/shilp-sutra/ui/charts` | `pnpm add d3-axis d3-scale d3-selection d3-shape` |
58
60
  | `@devalok/shilp-sutra/ui/data-table` | `pnpm add @tanstack/react-table @tanstack/react-virtual` |
@@ -36,6 +36,8 @@ Some components ship hard peers as optional. **Install BEFORE first import.**
36
36
  | `@devalok/shilp-sutra/composed/date-picker` | `pnpm add date-fns` |
37
37
  | `@devalok/shilp-sutra/composed/file-preview` | `pnpm add react-pdf react-zoom-pan-pinch` |
38
38
  | `@devalok/shilp-sutra/composed/markdown-viewer` | `pnpm add react-markdown react-syntax-highlighter remark-gfm` |
39
+ | `@devalok/shilp-sutra/composed/rich-chat-input` | `pnpm add -D @tiptap/pm @tiptap/react` *(types only — the runtime is bundled)* |
40
+ | `@devalok/shilp-sutra/composed/rich-text-editor` | `pnpm add -D @tiptap/pm @tiptap/react` *(types only — the runtime is bundled)* |
39
41
  | `@devalok/shilp-sutra/composed/schedule-view` | `pnpm add date-fns` |
40
42
  | `@devalok/shilp-sutra/ui/charts` | `pnpm add d3-axis d3-scale d3-selection d3-shape` |
41
43
  | `@devalok/shilp-sutra/ui/data-table` | `pnpm add @tanstack/react-table @tanstack/react-virtual` |
@@ -45,6 +45,8 @@ Some components ship hard peers as optional. **Install BEFORE first import.**
45
45
  | `@devalok/shilp-sutra/composed/date-picker` | `pnpm add date-fns` |
46
46
  | `@devalok/shilp-sutra/composed/file-preview` | `pnpm add react-pdf react-zoom-pan-pinch` |
47
47
  | `@devalok/shilp-sutra/composed/markdown-viewer` | `pnpm add react-markdown react-syntax-highlighter remark-gfm` |
48
+ | `@devalok/shilp-sutra/composed/rich-chat-input` | `pnpm add -D @tiptap/pm @tiptap/react` *(types only — the runtime is bundled)* |
49
+ | `@devalok/shilp-sutra/composed/rich-text-editor` | `pnpm add -D @tiptap/pm @tiptap/react` *(types only — the runtime is bundled)* |
48
50
  | `@devalok/shilp-sutra/composed/schedule-view` | `pnpm add date-fns` |
49
51
  | `@devalok/shilp-sutra/ui/charts` | `pnpm add d3-axis d3-scale d3-selection d3-shape` |
50
52
  | `@devalok/shilp-sutra/ui/data-table` | `pnpm add @tanstack/react-table @tanstack/react-virtual` |
@@ -51,6 +51,8 @@ Some components ship hard peers as optional. **Install BEFORE first import.**
51
51
  | `@devalok/shilp-sutra/composed/date-picker` | `pnpm add date-fns` |
52
52
  | `@devalok/shilp-sutra/composed/file-preview` | `pnpm add react-pdf react-zoom-pan-pinch` |
53
53
  | `@devalok/shilp-sutra/composed/markdown-viewer` | `pnpm add react-markdown react-syntax-highlighter remark-gfm` |
54
+ | `@devalok/shilp-sutra/composed/rich-chat-input` | `pnpm add -D @tiptap/pm @tiptap/react` *(types only — the runtime is bundled)* |
55
+ | `@devalok/shilp-sutra/composed/rich-text-editor` | `pnpm add -D @tiptap/pm @tiptap/react` *(types only — the runtime is bundled)* |
54
56
  | `@devalok/shilp-sutra/composed/schedule-view` | `pnpm add date-fns` |
55
57
  | `@devalok/shilp-sutra/ui/charts` | `pnpm add d3-axis d3-scale d3-selection d3-shape` |
56
58
  | `@devalok/shilp-sutra/ui/data-table` | `pnpm add @tanstack/react-table @tanstack/react-virtual` |
@@ -198,6 +198,8 @@ In dev mode, calling `toast()` without a mounted `<Toaster />` logs a one-time c
198
198
 
199
199
  **Diagnosis:** Should not happen since v0.37.0 — `use-sync-external-store` was moved to runtime dependencies and is auto-installed transitively.
200
200
 
201
+ **Why this dependency exists at all** (it is a hook built into React 18+, so it looks redundant): we do not use the shim ourselves. It is a TipTap transitive. TipTap's code is bundled into our `dist`, and that bundled chunk imports `use-sync-external-store/shim`. We externalize the shim rather than bundling it, because bundling forced a `createRequire` bridge into our Rollup runtime chunk that broke every Turbopack consumer. Externalized code must be resolvable from the consumer's tree, hence the declaration.
202
+
201
203
  If it still happens, install it explicitly:
202
204
 
203
205
  ```bash
@@ -206,6 +208,84 @@ pnpm add use-sync-external-store
206
208
 
207
209
  And open an issue at <https://github.com/devalok-design/shilp-sutra/issues> with the resolution graph (`pnpm why use-sync-external-store`) so we can fix the root cause.
208
210
 
211
+ ## Symptom: `Cannot find package 'sonner'` when you only imported a hook (or `'react-markdown'` from the AI barrel)
212
+
213
+ **Diagnosis:** you imported a *barrel* rather than the component itself, and the barrel re-exports something with an optional peer.
214
+
215
+ - `@devalok/shilp-sutra/hooks` re-exports `toast`, which needs `sonner`.
216
+ - `@devalok/shilp-sutra/ai` re-exports the block renderer, which needs `react-markdown`.
217
+
218
+ A bundler tree-shakes the unused branch away, so this is invisible in a client build. It bites at **runtime in Node** — SSR, a route handler, a test — where the import is evaluated for real.
219
+
220
+ Fix — import the specific module instead of the barrel:
221
+
222
+ ```ts
223
+ // needs sonner installed, because the barrel also exports toast
224
+ import { useIsMobile } from '@devalok/shilp-sutra/hooks'
225
+
226
+ // no optional peers at all
227
+ import { useIsMobile } from '@devalok/shilp-sutra/hooks/use-mobile'
228
+ ```
229
+
230
+ Every hook has its own subpath: `use-mobile`, `use-color-mode`, `use-touch-device`, `use-viewport-height`. Same rule applies across the library — a deep import never costs you more than that component needs.
231
+
232
+ ## Symptom: `error TS2305: Module '"react"' has no exported member 'ReactSVG'`
233
+
234
+ **This is an upstream `@tabler/icons-react` bug, not a shilp-sutra one** — but you will hit it following our install instructions, so it is documented here.
235
+
236
+ `@tabler/icons-react` (through 3.45.0, the current release) opens its type declarations with:
237
+
238
+ ```ts
239
+ import { ReactSVG, … } from 'react'
240
+ ```
241
+
242
+ React 18's types exported `ReactSVG`; React 19's removed it, keeping only `ReactSVGElement`. So on React 19 the icon package's own `.d.ts` fails to compile.
243
+
244
+ You only see it with **all three**: React 19, `skipLibCheck: false`, and a direct `@tabler/icons-react` import in your own code. React 18 is unaffected, and the default `skipLibCheck: true` suppresses it.
245
+
246
+ Workarounds, in order of preference:
247
+
248
+ 1. Leave `skipLibCheck: true` (the default in every framework scaffold). It suppresses errors inside dependency declarations — including this one.
249
+ 2. Import icons through our re-export instead of directly, so the broken declaration is never loaded into your program.
250
+ 3. Pin `@types/react` to 18 if your app is still on React 18.
251
+
252
+ There is nothing to fix on our side: we neither wrap nor re-declare Tabler's types. Track it upstream at <https://github.com/tabler/tabler-icons/issues>.
253
+
254
+ ## Symptom: `error TS2307: Cannot find module '@devalok/shilp-sutra/ui/button'` under `"moduleResolution": "node"`
255
+
256
+ **Diagnosis:** You are on TypeScript's legacy resolution mode, which predates and ignores the `exports` field in `package.json`. Our files live under `dist/`, and every public path is mapped through `exports` — legacy resolution looks for a literal `node_modules/@devalok/shilp-sutra/ui/button.js` and finds nothing.
257
+
258
+ **Supported resolution modes:**
259
+
260
+ | `moduleResolution` | Supported | Notes |
261
+ |---|---|---|
262
+ | `bundler` | ✅ | Recommended. Vite, Next.js, and most modern setups default to this. |
263
+ | `node16` / `nodenext` | ✅ | Fully supported since 0.55.0. |
264
+ | `node` (legacy) | ❌ | Cannot read `exports`. No subpath resolves. |
265
+
266
+ Fix — in your `tsconfig.json`:
267
+
268
+ ```jsonc
269
+ { "compilerOptions": { "moduleResolution": "bundler" } }
270
+ ```
271
+
272
+ ## Symptom: `require('@devalok/shilp-sutra')` throws `ERR_REQUIRE_ESM`
273
+
274
+ **Diagnosis:** The package is ESM-only — we ship no CommonJS build. Whether `require()` works depends on your Node version:
275
+
276
+ | Node | `require('@devalok/shilp-sutra/ui/button')` |
277
+ |---|---|
278
+ | 22.12+ / 23+ | ✅ Works — `require(esm)` is supported and unflagged. Verified against every entry point, including the full `./ui` barrel. |
279
+ | < 22.12 | ❌ `ERR_REQUIRE_ESM` |
280
+
281
+ On older Node, use a dynamic import:
282
+
283
+ ```js
284
+ const { Button } = await import('@devalok/shilp-sutra/ui/button')
285
+ ```
286
+
287
+ Or move the consuming file to ESM (`"type": "module"`, or a `.mjs` extension). Every supported framework target — Next.js, Vite, Remix, Astro, TanStack Start — handles the ESM entry natively; this only affects hand-written CJS scripts.
288
+
209
289
  ## Symptom: Storybook MCP server `localhost:6006/mcp` returns 404
210
290
 
211
291
  **Diagnosis:** Storybook dev server isn't running, OR the MCP plugin is not enabled in this Storybook version.