@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,27 +1,27 @@
1
- # MarkdownViewer
2
-
3
- - Import: @devalok/shilp-sutra/composed/markdown-viewer
4
- - Server-safe: No
5
- - Category: composed
6
-
7
- ## Props
8
- content: string (markdown source)
9
- compact: boolean (tighter spacing for inline use)
10
- allowHtml: boolean (allow raw HTML in markdown)
11
- linkTarget: string (target attribute for links)
12
-
13
- ## Defaults
14
- compact={false}, allowHtml={false}, linkTarget="_blank"
15
-
16
- ## Example
17
- ```jsx
18
- <MarkdownViewer content={message.body} />
19
- <MarkdownViewer content={comment} compact />
20
- <MarkdownViewer content={trustedHtml} allowHtml />
21
- ```
22
-
23
- ## Gotchas
24
- - Code blocks with a language fence are syntax-highlighted via `react-syntax-highlighter` (lazy-loaded) — the first render shows a plain `<pre>` fallback
25
- - GFM (tables, strikethrough, task lists) is supported via `remark-gfm`
26
- - Raw HTML is stripped by default — only enable `allowHtml` for trusted content
27
- - Links open in a new tab by default (`target="_blank"` with `rel="noopener noreferrer"`)
1
+ # MarkdownViewer
2
+
3
+ - Import: @devalok/shilp-sutra/composed/markdown-viewer
4
+ - Server-safe: No
5
+ - Category: composed
6
+
7
+ ## Props
8
+ content: string (markdown source)
9
+ compact: boolean (tighter spacing for inline use)
10
+ allowHtml: boolean (allow raw HTML in markdown)
11
+ linkTarget: string (target attribute for links)
12
+
13
+ ## Defaults
14
+ compact={false}, allowHtml={false}, linkTarget="_blank"
15
+
16
+ ## Example
17
+ ```jsx
18
+ <MarkdownViewer content={message.body} />
19
+ <MarkdownViewer content={comment} compact />
20
+ <MarkdownViewer content={trustedHtml} allowHtml />
21
+ ```
22
+
23
+ ## Gotchas
24
+ - Code blocks with a language fence are syntax-highlighted via `react-syntax-highlighter` (lazy-loaded) — the first render shows a plain `<pre>` fallback
25
+ - GFM (tables, strikethrough, task lists) is supported via `remark-gfm`
26
+ - Raw HTML is stripped by default — only enable `allowHtml` for trusted content
27
+ - Links open in a new tab by default (`target="_blank"` with `rel="noopener noreferrer"`)
@@ -1,48 +1,48 @@
1
- # MasterDetail
2
-
3
- - Import: @devalok/shilp-sutra/composed/master-detail
4
- - Server-safe: No
5
- - Category: composed
6
-
7
- ## Compound Components
8
- MasterDetail (root), MasterDetail.List, MasterDetail.Detail, MasterDetail.ListItem
9
-
10
- ## Props
11
-
12
- ### MasterDetail (root)
13
- selected: string | null (ID of currently selected item; null = show list on mobile)
14
- onBack: () => void (called when mobile back button is pressed)
15
- masterWidth: string (master panel width on desktop)
16
- breakpoint: "sm" | "md" | "lg" (below this, stacked mobile mode activates)
17
-
18
- ### MasterDetail.ListItem
19
- active: boolean (highlights the item)
20
- (extends ButtonHTMLAttributes)
21
-
22
- ## Defaults
23
- selected={null}, masterWidth="280px", breakpoint="md"
24
-
25
- ## Example
26
- ```jsx
27
- <MasterDetail selected={selectedId} onBack={() => setSelectedId(null)}>
28
- <MasterDetail.List>
29
- {items.map((item) => (
30
- <MasterDetail.ListItem
31
- key={item.id}
32
- active={item.id === selectedId}
33
- onClick={() => setSelectedId(item.id)}
34
- >
35
- {item.name}
36
- </MasterDetail.ListItem>
37
- ))}
38
- </MasterDetail.List>
39
- <MasterDetail.Detail>
40
- {selectedId ? <ItemDetail id={selectedId} /> : <EmptyState />}
41
- </MasterDetail.Detail>
42
- </MasterDetail>
43
- ```
44
-
45
- ## Gotchas
46
- - On mobile (below breakpoint), List and Detail are mutually exclusive — selecting an item hides the list
47
- - The `onBack` callback is required for the mobile back button to appear in the Detail pane
48
- - Uses `window.matchMedia` — SSR renders desktop layout initially, then hydrates to correct mode
1
+ # MasterDetail
2
+
3
+ - Import: @devalok/shilp-sutra/composed/master-detail
4
+ - Server-safe: No
5
+ - Category: composed
6
+
7
+ ## Compound Components
8
+ MasterDetail (root), MasterDetail.List, MasterDetail.Detail, MasterDetail.ListItem
9
+
10
+ ## Props
11
+
12
+ ### MasterDetail (root)
13
+ selected: string | null (ID of currently selected item; null = show list on mobile)
14
+ onBack: () => void (called when mobile back button is pressed)
15
+ masterWidth: string (master panel width on desktop)
16
+ breakpoint: "sm" | "md" | "lg" (below this, stacked mobile mode activates)
17
+
18
+ ### MasterDetail.ListItem
19
+ active: boolean (highlights the item)
20
+ (extends ButtonHTMLAttributes)
21
+
22
+ ## Defaults
23
+ selected={null}, masterWidth="280px", breakpoint="md"
24
+
25
+ ## Example
26
+ ```jsx
27
+ <MasterDetail selected={selectedId} onBack={() => setSelectedId(null)}>
28
+ <MasterDetail.List>
29
+ {items.map((item) => (
30
+ <MasterDetail.ListItem
31
+ key={item.id}
32
+ active={item.id === selectedId}
33
+ onClick={() => setSelectedId(item.id)}
34
+ >
35
+ {item.name}
36
+ </MasterDetail.ListItem>
37
+ ))}
38
+ </MasterDetail.List>
39
+ <MasterDetail.Detail>
40
+ {selectedId ? <ItemDetail id={selectedId} /> : <EmptyState />}
41
+ </MasterDetail.Detail>
42
+ </MasterDetail>
43
+ ```
44
+
45
+ ## Gotchas
46
+ - On mobile (below breakpoint), List and Detail are mutually exclusive — selecting an item hides the list
47
+ - The `onBack` callback is required for the mobile back button to appear in the Detail pane
48
+ - Uses `window.matchMedia` — SSR renders desktop layout initially, then hydrates to correct mode
@@ -1,35 +1,35 @@
1
- # MemberPicker
2
-
3
- - Import: @devalok/shilp-sutra/composed/member-picker
4
- - Server-safe: No
5
- - Category: composed
6
-
7
- ## Props
8
- members: MemberPickerMember[] (REQUIRED) — { id, name, avatar? }
9
- selectedIds: string[] (REQUIRED)
10
- onSelect: (memberId: string) => void (REQUIRED)
11
- multiple: boolean (default: false)
12
- placeholder: string (default: "Search members...")
13
- children: ReactNode (trigger element)
14
-
15
- ## Defaults
16
- multiple=false, placeholder="Search members..."
17
-
18
- ## Example
19
- ```jsx
20
- <MemberPicker members={teamMembers} selectedIds={assignees} onSelect={toggleAssignee} multiple>
21
- <Button variant="outline">Assign Members</Button>
22
- </MemberPicker>
23
- ```
24
-
25
- ## Gotchas
26
- - `children` is used as the trigger element (e.g., a Button)
27
- - `onSelect` is called with a single `memberId` — toggle logic is up to the consumer
28
- - When `multiple=false`, selecting a new member replaces the previous selection
29
-
30
- ## Changes
31
- ### v0.18.0
32
- - **Fixed** Added `aria-label` to search input
33
-
34
- ### v0.1.0
35
- - **Added** Initial release
1
+ # MemberPicker
2
+
3
+ - Import: @devalok/shilp-sutra/composed/member-picker
4
+ - Server-safe: No
5
+ - Category: composed
6
+
7
+ ## Props
8
+ members: MemberPickerMember[] (REQUIRED) — { id, name, avatar? }
9
+ selectedIds: string[] (REQUIRED)
10
+ onSelect: (memberId: string) => void (REQUIRED)
11
+ multiple: boolean (default: false)
12
+ placeholder: string (default: "Search members...")
13
+ children: ReactNode (trigger element)
14
+
15
+ ## Defaults
16
+ multiple=false, placeholder="Search members..."
17
+
18
+ ## Example
19
+ ```jsx
20
+ <MemberPicker members={teamMembers} selectedIds={assignees} onSelect={toggleAssignee} multiple>
21
+ <Button variant="outline">Assign Members</Button>
22
+ </MemberPicker>
23
+ ```
24
+
25
+ ## Gotchas
26
+ - `children` is used as the trigger element (e.g., a Button)
27
+ - `onSelect` is called with a single `memberId` — toggle logic is up to the consumer
28
+ - When `multiple=false`, selecting a new member replaces the previous selection
29
+
30
+ ## Changes
31
+ ### v0.18.0
32
+ - **Fixed** Added `aria-label` to search input
33
+
34
+ ### v0.1.0
35
+ - **Added** Initial release
@@ -1,62 +1,62 @@
1
- # MultiSelectPopover
2
-
3
- - Import: @devalok/shilp-sutra/composed/multi-select-popover
4
- - Server-safe: No
5
- - Category: composed
6
-
7
- ## Props
8
- items: MultiSelectItem[] (flat list — use `groups` for grouped rendering)
9
- groups: MultiSelectGroup[] (grouped items with section headers)
10
- value: string[] (currently selected item IDs)
11
- onValueChange: (ids: string[]) => void
12
- searchPlaceholder: string
13
- onSearch: (query: string) => Promise<MultiSelectItem[]> (async search — replaces local filter)
14
- searchDebounce: number (debounce for async search in ms)
15
- renderItem: (item: MultiSelectItem, selected: boolean) => ReactNode (custom item renderer)
16
- emptyMessage: string (message when no items match)
17
- maxSelections: number (cap on selections)
18
- align: "start" | "center" | "end"
19
- width: string | number (popover width)
20
- children: ReactNode (trigger element)
21
-
22
- ### MultiSelectItem
23
- id: string
24
- label: string
25
- image?: string
26
- description?: string
27
- disabled?: boolean
28
-
29
- ### MultiSelectGroup
30
- label: string
31
- items: MultiSelectItem[]
32
-
33
- ## Defaults
34
- searchPlaceholder="Search...", searchDebounce={300}, emptyMessage="No results found", align="start", width={240}
35
-
36
- ## Example
37
- ```jsx
38
- <MultiSelectPopover
39
- items={[
40
- { id: '1', label: 'Alice', image: '/alice.jpg' },
41
- { id: '2', label: 'Bob' },
42
- ]}
43
- value={selected}
44
- onValueChange={setSelected}
45
- >
46
- <Button>Assign members</Button>
47
- </MultiSelectPopover>
48
- ```
49
-
50
- ## Gotchas
51
- - Supply either `items` (flat) or `groups` (sectioned), not both
52
- - When `onSearch` is provided, local filtering is disabled — the callback must return results
53
- - Search state resets when the popover closes
54
- - `maxSelections: 1` acts as single-select — clicking a new item replaces the current one
55
-
56
- ## Changes
57
-
58
- ### v0.27.2
59
- - **Fixed** `maxSelections` at limit now replaces oldest selection instead of blocking. Single-select (`maxSelections: 1`) swaps in the new value.
60
-
61
- ### v0.26.0
62
- - **Added** Initial release
1
+ # MultiSelectPopover
2
+
3
+ - Import: @devalok/shilp-sutra/composed/multi-select-popover
4
+ - Server-safe: No
5
+ - Category: composed
6
+
7
+ ## Props
8
+ items: MultiSelectItem[] (flat list — use `groups` for grouped rendering)
9
+ groups: MultiSelectGroup[] (grouped items with section headers)
10
+ value: string[] (currently selected item IDs)
11
+ onValueChange: (ids: string[]) => void
12
+ searchPlaceholder: string
13
+ onSearch: (query: string) => Promise<MultiSelectItem[]> (async search — replaces local filter)
14
+ searchDebounce: number (debounce for async search in ms)
15
+ renderItem: (item: MultiSelectItem, selected: boolean) => ReactNode (custom item renderer)
16
+ emptyMessage: string (message when no items match)
17
+ maxSelections: number (cap on selections)
18
+ align: "start" | "center" | "end"
19
+ width: string | number (popover width)
20
+ children: ReactNode (trigger element)
21
+
22
+ ### MultiSelectItem
23
+ id: string
24
+ label: string
25
+ image?: string
26
+ description?: string
27
+ disabled?: boolean
28
+
29
+ ### MultiSelectGroup
30
+ label: string
31
+ items: MultiSelectItem[]
32
+
33
+ ## Defaults
34
+ searchPlaceholder="Search...", searchDebounce={300}, emptyMessage="No results found", align="start", width={240}
35
+
36
+ ## Example
37
+ ```jsx
38
+ <MultiSelectPopover
39
+ items={[
40
+ { id: '1', label: 'Alice', image: '/alice.jpg' },
41
+ { id: '2', label: 'Bob' },
42
+ ]}
43
+ value={selected}
44
+ onValueChange={setSelected}
45
+ >
46
+ <Button>Assign members</Button>
47
+ </MultiSelectPopover>
48
+ ```
49
+
50
+ ## Gotchas
51
+ - Supply either `items` (flat) or `groups` (sectioned), not both
52
+ - When `onSearch` is provided, local filtering is disabled — the callback must return results
53
+ - Search state resets when the popover closes
54
+ - `maxSelections: 1` acts as single-select — clicking a new item replaces the current one
55
+
56
+ ## Changes
57
+
58
+ ### v0.27.2
59
+ - **Fixed** `maxSelections` at limit now replaces oldest selection instead of blocking. Single-select (`maxSelections: 1`) swaps in the new value.
60
+
61
+ ### v0.26.0
62
+ - **Added** Initial release
@@ -1,41 +1,41 @@
1
- # PageHeader
2
-
3
- - Import: @devalok/shilp-sutra/composed/page-header
4
- - Server-safe: Yes
5
- - Category: composed
6
-
7
- ## Props
8
- title: string (falls back to last breadcrumb label if omitted)
9
- subtitle: string
10
- actions: ReactNode (action buttons)
11
- breadcrumbs: Breadcrumb[] — { label: string, href?: string }
12
- titleClassName: string
13
-
14
- ## Defaults
15
- None
16
-
17
- ## Example
18
- ```jsx
19
- <PageHeader
20
- title="Project Settings"
21
- subtitle="Configure your project preferences"
22
- breadcrumbs={[
23
- { label: 'Home', href: '/' },
24
- { label: 'Projects', href: '/projects' },
25
- { label: 'Settings' },
26
- ]}
27
- actions={<Button>Save</Button>}
28
- />
29
- ```
30
-
31
- ## Gotchas
32
- - Server-safe: can be imported directly in Next.js Server Components
33
- - If `title` is omitted, the last breadcrumb's `label` is used as the page title
34
- - The last breadcrumb should not have an `href` (it represents the current page)
35
-
36
- ## Changes
37
- ### v0.2.0
38
- - **Added** Identified as server-safe component
39
-
40
- ### v0.1.0
41
- - **Added** Initial release
1
+ # PageHeader
2
+
3
+ - Import: @devalok/shilp-sutra/composed/page-header
4
+ - Server-safe: Yes
5
+ - Category: composed
6
+
7
+ ## Props
8
+ title: string (falls back to last breadcrumb label if omitted)
9
+ subtitle: string
10
+ actions: ReactNode (action buttons)
11
+ breadcrumbs: Breadcrumb[] — { label: string, href?: string }
12
+ titleClassName: string
13
+
14
+ ## Defaults
15
+ None
16
+
17
+ ## Example
18
+ ```jsx
19
+ <PageHeader
20
+ title="Project Settings"
21
+ subtitle="Configure your project preferences"
22
+ breadcrumbs={[
23
+ { label: 'Home', href: '/' },
24
+ { label: 'Projects', href: '/projects' },
25
+ { label: 'Settings' },
26
+ ]}
27
+ actions={<Button>Save</Button>}
28
+ />
29
+ ```
30
+
31
+ ## Gotchas
32
+ - Server-safe: can be imported directly in Next.js Server Components
33
+ - If `title` is omitted, the last breadcrumb's `label` is used as the page title
34
+ - The last breadcrumb should not have an `href` (it represents the current page)
35
+
36
+ ## Changes
37
+ ### v0.2.0
38
+ - **Added** Identified as server-safe component
39
+
40
+ ### v0.1.0
41
+ - **Added** Initial release
@@ -1,32 +1,32 @@
1
- # PageSkeletons
2
-
3
- - Import: @devalok/shilp-sutra/composed/page-skeletons
4
- - Server-safe: Yes
5
- - Category: composed
6
-
7
- Exports: DashboardSkeleton, ProjectListSkeleton, TaskDetailSkeleton
8
-
9
- ## Props
10
- className?: string (plus all standard HTML div attributes via React.ComponentPropsWithoutRef<'div'>)
11
-
12
- ## Defaults
13
- None
14
-
15
- ## Example
16
- ```jsx
17
- <DashboardSkeleton />
18
- <ProjectListSkeleton />
19
- <TaskDetailSkeleton />
20
- ```
21
-
22
- ## Gotchas
23
- - Server-safe: can be imported directly in Next.js Server Components
24
- - These are full-page skeleton layouts — for smaller skeleton sections, use LoadingSkeleton components
25
- - Accept `className` and standard div attributes but render fixed layout structures
26
-
27
- ## Changes
28
- ### v0.2.0
29
- - **Added** Identified as server-safe component
30
-
31
- ### v0.1.0
32
- - **Added** Initial release
1
+ # PageSkeletons
2
+
3
+ - Import: @devalok/shilp-sutra/composed/page-skeletons
4
+ - Server-safe: Yes
5
+ - Category: composed
6
+
7
+ Exports: DashboardSkeleton, ProjectListSkeleton, TaskDetailSkeleton
8
+
9
+ ## Props
10
+ className?: string (plus all standard HTML div attributes via React.ComponentPropsWithoutRef<'div'>)
11
+
12
+ ## Defaults
13
+ None
14
+
15
+ ## Example
16
+ ```jsx
17
+ <DashboardSkeleton />
18
+ <ProjectListSkeleton />
19
+ <TaskDetailSkeleton />
20
+ ```
21
+
22
+ ## Gotchas
23
+ - Server-safe: can be imported directly in Next.js Server Components
24
+ - These are full-page skeleton layouts — for smaller skeleton sections, use LoadingSkeleton components
25
+ - Accept `className` and standard div attributes but render fixed layout structures
26
+
27
+ ## Changes
28
+ ### v0.2.0
29
+ - **Added** Identified as server-safe component
30
+
31
+ ### v0.1.0
32
+ - **Added** Initial release
@@ -1,32 +1,32 @@
1
- # PriorityIndicator
2
-
3
- - Import: @devalok/shilp-sutra/composed/priority-indicator
4
- - Server-safe: Yes
5
- - Category: composed
6
-
7
- ## Props
8
- priority: Priority
9
- display: "compact" | "full" (default: "full")
10
-
11
- Priority = 'LOW' | 'MEDIUM' | 'HIGH' | 'URGENT' | 'low' | 'medium' | 'high' | 'urgent'
12
-
13
- ## Defaults
14
- display="full"
15
-
16
- ## Example
17
- ```jsx
18
- <PriorityIndicator priority="HIGH" />
19
- <PriorityIndicator priority="low" display="compact" />
20
- ```
21
-
22
- ## Gotchas
23
- - Case-insensitive — "low" and "LOW" both work
24
- - Server-safe: can be imported directly in Next.js Server Components
25
- - `compact` display shows only the icon; `full` shows icon + text label
26
-
27
- ## Changes
28
- ### v0.2.0
29
- - **Added** Identified as server-safe component
30
-
31
- ### v0.1.0
32
- - **Added** Initial release
1
+ # PriorityIndicator
2
+
3
+ - Import: @devalok/shilp-sutra/composed/priority-indicator
4
+ - Server-safe: Yes
5
+ - Category: composed
6
+
7
+ ## Props
8
+ priority: Priority
9
+ display: "compact" | "full" (default: "full")
10
+
11
+ Priority = 'LOW' | 'MEDIUM' | 'HIGH' | 'URGENT' | 'low' | 'medium' | 'high' | 'urgent'
12
+
13
+ ## Defaults
14
+ display="full"
15
+
16
+ ## Example
17
+ ```jsx
18
+ <PriorityIndicator priority="HIGH" />
19
+ <PriorityIndicator priority="low" display="compact" />
20
+ ```
21
+
22
+ ## Gotchas
23
+ - Case-insensitive — "low" and "LOW" both work
24
+ - Server-safe: can be imported directly in Next.js Server Components
25
+ - `compact` display shows only the icon; `full` shows icon + text label
26
+
27
+ ## Changes
28
+ ### v0.2.0
29
+ - **Added** Identified as server-safe component
30
+
31
+ ### v0.1.0
32
+ - **Added** Initial release
@@ -1,34 +1,34 @@
1
- # ResponsiveOverlay
2
-
3
- - Import: @devalok/shilp-sutra/composed/responsive-overlay
4
- - Server-safe: No
5
- - Category: composed
6
-
7
- ## Props
8
- open: boolean
9
- onOpenChange: (open: boolean) => void
10
- title: string
11
- description: string
12
- breakpoint: "sm" | "md" (below this renders as bottom Sheet; above as Dialog)
13
- children: ReactNode
14
- className: string
15
-
16
- ## Defaults
17
- breakpoint="md"
18
-
19
- ## Example
20
- ```jsx
21
- <ResponsiveOverlay
22
- open={open}
23
- onOpenChange={setOpen}
24
- title="Edit task"
25
- description="Update the task details"
26
- >
27
- <TaskForm />
28
- </ResponsiveOverlay>
29
- ```
30
-
31
- ## Gotchas
32
- - Renders a centered Dialog on desktop and a bottom Sheet on mobile — same content, different container
33
- - Uses `window.matchMedia` internally — SSR defaults to desktop (Dialog) until hydration
34
- - Title and description are optional; if omitted, no header is rendered in either mode
1
+ # ResponsiveOverlay
2
+
3
+ - Import: @devalok/shilp-sutra/composed/responsive-overlay
4
+ - Server-safe: No
5
+ - Category: composed
6
+
7
+ ## Props
8
+ open: boolean
9
+ onOpenChange: (open: boolean) => void
10
+ title: string
11
+ description: string
12
+ breakpoint: "sm" | "md" (below this renders as bottom Sheet; above as Dialog)
13
+ children: ReactNode
14
+ className: string
15
+
16
+ ## Defaults
17
+ breakpoint="md"
18
+
19
+ ## Example
20
+ ```jsx
21
+ <ResponsiveOverlay
22
+ open={open}
23
+ onOpenChange={setOpen}
24
+ title="Edit task"
25
+ description="Update the task details"
26
+ >
27
+ <TaskForm />
28
+ </ResponsiveOverlay>
29
+ ```
30
+
31
+ ## Gotchas
32
+ - Renders a centered Dialog on desktop and a bottom Sheet on mobile — same content, different container
33
+ - Uses `window.matchMedia` internally — SSR defaults to desktop (Dialog) until hydration
34
+ - Title and description are optional; if omitted, no header is rendered in either mode