@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,143 +1,143 @@
1
- # TopBar
2
-
3
- - Import: @devalok/shilp-sutra/shell/top-bar
4
- - Server-safe: No
5
- - Category: shell
6
-
7
- ## Overview
8
-
9
- Composition-based application top bar. Uses dot-notation subcomponents for flexible layout.
10
-
11
- ## Subcomponents
12
-
13
- | Component | Purpose |
14
- |-----------|---------|
15
- | `TopBar` | Root — bg-surface-2, border-b, sticky. Auto-switches to grid when Center is present. |
16
- | `TopBar.Left` | Left zone — sidebar trigger, title, breadcrumbs |
17
- | `TopBar.Center` | Optional center zone — search bar, tabs. Triggers 3-column grid layout. |
18
- | `TopBar.Right` | Right zone — action buttons, user menu. Gets ml-auto in flex mode. |
19
- | `TopBar.Section` | Groups items with configurable gap |
20
- | `TopBar.IconButton` | Circular icon button with tooltip (bg-surface-3, hover:bg-surface-4) |
21
- | `TopBar.Title` | Page title heading, hidden on mobile |
22
- | `TopBar.UserMenu` | Avatar dropdown with color mode toggle, profile, logout |
23
-
24
- ## Props
25
-
26
- ### TopBar (root)
27
- children: ReactNode
28
- className?: string
29
-
30
- ### TopBar.Left / TopBar.Center / TopBar.Right
31
- children: ReactNode
32
- className?: string
33
-
34
- ### TopBar.Section
35
- gap?: "tight" | "default" | "loose" (default: "default")
36
- children: ReactNode
37
- className?: string
38
-
39
- Gap values: tight = gap-ds-02, default = gap-ds-04, loose = gap-ds-06
40
-
41
- ### TopBar.IconButton
42
- icon: ReactNode
43
- tooltip: string
44
- ...ButtonHTMLAttributes
45
-
46
- ### TopBar.Title
47
- children: ReactNode
48
- className?: string
49
-
50
- ### TopBar.UserMenu
51
- user: TopBarUser — { name, email?, image? }
52
- onNavigate?: (path: string) => void
53
- onLogout?: () => void
54
- userMenuItems?: UserMenuItem[]
55
- className?: string
56
-
57
- TopBarUser: { name: string, email?: string, image?: string | null }
58
- UserMenuItem: { label: string, icon?: ReactNode, href?: string, onClick?: () => void, separator?: boolean, color?: string, badge?: string | boolean, disabled?: boolean }
59
-
60
- UserMenuItem fields:
61
- - href — navigates via onNavigate callback
62
- - onClick — custom action (takes precedence over href)
63
- - separator — renders a DropdownMenuSeparator before this item
64
- - color — semantic text color (e.g. "error" for text-error)
65
- - badge — string for count badge, true for dot indicator
66
- - disabled — greys out the item
67
-
68
- ## Example
69
-
70
- ### Two-zone (standard)
71
- ```jsx
72
- <TopBar>
73
- <TopBar.Left>
74
- <SidebarTrigger />
75
- <TopBar.Title>Dashboard</TopBar.Title>
76
- </TopBar.Left>
77
- <TopBar.Right>
78
- <TopBar.Section gap="tight">
79
- <TopBar.IconButton icon={<IconSearch />} tooltip="Search (Ctrl+K)" onClick={openSearch} />
80
- <NotificationCenter notifications={notifications} />
81
- <TopBar.IconButton icon={<IconSparkles />} tooltip="AI Chat" onClick={openAI} />
82
- </TopBar.Section>
83
- <TopBar.UserMenu
84
- user={{ name: 'John', email: 'john@example.com' }}
85
- onNavigate={(p) => router.push(p)}
86
- onLogout={handleLogout}
87
- userMenuItems={[
88
- { label: 'Changelog', icon: <IconNews />, href: '/changelog', badge: '3' },
89
- ]}
90
- />
91
- </TopBar.Right>
92
- </TopBar>
93
- ```
94
-
95
- ### Three-zone (centered search bar)
96
- ```jsx
97
- <TopBar>
98
- <TopBar.Left>
99
- <SidebarTrigger />
100
- <TopBar.Title>Dashboard</TopBar.Title>
101
- </TopBar.Left>
102
- <TopBar.Center>
103
- <SearchBarTrigger />
104
- </TopBar.Center>
105
- <TopBar.Right>
106
- <TopBar.Section gap="tight">
107
- <TopBar.IconButton icon={<IconBell />} tooltip="Notifications" onClick={fn} />
108
- </TopBar.Section>
109
- <TopBar.UserMenu user={user} onLogout={logout} />
110
- </TopBar.Right>
111
- </TopBar>
112
- ```
113
-
114
- ## Gotchas
115
- - Without `TopBar.Center`, layout is flex (two-zone). With it, layout switches to CSS grid `1fr auto 1fr` for true centering.
116
- - `TopBar.IconButton` renders any number of action buttons — no artificial limit. Use responsive hiding (`className="hidden md:flex"`) for mobile.
117
- - `TopBar.UserMenu` includes Profile link, color mode toggle, and logout automatically. `userMenuItems` are inserted between Profile and the toggle.
118
- - Requires SidebarProvider wrapper for SidebarTrigger to work.
119
-
120
- ## Changes
121
- ### v0.19.0
122
- - **BREAKING** Rewritten as composition API. Old props-based API removed (`pageTitle`, `onSearchClick`, `onAiChatClick`, `notificationSlot`, `mobileLogo` props).
123
- - **Added** `TopBar.Left`, `TopBar.Center`, `TopBar.Right` zone components
124
- - **Added** `TopBar.Section` with `gap` prop (`tight` | `default` | `loose`)
125
- - **Added** `TopBar.IconButton` — reusable circular icon button with tooltip
126
- - **Added** `TopBar.Title` — responsive page title (hidden on mobile)
127
- - **Added** `TopBar.UserMenu` — extracted user dropdown as standalone subcomponent
128
- - **Added** Auto grid/flex layout detection based on Center zone presence
129
- - **Changed** Background elevated from `bg-surface-1` to `bg-surface-2`
130
-
131
- ### v0.27.2
132
- - **Fixed** UserMenu email truncation — long emails now truncate instead of overflowing the dropdown
133
-
134
- ### v0.7.0
135
- - **Added** `userMenuItems` prop for custom dropdown items
136
-
137
- ### v0.1.1
138
- - **Changed** Decoupled from Next.js via LinkProvider
139
- - **Fixed** Added `aria-label` to search/AI buttons
140
- - **Fixed** Added `type="button"` to search/AI/avatar buttons to prevent form submission
141
-
142
- ### v0.1.0
143
- - **Added** Initial release
1
+ # TopBar
2
+
3
+ - Import: @devalok/shilp-sutra/shell/top-bar
4
+ - Server-safe: No
5
+ - Category: shell
6
+
7
+ ## Overview
8
+
9
+ Composition-based application top bar. Uses dot-notation subcomponents for flexible layout.
10
+
11
+ ## Subcomponents
12
+
13
+ | Component | Purpose |
14
+ |-----------|---------|
15
+ | `TopBar` | Root — bg-surface-2, border-b, sticky. Auto-switches to grid when Center is present. |
16
+ | `TopBar.Left` | Left zone — sidebar trigger, title, breadcrumbs |
17
+ | `TopBar.Center` | Optional center zone — search bar, tabs. Triggers 3-column grid layout. |
18
+ | `TopBar.Right` | Right zone — action buttons, user menu. Gets ml-auto in flex mode. |
19
+ | `TopBar.Section` | Groups items with configurable gap |
20
+ | `TopBar.IconButton` | Circular icon button with tooltip (bg-surface-3, hover:bg-surface-4) |
21
+ | `TopBar.Title` | Page title heading, hidden on mobile |
22
+ | `TopBar.UserMenu` | Avatar dropdown with color mode toggle, profile, logout |
23
+
24
+ ## Props
25
+
26
+ ### TopBar (root)
27
+ children: ReactNode
28
+ className?: string
29
+
30
+ ### TopBar.Left / TopBar.Center / TopBar.Right
31
+ children: ReactNode
32
+ className?: string
33
+
34
+ ### TopBar.Section
35
+ gap?: "tight" | "default" | "loose" (default: "default")
36
+ children: ReactNode
37
+ className?: string
38
+
39
+ Gap values: tight = gap-ds-02, default = gap-ds-04, loose = gap-ds-06
40
+
41
+ ### TopBar.IconButton
42
+ icon: ReactNode
43
+ tooltip: string
44
+ ...ButtonHTMLAttributes
45
+
46
+ ### TopBar.Title
47
+ children: ReactNode
48
+ className?: string
49
+
50
+ ### TopBar.UserMenu
51
+ user: TopBarUser — { name, email?, image? }
52
+ onNavigate?: (path: string) => void
53
+ onLogout?: () => void
54
+ userMenuItems?: UserMenuItem[]
55
+ className?: string
56
+
57
+ TopBarUser: { name: string, email?: string, image?: string | null }
58
+ UserMenuItem: { label: string, icon?: ReactNode, href?: string, onClick?: () => void, separator?: boolean, color?: string, badge?: string | boolean, disabled?: boolean }
59
+
60
+ UserMenuItem fields:
61
+ - href — navigates via onNavigate callback
62
+ - onClick — custom action (takes precedence over href)
63
+ - separator — renders a DropdownMenuSeparator before this item
64
+ - color — semantic text color (e.g. "error" for text-error)
65
+ - badge — string for count badge, true for dot indicator
66
+ - disabled — greys out the item
67
+
68
+ ## Example
69
+
70
+ ### Two-zone (standard)
71
+ ```jsx
72
+ <TopBar>
73
+ <TopBar.Left>
74
+ <SidebarTrigger />
75
+ <TopBar.Title>Dashboard</TopBar.Title>
76
+ </TopBar.Left>
77
+ <TopBar.Right>
78
+ <TopBar.Section gap="tight">
79
+ <TopBar.IconButton icon={<IconSearch />} tooltip="Search (Ctrl+K)" onClick={openSearch} />
80
+ <NotificationCenter notifications={notifications} />
81
+ <TopBar.IconButton icon={<IconSparkles />} tooltip="AI Chat" onClick={openAI} />
82
+ </TopBar.Section>
83
+ <TopBar.UserMenu
84
+ user={{ name: 'John', email: 'john@example.com' }}
85
+ onNavigate={(p) => router.push(p)}
86
+ onLogout={handleLogout}
87
+ userMenuItems={[
88
+ { label: 'Changelog', icon: <IconNews />, href: '/changelog', badge: '3' },
89
+ ]}
90
+ />
91
+ </TopBar.Right>
92
+ </TopBar>
93
+ ```
94
+
95
+ ### Three-zone (centered search bar)
96
+ ```jsx
97
+ <TopBar>
98
+ <TopBar.Left>
99
+ <SidebarTrigger />
100
+ <TopBar.Title>Dashboard</TopBar.Title>
101
+ </TopBar.Left>
102
+ <TopBar.Center>
103
+ <SearchBarTrigger />
104
+ </TopBar.Center>
105
+ <TopBar.Right>
106
+ <TopBar.Section gap="tight">
107
+ <TopBar.IconButton icon={<IconBell />} tooltip="Notifications" onClick={fn} />
108
+ </TopBar.Section>
109
+ <TopBar.UserMenu user={user} onLogout={logout} />
110
+ </TopBar.Right>
111
+ </TopBar>
112
+ ```
113
+
114
+ ## Gotchas
115
+ - Without `TopBar.Center`, layout is flex (two-zone). With it, layout switches to CSS grid `1fr auto 1fr` for true centering.
116
+ - `TopBar.IconButton` renders any number of action buttons — no artificial limit. Use responsive hiding (`className="hidden md:flex"`) for mobile.
117
+ - `TopBar.UserMenu` includes Profile link, color mode toggle, and logout automatically. `userMenuItems` are inserted between Profile and the toggle.
118
+ - Requires SidebarProvider wrapper for SidebarTrigger to work.
119
+
120
+ ## Changes
121
+ ### v0.19.0
122
+ - **BREAKING** Rewritten as composition API. Old props-based API removed (`pageTitle`, `onSearchClick`, `onAiChatClick`, `notificationSlot`, `mobileLogo` props).
123
+ - **Added** `TopBar.Left`, `TopBar.Center`, `TopBar.Right` zone components
124
+ - **Added** `TopBar.Section` with `gap` prop (`tight` | `default` | `loose`)
125
+ - **Added** `TopBar.IconButton` — reusable circular icon button with tooltip
126
+ - **Added** `TopBar.Title` — responsive page title (hidden on mobile)
127
+ - **Added** `TopBar.UserMenu` — extracted user dropdown as standalone subcomponent
128
+ - **Added** Auto grid/flex layout detection based on Center zone presence
129
+ - **Changed** Background elevated from `bg-surface-1` to `bg-surface-2`
130
+
131
+ ### v0.27.2
132
+ - **Fixed** UserMenu email truncation — long emails now truncate instead of overflowing the dropdown
133
+
134
+ ### v0.7.0
135
+ - **Added** `userMenuItems` prop for custom dropdown items
136
+
137
+ ### v0.1.1
138
+ - **Changed** Decoupled from Next.js via LinkProvider
139
+ - **Fixed** Added `aria-label` to search/AI buttons
140
+ - **Fixed** Added `type="button"` to search/AI/avatar buttons to prevent form submission
141
+
142
+ ### v0.1.0
143
+ - **Added** Initial release
@@ -1,51 +1,51 @@
1
- # Accordion
2
-
3
- - Import: @devalok/shilp-sutra/ui/accordion
4
- - Server-safe: No
5
- - Category: ui
6
-
7
- ## Props
8
- type: "single" | "multiple" (REQUIRED)
9
- defaultValue: string (single) | string[] (multiple)
10
- value: string | string[] (controlled)
11
- onValueChange: (value) => void
12
- collapsible: boolean (only valid when type="single")
13
-
14
- ## Compound Components
15
- Accordion (root)
16
- AccordionItem (value: string, REQUIRED)
17
- AccordionTrigger (clickable header, chevron auto-renders; chevronPosition: "left" | "right")
18
- AccordionContent (collapsible body)
19
-
20
- ## Defaults
21
- none (type is required); AccordionTrigger: chevronPosition="right"
22
-
23
- ## Example
24
- ```jsx
25
- <Accordion type="single" defaultValue="item-1" collapsible>
26
- <AccordionItem value="item-1">
27
- <AccordionTrigger>Question?</AccordionTrigger>
28
- <AccordionContent>Answer.</AccordionContent>
29
- </AccordionItem>
30
- </Accordion>
31
- ```
32
-
33
- ## Gotchas
34
- - type is REQUIRED — omitting it causes runtime error
35
- - collapsible only works with type="single"
36
-
37
- ## Changes
38
- ### v0.29.0
39
- - **Added** `chevronPosition` prop on AccordionTrigger: `"left"` | `"right"` (default: `"right"`) — controls which side the chevron icon renders
40
-
41
- ### v0.18.0
42
- - **Changed** Accordion content fade animation migrated to Framer Motion (height animation still uses CSS keyframes)
43
-
44
- ### v0.13.0
45
- - **Added** `accordion-down` and `accordion-up` keyframes added to Tailwind preset using Radix CSS custom properties
46
-
47
- ### v0.4.2
48
- - **Added** `AccordionItemProps`, `AccordionTriggerProps`, `AccordionContentProps` type exports
49
-
50
- ### v0.1.0
51
- - **Added** Initial release
1
+ # Accordion
2
+
3
+ - Import: @devalok/shilp-sutra/ui/accordion
4
+ - Server-safe: No
5
+ - Category: ui
6
+
7
+ ## Props
8
+ type: "single" | "multiple" (REQUIRED)
9
+ defaultValue: string (single) | string[] (multiple)
10
+ value: string | string[] (controlled)
11
+ onValueChange: (value) => void
12
+ collapsible: boolean (only valid when type="single")
13
+
14
+ ## Compound Components
15
+ Accordion (root)
16
+ AccordionItem (value: string, REQUIRED)
17
+ AccordionTrigger (clickable header, chevron auto-renders; chevronPosition: "left" | "right")
18
+ AccordionContent (collapsible body)
19
+
20
+ ## Defaults
21
+ none (type is required); AccordionTrigger: chevronPosition="right"
22
+
23
+ ## Example
24
+ ```jsx
25
+ <Accordion type="single" defaultValue="item-1" collapsible>
26
+ <AccordionItem value="item-1">
27
+ <AccordionTrigger>Question?</AccordionTrigger>
28
+ <AccordionContent>Answer.</AccordionContent>
29
+ </AccordionItem>
30
+ </Accordion>
31
+ ```
32
+
33
+ ## Gotchas
34
+ - type is REQUIRED — omitting it causes runtime error
35
+ - collapsible only works with type="single"
36
+
37
+ ## Changes
38
+ ### v0.29.0
39
+ - **Added** `chevronPosition` prop on AccordionTrigger: `"left"` | `"right"` (default: `"right"`) — controls which side the chevron icon renders
40
+
41
+ ### v0.18.0
42
+ - **Changed** Accordion content fade animation migrated to Framer Motion (height animation still uses CSS keyframes)
43
+
44
+ ### v0.13.0
45
+ - **Added** `accordion-down` and `accordion-up` keyframes added to Tailwind preset using Radix CSS custom properties
46
+
47
+ ### v0.4.2
48
+ - **Added** `AccordionItemProps`, `AccordionTriggerProps`, `AccordionContentProps` type exports
49
+
50
+ ### v0.1.0
51
+ - **Added** Initial release
@@ -1,61 +1,61 @@
1
- # AlertDialog
2
-
3
- - Import: @devalok/shilp-sutra/ui/alert-dialog
4
- - Server-safe: No
5
- - Category: ui
6
-
7
- ## Props
8
- open: boolean (controlled)
9
- onOpenChange: (open: boolean) => void
10
- defaultOpen: boolean
11
-
12
- ## Compound Components
13
- AlertDialog (root)
14
- AlertDialogTrigger
15
- AlertDialogContent
16
- AlertDialogHeader
17
- AlertDialogTitle
18
- AlertDialogDescription
19
- AlertDialogFooter
20
- AlertDialogCancel
21
- AlertDialogAction
22
-
23
- ## Defaults
24
- none
25
-
26
- ## Example
27
- ```jsx
28
- <AlertDialog>
29
- <AlertDialogTrigger asChild>
30
- <Button color="error">Delete</Button>
31
- </AlertDialogTrigger>
32
- <AlertDialogContent>
33
- <AlertDialogHeader>
34
- <AlertDialogTitle>Are you sure?</AlertDialogTitle>
35
- <AlertDialogDescription>This cannot be undone.</AlertDialogDescription>
36
- </AlertDialogHeader>
37
- <AlertDialogFooter>
38
- <AlertDialogCancel>Cancel</AlertDialogCancel>
39
- <AlertDialogAction>Delete</AlertDialogAction>
40
- </AlertDialogFooter>
41
- </AlertDialogContent>
42
- </AlertDialog>
43
- ```
44
-
45
- ## Gotchas
46
- - AlertDialogAction does NOT have color="error" styling — add it yourself via className or wrap a Button
47
-
48
- ## Changes
49
- ### v0.19.1
50
- - **Fixed** AlertDialog not centered after Framer Motion animation completes — same `transform: none` fix as Dialog.
51
-
52
- ### v0.18.0
53
- - **Changed** Overlay animations migrated to Framer Motion (physics-based springs)
54
- - **Added** `AlertDialogContentProps`, `AlertDialogActionProps`, `AlertDialogCancelProps` type exports
55
- - **Fixed** Context provider value wrapped in `useMemo` for performance
56
-
57
- ### v0.4.2
58
- - **Fixed** AlertDialogHeader/Footer now wrapped in `React.forwardRef` (matches Dialog/Sheet pattern)
59
-
60
- ### v0.1.0
61
- - **Added** Initial release
1
+ # AlertDialog
2
+
3
+ - Import: @devalok/shilp-sutra/ui/alert-dialog
4
+ - Server-safe: No
5
+ - Category: ui
6
+
7
+ ## Props
8
+ open: boolean (controlled)
9
+ onOpenChange: (open: boolean) => void
10
+ defaultOpen: boolean
11
+
12
+ ## Compound Components
13
+ AlertDialog (root)
14
+ AlertDialogTrigger
15
+ AlertDialogContent
16
+ AlertDialogHeader
17
+ AlertDialogTitle
18
+ AlertDialogDescription
19
+ AlertDialogFooter
20
+ AlertDialogCancel
21
+ AlertDialogAction
22
+
23
+ ## Defaults
24
+ none
25
+
26
+ ## Example
27
+ ```jsx
28
+ <AlertDialog>
29
+ <AlertDialogTrigger asChild>
30
+ <Button color="error">Delete</Button>
31
+ </AlertDialogTrigger>
32
+ <AlertDialogContent>
33
+ <AlertDialogHeader>
34
+ <AlertDialogTitle>Are you sure?</AlertDialogTitle>
35
+ <AlertDialogDescription>This cannot be undone.</AlertDialogDescription>
36
+ </AlertDialogHeader>
37
+ <AlertDialogFooter>
38
+ <AlertDialogCancel>Cancel</AlertDialogCancel>
39
+ <AlertDialogAction>Delete</AlertDialogAction>
40
+ </AlertDialogFooter>
41
+ </AlertDialogContent>
42
+ </AlertDialog>
43
+ ```
44
+
45
+ ## Gotchas
46
+ - AlertDialogAction does NOT have color="error" styling — add it yourself via className or wrap a Button
47
+
48
+ ## Changes
49
+ ### v0.19.1
50
+ - **Fixed** AlertDialog not centered after Framer Motion animation completes — same `transform: none` fix as Dialog.
51
+
52
+ ### v0.18.0
53
+ - **Changed** Overlay animations migrated to Framer Motion (physics-based springs)
54
+ - **Added** `AlertDialogContentProps`, `AlertDialogActionProps`, `AlertDialogCancelProps` type exports
55
+ - **Fixed** Context provider value wrapped in `useMemo` for performance
56
+
57
+ ### v0.4.2
58
+ - **Fixed** AlertDialogHeader/Footer now wrapped in `React.forwardRef` (matches Dialog/Sheet pattern)
59
+
60
+ ### v0.1.0
61
+ - **Added** Initial release
@@ -1,46 +1,46 @@
1
- # Alert
2
-
3
- - Import: @devalok/shilp-sutra/ui/alert
4
- - Server-safe: No
5
- - Category: ui
6
-
7
- ## Props
8
- variant: "subtle" | "filled" | "outline"
9
- color: "info" | "success" | "warning" | "error" | "neutral"
10
- title: string (optional)
11
- onDismiss: () => void (optional, shows X button when provided)
12
- children: ReactNode (body text)
13
-
14
- ## Defaults
15
- variant="subtle", color="info"
16
-
17
- ## Example
18
- ```jsx
19
- <Alert color="error" title="Save failed" onDismiss={() => setError(null)}>
20
- Your changes could not be saved.
21
- </Alert>
22
- ```
23
-
24
- ## Gotchas
25
- - NOT a compound component — use title prop, NOT <AlertTitle>
26
- - DO NOT use variant="destructive" — use color="error"
27
- - Renders role="alert" automatically
28
- - Icon is auto-selected by color (info=circle, success=check, warning=triangle, error=alert)
29
-
30
- ## Changes
31
- ### v0.31.0
32
- - **Added** `size` prop: `sm | md | lg`. Default `md` (non-breaking).
33
-
34
- ### v0.18.0
35
- - **Changed** Exit animation migrated to Framer Motion
36
- - **Fixed** `onDismiss` JSDoc documenting it fires after exit animation completes
37
- - **Changed** OKLCH color token migration
38
-
39
- ### v0.3.1
40
- - **Fixed** AlertProps uses `Omit<HTMLAttributes, 'color'>` to resolve TypeScript conflict with CVA `color` variant
41
-
42
- ### v0.3.0
43
- - **Changed** (BREAKING) `variant` prop renamed to `color` for semantic intent
44
-
45
- ### v0.1.0
46
- - **Added** Initial release
1
+ # Alert
2
+
3
+ - Import: @devalok/shilp-sutra/ui/alert
4
+ - Server-safe: No
5
+ - Category: ui
6
+
7
+ ## Props
8
+ variant: "subtle" | "filled" | "outline"
9
+ color: "info" | "success" | "warning" | "error" | "neutral"
10
+ title: string (optional)
11
+ onDismiss: () => void (optional, shows X button when provided)
12
+ children: ReactNode (body text)
13
+
14
+ ## Defaults
15
+ variant="subtle", color="info"
16
+
17
+ ## Example
18
+ ```jsx
19
+ <Alert color="error" title="Save failed" onDismiss={() => setError(null)}>
20
+ Your changes could not be saved.
21
+ </Alert>
22
+ ```
23
+
24
+ ## Gotchas
25
+ - NOT a compound component — use title prop, NOT <AlertTitle>
26
+ - DO NOT use variant="destructive" — use color="error"
27
+ - Renders role="alert" automatically
28
+ - Icon is auto-selected by color (info=circle, success=check, warning=triangle, error=alert)
29
+
30
+ ## Changes
31
+ ### v0.31.0
32
+ - **Added** `size` prop: `sm | md | lg`. Default `md` (non-breaking).
33
+
34
+ ### v0.18.0
35
+ - **Changed** Exit animation migrated to Framer Motion
36
+ - **Fixed** `onDismiss` JSDoc documenting it fires after exit animation completes
37
+ - **Changed** OKLCH color token migration
38
+
39
+ ### v0.3.1
40
+ - **Fixed** AlertProps uses `Omit<HTMLAttributes, 'color'>` to resolve TypeScript conflict with CVA `color` variant
41
+
42
+ ### v0.3.0
43
+ - **Changed** (BREAKING) `variant` prop renamed to `color` for semantic intent
44
+
45
+ ### v0.1.0
46
+ - **Added** Initial release
@@ -1,25 +1,25 @@
1
- # AspectRatio
2
-
3
- - Import: @devalok/shilp-sutra/ui/aspect-ratio
4
- - Server-safe: No
5
- - Category: ui
6
-
7
- ## Props
8
- ratio: number (e.g. 16/9, 4/3, 1)
9
-
10
- ## Defaults
11
- none
12
-
13
- ## Example
14
- ```jsx
15
- <AspectRatio ratio={16 / 9}>
16
- <img src="/photo.jpg" alt="Photo" className="object-cover w-full h-full" />
17
- </AspectRatio>
18
- ```
19
-
20
- ## Gotchas
21
- - ratio is a number, not a string — use `16/9` not `"16/9"`
22
-
23
- ## Changes
24
- ### v0.1.0
25
- - **Added** Initial release
1
+ # AspectRatio
2
+
3
+ - Import: @devalok/shilp-sutra/ui/aspect-ratio
4
+ - Server-safe: No
5
+ - Category: ui
6
+
7
+ ## Props
8
+ ratio: number (e.g. 16/9, 4/3, 1)
9
+
10
+ ## Defaults
11
+ none
12
+
13
+ ## Example
14
+ ```jsx
15
+ <AspectRatio ratio={16 / 9}>
16
+ <img src="/photo.jpg" alt="Photo" className="object-cover w-full h-full" />
17
+ </AspectRatio>
18
+ ```
19
+
20
+ ## Gotchas
21
+ - ratio is a number, not a string — use `16/9` not `"16/9"`
22
+
23
+ ## Changes
24
+ ### v0.1.0
25
+ - **Added** Initial release