@slotted/react 0.1.0-beta.1 → 0.1.0-beta.3

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 (307) hide show
  1. package/README.md +4 -0
  2. package/dist/{action-bar-C7cGnEyJ.js → action-bar-OACchRZw.js} +1 -1
  3. package/dist/action-bar.js +1 -1
  4. package/dist/{action-sheet-D8Glxl7l.js → action-sheet-C60BWUW8.js} +1 -1
  5. package/dist/action-sheet.js +1 -1
  6. package/dist/{app-shell-CXwma4XA.js → app-shell-CmYvnu_7.js} +310 -310
  7. package/dist/app-shell.js +1 -1
  8. package/dist/button-Db9f3Bxn.js +99 -0
  9. package/dist/button.js +2 -2
  10. package/dist/cascader-D1AhTyBL.js +1097 -0
  11. package/dist/cascader.js +1 -1
  12. package/dist/chart-O0ZhkzJe.js +966 -0
  13. package/dist/chart.js +1 -1
  14. package/dist/{checkbox-CwUOc-3u.js → checkbox-DfxFHZaU.js} +3 -3
  15. package/dist/{checkbox-group-BYTjgAcX.js → checkbox-group-9sDgrV5Z.js} +2 -2
  16. package/dist/checkbox-group.js +1 -1
  17. package/dist/checkbox.js +1 -1
  18. package/dist/{color-picker-BlPR4g4H.js → color-picker-CwbWzCKg.js} +4 -4
  19. package/dist/color-picker.js +1 -1
  20. package/dist/{column-manager-CNZ7Xk5_.js → column-manager-CTtizVhm.js} +6 -6
  21. package/dist/column-manager.js +1 -1
  22. package/dist/{combobox-C46GRqAA.js → combobox-BVMI9lg8.js} +296 -292
  23. package/dist/combobox.js +1 -1
  24. package/dist/{command-palette-BqRyNR9Y.js → command-palette-DFLbSOiv.js} +1 -1
  25. package/dist/command-palette.js +1 -1
  26. package/dist/{context-menu-DMiHdggw.js → context-menu-BuST6W94.js} +1 -1
  27. package/dist/context-menu.js +1 -1
  28. package/dist/currency-field-DD9A5U3D.js +455 -0
  29. package/dist/currency-field.js +1 -1
  30. package/dist/dashboard-grid-CBMP_-JV.js +1043 -0
  31. package/dist/dashboard-grid.js +1 -1
  32. package/dist/{data-grid-BUgOJuGp.js → data-grid-BKaGMqIm.js} +19 -19
  33. package/dist/data-grid.js +1 -1
  34. package/dist/{data-list-2xfDpHVC.js → data-list-oICmxGkA.js} +5 -5
  35. package/dist/data-list.js +1 -1
  36. package/dist/{date-field-D_kLLTfL.js → date-field-CYcN6diW.js} +1 -1
  37. package/dist/date-field.js +1 -1
  38. package/dist/date-picker-4X-_2ltN.js +264 -0
  39. package/dist/date-picker.js +1 -1
  40. package/dist/date-range-picker-CNOAtHwU.js +471 -0
  41. package/dist/date-range-picker.js +1 -1
  42. package/dist/{datetime-field-T1gNdJ7t.js → datetime-field-B8TrmsDK.js} +1 -1
  43. package/dist/datetime-field.js +1 -1
  44. package/dist/datetime-picker-HDVlUhzy.js +629 -0
  45. package/dist/datetime-picker.js +1 -1
  46. package/dist/datetime-range-picker-IqOFJtdW.js +994 -0
  47. package/dist/datetime-range-picker.js +1 -1
  48. package/dist/{dialog-Dmy-m_pe.js → dialog-BHYDDj1S.js} +112 -113
  49. package/dist/dialog.js +1 -1
  50. package/dist/docs/AGENTS.snippet.md +10 -0
  51. package/dist/docs/app-shell.json +1 -1
  52. package/dist/docs/button-group.json +1 -0
  53. package/dist/docs/button-group.md +1 -1
  54. package/dist/docs/button.json +45 -11
  55. package/dist/docs/button.md +10 -6
  56. package/dist/docs/chart.json +7 -0
  57. package/dist/docs/chart.md +1 -0
  58. package/dist/docs/currency-field.json +32 -1
  59. package/dist/docs/currency-field.md +4 -1
  60. package/dist/docs/dialog.examples.md +26 -0
  61. package/dist/docs/dialog.json +14 -2
  62. package/dist/docs/dialog.md +1 -1
  63. package/dist/docs/event-calendar.json +7 -0
  64. package/dist/docs/event-calendar.md +1 -0
  65. package/dist/docs/guidelines/README.md +27 -0
  66. package/dist/docs/guidelines/async-feedback.md +108 -0
  67. package/dist/docs/guidelines/browsing.md +74 -0
  68. package/dist/docs/guidelines/builders.md +97 -0
  69. package/dist/docs/guidelines/composition.md +129 -0
  70. package/dist/docs/guidelines/conversations.md +59 -0
  71. package/dist/docs/guidelines/errors-and-conflicts.md +71 -0
  72. package/dist/docs/guidelines/forms.md +192 -0
  73. package/dist/docs/guidelines/index.md +121 -0
  74. package/dist/docs/guidelines/layout-alignment.md +95 -0
  75. package/dist/docs/guidelines/ledgers.md +45 -0
  76. package/dist/docs/guidelines/list-pages.md +165 -0
  77. package/dist/docs/guidelines/overviews.md +66 -0
  78. package/dist/docs/guidelines/own-elements.md +115 -0
  79. package/dist/docs/guidelines/reading-permissions.md +55 -0
  80. package/dist/docs/guidelines/record-pages.md +178 -0
  81. package/dist/docs/guidelines/reports.md +123 -0
  82. package/dist/docs/guidelines/shell-composition.md +94 -0
  83. package/dist/docs/guidelines/workspaces.md +46 -0
  84. package/dist/docs/index.md +12 -0
  85. package/dist/docs/list.json +26 -1
  86. package/dist/docs/list.md +4 -1
  87. package/dist/docs/popover.json +1 -1
  88. package/dist/docs/progress-indicator.json +1 -2
  89. package/dist/docs/progress-indicator.md +2 -2
  90. package/dist/docs/segmented-control.json +29 -1
  91. package/dist/docs/segmented-control.md +17 -1
  92. package/dist/docs/side-navigation.json +2 -2
  93. package/dist/docs/side-navigation.md +19 -4
  94. package/dist/docs/skills/build-own-element/SKILL.md +90 -0
  95. package/dist/docs/skills/compose-screen/SKILL.md +76 -0
  96. package/dist/docs/skills/index.md +9 -0
  97. package/dist/docs/skills/review-screen/SKILL.md +70 -0
  98. package/dist/docs/skills/theme-app/SKILL.md +79 -0
  99. package/dist/docs/skills/waiting-states/SKILL.md +139 -0
  100. package/dist/docs/split-button.json +1 -0
  101. package/dist/docs/split-button.md +1 -1
  102. package/dist/docs/stat-card.json +2 -0
  103. package/dist/docs/stat-card.md +1 -1
  104. package/dist/docs/table.examples.md +1 -1
  105. package/dist/docs/table.json +78 -2
  106. package/dist/docs/table.md +12 -1
  107. package/dist/docs/tabs.examples.md +1 -1
  108. package/dist/docs/tabs.json +2 -5
  109. package/dist/docs/tabs.md +1 -1
  110. package/dist/docs/toggle-group.json +14 -3
  111. package/dist/docs/toggle-group.md +3 -3
  112. package/dist/docs/toggle.json +12 -3
  113. package/dist/docs/toggle.md +3 -3
  114. package/dist/docs/tokens.md +448 -0
  115. package/dist/docs/top-navigation.examples.md +23 -5
  116. package/dist/docs/top-navigation.json +2 -2
  117. package/dist/docs/tour.json +1 -1
  118. package/dist/drawer-LXM44eso.js +757 -0
  119. package/dist/drawer.js +1 -1
  120. package/dist/entity-picker-CPDd73JR.js +1110 -0
  121. package/dist/entity-picker.js +1 -1
  122. package/dist/{event-calendar-BFdeGfC-.js → event-calendar-CnF3iIZD.js} +391 -390
  123. package/dist/event-calendar.js +1 -1
  124. package/dist/{field-BJh5HI7w.js → field-NJaCxl2h.js} +1 -1
  125. package/dist/{field-group-BDaspQPh.js → field-group-hAzVa2O9.js} +1 -1
  126. package/dist/field-group.js +1 -1
  127. package/dist/field.js +1 -1
  128. package/dist/{filter-bar-b2Q9BZHf.js → filter-bar-D_xDcAp2.js} +20 -20
  129. package/dist/filter-bar.js +1 -1
  130. package/dist/{hover-card-CSDbA6zd.js → hover-card-BJE5dtaQ.js} +1 -1
  131. package/dist/hover-card.js +1 -1
  132. package/dist/{icon-button-TnvMhK4o.js → icon-button-CCWkCDMs.js} +26 -24
  133. package/dist/import-export-center-DpY2DGBZ.js +813 -0
  134. package/dist/import-export-center.js +1 -1
  135. package/dist/index.js +85 -84
  136. package/dist/{list-C1Y8MWp2.js → list-WsQ6ZzCa.js} +16 -12
  137. package/dist/{list-item-DN_mcouU.js → list-item-DpCwZIrd.js} +1 -1
  138. package/dist/list-item.js +1 -1
  139. package/dist/list.js +1 -1
  140. package/dist/{listbox-4WvqR0JF.js → listbox-Dv856z9I.js} +1 -1
  141. package/dist/listbox.js +1 -1
  142. package/dist/{loading-overlay-B83XFctM.js → loading-overlay-COfnckse.js} +73 -73
  143. package/dist/loading-overlay.js +1 -1
  144. package/dist/{markdown-CpfDn1LF.js → markdown-CeG8mUbI.js} +2 -2
  145. package/dist/markdown.js +1 -1
  146. package/dist/menu-parts-W58pVNUt.js +786 -0
  147. package/dist/menu.js +1 -1
  148. package/dist/{menubar-CtGavUTO.js → menubar-b2CruimJ.js} +1 -1
  149. package/dist/menubar.js +1 -1
  150. package/dist/{multi-select-CfzsvAeI.js → multi-select-DQ5ds0fX.js} +432 -437
  151. package/dist/multi-select.js +1 -1
  152. package/dist/{notification-center-C4pEHJ3h.js → notification-center-Sz54IziY.js} +2 -2
  153. package/dist/notification-center.js +1 -1
  154. package/dist/{number-field-J_koud1r.js → number-field-BFIAmv-z.js} +1 -1
  155. package/dist/number-field.js +1 -1
  156. package/dist/{otp-input-Bf8JUiVR.js → otp-input-BNQhuKaT.js} +1 -1
  157. package/dist/otp-input.js +1 -1
  158. package/dist/popover-Be7JWbGJ.js +475 -0
  159. package/dist/popover.js +1 -1
  160. package/dist/press-selection-DjOllE2B.js +29 -0
  161. package/dist/press-selection.js +2 -0
  162. package/dist/{prompt-composer-B7MMcER0.js → prompt-composer-BxpdkTpZ.js} +1 -1
  163. package/dist/prompt-composer.js +1 -1
  164. package/dist/{radio-group-BFpjhDkV.js → radio-group-BaVIP9UH.js} +2 -2
  165. package/dist/radio-group.js +1 -1
  166. package/dist/{rating-D1EsADFM.js → rating-DYBQBzwB.js} +1 -1
  167. package/dist/rating.js +1 -1
  168. package/dist/{saved-views-BueW-Lyb.js → saved-views-DlE_--Z9.js} +5 -5
  169. package/dist/saved-views.js +1 -1
  170. package/dist/{segmented-control-Cy_5D3Nj.js → segmented-control-DmuOGiu6.js} +28 -24
  171. package/dist/segmented-control.js +1 -1
  172. package/dist/{select-UTwKjheK.js → select-DOFqPy26.js} +334 -347
  173. package/dist/select.js +1 -1
  174. package/dist/{side-navigation-YUiJRpng.js → side-navigation-CBLtCzuJ.js} +186 -187
  175. package/dist/side-navigation.js +1 -1
  176. package/dist/{slider-B432T6nD.js → slider-DTes4HLF.js} +1 -1
  177. package/dist/slider.js +1 -1
  178. package/dist/{split-button-DHF3v3PJ.js → split-button-CPgHiy9G.js} +2 -2
  179. package/dist/split-button.js +1 -1
  180. package/dist/styles.css +1 -1
  181. package/dist/{switch-4MHwKmkz.js → switch-DQzuIhPX.js} +1 -1
  182. package/dist/switch.js +1 -1
  183. package/dist/{table-CzBIw9ng.js → table-Cipi2c5X.js} +206 -173
  184. package/dist/table.js +2 -2
  185. package/dist/{tags-input-DLdHLWrH.js → tags-input-CcOkm0AW.js} +1 -1
  186. package/dist/tags-input.js +1 -1
  187. package/dist/{text-field-BktZbmzD.js → text-field-DLfIZ0fk.js} +1 -1
  188. package/dist/text-field.js +1 -1
  189. package/dist/{textarea-JAK2RJl0.js → textarea-CBJBJBi6.js} +1 -1
  190. package/dist/textarea.js +1 -1
  191. package/dist/{time-field-DCG_VtGO.js → time-field-DrhiCtUl.js} +1 -1
  192. package/dist/time-field.js +1 -1
  193. package/dist/{time-picker-DuT1tf5-.js → time-picker-CRQsMJbQ.js} +102 -102
  194. package/dist/time-picker.js +1 -1
  195. package/dist/{time-range-picker-HwBvrrXN.js → time-range-picker-DlZJsj1e.js} +202 -202
  196. package/dist/time-range-picker.js +1 -1
  197. package/dist/{toast-wI8BtPY5.js → toast-Bf3e0AgC.js} +157 -157
  198. package/dist/toast.js +1 -1
  199. package/dist/toggle-group-7iBR9Rn1.js +142 -0
  200. package/dist/toggle-group.js +1 -1
  201. package/dist/{toolbar-CDQTydDx.js → toolbar-DDZpEftQ.js} +1 -1
  202. package/dist/toolbar.js +1 -1
  203. package/dist/{tooltip-BggqPDcW.js → tooltip-DbKTPe_i.js} +108 -109
  204. package/dist/tooltip.js +1 -1
  205. package/dist/{top-navigation-COQZsNqW.js → top-navigation-e-tWMGNr.js} +255 -256
  206. package/dist/top-navigation.js +1 -1
  207. package/dist/{tour-C11DmYTC.js → tour-BTdt716T.js} +180 -180
  208. package/dist/tour.js +1 -1
  209. package/dist/{transfer-JA9TWjAw.js → transfer-CqZOTLMP.js} +6 -6
  210. package/dist/transfer.js +1 -1
  211. package/dist/types/app-shell/app-shell.d.ts.map +1 -1
  212. package/dist/types/button/button-link.d.ts +1 -1
  213. package/dist/types/button/button-link.d.ts.map +1 -1
  214. package/dist/types/button/button-root.d.ts +5 -3
  215. package/dist/types/button/button-root.d.ts.map +1 -1
  216. package/dist/types/button/button.constants.d.ts +2 -1
  217. package/dist/types/button/button.constants.d.ts.map +1 -1
  218. package/dist/types/button/button.d.ts +1 -1
  219. package/dist/types/button/button.d.ts.map +1 -1
  220. package/dist/types/button/button.types.d.ts +9 -2
  221. package/dist/types/button/button.types.d.ts.map +1 -1
  222. package/dist/types/button/index.d.ts +1 -1
  223. package/dist/types/button/index.d.ts.map +1 -1
  224. package/dist/types/button/toggle-button.d.ts +1 -1
  225. package/dist/types/button/toggle-button.d.ts.map +1 -1
  226. package/dist/types/chart/chart.d.ts.map +1 -1
  227. package/dist/types/combobox/combobox-collection.d.ts +1 -0
  228. package/dist/types/combobox/combobox-collection.d.ts.map +1 -1
  229. package/dist/types/combobox/combobox-parts.d.ts.map +1 -1
  230. package/dist/types/combobox/combobox.d.ts.map +1 -1
  231. package/dist/types/currency-field/currency-field.d.ts +1 -1
  232. package/dist/types/currency-field/currency-field.d.ts.map +1 -1
  233. package/dist/types/currency-field/currency-field.types.d.ts +14 -0
  234. package/dist/types/currency-field/currency-field.types.d.ts.map +1 -1
  235. package/dist/types/currency-field/index.d.ts +1 -1
  236. package/dist/types/currency-field/index.d.ts.map +1 -1
  237. package/dist/types/dashboard-grid/dashboard-grid.d.ts.map +1 -1
  238. package/dist/types/dashboard-grid/dashboard-widget.d.ts +1 -1
  239. package/dist/types/dashboard-grid/dashboard-widget.d.ts.map +1 -1
  240. package/dist/types/dialog/dialog-demo.d.ts +8 -0
  241. package/dist/types/dialog/dialog-demo.d.ts.map +1 -1
  242. package/dist/types/drawer/drawer-parts.d.ts.map +1 -1
  243. package/dist/types/event-calendar/event-calendar.d.ts +1 -1
  244. package/dist/types/event-calendar/event-calendar.d.ts.map +1 -1
  245. package/dist/types/event-calendar/event-calendar.types.d.ts +6 -0
  246. package/dist/types/event-calendar/event-calendar.types.d.ts.map +1 -1
  247. package/dist/types/filter-bar/filter-bar.d.ts.map +1 -1
  248. package/dist/types/index.d.ts +1 -0
  249. package/dist/types/index.d.ts.map +1 -1
  250. package/dist/types/list/index.d.ts +1 -1
  251. package/dist/types/list/index.d.ts.map +1 -1
  252. package/dist/types/list/list-parts.d.ts +1 -1
  253. package/dist/types/list/list-parts.d.ts.map +1 -1
  254. package/dist/types/list/list.types.d.ts +12 -0
  255. package/dist/types/list/list.types.d.ts.map +1 -1
  256. package/dist/types/menu/menu.types.d.ts +3 -1
  257. package/dist/types/menu/menu.types.d.ts.map +1 -1
  258. package/dist/types/multi-select/multi-select-collection.d.ts +0 -2
  259. package/dist/types/multi-select/multi-select-collection.d.ts.map +1 -1
  260. package/dist/types/multi-select/multi-select-parts.d.ts.map +1 -1
  261. package/dist/types/multi-select/multi-select.d.ts.map +1 -1
  262. package/dist/types/press-selection/index.d.ts +3 -0
  263. package/dist/types/press-selection/index.d.ts.map +1 -0
  264. package/dist/types/press-selection/press-selection.d.ts +23 -0
  265. package/dist/types/press-selection/press-selection.d.ts.map +1 -0
  266. package/dist/types/segmented-control/index.d.ts +1 -1
  267. package/dist/types/segmented-control/index.d.ts.map +1 -1
  268. package/dist/types/segmented-control/segmented-control-defaults.d.ts.map +1 -1
  269. package/dist/types/segmented-control/segmented-control.d.ts +1 -1
  270. package/dist/types/segmented-control/segmented-control.d.ts.map +1 -1
  271. package/dist/types/segmented-control/segmented-control.types.d.ts +10 -0
  272. package/dist/types/segmented-control/segmented-control.types.d.ts.map +1 -1
  273. package/dist/types/select/select-collection.d.ts +0 -2
  274. package/dist/types/select/select-collection.d.ts.map +1 -1
  275. package/dist/types/select/select.d.ts.map +1 -1
  276. package/dist/types/table/index.d.ts +2 -2
  277. package/dist/types/table/index.d.ts.map +1 -1
  278. package/dist/types/table/table-parts.d.ts +8 -2
  279. package/dist/types/table/table-parts.d.ts.map +1 -1
  280. package/dist/types/table/table.types.d.ts +28 -1
  281. package/dist/types/table/table.types.d.ts.map +1 -1
  282. package/dist/types/toggle/toggle.types.d.ts +1 -1
  283. package/dist/types/toggle/toggle.types.d.ts.map +1 -1
  284. package/dist/types/toggle-group/toggle-group.d.ts.map +1 -1
  285. package/dist/types/toggle-group/toggle-group.types.d.ts +6 -1
  286. package/dist/types/toggle-group/toggle-group.types.d.ts.map +1 -1
  287. package/dist/{upload-Bq_UiyMr.js → upload-DjnlVR8y.js} +2 -2
  288. package/dist/upload.js +1 -1
  289. package/dist/{wizard-B4GrlEqh.js → wizard-BxA08vXt.js} +1 -1
  290. package/dist/wizard.js +1 -1
  291. package/package.json +12 -7
  292. package/dist/button-DakQ-7Tm.js +0 -97
  293. package/dist/cascader-CARCYdHh.js +0 -1097
  294. package/dist/chart-BNzfIfQe.js +0 -948
  295. package/dist/currency-field-B7OZ0hk7.js +0 -436
  296. package/dist/dashboard-grid-nfhEewA4.js +0 -1005
  297. package/dist/date-picker-DQ5SIhdA.js +0 -264
  298. package/dist/date-range-picker-lpB08hK_.js +0 -471
  299. package/dist/datetime-picker-0F0kDW-8.js +0 -629
  300. package/dist/datetime-range-picker-ClnEleth.js +0 -994
  301. package/dist/drawer-Ci3wuCVa.js +0 -758
  302. package/dist/entity-picker-UGhbVwkC.js +0 -1111
  303. package/dist/import-export-center-D8xbCLWs.js +0 -813
  304. package/dist/menu-parts-BQej6eU9.js +0 -787
  305. package/dist/popover-DE22lSpV.js +0 -476
  306. package/dist/react-dom-DzrKNxo6.js +0 -273
  307. package/dist/toggle-group-DQBlI1TV.js +0 -140
@@ -0,0 +1,1110 @@
1
+ import { n as e, t } from "./icon-T9Yt4tnm.js";
2
+ import { n, r } from "./i18n-DpW8lqJ1.js";
3
+ /* empty css */
4
+ import { t as i } from "./avatar-BnlE5jjr.js";
5
+ /* empty css */
6
+ import { b as a } from "./field-NJaCxl2h.js";
7
+ /* empty css */
8
+ import { t as o } from "./highlight-0Qw23QPp.js";
9
+ import { c as s, i as c, n as l, o as ee, s as te } from "./select-DOFqPy26.js";
10
+ import { createArrowNavigation as ne, createRemovalFocus as re } from "@slotted/core/focus";
11
+ import { createControllable as u } from "@slotted/core/state";
12
+ import { createContext as ie, useCallback as d, useContext as f, useEffect as p, useId as ae, useImperativeHandle as oe, useLayoutEffect as se, useMemo as m, useRef as h, useState as g } from "react";
13
+ import { Fragment as ce, jsx as _, jsxs as v } from "react/jsx-runtime";
14
+ import { createCollapse as y } from "@slotted/core/overflow";
15
+ import { createPresence as le } from "@slotted/core/presence";
16
+ import { createPortalRoot as ue } from "@slotted/core/portal";
17
+ import { createDismissableLayer as de, pressOrigin as fe } from "@slotted/core/dismissable-layer";
18
+ import { createPositioner as pe } from "@slotted/core/positioner";
19
+ import { createPortal as me } from "react-dom";
20
+ import { entityPickerMessages as he } from "@slotted/core/i18n";
21
+ import { getLiveAnnouncer as ge } from "@slotted/core/live-announcer";
22
+ import { moveIndex as _e } from "@slotted/core/collection";
23
+ import { CREATE_OPTION as b, CREATE_OPTION as x, RETRY_OPTION as ve, RETRY_OPTION as S, createEntityCache as ye, createEntityResolver as be, createEntitySearch as xe, entityInitials as Se, entityName as C, entityOptions as Ce, entityPickerKey as we, entitySections as Te, localEntitySource as Ee, localEntitySource as De, offersCreation as Oe, rememberRecent as ke } from "@slotted/core/entity-picker";
24
+ //#region src/entity-picker/entity-picker-defaults.tsx
25
+ var w = {
26
+ clearable: !0,
27
+ disabled: !1,
28
+ fullWidth: !0,
29
+ highlightMatch: !0,
30
+ invalid: !1,
31
+ loop: !1,
32
+ media: "avatar",
33
+ minQueryLength: 0,
34
+ openOn: "input",
35
+ overflow: "collapse",
36
+ portal: !0,
37
+ readOnly: !1,
38
+ required: !1,
39
+ searchDelay: 250,
40
+ side: "bottom",
41
+ size: "md",
42
+ strategy: "absolute",
43
+ variant: "outline",
44
+ width: "content"
45
+ }, Ae = ie(w);
46
+ function je() {
47
+ return f(Ae);
48
+ }
49
+ function Me({ children: e, ...t }) {
50
+ let n = { ...je() };
51
+ for (let [e, r] of Object.entries(t)) r !== void 0 && (n[e] = r);
52
+ return /* @__PURE__ */ _(Ae.Provider, {
53
+ value: n,
54
+ children: e
55
+ });
56
+ }
57
+ //#endregion
58
+ //#region src/entity-picker/entity-picker-control.tsx
59
+ var Ne = "[data-part='chips'] > [data-ui='tag']:not([data-count])";
60
+ function T(e, t) {
61
+ return (n) => {
62
+ e?.(n), n.defaultPrevented || t(n);
63
+ };
64
+ }
65
+ function Pe(e, ...t) {
66
+ for (let n of t) typeof n == "function" ? n(e) : n != null && (n.current = e);
67
+ }
68
+ var Fe = {
69
+ border: 0,
70
+ clip: "rect(0 0 0 0)",
71
+ clipPath: "inset(50%)",
72
+ height: "1px",
73
+ overflow: "hidden",
74
+ padding: 0,
75
+ position: "absolute",
76
+ whiteSpace: "nowrap",
77
+ width: "1px"
78
+ };
79
+ function Ie({ entity: e, locale: t }) {
80
+ return e.avatar === null ? null : /* @__PURE__ */ _(i, {
81
+ decorative: !0,
82
+ initials: Se(e),
83
+ locale: t,
84
+ name: e.avatar?.name ?? e.label,
85
+ shape: e.avatar?.shape ?? "circle",
86
+ size: "xs",
87
+ ...e.avatar?.src === void 0 ? {} : { src: e.avatar.src }
88
+ });
89
+ }
90
+ function Le() {
91
+ let n = k(), r = a(), { props: i } = n, { "aria-describedby": o, "aria-label": u, form: ie, id: f, name: ae, onBlur: oe, onClick: m, onFocus: le, onKeyDown: ue, placeholder: de, ref: pe, render: me, source: he, items: ge, entities: b, favorites: x, recent: ve, scopes: S, scope: ye, defaultScope: be, onScopeChange: xe, inputValue: Se, defaultInputValue: C, onInputValueChange: Ce, open: Te, defaultOpen: Ee, onOpenChange: De, highlightedValue: Oe, defaultHighlightedValue: ke, onHighlightedValueChange: w, onCreate: Ae, renderOption: je, renderChip: Me, handleRef: Le, locale: D, max: O, clearable: Re, disabled: ze, fullWidth: A, highlightMatch: Be, invalid: Ve, messages: He, loop: Ue, media: We, minQueryLength: Ge, openOn: j, overflow: Ke, portal: qe, readOnly: Je, required: Ye, searchDelay: Xe, side: Ze, size: Qe, strategy: $e, variant: et, width: M, selectionMode: tt, value: N, defaultValue: nt, onValueChange: rt, ...it } = i, { t: P, multiple: F } = n, I = n.chosen, at = h(null), L = h(null), [ot, st] = g(0), ct = d((e) => {
92
+ n.setInputNode(e), Pe(e, pe);
93
+ }, [pe]), lt = (e, t) => {
94
+ n.entry.current = e, n.setOpen(!0, "keyboard", t);
95
+ }, ut = (e, t) => {
96
+ let r = n.options, i = r.findIndex((e) => e.key === n.highlighted), a = _e({
97
+ enabled: r.map((e) => !e.disabled),
98
+ from: i,
99
+ intent: e,
100
+ loop: n.loop
101
+ });
102
+ a >= 0 && n.setHighlighted(r[a].key, "keyboard", t);
103
+ }, dt = (e) => {
104
+ if (n.disabled) return;
105
+ let t = e.currentTarget, r = we({
106
+ key: e.key,
107
+ altKey: e.altKey,
108
+ ctrlKey: e.ctrlKey,
109
+ metaKey: e.metaKey,
110
+ composing: e.nativeEvent.isComposing,
111
+ open: n.open,
112
+ selectionMode: F ? "multiple" : "single",
113
+ readOnly: n.readOnly,
114
+ highlighted: n.highlighted !== null,
115
+ empty: t.value === "",
116
+ caretAtStart: t.selectionStart === 0 && t.selectionEnd === 0,
117
+ chips: I.length,
118
+ dir: getComputedStyle(t).direction === "rtl" ? "rtl" : "ltr"
119
+ }), i = e.nativeEvent;
120
+ switch (r.type) {
121
+ case "none":
122
+ e.key === "Tab" && n.open && n.setOpen(!1, "blur", i);
123
+ return;
124
+ case "open":
125
+ e.preventDefault(), lt(r.highlight, i);
126
+ return;
127
+ case "close":
128
+ e.preventDefault(), n.setOpen(!1, r.reason, i);
129
+ return;
130
+ case "move":
131
+ e.preventDefault(), ut(r.intent, i);
132
+ return;
133
+ case "activate":
134
+ e.preventDefault(), n.highlighted !== null && n.activate(n.highlighted, "keyboard", i);
135
+ return;
136
+ case "revert":
137
+ e.preventDefault(), n.revert(i);
138
+ return;
139
+ case "clearQuery":
140
+ e.preventDefault(), n.clearQuery(i);
141
+ return;
142
+ case "focusChip": {
143
+ e.preventDefault();
144
+ let t = [...at.current?.querySelectorAll(Ne) ?? []].filter((e) => !e.hidden);
145
+ t[t.length - 1]?.focus({ preventScroll: !0 });
146
+ return;
147
+ }
148
+ }
149
+ }, ft = (e) => {
150
+ n.setTyped(e.currentTarget.value, e.nativeEvent), !n.open && !n.readOnly && n.openOn !== "manual" && (n.entry.current = "keep", n.setOpen(!0, "keyboard", e.nativeEvent));
151
+ }, pt = () => {
152
+ n.openOn !== "focus" || n.readOnly || n.open || (n.entry.current = F ? "keep" : "selected", n.setOpen(!0, "keyboard"));
153
+ }, mt = (e) => {
154
+ n.openOn === "manual" || n.disabled || n.readOnly || n.open || (n.entry.current = F ? "keep" : "selected", n.setOpen(!0, "pointer", e.nativeEvent));
155
+ }, ht = (e) => {
156
+ let t = e.relatedTarget, r = n.inputNode?.ownerDocument.getElementById(n.contentId) ?? null;
157
+ if (n.controlNode?.parentElement, t instanceof Node && (r?.contains(t) || n.controlNode?.contains(t))) return;
158
+ let i = fe(n.inputNode?.ownerDocument);
159
+ i instanceof Node && r?.contains(i) === !0 || (n.settle(e), n.open && n.setOpen(!1, "blur"));
160
+ }, gt = (e) => {
161
+ n.disabled || n.readOnly || (n.entry.current = F ? "keep" : "selected", n.setOpen(!n.open, "pointer", e.nativeEvent), n.inputNode?.focus({ preventScroll: !0 }));
162
+ }, R = (e) => {
163
+ n.clear(e.nativeEvent), n.inputNode?.focus({ preventScroll: !0 });
164
+ };
165
+ p(() => {
166
+ let e = at.current;
167
+ if (e === null) return;
168
+ let t = ne(e, {
169
+ itemSelector: `${Ne}, [data-part='field'] > [data-part='input']`,
170
+ loop: !1,
171
+ ownedKeys: (e) => e instanceof HTMLInputElement && e.value !== "" ? [
172
+ "ArrowLeft",
173
+ "ArrowRight",
174
+ "Home",
175
+ "End"
176
+ ] : []
177
+ }), r = re(e, {
178
+ itemSelector: Ne,
179
+ fallback: () => n.inputNode
180
+ });
181
+ return () => {
182
+ t.destroy(), r.destroy();
183
+ };
184
+ }, [F, n.inputNode]);
185
+ let z = F && n.overflow === "collapse", B = h(null);
186
+ p(() => {
187
+ let e = at.current;
188
+ if (e === null || !z) {
189
+ st(0);
190
+ return;
191
+ }
192
+ let t = y(e, {
193
+ collapsible: (e) => e.dataset.part !== "field",
194
+ fixedSize: (e) => e.dataset.part === "field" ? Number.parseFloat(getComputedStyle(e).minInlineSize) || 0 : void 0,
195
+ onChange: (e) => st(e.length),
196
+ trigger: () => L.current,
197
+ units: () => [...e.children].filter((e) => e instanceof HTMLElement && !e.hasAttribute("data-count"))
198
+ });
199
+ return B.current = t, () => {
200
+ t.destroy(), B.current = null;
201
+ };
202
+ }, [z]), se(() => {
203
+ B.current?.refresh();
204
+ }, [I, n.version]);
205
+ let V = [o, r?.describedBy].filter(Boolean).join(" "), H = f ?? r?.ids.control ?? n.inputId, _t = !F && I.length > 0 && n.resolver.status(I[0]) === "pending", vt = n.search.indicator || _t, yt = n.clearable && !n.disabled && !n.readOnly && (I.length > 0 || n.inputValue !== ""), U = /* @__PURE__ */ _("input", {
206
+ ...it,
207
+ "aria-activedescendant": n.open && n.highlighted !== null ? n.optionId(n.highlighted) : void 0,
208
+ "aria-autocomplete": "list",
209
+ "aria-busy": _t ? !0 : void 0,
210
+ "aria-controls": n.open ? n.contentId : void 0,
211
+ "aria-describedby": V === "" ? void 0 : V,
212
+ "aria-expanded": n.open,
213
+ "aria-invalid": n.invalid ? !0 : void 0,
214
+ "aria-label": u,
215
+ "aria-readonly": n.readOnly ? !0 : void 0,
216
+ autoComplete: "off",
217
+ "data-part": "input",
218
+ disabled: n.disabled,
219
+ id: H,
220
+ onBlur: T(oe, ht),
221
+ onChange: ft,
222
+ onClick: T(m, mt),
223
+ onFocus: T(le, pt),
224
+ onKeyDown: T(ue, dt),
225
+ placeholder: de,
226
+ readOnly: n.readOnly,
227
+ ref: ct,
228
+ required: n.required && I.length === 0,
229
+ role: "combobox",
230
+ type: "text",
231
+ value: n.inputValue
232
+ }), W = !F && I[0] !== void 0 ? n.cache.get(I[0]) : void 0, G = {
233
+ "data-overflow": n.overflow,
234
+ "data-part": "root",
235
+ "data-selection-mode": F ? "multiple" : "single",
236
+ "data-size": n.size,
237
+ "data-ui": "entity-picker",
238
+ "data-variant": n.variant,
239
+ ...n.fullWidth ? { "data-full-width": "" } : {},
240
+ ...n.open ? { "data-open": "" } : {},
241
+ ...n.disabled ? { "data-disabled": "" } : {},
242
+ ...n.readOnly ? { "data-readonly": "" } : {},
243
+ ...n.invalid ? { "data-invalid": "" } : {},
244
+ ...n.required ? { "data-required": "" } : {},
245
+ ...vt ? { "data-loading": "" } : {},
246
+ ...n.max !== null && I.length >= n.max ? { "data-complete": "" } : {},
247
+ ...S !== void 0 && S.length > 0 ? {
248
+ role: "group",
249
+ ...r?.ids.label === void 0 ? u === void 0 ? {} : { "aria-label": u } : { "aria-labelledby": r.ids.label }
250
+ } : {}
251
+ }, bt = P("chips", {
252
+ label: u ?? "",
253
+ count: I.length
254
+ }).replace(/^, /, ""), K = /* @__PURE__ */ v(ce, { children: [
255
+ S !== void 0 && S.length > 0 ? /* @__PURE__ */ _("div", {
256
+ "data-part": "scope",
257
+ children: /* @__PURE__ */ v(s, {
258
+ disabled: n.disabled || n.readOnly,
259
+ items: S.map((e) => ({
260
+ value: e.id,
261
+ label: e.label
262
+ })),
263
+ onValueChange: (e, t) => n.setScope(typeof e == "string" ? e : null, t.reason === "pointer" || t.reason === "keyboard" ? t.reason : "programmatic", t.source),
264
+ size: n.size,
265
+ value: n.scope,
266
+ variant: n.variant === "plain" ? "plain" : n.variant,
267
+ children: [/* @__PURE__ */ _(ee, {
268
+ "aria-label": P("scope"),
269
+ children: /* @__PURE__ */ _(te, {})
270
+ }), /* @__PURE__ */ _(c, { children: S.map((e) => /* @__PURE__ */ _(l, {
271
+ value: e.id,
272
+ children: e.label
273
+ }, e.id)) })]
274
+ })
275
+ }) : null,
276
+ /* @__PURE__ */ v("div", {
277
+ "data-part": "control",
278
+ ref: n.setControlNode,
279
+ children: [
280
+ !F && W !== void 0 && W.avatar !== null && n.media === "avatar" && n.inputValue === W.label ? /* @__PURE__ */ _("span", {
281
+ "aria-hidden": "true",
282
+ "data-part": "selection",
283
+ children: /* @__PURE__ */ _(Ie, {
284
+ entity: W,
285
+ locale: n.locale
286
+ })
287
+ }) : null,
288
+ F ? /* @__PURE__ */ _("div", {
289
+ "aria-label": bt,
290
+ "data-part": "values",
291
+ role: "grid",
292
+ children: /* @__PURE__ */ v("div", {
293
+ "data-part": "chips",
294
+ ref: at,
295
+ role: "row",
296
+ children: [
297
+ I.map((e) => /* @__PURE__ */ _(E, {
298
+ id: e,
299
+ renderChip: Me
300
+ }, e)),
301
+ z ? /* @__PURE__ */ _("span", {
302
+ "aria-label": P("moreLabel", { count: Math.max(ot, 1) }),
303
+ "data-count": "",
304
+ "data-part": "root",
305
+ "data-size": "sm",
306
+ "data-tone": "secondary",
307
+ "data-ui": "tag",
308
+ "data-variant": "outline",
309
+ hidden: !0,
310
+ onClick: (e) => {
311
+ n.setTyped("", e.nativeEvent), n.entry.current = "keep", n.setOpen(!0, "pointer", e.nativeEvent), n.inputNode?.focus({ preventScroll: !0 });
312
+ },
313
+ ref: L,
314
+ role: "gridcell",
315
+ tabIndex: -1,
316
+ children: /* @__PURE__ */ _("span", {
317
+ "data-part": "body",
318
+ children: /* @__PURE__ */ _("span", {
319
+ "data-part": "label",
320
+ children: P("more", { count: Math.max(ot, 1) })
321
+ })
322
+ })
323
+ }) : null,
324
+ /* @__PURE__ */ _("span", {
325
+ "data-part": "field",
326
+ role: "gridcell",
327
+ children: U
328
+ })
329
+ ]
330
+ })
331
+ }) : U,
332
+ yt ? /* @__PURE__ */ _("button", {
333
+ "aria-label": P("clear"),
334
+ "data-part": "clear",
335
+ onClick: R,
336
+ type: "button",
337
+ children: /* @__PURE__ */ _(t, { children: /* @__PURE__ */ _(e, { name: "x" }) })
338
+ }) : null,
339
+ /* @__PURE__ */ _("button", {
340
+ "aria-label": P("trigger"),
341
+ "data-part": "trigger",
342
+ disabled: n.disabled,
343
+ onClick: gt,
344
+ tabIndex: -1,
345
+ type: "button",
346
+ children: vt ? /* @__PURE__ */ _("span", {
347
+ "aria-hidden": "true",
348
+ "data-part": "busy",
349
+ "data-ui": "spinner"
350
+ }) : /* @__PURE__ */ _("span", {
351
+ "data-part": "arrow",
352
+ children: /* @__PURE__ */ _(t, { children: /* @__PURE__ */ _(e, { name: "chevron-down" }) })
353
+ })
354
+ })
355
+ ]
356
+ }),
357
+ ae === void 0 ? null : (I.length === 0 ? [""] : I).map((e, t) => /* @__PURE__ */ _("input", {
358
+ "aria-hidden": "true",
359
+ form: ie,
360
+ name: ae,
361
+ readOnly: !0,
362
+ required: t === 0 && n.required,
363
+ style: Fe,
364
+ tabIndex: -1,
365
+ type: "text",
366
+ value: e
367
+ }, `${e}-${t}`))
368
+ ] });
369
+ return me === void 0 ? /* @__PURE__ */ _("div", {
370
+ ...G,
371
+ children: K
372
+ }) : me({
373
+ ...G,
374
+ children: K
375
+ });
376
+ }
377
+ function E({ id: n, renderChip: r }) {
378
+ let i = k(), { t: a } = i, o = i.cache.get(n), s = i.resolver.status(n), c = o === void 0 && s === "pending", l = o === void 0 && s === "missing", ee = i.readOnly || i.disabled, te = o === void 0 ? a(l ? "unresolvedChip" : "loadingChip", { id: n }) : C(o), ne = o?.label ?? (l ? a("unresolved") : n), re = (e) => {
379
+ if (!e.defaultPrevented) switch (e.key) {
380
+ case "Delete":
381
+ case "Backspace":
382
+ if (ee) return;
383
+ e.preventDefault(), i.remove(n, e.nativeEvent);
384
+ return;
385
+ case "Escape":
386
+ e.preventDefault(), i.inputNode?.focus({ preventScroll: !0 });
387
+ return;
388
+ default: e.key.length === 1 && !e.ctrlKey && !e.metaKey && !e.altKey && i.inputNode?.focus({ preventScroll: !0 });
389
+ }
390
+ }, u = (e) => {
391
+ e.stopPropagation(), i.remove(n, e.nativeEvent), i.inputNode?.focus({ preventScroll: !0 });
392
+ };
393
+ return /* @__PURE__ */ v("span", {
394
+ "aria-busy": c ? !0 : void 0,
395
+ "aria-label": te,
396
+ "data-part": "root",
397
+ "data-size": "sm",
398
+ "data-tone": "secondary",
399
+ "data-ui": "tag",
400
+ "data-value": n,
401
+ "data-variant": l || c ? "outline" : "soft",
402
+ onKeyDown: re,
403
+ role: "gridcell",
404
+ tabIndex: -1,
405
+ ...c ? { "data-loading": "" } : {},
406
+ ...l ? { "data-unresolved": "" } : {},
407
+ ...i.disabled ? { "data-disabled": "" } : {},
408
+ children: [/* @__PURE__ */ v("span", {
409
+ "data-part": "body",
410
+ children: [i.media === "avatar" && o?.avatar !== null ? /* @__PURE__ */ _("span", {
411
+ "data-part": "start",
412
+ children: o === void 0 ? c ? /* @__PURE__ */ _("span", {
413
+ "aria-hidden": "true",
414
+ "data-loading": "",
415
+ "data-part": "root",
416
+ "data-shape": "circle",
417
+ "data-size": "xs",
418
+ "data-ui": "skeleton"
419
+ }) : l ? /* @__PURE__ */ _(t, { children: /* @__PURE__ */ _(e, { name: "circle-alert" }) }) : null : /* @__PURE__ */ _(Ie, {
420
+ entity: o,
421
+ locale: i.locale
422
+ })
423
+ }) : null, /* @__PURE__ */ _("span", {
424
+ "data-part": "label",
425
+ children: c ? /* @__PURE__ */ _("span", {
426
+ "aria-hidden": "true",
427
+ "data-loading": "",
428
+ "data-part": "root",
429
+ "data-shape": "text",
430
+ "data-ui": "skeleton"
431
+ }) : o !== void 0 && r !== void 0 ? r(o) : ne
432
+ })]
433
+ }), ee ? null : /* @__PURE__ */ _("button", {
434
+ "aria-label": a("remove", { label: o?.label ?? ne }),
435
+ "data-part": "remove",
436
+ onClick: u,
437
+ tabIndex: -1,
438
+ type: "button",
439
+ children: /* @__PURE__ */ _(t, { children: /* @__PURE__ */ _(e, { name: "x" }) })
440
+ })]
441
+ });
442
+ }
443
+ //#endregion
444
+ //#region src/entity-picker/entity-picker-popup.tsx
445
+ function D(e) {
446
+ e.defaultPrevented || e.preventDefault();
447
+ }
448
+ function O() {
449
+ return /* @__PURE__ */ v("div", { children: [
450
+ /* @__PURE__ */ _("span", {
451
+ "data-loading": "",
452
+ "data-part": "root",
453
+ "data-shape": "circle",
454
+ "data-size": "xs",
455
+ "data-ui": "skeleton"
456
+ }),
457
+ /* @__PURE__ */ _("span", {
458
+ "data-loading": "",
459
+ "data-part": "root",
460
+ "data-shape": "text",
461
+ "data-ui": "skeleton"
462
+ }),
463
+ /* @__PURE__ */ _("span", {
464
+ "data-loading": "",
465
+ "data-part": "root",
466
+ "data-shape": "text",
467
+ "data-ui": "skeleton"
468
+ })
469
+ ] });
470
+ }
471
+ function Re() {
472
+ let n = k(), { t: r, search: i } = n, a = ae(), [s, c] = g(null), [l, ee] = g(null), [te, ne] = g(null), [re, u] = g("unmounted"), [ie, d] = g(!1), f = h(null), oe = h(null), m = h(n);
473
+ m.current = n, p(() => {
474
+ let e = le({
475
+ present: m.current.open,
476
+ onStatusChange: u
477
+ });
478
+ return f.current = e, u(e.status), () => {
479
+ e.destroy(), f.current = null;
480
+ };
481
+ }, []), p(() => f.current?.sync(n.open), [n.open]), p(() => f.current?.setNode(s), [s]);
482
+ let y = re !== "unmounted";
483
+ p(() => {
484
+ if (!y) {
485
+ ne(null);
486
+ return;
487
+ }
488
+ let e = ue({
489
+ origin: n.inputNode,
490
+ disabled: !n.portal
491
+ });
492
+ return ne(e.container), () => e.release();
493
+ }, [
494
+ y,
495
+ n.inputNode,
496
+ n.portal
497
+ ]);
498
+ let { side: fe, strategy: he, width: _e, controlNode: x } = n;
499
+ p(() => {
500
+ if (s === null || x === null) return;
501
+ let e = !0, t = pe(x, s, {
502
+ align: "start",
503
+ alignOffset: 0,
504
+ boundaryPadding: 8,
505
+ flip: !0,
506
+ hideWhenDetached: !0,
507
+ matchWidth: _e === "anchor",
508
+ shift: !0,
509
+ side: fe,
510
+ sideOffset: 4,
511
+ strategy: he
512
+ });
513
+ return t.update().then(() => {
514
+ e && d(!0);
515
+ }), () => {
516
+ e = !1, t.destroy(), d(!1);
517
+ };
518
+ }, [
519
+ x,
520
+ s,
521
+ fe,
522
+ he,
523
+ _e
524
+ ]), p(() => {
525
+ if (s === null || !n.open || x === null) return;
526
+ let e = de(s, {
527
+ branches: [x],
528
+ escape: !0,
529
+ focusOutside: !1,
530
+ modal: !1,
531
+ outsidePress: !0,
532
+ scrollLock: !1,
533
+ onDismiss: (e) => {
534
+ m.current.setOpen(!1, e.reason === "escape" ? "escape" : "outsidePress", e.source);
535
+ }
536
+ });
537
+ return () => e.destroy();
538
+ }, [
539
+ x,
540
+ s,
541
+ n.open
542
+ ]);
543
+ let S = n.options.map((e) => e.key).join("");
544
+ se(() => {
545
+ let e = m.current;
546
+ if (!e.open) return;
547
+ let t = e.options, n = e.entry.current;
548
+ if (n !== "keep") {
549
+ 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];
550
+ (i !== void 0 || n !== "selected") && (e.entry.current = "keep", i !== void 0 && e.setHighlighted(i.key, "keyboard"));
551
+ return;
552
+ }
553
+ e.highlighted !== null && !t.some((t) => t.key === e.highlighted) && e.setHighlighted(null, "keyboard");
554
+ }, [S, n.open]), p(() => {
555
+ if (l === null || n.highlighted === null) return;
556
+ let e = l.ownerDocument.getElementById(n.optionId(n.highlighted));
557
+ typeof e?.scrollIntoView == "function" && e.scrollIntoView({ block: "nearest" });
558
+ }, [
559
+ n,
560
+ n.highlighted,
561
+ l
562
+ ]);
563
+ let ye = i.status === "error";
564
+ if (p(() => {
565
+ ye && m.current.open && ge(m.current.inputNode?.ownerDocument).announce(m.current.t("error"), { repeat: !0 });
566
+ }, [ye]), p(() => {
567
+ let e = oe.current, t = l;
568
+ if (e === null || t === null || !i.hasMore || typeof IntersectionObserver != "function") return;
569
+ let n = new IntersectionObserver((e) => {
570
+ e.some((e) => e.isIntersecting) && m.current.session.more();
571
+ }, { root: t });
572
+ return n.observe(e), () => n.disconnect();
573
+ }, [
574
+ i.hasMore,
575
+ i.items.length,
576
+ l
577
+ ]), !y) return null;
578
+ let be = n.options.filter((e) => e.key !== b && e.key !== ve).length, xe = i.status === "loading" && i.items.length === 0, Se = i.status === "loading" && i.items.length > 0 && i.indicator, C = i.status === "error", Ce = be === 0 && !n.offerCreate && !C && !xe && i.status !== "waiting" && i.status !== "short", we = i.status === "short" ? r("minQuery", { count: n.props.minQueryLength ?? 0 }) : C ? null : i.indicator && (xe || i.loadingMore) ? r("loading") : i.status === "ready" && n.query !== "" ? r("count", { count: i.total ?? i.items.length }) : null, Te = (r) => {
579
+ let i = r.id, a = n.chosen.includes(i), s = n.highlighted === i, c = n.options.find((e) => e.key === i)?.disabled ?? r.disabled === !0, l = (e) => {
580
+ c || (n.activate(i, "pointer", e.nativeEvent), n.inputNode?.focus({ preventScroll: !0 }));
581
+ }, ee = n.props.renderOption === void 0 ? /* @__PURE__ */ v(ce, { children: [
582
+ /* @__PURE__ */ _("span", {
583
+ "data-part": "label",
584
+ children: n.highlightMatch && n.query !== "" ? /* @__PURE__ */ _(o, {
585
+ locale: n.locale,
586
+ query: n.query,
587
+ text: r.label
588
+ }) : r.label
589
+ }),
590
+ r.description === void 0 ? null : /* @__PURE__ */ _("span", {
591
+ "data-part": "description",
592
+ children: r.description
593
+ }),
594
+ r.meta === void 0 ? null : /* @__PURE__ */ _("span", {
595
+ "data-part": "meta",
596
+ children: r.meta
597
+ })
598
+ ] }) : n.props.renderOption(r, {
599
+ current: s,
600
+ disabled: c,
601
+ query: n.query,
602
+ selected: a
603
+ });
604
+ return /* @__PURE__ */ v("div", {
605
+ "aria-disabled": c ? !0 : void 0,
606
+ "aria-selected": a,
607
+ "data-part": "item",
608
+ "data-value": i,
609
+ id: n.optionId(i),
610
+ onClick: l,
611
+ onPointerDown: D,
612
+ onPointerEnter: (e) => {
613
+ c || n.setHighlighted(i, "pointer", e.nativeEvent);
614
+ },
615
+ role: "option",
616
+ ...s ? { "data-current": "" } : {},
617
+ ...a ? { "data-selected": "" } : {},
618
+ ...c ? { "data-disabled": "" } : {},
619
+ children: [
620
+ n.media === "avatar" && r.avatar !== null ? /* @__PURE__ */ _("span", {
621
+ "data-part": "media",
622
+ children: /* @__PURE__ */ _(Ie, {
623
+ entity: r,
624
+ locale: n.locale
625
+ })
626
+ }) : null,
627
+ ee,
628
+ /* @__PURE__ */ _("span", {
629
+ "data-part": "indicator",
630
+ children: /* @__PURE__ */ _(t, { children: /* @__PURE__ */ _(e, { name: "check" }) })
631
+ })
632
+ ]
633
+ }, i);
634
+ }, Ee = (r, i, a) => /* @__PURE__ */ v("div", {
635
+ "aria-selected": !1,
636
+ "data-part": "item",
637
+ "data-value": r,
638
+ id: n.optionId(r),
639
+ onClick: a,
640
+ onPointerDown: D,
641
+ onPointerEnter: (e) => n.setHighlighted(r, "pointer", e.nativeEvent),
642
+ role: "option",
643
+ ...r === b ? { "data-create": "" } : { "data-retry": "" },
644
+ ...n.highlighted === r ? { "data-current": "" } : {},
645
+ ...n.creating && r === b ? { "data-loading": "" } : {},
646
+ children: [/* @__PURE__ */ _("span", {
647
+ "aria-hidden": "true",
648
+ "data-part": "media",
649
+ children: /* @__PURE__ */ _(t, { children: /* @__PURE__ */ _(e, { name: r === b ? "plus" : "rotate-ccw" }) })
650
+ }), /* @__PURE__ */ _("span", {
651
+ "data-part": "label",
652
+ children: i
653
+ })]
654
+ }), { sections: De, headings: Oe } = n.sections, ke = !(C && i.items.length === 0), w = /* @__PURE__ */ _("div", {
655
+ "data-align": "start",
656
+ "data-part": "positioner",
657
+ "data-size": n.size,
658
+ "data-ui": "entity-picker",
659
+ "data-width": n.width,
660
+ ref: c,
661
+ ...n.open ? {} : { inert: !0 },
662
+ ...n.open && ie ? { "data-open": "" } : {},
663
+ children: /* @__PURE__ */ v("div", {
664
+ "aria-busy": i.status === "loading" || void 0,
665
+ "aria-label": n.props["aria-label"],
666
+ "data-part": "content",
667
+ id: n.contentId,
668
+ ref: ee,
669
+ role: "listbox",
670
+ ...n.multiple ? { "aria-multiselectable": !0 } : {},
671
+ ...Se ? { "data-loading": "" } : {},
672
+ children: [
673
+ ke ? De.map((e) => Oe ? /* @__PURE__ */ v("div", {
674
+ "aria-labelledby": `${a}${e.key}`,
675
+ "data-part": "group",
676
+ role: "group",
677
+ children: [/* @__PURE__ */ _("div", {
678
+ "data-part": "group-label",
679
+ id: `${a}${e.key}`,
680
+ children: e.label
681
+ }), e.entities.map(Te)]
682
+ }, e.key) : e.entities.map(Te)) : null,
683
+ xe && i.indicator ? /* @__PURE__ */ v("div", {
684
+ "aria-hidden": "true",
685
+ "data-part": "placeholder",
686
+ children: [
687
+ /* @__PURE__ */ _(O, {}),
688
+ /* @__PURE__ */ _(O, {}),
689
+ /* @__PURE__ */ _(O, {})
690
+ ]
691
+ }) : null,
692
+ i.loadingMore && i.indicator ? /* @__PURE__ */ _("div", {
693
+ "aria-hidden": "true",
694
+ "data-part": "more",
695
+ children: /* @__PURE__ */ _(O, {})
696
+ }) : null,
697
+ /* @__PURE__ */ _("div", { ref: oe }),
698
+ n.offerCreate ? Ee(b, r("create", { query: n.query.trim() }), (e) => n.activate(b, "pointer", e.nativeEvent)) : null,
699
+ C ? /* @__PURE__ */ v("div", {
700
+ "data-part": "error",
701
+ children: [/* @__PURE__ */ _(t, { children: /* @__PURE__ */ _(e, { name: "circle-alert" }) }), r("error")]
702
+ }) : null,
703
+ C ? Ee(ve, r("retry"), () => {
704
+ n.retry(), n.inputNode?.focus({ preventScroll: !0 });
705
+ }) : null,
706
+ Ce ? /* @__PURE__ */ _("div", {
707
+ "data-part": "empty",
708
+ children: r("empty")
709
+ }) : null,
710
+ /* @__PURE__ */ _("div", {
711
+ "aria-live": "polite",
712
+ "data-part": "status",
713
+ role: "status",
714
+ children: we
715
+ })
716
+ ]
717
+ })
718
+ });
719
+ return te === null ? w : me(w, te);
720
+ }
721
+ //#endregion
722
+ //#region src/entity-picker/entity-picker.tsx
723
+ var ze = ie(void 0);
724
+ function k() {
725
+ let e = f(ze);
726
+ if (e === void 0) throw Error("An entity picker part is outside an EntityPicker.");
727
+ return e;
728
+ }
729
+ var A = [], Be = {
730
+ state: {
731
+ status: "idle",
732
+ query: "",
733
+ scope: null,
734
+ items: [],
735
+ answered: !1,
736
+ total: void 0,
737
+ hasMore: !1,
738
+ loadingMore: !1,
739
+ indicator: !1,
740
+ error: void 0
741
+ },
742
+ search: () => {},
743
+ more: () => {},
744
+ retry: () => {},
745
+ refresh: () => {},
746
+ reset: () => {},
747
+ dispose: () => {}
748
+ }, Ve = {
749
+ require: () => {},
750
+ status: () => "pending",
751
+ retry: () => {},
752
+ dispose: () => {}
753
+ };
754
+ function He(e) {
755
+ return Array.isArray(e) ? e : typeof e == "string" ? [e] : [];
756
+ }
757
+ function Ue(e) {
758
+ let { clearable: t, defaultHighlightedValue: i = null, defaultInputValue: o, defaultOpen: s = !1, defaultScope: c = null, disabled: l, entities: ee = A, favorites: te = A, fullWidth: ne, handleRef: re, highlightMatch: ie, highlightedValue: f, inputValue: se, invalid: ce, items: y, locale: le, messages: ue, loop: de, max: fe, media: pe, minQueryLength: me, onCreate: _e, open: x, openOn: S, overflow: Se, portal: C, readOnly: we, recent: De = A, required: ke, scope: w, searchDelay: Ae, side: Me, size: Ne, source: T, strategy: Pe, variant: Fe, width: Ie } = e, E = e.selectionMode === "multiple", D = je(), O = a(), k = ae(), Ue = `${k}listbox`, We = `${k}input`, Ge = d((e) => `${k}option-${encodeURIComponent(e)}`, [k]), j = r(he, ue), Ke = n(), qe = le ?? Ke, Je = l ?? O?.disabled ?? D.disabled, Ye = we ?? O?.readOnly ?? D.readOnly, Xe = me ?? D.minQueryLength, [Ze, Qe] = g(0), $e = d(() => Qe((e) => e + 1), []), et = h(null);
759
+ et.current === null && (et.current = ye());
760
+ let M = et.current;
761
+ M.remember(ee), M.remember(te), M.remember(De);
762
+ let tt = m(() => T ?? Ee(y ?? A, { locale: qe }), [
763
+ y,
764
+ qe,
765
+ T
766
+ ]), N = h(tt);
767
+ N.current = tt;
768
+ let nt = m(() => ({
769
+ search: (e, t) => N.current.search(e, t),
770
+ resolve: (e, t) => N.current.resolve === void 0 ? Promise.resolve([]) : N.current.resolve(e, t)
771
+ }), []), [rt, it] = g(null), P = h(Xe);
772
+ P.current = Xe;
773
+ let F = h(Ae ?? D.searchDelay);
774
+ F.current = Ae ?? D.searchDelay;
775
+ let [I, at] = g(null);
776
+ p(() => {
777
+ let e = xe({
778
+ source: nt,
779
+ get delay() {
780
+ return F.current;
781
+ },
782
+ get minQueryLength() {
783
+ return P.current;
784
+ },
785
+ onChange: it,
786
+ onResults: (e) => M.remember(e)
787
+ }), t = be({
788
+ source: {
789
+ search: nt.search,
790
+ resolve: (e, t) => N.current.resolve === void 0 ? Promise.reject(/* @__PURE__ */ Error("no resolve")) : N.current.resolve(e, t)
791
+ },
792
+ cache: M,
793
+ onChange: $e
794
+ });
795
+ return at({
796
+ session: e,
797
+ resolver: t
798
+ }), () => {
799
+ e.dispose(), t.dispose(), it(null);
800
+ };
801
+ }, [
802
+ $e,
803
+ M,
804
+ nt
805
+ ]);
806
+ let L = I?.session ?? Be, ot = I?.resolver ?? Ve, st = He(e.defaultValue), [ct, lt] = g(st), [ut, dt] = g(s), [ft, pt] = g(i), [mt, ht] = g(c), gt = e.value, R = gt === void 0 ? ct : He(gt), z = (x ?? ut) && !Je, B = f === void 0 ? ft : f, V = w === void 0 ? mt : w, H = (e) => e === void 0 ? "" : M.get(e)?.label ?? "", [_t, vt] = g(() => o ?? (E ? "" : H(st[0]))), yt = se ?? _t, [U, W] = g(!1), G = E || U ? yt : "", bt = h("keep"), [K, xt] = g(null), [St, Ct] = g(null), q = h({
807
+ props: e,
808
+ currentIds: R,
809
+ currentOpen: z,
810
+ currentHighlighted: B,
811
+ currentInput: yt,
812
+ currentScope: V,
813
+ typed: U
814
+ });
815
+ q.current = {
816
+ props: e,
817
+ currentIds: R,
818
+ currentOpen: z,
819
+ currentHighlighted: B,
820
+ currentInput: yt,
821
+ currentScope: V,
822
+ typed: U
823
+ };
824
+ let J = d((e) => {
825
+ ge(K?.ownerDocument).announce(e, { repeat: !0 });
826
+ }, [K]), Y = d((e, t, n) => {
827
+ let r = q.current, i = r.currentIds;
828
+ if (e.length === i.length && e.every((e, t) => e === i[t])) return !1;
829
+ let a = r.props.selectionMode === "multiple", o = (e) => a ? e : e[0] ?? null, s = u({
830
+ controlled: r.props.value,
831
+ initial: o(i),
832
+ equals: (e, t) => JSON.stringify(e) === JSON.stringify(t),
833
+ onRequest: (t) => {
834
+ let n = Object.assign(t, { entities: M.pick(e) });
835
+ r.props.onValueChange?.(t.value, n);
836
+ }
837
+ }).request(o(e), t, n);
838
+ return s && lt(e), s || r.props.value !== void 0;
839
+ }, [M]), X = d((e, t, n) => {
840
+ let r = q.current;
841
+ e !== r.currentInput && u({
842
+ controlled: r.props.inputValue,
843
+ initial: r.currentInput,
844
+ onRequest: (e) => r.props.onInputValueChange?.(e.value, e)
845
+ }).request(e, t, n) && vt(e);
846
+ }, []), Z = d((e, t, n) => {
847
+ let r = q.current;
848
+ e !== r.currentOpen && u({
849
+ controlled: r.props.open,
850
+ initial: r.currentOpen,
851
+ onRequest: (e) => r.props.onOpenChange?.(e.value, e)
852
+ }).request(e, t, n) && (dt(e), e || (pt(null), bt.current = "keep"));
853
+ }, []), wt = d((e, t, n) => {
854
+ let r = q.current;
855
+ e !== r.currentHighlighted && u({
856
+ controlled: r.props.highlightedValue,
857
+ initial: r.currentHighlighted,
858
+ onRequest: (e) => r.props.onHighlightedValueChange?.(e.value, e)
859
+ }).request(e, t, n) && pt(e);
860
+ }, []), Tt = d((e, t, n) => {
861
+ let r = q.current;
862
+ e !== r.currentScope && u({
863
+ controlled: r.props.scope,
864
+ initial: r.currentScope,
865
+ onRequest: (e) => r.props.onScopeChange?.(e.value, e)
866
+ }).request(e, t, n) && ht(e);
867
+ }, []), Et = d((e, t) => {
868
+ W(!0), X(e, "keyboard", t);
869
+ }, [X]), Dt = d((e, t, n) => {
870
+ Y(e === null ? [] : [e], t, n), W(!1), X(e === null ? "" : H(e), "select", n);
871
+ }, [Y, X]), Q = E ? fe ?? null : null, Ot = d((e, t, n) => {
872
+ let r = q.current.currentIds, i = H(e);
873
+ if (r.includes(e)) {
874
+ let a = r.filter((t) => t !== e);
875
+ Y(a, t === "remove" ? "remove" : t, n) && J(j("removed", {
876
+ label: i,
877
+ count: a.length
878
+ }));
879
+ } else {
880
+ if (Q !== null && r.length >= Q) return;
881
+ let a = [...r, e];
882
+ Y(a, t, n) && (J(j("added", {
883
+ label: i,
884
+ count: a.length
885
+ })), Q !== null && a.length === Q && J(j("complete", { max: Q })));
886
+ }
887
+ X("", "select", n);
888
+ }, [
889
+ J,
890
+ Q,
891
+ Y,
892
+ X,
893
+ j
894
+ ]), kt = d((e, t) => {
895
+ let n = q.current.currentIds.filter((t) => t !== e);
896
+ Y(n, "remove", t) && J(j("removed", {
897
+ label: H(e) || j("unresolved"),
898
+ count: n.length
899
+ }));
900
+ }, [
901
+ J,
902
+ Y,
903
+ j
904
+ ]), At = d((e) => {
905
+ Y([], "clear", e), W(!1), X("", "clear", e);
906
+ }, [Y, X]), [jt, Mt] = g(!1), Nt = d((e, t) => {
907
+ let n = q.current, r = n.currentInput.trim(), i = n.props.onCreate;
908
+ if (i === void 0 || r === "") return;
909
+ let a = (e) => {
910
+ if (Mt(!1), e != null) {
911
+ if (M.remember([e]), $e(), q.current.props.selectionMode === "multiple") {
912
+ let n = q.current.currentIds;
913
+ n.includes(e.id) || (Y([...n, e.id], "submit", t), J(j("added", {
914
+ label: e.label,
915
+ count: n.length + 1
916
+ }))), X("", "select", t);
917
+ } else Y([e.id], "submit", t), W(!1), X(e.label, "select", t);
918
+ }
919
+ }, o = i(r);
920
+ o instanceof Promise ? (Mt(!0), o.then(a, () => Mt(!1))) : a(o);
921
+ }, [
922
+ J,
923
+ $e,
924
+ M,
925
+ E,
926
+ Y,
927
+ X,
928
+ j
929
+ ]), Pt = d((e, t, n) => {
930
+ if (e === ve) {
931
+ L.retry();
932
+ return;
933
+ }
934
+ if (e === b) {
935
+ Nt(t, n), E || Z(!1, "select", n);
936
+ return;
937
+ }
938
+ if (M.get(e)?.disabled !== !0) {
939
+ if (E) {
940
+ Ot(e, t, n);
941
+ return;
942
+ }
943
+ Dt(e, t, n), Z(!1, "select", n);
944
+ }
945
+ }, [
946
+ M,
947
+ Dt,
948
+ Nt,
949
+ E,
950
+ L,
951
+ Z,
952
+ Ot
953
+ ]), Ft = d((e) => {
954
+ let t = q.current;
955
+ if (t.props.selectionMode !== "multiple" && t.typed) {
956
+ if (t.currentInput.trim() === "") {
957
+ t.currentIds.length > 0 && Y([], "clear", e), W(!1);
958
+ return;
959
+ }
960
+ W(!1), X(H(t.currentIds[0]), "blur", e);
961
+ }
962
+ }, [Y, X]), It = d((e) => {
963
+ let t = q.current, n = H(t.currentIds[0]);
964
+ if (t.currentIds.length === 0) {
965
+ W(!1), X("", "programmatic", e);
966
+ return;
967
+ }
968
+ if (t.currentInput === n) {
969
+ At(e);
970
+ return;
971
+ }
972
+ W(!1), X(n, "programmatic", e);
973
+ }, [At, X]), Lt = d((e) => X("", "clear", e), [X]);
974
+ p(() => {
975
+ ot.require(R);
976
+ }, [
977
+ R,
978
+ ot,
979
+ Ze
980
+ ]);
981
+ let Rt = E ? "" : H(R[0]);
982
+ p(() => {
983
+ E || U || q.current.currentInput !== Rt && X(Rt, "programmatic");
984
+ }, [
985
+ Rt,
986
+ E,
987
+ X,
988
+ U
989
+ ]), p(() => {
990
+ z && L.search({
991
+ query: G,
992
+ scope: V,
993
+ selected: q.current.currentIds
994
+ });
995
+ }, [
996
+ z,
997
+ V,
998
+ G,
999
+ L
1000
+ ]), oe(re, () => ({
1001
+ close: () => Z(!1, "programmatic"),
1002
+ focus: () => K?.focus({ preventScroll: !0 }),
1003
+ open: () => Z(!0, "programmatic"),
1004
+ refresh: () => L.refresh()
1005
+ }), [
1006
+ K,
1007
+ L,
1008
+ Z
1009
+ ]);
1010
+ let $ = rt ?? L.state, zt = $.answered || $.status === "loading" ? $.items : A, Bt = Te({
1011
+ query: G,
1012
+ scope: V,
1013
+ chosen: E ? M.pick(R) : A,
1014
+ favorites: te,
1015
+ recent: De,
1016
+ results: $.status === "error" || $.status === "short" ? $.items : zt,
1017
+ searchedEmpty: Xe === 0,
1018
+ labels: {
1019
+ chosen: j("chosen"),
1020
+ favorites: j("favorites"),
1021
+ recent: j("recent"),
1022
+ results: j("results")
1023
+ }
1024
+ }), Vt = !jt && Oe({
1025
+ enabled: _e !== void 0,
1026
+ query: G,
1027
+ answered: $.status === "ready",
1028
+ results: $.items,
1029
+ locale: qe
1030
+ }), Ht = m(() => {
1031
+ if (Q === null || R.length < Q) return;
1032
+ let e = new Set(R);
1033
+ return new Set(Bt.sections.flatMap((e) => e.entities).map((e) => e.id).filter((t) => !e.has(t)));
1034
+ }, [
1035
+ R,
1036
+ Q,
1037
+ Bt
1038
+ ]), Ut = Ce({
1039
+ sections: Bt.sections,
1040
+ create: Vt,
1041
+ ...Ht === void 0 ? {} : { blocked: Ht }
1042
+ }), Wt = $.status === "error" ? [...Ut.filter((e) => e.key !== b), {
1043
+ key: ve,
1044
+ disabled: !1
1045
+ }] : Ut, Gt = {
1046
+ activate: Pt,
1047
+ cache: M,
1048
+ chosen: R,
1049
+ clear: At,
1050
+ clearQuery: Lt,
1051
+ clearable: t ?? D.clearable,
1052
+ contentId: Ue,
1053
+ controlNode: St,
1054
+ create: Nt,
1055
+ creating: jt,
1056
+ disabled: Je,
1057
+ entry: bt,
1058
+ fullWidth: ne ?? D.fullWidth,
1059
+ highlightMatch: ie ?? D.highlightMatch,
1060
+ highlighted: B,
1061
+ inputId: We,
1062
+ inputNode: K,
1063
+ inputValue: yt,
1064
+ invalid: ce ?? O?.invalid ?? D.invalid,
1065
+ locale: qe,
1066
+ loop: de ?? D.loop,
1067
+ max: Q,
1068
+ media: pe ?? D.media,
1069
+ multiple: E,
1070
+ offerCreate: Vt,
1071
+ open: z,
1072
+ openOn: S ?? D.openOn,
1073
+ optionId: Ge,
1074
+ options: Wt,
1075
+ overflow: Se ?? D.overflow,
1076
+ portal: C ?? D.portal,
1077
+ props: e,
1078
+ query: G,
1079
+ readOnly: Ye,
1080
+ remove: kt,
1081
+ required: ke ?? O?.required ?? D.required,
1082
+ resolver: ot,
1083
+ retry: () => L.retry(),
1084
+ revert: It,
1085
+ scope: V,
1086
+ search: $,
1087
+ sections: Bt,
1088
+ session: L,
1089
+ setControlNode: Ct,
1090
+ setHighlighted: wt,
1091
+ setInputNode: xt,
1092
+ setOpen: Z,
1093
+ setScope: Tt,
1094
+ setTyped: Et,
1095
+ settle: Ft,
1096
+ side: Me ?? D.side,
1097
+ size: Ne ?? O?.size ?? D.size,
1098
+ strategy: Pe ?? D.strategy,
1099
+ t: j,
1100
+ variant: Fe ?? D.variant,
1101
+ version: Ze,
1102
+ width: Ie ?? D.width
1103
+ };
1104
+ return /* @__PURE__ */ v(ze.Provider, {
1105
+ value: Gt,
1106
+ children: [/* @__PURE__ */ _(Le, {}), /* @__PURE__ */ _(Re, {})]
1107
+ });
1108
+ }
1109
+ //#endregion
1110
+ export { Ue as a, je as c, ke as i, S as n, w as o, De as r, Me as s, x as t };