@devalok/shilp-sutra 0.54.0 → 0.55.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (365) hide show
  1. package/MIGRATION.md +28 -0
  2. package/dist/_chunks/badge-group.js +1 -1
  3. package/dist/_chunks/popover.js +38 -37
  4. package/dist/_chunks/popover.js.map +1 -1
  5. package/dist/_chunks/primitives/react-accordion.js +270 -0
  6. package/dist/_chunks/primitives/react-accordion.js.map +1 -0
  7. package/dist/_chunks/primitives/react-alert-dialog.js +857 -0
  8. package/dist/_chunks/primitives/react-alert-dialog.js.map +1 -0
  9. package/dist/_chunks/primitives/react-aspect-ratio.js +32 -0
  10. package/dist/_chunks/primitives/react-aspect-ratio.js.map +1 -0
  11. package/dist/_chunks/primitives/react-avatar.js +69 -0
  12. package/dist/_chunks/primitives/react-avatar.js.map +1 -0
  13. package/dist/_chunks/primitives/react-checkbox.js +151 -0
  14. package/dist/_chunks/primitives/react-checkbox.js.map +1 -0
  15. package/dist/_chunks/primitives/react-context-menu.js +905 -0
  16. package/dist/_chunks/primitives/react-context-menu.js.map +1 -0
  17. package/dist/_chunks/primitives/react-dropdown-menu.js +220 -0
  18. package/dist/_chunks/primitives/react-dropdown-menu.js.map +1 -0
  19. package/dist/_chunks/primitives/react-hover-card.js +153 -0
  20. package/dist/_chunks/primitives/react-hover-card.js.map +1 -0
  21. package/dist/_chunks/primitives/react-label.js +16 -0
  22. package/dist/_chunks/primitives/react-label.js.map +1 -0
  23. package/dist/_chunks/primitives/react-menubar.js +304 -0
  24. package/dist/_chunks/primitives/react-menubar.js.map +1 -0
  25. package/dist/_chunks/primitives/react-navigation-menu.js +560 -0
  26. package/dist/_chunks/primitives/react-navigation-menu.js.map +1 -0
  27. package/dist/_chunks/primitives/react-popover.js +186 -0
  28. package/dist/_chunks/primitives/react-popover.js.map +1 -0
  29. package/dist/_chunks/primitives/react-progress.js +70 -0
  30. package/dist/_chunks/primitives/react-progress.js.map +1 -0
  31. package/dist/_chunks/primitives/react-radio-group.js +170 -0
  32. package/dist/_chunks/primitives/react-radio-group.js.map +1 -0
  33. package/dist/_chunks/primitives/react-select.js +671 -0
  34. package/dist/_chunks/primitives/react-select.js.map +1 -0
  35. package/dist/_chunks/primitives/react-separator.js +24 -0
  36. package/dist/_chunks/primitives/react-separator.js.map +1 -0
  37. package/dist/_chunks/primitives/react-slider.js +349 -0
  38. package/dist/_chunks/primitives/react-slider.js.map +1 -0
  39. package/dist/_chunks/primitives/react-switch.js +92 -0
  40. package/dist/_chunks/primitives/react-switch.js.map +1 -0
  41. package/dist/_chunks/primitives/react-tabs.js +114 -0
  42. package/dist/_chunks/primitives/react-tabs.js.map +1 -0
  43. package/dist/_chunks/primitives/react-toggle-group.js +122 -0
  44. package/dist/_chunks/primitives/react-toggle-group.js.map +1 -0
  45. package/dist/_chunks/primitives/react-toggle.js +28 -0
  46. package/dist/_chunks/primitives/react-toggle.js.map +1 -0
  47. package/dist/_chunks/primitives/react-tooltip.js +341 -0
  48. package/dist/_chunks/primitives/react-tooltip.js.map +1 -0
  49. package/dist/_chunks/primitives-internal.js +2071 -0
  50. package/dist/_chunks/primitives-internal.js.map +1 -0
  51. package/dist/_chunks/shared.js +32 -32
  52. package/dist/_chunks/tiptap.js +1 -1
  53. package/dist/ai/ai-command-provider.d.ts +2 -3
  54. package/dist/ai/block-renderer.d.ts +1 -2
  55. package/dist/ai/blocks/block-shell.d.ts +0 -1
  56. package/dist/ai/blocks/block-table.d.ts +1 -2
  57. package/dist/ai/blocks/confirm.d.ts +1 -2
  58. package/dist/ai/blocks/divider.d.ts +1 -2
  59. package/dist/ai/blocks/error.d.ts +1 -2
  60. package/dist/ai/blocks/index.d.ts +7 -8
  61. package/dist/ai/blocks/info.d.ts +1 -2
  62. package/dist/ai/blocks/loading.d.ts +1 -2
  63. package/dist/ai/blocks/stat-row.d.ts +1 -2
  64. package/dist/ai/blocks/success.d.ts +1 -2
  65. package/dist/ai/blocks/text.d.ts +1 -2
  66. package/dist/ai/command-bar.d.ts +1 -2
  67. package/dist/ai/conversation.d.ts +2 -3
  68. package/dist/ai/devadoot-icon.d.ts +0 -1
  69. package/dist/ai/index.d.ts +16 -17
  70. package/dist/ai/types.js +1 -0
  71. package/dist/composed/activity-feed.d.ts +1 -2
  72. package/dist/composed/avatar-group.d.ts +1 -2
  73. package/dist/composed/bulk-action-bar.d.ts +2 -3
  74. package/dist/composed/command-palette.d.ts +1 -2
  75. package/dist/composed/confirm-dialog.d.ts +0 -1
  76. package/dist/composed/date-picker/calendar-grid.d.ts +0 -1
  77. package/dist/composed/date-picker/date-picker.d.ts +0 -1
  78. package/dist/composed/date-picker/date-range-picker.d.ts +1 -2
  79. package/dist/composed/date-picker/date-time-picker.d.ts +0 -1
  80. package/dist/composed/date-picker/index.d.ts +17 -18
  81. package/dist/composed/date-picker/month-picker.d.ts +0 -1
  82. package/dist/composed/date-picker/presets.d.ts +0 -1
  83. package/dist/composed/date-picker/time-picker.d.ts +0 -1
  84. package/dist/composed/date-picker/use-calendar.d.ts +0 -1
  85. package/dist/composed/date-picker/year-picker.d.ts +0 -1
  86. package/dist/composed/deadline-indicator.d.ts +0 -1
  87. package/dist/composed/diff.d.ts +0 -1
  88. package/dist/composed/emoji-picker.d.ts +0 -1
  89. package/dist/composed/empty-state.d.ts +1 -2
  90. package/dist/composed/error-boundary.d.ts +0 -1
  91. package/dist/composed/extensions/emoji-data.d.ts +0 -1
  92. package/dist/composed/extensions/emoji-node.d.ts +0 -1
  93. package/dist/composed/extensions/emoji-suggestion.d.ts +1 -2
  94. package/dist/composed/extensions/file-attachment.d.ts +0 -1
  95. package/dist/composed/extensions/mention-suggestion.d.ts +1 -2
  96. package/dist/composed/extensions/slash-command.d.ts +0 -1
  97. package/dist/composed/file-preview/audio-preview.d.ts +0 -1
  98. package/dist/composed/file-preview/document-preview.d.ts +0 -1
  99. package/dist/composed/file-preview/embed-preview.d.ts +0 -1
  100. package/dist/composed/file-preview/image-preview.d.ts +0 -1
  101. package/dist/composed/file-preview/shared.d.ts +0 -1
  102. package/dist/composed/file-preview/video-preview.d.ts +0 -1
  103. package/dist/composed/file-preview.d.ts +0 -1
  104. package/dist/composed/filter-bar.d.ts +0 -1
  105. package/dist/composed/form-section.d.ts +0 -1
  106. package/dist/composed/global-loading.d.ts +0 -1
  107. package/dist/composed/index.d.ts +49 -50
  108. package/dist/composed/inline-edit.d.ts +0 -1
  109. package/dist/composed/markdown-viewer.d.ts +0 -1
  110. package/dist/composed/master-detail.d.ts +0 -1
  111. package/dist/composed/member-picker.d.ts +0 -1
  112. package/dist/composed/multi-select-popover.d.ts +0 -1
  113. package/dist/composed/priority-indicator.d.ts +0 -1
  114. package/dist/composed/responsive-modal.d.ts +1 -2
  115. package/dist/composed/responsive-modal.js +47 -47
  116. package/dist/composed/rich-chat-input/attachment-strip.d.ts +0 -1
  117. package/dist/composed/rich-chat-input/audio-player.d.ts +0 -1
  118. package/dist/composed/rich-chat-input/audio-waveform.d.ts +0 -1
  119. package/dist/composed/rich-chat-input/chat-toolbar.d.ts +0 -1
  120. package/dist/composed/rich-chat-input/recording-overlay.d.ts +0 -1
  121. package/dist/composed/rich-chat-input/reply-banner.d.ts +0 -1
  122. package/dist/composed/rich-chat-input/schedule-send.d.ts +0 -1
  123. package/dist/composed/rich-chat-input/use-voice-recorder.d.ts +0 -1
  124. package/dist/composed/rich-chat-input.d.ts +9 -10
  125. package/dist/composed/rich-chat-input.js +1 -1
  126. package/dist/composed/rich-text-editor.d.ts +1 -2
  127. package/dist/composed/schedule-view.d.ts +0 -1
  128. package/dist/composed/simple-tooltip.d.ts +0 -1
  129. package/dist/composed/status-badge.d.ts +1 -2
  130. package/dist/hooks/index.d.ts +6 -7
  131. package/dist/hooks/use-color-mode.d.ts +0 -1
  132. package/dist/hooks/use-mobile.d.ts +0 -1
  133. package/dist/hooks/use-touch-device.d.ts +0 -1
  134. package/dist/hooks/use-viewport-height.d.ts +0 -1
  135. package/dist/motion/check-motion-provider.d.ts +0 -1
  136. package/dist/motion/index.d.ts +2 -3
  137. package/dist/motion/motion-provider.d.ts +1 -2
  138. package/dist/motion/primitives-index.d.ts +1 -2
  139. package/dist/motion/primitives.d.ts +1 -2
  140. package/dist/primitives/_internal/react-arrow.d.ts +1 -1
  141. package/dist/primitives/_internal/react-collection.d.ts +2 -2
  142. package/dist/primitives/_internal/react-dismissable-layer.d.ts +1 -1
  143. package/dist/primitives/_internal/react-focus-scope.d.ts +1 -1
  144. package/dist/primitives/_internal/react-popper.d.ts +4 -4
  145. package/dist/primitives/_internal/react-portal.d.ts +1 -1
  146. package/dist/primitives/_internal/react-use-rect.d.ts +1 -1
  147. package/dist/primitives/react-accordion.d.ts +3 -3
  148. package/dist/primitives/react-alert-dialog.d.ts +2 -2
  149. package/dist/primitives/react-aspect-ratio.d.ts +1 -1
  150. package/dist/primitives/react-avatar.d.ts +2 -2
  151. package/dist/primitives/react-checkbox.d.ts +3 -3
  152. package/dist/primitives/react-collapsible.d.ts +2 -2
  153. package/dist/primitives/react-context-menu.d.ts +3 -3
  154. package/dist/primitives/react-dialog.d.ts +5 -5
  155. package/dist/primitives/react-dropdown-menu.d.ts +3 -3
  156. package/dist/primitives/react-hover-card.d.ts +5 -5
  157. package/dist/primitives/react-label.d.ts +1 -1
  158. package/dist/primitives/react-menu.d.ts +7 -7
  159. package/dist/primitives/react-menubar.d.ts +5 -5
  160. package/dist/primitives/react-navigation-menu.d.ts +5 -5
  161. package/dist/primitives/react-popover.d.ts +6 -6
  162. package/dist/primitives/react-progress.d.ts +2 -2
  163. package/dist/primitives/react-radio-group.d.ts +3 -3
  164. package/dist/primitives/react-roving-focus.d.ts +2 -2
  165. package/dist/primitives/react-select.d.ts +6 -6
  166. package/dist/primitives/react-separator.d.ts +1 -1
  167. package/dist/primitives/react-slider.d.ts +2 -2
  168. package/dist/primitives/react-switch.d.ts +2 -2
  169. package/dist/primitives/react-tabs.d.ts +3 -3
  170. package/dist/primitives/react-toast.d.ts +3 -3
  171. package/dist/primitives/react-toggle-group.d.ts +4 -4
  172. package/dist/primitives/react-toggle.d.ts +1 -1
  173. package/dist/primitives/react-tooltip.d.ts +5 -5
  174. package/dist/primitives/react-visually-hidden.d.ts +1 -1
  175. package/dist/shell/app-command-palette.d.ts +2 -3
  176. package/dist/shell/bottom-navbar.d.ts +1 -2
  177. package/dist/shell/command-registry.d.ts +1 -2
  178. package/dist/shell/index.d.ts +7 -8
  179. package/dist/shell/link-context.d.ts +2 -3
  180. package/dist/shell/notification-center.d.ts +0 -1
  181. package/dist/shell/notification-preferences.d.ts +0 -1
  182. package/dist/shell/top-bar.d.ts +1 -2
  183. package/dist/test-utils/conformance.d.ts +0 -1
  184. package/dist/tokens/primitives.css +6 -1
  185. package/dist/tokens/semantic.css +1 -1
  186. package/dist/ui/accordion.d.ts +1 -2
  187. package/dist/ui/accordion.js +1 -1
  188. package/dist/ui/alert-dialog.d.ts +1 -2
  189. package/dist/ui/alert-dialog.js +52 -52
  190. package/dist/ui/alert.d.ts +0 -1
  191. package/dist/ui/aspect-ratio.d.ts +1 -2
  192. package/dist/ui/aspect-ratio.js +4 -4
  193. package/dist/ui/autocomplete.d.ts +1 -2
  194. package/dist/ui/autocomplete.js +1 -1
  195. package/dist/ui/avatar.d.ts +1 -2
  196. package/dist/ui/avatar.js +33 -33
  197. package/dist/ui/badge-group.d.ts +1 -2
  198. package/dist/ui/badge-indicator.d.ts +0 -1
  199. package/dist/ui/badge.d.ts +3 -4
  200. package/dist/ui/banner.d.ts +0 -1
  201. package/dist/ui/breadcrumb.js +1 -1
  202. package/dist/ui/button-group.d.ts +1 -2
  203. package/dist/ui/button-processing.d.ts +0 -1
  204. package/dist/ui/button.d.ts +1 -2
  205. package/dist/ui/button.js +1 -1
  206. package/dist/ui/card.d.ts +0 -1
  207. package/dist/ui/charts/_internal/animation.d.ts +0 -1
  208. package/dist/ui/charts/_internal/axes.d.ts +0 -1
  209. package/dist/ui/charts/_internal/colors.d.ts +1 -2
  210. package/dist/ui/charts/_internal/grid-lines.d.ts +0 -1
  211. package/dist/ui/charts/_internal/legend.d.ts +0 -1
  212. package/dist/ui/charts/_internal/scales.d.ts +0 -1
  213. package/dist/ui/charts/_internal/tooltip.d.ts +0 -1
  214. package/dist/ui/charts/_internal/types.d.ts +0 -1
  215. package/dist/ui/charts/area-chart.d.ts +1 -2
  216. package/dist/ui/charts/bar-chart.d.ts +1 -2
  217. package/dist/ui/charts/chart-container.d.ts +1 -2
  218. package/dist/ui/charts/gauge-chart.d.ts +0 -1
  219. package/dist/ui/charts/index.d.ts +9 -10
  220. package/dist/ui/charts/line-chart.d.ts +1 -2
  221. package/dist/ui/charts/pie-chart.d.ts +0 -1
  222. package/dist/ui/charts/radar-chart.d.ts +0 -1
  223. package/dist/ui/charts/sparkline.d.ts +0 -1
  224. package/dist/ui/chat/date-separator.d.ts +0 -1
  225. package/dist/ui/chat/index.d.ts +7 -8
  226. package/dist/ui/chat/message-input.d.ts +0 -1
  227. package/dist/ui/chat/message-list.d.ts +0 -1
  228. package/dist/ui/chat/message.d.ts +1 -2
  229. package/dist/ui/chat/system-message.d.ts +1 -2
  230. package/dist/ui/chat/typing-indicator.d.ts +0 -1
  231. package/dist/ui/chat/unread-separator.d.ts +0 -1
  232. package/dist/ui/checkbox.d.ts +2 -3
  233. package/dist/ui/checkbox.d.ts.map +1 -1
  234. package/dist/ui/checkbox.js +14 -13
  235. package/dist/ui/checkbox.js.map +1 -1
  236. package/dist/ui/collapsible.d.ts +1 -2
  237. package/dist/ui/collapsible.js +1 -1
  238. package/dist/ui/color-input.d.ts +0 -1
  239. package/dist/ui/color-swatch.d.ts +0 -1
  240. package/dist/ui/combobox.d.ts +2 -3
  241. package/dist/ui/combobox.js +125 -125
  242. package/dist/ui/combobox.js.map +1 -1
  243. package/dist/ui/context-menu.d.ts +1 -2
  244. package/dist/ui/context-menu.js +58 -58
  245. package/dist/ui/data-table-body.d.ts +0 -1
  246. package/dist/ui/data-table-bulk-actions.d.ts +0 -1
  247. package/dist/ui/data-table-card.d.ts +0 -1
  248. package/dist/ui/data-table-context.d.ts +0 -1
  249. package/dist/ui/data-table-header.d.ts +0 -1
  250. package/dist/ui/data-table-pagination.d.ts +0 -1
  251. package/dist/ui/data-table-toolbar.d.ts +0 -1
  252. package/dist/ui/data-table.d.ts +3 -4
  253. package/dist/ui/devalok-grain.d.ts +0 -1
  254. package/dist/ui/dialog.d.ts +1 -2
  255. package/dist/ui/dialog.js +43 -43
  256. package/dist/ui/dot.d.ts +0 -1
  257. package/dist/ui/dropdown-menu.d.ts +1 -2
  258. package/dist/ui/dropdown-menu.js +69 -69
  259. package/dist/ui/file-upload.d.ts +0 -1
  260. package/dist/ui/form.d.ts +0 -1
  261. package/dist/ui/hover-card.d.ts +1 -2
  262. package/dist/ui/hover-card.js +16 -16
  263. package/dist/ui/icon-button.d.ts +2 -3
  264. package/dist/ui/icon-context.d.ts +0 -1
  265. package/dist/ui/icon-group.d.ts +1 -2
  266. package/dist/ui/icon.d.ts +1 -2
  267. package/dist/ui/index.d.ts +78 -79
  268. package/dist/ui/index.d.ts.map +1 -1
  269. package/dist/ui/index.js.map +1 -1
  270. package/dist/ui/input-otp.d.ts +0 -1
  271. package/dist/ui/input.d.ts +1 -2
  272. package/dist/ui/label.d.ts +1 -2
  273. package/dist/ui/label.js +7 -7
  274. package/dist/ui/lib/bottom-sheet.d.ts +0 -1
  275. package/dist/ui/lib/check-tokens.d.ts +0 -1
  276. package/dist/ui/lib/field-state.d.ts +0 -1
  277. package/dist/ui/lib/icon-input.d.ts +0 -1
  278. package/dist/ui/lib/index.d.ts +6 -7
  279. package/dist/ui/lib/keybinding.d.ts +0 -1
  280. package/dist/ui/lib/link-context.d.ts +0 -1
  281. package/dist/ui/lib/mention.d.ts +0 -1
  282. package/dist/ui/lib/normalize-icon.d.ts +2 -2
  283. package/dist/ui/lib/slot.d.ts +2 -3
  284. package/dist/ui/lib/use-controllable-open.d.ts +0 -1
  285. package/dist/ui/link.d.ts +0 -1
  286. package/dist/ui/link.js +1 -1
  287. package/dist/ui/menubar.d.ts +1 -2
  288. package/dist/ui/menubar.js +64 -64
  289. package/dist/ui/navigation-menu.d.ts +1 -2
  290. package/dist/ui/navigation-menu.js +67 -67
  291. package/dist/ui/number-input.d.ts +1 -2
  292. package/dist/ui/oauth-button/index.d.ts +1 -2
  293. package/dist/ui/oauth-button/oauth-button.d.ts +2 -3
  294. package/dist/ui/pagination.d.ts +0 -1
  295. package/dist/ui/pagination.js +1 -1
  296. package/dist/ui/popover.d.ts +1 -2
  297. package/dist/ui/progress-ring.d.ts +0 -1
  298. package/dist/ui/progress.d.ts +1 -2
  299. package/dist/ui/progress.js +30 -30
  300. package/dist/ui/radio.d.ts +2 -3
  301. package/dist/ui/radio.js +18 -18
  302. package/dist/ui/search-input.d.ts +0 -1
  303. package/dist/ui/segmented-control.d.ts +1 -2
  304. package/dist/ui/select.d.ts +1 -2
  305. package/dist/ui/select.js +55 -55
  306. package/dist/ui/separator.d.ts +1 -2
  307. package/dist/ui/separator.js +5 -5
  308. package/dist/ui/sheet.d.ts +1 -2
  309. package/dist/ui/sheet.js +45 -45
  310. package/dist/ui/sidebar.d.ts +4 -5
  311. package/dist/ui/sidebar.js +1 -1
  312. package/dist/ui/slider.d.ts +1 -2
  313. package/dist/ui/slider.d.ts.map +1 -1
  314. package/dist/ui/slider.js +15 -14
  315. package/dist/ui/slider.js.map +1 -1
  316. package/dist/ui/spinner.d.ts +0 -1
  317. package/dist/ui/split-button.d.ts +14 -4
  318. package/dist/ui/split-button.d.ts.map +1 -1
  319. package/dist/ui/split-button.js.map +1 -1
  320. package/dist/ui/stat-card.d.ts +3 -4
  321. package/dist/ui/stat-flash.d.ts +1 -2
  322. package/dist/ui/stepper.d.ts +1 -2
  323. package/dist/ui/surface.js +1 -1
  324. package/dist/ui/switch.d.ts +2 -3
  325. package/dist/ui/switch.d.ts.map +1 -1
  326. package/dist/ui/switch.js +13 -12
  327. package/dist/ui/switch.js.map +1 -1
  328. package/dist/ui/table-row-link.d.ts +0 -1
  329. package/dist/ui/tabs.d.ts +1 -2
  330. package/dist/ui/tabs.js +35 -35
  331. package/dist/ui/textarea.d.ts +1 -2
  332. package/dist/ui/toast-registry.d.ts +0 -1
  333. package/dist/ui/toast-types.js +1 -0
  334. package/dist/ui/toast.d.ts +2 -3
  335. package/dist/ui/toaster.d.ts +0 -1
  336. package/dist/ui/toggle-group.d.ts +2 -3
  337. package/dist/ui/toggle-group.js +14 -14
  338. package/dist/ui/toggle.d.ts +1 -2
  339. package/dist/ui/toggle.js +12 -12
  340. package/dist/ui/tooltip.d.ts +1 -2
  341. package/dist/ui/tooltip.js +21 -21
  342. package/dist/ui/tree-view/index.d.ts +3 -4
  343. package/dist/ui/tree-view/tree-item.d.ts +1 -2
  344. package/dist/ui/tree-view/tree-view.d.ts +1 -2
  345. package/dist/ui/tree-view/use-tree.d.ts +1 -2
  346. package/dist/ui/truncated-text.d.ts +0 -1
  347. package/docs/recipes/install-astro.md +2 -0
  348. package/docs/recipes/install-next-app-router.md +2 -0
  349. package/docs/recipes/install-remix.md +2 -0
  350. package/docs/recipes/install-tanstack-start.md +2 -0
  351. package/docs/recipes/install-vite.md +2 -0
  352. package/docs/recipes/troubleshoot.md +80 -0
  353. package/llms.txt +1 -1
  354. package/mcp-manifest.json +9 -1
  355. package/package.json +31 -5
  356. package/skill/SKILL.md +1 -1
  357. package/skill/references/components.md +1 -1
  358. package/skill/references/setup-astro.md +2 -0
  359. package/skill/references/setup-next-app-router.md +2 -0
  360. package/skill/references/setup-remix.md +2 -0
  361. package/skill/references/setup-tanstack-start.md +2 -0
  362. package/skill/references/setup-vite.md +2 -0
  363. package/skill/references/troubleshoot.md +80 -0
  364. package/dist/_chunks/primitives.js +0 -7596
  365. package/dist/_chunks/primitives.js.map +0 -1
@@ -1,5 +1,4 @@
1
- "use client";
2
- import { IconInput } from '../lib/icon-input';
1
+ import { IconInput } from '../lib/icon-input.js';
3
2
  import * as React from 'react';
4
3
  export interface SystemMessageProps extends React.HTMLAttributes<HTMLDivElement> {
5
4
  icon?: IconInput;
@@ -1,4 +1,3 @@
1
- "use client";
2
1
  import * as React from 'react';
3
2
  export interface TypingIndicatorProps {
4
3
  users: {
@@ -1,4 +1,3 @@
1
- "use client";
2
1
  import * as React from 'react';
3
2
  export interface UnreadSeparatorProps {
4
3
  label?: string;
@@ -1,6 +1,5 @@
1
- "use client";
2
- import { FieldState } from './lib/field-state';
3
- import * as CheckboxPrimitive from '../primitives/react-checkbox';
1
+ import { FieldState } from './lib/field-state.js';
2
+ import * as CheckboxPrimitive from '../primitives/react-checkbox.js';
4
3
  import * as React from 'react';
5
4
  /**
6
5
  * Props for Checkbox — a Radix-powered accessible checkbox with error state styling and
@@ -1 +1 @@
1
- {"version":3,"file":"checkbox.d.ts","sourceRoot":"","sources":["../../src/ui/checkbox.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,iBAAiB,MAAM,4BAA4B,CAAA;AAE/D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B,OAAO,EAAE,KAAK,UAAU,EAAqB,MAAM,mBAAmB,CAAA;AAWtE;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,WAAW,aAAc,SAAQ,KAAK,CAAC,wBAAwB,CAAC,OAAO,iBAAiB,CAAC,IAAI,CAAC;IAClG,8GAA8G;IAC9G,KAAK,CAAC,EAAE,UAAU,CAAA;IAClB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,qFAAqF;IACrF,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;CAC1B;AAcD,QAAA,MAAM,QAAQ,yFAuGZ,CAAA;AAGF,OAAO,EAAE,QAAQ,EAAE,CAAA"}
1
+ {"version":3,"file":"checkbox.d.ts","sourceRoot":"","sources":["../../src/ui/checkbox.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,iBAAiB,MAAM,4BAA4B,CAAA;AAE/D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B,OAAO,EAAE,KAAK,UAAU,EAAqB,MAAM,mBAAmB,CAAA;AAWtE;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,WAAW,aAAc,SAAQ,KAAK,CAAC,wBAAwB,CAAC,OAAO,iBAAiB,CAAC,IAAI,CAAC;IAClG,8GAA8G;IAC9G,KAAK,CAAC,EAAE,UAAU,CAAA;IAClB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,qFAAqF;IACrF,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;CAC1B;AAcD,QAAA,MAAM,QAAQ,yFA4GZ,CAAA;AAGF,OAAO,EAAE,QAAQ,EAAE,CAAA"}
@@ -1,9 +1,9 @@
1
1
  "use client";
2
- import { Checkbox as e, CheckboxIndicator as t } from "../_chunks/primitives.js";
3
- import { durations as n } from "./lib/motion.js";
4
- import { cn as r } from "./lib/utils.js";
5
- import { useFormField as i } from "./form.js";
6
- import { resolveFieldState as a } from "../_chunks/field-state.js";
2
+ import { durations as e } from "./lib/motion.js";
3
+ import { cn as t } from "./lib/utils.js";
4
+ import { useFormField as n } from "./form.js";
5
+ import { resolveFieldState as r } from "../_chunks/field-state.js";
6
+ import { Checkbox as i, CheckboxIndicator as a } from "../_chunks/primitives/react-checkbox.js";
7
7
  import * as o from "react";
8
8
  import { jsx as s } from "react/jsx-runtime";
9
9
  import { AnimatePresence as c, motion as l } from "framer-motion";
@@ -21,20 +21,21 @@ var u = {
21
21
  md: "h-[18px] w-[18px]",
22
22
  lg: "h-5 w-5"
23
23
  }, p = o.forwardRef(({ className: p, state: m, indeterminate: h, size: g = "md", checked: _, onCheckedChange: v, defaultChecked: y, ...b }, x) => {
24
- let S = _ !== void 0, [C, w] = o.useState(h ? "indeterminate" : !!y), T = i(), E = a(m, T.state), D = b["aria-describedby"] ?? T.helperTextId, O = b["aria-required"] ?? T.required, k = h ? "indeterminate" : S ? _ : C, A = k === !0 || k === "indeterminate", j = o.useCallback((e) => {
24
+ let S = _ !== void 0, [C, w] = o.useState(h ? "indeterminate" : !!y), T = n(), E = r(m, T.state), D = b["aria-describedby"] ?? T.helperTextId, O = b["aria-required"] ?? T.required, k = h ? "indeterminate" : S ? _ : C, A = k === !0 || k === "indeterminate", j = o.useCallback((e) => {
25
25
  S || w(e), v?.(e);
26
26
  }, [S, v]);
27
- return /* @__PURE__ */ s(e, {
27
+ return /* @__PURE__ */ s(i, {
28
28
  ref: x,
29
29
  checked: S || h ? k : void 0,
30
30
  defaultChecked: !S && !h ? y : void 0,
31
31
  onCheckedChange: j,
32
- className: r("touch-target peer flex items-center justify-center shrink-0 rounded-control-inner", d[g], "border border-surface-border-strong", "bg-surface-raised-hover", "transition-colors duration-fast-01 ease-productive-standard", "focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-accent-9 focus-visible:ring-offset-2", "disabled:cursor-not-allowed disabled:opacity-action-disabled", "data-[state=unchecked]:hover:border-accent-7 data-[state=unchecked]:hover:bg-surface-raised-active", "data-[state=checked]:bg-accent-9 data-[state=checked]:border-accent-7 data-[state=checked]:text-accent-fg", "data-[state=indeterminate]:bg-accent-9 data-[state=indeterminate]:border-accent-7 data-[state=indeterminate]:text-accent-fg", E && u[E], p),
32
+ className: t("touch-target peer flex items-center justify-center shrink-0 rounded-control-inner", d[g], "border border-surface-border-strong", "bg-surface-raised-hover", "transition-colors duration-fast-01 ease-productive-standard", "focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-accent-9 focus-visible:ring-offset-2", "disabled:cursor-not-allowed disabled:opacity-action-disabled", "data-[state=unchecked]:hover:border-accent-7 data-[state=unchecked]:hover:bg-surface-raised-active", "data-[state=checked]:bg-accent-9 data-[state=checked]:border-accent-7 data-[state=checked]:text-accent-fg", "data-[state=indeterminate]:bg-accent-9 data-[state=indeterminate]:border-accent-7 data-[state=indeterminate]:text-accent-fg", E && u[E], p),
33
33
  "aria-invalid": E === "error" || void 0,
34
34
  "aria-describedby": D,
35
35
  "aria-required": O || void 0,
36
36
  ...b,
37
- children: /* @__PURE__ */ s(c, { children: A && /* @__PURE__ */ s(t, {
37
+ id: b.id ?? T.inputId,
38
+ children: /* @__PURE__ */ s(c, { children: A && /* @__PURE__ */ s(a, {
38
39
  forceMount: !0,
39
40
  asChild: !0,
40
41
  children: /* @__PURE__ */ s(l.span, {
@@ -42,7 +43,7 @@ var u = {
42
43
  initial: { opacity: 0 },
43
44
  animate: { opacity: 1 },
44
45
  exit: { opacity: 0 },
45
- transition: { duration: n.fast01 },
46
+ transition: { duration: e.fast01 },
46
47
  children: /* @__PURE__ */ s("svg", {
47
48
  width: "16",
48
49
  height: "16",
@@ -61,7 +62,7 @@ var u = {
61
62
  animate: { pathLength: 1 },
62
63
  exit: { pathLength: 0 },
63
64
  transition: {
64
- duration: n.moderate02,
65
+ duration: e.moderate02,
65
66
  ease: "easeOut"
66
67
  }
67
68
  }) : /* @__PURE__ */ s(l.path, {
@@ -75,7 +76,7 @@ var u = {
75
76
  animate: { pathLength: 1 },
76
77
  exit: { pathLength: 0 },
77
78
  transition: {
78
- duration: n.moderate02,
79
+ duration: e.moderate02,
79
80
  ease: "easeOut"
80
81
  }
81
82
  })
@@ -84,6 +85,6 @@ var u = {
84
85
  }) })
85
86
  });
86
87
  });
87
- p.displayName = e.displayName;
88
+ p.displayName = i.displayName;
88
89
  //#endregion
89
90
  export { p as Checkbox };
@@ -1 +1 @@
1
- {"version":3,"file":"checkbox.js","names":[],"sources":["../../src/ui/checkbox.tsx"],"sourcesContent":["'use client'\n\nimport * as CheckboxPrimitive from '@primitives/react-checkbox'\nimport { AnimatePresence, motion } from 'framer-motion'\nimport * as React from 'react'\n\nimport { useFormField } from './form'\nimport { type FieldState, resolveFieldState } from './lib/field-state'\nimport { durations } from './lib/motion'\nimport { cn } from './lib/utils'\n\n/** Border + background tint per validation state (checked state uses accent regardless). */\nconst stateTintClasses: Record<Exclude<FieldState, 'default'>, string> = {\n error: 'border-error-7 bg-error-3',\n warning: 'border-warning-7 bg-warning-3',\n success: 'border-success-7 bg-success-3',\n}\n\n/**\n * Props for Checkbox — a Radix-powered accessible checkbox with error state styling and\n * an indeterminate state for \"select all\" row controls.\n *\n * **Indeterminate:** Pass `indeterminate={true}` to show the \"−\" dash (overrides `checked`).\n * This is correct for \"select all\" headers when only some rows are selected.\n *\n * **Controlled:** Use `checked` + `onCheckedChange` for controlled usage.\n * `onCheckedChange` receives `true | false | 'indeterminate'` from Radix.\n *\n * @example\n * // Basic controlled checkbox:\n * <Checkbox checked={agreed} onCheckedChange={(v) => setAgreed(v === true)} />\n *\n * @example\n * // Error state when required checkbox is not checked:\n * <Checkbox state={!termsAccepted ? 'error' : 'default'} checked={termsAccepted} onCheckedChange={(v) => setTerms(v === true)} />\n *\n * @example\n * // \"Select all\" checkbox with indeterminate state:\n * <Checkbox\n * indeterminate={someSelected && !allSelected}\n * checked={allSelected}\n * onCheckedChange={(v) => toggleAll(v === true)}\n * />\n * // These are just a few ways — feel free to combine props creatively!\n */\nexport interface CheckboxProps extends React.ComponentPropsWithoutRef<typeof CheckboxPrimitive.Root> {\n /** Validation/feedback state. `'error'` also sets `aria-invalid`. Inherited from `FormField` when omitted. */\n state?: FieldState\n indeterminate?: boolean\n /** Control size — `sm` (20px), `md` (24px, default, WCAG compliant), `lg` (28px). */\n size?: 'sm' | 'md' | 'lg'\n}\n\nconst checkboxSizeClasses = {\n sm: 'h-5 w-5',\n md: 'h-6 w-6',\n lg: 'h-7 w-7',\n} as const\n\nconst checkboxIconClasses = {\n sm: 'h-[14px] w-[14px]',\n md: 'h-[18px] w-[18px]',\n lg: 'h-5 w-5',\n} as const\n\nconst Checkbox = React.forwardRef<\n React.ElementRef<typeof CheckboxPrimitive.Root>,\n CheckboxProps\n>(({ className, state: stateProp, indeterminate, size = 'md', checked, onCheckedChange, defaultChecked, ...props }, ref) => {\n // Track internal state so AnimatePresence works for both controlled & uncontrolled usage\n const isControlled = checked !== undefined\n const [internalChecked, setInternalChecked] = React.useState<boolean | 'indeterminate'>(\n indeterminate ? 'indeterminate' : (defaultChecked ? true : false),\n )\n\n const fieldCtx = useFormField()\n const state = resolveFieldState(stateProp, fieldCtx.state)\n const ariaDescribedBy = props['aria-describedby'] ?? fieldCtx.helperTextId\n const ariaRequired = props['aria-required'] ?? fieldCtx.required\n\n const actualChecked = indeterminate ? 'indeterminate' : (isControlled ? checked : internalChecked)\n const isActive = actualChecked === true || actualChecked === 'indeterminate'\n\n const handleCheckedChange = React.useCallback(\n (value: boolean | 'indeterminate') => {\n if (!isControlled) setInternalChecked(value)\n onCheckedChange?.(value)\n },\n [isControlled, onCheckedChange],\n )\n\n return (\n <CheckboxPrimitive.Root\n ref={ref}\n checked={isControlled || indeterminate ? actualChecked : undefined}\n defaultChecked={!isControlled && !indeterminate ? defaultChecked : undefined}\n onCheckedChange={handleCheckedChange}\n className={cn(\n 'touch-target peer flex items-center justify-center shrink-0 rounded-control-inner',\n checkboxSizeClasses[size],\n 'border border-surface-border-strong',\n 'bg-surface-raised-hover',\n 'transition-colors duration-fast-01 ease-productive-standard',\n 'focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-accent-9 focus-visible:ring-offset-2',\n 'disabled:cursor-not-allowed disabled:opacity-action-disabled',\n 'data-[state=unchecked]:hover:border-accent-7 data-[state=unchecked]:hover:bg-surface-raised-active',\n 'data-[state=checked]:bg-accent-9 data-[state=checked]:border-accent-7 data-[state=checked]:text-accent-fg',\n 'data-[state=indeterminate]:bg-accent-9 data-[state=indeterminate]:border-accent-7 data-[state=indeterminate]:text-accent-fg',\n state && stateTintClasses[state],\n className,\n )}\n aria-invalid={state === 'error' || undefined}\n aria-describedby={ariaDescribedBy}\n aria-required={ariaRequired || undefined}\n {...props}\n >\n <AnimatePresence>\n {isActive && (\n <CheckboxPrimitive.Indicator forceMount asChild>\n <motion.span\n className=\"flex items-center justify-center text-current\"\n initial={{ opacity: 0 }}\n animate={{ opacity: 1 }}\n exit={{ opacity: 0 }}\n transition={{ duration: durations.fast01 }}\n >\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n className={checkboxIconClasses[size]}\n >\n {actualChecked === 'indeterminate' ? (\n <motion.line\n x1=\"4\"\n y1=\"8\"\n x2=\"12\"\n y2=\"8\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n initial={{ pathLength: 0 }}\n animate={{ pathLength: 1 }}\n exit={{ pathLength: 0 }}\n transition={{ duration: durations.moderate02, ease: 'easeOut' }}\n />\n ) : (\n <motion.path\n d=\"M3.5 8.5l3 3 6-6\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n fill=\"none\"\n initial={{ pathLength: 0 }}\n animate={{ pathLength: 1 }}\n exit={{ pathLength: 0 }}\n transition={{ duration: durations.moderate02, ease: 'easeOut' }}\n />\n )}\n </svg>\n </motion.span>\n </CheckboxPrimitive.Indicator>\n )}\n </AnimatePresence>\n </CheckboxPrimitive.Root>\n )\n})\nCheckbox.displayName = CheckboxPrimitive.Root.displayName\n\nexport { Checkbox }\n"],"mappings":";;;;;;;;;;AAYA,IAAM,IAAmE;CACvE,OAAO;CACP,SAAS;CACT,SAAS;AACX,GAqCM,IAAsB;CAC1B,IAAI;CACJ,IAAI;CACJ,IAAI;AACN,GAEM,IAAsB;CAC1B,IAAI;CACJ,IAAI;CACJ,IAAI;AACN,GAEM,IAAW,EAAM,YAGpB,EAAE,cAAW,OAAO,GAAW,kBAAe,UAAO,MAAM,YAAS,oBAAiB,mBAAgB,GAAG,KAAS,MAAQ;CAE1H,IAAM,IAAe,MAAY,KAAA,GAC3B,CAAC,GAAiB,KAAsB,EAAM,SAClD,IAAgB,kBAAmB,GACrC,GAEM,IAAW,EAAa,GACxB,IAAQ,EAAkB,GAAW,EAAS,KAAK,GACnD,IAAkB,EAAM,uBAAuB,EAAS,cACxD,IAAe,EAAM,oBAAoB,EAAS,UAElD,IAAgB,IAAgB,kBAAmB,IAAe,IAAU,GAC5E,IAAW,MAAkB,MAAQ,MAAkB,iBAEvD,IAAsB,EAAM,aAC/B,MAAqC;EAEpC,AADK,KAAc,EAAmB,CAAK,GAC3C,IAAkB,CAAK;CACzB,GACA,CAAC,GAAc,CAAe,CAChC;CAEA,OACE,kBAAC,GAAD;EACO;EACL,SAAS,KAAgB,IAAgB,IAAgB,KAAA;EACzD,gBAAgB,CAAC,KAAgB,CAAC,IAAgB,IAAiB,KAAA;EACnE,iBAAiB;EACjB,WAAW,EACT,qFACA,EAAoB,IACpB,uCACA,2BACA,+DACA,6GACA,gEACA,sGACA,6GACA,+HACA,KAAS,EAAiB,IAC1B,CACF;EACA,gBAAc,MAAU,WAAW,KAAA;EACnC,oBAAkB;EAClB,iBAAe,KAAgB,KAAA;EAC/B,GAAI;YAEJ,kBAAC,GAAD,EAAA,UACG,KACC,kBAAC,GAAD;GAA6B,YAAA;GAAW,SAAA;aACtC,kBAAC,EAAO,MAAR;IACE,WAAU;IACV,SAAS,EAAE,SAAS,EAAE;IACtB,SAAS,EAAE,SAAS,EAAE;IACtB,MAAM,EAAE,SAAS,EAAE;IACnB,YAAY,EAAE,UAAU,EAAU,OAAO;cAEzC,kBAAC,OAAD;KACE,OAAM;KACN,QAAO;KACP,SAAQ;KACR,MAAK;KACL,WAAW,EAAoB;eAE9B,MAAkB,kBACjB,kBAAC,EAAO,MAAR;MACE,IAAG;MACH,IAAG;MACH,IAAG;MACH,IAAG;MACH,QAAO;MACP,aAAY;MACZ,eAAc;MACd,SAAS,EAAE,YAAY,EAAE;MACzB,SAAS,EAAE,YAAY,EAAE;MACzB,MAAM,EAAE,YAAY,EAAE;MACtB,YAAY;OAAE,UAAU,EAAU;OAAY,MAAM;MAAU;KAC/D,CAAA,IAED,kBAAC,EAAO,MAAR;MACE,GAAE;MACF,QAAO;MACP,aAAY;MACZ,eAAc;MACd,gBAAe;MACf,MAAK;MACL,SAAS,EAAE,YAAY,EAAE;MACzB,SAAS,EAAE,YAAY,EAAE;MACzB,MAAM,EAAE,YAAY,EAAE;MACtB,YAAY;OAAE,UAAU,EAAU;OAAY,MAAM;MAAU;KAC/D,CAAA;IAEA,CAAA;GACM,CAAA;EACc,CAAA,EAEhB,CAAA;CACK,CAAA;AAE5B,CAAC;AACD,EAAS,cAAA,EAAqC"}
1
+ {"version":3,"file":"checkbox.js","names":[],"sources":["../../src/ui/checkbox.tsx"],"sourcesContent":["'use client'\n\nimport * as CheckboxPrimitive from '@primitives/react-checkbox'\nimport { AnimatePresence, motion } from 'framer-motion'\nimport * as React from 'react'\n\nimport { useFormField } from './form'\nimport { type FieldState, resolveFieldState } from './lib/field-state'\nimport { durations } from './lib/motion'\nimport { cn } from './lib/utils'\n\n/** Border + background tint per validation state (checked state uses accent regardless). */\nconst stateTintClasses: Record<Exclude<FieldState, 'default'>, string> = {\n error: 'border-error-7 bg-error-3',\n warning: 'border-warning-7 bg-warning-3',\n success: 'border-success-7 bg-success-3',\n}\n\n/**\n * Props for Checkbox — a Radix-powered accessible checkbox with error state styling and\n * an indeterminate state for \"select all\" row controls.\n *\n * **Indeterminate:** Pass `indeterminate={true}` to show the \"−\" dash (overrides `checked`).\n * This is correct for \"select all\" headers when only some rows are selected.\n *\n * **Controlled:** Use `checked` + `onCheckedChange` for controlled usage.\n * `onCheckedChange` receives `true | false | 'indeterminate'` from Radix.\n *\n * @example\n * // Basic controlled checkbox:\n * <Checkbox checked={agreed} onCheckedChange={(v) => setAgreed(v === true)} />\n *\n * @example\n * // Error state when required checkbox is not checked:\n * <Checkbox state={!termsAccepted ? 'error' : 'default'} checked={termsAccepted} onCheckedChange={(v) => setTerms(v === true)} />\n *\n * @example\n * // \"Select all\" checkbox with indeterminate state:\n * <Checkbox\n * indeterminate={someSelected && !allSelected}\n * checked={allSelected}\n * onCheckedChange={(v) => toggleAll(v === true)}\n * />\n * // These are just a few ways — feel free to combine props creatively!\n */\nexport interface CheckboxProps extends React.ComponentPropsWithoutRef<typeof CheckboxPrimitive.Root> {\n /** Validation/feedback state. `'error'` also sets `aria-invalid`. Inherited from `FormField` when omitted. */\n state?: FieldState\n indeterminate?: boolean\n /** Control size — `sm` (20px), `md` (24px, default, WCAG compliant), `lg` (28px). */\n size?: 'sm' | 'md' | 'lg'\n}\n\nconst checkboxSizeClasses = {\n sm: 'h-5 w-5',\n md: 'h-6 w-6',\n lg: 'h-7 w-7',\n} as const\n\nconst checkboxIconClasses = {\n sm: 'h-[14px] w-[14px]',\n md: 'h-[18px] w-[18px]',\n lg: 'h-5 w-5',\n} as const\n\nconst Checkbox = React.forwardRef<\n React.ElementRef<typeof CheckboxPrimitive.Root>,\n CheckboxProps\n>(({ className, state: stateProp, indeterminate, size = 'md', checked, onCheckedChange, defaultChecked, ...props }, ref) => {\n // Track internal state so AnimatePresence works for both controlled & uncontrolled usage\n const isControlled = checked !== undefined\n const [internalChecked, setInternalChecked] = React.useState<boolean | 'indeterminate'>(\n indeterminate ? 'indeterminate' : (defaultChecked ? true : false),\n )\n\n const fieldCtx = useFormField()\n const state = resolveFieldState(stateProp, fieldCtx.state)\n const ariaDescribedBy = props['aria-describedby'] ?? fieldCtx.helperTextId\n const ariaRequired = props['aria-required'] ?? fieldCtx.required\n\n const actualChecked = indeterminate ? 'indeterminate' : (isControlled ? checked : internalChecked)\n const isActive = actualChecked === true || actualChecked === 'indeterminate'\n\n const handleCheckedChange = React.useCallback(\n (value: boolean | 'indeterminate') => {\n if (!isControlled) setInternalChecked(value)\n onCheckedChange?.(value)\n },\n [isControlled, onCheckedChange],\n )\n\n return (\n <CheckboxPrimitive.Root\n ref={ref}\n checked={isControlled || indeterminate ? actualChecked : undefined}\n defaultChecked={!isControlled && !indeterminate ? defaultChecked : undefined}\n onCheckedChange={handleCheckedChange}\n className={cn(\n 'touch-target peer flex items-center justify-center shrink-0 rounded-control-inner',\n checkboxSizeClasses[size],\n 'border border-surface-border-strong',\n 'bg-surface-raised-hover',\n 'transition-colors duration-fast-01 ease-productive-standard',\n 'focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-accent-9 focus-visible:ring-offset-2',\n 'disabled:cursor-not-allowed disabled:opacity-action-disabled',\n 'data-[state=unchecked]:hover:border-accent-7 data-[state=unchecked]:hover:bg-surface-raised-active',\n 'data-[state=checked]:bg-accent-9 data-[state=checked]:border-accent-7 data-[state=checked]:text-accent-fg',\n 'data-[state=indeterminate]:bg-accent-9 data-[state=indeterminate]:border-accent-7 data-[state=indeterminate]:text-accent-fg',\n state && stateTintClasses[state],\n className,\n )}\n aria-invalid={state === 'error' || undefined}\n aria-describedby={ariaDescribedBy}\n aria-required={ariaRequired || undefined}\n {...props}\n // Explicit id wins; otherwise adopt FormField's inputId so <Label htmlFor>\n // resolves. Without this the label renders, points at nothing, and the\n // control has NO accessible name — a screen reader announces an unnamed\n // checkbox even though the consumer wrote FormField + Label correctly.\n id={props.id ?? fieldCtx.inputId}\n >\n <AnimatePresence>\n {isActive && (\n <CheckboxPrimitive.Indicator forceMount asChild>\n <motion.span\n className=\"flex items-center justify-center text-current\"\n initial={{ opacity: 0 }}\n animate={{ opacity: 1 }}\n exit={{ opacity: 0 }}\n transition={{ duration: durations.fast01 }}\n >\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n className={checkboxIconClasses[size]}\n >\n {actualChecked === 'indeterminate' ? (\n <motion.line\n x1=\"4\"\n y1=\"8\"\n x2=\"12\"\n y2=\"8\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n initial={{ pathLength: 0 }}\n animate={{ pathLength: 1 }}\n exit={{ pathLength: 0 }}\n transition={{ duration: durations.moderate02, ease: 'easeOut' }}\n />\n ) : (\n <motion.path\n d=\"M3.5 8.5l3 3 6-6\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n fill=\"none\"\n initial={{ pathLength: 0 }}\n animate={{ pathLength: 1 }}\n exit={{ pathLength: 0 }}\n transition={{ duration: durations.moderate02, ease: 'easeOut' }}\n />\n )}\n </svg>\n </motion.span>\n </CheckboxPrimitive.Indicator>\n )}\n </AnimatePresence>\n </CheckboxPrimitive.Root>\n )\n})\nCheckbox.displayName = CheckboxPrimitive.Root.displayName\n\nexport { Checkbox }\n"],"mappings":";;;;;;;;;;AAYA,IAAM,IAAmE;CACvE,OAAO;CACP,SAAS;CACT,SAAS;AACX,GAqCM,IAAsB;CAC1B,IAAI;CACJ,IAAI;CACJ,IAAI;AACN,GAEM,IAAsB;CAC1B,IAAI;CACJ,IAAI;CACJ,IAAI;AACN,GAEM,IAAW,EAAM,YAGpB,EAAE,cAAW,OAAO,GAAW,kBAAe,UAAO,MAAM,YAAS,oBAAiB,mBAAgB,GAAG,KAAS,MAAQ;CAE1H,IAAM,IAAe,MAAY,KAAA,GAC3B,CAAC,GAAiB,KAAsB,EAAM,SAClD,IAAgB,kBAAmB,GACrC,GAEM,IAAW,EAAa,GACxB,IAAQ,EAAkB,GAAW,EAAS,KAAK,GACnD,IAAkB,EAAM,uBAAuB,EAAS,cACxD,IAAe,EAAM,oBAAoB,EAAS,UAElD,IAAgB,IAAgB,kBAAmB,IAAe,IAAU,GAC5E,IAAW,MAAkB,MAAQ,MAAkB,iBAEvD,IAAsB,EAAM,aAC/B,MAAqC;EAEpC,AADK,KAAc,EAAmB,CAAK,GAC3C,IAAkB,CAAK;CACzB,GACA,CAAC,GAAc,CAAe,CAChC;CAEA,OACE,kBAAC,GAAD;EACO;EACL,SAAS,KAAgB,IAAgB,IAAgB,KAAA;EACzD,gBAAgB,CAAC,KAAgB,CAAC,IAAgB,IAAiB,KAAA;EACnE,iBAAiB;EACjB,WAAW,EACT,qFACA,EAAoB,IACpB,uCACA,2BACA,+DACA,6GACA,gEACA,sGACA,6GACA,+HACA,KAAS,EAAiB,IAC1B,CACF;EACA,gBAAc,MAAU,WAAW,KAAA;EACnC,oBAAkB;EAClB,iBAAe,KAAgB,KAAA;EAC/B,GAAI;EAKJ,IAAI,EAAM,MAAM,EAAS;YAEzB,kBAAC,GAAD,EAAA,UACG,KACC,kBAAC,GAAD;GAA6B,YAAA;GAAW,SAAA;aACtC,kBAAC,EAAO,MAAR;IACE,WAAU;IACV,SAAS,EAAE,SAAS,EAAE;IACtB,SAAS,EAAE,SAAS,EAAE;IACtB,MAAM,EAAE,SAAS,EAAE;IACnB,YAAY,EAAE,UAAU,EAAU,OAAO;cAEzC,kBAAC,OAAD;KACE,OAAM;KACN,QAAO;KACP,SAAQ;KACR,MAAK;KACL,WAAW,EAAoB;eAE9B,MAAkB,kBACjB,kBAAC,EAAO,MAAR;MACE,IAAG;MACH,IAAG;MACH,IAAG;MACH,IAAG;MACH,QAAO;MACP,aAAY;MACZ,eAAc;MACd,SAAS,EAAE,YAAY,EAAE;MACzB,SAAS,EAAE,YAAY,EAAE;MACzB,MAAM,EAAE,YAAY,EAAE;MACtB,YAAY;OAAE,UAAU,EAAU;OAAY,MAAM;MAAU;KAC/D,CAAA,IAED,kBAAC,EAAO,MAAR;MACE,GAAE;MACF,QAAO;MACP,aAAY;MACZ,eAAc;MACd,gBAAe;MACf,MAAK;MACL,SAAS,EAAE,YAAY,EAAE;MACzB,SAAS,EAAE,YAAY,EAAE;MACzB,MAAM,EAAE,YAAY,EAAE;MACtB,YAAY;OAAE,UAAU,EAAU;OAAY,MAAM;MAAU;KAC/D,CAAA;IAEA,CAAA;GACM,CAAA;EACc,CAAA,EAEhB,CAAA;CACK,CAAA;AAE5B,CAAC;AACD,EAAS,cAAA,EAAqC"}
@@ -1,5 +1,4 @@
1
- "use client";
2
- import * as CollapsiblePrimitive from '../primitives/react-collapsible';
1
+ import * as CollapsiblePrimitive from '../primitives/react-collapsible.js';
3
2
  import * as React from 'react';
4
3
  declare const Collapsible: React.ForwardRefExoticComponent<CollapsiblePrimitive.CollapsibleProps & React.RefAttributes<HTMLDivElement>>;
5
4
  declare const CollapsibleTrigger: React.ForwardRefExoticComponent<CollapsiblePrimitive.CollapsibleTriggerProps & React.RefAttributes<HTMLButtonElement>>;
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import { Content$3 as e, Root$9 as t, Trigger$10 as n } from "../_chunks/primitives.js";
2
+ import { Content as e, Root as t, Trigger as n } from "../_chunks/primitives/react-accordion.js";
3
3
  import { tweens as r } from "./lib/motion.js";
4
4
  import { cn as i } from "./lib/utils.js";
5
5
  import * as a from "react";
@@ -1,4 +1,3 @@
1
- "use client";
2
1
  import * as React from 'react';
3
2
  type ColorFormat = 'hex' | 'rgb' | 'hsl';
4
3
  export interface ColorInputProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'> {
@@ -1,4 +1,3 @@
1
- "use client";
2
1
  import * as React from 'react';
3
2
  /**
4
3
  * A tiny color swatch for displaying dynamic runtime colors (e.g. brand colors from a database).
@@ -1,7 +1,6 @@
1
- "use client";
2
1
  import { VariantProps } from 'class-variance-authority';
3
- import { FieldState } from './lib/field-state';
4
- import { IconInput } from './lib/icon-input';
2
+ import { FieldState } from './lib/field-state.js';
3
+ import { IconInput } from './lib/icon-input.js';
5
4
  import * as React from 'react';
6
5
  export declare const comboboxTriggerVariants: (props?: ({
7
6
  size?: "xs" | "sm" | "md" | "lg" | null | undefined;
@@ -1,23 +1,23 @@
1
1
  "use client";
2
- import { Content2$6 as e, Portal$3 as t, Root2$8 as n, Trigger$8 as r } from "../_chunks/primitives.js";
3
- import { IconProvider as i } from "./icon-context.js";
4
- import { springs as a, tweens as o } from "./lib/motion.js";
5
- import { cva as s } from "../_chunks/vendor-utils.js";
6
- import { cn as c } from "./lib/utils.js";
7
- import { Icon as l } from "./icon.js";
8
- import { useFormField as ee } from "./form.js";
9
- import { resolveFieldState as te } from "../_chunks/field-state.js";
10
- import { normalizeIcon as u } from "../_chunks/normalize-icon.js";
2
+ import { IconProvider as e } from "./icon-context.js";
3
+ import { springs as t, tweens as n } from "./lib/motion.js";
4
+ import { cva as r } from "../_chunks/vendor-utils.js";
5
+ import { cn as i } from "./lib/utils.js";
6
+ import { Icon as a } from "./icon.js";
7
+ import { useFormField as o } from "./form.js";
8
+ import { resolveFieldState as s } from "../_chunks/field-state.js";
9
+ import { normalizeIcon as c } from "../_chunks/normalize-icon.js";
10
+ import { Content2 as l, Portal as u, Root2 as ee, Trigger as te } from "../_chunks/primitives/react-popover.js";
11
11
  import * as d from "react";
12
12
  import { Fragment as f, jsx as p, jsxs as m } from "react/jsx-runtime";
13
- import { IconCheck as h, IconChevronDown as g, IconSearch as ne, IconX as re } from "@tabler/icons-react";
14
- import { motion as ie } from "framer-motion";
13
+ import { IconCheck as h, IconChevronDown as ne, IconSearch as re, IconX as ie } from "@tabler/icons-react";
14
+ import { motion as ae } from "framer-motion";
15
15
  //#region src/ui/combobox.tsx
16
- var ae = {
16
+ var oe = {
17
17
  error: "border-error-7",
18
18
  warning: "border-warning-7",
19
19
  success: "border-success-7"
20
- }, _ = s([
20
+ }, g = r([
21
21
  "flex w-full items-center justify-between whitespace-nowrap rounded-control",
22
22
  "border border-surface-border-strong bg-surface-raised-hover",
23
23
  "transition-colors duration-fast-01 ease-productive-standard",
@@ -31,122 +31,122 @@ var ae = {
31
31
  lg: "h-ds-lg text-body-md px-ds-05"
32
32
  } },
33
33
  defaultVariants: { size: "md" }
34
- }), v = {
34
+ }), _ = {
35
35
  xs: "xs",
36
36
  sm: "sm",
37
37
  md: "sm",
38
38
  lg: "md"
39
- }, y = {
39
+ }, v = {
40
40
  xs: "px-ds-02 py-0 text-body-xs",
41
41
  sm: "px-ds-02 py-0 text-body-xs",
42
42
  md: "px-ds-03 py-[1px] text-body-sm",
43
43
  lg: "px-ds-03 py-[2px] text-body-sm"
44
- }, b = {
44
+ }, y = {
45
45
  xs: "text-body-xs",
46
46
  sm: "text-body-xs",
47
47
  md: "text-body-sm",
48
48
  lg: "text-body-sm"
49
- }, x = 2, S = 36, C = d.forwardRef(({ options: s, value: C, onValueChange: w, placeholder: T = "Select...", searchPlaceholder: oe = "Search...", emptyMessage: se = "No results found", multiple: E = !1, disabled: D = !1, className: ce, triggerClassName: le, maxVisible: ue = 6, renderOption: O, accessibleLabel: k, id: A, size: j = "md", state: M, ...N }, P) => {
50
- let F = j ?? "md", [I, L] = d.useState(!1), [R, z] = d.useState(""), [B, V] = d.useState(-1), H = d.useRef(null), U = d.useRef(null), W = d.useId(), G = d.useId(), K = d.useMemo(() => C == null ? [] : Array.isArray(C) ? C : [C], [C]), q = d.useMemo(() => R ? s.filter((e) => e.label.toLowerCase().includes(R.toLowerCase())) : s, [s, R]), de = d.useCallback((e) => K.includes(e), [K]), J = d.useCallback((e) => {
51
- E ? w(K.includes(e) ? K.filter((t) => t !== e) : [...K, e]) : (w(e), L(!1));
49
+ }, b = 2, x = 36, S = d.forwardRef(({ options: r, value: S, onValueChange: C, placeholder: w = "Select...", searchPlaceholder: se = "Search...", emptyMessage: ce = "No results found", multiple: T = !1, disabled: E = !1, className: le, triggerClassName: ue, maxVisible: de = 6, renderOption: D, accessibleLabel: O, id: k, size: A = "md", state: j, ...M }, N) => {
50
+ let P = A ?? "md", [F, I] = d.useState(!1), [L, R] = d.useState(""), [z, B] = d.useState(-1), V = d.useRef(null), H = d.useRef(null), U = d.useId(), W = d.useId(), G = d.useMemo(() => S == null ? [] : Array.isArray(S) ? S : [S], [S]), K = d.useMemo(() => L ? r.filter((e) => e.label.toLowerCase().includes(L.toLowerCase())) : r, [r, L]), fe = d.useCallback((e) => G.includes(e), [G]), q = d.useCallback((e) => {
51
+ T ? C(G.includes(e) ? G.filter((t) => t !== e) : [...G, e]) : (C(e), I(!1));
52
52
  }, [
53
- E,
54
- K,
55
- w
56
- ]), fe = d.useCallback((e, t) => {
57
- e.stopPropagation(), e.preventDefault(), w(K.filter((e) => e !== t));
58
- }, [K, w]), Y = d.useCallback((e) => {
59
- D || (L(e), e || (z(""), V(-1)));
60
- }, [D]);
53
+ T,
54
+ G,
55
+ C
56
+ ]), pe = d.useCallback((e, t) => {
57
+ e.stopPropagation(), e.preventDefault(), C(G.filter((e) => e !== t));
58
+ }, [G, C]), J = d.useCallback((e) => {
59
+ E || (I(e), e || (R(""), B(-1)));
60
+ }, [E]);
61
61
  d.useEffect(() => {
62
- if (I) {
62
+ if (F) {
63
63
  let e = setTimeout(() => {
64
- H.current?.focus();
64
+ V.current?.focus();
65
65
  }, 0);
66
66
  return () => clearTimeout(e);
67
67
  }
68
- }, [I]);
69
- let X = d.useCallback((e, t) => {
70
- let n = q.length;
68
+ }, [F]);
69
+ let Y = d.useCallback((e, t) => {
70
+ let n = K.length;
71
71
  if (n === 0) return -1;
72
72
  let r = e + t;
73
73
  for (; r >= 0 && r < n;) {
74
- if (!q[r].disabled) return r;
74
+ if (!K[r].disabled) return r;
75
75
  r += t;
76
76
  }
77
77
  return e;
78
- }, [q]), pe = d.useCallback((e) => {
78
+ }, [K]), me = d.useCallback((e) => {
79
79
  switch (e.key) {
80
80
  case "ArrowDown": {
81
81
  e.preventDefault();
82
- let t = X(B, 1);
83
- V(t);
82
+ let t = Y(z, 1);
83
+ B(t);
84
84
  break;
85
85
  }
86
86
  case "ArrowUp": {
87
87
  e.preventDefault();
88
- let t = X(B, -1);
89
- V(t);
88
+ let t = Y(z, -1);
89
+ B(t);
90
90
  break;
91
91
  }
92
92
  case "Home": {
93
93
  e.preventDefault();
94
- let t = q.findIndex((e) => !e.disabled);
95
- V(t);
94
+ let t = K.findIndex((e) => !e.disabled);
95
+ B(t);
96
96
  break;
97
97
  }
98
98
  case "End": {
99
99
  e.preventDefault();
100
100
  let t = -1;
101
- for (let e = q.length - 1; e >= 0; e--) if (!q[e].disabled) {
101
+ for (let e = K.length - 1; e >= 0; e--) if (!K[e].disabled) {
102
102
  t = e;
103
103
  break;
104
104
  }
105
- V(t);
105
+ B(t);
106
106
  break;
107
107
  }
108
108
  case "Enter":
109
- e.preventDefault(), B >= 0 && B < q.length && !q[B].disabled && J(q[B].value);
109
+ e.preventDefault(), z >= 0 && z < K.length && !K[z].disabled && q(K[z].value);
110
110
  break;
111
111
  case "Escape":
112
- e.preventDefault(), L(!1), z(""), V(-1);
112
+ e.preventDefault(), I(!1), R(""), B(-1);
113
113
  break;
114
114
  }
115
115
  }, [
116
- B,
117
- q,
118
- X,
119
- J
116
+ z,
117
+ K,
118
+ Y,
119
+ q
120
120
  ]);
121
121
  d.useEffect(() => {
122
- if (B >= 0 && U.current) {
123
- let e = U.current.children[B];
122
+ if (z >= 0 && H.current) {
123
+ let e = H.current.children[z];
124
124
  e && e.scrollIntoView?.({ block: "nearest" });
125
125
  }
126
- }, [B]);
127
- let me = d.useCallback(() => K.length === 0 ? null : s.find((e) => e.value === K[0])?.label ?? null, [K, s]), Z = v[F], he = y[F], ge = b[F], _e = () => {
128
- if (E && K.length > 0) {
129
- let e = K.slice(0, x), t = K.length - x;
126
+ }, [z]);
127
+ let X = d.useCallback(() => G.length === 0 ? null : r.find((e) => e.value === G[0])?.label ?? null, [G, r]), Z = _[P], he = v[P], ge = y[P], _e = () => {
128
+ if (T && G.length > 0) {
129
+ let e = G.slice(0, b), t = G.length - b;
130
130
  return /* @__PURE__ */ m("span", {
131
131
  className: "flex flex-1 flex-wrap items-center gap-ds-02 overflow-hidden",
132
132
  children: [e.map((e) => {
133
- let t = s.find((t) => t.value === e);
133
+ let t = r.find((t) => t.value === e);
134
134
  return t ? /* @__PURE__ */ m("span", {
135
- className: c("inline-flex items-center gap-ds-01 rounded-control-inner bg-accent-2", he),
135
+ className: i("inline-flex items-center gap-ds-01 rounded-control-inner bg-accent-2", he),
136
136
  children: [t.label, /* @__PURE__ */ p("button", {
137
137
  type: "button",
138
138
  className: "inline-flex items-center justify-center rounded-pill outline-hidden hover:bg-surface-raised-hover transition-colors duration-fast-01 ease-productive-standard",
139
- onClick: (t) => fe(t, e),
139
+ onClick: (t) => pe(t, e),
140
140
  "aria-label": `Remove ${t.label}`,
141
141
  tabIndex: -1,
142
- children: /* @__PURE__ */ p(l, {
143
- icon: re,
142
+ children: /* @__PURE__ */ p(a, {
143
+ icon: ie,
144
144
  size: Z
145
145
  })
146
146
  })]
147
147
  }, e) : null;
148
148
  }), t > 0 && /* @__PURE__ */ m("span", {
149
- className: c("text-surface-fg-muted", ge),
149
+ className: i("text-surface-fg-muted", ge),
150
150
  children: [
151
151
  "+",
152
152
  t,
@@ -155,8 +155,8 @@ var ae = {
155
155
  })]
156
156
  });
157
157
  }
158
- if (!E && K.length === 1) {
159
- let e = me();
158
+ if (!T && G.length === 1) {
159
+ let e = X();
160
160
  if (e) return /* @__PURE__ */ p("span", {
161
161
  className: "min-w-0 flex-1 truncate text-left",
162
162
  children: e
@@ -164,51 +164,51 @@ var ae = {
164
164
  }
165
165
  return /* @__PURE__ */ p("span", {
166
166
  className: "min-w-0 flex-1 truncate text-left text-surface-fg-subtle",
167
- children: T
167
+ children: w
168
168
  });
169
- }, Q = ee(), $ = te(M, Q.state), ve = $ === "error", ye = Q.helperTextId, be = Q.required;
170
- return /* @__PURE__ */ p(n, {
171
- open: I,
172
- onOpenChange: Y,
169
+ }, Q = o(), $ = s(j, Q.state), ve = $ === "error", ye = Q.helperTextId, be = Q.required;
170
+ return /* @__PURE__ */ p(ee, {
171
+ open: F,
172
+ onOpenChange: J,
173
173
  children: /* @__PURE__ */ m("div", {
174
- className: c("relative", ce),
175
- ...N,
176
- children: [/* @__PURE__ */ p(r, {
174
+ className: i("relative", le),
175
+ ...M,
176
+ children: [/* @__PURE__ */ p(te, {
177
177
  asChild: !0,
178
- disabled: D,
178
+ disabled: E,
179
179
  children: /* @__PURE__ */ m("div", {
180
- ref: P,
180
+ ref: N,
181
181
  role: "combobox",
182
- tabIndex: D ? -1 : 0,
183
- "data-disabled": D || void 0,
184
- id: A,
185
- "aria-expanded": I,
186
- "aria-controls": G,
182
+ tabIndex: E ? -1 : 0,
183
+ "data-disabled": E || void 0,
184
+ id: k,
185
+ "aria-expanded": F,
186
+ "aria-controls": W,
187
187
  "aria-haspopup": "listbox",
188
- "aria-disabled": D || void 0,
189
- "aria-labelledby": k ? void 0 : Q.labelId,
190
- "aria-label": k ?? (Q.labelId ? void 0 : T),
188
+ "aria-disabled": E || void 0,
189
+ "aria-labelledby": O ? void 0 : Q.labelId,
190
+ "aria-label": O ?? (Q.labelId ? void 0 : w),
191
191
  "aria-invalid": ve || void 0,
192
192
  "aria-describedby": ye,
193
193
  "aria-required": be || void 0,
194
194
  onKeyDown: (e) => {
195
- D || (e.key === "Enter" || e.key === " " || e.key === "ArrowDown") && (e.preventDefault(), Y(!0));
195
+ E || (e.key === "Enter" || e.key === " " || e.key === "ArrowDown") && (e.preventDefault(), J(!0));
196
196
  },
197
- className: c(_({ size: F }), "cursor-pointer", I && "border-accent-7", $ && ae[$], le),
198
- children: [_e(), /* @__PURE__ */ p(l, {
199
- icon: g,
197
+ className: i(g({ size: P }), "cursor-pointer", F && "border-accent-7", $ && oe[$], ue),
198
+ children: [_e(), /* @__PURE__ */ p(a, {
199
+ icon: ne,
200
200
  size: Z,
201
- className: c("ml-ds-02 shrink-0 opacity-50 transition-transform duration-fast-01 ease-productive-standard", I && "rotate-180")
201
+ className: i("ml-ds-02 shrink-0 opacity-50 transition-transform duration-fast-01 ease-productive-standard", F && "rotate-180")
202
202
  })]
203
203
  })
204
- }), /* @__PURE__ */ p(t, { children: /* @__PURE__ */ p(e, {
204
+ }), /* @__PURE__ */ p(u, { children: /* @__PURE__ */ p(l, {
205
205
  asChild: !0,
206
206
  sideOffset: 4,
207
207
  align: "start",
208
208
  onOpenAutoFocus: (e) => {
209
- e.preventDefault(), H.current?.focus();
209
+ e.preventDefault(), V.current?.focus();
210
210
  },
211
- children: /* @__PURE__ */ m(ie.div, {
211
+ children: /* @__PURE__ */ m(ae.div, {
212
212
  initial: {
213
213
  opacity: 0,
214
214
  scale: .95
@@ -218,80 +218,80 @@ var ae = {
218
218
  scale: 1
219
219
  },
220
220
  transition: {
221
- ...a.snappy,
222
- opacity: o.fade
221
+ ...t.snappy,
222
+ opacity: n.fade
223
223
  },
224
- className: c("z-popover w-[var(--radix-popover-trigger-width)] overflow-hidden rounded-overlay bg-surface-overlay shadow-floating"),
224
+ className: i("z-popover w-[var(--radix-popover-trigger-width)] overflow-hidden rounded-overlay bg-surface-overlay shadow-floating"),
225
225
  children: [/* @__PURE__ */ m("div", {
226
226
  className: "flex items-center gap-ds-02 border-b border-surface-border px-ds-04",
227
- children: [/* @__PURE__ */ p(l, {
228
- icon: ne,
227
+ children: [/* @__PURE__ */ p(a, {
228
+ icon: re,
229
229
  size: "sm",
230
230
  className: "shrink-0 text-surface-fg-subtle"
231
231
  }), /* @__PURE__ */ p("input", {
232
- ref: H,
232
+ ref: V,
233
233
  type: "text",
234
234
  className: "flex-1 bg-transparent py-ds-03 text-body-md outline-hidden placeholder:text-surface-fg-subtle",
235
- placeholder: oe,
236
- value: R,
235
+ placeholder: se,
236
+ value: L,
237
237
  onChange: (e) => {
238
- z(e.target.value), V(-1);
238
+ R(e.target.value), B(-1);
239
239
  },
240
- onKeyDown: pe,
240
+ onKeyDown: me,
241
241
  "aria-autocomplete": "list",
242
- "aria-controls": G,
243
- "aria-activedescendant": B >= 0 ? `${W}-option-${B}` : void 0,
242
+ "aria-controls": W,
243
+ "aria-activedescendant": z >= 0 ? `${U}-option-${z}` : void 0,
244
244
  "aria-label": "Search options"
245
245
  })]
246
- }), q.length === 0 ? /* @__PURE__ */ p("div", {
246
+ }), K.length === 0 ? /* @__PURE__ */ p("div", {
247
247
  className: "px-ds-04 py-ds-05 text-center text-body-md text-surface-fg-subtle",
248
- children: se
248
+ children: ce
249
249
  }) : /* @__PURE__ */ p("ul", {
250
- ref: U,
251
- id: G,
250
+ ref: H,
251
+ id: W,
252
252
  role: "listbox",
253
- "aria-multiselectable": E || void 0,
253
+ "aria-multiselectable": T || void 0,
254
254
  className: "overflow-auto p-ds-02",
255
- style: { maxHeight: `${ue * S}px` },
256
- children: q.map((e, t) => {
257
- let n = de(e.value);
255
+ style: { maxHeight: `${de * x}px` },
256
+ children: K.map((t, n) => {
257
+ let r = fe(t.value);
258
258
  return /* @__PURE__ */ m("li", {
259
- id: `${W}-option-${t}`,
259
+ id: `${U}-option-${n}`,
260
260
  role: "option",
261
- "aria-selected": n,
262
- "aria-disabled": e.disabled || void 0,
263
- className: c("relative flex cursor-pointer select-none items-center gap-ds-03 rounded-control px-ds-04 py-ds-03 text-body-md outline-hidden", "transition-colors duration-fast-01 ease-productive-standard", B === t && "bg-accent-2", n && "text-accent-11", e.disabled && "pointer-events-none opacity-action-disabled"),
261
+ "aria-selected": r,
262
+ "aria-disabled": t.disabled || void 0,
263
+ className: i("relative flex cursor-pointer select-none items-center gap-ds-03 rounded-control px-ds-04 py-ds-03 text-body-md outline-hidden", "transition-colors duration-fast-01 ease-productive-standard", z === n && "bg-accent-2", r && "text-accent-11", t.disabled && "pointer-events-none opacity-action-disabled"),
264
264
  onClick: () => {
265
- e.disabled || J(e.value);
265
+ t.disabled || q(t.value);
266
266
  },
267
- onKeyDown: (t) => {
268
- !e.disabled && (t.key === "Enter" || t.key === " ") && (t.preventDefault(), J(e.value));
267
+ onKeyDown: (e) => {
268
+ !t.disabled && (e.key === "Enter" || e.key === " ") && (e.preventDefault(), q(t.value));
269
269
  },
270
270
  onMouseEnter: () => {
271
- e.disabled || V(t);
271
+ t.disabled || B(n);
272
272
  },
273
273
  children: [
274
- e.icon && /* @__PURE__ */ p("span", {
274
+ t.icon && /* @__PURE__ */ p("span", {
275
275
  className: "flex h-ico-sm w-ico-sm items-center justify-center shrink-0",
276
- children: /* @__PURE__ */ p(i, {
276
+ children: /* @__PURE__ */ p(e, {
277
277
  size: Z,
278
- children: u(e.icon)
278
+ children: c(t.icon)
279
279
  })
280
280
  }),
281
281
  /* @__PURE__ */ p("span", {
282
282
  className: "flex flex-1 flex-col",
283
- children: O ? O(e, n) : /* @__PURE__ */ m(f, { children: [/* @__PURE__ */ p("span", { children: e.label }), e.description && /* @__PURE__ */ p("span", {
283
+ children: D ? D(t, r) : /* @__PURE__ */ m(f, { children: [/* @__PURE__ */ p("span", { children: t.label }), t.description && /* @__PURE__ */ p("span", {
284
284
  className: "text-body-sm text-surface-fg-muted",
285
- children: e.description
285
+ children: t.description
286
286
  })] })
287
287
  }),
288
- n && /* @__PURE__ */ p(l, {
288
+ r && /* @__PURE__ */ p(a, {
289
289
  icon: h,
290
290
  size: "sm",
291
291
  className: "shrink-0"
292
292
  })
293
293
  ]
294
- }, e.value);
294
+ }, t.value);
295
295
  })
296
296
  })]
297
297
  })
@@ -299,6 +299,6 @@ var ae = {
299
299
  })
300
300
  });
301
301
  });
302
- C.displayName = "Combobox";
302
+ S.displayName = "Combobox";
303
303
  //#endregion
304
- export { C as Combobox, _ as comboboxTriggerVariants };
304
+ export { S as Combobox, g as comboboxTriggerVariants };