@slotted/react 0.1.0-beta.10 → 0.1.0-beta.12

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 (329) hide show
  1. package/dist/action-bar-z2DPc1Wy.js +285 -0
  2. package/dist/action-bar.js +1 -1
  3. package/dist/action-sheet-BnedGewu.js +360 -0
  4. package/dist/action-sheet.js +1 -1
  5. package/dist/{alert-BTcqbG8w.js → alert-BTAXJ69M.js} +5 -5
  6. package/dist/alert.js +1 -1
  7. package/dist/{app-shell-BlkqQrOx.js → app-shell-Cb_kDBeV.js} +232 -173
  8. package/dist/app-shell.js +1 -1
  9. package/dist/{attachment-zlOPJvIm.js → attachment-D1O4qS8H.js} +28 -28
  10. package/dist/attachment.js +1 -1
  11. package/dist/{breadcrumb-DCGynpkb.js → breadcrumb-CnFjxxI2.js} +10 -10
  12. package/dist/breadcrumb.js +1 -1
  13. package/dist/{button-BCVjdzkn.js → button-D31perSu.js} +2 -2
  14. package/dist/button.js +2 -2
  15. package/dist/{calendar-qGUJ-kAy.js → calendar-DZyC1gAT.js} +8 -8
  16. package/dist/calendar.js +1 -1
  17. package/dist/{carousel-CjRTu8m7.js → carousel-Dso3gcYd.js} +14 -14
  18. package/dist/carousel.js +1 -1
  19. package/dist/cascader-BbajBwsX.js +1157 -0
  20. package/dist/cascader.js +1 -1
  21. package/dist/{chart-CPFq3jIE.js → chart-Bb6ctahn.js} +9 -9
  22. package/dist/chart.js +1 -1
  23. package/dist/{checkbox-CMY2KIih.js → checkbox-C_8GVtjD.js} +3 -3
  24. package/dist/{checkbox-group-DzMtLF7f.js → checkbox-group-DXCcusol.js} +2 -2
  25. package/dist/checkbox-group.js +1 -1
  26. package/dist/checkbox.js +1 -1
  27. package/dist/{code-block-Bh_2Eg3M.js → code-block-C4mtsROE.js} +8 -8
  28. package/dist/code-block.js +1 -1
  29. package/dist/{color-picker-DlepH5co.js → color-picker-JZPnPb7s.js} +49 -49
  30. package/dist/color-picker.js +1 -1
  31. package/dist/{column-manager-CV9tCnKa.js → column-manager-BDUj-WIs.js} +31 -31
  32. package/dist/column-manager.js +1 -1
  33. package/dist/combobox-Dn69QwGX.js +904 -0
  34. package/dist/combobox.js +1 -1
  35. package/dist/command-palette-Dh1HKz_F.js +744 -0
  36. package/dist/command-palette.js +1 -1
  37. package/dist/{context-menu-Dbc0KkFp.js → context-menu-uJjEmAN3.js} +1 -1
  38. package/dist/context-menu.js +1 -1
  39. package/dist/{currency-field--wIfgVAx.js → currency-field-lHcrNJ7X.js} +13 -13
  40. package/dist/currency-field.js +1 -1
  41. package/dist/{dashboard-grid-D_LbWfdZ.js → dashboard-grid-z-SOm9H0.js} +65 -65
  42. package/dist/dashboard-grid.js +1 -1
  43. package/dist/{data-grid-XH5fGoGj.js → data-grid-Kj1b9RD-.js} +1316 -1272
  44. package/dist/data-grid.js +1 -1
  45. package/dist/data-list-BgdkA3bD.js +587 -0
  46. package/dist/data-list.js +1 -1
  47. package/dist/{date-field-BrNyJBiJ.js → date-field-B2lQzE3p.js} +5 -5
  48. package/dist/date-field.js +1 -1
  49. package/dist/{date-picker-Nl55so0C.js → date-picker-DpTRb-Y1.js} +16 -16
  50. package/dist/date-picker.js +1 -1
  51. package/dist/{date-range-picker-DLkvfUJD.js → date-range-picker-CBUPJep5.js} +17 -17
  52. package/dist/date-range-picker.js +1 -1
  53. package/dist/{datetime-field-CZRhRDPb.js → datetime-field-BZ44uJ_B.js} +7 -7
  54. package/dist/datetime-field.js +1 -1
  55. package/dist/{datetime-picker-_GHra2WL.js → datetime-picker-BK_bV3Yr.js} +21 -21
  56. package/dist/datetime-picker.js +1 -1
  57. package/dist/{datetime-range-picker-Dy1A0Wqy.js → datetime-range-picker-ChdbRgzQ.js} +21 -21
  58. package/dist/datetime-range-picker.js +1 -1
  59. package/dist/{description-list-Cc4JYZ-3.js → description-list-CYlfHDwx.js} +11 -11
  60. package/dist/description-list.js +1 -1
  61. package/dist/{detail-panel-BI_wHSoz.js → detail-panel-DimjnPI8.js} +91 -91
  62. package/dist/detail-panel.js +1 -1
  63. package/dist/{dialog-B6MP7GYI.js → dialog-BB5MdJex.js} +108 -108
  64. package/dist/dialog.js +1 -1
  65. package/dist/docs/action-bar.json +4 -4
  66. package/dist/docs/action-bar.md +3 -3
  67. package/dist/docs/calendar.md +2 -2
  68. package/dist/docs/command-palette.json +1 -0
  69. package/dist/docs/command-palette.md +1 -1
  70. package/dist/docs/data-grid.examples.md +8 -2
  71. package/dist/docs/data-grid.json +12 -2
  72. package/dist/docs/data-grid.md +3 -1
  73. package/dist/docs/detail-panel.json +4 -2
  74. package/dist/docs/detail-panel.md +15 -5
  75. package/dist/docs/dialog.json +1 -0
  76. package/dist/docs/dialog.md +1 -1
  77. package/dist/docs/drawer.json +6 -4
  78. package/dist/docs/drawer.md +3 -3
  79. package/dist/docs/event-calendar.md +2 -2
  80. package/dist/docs/guidelines/index.md +4 -3
  81. package/dist/docs/guidelines/layout-alignment.md +17 -7
  82. package/dist/docs/guidelines/list-pages.md +3 -3
  83. package/dist/docs/page-header.json +18 -2
  84. package/dist/docs/page-header.md +5 -3
  85. package/dist/docs/page.json +1 -0
  86. package/dist/docs/page.md +1 -1
  87. package/dist/docs/rating.md +1 -1
  88. package/dist/docs/section.json +1 -1
  89. package/dist/docs/section.md +1 -1
  90. package/dist/docs/skills/compose-screen/SKILL.md +12 -4
  91. package/dist/docs/skills/review-screen/SKILL.md +20 -18
  92. package/dist/docs/skills/theme-app/SKILL.md +12 -1
  93. package/dist/docs/toast.json +1 -0
  94. package/dist/docs/toast.md +1 -1
  95. package/dist/docs/tokens.md +1 -1
  96. package/dist/docs/toolbar.json +1 -1
  97. package/dist/docs/toolbar.md +1 -1
  98. package/dist/docs/typography.md +1 -1
  99. package/dist/{drawer-CkpFlKYa.js → drawer-fyPyxnYQ.js} +216 -206
  100. package/dist/drawer.js +1 -1
  101. package/dist/entity-picker-ClyhBTyK.js +1283 -0
  102. package/dist/entity-picker.js +1 -1
  103. package/dist/{event-calendar-BDjI5T44.js → event-calendar-COgC24UG.js} +23 -23
  104. package/dist/event-calendar.js +1 -1
  105. package/dist/{field-group-CCM2vPKL.js → field-group-Bj-EbPIU.js} +2 -2
  106. package/dist/field-group.js +1 -1
  107. package/dist/{field-CzSGs7wo.js → field-tnEZiRLg.js} +19 -19
  108. package/dist/field.js +1 -1
  109. package/dist/filter-bar-BRuCz79-.js +1342 -0
  110. package/dist/filter-bar.js +1 -1
  111. package/dist/{form-CDq04WDY.js → form-DEcJ7tHf.js} +1 -1
  112. package/dist/form.js +1 -1
  113. package/dist/{fullscreen-6GW4naDP.js → fullscreen-BwweNj3-.js} +13 -13
  114. package/dist/fullscreen.js +1 -1
  115. package/dist/{hover-card-aadyPXzF.js → hover-card-BWcU37Yp.js} +1 -1
  116. package/dist/hover-card.js +1 -1
  117. package/dist/{i18n-DpW8lqJ1.js → i18n-D7xXDd8-.js} +11 -4
  118. package/dist/i18n.js +1 -1
  119. package/dist/{icon-button-CRB218_z.js → icon-button-DbSZKGT4.js} +73 -71
  120. package/dist/{import-export-center-DUrNwRKP.js → import-export-center-CYf0Qxl_.js} +291 -289
  121. package/dist/import-export-center.js +1 -1
  122. package/dist/index.js +100 -100
  123. package/dist/{kbd-Z4YmSPRy.js → kbd-dNz8QHfL.js} +1 -1
  124. package/dist/kbd.js +1 -1
  125. package/dist/{link-BsSlZ1ts.js → link-DLPyg54C.js} +5 -5
  126. package/dist/link.js +1 -1
  127. package/dist/{listbox-VFcfZT70.js → listbox-BSqx_ARf.js} +1 -1
  128. package/dist/listbox.js +1 -1
  129. package/dist/{loading-overlay-BZPBDK4w.js → loading-overlay-BLIrcaoj.js} +9 -9
  130. package/dist/loading-overlay.js +1 -1
  131. package/dist/{markdown-BmCU_sOv.js → markdown-DccRb1xf.js} +17 -17
  132. package/dist/markdown.js +1 -1
  133. package/dist/{menu-parts-DS9JEUCt.js → menu-parts-CNNHRduK.js} +42 -42
  134. package/dist/menu.js +1 -1
  135. package/dist/{menubar-BV43BKep.js → menubar-Bdr6zigi.js} +1 -1
  136. package/dist/menubar.js +1 -1
  137. package/dist/message-BkTiWsUp.js +436 -0
  138. package/dist/message-scroller-akQEtQLn.js +218 -0
  139. package/dist/message-scroller.js +1 -1
  140. package/dist/message.js +1 -1
  141. package/dist/{multi-select-YaxhhH9y.js → multi-select-BvlJIEtz.js} +445 -443
  142. package/dist/multi-select.js +1 -1
  143. package/dist/{navigation-menu-parts-B64gKl8B.js → navigation-menu-parts-CEW4fgCo.js} +12 -12
  144. package/dist/navigation-menu.js +1 -1
  145. package/dist/{notification-center-Ci-OLWTO.js → notification-center-BQO0Ey3h.js} +40 -40
  146. package/dist/notification-center.js +1 -1
  147. package/dist/{number-field-BYQmPyM-.js → number-field-D1MqT8_A.js} +13 -13
  148. package/dist/number-field.js +1 -1
  149. package/dist/{otp-input-BKO0WPZc.js → otp-input-Cub9H9Di.js} +1 -1
  150. package/dist/otp-input.js +1 -1
  151. package/dist/{page-CfjGviUA.js → page-CwYmBoZQ.js} +1 -1
  152. package/dist/{page-header-w_PFLnLG.js → page-header-CMxCQqu_.js} +117 -114
  153. package/dist/page-header.js +1 -1
  154. package/dist/page.js +1 -1
  155. package/dist/{pagination-Cm9665gb.js → pagination-IEuos7H1.js} +12 -12
  156. package/dist/pagination.js +1 -1
  157. package/dist/{popover-D1krYeP-.js → popover-C7NpEzq6.js} +22 -22
  158. package/dist/popover.js +1 -1
  159. package/dist/prompt-composer-Cu8bj1Vb.js +276 -0
  160. package/dist/prompt-composer.js +1 -1
  161. package/dist/{prose-Bl5OjXTb.js → prose-CQN4Bqqh.js} +1 -1
  162. package/dist/prose.js +1 -1
  163. package/dist/{radio-group-D9VTBLUB.js → radio-group-BHlDgCLk.js} +2 -2
  164. package/dist/radio-group.js +1 -1
  165. package/dist/{rating-BRqsV5OF.js → rating-Cr0lXaAV.js} +15 -15
  166. package/dist/rating.js +1 -1
  167. package/dist/{saved-views-C_76obIv.js → saved-views-CyLSn8a2.js} +151 -151
  168. package/dist/saved-views.js +1 -1
  169. package/dist/{scroll-area-vrm2bbtZ.js → scroll-area-Fr0PmnRS.js} +1 -1
  170. package/dist/scroll-area.js +1 -1
  171. package/dist/{segmented-control-5DTOKO3g.js → segmented-control-uPnQYklX.js} +2 -2
  172. package/dist/segmented-control.js +1 -1
  173. package/dist/select-C0JYHwBy.js +1020 -0
  174. package/dist/select.js +1 -1
  175. package/dist/{side-navigation-MNMSkj9b.js → side-navigation-D8lRpHwj.js} +64 -64
  176. package/dist/side-navigation.js +1 -1
  177. package/dist/{skeleton-DyOwgYmF.js → skeleton-DeEOmm1y.js} +1 -1
  178. package/dist/skeleton.js +1 -1
  179. package/dist/{slider-OMe1DAC-.js → slider-BSI1xvjw.js} +2 -2
  180. package/dist/slider.js +1 -1
  181. package/dist/{sparkline-ChkaLVdY.js → sparkline-CYU4_lCD.js} +1 -1
  182. package/dist/sparkline.js +1 -1
  183. package/dist/spinner-ring-DyfaYloA.js +19 -0
  184. package/dist/{split-button-DbmRwfMC.js → split-button-CkbylOMN.js} +2 -2
  185. package/dist/split-button.js +1 -1
  186. package/dist/{stat-card-BSnsTmsq.js → stat-card-CAh4SdeY.js} +16 -16
  187. package/dist/stat-card.js +1 -1
  188. package/dist/{status-indicator-CyKhBdvN.js → status-indicator-BVMnpcm8.js} +4 -4
  189. package/dist/status-indicator.js +1 -1
  190. package/dist/{stepper-Cw1Auv3n.js → stepper-BLfvMz04.js} +16 -16
  191. package/dist/stepper.js +1 -1
  192. package/dist/styles/action-bar.css +1 -1
  193. package/dist/styles/action-sheet.css +2 -2
  194. package/dist/styles/button.css +2 -2
  195. package/dist/styles/cascader.css +2 -2
  196. package/dist/styles/chart.css +1 -1
  197. package/dist/styles/column-manager.css +3 -3
  198. package/dist/styles/command-palette.css +3 -3
  199. package/dist/styles/dashboard-grid.css +2 -2
  200. package/dist/styles/data-grid.css +3 -3
  201. package/dist/styles/data-list.css +2 -2
  202. package/dist/styles/detail-panel.css +4 -4
  203. package/dist/styles/dialog.css +1 -1
  204. package/dist/styles/drawer.css +1 -1
  205. package/dist/styles/entity-picker.css +1 -1
  206. package/dist/styles/event-calendar.css +1 -1
  207. package/dist/styles/filter-bar.css +3 -3
  208. package/dist/styles/import-export-center.css +4 -4
  209. package/dist/styles/index.css +12 -12
  210. package/dist/styles/markdown.css +2 -2
  211. package/dist/styles/multi-select.css +1 -1
  212. package/dist/styles/notification-center.css +3 -3
  213. package/dist/styles/page-header.css +2 -2
  214. package/dist/styles/page.css +1 -1
  215. package/dist/styles/prompt-composer.css +1 -1
  216. package/dist/styles/saved-views.css +2 -2
  217. package/dist/styles/split-button.css +2 -2
  218. package/dist/styles/table.css +2 -2
  219. package/dist/styles/tabs.css +1 -1
  220. package/dist/styles/timeline.css +1 -1
  221. package/dist/styles/toast.css +1 -1
  222. package/dist/styles/tour.css +2 -2
  223. package/dist/styles/transfer.css +2 -2
  224. package/dist/styles/upload.css +1 -1
  225. package/dist/styles/wizard.css +2 -2
  226. package/dist/styles.css +1 -1
  227. package/dist/{switch-CQ1rpuKa.js → switch-BHyKHqeI.js} +5 -5
  228. package/dist/switch.js +1 -1
  229. package/dist/{table-DpGTPtnb.js → table-C8zOHDcY.js} +30 -30
  230. package/dist/{table-of-contents-BFVERMZy.js → table-of-contents-BAIuPCdy.js} +8 -8
  231. package/dist/table-of-contents.js +1 -1
  232. package/dist/table.js +1 -1
  233. package/dist/{tag-aX7uyAN0.js → tag-XYGEPUHR.js} +14 -14
  234. package/dist/tag.js +1 -1
  235. package/dist/{tags-input-BgpS22sf.js → tags-input-ClYSd-No.js} +40 -40
  236. package/dist/tags-input.js +1 -1
  237. package/dist/text-field-Cguj75tn.js +205 -0
  238. package/dist/text-field.js +1 -1
  239. package/dist/{textarea-DNCjsQYd.js → textarea-BKsh_jAo.js} +1 -1
  240. package/dist/textarea.js +1 -1
  241. package/dist/{time-field-Cm6iBjwH.js → time-field-BIE4WMpS.js} +7 -7
  242. package/dist/time-field.js +1 -1
  243. package/dist/{time-picker-Ce18FSO2.js → time-picker-CNfafRDF.js} +18 -18
  244. package/dist/time-picker.js +1 -1
  245. package/dist/{time-range-picker-kDnw4PQ3.js → time-range-picker-D7gM_Wno.js} +20 -20
  246. package/dist/time-range-picker.js +1 -1
  247. package/dist/timeline-BLadNUkS.js +449 -0
  248. package/dist/timeline.js +1 -1
  249. package/dist/{toast-58ex8PDK.js → toast-CjbiXiza.js} +16 -16
  250. package/dist/toast.js +1 -1
  251. package/dist/{toggle-group-YxVJlCnI.js → toggle-group-BZmghKac.js} +1 -1
  252. package/dist/toggle-group.js +1 -1
  253. package/dist/toolbar-BI4ZepBs.js +243 -0
  254. package/dist/toolbar.js +1 -1
  255. package/dist/{top-navigation-DorkYBnR.js → top-navigation-BTZpx5VA.js} +13 -13
  256. package/dist/top-navigation.js +1 -1
  257. package/dist/{tour-CwK_m_Jp.js → tour-_CQ1kYov.js} +23 -23
  258. package/dist/tour.js +1 -1
  259. package/dist/{transfer-DxGDWIEt.js → transfer-BVhBdIGp.js} +59 -59
  260. package/dist/transfer.js +1 -1
  261. package/dist/tree-DfI9UWLA.js +794 -0
  262. package/dist/tree.js +1 -1
  263. package/dist/types/action-bar/action-bar-overflow.d.ts.map +1 -1
  264. package/dist/types/action-bar/action-bar.types.d.ts +2 -2
  265. package/dist/types/action-sheet/action-sheet-parts.d.ts.map +1 -1
  266. package/dist/types/app-shell/app-shell-parts.d.ts.map +1 -1
  267. package/dist/types/app-shell/app-shell.d.ts.map +1 -1
  268. package/dist/types/app-shell/app-shell.types.d.ts +21 -14
  269. package/dist/types/app-shell/app-shell.types.d.ts.map +1 -1
  270. package/dist/types/app-shell/index.d.ts +1 -1
  271. package/dist/types/app-shell/index.d.ts.map +1 -1
  272. package/dist/types/button/button-indicator.d.ts.map +1 -1
  273. package/dist/types/button/spinner-ring.d.ts +8 -0
  274. package/dist/types/button/spinner-ring.d.ts.map +1 -0
  275. package/dist/types/cascader/cascader-surface.d.ts.map +1 -1
  276. package/dist/types/cascader/cascader.d.ts.map +1 -1
  277. package/dist/types/combobox/combobox-parts.d.ts.map +1 -1
  278. package/dist/types/command-palette/command-palette.d.ts.map +1 -1
  279. package/dist/types/data-grid/data-grid-body.d.ts +7 -2
  280. package/dist/types/data-grid/data-grid-body.d.ts.map +1 -1
  281. package/dist/types/data-grid/data-grid-header.d.ts.map +1 -1
  282. package/dist/types/data-grid/data-grid.d.ts +1 -1
  283. package/dist/types/data-grid/data-grid.d.ts.map +1 -1
  284. package/dist/types/detail-panel/detail-panel-parts.d.ts +2 -1
  285. package/dist/types/detail-panel/detail-panel-parts.d.ts.map +1 -1
  286. package/dist/types/drawer/drawer-parts.d.ts.map +1 -1
  287. package/dist/types/entity-picker/entity-picker-control.d.ts.map +1 -1
  288. package/dist/types/filter-bar/filter-bar.d.ts.map +1 -1
  289. package/dist/types/i18n/slotted-provider.d.ts +6 -0
  290. package/dist/types/i18n/slotted-provider.d.ts.map +1 -1
  291. package/dist/types/import-export-center/import-export-center.d.ts.map +1 -1
  292. package/dist/types/message/message-parts.d.ts.map +1 -1
  293. package/dist/types/message-scroller/message-scroller.d.ts.map +1 -1
  294. package/dist/types/multi-select/multi-select-parts.d.ts.map +1 -1
  295. package/dist/types/page-header/page-header-defaults.d.ts +1 -1
  296. package/dist/types/page-header/page-header-defaults.d.ts.map +1 -1
  297. package/dist/types/page-header/page-header.d.ts +1 -1
  298. package/dist/types/page-header/page-header.d.ts.map +1 -1
  299. package/dist/types/page-header/page-header.types.d.ts +9 -0
  300. package/dist/types/page-header/page-header.types.d.ts.map +1 -1
  301. package/dist/types/prompt-composer/prompt-composer.d.ts.map +1 -1
  302. package/dist/types/select/select-parts.d.ts.map +1 -1
  303. package/dist/types/text-field/text-field.d.ts.map +1 -1
  304. package/dist/types/timeline/timeline-parts.d.ts.map +1 -1
  305. package/dist/types/timeline/timeline.d.ts.map +1 -1
  306. package/dist/types/toolbar/toolbar-overflow.d.ts.map +1 -1
  307. package/dist/types/toolbar/toolbar.types.d.ts +2 -2
  308. package/dist/types/tree/tree-parts.d.ts.map +1 -1
  309. package/dist/{upload-CEDsfMWz.js → upload-N2-nyO8x.js} +65 -65
  310. package/dist/upload.js +1 -1
  311. package/dist/{wizard-B3p7zCSj.js → wizard-CK1x2fs3.js} +16 -16
  312. package/dist/wizard.js +1 -1
  313. package/package.json +6 -6
  314. package/dist/action-bar-CJgBierN.js +0 -283
  315. package/dist/action-sheet-tRrjm7WQ.js +0 -358
  316. package/dist/cascader-DqlC1z5b.js +0 -1154
  317. package/dist/combobox-YWFkxaQ3.js +0 -902
  318. package/dist/command-palette-DXNq-zKN.js +0 -741
  319. package/dist/data-list-DZCN_uW1.js +0 -587
  320. package/dist/entity-picker-CFwLGQeU.js +0 -1281
  321. package/dist/filter-bar-G50WdRac.js +0 -1340
  322. package/dist/message-Dtck9RJy.js +0 -434
  323. package/dist/message-scroller-niUJ8RoL.js +0 -216
  324. package/dist/prompt-composer-sh_TXKYZ.js +0 -273
  325. package/dist/select-BFx5EgAa.js +0 -1018
  326. package/dist/text-field-DL_uhNXV.js +0 -203
  327. package/dist/timeline-pEL30Jp8.js +0 -446
  328. package/dist/toolbar-BtIyVbs4.js +0 -241
  329. package/dist/tree-DbLRyItM.js +0 -792
@@ -0,0 +1,904 @@
1
+ import { n as e, r as t } from "./i18n-D7xXDd8-.js";
2
+ import { n, t as r } from "./icon-DjqSEQ-o.js";
3
+ import { t as i } from "./spinner-ring-DyfaYloA.js";
4
+ import { b as a } from "./field-tnEZiRLg.js";
5
+ import { t as o } from "./highlight-9lRPIZ9O.js";
6
+ import { keyedProps as s, selectorKeyProps as c, withSelectorKey as l } from "@slotted/core/selector-key";
7
+ import { createControllable as u } from "@slotted/core/state";
8
+ import { createContext as d, useCallback as f, useContext as p, useEffect as m, useId as h, useImperativeHandle as g, useLayoutEffect as _, useMemo as v, useRef as y, useState as b } from "react";
9
+ import { Fragment as x, jsx as S, jsxs as C } from "react/jsx-runtime";
10
+ import { createPresence as ee } from "@slotted/core/presence";
11
+ import { comboboxMessages as w } from "@slotted/core/i18n";
12
+ import { createPortalRoot as te, setPortalContainer as T } from "@slotted/core/portal";
13
+ import { createDismissableLayer as ne, pressOrigin as E } from "@slotted/core/dismissable-layer";
14
+ import { createPositioner as re } from "@slotted/core/positioner";
15
+ import { createPortal as ie } from "react-dom";
16
+ import { createFilter as ae, moveIndex as D, revealWithin as O } from "@slotted/core/collection";
17
+ import { matchRanges as k } from "@slotted/core/highlight";
18
+ //#region src/combobox/combobox-defaults.tsx
19
+ var A = {
20
+ align: "start",
21
+ alignOffset: 0,
22
+ allowsCustomValue: !1,
23
+ autocomplete: "list",
24
+ autoHighlight: !1,
25
+ clearable: !0,
26
+ closeOnEscape: !0,
27
+ closeOnOutsidePress: !0,
28
+ closeOnSelect: !0,
29
+ collisionPadding: 8,
30
+ disabled: !1,
31
+ flip: !0,
32
+ fullWidth: !0,
33
+ hideWhenDetached: !0,
34
+ highlightMatch: !0,
35
+ invalid: !1,
36
+ loading: !1,
37
+ loop: !1,
38
+ mount: "active",
39
+ openOn: "input",
40
+ portal: !0,
41
+ readOnly: !1,
42
+ required: !1,
43
+ shift: !0,
44
+ side: "bottom",
45
+ sideOffset: 4,
46
+ size: "md",
47
+ strategy: "absolute",
48
+ variant: "outline",
49
+ width: "content"
50
+ }, j = d(A);
51
+ function M() {
52
+ return p(j);
53
+ }
54
+ function N({ children: e, container: t, ...n }) {
55
+ let r = M();
56
+ m(() => {
57
+ if (t !== void 0) return T(t), () => T(null);
58
+ }, [t]);
59
+ let i = {
60
+ align: n.align ?? r.align,
61
+ alignOffset: n.alignOffset ?? r.alignOffset,
62
+ allowsCustomValue: n.allowsCustomValue ?? r.allowsCustomValue,
63
+ autocomplete: n.autocomplete ?? r.autocomplete,
64
+ autoHighlight: n.autoHighlight ?? r.autoHighlight,
65
+ clearable: n.clearable ?? r.clearable,
66
+ closeOnEscape: n.closeOnEscape ?? r.closeOnEscape,
67
+ closeOnOutsidePress: n.closeOnOutsidePress ?? r.closeOnOutsidePress,
68
+ closeOnSelect: n.closeOnSelect ?? r.closeOnSelect,
69
+ collisionPadding: n.collisionPadding ?? r.collisionPadding,
70
+ disabled: n.disabled ?? r.disabled,
71
+ flip: n.flip ?? r.flip,
72
+ fullWidth: n.fullWidth ?? r.fullWidth,
73
+ hideWhenDetached: n.hideWhenDetached ?? r.hideWhenDetached,
74
+ highlightMatch: n.highlightMatch ?? r.highlightMatch,
75
+ invalid: n.invalid ?? r.invalid,
76
+ loading: n.loading ?? r.loading,
77
+ loop: n.loop ?? r.loop,
78
+ mount: n.mount ?? r.mount,
79
+ openOn: n.openOn ?? r.openOn,
80
+ portal: n.portal ?? r.portal,
81
+ readOnly: n.readOnly ?? r.readOnly,
82
+ required: n.required ?? r.required,
83
+ shift: n.shift ?? r.shift,
84
+ side: n.side ?? r.side,
85
+ sideOffset: n.sideOffset ?? r.sideOffset,
86
+ size: n.size ?? r.size,
87
+ strategy: n.strategy ?? r.strategy,
88
+ variant: n.variant ?? r.variant,
89
+ width: n.width ?? r.width
90
+ };
91
+ return /* @__PURE__ */ S(j.Provider, {
92
+ value: i,
93
+ children: e
94
+ });
95
+ }
96
+ //#endregion
97
+ //#region src/combobox/combobox.tsx
98
+ var oe = d(void 0);
99
+ function P() {
100
+ let e = p(oe);
101
+ if (e === void 0) throw Error("ComboboxInput, ComboboxContent and every option have to be inside a Combobox.");
102
+ return e;
103
+ }
104
+ var F = (e) => "options" in e;
105
+ function se(e) {
106
+ return e === void 0 ? [] : e.flatMap((e) => F(e) ? e.options : [e]);
107
+ }
108
+ function ce({ align: n, alignOffset: r, allowsCustomValue: i, autocomplete: o, autoHighlight: s, children: c, clearable: l, closeOnEscape: d, closeOnOutsidePress: p, closeOnSelect: m, collisionPadding: _, onCreate: x, defaultHighlightedValue: C = null, defaultInputValue: ee = "", defaultOpen: te = !1, defaultValue: T = null, disabled: ne, filter: E, flip: re, form: ie, fullWidth: D, hideWhenDetached: k, highlightedValue: A, highlightMatch: j, inputValue: N, invalid: P, items: F, loading: ce, locale: le, loop: I, messages: L, mount: R, name: z, onHighlightedValueChange: B, onInputValueChange: ue, onInputReset: V, onLoadMore: H, onOpenChange: de, onValueChange: U, open: W, openOn: fe, portal: pe, readOnly: me, ref: he, required: ge, shift: _e, side: ve, sideOffset: ye, size: be, strategy: xe, total: Se, value: Ce, variant: we, width: Te }) {
109
+ let G = M(), K = a(), Ee = t(w, L), De = e(), Oe = le ?? De, ke = h(), Ae = `${ke}listbox`, je = `${ke}input`, [Me, Ne] = b(te), [Pe, Fe] = b(T), [Ie, Le] = b(ee), [Re, ze] = b(C), [Be, Ve] = b(null), [q, He] = b(null), Ue = ne ?? K?.disabled ?? G.disabled, We = me ?? K?.readOnly ?? G.readOnly, J = (W ?? Me) && !Ue, Y = Ce === void 0 ? Pe : Ce, X = N ?? Ie, Ge = A === void 0 ? Re : A, Ke = y(J);
110
+ J && (Ke.current = !0);
111
+ let qe = y("none"), [Je, Ye] = b(null), Xe = y(!1), Ze = y(/* @__PURE__ */ new Map()), [Qe, $e] = b(0), et = v(() => {
112
+ let e = /* @__PURE__ */ new Map();
113
+ for (let t of se(F)) e.set(t.value, t.label);
114
+ return e;
115
+ }, [F]), tt = f((e, t) => {
116
+ Ze.current.get(e) !== t && (Ze.current.set(e, t), $e((e) => e + 1));
117
+ }, []), nt = f((e) => et.get(e) ?? Ze.current.get(e), [et, Qe]), rt = f((e) => `${ke}option-${encodeURIComponent(e)}`, [ke]), Z = X === (Y === null ? void 0 : nt(Y)) ? "" : X, it = v(() => ae({ locale: Oe }), [Oe]), at = f((e) => Z === "" || E === null ? !0 : E === void 0 ? it.contains(e, Z) : E(e, Z), [
118
+ it,
119
+ E,
120
+ Z
121
+ ]), Q = y({
122
+ currentHighlighted: Ge,
123
+ currentInput: X,
124
+ currentOpen: J,
125
+ currentValue: Y,
126
+ highlightedValue: A,
127
+ inputNode: Be,
128
+ inputValue: N,
129
+ onHighlightedValueChange: B,
130
+ onInputValueChange: ue,
131
+ onCreate: x,
132
+ onOpenChange: de,
133
+ onValueChange: U,
134
+ open: W,
135
+ value: Ce
136
+ });
137
+ Q.current = {
138
+ currentHighlighted: Ge,
139
+ currentInput: X,
140
+ currentOpen: J,
141
+ currentValue: Y,
142
+ highlightedValue: A,
143
+ inputNode: Be,
144
+ inputValue: N,
145
+ onHighlightedValueChange: B,
146
+ onInputValueChange: ue,
147
+ onCreate: x,
148
+ onOpenChange: de,
149
+ onValueChange: U,
150
+ open: W,
151
+ value: Ce
152
+ };
153
+ let ot = f((e, t, n) => {
154
+ let r = Q.current;
155
+ e !== r.currentOpen && u({
156
+ controlled: r.open,
157
+ initial: r.currentOpen,
158
+ onRequest: (e) => r.onOpenChange?.(e.value, e)
159
+ }).request(e, t, n) && (Ne(e), e || (ze(null), qe.current = "none"));
160
+ }, []), st = f((e, t, n) => {
161
+ let r = Q.current;
162
+ e !== r.currentHighlighted && u({
163
+ controlled: r.highlightedValue,
164
+ initial: r.currentHighlighted,
165
+ onRequest: (e) => r.onHighlightedValueChange?.(e.value, e)
166
+ }).request(e, t, n) && ze(e);
167
+ }, []), ct = f((e) => {
168
+ if (e !== "") {
169
+ for (let [t, n] of et) if (it.equals(n, e)) return t;
170
+ for (let [t, n] of Ze.current) if (it.equals(n, e)) return t;
171
+ }
172
+ }, [
173
+ et,
174
+ it,
175
+ Qe
176
+ ]), lt = f((e, t, n) => {
177
+ let r = Q.current;
178
+ Ye(null), e !== r.currentInput && u({
179
+ controlled: r.inputValue,
180
+ initial: r.currentInput,
181
+ onRequest: (e) => r.onInputValueChange?.(e.value, e)
182
+ }).request(e, t, n) && Le(e);
183
+ }, []), $ = f((e, t, n) => {
184
+ let r = Q.current;
185
+ e !== r.currentValue && u({
186
+ controlled: r.value,
187
+ initial: r.currentValue,
188
+ onRequest: (e) => r.onValueChange?.(e.value, e)
189
+ }).request(e, t, n) && Fe(e);
190
+ }, []), ut = y({
191
+ allowsCustomValue: !1,
192
+ currentInput: X,
193
+ currentValue: Y,
194
+ labelFor: nt,
195
+ onInputReset: V,
196
+ select: $,
197
+ setInputValue: lt,
198
+ valueForLabel: ct
199
+ });
200
+ ut.current = {
201
+ allowsCustomValue: i ?? G.allowsCustomValue,
202
+ currentInput: X,
203
+ currentValue: Y,
204
+ labelFor: nt,
205
+ onInputReset: V,
206
+ select: $,
207
+ setInputValue: lt,
208
+ valueForLabel: ct
209
+ };
210
+ let dt = f((e) => {
211
+ let t = ut.current, n = t.currentInput, r = t.valueForLabel(n);
212
+ if (r !== void 0) {
213
+ r !== t.currentValue && t.select(r, "blur", e), t.setInputValue(t.labelFor(r) ?? n, "blur", e);
214
+ return;
215
+ }
216
+ if (n === "") {
217
+ t.currentValue !== null && t.select(null, "blur", e);
218
+ return;
219
+ }
220
+ if (t.allowsCustomValue) {
221
+ n !== t.currentValue && t.select(n, "blur", e);
222
+ return;
223
+ }
224
+ let i = t.currentValue === null ? "" : t.labelFor(t.currentValue) ?? "";
225
+ t.setInputValue(i, "blur", e), t.onInputReset?.(n, {
226
+ reason: "blur",
227
+ source: e
228
+ });
229
+ }, []), ft = f((e, t, n) => {
230
+ Q.current.onCreate?.(e, {
231
+ reason: t,
232
+ source: n
233
+ });
234
+ }, []), pt = f((e, t) => {
235
+ $(null, e, t), lt("", e === "clear" ? "clear" : "programmatic", t);
236
+ }, [$, lt]);
237
+ g(he, () => ({
238
+ close: () => ot(!1, "programmatic"),
239
+ focus: () => Q.current.inputNode?.focus({ preventScroll: !0 }),
240
+ open: () => ot(!0, "programmatic"),
241
+ scrollToKey: (e) => {
242
+ let t = q?.querySelector(`[data-part='item'][data-value="${CSS.escape(e)}"]`);
243
+ t != null && q !== null && O(t, q);
244
+ }
245
+ }), [q, ot]);
246
+ let mt = {
247
+ align: n ?? G.align,
248
+ alignOffset: r ?? G.alignOffset,
249
+ allowsCustomValue: i ?? G.allowsCustomValue,
250
+ autocomplete: o ?? G.autocomplete,
251
+ autoHighlight: s ?? G.autoHighlight,
252
+ clear: pt,
253
+ clearable: l ?? G.clearable,
254
+ closeOnEscape: d ?? G.closeOnEscape,
255
+ closeOnOutsidePress: p ?? G.closeOnOutsidePress,
256
+ closeOnSelect: m ?? G.closeOnSelect,
257
+ collisionPadding: _ ?? G.collisionPadding,
258
+ completion: Je,
259
+ contentId: Ae,
260
+ contentNode: q,
261
+ canCreate: x !== void 0,
262
+ create: ft,
263
+ disabled: Ue,
264
+ entry: qe,
265
+ flip: re ?? G.flip,
266
+ form: ie,
267
+ fullWidth: D ?? G.fullWidth,
268
+ hideWhenDetached: k ?? G.hideWhenDetached,
269
+ highlighted: Ge,
270
+ highlightMatch: j ?? G.highlightMatch,
271
+ inputId: je,
272
+ inputNode: Be,
273
+ inputValue: X,
274
+ invalid: P ?? K?.invalid ?? G.invalid,
275
+ labelFor: nt,
276
+ loading: ce ?? G.loading,
277
+ locale: Oe,
278
+ loop: I ?? G.loop,
279
+ matches: at,
280
+ mount: R ?? G.mount,
281
+ name: z,
282
+ onLoadMore: H,
283
+ open: J,
284
+ openOn: fe ?? G.openOn,
285
+ optionId: rt,
286
+ portal: pe ?? G.portal,
287
+ query: Z,
288
+ readOnly: We,
289
+ registerLabel: tt,
290
+ required: ge ?? K?.required ?? G.required,
291
+ seen: Ke.current,
292
+ select: $,
293
+ setCompletion: Ye,
294
+ setContentNode: He,
295
+ setHighlighted: st,
296
+ setInputNode: Ve,
297
+ setInputValue: lt,
298
+ setOpen: ot,
299
+ settleInput: dt,
300
+ shift: _e ?? G.shift,
301
+ side: ve ?? G.side,
302
+ sideOffset: ye ?? G.sideOffset,
303
+ size: be ?? K?.size ?? G.size,
304
+ strategy: xe ?? G.strategy,
305
+ t: Ee,
306
+ total: Se,
307
+ value: Y,
308
+ variant: we ?? G.variant,
309
+ wantsCompletion: Xe,
310
+ width: Te ?? G.width
311
+ };
312
+ return /* @__PURE__ */ S(oe.Provider, {
313
+ value: mt,
314
+ children: c
315
+ });
316
+ }
317
+ //#endregion
318
+ //#region src/combobox/combobox-collection.ts
319
+ var le = "[data-part='item']";
320
+ function I(e) {
321
+ return e === null ? [] : [...e.querySelectorAll(le)];
322
+ }
323
+ var L = (e) => e.dataset.value ?? "", R = (e) => e.dataset.disabled === void 0, z = (e) => e.dataset.textValue ?? e.querySelector("[data-part='label']")?.textContent?.trim() ?? e.textContent?.trim() ?? "";
324
+ function B(e, t, n, r) {
325
+ let i = I(e);
326
+ if (i.length === 0) return null;
327
+ let a = D({
328
+ enabled: i.map(R),
329
+ from: t === null ? -1 : i.findIndex((e) => L(e) === t),
330
+ intent: n,
331
+ loop: r
332
+ });
333
+ return a === -1 ? null : L(i[a]);
334
+ }
335
+ function ue(e, t, n, r) {
336
+ if (n === "none") return null;
337
+ if (n === "selected") {
338
+ if (t === null) return null;
339
+ let n = I(e).find((e) => L(e) === t && R(e));
340
+ return n === void 0 ? null : L(n);
341
+ }
342
+ return B(e, null, n, r);
343
+ }
344
+ function V(e) {
345
+ let t = I(e).find(R);
346
+ return t === void 0 ? null : z(t);
347
+ }
348
+ function H(e, t) {
349
+ let n = I(e).find((e) => z(e) === t);
350
+ return n === void 0 ? null : L(n);
351
+ }
352
+ function de(e, t) {
353
+ if (e === null || t === null) return;
354
+ let n = I(e).find((e) => L(e) === t);
355
+ n !== void 0 && O(n, e);
356
+ }
357
+ //#endregion
358
+ //#region src/combobox/combobox-parts.tsx
359
+ function U(e, t) {
360
+ return (n) => {
361
+ e?.(n), n.defaultPrevented || t(n);
362
+ };
363
+ }
364
+ function W(e, ...t) {
365
+ for (let n of t) typeof n == "function" ? n(e) : n != null && (n.current = e);
366
+ }
367
+ function fe({ ref: e, render: t, ...o }) {
368
+ let s = P(), u = a(), [d, p] = b(null);
369
+ m(() => {
370
+ s.setInputNode(d);
371
+ }, [s, d]), _(() => {
372
+ s.completion !== null && d !== null && d.setSelectionRange(s.inputValue.length, s.completion.length);
373
+ }, [
374
+ s.completion,
375
+ s.inputValue,
376
+ d
377
+ ]);
378
+ let h = (e, t) => {
379
+ let n = B(s.contentNode, s.highlighted, e, s.loop);
380
+ n !== null && s.setHighlighted(n, "keyboard", t);
381
+ }, g = (e) => {
382
+ if (s.highlighted === null && s.completion !== null) {
383
+ let t = H(s.contentNode, s.completion);
384
+ if (t !== null) {
385
+ s.select(t, "keyboard", e), s.setInputValue(s.completion, "select", e), s.setOpen(!1, "select", e);
386
+ return;
387
+ }
388
+ }
389
+ let t = s.highlighted;
390
+ if (t !== null && pe(s.contentNode, t)) {
391
+ s.create(t, "keyboard", e), s.setOpen(!1, "select", e);
392
+ return;
393
+ }
394
+ if (t === null) {
395
+ s.allowsCustomValue ? s.select(s.inputValue === "" ? null : s.inputValue, "keyboard", e) : s.setInputValue(s.value === null ? "" : s.labelFor(s.value) ?? "", "select", e), s.setOpen(!1, "select", e);
396
+ return;
397
+ }
398
+ s.select(t, "keyboard", e), s.setInputValue(s.labelFor(t) ?? t, "select", e), s.closeOnSelect && s.setOpen(!1, "select", e);
399
+ }, v = (e, t) => {
400
+ s.entry.current = e, s.setOpen(!0, "keyboard", t);
401
+ }, y = (e) => {
402
+ if (s.disabled) return;
403
+ let t = e.altKey;
404
+ switch (e.key) {
405
+ case "ArrowDown":
406
+ if (s.readOnly) return;
407
+ e.preventDefault(), s.open ? t || h("next", e.nativeEvent) : v(t ? "none" : "first", e.nativeEvent);
408
+ return;
409
+ case "ArrowUp":
410
+ if (s.readOnly) return;
411
+ e.preventDefault(), t ? s.setOpen(!1, "keyboard", e.nativeEvent) : s.open ? h("previous", e.nativeEvent) : v("last", e.nativeEvent);
412
+ return;
413
+ case "PageDown":
414
+ if (!s.open) return;
415
+ e.preventDefault(), h("pageDown", e.nativeEvent);
416
+ return;
417
+ case "PageUp":
418
+ if (!s.open) return;
419
+ e.preventDefault(), h("pageUp", e.nativeEvent);
420
+ return;
421
+ case "Enter":
422
+ if (!s.open && !s.allowsCustomValue) return;
423
+ e.preventDefault(), g(e.nativeEvent);
424
+ return;
425
+ case "Escape":
426
+ if (s.open) {
427
+ e.preventDefault(), s.setOpen(!1, "escape", e.nativeEvent);
428
+ return;
429
+ }
430
+ if (s.value === null) return;
431
+ e.preventDefault(), s.inputValue === (s.labelFor(s.value) ?? "") ? s.clear("keyboard", e.nativeEvent) : s.setInputValue(s.labelFor(s.value) ?? "", "keyboard", e.nativeEvent);
432
+ return;
433
+ case "Tab":
434
+ s.completion === null ? s.open && s.setOpen(!1, "dismiss", e.nativeEvent) : g(e.nativeEvent);
435
+ return;
436
+ }
437
+ }, ee = (e) => {
438
+ let t = e.currentTarget.value;
439
+ s.setInputValue(t, "keyboard", e.nativeEvent), s.wantsCompletion.current = s.autocomplete === "both" && t.length > s.inputValue.length, s.openOn === "input" && !s.open && !s.readOnly && (s.entry.current = s.autoHighlight ? "first" : "none", s.setOpen(!0, "keyboard", e.nativeEvent));
440
+ }, w = () => {
441
+ s.openOn !== "focus" || s.readOnly || s.open || (s.entry.current = "selected", s.setOpen(!0, "keyboard"));
442
+ }, te = (e) => {
443
+ s.openOn === "manual" || s.open || s.disabled || s.readOnly || (s.entry.current = "selected", s.setOpen(!0, "pointer", e.nativeEvent));
444
+ }, T = (e) => {
445
+ let t = e.relatedTarget;
446
+ if (t instanceof Node && s.contentNode?.contains(t) === !0) return;
447
+ let n = E(d?.ownerDocument);
448
+ n instanceof Node && s.contentNode?.contains(n) === !0 || (s.settleInput(e), s.open && s.setOpen(!1, "blur"));
449
+ }, ne = (e) => {
450
+ s.clear("clear", e.nativeEvent), d?.focus({ preventScroll: !0 });
451
+ }, re = (e) => {
452
+ s.disabled || s.readOnly || (s.entry.current = "selected", s.setOpen(!s.open, "pointer", e.nativeEvent), d?.focus({ preventScroll: !0 }));
453
+ }, ie = f((t) => {
454
+ p(t), W(t, e);
455
+ }, [e]), ae = [o["aria-describedby"], u?.describedBy].filter(Boolean).join(" "), D = s.clearable && s.inputValue !== "" && !s.disabled && !s.readOnly, O = {
456
+ "data-part": "root",
457
+ ...c("part", "root"),
458
+ "data-size": s.size,
459
+ "data-ui": "combobox",
460
+ ...c("ui", "combobox"),
461
+ "data-variant": s.variant,
462
+ ...s.fullWidth ? { "data-full-width": "" } : {},
463
+ ...s.open ? { "data-open": "" } : {},
464
+ ...s.disabled ? { "data-disabled": "" } : {},
465
+ ...s.readOnly ? { "data-readonly": "" } : {},
466
+ ...s.invalid ? { "data-invalid": "" } : {},
467
+ ...s.required ? { "data-required": "" } : {},
468
+ ...s.loading ? { "data-loading": "" } : {}
469
+ }, k = /* @__PURE__ */ C(x, { children: [
470
+ /* @__PURE__ */ S("input", {
471
+ ...l(o, "part", "input"),
472
+ "aria-activedescendant": s.open && s.highlighted !== null ? s.optionId(s.highlighted) : void 0,
473
+ "aria-autocomplete": s.autocomplete,
474
+ "aria-controls": s.open ? s.contentId : void 0,
475
+ "aria-describedby": ae === "" ? void 0 : ae,
476
+ "aria-expanded": s.open,
477
+ "aria-invalid": s.invalid ? !0 : void 0,
478
+ "aria-readonly": s.readOnly ? !0 : void 0,
479
+ disabled: s.disabled,
480
+ id: o.id ?? u?.ids.control ?? s.inputId,
481
+ onBlur: U(o.onBlur, T),
482
+ onChange: U(o.onChange, ee),
483
+ onClick: U(o.onClick, te),
484
+ onFocus: U(o.onFocus, w),
485
+ onKeyDown: U(o.onKeyDown, y),
486
+ readOnly: s.readOnly,
487
+ ref: ie,
488
+ required: s.required,
489
+ role: "combobox",
490
+ type: "text",
491
+ value: s.completion ?? s.inputValue
492
+ }),
493
+ D ? /* @__PURE__ */ S("button", {
494
+ "aria-label": s.t("clear"),
495
+ "data-part": "clear",
496
+ "data-part-clear": "",
497
+ onClick: ne,
498
+ type: "button",
499
+ children: /* @__PURE__ */ S(r, { children: /* @__PURE__ */ S(n, { name: "x" }) })
500
+ }) : null,
501
+ /* @__PURE__ */ S("button", {
502
+ "aria-label": s.t("trigger"),
503
+ "data-part": "trigger",
504
+ "data-part-trigger": "",
505
+ disabled: s.disabled,
506
+ onClick: re,
507
+ tabIndex: -1,
508
+ type: "button",
509
+ children: s.loading ? /* @__PURE__ */ S("span", {
510
+ "aria-hidden": "true",
511
+ "data-part": "busy",
512
+ "data-part-busy": "",
513
+ "data-ui": "spinner",
514
+ "data-ui-spinner": "",
515
+ children: i
516
+ }) : /* @__PURE__ */ S("span", {
517
+ "data-part": "arrow",
518
+ "data-part-arrow": "",
519
+ children: /* @__PURE__ */ S(r, { children: /* @__PURE__ */ S(n, { name: "chevron-down" }) })
520
+ })
521
+ }),
522
+ s.name === void 0 ? null : /* @__PURE__ */ S("input", {
523
+ "aria-hidden": "true",
524
+ form: s.form,
525
+ name: s.name,
526
+ readOnly: !0,
527
+ required: s.required,
528
+ style: {
529
+ border: 0,
530
+ clip: "rect(0 0 0 0)",
531
+ clipPath: "inset(50%)",
532
+ height: "1px",
533
+ overflow: "hidden",
534
+ padding: 0,
535
+ position: "absolute",
536
+ whiteSpace: "nowrap",
537
+ width: "1px"
538
+ },
539
+ tabIndex: -1,
540
+ type: "text",
541
+ value: s.value ?? ""
542
+ })
543
+ ] });
544
+ return t === void 0 ? /* @__PURE__ */ S("div", {
545
+ ...O,
546
+ children: k
547
+ }) : t({
548
+ ...O,
549
+ children: k
550
+ });
551
+ }
552
+ function pe(e, t) {
553
+ return e !== null && e.querySelector(`[data-part='item'][data-value="${CSS.escape(t)}"]`)?.hasAttribute("data-create") === !0;
554
+ }
555
+ function me({ children: e, empty: t, ref: n, render: r, status: i, ...a }) {
556
+ let o = P(), [c, u] = b(null), [d, p] = b(null), [h, g] = b(null), [v, x] = b("unmounted"), [w, T] = b(!1), [E, ae] = b(0), D = y(null), O = y(null), k = y(o);
557
+ k.current = o, m(() => {
558
+ let e = ee({
559
+ present: k.current.open,
560
+ onStatusChange: x
561
+ });
562
+ return D.current = e, x(e.status), () => {
563
+ e.destroy(), D.current = null;
564
+ };
565
+ }, []), m(() => D.current?.sync(o.open), [o.open]), m(() => D.current?.setNode(c), [c]), m(() => o.setContentNode(d), [o, d]);
566
+ let A = o.mount === "eager" || o.mount === "lazy" && o.seen || o.open || v !== "unmounted";
567
+ m(() => {
568
+ let e = o.inputNode;
569
+ if (e === null || w) return;
570
+ let t = () => T(!0);
571
+ return e.addEventListener("focusin", t), e.addEventListener("pointerdown", t), () => {
572
+ e.removeEventListener("focusin", t), e.removeEventListener("pointerdown", t);
573
+ };
574
+ }, [o.inputNode, w]);
575
+ let j = A || w;
576
+ _(() => {
577
+ if (!j) {
578
+ g(null);
579
+ return;
580
+ }
581
+ let e = te({
582
+ origin: o.inputNode,
583
+ disabled: !o.portal
584
+ });
585
+ return g(e.container), () => e.release();
586
+ }, [
587
+ o.inputNode,
588
+ o.portal,
589
+ j
590
+ ]);
591
+ let { align: M, alignOffset: N, collisionPadding: oe, flip: F, hideWhenDetached: se, shift: ce, side: le, sideOffset: R, strategy: z, width: B } = o, V = y(null), H = y(0), U = f((e, t) => {
592
+ e.update().then(() => {
593
+ if (V.current !== e || !k.current.open) return;
594
+ t.setAttribute("data-open", "");
595
+ let n = t.ownerDocument.defaultView;
596
+ n !== null && H.current === 0 && (H.current = n.requestAnimationFrame(() => {
597
+ H.current = 0, de(k.current.contentNode, k.current.highlighted);
598
+ }));
599
+ });
600
+ }, []);
601
+ if (_(() => {
602
+ if (c === null || o.inputNode === null) return;
603
+ let e = o.inputNode.closest("[data-part='root']") ?? o.inputNode, t = re(e, c, {
604
+ align: M,
605
+ alignOffset: N,
606
+ boundaryPadding: oe,
607
+ flip: F,
608
+ hideWhenDetached: se,
609
+ matchWidth: B === "anchor",
610
+ shift: ce,
611
+ side: le,
612
+ sideOffset: R,
613
+ strategy: z
614
+ });
615
+ return V.current = t, k.current.open && U(t, c), () => {
616
+ t.destroy(), V.current = null, c.removeAttribute("data-open");
617
+ };
618
+ }, [
619
+ M,
620
+ N,
621
+ oe,
622
+ o.inputNode,
623
+ F,
624
+ se,
625
+ c,
626
+ ce,
627
+ le,
628
+ R,
629
+ z,
630
+ B,
631
+ U
632
+ ]), _(() => {
633
+ let e = V.current;
634
+ if (e !== null && c !== null) {
635
+ if (o.open) {
636
+ U(e, c);
637
+ return;
638
+ }
639
+ c.removeAttribute("data-open"), H.current !== 0 && (c.ownerDocument.defaultView?.cancelAnimationFrame(H.current), H.current = 0);
640
+ }
641
+ }, [
642
+ c,
643
+ U,
644
+ o.open
645
+ ]), m(() => {
646
+ if (c === null || !o.open) return;
647
+ let e = [o.inputNode?.closest("[data-part='root']") ?? null].filter((e) => e !== null), t = ne(c, {
648
+ branches: e,
649
+ escape: o.closeOnEscape,
650
+ focusOutside: !1,
651
+ modal: !1,
652
+ outsidePress: o.closeOnOutsidePress,
653
+ scrollLock: !1,
654
+ onDismiss: (e) => {
655
+ k.current.setOpen(!1, e.reason === "escape" ? "escape" : "outsidePress", e.source);
656
+ }
657
+ });
658
+ return () => t.destroy();
659
+ }, [
660
+ o.closeOnEscape,
661
+ o.closeOnOutsidePress,
662
+ o.inputNode,
663
+ o.open,
664
+ c
665
+ ]), _(() => {
666
+ let e = I(d).filter((e) => e.dataset.create === void 0).length;
667
+ ae((t) => t === e ? t : e);
668
+ }), _(() => {
669
+ let e = k.current;
670
+ if (e.open && d !== null) {
671
+ if (e.entry.current !== "none") {
672
+ let t = ue(d, e.value, e.entry.current, e.loop) ?? (e.autoHighlight ? ue(d, null, "first", e.loop) : null);
673
+ t !== null && e.setHighlighted(t, "keyboard");
674
+ return;
675
+ }
676
+ e.highlighted !== null && (I(d).some((t) => L(t) === e.highlighted) || e.setHighlighted(null, "keyboard"));
677
+ }
678
+ }, [
679
+ o.open,
680
+ o.query,
681
+ E,
682
+ d
683
+ ]), m(() => {
684
+ c?.hasAttribute("data-open") === !0 && de(d, o.highlighted);
685
+ }, [
686
+ c,
687
+ o.highlighted,
688
+ d
689
+ ]), _(() => {
690
+ let e = k.current;
691
+ if (!e.wantsCompletion.current || d === null) return;
692
+ e.wantsCompletion.current = !1;
693
+ let t = he(d, e.inputValue);
694
+ t !== null && t !== e.inputValue && e.setCompletion(t);
695
+ }, [
696
+ o.inputValue,
697
+ E,
698
+ d
699
+ ]), m(() => {
700
+ let e = O.current, t = d, n = o.onLoadMore;
701
+ if (e === null || t === null || n === void 0 || typeof IntersectionObserver != "function") return;
702
+ let r = new IntersectionObserver((e) => {
703
+ e.some((e) => e.isIntersecting) && n();
704
+ }, { root: t });
705
+ return r.observe(e), () => r.disconnect();
706
+ }, [
707
+ o.onLoadMore,
708
+ E,
709
+ d
710
+ ]), !A) return null;
711
+ let fe = s({
712
+ "data-align": M,
713
+ ...o.open ? {} : { inert: !0 },
714
+ "data-part": "positioner",
715
+ "data-size": o.size,
716
+ "data-ui": "combobox",
717
+ "data-width": o.width
718
+ }), pe = i === void 0 ? o.loading ? o.t("loading") : E === 0 ? null : o.t("count", { count: E }) : i, me = /* @__PURE__ */ S("div", {
719
+ ...fe,
720
+ ref: (e) => {
721
+ u(e), W(e, n);
722
+ },
723
+ children: /* @__PURE__ */ C("div", {
724
+ ...l(a, "part", "content"),
725
+ "aria-busy": o.loading ? !0 : void 0,
726
+ "aria-label": a["aria-label"] ?? void 0,
727
+ "data-loading": o.loading ? "" : void 0,
728
+ id: o.contentId,
729
+ ref: p,
730
+ role: "listbox",
731
+ children: [
732
+ e,
733
+ /* @__PURE__ */ S("div", { ref: O }),
734
+ !o.loading && E === 0 && o.canCreate && o.query !== "" ? /* @__PURE__ */ S("div", {
735
+ "data-create": "",
736
+ "data-part": "item",
737
+ "data-part-item": "",
738
+ "data-value": o.query,
739
+ id: o.optionId(o.query),
740
+ onClick: (e) => {
741
+ o.create(o.query, "pointer", e.nativeEvent), o.setOpen(!1, "select", e.nativeEvent), o.inputNode?.focus({ preventScroll: !0 });
742
+ },
743
+ onPointerDown: (e) => {
744
+ e.defaultPrevented || e.preventDefault();
745
+ },
746
+ onPointerEnter: (e) => o.setHighlighted(o.query, "pointer", e.nativeEvent),
747
+ role: "option",
748
+ ...o.highlighted === o.query ? { "data-current": "" } : {},
749
+ children: /* @__PURE__ */ S("span", {
750
+ "data-part": "label",
751
+ "data-part-label": "",
752
+ children: o.t("create", { query: o.query })
753
+ })
754
+ }) : null,
755
+ !o.loading && E === 0 && !(o.canCreate && o.query !== "") ? /* @__PURE__ */ S("div", {
756
+ "data-part": "empty",
757
+ "data-part-empty": "",
758
+ children: t ?? o.t("empty")
759
+ }) : null,
760
+ o.loading ? /* @__PURE__ */ S("div", {
761
+ "aria-hidden": "true",
762
+ "data-part": "placeholder",
763
+ "data-part-placeholder": "",
764
+ children: [
765
+ 0,
766
+ 1,
767
+ 2
768
+ ].map((e) => /* @__PURE__ */ S("div", { children: /* @__PURE__ */ S("span", {
769
+ "data-part": "root",
770
+ "data-part-root": "",
771
+ "data-shape": "text",
772
+ "data-ui": "skeleton",
773
+ "data-ui-skeleton": "",
774
+ "data-loading": ""
775
+ }) }, e))
776
+ }) : null,
777
+ /* @__PURE__ */ S("div", {
778
+ "aria-live": "polite",
779
+ "data-part": "status",
780
+ "data-part-status": "",
781
+ ...o.loading ? { "data-loading": "" } : {},
782
+ role: "status",
783
+ children: pe
784
+ })
785
+ ]
786
+ })
787
+ }), ge = r === void 0 ? me : r({
788
+ ...fe,
789
+ children: e
790
+ });
791
+ return h === null ? ge : ie(ge, h);
792
+ }
793
+ function he(e, t) {
794
+ if (t === "") return null;
795
+ let n = V(e);
796
+ return n === null ? null : n.toLowerCase().startsWith(t.toLowerCase()) ? n : null;
797
+ }
798
+ //#endregion
799
+ //#region src/combobox/combobox-items.tsx
800
+ function ge({ children: e, description: t, disabled: i = !1, icon: a, position: s, ref: c, textValue: u, value: d, ...f }) {
801
+ let p = P(), [h, g] = b(null), _ = y(null), x = u ?? (typeof e == "string" ? e : void 0);
802
+ m(() => {
803
+ if (h === null) return;
804
+ let e = x ?? h.querySelector("[data-part='label']")?.textContent?.trim() ?? "";
805
+ e !== "" && e !== _.current && (_.current = e, p.registerLabel(d, e));
806
+ }, [
807
+ p,
808
+ h,
809
+ x,
810
+ d
811
+ ]);
812
+ let ee = v(() => {
813
+ if (!p.highlightMatch || p.query === "" || x === void 0) return e;
814
+ let t = k(x, p.query, { locale: p.locale });
815
+ return t.length === 0 ? e : /* @__PURE__ */ S(o, {
816
+ ranges: t,
817
+ text: x
818
+ });
819
+ }, [
820
+ e,
821
+ p.highlightMatch,
822
+ p.locale,
823
+ p.query,
824
+ x
825
+ ]);
826
+ if (x !== void 0 && !p.matches(x)) return null;
827
+ let w = p.value === d, te = p.highlighted === d, T = (e) => {
828
+ i || p.setHighlighted(d, "pointer", e.nativeEvent);
829
+ }, ne = (e) => {
830
+ f.onPointerDown?.(e), !e.defaultPrevented && e.preventDefault();
831
+ }, E = (e) => {
832
+ i || (p.select(d, "pointer", e.nativeEvent), p.setInputValue(p.labelFor(d) ?? x ?? d, "select", e.nativeEvent), p.closeOnSelect && p.setOpen(!1, "select", e.nativeEvent), p.inputNode?.focus({ preventScroll: !0 }));
833
+ };
834
+ return /* @__PURE__ */ C("div", {
835
+ ...l(f, "part", "item"),
836
+ "aria-disabled": i ? !0 : void 0,
837
+ "aria-posinset": s,
838
+ "aria-selected": w,
839
+ "aria-setsize": s === void 0 ? void 0 : p.total,
840
+ "data-value": d,
841
+ ...x === void 0 ? {} : { "data-text-value": x },
842
+ ...i ? { "data-disabled": "" } : {},
843
+ ...w ? { "data-selected": "" } : {},
844
+ ...te ? { "data-current": "" } : {},
845
+ id: f.id ?? p.optionId(d),
846
+ onClick: E,
847
+ onPointerDown: ne,
848
+ onPointerEnter: T,
849
+ ref: (e) => {
850
+ g(e), typeof c == "function" ? c(e) : c != null && (c.current = e);
851
+ },
852
+ role: "option",
853
+ children: [
854
+ a === void 0 ? null : /* @__PURE__ */ S("span", {
855
+ "data-part": "icon",
856
+ "data-part-icon": "",
857
+ children: a
858
+ }),
859
+ /* @__PURE__ */ S("span", {
860
+ "data-part": "label",
861
+ "data-part-label": "",
862
+ children: ee
863
+ }),
864
+ t === void 0 ? null : /* @__PURE__ */ S("span", {
865
+ "data-part": "description",
866
+ "data-part-description": "",
867
+ children: t
868
+ }),
869
+ /* @__PURE__ */ S("span", {
870
+ "data-part": "indicator",
871
+ "data-part-indicator": "",
872
+ children: /* @__PURE__ */ S(r, { children: /* @__PURE__ */ S(n, { name: "check" }) })
873
+ })
874
+ ]
875
+ });
876
+ }
877
+ function _e({ children: e, label: t, ...n }) {
878
+ let r = `${h()}group`, { query: i } = P(), [a, o] = b(null), [s, c] = b(!1);
879
+ return m(() => {
880
+ a !== null && c(a.querySelector("[data-part='item']") === null);
881
+ }, [a, i]), /* @__PURE__ */ C("div", {
882
+ ...l(n, "part", "group"),
883
+ "aria-labelledby": r,
884
+ hidden: s,
885
+ ref: o,
886
+ role: "group",
887
+ children: [/* @__PURE__ */ S("div", {
888
+ "data-part": "group-label",
889
+ "data-part-group-label": "",
890
+ id: r,
891
+ children: t
892
+ }), e]
893
+ });
894
+ }
895
+ function ve(e) {
896
+ return /* @__PURE__ */ S("div", {
897
+ "data-part": "separator",
898
+ "data-part-separator": "",
899
+ ref: e.ref,
900
+ role: "separator"
901
+ });
902
+ }
903
+ //#endregion
904
+ export { fe as a, A as c, me as i, N as l, ge as n, ce as o, ve as r, P as s, _e as t, M as u };