@editora/ui-core 0.1.19 → 0.1.21

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 (313) 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 +30 -29
  48. package/dist/color-picker.cjs.js +10 -10
  49. package/dist/color-picker.esm.js +190 -253
  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-collection.d.ts.map +1 -1
  57. package/dist/components/ui-multi-select.d.ts.map +1 -1
  58. package/dist/components/ui-orbiter.d.ts.map +1 -1
  59. package/dist/components/ui-portal.d.ts.map +1 -1
  60. package/dist/components/ui-positioner.d.ts.map +1 -1
  61. package/dist/components/ui-skeleton.d.ts.map +1 -1
  62. package/dist/components/ui-sortable.d.ts +8 -0
  63. package/dist/components/ui-sortable.d.ts.map +1 -1
  64. package/dist/components/ui-split-button.d.ts +1 -0
  65. package/dist/components/ui-split-button.d.ts.map +1 -1
  66. package/dist/components/ui-tabs.d.ts.map +1 -1
  67. package/dist/components/ui-textarea.d.ts.map +1 -1
  68. package/dist/components/ui-time-picker.d.ts.map +1 -1
  69. package/dist/container.cjs.js +2 -2
  70. package/dist/container.esm.js +2 -3
  71. package/dist/context-menu.cjs.js +8 -8
  72. package/dist/context-menu.esm.js +157 -219
  73. package/dist/control-group.cjs.js +1 -1
  74. package/dist/control-group.esm.js +2 -3
  75. package/dist/data-table.cjs.js +4 -4
  76. package/dist/data-table.esm.js +299 -381
  77. package/dist/date-field.cjs.js +3 -3
  78. package/dist/date-field.esm.js +68 -80
  79. package/dist/date-picker.cjs.js +9 -9
  80. package/dist/date-picker.esm.js +69 -97
  81. package/dist/date-range-picker.cjs.js +3 -3
  82. package/dist/date-range-picker.esm.js +32 -56
  83. package/dist/date-range-time-picker.cjs.js +9 -9
  84. package/dist/date-range-time-picker.esm.js +111 -140
  85. package/dist/date-time-picker.cjs.js +7 -7
  86. package/dist/date-time-picker.esm.js +115 -147
  87. package/dist/date-time-utils-Dmost5Ee.js +1 -0
  88. package/dist/date-time-utils-y1N2gvG2.mjs +268 -0
  89. package/dist/description.cjs.js +1 -1
  90. package/dist/description.esm.js +3 -5
  91. package/dist/dialog.cjs.js +12 -12
  92. package/dist/dialog.esm.js +44 -63
  93. package/dist/direction-provider.cjs.js +1 -1
  94. package/dist/direction-provider.esm.js +2 -3
  95. package/dist/{dismissable-layer-9c7e6b58.mjs → dismissable-layer-BmPIoK80.mjs} +29 -33
  96. package/dist/dismissable-layer-DNfrKA20.js +1 -0
  97. package/dist/dismissable-layer.cjs.js +2 -2
  98. package/dist/dismissable-layer.esm.js +4 -6
  99. package/dist/dock.cjs.js +5 -5
  100. package/dist/dock.esm.js +134 -155
  101. package/dist/drawer.cjs.js +2 -2
  102. package/dist/drawer.esm.js +18 -35
  103. package/dist/dropdown.cjs.js +2 -2
  104. package/dist/dropdown.esm.js +119 -149
  105. package/dist/dropzone.cjs.js +1 -1
  106. package/dist/dropzone.esm.js +0 -1
  107. package/dist/empty-state.cjs.js +1 -1
  108. package/dist/empty-state.esm.js +1 -1
  109. package/dist/field-error.cjs.js +1 -1
  110. package/dist/field-error.esm.js +3 -5
  111. package/dist/field.cjs.js +5 -5
  112. package/dist/field.esm.js +27 -34
  113. package/dist/fieldset.cjs.js +4 -4
  114. package/dist/fieldset.esm.js +19 -24
  115. package/dist/file-upload.cjs.js +4 -4
  116. package/dist/file-upload.esm.js +69 -93
  117. package/dist/flex.cjs.js +1 -1
  118. package/dist/flex.esm.js +5 -9
  119. package/dist/floating-toolbar.cjs.js +4 -4
  120. package/dist/floating-toolbar.esm.js +60 -85
  121. package/dist/focus-scope-Bwug2gDv.js +1 -0
  122. package/dist/{focus-scope-103833ee.mjs → focus-scope-CmEsG5UZ.mjs} +39 -48
  123. package/dist/focus-scope.cjs.js +2 -2
  124. package/dist/focus-scope.esm.js +15 -20
  125. package/dist/form.cjs.js +2 -2
  126. package/dist/form.esm.js +26 -53
  127. package/dist/gantt.cjs.js +43 -43
  128. package/dist/gantt.esm.js +295 -322
  129. package/dist/grid.cjs.js +1 -1
  130. package/dist/grid.esm.js +5 -9
  131. package/dist/hover-card.cjs.js +4 -4
  132. package/dist/hover-card.esm.js +22 -28
  133. package/dist/icon-cloud.cjs.js +7 -7
  134. package/dist/icon-cloud.esm.js +48 -62
  135. package/dist/icon.cjs.js +1 -1
  136. package/dist/icon.esm.js +2 -4
  137. package/dist/index.cjs.js +1 -1
  138. package/dist/index.esm.js +378 -390
  139. package/dist/inline-edit.cjs.js +11 -11
  140. package/dist/inline-edit.esm.js +32 -36
  141. package/dist/input.cjs.js +17 -17
  142. package/dist/input.esm.js +50 -63
  143. package/dist/label.cjs.js +2 -2
  144. package/dist/label.esm.js +8 -17
  145. package/dist/layout.cjs.js +2 -2
  146. package/dist/layout.esm.js +20 -26
  147. package/dist/listbox-B6QgECax.js +46 -0
  148. package/dist/listbox-DJamVeFj.mjs +200 -0
  149. package/dist/listbox.cjs.js +1 -1
  150. package/dist/listbox.esm.js +2 -4
  151. package/dist/marquee.cjs.js +5 -5
  152. package/dist/marquee.esm.js +33 -50
  153. package/dist/masonry-grid.cjs.js +1 -1
  154. package/dist/masonry-grid.esm.js +5 -9
  155. package/dist/menu.cjs.js +3 -3
  156. package/dist/menu.esm.js +106 -126
  157. package/dist/menubar.cjs.js +5 -5
  158. package/dist/menubar.esm.js +118 -164
  159. package/dist/meter.cjs.js +2 -2
  160. package/dist/meter.esm.js +4 -4
  161. package/dist/multi-select.cjs.js +5 -5
  162. package/dist/multi-select.esm.js +125 -137
  163. package/dist/navigation-menu.cjs.js +4 -4
  164. package/dist/navigation-menu.esm.js +44 -55
  165. package/dist/number-field.cjs.js +2 -2
  166. package/dist/number-field.esm.js +73 -98
  167. package/dist/number-ticker.cjs.js +3 -3
  168. package/dist/number-ticker.esm.js +22 -43
  169. package/dist/odometer.cjs.js +1 -1
  170. package/dist/odometer.esm.js +5 -9
  171. package/dist/orbiter.cjs.js +13 -13
  172. package/dist/orbiter.esm.js +79 -90
  173. package/dist/{overlayManager-5bbd4dc3.mjs → overlayManager-BJjU1VA8.mjs} +4 -5
  174. package/dist/{overlayManager-0eda4e08.js → overlayManager-CSy3fJmJ.js} +1 -1
  175. package/dist/pagination.cjs.js +2 -2
  176. package/dist/pagination.esm.js +14 -18
  177. package/dist/{panel-group-a376cc5e.mjs → panel-group-8sVNnGxg.mjs} +24 -46
  178. package/dist/panel-group-CaD0_KQf.js +36 -0
  179. package/dist/panel-group.cjs.js +1 -1
  180. package/dist/panel-group.esm.js +2 -5
  181. package/dist/panel.cjs.js +4 -4
  182. package/dist/panel.esm.js +8 -10
  183. package/dist/password-field.cjs.js +9 -9
  184. package/dist/password-field.esm.js +62 -82
  185. package/dist/pin-input.cjs.js +3 -3
  186. package/dist/pin-input.esm.js +33 -39
  187. package/dist/placement-grid.cjs.js +4 -4
  188. package/dist/placement-grid.esm.js +108 -131
  189. package/dist/plugin-panel.cjs.js +7 -7
  190. package/dist/plugin-panel.esm.js +13 -15
  191. package/dist/popover.cjs.js +2 -2
  192. package/dist/popover.esm.js +21 -31
  193. package/dist/portal-DgpQ3Jo1.js +1 -0
  194. package/dist/{portal-fe73e5cc.mjs → portal-bR42gHvG.mjs} +43 -48
  195. package/dist/portal.cjs.js +3 -3
  196. package/dist/portal.esm.js +20 -28
  197. package/dist/{positioner-e9770c66.mjs → positioner-D0VGxtYU.mjs} +189 -209
  198. package/dist/positioner-D_fqyx_j.js +1 -0
  199. package/dist/positioner.cjs.js +2 -2
  200. package/dist/positioner.esm.js +22 -28
  201. package/dist/presence.cjs.js +1 -1
  202. package/dist/presence.esm.js +7 -13
  203. package/dist/primitives/auto-scroll.d.ts +9 -0
  204. package/dist/primitives/auto-scroll.d.ts.map +1 -0
  205. package/dist/primitives/selector.d.ts +4 -0
  206. package/dist/primitives/selector.d.ts.map +1 -0
  207. package/dist/progress.cjs.js +1 -1
  208. package/dist/progress.esm.js +5 -9
  209. package/dist/quick-actions.cjs.js +6 -6
  210. package/dist/quick-actions.esm.js +52 -62
  211. package/dist/radio-group.cjs.js +13 -13
  212. package/dist/radio-group.esm.js +39 -51
  213. package/dist/radio.cjs.js +1 -1
  214. package/dist/radio.esm.js +5 -9
  215. package/dist/rating.cjs.js +1 -1
  216. package/dist/rating.esm.js +12 -23
  217. package/dist/{roving-focus-group-4350c9a7.mjs → roving-focus-group-Dbm1Jko_.mjs} +3 -6
  218. package/dist/roving-focus-group.cjs.js +1 -1
  219. package/dist/roving-focus-group.esm.js +3 -5
  220. package/dist/runtime-CTaOSmBj.js +1 -0
  221. package/dist/{runtime-161f68a2.mjs → runtime-D1gFh1fS.mjs} +338 -366
  222. package/dist/runtime.cjs.js +1 -1
  223. package/dist/runtime.esm.js +6 -6
  224. package/dist/scroll-area.cjs.js +3 -3
  225. package/dist/scroll-area.esm.js +38 -46
  226. package/dist/{scroll-lock-31da444f.mjs → scroll-lock-LfqXXqsu.mjs} +5 -9
  227. package/dist/section.cjs.js +1 -1
  228. package/dist/section.esm.js +1 -1
  229. package/dist/select.cjs.js +7 -7
  230. package/dist/select.esm.js +67 -97
  231. package/dist/selection-popup.cjs.js +1 -1
  232. package/dist/selection-popup.esm.js +8 -15
  233. package/dist/selector-BvAh35ve.js +1 -0
  234. package/dist/selector-WI8pD7YO.mjs +18 -0
  235. package/dist/separator.cjs.js +1 -1
  236. package/dist/separator.esm.js +1 -1
  237. package/dist/sidebar.cjs.js +18 -18
  238. package/dist/sidebar.esm.js +117 -139
  239. package/dist/skeleton.cjs.js +11 -11
  240. package/dist/skeleton.esm.js +27 -24
  241. package/dist/slider.cjs.js +1 -1
  242. package/dist/slider.esm.js +6 -11
  243. package/dist/slot.cjs.js +4 -4
  244. package/dist/slot.esm.js +16 -19
  245. package/dist/sortable.cjs.js +79 -65
  246. package/dist/sortable.esm.js +714 -734
  247. package/dist/spinning-text.cjs.js +12 -12
  248. package/dist/spinning-text.esm.js +80 -92
  249. package/dist/split-button.cjs.js +4 -4
  250. package/dist/split-button.esm.js +77 -62
  251. package/dist/splitter.cjs.js +1 -1
  252. package/dist/splitter.esm.js +1 -1
  253. package/dist/stepper.cjs.js +8 -8
  254. package/dist/stepper.esm.js +32 -52
  255. package/dist/switch.cjs.js +7 -7
  256. package/dist/switch.esm.js +23 -31
  257. package/dist/table.cjs.js +2 -2
  258. package/dist/table.esm.js +46 -56
  259. package/dist/tabs.cjs.js +8 -8
  260. package/dist/tabs.esm.js +89 -109
  261. package/dist/tags-input.cjs.js +4 -4
  262. package/dist/tags-input.esm.js +45 -62
  263. package/dist/textarea.cjs.js +10 -10
  264. package/dist/textarea.esm.js +49 -52
  265. package/dist/time-field.cjs.js +4 -4
  266. package/dist/time-field.esm.js +70 -84
  267. package/dist/time-picker.cjs.js +22 -22
  268. package/dist/time-picker.esm.js +88 -110
  269. package/dist/timeline.cjs.js +1 -1
  270. package/dist/timeline.esm.js +3 -5
  271. package/dist/toast.cjs.js +2 -2
  272. package/dist/toast.esm.js +33 -47
  273. package/dist/toggle-group.cjs.js +6 -6
  274. package/dist/toggle-group.esm.js +85 -105
  275. package/dist/toggle.cjs.js +1 -1
  276. package/dist/toggle.esm.js +3 -5
  277. package/dist/toolbar.cjs.js +1 -1
  278. package/dist/toolbar.esm.js +13 -24
  279. package/dist/tooltip.cjs.js +2 -2
  280. package/dist/tooltip.esm.js +31 -42
  281. package/dist/transfer-list.cjs.js +31 -31
  282. package/dist/transfer-list.esm.js +114 -127
  283. package/dist/{tree-dcd74a4a.mjs → tree-B3kE8ESs.mjs} +55 -62
  284. package/dist/tree-Dx_kv_ih.js +39 -0
  285. package/dist/tree-item.cjs.js +2 -2
  286. package/dist/tree-item.esm.js +2 -3
  287. package/dist/tree.cjs.js +1 -1
  288. package/dist/tree.esm.js +2 -5
  289. package/dist/ui-button-Q0GNNWKC.mjs +665 -0
  290. package/dist/ui-button-rXQOS9QJ.js +521 -0
  291. package/dist/{icon-9e9da03b.js → ui-icon-BzVNC_lr.js} +4 -4
  292. package/dist/{icon-e2a85cc1.mjs → ui-icon-YI6lyuqU.mjs} +58 -65
  293. package/dist/visually-hidden.cjs.js +1 -1
  294. package/dist/visually-hidden.esm.js +1 -1
  295. package/dist/wizard.cjs.js +14 -14
  296. package/dist/wizard.esm.js +85 -105
  297. package/package.json +2 -2
  298. package/dist/date-time-utils-66480de4.js +0 -1
  299. package/dist/date-time-utils-a2c7af25.mjs +0 -307
  300. package/dist/dismissable-layer-193e3bed.js +0 -1
  301. package/dist/focus-scope-2b12b4e7.js +0 -1
  302. package/dist/listbox-308789a0.mjs +0 -210
  303. package/dist/listbox-ef2f708e.js +0 -46
  304. package/dist/panel-group-40254cdd.js +0 -36
  305. package/dist/portal-c69756c0.js +0 -1
  306. package/dist/positioner-33529bb8.js +0 -1
  307. package/dist/runtime-3f13807b.js +0 -1
  308. package/dist/tree-0a7a8d05.js +0 -39
  309. /package/dist/{collection-a2969ad2.js → collection-qv8A8rq4.js} +0 -0
  310. /package/dist/{menu-item-styles-27fdbac4.mjs → menu-item-styles-CZiPwPwl.mjs} +0 -0
  311. /package/dist/{menu-item-styles-83ad1e22.js → menu-item-styles-CbNUEwP2.js} +0 -0
  312. /package/dist/{roving-focus-group-5c059bf9.js → roving-focus-group-BdJ_4Njm.js} +0 -0
  313. /package/dist/{scroll-lock-d7b0df21.js → scroll-lock-BX6e3Ced.js} +0 -0
@@ -1,5 +1,5 @@
1
- import { E as w } from "./ElementBase-909688f3.mjs";
2
- const g = `
1
+ import { E as p } from "./ElementBase-YlTLMsGk.mjs";
2
+ const w = `
3
3
  :host {
4
4
  --ui-switch-width: 44px;
5
5
  --ui-switch-height: 24px;
@@ -373,17 +373,16 @@ const g = `
373
373
  background: HighlightText;
374
374
  }
375
375
  }
376
- `, u = /* @__PURE__ */ new Set(["label", "description"]);
377
- function d(s) {
378
- if (s == null)
379
- return !1;
376
+ `, l = /* @__PURE__ */ new Set(["label", "description"]);
377
+ function u(s) {
378
+ if (s == null) return !1;
380
379
  const t = String(s).toLowerCase();
381
380
  return t !== "false" && t !== "0" && t !== "off";
382
381
  }
383
- function b(s) {
382
+ function d(s) {
384
383
  return String(s).replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&#39;");
385
384
  }
386
- function f(s) {
385
+ function g(s) {
387
386
  for (const t of s)
388
387
  if (t instanceof HTMLElement && t.matches(
389
388
  'a,button,input,select,textarea,[contenteditable="true"],[data-ui-switch-no-toggle]'
@@ -391,7 +390,7 @@ function f(s) {
391
390
  return !0;
392
391
  return !1;
393
392
  }
394
- class m extends w {
393
+ class f extends p {
395
394
  constructor() {
396
395
  super(), this._control = null, this._onClick = this._onClick.bind(this), this._onKeyDown = this._onKeyDown.bind(this), this._onSlotChange = this._onSlotChange.bind(this);
397
396
  }
@@ -423,7 +422,7 @@ class m extends w {
423
422
  }
424
423
  attributeChangedCallback(t, i, e) {
425
424
  if (i !== e) {
426
- if (u.has(t)) {
425
+ if (l.has(t)) {
427
426
  super.attributeChangedCallback(t, i, e);
428
427
  return;
429
428
  }
@@ -443,8 +442,7 @@ class m extends w {
443
442
  t ? this.setAttribute("disabled", "") : this.removeAttribute("disabled");
444
443
  }
445
444
  toggle(t) {
446
- if (this.disabled)
447
- return;
445
+ if (this.disabled) return;
448
446
  const i = typeof t == "boolean" ? t : !this.checked;
449
447
  if (i === this.checked) {
450
448
  this._syncAria();
@@ -455,30 +453,27 @@ class m extends w {
455
453
  checked: i,
456
454
  value: this.getAttribute("value") || "on",
457
455
  name: this.getAttribute("name") || "",
458
- required: d(this.getAttribute("required"))
456
+ required: u(this.getAttribute("required"))
459
457
  };
460
458
  this.dispatchEvent(new CustomEvent("input", { detail: e, bubbles: !0, composed: !0 })), this.dispatchEvent(new CustomEvent("change", { detail: e, bubbles: !0, composed: !0 }));
461
459
  }
462
460
  _syncAria() {
463
- const t = this.checked, i = this.disabled, e = this.hasAttribute("loading"), r = d(this.getAttribute("required"));
461
+ const t = this.checked, i = this.disabled, e = this.hasAttribute("loading"), r = u(this.getAttribute("required"));
464
462
  this.setAttribute("role", "switch"), this.setAttribute("aria-checked", t ? "true" : "false"), this.setAttribute("aria-disabled", i ? "true" : "false"), this.setAttribute("aria-busy", e ? "true" : "false"), r ? this.setAttribute("aria-required", "true") : this.removeAttribute("aria-required");
465
463
  const o = this.getAttribute("data-ui-switch-tabindex");
466
464
  i ? (o == null && this.setAttribute("data-ui-switch-tabindex", this.getAttribute("tabindex") || ""), this.getAttribute("tabindex") !== "-1" && this.setAttribute("tabindex", "-1")) : o != null ? (o ? this.setAttribute("tabindex", o) : this.removeAttribute("tabindex"), this.removeAttribute("data-ui-switch-tabindex")) : this.hasAttribute("tabindex") || this.setAttribute("tabindex", "0"), this._control && (this._control.disabled = i);
467
465
  }
468
466
  _onClick(t) {
469
- if (this.disabled)
470
- return;
467
+ if (this.disabled) return;
471
468
  const i = t.composedPath();
472
469
  if (!i.some(
473
470
  (a) => a instanceof HTMLElement && a.classList.contains("control")
474
- ) && f(i))
475
- return;
471
+ ) && g(i)) return;
476
472
  const r = t.target;
477
473
  r instanceof HTMLElement && r.closest(".shell") && (this.toggle(), this.focus({ preventScroll: !0 }));
478
474
  }
479
475
  _onKeyDown(t) {
480
- if (this.disabled || t.defaultPrevented)
481
- return;
476
+ if (this.disabled || t.defaultPrevented) return;
482
477
  const i = t.target;
483
478
  if (i instanceof HTMLElement && i !== this && !i.closest(".control"))
484
479
  return;
@@ -505,12 +500,9 @@ class m extends w {
505
500
  this.requestRender();
506
501
  }
507
502
  render() {
508
- const t = this.checked, i = this.disabled, e = (this.getAttribute("label") || "").trim(), r = (this.getAttribute("description") || "").trim(), o = Array.from(this.childNodes).some((n) => {
509
- var l;
510
- return n.nodeType === Node.TEXT_NODE ? !!((l = n.textContent) != null && l.trim()) : n.nodeType !== Node.ELEMENT_NODE ? !1 : !n.getAttribute("slot");
511
- }), a = !!this.querySelector('[slot="description"]'), c = !!e || o, h = !!r || a, p = c || h;
503
+ const t = this.checked, i = this.disabled, e = (this.getAttribute("label") || "").trim(), r = (this.getAttribute("description") || "").trim(), o = Array.from(this.childNodes).some((n) => n.nodeType === Node.TEXT_NODE ? !!n.textContent?.trim() : n.nodeType !== Node.ELEMENT_NODE ? !1 : !n.getAttribute("slot")), a = !!this.querySelector('[slot="description"]'), c = !!e || o, h = !!r || a, b = c || h;
512
504
  this.setContent(`
513
- <style>${g}</style>
505
+ <style>${w}</style>
514
506
  <span class="shell" part="shell">
515
507
  <button
516
508
  type="button"
@@ -526,18 +518,18 @@ class m extends w {
526
518
  <span class="thumb-icon icon-off" aria-hidden="true">•</span>
527
519
  </span>
528
520
  </button>
529
- <span class="label-wrap" part="label-wrap" ${p ? "" : "hidden"}>
530
- <span class="label" part="label" ${c ? "" : "hidden"}><slot>${b(e)}</slot></span>
531
- <span class="description" part="description" ${h ? "" : "hidden"}><slot name="description">${b(r)}</slot></span>
521
+ <span class="label-wrap" part="label-wrap" ${b ? "" : "hidden"}>
522
+ <span class="label" part="label" ${c ? "" : "hidden"}><slot>${d(e)}</slot></span>
523
+ <span class="description" part="description" ${h ? "" : "hidden"}><slot name="description">${d(r)}</slot></span>
532
524
  </span>
533
525
  </span>
534
526
  `), this._control = this.root.querySelector(".control"), this._syncAria(), this.setAttribute("aria-checked", t ? "true" : "false");
535
527
  }
536
528
  shouldRenderOnAttributeChange(t, i, e) {
537
- return u.has(t);
529
+ return l.has(t);
538
530
  }
539
531
  }
540
- typeof customElements < "u" && !customElements.get("ui-switch") && customElements.define("ui-switch", m);
532
+ typeof customElements < "u" && !customElements.get("ui-switch") && customElements.define("ui-switch", f);
541
533
  export {
542
- m as UISwitch
534
+ f as UISwitch
543
535
  };
package/dist/table.cjs.js CHANGED
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const p=require("./ElementBase-1b301e7f.js"),y=`
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const p=require("./ElementBase-EV6mVBUV.js"),y=`
2
2
  :host {
3
3
  display: block;
4
4
  color-scheme: light dark;
@@ -209,4 +209,4 @@
209
209
  <slot></slot>
210
210
  <div class="empty" part="empty" hidden>${t}</div>
211
211
  </div>
212
- `),this._syncStructure()}_findTable(){return this.querySelector("table")}_queueSyncStructure(){this.isConnected&&(this._syncRaf||(this._syncRaf=requestAnimationFrame(()=>{this._syncRaf=0,this._syncStructure()})))}_syncStructure(){if(!this._isSyncing){this._isSyncing=!0;try{this._table=this._findTable();const t=this.root.querySelector(".empty");if(this._syncEmptyText(),!this._table){t&&t.removeAttribute("hidden"),this._selectedRows.clear();return}t&&t.setAttribute("hidden",""),this._table.hasAttribute("data-ui-table")||this._table.setAttribute("data-ui-table","true"),this._table.hasAttribute("role")||this._table.setAttribute("role","table"),this._syncHeaderState(),this._syncRowSelectionState()}finally{this._isSyncing=!1}}}_syncEmptyText(){const t=this.root.querySelector(".empty");t&&(t.textContent=this.getAttribute("empty-text")||"No table data available.")}_headerCells(){var e;if(!this._table)return[];const t=(e=this._table.tHead)==null?void 0:e.rows[0];if(t)return Array.from(t.cells).filter(r=>r.tagName.toLowerCase()==="th");const s=this._table.querySelectorAll("th");return Array.from(s)}_syncHeaderState(){const t=this.hasAttribute("sortable");this._headerCells().forEach((e,r)=>{t?(e.setAttribute("data-sortable","true"),e.hasAttribute("tabindex")||e.setAttribute("tabindex","0")):(e.removeAttribute("data-sortable"),e.getAttribute("tabindex")==="0"&&e.removeAttribute("tabindex")),r===this._sortColumnIndex&&t?e.setAttribute("aria-sort",this._sortDirection==="asc"?"ascending":"descending"):t?e.setAttribute("aria-sort","none"):e.removeAttribute("aria-sort")})}_syncRowSelectionState(){const t=this.hasAttribute("selectable"),s=this._bodyRows();for(const e of Array.from(this._selectedRows))s.includes(e)||this._selectedRows.delete(e);s.forEach(e=>{t?(e.setAttribute("aria-selected",this._selectedRows.has(e)?"true":"false"),e.hasAttribute("tabindex")||e.setAttribute("tabindex","0"),this._selectedRows.has(e)?e.setAttribute("data-selected","true"):e.removeAttribute("data-selected")):(e.removeAttribute("aria-selected"),e.removeAttribute("data-selected"),e.getAttribute("tabindex")==="0"&&e.removeAttribute("tabindex"))})}_bodyRows(){if(!this._table)return[];const t=this._table.tBodies[0];return t?Array.from(t.rows):[]}_sortByColumn(t,s){if(!this._table)return;const e=this._table.tBodies[0];if(!e)return;this._sortColumnIndex===t?this._sortDirection=this._sortDirection==="asc"?"desc":"asc":(this._sortColumnIndex=t,this._sortDirection="asc"),Array.from(e.rows).map((a,l)=>({row:a,rowIndex:l,value:_(d(a.cells[t]))})).sort((a,l)=>{const b=a.value,u=l.value;let c=0;return typeof b=="number"&&typeof u=="number"?c=b-u:c=String(b).localeCompare(String(u),void 0,{numeric:!0,sensitivity:"base"}),c===0&&(c=a.rowIndex-l.rowIndex),this._sortDirection==="asc"?c:-c}).map(a=>a.row).forEach(a=>e.appendChild(a)),this._syncHeaderState(),this._syncRowSelectionState();const o=s.getAttribute("data-key")||d(s)||`column-${t+1}`;this.dispatchEvent(new CustomEvent("sort-change",{detail:{columnIndex:t,key:o,direction:this._sortDirection},bubbles:!0}))}_rowValues(t){const s=this._headerCells(),e=Array.from(t.cells),r={};return e.forEach((n,o)=>{const a=s[o],l=((a==null?void 0:a.getAttribute("data-key"))||d(a||void 0)||`col_${o+1}`).toLowerCase().replace(/[^a-z0-9_]+/g,"_").replace(/^_+|_+$/g,"");r[l||`col_${o+1}`]=d(n)}),r}_toggleRowSelection(t){const s=this.hasAttribute("multi-select"),e=this._selectedRows.has(t);s||this._selectedRows.clear(),e&&s?this._selectedRows.delete(t):this._selectedRows.add(t),this._syncRowSelectionState();const r=this._bodyRows(),n=r.flatMap((a,l)=>this._selectedRows.has(a)?[l]:[]),o=r.filter(a=>this._selectedRows.has(a)).map(a=>this._rowValues(a));this.dispatchEvent(new CustomEvent("row-select",{detail:{index:r.indexOf(t),selected:this._selectedRows.has(t),indices:n,rows:o},bubbles:!0}))}_onClick(t){if(!this._table)return;const s=t.target;if(this.hasAttribute("sortable")){const e=s.closest("th");if(e&&this._table.contains(e)){const n=this._headerCells().indexOf(e);if(n>=0){this._sortByColumn(n,e);return}}}if(this.hasAttribute("selectable")){const e=s.closest("tbody tr");e&&this._table.contains(e)&&this._toggleRowSelection(e)}}_onKeyDown(t){if(!this._table)return;const s=t.key;if(s!=="Enter"&&s!==" ")return;const e=t.target;if(this.hasAttribute("sortable")){const r=e.closest("th");if(r&&this._table.contains(r)){const o=this._headerCells().indexOf(r);if(o>=0){t.preventDefault(),this._sortByColumn(o,r);return}}}if(this.hasAttribute("selectable")){const r=e.closest("tbody tr");r&&this._table.contains(r)&&(t.preventDefault(),this._toggleRowSelection(r))}}shouldRenderOnAttributeChange(t,s,e){return!1}}typeof customElements<"u"&&!customElements.get("ui-table")&&customElements.define("ui-table",m);exports.UITable=m;
212
+ `),this._syncStructure()}_findTable(){return this.querySelector("table")}_queueSyncStructure(){this.isConnected&&(this._syncRaf||(this._syncRaf=requestAnimationFrame(()=>{this._syncRaf=0,this._syncStructure()})))}_syncStructure(){if(!this._isSyncing){this._isSyncing=!0;try{this._table=this._findTable();const t=this.root.querySelector(".empty");if(this._syncEmptyText(),!this._table){t&&t.removeAttribute("hidden"),this._selectedRows.clear();return}t&&t.setAttribute("hidden",""),this._table.hasAttribute("data-ui-table")||this._table.setAttribute("data-ui-table","true"),this._table.hasAttribute("role")||this._table.setAttribute("role","table"),this._syncHeaderState(),this._syncRowSelectionState()}finally{this._isSyncing=!1}}}_syncEmptyText(){const t=this.root.querySelector(".empty");t&&(t.textContent=this.getAttribute("empty-text")||"No table data available.")}_headerCells(){if(!this._table)return[];const t=this._table.tHead?.rows[0];if(t)return Array.from(t.cells).filter(e=>e.tagName.toLowerCase()==="th");const s=this._table.querySelectorAll("th");return Array.from(s)}_syncHeaderState(){const t=this.hasAttribute("sortable");this._headerCells().forEach((e,r)=>{t?(e.setAttribute("data-sortable","true"),e.hasAttribute("tabindex")||e.setAttribute("tabindex","0")):(e.removeAttribute("data-sortable"),e.getAttribute("tabindex")==="0"&&e.removeAttribute("tabindex")),r===this._sortColumnIndex&&t?e.setAttribute("aria-sort",this._sortDirection==="asc"?"ascending":"descending"):t?e.setAttribute("aria-sort","none"):e.removeAttribute("aria-sort")})}_syncRowSelectionState(){const t=this.hasAttribute("selectable"),s=this._bodyRows();for(const e of Array.from(this._selectedRows))s.includes(e)||this._selectedRows.delete(e);s.forEach(e=>{t?(e.setAttribute("aria-selected",this._selectedRows.has(e)?"true":"false"),e.hasAttribute("tabindex")||e.setAttribute("tabindex","0"),this._selectedRows.has(e)?e.setAttribute("data-selected","true"):e.removeAttribute("data-selected")):(e.removeAttribute("aria-selected"),e.removeAttribute("data-selected"),e.getAttribute("tabindex")==="0"&&e.removeAttribute("tabindex"))})}_bodyRows(){if(!this._table)return[];const t=this._table.tBodies[0];return t?Array.from(t.rows):[]}_sortByColumn(t,s){if(!this._table)return;const e=this._table.tBodies[0];if(!e)return;this._sortColumnIndex===t?this._sortDirection=this._sortDirection==="asc"?"desc":"asc":(this._sortColumnIndex=t,this._sortDirection="asc"),Array.from(e.rows).map((a,l)=>({row:a,rowIndex:l,value:_(d(a.cells[t]))})).sort((a,l)=>{const b=a.value,u=l.value;let c=0;return typeof b=="number"&&typeof u=="number"?c=b-u:c=String(b).localeCompare(String(u),void 0,{numeric:!0,sensitivity:"base"}),c===0&&(c=a.rowIndex-l.rowIndex),this._sortDirection==="asc"?c:-c}).map(a=>a.row).forEach(a=>e.appendChild(a)),this._syncHeaderState(),this._syncRowSelectionState();const o=s.getAttribute("data-key")||d(s)||`column-${t+1}`;this.dispatchEvent(new CustomEvent("sort-change",{detail:{columnIndex:t,key:o,direction:this._sortDirection},bubbles:!0}))}_rowValues(t){const s=this._headerCells(),e=Array.from(t.cells),r={};return e.forEach((n,o)=>{const a=s[o],l=(a?.getAttribute("data-key")||d(a||void 0)||`col_${o+1}`).toLowerCase().replace(/[^a-z0-9_]+/g,"_").replace(/^_+|_+$/g,"");r[l||`col_${o+1}`]=d(n)}),r}_toggleRowSelection(t){const s=this.hasAttribute("multi-select"),e=this._selectedRows.has(t);s||this._selectedRows.clear(),e&&s?this._selectedRows.delete(t):this._selectedRows.add(t),this._syncRowSelectionState();const r=this._bodyRows(),n=r.flatMap((a,l)=>this._selectedRows.has(a)?[l]:[]),o=r.filter(a=>this._selectedRows.has(a)).map(a=>this._rowValues(a));this.dispatchEvent(new CustomEvent("row-select",{detail:{index:r.indexOf(t),selected:this._selectedRows.has(t),indices:n,rows:o},bubbles:!0}))}_onClick(t){if(!this._table)return;const s=t.target;if(this.hasAttribute("sortable")){const e=s.closest("th");if(e&&this._table.contains(e)){const n=this._headerCells().indexOf(e);if(n>=0){this._sortByColumn(n,e);return}}}if(this.hasAttribute("selectable")){const e=s.closest("tbody tr");e&&this._table.contains(e)&&this._toggleRowSelection(e)}}_onKeyDown(t){if(!this._table)return;const s=t.key;if(s!=="Enter"&&s!==" ")return;const e=t.target;if(this.hasAttribute("sortable")){const r=e.closest("th");if(r&&this._table.contains(r)){const o=this._headerCells().indexOf(r);if(o>=0){t.preventDefault(),this._sortByColumn(o,r);return}}}if(this.hasAttribute("selectable")){const r=e.closest("tbody tr");r&&this._table.contains(r)&&(t.preventDefault(),this._toggleRowSelection(r))}}shouldRenderOnAttributeChange(t,s,e){return!1}}typeof customElements<"u"&&!customElements.get("ui-table")&&customElements.define("ui-table",m);exports.UITable=m;
package/dist/table.esm.js CHANGED
@@ -1,4 +1,4 @@
1
- import { E as m } from "./ElementBase-909688f3.mjs";
1
+ import { E as m } from "./ElementBase-YlTLMsGk.mjs";
2
2
  const p = `
3
3
  :host {
4
4
  display: block;
@@ -206,15 +206,14 @@ const p = `
206
206
  }
207
207
  `;
208
208
  function f() {
209
- if (typeof document > "u")
210
- return;
209
+ if (typeof document > "u") return;
211
210
  const i = "ui-table-light-dom-style", t = document.getElementById(i);
212
211
  if (t) {
213
212
  t.textContent !== h && (t.textContent = h);
214
213
  return;
215
214
  }
216
- const s = document.createElement("style");
217
- s.id = i, s.textContent = h, document.head.appendChild(s);
215
+ const r = document.createElement("style");
216
+ r.id = i, r.textContent = h, document.head.appendChild(r);
218
217
  }
219
218
  typeof document < "u" && f();
220
219
  function d(i) {
@@ -222,10 +221,9 @@ function d(i) {
222
221
  }
223
222
  function y(i) {
224
223
  const t = i.replace(/,/g, "");
225
- if (/^-?\d+(\.\d+)?$/.test(t))
226
- return Number(t);
227
- const s = Date.parse(i);
228
- return !Number.isNaN(s) && /[-/]/.test(i) ? s : i.toLowerCase();
224
+ if (/^-?\d+(\.\d+)?$/.test(t)) return Number(t);
225
+ const r = Date.parse(i);
226
+ return !Number.isNaN(r) && /[-/]/.test(i) ? r : i.toLowerCase();
229
227
  }
230
228
  class _ extends m {
231
229
  constructor() {
@@ -246,8 +244,8 @@ class _ extends m {
246
244
  disconnectedCallback() {
247
245
  this.removeEventListener("click", this._onClick), this.removeEventListener("keydown", this._onKeyDown), this._syncRaf && (cancelAnimationFrame(this._syncRaf), this._syncRaf = 0), this._observer && (this._observer.disconnect(), this._observer = null), super.disconnectedCallback();
248
246
  }
249
- attributeChangedCallback(t, s, e) {
250
- if (s !== e) {
247
+ attributeChangedCallback(t, r, e) {
248
+ if (r !== e) {
251
249
  if (t === "headless") {
252
250
  this.requestRender();
253
251
  return;
@@ -302,41 +300,36 @@ class _ extends m {
302
300
  t && (t.textContent = this.getAttribute("empty-text") || "No table data available.");
303
301
  }
304
302
  _headerCells() {
305
- var e;
306
- if (!this._table)
307
- return [];
308
- const t = (e = this._table.tHead) == null ? void 0 : e.rows[0];
303
+ if (!this._table) return [];
304
+ const t = this._table.tHead?.rows[0];
309
305
  if (t)
310
- return Array.from(t.cells).filter((r) => r.tagName.toLowerCase() === "th");
311
- const s = this._table.querySelectorAll("th");
312
- return Array.from(s);
306
+ return Array.from(t.cells).filter((e) => e.tagName.toLowerCase() === "th");
307
+ const r = this._table.querySelectorAll("th");
308
+ return Array.from(r);
313
309
  }
314
310
  _syncHeaderState() {
315
311
  const t = this.hasAttribute("sortable");
316
- this._headerCells().forEach((e, r) => {
317
- t ? (e.setAttribute("data-sortable", "true"), e.hasAttribute("tabindex") || e.setAttribute("tabindex", "0")) : (e.removeAttribute("data-sortable"), e.getAttribute("tabindex") === "0" && e.removeAttribute("tabindex")), r === this._sortColumnIndex && t ? e.setAttribute("aria-sort", this._sortDirection === "asc" ? "ascending" : "descending") : t ? e.setAttribute("aria-sort", "none") : e.removeAttribute("aria-sort");
312
+ this._headerCells().forEach((e, s) => {
313
+ t ? (e.setAttribute("data-sortable", "true"), e.hasAttribute("tabindex") || e.setAttribute("tabindex", "0")) : (e.removeAttribute("data-sortable"), e.getAttribute("tabindex") === "0" && e.removeAttribute("tabindex")), s === this._sortColumnIndex && t ? e.setAttribute("aria-sort", this._sortDirection === "asc" ? "ascending" : "descending") : t ? e.setAttribute("aria-sort", "none") : e.removeAttribute("aria-sort");
318
314
  });
319
315
  }
320
316
  _syncRowSelectionState() {
321
- const t = this.hasAttribute("selectable"), s = this._bodyRows();
317
+ const t = this.hasAttribute("selectable"), r = this._bodyRows();
322
318
  for (const e of Array.from(this._selectedRows))
323
- s.includes(e) || this._selectedRows.delete(e);
324
- s.forEach((e) => {
319
+ r.includes(e) || this._selectedRows.delete(e);
320
+ r.forEach((e) => {
325
321
  t ? (e.setAttribute("aria-selected", this._selectedRows.has(e) ? "true" : "false"), e.hasAttribute("tabindex") || e.setAttribute("tabindex", "0"), this._selectedRows.has(e) ? e.setAttribute("data-selected", "true") : e.removeAttribute("data-selected")) : (e.removeAttribute("aria-selected"), e.removeAttribute("data-selected"), e.getAttribute("tabindex") === "0" && e.removeAttribute("tabindex"));
326
322
  });
327
323
  }
328
324
  _bodyRows() {
329
- if (!this._table)
330
- return [];
325
+ if (!this._table) return [];
331
326
  const t = this._table.tBodies[0];
332
327
  return t ? Array.from(t.rows) : [];
333
328
  }
334
- _sortByColumn(t, s) {
335
- if (!this._table)
336
- return;
329
+ _sortByColumn(t, r) {
330
+ if (!this._table) return;
337
331
  const e = this._table.tBodies[0];
338
- if (!e)
339
- return;
332
+ if (!e) return;
340
333
  this._sortColumnIndex === t ? this._sortDirection = this._sortDirection === "asc" ? "desc" : "asc" : (this._sortColumnIndex = t, this._sortDirection = "asc"), Array.from(e.rows).map((a, l) => ({
341
334
  row: a,
342
335
  rowIndex: l,
@@ -346,7 +339,7 @@ class _ extends m {
346
339
  let c = 0;
347
340
  return typeof b == "number" && typeof u == "number" ? c = b - u : c = String(b).localeCompare(String(u), void 0, { numeric: !0, sensitivity: "base" }), c === 0 && (c = a.rowIndex - l.rowIndex), this._sortDirection === "asc" ? c : -c;
348
341
  }).map((a) => a.row).forEach((a) => e.appendChild(a)), this._syncHeaderState(), this._syncRowSelectionState();
349
- const o = s.getAttribute("data-key") || d(s) || `column-${t + 1}`;
342
+ const o = r.getAttribute("data-key") || d(r) || `column-${t + 1}`;
350
343
  this.dispatchEvent(
351
344
  new CustomEvent("sort-change", {
352
345
  detail: {
@@ -359,20 +352,20 @@ class _ extends m {
359
352
  );
360
353
  }
361
354
  _rowValues(t) {
362
- const s = this._headerCells(), e = Array.from(t.cells), r = {};
355
+ const r = this._headerCells(), e = Array.from(t.cells), s = {};
363
356
  return e.forEach((n, o) => {
364
- const a = s[o], l = ((a == null ? void 0 : a.getAttribute("data-key")) || d(a || void 0) || `col_${o + 1}`).toLowerCase().replace(/[^a-z0-9_]+/g, "_").replace(/^_+|_+$/g, "");
365
- r[l || `col_${o + 1}`] = d(n);
366
- }), r;
357
+ const a = r[o], l = (a?.getAttribute("data-key") || d(a || void 0) || `col_${o + 1}`).toLowerCase().replace(/[^a-z0-9_]+/g, "_").replace(/^_+|_+$/g, "");
358
+ s[l || `col_${o + 1}`] = d(n);
359
+ }), s;
367
360
  }
368
361
  _toggleRowSelection(t) {
369
- const s = this.hasAttribute("multi-select"), e = this._selectedRows.has(t);
370
- s || this._selectedRows.clear(), e && s ? this._selectedRows.delete(t) : this._selectedRows.add(t), this._syncRowSelectionState();
371
- const r = this._bodyRows(), n = r.flatMap((a, l) => this._selectedRows.has(a) ? [l] : []), o = r.filter((a) => this._selectedRows.has(a)).map((a) => this._rowValues(a));
362
+ const r = this.hasAttribute("multi-select"), e = this._selectedRows.has(t);
363
+ r || this._selectedRows.clear(), e && r ? this._selectedRows.delete(t) : this._selectedRows.add(t), this._syncRowSelectionState();
364
+ const s = this._bodyRows(), n = s.flatMap((a, l) => this._selectedRows.has(a) ? [l] : []), o = s.filter((a) => this._selectedRows.has(a)).map((a) => this._rowValues(a));
372
365
  this.dispatchEvent(
373
366
  new CustomEvent("row-select", {
374
367
  detail: {
375
- index: r.indexOf(t),
368
+ index: s.indexOf(t),
376
369
  selected: this._selectedRows.has(t),
377
370
  indices: n,
378
371
  rows: o
@@ -382,11 +375,10 @@ class _ extends m {
382
375
  );
383
376
  }
384
377
  _onClick(t) {
385
- if (!this._table)
386
- return;
387
- const s = t.target;
378
+ if (!this._table) return;
379
+ const r = t.target;
388
380
  if (this.hasAttribute("sortable")) {
389
- const e = s.closest("th");
381
+ const e = r.closest("th");
390
382
  if (e && this._table.contains(e)) {
391
383
  const n = this._headerCells().indexOf(e);
392
384
  if (n >= 0) {
@@ -396,33 +388,31 @@ class _ extends m {
396
388
  }
397
389
  }
398
390
  if (this.hasAttribute("selectable")) {
399
- const e = s.closest("tbody tr");
391
+ const e = r.closest("tbody tr");
400
392
  e && this._table.contains(e) && this._toggleRowSelection(e);
401
393
  }
402
394
  }
403
395
  _onKeyDown(t) {
404
- if (!this._table)
405
- return;
406
- const s = t.key;
407
- if (s !== "Enter" && s !== " ")
408
- return;
396
+ if (!this._table) return;
397
+ const r = t.key;
398
+ if (r !== "Enter" && r !== " ") return;
409
399
  const e = t.target;
410
400
  if (this.hasAttribute("sortable")) {
411
- const r = e.closest("th");
412
- if (r && this._table.contains(r)) {
413
- const o = this._headerCells().indexOf(r);
401
+ const s = e.closest("th");
402
+ if (s && this._table.contains(s)) {
403
+ const o = this._headerCells().indexOf(s);
414
404
  if (o >= 0) {
415
- t.preventDefault(), this._sortByColumn(o, r);
405
+ t.preventDefault(), this._sortByColumn(o, s);
416
406
  return;
417
407
  }
418
408
  }
419
409
  }
420
410
  if (this.hasAttribute("selectable")) {
421
- const r = e.closest("tbody tr");
422
- r && this._table.contains(r) && (t.preventDefault(), this._toggleRowSelection(r));
411
+ const s = e.closest("tbody tr");
412
+ s && this._table.contains(s) && (t.preventDefault(), this._toggleRowSelection(s));
423
413
  }
424
414
  }
425
- shouldRenderOnAttributeChange(t, s, e) {
415
+ shouldRenderOnAttributeChange(t, r, e) {
426
416
  return !1;
427
417
  }
428
418
  }
package/dist/tabs.cjs.js CHANGED
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const m=require("./ElementBase-1b301e7f.js"),u=require("./roving-focus-group-5c059bf9.js"),y=`
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const y=require("./ElementBase-EV6mVBUV.js"),d=require("./roving-focus-group-BdJ_4Njm.js"),_=`
2
2
  :host {
3
3
  --ui-tabs-nav-bg: var(--ui-color-surface, #ffffff);
4
4
  --ui-tabs-panel-bg: var(--ui-color-surface, #ffffff);
@@ -483,7 +483,7 @@
483
483
  border-color: Highlight;
484
484
  }
485
485
  }
486
- `;function p(v){return String(v).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}function f(v){if(v==null)return!1;const t=String(v).toLowerCase();return t!=="false"&&t!=="0"&&t!=="off"}const _=new Set(["orientation","activation","headless","variant","size","density","tone","stretched","shape","elevation","bare"]);class g extends m.ElementBase{constructor(){super(),this._uid=`ui-tabs-${Math.random().toString(36).slice(2,9)}`,this._observer=null,this._resizeObserver=null,this._isSyncing=!1,this._isSyncingSelectionAttributes=!1,this._focusIndex=-1,this._onClick=this._onClick.bind(this),this._onKeyDown=this._onKeyDown.bind(this),this._onWindowResize=this._onWindowResize.bind(this)}static get observedAttributes(){return["selected","value","orientation","activation","headless","variant","size","density","tone","stretched","shape","elevation","loop","bare"]}connectedCallback(){super.connectedCallback(),this.root.addEventListener("click",this._onClick),this.root.addEventListener("keydown",this._onKeyDown),this._observer=new MutationObserver(()=>{this._isSyncing||this.requestRender()}),this._observer.observe(this,{childList:!0,subtree:!0,characterData:!0,attributes:!0,attributeFilter:["slot","data-label","data-value","data-icon","data-disabled","disabled","data-active"]}),typeof ResizeObserver<"u"?(this._resizeObserver=new ResizeObserver(()=>this._syncSelectionUi()),this._resizeObserver.observe(this)):window.addEventListener("resize",this._onWindowResize),this._syncSelectionUi()}disconnectedCallback(){this.root.removeEventListener("click",this._onClick),this.root.removeEventListener("keydown",this._onKeyDown),this._observer&&(this._observer.disconnect(),this._observer=null),this._resizeObserver?(this._resizeObserver.disconnect(),this._resizeObserver=null):window.removeEventListener("resize",this._onWindowResize),super.disconnectedCallback()}attributeChangedCallback(t,e,i){if(e!==i){if(t==="selected"||t==="value"){this._isSyncingSelectionAttributes||this._syncSelectionUi();return}_.has(t)&&this.isConnected&&this.requestRender()}}get selected(){return this.getAttribute("selected")||"0"}set selected(t){const e=String(t);e?this.setAttribute("selected",e):this.removeAttribute("selected")}_sourceTabs(){return Array.from(this.querySelectorAll('[slot="tab"]'))}_sourcePanels(){return Array.from(this.querySelectorAll('[slot="panel"]'))}_tabsModel(){return this._sourceTabs().map((t,e)=>{var b;const i=t.getAttribute("data-value")||t.getAttribute("value")||String(e),a=t.getAttribute("data-label")||((b=t.textContent)==null?void 0:b.trim())||`Tab ${e+1}`,r=t.getAttribute("data-icon")||"",s=t.hasAttribute("disabled")||f(t.getAttribute("data-disabled")),n=`${this._uid}-tab-${e}`,o=`${this._uid}-panel-${e}`;return{index:e,value:i,label:a,icon:r,disabled:s,tabId:n,panelId:o}})}_resolveSelectedIndex(t){if(!t.length)return-1;const e=this.getAttribute("selected"),i=this.getAttribute("value"),a=this._sourceTabs();let r=-1;if(e!=null&&e!==""){const s=Number(e);Number.isFinite(s)?r=Math.trunc(s):r=t.findIndex(n=>n.value===e)}return r<0&&i&&(r=t.findIndex(s=>s.value===i)),r<0&&(r=t.findIndex((s,n)=>{var o;return!!((o=a[n])!=null&&o.hasAttribute("data-active"))&&!s.disabled})),(r<0||!t[r]||t[r].disabled)&&(r=t.findIndex(s=>!s.disabled)),r}_syncSelectedAttributes(t,e){const i=t[e];this._isSyncingSelectionAttributes=!0;try{if(!i){this.removeAttribute("selected"),this.removeAttribute("value");return}this.getAttribute("selected")!==String(e)&&this.setAttribute("selected",String(e)),this.getAttribute("value")!==i.value&&this.setAttribute("value",i.value)}finally{this._isSyncingSelectionAttributes=!1}}_emit(t,e,i){const a=e[i];if(!a)return;const r={selected:i,index:i,value:a.value,label:a.label,tabId:a.tabId,panelId:a.panelId};this.dispatchEvent(new CustomEvent(t,{detail:r,bubbles:!0,composed:!0}))}_setSelectedByIndex(t,e,i){const a=t[e];if(!a||a.disabled)return;if(this._resolveSelectedIndex(t)===e){this._focusTab(e);return}this._focusIndex=e,this.setAttribute("selected",String(e)),this.setAttribute("value",a.value),i&&(this._emit("change",t,e),this._emit("select",t,e))}_syncSelectionUi(){if(!this.isConnected)return;if(!this.root.querySelector(".nav")){this.requestRender();return}const t=this._tabsModel();if(!t.length)return;const e=this._resolveSelectedIndex(t),i=this._resolveFocusIndex(t,e);this._syncSelectedAttributes(t,e);const a=Array.from(this.root.querySelectorAll(".tab"));a.forEach((s,n)=>{const o=t[n];if(!o)return;const b=n===e;s.setAttribute("aria-selected",b?"true":"false"),s.setAttribute("aria-controls",o.panelId),s.setAttribute("aria-disabled",o.disabled?"true":"false"),o.disabled?s.setAttribute("disabled",""):s.removeAttribute("disabled")}),u.syncRovingTabStops(a,a[i]||null,{activeAttribute:null});const r=t[e];this._syncIndicator(e),r?(this.setAttribute("aria-activedescendant",r.tabId),this.setAttribute("aria-controls",r.panelId),this._scrollSelectedTabIntoView(e)):(this.removeAttribute("aria-activedescendant"),this.removeAttribute("aria-controls")),this._syncPanels(t,e)}_syncIndicator(t){const e=this.root.querySelector(".nav");if(!e)return;const i=this.getAttribute("variant")||"default",a=i==="indicator";if(!a&&!(i==="indicator-line")){e.removeAttribute("data-indicator-ready"),e.style.removeProperty("--ui-tabs-indicator-x"),e.style.removeProperty("--ui-tabs-indicator-y"),e.style.removeProperty("--ui-tabs-indicator-w"),e.style.removeProperty("--ui-tabs-indicator-h");return}const s=this.root.querySelector(`.tab[data-index="${t}"]`);if(!s){e.removeAttribute("data-indicator-ready");return}const n=this.getAttribute("orientation")==="vertical"?"vertical":"horizontal",o=getComputedStyle(this).direction==="rtl";let b=s.offsetLeft,d=s.offsetTop,c=s.offsetWidth,l=s.offsetHeight;a?(b+=2,d+=2,c=Math.max(0,c-2*2),l=Math.max(0,l-2*2)):n==="vertical"?(d+=5,l=Math.max(8,l-5*2),c=3,b+=o?s.offsetWidth-3-2:2):(b+=8,c=Math.max(12,c-8*2),l=2,d+=s.offsetHeight-2-2),e.style.setProperty("--ui-tabs-indicator-x",`${b}px`),e.style.setProperty("--ui-tabs-indicator-y",`${d}px`),e.style.setProperty("--ui-tabs-indicator-w",`${c}px`),e.style.setProperty("--ui-tabs-indicator-h",`${l}px`),e.setAttribute("data-indicator-ready","true")}_syncPanels(t,e){const i=this._sourcePanels(),a=this.root.querySelector(".panel-wrap");a&&(i.length?a.removeAttribute("hidden"):a.setAttribute("hidden","")),this._isSyncing=!0;try{i.forEach((r,s)=>{const n=t[s],o=s===e;r.id=(n==null?void 0:n.panelId)||`${this._uid}-panel-${s}`,r.setAttribute("role","tabpanel"),r.setAttribute("tabindex",o?"0":"-1"),r.setAttribute("aria-hidden",o?"false":"true"),n&&r.setAttribute("aria-labelledby",n.tabId),o?r.removeAttribute("hidden"):r.setAttribute("hidden","")})}finally{this._isSyncing=!1}}_enabledIndices(t){return t.filter(e=>!e.disabled).map(e=>e.index)}_resolveFocusIndex(t,e){const i=u.resolveRovingFocusIndex(t,{activeIndex:this._focusIndex,selectedIndex:e,getDisabled:a=>a.disabled});return this._focusIndex=i,i}_onWindowResize(){this._syncSelectionUi()}_focusTab(t){this._focusIndex=t;const e=this.root.querySelector(`.tab[data-index="${t}"]`),i=Array.from(this.root.querySelectorAll(".tab"));u.syncRovingTabStops(i,e,{activeAttribute:null}),u.focusRovingItem(e)}_scrollSelectedTabIntoView(t){const e=this.root.querySelector(".nav"),i=this.root.querySelector(`.tab[data-index="${t}"]`);if(!e||!i)return;const a=this.getAttribute("orientation")!=="vertical",r=typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia("(prefers-reduced-motion: reduce)").matches;typeof i.scrollIntoView=="function"&&i.scrollIntoView({behavior:r?"auto":"smooth",block:"nearest",inline:a?"center":"nearest"})}_onClick(t){const e=t.target,i=e==null?void 0:e.closest(".tab");if(!i||i.disabled)return;const a=Number(i.getAttribute("data-index"));if(!Number.isFinite(a))return;const r=this._tabsModel();this._setSelectedByIndex(r,a,!0)}_onKeyDown(t){const e=t.target,i=e==null?void 0:e.closest(".tab");if(!i)return;const a=this._tabsModel();if(!a.length)return;const r=this.getAttribute("orientation")==="vertical"?"vertical":"horizontal",s=this.getAttribute("activation")==="manual"?"manual":"auto",n=!this.hasAttribute("loop")||f(this.getAttribute("loop")),o=getComputedStyle(this).direction==="rtl",b=Number(i.getAttribute("data-index"));if(!Number.isFinite(b))return;const d=c=>{const l=u.moveRovingFocusIndex(a,b,c,{wrap:n,fallbackIndex:this._resolveFocusIndex(a,this._resolveSelectedIndex(a)),getDisabled:h=>h.disabled});l!=null&&(this._focusTab(l),s==="auto"?this._setSelectedByIndex(a,l,!0):this._emit("focus",a,l))};if(r==="horizontal"&&(t.key==="ArrowRight"&&!o||t.key==="ArrowLeft"&&o)||r==="vertical"&&t.key==="ArrowDown"){t.preventDefault(),d(1);return}if(r==="horizontal"&&(t.key==="ArrowLeft"&&!o||t.key==="ArrowRight"&&o)||r==="vertical"&&t.key==="ArrowUp"){t.preventDefault(),d(-1);return}if(t.key==="Home"){t.preventDefault();const c=u.getRovingFocusBoundaryIndex(a,"first",l=>l.disabled);if(c<0)return;this._focusTab(c),s==="auto"?this._setSelectedByIndex(a,c,!0):this._emit("focus",a,c);return}if(t.key==="End"){t.preventDefault();const c=u.getRovingFocusBoundaryIndex(a,"last",l=>l.disabled);if(c<0)return;this._focusTab(c),s==="auto"?this._setSelectedByIndex(a,c,!0):this._emit("focus",a,c);return}(t.key==="Enter"||t.key===" ")&&(t.preventDefault(),this._setSelectedByIndex(a,b,!0))}render(){const t=this._tabsModel(),e=this._resolveSelectedIndex(t),i=this._resolveFocusIndex(t,e);this._syncSelectedAttributes(t,e);const a=this.getAttribute("orientation")==="vertical"?"vertical":"horizontal",r=t.map(n=>{const o=n.index===e,b=n.icon?`<span class="tab-icon" aria-hidden="true">${p(n.icon)}</span>`:"";return`
486
+ `,p="data-ui-tabs-auto-label";function f(h){return String(h).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}function g(h){if(h==null)return!1;const t=String(h).toLowerCase();return t!=="false"&&t!=="0"&&t!=="off"}const w=new Set(["orientation","activation","headless","variant","size","density","tone","stretched","shape","elevation","bare"]);class x extends y.ElementBase{constructor(){super(),this._uid=`ui-tabs-${Math.random().toString(36).slice(2,9)}`,this._observer=null,this._resizeObserver=null,this._isSyncing=!1,this._isSyncingSelectionAttributes=!1,this._focusIndex=-1,this._onClick=this._onClick.bind(this),this._onKeyDown=this._onKeyDown.bind(this),this._onWindowResize=this._onWindowResize.bind(this)}static get observedAttributes(){return["selected","value","orientation","activation","headless","variant","size","density","tone","stretched","shape","elevation","loop","bare"]}connectedCallback(){super.connectedCallback(),this.root.addEventListener("click",this._onClick),this.root.addEventListener("keydown",this._onKeyDown),this._observer=new MutationObserver(()=>{this._isSyncing||this.requestRender()}),this._observer.observe(this,{childList:!0,subtree:!0,characterData:!0,attributes:!0,attributeFilter:["slot","data-label","data-value","data-icon","data-disabled","disabled","data-active"]}),typeof ResizeObserver<"u"?(this._resizeObserver=new ResizeObserver(()=>this._syncSelectionUi()),this._resizeObserver.observe(this)):window.addEventListener("resize",this._onWindowResize),this._syncSelectionUi()}disconnectedCallback(){this.root.removeEventListener("click",this._onClick),this.root.removeEventListener("keydown",this._onKeyDown),this._observer&&(this._observer.disconnect(),this._observer=null),this._resizeObserver?(this._resizeObserver.disconnect(),this._resizeObserver=null):window.removeEventListener("resize",this._onWindowResize),super.disconnectedCallback()}attributeChangedCallback(t,e,r){if(e!==r){if(t==="selected"||t==="value"){this._isSyncingSelectionAttributes||this._syncSelectionUi();return}w.has(t)&&this.isConnected&&this.requestRender()}}get selected(){return this.getAttribute("selected")||"0"}set selected(t){const e=String(t);e?this.setAttribute("selected",e):this.removeAttribute("selected")}_sourceTabs(){return Array.from(this.querySelectorAll('[slot="tab"]'))}_sourcePanels(){return Array.from(this.querySelectorAll('[slot="panel"]'))}_tabsModel(){return this._sourceTabs().map((t,e)=>{const r=t.getAttribute("data-value")||t.getAttribute("value")||String(e),a=t.getAttribute("data-label")||t.textContent?.trim()||`Tab ${e+1}`,i=t.getAttribute("data-icon")||"",s=t.hasAttribute("disabled")||g(t.getAttribute("data-disabled")),n=`${this._uid}-tab-${e}`,o=`${this._uid}-panel-${e}`;return{index:e,value:r,label:a,icon:i,disabled:s,tabId:n,panelId:o}})}_resolveSelectedIndex(t){if(!t.length)return-1;const e=this.getAttribute("selected"),r=this.getAttribute("value"),a=this._sourceTabs();let i=-1;if(e!=null&&e!==""){const s=Number(e);Number.isFinite(s)?i=Math.trunc(s):i=t.findIndex(n=>n.value===e)}return i<0&&r&&(i=t.findIndex(s=>s.value===r)),i<0&&(i=t.findIndex((s,n)=>!!a[n]?.hasAttribute("data-active")&&!s.disabled)),(i<0||!t[i]||t[i].disabled)&&(i=t.findIndex(s=>!s.disabled)),i}_syncSelectedAttributes(t,e){const r=t[e];this._isSyncingSelectionAttributes=!0;try{if(!r){this.removeAttribute("selected"),this.removeAttribute("value");return}this.getAttribute("selected")!==String(e)&&this.setAttribute("selected",String(e)),this.getAttribute("value")!==r.value&&this.setAttribute("value",r.value)}finally{this._isSyncingSelectionAttributes=!1}}_emit(t,e,r){const a=e[r];if(!a)return;const i={selected:r,index:r,value:a.value,label:a.label,tabId:a.tabId,panelId:a.panelId};this.dispatchEvent(new CustomEvent(t,{detail:i,bubbles:!0,composed:!0}))}_setSelectedByIndex(t,e,r){const a=t[e];if(!a||a.disabled)return;if(this._resolveSelectedIndex(t)===e){this._focusTab(e);return}this._focusIndex=e,this.setAttribute("selected",String(e)),this.setAttribute("value",a.value),r&&(this._emit("change",t,e),this._emit("select",t,e))}_syncSelectionUi(){if(!this.isConnected)return;if(!this.root.querySelector(".nav")){this.requestRender();return}const t=this._tabsModel();if(!t.length)return;const e=this._resolveSelectedIndex(t),r=this._resolveFocusIndex(t,e);this._syncSelectedAttributes(t,e);const a=Array.from(this.root.querySelectorAll(".tab"));a.forEach((s,n)=>{const o=t[n];if(!o)return;const l=n===e;s.setAttribute("aria-selected",l?"true":"false"),s.setAttribute("aria-controls",o.panelId),s.setAttribute("aria-disabled",o.disabled?"true":"false"),o.disabled?s.setAttribute("disabled",""):s.removeAttribute("disabled")}),d.syncRovingTabStops(a,a[r]||null,{activeAttribute:null});const i=t[e];this._syncIndicator(e),i?(this.setAttribute("aria-activedescendant",i.tabId),this.setAttribute("aria-controls",i.panelId),this._scrollSelectedTabIntoView(e)):(this.removeAttribute("aria-activedescendant"),this.removeAttribute("aria-controls")),this._syncPanels(t,e)}_syncIndicator(t){const e=this.root.querySelector(".nav");if(!e)return;const r=this.getAttribute("variant")||"default",a=r==="indicator";if(!a&&!(r==="indicator-line")){e.removeAttribute("data-indicator-ready"),e.style.removeProperty("--ui-tabs-indicator-x"),e.style.removeProperty("--ui-tabs-indicator-y"),e.style.removeProperty("--ui-tabs-indicator-w"),e.style.removeProperty("--ui-tabs-indicator-h");return}const s=this.root.querySelector(`.tab[data-index="${t}"]`);if(!s){e.removeAttribute("data-indicator-ready");return}const n=this.getAttribute("orientation")==="vertical"?"vertical":"horizontal",o=getComputedStyle(this).direction==="rtl";let l=s.offsetLeft,u=s.offsetTop,c=s.offsetWidth,b=s.offsetHeight;a?(l+=2,u+=2,c=Math.max(0,c-4),b=Math.max(0,b-4)):n==="vertical"?(u+=5,b=Math.max(8,b-10),c=3,l+=o?s.offsetWidth-3-2:2):(l+=8,c=Math.max(12,c-16),b=2,u+=s.offsetHeight-2-2),e.style.setProperty("--ui-tabs-indicator-x",`${l}px`),e.style.setProperty("--ui-tabs-indicator-y",`${u}px`),e.style.setProperty("--ui-tabs-indicator-w",`${c}px`),e.style.setProperty("--ui-tabs-indicator-h",`${b}px`),e.setAttribute("data-indicator-ready","true")}_syncPanels(t,e){const r=this._sourcePanels(),a=this.root.querySelector(".panel-wrap");a&&(r.length?a.removeAttribute("hidden"):a.setAttribute("hidden","")),this._isSyncing=!0;try{r.forEach((i,s)=>{const n=t[s],o=s===e;i.id=n?.panelId||`${this._uid}-panel-${s}`,i.setAttribute("role","tabpanel"),i.setAttribute("tabindex",o?"0":"-1"),i.setAttribute("aria-hidden",o?"false":"true"),n&&(i.getAttribute("aria-labelledby")===n.tabId&&i.removeAttribute("aria-labelledby"),i.hasAttribute("aria-labelledby")||i.hasAttribute("aria-label")&&!i.hasAttribute(p)||(i.setAttribute("aria-label",n.label),i.setAttribute(p,""))),o?i.removeAttribute("hidden"):i.setAttribute("hidden","")})}finally{this._isSyncing=!1}}_enabledIndices(t){return t.filter(e=>!e.disabled).map(e=>e.index)}_resolveFocusIndex(t,e){const r=d.resolveRovingFocusIndex(t,{activeIndex:this._focusIndex,selectedIndex:e,getDisabled:a=>a.disabled});return this._focusIndex=r,r}_onWindowResize(){this._syncSelectionUi()}_focusTab(t){this._focusIndex=t;const e=this.root.querySelector(`.tab[data-index="${t}"]`),r=Array.from(this.root.querySelectorAll(".tab"));d.syncRovingTabStops(r,e,{activeAttribute:null}),d.focusRovingItem(e)}_scrollSelectedTabIntoView(t){const e=this.root.querySelector(".nav"),r=this.root.querySelector(`.tab[data-index="${t}"]`);if(!e||!r)return;const a=this.getAttribute("orientation")!=="vertical",i=typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia("(prefers-reduced-motion: reduce)").matches;typeof r.scrollIntoView=="function"&&r.scrollIntoView({behavior:i?"auto":"smooth",block:"nearest",inline:a?"center":"nearest"})}_onClick(t){const r=t.target?.closest(".tab");if(!r||r.disabled)return;const a=Number(r.getAttribute("data-index"));if(!Number.isFinite(a))return;const i=this._tabsModel();this._setSelectedByIndex(i,a,!0)}_onKeyDown(t){const r=t.target?.closest(".tab");if(!r)return;const a=this._tabsModel();if(!a.length)return;const i=this.getAttribute("orientation")==="vertical"?"vertical":"horizontal",s=this.getAttribute("activation")==="manual"?"manual":"auto",n=!this.hasAttribute("loop")||g(this.getAttribute("loop")),o=getComputedStyle(this).direction==="rtl",l=Number(r.getAttribute("data-index"));if(!Number.isFinite(l))return;const u=c=>{const b=d.moveRovingFocusIndex(a,l,c,{wrap:n,fallbackIndex:this._resolveFocusIndex(a,this._resolveSelectedIndex(a)),getDisabled:v=>v.disabled});b!=null&&(this._focusTab(b),s==="auto"?this._setSelectedByIndex(a,b,!0):this._emit("focus",a,b))};if(i==="horizontal"&&(t.key==="ArrowRight"&&!o||t.key==="ArrowLeft"&&o)||i==="vertical"&&t.key==="ArrowDown"){t.preventDefault(),u(1);return}if(i==="horizontal"&&(t.key==="ArrowLeft"&&!o||t.key==="ArrowRight"&&o)||i==="vertical"&&t.key==="ArrowUp"){t.preventDefault(),u(-1);return}if(t.key==="Home"){t.preventDefault();const c=d.getRovingFocusBoundaryIndex(a,"first",b=>b.disabled);if(c<0)return;this._focusTab(c),s==="auto"?this._setSelectedByIndex(a,c,!0):this._emit("focus",a,c);return}if(t.key==="End"){t.preventDefault();const c=d.getRovingFocusBoundaryIndex(a,"last",b=>b.disabled);if(c<0)return;this._focusTab(c),s==="auto"?this._setSelectedByIndex(a,c,!0):this._emit("focus",a,c);return}(t.key==="Enter"||t.key===" ")&&(t.preventDefault(),this._setSelectedByIndex(a,l,!0))}render(){const t=this._tabsModel(),e=this._resolveSelectedIndex(t),r=this._resolveFocusIndex(t,e);this._syncSelectedAttributes(t,e);const a=this.getAttribute("orientation")==="vertical"?"vertical":"horizontal",i=t.map(n=>{const o=n.index===e,l=n.icon?`<span class="tab-icon" aria-hidden="true">${f(n.icon)}</span>`:"";return`
487
487
  <button
488
488
  type="button"
489
489
  class="tab"
@@ -494,22 +494,22 @@
494
494
  aria-selected="${o?"true":"false"}"
495
495
  aria-controls="${n.panelId}"
496
496
  aria-disabled="${n.disabled?"true":"false"}"
497
- tabindex="${n.index===i&&!n.disabled?"0":"-1"}"
497
+ tabindex="${n.index===r&&!n.disabled?"0":"-1"}"
498
498
  ${n.disabled?"disabled":""}
499
499
  >
500
- ${b}
501
- <span class="tab-label">${p(n.label)}</span>
500
+ ${l}
501
+ <span class="tab-label">${f(n.label)}</span>
502
502
  </button>
503
503
  `}).join("");this.setContent(`
504
- <style>${y}</style>
504
+ <style>${_}</style>
505
505
  <section class="shell" part="shell">
506
506
  <div class="nav" role="tablist" aria-orientation="${a}" part="nav">
507
507
  <span class="indicator" part="indicator" aria-hidden="true"></span>
508
- ${r}
508
+ ${i}
509
509
  </div>
510
510
  <div class="panel-wrap" part="panel-wrap" aria-live="polite">
511
511
  <slot name="panel"></slot>
512
512
  </div>
513
513
  </section>
514
514
  <slot class="source-tabs" name="tab"></slot>
515
- `);const s=t[e];s?(this.setAttribute("aria-activedescendant",s.tabId),this.setAttribute("aria-controls",s.panelId)):(this.removeAttribute("aria-activedescendant"),this.removeAttribute("aria-controls")),this._syncIndicator(e),this._syncPanels(t,e)}}typeof customElements<"u"&&!customElements.get("ui-tabs")&&customElements.define("ui-tabs",g);exports.UITabs=g;
515
+ `);const s=t[e];s?(this.setAttribute("aria-activedescendant",s.tabId),this.setAttribute("aria-controls",s.panelId)):(this.removeAttribute("aria-activedescendant"),this.removeAttribute("aria-controls")),this._syncIndicator(e),this._syncPanels(t,e)}}typeof customElements<"u"&&!customElements.get("ui-tabs")&&customElements.define("ui-tabs",x);exports.UITabs=x;