@devalok/shilp-sutra 0.34.1 → 0.36.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (439) hide show
  1. package/LICENSE +21 -21
  2. package/dist/_chunks/badge-group.js +95 -95
  3. package/dist/_chunks/badge-group.js.map +1 -0
  4. package/dist/_chunks/chat.js +7 -2
  5. package/dist/_chunks/chat.js.map +1 -0
  6. package/dist/_chunks/date-picker.js.map +1 -0
  7. package/dist/_chunks/document-preview.js.map +1 -0
  8. package/dist/_chunks/file-preview.js.map +1 -0
  9. package/dist/_chunks/framer.js +62 -62
  10. package/dist/_chunks/framer.js.map +1 -0
  11. package/dist/_chunks/image-preview.js +1 -1
  12. package/dist/_chunks/image-preview.js.map +1 -0
  13. package/dist/_chunks/keybinding.js.map +1 -0
  14. package/dist/_chunks/link-context.js.map +1 -0
  15. package/dist/_chunks/mention-suggestion.js.map +1 -0
  16. package/dist/_chunks/motion-provider.js.map +1 -0
  17. package/dist/_chunks/popover.js +32 -36
  18. package/dist/_chunks/popover.js.map +1 -0
  19. package/dist/_chunks/primitives.js +686 -686
  20. package/dist/_chunks/primitives.js.map +1 -0
  21. package/dist/_chunks/rich-chat-input.js +650 -649
  22. package/dist/_chunks/rich-chat-input.js.map +1 -0
  23. package/dist/_chunks/shared.js.map +1 -0
  24. package/dist/_chunks/sonner.js.map +1 -0
  25. package/dist/_chunks/stat-row.js +158 -158
  26. package/dist/_chunks/stat-row.js.map +1 -0
  27. package/dist/_chunks/tiptap.js +11 -11
  28. package/dist/_chunks/tiptap.js.map +1 -0
  29. package/dist/_chunks/tree-view.js +1 -1
  30. package/dist/_chunks/tree-view.js.map +1 -0
  31. package/dist/_chunks/use-calendar.js.map +1 -0
  32. package/dist/_chunks/vendor-client.js +1 -1
  33. package/dist/_chunks/vendor-client.js.map +1 -0
  34. package/dist/_chunks/vendor-utils.js.map +1 -0
  35. package/dist/ai/ai-command-provider.js.map +1 -0
  36. package/dist/ai/block-renderer.js.map +1 -0
  37. package/dist/ai/blocks/loading.d.ts.map +1 -1
  38. package/dist/ai/command-bar.js.map +1 -0
  39. package/dist/ai/conversation.js +76 -76
  40. package/dist/ai/conversation.js.map +1 -0
  41. package/dist/ai/devadoot-icon.d.ts.map +1 -1
  42. package/dist/ai/index.js.map +1 -0
  43. package/dist/composed/activity-feed.js.map +1 -0
  44. package/dist/composed/avatar-group.js +1 -1
  45. package/dist/composed/avatar-group.js.map +1 -0
  46. package/dist/composed/bulk-action-bar.js +13 -21
  47. package/dist/composed/bulk-action-bar.js.map +1 -0
  48. package/dist/composed/command-palette.js.map +1 -0
  49. package/dist/composed/confirm-dialog.js.map +1 -0
  50. package/dist/composed/content-card.js.map +1 -0
  51. package/dist/composed/deadline-indicator.js.map +1 -0
  52. package/dist/composed/emoji-picker.js.map +1 -0
  53. package/dist/composed/empty-state.d.ts.map +1 -1
  54. package/dist/composed/empty-state.js +30 -30
  55. package/dist/composed/empty-state.js.map +1 -0
  56. package/dist/composed/error-boundary.js.map +1 -0
  57. package/dist/composed/filter-bar.js.map +1 -0
  58. package/dist/composed/form-section.js.map +1 -0
  59. package/dist/composed/global-loading.js.map +1 -0
  60. package/dist/composed/inline-edit.js.map +1 -0
  61. package/dist/composed/lib/string-utils.js.map +1 -0
  62. package/dist/composed/loading-skeleton.js.map +1 -0
  63. package/dist/composed/markdown-viewer.js.map +1 -0
  64. package/dist/composed/master-detail.js.map +1 -0
  65. package/dist/composed/member-picker.js.map +1 -0
  66. package/dist/composed/multi-select-popover.d.ts.map +1 -1
  67. package/dist/composed/multi-select-popover.js +4 -0
  68. package/dist/composed/multi-select-popover.js.map +1 -0
  69. package/dist/composed/page-header.js.map +1 -0
  70. package/dist/composed/page-skeletons.js.map +1 -0
  71. package/dist/composed/priority-indicator.js.map +1 -0
  72. package/dist/composed/responsive-overlay.js.map +1 -0
  73. package/dist/composed/rich-chat-input/attachment-strip.d.ts.map +1 -1
  74. package/dist/composed/rich-chat-input/reply-banner.d.ts.map +1 -1
  75. package/dist/composed/rich-chat-input/schedule-send.d.ts.map +1 -1
  76. package/dist/composed/rich-chat-input.d.ts.map +1 -1
  77. package/dist/composed/rich-text-editor.js.map +1 -0
  78. package/dist/composed/schedule-view.js.map +1 -0
  79. package/dist/composed/simple-tooltip.js.map +1 -0
  80. package/dist/composed/status-badge.d.ts.map +1 -1
  81. package/dist/composed/status-badge.js.map +1 -0
  82. package/dist/hooks/use-color-mode.js.map +1 -0
  83. package/dist/hooks/use-mobile.js.map +1 -0
  84. package/dist/hooks/use-touch-device.js.map +1 -0
  85. package/dist/hooks/use-viewport-height.js.map +1 -0
  86. package/dist/motion/check-motion-provider.d.ts +3 -0
  87. package/dist/motion/check-motion-provider.d.ts.map +1 -0
  88. package/dist/motion/index.js +14 -0
  89. package/dist/motion/index.js.map +1 -0
  90. package/dist/motion/primitives-index.js.map +1 -0
  91. package/dist/primitives/react-accordion.d.ts +114 -114
  92. package/dist/primitives/react-alert-dialog.d.ts +51 -51
  93. package/dist/primitives/react-aspect-ratio.d.ts +11 -11
  94. package/dist/primitives/react-avatar.d.ts +24 -24
  95. package/dist/primitives/react-checkbox.d.ts +50 -50
  96. package/dist/primitives/react-collapsible.d.ts +33 -33
  97. package/dist/primitives/react-context-menu.d.ts +96 -96
  98. package/dist/primitives/react-dialog.d.ts +103 -103
  99. package/dist/primitives/react-dropdown-menu.d.ts +97 -97
  100. package/dist/primitives/react-hover-card.d.ts +79 -79
  101. package/dist/primitives/react-label.d.ts +10 -10
  102. package/dist/primitives/react-menu.d.ts +169 -169
  103. package/dist/primitives/react-menubar.d.ts +115 -115
  104. package/dist/primitives/react-navigation-menu.d.ts +126 -126
  105. package/dist/primitives/react-popover.d.ts +85 -85
  106. package/dist/primitives/react-progress.d.ts +19 -19
  107. package/dist/primitives/react-radio-group.d.ts +58 -58
  108. package/dist/primitives/react-roving-focus.d.ts +49 -49
  109. package/dist/primitives/react-select.d.ts +137 -137
  110. package/dist/primitives/react-separator.d.ts +21 -21
  111. package/dist/primitives/react-slider.d.ts +75 -75
  112. package/dist/primitives/react-switch.d.ts +21 -21
  113. package/dist/primitives/react-tabs.d.ts +56 -56
  114. package/dist/primitives/react-toast.d.ts +120 -120
  115. package/dist/primitives/react-toggle-group.d.ts +75 -75
  116. package/dist/primitives/react-toggle.d.ts +24 -24
  117. package/dist/primitives/react-tooltip.d.ts +101 -101
  118. package/dist/primitives/react-visually-hidden.d.ts +22 -22
  119. package/dist/shell/app-command-palette.d.ts +2 -0
  120. package/dist/shell/app-command-palette.d.ts.map +1 -1
  121. package/dist/shell/app-command-palette.js +42 -155
  122. package/dist/shell/app-command-palette.js.map +1 -0
  123. package/dist/shell/bottom-navbar.js +1 -1
  124. package/dist/shell/bottom-navbar.js.map +1 -0
  125. package/dist/shell/command-registry.js.map +1 -0
  126. package/dist/shell/notification-center.d.ts.map +1 -1
  127. package/dist/shell/notification-center.js +194 -169
  128. package/dist/shell/notification-center.js.map +1 -0
  129. package/dist/shell/notification-preferences.js.map +1 -0
  130. package/dist/shell/sidebar.js.map +1 -0
  131. package/dist/shell/top-bar.js +1 -1
  132. package/dist/shell/top-bar.js.map +1 -0
  133. package/dist/tailwind/index.cjs +48 -1
  134. package/dist/tailwind/preset.d.ts.map +1 -1
  135. package/dist/tailwind/preset.js +48 -1
  136. package/dist/tailwind/preset.js.map +1 -0
  137. package/dist/tokens/index.css +4 -4
  138. package/dist/tokens/primitives.css +442 -442
  139. package/dist/tokens/semantic.css +742 -547
  140. package/dist/tokens/typography-semantic.css +123 -100
  141. package/dist/tokens/typography.css +422 -422
  142. package/dist/ui/accordion.js +13 -13
  143. package/dist/ui/accordion.js.map +1 -0
  144. package/dist/ui/alert-dialog.d.ts +6 -2
  145. package/dist/ui/alert-dialog.d.ts.map +1 -1
  146. package/dist/ui/alert-dialog.js +43 -42
  147. package/dist/ui/alert-dialog.js.map +1 -0
  148. package/dist/ui/alert.d.ts +3 -2
  149. package/dist/ui/alert.d.ts.map +1 -1
  150. package/dist/ui/alert.js +31 -5
  151. package/dist/ui/alert.js.map +1 -0
  152. package/dist/ui/aspect-ratio.js +1 -1
  153. package/dist/ui/aspect-ratio.js.map +1 -0
  154. package/dist/ui/autocomplete.d.ts.map +1 -1
  155. package/dist/ui/autocomplete.js +92 -67
  156. package/dist/ui/autocomplete.js.map +1 -0
  157. package/dist/ui/avatar.js +9 -9
  158. package/dist/ui/avatar.js.map +1 -0
  159. package/dist/ui/badge-indicator.js.map +1 -0
  160. package/dist/ui/banner.js.map +1 -0
  161. package/dist/ui/breadcrumb.js +1 -1
  162. package/dist/ui/breadcrumb.js.map +1 -0
  163. package/dist/ui/button-group.js.map +1 -0
  164. package/dist/ui/button-processing.d.ts.map +1 -1
  165. package/dist/ui/button-processing.js +61 -40
  166. package/dist/ui/button-processing.js.map +1 -0
  167. package/dist/ui/button.js +8 -8
  168. package/dist/ui/button.js.map +1 -0
  169. package/dist/ui/card.js.map +1 -0
  170. package/dist/ui/charts/bar-chart.d.ts.map +1 -1
  171. package/dist/ui/charts/chart-container.d.ts +2 -0
  172. package/dist/ui/charts/chart-container.d.ts.map +1 -1
  173. package/dist/ui/charts/index.js +88 -65
  174. package/dist/ui/charts/index.js.map +1 -0
  175. package/dist/ui/charts/line-chart.d.ts.map +1 -1
  176. package/dist/ui/chat/message-input.d.ts.map +1 -1
  177. package/dist/ui/chat/message-list.d.ts +1 -1
  178. package/dist/ui/chat/message-list.d.ts.map +1 -1
  179. package/dist/ui/chat/message.d.ts.map +1 -1
  180. package/dist/ui/chat/system-message.d.ts.map +1 -1
  181. package/dist/ui/checkbox.d.ts.map +1 -1
  182. package/dist/ui/checkbox.js +33 -28
  183. package/dist/ui/checkbox.js.map +1 -0
  184. package/dist/ui/code.js.map +1 -0
  185. package/dist/ui/collapsible.js +1 -1
  186. package/dist/ui/collapsible.js.map +1 -0
  187. package/dist/ui/color-input.d.ts.map +1 -1
  188. package/dist/ui/color-input.js +165 -163
  189. package/dist/ui/color-input.js.map +1 -0
  190. package/dist/ui/color-swatch.js.map +1 -0
  191. package/dist/ui/combobox.d.ts +7 -0
  192. package/dist/ui/combobox.d.ts.map +1 -1
  193. package/dist/ui/combobox.js +147 -113
  194. package/dist/ui/combobox.js.map +1 -0
  195. package/dist/ui/container.js +1 -1
  196. package/dist/ui/container.js.map +1 -0
  197. package/dist/ui/context-menu.js.map +1 -0
  198. package/dist/ui/data-table-body.js.map +1 -0
  199. package/dist/ui/data-table-bulk-actions.js +1 -1
  200. package/dist/ui/data-table-bulk-actions.js.map +1 -0
  201. package/dist/ui/data-table-card.js.map +1 -0
  202. package/dist/ui/data-table-context.js.map +1 -0
  203. package/dist/ui/data-table-header.js.map +1 -0
  204. package/dist/ui/data-table-pagination.js.map +1 -0
  205. package/dist/ui/data-table-toolbar.js.map +1 -0
  206. package/dist/ui/data-table.js +34 -31
  207. package/dist/ui/data-table.js.map +1 -0
  208. package/dist/ui/devalok-grain.js.map +1 -0
  209. package/dist/ui/dialog.js +31 -35
  210. package/dist/ui/dialog.js.map +1 -0
  211. package/dist/ui/dropdown-menu.js.map +1 -0
  212. package/dist/ui/file-upload.js +120 -120
  213. package/dist/ui/file-upload.js.map +1 -0
  214. package/dist/ui/form.d.ts +8 -0
  215. package/dist/ui/form.d.ts.map +1 -1
  216. package/dist/ui/form.js +14 -12
  217. package/dist/ui/form.js.map +1 -0
  218. package/dist/ui/hover-card.js.map +1 -0
  219. package/dist/ui/icon-button.js.map +1 -0
  220. package/dist/ui/icon-context.js.map +1 -0
  221. package/dist/ui/icon-group.js.map +1 -0
  222. package/dist/ui/icon.js.map +1 -0
  223. package/dist/ui/index.d.ts +4 -4
  224. package/dist/ui/index.d.ts.map +1 -1
  225. package/dist/ui/index.js +82 -66
  226. package/dist/ui/index.js.map +1 -0
  227. package/dist/ui/input-otp.d.ts +12 -3
  228. package/dist/ui/input-otp.d.ts.map +1 -1
  229. package/dist/ui/input-otp.js +41 -27
  230. package/dist/ui/input-otp.js.map +1 -0
  231. package/dist/ui/input.d.ts.map +1 -1
  232. package/dist/ui/input.js +16 -15
  233. package/dist/ui/input.js.map +1 -0
  234. package/dist/ui/label.d.ts.map +1 -1
  235. package/dist/ui/label.js +19 -14
  236. package/dist/ui/label.js.map +1 -0
  237. package/dist/ui/lib/check-tokens.d.ts +3 -0
  238. package/dist/ui/lib/check-tokens.d.ts.map +1 -0
  239. package/dist/ui/lib/date-utils.js.map +1 -0
  240. package/dist/ui/lib/motion.d.ts +15 -4
  241. package/dist/ui/lib/motion.d.ts.map +1 -1
  242. package/dist/ui/lib/motion.js +18 -9
  243. package/dist/ui/lib/motion.js.map +1 -0
  244. package/dist/ui/lib/utils.js.map +1 -0
  245. package/dist/ui/link.js +2 -2
  246. package/dist/ui/link.js.map +1 -0
  247. package/dist/ui/menubar.js.map +1 -0
  248. package/dist/ui/navigation-menu.js.map +1 -0
  249. package/dist/ui/number-input.d.ts +16 -1
  250. package/dist/ui/number-input.d.ts.map +1 -1
  251. package/dist/ui/number-input.js +79 -49
  252. package/dist/ui/number-input.js.map +1 -0
  253. package/dist/ui/pagination.js +1 -1
  254. package/dist/ui/pagination.js.map +1 -0
  255. package/dist/ui/progress-ring.d.ts.map +1 -1
  256. package/dist/ui/progress-ring.js.map +1 -0
  257. package/dist/ui/progress.js.map +1 -0
  258. package/dist/ui/radio.d.ts.map +1 -1
  259. package/dist/ui/radio.js +27 -20
  260. package/dist/ui/radio.js.map +1 -0
  261. package/dist/ui/search-input.js.map +1 -0
  262. package/dist/ui/segmented-control.d.ts +1 -1
  263. package/dist/ui/segmented-control.d.ts.map +1 -1
  264. package/dist/ui/segmented-control.js +2 -0
  265. package/dist/ui/segmented-control.js.map +1 -0
  266. package/dist/ui/select.d.ts.map +1 -1
  267. package/dist/ui/select.js +54 -48
  268. package/dist/ui/select.js.map +1 -0
  269. package/dist/ui/separator.d.ts.map +1 -1
  270. package/dist/ui/separator.js +10 -7
  271. package/dist/ui/separator.js.map +1 -0
  272. package/dist/ui/sheet.js +29 -29
  273. package/dist/ui/sheet.js.map +1 -0
  274. package/dist/ui/sidebar.js +7 -7
  275. package/dist/ui/sidebar.js.map +1 -0
  276. package/dist/ui/skeleton.js.map +1 -0
  277. package/dist/ui/slider.d.ts +22 -3
  278. package/dist/ui/slider.d.ts.map +1 -1
  279. package/dist/ui/slider.js +57 -19
  280. package/dist/ui/slider.js.map +1 -0
  281. package/dist/ui/spinner.js.map +1 -0
  282. package/dist/ui/split-button.d.ts.map +1 -1
  283. package/dist/ui/split-button.js +77 -76
  284. package/dist/ui/split-button.js.map +1 -0
  285. package/dist/ui/stack.js.map +1 -0
  286. package/dist/ui/stat-card.js.map +1 -0
  287. package/dist/ui/status-dot.js.map +1 -0
  288. package/dist/ui/stepper.d.ts +10 -0
  289. package/dist/ui/stepper.d.ts.map +1 -1
  290. package/dist/ui/stepper.js +80 -75
  291. package/dist/ui/stepper.js.map +1 -0
  292. package/dist/ui/switch.d.ts.map +1 -1
  293. package/dist/ui/switch.js +26 -22
  294. package/dist/ui/switch.js.map +1 -0
  295. package/dist/ui/table.js.map +1 -0
  296. package/dist/ui/tabs.d.ts +3 -1
  297. package/dist/ui/tabs.d.ts.map +1 -1
  298. package/dist/ui/tabs.js +68 -48
  299. package/dist/ui/tabs.js.map +1 -0
  300. package/dist/ui/text.d.ts +1 -1
  301. package/dist/ui/text.d.ts.map +1 -1
  302. package/dist/ui/text.js +10 -2
  303. package/dist/ui/text.js.map +1 -0
  304. package/dist/ui/textarea.js +1 -1
  305. package/dist/ui/textarea.js.map +1 -0
  306. package/dist/ui/toast-registry.d.ts +8 -0
  307. package/dist/ui/toast-registry.d.ts.map +1 -0
  308. package/dist/ui/toast-registry.js +13 -0
  309. package/dist/ui/toast-registry.js.map +1 -0
  310. package/dist/ui/toast.d.ts.map +1 -1
  311. package/dist/ui/toast.js +141 -136
  312. package/dist/ui/toast.js.map +1 -0
  313. package/dist/ui/toaster.d.ts.map +1 -1
  314. package/dist/ui/toaster.js +15 -14
  315. package/dist/ui/toaster.js.map +1 -0
  316. package/dist/ui/toggle-group.d.ts +2 -0
  317. package/dist/ui/toggle-group.d.ts.map +1 -1
  318. package/dist/ui/toggle-group.js +23 -16
  319. package/dist/ui/toggle-group.js.map +1 -0
  320. package/dist/ui/toggle.d.ts +2 -0
  321. package/dist/ui/toggle.d.ts.map +1 -1
  322. package/dist/ui/toggle.js +14 -6
  323. package/dist/ui/toggle.js.map +1 -0
  324. package/dist/ui/tooltip.js.map +1 -0
  325. package/dist/ui/visually-hidden.js.map +1 -0
  326. package/docs/components/_header.md +85 -85
  327. package/docs/components/composed/activity-feed.md +62 -62
  328. package/docs/components/composed/avatar-group.md +65 -65
  329. package/docs/components/composed/bulk-action-bar.md +40 -40
  330. package/docs/components/composed/command-palette.md +40 -40
  331. package/docs/components/composed/confirm-dialog.md +46 -46
  332. package/docs/components/composed/content-card.md +36 -36
  333. package/docs/components/composed/date-picker.md +130 -130
  334. package/docs/components/composed/deadline-indicator.md +27 -27
  335. package/docs/components/composed/emoji-picker.md +52 -52
  336. package/docs/components/composed/empty-state.md +53 -53
  337. package/docs/components/composed/error-boundary.md +29 -29
  338. package/docs/components/composed/file-preview.md +40 -40
  339. package/docs/components/composed/filter-bar.md +57 -57
  340. package/docs/components/composed/form-section.md +31 -31
  341. package/docs/components/composed/global-loading.md +27 -27
  342. package/docs/components/composed/inline-edit.md +35 -35
  343. package/docs/components/composed/loading-skeleton.md +51 -51
  344. package/docs/components/composed/markdown-viewer.md +27 -27
  345. package/docs/components/composed/master-detail.md +48 -48
  346. package/docs/components/composed/member-picker.md +35 -35
  347. package/docs/components/composed/multi-select-popover.md +62 -62
  348. package/docs/components/composed/page-header.md +41 -41
  349. package/docs/components/composed/page-skeletons.md +32 -32
  350. package/docs/components/composed/priority-indicator.md +32 -32
  351. package/docs/components/composed/responsive-overlay.md +34 -34
  352. package/docs/components/composed/rich-text-editor.md +82 -82
  353. package/docs/components/composed/schedule-view.md +39 -39
  354. package/docs/components/composed/simple-tooltip.md +33 -33
  355. package/docs/components/composed/status-badge.md +55 -55
  356. package/docs/components/shell/app-command-palette.md +44 -44
  357. package/docs/components/shell/bottom-navbar.md +52 -52
  358. package/docs/components/shell/command-registry.md +48 -48
  359. package/docs/components/shell/link-context.md +41 -41
  360. package/docs/components/shell/notification-center.md +63 -63
  361. package/docs/components/shell/notification-preferences.md +42 -42
  362. package/docs/components/shell/sidebar.md +92 -92
  363. package/docs/components/shell/top-bar.md +143 -143
  364. package/docs/components/ui/accordion.md +51 -51
  365. package/docs/components/ui/alert-dialog.md +61 -61
  366. package/docs/components/ui/alert.md +46 -46
  367. package/docs/components/ui/aspect-ratio.md +25 -25
  368. package/docs/components/ui/autocomplete.md +48 -48
  369. package/docs/components/ui/avatar.md +56 -56
  370. package/docs/components/ui/badge.md +83 -82
  371. package/docs/components/ui/banner.md +42 -42
  372. package/docs/components/ui/breadcrumb.md +37 -37
  373. package/docs/components/ui/button-group.md +41 -41
  374. package/docs/components/ui/button.md +94 -93
  375. package/docs/components/ui/card.md +52 -52
  376. package/docs/components/ui/charts.md +43 -43
  377. package/docs/components/ui/checkbox.md +36 -36
  378. package/docs/components/ui/chip.md +47 -47
  379. package/docs/components/ui/code.md +28 -28
  380. package/docs/components/ui/collapsible.md +40 -40
  381. package/docs/components/ui/color-input.md +91 -91
  382. package/docs/components/ui/color-swatch.md +25 -25
  383. package/docs/components/ui/combobox.md +54 -54
  384. package/docs/components/ui/container.md +26 -26
  385. package/docs/components/ui/context-menu.md +43 -43
  386. package/docs/components/ui/data-table-body.md +1 -1
  387. package/docs/components/ui/data-table-bulk-actions.md +1 -1
  388. package/docs/components/ui/data-table-card.md +1 -1
  389. package/docs/components/ui/data-table-context.md +1 -1
  390. package/docs/components/ui/data-table-header.md +1 -1
  391. package/docs/components/ui/data-table-pagination.md +1 -1
  392. package/docs/components/ui/data-table-toolbar.md +44 -44
  393. package/docs/components/ui/data-table.md +94 -94
  394. package/docs/components/ui/dialog.md +54 -54
  395. package/docs/components/ui/dropdown-menu.md +48 -48
  396. package/docs/components/ui/file-upload.md +41 -41
  397. package/docs/components/ui/form.md +51 -51
  398. package/docs/components/ui/hover-card.md +32 -32
  399. package/docs/components/ui/icon-button.md +40 -40
  400. package/docs/components/ui/input-otp.md +44 -44
  401. package/docs/components/ui/input.md +74 -74
  402. package/docs/components/ui/label.md +25 -25
  403. package/docs/components/ui/link.md +29 -29
  404. package/docs/components/ui/menubar.md +44 -44
  405. package/docs/components/ui/navigation-menu.md +46 -46
  406. package/docs/components/ui/number-input.md +44 -44
  407. package/docs/components/ui/pagination.md +48 -48
  408. package/docs/components/ui/popover.md +30 -30
  409. package/docs/components/ui/progress-ring.md +41 -41
  410. package/docs/components/ui/progress.md +34 -34
  411. package/docs/components/ui/radio.md +34 -34
  412. package/docs/components/ui/search-input.md +43 -43
  413. package/docs/components/ui/segmented-control.md +50 -50
  414. package/docs/components/ui/select.md +53 -53
  415. package/docs/components/ui/separator.md +32 -32
  416. package/docs/components/ui/sheet.md +47 -47
  417. package/docs/components/ui/sidebar.md +72 -72
  418. package/docs/components/ui/skeleton.md +77 -77
  419. package/docs/components/ui/slider.md +29 -29
  420. package/docs/components/ui/spinner.md +54 -54
  421. package/docs/components/ui/stack.md +39 -39
  422. package/docs/components/ui/stat-card.md +61 -61
  423. package/docs/components/ui/status-dot.md +26 -26
  424. package/docs/components/ui/stepper.md +49 -49
  425. package/docs/components/ui/switch.md +47 -47
  426. package/docs/components/ui/table.md +47 -47
  427. package/docs/components/ui/tabs.md +60 -60
  428. package/docs/components/ui/text.md +37 -37
  429. package/docs/components/ui/textarea.md +39 -39
  430. package/docs/components/ui/toast.md +65 -65
  431. package/docs/components/ui/toaster.md +47 -47
  432. package/docs/components/ui/toggle-group.md +43 -43
  433. package/docs/components/ui/toggle.md +37 -37
  434. package/docs/components/ui/tooltip.md +38 -38
  435. package/docs/components/ui/tree-view.md +65 -65
  436. package/docs/components/ui/visually-hidden.md +21 -21
  437. package/llms-full.txt +5266 -5264
  438. package/llms.txt +624 -580
  439. package/package.json +7 -8
@@ -1,130 +1,130 @@
1
- # DatePicker
2
-
3
- - Import: @devalok/shilp-sutra/composed/date-picker
4
- - Server-safe: No
5
- - Category: composed
6
-
7
- ## Props
8
-
9
- ### DatePicker
10
- value?: Date | null
11
- onChange?: (date: Date | null) => void
12
- placeholder: string (default: "Pick a date")
13
- formatStr: string (default: "MMM d, yyyy")
14
- minDate: Date
15
- maxDate: Date
16
- disabledDates: (date: Date) => boolean
17
- className: string
18
-
19
- ### DateRangePicker
20
- startDate?: Date | null
21
- endDate?: Date | null
22
- onChange?: (range: { start: Date | null, end: Date | null }) => void
23
- placeholder: string (default: "Pick a date range")
24
- formatStr: string (default: "MMM d, yyyy")
25
- minDate: Date
26
- maxDate: Date
27
- disabledDates: (date: Date) => boolean
28
- presets: PresetKey[] (shows quick-select sidebar)
29
- numberOfMonths: number (default: 1)
30
-
31
- ### DateTimePicker
32
- value: Date | null
33
- onChange: (date: Date | null) => void
34
- minDate: Date
35
- maxDate: Date
36
- disabledDates: (date: Date) => boolean
37
- timeFormat: "12h" | "24h"
38
- minuteStep: number
39
- placeholder: string
40
- className: string
41
-
42
- ### TimePicker
43
- value?: Date | null (time stored as a Date object)
44
- onChange?: (date: Date) => void
45
- format: "12h" | "24h" (default: "12h")
46
- minuteStep: number (default: 1)
47
- secondStep: number (default: 1)
48
- showSeconds: boolean (default: false)
49
- placeholder: string (default: "Pick a time")
50
- disabled: boolean (default: false)
51
- className: string
52
-
53
- ### CalendarGrid
54
- currentMonth: Date (REQUIRED)
55
- selected?: Date | null
56
- rangeStart?: Date | null
57
- rangeEnd?: Date | null
58
- hoverDate?: Date | null
59
- onSelect: (date: Date) => void (REQUIRED)
60
- onHover?: (date: Date | null) => void
61
- onMonthChange: (date: Date) => void (REQUIRED)
62
- onHeaderClick?: () => void
63
- disabledDates: (date: Date) => boolean
64
- minDate: Date
65
- maxDate: Date
66
- hidePrevNav: boolean
67
- hideNextNav: boolean
68
- events: CalendarEvent[] — { date: Date, color?: string, label?: string }
69
-
70
- ### YearPicker
71
- currentYear: number (REQUIRED)
72
- selectedYear: number
73
- onYearSelect: (year: number) => void (REQUIRED)
74
- minDate: Date
75
- maxDate: Date
76
-
77
- ### MonthPicker
78
- currentYear: number (REQUIRED)
79
- selectedMonth: number (0-11)
80
- onMonthSelect: (month: number) => void (REQUIRED)
81
- minDate: Date
82
- maxDate: Date
83
-
84
- ### Presets
85
- presets: PresetKey[] (REQUIRED)
86
- onSelect: (start: Date, end: Date) => void (REQUIRED)
87
- className: string
88
-
89
- PresetKey: 'today' | 'yesterday' | 'last7days' | 'last30days' | 'thisMonth' | 'lastMonth' | 'thisYear'
90
-
91
- ### useCalendar hook
92
- useCalendar(initialMonth?: Date) => { currentMonth, setCurrentMonth, goToPreviousMonth, goToNextMonth, goToMonth, goToYear }
93
-
94
- ## Defaults
95
- DatePicker: placeholder="Pick a date", formatStr="MMM d, yyyy"
96
- DateRangePicker: placeholder="Pick a date range", formatStr="MMM d, yyyy", numberOfMonths=1
97
- TimePicker: format="12h", minuteStep=1, secondStep=1, showSeconds=false
98
-
99
- ## Example
100
- ```jsx
101
- <DatePicker value={date} onChange={setDate} placeholder="Select date" />
102
-
103
- <DateRangePicker
104
- startDate={start}
105
- endDate={end}
106
- onChange={({ start, end }) => { setStart(start); setEnd(end); }}
107
- />
108
-
109
- <DateTimePicker value={dateTime} onChange={setDateTime} timeFormat="12h" minuteStep={15} />
110
-
111
- <TimePicker value={time} onChange={setTime} format="24h" minuteStep={15} />
112
- ```
113
-
114
- ## Gotchas
115
- - TimePicker stores time inside a Date object — only hours/minutes/seconds are meaningful
116
- - CalendarGrid is a low-level building block — prefer DatePicker/DateRangePicker for most use cases
117
- - MonthPicker month values are 0-indexed (Jan=0, Dec=11) — same as JavaScript `Date.getMonth()`
118
- - YearPicker displays a 12-year grid based on the decade of `currentYear`
119
- - CalendarGrid supports up to 3 event dots per day cell
120
- - useCalendar is a convenience hook for managing calendar month state
121
-
122
- ## Changes
123
- ### v0.18.0
124
- - **Fixed** Added `aria-label` to DatePicker/DateRangePicker trigger buttons
125
-
126
- ### v0.4.2
127
- - **Changed** DateRangePicker default `formatStr` from `'MMM d'` to `'MMM d, yyyy'`
128
-
129
- ### v0.1.0
130
- - **Added** Initial release
1
+ # DatePicker
2
+
3
+ - Import: @devalok/shilp-sutra/composed/date-picker
4
+ - Server-safe: No
5
+ - Category: composed
6
+
7
+ ## Props
8
+
9
+ ### DatePicker
10
+ value?: Date | null
11
+ onChange?: (date: Date | null) => void
12
+ placeholder: string (default: "Pick a date")
13
+ formatStr: string (default: "MMM d, yyyy")
14
+ minDate: Date
15
+ maxDate: Date
16
+ disabledDates: (date: Date) => boolean
17
+ className: string
18
+
19
+ ### DateRangePicker
20
+ startDate?: Date | null
21
+ endDate?: Date | null
22
+ onChange?: (range: { start: Date | null, end: Date | null }) => void
23
+ placeholder: string (default: "Pick a date range")
24
+ formatStr: string (default: "MMM d, yyyy")
25
+ minDate: Date
26
+ maxDate: Date
27
+ disabledDates: (date: Date) => boolean
28
+ presets: PresetKey[] (shows quick-select sidebar)
29
+ numberOfMonths: number (default: 1)
30
+
31
+ ### DateTimePicker
32
+ value: Date | null
33
+ onChange: (date: Date | null) => void
34
+ minDate: Date
35
+ maxDate: Date
36
+ disabledDates: (date: Date) => boolean
37
+ timeFormat: "12h" | "24h"
38
+ minuteStep: number
39
+ placeholder: string
40
+ className: string
41
+
42
+ ### TimePicker
43
+ value?: Date | null (time stored as a Date object)
44
+ onChange?: (date: Date) => void
45
+ format: "12h" | "24h" (default: "12h")
46
+ minuteStep: number (default: 1)
47
+ secondStep: number (default: 1)
48
+ showSeconds: boolean (default: false)
49
+ placeholder: string (default: "Pick a time")
50
+ disabled: boolean (default: false)
51
+ className: string
52
+
53
+ ### CalendarGrid
54
+ currentMonth: Date (REQUIRED)
55
+ selected?: Date | null
56
+ rangeStart?: Date | null
57
+ rangeEnd?: Date | null
58
+ hoverDate?: Date | null
59
+ onSelect: (date: Date) => void (REQUIRED)
60
+ onHover?: (date: Date | null) => void
61
+ onMonthChange: (date: Date) => void (REQUIRED)
62
+ onHeaderClick?: () => void
63
+ disabledDates: (date: Date) => boolean
64
+ minDate: Date
65
+ maxDate: Date
66
+ hidePrevNav: boolean
67
+ hideNextNav: boolean
68
+ events: CalendarEvent[] — { date: Date, color?: string, label?: string }
69
+
70
+ ### YearPicker
71
+ currentYear: number (REQUIRED)
72
+ selectedYear: number
73
+ onYearSelect: (year: number) => void (REQUIRED)
74
+ minDate: Date
75
+ maxDate: Date
76
+
77
+ ### MonthPicker
78
+ currentYear: number (REQUIRED)
79
+ selectedMonth: number (0-11)
80
+ onMonthSelect: (month: number) => void (REQUIRED)
81
+ minDate: Date
82
+ maxDate: Date
83
+
84
+ ### Presets
85
+ presets: PresetKey[] (REQUIRED)
86
+ onSelect: (start: Date, end: Date) => void (REQUIRED)
87
+ className: string
88
+
89
+ PresetKey: 'today' | 'yesterday' | 'last7days' | 'last30days' | 'thisMonth' | 'lastMonth' | 'thisYear'
90
+
91
+ ### useCalendar hook
92
+ useCalendar(initialMonth?: Date) => { currentMonth, setCurrentMonth, goToPreviousMonth, goToNextMonth, goToMonth, goToYear }
93
+
94
+ ## Defaults
95
+ DatePicker: placeholder="Pick a date", formatStr="MMM d, yyyy"
96
+ DateRangePicker: placeholder="Pick a date range", formatStr="MMM d, yyyy", numberOfMonths=1
97
+ TimePicker: format="12h", minuteStep=1, secondStep=1, showSeconds=false
98
+
99
+ ## Example
100
+ ```jsx
101
+ <DatePicker value={date} onChange={setDate} placeholder="Select date" />
102
+
103
+ <DateRangePicker
104
+ startDate={start}
105
+ endDate={end}
106
+ onChange={({ start, end }) => { setStart(start); setEnd(end); }}
107
+ />
108
+
109
+ <DateTimePicker value={dateTime} onChange={setDateTime} timeFormat="12h" minuteStep={15} />
110
+
111
+ <TimePicker value={time} onChange={setTime} format="24h" minuteStep={15} />
112
+ ```
113
+
114
+ ## Gotchas
115
+ - TimePicker stores time inside a Date object — only hours/minutes/seconds are meaningful
116
+ - CalendarGrid is a low-level building block — prefer DatePicker/DateRangePicker for most use cases
117
+ - MonthPicker month values are 0-indexed (Jan=0, Dec=11) — same as JavaScript `Date.getMonth()`
118
+ - YearPicker displays a 12-year grid based on the decade of `currentYear`
119
+ - CalendarGrid supports up to 3 event dots per day cell
120
+ - useCalendar is a convenience hook for managing calendar month state
121
+
122
+ ## Changes
123
+ ### v0.18.0
124
+ - **Fixed** Added `aria-label` to DatePicker/DateRangePicker trigger buttons
125
+
126
+ ### v0.4.2
127
+ - **Changed** DateRangePicker default `formatStr` from `'MMM d'` to `'MMM d, yyyy'`
128
+
129
+ ### v0.1.0
130
+ - **Added** Initial release
@@ -1,27 +1,27 @@
1
- # DeadlineIndicator
2
-
3
- - Import: @devalok/shilp-sutra/composed/deadline-indicator
4
- - Server-safe: Yes
5
- - Category: composed
6
-
7
- ## Props
8
- deadline: Date | string (deadline timestamp)
9
- warningThreshold: number (minutes before deadline to show warning color)
10
- criticalThreshold: number (minutes before deadline to show critical/error color)
11
- format: "relative" | "absolute"
12
- showIcon: boolean (show clock icon prefix)
13
-
14
- ## Defaults
15
- warningThreshold={1440} (24h), criticalThreshold={240} (4h), format="relative", showIcon={false}
16
-
17
- ## Example
18
- ```jsx
19
- <DeadlineIndicator deadline={task.dueDate} />
20
- <DeadlineIndicator deadline="2026-03-20T17:00:00Z" showIcon format="absolute" />
21
- <DeadlineIndicator deadline={task.dueDate} warningThreshold={2880} criticalThreshold={480} />
22
- ```
23
-
24
- ## Gotchas
25
- - Color is semantic: green (on-track) -> yellow (warning threshold) -> red (critical/overdue)
26
- - Overdue deadlines show bold red text with "Overdue by Xd/h/m"
27
- - Relative format uses `Date.now()` at render time — does not live-update (re-render to refresh)
1
+ # DeadlineIndicator
2
+
3
+ - Import: @devalok/shilp-sutra/composed/deadline-indicator
4
+ - Server-safe: Yes
5
+ - Category: composed
6
+
7
+ ## Props
8
+ deadline: Date | string (deadline timestamp)
9
+ warningThreshold: number (minutes before deadline to show warning color)
10
+ criticalThreshold: number (minutes before deadline to show critical/error color)
11
+ format: "relative" | "absolute"
12
+ showIcon: boolean (show clock icon prefix)
13
+
14
+ ## Defaults
15
+ warningThreshold={1440} (24h), criticalThreshold={240} (4h), format="relative", showIcon={false}
16
+
17
+ ## Example
18
+ ```jsx
19
+ <DeadlineIndicator deadline={task.dueDate} />
20
+ <DeadlineIndicator deadline="2026-03-20T17:00:00Z" showIcon format="absolute" />
21
+ <DeadlineIndicator deadline={task.dueDate} warningThreshold={2880} criticalThreshold={480} />
22
+ ```
23
+
24
+ ## Gotchas
25
+ - Color is semantic: green (on-track) -> yellow (warning threshold) -> red (critical/overdue)
26
+ - Overdue deadlines show bold red text with "Overdue by Xd/h/m"
27
+ - Relative format uses `Date.now()` at render time — does not live-update (re-render to refresh)
@@ -1,52 +1,52 @@
1
- # EmojiPicker
2
-
3
- - Import: @devalok/shilp-sutra/composed/emoji-picker
4
- - Server-safe: No
5
- - Category: composed
6
-
7
- ## Exports
8
- EmojiPicker, EmojiPickerPopover
9
-
10
- ## Props
11
-
12
- ### EmojiPicker
13
- onSelect: (emoji: EmojiData) => void
14
- theme: "auto" | "light" | "dark"
15
- previewPosition: "top" | "bottom" | "none"
16
- skinTonePosition: "search" | "preview" | "none"
17
- className: string
18
-
19
- ### EmojiPickerPopover (extends EmojiPicker props)
20
- children: ReactNode (trigger element)
21
- align: "start" | "center" | "end"
22
-
23
- ### EmojiData
24
- id: string
25
- native: string (the emoji character)
26
- shortcodes: string
27
-
28
- ## Defaults
29
- theme="auto", previewPosition="none", skinTonePosition="search", align="start"
30
-
31
- ## Example
32
- ```jsx
33
- <EmojiPickerPopover onSelect={(emoji) => insertEmoji(emoji.native)}>
34
- <Button variant="ghost" size="icon-sm">😀</Button>
35
- </EmojiPickerPopover>
36
-
37
- <EmojiPicker onSelect={handleEmoji} theme="dark" />
38
- ```
39
-
40
- ## Gotchas
41
- - Wraps `@emoji-mart/react` which is lazy-loaded — shows a Skeleton placeholder while loading
42
- - `theme="auto"` reads the `.dark` class on `<html>` to pick light/dark
43
- - EmojiPickerPopover auto-closes after selection
44
-
45
- ## Changes
46
-
47
- ### v0.33.0
48
- - **Added** `set` prop on EmojiPicker and EmojiPickerPopover — `EmojiSet` type: 'native' | 'apple' | 'google' | 'twitter' | 'facebook'
49
- - **Added** `EmojiNode` TipTap extension — inline atom node with spritesheet rendering for consistent emoji art styles
50
- - **Added** `createEmojiSuggestion(set?)` factory — replaces `EmojiSuggestion` named export
51
- - **Added** `EmojiSet` type exported from barrel
52
- - **Breaking** `EmojiSuggestion` named export removed — use `createEmojiSuggestion()` factory
1
+ # EmojiPicker
2
+
3
+ - Import: @devalok/shilp-sutra/composed/emoji-picker
4
+ - Server-safe: No
5
+ - Category: composed
6
+
7
+ ## Exports
8
+ EmojiPicker, EmojiPickerPopover
9
+
10
+ ## Props
11
+
12
+ ### EmojiPicker
13
+ onSelect: (emoji: EmojiData) => void
14
+ theme: "auto" | "light" | "dark"
15
+ previewPosition: "top" | "bottom" | "none"
16
+ skinTonePosition: "search" | "preview" | "none"
17
+ className: string
18
+
19
+ ### EmojiPickerPopover (extends EmojiPicker props)
20
+ children: ReactNode (trigger element)
21
+ align: "start" | "center" | "end"
22
+
23
+ ### EmojiData
24
+ id: string
25
+ native: string (the emoji character)
26
+ shortcodes: string
27
+
28
+ ## Defaults
29
+ theme="auto", previewPosition="none", skinTonePosition="search", align="start"
30
+
31
+ ## Example
32
+ ```jsx
33
+ <EmojiPickerPopover onSelect={(emoji) => insertEmoji(emoji.native)}>
34
+ <Button variant="ghost" size="icon-sm">😀</Button>
35
+ </EmojiPickerPopover>
36
+
37
+ <EmojiPicker onSelect={handleEmoji} theme="dark" />
38
+ ```
39
+
40
+ ## Gotchas
41
+ - Wraps `@emoji-mart/react` which is lazy-loaded — shows a Skeleton placeholder while loading
42
+ - `theme="auto"` reads the `.dark` class on `<html>` to pick light/dark
43
+ - EmojiPickerPopover auto-closes after selection
44
+
45
+ ## Changes
46
+
47
+ ### v0.33.0
48
+ - **Added** `set` prop on EmojiPicker and EmojiPickerPopover — `EmojiSet` type: 'native' | 'apple' | 'google' | 'twitter' | 'facebook'
49
+ - **Added** `EmojiNode` TipTap extension — inline atom node with spritesheet rendering for consistent emoji art styles
50
+ - **Added** `createEmojiSuggestion(set?)` factory — replaces `EmojiSuggestion` named export
51
+ - **Added** `EmojiSet` type exported from barrel
52
+ - **Breaking** `EmojiSuggestion` named export removed — use `createEmojiSuggestion()` factory
@@ -1,53 +1,53 @@
1
- # EmptyState
2
-
3
- - Import: @devalok/shilp-sutra/composed/empty-state
4
- - Server-safe: No
5
- - Category: composed
6
-
7
- Note: EmptyState was server-safe prior to v0.18.0 but is NO LONGER server-safe due to Framer Motion dependency.
8
-
9
- ## Props
10
- title: string (REQUIRED)
11
- description: string
12
- icon: ReactNode | ComponentType<{ className?: string }> (default: Devalok chakra icon)
13
- action: ReactNode (e.g. a Button)
14
- compact: boolean (smaller layout)
15
- iconSize: 'sm' | 'md' | 'lg' (default 'md', compact defaults to 'sm') — sm=h-ico-sm, md=h-ico-lg, lg=h-ico-xl
16
-
17
- ## Defaults
18
- iconSize="md" (compact defaults to "sm")
19
-
20
- ## Example
21
- ```jsx
22
- <EmptyState
23
- title="No tasks found"
24
- description="Create your first task to get started."
25
- action={<Button>Create Task</Button>}
26
- iconSize="lg"
27
- />
28
- ```
29
-
30
- ## Gotchas
31
- - `icon` accepts both JSX elements (`<IconFolder />`) and component references (`IconFolder`). Component references are auto-instantiated with correct sizing classes.
32
- - `iconSize` controls icon dimensions regardless of icon type. When `compact=true` and no `iconSize`, defaults to `'sm'`.
33
- - As of v0.18.0, EmptyState is NOT server-safe (Framer Motion dependency). Use per-component import in client components.
34
-
35
- ## Changes
36
- ### v0.18.0
37
- - **Changed** No longer server-safe due to Framer Motion dependency
38
-
39
- ### v0.16.0
40
- - **Added** `iconSize?: 'sm' | 'md' | 'lg'` — control icon dimensions
41
-
42
- ### v0.13.0
43
- - **Changed** `icon` prop now accepts `React.ComponentType<{ className?: string }>` in addition to `ReactNode` — component references are auto-instantiated
44
-
45
- ### v0.5.0
46
- - **Changed** `icon` prop changed from `TablerIcon` (component ref) to `React.ReactNode` — use `icon={<MyIcon />}` instead of `icon={MyIcon}`
47
- - **Changed** Default icon is now the Devalok swadhisthana chakra (inline SVG)
48
-
49
- ### v0.2.0
50
- - **Added** Identified as server-safe component (later reverted in v0.18.0)
51
-
52
- ### v0.1.0
53
- - **Added** Initial release
1
+ # EmptyState
2
+
3
+ - Import: @devalok/shilp-sutra/composed/empty-state
4
+ - Server-safe: No
5
+ - Category: composed
6
+
7
+ Note: EmptyState was server-safe prior to v0.18.0 but is NO LONGER server-safe due to Framer Motion dependency.
8
+
9
+ ## Props
10
+ title: string (REQUIRED)
11
+ description: string
12
+ icon: ReactNode | ComponentType<{ className?: string }> (default: Devalok chakra icon)
13
+ action: ReactNode (e.g. a Button)
14
+ compact: boolean (smaller layout)
15
+ iconSize: 'sm' | 'md' | 'lg' (default 'md', compact defaults to 'sm') — sm=h-ico-sm, md=h-ico-lg, lg=h-ico-xl
16
+
17
+ ## Defaults
18
+ iconSize="md" (compact defaults to "sm")
19
+
20
+ ## Example
21
+ ```jsx
22
+ <EmptyState
23
+ title="No tasks found"
24
+ description="Create your first task to get started."
25
+ action={<Button>Create Task</Button>}
26
+ iconSize="lg"
27
+ />
28
+ ```
29
+
30
+ ## Gotchas
31
+ - `icon` accepts both JSX elements (`<IconFolder />`) and component references (`IconFolder`). Component references are auto-instantiated with correct sizing classes.
32
+ - `iconSize` controls icon dimensions regardless of icon type. When `compact=true` and no `iconSize`, defaults to `'sm'`.
33
+ - As of v0.18.0, EmptyState is NOT server-safe (Framer Motion dependency). Use per-component import in client components.
34
+
35
+ ## Changes
36
+ ### v0.18.0
37
+ - **Changed** No longer server-safe due to Framer Motion dependency
38
+
39
+ ### v0.16.0
40
+ - **Added** `iconSize?: 'sm' | 'md' | 'lg'` — control icon dimensions
41
+
42
+ ### v0.13.0
43
+ - **Changed** `icon` prop now accepts `React.ComponentType<{ className?: string }>` in addition to `ReactNode` — component references are auto-instantiated
44
+
45
+ ### v0.5.0
46
+ - **Changed** `icon` prop changed from `TablerIcon` (component ref) to `React.ReactNode` — use `icon={<MyIcon />}` instead of `icon={MyIcon}`
47
+ - **Changed** Default icon is now the Devalok swadhisthana chakra (inline SVG)
48
+
49
+ ### v0.2.0
50
+ - **Added** Identified as server-safe component (later reverted in v0.18.0)
51
+
52
+ ### v0.1.0
53
+ - **Added** Initial release
@@ -1,29 +1,29 @@
1
- # ErrorDisplay
2
-
3
- - Import: @devalok/shilp-sutra/composed/error-boundary
4
- - Server-safe: No
5
- - Category: composed
6
-
7
- ## Props
8
- error: unknown (REQUIRED — Error object, status object, or string)
9
- onReset: () => void (optional retry button)
10
-
11
- ## Defaults
12
- None
13
-
14
- ## Example
15
- ```jsx
16
- <ErrorDisplay error={error} onReset={() => refetch()} />
17
- ```
18
-
19
- ## Gotchas
20
- - Auto-detects HTTP status codes (404, 403, 500) and shows appropriate icon/message
21
- - Shows stack trace in development mode only
22
- - The import path is `error-boundary` but the component is named `ErrorDisplay`
23
-
24
- ## Changes
25
- ### v0.18.0
26
- - **Added** ErrorBoundary tests (13 new tests)
27
-
28
- ### v0.1.0
29
- - **Added** Initial release
1
+ # ErrorDisplay
2
+
3
+ - Import: @devalok/shilp-sutra/composed/error-boundary
4
+ - Server-safe: No
5
+ - Category: composed
6
+
7
+ ## Props
8
+ error: unknown (REQUIRED — Error object, status object, or string)
9
+ onReset: () => void (optional retry button)
10
+
11
+ ## Defaults
12
+ None
13
+
14
+ ## Example
15
+ ```jsx
16
+ <ErrorDisplay error={error} onReset={() => refetch()} />
17
+ ```
18
+
19
+ ## Gotchas
20
+ - Auto-detects HTTP status codes (404, 403, 500) and shows appropriate icon/message
21
+ - Shows stack trace in development mode only
22
+ - The import path is `error-boundary` but the component is named `ErrorDisplay`
23
+
24
+ ## Changes
25
+ ### v0.18.0
26
+ - **Added** ErrorBoundary tests (13 new tests)
27
+
28
+ ### v0.1.0
29
+ - **Added** Initial release