@devalok/shilp-sutra 0.34.0 → 0.36.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (541) hide show
  1. package/LICENSE +21 -21
  2. package/dist/_chunks/badge-group.js +306 -246
  3. package/dist/_chunks/badge-group.js.map +1 -0
  4. package/dist/_chunks/chat.js +518 -0
  5. package/dist/_chunks/chat.js.map +1 -0
  6. package/dist/_chunks/date-picker.js +748 -0
  7. package/dist/_chunks/date-picker.js.map +1 -0
  8. package/dist/_chunks/document-preview.js +109 -90
  9. package/dist/_chunks/document-preview.js.map +1 -0
  10. package/dist/_chunks/file-preview.js +492 -504
  11. package/dist/_chunks/file-preview.js.map +1 -0
  12. package/dist/_chunks/framer.js +5564 -5613
  13. package/dist/_chunks/framer.js.map +1 -0
  14. package/dist/_chunks/image-preview.js +127 -88
  15. package/dist/_chunks/image-preview.js.map +1 -0
  16. package/dist/_chunks/keybinding.js +12 -14
  17. package/dist/_chunks/keybinding.js.map +1 -0
  18. package/dist/_chunks/link-context.js +19 -16
  19. package/dist/_chunks/link-context.js.map +1 -0
  20. package/dist/_chunks/mention-suggestion.js +353 -350
  21. package/dist/_chunks/mention-suggestion.js.map +1 -0
  22. package/dist/_chunks/motion-provider.js +26 -20
  23. package/dist/_chunks/motion-provider.js.map +1 -0
  24. package/dist/_chunks/popover.js +123 -0
  25. package/dist/_chunks/popover.js.map +1 -0
  26. package/dist/_chunks/primitives.js +7585 -6426
  27. package/dist/_chunks/primitives.js.map +1 -0
  28. package/dist/_chunks/rich-chat-input.js +2071 -0
  29. package/dist/_chunks/rich-chat-input.js.map +1 -0
  30. package/dist/_chunks/rolldown-runtime.js +21 -0
  31. package/dist/_chunks/shared.js +126 -0
  32. package/dist/_chunks/shared.js.map +1 -0
  33. package/dist/_chunks/sonner.js +605 -734
  34. package/dist/_chunks/sonner.js.map +1 -0
  35. package/dist/_chunks/stat-row.js +418 -440
  36. package/dist/_chunks/stat-row.js.map +1 -0
  37. package/dist/_chunks/tiptap.js +15850 -19964
  38. package/dist/_chunks/tiptap.js.map +1 -0
  39. package/dist/_chunks/tree-view.js +231 -290
  40. package/dist/_chunks/tree-view.js.map +1 -0
  41. package/dist/_chunks/use-calendar.js +161 -208
  42. package/dist/_chunks/use-calendar.js.map +1 -0
  43. package/dist/_chunks/vendor-client.js +314 -2199
  44. package/dist/_chunks/vendor-client.js.map +1 -0
  45. package/dist/_chunks/vendor-utils.js +1721 -2978
  46. package/dist/_chunks/vendor-utils.js.map +1 -0
  47. package/dist/ai/ai-command-provider.js +23 -17
  48. package/dist/ai/ai-command-provider.js.map +1 -0
  49. package/dist/ai/block-renderer.js +68 -51
  50. package/dist/ai/block-renderer.js.map +1 -0
  51. package/dist/ai/blocks/index.js +2 -12
  52. package/dist/ai/blocks/loading.d.ts.map +1 -1
  53. package/dist/ai/command-bar.js +470 -519
  54. package/dist/ai/command-bar.js.map +1 -0
  55. package/dist/ai/conversation.js +241 -227
  56. package/dist/ai/conversation.js.map +1 -0
  57. package/dist/ai/devadoot-icon.d.ts.map +1 -1
  58. package/dist/ai/index.js +181 -167
  59. package/dist/ai/index.js.map +1 -0
  60. package/dist/ai/types.js +0 -1
  61. package/dist/composed/activity-feed.js +232 -202
  62. package/dist/composed/activity-feed.js.map +1 -0
  63. package/dist/composed/avatar-group.js +164 -222
  64. package/dist/composed/avatar-group.js.map +1 -0
  65. package/dist/composed/bulk-action-bar.js +166 -165
  66. package/dist/composed/bulk-action-bar.js.map +1 -0
  67. package/dist/composed/command-palette.js +290 -308
  68. package/dist/composed/command-palette.js.map +1 -0
  69. package/dist/composed/confirm-dialog.js +28 -48
  70. package/dist/composed/confirm-dialog.js.map +1 -0
  71. package/dist/composed/content-card.js +69 -108
  72. package/dist/composed/content-card.js.map +1 -0
  73. package/dist/composed/date-picker/index.js +3 -13
  74. package/dist/composed/deadline-indicator.js +68 -74
  75. package/dist/composed/deadline-indicator.js.map +1 -0
  76. package/dist/composed/emoji-picker.js +83 -110
  77. package/dist/composed/emoji-picker.js.map +1 -0
  78. package/dist/composed/empty-state.d.ts.map +1 -1
  79. package/dist/composed/empty-state.js +64 -103
  80. package/dist/composed/empty-state.js.map +1 -0
  81. package/dist/composed/error-boundary.js +129 -127
  82. package/dist/composed/error-boundary.js.map +1 -0
  83. package/dist/composed/file-preview.js +2 -12
  84. package/dist/composed/filter-bar.js +98 -130
  85. package/dist/composed/filter-bar.js.map +1 -0
  86. package/dist/composed/form-section.js +61 -45
  87. package/dist/composed/form-section.js.map +1 -0
  88. package/dist/composed/global-loading.js +34 -47
  89. package/dist/composed/global-loading.js.map +1 -0
  90. package/dist/composed/index.js +34 -92
  91. package/dist/composed/inline-edit.js +92 -107
  92. package/dist/composed/inline-edit.js.map +1 -0
  93. package/dist/composed/lib/string-utils.js +8 -8
  94. package/dist/composed/lib/string-utils.js.map +1 -0
  95. package/dist/composed/loading-skeleton.js +103 -171
  96. package/dist/composed/loading-skeleton.js.map +1 -0
  97. package/dist/composed/markdown-viewer.js +187 -139
  98. package/dist/composed/markdown-viewer.js.map +1 -0
  99. package/dist/composed/master-detail.js +147 -156
  100. package/dist/composed/master-detail.js.map +1 -0
  101. package/dist/composed/member-picker.js +46 -49
  102. package/dist/composed/member-picker.js.map +1 -0
  103. package/dist/composed/multi-select-popover.d.ts.map +1 -1
  104. package/dist/composed/multi-select-popover.js +185 -179
  105. package/dist/composed/multi-select-popover.js.map +1 -0
  106. package/dist/composed/page-header.js +54 -76
  107. package/dist/composed/page-header.js.map +1 -0
  108. package/dist/composed/page-skeletons.js +143 -127
  109. package/dist/composed/page-skeletons.js.map +1 -0
  110. package/dist/composed/priority-indicator.js +105 -111
  111. package/dist/composed/priority-indicator.js.map +1 -0
  112. package/dist/composed/responsive-overlay.js +36 -41
  113. package/dist/composed/responsive-overlay.js.map +1 -0
  114. package/dist/composed/rich-chat-input/attachment-strip.d.ts.map +1 -1
  115. package/dist/composed/rich-chat-input/reply-banner.d.ts.map +1 -1
  116. package/dist/composed/rich-chat-input/schedule-send.d.ts.map +1 -1
  117. package/dist/composed/rich-chat-input.d.ts.map +1 -1
  118. package/dist/composed/rich-chat-input.js +2 -1860
  119. package/dist/composed/rich-text-editor.js +561 -424
  120. package/dist/composed/rich-text-editor.js.map +1 -0
  121. package/dist/composed/schedule-view.js +134 -185
  122. package/dist/composed/schedule-view.js.map +1 -0
  123. package/dist/composed/simple-tooltip.js +21 -21
  124. package/dist/composed/simple-tooltip.js.map +1 -0
  125. package/dist/composed/status-badge.d.ts.map +1 -1
  126. package/dist/composed/status-badge.js +133 -137
  127. package/dist/composed/status-badge.js.map +1 -0
  128. package/dist/hooks/index.js +7 -12
  129. package/dist/hooks/use-color-mode.js +28 -25
  130. package/dist/hooks/use-color-mode.js.map +1 -0
  131. package/dist/hooks/use-mobile.js +13 -13
  132. package/dist/hooks/use-mobile.js.map +1 -0
  133. package/dist/hooks/use-toast.js +2 -4
  134. package/dist/hooks/use-touch-device.js +9 -11
  135. package/dist/hooks/use-touch-device.js.map +1 -0
  136. package/dist/hooks/use-viewport-height.js +14 -14
  137. package/dist/hooks/use-viewport-height.js.map +1 -0
  138. package/dist/motion/check-motion-provider.d.ts +3 -0
  139. package/dist/motion/check-motion-provider.d.ts.map +1 -0
  140. package/dist/motion/index.js +17 -11
  141. package/dist/motion/index.js.map +1 -0
  142. package/dist/motion/primitives-index.js +226 -186
  143. package/dist/motion/primitives-index.js.map +1 -0
  144. package/dist/primitives/react-accordion.d.ts +114 -114
  145. package/dist/primitives/react-alert-dialog.d.ts +51 -51
  146. package/dist/primitives/react-aspect-ratio.d.ts +11 -11
  147. package/dist/primitives/react-avatar.d.ts +24 -24
  148. package/dist/primitives/react-checkbox.d.ts +50 -50
  149. package/dist/primitives/react-collapsible.d.ts +33 -33
  150. package/dist/primitives/react-context-menu.d.ts +96 -96
  151. package/dist/primitives/react-dialog.d.ts +103 -103
  152. package/dist/primitives/react-dropdown-menu.d.ts +97 -97
  153. package/dist/primitives/react-hover-card.d.ts +79 -79
  154. package/dist/primitives/react-label.d.ts +10 -10
  155. package/dist/primitives/react-menu.d.ts +169 -169
  156. package/dist/primitives/react-menubar.d.ts +115 -115
  157. package/dist/primitives/react-navigation-menu.d.ts +126 -126
  158. package/dist/primitives/react-popover.d.ts +85 -85
  159. package/dist/primitives/react-progress.d.ts +19 -19
  160. package/dist/primitives/react-radio-group.d.ts +58 -58
  161. package/dist/primitives/react-roving-focus.d.ts +49 -49
  162. package/dist/primitives/react-select.d.ts +137 -137
  163. package/dist/primitives/react-separator.d.ts +21 -21
  164. package/dist/primitives/react-slider.d.ts +75 -75
  165. package/dist/primitives/react-switch.d.ts +21 -21
  166. package/dist/primitives/react-tabs.d.ts +56 -56
  167. package/dist/primitives/react-toast.d.ts +120 -120
  168. package/dist/primitives/react-toggle-group.d.ts +75 -75
  169. package/dist/primitives/react-toggle.d.ts +24 -24
  170. package/dist/primitives/react-tooltip.d.ts +101 -101
  171. package/dist/primitives/react-visually-hidden.d.ts +22 -22
  172. package/dist/shell/app-command-palette.d.ts +2 -0
  173. package/dist/shell/app-command-palette.d.ts.map +1 -1
  174. package/dist/shell/app-command-palette.js +94 -238
  175. package/dist/shell/app-command-palette.js.map +1 -0
  176. package/dist/shell/bottom-navbar.js +150 -190
  177. package/dist/shell/bottom-navbar.js.map +1 -0
  178. package/dist/shell/command-registry.js +13 -14
  179. package/dist/shell/command-registry.js.map +1 -0
  180. package/dist/shell/index.js +10 -20
  181. package/dist/shell/link-context.js +2 -5
  182. package/dist/shell/notification-center.d.ts.map +1 -1
  183. package/dist/shell/notification-center.js +263 -259
  184. package/dist/shell/notification-center.js.map +1 -0
  185. package/dist/shell/notification-preferences.js +241 -184
  186. package/dist/shell/notification-preferences.js.map +1 -0
  187. package/dist/shell/sidebar.js +251 -281
  188. package/dist/shell/sidebar.js.map +1 -0
  189. package/dist/shell/top-bar.js +203 -237
  190. package/dist/shell/top-bar.js.map +1 -0
  191. package/dist/tailwind/index.cjs +473 -442
  192. package/dist/tailwind/index.js +2 -4
  193. package/dist/tailwind/preset.d.ts.map +1 -1
  194. package/dist/tailwind/preset.js +490 -459
  195. package/dist/tailwind/preset.js.map +1 -0
  196. package/dist/tokens/index.css +4 -4
  197. package/dist/tokens/primitives.css +442 -442
  198. package/dist/tokens/semantic.css +742 -547
  199. package/dist/tokens/typography-semantic.css +123 -100
  200. package/dist/tokens/typography.css +422 -422
  201. package/dist/ui/accordion.js +52 -60
  202. package/dist/ui/accordion.js.map +1 -0
  203. package/dist/ui/alert-dialog.d.ts +6 -2
  204. package/dist/ui/alert-dialog.d.ts.map +1 -1
  205. package/dist/ui/alert-dialog.js +112 -156
  206. package/dist/ui/alert-dialog.js.map +1 -0
  207. package/dist/ui/alert.d.ts +3 -2
  208. package/dist/ui/alert.d.ts.map +1 -1
  209. package/dist/ui/alert.js +203 -99
  210. package/dist/ui/alert.js.map +1 -0
  211. package/dist/ui/aspect-ratio.js +13 -16
  212. package/dist/ui/aspect-ratio.js.map +1 -0
  213. package/dist/ui/autocomplete.d.ts.map +1 -1
  214. package/dist/ui/autocomplete.js +137 -148
  215. package/dist/ui/autocomplete.js.map +1 -0
  216. package/dist/ui/avatar.js +196 -169
  217. package/dist/ui/avatar.js.map +1 -0
  218. package/dist/ui/badge-group.js +2 -7
  219. package/dist/ui/badge-indicator.js +42 -51
  220. package/dist/ui/badge-indicator.js.map +1 -0
  221. package/dist/ui/badge.js +2 -15
  222. package/dist/ui/banner.js +76 -68
  223. package/dist/ui/banner.js.map +1 -0
  224. package/dist/ui/breadcrumb.js +65 -84
  225. package/dist/ui/breadcrumb.js.map +1 -0
  226. package/dist/ui/button-group.js +109 -102
  227. package/dist/ui/button-group.js.map +1 -0
  228. package/dist/ui/button-processing.d.ts.map +1 -1
  229. package/dist/ui/button-processing.js +89 -72
  230. package/dist/ui/button-processing.js.map +1 -0
  231. package/dist/ui/button.js +393 -279
  232. package/dist/ui/button.js.map +1 -0
  233. package/dist/ui/card.js +151 -157
  234. package/dist/ui/card.js.map +1 -0
  235. package/dist/ui/charts/bar-chart.d.ts.map +1 -1
  236. package/dist/ui/charts/chart-container.d.ts +2 -0
  237. package/dist/ui/charts/chart-container.d.ts.map +1 -1
  238. package/dist/ui/charts/index.js +1025 -1319
  239. package/dist/ui/charts/index.js.map +1 -0
  240. package/dist/ui/charts/line-chart.d.ts.map +1 -1
  241. package/dist/ui/chat/index.js +2 -11
  242. package/dist/ui/chat/message-input.d.ts.map +1 -1
  243. package/dist/ui/chat/message-list.d.ts +1 -1
  244. package/dist/ui/chat/message-list.d.ts.map +1 -1
  245. package/dist/ui/chat/message.d.ts.map +1 -1
  246. package/dist/ui/chat/system-message.d.ts.map +1 -1
  247. package/dist/ui/checkbox.d.ts.map +1 -1
  248. package/dist/ui/checkbox.js +82 -100
  249. package/dist/ui/checkbox.js.map +1 -0
  250. package/dist/ui/code.js +18 -32
  251. package/dist/ui/code.js.map +1 -0
  252. package/dist/ui/collapsible.js +21 -29
  253. package/dist/ui/collapsible.js.map +1 -0
  254. package/dist/ui/color-input.d.ts.map +1 -1
  255. package/dist/ui/color-input.js +455 -372
  256. package/dist/ui/color-input.js.map +1 -0
  257. package/dist/ui/color-swatch.js +60 -90
  258. package/dist/ui/color-swatch.js.map +1 -0
  259. package/dist/ui/combobox.d.ts +7 -0
  260. package/dist/ui/combobox.d.ts.map +1 -1
  261. package/dist/ui/combobox.js +278 -293
  262. package/dist/ui/combobox.js.map +1 -0
  263. package/dist/ui/container.js +18 -24
  264. package/dist/ui/container.js.map +1 -0
  265. package/dist/ui/context-menu.js +154 -203
  266. package/dist/ui/context-menu.js.map +1 -0
  267. package/dist/ui/data-table-body.js +116 -213
  268. package/dist/ui/data-table-body.js.map +1 -0
  269. package/dist/ui/data-table-bulk-actions.js +43 -59
  270. package/dist/ui/data-table-bulk-actions.js.map +1 -0
  271. package/dist/ui/data-table-card.js +84 -71
  272. package/dist/ui/data-table-card.js.map +1 -0
  273. package/dist/ui/data-table-context.js +39 -42
  274. package/dist/ui/data-table-context.js.map +1 -0
  275. package/dist/ui/data-table-header.js +98 -139
  276. package/dist/ui/data-table-header.js.map +1 -0
  277. package/dist/ui/data-table-pagination.js +69 -82
  278. package/dist/ui/data-table-pagination.js.map +1 -0
  279. package/dist/ui/data-table-toolbar.js +104 -130
  280. package/dist/ui/data-table-toolbar.js.map +1 -0
  281. package/dist/ui/data-table.js +281 -354
  282. package/dist/ui/data-table.js.map +1 -0
  283. package/dist/ui/devalok-grain.js +77 -66
  284. package/dist/ui/devalok-grain.js.map +1 -0
  285. package/dist/ui/dialog.js +118 -151
  286. package/dist/ui/dialog.js.map +1 -0
  287. package/dist/ui/dropdown-menu.js +152 -203
  288. package/dist/ui/dropdown-menu.js.map +1 -0
  289. package/dist/ui/file-upload.js +242 -266
  290. package/dist/ui/file-upload.js.map +1 -0
  291. package/dist/ui/form.d.ts +8 -0
  292. package/dist/ui/form.d.ts.map +1 -1
  293. package/dist/ui/form.js +62 -56
  294. package/dist/ui/form.js.map +1 -0
  295. package/dist/ui/hover-card.js +54 -54
  296. package/dist/ui/hover-card.js.map +1 -0
  297. package/dist/ui/icon-button.js +21 -26
  298. package/dist/ui/icon-button.js.map +1 -0
  299. package/dist/ui/icon-context.js +17 -17
  300. package/dist/ui/icon-context.js.map +1 -0
  301. package/dist/ui/icon-group.js +22 -29
  302. package/dist/ui/icon-group.js.map +1 -0
  303. package/dist/ui/icon.js +201 -121
  304. package/dist/ui/icon.js.map +1 -0
  305. package/dist/ui/index.d.ts +4 -4
  306. package/dist/ui/index.d.ts.map +1 -1
  307. package/dist/ui/index.js +90 -350
  308. package/dist/ui/index.js.map +1 -0
  309. package/dist/ui/input-otp.d.ts +12 -3
  310. package/dist/ui/input-otp.d.ts.map +1 -1
  311. package/dist/ui/input-otp.js +58 -48
  312. package/dist/ui/input-otp.js.map +1 -0
  313. package/dist/ui/input.d.ts.map +1 -1
  314. package/dist/ui/input.js +93 -169
  315. package/dist/ui/input.js.map +1 -0
  316. package/dist/ui/label.d.ts.map +1 -1
  317. package/dist/ui/label.js +23 -23
  318. package/dist/ui/label.js.map +1 -0
  319. package/dist/ui/lib/check-tokens.d.ts +3 -0
  320. package/dist/ui/lib/check-tokens.d.ts.map +1 -0
  321. package/dist/ui/lib/date-utils.js +14 -11
  322. package/dist/ui/lib/date-utils.js.map +1 -0
  323. package/dist/ui/lib/motion.d.ts +15 -4
  324. package/dist/ui/lib/motion.d.ts.map +1 -1
  325. package/dist/ui/lib/motion.js +83 -33
  326. package/dist/ui/lib/motion.js.map +1 -0
  327. package/dist/ui/lib/utils.js +39 -16
  328. package/dist/ui/lib/utils.js.map +1 -0
  329. package/dist/ui/link.js +13 -24
  330. package/dist/ui/link.js.map +1 -0
  331. package/dist/ui/menubar.js +132 -210
  332. package/dist/ui/menubar.js.map +1 -0
  333. package/dist/ui/navigation-menu.js +163 -193
  334. package/dist/ui/navigation-menu.js.map +1 -0
  335. package/dist/ui/number-input.d.ts +16 -1
  336. package/dist/ui/number-input.d.ts.map +1 -1
  337. package/dist/ui/number-input.js +102 -95
  338. package/dist/ui/number-input.js.map +1 -0
  339. package/dist/ui/pagination.js +122 -159
  340. package/dist/ui/pagination.js.map +1 -0
  341. package/dist/ui/popover.js +2 -131
  342. package/dist/ui/progress-ring.d.ts.map +1 -1
  343. package/dist/ui/progress-ring.js +133 -143
  344. package/dist/ui/progress-ring.js.map +1 -0
  345. package/dist/ui/progress.js +51 -95
  346. package/dist/ui/progress.js.map +1 -0
  347. package/dist/ui/radio.d.ts.map +1 -1
  348. package/dist/ui/radio.js +47 -49
  349. package/dist/ui/radio.js.map +1 -0
  350. package/dist/ui/search-input.js +51 -53
  351. package/dist/ui/search-input.js.map +1 -0
  352. package/dist/ui/segmented-control.d.ts +1 -1
  353. package/dist/ui/segmented-control.d.ts.map +1 -1
  354. package/dist/ui/segmented-control.js +95 -114
  355. package/dist/ui/segmented-control.js.map +1 -0
  356. package/dist/ui/select.d.ts.map +1 -1
  357. package/dist/ui/select.js +137 -157
  358. package/dist/ui/select.js.map +1 -0
  359. package/dist/ui/separator.d.ts.map +1 -1
  360. package/dist/ui/separator.js +18 -25
  361. package/dist/ui/separator.js.map +1 -0
  362. package/dist/ui/sheet.js +135 -163
  363. package/dist/ui/sheet.js.map +1 -0
  364. package/dist/ui/sidebar.js +357 -600
  365. package/dist/ui/sidebar.js.map +1 -0
  366. package/dist/ui/skeleton.js +179 -231
  367. package/dist/ui/skeleton.js.map +1 -0
  368. package/dist/ui/slider.d.ts +22 -3
  369. package/dist/ui/slider.d.ts.map +1 -1
  370. package/dist/ui/slider.js +62 -34
  371. package/dist/ui/slider.js.map +1 -0
  372. package/dist/ui/spinner.js +226 -205
  373. package/dist/ui/spinner.js.map +1 -0
  374. package/dist/ui/split-button.d.ts.map +1 -1
  375. package/dist/ui/split-button.js +228 -276
  376. package/dist/ui/split-button.js.map +1 -0
  377. package/dist/ui/stack.js +56 -70
  378. package/dist/ui/stack.js.map +1 -0
  379. package/dist/ui/stat-card.js +259 -251
  380. package/dist/ui/stat-card.js.map +1 -0
  381. package/dist/ui/status-dot.js +67 -63
  382. package/dist/ui/status-dot.js.map +1 -0
  383. package/dist/ui/stepper.d.ts +10 -0
  384. package/dist/ui/stepper.d.ts.map +1 -1
  385. package/dist/ui/stepper.js +124 -168
  386. package/dist/ui/stepper.js.map +1 -0
  387. package/dist/ui/switch.d.ts.map +1 -1
  388. package/dist/ui/switch.js +56 -55
  389. package/dist/ui/switch.js.map +1 -0
  390. package/dist/ui/table.js +57 -90
  391. package/dist/ui/table.js.map +1 -0
  392. package/dist/ui/tabs.d.ts +3 -1
  393. package/dist/ui/tabs.d.ts.map +1 -1
  394. package/dist/ui/tabs.js +159 -156
  395. package/dist/ui/tabs.js.map +1 -0
  396. package/dist/ui/text.d.ts +1 -1
  397. package/dist/ui/text.d.ts.map +1 -1
  398. package/dist/ui/text.js +60 -59
  399. package/dist/ui/text.js.map +1 -0
  400. package/dist/ui/textarea.js +40 -57
  401. package/dist/ui/textarea.js.map +1 -0
  402. package/dist/ui/toast-registry.d.ts +8 -0
  403. package/dist/ui/toast-registry.d.ts.map +1 -0
  404. package/dist/ui/toast-registry.js +13 -0
  405. package/dist/ui/toast-registry.js.map +1 -0
  406. package/dist/ui/toast-types.js +0 -1
  407. package/dist/ui/toast.d.ts.map +1 -1
  408. package/dist/ui/toast.js +559 -536
  409. package/dist/ui/toast.js.map +1 -0
  410. package/dist/ui/toaster.d.ts.map +1 -1
  411. package/dist/ui/toaster.js +24 -33
  412. package/dist/ui/toaster.js.map +1 -0
  413. package/dist/ui/toggle-group.d.ts +2 -0
  414. package/dist/ui/toggle-group.d.ts.map +1 -1
  415. package/dist/ui/toggle-group.js +44 -41
  416. package/dist/ui/toggle-group.js.map +1 -0
  417. package/dist/ui/toggle.d.ts +2 -0
  418. package/dist/ui/toggle.d.ts.map +1 -1
  419. package/dist/ui/toggle.js +44 -40
  420. package/dist/ui/toggle.js.map +1 -0
  421. package/dist/ui/tooltip.js +80 -65
  422. package/dist/ui/tooltip.js.map +1 -0
  423. package/dist/ui/tree-view/index.js +2 -6
  424. package/dist/ui/visually-hidden.js +12 -10
  425. package/dist/ui/visually-hidden.js.map +1 -0
  426. package/docs/components/_header.md +85 -85
  427. package/docs/components/composed/activity-feed.md +62 -62
  428. package/docs/components/composed/avatar-group.md +65 -65
  429. package/docs/components/composed/bulk-action-bar.md +40 -40
  430. package/docs/components/composed/command-palette.md +40 -40
  431. package/docs/components/composed/confirm-dialog.md +46 -46
  432. package/docs/components/composed/content-card.md +36 -36
  433. package/docs/components/composed/date-picker.md +130 -130
  434. package/docs/components/composed/deadline-indicator.md +27 -27
  435. package/docs/components/composed/emoji-picker.md +52 -52
  436. package/docs/components/composed/empty-state.md +53 -53
  437. package/docs/components/composed/error-boundary.md +29 -29
  438. package/docs/components/composed/file-preview.md +40 -40
  439. package/docs/components/composed/filter-bar.md +57 -57
  440. package/docs/components/composed/form-section.md +31 -31
  441. package/docs/components/composed/global-loading.md +27 -27
  442. package/docs/components/composed/inline-edit.md +35 -35
  443. package/docs/components/composed/loading-skeleton.md +51 -51
  444. package/docs/components/composed/markdown-viewer.md +27 -27
  445. package/docs/components/composed/master-detail.md +48 -48
  446. package/docs/components/composed/member-picker.md +35 -35
  447. package/docs/components/composed/multi-select-popover.md +62 -62
  448. package/docs/components/composed/page-header.md +41 -41
  449. package/docs/components/composed/page-skeletons.md +32 -32
  450. package/docs/components/composed/priority-indicator.md +32 -32
  451. package/docs/components/composed/responsive-overlay.md +34 -34
  452. package/docs/components/composed/rich-text-editor.md +82 -82
  453. package/docs/components/composed/schedule-view.md +39 -39
  454. package/docs/components/composed/simple-tooltip.md +33 -33
  455. package/docs/components/composed/status-badge.md +55 -55
  456. package/docs/components/shell/app-command-palette.md +44 -44
  457. package/docs/components/shell/bottom-navbar.md +52 -52
  458. package/docs/components/shell/command-registry.md +48 -48
  459. package/docs/components/shell/link-context.md +41 -41
  460. package/docs/components/shell/notification-center.md +63 -63
  461. package/docs/components/shell/notification-preferences.md +42 -42
  462. package/docs/components/shell/sidebar.md +92 -92
  463. package/docs/components/shell/top-bar.md +143 -143
  464. package/docs/components/ui/accordion.md +51 -51
  465. package/docs/components/ui/alert-dialog.md +61 -61
  466. package/docs/components/ui/alert.md +46 -46
  467. package/docs/components/ui/aspect-ratio.md +25 -25
  468. package/docs/components/ui/autocomplete.md +48 -48
  469. package/docs/components/ui/avatar.md +56 -56
  470. package/docs/components/ui/badge.md +83 -82
  471. package/docs/components/ui/banner.md +42 -42
  472. package/docs/components/ui/breadcrumb.md +37 -37
  473. package/docs/components/ui/button-group.md +41 -41
  474. package/docs/components/ui/button.md +94 -93
  475. package/docs/components/ui/card.md +52 -52
  476. package/docs/components/ui/charts.md +43 -43
  477. package/docs/components/ui/checkbox.md +36 -36
  478. package/docs/components/ui/chip.md +47 -47
  479. package/docs/components/ui/code.md +28 -28
  480. package/docs/components/ui/collapsible.md +40 -40
  481. package/docs/components/ui/color-input.md +91 -91
  482. package/docs/components/ui/color-swatch.md +25 -25
  483. package/docs/components/ui/combobox.md +54 -54
  484. package/docs/components/ui/container.md +26 -26
  485. package/docs/components/ui/context-menu.md +43 -43
  486. package/docs/components/ui/data-table-body.md +1 -1
  487. package/docs/components/ui/data-table-bulk-actions.md +1 -1
  488. package/docs/components/ui/data-table-card.md +1 -1
  489. package/docs/components/ui/data-table-context.md +1 -1
  490. package/docs/components/ui/data-table-header.md +1 -1
  491. package/docs/components/ui/data-table-pagination.md +1 -1
  492. package/docs/components/ui/data-table-toolbar.md +44 -44
  493. package/docs/components/ui/data-table.md +94 -94
  494. package/docs/components/ui/dialog.md +54 -54
  495. package/docs/components/ui/dropdown-menu.md +48 -48
  496. package/docs/components/ui/file-upload.md +41 -41
  497. package/docs/components/ui/form.md +51 -51
  498. package/docs/components/ui/hover-card.md +32 -32
  499. package/docs/components/ui/icon-button.md +40 -40
  500. package/docs/components/ui/input-otp.md +44 -44
  501. package/docs/components/ui/input.md +74 -74
  502. package/docs/components/ui/label.md +25 -25
  503. package/docs/components/ui/link.md +29 -29
  504. package/docs/components/ui/menubar.md +44 -44
  505. package/docs/components/ui/navigation-menu.md +46 -46
  506. package/docs/components/ui/number-input.md +44 -44
  507. package/docs/components/ui/pagination.md +48 -48
  508. package/docs/components/ui/popover.md +30 -30
  509. package/docs/components/ui/progress-ring.md +41 -41
  510. package/docs/components/ui/progress.md +34 -34
  511. package/docs/components/ui/radio.md +34 -34
  512. package/docs/components/ui/search-input.md +43 -43
  513. package/docs/components/ui/segmented-control.md +50 -50
  514. package/docs/components/ui/select.md +53 -53
  515. package/docs/components/ui/separator.md +32 -32
  516. package/docs/components/ui/sheet.md +47 -47
  517. package/docs/components/ui/sidebar.md +72 -72
  518. package/docs/components/ui/skeleton.md +77 -77
  519. package/docs/components/ui/slider.md +29 -29
  520. package/docs/components/ui/spinner.md +54 -54
  521. package/docs/components/ui/stack.md +39 -39
  522. package/docs/components/ui/stat-card.md +61 -61
  523. package/docs/components/ui/status-dot.md +26 -26
  524. package/docs/components/ui/stepper.md +49 -49
  525. package/docs/components/ui/switch.md +47 -47
  526. package/docs/components/ui/table.md +47 -47
  527. package/docs/components/ui/tabs.md +60 -60
  528. package/docs/components/ui/text.md +37 -37
  529. package/docs/components/ui/textarea.md +39 -39
  530. package/docs/components/ui/toast.md +65 -65
  531. package/docs/components/ui/toaster.md +47 -47
  532. package/docs/components/ui/toggle-group.md +43 -43
  533. package/docs/components/ui/toggle.md +37 -37
  534. package/docs/components/ui/tooltip.md +38 -38
  535. package/docs/components/ui/tree-view.md +65 -65
  536. package/docs/components/ui/visually-hidden.md +21 -21
  537. package/llms-full.txt +5266 -5264
  538. package/llms.txt +624 -580
  539. package/package.json +7 -8
  540. package/dist/_chunks/date-time-picker.js +0 -851
  541. package/dist/_chunks/typing-indicator.js +0 -565
@@ -1,48 +1,48 @@
1
- # Autocomplete
2
-
3
- - Import: @devalok/shilp-sutra/ui/autocomplete
4
- - Server-safe: No
5
- - Category: ui
6
-
7
- ## Props
8
- options: AutocompleteOption[] (REQUIRED) — { value: string, label: string }
9
- value: AutocompleteOption | null
10
- onValueChange?: (option: AutocompleteOption) => void
11
- placeholder: string
12
- emptyText: string (default: "No options")
13
- disabled: boolean
14
- className: string
15
- id: string
16
-
17
- ## Defaults
18
- emptyText="No options"
19
-
20
- ## Example
21
- ```jsx
22
- <Autocomplete
23
- options={[{ value: 'mumbai', label: 'Mumbai' }]}
24
- value={selectedCity}
25
- onValueChange={setSelectedCity}
26
- placeholder="Search cities..."
27
- />
28
- ```
29
-
30
- ## Gotchas
31
- - Allows free-text input (no forced selection) — use Combobox for forced selection
32
- - value is an object { value, label }, NOT just a string
33
-
34
- ## Changes
35
- ### v0.18.0
36
- - **Fixed** Added `useEffect` to sync query when external value changes
37
-
38
- ### v0.14.0
39
- - **Changed** z-index promoted from `z-dropdown` (1000) to `z-popover` (1400) — fixes dropdown rendering behind Sheet/Dialog overlays
40
-
41
- ### v0.3.0
42
- - **Changed** (BREAKING) `onChange` renamed to `onValueChange`
43
-
44
- ### v0.1.1
45
- - **Fixed** `focus:ring` changed to `focus-visible:ring` — focus ring no longer shows on mouse click
46
-
47
- ### v0.1.0
48
- - **Added** Initial release
1
+ # Autocomplete
2
+
3
+ - Import: @devalok/shilp-sutra/ui/autocomplete
4
+ - Server-safe: No
5
+ - Category: ui
6
+
7
+ ## Props
8
+ options: AutocompleteOption[] (REQUIRED) — { value: string, label: string }
9
+ value: AutocompleteOption | null
10
+ onValueChange?: (option: AutocompleteOption) => void
11
+ placeholder: string
12
+ emptyText: string (default: "No options")
13
+ disabled: boolean
14
+ className: string
15
+ id: string
16
+
17
+ ## Defaults
18
+ emptyText="No options"
19
+
20
+ ## Example
21
+ ```jsx
22
+ <Autocomplete
23
+ options={[{ value: 'mumbai', label: 'Mumbai' }]}
24
+ value={selectedCity}
25
+ onValueChange={setSelectedCity}
26
+ placeholder="Search cities..."
27
+ />
28
+ ```
29
+
30
+ ## Gotchas
31
+ - Allows free-text input (no forced selection) — use Combobox for forced selection
32
+ - value is an object { value, label }, NOT just a string
33
+
34
+ ## Changes
35
+ ### v0.18.0
36
+ - **Fixed** Added `useEffect` to sync query when external value changes
37
+
38
+ ### v0.14.0
39
+ - **Changed** z-index promoted from `z-dropdown` (1000) to `z-popover` (1400) — fixes dropdown rendering behind Sheet/Dialog overlays
40
+
41
+ ### v0.3.0
42
+ - **Changed** (BREAKING) `onChange` renamed to `onValueChange`
43
+
44
+ ### v0.1.1
45
+ - **Fixed** `focus:ring` changed to `focus-visible:ring` — focus ring no longer shows on mouse click
46
+
47
+ ### v0.1.0
48
+ - **Added** Initial release
@@ -1,56 +1,56 @@
1
- # Avatar
2
-
3
- - Import: @devalok/shilp-sutra/ui/avatar
4
- - Server-safe: No
5
- - Category: ui
6
-
7
- ## Props
8
- size: "xs" | "sm" | "md" | "lg" | "xl"
9
- shape: "circle" | "square" | "rounded"
10
- status: "online" | "offline" | "busy" | "away"
11
- ring: "none" | "lead" | "admin" | "client" (default: "none") — Role ring with semantic colors
12
- badge: number | "dot" | ReactNode — Badge overlay at top-right
13
- loading: boolean (default: false) — Skeleton shimmer state
14
-
15
- ## Compound Components
16
- Avatar (root with size/shape/status/ring/badge/loading)
17
- AvatarImage (src, alt)
18
- AvatarFallback (children = initials text, colorSeed?: string)
19
-
20
- ## AvatarFallback Props
21
- colorSeed: string — Deterministic color seed for consistent background color across renders
22
-
23
- ## Defaults
24
- size="md", shape="circle", ring="none", loading=false
25
-
26
- ## Example
27
- ```jsx
28
- <Avatar size="lg" status="online" ring="lead" badge={3}>
29
- <AvatarImage src={user.photoUrl} alt={user.name} />
30
- <AvatarFallback colorSeed={user.id}>JD</AvatarFallback>
31
- </Avatar>
32
- ```
33
-
34
- ## Gotchas
35
- - Status dot renders with role="img" and aria-label (accessible, not decorative)
36
- - Dot size scales automatically with avatar size
37
- - AvatarFallback font size scales automatically with avatar size (via AvatarSizeContext)
38
- - Ring offset color matches the surface context — ensure it sits on the expected background
39
- - Badge is hidden when value is `0` (falsy); use `"dot"` for presence without a count
40
- - Online status dot pulses with a CSS animation
41
-
42
- ## Changes
43
- ### v0.22.3
44
- - **Fixed** AvatarFallback text now auto-scales with avatar size — xs gets `text-[9px]`, sm `text-ds-xs`, md `text-ds-sm`, lg `text-ds-md`, xl `text-ds-lg`
45
-
46
- ### v0.22.0
47
- - **Fixed** Fallback always rendered `rounded-ds-full` regardless of `shape` prop. Now uses `AvatarShapeContext` to inherit the correct border-radius from `shape="square"` or `shape="rounded"`.
48
-
49
- ### v0.21.0
50
- - **Added** `ring` prop with semantic role colors (`lead`, `admin`, `client`)
51
- - **Added** `badge` prop for numeric, dot, or custom ReactNode overlay at top-right
52
- - **Added** `loading` prop for skeleton shimmer placeholder state
53
- - **Added** `AvatarFallback.colorSeed` for deterministic fallback background colors
54
-
55
- ### v0.1.0
56
- - **Added** Initial release with CVA size variants (xs-xl) and status indicator badge
1
+ # Avatar
2
+
3
+ - Import: @devalok/shilp-sutra/ui/avatar
4
+ - Server-safe: No
5
+ - Category: ui
6
+
7
+ ## Props
8
+ size: "xs" | "sm" | "md" | "lg" | "xl"
9
+ shape: "circle" | "square" | "rounded"
10
+ status: "online" | "offline" | "busy" | "away"
11
+ ring: "none" | "lead" | "admin" | "client" (default: "none") — Role ring with semantic colors
12
+ badge: number | "dot" | ReactNode — Badge overlay at top-right
13
+ loading: boolean (default: false) — Skeleton shimmer state
14
+
15
+ ## Compound Components
16
+ Avatar (root with size/shape/status/ring/badge/loading)
17
+ AvatarImage (src, alt)
18
+ AvatarFallback (children = initials text, colorSeed?: string)
19
+
20
+ ## AvatarFallback Props
21
+ colorSeed: string — Deterministic color seed for consistent background color across renders
22
+
23
+ ## Defaults
24
+ size="md", shape="circle", ring="none", loading=false
25
+
26
+ ## Example
27
+ ```jsx
28
+ <Avatar size="lg" status="online" ring="lead" badge={3}>
29
+ <AvatarImage src={user.photoUrl} alt={user.name} />
30
+ <AvatarFallback colorSeed={user.id}>JD</AvatarFallback>
31
+ </Avatar>
32
+ ```
33
+
34
+ ## Gotchas
35
+ - Status dot renders with role="img" and aria-label (accessible, not decorative)
36
+ - Dot size scales automatically with avatar size
37
+ - AvatarFallback font size scales automatically with avatar size (via AvatarSizeContext)
38
+ - Ring offset color matches the surface context — ensure it sits on the expected background
39
+ - Badge is hidden when value is `0` (falsy); use `"dot"` for presence without a count
40
+ - Online status dot pulses with a CSS animation
41
+
42
+ ## Changes
43
+ ### v0.22.3
44
+ - **Fixed** AvatarFallback text now auto-scales with avatar size — xs gets `text-[9px]`, sm `text-ds-xs`, md `text-ds-sm`, lg `text-ds-md`, xl `text-ds-lg`
45
+
46
+ ### v0.22.0
47
+ - **Fixed** Fallback always rendered `rounded-ds-full` regardless of `shape` prop. Now uses `AvatarShapeContext` to inherit the correct border-radius from `shape="square"` or `shape="rounded"`.
48
+
49
+ ### v0.21.0
50
+ - **Added** `ring` prop with semantic role colors (`lead`, `admin`, `client`)
51
+ - **Added** `badge` prop for numeric, dot, or custom ReactNode overlay at top-right
52
+ - **Added** `loading` prop for skeleton shimmer placeholder state
53
+ - **Added** `AvatarFallback.colorSeed` for deterministic fallback background colors
54
+
55
+ ### v0.1.0
56
+ - **Added** Initial release with CVA size variants (xs-xl) and status indicator badge
@@ -1,82 +1,83 @@
1
- # Badge
2
-
3
- - Import: @devalok/shilp-sutra/ui/badge
4
- - Server-safe: No
5
- - Category: ui
6
-
7
- ## Props
8
- variant: "subtle" | "solid" | "outline" | "soft"
9
- color: "default" | "accent" | "error" | "success" | "warning" | "info" | "neutral" | "teal" | "amber" | "slate" | "indigo" | "cyan" | "orange" | "emerald" | "custom"
10
- size: "xs" | "sm" | "md" | "lg"
11
- startIcon: ReactElement | null
12
- endIcon: ReactElement | null
13
- dot: boolean (shows animated leading dot indicator)
14
- onClick: () => void (makes badge interactive as button)
15
- selected: boolean (toggle state — shows check icon when true)
16
- disabled: boolean
17
- onDismiss: () => void (shows dismiss X button)
18
- maxWidth: number (enables truncation with title tooltip)
19
- circle: boolean (square aspect-ratio, centered content)
20
- asChild: boolean
21
- children: ReactNode
22
-
23
- ## Compound Components
24
- Badge.Indicator status indicator sub-component
25
- Badge.Grouplayout wrapper for badge collections
26
-
27
- ## Defaults
28
- variant="subtle", color="default", size="md"
29
-
30
- ## Example
31
- ```jsx
32
- <Badge variant="solid" color="success">Active</Badge>
33
- <Badge color="teal" onDismiss={() => removeFilter('teal')}>Teal team</Badge>
34
- <Badge onClick={() => toggle()} selected={isSelected}>Filterable</Badge>
35
- <Badge color="custom" style={{ '--badge-color': '#8b5cf6' }}>Custom</Badge>
36
- ```
37
-
38
- ## Gotchas
39
- - DO NOT use variant="destructive" — use variant="solid" color="error"
40
- - Badge is now interactive when `onClick` is provided (renders as `<button>`)
41
- - When both `onClick` and `onDismiss` are provided, renders as `div[role="button"]` to avoid nested buttons
42
- - Chip is deprecated use Badge with `onClick` for interactive tags
43
- - `color="custom"` requires `--badge-color` CSS variable (and optionally `--badge-fg-color` for solid variant)
44
-
45
- ## Changes
46
- ### v0.31.0
47
- - **Added** `truncate` prop — enables ellipsis truncation without requiring maxWidth
48
-
49
- ### v0.29.0
50
- - **Changed** (BREAKING) v2 rewrite — Badge is now a full interactive component
51
- - **Added** `soft` variant (tinted bg, no border completes the 4-variant set: subtle/solid/outline/soft)
52
- - **Added** `custom` color with CSS variable `--badge-color` (and `--badge-fg-color` for solid)
53
- - **Added** Interactive mode: `onClick` makes Badge a clickable button, `selected` shows animated check icon
54
- - **Added** `disabled` prop with reduced opacity and pointer-events-none
55
- - **Added** `startIcon` / `endIcon` props (auto-sized per badge size)
56
- - **Added** `maxWidth` prop for truncation with title tooltip
57
- - **Added** `circle` prop for square aspect-ratio badges
58
- - **Added** `asChild` prop for Slot composition
59
- - **Added** `Badge.Indicator` and `Badge.Group` compound sub-components
60
- - **Deprecated** Chip component — use Badge with `onClick` instead
61
- - **Changed** Dot animation now uses Framer Motion spring entrance + continuous pulse
62
-
63
- ### v0.18.0
64
- - **Changed** Pulse-ring animation migrated to Framer Motion
65
- - **Fixed** Accent color variants — `text-accent-9` changed to `text-accent-11`, `border-accent-9` changed to `border-accent-7`
66
- - **Changed** OKLCH color token migration
67
-
68
- ### v0.8.0
69
- - **Fixed** `text-[10px]` changed to `text-ds-xs` for token consistency
70
-
71
- ### v0.4.2
72
- - **Fixed** `Omit<HTMLAttributes, 'color'>` resolves TS2320 conflict with CVA color prop
73
-
74
- ### v0.3.1
75
- - **Fixed** Dismiss button added 24px touch target
76
-
77
- ### v0.3.0
78
- - **Changed** (BREAKING) Single `variant` axis split into `variant` (subtle/solid/outline) + `color` (default/info/success/error/...)
79
- - **Fixed** Solid variant phantom token `text-on-interactive` changed to `text-on-color`
80
-
81
- ### v0.1.0
82
- - **Added** Initial release
1
+ # Badge
2
+
3
+ - Import: @devalok/shilp-sutra/ui/badge
4
+ - Server-safe: No
5
+ - Category: ui
6
+
7
+ ## Props
8
+ variant: "subtle" | "solid" | "outline" | "soft"
9
+ color: "default" | "accent" | "error" | "success" | "warning" | "info" | "neutral" | "teal" | "amber" | "slate" | "indigo" | "cyan" | "orange" | "emerald" | "custom"
10
+ size: "xs" | "sm" | "md" | "lg"
11
+ startIcon: ReactElement | null
12
+ endIcon: ReactElement | null
13
+ dot: boolean (shows animated leading dot indicator)
14
+ onClick: () => void (makes badge interactive as button)
15
+ selected: boolean (toggle state — shows check icon when true)
16
+ disabled: boolean
17
+ onDismiss: () => void (shows dismiss X button)
18
+ maxWidth: number (enables truncation with title tooltip)
19
+ truncate: boolean (ellipsis overflow pair with a width/maxWidth; adds title tooltip)
20
+ circle: boolean (square aspect-ratio, centered content)
21
+ asChild: boolean
22
+ children: ReactNode
23
+
24
+ ## Compound Components
25
+ Badge.Indicatorstatus indicator sub-component
26
+ Badge.Group — layout wrapper for badge collections
27
+
28
+ ## Defaults
29
+ variant="subtle", color="default", size="md"
30
+
31
+ ## Example
32
+ ```jsx
33
+ <Badge variant="solid" color="success">Active</Badge>
34
+ <Badge color="teal" onDismiss={() => removeFilter('teal')}>Teal team</Badge>
35
+ <Badge onClick={() => toggle()} selected={isSelected}>Filterable</Badge>
36
+ <Badge color="custom" style={{ '--badge-color': '#8b5cf6' }}>Custom</Badge>
37
+ ```
38
+
39
+ ## Gotchas
40
+ - DO NOT use variant="destructive" use variant="solid" color="error"
41
+ - Badge is now interactive when `onClick` is provided (renders as `<button>`)
42
+ - When both `onClick` and `onDismiss` are provided, renders as `div[role="button"]` to avoid nested buttons
43
+ - Chip is deprecated use Badge with `onClick` for interactive tags
44
+ - `color="custom"` requires `--badge-color` CSS variable (and optionally `--badge-fg-color` for solid variant)
45
+
46
+ ## Changes
47
+ ### v0.31.0
48
+ - **Added** `truncate` prop — enables ellipsis truncation without requiring maxWidth
49
+
50
+ ### v0.29.0
51
+ - **Changed** (BREAKING) v2 rewrite Badge is now a full interactive component
52
+ - **Added** `soft` variant (tinted bg, no border completes the 4-variant set: subtle/solid/outline/soft)
53
+ - **Added** `custom` color with CSS variable `--badge-color` (and `--badge-fg-color` for solid)
54
+ - **Added** Interactive mode: `onClick` makes Badge a clickable button, `selected` shows animated check icon
55
+ - **Added** `disabled` prop with reduced opacity and pointer-events-none
56
+ - **Added** `startIcon` / `endIcon` props (auto-sized per badge size)
57
+ - **Added** `maxWidth` prop for truncation with title tooltip
58
+ - **Added** `circle` prop for square aspect-ratio badges
59
+ - **Added** `asChild` prop for Slot composition
60
+ - **Added** `Badge.Indicator` and `Badge.Group` compound sub-components
61
+ - **Deprecated** Chip component use Badge with `onClick` instead
62
+ - **Changed** Dot animation now uses Framer Motion spring entrance + continuous pulse
63
+
64
+ ### v0.18.0
65
+ - **Changed** Pulse-ring animation migrated to Framer Motion
66
+ - **Fixed** Accent color variants — `text-accent-9` changed to `text-accent-11`, `border-accent-9` changed to `border-accent-7`
67
+ - **Changed** OKLCH color token migration
68
+
69
+ ### v0.8.0
70
+ - **Fixed** `text-[10px]` changed to `text-ds-xs` for token consistency
71
+
72
+ ### v0.4.2
73
+ - **Fixed** `Omit<HTMLAttributes, 'color'>` resolves TS2320 conflict with CVA color prop
74
+
75
+ ### v0.3.1
76
+ - **Fixed** Dismiss button added 24px touch target
77
+
78
+ ### v0.3.0
79
+ - **Changed** (BREAKING) Single `variant` axis split into `variant` (subtle/solid/outline) + `color` (default/info/success/error/...)
80
+ - **Fixed** Solid variant phantom token `text-on-interactive` changed to `text-on-color`
81
+
82
+ ### v0.1.0
83
+ - **Added** Initial release
@@ -1,42 +1,42 @@
1
- # Banner
2
-
3
- - Import: @devalok/shilp-sutra/ui/banner
4
- - Server-safe: No
5
- - Category: ui
6
-
7
- ## Props
8
- color: "info" | "success" | "warning" | "error" | "neutral"
9
- actions: ReactNode (optional action slot for one or more buttons; wraps on narrow viewports)
10
- action: ReactNode (DEPRECATED — use `actions` instead)
11
- onDismiss: () => void (optional, shows X button)
12
- children: ReactNode (message text)
13
-
14
- ## Defaults
15
- color="info"
16
-
17
- ## Example
18
- ```jsx
19
- <Banner color="warning" onDismiss={() => dismiss()}>
20
- Scheduled maintenance on Sunday.
21
- </Banner>
22
- ```
23
-
24
- ## Gotchas
25
- - Banner is full-width (spans container). Alert is inline.
26
- - Renders role="alert" automatically
27
- - `onDismiss` fires after the exit animation completes, not immediately on dismiss button click
28
-
29
- ## Changes
30
- ### v0.20.0
31
- - **Added** `actions` prop (plural) for multiple action buttons with mobile-friendly flex-wrap
32
- - **Deprecated** `action` prop — use `actions` instead (both still work; `actions` takes priority)
33
- - **Changed** Root layout uses `flex-wrap` and children wrapper uses `min-w-0` for better text truncation
34
-
35
- ### v0.3.1
36
- - **Fixed** BannerProps uses `Omit<HTMLAttributes, 'color'>` to resolve TypeScript conflict with CVA `color` variant
37
-
38
- ### v0.3.0
39
- - **Changed** (BREAKING) `variant` prop renamed to `color` for semantic intent
40
-
41
- ### v0.1.0
42
- - **Added** Initial release
1
+ # Banner
2
+
3
+ - Import: @devalok/shilp-sutra/ui/banner
4
+ - Server-safe: No
5
+ - Category: ui
6
+
7
+ ## Props
8
+ color: "info" | "success" | "warning" | "error" | "neutral"
9
+ actions: ReactNode (optional action slot for one or more buttons; wraps on narrow viewports)
10
+ action: ReactNode (DEPRECATED — use `actions` instead)
11
+ onDismiss: () => void (optional, shows X button)
12
+ children: ReactNode (message text)
13
+
14
+ ## Defaults
15
+ color="info"
16
+
17
+ ## Example
18
+ ```jsx
19
+ <Banner color="warning" onDismiss={() => dismiss()}>
20
+ Scheduled maintenance on Sunday.
21
+ </Banner>
22
+ ```
23
+
24
+ ## Gotchas
25
+ - Banner is full-width (spans container). Alert is inline.
26
+ - Renders role="alert" automatically
27
+ - `onDismiss` fires after the exit animation completes, not immediately on dismiss button click
28
+
29
+ ## Changes
30
+ ### v0.20.0
31
+ - **Added** `actions` prop (plural) for multiple action buttons with mobile-friendly flex-wrap
32
+ - **Deprecated** `action` prop — use `actions` instead (both still work; `actions` takes priority)
33
+ - **Changed** Root layout uses `flex-wrap` and children wrapper uses `min-w-0` for better text truncation
34
+
35
+ ### v0.3.1
36
+ - **Fixed** BannerProps uses `Omit<HTMLAttributes, 'color'>` to resolve TypeScript conflict with CVA `color` variant
37
+
38
+ ### v0.3.0
39
+ - **Changed** (BREAKING) `variant` prop renamed to `color` for semantic intent
40
+
41
+ ### v0.1.0
42
+ - **Added** Initial release
@@ -1,37 +1,37 @@
1
- # Breadcrumb
2
-
3
- - Import: @devalok/shilp-sutra/ui/breadcrumb
4
- - Server-safe: No
5
- - Category: ui
6
-
7
- ## Compound Components
8
- Breadcrumb (root nav)
9
- BreadcrumbList (ol)
10
- BreadcrumbItem (li)
11
- BreadcrumbLink (for clickable items) | BreadcrumbPage (for current page)
12
- BreadcrumbSeparator (auto-rendered or custom)
13
- BreadcrumbEllipsis (for collapsed items)
14
-
15
- ## Defaults
16
- none
17
-
18
- ## Example
19
- ```jsx
20
- <Breadcrumb>
21
- <BreadcrumbList>
22
- <BreadcrumbItem><BreadcrumbLink href="/">Home</BreadcrumbLink></BreadcrumbItem>
23
- <BreadcrumbSeparator />
24
- <BreadcrumbItem><BreadcrumbPage>Settings</BreadcrumbPage></BreadcrumbItem>
25
- </BreadcrumbList>
26
- </Breadcrumb>
27
- ```
28
-
29
- ## Gotchas
30
- - Use BreadcrumbPage for the current (non-clickable) page, BreadcrumbLink for navigable items
31
-
32
- ## Changes
33
- ### v0.18.0
34
- - **Added** `BreadcrumbProps`, `BreadcrumbLinkProps` type exports
35
-
36
- ### v0.1.0
37
- - **Added** Initial release
1
+ # Breadcrumb
2
+
3
+ - Import: @devalok/shilp-sutra/ui/breadcrumb
4
+ - Server-safe: No
5
+ - Category: ui
6
+
7
+ ## Compound Components
8
+ Breadcrumb (root nav)
9
+ BreadcrumbList (ol)
10
+ BreadcrumbItem (li)
11
+ BreadcrumbLink (for clickable items) | BreadcrumbPage (for current page)
12
+ BreadcrumbSeparator (auto-rendered or custom)
13
+ BreadcrumbEllipsis (for collapsed items)
14
+
15
+ ## Defaults
16
+ none
17
+
18
+ ## Example
19
+ ```jsx
20
+ <Breadcrumb>
21
+ <BreadcrumbList>
22
+ <BreadcrumbItem><BreadcrumbLink href="/">Home</BreadcrumbLink></BreadcrumbItem>
23
+ <BreadcrumbSeparator />
24
+ <BreadcrumbItem><BreadcrumbPage>Settings</BreadcrumbPage></BreadcrumbItem>
25
+ </BreadcrumbList>
26
+ </Breadcrumb>
27
+ ```
28
+
29
+ ## Gotchas
30
+ - Use BreadcrumbPage for the current (non-clickable) page, BreadcrumbLink for navigable items
31
+
32
+ ## Changes
33
+ ### v0.18.0
34
+ - **Added** `BreadcrumbProps`, `BreadcrumbLinkProps` type exports
35
+
36
+ ### v0.1.0
37
+ - **Added** Initial release
@@ -1,41 +1,41 @@
1
- # ButtonGroup
2
-
3
- - Import: @devalok/shilp-sutra/ui/button-group
4
- - Server-safe: No
5
- - Category: ui
6
-
7
- ## Props
8
- variant: ButtonProps['variant'] (propagated to children)
9
- color: ButtonProps['color'] (propagated to children)
10
- size: ButtonProps['size'] (propagated to children)
11
- orientation: "horizontal" | "vertical" (default: "horizontal")
12
-
13
- ## Defaults
14
- orientation="horizontal"
15
-
16
- ## Example
17
- ```jsx
18
- <ButtonGroup variant="outline" size="sm">
19
- <Button>Bold</Button>
20
- <Button>Italic</Button>
21
- </ButtonGroup>
22
- ```
23
-
24
- ## Gotchas
25
- - Children can override variant/size individually
26
-
27
- ## Changes
28
- ### v0.33.0
29
- - **Rebuilt** with compound component pattern — Button reads position from ButtonGroup context and applies border-radius inline
30
- - **Added** `disabled` prop (propagates to all children via context)
31
- - **Added** `attached` prop (default true; false = spaced with gap)
32
- - **Added** `fullWidth` prop (stretch to fill container)
33
- - **Added** Tonal divider elements between buttons for solid/soft/ghost variants
34
- - **Added** Focus z-index isolation (focused button rises above siblings)
35
- - **Fixed** Border-radius not working with custom `rounded-ds-*` design tokens
36
-
37
- ### v0.4.2
38
- - **Fixed** `Omit<HTMLAttributes, 'color'>` resolves TS2320 conflict with CVA color prop
39
-
40
- ### v0.1.0
41
- - **Added** Initial release
1
+ # ButtonGroup
2
+
3
+ - Import: @devalok/shilp-sutra/ui/button-group
4
+ - Server-safe: No
5
+ - Category: ui
6
+
7
+ ## Props
8
+ variant: ButtonProps['variant'] (propagated to children)
9
+ color: ButtonProps['color'] (propagated to children)
10
+ size: ButtonProps['size'] (propagated to children)
11
+ orientation: "horizontal" | "vertical" (default: "horizontal")
12
+
13
+ ## Defaults
14
+ orientation="horizontal"
15
+
16
+ ## Example
17
+ ```jsx
18
+ <ButtonGroup variant="outline" size="sm">
19
+ <Button>Bold</Button>
20
+ <Button>Italic</Button>
21
+ </ButtonGroup>
22
+ ```
23
+
24
+ ## Gotchas
25
+ - Children can override variant/size individually
26
+
27
+ ## Changes
28
+ ### v0.33.0
29
+ - **Rebuilt** with compound component pattern — Button reads position from ButtonGroup context and applies border-radius inline
30
+ - **Added** `disabled` prop (propagates to all children via context)
31
+ - **Added** `attached` prop (default true; false = spaced with gap)
32
+ - **Added** `fullWidth` prop (stretch to fill container)
33
+ - **Added** Tonal divider elements between buttons for solid/soft/ghost variants
34
+ - **Added** Focus z-index isolation (focused button rises above siblings)
35
+ - **Fixed** Border-radius not working with custom `rounded-ds-*` design tokens
36
+
37
+ ### v0.4.2
38
+ - **Fixed** `Omit<HTMLAttributes, 'color'>` resolves TS2320 conflict with CVA color prop
39
+
40
+ ### v0.1.0
41
+ - **Added** Initial release