@slotted/react 0.1.0-beta.4 → 0.1.0-beta.6

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 (185) hide show
  1. package/README.md +16 -1
  2. package/dist/{action-bar-OACchRZw.js → action-bar-ti3e6FK1.js} +1 -1
  3. package/dist/action-bar.js +1 -1
  4. package/dist/{app-shell-CmYvnu_7.js → app-shell-nnSP44OO.js} +271 -267
  5. package/dist/app-shell.js +1 -1
  6. package/dist/bin/slotted-agent-docs.mjs +297 -0
  7. package/dist/{cascader-D1AhTyBL.js → cascader-Cn2Acpcv.js} +227 -210
  8. package/dist/cascader.js +1 -1
  9. package/dist/chart-04i6NZQA.js +968 -0
  10. package/dist/chart.js +1 -1
  11. package/dist/{checkbox-DfxFHZaU.js → checkbox-B4Sb1eXj.js} +3 -3
  12. package/dist/{checkbox-group-9sDgrV5Z.js → checkbox-group-LpGMuq9w.js} +2 -2
  13. package/dist/checkbox-group.js +1 -1
  14. package/dist/checkbox.js +1 -1
  15. package/dist/{code-block-CFHf8uTm.js → code-block-CTNiyt0U.js} +1 -1
  16. package/dist/code-block.js +1 -1
  17. package/dist/{color-picker-CwbWzCKg.js → color-picker-BcRCeISx.js} +4 -4
  18. package/dist/color-picker.js +1 -1
  19. package/dist/{column-manager-CTtizVhm.js → column-manager-BtkYLs5G.js} +4 -4
  20. package/dist/column-manager.js +1 -1
  21. package/dist/{combobox-BVMI9lg8.js → combobox-C1D5doWM.js} +227 -198
  22. package/dist/combobox.js +1 -1
  23. package/dist/{context-menu-BuST6W94.js → context-menu-B00UIBVC.js} +1 -1
  24. package/dist/context-menu.js +1 -1
  25. package/dist/{currency-field-DD9A5U3D.js → currency-field-Dti9JFu0.js} +1 -1
  26. package/dist/currency-field.js +1 -1
  27. package/dist/{dashboard-grid-CBMP_-JV.js → dashboard-grid-CoLKLvYL.js} +1 -1
  28. package/dist/dashboard-grid.js +1 -1
  29. package/dist/{data-grid-Eb-a4jg3.js → data-grid-DX95Y7mY.js} +18 -18
  30. package/dist/data-grid.js +1 -1
  31. package/dist/{data-list-oICmxGkA.js → data-list-CWYTPNm-.js} +2 -2
  32. package/dist/data-list.js +1 -1
  33. package/dist/{date-field-Hr-OCU-H.js → date-field-BxEpqAPg.js} +1 -1
  34. package/dist/date-field.js +1 -1
  35. package/dist/date-picker-DRk9SZp1.js +308 -0
  36. package/dist/date-picker.js +1 -1
  37. package/dist/date-range-picker-6Yz7avTS.js +483 -0
  38. package/dist/date-range-picker.js +1 -1
  39. package/dist/{datetime-field-B8TrmsDK.js → datetime-field-D2f9u6im.js} +1 -1
  40. package/dist/datetime-field.js +1 -1
  41. package/dist/datetime-picker-STqSWMkH.js +645 -0
  42. package/dist/datetime-picker.js +1 -1
  43. package/dist/datetime-range-picker-DQNQwr3K.js +1000 -0
  44. package/dist/datetime-range-picker.js +1 -1
  45. package/dist/{detail-panel-CW53lUjp.js → detail-panel-z6WGleP4.js} +1 -1
  46. package/dist/detail-panel.js +1 -1
  47. package/dist/docs/AGENTS.snippet.md +2 -0
  48. package/dist/docs/app-shell.examples.md +1 -1
  49. package/dist/docs/app-shell.json +4 -4
  50. package/dist/docs/app-shell.md +2 -2
  51. package/dist/docs/guidelines/README.md +2 -2
  52. package/dist/docs/guidelines/index.md +1 -1
  53. package/dist/docs/guidelines/own-elements.md +1 -1
  54. package/dist/docs/page-header.json +1 -0
  55. package/dist/docs/page-header.md +1 -1
  56. package/dist/docs/segmented-control.json +7 -11
  57. package/dist/docs/segmented-control.md +1 -1
  58. package/dist/docs/skills/build-own-element/SKILL.md +6 -6
  59. package/dist/docs/skills/compose-screen/SKILL.md +6 -6
  60. package/dist/docs/skills/review-screen/SKILL.md +6 -6
  61. package/dist/docs/skills/theme-app/SKILL.md +1 -1
  62. package/dist/docs/skills/waiting-states/SKILL.md +2 -2
  63. package/dist/docs/tabs.json +16 -3
  64. package/dist/docs/tabs.md +3 -2
  65. package/dist/{entity-picker-Dn1T7JCq.js → entity-picker-BdySwW8F.js} +274 -256
  66. package/dist/entity-picker.js +1 -1
  67. package/dist/{event-calendar-CnF3iIZD.js → event-calendar-CiphPXdV.js} +4 -4
  68. package/dist/event-calendar.js +1 -1
  69. package/dist/{field-NJaCxl2h.js → field-BxQFpOXS.js} +1 -1
  70. package/dist/{field-group-hAzVa2O9.js → field-group-DcN_hiZN.js} +1 -1
  71. package/dist/field-group.js +1 -1
  72. package/dist/field.js +1 -1
  73. package/dist/{filter-bar-CHyy1o--.js → filter-bar-C_dXljI_.js} +10 -10
  74. package/dist/filter-bar.js +1 -1
  75. package/dist/{hover-card-BJE5dtaQ.js → hover-card-DpVzwvDJ.js} +1 -1
  76. package/dist/hover-card.js +1 -1
  77. package/dist/{import-export-center-jF37b909.js → import-export-center-BQnMJz4g.js} +3 -3
  78. package/dist/import-export-center.js +1 -1
  79. package/dist/index.js +63 -63
  80. package/dist/{listbox-Dv856z9I.js → listbox-D0MJcAMm.js} +1 -1
  81. package/dist/listbox.js +1 -1
  82. package/dist/{markdown-CeG8mUbI.js → markdown-IiVoh6yi.js} +2 -2
  83. package/dist/markdown.js +1 -1
  84. package/dist/menu-parts-D6v_mz6O.js +809 -0
  85. package/dist/menu.js +1 -1
  86. package/dist/{menubar-b2CruimJ.js → menubar-DApIg1eR.js} +1 -1
  87. package/dist/menubar.js +1 -1
  88. package/dist/{multi-select-DQ5ds0fX.js → multi-select-B8z6ApgW.js} +286 -257
  89. package/dist/multi-select.js +1 -1
  90. package/dist/{notification-center-C1iWWl5Y.js → notification-center-CGEEHcRA.js} +2 -2
  91. package/dist/notification-center.js +1 -1
  92. package/dist/{number-field-BFIAmv-z.js → number-field-DXk1TAXA.js} +1 -1
  93. package/dist/number-field.js +1 -1
  94. package/dist/{otp-input-BNQhuKaT.js → otp-input-CI-kdNgx.js} +1 -1
  95. package/dist/otp-input.js +1 -1
  96. package/dist/{popover-Be7JWbGJ.js → popover-DEp8Bf3e.js} +186 -166
  97. package/dist/popover.js +1 -1
  98. package/dist/{prompt-composer-BxpdkTpZ.js → prompt-composer-DdcU3S3L.js} +1 -1
  99. package/dist/prompt-composer.js +1 -1
  100. package/dist/{radio-group-BaVIP9UH.js → radio-group-D8csBZ8Z.js} +2 -2
  101. package/dist/radio-group.js +1 -1
  102. package/dist/{rating-DYBQBzwB.js → rating-rI3b5zII.js} +1 -1
  103. package/dist/rating.js +1 -1
  104. package/dist/{saved-views-DlE_--Z9.js → saved-views-B3brBTD9.js} +4 -4
  105. package/dist/saved-views.js +1 -1
  106. package/dist/scroll-area-DQ_ansLu.js +112 -0
  107. package/dist/scroll-area.js +1 -1
  108. package/dist/{segmented-control-DmuOGiu6.js → segmented-control-C-PzkTtg.js} +2 -2
  109. package/dist/segmented-control.js +1 -1
  110. package/dist/{select-M7Io4UL9.js → select-BUylPwpb.js} +241 -203
  111. package/dist/select.js +1 -1
  112. package/dist/{side-navigation-CBLtCzuJ.js → side-navigation-Bm-BZma1.js} +156 -140
  113. package/dist/side-navigation.js +1 -1
  114. package/dist/{slider-DTes4HLF.js → slider-fp7kyg-6.js} +1 -1
  115. package/dist/slider.js +1 -1
  116. package/dist/{split-button-CPgHiy9G.js → split-button-DKRm0j5c.js} +1 -1
  117. package/dist/split-button.js +1 -1
  118. package/dist/styles.css +1 -1
  119. package/dist/{switch-DQzuIhPX.js → switch-aVoc4C2F.js} +1 -1
  120. package/dist/switch.js +1 -1
  121. package/dist/{table-U9eJYCuB.js → table-BYEvFr4P.js} +276 -275
  122. package/dist/table.js +1 -1
  123. package/dist/{tabs-BtHmjlnM.js → tabs-HWmvOKM4.js} +109 -102
  124. package/dist/tabs.js +1 -1
  125. package/dist/{tags-input-CcOkm0AW.js → tags-input-pbv6x1Pi.js} +1 -1
  126. package/dist/tags-input.js +1 -1
  127. package/dist/{text-field-DLfIZ0fk.js → text-field-CbQ6UCAP.js} +1 -1
  128. package/dist/text-field.js +1 -1
  129. package/dist/{textarea-CBJBJBi6.js → textarea-DJSfhrXH.js} +1 -1
  130. package/dist/textarea.js +1 -1
  131. package/dist/{time-field-DrhiCtUl.js → time-field-BI9n607q.js} +1 -1
  132. package/dist/time-field.js +1 -1
  133. package/dist/time-picker-D6SlQWNF.js +402 -0
  134. package/dist/time-picker.js +1 -1
  135. package/dist/time-range-picker-CcV3_45h.js +751 -0
  136. package/dist/time-range-picker.js +1 -1
  137. package/dist/{toggle-group-7iBR9Rn1.js → toggle-group-i7JPO8BM.js} +1 -1
  138. package/dist/toggle-group.js +1 -1
  139. package/dist/{toolbar-DDZpEftQ.js → toolbar-B9knmgHA.js} +1 -1
  140. package/dist/toolbar.js +1 -1
  141. package/dist/tooltip-CgjIROUy.js +410 -0
  142. package/dist/tooltip.js +1 -1
  143. package/dist/{top-navigation-e-tWMGNr.js → top-navigation-DiG2PF5W.js} +2 -2
  144. package/dist/top-navigation.js +1 -1
  145. package/dist/{transfer-CqZOTLMP.js → transfer--UOQVeKE.js} +5 -5
  146. package/dist/transfer.js +1 -1
  147. package/dist/types/app-shell/app-shell-parts.d.ts +6 -4
  148. package/dist/types/app-shell/app-shell-parts.d.ts.map +1 -1
  149. package/dist/types/app-shell/app-shell.d.ts.map +1 -1
  150. package/dist/types/cascader/cascader.d.ts.map +1 -1
  151. package/dist/types/chart/chart.d.ts.map +1 -1
  152. package/dist/types/combobox/combobox-parts.d.ts.map +1 -1
  153. package/dist/types/date-picker/date-picker.d.ts.map +1 -1
  154. package/dist/types/date-range-picker/date-range-picker.d.ts.map +1 -1
  155. package/dist/types/datetime-picker/datetime-picker.d.ts.map +1 -1
  156. package/dist/types/datetime-range-picker/datetime-range-picker.d.ts.map +1 -1
  157. package/dist/types/entity-picker/entity-picker-popup.d.ts.map +1 -1
  158. package/dist/types/menu/menu-parts.d.ts.map +1 -1
  159. package/dist/types/multi-select/multi-select-parts.d.ts.map +1 -1
  160. package/dist/types/popover/popover-parts.d.ts.map +1 -1
  161. package/dist/types/scroll-area/scroll-area.d.ts.map +1 -1
  162. package/dist/types/select/select-parts.d.ts.map +1 -1
  163. package/dist/types/side-navigation/side-navigation-parts.d.ts.map +1 -1
  164. package/dist/types/stat-card/stat-card.types.d.ts +2 -2
  165. package/dist/types/stat-card/stat-card.types.d.ts.map +1 -1
  166. package/dist/types/table/table-content.d.ts.map +1 -1
  167. package/dist/types/tabs/tabs-parts.d.ts +2 -4
  168. package/dist/types/tabs/tabs-parts.d.ts.map +1 -1
  169. package/dist/types/tabs/tabs.d.ts.map +1 -1
  170. package/dist/types/time-picker/time-picker.d.ts.map +1 -1
  171. package/dist/types/time-range-picker/time-range-picker.d.ts.map +1 -1
  172. package/dist/types/tooltip/tooltip-parts.d.ts.map +1 -1
  173. package/dist/{upload-DjnlVR8y.js → upload-CLX5cURk.js} +1 -1
  174. package/dist/upload.js +1 -1
  175. package/package.json +10 -7
  176. package/dist/chart-O0ZhkzJe.js +0 -966
  177. package/dist/date-picker-D3-y2Jxw.js +0 -295
  178. package/dist/date-range-picker-y3b82Wmf.js +0 -471
  179. package/dist/datetime-picker-CIRHVLQp.js +0 -629
  180. package/dist/datetime-range-picker-DM-1m98z.js +0 -994
  181. package/dist/menu-parts-W58pVNUt.js +0 -786
  182. package/dist/scroll-area-BriwmvYY.js +0 -111
  183. package/dist/time-picker-CRQsMJbQ.js +0 -396
  184. package/dist/time-range-picker-DlZJsj1e.js +0 -745
  185. package/dist/tooltip-DbKTPe_i.js +0 -392
@@ -1,6 +1,6 @@
1
1
  import { n as e, t } from "./icon-T9Yt4tnm.js";
2
2
  import { n, r } from "./i18n-DpW8lqJ1.js";
3
- import { b as i } from "./field-NJaCxl2h.js";
3
+ import { b as i } from "./field-BxQFpOXS.js";
4
4
  import { t as a } from "./select-tags-CQMcHIQN.js";
5
5
  import { t as o } from "./highlight-0Qw23QPp.js";
6
6
  import { tabbables as s } from "@slotted/core/focus";
@@ -14,7 +14,7 @@ import { createPositioner as T } from "@slotted/core/positioner";
14
14
  import { createTypeahead as te, isPrintable as E } from "@slotted/core/typeahead";
15
15
  import { createPortal as D } from "react-dom";
16
16
  import { selectMessages as O } from "@slotted/core/i18n";
17
- import { createFilter as ne, moveIndex as k, revealWithin as A } from "@slotted/core/collection";
17
+ import { createFilter as k, moveIndex as ne, revealWithin as A } from "@slotted/core/collection";
18
18
  import { matchRanges as j } from "@slotted/core/highlight";
19
19
  //#region src/select/select-defaults.tsx
20
20
  var M = {
@@ -102,30 +102,30 @@ function L() {
102
102
  if (e === void 0) throw Error("SelectTrigger, SelectContent and every option have to be inside a Select.");
103
103
  return e;
104
104
  }
105
- function re(e) {
105
+ function R(e) {
106
106
  return e == null ? [] : typeof e == "string" ? [e] : e;
107
107
  }
108
- function ie(e, t) {
108
+ function re(e, t) {
109
109
  return t ? e : e[0] ?? null;
110
110
  }
111
- var ae = (e) => "options" in e;
112
- function oe(e) {
113
- return e === void 0 ? [] : e.flatMap((e) => ae(e) ? e.options : [e]);
111
+ var ie = (e) => "options" in e;
112
+ function ae(e) {
113
+ return e === void 0 ? [] : e.flatMap((e) => ie(e) ? e.options : [e]);
114
114
  }
115
- function se({ align: e, alignOffset: t, children: a, clearable: o, closeOnEscape: s, closeOnOutsidePress: l, closeOnSelect: d, collisionPadding: f, defaultHighlightedValue: h = null, defaultOpen: y = !1, defaultSearchValue: x = "", defaultValue: S, disabled: ee, filter: C, flip: w, form: T, fullWidth: te, hideWhenDetached: E, highlightedValue: D, highlightMatch: k, invalid: j, items: M, loading: N, locale: F, loop: L, messages: ae, mount: se, multiple: R, name: z, onHighlightedValueChange: B, onOpenChange: V, onSearchValueChange: H, onValueChange: U, open: W, portal: ce, readOnly: le, ref: G, required: ue, search: de, searchValue: K, shift: fe, side: pe, sideOffset: me, size: he, strategy: ge, total: _e, typeahead: ve, typeaheadTimeout: ye, value: be, variant: xe, width: Se }) {
116
- let q = P(), J = i(), Ce = r(O, ae), we = n(), Te = F ?? we, Y = p(), Ee = `${Y}listbox`, De = `${Y}list`, Oe = `${Y}search`, ke = J?.ids.control ?? `${Y}trigger`, [Ae, je] = v(y), [Me] = v(() => re(S)), [Ne, Pe] = v(Me), [Fe, Ie] = v(h), [Le, Re] = v(x), [ze, Be] = v(null), [X, Ve] = v(null), [He, Ue] = v(null), We = R ?? q.multiple, Ge = ee ?? J?.disabled ?? q.disabled, Ke = le ?? J?.readOnly ?? q.readOnly, qe = (W ?? Ae) && !Ge, Je = be === void 0 ? Ne : re(be), Ye = D === void 0 ? Fe : D, Xe = de ?? q.search, Z = Xe ? K === void 0 ? Le : K : "", Ze = _(qe);
115
+ function oe({ align: e, alignOffset: t, children: a, clearable: o, closeOnEscape: s, closeOnOutsidePress: l, closeOnSelect: d, collisionPadding: f, defaultHighlightedValue: h = null, defaultOpen: y = !1, defaultSearchValue: x = "", defaultValue: S, disabled: ee, filter: C, flip: w, form: T, fullWidth: te, hideWhenDetached: E, highlightedValue: D, highlightMatch: ne, invalid: j, items: M, loading: N, locale: F, loop: L, messages: ie, mount: oe, multiple: se, name: z, onHighlightedValueChange: B, onOpenChange: V, onSearchValueChange: H, onValueChange: U, open: W, portal: ce, readOnly: le, ref: G, required: ue, search: de, searchValue: K, shift: q, side: fe, sideOffset: pe, size: me, strategy: he, total: ge, typeahead: _e, typeaheadTimeout: ve, value: ye, variant: be, width: xe }) {
116
+ let J = P(), Y = i(), Se = r(O, ie), Ce = n(), we = F ?? Ce, X = p(), Te = `${X}listbox`, Ee = `${X}list`, De = `${X}search`, Oe = Y?.ids.control ?? `${X}trigger`, [ke, Ae] = v(y), [je] = v(() => R(S)), [Me, Ne] = v(je), [Pe, Fe] = v(h), [Ie, Le] = v(x), [Re, ze] = v(null), [Be, Ve] = v(null), [He, Ue] = v(null), We = se ?? J.multiple, Ge = ee ?? Y?.disabled ?? J.disabled, Ke = le ?? Y?.readOnly ?? J.readOnly, qe = (W ?? ke) && !Ge, Je = ye === void 0 ? Me : R(ye), Ye = D === void 0 ? Pe : D, Xe = de ?? J.search, Z = Xe ? K === void 0 ? Ie : K : "", Ze = _(qe);
117
117
  qe && (Ze.current = !0);
118
118
  let Qe = _("selected"), $e = _(/* @__PURE__ */ new Map()), [et, tt] = v(0), nt = g(() => {
119
119
  let e = /* @__PURE__ */ new Map();
120
- for (let t of oe(M)) e.set(t.value, t.label);
120
+ for (let t of ae(M)) e.set(t.value, t.label);
121
121
  return e;
122
122
  }, [M]), rt = u((e, t) => {
123
123
  $e.current.get(e) !== t && ($e.current.set(e, t), tt((e) => e + 1));
124
- }, []), it = u((e) => nt.get(e) ?? $e.current.get(e), [nt, et]), at = g(() => ne({ locale: Te }), [Te]), ot = u((e) => Z === "" || C === null ? !0 : C === void 0 ? at.contains(e, Z) : C(e, Z), [
124
+ }, []), it = u((e) => nt.get(e) ?? $e.current.get(e), [nt, et]), at = g(() => k({ locale: we }), [we]), ot = u((e) => Z === "" || C === null ? !0 : C === void 0 ? at.contains(e, Z) : C(e, Z), [
125
125
  Z,
126
126
  at,
127
127
  C
128
- ]), st = u((e) => `${Y}option-${encodeURIComponent(e)}`, [Y]), ct = {
128
+ ]), st = u((e) => `${X}option-${encodeURIComponent(e)}`, [X]), ct = {
129
129
  currentHighlighted: Ye,
130
130
  currentOpen: qe,
131
131
  currentQuery: Z,
@@ -140,8 +140,8 @@ function se({ align: e, alignOffset: t, children: a, clearable: o, closeOnEscape
140
140
  resolvedSearch: Xe,
141
141
  searchNode: He,
142
142
  searchValue: K,
143
- triggerNode: ze,
144
- value: be
143
+ triggerNode: Re,
144
+ value: ye
145
145
  }, Q = _(ct);
146
146
  Q.current = ct;
147
147
  let lt = u((e, t, n) => {
@@ -150,29 +150,29 @@ function se({ align: e, alignOffset: t, children: a, clearable: o, closeOnEscape
150
150
  controlled: r.searchValue,
151
151
  initial: r.currentQuery,
152
152
  onRequest: (e) => r.onSearchValueChange?.(e.value, e)
153
- }).request(e, t, n) && Re(e);
153
+ }).request(e, t, n) && Le(e);
154
154
  }, []), ut = u((e, t, n) => {
155
155
  let r = Q.current;
156
156
  e !== r.currentOpen && c({
157
157
  controlled: r.open,
158
158
  initial: r.currentOpen,
159
159
  onRequest: (e) => r.onOpenChange?.(e.value, e)
160
- }).request(e, t, n) && (je(e), e || (Ie(null), Qe.current = "selected", lt("", "clear", n)));
160
+ }).request(e, t, n) && (Ae(e), e || (Fe(null), Qe.current = "selected", lt("", "clear", n)));
161
161
  }, [lt]), dt = u((e, t, n) => {
162
162
  let r = Q.current;
163
163
  e !== r.currentHighlighted && c({
164
164
  controlled: r.highlightedValue,
165
165
  initial: r.currentHighlighted,
166
166
  onRequest: (e) => r.onHighlightedValueChange?.(e.value, e)
167
- }).request(e, t, n) && Ie(e);
167
+ }).request(e, t, n) && Fe(e);
168
168
  }, []), $ = u((e, t, n) => {
169
169
  let r = Q.current;
170
170
  e.length === r.currentSelection.length && e.every((e, t) => e === r.currentSelection[t]) || c({
171
171
  controlled: r.value,
172
- initial: ie(r.currentSelection, r.resolvedMultiple),
172
+ initial: re(r.currentSelection, r.resolvedMultiple),
173
173
  equals: () => !1,
174
174
  onRequest: (e) => r.onValueChange?.(e.value, e)
175
- }).request(ie(e, r.resolvedMultiple), t, n) && Pe(e);
175
+ }).request(re(e, r.resolvedMultiple), t, n) && Ne(e);
176
176
  }, []), ft = u((e, t, n) => {
177
177
  let r = Q.current;
178
178
  if (!r.resolvedMultiple) {
@@ -181,7 +181,7 @@ function se({ align: e, alignOffset: t, children: a, clearable: o, closeOnEscape
181
181
  }
182
182
  let i = r.currentSelection.includes(e);
183
183
  $(i ? r.currentSelection.filter((t) => t !== e) : [...r.currentSelection, e], t, n);
184
- }, [$]), pt = u((e, t) => $([], e, t), [$]), mt = u((e) => $(Me, "programmatic", e), [$, Me]);
184
+ }, [$]), pt = u((e, t) => $([], e, t), [$]), mt = u((e) => $(je, "programmatic", e), [$, je]);
185
185
  m(G, () => ({
186
186
  close: () => ut(!1, "programmatic"),
187
187
  focus: () => Q.current.triggerNode?.focus({ preventScroll: !0 }),
@@ -191,49 +191,49 @@ function se({ align: e, alignOffset: t, children: a, clearable: o, closeOnEscape
191
191
  },
192
192
  open: () => ut(!0, "programmatic"),
193
193
  scrollToKey: (e) => {
194
- let t = X?.querySelector(`[data-part='item'][data-value="${CSS.escape(e)}"]`);
195
- t != null && X !== null && A(t, X);
194
+ let t = Be?.querySelector(`[data-part='item'][data-value="${CSS.escape(e)}"]`);
195
+ t != null && Be !== null && A(t, Be);
196
196
  }
197
- }), [X, ut]);
197
+ }), [Be, ut]);
198
198
  let ht = {
199
- align: e ?? q.align,
200
- alignOffset: t ?? q.alignOffset,
199
+ align: e ?? J.align,
200
+ alignOffset: t ?? J.alignOffset,
201
201
  clear: pt,
202
- clearable: o ?? q.clearable,
203
- closeOnEscape: s ?? q.closeOnEscape,
204
- closeOnOutsidePress: l ?? q.closeOnOutsidePress,
205
- closeOnSelect: d ?? q.closeOnSelect,
206
- collisionPadding: f ?? q.collisionPadding,
207
- contentId: Ee,
208
- contentNode: X,
202
+ clearable: o ?? J.clearable,
203
+ closeOnEscape: s ?? J.closeOnEscape,
204
+ closeOnOutsidePress: l ?? J.closeOnOutsidePress,
205
+ closeOnSelect: d ?? J.closeOnSelect,
206
+ collisionPadding: f ?? J.collisionPadding,
207
+ contentId: Te,
208
+ contentNode: Be,
209
209
  disabled: Ge,
210
210
  entry: Qe,
211
- flip: w ?? q.flip,
211
+ flip: w ?? J.flip,
212
212
  form: T,
213
- fullWidth: te ?? q.fullWidth,
214
- hideWhenDetached: E ?? q.hideWhenDetached,
213
+ fullWidth: te ?? J.fullWidth,
214
+ hideWhenDetached: E ?? J.hideWhenDetached,
215
215
  highlighted: Ye,
216
- highlightMatch: k ?? q.highlightMatch,
217
- invalid: j ?? J?.invalid ?? q.invalid,
216
+ highlightMatch: ne ?? J.highlightMatch,
217
+ invalid: j ?? Y?.invalid ?? J.invalid,
218
218
  labelFor: it,
219
- listId: De,
220
- loading: N ?? q.loading,
221
- locale: Te,
222
- loop: L ?? q.loop,
219
+ listId: Ee,
220
+ loading: N ?? J.loading,
221
+ locale: we,
222
+ loop: L ?? J.loop,
223
223
  matches: ot,
224
- mount: se ?? q.mount,
224
+ mount: oe ?? J.mount,
225
225
  multiple: We,
226
226
  name: z,
227
227
  open: qe,
228
228
  optionId: st,
229
- portal: ce ?? q.portal,
229
+ portal: ce ?? J.portal,
230
230
  query: Z,
231
231
  readOnly: Ke,
232
232
  registerLabel: rt,
233
- required: ue ?? J?.required ?? q.required,
233
+ required: ue ?? Y?.required ?? J.required,
234
234
  restore: mt,
235
235
  search: Xe,
236
- searchId: Oe,
236
+ searchId: De,
237
237
  searchNode: He,
238
238
  seen: Ze.current,
239
239
  selection: Je,
@@ -242,21 +242,21 @@ function se({ align: e, alignOffset: t, children: a, clearable: o, closeOnEscape
242
242
  setOpen: ut,
243
243
  setQuery: lt,
244
244
  setSearchNode: Ue,
245
- setTriggerNode: Be,
246
- shift: fe ?? q.shift,
247
- side: pe ?? q.side,
248
- sideOffset: me ?? q.sideOffset,
249
- size: he ?? J?.size ?? q.size,
250
- strategy: ge ?? q.strategy,
251
- t: Ce,
245
+ setTriggerNode: ze,
246
+ shift: q ?? J.shift,
247
+ side: fe ?? J.side,
248
+ sideOffset: pe ?? J.sideOffset,
249
+ size: me ?? Y?.size ?? J.size,
250
+ strategy: he ?? J.strategy,
251
+ t: Se,
252
252
  toggle: ft,
253
- total: _e,
254
- triggerId: ke,
255
- triggerNode: ze,
256
- typeahead: Xe ? !1 : ve ?? q.typeahead,
257
- typeaheadTimeout: ye ?? q.typeaheadTimeout,
258
- variant: xe ?? q.variant,
259
- width: Se ?? q.width
253
+ total: ge,
254
+ triggerId: Oe,
255
+ triggerNode: Re,
256
+ typeahead: Xe ? !1 : _e ?? J.typeahead,
257
+ typeaheadTimeout: ve ?? J.typeaheadTimeout,
258
+ variant: be ?? J.variant,
259
+ width: xe ?? J.width
260
260
  };
261
261
  return /* @__PURE__ */ b(I.Provider, {
262
262
  value: ht,
@@ -265,9 +265,9 @@ function se({ align: e, alignOffset: t, children: a, clearable: o, closeOnEscape
265
265
  }
266
266
  //#endregion
267
267
  //#region src/select/select-collection.ts
268
- var R = "[data-part='item']";
268
+ var se = "[data-part='item']";
269
269
  function z(e) {
270
- return e === null ? [] : [...e.querySelectorAll(R)];
270
+ return e === null ? [] : [...e.querySelectorAll(se)];
271
271
  }
272
272
  var B = (e) => e.dataset.value ?? "", V = (e) => e.dataset.disabled === void 0, H = (e) => e.dataset.textValue ?? e.querySelector("[data-part='label']")?.textContent?.trim() ?? e.textContent?.trim() ?? "";
273
273
  function U(e) {
@@ -280,7 +280,7 @@ function U(e) {
280
280
  function W(e, t, n, r) {
281
281
  let i = z(e);
282
282
  if (i.length === 0) return null;
283
- let a = k({
283
+ let a = ne({
284
284
  enabled: i.map(V),
285
285
  from: t === null ? -1 : i.findIndex((e) => B(e) === t),
286
286
  intent: n,
@@ -313,42 +313,50 @@ function ue(e, t, n) {
313
313
  let r = s(document.body).filter((e) => t === null || !t.contains(e)), i = r.indexOf(e);
314
314
  ((i === -1 ? void 0 : r[i + (n ? -1 : 1)]) ?? e).focus({ preventScroll: !0 });
315
315
  }
316
- function de(e, t, n) {
317
- let r = (e.parentElement ?? e).getBoundingClientRect();
318
- return t >= r.left && t <= r.right && n >= r.top && n <= r.bottom;
319
- }
320
- function K(e, ...t) {
316
+ function de(e, ...t) {
321
317
  for (let n of t) typeof n == "function" ? n(e) : n != null && (n.current = e);
322
318
  }
323
- function fe({ children: n, ref: r, render: o, ...s }) {
319
+ function K({ children: n, ref: r, render: o, ...s }) {
324
320
  let c = L(), l = i(), d = l?.registerControl;
325
321
  f(() => d?.(), [d]);
326
- let [p, m] = v(null), [h, g] = v(null), [S, ee] = v(!1), C = _(null), w = _(null);
322
+ let [p, m] = v(null), [h, g] = v(null), S = _(!1);
323
+ f(() => {
324
+ if (h === null) return;
325
+ let e = h.ownerDocument, t = () => {
326
+ S.current = !1;
327
+ }, n = () => {
328
+ S.current = !0;
329
+ };
330
+ return e.addEventListener("pointerdown", t, !0), h.addEventListener("pointerdown", n), () => {
331
+ e.removeEventListener("pointerdown", t, !0), h.removeEventListener("pointerdown", n);
332
+ };
333
+ }, [h]);
334
+ let [ee, C] = v(!1), w = _(null), T = _(null);
327
335
  f(() => {
328
336
  c.setTriggerNode(p);
329
337
  }, [p, c]), f(() => {
330
338
  if (!c.typeahead) return;
331
339
  let e = te({ timeout: c.typeaheadTimeout });
332
- return w.current = e, () => {
333
- e.destroy(), w.current = null;
340
+ return T.current = e, () => {
341
+ e.destroy(), T.current = null;
334
342
  };
335
343
  }, [c.typeahead, c.typeaheadTimeout]), f(() => {
336
344
  if (!c.open || c.contentNode === null) return;
337
- let e = C.current;
338
- if (C.current = null, e === null || w.current === null) return;
339
- let { elements: t, labels: n } = U(c.contentNode), r = w.current.match(e, n, -1);
345
+ let e = w.current;
346
+ if (w.current = null, e === null || T.current === null) return;
347
+ let { elements: t, labels: n } = U(c.contentNode), r = T.current.match(e, n, -1);
340
348
  r !== -1 && c.setHighlighted(B(t[r]), "keyboard");
341
349
  }, [
342
350
  c,
343
351
  c.contentNode,
344
352
  c.open
345
353
  ]);
346
- let T = (e, t) => {
354
+ let D = (e, t) => {
347
355
  c.entry.current = e, c.setOpen(!0, "keyboard", t);
348
- }, D = (e, t) => {
356
+ }, O = (e, t) => {
349
357
  let n = W(c.contentNode, c.highlighted, e, c.loop);
350
358
  n !== null && c.setHighlighted(n, "keyboard", t);
351
- }, O = (e, t) => {
359
+ }, k = (e, t) => {
352
360
  if (c.highlighted === null) {
353
361
  t && c.setOpen(!1, "select", e);
354
362
  return;
@@ -360,78 +368,79 @@ function fe({ children: n, ref: r, render: o, ...s }) {
360
368
  if (!c.open) {
361
369
  switch (e.key) {
362
370
  case "ArrowDown":
363
- e.preventDefault(), T(t ? "none" : "selected", e.nativeEvent);
371
+ e.preventDefault(), D(t ? "none" : "selected", e.nativeEvent);
364
372
  return;
365
373
  case "ArrowUp":
366
- e.preventDefault(), T("last", e.nativeEvent);
374
+ e.preventDefault(), D("last", e.nativeEvent);
367
375
  return;
368
376
  case "Enter":
369
377
  case " ":
370
- e.preventDefault(), T("selected", e.nativeEvent);
378
+ e.preventDefault(), D("selected", e.nativeEvent);
371
379
  return;
372
380
  case "Home":
373
- e.preventDefault(), T("first", e.nativeEvent);
381
+ e.preventDefault(), D("first", e.nativeEvent);
374
382
  return;
375
383
  case "End":
376
- e.preventDefault(), T("last", e.nativeEvent);
384
+ e.preventDefault(), D("last", e.nativeEvent);
377
385
  return;
378
386
  }
379
387
  if (!e.ctrlKey && !e.metaKey && !t && E(e.key)) {
380
388
  if (c.search) {
381
- e.preventDefault(), c.setQuery(e.key, "keyboard", e.nativeEvent), T("first", e.nativeEvent);
389
+ e.preventDefault(), c.setQuery(e.key, "keyboard", e.nativeEvent), D("first", e.nativeEvent);
382
390
  return;
383
391
  }
384
- c.typeahead && (e.preventDefault(), C.current = e.key, T("none", e.nativeEvent));
392
+ c.typeahead && (e.preventDefault(), w.current = e.key, D("none", e.nativeEvent));
385
393
  }
386
394
  return;
387
395
  }
388
396
  switch (e.key) {
389
397
  case "ArrowDown":
390
- e.preventDefault(), D("next", e.nativeEvent);
398
+ e.preventDefault(), O("next", e.nativeEvent);
391
399
  return;
392
400
  case "ArrowUp":
393
- e.preventDefault(), t ? O(e.nativeEvent, !0) : D("previous", e.nativeEvent);
401
+ e.preventDefault(), t ? k(e.nativeEvent, !0) : O("previous", e.nativeEvent);
394
402
  return;
395
403
  case "Home":
396
- e.preventDefault(), D("first", e.nativeEvent);
404
+ e.preventDefault(), O("first", e.nativeEvent);
397
405
  return;
398
406
  case "End":
399
- e.preventDefault(), D("last", e.nativeEvent);
407
+ e.preventDefault(), O("last", e.nativeEvent);
400
408
  return;
401
409
  case "PageDown":
402
- e.preventDefault(), D("pageDown", e.nativeEvent);
410
+ e.preventDefault(), O("pageDown", e.nativeEvent);
403
411
  return;
404
412
  case "PageUp":
405
- e.preventDefault(), D("pageUp", e.nativeEvent);
413
+ e.preventDefault(), O("pageUp", e.nativeEvent);
406
414
  return;
407
415
  case "Enter":
408
- e.preventDefault(), O(e.nativeEvent, c.closeOnSelect);
416
+ e.preventDefault(), k(e.nativeEvent, c.closeOnSelect);
409
417
  return;
410
418
  case " ":
411
- e.preventDefault(), O(e.nativeEvent, !c.multiple && c.closeOnSelect);
419
+ e.preventDefault(), k(e.nativeEvent, !c.multiple && c.closeOnSelect);
412
420
  return;
413
421
  case "Escape":
414
422
  e.preventDefault(), c.setOpen(!1, "escape", e.nativeEvent);
415
423
  return;
416
424
  case "Tab":
417
- O(e.nativeEvent, !0);
425
+ k(e.nativeEvent, !0);
418
426
  return;
419
427
  }
420
- if (!c.typeahead || w.current === null || e.ctrlKey || e.metaKey || t || !E(e.key, w.current.query.length > 0)) return;
428
+ if (!c.typeahead || T.current === null || e.ctrlKey || e.metaKey || t || !E(e.key, T.current.query.length > 0)) return;
421
429
  e.preventDefault();
422
- let { elements: n, labels: r } = U(c.contentNode), i = n.findIndex((e) => B(e) === c.highlighted), a = w.current.match(e.key, r, i);
430
+ let { elements: n, labels: r } = U(c.contentNode), i = n.findIndex((e) => B(e) === c.highlighted), a = T.current.match(e.key, r, i);
423
431
  a !== -1 && c.setHighlighted(B(n[a]), "keyboard");
424
- }, k = (e) => {
425
- if (e.detail > 0 && !de(e.currentTarget, e.clientX, e.clientY)) {
432
+ }, A = (e) => {
433
+ let t = S.current;
434
+ if (S.current = !1, e.detail > 0 && !t) {
426
435
  e.currentTarget.focus({ preventScroll: !0 });
427
436
  return;
428
437
  }
429
438
  c.disabled || c.readOnly || (c.entry.current = "selected", c.setOpen(!c.open, "pointer", e.nativeEvent));
430
- }, A = (e) => {
439
+ }, j = (e) => {
431
440
  c.clear("clear", e.nativeEvent), p?.focus({ preventScroll: !0 });
432
- }, j = u((e) => {
433
- m(e), K(e, r);
434
- }, [r]), M = [s["aria-describedby"], l?.describedBy].filter(Boolean).join(" "), N = c.clearable && c.selection.length > 0 && !c.disabled && !c.readOnly, P = {
441
+ }, M = u((e) => {
442
+ m(e), de(e, r);
443
+ }, [r]), N = [s["aria-describedby"], l?.describedBy].filter(Boolean).join(" "), P = c.clearable && c.selection.length > 0 && !c.disabled && !c.readOnly, F = {
435
444
  "data-part": "root",
436
445
  "data-size": c.size,
437
446
  "data-ui": "select",
@@ -444,23 +453,23 @@ function fe({ children: n, ref: r, render: o, ...s }) {
444
453
  ...c.invalid ? { "data-invalid": "" } : {},
445
454
  ...c.required ? { "data-required": "" } : {},
446
455
  ...c.loading ? { "data-loading": "" } : {},
447
- ...S ? { "data-narrow": "" } : {}
448
- }, F = c.multiple && c.selection.length > 0 ? /* @__PURE__ */ b(a, {
456
+ ...ee ? { "data-narrow": "" } : {}
457
+ }, I = c.multiple && c.selection.length > 0 ? /* @__PURE__ */ b(a, {
449
458
  disabled: c.disabled || c.readOnly,
450
459
  frame: h,
451
460
  labelFor: c.labelFor,
452
- onNarrow: ee,
461
+ onNarrow: C,
453
462
  onRemove: (e, t) => {
454
463
  c.toggle(e, "select", t.nativeEvent), p?.focus({ preventScroll: !0 });
455
464
  },
456
465
  removeLabel: (e) => c.t("remove", { label: e }),
457
466
  values: c.selection
458
- }) : null, I = /* @__PURE__ */ x(y, { children: [
467
+ }) : null, R = /* @__PURE__ */ x(y, { children: [
459
468
  /* @__PURE__ */ b("button", {
460
469
  ...s,
461
470
  "aria-activedescendant": c.open && !c.search && c.highlighted !== null ? c.optionId(c.highlighted) : void 0,
462
471
  "aria-controls": c.open ? c.contentId : void 0,
463
- "aria-describedby": M === "" ? void 0 : M,
472
+ "aria-describedby": N === "" ? void 0 : N,
464
473
  "aria-expanded": c.open,
465
474
  "aria-haspopup": c.search ? "dialog" : "listbox",
466
475
  "aria-invalid": c.invalid ? !0 : void 0,
@@ -470,18 +479,18 @@ function fe({ children: n, ref: r, render: o, ...s }) {
470
479
  "data-part": "trigger",
471
480
  disabled: c.disabled,
472
481
  id: c.triggerId,
473
- onClick: G(s.onClick, k),
482
+ onClick: G(s.onClick, A),
474
483
  onKeyDown: G(s.onKeyDown, ne),
475
- ref: j,
484
+ ref: M,
476
485
  role: "combobox",
477
486
  type: "button",
478
487
  children: n
479
488
  }),
480
- F,
481
- N ? /* @__PURE__ */ b("button", {
489
+ I,
490
+ P ? /* @__PURE__ */ b("button", {
482
491
  "aria-label": c.t("clear"),
483
492
  "data-part": "clear",
484
- onClick: A,
493
+ onClick: j,
485
494
  type: "button",
486
495
  children: /* @__PURE__ */ b(t, { children: /* @__PURE__ */ b(e, { name: "x" }) })
487
496
  }) : null,
@@ -493,18 +502,18 @@ function fe({ children: n, ref: r, render: o, ...s }) {
493
502
  "data-part": "arrow",
494
503
  children: /* @__PURE__ */ b(t, { children: /* @__PURE__ */ b(e, { name: "chevron-down" }) })
495
504
  }),
496
- /* @__PURE__ */ b(pe, {})
505
+ /* @__PURE__ */ b(q, {})
497
506
  ] });
498
507
  return o === void 0 ? /* @__PURE__ */ b("div", {
499
- ...P,
508
+ ...F,
500
509
  ref: g,
501
- children: I
510
+ children: R
502
511
  }) : o({
503
- ...P,
504
- children: I
512
+ ...F,
513
+ children: R
505
514
  });
506
515
  }
507
- function pe() {
516
+ function q() {
508
517
  let e = L(), [t, n] = v(null), { restore: r } = e;
509
518
  return f(() => {
510
519
  let e = t?.form;
@@ -543,7 +552,7 @@ function pe() {
543
552
  }, t))]
544
553
  });
545
554
  }
546
- function me({ children: e, placeholder: t, ...n }) {
555
+ function fe({ children: e, placeholder: t, ...n }) {
547
556
  let r = L(), i = r.selection.map((e) => r.labelFor(e)), a = i.filter((e) => e !== void 0), o = r.selection.length > 0 && a.length < r.selection.length, s = (() => {
548
557
  if (e !== void 0) return e(r.selection, a);
549
558
  if (r.selection.length === 0) return t;
@@ -561,7 +570,7 @@ function me({ children: e, placeholder: t, ...n }) {
561
570
  children: s
562
571
  });
563
572
  }
564
- function he({ icon: n, ref: r, render: i, ...a }) {
573
+ function pe({ icon: n, ref: r, render: i, ...a }) {
565
574
  let o = L(), s = (e, t) => {
566
575
  let n = W(o.contentNode, o.highlighted, e, o.loop);
567
576
  n !== null && o.setHighlighted(n, "keyboard", t);
@@ -614,7 +623,7 @@ function he({ icon: n, ref: r, render: i, ...a }) {
614
623
  onKeyDown: G(a.onKeyDown, l),
615
624
  placeholder: a.placeholder ?? o.t("searchPlaceholder"),
616
625
  ref: (e) => {
617
- o.setSearchNode(e), K(e, r);
626
+ o.setSearchNode(e), de(e, r);
618
627
  },
619
628
  role: "combobox",
620
629
  spellCheck: !1,
@@ -629,66 +638,96 @@ function he({ icon: n, ref: r, render: i, ...a }) {
629
638
  children: d
630
639
  });
631
640
  }
632
- function ge({ children: e, empty: t, ref: n, render: r, searchProps: i, status: a, ...o }) {
633
- let s = L(), [c, l] = v(null), [u, d] = v(null), [p, m] = v(null), [g, C] = v("unmounted"), [te, E] = v(!1), [O, ne] = v(0), k = _(null), A = _(s);
634
- A.current = s, f(() => {
641
+ function me({ children: e, empty: t, ref: n, render: r, searchProps: i, status: a, ...o }) {
642
+ let s = L(), [c, l] = v(null), [d, p] = v(null), [m, g] = v(null), [C, te] = v("unmounted"), [E, O] = v(!1), [k, ne] = v(0), A = _(null), j = _(s);
643
+ j.current = s, f(() => {
635
644
  let e = S({
636
- present: A.current.open,
637
- onStatusChange: C
645
+ present: j.current.open,
646
+ onStatusChange: te
638
647
  });
639
- return k.current = e, C(e.status), () => {
640
- e.destroy(), k.current = null;
648
+ return A.current = e, te(e.status), () => {
649
+ e.destroy(), A.current = null;
641
650
  };
642
- }, []), f(() => k.current?.sync(s.open), [s.open]), f(() => k.current?.setNode(c), [c]), f(() => s.setContentNode(u), [s, u]);
643
- let j = s.mount === "eager" || s.mount === "lazy" && s.seen || g !== "unmounted";
651
+ }, []), f(() => A.current?.sync(s.open), [s.open]), f(() => A.current?.setNode(c), [c]), f(() => s.setContentNode(d), [s, d]);
652
+ let M = s.mount === "eager" || s.mount === "lazy" && s.seen || s.open || C !== "unmounted";
644
653
  f(() => {
645
- if (!j) {
646
- m(null);
654
+ let e = s.triggerNode;
655
+ if (e === null || E) return;
656
+ let t = () => O(!0);
657
+ return e.addEventListener("focusin", t), e.addEventListener("pointerdown", t), () => {
658
+ e.removeEventListener("focusin", t), e.removeEventListener("pointerdown", t);
659
+ };
660
+ }, [s.triggerNode, E]);
661
+ let N = M || E;
662
+ h(() => {
663
+ if (!N) {
664
+ g(null);
647
665
  return;
648
666
  }
649
667
  let e = ee({
650
668
  origin: s.triggerNode,
651
669
  disabled: !s.portal
652
670
  });
653
- return m(e.container), () => e.release();
671
+ return g(e.container), () => e.release();
654
672
  }, [
655
- j,
673
+ N,
656
674
  s.portal,
657
675
  s.triggerNode
658
676
  ]);
659
- let { align: M, alignOffset: N, collisionPadding: P, flip: F, hideWhenDetached: I, shift: re, side: ie, sideOffset: ae, strategy: oe, width: se } = s;
660
- f(() => {
677
+ let { align: P, alignOffset: F, collisionPadding: I, flip: R, hideWhenDetached: re, shift: ie, side: ae, sideOffset: oe, strategy: se, width: B } = s, V = _(null), H = _(0), U = u((e, t) => {
678
+ e.update().then(() => {
679
+ if (V.current !== e || !j.current.open) return;
680
+ t.setAttribute("data-open", "");
681
+ let n = t.ownerDocument.defaultView;
682
+ n !== null && H.current === 0 && (H.current = n.requestAnimationFrame(() => {
683
+ H.current = 0, le(j.current.contentNode, j.current.highlighted);
684
+ }));
685
+ });
686
+ }, []);
687
+ h(() => {
661
688
  if (c === null || s.triggerNode === null) return;
662
- let e = !0, t = s.triggerNode.closest("[data-part='root']") ?? s.triggerNode, n = T(t, c, {
663
- align: M,
664
- alignOffset: N,
665
- boundaryPadding: P,
666
- flip: F,
667
- hideWhenDetached: I,
668
- matchWidth: se === "anchor",
669
- shift: re,
670
- side: ie,
671
- sideOffset: ae,
672
- strategy: oe
689
+ let e = s.triggerNode.closest("[data-part='root']") ?? s.triggerNode, t = T(e, c, {
690
+ align: P,
691
+ alignOffset: F,
692
+ boundaryPadding: I,
693
+ flip: R,
694
+ hideWhenDetached: re,
695
+ matchWidth: B === "anchor",
696
+ shift: ie,
697
+ side: ae,
698
+ sideOffset: oe,
699
+ strategy: se
673
700
  });
674
- return n.update().then(() => {
675
- e && E(!0);
676
- }), () => {
677
- e = !1, n.destroy(), E(!1);
701
+ return V.current = t, j.current.open && U(t, c), () => {
702
+ t.destroy(), V.current = null, c.removeAttribute("data-open");
678
703
  };
679
704
  }, [
680
- M,
681
- N,
682
705
  P,
683
706
  F,
684
707
  I,
708
+ R,
709
+ re,
685
710
  c,
686
711
  s.triggerNode,
687
- re,
688
712
  ie,
689
713
  ae,
690
714
  oe,
691
- se
715
+ se,
716
+ B,
717
+ U
718
+ ]), h(() => {
719
+ let e = V.current;
720
+ if (e !== null && c !== null) {
721
+ if (s.open) {
722
+ U(e, c);
723
+ return;
724
+ }
725
+ c.removeAttribute("data-open"), H.current !== 0 && (c.ownerDocument.defaultView?.cancelAnimationFrame(H.current), H.current = 0);
726
+ }
727
+ }, [
728
+ c,
729
+ U,
730
+ s.open
692
731
  ]), f(() => {
693
732
  if (c === null || !s.open) return;
694
733
  let e = [s.triggerNode].filter((e) => e !== null), t = w(c, {
@@ -699,7 +738,7 @@ function ge({ children: e, empty: t, ref: n, render: r, searchProps: i, status:
699
738
  outsidePress: s.closeOnOutsidePress,
700
739
  scrollLock: !1,
701
740
  onDismiss: (e) => {
702
- let t = A.current;
741
+ let t = j.current;
703
742
  if (e.reason === "escape" && t.search && t.query !== "") {
704
743
  t.setQuery("", "clear", e.source);
705
744
  return;
@@ -715,60 +754,59 @@ function ge({ children: e, empty: t, ref: n, render: r, searchProps: i, status:
715
754
  s.open,
716
755
  s.triggerNode
717
756
  ]), h(() => {
718
- let e = A.current;
719
- if (!e.open || u === null || e.entry.current === "none") return;
720
- let t = ce(u, e.selection, e.entry.current, e.loop);
757
+ let e = j.current;
758
+ if (!e.open || d === null || e.entry.current === "none") return;
759
+ let t = ce(d, e.selection, e.entry.current, e.loop);
721
760
  t !== null && e.setHighlighted(t, "keyboard");
722
- }, [s.open, u]), h(() => {
723
- let e = z(u).length;
761
+ }, [s.open, d]), h(() => {
762
+ let e = z(d).length;
724
763
  ne((t) => t === e ? t : e);
725
764
  }), f(() => {
726
- le(u, s.highlighted);
765
+ c?.hasAttribute("data-open") === !0 && le(d, s.highlighted);
727
766
  }, [
728
- te,
767
+ c,
729
768
  s.highlighted,
730
- u
769
+ d
731
770
  ]);
732
- let R = s.searchNode;
771
+ let G = s.searchNode;
733
772
  f(() => {
734
- s.open && s.search && R !== null && R.focus({ preventScroll: !0 });
773
+ s.open && s.search && G !== null && G.focus({ preventScroll: !0 });
735
774
  }, [
736
- R,
775
+ G,
737
776
  s.open,
738
777
  s.search
739
778
  ]);
740
- let B = _(s.query);
779
+ let ue = _(s.query);
741
780
  f(() => {
742
- s.open && s.search && u !== null && B.current !== s.query && (B.current = s.query, A.current.setHighlighted(W(u, null, "first", !1), "keyboard"));
781
+ s.open && s.search && d !== null && ue.current !== s.query && (ue.current = s.query, j.current.setHighlighted(W(d, null, "first", !1), "keyboard"));
743
782
  }, [
744
- O,
783
+ k,
745
784
  s.open,
746
785
  s.query,
747
786
  s.search,
748
- u
787
+ d
749
788
  ]);
750
- let V = s.selection.filter((e) => s.labelFor(e) === void 0).join("\0"), [H, U] = v(null), G = _(null);
789
+ let K = s.selection.filter((e) => s.labelFor(e) === void 0).join("\0"), [q, fe] = v(null), me = _(null);
751
790
  if (f(() => {
752
- if (H !== null) {
753
- U(null);
791
+ if (q !== null) {
792
+ fe(null);
754
793
  return;
755
794
  }
756
- j || V === "" || G.current === V || (G.current = V, U((s.triggerNode?.ownerDocument ?? document).createDocumentFragment()));
795
+ M || K === "" || me.current === K || (me.current = K, fe((s.triggerNode?.ownerDocument ?? document).createDocumentFragment()));
757
796
  }, [
758
- H,
759
- j,
797
+ q,
798
+ M,
760
799
  s.triggerNode,
761
- V
762
- ]), !j) return H === null ? null : D(e, H);
763
- let ue = {
764
- "data-align": M,
800
+ K
801
+ ]), !M) return q === null ? null : D(e, q);
802
+ let he = {
803
+ "data-align": P,
765
804
  ...s.open ? {} : { inert: !0 },
766
- ...s.open && te ? { "data-open": "" } : {},
767
805
  "data-part": "positioner",
768
806
  "data-size": s.size,
769
807
  "data-ui": "select",
770
808
  "data-width": s.width
771
- }, de = a === void 0 ? s.loading ? s.t("loading") : !s.search || O === 0 ? null : s.t("count", { count: O }) : a, fe = s.multiple && s.selection.length > 0 ? /* @__PURE__ */ b("div", {
809
+ }, ge = a === void 0 ? s.loading ? s.t("loading") : !s.search || k === 0 ? null : s.t("count", { count: k }) : a, _e = s.multiple && s.selection.length > 0 ? /* @__PURE__ */ b("div", {
772
810
  "aria-hidden": "true",
773
811
  "data-part": "chosen",
774
812
  children: s.selection.map((e) => /* @__PURE__ */ b("span", {
@@ -784,8 +822,8 @@ function ge({ children: e, empty: t, ref: n, render: r, searchProps: i, status:
784
822
  })
785
823
  })
786
824
  }, String(e)))
787
- }) : null, pe = /* @__PURE__ */ x(y, { children: [
788
- fe,
825
+ }) : null, ve = /* @__PURE__ */ x(y, { children: [
826
+ _e,
789
827
  e,
790
828
  s.loading ? /* @__PURE__ */ b("div", {
791
829
  "aria-hidden": "true",
@@ -801,7 +839,7 @@ function ge({ children: e, empty: t, ref: n, render: r, searchProps: i, status:
801
839
  "data-loading": ""
802
840
  }) }, e))
803
841
  }) : null,
804
- !s.loading && O === 0 ? /* @__PURE__ */ b("div", {
842
+ !s.loading && k === 0 ? /* @__PURE__ */ b("div", {
805
843
  "data-part": "empty",
806
844
  children: t ?? s.t("empty")
807
845
  }) : null,
@@ -810,44 +848,44 @@ function ge({ children: e, empty: t, ref: n, render: r, searchProps: i, status:
810
848
  "data-part": "status",
811
849
  ...s.loading ? { "data-loading": "" } : {},
812
850
  role: "status",
813
- children: de
851
+ children: ge
814
852
  }) : null
815
- ] }), me = {
853
+ ] }), ye = {
816
854
  "aria-busy": s.loading ? !0 : void 0,
817
855
  "aria-multiselectable": s.multiple ? !0 : void 0
818
- }, ge = /* @__PURE__ */ b("div", {
819
- ...ue,
856
+ }, be = /* @__PURE__ */ b("div", {
857
+ ...he,
820
858
  ref: (e) => {
821
- l(e), K(e, n);
859
+ l(e), de(e, n);
822
860
  },
823
861
  children: /* @__PURE__ */ b("div", {
824
862
  ...o,
825
- ...s.search ? {} : me,
863
+ ...s.search ? {} : ye,
826
864
  "aria-labelledby": o["aria-label"] === void 0 ? s.triggerId : void 0,
827
865
  "data-loading": s.loading ? "" : void 0,
828
866
  "data-part": "content",
829
867
  ...s.search ? { "data-search": "" } : {},
830
868
  id: s.contentId,
831
- ref: d,
869
+ ref: p,
832
870
  role: s.search ? "dialog" : "listbox",
833
- children: s.search ? /* @__PURE__ */ x(y, { children: [/* @__PURE__ */ b(he, { ...i }), /* @__PURE__ */ b("div", {
834
- ...me,
871
+ children: s.search ? /* @__PURE__ */ x(y, { children: [/* @__PURE__ */ b(pe, { ...i }), /* @__PURE__ */ b("div", {
872
+ ...ye,
835
873
  "aria-labelledby": s.triggerId,
836
874
  "data-part": "list",
837
875
  id: s.listId,
838
876
  role: "listbox",
839
- children: pe
840
- })] }) : pe
877
+ children: ve
878
+ })] }) : ve
841
879
  })
842
- }), _e = r === void 0 ? ge : r({
843
- ...ue,
880
+ }), xe = r === void 0 ? be : r({
881
+ ...he,
844
882
  children: e
845
883
  });
846
- return p === null ? _e : D(_e, p);
884
+ return m === null ? xe : D(xe, m);
847
885
  }
848
886
  //#endregion
849
887
  //#region src/select/select-items.tsx
850
- function _e({ children: n, description: r, disabled: i = !1, icon: a, position: s, ref: c, textValue: l, value: u, ...d }) {
888
+ function he({ children: n, description: r, disabled: i = !1, icon: a, position: s, ref: c, textValue: l, value: u, ...d }) {
851
889
  let p = L(), m = _(null), h = _(null);
852
890
  f(() => {
853
891
  if (m.current === null) return;
@@ -928,7 +966,7 @@ function _e({ children: n, description: r, disabled: i = !1, icon: a, position:
928
966
  ]
929
967
  });
930
968
  }
931
- function ve({ children: e, label: t, ...n }) {
969
+ function ge({ children: e, label: t, ...n }) {
932
970
  let r = `${p()}group`, { query: i } = L(), [a, o] = v(null), [s, c] = v(!1);
933
971
  return f(() => {
934
972
  a !== null && c(a.querySelector("[data-part='item']") === null);
@@ -946,7 +984,7 @@ function ve({ children: e, label: t, ...n }) {
946
984
  }), e]
947
985
  });
948
986
  }
949
- function ye(e) {
987
+ function _e(e) {
950
988
  return /* @__PURE__ */ b("div", {
951
989
  "data-part": "separator",
952
990
  ref: e.ref,
@@ -954,4 +992,4 @@ function ye(e) {
954
992
  });
955
993
  }
956
994
  //#endregion
957
- export { he as a, se as c, F as d, P as f, ge as i, L as l, _e as n, fe as o, ye as r, me as s, ve as t, M as u };
995
+ export { pe as a, oe as c, F as d, P as f, me as i, L as l, he as n, K as o, _e as r, fe as s, ge as t, M as u };