@devalok/shilp-sutra 0.34.1 → 0.36.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (440) hide show
  1. package/LICENSE +21 -21
  2. package/dist/_chunks/badge-group.js +95 -95
  3. package/dist/_chunks/badge-group.js.map +1 -0
  4. package/dist/_chunks/chat.js +7 -2
  5. package/dist/_chunks/chat.js.map +1 -0
  6. package/dist/_chunks/date-picker.js.map +1 -0
  7. package/dist/_chunks/document-preview.js.map +1 -0
  8. package/dist/_chunks/file-preview.js.map +1 -0
  9. package/dist/_chunks/framer.js +62 -62
  10. package/dist/_chunks/framer.js.map +1 -0
  11. package/dist/_chunks/image-preview.js +1 -1
  12. package/dist/_chunks/image-preview.js.map +1 -0
  13. package/dist/_chunks/keybinding.js.map +1 -0
  14. package/dist/_chunks/link-context.js.map +1 -0
  15. package/dist/_chunks/mention-suggestion.js.map +1 -0
  16. package/dist/_chunks/motion-provider.js.map +1 -0
  17. package/dist/_chunks/popover.js +32 -36
  18. package/dist/_chunks/popover.js.map +1 -0
  19. package/dist/_chunks/primitives.js +686 -686
  20. package/dist/_chunks/primitives.js.map +1 -0
  21. package/dist/_chunks/rich-chat-input.js +651 -650
  22. package/dist/_chunks/rich-chat-input.js.map +1 -0
  23. package/dist/_chunks/shared.js.map +1 -0
  24. package/dist/_chunks/sonner.js.map +1 -0
  25. package/dist/_chunks/stat-row.js +158 -158
  26. package/dist/_chunks/stat-row.js.map +1 -0
  27. package/dist/_chunks/tiptap.js +11 -11
  28. package/dist/_chunks/tiptap.js.map +1 -0
  29. package/dist/_chunks/tree-view.js +1 -1
  30. package/dist/_chunks/tree-view.js.map +1 -0
  31. package/dist/_chunks/use-calendar.js.map +1 -0
  32. package/dist/_chunks/vendor-client.js +1 -1
  33. package/dist/_chunks/vendor-client.js.map +1 -0
  34. package/dist/_chunks/vendor-utils.js.map +1 -0
  35. package/dist/ai/ai-command-provider.js.map +1 -0
  36. package/dist/ai/block-renderer.js.map +1 -0
  37. package/dist/ai/blocks/loading.d.ts.map +1 -1
  38. package/dist/ai/command-bar.js.map +1 -0
  39. package/dist/ai/conversation.js +76 -76
  40. package/dist/ai/conversation.js.map +1 -0
  41. package/dist/ai/devadoot-icon.d.ts.map +1 -1
  42. package/dist/ai/index.js.map +1 -0
  43. package/dist/composed/activity-feed.js.map +1 -0
  44. package/dist/composed/avatar-group.js +1 -1
  45. package/dist/composed/avatar-group.js.map +1 -0
  46. package/dist/composed/bulk-action-bar.js +13 -21
  47. package/dist/composed/bulk-action-bar.js.map +1 -0
  48. package/dist/composed/command-palette.js.map +1 -0
  49. package/dist/composed/confirm-dialog.js.map +1 -0
  50. package/dist/composed/content-card.js.map +1 -0
  51. package/dist/composed/deadline-indicator.js.map +1 -0
  52. package/dist/composed/emoji-picker.js.map +1 -0
  53. package/dist/composed/empty-state.d.ts.map +1 -1
  54. package/dist/composed/empty-state.js +30 -30
  55. package/dist/composed/empty-state.js.map +1 -0
  56. package/dist/composed/error-boundary.js.map +1 -0
  57. package/dist/composed/filter-bar.js.map +1 -0
  58. package/dist/composed/form-section.js.map +1 -0
  59. package/dist/composed/global-loading.js.map +1 -0
  60. package/dist/composed/inline-edit.js.map +1 -0
  61. package/dist/composed/lib/string-utils.js.map +1 -0
  62. package/dist/composed/loading-skeleton.js.map +1 -0
  63. package/dist/composed/markdown-viewer.js.map +1 -0
  64. package/dist/composed/master-detail.js.map +1 -0
  65. package/dist/composed/member-picker.js.map +1 -0
  66. package/dist/composed/multi-select-popover.d.ts.map +1 -1
  67. package/dist/composed/multi-select-popover.js +4 -0
  68. package/dist/composed/multi-select-popover.js.map +1 -0
  69. package/dist/composed/page-header.js.map +1 -0
  70. package/dist/composed/page-skeletons.js.map +1 -0
  71. package/dist/composed/priority-indicator.js.map +1 -0
  72. package/dist/composed/responsive-overlay.js.map +1 -0
  73. package/dist/composed/rich-chat-input/attachment-strip.d.ts.map +1 -1
  74. package/dist/composed/rich-chat-input/reply-banner.d.ts.map +1 -1
  75. package/dist/composed/rich-chat-input/schedule-send.d.ts.map +1 -1
  76. package/dist/composed/rich-chat-input.d.ts.map +1 -1
  77. package/dist/composed/rich-text-editor.js +1 -1
  78. package/dist/composed/rich-text-editor.js.map +1 -0
  79. package/dist/composed/schedule-view.js.map +1 -0
  80. package/dist/composed/simple-tooltip.js.map +1 -0
  81. package/dist/composed/status-badge.d.ts.map +1 -1
  82. package/dist/composed/status-badge.js.map +1 -0
  83. package/dist/hooks/use-color-mode.js.map +1 -0
  84. package/dist/hooks/use-mobile.js.map +1 -0
  85. package/dist/hooks/use-touch-device.js.map +1 -0
  86. package/dist/hooks/use-viewport-height.js.map +1 -0
  87. package/dist/motion/check-motion-provider.d.ts +3 -0
  88. package/dist/motion/check-motion-provider.d.ts.map +1 -0
  89. package/dist/motion/index.js +14 -0
  90. package/dist/motion/index.js.map +1 -0
  91. package/dist/motion/primitives-index.js.map +1 -0
  92. package/dist/primitives/react-accordion.d.ts +114 -114
  93. package/dist/primitives/react-alert-dialog.d.ts +51 -51
  94. package/dist/primitives/react-aspect-ratio.d.ts +11 -11
  95. package/dist/primitives/react-avatar.d.ts +24 -24
  96. package/dist/primitives/react-checkbox.d.ts +50 -50
  97. package/dist/primitives/react-collapsible.d.ts +33 -33
  98. package/dist/primitives/react-context-menu.d.ts +96 -96
  99. package/dist/primitives/react-dialog.d.ts +103 -103
  100. package/dist/primitives/react-dropdown-menu.d.ts +97 -97
  101. package/dist/primitives/react-hover-card.d.ts +79 -79
  102. package/dist/primitives/react-label.d.ts +10 -10
  103. package/dist/primitives/react-menu.d.ts +169 -169
  104. package/dist/primitives/react-menubar.d.ts +115 -115
  105. package/dist/primitives/react-navigation-menu.d.ts +126 -126
  106. package/dist/primitives/react-popover.d.ts +85 -85
  107. package/dist/primitives/react-progress.d.ts +19 -19
  108. package/dist/primitives/react-radio-group.d.ts +58 -58
  109. package/dist/primitives/react-roving-focus.d.ts +49 -49
  110. package/dist/primitives/react-select.d.ts +137 -137
  111. package/dist/primitives/react-separator.d.ts +21 -21
  112. package/dist/primitives/react-slider.d.ts +75 -75
  113. package/dist/primitives/react-switch.d.ts +21 -21
  114. package/dist/primitives/react-tabs.d.ts +56 -56
  115. package/dist/primitives/react-toast.d.ts +120 -120
  116. package/dist/primitives/react-toggle-group.d.ts +75 -75
  117. package/dist/primitives/react-toggle.d.ts +24 -24
  118. package/dist/primitives/react-tooltip.d.ts +101 -101
  119. package/dist/primitives/react-visually-hidden.d.ts +22 -22
  120. package/dist/shell/app-command-palette.d.ts +2 -0
  121. package/dist/shell/app-command-palette.d.ts.map +1 -1
  122. package/dist/shell/app-command-palette.js +42 -155
  123. package/dist/shell/app-command-palette.js.map +1 -0
  124. package/dist/shell/bottom-navbar.js +1 -1
  125. package/dist/shell/bottom-navbar.js.map +1 -0
  126. package/dist/shell/command-registry.js.map +1 -0
  127. package/dist/shell/notification-center.d.ts.map +1 -1
  128. package/dist/shell/notification-center.js +194 -169
  129. package/dist/shell/notification-center.js.map +1 -0
  130. package/dist/shell/notification-preferences.js.map +1 -0
  131. package/dist/shell/sidebar.js.map +1 -0
  132. package/dist/shell/top-bar.js +1 -1
  133. package/dist/shell/top-bar.js.map +1 -0
  134. package/dist/tailwind/index.cjs +48 -1
  135. package/dist/tailwind/preset.d.ts.map +1 -1
  136. package/dist/tailwind/preset.js +48 -1
  137. package/dist/tailwind/preset.js.map +1 -0
  138. package/dist/tokens/index.css +4 -4
  139. package/dist/tokens/primitives.css +442 -442
  140. package/dist/tokens/semantic.css +742 -547
  141. package/dist/tokens/typography-semantic.css +123 -100
  142. package/dist/tokens/typography.css +422 -422
  143. package/dist/ui/accordion.js +13 -13
  144. package/dist/ui/accordion.js.map +1 -0
  145. package/dist/ui/alert-dialog.d.ts +6 -2
  146. package/dist/ui/alert-dialog.d.ts.map +1 -1
  147. package/dist/ui/alert-dialog.js +43 -42
  148. package/dist/ui/alert-dialog.js.map +1 -0
  149. package/dist/ui/alert.d.ts +3 -2
  150. package/dist/ui/alert.d.ts.map +1 -1
  151. package/dist/ui/alert.js +31 -5
  152. package/dist/ui/alert.js.map +1 -0
  153. package/dist/ui/aspect-ratio.js +1 -1
  154. package/dist/ui/aspect-ratio.js.map +1 -0
  155. package/dist/ui/autocomplete.d.ts.map +1 -1
  156. package/dist/ui/autocomplete.js +92 -67
  157. package/dist/ui/autocomplete.js.map +1 -0
  158. package/dist/ui/avatar.js +9 -9
  159. package/dist/ui/avatar.js.map +1 -0
  160. package/dist/ui/badge-indicator.js.map +1 -0
  161. package/dist/ui/banner.js.map +1 -0
  162. package/dist/ui/breadcrumb.js +1 -1
  163. package/dist/ui/breadcrumb.js.map +1 -0
  164. package/dist/ui/button-group.js.map +1 -0
  165. package/dist/ui/button-processing.d.ts.map +1 -1
  166. package/dist/ui/button-processing.js +61 -40
  167. package/dist/ui/button-processing.js.map +1 -0
  168. package/dist/ui/button.js +8 -8
  169. package/dist/ui/button.js.map +1 -0
  170. package/dist/ui/card.js.map +1 -0
  171. package/dist/ui/charts/bar-chart.d.ts.map +1 -1
  172. package/dist/ui/charts/chart-container.d.ts +2 -0
  173. package/dist/ui/charts/chart-container.d.ts.map +1 -1
  174. package/dist/ui/charts/index.js +88 -65
  175. package/dist/ui/charts/index.js.map +1 -0
  176. package/dist/ui/charts/line-chart.d.ts.map +1 -1
  177. package/dist/ui/chat/message-input.d.ts.map +1 -1
  178. package/dist/ui/chat/message-list.d.ts +1 -1
  179. package/dist/ui/chat/message-list.d.ts.map +1 -1
  180. package/dist/ui/chat/message.d.ts.map +1 -1
  181. package/dist/ui/chat/system-message.d.ts.map +1 -1
  182. package/dist/ui/checkbox.d.ts.map +1 -1
  183. package/dist/ui/checkbox.js +33 -28
  184. package/dist/ui/checkbox.js.map +1 -0
  185. package/dist/ui/code.js.map +1 -0
  186. package/dist/ui/collapsible.js +1 -1
  187. package/dist/ui/collapsible.js.map +1 -0
  188. package/dist/ui/color-input.d.ts.map +1 -1
  189. package/dist/ui/color-input.js +165 -163
  190. package/dist/ui/color-input.js.map +1 -0
  191. package/dist/ui/color-swatch.js.map +1 -0
  192. package/dist/ui/combobox.d.ts +7 -0
  193. package/dist/ui/combobox.d.ts.map +1 -1
  194. package/dist/ui/combobox.js +147 -113
  195. package/dist/ui/combobox.js.map +1 -0
  196. package/dist/ui/container.js +1 -1
  197. package/dist/ui/container.js.map +1 -0
  198. package/dist/ui/context-menu.js.map +1 -0
  199. package/dist/ui/data-table-body.js.map +1 -0
  200. package/dist/ui/data-table-bulk-actions.js +1 -1
  201. package/dist/ui/data-table-bulk-actions.js.map +1 -0
  202. package/dist/ui/data-table-card.js.map +1 -0
  203. package/dist/ui/data-table-context.js.map +1 -0
  204. package/dist/ui/data-table-header.js.map +1 -0
  205. package/dist/ui/data-table-pagination.js.map +1 -0
  206. package/dist/ui/data-table-toolbar.js.map +1 -0
  207. package/dist/ui/data-table.js +34 -31
  208. package/dist/ui/data-table.js.map +1 -0
  209. package/dist/ui/devalok-grain.js.map +1 -0
  210. package/dist/ui/dialog.js +31 -35
  211. package/dist/ui/dialog.js.map +1 -0
  212. package/dist/ui/dropdown-menu.js.map +1 -0
  213. package/dist/ui/file-upload.js +120 -120
  214. package/dist/ui/file-upload.js.map +1 -0
  215. package/dist/ui/form.d.ts +8 -0
  216. package/dist/ui/form.d.ts.map +1 -1
  217. package/dist/ui/form.js +14 -12
  218. package/dist/ui/form.js.map +1 -0
  219. package/dist/ui/hover-card.js.map +1 -0
  220. package/dist/ui/icon-button.js.map +1 -0
  221. package/dist/ui/icon-context.js.map +1 -0
  222. package/dist/ui/icon-group.js.map +1 -0
  223. package/dist/ui/icon.js.map +1 -0
  224. package/dist/ui/index.d.ts +4 -4
  225. package/dist/ui/index.d.ts.map +1 -1
  226. package/dist/ui/index.js +82 -66
  227. package/dist/ui/index.js.map +1 -0
  228. package/dist/ui/input-otp.d.ts +12 -3
  229. package/dist/ui/input-otp.d.ts.map +1 -1
  230. package/dist/ui/input-otp.js +41 -27
  231. package/dist/ui/input-otp.js.map +1 -0
  232. package/dist/ui/input.d.ts.map +1 -1
  233. package/dist/ui/input.js +16 -15
  234. package/dist/ui/input.js.map +1 -0
  235. package/dist/ui/label.d.ts.map +1 -1
  236. package/dist/ui/label.js +19 -14
  237. package/dist/ui/label.js.map +1 -0
  238. package/dist/ui/lib/check-tokens.d.ts +3 -0
  239. package/dist/ui/lib/check-tokens.d.ts.map +1 -0
  240. package/dist/ui/lib/date-utils.js.map +1 -0
  241. package/dist/ui/lib/motion.d.ts +15 -4
  242. package/dist/ui/lib/motion.d.ts.map +1 -1
  243. package/dist/ui/lib/motion.js +18 -9
  244. package/dist/ui/lib/motion.js.map +1 -0
  245. package/dist/ui/lib/utils.js.map +1 -0
  246. package/dist/ui/link.js +2 -2
  247. package/dist/ui/link.js.map +1 -0
  248. package/dist/ui/menubar.js.map +1 -0
  249. package/dist/ui/navigation-menu.js.map +1 -0
  250. package/dist/ui/number-input.d.ts +16 -1
  251. package/dist/ui/number-input.d.ts.map +1 -1
  252. package/dist/ui/number-input.js +79 -49
  253. package/dist/ui/number-input.js.map +1 -0
  254. package/dist/ui/pagination.js +1 -1
  255. package/dist/ui/pagination.js.map +1 -0
  256. package/dist/ui/progress-ring.d.ts.map +1 -1
  257. package/dist/ui/progress-ring.js.map +1 -0
  258. package/dist/ui/progress.js.map +1 -0
  259. package/dist/ui/radio.d.ts.map +1 -1
  260. package/dist/ui/radio.js +27 -20
  261. package/dist/ui/radio.js.map +1 -0
  262. package/dist/ui/search-input.js.map +1 -0
  263. package/dist/ui/segmented-control.d.ts +1 -1
  264. package/dist/ui/segmented-control.d.ts.map +1 -1
  265. package/dist/ui/segmented-control.js +3 -1
  266. package/dist/ui/segmented-control.js.map +1 -0
  267. package/dist/ui/select.d.ts.map +1 -1
  268. package/dist/ui/select.js +54 -48
  269. package/dist/ui/select.js.map +1 -0
  270. package/dist/ui/separator.d.ts.map +1 -1
  271. package/dist/ui/separator.js +10 -7
  272. package/dist/ui/separator.js.map +1 -0
  273. package/dist/ui/sheet.js +29 -29
  274. package/dist/ui/sheet.js.map +1 -0
  275. package/dist/ui/sidebar.js +9 -9
  276. package/dist/ui/sidebar.js.map +1 -0
  277. package/dist/ui/skeleton.js.map +1 -0
  278. package/dist/ui/slider.d.ts +22 -3
  279. package/dist/ui/slider.d.ts.map +1 -1
  280. package/dist/ui/slider.js +57 -19
  281. package/dist/ui/slider.js.map +1 -0
  282. package/dist/ui/spinner.js.map +1 -0
  283. package/dist/ui/split-button.d.ts.map +1 -1
  284. package/dist/ui/split-button.js +77 -76
  285. package/dist/ui/split-button.js.map +1 -0
  286. package/dist/ui/stack.js.map +1 -0
  287. package/dist/ui/stat-card.js.map +1 -0
  288. package/dist/ui/status-dot.js.map +1 -0
  289. package/dist/ui/stepper.d.ts +10 -0
  290. package/dist/ui/stepper.d.ts.map +1 -1
  291. package/dist/ui/stepper.js +80 -75
  292. package/dist/ui/stepper.js.map +1 -0
  293. package/dist/ui/switch.d.ts.map +1 -1
  294. package/dist/ui/switch.js +26 -22
  295. package/dist/ui/switch.js.map +1 -0
  296. package/dist/ui/table.js.map +1 -0
  297. package/dist/ui/tabs.d.ts +3 -1
  298. package/dist/ui/tabs.d.ts.map +1 -1
  299. package/dist/ui/tabs.js +68 -48
  300. package/dist/ui/tabs.js.map +1 -0
  301. package/dist/ui/text.d.ts +1 -1
  302. package/dist/ui/text.d.ts.map +1 -1
  303. package/dist/ui/text.js +10 -2
  304. package/dist/ui/text.js.map +1 -0
  305. package/dist/ui/textarea.js +1 -1
  306. package/dist/ui/textarea.js.map +1 -0
  307. package/dist/ui/toast-registry.d.ts +8 -0
  308. package/dist/ui/toast-registry.d.ts.map +1 -0
  309. package/dist/ui/toast-registry.js +13 -0
  310. package/dist/ui/toast-registry.js.map +1 -0
  311. package/dist/ui/toast.d.ts.map +1 -1
  312. package/dist/ui/toast.js +141 -136
  313. package/dist/ui/toast.js.map +1 -0
  314. package/dist/ui/toaster.d.ts.map +1 -1
  315. package/dist/ui/toaster.js +15 -14
  316. package/dist/ui/toaster.js.map +1 -0
  317. package/dist/ui/toggle-group.d.ts +2 -0
  318. package/dist/ui/toggle-group.d.ts.map +1 -1
  319. package/dist/ui/toggle-group.js +23 -16
  320. package/dist/ui/toggle-group.js.map +1 -0
  321. package/dist/ui/toggle.d.ts +2 -0
  322. package/dist/ui/toggle.d.ts.map +1 -1
  323. package/dist/ui/toggle.js +14 -6
  324. package/dist/ui/toggle.js.map +1 -0
  325. package/dist/ui/tooltip.js.map +1 -0
  326. package/dist/ui/visually-hidden.js.map +1 -0
  327. package/docs/components/_header.md +85 -85
  328. package/docs/components/composed/activity-feed.md +62 -62
  329. package/docs/components/composed/avatar-group.md +65 -65
  330. package/docs/components/composed/bulk-action-bar.md +40 -40
  331. package/docs/components/composed/command-palette.md +40 -40
  332. package/docs/components/composed/confirm-dialog.md +46 -46
  333. package/docs/components/composed/content-card.md +36 -36
  334. package/docs/components/composed/date-picker.md +130 -130
  335. package/docs/components/composed/deadline-indicator.md +27 -27
  336. package/docs/components/composed/emoji-picker.md +52 -52
  337. package/docs/components/composed/empty-state.md +53 -53
  338. package/docs/components/composed/error-boundary.md +29 -29
  339. package/docs/components/composed/file-preview.md +40 -40
  340. package/docs/components/composed/filter-bar.md +57 -57
  341. package/docs/components/composed/form-section.md +31 -31
  342. package/docs/components/composed/global-loading.md +27 -27
  343. package/docs/components/composed/inline-edit.md +35 -35
  344. package/docs/components/composed/loading-skeleton.md +51 -51
  345. package/docs/components/composed/markdown-viewer.md +27 -27
  346. package/docs/components/composed/master-detail.md +48 -48
  347. package/docs/components/composed/member-picker.md +35 -35
  348. package/docs/components/composed/multi-select-popover.md +62 -62
  349. package/docs/components/composed/page-header.md +41 -41
  350. package/docs/components/composed/page-skeletons.md +32 -32
  351. package/docs/components/composed/priority-indicator.md +32 -32
  352. package/docs/components/composed/responsive-overlay.md +34 -34
  353. package/docs/components/composed/rich-text-editor.md +82 -82
  354. package/docs/components/composed/schedule-view.md +39 -39
  355. package/docs/components/composed/simple-tooltip.md +33 -33
  356. package/docs/components/composed/status-badge.md +55 -55
  357. package/docs/components/shell/app-command-palette.md +44 -44
  358. package/docs/components/shell/bottom-navbar.md +52 -52
  359. package/docs/components/shell/command-registry.md +48 -48
  360. package/docs/components/shell/link-context.md +41 -41
  361. package/docs/components/shell/notification-center.md +63 -63
  362. package/docs/components/shell/notification-preferences.md +42 -42
  363. package/docs/components/shell/sidebar.md +92 -92
  364. package/docs/components/shell/top-bar.md +143 -143
  365. package/docs/components/ui/accordion.md +51 -51
  366. package/docs/components/ui/alert-dialog.md +61 -61
  367. package/docs/components/ui/alert.md +46 -46
  368. package/docs/components/ui/aspect-ratio.md +25 -25
  369. package/docs/components/ui/autocomplete.md +48 -48
  370. package/docs/components/ui/avatar.md +56 -56
  371. package/docs/components/ui/badge.md +83 -82
  372. package/docs/components/ui/banner.md +42 -42
  373. package/docs/components/ui/breadcrumb.md +37 -37
  374. package/docs/components/ui/button-group.md +41 -41
  375. package/docs/components/ui/button.md +94 -93
  376. package/docs/components/ui/card.md +52 -52
  377. package/docs/components/ui/charts.md +43 -43
  378. package/docs/components/ui/checkbox.md +36 -36
  379. package/docs/components/ui/chip.md +47 -47
  380. package/docs/components/ui/code.md +28 -28
  381. package/docs/components/ui/collapsible.md +40 -40
  382. package/docs/components/ui/color-input.md +91 -91
  383. package/docs/components/ui/color-swatch.md +25 -25
  384. package/docs/components/ui/combobox.md +54 -54
  385. package/docs/components/ui/container.md +26 -26
  386. package/docs/components/ui/context-menu.md +43 -43
  387. package/docs/components/ui/data-table-body.md +1 -1
  388. package/docs/components/ui/data-table-bulk-actions.md +1 -1
  389. package/docs/components/ui/data-table-card.md +1 -1
  390. package/docs/components/ui/data-table-context.md +1 -1
  391. package/docs/components/ui/data-table-header.md +1 -1
  392. package/docs/components/ui/data-table-pagination.md +1 -1
  393. package/docs/components/ui/data-table-toolbar.md +44 -44
  394. package/docs/components/ui/data-table.md +94 -94
  395. package/docs/components/ui/dialog.md +54 -54
  396. package/docs/components/ui/dropdown-menu.md +48 -48
  397. package/docs/components/ui/file-upload.md +41 -41
  398. package/docs/components/ui/form.md +51 -51
  399. package/docs/components/ui/hover-card.md +32 -32
  400. package/docs/components/ui/icon-button.md +40 -40
  401. package/docs/components/ui/input-otp.md +44 -44
  402. package/docs/components/ui/input.md +74 -74
  403. package/docs/components/ui/label.md +25 -25
  404. package/docs/components/ui/link.md +29 -29
  405. package/docs/components/ui/menubar.md +44 -44
  406. package/docs/components/ui/navigation-menu.md +46 -46
  407. package/docs/components/ui/number-input.md +44 -44
  408. package/docs/components/ui/pagination.md +48 -48
  409. package/docs/components/ui/popover.md +30 -30
  410. package/docs/components/ui/progress-ring.md +41 -41
  411. package/docs/components/ui/progress.md +34 -34
  412. package/docs/components/ui/radio.md +34 -34
  413. package/docs/components/ui/search-input.md +43 -43
  414. package/docs/components/ui/segmented-control.md +50 -50
  415. package/docs/components/ui/select.md +53 -53
  416. package/docs/components/ui/separator.md +32 -32
  417. package/docs/components/ui/sheet.md +47 -47
  418. package/docs/components/ui/sidebar.md +72 -72
  419. package/docs/components/ui/skeleton.md +77 -77
  420. package/docs/components/ui/slider.md +29 -29
  421. package/docs/components/ui/spinner.md +54 -54
  422. package/docs/components/ui/stack.md +39 -39
  423. package/docs/components/ui/stat-card.md +61 -61
  424. package/docs/components/ui/status-dot.md +26 -26
  425. package/docs/components/ui/stepper.md +49 -49
  426. package/docs/components/ui/switch.md +47 -47
  427. package/docs/components/ui/table.md +47 -47
  428. package/docs/components/ui/tabs.md +60 -60
  429. package/docs/components/ui/text.md +37 -37
  430. package/docs/components/ui/textarea.md +39 -39
  431. package/docs/components/ui/toast.md +65 -65
  432. package/docs/components/ui/toaster.md +47 -47
  433. package/docs/components/ui/toggle-group.md +43 -43
  434. package/docs/components/ui/toggle.md +37 -37
  435. package/docs/components/ui/tooltip.md +38 -38
  436. package/docs/components/ui/tree-view.md +65 -65
  437. package/docs/components/ui/visually-hidden.md +21 -21
  438. package/llms-full.txt +5266 -5264
  439. package/llms.txt +624 -580
  440. package/package.json +7 -8
@@ -1,77 +1,77 @@
1
- # Skeleton
2
-
3
- - Import: @devalok/shilp-sutra/ui/skeleton
4
- - Server-safe: Yes
5
- - Category: ui
6
-
7
- ## Props
8
- ### Skeleton (base)
9
- variant: "rectangle" | "circle" | "text"
10
- animation: "pulse" | "shimmer" | "none"
11
-
12
- ### SkeletonAvatar
13
- size: "sm" | "md" | "lg" | "xl"
14
- animation: "pulse" | "shimmer" | "none"
15
-
16
- ### SkeletonText
17
- lines: number (default: 3)
18
- lastLineWidth: "full" | "three-quarter" | "half" (default: "three-quarter")
19
- spacing: "sm" | "md" (default: "md")
20
- animation: "pulse" | "shimmer" | "none"
21
-
22
- ### SkeletonButton
23
- size: "sm" | "md" | "lg"
24
- width: "auto" | "full" | "icon"
25
- animation: "pulse" | "shimmer" | "none"
26
-
27
- ### SkeletonInput
28
- size: "sm" | "md" | "lg"
29
- animation: "pulse" | "shimmer" | "none"
30
-
31
- ### SkeletonChart
32
- bars: number (default: 7)
33
- height: string (default: "h-40")
34
- animation: "pulse" | "shimmer" | "none"
35
-
36
- ### SkeletonImage
37
- width: string (default: "w-full")
38
- height: string (default: "h-40")
39
- animation: "pulse" | "shimmer" | "none"
40
-
41
- ### SkeletonGroup
42
- label: string (default: "Loading") — accessible label for the loading state
43
-
44
- ## Defaults
45
- Skeleton: variant="rectangle", animation="pulse"
46
- SkeletonAvatar: size="md", animation="pulse"
47
- SkeletonText: lines=3, lastLineWidth="three-quarter", spacing="md", animation="pulse"
48
- SkeletonButton: size="md", width="auto", animation="pulse"
49
- SkeletonInput: size="md", animation="pulse"
50
- SkeletonChart: bars=7, height="h-40", animation="pulse"
51
- SkeletonImage: width="w-full", height="h-40", animation="pulse"
52
- SkeletonGroup: label="Loading"
53
-
54
- ## Example
55
- ```jsx
56
- <Skeleton variant="text" className="w-3/4" />
57
- <Skeleton variant="circle" className="h-12 w-12" />
58
- <Skeleton variant="rectangle" animation="shimmer" className="h-48 w-full" />
59
-
60
- <SkeletonGroup label="Loading user profile">
61
- <SkeletonAvatar size="lg" />
62
- <SkeletonText lines={2} />
63
- <SkeletonButton />
64
- </SkeletonGroup>
65
-
66
- <SkeletonChart bars={5} height="h-32" />
67
- <SkeletonImage height="h-64" />
68
- ```
69
-
70
- ## Gotchas
71
- - shimmer respects prefers-reduced-motion
72
- - SkeletonGroup adds role="status" and aria-busy="true" — wrap multiple skeletons for a11y
73
- - All sub-components accept className for custom sizing
74
-
75
- ## Changes
76
- ### v0.1.0
77
- - **Added** Initial release with `shape` variants (text, circular, rectangular) and shimmer animation
1
+ # Skeleton
2
+
3
+ - Import: @devalok/shilp-sutra/ui/skeleton
4
+ - Server-safe: Yes
5
+ - Category: ui
6
+
7
+ ## Props
8
+ ### Skeleton (base)
9
+ variant: "rectangle" | "circle" | "text"
10
+ animation: "pulse" | "shimmer" | "none"
11
+
12
+ ### SkeletonAvatar
13
+ size: "sm" | "md" | "lg" | "xl"
14
+ animation: "pulse" | "shimmer" | "none"
15
+
16
+ ### SkeletonText
17
+ lines: number (default: 3)
18
+ lastLineWidth: "full" | "three-quarter" | "half" (default: "three-quarter")
19
+ spacing: "sm" | "md" (default: "md")
20
+ animation: "pulse" | "shimmer" | "none"
21
+
22
+ ### SkeletonButton
23
+ size: "sm" | "md" | "lg"
24
+ width: "auto" | "full" | "icon"
25
+ animation: "pulse" | "shimmer" | "none"
26
+
27
+ ### SkeletonInput
28
+ size: "sm" | "md" | "lg"
29
+ animation: "pulse" | "shimmer" | "none"
30
+
31
+ ### SkeletonChart
32
+ bars: number (default: 7)
33
+ height: string (default: "h-40")
34
+ animation: "pulse" | "shimmer" | "none"
35
+
36
+ ### SkeletonImage
37
+ width: string (default: "w-full")
38
+ height: string (default: "h-40")
39
+ animation: "pulse" | "shimmer" | "none"
40
+
41
+ ### SkeletonGroup
42
+ label: string (default: "Loading") — accessible label for the loading state
43
+
44
+ ## Defaults
45
+ Skeleton: variant="rectangle", animation="pulse"
46
+ SkeletonAvatar: size="md", animation="pulse"
47
+ SkeletonText: lines=3, lastLineWidth="three-quarter", spacing="md", animation="pulse"
48
+ SkeletonButton: size="md", width="auto", animation="pulse"
49
+ SkeletonInput: size="md", animation="pulse"
50
+ SkeletonChart: bars=7, height="h-40", animation="pulse"
51
+ SkeletonImage: width="w-full", height="h-40", animation="pulse"
52
+ SkeletonGroup: label="Loading"
53
+
54
+ ## Example
55
+ ```jsx
56
+ <Skeleton variant="text" className="w-3/4" />
57
+ <Skeleton variant="circle" className="h-12 w-12" />
58
+ <Skeleton variant="rectangle" animation="shimmer" className="h-48 w-full" />
59
+
60
+ <SkeletonGroup label="Loading user profile">
61
+ <SkeletonAvatar size="lg" />
62
+ <SkeletonText lines={2} />
63
+ <SkeletonButton />
64
+ </SkeletonGroup>
65
+
66
+ <SkeletonChart bars={5} height="h-32" />
67
+ <SkeletonImage height="h-64" />
68
+ ```
69
+
70
+ ## Gotchas
71
+ - shimmer respects prefers-reduced-motion
72
+ - SkeletonGroup adds role="status" and aria-busy="true" — wrap multiple skeletons for a11y
73
+ - All sub-components accept className for custom sizing
74
+
75
+ ## Changes
76
+ ### v0.1.0
77
+ - **Added** Initial release with `shape` variants (text, circular, rectangular) and shimmer animation
@@ -1,29 +1,29 @@
1
- # Slider
2
-
3
- - Import: @devalok/shilp-sutra/ui/slider
4
- - Server-safe: No
5
- - Category: ui
6
-
7
- ## Props
8
- Standard Radix Slider props (value, onValueChange, defaultValue, min, max, step, aria-label)
9
-
10
- ## Example
11
- ```jsx
12
- <Slider defaultValue={[50]} max={100} step={1} aria-label="Volume" />
13
- <Slider defaultValue={[25, 75]} max={100} step={1} /> {/* range slider */}
14
- ```
15
-
16
- ## Gotchas
17
- - value is number[] (array), not a single number
18
- - Multi-thumb: Pass array `defaultValue={[25, 75]}` for range sliders — renders one thumb per value
19
-
20
- ## Changes
21
- ### v0.18.0
22
- - **Fixed** Multi-thumb support added
23
-
24
- ### v0.3.0
25
- - **Added** `SliderProps` type export
26
-
27
- ### v0.1.0
28
- - **Added** Initial release
29
- - **Fixed** `aria-label` now forwarded to thumb element (was only on root container)
1
+ # Slider
2
+
3
+ - Import: @devalok/shilp-sutra/ui/slider
4
+ - Server-safe: No
5
+ - Category: ui
6
+
7
+ ## Props
8
+ Standard Radix Slider props (value, onValueChange, defaultValue, min, max, step, aria-label)
9
+
10
+ ## Example
11
+ ```jsx
12
+ <Slider defaultValue={[50]} max={100} step={1} aria-label="Volume" />
13
+ <Slider defaultValue={[25, 75]} max={100} step={1} /> {/* range slider */}
14
+ ```
15
+
16
+ ## Gotchas
17
+ - value is number[] (array), not a single number
18
+ - Multi-thumb: Pass array `defaultValue={[25, 75]}` for range sliders — renders one thumb per value
19
+
20
+ ## Changes
21
+ ### v0.18.0
22
+ - **Fixed** Multi-thumb support added
23
+
24
+ ### v0.3.0
25
+ - **Added** `SliderProps` type export
26
+
27
+ ### v0.1.0
28
+ - **Added** Initial release
29
+ - **Fixed** `aria-label` now forwarded to thumb element (was only on root container)
@@ -1,54 +1,54 @@
1
- # Spinner
2
-
3
- - Import: @devalok/shilp-sutra/ui/spinner
4
- - Server-safe: No
5
- - Category: ui
6
-
7
- ## Props
8
- size: "sm" | "md" | "lg"
9
- state: "spinning" | "success" | "error"
10
- variant: "filled" | "bare"
11
- delay: number (ms — render delay to avoid flicker on fast operations)
12
- onComplete: () => void (callback after success/error state transition)
13
- className: string
14
-
15
- ## Defaults
16
- size: "md"
17
- state: "spinning"
18
- variant: "filled"
19
-
20
- ## Example
21
- ```jsx
22
- <Spinner size="lg" />
23
- <Spinner state="success" /> {/* green checkmark */}
24
- <Spinner variant="bare" /> {/* uses currentColor, for embedding in buttons */}
25
- ```
26
-
27
- ## Gotchas
28
- - Renders role="status" with sr-only "Loading..." text — no need for aria-label
29
- - Button has built-in loading prop — prefer that over manual Spinner composition
30
- - `bare` variant inherits text color — useful inside buttons and toolbars
31
- - `delay` prevents flicker: spinner only appears after delay ms (good for fast API calls)
32
- - No longer server-safe as of v0.18.0 (uses Framer Motion)
33
-
34
- ## Changes
35
- ### v0.29.0
36
- - **Changed** `bare` variant spinning state now uses `currentColor` instead of `var(--color-accent-9)` — inherits text color from parent for seamless embedding in buttons/toolbars
37
-
38
- ### v0.18.0
39
- - **Changed** (BREAKING) Complete rewrite with Framer Motion arc animation and state transitions
40
- - **Added** `state` prop: 'spinning' | 'success' | 'error'
41
- - **Added** `variant` prop: 'filled' | 'bare'
42
- - **Added** `delay` prop for flicker prevention
43
- - **Added** `onComplete` callback for state transitions
44
- - **Changed** No longer server-safe (Framer Motion dependency)
45
- - **Fixed** Fade out track circle in bare mode, use larger icons for bare variant
46
-
47
- ### v0.3.0
48
- - **Fixed** Animations respect `prefers-reduced-motion`
49
-
50
- ### v0.2.0
51
- - **Added** Identified as server-safe (no longer true as of v0.18.0)
52
-
53
- ### v0.1.0
54
- - **Added** Initial release
1
+ # Spinner
2
+
3
+ - Import: @devalok/shilp-sutra/ui/spinner
4
+ - Server-safe: No
5
+ - Category: ui
6
+
7
+ ## Props
8
+ size: "sm" | "md" | "lg"
9
+ state: "spinning" | "success" | "error"
10
+ variant: "filled" | "bare"
11
+ delay: number (ms — render delay to avoid flicker on fast operations)
12
+ onComplete: () => void (callback after success/error state transition)
13
+ className: string
14
+
15
+ ## Defaults
16
+ size: "md"
17
+ state: "spinning"
18
+ variant: "filled"
19
+
20
+ ## Example
21
+ ```jsx
22
+ <Spinner size="lg" />
23
+ <Spinner state="success" /> {/* green checkmark */}
24
+ <Spinner variant="bare" /> {/* uses currentColor, for embedding in buttons */}
25
+ ```
26
+
27
+ ## Gotchas
28
+ - Renders role="status" with sr-only "Loading..." text — no need for aria-label
29
+ - Button has built-in loading prop — prefer that over manual Spinner composition
30
+ - `bare` variant inherits text color — useful inside buttons and toolbars
31
+ - `delay` prevents flicker: spinner only appears after delay ms (good for fast API calls)
32
+ - No longer server-safe as of v0.18.0 (uses Framer Motion)
33
+
34
+ ## Changes
35
+ ### v0.29.0
36
+ - **Changed** `bare` variant spinning state now uses `currentColor` instead of `var(--color-accent-9)` — inherits text color from parent for seamless embedding in buttons/toolbars
37
+
38
+ ### v0.18.0
39
+ - **Changed** (BREAKING) Complete rewrite with Framer Motion arc animation and state transitions
40
+ - **Added** `state` prop: 'spinning' | 'success' | 'error'
41
+ - **Added** `variant` prop: 'filled' | 'bare'
42
+ - **Added** `delay` prop for flicker prevention
43
+ - **Added** `onComplete` callback for state transitions
44
+ - **Changed** No longer server-safe (Framer Motion dependency)
45
+ - **Fixed** Fade out track circle in bare mode, use larger icons for bare variant
46
+
47
+ ### v0.3.0
48
+ - **Fixed** Animations respect `prefers-reduced-motion`
49
+
50
+ ### v0.2.0
51
+ - **Added** Identified as server-safe (no longer true as of v0.18.0)
52
+
53
+ ### v0.1.0
54
+ - **Added** Initial release
@@ -1,39 +1,39 @@
1
- # Stack
2
-
3
- - Import: @devalok/shilp-sutra/ui/stack
4
- - Server-safe: Yes
5
- - Category: ui
6
-
7
- ## Props
8
- direction: "vertical" | "horizontal" | "row" | "column"
9
- gap: SpacingToken | number — tokens: "ds-01".."ds-13", or numbers 0-13
10
- align: "start" | "center" | "end" | "stretch" | "baseline"
11
- justify: "start" | "center" | "end" | "between" | "around" | "evenly"
12
- wrap: boolean
13
- as: ElementType (default: "div")
14
-
15
- ## Defaults
16
- direction: "vertical"
17
-
18
- ## Example
19
- ```jsx
20
- <Stack direction="horizontal" gap="ds-04" align="center">
21
- <Avatar size="sm" />
22
- <Text variant="body-md">User Name</Text>
23
- </Stack>
24
- ```
25
-
26
- ## Gotchas
27
- - "row" and "column" are aliases for "horizontal" and "vertical"
28
- - gap accepts both token strings and numeric values
29
-
30
- ## Changes
31
- ### v0.2.0
32
- - **Added** `direction` prop now accepts `"row"` / `"column"` as aliases for `"horizontal"` / `"vertical"`
33
- - **Added** `gap` prop now accepts numeric values (e.g., `gap={4}` -> `gap-ds-04`) in addition to token strings
34
-
35
- ### v0.1.1
36
- - **Fixed** Replaced dynamic `gap-${N}` with static lookup map (Tailwind JIT safety)
37
-
38
- ### v0.1.0
39
- - **Added** Initial release
1
+ # Stack
2
+
3
+ - Import: @devalok/shilp-sutra/ui/stack
4
+ - Server-safe: Yes
5
+ - Category: ui
6
+
7
+ ## Props
8
+ direction: "vertical" | "horizontal" | "row" | "column"
9
+ gap: SpacingToken | number — tokens: "ds-01".."ds-13", or numbers 0-13
10
+ align: "start" | "center" | "end" | "stretch" | "baseline"
11
+ justify: "start" | "center" | "end" | "between" | "around" | "evenly"
12
+ wrap: boolean
13
+ as: ElementType (default: "div")
14
+
15
+ ## Defaults
16
+ direction: "vertical"
17
+
18
+ ## Example
19
+ ```jsx
20
+ <Stack direction="horizontal" gap="ds-04" align="center">
21
+ <Avatar size="sm" />
22
+ <Text variant="body-md">User Name</Text>
23
+ </Stack>
24
+ ```
25
+
26
+ ## Gotchas
27
+ - "row" and "column" are aliases for "horizontal" and "vertical"
28
+ - gap accepts both token strings and numeric values
29
+
30
+ ## Changes
31
+ ### v0.2.0
32
+ - **Added** `direction` prop now accepts `"row"` / `"column"` as aliases for `"horizontal"` / `"vertical"`
33
+ - **Added** `gap` prop now accepts numeric values (e.g., `gap={4}` -> `gap-ds-04`) in addition to token strings
34
+
35
+ ### v0.1.1
36
+ - **Fixed** Replaced dynamic `gap-${N}` with static lookup map (Tailwind JIT safety)
37
+
38
+ ### v0.1.0
39
+ - **Added** Initial release
@@ -1,61 +1,61 @@
1
- # StatCard
2
-
3
- - Import: @devalok/shilp-sutra/ui/stat-card
4
- - Server-safe: No
5
- - Category: ui
6
-
7
- ## Props
8
- label: string (heading text)
9
- title: string (alias for label)
10
- value: string | number (REQUIRED)
11
- prefix: string (before value, e.g. "$")
12
- suffix: string (after value, e.g. "users")
13
- delta: { value: string, direction: "up" | "down" | "neutral" }
14
- icon: ReactNode | ComponentType<{ className?: string }>
15
- loading: boolean (renders skeleton)
16
- comparisonLabel: string (shown after delta, e.g. "vs last month")
17
- secondaryLabel: string (below main value, e.g. "of $50,000 target")
18
- progress: number (0-100, renders thin progress bar below value)
19
- accent: "default" | "success" | "warning" | "error" | "info" (left border color)
20
- sparkline: number[] (renders mini SVG line chart)
21
- onClick: () => void (makes card clickable with hover state)
22
- href: string (makes card a link via LinkContext)
23
- footer: ReactNode (below card body, e.g. "View details →")
24
-
25
- ## Defaults
26
- none (all props are optional except value)
27
-
28
- ## Example
29
- ```jsx
30
- <StatCard
31
- label="Revenue"
32
- value="$48,200"
33
- prefix="$"
34
- delta={{ value: "+12%", direction: "up" }}
35
- comparisonLabel="vs last month"
36
- icon={<IconCurrencyDollar />}
37
- accent="success"
38
- />
39
-
40
- <StatCard
41
- label="Storage"
42
- value="4.2 GB"
43
- secondaryLabel="of 10 GB"
44
- progress={42}
45
- sparkline={[10, 25, 18, 30, 42]}
46
- footer={<a href="/storage">Manage storage →</a>}
47
- />
48
- ```
49
-
50
- ## Gotchas
51
- - delta.direction "up" = green, "down" = red, "neutral" = grey
52
- - `label` and `title` are aliases — use either, not both
53
- - `onClick` and `href` are mutually exclusive — href takes precedence
54
- - `sparkline` needs at least 2 data points to render
55
-
56
- ## Changes
57
- ### v0.2.0
58
- - **Added** `icon` prop now accepts `React.ComponentType` (e.g., `icon={IconBolt}`) in addition to `ReactNode`
59
-
60
- ### v0.1.0
61
- - **Added** Initial release
1
+ # StatCard
2
+
3
+ - Import: @devalok/shilp-sutra/ui/stat-card
4
+ - Server-safe: No
5
+ - Category: ui
6
+
7
+ ## Props
8
+ label: string (heading text)
9
+ title: string (alias for label)
10
+ value: string | number (REQUIRED)
11
+ prefix: string (before value, e.g. "$")
12
+ suffix: string (after value, e.g. "users")
13
+ delta: { value: string, direction: "up" | "down" | "neutral" }
14
+ icon: ReactNode | ComponentType<{ className?: string }>
15
+ loading: boolean (renders skeleton)
16
+ comparisonLabel: string (shown after delta, e.g. "vs last month")
17
+ secondaryLabel: string (below main value, e.g. "of $50,000 target")
18
+ progress: number (0-100, renders thin progress bar below value)
19
+ accent: "default" | "success" | "warning" | "error" | "info" (left border color)
20
+ sparkline: number[] (renders mini SVG line chart)
21
+ onClick: () => void (makes card clickable with hover state)
22
+ href: string (makes card a link via LinkContext)
23
+ footer: ReactNode (below card body, e.g. "View details →")
24
+
25
+ ## Defaults
26
+ none (all props are optional except value)
27
+
28
+ ## Example
29
+ ```jsx
30
+ <StatCard
31
+ label="Revenue"
32
+ value="$48,200"
33
+ prefix="$"
34
+ delta={{ value: "+12%", direction: "up" }}
35
+ comparisonLabel="vs last month"
36
+ icon={<IconCurrencyDollar />}
37
+ accent="success"
38
+ />
39
+
40
+ <StatCard
41
+ label="Storage"
42
+ value="4.2 GB"
43
+ secondaryLabel="of 10 GB"
44
+ progress={42}
45
+ sparkline={[10, 25, 18, 30, 42]}
46
+ footer={<a href="/storage">Manage storage →</a>}
47
+ />
48
+ ```
49
+
50
+ ## Gotchas
51
+ - delta.direction "up" = green, "down" = red, "neutral" = grey
52
+ - `label` and `title` are aliases — use either, not both
53
+ - `onClick` and `href` are mutually exclusive — href takes precedence
54
+ - `sparkline` needs at least 2 data points to render
55
+
56
+ ## Changes
57
+ ### v0.2.0
58
+ - **Added** `icon` prop now accepts `React.ComponentType` (e.g., `icon={IconBolt}`) in addition to `ReactNode`
59
+
60
+ ### v0.1.0
61
+ - **Added** Initial release
@@ -1,26 +1,26 @@
1
- # StatusDot
2
-
3
- - Import: @devalok/shilp-sutra/ui/status-dot
4
- - Server-safe: Yes
5
- - Category: ui
6
-
7
- ## Props
8
- status: "healthy" | "warning" | "critical" | "neutral" | "inactive"
9
- size: "sm" | "md" | "lg"
10
- pulse: boolean (ping animation; defaults to true for "healthy", false for others)
11
- label: string (inline text rendered after the dot)
12
- labelClassName: string (extra classes on the label span)
13
-
14
- ## Defaults
15
- size="md", pulse={status === "healthy"}
16
-
17
- ## Example
18
- ```jsx
19
- <StatusDot status="healthy" />
20
- <StatusDot status="critical" label="Service down" pulse />
21
- <StatusDot status="warning" size="lg" label="Elevated load" />
22
- ```
23
-
24
- ## Gotchas
25
- - The `pulse` prop auto-enables for "healthy" status — pass `pulse={false}` to suppress
26
- - Status type is exported as `StatusDotStatus` if you need it in consumer code
1
+ # StatusDot
2
+
3
+ - Import: @devalok/shilp-sutra/ui/status-dot
4
+ - Server-safe: Yes
5
+ - Category: ui
6
+
7
+ ## Props
8
+ status: "healthy" | "warning" | "critical" | "neutral" | "inactive"
9
+ size: "sm" | "md" | "lg"
10
+ pulse: boolean (ping animation; defaults to true for "healthy", false for others)
11
+ label: string (inline text rendered after the dot)
12
+ labelClassName: string (extra classes on the label span)
13
+
14
+ ## Defaults
15
+ size="md", pulse={status === "healthy"}
16
+
17
+ ## Example
18
+ ```jsx
19
+ <StatusDot status="healthy" />
20
+ <StatusDot status="critical" label="Service down" pulse />
21
+ <StatusDot status="warning" size="lg" label="Elevated load" />
22
+ ```
23
+
24
+ ## Gotchas
25
+ - The `pulse` prop auto-enables for "healthy" status — pass `pulse={false}` to suppress
26
+ - Status type is exported as `StatusDotStatus` if you need it in consumer code