@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,1283 @@
1
+ import { n as e, r as t } from "./i18n-D7xXDd8-.js";
2
+ import { n, t as r } from "./icon-DjqSEQ-o.js";
3
+ /* empty css */
4
+ import { t as i } from "./spinner-ring-DyfaYloA.js";
5
+ import { t as a } from "./avatar-C1mYlU05.js";
6
+ /* empty css */
7
+ import { b as o } from "./field-tnEZiRLg.js";
8
+ /* empty css */
9
+ import { t as s } from "./highlight-9lRPIZ9O.js";
10
+ import { c, i as l, n as ee, o as u, s as te } from "./select-C0JYHwBy.js";
11
+ import { keyedProps as d, selectorKeyProps as ne } from "@slotted/core/selector-key";
12
+ import { createArrowNavigation as re, createRemovalFocus as ie } from "@slotted/core/focus";
13
+ import { createControllable as f } from "@slotted/core/state";
14
+ import { createContext as ae, useCallback as p, useContext as m, useEffect as h, useId as oe, useImperativeHandle as se, useLayoutEffect as g, useMemo as ce, useRef as _, useState as v } from "react";
15
+ import { Fragment as le, jsx as y, jsxs as b } from "react/jsx-runtime";
16
+ import { createCollapse as ue } from "@slotted/core/overflow";
17
+ import { createPresence as de } from "@slotted/core/presence";
18
+ import { entityPickerMessages as fe } from "@slotted/core/i18n";
19
+ import { createPortalRoot as pe } from "@slotted/core/portal";
20
+ import { createDismissableLayer as me, pressOrigin as he } from "@slotted/core/dismissable-layer";
21
+ import { createPositioner as ge } from "@slotted/core/positioner";
22
+ import { createPortal as _e } from "react-dom";
23
+ import { getLiveAnnouncer as ve } from "@slotted/core/live-announcer";
24
+ import { createRowMetrics as ye, moveIndex as be, offsetForIndex as xe, virtualWindow as x } from "@slotted/core/collection";
25
+ import { CREATE_OPTION as S, CREATE_OPTION as C, RETRY_OPTION as Se, RETRY_OPTION as w, createEntityCache as Ce, createEntityResolver as we, createEntitySearch as Te, entityInitials as T, entityName as Ee, entityOptions as De, entityPickerKey as E, entitySections as Oe, localEntitySource as ke, localEntitySource as Ae, offersCreation as je, rememberRecent as D } from "@slotted/core/entity-picker";
26
+ //#region src/entity-picker/entity-picker-defaults.tsx
27
+ var O = {
28
+ clearable: !0,
29
+ disabled: !1,
30
+ fullWidth: !0,
31
+ highlightMatch: !0,
32
+ invalid: !1,
33
+ loop: !1,
34
+ media: "avatar",
35
+ minQueryLength: 0,
36
+ openOn: "input",
37
+ overflow: "collapse",
38
+ portal: !0,
39
+ readOnly: !1,
40
+ required: !1,
41
+ searchDelay: 250,
42
+ side: "bottom",
43
+ size: "md",
44
+ strategy: "absolute",
45
+ variant: "outline",
46
+ width: "content"
47
+ }, k = ae(O);
48
+ function A() {
49
+ return m(k);
50
+ }
51
+ function j({ children: e, ...t }) {
52
+ let n = { ...A() };
53
+ for (let [e, r] of Object.entries(t)) r !== void 0 && (n[e] = r);
54
+ return /* @__PURE__ */ y(k.Provider, {
55
+ value: n,
56
+ children: e
57
+ });
58
+ }
59
+ //#endregion
60
+ //#region src/entity-picker/entity-picker-control.tsx
61
+ var M = "[data-part='chips'] > [data-ui='tag']:not([data-count])";
62
+ function N(e, t) {
63
+ return (n) => {
64
+ e?.(n), n.defaultPrevented || t(n);
65
+ };
66
+ }
67
+ function Me(e, ...t) {
68
+ for (let n of t) typeof n == "function" ? n(e) : n != null && (n.current = e);
69
+ }
70
+ var Ne = {
71
+ border: 0,
72
+ clip: "rect(0 0 0 0)",
73
+ clipPath: "inset(50%)",
74
+ height: "1px",
75
+ overflow: "hidden",
76
+ padding: 0,
77
+ position: "absolute",
78
+ whiteSpace: "nowrap",
79
+ width: "1px"
80
+ };
81
+ function Pe({ entity: e, locale: t }) {
82
+ return e.avatar === null ? null : /* @__PURE__ */ y(a, {
83
+ decorative: !0,
84
+ initials: T(e),
85
+ locale: t,
86
+ name: e.avatar?.name ?? e.label,
87
+ shape: e.avatar?.shape ?? "circle",
88
+ surface: e.avatar?.surface ?? "tone",
89
+ size: "xs",
90
+ ...e.avatar?.src === void 0 ? {} : { src: e.avatar.src }
91
+ });
92
+ }
93
+ function Fe() {
94
+ let e = Ue(), t = o(), { props: a } = e, { "aria-describedby": s, "aria-label": d, form: f, id: ae, name: m, onBlur: oe, onClick: se, onFocus: ce, onKeyDown: de, placeholder: fe, ref: pe, render: me, source: ge, items: _e, entities: ve, favorites: ye, recent: xe, scopes: x, scope: S, defaultScope: C, onScopeChange: Se, inputValue: w, defaultInputValue: Ce, onInputValueChange: we, open: Te, defaultOpen: T, onOpenChange: Ee, highlightedValue: De, defaultHighlightedValue: Oe, onHighlightedValueChange: ke, onCreate: Ae, renderOption: je, renderChip: D, handleRef: O, locale: k, max: A, clearable: j, disabled: Fe, fullWidth: P, highlightMatch: Le, invalid: Re, messages: ze, loop: Be, media: Ve, minQueryLength: He, openOn: F, overflow: We, portal: Ge, readOnly: Ke, required: qe, searchDelay: Je, side: Ye, size: Xe, strategy: I, variant: Ze, width: Qe, selectionMode: $e, value: et, defaultValue: tt, onValueChange: nt, ...rt } = a, { t: L, multiple: R } = e, z = e.chosen, B = _(null), it = _(null), [at, ot] = v(0), st = p((t) => {
95
+ e.setInputNode(t), Me(t, pe);
96
+ }, [pe]), ct = (t, n) => {
97
+ e.entry.current = t, e.setOpen(!0, "keyboard", n);
98
+ }, lt = (t, n) => {
99
+ let r = e.options, i = r.findIndex((t) => t.key === e.highlighted), a = be({
100
+ enabled: r.map((e) => !e.disabled),
101
+ from: i,
102
+ intent: t,
103
+ loop: e.loop
104
+ });
105
+ a >= 0 && e.setHighlighted(r[a].key, "keyboard", n);
106
+ }, ut = (t) => {
107
+ if (e.disabled) return;
108
+ let n = t.currentTarget, r = E({
109
+ key: t.key,
110
+ altKey: t.altKey,
111
+ ctrlKey: t.ctrlKey,
112
+ metaKey: t.metaKey,
113
+ composing: t.nativeEvent.isComposing,
114
+ open: e.open,
115
+ selectionMode: R ? "multiple" : "single",
116
+ readOnly: e.readOnly,
117
+ highlighted: e.highlighted !== null,
118
+ empty: n.value === "",
119
+ caretAtStart: n.selectionStart === 0 && n.selectionEnd === 0,
120
+ chips: z.length,
121
+ dir: getComputedStyle(n).direction === "rtl" ? "rtl" : "ltr"
122
+ }), i = t.nativeEvent;
123
+ switch (r.type) {
124
+ case "none":
125
+ t.key === "Tab" && e.open && e.setOpen(!1, "blur", i);
126
+ return;
127
+ case "open":
128
+ t.preventDefault(), ct(r.highlight, i);
129
+ return;
130
+ case "close":
131
+ t.preventDefault(), e.setOpen(!1, r.reason, i);
132
+ return;
133
+ case "move":
134
+ t.preventDefault(), lt(r.intent, i);
135
+ return;
136
+ case "activate":
137
+ t.preventDefault(), e.highlighted !== null && e.activate(e.highlighted, "keyboard", i);
138
+ return;
139
+ case "revert":
140
+ t.preventDefault(), e.revert(i);
141
+ return;
142
+ case "clearQuery":
143
+ t.preventDefault(), e.clearQuery(i);
144
+ return;
145
+ case "focusChip": {
146
+ t.preventDefault();
147
+ let e = [...B.current?.querySelectorAll(M) ?? []].filter((e) => !e.hidden);
148
+ e[e.length - 1]?.focus({ preventScroll: !0 });
149
+ return;
150
+ }
151
+ }
152
+ }, dt = (t) => {
153
+ e.setTyped(t.currentTarget.value, t.nativeEvent), !e.open && !e.readOnly && e.openOn !== "manual" && (e.entry.current = "keep", e.setOpen(!0, "keyboard", t.nativeEvent));
154
+ }, ft = () => {
155
+ e.openOn !== "focus" || e.readOnly || e.open || (e.entry.current = R ? "keep" : "selected", e.setOpen(!0, "keyboard"));
156
+ }, pt = (t) => {
157
+ e.openOn === "manual" || e.disabled || e.readOnly || e.open || (e.entry.current = R ? "keep" : "selected", e.setOpen(!0, "pointer", t.nativeEvent));
158
+ }, V = (t) => {
159
+ let n = t.relatedTarget, r = e.inputNode?.ownerDocument.getElementById(e.contentId) ?? null;
160
+ if (e.controlNode?.parentElement, n instanceof Node && (r?.contains(n) || e.controlNode?.contains(n))) return;
161
+ let i = he(e.inputNode?.ownerDocument);
162
+ i instanceof Node && r?.contains(i) === !0 || (e.settle(t), e.open && e.setOpen(!1, "blur"));
163
+ }, mt = (t) => {
164
+ e.disabled || e.readOnly || (e.entry.current = R ? "keep" : "selected", e.setOpen(!e.open, "pointer", t.nativeEvent), e.inputNode?.focus({ preventScroll: !0 }));
165
+ }, ht = (t) => {
166
+ e.clear(t.nativeEvent), e.inputNode?.focus({ preventScroll: !0 });
167
+ };
168
+ h(() => {
169
+ let t = B.current;
170
+ if (t === null) return;
171
+ let n = re(t, {
172
+ itemSelector: `${M}, [data-part='field'] > [data-part='input']`,
173
+ loop: !1,
174
+ ownedKeys: (e) => e instanceof HTMLInputElement && e.value !== "" ? [
175
+ "ArrowLeft",
176
+ "ArrowRight",
177
+ "Home",
178
+ "End"
179
+ ] : []
180
+ }), r = ie(t, {
181
+ itemSelector: M,
182
+ fallback: () => e.inputNode
183
+ });
184
+ return () => {
185
+ n.destroy(), r.destroy();
186
+ };
187
+ }, [R, e.inputNode]);
188
+ let H = R && e.overflow === "collapse", U = _(null);
189
+ h(() => {
190
+ let e = B.current;
191
+ if (e === null || !H) {
192
+ ot(0);
193
+ return;
194
+ }
195
+ let t = ue(e, {
196
+ collapsible: (e) => e.dataset.part !== "field",
197
+ fixedSize: (e) => e.dataset.part === "field" ? Number.parseFloat(getComputedStyle(e).minInlineSize) || 0 : void 0,
198
+ onChange: (e) => ot(e.length),
199
+ trigger: () => it.current,
200
+ units: () => [...e.children].filter((e) => e instanceof HTMLElement && !e.hasAttribute("data-count"))
201
+ });
202
+ return U.current = t, () => {
203
+ t.destroy(), U.current = null;
204
+ };
205
+ }, [H]), g(() => {
206
+ U.current?.refresh();
207
+ }, [z, e.version]);
208
+ let gt = [s, t?.describedBy].filter(Boolean).join(" "), _t = ae ?? t?.ids.control ?? e.inputId, vt = !R && z.length > 0 && e.resolver.status(z[0]) === "pending", W = e.search.indicator || vt, G = e.clearable && !e.disabled && !e.readOnly && (z.length > 0 || e.inputValue !== ""), K = /* @__PURE__ */ y("input", {
209
+ autoCorrect: "off",
210
+ spellCheck: !1,
211
+ ...rt,
212
+ "aria-activedescendant": e.open && e.highlighted !== null ? e.optionId(e.highlighted) : void 0,
213
+ "aria-autocomplete": "list",
214
+ "aria-busy": vt ? !0 : void 0,
215
+ "aria-controls": e.open ? e.contentId : void 0,
216
+ "aria-describedby": gt === "" ? void 0 : gt,
217
+ "aria-expanded": e.open,
218
+ "aria-invalid": e.invalid ? !0 : void 0,
219
+ "aria-label": d,
220
+ "aria-readonly": e.readOnly ? !0 : void 0,
221
+ autoComplete: "off",
222
+ "data-part": "input",
223
+ "data-part-input": "",
224
+ disabled: e.disabled,
225
+ id: _t,
226
+ onBlur: N(oe, V),
227
+ onChange: dt,
228
+ onClick: N(se, pt),
229
+ onFocus: N(ce, ft),
230
+ onKeyDown: N(de, ut),
231
+ placeholder: fe,
232
+ readOnly: e.readOnly,
233
+ ref: st,
234
+ required: e.required && z.length === 0,
235
+ role: "combobox",
236
+ type: "text",
237
+ value: e.inputValue
238
+ }), yt = !R && z[0] !== void 0 ? e.cache.get(z[0]) : void 0, q = {
239
+ "data-overflow": e.overflow,
240
+ "data-part": "root",
241
+ ...ne("part", "root"),
242
+ "data-selection-mode": R ? "multiple" : "single",
243
+ "data-size": e.size,
244
+ "data-ui": "entity-picker",
245
+ ...ne("ui", "entity-picker"),
246
+ "data-variant": e.variant,
247
+ ...e.fullWidth ? { "data-full-width": "" } : {},
248
+ ...e.open ? { "data-open": "" } : {},
249
+ ...e.disabled ? { "data-disabled": "" } : {},
250
+ ...e.readOnly ? { "data-readonly": "" } : {},
251
+ ...e.invalid ? { "data-invalid": "" } : {},
252
+ ...e.required ? { "data-required": "" } : {},
253
+ ...W ? { "data-loading": "" } : {},
254
+ ...e.max !== null && z.length >= e.max ? { "data-complete": "" } : {},
255
+ ...x !== void 0 && x.length > 0 ? {
256
+ role: "group",
257
+ ...t?.ids.label === void 0 ? d === void 0 ? {} : { "aria-label": d } : { "aria-labelledby": t.ids.label }
258
+ } : {}
259
+ }, bt = L("chips", {
260
+ label: d ?? "",
261
+ count: z.length
262
+ }).replace(/^, /, ""), xt = /* @__PURE__ */ b(le, { children: [
263
+ x !== void 0 && x.length > 0 ? /* @__PURE__ */ y("div", {
264
+ "data-part": "scope",
265
+ "data-part-scope": "",
266
+ children: /* @__PURE__ */ b(c, {
267
+ disabled: e.disabled || e.readOnly,
268
+ items: x.map((e) => ({
269
+ value: e.id,
270
+ label: e.label
271
+ })),
272
+ onValueChange: (t, n) => e.setScope(typeof t == "string" ? t : null, n.reason === "pointer" || n.reason === "keyboard" ? n.reason : "programmatic", n.source),
273
+ size: e.size,
274
+ value: e.scope,
275
+ variant: e.variant === "plain" ? "plain" : e.variant,
276
+ children: [/* @__PURE__ */ y(u, {
277
+ "aria-label": L("scope"),
278
+ children: /* @__PURE__ */ y(te, {})
279
+ }), /* @__PURE__ */ y(l, { children: x.map((e) => /* @__PURE__ */ y(ee, {
280
+ value: e.id,
281
+ children: e.label
282
+ }, e.id)) })]
283
+ })
284
+ }) : null,
285
+ /* @__PURE__ */ b("div", {
286
+ "data-part": "control",
287
+ "data-part-control": "",
288
+ ref: e.setControlNode,
289
+ children: [
290
+ !R && yt !== void 0 && yt.avatar !== null && e.media === "avatar" && e.inputValue === yt.label ? /* @__PURE__ */ y("span", {
291
+ "aria-hidden": "true",
292
+ "data-part": "selection",
293
+ "data-part-selection": "",
294
+ children: /* @__PURE__ */ y(Pe, {
295
+ entity: yt,
296
+ locale: e.locale
297
+ })
298
+ }) : null,
299
+ R ? /* @__PURE__ */ y("div", {
300
+ "aria-label": bt,
301
+ "data-part": "values",
302
+ "data-part-values": "",
303
+ role: "grid",
304
+ children: /* @__PURE__ */ b("div", {
305
+ "data-part": "chips",
306
+ "data-part-chips": "",
307
+ ref: B,
308
+ role: "row",
309
+ children: [
310
+ z.map((e) => /* @__PURE__ */ y(Ie, {
311
+ id: e,
312
+ renderChip: D
313
+ }, e)),
314
+ H ? /* @__PURE__ */ y("span", {
315
+ "aria-label": L("moreLabel", { count: Math.max(at, 1) }),
316
+ "data-count": "",
317
+ "data-part": "root",
318
+ "data-part-root": "",
319
+ "data-size": "sm",
320
+ "data-tone": "secondary",
321
+ "data-ui": "tag",
322
+ "data-ui-tag": "",
323
+ "data-variant": "outline",
324
+ hidden: !0,
325
+ onClick: (t) => {
326
+ e.setTyped("", t.nativeEvent), e.entry.current = "keep", e.setOpen(!0, "pointer", t.nativeEvent), e.inputNode?.focus({ preventScroll: !0 });
327
+ },
328
+ ref: it,
329
+ role: "gridcell",
330
+ tabIndex: -1,
331
+ children: /* @__PURE__ */ y("span", {
332
+ "data-part": "body",
333
+ "data-part-body": "",
334
+ children: /* @__PURE__ */ y("span", {
335
+ "data-part": "label",
336
+ "data-part-label": "",
337
+ children: L("more", { count: Math.max(at, 1) })
338
+ })
339
+ })
340
+ }) : null,
341
+ /* @__PURE__ */ y("span", {
342
+ "data-part": "field",
343
+ "data-part-field": "",
344
+ role: "gridcell",
345
+ children: K
346
+ })
347
+ ]
348
+ })
349
+ }) : K,
350
+ G ? /* @__PURE__ */ y("button", {
351
+ "aria-label": L("clear"),
352
+ "data-part": "clear",
353
+ "data-part-clear": "",
354
+ onClick: ht,
355
+ type: "button",
356
+ children: /* @__PURE__ */ y(r, { children: /* @__PURE__ */ y(n, { name: "x" }) })
357
+ }) : null,
358
+ /* @__PURE__ */ y("button", {
359
+ "aria-label": L("trigger"),
360
+ "data-part": "trigger",
361
+ "data-part-trigger": "",
362
+ disabled: e.disabled,
363
+ onClick: mt,
364
+ tabIndex: -1,
365
+ type: "button",
366
+ children: W ? /* @__PURE__ */ y("span", {
367
+ "aria-hidden": "true",
368
+ "data-part": "busy",
369
+ "data-part-busy": "",
370
+ "data-ui": "spinner",
371
+ "data-ui-spinner": "",
372
+ children: i
373
+ }) : /* @__PURE__ */ y("span", {
374
+ "data-part": "arrow",
375
+ "data-part-arrow": "",
376
+ children: /* @__PURE__ */ y(r, { children: /* @__PURE__ */ y(n, { name: "chevron-down" }) })
377
+ })
378
+ })
379
+ ]
380
+ }),
381
+ m === void 0 ? null : (z.length === 0 ? [""] : z).map((t, n) => /* @__PURE__ */ y("input", {
382
+ "aria-hidden": "true",
383
+ form: f,
384
+ name: m,
385
+ readOnly: !0,
386
+ required: n === 0 && e.required,
387
+ style: Ne,
388
+ tabIndex: -1,
389
+ type: "text",
390
+ value: t
391
+ }, `${t}-${n}`))
392
+ ] });
393
+ return me === void 0 ? /* @__PURE__ */ y("div", {
394
+ ...q,
395
+ children: xt
396
+ }) : me({
397
+ ...q,
398
+ children: xt
399
+ });
400
+ }
401
+ function Ie({ id: e, renderChip: t }) {
402
+ let i = Ue(), { t: a } = i, o = i.cache.get(e), s = i.resolver.status(e), c = o === void 0 && s === "pending", l = o === void 0 && s === "missing", ee = i.readOnly || i.disabled, u = o === void 0 ? a(l ? "unresolvedChip" : "loadingChip", { id: e }) : Ee(o), te = o?.label ?? (l ? a("unresolved") : e), d = (t) => {
403
+ if (!t.defaultPrevented) switch (t.key) {
404
+ case "Delete":
405
+ case "Backspace":
406
+ if (ee) return;
407
+ t.preventDefault(), i.remove(e, t.nativeEvent);
408
+ return;
409
+ case "Escape":
410
+ t.preventDefault(), i.inputNode?.focus({ preventScroll: !0 });
411
+ return;
412
+ default: t.key.length === 1 && !t.ctrlKey && !t.metaKey && !t.altKey && i.inputNode?.focus({ preventScroll: !0 });
413
+ }
414
+ }, ne = (t) => {
415
+ t.stopPropagation(), i.remove(e, t.nativeEvent), i.inputNode?.focus({ preventScroll: !0 });
416
+ };
417
+ return /* @__PURE__ */ b("span", {
418
+ "aria-busy": c ? !0 : void 0,
419
+ "aria-label": u,
420
+ "data-part": "root",
421
+ "data-part-root": "",
422
+ "data-size": "sm",
423
+ "data-tone": "secondary",
424
+ "data-ui": "tag",
425
+ "data-ui-tag": "",
426
+ "data-value": e,
427
+ "data-variant": l || c ? "outline" : "soft",
428
+ onKeyDown: d,
429
+ role: "gridcell",
430
+ tabIndex: -1,
431
+ ...c ? { "data-loading": "" } : {},
432
+ ...l ? { "data-unresolved": "" } : {},
433
+ ...i.disabled ? { "data-disabled": "" } : {},
434
+ children: [/* @__PURE__ */ b("span", {
435
+ "data-part": "body",
436
+ "data-part-body": "",
437
+ children: [i.media === "avatar" && o?.avatar !== null ? /* @__PURE__ */ y("span", {
438
+ "data-part": "start",
439
+ "data-part-start": "",
440
+ children: o === void 0 ? c ? /* @__PURE__ */ y("span", {
441
+ "aria-hidden": "true",
442
+ "data-loading": "",
443
+ "data-part": "root",
444
+ "data-part-root": "",
445
+ "data-shape": "circle",
446
+ "data-size": "xs",
447
+ "data-ui": "skeleton",
448
+ "data-ui-skeleton": ""
449
+ }) : l ? /* @__PURE__ */ y(r, { children: /* @__PURE__ */ y(n, { name: "circle-alert" }) }) : null : /* @__PURE__ */ y(Pe, {
450
+ entity: o,
451
+ locale: i.locale
452
+ })
453
+ }) : null, /* @__PURE__ */ y("span", {
454
+ "data-part": "label",
455
+ "data-part-label": "",
456
+ children: c ? /* @__PURE__ */ y("span", {
457
+ "aria-hidden": "true",
458
+ "data-loading": "",
459
+ "data-part": "root",
460
+ "data-part-root": "",
461
+ "data-shape": "text",
462
+ "data-ui": "skeleton",
463
+ "data-ui-skeleton": ""
464
+ }) : o !== void 0 && t !== void 0 ? t(o) : te
465
+ })]
466
+ }), ee ? null : /* @__PURE__ */ y("button", {
467
+ "aria-label": a("remove", { label: o?.label ?? te }),
468
+ "data-part": "remove",
469
+ "data-part-remove": "",
470
+ onClick: ne,
471
+ tabIndex: -1,
472
+ type: "button",
473
+ children: /* @__PURE__ */ y(r, { children: /* @__PURE__ */ y(n, { name: "x" }) })
474
+ })]
475
+ });
476
+ }
477
+ //#endregion
478
+ //#region src/entity-picker/entity-picker-popup.tsx
479
+ function P(e) {
480
+ e.defaultPrevented || e.preventDefault();
481
+ }
482
+ function Le() {
483
+ return /* @__PURE__ */ b("div", { children: [
484
+ /* @__PURE__ */ y("span", {
485
+ "data-loading": "",
486
+ "data-part": "root",
487
+ "data-part-root": "",
488
+ "data-shape": "circle",
489
+ "data-size": "xs",
490
+ "data-ui": "skeleton",
491
+ "data-ui-skeleton": ""
492
+ }),
493
+ /* @__PURE__ */ y("span", {
494
+ "data-loading": "",
495
+ "data-part": "root",
496
+ "data-part-root": "",
497
+ "data-shape": "text",
498
+ "data-ui": "skeleton",
499
+ "data-ui-skeleton": ""
500
+ }),
501
+ /* @__PURE__ */ y("span", {
502
+ "data-loading": "",
503
+ "data-part": "root",
504
+ "data-part-root": "",
505
+ "data-shape": "text",
506
+ "data-ui": "skeleton",
507
+ "data-ui-skeleton": ""
508
+ })
509
+ ] });
510
+ }
511
+ var Re = 100, ze = 48, Be = 6;
512
+ function Ve() {
513
+ let e = Ue(), { t, search: i } = e, a = oe(), [o, c] = v(null), [l, ee] = v(null), [u, te] = v(null), [d, ne] = v("unmounted"), [re, ie] = v(!1), f = _(null), ae = _(null), m = _(e);
514
+ m.current = e, h(() => {
515
+ let e = de({
516
+ present: m.current.open,
517
+ onStatusChange: ne
518
+ });
519
+ return f.current = e, ne(e.status), () => {
520
+ e.destroy(), f.current = null;
521
+ };
522
+ }, []), h(() => f.current?.sync(e.open), [e.open]), h(() => f.current?.setNode(o), [o]);
523
+ let se = e.open || d !== "unmounted";
524
+ h(() => {
525
+ let t = e.inputNode;
526
+ if (t === null || re) return;
527
+ let n = () => ie(!0);
528
+ return t.addEventListener("focusin", n), t.addEventListener("pointerdown", n), () => {
529
+ t.removeEventListener("focusin", n), t.removeEventListener("pointerdown", n);
530
+ };
531
+ }, [e.inputNode, re]);
532
+ let ue = se || re;
533
+ g(() => {
534
+ if (!ue) {
535
+ te(null);
536
+ return;
537
+ }
538
+ let t = pe({
539
+ origin: e.inputNode,
540
+ disabled: !e.portal
541
+ });
542
+ return te(t.container), () => t.release();
543
+ }, [
544
+ ue,
545
+ e.inputNode,
546
+ e.portal
547
+ ]);
548
+ let { side: fe, strategy: he, width: be, controlNode: C } = e, w = _(null), Ce = p((e, t) => {
549
+ e.update().then(() => {
550
+ w.current === e && m.current.open && t.setAttribute("data-open", "");
551
+ });
552
+ }, []);
553
+ g(() => {
554
+ if (o === null || C === null) return;
555
+ let e = ge(C, o, {
556
+ align: "start",
557
+ alignOffset: 0,
558
+ boundaryPadding: 8,
559
+ flip: !0,
560
+ hideWhenDetached: !0,
561
+ matchWidth: be === "anchor",
562
+ shift: !0,
563
+ side: fe,
564
+ sideOffset: 4,
565
+ strategy: he
566
+ });
567
+ return w.current = e, m.current.open && Ce(e, o), () => {
568
+ e.destroy(), w.current = null, o.removeAttribute("data-open");
569
+ };
570
+ }, [
571
+ C,
572
+ o,
573
+ Ce,
574
+ fe,
575
+ he,
576
+ be
577
+ ]), g(() => {
578
+ let t = w.current;
579
+ t !== null && o !== null && (e.open ? Ce(t, o) : o.removeAttribute("data-open"));
580
+ }, [
581
+ o,
582
+ e.open,
583
+ Ce
584
+ ]), h(() => {
585
+ if (o === null || !e.open || C === null) return;
586
+ let t = me(o, {
587
+ branches: [C],
588
+ escape: !0,
589
+ focusOutside: !1,
590
+ modal: !1,
591
+ outsidePress: !0,
592
+ scrollLock: !1,
593
+ onDismiss: (e) => {
594
+ m.current.setOpen(!1, e.reason === "escape" ? "escape" : "outsidePress", e.source);
595
+ }
596
+ });
597
+ return () => t.destroy();
598
+ }, [
599
+ C,
600
+ o,
601
+ e.open
602
+ ]);
603
+ let we = e.options.map((e) => e.key).join("");
604
+ g(() => {
605
+ let e = m.current;
606
+ if (!e.open) return;
607
+ let t = e.options, n = e.entry.current;
608
+ if (n !== "keep") {
609
+ let r = t.filter((e) => !e.disabled), i = n === "last" ? r[r.length - 1] : n === "selected" ? t.find((t) => e.chosen.includes(t.key)) ?? void 0 : r[0];
610
+ (i !== void 0 || n !== "selected") && (e.entry.current = "keep", i !== void 0 && e.setHighlighted(i.key, "keyboard"));
611
+ return;
612
+ }
613
+ e.highlighted !== null && !t.some((t) => t.key === e.highlighted) && e.setHighlighted(null, "keyboard");
614
+ }, [we, e.open]), h(() => {
615
+ if (l === null || e.highlighted === null) return;
616
+ let t = l.ownerDocument.getElementById(e.optionId(e.highlighted));
617
+ typeof t?.scrollIntoView == "function" && t.scrollIntoView({ block: "nearest" });
618
+ }, [
619
+ e,
620
+ e.highlighted,
621
+ l
622
+ ]);
623
+ let Te = i.status === "error";
624
+ h(() => {
625
+ Te && m.current.open && ve(m.current.inputNode?.ownerDocument).announce(m.current.t("error"), { repeat: !0 });
626
+ }, [Te]), h(() => {
627
+ let e = ae.current, t = l;
628
+ if (e === null || t === null || !i.hasMore || typeof IntersectionObserver != "function") return;
629
+ let n = new IntersectionObserver((e) => {
630
+ e.some((e) => e.isIntersecting) && m.current.session.more();
631
+ }, { root: t });
632
+ return n.observe(e), () => n.disconnect();
633
+ }, [
634
+ i.hasMore,
635
+ i.items.length,
636
+ l
637
+ ]);
638
+ let T = ce(() => e.sections.headings ? null : e.sections.sections.flatMap((e) => e.entities), [e.sections]), Ee = T !== null && (e.props.virtualize ?? T.length > Re) !== !1, De = e.props.estimatedRowHeight ?? ze, [E] = v(() => /* @__PURE__ */ new Map()), [Oe, ke] = v(0), [Ae, je] = v({
639
+ offset: 0,
640
+ size: 0
641
+ }), D = _(null);
642
+ g(() => {
643
+ if (!Ee || l === null) return;
644
+ let e = () => je({
645
+ offset: l.scrollTop,
646
+ size: l.clientHeight
647
+ });
648
+ e(), l.addEventListener("scroll", e, { passive: !0 });
649
+ let t = typeof ResizeObserver > "u" ? null : new ResizeObserver(e);
650
+ return t?.observe(l), D.current = typeof ResizeObserver > "u" ? null : new ResizeObserver((e) => {
651
+ let t = !1;
652
+ for (let n of e) {
653
+ let e = n.target.dataset.value, r = n.target.offsetHeight;
654
+ e !== void 0 && r !== 0 && E.get(e) !== r && (E.set(e, r), t = !0);
655
+ }
656
+ t && ke((e) => e + 1);
657
+ }), () => {
658
+ l.removeEventListener("scroll", e), t?.disconnect(), D.current?.disconnect(), D.current = null;
659
+ };
660
+ }, [
661
+ E,
662
+ l,
663
+ Ee
664
+ ]);
665
+ let O = ce(() => Ee && T !== null ? ye(T.map((e) => E.get(e.id) ?? De)) : void 0, [
666
+ De,
667
+ T,
668
+ E,
669
+ Oe,
670
+ Ee
671
+ ]), k = O === void 0 || T === null ? null : x({
672
+ itemCount: T.length,
673
+ metrics: O,
674
+ overscan: Be,
675
+ scrollOffset: Ae.offset,
676
+ viewportSize: Ae.size
677
+ }), A = T === null || e.highlighted === null ? -1 : T.findIndex((t) => t.id === e.highlighted);
678
+ g(() => {
679
+ k === null || l === null || A < 0 || O === void 0 || A >= k.startIndex && A < k.endIndex || (l.scrollTop = xe({
680
+ index: A,
681
+ itemCount: T?.length ?? 0,
682
+ metrics: O,
683
+ scrollOffset: l.scrollTop,
684
+ viewportSize: l.clientHeight,
685
+ align: "nearest"
686
+ }), je({
687
+ offset: l.scrollTop,
688
+ size: l.clientHeight
689
+ }));
690
+ }, [
691
+ T,
692
+ A,
693
+ O,
694
+ k,
695
+ l
696
+ ]);
697
+ let j = p((e) => {
698
+ e !== null && D.current?.observe(e);
699
+ }, []);
700
+ if (!se) return null;
701
+ let M = e.options.filter((e) => e.key !== S && e.key !== Se).length, N = i.status === "loading" && i.items.length === 0, Me = i.status === "loading" && i.items.length > 0 && i.indicator, Ne = i.status === "error", Fe = M === 0 && !e.offerCreate && !Ne && !N && i.status !== "waiting" && i.status !== "short", Ie = i.status === "short" ? t("minQuery", { count: e.props.minQueryLength ?? 0 }) : Ne ? null : i.indicator && (N || i.loadingMore) ? t("loading") : i.status === "ready" && e.query !== "" ? t("count", { count: i.total ?? i.items.length }) : null, Ve = (t, i) => {
702
+ let a = t.id, o = e.chosen.includes(a), c = e.highlighted === a, l = e.options.find((e) => e.key === a)?.disabled ?? t.disabled === !0, ee = (t) => {
703
+ l || (e.activate(a, "pointer", t.nativeEvent), e.inputNode?.focus({ preventScroll: !0 }));
704
+ }, u = e.props.renderOption === void 0 ? /* @__PURE__ */ b(le, { children: [
705
+ /* @__PURE__ */ y("span", {
706
+ "data-part": "label",
707
+ "data-part-label": "",
708
+ children: e.highlightMatch && e.query !== "" ? /* @__PURE__ */ y(s, {
709
+ locale: e.locale,
710
+ query: e.query,
711
+ text: t.label
712
+ }) : t.label
713
+ }),
714
+ t.description === void 0 ? null : /* @__PURE__ */ y("span", {
715
+ "data-part": "description",
716
+ "data-part-description": "",
717
+ children: t.description
718
+ }),
719
+ t.meta === void 0 ? null : /* @__PURE__ */ y("span", {
720
+ "data-part": "meta",
721
+ "data-part-meta": "",
722
+ children: t.meta
723
+ })
724
+ ] }) : e.props.renderOption(t, {
725
+ current: c,
726
+ disabled: l,
727
+ query: e.query,
728
+ selected: o
729
+ });
730
+ return /* @__PURE__ */ b("div", {
731
+ "aria-disabled": l ? !0 : void 0,
732
+ "aria-selected": o,
733
+ "data-part": "item",
734
+ "data-part-item": "",
735
+ "data-value": a,
736
+ id: e.optionId(a),
737
+ onClick: ee,
738
+ onPointerDown: P,
739
+ onPointerEnter: (t) => {
740
+ l || e.setHighlighted(a, "pointer", t.nativeEvent);
741
+ },
742
+ role: "option",
743
+ ...i === void 0 ? {} : {
744
+ "aria-posinset": i + 1,
745
+ "aria-setsize": T?.length ?? 0,
746
+ ref: j
747
+ },
748
+ ...c ? { "data-current": "" } : {},
749
+ ...o ? { "data-selected": "" } : {},
750
+ ...l ? { "data-disabled": "" } : {},
751
+ children: [
752
+ e.media === "avatar" && t.avatar !== null ? /* @__PURE__ */ y("span", {
753
+ "data-part": "media",
754
+ "data-part-media": "",
755
+ children: /* @__PURE__ */ y(Pe, {
756
+ entity: t,
757
+ locale: e.locale
758
+ })
759
+ }) : null,
760
+ u,
761
+ /* @__PURE__ */ y("span", {
762
+ "data-part": "indicator",
763
+ "data-part-indicator": "",
764
+ children: /* @__PURE__ */ y(r, { children: /* @__PURE__ */ y(n, { name: "check" }) })
765
+ })
766
+ ]
767
+ }, a);
768
+ }, He = (t, i, a) => /* @__PURE__ */ b("div", {
769
+ "aria-selected": !1,
770
+ "data-part": "item",
771
+ "data-part-item": "",
772
+ "data-value": t,
773
+ id: e.optionId(t),
774
+ onClick: a,
775
+ onPointerDown: P,
776
+ onPointerEnter: (n) => e.setHighlighted(t, "pointer", n.nativeEvent),
777
+ role: "option",
778
+ ...t === S ? { "data-create": "" } : { "data-retry": "" },
779
+ ...e.highlighted === t ? { "data-current": "" } : {},
780
+ ...e.creating && t === S ? { "data-loading": "" } : {},
781
+ children: [/* @__PURE__ */ y("span", {
782
+ "aria-hidden": "true",
783
+ "data-part": "media",
784
+ "data-part-media": "",
785
+ children: /* @__PURE__ */ y(r, { children: /* @__PURE__ */ y(n, { name: t === S ? "plus" : "rotate-ccw" }) })
786
+ }), /* @__PURE__ */ y("span", {
787
+ "data-part": "label",
788
+ "data-part-label": "",
789
+ children: i
790
+ })]
791
+ }), { sections: F, headings: We } = e.sections, Ge = !(Ne && i.items.length === 0), Ke = /* @__PURE__ */ y("div", {
792
+ "data-align": "start",
793
+ "data-part": "positioner",
794
+ "data-part-positioner": "",
795
+ "data-size": e.size,
796
+ "data-ui": "entity-picker",
797
+ "data-ui-entity-picker": "",
798
+ "data-width": e.width,
799
+ ref: c,
800
+ ...e.open ? {} : { inert: !0 },
801
+ children: /* @__PURE__ */ b("div", {
802
+ "aria-busy": i.status === "loading" || void 0,
803
+ "aria-label": e.props["aria-label"],
804
+ "data-part": "content",
805
+ "data-part-content": "",
806
+ id: e.contentId,
807
+ ref: ee,
808
+ role: "listbox",
809
+ ...e.multiple ? { "aria-multiselectable": !0 } : {},
810
+ ...Me ? { "data-loading": "" } : {},
811
+ children: [
812
+ Ge && k !== null && T !== null && O !== void 0 ? /* @__PURE__ */ b(le, { children: [
813
+ /* @__PURE__ */ y("div", {
814
+ "aria-hidden": "true",
815
+ style: {
816
+ blockSize: k.startOffset,
817
+ gridColumn: "1 / -1"
818
+ }
819
+ }),
820
+ T.slice(k.startIndex, k.endIndex).map((e, t) => Ve(e, k.startIndex + t)),
821
+ /* @__PURE__ */ y("div", {
822
+ "aria-hidden": "true",
823
+ style: {
824
+ blockSize: k.totalSize - O.offsetOf(k.endIndex),
825
+ gridColumn: "1 / -1"
826
+ }
827
+ })
828
+ ] }) : Ge ? F.map((e) => We ? /* @__PURE__ */ b("div", {
829
+ "aria-labelledby": `${a}${e.key}`,
830
+ "data-part": "group",
831
+ "data-part-group": "",
832
+ role: "group",
833
+ children: [/* @__PURE__ */ y("div", {
834
+ "data-part": "group-label",
835
+ "data-part-group-label": "",
836
+ id: `${a}${e.key}`,
837
+ children: e.label
838
+ }), e.entities.map(Ve)]
839
+ }, e.key) : e.entities.map(Ve)) : null,
840
+ N && i.indicator ? /* @__PURE__ */ b("div", {
841
+ "aria-hidden": "true",
842
+ "data-part": "placeholder",
843
+ "data-part-placeholder": "",
844
+ children: [
845
+ /* @__PURE__ */ y(Le, {}),
846
+ /* @__PURE__ */ y(Le, {}),
847
+ /* @__PURE__ */ y(Le, {})
848
+ ]
849
+ }) : null,
850
+ i.loadingMore && i.indicator ? /* @__PURE__ */ y("div", {
851
+ "aria-hidden": "true",
852
+ "data-part": "more",
853
+ "data-part-more": "",
854
+ children: /* @__PURE__ */ y(Le, {})
855
+ }) : null,
856
+ /* @__PURE__ */ y("div", { ref: ae }),
857
+ e.offerCreate ? He(S, t("create", { query: e.query.trim() }), (t) => e.activate(S, "pointer", t.nativeEvent)) : null,
858
+ Ne ? /* @__PURE__ */ b("div", {
859
+ "data-part": "error",
860
+ "data-part-error": "",
861
+ children: [/* @__PURE__ */ y(r, { children: /* @__PURE__ */ y(n, { name: "circle-alert" }) }), t("error")]
862
+ }) : null,
863
+ Ne ? He(Se, t("retry"), () => {
864
+ e.retry(), e.inputNode?.focus({ preventScroll: !0 });
865
+ }) : null,
866
+ Fe ? /* @__PURE__ */ y("div", {
867
+ "data-part": "empty",
868
+ "data-part-empty": "",
869
+ children: t("empty")
870
+ }) : null,
871
+ /* @__PURE__ */ y("div", {
872
+ "aria-live": "polite",
873
+ "data-part": "status",
874
+ "data-part-status": "",
875
+ role: "status",
876
+ children: Ie
877
+ })
878
+ ]
879
+ })
880
+ });
881
+ return u === null ? Ke : _e(Ke, u);
882
+ }
883
+ //#endregion
884
+ //#region src/entity-picker/entity-picker.tsx
885
+ var He = ae(void 0);
886
+ function Ue() {
887
+ let e = m(He);
888
+ if (e === void 0) throw Error("An entity picker part is outside an EntityPicker.");
889
+ return e;
890
+ }
891
+ var F = [], We = {
892
+ state: {
893
+ status: "idle",
894
+ query: "",
895
+ scope: null,
896
+ items: [],
897
+ answered: !1,
898
+ total: void 0,
899
+ hasMore: !1,
900
+ loadingMore: !1,
901
+ indicator: !1,
902
+ error: void 0
903
+ },
904
+ search: () => {},
905
+ more: () => {},
906
+ retry: () => {},
907
+ refresh: () => {},
908
+ reset: () => {},
909
+ dispose: () => {}
910
+ }, Ge = {
911
+ require: () => {},
912
+ status: () => "pending",
913
+ retry: () => {},
914
+ dispose: () => {}
915
+ };
916
+ function Ke(e) {
917
+ return Array.isArray(e) ? e : typeof e == "string" ? [e] : [];
918
+ }
919
+ function qe(n) {
920
+ let { clearable: r, defaultHighlightedValue: i = null, defaultInputValue: a, defaultOpen: s = !1, defaultScope: c = null, disabled: l, entities: ee = F, favorites: u = F, fullWidth: te, handleRef: d, highlightMatch: ne, highlightedValue: re, inputValue: ie, invalid: ae, items: m, locale: g, messages: le, loop: ue, max: de, media: pe, minQueryLength: me, onCreate: he, open: ge, openOn: _e, overflow: ye, portal: be, readOnly: xe, recent: x = F, required: C, scope: w, searchDelay: T, side: Ee, size: E, source: Ae, strategy: D, variant: O, width: k } = n, j = n.selectionMode === "multiple", M = A(), N = o(), Me = oe(), Ne = `${Me}listbox`, Pe = `${Me}input`, Ie = p((e) => `${Me}option-${encodeURIComponent(e)}`, [Me]), P = t(fe, le), Le = e(), Re = g ?? Le, ze = l ?? N?.disabled ?? M.disabled, Be = xe ?? N?.readOnly ?? M.readOnly, Ue = me ?? M.minQueryLength, [qe, Je] = v(0), Ye = p(() => Je((e) => e + 1), []), Xe = _(null);
921
+ Xe.current === null && (Xe.current = Ce());
922
+ let I = Xe.current;
923
+ I.remember(ee), I.remember(u), I.remember(x);
924
+ let Ze = ce(() => Ae ?? ke(m ?? F, { locale: Re }), [
925
+ m,
926
+ Re,
927
+ Ae
928
+ ]), Qe = _(Ze);
929
+ Qe.current = Ze;
930
+ let $e = ce(() => ({
931
+ search: (e, t) => Qe.current.search(e, t),
932
+ resolve: (e, t) => Qe.current.resolve === void 0 ? Promise.resolve([]) : Qe.current.resolve(e, t)
933
+ }), []), [et, tt] = v(null), nt = _(Ue);
934
+ nt.current = Ue;
935
+ let rt = _(T ?? M.searchDelay);
936
+ rt.current = T ?? M.searchDelay;
937
+ let [L, R] = v(null);
938
+ h(() => {
939
+ let e = Te({
940
+ source: $e,
941
+ get delay() {
942
+ return rt.current;
943
+ },
944
+ get minQueryLength() {
945
+ return nt.current;
946
+ },
947
+ onChange: tt,
948
+ onResults: (e) => I.remember(e)
949
+ }), t = we({
950
+ source: {
951
+ search: $e.search,
952
+ resolve: (e, t) => Qe.current.resolve === void 0 ? Promise.reject(/* @__PURE__ */ Error("no resolve")) : Qe.current.resolve(e, t)
953
+ },
954
+ cache: I,
955
+ onChange: Ye
956
+ });
957
+ return R({
958
+ session: e,
959
+ resolver: t
960
+ }), () => {
961
+ e.dispose(), t.dispose(), tt(null);
962
+ };
963
+ }, [
964
+ Ye,
965
+ I,
966
+ $e
967
+ ]);
968
+ let z = L?.session ?? We, B = L?.resolver ?? Ge, it = Ke(n.defaultValue), [at, ot] = v(it), [st, ct] = v(s), [lt, ut] = v(i), [dt, ft] = v(c), pt = n.value, V = pt === void 0 ? at : Ke(pt), mt = (ge ?? st) && !ze, ht = re === void 0 ? lt : re, H = w === void 0 ? dt : w, U = (e) => e === void 0 ? "" : I.get(e)?.label ?? "", [gt, _t] = v(() => a ?? (j ? "" : U(it[0]))), vt = ie ?? gt, [W, G] = v(!1), K = j || W ? vt : "", yt = _("keep"), [q, bt] = v(null), [xt, St] = v(null), J = _({
969
+ props: n,
970
+ currentIds: V,
971
+ currentOpen: mt,
972
+ currentHighlighted: ht,
973
+ currentInput: vt,
974
+ currentScope: H,
975
+ typed: W
976
+ });
977
+ J.current = {
978
+ props: n,
979
+ currentIds: V,
980
+ currentOpen: mt,
981
+ currentHighlighted: ht,
982
+ currentInput: vt,
983
+ currentScope: H,
984
+ typed: W
985
+ };
986
+ let Y = p((e) => {
987
+ ve(q?.ownerDocument).announce(e, { repeat: !0 });
988
+ }, [q]), X = p((e, t, n) => {
989
+ let r = J.current, i = r.currentIds;
990
+ if (e.length === i.length && e.every((e, t) => e === i[t])) return !1;
991
+ let a = r.props.selectionMode === "multiple", o = (e) => a ? e : e[0] ?? null, s = f({
992
+ controlled: r.props.value,
993
+ initial: o(i),
994
+ equals: (e, t) => JSON.stringify(e) === JSON.stringify(t),
995
+ onRequest: (t) => {
996
+ let n = Object.assign(t, { entities: I.pick(e) });
997
+ r.props.onValueChange?.(t.value, n);
998
+ }
999
+ }).request(o(e), t, n);
1000
+ return s && ot(e), s || r.props.value !== void 0;
1001
+ }, [I]), Z = p((e, t, n) => {
1002
+ let r = J.current;
1003
+ e !== r.currentInput && f({
1004
+ controlled: r.props.inputValue,
1005
+ initial: r.currentInput,
1006
+ onRequest: (e) => r.props.onInputValueChange?.(e.value, e)
1007
+ }).request(e, t, n) && _t(e);
1008
+ }, []), Ct = p((e, t, n) => {
1009
+ let r = J.current;
1010
+ e !== r.currentOpen && f({
1011
+ controlled: r.props.open,
1012
+ initial: r.currentOpen,
1013
+ onRequest: (e) => r.props.onOpenChange?.(e.value, e)
1014
+ }).request(e, t, n) && (ct(e), e || (ut(null), yt.current = "keep"));
1015
+ }, []), wt = p((e, t, n) => {
1016
+ let r = J.current;
1017
+ e !== r.currentHighlighted && f({
1018
+ controlled: r.props.highlightedValue,
1019
+ initial: r.currentHighlighted,
1020
+ onRequest: (e) => r.props.onHighlightedValueChange?.(e.value, e)
1021
+ }).request(e, t, n) && ut(e);
1022
+ }, []), Tt = p((e, t, n) => {
1023
+ let r = J.current;
1024
+ e !== r.currentScope && f({
1025
+ controlled: r.props.scope,
1026
+ initial: r.currentScope,
1027
+ onRequest: (e) => r.props.onScopeChange?.(e.value, e)
1028
+ }).request(e, t, n) && ft(e);
1029
+ }, []), Et = p((e, t) => {
1030
+ G(!0), Z(e, "keyboard", t);
1031
+ }, [Z]), Dt = p((e, t, n) => {
1032
+ X(e === null ? [] : [e], t, n), G(!1), Z(e === null ? "" : U(e), "select", n);
1033
+ }, [X, Z]), Q = j ? de ?? null : null, Ot = p((e, t, n) => {
1034
+ let r = J.current.currentIds, i = U(e);
1035
+ if (r.includes(e)) {
1036
+ let a = r.filter((t) => t !== e);
1037
+ X(a, t === "remove" ? "remove" : t, n) && Y(P("removed", {
1038
+ label: i,
1039
+ count: a.length
1040
+ }));
1041
+ } else {
1042
+ if (Q !== null && r.length >= Q) return;
1043
+ let a = [...r, e];
1044
+ X(a, t, n) && (Y(P("added", {
1045
+ label: i,
1046
+ count: a.length
1047
+ })), Q !== null && a.length === Q && Y(P("complete", { max: Q })));
1048
+ }
1049
+ Z("", "select", n);
1050
+ }, [
1051
+ Y,
1052
+ Q,
1053
+ X,
1054
+ Z,
1055
+ P
1056
+ ]), kt = p((e, t) => {
1057
+ let n = J.current.currentIds.filter((t) => t !== e);
1058
+ X(n, "remove", t) && Y(P("removed", {
1059
+ label: U(e) || P("unresolved"),
1060
+ count: n.length
1061
+ }));
1062
+ }, [
1063
+ Y,
1064
+ X,
1065
+ P
1066
+ ]), At = p((e) => {
1067
+ X([], "clear", e), G(!1), Z("", "clear", e);
1068
+ }, [X, Z]), [jt, Mt] = v(!1), Nt = p((e, t) => {
1069
+ let n = J.current, r = n.currentInput.trim(), i = n.props.onCreate;
1070
+ if (i === void 0 || r === "") return;
1071
+ let a = (e) => {
1072
+ if (Mt(!1), e != null) {
1073
+ if (I.remember([e]), Ye(), J.current.props.selectionMode === "multiple") {
1074
+ let n = J.current.currentIds;
1075
+ n.includes(e.id) || (X([...n, e.id], "submit", t), Y(P("added", {
1076
+ label: e.label,
1077
+ count: n.length + 1
1078
+ }))), Z("", "select", t);
1079
+ } else X([e.id], "submit", t), G(!1), Z(e.label, "select", t);
1080
+ }
1081
+ }, o = i(r);
1082
+ o instanceof Promise ? (Mt(!0), o.then(a, () => Mt(!1))) : a(o);
1083
+ }, [
1084
+ Y,
1085
+ Ye,
1086
+ I,
1087
+ j,
1088
+ X,
1089
+ Z,
1090
+ P
1091
+ ]), Pt = p((e, t, n) => {
1092
+ if (e === Se) {
1093
+ z.retry();
1094
+ return;
1095
+ }
1096
+ if (e === S) {
1097
+ Nt(t, n), j || Ct(!1, "select", n);
1098
+ return;
1099
+ }
1100
+ if (I.get(e)?.disabled !== !0) {
1101
+ if (j) {
1102
+ Ot(e, t, n);
1103
+ return;
1104
+ }
1105
+ Dt(e, t, n), Ct(!1, "select", n);
1106
+ }
1107
+ }, [
1108
+ I,
1109
+ Dt,
1110
+ Nt,
1111
+ j,
1112
+ z,
1113
+ Ct,
1114
+ Ot
1115
+ ]), Ft = p((e) => {
1116
+ let t = J.current;
1117
+ if (t.props.selectionMode !== "multiple" && t.typed) {
1118
+ if (t.currentInput.trim() === "") {
1119
+ t.currentIds.length > 0 && X([], "clear", e), G(!1);
1120
+ return;
1121
+ }
1122
+ G(!1), Z(U(t.currentIds[0]), "blur", e);
1123
+ }
1124
+ }, [X, Z]), It = p((e) => {
1125
+ let t = J.current, n = U(t.currentIds[0]);
1126
+ if (t.currentIds.length === 0) {
1127
+ G(!1), Z("", "programmatic", e);
1128
+ return;
1129
+ }
1130
+ if (t.currentInput === n) {
1131
+ At(e);
1132
+ return;
1133
+ }
1134
+ G(!1), Z(n, "programmatic", e);
1135
+ }, [At, Z]), Lt = p((e) => Z("", "clear", e), [Z]);
1136
+ h(() => {
1137
+ B.require(V);
1138
+ }, [
1139
+ V,
1140
+ B,
1141
+ qe
1142
+ ]);
1143
+ let Rt = j ? "" : U(V[0]);
1144
+ h(() => {
1145
+ j || W || J.current.currentInput !== Rt && Z(Rt, "programmatic");
1146
+ }, [
1147
+ Rt,
1148
+ j,
1149
+ Z,
1150
+ W
1151
+ ]), h(() => {
1152
+ mt && z.search({
1153
+ query: K,
1154
+ scope: H,
1155
+ selected: J.current.currentIds
1156
+ });
1157
+ }, [
1158
+ mt,
1159
+ H,
1160
+ K,
1161
+ z
1162
+ ]), se(d, () => ({
1163
+ close: () => Ct(!1, "programmatic"),
1164
+ focus: () => q?.focus({ preventScroll: !0 }),
1165
+ open: () => Ct(!0, "programmatic"),
1166
+ refresh: () => z.refresh()
1167
+ }), [
1168
+ q,
1169
+ z,
1170
+ Ct
1171
+ ]);
1172
+ let $ = et ?? z.state, zt = $.answered || $.status === "loading" ? $.items : F, Bt = Oe({
1173
+ query: K,
1174
+ scope: H,
1175
+ chosen: j ? I.pick(V) : F,
1176
+ favorites: u,
1177
+ recent: x,
1178
+ results: $.status === "error" || $.status === "short" ? $.items : zt,
1179
+ searchedEmpty: Ue === 0,
1180
+ labels: {
1181
+ chosen: P("chosen"),
1182
+ favorites: P("favorites"),
1183
+ recent: P("recent"),
1184
+ results: P("results")
1185
+ }
1186
+ }), Vt = !jt && je({
1187
+ enabled: he !== void 0,
1188
+ query: K,
1189
+ answered: $.status === "ready",
1190
+ results: $.items,
1191
+ locale: Re
1192
+ }), Ht = ce(() => {
1193
+ if (Q === null || V.length < Q) return;
1194
+ let e = new Set(V);
1195
+ return new Set(Bt.sections.flatMap((e) => e.entities).map((e) => e.id).filter((t) => !e.has(t)));
1196
+ }, [
1197
+ V,
1198
+ Q,
1199
+ Bt
1200
+ ]), Ut = De({
1201
+ sections: Bt.sections,
1202
+ create: Vt,
1203
+ ...Ht === void 0 ? {} : { blocked: Ht }
1204
+ }), Wt = $.status === "error" ? [...Ut.filter((e) => e.key !== S), {
1205
+ key: Se,
1206
+ disabled: !1
1207
+ }] : Ut, Gt = {
1208
+ activate: Pt,
1209
+ cache: I,
1210
+ chosen: V,
1211
+ clear: At,
1212
+ clearQuery: Lt,
1213
+ clearable: r ?? M.clearable,
1214
+ contentId: Ne,
1215
+ controlNode: xt,
1216
+ create: Nt,
1217
+ creating: jt,
1218
+ disabled: ze,
1219
+ entry: yt,
1220
+ fullWidth: te ?? M.fullWidth,
1221
+ highlightMatch: ne ?? M.highlightMatch,
1222
+ highlighted: ht,
1223
+ inputId: Pe,
1224
+ inputNode: q,
1225
+ inputValue: vt,
1226
+ invalid: ae ?? N?.invalid ?? M.invalid,
1227
+ locale: Re,
1228
+ loop: ue ?? M.loop,
1229
+ max: Q,
1230
+ media: pe ?? M.media,
1231
+ multiple: j,
1232
+ offerCreate: Vt,
1233
+ open: mt,
1234
+ openOn: _e ?? M.openOn,
1235
+ optionId: Ie,
1236
+ options: Wt,
1237
+ overflow: ye ?? M.overflow,
1238
+ portal: be ?? M.portal,
1239
+ props: n,
1240
+ query: K,
1241
+ readOnly: Be,
1242
+ remove: kt,
1243
+ required: C ?? N?.required ?? M.required,
1244
+ resolver: B,
1245
+ retry: () => z.retry(),
1246
+ revert: It,
1247
+ scope: H,
1248
+ search: $,
1249
+ sections: Bt,
1250
+ session: z,
1251
+ setControlNode: St,
1252
+ setHighlighted: wt,
1253
+ setInputNode: bt,
1254
+ setOpen: Ct,
1255
+ setScope: Tt,
1256
+ setTyped: Et,
1257
+ settle: Ft,
1258
+ side: Ee ?? M.side,
1259
+ size: E ?? N?.size ?? M.size,
1260
+ strategy: D ?? M.strategy,
1261
+ t: P,
1262
+ variant: O ?? M.variant,
1263
+ version: qe,
1264
+ width: k ?? M.width
1265
+ };
1266
+ return /* @__PURE__ */ b(He.Provider, {
1267
+ value: Gt,
1268
+ children: [/* @__PURE__ */ y(Fe, {}), /* @__PURE__ */ y(Ve, {})]
1269
+ });
1270
+ }
1271
+ //#endregion
1272
+ //#region src/entity-picker/entity-picker-option-parts.tsx
1273
+ function Je(e) {
1274
+ return function(t) {
1275
+ return /* @__PURE__ */ y("span", { ...d({
1276
+ ...t,
1277
+ "data-part": e
1278
+ }) });
1279
+ };
1280
+ }
1281
+ var Ye = Je("label"), Xe = Je("description"), I = Je("meta"), Ze = Je("media");
1282
+ //#endregion
1283
+ export { Xe as a, I as c, j as d, A as f, D as i, qe as l, w as n, Ye as o, Ae as r, Ze as s, C as t, O as u };