@editora/ui-core 0.1.19 → 0.1.20

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 (299) hide show
  1. package/dist/{ElementBase-1b301e7f.js → ElementBase-EV6mVBUV.js} +1 -1
  2. package/dist/{ElementBase-909688f3.mjs → ElementBase-YlTLMsGk.mjs} +3 -3
  3. package/dist/accordion.cjs.js +3 -3
  4. package/dist/accordion.esm.js +39 -62
  5. package/dist/alert-dialog.cjs.js +19 -19
  6. package/dist/alert-dialog.esm.js +69 -87
  7. package/dist/alert.cjs.js +1 -1
  8. package/dist/alert.esm.js +4 -7
  9. package/dist/anchor.cjs.js +2 -2
  10. package/dist/anchor.esm.js +3 -3
  11. package/dist/animated-beam.cjs.js +83 -83
  12. package/dist/animated-beam.esm.js +250 -277
  13. package/dist/animated-list.cjs.js +4 -4
  14. package/dist/animated-list.esm.js +47 -61
  15. package/dist/animated-text.cjs.js +2 -2
  16. package/dist/animated-text.esm.js +13 -24
  17. package/dist/app-header.cjs.js +3 -3
  18. package/dist/app-header.esm.js +11 -13
  19. package/dist/aspect-ratio.cjs.js +1 -1
  20. package/dist/aspect-ratio.esm.js +4 -7
  21. package/dist/avatar.cjs.js +1 -1
  22. package/dist/avatar.esm.js +7 -13
  23. package/dist/badge.cjs.js +1 -1
  24. package/dist/badge.esm.js +4 -7
  25. package/dist/block-controls.cjs.js +2 -2
  26. package/dist/block-controls.esm.js +19 -35
  27. package/dist/box.cjs.js +1 -1
  28. package/dist/box.esm.js +8 -15
  29. package/dist/breadcrumb.cjs.js +2 -2
  30. package/dist/breadcrumb.esm.js +20 -37
  31. package/dist/button.cjs.js +1 -521
  32. package/dist/button.esm.js +2 -671
  33. package/dist/{calendar-2c11b824.mjs → calendar-DLY4acgn.mjs} +293 -342
  34. package/dist/{calendar-a8735e40.js → calendar-Dkof-FTK.js} +25 -25
  35. package/dist/calendar.cjs.js +1 -1
  36. package/dist/calendar.esm.js +8 -9
  37. package/dist/card.cjs.js +4 -4
  38. package/dist/card.esm.js +13 -19
  39. package/dist/chart.cjs.js +64 -64
  40. package/dist/chart.esm.js +223 -254
  41. package/dist/checkbox.cjs.js +1 -1
  42. package/dist/checkbox.esm.js +2 -3
  43. package/dist/collapsible.cjs.js +1 -1
  44. package/dist/collapsible.esm.js +5 -9
  45. package/dist/{collection-a1aac0c6.mjs → collection-C7URGjEI.mjs} +8 -14
  46. package/dist/collection.cjs.js +1 -1
  47. package/dist/collection.esm.js +4 -7
  48. package/dist/color-picker.cjs.js +9 -9
  49. package/dist/color-picker.esm.js +189 -252
  50. package/dist/combobox.cjs.js +13 -13
  51. package/dist/combobox.esm.js +93 -126
  52. package/dist/command-palette.cjs.js +3 -3
  53. package/dist/command-palette.esm.js +19 -30
  54. package/dist/command.cjs.js +4 -4
  55. package/dist/command.esm.js +41 -53
  56. package/dist/components/ui-orbiter.d.ts.map +1 -1
  57. package/dist/components/ui-skeleton.d.ts.map +1 -1
  58. package/dist/components/ui-split-button.d.ts +1 -0
  59. package/dist/components/ui-split-button.d.ts.map +1 -1
  60. package/dist/components/ui-time-picker.d.ts.map +1 -1
  61. package/dist/container.cjs.js +2 -2
  62. package/dist/container.esm.js +2 -3
  63. package/dist/context-menu.cjs.js +8 -8
  64. package/dist/context-menu.esm.js +157 -219
  65. package/dist/control-group.cjs.js +1 -1
  66. package/dist/control-group.esm.js +2 -3
  67. package/dist/data-table.cjs.js +4 -4
  68. package/dist/data-table.esm.js +299 -381
  69. package/dist/date-field.cjs.js +3 -3
  70. package/dist/date-field.esm.js +68 -80
  71. package/dist/date-picker.cjs.js +9 -9
  72. package/dist/date-picker.esm.js +69 -97
  73. package/dist/date-range-picker.cjs.js +3 -3
  74. package/dist/date-range-picker.esm.js +32 -56
  75. package/dist/date-range-time-picker.cjs.js +9 -9
  76. package/dist/date-range-time-picker.esm.js +111 -140
  77. package/dist/date-time-picker.cjs.js +4 -4
  78. package/dist/date-time-picker.esm.js +112 -144
  79. package/dist/date-time-utils-Dmost5Ee.js +1 -0
  80. package/dist/date-time-utils-y1N2gvG2.mjs +268 -0
  81. package/dist/description.cjs.js +1 -1
  82. package/dist/description.esm.js +3 -5
  83. package/dist/dialog.cjs.js +12 -12
  84. package/dist/dialog.esm.js +44 -63
  85. package/dist/direction-provider.cjs.js +1 -1
  86. package/dist/direction-provider.esm.js +2 -3
  87. package/dist/{dismissable-layer-9c7e6b58.mjs → dismissable-layer-BmPIoK80.mjs} +29 -33
  88. package/dist/dismissable-layer-DNfrKA20.js +1 -0
  89. package/dist/dismissable-layer.cjs.js +2 -2
  90. package/dist/dismissable-layer.esm.js +4 -6
  91. package/dist/dock.cjs.js +5 -5
  92. package/dist/dock.esm.js +134 -155
  93. package/dist/drawer.cjs.js +2 -2
  94. package/dist/drawer.esm.js +18 -35
  95. package/dist/dropdown.cjs.js +2 -2
  96. package/dist/dropdown.esm.js +119 -149
  97. package/dist/dropzone.cjs.js +1 -1
  98. package/dist/dropzone.esm.js +0 -1
  99. package/dist/empty-state.cjs.js +1 -1
  100. package/dist/empty-state.esm.js +1 -1
  101. package/dist/field-error.cjs.js +1 -1
  102. package/dist/field-error.esm.js +3 -5
  103. package/dist/field.cjs.js +5 -5
  104. package/dist/field.esm.js +27 -34
  105. package/dist/fieldset.cjs.js +4 -4
  106. package/dist/fieldset.esm.js +19 -24
  107. package/dist/file-upload.cjs.js +4 -4
  108. package/dist/file-upload.esm.js +69 -93
  109. package/dist/flex.cjs.js +1 -1
  110. package/dist/flex.esm.js +5 -9
  111. package/dist/floating-toolbar.cjs.js +4 -4
  112. package/dist/floating-toolbar.esm.js +60 -85
  113. package/dist/focus-scope-Bwug2gDv.js +1 -0
  114. package/dist/{focus-scope-103833ee.mjs → focus-scope-CmEsG5UZ.mjs} +39 -48
  115. package/dist/focus-scope.cjs.js +2 -2
  116. package/dist/focus-scope.esm.js +15 -20
  117. package/dist/form.cjs.js +2 -2
  118. package/dist/form.esm.js +26 -53
  119. package/dist/gantt.cjs.js +43 -43
  120. package/dist/gantt.esm.js +295 -322
  121. package/dist/grid.cjs.js +1 -1
  122. package/dist/grid.esm.js +5 -9
  123. package/dist/hover-card.cjs.js +4 -4
  124. package/dist/hover-card.esm.js +22 -28
  125. package/dist/icon-cloud.cjs.js +7 -7
  126. package/dist/icon-cloud.esm.js +48 -62
  127. package/dist/icon.cjs.js +1 -1
  128. package/dist/icon.esm.js +2 -4
  129. package/dist/index.cjs.js +1 -1
  130. package/dist/index.esm.js +378 -390
  131. package/dist/inline-edit.cjs.js +11 -11
  132. package/dist/inline-edit.esm.js +32 -36
  133. package/dist/input.cjs.js +17 -17
  134. package/dist/input.esm.js +50 -63
  135. package/dist/label.cjs.js +2 -2
  136. package/dist/label.esm.js +8 -17
  137. package/dist/layout.cjs.js +2 -2
  138. package/dist/layout.esm.js +20 -26
  139. package/dist/listbox-B6QgECax.js +46 -0
  140. package/dist/listbox-DJamVeFj.mjs +200 -0
  141. package/dist/listbox.cjs.js +1 -1
  142. package/dist/listbox.esm.js +2 -4
  143. package/dist/marquee.cjs.js +5 -5
  144. package/dist/marquee.esm.js +33 -50
  145. package/dist/masonry-grid.cjs.js +1 -1
  146. package/dist/masonry-grid.esm.js +5 -9
  147. package/dist/menu.cjs.js +3 -3
  148. package/dist/menu.esm.js +106 -126
  149. package/dist/menubar.cjs.js +5 -5
  150. package/dist/menubar.esm.js +118 -164
  151. package/dist/meter.cjs.js +2 -2
  152. package/dist/meter.esm.js +4 -4
  153. package/dist/multi-select.cjs.js +4 -4
  154. package/dist/multi-select.esm.js +120 -140
  155. package/dist/navigation-menu.cjs.js +4 -4
  156. package/dist/navigation-menu.esm.js +44 -55
  157. package/dist/number-field.cjs.js +2 -2
  158. package/dist/number-field.esm.js +73 -98
  159. package/dist/number-ticker.cjs.js +3 -3
  160. package/dist/number-ticker.esm.js +22 -43
  161. package/dist/odometer.cjs.js +1 -1
  162. package/dist/odometer.esm.js +5 -9
  163. package/dist/orbiter.cjs.js +13 -13
  164. package/dist/orbiter.esm.js +79 -90
  165. package/dist/{overlayManager-5bbd4dc3.mjs → overlayManager-BJjU1VA8.mjs} +4 -5
  166. package/dist/{overlayManager-0eda4e08.js → overlayManager-CSy3fJmJ.js} +1 -1
  167. package/dist/pagination.cjs.js +2 -2
  168. package/dist/pagination.esm.js +14 -18
  169. package/dist/{panel-group-a376cc5e.mjs → panel-group-8sVNnGxg.mjs} +24 -46
  170. package/dist/panel-group-CaD0_KQf.js +36 -0
  171. package/dist/panel-group.cjs.js +1 -1
  172. package/dist/panel-group.esm.js +2 -5
  173. package/dist/panel.cjs.js +4 -4
  174. package/dist/panel.esm.js +8 -10
  175. package/dist/password-field.cjs.js +9 -9
  176. package/dist/password-field.esm.js +62 -82
  177. package/dist/pin-input.cjs.js +3 -3
  178. package/dist/pin-input.esm.js +33 -39
  179. package/dist/placement-grid.cjs.js +4 -4
  180. package/dist/placement-grid.esm.js +108 -131
  181. package/dist/plugin-panel.cjs.js +7 -7
  182. package/dist/plugin-panel.esm.js +13 -15
  183. package/dist/popover.cjs.js +2 -2
  184. package/dist/popover.esm.js +21 -31
  185. package/dist/portal-DgpQ3Jo1.js +1 -0
  186. package/dist/{portal-fe73e5cc.mjs → portal-bR42gHvG.mjs} +43 -48
  187. package/dist/portal.cjs.js +2 -2
  188. package/dist/portal.esm.js +10 -19
  189. package/dist/{positioner-e9770c66.mjs → positioner-D0VGxtYU.mjs} +189 -209
  190. package/dist/positioner-D_fqyx_j.js +1 -0
  191. package/dist/positioner.cjs.js +2 -2
  192. package/dist/positioner.esm.js +11 -18
  193. package/dist/presence.cjs.js +1 -1
  194. package/dist/presence.esm.js +7 -13
  195. package/dist/progress.cjs.js +1 -1
  196. package/dist/progress.esm.js +5 -9
  197. package/dist/quick-actions.cjs.js +6 -6
  198. package/dist/quick-actions.esm.js +52 -62
  199. package/dist/radio-group.cjs.js +13 -13
  200. package/dist/radio-group.esm.js +39 -51
  201. package/dist/radio.cjs.js +1 -1
  202. package/dist/radio.esm.js +5 -9
  203. package/dist/rating.cjs.js +1 -1
  204. package/dist/rating.esm.js +12 -23
  205. package/dist/{roving-focus-group-4350c9a7.mjs → roving-focus-group-Dbm1Jko_.mjs} +3 -6
  206. package/dist/roving-focus-group.cjs.js +1 -1
  207. package/dist/roving-focus-group.esm.js +3 -5
  208. package/dist/runtime-CTaOSmBj.js +1 -0
  209. package/dist/{runtime-161f68a2.mjs → runtime-D1gFh1fS.mjs} +338 -366
  210. package/dist/runtime.cjs.js +1 -1
  211. package/dist/runtime.esm.js +6 -6
  212. package/dist/scroll-area.cjs.js +3 -3
  213. package/dist/scroll-area.esm.js +38 -46
  214. package/dist/{scroll-lock-31da444f.mjs → scroll-lock-LfqXXqsu.mjs} +5 -9
  215. package/dist/section.cjs.js +1 -1
  216. package/dist/section.esm.js +1 -1
  217. package/dist/select.cjs.js +7 -7
  218. package/dist/select.esm.js +67 -97
  219. package/dist/selection-popup.cjs.js +1 -1
  220. package/dist/selection-popup.esm.js +8 -15
  221. package/dist/separator.cjs.js +1 -1
  222. package/dist/separator.esm.js +1 -1
  223. package/dist/sidebar.cjs.js +18 -18
  224. package/dist/sidebar.esm.js +117 -139
  225. package/dist/skeleton.cjs.js +11 -11
  226. package/dist/skeleton.esm.js +27 -24
  227. package/dist/slider.cjs.js +1 -1
  228. package/dist/slider.esm.js +6 -11
  229. package/dist/slot.cjs.js +4 -4
  230. package/dist/slot.esm.js +16 -19
  231. package/dist/sortable.cjs.js +45 -45
  232. package/dist/sortable.esm.js +421 -524
  233. package/dist/spinning-text.cjs.js +12 -12
  234. package/dist/spinning-text.esm.js +80 -92
  235. package/dist/split-button.cjs.js +4 -4
  236. package/dist/split-button.esm.js +77 -62
  237. package/dist/splitter.cjs.js +1 -1
  238. package/dist/splitter.esm.js +1 -1
  239. package/dist/stepper.cjs.js +8 -8
  240. package/dist/stepper.esm.js +32 -52
  241. package/dist/switch.cjs.js +7 -7
  242. package/dist/switch.esm.js +23 -31
  243. package/dist/table.cjs.js +2 -2
  244. package/dist/table.esm.js +46 -56
  245. package/dist/tabs.cjs.js +3 -3
  246. package/dist/tabs.esm.js +35 -55
  247. package/dist/tags-input.cjs.js +4 -4
  248. package/dist/tags-input.esm.js +45 -62
  249. package/dist/textarea.cjs.js +6 -6
  250. package/dist/textarea.esm.js +32 -41
  251. package/dist/time-field.cjs.js +4 -4
  252. package/dist/time-field.esm.js +70 -84
  253. package/dist/time-picker.cjs.js +22 -22
  254. package/dist/time-picker.esm.js +88 -110
  255. package/dist/timeline.cjs.js +1 -1
  256. package/dist/timeline.esm.js +3 -5
  257. package/dist/toast.cjs.js +2 -2
  258. package/dist/toast.esm.js +33 -47
  259. package/dist/toggle-group.cjs.js +6 -6
  260. package/dist/toggle-group.esm.js +85 -105
  261. package/dist/toggle.cjs.js +1 -1
  262. package/dist/toggle.esm.js +3 -5
  263. package/dist/toolbar.cjs.js +1 -1
  264. package/dist/toolbar.esm.js +13 -24
  265. package/dist/tooltip.cjs.js +2 -2
  266. package/dist/tooltip.esm.js +31 -42
  267. package/dist/transfer-list.cjs.js +19 -19
  268. package/dist/transfer-list.esm.js +98 -111
  269. package/dist/{tree-dcd74a4a.mjs → tree-B3kE8ESs.mjs} +55 -62
  270. package/dist/tree-Dx_kv_ih.js +39 -0
  271. package/dist/tree-item.cjs.js +2 -2
  272. package/dist/tree-item.esm.js +2 -3
  273. package/dist/tree.cjs.js +1 -1
  274. package/dist/tree.esm.js +2 -5
  275. package/dist/ui-button-Q0GNNWKC.mjs +665 -0
  276. package/dist/ui-button-rXQOS9QJ.js +521 -0
  277. package/dist/{icon-9e9da03b.js → ui-icon-BzVNC_lr.js} +4 -4
  278. package/dist/{icon-e2a85cc1.mjs → ui-icon-YI6lyuqU.mjs} +58 -65
  279. package/dist/visually-hidden.cjs.js +1 -1
  280. package/dist/visually-hidden.esm.js +1 -1
  281. package/dist/wizard.cjs.js +14 -14
  282. package/dist/wizard.esm.js +85 -105
  283. package/package.json +2 -2
  284. package/dist/date-time-utils-66480de4.js +0 -1
  285. package/dist/date-time-utils-a2c7af25.mjs +0 -307
  286. package/dist/dismissable-layer-193e3bed.js +0 -1
  287. package/dist/focus-scope-2b12b4e7.js +0 -1
  288. package/dist/listbox-308789a0.mjs +0 -210
  289. package/dist/listbox-ef2f708e.js +0 -46
  290. package/dist/panel-group-40254cdd.js +0 -36
  291. package/dist/portal-c69756c0.js +0 -1
  292. package/dist/positioner-33529bb8.js +0 -1
  293. package/dist/runtime-3f13807b.js +0 -1
  294. package/dist/tree-0a7a8d05.js +0 -39
  295. /package/dist/{collection-a2969ad2.js → collection-qv8A8rq4.js} +0 -0
  296. /package/dist/{menu-item-styles-27fdbac4.mjs → menu-item-styles-CZiPwPwl.mjs} +0 -0
  297. /package/dist/{menu-item-styles-83ad1e22.js → menu-item-styles-CbNUEwP2.js} +0 -0
  298. /package/dist/{roving-focus-group-5c059bf9.js → roving-focus-group-BdJ_4Njm.js} +0 -0
  299. /package/dist/{scroll-lock-d7b0df21.js → scroll-lock-BX6e3Ced.js} +0 -0
@@ -1,5 +1,5 @@
1
- import { E as c } from "./ElementBase-909688f3.mjs";
2
- import { m as d, r as u, s, f as l, g as b } from "./roving-focus-group-4350c9a7.mjs";
1
+ import { E as c } from "./ElementBase-YlTLMsGk.mjs";
2
+ import { m as d, r as u, s, f as l, g as b } from "./roving-focus-group-Dbm1Jko_.mjs";
3
3
  const f = `
4
4
  :host {
5
5
  --ui-toolbar-gap: 8px;
@@ -122,8 +122,7 @@ const f = `
122
122
  }
123
123
  `;
124
124
  function p(n) {
125
- if (!(n instanceof HTMLElement) || n.hasAttribute("disabled") || n.getAttribute("aria-disabled") === "true")
126
- return !1;
125
+ if (!(n instanceof HTMLElement) || n.hasAttribute("disabled") || n.getAttribute("aria-disabled") === "true") return !1;
127
126
  const t = n.tagName.toLowerCase();
128
127
  return !!(["button", "input", "select", "textarea", "a"].includes(t) || n.hasAttribute("tabindex") || t.startsWith("ui-"));
129
128
  }
@@ -151,8 +150,7 @@ class h extends c {
151
150
  }
152
151
  _focusables() {
153
152
  const t = this.root.querySelector("slot");
154
- if (!t)
155
- return [];
153
+ if (!t) return [];
156
154
  const a = t.assignedElements({ flatten: !0 }), e = [], o = (i) => {
157
155
  p(i) && e.push(i);
158
156
  };
@@ -164,32 +162,27 @@ class h extends c {
164
162
  }
165
163
  _moveFocus(t, a) {
166
164
  const e = this._focusables();
167
- if (e.length < 2)
168
- return;
165
+ if (e.length < 2) return;
169
166
  const o = e.indexOf(t);
170
- if (o < 0)
171
- return;
167
+ if (o < 0) return;
172
168
  const r = d(e, o, a, {
173
169
  wrap: this.hasAttribute("loop") || !this.hasAttribute("no-loop"),
174
170
  fallbackIndex: u(e, { activeIndex: o, getDisabled: () => !1 }),
175
171
  getDisabled: () => !1
176
172
  });
177
- if (r < 0)
178
- return;
173
+ if (r < 0) return;
179
174
  const i = e[r];
180
175
  s(e, i, { activeAttribute: null }), l(i);
181
176
  }
182
177
  _syncRovingState() {
183
178
  const t = this._focusables();
184
- if (!t.length)
185
- return;
179
+ if (!t.length) return;
186
180
  const a = t.find((e) => e === document.activeElement) || t[u(t, { getDisabled: () => !1 })];
187
181
  s(t, a || null, { activeAttribute: null });
188
182
  }
189
183
  _onKeyDown(t) {
190
184
  const a = t.target;
191
- if (!a)
192
- return;
185
+ if (!a) return;
193
186
  const e = this.getAttribute("orientation") === "vertical" ? "vertical" : "horizontal";
194
187
  if (e === "horizontal" && t.key === "ArrowRight" || e === "vertical" && t.key === "ArrowDown") {
195
188
  t.preventDefault(), this._moveFocus(a, 1);
@@ -201,23 +194,19 @@ class h extends c {
201
194
  }
202
195
  if (t.key === "Home") {
203
196
  const o = this._focusables();
204
- if (!o.length)
205
- return;
197
+ if (!o.length) return;
206
198
  t.preventDefault();
207
199
  const r = b(o, "first", () => !1);
208
- if (r < 0)
209
- return;
200
+ if (r < 0) return;
210
201
  s(o, o[r], { activeAttribute: null }), l(o[r]);
211
202
  return;
212
203
  }
213
204
  if (t.key === "End") {
214
205
  const o = this._focusables();
215
- if (!o.length)
216
- return;
206
+ if (!o.length) return;
217
207
  t.preventDefault();
218
208
  const r = b(o, "last", () => !1);
219
- if (r < 0)
220
- return;
209
+ if (r < 0) return;
221
210
  s(o, o[r], { activeAttribute: null }), l(o[r]);
222
211
  }
223
212
  }
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const E=require("./ElementBase-1b301e7f.js"),w=require("./portal-c69756c0.js");require("./positioner-33529bb8.js");const d=140,y=120,m=`
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const E=require("./ElementBase-EV6mVBUV.js"),w=require("./portal-DgpQ3Jo1.js"),d=140,y=120,m=`
2
2
  .tooltip {
3
3
  color-scheme: light dark;
4
4
  --ui-tooltip-bg: color-mix(in srgb, var(--ui-color-text, #0f172a) 92%, #0b1220 8%);
@@ -156,4 +156,4 @@
156
156
  forced-color-adjust: none;
157
157
  }
158
158
  }
159
- `;function b(o){if(o==null)return!1;const t=String(o).toLowerCase();return t!=="false"&&t!=="0"&&t!=="off"}function a(o,t){const e=Number(o);return Number.isFinite(e)?e:t}function _(o){return o==="top"||o==="right"||o==="bottom"||o==="left"?o:"top"}function A(o){const t=(o||"hover focus").trim().toLowerCase();return t?new Set(t.split(/[\s,]+/).filter(Boolean)):new Set(["hover","focus"])}function l(o){return b(o)}class f extends E.ElementBase{constructor(){super(),this._portalEl=null,this._cleanup=null,this._id=`ui-tooltip-${Math.random().toString(36).slice(2,9)}`,this._isOpen=!1,this._syncingOpenAttr=!1,this._openTimer=null,this._closeTimer=null,this._exitTimer=null,this._pointerInsidePortal=!1,this._onMouseEnter=this._onMouseEnter.bind(this),this._onMouseLeave=this._onMouseLeave.bind(this),this._onFocusIn=this._onFocusIn.bind(this),this._onFocusOut=this._onFocusOut.bind(this),this._onClick=this._onClick.bind(this),this._onKeyDown=this._onKeyDown.bind(this),this._onPortalMouseEnter=this._handlePortalMouseEnter.bind(this),this._onPortalMouseLeave=this._handlePortalMouseLeave.bind(this),this._onDocumentPointerDown=this._handleDocumentPointerDown.bind(this)}static get observedAttributes(){return["text","placement","open","disabled","headless","variant","size","tone","delay","close-delay","trigger","offset","interactive","arrow","aria-label"]}connectedCallback(){super.connectedCallback(),this.addEventListener("mouseenter",this._onMouseEnter),this.addEventListener("mouseleave",this._onMouseLeave),this.addEventListener("focusin",this._onFocusIn),this.addEventListener("focusout",this._onFocusOut),this.addEventListener("click",this._onClick),this.addEventListener("keydown",this._onKeyDown),this.hasAttribute("open")&&this._scheduleShow(0)}disconnectedCallback(){this.removeEventListener("mouseenter",this._onMouseEnter),this.removeEventListener("mouseleave",this._onMouseLeave),this.removeEventListener("focusin",this._onFocusIn),this.removeEventListener("focusout",this._onFocusOut),this.removeEventListener("click",this._onClick),this.removeEventListener("keydown",this._onKeyDown),this._clearTimers(),this.hide(!0),super.disconnectedCallback()}attributeChangedCallback(t,e,i){if(e!==i){if(t==="open"&&!this._syncingOpenAttr){this.hasAttribute("open")?this._scheduleShow(0):this._scheduleHide(0);return}if(t==="disabled"&&this.hasAttribute("disabled")){this.hide();return}if((t==="text"||t==="aria-label")&&this._isOpen&&!(this.getAttribute("text")||this.getAttribute("aria-label")||"").trim()){this.hide();return}if(this._isOpen&&["text","placement","variant","size","tone","headless","offset","arrow","aria-label","interactive"].includes(t)){this._renderPortalContent(),this._reposition();return}}}_clearTimers(){this._openTimer&&(clearTimeout(this._openTimer),this._openTimer=null),this._closeTimer&&(clearTimeout(this._closeTimer),this._closeTimer=null),this._exitTimer&&(clearTimeout(this._exitTimer),this._exitTimer=null)}_triggerEnabled(t){const e=A(this.getAttribute("trigger"));return e.has("manual")?t==="manual":e.has(t)}_scheduleShow(t){if(this.hasAttribute("disabled"))return;this._clearTimers();const e=typeof t=="number"?t:a(this.getAttribute("delay"),250);this._openTimer=setTimeout(()=>{this.show(),this._openTimer=null},Math.max(0,e))}_scheduleHide(t){this._clearTimers();const e=typeof t=="number"?t:a(this.getAttribute("close-delay"),120);this._closeTimer=setTimeout(()=>{if(l(this.getAttribute("interactive"))&&this._pointerInsidePortal){this._closeTimer=null;return}this.hide(),this._closeTimer=null},Math.max(0,e))}_ensurePortalEl(){if(this._portalEl)return this._portalEl;const t=document.createElement("div");if(t.className="tooltip",t.id=this._id,t.setAttribute("role","tooltip"),!this.hasAttribute("headless")){const i=document.createElement("style");i.setAttribute("data-ui-tooltip-style",""),i.textContent=m,t.appendChild(i)}const e=document.createElement("div");return e.className="tooltip-content",t.appendChild(e),t.addEventListener("mouseenter",this._onPortalMouseEnter),t.addEventListener("mouseleave",this._onPortalMouseLeave),this._portalEl=t,t}_handlePortalMouseEnter(){this._pointerInsidePortal=!0,this._closeTimer&&(clearTimeout(this._closeTimer),this._closeTimer=null)}_handlePortalMouseLeave(){this._pointerInsidePortal=!1,l(this.getAttribute("interactive"))&&this._scheduleHide()}_renderPortalContent(){const t=this._ensurePortalEl(),e=this.getAttribute("text")||this.getAttribute("aria-label")||"",i=_(this.getAttribute("placement")),u=this.getAttribute("variant")||"default",v=this.getAttribute("size")||"md",g=this.getAttribute("tone")||"default",h=!this.hasAttribute("arrow")||b(this.getAttribute("arrow")),x=l(this.getAttribute("interactive")),c=this.hasAttribute("headless"),r=t.querySelector("style[data-ui-tooltip-style]");if(!c&&!r){const s=document.createElement("style");s.setAttribute("data-ui-tooltip-style",""),s.textContent=m,t.prepend(s)}else c&&r&&r.remove();t.setAttribute("data-variant",u),t.setAttribute("data-size",v),t.setAttribute("data-tone",g),t.setAttribute("data-placement",i),t.setAttribute("data-interactive",x?"true":"false");const p=t.querySelector(".tooltip-content");p&&(p.textContent=e);const n=t.querySelector(".arrow");if(h&&!n){const s=document.createElement("div");s.className="arrow",t.appendChild(s)}!h&&n&&n.remove()}_reposition(){if(!this._portalEl)return;this._cleanup&&(this._cleanup(),this._cleanup=null);const t=_(this.getAttribute("placement")),e=a(this.getAttribute("offset"),8);this._cleanup=w.showPortalFor(this,this._portalEl,{placement:t,offset:e,shift:!0,flip:!0})}_syncOpenAttr(t){this._syncingOpenAttr=!0;try{t?this.hasAttribute("open")||this.setAttribute("open",""):this.hasAttribute("open")&&this.removeAttribute("open")}finally{this._syncingOpenAttr=!1}}show(){if(this.hasAttribute("disabled")||!(this.getAttribute("text")||this.getAttribute("aria-label")||"").trim())return;this._clearTimers(),this._renderPortalContent(),this._reposition(),this._portalEl&&(this._portalEl.classList.remove("closing"),this._portalEl.classList.add("show"),this.setAttribute("aria-describedby",this._id)),this._bindDocumentDismiss();const e=this._isOpen;this._isOpen=!0,this._syncOpenAttr(!0),e||(this.dispatchEvent(new CustomEvent("open",{bubbles:!0,composed:!0})),this.dispatchEvent(new CustomEvent("change",{detail:{open:!0},bubbles:!0,composed:!0})))}hide(t=!1){this._clearTimers(),this._unbindDocumentDismiss(),this._cleanup&&(this._cleanup(),this._cleanup=null);const e=this._portalEl;e&&(e.classList.remove("show"),e.classList.add("closing"),t?this._removePortal():this._exitTimer=setTimeout(()=>{this._removePortal(),this._exitTimer=null},y)),this._pointerInsidePortal=!1,this.removeAttribute("aria-describedby");const i=this._isOpen;this._isOpen=!1,this._syncOpenAttr(!1),i&&(this.dispatchEvent(new CustomEvent("close",{bubbles:!0,composed:!0})),this.dispatchEvent(new CustomEvent("change",{detail:{open:!1},bubbles:!0,composed:!0})))}_removePortal(){this._portalEl&&(this._portalEl.removeEventListener("mouseenter",this._onPortalMouseEnter),this._portalEl.removeEventListener("mouseleave",this._onPortalMouseLeave),this._portalEl.parentElement&&this._portalEl.parentElement.removeChild(this._portalEl),this._portalEl=null)}_bindDocumentDismiss(){this._triggerEnabled("click")&&document.addEventListener("pointerdown",this._onDocumentPointerDown)}_unbindDocumentDismiss(){document.removeEventListener("pointerdown",this._onDocumentPointerDown)}_handleDocumentPointerDown(t){var i;if(!this._isOpen)return;const e=t.target;e&&(this.contains(e)||(i=this._portalEl)!=null&&i.contains(e)||this.hide())}shouldRenderOnAttributeChange(t,e,i){return!1}_onMouseEnter(){this._triggerEnabled("hover")&&this._scheduleShow()}_onMouseLeave(){this._triggerEnabled("hover")&&this._scheduleHide()}_onFocusIn(){this._triggerEnabled("focus")&&this._scheduleShow(0)}_onFocusOut(t){var i;if(!this._triggerEnabled("focus"))return;const e=t.relatedTarget;e&&this.contains(e)||e&&((i=this._portalEl)!=null&&i.contains(e))||this._scheduleHide(0)}_onClick(){this._triggerEnabled("click")&&(this._isOpen?this.hide():this._scheduleShow(0))}_onKeyDown(t){t.key==="Escape"&&this._isOpen&&(t.preventDefault(),this.hide())}render(){this.setContent("<slot></slot>")}}typeof customElements<"u"&&!customElements.get("ui-tooltip")&&customElements.define("ui-tooltip",f);exports.UITooltip=f;
159
+ `;function b(i){if(i==null)return!1;const t=String(i).toLowerCase();return t!=="false"&&t!=="0"&&t!=="off"}function a(i,t){const e=Number(i);return Number.isFinite(e)?e:t}function _(i){return i==="top"||i==="right"||i==="bottom"||i==="left"?i:"top"}function A(i){const t=(i||"hover focus").trim().toLowerCase();return t?new Set(t.split(/[\s,]+/).filter(Boolean)):new Set(["hover","focus"])}function l(i){return b(i)}class f extends E.ElementBase{constructor(){super(),this._portalEl=null,this._cleanup=null,this._id=`ui-tooltip-${Math.random().toString(36).slice(2,9)}`,this._isOpen=!1,this._syncingOpenAttr=!1,this._openTimer=null,this._closeTimer=null,this._exitTimer=null,this._pointerInsidePortal=!1,this._onMouseEnter=this._onMouseEnter.bind(this),this._onMouseLeave=this._onMouseLeave.bind(this),this._onFocusIn=this._onFocusIn.bind(this),this._onFocusOut=this._onFocusOut.bind(this),this._onClick=this._onClick.bind(this),this._onKeyDown=this._onKeyDown.bind(this),this._onPortalMouseEnter=this._handlePortalMouseEnter.bind(this),this._onPortalMouseLeave=this._handlePortalMouseLeave.bind(this),this._onDocumentPointerDown=this._handleDocumentPointerDown.bind(this)}static get observedAttributes(){return["text","placement","open","disabled","headless","variant","size","tone","delay","close-delay","trigger","offset","interactive","arrow","aria-label"]}connectedCallback(){super.connectedCallback(),this.addEventListener("mouseenter",this._onMouseEnter),this.addEventListener("mouseleave",this._onMouseLeave),this.addEventListener("focusin",this._onFocusIn),this.addEventListener("focusout",this._onFocusOut),this.addEventListener("click",this._onClick),this.addEventListener("keydown",this._onKeyDown),this.hasAttribute("open")&&this._scheduleShow(0)}disconnectedCallback(){this.removeEventListener("mouseenter",this._onMouseEnter),this.removeEventListener("mouseleave",this._onMouseLeave),this.removeEventListener("focusin",this._onFocusIn),this.removeEventListener("focusout",this._onFocusOut),this.removeEventListener("click",this._onClick),this.removeEventListener("keydown",this._onKeyDown),this._clearTimers(),this.hide(!0),super.disconnectedCallback()}attributeChangedCallback(t,e,o){if(e!==o){if(t==="open"&&!this._syncingOpenAttr){this.hasAttribute("open")?this._scheduleShow(0):this._scheduleHide(0);return}if(t==="disabled"&&this.hasAttribute("disabled")){this.hide();return}if((t==="text"||t==="aria-label")&&this._isOpen&&!(this.getAttribute("text")||this.getAttribute("aria-label")||"").trim()){this.hide();return}if(this._isOpen&&["text","placement","variant","size","tone","headless","offset","arrow","aria-label","interactive"].includes(t)){this._renderPortalContent(),this._reposition();return}}}_clearTimers(){this._openTimer&&(clearTimeout(this._openTimer),this._openTimer=null),this._closeTimer&&(clearTimeout(this._closeTimer),this._closeTimer=null),this._exitTimer&&(clearTimeout(this._exitTimer),this._exitTimer=null)}_triggerEnabled(t){const e=A(this.getAttribute("trigger"));return e.has("manual")?t==="manual":e.has(t)}_scheduleShow(t){if(this.hasAttribute("disabled"))return;this._clearTimers();const e=typeof t=="number"?t:a(this.getAttribute("delay"),250);this._openTimer=setTimeout(()=>{this.show(),this._openTimer=null},Math.max(0,e))}_scheduleHide(t){this._clearTimers();const e=typeof t=="number"?t:a(this.getAttribute("close-delay"),120);this._closeTimer=setTimeout(()=>{if(l(this.getAttribute("interactive"))&&this._pointerInsidePortal){this._closeTimer=null;return}this.hide(),this._closeTimer=null},Math.max(0,e))}_ensurePortalEl(){if(this._portalEl)return this._portalEl;const t=document.createElement("div");if(t.className="tooltip",t.id=this._id,t.setAttribute("role","tooltip"),!this.hasAttribute("headless")){const o=document.createElement("style");o.setAttribute("data-ui-tooltip-style",""),o.textContent=m,t.appendChild(o)}const e=document.createElement("div");return e.className="tooltip-content",t.appendChild(e),t.addEventListener("mouseenter",this._onPortalMouseEnter),t.addEventListener("mouseleave",this._onPortalMouseLeave),this._portalEl=t,t}_handlePortalMouseEnter(){this._pointerInsidePortal=!0,this._closeTimer&&(clearTimeout(this._closeTimer),this._closeTimer=null)}_handlePortalMouseLeave(){this._pointerInsidePortal=!1,l(this.getAttribute("interactive"))&&this._scheduleHide()}_renderPortalContent(){const t=this._ensurePortalEl(),e=this.getAttribute("text")||this.getAttribute("aria-label")||"",o=_(this.getAttribute("placement")),u=this.getAttribute("variant")||"default",v=this.getAttribute("size")||"md",g=this.getAttribute("tone")||"default",h=!this.hasAttribute("arrow")||b(this.getAttribute("arrow")),x=l(this.getAttribute("interactive")),c=this.hasAttribute("headless"),r=t.querySelector("style[data-ui-tooltip-style]");if(!c&&!r){const s=document.createElement("style");s.setAttribute("data-ui-tooltip-style",""),s.textContent=m,t.prepend(s)}else c&&r&&r.remove();t.setAttribute("data-variant",u),t.setAttribute("data-size",v),t.setAttribute("data-tone",g),t.setAttribute("data-placement",o),t.setAttribute("data-interactive",x?"true":"false");const p=t.querySelector(".tooltip-content");p&&(p.textContent=e);const n=t.querySelector(".arrow");if(h&&!n){const s=document.createElement("div");s.className="arrow",t.appendChild(s)}!h&&n&&n.remove()}_reposition(){if(!this._portalEl)return;this._cleanup&&(this._cleanup(),this._cleanup=null);const t=_(this.getAttribute("placement")),e=a(this.getAttribute("offset"),8);this._cleanup=w.showPortalFor(this,this._portalEl,{placement:t,offset:e,shift:!0,flip:!0})}_syncOpenAttr(t){this._syncingOpenAttr=!0;try{t?this.hasAttribute("open")||this.setAttribute("open",""):this.hasAttribute("open")&&this.removeAttribute("open")}finally{this._syncingOpenAttr=!1}}show(){if(this.hasAttribute("disabled")||!(this.getAttribute("text")||this.getAttribute("aria-label")||"").trim())return;this._clearTimers(),this._renderPortalContent(),this._reposition(),this._portalEl&&(this._portalEl.classList.remove("closing"),this._portalEl.classList.add("show"),this.setAttribute("aria-describedby",this._id)),this._bindDocumentDismiss();const e=this._isOpen;this._isOpen=!0,this._syncOpenAttr(!0),e||(this.dispatchEvent(new CustomEvent("open",{bubbles:!0,composed:!0})),this.dispatchEvent(new CustomEvent("change",{detail:{open:!0},bubbles:!0,composed:!0})))}hide(t=!1){this._clearTimers(),this._unbindDocumentDismiss(),this._cleanup&&(this._cleanup(),this._cleanup=null);const e=this._portalEl;e&&(e.classList.remove("show"),e.classList.add("closing"),t?this._removePortal():this._exitTimer=setTimeout(()=>{this._removePortal(),this._exitTimer=null},y)),this._pointerInsidePortal=!1,this.removeAttribute("aria-describedby");const o=this._isOpen;this._isOpen=!1,this._syncOpenAttr(!1),o&&(this.dispatchEvent(new CustomEvent("close",{bubbles:!0,composed:!0})),this.dispatchEvent(new CustomEvent("change",{detail:{open:!1},bubbles:!0,composed:!0})))}_removePortal(){this._portalEl&&(this._portalEl.removeEventListener("mouseenter",this._onPortalMouseEnter),this._portalEl.removeEventListener("mouseleave",this._onPortalMouseLeave),this._portalEl.parentElement&&this._portalEl.parentElement.removeChild(this._portalEl),this._portalEl=null)}_bindDocumentDismiss(){this._triggerEnabled("click")&&document.addEventListener("pointerdown",this._onDocumentPointerDown)}_unbindDocumentDismiss(){document.removeEventListener("pointerdown",this._onDocumentPointerDown)}_handleDocumentPointerDown(t){if(!this._isOpen)return;const e=t.target;e&&(this.contains(e)||this._portalEl?.contains(e)||this.hide())}shouldRenderOnAttributeChange(t,e,o){return!1}_onMouseEnter(){this._triggerEnabled("hover")&&this._scheduleShow()}_onMouseLeave(){this._triggerEnabled("hover")&&this._scheduleHide()}_onFocusIn(){this._triggerEnabled("focus")&&this._scheduleShow(0)}_onFocusOut(t){if(!this._triggerEnabled("focus"))return;const e=t.relatedTarget;e&&this.contains(e)||e&&this._portalEl?.contains(e)||this._scheduleHide(0)}_onClick(){this._triggerEnabled("click")&&(this._isOpen?this.hide():this._scheduleShow(0))}_onKeyDown(t){t.key==="Escape"&&this._isOpen&&(t.preventDefault(),this.hide())}render(){this.setContent("<slot></slot>")}}typeof customElements<"u"&&!customElements.get("ui-tooltip")&&customElements.define("ui-tooltip",f);exports.UITooltip=f;
@@ -1,6 +1,5 @@
1
- import { E as x } from "./ElementBase-909688f3.mjs";
2
- import { s as E } from "./portal-fe73e5cc.mjs";
3
- import "./positioner-e9770c66.mjs";
1
+ import { E as x } from "./ElementBase-YlTLMsGk.mjs";
2
+ import { s as E } from "./portal-bR42gHvG.mjs";
4
3
  const d = 140, w = 120, m = `
5
4
  .tooltip {
6
5
  color-scheme: light dark;
@@ -160,25 +159,24 @@ const d = 140, w = 120, m = `
160
159
  }
161
160
  }
162
161
  `;
163
- function b(o) {
164
- if (o == null)
165
- return !1;
166
- const t = String(o).toLowerCase();
162
+ function b(i) {
163
+ if (i == null) return !1;
164
+ const t = String(i).toLowerCase();
167
165
  return t !== "false" && t !== "0" && t !== "off";
168
166
  }
169
- function a(o, t) {
170
- const e = Number(o);
167
+ function a(i, t) {
168
+ const e = Number(i);
171
169
  return Number.isFinite(e) ? e : t;
172
170
  }
173
- function _(o) {
174
- return o === "top" || o === "right" || o === "bottom" || o === "left" ? o : "top";
171
+ function _(i) {
172
+ return i === "top" || i === "right" || i === "bottom" || i === "left" ? i : "top";
175
173
  }
176
- function A(o) {
177
- const t = (o || "hover focus").trim().toLowerCase();
174
+ function A(i) {
175
+ const t = (i || "hover focus").trim().toLowerCase();
178
176
  return t ? new Set(t.split(/[\s,]+/).filter(Boolean)) : /* @__PURE__ */ new Set(["hover", "focus"]);
179
177
  }
180
- function l(o) {
181
- return b(o);
178
+ function l(i) {
179
+ return b(i);
182
180
  }
183
181
  class y extends x {
184
182
  constructor() {
@@ -209,8 +207,8 @@ class y extends x {
209
207
  disconnectedCallback() {
210
208
  this.removeEventListener("mouseenter", this._onMouseEnter), this.removeEventListener("mouseleave", this._onMouseLeave), this.removeEventListener("focusin", this._onFocusIn), this.removeEventListener("focusout", this._onFocusOut), this.removeEventListener("click", this._onClick), this.removeEventListener("keydown", this._onKeyDown), this._clearTimers(), this.hide(!0), super.disconnectedCallback();
211
209
  }
212
- attributeChangedCallback(t, e, i) {
213
- if (e !== i) {
210
+ attributeChangedCallback(t, e, o) {
211
+ if (e !== o) {
214
212
  if (t === "open" && !this._syncingOpenAttr) {
215
213
  this.hasAttribute("open") ? this._scheduleShow(0) : this._scheduleHide(0);
216
214
  return;
@@ -237,8 +235,7 @@ class y extends x {
237
235
  return e.has("manual") ? t === "manual" : e.has(t);
238
236
  }
239
237
  _scheduleShow(t) {
240
- if (this.hasAttribute("disabled"))
241
- return;
238
+ if (this.hasAttribute("disabled")) return;
242
239
  this._clearTimers();
243
240
  const e = typeof t == "number" ? t : a(this.getAttribute("delay"), 250);
244
241
  this._openTimer = setTimeout(() => {
@@ -257,12 +254,11 @@ class y extends x {
257
254
  }, Math.max(0, e));
258
255
  }
259
256
  _ensurePortalEl() {
260
- if (this._portalEl)
261
- return this._portalEl;
257
+ if (this._portalEl) return this._portalEl;
262
258
  const t = document.createElement("div");
263
259
  if (t.className = "tooltip", t.id = this._id, t.setAttribute("role", "tooltip"), !this.hasAttribute("headless")) {
264
- const i = document.createElement("style");
265
- i.setAttribute("data-ui-tooltip-style", ""), i.textContent = m, t.appendChild(i);
260
+ const o = document.createElement("style");
261
+ o.setAttribute("data-ui-tooltip-style", ""), o.textContent = m, t.appendChild(o);
266
262
  }
267
263
  const e = document.createElement("div");
268
264
  return e.className = "tooltip-content", t.appendChild(e), t.addEventListener("mouseenter", this._onPortalMouseEnter), t.addEventListener("mouseleave", this._onPortalMouseLeave), this._portalEl = t, t;
@@ -274,13 +270,12 @@ class y extends x {
274
270
  this._pointerInsidePortal = !1, l(this.getAttribute("interactive")) && this._scheduleHide();
275
271
  }
276
272
  _renderPortalContent() {
277
- const t = this._ensurePortalEl(), e = this.getAttribute("text") || this.getAttribute("aria-label") || "", i = _(this.getAttribute("placement")), u = this.getAttribute("variant") || "default", f = this.getAttribute("size") || "md", v = this.getAttribute("tone") || "default", h = !this.hasAttribute("arrow") || b(this.getAttribute("arrow")), g = l(this.getAttribute("interactive")), c = this.hasAttribute("headless"), r = t.querySelector("style[data-ui-tooltip-style]");
273
+ const t = this._ensurePortalEl(), e = this.getAttribute("text") || this.getAttribute("aria-label") || "", o = _(this.getAttribute("placement")), u = this.getAttribute("variant") || "default", f = this.getAttribute("size") || "md", v = this.getAttribute("tone") || "default", h = !this.hasAttribute("arrow") || b(this.getAttribute("arrow")), g = l(this.getAttribute("interactive")), c = this.hasAttribute("headless"), r = t.querySelector("style[data-ui-tooltip-style]");
278
274
  if (!c && !r) {
279
275
  const s = document.createElement("style");
280
276
  s.setAttribute("data-ui-tooltip-style", ""), s.textContent = m, t.prepend(s);
281
- } else
282
- c && r && r.remove();
283
- t.setAttribute("data-variant", u), t.setAttribute("data-size", f), t.setAttribute("data-tone", v), t.setAttribute("data-placement", i), t.setAttribute("data-interactive", g ? "true" : "false");
277
+ } else c && r && r.remove();
278
+ t.setAttribute("data-variant", u), t.setAttribute("data-size", f), t.setAttribute("data-tone", v), t.setAttribute("data-placement", o), t.setAttribute("data-interactive", g ? "true" : "false");
284
279
  const p = t.querySelector(".tooltip-content");
285
280
  p && (p.textContent = e);
286
281
  const n = t.querySelector(".arrow");
@@ -291,8 +286,7 @@ class y extends x {
291
286
  !h && n && n.remove();
292
287
  }
293
288
  _reposition() {
294
- if (!this._portalEl)
295
- return;
289
+ if (!this._portalEl) return;
296
290
  this._cleanup && (this._cleanup(), this._cleanup = null);
297
291
  const t = _(this.getAttribute("placement")), e = a(this.getAttribute("offset"), 8);
298
292
  this._cleanup = E(this, this._portalEl, {
@@ -311,8 +305,7 @@ class y extends x {
311
305
  }
312
306
  }
313
307
  show() {
314
- if (this.hasAttribute("disabled") || !(this.getAttribute("text") || this.getAttribute("aria-label") || "").trim())
315
- return;
308
+ if (this.hasAttribute("disabled") || !(this.getAttribute("text") || this.getAttribute("aria-label") || "").trim()) return;
316
309
  this._clearTimers(), this._renderPortalContent(), this._reposition(), this._portalEl && (this._portalEl.classList.remove("closing"), this._portalEl.classList.add("show"), this.setAttribute("aria-describedby", this._id)), this._bindDocumentDismiss();
317
310
  const e = this._isOpen;
318
311
  this._isOpen = !0, this._syncOpenAttr(!0), e || (this.dispatchEvent(new CustomEvent("open", { bubbles: !0, composed: !0 })), this.dispatchEvent(new CustomEvent("change", { detail: { open: !0 }, bubbles: !0, composed: !0 })));
@@ -323,8 +316,8 @@ class y extends x {
323
316
  e && (e.classList.remove("show"), e.classList.add("closing"), t ? this._removePortal() : this._exitTimer = setTimeout(() => {
324
317
  this._removePortal(), this._exitTimer = null;
325
318
  }, w)), this._pointerInsidePortal = !1, this.removeAttribute("aria-describedby");
326
- const i = this._isOpen;
327
- this._isOpen = !1, this._syncOpenAttr(!1), i && (this.dispatchEvent(new CustomEvent("close", { bubbles: !0, composed: !0 })), this.dispatchEvent(new CustomEvent("change", { detail: { open: !1 }, bubbles: !0, composed: !0 })));
319
+ const o = this._isOpen;
320
+ this._isOpen = !1, this._syncOpenAttr(!1), o && (this.dispatchEvent(new CustomEvent("close", { bubbles: !0, composed: !0 })), this.dispatchEvent(new CustomEvent("change", { detail: { open: !1 }, bubbles: !0, composed: !0 })));
328
321
  }
329
322
  _removePortal() {
330
323
  this._portalEl && (this._portalEl.removeEventListener("mouseenter", this._onPortalMouseEnter), this._portalEl.removeEventListener("mouseleave", this._onPortalMouseLeave), this._portalEl.parentElement && this._portalEl.parentElement.removeChild(this._portalEl), this._portalEl = null);
@@ -336,13 +329,11 @@ class y extends x {
336
329
  document.removeEventListener("pointerdown", this._onDocumentPointerDown);
337
330
  }
338
331
  _handleDocumentPointerDown(t) {
339
- var i;
340
- if (!this._isOpen)
341
- return;
332
+ if (!this._isOpen) return;
342
333
  const e = t.target;
343
- e && (this.contains(e) || (i = this._portalEl) != null && i.contains(e) || this.hide());
334
+ e && (this.contains(e) || this._portalEl?.contains(e) || this.hide());
344
335
  }
345
- shouldRenderOnAttributeChange(t, e, i) {
336
+ shouldRenderOnAttributeChange(t, e, o) {
346
337
  return !1;
347
338
  }
348
339
  _onMouseEnter() {
@@ -355,11 +346,9 @@ class y extends x {
355
346
  this._triggerEnabled("focus") && this._scheduleShow(0);
356
347
  }
357
348
  _onFocusOut(t) {
358
- var i;
359
- if (!this._triggerEnabled("focus"))
360
- return;
349
+ if (!this._triggerEnabled("focus")) return;
361
350
  const e = t.relatedTarget;
362
- e && this.contains(e) || e && ((i = this._portalEl) != null && i.contains(e)) || this._scheduleHide(0);
351
+ e && this.contains(e) || e && this._portalEl?.contains(e) || this._scheduleHide(0);
363
352
  }
364
353
  _onClick() {
365
354
  this._triggerEnabled("click") && (this._isOpen ? this.hide() : this._scheduleShow(0));
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const q=require("./ElementBase-1b301e7f.js"),U=`
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const q=require("./ElementBase-EV6mVBUV.js"),U=`
2
2
  :host {
3
3
  --ui-transfer-accent: var(--ui-color-primary, #2563eb);
4
4
  --ui-transfer-text: var(--ui-color-text, #0f172a);
@@ -656,7 +656,7 @@
656
656
  min-inline-size: 0;
657
657
  }
658
658
  }
659
- `;function l(n){return n.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}function y(n){if(!n)return[];try{const r=JSON.parse(n);if(!Array.isArray(r))return[];const t=[];return r.forEach(e=>{if(!e||typeof e!="object")return;const a={value:String(e.value??""),label:String(e.label??e.value??""),disabled:!!e.disabled};e.description&&(a.description=String(e.description)),a.value&&t.push(a)}),t}catch{return[]}}function _(n){if(!n)return[];try{const r=JSON.parse(n);return Array.isArray(r)?r.map(t=>String(t)):[]}catch{return[]}}function k(n,r){return new Set(Array.from(n).filter(t=>r.has(t)))}function R(n){return n==="tick"||n==="none"?n:"checkbox"}function h(n,r){return n==null?r:n===""||n==="true"||n==="1"||n==="yes"?!0:n==="false"||n==="0"||n==="no"?!1:r}function w(n){return`<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.25" stroke-linecap="round" stroke-linejoin="round" focusable="false" aria-hidden="true"><path d="${n==="right"?"M9 6l6 6-6 6":"M15 6l-6 6 6 6"}"/></svg>`}class A extends q.ElementBase{constructor(){super(...arguments),this._options=[],this._value=[],this._selectedAvailable=new Set,this._selectedChosen=new Set,this._formUnregister=null,this._suppressValueAttr=!1,this._delegatedListenersAttached=!1,this._handleRootClick=r=>{const t=r.target;if(!t)return;const e=t.closest(".move-btn");if(e&&this.root.contains(e)){this._move(e.getAttribute("data-action"));return}const a=t.closest(".item");a&&this.root.contains(a)&&this._toggleItem(a)},this._handleRootKeyDown=r=>{const t=r.target;if(!t)return;const e=t.closest(".item");e&&this.root.contains(e)&&this._onItemKeyDown(r,e)}}static get observedAttributes(){return["options","value","label","description","error","name","disabled","variant","tone","size","radius","elevation","available-label","selected-label","available-empty-label","selected-empty-label","selection-indicator","add-action-label","remove-action-label","show-action-labels","show-action-counts","show-panel-counts"]}get value(){return[...this._value]}set value(r){this._applyValue(r,"api")}connectedCallback(){super.connectedCallback(),this._attachDelegatedListeners(),this._registerWithForm()}disconnectedCallback(){this._formUnregister&&this._formUnregister(),this._detachDelegatedListeners(),super.disconnectedCallback()}attributeChangedCallback(r,t,e){t!==e&&(r==="options"&&(this._options=y(e)),r==="value"&&!this._suppressValueAttr&&(this._value=_(e)),r==="name"&&this.isConnected&&this._registerWithForm(),r==="disabled"&&(this._selectedAvailable.clear(),this._selectedChosen.clear()),this.isConnected&&this.requestRender())}render(){this._options.length||(this._options=y(this.getAttribute("options"))),!this._value.length&&this.getAttribute("value")&&(this._value=_(this.getAttribute("value")));const r=new Set(this._value),t=this._options.filter(i=>!r.has(i.value)),e=this._options.filter(i=>r.has(i.value)),a=new Set(t.map(i=>i.value)),o=new Set(e.map(i=>i.value));this._selectedAvailable=k(this._selectedAvailable,a),this._selectedChosen=k(this._selectedChosen,o);const s=this.getAttribute("label")||"",c=this.getAttribute("description")||"",u=this.getAttribute("error")||"",d=this.getAttribute("available-label")||"Available",f=this.getAttribute("selected-label")||"Selected",$=this.getAttribute("available-empty-label")||"No items available to add.",S=this.getAttribute("selected-empty-label")||"No items selected yet.",C=R(this.getAttribute("selection-indicator")),L=this.getAttribute("add-action-label")||"Add selected",E=this.getAttribute("remove-action-label")||"Remove selected",p=h(this.getAttribute("show-action-labels"),!0),b=h(this.getAttribute("show-action-counts"),!0),m=h(this.getAttribute("show-panel-counts"),!0),g=this.getAttribute("radius"),I=g?` style="--ui-transfer-panel-radius:${l(g)};"`:"",v=()=>C==="none"?"":'<span class="indicator" part="indicator" aria-hidden="true"><span class="indicator-box"><span class="indicator-mark">✓</span></span></span>',x=i=>p?`<span class="move-btn-text">${l(i)}</span>`:"",z=i=>b?`<span class="move-btn-count">${i}</span>`:"",V=t.length?t.map(i=>`<div
659
+ `;function l(n){return n.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}function x(n){if(!n)return[];try{const e=JSON.parse(n);if(!Array.isArray(e))return[];const t=[];return e.forEach(r=>{if(!r||typeof r!="object")return;const a={value:String(r.value??""),label:String(r.label??r.value??""),disabled:!!r.disabled};r.description&&(a.description=String(r.description)),a.value&&t.push(a)}),t}catch{return[]}}function z(n){if(!n)return[];try{const e=JSON.parse(n);return Array.isArray(e)?e.map(t=>String(t)):[]}catch{return[]}}function y(n,e){return new Set(Array.from(n).filter(t=>e.has(t)))}function R(n){return n==="tick"||n==="none"?n:"checkbox"}function p(n,e){return n==null?e:n===""||n==="true"||n==="1"||n==="yes"?!0:n==="false"||n==="0"||n==="no"?!1:e}function _(n){return`<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.25" stroke-linecap="round" stroke-linejoin="round" focusable="false" aria-hidden="true"><path d="${n==="right"?"M9 6l6 6-6 6":"M15 6l-6 6 6 6"}"/></svg>`}class k extends q.ElementBase{constructor(){super(...arguments),this._options=[],this._value=[],this._selectedAvailable=new Set,this._selectedChosen=new Set,this._formUnregister=null,this._suppressValueAttr=!1,this._delegatedListenersAttached=!1,this._handleRootClick=e=>{const t=e.target;if(!t)return;const r=t.closest(".move-btn");if(r&&this.root.contains(r)){this._move(r.getAttribute("data-action"));return}const a=t.closest(".item");a&&this.root.contains(a)&&this._toggleItem(a)},this._handleRootKeyDown=e=>{const t=e.target;if(!t)return;const r=t.closest(".item");r&&this.root.contains(r)&&this._onItemKeyDown(e,r)}}static get observedAttributes(){return["options","value","label","description","error","name","disabled","variant","tone","size","radius","elevation","available-label","selected-label","available-empty-label","selected-empty-label","selection-indicator","add-action-label","remove-action-label","show-action-labels","show-action-counts","show-panel-counts"]}get value(){return[...this._value]}set value(e){this._applyValue(e,"api")}connectedCallback(){super.connectedCallback(),this._attachDelegatedListeners(),this._registerWithForm()}disconnectedCallback(){this._formUnregister&&this._formUnregister(),this._detachDelegatedListeners(),super.disconnectedCallback()}attributeChangedCallback(e,t,r){t!==r&&(e==="options"&&(this._options=x(r)),e==="value"&&!this._suppressValueAttr&&(this._value=z(r)),e==="name"&&this.isConnected&&this._registerWithForm(),e==="disabled"&&(this._selectedAvailable.clear(),this._selectedChosen.clear()),this.isConnected&&this.requestRender())}render(){this._options.length||(this._options=x(this.getAttribute("options"))),!this._value.length&&this.getAttribute("value")&&(this._value=z(this.getAttribute("value")));const e=new Set(this._value),t=this._options.filter(i=>!e.has(i.value)),r=this._options.filter(i=>e.has(i.value)),a=new Set(t.map(i=>i.value)),o=new Set(r.map(i=>i.value));this._selectedAvailable=y(this._selectedAvailable,a),this._selectedChosen=y(this._selectedChosen,o);const s=this.getAttribute("label")||"",c=this.getAttribute("description")||"",u=this.getAttribute("error")||"",w=this.getAttribute("available-label")||"Available",A=this.getAttribute("selected-label")||"Selected",$=this.getAttribute("available-empty-label")||"No items available to add.",S=this.getAttribute("selected-empty-label")||"No items selected yet.",C=R(this.getAttribute("selection-indicator")),L=this.getAttribute("add-action-label")||"Add selected",E=this.getAttribute("remove-action-label")||"Remove selected",d=p(this.getAttribute("show-action-labels"),!0),f=p(this.getAttribute("show-action-counts"),!0),b=p(this.getAttribute("show-panel-counts"),!0),h=this.getAttribute("radius"),I=h?` style="--ui-transfer-panel-radius:${l(h)};"`:"",m=()=>C==="none"?"":'<span class="indicator" part="indicator" aria-hidden="true"><span class="indicator-box"><span class="indicator-mark">✓</span></span></span>',g=i=>d?`<span class="move-btn-text">${l(i)}</span>`:"",v=i=>f?`<span class="move-btn-count">${i}</span>`:"",V=t.length?t.map(i=>`<div
660
660
  class="item"
661
661
  part="item available-item"
662
662
  role="option"
@@ -667,12 +667,12 @@
667
667
  aria-disabled="${i.disabled?"true":"false"}"
668
668
  tabindex="${i.disabled?"-1":"0"}"
669
669
  >
670
- ${v()}
670
+ ${m()}
671
671
  <div class="item-copy">
672
672
  <span class="item-title">${l(i.label)}</span>
673
673
  ${i.description?`<span class="item-description">${l(i.description)}</span>`:""}
674
674
  </div>
675
- </div>`).join(""):`<div class="empty" part="empty">${l($)}</div>`,D=e.length?e.map(i=>`<div
675
+ </div>`).join(""):`<div class="empty" part="empty">${l($)}</div>`,D=r.length?r.map(i=>`<div
676
676
  class="item"
677
677
  part="item selected-item"
678
678
  role="option"
@@ -683,7 +683,7 @@
683
683
  aria-disabled="${i.disabled?"true":"false"}"
684
684
  tabindex="${i.disabled?"-1":"0"}"
685
685
  >
686
- ${v()}
686
+ ${m()}
687
687
  <div class="item-copy">
688
688
  <span class="item-title">${l(i.label)}</span>
689
689
  ${i.description?`<span class="item-description">${l(i.description)}</span>`:""}
@@ -697,8 +697,8 @@
697
697
  <section class="panel" part="panel panel-available">
698
698
  <div class="panel-header" part="panel-header">
699
699
  <div class="panel-heading">
700
- <div class="panel-title">${l(d)}</div>
701
- ${m?`<span class="panel-count" part="count">${t.length}</span>`:""}
700
+ <div class="panel-title">${l(w)}</div>
701
+ ${b?`<span class="panel-count" part="count">${t.length}</span>`:""}
702
702
  </div>
703
703
  <div class="panel-help">Choose entries to move into the selected list.</div>
704
704
  </div>
@@ -706,29 +706,29 @@
706
706
  <div class="summary" part="summary">${t.length} available</div>
707
707
  </section>
708
708
  <div class="actions" part="actions">
709
- <button class="move-btn" part="action-button action-add" data-compact="${!p&&!b}" data-action="add" type="button"${this._selectedAvailable.size?"":" disabled"}>
710
- <span class="move-btn-icon" aria-hidden="true">${w("right")}</span>
711
- ${x(L)}
712
- ${z(this._selectedAvailable.size||0)}
709
+ <button class="move-btn" part="action-button action-add" data-compact="${!d&&!f}" data-action="add" type="button"${this._selectedAvailable.size?"":" disabled"}>
710
+ <span class="move-btn-icon" aria-hidden="true">${_("right")}</span>
711
+ ${g(L)}
712
+ ${v(this._selectedAvailable.size||0)}
713
713
  </button>
714
- <button class="move-btn" part="action-button action-remove" data-compact="${!p&&!b}" data-action="remove" type="button"${this._selectedChosen.size?"":" disabled"}>
715
- <span class="move-btn-icon" aria-hidden="true">${w("left")}</span>
716
- ${x(E)}
717
- ${z(this._selectedChosen.size||0)}
714
+ <button class="move-btn" part="action-button action-remove" data-compact="${!d&&!f}" data-action="remove" type="button"${this._selectedChosen.size?"":" disabled"}>
715
+ <span class="move-btn-icon" aria-hidden="true">${_("left")}</span>
716
+ ${g(E)}
717
+ ${v(this._selectedChosen.size||0)}
718
718
  </button>
719
719
  </div>
720
720
  <section class="panel" part="panel panel-selected">
721
721
  <div class="panel-header" part="panel-header">
722
722
  <div class="panel-heading">
723
- <div class="panel-title">${l(f)}</div>
724
- ${m?`<span class="panel-count" part="count">${e.length}</span>`:""}
723
+ <div class="panel-title">${l(A)}</div>
724
+ ${b?`<span class="panel-count" part="count">${r.length}</span>`:""}
725
725
  </div>
726
726
  <div class="panel-help">Use the remove action to send items back.</div>
727
727
  </div>
728
728
  <div class="list" part="list selected-list" data-list="chosen" role="listbox" aria-multiselectable="true">${D}</div>
729
- <div class="summary" part="summary">${e.length} selected</div>
729
+ <div class="summary" part="summary">${r.length} selected</div>
730
730
  </section>
731
731
  </div>
732
732
  ${u?`<p class="error" part="error">${l(u)}</p>`:""}
733
733
  </div>
734
- `)}_toggleItem(r){if(this.hasAttribute("disabled"))return;const t=r.getAttribute("data-side"),e=r.getAttribute("data-value")||"";if(!e)return;const a=t==="chosen"?this._selectedChosen:this._selectedAvailable;a.has(e)?a.delete(e):a.add(e),r.setAttribute("data-selected",a.has(e)?"true":"false"),r.setAttribute("aria-selected",a.has(e)?"true":"false"),this._syncActionButtons()}_onItemKeyDown(r,t){var u,d,f;const e=t.getAttribute("data-side");if(!e)return;if(r.key==="Enter"||r.key===" "){r.preventDefault(),this._toggleItem(t);return}if(!["ArrowDown","ArrowUp","Home","End"].includes(r.key))return;r.preventDefault();const a=this.root.querySelector(`[data-list="${e}"]`),o=Array.from((a==null?void 0:a.querySelectorAll('.item[tabindex="0"]'))||[]);if(!o.length)return;const s=o.indexOf(t);if(r.key==="Home"){(u=o[0])==null||u.focus();return}if(r.key==="End"){(d=o[o.length-1])==null||d.focus();return}const c=r.key==="ArrowDown"?Math.min(o.length-1,s+1):Math.max(0,s-1);(f=o[c])==null||f.focus()}_move(r){if(!this.hasAttribute("disabled")){if(r==="add"){const t=[...this._value,...Array.from(this._selectedAvailable).filter(e=>!this._value.includes(e))];this._selectedAvailable.clear(),this._applyValue(t,"transfer-right");return}if(r==="remove"){const t=new Set(this._selectedChosen),e=this._value.filter(a=>!t.has(a));this._selectedChosen.clear(),this._applyValue(e,"transfer-left")}}}_attachDelegatedListeners(){this._delegatedListenersAttached||(this.root.addEventListener("click",this._handleRootClick),this.root.addEventListener("keydown",this._handleRootKeyDown),this._delegatedListenersAttached=!0)}_detachDelegatedListeners(){this._delegatedListenersAttached&&(this.root.removeEventListener("click",this._handleRootClick),this.root.removeEventListener("keydown",this._handleRootKeyDown),this._delegatedListenersAttached=!1)}_applyValue(r,t){const e=new Set(this._options.map(s=>s.value)),a=Array.from(new Set(r.filter(s=>s&&(e.size===0||e.has(s))))),o=[...this._value];this._value=a,this._suppressValueAttr=!0;try{a.length?this.setAttribute("value",JSON.stringify(a)):this.removeAttribute("value")}finally{this._suppressValueAttr=!1}a.length>0&&this.removeAttribute("invalid"),this.requestRender(),this.dispatchEvent(new CustomEvent("change",{detail:{value:[...this._value],previousValue:o,selectedItems:this._options.filter(s=>this._value.includes(s.value)),source:t},bubbles:!0,composed:!0}))}_syncActionButtons(){const r=this.root.querySelector('[data-action="add"]'),t=this.root.querySelector('[data-action="remove"]');if(r){r.disabled=this._selectedAvailable.size===0;const e=r.querySelector(".move-btn-count");e&&(e.textContent=String(this._selectedAvailable.size))}if(t){t.disabled=this._selectedChosen.size===0;const e=t.querySelector(".move-btn-count");e&&(e.textContent=String(this._selectedChosen.size))}}_registerWithForm(){var r;this._formUnregister&&(this._formUnregister(),this._formUnregister=null);try{const e=this.getRootNode().host,o=((r=e==null?void 0:e.closest)==null?void 0:r.call(e,"ui-form"))||null||this.closest("ui-form"),s=this.getAttribute("name");o&&typeof o.registerField=="function"&&s&&(this._formUnregister=o.registerField(s,{name:s,getValue:()=>[...this._value],setValue:c=>{const u=Array.isArray(c)?c.map(d=>String(d)):[];this._applyValue(u,"api")},validate:async()=>({valid:!this.hasAttribute("required")||this._value.length>0,message:"Select at least one item."}),setError:c=>{c?(this.setAttribute("error",c),this.setAttribute("invalid","")):(this.removeAttribute("error"),this.removeAttribute("invalid")),this.requestRender()}}))}catch{}}}typeof customElements<"u"&&!customElements.get("ui-transfer-list")&&customElements.define("ui-transfer-list",A);exports.UITransferList=A;
734
+ `)}_toggleItem(e){if(this.hasAttribute("disabled"))return;const t=e.getAttribute("data-side"),r=e.getAttribute("data-value")||"";if(!r)return;const a=t==="chosen"?this._selectedChosen:this._selectedAvailable;a.has(r)?a.delete(r):a.add(r),e.setAttribute("data-selected",a.has(r)?"true":"false"),e.setAttribute("aria-selected",a.has(r)?"true":"false"),this._syncActionButtons()}_onItemKeyDown(e,t){const r=t.getAttribute("data-side");if(!r)return;if(e.key==="Enter"||e.key===" "){e.preventDefault(),this._toggleItem(t);return}if(!["ArrowDown","ArrowUp","Home","End"].includes(e.key))return;e.preventDefault();const a=this.root.querySelector(`[data-list="${r}"]`),o=Array.from(a?.querySelectorAll('.item[tabindex="0"]')||[]);if(!o.length)return;const s=o.indexOf(t);if(e.key==="Home"){o[0]?.focus();return}if(e.key==="End"){o[o.length-1]?.focus();return}const c=e.key==="ArrowDown"?Math.min(o.length-1,s+1):Math.max(0,s-1);o[c]?.focus()}_move(e){if(!this.hasAttribute("disabled")){if(e==="add"){const t=[...this._value,...Array.from(this._selectedAvailable).filter(r=>!this._value.includes(r))];this._selectedAvailable.clear(),this._applyValue(t,"transfer-right");return}if(e==="remove"){const t=new Set(this._selectedChosen),r=this._value.filter(a=>!t.has(a));this._selectedChosen.clear(),this._applyValue(r,"transfer-left")}}}_attachDelegatedListeners(){this._delegatedListenersAttached||(this.root.addEventListener("click",this._handleRootClick),this.root.addEventListener("keydown",this._handleRootKeyDown),this._delegatedListenersAttached=!0)}_detachDelegatedListeners(){this._delegatedListenersAttached&&(this.root.removeEventListener("click",this._handleRootClick),this.root.removeEventListener("keydown",this._handleRootKeyDown),this._delegatedListenersAttached=!1)}_applyValue(e,t){const r=new Set(this._options.map(s=>s.value)),a=Array.from(new Set(e.filter(s=>s&&(r.size===0||r.has(s))))),o=[...this._value];this._value=a,this._suppressValueAttr=!0;try{a.length?this.setAttribute("value",JSON.stringify(a)):this.removeAttribute("value")}finally{this._suppressValueAttr=!1}a.length>0&&this.removeAttribute("invalid"),this.requestRender(),this.dispatchEvent(new CustomEvent("change",{detail:{value:[...this._value],previousValue:o,selectedItems:this._options.filter(s=>this._value.includes(s.value)),source:t},bubbles:!0,composed:!0}))}_syncActionButtons(){const e=this.root.querySelector('[data-action="add"]'),t=this.root.querySelector('[data-action="remove"]');if(e){e.disabled=this._selectedAvailable.size===0;const r=e.querySelector(".move-btn-count");r&&(r.textContent=String(this._selectedAvailable.size))}if(t){t.disabled=this._selectedChosen.size===0;const r=t.querySelector(".move-btn-count");r&&(r.textContent=String(this._selectedChosen.size))}}_registerWithForm(){this._formUnregister&&(this._formUnregister(),this._formUnregister=null);try{const a=this.getRootNode().host?.closest?.("ui-form")||null||this.closest("ui-form"),o=this.getAttribute("name");a&&typeof a.registerField=="function"&&o&&(this._formUnregister=a.registerField(o,{name:o,getValue:()=>[...this._value],setValue:s=>{const c=Array.isArray(s)?s.map(u=>String(u)):[];this._applyValue(c,"api")},validate:async()=>({valid:!this.hasAttribute("required")||this._value.length>0,message:"Select at least one item."}),setError:s=>{s?(this.setAttribute("error",s),this.setAttribute("invalid","")):(this.removeAttribute("error"),this.removeAttribute("invalid")),this.requestRender()}}))}catch{}}}typeof customElements<"u"&&!customElements.get("ui-transfer-list")&&customElements.define("ui-transfer-list",k);exports.UITransferList=k;