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