@editora/ui-core 0.2.0 → 0.2.2

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 (153) hide show
  1. package/README.md +8 -0
  2. package/dist/accordion.cjs.js +1 -1
  3. package/dist/accordion.esm.js +1 -1
  4. package/dist/alert-dialog.cjs.js +32 -24
  5. package/dist/alert-dialog.esm.js +48 -40
  6. package/dist/alert.cjs.js +2 -2
  7. package/dist/alert.esm.js +2 -2
  8. package/dist/animated-text.cjs.js +5 -5
  9. package/dist/animated-text.esm.js +5 -5
  10. package/dist/app-header.cjs.js +12 -7
  11. package/dist/app-header.esm.js +12 -7
  12. package/dist/avatar.cjs.js +3 -3
  13. package/dist/avatar.esm.js +3 -3
  14. package/dist/{calendar-o273O28D.js → calendar-CzpWDxLc.js} +5 -4
  15. package/dist/{calendar-DmxiZrR7.mjs → calendar-DkSDFg33.mjs} +1 -0
  16. package/dist/calendar.cjs.js +1 -1
  17. package/dist/calendar.esm.js +1 -1
  18. package/dist/chart.cjs.js +13 -7
  19. package/dist/chart.esm.js +13 -7
  20. package/dist/collapsible.cjs.js +2 -2
  21. package/dist/collapsible.esm.js +2 -2
  22. package/dist/color-picker.cjs.js +3 -3
  23. package/dist/color-picker.esm.js +3 -3
  24. package/dist/combobox.cjs.js +3 -3
  25. package/dist/combobox.esm.js +36 -36
  26. package/dist/components/ui-alert-dialog.d.ts.map +1 -1
  27. package/dist/components/ui-app-header.d.ts.map +1 -1
  28. package/dist/components/ui-calendar.d.ts.map +1 -1
  29. package/dist/components/ui-chart.d.ts.map +1 -1
  30. package/dist/components/ui-gantt.d.ts.map +1 -1
  31. package/dist/components/ui-hover-card.d.ts.map +1 -1
  32. package/dist/components/ui-inline-edit.d.ts.map +1 -1
  33. package/dist/components/ui-multi-select.d.ts.map +1 -1
  34. package/dist/components/ui-sidebar.d.ts.map +1 -1
  35. package/dist/components/ui-tabs.d.ts.map +1 -1
  36. package/dist/components/ui-wizard.d.ts.map +1 -1
  37. package/dist/context-menu.cjs.js +1 -1
  38. package/dist/context-menu.esm.js +1 -1
  39. package/dist/data-table.cjs.js +3 -3
  40. package/dist/data-table.esm.js +3 -3
  41. package/dist/date-field.cjs.js +2 -2
  42. package/dist/date-field.esm.js +14 -14
  43. package/dist/date-picker.cjs.js +3 -3
  44. package/dist/date-picker.esm.js +4 -4
  45. package/dist/date-range-picker.cjs.js +3 -3
  46. package/dist/date-range-picker.esm.js +59 -59
  47. package/dist/date-range-time-picker.cjs.js +2 -2
  48. package/dist/date-range-time-picker.esm.js +3 -3
  49. package/dist/date-time-picker.cjs.js +2 -2
  50. package/dist/date-time-picker.esm.js +3 -3
  51. package/dist/{date-time-utils-DdigV4hs.js → date-time-utils-C-4eHTyy.js} +1 -1
  52. package/dist/{date-time-utils-B4hAkt36.mjs → date-time-utils-zAx4ghvC.mjs} +1 -1
  53. package/dist/description.cjs.js +4 -4
  54. package/dist/description.esm.js +4 -4
  55. package/dist/dialog.cjs.js +2 -2
  56. package/dist/dialog.esm.js +2 -2
  57. package/dist/direction-provider.cjs.js +1 -1
  58. package/dist/direction-provider.esm.js +1 -1
  59. package/dist/dock.cjs.js +1 -1
  60. package/dist/dock.esm.js +1 -1
  61. package/dist/dropdown.cjs.js +1 -1
  62. package/dist/dropdown.esm.js +1 -1
  63. package/dist/field-error.cjs.js +1 -1
  64. package/dist/field-error.esm.js +7 -7
  65. package/dist/field.cjs.js +1 -1
  66. package/dist/field.esm.js +29 -29
  67. package/dist/fieldset.cjs.js +4 -4
  68. package/dist/fieldset.esm.js +3 -3
  69. package/dist/file-upload.cjs.js +2 -2
  70. package/dist/file-upload.esm.js +2 -2
  71. package/dist/flex.cjs.js +2 -2
  72. package/dist/flex.esm.js +8 -8
  73. package/dist/form.cjs.js +4 -4
  74. package/dist/form.esm.js +4 -4
  75. package/dist/gantt.cjs.js +7 -5
  76. package/dist/gantt.esm.js +7 -5
  77. package/dist/grid.cjs.js +1 -1
  78. package/dist/grid.esm.js +1 -1
  79. package/dist/hover-card.cjs.js +1 -1
  80. package/dist/hover-card.esm.js +11 -8
  81. package/dist/index.cjs.js +1 -1
  82. package/dist/index.esm.js +2 -2
  83. package/dist/inline-edit.cjs.js +6 -6
  84. package/dist/inline-edit.esm.js +15 -15
  85. package/dist/input.cjs.js +1 -1
  86. package/dist/input.esm.js +1 -1
  87. package/dist/label.cjs.js +6 -6
  88. package/dist/label.esm.js +6 -6
  89. package/dist/masonry-grid.cjs.js +2 -2
  90. package/dist/masonry-grid.esm.js +11 -11
  91. package/dist/{menu-item-styles-IGSFLAHu.mjs → menu-item-styles-CdqxPUuw.mjs} +15 -15
  92. package/dist/{menu-item-styles-B4onAr4C.js → menu-item-styles-DUdyjQ7i.js} +10 -10
  93. package/dist/menu.cjs.js +1 -1
  94. package/dist/menu.esm.js +1 -1
  95. package/dist/menubar.cjs.js +1 -1
  96. package/dist/menubar.esm.js +1 -1
  97. package/dist/multi-select.cjs.js +7 -7
  98. package/dist/multi-select.esm.js +26 -26
  99. package/dist/number-field.cjs.js +1 -1
  100. package/dist/number-field.esm.js +1 -1
  101. package/dist/number-ticker.cjs.js +4 -4
  102. package/dist/number-ticker.esm.js +10 -10
  103. package/dist/odometer.cjs.js +7 -7
  104. package/dist/odometer.esm.js +14 -14
  105. package/dist/password-field.cjs.js +1 -1
  106. package/dist/password-field.esm.js +1 -1
  107. package/dist/pin-input.cjs.js +1 -1
  108. package/dist/pin-input.esm.js +1 -1
  109. package/dist/placement-grid.cjs.js +1 -1
  110. package/dist/placement-grid.esm.js +1 -1
  111. package/dist/portal.cjs.js +1 -1
  112. package/dist/portal.esm.js +1 -1
  113. package/dist/presence.cjs.js +1 -1
  114. package/dist/presence.esm.js +1 -1
  115. package/dist/quick-actions.cjs.js +1 -1
  116. package/dist/quick-actions.esm.js +1 -1
  117. package/dist/radio.cjs.js +1 -1
  118. package/dist/radio.esm.js +1 -1
  119. package/dist/{runtime-CQM6wZOc.mjs → runtime-CJzoaC8Z.mjs} +385 -329
  120. package/dist/runtime-DYSIU3sR.js +5 -0
  121. package/dist/runtime.cjs.js +1 -1
  122. package/dist/runtime.esm.js +1 -1
  123. package/dist/select.cjs.js +2 -2
  124. package/dist/select.esm.js +2 -2
  125. package/dist/separator.cjs.js +6 -6
  126. package/dist/separator.esm.js +7 -7
  127. package/dist/sidebar.cjs.js +7 -6
  128. package/dist/sidebar.esm.js +7 -6
  129. package/dist/slot.cjs.js +1 -1
  130. package/dist/slot.esm.js +1 -1
  131. package/dist/sortable.cjs.js +6 -6
  132. package/dist/sortable.esm.js +6 -6
  133. package/dist/split-button.cjs.js +2 -2
  134. package/dist/split-button.esm.js +2 -2
  135. package/dist/tabs.cjs.js +11 -6
  136. package/dist/tabs.esm.js +28 -23
  137. package/dist/tags-input.cjs.js +2 -2
  138. package/dist/tags-input.esm.js +2 -2
  139. package/dist/textarea.cjs.js +2 -2
  140. package/dist/textarea.esm.js +16 -16
  141. package/dist/theme.d.ts.map +1 -1
  142. package/dist/time-field.cjs.js +2 -2
  143. package/dist/time-field.esm.js +24 -24
  144. package/dist/time-picker.cjs.js +2 -2
  145. package/dist/time-picker.esm.js +3 -3
  146. package/dist/toast.cjs.js +2 -2
  147. package/dist/toast.esm.js +2 -2
  148. package/dist/transfer-list.cjs.js +9 -9
  149. package/dist/transfer-list.esm.js +4 -4
  150. package/dist/wizard.cjs.js +16 -7
  151. package/dist/wizard.esm.js +16 -7
  152. package/package.json +1 -1
  153. package/dist/runtime-DxCl0A5q.js +0 -5
package/dist/tabs.cjs.js CHANGED
@@ -6,7 +6,9 @@
6
6
  --ui-tabs-text: var(--ui-color-text, #0f172a);
7
7
  --ui-tabs-muted: var(--ui-color-muted, #526175);
8
8
  --ui-tabs-accent: var(--ui-tabs-active-bg, var(--ui-color-primary, #2563eb));
9
- --ui-tabs-active-text: color-mix(in srgb, var(--ui-tabs-accent) 82%, #0f172a 18%);
9
+ /* The accent as text: readable on the surface, unlike the accent fill itself (light amber, for one). */
10
+ --ui-tabs-accent-text: var(--ui-color-accent-text, var(--ui-tabs-accent));
11
+ --ui-tabs-active-text: color-mix(in srgb, var(--ui-tabs-accent) 45%, var(--ui-color-text-strong, #0f172a));
10
12
  --ui-tabs-focus: var(--ui-color-focus-ring, #2563eb);
11
13
  --ui-tabs-indicator-bg: color-mix(in srgb, var(--ui-tabs-accent) 16%, transparent);
12
14
  --ui-tabs-indicator-border: color-mix(in srgb, var(--ui-tabs-accent) 32%, transparent);
@@ -95,7 +97,7 @@
95
97
 
96
98
  .tab:hover {
97
99
  background: color-mix(in srgb, var(--ui-tabs-accent) 10%, transparent);
98
- color: color-mix(in srgb, var(--ui-tabs-accent) 82%, #0f172a 18%);
100
+ color: color-mix(in srgb, var(--ui-tabs-accent) 45%, var(--ui-color-text-strong, #0f172a));
99
101
  }
100
102
 
101
103
  .tab[aria-selected="true"] {
@@ -316,7 +318,7 @@
316
318
  --ui-tabs-panel-bg: var(--ui-color-surface, #ffffff);
317
319
  --ui-tabs-border: color-mix(in srgb, var(--ui-tabs-accent) 76%, #0f172a 24%);
318
320
  --ui-tabs-muted: color-mix(in srgb, var(--ui-color-primary-foreground, var(--ui-color-foreground-on-primary, #ffffff)) 94%, transparent);
319
- --ui-tabs-active-text: color-mix(in srgb, var(--ui-tabs-accent) 78%, #0f172a 22%);
321
+ --ui-tabs-active-text: var(--ui-tabs-accent-text);
320
322
  --ui-tabs-focus: color-mix(in srgb, var(--ui-color-primary-foreground, var(--ui-color-foreground-on-primary, #ffffff)) 72%, var(--ui-tabs-accent));
321
323
  }
322
324
 
@@ -326,7 +328,7 @@
326
328
  }
327
329
 
328
330
  :host([variant="solid"]) .tab[aria-selected="true"] {
329
- background: var(--ui-color-primary-foreground, var(--ui-color-foreground-on-primary, #ffffff));
331
+ background: var(--ui-color-surface, #ffffff);
330
332
  border-color: color-mix(in srgb, var(--ui-tabs-accent) 44%, var(--ui-tabs-border));
331
333
  color: var(--ui-tabs-active-text);
332
334
  }
@@ -504,14 +506,17 @@
504
506
 
505
507
  :host([tone="success"]) {
506
508
  --ui-tabs-accent: var(--ui-color-success, #15803d);
509
+ --ui-tabs-accent-text: var(--ui-color-success-text, var(--ui-tabs-accent));
507
510
  }
508
511
 
509
512
  :host([tone="warning"]) {
510
513
  --ui-tabs-accent: var(--ui-color-warning, #b45309);
514
+ --ui-tabs-accent-text: var(--ui-color-warning-text, var(--ui-tabs-accent));
511
515
  }
512
516
 
513
517
  :host([tone="danger"]) {
514
518
  --ui-tabs-accent: var(--ui-color-danger, #dc2626);
519
+ --ui-tabs-accent-text: var(--ui-color-danger-text, var(--ui-tabs-accent));
515
520
  }
516
521
 
517
522
  :host([headless]) .nav,
@@ -553,7 +558,7 @@
553
558
  border-color: Highlight;
554
559
  }
555
560
  }
556
- `,f="data-ui-tabs-auto-label";function p(v){return String(v).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}function g(v){if(v==null)return!1;const t=String(v).toLowerCase();return t!=="false"&&t!=="0"&&t!=="off"}const w=new Set(["aria-label","aria-labelledby","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","aria-label","aria-labelledby"]}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")),l=`${this._uid}-tab-${e}`,b=`${this._uid}-panel-${e}`;return{index:e,value:r,label:a,icon:i,disabled:s,tabId:l,panelId:b}})}_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(l=>l.value===e)}return i<0&&r&&(i=t.findIndex(s=>s.value===r)),i<0&&(i=t.findIndex((s,l)=>!!a[l]?.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,l)=>{const b=t[l];if(!b)return;const n=l===e;s.setAttribute("aria-selected",n?"true":"false"),s.setAttribute("aria-disabled",b.disabled?"true":"false"),b.disabled?s.setAttribute("disabled",""):s.removeAttribute("disabled")}),d.syncRovingTabStops(a,a[r]||null,{activeAttribute:null});const i=t[e];this._syncIndicator(e),this._clearCrossRootReferences(),i&&this._scrollSelectedTabIntoView(e),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 l=this.getAttribute("orientation")==="vertical"?"vertical":"horizontal",b=getComputedStyle(this).direction==="rtl";let n=s.offsetLeft,u=s.offsetTop,o=s.offsetWidth,c=s.offsetHeight;a?(n+=2,u+=2,o=Math.max(0,o-4),c=Math.max(0,c-4)):l==="vertical"?(u+=5,c=Math.max(8,c-10),o=3,n+=b?s.offsetWidth-3-2:2):(n+=8,o=Math.max(12,o-16),c=2,u+=s.offsetHeight-2-2),e.style.setProperty("--ui-tabs-indicator-x",`${n}px`),e.style.setProperty("--ui-tabs-indicator-y",`${u}px`),e.style.setProperty("--ui-tabs-indicator-w",`${o}px`),e.style.setProperty("--ui-tabs-indicator-h",`${c}px`),e.setAttribute("data-indicator-ready","true")}_clearCrossRootReferences(){this.removeAttribute("aria-activedescendant"),this.removeAttribute("aria-controls")}_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 l=t[s],b=s===e;i.id=l?.panelId||`${this._uid}-panel-${s}`,i.setAttribute("role","tabpanel"),i.setAttribute("tabindex",b?"0":"-1"),i.setAttribute("aria-hidden",b?"false":"true"),l&&(i.getAttribute("aria-labelledby")===l.tabId&&i.removeAttribute("aria-labelledby"),i.hasAttribute("aria-labelledby")||i.hasAttribute("aria-label")&&!i.hasAttribute(f)||(i.setAttribute("aria-label",l.label),i.setAttribute(f,""))),b?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",l=!this.hasAttribute("loop")||g(this.getAttribute("loop")),b=getComputedStyle(this).direction==="rtl",n=Number(r.getAttribute("data-index"));if(!Number.isFinite(n))return;const u=o=>{const c=d.moveRovingFocusIndex(a,n,o,{wrap:l,fallbackIndex:this._resolveFocusIndex(a,this._resolveSelectedIndex(a)),getDisabled:h=>h.disabled});c!=null&&(this._focusTab(c),s==="auto"?this._setSelectedByIndex(a,c,!0):this._emit("focus",a,c))};if(i==="horizontal"&&(t.key==="ArrowRight"&&!b||t.key==="ArrowLeft"&&b)||i==="vertical"&&t.key==="ArrowDown"){t.preventDefault(),u(1);return}if(i==="horizontal"&&(t.key==="ArrowLeft"&&!b||t.key==="ArrowRight"&&b)||i==="vertical"&&t.key==="ArrowUp"){t.preventDefault(),u(-1);return}if(t.key==="Home"){t.preventDefault();const o=d.getRovingFocusBoundaryIndex(a,"first",c=>c.disabled);if(o<0)return;this._focusTab(o),s==="auto"?this._setSelectedByIndex(a,o,!0):this._emit("focus",a,o);return}if(t.key==="End"){t.preventDefault();const o=d.getRovingFocusBoundaryIndex(a,"last",c=>c.disabled);if(o<0)return;this._focusTab(o),s==="auto"?this._setSelectedByIndex(a,o,!0):this._emit("focus",a,o);return}(t.key==="Enter"||t.key===" ")&&(t.preventDefault(),this._setSelectedByIndex(a,n,!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=(this.getAttribute("aria-label")||"").trim(),s=(this.getAttribute("aria-labelledby")||"").trim(),l=(i?` aria-label="${p(i)}"`:"")+(s?` aria-labelledby="${p(s)}"`:""),b=t.map(n=>{const u=n.index===e,o=n.icon?`<span class="tab-icon" aria-hidden="true">${p(n.icon)}</span>`:"";return`
561
+ `,f="data-ui-tabs-auto-label";function p(v){return String(v).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}function g(v){if(v==null)return!1;const t=String(v).toLowerCase();return t!=="false"&&t!=="0"&&t!=="off"}const w=new Set(["aria-label","aria-labelledby","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","aria-label","aria-labelledby"]}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")),l=`${this._uid}-tab-${e}`,c=`${this._uid}-panel-${e}`;return{index:e,value:r,label:a,icon:i,disabled:s,tabId:l,panelId:c}})}_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(l=>l.value===e)}return i<0&&r&&(i=t.findIndex(s=>s.value===r)),i<0&&(i=t.findIndex((s,l)=>!!a[l]?.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,l)=>{const c=t[l];if(!c)return;const n=l===e;s.setAttribute("aria-selected",n?"true":"false"),s.setAttribute("aria-disabled",c.disabled?"true":"false"),c.disabled?s.setAttribute("disabled",""):s.removeAttribute("disabled")}),d.syncRovingTabStops(a,a[r]||null,{activeAttribute:null});const i=t[e];this._syncIndicator(e),this._clearCrossRootReferences(),i&&this._scrollSelectedTabIntoView(e),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 l=this.getAttribute("orientation")==="vertical"?"vertical":"horizontal",c=getComputedStyle(this).direction==="rtl";let n=s.offsetLeft,u=s.offsetTop,o=s.offsetWidth,b=s.offsetHeight;a?(n+=2,u+=2,o=Math.max(0,o-4),b=Math.max(0,b-4)):l==="vertical"?(u+=5,b=Math.max(8,b-10),o=3,n+=c?s.offsetWidth-3-2:2):(n+=8,o=Math.max(12,o-16),b=2,u+=s.offsetHeight-2-2),e.style.setProperty("--ui-tabs-indicator-x",`${n}px`),e.style.setProperty("--ui-tabs-indicator-y",`${u}px`),e.style.setProperty("--ui-tabs-indicator-w",`${o}px`),e.style.setProperty("--ui-tabs-indicator-h",`${b}px`),e.setAttribute("data-indicator-ready","true")}_clearCrossRootReferences(){this.removeAttribute("aria-activedescendant"),this.removeAttribute("aria-controls")}_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 l=t[s],c=s===e;i.id=l?.panelId||`${this._uid}-panel-${s}`,i.setAttribute("role","tabpanel"),i.setAttribute("tabindex",c?"0":"-1"),i.setAttribute("aria-hidden",c?"false":"true"),l&&(i.getAttribute("aria-labelledby")===l.tabId&&i.removeAttribute("aria-labelledby"),i.hasAttribute("aria-labelledby")||i.hasAttribute("aria-label")&&!i.hasAttribute(f)||(i.setAttribute("aria-label",l.label),i.setAttribute(f,""))),c?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",l=!this.hasAttribute("loop")||g(this.getAttribute("loop")),c=getComputedStyle(this).direction==="rtl",n=Number(r.getAttribute("data-index"));if(!Number.isFinite(n))return;const u=o=>{const b=d.moveRovingFocusIndex(a,n,o,{wrap:l,fallbackIndex:this._resolveFocusIndex(a,this._resolveSelectedIndex(a)),getDisabled:h=>h.disabled});b!=null&&(this._focusTab(b),s==="auto"?this._setSelectedByIndex(a,b,!0):this._emit("focus",a,b))};if(i==="horizontal"&&(t.key==="ArrowRight"&&!c||t.key==="ArrowLeft"&&c)||i==="vertical"&&t.key==="ArrowDown"){t.preventDefault(),u(1);return}if(i==="horizontal"&&(t.key==="ArrowLeft"&&!c||t.key==="ArrowRight"&&c)||i==="vertical"&&t.key==="ArrowUp"){t.preventDefault(),u(-1);return}if(t.key==="Home"){t.preventDefault();const o=d.getRovingFocusBoundaryIndex(a,"first",b=>b.disabled);if(o<0)return;this._focusTab(o),s==="auto"?this._setSelectedByIndex(a,o,!0):this._emit("focus",a,o);return}if(t.key==="End"){t.preventDefault();const o=d.getRovingFocusBoundaryIndex(a,"last",b=>b.disabled);if(o<0)return;this._focusTab(o),s==="auto"?this._setSelectedByIndex(a,o,!0):this._emit("focus",a,o);return}(t.key==="Enter"||t.key===" ")&&(t.preventDefault(),this._setSelectedByIndex(a,n,!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=(this.getAttribute("aria-label")||"").trim(),s=(this.getAttribute("aria-labelledby")||"").trim(),l=(i?` aria-label="${p(i)}"`:"")+(s?` aria-labelledby="${p(s)}"`:""),c=t.map(n=>{const u=n.index===e,o=n.icon?`<span class="tab-icon" aria-hidden="true">${p(n.icon)}</span>`:"";return`
557
562
  <button
558
563
  type="button"
559
564
  class="tab"
@@ -574,7 +579,7 @@
574
579
  <section class="shell" part="shell">
575
580
  <div class="nav" role="tablist" aria-orientation="${a}"${l} part="nav">
576
581
  <span class="indicator" part="indicator" aria-hidden="true"></span>
577
- ${b}
582
+ ${c}
578
583
  </div>
579
584
  <div class="panel-wrap" part="panel-wrap" aria-live="polite">
580
585
  <slot name="panel"></slot>
package/dist/tabs.esm.js CHANGED
@@ -8,7 +8,9 @@ const k = `
8
8
  --ui-tabs-text: var(--ui-color-text, #0f172a);
9
9
  --ui-tabs-muted: var(--ui-color-muted, #526175);
10
10
  --ui-tabs-accent: var(--ui-tabs-active-bg, var(--ui-color-primary, #2563eb));
11
- --ui-tabs-active-text: color-mix(in srgb, var(--ui-tabs-accent) 82%, #0f172a 18%);
11
+ /* The accent as text: readable on the surface, unlike the accent fill itself (light amber, for one). */
12
+ --ui-tabs-accent-text: var(--ui-color-accent-text, var(--ui-tabs-accent));
13
+ --ui-tabs-active-text: color-mix(in srgb, var(--ui-tabs-accent) 45%, var(--ui-color-text-strong, #0f172a));
12
14
  --ui-tabs-focus: var(--ui-color-focus-ring, #2563eb);
13
15
  --ui-tabs-indicator-bg: color-mix(in srgb, var(--ui-tabs-accent) 16%, transparent);
14
16
  --ui-tabs-indicator-border: color-mix(in srgb, var(--ui-tabs-accent) 32%, transparent);
@@ -97,7 +99,7 @@ const k = `
97
99
 
98
100
  .tab:hover {
99
101
  background: color-mix(in srgb, var(--ui-tabs-accent) 10%, transparent);
100
- color: color-mix(in srgb, var(--ui-tabs-accent) 82%, #0f172a 18%);
102
+ color: color-mix(in srgb, var(--ui-tabs-accent) 45%, var(--ui-color-text-strong, #0f172a));
101
103
  }
102
104
 
103
105
  .tab[aria-selected="true"] {
@@ -318,7 +320,7 @@ const k = `
318
320
  --ui-tabs-panel-bg: var(--ui-color-surface, #ffffff);
319
321
  --ui-tabs-border: color-mix(in srgb, var(--ui-tabs-accent) 76%, #0f172a 24%);
320
322
  --ui-tabs-muted: color-mix(in srgb, var(--ui-color-primary-foreground, var(--ui-color-foreground-on-primary, #ffffff)) 94%, transparent);
321
- --ui-tabs-active-text: color-mix(in srgb, var(--ui-tabs-accent) 78%, #0f172a 22%);
323
+ --ui-tabs-active-text: var(--ui-tabs-accent-text);
322
324
  --ui-tabs-focus: color-mix(in srgb, var(--ui-color-primary-foreground, var(--ui-color-foreground-on-primary, #ffffff)) 72%, var(--ui-tabs-accent));
323
325
  }
324
326
 
@@ -328,7 +330,7 @@ const k = `
328
330
  }
329
331
 
330
332
  :host([variant="solid"]) .tab[aria-selected="true"] {
331
- background: var(--ui-color-primary-foreground, var(--ui-color-foreground-on-primary, #ffffff));
333
+ background: var(--ui-color-surface, #ffffff);
332
334
  border-color: color-mix(in srgb, var(--ui-tabs-accent) 44%, var(--ui-tabs-border));
333
335
  color: var(--ui-tabs-active-text);
334
336
  }
@@ -506,14 +508,17 @@ const k = `
506
508
 
507
509
  :host([tone="success"]) {
508
510
  --ui-tabs-accent: var(--ui-color-success, #15803d);
511
+ --ui-tabs-accent-text: var(--ui-color-success-text, var(--ui-tabs-accent));
509
512
  }
510
513
 
511
514
  :host([tone="warning"]) {
512
515
  --ui-tabs-accent: var(--ui-color-warning, #b45309);
516
+ --ui-tabs-accent-text: var(--ui-color-warning-text, var(--ui-tabs-accent));
513
517
  }
514
518
 
515
519
  :host([tone="danger"]) {
516
520
  --ui-tabs-accent: var(--ui-color-danger, #dc2626);
521
+ --ui-tabs-accent-text: var(--ui-color-danger-text, var(--ui-tabs-accent));
517
522
  }
518
523
 
519
524
  :host([headless]) .nav,
@@ -641,8 +646,8 @@ class I extends y {
641
646
  }
642
647
  _tabsModel() {
643
648
  return this._sourceTabs().map((t, a) => {
644
- const r = t.getAttribute("data-value") || t.getAttribute("value") || String(a), e = t.getAttribute("data-label") || t.textContent?.trim() || `Tab ${a + 1}`, i = t.getAttribute("data-icon") || "", s = t.hasAttribute("disabled") || x(t.getAttribute("data-disabled")), l = `${this._uid}-tab-${a}`, b = `${this._uid}-panel-${a}`;
645
- return { index: a, value: r, label: e, icon: i, disabled: s, tabId: l, panelId: b };
649
+ const r = t.getAttribute("data-value") || t.getAttribute("value") || String(a), e = t.getAttribute("data-label") || t.textContent?.trim() || `Tab ${a + 1}`, i = t.getAttribute("data-icon") || "", s = t.hasAttribute("disabled") || x(t.getAttribute("data-disabled")), l = `${this._uid}-tab-${a}`, c = `${this._uid}-panel-${a}`;
650
+ return { index: a, value: r, label: e, icon: i, disabled: s, tabId: l, panelId: c };
646
651
  });
647
652
  }
648
653
  _resolveSelectedIndex(t) {
@@ -702,10 +707,10 @@ class I extends y {
702
707
  this._syncSelectedAttributes(t, a);
703
708
  const e = Array.from(this.root.querySelectorAll(".tab"));
704
709
  e.forEach((s, l) => {
705
- const b = t[l];
706
- if (!b) return;
710
+ const c = t[l];
711
+ if (!c) return;
707
712
  const n = l === a;
708
- s.setAttribute("aria-selected", n ? "true" : "false"), s.setAttribute("aria-disabled", b.disabled ? "true" : "false"), b.disabled ? s.setAttribute("disabled", "") : s.removeAttribute("disabled");
713
+ s.setAttribute("aria-selected", n ? "true" : "false"), s.setAttribute("aria-disabled", c.disabled ? "true" : "false"), c.disabled ? s.setAttribute("disabled", "") : s.removeAttribute("disabled");
709
714
  }), p(e, e[r] || null, { activeAttribute: null });
710
715
  const i = t[a];
711
716
  this._syncIndicator(a), this._clearCrossRootReferences(), i && this._scrollSelectedTabIntoView(a), this._syncPanels(t, a);
@@ -723,9 +728,9 @@ class I extends y {
723
728
  a.removeAttribute("data-indicator-ready");
724
729
  return;
725
730
  }
726
- const l = this.getAttribute("orientation") === "vertical" ? "vertical" : "horizontal", b = getComputedStyle(this).direction === "rtl";
727
- let n = s.offsetLeft, u = s.offsetTop, o = s.offsetWidth, c = s.offsetHeight;
728
- e ? (n += 2, u += 2, o = Math.max(0, o - 4), c = Math.max(0, c - 4)) : l === "vertical" ? (u += 5, c = Math.max(8, c - 10), o = 3, n += b ? s.offsetWidth - 3 - 2 : 2) : (n += 8, o = Math.max(12, o - 16), c = 2, u += s.offsetHeight - 2 - 2), a.style.setProperty("--ui-tabs-indicator-x", `${n}px`), a.style.setProperty("--ui-tabs-indicator-y", `${u}px`), a.style.setProperty("--ui-tabs-indicator-w", `${o}px`), a.style.setProperty("--ui-tabs-indicator-h", `${c}px`), a.setAttribute("data-indicator-ready", "true");
731
+ const l = this.getAttribute("orientation") === "vertical" ? "vertical" : "horizontal", c = getComputedStyle(this).direction === "rtl";
732
+ let n = s.offsetLeft, u = s.offsetTop, o = s.offsetWidth, b = s.offsetHeight;
733
+ e ? (n += 2, u += 2, o = Math.max(0, o - 4), b = Math.max(0, b - 4)) : l === "vertical" ? (u += 5, b = Math.max(8, b - 10), o = 3, n += c ? s.offsetWidth - 3 - 2 : 2) : (n += 8, o = Math.max(12, o - 16), b = 2, u += s.offsetHeight - 2 - 2), a.style.setProperty("--ui-tabs-indicator-x", `${n}px`), a.style.setProperty("--ui-tabs-indicator-y", `${u}px`), a.style.setProperty("--ui-tabs-indicator-w", `${o}px`), a.style.setProperty("--ui-tabs-indicator-h", `${b}px`), a.setAttribute("data-indicator-ready", "true");
729
734
  }
730
735
  _clearCrossRootReferences() {
731
736
  this.removeAttribute("aria-activedescendant"), this.removeAttribute("aria-controls");
@@ -735,8 +740,8 @@ class I extends y {
735
740
  e && (r.length ? e.removeAttribute("hidden") : e.setAttribute("hidden", "")), this._isSyncing = !0;
736
741
  try {
737
742
  r.forEach((i, s) => {
738
- const l = t[s], b = s === a;
739
- i.id = l?.panelId || `${this._uid}-panel-${s}`, i.setAttribute("role", "tabpanel"), i.setAttribute("tabindex", b ? "0" : "-1"), i.setAttribute("aria-hidden", b ? "false" : "true"), l && (i.getAttribute("aria-labelledby") === l.tabId && i.removeAttribute("aria-labelledby"), i.hasAttribute("aria-labelledby") || i.hasAttribute("aria-label") && !i.hasAttribute(g) || (i.setAttribute("aria-label", l.label), i.setAttribute(g, ""))), b ? i.removeAttribute("hidden") : i.setAttribute("hidden", "");
743
+ const l = t[s], c = s === a;
744
+ i.id = l?.panelId || `${this._uid}-panel-${s}`, i.setAttribute("role", "tabpanel"), i.setAttribute("tabindex", c ? "0" : "-1"), i.setAttribute("aria-hidden", c ? "false" : "true"), l && (i.getAttribute("aria-labelledby") === l.tabId && i.removeAttribute("aria-labelledby"), i.hasAttribute("aria-labelledby") || i.hasAttribute("aria-label") && !i.hasAttribute(g) || (i.setAttribute("aria-label", l.label), i.setAttribute(g, ""))), c ? i.removeAttribute("hidden") : i.setAttribute("hidden", "");
740
745
  });
741
746
  } finally {
742
747
  this._isSyncing = !1;
@@ -784,34 +789,34 @@ class I extends y {
784
789
  if (!r) return;
785
790
  const e = this._tabsModel();
786
791
  if (!e.length) return;
787
- const i = this.getAttribute("orientation") === "vertical" ? "vertical" : "horizontal", s = this.getAttribute("activation") === "manual" ? "manual" : "auto", l = !this.hasAttribute("loop") || x(this.getAttribute("loop")), b = getComputedStyle(this).direction === "rtl", n = Number(r.getAttribute("data-index"));
792
+ const i = this.getAttribute("orientation") === "vertical" ? "vertical" : "horizontal", s = this.getAttribute("activation") === "manual" ? "manual" : "auto", l = !this.hasAttribute("loop") || x(this.getAttribute("loop")), c = getComputedStyle(this).direction === "rtl", n = Number(r.getAttribute("data-index"));
788
793
  if (!Number.isFinite(n)) return;
789
794
  const u = (o) => {
790
- const c = A(e, n, o, {
795
+ const b = A(e, n, o, {
791
796
  wrap: l,
792
797
  fallbackIndex: this._resolveFocusIndex(e, this._resolveSelectedIndex(e)),
793
798
  getDisabled: (v) => v.disabled
794
799
  });
795
- c != null && (this._focusTab(c), s === "auto" ? this._setSelectedByIndex(e, c, !0) : this._emit("focus", e, c));
800
+ b != null && (this._focusTab(b), s === "auto" ? this._setSelectedByIndex(e, b, !0) : this._emit("focus", e, b));
796
801
  };
797
- if (i === "horizontal" && (t.key === "ArrowRight" && !b || t.key === "ArrowLeft" && b) || i === "vertical" && t.key === "ArrowDown") {
802
+ if (i === "horizontal" && (t.key === "ArrowRight" && !c || t.key === "ArrowLeft" && c) || i === "vertical" && t.key === "ArrowDown") {
798
803
  t.preventDefault(), u(1);
799
804
  return;
800
805
  }
801
- if (i === "horizontal" && (t.key === "ArrowLeft" && !b || t.key === "ArrowRight" && b) || i === "vertical" && t.key === "ArrowUp") {
806
+ if (i === "horizontal" && (t.key === "ArrowLeft" && !c || t.key === "ArrowRight" && c) || i === "vertical" && t.key === "ArrowUp") {
802
807
  t.preventDefault(), u(-1);
803
808
  return;
804
809
  }
805
810
  if (t.key === "Home") {
806
811
  t.preventDefault();
807
- const o = f(e, "first", (c) => c.disabled);
812
+ const o = f(e, "first", (b) => b.disabled);
808
813
  if (o < 0) return;
809
814
  this._focusTab(o), s === "auto" ? this._setSelectedByIndex(e, o, !0) : this._emit("focus", e, o);
810
815
  return;
811
816
  }
812
817
  if (t.key === "End") {
813
818
  t.preventDefault();
814
- const o = f(e, "last", (c) => c.disabled);
819
+ const o = f(e, "last", (b) => b.disabled);
815
820
  if (o < 0) return;
816
821
  this._focusTab(o), s === "auto" ? this._setSelectedByIndex(e, o, !0) : this._emit("focus", e, o);
817
822
  return;
@@ -821,7 +826,7 @@ class I extends y {
821
826
  render() {
822
827
  const t = this._tabsModel(), a = this._resolveSelectedIndex(t), r = this._resolveFocusIndex(t, a);
823
828
  this._syncSelectedAttributes(t, a);
824
- const e = this.getAttribute("orientation") === "vertical" ? "vertical" : "horizontal", i = (this.getAttribute("aria-label") || "").trim(), s = (this.getAttribute("aria-labelledby") || "").trim(), l = (i ? ` aria-label="${h(i)}"` : "") + (s ? ` aria-labelledby="${h(s)}"` : ""), b = t.map((n) => {
829
+ const e = this.getAttribute("orientation") === "vertical" ? "vertical" : "horizontal", i = (this.getAttribute("aria-label") || "").trim(), s = (this.getAttribute("aria-labelledby") || "").trim(), l = (i ? ` aria-label="${h(i)}"` : "") + (s ? ` aria-labelledby="${h(s)}"` : ""), c = t.map((n) => {
825
830
  const u = n.index === a, o = n.icon ? `<span class="tab-icon" aria-hidden="true">${h(n.icon)}</span>` : "";
826
831
  return `
827
832
  <button
@@ -846,7 +851,7 @@ class I extends y {
846
851
  <section class="shell" part="shell">
847
852
  <div class="nav" role="tablist" aria-orientation="${e}"${l} part="nav">
848
853
  <span class="indicator" part="indicator" aria-hidden="true"></span>
849
- ${b}
854
+ ${c}
850
855
  </div>
851
856
  <div class="panel-wrap" part="panel-wrap" aria-live="polite">
852
857
  <slot name="panel"></slot>
@@ -8,9 +8,9 @@
8
8
  --ui-tags-input-text: var(--ui-color-text, #0f172a);
9
9
  --ui-tags-input-muted: var(--ui-color-muted, #526175);
10
10
  --ui-tags-input-focus: var(--ui-color-focus-ring, #2563eb);
11
- --ui-tags-input-danger: var(--ui-color-danger, #dc2626);
11
+ --ui-tags-input-danger: var(--ui-color-danger-text, var(--ui-color-danger, #dc2626));
12
12
  --ui-tags-input-chip-bg: color-mix(in srgb, var(--ui-color-primary, #2563eb) 10%, transparent);
13
- --ui-tags-input-chip-text: color-mix(in srgb, var(--ui-color-primary, #2563eb) 82%, #0f172a 18%);
13
+ --ui-tags-input-chip-text: color-mix(in srgb, var(--ui-color-primary, #2563eb) 45%, var(--ui-color-text-strong, #0f172a));
14
14
  --ui-tags-input-chip-remove-bg: color-mix(in srgb, currentColor 8%, transparent);
15
15
  --ui-tags-input-min-height: var(--ui-control-height-2, 32px);
16
16
  --ui-tags-input-font-size: var(--ui-control-font-size-2, 14px);
@@ -10,9 +10,9 @@ const k = `
10
10
  --ui-tags-input-text: var(--ui-color-text, #0f172a);
11
11
  --ui-tags-input-muted: var(--ui-color-muted, #526175);
12
12
  --ui-tags-input-focus: var(--ui-color-focus-ring, #2563eb);
13
- --ui-tags-input-danger: var(--ui-color-danger, #dc2626);
13
+ --ui-tags-input-danger: var(--ui-color-danger-text, var(--ui-color-danger, #dc2626));
14
14
  --ui-tags-input-chip-bg: color-mix(in srgb, var(--ui-color-primary, #2563eb) 10%, transparent);
15
- --ui-tags-input-chip-text: color-mix(in srgb, var(--ui-color-primary, #2563eb) 82%, #0f172a 18%);
15
+ --ui-tags-input-chip-text: color-mix(in srgb, var(--ui-color-primary, #2563eb) 45%, var(--ui-color-text-strong, #0f172a));
16
16
  --ui-tags-input-chip-remove-bg: color-mix(in srgb, currentColor 8%, transparent);
17
17
  --ui-tags-input-min-height: var(--ui-control-height-2, 32px);
18
18
  --ui-tags-input-font-size: var(--ui-control-font-size-2, 14px);
@@ -10,8 +10,8 @@
10
10
  --ui-textarea-border: var(--ui-color-line, var(--ui-color-border, #cbd5e1));
11
11
  --ui-textarea-focus: var(--ui-color-focus-ring, #2563eb);
12
12
  --ui-textarea-accent: var(--ui-color-primary, #2563eb);
13
- --ui-textarea-danger: var(--ui-color-danger, #dc2626);
14
- --ui-textarea-success: var(--ui-color-success, #15803d);
13
+ --ui-textarea-danger: var(--ui-color-danger-text, var(--ui-color-danger, #dc2626));
14
+ --ui-textarea-success: var(--ui-color-success-text, var(--ui-color-success, #15803d));
15
15
  --ui-textarea-radius: var(--ui-control-radius-2, var(--ui-radius, 6px));
16
16
  --ui-textarea-padding-x: calc(var(--ui-control-padding-inline-2, 12px) - 1px);
17
17
  --ui-textarea-padding-y: 6px;
@@ -12,8 +12,8 @@ const w = `
12
12
  --ui-textarea-border: var(--ui-color-line, var(--ui-color-border, #cbd5e1));
13
13
  --ui-textarea-focus: var(--ui-color-focus-ring, #2563eb);
14
14
  --ui-textarea-accent: var(--ui-color-primary, #2563eb);
15
- --ui-textarea-danger: var(--ui-color-danger, #dc2626);
16
- --ui-textarea-success: var(--ui-color-success, #15803d);
15
+ --ui-textarea-danger: var(--ui-color-danger-text, var(--ui-color-danger, #dc2626));
16
+ --ui-textarea-success: var(--ui-color-success-text, var(--ui-color-success, #15803d));
17
17
  --ui-textarea-radius: var(--ui-control-radius-2, var(--ui-radius, 6px));
18
18
  --ui-textarea-padding-x: calc(var(--ui-control-padding-inline-2, 12px) - 1px);
19
19
  --ui-textarea-padding-y: 6px;
@@ -310,17 +310,17 @@ const w = `
310
310
  }
311
311
  }
312
312
  `;
313
- function x(r) {
314
- return r.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&#39;");
313
+ function x(a) {
314
+ return a.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&#39;");
315
315
  }
316
- function b(r, t) {
317
- const e = Number(r);
316
+ function b(a, t) {
317
+ const e = Number(a);
318
318
  return Number.isFinite(e) ? e : t;
319
319
  }
320
320
  const C = 2147483647;
321
- function d(r) {
322
- if (!r) return null;
323
- const t = Number(r);
321
+ function d(a) {
322
+ if (!a) return null;
323
+ const t = Number(a);
324
324
  return !Number.isFinite(t) || t < 0 || t > C ? null : Math.trunc(t);
325
325
  }
326
326
  class k extends _ {
@@ -370,8 +370,8 @@ class k extends _ {
370
370
  attributeChangedCallback(t, e, i) {
371
371
  if (e === i) return;
372
372
  if (t === "name" && this._tryRegisterWithForm(), t === "value" && this._textarea) {
373
- const a = i || "";
374
- this._textarea.value !== a && (this._textarea.value = a), this._syncDynamicUi(), this._applyAutosize();
373
+ const r = i || "";
374
+ this._textarea.value !== r && (this._textarea.value = r), this._syncDynamicUi(), this._applyAutosize();
375
375
  return;
376
376
  }
377
377
  if ((/* @__PURE__ */ new Set([
@@ -437,8 +437,8 @@ class k extends _ {
437
437
  }
438
438
  _syncControlAttrs() {
439
439
  if (!this._textarea) return;
440
- const t = this.getAttribute("placeholder") || "", e = d(this.getAttribute("maxlength")), i = d(this.getAttribute("minlength")), s = b(this.getAttribute("rows"), 4), a = this.hasAttribute("disabled"), l = this.hasAttribute("readonly"), o = this.hasAttribute("required"), h = this.getAttribute("name") || "", u = this.getAttribute("resize") || "vertical", g = this.getAttribute("validation"), p = this.getAttribute("color"), n = this.getAttribute("radius");
441
- this._textarea.placeholder = t, this._textarea.disabled = a, this._textarea.readOnly = l, this._textarea.required = o, this._textarea.rows = Math.max(1, s), this._textarea.name = h, this._textarea.style.resize = u, e !== null ? this._textarea.maxLength = e : this._textarea.removeAttribute("maxlength"), i !== null ? this._textarea.minLength = i : this._textarea.removeAttribute("minlength"), g === "error" ? this._textarea.setAttribute("aria-invalid", "true") : this._textarea.removeAttribute("aria-invalid"), p ? this.style.setProperty("--ui-textarea-accent", p) : this.style.removeProperty("--ui-textarea-accent"), n && n !== "none" && n !== "large" && n !== "full" ? this.style.setProperty("--ui-textarea-radius", n) : this.style.removeProperty("--ui-textarea-radius");
440
+ const t = this.getAttribute("placeholder") || "", e = d(this.getAttribute("maxlength")), i = d(this.getAttribute("minlength")), s = b(this.getAttribute("rows"), 4), r = this.hasAttribute("disabled"), l = this.hasAttribute("readonly"), o = this.hasAttribute("required"), h = this.getAttribute("name") || "", u = this.getAttribute("resize") || "vertical", g = this.getAttribute("validation"), p = this.getAttribute("color"), n = this.getAttribute("radius");
441
+ this._textarea.placeholder = t, this._textarea.disabled = r, this._textarea.readOnly = l, this._textarea.required = o, this._textarea.rows = Math.max(1, s), this._textarea.name = h, this._textarea.style.resize = u, e !== null ? this._textarea.maxLength = e : this._textarea.removeAttribute("maxlength"), i !== null ? this._textarea.minLength = i : this._textarea.removeAttribute("minlength"), g === "error" ? this._textarea.setAttribute("aria-invalid", "true") : this._textarea.removeAttribute("aria-invalid"), p ? this.style.setProperty("--ui-textarea-accent", p) : this.style.removeProperty("--ui-textarea-accent"), n && n !== "none" && n !== "large" && n !== "full" ? this.style.setProperty("--ui-textarea-radius", n) : this.style.removeProperty("--ui-textarea-radius");
442
442
  const c = [], v = !!(this.getAttribute("description") || this.querySelector('[slot="description"]')), f = !!(this.getAttribute("data-error") || this.querySelector('[slot="error"]'));
443
443
  v && c.push(`${this._uid}-description`), f && c.push(`${this._uid}-error`), (this.hasAttribute("show-count") || d(this.getAttribute("maxlength")) !== null) && c.push(`${this._uid}-count`);
444
444
  const m = !!(this.getAttribute("label") || this.querySelector('[slot="label"]'));
@@ -457,7 +457,7 @@ class k extends _ {
457
457
  this._textarea.style.height = "auto";
458
458
  const t = this._textarea.scrollHeight, e = b(this.getAttribute("max-rows"), 0);
459
459
  if (e > 0) {
460
- const i = getComputedStyle(this._textarea), s = parseFloat(i.lineHeight || "20") || 20, a = parseFloat(i.borderTopWidth || "0") || 0, l = parseFloat(i.borderBottomWidth || "0") || 0, o = parseFloat(i.paddingTop || "0") || 0, h = parseFloat(i.paddingBottom || "0") || 0, u = s * e + a + l + o + h;
460
+ const i = getComputedStyle(this._textarea), s = parseFloat(i.lineHeight || "20") || 20, r = parseFloat(i.borderTopWidth || "0") || 0, l = parseFloat(i.borderBottomWidth || "0") || 0, o = parseFloat(i.paddingTop || "0") || 0, h = parseFloat(i.paddingBottom || "0") || 0, u = s * e + r + l + o + h;
461
461
  this._textarea.style.height = `${Math.min(t, u)}px`, this._textarea.style.overflowY = t > u ? "auto" : "hidden";
462
462
  return;
463
463
  }
@@ -492,11 +492,11 @@ class k extends _ {
492
492
  t.preventDefault(), !(this.hasAttribute("disabled") || this.hasAttribute("readonly")) && (this.value = "", this._textarea && (this._textarea.value = "", this._textarea.focus()), this._syncDynamicUi(), this._applyAutosize(), this._emit("input", ""), this._emit("change", ""), this.dispatchEvent(new CustomEvent("clear", { bubbles: !0, composed: !0 })));
493
493
  }
494
494
  render() {
495
- const t = this.getAttribute("value") || "", e = this.getAttribute("label") || "", i = this.getAttribute("description") || "", s = this.getAttribute("data-error") || "", a = !!(e || i || this.querySelector('[slot="label"]') || this.querySelector('[slot="description"]')), o = this.hasAttribute("clearable") && !!t && !this.hasAttribute("disabled") && !this.hasAttribute("readonly");
495
+ const t = this.getAttribute("value") || "", e = this.getAttribute("label") || "", i = this.getAttribute("description") || "", s = this.getAttribute("data-error") || "", r = !!(e || i || this.querySelector('[slot="label"]') || this.querySelector('[slot="description"]')), o = this.hasAttribute("clearable") && !!t && !this.hasAttribute("disabled") && !this.hasAttribute("readonly");
496
496
  this.setContent(`
497
497
  <style>${z}</style>
498
498
  <div class="shell" part="shell">
499
- <div class="meta" part="meta" ${a ? "" : "hidden"}>
499
+ <div class="meta" part="meta" ${r ? "" : "hidden"}>
500
500
  <label id="${this._uid}-label" class="label" part="label"><slot name="label">${x(e)}</slot></label>
501
501
  <div id="${this._uid}-description" class="description" part="description"><slot name="description">${x(i)}</slot></div>
502
502
  </div>
@@ -1 +1 @@
1
- {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../src/theme.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../src/theme.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const B=require("./ElementBase-DxbvhLJs.js"),E=require("./control-name-BmoI1m3a.js"),c=require("./date-time-utils-DdigV4hs.js");let V=0;const I=`
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const B=require("./ElementBase-DxbvhLJs.js"),E=require("./control-name-BmoI1m3a.js"),c=require("./date-time-utils-C-4eHTyy.js");let V=0;const I=`
2
2
  :host {
3
3
  --ui-time-field-border-color: color-mix(in srgb, var(--ui-color-border, #cbd5e1) 78%, transparent);
4
4
  --ui-time-field-border: 1px solid var(--ui-time-field-border-color);
@@ -7,7 +7,7 @@
7
7
  --ui-time-field-text: var(--ui-color-text, #0f172a);
8
8
  --ui-time-field-muted: var(--ui-color-muted, #526175);
9
9
  --ui-time-field-focus: var(--ui-color-focus-ring, #2563eb);
10
- --ui-time-field-danger: var(--ui-color-danger, #dc2626);
10
+ --ui-time-field-danger: var(--ui-color-danger-text, var(--ui-color-danger, #dc2626));
11
11
  display: block;
12
12
  inline-size: 100%;
13
13
  min-inline-size: 0;
@@ -1,6 +1,6 @@
1
1
  import { E as B } from "./ElementBase-BeZT54Hj.mjs";
2
2
  import { s as T, a as I } from "./control-name-Bpj7F34X.mjs";
3
- import { q as k, u as A, v as q } from "./date-time-utils-B4hAkt36.mjs";
3
+ import { q as k, u as A, v as q } from "./date-time-utils-zAx4ghvC.mjs";
4
4
  let U = 0;
5
5
  const z = `
6
6
  :host {
@@ -11,7 +11,7 @@ const z = `
11
11
  --ui-time-field-text: var(--ui-color-text, #0f172a);
12
12
  --ui-time-field-muted: var(--ui-color-muted, #526175);
13
13
  --ui-time-field-focus: var(--ui-color-focus-ring, #2563eb);
14
- --ui-time-field-danger: var(--ui-color-danger, #dc2626);
14
+ --ui-time-field-danger: var(--ui-color-danger-text, var(--ui-color-danger, #dc2626));
15
15
  display: block;
16
16
  inline-size: 100%;
17
17
  min-inline-size: 0;
@@ -205,8 +205,8 @@ const p = class p extends B {
205
205
  _normalizeTimeValue(e) {
206
206
  const i = k(e || "");
207
207
  if (!i) return null;
208
- const t = A(i, this._showSeconds()), s = this.getAttribute("min"), r = this.getAttribute("max");
209
- return q(t, s, r);
208
+ const t = A(i, this._showSeconds()), r = this.getAttribute("min"), s = this.getAttribute("max");
209
+ return q(t, r, s);
210
210
  }
211
211
  _partsOrFallback() {
212
212
  return f(this._value, this._showSeconds()) || f(this.getAttribute("min"), this._showSeconds()) || { hours: 9, minutes: 0, seconds: 0 };
@@ -219,8 +219,8 @@ const p = class p extends B {
219
219
  this._activeSegment = e, this._syncUi(), this._segmentButtons.get(e)?.focus();
220
220
  }
221
221
  _moveSegmentFocus(e) {
222
- const i = this._order(), t = i.indexOf(this._activeSegment), s = i[(t + e + i.length) % i.length];
223
- this._focusSegment(s);
222
+ const i = this._order(), t = i.indexOf(this._activeSegment), r = i[(t + e + i.length) % i.length];
223
+ this._focusSegment(r);
224
224
  }
225
225
  _setBuffer(e, i) {
226
226
  this._bufferBySegment[e] = i, this._bufferTimer != null && window.clearTimeout(this._bufferTimer), this._bufferTimer = window.setTimeout(() => {
@@ -237,10 +237,10 @@ const p = class p extends B {
237
237
  this._syncFormValue(), this._syncUi();
238
238
  return;
239
239
  }
240
- const s = this._value;
240
+ const r = this._value;
241
241
  this._value = t, t ? this.setAttribute("value", t) : this.removeAttribute("value"), this._syncFormValue(), this._syncUi(), this.dispatchEvent(
242
242
  new CustomEvent("change", {
243
- detail: { value: t, previousValue: s, source: i },
243
+ detail: { value: t, previousValue: r, source: i },
244
244
  bubbles: !0,
245
245
  composed: !0
246
246
  })
@@ -268,16 +268,16 @@ const p = class p extends B {
268
268
  _applyNumericInput(e, i) {
269
269
  const t = `${this._bufferBySegment[e]}${i}`.slice(-2);
270
270
  if (this._setBuffer(e, t), t.length < 2) return;
271
- const s = this._partsOrFallback(), r = Number(t);
272
- if (Number.isFinite(r)) {
271
+ const r = this._partsOrFallback(), s = Number(t);
272
+ if (Number.isFinite(s)) {
273
273
  if (e === "hour")
274
274
  if (this._is12h()) {
275
- const { meridiem: a } = _(s), h = Math.min(Math.max(r, 1), 12);
276
- s.hours = E(h, a);
275
+ const { meridiem: a } = _(r), h = Math.min(Math.max(s, 1), 12);
276
+ r.hours = E(h, a);
277
277
  } else
278
- s.hours = Math.min(Math.max(r, 0), 23);
279
- else e === "minute" ? s.minutes = Math.min(Math.max(r, 0), 59) : s.seconds = Math.min(Math.max(r, 0), 59);
280
- this._applyParts(s, "keyboard"), this._moveSegmentFocus(1);
278
+ r.hours = Math.min(Math.max(s, 0), 23);
279
+ else e === "minute" ? r.minutes = Math.min(Math.max(s, 0), 59) : r.seconds = Math.min(Math.max(s, 0), 59);
280
+ this._applyParts(r, "keyboard"), this._moveSegmentFocus(1);
281
281
  }
282
282
  }
283
283
  _onSegmentClick(e) {
@@ -306,8 +306,8 @@ const p = class p extends B {
306
306
  }
307
307
  if (i === "meridiem" && /^[ap]$/i.test(e.key)) {
308
308
  e.preventDefault();
309
- const t = this._partsOrFallback(), s = e.key.toLowerCase() === "a" ? "AM" : "PM", r = _(t).hour;
310
- t.hours = E(r, s), this._applyParts(t, "keyboard");
309
+ const t = this._partsOrFallback(), r = e.key.toLowerCase() === "a" ? "AM" : "PM", s = _(t).hour;
310
+ t.hours = E(s, r), this._applyParts(t, "keyboard");
311
311
  return;
312
312
  }
313
313
  /^\d$/.test(e.key) && i !== "meridiem" && (e.preventDefault(), this._applyNumericInput(i, e.key));
@@ -316,9 +316,9 @@ const p = class p extends B {
316
316
  _registerWithForm() {
317
317
  this._formUnregister && (this._formUnregister(), this._formUnregister = null);
318
318
  try {
319
- const s = this.getRootNode().host?.closest?.("ui-form") || null || this.closest("ui-form"), r = this.getAttribute("name");
320
- s && typeof s.registerField == "function" && r && (this._formUnregister = s.registerField(r, {
321
- name: r,
319
+ const r = this.getRootNode().host?.closest?.("ui-form") || null || this.closest("ui-form"), s = this.getAttribute("name");
320
+ r && typeof r.registerField == "function" && s && (this._formUnregister = r.registerField(s, {
321
+ name: s,
322
322
  getValue: () => this.value,
323
323
  setValue: (a) => this._setValue(a ? String(a) : null, "form"),
324
324
  validate: async () => this.hasAttribute("required") && !this.value ? { valid: !1, message: "Time is required" } : { valid: !0 },
@@ -337,10 +337,10 @@ const p = class p extends B {
337
337
  }
338
338
  _syncUi() {
339
339
  if (!this._segmentsEl || !this._shellEl || !this._errorEl) return;
340
- const e = this.root.activeElement, i = !!e && this._segmentsEl.contains(e), t = (this.getAttribute("label") || "").trim(), s = (this.getAttribute("description") || "").trim(), r = (this.getAttribute("data-error") || "").trim(), a = this.root.querySelector(".meta"), h = this.root.querySelector(".label"), w = this.root.querySelector(".label-text"), F = this.root.querySelector(".required"), c = this.root.querySelector(".description"), g = `${this._uid}-label`, v = `${this._uid}-description`, y = `${this._uid}-error`;
341
- a.hidden = !t && !s, h.hidden = !t, h.id = t ? g : "", w.textContent = t, F.hidden = !this.hasAttribute("required"), c.hidden = !s, c.id = s ? v : "", c.textContent = s, this._errorEl.hidden = !r, this._errorEl.id = r ? y : "", this._errorEl.textContent = r, this._shellEl.setAttribute("data-invalid", r ? "true" : "false"), this._shellEl.setAttribute("role", "group"), T(this._shellEl, this, t ? g : null);
342
- const x = [s ? v : null, r ? y : null].filter(Boolean).join(" ");
343
- I(this._shellEl, this, this._uid, x ? x.split(" ") : []), this._shellEl.setAttribute("aria-invalid", r ? "true" : "false"), this._shellEl.setAttribute("aria-required", this.hasAttribute("required") ? "true" : "false"), this._shellEl.setAttribute("aria-disabled", this.hasAttribute("disabled") ? "true" : "false"), this._shellEl.removeAttribute("aria-readonly");
340
+ const e = this.root.activeElement, i = !!e && this._segmentsEl.contains(e), t = (this.getAttribute("label") || "").trim(), r = (this.getAttribute("description") || "").trim(), s = (this.getAttribute("data-error") || "").trim(), a = this.root.querySelector(".meta"), h = this.root.querySelector(".label"), w = this.root.querySelector(".label-text"), F = this.root.querySelector(".required"), c = this.root.querySelector(".description"), g = `${this._uid}-label`, v = `${this._uid}-description`, y = `${this._uid}-error`;
341
+ a.hidden = !t && !r, h.hidden = !t, h.id = t ? g : "", w.textContent = t, F.hidden = !this.hasAttribute("required"), c.hidden = !r, c.id = r ? v : "", c.textContent = r, this._errorEl.hidden = !s, this._errorEl.id = s ? y : "", this._errorEl.textContent = s, this._shellEl.setAttribute("data-invalid", s ? "true" : "false"), this._shellEl.setAttribute("role", "group"), T(this._shellEl, this, t ? g : null);
342
+ const x = [r ? v : null, s ? y : null].filter(Boolean).join(" ");
343
+ I(this._shellEl, this, this._uid, x ? x.split(" ") : []), this._shellEl.setAttribute("aria-invalid", s ? "true" : "false"), this._shellEl.setAttribute("aria-required", this.hasAttribute("required") ? "true" : "false"), this._shellEl.setAttribute("aria-disabled", this.hasAttribute("disabled") ? "true" : "false"), this._shellEl.removeAttribute("aria-readonly");
344
344
  const u = f(this._value, this._showSeconds()), C = this._order(), m = [];
345
345
  this._segmentButtons.clear();
346
346
  const S = u ? _(u) : null;
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const x=require("./ElementBase-DxbvhLJs.js"),E=require("./dismissable-layer-DNfrKA20.js"),k=require("./calendar-o273O28D.js"),a=require("./date-time-utils-DdigV4hs.js"),w=`
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const x=require("./ElementBase-DxbvhLJs.js"),E=require("./dismissable-layer-DNfrKA20.js"),k=require("./calendar-CzpWDxLc.js"),a=require("./date-time-utils-C-4eHTyy.js"),w=`
2
2
  <svg viewBox="0 0 20 20" class="icon-svg" aria-hidden="true" focusable="false">
3
3
  <path d="M10 2.4a7.6 7.6 0 1 1 0 15.2A7.6 7.6 0 0 1 10 2.4Zm0 1.4a6.2 6.2 0 1 0 0 12.4 6.2 6.2 0 0 0 0-12.4Zm.7 2.4a.7.7 0 0 0-1.4 0v4.1c0 .2.1.4.2.5l2.6 2.5a.7.7 0 1 0 1-1l-2.4-2.3v-3.8Z" fill="currentColor"/>
4
4
  </svg>
@@ -18,7 +18,7 @@
18
18
  --ui-dp-muted: var(--ui-color-muted, #526175);
19
19
  --ui-dp-accent: var(--ui-color-primary, #2563eb);
20
20
  --ui-dp-radius: var(--ui-control-radius-2, var(--ui-radius, 6px));
21
- --ui-dp-field-error: var(--ui-color-danger, #dc2626);
21
+ --ui-dp-field-error: var(--ui-color-danger-text, var(--ui-color-danger, #dc2626));
22
22
  --ui-dp-z: 1600;
23
23
  color-scheme: light dark;
24
24
  display: inline-grid;