@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,82 +1,82 @@
1
- # RichTextEditor
2
-
3
- - Import: @devalok/shilp-sutra/composed/rich-text-editor
4
- - Server-safe: No
5
- - Category: composed
6
-
7
- Exports: RichTextEditor, RichTextViewer
8
-
9
- ## Props
10
-
11
- ### RichTextEditor
12
- content: string (HTML string)
13
- placeholder: string (default: "Start writing...")
14
- onChange: (html: string) => void
15
- className: string
16
- editable: boolean (default: true)
17
- onImageUpload?: (file: File) => Promise<string> — return URL. If omitted, images paste as base64
18
- onFileUpload?: (file: File) => Promise<{ url: string; name: string; size: number }> — enables file attachments
19
- mentions?: MentionItem[] — static list for @mention autocomplete
20
- onMentionSearch?: (query: string) => Promise<MentionItem[]> — async search, takes precedence over static mentions
21
- toolbar?: ToolbarItem[] — whitelist of toolbar items to show. Omit to show all.
22
- onMentionSelect?: (item: MentionItem) => void — called when a mention is selected
23
-
24
- ToolbarItem: 'bold' | 'italic' | 'underline' | 'strike' | 'highlight' | 'h2' | 'h3' | 'blockquote' | 'bulletList' | 'orderedList' | 'taskList' | 'codeBlock' | 'link' | 'image' | 'file' | 'hr' | 'alignLeft' | 'alignCenter' | 'alignRight' | 'emoji' | 'undo' | 'redo'
25
-
26
- MentionItem: { id: string; label: string; avatar?: string }
27
-
28
- ### RichTextViewer
29
- content: string (REQUIRED, HTML string)
30
- className: string
31
-
32
- ## Defaults
33
- RichTextEditor: placeholder="Start writing...", editable=true
34
-
35
- ## Example
36
- ```jsx
37
- <RichTextEditor content={html} onChange={setHtml} placeholder="Write your message..." />
38
-
39
- <RichTextEditor
40
- content={html}
41
- onChange={setHtml}
42
- mentions={[{ id: '1', label: 'Aarav' }]}
43
- onImageUpload={async (file) => uploadAndReturnUrl(file)}
44
- onFileUpload={async (file) => ({ url: uploadUrl, name: file.name, size: file.size })}
45
- />
46
-
47
- <RichTextViewer content={savedHtml} />
48
- ```
49
-
50
- ## Gotchas
51
- - Tiptap is bundled — no need to install `@tiptap/*` packages separately
52
- - Emoji picker requires `@emoji-mart/react` + `@emoji-mart/data` peers
53
- - Images without `onImageUpload` are stored as base64 in HTML — large images bloat content
54
- - Mention rendering in viewer always works (no mention props needed, just the HTML)
55
- - Features: bold, italic, underline, strikethrough, highlight, headings, blockquote, lists, task lists, code, links, images, file attachments, mentions, emoji, text alignment, horizontal rule
56
-
57
- ## Changes
58
- ### v0.33.0
59
- - **Added** `emojiSet` prop — `EmojiSet` type for consistent emoji art style rendering
60
- - **Changed** TipTap v2 → v3 upgrade (useEditorState, immediatelyRender: false for SSR, ListKit)
61
- - **Added** EmojiNode + createEmojiSuggestion(set) registered internally
62
-
63
- ### v0.30.0
64
- - **Added** `toolbar` prop — whitelist of `ToolbarItem` names to control which toolbar buttons appear. Dividers render only between groups that have visible items. `ToolbarItem` type exported from barrel.
65
-
66
- ### v0.18.0
67
- - **Fixed** Use ref to track internal changes, prevent update loop
68
-
69
- ### v0.9.0
70
- - **Changed** All `@tiptap/*` packages moved from peerDependencies to bundled build-time dependencies — consumers no longer need to install tiptap separately
71
-
72
- ### v0.8.0
73
- - **Fixed** Emoji picker now renders above the editor (not clipped by overflow)
74
- - **Fixed** Link/image URL injection prevented via protocol validation
75
- - **Fixed** Escape key in emoji picker no longer closes parent dialogs
76
- - **Fixed** Tiptap peer deps tightened to `>=2.27.2 <3.0.0`
77
-
78
- ### v0.7.0
79
- - **Added** Initial release — full-featured tiptap-based rich text editing with toolbar, mentions, emoji, image, alignment
80
-
81
- ### v0.1.1
82
- - **Fixed** Added content sync effect so editor updates when `content` prop changes externally
1
+ # RichTextEditor
2
+
3
+ - Import: @devalok/shilp-sutra/composed/rich-text-editor
4
+ - Server-safe: No
5
+ - Category: composed
6
+
7
+ Exports: RichTextEditor, RichTextViewer
8
+
9
+ ## Props
10
+
11
+ ### RichTextEditor
12
+ content: string (HTML string)
13
+ placeholder: string (default: "Start writing...")
14
+ onChange: (html: string) => void
15
+ className: string
16
+ editable: boolean (default: true)
17
+ onImageUpload?: (file: File) => Promise<string> — return URL. If omitted, images paste as base64
18
+ onFileUpload?: (file: File) => Promise<{ url: string; name: string; size: number }> — enables file attachments
19
+ mentions?: MentionItem[] — static list for @mention autocomplete
20
+ onMentionSearch?: (query: string) => Promise<MentionItem[]> — async search, takes precedence over static mentions
21
+ toolbar?: ToolbarItem[] — whitelist of toolbar items to show. Omit to show all.
22
+ onMentionSelect?: (item: MentionItem) => void — called when a mention is selected
23
+
24
+ ToolbarItem: 'bold' | 'italic' | 'underline' | 'strike' | 'highlight' | 'h2' | 'h3' | 'blockquote' | 'bulletList' | 'orderedList' | 'taskList' | 'codeBlock' | 'link' | 'image' | 'file' | 'hr' | 'alignLeft' | 'alignCenter' | 'alignRight' | 'emoji' | 'undo' | 'redo'
25
+
26
+ MentionItem: { id: string; label: string; avatar?: string }
27
+
28
+ ### RichTextViewer
29
+ content: string (REQUIRED, HTML string)
30
+ className: string
31
+
32
+ ## Defaults
33
+ RichTextEditor: placeholder="Start writing...", editable=true
34
+
35
+ ## Example
36
+ ```jsx
37
+ <RichTextEditor content={html} onChange={setHtml} placeholder="Write your message..." />
38
+
39
+ <RichTextEditor
40
+ content={html}
41
+ onChange={setHtml}
42
+ mentions={[{ id: '1', label: 'Aarav' }]}
43
+ onImageUpload={async (file) => uploadAndReturnUrl(file)}
44
+ onFileUpload={async (file) => ({ url: uploadUrl, name: file.name, size: file.size })}
45
+ />
46
+
47
+ <RichTextViewer content={savedHtml} />
48
+ ```
49
+
50
+ ## Gotchas
51
+ - Tiptap is bundled — no need to install `@tiptap/*` packages separately
52
+ - Emoji picker requires `@emoji-mart/react` + `@emoji-mart/data` peers
53
+ - Images without `onImageUpload` are stored as base64 in HTML — large images bloat content
54
+ - Mention rendering in viewer always works (no mention props needed, just the HTML)
55
+ - Features: bold, italic, underline, strikethrough, highlight, headings, blockquote, lists, task lists, code, links, images, file attachments, mentions, emoji, text alignment, horizontal rule
56
+
57
+ ## Changes
58
+ ### v0.33.0
59
+ - **Added** `emojiSet` prop — `EmojiSet` type for consistent emoji art style rendering
60
+ - **Changed** TipTap v2 → v3 upgrade (useEditorState, immediatelyRender: false for SSR, ListKit)
61
+ - **Added** EmojiNode + createEmojiSuggestion(set) registered internally
62
+
63
+ ### v0.30.0
64
+ - **Added** `toolbar` prop — whitelist of `ToolbarItem` names to control which toolbar buttons appear. Dividers render only between groups that have visible items. `ToolbarItem` type exported from barrel.
65
+
66
+ ### v0.18.0
67
+ - **Fixed** Use ref to track internal changes, prevent update loop
68
+
69
+ ### v0.9.0
70
+ - **Changed** All `@tiptap/*` packages moved from peerDependencies to bundled build-time dependencies — consumers no longer need to install tiptap separately
71
+
72
+ ### v0.8.0
73
+ - **Fixed** Emoji picker now renders above the editor (not clipped by overflow)
74
+ - **Fixed** Link/image URL injection prevented via protocol validation
75
+ - **Fixed** Escape key in emoji picker no longer closes parent dialogs
76
+ - **Fixed** Tiptap peer deps tightened to `>=2.27.2 <3.0.0`
77
+
78
+ ### v0.7.0
79
+ - **Added** Initial release — full-featured tiptap-based rich text editing with toolbar, mentions, emoji, image, alignment
80
+
81
+ ### v0.1.1
82
+ - **Fixed** Added content sync effect so editor updates when `content` prop changes externally
@@ -1,39 +1,39 @@
1
- # ScheduleView
2
-
3
- - Import: @devalok/shilp-sutra/composed/schedule-view
4
- - Server-safe: No
5
- - Category: composed
6
-
7
- ## Props
8
- view: "day" | "week" (REQUIRED)
9
- date: Date (REQUIRED — current day or any date in target week)
10
- events: ScheduleEvent[] (REQUIRED) — { id, title, start: Date, end: Date, color? }
11
- onEventClick?: (event: ScheduleEvent) => void
12
- onSlotClick?: (start: Date, end: Date) => void
13
- startHour: number (default: 8)
14
- endHour: number (default: 18, exclusive)
15
- slotDuration: number (minutes, default: 30)
16
-
17
- Event colors: "primary" | "success" | "warning" | "error" | "info" | "neutral"
18
-
19
- ## Defaults
20
- startHour=8, endHour=18, slotDuration=30
21
-
22
- ## Example
23
- ```jsx
24
- <ScheduleView
25
- view="week"
26
- date={new Date()}
27
- events={calendarEvents}
28
- onEventClick={(e) => openEvent(e.id)}
29
- />
30
- ```
31
-
32
- ## Gotchas
33
- - `endHour` is exclusive — `endHour=18` means the last visible slot starts at 17:30 (with default 30min slots)
34
- - `onSlotClick` fires when clicking an empty time slot — useful for creating new events
35
- - Events that span outside `startHour`/`endHour` may be clipped
36
-
37
- ## Changes
38
- ### v0.1.0
39
- - **Added** Initial release
1
+ # ScheduleView
2
+
3
+ - Import: @devalok/shilp-sutra/composed/schedule-view
4
+ - Server-safe: No
5
+ - Category: composed
6
+
7
+ ## Props
8
+ view: "day" | "week" (REQUIRED)
9
+ date: Date (REQUIRED — current day or any date in target week)
10
+ events: ScheduleEvent[] (REQUIRED) — { id, title, start: Date, end: Date, color? }
11
+ onEventClick?: (event: ScheduleEvent) => void
12
+ onSlotClick?: (start: Date, end: Date) => void
13
+ startHour: number (default: 8)
14
+ endHour: number (default: 18, exclusive)
15
+ slotDuration: number (minutes, default: 30)
16
+
17
+ Event colors: "primary" | "success" | "warning" | "error" | "info" | "neutral"
18
+
19
+ ## Defaults
20
+ startHour=8, endHour=18, slotDuration=30
21
+
22
+ ## Example
23
+ ```jsx
24
+ <ScheduleView
25
+ view="week"
26
+ date={new Date()}
27
+ events={calendarEvents}
28
+ onEventClick={(e) => openEvent(e.id)}
29
+ />
30
+ ```
31
+
32
+ ## Gotchas
33
+ - `endHour` is exclusive — `endHour=18` means the last visible slot starts at 17:30 (with default 30min slots)
34
+ - `onSlotClick` fires when clicking an empty time slot — useful for creating new events
35
+ - Events that span outside `startHour`/`endHour` may be clipped
36
+
37
+ ## Changes
38
+ ### v0.1.0
39
+ - **Added** Initial release
@@ -1,33 +1,33 @@
1
- # SimpleTooltip
2
-
3
- - Import: @devalok/shilp-sutra/composed/simple-tooltip
4
- - Server-safe: No
5
- - Category: composed
6
-
7
- ## Props
8
- content: ReactNode (REQUIRED — tooltip content)
9
- side: "top" | "right" | "bottom" | "left" (default: "top")
10
- align: "start" | "center" | "end" (default: "center")
11
- delayDuration: number (ms, default: 300)
12
- children: ReactNode (trigger element)
13
-
14
- ## Defaults
15
- side="top", align="center", delayDuration=300
16
-
17
- ## Example
18
- ```jsx
19
- <SimpleTooltip content="Edit this item">
20
- <IconButton icon={<IconEdit />} aria-label="Edit" />
21
- </SimpleTooltip>
22
- ```
23
-
24
- ## Gotchas
25
- - Wraps the full Tooltip compound (Provider + Tooltip + Trigger + Content) into one component — no need for TooltipProvider
26
- - Unlike the low-level Tooltip, SimpleTooltip does not require wrapping in a TooltipProvider
27
-
28
- ## Changes
29
- ### v0.18.0
30
- - **Fixed** Type definition corrected
31
-
32
- ### v0.1.0
33
- - **Added** Initial release
1
+ # SimpleTooltip
2
+
3
+ - Import: @devalok/shilp-sutra/composed/simple-tooltip
4
+ - Server-safe: No
5
+ - Category: composed
6
+
7
+ ## Props
8
+ content: ReactNode (REQUIRED — tooltip content)
9
+ side: "top" | "right" | "bottom" | "left" (default: "top")
10
+ align: "start" | "center" | "end" (default: "center")
11
+ delayDuration: number (ms, default: 300)
12
+ children: ReactNode (trigger element)
13
+
14
+ ## Defaults
15
+ side="top", align="center", delayDuration=300
16
+
17
+ ## Example
18
+ ```jsx
19
+ <SimpleTooltip content="Edit this item">
20
+ <IconButton icon={<IconEdit />} aria-label="Edit" />
21
+ </SimpleTooltip>
22
+ ```
23
+
24
+ ## Gotchas
25
+ - Wraps the full Tooltip compound (Provider + Tooltip + Trigger + Content) into one component — no need for TooltipProvider
26
+ - Unlike the low-level Tooltip, SimpleTooltip does not require wrapping in a TooltipProvider
27
+
28
+ ## Changes
29
+ ### v0.18.0
30
+ - **Fixed** Type definition corrected
31
+
32
+ ### v0.1.0
33
+ - **Added** Initial release
@@ -1,55 +1,55 @@
1
- # StatusBadge
2
-
3
- - Import: @devalok/shilp-sutra/composed/status-badge
4
- - Server-safe: No
5
- - Category: composed
6
-
7
- Note: StatusBadge was server-safe prior to v0.18.0 but is NO LONGER server-safe due to Framer Motion dependency.
8
-
9
- ## Props
10
- status: "active" | "pending" | "approved" | "rejected" | "completed" | "blocked" | "in-progress" | "review" | "cancelled" | "draft"
11
- color: "success" | "warning" | "error" | "info" | "neutral" (overrides status styling when set)
12
- size: "sm" | "md"
13
- label: string (auto-derived from status/color if omitted)
14
- hideDot: boolean (default: false)
15
- onClick: () => void (makes badge clickable — renders as button with chevron)
16
- icon: ReactNode (custom trailing icon — replaces default chevron when clickable)
17
-
18
- ## Defaults
19
- size="md", hideDot=false
20
- When neither status nor color is passed, defaults to status='pending' styling
21
-
22
- ## Example
23
- ```jsx
24
- <StatusBadge status="active" />
25
- <StatusBadge status="in-progress" />
26
- <StatusBadge status="review" label="Needs Review" />
27
- <StatusBadge color="warning" label="In Review" size="sm" />
28
- <StatusBadge status="active" onClick={() => openStatusPicker()} />
29
- ```
30
-
31
- ## Gotchas
32
- - When `color` is set, it takes priority over `status` for styling
33
- - Props use a discriminated union — pass either `status` or `color`, not both
34
- - As of v0.18.0, StatusBadge is NOT server-safe (Framer Motion dependency)
35
- - When `onClick` is provided, badge renders as a `<button>` with a trailing chevron icon
36
- - Pass `icon` to replace the default chevron with a custom trailing icon
37
-
38
- ## Changes
39
- ### v0.29.0
40
- - **Added** `in-progress` status (accent/blue styling)
41
- - **Added** `review` status (info styling)
42
- - **Added** `onClick` prop — renders as a `<button>` with trailing chevron and hover opacity
43
- - **Added** `icon` prop — custom trailing icon (replaces the default chevron when clickable)
44
-
45
- ### v0.18.0
46
- - **Changed** No longer server-safe due to Framer Motion dependency
47
-
48
- ### v0.8.0
49
- - **Changed** Props now use discriminated union — pass either `status` or `color`, not both
50
-
51
- ### v0.2.0
52
- - **Added** Identified as server-safe component (later reverted in v0.18.0)
53
-
54
- ### v0.1.0
55
- - **Added** Initial release
1
+ # StatusBadge
2
+
3
+ - Import: @devalok/shilp-sutra/composed/status-badge
4
+ - Server-safe: No
5
+ - Category: composed
6
+
7
+ Note: StatusBadge was server-safe prior to v0.18.0 but is NO LONGER server-safe due to Framer Motion dependency.
8
+
9
+ ## Props
10
+ status: "active" | "pending" | "approved" | "rejected" | "completed" | "blocked" | "in-progress" | "review" | "cancelled" | "draft"
11
+ color: "success" | "warning" | "error" | "info" | "neutral" (overrides status styling when set)
12
+ size: "sm" | "md"
13
+ label: string (auto-derived from status/color if omitted)
14
+ hideDot: boolean (default: false)
15
+ onClick: () => void (makes badge clickable — renders as button with chevron)
16
+ icon: ReactNode (custom trailing icon — replaces default chevron when clickable)
17
+
18
+ ## Defaults
19
+ size="md", hideDot=false
20
+ When neither status nor color is passed, defaults to status='pending' styling
21
+
22
+ ## Example
23
+ ```jsx
24
+ <StatusBadge status="active" />
25
+ <StatusBadge status="in-progress" />
26
+ <StatusBadge status="review" label="Needs Review" />
27
+ <StatusBadge color="warning" label="In Review" size="sm" />
28
+ <StatusBadge status="active" onClick={() => openStatusPicker()} />
29
+ ```
30
+
31
+ ## Gotchas
32
+ - When `color` is set, it takes priority over `status` for styling
33
+ - Props use a discriminated union — pass either `status` or `color`, not both
34
+ - As of v0.18.0, StatusBadge is NOT server-safe (Framer Motion dependency)
35
+ - When `onClick` is provided, badge renders as a `<button>` with a trailing chevron icon
36
+ - Pass `icon` to replace the default chevron with a custom trailing icon
37
+
38
+ ## Changes
39
+ ### v0.29.0
40
+ - **Added** `in-progress` status (accent/blue styling)
41
+ - **Added** `review` status (info styling)
42
+ - **Added** `onClick` prop — renders as a `<button>` with trailing chevron and hover opacity
43
+ - **Added** `icon` prop — custom trailing icon (replaces the default chevron when clickable)
44
+
45
+ ### v0.18.0
46
+ - **Changed** No longer server-safe due to Framer Motion dependency
47
+
48
+ ### v0.8.0
49
+ - **Changed** Props now use discriminated union — pass either `status` or `color`, not both
50
+
51
+ ### v0.2.0
52
+ - **Added** Identified as server-safe component (later reverted in v0.18.0)
53
+
54
+ ### v0.1.0
55
+ - **Added** Initial release
@@ -1,44 +1,44 @@
1
- # AppCommandPalette
2
-
3
- - Import: @devalok/shilp-sutra/shell/app-command-palette
4
- - Server-safe: No
5
- - Category: shell
6
-
7
- ## Props
8
- user?: AppCommandPaletteUser | null — { name, role? } (optional)
9
- isAdmin?: boolean (shows admin command groups regardless of user.role; takes precedence over role-based detection)
10
- extraGroups?: CommandGroup[]
11
- onNavigate?: (path: string) => void
12
- onSearch?: (query: string) => void
13
- searchResults?: SearchResult[]
14
- isSearching?: boolean (shows loading state while search is in progress)
15
- onSearchResultSelect?: (result: SearchResult) => void
16
-
17
- SearchResult: { id: string, title: string, snippet?: string, entityType: string, projectId?: string | null, metadata?: Record<string, unknown> }
18
- AppCommandPaletteUser: { name: string, role?: string }
19
-
20
- ## Defaults
21
- None
22
-
23
- ## Example
24
- ```jsx
25
- <AppCommandPalette
26
- user={{ name: 'John', role: 'admin' }}
27
- isAdmin={true}
28
- onNavigate={(path) => router.push(path)}
29
- searchResults={results}
30
- onSearchResultSelect={(r) => router.push(`/${r.entityType}/${r.id}`)}
31
- />
32
- ```
33
-
34
- ## Gotchas
35
- - Uses CommandRegistry context for page navigation items (see CommandRegistryProvider)
36
- - `isAdmin` takes precedence over `user.role` for showing admin command groups
37
- - Should be placed at the app root level, typically alongside TopBar
38
-
39
- ## Changes
40
- ### v0.3.0
41
- - **Fixed** Added missing `'use client'` directive
42
-
43
- ### v0.1.0
44
- - **Added** Initial release
1
+ # AppCommandPalette
2
+
3
+ - Import: @devalok/shilp-sutra/shell/app-command-palette
4
+ - Server-safe: No
5
+ - Category: shell
6
+
7
+ ## Props
8
+ user?: AppCommandPaletteUser | null — { name, role? } (optional)
9
+ isAdmin?: boolean (shows admin command groups regardless of user.role; takes precedence over role-based detection)
10
+ extraGroups?: CommandGroup[]
11
+ onNavigate?: (path: string) => void
12
+ onSearch?: (query: string) => void
13
+ searchResults?: SearchResult[]
14
+ isSearching?: boolean (shows loading state while search is in progress)
15
+ onSearchResultSelect?: (result: SearchResult) => void
16
+
17
+ SearchResult: { id: string, title: string, snippet?: string, entityType: string, projectId?: string | null, metadata?: Record<string, unknown> }
18
+ AppCommandPaletteUser: { name: string, role?: string }
19
+
20
+ ## Defaults
21
+ None
22
+
23
+ ## Example
24
+ ```jsx
25
+ <AppCommandPalette
26
+ user={{ name: 'John', role: 'admin' }}
27
+ isAdmin={true}
28
+ onNavigate={(path) => router.push(path)}
29
+ searchResults={results}
30
+ onSearchResultSelect={(r) => router.push(`/${r.entityType}/${r.id}`)}
31
+ />
32
+ ```
33
+
34
+ ## Gotchas
35
+ - Uses CommandRegistry context for page navigation items (see CommandRegistryProvider)
36
+ - `isAdmin` takes precedence over `user.role` for showing admin command groups
37
+ - Should be placed at the app root level, typically alongside TopBar
38
+
39
+ ## Changes
40
+ ### v0.3.0
41
+ - **Fixed** Added missing `'use client'` directive
42
+
43
+ ### v0.1.0
44
+ - **Added** Initial release
@@ -1,52 +1,52 @@
1
- # BottomNavbar
2
-
3
- - Import: @devalok/shilp-sutra/shell/bottom-navbar
4
- - Server-safe: No
5
- - Category: shell
6
-
7
- ## Props
8
- currentPath?: string (optional)
9
- user?: BottomNavbarUser | null (optional)
10
- primaryItems?: BottomNavItem[] (max 4 recommended, optional)
11
- moreItems?: BottomNavItem[] (overflow items in "More" menu, optional)
12
- className?: string
13
-
14
- BottomNavItem: { title: string, href: string, icon: ReactNode, exact?: boolean, badge?: number }
15
- BottomNavbarUser: { name: string, role?: string }
16
-
17
- ## Defaults
18
- None
19
-
20
- ## Example
21
- ```jsx
22
- <BottomNavbar
23
- currentPath="/dashboard"
24
- primaryItems={[
25
- { title: 'Home', href: '/', icon: <IconHome /> },
26
- { title: 'Tasks', href: '/tasks', icon: <IconChecklist /> },
27
- ]}
28
- />
29
- ```
30
-
31
- ## Gotchas
32
- - Designed for mobile viewports — fixed to bottom of screen
33
- - Max 4 `primaryItems` recommended; overflow goes in `moreItems` shown in a "More" sheet
34
- - Use with `useIsMobile()` hook to conditionally render instead of AppSidebar
35
- - Requires LinkProvider for framework-specific link components (e.g., Next.js Link)
36
-
37
- ## Changes
38
- ### v0.19.0
39
- - **Changed** Background elevated from `bg-surface-1` to `bg-surface-2` for visual hierarchy above app background
40
- - **Changed** "More" menu and interactive items bumped accordingly
41
-
42
- ### v0.18.0
43
- - **Fixed** Removed incorrect `role="button"` and `tabIndex` from overlay
44
-
45
- ### v0.16.0
46
- - **Added** `badge?: number` on `BottomNavItem` — notification count badge (red dot, 99+ cap)
47
-
48
- ### v0.1.1
49
- - **Changed** Decoupled from Next.js via LinkProvider
50
-
51
- ### v0.1.0
52
- - **Added** Initial release
1
+ # BottomNavbar
2
+
3
+ - Import: @devalok/shilp-sutra/shell/bottom-navbar
4
+ - Server-safe: No
5
+ - Category: shell
6
+
7
+ ## Props
8
+ currentPath?: string (optional)
9
+ user?: BottomNavbarUser | null (optional)
10
+ primaryItems?: BottomNavItem[] (max 4 recommended, optional)
11
+ moreItems?: BottomNavItem[] (overflow items in "More" menu, optional)
12
+ className?: string
13
+
14
+ BottomNavItem: { title: string, href: string, icon: ReactNode, exact?: boolean, badge?: number }
15
+ BottomNavbarUser: { name: string, role?: string }
16
+
17
+ ## Defaults
18
+ None
19
+
20
+ ## Example
21
+ ```jsx
22
+ <BottomNavbar
23
+ currentPath="/dashboard"
24
+ primaryItems={[
25
+ { title: 'Home', href: '/', icon: <IconHome /> },
26
+ { title: 'Tasks', href: '/tasks', icon: <IconChecklist /> },
27
+ ]}
28
+ />
29
+ ```
30
+
31
+ ## Gotchas
32
+ - Designed for mobile viewports — fixed to bottom of screen
33
+ - Max 4 `primaryItems` recommended; overflow goes in `moreItems` shown in a "More" sheet
34
+ - Use with `useIsMobile()` hook to conditionally render instead of AppSidebar
35
+ - Requires LinkProvider for framework-specific link components (e.g., Next.js Link)
36
+
37
+ ## Changes
38
+ ### v0.19.0
39
+ - **Changed** Background elevated from `bg-surface-1` to `bg-surface-2` for visual hierarchy above app background
40
+ - **Changed** "More" menu and interactive items bumped accordingly
41
+
42
+ ### v0.18.0
43
+ - **Fixed** Removed incorrect `role="button"` and `tabIndex` from overlay
44
+
45
+ ### v0.16.0
46
+ - **Added** `badge?: number` on `BottomNavItem` — notification count badge (red dot, 99+ cap)
47
+
48
+ ### v0.1.1
49
+ - **Changed** Decoupled from Next.js via LinkProvider
50
+
51
+ ### v0.1.0
52
+ - **Added** Initial release