@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,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