@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,51 +1,51 @@
1
- # FormField / FormHelperText / useFormField
2
-
3
- - Import: @devalok/shilp-sutra/ui/form
4
- - Server-safe: No
5
- - Category: ui
6
-
7
- ## Props
8
- ### FormField
9
- state: "helper" | "error" | "warning" | "success" (default: "helper")
10
- helperTextId: string (auto-generated if omitted)
11
- required: boolean
12
-
13
- ### FormHelperText
14
- state: "helper" | "error" | "warning" | "success" (inherits from FormField context)
15
-
16
- ## Types
17
- FormHelperState = 'helper' | 'error' | 'warning' | 'success'
18
-
19
- ## Hook
20
- useFormField() => { state, helperTextId, required }
21
-
22
- ## Defaults
23
- state: "helper"
24
-
25
- ## Example
26
- ```jsx
27
- <FormField state="error">
28
- <Label htmlFor="email">Email</Label>
29
- <Input id="email" state="error" />
30
- <FormHelperText>Please enter a valid email.</FormHelperText>
31
- </FormField>
32
- ```
33
-
34
- ## Gotchas
35
- - getFormFieldA11y() was REMOVED — use useFormField() hook instead
36
- - FormHelperText auto-reads state and id from FormField context
37
- - FormHelperText renders role="alert" when state="error"
38
-
39
- ## Changes
40
- ### v0.18.0
41
- - **Fixed** Wrapped FormField context provider value in `useMemo` for performance
42
-
43
- ### v0.8.0
44
- - **Fixed** Input/Textarea now consume FormField context automatically (`aria-describedby`, `aria-invalid`, `aria-required`)
45
-
46
- ### v0.3.0
47
- - **Added** `useFormField()` hook for automatic aria-describedby wiring
48
- - **Changed** (BREAKING) FormField auto-wires `aria-describedby` via context. `getFormFieldA11y()` removed
49
-
50
- ### v0.1.0
51
- - **Added** Initial release
1
+ # FormField / FormHelperText / useFormField
2
+
3
+ - Import: @devalok/shilp-sutra/ui/form
4
+ - Server-safe: No
5
+ - Category: ui
6
+
7
+ ## Props
8
+ ### FormField
9
+ state: "helper" | "error" | "warning" | "success" (default: "helper")
10
+ helperTextId: string (auto-generated if omitted)
11
+ required: boolean
12
+
13
+ ### FormHelperText
14
+ state: "helper" | "error" | "warning" | "success" (inherits from FormField context)
15
+
16
+ ## Types
17
+ FormHelperState = 'helper' | 'error' | 'warning' | 'success'
18
+
19
+ ## Hook
20
+ useFormField() => { state, helperTextId, required }
21
+
22
+ ## Defaults
23
+ state: "helper"
24
+
25
+ ## Example
26
+ ```jsx
27
+ <FormField state="error">
28
+ <Label htmlFor="email">Email</Label>
29
+ <Input id="email" state="error" />
30
+ <FormHelperText>Please enter a valid email.</FormHelperText>
31
+ </FormField>
32
+ ```
33
+
34
+ ## Gotchas
35
+ - getFormFieldA11y() was REMOVED — use useFormField() hook instead
36
+ - FormHelperText auto-reads state and id from FormField context
37
+ - FormHelperText renders role="alert" when state="error"
38
+
39
+ ## Changes
40
+ ### v0.18.0
41
+ - **Fixed** Wrapped FormField context provider value in `useMemo` for performance
42
+
43
+ ### v0.8.0
44
+ - **Fixed** Input/Textarea now consume FormField context automatically (`aria-describedby`, `aria-invalid`, `aria-required`)
45
+
46
+ ### v0.3.0
47
+ - **Added** `useFormField()` hook for automatic aria-describedby wiring
48
+ - **Changed** (BREAKING) FormField auto-wires `aria-describedby` via context. `getFormFieldA11y()` removed
49
+
50
+ ### v0.1.0
51
+ - **Added** Initial release
@@ -1,32 +1,32 @@
1
- # HoverCard
2
-
3
- - Import: @devalok/shilp-sutra/ui/hover-card
4
- - Server-safe: No
5
- - Category: ui
6
-
7
- ## Compound Components
8
- HoverCard (root)
9
- HoverCardTrigger
10
- HoverCardContent
11
-
12
- ## Example
13
- ```jsx
14
- <HoverCard>
15
- <HoverCardTrigger asChild><span>Hover me</span></HoverCardTrigger>
16
- <HoverCardContent>Preview content</HoverCardContent>
17
- </HoverCard>
18
- ```
19
-
20
- ## Gotchas
21
- - Overlay component — uses Framer Motion for enter/exit animations (v0.18.0)
22
-
23
- ## Changes
24
- ### v0.18.0
25
- - **Changed** Migrated to Framer Motion for enter/exit animations
26
- - **Added** `HoverCardContentProps` type export
27
-
28
- ### v0.14.0
29
- - **Changed** z-index promoted from `z-dropdown` (1000) to `z-popover` (1400) — fixes content rendering behind Sheet/Dialog overlays
30
-
31
- ### v0.1.0
32
- - **Added** Initial release
1
+ # HoverCard
2
+
3
+ - Import: @devalok/shilp-sutra/ui/hover-card
4
+ - Server-safe: No
5
+ - Category: ui
6
+
7
+ ## Compound Components
8
+ HoverCard (root)
9
+ HoverCardTrigger
10
+ HoverCardContent
11
+
12
+ ## Example
13
+ ```jsx
14
+ <HoverCard>
15
+ <HoverCardTrigger asChild><span>Hover me</span></HoverCardTrigger>
16
+ <HoverCardContent>Preview content</HoverCardContent>
17
+ </HoverCard>
18
+ ```
19
+
20
+ ## Gotchas
21
+ - Overlay component — uses Framer Motion for enter/exit animations (v0.18.0)
22
+
23
+ ## Changes
24
+ ### v0.18.0
25
+ - **Changed** Migrated to Framer Motion for enter/exit animations
26
+ - **Added** `HoverCardContentProps` type export
27
+
28
+ ### v0.14.0
29
+ - **Changed** z-index promoted from `z-dropdown` (1000) to `z-popover` (1400) — fixes content rendering behind Sheet/Dialog overlays
30
+
31
+ ### v0.1.0
32
+ - **Added** Initial release
@@ -1,40 +1,40 @@
1
- # IconButton
2
-
3
- - Import: @devalok/shilp-sutra/ui/icon-button
4
- - Server-safe: No
5
- - Category: ui
6
-
7
- ## Props
8
- icon: ReactElement (REQUIRED — use <Icon icon={...} />)
9
- aria-label: string (REQUIRED — WCAG AA mandatory)
10
- shape: "square" | "circle"
11
- size: "sm" | "md" | "lg"
12
- variant: same as Button (solid, soft, outline, ghost, link)
13
- color: same as Button (accent, error, success, warning, neutral)
14
- loading: boolean
15
- disabled: boolean
16
-
17
- ## Defaults
18
- shape: "square"
19
- size: "md"
20
-
21
- ## Example
22
- ```jsx
23
- <IconButton icon={<Icon icon={IconEdit} />} variant="ghost" aria-label="Edit item" />
24
- <IconButton icon={<Icon icon={IconX} />} shape="circle" variant="ghost" size="sm" aria-label="Close" />
25
- <IconButton icon={<Icon icon={IconTrash} />} variant="solid" color="error" aria-label="Delete" />
26
- ```
27
-
28
- ## Gotchas
29
- - aria-label is enforced by TypeScript — you MUST provide it
30
- - Prefer IconButton over Button with size="icon-*" for icon-only buttons
31
- - `icon` prop should use `<Icon icon={...} />` wrapper (auto-sized via Button's IconProvider)
32
-
33
- ## Changes
34
- ### v0.29.0
35
- - **Changed** `icon` prop now expects `<Icon icon={...} />` wrapper (auto-sized via Button's IconProvider context)
36
- - **Changed** Inherits all new Button v2 colors: `accent`, `error`, `success`, `warning`, `neutral` (was `default`/`error` only)
37
- - **Changed** Inherits Button v2 variants including new `soft` variant
38
-
39
- ### v0.1.0
40
- - **Added** Initial release
1
+ # IconButton
2
+
3
+ - Import: @devalok/shilp-sutra/ui/icon-button
4
+ - Server-safe: No
5
+ - Category: ui
6
+
7
+ ## Props
8
+ icon: ReactElement (REQUIRED — use <Icon icon={...} />)
9
+ aria-label: string (REQUIRED — WCAG AA mandatory)
10
+ shape: "square" | "circle"
11
+ size: "sm" | "md" | "lg"
12
+ variant: same as Button (solid, soft, outline, ghost, link)
13
+ color: same as Button (accent, error, success, warning, neutral)
14
+ loading: boolean
15
+ disabled: boolean
16
+
17
+ ## Defaults
18
+ shape: "square"
19
+ size: "md"
20
+
21
+ ## Example
22
+ ```jsx
23
+ <IconButton icon={<Icon icon={IconEdit} />} variant="ghost" aria-label="Edit item" />
24
+ <IconButton icon={<Icon icon={IconX} />} shape="circle" variant="ghost" size="sm" aria-label="Close" />
25
+ <IconButton icon={<Icon icon={IconTrash} />} variant="solid" color="error" aria-label="Delete" />
26
+ ```
27
+
28
+ ## Gotchas
29
+ - aria-label is enforced by TypeScript — you MUST provide it
30
+ - Prefer IconButton over Button with size="icon-*" for icon-only buttons
31
+ - `icon` prop should use `<Icon icon={...} />` wrapper (auto-sized via Button's IconProvider)
32
+
33
+ ## Changes
34
+ ### v0.29.0
35
+ - **Changed** `icon` prop now expects `<Icon icon={...} />` wrapper (auto-sized via Button's IconProvider context)
36
+ - **Changed** Inherits all new Button v2 colors: `accent`, `error`, `success`, `warning`, `neutral` (was `default`/`error` only)
37
+ - **Changed** Inherits Button v2 variants including new `soft` variant
38
+
39
+ ### v0.1.0
40
+ - **Added** Initial release
@@ -1,44 +1,44 @@
1
- # InputOTP
2
-
3
- - Import: @devalok/shilp-sutra/ui/input-otp
4
- - Server-safe: No
5
- - Category: ui
6
-
7
- ## Props
8
- Standard input-otp props (maxLength, pattern, etc.)
9
-
10
- ## Compound Components
11
- InputOTP (root)
12
- InputOTPGroup
13
- InputOTPSlot (index: number, REQUIRED)
14
- InputOTPSeparator
15
-
16
- ## Example
17
- ```jsx
18
- <InputOTP maxLength={6}>
19
- <InputOTPGroup>
20
- <InputOTPSlot index={0} />
21
- <InputOTPSlot index={1} />
22
- <InputOTPSlot index={2} />
23
- </InputOTPGroup>
24
- <InputOTPSeparator />
25
- <InputOTPGroup>
26
- <InputOTPSlot index={3} />
27
- <InputOTPSlot index={4} />
28
- <InputOTPSlot index={5} />
29
- </InputOTPGroup>
30
- </InputOTP>
31
- ```
32
-
33
- ## Gotchas
34
- - Each InputOTPSlot requires an `index` prop (0-based)
35
-
36
- ## Changes
37
- ### v0.18.0
38
- - **Added** `InputOTPProps` type export
39
-
40
- ### v0.1.1
41
- - **Fixed** `animate-caret-blink` keyframe added to Tailwind preset — caret animation was silently broken
42
-
43
- ### v0.1.0
44
- - **Added** Initial release
1
+ # InputOTP
2
+
3
+ - Import: @devalok/shilp-sutra/ui/input-otp
4
+ - Server-safe: No
5
+ - Category: ui
6
+
7
+ ## Props
8
+ Standard input-otp props (maxLength, pattern, etc.)
9
+
10
+ ## Compound Components
11
+ InputOTP (root)
12
+ InputOTPGroup
13
+ InputOTPSlot (index: number, REQUIRED)
14
+ InputOTPSeparator
15
+
16
+ ## Example
17
+ ```jsx
18
+ <InputOTP maxLength={6}>
19
+ <InputOTPGroup>
20
+ <InputOTPSlot index={0} />
21
+ <InputOTPSlot index={1} />
22
+ <InputOTPSlot index={2} />
23
+ </InputOTPGroup>
24
+ <InputOTPSeparator />
25
+ <InputOTPGroup>
26
+ <InputOTPSlot index={3} />
27
+ <InputOTPSlot index={4} />
28
+ <InputOTPSlot index={5} />
29
+ </InputOTPGroup>
30
+ </InputOTP>
31
+ ```
32
+
33
+ ## Gotchas
34
+ - Each InputOTPSlot requires an `index` prop (0-based)
35
+
36
+ ## Changes
37
+ ### v0.18.0
38
+ - **Added** `InputOTPProps` type export
39
+
40
+ ### v0.1.1
41
+ - **Fixed** `animate-caret-blink` keyframe added to Tailwind preset — caret animation was silently broken
42
+
43
+ ### v0.1.0
44
+ - **Added** Initial release
@@ -1,74 +1,74 @@
1
- # Input
2
-
3
- - Import: @devalok/shilp-sutra/ui/input
4
- - Server-safe: No
5
- - Category: ui
6
-
7
- ## Props
8
- size: "xs" | "sm" | "md" | "lg"
9
- state: InputState
10
- startSection: ReactNode (icon or content in the leading slot)
11
- endSection: ReactNode (icon or content in the trailing slot)
12
- startSectionClickable: boolean (enables pointer events on start section)
13
- endSectionClickable: boolean (enables pointer events on end section)
14
- startSectionType: 'icon' | 'label' (section display type — auto-inferred from content)
15
- endSectionType: 'icon' | 'label' (section display type — auto-inferred from content)
16
- wrapperClassName: string (classes for the wrapper div — border, bg, ring)
17
- startIcon: ReactNode (@deprecated — use startSection)
18
- endIcon: ReactNode (@deprecated — use endSection)
19
- (plus all standard HTML input attributes except native "size")
20
-
21
- ## Types
22
- InputState = 'default' | 'error' | 'warning' | 'success'
23
-
24
- ## Defaults
25
- size: "md"
26
-
27
- ## Example
28
- ```jsx
29
- <Input type="email" placeholder="you@example.com" state="error" startSection={<Icon icon={IconMail} />} />
30
- <Input size="xs" placeholder="Quick search" startSection={<Icon icon={IconSearch} />} />
31
- <Input startSection="https://" startSectionType="label" placeholder="example.com" />
32
- <Input endSection=".00" endSectionType="label" startSection={<Icon icon={IconCurrencyDollar} />} placeholder="0" />
33
- ```
34
-
35
- ## Gotchas
36
- - HTML native "size" attribute is excluded — use CSS width instead
37
- - state="error" sets aria-invalid automatically
38
- - Inside FormField: auto-inherits state, aria-describedby, aria-required from context (explicit props override)
39
- - `className` targets the `<input>` element; use `wrapperClassName` for border/bg/ring overrides
40
- - Focus ring is on the wrapper container (focus-within), not the input itself
41
- - Icons in startSection/endSection are auto-sized via IconProvider per input size
42
- - Sections are `pointer-events-none` by default — set `startSectionClickable`/`endSectionClickable` for interactive sections
43
- - Section type is auto-inferred: strings default to `'label'` (tinted bg + border), React elements default to `'icon'` (fixed-width centered). Override with `startSectionType`/`endSectionType`.
44
-
45
- ## Changes
46
- ### v0.29.0
47
- - **Changed** v2 rewrite: container-first architecture with wrapper div holding focus ring
48
- - **Added** `xs` size (28px height)
49
- - **Added** `startSection` / `endSection` props replacing `startIcon` / `endIcon` (deprecated but still work)
50
- - **Added** `startSectionClickable` / `endSectionClickable` props for interactive sections
51
- - **Added** `wrapperClassName` prop for styling the wrapper div (border, bg, ring)
52
- - **Changed** Focus ring now on wrapper via `focus-within` (container-level ring, not input-level)
53
- - **Changed** Icons auto-sized via `IconProvider` context per input size
54
- - **Deprecated** `startIcon` / `endIcon` — use `startSection` / `endSection`
55
- - **Added** `startSectionType` / `endSectionType` props — `'icon'` (fixed-width centered cell) or `'label'` (tinted background with border separator). Auto-inferred from content type (strings → label, React elements → icon).
56
- - **Changed** Sections use flexbox layout for consistent alignment
57
- - **Deprecated** `inputVariants` export — use `inputWrapperVariants` (semantics changed to target wrapper)
58
-
59
- ### v0.15.0
60
- - **Changed** `lg` size font changed from `text-ds-lg` (18px) to `text-ds-md` (14px) — all input sizes now use 14px for consistency
61
- - **Changed** `md` size font standardized to `text-ds-md` (14px) from mixed values
62
-
63
- ### v0.12.0
64
- - **Changed** Softer resting border (`border-border-subtle` instead of `border-border`), subtler focus ring (`ring-1 ring-focus/50` instead of `ring-2 ring-focus`)
65
- - **Changed** Reverted split `pl-*/pr-*` size variants back to `px-*`; icon padding uses `pl-ds-07`/`pr-ds-07`
66
-
67
- ### v0.8.0
68
- - **Fixed** Now consumes FormField context automatically (`aria-describedby`, `aria-invalid`, `aria-required`)
69
-
70
- ### v0.4.2
71
- - **Added** `inputVariants` export
72
-
73
- ### v0.1.0
74
- - **Added** Initial release
1
+ # Input
2
+
3
+ - Import: @devalok/shilp-sutra/ui/input
4
+ - Server-safe: No
5
+ - Category: ui
6
+
7
+ ## Props
8
+ size: "xs" | "sm" | "md" | "lg"
9
+ state: InputState
10
+ startSection: ReactNode (icon or content in the leading slot)
11
+ endSection: ReactNode (icon or content in the trailing slot)
12
+ startSectionClickable: boolean (enables pointer events on start section)
13
+ endSectionClickable: boolean (enables pointer events on end section)
14
+ startSectionType: 'icon' | 'label' (section display type — auto-inferred from content)
15
+ endSectionType: 'icon' | 'label' (section display type — auto-inferred from content)
16
+ wrapperClassName: string (classes for the wrapper div — border, bg, ring)
17
+ startIcon: ReactNode (@deprecated — use startSection)
18
+ endIcon: ReactNode (@deprecated — use endSection)
19
+ (plus all standard HTML input attributes except native "size")
20
+
21
+ ## Types
22
+ InputState = 'default' | 'error' | 'warning' | 'success'
23
+
24
+ ## Defaults
25
+ size: "md"
26
+
27
+ ## Example
28
+ ```jsx
29
+ <Input type="email" placeholder="you@example.com" state="error" startSection={<Icon icon={IconMail} />} />
30
+ <Input size="xs" placeholder="Quick search" startSection={<Icon icon={IconSearch} />} />
31
+ <Input startSection="https://" startSectionType="label" placeholder="example.com" />
32
+ <Input endSection=".00" endSectionType="label" startSection={<Icon icon={IconCurrencyDollar} />} placeholder="0" />
33
+ ```
34
+
35
+ ## Gotchas
36
+ - HTML native "size" attribute is excluded — use CSS width instead
37
+ - state="error" sets aria-invalid automatically
38
+ - Inside FormField: auto-inherits state, aria-describedby, aria-required from context (explicit props override)
39
+ - `className` targets the `<input>` element; use `wrapperClassName` for border/bg/ring overrides
40
+ - Focus ring is on the wrapper container (focus-within), not the input itself
41
+ - Icons in startSection/endSection are auto-sized via IconProvider per input size
42
+ - Sections are `pointer-events-none` by default — set `startSectionClickable`/`endSectionClickable` for interactive sections
43
+ - Section type is auto-inferred: strings default to `'label'` (tinted bg + border), React elements default to `'icon'` (fixed-width centered). Override with `startSectionType`/`endSectionType`.
44
+
45
+ ## Changes
46
+ ### v0.29.0
47
+ - **Changed** v2 rewrite: container-first architecture with wrapper div holding focus ring
48
+ - **Added** `xs` size (28px height)
49
+ - **Added** `startSection` / `endSection` props replacing `startIcon` / `endIcon` (deprecated but still work)
50
+ - **Added** `startSectionClickable` / `endSectionClickable` props for interactive sections
51
+ - **Added** `wrapperClassName` prop for styling the wrapper div (border, bg, ring)
52
+ - **Changed** Focus ring now on wrapper via `focus-within` (container-level ring, not input-level)
53
+ - **Changed** Icons auto-sized via `IconProvider` context per input size
54
+ - **Deprecated** `startIcon` / `endIcon` — use `startSection` / `endSection`
55
+ - **Added** `startSectionType` / `endSectionType` props — `'icon'` (fixed-width centered cell) or `'label'` (tinted background with border separator). Auto-inferred from content type (strings → label, React elements → icon).
56
+ - **Changed** Sections use flexbox layout for consistent alignment
57
+ - **Deprecated** `inputVariants` export — use `inputWrapperVariants` (semantics changed to target wrapper)
58
+
59
+ ### v0.15.0
60
+ - **Changed** `lg` size font changed from `text-ds-lg` (18px) to `text-ds-md` (14px) — all input sizes now use 14px for consistency
61
+ - **Changed** `md` size font standardized to `text-ds-md` (14px) from mixed values
62
+
63
+ ### v0.12.0
64
+ - **Changed** Softer resting border (`border-border-subtle` instead of `border-border`), subtler focus ring (`ring-1 ring-focus/50` instead of `ring-2 ring-focus`)
65
+ - **Changed** Reverted split `pl-*/pr-*` size variants back to `px-*`; icon padding uses `pl-ds-07`/`pr-ds-07`
66
+
67
+ ### v0.8.0
68
+ - **Fixed** Now consumes FormField context automatically (`aria-describedby`, `aria-invalid`, `aria-required`)
69
+
70
+ ### v0.4.2
71
+ - **Added** `inputVariants` export
72
+
73
+ ### v0.1.0
74
+ - **Added** Initial release
@@ -1,25 +1,25 @@
1
- # Label
2
-
3
- - Import: @devalok/shilp-sutra/ui/label
4
- - Server-safe: No
5
- - Category: ui
6
-
7
- ## Props
8
- required: boolean (shows red asterisk)
9
- htmlFor: string
10
- (plus standard Radix Label props)
11
-
12
- ## Example
13
- ```jsx
14
- <Label htmlFor="email" required>Email Address</Label>
15
- ```
16
-
17
- ## Gotchas
18
- - Use with FormField for automatic aria wiring
19
-
20
- ## Changes
21
- ### v0.2.0
22
- - **Fixed** Children rendering verified and covered by tests — issue was caused by `@primitives` type leak, not a runtime bug
23
-
24
- ### v0.1.0
25
- - **Added** Initial release
1
+ # Label
2
+
3
+ - Import: @devalok/shilp-sutra/ui/label
4
+ - Server-safe: No
5
+ - Category: ui
6
+
7
+ ## Props
8
+ required: boolean (shows red asterisk)
9
+ htmlFor: string
10
+ (plus standard Radix Label props)
11
+
12
+ ## Example
13
+ ```jsx
14
+ <Label htmlFor="email" required>Email Address</Label>
15
+ ```
16
+
17
+ ## Gotchas
18
+ - Use with FormField for automatic aria wiring
19
+
20
+ ## Changes
21
+ ### v0.2.0
22
+ - **Fixed** Children rendering verified and covered by tests — issue was caused by `@primitives` type leak, not a runtime bug
23
+
24
+ ### v0.1.0
25
+ - **Added** Initial release
@@ -1,29 +1,29 @@
1
- # Link
2
-
3
- - Import: @devalok/shilp-sutra/ui/link
4
- - Server-safe: No
5
- - Category: ui
6
-
7
- ## Props
8
- inline: boolean (default: true — "inline" or "block" display)
9
- asChild: boolean (merge with child element, e.g. Next.js Link)
10
- (plus standard anchor attributes)
11
-
12
- ## Defaults
13
- inline: true
14
-
15
- ## Example
16
- ```jsx
17
- <Link href="/docs">Documentation</Link>
18
- <Link asChild><NextLink href="/about">About</NextLink></Link>
19
- ```
20
-
21
- ## Gotchas
22
- - Use asChild with framework-specific Link components (e.g. Next.js Link)
23
-
24
- ## Changes
25
- ### v0.18.0
26
- - **Fixed** Color tokens — `text-info-9` changed to `text-accent-11` (links are interactive = accent scale)
27
-
28
- ### v0.1.0
29
- - **Added** Initial release
1
+ # Link
2
+
3
+ - Import: @devalok/shilp-sutra/ui/link
4
+ - Server-safe: No
5
+ - Category: ui
6
+
7
+ ## Props
8
+ inline: boolean (default: true — "inline" or "block" display)
9
+ asChild: boolean (merge with child element, e.g. Next.js Link)
10
+ (plus standard anchor attributes)
11
+
12
+ ## Defaults
13
+ inline: true
14
+
15
+ ## Example
16
+ ```jsx
17
+ <Link href="/docs">Documentation</Link>
18
+ <Link asChild><NextLink href="/about">About</NextLink></Link>
19
+ ```
20
+
21
+ ## Gotchas
22
+ - Use asChild with framework-specific Link components (e.g. Next.js Link)
23
+
24
+ ## Changes
25
+ ### v0.18.0
26
+ - **Fixed** Color tokens — `text-info-9` changed to `text-accent-11` (links are interactive = accent scale)
27
+
28
+ ### v0.1.0
29
+ - **Added** Initial release