@wrrdev/fenix-ui 1.1.6 → 1.1.8

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 (101) hide show
  1. package/README.md +23 -3
  2. package/dist/assets/{base-css-Be_r8aTo.js → font-CF0TXsAP.js} +39 -3
  3. package/dist/assets/font-CF0TXsAP.js.map +1 -0
  4. package/dist/components/autocomplete/autocomplete.d.ts.map +1 -1
  5. package/dist/components/autocomplete/autocomplete.js +9 -6
  6. package/dist/components/autocomplete/autocomplete.js.map +1 -1
  7. package/dist/components/button/button.d.ts.map +1 -1
  8. package/dist/components/button/button.js +5 -3
  9. package/dist/components/button/button.js.map +1 -1
  10. package/dist/components/datepicker/datepicker.d.ts.map +1 -1
  11. package/dist/components/datepicker/datepicker.js +11 -6
  12. package/dist/components/datepicker/datepicker.js.map +1 -1
  13. package/dist/components/fileupload/fileupload.d.ts +1 -1
  14. package/dist/components/fileupload/fileupload.d.ts.map +1 -1
  15. package/dist/components/fileupload/fileupload.js +5 -3
  16. package/dist/components/fileupload/fileupload.js.map +1 -1
  17. package/dist/components/icon/icon.d.ts +40 -0
  18. package/dist/components/icon/icon.d.ts.map +1 -0
  19. package/dist/components/icon/icon.js +79 -0
  20. package/dist/components/icon/icon.js.map +1 -0
  21. package/dist/components/icon/index.d.ts +8 -0
  22. package/dist/components/icon/index.d.ts.map +1 -0
  23. package/dist/components/icon/index.js +7 -0
  24. package/dist/components/icon/index.js.map +1 -0
  25. package/dist/components/input/input.d.ts.map +1 -1
  26. package/dist/components/input/input.js +12 -6
  27. package/dist/components/input/input.js.map +1 -1
  28. package/dist/components/knob/knob.d.ts +1 -1
  29. package/dist/components/knob/knob.d.ts.map +1 -1
  30. package/dist/components/knob/knob.js +3 -1
  31. package/dist/components/knob/knob.js.map +1 -1
  32. package/dist/components/multiselect/multiselect.d.ts.map +1 -1
  33. package/dist/components/multiselect/multiselect.js +8 -3
  34. package/dist/components/multiselect/multiselect.js.map +1 -1
  35. package/dist/components/orderlist/orderlist.js +2 -2
  36. package/dist/components/orderlist/orderlist.js.map +1 -1
  37. package/dist/components/picklist/picklist.js +2 -2
  38. package/dist/components/picklist/picklist.js.map +1 -1
  39. package/dist/components/select/select.d.ts.map +1 -1
  40. package/dist/components/select/select.js +9 -3
  41. package/dist/components/select/select.js.map +1 -1
  42. package/dist/components/textarea/textarea.d.ts.map +1 -1
  43. package/dist/components/textarea/textarea.js +7 -3
  44. package/dist/components/textarea/textarea.js.map +1 -1
  45. package/dist/components/toggle-button-group/toggle-button-group.d.ts.map +1 -1
  46. package/dist/components/toggle-button-group/toggle-button-group.js +3 -1
  47. package/dist/components/toggle-button-group/toggle-button-group.js.map +1 -1
  48. package/dist/core/jsx.d.ts +22 -0
  49. package/dist/core/jsx.d.ts.map +1 -1
  50. package/dist/core/jsx.js.map +1 -1
  51. package/dist/core/theme.d.ts.map +1 -1
  52. package/dist/core/theme.js +12 -0
  53. package/dist/core/theme.js.map +1 -1
  54. package/dist/core/tokens.d.ts +4 -0
  55. package/dist/core/tokens.d.ts.map +1 -1
  56. package/dist/core/tokens.js +9 -1
  57. package/dist/core/tokens.js.map +1 -1
  58. package/dist/core/vue.d.ts +3 -1
  59. package/dist/core/vue.d.ts.map +1 -1
  60. package/dist/core/vue.js.map +1 -1
  61. package/dist/docs/app.d.ts.map +1 -1
  62. package/dist/docs/componentes/icon.doc.d.ts +9 -0
  63. package/dist/docs/componentes/icon.doc.d.ts.map +1 -0
  64. package/dist/docs/componentes/index.d.ts.map +1 -1
  65. package/dist/fenix-ui.umd.min.js +195 -138
  66. package/dist/fenix-ui2.esm.js.map +1 -1
  67. package/dist/fenix-ui3.esm.js +10 -14
  68. package/dist/fenix-ui3.esm.js.map +1 -1
  69. package/dist/fenix-ui4.esm.js +187 -60
  70. package/dist/fenix-ui4.esm.js.map +1 -1
  71. package/dist/fenix-ui5.esm.js +41 -15
  72. package/dist/fenix-ui5.esm.js.map +1 -1
  73. package/dist/icons/font.d.ts +26 -0
  74. package/dist/icons/font.d.ts.map +1 -0
  75. package/dist/icons/font.js +42 -0
  76. package/dist/icons/font.js.map +1 -0
  77. package/dist/icons/index.d.ts +3 -1
  78. package/dist/icons/index.d.ts.map +1 -1
  79. package/dist/icons/index.js +11 -13
  80. package/dist/icons/index.js.map +1 -1
  81. package/dist/icons/name-union.d.ts +11 -0
  82. package/dist/icons/name-union.d.ts.map +1 -0
  83. package/dist/icons/names.d.ts +0 -1
  84. package/dist/icons/names.d.ts.map +1 -1
  85. package/dist/icons/names.js.map +1 -1
  86. package/dist/icons/types.d.ts +14 -0
  87. package/dist/icons/types.d.ts.map +1 -0
  88. package/dist/index.d.ts +2 -0
  89. package/dist/index.d.ts.map +1 -1
  90. package/dist/index.js +3 -0
  91. package/dist/index.js.map +1 -1
  92. package/dist/plugins/auto-import.d.ts +19 -2
  93. package/dist/plugins/auto-import.d.ts.map +1 -1
  94. package/dist/plugins/auto-import.js +40 -14
  95. package/dist/plugins/auto-import.js.map +1 -1
  96. package/dist/plugins/index.d.ts +5 -0
  97. package/dist/plugins/index.d.ts.map +1 -1
  98. package/dist/plugins/index.js +1 -1
  99. package/dist/plugins/index.js.map +1 -1
  100. package/package.json +5 -1
  101. package/dist/assets/base-css-Be_r8aTo.js.map +0 -1
@@ -1,4 +1,4 @@
1
- (function(z){typeof define=="function"&&define.amd?define(z):z()})(function(){"use strict";var jt=z=>{throw TypeError(z)};var ta=(z,k,m)=>k.has(z)||jt("Cannot "+m);var Nt=(z,k,m)=>k.has(z)?jt("Cannot add the same private member more than once"):k instanceof WeakSet?k.add(z):k.set(z,m);var Ft=(z,k,m)=>(ta(z,k,"access private method"),m);var I,Pt;const z=new Map;function k(d){return z.set(d.name,d),d}k({name:"fenix",label:"Fenix (padrão)",tokens:{effect:{"focus-ring":"none"}}}),k({name:"seiya",label:"Seiya",tokens:{color:{primary:"#e11d48",secondary:"#fb7185",info:"#f43f5e",danger:"#be123c"},radius:{sm:"6px",md:"10px",lg:"16px"},effect:{"focus-ring":"none"}}}),k({name:"shiryu",label:"Shiryu",tokens:{color:{primary:"#0d9488",secondary:"#2dd4bf",success:"#059669",info:"#14b8a6"},radius:{sm:"4px",md:"8px",lg:"14px"},effect:{"focus-ring":"none"}}}),k({name:"hyoga",label:"Hyoga",tokens:{color:{primary:"#0284c7",secondary:"#38bdf8",info:"#06b6d4",danger:"#e11d48"},surface:{surface:"#f0f9ff","surface-hover":"#e0f2fe"},radius:{sm:"8px",md:"12px",lg:"18px"}}}),k({name:"shun",label:"Shun",tokens:{color:{primary:"#db2777",secondary:"#f472b6",info:"#ec4899",warning:"#c026d3"},radius:{sm:"10px",md:"14px",lg:"20px"}}}),k({name:"ikki",label:"Ikki",tokens:{color:{primary:"#ea580c",secondary:"#fb923c",danger:"#dc2626",warning:"#f59e0b"},radius:{sm:"2px",md:"4px",lg:"6px"}}}),k({name:"aiolia",label:"Aiolia",tokens:{color:{primary:"#b45309",secondary:"#f59e0b",warning:"#eab308",info:"#84cc16"},radius:{sm:"6px",md:"12px",lg:"20px"},effect:{"focus-ring":"none"}}});function m(d,...e){return d.reduce((t,r,a)=>t+r+(a<e.length?String(e[a]):""),"")}const De=class De extends HTMLElement{static get observedAttributes(){return[]}constructor(){super(),this.root=this.attachShadow({mode:"open"})}attributeChangedCallback(e,t,r){this.isConnected&&this.render()}connectedCallback(){this.render()}disconnectedCallback(){}hasAttr(e){return this.hasAttribute(e)}getAttr(e,t=""){var r;return(r=this.getAttribute(e))!=null?r:t}toggleAttr(e,t){t?this.setAttribute(e,""):this.removeAttribute(e)}setTemplate(e){const t=this.constructor.styles;this.root.innerHTML=`<style>${t}</style>${e}`}};De.styles="";let b=De;function x(d,e){var t;return typeof customElements!="undefined"&&!customElements.get(d)&&customElements.define(d,e),(t=customElements.get(d))!=null?t:e}const Vt={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;","`":"&#x60;","=":"&#x3D;"},Rt=/[&<>"'`=/]/g;function h(d){return d==null?"":String(d).replace(Rt,e=>Vt[e]||e)}const j="Fenix Icons",E=`
1
+ (function(z){typeof define=="function"&&define.amd?define(z):z()})(function(){"use strict";var Ht=z=>{throw TypeError(z)};var da=(z,k,m)=>k.has(z)||Ht("Cannot "+m);var Kt=(z,k,m)=>k.has(z)?Ht("Cannot add the same private member more than once"):k instanceof WeakSet?k.add(z):k.set(z,m);var Xt=(z,k,m)=>(da(z,k,"access private method"),m);var N,Yt;const z=new Map;function k(d){return z.set(d.name,d),d}k({name:"fenix",label:"Fenix (padrão)",tokens:{effect:{"focus-ring":"none"}}}),k({name:"seiya",label:"Seiya",tokens:{color:{primary:"#e11d48",secondary:"#fb7185",info:"#f43f5e",danger:"#be123c"},radius:{sm:"6px",md:"10px",lg:"16px"},effect:{"focus-ring":"none"}}}),k({name:"shiryu",label:"Shiryu",tokens:{color:{primary:"#0d9488",secondary:"#2dd4bf",success:"#059669",info:"#14b8a6"},radius:{sm:"4px",md:"8px",lg:"14px"},effect:{"focus-ring":"none"}}}),k({name:"hyoga",label:"Hyoga",tokens:{color:{primary:"#0284c7",secondary:"#38bdf8",info:"#06b6d4",danger:"#e11d48"},surface:{surface:"#f0f9ff","surface-hover":"#e0f2fe"},radius:{sm:"8px",md:"12px",lg:"18px"}}}),k({name:"shun",label:"Shun",tokens:{color:{primary:"#db2777",secondary:"#f472b6",info:"#ec4899",warning:"#c026d3"},radius:{sm:"10px",md:"14px",lg:"20px"}}}),k({name:"ikki",label:"Ikki",tokens:{color:{primary:"#ea580c",secondary:"#fb923c",danger:"#dc2626",warning:"#f59e0b"},radius:{sm:"2px",md:"4px",lg:"6px"}}}),k({name:"aiolia",label:"Aiolia",tokens:{color:{primary:"#b45309",secondary:"#f59e0b",warning:"#eab308",info:"#84cc16"},radius:{sm:"6px",md:"12px",lg:"20px"},effect:{"focus-ring":"none"}}});function m(d,...e){return d.reduce((t,r,a)=>t+r+(a<e.length?String(e[a]):""),"")}const Ie=class Ie extends HTMLElement{static get observedAttributes(){return[]}constructor(){super(),this.root=this.attachShadow({mode:"open"})}attributeChangedCallback(e,t,r){this.isConnected&&this.render()}connectedCallback(){this.render()}disconnectedCallback(){}hasAttr(e){return this.hasAttribute(e)}getAttr(e,t=""){var r;return(r=this.getAttribute(e))!=null?r:t}toggleAttr(e,t){t?this.setAttribute(e,""):this.removeAttribute(e)}setTemplate(e){const t=this.constructor.styles;this.root.innerHTML=`<style>${t}</style>${e}`}};Ie.styles="";let b=Ie;function v(d,e){var t;return typeof customElements!="undefined"&&!customElements.get(d)&&customElements.define(d,e),(t=customElements.get(d))!=null?t:e}const Ut={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;","`":"&#x60;","=":"&#x3D;"},Jt=/[&<>"'`=/]/g;function h(d){return d==null?"":String(d).replace(Jt,e=>Ut[e]||e)}const j="Fenix Icons",E=`
2
2
  .fx-icon {
3
3
  font-family: ${`var(--fx-icon-font, ${j})`};
4
4
  font-weight: normal;
@@ -17,14 +17,14 @@
17
17
  }
18
18
  .fx-icon.fx-icon-fill { font-variation-settings: 'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 24; }
19
19
  .fx-icon.fx-icon-bold { font-variation-settings: 'FILL' 0, 'wght' 600, 'GRAD' 0, 'opsz' 24; }
20
- `;function q(d){return/^[a-z][a-z0-9_]*$/.test(d.trim())}function C(d){const e=(d!=null?d:"").trim();return e?q(e)?`<i class="fx-icon" aria-hidden="true">${e}</i>`:`<span aria-hidden="true">${h(e)}</span>`:""}const Me=class Me extends b{constructor(){super(...arguments),this.spawnRipple=e=>{if(this.hasAttr("disabled")||this.hasAttr("loading"))return;const t=getComputedStyle(this).getPropertyValue("--fx-effect-ripple").trim();if(t==="0"||t==="false")return;const r=this.root.querySelector(".btn");if(!r)return;const a=r.getBoundingClientRect(),o=Math.max(a.width,a.height),i=document.createElement("span");i.className="btn__ripple",i.style.width=i.style.height=`${o}px`,i.style.left=`${e.clientX-a.left-o/2}px`,i.style.top=`${e.clientY-a.top-o/2}px`,r.appendChild(i),i.addEventListener("animationend",()=>i.remove())}}static get observedAttributes(){return["variant","size","disabled","loading","type","full","icon","icon-pos"]}get size(){const e=this.getAttr("size","md");return e==="sm"||e==="lg"?e:"md"}set size(e){this.setAttribute("size",e)}get disabled(){return this.hasAttr("disabled")}set disabled(e){this.toggleAttr("disabled",!!e)}get loading(){return this.hasAttr("loading")}set loading(e){this.toggleAttr("loading",!!e)}render(){var f;const e=this.hasAttr("loading"),t=this.hasAttr("disabled")||e,r=this.getAttr("type","button"),a=this.getAttr("icon"),o=this.getAttr("icon-pos","left")==="right",s=this.querySelector('[slot="icon"]')?'<slot name="icon"></slot>':a?C(a):"";this.setTemplate(`
20
+ `;function C(d){return/^[a-z][a-z0-9_]*$/.test(d.trim())}function L(d){const e=(d!=null?d:"").trim();return e?C(e)?`<i class="fx-icon" aria-hidden="true">${e}</i>`:`<span aria-hidden="true">${h(e)}</span>`:""}const Ne=class Ne extends b{constructor(){super(...arguments),this.spawnRipple=e=>{if(this.hasAttr("disabled")||this.hasAttr("loading"))return;const t=getComputedStyle(this).getPropertyValue("--fx-effect-ripple").trim();if(t==="0"||t==="false")return;const r=this.root.querySelector(".btn");if(!r)return;const a=r.getBoundingClientRect(),o=Math.max(a.width,a.height),i=document.createElement("span");i.className="btn__ripple",i.style.width=i.style.height=`${o}px`,i.style.left=`${e.clientX-a.left-o/2}px`,i.style.top=`${e.clientY-a.top-o/2}px`,r.appendChild(i),i.addEventListener("animationend",()=>i.remove())}}static get observedAttributes(){return["variant","size","disabled","loading","type","full","icon","icon-pos"]}get size(){const e=this.getAttr("size","md");return e==="sm"||e==="lg"?e:"md"}set size(e){this.setAttribute("size",e)}get disabled(){return this.hasAttr("disabled")}set disabled(e){this.toggleAttr("disabled",!!e)}get loading(){return this.hasAttr("loading")}set loading(e){this.toggleAttr("loading",!!e)}render(){var f;const e=this.hasAttr("loading"),t=this.hasAttr("disabled")||e,r=this.getAttr("type","button"),a=this.getAttr("icon"),o=this.getAttr("icon-pos","left")==="right",s=this.querySelector('[slot="icon"]')?'<slot name="icon"></slot>':a?L(a):"";this.setTemplate(`
21
21
  <button class="btn" part="button" type="${r}">
22
22
  ${o?"":`<span class="btn__icon" part="icon">${s}</span>`}
23
23
  <span class="btn__label" part="label"><slot></slot></span>
24
24
  ${o?`<span class="btn__icon" part="icon">${s}</span>`:""}
25
25
  ${e?'<span class="btn__spinner" aria-hidden="true"></span>':""}
26
26
  </button>
27
- `);const n=this.root.querySelector(".btn");if(!n)return;const l=s.trim()!=="";for(const _ of this.root.querySelectorAll(".btn__icon"))_.toggleAttribute("hidden",!l);const p=[...(f=this.childNodes)!=null?f:[]].some(_=>{var c,g;return _.nodeType===Node.ELEMENT_NODE?((c=_.getAttribute)==null?void 0:c.call(_,"slot"))!=="icon":((g=_.textContent)!=null?g:"").trim()!==""});n.classList.toggle("btn--icon-only",!p&&l),t?(n.setAttribute("disabled",""),n.setAttribute("aria-disabled","true")):(n.removeAttribute("disabled"),n.removeAttribute("aria-disabled")),e?n.setAttribute("aria-busy","true"):n.removeAttribute("aria-busy")}connectedCallback(){super.connectedCallback(),this.addEventListener("pointerdown",this.spawnRipple)}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("pointerdown",this.spawnRipple)}};Me.styles=m`
27
+ `);const n=this.root.querySelector(".btn");if(!n)return;const l=s.trim()!=="";for(const _ of this.root.querySelectorAll(".btn__icon"))_.toggleAttribute("hidden",!l);const p=[...(f=this.childNodes)!=null?f:[]].some(_=>{var c,g;return _.nodeType===Node.ELEMENT_NODE?((c=_.getAttribute)==null?void 0:c.call(_,"slot"))!=="icon":((g=_.textContent)!=null?g:"").trim()!==""});n.classList.toggle("btn--icon-only",!p&&l),t?(n.setAttribute("disabled",""),n.setAttribute("aria-disabled","true")):(n.removeAttribute("disabled"),n.removeAttribute("aria-disabled")),e?n.setAttribute("aria-busy","true"):n.removeAttribute("aria-busy")}connectedCallback(){super.connectedCallback(),this.addEventListener("pointerdown",this.spawnRipple)}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("pointerdown",this.spawnRipple)}};Ne.styles=m`
28
28
  ${E}
29
29
  :host {
30
30
  display: inline-block;
@@ -47,7 +47,9 @@
47
47
  font-size: var(--fx-font-size);
48
48
  font-weight: var(--fx-font-weight);
49
49
  line-height: var(--fx-font-line-height);
50
- padding: var(--fx-space-md) var(--fx-space-xl);
50
+ /* Padding vertical limitado ao orçamento do token --fx-size-*: a altura
51
+ fica EXATAMENTE em sm 32 / md 40 / lg 48 (mesma medida dos campos). */
52
+ padding: var(--fx-space-sm) var(--fx-space-xl);
51
53
  border-radius: var(--fx-radius-md);
52
54
  border: 1px solid transparent;
53
55
  color: #fff;
@@ -70,8 +72,8 @@
70
72
 
71
73
  /* Tamanhos — alturas vindas dos tokens (personalizáveis por preset) */
72
74
  .btn { min-height: var(--fx-size-md); }
73
- :host([size='sm']) .btn { padding: var(--fx-space-sm) var(--fx-space-lg); font-size: var(--fx-font-size); min-height: var(--fx-size-sm); }
74
- :host([size='lg']) .btn { padding: var(--fx-space-lg) var(--fx-space-xl); font-size: calc(var(--fx-font-size) + 4px); min-height: var(--fx-size-lg); }
75
+ :host([size='sm']) .btn { padding: var(--fx-space-xs) var(--fx-space-lg); font-size: var(--fx-font-size); min-height: var(--fx-size-sm); }
76
+ :host([size='lg']) .btn { padding: var(--fx-space-sm) var(--fx-space-xl); font-size: calc(var(--fx-font-size) + 4px); min-height: var(--fx-size-lg); }
75
77
 
76
78
  /* Full width */
77
79
  :host([full]) .btn { width: 100%; }
@@ -137,7 +139,7 @@
137
139
  @media (prefers-reduced-motion: reduce) {
138
140
  .btn__ripple { display: none; }
139
141
  }
140
- `;let N=Me;function Bt(){return x("fx-button",N)}Bt();const Ie=class Ie extends b{static get observedAttributes(){return["variant","round"]}render(){this.setTemplate('<span class="badge" part="badge"><slot></slot></span>')}};Ie.styles=m`
142
+ `;let F=Ne;function Wt(){return v("fx-button",F)}Wt();const je=class je extends b{static get observedAttributes(){return["variant","round"]}render(){this.setTemplate('<span class="badge" part="badge"><slot></slot></span>')}};je.styles=m`
141
143
  :host {
142
144
  display: inline-flex;
143
145
  vertical-align: middle;
@@ -162,7 +164,7 @@
162
164
  :host([variant='danger']) .badge { background: var(--fx-color-danger); color: #fff; border-color: transparent; }
163
165
  :host([variant='info']) .badge { background: var(--fx-color-info); color: #fff; border-color: transparent; }
164
166
  :host(:not([round])) .badge { border-radius: var(--fx-radius-sm); }
165
- `;let F=Ie;function Ot(){return x("fx-badge",F)}Ot();const je=class je extends b{static get observedAttributes(){return["size"]}get size(){const e=this.getAttr("size","md");return e==="sm"||e==="lg"?e:"md"}set size(e){this.setAttribute("size",e)}render(){this.setTemplate('<span class="spinner" part="spinner" role="status" aria-label="Carregando"></span>')}};je.styles=m`
167
+ `;let P=je;function Gt(){return v("fx-badge",P)}Gt();const Fe=class Fe extends b{static get observedAttributes(){return["size"]}get size(){const e=this.getAttr("size","md");return e==="sm"||e==="lg"?e:"md"}set size(e){this.setAttribute("size",e)}render(){this.setTemplate('<span class="spinner" part="spinner" role="status" aria-label="Carregando"></span>')}};Fe.styles=m`
166
168
  :host {
167
169
  display: inline-block;
168
170
  vertical-align: middle;
@@ -183,7 +185,7 @@
183
185
  @media (prefers-reduced-motion: reduce) {
184
186
  .spinner { animation-duration: 2.5s; }
185
187
  }
186
- `;let P=je;function Ht(){return x("fx-spinner",P)}Ht();const Ne=class Ne extends b{static get observedAttributes(){return["size","disabled","placeholder","searchable","clearable","error","invalid","success","valid"]}get size(){const e=this.getAttr("size","md");return e==="sm"||e==="lg"?e:"md"}set size(e){this.setAttribute("size",e)}get value(){return this.getAttr("value")}set value(e){this.setAttribute("value",e)}get disabled(){return this.hasAttr("disabled")}set disabled(e){this.toggleAttr("disabled",!!e)}get options(){return[...this.querySelectorAll("option")].map(e=>{var t,r,a,o,i;return{value:(a=(r=e.getAttribute("value"))!=null?r:(t=e.textContent)==null?void 0:t.trim())!=null?a:"",label:(i=(o=e.textContent)==null?void 0:o.trim())!=null?i:""}})}connectedCallback(){super.connectedCallback(),this.observer=new MutationObserver(()=>this.render()),this.observer.observe(this,{childList:!0,subtree:!0,characterData:!0}),this.docListener=e=>{this.hasAttr("open")&&(e.composedPath().includes(this)||(this.removeAttribute("open"),this.render()))},document.addEventListener("click",this.docListener)}disconnectedCallback(){var e;super.disconnectedCallback(),(e=this.observer)==null||e.disconnect(),this.docListener&&document.removeEventListener("click",this.docListener)}select(e){this.value=e,this.removeAttribute("open"),this.render(),this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0,detail:{value:e}}))}_navigateOptions(e){var o;e.preventDefault(),this.hasAttr("open")||(this.toggleAttribute("open"),this.render());const t=Array.from(this.root.querySelectorAll(".opt"));if(!t.length)return;const r=t.indexOf(this.root.activeElement);let a=0;e.key==="ArrowDown"?a=r===-1?0:Math.min(r+1,t.length-1):e.key==="ArrowUp"?a=r===-1?t.length-1:Math.max(r-1,0):e.key==="Home"?a=0:e.key==="End"&&(a=t.length-1),(o=t[a])==null||o.focus()}render(){var c,g,u,v,y,S,A;const e=this.hasAttr("open"),t=this.root.querySelector(".search"),r=(c=t==null?void 0:t.value)!=null?c:"",a=t!=null&&this.root.activeElement===t,o=a?t.selectionStart:null,i=this.options;let s=this.getAttr("value");if(!s){const w=this.querySelector("option[selected]");s=(v=(u=w==null?void 0:w.getAttribute("value"))!=null?u:(g=w==null?void 0:w.textContent)==null?void 0:g.trim())!=null?v:""}const n=(S=(y=i.find(w=>w.value===s))==null?void 0:y.label)!=null?S:"",l=this.getAttr("placeholder","Selecione…"),p=r?i.filter(w=>w.label.toLowerCase().includes(r.toLowerCase())):i;this.setTemplate(`
188
+ `;let R=Fe;function Zt(){return v("fx-spinner",R)}Zt();const Pe=class Pe extends b{static get observedAttributes(){return["size","disabled","placeholder","searchable","clearable","error","invalid","success","valid"]}get size(){const e=this.getAttr("size","md");return e==="sm"||e==="lg"?e:"md"}set size(e){this.setAttribute("size",e)}get value(){return this.getAttr("value")}set value(e){this.setAttribute("value",e)}get disabled(){return this.hasAttr("disabled")}set disabled(e){this.toggleAttr("disabled",!!e)}get options(){return[...this.querySelectorAll("option")].map(e=>{var t,r,a,o,i;return{value:(a=(r=e.getAttribute("value"))!=null?r:(t=e.textContent)==null?void 0:t.trim())!=null?a:"",label:(i=(o=e.textContent)==null?void 0:o.trim())!=null?i:""}})}connectedCallback(){super.connectedCallback(),this.observer=new MutationObserver(()=>this.render()),this.observer.observe(this,{childList:!0,subtree:!0,characterData:!0}),this.docListener=e=>{this.hasAttr("open")&&(e.composedPath().includes(this)||(this.removeAttribute("open"),this.render()))},document.addEventListener("click",this.docListener)}disconnectedCallback(){var e;super.disconnectedCallback(),(e=this.observer)==null||e.disconnect(),this.docListener&&document.removeEventListener("click",this.docListener)}select(e){this.value=e,this.removeAttribute("open"),this.render(),this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0,detail:{value:e}}))}_navigateOptions(e){var o;e.preventDefault(),this.hasAttr("open")||(this.toggleAttribute("open"),this.render());const t=Array.from(this.root.querySelectorAll(".opt"));if(!t.length)return;const r=t.indexOf(this.root.activeElement);let a=0;e.key==="ArrowDown"?a=r===-1?0:Math.min(r+1,t.length-1):e.key==="ArrowUp"?a=r===-1?t.length-1:Math.max(r-1,0):e.key==="Home"?a=0:e.key==="End"&&(a=t.length-1),(o=t[a])==null||o.focus()}render(){var c,g,u,x,y,S,A;const e=this.hasAttr("open"),t=this.root.querySelector(".search"),r=(c=t==null?void 0:t.value)!=null?c:"",a=t!=null&&this.root.activeElement===t,o=a?t.selectionStart:null,i=this.options;let s=this.getAttr("value");if(!s){const w=this.querySelector("option[selected]");s=(x=(u=w==null?void 0:w.getAttribute("value"))!=null?u:(g=w==null?void 0:w.textContent)==null?void 0:g.trim())!=null?x:""}const n=(S=(y=i.find(w=>w.value===s))==null?void 0:y.label)!=null?S:"",l=this.getAttr("placeholder","Selecione…"),p=r?i.filter(w=>w.label.toLowerCase().includes(r.toLowerCase())):i;this.setTemplate(`
187
189
  <span class="trigger" part="trigger" role="button" tabindex="${this.disabled?-1:0}" aria-haspopup="listbox" aria-expanded="${e}">
188
190
  <span class="${n?"label":"placeholder"}">${h(n)||h(l)}</span>
189
191
  <span class="actions">
@@ -198,7 +200,7 @@
198
200
  aria-selected="${w.value===s}">${h(w.label)}</button>`).join("")}
199
201
  ${p.length===0?`<div class="empty">${h(this.getAttr("no-results","Nenhum resultado"))}</div>`:""}
200
202
  </div>
201
- `),e&&this.setAttribute("open","");const f=this.root.querySelector(".search");if(f&&(f.value=r,f.addEventListener("input",()=>this.render()),f.addEventListener("click",w=>w.stopPropagation()),a)){f.focus();try{f.setSelectionRange(o,o)}catch(w){}}const _=this.root.querySelector(".trigger");_&&(this.disabled&&_.setAttribute("aria-disabled","true"),_.addEventListener("click",w=>{var D;this.disabled||w.target.closest(".clear")||(this.toggleAttribute("open"),this.render(),(D=this.root.querySelector(".search"))==null||D.focus())}),_.addEventListener("keydown",w=>{var D;if(!this.disabled){if(w.key==="Enter"||w.key===" "){w.preventDefault(),_.click();return}if(w.key==="Escape"){this.hasAttr("open")&&(this.removeAttribute("open"),this.render(),(D=this.root.querySelector(".trigger"))==null||D.focus());return}(w.key==="ArrowDown"||w.key==="ArrowUp"||w.key==="Home"||w.key==="End")&&this._navigateOptions(w)}}),(A=this.root.querySelector(".clear"))==null||A.addEventListener("click",w=>{w.stopPropagation(),this.value="",this.removeAttribute("open"),this.render(),this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0,detail:{value:""}}))}),this.root.querySelectorAll(".opt").forEach(w=>{w.addEventListener("click",()=>this.select(w.dataset.value))}))}};Ne.styles=m`
203
+ `),e&&this.setAttribute("open","");const f=this.root.querySelector(".search");if(f&&(f.value=r,f.addEventListener("input",()=>this.render()),f.addEventListener("click",w=>w.stopPropagation()),a)){f.focus();try{f.setSelectionRange(o,o)}catch(w){}}const _=this.root.querySelector(".trigger");_&&(this.disabled&&_.setAttribute("aria-disabled","true"),_.addEventListener("click",w=>{var D;this.disabled||w.target.closest(".clear")||(this.toggleAttribute("open"),this.render(),(D=this.root.querySelector(".search"))==null||D.focus())}),_.addEventListener("keydown",w=>{var D;if(!this.disabled){if(w.key==="Enter"||w.key===" "){w.preventDefault(),_.click();return}if(w.key==="Escape"){this.hasAttr("open")&&(this.removeAttribute("open"),this.render(),(D=this.root.querySelector(".trigger"))==null||D.focus());return}(w.key==="ArrowDown"||w.key==="ArrowUp"||w.key==="Home"||w.key==="End")&&this._navigateOptions(w)}}),(A=this.root.querySelector(".clear"))==null||A.addEventListener("click",w=>{w.stopPropagation(),this.value="",this.removeAttribute("open"),this.render(),this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0,detail:{value:""}}))}),this.root.querySelectorAll(".opt").forEach(w=>{w.addEventListener("click",()=>this.select(w.dataset.value))}))}};Pe.styles=m`
202
204
  :host {
203
205
  display: inline-block;
204
206
  vertical-align: middle;
@@ -220,6 +222,9 @@
220
222
  /* Acompanha a largura definida no :host. */
221
223
  width: 100%;
222
224
  font: inherit;
225
+ /* Altura/linha determinísticas: a caixa fica no token --fx-size-*
226
+ (o line-height fixo impede que a herança da página estoure o min-height). */
227
+ line-height: var(--fx-font-line-height);
223
228
  font-weight: var(--fx-font-weight);
224
229
  color: var(--fx-text-default);
225
230
  text-align: left;
@@ -247,28 +252,31 @@
247
252
  :host([full]) { min-width: 0; }
248
253
  :host([full]) .trigger { width: 100%; min-width: 0; }
249
254
  :host([full]) .panel { width: 100%; }
250
- /* Validação */
255
+ /* Validação — borda e brilho JÁ EM REPOUSO (igual ao fx-input); o
256
+ brilho segue --fx-effect-error-ring, que acompanha effect.focus-ring. */
251
257
  :host([error]) .trigger,
252
258
  :host([invalid]) .trigger {
253
259
  border-color: var(--fx-color-danger, #dc2626);
260
+ box-shadow: var(--fx-effect-error-ring, 0 0 0 3px color-mix(in srgb, var(--fx-color-danger, #dc2626) 18%, transparent));
254
261
  }
255
262
  :host([error]) .trigger:focus-visible,
256
263
  :host([invalid]) .trigger:focus-visible,
257
264
  :host([error][open]) .trigger,
258
265
  :host([invalid][open]) .trigger {
259
266
  border-color: var(--fx-color-danger, #dc2626);
260
- box-shadow: 0 0 0 3px color-mix(in srgb, var(--fx-color-danger, #dc2626) 18%, transparent);
267
+ box-shadow: var(--fx-effect-error-ring, 0 0 0 3px color-mix(in srgb, var(--fx-color-danger, #dc2626) 18%, transparent));
261
268
  }
262
269
  :host([success]) .trigger,
263
270
  :host([valid]) .trigger {
264
271
  border-color: var(--fx-color-success, #16a34a);
272
+ box-shadow: var(--fx-effect-success-ring, 0 0 0 3px color-mix(in srgb, var(--fx-color-success, #16a34a) 18%, transparent));
265
273
  }
266
274
  :host([success]) .trigger:focus-visible,
267
275
  :host([valid]) .trigger:focus-visible,
268
276
  :host([success][open]) .trigger,
269
277
  :host([valid][open]) .trigger {
270
278
  border-color: var(--fx-color-success, #16a34a);
271
- box-shadow: 0 0 0 3px color-mix(in srgb, var(--fx-color-success, #16a34a) 18%, transparent);
279
+ box-shadow: var(--fx-effect-success-ring, 0 0 0 3px color-mix(in srgb, var(--fx-color-success, #16a34a) 18%, transparent));
272
280
  }
273
281
  :host([disabled]) .trigger,
274
282
  .trigger[aria-disabled='true'] { opacity: 0.55; cursor: not-allowed; background-color: var(--fx-surface-surface-hover); }
@@ -351,7 +359,7 @@
351
359
  }
352
360
  .clear:hover { color: var(--fx-color-danger); }
353
361
  .clear[hidden] { display: none; }
354
- `;let V=Ne;function Kt(){return x("fx-select",V)}Kt();const Fe=class Fe extends b{static get observedAttributes(){return["type","size","placeholder","disabled","readonly","min","max","step","icon","icon-pos","error","invalid","success","valid"]}get size(){const e=this.getAttr("size","md");return e==="sm"||e==="lg"?e:"md"}set size(e){this.setAttribute("size",e)}get value(){return this.getAttr("value")}set value(e){this.setAttribute("value",e)}get disabled(){return this.hasAttr("disabled")}set disabled(e){this.toggleAttr("disabled",!!e)}render(){const e=this.getAttr("type","text"),t=this.getAttr("placeholder"),r=this.hasAttr("readonly"),a=this.hasAttr("disabled"),o=this.getAttr("min"),i=this.getAttr("max"),s=this.getAttr("step"),n=this.getAttr("icon"),l=this.getAttr("icon-pos","left")==="right"?"right":"left",f=this.querySelector('[slot="icon"]')?'<slot name="icon" part="icon"></slot>':n?C(n):"",_=!!f;this.setTemplate(`
362
+ `;let V=Pe;function Qt(){return v("fx-select",V)}Qt();const Re=class Re extends b{static get observedAttributes(){return["type","size","placeholder","disabled","readonly","min","max","step","icon","icon-pos","error","invalid","success","valid"]}get size(){const e=this.getAttr("size","md");return e==="sm"||e==="lg"?e:"md"}set size(e){this.setAttribute("size",e)}get value(){return this.getAttr("value")}set value(e){this.setAttribute("value",e)}get disabled(){return this.hasAttr("disabled")}set disabled(e){this.toggleAttr("disabled",!!e)}render(){const e=this.getAttr("type","text"),t=this.getAttr("placeholder"),r=this.hasAttr("readonly"),a=this.hasAttr("disabled"),o=this.getAttr("min"),i=this.getAttr("max"),s=this.getAttr("step"),n=this.getAttr("icon"),l=this.getAttr("icon-pos","left")==="right"?"right":"left",f=this.querySelector('[slot="icon"]')?'<slot name="icon" part="icon"></slot>':n?L(n):"",_=!!f;this.setTemplate(`
355
363
  ${this.hasAttr("clearable")?'<div class="wrap" part="wrap">':""}
356
364
  ${_?`<div class="field-icon icon-${l}">`:""}
357
365
  ${_&&l==="left"?f:""}
@@ -362,7 +370,7 @@
362
370
  ${_&&l==="right"?f:""}
363
371
  ${_?"</div>":""}
364
372
  ${this.hasAttr("clearable")?'<button type="button" class="clear" part="clear" aria-label="Limpar" tabindex="-1">×</button></div>':""}
365
- `);const c=this.root.querySelector(".field");if(!c)return;c.value=this.getAttr("value"),a&&c.setAttribute("disabled",""),r&&c.setAttribute("readonly","");const g=y=>{this.value=c.value,this.dispatchEvent(new CustomEvent(y,{bubbles:!0,composed:!0,detail:{value:c.value}}))};c.addEventListener("input",y=>{y.stopPropagation(),g("input")}),c.addEventListener("change",y=>{y.stopPropagation(),g("change")});const u=this.root.querySelector(".clear"),v=()=>{u==null||u.toggleAttribute("hidden",c.value==="")};v(),u==null||u.addEventListener("click",()=>{c.value="",v(),g("input"),g("change"),c.focus()}),c.addEventListener("input",v)}};Fe.styles=m`
373
+ `);const c=this.root.querySelector(".field");if(!c)return;c.value=this.getAttr("value"),a&&c.setAttribute("disabled",""),r&&c.setAttribute("readonly","");const g=y=>{this.value=c.value,this.dispatchEvent(new CustomEvent(y,{bubbles:!0,composed:!0,detail:{value:c.value}}))};c.addEventListener("input",y=>{y.stopPropagation(),g("input")}),c.addEventListener("change",y=>{y.stopPropagation(),g("change")});const u=this.root.querySelector(".clear"),x=()=>{u==null||u.toggleAttribute("hidden",c.value==="")};x(),u==null||u.addEventListener("click",()=>{c.value="",x(),g("input"),g("change"),c.focus()}),c.addEventListener("input",x)}};Re.styles=m`
366
374
  :host {
367
375
  display: inline-block;
368
376
  vertical-align: middle;
@@ -378,13 +386,17 @@
378
386
  .field {
379
387
  font-family: inherit;
380
388
  font-size: inherit;
389
+ /* Altura determinística: com line-height fixo, o padding vertical cabe no
390
+ token --fx-size-* e a caixa fica EXATAMENTE no tamanho padrão
391
+ (sm 32 / md 40 / lg 48), igual para todos os campos. */
392
+ line-height: var(--fx-font-line-height);
381
393
  min-height: var(--fx-size-md);
382
394
  font-weight: var(--fx-font-weight);
383
395
  color: var(--fx-text-default);
384
396
  background-color: var(--fx-surface-background);
385
397
  border: 1px solid var(--fx-border-default);
386
398
  border-radius: var(--fx-radius-md);
387
- padding: var(--fx-space-md) var(--fx-space-lg);
399
+ padding: var(--fx-space-sm) var(--fx-space-lg);
388
400
  /* Acompanha a largura definida no :host. */
389
401
  width: 100%;
390
402
  box-sizing: border-box;
@@ -405,25 +417,27 @@
405
417
  cursor: not-allowed;
406
418
  background-color: var(--fx-surface-surface-hover);
407
419
  }
408
- /* Validação: sobrescrevem a borda/foco via token do preset. */
420
+ /* Validação: borda sempre; o brilho (anel) segue o token do preset
421
+ --fx-effect-error-ring, que acompanha effect.focus-ring — anel
422
+ desligado ⇒ erro só com a borda vermelha, ligado ⇒ soma o brilho. */
409
423
  :host([error]) .field,
410
424
  :host([invalid]) .field,
411
425
  :host([error]) .field:focus-visible,
412
426
  :host([invalid]) .field:focus-visible {
413
427
  border-color: var(--fx-color-danger, #dc2626);
414
- box-shadow: 0 0 0 3px color-mix(in srgb, var(--fx-color-danger, #dc2626) 18%, transparent);
428
+ box-shadow: var(--fx-effect-error-ring, 0 0 0 3px color-mix(in srgb, var(--fx-color-danger, #dc2626) 18%, transparent));
415
429
  }
416
430
  :host([success]) .field,
417
431
  :host([valid]) .field,
418
432
  :host([success]) .field:focus-visible,
419
433
  :host([valid]) .field:focus-visible {
420
434
  border-color: var(--fx-color-success, #16a34a);
421
- box-shadow: 0 0 0 3px color-mix(in srgb, var(--fx-color-success, #16a34a) 18%, transparent);
435
+ box-shadow: var(--fx-effect-success-ring, 0 0 0 3px color-mix(in srgb, var(--fx-color-success, #16a34a) 18%, transparent));
422
436
  }
423
437
  :host([size='sm']) { width: var(--fx-input-width-sm, 220px); }
424
- :host([size='sm']) .field { padding: var(--fx-space-sm) var(--fx-space-md); font-size: var(--fx-font-size); min-height: var(--fx-size-sm); }
438
+ :host([size='sm']) .field { padding: var(--fx-space-xs) var(--fx-space-md); font-size: var(--fx-font-size); min-height: var(--fx-size-sm); }
425
439
  :host([size='lg']) { width: var(--fx-input-width-lg, 300px); }
426
- :host([size='lg']) .field { padding: var(--fx-space-lg) var(--fx-space-xl); font-size: calc(var(--fx-font-size) + 4px); min-height: var(--fx-size-lg); }
440
+ :host([size='lg']) .field { padding: var(--fx-space-sm) var(--fx-space-xl); font-size: calc(var(--fx-font-size) + 4px); min-height: var(--fx-size-lg); }
427
441
  /* Full width: o host estica até o pai e o campo interno acompanha
428
442
  (usar com um container de largura controlada, ex. w-full no Vue). */
429
443
  :host([full]) { display: block; width: 100%; }
@@ -491,13 +505,13 @@
491
505
  .clear[hidden] { display: none; }
492
506
  /* Base dos glifos Fenix Icons (o @font-face vem de @wrrdev/fenix-ui/icons). */
493
507
  ${E}
494
- `;let R=Fe;function Yt(){return x("fx-input",R)}Yt();const Pe=class Pe extends b{static get observedAttributes(){return["checked","disabled","size"]}get size(){const e=this.getAttr("size","md");return e==="sm"||e==="lg"?e:"md"}set size(e){this.setAttribute("size",e)}get checked(){return this.hasAttr("checked")}set checked(e){this.toggleAttr("checked",!!e)}get disabled(){return this.hasAttr("disabled")}set disabled(e){this.toggleAttr("disabled",!!e)}render(){this.setTemplate(`
508
+ `;let O=Re;function er(){return v("fx-input",O)}er();const Ve=class Ve extends b{static get observedAttributes(){return["checked","disabled","size"]}get size(){const e=this.getAttr("size","md");return e==="sm"||e==="lg"?e:"md"}set size(e){this.setAttribute("size",e)}get checked(){return this.hasAttr("checked")}set checked(e){this.toggleAttr("checked",!!e)}get disabled(){return this.hasAttr("disabled")}set disabled(e){this.toggleAttr("disabled",!!e)}render(){this.setTemplate(`
495
509
  <button class="switch" part="switch" type="button" role="switch"
496
510
  aria-checked="${this.checked}" ${this.hasAttr("disabled")?"disabled":""}>
497
511
  <span class="track" part="track"><span class="thumb" part="thumb"></span></span>
498
512
  <span class="label" part="label"><slot></slot></span>
499
513
  </button>
500
- `);const e=this.root.querySelector(".switch");e&&e.addEventListener("click",()=>{this.hasAttr("disabled")||(this.checked=!this.checked,e.setAttribute("aria-checked",String(this.checked)),this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0,detail:{checked:this.checked}})))})}};Pe.styles=m`
514
+ `);const e=this.root.querySelector(".switch");e&&e.addEventListener("click",()=>{this.hasAttr("disabled")||(this.checked=!this.checked,e.setAttribute("aria-checked",String(this.checked)),this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0,detail:{checked:this.checked}})))})}};Ve.styles=m`
501
515
  :host {
502
516
  display: inline-flex;
503
517
  vertical-align: middle;
@@ -551,7 +565,7 @@
551
565
  :host([size='lg']) .track { width: 48px; height: 26px; }
552
566
  :host([size='lg']) .thumb { top: 4px; left: 4px; width: 18px; height: 18px; }
553
567
  :host([size='lg'][checked]) .thumb { transform: translateX(22px); }
554
- `;let B=Pe;function Xt(){return x("fx-switch",B)}Xt();const Ve=class Ve extends b{constructor(){super(...arguments),this.selected=new Set}static get observedAttributes(){return["disabled","placeholder","error","invalid","success","valid"]}get values(){const e=this.getAttr("values");return e?e.split(",").map(t=>t.trim()).filter(Boolean):[]}set values(e){this.setAttribute("values",e.join(","))}get disabled(){return this.hasAttr("disabled")}set disabled(e){this.toggleAttr("disabled",!!e)}get options(){return[...this.querySelectorAll("option")].map(e=>{var t,r,a,o,i;return{value:(a=(r=e.getAttribute("value"))!=null?r:(t=e.textContent)==null?void 0:t.trim())!=null?a:"",label:(i=(o=e.textContent)==null?void 0:o.trim())!=null?i:""}})}connectedCallback(){this.selected=new Set(this.values),super.connectedCallback(),this.observer=new MutationObserver(()=>this.render()),this.observer.observe(this,{childList:!0,subtree:!0,characterData:!0}),this.docListener=e=>{this.hasAttr("open")&&(e.composedPath().includes(this)||(this.removeAttribute("open"),this.render()))},document.addEventListener("click",this.docListener)}disconnectedCallback(){var e;super.disconnectedCallback(),(e=this.observer)==null||e.disconnect(),this.docListener&&document.removeEventListener("click",this.docListener)}commit(){this.values=[...this.selected],this.render(),this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0,detail:{values:[...this.selected]}}))}toggleValue(e){this.selected.has(e)?this.selected.delete(e):this.selected.add(e),this.commit()}_navigateOptions(e){var o;e.preventDefault(),this.hasAttr("open")||(this.toggleAttribute("open"),this.render());const t=Array.from(this.root.querySelectorAll(".opt"));if(!t.length)return;const r=t.indexOf(this.root.activeElement);let a=0;e.key==="ArrowDown"?a=r===-1?0:Math.min(r+1,t.length-1):e.key==="ArrowUp"?a=r===-1?t.length-1:Math.max(r-1,0):e.key==="Home"?a=0:e.key==="End"&&(a=t.length-1),(o=t[a])==null||o.focus()}render(){var l,p,f,_;const e=this.hasAttr("open"),t=(p=(l=this.root.querySelector(".search"))==null?void 0:l.value)!=null?p:"",r=this.options;for(const c of[...this.selected])r.some(g=>g.value===c)||this.selected.delete(c);const a=r.filter(c=>this.selected.has(c.value)),o=this.getAttr("placeholder","Selecione…"),i=t?r.filter(c=>c.label.toLowerCase().includes(t.toLowerCase())):r;this.setTemplate(`
568
+ `;let B=Ve;function tr(){return v("fx-switch",B)}tr();const Oe=class Oe extends b{constructor(){super(...arguments),this.selected=new Set}static get observedAttributes(){return["disabled","placeholder","error","invalid","success","valid"]}get values(){const e=this.getAttr("values");return e?e.split(",").map(t=>t.trim()).filter(Boolean):[]}set values(e){this.setAttribute("values",e.join(","))}get disabled(){return this.hasAttr("disabled")}set disabled(e){this.toggleAttr("disabled",!!e)}get options(){return[...this.querySelectorAll("option")].map(e=>{var t,r,a,o,i;return{value:(a=(r=e.getAttribute("value"))!=null?r:(t=e.textContent)==null?void 0:t.trim())!=null?a:"",label:(i=(o=e.textContent)==null?void 0:o.trim())!=null?i:""}})}connectedCallback(){this.selected=new Set(this.values),super.connectedCallback(),this.observer=new MutationObserver(()=>this.render()),this.observer.observe(this,{childList:!0,subtree:!0,characterData:!0}),this.docListener=e=>{this.hasAttr("open")&&(e.composedPath().includes(this)||(this.removeAttribute("open"),this.render()))},document.addEventListener("click",this.docListener)}disconnectedCallback(){var e;super.disconnectedCallback(),(e=this.observer)==null||e.disconnect(),this.docListener&&document.removeEventListener("click",this.docListener)}commit(){this.values=[...this.selected],this.render(),this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0,detail:{values:[...this.selected]}}))}toggleValue(e){this.selected.has(e)?this.selected.delete(e):this.selected.add(e),this.commit()}_navigateOptions(e){var o;e.preventDefault(),this.hasAttr("open")||(this.toggleAttribute("open"),this.render());const t=Array.from(this.root.querySelectorAll(".opt"));if(!t.length)return;const r=t.indexOf(this.root.activeElement);let a=0;e.key==="ArrowDown"?a=r===-1?0:Math.min(r+1,t.length-1):e.key==="ArrowUp"?a=r===-1?t.length-1:Math.max(r-1,0):e.key==="Home"?a=0:e.key==="End"&&(a=t.length-1),(o=t[a])==null||o.focus()}render(){var l,p,f,_;const e=this.hasAttr("open"),t=(p=(l=this.root.querySelector(".search"))==null?void 0:l.value)!=null?p:"",r=this.options;for(const c of[...this.selected])r.some(g=>g.value===c)||this.selected.delete(c);const a=r.filter(c=>this.selected.has(c.value)),o=this.getAttr("placeholder","Selecione…"),i=t?r.filter(c=>c.label.toLowerCase().includes(t.toLowerCase())):r;this.setTemplate(`
555
569
  <span class="trigger" part="trigger" role="button" tabindex="${this.disabled?-1:0}" aria-haspopup="listbox" aria-expanded="${e}" aria-disabled="${this.disabled}">
556
570
  <span class="lead">
557
571
  ${a.length?a.map(c=>`
@@ -580,7 +594,7 @@
580
594
  ${i.length===0?`<li class="empty">${h(this.getAttr("no-results","Nenhum resultado"))}</li>`:""}
581
595
  </ul>
582
596
  </div>
583
- `),e&&this.setAttribute("open","");const s=this.root.querySelector(".search");s&&(s.value=t,s.addEventListener("input",()=>{var u;const c=(u=s.selectionStart)!=null?u:s.value.length;this.render();const g=this.root.querySelector(".search");g&&(g.focus(),g.setSelectionRange(c,c))}),s.addEventListener("click",c=>c.stopPropagation()));const n=this.root.querySelector(".trigger");n&&(n.addEventListener("click",c=>{if(!this.disabled&&!c.target.closest(".clear")&&!c.target.closest(".chip__x")){if(this.toggleAttribute("open"),this.hasAttr("open")){const g=this.getBoundingClientRect();this.toggleAttribute("up",g.bottom+300>window.innerHeight&&g.top>300)}else this.removeAttribute("up");this.render()}}),n.addEventListener("keydown",c=>{var g;if(!this.disabled){if(c.key==="Enter"||c.key===" "){c.preventDefault(),n.dispatchEvent(new MouseEvent("click",{bubbles:!0}));return}if(c.key==="Escape"){this.hasAttr("open")&&(this.removeAttribute("open"),this.render(),(g=this.root.querySelector(".trigger"))==null||g.focus());return}(c.key==="ArrowDown"||c.key==="ArrowUp"||c.key==="Home"||c.key==="End")&&this._navigateOptions(c)}}),(f=this.root.querySelector(".clear"))==null||f.addEventListener("click",c=>{c.stopPropagation(),this.selected.clear(),this.commit()}),(_=this.root.querySelector(".clear-all"))==null||_.addEventListener("click",c=>{c.stopPropagation(),this.selected.clear(),this.commit()}),this.root.querySelectorAll(".chip").forEach(c=>{var g;(g=c.querySelector(".chip__x"))==null||g.addEventListener("click",u=>{u.stopPropagation(),this.toggleValue(c.dataset.value)})}),this.root.querySelectorAll(".opt").forEach(c=>{c.addEventListener("click",()=>this.toggleValue(c.dataset.value))}))}};Ve.styles=m`
597
+ `),e&&this.setAttribute("open","");const s=this.root.querySelector(".search");s&&(s.value=t,s.addEventListener("input",()=>{var u;const c=(u=s.selectionStart)!=null?u:s.value.length;this.render();const g=this.root.querySelector(".search");g&&(g.focus(),g.setSelectionRange(c,c))}),s.addEventListener("click",c=>c.stopPropagation()));const n=this.root.querySelector(".trigger");n&&(n.addEventListener("click",c=>{if(!this.disabled&&!c.target.closest(".clear")&&!c.target.closest(".chip__x")){if(this.toggleAttribute("open"),this.hasAttr("open")){const g=this.getBoundingClientRect();this.toggleAttribute("up",g.bottom+300>window.innerHeight&&g.top>300)}else this.removeAttribute("up");this.render()}}),n.addEventListener("keydown",c=>{var g;if(!this.disabled){if(c.key==="Enter"||c.key===" "){c.preventDefault(),n.dispatchEvent(new MouseEvent("click",{bubbles:!0}));return}if(c.key==="Escape"){this.hasAttr("open")&&(this.removeAttribute("open"),this.render(),(g=this.root.querySelector(".trigger"))==null||g.focus());return}(c.key==="ArrowDown"||c.key==="ArrowUp"||c.key==="Home"||c.key==="End")&&this._navigateOptions(c)}}),(f=this.root.querySelector(".clear"))==null||f.addEventListener("click",c=>{c.stopPropagation(),this.selected.clear(),this.commit()}),(_=this.root.querySelector(".clear-all"))==null||_.addEventListener("click",c=>{c.stopPropagation(),this.selected.clear(),this.commit()}),this.root.querySelectorAll(".chip").forEach(c=>{var g;(g=c.querySelector(".chip__x"))==null||g.addEventListener("click",u=>{u.stopPropagation(),this.toggleValue(c.dataset.value)})}),this.root.querySelectorAll(".opt").forEach(c=>{c.addEventListener("click",()=>this.toggleValue(c.dataset.value))}))}};Oe.styles=m`
584
598
  :host {
585
599
  display: inline-block;
586
600
  vertical-align: middle;
@@ -602,6 +616,8 @@
602
616
  min-height: var(--fx-size-md);
603
617
  padding: var(--fx-space-xs) var(--fx-space-md);
604
618
  font: inherit;
619
+ /* Altura determinística: a caixa fica no token --fx-size-*. */
620
+ line-height: var(--fx-font-line-height);
605
621
  color: var(--fx-text-default);
606
622
  background-color: var(--fx-surface-background);
607
623
  border: 1px solid var(--fx-border-default);
@@ -627,28 +643,31 @@
627
643
  /* Full width: o host estica até o pai e o trigger acompanha. */
628
644
  :host([full]) { display: block; width: 100%; }
629
645
  :host([full]) .trigger { width: 100%; }
630
- /* Validação */
646
+ /* Validação — borda e brilho JÁ EM REPOUSO (igual ao fx-input); o brilho
647
+ segue o token --fx-effect-error-ring, que acompanha effect.focus-ring. */
631
648
  :host([error]) .trigger,
632
649
  :host([invalid]) .trigger {
633
650
  border-color: var(--fx-color-danger, #dc2626);
651
+ box-shadow: var(--fx-effect-error-ring, 0 0 0 3px color-mix(in srgb, var(--fx-color-danger, #dc2626) 18%, transparent));
634
652
  }
635
653
  :host([error]) .trigger:focus-visible,
636
654
  :host([invalid]) .trigger:focus-visible,
637
655
  :host([error][open]) .trigger,
638
656
  :host([invalid][open]) .trigger {
639
657
  border-color: var(--fx-color-danger, #dc2626);
640
- box-shadow: 0 0 0 3px color-mix(in srgb, var(--fx-color-danger, #dc2626) 18%, transparent);
658
+ box-shadow: var(--fx-effect-error-ring, 0 0 0 3px color-mix(in srgb, var(--fx-color-danger, #dc2626) 18%, transparent));
641
659
  }
642
660
  :host([success]) .trigger,
643
661
  :host([valid]) .trigger {
644
662
  border-color: var(--fx-color-success, #16a34a);
663
+ box-shadow: var(--fx-effect-success-ring, 0 0 0 3px color-mix(in srgb, var(--fx-color-success, #16a34a) 18%, transparent));
645
664
  }
646
665
  :host([success]) .trigger:focus-visible,
647
666
  :host([valid]) .trigger:focus-visible,
648
667
  :host([success][open]) .trigger,
649
668
  :host([valid][open]) .trigger {
650
669
  border-color: var(--fx-color-success, #16a34a);
651
- box-shadow: 0 0 0 3px color-mix(in srgb, var(--fx-color-success, #16a34a) 18%, transparent);
670
+ box-shadow: var(--fx-effect-success-ring, 0 0 0 3px color-mix(in srgb, var(--fx-color-success, #16a34a) 18%, transparent));
652
671
  }
653
672
  .trigger:hover { border-color: var(--fx-border-hover); }
654
673
  .trigger:focus-visible {
@@ -804,14 +823,14 @@
804
823
  .opt[aria-selected='true'] .box::after { content: '✓'; }
805
824
  .empty { padding: var(--fx-space-md); color: var(--fx-text-muted); text-align: center; }
806
825
  :host([disabled]) .trigger { opacity: 0.55; cursor: not-allowed; background: var(--fx-surface-surface-hover); }
807
- `;let O=Ve;function Ut(){return x("fx-multiselect",O)}Ut();const $=(d,e,t)=>d*1e4+e*100+t;function L(d){const e=/^(\d{4})(?:-(\d{2}))?(?:-(\d{2}))?$/.exec(d.trim());if(!e)return null;const t=+e[1],r=e[2]?+e[2]:1,a=e[3]?+e[3]:null;return a!==null?{lo:$(t,r,a),hi:$(t,r,a)}:e[2]?{lo:$(t,r,1),hi:$(t,r,31)}:{lo:$(t,1,1),hi:$(t,12,31)}}const Re=class Re extends b{constructor(){super(...arguments),this.view="days",this.cursor={y:new Date().getFullYear(),m:new Date().getMonth()},this.pickStart=null,this.pickEnd=null}static get observedAttributes(){return["value","start","end","min","max","range","mode","values","locale","disabled"]}get mode(){const e=this.getAttr("mode");return e==="range"||e==="multiple"?e:this.hasAttr("range")?"range":"single"}set mode(e){this.setAttribute("mode",e)}get range(){return this.mode==="range"}set range(e){this.toggleAttr("range",!!e)}get values(){const e=this.getAttr("values");return e?e.split(",").map(t=>t.trim()).filter(Boolean):[]}set values(e){this.setAttribute("values",e.join(","))}get value(){return this.getAttr("value")}set value(e){this.setAttribute("value",e)}bounds(){return{min:L(this.getAttr("min","")),max:L(this.getAttr("max",""))}}locale(){return this.getAttr("locale","pt-BR")}fmt(e,t){try{return new Intl.DateTimeFormat(this.locale(),e).format(t)}catch(r){return new Intl.DateTimeFormat("pt-BR",e).format(t)}}dayDisabled(e,t,r){const{min:a,max:o}=this.bounds(),i=$(e,t+1,r);return a!==null&&i<a.lo||o!==null&&i>o.hi}monthDisabled(e,t){const{min:r,max:a}=this.bounds(),o=$(e,t,1),i=$(e,t,31);return r!==null&&i<r.lo||a!==null&&o>a.hi}yearDisabled(e){const{min:t,max:r}=this.bounds(),a=$(e,1,1),o=$(e,12,31);return t!==null&&o<t.lo||r!==null&&a>r.hi}dayKeyOf(e){return $(e.getFullYear(),e.getMonth()+1,e.getDate())}keyToDate(e){return new Date(Math.floor(e/1e4),Math.floor(e/100)%100-1,e%100)}iso(e){const t=this.keyToDate(e),r=a=>String(a).padStart(2,"0");return`${t.getFullYear()}-${r(t.getMonth()+1)}-${r(t.getDate())}`}selection(){const e=new Set(this.values.map(r=>{var a,o;return(o=(a=L(r))==null?void 0:a.lo)!=null?o:0}).filter(Boolean));if(this.mode==="range"){let r=this.pickStart,a=this.pickEnd;const o=L(this.getAttr("start","")),i=L(this.getAttr("end",""));return r===null&&o&&(r=o.lo),a===null&&i&&(a=i.lo),{start:r,end:a,single:null,multi:e}}if(this.mode==="multiple")return{start:null,end:null,single:null,multi:e};const t=L(this.getAttr("value",""));return{start:null,end:null,single:t?t.lo:null,multi:e}}emit(){if(this.mode==="range"){const e={start:this.pickStart!==null?this.iso(this.pickStart):this.getAttr("start",""),end:this.pickEnd!==null?this.iso(this.pickEnd):this.getAttr("end","")};this.setAttribute("start",e.start),this.setAttribute("end",e.end),this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0,detail:e}))}else if(this.mode==="multiple"){const e=this.values;this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0,detail:{values:e}}))}else{const e=this.getAttr("value");this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0,detail:{value:e}}))}}pickDay(e){if(this.mode==="range"){if(this.pickStart===null||this.pickEnd!==null){this.pickStart=e,this.pickEnd=null,this.setAttribute("start",this.iso(e)),this.removeAttribute("end"),this.render();return}e<this.pickStart?[this.pickStart,this.pickEnd]=[e,this.pickStart]:this.pickEnd=e,this.emit()}else if(this.mode==="multiple"){const t=new Set(this.values),r=this.iso(e);t.has(r)?t.delete(r):t.add(r),this.values=[...t].sort(),this.emit()}else this.value=this.iso(e),this.emit();this.render()}navigate(e){if(this.view==="days"){const t=new Date(this.cursor.y,this.cursor.m+e,1);this.cursor={y:t.getFullYear(),m:t.getMonth()}}else this.view==="months"?this.cursor.y+=e:this.cursor.y+=e*12;this.render()}render(){const e=this.dayKeyOf(new Date),t=this.selection(),r=this.locale(),a={days:this.fmt({month:"long",year:"numeric"},new Date(this.cursor.y,this.cursor.m,1)),months:String(this.cursor.y),years:`${Math.floor(this.cursor.y/12)*12} – ${Math.floor(this.cursor.y/12)*12+11}`};let o="";if(this.view==="days")o=[...Array(7)].map((l,p)=>this.fmt({weekday:"short"},new Date(2024,8,1+p))).map(l=>`<span class="wd">${l}</span>`).join("")+this.daysHtml(e,t,r);else if(this.view==="months")o=[...Array(12)].map((n,l)=>{const p=this.monthDisabled(this.cursor.y,l+1);return`<button type="button" class="cell" data-month="${l}" ${p?"disabled":""}>${this.fmt({month:"short"},new Date(this.cursor.y,l,1))}</button>`}).join("");else{const n=Math.floor(this.cursor.y/12)*12;o=[...Array(12)].map((l,p)=>{const f=n+p,_=this.yearDisabled(f);return`<button type="button" class="cell" data-year="${f}" ${_?"disabled":""}>${f}</button>`}).join("")}const i=this.view==="days"?'data-goto="months"':this.view==="months"?'data-goto="years"':"";this.setTemplate(`
826
+ `;let H=Oe;function rr(){return v("fx-multiselect",H)}rr();const $=(d,e,t)=>d*1e4+e*100+t;function T(d){const e=/^(\d{4})(?:-(\d{2}))?(?:-(\d{2}))?$/.exec(d.trim());if(!e)return null;const t=+e[1],r=e[2]?+e[2]:1,a=e[3]?+e[3]:null;return a!==null?{lo:$(t,r,a),hi:$(t,r,a)}:e[2]?{lo:$(t,r,1),hi:$(t,r,31)}:{lo:$(t,1,1),hi:$(t,12,31)}}const Be=class Be extends b{constructor(){super(...arguments),this.view="days",this.cursor={y:new Date().getFullYear(),m:new Date().getMonth()},this.pickStart=null,this.pickEnd=null}static get observedAttributes(){return["value","start","end","min","max","range","mode","values","locale","disabled"]}get mode(){const e=this.getAttr("mode");return e==="range"||e==="multiple"?e:this.hasAttr("range")?"range":"single"}set mode(e){this.setAttribute("mode",e)}get range(){return this.mode==="range"}set range(e){this.toggleAttr("range",!!e)}get values(){const e=this.getAttr("values");return e?e.split(",").map(t=>t.trim()).filter(Boolean):[]}set values(e){this.setAttribute("values",e.join(","))}get value(){return this.getAttr("value")}set value(e){this.setAttribute("value",e)}bounds(){return{min:T(this.getAttr("min","")),max:T(this.getAttr("max",""))}}locale(){return this.getAttr("locale","pt-BR")}fmt(e,t){try{return new Intl.DateTimeFormat(this.locale(),e).format(t)}catch(r){return new Intl.DateTimeFormat("pt-BR",e).format(t)}}dayDisabled(e,t,r){const{min:a,max:o}=this.bounds(),i=$(e,t+1,r);return a!==null&&i<a.lo||o!==null&&i>o.hi}monthDisabled(e,t){const{min:r,max:a}=this.bounds(),o=$(e,t,1),i=$(e,t,31);return r!==null&&i<r.lo||a!==null&&o>a.hi}yearDisabled(e){const{min:t,max:r}=this.bounds(),a=$(e,1,1),o=$(e,12,31);return t!==null&&o<t.lo||r!==null&&a>r.hi}dayKeyOf(e){return $(e.getFullYear(),e.getMonth()+1,e.getDate())}keyToDate(e){return new Date(Math.floor(e/1e4),Math.floor(e/100)%100-1,e%100)}iso(e){const t=this.keyToDate(e),r=a=>String(a).padStart(2,"0");return`${t.getFullYear()}-${r(t.getMonth()+1)}-${r(t.getDate())}`}selection(){const e=new Set(this.values.map(r=>{var a,o;return(o=(a=T(r))==null?void 0:a.lo)!=null?o:0}).filter(Boolean));if(this.mode==="range"){let r=this.pickStart,a=this.pickEnd;const o=T(this.getAttr("start","")),i=T(this.getAttr("end",""));return r===null&&o&&(r=o.lo),a===null&&i&&(a=i.lo),{start:r,end:a,single:null,multi:e}}if(this.mode==="multiple")return{start:null,end:null,single:null,multi:e};const t=T(this.getAttr("value",""));return{start:null,end:null,single:t?t.lo:null,multi:e}}emit(){if(this.mode==="range"){const e={start:this.pickStart!==null?this.iso(this.pickStart):this.getAttr("start",""),end:this.pickEnd!==null?this.iso(this.pickEnd):this.getAttr("end","")};this.setAttribute("start",e.start),this.setAttribute("end",e.end),this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0,detail:e}))}else if(this.mode==="multiple"){const e=this.values;this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0,detail:{values:e}}))}else{const e=this.getAttr("value");this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0,detail:{value:e}}))}}pickDay(e){if(this.mode==="range"){if(this.pickStart===null||this.pickEnd!==null){this.pickStart=e,this.pickEnd=null,this.setAttribute("start",this.iso(e)),this.removeAttribute("end"),this.render();return}e<this.pickStart?[this.pickStart,this.pickEnd]=[e,this.pickStart]:this.pickEnd=e,this.emit()}else if(this.mode==="multiple"){const t=new Set(this.values),r=this.iso(e);t.has(r)?t.delete(r):t.add(r),this.values=[...t].sort(),this.emit()}else this.value=this.iso(e),this.emit();this.render()}navigate(e){if(this.view==="days"){const t=new Date(this.cursor.y,this.cursor.m+e,1);this.cursor={y:t.getFullYear(),m:t.getMonth()}}else this.view==="months"?this.cursor.y+=e:this.cursor.y+=e*12;this.render()}render(){const e=this.dayKeyOf(new Date),t=this.selection(),r=this.locale(),a={days:this.fmt({month:"long",year:"numeric"},new Date(this.cursor.y,this.cursor.m,1)),months:String(this.cursor.y),years:`${Math.floor(this.cursor.y/12)*12} – ${Math.floor(this.cursor.y/12)*12+11}`};let o="";if(this.view==="days")o=[...Array(7)].map((l,p)=>this.fmt({weekday:"short"},new Date(2024,8,1+p))).map(l=>`<span class="wd">${l}</span>`).join("")+this.daysHtml(e,t,r);else if(this.view==="months")o=[...Array(12)].map((n,l)=>{const p=this.monthDisabled(this.cursor.y,l+1);return`<button type="button" class="cell" data-month="${l}" ${p?"disabled":""}>${this.fmt({month:"short"},new Date(this.cursor.y,l,1))}</button>`}).join("");else{const n=Math.floor(this.cursor.y/12)*12;o=[...Array(12)].map((l,p)=>{const f=n+p,_=this.yearDisabled(f);return`<button type="button" class="cell" data-year="${f}" ${_?"disabled":""}>${f}</button>`}).join("")}const i=this.view==="days"?'data-goto="months"':this.view==="months"?'data-goto="years"':"";this.setTemplate(`
808
827
  <div class="head">
809
828
  <button type="button" class="nav" data-nav="-1" aria-label="Anterior">‹</button>
810
829
  <button type="button" class="title" part="title" ${i}>${a[this.view]}</button>
811
830
  <button type="button" class="nav" data-nav="1" aria-label="Próximo">›</button>
812
831
  </div>
813
832
  <div class="grid ${this.view}">${o}</div>
814
- `),this.root.querySelectorAll("[data-nav]").forEach(n=>n.addEventListener("click",()=>this.navigate(Number(n.dataset.nav))));const s=this.root.querySelector("[data-goto]");s==null||s.addEventListener("click",()=>{this.view=s.dataset.goto,this.render()}),this.root.querySelectorAll("[data-day]").forEach(n=>n.addEventListener("click",()=>this.pickDay(Number(n.dataset.day)))),this.root.querySelectorAll("[data-month]").forEach(n=>n.addEventListener("click",()=>{this.cursor.m=Number(n.dataset.month),this.view="days",this.render()})),this.root.querySelectorAll("[data-year]").forEach(n=>n.addEventListener("click",()=>{this.cursor.y=Number(n.dataset.year),this.view="months",this.render()}))}daysHtml(e,t,r){const{y:a,m:o}=this.cursor,i=new Date(a,o,1).getDay(),s=new Date(a,o+1,0).getDate(),n=new Date(a,o,0).getDate();let l="";for(let p=i-1;p>=0;p--)l+=`<span class="cell muted">${n-p}</span>`;for(let p=1;p<=s;p++){const f=$(a,o+1,p),_=t.single===f||t.start===f||t.end===f||t.multi.has(f),c=t.start!==null&&t.end!==null&&f>t.start&&f<t.end,g=["cell",_?"sel":"",c?"in-range":"",f===e?"today":""].filter(Boolean).join(" ");l+=`<button type="button" class="${g}" data-day="${f}" ${this.dayDisabled(a,o,p)?"disabled":""}>${p}</button>`}return l}};Re.styles=m`
833
+ `),this.root.querySelectorAll("[data-nav]").forEach(n=>n.addEventListener("click",()=>this.navigate(Number(n.dataset.nav))));const s=this.root.querySelector("[data-goto]");s==null||s.addEventListener("click",()=>{this.view=s.dataset.goto,this.render()}),this.root.querySelectorAll("[data-day]").forEach(n=>n.addEventListener("click",()=>this.pickDay(Number(n.dataset.day)))),this.root.querySelectorAll("[data-month]").forEach(n=>n.addEventListener("click",()=>{this.cursor.m=Number(n.dataset.month),this.view="days",this.render()})),this.root.querySelectorAll("[data-year]").forEach(n=>n.addEventListener("click",()=>{this.cursor.y=Number(n.dataset.year),this.view="months",this.render()}))}daysHtml(e,t,r){const{y:a,m:o}=this.cursor,i=new Date(a,o,1).getDay(),s=new Date(a,o+1,0).getDate(),n=new Date(a,o,0).getDate();let l="";for(let p=i-1;p>=0;p--)l+=`<span class="cell muted">${n-p}</span>`;for(let p=1;p<=s;p++){const f=$(a,o+1,p),_=t.single===f||t.start===f||t.end===f||t.multi.has(f),c=t.start!==null&&t.end!==null&&f>t.start&&f<t.end,g=["cell",_?"sel":"",c?"in-range":"",f===e?"today":""].filter(Boolean).join(" ");l+=`<button type="button" class="${g}" data-day="${f}" ${this.dayDisabled(a,o,p)?"disabled":""}>${p}</button>`}return l}};Be.styles=m`
815
834
  :host {
816
835
  display: inline-block;
817
836
  font-family: var(--fx-font-family);
@@ -941,7 +960,7 @@
941
960
  cursor: not-allowed;
942
961
  pointer-events: none;
943
962
  }
944
- `;let H=Re;function Jt(){return x("fx-calendar",H)}Jt();const Be=class Be extends b{constructor(){super(...arguments),this.time={h:0,m:0,s:0}}static get observedAttributes(){return["value","start","end","values","mode","min","max","placeholder","disabled","format","show-time","free-text","error","invalid","success","valid"]}get mode(){const e=this.getAttr("mode","single");return["single","range","multiple"].includes(e)?e:"single"}set mode(e){this.setAttribute("mode",e)}get value(){return this.getAttr("value")}set value(e){this.setAttribute("value",e)}get values(){const e=this.getAttr("values");return e?e.split(",").map(t=>t.trim()).filter(Boolean):[]}set values(e){this.setAttribute("values",e.join(","))}get disabled(){return this.hasAttr("disabled")}set disabled(e){this.toggleAttr("disabled",!!e)}connectedCallback(){super.connectedCallback(),this.docListener=e=>{this.hasAttr("open")&&(e.composedPath().includes(this)||this.removeAttribute("open"))},document.addEventListener("click",this.docListener)}disconnectedCallback(){super.disconnectedCallback(),this.docListener&&document.removeEventListener("click",this.docListener)}formatDate(e){if(!e)return"";const t=this.getAttr("format");if(!t)return e.split("T")[0];const[r,a]=e.split("T"),[o="",i="",s=""]=r.split("-"),[n="00",l="00",p="00"]=(a!=null?a:"").split(":");return t.replace(/yyyy/gi,"").replace(/MM/g,"").replace(/mm/g,"").replace(/dd/gi,"").replace(/HH/g,"").replace(/SS/gi,"").replace(/\u0001/g,o).replace(/\u0002/g,i).replace(/\u0003/g,s).replace(/\u0004/g,n).replace(/\u0005/g,l).replace(/\u0006/g,p)}displayText(){if(this.mode==="range"){const t=this.getAttr("start"),r=this.getAttr("end");if(this.hasAttr("show-time"),!t&&!r)return"";if(this.hasAttr("show-time")){const a=o=>o?`${this.formatDate(o)} ${this.timeText()}`:o?`${this.formatDate(o)} …`:"";return t&&r?`${a(t)} → ${a(r)}`:a(t)}return t&&r?`${this.formatDate(t)} → ${this.formatDate(r)}`:t?`${this.formatDate(t)} → …`:""}if(this.mode==="multiple")return this.values.map(t=>this.formatDate(t)).join(", ");const e=this.formatDate(this.value);return e&&this.hasAttr("show-time")?`${e} ${this.timeText()}`:e}timeText(){const e=t=>String(t).padStart(2,"0");return`${e(this.time.h)}:${e(this.time.m)}:${e(this.time.s)}`}loadTimeFromValue(){const t=(this.value||this.getAttr("start")||"").split("T")[1];if(!t)return;const[r,a,o]=t.split(":").map(i=>parseInt(i,10));this.time={h:r||0,m:a||0,s:o||0}}withTime(e){return e&&(this.hasAttr("show-time")?`${e}T${this.timeText()}`:e)}render(){var p,f;const e=this.disabled,t=this.hasAttr("clearable"),r=this.displayText(),a=r.length>0,o=this.hasAttr("show-time");this.loadTimeFromValue();let i=`min="${h(this.getAttr("min"))}" max="${h(this.getAttr("max"))}"`;if(this.mode==="range")i+=` range start="${h(this.getAttr("start"))}" end="${h(this.getAttr("end"))}"`;else if(this.mode==="multiple"){const _=this.values.map(c=>c.split("T")[0]).join(",");i+=` mode="multiple" values="${h(_)}"`}else{const _=(p=this.value.split("T")[0])!=null?p:"";i+=` value="${h(_)}"`}this.setTemplate(`
963
+ `;let K=Be;function ar(){return v("fx-calendar",K)}ar();const He=class He extends b{constructor(){super(...arguments),this.time={h:0,m:0,s:0}}static get observedAttributes(){return["value","start","end","values","mode","min","max","placeholder","disabled","format","show-time","free-text","error","invalid","success","valid"]}get mode(){const e=this.getAttr("mode","single");return["single","range","multiple"].includes(e)?e:"single"}set mode(e){this.setAttribute("mode",e)}get value(){return this.getAttr("value")}set value(e){this.setAttribute("value",e)}get values(){const e=this.getAttr("values");return e?e.split(",").map(t=>t.trim()).filter(Boolean):[]}set values(e){this.setAttribute("values",e.join(","))}get disabled(){return this.hasAttr("disabled")}set disabled(e){this.toggleAttr("disabled",!!e)}connectedCallback(){super.connectedCallback(),this.docListener=e=>{this.hasAttr("open")&&(e.composedPath().includes(this)||this.removeAttribute("open"))},document.addEventListener("click",this.docListener)}disconnectedCallback(){super.disconnectedCallback(),this.docListener&&document.removeEventListener("click",this.docListener)}formatDate(e){if(!e)return"";const t=this.getAttr("format");if(!t)return e.split("T")[0];const[r,a]=e.split("T"),[o="",i="",s=""]=r.split("-"),[n="00",l="00",p="00"]=(a!=null?a:"").split(":");return t.replace(/yyyy/gi,"").replace(/MM/g,"").replace(/mm/g,"").replace(/dd/gi,"").replace(/HH/g,"").replace(/SS/gi,"").replace(/\u0001/g,o).replace(/\u0002/g,i).replace(/\u0003/g,s).replace(/\u0004/g,n).replace(/\u0005/g,l).replace(/\u0006/g,p)}displayText(){if(this.mode==="range"){const t=this.getAttr("start"),r=this.getAttr("end");if(this.hasAttr("show-time"),!t&&!r)return"";if(this.hasAttr("show-time")){const a=o=>o?`${this.formatDate(o)} ${this.timeText()}`:o?`${this.formatDate(o)} …`:"";return t&&r?`${a(t)} → ${a(r)}`:a(t)}return t&&r?`${this.formatDate(t)} → ${this.formatDate(r)}`:t?`${this.formatDate(t)} → …`:""}if(this.mode==="multiple")return this.values.map(t=>this.formatDate(t)).join(", ");const e=this.formatDate(this.value);return e&&this.hasAttr("show-time")?`${e} ${this.timeText()}`:e}timeText(){const e=t=>String(t).padStart(2,"0");return`${e(this.time.h)}:${e(this.time.m)}:${e(this.time.s)}`}loadTimeFromValue(){const t=(this.value||this.getAttr("start")||"").split("T")[1];if(!t)return;const[r,a,o]=t.split(":").map(i=>parseInt(i,10));this.time={h:r||0,m:a||0,s:o||0}}withTime(e){return e&&(this.hasAttr("show-time")?`${e}T${this.timeText()}`:e)}render(){var p,f;const e=this.disabled,t=this.hasAttr("clearable"),r=this.displayText(),a=r.length>0,o=this.hasAttr("show-time");this.loadTimeFromValue();let i=`min="${h(this.getAttr("min"))}" max="${h(this.getAttr("max"))}"`;if(this.mode==="range")i+=` range start="${h(this.getAttr("start"))}" end="${h(this.getAttr("end"))}"`;else if(this.mode==="multiple"){const _=this.values.map(c=>c.split("T")[0]).join(",");i+=` mode="multiple" values="${h(_)}"`}else{const _=(p=this.value.split("T")[0])!=null?p:"";i+=` value="${h(_)}"`}this.setTemplate(`
945
964
  <div class="field" part="field">
946
965
  <input class="display" part="display" type="text" ${this.hasAttr("free-text")&&!e?"":"readonly"}
947
966
  placeholder="${h(this.getAttr("placeholder","dd/mm/aaaa"))}"
@@ -966,7 +985,7 @@
966
985
  <input class="t-s" type="number" min="0" max="59" value="${this.time.s}" aria-label="Segundo">
967
986
  </div>`:""}
968
987
  </div>
969
- `);const s=this.root.querySelector(".field");if(!s||e)return;s.addEventListener("click",_=>{if(!_.target.closest(".clear")&&!(this.hasAttr("free-text")&&_.target.classList.contains("display")))if(this.toggleAttribute("open"),this.hasAttr("open")){const c=this.getBoundingClientRect();this.toggleAttribute("up",c.bottom+340>window.innerHeight&&c.top>340)}else this.removeAttribute("up")}),(f=this.root.querySelector(".clear"))==null||f.addEventListener("click",_=>{_.stopPropagation(),this.removeAttribute("value"),this.removeAttribute("start"),this.removeAttribute("end"),this.removeAttribute("values"),this.removeAttribute("open"),this.render(),this.emitChange({})});const n=this.root.querySelector(".pop fx-calendar");n==null||n.addEventListener("change",_=>{var g;const c=(g=_.detail)!=null?g:{};(c.start!==void 0||c.end!==void 0)&&(c.start?this.setAttribute("start",this.withTime(c.start)):this.removeAttribute("start"),c.end?this.setAttribute("end",this.withTime(c.end)):this.removeAttribute("end")),c.values!==void 0&&(this.values=c.values.map(u=>this.withTime(u))),c.value!==void 0&&(c.value?this.setAttribute("value",this.withTime(c.value)):this.removeAttribute("value"),this.mode==="single"&&this.removeAttribute("open")),this.render(),this.emitChange(c)});const l=this.root.querySelector(".display");if(l&&this.hasAttr("free-text")&&!e&&(l.addEventListener("keydown",_=>{_.key==="Enter"&&(_.preventDefault(),this.commitTyped(l))}),l.addEventListener("blur",()=>this.commitTyped(l))),o){const _=()=>{const c=this.root.querySelector(".t-h"),g=this.root.querySelector(".t-m"),u=this.root.querySelector(".t-s"),v=(A,w)=>Math.min(w,Math.max(0,parseInt(A!=null?A:"0",10)||0));this.time={h:v(c==null?void 0:c.value,23),m:v(g==null?void 0:g.value,59),s:v(u==null?void 0:u.value,59)};const y=A=>A.split("T")[0]?`${A.split("T")[0]}T${this.timeText()}`:A;this.value&&this.setAttribute("value",y(this.value)),this.getAttr("start")&&this.setAttribute("start",y(this.getAttr("start"))),this.getAttr("end")&&this.setAttribute("end",y(this.getAttr("end"))),this.values.length&&(this.values=this.values.map(A=>y(A)));const S=this.root.querySelector(".display");S&&(S.value=this.displayText()),this.emitChange({value:this.value})};[".t-h",".t-m",".t-s"].forEach(c=>{var g;(g=this.root.querySelector(c))==null||g.addEventListener("input",_)})}}emitChange(e){this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0,detail:e}))}parseTyped(e){var u,v;const t=e.trim();if(!t)return null;const r=this.getAttr("format","dd/mm/yyyy").toLowerCase(),a=["dd","mm","yyyy"].filter(y=>r.includes(y));if(a.length<3)return null;const o=t.split(new RegExp("[^0-9]+")).filter(Boolean);if(o.length!==3)return null;const i={};a.forEach((y,S)=>i[y]=o[S]);const s=`${i.yyyy}-${((u=i.mm)!=null?u:"").padStart(2,"0")}-${((v=i.dd)!=null?v:"").padStart(2,"0")}`,n=new Date(`${s}T12:00:00`);if(Number.isNaN(n.getTime()))return null;const[l,p,f]=s.split("-").map(y=>parseInt(y,10));if(n.getFullYear()!==l||n.getMonth()+1!==p||n.getDate()!==f)return null;const _=(y,S)=>y.split("T")[0].localeCompare(S.split("T")[0]),c=this.getAttr("min"),g=this.getAttr("max");return c&&_(s,c)<0||g&&_(s,g)>0?null:s}commitTyped(e){const t=this.parseTyped(e.value);if(!t){e.classList.add("invalid"),this.dispatchEvent(new CustomEvent("invalid",{bubbles:!0,composed:!0,detail:{text:e.value}})),e.value=this.displayText(),setTimeout(()=>e.classList.remove("invalid"),1500);return}if(this.mode==="single")this.setAttribute("value",this.withTime(t)),this.emitChange({value:this.value});else if(this.mode==="range"){if(!this.getAttr("start")||this.getAttr("start")&&this.getAttr("end"))this.setAttribute("start",this.withTime(t)),this.removeAttribute("end");else{const[r,a]=[this.getAttr("start").split("T")[0],t].sort();this.setAttribute("start",this.withTime(r)),this.setAttribute("end",this.withTime(a))}this.emitChange({start:this.getAttr("start"),end:this.getAttr("end")})}else{const r=this.values.filter(a=>a.split("T")[0]!==t);r.push(this.withTime(t)),this.values=r,this.emitChange({values:this.values})}this.render()}};Be.styles=m`
988
+ `);const s=this.root.querySelector(".field");if(!s||e)return;s.addEventListener("click",_=>{if(!_.target.closest(".clear")&&!(this.hasAttr("free-text")&&_.target.classList.contains("display")))if(this.toggleAttribute("open"),this.hasAttr("open")){const c=this.getBoundingClientRect();this.toggleAttribute("up",c.bottom+340>window.innerHeight&&c.top>340)}else this.removeAttribute("up")}),(f=this.root.querySelector(".clear"))==null||f.addEventListener("click",_=>{_.stopPropagation(),this.removeAttribute("value"),this.removeAttribute("start"),this.removeAttribute("end"),this.removeAttribute("values"),this.removeAttribute("open"),this.render(),this.emitChange({})});const n=this.root.querySelector(".pop fx-calendar");n==null||n.addEventListener("change",_=>{var g;const c=(g=_.detail)!=null?g:{};(c.start!==void 0||c.end!==void 0)&&(c.start?this.setAttribute("start",this.withTime(c.start)):this.removeAttribute("start"),c.end?this.setAttribute("end",this.withTime(c.end)):this.removeAttribute("end")),c.values!==void 0&&(this.values=c.values.map(u=>this.withTime(u))),c.value!==void 0&&(c.value?this.setAttribute("value",this.withTime(c.value)):this.removeAttribute("value"),this.mode==="single"&&this.removeAttribute("open")),this.render(),this.emitChange(c)});const l=this.root.querySelector(".display");if(l&&this.hasAttr("free-text")&&!e&&(l.addEventListener("keydown",_=>{_.key==="Enter"&&(_.preventDefault(),this.commitTyped(l))}),l.addEventListener("blur",()=>this.commitTyped(l))),o){const _=()=>{const c=this.root.querySelector(".t-h"),g=this.root.querySelector(".t-m"),u=this.root.querySelector(".t-s"),x=(A,w)=>Math.min(w,Math.max(0,parseInt(A!=null?A:"0",10)||0));this.time={h:x(c==null?void 0:c.value,23),m:x(g==null?void 0:g.value,59),s:x(u==null?void 0:u.value,59)};const y=A=>A.split("T")[0]?`${A.split("T")[0]}T${this.timeText()}`:A;this.value&&this.setAttribute("value",y(this.value)),this.getAttr("start")&&this.setAttribute("start",y(this.getAttr("start"))),this.getAttr("end")&&this.setAttribute("end",y(this.getAttr("end"))),this.values.length&&(this.values=this.values.map(A=>y(A)));const S=this.root.querySelector(".display");S&&(S.value=this.displayText()),this.emitChange({value:this.value})};[".t-h",".t-m",".t-s"].forEach(c=>{var g;(g=this.root.querySelector(c))==null||g.addEventListener("input",_)})}}emitChange(e){this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0,detail:e}))}parseTyped(e){var u,x;const t=e.trim();if(!t)return null;const r=this.getAttr("format","dd/mm/yyyy").toLowerCase(),a=["dd","mm","yyyy"].filter(y=>r.includes(y));if(a.length<3)return null;const o=t.split(new RegExp("[^0-9]+")).filter(Boolean);if(o.length!==3)return null;const i={};a.forEach((y,S)=>i[y]=o[S]);const s=`${i.yyyy}-${((u=i.mm)!=null?u:"").padStart(2,"0")}-${((x=i.dd)!=null?x:"").padStart(2,"0")}`,n=new Date(`${s}T12:00:00`);if(Number.isNaN(n.getTime()))return null;const[l,p,f]=s.split("-").map(y=>parseInt(y,10));if(n.getFullYear()!==l||n.getMonth()+1!==p||n.getDate()!==f)return null;const _=(y,S)=>y.split("T")[0].localeCompare(S.split("T")[0]),c=this.getAttr("min"),g=this.getAttr("max");return c&&_(s,c)<0||g&&_(s,g)>0?null:s}commitTyped(e){const t=this.parseTyped(e.value);if(!t){e.classList.add("invalid"),this.dispatchEvent(new CustomEvent("invalid",{bubbles:!0,composed:!0,detail:{text:e.value}})),e.value=this.displayText(),setTimeout(()=>e.classList.remove("invalid"),1500);return}if(this.mode==="single")this.setAttribute("value",this.withTime(t)),this.emitChange({value:this.value});else if(this.mode==="range"){if(!this.getAttr("start")||this.getAttr("start")&&this.getAttr("end"))this.setAttribute("start",this.withTime(t)),this.removeAttribute("end");else{const[r,a]=[this.getAttr("start").split("T")[0],t].sort();this.setAttribute("start",this.withTime(r)),this.setAttribute("end",this.withTime(a))}this.emitChange({start:this.getAttr("start"),end:this.getAttr("end")})}else{const r=this.values.filter(a=>a.split("T")[0]!==t);r.push(this.withTime(t)),this.values=r,this.emitChange({values:this.values})}this.render()}};He.styles=m`
970
989
  :host {
971
990
  display: inline-block;
972
991
  vertical-align: middle;
@@ -984,6 +1003,8 @@
984
1003
  min-height: var(--fx-size-md, 40px);
985
1004
  min-width: 150px;
986
1005
  padding: var(--fx-space-xs) var(--fx-space-md);
1006
+ /* Altura determinística: a caixa fica EXATAMENTE no token --fx-size-*. */
1007
+ line-height: var(--fx-font-line-height);
987
1008
  background-color: var(--fx-surface-background);
988
1009
  border: 1px solid var(--fx-border-default);
989
1010
  border-radius: var(--fx-radius-md);
@@ -992,9 +1013,9 @@
992
1013
  border-color var(--fx-motion-duration-normal) var(--fx-motion-easing),
993
1014
  box-shadow var(--fx-motion-duration-normal) var(--fx-motion-easing);
994
1015
  }
995
- :host([size='sm']) .field { min-height: 32px; min-width: 180px; }
996
- :host([size='md']) .field { min-height: 40px; }
997
- :host([size='lg']) .field { min-height: 48px; min-width: 220px; font-size: calc(var(--fx-font-size) + 4px); }
1016
+ :host([size='sm']) .field { min-height: var(--fx-size-sm); min-width: 180px; }
1017
+ :host([size='md']) .field { min-height: var(--fx-size-md); }
1018
+ :host([size='lg']) .field { min-height: var(--fx-size-lg); min-width: 220px; font-size: calc(var(--fx-font-size) + 4px); }
998
1019
  /* Range e multiple exibem mais de uma data: campo mais largo */
999
1020
  :host([mode='range']) .field { min-width: 250px; }
1000
1021
  :host([mode='multiple']) .field { min-width: 220px; }
@@ -1005,28 +1026,31 @@
1005
1026
  descartados para permitir layouts estreitos sob controle do pai). */
1006
1027
  :host([full]) { display: block; width: 100%; }
1007
1028
  :host([full]) .field { min-width: 0; }
1008
- /* Validação */
1029
+ /* Validação — borda e brilho JÁ EM REPOUSO (igual ao fx-input); o brilho
1030
+ segue o token --fx-effect-error-ring, que acompanha effect.focus-ring. */
1009
1031
  :host([error]) .field,
1010
1032
  :host([invalid]) .field {
1011
1033
  border-color: var(--fx-color-danger, #dc2626);
1034
+ box-shadow: var(--fx-effect-error-ring, 0 0 0 3px color-mix(in srgb, var(--fx-color-danger, #dc2626) 18%, transparent));
1012
1035
  }
1013
1036
  :host([error]) .field:focus-within,
1014
1037
  :host([invalid]) .field:focus-within,
1015
1038
  :host([error][open]) .field,
1016
1039
  :host([invalid][open]) .field {
1017
1040
  border-color: var(--fx-color-danger, #dc2626);
1018
- box-shadow: 0 0 0 3px color-mix(in srgb, var(--fx-color-danger, #dc2626) 18%, transparent);
1041
+ box-shadow: var(--fx-effect-error-ring, 0 0 0 3px color-mix(in srgb, var(--fx-color-danger, #dc2626) 18%, transparent));
1019
1042
  }
1020
1043
  :host([success]) .field,
1021
1044
  :host([valid]) .field {
1022
1045
  border-color: var(--fx-color-success, #16a34a);
1046
+ box-shadow: var(--fx-effect-success-ring, 0 0 0 3px color-mix(in srgb, var(--fx-color-success, #16a34a) 18%, transparent));
1023
1047
  }
1024
1048
  :host([success]) .field:focus-within,
1025
1049
  :host([valid]) .field:focus-within,
1026
1050
  :host([success][open]) .field,
1027
1051
  :host([valid][open]) .field {
1028
1052
  border-color: var(--fx-color-success, #16a34a);
1029
- box-shadow: 0 0 0 3px color-mix(in srgb, var(--fx-color-success, #16a34a) 18%, transparent);
1053
+ box-shadow: var(--fx-effect-success-ring, 0 0 0 3px color-mix(in srgb, var(--fx-color-success, #16a34a) 18%, transparent));
1030
1054
  }
1031
1055
  .field:hover { border-color: var(--fx-border-hover); }
1032
1056
  .field:focus-within {
@@ -1113,7 +1137,7 @@
1113
1137
  :host([disabled]) .display { cursor: not-allowed; }
1114
1138
  :host([free-text]) .display { cursor: text; }
1115
1139
  :host([free-text]) .display.invalid { border-bottom: 2px solid var(--fx-color-danger); }
1116
- `;let K=Be;function Wt(){return x("fx-datepicker",K)}Wt();const Oe=class Oe extends b{static get observedAttributes(){return["checked","disabled","indeterminate"]}get checked(){return this.hasAttr("checked")}set checked(e){this.toggleAttr("checked",!!e)}get indeterminate(){return this.hasAttr("indeterminate")}set indeterminate(e){this.toggleAttr("indeterminate",!!e)}get disabled(){return this.hasAttr("disabled")}set disabled(e){this.toggleAttr("disabled",!!e)}get size(){const e=this.getAttr("size","md");return e==="sm"||e==="lg"?e:"md"}set size(e){this.setAttribute("size",e)}render(){const e=this.size==="sm"?"14px":this.size==="lg"?"22px":"18px";this.style.getPropertyValue("--fx-size-checkbox")||this.style.setProperty("--fx-size-checkbox",e),this.setTemplate(`
1140
+ `;let X=He;function or(){return v("fx-datepicker",X)}or();const Ke=class Ke extends b{static get observedAttributes(){return["checked","disabled","indeterminate"]}get checked(){return this.hasAttr("checked")}set checked(e){this.toggleAttr("checked",!!e)}get indeterminate(){return this.hasAttr("indeterminate")}set indeterminate(e){this.toggleAttr("indeterminate",!!e)}get disabled(){return this.hasAttr("disabled")}set disabled(e){this.toggleAttr("disabled",!!e)}get size(){const e=this.getAttr("size","md");return e==="sm"||e==="lg"?e:"md"}set size(e){this.setAttribute("size",e)}render(){const e=this.size==="sm"?"14px":this.size==="lg"?"22px":"18px";this.style.getPropertyValue("--fx-size-checkbox")||this.style.setProperty("--fx-size-checkbox",e),this.setTemplate(`
1117
1141
  <span class="box" part="box" role="checkbox" tabindex="0"
1118
1142
  aria-checked="${this.indeterminate?"mixed":this.checked}"
1119
1143
  aria-disabled="${this.disabled}">
@@ -1122,7 +1146,7 @@
1122
1146
  </span>
1123
1147
  <span class="label" part="label"><slot></slot></span>
1124
1148
  </span>
1125
- `);const t=this.root.querySelector(".box");t&&(t.addEventListener("click",()=>this.toggle()),t.addEventListener("keydown",r=>{(r.key===" "||r.key==="Enter")&&(r.preventDefault(),this.toggle())}))}toggle(){this.disabled||(this.indeterminate=!1,this.checked=!this.checked,this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0,detail:{checked:this.checked,value:this.getAttr("value")}})))}};Oe.styles=m`
1149
+ `);const t=this.root.querySelector(".box");t&&(t.addEventListener("click",()=>this.toggle()),t.addEventListener("keydown",r=>{(r.key===" "||r.key==="Enter")&&(r.preventDefault(),this.toggle())}))}toggle(){this.disabled||(this.indeterminate=!1,this.checked=!this.checked,this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0,detail:{checked:this.checked,value:this.getAttr("value")}})))}};Ke.styles=m`
1126
1150
  :host {
1127
1151
  display: inline-flex;
1128
1152
  vertical-align: middle;
@@ -1183,13 +1207,13 @@
1183
1207
  cursor: not-allowed;
1184
1208
  pointer-events: none;
1185
1209
  }
1186
- `;let Y=Oe;function Gt(){return x("fx-checkbox",Y)}Gt();const He=class He extends b{static get observedAttributes(){return["checked","disabled"]}get checked(){return this.hasAttr("checked")}set checked(e){this.toggleAttr("checked",!!e)}get disabled(){return this.hasAttr("disabled")}set disabled(e){this.toggleAttr("disabled",!!e)}get size(){const e=this.getAttr("size","md");return e==="sm"||e==="lg"?e:"md"}set size(e){this.setAttribute("size",e)}render(){const e=this.size==="sm"?"14px":this.size==="lg"?"22px":"18px";this.style.getPropertyValue("--fx-size-radio")||this.style.setProperty("--fx-size-radio",e),this.setTemplate(`
1210
+ `;let Y=Ke;function ir(){return v("fx-checkbox",Y)}ir();const Xe=class Xe extends b{static get observedAttributes(){return["checked","disabled"]}get checked(){return this.hasAttr("checked")}set checked(e){this.toggleAttr("checked",!!e)}get disabled(){return this.hasAttr("disabled")}set disabled(e){this.toggleAttr("disabled",!!e)}get size(){const e=this.getAttr("size","md");return e==="sm"||e==="lg"?e:"md"}set size(e){this.setAttribute("size",e)}render(){const e=this.size==="sm"?"14px":this.size==="lg"?"22px":"18px";this.style.getPropertyValue("--fx-size-radio")||this.style.setProperty("--fx-size-radio",e),this.setTemplate(`
1187
1211
  <span class="box" part="box" role="radio" tabindex="0"
1188
1212
  aria-checked="${this.checked}" aria-disabled="${this.disabled}">
1189
1213
  <span class="control" part="control"><span class="dot" part="dot"></span></span>
1190
1214
  <span class="label" part="label"><slot></slot></span>
1191
1215
  </span>
1192
- `);const t=this.root.querySelector(".box");t&&(t.addEventListener("click",()=>this.select()),t.addEventListener("keydown",r=>{(r.key===" "||r.key==="Enter")&&(r.preventDefault(),this.select())}))}select(){if(this.disabled||this.checked)return;const e=this.getAttr("name");e&&document.querySelectorAll(`fx-radio[name="${CSS.escape(e)}"]`).forEach(t=>{t.checked=!1}),this.checked=!0,this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0,detail:{checked:!0,value:this.getAttr("value")}}))}};He.styles=m`
1216
+ `);const t=this.root.querySelector(".box");t&&(t.addEventListener("click",()=>this.select()),t.addEventListener("keydown",r=>{(r.key===" "||r.key==="Enter")&&(r.preventDefault(),this.select())}))}select(){if(this.disabled||this.checked)return;const e=this.getAttr("name");e&&document.querySelectorAll(`fx-radio[name="${CSS.escape(e)}"]`).forEach(t=>{t.checked=!1}),this.checked=!0,this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0,detail:{checked:!0,value:this.getAttr("value")}}))}};Xe.styles=m`
1193
1217
  :host {
1194
1218
  display: inline-flex;
1195
1219
  vertical-align: middle;
@@ -1245,12 +1269,12 @@
1245
1269
  cursor: not-allowed;
1246
1270
  pointer-events: none;
1247
1271
  }
1248
- `;let X=He;function Zt(){return x("fx-radio",X)}Zt();const T="pt-BR",Qt={currency:d=>{if(d==null||d==="")return"";try{return new Intl.NumberFormat(T,{style:"currency",currency:"BRL"}).format(Number(d))}catch(e){return String(d)}},date:(d,e)=>{const t=Et(d);if(!t)return String(d!=null?d:"");const r={short:{dateStyle:"short"},medium:{dateStyle:"medium"},long:{dateStyle:"long"},full:{dateStyle:"full"}},a=e&&r[e]?r[e]:r.medium;try{return new Intl.DateTimeFormat(T,a).format(t)}catch(o){return t.toLocaleDateString(T)}},dateTime:d=>{const e=Et(d);if(!e)return String(d!=null?d:"");try{return new Intl.DateTimeFormat(T,{dateStyle:"medium",timeStyle:"short"}).format(e)}catch(t){return e.toLocaleString(T)}},number:(d,e)=>{if(d==null||d==="")return"";try{const t={};if(e!==void 0){const r=Number(e);t.minimumFractionDigits=r,t.maximumFractionDigits=r}return new Intl.NumberFormat(T,t).format(Number(d))}catch(t){return String(d)}}};function Et(d){if(d==null||d==="")return null;if(d instanceof Date)return isNaN(d.getTime())?null:d;if(typeof d=="number"){const e=new Date(d);return isNaN(e.getTime())?null:e}if(typeof d=="string"){const e=new Date(d);return isNaN(e.getTime())?null:e}return null}const er=d=>/[a-z_$]/i.test(d),tr=d=>/[a-z0-9_$]/i.test(d);function rr(d){const e=[];let t=0;for(;t<d.length;){const r=d[t];if(/\s/.test(r)){t++;continue}if(r==="'"||r==='"'){const o=r;let i="";for(t++;t<d.length&&d[t]!==o;)d[t]==="\\"&&t+1<d.length?(i+=d[t+1],t+=2):(i+=d[t],t++);t++,e.push({type:"str",value:i});continue}if(r>="0"&&r<="9"){let o="";for(;t<d.length&&(d[t]>="0"&&d[t]<="9"||d[t]===".");)o+=d[t],t++;e.push({type:"num",value:o});continue}if(er(r)){let o="";for(;t<d.length&&tr(d[t]);)o+=d[t],t++;o==="true"||o==="false"||o==="null"?e.push({type:"kw",value:o}):e.push({type:"id",value:o});continue}const a=d.slice(t,t+2);if(a==="=="||a==="!="||a===">="||a==="<="){e.push({type:"cmp",value:a}),t+=2;continue}if(r==="+"){e.push({type:"op",value:"+"}),t++;continue}if(r==="-"){e.push({type:"op",value:"-"}),t++;continue}if(r==="*"){e.push({type:"op",value:"*"}),t++;continue}if(r==="/"){e.push({type:"op",value:"/"}),t++;continue}if(r===">"){e.push({type:"cmp",value:">"}),t++;continue}if(r==="<"){e.push({type:"cmp",value:"<"}),t++;continue}if(r==="!"){e.push({type:"op",value:"!"}),t++;continue}if(r==="?"){e.push({type:"qm",value:"?"}),t++;continue}if(r===":"){e.push({type:"colon",value:":"}),t++;continue}if(r==="|"){e.push({type:"pipe",value:"|"}),t++;continue}if(r==="("){e.push({type:"lparen",value:"("}),t++;continue}if(r===")"){e.push({type:"rparen",value:")"}),t++;continue}if(r==="."){e.push({type:"dot",value:"."}),t++;continue}t++}return e}class ar{constructor(e,t){this.tokens=e,this.ctx=t,this.pos=0}peek(){return this.pos<this.tokens.length?this.tokens[this.pos]:null}next(){return this.pos<this.tokens.length?this.tokens[this.pos++]:null}matchType(e){var t;return((t=this.peek())==null?void 0:t.type)===e?this.next():null}parse(){return this.parsePipe()}parsePipe(){var t,r;let e=this.parseTernary();for(;((t=this.peek())==null?void 0:t.type)==="pipe";){this.next();const a=this.matchType("id");if(!a)break;let o;if(((r=this.peek())==null?void 0:r.type)==="colon"){this.next();const i=this.peek();i&&(i.type==="str"||i.type==="num"||i.type==="id")&&(o=i.type==="str"?i.value:String(i.value),this.next())}e=this.applyPipe(a.value,o,e)}return e}parseTernary(){var t,r;const e=this.parseComparison();if(((t=this.peek())==null?void 0:t.type)==="qm"){this.next();const a=this.parsePipe();if(((r=this.peek())==null?void 0:r.type)==="colon"){this.next();const o=this.parsePipe();return e?a:o}return a}return e}parseComparison(){const e=this.parseAdditive(),t=this.peek();if((t==null?void 0:t.type)==="cmp"){this.next();const r=this.parseAdditive();return this.compare(e,t.value,r)}return e}compare(e,t,r){const a=Ct(e),o=Ct(r);switch(t){case"==":return a==o;case"!=":return a!=o;case">":return a>o;case"<":return a<o;case">=":return a>=o;case"<=":return a<=o}return!1}parseAdditive(){let e=this.parseMultiplicative();for(;;){const t=this.peek();if((t==null?void 0:t.type)==="op"&&(t.value==="+"||t.value==="-")){this.next();const r=this.parseMultiplicative();e=t.value==="+"?this.add(e,r):this.subtract(e,r)}else break}return e}add(e,t){return typeof e=="string"||typeof t=="string"?String(e!=null?e:"")+String(t!=null?t:""):Number(e)+Number(t)}subtract(e,t){return Number(e)-Number(t)}parseMultiplicative(){let e=this.parseUnary();for(;;){const t=this.peek();if((t==null?void 0:t.type)==="op"&&(t.value==="*"||t.value==="/")){this.next();const r=this.parseUnary();e=t.value==="*"?Number(e)*Number(r):Number(e)/Number(r)}else break}return e}parseUnary(){const e=this.peek();if((e==null?void 0:e.type)==="op"&&(e.value==="+"||e.value==="-")){this.next();const t=Number(this.parseUnary());return e.value==="-"?-t:t}return(e==null?void 0:e.type)==="op"&&e.value==="!"?(this.next(),!this.parseUnary()):this.parsePrimary()}parsePrimary(){var t;const e=this.peek();if(e){if(e.type==="lparen"){this.next();const r=this.parsePipe();return this.matchType("rparen"),r}if(e.type==="str")return this.next(),e.value;if(e.type==="num")return this.next(),Number(e.value);if(e.type==="kw")return this.next(),e.value==="true"?!0:e.value==="false"?!1:null;if(e.type==="id"){this.next();let r=this.resolveId(e.value);for(;((t=this.peek())==null?void 0:t.type)==="dot";){this.next();const a=this.peek();if((a==null?void 0:a.type)==="id")this.next(),r=r==null?void 0:r[a.value];else break}return r}this.next()}}resolveId(e){switch(e){case"value":return this.ctx.value;case"row":return this.ctx.row;case"true":return!0;case"false":return!1;case"null":return null;default:return this.ctx.row[e]}}applyPipe(e,t,r){const a=Qt[e];if(!a)return U(r);try{return a(r,t)}catch(o){return U(r)}}}function Ct(d){return typeof d=="number"?d:typeof d=="boolean"?d?1:0:String(d!=null?d:"")}function U(d){return d==null?"":typeof d=="object"?"[object Object]":String(d)}function or(d,e){try{const t=rr(d),a=new ar(t,e).parse();return U(a)}catch(t){return""}}function ir(d,e,t){const r={value:e[t],row:e};return d.replace(/\{\{([^}]+)\}\}/g,(a,o)=>h(or(sr(o.trim()),r)))}function sr(d){return d.replace(/&amp;/g,"&").replace(/&gt;/g,">").replace(/&lt;/g,"<").replace(/&quot;/g,'"').replace(/&#39;/g,"'")}const Ke=class Ke extends b{constructor(){super(...arguments),this._data=[],this.page=0,this.sortField="",this.sortDir=1,this.filters={},this.globalSearch=""}static get observedAttributes(){return["pagination","rows","rows-options","striped","empty-message","pagination-position","lazy","total","loading","loading-message"]}get data(){return this._data}set data(e){this._data=Array.isArray(e)?e:[],this.render()}get total(){var e;return(e=this._total)!=null?e:this._data.length}set total(e){this._total=e,this.setAttribute("total",String(e))}get rowsPerPage(){const e=Number(this.getAttr("rows","10"));return e>0?e:10}set rowsPerPage(e){this.setAttribute("rows",String(e))}get lazy(){return this.hasAttr("lazy")}get columns(){return[...this.querySelectorAll("fx-column")].map(e=>{var o,i,s,n;const t=e.querySelector("template"),r=t?void 0:e.innerHTML.trim(),a=(o=e.getAttribute("align"))!=null?o:"left";return{field:(i=e.getAttribute("field"))!=null?i:"",header:(n=(s=e.getAttribute("header"))!=null?s:e.getAttribute("field"))!=null?n:"",sortable:e.hasAttribute("sortable"),filterable:e.hasAttribute("filterable"),align:["left","center","right","justify","start","end"].includes(a)?a:"left",template:t!=null?t:void 0,directTemplate:r||void 0}})}get toolbarTemplate(){return this.querySelector('template[slot="toolbar"]')}connectedCallback(){this._parseDataAttribute(),super.connectedCallback(),this._columnObserver=new MutationObserver(()=>this.render()),this._columnObserver.observe(this,{childList:!0,subtree:!0})}disconnectedCallback(){var e;(e=this._columnObserver)==null||e.disconnect(),super.disconnectedCallback()}_parseDataAttribute(){if(!this._data.length)try{const t=this.getAttr("data");t&&(this._data=JSON.parse(t))}catch(t){}const e=this.getAttr("total");if(e){const t=Number(e);isNaN(t)||(this._total=t)}}computeRows(){let e=[...this._data];for(const[r,a]of Object.entries(this.filters)){if(!a)continue;const o=a.toLowerCase();e=e.filter(i=>{var s;return String((s=i[r])!=null?s:"").toLowerCase().includes(o)})}if(this.globalSearch){const r=this.globalSearch.toLowerCase(),a=this._getSearchFields();e=e.filter(o=>(a.length?a:Object.keys(o)).some(s=>{var n;return String((n=o[s])!=null?n:"").toLowerCase().includes(r)}))}const t=this.lazy?this.total:e.length;if(this.sortField&&e.sort((r,a)=>{const o=r[this.sortField],i=a[this.sortField];return typeof o=="number"&&typeof i=="number"?(o-i)*this.sortDir:String(o!=null?o:"").localeCompare(String(i!=null?i:""),"pt-BR")*this.sortDir}),this.hasAttr("pagination")&&!this.lazy){const r=this.page*this.rowsPerPage;e=e.slice(r,r+this.rowsPerPage)}return{rows:e,total:t}}_getSearchFields(){const e=this.root.querySelector("[data-search-fields]");if(!e)return[];const t=e.getAttribute("data-search-fields");return t===null?[]:t.split(",").map(r=>r.trim()).filter(Boolean)}cellHtml(e,t){var a,o,i;const r=(o=(a=e.template)==null?void 0:a.innerHTML)!=null?o:e.directTemplate;return r?ir(r,t,e.field):h(String((i=t[e.field])!=null?i:""))}render(){var g;const e=this.columns.filter(u=>u.field),{rows:t,total:r}=this.computeRows(),a=this.hasAttr("pagination"),o=Math.max(1,Math.ceil(r/this.rowsPerPage));this.page>=o&&(this.page=o-1);const i=this.toolbarTemplate,s=i?`<div class="toolbar" part="toolbar">${i.innerHTML}</div>`:"",n=e.map(u=>{const v=this.sortField===u.field,y=v?this.sortDir===1?"▲":"▼":u.sortable?"⇅":"",S=v?"active":"";return`<th part="header" class="${u.sortable?"sortable":""}" style="text-align:${u.align}" data-field="${h(u.field)}">${h(u.header)}${y?`<span class="sort-ind ${S}">${y}</span>`:""}</th>`}).join(""),l=e.some(u=>u.filterable)?`<tr class="filter-row">${e.map(u=>{var v;return`<th style="text-align:${u.align}">${u.filterable?`<input class="filter" data-field="${h(u.field)}" placeholder="${h("Filtrar…")}" value="${h((v=this.filters[u.field])!=null?v:"")}">`:""}</th>`}).join("")}</tr>`:"",p=t.length?t.map((u,v)=>`<tr part="row" data-index="${v}">${e.map(y=>`<td part="cell" style="text-align:${y.align}">${this.cellHtml(y,u)}</td>`).join("")}</tr>`).join(""):`<tr><td class="empty" colspan="${e.length||1}">${h(this.getAttr("empty-message","Nenhum registro encontrado"))}</td></tr>`,f=a?`
1272
+ `;let U=Xe;function sr(){return v("fx-radio",U)}sr();const q="pt-BR",nr={currency:d=>{if(d==null||d==="")return"";try{return new Intl.NumberFormat(q,{style:"currency",currency:"BRL"}).format(Number(d))}catch(e){return String(d)}},date:(d,e)=>{const t=Tt(d);if(!t)return String(d!=null?d:"");const r={short:{dateStyle:"short"},medium:{dateStyle:"medium"},long:{dateStyle:"long"},full:{dateStyle:"full"}},a=e&&r[e]?r[e]:r.medium;try{return new Intl.DateTimeFormat(q,a).format(t)}catch(o){return t.toLocaleDateString(q)}},dateTime:d=>{const e=Tt(d);if(!e)return String(d!=null?d:"");try{return new Intl.DateTimeFormat(q,{dateStyle:"medium",timeStyle:"short"}).format(e)}catch(t){return e.toLocaleString(q)}},number:(d,e)=>{if(d==null||d==="")return"";try{const t={};if(e!==void 0){const r=Number(e);t.minimumFractionDigits=r,t.maximumFractionDigits=r}return new Intl.NumberFormat(q,t).format(Number(d))}catch(t){return String(d)}}};function Tt(d){if(d==null||d==="")return null;if(d instanceof Date)return isNaN(d.getTime())?null:d;if(typeof d=="number"){const e=new Date(d);return isNaN(e.getTime())?null:e}if(typeof d=="string"){const e=new Date(d);return isNaN(e.getTime())?null:e}return null}const lr=d=>/[a-z_$]/i.test(d),cr=d=>/[a-z0-9_$]/i.test(d);function dr(d){const e=[];let t=0;for(;t<d.length;){const r=d[t];if(/\s/.test(r)){t++;continue}if(r==="'"||r==='"'){const o=r;let i="";for(t++;t<d.length&&d[t]!==o;)d[t]==="\\"&&t+1<d.length?(i+=d[t+1],t+=2):(i+=d[t],t++);t++,e.push({type:"str",value:i});continue}if(r>="0"&&r<="9"){let o="";for(;t<d.length&&(d[t]>="0"&&d[t]<="9"||d[t]===".");)o+=d[t],t++;e.push({type:"num",value:o});continue}if(lr(r)){let o="";for(;t<d.length&&cr(d[t]);)o+=d[t],t++;o==="true"||o==="false"||o==="null"?e.push({type:"kw",value:o}):e.push({type:"id",value:o});continue}const a=d.slice(t,t+2);if(a==="=="||a==="!="||a===">="||a==="<="){e.push({type:"cmp",value:a}),t+=2;continue}if(r==="+"){e.push({type:"op",value:"+"}),t++;continue}if(r==="-"){e.push({type:"op",value:"-"}),t++;continue}if(r==="*"){e.push({type:"op",value:"*"}),t++;continue}if(r==="/"){e.push({type:"op",value:"/"}),t++;continue}if(r===">"){e.push({type:"cmp",value:">"}),t++;continue}if(r==="<"){e.push({type:"cmp",value:"<"}),t++;continue}if(r==="!"){e.push({type:"op",value:"!"}),t++;continue}if(r==="?"){e.push({type:"qm",value:"?"}),t++;continue}if(r===":"){e.push({type:"colon",value:":"}),t++;continue}if(r==="|"){e.push({type:"pipe",value:"|"}),t++;continue}if(r==="("){e.push({type:"lparen",value:"("}),t++;continue}if(r===")"){e.push({type:"rparen",value:")"}),t++;continue}if(r==="."){e.push({type:"dot",value:"."}),t++;continue}t++}return e}class hr{constructor(e,t){this.tokens=e,this.ctx=t,this.pos=0}peek(){return this.pos<this.tokens.length?this.tokens[this.pos]:null}next(){return this.pos<this.tokens.length?this.tokens[this.pos++]:null}matchType(e){var t;return((t=this.peek())==null?void 0:t.type)===e?this.next():null}parse(){return this.parsePipe()}parsePipe(){var t,r;let e=this.parseTernary();for(;((t=this.peek())==null?void 0:t.type)==="pipe";){this.next();const a=this.matchType("id");if(!a)break;let o;if(((r=this.peek())==null?void 0:r.type)==="colon"){this.next();const i=this.peek();i&&(i.type==="str"||i.type==="num"||i.type==="id")&&(o=i.type==="str"?i.value:String(i.value),this.next())}e=this.applyPipe(a.value,o,e)}return e}parseTernary(){var t,r;const e=this.parseComparison();if(((t=this.peek())==null?void 0:t.type)==="qm"){this.next();const a=this.parsePipe();if(((r=this.peek())==null?void 0:r.type)==="colon"){this.next();const o=this.parsePipe();return e?a:o}return a}return e}parseComparison(){const e=this.parseAdditive(),t=this.peek();if((t==null?void 0:t.type)==="cmp"){this.next();const r=this.parseAdditive();return this.compare(e,t.value,r)}return e}compare(e,t,r){const a=qt(e),o=qt(r);switch(t){case"==":return a==o;case"!=":return a!=o;case">":return a>o;case"<":return a<o;case">=":return a>=o;case"<=":return a<=o}return!1}parseAdditive(){let e=this.parseMultiplicative();for(;;){const t=this.peek();if((t==null?void 0:t.type)==="op"&&(t.value==="+"||t.value==="-")){this.next();const r=this.parseMultiplicative();e=t.value==="+"?this.add(e,r):this.subtract(e,r)}else break}return e}add(e,t){return typeof e=="string"||typeof t=="string"?String(e!=null?e:"")+String(t!=null?t:""):Number(e)+Number(t)}subtract(e,t){return Number(e)-Number(t)}parseMultiplicative(){let e=this.parseUnary();for(;;){const t=this.peek();if((t==null?void 0:t.type)==="op"&&(t.value==="*"||t.value==="/")){this.next();const r=this.parseUnary();e=t.value==="*"?Number(e)*Number(r):Number(e)/Number(r)}else break}return e}parseUnary(){const e=this.peek();if((e==null?void 0:e.type)==="op"&&(e.value==="+"||e.value==="-")){this.next();const t=Number(this.parseUnary());return e.value==="-"?-t:t}return(e==null?void 0:e.type)==="op"&&e.value==="!"?(this.next(),!this.parseUnary()):this.parsePrimary()}parsePrimary(){var t;const e=this.peek();if(e){if(e.type==="lparen"){this.next();const r=this.parsePipe();return this.matchType("rparen"),r}if(e.type==="str")return this.next(),e.value;if(e.type==="num")return this.next(),Number(e.value);if(e.type==="kw")return this.next(),e.value==="true"?!0:e.value==="false"?!1:null;if(e.type==="id"){this.next();let r=this.resolveId(e.value);for(;((t=this.peek())==null?void 0:t.type)==="dot";){this.next();const a=this.peek();if((a==null?void 0:a.type)==="id")this.next(),r=r==null?void 0:r[a.value];else break}return r}this.next()}}resolveId(e){switch(e){case"value":return this.ctx.value;case"row":return this.ctx.row;case"true":return!0;case"false":return!1;case"null":return null;default:return this.ctx.row[e]}}applyPipe(e,t,r){const a=nr[e];if(!a)return J(r);try{return a(r,t)}catch(o){return J(r)}}}function qt(d){return typeof d=="number"?d:typeof d=="boolean"?d?1:0:String(d!=null?d:"")}function J(d){return d==null?"":typeof d=="object"?"[object Object]":String(d)}function pr(d,e){try{const t=dr(d),a=new hr(t,e).parse();return J(a)}catch(t){return""}}function ur(d,e,t){const r={value:e[t],row:e};return d.replace(/\{\{([^}]+)\}\}/g,(a,o)=>h(pr(fr(o.trim()),r)))}function fr(d){return d.replace(/&amp;/g,"&").replace(/&gt;/g,">").replace(/&lt;/g,"<").replace(/&quot;/g,'"').replace(/&#39;/g,"'")}const Ye=class Ye extends b{constructor(){super(...arguments),this._data=[],this.page=0,this.sortField="",this.sortDir=1,this.filters={},this.globalSearch=""}static get observedAttributes(){return["pagination","rows","rows-options","striped","empty-message","pagination-position","lazy","total","loading","loading-message"]}get data(){return this._data}set data(e){this._data=Array.isArray(e)?e:[],this.render()}get total(){var e;return(e=this._total)!=null?e:this._data.length}set total(e){this._total=e,this.setAttribute("total",String(e))}get rowsPerPage(){const e=Number(this.getAttr("rows","10"));return e>0?e:10}set rowsPerPage(e){this.setAttribute("rows",String(e))}get lazy(){return this.hasAttr("lazy")}get columns(){return[...this.querySelectorAll("fx-column")].map(e=>{var o,i,s,n;const t=e.querySelector("template"),r=t?void 0:e.innerHTML.trim(),a=(o=e.getAttribute("align"))!=null?o:"left";return{field:(i=e.getAttribute("field"))!=null?i:"",header:(n=(s=e.getAttribute("header"))!=null?s:e.getAttribute("field"))!=null?n:"",sortable:e.hasAttribute("sortable"),filterable:e.hasAttribute("filterable"),align:["left","center","right","justify","start","end"].includes(a)?a:"left",template:t!=null?t:void 0,directTemplate:r||void 0}})}get toolbarTemplate(){return this.querySelector('template[slot="toolbar"]')}connectedCallback(){this._parseDataAttribute(),super.connectedCallback(),this._columnObserver=new MutationObserver(()=>this.render()),this._columnObserver.observe(this,{childList:!0,subtree:!0})}disconnectedCallback(){var e;(e=this._columnObserver)==null||e.disconnect(),super.disconnectedCallback()}_parseDataAttribute(){if(!this._data.length)try{const t=this.getAttr("data");t&&(this._data=JSON.parse(t))}catch(t){}const e=this.getAttr("total");if(e){const t=Number(e);isNaN(t)||(this._total=t)}}computeRows(){let e=[...this._data];for(const[r,a]of Object.entries(this.filters)){if(!a)continue;const o=a.toLowerCase();e=e.filter(i=>{var s;return String((s=i[r])!=null?s:"").toLowerCase().includes(o)})}if(this.globalSearch){const r=this.globalSearch.toLowerCase(),a=this._getSearchFields();e=e.filter(o=>(a.length?a:Object.keys(o)).some(s=>{var n;return String((n=o[s])!=null?n:"").toLowerCase().includes(r)}))}const t=this.lazy?this.total:e.length;if(this.sortField&&e.sort((r,a)=>{const o=r[this.sortField],i=a[this.sortField];return typeof o=="number"&&typeof i=="number"?(o-i)*this.sortDir:String(o!=null?o:"").localeCompare(String(i!=null?i:""),"pt-BR")*this.sortDir}),this.hasAttr("pagination")&&!this.lazy){const r=this.page*this.rowsPerPage;e=e.slice(r,r+this.rowsPerPage)}return{rows:e,total:t}}_getSearchFields(){const e=this.root.querySelector("[data-search-fields]");if(!e)return[];const t=e.getAttribute("data-search-fields");return t===null?[]:t.split(",").map(r=>r.trim()).filter(Boolean)}cellHtml(e,t){var a,o,i;const r=(o=(a=e.template)==null?void 0:a.innerHTML)!=null?o:e.directTemplate;return r?ur(r,t,e.field):h(String((i=t[e.field])!=null?i:""))}render(){var g;const e=this.columns.filter(u=>u.field),{rows:t,total:r}=this.computeRows(),a=this.hasAttr("pagination"),o=Math.max(1,Math.ceil(r/this.rowsPerPage));this.page>=o&&(this.page=o-1);const i=this.toolbarTemplate,s=i?`<div class="toolbar" part="toolbar">${i.innerHTML}</div>`:"",n=e.map(u=>{const x=this.sortField===u.field,y=x?this.sortDir===1?"▲":"▼":u.sortable?"⇅":"",S=x?"active":"";return`<th part="header" class="${u.sortable?"sortable":""}" style="text-align:${u.align}" data-field="${h(u.field)}">${h(u.header)}${y?`<span class="sort-ind ${S}">${y}</span>`:""}</th>`}).join(""),l=e.some(u=>u.filterable)?`<tr class="filter-row">${e.map(u=>{var x;return`<th style="text-align:${u.align}">${u.filterable?`<input class="filter" data-field="${h(u.field)}" placeholder="${h("Filtrar…")}" value="${h((x=this.filters[u.field])!=null?x:"")}">`:""}</th>`}).join("")}</tr>`:"",p=t.length?t.map((u,x)=>`<tr part="row" data-index="${x}">${e.map(y=>`<td part="cell" style="text-align:${y.align}">${this.cellHtml(y,u)}</td>`).join("")}</tr>`).join(""):`<tr><td class="empty" colspan="${e.length||1}">${h(this.getAttr("empty-message","Nenhum registro encontrado"))}</td></tr>`,f=a?`
1249
1273
  <div class="pager" part="pager">
1250
1274
  <span class="info">Página ${this.page+1} de ${o} · ${r} registros</span>
1251
1275
  <button type="button" class="pg-btn" data-pg="first" ${this.page===0?"disabled":""}>«</button>
1252
1276
  <button type="button" class="pg-btn" data-pg="prev" ${this.page===0?"disabled":""}>‹</button>
1253
- ${Array.from({length:o},(u,v)=>`<button type="button" class="pg-btn" data-pg="${v}" aria-current="${v===this.page}">${v+1}</button>`).join("")}
1277
+ ${Array.from({length:o},(u,x)=>`<button type="button" class="pg-btn" data-pg="${x}" aria-current="${x===this.page}">${x+1}</button>`).join("")}
1254
1278
  <button type="button" class="pg-btn" data-pg="next" ${this.page>=o-1?"disabled":""}>›</button>
1255
1279
  <button type="button" class="pg-btn" data-pg="last" ${this.page>=o-1?"disabled":""}>»</button>
1256
1280
  <label class="info">${h("Por página:")}
@@ -1268,7 +1292,7 @@
1268
1292
  ${c}
1269
1293
  </div>
1270
1294
  ${f}
1271
- `),this.root.querySelectorAll("th.sortable").forEach(u=>{u.addEventListener("click",()=>{const v=u.dataset.field;this.sortField===v?this.sortDir=this.sortDir===1?-1:1:(this.sortField=v,this.sortDir=1),this.render(),this.dispatchEvent(new CustomEvent("sort-change",{bubbles:!0,composed:!0,detail:{field:this.sortField,direction:this.sortDir===1?"asc":"desc",lazy:this.lazy}}))})}),this.root.querySelectorAll(".filter").forEach(u=>{u.addEventListener("input",()=>{const v=u.dataset.field,y=u.value,S=u.selectionStart;this.filters[v]=y,this.page=0,this.render(),this.dispatchEvent(new CustomEvent("filter-change",{bubbles:!0,composed:!0,detail:{field:v,value:y,lazy:this.lazy}}));const A=this.root.querySelector(`.filter[data-field="${h(v)}"]`);A&&(A.focus(),A.setSelectionRange(S,S))}),u.addEventListener("click",v=>v.stopPropagation())}),this.root.querySelectorAll("[data-search-fields]").forEach(u=>{u.addEventListener("input",()=>{this.globalSearch=u.value,this.page=0;const v=u.selectionStart;this.render();const y=this.root.querySelector("[data-search-fields]");y&&(y.focus(),y.setSelectionRange(v,v))})}),this.root.querySelectorAll(".pg-btn").forEach(u=>{u.addEventListener("click",()=>{const v=u.dataset.pg;this.page=v==="first"?0:v==="prev"?Math.max(0,this.page-1):v==="next"?Math.min(o-1,this.page+1):v==="last"?o-1:Number(v),this.render(),this.dispatchEvent(new CustomEvent("page-change",{bubbles:!0,composed:!0,detail:{page:this.page+1,pages:o,rowsPerPage:this.rowsPerPage,total:r,lazy:this.lazy}}))})}),(g=this.root.querySelector("fx-select.rows-sel"))==null||g.addEventListener("change",u=>{var y;const v=Number((y=u.detail)==null?void 0:y.value);!v||v===this.rowsPerPage||(this.rowsPerPage=v,this.page=0,this.render())}),this.root.querySelectorAll("tbody tr[data-index]").forEach(u=>{u.addEventListener("click",()=>{this.dispatchEvent(new CustomEvent("row-click",{bubbles:!0,composed:!0,detail:{row:t[Number(u.dataset.index)],index:Number(u.dataset.index)}}))})}),this._restoreToolbarSearch()}_restoreToolbarSearch(){const e=this.root.querySelector("[data-search-fields]");e&&this.globalSearch&&(e.value=this.globalSearch)}};Ke.styles=m`
1295
+ `),this.root.querySelectorAll("th.sortable").forEach(u=>{u.addEventListener("click",()=>{const x=u.dataset.field;this.sortField===x?this.sortDir=this.sortDir===1?-1:1:(this.sortField=x,this.sortDir=1),this.render(),this.dispatchEvent(new CustomEvent("sort-change",{bubbles:!0,composed:!0,detail:{field:this.sortField,direction:this.sortDir===1?"asc":"desc",lazy:this.lazy}}))})}),this.root.querySelectorAll(".filter").forEach(u=>{u.addEventListener("input",()=>{const x=u.dataset.field,y=u.value,S=u.selectionStart;this.filters[x]=y,this.page=0,this.render(),this.dispatchEvent(new CustomEvent("filter-change",{bubbles:!0,composed:!0,detail:{field:x,value:y,lazy:this.lazy}}));const A=this.root.querySelector(`.filter[data-field="${h(x)}"]`);A&&(A.focus(),A.setSelectionRange(S,S))}),u.addEventListener("click",x=>x.stopPropagation())}),this.root.querySelectorAll("[data-search-fields]").forEach(u=>{u.addEventListener("input",()=>{this.globalSearch=u.value,this.page=0;const x=u.selectionStart;this.render();const y=this.root.querySelector("[data-search-fields]");y&&(y.focus(),y.setSelectionRange(x,x))})}),this.root.querySelectorAll(".pg-btn").forEach(u=>{u.addEventListener("click",()=>{const x=u.dataset.pg;this.page=x==="first"?0:x==="prev"?Math.max(0,this.page-1):x==="next"?Math.min(o-1,this.page+1):x==="last"?o-1:Number(x),this.render(),this.dispatchEvent(new CustomEvent("page-change",{bubbles:!0,composed:!0,detail:{page:this.page+1,pages:o,rowsPerPage:this.rowsPerPage,total:r,lazy:this.lazy}}))})}),(g=this.root.querySelector("fx-select.rows-sel"))==null||g.addEventListener("change",u=>{var y;const x=Number((y=u.detail)==null?void 0:y.value);!x||x===this.rowsPerPage||(this.rowsPerPage=x,this.page=0,this.render())}),this.root.querySelectorAll("tbody tr[data-index]").forEach(u=>{u.addEventListener("click",()=>{this.dispatchEvent(new CustomEvent("row-click",{bubbles:!0,composed:!0,detail:{row:t[Number(u.dataset.index)],index:Number(u.dataset.index)}}))})}),this._restoreToolbarSearch()}_restoreToolbarSearch(){const e=this.root.querySelector("[data-search-fields]");e&&this.globalSearch&&(e.value=this.globalSearch)}};Ye.styles=m`
1272
1296
  :host {
1273
1297
  display: block;
1274
1298
  font-family: var(--fx-font-family);
@@ -1470,7 +1494,7 @@
1470
1494
  color: var(--fx-text-muted);
1471
1495
  font-size: calc(var(--fx-font-size) - 1px);
1472
1496
  }
1473
- `;let J=Ke;function nr(){return x("fx-table",J)}nr();const Ye=class Ye extends b{constructor(){super(...arguments),this.targetControl=null,this.observer=null,this.listenersReady=!1}static get observedAttributes(){return["variant","error","invalid","success","valid","full","icon","icon-pos"]}render(){var s;const e=this.findControl(),r=this.findLabel(),a=r?(s=r.textContent)==null?void 0:s.replace(/\s+/g," ").trim():"",o=r&&r.getAttribute("for")||"",i=this.getAttribute("variant")==="over";this.setTemplate(`
1497
+ `;let W=Ye;function _r(){return v("fx-table",W)}_r();const Ue=class Ue extends b{constructor(){super(...arguments),this.targetControl=null,this.observer=null,this.listenersReady=!1}static get observedAttributes(){return["variant","error","invalid","success","valid","full","icon","icon-pos"]}render(){var s;const e=this.findControl(),r=this.findLabel(),a=r?(s=r.textContent)==null?void 0:s.replace(/\s+/g," ").trim():"",o=r&&r.getAttribute("for")||"",i=this.getAttribute("variant")==="over";this.setTemplate(`
1474
1498
  <div class="wrapper" part="wrapper">
1475
1499
  ${i?`<label class="flabel" part="label" for="${o}">${a}</label>`:""}
1476
1500
  <div class="field-box" part="field">
@@ -1479,7 +1503,7 @@
1479
1503
  </div>
1480
1504
  <div class="error-message" part="error"></div>
1481
1505
  </div>
1482
- `),r&&r.setAttribute("hidden",""),this.attachEvents(),this.syncControlReference(e),this.syncState(),this.applyError(),this.applyFull(),this.applyIcon(),this.syncIconIndent()}disconnectedCallback(){var e;super.disconnectedCallback(),(e=this.observer)==null||e.disconnect()}findControl(){var e;return(e=Array.from(this.children).find(t=>t.tagName.toLowerCase()!=="label"))!=null?e:null}findLabel(){var e;return(e=Array.from(this.children).find(t=>t.tagName.toLowerCase()==="label"))!=null?e:null}attachEvents(){const e=this.root.querySelector("slot");e&&e.addEventListener("slotchange",()=>{const t=this.findControl();this.syncControlReference(t),this.syncState(),this.applyError(),this.applyFull()}),!this.listenersReady&&(this.listenersReady=!0,this.addEventListener("focusin",()=>this.syncState()),this.addEventListener("focusout",()=>setTimeout(()=>this.syncState(),60)),this.addEventListener("input",()=>this.syncState()),this.addEventListener("change",()=>this.syncState()))}syncControlReference(e=this.targetControl){var t;e!==this.targetControl&&((t=this.observer)==null||t.disconnect(),this.observer=null,this.targetControl=e,e&&(this.observer=new MutationObserver(()=>{this.syncState(),this.syncIconIndent()}),this.observer.observe(e,{attributes:!0,attributeFilter:["value","values","start","end","open","icon","icon-pos"]})))}syncState(){var i,s,n;if(this.targetControl&&!this.targetControl.isConnected&&(this.targetControl=null,(i=this.observer)==null||i.disconnect(),this.observer=null),!this.targetControl){this.removeAttribute("active"),this.removeAttribute("focus");return}const e=this.targetControl,t=e.getAttribute?((s=e.getAttribute("value"))!=null?s:"").trim():"",r=e.getAttribute?((n=e.getAttribute("values"))!=null?n:"").trim():"",a=!!(typeof e.value=="string"&&e.value.trim()!==""||Array.isArray(e.values)&&e.values.length>0||t!==""||r!==""||e.hasAttribute&&(e.hasAttribute("open")||e.hasAttribute("start"))),o=this.isFocusedInside();a||o?(this.setAttribute("active",""),o?this.setAttribute("focus",""):this.removeAttribute("focus")):(this.removeAttribute("active"),this.removeAttribute("focus"))}syncIconIndent(){const e=this.root.querySelector(".flabel");if(!e)return;const t=this.targetControl,r=!!(t&&(t.hasAttribute("icon")||t.querySelector(':scope > [slot="icon"]'))&&t.getAttribute("icon-pos")!=="right");e.classList.toggle("icon-indent",r)}applyFull(){this.targetControl&&typeof this.targetControl.setAttribute=="function"&&(this.hasAttr("full")?this.targetControl.setAttribute("full",""):this.targetControl.removeAttribute("full"))}applyIcon(){if(this.targetControl&&typeof this.targetControl.setAttribute=="function"&&this.hasAttr("icon")){const e=this.getAttr("icon"),t=this.getAttr("icon-pos");e!==""?this.targetControl.setAttribute("icon",e):this.targetControl.setAttribute("icon",""),t&&t!=="left"?this.targetControl.setAttribute("icon-pos",t):this.targetControl.removeAttribute("icon-pos")}}applyError(){var r;const e=this.hasAttr("error")||this.hasAttr("invalid"),t=this.root.querySelector(".error-message");if(t&&(t.textContent=e?((r=this.getAttribute("error-text"))==null?void 0:r.trim())||"Valor inválido":""),this.targetControl&&typeof this.targetControl.setAttribute=="function"){const a=this.targetControl;e?(a.setAttribute("error",""),a.removeAttribute("success")):this.hasAttr("success")||this.hasAttr("valid")?(a.setAttribute("success",""),a.removeAttribute("error")):(a.removeAttribute("error"),a.removeAttribute("success"))}}isWithin(e){let t=e;for(;t&&t!==this;)t=t.parentElement;return t===this}isFocusedInside(){const e=document.activeElement;return!!(e&&this.isWithin(e))}};Ye.styles=m`
1506
+ `),r&&r.setAttribute("hidden",""),this.attachEvents(),this.syncControlReference(e),this.syncState(),this.applyError(),this.applyFull(),this.applyIcon(),this.syncIconIndent()}disconnectedCallback(){var e;super.disconnectedCallback(),(e=this.observer)==null||e.disconnect()}findControl(){var e;return(e=Array.from(this.children).find(t=>t.tagName.toLowerCase()!=="label"))!=null?e:null}findLabel(){var e;return(e=Array.from(this.children).find(t=>t.tagName.toLowerCase()==="label"))!=null?e:null}attachEvents(){const e=this.root.querySelector("slot");e&&e.addEventListener("slotchange",()=>{const t=this.findControl();this.syncControlReference(t),this.syncState(),this.applyError(),this.applyFull()}),!this.listenersReady&&(this.listenersReady=!0,this.addEventListener("focusin",()=>this.syncState()),this.addEventListener("focusout",()=>setTimeout(()=>this.syncState(),60)),this.addEventListener("input",()=>this.syncState()),this.addEventListener("change",()=>this.syncState()))}syncControlReference(e=this.targetControl){var t;e!==this.targetControl&&((t=this.observer)==null||t.disconnect(),this.observer=null,this.targetControl=e,e&&(this.observer=new MutationObserver(()=>{this.syncState(),this.syncIconIndent()}),this.observer.observe(e,{attributes:!0,attributeFilter:["value","values","start","end","open","icon","icon-pos"]})))}syncState(){var i,s,n;if(this.targetControl&&!this.targetControl.isConnected&&(this.targetControl=null,(i=this.observer)==null||i.disconnect(),this.observer=null),!this.targetControl){this.removeAttribute("active"),this.removeAttribute("focus");return}const e=this.targetControl,t=e.getAttribute?((s=e.getAttribute("value"))!=null?s:"").trim():"",r=e.getAttribute?((n=e.getAttribute("values"))!=null?n:"").trim():"",a=!!(typeof e.value=="string"&&e.value.trim()!==""||Array.isArray(e.values)&&e.values.length>0||t!==""||r!==""||e.hasAttribute&&(e.hasAttribute("open")||e.hasAttribute("start"))),o=this.isFocusedInside();a||o?(this.setAttribute("active",""),o?this.setAttribute("focus",""):this.removeAttribute("focus")):(this.removeAttribute("active"),this.removeAttribute("focus"))}syncIconIndent(){const e=this.root.querySelector(".flabel");if(!e)return;const t=this.targetControl,r=!!(t&&(t.hasAttribute("icon")||t.querySelector(':scope > [slot="icon"]'))&&t.getAttribute("icon-pos")!=="right");e.classList.toggle("icon-indent",r)}applyFull(){this.targetControl&&typeof this.targetControl.setAttribute=="function"&&(this.hasAttr("full")?this.targetControl.setAttribute("full",""):this.targetControl.removeAttribute("full"))}applyIcon(){if(this.targetControl&&typeof this.targetControl.setAttribute=="function"&&this.hasAttr("icon")){const e=this.getAttr("icon"),t=this.getAttr("icon-pos");e!==""?this.targetControl.setAttribute("icon",e):this.targetControl.setAttribute("icon",""),t&&t!=="left"?this.targetControl.setAttribute("icon-pos",t):this.targetControl.removeAttribute("icon-pos")}}applyError(){var r;const e=this.hasAttr("error")||this.hasAttr("invalid"),t=this.root.querySelector(".error-message");if(t&&(t.textContent=e?((r=this.getAttribute("error-text"))==null?void 0:r.trim())||"Valor inválido":""),this.targetControl&&typeof this.targetControl.setAttribute=="function"){const a=this.targetControl;e?(a.setAttribute("error",""),a.removeAttribute("success")):this.hasAttr("success")||this.hasAttr("valid")?(a.setAttribute("success",""),a.removeAttribute("error")):(a.removeAttribute("error"),a.removeAttribute("success"))}}isWithin(e){let t=e;for(;t&&t!==this;)t=t.parentElement;return t===this}isFocusedInside(){const e=document.activeElement;return!!(e&&this.isWithin(e))}};Ue.styles=m`
1483
1507
  :host {
1484
1508
  display: inline-block;
1485
1509
  position: relative;
@@ -1612,11 +1636,11 @@
1612
1636
  :host([invalid]) .error-message {
1613
1637
  display: block;
1614
1638
  }
1615
- `;let W=Ye;function lr(){return x("fx-floatlabel",W)}lr();const Xe=class Xe extends b{static get observedAttributes(){return["size","placeholder","disabled","readonly","rows","maxlength","error","invalid","success","valid"]}get size(){const e=this.getAttr("size","md");return e==="sm"||e==="lg"?e:"md"}set size(e){this.setAttribute("size",e)}get value(){return this.getAttr("value")}set value(e){this.setAttribute("value",e)}render(){const e=this.getAttr("placeholder"),t=this.hasAttr("readonly"),r=this.hasAttr("disabled"),a=this.getAttr("rows"),o=this.getAttr("maxlength");this.setTemplate(`<textarea class="field" part="textarea"
1639
+ `;let G=Ue;function mr(){return v("fx-floatlabel",G)}mr();const Je=class Je extends b{static get observedAttributes(){return["size","placeholder","disabled","readonly","rows","maxlength","error","invalid","success","valid"]}get size(){const e=this.getAttr("size","md");return e==="sm"||e==="lg"?e:"md"}set size(e){this.setAttribute("size",e)}get value(){return this.getAttr("value")}set value(e){this.setAttribute("value",e)}render(){const e=this.getAttr("placeholder"),t=this.hasAttr("readonly"),r=this.hasAttr("disabled"),a=this.getAttr("rows"),o=this.getAttr("maxlength");this.setTemplate(`<textarea class="field" part="textarea"
1616
1640
  ${e?`placeholder="${h(e)}"`:""}
1617
1641
  ${a?`rows="${h(a)}"`:""}
1618
1642
  ${o?`maxlength="${h(o)}"`:""}
1619
- ></textarea>`);const i=this.root.querySelector(".field");if(!i)return;i.value=this.getAttr("value"),r&&i.setAttribute("disabled",""),t&&i.setAttribute("readonly","");const s=n=>{this.value=i.value,this.dispatchEvent(new CustomEvent(n,{bubbles:!0,composed:!0,detail:{value:i.value}}))};i.addEventListener("input",n=>{n.stopPropagation(),s("input")}),i.addEventListener("change",n=>{n.stopPropagation(),s("change")})}};Xe.styles=m`
1643
+ ></textarea>`);const i=this.root.querySelector(".field");if(!i)return;i.value=this.getAttr("value"),r&&i.setAttribute("disabled",""),t&&i.setAttribute("readonly","");const s=n=>{this.value=i.value,this.dispatchEvent(new CustomEvent(n,{bubbles:!0,composed:!0,detail:{value:i.value}}))};i.addEventListener("input",n=>{n.stopPropagation(),s("input")}),i.addEventListener("change",n=>{n.stopPropagation(),s("change")})}};Je.styles=m`
1620
1644
  :host {
1621
1645
  display: inline-block;
1622
1646
  vertical-align: middle;
@@ -1630,6 +1654,8 @@
1630
1654
  .field {
1631
1655
  font-family: inherit;
1632
1656
  font-size: inherit;
1657
+ /* Altura determinística: a caixa fica EXATAMENTE no token --fx-size-*. */
1658
+ line-height: var(--fx-font-line-height);
1633
1659
  font-weight: var(--fx-font-weight);
1634
1660
  color: var(--fx-text-default);
1635
1661
  background-color: var(--fx-surface-background);
@@ -1658,22 +1684,24 @@
1658
1684
  cursor: not-allowed;
1659
1685
  background-color: var(--fx-surface-surface-hover);
1660
1686
  }
1687
+ /* Validação: borda sempre; brilho (anel) via token que acompanha
1688
+ effect.focus-ring — desligado ⇒ erro só com a borda vermelha. */
1661
1689
  :host([error]) .field, :host([invalid]) .field {
1662
1690
  border-color: var(--fx-color-danger, #dc2626);
1663
- box-shadow: 0 0 0 3px color-mix(in srgb, var(--fx-color-danger, #dc2626) 18%, transparent);
1691
+ box-shadow: var(--fx-effect-error-ring, 0 0 0 3px color-mix(in srgb, var(--fx-color-danger, #dc2626) 18%, transparent));
1664
1692
  }
1665
1693
  :host([success]) .field, :host([valid]) .field {
1666
1694
  border-color: var(--fx-color-success, #16a34a);
1667
- box-shadow: 0 0 0 3px color-mix(in srgb, var(--fx-color-success, #16a34a) 18%, transparent);
1695
+ box-shadow: var(--fx-effect-success-ring, 0 0 0 3px color-mix(in srgb, var(--fx-color-success, #16a34a) 18%, transparent));
1668
1696
  }
1669
1697
  :host([size='sm']) { width: var(--fx-textarea-width-sm, 220px); }
1670
- :host([size='sm']) .field { min-height: var(--fx-size-sm); padding: var(--fx-space-sm) var(--fx-space-md); }
1698
+ :host([size='sm']) .field { min-height: var(--fx-size-sm); padding: var(--fx-space-xs) var(--fx-space-md); }
1671
1699
  :host([size='lg']) { width: var(--fx-textarea-width-lg, 300px); }
1672
1700
  :host([size='lg']) .field { min-height: calc(var(--fx-size-lg) + 80px); }
1673
1701
  /* Full width: o host estica até o pai e o campo interno acompanha. */
1674
1702
  :host([full]) { display: block; width: 100%; }
1675
1703
  :host([full]) .field { width: 100%; }
1676
- `;let G=Xe;function cr(){return x("fx-textarea",G)}cr();const Ue=class Ue extends b{constructor(){super(...arguments),this._previouslyFocused=null}static get observedAttributes(){return["open","size","heading"]}get open(){return this.hasAttr("open")}set open(e){this.toggleAttr("open",e)}render(){var s;const e=this.open,t=this.getAttr("heading");if(this.setTemplate(`
1704
+ `;let Z=Je;function gr(){return v("fx-textarea",Z)}gr();const We=class We extends b{constructor(){super(...arguments),this._previouslyFocused=null}static get observedAttributes(){return["open","size","heading"]}get open(){return this.hasAttr("open")}set open(e){this.toggleAttr("open",e)}render(){var s;const e=this.open,t=this.getAttr("heading");if(this.setTemplate(`
1677
1705
  <div class="overlay" part="overlay" ${e?"":"hidden"}>
1678
1706
  <div class="dialog" role="dialog" aria-modal="true" aria-label="${h(t)}" tabindex="-1">
1679
1707
  <header>
@@ -1684,7 +1712,7 @@
1684
1712
  <footer part="footer"><slot name="footer"></slot></footer>
1685
1713
  </div>
1686
1714
  </div>
1687
- `),!e)return;(s=this._cleanup)==null||s.call(this),this._cleanup=void 0;const r=this.root.querySelector(".overlay"),a=this.root.querySelector(".close"),o=()=>{var n;this.open=!1,(n=this._cleanup)==null||n.call(this),this._cleanup=void 0,this._restoreFocus(),this.dispatchEvent(new CustomEvent("close",{bubbles:!0,composed:!0}))};r==null||r.addEventListener("click",n=>{n.target===r&&o()}),a==null||a.addEventListener("click",o);const i=n=>{if(n.key==="Escape"){n.stopPropagation(),o();return}n.key==="Tab"&&this._trapFocus(n)};document.addEventListener("keydown",i),this._cleanup=()=>document.removeEventListener("keydown",i),requestAnimationFrame(()=>{var n;this._previouslyFocused=document.activeElement,(n=this.root.querySelector(".dialog"))==null||n.focus()}),this.dispatchEvent(new CustomEvent("open",{bubbles:!0,composed:!0}))}_trapFocus(e){const t=this.root.querySelector(".dialog");if(!t)return;const r=t.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])');if(!r.length)return;const a=r[0],o=r[r.length-1],i=this.root.activeElement;e.shiftKey&&(i===a||i===t)?(e.preventDefault(),o.focus()):!e.shiftKey&&i===o&&(e.preventDefault(),a.focus())}_restoreFocus(){var e;(e=this._previouslyFocused)!=null&&e.isConnected&&this._previouslyFocused.focus(),this._previouslyFocused=null}disconnectedCallback(){var e;super.disconnectedCallback(),(e=this._cleanup)==null||e.call(this),this._cleanup=void 0,this._restoreFocus()}};Ue.styles=m`
1715
+ `),!e)return;(s=this._cleanup)==null||s.call(this),this._cleanup=void 0;const r=this.root.querySelector(".overlay"),a=this.root.querySelector(".close"),o=()=>{var n;this.open=!1,(n=this._cleanup)==null||n.call(this),this._cleanup=void 0,this._restoreFocus(),this.dispatchEvent(new CustomEvent("close",{bubbles:!0,composed:!0}))};r==null||r.addEventListener("click",n=>{n.target===r&&o()}),a==null||a.addEventListener("click",o);const i=n=>{if(n.key==="Escape"){n.stopPropagation(),o();return}n.key==="Tab"&&this._trapFocus(n)};document.addEventListener("keydown",i),this._cleanup=()=>document.removeEventListener("keydown",i),requestAnimationFrame(()=>{var n;this._previouslyFocused=document.activeElement,(n=this.root.querySelector(".dialog"))==null||n.focus()}),this.dispatchEvent(new CustomEvent("open",{bubbles:!0,composed:!0}))}_trapFocus(e){const t=this.root.querySelector(".dialog");if(!t)return;const r=t.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])');if(!r.length)return;const a=r[0],o=r[r.length-1],i=this.root.activeElement;e.shiftKey&&(i===a||i===t)?(e.preventDefault(),o.focus()):!e.shiftKey&&i===o&&(e.preventDefault(),a.focus())}_restoreFocus(){var e;(e=this._previouslyFocused)!=null&&e.isConnected&&this._previouslyFocused.focus(),this._previouslyFocused=null}disconnectedCallback(){var e;super.disconnectedCallback(),(e=this._cleanup)==null||e.call(this),this._cleanup=void 0,this._restoreFocus()}};We.styles=m`
1688
1716
  :host { display: contents; }
1689
1717
  .overlay {
1690
1718
  position: fixed;
@@ -1761,7 +1789,7 @@
1761
1789
  gap: var(--fx-space-sm);
1762
1790
  }
1763
1791
  footer[hidden] { display: none; }
1764
- `;let Z=Ue;function dr(){return x("fx-dialog",Z)}dr();const Je=class Je extends b{constructor(){super(...arguments),this._previouslyFocused=null,this._onReposition=()=>{if(!this.open)return;const e=this.root.querySelector(".popup");e&&!e.hidden&&this._position(e)}}static get observedAttributes(){return["open","target","message","icon","accept-label","reject-label","position"]}get open(){return this.hasAttr("open")}set open(e){this.toggleAttr("open",e)}render(){var p,f,_;const e=this.getAttr("message"),t=this.getAttr("icon"),r=q(t);r&&Promise.resolve().then(()=>M);const a=this.getAttr("accept-label","Sim"),o=this.getAttr("reject-label","Não");if(this.setTemplate(`
1792
+ `;let Q=We;function br(){return v("fx-dialog",Q)}br();const Ge=class Ge extends b{constructor(){super(...arguments),this._previouslyFocused=null,this._onReposition=()=>{if(!this.open)return;const e=this.root.querySelector(".popup");e&&!e.hidden&&this._position(e)}}static get observedAttributes(){return["open","target","message","icon","accept-label","reject-label","position"]}get open(){return this.hasAttr("open")}set open(e){this.toggleAttr("open",e)}render(){var p,f,_;const e=this.getAttr("message"),t=this.getAttr("icon"),r=C(t);r&&Promise.resolve().then(()=>I);const a=this.getAttr("accept-label","Sim"),o=this.getAttr("reject-label","Não");if(this.setTemplate(`
1765
1793
  <div class="popup" part="popup" role="alertdialog" aria-modal="false" ${this.open?"":"hidden"}>
1766
1794
  <div class="message" part="message">
1767
1795
  ${t?`<span class="icon${r?" fx-icon":""}" aria-hidden="true">${h(t)}</span>`:""}
@@ -1776,7 +1804,7 @@
1776
1804
  </slot>
1777
1805
  </footer>
1778
1806
  </div>
1779
- `),!this.open)return;const i=this.root.querySelector(".popup");if(!i)return;(p=this._cleanup)==null||p.call(this),this._cleanup=void 0;const s=c=>{var g;this.open=!1,(g=this._cleanup)==null||g.call(this),this._cleanup=void 0,this._restoreFocus(),this.dispatchEvent(new CustomEvent(c,{bubbles:!0,composed:!0}))};(f=this.root.querySelector(".reject"))==null||f.addEventListener("click",()=>s("reject")),(_=this.root.querySelector(".accept"))==null||_.addEventListener("click",()=>s("accept"));const n=c=>{c.key==="Escape"&&(c.stopPropagation(),s("reject"))},l=c=>{const g=c.composedPath(),u=this._anchor(),v=u?g.includes(u):!1;!g.includes(i)&&!v&&s("reject")};document.addEventListener("keydown",n),document.addEventListener("pointerdown",l,!0),this._cleanup=()=>{document.removeEventListener("keydown",n),document.removeEventListener("pointerdown",l,!0)},this._position(i),this._previouslyFocused=document.activeElement,requestAnimationFrame(()=>{var c;(c=this.root.querySelector("button.accept"))==null||c.focus()})}_anchor(){const e=this.getAttr("target");if(!e)return null;try{return document.querySelector(e)}catch(t){return null}}_position(e){const t=this._anchor();if(!t)return;e.hidden=!1;const r=t.getBoundingClientRect(),a=e.getBoundingClientRect(),o=8,i=8;let s;const n=this.getAttr("position","auto");n==="top"?s="top":n==="bottom"?s="bottom":s=r.bottom+o+a.height<=window.innerHeight-i?"bottom":"top";const l=Math.min(Math.max(i,r.left+r.width/2-a.width/2),window.innerWidth-a.width-i),p=s==="bottom"?r.bottom+o:r.top-o-a.height;e.dataset.side=s,e.style.left=`${Math.round(l)}px`,e.style.top=`${Math.round(Math.max(i,p))}px`;const f=Math.min(Math.max(r.left+r.width/2-l,16),a.width-16);e.style.setProperty("--fxcp-arrow-x",`${Math.round(f)}px`)}_restoreFocus(){var e;(e=this._previouslyFocused)!=null&&e.isConnected&&this._previouslyFocused.focus(),this._previouslyFocused=null}connectedCallback(){super.connectedCallback(),window.addEventListener("scroll",this._onReposition,!0),window.addEventListener("resize",this._onReposition)}disconnectedCallback(){var e;super.disconnectedCallback(),window.removeEventListener("scroll",this._onReposition,!0),window.removeEventListener("resize",this._onReposition),(e=this._cleanup)==null||e.call(this),this._cleanup=void 0,this._restoreFocus()}};Je.styles=m`
1807
+ `),!this.open)return;const i=this.root.querySelector(".popup");if(!i)return;(p=this._cleanup)==null||p.call(this),this._cleanup=void 0;const s=c=>{var g;this.open=!1,(g=this._cleanup)==null||g.call(this),this._cleanup=void 0,this._restoreFocus(),this.dispatchEvent(new CustomEvent(c,{bubbles:!0,composed:!0}))};(f=this.root.querySelector(".reject"))==null||f.addEventListener("click",()=>s("reject")),(_=this.root.querySelector(".accept"))==null||_.addEventListener("click",()=>s("accept"));const n=c=>{c.key==="Escape"&&(c.stopPropagation(),s("reject"))},l=c=>{const g=c.composedPath(),u=this._anchor(),x=u?g.includes(u):!1;!g.includes(i)&&!x&&s("reject")};document.addEventListener("keydown",n),document.addEventListener("pointerdown",l,!0),this._cleanup=()=>{document.removeEventListener("keydown",n),document.removeEventListener("pointerdown",l,!0)},this._position(i),this._previouslyFocused=document.activeElement,requestAnimationFrame(()=>{var c;(c=this.root.querySelector("button.accept"))==null||c.focus()})}_anchor(){const e=this.getAttr("target");if(!e)return null;try{return document.querySelector(e)}catch(t){return null}}_position(e){const t=this._anchor();if(!t)return;e.hidden=!1;const r=t.getBoundingClientRect(),a=e.getBoundingClientRect(),o=8,i=8;let s;const n=this.getAttr("position","auto");n==="top"?s="top":n==="bottom"?s="bottom":s=r.bottom+o+a.height<=window.innerHeight-i?"bottom":"top";const l=Math.min(Math.max(i,r.left+r.width/2-a.width/2),window.innerWidth-a.width-i),p=s==="bottom"?r.bottom+o:r.top-o-a.height;e.dataset.side=s,e.style.left=`${Math.round(l)}px`,e.style.top=`${Math.round(Math.max(i,p))}px`;const f=Math.min(Math.max(r.left+r.width/2-l,16),a.width-16);e.style.setProperty("--fxcp-arrow-x",`${Math.round(f)}px`)}_restoreFocus(){var e;(e=this._previouslyFocused)!=null&&e.isConnected&&this._previouslyFocused.focus(),this._previouslyFocused=null}connectedCallback(){super.connectedCallback(),window.addEventListener("scroll",this._onReposition,!0),window.addEventListener("resize",this._onReposition)}disconnectedCallback(){var e;super.disconnectedCallback(),window.removeEventListener("scroll",this._onReposition,!0),window.removeEventListener("resize",this._onReposition),(e=this._cleanup)==null||e.call(this),this._cleanup=void 0,this._restoreFocus()}};Ge.styles=m`
1780
1808
  :host { display: contents; }
1781
1809
  .popup {
1782
1810
  position: fixed;
@@ -1858,13 +1886,13 @@
1858
1886
  color: #fff;
1859
1887
  }
1860
1888
  footer button.accept:hover { filter: brightness(0.92); background: var(--fx-color-primary); }
1861
- `;let Q=Je;function hr(){return x("fx-confirmpopup",Q)}hr();const We=class We extends b{constructor(){super(...arguments),this._files=[],this._done=!1}static get observedAttributes(){return["mode","size","severity","label","icon","accept","multiple","disabled","show-progress","progress","value","full"]}get size(){const e=this.getAttr("size","md");return e==="sm"||e==="lg"?e:"md"}set size(e){this.setAttribute("size",e)}get value(){return this.getAttr("value")}set value(e){this.setAttribute("value",e)}get progress(){return Math.min(100,Math.max(0,Number(this.getAttr("progress","0"))||0))}set progress(e){this.setAttribute("progress",String(e))}get files(){return this._files}set files(e){this._files=Array.from(e),this.value=this._files.map(t=>t.name).join(", "),this._syncFilesArea()}render(){const t=this.getAttr("mode","basic")==="advanced",r=this.getAttr("label","Escolher arquivo"),a=this.getAttr("icon"),o=this.getAttr("accept"),i=this.hasAttr("multiple"),s=this.hasAttr("disabled"),n=this.hasAttr("show-progress"),l=this.progress,p=`<input type="file" class="picker" ${o?`accept="${h(o)}"`:""} ${i?"multiple":""} ${s?"disabled":""} />`;this.setTemplate(`
1889
+ `;let ee=Ge;function vr(){return v("fx-confirmpopup",ee)}vr();const Ze=class Ze extends b{constructor(){super(...arguments),this._files=[],this._done=!1}static get observedAttributes(){return["mode","size","severity","label","icon","accept","multiple","disabled","show-progress","progress","value","full"]}get size(){const e=this.getAttr("size","md");return e==="sm"||e==="lg"?e:"md"}set size(e){this.setAttribute("size",e)}get value(){return this.getAttr("value")}set value(e){this.setAttribute("value",e)}get progress(){return Math.min(100,Math.max(0,Number(this.getAttr("progress","0"))||0))}set progress(e){this.setAttribute("progress",String(e))}get files(){return this._files}set files(e){this._files=Array.from(e),this.value=this._files.map(t=>t.name).join(", "),this._syncFilesArea()}render(){const t=this.getAttr("mode","basic")==="advanced",r=this.getAttr("label","Escolher arquivo"),a=this.getAttr("icon"),o=this.getAttr("accept"),i=this.hasAttr("multiple"),s=this.hasAttr("disabled"),n=this.hasAttr("show-progress"),l=this.progress,p=`<input type="file" class="picker" ${o?`accept="${h(o)}"`:""} ${i?"multiple":""} ${s?"disabled":""} />`;this.setTemplate(`
1862
1890
  ${t?`<div class="drop" part="dropzone" role="button" tabindex="0" aria-label="${h(r)}">
1863
- ${a?`<span class="icon" part="icon" aria-hidden="true">${C(a)}</span>`:""}
1891
+ ${a?`<span class="icon" part="icon" aria-hidden="true">${L(a)}</span>`:""}
1864
1892
  <span>${h(r)}</span>
1865
1893
  <span class="hint">ou arraste e solte aqui</span>
1866
1894
  </div>`:`<button type="button" class="btn" part="button">
1867
- ${a?`<span class="icon" part="icon" aria-hidden="true">${C(a)}</span>`:""}
1895
+ ${a?`<span class="icon" part="icon" aria-hidden="true">${L(a)}</span>`:""}
1868
1896
  <span>${h(r)}</span>
1869
1897
  </button>`}
1870
1898
  ${p}
@@ -1881,7 +1909,7 @@
1881
1909
  <span class="name">${h(a.name)}</span>
1882
1910
  <span class="size">${this._fmtSize(a.size)}</span>
1883
1911
  <button type="button" class="remove" data-i="${o}" part="remove" aria-label="Remover ${h(a.name)}">×</button>
1884
- </div>`).join(""),e.querySelectorAll(".remove").forEach(a=>a.addEventListener("click",()=>{const o=this._files.splice(Number(a.dataset.i),1)[0];this.value=this._files.map(i=>i.name).join(", "),this.progress=0,this._syncFilesArea(),this.dispatchEvent(new CustomEvent("remove",{bubbles:!0,composed:!0,detail:{file:o}}))})))}};We.styles=m`
1912
+ </div>`).join(""),e.querySelectorAll(".remove").forEach(a=>a.addEventListener("click",()=>{const o=this._files.splice(Number(a.dataset.i),1)[0];this.value=this._files.map(i=>i.name).join(", "),this.progress=0,this._syncFilesArea(),this.dispatchEvent(new CustomEvent("remove",{bubbles:!0,composed:!0,detail:{file:o}}))})))}};Ze.styles=m`
1885
1913
  :host {
1886
1914
  display: inline-block;
1887
1915
  font-family: var(--fx-font-family);
@@ -1900,10 +1928,12 @@
1900
1928
  o botão sem precisar do full (host é shrink-to-fit por padrão). */
1901
1929
  width: 100%;
1902
1930
  min-height: var(--fx-size-md);
1903
- padding: var(--fx-space-md) var(--fx-space-lg);
1931
+ /* Padding vertical no orçamento do token --fx-size-* ⇒ altura padrão. */
1932
+ padding: var(--fx-space-sm) var(--fx-space-lg);
1904
1933
  font-family: inherit;
1905
1934
  font-size: inherit;
1906
1935
  font-weight: var(--fx-font-weight);
1936
+ line-height: var(--fx-font-line-height);
1907
1937
  color: var(--fx-text-default);
1908
1938
  background-color: var(--fx-surface-background);
1909
1939
  border: 1px solid var(--fx-border-default);
@@ -1930,8 +1960,8 @@
1930
1960
  :host([severity='info']) .btn { background: var(--fx-color-info); border-color: transparent; color: #fff; }
1931
1961
  :host([severity]) .btn:hover { filter: brightness(0.88); }
1932
1962
  :host([severity]) .btn:focus-visible { border-color: transparent; }
1933
- :host([size='sm']) .btn { min-height: var(--fx-size-sm); padding: var(--fx-space-sm) var(--fx-space-md); font-size: calc(var(--fx-font-size) - 2px); }
1934
- :host([size='lg']) .btn { min-height: var(--fx-size-lg); padding: var(--fx-space-lg) var(--fx-space-xl); font-size: calc(var(--fx-font-size) + 4px); }
1963
+ :host([size='sm']) .btn { min-height: var(--fx-size-sm); padding: var(--fx-space-xs) var(--fx-space-md); font-size: calc(var(--fx-font-size) - 2px); }
1964
+ :host([size='lg']) .btn { min-height: var(--fx-size-lg); padding: var(--fx-space-sm) var(--fx-space-xl); font-size: calc(var(--fx-font-size) + 4px); }
1935
1965
  :host([size='sm']) .drop { min-height: 72px; }
1936
1966
  :host([size='lg']) .drop { min-height: 132px; }
1937
1967
 
@@ -2019,7 +2049,7 @@
2019
2049
  :host([full]) .drop { width: 100%; }
2020
2050
  /* Base dos glifos Fenix Icons (o @font-face vem de @wrrdev/fenix-ui/icons). */
2021
2051
  ${E}
2022
- `;let ee=We;function pr(){return x("fx-fileupload",ee)}pr();const Ge=class Ge extends b{constructor(){super(...arguments),this._dragging=!1}static get observedAttributes(){return["min","max","step","size","disabled","show-value","label"]}get min(){return this._num("min",0)}get max(){return this._num("max",100)}get step(){return this._num("step",1)}get value(){return this._clamp(this._num("value",this.min))}set value(e){const t=this._snap(e);this.setAttribute("value",String(t)),this.isConnected&&this._syncVisual()}_num(e,t){const r=this.getAttribute(e);if(r===null||r==="")return t;const a=Number(r);return Number.isFinite(a)?a:t}_clamp(e){return Math.min(this.max,Math.max(this.min,e))}_snap(e){const t=this.step||1,r=Math.round((this._clamp(e)-this.min)/t)*t+this.min;return Number(this._clamp(r).toFixed(10))}_pct(){const e=this.max-this.min;return e<=0?0:(this.value-this.min)/e*100}render(){const e=this._pct(),t=this.getAttr("label"),r=this.hasAttr("show-value");this.setTemplate(`
2052
+ `;let te=Ze;function xr(){return v("fx-fileupload",te)}xr();const Qe=class Qe extends b{constructor(){super(...arguments),this._dragging=!1}static get observedAttributes(){return["min","max","step","size","disabled","show-value","label"]}get min(){return this._num("min",0)}get max(){return this._num("max",100)}get step(){return this._num("step",1)}get value(){return this._clamp(this._num("value",this.min))}set value(e){const t=this._snap(e);this.setAttribute("value",String(t)),this.isConnected&&this._syncVisual()}_num(e,t){const r=this.getAttribute(e);if(r===null||r==="")return t;const a=Number(r);return Number.isFinite(a)?a:t}_clamp(e){return Math.min(this.max,Math.max(this.min,e))}_snap(e){const t=this.step||1,r=Math.round((this._clamp(e)-this.min)/t)*t+this.min;return Number(this._clamp(r).toFixed(10))}_pct(){const e=this.max-this.min;return e<=0?0:(this.value-this.min)/e*100}render(){const e=this._pct(),t=this.getAttr("label"),r=this.hasAttr("show-value");this.setTemplate(`
2023
2053
  ${t?`<div class="label" part="label"><span>${t}</span>${r?`<span>${this.value}</span>`:""}</div>`:""}
2024
2054
  <div class="track-wrap" part="track" tabindex="0" role="slider"
2025
2055
  aria-valuemin="${this.min}" aria-valuemax="${this.max}" aria-valuenow="${this.value}"
@@ -2028,7 +2058,7 @@
2028
2058
  <div class="thumb" part="thumb" style="left: ${e}%"></div>
2029
2059
  ${r?`<span class="value" style="left: ${e}%">${this.value}</span>`:""}
2030
2060
  </div>
2031
- `),this._bindPointer(),this._bindKeyboard()}disconnectedCallback(){super.disconnectedCallback(),this._dragging&&(this._dragging=!1,this._onMove&&window.removeEventListener("pointermove",this._onMove),this._onUp&&window.removeEventListener("pointerup",this._onUp))}_wrap(){return this.root.querySelector(".track-wrap")}_bindPointer(){const e=this._wrap();if(!e)return;const t=o=>{const i=e.getBoundingClientRect(),s=i.width<=0?0:(o.clientX-i.left)/i.width;return this.min+s*(this.max-this.min)},r=o=>{this._dragging&&(this.value=t(o),this._syncVisual(),this.dispatchEvent(new CustomEvent("input",{bubbles:!0,composed:!0,detail:{value:this.value}})))};this._onMove=r;const a=o=>{this._dragging&&(this._dragging=!1,e.classList.remove("dragging"),window.removeEventListener("pointermove",r),window.removeEventListener("pointerup",a),this.value=t(o),this._syncVisual(),this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0,detail:{value:this.value}})))};this._onUp=a,e.addEventListener("pointerdown",o=>{this.hasAttr("disabled")||(this._dragging=!0,e.classList.add("dragging"),e.focus(),this.value=t(o),this._syncVisual(),this.dispatchEvent(new CustomEvent("input",{bubbles:!0,composed:!0,detail:{value:this.value}})),window.addEventListener("pointermove",r),window.addEventListener("pointerup",a))})}_bindKeyboard(){const e=this._wrap();e&&e.addEventListener("keydown",t=>{if(this.hasAttr("disabled"))return;const r=t,a=(this.max-this.min)/10;let o=null;switch(r.key){case"ArrowRight":case"ArrowUp":o=this.value+this.step;break;case"ArrowLeft":case"ArrowDown":o=this.value-this.step;break;case"PageUp":o=this.value+a;break;case"PageDown":o=this.value-a;break;case"Home":o=this.min;break;case"End":o=this.max;break;default:return}r.preventDefault(),this.value=o,this._syncVisual(),this.dispatchEvent(new CustomEvent("input",{bubbles:!0,composed:!0,detail:{value:this.value}})),this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0,detail:{value:this.value}}))})}_syncVisual(){const e=this._pct(),t=this._wrap();if(!t)return;const r=t.querySelector(".fill"),a=t.querySelector(".thumb"),o=t.querySelector(".value");r&&(r.style.width=`${e}%`),a&&(a.style.left=`${e}%`),o&&(o.style.left=`${e}%`,o.textContent=String(this.value)),t.setAttribute("aria-valuenow",String(this.value));const i=this.root.querySelector(".label span:last-child");i&&(i.textContent=String(this.value))}};Ge.styles=m`
2061
+ `),this._bindPointer(),this._bindKeyboard()}disconnectedCallback(){super.disconnectedCallback(),this._dragging&&(this._dragging=!1,this._onMove&&window.removeEventListener("pointermove",this._onMove),this._onUp&&window.removeEventListener("pointerup",this._onUp))}_wrap(){return this.root.querySelector(".track-wrap")}_bindPointer(){const e=this._wrap();if(!e)return;const t=o=>{const i=e.getBoundingClientRect(),s=i.width<=0?0:(o.clientX-i.left)/i.width;return this.min+s*(this.max-this.min)},r=o=>{this._dragging&&(this.value=t(o),this._syncVisual(),this.dispatchEvent(new CustomEvent("input",{bubbles:!0,composed:!0,detail:{value:this.value}})))};this._onMove=r;const a=o=>{this._dragging&&(this._dragging=!1,e.classList.remove("dragging"),window.removeEventListener("pointermove",r),window.removeEventListener("pointerup",a),this.value=t(o),this._syncVisual(),this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0,detail:{value:this.value}})))};this._onUp=a,e.addEventListener("pointerdown",o=>{this.hasAttr("disabled")||(this._dragging=!0,e.classList.add("dragging"),e.focus(),this.value=t(o),this._syncVisual(),this.dispatchEvent(new CustomEvent("input",{bubbles:!0,composed:!0,detail:{value:this.value}})),window.addEventListener("pointermove",r),window.addEventListener("pointerup",a))})}_bindKeyboard(){const e=this._wrap();e&&e.addEventListener("keydown",t=>{if(this.hasAttr("disabled"))return;const r=t,a=(this.max-this.min)/10;let o=null;switch(r.key){case"ArrowRight":case"ArrowUp":o=this.value+this.step;break;case"ArrowLeft":case"ArrowDown":o=this.value-this.step;break;case"PageUp":o=this.value+a;break;case"PageDown":o=this.value-a;break;case"Home":o=this.min;break;case"End":o=this.max;break;default:return}r.preventDefault(),this.value=o,this._syncVisual(),this.dispatchEvent(new CustomEvent("input",{bubbles:!0,composed:!0,detail:{value:this.value}})),this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0,detail:{value:this.value}}))})}_syncVisual(){const e=this._pct(),t=this._wrap();if(!t)return;const r=t.querySelector(".fill"),a=t.querySelector(".thumb"),o=t.querySelector(".value");r&&(r.style.width=`${e}%`),a&&(a.style.left=`${e}%`),o&&(o.style.left=`${e}%`,o.textContent=String(this.value)),t.setAttribute("aria-valuenow",String(this.value));const i=this.root.querySelector(".label span:last-child");i&&(i.textContent=String(this.value))}};Qe.styles=m`
2032
2062
  :host {
2033
2063
  display: block;
2034
2064
  font-family: var(--fx-font-family);
@@ -2106,14 +2136,14 @@
2106
2136
  .track-wrap:hover .value,
2107
2137
  .track-wrap.dragging .value,
2108
2138
  .track-wrap:focus-visible .value { opacity: 1; }
2109
- `;let te=Ge;function ur(){return x("fx-slider",te)}ur();const Ze=class Ze extends b{static get observedAttributes(){return["variant","size","removable","selectable","selected","disabled","icon"]}get selected(){return this.hasAttr("selected")}set selected(e){this.toggleAttr("selected",e)}render(){const e=this.getAttr("icon"),t=this.hasAttr("removable"),r=this.hasAttr("disabled"),a=(this.hasAttr("selectable")||this.hasAttr("href"))&&!r;this.setTemplate(`
2139
+ `;let re=Qe;function yr(){return v("fx-slider",re)}yr();const et=class et extends b{static get observedAttributes(){return["variant","size","removable","selectable","selected","disabled","icon"]}get selected(){return this.hasAttr("selected")}set selected(e){this.toggleAttr("selected",e)}render(){const e=this.getAttr("icon"),t=this.hasAttr("removable"),r=this.hasAttr("disabled"),a=(this.hasAttr("selectable")||this.hasAttr("href"))&&!r;this.setTemplate(`
2110
2140
  <span class="chip ${a?"clickable":""}" part="chip" role="${a?"button":"status"}"
2111
2141
  ${a?`tabindex="0" aria-pressed="${this.selected}"`:""} ${r?'aria-disabled="true"':""}>
2112
- ${e?`<span class="icon" aria-hidden="true">${C(e)}</span>`:""}
2142
+ ${e?`<span class="icon" aria-hidden="true">${L(e)}</span>`:""}
2113
2143
  <slot></slot>
2114
2144
  <button type="button" class="remove" part="remove" aria-label="Remover" ${t?"":"hidden"}>×</button>
2115
2145
  </span>
2116
- `);const o=this.root.querySelector(".chip"),i=this.root.querySelector(".remove");if(!(!o||!i)&&(i.addEventListener("click",s=>{s.stopPropagation(),this.dispatchEvent(new CustomEvent("remove",{bubbles:!0,composed:!0}))}),a)){const s=()=>{this.hasAttr("selectable")&&(this.selected=!this.selected,o.setAttribute("aria-pressed",String(this.selected))),this.dispatchEvent(new CustomEvent("chip-click",{bubbles:!0,composed:!0}))};o.addEventListener("click",s),o.addEventListener("keydown",n=>{const l=n;(l.key==="Enter"||l.key===" ")&&(l.preventDefault(),s())})}}};Ze.styles=m`
2146
+ `);const o=this.root.querySelector(".chip"),i=this.root.querySelector(".remove");if(!(!o||!i)&&(i.addEventListener("click",s=>{s.stopPropagation(),this.dispatchEvent(new CustomEvent("remove",{bubbles:!0,composed:!0}))}),a)){const s=()=>{this.hasAttr("selectable")&&(this.selected=!this.selected,o.setAttribute("aria-pressed",String(this.selected))),this.dispatchEvent(new CustomEvent("chip-click",{bubbles:!0,composed:!0}))};o.addEventListener("click",s),o.addEventListener("keydown",n=>{const l=n;(l.key==="Enter"||l.key===" ")&&(l.preventDefault(),s())})}}};et.styles=m`
2117
2147
  :host {
2118
2148
  display: inline-block;
2119
2149
  font-family: var(--fx-font-family);
@@ -2178,11 +2208,11 @@
2178
2208
  }
2179
2209
  .remove:hover { background: rgba(0, 0, 0, 0.18); }
2180
2210
  .remove[hidden] { display: none; }
2181
- `;let re=Ze;function fr(){return x("fx-chip",re)}fr();const Qe=class Qe extends b{static get observedAttributes(){return["size","shape","variant","src","alt"]}get variant(){return this.getAttr("variant","text")}get src(){return this.getAttr("src")}set src(e){this.setAttribute("src",e)}render(){const e=this.variant,t=this.getAttr("src"),r=this.getAttr("alt",""),a=e==="icon",o=e==="image"&&t;this.setTemplate(`
2211
+ `;let ae=et;function wr(){return v("fx-chip",ae)}wr();const tt=class tt extends b{static get observedAttributes(){return["size","shape","variant","src","alt"]}get variant(){return this.getAttr("variant","text")}get src(){return this.getAttr("src")}set src(e){this.setAttribute("src",e)}render(){const e=this.variant,t=this.getAttr("src"),r=this.getAttr("alt",""),a=e==="icon",o=e==="image"&&t;this.setTemplate(`
2182
2212
  <span class="avatar${o?" image":a?" icon-slot":" text"}" part="avatar" aria-label="${h(r)}" role="img">
2183
2213
  ${o?`<img src="${h(t)}" alt="${h(r)}">`:a?'<slot name="icon" class="slot-icon"></slot>':"<slot></slot>"}
2184
2214
  </span>
2185
- `)}};Qe.styles=m`
2215
+ `)}};tt.styles=m`
2186
2216
  :host {
2187
2217
  display: inline-block;
2188
2218
  font-family: var(--fx-font-family);
@@ -2233,13 +2263,33 @@
2233
2263
  }
2234
2264
  :host(.avatar-group) > .avatar:last-child { margin-left: 0; }
2235
2265
  :host(.avatar-group) > .avatar:hover { z-index: 2; }
2236
- `;let ae=Qe;function _r(){return x("fx-avatar",ae)}_r();const et=class et extends b{static get observedAttributes(){return["variant","radius","size","padded","heading"]}render(){const e=this.getAttr("heading");this.setTemplate(`
2266
+ `;let oe=tt;function kr(){return v("fx-avatar",oe)}kr();function Ar(){return"./fenix-icons.woff2"}const zr=Ar(),Sr="fenix-icons-font",Dt="fenix-icons";function Mt(){return`@font-face{font-family:'${j}';font-style:normal;font-weight:100 700;font-display:block;src:url('${zr}') format('woff2');}`}function It(){return Mt()+E}let M=!1;function Nt(d=typeof document!="undefined"?document:void 0){if(M||!d)return;if(d.getElementById(Dt)){M=!0;return}const e=d.createElement("style");e.id=Sr,e.textContent=It(),d.head.appendChild(e),M=!0}function jt(){M=!1}const rt=class rt extends b{static get observedAttributes(){return["name","size","label","fill","bold"]}get name(){return this.getAttr("name")}set name(e){this.setAttribute("name",e)}get size(){return this.getAttr("size")}set size(e){e?this.setAttribute("size",e):this.removeAttribute("size")}get label(){return this.getAttr("label")}set label(e){e?this.setAttribute("label",e):this.removeAttribute("label")}connectedCallback(){Nt(),super.connectedCallback()}render(){const e=this.getAttr("name").trim(),t=this.getAttr("label").trim(),r=t?`role="img" aria-label="${h(t)}"`:'aria-hidden="true"';if(!e){this.setTemplate(`<span class="icon" part="icon" ${r}></span>`);return}const a=C(e)?`<i class="icon fx-icon" part="icon" ${r}>${h(e)}</i>`:`<span class="icon" part="icon" ${r}>${h(e)}</span>`;this.setTemplate(a)}};rt.styles=m`
2267
+ :host {
2268
+ display: inline-flex;
2269
+ align-items: center;
2270
+ justify-content: center;
2271
+ vertical-align: middle;
2272
+ line-height: 1;
2273
+ color: currentColor;
2274
+ font-size: var(--fx-icon-size, 1em);
2275
+ }
2276
+ :host([size='sm']) { font-size: var(--fx-icon-size-sm, 16px); }
2277
+ :host([size='md']) { font-size: var(--fx-icon-size-md, 20px); }
2278
+ :host([size='lg']) { font-size: var(--fx-icon-size-lg, 24px); }
2279
+ :host([size='xl']) { font-size: var(--fx-icon-size-xl, 32px); }
2280
+ :host([hidden]) { display: none; }
2281
+ .icon { display: inline-block; }
2282
+ /* Variantes da fonte (FILL/wght): vencem a classe base .fx-icon. */
2283
+ :host([fill]) .icon { font-variation-settings: 'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 24; }
2284
+ :host([bold]) .icon { font-variation-settings: 'FILL' 0, 'wght' 600, 'GRAD' 0, 'opsz' 24; }
2285
+ ${E}
2286
+ `;let ie=rt;function $r(){return v("fx-icon",ie)}$r();const at=class at extends b{static get observedAttributes(){return["variant","radius","size","padded","heading"]}render(){const e=this.getAttr("heading");this.setTemplate(`
2237
2287
  <div class="card" part="card">
2238
2288
  <header part="header" ${e?"":"hidden"}>${h(e)}<slot name="header"></slot></header>
2239
2289
  <div class="body" part="content"><slot></slot></div>
2240
2290
  <footer part="footer"><slot name="footer"></slot></footer>
2241
2291
  </div>
2242
- `)}};et.styles=m`
2292
+ `)}};at.styles=m`
2243
2293
  :host {
2244
2294
  display: block;
2245
2295
  font-family: var(--fx-font-family);
@@ -2293,9 +2343,9 @@
2293
2343
  gap: var(--fx-space-sm);
2294
2344
  }
2295
2345
  footer[hidden] { display: none; }
2296
- `;let oe=et;function mr(){return x("fx-card",oe)}mr();const tt=class tt extends b{constructor(){super(...arguments),this._items=[]}static get observedAttributes(){return["size","separator","label"]}render(){const e=this.getAttr("label","Breadcrumb");this.setTemplate(`
2346
+ `;let se=at;function Er(){return v("fx-card",se)}Er();const ot=class ot extends b{constructor(){super(...arguments),this._items=[]}static get observedAttributes(){return["size","separator","label"]}render(){const e=this.getAttr("label","Breadcrumb");this.setTemplate(`
2297
2347
  <nav part="nav" aria-label="${h(e)}"></nav>
2298
- `),this._decorateItems()}_decorateItems(){var r;const e=(r=this.shadowRoot)==null?void 0:r.querySelector("nav");if(!e)return;const t=this.getAttr("separator","/");this._items.length===0&&(this._items=Array.from(this.children).filter(a=>a.matches('[slot="item"]'))),e.innerHTML="",this._items.forEach((a,o)=>{const i=o===this._items.length-1;if(a.setAttribute("aria-current",i?"page":"false"),e.appendChild(a),i)return;const s=document.createElement("span");s.className="sep",s.setAttribute("part","separator"),s.setAttribute("aria-hidden","true"),s.textContent=t,e.appendChild(s)})}connectedCallback(){super.connectedCallback();const e=new MutationObserver(()=>{this.children.length>0&&(e.disconnect(),this._decorateItems())});e.observe(this,{childList:!0}),this.children.length>0&&this._decorateItems()}disconnectedCallback(){super.disconnectedCallback(),this._items=[]}};tt.styles=m`
2348
+ `),this._decorateItems()}_decorateItems(){var r;const e=(r=this.shadowRoot)==null?void 0:r.querySelector("nav");if(!e)return;const t=this.getAttr("separator","/");this._items.length===0&&(this._items=Array.from(this.children).filter(a=>a.matches('[slot="item"]'))),e.innerHTML="",this._items.forEach((a,o)=>{const i=o===this._items.length-1;if(a.setAttribute("aria-current",i?"page":"false"),e.appendChild(a),i)return;const s=document.createElement("span");s.className="sep",s.setAttribute("part","separator"),s.setAttribute("aria-hidden","true"),s.textContent=t,e.appendChild(s)})}connectedCallback(){super.connectedCallback();const e=new MutationObserver(()=>{this.children.length>0&&(e.disconnect(),this._decorateItems())});e.observe(this,{childList:!0}),this.children.length>0&&this._decorateItems()}disconnectedCallback(){super.disconnectedCallback(),this._items=[]}};ot.styles=m`
2299
2349
  :host {
2300
2350
  display: block;
2301
2351
  font-family: var(--fx-font-family);
@@ -2334,13 +2384,13 @@
2334
2384
  display: inline-flex;
2335
2385
  align-items: center;
2336
2386
  }
2337
- `;let ie=tt;function gr(){return x("fx-breadcrumb",ie)}gr();const rt=class rt extends b{constructor(){super(...arguments),this._previouslyFocused=null,this._onReposition=()=>{if(!this.open)return;const e=this.root.querySelector(".popup");e&&!e.hidden&&this._position(e)},this._onEnter=()=>{this.open=!0},this._onLeave=()=>{this.open=!1},this._onClick=()=>{this.open=!this.open}}static get observedAttributes(){return["open","target","trigger","position","dismissible"]}get open(){return this.hasAttr("open")}set open(e){this.toggleAttr("open",e)}render(){var o;if(this.setTemplate(`
2387
+ `;let ne=ot;function Cr(){return v("fx-breadcrumb",ne)}Cr();const it=class it extends b{constructor(){super(...arguments),this._previouslyFocused=null,this._onReposition=()=>{if(!this.open)return;const e=this.root.querySelector(".popup");e&&!e.hidden&&this._position(e)},this._onEnter=()=>{this.open=!0},this._onLeave=()=>{this.open=!1},this._onClick=()=>{this.open=!this.open}}static get observedAttributes(){return["open","target","trigger","position","dismissible"]}get open(){return this.hasAttr("open")}set open(e){this.toggleAttr("open",e)}render(){var o;if(this.setTemplate(`
2338
2388
  <div class="popup" part="popover" role="dialog" aria-modal="false" ${this.open?"":"hidden"}>
2339
2389
  <header part="header" hidden><slot name="header"></slot></header>
2340
2390
  <div class="body" part="content"><slot></slot></div>
2341
2391
  <footer part="footer" hidden><slot name="footer"></slot></footer>
2342
2392
  </div>
2343
- `),!this.open)return;const e=this.root.querySelector(".popup");if(!e)return;(o=this._cleanup)==null||o.call(this),this._cleanup=void 0;const t=()=>{var i;this.open=!1,(i=this._cleanup)==null||i.call(this),this._cleanup=void 0,this._restoreFocus(),this.dispatchEvent(new CustomEvent("hide",{bubbles:!0,composed:!0}))},r=i=>{i.key==="Escape"&&(i.stopPropagation(),t())},a=i=>{if(!this.hasAttr("dismissible"))return;const s=i.composedPath(),n=this._anchor(),l=n?s.includes(n):!1;!s.includes(e)&&!l&&t()};document.addEventListener("keydown",r),document.addEventListener("pointerdown",a,!0),this._cleanup=()=>{document.removeEventListener("keydown",r),document.removeEventListener("pointerdown",a,!0)},this._syncSlots(),this._position(e),this._previouslyFocused=document.activeElement,requestAnimationFrame(()=>e.focus({preventScroll:!0})),this.dispatchEvent(new CustomEvent("show",{bubbles:!0,composed:!0}))}_anchor(){const e=this.getAttr("target");if(!e)return null;try{return document.querySelector(e)}catch(t){return null}}_syncSlots(){const e=this.root.querySelector('slot[name="header"]'),t=this.root.querySelector('slot[name="footer"]'),r=this.root.querySelector("header"),a=this.root.querySelector("footer"),o=!!e&&e.assignedNodes().length>0,i=!!t&&t.assignedNodes().length>0;r==null||r.toggleAttribute("hidden",!o),a==null||a.toggleAttribute("hidden",!i)}_position(e){const t=this._anchor();if(!t)return;e.hidden=!1;const r=t.getBoundingClientRect(),a=e.getBoundingClientRect(),o=8,i=8;let s;const n=this.getAttr("position","auto");n==="top"?s="top":n==="bottom"?s="bottom":s=r.bottom+o+a.height<=window.innerHeight-i?"bottom":"top",s==="top"&&r.top-o-a.height<i&&r.bottom+o+a.height<=window.innerHeight-i?s="bottom":s==="bottom"&&r.bottom+o+a.height>window.innerHeight-i&&r.top-o-a.height>=i&&(s="top");const l=Math.min(Math.max(i,r.left+r.width/2-a.width/2),window.innerWidth-a.width-i),p=s==="bottom"?r.bottom+o:r.top-o-a.height;e.dataset.side=s,e.style.left=`${Math.round(l)}px`,e.style.top=`${Math.round(Math.max(i,p))}px`;const f=Math.min(Math.max(r.left+r.width/2-l,16),a.width-16);e.style.setProperty("--fxpp-arrow-x",`${Math.round(f)}px`)}_restoreFocus(){var e;(e=this._previouslyFocused)!=null&&e.isConnected&&this._previouslyFocused.focus(),this._previouslyFocused=null}connectedCallback(){super.connectedCallback(),window.addEventListener("scroll",this._onReposition,!0),window.addEventListener("resize",this._onReposition),this._bindTrigger()}disconnectedCallback(){var e,t;super.disconnectedCallback(),window.removeEventListener("scroll",this._onReposition,!0),window.removeEventListener("resize",this._onReposition),(e=this._triggerCleanup)==null||e.call(this),this._triggerCleanup=void 0,(t=this._cleanup)==null||t.call(this),this._cleanup=void 0,this._restoreFocus()}_bindTrigger(){const e=this._anchor();if(!e)return;this.getAttr("trigger","click")==="hover"?(e.addEventListener("mouseenter",this._onEnter),e.addEventListener("mouseleave",this._onLeave),this._triggerCleanup=()=>{e.removeEventListener("mouseenter",this._onEnter),e.removeEventListener("mouseleave",this._onLeave)}):(e.addEventListener("pointerdown",this._onClick),this._triggerCleanup=()=>e.removeEventListener("pointerdown",this._onClick))}};rt.styles=m`
2393
+ `),!this.open)return;const e=this.root.querySelector(".popup");if(!e)return;(o=this._cleanup)==null||o.call(this),this._cleanup=void 0;const t=()=>{var i;this.open=!1,(i=this._cleanup)==null||i.call(this),this._cleanup=void 0,this._restoreFocus(),this.dispatchEvent(new CustomEvent("hide",{bubbles:!0,composed:!0}))},r=i=>{i.key==="Escape"&&(i.stopPropagation(),t())},a=i=>{if(!this.hasAttr("dismissible"))return;const s=i.composedPath(),n=this._anchor(),l=n?s.includes(n):!1;!s.includes(e)&&!l&&t()};document.addEventListener("keydown",r),document.addEventListener("pointerdown",a,!0),this._cleanup=()=>{document.removeEventListener("keydown",r),document.removeEventListener("pointerdown",a,!0)},this._syncSlots(),this._position(e),this._previouslyFocused=document.activeElement,requestAnimationFrame(()=>e.focus({preventScroll:!0})),this.dispatchEvent(new CustomEvent("show",{bubbles:!0,composed:!0}))}_anchor(){const e=this.getAttr("target");if(!e)return null;try{return document.querySelector(e)}catch(t){return null}}_syncSlots(){const e=this.root.querySelector('slot[name="header"]'),t=this.root.querySelector('slot[name="footer"]'),r=this.root.querySelector("header"),a=this.root.querySelector("footer"),o=!!e&&e.assignedNodes().length>0,i=!!t&&t.assignedNodes().length>0;r==null||r.toggleAttribute("hidden",!o),a==null||a.toggleAttribute("hidden",!i)}_position(e){const t=this._anchor();if(!t)return;e.hidden=!1;const r=t.getBoundingClientRect(),a=e.getBoundingClientRect(),o=8,i=8;let s;const n=this.getAttr("position","auto");n==="top"?s="top":n==="bottom"?s="bottom":s=r.bottom+o+a.height<=window.innerHeight-i?"bottom":"top",s==="top"&&r.top-o-a.height<i&&r.bottom+o+a.height<=window.innerHeight-i?s="bottom":s==="bottom"&&r.bottom+o+a.height>window.innerHeight-i&&r.top-o-a.height>=i&&(s="top");const l=Math.min(Math.max(i,r.left+r.width/2-a.width/2),window.innerWidth-a.width-i),p=s==="bottom"?r.bottom+o:r.top-o-a.height;e.dataset.side=s,e.style.left=`${Math.round(l)}px`,e.style.top=`${Math.round(Math.max(i,p))}px`;const f=Math.min(Math.max(r.left+r.width/2-l,16),a.width-16);e.style.setProperty("--fxpp-arrow-x",`${Math.round(f)}px`)}_restoreFocus(){var e;(e=this._previouslyFocused)!=null&&e.isConnected&&this._previouslyFocused.focus(),this._previouslyFocused=null}connectedCallback(){super.connectedCallback(),window.addEventListener("scroll",this._onReposition,!0),window.addEventListener("resize",this._onReposition),this._bindTrigger()}disconnectedCallback(){var e,t;super.disconnectedCallback(),window.removeEventListener("scroll",this._onReposition,!0),window.removeEventListener("resize",this._onReposition),(e=this._triggerCleanup)==null||e.call(this),this._triggerCleanup=void 0,(t=this._cleanup)==null||t.call(this),this._cleanup=void 0,this._restoreFocus()}_bindTrigger(){const e=this._anchor();if(!e)return;this.getAttr("trigger","click")==="hover"?(e.addEventListener("mouseenter",this._onEnter),e.addEventListener("mouseleave",this._onLeave),this._triggerCleanup=()=>{e.removeEventListener("mouseenter",this._onEnter),e.removeEventListener("mouseleave",this._onLeave)}):(e.addEventListener("pointerdown",this._onClick),this._triggerCleanup=()=>e.removeEventListener("pointerdown",this._onClick))}};it.styles=m`
2344
2394
  :host { display: contents; }
2345
2395
  .popup {
2346
2396
  position: fixed;
@@ -2399,14 +2449,14 @@
2399
2449
  gap: var(--fx-space-sm);
2400
2450
  }
2401
2451
  footer[hidden] { display: none; }
2402
- `;let se=rt;function br(){return x("fx-popover",se)}br();const at=class at extends b{constructor(){super(...arguments),this._titles=[],this._panels=[]}static get observedAttributes(){return["active","linear","show-numbers"]}get stepCount(){return this._titles.length}get active(){const e=Number(this.getAttr("active","0"));return Math.min(this.stepCount-1,Math.max(0,Number.isFinite(e)?e:0))}set active(e){this.setAttribute("active",String(Math.min(this.stepCount-1,Math.max(0,e))))}get isLast(){return this.active>=this.stepCount-1}goTo(e){const t=Math.min(this.stepCount-1,Math.max(0,e));this.hasAttr("linear")&&t>this.active+1||(this.active=t,this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0,detail:{index:this.active}})),this.isLast&&this.dispatchEvent(new CustomEvent("complete",{bubbles:!0,composed:!0})))}next(){this.goTo(this.active+1)}prev(){this.goTo(this.active-1)}render(){this._panels=Array.from(this.children).filter(a=>a.matches('[slot^="step-"]')),this._titles=this._panels.map((a,o)=>a.getAttribute("step-title")||`Paso ${o+1}`);const e=Math.min(this.active,Math.max(0,this._titles.length-1)),t=this._titles.map((a,o)=>{const i=o===e?"active":o<e?"done":"",s=o<e&&!this.hasAttr("show-numbers")?"✓":String(o+1);return`<span class="step ${i}" part="step" data-i="${o}"><span class="num">${s}</span>${h(a)}</span>`}).join(""),r=this._panels.map((a,o)=>`<section class="panel" part="panel" ${o===e?"":"hidden"}>${a.innerHTML}</section>`).join("");this.setTemplate(`
2452
+ `;let le=it;function Lr(){return v("fx-popover",le)}Lr();const st=class st extends b{constructor(){super(...arguments),this._titles=[],this._panels=[]}static get observedAttributes(){return["active","linear","show-numbers"]}get stepCount(){return this._titles.length}get active(){const e=Number(this.getAttr("active","0"));return Math.min(this.stepCount-1,Math.max(0,Number.isFinite(e)?e:0))}set active(e){this.setAttribute("active",String(Math.min(this.stepCount-1,Math.max(0,e))))}get isLast(){return this.active>=this.stepCount-1}goTo(e){const t=Math.min(this.stepCount-1,Math.max(0,e));this.hasAttr("linear")&&t>this.active+1||(this.active=t,this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0,detail:{index:this.active}})),this.isLast&&this.dispatchEvent(new CustomEvent("complete",{bubbles:!0,composed:!0})))}next(){this.goTo(this.active+1)}prev(){this.goTo(this.active-1)}render(){this._panels=Array.from(this.children).filter(a=>a.matches('[slot^="step-"]')),this._titles=this._panels.map((a,o)=>a.getAttribute("step-title")||`Paso ${o+1}`);const e=Math.min(this.active,Math.max(0,this._titles.length-1)),t=this._titles.map((a,o)=>{const i=o===e?"active":o<e?"done":"",s=o<e&&!this.hasAttr("show-numbers")?"✓":String(o+1);return`<span class="step ${i}" part="step" data-i="${o}"><span class="num">${s}</span>${h(a)}</span>`}).join(""),r=this._panels.map((a,o)=>`<section class="panel" part="panel" ${o===e?"":"hidden"}>${a.innerHTML}</section>`).join("");this.setTemplate(`
2403
2453
  <div class="steps" part="steps">${t}</div>
2404
2454
  <div class="panel-wrap">${r}</div>
2405
2455
  <div class="actions" part="actions">
2406
2456
  <button type="button" class="nav-btn prev" part="prev" ${e===0?"disabled":""}>Anterior</button>
2407
2457
  <button type="button" class="nav-btn primary next" part="next">${e===this._titles.length-1?"Concluir":"Próximo"}</button>
2408
2458
  </div>
2409
- `),this._bindSteps()}_bindSteps(){var t,r;Array.from(this.root.querySelectorAll(".step")).forEach(a=>{const o=Number(a.dataset.i);a.addEventListener("click",()=>{this.hasAttr("linear")&&o>this.active+1||this.goTo(o)}),a.addEventListener("keydown",i=>{i.key==="Enter"&&(i.preventDefault(),this.goTo(o))})}),(t=this.root.querySelector(".nav-btn.prev"))==null||t.addEventListener("click",()=>this.prev()),(r=this.root.querySelector(".nav-btn.next"))==null||r.addEventListener("click",()=>this.next())}connectedCallback(){super.connectedCallback(),this._titles.length===0&&this.render()}};at.styles=m`
2459
+ `),this._bindSteps()}_bindSteps(){var t,r;Array.from(this.root.querySelectorAll(".step")).forEach(a=>{const o=Number(a.dataset.i);a.addEventListener("click",()=>{this.hasAttr("linear")&&o>this.active+1||this.goTo(o)}),a.addEventListener("keydown",i=>{i.key==="Enter"&&(i.preventDefault(),this.goTo(o))})}),(t=this.root.querySelector(".nav-btn.prev"))==null||t.addEventListener("click",()=>this.prev()),(r=this.root.querySelector(".nav-btn.next"))==null||r.addEventListener("click",()=>this.next())}connectedCallback(){super.connectedCallback(),this._titles.length===0&&this.render()}};st.styles=m`
2410
2460
  :host { display: block; font-family: var(--fx-font-family); font-size: var(--fx-font-size); }
2411
2461
  :host([linear]) .step-num.activated { cursor: not-allowed; }
2412
2462
 
@@ -2469,11 +2519,11 @@
2469
2519
  color: #fff;
2470
2520
  }
2471
2521
  .nav-btn.primary:hover:not(:disabled) { filter: brightness(0.92); background: var(--fx-color-primary); }
2472
- `;let ne=at;function vr(){return x("fx-stepper",ne)}vr();const ot=class ot extends b{static get observedAttributes(){return["value","max","readonly","disabled","allow-half","size"]}get value(){const e=Number(this.getAttr("value","0"));return Number.isFinite(e)?Math.min(this.max,Math.max(0,e)):0}set value(e){this.setAttribute("value",String(Math.min(this.max,Math.max(0,e)))),this._syncVisual()}get max(){const e=Number(this.getAttr("max","5")),t=Number.isFinite(e)?Math.round(e):5;return Math.min(10,Math.max(1,t))}set max(e){this.setAttribute("max",String(e))}render(){const e=this.max,t=Array.from({length:e},(r,a)=>a+1).map(r=>`<span class="star" data-n="${r}" part="star" title="${r} ${this._label(r)}">★</span>`).join("");this.setTemplate(`
2522
+ `;let ce=st;function Tr(){return v("fx-stepper",ce)}Tr();const nt=class nt extends b{static get observedAttributes(){return["value","max","readonly","disabled","allow-half","size"]}get value(){const e=Number(this.getAttr("value","0"));return Number.isFinite(e)?Math.min(this.max,Math.max(0,e)):0}set value(e){this.setAttribute("value",String(Math.min(this.max,Math.max(0,e)))),this._syncVisual()}get max(){const e=Number(this.getAttr("max","5")),t=Number.isFinite(e)?Math.round(e):5;return Math.min(10,Math.max(1,t))}set max(e){this.setAttribute("max",String(e))}render(){const e=this.max,t=Array.from({length:e},(r,a)=>a+1).map(r=>`<span class="star" data-n="${r}" part="star" title="${r} ${this._label(r)}">★</span>`).join("");this.setTemplate(`
2473
2523
  <span class="stars" part="stars" role="radiogroup">
2474
2524
  ${t}
2475
2525
  </span>
2476
- `),this._bindStars(),this._syncVisual()}_starNodes(){return Array.from(this.root.querySelectorAll(".star"))}_label(e){return e===1?"estrella":"estrellas"}_syncVisual(){const e=this.value;this._starNodes().forEach(t=>{const r=Number(t.dataset.n);t.classList.toggle("filled",e>=r)})}_bindStars(){this._starNodes().forEach(t=>{const r=Number(t.dataset.n);t.addEventListener("click",()=>{if(this.hasAttr("readonly")||this.hasAttr("disabled"))return;let a=r;this.hasAttr("allow-half")&&(a+=-.5),this.value=a,this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0,detail:{value:this.value}}))}),t.addEventListener("mouseenter",()=>{this.hasAttr("readonly")||this.hasAttr("disabled")||this._hover(r)}),t.addEventListener("mouseleave",()=>this._syncVisual())})}_hover(e){this._starNodes().forEach(t=>{const r=Number(t.dataset.n);t.classList.toggle("hovered",r<=e)})}};ot.styles=m`
2526
+ `),this._bindStars(),this._syncVisual()}_starNodes(){return Array.from(this.root.querySelectorAll(".star"))}_label(e){return e===1?"estrella":"estrellas"}_syncVisual(){const e=this.value;this._starNodes().forEach(t=>{const r=Number(t.dataset.n);t.classList.toggle("filled",e>=r)})}_bindStars(){this._starNodes().forEach(t=>{const r=Number(t.dataset.n);t.addEventListener("click",()=>{if(this.hasAttr("readonly")||this.hasAttr("disabled"))return;let a=r;this.hasAttr("allow-half")&&(a+=-.5),this.value=a,this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0,detail:{value:this.value}}))}),t.addEventListener("mouseenter",()=>{this.hasAttr("readonly")||this.hasAttr("disabled")||this._hover(r)}),t.addEventListener("mouseleave",()=>this._syncVisual())})}_hover(e){this._starNodes().forEach(t=>{const r=Number(t.dataset.n);t.classList.toggle("hovered",r<=e)})}};nt.styles=m`
2477
2527
  :host {
2478
2528
  display: inline-flex;
2479
2529
  font-family: var(--fx-font-family);
@@ -2508,7 +2558,7 @@
2508
2558
  .star[hidden] { display: none; }
2509
2559
  .star.filled { color: var(--fx-color-warning); }
2510
2560
  .star.hovered { color: var(--fx-color-warning); }
2511
- `;let le=ot;function xr(){return x("fx-rating",le)}xr();const it=class it extends b{constructor(){super(...arguments),this._onOutside=e=>{const t=e.composedPath();this.root.querySelectorAll(".dropdown.open").forEach(r=>{t.includes(r)||r.classList.remove("open")})}}static get observedAttributes(){return["orientation","size","dense","titles"]}get orientation(){return this.getAttr("orientation","horizontal")}get items(){return Array.from(this.children).filter(e=>e.matches('[slot="item"]')).map(e=>e)}render(){const e=this.getAttr("titles"),t=e?e.split(",").map(o=>o.trim()):[],a=this.items.map((o,i)=>{var f;const s=t[i]||((f=o.textContent)==null?void 0:f.trim())||`Item ${i+1}`,n=o.matches("[submenu]"),l=o.hasAttribute("disabled"),p=`
2561
+ `;let de=nt;function qr(){return v("fx-rating",de)}qr();const lt=class lt extends b{constructor(){super(...arguments),this._onOutside=e=>{const t=e.composedPath();this.root.querySelectorAll(".dropdown.open").forEach(r=>{t.includes(r)||r.classList.remove("open")})}}static get observedAttributes(){return["orientation","size","dense","titles"]}get orientation(){return this.getAttr("orientation","horizontal")}get items(){return Array.from(this.children).filter(e=>e.matches('[slot="item"]')).map(e=>e)}render(){const e=this.getAttr("titles"),t=e?e.split(",").map(o=>o.trim()):[],a=this.items.map((o,i)=>{var f;const s=t[i]||((f=o.textContent)==null?void 0:f.trim())||`Item ${i+1}`,n=o.matches("[submenu]"),l=o.hasAttribute("disabled"),p=`
2512
2562
  <span class="item" part="item" data-i="${i}" ${l?'aria-disabled="true"':""}>
2513
2563
  ${h(s)}${n?'<span class="caret">▾</span>':""}
2514
2564
  </span>`;return n?`
@@ -2519,7 +2569,7 @@
2519
2569
  <nav part="menu" aria-label="Menu">
2520
2570
  ${a}
2521
2571
  </nav>
2522
- `),this._bindItems()}_bindItems(){Array.from(this.root.querySelectorAll(".item")).forEach(t=>{const r=Number(t.dataset.i);t.addEventListener("click",()=>{var i,s,n,l;if(t.getAttribute("aria-disabled")==="true")return;const a=this.items[r];if(a==null?void 0:a.hasAttribute("submenu")){this.root.querySelectorAll(".dropdown.open").forEach(p=>{var f;p!==((f=t.parentElement)==null?void 0:f.querySelector(".dropdown"))&&p.classList.remove("open")}),(s=(i=t.parentElement)==null?void 0:i.querySelector(".dropdown"))==null||s.classList.toggle("open");return}this._setActive(t),this.dispatchEvent(new CustomEvent("select",{bubbles:!0,composed:!0,detail:{index:r,label:(l=(n=t.textContent)==null?void 0:n.trim())!=null?l:""}}))}),t.addEventListener("keydown",a=>{const o=a;(o.key==="Enter"||o.key===" ")&&(o.preventDefault(),t.click())})})}connectedCallback(){super.connectedCallback(),document.addEventListener("pointerdown",this._onOutside)}disconnectedCallback(){super.disconnectedCallback(),document.removeEventListener("pointerdown",this._onOutside)}_setActive(e){Array.from(this.root.querySelectorAll(".item")).forEach(t=>{t.classList.toggle("active",t===e)})}};it.styles=m`
2572
+ `),this._bindItems()}_bindItems(){Array.from(this.root.querySelectorAll(".item")).forEach(t=>{const r=Number(t.dataset.i);t.addEventListener("click",()=>{var i,s,n,l;if(t.getAttribute("aria-disabled")==="true")return;const a=this.items[r];if(a==null?void 0:a.hasAttribute("submenu")){this.root.querySelectorAll(".dropdown.open").forEach(p=>{var f;p!==((f=t.parentElement)==null?void 0:f.querySelector(".dropdown"))&&p.classList.remove("open")}),(s=(i=t.parentElement)==null?void 0:i.querySelector(".dropdown"))==null||s.classList.toggle("open");return}this._setActive(t),this.dispatchEvent(new CustomEvent("select",{bubbles:!0,composed:!0,detail:{index:r,label:(l=(n=t.textContent)==null?void 0:n.trim())!=null?l:""}}))}),t.addEventListener("keydown",a=>{const o=a;(o.key==="Enter"||o.key===" ")&&(o.preventDefault(),t.click())})})}connectedCallback(){super.connectedCallback(),document.addEventListener("pointerdown",this._onOutside)}disconnectedCallback(){super.disconnectedCallback(),document.removeEventListener("pointerdown",this._onOutside)}_setActive(e){Array.from(this.root.querySelectorAll(".item")).forEach(t=>{t.classList.toggle("active",t===e)})}};lt.styles=m`
2523
2573
  :host { display: block; font-family: var(--fx-font-family); font-size: var(--fx-font-size); }
2524
2574
  :host([orientation='vertical']) { border: 1px solid var(--fx-border-default); border-radius: var(--fx-radius-md); }
2525
2575
  nav {
@@ -2570,11 +2620,11 @@
2570
2620
  }
2571
2621
  .dropdown.open { display: flex; }
2572
2622
  :host([orientation='vertical']) .dropdown { left: 100%; top: 0; }
2573
- `;let ce=it;function yr(){return x("fx-menu",ce)}yr();const st=class st extends b{static get observedAttributes(){return["multiple","size"]}get value(){const e=this.getAttr("value");return e?e.split(",").map(t=>t.trim()).filter(Boolean):[]}set value(e){this.setAttribute("value",e.join(","))}get multiple(){return this.hasAttr("multiple")}get options(){return Array.from(this.children).filter(e=>e.matches('[slot="option"]')).map(e=>e)}render(){const e=this.options,t=this.value,r=e.map((a,o)=>{var n,l;const i=(n=a.getAttribute("value"))!=null?n:"",s=t.includes(i);return`<button type="button" class="option ${s?"active":""}" part="option" data-v="${h(i)}" aria-pressed="${s}">${h(((l=a.textContent)==null?void 0:l.trim())||`Opción ${o+1}`)}</button>`}).join("");this.setTemplate(`
2623
+ `;let he=lt;function Dr(){return v("fx-menu",he)}Dr();const ct=class ct extends b{static get observedAttributes(){return["multiple","size"]}get value(){const e=this.getAttr("value");return e?e.split(",").map(t=>t.trim()).filter(Boolean):[]}set value(e){this.setAttribute("value",e.join(","))}get multiple(){return this.hasAttr("multiple")}get options(){return Array.from(this.children).filter(e=>e.matches('[slot="option"]')).map(e=>e)}render(){const e=this.options,t=this.value,r=e.map((a,o)=>{var n,l;const i=(n=a.getAttribute("value"))!=null?n:"",s=t.includes(i);return`<button type="button" class="option ${s?"active":""}" part="option" data-v="${h(i)}" aria-pressed="${s}">${h(((l=a.textContent)==null?void 0:l.trim())||`Opción ${o+1}`)}</button>`}).join("");this.setTemplate(`
2574
2624
  <div class="options" part="options" role="group" aria-label="Toggle buttons">
2575
2625
  ${r}
2576
2626
  </div>
2577
- `),this._bindOptions()}_bindOptions(){Array.from(this.root.querySelectorAll(".option")||[]).forEach(e=>{e.addEventListener("click",()=>this._toggle(e)),e.addEventListener("keydown",t=>{const r=t;(r.key==="Enter"||r.key===" ")&&(r.preventDefault(),this._toggle(e))})})}_toggle(e){var a;const t=(a=e.dataset.v)!=null?a:"";let r=this.value;this.multiple?r.includes(t)?r=r.filter(o=>o!==t):r.push(t):r=r.includes(t)?[]:[t],this.value=r,this.root.querySelectorAll(".option").forEach(o=>{var s;const i=r.includes((s=o.dataset.v)!=null?s:"");o.classList.toggle("active",i),o.setAttribute("aria-pressed",String(i))}),this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0,detail:{value:r}}))}};st.styles=m`
2627
+ `),this._bindOptions()}_bindOptions(){Array.from(this.root.querySelectorAll(".option")||[]).forEach(e=>{e.addEventListener("click",()=>this._toggle(e)),e.addEventListener("keydown",t=>{const r=t;(r.key==="Enter"||r.key===" ")&&(r.preventDefault(),this._toggle(e))})})}_toggle(e){var a;const t=(a=e.dataset.v)!=null?a:"";let r=this.value;this.multiple?r.includes(t)?r=r.filter(o=>o!==t):r.push(t):r=r.includes(t)?[]:[t],this.value=r,this.root.querySelectorAll(".option").forEach(o=>{var s;const i=r.includes((s=o.dataset.v)!=null?s:"");o.classList.toggle("active",i),o.setAttribute("aria-pressed",String(i))}),this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0,detail:{value:r}}))}};ct.styles=m`
2578
2628
  :host { display: inline-flex; font-family: var(--fx-font-family); font-size: var(--fx-font-size); gap: var(--fx-space-xs); }
2579
2629
  .option {
2580
2630
  display: inline-flex;
@@ -2584,6 +2634,8 @@
2584
2634
  min-height: var(--fx-size-md);
2585
2635
  padding: var(--fx-space-sm) var(--fx-space-lg);
2586
2636
  font-weight: var(--fx-font-weight);
2637
+ /* Altura determinística: a caixa fica EXATAMENTE no token --fx-size-*. */
2638
+ line-height: var(--fx-font-line-height);
2587
2639
  color: var(--fx-text-default);
2588
2640
  background: var(--fx-surface-background);
2589
2641
  border: 1px solid var(--fx-border-default);
@@ -2593,7 +2645,7 @@
2593
2645
  transition: background var(--fx-motion-duration-fast) var(--fx-motion-easing), border-color var(--fx-motion-duration-fast) var(--fx-motion-easing), color var(--fx-motion-duration-fast) var(--fx-motion-easing);
2594
2646
  }
2595
2647
  :host([size='sm']) .option { min-height: var(--fx-size-sm); padding: var(--fx-space-xs) var(--fx-space-md); font-size: calc(var(--fx-font-size) - 2px); }
2596
- :host([size='lg']) .option { min-height: var(--fx-size-lg); padding: var(--fx-space-md) var(--fx-space-xl); font-size: calc(var(--fx-font-size) + 2px); }
2648
+ :host([size='lg']) .option { min-height: var(--fx-size-lg); padding: var(--fx-space-sm) var(--fx-space-xl); font-size: calc(var(--fx-font-size) + 2px); }
2597
2649
  .option:hover { border-color: var(--fx-color-primary); }
2598
2650
  .option.active {
2599
2651
  background: var(--fx-color-primary);
@@ -2601,15 +2653,15 @@
2601
2653
  color: #fff;
2602
2654
  }
2603
2655
  .option.active:hover { filter: brightness(0.92); }
2604
- `;let de=st;function wr(){return x("fx-toggle-button-group",de)}wr();const nt=class nt extends b{static get observedAttributes(){return["icon","heading","description"]}render(){const e=this.getAttr("icon","📭"),t=this.getAttr("heading"),r=this.getAttr("description");this.setTemplate(`
2656
+ `;let pe=ct;function Mr(){return v("fx-toggle-button-group",pe)}Mr();const dt=class dt extends b{static get observedAttributes(){return["icon","heading","description"]}render(){const e=this.getAttr("icon","📭"),t=this.getAttr("heading"),r=this.getAttr("description");this.setTemplate(`
2605
2657
  <div class="wrap" part="wrap">
2606
- <span class="icon" part="icon" aria-hidden="true">${C(e)}</span>
2658
+ <span class="icon" part="icon" aria-hidden="true">${L(e)}</span>
2607
2659
  <h4 part="heading" ${t?"":"hidden"}>${h(t)}</h4>
2608
2660
  <p part="description" ${r?"":"hidden"}>${h(r)}</p>
2609
2661
  <slot name="icon"></slot>
2610
2662
  <span class="action"><slot name="action"></slot></span>
2611
2663
  </div>
2612
- `)}};nt.styles=m`
2664
+ `)}};dt.styles=m`
2613
2665
  :host {
2614
2666
  display: flex;
2615
2667
  justify-content: center;
@@ -2649,7 +2701,7 @@
2649
2701
  .action:empty { display: none; }
2650
2702
  /* Base dos glifos Fenix Icons (o @font-face vem de @wrrdev/fenix-ui/icons). */
2651
2703
  ${E}
2652
- `;let he=nt;function kr(){return x("fx-empty-state",he)}kr();const lt=class lt extends b{constructor(){super(...arguments),this._prevScore=-1}static get observedAttributes(){return["value","label","size"]}get value(){return this.getAttr("value")}set value(e){this.setAttribute("value",e)}_score(){const e=this.value;if(!e)return 0;let t=0;return e.length>=6&&t++,e.length>=10&&t++,/[A-Z]/.test(e)&&/[a-z]/.test(e)&&t++,/\d/.test(e)&&/[^A-Za-z0-9]/.test(e)&&t++,Math.min(4,t)}_labelFor(e){return["Muito fraca","Fraca","Razoável","Forte","Muito forte"][e]}render(){this._paint()}_paint(){const e=this._score(),t=this.getAttr("label","Força da senha");this.setTemplate(`
2704
+ `;let ue=dt;function Ir(){return v("fx-empty-state",ue)}Ir();const ht=class ht extends b{constructor(){super(...arguments),this._prevScore=-1}static get observedAttributes(){return["value","label","size"]}get value(){return this.getAttr("value")}set value(e){this.setAttribute("value",e)}_score(){const e=this.value;if(!e)return 0;let t=0;return e.length>=6&&t++,e.length>=10&&t++,/[A-Z]/.test(e)&&/[a-z]/.test(e)&&t++,/\d/.test(e)&&/[^A-Za-z0-9]/.test(e)&&t++,Math.min(4,t)}_labelFor(e){return["Muito fraca","Fraca","Razoável","Forte","Muito forte"][e]}render(){this._paint()}_paint(){const e=this._score(),t=this.getAttr("label","Força da senha");this.setTemplate(`
2653
2705
  <div class="label" part="label">
2654
2706
  <span>${t}</span>
2655
2707
  <strong>${e>0?this._labelFor(e):""}</strong>
@@ -2657,7 +2709,7 @@
2657
2709
  <div class="bars" part="bars" role="progressbar" aria-valuemin="0" aria-valuemax="4" aria-valuenow="${e}">
2658
2710
  ${Array.from({length:4},(r,a)=>`<span class="bar ${a<e?"on":""}" part="bar"></span>`).join("")}
2659
2711
  </div>
2660
- `),this.dataset.score=String(e)}attributeChangedCallback(){if(this.isConnected){const e=this._prevScore;this._paint();const t=this._score();t!==e&&(this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0,detail:{score:t,value:this.value}})),this._prevScore=t)}}};lt.styles=m`
2712
+ `),this.dataset.score=String(e)}attributeChangedCallback(){if(this.isConnected){const e=this._prevScore;this._paint();const t=this._score();t!==e&&(this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0,detail:{score:t,value:this.value}})),this._prevScore=t)}}};ht.styles=m`
2661
2713
  :host {
2662
2714
  display: block;
2663
2715
  font-family: var(--fx-font-family);
@@ -2692,7 +2744,7 @@
2692
2744
  :host([data-score='2']) { --_color: var(--fx-color-warning); }
2693
2745
  :host([data-score='3']) { --_color: var(--fx-color-info); }
2694
2746
  :host([data-score='4']) { --_color: var(--fx-color-success); }
2695
- `;let pe=lt;function Ar(){return x("fx-password-strength",pe)}Ar();const ct=class ct extends b{static get observedAttributes(){return["marker","size","orientation"]}render(){this.setTemplate('<ol class="tl" part="timeline"></ol>'),this._decorate()}_decorate(){var a;const e=(a=this.shadowRoot)==null?void 0:a.querySelector("ol");if(!e)return;const t=this.getAttr("marker","●"),r=Array.from(this.querySelectorAll('[slot="item"]'));r.length&&(e.innerHTML=r.map(o=>{var f,_;const i=(f=o.getAttribute("time"))!=null?f:"",s=(_=o.getAttribute("title"))!=null?_:"",n=[i?`<span class="time">${h(i)}</span>`:"",s?`<span class="title">${h(s)}</span>`:""].join(""),l=o.getAttribute("icon");return`<li class="event" part="event">${l?`<span class="dot fx-icon" part="marker" aria-hidden="true">${h(l)}</span>`:`<span class="dot" part="marker" aria-hidden="true">${h(t)}</span>`}<div class="head">${n}</div><div class="content">${o.innerHTML}</div></li>`}).join(""),r.some(o=>o.hasAttribute("icon"))&&Promise.resolve().then(()=>M))}connectedCallback(){super.connectedCallback(),this._observer=new MutationObserver(()=>this._decorate()),this._observer.observe(this,{childList:!0,subtree:!1}),this._decorate()}disconnectedCallback(){var e;super.disconnectedCallback(),(e=this._observer)==null||e.disconnect(),this._observer=void 0}};ct.styles=m`
2747
+ `;let fe=ht;function Nr(){return v("fx-password-strength",fe)}Nr();const pt=class pt extends b{static get observedAttributes(){return["marker","size","orientation"]}render(){this.setTemplate('<ol class="tl" part="timeline"></ol>'),this._decorate()}_decorate(){var a;const e=(a=this.shadowRoot)==null?void 0:a.querySelector("ol");if(!e)return;const t=this.getAttr("marker","●"),r=Array.from(this.querySelectorAll('[slot="item"]'));r.length&&(e.innerHTML=r.map(o=>{var f,_;const i=(f=o.getAttribute("time"))!=null?f:"",s=(_=o.getAttribute("title"))!=null?_:"",n=[i?`<span class="time">${h(i)}</span>`:"",s?`<span class="title">${h(s)}</span>`:""].join(""),l=o.getAttribute("icon");return`<li class="event" part="event">${l?`<span class="dot fx-icon" part="marker" aria-hidden="true">${h(l)}</span>`:`<span class="dot" part="marker" aria-hidden="true">${h(t)}</span>`}<div class="head">${n}</div><div class="content">${o.innerHTML}</div></li>`}).join(""),r.some(o=>o.hasAttribute("icon"))&&Promise.resolve().then(()=>I))}connectedCallback(){super.connectedCallback(),this._observer=new MutationObserver(()=>this._decorate()),this._observer.observe(this,{childList:!0,subtree:!1}),this._decorate()}disconnectedCallback(){var e;super.disconnectedCallback(),(e=this._observer)==null||e.disconnect(),this._observer=void 0}};pt.styles=m`
2696
2748
  :host {
2697
2749
  display: block;
2698
2750
  font-family: var(--fx-font-family);
@@ -2795,7 +2847,7 @@
2795
2847
  position: static;
2796
2848
  margin-bottom: var(--fx-space-sm);
2797
2849
  }
2798
- `;let ue=ct;function zr(){return x("fx-timeline",ue)}zr();const dt=class dt extends b{constructor(){super(...arguments),this._slides=[]}static get observedAttributes(){return["active","autoplay","loop","show-arrows","show-indicators"]}get active(){const e=Number(this.getAttr("active","0"));return Math.min(this.slideCount-1,Math.max(0,Number.isFinite(e)?e:0))}set active(e){this.setAttribute("active",String(Math.min(this.slideCount-1,Math.max(0,e))))}get slideCount(){return this._slides.length}render(){this._slides=Array.from(this.children).filter(t=>t.matches('[slot="slide"]'));const e=this._slides.map((t,r)=>`<div class="slide" part="slide" data-i="${r}" ${r===this.active?"":"hidden"}>${t.innerHTML}</div>`).join("");this.setTemplate(`
2850
+ `;let _e=pt;function jr(){return v("fx-timeline",_e)}jr();const ut=class ut extends b{constructor(){super(...arguments),this._slides=[]}static get observedAttributes(){return["active","autoplay","loop","show-arrows","show-indicators"]}get active(){const e=Number(this.getAttr("active","0"));return Math.min(this.slideCount-1,Math.max(0,Number.isFinite(e)?e:0))}set active(e){this.setAttribute("active",String(Math.min(this.slideCount-1,Math.max(0,e))))}get slideCount(){return this._slides.length}render(){this._slides=Array.from(this.children).filter(t=>t.matches('[slot="slide"]'));const e=this._slides.map((t,r)=>`<div class="slide" part="slide" data-i="${r}" ${r===this.active?"":"hidden"}>${t.innerHTML}</div>`).join("");this.setTemplate(`
2799
2851
  <div class="viewport" part="viewport">
2800
2852
  ${e}
2801
2853
  <button type="button" class="arrow prev" part="arrow" aria-label="Anterior" ${this.hasAttr("show-arrows")?"":"hidden"}>‹</button>
@@ -2804,7 +2856,7 @@
2804
2856
  <div class="indicators" part="indicators" ${this.hasAttr("show-indicators")?"":"hidden"}>
2805
2857
  ${this._slides.map((t,r)=>`<button type="button" class="dot ${r===this.active?"on":""}" data-i="${r}" aria-label="Slide ${r+1}"></button>`).join("")}
2806
2858
  </div>
2807
- `),this._bind(),this._restartAutoplay()}attributeChangedCallback(e,t,r){if(!(!this.isConnected||t===r)){if(e==="active"&&this._slides.length){this._go(this.active,!1),this._restartAutoplay();return}this.render()}}_go(e,t=!0){const r=this._slides.length;if(!r)return;let a;this.hasAttr("loop")?a=(e%r+r)%r:a=Math.min(r-1,Math.max(0,e)),String(a)!==this.getAttribute("active")&&(this.active=a,this.root.querySelectorAll(".slide").forEach(o=>{o.toggleAttribute("hidden",Number(o.dataset.i)!==a)}),this.root.querySelectorAll(".dot").forEach(o=>{o.classList.toggle("on",Number(o.dataset.i)===a)}),t&&this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0,detail:{index:a}})))}next(){this._go(this.active+1)}prev(){this._go(this.active-1)}_bind(){var e,t;(e=this.root.querySelector(".arrow.prev"))==null||e.addEventListener("click",()=>this.prev()),(t=this.root.querySelector(".arrow.next"))==null||t.addEventListener("click",()=>this.next()),this.root.querySelectorAll(".dot").forEach(r=>{r.addEventListener("click",()=>this._go(Number(r.dataset.i)))})}_restartAutoplay(){this._timer&&(clearInterval(this._timer),this._timer=void 0);const e=Number(this.getAttr("autoplay","0"));e>0&&(this._timer=setInterval(()=>this._go(this.active+1),e))}disconnectedCallback(){super.disconnectedCallback(),this._timer&&(clearInterval(this._timer),this._timer=void 0)}};dt.styles=m`
2859
+ `),this._bind(),this._restartAutoplay()}attributeChangedCallback(e,t,r){if(!(!this.isConnected||t===r)){if(e==="active"&&this._slides.length){this._go(this.active,!1),this._restartAutoplay();return}this.render()}}_go(e,t=!0){const r=this._slides.length;if(!r)return;let a;this.hasAttr("loop")?a=(e%r+r)%r:a=Math.min(r-1,Math.max(0,e)),String(a)!==this.getAttribute("active")&&(this.active=a,this.root.querySelectorAll(".slide").forEach(o=>{o.toggleAttribute("hidden",Number(o.dataset.i)!==a)}),this.root.querySelectorAll(".dot").forEach(o=>{o.classList.toggle("on",Number(o.dataset.i)===a)}),t&&this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0,detail:{index:a}})))}next(){this._go(this.active+1)}prev(){this._go(this.active-1)}_bind(){var e,t;(e=this.root.querySelector(".arrow.prev"))==null||e.addEventListener("click",()=>this.prev()),(t=this.root.querySelector(".arrow.next"))==null||t.addEventListener("click",()=>this.next()),this.root.querySelectorAll(".dot").forEach(r=>{r.addEventListener("click",()=>this._go(Number(r.dataset.i)))})}_restartAutoplay(){this._timer&&(clearInterval(this._timer),this._timer=void 0);const e=Number(this.getAttr("autoplay","0"));e>0&&(this._timer=setInterval(()=>this._go(this.active+1),e))}disconnectedCallback(){super.disconnectedCallback(),this._timer&&(clearInterval(this._timer),this._timer=void 0)}};ut.styles=m`
2808
2860
  :host {
2809
2861
  display: block;
2810
2862
  font-family: var(--fx-font-family);
@@ -2872,7 +2924,7 @@
2872
2924
  transition: background var(--fx-motion-duration-fast) var(--fx-motion-easing), width var(--fx-motion-duration-fast) var(--fx-motion-easing);
2873
2925
  }
2874
2926
  .dot.on { background: var(--fx-color-primary); width: 20px; }
2875
- `;let fe=dt;function Sr(){return x("fx-carousel",fe)}Sr();const ht=class ht extends b{constructor(){super(...arguments),this._expanded=new Set,this._selected=null}static get observedAttributes(){return["data","expand-all","size"]}render(){this.setTemplate(`<ul part="tree">${this._renderNodes(this.data,"")}</ul>`),this._bind()}_path(e,t){return t?`${t}.${e}`:`${e}`}_renderNodes(e,t){const r=this.hasAttr("expand-all");return e.map((a,o)=>{const i=this._path(o,t),s=Array.isArray(a.children)&&a.children.length>0,n=r||this._expanded.has(i),l=this._selected===i?" selected":"",p=s?`<ul class="children" ${n?"":"hidden"}>${this._renderNodes(a.children,i)}</ul>`:"";return`<li><span class="row${l}" data-path="${i}" role="treeitem" tabindex="0"><span class="caret ${s?n?"open":"":"leaf"}" data-toggle="${s?i:""}">▸</span>${a.icon?`<span class="icon">${h(a.icon)}</span>`:""}<span class="label">${h(a.label)}</span></span>${p}</li>`}).join("")}get data(){try{const e=JSON.parse(this.getAttr("data","[]"));return Array.isArray(e)?e:[]}catch(e){return[]}}set data(e){this.setAttribute("data",JSON.stringify(e))}_bind(){this.root.querySelectorAll(".caret[data-toggle]").forEach(e=>{const t=e.dataset.toggle;t&&e.addEventListener("click",r=>{r.stopPropagation(),this._toggle(t,e)})}),this.root.querySelectorAll(".row").forEach(e=>{var r;const t=(r=e.dataset.path)!=null?r:"";e.addEventListener("click",()=>{this._selected=t,this.root.querySelectorAll(".row").forEach(a=>a.classList.toggle("selected",a===e)),this.dispatchEvent(new CustomEvent("select",{bubbles:!0,composed:!0,detail:{node:this._findNode(t)}}))}),e.addEventListener("keydown",a=>{a.key==="Enter"&&e.click()})})}_toggle(e,t){var o;this._expanded.has(e)?this._expanded.delete(e):this._expanded.add(e);const r=this._expanded.has(e);t.classList.toggle("open",r);const a=t.closest("li");(o=a==null?void 0:a.querySelector(":scope > ul.children"))==null||o.toggleAttribute("hidden",!r)}_findNode(e){var a;let t=this.data,r;for(const o of e.split(".")){if(r=t[Number(o)],!r)return;t=(a=r.children)!=null?a:[]}return r}setAllExpanded(e){e?this.setAttribute("expand-all",""):(this.removeAttribute("expand-all"),this._expanded.clear()),this.render()}};ht.styles=m`
2927
+ `;let me=ut;function Fr(){return v("fx-carousel",me)}Fr();const ft=class ft extends b{constructor(){super(...arguments),this._expanded=new Set,this._selected=null}static get observedAttributes(){return["data","expand-all","size"]}render(){this.setTemplate(`<ul part="tree">${this._renderNodes(this.data,"")}</ul>`),this._bind()}_path(e,t){return t?`${t}.${e}`:`${e}`}_renderNodes(e,t){const r=this.hasAttr("expand-all");return e.map((a,o)=>{const i=this._path(o,t),s=Array.isArray(a.children)&&a.children.length>0,n=r||this._expanded.has(i),l=this._selected===i?" selected":"",p=s?`<ul class="children" ${n?"":"hidden"}>${this._renderNodes(a.children,i)}</ul>`:"";return`<li><span class="row${l}" data-path="${i}" role="treeitem" tabindex="0"><span class="caret ${s?n?"open":"":"leaf"}" data-toggle="${s?i:""}">▸</span>${a.icon?`<span class="icon">${h(a.icon)}</span>`:""}<span class="label">${h(a.label)}</span></span>${p}</li>`}).join("")}get data(){try{const e=JSON.parse(this.getAttr("data","[]"));return Array.isArray(e)?e:[]}catch(e){return[]}}set data(e){this.setAttribute("data",JSON.stringify(e))}_bind(){this.root.querySelectorAll(".caret[data-toggle]").forEach(e=>{const t=e.dataset.toggle;t&&e.addEventListener("click",r=>{r.stopPropagation(),this._toggle(t,e)})}),this.root.querySelectorAll(".row").forEach(e=>{var r;const t=(r=e.dataset.path)!=null?r:"";e.addEventListener("click",()=>{this._selected=t,this.root.querySelectorAll(".row").forEach(a=>a.classList.toggle("selected",a===e)),this.dispatchEvent(new CustomEvent("select",{bubbles:!0,composed:!0,detail:{node:this._findNode(t)}}))}),e.addEventListener("keydown",a=>{a.key==="Enter"&&e.click()})})}_toggle(e,t){var o;this._expanded.has(e)?this._expanded.delete(e):this._expanded.add(e);const r=this._expanded.has(e);t.classList.toggle("open",r);const a=t.closest("li");(o=a==null?void 0:a.querySelector(":scope > ul.children"))==null||o.toggleAttribute("hidden",!r)}_findNode(e){var a;let t=this.data,r;for(const o of e.split(".")){if(r=t[Number(o)],!r)return;t=(a=r.children)!=null?a:[]}return r}setAllExpanded(e){e?this.setAttribute("expand-all",""):(this.removeAttribute("expand-all"),this._expanded.clear()),this.render()}};ft.styles=m`
2876
2928
  :host {
2877
2929
  display: block;
2878
2930
  font-family: var(--fx-font-family);
@@ -2914,7 +2966,7 @@
2914
2966
  .children[hidden] { display: none; }
2915
2967
  :host([size='sm']) .row { padding: 2px var(--fx-space-xs); font-size: calc(var(--fx-font-size) - 2px); }
2916
2968
  :host([size='lg']) .row { padding: var(--fx-space-sm) var(--fx-space-md); font-size: calc(var(--fx-font-size) + 1px); }
2917
- `;let _e=ht;function $r(){return x("fx-tree",_e)}$r();const Lt={success:"var(--fx-color-success, #10b981)",error:"var(--fx-color-danger, #f43f5e)",info:"var(--fx-color-info, #0ea5e9)",warning:"var(--fx-color-warning, #f59e0b)"},Tt={success:"✓",error:"✕",warning:"!",info:"i"},Er=`
2969
+ `;let ge=ft;function Pr(){return v("fx-tree",ge)}Pr();const Ft={success:"var(--fx-color-success, #10b981)",error:"var(--fx-color-danger, #f43f5e)",info:"var(--fx-color-info, #0ea5e9)",warning:"var(--fx-color-warning, #f59e0b)"},Pt={success:"✓",error:"✕",warning:"!",info:"i"},Rr=`
2918
2970
  :host { display: contents; pointer-events: auto; }
2919
2971
  /* Modo explícito: sobrepõe os tokens herdados do tema global SOMENTE neste card. */
2920
2972
  :host([mode='dark']) {
@@ -2978,8 +3030,8 @@
2978
3030
  color: var(--fx-text-muted, #64748b); font-size: 15px; padding: 2px 4px; border-radius: 4px;
2979
3031
  }
2980
3032
  .close:hover { color: var(--fx-color-danger, #f43f5e); background: var(--fx-surface-surface-hover, rgba(0,0,0,.05)); }
2981
- `;class Cr extends HTMLElement{constructor(){super();Nt(this,I);this.timer=null,this.attachShadow({mode:"open"})}static get observedAttributes(){return["kind","title","message","duration","icon","mode"]}get mode(){const t=this.getAttribute("mode");return t==="light"||t==="dark"?t:void 0}set mode(t){t?this.setAttribute("mode",t):this.removeAttribute("mode")}connectedCallback(){var a;this.shadowRoot.firstChild||Ft(this,I,Pt).call(this);const t=Number((a=this.getAttribute("duration"))!=null?a:"4000"),r=t===0?0:Math.max(Number.isNaN(t)?4e3:t,1e3);!Number.isNaN(r)&&r>0&&!this.timer&&(this.timer=setTimeout(()=>this.dismiss(),r))}disconnectedCallback(){this.timer&&clearTimeout(this.timer),this.timer=null}dismiss(){this.timer&&clearTimeout(this.timer),this.timer=null;const t=this.shadowRoot.querySelector(".card");t?(t.classList.add("leaving"),setTimeout(()=>this.remove(),200)):this.remove()}}I=new WeakSet,Pt=function(){var f,_,c,g;const t=this.getAttribute("kind")||"info",r=(f=this.getAttribute("title"))!=null?f:"",a=(_=this.getAttribute("message"))!=null?_:"",o=(c=Lt[t])!=null?c:Lt.info,i=this.getAttribute("icon"),s=!!i&&/^[a-z][a-z0-9_]*$/.test(i);s&&Promise.resolve().then(()=>M);const n=s?i:(g=Tt[t])!=null?g:Tt.info;this.shadowRoot.innerHTML=`
2982
- <style>${Er}</style>
3033
+ `;class Vr extends HTMLElement{constructor(){super();Kt(this,N);this.timer=null,this.attachShadow({mode:"open"})}static get observedAttributes(){return["kind","title","message","duration","icon","mode"]}get mode(){const t=this.getAttribute("mode");return t==="light"||t==="dark"?t:void 0}set mode(t){t?this.setAttribute("mode",t):this.removeAttribute("mode")}connectedCallback(){var a;this.shadowRoot.firstChild||Xt(this,N,Yt).call(this);const t=Number((a=this.getAttribute("duration"))!=null?a:"4000"),r=t===0?0:Math.max(Number.isNaN(t)?4e3:t,1e3);!Number.isNaN(r)&&r>0&&!this.timer&&(this.timer=setTimeout(()=>this.dismiss(),r))}disconnectedCallback(){this.timer&&clearTimeout(this.timer),this.timer=null}dismiss(){this.timer&&clearTimeout(this.timer),this.timer=null;const t=this.shadowRoot.querySelector(".card");t?(t.classList.add("leaving"),setTimeout(()=>this.remove(),200)):this.remove()}}N=new WeakSet,Yt=function(){var f,_,c,g;const t=this.getAttribute("kind")||"info",r=(f=this.getAttribute("title"))!=null?f:"",a=(_=this.getAttribute("message"))!=null?_:"",o=(c=Ft[t])!=null?c:Ft.info,i=this.getAttribute("icon"),s=!!i&&/^[a-z][a-z0-9_]*$/.test(i);s&&Promise.resolve().then(()=>I);const n=s?i:(g=Pt[t])!=null?g:Pt.info;this.shadowRoot.innerHTML=`
3034
+ <style>${Rr}</style>
2983
3035
  <div class="card" style="--kind:${o}" role="status" part="card">
2984
3036
  <span class="icon${s?" fx-icon":""}">${n}</span>
2985
3037
  <div class="body">
@@ -2987,10 +3039,10 @@
2987
3039
  ${a?'<div class="msg"></div>':""}
2988
3040
  </div>
2989
3041
  <button class="close" aria-label="Fechar">✕</button>
2990
- </div>`;const l=this.shadowRoot.querySelector(".title"),p=this.shadowRoot.querySelector(".msg");l&&(l.textContent=r),p&&(p.textContent=a),this.shadowRoot.querySelector(".close").addEventListener("click",()=>this.dismiss())};function Lr(d){let e=document.querySelector(`[data-fx-toast-region="${d}"]`);if(!e){e=document.createElement("div"),e.setAttribute("data-fx-toast-region",d);const[t,r]=d.split("-"),a=e.style;a.position="fixed",a[t]="16px",r==="center"?(a.left="50%",a.transform="translateX(-50%)"):a[r]="16px",a.display="flex",a.flexDirection="column",a.gap="8px",a.zIndex="1100",a.pointerEvents="none",document.body.appendChild(e)}return e}class Tr{constructor(){this.seq=0,this.map=new Map,this.success=(e,t,r)=>this.push("success",e,t,r),this.error=(e,t,r)=>this.push("error",e,t,r),this.info=(e,t,r)=>this.push("info",e,t,r),this.warning=(e,t,r)=>this.push("warning",e,t,r)}push(e,t,r,a){var l,p,f;const o=++this.seq,i=typeof r=="string"?r:r==null?void 0:r.message,s={...typeof r=="object"&&r?r:void 0,...a},n=document.createElement("fx-toast");return n.setAttribute("kind",e),n.setAttribute("title",t),i&&n.setAttribute("message",i),n.setAttribute("position",(l=s.position)!=null?l:"top-right"),n.setAttribute("duration",String((p=s.duration)!=null?p:4e3)),s.mode&&n.setAttribute("mode",s.mode),Lr((f=s.position)!=null?f:"top-right").appendChild(n),this.map.set(o,n),o}close(e){var t;(t=this.map.get(e))==null||t.dismiss(),this.map.delete(e)}}const qr=new Tr;globalThis.FenixToast=qr;function Dr(){customElements.get("fx-toast")||customElements.define("fx-toast",Cr)}Dr();const pt=class pt extends b{static get observedAttributes(){return["content","position"]}render(){const e=this.getAttr("content");this.setTemplate(`
3042
+ </div>`;const l=this.shadowRoot.querySelector(".title"),p=this.shadowRoot.querySelector(".msg");l&&(l.textContent=r),p&&(p.textContent=a),this.shadowRoot.querySelector(".close").addEventListener("click",()=>this.dismiss())};function Or(d){let e=document.querySelector(`[data-fx-toast-region="${d}"]`);if(!e){e=document.createElement("div"),e.setAttribute("data-fx-toast-region",d);const[t,r]=d.split("-"),a=e.style;a.position="fixed",a[t]="16px",r==="center"?(a.left="50%",a.transform="translateX(-50%)"):a[r]="16px",a.display="flex",a.flexDirection="column",a.gap="8px",a.zIndex="1100",a.pointerEvents="none",document.body.appendChild(e)}return e}class Br{constructor(){this.seq=0,this.map=new Map,this.success=(e,t,r)=>this.push("success",e,t,r),this.error=(e,t,r)=>this.push("error",e,t,r),this.info=(e,t,r)=>this.push("info",e,t,r),this.warning=(e,t,r)=>this.push("warning",e,t,r)}push(e,t,r,a){var l,p,f;const o=++this.seq,i=typeof r=="string"?r:r==null?void 0:r.message,s={...typeof r=="object"&&r?r:void 0,...a},n=document.createElement("fx-toast");return n.setAttribute("kind",e),n.setAttribute("title",t),i&&n.setAttribute("message",i),n.setAttribute("position",(l=s.position)!=null?l:"top-right"),n.setAttribute("duration",String((p=s.duration)!=null?p:4e3)),s.mode&&n.setAttribute("mode",s.mode),Or((f=s.position)!=null?f:"top-right").appendChild(n),this.map.set(o,n),o}close(e){var t;(t=this.map.get(e))==null||t.dismiss(),this.map.delete(e)}}const Hr=new Br;globalThis.FenixToast=Hr;function Kr(){customElements.get("fx-toast")||customElements.define("fx-toast",Vr)}Kr();const _t=class _t extends b{static get observedAttributes(){return["content","position"]}render(){const e=this.getAttr("content");this.setTemplate(`
2991
3043
  <slot></slot>
2992
3044
  <span class="bubble" part="bubble" role="tooltip">${h(e)}</span>
2993
- `)}};pt.styles=m`
3045
+ `)}};_t.styles=m`
2994
3046
  :host {
2995
3047
  position: relative;
2996
3048
  display: inline-flex;
@@ -3051,14 +3103,14 @@
3051
3103
  top: 50%; left: auto; right: 100%; transform: translateY(-50%);
3052
3104
  border: 5px solid transparent; border-right-color: var(--fx-text-default, #1e293b);
3053
3105
  }
3054
- `;let me=pt;function Mr(){return x("fx-tooltip",me)}Mr();const ut=class ut extends b{static get observedAttributes(){return["value"]}get value(){return this.getAttr("value")}set value(e){this.setAttribute("value",e)}render(){var r;const e=Array.from(this.querySelectorAll("fx-tab")),t=this.value||((r=e[0])==null?void 0:r.getAttribute("tab"))||"";this.setTemplate(`
3106
+ `;let be=_t;function Xr(){return v("fx-tooltip",be)}Xr();const mt=class mt extends b{static get observedAttributes(){return["value"]}get value(){return this.getAttr("value")}set value(e){this.setAttribute("value",e)}render(){var r;const e=Array.from(this.querySelectorAll("fx-tab")),t=this.value||((r=e[0])==null?void 0:r.getAttribute("tab"))||"";this.setTemplate(`
3055
3107
  <div class="list" role="tablist">
3056
3108
  ${e.map(a=>{var s,n,l;const o=(s=a.getAttribute("tab"))!=null?s:"",i=a.hasAttribute("disabled");return`<button type="button" class="tab" role="tab" part="tab"
3057
3109
  data-tab="${h(o)}" aria-selected="${o===t}"
3058
3110
  ${i?'aria-disabled="true" data-disabled="true"':""}>${h((l=(n=a.textContent)==null?void 0:n.trim())!=null?l:"")}</button>`}).join("")}
3059
3111
  </div>
3060
3112
  <slot></slot>
3061
- `),this.panels.forEach(a=>{a.getAttribute("tab")===t?a.removeAttribute("hidden"):a.setAttribute("hidden","")}),this.root.querySelectorAll(".tab").forEach(a=>{a.addEventListener("click",()=>{var o;a.hasAttribute("data-disabled")||(this.value=(o=a.dataset.tab)!=null?o:"",this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0,detail:{value:this.value}})))})})}get panels(){const e=Array.from(this.querySelectorAll("fx-tab-panel"));if(e.length)return e;const t=[];let r=this.nextElementSibling;for(;r&&!r.matches("fx-tabs");)r.matches("fx-tab-panel")?t.push(r):t.push(...Array.from(r.querySelectorAll(":scope > fx-tab-panel"))),r=r.nextElementSibling;return t}};ut.styles=m`
3113
+ `),this.panels.forEach(a=>{a.getAttribute("tab")===t?a.removeAttribute("hidden"):a.setAttribute("hidden","")}),this.root.querySelectorAll(".tab").forEach(a=>{a.addEventListener("click",()=>{var o;a.hasAttribute("data-disabled")||(this.value=(o=a.dataset.tab)!=null?o:"",this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0,detail:{value:this.value}})))})})}get panels(){const e=Array.from(this.querySelectorAll("fx-tab-panel"));if(e.length)return e;const t=[];let r=this.nextElementSibling;for(;r&&!r.matches("fx-tabs");)r.matches("fx-tab-panel")?t.push(r):t.push(...Array.from(r.querySelectorAll(":scope > fx-tab-panel"))),r=r.nextElementSibling;return t}};mt.styles=m`
3062
3114
  :host {
3063
3115
  display: block;
3064
3116
  font-family: var(--fx-font-family);
@@ -3109,10 +3161,10 @@
3109
3161
  ::slotted(fx-tab) {
3110
3162
  display: none !important;
3111
3163
  }
3112
- `;let ge=ut;const ft=class ft extends b{constructor(){super(...arguments),this._initialized=!1}static get observedAttributes(){return["tab"]}get tab(){return this.getAttr("tab")}set tab(e){this.setAttribute("tab",e)}get visible(){return!this.hasAttr("hidden")}set visible(e){this.toggleAttr("hidden",!e)}render(){var e;if(this.setTemplate("<slot></slot>"),!this._initialized){const t=(e=this.closest("fx-tabs"))!=null?e:(()=>{let a=this.previousElementSibling;for(;a;){if(a.matches("fx-tabs"))return a;a=a.previousElementSibling}return null})(),r=t&&t.getAttribute("value")||"";this.getAttribute("tab")!==r&&this.setAttribute("hidden",""),this._initialized=!0}}};ft.styles=m`
3164
+ `;let ve=mt;const gt=class gt extends b{constructor(){super(...arguments),this._initialized=!1}static get observedAttributes(){return["tab"]}get tab(){return this.getAttr("tab")}set tab(e){this.setAttribute("tab",e)}get visible(){return!this.hasAttr("hidden")}set visible(e){this.toggleAttr("hidden",!e)}render(){var e;if(this.setTemplate("<slot></slot>"),!this._initialized){const t=(e=this.closest("fx-tabs"))!=null?e:(()=>{let a=this.previousElementSibling;for(;a;){if(a.matches("fx-tabs"))return a;a=a.previousElementSibling}return null})(),r=t&&t.getAttribute("value")||"";this.getAttribute("tab")!==r&&this.setAttribute("hidden",""),this._initialized=!0}}};gt.styles=m`
3113
3165
  :host { display: block; padding: var(--fx-space-lg) 0; font-family: var(--fx-font-family); color: var(--fx-text-default); }
3114
3166
  :host([hidden]) { display: none; }
3115
- `;let be=ft;function Ir(){return x("fx-tabs",ge)}function jr(){return x("fx-tab-panel",be)}Ir(),jr();const _t=class _t extends b{constructor(){super(...arguments),this._done=!1}static get observedAttributes(){return["value","indeterminate","variant","label","hide-label","size"]}get value(){return Number(this.getAttr("value","0"))||0}set value(e){this.setAttribute("value",String(Math.min(100,Math.max(0,e))))}render(){const e=Math.min(100,Math.max(0,this.value)),t=this.hasAttr("indeterminate"),r=this.getAttr("label"),a=!t&&!this.hasAttr("hide-label");this.setTemplate(`
3167
+ `;let xe=gt;function Yr(){return v("fx-tabs",ve)}function Ur(){return v("fx-tab-panel",xe)}Yr(),Ur();const bt=class bt extends b{constructor(){super(...arguments),this._done=!1}static get observedAttributes(){return["value","indeterminate","variant","label","hide-label","size"]}get value(){return Number(this.getAttr("value","0"))||0}set value(e){this.setAttribute("value",String(Math.min(100,Math.max(0,e))))}render(){const e=Math.min(100,Math.max(0,this.value)),t=this.hasAttr("indeterminate"),r=this.getAttr("label"),a=!t&&!this.hasAttr("hide-label");this.setTemplate(`
3116
3168
  ${r?`<div class="caption" part="caption">${h(r)}</div>`:""}
3117
3169
  <div class="row">
3118
3170
  <div class="track" part="track" role="progressbar"
@@ -3121,7 +3173,7 @@
3121
3173
  </div>
3122
3174
  ${a?`<span class="pct">${e}%</span>`:""}
3123
3175
  </div>
3124
- `),!this._done&&!this.hasAttr("indeterminate")&&e>=100&&(this._done=!0,this.dispatchEvent(new CustomEvent("complete",{bubbles:!0,composed:!0}))),e<100&&(this._done=!1)}};_t.styles=m`
3176
+ `),!this._done&&!this.hasAttr("indeterminate")&&e>=100&&(this._done=!0,this.dispatchEvent(new CustomEvent("complete",{bubbles:!0,composed:!0}))),e<100&&(this._done=!1)}};bt.styles=m`
3125
3177
  :host {
3126
3178
  display: block;
3127
3179
  font-family: var(--fx-font-family);
@@ -3171,9 +3223,9 @@
3171
3223
  color: var(--fx-text-muted);
3172
3224
  margin-bottom: var(--fx-space-xs);
3173
3225
  }
3174
- `;let ve=_t;function Nr(){return x("fx-progress",ve)}Nr();const mt=class mt extends b{static get observedAttributes(){return["variant","width","height","lines"]}safeSize(e){const t=e.trim();return/^-?\d*\.?\d+(px|em|rem|%|vw|vh|vmin|vmax|ch|ex|cm|mm|in|pt|pc)$/.test(t)?t:""}render(){const e=this.getAttr("variant","text"),t=this.safeSize(this.getAttr("width")),r=this.safeSize(this.getAttr("height")),a=`${t?`width:${t};`:""}${r?`height:${r};`:""}`;if(e==="circle"){const i=r||t||"40px",s=a.includes("height")?a:`width:${i};height:${i};`;this.setTemplate(`<div class="bone circle" part="bone" style="${s}"></div>`);return}if(e==="rect"){const i=a||"width:100%;height:80px;";this.setTemplate(`<div class="bone" part="bone" style="${i}"></div>`);return}const o=Number(this.getAttr("lines","3"))||3;this.setTemplate(`
3226
+ `;let ye=bt;function Jr(){return v("fx-progress",ye)}Jr();const vt=class vt extends b{static get observedAttributes(){return["variant","width","height","lines"]}safeSize(e){const t=e.trim();return/^-?\d*\.?\d+(px|em|rem|%|vw|vh|vmin|vmax|ch|ex|cm|mm|in|pt|pc)$/.test(t)?t:""}render(){const e=this.getAttr("variant","text"),t=this.safeSize(this.getAttr("width")),r=this.safeSize(this.getAttr("height")),a=`${t?`width:${t};`:""}${r?`height:${r};`:""}`;if(e==="circle"){const i=r||t||"40px",s=a.includes("height")?a:`width:${i};height:${i};`;this.setTemplate(`<div class="bone circle" part="bone" style="${s}"></div>`);return}if(e==="rect"){const i=a||"width:100%;height:80px;";this.setTemplate(`<div class="bone" part="bone" style="${i}"></div>`);return}const o=Number(this.getAttr("lines","3"))||3;this.setTemplate(`
3175
3227
  ${Array.from({length:o},()=>'<div class="bone text"></div>').join("")}
3176
- `)}};mt.styles=m`
3228
+ `)}};vt.styles=m`
3177
3229
  :host { display: block; width: 100%; min-width: 80px; font-family: var(--fx-font-family); }
3178
3230
  .bone {
3179
3231
  background: linear-gradient(
@@ -3191,7 +3243,7 @@
3191
3243
  .text { height: 12px; width: 100%; margin-bottom: var(--fx-space-sm); }
3192
3244
  .text:last-of-type { width: 60%; margin-bottom: 0; }
3193
3245
  .circle { border-radius: var(--fx-radius-full); }
3194
- `;let xe=mt;function Fr(){return x("fx-skeleton",xe)}Fr();const gt=class gt extends b{static get observedAttributes(){return["variant","title","dismissible","icon"]}render(){var i,s;const e=this.getAttr("variant","info"),t=this.getAttr("title"),r=this.getAttr("icon");q(r)&&Promise.resolve().then(()=>M);const o=r?`<span class="icon${q(r)?" fx-icon":""}" part="icon" aria-hidden="true">${h(r)}</span>`:`<span class="icon">${(i={info:"ℹ",success:"✓",warning:"⚠",danger:"✕"}[e])!=null?i:"ℹ"}</span>`;this.setTemplate(`
3246
+ `;let we=vt;function Wr(){return v("fx-skeleton",we)}Wr();const xt=class xt extends b{static get observedAttributes(){return["variant","title","dismissible","icon"]}render(){var i,s;const e=this.getAttr("variant","info"),t=this.getAttr("title"),r=this.getAttr("icon");C(r)&&Promise.resolve().then(()=>I);const o=r?`<span class="icon${C(r)?" fx-icon":""}" part="icon" aria-hidden="true">${h(r)}</span>`:`<span class="icon">${(i={info:"ℹ",success:"✓",warning:"⚠",danger:"✕"}[e])!=null?i:"ℹ"}</span>`;this.setTemplate(`
3195
3247
  <div class="alert" part="alert" role="alert">
3196
3248
  ${o}
3197
3249
  <div class="content">
@@ -3200,7 +3252,7 @@
3200
3252
  </div>
3201
3253
  ${this.hasAttr("dismissible")?'<button type="button" class="close" aria-label="Fechar">×</button>':""}
3202
3254
  </div>
3203
- `),(s=this.root.querySelector(".close"))==null||s.addEventListener("click",()=>{this.hidden=!0,this.dispatchEvent(new CustomEvent("dismiss",{bubbles:!0,composed:!0}))})}};gt.styles=m`
3255
+ `),(s=this.root.querySelector(".close"))==null||s.addEventListener("click",()=>{this.hidden=!0,this.dispatchEvent(new CustomEvent("dismiss",{bubbles:!0,composed:!0}))})}};xt.styles=m`
3204
3256
  :host {
3205
3257
  display: block;
3206
3258
  font-family: var(--fx-font-family);
@@ -3235,7 +3287,7 @@
3235
3287
  line-height: 1; padding: 0; border-radius: var(--fx-radius-full);
3236
3288
  }
3237
3289
  .close:hover { color: var(--_color); }
3238
- `;let ye=gt;function Pr(){return x("fx-alert",ye)}Pr();const bt=class bt extends b{constructor(){super(...arguments),this._listenersAttached=!1}static get observedAttributes(){return["label","position","open"]}get open(){return this.hasAttr("open")}set open(e){this.toggleAttr("open",e)}render(){const e=this.getAttr("label","Ações"),t=Array.from(this.querySelectorAll("fx-dropdown-item"));this.setTemplate(`
3290
+ `;let ke=xt;function Gr(){return v("fx-alert",ke)}Gr();const yt=class yt extends b{constructor(){super(...arguments),this._listenersAttached=!1}static get observedAttributes(){return["label","position","open"]}get open(){return this.hasAttr("open")}set open(e){this.toggleAttr("open",e)}render(){const e=this.getAttr("label","Ações"),t=Array.from(this.querySelectorAll("fx-dropdown-item"));this.setTemplate(`
3239
3291
  <span class="trigger" role="button" tabindex="0" part="trigger"
3240
3292
  aria-haspopup="menu" aria-expanded="${this.open}">
3241
3293
  ${h(e)} ▾
@@ -3244,7 +3296,7 @@
3244
3296
  ${t.length?"":'<div class="empty">Nenhuma ação</div>'}
3245
3297
  <slot></slot>
3246
3298
  </div>
3247
- `);const r=this.root.querySelector(".trigger");r==null||r.addEventListener("click",a=>{a.stopPropagation(),document.querySelectorAll("fx-dropdown[open]").forEach(o=>{o!==this&&(o.open=!1)}),this.open=!this.open}),r==null||r.addEventListener("keydown",a=>{a.key==="Enter"||a.key===" "?(a.preventDefault(),this.open=!this.open):a.key==="Escape"&&(this.open=!1)}),this._attachDelegatedListeners()}_attachDelegatedListeners(){this._listenersAttached||(this._listenersAttached=!0,this.addEventListener("click",e=>{var r;const t=e.composedPath().find(a=>{var o;return((o=a.tagName)==null?void 0:o.toLowerCase())==="fx-dropdown-item"});t&&(this.open=!1,this.dispatchEvent(new CustomEvent("select",{bubbles:!0,composed:!0,detail:{value:(r=t.getAttribute("value"))!=null?r:""}})))}),this.docListener=e=>{this.contains(e.target)||(this.open=!1)},document.addEventListener("click",this.docListener))}disconnectedCallback(){super.disconnectedCallback(),this.docListener&&document.removeEventListener("click",this.docListener),this.docListener=void 0}};bt.styles=m`
3299
+ `);const r=this.root.querySelector(".trigger");r==null||r.addEventListener("click",a=>{a.stopPropagation(),document.querySelectorAll("fx-dropdown[open]").forEach(o=>{o!==this&&(o.open=!1)}),this.open=!this.open}),r==null||r.addEventListener("keydown",a=>{a.key==="Enter"||a.key===" "?(a.preventDefault(),this.open=!this.open):a.key==="Escape"&&(this.open=!1)}),this._attachDelegatedListeners()}_attachDelegatedListeners(){this._listenersAttached||(this._listenersAttached=!0,this.addEventListener("click",e=>{var r;const t=e.composedPath().find(a=>{var o;return((o=a.tagName)==null?void 0:o.toLowerCase())==="fx-dropdown-item"});t&&(this.open=!1,this.dispatchEvent(new CustomEvent("select",{bubbles:!0,composed:!0,detail:{value:(r=t.getAttribute("value"))!=null?r:""}})))}),this.docListener=e=>{this.contains(e.target)||(this.open=!1)},document.addEventListener("click",this.docListener))}disconnectedCallback(){super.disconnectedCallback(),this.docListener&&document.removeEventListener("click",this.docListener),this.docListener=void 0}};yt.styles=m`
3248
3300
  :host {
3249
3301
  position: relative;
3250
3302
  display: inline-block;
@@ -3277,7 +3329,7 @@
3277
3329
  :host(:not([position])) .panel { left: 0; right: auto; }
3278
3330
  ::slotted(fx-dropdown-item) { display: block; }
3279
3331
  .empty { color: var(--fx-text-muted); font-size: calc(var(--fx-font-size) - 2px); padding: var(--fx-space-sm); }
3280
- `;let we=bt;const vt=class vt extends b{static get observedAttributes(){return["value"]}get value(){return this.getAttr("value")}set value(e){this.setAttribute("value",e)}render(){this.setTemplate('<button type="button" class="item" part="item" role="menuitem"><slot></slot></button>')}};vt.styles=m`
3332
+ `;let Ae=yt;const wt=class wt extends b{static get observedAttributes(){return["value"]}get value(){return this.getAttr("value")}set value(e){this.setAttribute("value",e)}render(){this.setTemplate('<button type="button" class="item" part="item" role="menuitem"><slot></slot></button>')}};wt.styles=m`
3281
3333
  :host {
3282
3334
  display: block;
3283
3335
  font-family: var(--fx-font-family);
@@ -3298,13 +3350,13 @@
3298
3350
  transition: background var(--fx-motion-duration-fast) var(--fx-motion-easing);
3299
3351
  }
3300
3352
  .item:hover { background: color-mix(in srgb, var(--fx-color-primary) 12%, var(--fx-surface-background)); color: var(--fx-color-primary); }
3301
- `;let ke=vt;function Vr(){return x("fx-dropdown",we)}function Rr(){return x("fx-dropdown-item",ke)}Vr(),Rr();const xt=class xt extends b{constructor(){super(...arguments),this._onKeydown=()=>{},this._previouslyFocused=null,this._close=()=>{this.open&&(this.open=!1,this._restoreFocus(),this.dispatchEvent(new CustomEvent("close",{bubbles:!0,composed:!0})))}}static get observedAttributes(){return["open","title","position"]}get open(){return this.hasAttr("open")}set open(e){this.toggleAttr("open",e)}get title(){return this.getAttr("title")}set title(e){this.setAttribute("title",e)}get position(){const e=this.getAttr("position");return["left","right","top","bottom"].includes(e)?e:"right"}set position(e){this.setAttribute("position",e)}render(){var t,r;const e=this.getAttr("title");this.setTemplate(`
3353
+ `;let ze=wt;function Zr(){return v("fx-dropdown",Ae)}function Qr(){return v("fx-dropdown-item",ze)}Zr(),Qr();const kt=class kt extends b{constructor(){super(...arguments),this._onKeydown=()=>{},this._previouslyFocused=null,this._close=()=>{this.open&&(this.open=!1,this._restoreFocus(),this.dispatchEvent(new CustomEvent("close",{bubbles:!0,composed:!0})))}}static get observedAttributes(){return["open","title","position"]}get open(){return this.hasAttr("open")}set open(e){this.toggleAttr("open",e)}get title(){return this.getAttr("title")}set title(e){this.setAttribute("title",e)}get position(){const e=this.getAttr("position");return["left","right","top","bottom"].includes(e)?e:"right"}set position(e){this.setAttribute("position",e)}render(){var t,r;const e=this.getAttr("title");this.setTemplate(`
3302
3354
  <div class="overlay" part="overlay"></div>
3303
3355
  <div class="panel" part="panel" role="dialog" aria-modal="true" aria-label="${h(e||"Drawer")}" tabindex="-1">
3304
3356
  ${e!==""?`<div class="header" part="header"><span class="title">${h(e)}</span><button type="button" class="close" part="close" aria-label="Fechar">✕</button></div>`:""}
3305
3357
  <div class="body" part="body"><slot></slot></div>
3306
3358
  </div>
3307
- `),(t=this.root.querySelector(".overlay"))==null||t.addEventListener("click",this._close),(r=this.root.querySelector(".close"))==null||r.addEventListener("click",this._close),this.open&&requestAnimationFrame(()=>{var a;this._previouslyFocused===null&&(this._previouslyFocused=document.activeElement),(a=this.root.querySelector(".panel"))==null||a.focus()})}connectedCallback(){var e;(e=super.connectedCallback)==null||e.call(this),this._onKeydown=t=>{t.key==="Escape"&&this.open?this._close():t.key==="Tab"&&this.open&&this._trapFocus(t)},document.addEventListener("keydown",this._onKeydown)}disconnectedCallback(){var e;document.removeEventListener("keydown",this._onKeydown),this._restoreFocus(),(e=super.disconnectedCallback)==null||e.call(this)}_trapFocus(e){const t=this.root.querySelector(".panel");if(!t)return;const r=t.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])');if(!r.length)return;const a=r[0],o=r[r.length-1],i=this.root.activeElement;e.shiftKey&&(i===a||i===t)?(e.preventDefault(),o.focus()):!e.shiftKey&&i===o&&(e.preventDefault(),a.focus())}_restoreFocus(){var e;(e=this._previouslyFocused)!=null&&e.isConnected&&this._previouslyFocused.focus(),this._previouslyFocused=null}};xt.styles=m`
3359
+ `),(t=this.root.querySelector(".overlay"))==null||t.addEventListener("click",this._close),(r=this.root.querySelector(".close"))==null||r.addEventListener("click",this._close),this.open&&requestAnimationFrame(()=>{var a;this._previouslyFocused===null&&(this._previouslyFocused=document.activeElement),(a=this.root.querySelector(".panel"))==null||a.focus()})}connectedCallback(){var e;(e=super.connectedCallback)==null||e.call(this),this._onKeydown=t=>{t.key==="Escape"&&this.open?this._close():t.key==="Tab"&&this.open&&this._trapFocus(t)},document.addEventListener("keydown",this._onKeydown)}disconnectedCallback(){var e;document.removeEventListener("keydown",this._onKeydown),this._restoreFocus(),(e=super.disconnectedCallback)==null||e.call(this)}_trapFocus(e){const t=this.root.querySelector(".panel");if(!t)return;const r=t.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])');if(!r.length)return;const a=r[0],o=r[r.length-1],i=this.root.activeElement;e.shiftKey&&(i===a||i===t)?(e.preventDefault(),o.focus()):!e.shiftKey&&i===o&&(e.preventDefault(),a.focus())}_restoreFocus(){var e;(e=this._previouslyFocused)!=null&&e.isConnected&&this._previouslyFocused.focus(),this._previouslyFocused=null}};kt.styles=m`
3308
3360
  :host {
3309
3361
  display: contents;
3310
3362
  font-family: var(--fx-font-family);
@@ -3422,7 +3474,7 @@
3422
3474
  padding: var(--fx-space-md);
3423
3475
  flex: 1;
3424
3476
  }
3425
- `;let Ae=xt;function Br(){return x("fx-drawer",Ae)}Br();const yt=class yt extends b{static get observedAttributes(){return["page","total","rows","rows-options","position"]}get page(){return Number(this.getAttr("page","1"))||1}set page(e){this.setAttribute("page",String(e))}get total(){return Number(this.getAttr("total","0"))||0}set total(e){this.setAttribute("total",String(e))}get rows(){return Number(this.getAttr("rows","10"))||10}set rows(e){this.setAttribute("rows",String(e))}get pages(){return Math.max(1,Math.ceil(this.total/this.rows))}render(){const e=this.pages,t=Math.min(Math.max(1,this.page),e),r=(this.getAttr("rows-options","5,10,20,50")||"").split(",").map(l=>l.trim()).filter(Boolean),a=[];for(let l=Math.max(1,t-2);l<=Math.min(e,t+2);l++)a.push(l);const o=s(t,this.rows),i=Math.min(t*this.rows,this.total);this.setTemplate(`
3477
+ `;let Se=kt;function ea(){return v("fx-drawer",Se)}ea();const At=class At extends b{static get observedAttributes(){return["page","total","rows","rows-options","position"]}get page(){return Number(this.getAttr("page","1"))||1}set page(e){this.setAttribute("page",String(e))}get total(){return Number(this.getAttr("total","0"))||0}set total(e){this.setAttribute("total",String(e))}get rows(){return Number(this.getAttr("rows","10"))||10}set rows(e){this.setAttribute("rows",String(e))}get pages(){return Math.max(1,Math.ceil(this.total/this.rows))}render(){const e=this.pages,t=Math.min(Math.max(1,this.page),e),r=(this.getAttr("rows-options","5,10,20,50")||"").split(",").map(l=>l.trim()).filter(Boolean),a=[];for(let l=Math.max(1,t-2);l<=Math.min(e,t+2);l++)a.push(l);const o=s(t,this.rows),i=Math.min(t*this.rows,this.total);this.setTemplate(`
3426
3478
  <span class="info">${this.total?`${o}-${i} de ${this.total}`:"0 itens"}</span>
3427
3479
  <button type="button" class="nav" part="prev" data-go="${t-1}" ${t<=1?"disabled":""}>‹</button>
3428
3480
  ${a[0]!==1&&e>5?'<button type="button" class="nav" data-go="1">1</button>':""}
@@ -3433,7 +3485,7 @@
3433
3485
  <fx-select class="rows-sel" part="rows" size="sm" value="${this.rows}" aria-label="Itens por página">
3434
3486
  ${r.map(l=>`<option value="${h(l)}">${h(l)}</option>`).join("")}
3435
3487
  </fx-select>`:""}
3436
- `);function s(l,p){return(l-1)*p+1}this.root.querySelectorAll(".nav[data-go]").forEach(l=>{l.addEventListener("click",()=>{const p=Number(l.dataset.go);p>=1&&p<=e&&p!==t&&(this.page=p,this.emit())})});const n=this.root.querySelector("fx-select.rows-sel");n==null||n.addEventListener("change",l=>{var f;const p=Number((f=l.detail)==null?void 0:f.value);!p||p===this.rows||(this.rows=p,this.page=1,this.emit())})}emit(){this.dispatchEvent(new CustomEvent("page-change",{bubbles:!0,composed:!0,detail:{page:this.page,rows:this.rows}}))}};yt.styles=m`
3488
+ `);function s(l,p){return(l-1)*p+1}this.root.querySelectorAll(".nav[data-go]").forEach(l=>{l.addEventListener("click",()=>{const p=Number(l.dataset.go);p>=1&&p<=e&&p!==t&&(this.page=p,this.emit())})});const n=this.root.querySelector("fx-select.rows-sel");n==null||n.addEventListener("change",l=>{var f;const p=Number((f=l.detail)==null?void 0:f.value);!p||p===this.rows||(this.rows=p,this.page=1,this.emit())})}emit(){this.dispatchEvent(new CustomEvent("page-change",{bubbles:!0,composed:!0,detail:{page:this.page,rows:this.rows}}))}};At.styles=m`
3437
3489
  :host {
3438
3490
  display: flex;
3439
3491
  align-items: center;
@@ -3476,11 +3528,11 @@
3476
3528
  border-radius: var(--fx-radius-sm) !important;
3477
3529
  font-size: calc(var(--fx-font-size) - 2px) !important;
3478
3530
  }
3479
- `;let ze=yt;function Or(){return x("fx-pagination",ze)}Or();const wt=class wt extends b{static get observedAttributes(){return["size","placeholder","source","disabled","min-chars","error","invalid","success","valid"]}get size(){const e=this.getAttr("size","md");return e==="sm"||e==="lg"?e:"md"}set size(e){this.setAttribute("size",e)}get value(){return this.getAttr("value")}set value(e){this.setAttribute("value",e)}get source(){try{const e=JSON.parse(this.getAttr("source","[]"));return Array.isArray(e)?e.map(String):[]}catch(e){return[]}}set source(e){this.setAttribute("source",typeof e=="string"?e:JSON.stringify(e))}connectedCallback(){super.connectedCallback(),this.docListener=e=>{this.contains(e.target)||this.toggleAttr("open",!1)},document.addEventListener("click",this.docListener)}disconnectedCallback(){super.disconnectedCallback(),this.docListener&&document.removeEventListener("click",this.docListener),this.docListener=void 0}render(){const e=this.getAttr("placeholder");this.setTemplate(`
3531
+ `;let $e=At;function ta(){return v("fx-pagination",$e)}ta();const zt=class zt extends b{static get observedAttributes(){return["size","placeholder","source","disabled","min-chars","error","invalid","success","valid"]}get size(){const e=this.getAttr("size","md");return e==="sm"||e==="lg"?e:"md"}set size(e){this.setAttribute("size",e)}get value(){return this.getAttr("value")}set value(e){this.setAttribute("value",e)}get source(){try{const e=JSON.parse(this.getAttr("source","[]"));return Array.isArray(e)?e.map(String):[]}catch(e){return[]}}set source(e){this.setAttribute("source",typeof e=="string"?e:JSON.stringify(e))}connectedCallback(){super.connectedCallback(),this.docListener=e=>{this.contains(e.target)||this.toggleAttr("open",!1)},document.addEventListener("click",this.docListener)}disconnectedCallback(){super.disconnectedCallback(),this.docListener&&document.removeEventListener("click",this.docListener),this.docListener=void 0}render(){const e=this.getAttr("placeholder");this.setTemplate(`
3480
3532
  <input class="field" part="input" type="text"
3481
3533
  ${e?`placeholder="${h(e)}"`:""} autocomplete="off"/>
3482
3534
  <div class="list" part="list" role="listbox"></div>
3483
- `);const t=this.root.querySelector(".field");if(!t)return;t.value=this.value,this.hasAttr("disabled")&&t.setAttribute("disabled","");const r=this.root.querySelector(".list"),a=Number(this.getAttr("min-chars","1"))||1,o=()=>{if(!r)return;const i=t.value.toLowerCase(),s=this.source.filter(n=>n.toLowerCase().includes(i)).slice(0,8);r.innerHTML=s.length?s.map(n=>`<button type="button" class="opt" role="option" data-v="${h(n)}">${h(n)}</button>`).join(""):'<div class="empty">Nenhum resultado</div>',r.querySelectorAll(".opt").forEach(n=>{n.addEventListener("click",()=>{var l;t.value=(l=n.dataset.v)!=null?l:"",this.value=t.value,this.toggleAttr("open",!1),this.dispatchEvent(new CustomEvent("select",{bubbles:!0,composed:!0,detail:{value:this.value}}))})}),this.toggleAttr("open",!0)};t.addEventListener("input",()=>{this.value=t.value,o()}),t.addEventListener("focus",()=>{t.value.length>=a&&o()}),t.addEventListener("keydown",i=>{var p;if(i.key==="Escape"){this.toggleAttr("open",!1);return}if(i.key!=="ArrowDown"&&i.key!=="ArrowUp")return;i.preventDefault(),this.hasAttr("open")||o();const s=Array.from(this.root.querySelectorAll(".opt"));if(!s.length)return;const n=s.indexOf(this.root.activeElement),l=i.key==="ArrowDown"?n===-1?0:Math.min(n+1,s.length-1):n===-1?s.length-1:Math.max(n-1,0);(p=s[l])==null||p.focus()})}};wt.styles=m`
3535
+ `);const t=this.root.querySelector(".field");if(!t)return;t.value=this.value,this.hasAttr("disabled")&&t.setAttribute("disabled","");const r=this.root.querySelector(".list"),a=Number(this.getAttr("min-chars","1"))||1,o=()=>{if(!r)return;const i=t.value.toLowerCase(),s=this.source.filter(n=>n.toLowerCase().includes(i)).slice(0,8);r.innerHTML=s.length?s.map(n=>`<button type="button" class="opt" role="option" data-v="${h(n)}">${h(n)}</button>`).join(""):'<div class="empty">Nenhum resultado</div>',r.querySelectorAll(".opt").forEach(n=>{n.addEventListener("click",()=>{var l;t.value=(l=n.dataset.v)!=null?l:"",this.value=t.value,this.toggleAttr("open",!1),this.dispatchEvent(new CustomEvent("select",{bubbles:!0,composed:!0,detail:{value:this.value}}))})}),this.toggleAttr("open",!0)};t.addEventListener("input",()=>{this.value=t.value,o()}),t.addEventListener("focus",()=>{t.value.length>=a&&o()}),t.addEventListener("keydown",i=>{var p;if(i.key==="Escape"){this.toggleAttr("open",!1);return}if(i.key!=="ArrowDown"&&i.key!=="ArrowUp")return;i.preventDefault(),this.hasAttr("open")||o();const s=Array.from(this.root.querySelectorAll(".opt"));if(!s.length)return;const n=s.indexOf(this.root.activeElement),l=i.key==="ArrowDown"?n===-1?0:Math.min(n+1,s.length-1):n===-1?s.length-1:Math.max(n-1,0);(p=s[l])==null||p.focus()})}};zt.styles=m`
3484
3536
  :host {
3485
3537
  position: relative;
3486
3538
  display: inline-block;
@@ -3493,12 +3545,14 @@
3493
3545
  .field {
3494
3546
  font-family: inherit;
3495
3547
  font-size: inherit;
3548
+ /* Altura determinística: a caixa fica EXATAMENTE no token --fx-size-*. */
3549
+ line-height: var(--fx-font-line-height);
3496
3550
  font-weight: var(--fx-font-weight);
3497
3551
  color: var(--fx-text-default);
3498
3552
  background-color: var(--fx-surface-background);
3499
3553
  border: 1px solid var(--fx-border-default);
3500
3554
  border-radius: var(--fx-radius-md);
3501
- padding: var(--fx-space-md) var(--fx-space-lg);
3555
+ padding: var(--fx-space-sm) var(--fx-space-lg);
3502
3556
  /* Acompanha a largura definida no :host. */
3503
3557
  width: 100%;
3504
3558
  min-height: var(--fx-size-md);
@@ -3515,22 +3569,23 @@
3515
3569
  box-shadow: var(--fx-effect-focus-ring, none);
3516
3570
  }
3517
3571
  :host([size='sm']) { width: var(--fx-autocomplete-width-sm, 220px); }
3518
- :host([size='sm']) .field { min-height: var(--fx-size-sm); padding: var(--fx-space-sm) var(--fx-space-md); }
3572
+ :host([size='sm']) .field { min-height: var(--fx-size-sm); padding: var(--fx-space-xs) var(--fx-space-md); }
3519
3573
  :host([size='lg']) { width: var(--fx-autocomplete-width-lg, 300px); }
3520
- :host([size='lg']) .field { min-height: var(--fx-size-lg); }
3574
+ :host([size='lg']) .field { min-height: var(--fx-size-lg); padding: var(--fx-space-sm) var(--fx-space-lg); }
3521
3575
  /* Full width: o host estica até o pai e o campo interno acompanha. */
3522
3576
  :host([full]) { display: block; width: 100%; }
3523
3577
  :host([full]) .field { width: 100%; }
3524
- /* Validação: sobrescrevem a borda/foco via token do preset. */
3578
+ /* Validação: borda sempre; brilho (anel) via token que acompanha
3579
+ effect.focus-ring — desligado ⇒ erro só com a borda vermelha. */
3525
3580
  :host([error]) .field,
3526
3581
  :host([invalid]) .field {
3527
3582
  border-color: var(--fx-color-danger, #dc2626);
3528
- box-shadow: 0 0 0 3px color-mix(in srgb, var(--fx-color-danger, #dc2626) 18%, transparent);
3583
+ box-shadow: var(--fx-effect-error-ring, 0 0 0 3px color-mix(in srgb, var(--fx-color-danger, #dc2626) 18%, transparent));
3529
3584
  }
3530
3585
  :host([success]) .field,
3531
3586
  :host([valid]) .field {
3532
3587
  border-color: var(--fx-color-success, #16a34a);
3533
- box-shadow: 0 0 0 3px color-mix(in srgb, var(--fx-color-success, #16a34a) 18%, transparent);
3588
+ box-shadow: var(--fx-effect-success-ring, 0 0 0 3px color-mix(in srgb, var(--fx-color-success, #16a34a) 18%, transparent));
3534
3589
  }
3535
3590
  .list {
3536
3591
  position: absolute;
@@ -3562,7 +3617,7 @@
3562
3617
  }
3563
3618
  .opt:hover { background: color-mix(in srgb, var(--fx-color-primary) 12%, var(--fx-surface-background)); color: var(--fx-color-primary); }
3564
3619
  .empty { color: var(--fx-text-muted); font-size: calc(var(--fx-font-size) - 2px); padding: var(--fx-space-sm) var(--fx-space-md); }
3565
- `;let Se=wt;function Hr(){return x("fx-autocomplete",Se)}Hr();const kt=class kt extends b{constructor(){super(...arguments),this._isDragging=!1,this._startY=0,this._startValue=0,this._onMouseMove=e=>{if(!this._isDragging)return;const t=this._startY-e.clientY,r=(this.max-this.min)/100;this.emitChange(this._startValue+t*r)},this._onMouseUp=()=>{this._isDragging=!1,document.removeEventListener("mousemove",this._onMouseMove),document.removeEventListener("mouseup",this._onMouseUp)}}static get observedAttributes(){return["value","min","max","step","size","stroke-width","value-color","range-color","readonly","disabled","value-template"]}get value(){return this.clampValue(Number(this.getAttr("value","0"))||0)}set value(e){if(this.readonly||this.disabled)return;const t=this.clampValue(e),r=this.clampValue(Number(this.getAttr("value","0"))||0);t!==r&&(this.setAttribute("value",String(t)),this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0,detail:{value:t}})))}get min(){return Number(this.getAttr("min","0"))||0}set min(e){this.setAttribute("min",String(e))}get max(){return Number(this.getAttr("max","100"))||100}set max(e){this.setAttribute("max",String(e))}get step(){return Number(this.getAttr("step","1"))||1}set step(e){this.setAttribute("step",String(e))}get size(){const e=this.getAttr("size","md");return e==="sm"||e==="lg"?e:"md"}set size(e){this.setAttribute("size",e)}get strokeWidth(){return Number(this.getAttr("stroke-width","8"))||8}set strokeWidth(e){this.setAttribute("stroke-width",String(e))}get valueColor(){return this.getAttr("value-color","")}set valueColor(e){this.setAttribute("value-color",e)}get rangeColor(){return this.getAttr("range-color","")}set rangeColor(e){this.setAttribute("range-color",e)}get readonly(){return this.hasAttr("readonly")}set readonly(e){this.toggleAttr("readonly",!!e)}get disabled(){return this.hasAttr("disabled")}set disabled(e){this.toggleAttr("disabled",!!e)}get valueTemplate(){return this.getAttr("value-template","{value}")}set valueTemplate(e){this.setAttribute("value-template",e)}render(){const e=this.min,t=this.max,r=this.clampValue(this.value),a=t-e,o=a>0?(r-e)/a:0,i=this.getSizeNum(),s=this.strokeWidth,n=(i-s)/2,l=2*Math.PI*n,p=l*(1-o),f=this.valueColor?this.safeColor(this.valueColor):"",_=this.rangeColor?this.safeColor(this.rangeColor):"",c=f?`--_value-color: ${f};`:"",g=_?`--_range-color: ${_};`:"",u=this.valueTemplate.replace("{value}",String(Math.round(r)));this.setTemplate(`
3620
+ `;let Ee=zt;function ra(){return v("fx-autocomplete",Ee)}ra();const St=class St extends b{constructor(){super(...arguments),this._isDragging=!1,this._startY=0,this._startValue=0,this._onMouseMove=e=>{if(!this._isDragging)return;const t=this._startY-e.clientY,r=(this.max-this.min)/100;this.emitChange(this._startValue+t*r)},this._onMouseUp=()=>{this._isDragging=!1,document.removeEventListener("mousemove",this._onMouseMove),document.removeEventListener("mouseup",this._onMouseUp)}}static get observedAttributes(){return["value","min","max","step","size","stroke-width","value-color","range-color","readonly","disabled","value-template"]}get value(){return this.clampValue(Number(this.getAttr("value","0"))||0)}set value(e){if(this.readonly||this.disabled)return;const t=this.clampValue(e),r=this.clampValue(Number(this.getAttr("value","0"))||0);t!==r&&(this.setAttribute("value",String(t)),this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0,detail:{value:t}})))}get min(){return Number(this.getAttr("min","0"))||0}set min(e){this.setAttribute("min",String(e))}get max(){return Number(this.getAttr("max","100"))||100}set max(e){this.setAttribute("max",String(e))}get step(){return Number(this.getAttr("step","1"))||1}set step(e){this.setAttribute("step",String(e))}get size(){const e=this.getAttr("size","md");return e==="sm"||e==="lg"?e:"md"}set size(e){this.setAttribute("size",e)}get strokeWidth(){return Number(this.getAttr("stroke-width","8"))||8}set strokeWidth(e){this.setAttribute("stroke-width",String(e))}get valueColor(){return this.getAttr("value-color","")}set valueColor(e){this.setAttribute("value-color",e)}get rangeColor(){return this.getAttr("range-color","")}set rangeColor(e){this.setAttribute("range-color",e)}get readonly(){return this.hasAttr("readonly")}set readonly(e){this.toggleAttr("readonly",!!e)}get disabled(){return this.hasAttr("disabled")}set disabled(e){this.toggleAttr("disabled",!!e)}get valueTemplate(){return this.getAttr("value-template","{value}")}set valueTemplate(e){this.setAttribute("value-template",e)}render(){const e=this.min,t=this.max,r=this.clampValue(this.value),a=t-e,o=a>0?(r-e)/a:0,i=this.getSizeNum(),s=this.strokeWidth,n=(i-s)/2,l=2*Math.PI*n,p=l*(1-o),f=this.valueColor?this.safeColor(this.valueColor):"",_=this.rangeColor?this.safeColor(this.rangeColor):"",c=f?`--_value-color: ${f};`:"",g=_?`--_range-color: ${_};`:"",u=this.valueTemplate.replace("{value}",String(Math.round(r)));this.setTemplate(`
3566
3621
  <div class="knob" part="knob" tabindex="${this.disabled?"-1":"0"}"
3567
3622
  role="slider" aria-valuenow="${r}" aria-valuemin="${e}" aria-valuemax="${t}"
3568
3623
  aria-readonly="${this.readonly}" aria-disabled="${this.disabled}"
@@ -3577,7 +3632,7 @@
3577
3632
  </svg>
3578
3633
  <div class="label" part="label">${h(u)}</div>
3579
3634
  </div>
3580
- `),this.attachListeners()}getSizeNum(){const e=this.size;return e==="sm"?60:e==="lg"?140:100}safeColor(e){const t=e.trim();return/^#[0-9a-fA-F]{3,8}$/.test(t)||/^(rgb|rgba|hsl|hsla)\([\d\s.,%()]+\)$/i.test(t)||/^var\(--[\w-]+(,\s*[^)]*)?\)$/.test(t)||/^[a-zA-Z]+$/.test(t)?t:""}clampValue(e){const t=this.min,r=this.max,a=this.step;let o=Math.min(r,Math.max(t,e));return a>0&&(o=Math.round((o-t)/a)*a+t,o=Math.min(r,Math.max(t,o))),o}emitChange(e){const t=this.clampValue(e);t!==this.value&&(this.value=t,this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0,detail:{value:t}})))}attachListeners(){const e=this.root.querySelector(".knob");e&&(e.addEventListener("mousedown",t=>{this.readonly||this.disabled||(t.preventDefault(),this._isDragging=!0,this._startY=t.clientY,this._startValue=this.value,e.focus(),document.addEventListener("mousemove",this._onMouseMove),document.addEventListener("mouseup",this._onMouseUp))}),e.addEventListener("touchstart",t=>{this.readonly||this.disabled||(t.preventDefault(),this._isDragging=!0,this._startY=t.touches[0].clientY,this._startValue=this.value,e.focus())},{passive:!1}),e.addEventListener("touchmove",t=>{if(!this._isDragging||this.readonly||this.disabled)return;t.preventDefault();const r=this._startY-t.touches[0].clientY,a=(this.max-this.min)/100;this.emitChange(this._startValue+r*a)},{passive:!1}),e.addEventListener("touchend",()=>{this._isDragging=!1}),e.addEventListener("keydown",t=>{if(this.readonly||this.disabled)return;const r=this.step;switch(t.key){case"ArrowUp":case"ArrowRight":t.preventDefault(),this.emitChange(this.value+r);break;case"ArrowDown":case"ArrowLeft":t.preventDefault(),this.emitChange(this.value-r);break;case"Home":t.preventDefault(),this.emitChange(this.min);break;case"End":t.preventDefault(),this.emitChange(this.max);break;case"PageUp":t.preventDefault(),this.emitChange(this.value+r*10);break;case"PageDown":t.preventDefault(),this.emitChange(this.value-r*10);break}}))}disconnectedCallback(){document.removeEventListener("mousemove",this._onMouseMove),document.removeEventListener("mouseup",this._onMouseUp),super.disconnectedCallback()}};kt.styles=m`
3635
+ `),this.attachListeners()}getSizeNum(){const e=this.size;return e==="sm"?60:e==="lg"?140:100}safeColor(e){const t=e.trim();return/^#[0-9a-fA-F]{3,8}$/.test(t)||/^(rgb|rgba|hsl|hsla)\([\d\s.,%()]+\)$/i.test(t)||/^var\(--[\w-]+(,\s*[^)]*)?\)$/.test(t)||/^[a-zA-Z]+$/.test(t)?t:""}clampValue(e){const t=this.min,r=this.max,a=this.step;let o=Math.min(r,Math.max(t,e));return a>0&&(o=Math.round((o-t)/a)*a+t,o=Math.min(r,Math.max(t,o))),o}emitChange(e){const t=this.clampValue(e);t!==this.value&&(this.value=t,this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0,detail:{value:t}})))}attachListeners(){const e=this.root.querySelector(".knob");e&&(e.addEventListener("mousedown",t=>{this.readonly||this.disabled||(t.preventDefault(),this._isDragging=!0,this._startY=t.clientY,this._startValue=this.value,e.focus(),document.addEventListener("mousemove",this._onMouseMove),document.addEventListener("mouseup",this._onMouseUp))}),e.addEventListener("touchstart",t=>{this.readonly||this.disabled||(t.preventDefault(),this._isDragging=!0,this._startY=t.touches[0].clientY,this._startValue=this.value,e.focus())},{passive:!1}),e.addEventListener("touchmove",t=>{if(!this._isDragging||this.readonly||this.disabled)return;t.preventDefault();const r=this._startY-t.touches[0].clientY,a=(this.max-this.min)/100;this.emitChange(this._startValue+r*a)},{passive:!1}),e.addEventListener("touchend",()=>{this._isDragging=!1}),e.addEventListener("keydown",t=>{if(this.readonly||this.disabled)return;const r=this.step;switch(t.key){case"ArrowUp":case"ArrowRight":t.preventDefault(),this.emitChange(this.value+r);break;case"ArrowDown":case"ArrowLeft":t.preventDefault(),this.emitChange(this.value-r);break;case"Home":t.preventDefault(),this.emitChange(this.min);break;case"End":t.preventDefault(),this.emitChange(this.max);break;case"PageUp":t.preventDefault(),this.emitChange(this.value+r*10);break;case"PageDown":t.preventDefault(),this.emitChange(this.value-r*10);break}}))}disconnectedCallback(){document.removeEventListener("mousemove",this._onMouseMove),document.removeEventListener("mouseup",this._onMouseUp),super.disconnectedCallback()}};St.styles=m`
3581
3636
  :host {
3582
3637
  display: inline-flex;
3583
3638
  align-items: center;
@@ -3641,9 +3696,11 @@
3641
3696
  outline: none;
3642
3697
  }
3643
3698
  .knob:focus-visible svg {
3644
- filter: drop-shadow(var(--fx-effect-focus-ring, 0 0 0 3px color-mix(in srgb, var(--fx-color-primary) 22%, transparent)));
3699
+ /* Mesmo fallback none dos demais componentes: sem motor de tema (ou com
3700
+ effect.focus-ring desligado) não há anel de foco. */
3701
+ filter: drop-shadow(var(--fx-effect-focus-ring, none));
3645
3702
  }
3646
- `;let $e=kt;function Kr(){return x("fx-knob",$e)}Kr();const At=class At extends b{constructor(){super(...arguments),this._data=[],this._filteredData=null,this._selection=[],this._filterValue="",this._draggedIndex=null,this._listenersAttached=!1,this._optionTemplate=null}static get observedAttributes(){return["data","data-key","filter","filter-by","filter-placeholder","breakpoint","controls-location","dragdrop","striped","selection-mode","show-select-all"]}set data(e){this._data=e,this._filteredData=null,this.render()}get data(){return this._data}set selection(e){this._selection=e,this.render()}get selection(){return this._selection}get dataKey(){return this.getAttr("data-key","")}set dataKey(e){this.setAttribute("data-key",e)}get filter(){return this.hasAttr("filter")}set filter(e){this.toggleAttr("filter",e)}get filterBy(){return this.getAttr("filter-by","label")}set filterBy(e){this.setAttribute("filter-by",e)}get filterPlaceholder(){return this.getAttr("filter-placeholder","Buscar...")}set filterPlaceholder(e){this.setAttribute("filter-placeholder",e)}get breakpoint(){return this.getAttr("breakpoint","960px")}set breakpoint(e){this.setAttribute("breakpoint",e)}get dragdrop(){return this.hasAttr("dragdrop")}set dragdrop(e){this.toggleAttr("dragdrop",e)}get striped(){return this.hasAttr("striped")}set striped(e){this.toggleAttr("striped",e)}get selectionMode(){const e=this.getAttr("selection-mode","");return e==="single"||e==="multiple"?e:""}set selectionMode(e){this.setAttribute("selection-mode",e)}get showSelectAll(){return this.hasAttr("show-select-all")}set showSelectAll(e){this.toggleAttr("show-select-all",e)}get filterValue(){return this._filterValue}set filterValue(e){this._filterValue=e,this._applyFilter(),this._updateListDisplay()}setOptionTemplate(e){this._optionTemplate=e,this.render()}connectedCallback(){this._parseDataAttribute(),super.connectedCallback()}attributeChangedCallback(e,t,r){this.getAttr("data","")!==""&&this._parseDataAttribute(),super.attributeChangedCallback(e,t,r)}_parseDataAttribute(){const e=this.getAttr("data","");if(e)try{this._data=JSON.parse(e),this._filteredData=null}catch(t){this._data=[]}}_applyFilter(){if(!this._filterValue){this._filteredData=null;return}const e=this.filterBy.split(",").map(t=>t.trim());this._filteredData=this._data.filter(t=>e.some(r=>{const a=t[r];return a==null?!1:String(a).toLowerCase().includes(this._filterValue.toLowerCase())}))}_getDisplayData(){return this._filteredData||this._data}_getItemKey(e,t){return this.dataKey&&e[this.dataKey]!=null?String(e[this.dataKey]):e.id!=null?String(e.id):e.key!=null?String(e.key):e.label!=null?String(e.label):e.name!=null?String(e.name):e.value!=null?String(e.value):String(t)}_getItemLabel(e){const t=["label","name","title","text","value"];for(const r of t)if(e[r]!=null)return String(e[r]);return JSON.stringify(e)}_isSelected(e){return this._selection.some(t=>this._getItemKey(t,-1)===this._getItemKey(e,-1))}_moveItem(e,t){const r=this._getActualIndex(e),a=this._getActualIndex(t);if(r===-1||a===-1)return;const o=this._data.splice(r,1)[0];this._data.splice(a,0,o),this._applyFilter(),this._updateListDisplay(),this._updateControlsState(),this._emitReorder()}_getActualIndex(e){if(this._filteredData){const t=this._filteredData[e];return this._data.findIndex(r=>this._getItemKey(r,-1)===this._getItemKey(t,-1))}return e}_emitReorder(){this.dispatchEvent(new CustomEvent("reorder",{bubbles:!0,composed:!0,detail:{items:[...this._data]}}))}_emitSelectionChange(){this.dispatchEvent(new CustomEvent("selection-change",{bubbles:!0,composed:!0,detail:{selection:[...this._selection]}}))}_toggleSelection(e){const t=this._getItemKey(e,-1),r=this._selection.findIndex(a=>this._getItemKey(a,-1)===t);r>=0?this._selection.splice(r,1):this.selectionMode==="multiple"?this._selection.push(e):this._selection=[e],this._emitSelectionChange(),this._updateListDisplay(),this._updateControlsState()}_selectAll(){const e=this._getDisplayData();this._selection=[...e],this._emitSelectionChange(),this._updateListDisplay(),this._updateControlsState()}_deselectAll(){this._selection=[],this._emitSelectionChange(),this._updateListDisplay(),this._updateControlsState()}_toggleSelectAll(){const e=this._getDisplayData();this._selection.length===e.length?this._deselectAll():this._selectAll()}render(){const e=this._getDisplayData(),t=this.selectionMode,r=this.selectionMode==="multiple",a=r&&e.length>0&&this._selection.length===e.length;this.setTemplate(`
3703
+ `;let Ce=St;function aa(){return v("fx-knob",Ce)}aa();const $t=class $t extends b{constructor(){super(...arguments),this._data=[],this._filteredData=null,this._selection=[],this._filterValue="",this._draggedIndex=null,this._listenersAttached=!1,this._optionTemplate=null}static get observedAttributes(){return["data","data-key","filter","filter-by","filter-placeholder","breakpoint","controls-location","dragdrop","striped","selection-mode","show-select-all"]}set data(e){this._data=e,this._filteredData=null,this.render()}get data(){return this._data}set selection(e){this._selection=e,this.render()}get selection(){return this._selection}get dataKey(){return this.getAttr("data-key","")}set dataKey(e){this.setAttribute("data-key",e)}get filter(){return this.hasAttr("filter")}set filter(e){this.toggleAttr("filter",e)}get filterBy(){return this.getAttr("filter-by","label")}set filterBy(e){this.setAttribute("filter-by",e)}get filterPlaceholder(){return this.getAttr("filter-placeholder","Buscar...")}set filterPlaceholder(e){this.setAttribute("filter-placeholder",e)}get breakpoint(){return this.getAttr("breakpoint","960px")}set breakpoint(e){this.setAttribute("breakpoint",e)}get dragdrop(){return this.hasAttr("dragdrop")}set dragdrop(e){this.toggleAttr("dragdrop",e)}get striped(){return this.hasAttr("striped")}set striped(e){this.toggleAttr("striped",e)}get selectionMode(){const e=this.getAttr("selection-mode","");return e==="single"||e==="multiple"?e:""}set selectionMode(e){this.setAttribute("selection-mode",e)}get showSelectAll(){return this.hasAttr("show-select-all")}set showSelectAll(e){this.toggleAttr("show-select-all",e)}get filterValue(){return this._filterValue}set filterValue(e){this._filterValue=e,this._applyFilter(),this._updateListDisplay()}setOptionTemplate(e){this._optionTemplate=e,this.render()}connectedCallback(){this._parseDataAttribute(),super.connectedCallback()}attributeChangedCallback(e,t,r){this.getAttr("data","")!==""&&this._parseDataAttribute(),super.attributeChangedCallback(e,t,r)}_parseDataAttribute(){const e=this.getAttr("data","");if(e)try{this._data=JSON.parse(e),this._filteredData=null}catch(t){this._data=[]}}_applyFilter(){if(!this._filterValue){this._filteredData=null;return}const e=this.filterBy.split(",").map(t=>t.trim());this._filteredData=this._data.filter(t=>e.some(r=>{const a=t[r];return a==null?!1:String(a).toLowerCase().includes(this._filterValue.toLowerCase())}))}_getDisplayData(){return this._filteredData||this._data}_getItemKey(e,t){return this.dataKey&&e[this.dataKey]!=null?String(e[this.dataKey]):e.id!=null?String(e.id):e.key!=null?String(e.key):e.label!=null?String(e.label):e.name!=null?String(e.name):e.value!=null?String(e.value):String(t)}_getItemLabel(e){const t=["label","name","title","text","value"];for(const r of t)if(e[r]!=null)return String(e[r]);return JSON.stringify(e)}_isSelected(e){return this._selection.some(t=>this._getItemKey(t,-1)===this._getItemKey(e,-1))}_moveItem(e,t){const r=this._getActualIndex(e),a=this._getActualIndex(t);if(r===-1||a===-1)return;const o=this._data.splice(r,1)[0];this._data.splice(a,0,o),this._applyFilter(),this._updateListDisplay(),this._updateControlsState(),this._emitReorder()}_getActualIndex(e){if(this._filteredData){const t=this._filteredData[e];return this._data.findIndex(r=>this._getItemKey(r,-1)===this._getItemKey(t,-1))}return e}_emitReorder(){this.dispatchEvent(new CustomEvent("reorder",{bubbles:!0,composed:!0,detail:{items:[...this._data]}}))}_emitSelectionChange(){this.dispatchEvent(new CustomEvent("selection-change",{bubbles:!0,composed:!0,detail:{selection:[...this._selection]}}))}_toggleSelection(e){const t=this._getItemKey(e,-1),r=this._selection.findIndex(a=>this._getItemKey(a,-1)===t);r>=0?this._selection.splice(r,1):this.selectionMode==="multiple"?this._selection.push(e):this._selection=[e],this._emitSelectionChange(),this._updateListDisplay(),this._updateControlsState()}_selectAll(){const e=this._getDisplayData();this._selection=[...e],this._emitSelectionChange(),this._updateListDisplay(),this._updateControlsState()}_deselectAll(){this._selection=[],this._emitSelectionChange(),this._updateListDisplay(),this._updateControlsState()}_toggleSelectAll(){const e=this._getDisplayData();this._selection.length===e.length?this._deselectAll():this._selectAll()}render(){const e=this._getDisplayData(),t=this.selectionMode,r=this.selectionMode==="multiple",a=r&&e.length>0&&this._selection.length===e.length;this.setTemplate(`
3647
3704
  <div class="container" part="container">
3648
3705
  ${this.filter?`
3649
3706
  <div class="filter-wrapper" part="filter-wrapper">
@@ -3745,7 +3802,7 @@
3745
3802
  </li>
3746
3803
  `}).join("")}
3747
3804
  </ul>
3748
- `,this._attachListeners(),this._attachItemListeners(this.root.querySelector(".list"))}_handleMoveAction(e){if(!this._selection.length)return;const t=this._getDisplayData(),r=this._selection.map(a=>t.findIndex(o=>this._getItemKey(o,-1)===this._getItemKey(a,-1))).filter(a=>a>=0).sort((a,o)=>a-o);if(r.length!==0)switch(e){case"top":this._moveSelectedToStart(r);break;case"up":this._moveSelectedByOne(r,-1);break;case"down":this._moveSelectedByOne(r,1);break;case"bottom":this._moveSelectedToEnd(r);break}}_moveSelectedToStart(e){const t=[],r=[];for(const o of e){const i=this._getActualIndex(o);t.push(this._data[i]),r.push(i)}r.sort((o,i)=>i-o).forEach(o=>this._data.splice(o,1));const a=this._getActualIndex(0);this._data.splice(a,0,...t),this._applyFilter(),this._updateListDisplay(),this._updateControlsState(),this._emitReorder()}_moveSelectedToEnd(e){const t=[],r=[];for(const i of e){const s=this._getActualIndex(i);t.push(this._data[s]),r.push(s)}r.sort((i,s)=>s-i).forEach(i=>this._data.splice(i,1));const a=this._getDisplayData(),o=this._getActualIndex(a.length-1);this._data.splice(o+1,0,...t),this._applyFilter(),this._updateListDisplay(),this._updateControlsState(),this._emitReorder()}_moveSelectedByOne(e,t){if(this._getDisplayData().length===0)return;const a=e.map(s=>this._getActualIndex(s)).filter(s=>s>=0).sort((s,n)=>s-n);if(a.length===0||t<0&&a[0]<=0||t>0&&a[a.length-1]>=this._data.length-1)return;const o=a.map(s=>this._data[s]);for(let s=a.length-1;s>=0;s--)this._data.splice(a[s],1);let i;t<0?i=a[0]-1:i=a[a.length-1]-a.length+1+1,i=Math.max(0,Math.min(i,this._data.length)),this._data.splice(i,0,...o),this._applyFilter(),this._updateListDisplay(),this._updateControlsState(),this._emitReorder()}_updateControlsState(){const e=this._getDisplayData(),t=this._selection.map(a=>e.findIndex(o=>this._getItemKey(o,-1)===this._getItemKey(a,-1))).filter(a=>a>=0);this.root.querySelectorAll(".control-btn").forEach(a=>{const o=a.dataset.action;let i=t.length===0;if(!i)switch(o){case"top":case"up":i=t[0]===0;break;case"bottom":case"down":i=t[t.length-1]===e.length-1;break}a.disabled=i})}};At.styles=m`
3805
+ `,this._attachListeners(),this._attachItemListeners(this.root.querySelector(".list"))}_handleMoveAction(e){if(!this._selection.length)return;const t=this._getDisplayData(),r=this._selection.map(a=>t.findIndex(o=>this._getItemKey(o,-1)===this._getItemKey(a,-1))).filter(a=>a>=0).sort((a,o)=>a-o);if(r.length!==0)switch(e){case"top":this._moveSelectedToStart(r);break;case"up":this._moveSelectedByOne(r,-1);break;case"down":this._moveSelectedByOne(r,1);break;case"bottom":this._moveSelectedToEnd(r);break}}_moveSelectedToStart(e){const t=[],r=[];for(const o of e){const i=this._getActualIndex(o);t.push(this._data[i]),r.push(i)}r.sort((o,i)=>i-o).forEach(o=>this._data.splice(o,1));const a=this._getActualIndex(0);this._data.splice(a,0,...t),this._applyFilter(),this._updateListDisplay(),this._updateControlsState(),this._emitReorder()}_moveSelectedToEnd(e){const t=[],r=[];for(const i of e){const s=this._getActualIndex(i);t.push(this._data[s]),r.push(s)}r.sort((i,s)=>s-i).forEach(i=>this._data.splice(i,1));const a=this._getDisplayData(),o=this._getActualIndex(a.length-1);this._data.splice(o+1,0,...t),this._applyFilter(),this._updateListDisplay(),this._updateControlsState(),this._emitReorder()}_moveSelectedByOne(e,t){if(this._getDisplayData().length===0)return;const a=e.map(s=>this._getActualIndex(s)).filter(s=>s>=0).sort((s,n)=>s-n);if(a.length===0||t<0&&a[0]<=0||t>0&&a[a.length-1]>=this._data.length-1)return;const o=a.map(s=>this._data[s]);for(let s=a.length-1;s>=0;s--)this._data.splice(a[s],1);let i;t<0?i=a[0]-1:i=a[a.length-1]-a.length+1+1,i=Math.max(0,Math.min(i,this._data.length)),this._data.splice(i,0,...o),this._applyFilter(),this._updateListDisplay(),this._updateControlsState(),this._emitReorder()}_updateControlsState(){const e=this._getDisplayData(),t=this._selection.map(a=>e.findIndex(o=>this._getItemKey(o,-1)===this._getItemKey(a,-1))).filter(a=>a>=0);this.root.querySelectorAll(".control-btn").forEach(a=>{const o=a.dataset.action;let i=t.length===0;if(!i)switch(o){case"top":case"up":i=t[0]===0;break;case"bottom":case"down":i=t[t.length-1]===e.length-1;break}a.disabled=i})}};$t.styles=m`
3749
3806
 
3750
3807
  :host {
3751
3808
  display: block;
@@ -3769,7 +3826,7 @@
3769
3826
  .select-all-bar input[type="checkbox"] { width: 18px; height: 18px; accent-color: var(--orderlist-primary); cursor: pointer; }
3770
3827
  .filter-wrapper { margin-bottom: var(--fx-space-xs, 4px); }
3771
3828
  .filter-input { width: 100%; padding: var(--fx-space-sm, 10px) var(--fx-space-md, 14px); padding-left: 42px; border: 1.5px solid var(--orderlist-border); border-radius: var(--orderlist-radius); font-family: inherit; font-size: inherit; color: var(--orderlist-text); background: var(--orderlist-bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'%3E%3C/circle%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'%3E%3C/line%3E%3C/svg%3E") no-repeat 14px center; transition: var(--orderlist-transition); }
3772
- .filter-input:focus { outline: none; border-color: var(--orderlist-primary); box-shadow: 0 0 0 3px color-mix(in srgb, var(--orderlist-primary) 20%, transparent); }
3829
+ .filter-input:focus { outline: none; border-color: var(--orderlist-primary); box-shadow: var(--fx-effect-focus-ring, none); }
3773
3830
  .filter-input::placeholder { color: var(--orderlist-text-muted); }
3774
3831
  .main-row { display: flex; align-items: stretch; gap: var(--fx-space-sm, 8px); }
3775
3832
  .list { list-style: none; margin: 0; padding: 0; border: 1px solid var(--orderlist-border); border-radius: var(--orderlist-radius); overflow: hidden; box-shadow: var(--orderlist-shadow); max-height: 450px; overflow-y: auto; flex: 1; }
@@ -3812,7 +3869,7 @@
3812
3869
  button.control-btn { display: flex; align-items: center; justify-content: center; width: 42px; height: 38px; padding: 0; border: none; border-radius: 8px; background: transparent; color: var(--orderlist-text-muted); cursor: pointer; font-size: 16px; line-height: 1; transition: var(--orderlist-transition); position: relative; }
3813
3870
  button.control-btn:hover:not(:disabled) { background: var(--orderlist-bg-hover); color: var(--orderlist-primary); transform: scale(1.1); }
3814
3871
  button.control-btn:active:not(:disabled) { transform: scale(0.92); background: color-mix(in srgb, var(--orderlist-primary) 15%, transparent); }
3815
- button.control-btn:focus-visible { outline: none; box-shadow: 0 0 0 3px color-mix(in srgb, var(--orderlist-primary) 30%, transparent); }
3872
+ button.control-btn:focus-visible { outline: none; box-shadow: var(--fx-effect-focus-ring, none); }
3816
3873
  button.control-btn:disabled { opacity: 0.3; cursor: not-allowed; transform: none; }
3817
3874
  .control-btn-icon { font-size: 18px; line-height: 1; }
3818
3875
  /* Tooltip nos botoes */
@@ -3820,7 +3877,7 @@
3820
3877
  @media (max-width: 640px) { .main-row { flex-direction: column; } .controls-bar { flex-direction: row; flex-wrap: wrap; justify-content: center; position: relative; } .control-group { flex-direction: row; } .control-group + .control-group { margin-top: 0; margin-left: 4px; padding-top: 0; padding-left: 4px; border-top: none; border-left: 1px solid var(--orderlist-border); } button.control-btn { width: 44px; height: 40px; } button.control-btn::after { display: none; } .list { max-height: 300px; } }
3821
3878
  @keyframes slideIn { from { opacity: 0; transform: translateX(-10px); } to { opacity: 1; transform: translateX(0); } }
3822
3879
  .list-item { animation: slideIn 0.2s ease-out; }
3823
- `;let Ee=At;function Yr(){return x("fx-orderlist",Ee)}Yr();const zt=class zt extends b{constructor(){super(...arguments),this._source=[],this._filteredSource=null,this._target=[],this._filteredTarget=null,this._sourceSelection=[],this._targetSelection=[],this._sourceFilterValue="",this._targetFilterValue="",this._filterListenersAttached=!1,this._optionTemplate=null}static get observedAttributes(){return["source","target","source-key","target-key","filter","filter-by","filter-placeholder","dragdrop","striped","selection-mode","show-select-all","source-label","target-label"]}set source(e){this._source=e,this._filteredSource=null,this.render()}get source(){return this._source}set target(e){this._target=e,this._filteredTarget=null,this.render()}get target(){return this._target}set sourceSelection(e){this._sourceSelection=e,this.render()}get sourceSelection(){return this._sourceSelection}set targetSelection(e){this._targetSelection=e,this.render()}get targetSelection(){return this._targetSelection}get sourceKey(){return this.getAttr("source-key","")}set sourceKey(e){this.setAttribute("source-key",e)}get targetKey(){return this.getAttr("target-key","")}set targetKey(e){this.setAttribute("target-key",e)}get filter(){return this.hasAttr("filter")}set filter(e){this.toggleAttr("filter",e)}get filterBy(){return this.getAttr("filter-by","label")}set filterBy(e){this.setAttribute("filter-by",e)}get filterPlaceholder(){return this.getAttr("filter-placeholder","Buscar...")}set filterPlaceholder(e){this.setAttribute("filter-placeholder",e)}get dragdrop(){return this.hasAttr("dragdrop")}set dragdrop(e){this.toggleAttr("dragdrop",e)}get striped(){return this.hasAttr("striped")}set striped(e){this.toggleAttr("striped",e)}get selectionMode(){const e=this.getAttr("selection-mode","");return e==="single"||e==="multiple"?e:""}set selectionMode(e){this.setAttribute("selection-mode",e)}get showSelectAll(){return this.hasAttr("show-select-all")}set showSelectAll(e){this.toggleAttr("show-select-all",e)}get sourceLabel(){return this.getAttr("source-label","Disponíveis")}set sourceLabel(e){this.setAttribute("source-label",e)}get targetLabel(){return this.getAttr("target-label","Selecionados")}set targetLabel(e){this.setAttribute("target-label",e)}get sourceFilterValue(){return this._sourceFilterValue}set sourceFilterValue(e){this._sourceFilterValue=e,this._applySourceFilter(),this._updateListDisplay()}get targetFilterValue(){return this._targetFilterValue}set targetFilterValue(e){this._targetFilterValue=e,this._applyTargetFilter(),this._updateListDisplay()}setOptionTemplate(e){this._optionTemplate=e,this.render()}connectedCallback(){this._parseSourceAttribute(),this._parseTargetAttribute(),super.connectedCallback()}attributeChangedCallback(e,t,r){this.getAttr("source","")!==""&&this._parseSourceAttribute(),this.getAttr("target","")!==""&&this._parseTargetAttribute(),super.attributeChangedCallback(e,t,r)}_parseSourceAttribute(){const e=this.getAttr("source","");if(e)try{this._source=JSON.parse(e),this._filteredSource=null}catch(t){this._source=[]}}_parseTargetAttribute(){const e=this.getAttr("target","");if(e)try{this._target=JSON.parse(e),this._filteredTarget=null}catch(t){this._target=[]}}_applySourceFilter(){if(!this._sourceFilterValue){this._filteredSource=null;return}const e=this.filterBy.split(",").map(t=>t.trim());this._filteredSource=this._source.filter(t=>e.some(r=>{const a=t[r];return a==null?!1:String(a).toLowerCase().includes(this._sourceFilterValue.toLowerCase())}))}_applyTargetFilter(){if(!this._targetFilterValue){this._filteredTarget=null;return}const e=this.filterBy.split(",").map(t=>t.trim());this._filteredTarget=this._target.filter(t=>e.some(r=>{const a=t[r];return a==null?!1:String(a).toLowerCase().includes(this._targetFilterValue.toLowerCase())}))}_getDisplaySource(){return this._filteredSource||this._source}_getDisplayTarget(){return this._filteredTarget||this._target}_getItemKey(e,t,r){const a=r?this.sourceKey:this.targetKey;return a&&e[a]!=null?String(e[a]):e.id!=null?String(e.id):e.key!=null?String(e.key):e.label!=null?String(e.label):e.name!=null?String(e.name):e.value!=null?String(e.value):String(t)}_getItemLabel(e){const t=["label","name","title","text","value"];for(const r of t)if(e[r]!=null)return String(e[r]);return JSON.stringify(e)}_isSourceSelected(e,t){return this._sourceSelection.some(r=>this._getItemKey(r,-1,!0)===this._getItemKey(e,t,!0))}_isTargetSelected(e,t){return this._targetSelection.some(r=>this._getItemKey(r,-1,!1)===this._getItemKey(e,t,!1))}_emitMoveToTarget(){this.dispatchEvent(new CustomEvent("move-to-target",{bubbles:!0,composed:!0,detail:{items:[...this._sourceSelection],source:[...this._source],target:[...this._target]}}))}_emitMoveToSource(){this.dispatchEvent(new CustomEvent("move-to-source",{bubbles:!0,composed:!0,detail:{items:[...this._targetSelection],source:[...this._source],target:[...this._target]}}))}_emitSelectionChangeSource(){this.dispatchEvent(new CustomEvent("selection-change-source",{bubbles:!0,composed:!0,detail:{selection:[...this._sourceSelection]}}))}_emitSelectionChangeTarget(){this.dispatchEvent(new CustomEvent("selection-change-target",{bubbles:!0,composed:!0,detail:{selection:[...this._targetSelection]}}))}render(){const e=this._getDisplaySource(),t=this._getDisplayTarget(),r=this.selectionMode,a=r==="multiple"&&this.showSelectAll,o=e.length===0?`<li class="empty-message">${this.filter?"Nenhum resultado":"Nenhum item"}</li>`:e.map((l,p)=>`<li class="list-item${this._isSourceSelected(l,p)?" selected":""}" data-index="${p}" data-list="source" tabindex="0">${r?'<input type="checkbox" class="checkbox"'+(this._isSourceSelected(l,p)?" checked":"")+" />":""}<span class="item-content">${this._optionTemplate?this._optionTemplate(l):h(this._getItemLabel(l))}</span></li>`).join(""),i=t.length===0?`<li class="empty-message">${this.filter?"Nenhum resultado":"Nenhum selecionado"}</li>`:t.map((l,p)=>`<li class="list-item${this._isTargetSelected(l,p)?" selected":""}" data-index="${p}" data-list="target" tabindex="0">${r?'<input type="checkbox" class="checkbox"'+(this._isTargetSelected(l,p)?" checked":"")+" />":""}<span class="item-content">${this._optionTemplate?this._optionTemplate(l):h(this._getItemLabel(l))}</span></li>`).join(""),s=a?`<div class="select-all-bar" part="select-all-bar"><label><input type="checkbox" class="select-all-checkbox" data-list="source" ${this._sourceSelection.length>0&&this._sourceSelection.length===this._source.length?"checked":""} aria-label="Selecionar todos da origem" /> Selecionar Todos</label><span class="selection-count">${this._sourceSelection.length} selecionado(s)</span></div>`:"",n=a?`<div class="select-all-bar" part="select-all-bar"><label><input type="checkbox" class="select-all-checkbox" data-list="target" ${this._targetSelection.length>0&&this._targetSelection.length===this._target.length?"checked":""} aria-label="Selecionar todos do destino" /> Selecionar Todos</label><span class="selection-count">${this._targetSelection.length} selecionado(s)</span></div>`:"";this.setTemplate(`<div class="container"><div class="list-container"><div class="list-label">${h(this.sourceLabel)} (${this._source.length})</div>${this.filter?'<div class="filter-wrapper"><input type="text" class="filter-input source-filter" placeholder="'+this.filterPlaceholder+'" value="'+h(this._sourceFilterValue)+'" /></div>':""}${s}<div class="list-wrapper"><ul class="list source-list" role="listbox" tabindex="0">${o}</ul></div></div><div class="controls"><div class="control-group"><button class="control-btn" data-action="move-all-target" part="control-btn" aria-label="Mover todos para destino"><span class="control-btn-icon">»</span></button><button class="control-btn" data-action="move-target" part="control-btn" aria-label="Mover para destino"><span class="control-btn-icon">→</span></button></div><div class="control-group"><button class="control-btn" data-action="move-source" part="control-btn" aria-label="Mover para origem"><span class="control-btn-icon">←</span></button><button class="control-btn" data-action="move-all-source" part="control-btn" aria-label="Mover todos para origem"><span class="control-btn-icon">«</span></button></div></div><div class="list-container"><div class="list-label">${h(this.targetLabel)} (${this._target.length})</div>${this.filter?'<div class="filter-wrapper"><input type="text" class="filter-input target-filter" placeholder="'+this.filterPlaceholder+'" value="'+h(this._targetFilterValue)+'" /></div>':""}${n}<div class="list-wrapper"><ul class="list target-list" role="listbox" tabindex="0">${i}</ul></div></div></div>`),this._attachListeners()}_attachListeners(){this._filterListenersAttached||(this._filterListenersAttached=!0,this.root.addEventListener("input",e=>{const t=e.target;if(t.classList.contains("select-all-checkbox")){this._handleSelectAll(t);return}t.classList.contains("source-filter")?this.sourceFilterValue=t.value:t.classList.contains("target-filter")&&(this.targetFilterValue=t.value)}),this.root.addEventListener("click",e=>{const t=e.target,r=t.closest(".control-btn");if(r){switch(r.dataset.action){case"move-target":this._moveToTarget();break;case"move-all-target":this._moveAllToTarget();break;case"move-source":this._moveToSource();break;case"move-all-source":this._moveAllToSource();break}return}const a=t.closest(".list-item");if(!a)return;const o=a.dataset.list==="source",i=Number(a.dataset.index),s=(o?this._getDisplaySource():this._getDisplayTarget())[i];o?this._toggleSourceSelection(s,i):this._toggleTargetSelection(s,i)})),this._updateControlsState()}_handleSelectAll(e){e.dataset.list==="source"?(this._sourceSelection=e.checked?[...this._getDisplaySource()]:[],this._emitSelectionChangeSource()):(this._targetSelection=e.checked?[...this._getDisplayTarget()]:[],this._emitSelectionChangeTarget()),this._updateSelectionDisplay(),this._updateControlsState()}_updateSelectionDisplay(){const e=(t,r,a)=>{t&&t.querySelectorAll(".list-item").forEach(o=>{const i=Number(o.dataset.index),s=r(a()[i],i);o.classList.toggle("selected",s),o.setAttribute("aria-selected",String(s));const n=o.querySelector(".checkbox");n&&(n.checked=s)})};e(this.root.querySelector(".source-list"),(t,r)=>this._isSourceSelected(t,r),()=>this._getDisplaySource()),e(this.root.querySelector(".target-list"),(t,r)=>this._isTargetSelected(t,r),()=>this._getDisplayTarget()),this._updateSelectAllBars()}_updateSelectAllBars(){if(!(this.selectionMode==="multiple"&&this.showSelectAll))return;[{el:this.root.querySelector('.select-all-checkbox[data-list="source"]'),total:this._source.length,sel:this._sourceSelection.length},{el:this.root.querySelector('.select-all-checkbox[data-list="target"]'),total:this._target.length,sel:this._targetSelection.length}].forEach(({el:t,total:r,sel:a})=>{var i;if(!t)return;t.checked=r>0&&a===r;const o=(i=t.closest(".select-all-bar"))==null?void 0:i.querySelector(".selection-count");o&&(o.textContent=`${a} selecionado(s)`)})}_updateControlsState(){this.root.querySelectorAll(".control-btn").forEach(e=>{const t=e.dataset.action;e.disabled=t==="move-target"&&this._sourceSelection.length===0||t==="move-all-target"&&this._source.length===0||t==="move-source"&&this._targetSelection.length===0||t==="move-all-source"&&this._target.length===0})}_moveToTarget(){if(!this._sourceSelection.length)return;const e=[...this._sourceSelection];this._source=this._source.filter(t=>!e.some(r=>this._getItemKey(r,-1,!0)===this._getItemKey(t,-1,!0))),this._target=[...this._target,...e],this._sourceSelection=[],this._filteredSource=null,this._filteredTarget=null,this._updateListDisplay(),this._updateControlsState(),this._emitMoveToTarget()}_moveToSource(){if(!this._targetSelection.length)return;const e=[...this._targetSelection];this._target=this._target.filter(t=>!e.some(r=>this._getItemKey(r,-1,!1)===this._getItemKey(t,-1,!1))),this._source=[...this._source,...e],this._targetSelection=[],this._filteredSource=null,this._filteredTarget=null,this._updateListDisplay(),this._updateControlsState(),this._emitMoveToSource()}_moveAllToTarget(){const e=[...this._source];this._source=[],this._target=[...this._target,...e],this._sourceSelection=[],this._filteredSource=null,this._filteredTarget=null,this._updateListDisplay(),this._updateControlsState(),this._emitMoveToTarget()}_moveAllToSource(){const e=[...this._target];this._target=[],this._source=[...this._source,...e],this._targetSelection=[],this._filteredSource=null,this._filteredTarget=null,this._updateListDisplay(),this._updateControlsState(),this._emitMoveToSource()}_toggleSourceSelection(e,t){const r=this.selectionMode||"single",a=this._getItemKey(e,t,!0),o=this._sourceSelection.findIndex(i=>this._getItemKey(i,-1,!0)===a);o>=0?this._sourceSelection.splice(o,1):r==="multiple"?this._sourceSelection.push(e):this._sourceSelection=[e],this._emitSelectionChangeSource(),this._updateSelectionDisplay(),this._updateControlsState()}_toggleTargetSelection(e,t){const r=this.selectionMode||"single",a=this._getItemKey(e,t,!1),o=this._targetSelection.findIndex(i=>this._getItemKey(i,-1,!1)===a);o>=0?this._targetSelection.splice(o,1):r==="multiple"?this._targetSelection.push(e):this._targetSelection=[e],this._emitSelectionChangeTarget(),this._updateSelectionDisplay(),this._updateControlsState()}_updateListDisplay(){var p,f;const e=(p=this.root.querySelector(".source-list"))==null?void 0:p.parentElement,t=(f=this.root.querySelector(".target-list"))==null?void 0:f.parentElement,r=this.root.querySelector(".list-container:first-of-type .list-label"),a=this.root.querySelector(".list-container:last-of-type .list-label");if(!e||!t){this.render();return}const o=this._getDisplaySource(),i=this._getDisplayTarget(),s=this.selectionMode,n=o.length===0?`<li class="empty-message" part="empty-message">${this.filter?"Nenhum resultado":"Nenhum item"}</li>`:o.map((_,c)=>`<li class="list-item${this._isSourceSelected(_,c)?" selected":""}" part="list-item" data-index="${c}" data-list="source" role="option" aria-selected="${this._isSourceSelected(_,c)}" tabindex="0">${s?'<input type="checkbox" class="checkbox" part="checkbox"'+(this._isSourceSelected(_,c)?" checked":"")+" />":""}<span class="item-content" part="item-content">${this._optionTemplate?this._optionTemplate(_):h(this._getItemLabel(_))}</span></li>`).join(""),l=i.length===0?`<li class="empty-message" part="empty-message">${this.filter?"Nenhum resultado":"Nenhum selecionado"}</li>`:i.map((_,c)=>`<li class="list-item${this._isTargetSelected(_,c)?" selected":""}" part="list-item" data-index="${c}" data-list="target" role="option" aria-selected="${this._isTargetSelected(_,c)}" tabindex="0">${s?'<input type="checkbox" class="checkbox" part="checkbox"'+(this._isTargetSelected(_,c)?" checked":"")+" />":""}<span class="item-content" part="item-content">${this._optionTemplate?this._optionTemplate(_):h(this._getItemLabel(_))}</span></li>`).join("");e.innerHTML=`<ul class="list source-list" role="listbox" tabindex="0">${n}</ul>`,t.innerHTML=`<ul class="list target-list" role="listbox" tabindex="0">${l}</ul>`,r&&(r.textContent=`${this.sourceLabel} (${this._source.length})`),a&&(a.textContent=`${this.targetLabel} (${this._target.length})`),this._updateSelectAllBars(),this._attachListeners()}};zt.styles=m`
3880
+ `;let Le=$t;function oa(){return v("fx-orderlist",Le)}oa();const Et=class Et extends b{constructor(){super(...arguments),this._source=[],this._filteredSource=null,this._target=[],this._filteredTarget=null,this._sourceSelection=[],this._targetSelection=[],this._sourceFilterValue="",this._targetFilterValue="",this._filterListenersAttached=!1,this._optionTemplate=null}static get observedAttributes(){return["source","target","source-key","target-key","filter","filter-by","filter-placeholder","dragdrop","striped","selection-mode","show-select-all","source-label","target-label"]}set source(e){this._source=e,this._filteredSource=null,this.render()}get source(){return this._source}set target(e){this._target=e,this._filteredTarget=null,this.render()}get target(){return this._target}set sourceSelection(e){this._sourceSelection=e,this.render()}get sourceSelection(){return this._sourceSelection}set targetSelection(e){this._targetSelection=e,this.render()}get targetSelection(){return this._targetSelection}get sourceKey(){return this.getAttr("source-key","")}set sourceKey(e){this.setAttribute("source-key",e)}get targetKey(){return this.getAttr("target-key","")}set targetKey(e){this.setAttribute("target-key",e)}get filter(){return this.hasAttr("filter")}set filter(e){this.toggleAttr("filter",e)}get filterBy(){return this.getAttr("filter-by","label")}set filterBy(e){this.setAttribute("filter-by",e)}get filterPlaceholder(){return this.getAttr("filter-placeholder","Buscar...")}set filterPlaceholder(e){this.setAttribute("filter-placeholder",e)}get dragdrop(){return this.hasAttr("dragdrop")}set dragdrop(e){this.toggleAttr("dragdrop",e)}get striped(){return this.hasAttr("striped")}set striped(e){this.toggleAttr("striped",e)}get selectionMode(){const e=this.getAttr("selection-mode","");return e==="single"||e==="multiple"?e:""}set selectionMode(e){this.setAttribute("selection-mode",e)}get showSelectAll(){return this.hasAttr("show-select-all")}set showSelectAll(e){this.toggleAttr("show-select-all",e)}get sourceLabel(){return this.getAttr("source-label","Disponíveis")}set sourceLabel(e){this.setAttribute("source-label",e)}get targetLabel(){return this.getAttr("target-label","Selecionados")}set targetLabel(e){this.setAttribute("target-label",e)}get sourceFilterValue(){return this._sourceFilterValue}set sourceFilterValue(e){this._sourceFilterValue=e,this._applySourceFilter(),this._updateListDisplay()}get targetFilterValue(){return this._targetFilterValue}set targetFilterValue(e){this._targetFilterValue=e,this._applyTargetFilter(),this._updateListDisplay()}setOptionTemplate(e){this._optionTemplate=e,this.render()}connectedCallback(){this._parseSourceAttribute(),this._parseTargetAttribute(),super.connectedCallback()}attributeChangedCallback(e,t,r){this.getAttr("source","")!==""&&this._parseSourceAttribute(),this.getAttr("target","")!==""&&this._parseTargetAttribute(),super.attributeChangedCallback(e,t,r)}_parseSourceAttribute(){const e=this.getAttr("source","");if(e)try{this._source=JSON.parse(e),this._filteredSource=null}catch(t){this._source=[]}}_parseTargetAttribute(){const e=this.getAttr("target","");if(e)try{this._target=JSON.parse(e),this._filteredTarget=null}catch(t){this._target=[]}}_applySourceFilter(){if(!this._sourceFilterValue){this._filteredSource=null;return}const e=this.filterBy.split(",").map(t=>t.trim());this._filteredSource=this._source.filter(t=>e.some(r=>{const a=t[r];return a==null?!1:String(a).toLowerCase().includes(this._sourceFilterValue.toLowerCase())}))}_applyTargetFilter(){if(!this._targetFilterValue){this._filteredTarget=null;return}const e=this.filterBy.split(",").map(t=>t.trim());this._filteredTarget=this._target.filter(t=>e.some(r=>{const a=t[r];return a==null?!1:String(a).toLowerCase().includes(this._targetFilterValue.toLowerCase())}))}_getDisplaySource(){return this._filteredSource||this._source}_getDisplayTarget(){return this._filteredTarget||this._target}_getItemKey(e,t,r){const a=r?this.sourceKey:this.targetKey;return a&&e[a]!=null?String(e[a]):e.id!=null?String(e.id):e.key!=null?String(e.key):e.label!=null?String(e.label):e.name!=null?String(e.name):e.value!=null?String(e.value):String(t)}_getItemLabel(e){const t=["label","name","title","text","value"];for(const r of t)if(e[r]!=null)return String(e[r]);return JSON.stringify(e)}_isSourceSelected(e,t){return this._sourceSelection.some(r=>this._getItemKey(r,-1,!0)===this._getItemKey(e,t,!0))}_isTargetSelected(e,t){return this._targetSelection.some(r=>this._getItemKey(r,-1,!1)===this._getItemKey(e,t,!1))}_emitMoveToTarget(){this.dispatchEvent(new CustomEvent("move-to-target",{bubbles:!0,composed:!0,detail:{items:[...this._sourceSelection],source:[...this._source],target:[...this._target]}}))}_emitMoveToSource(){this.dispatchEvent(new CustomEvent("move-to-source",{bubbles:!0,composed:!0,detail:{items:[...this._targetSelection],source:[...this._source],target:[...this._target]}}))}_emitSelectionChangeSource(){this.dispatchEvent(new CustomEvent("selection-change-source",{bubbles:!0,composed:!0,detail:{selection:[...this._sourceSelection]}}))}_emitSelectionChangeTarget(){this.dispatchEvent(new CustomEvent("selection-change-target",{bubbles:!0,composed:!0,detail:{selection:[...this._targetSelection]}}))}render(){const e=this._getDisplaySource(),t=this._getDisplayTarget(),r=this.selectionMode,a=r==="multiple"&&this.showSelectAll,o=e.length===0?`<li class="empty-message">${this.filter?"Nenhum resultado":"Nenhum item"}</li>`:e.map((l,p)=>`<li class="list-item${this._isSourceSelected(l,p)?" selected":""}" data-index="${p}" data-list="source" tabindex="0">${r?'<input type="checkbox" class="checkbox"'+(this._isSourceSelected(l,p)?" checked":"")+" />":""}<span class="item-content">${this._optionTemplate?this._optionTemplate(l):h(this._getItemLabel(l))}</span></li>`).join(""),i=t.length===0?`<li class="empty-message">${this.filter?"Nenhum resultado":"Nenhum selecionado"}</li>`:t.map((l,p)=>`<li class="list-item${this._isTargetSelected(l,p)?" selected":""}" data-index="${p}" data-list="target" tabindex="0">${r?'<input type="checkbox" class="checkbox"'+(this._isTargetSelected(l,p)?" checked":"")+" />":""}<span class="item-content">${this._optionTemplate?this._optionTemplate(l):h(this._getItemLabel(l))}</span></li>`).join(""),s=a?`<div class="select-all-bar" part="select-all-bar"><label><input type="checkbox" class="select-all-checkbox" data-list="source" ${this._sourceSelection.length>0&&this._sourceSelection.length===this._source.length?"checked":""} aria-label="Selecionar todos da origem" /> Selecionar Todos</label><span class="selection-count">${this._sourceSelection.length} selecionado(s)</span></div>`:"",n=a?`<div class="select-all-bar" part="select-all-bar"><label><input type="checkbox" class="select-all-checkbox" data-list="target" ${this._targetSelection.length>0&&this._targetSelection.length===this._target.length?"checked":""} aria-label="Selecionar todos do destino" /> Selecionar Todos</label><span class="selection-count">${this._targetSelection.length} selecionado(s)</span></div>`:"";this.setTemplate(`<div class="container"><div class="list-container"><div class="list-label">${h(this.sourceLabel)} (${this._source.length})</div>${this.filter?'<div class="filter-wrapper"><input type="text" class="filter-input source-filter" placeholder="'+this.filterPlaceholder+'" value="'+h(this._sourceFilterValue)+'" /></div>':""}${s}<div class="list-wrapper"><ul class="list source-list" role="listbox" tabindex="0">${o}</ul></div></div><div class="controls"><div class="control-group"><button class="control-btn" data-action="move-all-target" part="control-btn" aria-label="Mover todos para destino"><span class="control-btn-icon">»</span></button><button class="control-btn" data-action="move-target" part="control-btn" aria-label="Mover para destino"><span class="control-btn-icon">→</span></button></div><div class="control-group"><button class="control-btn" data-action="move-source" part="control-btn" aria-label="Mover para origem"><span class="control-btn-icon">←</span></button><button class="control-btn" data-action="move-all-source" part="control-btn" aria-label="Mover todos para origem"><span class="control-btn-icon">«</span></button></div></div><div class="list-container"><div class="list-label">${h(this.targetLabel)} (${this._target.length})</div>${this.filter?'<div class="filter-wrapper"><input type="text" class="filter-input target-filter" placeholder="'+this.filterPlaceholder+'" value="'+h(this._targetFilterValue)+'" /></div>':""}${n}<div class="list-wrapper"><ul class="list target-list" role="listbox" tabindex="0">${i}</ul></div></div></div>`),this._attachListeners()}_attachListeners(){this._filterListenersAttached||(this._filterListenersAttached=!0,this.root.addEventListener("input",e=>{const t=e.target;if(t.classList.contains("select-all-checkbox")){this._handleSelectAll(t);return}t.classList.contains("source-filter")?this.sourceFilterValue=t.value:t.classList.contains("target-filter")&&(this.targetFilterValue=t.value)}),this.root.addEventListener("click",e=>{const t=e.target,r=t.closest(".control-btn");if(r){switch(r.dataset.action){case"move-target":this._moveToTarget();break;case"move-all-target":this._moveAllToTarget();break;case"move-source":this._moveToSource();break;case"move-all-source":this._moveAllToSource();break}return}const a=t.closest(".list-item");if(!a)return;const o=a.dataset.list==="source",i=Number(a.dataset.index),s=(o?this._getDisplaySource():this._getDisplayTarget())[i];o?this._toggleSourceSelection(s,i):this._toggleTargetSelection(s,i)})),this._updateControlsState()}_handleSelectAll(e){e.dataset.list==="source"?(this._sourceSelection=e.checked?[...this._getDisplaySource()]:[],this._emitSelectionChangeSource()):(this._targetSelection=e.checked?[...this._getDisplayTarget()]:[],this._emitSelectionChangeTarget()),this._updateSelectionDisplay(),this._updateControlsState()}_updateSelectionDisplay(){const e=(t,r,a)=>{t&&t.querySelectorAll(".list-item").forEach(o=>{const i=Number(o.dataset.index),s=r(a()[i],i);o.classList.toggle("selected",s),o.setAttribute("aria-selected",String(s));const n=o.querySelector(".checkbox");n&&(n.checked=s)})};e(this.root.querySelector(".source-list"),(t,r)=>this._isSourceSelected(t,r),()=>this._getDisplaySource()),e(this.root.querySelector(".target-list"),(t,r)=>this._isTargetSelected(t,r),()=>this._getDisplayTarget()),this._updateSelectAllBars()}_updateSelectAllBars(){if(!(this.selectionMode==="multiple"&&this.showSelectAll))return;[{el:this.root.querySelector('.select-all-checkbox[data-list="source"]'),total:this._source.length,sel:this._sourceSelection.length},{el:this.root.querySelector('.select-all-checkbox[data-list="target"]'),total:this._target.length,sel:this._targetSelection.length}].forEach(({el:t,total:r,sel:a})=>{var i;if(!t)return;t.checked=r>0&&a===r;const o=(i=t.closest(".select-all-bar"))==null?void 0:i.querySelector(".selection-count");o&&(o.textContent=`${a} selecionado(s)`)})}_updateControlsState(){this.root.querySelectorAll(".control-btn").forEach(e=>{const t=e.dataset.action;e.disabled=t==="move-target"&&this._sourceSelection.length===0||t==="move-all-target"&&this._source.length===0||t==="move-source"&&this._targetSelection.length===0||t==="move-all-source"&&this._target.length===0})}_moveToTarget(){if(!this._sourceSelection.length)return;const e=[...this._sourceSelection];this._source=this._source.filter(t=>!e.some(r=>this._getItemKey(r,-1,!0)===this._getItemKey(t,-1,!0))),this._target=[...this._target,...e],this._sourceSelection=[],this._filteredSource=null,this._filteredTarget=null,this._updateListDisplay(),this._updateControlsState(),this._emitMoveToTarget()}_moveToSource(){if(!this._targetSelection.length)return;const e=[...this._targetSelection];this._target=this._target.filter(t=>!e.some(r=>this._getItemKey(r,-1,!1)===this._getItemKey(t,-1,!1))),this._source=[...this._source,...e],this._targetSelection=[],this._filteredSource=null,this._filteredTarget=null,this._updateListDisplay(),this._updateControlsState(),this._emitMoveToSource()}_moveAllToTarget(){const e=[...this._source];this._source=[],this._target=[...this._target,...e],this._sourceSelection=[],this._filteredSource=null,this._filteredTarget=null,this._updateListDisplay(),this._updateControlsState(),this._emitMoveToTarget()}_moveAllToSource(){const e=[...this._target];this._target=[],this._source=[...this._source,...e],this._targetSelection=[],this._filteredSource=null,this._filteredTarget=null,this._updateListDisplay(),this._updateControlsState(),this._emitMoveToSource()}_toggleSourceSelection(e,t){const r=this.selectionMode||"single",a=this._getItemKey(e,t,!0),o=this._sourceSelection.findIndex(i=>this._getItemKey(i,-1,!0)===a);o>=0?this._sourceSelection.splice(o,1):r==="multiple"?this._sourceSelection.push(e):this._sourceSelection=[e],this._emitSelectionChangeSource(),this._updateSelectionDisplay(),this._updateControlsState()}_toggleTargetSelection(e,t){const r=this.selectionMode||"single",a=this._getItemKey(e,t,!1),o=this._targetSelection.findIndex(i=>this._getItemKey(i,-1,!1)===a);o>=0?this._targetSelection.splice(o,1):r==="multiple"?this._targetSelection.push(e):this._targetSelection=[e],this._emitSelectionChangeTarget(),this._updateSelectionDisplay(),this._updateControlsState()}_updateListDisplay(){var p,f;const e=(p=this.root.querySelector(".source-list"))==null?void 0:p.parentElement,t=(f=this.root.querySelector(".target-list"))==null?void 0:f.parentElement,r=this.root.querySelector(".list-container:first-of-type .list-label"),a=this.root.querySelector(".list-container:last-of-type .list-label");if(!e||!t){this.render();return}const o=this._getDisplaySource(),i=this._getDisplayTarget(),s=this.selectionMode,n=o.length===0?`<li class="empty-message" part="empty-message">${this.filter?"Nenhum resultado":"Nenhum item"}</li>`:o.map((_,c)=>`<li class="list-item${this._isSourceSelected(_,c)?" selected":""}" part="list-item" data-index="${c}" data-list="source" role="option" aria-selected="${this._isSourceSelected(_,c)}" tabindex="0">${s?'<input type="checkbox" class="checkbox" part="checkbox"'+(this._isSourceSelected(_,c)?" checked":"")+" />":""}<span class="item-content" part="item-content">${this._optionTemplate?this._optionTemplate(_):h(this._getItemLabel(_))}</span></li>`).join(""),l=i.length===0?`<li class="empty-message" part="empty-message">${this.filter?"Nenhum resultado":"Nenhum selecionado"}</li>`:i.map((_,c)=>`<li class="list-item${this._isTargetSelected(_,c)?" selected":""}" part="list-item" data-index="${c}" data-list="target" role="option" aria-selected="${this._isTargetSelected(_,c)}" tabindex="0">${s?'<input type="checkbox" class="checkbox" part="checkbox"'+(this._isTargetSelected(_,c)?" checked":"")+" />":""}<span class="item-content" part="item-content">${this._optionTemplate?this._optionTemplate(_):h(this._getItemLabel(_))}</span></li>`).join("");e.innerHTML=`<ul class="list source-list" role="listbox" tabindex="0">${n}</ul>`,t.innerHTML=`<ul class="list target-list" role="listbox" tabindex="0">${l}</ul>`,r&&(r.textContent=`${this.sourceLabel} (${this._source.length})`),a&&(a.textContent=`${this.targetLabel} (${this._target.length})`),this._updateSelectAllBars(),this._attachListeners()}};Et.styles=m`
3824
3881
  :host {
3825
3882
  display: block;
3826
3883
  font-family: var(--fx-font-family);
@@ -3936,7 +3993,7 @@
3936
3993
  .filter-input:focus {
3937
3994
  outline: none;
3938
3995
  border-color: var(--picklist-primary);
3939
- box-shadow: 0 0 0 3px color-mix(in srgb, var(--picklist-primary) 20%, transparent);
3996
+ box-shadow: var(--fx-effect-focus-ring, none);
3940
3997
  }
3941
3998
  .filter-input::placeholder {
3942
3999
  color: var(--picklist-text-muted);
@@ -4033,7 +4090,7 @@
4033
4090
  }
4034
4091
  button.control-btn:focus-visible {
4035
4092
  outline: none;
4036
- box-shadow: 0 0 0 3px color-mix(in srgb, var(--picklist-primary) 30%, transparent);
4093
+ box-shadow: var(--fx-effect-focus-ring, none);
4037
4094
  }
4038
4095
  button.control-btn:disabled {
4039
4096
  opacity: 0.3;
@@ -4072,7 +4129,7 @@
4072
4129
  to { opacity: 1; transform: translateX(0); }
4073
4130
  }
4074
4131
  .list-item { animation: slideIn 0.2s ease-out; }
4075
- `;let Ce=zt;function Xr(){return x("fx-picklist",Ce)}Xr();const St=class St extends b{constructor(){super(...arguments),this._mo=null,this._clickListenerAttached=!1}static get observedAttributes(){return["header","expanded","disabled"]}get header(){return this.getAttr("header","")}set header(e){this.setAttribute("header",e)}get value(){return this.getAttr("value","")}set value(e){this.setAttribute("value",e)}get expanded(){return this.hasAttr("expanded")}set expanded(e){this.toggleAttr("expanded",e)}get disabled(){return this.hasAttr("disabled")}set disabled(e){this.toggleAttr("disabled",e)}connectedCallback(){super.connectedCallback(),this._clickListenerAttached||(this._clickListenerAttached=!0,this.addEventListener("click",e=>{e.composedPath().some(r=>{var a;return(a=r.classList)==null?void 0:a.contains("header")})&&(this.disabled||this.dispatchEvent(new CustomEvent("fx-accordion-toggle",{bubbles:!0,composed:!0,detail:{panel:this}})))})),this._mo=new MutationObserver(()=>this.render()),this._mo.observe(this,{attributes:!0,attributeFilter:["expanded","header","disabled"]})}disconnectedCallback(){var e;(e=this._mo)==null||e.disconnect(),this._mo=null,super.disconnectedCallback()}render(){this.setTemplate(`
4132
+ `;let Te=Et;function ia(){return v("fx-picklist",Te)}ia();const Ct=class Ct extends b{constructor(){super(...arguments),this._mo=null,this._clickListenerAttached=!1}static get observedAttributes(){return["header","expanded","disabled"]}get header(){return this.getAttr("header","")}set header(e){this.setAttribute("header",e)}get value(){return this.getAttr("value","")}set value(e){this.setAttribute("value",e)}get expanded(){return this.hasAttr("expanded")}set expanded(e){this.toggleAttr("expanded",e)}get disabled(){return this.hasAttr("disabled")}set disabled(e){this.toggleAttr("disabled",e)}connectedCallback(){super.connectedCallback(),this._clickListenerAttached||(this._clickListenerAttached=!0,this.addEventListener("click",e=>{e.composedPath().some(r=>{var a;return(a=r.classList)==null?void 0:a.contains("header")})&&(this.disabled||this.dispatchEvent(new CustomEvent("fx-accordion-toggle",{bubbles:!0,composed:!0,detail:{panel:this}})))})),this._mo=new MutationObserver(()=>this.render()),this._mo.observe(this,{attributes:!0,attributeFilter:["expanded","header","disabled"]})}disconnectedCallback(){var e;(e=this._mo)==null||e.disconnect(),this._mo=null,super.disconnectedCallback()}render(){this.setTemplate(`
4076
4133
  <div class="panel" part="panel">
4077
4134
  <button type="button" class="header" part="header" role="button"
4078
4135
  aria-expanded="${this.expanded}"
@@ -4093,7 +4150,7 @@
4093
4150
  </div>
4094
4151
  </div>
4095
4152
  </div>
4096
- `)}};St.styles=m`
4153
+ `)}};Ct.styles=m`
4097
4154
  :host {
4098
4155
  display: block;
4099
4156
  font-family: var(--fx-font-family);
@@ -4161,11 +4218,11 @@
4161
4218
  color: var(--fx-text-muted);
4162
4219
  line-height: 1.6;
4163
4220
  }
4164
- `;let Le=St;const $t=class $t extends b{constructor(){super(...arguments),this._observer=null,this._initialized=!1,this._listenersAttached=!1}static get observedAttributes(){return["value","multiple"]}get multiple(){return this.hasAttr("multiple")}set multiple(e){this.toggleAttr("multiple",e)}get values(){return this.getAttr("value","").split(",").map(e=>e.trim()).filter(Boolean)}set values(e){this.setAttribute("value",e.join(","))}connectedCallback(){this._observer=new MutationObserver(()=>this._sync()),this._observer.observe(this,{childList:!0,subtree:!0}),super.connectedCallback(),queueMicrotask(()=>this._sync())}disconnectedCallback(){var e;(e=this._observer)==null||e.disconnect(),this._observer=null}render(){this.setTemplate(`
4221
+ `;let qe=Ct;const Lt=class Lt extends b{constructor(){super(...arguments),this._observer=null,this._initialized=!1,this._listenersAttached=!1}static get observedAttributes(){return["value","multiple"]}get multiple(){return this.hasAttr("multiple")}set multiple(e){this.toggleAttr("multiple",e)}get values(){return this.getAttr("value","").split(",").map(e=>e.trim()).filter(Boolean)}set values(e){this.setAttribute("value",e.join(","))}connectedCallback(){this._observer=new MutationObserver(()=>this._sync()),this._observer.observe(this,{childList:!0,subtree:!0}),super.connectedCallback(),queueMicrotask(()=>this._sync())}disconnectedCallback(){var e;(e=this._observer)==null||e.disconnect(),this._observer=null}render(){this.setTemplate(`
4165
4222
  <div class="accordion" part="accordion">
4166
4223
  <slot></slot>
4167
4224
  </div>
4168
- `),this._sync(),this._attachListeners()}get panels(){return Array.from(this.querySelectorAll("fx-accordion-panel"))}_sync(){const e=this.values,t=Array.from(this.querySelectorAll("fx-accordion-panel"));if(!this._initialized&&e.length===0&&t.length>0){this._initialized=!0;const r=t.find(a=>!a.hasAttribute("disabled"));if(r){this.values=[r.getAttribute("value")||"0"];return}}this._initialized=!0,t.forEach((r,a)=>{const o=r.getAttribute("value")||String(a);r.hasAttribute("value")||r.setAttribute("value",o),r.toggleAttribute("expanded",e.includes(o))})}_attachListeners(){this._listenersAttached||(this._listenersAttached=!0,this.addEventListener("fx-accordion-toggle",e=>{var r;const t=(r=e.detail)==null?void 0:r.panel;!t||t.disabled||this.toggle(t)}))}toggle(e){const t=e.value;let r=this.values;e.expanded?r=r.filter(a=>a!==t):this.multiple?r=[...r,t]:r=[t],this.values=r,this._sync(),this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0,detail:{value:r}}))}open(e){const t=this.panels.find((r,a)=>(r.value||String(a))===e);t&&!t.expanded&&this.toggle(t)}close(e){const t=this.panels.find((r,a)=>(r.value||String(a))===e);t&&t.expanded&&this.toggle(t)}};$t.styles=m`
4225
+ `),this._sync(),this._attachListeners()}get panels(){return Array.from(this.querySelectorAll("fx-accordion-panel"))}_sync(){const e=this.values,t=Array.from(this.querySelectorAll("fx-accordion-panel"));if(!this._initialized&&e.length===0&&t.length>0){this._initialized=!0;const r=t.find(a=>!a.hasAttribute("disabled"));if(r){this.values=[r.getAttribute("value")||"0"];return}}this._initialized=!0,t.forEach((r,a)=>{const o=r.getAttribute("value")||String(a);r.hasAttribute("value")||r.setAttribute("value",o),r.toggleAttribute("expanded",e.includes(o))})}_attachListeners(){this._listenersAttached||(this._listenersAttached=!0,this.addEventListener("fx-accordion-toggle",e=>{var r;const t=(r=e.detail)==null?void 0:r.panel;!t||t.disabled||this.toggle(t)}))}toggle(e){const t=e.value;let r=this.values;e.expanded?r=r.filter(a=>a!==t):this.multiple?r=[...r,t]:r=[t],this.values=r,this._sync(),this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0,detail:{value:r}}))}open(e){const t=this.panels.find((r,a)=>(r.value||String(a))===e);t&&!t.expanded&&this.toggle(t)}close(e){const t=this.panels.find((r,a)=>(r.value||String(a))===e);t&&t.expanded&&this.toggle(t)}};Lt.styles=m`
4169
4226
  :host {
4170
4227
  display: block;
4171
4228
  font-family: var(--fx-font-family);
@@ -4178,4 +4235,4 @@
4178
4235
  overflow: hidden;
4179
4236
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
4180
4237
  }
4181
- `;let Te=$t;function Ur(){return x("fx-accordion",Te)}function Jr(){return x("fx-accordion-panel",Le)}Ur(),Jr();const qt=["10k","10mp","11mp","123","12mp","13mp","14mp","15mp","16mp","17mp","18_up_rating","18mp","19mp","1k","1k_plus","1x_mobiledata","1x_mobiledata_badge","20mp","21mp","22mp","23mp","24fps_select","24mp","2d","2d_2","2k","2k_plus","2mp","30fps","30fps_select","360","3d","3d_2","3d_rotation","3g_mobiledata","3g_mobiledata_badge","3k","3k_plus","3mp","3p","4g_mobiledata","4g_mobiledata_badge","4g_plus_mobiledata","4k","4k_plus","4mp","50mp","5g","5g_mobiledata_badge","5k","5k_plus","5mp","60fps","60fps_select","6_ft_apart","6k","6k_plus","6mp","7k","7k_plus","7mp","8k","8k_plus","8mp","9k","9k_plus","9mp","abc","ac_unit","access_alarm","access_alarms","access_time","access_time_filled","accessibility","accessibility_new","accessible","accessible_forward","accessible_menu","account_balance","account_balance_wallet","account_box","account_child","account_child_invert","account_circle","account_circle_filled","account_circle_off","account_tree","action_key","activity_zone","acupuncture","acute","ad","ad_group","ad_group_off","ad_off","ad_units","adaptive_audio_mic","adaptive_audio_mic_off","adb","add","add_2","add_a_photo","add_ad","add_alarm","add_alert","add_box","add_business","add_call","add_card","add_chart","add_circle","add_circle_outline","add_column_left","add_column_right","add_comment","add_diamond","add_home","add_home_work","add_ic_call","add_link","add_location","add_location_alt","add_moderator","add_notes","add_photo_alternate","add_reaction","add_road","add_row_above","add_row_below","add_shopping_cart","add_task","add_to_drive","add_to_home_screen","add_to_photos","add_to_queue","add_triangle","addchart","adf_scanner","adjust","admin_meds","admin_panel_settings","ads_click","agender","agriculture","air","air_freshener","air_purifier","air_purifier_gen","airline_seat_flat","airline_seat_flat_angled","airline_seat_individual_suite","airline_seat_legroom_extra","airline_seat_legroom_normal","airline_seat_legroom_reduced","airline_seat_recline_extra","airline_seat_recline_normal","airline_stops","airlines","airplane_ticket","airplanemode_active","airplanemode_inactive","airplay","airport_shuttle","airware","airwave","alarm","alarm_add","alarm_off","alarm_on","alarm_pause","alarm_smart_wake","album","align_center","align_end","align_flex_center","align_flex_end","align_flex_start","align_horizontal_center","align_horizontal_left","align_horizontal_right","align_items_stretch","align_justify_center","align_justify_flex_end","align_justify_flex_start","align_justify_space_around","align_justify_space_between","align_justify_space_even","align_justify_stretch","align_self_stretch","align_space_around","align_space_between","align_space_even","align_start","align_stretch","align_vertical_bottom","align_vertical_center","align_vertical_top","all_inbox","all_inclusive","all_match","all_out","allergies","allergy","alt_route","alternate_email","altitude","ambient_screen","ambulance","amend","amp_stories","analytics","anchor","android","android_cell_4_bar","android_cell_4_bar_alert","android_cell_4_bar_off","android_cell_4_bar_plus","android_cell_5_bar","android_cell_5_bar_alert","android_cell_5_bar_off","android_cell_5_bar_plus","android_cell_dual_4_bar","android_cell_dual_4_bar_alert","android_cell_dual_4_bar_plus","android_cell_dual_5_bar","android_cell_dual_5_bar_alert","android_cell_dual_5_bar_plus","android_wifi_3_bar","android_wifi_3_bar_alert","android_wifi_3_bar_lock","android_wifi_3_bar_off","android_wifi_3_bar_plus","android_wifi_3_bar_question","android_wifi_4_bar","android_wifi_4_bar_alert","android_wifi_4_bar_lock","android_wifi_4_bar_off","android_wifi_4_bar_plus","android_wifi_4_bar_question","animated_images","animation","announcement","antigravity","aod","aod_tablet","aod_watch","apartment","api","apk_document","apk_install","app_badging","app_blocking","app_promo","app_registration","app_settings_alt","app_shortcut","apparel","approval","approval_delegation","approval_delegation_off","apps","apps_outage","aq","aq_indoor","ar_on_you","ar_stickers","architecture","archive","area_chart","arming_countdown","arrow_and_edge","arrow_back","arrow_back_2","arrow_back_ios","arrow_back_ios_new","arrow_circle_down","arrow_circle_left","arrow_circle_right","arrow_circle_up","arrow_cool_down","arrow_downward","arrow_downward_alt","arrow_drop_down","arrow_drop_down_circle","arrow_drop_up","arrow_forward","arrow_forward_ios","arrow_insert","arrow_left","arrow_left_alt","arrow_menu_close","arrow_menu_open","arrow_or_edge","arrow_outward","arrow_range","arrow_right","arrow_right_alt","arrow_selector_tool","arrow_shape_up","arrow_shape_up_stack","arrow_shape_up_stack_2","arrow_split","arrow_top_left","arrow_top_right","arrow_upload_progress","arrow_upload_ready","arrow_upward","arrow_upward_alt","arrow_warm_up","arrows_input","arrows_left_right_circle","arrows_more_down","arrows_more_up","arrows_output","arrows_outward","arrows_up_down_circle","art_track","article","article_person","article_shortcut","artist","aspect_ratio","assessment","assignment","assignment_add","assignment_globe","assignment_ind","assignment_late","assignment_return","assignment_returned","assignment_turned_in","assist_walker","assistant","assistant_device","assistant_direction","assistant_navigation","assistant_on_hub","assistant_photo","assured_workload","asterisk","astrophotography_auto","astrophotography_off","atm","atr","attach_email","attach_file","attach_file_add","attach_file_off","attach_money","attachment","attractions","attribution","audio_capture","audio_description","audio_file","audio_video_receiver","audiotrack","auto_activity_zone","auto_awesome","auto_awesome_mosaic","auto_awesome_motion","auto_delete","auto_detect_voice","auto_draw_solid","auto_fix","auto_fix_high","auto_fix_normal","auto_fix_off","auto_graph","auto_label","auto_meeting_room","auto_mode","auto_read_pause","auto_read_play","auto_schedule","auto_stories","auto_stories_off","auto_timer","auto_towing","auto_transmission","auto_videocam","autofps_select","automation","autopause","autopay","autoplay","autorenew","autostop","av1","av_timer","avc","avg_pace","avg_time","avocado_bean","award_meal","award_star","azm","b_circle","baby_changing_station","back_hand","back_to_tab","background_dot_large","background_dot_small","background_grid_small","background_replace","backlight_high","backlight_high_off","backlight_low","backpack","backspace","backup","backup_table","badge","badge_critical_battery","badminton","bakery_dining","balance","balcony","ballot","bar_chart","bar_chart_4_bars","bar_chart_off","barcode","barcode_reader","barcode_scanner","barefoot","batch_prediction","bath_bedrock","bath_outdoor","bath_private","bath_public_large","bath_soak","bathroom","bathtub","battery_0_bar","battery_1_bar","battery_20","battery_2_bar","battery_30","battery_3_bar","battery_4_bar","battery_50","battery_5_bar","battery_60","battery_6_bar","battery_80","battery_90","battery_alert","battery_android_0","battery_android_1","battery_android_2","battery_android_3","battery_android_4","battery_android_5","battery_android_6","battery_android_alert","battery_android_bolt","battery_android_frame_1","battery_android_frame_2","battery_android_frame_3","battery_android_frame_4","battery_android_frame_5","battery_android_frame_6","battery_android_frame_alert","battery_android_frame_bolt","battery_android_frame_full","battery_android_frame_plus","battery_android_frame_question","battery_android_frame_share","battery_android_frame_shield","battery_android_full","battery_android_plus","battery_android_question","battery_android_share","battery_android_shield","battery_change","battery_charging_20","battery_charging_20_2","battery_charging_30","battery_charging_30_2","battery_charging_50","battery_charging_50_2","battery_charging_60","battery_charging_60_2","battery_charging_80","battery_charging_80_2","battery_charging_90","battery_charging_full","battery_charging_full_2","battery_error","battery_full","battery_full_alt","battery_horiz_000","battery_horiz_050","battery_horiz_075","battery_low","battery_plus","battery_profile","battery_saver","battery_share","battery_status_good","battery_std","battery_unknown","battery_vert_005","battery_vert_020","battery_vert_050","battery_very_low","beach_access","bed","bedroom_baby","bedroom_child","bedroom_parent","bedtime","bedtime_off","beenhere","beer_meal","bento","bia","bid_landscape","bid_landscape_disabled","bigtop_updates","bike_dock","bike_lane","bike_scooter","biotech","blanket","blender","blind","blinds","blinds_2","blinds_2_closed","blinds_closed","block","blood_pressure","bloodtype","bluetooth","bluetooth_audio","bluetooth_connected","bluetooth_disabled","bluetooth_drive","bluetooth_searching","blur_circular","blur_linear","blur_medium","blur_off","blur_on","blur_short","boat_bus","boat_railway","body_fat","body_system","bolt","bolt_boost","bomb","book","book_2","book_3","book_4","book_5","book_6","book_online","book_ribbon","bookmark","bookmark_add","bookmark_added","bookmark_bag","bookmark_border","bookmark_check","bookmark_flag","bookmark_heart","bookmark_manager","bookmark_remove","bookmark_stacks","bookmark_star","bookmarks","books_movies_and_music","border_all","border_bottom","border_clear","border_color","border_horizontal","border_inner","border_left","border_outer","border_right","border_style","border_top","border_vertical","borg","bottom_app_bar","bottom_drawer","bottom_navigation","bottom_panel_close","bottom_panel_open","bottom_right_click","bottom_sheets","box","box_add","box_edit","boy","brand_awareness","brand_family","branding_watermark","breakfast_dining","breaking_news","breaking_news_alt_1","breastfeeding","brick","briefcase_meal","brightness_1","brightness_2","brightness_3","brightness_4","brightness_5","brightness_6","brightness_7","brightness_alert","brightness_auto","brightness_empty","brightness_high","brightness_low","brightness_medium","bring_your_own_ip","broadcast_on_home","broadcast_on_personal","broken_image","browse","browse_activity","browse_gallery","browser_not_supported","browser_updated","brunch_dining","brush","bubble","bubble_chart","bubbles","bucket_check","bug_report","build","build_circle","bullet_chart","bungalow","burst_mode","bus_alert","bus_map_pin","bus_railway","business","business_center","business_chip","business_messages","buttons_alt","cabin","cable","cable_car","cached","cadence","cake","cake_add","calculate","calendar_add_on","calendar_apps_script","calendar_check","calendar_clock","calendar_lock","calendar_meal","calendar_meal_2","calendar_month","calendar_today","calendar_view_day","calendar_view_month","calendar_view_week","call","call_end","call_end_alt","call_log","call_made","call_merge","call_missed","call_missed_outgoing","call_quality","call_received","call_split","call_to_action","camera","camera_alt","camera_enhance","camera_front","camera_indoor","camera_outdoor","camera_rear","camera_roll","camera_video","cameraswitch","campaign","camping","cancel","cancel_presentation","cancel_schedule_send","candle","candlestick_chart","cannabis","captive_portal","capture","car_crash","car_defrost_left","car_defrost_low_left","car_defrost_low_right","car_defrost_mid_left","car_defrost_mid_low_left","car_defrost_mid_low_right","car_defrost_mid_right","car_defrost_right","car_fan_low_left","car_fan_low_mid_left","car_fan_low_right","car_fan_mid_left","car_fan_mid_low_right","car_fan_mid_right","car_fan_recirculate","car_fan_recirculate_2","car_gear","car_lock","car_mirror_heat","car_rental","car_repair","car_seat_off","car_tag","card_giftcard","card_membership","card_travel","cardio_load","cardiology","cards","cards_stack","cards_star","carpenter","carry_on_bag","carry_on_bag_checked","carry_on_bag_inactive","carry_on_bag_question","cases","casino","cast","cast_connected","cast_for_education","cast_pause","cast_warning","castle","category","category_search","celebration","cell_merge","cell_tower","cell_wifi","center_focus_strong","center_focus_weak","chair","chair_alt","chair_counter","chair_fireplace","chair_umbrella","chalet","change_circle","change_history","charger","charging_station","chart_data","chat","chat_add_on","chat_apps_script","chat_bubble","chat_bubble_off","chat_bubble_outline","chat_dashed","chat_error","chat_info","chat_paste_go","chat_paste_go_2","check","check_alert","check_box","check_box_outline_blank","check_circle","check_circle_filled","check_circle_outline","check_circle_unread","check_in_out","check_indeterminate_small","check_small","checkbook","checked_bag","checked_bag_question","checklist","checklist_rtl","checkroom","cheer","chef_hat","chess","chess_bishop","chess_bishop_2","chess_king","chess_king_2","chess_knight","chess_pawn","chess_pawn_2","chess_queen","chess_rook","chevron_backward","chevron_forward","chevron_left","chevron_line_up","chevron_right","child_care","child_friendly","child_hat","chip_extraction","chips","chrome_reader_mode","chromecast_2","chromecast_device","chronic","church","cinematic_blur","circle","circle_circle","circle_notifications","circles","circles_ext","clarify","class","clean_hands","cleaning","cleaning_bucket","cleaning_services","clear","clear_all","clear_day","clear_night","climate_mini_split","clinical_notes","clock_arrow_down","clock_arrow_up","clock_loader_10","clock_loader_20","clock_loader_40","clock_loader_60","clock_loader_80","clock_loader_90","close","close_fullscreen","close_small","closed_caption","closed_caption_add","closed_caption_disabled","closed_caption_off","cloud","cloud_alert","cloud_circle","cloud_done","cloud_download","cloud_lock","cloud_off","cloud_queue","cloud_sync","cloud_upload","cloudy","cloudy_filled","cloudy_snowing","co2","co_present","code","code_blocks","code_off","code_xml","coffee","coffee_maker","cognition","cognition_2","collapse_all","collapse_content","collections","collections_bookmark","color_lens","colorize","colors","combine_columns","comedy_mask","comic_bubble","comment","comment_bank","comments_disabled","commit","communication","communities","communities_filled","commute","compare","compare_arrows","compass_calibration","component_exchange","compost","compress","computer","computer_arrow_up","computer_cancel","computer_sound","concierge","conditions","confirmation_number","congenital","connect_without_contact","connected_tv","connecting_airports","construction","contact_emergency","contact_mail","contact_page","contact_phone","contact_phone_filled","contact_support","contactless","contactless_off","contacts","contacts_product","content_copy","content_cut","content_paste","content_paste_go","content_paste_off","content_paste_search","contextual_token","contextual_token_add","contract","contract_delete","contract_edit","contrast","contrast_circle","contrast_rtl_off","contrast_square","control_camera","control_point","control_point_duplicate","controller_gen","conversation","conversion_path","conversion_path_off","convert_to_text","conveyor_belt","cookie","cookie_off","cooking","cool_to_dry","copy_all","copyright","coronavirus","corporate_fare","cottage","counter_0","counter_1","counter_2","counter_3","counter_4","counter_5","counter_6","counter_7","counter_8","counter_9","countertops","create","create_new_folder","credit_card","credit_card_clock","credit_card_gear","credit_card_heart","credit_card_off","credit_score","crib","crisis_alert","crop","crop_16_9","crop_21_9","crop_2_3","crop_3_2","crop_5_4","crop_7_5","crop_9_16","crop_din","crop_free","crop_landscape","crop_original","crop_portrait","crop_rotate","crop_square","crossword","crowdsource","crown","cruelty_free","css","csv","currency_bitcoin","currency_exchange","currency_franc","currency_lira","currency_pound","currency_ruble","currency_rupee","currency_rupee_circle","currency_yen","currency_yuan","curtains","curtains_closed","custom_typography","cut","cycle","cyclone","dangerous","dark_mode","dashboard","dashboard_2","dashboard_2_add","dashboard_2_edit","dashboard_2_gear","dashboard_customize","data_alert","data_array","data_check","data_exploration","data_info_alert","data_loss_prevention","data_object","data_saver_off","data_saver_on","data_table","data_thresholding","data_usage","database","database_off","database_search","database_upload","dataset","dataset_linked","date_range","deblur","deceased","decimal_decrease","decimal_increase","deck","dehaze","delete","delete_forever","delete_history","delete_outline","delete_sweep","delivery_dining","delivery_truck_bolt","delivery_truck_speed","demography","density_large","density_medium","density_small","dentistry","departure_board","deployed_code","deployed_code_account","deployed_code_alert","deployed_code_history","deployed_code_update","dermatology","description","deselect","design_services","desk","deskphone","desktop_access_disabled","desktop_cloud","desktop_cloud_stack","desktop_landscape","desktop_landscape_add","desktop_mac","desktop_portrait","desktop_windows","destruction","details","detection_and_zone","detection_and_zone_off","detector","detector_alarm","detector_battery","detector_co","detector_offline","detector_smoke","detector_status","developer_board","developer_board_off","developer_guide","developer_mode","developer_mode_tv","device_band","device_hub","device_reset","device_thermostat","device_unknown","devices","devices_fold","devices_fold_2","devices_off","devices_other","devices_wearables","dew_point","diagnosis","diagonal_line","dialer_sip","dialogs","dialpad","diamond","diamond_shine","dictionary","difference","digital_out_of_home","digital_wellbeing","dine_heart","dine_in","dine_lamp","dining","dinner_dining","directions","directions_alt","directions_alt_off","directions_bike","directions_boat","directions_boat_filled","directions_bus","directions_bus_filled","directions_car","directions_car_filled","directions_off","directions_railway","directions_railway_2","directions_railway_filled","directions_run","directions_subway","directions_subway_filled","directions_transit","directions_transit_filled","directions_walk","directory_sync","dirty_lens","disabled_by_default","disabled_visible","disc_full","discover_tune","dishwasher","dishwasher_gen","display_add","display_external_input","display_settings","distance","diversity_1","diversity_2","diversity_3","diversity_4","dns","do_disturb","do_disturb_alt","do_disturb_off","do_disturb_on","do_not_disturb","do_not_disturb_alt","do_not_disturb_off","do_not_disturb_on","do_not_disturb_on_total_silence","do_not_step","do_not_touch","dock","dock_to_bottom","dock_to_left","dock_to_right","docs","docs_add_on","docs_apps_script","document_scanner","document_search","domain","domain_add","domain_disabled","domain_disabled_check","domain_verification","domain_verification_off","domino_mask","done","done_all","done_outline","donut_large","donut_small","door_back","door_front","door_open","door_sensor","door_sliding","doorbell","doorbell_3p","doorbell_chime","double_arrow","downhill_skiing","download","download_2","download_done","download_for_offline","downloading","draft","draft_orders","drafts","drag_click","drag_handle","drag_indicator","drag_pan","draw","draw_abstract","draw_collage","drawing_recognition","dresser","drive_eta","drive_export","drive_file_move","drive_file_move_outline","drive_file_move_rtl","drive_file_rename","drive_file_rename_outline","drive_folder_upload","drone","drone_2","dropdown","dropdown_menu","dropper_eye","dry","dry_cleaning","dual_screen","duo","dvr","dynamic_feed","dynamic_form","e911_avatar","e911_emergency","e_mobiledata","e_mobiledata_badge","ear_sound","earbud_case","earbud_left","earbud_right","earbuds","earbuds_2","earbuds_battery","early_on","earthquake","east","ecg","ecg_heart","eco","eda","edgesensor_high","edgesensor_low","edit","edit_arrow_down","edit_arrow_up","edit_attributes","edit_audio","edit_calendar","edit_document","edit_location","edit_location_alt","edit_note","edit_notifications","edit_off","edit_road","edit_square","editor_choice","egg","egg_alt","eject","elderly","elderly_woman","electric_bike","electric_bolt","electric_car","electric_meter","electric_moped","electric_rickshaw","electric_scooter","electrical_services","elevation","elevator","email","emergency","emergency_heat","emergency_heat_2","emergency_home","emergency_recording","emergency_share","emergency_share_off","emoji_emotions","emoji_events","emoji_flags","emoji_food_beverage","emoji_language","emoji_nature","emoji_objects","emoji_people","emoji_symbols","emoji_transportation","emoticon","empty_dashboard","enable","encrypted","encrypted_add","encrypted_add_circle","encrypted_minus_circle","encrypted_off","endocrinology","energy","energy_program_saving","energy_program_time_used","energy_savings_leaf","engineering","enhanced_encryption","ent","enterprise","enterprise_off","equal","equalizer","eraser_size_1","eraser_size_2","eraser_size_3","eraser_size_4","eraser_size_5","error","error_circle_rounded","error_med","error_outline","escalator","escalator_warning","euro","euro_symbol","ev_charger","ev_mobiledata_badge","ev_shadow","ev_shadow_add","ev_shadow_minus","ev_station","event","event_available","event_busy","event_list","event_note","event_repeat","event_seat","event_upcoming","exclamation","exercise","exit_to_app","expand","expand_all","expand_circle_down","expand_circle_right","expand_circle_up","expand_content","expand_less","expand_more","expansion_panels","expension_panels","experiment","explicit","explore","explore_nearby","explore_off","explosion","export_notes","exposure","exposure_neg_1","exposure_neg_2","exposure_plus_1","exposure_plus_2","exposure_zero","extension","extension_off","eye_tracking","eyebrow","eyeglasses","eyeglasses_2","eyeglasses_2_sound","eyeglasses_3","face","face_2","face_3","face_4","face_5","face_6","face_down","face_left","face_nod","face_retouching_natural","face_retouching_off","face_right","face_shake","face_unlock","face_up","fact_check","factory","falling","familiar_face_and_zone","family_group","family_history","family_home","family_link","family_restroom","family_star","fan_focus","fan_indirect","farsight_digital","fast_forward","fast_rewind","fastfood","faucet","favorite","favorite_border","fax","feature_search","featured_play_list","featured_seasonal_and_gifts","featured_video","feed","feedback","female","femur","femur_alt","fence","fertile","festival","fiber_dvr","fiber_manual_record","fiber_new","fiber_pin","fiber_smart_record","file_copy","file_copy_off","file_download","file_download_done","file_download_off","file_export","file_json","file_map","file_map_stack","file_open","file_png","file_present","file_save","file_save_off","file_upload","file_upload_off","files","filter","filter_1","filter_2","filter_3","filter_4","filter_5","filter_6","filter_7","filter_8","filter_9","filter_9_plus","filter_alt","filter_alt_off","filter_arrow_right","filter_b_and_w","filter_center_focus","filter_drama","filter_frames","filter_hdr","filter_list","filter_list_alt","filter_list_off","filter_none","filter_retrolux","filter_tilt_shift","filter_vintage","finance","finance_chip","finance_mode","find_in_page","find_replace","fingerprint","fingerprint_off","fire_check","fire_extinguisher","fire_hydrant","fire_truck","fireplace","first_page","fit_page","fit_page_height","fit_page_width","fit_screen","fit_width","fitness_center","fitness_tracker","fitness_trackers","flag","flag_2","flag_check","flag_circle","flag_filled","flaky","flare","flash_auto","flash_off","flash_on","flashlight_off","flashlight_on","flatware","flex_direction","flex_no_wrap","flex_wrap","flight","flight_class","flight_land","flight_takeoff","flights_and_hotels","flightsmode","flip","flip_camera_android","flip_camera_ios","flip_to_back","flip_to_front","float_landscape_2","float_portrait_2","flood","floor","floor_lamp","flourescent","flowchart","flowsheet","fluid","fluid_balance","fluid_med","fluorescent","flutter","flutter_dash","flyover","fmd_bad","fmd_good","foggy","folded_hands","folder","folder_check","folder_check_2","folder_code","folder_copy","folder_data","folder_delete","folder_eye","folder_info","folder_limited","folder_managed","folder_match","folder_off","folder_open","folder_shared","folder_special","folder_supervised","folder_zip","follow_the_signs","font_download","font_download_off","food_bank","foot_bones","footprint","for_you","forest","fork_chart","fork_left","fork_right","fork_spoon","forklift","format_align_center","format_align_justify","format_align_left","format_align_right","format_bold","format_clear","format_color_fill","format_color_reset","format_color_text","format_h1","format_h2","format_h3","format_h4","format_h5","format_h6","format_image_back","format_image_break_left","format_image_break_right","format_image_front","format_image_inline_left","format_image_inline_right","format_image_left","format_image_right","format_indent_decrease","format_indent_increase","format_ink_highlighter","format_italic","format_letter_spacing","format_letter_spacing_2","format_letter_spacing_standard","format_letter_spacing_wide","format_letter_spacing_wider","format_line_spacing","format_list_bulleted","format_list_bulleted_add","format_list_numbered","format_list_numbered_rtl","format_overline","format_paint","format_paint_off","format_paragraph","format_quote","format_quote_off","format_shapes","format_size","format_strikethrough","format_text_clip","format_text_overflow","format_text_wrap","format_textdirection_l_to_r","format_textdirection_r_to_l","format_textdirection_vertical","format_underlined","format_underlined_squiggle","forms_add_on","forms_apps_script","fort","forum","forward","forward_10","forward_30","forward_5","forward_circle","forward_media","forward_to_inbox","foundation","fragrance","frame_bug","frame_exclamation","frame_inspect","frame_person","frame_person_mic","frame_person_off","frame_reload","frame_source","free_breakfast","free_cancellation","front_hand","front_loader","full_coverage","full_hd","full_stacked_bar_chart","fullscreen","fullscreen_exit","fullscreen_portrait","function","functions","funicular","g_mobiledata","g_mobiledata_badge","g_translate","gallery_thumbnail","game_bumper_left","game_bumper_right","game_button_l","game_button_l1","game_button_l2","game_button_r","game_button_r1","game_button_r2","game_button_zl","game_button_zr","game_stick_l3","game_stick_left","game_stick_r3","game_stick_right","game_trigger_left","game_trigger_right","gamepad","gamepad_circle_down","gamepad_circle_left","gamepad_circle_right","gamepad_circle_up","gamepad_down","gamepad_left","gamepad_right","gamepad_up","games","garage","garage_check","garage_door","garage_door_open","garage_home","garage_money","garden_cart","gas_meter","gastroenterology","gate","gavel","general_device","generating_tokens","genetics","genres","gesture","gesture_select","get_app","gif","gif_2","gif_box","girl","gite","glass_cup","globe","globe_2_cancel","globe_2_question","globe_asia","globe_book","globe_clock","globe_location_pin","globe_uk","glucose","glyphs","go_to_line","golf_course","gondola_lift","google_home_devices","google_plus_reshare","google_tv_remote","google_wifi","gpp_bad","gpp_good","gpp_maybe","gps_fixed","gps_not_fixed","gps_off","grade","gradient","grading","grain","graph_1","graph_2","graph_3","graph_4","graph_5","graph_6","graph_7","graph_8","graphic_eq","graphic_eq_off","grass","grid_3x3","grid_3x3_off","grid_4x4","grid_goldenratio","grid_guides","grid_layout_side","grid_off","grid_on","grid_view","grocery","group","group_add","group_off","group_remove","group_search","group_work","grouped_bar_chart","groups","groups_2","groups_3","guardian","gynecology","h_mobiledata","h_mobiledata_badge","h_plus_mobiledata","h_plus_mobiledata_badge","hail","hallway","hanami_dango","hand_bones","hand_gesture","hand_gesture_off","hand_meal","hand_package","handheld_controller","handshake","handwriting_recognition","handyman","hangout_video","hangout_video_off","hard_disk","hard_drive","hard_drive_2","hardware","hd","hdr_auto","hdr_auto_select","hdr_enhanced_select","hdr_off","hdr_off_select","hdr_on","hdr_on_select","hdr_plus","hdr_plus_off","hdr_strong","hdr_weak","head_mounted_device","headphones","headphones_battery","headset","headset_mic","headset_off","healing","health_and_beauty","health_and_safety","health_cross","health_metrics","heap_snapshot_large","heap_snapshot_multiple","heap_snapshot_thumbnail","hearing","hearing_aid","hearing_aid_disabled","hearing_aid_disabled_left","hearing_aid_left","hearing_disabled","heart_broken","heart_check","heart_minus","heart_plus","heart_smile","heat","heat_pump","heat_pump_balance","height","helicopter","help","help_center","help_clinic","help_outline","hematology","hevc","hexagon","hide","hide_image","hide_source","high_chair","high_density","high_quality","high_quality_off","high_res","highlight","highlight_alt","highlight_keyboard_focus","highlight_mouse_cursor","highlight_off","highlight_text_cursor","highlighter_size_1","highlighter_size_2","highlighter_size_3","highlighter_size_4","highlighter_size_5","hiking","history","history_2","history_edu","history_off","history_toggle_off","hive","hls","hls_off","holiday_village","home","home_and_garden","home_app_logo","home_filled","home_health","home_improvement_and_tools","home_iot_device","home_max","home_max_dots","home_mini","home_pin","home_repair_service","home_speaker","home_storage","home_storage_gear","home_work","horizontal_align_center","horizontal_align_left","horizontal_align_right","horizontal_distribute","horizontal_rule","horizontal_split","host","hot_tub","hotel","hotel_class","hourglass","hourglass_arrow_down","hourglass_arrow_up","hourglass_bottom","hourglass_check","hourglass_disabled","hourglass_empty","hourglass_full","hourglass_pause","hourglass_top","house","house_siding","house_with_shield","houseboat","household_supplies","hov","how_to_reg","how_to_vote","hr_resting","html","http","https","hub","humerus","humerus_alt","humidity_high","humidity_indoor","humidity_low","humidity_mid","humidity_percentage","hvac","hvac_max_defrost","ice_skating","icecream","id_card","id_card_2","identity_aware_proxy","identity_platform","ifl","iframe","iframe_off","image","image_arrow_up","image_aspect_ratio","image_inset","image_not_supported","image_search","imagesearch_roller","imagesmode","immunology","import_contacts","import_export","important_devices","in_home_mode","inactive_order","inbox","inbox_customize","inbox_text","inbox_text_asterisk","inbox_text_person","inbox_text_share","incomplete_circle","indeterminate_check_box","indeterminate_question_box","info","info_i","infrared","ink_eraser","ink_eraser_off","ink_highlighter","ink_highlighter_move","ink_highlighter_off","ink_marker","ink_pen","ink_selection","inpatient","input","input_circle","insert_chart","insert_chart_filled","insert_chart_outlined","insert_comment","insert_drive_file","insert_emoticon","insert_invitation","insert_link","insert_page_break","insert_photo","insert_text","insights","install_desktop","install_mobile","instant_mix","integration_instructions","interactive_space","interests","interpreter_mode","inventory","inventory_2","invert_colors","invert_colors_off","ios","ios_share","iron","iso","jamboard_kiosk","japanese_curry","japanese_flag","javascript","jewelry","join","join_full","join_inner","join_left","join_right","joystick","jump_to_element","kanji_alcohol","kayaking","kebab_dining","keep","keep_off","keep_pin","keep_public","kettle","key","key_off","key_vertical","key_visualizer","keyboard","keyboard_alt","keyboard_arrow_down","keyboard_arrow_left","keyboard_arrow_right","keyboard_arrow_up","keyboard_backspace","keyboard_capslock","keyboard_capslock_badge","keyboard_command_key","keyboard_control_key","keyboard_double_arrow_down","keyboard_double_arrow_left","keyboard_double_arrow_right","keyboard_double_arrow_up","keyboard_external_input","keyboard_full","keyboard_hide","keyboard_keys","keyboard_lock","keyboard_lock_off","keyboard_off","keyboard_onscreen","keyboard_option_key","keyboard_previous_language","keyboard_return","keyboard_tab","keyboard_tab_rtl","keyboard_voice","kid_star","king_bed","kitchen","kitesurfing","lab_panel","lab_profile","lab_research","label","label_important","label_important_outline","label_off","label_outline","labs","lan","landscape","landscape_2","landscape_2_edit","landscape_2_off","landslide","language","language_chinese_array","language_chinese_cangjie","language_chinese_dayi","language_chinese_pinyin","language_chinese_quick","language_chinese_wubi","language_french","language_gb_english","language_international","language_japanese_kana","language_korean_latin","language_pinyin","language_spanish","language_us","language_us_colemak","language_us_dvorak","laps","laptop","laptop_car","laptop_chromebook","laptop_mac","laptop_windows","lasso_select","last_page","launch","laundry","layers","layers_clear","lda","leaderboard","leak_add","leak_remove","left_click","left_panel_close","left_panel_open","legend_toggle","lens","lens_blur","letter_switch","library_add","library_add_check","library_books","library_music","license","lift_to_talk","light","light_group","light_group_2","light_mode","light_mode_auto","light_off","lightbulb","lightbulb_2","lightbulb_circle","lightbulb_outline","lightning_stand","lightstrip","line_axis","line_curve","line_end","line_end_arrow","line_end_arrow_notch","line_end_circle","line_end_diamond","line_end_square","line_start","line_start_arrow","line_start_arrow_notch","line_start_circle","line_start_diamond","line_start_square","line_style","line_weight","linear_scale","link","link_2","link_off","linked_camera","linked_services","lips","liquor","list","list_2","list_alt","list_alt_add","list_alt_check","list_arrow","lists","live_help","live_tv","living","local_activity","local_airport","local_atm","local_bar","local_cafe","local_car_wash","local_convenience_store","local_dining","local_drink","local_fire_department","local_florist","local_gas_station","local_grocery_store","local_hospital","local_hotel","local_laundry_service","local_library","local_mall","local_movies","local_offer","local_parking","local_pharmacy","local_phone","local_pizza","local_play","local_police","local_post_office","local_printshop","local_see","local_shipping","local_taxi","location_automation","location_away","location_chip","location_city","location_disabled","location_home","location_off","location_on","location_pin","location_searching","locator_tag","lock","lock_clock","lock_open","lock_open_circle","lock_open_right","lock_outline","lock_person","lock_reset","login","logo_dev","logout","looks","looks_3","looks_4","looks_5","looks_6","looks_one","looks_two","loop","loupe","low_density","low_priority","lowercase","loyalty","lte_mobiledata","lte_mobiledata_badge","lte_plus_mobiledata","lte_plus_mobiledata_badge","luggage","lunch_dining","lyrics","macro_auto","macro_off","magic_button","magic_exchange","magic_tether","magnification_large","magnification_small","magnify_docked","magnify_fullscreen","mail","mail_asterisk","mail_lock","mail_off","mail_outline","mail_shield","male","man","man_2","man_3","man_4","manage_accounts","manage_history","manage_search","manga","manufacturing","map","map_pin_heart","map_pin_review","map_search","maps_home_work","maps_ugc","margin","mark_as_unread","mark_chat_read","mark_chat_unread","mark_email_read","mark_email_unread","mark_unread_chat_alt","markdown","markdown_copy","markdown_paste","markunread","markunread_mailbox","masked_transitions","masked_transitions_add","masks","massage","match_case","match_case_off","match_word","matter","maximize","meal_dinner","meal_lunch","measuring_tape","media_bluetooth_off","media_bluetooth_on","media_link","media_output","media_output_off","mediation","medical_information","medical_mask","medical_services","medication","medication_liquid","meeting_room","memory","memory_alt","menstrual_health","menu","menu_book","menu_book_2","menu_open","merge","merge_type","message","metabolism","metro","mfg_nest_yale_lock","mic","mic_alert","mic_double","mic_external_off","mic_external_on","mic_gear","mic_none","mic_off","microbiology","microwave","microwave_gen","military_tech","mimo","mimo_disconnect","mindfulness","minimize","minor_crash","mintmark","missed_video_call","missed_video_call_filled","missing_controller","mist","mitre","mixture_med","mms","mobile","mobile_2","mobile_3","mobile_alert","mobile_arrow_down","mobile_arrow_right","mobile_arrow_up_right","mobile_block","mobile_camera","mobile_camera_front","mobile_camera_rear","mobile_cancel","mobile_cast","mobile_charge","mobile_chat","mobile_check","mobile_code","mobile_dock","mobile_dots","mobile_friendly","mobile_gear","mobile_hand","mobile_hand_left","mobile_hand_left_off","mobile_hand_off","mobile_info","mobile_landscape","mobile_layout","mobile_lock_landscape","mobile_lock_portrait","mobile_loupe","mobile_menu","mobile_off","mobile_question","mobile_rotate","mobile_rotate_lock","mobile_screen_share","mobile_screensaver","mobile_sensor_hi","mobile_sensor_lo","mobile_share","mobile_share_stack","mobile_sound","mobile_sound_2","mobile_sound_off","mobile_speaker","mobile_text","mobile_text_2","mobile_theft","mobile_ticket","mobile_unlock","mobile_vibrate","mobile_wrench","mobiledata_arrows","mobiledata_off","mode","mode_comment","mode_cool","mode_cool_off","mode_dual","mode_edit","mode_edit_outline","mode_fan","mode_fan_2","mode_fan_off","mode_heat","mode_heat_cool","mode_heat_off","mode_night","mode_of_travel","mode_off_on","mode_standby","model_training","modeling","monetization_on","money","money_bag","money_off","money_off_csred","money_range","monitor","monitor_heart","monitor_weight","monitor_weight_gain","monitor_weight_loss","monitoring","monochrome_photos","monorail","mood","mood_bad","mood_heart","moon_stars","mop","moped","moped_package","more","more_down","more_horiz","more_time","more_up","more_vert","mosque","motion_blur","motion_mode","motion_photos_auto","motion_photos_off","motion_photos_on","motion_photos_pause","motion_photos_paused","motion_play","motion_sensor_active","motion_sensor_alert","motion_sensor_idle","motion_sensor_urgent","motorcycle","mountain_flag","mountain_steam","mouse","mouse_lock","mouse_lock_off","move","move_down","move_group","move_item","move_location","move_selection_down","move_selection_left","move_selection_right","move_selection_up","move_to_inbox","move_up","moved_location","movie","movie_creation","movie_edit","movie_edit_off","movie_filter","movie_info","movie_off","movie_speaker","moving","moving_beds","moving_ministry","mp","multicooker","multiline_chart","multimodal_hand_eye","multiple_airports","multiple_stop","museum","music_cast","music_history","music_note","music_note_2","music_note_add","music_off","music_video","my_location","mystery","nat","nature","nature_people","navigate_before","navigate_next","navigation","near_me","near_me_disabled","nearby","nearby_error","nearby_off","nephrology","nest_audio","nest_cam_floodlight","nest_cam_indoor","nest_cam_iq","nest_cam_iq_outdoor","nest_cam_magnet_mount","nest_cam_outdoor","nest_cam_stand","nest_cam_wall_mount","nest_cam_wired_stand","nest_clock_farsight_analog","nest_clock_farsight_digital","nest_connect","nest_detect","nest_display","nest_display_max","nest_doorbell_visitor","nest_eco_leaf","nest_farsight_cool","nest_farsight_dual","nest_farsight_eco","nest_farsight_heat","nest_farsight_seasonal","nest_farsight_weather","nest_found_savings","nest_gale_wifi","nest_heat_link_e","nest_heat_link_gen_3","nest_hello_doorbell","nest_locator_tag","nest_mini","nest_multi_room","nest_protect","nest_remote","nest_remote_comfort_sensor","nest_secure_alarm","nest_sunblock","nest_tag","nest_thermostat","nest_thermostat_e_eu","nest_thermostat_gen_3","nest_thermostat_sensor","nest_thermostat_sensor_eu","nest_thermostat_zirconium_eu","nest_true_radiant","nest_wake_on_approach","nest_wake_on_press","nest_wifi_gale","nest_wifi_mistral","nest_wifi_point","nest_wifi_point_vento","nest_wifi_pro","nest_wifi_pro_2","nest_wifi_router","network_cell","network_check","network_intel_node","network_intelligence","network_intelligence_history","network_intelligence_update","network_locked","network_manage","network_node","network_ping","network_wifi","network_wifi_1_bar","network_wifi_1_bar_locked","network_wifi_2_bar","network_wifi_2_bar_locked","network_wifi_3_bar","network_wifi_3_bar_locked","network_wifi_locked","neurology","new_label","new_releases","new_window","news","newsmode","newspaper","newsstand","next_plan","next_week","nfc","nfc_off","night_shelter","night_sight_auto","night_sight_auto_off","night_sight_max","nightlife","nightlight","nightlight_round","nights_stay","no_accounts","no_adult_content","no_backpack","no_crash","no_drinks","no_encryption","no_encryption_gmailerrorred","no_flash","no_food","no_luggage","no_meals","no_meeting_room","no_photography","no_sim","no_sound","no_stroller","no_transfer","noise_aware","noise_control_off","noise_control_on","nordic_walking","north","north_east","north_west","not_accessible","not_accessible_forward","not_interested","not_listed_location","not_started","note","note_add","note_alt","note_stack","note_stack_add","notes","notification_add","notification_audio","notification_audio_off","notification_important","notification_multiple","notification_settings","notification_sound","notifications","notifications_active","notifications_none","notifications_off","notifications_paused","notifications_unread","numbers","nutrition","ods","odt","offline_bolt","offline_pin","offline_pin_off","offline_share","oil_barrel","okonomiyaki","on_device_training","on_hub_device","oncology","ondemand_video","online_prediction","onsen","opacity","open_in_browser","open_in_full","open_in_new","open_in_new_down","open_in_new_off","open_in_phone","open_jam","open_run","open_with","ophthalmology","oral_disease","orbit","order_approve","order_play","orders","orthopedics","other_admission","other_houses","outbound","outbox","outbox_alt","outdoor_garden","outdoor_grill","outgoing_mail","outlet","outlined_flag","outpatient","outpatient_med","output","output_circle","oven","oven_gen","overview","overview_key","owl","oxygen_saturation","p2p","pace","pacemaker","package","package_2","padding","padel","page_control","page_footer","page_header","page_info","page_menu_ios","pageless","pages","pageview","paid","palette","pallet","pan_tool","pan_tool_alt","pan_zoom","panorama","panorama_fish_eye","panorama_horizontal","panorama_photosphere","panorama_vertical","panorama_wide_angle","paragliding","parent_child_dining","park","parking_meter","parking_sign","parking_valet","partly_cloudy_day","partly_cloudy_night","partner_exchange","partner_heart","partner_reports","party_mode","passkey","passport","password","password_2","password_2_off","patient_list","pattern","pause","pause_circle","pause_circle_filled","pause_circle_outline","pause_presentation","payment","payment_arrow_down","payment_card","payments","pedal_bike","pediatrics","pen_size_1","pen_size_2","pen_size_3","pen_size_4","pen_size_5","pending","pending_actions","pentagon","people","people_alt","people_outline","percent","percent_discount","performance_max","pergola","perm_camera_mic","perm_contact_calendar","perm_data_setting","perm_device_information","perm_identity","perm_media","perm_phone_msg","perm_scan_wifi","person","person_2","person_3","person_4","person_add","person_add_alt","person_add_disabled","person_alert","person_apron","person_book","person_cancel","person_celebrate","person_check","person_edit","person_filled","person_heart","person_off","person_outline","person_pin","person_pin_circle","person_play","person_raised_hand","person_remove","person_search","person_shield","person_text","personal_bag","personal_bag_off","personal_bag_question","personal_injury","personal_places","personal_video","pest_control","pest_control_rodent","pet_supplies","pets","phishing","phone","phone_alt","phone_android","phone_bluetooth_speaker","phone_callback","phone_cancel","phone_disabled","phone_enabled","phone_forwarded","phone_in_talk","phone_iphone","phone_locked","phone_missed","phone_paused","phonelink","phonelink_erase","phonelink_lock","phonelink_off","phonelink_ring","phonelink_ring_off","phonelink_setup","photo","photo_album","photo_auto_merge","photo_camera","photo_camera_back","photo_camera_front","photo_filter","photo_frame","photo_library","photo_prints","photo_size_select_actual","photo_size_select_large","photo_size_select_small","php","physical_therapy","piano","piano_off","pickleball","picture_as_pdf","picture_in_picture","picture_in_picture_alt","picture_in_picture_center","picture_in_picture_large","picture_in_picture_medium","picture_in_picture_mobile","picture_in_picture_off","picture_in_picture_small","pie_chart","pie_chart_filled","pie_chart_outline","pie_chart_outlined","pill","pill_off","pin","pin_drop","pin_end","pin_history","pin_invoke","pin_road","pin_road_2","pinboard","pinboard_unread","pinch","pinch_zoom_in","pinch_zoom_out","pip","pip_exit","pivot_table_chart","place","place_item","plagiarism","plane_contrails","planet","planner_banner_ad_pt","planner_review","play_arrow","play_circle","play_disabled","play_for_work","play_lesson","play_music","play_pause","play_shapes","playground","playground_2","playing_cards","playlist_add","playlist_add_check","playlist_add_check_circle","playlist_add_circle","playlist_play","playlist_remove","plug_connect","plumbing","plus_one","podcasts","podiatry","podium","point_of_sale","point_scan","poker_chip","policy","policy_alert","poll","polyline","polymer","pool","portable_wifi_off","portrait","position_bottom_left","position_bottom_right","position_top_right","post","post_add","potted_plant","power","power_input","power_off","power_rounded","power_settings_circle","power_settings_new","prayer_times","precision_manufacturing","pregnancy","pregnant_woman","preliminary","prescriptions","present_to_all","preview","preview_off","price_change","price_check","print","print_add","print_connect","print_disabled","print_error","print_lock","priority","priority_high","privacy","privacy_tip","private_connectivity","problem","procedure","process_chart","production_quantity_limits","productivity","progress_activity","prompt_suggestion","propane","propane_tank","psychiatry","psychology","psychology_alt","public","public_off","publish","published_with_changes","pulmonology","pulse_alert","punch_clock","push_pin","qr_code","qr_code_2","qr_code_2_add","qr_code_scanner","query_builder","query_stats","question_answer","question_exchange","question_mark","queue","queue_music","queue_play_next","quick_phrases","quick_reference","quick_reference_all","quick_reorder","quickreply","quiet_time","quiet_time_active","quiz","r_mobiledata","radar","radio","radio_button_checked","radio_button_partial","radio_button_unchecked","radiology","railway_alert","railway_alert_2","rainy","rainy_heavy","rainy_light","rainy_snow","ramen_dining","ramp_left","ramp_right","range_hood","rate_review","rate_review_rtl","raven","raw_off","raw_on","read_more","readiness_score","real_estate_agent","rear_camera","rebase","rebase_edit","receipt","receipt_long","receipt_long_off","recent_actors","recent_patient","recenter","recommend","record_voice_over","rectangle","rectangle_add","recycling","redeem","redo","reduce_capacity","refresh","regular_expression","relax","release_alert","remember_me","reminder","reminders_alt","remote_gen","remove","remove_circle","remove_circle_outline","remove_done","remove_from_queue","remove_moderator","remove_red_eye","remove_road","remove_selection","remove_shopping_cart","reopen_window","reorder","repartition","repeat","repeat_on","repeat_one","repeat_one_on","replace_audio","replace_image","replace_video","replay","replay_10","replay_30","replay_5","replay_circle_filled","reply","reply_all","report","report_gmailerrorred","report_off","report_problem","request_page","request_quote","reset_brightness","reset_colors","reset_exposure","reset_focus","reset_image","reset_iso","reset_settings","reset_shadow","reset_shutter_speed","reset_tv","reset_white_balance","reset_wrench","resize","resize_window","respiratory_rate","responsive_layout","rest_area","restart_alt","restaurant","restaurant_menu","restore","restore_from_trash","restore_page","resume","reviews","rewarded_ads","rheumatology","rib_cage","rice_bowl","right_click","right_panel_close","right_panel_open","ring_volume","ring_volume_filled","ripples","road","robot","robot_2","rocket","rocket_launch","roller_shades","roller_shades_closed","roller_skating","roofing","room","room_preferences","room_service","rotate_90_degrees_ccw","rotate_90_degrees_cw","rotate_auto","rotate_left","rotate_right","roundabout_left","roundabout_right","rounded_corner","route","router","router_off","routine","rowing","rss_feed","rsvp","rtt","rubric","rule","rule_folder","rule_settings","run_circle","running_with_errors","rv_hookup","safety_check","safety_check_off","safety_divider","sailing","salinity","sanitizer","satellite","satellite_alt","sauna","save","save_alt","save_as","save_clock","saved_search","savings","scale","scan","scan_delete","scanner","scatter_plot","scene","schedule","schedule_send","schema","school","science","science_off","scooter","score","scoreboard","screen_lock_landscape","screen_lock_portrait","screen_lock_rotation","screen_record","screen_rotation","screen_rotation_alt","screen_rotation_up","screen_search_desktop","screen_share","screenshot","screenshot_frame","screenshot_frame_2","screenshot_keyboard","screenshot_monitor","screenshot_region","screenshot_tablet","script","scrollable_header","scuba_diving","sd","sd_card","sd_card_alert","sd_storage","sdk","search","search_activity","search_check","search_check_2","search_gear","search_hands_free","search_insights","search_off","seat_cool_left","seat_cool_right","seat_heat_left","seat_heat_right","seat_read","seat_vent_left","seat_vent_right","seat_window","security","security_key","security_update","security_update_good","security_update_warning","segment","select","select_all","select_check_box","select_to_speak","select_window","select_window_2","select_window_off","self_care","self_improvement","sell","sell_cloud","send","send_and_archive","send_money","send_time_extension","send_to_mobile","sensor_door","sensor_occupied","sensor_window","sensors","sensors_krx","sensors_krx_off","sensors_off","sentiment_calm","sentiment_content","sentiment_dissatisfied","sentiment_excited","sentiment_extremely_dissatisfied","sentiment_frustrated","sentiment_neutral","sentiment_sad","sentiment_satisfied","sentiment_satisfied_alt","sentiment_stressed","sentiment_very_dissatisfied","sentiment_very_satisfied","sentiment_worried","serif","server_person","service_toolbox","set_meal","settings","settings_accessibility","settings_account_box","settings_alert","settings_applications","settings_b_roll","settings_backup_restore","settings_bluetooth","settings_brightness","settings_cell","settings_cinematic_blur","settings_ethernet","settings_heart","settings_input_antenna","settings_input_component","settings_input_composite","settings_input_hdmi","settings_input_svideo","settings_motion_mode","settings_night_sight","settings_overscan","settings_panorama","settings_phone","settings_photo_camera","settings_power","settings_remote","settings_screen","settings_seating","settings_slow_motion","settings_suggest","settings_system_daydream","settings_timelapse","settings_video_camera","settings_voice","settop_component","severe_cold","shades","shades_closed","shadow","shadow_add","shadow_minus","shape_line","shape_recognition","shapes","share","share_eta","share_location","share_off","share_reviews","share_windows","shaved_ice","sheets_rtl","shelf_auto_hide","shelf_position","shelves","shield","shield_card","shield_lock","shield_locked","shield_moon","shield_person","shield_question","shield_radar","shield_toggle","shield_watch","shield_with_heart","shield_with_house","shift","shift_lock","shift_lock_off","shoe_cleats","shop","shop_2","shop_two","shopping_bag","shopping_bag_speed","shopping_basket","shopping_cart","shopping_cart_checkout","shopping_cart_off","shoppingmode","short_stay","short_text","shortcut","show_chart","shower","shuffle","shuffle_on","shutter_speed","shutter_speed_add","shutter_speed_minus","sick","side_navigation","sign_language","sign_language_2","sign_language_off","signal_cellular_0_bar","signal_cellular_1_bar","signal_cellular_2_bar","signal_cellular_3_bar","signal_cellular_4_bar","signal_cellular_add","signal_cellular_alt","signal_cellular_alt_1_bar","signal_cellular_alt_2_bar","signal_cellular_alt_off","signal_cellular_connected_no_internet_0_bar","signal_cellular_connected_no_internet_4_bar","signal_cellular_no_sim","signal_cellular_nodata","signal_cellular_null","signal_cellular_off","signal_cellular_pause","signal_disconnected","signal_wifi_0_bar","signal_wifi_4_bar","signal_wifi_4_bar_lock","signal_wifi_bad","signal_wifi_connected_no_internet_4","signal_wifi_off","signal_wifi_statusbar_4_bar","signal_wifi_statusbar_not_connected","signal_wifi_statusbar_null","signature","signpost","sim_card","sim_card_alert","sim_card_download","sim_card_lock","simulation","single_arrow","single_bed","sip","siren","siren_check","siren_open","siren_question","skateboarding","skeleton","skillet","skillet_cooktop","skip_next","skip_previous","skull","skull_list","slab_serif","sledding","sleep","sleep_score","slide_library","sliders","slideshow","slow_motion_video","smart_button","smart_card_reader","smart_card_reader_off","smart_display","smart_outlet","smart_screen","smart_toy","smartphone","smartphone_camera","smb_share","smoke_free","smoking_rooms","sms","sms_failed","snail","snippet_folder","snooze","snowboarding","snowflake","snowing","snowing_heavy","snowmobile","snowshoeing","soap","soba","social_distance","social_leaderboard","solar_power","solo_dining","sort","sort_by_alpha","sos","sound_detection_dog_barking","sound_detection_glass_break","sound_detection_loud_sound","sound_sampler","soundbar","soup_kitchen","source","source_environment","source_notes","south","south_america","south_east","south_west","spa","space_bar","space_dashboard","space_dashboard_2","spatial_audio","spatial_audio_off","spatial_speaker","spatial_tracking","speaker","speaker_2","speaker_group","speaker_notes","speaker_notes_off","speaker_phone","special_character","specific_gravity","speech_to_text","speech_to_text_2","speed","speed_0_25","speed_0_2x","speed_0_5","speed_0_5x","speed_0_75","speed_0_7x","speed_1_2","speed_1_25","speed_1_2x","speed_1_5","speed_1_5x","speed_1_75","speed_1_7x","speed_2","speed_2x","speed_3","speed_4","speed_camera","spellcheck","split_scene","split_scene_2","split_scene_down","split_scene_left","split_scene_right","split_scene_up","splitscreen","splitscreen_add","splitscreen_bottom","splitscreen_landscape","splitscreen_landscape_add","splitscreen_left","splitscreen_portrait","splitscreen_right","splitscreen_top","splitscreen_vertical_add","spo2","spoke","sports","sports_and_outdoors","sports_bar","sports_baseball","sports_basketball","sports_cricket","sports_esports","sports_football","sports_golf","sports_gymnastics","sports_handball","sports_hockey","sports_kabaddi","sports_martial_arts","sports_mma","sports_motorsports","sports_rugby","sports_score","sports_soccer","sports_tennis","sports_volleyball","sprinkler","sprint","sql","square","square_circle","square_dot","square_foot","ssid_chart","stack","stack_group","stack_hexagon","stack_off","stack_star","stacked_bar_chart","stacked_email","stacked_inbox","stacked_line_chart","stacks","stadia_controller","stadium","stairs","stairs_2","star","star_border","star_border_purple500","star_half","star_outline","star_purple500","star_rate","star_rate_half","star_shine","stars","stars_2","start","stat_0","stat_1","stat_2","stat_3","stat_minus_1","stat_minus_2","stat_minus_3","stay_current_landscape","stay_current_portrait","stay_primary_landscape","stay_primary_portrait","steering_wheel_cool","steering_wheel_heat","step","step_into","step_out","step_over","steppers","steps","stethoscope","stethoscope_arrow","stethoscope_check","sticker","sticker_add","sticky_note","sticky_note_2","stock_media","stockpot","stop","stop_circle","stop_screen_share","storage","store","store_mall_directory","storefront","storm","straight","straighten","strategy","stream","stream_apps","streetview","stress_management","strikethrough_s","stroke_full","stroke_partial","stroller","style","styler","stylus","stylus_brush","stylus_fountain_pen","stylus_highlighter","stylus_laser_pointer","stylus_note","stylus_pen","stylus_pencil","subdirectory_arrow_left","subdirectory_arrow_right","subheader","subject","subscript","subscriptions","subtitles","subtitles_gear","subtitles_off","subway","subway_walk","subwoofer","summarize","sunny","sunny_snowing","superscript","supervised_user_circle","supervised_user_circle_off","supervisor_account","support","support_agent","surfing","surgical","surround_sound","swap_calls","swap_driving_apps","swap_driving_apps_wheel","swap_horiz","swap_horizontal_circle","swap_vert","swap_vertical_circle","sweep","swipe","swipe_down","swipe_down_alt","swipe_left","swipe_left_2","swipe_left_alt","swipe_right","swipe_right_2","swipe_right_alt","swipe_up","swipe_up_alt","swipe_vertical","switch","switch_access","switch_access_2","switch_access_3","switch_access_shortcut","switch_access_shortcut_add","switch_account","switch_camera","switch_left","switch_off","switch_right","switch_video","switches","sword_rose","swords","symptoms","synagogue","sync","sync_alt","sync_arrow_down","sync_arrow_up","sync_desktop","sync_disabled","sync_lock","sync_problem","sync_saved_locally","sync_saved_locally_off","syringe","system_security_update","system_security_update_good","system_security_update_warning","system_update","system_update_alt","tab","tab_close","tab_close_inactive","tab_close_right","tab_duplicate","tab_group","tab_inactive","tab_move","tab_new_right","tab_recent","tab_search","tab_unselected","table","table_bar","table_chart","table_chart_view","table_convert","table_edit","table_eye","table_lamp","table_large","table_restaurant","table_rows","table_rows_narrow","table_sign","table_view","tablet","tablet_android","tablet_camera","tablet_mac","tabs","tactic","tag","tag_faces","takeout_dining","takeout_dining_2","tamper_detection_off","tamper_detection_on","tap_and_play","tapas","target","task","task_alt","tatami_seat","taunt","taxi_alert","team_dashboard","temp_preferences_custom","temp_preferences_eco","temple_buddhist","temple_hindu","tenancy","terminal","terminal_2","terminal_add","terrain","text_ad","text_ad_off","text_compare","text_decrease","text_fields","text_fields_alt","text_format","text_increase","text_rotate_up","text_rotate_vertical","text_rotation_angledown","text_rotation_angleup","text_rotation_down","text_rotation_none","text_select_end","text_select_jump_to_beginning","text_select_jump_to_end","text_select_move_back_character","text_select_move_back_word","text_select_move_down","text_select_move_forward_character","text_select_move_forward_word","text_select_move_up","text_select_start","text_snippet","text_to_speech","text_up","textsms","texture","texture_add","texture_minus","theater_comedy","theaters","thermometer","thermometer_add","thermometer_alert","thermometer_gain","thermometer_loss","thermometer_minus","thermostat","thermostat_arrow_down","thermostat_arrow_up","thermostat_auto","thermostat_carbon","things_to_do","thread_unread","threat_intelligence","thumb_down","thumb_down_alt","thumb_down_filled","thumb_down_off","thumb_down_off_alt","thumb_up","thumb_up_alt","thumb_up_filled","thumb_up_off","thumb_up_off_alt","thumbnail_bar","thumbs_up_double","thumbs_up_down","thunderstorm","tibia","tibia_alt","tile_large","tile_medium","tile_small","tilt_arrow_down","tilt_arrow_up","time_auto","time_to_leave","timelapse","timeline","timer","timer_1","timer_10","timer_10_alt_1","timer_10_select","timer_2","timer_3","timer_3_alt_1","timer_3_select","timer_5","timer_5_shutter","timer_arrow_down","timer_arrow_up","timer_off","timer_pause","timer_play","tips_and_updates","tire_repair","title","titlecase","toast","toc","today","toggle_off","toggle_on","token","toll","tonality","tonality_2","toolbar","tools_flat_head","tools_installation_kit","tools_ladder","tools_level","tools_phillips","tools_pliers_wire_stripper","tools_power_drill","tools_wrench","tooltip","tooltip_2","top_panel_close","top_panel_open","topic","tornado","total_dissolved_solids","touch_app","touch_double","touch_double_2","touch_long","touch_triple","touchpad_mouse","touchpad_mouse_off","tour","toys","toys_and_games","toys_fan","track_changes","trackpad_input","trackpad_input_2","trackpad_input_3","traffic","traffic_jam","trail_length","trail_length_medium","trail_length_short","train","tram","transcribe","transfer_within_a_station","transform","transgender","transit_enterexit","transit_ticket","transition_chop","transition_dissolve","transition_fade","transition_push","transition_slide","translate","translate_indic","transportation","travel","travel_explore","travel_luggage_and_bags","trending_down","trending_flat","trending_up","triangle_circle","trip","trip_origin","trolley","trolley_cable_car","trophy","troubleshoot","try","tsunami","tsv","tty","tune","tungsten","turn_left","turn_right","turn_sharp_left","turn_sharp_right","turn_slight_left","turn_slight_right","turned_in","turned_in_not","tv","tv_displays","tv_gen","tv_guide","tv_next","tv_off","tv_options_edit_channels","tv_options_input_settings","tv_remote","tv_signin","tv_with_assistant","two_pager","two_pager_store","two_wheeler","type_specimen","u_turn_left","u_turn_right","udon","ulna_radius","ulna_radius_alt","umbrella","unarchive","undereye","undo","unfold_less","unfold_less_double","unfold_more","unfold_more_double","ungroup","universal_currency","universal_currency_alt","universal_local","unknown_2","unknown_5","unknown_7","unknown_document","unknown_med","unlicense","unpaved_road","unpin","unpublished","unsubscribe","upcoming","update","update_disabled","upgrade","upi_pay","upload","upload_2","upload_file","uppercase","urology","usb","usb_off","user_attributes","vaccines","vacuum","vacuum_2","vacuum_2_on","valve","vape_free","vaping_rooms","variable_add","variable_insert","variable_remove","variables","ventilator","verified","verified_off","verified_user","vertical_align_bottom","vertical_align_center","vertical_align_top","vertical_distribute","vertical_shades","vertical_shades_closed","vertical_split","vibration","video_call","video_camera_back","video_camera_back_add","video_camera_front","video_camera_front_off","video_chat","video_file","video_frame_copy","video_frame_save","video_label","video_library","video_search","video_settings","video_stable","video_template","videocam","videocam_alert","videocam_off","videogame_asset","videogame_asset_off","view_agenda","view_apps","view_array","view_carousel","view_column","view_column_2","view_comfy","view_comfy_alt","view_compact","view_compact_alt","view_cozy","view_day","view_headline","view_in_ar","view_in_ar_new","view_in_ar_off","view_kanban","view_list","view_module","view_object_track","view_quilt","view_real_size","view_sidebar","view_stream","view_timeline","view_week","vignette","vignette_2","villa","visibility","visibility_lock","visibility_off","vital_signs","vitals","vo2_max","voice_chat","voice_chat_off","voice_over_off","voice_selection","voice_selection_off","voicemail","voicemail_2","volcano","volume_down","volume_down_alt","volume_mute","volume_off","volume_up","volunteer_activism","voting_chip","vpn_key","vpn_key_alert","vpn_key_off","vpn_lock","vpn_lock_2","vr180_create2d","vr180_create2d_off","vrpano","walk_bike","wall_art","wall_lamp","wallet","wallpaper","wallpaper_slideshow","wand_shine","wand_stars","ward","warehouse","warning","warning_amber","warning_off","wash","washoku","watch","watch_alert","watch_arrow","watch_arrow_down","watch_button","watch_button_press","watch_check","watch_later","watch_lock","watch_off","watch_screentime","watch_vibration","watch_wake","water","water_bottle","water_bottle_large","water_damage","water_do","water_drop","water_drops","water_ec","water_full","water_heater","water_lock","water_loss","water_lux","water_medium","water_orp","water_ph","water_pump","water_voc","waterfall_chart","waves","waving_hand","wb_auto","wb_cloudy","wb_incandescent","wb_iridescent","wb_shade","wb_sunny","wb_twilight","wb_twilight_2","wc","weather_hail","weather_mix","weather_snowy","web","web_asset","web_asset_off","web_stories","web_traffic","webhook","weekend","weight","west","whatshot","wheat","wheelchair_pickup","where_to_vote","widget_medium","widget_menu","widget_small","widget_width","widgets","width","width_full","width_normal","width_wide","wifi","wifi_1_bar","wifi_2_bar","wifi_add","wifi_calling","wifi_calling_1","wifi_calling_2","wifi_calling_3","wifi_calling_bar_1","wifi_calling_bar_2","wifi_calling_bar_3","wifi_channel","wifi_device","wifi_find","wifi_home","wifi_lock","wifi_notification","wifi_off","wifi_password","wifi_protected_setup","wifi_proxy","wifi_tethering","wifi_tethering_error","wifi_tethering_off","wind_power","window","window_closed","window_open","window_sensor","windshield_defrost_auto","windshield_defrost_front","windshield_defrost_rear","windshield_heat_front","wine_bar","woman","woman_2","work","work_alert","work_history","work_off","work_outline","work_update","workflow","workspace_premium","workspaces","workspaces_outline","wounds_injuries","wrap_text","wrist","wrong_location","wysiwyg","x_circle","y_circle","yakitori","yard","yoshoku","your_trips","youtube_activity","youtube_searched_for","zone_person_alert","zone_person_idle","zone_person_urgent","zoom_in","zoom_in_map","zoom_out","zoom_out_map"];function Wr(){return"./fenix-icons.woff2"}const Gr=Wr(),Zr="fenix-icons",Dt=E;function Qr(){let d="";for(const e of qt)d+=`.fx-icon-${e}::before{content:"${e}"}`;return d}function Mt(){return`@font-face{font-family:'${j}';font-style:normal;font-weight:100 700;font-display:block;src:url('${Gr}') format('woff2');}`+Dt+Qr()}let qe=!1;function It(d=typeof document!="undefined"?document:void 0){if(qe||!d)return;const e=d.createElement("style");e.id=Zr,e.textContent=Mt(),d.head.appendChild(e),qe=!0}function ea(){qe=!1}It();const M=Object.freeze(Object.defineProperty({__proto__:null,FENIX_ICON_BASE_CSS:E,FENIX_ICON_DOC_BASE_CSS:Dt,FENIX_ICON_FONT_FAMILY:j,FENIX_ICON_NAMES:qt,__resetFenixIconsInjection:ea,buildFenixIconsCss:Mt,isFenixIconName:q,loadFenixIcons:It},Symbol.toStringTag,{value:"Module"}))});
4238
+ `;let De=Lt;function sa(){return v("fx-accordion",De)}function na(){return v("fx-accordion-panel",qe)}sa(),na();const Rt=["10k","10mp","11mp","123","12mp","13mp","14mp","15mp","16mp","17mp","18_up_rating","18mp","19mp","1k","1k_plus","1x_mobiledata","1x_mobiledata_badge","20mp","21mp","22mp","23mp","24fps_select","24mp","2d","2d_2","2k","2k_plus","2mp","30fps","30fps_select","360","3d","3d_2","3d_rotation","3g_mobiledata","3g_mobiledata_badge","3k","3k_plus","3mp","3p","4g_mobiledata","4g_mobiledata_badge","4g_plus_mobiledata","4k","4k_plus","4mp","50mp","5g","5g_mobiledata_badge","5k","5k_plus","5mp","60fps","60fps_select","6_ft_apart","6k","6k_plus","6mp","7k","7k_plus","7mp","8k","8k_plus","8mp","9k","9k_plus","9mp","abc","ac_unit","access_alarm","access_alarms","access_time","access_time_filled","accessibility","accessibility_new","accessible","accessible_forward","accessible_menu","account_balance","account_balance_wallet","account_box","account_child","account_child_invert","account_circle","account_circle_filled","account_circle_off","account_tree","action_key","activity_zone","acupuncture","acute","ad","ad_group","ad_group_off","ad_off","ad_units","adaptive_audio_mic","adaptive_audio_mic_off","adb","add","add_2","add_a_photo","add_ad","add_alarm","add_alert","add_box","add_business","add_call","add_card","add_chart","add_circle","add_circle_outline","add_column_left","add_column_right","add_comment","add_diamond","add_home","add_home_work","add_ic_call","add_link","add_location","add_location_alt","add_moderator","add_notes","add_photo_alternate","add_reaction","add_road","add_row_above","add_row_below","add_shopping_cart","add_task","add_to_drive","add_to_home_screen","add_to_photos","add_to_queue","add_triangle","addchart","adf_scanner","adjust","admin_meds","admin_panel_settings","ads_click","agender","agriculture","air","air_freshener","air_purifier","air_purifier_gen","airline_seat_flat","airline_seat_flat_angled","airline_seat_individual_suite","airline_seat_legroom_extra","airline_seat_legroom_normal","airline_seat_legroom_reduced","airline_seat_recline_extra","airline_seat_recline_normal","airline_stops","airlines","airplane_ticket","airplanemode_active","airplanemode_inactive","airplay","airport_shuttle","airware","airwave","alarm","alarm_add","alarm_off","alarm_on","alarm_pause","alarm_smart_wake","album","align_center","align_end","align_flex_center","align_flex_end","align_flex_start","align_horizontal_center","align_horizontal_left","align_horizontal_right","align_items_stretch","align_justify_center","align_justify_flex_end","align_justify_flex_start","align_justify_space_around","align_justify_space_between","align_justify_space_even","align_justify_stretch","align_self_stretch","align_space_around","align_space_between","align_space_even","align_start","align_stretch","align_vertical_bottom","align_vertical_center","align_vertical_top","all_inbox","all_inclusive","all_match","all_out","allergies","allergy","alt_route","alternate_email","altitude","ambient_screen","ambulance","amend","amp_stories","analytics","anchor","android","android_cell_4_bar","android_cell_4_bar_alert","android_cell_4_bar_off","android_cell_4_bar_plus","android_cell_5_bar","android_cell_5_bar_alert","android_cell_5_bar_off","android_cell_5_bar_plus","android_cell_dual_4_bar","android_cell_dual_4_bar_alert","android_cell_dual_4_bar_plus","android_cell_dual_5_bar","android_cell_dual_5_bar_alert","android_cell_dual_5_bar_plus","android_wifi_3_bar","android_wifi_3_bar_alert","android_wifi_3_bar_lock","android_wifi_3_bar_off","android_wifi_3_bar_plus","android_wifi_3_bar_question","android_wifi_4_bar","android_wifi_4_bar_alert","android_wifi_4_bar_lock","android_wifi_4_bar_off","android_wifi_4_bar_plus","android_wifi_4_bar_question","animated_images","animation","announcement","antigravity","aod","aod_tablet","aod_watch","apartment","api","apk_document","apk_install","app_badging","app_blocking","app_promo","app_registration","app_settings_alt","app_shortcut","apparel","approval","approval_delegation","approval_delegation_off","apps","apps_outage","aq","aq_indoor","ar_on_you","ar_stickers","architecture","archive","area_chart","arming_countdown","arrow_and_edge","arrow_back","arrow_back_2","arrow_back_ios","arrow_back_ios_new","arrow_circle_down","arrow_circle_left","arrow_circle_right","arrow_circle_up","arrow_cool_down","arrow_downward","arrow_downward_alt","arrow_drop_down","arrow_drop_down_circle","arrow_drop_up","arrow_forward","arrow_forward_ios","arrow_insert","arrow_left","arrow_left_alt","arrow_menu_close","arrow_menu_open","arrow_or_edge","arrow_outward","arrow_range","arrow_right","arrow_right_alt","arrow_selector_tool","arrow_shape_up","arrow_shape_up_stack","arrow_shape_up_stack_2","arrow_split","arrow_top_left","arrow_top_right","arrow_upload_progress","arrow_upload_ready","arrow_upward","arrow_upward_alt","arrow_warm_up","arrows_input","arrows_left_right_circle","arrows_more_down","arrows_more_up","arrows_output","arrows_outward","arrows_up_down_circle","art_track","article","article_person","article_shortcut","artist","aspect_ratio","assessment","assignment","assignment_add","assignment_globe","assignment_ind","assignment_late","assignment_return","assignment_returned","assignment_turned_in","assist_walker","assistant","assistant_device","assistant_direction","assistant_navigation","assistant_on_hub","assistant_photo","assured_workload","asterisk","astrophotography_auto","astrophotography_off","atm","atr","attach_email","attach_file","attach_file_add","attach_file_off","attach_money","attachment","attractions","attribution","audio_capture","audio_description","audio_file","audio_video_receiver","audiotrack","auto_activity_zone","auto_awesome","auto_awesome_mosaic","auto_awesome_motion","auto_delete","auto_detect_voice","auto_draw_solid","auto_fix","auto_fix_high","auto_fix_normal","auto_fix_off","auto_graph","auto_label","auto_meeting_room","auto_mode","auto_read_pause","auto_read_play","auto_schedule","auto_stories","auto_stories_off","auto_timer","auto_towing","auto_transmission","auto_videocam","autofps_select","automation","autopause","autopay","autoplay","autorenew","autostop","av1","av_timer","avc","avg_pace","avg_time","avocado_bean","award_meal","award_star","azm","b_circle","baby_changing_station","back_hand","back_to_tab","background_dot_large","background_dot_small","background_grid_small","background_replace","backlight_high","backlight_high_off","backlight_low","backpack","backspace","backup","backup_table","badge","badge_critical_battery","badminton","bakery_dining","balance","balcony","ballot","bar_chart","bar_chart_4_bars","bar_chart_off","barcode","barcode_reader","barcode_scanner","barefoot","batch_prediction","bath_bedrock","bath_outdoor","bath_private","bath_public_large","bath_soak","bathroom","bathtub","battery_0_bar","battery_1_bar","battery_20","battery_2_bar","battery_30","battery_3_bar","battery_4_bar","battery_50","battery_5_bar","battery_60","battery_6_bar","battery_80","battery_90","battery_alert","battery_android_0","battery_android_1","battery_android_2","battery_android_3","battery_android_4","battery_android_5","battery_android_6","battery_android_alert","battery_android_bolt","battery_android_frame_1","battery_android_frame_2","battery_android_frame_3","battery_android_frame_4","battery_android_frame_5","battery_android_frame_6","battery_android_frame_alert","battery_android_frame_bolt","battery_android_frame_full","battery_android_frame_plus","battery_android_frame_question","battery_android_frame_share","battery_android_frame_shield","battery_android_full","battery_android_plus","battery_android_question","battery_android_share","battery_android_shield","battery_change","battery_charging_20","battery_charging_20_2","battery_charging_30","battery_charging_30_2","battery_charging_50","battery_charging_50_2","battery_charging_60","battery_charging_60_2","battery_charging_80","battery_charging_80_2","battery_charging_90","battery_charging_full","battery_charging_full_2","battery_error","battery_full","battery_full_alt","battery_horiz_000","battery_horiz_050","battery_horiz_075","battery_low","battery_plus","battery_profile","battery_saver","battery_share","battery_status_good","battery_std","battery_unknown","battery_vert_005","battery_vert_020","battery_vert_050","battery_very_low","beach_access","bed","bedroom_baby","bedroom_child","bedroom_parent","bedtime","bedtime_off","beenhere","beer_meal","bento","bia","bid_landscape","bid_landscape_disabled","bigtop_updates","bike_dock","bike_lane","bike_scooter","biotech","blanket","blender","blind","blinds","blinds_2","blinds_2_closed","blinds_closed","block","blood_pressure","bloodtype","bluetooth","bluetooth_audio","bluetooth_connected","bluetooth_disabled","bluetooth_drive","bluetooth_searching","blur_circular","blur_linear","blur_medium","blur_off","blur_on","blur_short","boat_bus","boat_railway","body_fat","body_system","bolt","bolt_boost","bomb","book","book_2","book_3","book_4","book_5","book_6","book_online","book_ribbon","bookmark","bookmark_add","bookmark_added","bookmark_bag","bookmark_border","bookmark_check","bookmark_flag","bookmark_heart","bookmark_manager","bookmark_remove","bookmark_stacks","bookmark_star","bookmarks","books_movies_and_music","border_all","border_bottom","border_clear","border_color","border_horizontal","border_inner","border_left","border_outer","border_right","border_style","border_top","border_vertical","borg","bottom_app_bar","bottom_drawer","bottom_navigation","bottom_panel_close","bottom_panel_open","bottom_right_click","bottom_sheets","box","box_add","box_edit","boy","brand_awareness","brand_family","branding_watermark","breakfast_dining","breaking_news","breaking_news_alt_1","breastfeeding","brick","briefcase_meal","brightness_1","brightness_2","brightness_3","brightness_4","brightness_5","brightness_6","brightness_7","brightness_alert","brightness_auto","brightness_empty","brightness_high","brightness_low","brightness_medium","bring_your_own_ip","broadcast_on_home","broadcast_on_personal","broken_image","browse","browse_activity","browse_gallery","browser_not_supported","browser_updated","brunch_dining","brush","bubble","bubble_chart","bubbles","bucket_check","bug_report","build","build_circle","bullet_chart","bungalow","burst_mode","bus_alert","bus_map_pin","bus_railway","business","business_center","business_chip","business_messages","buttons_alt","cabin","cable","cable_car","cached","cadence","cake","cake_add","calculate","calendar_add_on","calendar_apps_script","calendar_check","calendar_clock","calendar_lock","calendar_meal","calendar_meal_2","calendar_month","calendar_today","calendar_view_day","calendar_view_month","calendar_view_week","call","call_end","call_end_alt","call_log","call_made","call_merge","call_missed","call_missed_outgoing","call_quality","call_received","call_split","call_to_action","camera","camera_alt","camera_enhance","camera_front","camera_indoor","camera_outdoor","camera_rear","camera_roll","camera_video","cameraswitch","campaign","camping","cancel","cancel_presentation","cancel_schedule_send","candle","candlestick_chart","cannabis","captive_portal","capture","car_crash","car_defrost_left","car_defrost_low_left","car_defrost_low_right","car_defrost_mid_left","car_defrost_mid_low_left","car_defrost_mid_low_right","car_defrost_mid_right","car_defrost_right","car_fan_low_left","car_fan_low_mid_left","car_fan_low_right","car_fan_mid_left","car_fan_mid_low_right","car_fan_mid_right","car_fan_recirculate","car_fan_recirculate_2","car_gear","car_lock","car_mirror_heat","car_rental","car_repair","car_seat_off","car_tag","card_giftcard","card_membership","card_travel","cardio_load","cardiology","cards","cards_stack","cards_star","carpenter","carry_on_bag","carry_on_bag_checked","carry_on_bag_inactive","carry_on_bag_question","cases","casino","cast","cast_connected","cast_for_education","cast_pause","cast_warning","castle","category","category_search","celebration","cell_merge","cell_tower","cell_wifi","center_focus_strong","center_focus_weak","chair","chair_alt","chair_counter","chair_fireplace","chair_umbrella","chalet","change_circle","change_history","charger","charging_station","chart_data","chat","chat_add_on","chat_apps_script","chat_bubble","chat_bubble_off","chat_bubble_outline","chat_dashed","chat_error","chat_info","chat_paste_go","chat_paste_go_2","check","check_alert","check_box","check_box_outline_blank","check_circle","check_circle_filled","check_circle_outline","check_circle_unread","check_in_out","check_indeterminate_small","check_small","checkbook","checked_bag","checked_bag_question","checklist","checklist_rtl","checkroom","cheer","chef_hat","chess","chess_bishop","chess_bishop_2","chess_king","chess_king_2","chess_knight","chess_pawn","chess_pawn_2","chess_queen","chess_rook","chevron_backward","chevron_forward","chevron_left","chevron_line_up","chevron_right","child_care","child_friendly","child_hat","chip_extraction","chips","chrome_reader_mode","chromecast_2","chromecast_device","chronic","church","cinematic_blur","circle","circle_circle","circle_notifications","circles","circles_ext","clarify","class","clean_hands","cleaning","cleaning_bucket","cleaning_services","clear","clear_all","clear_day","clear_night","climate_mini_split","clinical_notes","clock_arrow_down","clock_arrow_up","clock_loader_10","clock_loader_20","clock_loader_40","clock_loader_60","clock_loader_80","clock_loader_90","close","close_fullscreen","close_small","closed_caption","closed_caption_add","closed_caption_disabled","closed_caption_off","cloud","cloud_alert","cloud_circle","cloud_done","cloud_download","cloud_lock","cloud_off","cloud_queue","cloud_sync","cloud_upload","cloudy","cloudy_filled","cloudy_snowing","co2","co_present","code","code_blocks","code_off","code_xml","coffee","coffee_maker","cognition","cognition_2","collapse_all","collapse_content","collections","collections_bookmark","color_lens","colorize","colors","combine_columns","comedy_mask","comic_bubble","comment","comment_bank","comments_disabled","commit","communication","communities","communities_filled","commute","compare","compare_arrows","compass_calibration","component_exchange","compost","compress","computer","computer_arrow_up","computer_cancel","computer_sound","concierge","conditions","confirmation_number","congenital","connect_without_contact","connected_tv","connecting_airports","construction","contact_emergency","contact_mail","contact_page","contact_phone","contact_phone_filled","contact_support","contactless","contactless_off","contacts","contacts_product","content_copy","content_cut","content_paste","content_paste_go","content_paste_off","content_paste_search","contextual_token","contextual_token_add","contract","contract_delete","contract_edit","contrast","contrast_circle","contrast_rtl_off","contrast_square","control_camera","control_point","control_point_duplicate","controller_gen","conversation","conversion_path","conversion_path_off","convert_to_text","conveyor_belt","cookie","cookie_off","cooking","cool_to_dry","copy_all","copyright","coronavirus","corporate_fare","cottage","counter_0","counter_1","counter_2","counter_3","counter_4","counter_5","counter_6","counter_7","counter_8","counter_9","countertops","create","create_new_folder","credit_card","credit_card_clock","credit_card_gear","credit_card_heart","credit_card_off","credit_score","crib","crisis_alert","crop","crop_16_9","crop_21_9","crop_2_3","crop_3_2","crop_5_4","crop_7_5","crop_9_16","crop_din","crop_free","crop_landscape","crop_original","crop_portrait","crop_rotate","crop_square","crossword","crowdsource","crown","cruelty_free","css","csv","currency_bitcoin","currency_exchange","currency_franc","currency_lira","currency_pound","currency_ruble","currency_rupee","currency_rupee_circle","currency_yen","currency_yuan","curtains","curtains_closed","custom_typography","cut","cycle","cyclone","dangerous","dark_mode","dashboard","dashboard_2","dashboard_2_add","dashboard_2_edit","dashboard_2_gear","dashboard_customize","data_alert","data_array","data_check","data_exploration","data_info_alert","data_loss_prevention","data_object","data_saver_off","data_saver_on","data_table","data_thresholding","data_usage","database","database_off","database_search","database_upload","dataset","dataset_linked","date_range","deblur","deceased","decimal_decrease","decimal_increase","deck","dehaze","delete","delete_forever","delete_history","delete_outline","delete_sweep","delivery_dining","delivery_truck_bolt","delivery_truck_speed","demography","density_large","density_medium","density_small","dentistry","departure_board","deployed_code","deployed_code_account","deployed_code_alert","deployed_code_history","deployed_code_update","dermatology","description","deselect","design_services","desk","deskphone","desktop_access_disabled","desktop_cloud","desktop_cloud_stack","desktop_landscape","desktop_landscape_add","desktop_mac","desktop_portrait","desktop_windows","destruction","details","detection_and_zone","detection_and_zone_off","detector","detector_alarm","detector_battery","detector_co","detector_offline","detector_smoke","detector_status","developer_board","developer_board_off","developer_guide","developer_mode","developer_mode_tv","device_band","device_hub","device_reset","device_thermostat","device_unknown","devices","devices_fold","devices_fold_2","devices_off","devices_other","devices_wearables","dew_point","diagnosis","diagonal_line","dialer_sip","dialogs","dialpad","diamond","diamond_shine","dictionary","difference","digital_out_of_home","digital_wellbeing","dine_heart","dine_in","dine_lamp","dining","dinner_dining","directions","directions_alt","directions_alt_off","directions_bike","directions_boat","directions_boat_filled","directions_bus","directions_bus_filled","directions_car","directions_car_filled","directions_off","directions_railway","directions_railway_2","directions_railway_filled","directions_run","directions_subway","directions_subway_filled","directions_transit","directions_transit_filled","directions_walk","directory_sync","dirty_lens","disabled_by_default","disabled_visible","disc_full","discover_tune","dishwasher","dishwasher_gen","display_add","display_external_input","display_settings","distance","diversity_1","diversity_2","diversity_3","diversity_4","dns","do_disturb","do_disturb_alt","do_disturb_off","do_disturb_on","do_not_disturb","do_not_disturb_alt","do_not_disturb_off","do_not_disturb_on","do_not_disturb_on_total_silence","do_not_step","do_not_touch","dock","dock_to_bottom","dock_to_left","dock_to_right","docs","docs_add_on","docs_apps_script","document_scanner","document_search","domain","domain_add","domain_disabled","domain_disabled_check","domain_verification","domain_verification_off","domino_mask","done","done_all","done_outline","donut_large","donut_small","door_back","door_front","door_open","door_sensor","door_sliding","doorbell","doorbell_3p","doorbell_chime","double_arrow","downhill_skiing","download","download_2","download_done","download_for_offline","downloading","draft","draft_orders","drafts","drag_click","drag_handle","drag_indicator","drag_pan","draw","draw_abstract","draw_collage","drawing_recognition","dresser","drive_eta","drive_export","drive_file_move","drive_file_move_outline","drive_file_move_rtl","drive_file_rename","drive_file_rename_outline","drive_folder_upload","drone","drone_2","dropdown","dropdown_menu","dropper_eye","dry","dry_cleaning","dual_screen","duo","dvr","dynamic_feed","dynamic_form","e911_avatar","e911_emergency","e_mobiledata","e_mobiledata_badge","ear_sound","earbud_case","earbud_left","earbud_right","earbuds","earbuds_2","earbuds_battery","early_on","earthquake","east","ecg","ecg_heart","eco","eda","edgesensor_high","edgesensor_low","edit","edit_arrow_down","edit_arrow_up","edit_attributes","edit_audio","edit_calendar","edit_document","edit_location","edit_location_alt","edit_note","edit_notifications","edit_off","edit_road","edit_square","editor_choice","egg","egg_alt","eject","elderly","elderly_woman","electric_bike","electric_bolt","electric_car","electric_meter","electric_moped","electric_rickshaw","electric_scooter","electrical_services","elevation","elevator","email","emergency","emergency_heat","emergency_heat_2","emergency_home","emergency_recording","emergency_share","emergency_share_off","emoji_emotions","emoji_events","emoji_flags","emoji_food_beverage","emoji_language","emoji_nature","emoji_objects","emoji_people","emoji_symbols","emoji_transportation","emoticon","empty_dashboard","enable","encrypted","encrypted_add","encrypted_add_circle","encrypted_minus_circle","encrypted_off","endocrinology","energy","energy_program_saving","energy_program_time_used","energy_savings_leaf","engineering","enhanced_encryption","ent","enterprise","enterprise_off","equal","equalizer","eraser_size_1","eraser_size_2","eraser_size_3","eraser_size_4","eraser_size_5","error","error_circle_rounded","error_med","error_outline","escalator","escalator_warning","euro","euro_symbol","ev_charger","ev_mobiledata_badge","ev_shadow","ev_shadow_add","ev_shadow_minus","ev_station","event","event_available","event_busy","event_list","event_note","event_repeat","event_seat","event_upcoming","exclamation","exercise","exit_to_app","expand","expand_all","expand_circle_down","expand_circle_right","expand_circle_up","expand_content","expand_less","expand_more","expansion_panels","expension_panels","experiment","explicit","explore","explore_nearby","explore_off","explosion","export_notes","exposure","exposure_neg_1","exposure_neg_2","exposure_plus_1","exposure_plus_2","exposure_zero","extension","extension_off","eye_tracking","eyebrow","eyeglasses","eyeglasses_2","eyeglasses_2_sound","eyeglasses_3","face","face_2","face_3","face_4","face_5","face_6","face_down","face_left","face_nod","face_retouching_natural","face_retouching_off","face_right","face_shake","face_unlock","face_up","fact_check","factory","falling","familiar_face_and_zone","family_group","family_history","family_home","family_link","family_restroom","family_star","fan_focus","fan_indirect","farsight_digital","fast_forward","fast_rewind","fastfood","faucet","favorite","favorite_border","fax","feature_search","featured_play_list","featured_seasonal_and_gifts","featured_video","feed","feedback","female","femur","femur_alt","fence","fertile","festival","fiber_dvr","fiber_manual_record","fiber_new","fiber_pin","fiber_smart_record","file_copy","file_copy_off","file_download","file_download_done","file_download_off","file_export","file_json","file_map","file_map_stack","file_open","file_png","file_present","file_save","file_save_off","file_upload","file_upload_off","files","filter","filter_1","filter_2","filter_3","filter_4","filter_5","filter_6","filter_7","filter_8","filter_9","filter_9_plus","filter_alt","filter_alt_off","filter_arrow_right","filter_b_and_w","filter_center_focus","filter_drama","filter_frames","filter_hdr","filter_list","filter_list_alt","filter_list_off","filter_none","filter_retrolux","filter_tilt_shift","filter_vintage","finance","finance_chip","finance_mode","find_in_page","find_replace","fingerprint","fingerprint_off","fire_check","fire_extinguisher","fire_hydrant","fire_truck","fireplace","first_page","fit_page","fit_page_height","fit_page_width","fit_screen","fit_width","fitness_center","fitness_tracker","fitness_trackers","flag","flag_2","flag_check","flag_circle","flag_filled","flaky","flare","flash_auto","flash_off","flash_on","flashlight_off","flashlight_on","flatware","flex_direction","flex_no_wrap","flex_wrap","flight","flight_class","flight_land","flight_takeoff","flights_and_hotels","flightsmode","flip","flip_camera_android","flip_camera_ios","flip_to_back","flip_to_front","float_landscape_2","float_portrait_2","flood","floor","floor_lamp","flourescent","flowchart","flowsheet","fluid","fluid_balance","fluid_med","fluorescent","flutter","flutter_dash","flyover","fmd_bad","fmd_good","foggy","folded_hands","folder","folder_check","folder_check_2","folder_code","folder_copy","folder_data","folder_delete","folder_eye","folder_info","folder_limited","folder_managed","folder_match","folder_off","folder_open","folder_shared","folder_special","folder_supervised","folder_zip","follow_the_signs","font_download","font_download_off","food_bank","foot_bones","footprint","for_you","forest","fork_chart","fork_left","fork_right","fork_spoon","forklift","format_align_center","format_align_justify","format_align_left","format_align_right","format_bold","format_clear","format_color_fill","format_color_reset","format_color_text","format_h1","format_h2","format_h3","format_h4","format_h5","format_h6","format_image_back","format_image_break_left","format_image_break_right","format_image_front","format_image_inline_left","format_image_inline_right","format_image_left","format_image_right","format_indent_decrease","format_indent_increase","format_ink_highlighter","format_italic","format_letter_spacing","format_letter_spacing_2","format_letter_spacing_standard","format_letter_spacing_wide","format_letter_spacing_wider","format_line_spacing","format_list_bulleted","format_list_bulleted_add","format_list_numbered","format_list_numbered_rtl","format_overline","format_paint","format_paint_off","format_paragraph","format_quote","format_quote_off","format_shapes","format_size","format_strikethrough","format_text_clip","format_text_overflow","format_text_wrap","format_textdirection_l_to_r","format_textdirection_r_to_l","format_textdirection_vertical","format_underlined","format_underlined_squiggle","forms_add_on","forms_apps_script","fort","forum","forward","forward_10","forward_30","forward_5","forward_circle","forward_media","forward_to_inbox","foundation","fragrance","frame_bug","frame_exclamation","frame_inspect","frame_person","frame_person_mic","frame_person_off","frame_reload","frame_source","free_breakfast","free_cancellation","front_hand","front_loader","full_coverage","full_hd","full_stacked_bar_chart","fullscreen","fullscreen_exit","fullscreen_portrait","function","functions","funicular","g_mobiledata","g_mobiledata_badge","g_translate","gallery_thumbnail","game_bumper_left","game_bumper_right","game_button_l","game_button_l1","game_button_l2","game_button_r","game_button_r1","game_button_r2","game_button_zl","game_button_zr","game_stick_l3","game_stick_left","game_stick_r3","game_stick_right","game_trigger_left","game_trigger_right","gamepad","gamepad_circle_down","gamepad_circle_left","gamepad_circle_right","gamepad_circle_up","gamepad_down","gamepad_left","gamepad_right","gamepad_up","games","garage","garage_check","garage_door","garage_door_open","garage_home","garage_money","garden_cart","gas_meter","gastroenterology","gate","gavel","general_device","generating_tokens","genetics","genres","gesture","gesture_select","get_app","gif","gif_2","gif_box","girl","gite","glass_cup","globe","globe_2_cancel","globe_2_question","globe_asia","globe_book","globe_clock","globe_location_pin","globe_uk","glucose","glyphs","go_to_line","golf_course","gondola_lift","google_home_devices","google_plus_reshare","google_tv_remote","google_wifi","gpp_bad","gpp_good","gpp_maybe","gps_fixed","gps_not_fixed","gps_off","grade","gradient","grading","grain","graph_1","graph_2","graph_3","graph_4","graph_5","graph_6","graph_7","graph_8","graphic_eq","graphic_eq_off","grass","grid_3x3","grid_3x3_off","grid_4x4","grid_goldenratio","grid_guides","grid_layout_side","grid_off","grid_on","grid_view","grocery","group","group_add","group_off","group_remove","group_search","group_work","grouped_bar_chart","groups","groups_2","groups_3","guardian","gynecology","h_mobiledata","h_mobiledata_badge","h_plus_mobiledata","h_plus_mobiledata_badge","hail","hallway","hanami_dango","hand_bones","hand_gesture","hand_gesture_off","hand_meal","hand_package","handheld_controller","handshake","handwriting_recognition","handyman","hangout_video","hangout_video_off","hard_disk","hard_drive","hard_drive_2","hardware","hd","hdr_auto","hdr_auto_select","hdr_enhanced_select","hdr_off","hdr_off_select","hdr_on","hdr_on_select","hdr_plus","hdr_plus_off","hdr_strong","hdr_weak","head_mounted_device","headphones","headphones_battery","headset","headset_mic","headset_off","healing","health_and_beauty","health_and_safety","health_cross","health_metrics","heap_snapshot_large","heap_snapshot_multiple","heap_snapshot_thumbnail","hearing","hearing_aid","hearing_aid_disabled","hearing_aid_disabled_left","hearing_aid_left","hearing_disabled","heart_broken","heart_check","heart_minus","heart_plus","heart_smile","heat","heat_pump","heat_pump_balance","height","helicopter","help","help_center","help_clinic","help_outline","hematology","hevc","hexagon","hide","hide_image","hide_source","high_chair","high_density","high_quality","high_quality_off","high_res","highlight","highlight_alt","highlight_keyboard_focus","highlight_mouse_cursor","highlight_off","highlight_text_cursor","highlighter_size_1","highlighter_size_2","highlighter_size_3","highlighter_size_4","highlighter_size_5","hiking","history","history_2","history_edu","history_off","history_toggle_off","hive","hls","hls_off","holiday_village","home","home_and_garden","home_app_logo","home_filled","home_health","home_improvement_and_tools","home_iot_device","home_max","home_max_dots","home_mini","home_pin","home_repair_service","home_speaker","home_storage","home_storage_gear","home_work","horizontal_align_center","horizontal_align_left","horizontal_align_right","horizontal_distribute","horizontal_rule","horizontal_split","host","hot_tub","hotel","hotel_class","hourglass","hourglass_arrow_down","hourglass_arrow_up","hourglass_bottom","hourglass_check","hourglass_disabled","hourglass_empty","hourglass_full","hourglass_pause","hourglass_top","house","house_siding","house_with_shield","houseboat","household_supplies","hov","how_to_reg","how_to_vote","hr_resting","html","http","https","hub","humerus","humerus_alt","humidity_high","humidity_indoor","humidity_low","humidity_mid","humidity_percentage","hvac","hvac_max_defrost","ice_skating","icecream","id_card","id_card_2","identity_aware_proxy","identity_platform","ifl","iframe","iframe_off","image","image_arrow_up","image_aspect_ratio","image_inset","image_not_supported","image_search","imagesearch_roller","imagesmode","immunology","import_contacts","import_export","important_devices","in_home_mode","inactive_order","inbox","inbox_customize","inbox_text","inbox_text_asterisk","inbox_text_person","inbox_text_share","incomplete_circle","indeterminate_check_box","indeterminate_question_box","info","info_i","infrared","ink_eraser","ink_eraser_off","ink_highlighter","ink_highlighter_move","ink_highlighter_off","ink_marker","ink_pen","ink_selection","inpatient","input","input_circle","insert_chart","insert_chart_filled","insert_chart_outlined","insert_comment","insert_drive_file","insert_emoticon","insert_invitation","insert_link","insert_page_break","insert_photo","insert_text","insights","install_desktop","install_mobile","instant_mix","integration_instructions","interactive_space","interests","interpreter_mode","inventory","inventory_2","invert_colors","invert_colors_off","ios","ios_share","iron","iso","jamboard_kiosk","japanese_curry","japanese_flag","javascript","jewelry","join","join_full","join_inner","join_left","join_right","joystick","jump_to_element","kanji_alcohol","kayaking","kebab_dining","keep","keep_off","keep_pin","keep_public","kettle","key","key_off","key_vertical","key_visualizer","keyboard","keyboard_alt","keyboard_arrow_down","keyboard_arrow_left","keyboard_arrow_right","keyboard_arrow_up","keyboard_backspace","keyboard_capslock","keyboard_capslock_badge","keyboard_command_key","keyboard_control_key","keyboard_double_arrow_down","keyboard_double_arrow_left","keyboard_double_arrow_right","keyboard_double_arrow_up","keyboard_external_input","keyboard_full","keyboard_hide","keyboard_keys","keyboard_lock","keyboard_lock_off","keyboard_off","keyboard_onscreen","keyboard_option_key","keyboard_previous_language","keyboard_return","keyboard_tab","keyboard_tab_rtl","keyboard_voice","kid_star","king_bed","kitchen","kitesurfing","lab_panel","lab_profile","lab_research","label","label_important","label_important_outline","label_off","label_outline","labs","lan","landscape","landscape_2","landscape_2_edit","landscape_2_off","landslide","language","language_chinese_array","language_chinese_cangjie","language_chinese_dayi","language_chinese_pinyin","language_chinese_quick","language_chinese_wubi","language_french","language_gb_english","language_international","language_japanese_kana","language_korean_latin","language_pinyin","language_spanish","language_us","language_us_colemak","language_us_dvorak","laps","laptop","laptop_car","laptop_chromebook","laptop_mac","laptop_windows","lasso_select","last_page","launch","laundry","layers","layers_clear","lda","leaderboard","leak_add","leak_remove","left_click","left_panel_close","left_panel_open","legend_toggle","lens","lens_blur","letter_switch","library_add","library_add_check","library_books","library_music","license","lift_to_talk","light","light_group","light_group_2","light_mode","light_mode_auto","light_off","lightbulb","lightbulb_2","lightbulb_circle","lightbulb_outline","lightning_stand","lightstrip","line_axis","line_curve","line_end","line_end_arrow","line_end_arrow_notch","line_end_circle","line_end_diamond","line_end_square","line_start","line_start_arrow","line_start_arrow_notch","line_start_circle","line_start_diamond","line_start_square","line_style","line_weight","linear_scale","link","link_2","link_off","linked_camera","linked_services","lips","liquor","list","list_2","list_alt","list_alt_add","list_alt_check","list_arrow","lists","live_help","live_tv","living","local_activity","local_airport","local_atm","local_bar","local_cafe","local_car_wash","local_convenience_store","local_dining","local_drink","local_fire_department","local_florist","local_gas_station","local_grocery_store","local_hospital","local_hotel","local_laundry_service","local_library","local_mall","local_movies","local_offer","local_parking","local_pharmacy","local_phone","local_pizza","local_play","local_police","local_post_office","local_printshop","local_see","local_shipping","local_taxi","location_automation","location_away","location_chip","location_city","location_disabled","location_home","location_off","location_on","location_pin","location_searching","locator_tag","lock","lock_clock","lock_open","lock_open_circle","lock_open_right","lock_outline","lock_person","lock_reset","login","logo_dev","logout","looks","looks_3","looks_4","looks_5","looks_6","looks_one","looks_two","loop","loupe","low_density","low_priority","lowercase","loyalty","lte_mobiledata","lte_mobiledata_badge","lte_plus_mobiledata","lte_plus_mobiledata_badge","luggage","lunch_dining","lyrics","macro_auto","macro_off","magic_button","magic_exchange","magic_tether","magnification_large","magnification_small","magnify_docked","magnify_fullscreen","mail","mail_asterisk","mail_lock","mail_off","mail_outline","mail_shield","male","man","man_2","man_3","man_4","manage_accounts","manage_history","manage_search","manga","manufacturing","map","map_pin_heart","map_pin_review","map_search","maps_home_work","maps_ugc","margin","mark_as_unread","mark_chat_read","mark_chat_unread","mark_email_read","mark_email_unread","mark_unread_chat_alt","markdown","markdown_copy","markdown_paste","markunread","markunread_mailbox","masked_transitions","masked_transitions_add","masks","massage","match_case","match_case_off","match_word","matter","maximize","meal_dinner","meal_lunch","measuring_tape","media_bluetooth_off","media_bluetooth_on","media_link","media_output","media_output_off","mediation","medical_information","medical_mask","medical_services","medication","medication_liquid","meeting_room","memory","memory_alt","menstrual_health","menu","menu_book","menu_book_2","menu_open","merge","merge_type","message","metabolism","metro","mfg_nest_yale_lock","mic","mic_alert","mic_double","mic_external_off","mic_external_on","mic_gear","mic_none","mic_off","microbiology","microwave","microwave_gen","military_tech","mimo","mimo_disconnect","mindfulness","minimize","minor_crash","mintmark","missed_video_call","missed_video_call_filled","missing_controller","mist","mitre","mixture_med","mms","mobile","mobile_2","mobile_3","mobile_alert","mobile_arrow_down","mobile_arrow_right","mobile_arrow_up_right","mobile_block","mobile_camera","mobile_camera_front","mobile_camera_rear","mobile_cancel","mobile_cast","mobile_charge","mobile_chat","mobile_check","mobile_code","mobile_dock","mobile_dots","mobile_friendly","mobile_gear","mobile_hand","mobile_hand_left","mobile_hand_left_off","mobile_hand_off","mobile_info","mobile_landscape","mobile_layout","mobile_lock_landscape","mobile_lock_portrait","mobile_loupe","mobile_menu","mobile_off","mobile_question","mobile_rotate","mobile_rotate_lock","mobile_screen_share","mobile_screensaver","mobile_sensor_hi","mobile_sensor_lo","mobile_share","mobile_share_stack","mobile_sound","mobile_sound_2","mobile_sound_off","mobile_speaker","mobile_text","mobile_text_2","mobile_theft","mobile_ticket","mobile_unlock","mobile_vibrate","mobile_wrench","mobiledata_arrows","mobiledata_off","mode","mode_comment","mode_cool","mode_cool_off","mode_dual","mode_edit","mode_edit_outline","mode_fan","mode_fan_2","mode_fan_off","mode_heat","mode_heat_cool","mode_heat_off","mode_night","mode_of_travel","mode_off_on","mode_standby","model_training","modeling","monetization_on","money","money_bag","money_off","money_off_csred","money_range","monitor","monitor_heart","monitor_weight","monitor_weight_gain","monitor_weight_loss","monitoring","monochrome_photos","monorail","mood","mood_bad","mood_heart","moon_stars","mop","moped","moped_package","more","more_down","more_horiz","more_time","more_up","more_vert","mosque","motion_blur","motion_mode","motion_photos_auto","motion_photos_off","motion_photos_on","motion_photos_pause","motion_photos_paused","motion_play","motion_sensor_active","motion_sensor_alert","motion_sensor_idle","motion_sensor_urgent","motorcycle","mountain_flag","mountain_steam","mouse","mouse_lock","mouse_lock_off","move","move_down","move_group","move_item","move_location","move_selection_down","move_selection_left","move_selection_right","move_selection_up","move_to_inbox","move_up","moved_location","movie","movie_creation","movie_edit","movie_edit_off","movie_filter","movie_info","movie_off","movie_speaker","moving","moving_beds","moving_ministry","mp","multicooker","multiline_chart","multimodal_hand_eye","multiple_airports","multiple_stop","museum","music_cast","music_history","music_note","music_note_2","music_note_add","music_off","music_video","my_location","mystery","nat","nature","nature_people","navigate_before","navigate_next","navigation","near_me","near_me_disabled","nearby","nearby_error","nearby_off","nephrology","nest_audio","nest_cam_floodlight","nest_cam_indoor","nest_cam_iq","nest_cam_iq_outdoor","nest_cam_magnet_mount","nest_cam_outdoor","nest_cam_stand","nest_cam_wall_mount","nest_cam_wired_stand","nest_clock_farsight_analog","nest_clock_farsight_digital","nest_connect","nest_detect","nest_display","nest_display_max","nest_doorbell_visitor","nest_eco_leaf","nest_farsight_cool","nest_farsight_dual","nest_farsight_eco","nest_farsight_heat","nest_farsight_seasonal","nest_farsight_weather","nest_found_savings","nest_gale_wifi","nest_heat_link_e","nest_heat_link_gen_3","nest_hello_doorbell","nest_locator_tag","nest_mini","nest_multi_room","nest_protect","nest_remote","nest_remote_comfort_sensor","nest_secure_alarm","nest_sunblock","nest_tag","nest_thermostat","nest_thermostat_e_eu","nest_thermostat_gen_3","nest_thermostat_sensor","nest_thermostat_sensor_eu","nest_thermostat_zirconium_eu","nest_true_radiant","nest_wake_on_approach","nest_wake_on_press","nest_wifi_gale","nest_wifi_mistral","nest_wifi_point","nest_wifi_point_vento","nest_wifi_pro","nest_wifi_pro_2","nest_wifi_router","network_cell","network_check","network_intel_node","network_intelligence","network_intelligence_history","network_intelligence_update","network_locked","network_manage","network_node","network_ping","network_wifi","network_wifi_1_bar","network_wifi_1_bar_locked","network_wifi_2_bar","network_wifi_2_bar_locked","network_wifi_3_bar","network_wifi_3_bar_locked","network_wifi_locked","neurology","new_label","new_releases","new_window","news","newsmode","newspaper","newsstand","next_plan","next_week","nfc","nfc_off","night_shelter","night_sight_auto","night_sight_auto_off","night_sight_max","nightlife","nightlight","nightlight_round","nights_stay","no_accounts","no_adult_content","no_backpack","no_crash","no_drinks","no_encryption","no_encryption_gmailerrorred","no_flash","no_food","no_luggage","no_meals","no_meeting_room","no_photography","no_sim","no_sound","no_stroller","no_transfer","noise_aware","noise_control_off","noise_control_on","nordic_walking","north","north_east","north_west","not_accessible","not_accessible_forward","not_interested","not_listed_location","not_started","note","note_add","note_alt","note_stack","note_stack_add","notes","notification_add","notification_audio","notification_audio_off","notification_important","notification_multiple","notification_settings","notification_sound","notifications","notifications_active","notifications_none","notifications_off","notifications_paused","notifications_unread","numbers","nutrition","ods","odt","offline_bolt","offline_pin","offline_pin_off","offline_share","oil_barrel","okonomiyaki","on_device_training","on_hub_device","oncology","ondemand_video","online_prediction","onsen","opacity","open_in_browser","open_in_full","open_in_new","open_in_new_down","open_in_new_off","open_in_phone","open_jam","open_run","open_with","ophthalmology","oral_disease","orbit","order_approve","order_play","orders","orthopedics","other_admission","other_houses","outbound","outbox","outbox_alt","outdoor_garden","outdoor_grill","outgoing_mail","outlet","outlined_flag","outpatient","outpatient_med","output","output_circle","oven","oven_gen","overview","overview_key","owl","oxygen_saturation","p2p","pace","pacemaker","package","package_2","padding","padel","page_control","page_footer","page_header","page_info","page_menu_ios","pageless","pages","pageview","paid","palette","pallet","pan_tool","pan_tool_alt","pan_zoom","panorama","panorama_fish_eye","panorama_horizontal","panorama_photosphere","panorama_vertical","panorama_wide_angle","paragliding","parent_child_dining","park","parking_meter","parking_sign","parking_valet","partly_cloudy_day","partly_cloudy_night","partner_exchange","partner_heart","partner_reports","party_mode","passkey","passport","password","password_2","password_2_off","patient_list","pattern","pause","pause_circle","pause_circle_filled","pause_circle_outline","pause_presentation","payment","payment_arrow_down","payment_card","payments","pedal_bike","pediatrics","pen_size_1","pen_size_2","pen_size_3","pen_size_4","pen_size_5","pending","pending_actions","pentagon","people","people_alt","people_outline","percent","percent_discount","performance_max","pergola","perm_camera_mic","perm_contact_calendar","perm_data_setting","perm_device_information","perm_identity","perm_media","perm_phone_msg","perm_scan_wifi","person","person_2","person_3","person_4","person_add","person_add_alt","person_add_disabled","person_alert","person_apron","person_book","person_cancel","person_celebrate","person_check","person_edit","person_filled","person_heart","person_off","person_outline","person_pin","person_pin_circle","person_play","person_raised_hand","person_remove","person_search","person_shield","person_text","personal_bag","personal_bag_off","personal_bag_question","personal_injury","personal_places","personal_video","pest_control","pest_control_rodent","pet_supplies","pets","phishing","phone","phone_alt","phone_android","phone_bluetooth_speaker","phone_callback","phone_cancel","phone_disabled","phone_enabled","phone_forwarded","phone_in_talk","phone_iphone","phone_locked","phone_missed","phone_paused","phonelink","phonelink_erase","phonelink_lock","phonelink_off","phonelink_ring","phonelink_ring_off","phonelink_setup","photo","photo_album","photo_auto_merge","photo_camera","photo_camera_back","photo_camera_front","photo_filter","photo_frame","photo_library","photo_prints","photo_size_select_actual","photo_size_select_large","photo_size_select_small","php","physical_therapy","piano","piano_off","pickleball","picture_as_pdf","picture_in_picture","picture_in_picture_alt","picture_in_picture_center","picture_in_picture_large","picture_in_picture_medium","picture_in_picture_mobile","picture_in_picture_off","picture_in_picture_small","pie_chart","pie_chart_filled","pie_chart_outline","pie_chart_outlined","pill","pill_off","pin","pin_drop","pin_end","pin_history","pin_invoke","pin_road","pin_road_2","pinboard","pinboard_unread","pinch","pinch_zoom_in","pinch_zoom_out","pip","pip_exit","pivot_table_chart","place","place_item","plagiarism","plane_contrails","planet","planner_banner_ad_pt","planner_review","play_arrow","play_circle","play_disabled","play_for_work","play_lesson","play_music","play_pause","play_shapes","playground","playground_2","playing_cards","playlist_add","playlist_add_check","playlist_add_check_circle","playlist_add_circle","playlist_play","playlist_remove","plug_connect","plumbing","plus_one","podcasts","podiatry","podium","point_of_sale","point_scan","poker_chip","policy","policy_alert","poll","polyline","polymer","pool","portable_wifi_off","portrait","position_bottom_left","position_bottom_right","position_top_right","post","post_add","potted_plant","power","power_input","power_off","power_rounded","power_settings_circle","power_settings_new","prayer_times","precision_manufacturing","pregnancy","pregnant_woman","preliminary","prescriptions","present_to_all","preview","preview_off","price_change","price_check","print","print_add","print_connect","print_disabled","print_error","print_lock","priority","priority_high","privacy","privacy_tip","private_connectivity","problem","procedure","process_chart","production_quantity_limits","productivity","progress_activity","prompt_suggestion","propane","propane_tank","psychiatry","psychology","psychology_alt","public","public_off","publish","published_with_changes","pulmonology","pulse_alert","punch_clock","push_pin","qr_code","qr_code_2","qr_code_2_add","qr_code_scanner","query_builder","query_stats","question_answer","question_exchange","question_mark","queue","queue_music","queue_play_next","quick_phrases","quick_reference","quick_reference_all","quick_reorder","quickreply","quiet_time","quiet_time_active","quiz","r_mobiledata","radar","radio","radio_button_checked","radio_button_partial","radio_button_unchecked","radiology","railway_alert","railway_alert_2","rainy","rainy_heavy","rainy_light","rainy_snow","ramen_dining","ramp_left","ramp_right","range_hood","rate_review","rate_review_rtl","raven","raw_off","raw_on","read_more","readiness_score","real_estate_agent","rear_camera","rebase","rebase_edit","receipt","receipt_long","receipt_long_off","recent_actors","recent_patient","recenter","recommend","record_voice_over","rectangle","rectangle_add","recycling","redeem","redo","reduce_capacity","refresh","regular_expression","relax","release_alert","remember_me","reminder","reminders_alt","remote_gen","remove","remove_circle","remove_circle_outline","remove_done","remove_from_queue","remove_moderator","remove_red_eye","remove_road","remove_selection","remove_shopping_cart","reopen_window","reorder","repartition","repeat","repeat_on","repeat_one","repeat_one_on","replace_audio","replace_image","replace_video","replay","replay_10","replay_30","replay_5","replay_circle_filled","reply","reply_all","report","report_gmailerrorred","report_off","report_problem","request_page","request_quote","reset_brightness","reset_colors","reset_exposure","reset_focus","reset_image","reset_iso","reset_settings","reset_shadow","reset_shutter_speed","reset_tv","reset_white_balance","reset_wrench","resize","resize_window","respiratory_rate","responsive_layout","rest_area","restart_alt","restaurant","restaurant_menu","restore","restore_from_trash","restore_page","resume","reviews","rewarded_ads","rheumatology","rib_cage","rice_bowl","right_click","right_panel_close","right_panel_open","ring_volume","ring_volume_filled","ripples","road","robot","robot_2","rocket","rocket_launch","roller_shades","roller_shades_closed","roller_skating","roofing","room","room_preferences","room_service","rotate_90_degrees_ccw","rotate_90_degrees_cw","rotate_auto","rotate_left","rotate_right","roundabout_left","roundabout_right","rounded_corner","route","router","router_off","routine","rowing","rss_feed","rsvp","rtt","rubric","rule","rule_folder","rule_settings","run_circle","running_with_errors","rv_hookup","safety_check","safety_check_off","safety_divider","sailing","salinity","sanitizer","satellite","satellite_alt","sauna","save","save_alt","save_as","save_clock","saved_search","savings","scale","scan","scan_delete","scanner","scatter_plot","scene","schedule","schedule_send","schema","school","science","science_off","scooter","score","scoreboard","screen_lock_landscape","screen_lock_portrait","screen_lock_rotation","screen_record","screen_rotation","screen_rotation_alt","screen_rotation_up","screen_search_desktop","screen_share","screenshot","screenshot_frame","screenshot_frame_2","screenshot_keyboard","screenshot_monitor","screenshot_region","screenshot_tablet","script","scrollable_header","scuba_diving","sd","sd_card","sd_card_alert","sd_storage","sdk","search","search_activity","search_check","search_check_2","search_gear","search_hands_free","search_insights","search_off","seat_cool_left","seat_cool_right","seat_heat_left","seat_heat_right","seat_read","seat_vent_left","seat_vent_right","seat_window","security","security_key","security_update","security_update_good","security_update_warning","segment","select","select_all","select_check_box","select_to_speak","select_window","select_window_2","select_window_off","self_care","self_improvement","sell","sell_cloud","send","send_and_archive","send_money","send_time_extension","send_to_mobile","sensor_door","sensor_occupied","sensor_window","sensors","sensors_krx","sensors_krx_off","sensors_off","sentiment_calm","sentiment_content","sentiment_dissatisfied","sentiment_excited","sentiment_extremely_dissatisfied","sentiment_frustrated","sentiment_neutral","sentiment_sad","sentiment_satisfied","sentiment_satisfied_alt","sentiment_stressed","sentiment_very_dissatisfied","sentiment_very_satisfied","sentiment_worried","serif","server_person","service_toolbox","set_meal","settings","settings_accessibility","settings_account_box","settings_alert","settings_applications","settings_b_roll","settings_backup_restore","settings_bluetooth","settings_brightness","settings_cell","settings_cinematic_blur","settings_ethernet","settings_heart","settings_input_antenna","settings_input_component","settings_input_composite","settings_input_hdmi","settings_input_svideo","settings_motion_mode","settings_night_sight","settings_overscan","settings_panorama","settings_phone","settings_photo_camera","settings_power","settings_remote","settings_screen","settings_seating","settings_slow_motion","settings_suggest","settings_system_daydream","settings_timelapse","settings_video_camera","settings_voice","settop_component","severe_cold","shades","shades_closed","shadow","shadow_add","shadow_minus","shape_line","shape_recognition","shapes","share","share_eta","share_location","share_off","share_reviews","share_windows","shaved_ice","sheets_rtl","shelf_auto_hide","shelf_position","shelves","shield","shield_card","shield_lock","shield_locked","shield_moon","shield_person","shield_question","shield_radar","shield_toggle","shield_watch","shield_with_heart","shield_with_house","shift","shift_lock","shift_lock_off","shoe_cleats","shop","shop_2","shop_two","shopping_bag","shopping_bag_speed","shopping_basket","shopping_cart","shopping_cart_checkout","shopping_cart_off","shoppingmode","short_stay","short_text","shortcut","show_chart","shower","shuffle","shuffle_on","shutter_speed","shutter_speed_add","shutter_speed_minus","sick","side_navigation","sign_language","sign_language_2","sign_language_off","signal_cellular_0_bar","signal_cellular_1_bar","signal_cellular_2_bar","signal_cellular_3_bar","signal_cellular_4_bar","signal_cellular_add","signal_cellular_alt","signal_cellular_alt_1_bar","signal_cellular_alt_2_bar","signal_cellular_alt_off","signal_cellular_connected_no_internet_0_bar","signal_cellular_connected_no_internet_4_bar","signal_cellular_no_sim","signal_cellular_nodata","signal_cellular_null","signal_cellular_off","signal_cellular_pause","signal_disconnected","signal_wifi_0_bar","signal_wifi_4_bar","signal_wifi_4_bar_lock","signal_wifi_bad","signal_wifi_connected_no_internet_4","signal_wifi_off","signal_wifi_statusbar_4_bar","signal_wifi_statusbar_not_connected","signal_wifi_statusbar_null","signature","signpost","sim_card","sim_card_alert","sim_card_download","sim_card_lock","simulation","single_arrow","single_bed","sip","siren","siren_check","siren_open","siren_question","skateboarding","skeleton","skillet","skillet_cooktop","skip_next","skip_previous","skull","skull_list","slab_serif","sledding","sleep","sleep_score","slide_library","sliders","slideshow","slow_motion_video","smart_button","smart_card_reader","smart_card_reader_off","smart_display","smart_outlet","smart_screen","smart_toy","smartphone","smartphone_camera","smb_share","smoke_free","smoking_rooms","sms","sms_failed","snail","snippet_folder","snooze","snowboarding","snowflake","snowing","snowing_heavy","snowmobile","snowshoeing","soap","soba","social_distance","social_leaderboard","solar_power","solo_dining","sort","sort_by_alpha","sos","sound_detection_dog_barking","sound_detection_glass_break","sound_detection_loud_sound","sound_sampler","soundbar","soup_kitchen","source","source_environment","source_notes","south","south_america","south_east","south_west","spa","space_bar","space_dashboard","space_dashboard_2","spatial_audio","spatial_audio_off","spatial_speaker","spatial_tracking","speaker","speaker_2","speaker_group","speaker_notes","speaker_notes_off","speaker_phone","special_character","specific_gravity","speech_to_text","speech_to_text_2","speed","speed_0_25","speed_0_2x","speed_0_5","speed_0_5x","speed_0_75","speed_0_7x","speed_1_2","speed_1_25","speed_1_2x","speed_1_5","speed_1_5x","speed_1_75","speed_1_7x","speed_2","speed_2x","speed_3","speed_4","speed_camera","spellcheck","split_scene","split_scene_2","split_scene_down","split_scene_left","split_scene_right","split_scene_up","splitscreen","splitscreen_add","splitscreen_bottom","splitscreen_landscape","splitscreen_landscape_add","splitscreen_left","splitscreen_portrait","splitscreen_right","splitscreen_top","splitscreen_vertical_add","spo2","spoke","sports","sports_and_outdoors","sports_bar","sports_baseball","sports_basketball","sports_cricket","sports_esports","sports_football","sports_golf","sports_gymnastics","sports_handball","sports_hockey","sports_kabaddi","sports_martial_arts","sports_mma","sports_motorsports","sports_rugby","sports_score","sports_soccer","sports_tennis","sports_volleyball","sprinkler","sprint","sql","square","square_circle","square_dot","square_foot","ssid_chart","stack","stack_group","stack_hexagon","stack_off","stack_star","stacked_bar_chart","stacked_email","stacked_inbox","stacked_line_chart","stacks","stadia_controller","stadium","stairs","stairs_2","star","star_border","star_border_purple500","star_half","star_outline","star_purple500","star_rate","star_rate_half","star_shine","stars","stars_2","start","stat_0","stat_1","stat_2","stat_3","stat_minus_1","stat_minus_2","stat_minus_3","stay_current_landscape","stay_current_portrait","stay_primary_landscape","stay_primary_portrait","steering_wheel_cool","steering_wheel_heat","step","step_into","step_out","step_over","steppers","steps","stethoscope","stethoscope_arrow","stethoscope_check","sticker","sticker_add","sticky_note","sticky_note_2","stock_media","stockpot","stop","stop_circle","stop_screen_share","storage","store","store_mall_directory","storefront","storm","straight","straighten","strategy","stream","stream_apps","streetview","stress_management","strikethrough_s","stroke_full","stroke_partial","stroller","style","styler","stylus","stylus_brush","stylus_fountain_pen","stylus_highlighter","stylus_laser_pointer","stylus_note","stylus_pen","stylus_pencil","subdirectory_arrow_left","subdirectory_arrow_right","subheader","subject","subscript","subscriptions","subtitles","subtitles_gear","subtitles_off","subway","subway_walk","subwoofer","summarize","sunny","sunny_snowing","superscript","supervised_user_circle","supervised_user_circle_off","supervisor_account","support","support_agent","surfing","surgical","surround_sound","swap_calls","swap_driving_apps","swap_driving_apps_wheel","swap_horiz","swap_horizontal_circle","swap_vert","swap_vertical_circle","sweep","swipe","swipe_down","swipe_down_alt","swipe_left","swipe_left_2","swipe_left_alt","swipe_right","swipe_right_2","swipe_right_alt","swipe_up","swipe_up_alt","swipe_vertical","switch","switch_access","switch_access_2","switch_access_3","switch_access_shortcut","switch_access_shortcut_add","switch_account","switch_camera","switch_left","switch_off","switch_right","switch_video","switches","sword_rose","swords","symptoms","synagogue","sync","sync_alt","sync_arrow_down","sync_arrow_up","sync_desktop","sync_disabled","sync_lock","sync_problem","sync_saved_locally","sync_saved_locally_off","syringe","system_security_update","system_security_update_good","system_security_update_warning","system_update","system_update_alt","tab","tab_close","tab_close_inactive","tab_close_right","tab_duplicate","tab_group","tab_inactive","tab_move","tab_new_right","tab_recent","tab_search","tab_unselected","table","table_bar","table_chart","table_chart_view","table_convert","table_edit","table_eye","table_lamp","table_large","table_restaurant","table_rows","table_rows_narrow","table_sign","table_view","tablet","tablet_android","tablet_camera","tablet_mac","tabs","tactic","tag","tag_faces","takeout_dining","takeout_dining_2","tamper_detection_off","tamper_detection_on","tap_and_play","tapas","target","task","task_alt","tatami_seat","taunt","taxi_alert","team_dashboard","temp_preferences_custom","temp_preferences_eco","temple_buddhist","temple_hindu","tenancy","terminal","terminal_2","terminal_add","terrain","text_ad","text_ad_off","text_compare","text_decrease","text_fields","text_fields_alt","text_format","text_increase","text_rotate_up","text_rotate_vertical","text_rotation_angledown","text_rotation_angleup","text_rotation_down","text_rotation_none","text_select_end","text_select_jump_to_beginning","text_select_jump_to_end","text_select_move_back_character","text_select_move_back_word","text_select_move_down","text_select_move_forward_character","text_select_move_forward_word","text_select_move_up","text_select_start","text_snippet","text_to_speech","text_up","textsms","texture","texture_add","texture_minus","theater_comedy","theaters","thermometer","thermometer_add","thermometer_alert","thermometer_gain","thermometer_loss","thermometer_minus","thermostat","thermostat_arrow_down","thermostat_arrow_up","thermostat_auto","thermostat_carbon","things_to_do","thread_unread","threat_intelligence","thumb_down","thumb_down_alt","thumb_down_filled","thumb_down_off","thumb_down_off_alt","thumb_up","thumb_up_alt","thumb_up_filled","thumb_up_off","thumb_up_off_alt","thumbnail_bar","thumbs_up_double","thumbs_up_down","thunderstorm","tibia","tibia_alt","tile_large","tile_medium","tile_small","tilt_arrow_down","tilt_arrow_up","time_auto","time_to_leave","timelapse","timeline","timer","timer_1","timer_10","timer_10_alt_1","timer_10_select","timer_2","timer_3","timer_3_alt_1","timer_3_select","timer_5","timer_5_shutter","timer_arrow_down","timer_arrow_up","timer_off","timer_pause","timer_play","tips_and_updates","tire_repair","title","titlecase","toast","toc","today","toggle_off","toggle_on","token","toll","tonality","tonality_2","toolbar","tools_flat_head","tools_installation_kit","tools_ladder","tools_level","tools_phillips","tools_pliers_wire_stripper","tools_power_drill","tools_wrench","tooltip","tooltip_2","top_panel_close","top_panel_open","topic","tornado","total_dissolved_solids","touch_app","touch_double","touch_double_2","touch_long","touch_triple","touchpad_mouse","touchpad_mouse_off","tour","toys","toys_and_games","toys_fan","track_changes","trackpad_input","trackpad_input_2","trackpad_input_3","traffic","traffic_jam","trail_length","trail_length_medium","trail_length_short","train","tram","transcribe","transfer_within_a_station","transform","transgender","transit_enterexit","transit_ticket","transition_chop","transition_dissolve","transition_fade","transition_push","transition_slide","translate","translate_indic","transportation","travel","travel_explore","travel_luggage_and_bags","trending_down","trending_flat","trending_up","triangle_circle","trip","trip_origin","trolley","trolley_cable_car","trophy","troubleshoot","try","tsunami","tsv","tty","tune","tungsten","turn_left","turn_right","turn_sharp_left","turn_sharp_right","turn_slight_left","turn_slight_right","turned_in","turned_in_not","tv","tv_displays","tv_gen","tv_guide","tv_next","tv_off","tv_options_edit_channels","tv_options_input_settings","tv_remote","tv_signin","tv_with_assistant","two_pager","two_pager_store","two_wheeler","type_specimen","u_turn_left","u_turn_right","udon","ulna_radius","ulna_radius_alt","umbrella","unarchive","undereye","undo","unfold_less","unfold_less_double","unfold_more","unfold_more_double","ungroup","universal_currency","universal_currency_alt","universal_local","unknown_2","unknown_5","unknown_7","unknown_document","unknown_med","unlicense","unpaved_road","unpin","unpublished","unsubscribe","upcoming","update","update_disabled","upgrade","upi_pay","upload","upload_2","upload_file","uppercase","urology","usb","usb_off","user_attributes","vaccines","vacuum","vacuum_2","vacuum_2_on","valve","vape_free","vaping_rooms","variable_add","variable_insert","variable_remove","variables","ventilator","verified","verified_off","verified_user","vertical_align_bottom","vertical_align_center","vertical_align_top","vertical_distribute","vertical_shades","vertical_shades_closed","vertical_split","vibration","video_call","video_camera_back","video_camera_back_add","video_camera_front","video_camera_front_off","video_chat","video_file","video_frame_copy","video_frame_save","video_label","video_library","video_search","video_settings","video_stable","video_template","videocam","videocam_alert","videocam_off","videogame_asset","videogame_asset_off","view_agenda","view_apps","view_array","view_carousel","view_column","view_column_2","view_comfy","view_comfy_alt","view_compact","view_compact_alt","view_cozy","view_day","view_headline","view_in_ar","view_in_ar_new","view_in_ar_off","view_kanban","view_list","view_module","view_object_track","view_quilt","view_real_size","view_sidebar","view_stream","view_timeline","view_week","vignette","vignette_2","villa","visibility","visibility_lock","visibility_off","vital_signs","vitals","vo2_max","voice_chat","voice_chat_off","voice_over_off","voice_selection","voice_selection_off","voicemail","voicemail_2","volcano","volume_down","volume_down_alt","volume_mute","volume_off","volume_up","volunteer_activism","voting_chip","vpn_key","vpn_key_alert","vpn_key_off","vpn_lock","vpn_lock_2","vr180_create2d","vr180_create2d_off","vrpano","walk_bike","wall_art","wall_lamp","wallet","wallpaper","wallpaper_slideshow","wand_shine","wand_stars","ward","warehouse","warning","warning_amber","warning_off","wash","washoku","watch","watch_alert","watch_arrow","watch_arrow_down","watch_button","watch_button_press","watch_check","watch_later","watch_lock","watch_off","watch_screentime","watch_vibration","watch_wake","water","water_bottle","water_bottle_large","water_damage","water_do","water_drop","water_drops","water_ec","water_full","water_heater","water_lock","water_loss","water_lux","water_medium","water_orp","water_ph","water_pump","water_voc","waterfall_chart","waves","waving_hand","wb_auto","wb_cloudy","wb_incandescent","wb_iridescent","wb_shade","wb_sunny","wb_twilight","wb_twilight_2","wc","weather_hail","weather_mix","weather_snowy","web","web_asset","web_asset_off","web_stories","web_traffic","webhook","weekend","weight","west","whatshot","wheat","wheelchair_pickup","where_to_vote","widget_medium","widget_menu","widget_small","widget_width","widgets","width","width_full","width_normal","width_wide","wifi","wifi_1_bar","wifi_2_bar","wifi_add","wifi_calling","wifi_calling_1","wifi_calling_2","wifi_calling_3","wifi_calling_bar_1","wifi_calling_bar_2","wifi_calling_bar_3","wifi_channel","wifi_device","wifi_find","wifi_home","wifi_lock","wifi_notification","wifi_off","wifi_password","wifi_protected_setup","wifi_proxy","wifi_tethering","wifi_tethering_error","wifi_tethering_off","wind_power","window","window_closed","window_open","window_sensor","windshield_defrost_auto","windshield_defrost_front","windshield_defrost_rear","windshield_heat_front","wine_bar","woman","woman_2","work","work_alert","work_history","work_off","work_outline","work_update","workflow","workspace_premium","workspaces","workspaces_outline","wounds_injuries","wrap_text","wrist","wrong_location","wysiwyg","x_circle","y_circle","yakitori","yard","yoshoku","your_trips","youtube_activity","youtube_searched_for","zone_person_alert","zone_person_idle","zone_person_urgent","zoom_in","zoom_in_map","zoom_out","zoom_out_map"],Vt=E;function la(){let d="";for(const e of Rt)d+=`.fx-icon-${e}::before{content:"${e}"}`;return d}function Ot(){return Mt()+Vt+la()}let Me=!1;function Bt(d=typeof document!="undefined"?document:void 0){if(Me||!d)return;const e=d.createElement("style");e.id=Dt,e.textContent=Ot(),d.head.appendChild(e),Me=!0}function ca(){Me=!1,jt()}Bt();const I=Object.freeze(Object.defineProperty({__proto__:null,FENIX_ICON_BASE_CSS:E,FENIX_ICON_DOC_BASE_CSS:Vt,FENIX_ICON_FONT_FAMILY:j,FENIX_ICON_NAMES:Rt,__resetFenixIconsFontInjection:jt,__resetFenixIconsInjection:ca,buildFenixIconsCss:Ot,buildFenixIconsFontCss:It,isFenixIconName:C,loadFenixIcons:Bt,loadFenixIconsFont:Nt},Symbol.toStringTag,{value:"Module"}))});