@logicplanes/kaeso-ui 0.4.4 → 0.4.6

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 (482) hide show
  1. package/ai/component-guides.md +250 -98
  2. package/ai/component-registry.json +264 -236
  3. package/ai/component-registry.md +222 -218
  4. package/ai/icons.md +1 -1
  5. package/ai/tokens.md +18 -14
  6. package/dist/blocks/delete-resource.js +3 -3
  7. package/dist/blocks/delete-resource.js.map +1 -1
  8. package/dist/blocks/pages.js +47 -42
  9. package/dist/blocks/pages.js.map +1 -1
  10. package/dist/blocks/resource-list.js +68 -55
  11. package/dist/blocks/resource-list.js.map +1 -1
  12. package/dist/chunks/agent-avatar-DHieggHK.js +188 -0
  13. package/dist/chunks/agent-avatar-DHieggHK.js.map +1 -0
  14. package/dist/chunks/app-frame-DysOel2X.js +232 -0
  15. package/dist/chunks/app-frame-DysOel2X.js.map +1 -0
  16. package/dist/chunks/arrow-focus-B0KdRFX8.js +20 -0
  17. package/dist/chunks/arrow-focus-B0KdRFX8.js.map +1 -0
  18. package/dist/chunks/avatar-CYNMK7uY.js +110 -0
  19. package/dist/chunks/avatar-CYNMK7uY.js.map +1 -0
  20. package/dist/chunks/badge-C0GC3B9X.js +27 -0
  21. package/dist/chunks/badge-C0GC3B9X.js.map +1 -0
  22. package/dist/chunks/banner-B3DGLTBu.js +88 -0
  23. package/dist/chunks/banner-B3DGLTBu.js.map +1 -0
  24. package/dist/chunks/button-IblhXUyZ.js +202 -0
  25. package/dist/chunks/button-IblhXUyZ.js.map +1 -0
  26. package/dist/chunks/{calendar-BWaf2MXc.js → calendar-Dc6_dl0f.js} +4 -4
  27. package/dist/chunks/calendar-Dc6_dl0f.js.map +1 -0
  28. package/dist/chunks/checkbox-9tbimmF3.js +141 -0
  29. package/dist/chunks/checkbox-9tbimmF3.js.map +1 -0
  30. package/dist/chunks/{cn-Dj6sRgkF.js → cn-BjnOAUrA.js} +45 -4
  31. package/dist/chunks/cn-BjnOAUrA.js.map +1 -0
  32. package/dist/chunks/code-block-64e-Cy1S.js +346 -0
  33. package/dist/chunks/code-block-64e-Cy1S.js.map +1 -0
  34. package/dist/chunks/{code-block-DdNPHEzI.js → code-block-KIvuE8jg.js} +122 -114
  35. package/dist/chunks/code-block-KIvuE8jg.js.map +1 -0
  36. package/dist/chunks/{code-tqj0uhBL.js → code-xqjww4Pv.js} +5 -6
  37. package/dist/chunks/code-xqjww4Pv.js.map +1 -0
  38. package/dist/chunks/combobox-DkcjkWc6.js +352 -0
  39. package/dist/chunks/combobox-DkcjkWc6.js.map +1 -0
  40. package/dist/chunks/command-list-CypqsC4T.js +456 -0
  41. package/dist/chunks/command-list-CypqsC4T.js.map +1 -0
  42. package/dist/chunks/{copy-button-FJvPJn72.js → copy-button-CwU8t_9_.js} +22 -15
  43. package/dist/chunks/copy-button-CwU8t_9_.js.map +1 -0
  44. package/dist/chunks/core-CmK-8ObW.js +505 -0
  45. package/dist/chunks/core-CmK-8ObW.js.map +1 -0
  46. package/dist/chunks/data-table-CqY8_6IS.js +581 -0
  47. package/dist/chunks/data-table-CqY8_6IS.js.map +1 -0
  48. package/dist/chunks/date-popup-DAnjptFt.js +58 -0
  49. package/dist/chunks/date-popup-DAnjptFt.js.map +1 -0
  50. package/dist/chunks/{de-D_0mmG-k.js → de-CqC4aSIV.js} +74 -40
  51. package/dist/chunks/de-CqC4aSIV.js.map +1 -0
  52. package/dist/chunks/{dialog-Cg9A_6SF.js → dialog-2zb6ClNR.js} +156 -134
  53. package/dist/chunks/dialog-2zb6ClNR.js.map +1 -0
  54. package/dist/chunks/disclosure-BtYRTDO3.js +22 -0
  55. package/dist/chunks/disclosure-BtYRTDO3.js.map +1 -0
  56. package/dist/chunks/domain-obd_w9xk.js +28 -0
  57. package/dist/chunks/domain-obd_w9xk.js.map +1 -0
  58. package/dist/chunks/{empty-DvhyMXQq.js → empty-BpiUgGzm.js} +2 -2
  59. package/dist/chunks/{empty-DvhyMXQq.js.map → empty-BpiUgGzm.js.map} +1 -1
  60. package/dist/chunks/{field-TviMvYa2.js → field-D7m-yl-D.js} +37 -34
  61. package/dist/chunks/field-D7m-yl-D.js.map +1 -0
  62. package/dist/chunks/{icon-D7ja-_Yk.js → icon-CBzOwqrX.js} +7 -6
  63. package/dist/chunks/{icon-D7ja-_Yk.js.map → icon-CBzOwqrX.js.map} +1 -1
  64. package/dist/chunks/{icon-button-CrdF_eMG.js → icon-button-Dfwpvmav.js} +7 -6
  65. package/dist/chunks/icon-button-Dfwpvmav.js.map +1 -0
  66. package/dist/chunks/{identity-BmhQ6BQ-.js → identity-3Foi5F8w.js} +7 -7
  67. package/dist/chunks/{identity-BmhQ6BQ-.js.map → identity-3Foi5F8w.js.map} +1 -1
  68. package/dist/chunks/{input-2VJuj_M4.js → input-Bo5-UZg2.js} +15 -9
  69. package/dist/chunks/input-Bo5-UZg2.js.map +1 -0
  70. package/dist/chunks/{input-group-DQ_4DoXg.js → input-group-jPcK9T_a.js} +42 -29
  71. package/dist/chunks/input-group-jPcK9T_a.js.map +1 -0
  72. package/dist/chunks/iso-field-DoqHBg8n.js +52 -0
  73. package/dist/chunks/iso-field-DoqHBg8n.js.map +1 -0
  74. package/dist/chunks/json-view-DZ2nL2Ir.js +253 -0
  75. package/dist/chunks/json-view-DZ2nL2Ir.js.map +1 -0
  76. package/dist/chunks/{kbd-BF1vKXJf.js → kbd-8A0ML_up.js} +30 -28
  77. package/dist/chunks/kbd-8A0ML_up.js.map +1 -0
  78. package/dist/chunks/label-DW24Aj0Z.js +26 -0
  79. package/dist/chunks/label-DW24Aj0Z.js.map +1 -0
  80. package/dist/chunks/{link-KWI7PevW.js → link-CMjkcLQK.js} +14 -14
  81. package/dist/chunks/link-CMjkcLQK.js.map +1 -0
  82. package/dist/chunks/list-B4G-sWwV.js +540 -0
  83. package/dist/chunks/list-B4G-sWwV.js.map +1 -0
  84. package/dist/chunks/{loader-DCfPndXa.js → loader-zo8CCIGJ.js} +2 -2
  85. package/dist/chunks/{loader-DCfPndXa.js.map → loader-zo8CCIGJ.js.map} +1 -1
  86. package/dist/chunks/markdown-C565aBR7.js +338 -0
  87. package/dist/chunks/markdown-C565aBR7.js.map +1 -0
  88. package/dist/chunks/menu-Clvv6ftq.js +485 -0
  89. package/dist/chunks/menu-Clvv6ftq.js.map +1 -0
  90. package/dist/chunks/merge-refs-BN1FyQt9.js +20 -0
  91. package/dist/chunks/merge-refs-BN1FyQt9.js.map +1 -0
  92. package/dist/chunks/meter-CASMHlxl.js +100 -0
  93. package/dist/chunks/meter-CASMHlxl.js.map +1 -0
  94. package/dist/chunks/nav-sheet-Dt6JSvzX.js +67 -0
  95. package/dist/chunks/nav-sheet-Dt6JSvzX.js.map +1 -0
  96. package/dist/chunks/{nav-wordmark-_pjheAsZ.js → nav-wordmark-J4pB_vjr.js} +4 -8
  97. package/dist/chunks/nav-wordmark-J4pB_vjr.js.map +1 -0
  98. package/dist/chunks/page-header-kS5tdmvb.js +45 -0
  99. package/dist/chunks/page-header-kS5tdmvb.js.map +1 -0
  100. package/dist/chunks/pagination-D7fAm8qg.js +147 -0
  101. package/dist/chunks/pagination-D7fAm8qg.js.map +1 -0
  102. package/dist/chunks/picker-popover-1FHb1LQG.js +119 -0
  103. package/dist/chunks/picker-popover-1FHb1LQG.js.map +1 -0
  104. package/dist/chunks/popover-Bl5QYqnh.js +51 -0
  105. package/dist/chunks/popover-Bl5QYqnh.js.map +1 -0
  106. package/dist/chunks/{portal-context-BBbzDKmY.js → portal-context-CTatR2Z8.js} +14 -4
  107. package/dist/chunks/portal-context-CTatR2Z8.js.map +1 -0
  108. package/dist/chunks/{radio-CDDFpdtL.js → radio-C6GtzF_t.js} +38 -23
  109. package/dist/chunks/radio-C6GtzF_t.js.map +1 -0
  110. package/dist/chunks/range-popup-lGiZsG3s.js +160 -0
  111. package/dist/chunks/range-popup-lGiZsG3s.js.map +1 -0
  112. package/dist/chunks/reasoning-frame-C3HdQRRS.js +51 -0
  113. package/dist/chunks/reasoning-frame-C3HdQRRS.js.map +1 -0
  114. package/dist/chunks/release-art-ChiT4T2S.js +582 -0
  115. package/dist/chunks/release-art-ChiT4T2S.js.map +1 -0
  116. package/dist/chunks/rights-B68ocZuq.js +312 -0
  117. package/dist/chunks/rights-B68ocZuq.js.map +1 -0
  118. package/dist/chunks/{scroll-area-D8MD7Vpo.js → scroll-area-_Ljh4-bG.js} +11 -6
  119. package/dist/chunks/scroll-area-_Ljh4-bG.js.map +1 -0
  120. package/dist/chunks/section-CFBYhsUi.js +77 -0
  121. package/dist/chunks/section-CFBYhsUi.js.map +1 -0
  122. package/dist/chunks/section-header-DU1Q4Tdf.js +28 -0
  123. package/dist/chunks/section-header-DU1Q4Tdf.js.map +1 -0
  124. package/dist/chunks/segmented-D9i1avik.js +119 -0
  125. package/dist/chunks/segmented-D9i1avik.js.map +1 -0
  126. package/dist/chunks/select-BqjmQOqx.js +222 -0
  127. package/dist/chunks/select-BqjmQOqx.js.map +1 -0
  128. package/dist/chunks/{separator-D7TzNHmX.js → separator-BNWf6BBj.js} +13 -8
  129. package/dist/chunks/separator-BNWf6BBj.js.map +1 -0
  130. package/dist/chunks/sidebar-Dq7oGOje.js +664 -0
  131. package/dist/chunks/sidebar-Dq7oGOje.js.map +1 -0
  132. package/dist/chunks/{sidebar-menu-BN3jkTlK.js → sidebar-menu-QSSNu1jJ.js} +2 -2
  133. package/dist/chunks/{sidebar-menu-BN3jkTlK.js.map → sidebar-menu-QSSNu1jJ.js.map} +1 -1
  134. package/dist/chunks/{skeleton-Dcz57Zyp.js → skeleton-D-qk3mes.js} +3 -3
  135. package/dist/chunks/skeleton-D-qk3mes.js.map +1 -0
  136. package/dist/chunks/slider-CcE8GtuV.js +58 -0
  137. package/dist/chunks/slider-CcE8GtuV.js.map +1 -0
  138. package/dist/chunks/{status-dot-QJTF0Yv4.js → status-dot-CP6runiC.js} +4 -4
  139. package/dist/chunks/{status-dot-QJTF0Yv4.js.map → status-dot-CP6runiC.js.map} +1 -1
  140. package/dist/chunks/{styles-CVJU9t9v.js → styles-hkFkoBbi.js} +2 -2
  141. package/dist/chunks/{styles-CVJU9t9v.js.map → styles-hkFkoBbi.js.map} +1 -1
  142. package/dist/chunks/{swap-text-Dr0Irxz6.js → swap-text-SlUjrTlG.js} +3 -3
  143. package/dist/chunks/swap-text-SlUjrTlG.js.map +1 -0
  144. package/dist/chunks/switch-ngywMQdl.js +76 -0
  145. package/dist/chunks/switch-ngywMQdl.js.map +1 -0
  146. package/dist/chunks/table-CTK5E0J7.js +102 -0
  147. package/dist/chunks/table-CTK5E0J7.js.map +1 -0
  148. package/dist/chunks/tag-BGr6lTSV.js +100 -0
  149. package/dist/chunks/tag-BGr6lTSV.js.map +1 -0
  150. package/dist/chunks/{text-CIXH8rmT.js → text-DkKdTVUf.js} +9 -9
  151. package/dist/chunks/text-DkKdTVUf.js.map +1 -0
  152. package/dist/chunks/{textarea--4FRL3Pb.js → textarea-CO0HP6fK.js} +47 -36
  153. package/dist/chunks/textarea-CO0HP6fK.js.map +1 -0
  154. package/dist/chunks/timeseries-Ck-q0wWn.js +381 -0
  155. package/dist/chunks/timeseries-Ck-q0wWn.js.map +1 -0
  156. package/dist/chunks/toolbar-u0Gm7Q7-.js +61 -0
  157. package/dist/chunks/toolbar-u0Gm7Q7-.js.map +1 -0
  158. package/dist/chunks/tooltip-Tkm-urbi.js +202 -0
  159. package/dist/chunks/tooltip-Tkm-urbi.js.map +1 -0
  160. package/dist/chunks/tooltip-root-BC_RNNiP.js +70 -0
  161. package/dist/chunks/tooltip-root-BC_RNNiP.js.map +1 -0
  162. package/dist/chunks/truncated-d1afmUJT.js +33 -0
  163. package/dist/chunks/truncated-d1afmUJT.js.map +1 -0
  164. package/dist/chunks/use-coarse-pointer-Ml5oE6oX.js +28 -0
  165. package/dist/chunks/use-coarse-pointer-Ml5oE6oX.js.map +1 -0
  166. package/dist/chunks/use-hydrating-COtYVRo4.js +8 -0
  167. package/dist/chunks/use-hydrating-COtYVRo4.js.map +1 -0
  168. package/dist/chunks/use-scroll-fade-uc8mWSDX.js +30 -0
  169. package/dist/chunks/use-scroll-fade-uc8mWSDX.js.map +1 -0
  170. package/dist/chunks/{zh-CN-Bm6UPIbW.js → zh-CN-BlpsT6d_.js} +73 -39
  171. package/dist/chunks/zh-CN-BlpsT6d_.js.map +1 -0
  172. package/dist/components/agent-avatar.js +1 -1
  173. package/dist/components/app-frame.js +2 -2
  174. package/dist/components/avatar.js +1 -1
  175. package/dist/components/badge.js +1 -1
  176. package/dist/components/banner.js +1 -1
  177. package/dist/components/button-group.js +22 -22
  178. package/dist/components/button-group.js.map +1 -1
  179. package/dist/components/button.js +1 -1
  180. package/dist/components/calendar.js +1 -1
  181. package/dist/components/charts/bar.js +235 -160
  182. package/dist/components/charts/bar.js.map +1 -1
  183. package/dist/components/charts/donut.js +144 -99
  184. package/dist/components/charts/donut.js.map +1 -1
  185. package/dist/components/charts/gauge.js +61 -49
  186. package/dist/components/charts/gauge.js.map +1 -1
  187. package/dist/components/charts/heatmap.js +179 -70
  188. package/dist/components/charts/heatmap.js.map +1 -1
  189. package/dist/components/charts/sankey.js +144 -77
  190. package/dist/components/charts/sankey.js.map +1 -1
  191. package/dist/components/charts/sparkline.js +54 -38
  192. package/dist/components/charts/sparkline.js.map +1 -1
  193. package/dist/components/charts/timeseries.js +1 -1
  194. package/dist/components/charts.js +2 -2
  195. package/dist/components/checkbox.js +1 -1
  196. package/dist/components/code-block.js +3 -3
  197. package/dist/components/code.js +1 -1
  198. package/dist/components/collapsible.js +77 -1
  199. package/dist/components/collapsible.js.map +1 -0
  200. package/dist/components/combobox.js +1 -1
  201. package/dist/components/command-list.js +2 -2
  202. package/dist/components/command-palette.js +89 -66
  203. package/dist/components/command-palette.js.map +1 -1
  204. package/dist/components/copy-button.js +1 -1
  205. package/dist/components/data-table.js +1 -459
  206. package/dist/components/date-picker.js +162 -151
  207. package/dist/components/date-picker.js.map +1 -1
  208. package/dist/components/dialog.js +74 -63
  209. package/dist/components/dialog.js.map +1 -1
  210. package/dist/components/display-options.js +76 -64
  211. package/dist/components/display-options.js.map +1 -1
  212. package/dist/components/empty.js +1 -1
  213. package/dist/components/field.js +1 -1
  214. package/dist/components/figure.js +2 -2
  215. package/dist/components/filter-chip.js +36 -27
  216. package/dist/components/filter-chip.js.map +1 -1
  217. package/dist/components/filter-row.js +4 -4
  218. package/dist/components/filter-row.js.map +1 -1
  219. package/dist/components/flow.js +94 -63
  220. package/dist/components/flow.js.map +1 -1
  221. package/dist/components/heading.js +1 -1
  222. package/dist/components/icon-button.js +1 -1
  223. package/dist/components/icon.js +1 -1
  224. package/dist/components/input.js +176 -98
  225. package/dist/components/input.js.map +1 -1
  226. package/dist/components/kaeso/conversation.js +51 -46
  227. package/dist/components/kaeso/conversation.js.map +1 -1
  228. package/dist/components/kaeso/identity.js +1 -1
  229. package/dist/components/kaeso/moments.js +23 -20
  230. package/dist/components/kaeso/moments.js.map +1 -1
  231. package/dist/components/kaeso/rights.js +1 -1
  232. package/dist/components/kaeso/usage.js +90 -74
  233. package/dist/components/kaeso/usage.js.map +1 -1
  234. package/dist/components/kaeso.js +200 -187
  235. package/dist/components/kaeso.js.map +1 -1
  236. package/dist/components/kbd.js +1 -1
  237. package/dist/components/key-value.js +32 -47
  238. package/dist/components/key-value.js.map +1 -1
  239. package/dist/components/label.js +1 -25
  240. package/dist/components/layout.js +2 -2
  241. package/dist/components/layout.js.map +1 -1
  242. package/dist/components/link.js +1 -1
  243. package/dist/components/list.js +1 -1
  244. package/dist/components/loader.js +11 -10
  245. package/dist/components/loader.js.map +1 -1
  246. package/dist/components/logo.js +2 -2
  247. package/dist/components/markdown.js +1 -1
  248. package/dist/components/menu.js +2 -2
  249. package/dist/components/meter.js +1 -1
  250. package/dist/components/page-header.js +1 -1
  251. package/dist/components/pagination.js +1 -1
  252. package/dist/components/playground.js +644 -529
  253. package/dist/components/playground.js.map +1 -1
  254. package/dist/components/popover.js +4 -4
  255. package/dist/components/popover.js.map +1 -1
  256. package/dist/components/portal.js +1 -1
  257. package/dist/components/qr-code.js +2 -2
  258. package/dist/components/qr-code.js.map +1 -1
  259. package/dist/components/radio.js +1 -1
  260. package/dist/components/release-art.js +1 -1
  261. package/dist/components/scroll-area.js +1 -1
  262. package/dist/components/section.js +1 -1
  263. package/dist/components/segmented.js +1 -1
  264. package/dist/components/select.js +1 -1
  265. package/dist/components/separator.js +1 -1
  266. package/dist/components/settings.js +39 -46
  267. package/dist/components/settings.js.map +1 -1
  268. package/dist/components/sheet.js +10 -9
  269. package/dist/components/sheet.js.map +1 -1
  270. package/dist/components/sidebar.js +1 -1
  271. package/dist/components/skeleton.js +1 -1
  272. package/dist/components/slider.js +1 -1
  273. package/dist/components/stat.js +98 -84
  274. package/dist/components/stat.js.map +1 -1
  275. package/dist/components/status-dot.js +1 -1
  276. package/dist/components/surface.js +1 -1
  277. package/dist/components/swap-text.js +1 -1
  278. package/dist/components/switch.js +1 -1
  279. package/dist/components/table.js +1 -1
  280. package/dist/components/tabs.js +73 -55
  281. package/dist/components/tabs.js.map +1 -1
  282. package/dist/components/tag.js +1 -1
  283. package/dist/components/text.js +1 -1
  284. package/dist/components/theme-image.js +1 -1
  285. package/dist/components/theme-menu.js +5 -2
  286. package/dist/components/theme-menu.js.map +1 -1
  287. package/dist/components/theme-select.js +1 -1
  288. package/dist/components/thumbnail.js +35 -24
  289. package/dist/components/thumbnail.js.map +1 -1
  290. package/dist/components/timeline.js +51 -35
  291. package/dist/components/timeline.js.map +1 -1
  292. package/dist/components/toast.js +76 -66
  293. package/dist/components/toast.js.map +1 -1
  294. package/dist/components/toc.js +14 -8
  295. package/dist/components/toc.js.map +1 -1
  296. package/dist/components/toolbar.js +1 -1
  297. package/dist/components/tooltip.js +1 -1
  298. package/dist/components/visually-hidden.js +1 -1
  299. package/dist/i18n-provider.js +1 -1
  300. package/dist/index.js +100 -100
  301. package/dist/kaeso.css +605 -67
  302. package/dist/styles.css +1 -1
  303. package/dist/tailwind.css +1 -1
  304. package/dist/types/blocks/delete-resource/delete-resource.d.ts +2 -2
  305. package/dist/types/components/agent-avatar/agent-avatar.d.ts +24 -19
  306. package/dist/types/components/badge/badge.d.ts +3 -3
  307. package/dist/types/components/banner/banner.d.ts +3 -3
  308. package/dist/types/components/button/button.d.ts +2 -2
  309. package/dist/types/components/button-group/button-group.d.ts +1 -1
  310. package/dist/types/components/charts/domain.d.ts +11 -0
  311. package/dist/types/components/charts/marks.d.ts +1 -0
  312. package/dist/types/components/code/code.d.ts +3 -3
  313. package/dist/types/components/code-block/json-view.d.ts +2 -1
  314. package/dist/types/components/code-block/numbers.d.ts +1 -0
  315. package/dist/types/components/collapsible/collapsible.d.ts +2 -2
  316. package/dist/types/components/collapsible/disclosure.d.ts +2 -0
  317. package/dist/types/components/data-table/data-table.d.ts +6 -5
  318. package/dist/types/components/data-table/docs.d.ts +1 -0
  319. package/dist/types/components/data-table/time-columns.d.ts +1 -0
  320. package/dist/types/components/date-picker/focus-day.d.ts +1 -0
  321. package/dist/types/components/date-picker/iso-field.d.ts +8 -1
  322. package/dist/types/components/dialog/dialog.d.ts +7 -7
  323. package/dist/types/components/field/field.d.ts +1 -1
  324. package/dist/types/components/flow/flow.d.ts +1 -1
  325. package/dist/types/components/icon-button/icon-button.d.ts +1 -1
  326. package/dist/types/components/input/input-group.d.ts +2 -0
  327. package/dist/types/components/input/number-input.d.ts +4 -4
  328. package/dist/types/components/input/otp-input.d.ts +3 -3
  329. package/dist/types/components/kaeso/client-button.d.ts +2 -1
  330. package/dist/types/components/kaeso/provider-picker.d.ts +1 -0
  331. package/dist/types/components/kaeso/rights.d.ts +1 -1
  332. package/dist/types/components/kaeso/role-picker.d.ts +1 -0
  333. package/dist/types/components/key-value/key-value.d.ts +2 -2
  334. package/dist/types/components/layout/layout.d.ts +2 -2
  335. package/dist/types/components/link/link.d.ts +4 -4
  336. package/dist/types/components/list/list.d.ts +2 -2
  337. package/dist/types/components/menu/menu.d.ts +2 -1
  338. package/dist/types/components/menu/styles.d.ts +3 -3
  339. package/dist/types/components/meter/meter.d.ts +3 -3
  340. package/dist/types/components/page-header/page-header.d.ts +1 -1
  341. package/dist/types/components/pagination/pagination.d.ts +2 -2
  342. package/dist/types/components/playground/prompt-suggestions.d.ts +1 -0
  343. package/dist/types/components/playground/reasoning-frame.d.ts +14 -0
  344. package/dist/types/components/playground/reasoning.d.ts +1 -0
  345. package/dist/types/components/popover/popover.d.ts +1 -1
  346. package/dist/types/components/scroll-area/scroll-area.d.ts +2 -2
  347. package/dist/types/components/section/section-header.d.ts +6 -0
  348. package/dist/types/components/segmented/segmented.d.ts +1 -0
  349. package/dist/types/components/select/select.d.ts +1 -1
  350. package/dist/types/components/sheet/sheet.d.ts +3 -3
  351. package/dist/types/components/sidebar/sidebar.d.ts +1 -0
  352. package/dist/types/components/slider/slider.d.ts +2 -2
  353. package/dist/types/components/stat/stat.d.ts +1 -1
  354. package/dist/types/components/tabs/tabs.d.ts +6 -4
  355. package/dist/types/components/text/truncated.d.ts +7 -0
  356. package/dist/types/components/timeline/timeline.d.ts +5 -5
  357. package/dist/types/components/toc/toc.d.ts +1 -1
  358. package/dist/types/components/toolbar/toolbar.d.ts +1 -1
  359. package/dist/types/components/tooltip/tooltip.d.ts +2 -2
  360. package/dist/types/components/tooltip/trigger-props.d.ts +1 -0
  361. package/dist/types/hooks/use-coarse-pointer.d.ts +1 -0
  362. package/dist/types/hooks/use-hydrating.d.ts +1 -0
  363. package/dist/types/utils/arrow-focus.d.ts +4 -1
  364. package/dist/types/utils/cn.d.ts +33 -0
  365. package/dist/types/utils/portal-context.d.ts +7 -1
  366. package/dist/utils.js +2 -2
  367. package/foundations/accessibility.md +3 -2
  368. package/foundations/color.md +5 -1
  369. package/foundations/elevation.md +1 -0
  370. package/foundations/motion.md +1 -1
  371. package/foundations/shape.md +2 -2
  372. package/foundations/typography.md +12 -12
  373. package/package.json +2 -2
  374. package/dist/chunks/agent-avatar-0pdBTWkR.js +0 -171
  375. package/dist/chunks/agent-avatar-0pdBTWkR.js.map +0 -1
  376. package/dist/chunks/app-frame-DogGRmsu.js +0 -221
  377. package/dist/chunks/app-frame-DogGRmsu.js.map +0 -1
  378. package/dist/chunks/arrow-focus-BcySmwwU.js +0 -11
  379. package/dist/chunks/arrow-focus-BcySmwwU.js.map +0 -1
  380. package/dist/chunks/avatar-CWbdwbJv.js +0 -83
  381. package/dist/chunks/avatar-CWbdwbJv.js.map +0 -1
  382. package/dist/chunks/badge-C2KtxCLB.js +0 -26
  383. package/dist/chunks/badge-C2KtxCLB.js.map +0 -1
  384. package/dist/chunks/banner-BA2ALw9M.js +0 -85
  385. package/dist/chunks/banner-BA2ALw9M.js.map +0 -1
  386. package/dist/chunks/button-CzuxqawA.js +0 -164
  387. package/dist/chunks/button-CzuxqawA.js.map +0 -1
  388. package/dist/chunks/calendar-BWaf2MXc.js.map +0 -1
  389. package/dist/chunks/checkbox-CQjwCPkc.js +0 -126
  390. package/dist/chunks/checkbox-CQjwCPkc.js.map +0 -1
  391. package/dist/chunks/cn-Dj6sRgkF.js.map +0 -1
  392. package/dist/chunks/code-block-BZIe_B9l.js +0 -334
  393. package/dist/chunks/code-block-BZIe_B9l.js.map +0 -1
  394. package/dist/chunks/code-block-DdNPHEzI.js.map +0 -1
  395. package/dist/chunks/code-tqj0uhBL.js.map +0 -1
  396. package/dist/chunks/collapsible-CKrCX_T9.js +0 -87
  397. package/dist/chunks/collapsible-CKrCX_T9.js.map +0 -1
  398. package/dist/chunks/combobox-DjDI7SUC.js +0 -319
  399. package/dist/chunks/combobox-DjDI7SUC.js.map +0 -1
  400. package/dist/chunks/command-list-C2Y7V_lt.js +0 -418
  401. package/dist/chunks/command-list-C2Y7V_lt.js.map +0 -1
  402. package/dist/chunks/copy-button-FJvPJn72.js.map +0 -1
  403. package/dist/chunks/core-BYns5ytV.js +0 -472
  404. package/dist/chunks/core-BYns5ytV.js.map +0 -1
  405. package/dist/chunks/date-popup-CPA_zt6o.js +0 -35
  406. package/dist/chunks/date-popup-CPA_zt6o.js.map +0 -1
  407. package/dist/chunks/de-D_0mmG-k.js.map +0 -1
  408. package/dist/chunks/dialog-Cg9A_6SF.js.map +0 -1
  409. package/dist/chunks/field-TviMvYa2.js.map +0 -1
  410. package/dist/chunks/hidden-description-B2zSmLcn.js +0 -23
  411. package/dist/chunks/hidden-description-B2zSmLcn.js.map +0 -1
  412. package/dist/chunks/icon-button-CrdF_eMG.js.map +0 -1
  413. package/dist/chunks/input-2VJuj_M4.js.map +0 -1
  414. package/dist/chunks/input-group-DQ_4DoXg.js.map +0 -1
  415. package/dist/chunks/iso-field-B2rTwiBo.js +0 -33
  416. package/dist/chunks/iso-field-B2rTwiBo.js.map +0 -1
  417. package/dist/chunks/json-view-Dqd2TDkc.js +0 -175
  418. package/dist/chunks/json-view-Dqd2TDkc.js.map +0 -1
  419. package/dist/chunks/kbd-BF1vKXJf.js.map +0 -1
  420. package/dist/chunks/link-KWI7PevW.js.map +0 -1
  421. package/dist/chunks/list-M1csq-d4.js +0 -494
  422. package/dist/chunks/list-M1csq-d4.js.map +0 -1
  423. package/dist/chunks/markdown-BupwFOae.js +0 -313
  424. package/dist/chunks/markdown-BupwFOae.js.map +0 -1
  425. package/dist/chunks/menu-DEmBfdPm.js +0 -450
  426. package/dist/chunks/menu-DEmBfdPm.js.map +0 -1
  427. package/dist/chunks/meter-Bj4N3Xuh.js +0 -84
  428. package/dist/chunks/meter-Bj4N3Xuh.js.map +0 -1
  429. package/dist/chunks/nav-sheet-CzgIwgAm.js +0 -60
  430. package/dist/chunks/nav-sheet-CzgIwgAm.js.map +0 -1
  431. package/dist/chunks/nav-wordmark-_pjheAsZ.js.map +0 -1
  432. package/dist/chunks/page-header-DL2y2iZp.js +0 -41
  433. package/dist/chunks/page-header-DL2y2iZp.js.map +0 -1
  434. package/dist/chunks/pagination-Cn_qF4cg.js +0 -86
  435. package/dist/chunks/pagination-Cn_qF4cg.js.map +0 -1
  436. package/dist/chunks/picker-popover-BxyU1U9F.js +0 -106
  437. package/dist/chunks/picker-popover-BxyU1U9F.js.map +0 -1
  438. package/dist/chunks/popover-DNN4S47w.js +0 -50
  439. package/dist/chunks/popover-DNN4S47w.js.map +0 -1
  440. package/dist/chunks/portal-context-BBbzDKmY.js.map +0 -1
  441. package/dist/chunks/radio-CDDFpdtL.js.map +0 -1
  442. package/dist/chunks/range-popup-CRyWYUB1.js +0 -128
  443. package/dist/chunks/range-popup-CRyWYUB1.js.map +0 -1
  444. package/dist/chunks/release-art-ZwfFQImt.js +0 -561
  445. package/dist/chunks/release-art-ZwfFQImt.js.map +0 -1
  446. package/dist/chunks/rights-Cyp0Pzp-.js +0 -279
  447. package/dist/chunks/rights-Cyp0Pzp-.js.map +0 -1
  448. package/dist/chunks/scroll-area-D8MD7Vpo.js.map +0 -1
  449. package/dist/chunks/scroll-parent-WXvzQcUo.js +0 -14
  450. package/dist/chunks/scroll-parent-WXvzQcUo.js.map +0 -1
  451. package/dist/chunks/section-Ce1efbsP.js +0 -87
  452. package/dist/chunks/section-Ce1efbsP.js.map +0 -1
  453. package/dist/chunks/segmented-CErcoxwi.js +0 -114
  454. package/dist/chunks/segmented-CErcoxwi.js.map +0 -1
  455. package/dist/chunks/select-x4XVsdCI.js +0 -210
  456. package/dist/chunks/select-x4XVsdCI.js.map +0 -1
  457. package/dist/chunks/separator-D7TzNHmX.js.map +0 -1
  458. package/dist/chunks/sidebar-3r1ZRXlN.js +0 -621
  459. package/dist/chunks/sidebar-3r1ZRXlN.js.map +0 -1
  460. package/dist/chunks/skeleton-Dcz57Zyp.js.map +0 -1
  461. package/dist/chunks/slider-Ci83PGtj.js +0 -57
  462. package/dist/chunks/slider-Ci83PGtj.js.map +0 -1
  463. package/dist/chunks/swap-text-Dr0Irxz6.js.map +0 -1
  464. package/dist/chunks/switch-BNMq_kGt.js +0 -59
  465. package/dist/chunks/switch-BNMq_kGt.js.map +0 -1
  466. package/dist/chunks/table-BeOSKl_3.js +0 -84
  467. package/dist/chunks/table-BeOSKl_3.js.map +0 -1
  468. package/dist/chunks/tag-D_M1s2qS.js +0 -87
  469. package/dist/chunks/tag-D_M1s2qS.js.map +0 -1
  470. package/dist/chunks/text-CIXH8rmT.js.map +0 -1
  471. package/dist/chunks/textarea--4FRL3Pb.js.map +0 -1
  472. package/dist/chunks/timeseries-D1xjRXfk.js +0 -339
  473. package/dist/chunks/timeseries-D1xjRXfk.js.map +0 -1
  474. package/dist/chunks/toolbar-WA_oZgu-.js +0 -37
  475. package/dist/chunks/toolbar-WA_oZgu-.js.map +0 -1
  476. package/dist/chunks/tooltip-OcwO0VUT.js +0 -154
  477. package/dist/chunks/tooltip-OcwO0VUT.js.map +0 -1
  478. package/dist/chunks/tooltip-root-DzahJDVj.js +0 -60
  479. package/dist/chunks/tooltip-root-DzahJDVj.js.map +0 -1
  480. package/dist/chunks/zh-CN-Bm6UPIbW.js.map +0 -1
  481. package/dist/components/data-table.js.map +0 -1
  482. package/dist/components/label.js.map +0 -1
@@ -0,0 +1,352 @@
1
+ "use client";
2
+ import { i as e, o as t, r as n } from "./styles-hkFkoBbi.js";
3
+ import { t as r } from "./cn-BjnOAUrA.js";
4
+ import { i } from "./dev-CR1p7gCm.js";
5
+ import { n as ee, r as te } from "./portal-context-CTatR2Z8.js";
6
+ import { i as a } from "./context-BELWW79w.js";
7
+ import { t as o } from "./icon-CBzOwqrX.js";
8
+ import { a as ne, o as re, s as ie } from "./field-D7m-yl-D.js";
9
+ import { a as s, i as c } from "./input-group-jPcK9T_a.js";
10
+ import { a as l } from "./tag-BGr6lTSV.js";
11
+ import { n as u, t as ae } from "./use-layout-width-CbSDbRb0.js";
12
+ import { forwardRef as d, useEffect as oe, useMemo as f, useRef as p, useState as m } from "react";
13
+ import { Fragment as h, jsx as g, jsxs as _ } from "react/jsx-runtime";
14
+ import { Add01Icon as v, ArrowDown01Icon as y, Cancel01Icon as b, Tick02Icon as x } from "@hugeicons/core-free-icons";
15
+ import { Combobox as S } from "@base-ui/react/combobox";
16
+ import { Autocomplete as C } from "@base-ui/react/autocomplete";
17
+ //#region src/components/combobox/combobox.tsx
18
+ var w = { size: {
19
+ sm: { classes: c.size.sm.classes },
20
+ md: { classes: c.size.md.classes },
21
+ lg: { classes: c.size.lg.classes },
22
+ xl: { classes: c.size.xl.classes }
23
+ } }, T = { size: "md" }, E = /* @__PURE__ */ d(function({ text: e, query: t }, n) {
24
+ let r = t.trim().toLowerCase();
25
+ if (!r) return /* @__PURE__ */ g("span", {
26
+ ref: n,
27
+ children: e
28
+ });
29
+ let i = e.toLowerCase().indexOf(r);
30
+ return i < 0 ? /* @__PURE__ */ g("span", {
31
+ ref: n,
32
+ className: "text-fg-secondary group-data-disabled/item:text-fg-disabled",
33
+ children: e
34
+ }) : /* @__PURE__ */ _("span", {
35
+ ref: n,
36
+ className: "text-fg-secondary group-data-disabled/item:text-fg-disabled",
37
+ children: [
38
+ e.slice(0, i),
39
+ /* @__PURE__ */ g("span", {
40
+ className: "text-fg group-data-disabled/item:text-fg-disabled",
41
+ children: e.slice(i, i + r.length)
42
+ }),
43
+ e.slice(i + r.length)
44
+ ]
45
+ });
46
+ });
47
+ process.env.NODE_ENV !== "production" && (E.displayName = "Highlight");
48
+ var D = {
49
+ sm: {
50
+ field: "min-h-32 p-4 pe-32",
51
+ row: "h-24",
52
+ chevron: "end-2 top-2"
53
+ },
54
+ md: {
55
+ field: "min-h-36 p-4 pe-36",
56
+ row: "h-28",
57
+ chevron: "end-4 top-4"
58
+ },
59
+ lg: {
60
+ field: "min-h-40 p-6 pe-36",
61
+ row: "h-28",
62
+ chevron: "end-6 top-6"
63
+ },
64
+ xl: {
65
+ field: "min-h-48 p-8 pe-40 text-body-lg",
66
+ row: "h-32",
67
+ chevron: "end-10 top-10"
68
+ }
69
+ }, O = "inline-flex size-28 shrink-0 items-center justify-center rounded-pill text-fg-tertiary transition-control hover:bg-raised-hover hover:text-fg";
70
+ function k(e) {
71
+ e.key === "Escape" && e.currentTarget.getAttribute("aria-expanded") !== "true" && e.preventBaseUIHandler?.();
72
+ }
73
+ var A = /* @__PURE__ */ d(function(s, c) {
74
+ let { options: d, placeholder: C, size: T = "md", emptyText: A, loading: j, onInputValueChange: M, searchDelay: N = 0, onCreate: P, createLabel: F, disabled: I, invalid: se, id: L, name: R, label: z, description: B, error: V, optional: ce, required: le, layout: ue, className: H, multiple: U, "aria-label": W, "data-force": G } = s;
75
+ i("Combobox", H);
76
+ let K = a(), de = ne(), fe = re(s), [q, pe] = m(""), J = p(null), me = u(J), [he, ge] = m(() => s.defaultValue ?? (U ? [] : null)), Y = s.value === void 0 ? he : s.value, X = (Array.isArray(Y) ? Y : Y == null ? [] : [Y]).join("\0"), _e = p(/* @__PURE__ */ new Map()), ve = f(() => {
77
+ let e = new Set(X ? X.split("\0") : []), t = /* @__PURE__ */ new Map();
78
+ for (let [n, r] of _e.current) e.has(n) && t.set(n, r);
79
+ for (let e of d) t.set(e.value, e);
80
+ return _e.current = t, t;
81
+ }, [d, X]), { filtered: Z, hidden: ye } = f(() => {
82
+ let e = q.trim().toLowerCase(), t = e ? d.filter((t) => t.label.toLowerCase().includes(e) || t.value.toLowerCase().includes(e)) : d, n = t.slice(0, 100);
83
+ return P && e && !d.some((t) => t.label.toLowerCase() === e) && n.push({
84
+ value: `__create__${q}`,
85
+ label: q.trim(),
86
+ __create: !0
87
+ }), {
88
+ filtered: n,
89
+ hidden: Math.max(0, t.length - 100)
90
+ };
91
+ }, [
92
+ d,
93
+ q,
94
+ P
95
+ ]), Q = p(M);
96
+ Q.current = M;
97
+ let $ = p(null);
98
+ oe(() => {
99
+ let e = $;
100
+ return () => {
101
+ e.current && clearTimeout(e.current);
102
+ };
103
+ }, []);
104
+ let be = (e) => {
105
+ if (N <= 0) return Q.current?.(e);
106
+ $.current && clearTimeout($.current), $.current = setTimeout(() => {
107
+ $.current = null, Q.current?.(e);
108
+ }, N);
109
+ }, xe = Array.isArray(Y) ? Y.flatMap((e) => ve.get(e) ?? []) : Y == null ? null : ve.get(Y) ?? null, Se = (e) => {
110
+ let t = Array.isArray(e) ? e : null, n = (t ?? [e]).find((e) => e && "__create" in e);
111
+ if (n) {
112
+ P?.(n.label);
113
+ return;
114
+ }
115
+ let r = U ? (t ?? []).map((e) => e.value) : e?.value ?? null;
116
+ s.value === void 0 && ge(r), s.onValueChange?.(r);
117
+ }, Ce = /* @__PURE__ */ g(S.Input, {
118
+ ref: c,
119
+ placeholder: C,
120
+ ...L ? { id: L } : {},
121
+ ...fe.controlProps,
122
+ ...W ? { "aria-label": W } : {},
123
+ ...se || V ? { "aria-invalid": !0 } : {},
124
+ onKeyDown: k,
125
+ className: "min-w-0 flex-1 bg-transparent text-fg outline-none placeholder:text-fg-tertiary disabled:cursor-not-allowed disabled:text-fg-disabled"
126
+ }), we = /* @__PURE__ */ _(S.Root, {
127
+ items: Z,
128
+ filteredItems: Z,
129
+ value: xe,
130
+ onValueChange: Se,
131
+ onInputValueChange: (e) => {
132
+ pe(e), be(e);
133
+ },
134
+ autoHighlight: !0,
135
+ itemToStringLabel: (e) => e?.label ?? "",
136
+ isItemEqualToValue: (e, t) => e?.value === t?.value,
137
+ multiple: U === !0,
138
+ ...I ? { disabled: I } : {},
139
+ ...R ? { name: R } : {},
140
+ children: [U ? /* @__PURE__ */ g(S.Chips, {
141
+ ref: J,
142
+ ...G ? { "data-force": G } : {},
143
+ className: r("relative flex w-full flex-wrap items-center gap-4 rounded-field material-field transition-control cursor-text", D[T].field, !(z || B || V) && H),
144
+ children: /* @__PURE__ */ g(S.Value, { children: (e) => /* @__PURE__ */ _(h, { children: [
145
+ e.map((e) => /* @__PURE__ */ g(S.Chip, {
146
+ "aria-label": e.label,
147
+ className: "outline-none",
148
+ children: /* @__PURE__ */ _(l, {
149
+ className: "pe-2",
150
+ children: [e.label, /* @__PURE__ */ g(S.ChipRemove, {
151
+ "aria-label": K("combobox.remove", "Remove {label}", { label: e.label }),
152
+ className: "ms-2 inline-flex size-24 items-center justify-center rounded-pill text-fg-tertiary transition-control hover:bg-fill-2 hover:text-fg",
153
+ children: /* @__PURE__ */ g(o, {
154
+ icon: b,
155
+ size: "xs"
156
+ })
157
+ })]
158
+ })
159
+ }, e.value)),
160
+ /* @__PURE__ */ g("span", {
161
+ className: r("flex min-w-64 flex-1 basis-64 items-center", D[T].row, e.length === 0 ? "px-12" : "px-8"),
162
+ children: Ce
163
+ }),
164
+ /* @__PURE__ */ g(S.Trigger, {
165
+ "aria-label": K("combobox.showOptions", "Show options"),
166
+ className: r(O, "absolute", D[T].chevron),
167
+ children: /* @__PURE__ */ g(o, {
168
+ icon: y,
169
+ size: "sm"
170
+ })
171
+ })
172
+ ] }) })
173
+ }) : /* @__PURE__ */ _(S.InputGroup, {
174
+ ref: J,
175
+ ...G ? { "data-force": G } : {},
176
+ className: r("relative flex w-full min-w-0 items-center rounded-pill material-field transition-control cursor-text", w.size[T].classes, "pe-4", !(z || B || V) && H),
177
+ children: [Ce, /* @__PURE__ */ g(S.Trigger, {
178
+ "aria-label": K("combobox.showOptions", "Show options"),
179
+ className: O,
180
+ children: /* @__PURE__ */ g(o, {
181
+ icon: y,
182
+ size: "sm"
183
+ })
184
+ })]
185
+ }), /* @__PURE__ */ g(S.Portal, {
186
+ container: te(),
187
+ children: /* @__PURE__ */ g(S.Positioner, {
188
+ anchor: J,
189
+ positionMethod: "fixed",
190
+ collisionBoundary: ee(),
191
+ align: "start",
192
+ sideOffset: 6,
193
+ collisionPadding: 8,
194
+ className: "z-50 outline-none",
195
+ children: /* @__PURE__ */ _(S.Popup, {
196
+ className: r(t, "relative min-w-anchor overflow-hidden"),
197
+ style: ae(me),
198
+ children: [
199
+ j && /* @__PURE__ */ g("span", {
200
+ "aria-hidden": !0,
201
+ className: "absolute inset-x-16 top-0 h-2 overflow-hidden rounded-pill show-after-delay reduced:hidden",
202
+ children: /* @__PURE__ */ g("span", { className: "block h-full w-1/3 animate-indeterminate rounded-pill bg-fg-tertiary" })
203
+ }),
204
+ /* @__PURE__ */ g(S.Status, {
205
+ className: "sr-only",
206
+ children: j ? K("combobox.loadingResults", "Loading results") : ""
207
+ }),
208
+ /* @__PURE__ */ g(S.Empty, {
209
+ className: "flex h-34 items-center px-10 text-body text-fg-secondary empty:hidden",
210
+ children: j ? K("combobox.loading", "Loading…") : A ?? (q.trim() ? K("combobox.noMatch", "No matches for “{query}”", { query: q.trim() }) : K("combobox.noResults", "No results"))
211
+ }),
212
+ /* @__PURE__ */ g(S.List, {
213
+ className: "-m-6 flex min-h-0 flex-col overflow-y-auto overscroll-contain p-6 outline-none scrollbar-quiet",
214
+ children: (t) => /* @__PURE__ */ g(S.Item, {
215
+ value: t,
216
+ ...t.disabled ? { disabled: !0 } : {},
217
+ className: e,
218
+ children: "__create" in t ? /* @__PURE__ */ _(h, { children: [/* @__PURE__ */ g(o, {
219
+ icon: v,
220
+ size: "sm",
221
+ className: n
222
+ }), /* @__PURE__ */ g("span", {
223
+ className: "min-w-0 flex-1 truncate",
224
+ children: F ? F(t.label) : K("combobox.add", "Add “{label}”", { label: t.label })
225
+ })] }) : /* @__PURE__ */ _(h, { children: [
226
+ t.leading,
227
+ t.icon && /* @__PURE__ */ g(o, {
228
+ icon: t.icon,
229
+ size: "sm",
230
+ className: "text-fg-secondary group-data-highlighted/item:text-fg group-data-disabled/item:text-fg-disabled forced-colors:text-current"
231
+ }),
232
+ /* @__PURE__ */ _("span", {
233
+ className: r("flex min-w-0 flex-1 flex-col", t.description && "gap-2 py-8"),
234
+ children: [/* @__PURE__ */ g("span", {
235
+ className: "truncate",
236
+ children: /* @__PURE__ */ g(E, {
237
+ text: t.label,
238
+ query: q
239
+ })
240
+ }), t.description && /* @__PURE__ */ g("span", {
241
+ className: "text-small font-regular text-fg-secondary",
242
+ children: t.description
243
+ })]
244
+ }),
245
+ /* @__PURE__ */ g(S.ItemIndicator, {
246
+ keepMounted: !0,
247
+ className: "flex size-16 shrink-0 items-center justify-center text-fg opacity-0 data-selected:opacity-100",
248
+ children: /* @__PURE__ */ g(o, {
249
+ icon: x,
250
+ size: "sm"
251
+ })
252
+ })
253
+ ] })
254
+ }, t.value)
255
+ }),
256
+ ye > 0 && /* @__PURE__ */ g("div", {
257
+ className: "flex h-28 shrink-0 items-center px-10 text-caption font-medium text-fg-tertiary",
258
+ children: K("combobox.more", "{count, plural, one {# more; type to narrow it down} other {# more; type to narrow them down}}", { count: ye })
259
+ })
260
+ ]
261
+ })
262
+ })
263
+ })]
264
+ });
265
+ return de ? we : ie({
266
+ label: z,
267
+ description: B,
268
+ error: V,
269
+ optional: ce,
270
+ required: le,
271
+ layout: ue,
272
+ id: fe.wrapId ?? L,
273
+ disabled: I,
274
+ className: H
275
+ }, we);
276
+ });
277
+ process.env.NODE_ENV !== "production" && (A.displayName = "Combobox");
278
+ var j = { size: w.size }, M = { size: "md" }, N = /* @__PURE__ */ d(function(n, i) {
279
+ let { suggestions: a, value: c, defaultValue: l, onValueChange: d, placeholder: oe, size: f = "md", disabled: h, id: v, name: y, leadingIcon: b, label: x, description: S, error: w, optional: T, required: D, layout: O, className: A, "aria-label": M, "data-force": N } = n, P = ne(), F = re(n), [I, se] = m(l ?? ""), L = p(null), R = u(L), z = c ?? I, B = /* @__PURE__ */ _(C.Root, {
280
+ items: a,
281
+ ...c === void 0 ? {} : { value: c },
282
+ ...l === void 0 ? {} : { defaultValue: l },
283
+ onValueChange: (e) => {
284
+ se(e), d?.(e);
285
+ },
286
+ ...h ? { disabled: h } : {},
287
+ ...y ? { name: y } : {},
288
+ children: [/* @__PURE__ */ _(C.InputGroup, {
289
+ ref: L,
290
+ ...N ? { "data-force": N } : {},
291
+ className: r("relative flex w-full min-w-0 items-center rounded-pill material-field transition-control cursor-text", j.size[f].classes, b && s[f], !(x || S || w) && A),
292
+ children: [b && /* @__PURE__ */ g(o, {
293
+ icon: b,
294
+ size: "sm",
295
+ className: "text-fg-tertiary"
296
+ }), /* @__PURE__ */ g(C.Input, {
297
+ ref: i,
298
+ placeholder: oe,
299
+ ...v ? { id: v } : {},
300
+ ...F.controlProps,
301
+ ...M ? { "aria-label": M } : {},
302
+ onKeyDown: k,
303
+ className: "min-w-0 flex-1 bg-transparent text-fg outline-none placeholder:text-fg-tertiary disabled:text-fg-disabled"
304
+ })]
305
+ }), /* @__PURE__ */ g(C.Portal, {
306
+ container: te(),
307
+ children: /* @__PURE__ */ g(C.Positioner, {
308
+ anchor: L,
309
+ positionMethod: "fixed",
310
+ collisionBoundary: ee(),
311
+ align: "start",
312
+ sideOffset: 6,
313
+ collisionPadding: 8,
314
+ className: "z-50 outline-none",
315
+ children: /* @__PURE__ */ g(C.Popup, {
316
+ className: r(t, "min-w-anchor overflow-hidden data-empty:hidden"),
317
+ style: ae(R),
318
+ children: /* @__PURE__ */ g(C.List, {
319
+ className: "-m-6 flex min-h-0 flex-col overflow-y-auto overscroll-contain p-6 outline-none scrollbar-quiet",
320
+ children: (t) => /* @__PURE__ */ g(C.Item, {
321
+ value: t,
322
+ className: e,
323
+ children: /* @__PURE__ */ g("span", {
324
+ className: "truncate",
325
+ children: /* @__PURE__ */ g(E, {
326
+ text: t,
327
+ query: z
328
+ })
329
+ })
330
+ }, t)
331
+ })
332
+ })
333
+ })
334
+ })]
335
+ });
336
+ return P ? B : ie({
337
+ label: x,
338
+ description: S,
339
+ error: w,
340
+ optional: T,
341
+ required: D,
342
+ layout: O,
343
+ id: F.wrapId ?? v,
344
+ disabled: h,
345
+ className: A
346
+ }, B);
347
+ });
348
+ process.env.NODE_ENV !== "production" && (N.displayName = "Autocomplete");
349
+ //#endregion
350
+ export { j as a, M as i, A as n, T as o, E as r, w as s, N as t };
351
+
352
+ //# sourceMappingURL=combobox-DkcjkWc6.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"combobox-DkcjkWc6.js","names":["Combobox","BaseCombobox","_Fragment","__icon_Cancel01Icon","__icon_ArrowDown01Icon","__icon_Add01Icon","__icon_Tick02Icon","Autocomplete","BaseAutocomplete","MENU_ITEM","MENU_POPUP","MENU_ICON","cn","pageBoundary","usePortalContainer","useUiText","Icon","useField","useFieldControl","withField","LEADING","KAESO_INPUT_GROUP_VARIANTS","Tag","useLayoutWidth","anchorWidthStyle","Fragment$1","KAESO_COMBOBOX_VARIANTS","KAESO_COMBOBOX_DEFAULT_VARIANTS","Highlight","q","query","text","CHIPS","CHEVRON","keepValueOnEscape","Combobox$1","ariaLabel","force","props","className","t","field","fc","setQuery","useState","fieldRef","useRef","fieldWidth","inner","setInner","multiple","current","chosenKey","seen","byValue","useMemo","chosen","next","v","o","options","matched","list","onCreate","report","onInputValueChange","pending","timer","reportInput","searchDelay","rootValue","handleChange","arr","created","x","inputEl","Combobox","id","invalid","error","control","filtered","a","b","disabled","name","size","label","description","value","Cancel01Icon","ArrowDown01Icon","loading","emptyText","Add01Icon","createLabel","Tick02Icon","hidden","KAESO_AUTOCOMPLETE_VARIANTS","KAESO_AUTOCOMPLETE_DEFAULT_VARIANTS","Autocomplete$1","defaultValue","Autocomplete","suggestions","onValueChange","leadingIcon","s"],"sources":["../../src/components/combobox/combobox.tsx"],"sourcesContent":["import { pageBoundary, usePortalContainer } from \"../../utils/portal-context.js\";\nimport { forwardRef, useEffect, useMemo, useRef, useState, type KeyboardEvent, type ReactNode } from \"react\";\nimport { Combobox as BaseCombobox } from \"@base-ui/react/combobox\";\nimport { Autocomplete as BaseAutocomplete } from \"@base-ui/react/autocomplete\";\nimport { cn } from \"../../utils/cn.js\";\nimport { warnStylingClassName } from \"../../utils/dev.js\";\nimport { useField, useFieldControl, withField, type FieldWrapProps } from \"../field/field.js\";\nimport { Icon, type IconData } from \"../icon/icon.js\";\nimport { Cancel01Icon as __icon_Cancel01Icon, ArrowDown01Icon as __icon_ArrowDown01Icon, Add01Icon as __icon_Add01Icon, Tick02Icon as __icon_Tick02Icon } from \"@hugeicons/core-free-icons\";\nimport { KAESO_INPUT_GROUP_VARIANTS, LEADING, type InputSize } from \"../input/input-group.js\";\nimport { Tag } from \"../tag/tag.js\";\nimport { MENU_ICON, MENU_ITEM, MENU_POPUP } from \"../menu/styles.js\";\n\nimport { anchorWidthStyle, useLayoutWidth } from \"../../hooks/use-layout-width.js\";\nimport { useUiText } from \"../../i18n/context.js\";\n\nexport const KAESO_COMBOBOX_VARIANTS = {\n size: {\n sm: {\n classes: KAESO_INPUT_GROUP_VARIANTS.size.sm.classes,\n },\n md: {\n classes: KAESO_INPUT_GROUP_VARIANTS.size.md.classes,\n },\n lg: {\n classes: KAESO_INPUT_GROUP_VARIANTS.size.lg.classes,\n },\n xl: {\n classes: KAESO_INPUT_GROUP_VARIANTS.size.xl.classes,\n },\n },\n} as const;\nexport const KAESO_COMBOBOX_DEFAULT_VARIANTS = { size: \"md\" } as const;\n\nexport interface ComboboxOption {\n value: string;\n label: string;\n description?: ReactNode | undefined;\n icon?: IconData | undefined;\n leading?: ReactNode | undefined;\n disabled?: boolean | undefined;\n}\n\ninterface CreateItem extends ComboboxOption {\n __create: true;\n}\n\nexport interface HighlightProps {\n text: string;\n query: string;\n}\n\nexport const Highlight = /* @__PURE__ */ forwardRef<HTMLSpanElement, HighlightProps>(function Highlight({ text, query }, ref) {\n const q = query.trim().toLowerCase();\n if (!q) return <span ref={ref}>{text}</span>;\n const i = text.toLowerCase().indexOf(q);\n if (i < 0)\n return (\n <span ref={ref} className=\"text-fg-secondary group-data-disabled/item:text-fg-disabled\">\n {text}\n </span>\n );\n return (\n <span ref={ref} className=\"text-fg-secondary group-data-disabled/item:text-fg-disabled\">\n {text.slice(0, i)}\n <span className=\"text-fg group-data-disabled/item:text-fg-disabled\">{text.slice(i, i + q.length)}</span>\n {text.slice(i + q.length)}\n </span>\n );\n});\nif (process.env.NODE_ENV !== \"production\") Highlight.displayName = \"Highlight\";\n\ninterface BaseProps extends FieldWrapProps {\n options: ComboboxOption[];\n placeholder?: string | undefined;\n size?: InputSize | undefined;\n emptyText?: ReactNode | undefined;\n loading?: boolean | undefined;\n onInputValueChange?: ((value: string) => void) | undefined;\n searchDelay?: number | undefined;\n onCreate?: ((label: string) => void) | undefined;\n createLabel?: ((label: string) => string) | undefined;\n disabled?: boolean | undefined;\n invalid?: boolean | undefined;\n id?: string | undefined;\n name?: string | undefined;\n \"aria-label\"?: string | undefined;\n className?: string | undefined;\n \"data-force\"?: string | undefined;\n}\nexport interface SingleComboboxProps extends BaseProps {\n multiple?: false | undefined;\n value?: string | null | undefined;\n defaultValue?: string | null | undefined;\n onValueChange?: ((value: string | null) => void) | undefined;\n}\nexport interface MultiComboboxProps extends BaseProps {\n multiple: true;\n value?: string[] | undefined;\n defaultValue?: string[] | undefined;\n onValueChange?: ((value: string[]) => void) | undefined;\n}\nexport type ComboboxProps = SingleComboboxProps | MultiComboboxProps;\n\nconst CHIPS: Record<InputSize, { field: string; row: string; chevron: string }> = {\n sm: { field: \"min-h-32 p-4 pe-32\", row: \"h-24\", chevron: \"end-2 top-2\" },\n md: { field: \"min-h-36 p-4 pe-36\", row: \"h-28\", chevron: \"end-4 top-4\" },\n lg: { field: \"min-h-40 p-6 pe-36\", row: \"h-28\", chevron: \"end-6 top-6\" },\n xl: { field: \"min-h-48 p-8 pe-40 text-body-lg\", row: \"h-32\", chevron: \"end-10 top-10\" },\n};\n\nconst CHEVRON = \"inline-flex size-28 shrink-0 items-center justify-center rounded-pill text-fg-tertiary transition-control hover:bg-raised-hover hover:text-fg\";\n\nfunction keepValueOnEscape(e: KeyboardEvent<HTMLInputElement> & { preventBaseUIHandler?: (() => void) | undefined }) {\n if (e.key === \"Escape\" && e.currentTarget.getAttribute(\"aria-expanded\") !== \"true\") e.preventBaseUIHandler?.();\n}\n\nexport const Combobox = /* @__PURE__ */ forwardRef<HTMLInputElement, ComboboxProps>(function Combobox(props, ref) {\n const {\n options,\n placeholder,\n size = \"md\",\n emptyText,\n loading,\n onInputValueChange,\n searchDelay = 0,\n onCreate,\n createLabel,\n disabled,\n invalid,\n id,\n name,\n label,\n description,\n error,\n optional,\n required,\n layout,\n className,\n multiple,\n \"aria-label\": ariaLabel,\n \"data-force\": force,\n } = props;\n warnStylingClassName(\"Combobox\", className);\n const t = useUiText();\n const field = useField();\n const fc = useFieldControl(props);\n const [query, setQuery] = useState(\"\");\n const fieldRef = useRef<HTMLDivElement | null>(null);\n const fieldWidth = useLayoutWidth(fieldRef);\n const [inner, setInner] = useState<string | null | string[]>(() => props.defaultValue ?? (multiple ? [] : null));\n const current = props.value !== undefined ? props.value : inner;\n const chosenKey = (Array.isArray(current) ? current : current == null ? [] : [current]).join(\"\\u0000\");\n const seen = useRef(new Map<string, ComboboxOption>());\n const byValue = useMemo(() => {\n const chosen = new Set(chosenKey ? chosenKey.split(\"\\u0000\") : []);\n const next = new Map<string, ComboboxOption>();\n for (const [v, o] of seen.current) if (chosen.has(v)) next.set(v, o);\n for (const o of options) next.set(o.value, o);\n seen.current = next;\n return next;\n }, [options, chosenKey]);\n const { filtered, hidden } = useMemo(() => {\n const SHOWN_AT_MOST = 100;\n const q = query.trim().toLowerCase();\n const matched = q ? options.filter((o) => o.label.toLowerCase().includes(q) || o.value.toLowerCase().includes(q)) : options;\n const list: (ComboboxOption | CreateItem)[] = matched.slice(0, SHOWN_AT_MOST);\n if (onCreate && q && !options.some((o) => o.label.toLowerCase() === q))\n list.push({\n value: `__create__${query}`,\n label: query.trim(),\n __create: true,\n });\n return { filtered: list, hidden: Math.max(0, matched.length - SHOWN_AT_MOST) };\n }, [options, query, onCreate]);\n const report = useRef(onInputValueChange);\n report.current = onInputValueChange;\n const pending = useRef<ReturnType<typeof setTimeout> | null>(null);\n useEffect(() => {\n const timer = pending;\n return () => {\n if (timer.current) clearTimeout(timer.current);\n };\n }, []);\n const reportInput = (v: string) => {\n if (searchDelay <= 0) return report.current?.(v);\n if (pending.current) clearTimeout(pending.current);\n pending.current = setTimeout(() => {\n pending.current = null;\n report.current?.(v);\n }, searchDelay);\n };\n const rootValue = Array.isArray(current) ? current.flatMap((v) => byValue.get(v) ?? []) : current == null ? null : (byValue.get(current) ?? null);\n\n const handleChange = (v: unknown) => {\n const arr = Array.isArray(v) ? (v as (ComboboxOption | CreateItem)[]) : null;\n const created = (arr ?? [v as ComboboxOption | CreateItem | null]).find((x) => x && \"__create\" in x) as CreateItem | undefined;\n if (created) {\n onCreate?.(created.label);\n return;\n }\n const next = multiple ? (arr ?? []).map((x) => x.value) : ((v as ComboboxOption | null)?.value ?? null);\n if (props.value === undefined) setInner(next);\n if (multiple) (props.onValueChange as ((x: string[]) => void) | undefined)?.(next as string[]);\n else (props.onValueChange as ((x: string | null) => void) | undefined)?.(next as string | null);\n };\n\n const inputEl = (\n <BaseCombobox.Input\n ref={ref}\n placeholder={placeholder}\n {...(id ? { id } : {})}\n {...fc.controlProps}\n {...(ariaLabel ? { \"aria-label\": ariaLabel } : {})}\n {...(invalid || error ? { \"aria-invalid\": true } : {})}\n onKeyDown={keepValueOnEscape}\n className=\"min-w-0 flex-1 bg-transparent text-fg outline-none placeholder:text-fg-tertiary disabled:cursor-not-allowed disabled:text-fg-disabled\"\n />\n );\n\n const control = (\n <BaseCombobox.Root\n items={filtered}\n filteredItems={filtered}\n value={rootValue}\n onValueChange={handleChange}\n onInputValueChange={(v: string) => {\n setQuery(v);\n reportInput(v);\n }}\n autoHighlight\n itemToStringLabel={(o: ComboboxOption) => o?.label ?? \"\"}\n isItemEqualToValue={(a: ComboboxOption, b: ComboboxOption) => a?.value === b?.value}\n multiple={multiple === true}\n {...(disabled ? { disabled } : {})}\n {...(name ? { name } : {})}\n >\n {multiple ? (\n <BaseCombobox.Chips\n ref={fieldRef}\n {...(force ? { \"data-force\": force } : {})}\n className={cn(\n \"relative flex w-full flex-wrap items-center gap-4 rounded-field material-field transition-control cursor-text\",\n CHIPS[size].field,\n !(label || description || error) && className,\n )}\n >\n <BaseCombobox.Value>\n {(value: ComboboxOption[]) => (\n <>\n {value.map((o) => (\n <BaseCombobox.Chip key={o.value} aria-label={o.label} className=\"outline-none\">\n <Tag className=\"pe-2\">\n {o.label}\n <BaseCombobox.ChipRemove\n aria-label={t(\"combobox.remove\", \"Remove {label}\", { label: o.label })}\n className=\"ms-2 inline-flex size-24 items-center justify-center rounded-pill text-fg-tertiary transition-control hover:bg-fill-2 hover:text-fg\"\n >\n <Icon icon={__icon_Cancel01Icon} size=\"xs\" />\n </BaseCombobox.ChipRemove>\n </Tag>\n </BaseCombobox.Chip>\n ))}\n <span className={cn(\"flex min-w-64 flex-1 basis-64 items-center\", CHIPS[size].row, value.length === 0 ? \"px-12\" : \"px-8\")}>{inputEl}</span>\n <BaseCombobox.Trigger aria-label={t(\"combobox.showOptions\", \"Show options\")} className={cn(CHEVRON, \"absolute\", CHIPS[size].chevron)}>\n <Icon icon={__icon_ArrowDown01Icon} size=\"sm\" />\n </BaseCombobox.Trigger>\n </>\n )}\n </BaseCombobox.Value>\n </BaseCombobox.Chips>\n ) : (\n <BaseCombobox.InputGroup\n ref={fieldRef}\n {...(force ? { \"data-force\": force } : {})}\n className={cn(\n \"relative flex w-full min-w-0 items-center rounded-pill material-field transition-control cursor-text\",\n KAESO_COMBOBOX_VARIANTS.size[size].classes,\n \"pe-4\",\n !(label || description || error) && className,\n )}\n >\n {inputEl}\n <BaseCombobox.Trigger aria-label={t(\"combobox.showOptions\", \"Show options\")} className={CHEVRON}>\n <Icon icon={__icon_ArrowDown01Icon} size=\"sm\" />\n </BaseCombobox.Trigger>\n </BaseCombobox.InputGroup>\n )}\n <BaseCombobox.Portal container={usePortalContainer()}>\n <BaseCombobox.Positioner\n anchor={fieldRef}\n positionMethod=\"fixed\"\n collisionBoundary={pageBoundary()}\n align=\"start\"\n sideOffset={6}\n collisionPadding={8}\n className=\"z-50 outline-none\"\n >\n <BaseCombobox.Popup className={cn(MENU_POPUP, \"relative min-w-anchor overflow-hidden\")} style={anchorWidthStyle(fieldWidth)}>\n {loading && (\n <span aria-hidden className=\"absolute inset-x-16 top-0 h-2 overflow-hidden rounded-pill show-after-delay reduced:hidden\">\n <span className=\"block h-full w-1/3 animate-indeterminate rounded-pill bg-fg-tertiary\" />\n </span>\n )}\n <BaseCombobox.Status className=\"sr-only\">{loading ? t(\"combobox.loadingResults\", \"Loading results\") : \"\"}</BaseCombobox.Status>\n <BaseCombobox.Empty className=\"flex h-34 items-center px-10 text-body text-fg-secondary empty:hidden\">\n {loading\n ? t(\"combobox.loading\", \"Loading…\")\n : (emptyText ??\n (query.trim() ? t(\"combobox.noMatch\", \"No matches for “{query}”\", { query: query.trim() }) : t(\"combobox.noResults\", \"No results\")))}\n </BaseCombobox.Empty>\n <BaseCombobox.List className=\"-m-6 flex min-h-0 flex-col overflow-y-auto overscroll-contain p-6 outline-none scrollbar-quiet\">\n {(o: ComboboxOption | CreateItem) => (\n <BaseCombobox.Item key={o.value} value={o} {...(o.disabled ? { disabled: true } : {})} className={MENU_ITEM}>\n {\"__create\" in o ? (\n <>\n <Icon icon={__icon_Add01Icon} size=\"sm\" className={MENU_ICON} />\n <span className=\"min-w-0 flex-1 truncate\">\n {createLabel ? createLabel(o.label) : t(\"combobox.add\", \"Add “{label}”\", { label: o.label })}\n </span>\n </>\n ) : (\n <>\n {o.leading}\n {o.icon && <Icon icon={o.icon} size=\"sm\" className={MENU_ICON} />}\n <span className={cn(\"flex min-w-0 flex-1 flex-col\", o.description && \"gap-2 py-8\")}>\n <span className=\"truncate\">\n <Highlight text={o.label} query={query} />\n </span>\n {o.description && <span className=\"text-small font-regular text-fg-secondary\">{o.description}</span>}\n </span>\n <BaseCombobox.ItemIndicator\n keepMounted\n className=\"flex size-16 shrink-0 items-center justify-center text-fg opacity-0 data-selected:opacity-100\"\n >\n <Icon icon={__icon_Tick02Icon} size=\"sm\" />\n </BaseCombobox.ItemIndicator>\n </>\n )}\n </BaseCombobox.Item>\n )}\n </BaseCombobox.List>\n {hidden > 0 && (\n <div className=\"flex h-28 shrink-0 items-center px-10 text-caption font-medium text-fg-tertiary\">\n {t(\"combobox.more\", \"{count, plural, one {# more; type to narrow it down} other {# more; type to narrow them down}}\", { count: hidden })}\n </div>\n )}\n </BaseCombobox.Popup>\n </BaseCombobox.Positioner>\n </BaseCombobox.Portal>\n </BaseCombobox.Root>\n );\n if (field) return control;\n return withField(\n {\n label,\n description,\n error,\n optional,\n required,\n layout,\n id: fc.wrapId ?? id,\n disabled,\n className,\n },\n control,\n );\n});\nif (process.env.NODE_ENV !== \"production\") Combobox.displayName = \"Combobox\";\n\nexport const KAESO_AUTOCOMPLETE_VARIANTS = { size: KAESO_COMBOBOX_VARIANTS.size } as const;\nexport const KAESO_AUTOCOMPLETE_DEFAULT_VARIANTS = { size: \"md\" } as const;\n\nexport interface AutocompleteProps extends FieldWrapProps {\n suggestions: string[];\n value?: string | undefined;\n defaultValue?: string | undefined;\n onValueChange?: ((value: string) => void) | undefined;\n placeholder?: string | undefined;\n size?: InputSize | undefined;\n disabled?: boolean | undefined;\n id?: string | undefined;\n name?: string | undefined;\n leadingIcon?: IconData | undefined;\n \"aria-label\"?: string | undefined;\n className?: string | undefined;\n \"data-force\"?: string | undefined;\n}\n\nexport const Autocomplete = /* @__PURE__ */ forwardRef<HTMLInputElement, AutocompleteProps>(function Autocomplete(props, ref) {\n const {\n suggestions,\n value,\n defaultValue,\n onValueChange,\n placeholder,\n size = \"md\",\n disabled,\n id,\n name,\n leadingIcon,\n label,\n description,\n error,\n optional,\n required,\n layout,\n className,\n \"aria-label\": ariaLabel,\n \"data-force\": force,\n } = props;\n const field = useField();\n const fc = useFieldControl(props);\n const [query, setQuery] = useState(defaultValue ?? \"\");\n const fieldRef = useRef<HTMLDivElement | null>(null);\n const fieldWidth = useLayoutWidth(fieldRef);\n const current = value ?? query;\n const control = (\n <BaseAutocomplete.Root\n items={suggestions}\n {...(value !== undefined ? { value } : {})}\n {...(defaultValue !== undefined ? { defaultValue } : {})}\n onValueChange={(v: string) => {\n setQuery(v);\n onValueChange?.(v);\n }}\n {...(disabled ? { disabled } : {})}\n {...(name ? { name } : {})}\n >\n <BaseAutocomplete.InputGroup\n ref={fieldRef}\n {...(force ? { \"data-force\": force } : {})}\n className={cn(\n \"relative flex w-full min-w-0 items-center rounded-pill material-field transition-control cursor-text\",\n KAESO_AUTOCOMPLETE_VARIANTS.size[size].classes,\n leadingIcon && LEADING[size],\n !(label || description || error) && className,\n )}\n >\n {leadingIcon && <Icon icon={leadingIcon} size=\"sm\" className=\"text-fg-tertiary\" />}\n <BaseAutocomplete.Input\n ref={ref}\n placeholder={placeholder}\n {...(id ? { id } : {})}\n {...fc.controlProps}\n {...(ariaLabel ? { \"aria-label\": ariaLabel } : {})}\n onKeyDown={keepValueOnEscape}\n className=\"min-w-0 flex-1 bg-transparent text-fg outline-none placeholder:text-fg-tertiary disabled:text-fg-disabled\"\n />\n </BaseAutocomplete.InputGroup>\n <BaseAutocomplete.Portal container={usePortalContainer()}>\n <BaseAutocomplete.Positioner\n anchor={fieldRef}\n positionMethod=\"fixed\"\n collisionBoundary={pageBoundary()}\n align=\"start\"\n sideOffset={6}\n collisionPadding={8}\n className=\"z-50 outline-none\"\n >\n <BaseAutocomplete.Popup className={cn(MENU_POPUP, \"min-w-anchor overflow-hidden data-empty:hidden\")} style={anchorWidthStyle(fieldWidth)}>\n <BaseAutocomplete.List className=\"-m-6 flex min-h-0 flex-col overflow-y-auto overscroll-contain p-6 outline-none scrollbar-quiet\">\n {(s: string) => (\n <BaseAutocomplete.Item key={s} value={s} className={MENU_ITEM}>\n <span className=\"truncate\">\n <Highlight text={s} query={current} />\n </span>\n </BaseAutocomplete.Item>\n )}\n </BaseAutocomplete.List>\n </BaseAutocomplete.Popup>\n </BaseAutocomplete.Positioner>\n </BaseAutocomplete.Portal>\n </BaseAutocomplete.Root>\n );\n if (field) return control;\n return withField(\n {\n label,\n description,\n error,\n optional,\n required,\n layout,\n id: fc.wrapId ?? id,\n disabled,\n className,\n },\n control,\n );\n});\nif (process.env.NODE_ENV !== \"production\") Autocomplete.displayName = \"Autocomplete\";\n"],"mappings":"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"}