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