@wrrdev/fenix-ui 1.1.14 → 1.1.15

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 (69) hide show
  1. package/README.md +5 -4
  2. package/dist/components/editor/commands.d.ts +27 -0
  3. package/dist/components/editor/commands.d.ts.map +1 -0
  4. package/dist/components/editor/commands.js +235 -0
  5. package/dist/components/editor/commands.js.map +1 -0
  6. package/dist/components/editor/editor.d.ts +83 -0
  7. package/dist/components/editor/editor.d.ts.map +1 -0
  8. package/dist/components/editor/editor.js +1951 -0
  9. package/dist/components/editor/editor.js.map +1 -0
  10. package/dist/components/editor/index.d.ts +12 -0
  11. package/dist/components/editor/index.d.ts.map +1 -0
  12. package/dist/components/editor/index.js +7 -0
  13. package/dist/components/editor/index.js.map +1 -0
  14. package/dist/components/editor/normalize-html.d.ts +33 -0
  15. package/dist/components/editor/normalize-html.d.ts.map +1 -0
  16. package/dist/components/editor/normalize-html.js +316 -0
  17. package/dist/components/editor/normalize-html.js.map +1 -0
  18. package/dist/components/editor/sanitize-html.d.ts +37 -0
  19. package/dist/components/editor/sanitize-html.d.ts.map +1 -0
  20. package/dist/components/editor/sanitize-html.js +247 -0
  21. package/dist/components/editor/sanitize-html.js.map +1 -0
  22. package/dist/components/editor/schema.d.ts +36 -0
  23. package/dist/components/editor/schema.d.ts.map +1 -0
  24. package/dist/components/editor/schema.js +232 -0
  25. package/dist/components/editor/schema.js.map +1 -0
  26. package/dist/components/editor/selection.d.ts +22 -0
  27. package/dist/components/editor/selection.d.ts.map +1 -0
  28. package/dist/components/editor/selection.js +97 -0
  29. package/dist/components/editor/selection.js.map +1 -0
  30. package/dist/components/editor/styles.d.ts +10 -0
  31. package/dist/components/editor/styles.d.ts.map +1 -0
  32. package/dist/components/editor/styles.js +446 -0
  33. package/dist/components/editor/styles.js.map +1 -0
  34. package/dist/components/editor/table-utils.d.ts +33 -0
  35. package/dist/components/editor/table-utils.d.ts.map +1 -0
  36. package/dist/components/editor/table-utils.js +150 -0
  37. package/dist/components/editor/table-utils.js.map +1 -0
  38. package/dist/components/input/input.d.ts +5 -1
  39. package/dist/components/input/input.d.ts.map +1 -1
  40. package/dist/components/input/input.js +15 -1
  41. package/dist/components/input/input.js.map +1 -1
  42. package/dist/components/toast/toast.d.ts +10 -10
  43. package/dist/components/toast/toast.d.ts.map +1 -1
  44. package/dist/components/toast/toast.js +46 -13
  45. package/dist/components/toast/toast.js.map +1 -1
  46. package/dist/core/jsx.d.ts +25 -1
  47. package/dist/core/jsx.d.ts.map +1 -1
  48. package/dist/core/jsx.js.map +1 -1
  49. package/dist/core/vue.d.ts +3 -1
  50. package/dist/core/vue.d.ts.map +1 -1
  51. package/dist/core/vue.js.map +1 -1
  52. package/dist/docs/componentes/editor.doc.d.ts +6 -0
  53. package/dist/docs/componentes/editor.doc.d.ts.map +1 -0
  54. package/dist/docs/componentes/index.d.ts.map +1 -1
  55. package/dist/docs/componentes/input.doc.d.ts.map +1 -1
  56. package/dist/fenix-ui.umd.min.js +748 -254
  57. package/dist/fenix-ui2.esm.js.map +1 -1
  58. package/dist/fenix-ui4.esm.js +3817 -183
  59. package/dist/fenix-ui4.esm.js.map +1 -1
  60. package/dist/fenix-ui5.esm.js +1 -0
  61. package/dist/fenix-ui5.esm.js.map +1 -1
  62. package/dist/index.d.ts +1 -0
  63. package/dist/index.d.ts.map +1 -1
  64. package/dist/index.js +14 -0
  65. package/dist/index.js.map +1 -1
  66. package/dist/plugins/auto-import.d.ts.map +1 -1
  67. package/dist/plugins/auto-import.js +1 -0
  68. package/dist/plugins/auto-import.js.map +1 -1
  69. package/package.json +5 -1
@@ -1,6 +1,6 @@
1
- (function($){typeof define=="function"&&define.amd?define($):$()})(function(){"use strict";var rr=$=>{throw TypeError($)};var $a=($,E,g)=>E.has($)||rr("Cannot "+g);var ar=($,E,g)=>E.has($)?rr("Cannot add the same private member more than once"):E instanceof WeakSet?E.add($):E.set($,g);var q=($,E,g)=>($a($,E,"access private method"),g);var A,ir,X,Y,Pt,Ot,or,sr;const $=new Map;function E(c){return $.set(c.name,c),c}E({name:"ikki",label:"Ikki (padrão)",tokens:{effect:{"focus-ring":"none"}}}),E({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"}}}),E({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"}}}),E({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"}}}),E({name:"shun",label:"Shun",tokens:{color:{primary:"#db2777",secondary:"#f472b6",info:"#ec4899",warning:"#c026d3"},radius:{sm:"10px",md:"14px",lg:"20px"}}}),E({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 g(c,...e){return c.reduce((t,r,a)=>t+r+(a<e.length?String(e[a]):""),"")}const H=class H extends HTMLElement{static get observedAttributes(){return[]}constructor(){super(),this.root=this.attachShadow(this.constructor.shadowOptions)}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}`}};H.styles="",H.shadowOptions={mode:"open"};let y=H;const K=class K extends y{constructor(){super(),this._initialValue="",this._initialCaptured=!1,this._autofocused=!1,this.internals=typeof this.attachInternals=="function"?this.attachInternals():null}get name(){var e;return(e=this.getAttribute("name"))!=null?e:""}get form(){var e,t;return(t=(e=this.internals)==null?void 0:e.form)!=null?t:this.closest("form")}get type(){return this.localName}get willValidate(){var e,t;return(t=(e=this.internals)==null?void 0:e.willValidate)!=null?t:!1}get validity(){var e,t;return(t=(e=this.internals)==null?void 0:e.validity)!=null?t:null}get validationMessage(){var e,t;return(t=(e=this.internals)==null?void 0:e.validationMessage)!=null?t:""}get labels(){var e,t;return(t=(e=this.internals)==null?void 0:e.labels)!=null?t:this.childNodes}checkValidity(){var e,t,r;return(r=(t=(e=this.internals)==null?void 0:e.checkValidity)==null?void 0:t.call(e))!=null?r:!0}reportValidity(){var e,t,r;return(r=(t=(e=this.internals)==null?void 0:e.reportValidity)==null?void 0:t.call(e))!=null?r:!0}connectedCallback(){super.connectedCallback(),this._initialCaptured||(this._initialCaptured=!0,this._initialValue=this.getAttr("value")),this.updateFormValue(),!this._autofocused&&this.hasAttr("autofocus")&&(this._autofocused=!0,queueMicrotask(()=>{this.isConnected&&this.hasAttr("autofocus")&&this.focusInnerControl()}))}focusInnerControl(){if(this.focus(),!this.root.activeElement){const e=this.root.querySelector('input, textarea, button, select, [tabindex]:not([tabindex="-1"])');e==null||e.focus()}}getFormValue(){return this.getAttr("value")||null}emitValueEvents(e){const t=this.getAttr("value");this.syncInternalControl(),this.updateFormValue();const r={value:t,...e};for(const a of["input","valueChange"])this.dispatchEvent(new CustomEvent(a,{bubbles:!0,composed:!0,detail:r}))}updateFormValue(){!this.internals||typeof this.internals.setFormValue!="function"||this.internals.setFormValue(this.getFormValue())}formDisabledCallback(e){e?this.setAttribute("disabled",""):this.removeAttribute("disabled")}formResetCallback(){this.setAttribute("value",this._initialValue),this.syncInternalControl(),this.updateFormValue()}syncInternalControl(){}};K.formAssociated=!0,K.shadowOptions={mode:"open",delegatesFocus:!0};let S=K;function v(c,e){var t;return typeof customElements!="undefined"&&!customElements.get(c)&&customElements.define(c,e),(t=customElements.get(c))!=null?t:e}const nr={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;","`":"&#x60;","=":"&#x3D;"},lr=/[&<>"'`=/]/g;function h(c){return c==null?"":String(c).replace(lr,e=>nr[e]||e)}const U="Fenix Icons",C=`
1
+ (function(T){typeof define=="function"&&define.amd?define(T):T()})(function(){"use strict";var _o=T=>{throw TypeError(T)};var vi=(T,M,w)=>M.has(T)||_o("Cannot "+w);var g=(T,M,w)=>(vi(T,M,"read from private field"),w?w.call(T):M.get(T)),q=(T,M,w)=>M.has(T)?_o("Cannot add the same private member more than once"):M instanceof WeakSet?M.add(T):M.set(T,w),k=(T,M,w,C)=>(vi(T,M,"write to private field"),C?C.call(T,w):M.set(T,w),w),d=(T,M,w)=>(vi(T,M,"access private method"),w);var xi=(T,M,w,C)=>({set _(R){k(T,M,R,w)},get _(){return g(T,M,C)}});var fe,pe,je,Q,U,H,F,D,me,W,Re,le,X,ee,ae,Y,ce,ke,Ae,de,_e,ze,Se,n,L,yi,Ee,go,Oe,Ze,Pe,Be,wi,te,Ce,ue,Qe,et,tt,ki,Ai,bo,vo,xo,j,zi,yo,ge,Si,Ei,wo,Ci,ko,he,$,Ao,zo,So,Eo,Co,$o,rt,$i,Li,qi,it,Lo,Ti,He,ot,qo,Mi,Di,at,To,Mo,Ni,Do,No,re,st,Io,Fo,ie,Ii,$e,jo,nt,Ro,Fi,Vo,Oo,Po,Bo,Ho,Ko,Ke,Ue,Uo,lt,Wo,se,I,Xo,ct,dt,ji,Ri,Yo,Go;const T=new Map;function M(l){return T.set(l.name,l),l}M({name:"ikki",label:"Ikki (padrão)",tokens:{effect:{"focus-ring":"none"}}}),M({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"}}}),M({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"}}}),M({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"}}}),M({name:"shun",label:"Shun",tokens:{color:{primary:"#db2777",secondary:"#f472b6",info:"#ec4899",warning:"#c026d3"},radius:{sm:"10px",md:"14px",lg:"20px"}}}),M({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 w(l,...e){return l.reduce((t,r,i)=>t+r+(i<e.length?String(e[i]):""),"")}const Ge=class Ge extends HTMLElement{static get observedAttributes(){return[]}constructor(){super(),this.root=this.attachShadow(this.constructor.shadowOptions)}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}`}};Ge.styles="",Ge.shadowOptions={mode:"open"};let C=Ge;const Je=class Je extends C{constructor(){super(),this._initialValue="",this._initialCaptured=!1,this._autofocused=!1,this.internals=typeof this.attachInternals=="function"?this.attachInternals():null}get name(){var e;return(e=this.getAttribute("name"))!=null?e:""}get form(){var e,t;return(t=(e=this.internals)==null?void 0:e.form)!=null?t:this.closest("form")}get type(){return this.localName}get willValidate(){var e,t;return(t=(e=this.internals)==null?void 0:e.willValidate)!=null?t:!1}get validity(){var e,t;return(t=(e=this.internals)==null?void 0:e.validity)!=null?t:null}get validationMessage(){var e,t;return(t=(e=this.internals)==null?void 0:e.validationMessage)!=null?t:""}get labels(){var e,t;return(t=(e=this.internals)==null?void 0:e.labels)!=null?t:this.childNodes}checkValidity(){var e,t,r;return(r=(t=(e=this.internals)==null?void 0:e.checkValidity)==null?void 0:t.call(e))!=null?r:!0}reportValidity(){var e,t,r;return(r=(t=(e=this.internals)==null?void 0:e.reportValidity)==null?void 0:t.call(e))!=null?r:!0}connectedCallback(){super.connectedCallback(),this._initialCaptured||(this._initialCaptured=!0,this._initialValue=this.getAttr("value")),this.updateFormValue(),!this._autofocused&&this.hasAttr("autofocus")&&(this._autofocused=!0,queueMicrotask(()=>{this.isConnected&&this.hasAttr("autofocus")&&this.focusInnerControl()}))}focusInnerControl(){if(this.focus(),!this.root.activeElement){const e=this.root.querySelector('input, textarea, button, select, [tabindex]:not([tabindex="-1"])');e==null||e.focus()}}getFormValue(){return this.getAttr("value")||null}emitValueEvents(e){const t=this.getAttr("value");this.syncInternalControl(),this.updateFormValue();const r={value:t,...e};for(const i of["input","valueChange"])this.dispatchEvent(new CustomEvent(i,{bubbles:!0,composed:!0,detail:r}))}updateFormValue(){!this.internals||typeof this.internals.setFormValue!="function"||this.internals.setFormValue(this.getFormValue())}formDisabledCallback(e){e?this.setAttribute("disabled",""):this.removeAttribute("disabled")}formResetCallback(){this.setAttribute("value",this._initialValue),this.syncInternalControl(),this.updateFormValue()}syncInternalControl(){}};Je.formAssociated=!0,Je.shadowOptions={mode:"open",delegatesFocus:!0};let R=Je;function A(l,e){var t;return typeof customElements!="undefined"&&!customElements.get(l)&&customElements.define(l,e),(t=customElements.get(l))!=null?t:e}const Jo={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;","`":"&#x60;","=":"&#x3D;"},Zo=/[&<>"'`=/]/g;function _(l){return l==null?"":String(l).replace(Zo,e=>Jo[e]||e)}const ut="Fenix Icons",B=`
2
2
  .fx-icon {
3
- font-family: ${`var(--fx-icon-font, ${U})`};
3
+ font-family: ${`var(--fx-icon-font, ${ut})`};
4
4
  font-weight: normal;
5
5
  font-style: normal;
6
6
  line-height: 1;
@@ -17,15 +17,15 @@
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 I(c){return/^[a-z][a-z0-9_]*$/.test(c.trim())}function L(c){const e=(c!=null?c:"").trim();return e?I(e)?`<i class="fx-icon" aria-hidden="true">${e}</i>`:`<span aria-hidden="true">${h(e)}</span>`:""}const P=class P extends y{constructor(){super(),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(),i=Math.max(a.width,a.height),o=document.createElement("span");o.className="btn__ripple",o.style.width=o.style.height=`${i}px`,o.style.left=`${e.clientX-a.left-i/2}px`,o.style.top=`${e.clientY-a.top-i/2}px`,r.appendChild(o),o.addEventListener("animationend",()=>o.remove())},this.internals=typeof this.attachInternals=="function"?this.attachInternals():null}static get observedAttributes(){return["variant","size","disabled","loading","type","full","icon","icon-pos"]}get form(){var e,t;return(t=(e=this.internals)==null?void 0:e.form)!=null?t:this.closest("form")}formDisabledCallback(e){e?this.setAttribute("disabled",""):this.removeAttribute("disabled")}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"),i=this.getAttr("icon-pos","left")==="right",s=this.querySelector('[slot="icon"]')?'<slot name="icon"></slot>':a?L(a):"";this.setTemplate(`
20
+ `;function be(l){return/^[a-z][a-z0-9_]*$/.test(l.trim())}function P(l){const e=(l!=null?l:"").trim();return e?be(e)?`<i class="fx-icon" aria-hidden="true">${e}</i>`:`<span aria-hidden="true">${_(e)}</span>`:""}const Fe=class Fe extends C{constructor(){super(),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 i=r.getBoundingClientRect(),o=Math.max(i.width,i.height),a=document.createElement("span");a.className="btn__ripple",a.style.width=a.style.height=`${o}px`,a.style.left=`${e.clientX-i.left-o/2}px`,a.style.top=`${e.clientY-i.top-o/2}px`,r.appendChild(a),a.addEventListener("animationend",()=>a.remove())},this.internals=typeof this.attachInternals=="function"?this.attachInternals():null}static get observedAttributes(){return["variant","size","disabled","loading","type","full","icon","icon-pos"]}get form(){var e,t;return(t=(e=this.internals)==null?void 0:e.form)!=null?t:this.closest("form")}formDisabledCallback(e){e?this.setAttribute("disabled",""):this.removeAttribute("disabled")}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 h;const e=this.hasAttr("loading"),t=this.hasAttr("disabled")||e,r=this.getAttr("type","button"),i=this.getAttr("icon"),o=this.getAttr("icon-pos","left")==="right",s=this.querySelector('[slot="icon"]')?'<slot name="icon"></slot>':i?P(i):"";this.setTemplate(`
21
21
  <button class="btn" part="button" type="${r}">
22
- ${i?"":`<span class="btn__icon" part="icon">${s}</span>`}
22
+ ${o?"":`<span class="btn__icon" part="icon">${s}</span>`}
23
23
  <span class="btn__label" part="label"><slot></slot></span>
24
- ${i?`<span class="btn__icon" part="icon">${s}</span>`:""}
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 p of this.root.querySelectorAll(".btn__icon"))p.toggleAttribute("hidden",!l);const u=[...(f=this.childNodes)!=null?f:[]].some(p=>{var d,b;return p.nodeType===Node.ELEMENT_NODE?((d=p.getAttribute)==null?void 0:d.call(p,"slot"))!=="icon":((b=p.textContent)!=null?b:"").trim()!==""});n.classList.toggle("btn--icon-only",!u&&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"),(r==="submit"||r==="reset")&&n.addEventListener("click",()=>{this.hasAttr("disabled")||this.hasAttr("loading")||(r==="submit"&&this.form?this.form.requestSubmit():r==="reset"&&this.form&&this.form.reset())})}connectedCallback(){super.connectedCallback(),this.addEventListener("pointerdown",this.spawnRipple)}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("pointerdown",this.spawnRipple)}};P.formAssociated=!0,P.shadowOptions={mode:"open",delegatesFocus:!0},P.styles=g`
28
- ${C}
27
+ `);const c=this.root.querySelector(".btn");if(!c)return;const u=s.trim()!=="";for(const m of this.root.querySelectorAll(".btn__icon"))m.toggleAttribute("hidden",!u);const p=[...(h=this.childNodes)!=null?h:[]].some(m=>{var f,y;return m.nodeType===Node.ELEMENT_NODE?((f=m.getAttribute)==null?void 0:f.call(m,"slot"))!=="icon":((y=m.textContent)!=null?y:"").trim()!==""});c.classList.toggle("btn--icon-only",!p&&u),t?(c.setAttribute("disabled",""),c.setAttribute("aria-disabled","true")):(c.removeAttribute("disabled"),c.removeAttribute("aria-disabled")),e?c.setAttribute("aria-busy","true"):c.removeAttribute("aria-busy"),(r==="submit"||r==="reset")&&c.addEventListener("click",()=>{this.hasAttr("disabled")||this.hasAttr("loading")||(r==="submit"&&this.form?this.form.requestSubmit():r==="reset"&&this.form&&this.form.reset())})}connectedCallback(){super.connectedCallback(),this.addEventListener("pointerdown",this.spawnRipple)}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("pointerdown",this.spawnRipple)}};Fe.formAssociated=!0,Fe.shadowOptions={mode:"open",delegatesFocus:!0},Fe.styles=w`
28
+ ${B}
29
29
  :host {
30
30
  display: inline-block;
31
31
  vertical-align: middle;
@@ -139,7 +139,7 @@
139
139
  @media (prefers-reduced-motion: reduce) {
140
140
  .btn__ripple { display: none; }
141
141
  }
142
- `;let J=P;function cr(){return v("fx-button",J)}cr();const Ue=class Ue extends y{static get observedAttributes(){return["variant","round"]}render(){this.setTemplate('<span class="badge" part="badge"><slot></slot></span>')}};Ue.styles=g`
142
+ `;let ht=Fe;function Qo(){return A("fx-button",ht)}Qo();const zr=class zr extends C{static get observedAttributes(){return["variant","round"]}render(){this.setTemplate('<span class="badge" part="badge"><slot></slot></span>')}};zr.styles=w`
143
143
  :host {
144
144
  display: inline-flex;
145
145
  vertical-align: middle;
@@ -164,7 +164,7 @@
164
164
  :host([variant='danger']) .badge { background: var(--fx-color-danger); color: #fff; border-color: transparent; }
165
165
  :host([variant='info']) .badge { background: var(--fx-color-info); color: #fff; border-color: transparent; }
166
166
  :host(:not([round])) .badge { border-radius: var(--fx-radius-sm); }
167
- `;let G=Ue;function dr(){return v("fx-badge",G)}dr();const Je=class Je extends y{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=g`
167
+ `;let ft=zr;function ea(){return A("fx-badge",ft)}ea();const Sr=class Sr extends C{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>')}};Sr.styles=w`
168
168
  :host {
169
169
  display: inline-block;
170
170
  vertical-align: middle;
@@ -185,22 +185,22 @@
185
185
  @media (prefers-reduced-motion: reduce) {
186
186
  .spinner { animation-duration: 2.5s; }
187
187
  }
188
- `;let W=Je;function hr(){return v("fx-spinner",W)}hr();const D=class D extends S{static get observedAttributes(){return["size","disabled","placeholder","searchable","clearable","error","invalid","success","valid","placement"]}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),this.updateFormValue()}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,i,o;return{value:(a=(r=e.getAttribute("value"))!=null?r:(t=e.textContent)==null?void 0:t.trim())!=null?a:"",label:(o=(i=e.textContent)==null?void 0:i.trim())!=null?o:""}})}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._fechar(),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),this._unbindReflow()}_abrir(){this.setAttribute("open",""),this._bindReflow()}_fechar(){this.removeAttribute("open"),this.removeAttribute("data-placement"),this._unbindReflow()}_bindReflow(){this.onReflow||(this.onReflow=()=>{this.hasAttr("open")&&this.ajustarPosicao()},window.addEventListener("resize",this.onReflow),window.addEventListener("scroll",this.onReflow,!0))}_unbindReflow(){this.onReflow&&(window.removeEventListener("resize",this.onReflow),window.removeEventListener("scroll",this.onReflow,!0),this.onReflow=void 0)}ajustarPosicao(){const e=this.root.querySelector(".panel"),t=this.root.querySelector(".trigger");if(!e||!t)return;const r=t.getBoundingClientRect(),a=window.innerHeight-r.bottom,i=r.top,o=e.scrollHeight,s=D._maxAltura(this),n=this.getAttr("placement","auto"),l=n==="top"||n!=="bottom"&&a<Math.min(o,s)&&i>a;l?this.setAttribute("data-placement","top"):this.removeAttribute("data-placement");const u=Math.max(D.MIN_ALTURA,(l?i:a)-D.GAP);e.style.maxHeight=`${Math.min(o||u,u,s)}px`,e.style.left="";const f=e.offsetWidth,p=r.left+f-(window.innerWidth-D.MARGEM);p>0&&(e.style.left=`${-p}px`,e.style.right="auto")}static _maxAltura(e){const t=getComputedStyle(e).getPropertyValue("--fx-select-panel-max-height"),r=parseInt(t,10);return Number.isFinite(r)&&r>0?r:260}select(e){this.value=e,this._fechar(),this.render(),this.emitValueEvents(),this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0,detail:{value:e}}))}_navigateOptions(e){var i;e.preventDefault(),this.hasAttr("open")||(this._abrir(),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),(i=t[a])==null||i.focus()}render(){var d,b,w,_,m,k,z;const e=this.hasAttr("open"),t=this.root.querySelector(".search"),r=(d=t==null?void 0:t.value)!=null?d:"",a=t!=null&&this.root.activeElement===t,i=a?t.selectionStart:null,o=this.options;let s=this.getAttr("value");if(!s){const x=this.querySelector("option[selected]");s=(_=(w=x==null?void 0:x.getAttribute("value"))!=null?w:(b=x==null?void 0:x.textContent)==null?void 0:b.trim())!=null?_:""}const n=(k=(m=o.find(x=>x.value===s))==null?void 0:m.label)!=null?k:"",l=this.getAttr("placeholder","Selecione…"),u=r?o.filter(x=>x.label.toLowerCase().includes(r.toLowerCase())):o;this.setTemplate(`
188
+ `;let pt=Sr;function ta(){return A("fx-spinner",pt)}ta();const oe=class oe extends R{static get observedAttributes(){return["size","disabled","placeholder","searchable","clearable","error","invalid","success","valid","placement"]}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),this.updateFormValue()}get disabled(){return this.hasAttr("disabled")}set disabled(e){this.toggleAttr("disabled",!!e)}get options(){return[...this.querySelectorAll("option")].map(e=>{var t,r,i,o,a;return{value:(i=(r=e.getAttribute("value"))!=null?r:(t=e.textContent)==null?void 0:t.trim())!=null?i:"",label:(a=(o=e.textContent)==null?void 0:o.trim())!=null?a:""}})}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._fechar(),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),this._unbindReflow()}_abrir(){this.setAttribute("open",""),this._bindReflow()}_fechar(){this.removeAttribute("open"),this.removeAttribute("data-placement"),this._unbindReflow()}_bindReflow(){this.onReflow||(this.onReflow=()=>{this.hasAttr("open")&&this.ajustarPosicao()},window.addEventListener("resize",this.onReflow),window.addEventListener("scroll",this.onReflow,!0))}_unbindReflow(){this.onReflow&&(window.removeEventListener("resize",this.onReflow),window.removeEventListener("scroll",this.onReflow,!0),this.onReflow=void 0)}ajustarPosicao(){const e=this.root.querySelector(".panel"),t=this.root.querySelector(".trigger");if(!e||!t)return;const r=t.getBoundingClientRect(),i=window.innerHeight-r.bottom,o=r.top,a=e.scrollHeight,s=oe._maxAltura(this),c=this.getAttr("placement","auto"),u=c==="top"||c!=="bottom"&&i<Math.min(a,s)&&o>i;u?this.setAttribute("data-placement","top"):this.removeAttribute("data-placement");const p=Math.max(oe.MIN_ALTURA,(u?o:i)-oe.GAP);e.style.maxHeight=`${Math.min(a||p,p,s)}px`,e.style.left="";const h=e.offsetWidth,m=r.left+h-(window.innerWidth-oe.MARGEM);m>0&&(e.style.left=`${-m}px`,e.style.right="auto")}static _maxAltura(e){const t=getComputedStyle(e).getPropertyValue("--fx-select-panel-max-height"),r=parseInt(t,10);return Number.isFinite(r)&&r>0?r:260}select(e){this.value=e,this._fechar(),this.render(),this.emitValueEvents(),this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0,detail:{value:e}}))}_navigateOptions(e){var o;e.preventDefault(),this.hasAttr("open")||(this._abrir(),this.render());const t=Array.from(this.root.querySelectorAll(".opt"));if(!t.length)return;const r=t.indexOf(this.root.activeElement);let i=0;e.key==="ArrowDown"?i=r===-1?0:Math.min(r+1,t.length-1):e.key==="ArrowUp"?i=r===-1?t.length-1:Math.max(r-1,0):e.key==="Home"?i=0:e.key==="End"&&(i=t.length-1),(o=t[i])==null||o.focus()}render(){var f,y,x,b,v,z,E;const e=this.hasAttr("open"),t=this.root.querySelector(".search"),r=(f=t==null?void 0:t.value)!=null?f:"",i=t!=null&&this.root.activeElement===t,o=i?t.selectionStart:null,a=this.options;let s=this.getAttr("value");if(!s){const S=this.querySelector("option[selected]");s=(b=(x=S==null?void 0:S.getAttribute("value"))!=null?x:(y=S==null?void 0:S.textContent)==null?void 0:y.trim())!=null?b:""}const c=(z=(v=a.find(S=>S.value===s))==null?void 0:v.label)!=null?z:"",u=this.getAttr("placeholder","Selecione…"),p=r?a.filter(S=>S.label.toLowerCase().includes(r.toLowerCase())):a;this.setTemplate(`
189
189
  <span class="trigger" part="trigger" role="button" tabindex="${this.disabled?-1:0}" aria-haspopup="listbox" aria-expanded="${e}">
190
- <span class="${n?"label":"placeholder"}">${h(n)||h(l)}</span>
190
+ <span class="${c?"label":"placeholder"}">${_(c)||_(u)}</span>
191
191
  <span class="actions">
192
192
  ${this.hasAttr("clearable")&&s?'<button type="button" class="clear" part="clear" aria-label="Limpar">×</button>':""}
193
193
  <span class="caret">▼</span>
194
194
  </span>
195
195
  </span>
196
196
  <div class="panel" part="panel" role="listbox">
197
- ${this.hasAttr("searchable")?`<input class="search" part="search" type="text" placeholder="${h(this.getAttr("search-placeholder","Pesquisar…"))}">`:""}
198
- ${u.map(x=>`
199
- <button type="button" class="opt" role="option" data-value="${h(x.value)}"
200
- aria-selected="${x.value===s}">${h(x.label)}</button>`).join("")}
201
- ${u.length===0?`<div class="empty">${h(this.getAttr("no-results","Nenhum resultado"))}</div>`:""}
197
+ ${this.hasAttr("searchable")?`<input class="search" part="search" type="text" placeholder="${_(this.getAttr("search-placeholder","Pesquisar…"))}">`:""}
198
+ ${p.map(S=>`
199
+ <button type="button" class="opt" role="option" data-value="${_(S.value)}"
200
+ aria-selected="${S.value===s}">${_(S.label)}</button>`).join("")}
201
+ ${p.length===0?`<div class="empty">${_(this.getAttr("no-results","Nenhum resultado"))}</div>`:""}
202
202
  </div>
203
- `),e&&this.setAttribute("open",""),this.hasAttr("open")&&this.ajustarPosicao();const f=this.root.querySelector(".search");if(f&&(f.value=r,f.addEventListener("input",()=>this.render()),f.addEventListener("click",x=>x.stopPropagation()),a)){f.focus();try{f.setSelectionRange(i,i)}catch(x){}}const p=this.root.querySelector(".trigger");p&&(this.disabled&&p.setAttribute("aria-disabled","true"),p.addEventListener("click",x=>{var M;this.disabled||x.target.closest(".clear")||(this.hasAttr("open")?this._fechar():this._abrir(),this.render(),(M=this.root.querySelector(".search"))==null||M.focus())}),p.addEventListener("keydown",x=>{var M;if(!this.disabled){if(x.key==="Enter"||x.key===" "){x.preventDefault(),p.click();return}if(x.key==="Escape"){this.hasAttr("open")&&(this._fechar(),this.render(),(M=this.root.querySelector(".trigger"))==null||M.focus());return}(x.key==="ArrowDown"||x.key==="ArrowUp"||x.key==="Home"||x.key==="End")&&this._navigateOptions(x)}}),(z=this.root.querySelector(".clear"))==null||z.addEventListener("click",x=>{x.stopPropagation(),this.value="",this._fechar(),this.render(),this.emitValueEvents(),this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0,detail:{value:""}}))}),this.root.querySelectorAll(".opt").forEach(x=>{x.addEventListener("click",()=>this.select(x.dataset.value))}),this.updateFormValue())}formResetCallback(){super.formResetCallback(),this.render()}};D.styles=g`
203
+ `),e&&this.setAttribute("open",""),this.hasAttr("open")&&this.ajustarPosicao();const h=this.root.querySelector(".search");if(h&&(h.value=r,h.addEventListener("input",()=>this.render()),h.addEventListener("click",S=>S.stopPropagation()),i)){h.focus();try{h.setSelectionRange(o,o)}catch(S){}}const m=this.root.querySelector(".trigger");m&&(this.disabled&&m.setAttribute("aria-disabled","true"),m.addEventListener("click",S=>{var N;this.disabled||S.target.closest(".clear")||(this.hasAttr("open")?this._fechar():this._abrir(),this.render(),(N=this.root.querySelector(".search"))==null||N.focus())}),m.addEventListener("keydown",S=>{var N;if(!this.disabled){if(S.key==="Enter"||S.key===" "){S.preventDefault(),m.click();return}if(S.key==="Escape"){this.hasAttr("open")&&(this._fechar(),this.render(),(N=this.root.querySelector(".trigger"))==null||N.focus());return}(S.key==="ArrowDown"||S.key==="ArrowUp"||S.key==="Home"||S.key==="End")&&this._navigateOptions(S)}}),(E=this.root.querySelector(".clear"))==null||E.addEventListener("click",S=>{S.stopPropagation(),this.value="",this._fechar(),this.render(),this.emitValueEvents(),this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0,detail:{value:""}}))}),this.root.querySelectorAll(".opt").forEach(S=>{S.addEventListener("click",()=>this.select(S.dataset.value))}),this.updateFormValue())}formResetCallback(){super.formResetCallback(),this.render()}};oe.styles=w`
204
204
  :host {
205
205
  display: inline-block;
206
206
  vertical-align: middle;
@@ -375,18 +375,18 @@
375
375
  }
376
376
  .clear:hover { color: var(--fx-color-danger); }
377
377
  .clear[hidden] { display: none; }
378
- `,D.GAP=4,D.MARGEM=8,D.MIN_ALTURA=80;let Z=D;function ur(){return v("fx-select",Z)}ur();const Ge=class Ge extends S{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),this.syncInternalControl(),this.updateFormValue()}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"),i=this.getAttr("min"),o=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):"",p=!!f;this.setTemplate(`
378
+ `,oe.GAP=4,oe.MARGEM=8,oe.MIN_ALTURA=80;let mt=oe;function ra(){return A("fx-select",mt)}ra();const ia=new Set(["text","number","password"]);function Vi(l){const e=(l||"text").toLowerCase();return ia.has(e)?e:"text"}const Er=class Er extends R{static get observedAttributes(){return["type","size","placeholder","disabled","readonly","min","max","step","icon","icon-pos","error","invalid","success","valid"]}get type(){return Vi(this.getAttr("type","text"))}set type(e){this.setAttribute("type",Vi(e))}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),this.syncInternalControl(),this.updateFormValue()}get disabled(){return this.hasAttr("disabled")}set disabled(e){this.toggleAttr("disabled",!!e)}render(){const e=this.type,t=this.getAttr("placeholder"),r=this.hasAttr("readonly"),i=this.hasAttr("disabled"),o=this.getAttr("min"),a=this.getAttr("max"),s=this.getAttr("step"),c=this.getAttr("icon"),u=this.getAttr("icon-pos","left")==="right"?"right":"left",h=this.querySelector('[slot="icon"]')?'<slot name="icon" part="icon"></slot>':c?P(c):"",m=!!h;this.setTemplate(`
379
379
  ${this.hasAttr("clearable")?'<div class="wrap" part="wrap">':""}
380
- ${p?`<div class="field-icon icon-${l}">`:""}
381
- ${p&&l==="left"?f:""}
382
- <input class="field" part="input" type="${h(e)}"
383
- ${t?`placeholder="${h(t)}"`:""}
384
- ${i?`min="${h(i)}"`:""} ${o?`max="${h(o)}"`:""} ${s?`step="${h(s)}"`:""}
380
+ ${m?`<div class="field-icon icon-${u}">`:""}
381
+ ${m&&u==="left"?h:""}
382
+ <input class="field" part="input" type="${_(e)}"
383
+ ${t?`placeholder="${_(t)}"`:""}
384
+ ${o?`min="${_(o)}"`:""} ${a?`max="${_(a)}"`:""} ${s?`step="${_(s)}"`:""}
385
385
  />
386
- ${p&&l==="right"?f:""}
387
- ${p?"</div>":""}
386
+ ${m&&u==="right"?h:""}
387
+ ${m?"</div>":""}
388
388
  ${this.hasAttr("clearable")?'<button type="button" class="clear" part="clear" aria-label="Limpar" tabindex="-1">×</button></div>':""}
389
- `);const d=this.root.querySelector(".field");if(!d)return;d.value=this.getAttr("value"),a&&d.setAttribute("disabled",""),r&&d.setAttribute("readonly","");const b=m=>{this.value=d.value,this.emitValueEvents(),this.dispatchEvent(new CustomEvent(m,{bubbles:!0,composed:!0,detail:{value:d.value}}))};d.addEventListener("input",m=>{m.stopPropagation(),b("input")}),d.addEventListener("change",m=>{m.stopPropagation(),b("change")}),d.addEventListener("keydown",m=>{m.key!=="Enter"||m.isComposing||this.form&&(m.preventDefault(),this.form.requestSubmit())});const w=this.root.querySelector(".clear"),_=()=>{w==null||w.toggleAttribute("hidden",d.value==="")};_(),w==null||w.addEventListener("click",()=>{d.value="",_(),b("input"),b("change"),d.focus()}),d.addEventListener("input",_),this.updateFormValue()}syncInternalControl(){const e=this.root.querySelector(".field"),t=this.getAttr("value");e&&e.value!==t&&(e.value=t)}};Ge.styles=g`
389
+ `);const f=this.root.querySelector(".field");if(!f)return;f.value=this.getAttr("value"),i&&f.setAttribute("disabled",""),r&&f.setAttribute("readonly","");const y=v=>{this.value=f.value,this.emitValueEvents(),this.dispatchEvent(new CustomEvent(v,{bubbles:!0,composed:!0,detail:{value:f.value}}))};f.addEventListener("input",v=>{v.stopPropagation(),y("input")}),f.addEventListener("change",v=>{v.stopPropagation(),y("change")}),f.addEventListener("keydown",v=>{v.key!=="Enter"||v.isComposing||this.form&&(v.preventDefault(),this.form.requestSubmit())});const x=this.root.querySelector(".clear"),b=()=>{x==null||x.toggleAttribute("hidden",f.value==="")};b(),x==null||x.addEventListener("click",()=>{f.value="",b(),y("input"),y("change"),f.focus()}),f.addEventListener("input",b),this.updateFormValue()}syncInternalControl(){const e=this.root.querySelector(".field"),t=this.getAttr("value"),r=this.type;e&&e.type!==r&&(e.type=r),e&&e.value!==t&&(e.value=t)}};Er.styles=w`
390
390
  :host {
391
391
  display: inline-block;
392
392
  vertical-align: middle;
@@ -520,14 +520,14 @@
520
520
  .clear:hover { color: var(--fx-color-danger); }
521
521
  .clear[hidden] { display: none; }
522
522
  /* Base dos glifos Fenix Icons (o @font-face vem de @wrrdev/fenix-ui/icons). */
523
- ${C}
524
- `;let Q=Ge;function pr(){return v("fx-input",Q)}pr();const We=class We extends S{constructor(){super(...arguments),this._initialChecked=!1,this._initialCheckedCaptured=!1}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)}get value(){return this.getAttr("value")}set value(e){this.setAttribute("value",e)}getFormValue(){return this.checked?this.getAttr("value")||"on":null}render(){this.setTemplate(`
523
+ ${B}
524
+ `;let _t=Er;function oa(){return A("fx-input",_t)}oa();const Cr=class Cr extends R{constructor(){super(...arguments),this._initialChecked=!1,this._initialCheckedCaptured=!1}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)}get value(){return this.getAttr("value")}set value(e){this.setAttribute("value",e)}getFormValue(){return this.checked?this.getAttr("value")||"on":null}render(){this.setTemplate(`
525
525
  <button class="switch" part="switch" type="button" role="switch"
526
526
  aria-checked="${this.checked}" ${this.hasAttr("disabled")?"disabled":""}>
527
527
  <span class="track" part="track"><span class="thumb" part="thumb"></span></span>
528
528
  <span class="label" part="label"><slot></slot></span>
529
529
  </button>
530
- `);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}})),this.dispatchEvent(new CustomEvent("checkedChange",{bubbles:!0,composed:!0,detail:{checked:this.checked,value:this.getAttr("value")}})))}),this.updateFormValue())}connectedCallback(){this._initialCheckedCaptured||(this._initialCheckedCaptured=!0,this._initialChecked=this.checked),super.connectedCallback()}formResetCallback(){this.checked=this._initialChecked;const e=this.root.querySelector(".switch");e&&e.setAttribute("aria-checked",String(this.checked)),this.updateFormValue()}};We.styles=g`
530
+ `);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}})),this.dispatchEvent(new CustomEvent("checkedChange",{bubbles:!0,composed:!0,detail:{checked:this.checked,value:this.getAttr("value")}})))}),this.updateFormValue())}connectedCallback(){this._initialCheckedCaptured||(this._initialCheckedCaptured=!0,this._initialChecked=this.checked),super.connectedCallback()}formResetCallback(){this.checked=this._initialChecked;const e=this.root.querySelector(".switch");e&&e.setAttribute("aria-checked",String(this.checked)),this.updateFormValue()}};Cr.styles=w`
531
531
  :host {
532
532
  display: inline-flex;
533
533
  vertical-align: middle;
@@ -581,36 +581,36 @@
581
581
  :host([size='lg']) .track { width: 48px; height: 26px; }
582
582
  :host([size='lg']) .thumb { top: 4px; left: 4px; width: 18px; height: 18px; }
583
583
  :host([size='lg'][checked]) .thumb { transform: translateX(22px); }
584
- `;let ee=We;function fr(){return v("fx-switch",ee)}fr();const Ze=class Ze extends S{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(","))}getFormValue(){const e=this.values;if(!this.name||e.length===0)return null;const t=new FormData;return e.forEach(r=>t.append(this.name,r)),t}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,i,o;return{value:(a=(r=e.getAttribute("value"))!=null?r:(t=e.textContent)==null?void 0:t.trim())!=null?a:"",label:(o=(i=e.textContent)==null?void 0:i.trim())!=null?o:""}})}connectedCallback(){this.selected=new Set(this.values),this._initialValues||(this._initialValues=[...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.updateFormValue(),this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0,detail:{values:[...this.selected]}})),this.dispatchEvent(new CustomEvent("valuesChange",{bubbles:!0,composed:!0,detail:{values:[...this.selected]}}))}formResetCallback(){var t;const e=(t=this._initialValues)!=null?t:[];this.values=e,this.selected=new Set(e),this.render(),this.updateFormValue()}toggleValue(e){this.selected.has(e)?this.selected.delete(e):this.selected.add(e),this.commit()}_navigateOptions(e){var i;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),(i=t[a])==null||i.focus()}render(){var l,u,f,p;const e=this.hasAttr("open"),t=(u=(l=this.root.querySelector(".search"))==null?void 0:l.value)!=null?u:"",r=this.options;for(const d of[...this.selected])r.some(b=>b.value===d)||this.selected.delete(d);const a=r.filter(d=>this.selected.has(d.value)),i=this.getAttr("placeholder","Selecione…"),o=t?r.filter(d=>d.label.toLowerCase().includes(t.toLowerCase())):r;this.setTemplate(`
584
+ `;let gt=Cr;function aa(){return A("fx-switch",gt)}aa();const $r=class $r extends R{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(","))}getFormValue(){const e=this.values;if(!this.name||e.length===0)return null;const t=new FormData;return e.forEach(r=>t.append(this.name,r)),t}get disabled(){return this.hasAttr("disabled")}set disabled(e){this.toggleAttr("disabled",!!e)}get options(){return[...this.querySelectorAll("option")].map(e=>{var t,r,i,o,a;return{value:(i=(r=e.getAttribute("value"))!=null?r:(t=e.textContent)==null?void 0:t.trim())!=null?i:"",label:(a=(o=e.textContent)==null?void 0:o.trim())!=null?a:""}})}connectedCallback(){this.selected=new Set(this.values),this._initialValues||(this._initialValues=[...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.updateFormValue(),this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0,detail:{values:[...this.selected]}})),this.dispatchEvent(new CustomEvent("valuesChange",{bubbles:!0,composed:!0,detail:{values:[...this.selected]}}))}formResetCallback(){var t;const e=(t=this._initialValues)!=null?t:[];this.values=e,this.selected=new Set(e),this.render(),this.updateFormValue()}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 i=0;e.key==="ArrowDown"?i=r===-1?0:Math.min(r+1,t.length-1):e.key==="ArrowUp"?i=r===-1?t.length-1:Math.max(r-1,0):e.key==="Home"?i=0:e.key==="End"&&(i=t.length-1),(o=t[i])==null||o.focus()}render(){var u,p,h,m;const e=this.hasAttr("open"),t=(p=(u=this.root.querySelector(".search"))==null?void 0:u.value)!=null?p:"",r=this.options;for(const f of[...this.selected])r.some(y=>y.value===f)||this.selected.delete(f);const i=r.filter(f=>this.selected.has(f.value)),o=this.getAttr("placeholder","Selecione…"),a=t?r.filter(f=>f.label.toLowerCase().includes(t.toLowerCase())):r;this.setTemplate(`
585
585
  <span class="trigger" part="trigger" role="button" tabindex="${this.disabled?-1:0}" aria-haspopup="listbox" aria-expanded="${e}" aria-disabled="${this.disabled}">
586
586
  <span class="lead">
587
- ${a.length?a.map(d=>`
588
- <span class="chip" data-value="${h(d.value)}">
589
- ${h(d.label)}
590
- <span class="chip__x" role="button" aria-label="Remover ${h(d.label)}">×</span>
591
- </span>`).join(""):`<span class="placeholder">${h(i)}</span>`}
587
+ ${i.length?i.map(f=>`
588
+ <span class="chip" data-value="${_(f.value)}">
589
+ ${_(f.label)}
590
+ <span class="chip__x" role="button" aria-label="Remover ${_(f.label)}">×</span>
591
+ </span>`).join(""):`<span class="placeholder">${_(o)}</span>`}
592
592
  </span>
593
593
  <span class="trigger-right">
594
- ${this.hasAttr("clearable")&&a.length?'<button type="button" class="icon-btn clear" part="clear" aria-label="Limpar seleção">×</button>':""}
594
+ ${this.hasAttr("clearable")&&i.length?'<button type="button" class="icon-btn clear" part="clear" aria-label="Limpar seleção">×</button>':""}
595
595
  <span class="caret">▼</span>
596
596
  </span>
597
597
  </span>
598
598
  <div class="panel" part="panel" role="listbox" aria-multiselectable="true">
599
599
  <div class="panel-header">
600
- <span class="count">${a.length} selecionado${a.length===1?"":"s"}</span>
601
- ${this.hasAttr("clearable")&&a.length?'<button type="button" class="clear-all">Limpar tudo</button>':""}
600
+ <span class="count">${i.length} selecionado${i.length===1?"":"s"}</span>
601
+ ${this.hasAttr("clearable")&&i.length?'<button type="button" class="clear-all">Limpar tudo</button>':""}
602
602
  </div>
603
- ${this.hasAttr("searchable")?`<input class="search" part="search" type="text" placeholder="${h(this.getAttr("search-placeholder","Pesquisar…"))}">`:""}
603
+ ${this.hasAttr("searchable")?`<input class="search" part="search" type="text" placeholder="${_(this.getAttr("search-placeholder","Pesquisar…"))}">`:""}
604
604
  <ul class="list">
605
- ${o.map(d=>`
606
- <li><button type="button" class="opt" role="option" data-value="${h(d.value)}"
607
- aria-selected="${this.selected.has(d.value)}">
608
- <span class="box" aria-hidden="true"></span>${h(d.label)}
605
+ ${a.map(f=>`
606
+ <li><button type="button" class="opt" role="option" data-value="${_(f.value)}"
607
+ aria-selected="${this.selected.has(f.value)}">
608
+ <span class="box" aria-hidden="true"></span>${_(f.label)}
609
609
  </button></li>`).join("")}
610
- ${o.length===0?`<li class="empty">${h(this.getAttr("no-results","Nenhum resultado"))}</li>`:""}
610
+ ${a.length===0?`<li class="empty">${_(this.getAttr("no-results","Nenhum resultado"))}</li>`:""}
611
611
  </ul>
612
612
  </div>
613
- `),e&&this.setAttribute("open","");const s=this.root.querySelector(".search");s&&(s.value=t,s.addEventListener("input",()=>{var w;const d=(w=s.selectionStart)!=null?w:s.value.length;this.render();const b=this.root.querySelector(".search");b&&(b.focus(),b.setSelectionRange(d,d))}),s.addEventListener("click",d=>d.stopPropagation()));const n=this.root.querySelector(".trigger");n&&(n.addEventListener("click",d=>{if(!this.disabled&&!d.target.closest(".clear")&&!d.target.closest(".chip__x")){if(this.toggleAttribute("open"),this.hasAttr("open")){const b=this.getBoundingClientRect();this.toggleAttribute("up",b.bottom+300>window.innerHeight&&b.top>300)}else this.removeAttribute("up");this.render()}}),n.addEventListener("keydown",d=>{var b;if(!this.disabled){if(d.key==="Enter"||d.key===" "){d.preventDefault(),n.dispatchEvent(new MouseEvent("click",{bubbles:!0}));return}if(d.key==="Escape"){this.hasAttr("open")&&(this.removeAttribute("open"),this.render(),(b=this.root.querySelector(".trigger"))==null||b.focus());return}(d.key==="ArrowDown"||d.key==="ArrowUp"||d.key==="Home"||d.key==="End")&&this._navigateOptions(d)}}),(f=this.root.querySelector(".clear"))==null||f.addEventListener("click",d=>{d.stopPropagation(),this.selected.clear(),this.commit()}),(p=this.root.querySelector(".clear-all"))==null||p.addEventListener("click",d=>{d.stopPropagation(),this.selected.clear(),this.commit()}),this.root.querySelectorAll(".chip").forEach(d=>{var b;(b=d.querySelector(".chip__x"))==null||b.addEventListener("click",w=>{w.stopPropagation(),this.toggleValue(d.dataset.value)})}),this.root.querySelectorAll(".opt").forEach(d=>{d.addEventListener("click",()=>this.toggleValue(d.dataset.value))}))}};Ze.styles=g`
613
+ `),e&&this.setAttribute("open","");const s=this.root.querySelector(".search");s&&(s.value=t,s.addEventListener("input",()=>{var x;const f=(x=s.selectionStart)!=null?x:s.value.length;this.render();const y=this.root.querySelector(".search");y&&(y.focus(),y.setSelectionRange(f,f))}),s.addEventListener("click",f=>f.stopPropagation()));const c=this.root.querySelector(".trigger");c&&(c.addEventListener("click",f=>{if(!this.disabled&&!f.target.closest(".clear")&&!f.target.closest(".chip__x")){if(this.toggleAttribute("open"),this.hasAttr("open")){const y=this.getBoundingClientRect();this.toggleAttribute("up",y.bottom+300>window.innerHeight&&y.top>300)}else this.removeAttribute("up");this.render()}}),c.addEventListener("keydown",f=>{var y;if(!this.disabled){if(f.key==="Enter"||f.key===" "){f.preventDefault(),c.dispatchEvent(new MouseEvent("click",{bubbles:!0}));return}if(f.key==="Escape"){this.hasAttr("open")&&(this.removeAttribute("open"),this.render(),(y=this.root.querySelector(".trigger"))==null||y.focus());return}(f.key==="ArrowDown"||f.key==="ArrowUp"||f.key==="Home"||f.key==="End")&&this._navigateOptions(f)}}),(h=this.root.querySelector(".clear"))==null||h.addEventListener("click",f=>{f.stopPropagation(),this.selected.clear(),this.commit()}),(m=this.root.querySelector(".clear-all"))==null||m.addEventListener("click",f=>{f.stopPropagation(),this.selected.clear(),this.commit()}),this.root.querySelectorAll(".chip").forEach(f=>{var y;(y=f.querySelector(".chip__x"))==null||y.addEventListener("click",x=>{x.stopPropagation(),this.toggleValue(f.dataset.value)})}),this.root.querySelectorAll(".opt").forEach(f=>{f.addEventListener("click",()=>this.toggleValue(f.dataset.value))}))}};$r.styles=w`
614
614
  :host {
615
615
  display: inline-block;
616
616
  vertical-align: middle;
@@ -839,14 +839,14 @@
839
839
  .opt[aria-selected='true'] .box::after { content: '✓'; }
840
840
  .empty { padding: var(--fx-space-md); color: var(--fx-text-muted); text-align: center; }
841
841
  :host([disabled]) .trigger { opacity: 0.55; cursor: not-allowed; background: var(--fx-surface-surface-hover); }
842
- `;let te=Ze;function _r(){return v("fx-multiselect",te)}_r();const T=(c,e,t)=>c*1e4+e*100+t;function F(c){const e=/^(\d{4})(?:-(\d{2}))?(?:-(\d{2}))?$/.exec(c.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(t,r,a),hi:T(t,r,a)}:e[2]?{lo:T(t,r,1),hi:T(t,r,31)}:{lo:T(t,1,1),hi:T(t,12,31)}}const Qe=class Qe extends y{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:F(this.getAttr("min","")),max:F(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:i}=this.bounds(),o=T(e,t+1,r);return a!==null&&o<a.lo||i!==null&&o>i.hi}monthDisabled(e,t){const{min:r,max:a}=this.bounds(),i=T(e,t,1),o=T(e,t,31);return r!==null&&o<r.lo||a!==null&&i>a.hi}yearDisabled(e){const{min:t,max:r}=this.bounds(),a=T(e,1,1),i=T(e,12,31);return t!==null&&i<t.lo||r!==null&&a>r.hi}dayKeyOf(e){return T(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,i;return(i=(a=F(r))==null?void 0:a.lo)!=null?i:0}).filter(Boolean));if(this.mode==="range"){let r=this.pickStart,a=this.pickEnd;const i=F(this.getAttr("start","")),o=F(this.getAttr("end",""));return r===null&&i&&(r=i.lo),a===null&&o&&(a=o.lo),{start:r,end:a,single:null,multi:e}}if(this.mode==="multiple")return{start:null,end:null,single:null,multi:e};const t=F(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 i="";if(this.view==="days")i=[...Array(7)].map((l,u)=>this.fmt({weekday:"short"},new Date(2024,8,1+u))).map(l=>`<span class="wd">${l}</span>`).join("")+this.daysHtml(e,t,r);else if(this.view==="months")i=[...Array(12)].map((n,l)=>{const u=this.monthDisabled(this.cursor.y,l+1);return`<button type="button" class="cell" data-month="${l}" ${u?"disabled":""}>${this.fmt({month:"short"},new Date(this.cursor.y,l,1))}</button>`}).join("");else{const n=Math.floor(this.cursor.y/12)*12;i=[...Array(12)].map((l,u)=>{const f=n+u,p=this.yearDisabled(f);return`<button type="button" class="cell" data-year="${f}" ${p?"disabled":""}>${f}</button>`}).join("")}const o=this.view==="days"?'data-goto="months"':this.view==="months"?'data-goto="years"':"";this.setTemplate(`
842
+ `;let bt=$r;function sa(){return A("fx-multiselect",bt)}sa();const K=(l,e,t)=>l*1e4+e*100+t;function ve(l){const e=/^(\d{4})(?:-(\d{2}))?(?:-(\d{2}))?$/.exec(l.trim());if(!e)return null;const t=+e[1],r=e[2]?+e[2]:1,i=e[3]?+e[3]:null;return i!==null?{lo:K(t,r,i),hi:K(t,r,i)}:e[2]?{lo:K(t,r,1),hi:K(t,r,31)}:{lo:K(t,1,1),hi:K(t,12,31)}}const Lr=class Lr extends C{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:ve(this.getAttr("min","")),max:ve(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:i,max:o}=this.bounds(),a=K(e,t+1,r);return i!==null&&a<i.lo||o!==null&&a>o.hi}monthDisabled(e,t){const{min:r,max:i}=this.bounds(),o=K(e,t,1),a=K(e,t,31);return r!==null&&a<r.lo||i!==null&&o>i.hi}yearDisabled(e){const{min:t,max:r}=this.bounds(),i=K(e,1,1),o=K(e,12,31);return t!==null&&o<t.lo||r!==null&&i>r.hi}dayKeyOf(e){return K(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=i=>String(i).padStart(2,"0");return`${t.getFullYear()}-${r(t.getMonth()+1)}-${r(t.getDate())}`}selection(){const e=new Set(this.values.map(r=>{var i,o;return(o=(i=ve(r))==null?void 0:i.lo)!=null?o:0}).filter(Boolean));if(this.mode==="range"){let r=this.pickStart,i=this.pickEnd;const o=ve(this.getAttr("start","")),a=ve(this.getAttr("end",""));return r===null&&o&&(r=o.lo),i===null&&a&&(i=a.lo),{start:r,end:i,single:null,multi:e}}if(this.mode==="multiple")return{start:null,end:null,single:null,multi:e};const t=ve(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(),i={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((u,p)=>this.fmt({weekday:"short"},new Date(2024,8,1+p))).map(u=>`<span class="wd">${u}</span>`).join("")+this.daysHtml(e,t,r);else if(this.view==="months")o=[...Array(12)].map((c,u)=>{const p=this.monthDisabled(this.cursor.y,u+1);return`<button type="button" class="cell" data-month="${u}" ${p?"disabled":""}>${this.fmt({month:"short"},new Date(this.cursor.y,u,1))}</button>`}).join("");else{const c=Math.floor(this.cursor.y/12)*12;o=[...Array(12)].map((u,p)=>{const h=c+p,m=this.yearDisabled(h);return`<button type="button" class="cell" data-year="${h}" ${m?"disabled":""}>${h}</button>`}).join("")}const a=this.view==="days"?'data-goto="months"':this.view==="months"?'data-goto="years"':"";this.setTemplate(`
843
843
  <div class="head">
844
844
  <button type="button" class="nav" data-nav="-1" aria-label="Anterior">‹</button>
845
- <button type="button" class="title" part="title" ${o}>${a[this.view]}</button>
845
+ <button type="button" class="title" part="title" ${a}>${i[this.view]}</button>
846
846
  <button type="button" class="nav" data-nav="1" aria-label="Próximo">›</button>
847
847
  </div>
848
- <div class="grid ${this.view}">${i}</div>
849
- `),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:i}=this.cursor,o=new Date(a,i,1).getDay(),s=new Date(a,i+1,0).getDate(),n=new Date(a,i,0).getDate();let l="";for(let u=o-1;u>=0;u--)l+=`<span class="cell muted">${n-u}</span>`;for(let u=1;u<=s;u++){const f=T(a,i+1,u),p=t.single===f||t.start===f||t.end===f||t.multi.has(f),d=t.start!==null&&t.end!==null&&f>t.start&&f<t.end,b=["cell",p?"sel":"",d?"in-range":"",f===e?"today":""].filter(Boolean).join(" ");l+=`<button type="button" class="${b}" data-day="${f}" ${this.dayDisabled(a,i,u)?"disabled":""}>${u}</button>`}return l}};Qe.styles=g`
848
+ <div class="grid ${this.view}">${o}</div>
849
+ `),this.root.querySelectorAll("[data-nav]").forEach(c=>c.addEventListener("click",()=>this.navigate(Number(c.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(c=>c.addEventListener("click",()=>this.pickDay(Number(c.dataset.day)))),this.root.querySelectorAll("[data-month]").forEach(c=>c.addEventListener("click",()=>{this.cursor.m=Number(c.dataset.month),this.view="days",this.render()})),this.root.querySelectorAll("[data-year]").forEach(c=>c.addEventListener("click",()=>{this.cursor.y=Number(c.dataset.year),this.view="months",this.render()}))}daysHtml(e,t,r){const{y:i,m:o}=this.cursor,a=new Date(i,o,1).getDay(),s=new Date(i,o+1,0).getDate(),c=new Date(i,o,0).getDate();let u="";for(let p=a-1;p>=0;p--)u+=`<span class="cell muted">${c-p}</span>`;for(let p=1;p<=s;p++){const h=K(i,o+1,p),m=t.single===h||t.start===h||t.end===h||t.multi.has(h),f=t.start!==null&&t.end!==null&&h>t.start&&h<t.end,y=["cell",m?"sel":"",f?"in-range":"",h===e?"today":""].filter(Boolean).join(" ");u+=`<button type="button" class="${y}" data-day="${h}" ${this.dayDisabled(i,o,p)?"disabled":""}>${p}</button>`}return u}};Lr.styles=w`
850
850
  :host {
851
851
  display: inline-block;
852
852
  font-family: var(--fx-font-family);
@@ -976,13 +976,13 @@
976
976
  cursor: not-allowed;
977
977
  pointer-events: none;
978
978
  }
979
- `;let re=Qe;function mr(){return v("fx-calendar",re)}mr();const et=class et extends S{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"]}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),(e==="value"||e==="start"||e==="end"||e==="values")&&this.updateFormValue()}getFormValue(){if(this.mode==="range"){const e=this.getAttr("start"),t=this.getAttr("end");if(!this.name||!e&&!t)return null;const r=new FormData;return e&&r.append(`${this.name}-start`,e),t&&r.append(`${this.name}-end`,t),r}if(this.mode==="multiple"){const e=this.values;if(!this.name||e.length===0)return null;const t=new FormData;return e.forEach(r=>t.append(this.name,r)),t}return this.getAttr("value")||null}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(){this._initialState||(this._initialState={value:this.getAttr("value"),start:this.getAttr("start"),end:this.getAttr("end"),values:this.getAttr("values")}),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)}formResetCallback(){var t;const e=(t=this._initialState)!=null?t:{value:"",start:"",end:"",values:""};this.setAttribute("value",e.value),this.setAttribute("start",e.start),this.setAttribute("end",e.end),this.setAttribute("values",e.values),this.updateFormValue()}formatDate(e){if(!e)return"";const t=this.getAttr("format");if(!t)return e.split("T")[0];const[r,a]=e.split("T"),[i="",o="",s=""]=r.split("-"),[n="00",l="00",u="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,i).replace(/\u0002/g,o).replace(/\u0003/g,s).replace(/\u0004/g,n).replace(/\u0005/g,l).replace(/\u0006/g,u)}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=i=>i?`${this.formatDate(i)} ${this.timeText()}`:i?`${this.formatDate(i)} …`:"";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,i]=t.split(":").map(o=>parseInt(o,10));this.time={h:r||0,m:a||0,s:i||0}}withTime(e){return e&&(this.hasAttr("show-time")?`${e}T${this.timeText()}`:e)}render(){var u,f;const e=this.disabled,t=this.hasAttr("clearable"),r=this.displayText(),a=r.length>0,i=this.hasAttr("show-time");this.loadTimeFromValue();let o=`min="${h(this.getAttr("min"))}" max="${h(this.getAttr("max"))}"`;if(this.mode==="range")o+=` range start="${h(this.getAttr("start"))}" end="${h(this.getAttr("end"))}"`;else if(this.mode==="multiple"){const p=this.values.map(d=>d.split("T")[0]).join(",");o+=` mode="multiple" values="${h(p)}"`}else{const p=(u=this.value.split("T")[0])!=null?u:"";o+=` value="${h(p)}"`}this.setTemplate(`
979
+ `;let vt=Lr;function na(){return A("fx-calendar",vt)}na();const qr=class qr extends R{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"]}attributeChangedCallback(e,t,r){super.attributeChangedCallback(e,t,r),(e==="value"||e==="start"||e==="end"||e==="values")&&this.updateFormValue()}getFormValue(){if(this.mode==="range"){const e=this.getAttr("start"),t=this.getAttr("end");if(!this.name||!e&&!t)return null;const r=new FormData;return e&&r.append(`${this.name}-start`,e),t&&r.append(`${this.name}-end`,t),r}if(this.mode==="multiple"){const e=this.values;if(!this.name||e.length===0)return null;const t=new FormData;return e.forEach(r=>t.append(this.name,r)),t}return this.getAttr("value")||null}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(){this._initialState||(this._initialState={value:this.getAttr("value"),start:this.getAttr("start"),end:this.getAttr("end"),values:this.getAttr("values")}),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)}formResetCallback(){var t;const e=(t=this._initialState)!=null?t:{value:"",start:"",end:"",values:""};this.setAttribute("value",e.value),this.setAttribute("start",e.start),this.setAttribute("end",e.end),this.setAttribute("values",e.values),this.updateFormValue()}formatDate(e){if(!e)return"";const t=this.getAttr("format");if(!t)return e.split("T")[0];const[r,i]=e.split("T"),[o="",a="",s=""]=r.split("-"),[c="00",u="00",p="00"]=(i!=null?i:"").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,a).replace(/\u0003/g,s).replace(/\u0004/g,c).replace(/\u0005/g,u).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 i=o=>o?`${this.formatDate(o)} ${this.timeText()}`:o?`${this.formatDate(o)} …`:"";return t&&r?`${i(t)} → ${i(r)}`:i(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,i,o]=t.split(":").map(a=>parseInt(a,10));this.time={h:r||0,m:i||0,s:o||0}}withTime(e){return e&&(this.hasAttr("show-time")?`${e}T${this.timeText()}`:e)}render(){var p,h;const e=this.disabled,t=this.hasAttr("clearable"),r=this.displayText(),i=r.length>0,o=this.hasAttr("show-time");this.loadTimeFromValue();let a=`min="${_(this.getAttr("min"))}" max="${_(this.getAttr("max"))}"`;if(this.mode==="range")a+=` range start="${_(this.getAttr("start"))}" end="${_(this.getAttr("end"))}"`;else if(this.mode==="multiple"){const m=this.values.map(f=>f.split("T")[0]).join(",");a+=` mode="multiple" values="${_(m)}"`}else{const m=(p=this.value.split("T")[0])!=null?p:"";a+=` value="${_(m)}"`}this.setTemplate(`
980
980
  <div class="field" part="field">
981
981
  <input class="display" part="display" type="text" ${this.hasAttr("free-text")&&!e?"":"readonly"}
982
- placeholder="${h(this.getAttr("placeholder","dd/mm/aaaa"))}"
983
- value="${h(r)}" ${e?"disabled":""}>
982
+ placeholder="${_(this.getAttr("placeholder","dd/mm/aaaa"))}"
983
+ value="${_(r)}" ${e?"disabled":""}>
984
984
  <button type="button" class="clear" part="clear" aria-label="Limpar"
985
- ${t&&a?"":"hidden"}>
985
+ ${t&&i?"":"hidden"}>
986
986
  ×
987
987
  </button>
988
988
  <span class="cal-icon" part="icon" aria-hidden="true">
@@ -994,14 +994,14 @@
994
994
  </span>
995
995
  </div>
996
996
  <div class="pop" part="popover">
997
- <fx-calendar ${o}></fx-calendar>
998
- ${i?`<div class="time-row" part="time">
997
+ <fx-calendar ${a}></fx-calendar>
998
+ ${o?`<div class="time-row" part="time">
999
999
  <input class="t-h" type="number" min="0" max="23" value="${this.time.h}" aria-label="Hora"><span class="sep">:</span>
1000
1000
  <input class="t-m" type="number" min="0" max="59" value="${this.time.m}" aria-label="Minuto"><span class="sep">:</span>
1001
1001
  <input class="t-s" type="number" min="0" max="59" value="${this.time.s}" aria-label="Segundo">
1002
1002
  </div>`:""}
1003
1003
  </div>
1004
- `);const s=this.root.querySelector(".field");if(!s||e)return;s.addEventListener("click",p=>{if(!p.target.closest(".clear")&&!(this.hasAttr("free-text")&&p.target.classList.contains("display")))if(this.toggleAttribute("open"),this.hasAttr("open")){const d=this.getBoundingClientRect();this.toggleAttribute("up",d.bottom+340>window.innerHeight&&d.top>340)}else this.removeAttribute("up")}),(f=this.root.querySelector(".clear"))==null||f.addEventListener("click",p=>{p.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",p=>{var b;const d=(b=p.detail)!=null?b:{};(d.start!==void 0||d.end!==void 0)&&(d.start?this.setAttribute("start",this.withTime(d.start)):this.removeAttribute("start"),d.end?this.setAttribute("end",this.withTime(d.end)):this.removeAttribute("end")),d.values!==void 0&&(this.values=d.values.map(w=>this.withTime(w))),d.value!==void 0&&(d.value?this.setAttribute("value",this.withTime(d.value)):this.removeAttribute("value"),this.mode==="single"&&this.removeAttribute("open")),this.render(),this.emitChange(d)});const l=this.root.querySelector(".display");if(l&&this.hasAttr("free-text")&&!e&&(l.addEventListener("keydown",p=>{p.key==="Enter"&&(p.preventDefault(),this.commitTyped(l))}),l.addEventListener("blur",()=>this.commitTyped(l))),i){const p=()=>{const d=this.root.querySelector(".t-h"),b=this.root.querySelector(".t-m"),w=this.root.querySelector(".t-s"),_=(z,x)=>Math.min(x,Math.max(0,parseInt(z!=null?z:"0",10)||0));this.time={h:_(d==null?void 0:d.value,23),m:_(b==null?void 0:b.value,59),s:_(w==null?void 0:w.value,59)};const m=z=>z.split("T")[0]?`${z.split("T")[0]}T${this.timeText()}`:z;this.value&&this.setAttribute("value",m(this.value)),this.getAttr("start")&&this.setAttribute("start",m(this.getAttr("start"))),this.getAttr("end")&&this.setAttribute("end",m(this.getAttr("end"))),this.values.length&&(this.values=this.values.map(z=>m(z)));const k=this.root.querySelector(".display");k&&(k.value=this.displayText()),this.emitChange({value:this.value})};[".t-h",".t-m",".t-s"].forEach(d=>{var b;(b=this.root.querySelector(d))==null||b.addEventListener("input",p)})}}emitChange(e){this.emitValueEvents(e),this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0,detail:e}))}parseTyped(e){var w,_;const t=e.trim();if(!t)return null;const r=this.getAttr("format","dd/mm/yyyy").toLowerCase(),a=["dd","mm","yyyy"].filter(m=>r.includes(m));if(a.length<3)return null;const i=t.split(new RegExp("[^0-9]+")).filter(Boolean);if(i.length!==3)return null;const o={};a.forEach((m,k)=>o[m]=i[k]);const s=`${o.yyyy}-${((w=o.mm)!=null?w:"").padStart(2,"0")}-${((_=o.dd)!=null?_:"").padStart(2,"0")}`,n=new Date(`${s}T12:00:00`);if(Number.isNaN(n.getTime()))return null;const[l,u,f]=s.split("-").map(m=>parseInt(m,10));if(n.getFullYear()!==l||n.getMonth()+1!==u||n.getDate()!==f)return null;const p=(m,k)=>m.split("T")[0].localeCompare(k.split("T")[0]),d=this.getAttr("min"),b=this.getAttr("max");return d&&p(s,d)<0||b&&p(s,b)>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()}};et.styles=g`
1004
+ `);const s=this.root.querySelector(".field");if(!s||e)return;s.addEventListener("click",m=>{if(!m.target.closest(".clear")&&!(this.hasAttr("free-text")&&m.target.classList.contains("display")))if(this.toggleAttribute("open"),this.hasAttr("open")){const f=this.getBoundingClientRect();this.toggleAttribute("up",f.bottom+340>window.innerHeight&&f.top>340)}else this.removeAttribute("up")}),(h=this.root.querySelector(".clear"))==null||h.addEventListener("click",m=>{m.stopPropagation(),this.removeAttribute("value"),this.removeAttribute("start"),this.removeAttribute("end"),this.removeAttribute("values"),this.removeAttribute("open"),this.render(),this.emitChange({})});const c=this.root.querySelector(".pop fx-calendar");c==null||c.addEventListener("change",m=>{var y;const f=(y=m.detail)!=null?y:{};(f.start!==void 0||f.end!==void 0)&&(f.start?this.setAttribute("start",this.withTime(f.start)):this.removeAttribute("start"),f.end?this.setAttribute("end",this.withTime(f.end)):this.removeAttribute("end")),f.values!==void 0&&(this.values=f.values.map(x=>this.withTime(x))),f.value!==void 0&&(f.value?this.setAttribute("value",this.withTime(f.value)):this.removeAttribute("value"),this.mode==="single"&&this.removeAttribute("open")),this.render(),this.emitChange(f)});const u=this.root.querySelector(".display");if(u&&this.hasAttr("free-text")&&!e&&(u.addEventListener("keydown",m=>{m.key==="Enter"&&(m.preventDefault(),this.commitTyped(u))}),u.addEventListener("blur",()=>this.commitTyped(u))),o){const m=()=>{const f=this.root.querySelector(".t-h"),y=this.root.querySelector(".t-m"),x=this.root.querySelector(".t-s"),b=(E,S)=>Math.min(S,Math.max(0,parseInt(E!=null?E:"0",10)||0));this.time={h:b(f==null?void 0:f.value,23),m:b(y==null?void 0:y.value,59),s:b(x==null?void 0:x.value,59)};const v=E=>E.split("T")[0]?`${E.split("T")[0]}T${this.timeText()}`:E;this.value&&this.setAttribute("value",v(this.value)),this.getAttr("start")&&this.setAttribute("start",v(this.getAttr("start"))),this.getAttr("end")&&this.setAttribute("end",v(this.getAttr("end"))),this.values.length&&(this.values=this.values.map(E=>v(E)));const z=this.root.querySelector(".display");z&&(z.value=this.displayText()),this.emitChange({value:this.value})};[".t-h",".t-m",".t-s"].forEach(f=>{var y;(y=this.root.querySelector(f))==null||y.addEventListener("input",m)})}}emitChange(e){this.emitValueEvents(e),this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0,detail:e}))}parseTyped(e){var x,b;const t=e.trim();if(!t)return null;const r=this.getAttr("format","dd/mm/yyyy").toLowerCase(),i=["dd","mm","yyyy"].filter(v=>r.includes(v));if(i.length<3)return null;const o=t.split(new RegExp("[^0-9]+")).filter(Boolean);if(o.length!==3)return null;const a={};i.forEach((v,z)=>a[v]=o[z]);const s=`${a.yyyy}-${((x=a.mm)!=null?x:"").padStart(2,"0")}-${((b=a.dd)!=null?b:"").padStart(2,"0")}`,c=new Date(`${s}T12:00:00`);if(Number.isNaN(c.getTime()))return null;const[u,p,h]=s.split("-").map(v=>parseInt(v,10));if(c.getFullYear()!==u||c.getMonth()+1!==p||c.getDate()!==h)return null;const m=(v,z)=>v.split("T")[0].localeCompare(z.split("T")[0]),f=this.getAttr("min"),y=this.getAttr("max");return f&&m(s,f)<0||y&&m(s,y)>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,i]=[this.getAttr("start").split("T")[0],t].sort();this.setAttribute("start",this.withTime(r)),this.setAttribute("end",this.withTime(i))}this.emitChange({start:this.getAttr("start"),end:this.getAttr("end")})}else{const r=this.values.filter(i=>i.split("T")[0]!==t);r.push(this.withTime(t)),this.values=r,this.emitChange({values:this.values})}this.render()}};qr.styles=w`
1005
1005
  :host {
1006
1006
  display: inline-block;
1007
1007
  vertical-align: middle;
@@ -1153,7 +1153,7 @@
1153
1153
  :host([disabled]) .display { cursor: not-allowed; }
1154
1154
  :host([free-text]) .display { cursor: text; }
1155
1155
  :host([free-text]) .display.invalid { border-bottom: 2px solid var(--fx-color-danger); }
1156
- `;let ae=et;function gr(){return v("fx-datepicker",ae)}gr();const tt=class tt extends S{constructor(){super(...arguments),this._initialChecked=!1,this._initialCheckedCaptured=!1}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)}getFormValue(){return this.checked?this.getAttr("value")||"on":null}get value(){return this.getAttr("value")}set value(e){this.setAttribute("value",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(`
1156
+ `;let xt=qr;function la(){return A("fx-datepicker",xt)}la();const Tr=class Tr extends R{constructor(){super(...arguments),this._initialChecked=!1,this._initialCheckedCaptured=!1}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)}getFormValue(){return this.checked?this.getAttr("value")||"on":null}get value(){return this.getAttr("value")}set value(e){this.setAttribute("value",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(`
1157
1157
  <span class="box" part="box" role="checkbox" tabindex="0"
1158
1158
  aria-checked="${this.indeterminate?"mixed":this.checked}"
1159
1159
  aria-disabled="${this.disabled}">
@@ -1162,7 +1162,7 @@
1162
1162
  </span>
1163
1163
  <span class="label" part="label"><slot></slot></span>
1164
1164
  </span>
1165
- `);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())}),this.updateFormValue())}connectedCallback(){this._initialCheckedCaptured||(this._initialCheckedCaptured=!0,this._initialChecked=this.checked),super.connectedCallback()}formResetCallback(){this.checked=this._initialChecked,this.indeterminate=!1,this.updateFormValue()}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")}})),this.dispatchEvent(new CustomEvent("checkedChange",{bubbles:!0,composed:!0,detail:{checked:this.checked,value:this.getAttr("value")}})))}};tt.styles=g`
1165
+ `);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())}),this.updateFormValue())}connectedCallback(){this._initialCheckedCaptured||(this._initialCheckedCaptured=!0,this._initialChecked=this.checked),super.connectedCallback()}formResetCallback(){this.checked=this._initialChecked,this.indeterminate=!1,this.updateFormValue()}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")}})),this.dispatchEvent(new CustomEvent("checkedChange",{bubbles:!0,composed:!0,detail:{checked:this.checked,value:this.getAttr("value")}})))}};Tr.styles=w`
1166
1166
  :host {
1167
1167
  display: inline-flex;
1168
1168
  vertical-align: middle;
@@ -1223,13 +1223,13 @@
1223
1223
  cursor: not-allowed;
1224
1224
  pointer-events: none;
1225
1225
  }
1226
- `;let ie=tt;function br(){return v("fx-checkbox",ie)}br();const rt=class rt extends S{constructor(){super(...arguments),this._initialChecked=!1,this._initialCheckedCaptured=!1}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)}_group(){const e=this.getAttr("name");if(!e)return[this];const t=this.getRootNode(),r=e.replace(/\\/g,"\\\\").replace(/"/g,'\\"');return Array.from(t.querySelectorAll(`fx-radio[name="${r}"]`))}getFormValue(){return this.checked?this.getAttr("value")||"on":null}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(`
1226
+ `;let yt=Tr;function ca(){return A("fx-checkbox",yt)}ca();const Mr=class Mr extends R{constructor(){super(...arguments),this._initialChecked=!1,this._initialCheckedCaptured=!1}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)}_group(){const e=this.getAttr("name");if(!e)return[this];const t=this.getRootNode(),r=e.replace(/\\/g,"\\\\").replace(/"/g,'\\"');return Array.from(t.querySelectorAll(`fx-radio[name="${r}"]`))}getFormValue(){return this.checked?this.getAttr("value")||"on":null}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(`
1227
1227
  <span class="box" part="box" role="radio" tabindex="0"
1228
1228
  aria-checked="${this.checked}" aria-disabled="${this.disabled}">
1229
1229
  <span class="control" part="control"><span class="dot" part="dot"></span></span>
1230
1230
  <span class="label" part="label"><slot></slot></span>
1231
1231
  </span>
1232
- `);const t=this.root.querySelector(".box");t&&(t.addEventListener("click",()=>this.select()),t.addEventListener("keydown",r=>{const a=r.key;if(a===" "||a==="Enter"){r.preventDefault(),this.select();return}(a==="ArrowDown"||a==="ArrowRight"||a==="ArrowUp"||a==="ArrowLeft")&&(r.preventDefault(),this._moveFocus(a==="ArrowDown"||a==="ArrowRight"?1:-1))}),this.updateFormValue())}_moveFocus(e){var i;const t=this._group().filter(o=>!o.disabled);if(t.length<2)return;const r=t.indexOf(this),a=t[(r+e+t.length)%t.length];a.focus(),a.root.activeElement||(i=a.root.querySelector(".box"))==null||i.focus(),a.checked||a.select()}select(){if(!(this.disabled||this.checked)){for(const e of this._group())e!==this&&(e.checked=!1);this.checked=!0,this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0,detail:{checked:!0,value:this.getAttr("value")}})),this.dispatchEvent(new CustomEvent("checkedChange",{bubbles:!0,composed:!0,detail:{checked:!0,value:this.getAttr("value")}}))}}connectedCallback(){this._initialCheckedCaptured||(this._initialCheckedCaptured=!0,this._initialChecked=this.checked),super.connectedCallback()}formResetCallback(){this.checked=this._initialChecked,this.updateFormValue()}};rt.styles=g`
1232
+ `);const t=this.root.querySelector(".box");t&&(t.addEventListener("click",()=>this.select()),t.addEventListener("keydown",r=>{const i=r.key;if(i===" "||i==="Enter"){r.preventDefault(),this.select();return}(i==="ArrowDown"||i==="ArrowRight"||i==="ArrowUp"||i==="ArrowLeft")&&(r.preventDefault(),this._moveFocus(i==="ArrowDown"||i==="ArrowRight"?1:-1))}),this.updateFormValue())}_moveFocus(e){var o;const t=this._group().filter(a=>!a.disabled);if(t.length<2)return;const r=t.indexOf(this),i=t[(r+e+t.length)%t.length];i.focus(),i.root.activeElement||(o=i.root.querySelector(".box"))==null||o.focus(),i.checked||i.select()}select(){if(!(this.disabled||this.checked)){for(const e of this._group())e!==this&&(e.checked=!1);this.checked=!0,this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0,detail:{checked:!0,value:this.getAttr("value")}})),this.dispatchEvent(new CustomEvent("checkedChange",{bubbles:!0,composed:!0,detail:{checked:!0,value:this.getAttr("value")}}))}}connectedCallback(){this._initialCheckedCaptured||(this._initialCheckedCaptured=!0,this._initialChecked=this.checked),super.connectedCallback()}formResetCallback(){this.checked=this._initialChecked,this.updateFormValue()}};Mr.styles=w`
1233
1233
  :host {
1234
1234
  display: inline-flex;
1235
1235
  vertical-align: middle;
@@ -1285,33 +1285,33 @@
1285
1285
  cursor: not-allowed;
1286
1286
  pointer-events: none;
1287
1287
  }
1288
- `;let oe=rt;function vr(){return v("fx-radio",oe)}vr();function xr(){return"./fenix-icons.woff2"}const yr=xr();function wr(c){const e=c.trim()||void 0;if(V===e)return;V=e;const t=typeof document!="undefined"?document:void 0;if(!t)return;const r=!!t.getElementById(j),a=!!t.getElementById(se);zr(t),r&&Sr(t,Bt),a&&Yt(t)}let Bt=[];function kr(c){Bt=c}let V;function Ar(){return V!=null?V:yr}const se="fenix-icons-font",j="fenix-icons";function Ht(){return`@font-face{font-family:'${U}';font-style:normal;font-weight:100 700;font-display:swap;src:url('${Ar()}') format('woff2');}`}function Kt(){return Ht()+C}function Xt(c){let e="";for(const t of c)e+=`.fx-icon-${t}::before{content:"${t}"}`;return Ht()+C+e}let R=!1;function zr(c=typeof document!="undefined"?document:void 0){var e,t;R=!1,c&&((e=c.getElementById(se))==null||e.remove(),(t=c.getElementById(j))==null||t.remove())}function Yt(c){const e=c.createElement("style");e.id=se,e.textContent=Kt(),c.head.appendChild(e),R=!0}function Sr(c,e){if(c.getElementById(j))return;const t=c.createElement("style");t.id=j,t.textContent=Xt(e),c.head.appendChild(t)}function O(c=typeof document!="undefined"?document:void 0){if(!(R||!c)){if(c.getElementById(j)){R=!0;return}Yt(c)}}function Ut(){R=!1}const N="pt-BR",Er={currency:c=>{if(c==null||c==="")return"";try{return new Intl.NumberFormat(N,{style:"currency",currency:"BRL"}).format(Number(c))}catch(e){return String(c)}},date:(c,e)=>{const t=Jt(c);if(!t)return String(c!=null?c:"");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(N,a).format(t)}catch(i){return t.toLocaleDateString(N)}},dateTime:c=>{const e=Jt(c);if(!e)return String(c!=null?c:"");try{return new Intl.DateTimeFormat(N,{dateStyle:"medium",timeStyle:"short"}).format(e)}catch(t){return e.toLocaleString(N)}},number:(c,e)=>{if(c==null||c==="")return"";try{const t={};if(e!==void 0){const r=Number(e);t.minimumFractionDigits=r,t.maximumFractionDigits=r}return new Intl.NumberFormat(N,t).format(Number(c))}catch(t){return String(c)}}};function Jt(c){if(c==null||c==="")return null;if(c instanceof Date)return isNaN(c.getTime())?null:c;if(typeof c=="number"){const e=new Date(c);return isNaN(e.getTime())?null:e}if(typeof c=="string"){const e=new Date(c);return isNaN(e.getTime())?null:e}return null}const $r=c=>/[a-z_$]/i.test(c),Cr=c=>/[a-z0-9_$]/i.test(c);function Lr(c){const e=[];let t=0;for(;t<c.length;){const r=c[t];if(/\s/.test(r)){t++;continue}if(r==="'"||r==='"'){const i=r;let o="";for(t++;t<c.length&&c[t]!==i;)c[t]==="\\"&&t+1<c.length?(o+=c[t+1],t+=2):(o+=c[t],t++);t++,e.push({type:"str",value:o});continue}if(r>="0"&&r<="9"){let i="";for(;t<c.length&&(c[t]>="0"&&c[t]<="9"||c[t]===".");)i+=c[t],t++;e.push({type:"num",value:i});continue}if($r(r)){let i="";for(;t<c.length&&Cr(c[t]);)i+=c[t],t++;i==="true"||i==="false"||i==="null"?e.push({type:"kw",value:i}):e.push({type:"id",value:i});continue}const a=c.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 qr{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 i;if(((r=this.peek())==null?void 0:r.type)==="colon"){this.next();const o=this.peek();o&&(o.type==="str"||o.type==="num"||o.type==="id")&&(i=o.type==="str"?o.value:String(o.value),this.next())}e=this.applyPipe(a.value,i,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 i=this.parsePipe();return e?a:i}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=Gt(e),i=Gt(r);switch(t){case"==":return a==i;case"!=":return a!=i;case">":return a>i;case"<":return a<i;case">=":return a>=i;case"<=":return a<=i}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=Er[e];if(!a)return ne(r);try{return a(r,t)}catch(i){return ne(r)}}}function Gt(c){return typeof c=="number"?c:typeof c=="boolean"?c?1:0:String(c!=null?c:"")}function ne(c){return c==null?"":typeof c=="object"?"[object Object]":String(c)}function Tr(c,e){try{const t=Lr(c),a=new qr(t,e).parse();return ne(a)}catch(t){return""}}function Dr(c,e,t){const r={value:e[t],row:e};return c.replace(/\{\{([^}]+)\}\}/g,(a,i)=>h(Tr(Mr(i.trim()),r)))}function Mr(c){return c.replace(/&amp;/g,"&").replace(/&gt;/g,">").replace(/&lt;/g,"<").replace(/&quot;/g,'"').replace(/&#39;/g,"'")}const at=class at extends y{constructor(){super(...arguments),this._data=[],this.page=0,this.sortField="",this.sortDir=1,this.filters={},this.globalSearch="",this._shellKey=""}static get observedAttributes(){return["pagination","rows","rows-options","striped","hover","toolbar","empty-message","pagination-position","lazy","total","loading","loading-message","sort-field","sort-order","rounded","radius","no-borders-x"]}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 i,o,s,n;const t=this._resolveCellTemplate(e),r=t?void 0:e.innerHTML.trim(),a=(i=e.getAttribute("align"))!=null?i:"left";return{field:(o=e.getAttribute("field"))!=null?o:"",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}})}_resolveCellTemplate(e){const t=e.querySelector(":scope > fx-cell");if(t)return t;const r=e.getAttribute("template");if(r){const a=this._resolveRef(r);if(a)return a}return e.querySelector("template")}get toolbarTemplate(){const e=this.querySelector(":scope > fx-toolbar");if(e)return e;const t=this.getAttr("toolbar");if(t){const r=this._resolveRef(t);if(r)return r}return this.querySelector('template[slot="toolbar"]')}_resolveRef(e){var a,i;const t=e.trim();if(!t)return null;const r=this.ownerDocument;if(t.startsWith("#"))return(a=r==null?void 0:r.getElementById(t.slice(1)))!=null?a:null;if(/^[.#[>]/.test(t))try{return this.querySelector(t)}catch(o){return null}return(i=r==null?void 0:r.getElementById(t))!=null?i:null}connectedCallback(){this._parseDataAttribute(),this._parseSortAttributes(),O(),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()}_parseSortAttributes(){const e=this.getAttr("sort-field");e&&(this.sortField=e);const t=this.getAttr("sort-order");(t==="asc"||t==="desc")&&(this.sortDir=t==="asc"?1:-1)}_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 i=a.toLowerCase();e=e.filter(o=>{var s;return String((s=o[r])!=null?s:"").toLowerCase().includes(i)})}if(this.globalSearch){const r=this.globalSearch.toLowerCase(),a=this._getSearchFields();e=e.filter(i=>(a.length?a:Object.keys(i)).some(s=>{var n;return String((n=i[s])!=null?n:"").toLowerCase().includes(r)}))}const t=this.lazy?this.total:e.length;if(this.sortField&&e.sort((r,a)=>{const i=r[this.sortField],o=a[this.sortField];return typeof i=="number"&&typeof o=="number"?(i-o)*this.sortDir:String(i!=null?i:"").localeCompare(String(o!=null?o:""),"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,i,o;const r=(i=(a=e.template)==null?void 0:a.innerHTML)!=null?i:e.directTemplate;return r?Dr(r,t,e.field):h(String((o=t[e.field])!=null?o:""))}render(){var w;const e=this.columns.filter(_=>_.field),{rows:t,total:r}=this.computeRows(),a=this.hasAttr("pagination"),i=Math.max(1,Math.ceil(r/this.rowsPerPage));this.page>=i&&(this.page=i-1);const o=this.toolbarTemplate,s=o?`<div class="toolbar" part="toolbar">${o.innerHTML}</div>`:"",n=e.map(_=>{const m=this.sortField===_.field,k=m?this.sortDir===1?"▲":"▼":_.sortable?"⇅":"",z=m?"active":"";return`<th part="header" class="${_.sortable?"sortable":""}" style="text-align:${_.align}" data-field="${h(_.field)}">${h(_.header)}${k?`<span class="sort-ind ${z}">${k}</span>`:""}</th>`}).join(""),l=e.some(_=>_.filterable)?`<tr class="filter-row">${e.map(_=>{var m;return`<th style="text-align:${_.align}">${_.filterable?`<input class="filter" data-field="${h(_.field)}" placeholder="${h("Filtrar…")}" value="${h((m=this.filters[_.field])!=null?m:"")}">`:""}</th>`}).join("")}</tr>`:"",u=t.length?t.map((_,m)=>`<tr part="row" data-index="${m}">${e.map(k=>`<td part="cell" style="text-align:${k.align}">${this.cellHtml(k,_)}</td>`).join("")}</tr>`).join(""):`<tr><td class="empty" colspan="${e.length||1}">${h(this.getAttr("empty-message","Nenhum registro encontrado"))}</td></tr>`,f=a?`
1288
+ `;let wt=Mr;function da(){return A("fx-radio",wt)}da();function ua(){return"./fenix-icons.woff2"}const ha=ua();function fa(l){const e=l.trim()||void 0;if(Le===e)return;Le=e;const t=typeof document!="undefined"?document:void 0;if(!t)return;const r=!!t.getElementById(xe),i=!!t.getElementById(kt);_a(t),r&&ga(t,Oi),i&&Ki(t)}let Oi=[];function pa(l){Oi=l}let Le;function ma(){return Le!=null?Le:ha}const kt="fenix-icons-font",xe="fenix-icons";function Pi(){return`@font-face{font-family:'${ut}';font-style:normal;font-weight:100 700;font-display:swap;src:url('${ma()}') format('woff2');}`}function Bi(){return Pi()+B}function Hi(l){let e="";for(const t of l)e+=`.fx-icon-${t}::before{content:"${t}"}`;return Pi()+B+e}let qe=!1;function _a(l=typeof document!="undefined"?document:void 0){var e,t;qe=!1,l&&((e=l.getElementById(kt))==null||e.remove(),(t=l.getElementById(xe))==null||t.remove())}function Ki(l){const e=l.createElement("style");e.id=kt,e.textContent=Bi(),l.head.appendChild(e),qe=!0}function ga(l,e){if(l.getElementById(xe))return;const t=l.createElement("style");t.id=xe,t.textContent=Hi(e),l.head.appendChild(t)}function Te(l=typeof document!="undefined"?document:void 0){if(!(qe||!l)){if(l.getElementById(xe)){qe=!0;return}Ki(l)}}function Ui(){qe=!1}const ye="pt-BR",ba={currency:l=>{if(l==null||l==="")return"";try{return new Intl.NumberFormat(ye,{style:"currency",currency:"BRL"}).format(Number(l))}catch(e){return String(l)}},date:(l,e)=>{const t=Wi(l);if(!t)return String(l!=null?l:"");const r={short:{dateStyle:"short"},medium:{dateStyle:"medium"},long:{dateStyle:"long"},full:{dateStyle:"full"}},i=e&&r[e]?r[e]:r.medium;try{return new Intl.DateTimeFormat(ye,i).format(t)}catch(o){return t.toLocaleDateString(ye)}},dateTime:l=>{const e=Wi(l);if(!e)return String(l!=null?l:"");try{return new Intl.DateTimeFormat(ye,{dateStyle:"medium",timeStyle:"short"}).format(e)}catch(t){return e.toLocaleString(ye)}},number:(l,e)=>{if(l==null||l==="")return"";try{const t={};if(e!==void 0){const r=Number(e);t.minimumFractionDigits=r,t.maximumFractionDigits=r}return new Intl.NumberFormat(ye,t).format(Number(l))}catch(t){return String(l)}}};function Wi(l){if(l==null||l==="")return null;if(l instanceof Date)return isNaN(l.getTime())?null:l;if(typeof l=="number"){const e=new Date(l);return isNaN(e.getTime())?null:e}if(typeof l=="string"){const e=new Date(l);return isNaN(e.getTime())?null:e}return null}const va=l=>/[a-z_$]/i.test(l),xa=l=>/[a-z0-9_$]/i.test(l);function ya(l){const e=[];let t=0;for(;t<l.length;){const r=l[t];if(/\s/.test(r)){t++;continue}if(r==="'"||r==='"'){const o=r;let a="";for(t++;t<l.length&&l[t]!==o;)l[t]==="\\"&&t+1<l.length?(a+=l[t+1],t+=2):(a+=l[t],t++);t++,e.push({type:"str",value:a});continue}if(r>="0"&&r<="9"){let o="";for(;t<l.length&&(l[t]>="0"&&l[t]<="9"||l[t]===".");)o+=l[t],t++;e.push({type:"num",value:o});continue}if(va(r)){let o="";for(;t<l.length&&xa(l[t]);)o+=l[t],t++;o==="true"||o==="false"||o==="null"?e.push({type:"kw",value:o}):e.push({type:"id",value:o});continue}const i=l.slice(t,t+2);if(i==="=="||i==="!="||i===">="||i==="<="){e.push({type:"cmp",value:i}),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 wa{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 i=this.matchType("id");if(!i)break;let o;if(((r=this.peek())==null?void 0:r.type)==="colon"){this.next();const a=this.peek();a&&(a.type==="str"||a.type==="num"||a.type==="id")&&(o=a.type==="str"?a.value:String(a.value),this.next())}e=this.applyPipe(i.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 i=this.parsePipe();if(((r=this.peek())==null?void 0:r.type)==="colon"){this.next();const o=this.parsePipe();return e?i:o}return i}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 i=Xi(e),o=Xi(r);switch(t){case"==":return i==o;case"!=":return i!=o;case">":return i>o;case"<":return i<o;case">=":return i>=o;case"<=":return i<=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 i=this.peek();if((i==null?void 0:i.type)==="id")this.next(),r=r==null?void 0:r[i.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 i=ba[e];if(!i)return At(r);try{return i(r,t)}catch(o){return At(r)}}}function Xi(l){return typeof l=="number"?l:typeof l=="boolean"?l?1:0:String(l!=null?l:"")}function At(l){return l==null?"":typeof l=="object"?"[object Object]":String(l)}function ka(l,e){try{const t=ya(l),i=new wa(t,e).parse();return At(i)}catch(t){return""}}function Aa(l,e,t){const r={value:e[t],row:e};return l.replace(/\{\{([^}]+)\}\}/g,(i,o)=>_(ka(za(o.trim()),r)))}function za(l){return l.replace(/&amp;/g,"&").replace(/&gt;/g,">").replace(/&lt;/g,"<").replace(/&quot;/g,'"').replace(/&#39;/g,"'")}const Dr=class Dr extends C{constructor(){super(...arguments),this._data=[],this.page=0,this.sortField="",this.sortDir=1,this.filters={},this.globalSearch="",this._shellKey=""}static get observedAttributes(){return["pagination","rows","rows-options","striped","hover","toolbar","empty-message","pagination-position","lazy","total","loading","loading-message","sort-field","sort-order","rounded","radius","no-borders-x"]}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,a,s,c;const t=this._resolveCellTemplate(e),r=t?void 0:e.innerHTML.trim(),i=(o=e.getAttribute("align"))!=null?o:"left";return{field:(a=e.getAttribute("field"))!=null?a:"",header:(c=(s=e.getAttribute("header"))!=null?s:e.getAttribute("field"))!=null?c:"",sortable:e.hasAttribute("sortable"),filterable:e.hasAttribute("filterable"),align:["left","center","right","justify","start","end"].includes(i)?i:"left",template:t!=null?t:void 0,directTemplate:r||void 0}})}_resolveCellTemplate(e){const t=e.querySelector(":scope > fx-cell");if(t)return t;const r=e.getAttribute("template");if(r){const i=this._resolveRef(r);if(i)return i}return e.querySelector("template")}get toolbarTemplate(){const e=this.querySelector(":scope > fx-toolbar");if(e)return e;const t=this.getAttr("toolbar");if(t){const r=this._resolveRef(t);if(r)return r}return this.querySelector('template[slot="toolbar"]')}_resolveRef(e){var i,o;const t=e.trim();if(!t)return null;const r=this.ownerDocument;if(t.startsWith("#"))return(i=r==null?void 0:r.getElementById(t.slice(1)))!=null?i:null;if(/^[.#[>]/.test(t))try{return this.querySelector(t)}catch(a){return null}return(o=r==null?void 0:r.getElementById(t))!=null?o:null}connectedCallback(){this._parseDataAttribute(),this._parseSortAttributes(),Te(),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()}_parseSortAttributes(){const e=this.getAttr("sort-field");e&&(this.sortField=e);const t=this.getAttr("sort-order");(t==="asc"||t==="desc")&&(this.sortDir=t==="asc"?1:-1)}_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,i]of Object.entries(this.filters)){if(!i)continue;const o=i.toLowerCase();e=e.filter(a=>{var s;return String((s=a[r])!=null?s:"").toLowerCase().includes(o)})}if(this.globalSearch){const r=this.globalSearch.toLowerCase(),i=this._getSearchFields();e=e.filter(o=>(i.length?i:Object.keys(o)).some(s=>{var c;return String((c=o[s])!=null?c:"").toLowerCase().includes(r)}))}const t=this.lazy?this.total:e.length;if(this.sortField&&e.sort((r,i)=>{const o=r[this.sortField],a=i[this.sortField];return typeof o=="number"&&typeof a=="number"?(o-a)*this.sortDir:String(o!=null?o:"").localeCompare(String(a!=null?a:""),"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 i,o,a;const r=(o=(i=e.template)==null?void 0:i.innerHTML)!=null?o:e.directTemplate;return r?Aa(r,t,e.field):_(String((a=t[e.field])!=null?a:""))}render(){var x;const e=this.columns.filter(b=>b.field),{rows:t,total:r}=this.computeRows(),i=this.hasAttr("pagination"),o=Math.max(1,Math.ceil(r/this.rowsPerPage));this.page>=o&&(this.page=o-1);const a=this.toolbarTemplate,s=a?`<div class="toolbar" part="toolbar">${a.innerHTML}</div>`:"",c=e.map(b=>{const v=this.sortField===b.field,z=v?this.sortDir===1?"▲":"▼":b.sortable?"⇅":"",E=v?"active":"";return`<th part="header" class="${b.sortable?"sortable":""}" style="text-align:${b.align}" data-field="${_(b.field)}">${_(b.header)}${z?`<span class="sort-ind ${E}">${z}</span>`:""}</th>`}).join(""),u=e.some(b=>b.filterable)?`<tr class="filter-row">${e.map(b=>{var v;return`<th style="text-align:${b.align}">${b.filterable?`<input class="filter" data-field="${_(b.field)}" placeholder="${_("Filtrar…")}" value="${_((v=this.filters[b.field])!=null?v:"")}">`:""}</th>`}).join("")}</tr>`:"",p=t.length?t.map((b,v)=>`<tr part="row" data-index="${v}">${e.map(z=>`<td part="cell" style="text-align:${z.align}">${this.cellHtml(z,b)}</td>`).join("")}</tr>`).join(""):`<tr><td class="empty" colspan="${e.length||1}">${_(this.getAttr("empty-message","Nenhum registro encontrado"))}</td></tr>`,h=i?`
1289
1289
  <div class="pager" part="pager">
1290
- <span class="info">Página ${this.page+1} de ${i} · ${r} registros</span>
1291
- <button type="button" class="pg-btn" part="first" aria-label="Primeira página" data-pg="first" ${this.page===0?"disabled":""}>${L("first_page")}</button>
1292
- <button type="button" class="pg-btn" part="prev" aria-label="Página anterior" data-pg="prev" ${this.page===0?"disabled":""}>${L("navigate_before")}</button>
1293
- ${Array.from({length:i},(_,m)=>`<button type="button" class="pg-btn" data-pg="${m}" aria-current="${m===this.page}">${m+1}</button>`).join("")}
1294
- <button type="button" class="pg-btn" part="next" aria-label="Próxima página" data-pg="next" ${this.page>=i-1?"disabled":""}>${L("navigate_next")}</button>
1295
- <button type="button" class="pg-btn" part="last" aria-label="Última página" data-pg="last" ${this.page>=i-1?"disabled":""}>${L("last_page")}</button>
1296
- <label class="info">${h("Por página:")}
1297
- <fx-select class="rows-sel" size="sm" value="${this.rowsPerPage}" aria-label="Itens por página">${this.getAttr("rows-options","5,10,20,50").split(",").map(_=>_.trim()).map(_=>`<option value="${h(_)}">${h(_)}</option>`).join("")}</fx-select>
1290
+ <span class="info">Página ${this.page+1} de ${o} · ${r} registros</span>
1291
+ <button type="button" class="pg-btn" part="first" aria-label="Primeira página" data-pg="first" ${this.page===0?"disabled":""}>${P("first_page")}</button>
1292
+ <button type="button" class="pg-btn" part="prev" aria-label="Página anterior" data-pg="prev" ${this.page===0?"disabled":""}>${P("navigate_before")}</button>
1293
+ ${Array.from({length:o},(b,v)=>`<button type="button" class="pg-btn" data-pg="${v}" aria-current="${v===this.page}">${v+1}</button>`).join("")}
1294
+ <button type="button" class="pg-btn" part="next" aria-label="Próxima página" data-pg="next" ${this.page>=o-1?"disabled":""}>${P("navigate_next")}</button>
1295
+ <button type="button" class="pg-btn" part="last" aria-label="Última página" data-pg="last" ${this.page>=o-1?"disabled":""}>${P("last_page")}</button>
1296
+ <label class="info">${_("Por página:")}
1297
+ <fx-select class="rows-sel" size="sm" value="${this.rowsPerPage}" aria-label="Itens por página">${this.getAttr("rows-options","5,10,20,50").split(",").map(b=>b.trim()).map(b=>`<option value="${_(b)}">${_(b)}</option>`).join("")}</fx-select>
1298
1298
  </label>
1299
- </div>`:"",d=this.hasAttr("loading")?`<div class="loading-overlay" part="loading-overlay"><div class="tbl-spinner" part="spinner"></div><span class="loading-text">${h(this.getAttr("loading-message","Carregando…"))}</span></div>`:"",b=[s,n,l,f,d,e.length].join("|");if(b===this._shellKey){const _=this.root.querySelector("tbody");if(_){_.innerHTML=u,this._bindRowClicks(t);return}}this._shellKey=b,this.setTemplate(`
1299
+ </div>`:"",f=this.hasAttr("loading")?`<div class="loading-overlay" part="loading-overlay"><div class="tbl-spinner" part="spinner"></div><span class="loading-text">${_(this.getAttr("loading-message","Carregando…"))}</span></div>`:"",y=[s,c,u,h,f,e.length].join("|");if(y===this._shellKey){const b=this.root.querySelector("tbody");if(b){b.innerHTML=p,this._bindRowClicks(t);return}}this._shellKey=y,this.setTemplate(`
1300
1300
  ${s}
1301
- <div class="frame${o?" has-toolbar":""}" part="frame">
1301
+ <div class="frame${a?" has-toolbar":""}" part="frame">
1302
1302
  <div class="table-wrap">
1303
1303
  <div class="scroll">
1304
1304
  <table part="table">
1305
- <thead><tr>${n}</tr>${l}</thead>
1306
- <tbody>${u}</tbody>
1305
+ <thead><tr>${c}</tr>${u}</thead>
1306
+ <tbody>${p}</tbody>
1307
1307
  </table>
1308
1308
  </div>
1309
- ${d}
1309
+ ${f}
1310
1310
  </div>
1311
- ${f}
1311
+ ${h}
1312
1312
  </div>
1313
- `),this.root.querySelectorAll("th.sortable").forEach(_=>{_.addEventListener("click",()=>{const m=_.dataset.field;this.sortField===m?this.sortDir=this.sortDir===1?-1:1:(this.sortField=m,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(_=>{_.addEventListener("input",()=>{const m=_.dataset.field,k=_.value,z=_.selectionStart;this.filters[m]=k,this.page=0,this.render(),this.dispatchEvent(new CustomEvent("filter-change",{bubbles:!0,composed:!0,detail:{field:m,value:k,lazy:this.lazy}}));const x=this.root.querySelector(`.filter[data-field="${h(m)}"]`);x&&(x.focus(),x.setSelectionRange(z,z))}),_.addEventListener("click",m=>m.stopPropagation())}),this.root.querySelectorAll("[data-search-fields]").forEach(_=>{_.addEventListener("input",()=>{this.globalSearch=_.value,this.page=0;const m=_.selectionStart;this.render();const k=this.root.querySelector("[data-search-fields]");k&&(k.focus(),k.setSelectionRange(m,m))})}),this.root.querySelectorAll(".pg-btn").forEach(_=>{_.addEventListener("click",()=>{const m=_.dataset.pg;this.page=m==="first"?0:m==="prev"?Math.max(0,this.page-1):m==="next"?Math.min(i-1,this.page+1):m==="last"?i-1:Number(m),this.render(),this.dispatchEvent(new CustomEvent("page-change",{bubbles:!0,composed:!0,detail:{page:this.page+1,pages:i,rowsPerPage:this.rowsPerPage,total:r,lazy:this.lazy}}))})}),(w=this.root.querySelector("fx-select.rows-sel"))==null||w.addEventListener("change",_=>{var k;const m=Number((k=_.detail)==null?void 0:k.value);!m||m===this.rowsPerPage||(this.rowsPerPage=m,this.page=0,this.render())}),this._bindRowClicks(t),this._restoreToolbarSearch()}_bindRowClicks(e){this.root.querySelectorAll("tbody tr[data-index]").forEach(t=>{t.addEventListener("click",()=>{this.dispatchEvent(new CustomEvent("row-click",{bubbles:!0,composed:!0,detail:{row:e[Number(t.dataset.index)],index:Number(t.dataset.index)}}))})})}_restoreToolbarSearch(){const e=this.root.querySelector("[data-search-fields]");e&&this.globalSearch&&(e.value=this.globalSearch)}};at.styles=g`
1314
- ${C}
1313
+ `),this.root.querySelectorAll("th.sortable").forEach(b=>{b.addEventListener("click",()=>{const v=b.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(b=>{b.addEventListener("input",()=>{const v=b.dataset.field,z=b.value,E=b.selectionStart;this.filters[v]=z,this.page=0,this.render(),this.dispatchEvent(new CustomEvent("filter-change",{bubbles:!0,composed:!0,detail:{field:v,value:z,lazy:this.lazy}}));const S=this.root.querySelector(`.filter[data-field="${_(v)}"]`);S&&(S.focus(),S.setSelectionRange(E,E))}),b.addEventListener("click",v=>v.stopPropagation())}),this.root.querySelectorAll("[data-search-fields]").forEach(b=>{b.addEventListener("input",()=>{this.globalSearch=b.value,this.page=0;const v=b.selectionStart;this.render();const z=this.root.querySelector("[data-search-fields]");z&&(z.focus(),z.setSelectionRange(v,v))})}),this.root.querySelectorAll(".pg-btn").forEach(b=>{b.addEventListener("click",()=>{const v=b.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}}))})}),(x=this.root.querySelector("fx-select.rows-sel"))==null||x.addEventListener("change",b=>{var z;const v=Number((z=b.detail)==null?void 0:z.value);!v||v===this.rowsPerPage||(this.rowsPerPage=v,this.page=0,this.render())}),this._bindRowClicks(t),this._restoreToolbarSearch()}_bindRowClicks(e){this.root.querySelectorAll("tbody tr[data-index]").forEach(t=>{t.addEventListener("click",()=>{this.dispatchEvent(new CustomEvent("row-click",{bubbles:!0,composed:!0,detail:{row:e[Number(t.dataset.index)],index:Number(t.dataset.index)}}))})})}_restoreToolbarSearch(){const e=this.root.querySelector("[data-search-fields]");e&&this.globalSearch&&(e.value=this.globalSearch)}};Dr.styles=w`
1314
+ ${B}
1315
1315
  :host {
1316
1316
  display: block;
1317
1317
  font-family: var(--fx-font-family);
@@ -1584,14 +1584,14 @@
1584
1584
  color: var(--fx-text-muted);
1585
1585
  font-size: calc(var(--fx-font-size) - 1px);
1586
1586
  }
1587
- `;let le=at;function Ir(){return v("fx-table",le)}Ir();const it=class it extends y{constructor(){super(...arguments),this.targetControl=null,this.observer=null,this.listenersReady=!1,this._label=null,this._labelClickBound=!1}static get observedAttributes(){return["variant","error","invalid","success","valid","full","icon","icon-pos"]}render(){const e=this.findControl(),t=this.findLabel();t&&(this._label=t);const r=this._label,a=this.getAttribute("variant")==="over";if(this.setTemplate(`
1587
+ `;let zt=Dr;function Sa(){return A("fx-table",zt)}Sa();const Nr=class Nr extends C{constructor(){super(...arguments),this.targetControl=null,this.observer=null,this.listenersReady=!1,this._label=null,this._labelClickBound=!1}static get observedAttributes(){return["variant","error","invalid","success","valid","full","icon","icon-pos"]}render(){const e=this.findControl(),t=this.findLabel();t&&(this._label=t);const r=this._label,i=this.getAttribute("variant")==="over";if(this.setTemplate(`
1588
1588
  <div class="wrapper" part="wrapper">
1589
1589
  <div class="field-box" part="field">
1590
1590
  <slot></slot>
1591
1591
  </div>
1592
1592
  <div class="error-message" part="error"></div>
1593
1593
  </div>
1594
- `),r){r.classList.add("flabel"),r.setAttribute("part","label");const i=this.root.querySelector(".wrapper"),o=this.root.querySelector(".field-box");i&&o&&(a?i.insertBefore(r,o):o.appendChild(r)),this._labelClickBound||(this._labelClickBound=!0,r.addEventListener("click",s=>{var n,l;s.preventDefault(),(l=(n=this.targetControl)==null?void 0:n.focus)==null||l.call(n)}))}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 o,s,n;if(this.targetControl&&!this.targetControl.isConnected&&(this.targetControl=null,(o=this.observer)==null||o.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"))),i=this.isFocusedInside();a||i?(this.setAttribute("active",""),i?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))}};it.styles=g`
1594
+ `),r){r.classList.add("flabel"),r.setAttribute("part","label");const o=this.root.querySelector(".wrapper"),a=this.root.querySelector(".field-box");o&&a&&(i?o.insertBefore(r,a):a.appendChild(r)),this._labelClickBound||(this._labelClickBound=!0,r.addEventListener("click",s=>{var c,u;s.preventDefault(),(u=(c=this.targetControl)==null?void 0:c.focus)==null||u.call(c)}))}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 a,s,c;if(this.targetControl&&!this.targetControl.isConnected&&(this.targetControl=null,(a=this.observer)==null||a.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?((c=e.getAttribute("values"))!=null?c:"").trim():"",i=!!(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();i||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 i=this.targetControl;e?(i.setAttribute("error",""),i.removeAttribute("success")):this.hasAttr("success")||this.hasAttr("valid")?(i.setAttribute("success",""),i.removeAttribute("error")):(i.removeAttribute("error"),i.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))}};Nr.styles=w`
1595
1595
  :host {
1596
1596
  display: inline-block;
1597
1597
  position: relative;
@@ -1724,11 +1724,11 @@
1724
1724
  :host([invalid]) .error-message {
1725
1725
  display: block;
1726
1726
  }
1727
- `;let ce=it;function Fr(){return v("fx-floatlabel",ce)}Fr();const ot=class ot extends S{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),this.syncInternalControl(),this.updateFormValue()}render(){const e=this.getAttr("placeholder"),t=this.hasAttr("readonly"),r=this.hasAttr("disabled"),a=this.getAttr("rows"),i=this.getAttr("maxlength");this.setTemplate(`<textarea class="field" part="textarea"
1728
- ${e?`placeholder="${h(e)}"`:""}
1729
- ${a?`rows="${h(a)}"`:""}
1730
- ${i?`maxlength="${h(i)}"`:""}
1731
- ></textarea>`);const o=this.root.querySelector(".field");if(!o)return;o.value=this.getAttr("value"),r&&o.setAttribute("disabled",""),t&&o.setAttribute("readonly","");const s=n=>{this.value=o.value,this.emitValueEvents(),this.dispatchEvent(new CustomEvent(n,{bubbles:!0,composed:!0,detail:{value:o.value}}))};o.addEventListener("input",n=>{n.stopPropagation(),s("input")}),o.addEventListener("change",n=>{n.stopPropagation(),s("change")}),this.updateFormValue()}syncInternalControl(){const e=this.root.querySelector(".field"),t=this.getAttr("value");e&&e.value!==t&&(e.value=t)}};ot.styles=g`
1727
+ `;let St=Nr;function Ea(){return A("fx-floatlabel",St)}Ea();const Ir=class Ir extends R{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),this.syncInternalControl(),this.updateFormValue()}render(){const e=this.getAttr("placeholder"),t=this.hasAttr("readonly"),r=this.hasAttr("disabled"),i=this.getAttr("rows"),o=this.getAttr("maxlength");this.setTemplate(`<textarea class="field" part="textarea"
1728
+ ${e?`placeholder="${_(e)}"`:""}
1729
+ ${i?`rows="${_(i)}"`:""}
1730
+ ${o?`maxlength="${_(o)}"`:""}
1731
+ ></textarea>`);const a=this.root.querySelector(".field");if(!a)return;a.value=this.getAttr("value"),r&&a.setAttribute("disabled",""),t&&a.setAttribute("readonly","");const s=c=>{this.value=a.value,this.emitValueEvents(),this.dispatchEvent(new CustomEvent(c,{bubbles:!0,composed:!0,detail:{value:a.value}}))};a.addEventListener("input",c=>{c.stopPropagation(),s("input")}),a.addEventListener("change",c=>{c.stopPropagation(),s("change")}),this.updateFormValue()}syncInternalControl(){const e=this.root.querySelector(".field"),t=this.getAttr("value");e&&e.value!==t&&(e.value=t)}};Ir.styles=w`
1732
1732
  :host {
1733
1733
  display: inline-block;
1734
1734
  vertical-align: middle;
@@ -1789,18 +1789,511 @@
1789
1789
  /* Full width: o host estica até o pai e o campo interno acompanha. */
1790
1790
  :host([full]) { display: block; width: 100%; }
1791
1791
  :host([full]) .field { width: 100%; }
1792
- `;let de=ot;function jr(){return v("fx-textarea",de)}jr();const st=class st extends y{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(`
1792
+ `;let Et=Ir;function Ca(){return A("fx-textarea",Et)}Ca();const $a=new Set(["p","br","strong","b","em","i","u","s","del","ins","sub","sup","code","pre","blockquote","h1","h2","h3","h4","h5","h6","ul","ol","li","a","img","figure","figcaption","video","source","iframe","table","thead","tbody","tfoot","tr","th","td","colgroup","col","hr","span","div","small","mark"]),La=new Set(["script","style","template","noscript","svg","math","object","embed","form","input","button","textarea","select","option","meta","link","base","title","head","audio","canvas","map","area"]),qa=new Set(["title","dir","lang","role"]),Ta={a:new Set(["href","target","rel","download"]),img:new Set(["src","alt","width","height","loading","decoding"]),video:new Set(["src","poster","controls","preload","width","height","muted","loop","playsinline"]),source:new Set(["src","type"]),iframe:new Set(["src","title","width","height","allow","allowfullscreen","sandbox","referrerpolicy","loading"]),td:new Set(["colspan","rowspan","scope","style","class","data-align"]),th:new Set(["colspan","rowspan","scope","style","class","data-align"]),table:new Set(["style","class","role","data-cols","data-stack"]),col:new Set(["span","style","width"]),colgroup:new Set(["span","style"]),figure:new Set(["class","style","data-align","data-cols"]),figcaption:new Set(["class","style"]),span:new Set(["class","style"]),div:new Set(["class","style"]),p:new Set(["class","style"]),h1:new Set(["class","style"]),h2:new Set(["class","style"]),h3:new Set(["class","style"]),h4:new Set(["class","style"]),h5:new Set(["class","style"]),h6:new Set(["class","style"]),blockquote:new Set(["class","style"]),pre:new Set(["class","style"]),code:new Set(["class"]),li:new Set(["class","style","value"]),ol:new Set(["class","style","start","type"]),ul:new Set(["class","style"]),hr:new Set(["class","style"]),small:new Set(["class"]),mark:new Set(["class","style"])},Ma=new Set(["color","background-color","text-align","font-size","font-family","font-weight","font-style","text-decoration","text-decoration-line","vertical-align","width","height","max-width","min-width","margin","margin-top","margin-right","margin-bottom","margin-left","padding","padding-top","padding-right","padding-bottom","padding-left","border","border-top","border-right","border-bottom","border-left","border-collapse","border-spacing","border-radius","float","display","line-height","white-space","word-break","overflow-wrap","list-style-type"]),Da=/^fx-[a-z0-9-]+$/i,Na=new Set(["www.youtube.com","youtube.com","www.youtube-nocookie.com","youtube-nocookie.com","player.vimeo.com"]),Ia=new Set(["http:","https:","mailto:","tel:"]),Fa=new Set(["http:","https:"]),ja=/^data:image\/(?:png|jpe?g|gif|webp|avif);base64,[a-z0-9+/=\s]+$/i,Ra=2*1024*1024,Va=4*1024*1024,Oa=new Set(["contenteditable","spellcheck","tabindex","autofocus","id","onclick","ondblclick","onmousedown","onmouseup","onmouseover","onmouseout","onmousemove","onkeydown","onkeyup","onkeypress","onload","onerror","onfocus","onblur","oninput","onchange","onsubmit","onreset","onselect","ondrag","ondrop","onpaste","oncopy","oncut","onscroll","onwheel","onanimationstart","onanimationend","ontransitionend","formaction","srcdoc","xlink:href","xmlns","http-equiv","ping"]),Yi={allowBase64Images:!0,allowBase64Videos:!1,allowEmbeds:!0,maxDataImageBytes:Ra,maxDataVideoBytes:Va},Pa=/^data:video\/(?:mp4|webm);base64,[a-z0-9+/=\s]+$/i;function Ct(l){return l.replace(/[\u0000-\u001F\u007F\s]+/g,"").trim()}function Gi(l){return!l.startsWith("//")&&/^(?:#|\/|\.{1,2}\/)/.test(l)}function Ji(l){const e=Ct(l);if(!e)return"";if(Gi(e))return e;const t=e.toLowerCase();if(t.startsWith("javascript:")||t.startsWith("vbscript:")||t.startsWith("data:")||t.startsWith("file:")||t.startsWith("blob:"))return"";try{const r=new URL(e);return Ia.has(r.protocol)?e:""}catch(r){return/^[a-z0-9][a-z0-9._~!$&'()*+,;=:@%/?#-]*$/i.test(e)?e:""}}function Me(l,e,t={}){const r={...Yi,...t},i=Ct(l);if(!i)return"";if(i.toLowerCase().startsWith("data:"))return e==="img"&&r.allowBase64Images?ja.test(i)&&i.length<=r.maxDataImageBytes?i:"":(e==="video"||e==="source")&&r.allowBase64Videos&&Pa.test(i)&&i.length<=r.maxDataVideoBytes?i:"";if(Gi(i))return i;const o=i.toLowerCase();if(o.startsWith("javascript:")||o.startsWith("vbscript:")||o.startsWith("file:")||o.startsWith("blob:"))return"";try{const a=new URL(i);return Fa.has(a.protocol)?i:""}catch(a){return""}}function Zi(l){let e=Ct(l);if(!e)return"";e.startsWith("//")&&(e=`https:${e}`);let t;try{t=new URL(e)}catch(o){return""}if(t.protocol!=="https:"||!Na.has(t.hostname.toLowerCase()))return"";const r=t.pathname.toLowerCase();return t.hostname.includes("youtube")&&r.startsWith("/embed/")||t.hostname.includes("vimeo")&&r.startsWith("/video/")?t.toString():""}function Ba(l){if(!l)return"";const e=document.createElement("span");e.setAttribute("style",l);const t=[];for(let r=0;r<e.style.length;r++){const i=e.style.item(r);if(!Ma.has(i))continue;const o=e.style.getPropertyValue(i).trim();o&&(/\\/.test(o)||/url\s*\(|expression\s*\(|javascript\s*:|@import|behavior\s*:|-moz-binding/i.test(o)||t.push(`${i}: ${o}`))}return t.join("; ")}function Qi(l,e,t){var r;for(const i of Array.from(l.attributes)){const o=i.name.toLowerCase(),a=i.value;if(Oa.has(o)||o.startsWith("on")){l.removeAttribute(i.name);continue}if(!(qa.has(o)||((r=Ta[e])==null?void 0:r.has(o)))){l.removeAttribute(i.name);continue}if(o==="style"){const c=Ba(a);c?l.setAttribute("style",c):l.removeAttribute("style");continue}if(o==="class"){const c=a.split(/\s+/).filter(u=>Da.test(u));c.length?l.setAttribute("class",c.join(" ")):l.removeAttribute("class");continue}if(o==="href"){const c=Ji(a);c?l.setAttribute("href",c):l.removeAttribute("href");continue}if(o==="src"){const c=Me(a,e,t);c?l.setAttribute("src",c):l.removeAttribute("src");continue}if(o==="poster"){const c=Me(a,"img",t);c?l.setAttribute("poster",c):l.removeAttribute("poster");continue}if(o==="target"){const c=a==="_self"||a==="_blank"?a:"_blank";l.setAttribute("target",c);continue}if(o==="colspan"||o==="rowspan"||o==="span"||o==="start"){const c=Number(a);Number.isInteger(c)&&c>0&&c<=1e3?l.setAttribute(o,String(c)):l.removeAttribute(o);continue}if(o==="width"||o==="height"){/^\d{1,4}(?:px|%)?$/i.test(a.trim())?l.setAttribute(o,a.trim()):l.removeAttribute(o);continue}}e==="a"&&(l.getAttribute("href")?l.getAttribute("target")==="_blank"&&l.setAttribute("rel","noopener noreferrer"):(l.removeAttribute("target"),l.removeAttribute("rel"))),e==="iframe"&&(l.setAttribute("sandbox","allow-scripts allow-same-origin allow-presentation"),l.setAttribute("allowfullscreen",""),l.setAttribute("loading","lazy"),l.setAttribute("referrerpolicy","strict-origin-when-cross-origin")),e==="img"&&(l.hasAttribute("alt")||l.setAttribute("alt",""),l.setAttribute("loading","lazy"),l.setAttribute("decoding","async")),e==="video"&&(l.setAttribute("controls",""),l.setAttribute("preload","metadata"))}function Ha(l){var r;const e=(r=l.getAttribute("src"))!=null?r:"",t=Zi(e);return t?(l.setAttribute("src",t),!0):!1}function Ka(l,e){const t=l.parentNode;if(!t){l.remove();return}for(const r of Array.from(l.childNodes))$t(r,e),t.insertBefore(r,l);l.remove()}function $t(l,e){var i,o;if(l.nodeType===Node.TEXT_NODE)return;if(l.nodeType===Node.COMMENT_NODE){(i=l.parentNode)==null||i.removeChild(l);return}if(l.nodeType!==Node.ELEMENT_NODE){(o=l.parentNode)==null||o.removeChild(l);return}const t=l,r=t.tagName.toLowerCase();if(La.has(r)){t.remove();return}if(r==="iframe"){!e.allowEmbeds||!Ha(t)?t.remove():Qi(t,r,e);return}if(!$a.has(r)){Ka(t,e);return}if(Qi(t,r,e),(r==="img"||r==="video"||r==="source")&&!t.hasAttribute("src")){t.remove();return}for(const a of Array.from(t.childNodes))$t(a,e)}function Ua(l,e={}){const t={...Yi,...e};if(!l||typeof DOMParser=="undefined"||typeof document=="undefined")return null;const r=new DOMParser().parseFromString(`<!doctype html><html><body>${l}</body></html>`,"text/html");for(const i of Array.from(r.body.childNodes))$t(i,t);return r.body}const Lt=new Set(["p","h1","h2","h3","h4","h5","h6","blockquote","pre","ul","ol","li","table","figure","hr","div"]),Wa=new Set(["strong","b","em","i","u","s","del","ins","sub","sup","code","a","span","small","mark","br"]);function qt(l){return l.nodeType===Node.ELEMENT_NODE}function G(l){return qt(l)?l.tagName.toLowerCase():""}function eo(l){return Array.from(l.children).some(e=>Lt.has(G(e))||G(e)==="figure")}function Tt(l){const e=l.parentNode;if(!e){l.remove();return}for(;l.firstChild;)e.insertBefore(l.firstChild,l);l.remove()}function De(l,e){const r=l.ownerDocument.createElement(e);for(const i of Array.from(l.attributes))r.setAttribute(i.name,i.value);for(;l.firstChild;)r.appendChild(l.firstChild);return l.replaceWith(r),r}function Mt(l,e){var t;for(const r of Array.from(l.childNodes)){if(r.nodeType===Node.COMMENT_NODE){r.remove();continue}if(r.nodeType===Node.TEXT_NODE){r.nodeValue=((t=r.nodeValue)!=null?t:"").replace(/\u00a0/g," ");continue}if(!qt(r))continue;let i=r,o=G(i);if(o==="b"?i=De(i,"strong"):o==="i"?i=De(i,"em"):(o==="strike"||o==="del")&&(i=De(i,"s")),o=G(i),o==="font"){const a=De(i,"span"),s=[],c=i.getAttribute("color"),u=i.getAttribute("face");c&&s.push(`color: ${c}`),u&&s.push(`font-family: ${u}`),s.length&&a.setAttribute("style",s.join("; ")),i=a,o="span"}if(o==="div"||o==="section"||o==="article"||o==="header"||o==="footer"||o==="main"||o==="aside"){if(eo(i)){Tt(i);continue}i=De(i,"p"),o="p"}if(o==="p"&&eo(i)){Tt(i);continue}if(o==="span"&&!i.hasAttribute("style")&&!i.hasAttribute("class")){Tt(i);continue}e.forEditor||(i.removeAttribute("contenteditable"),i.removeAttribute("spellcheck"),i.removeAttribute("tabindex")),o==="a"&&(i.getAttribute("href")?i.getAttribute("target")==="_blank"&&i.setAttribute("rel","noopener noreferrer"):(i.removeAttribute("target"),i.removeAttribute("rel"))),Mt(i,e)}}function Xa(l,e){var r;if(Array.from(l.children).some(i=>Lt.has(G(i))))return;const t=e.createElement("p");for(;l.firstChild;)t.appendChild(l.firstChild);!((r=t.textContent)!=null&&r.trim())&&!t.querySelector("img,video,iframe,br")&&(t.innerHTML="<br>"),l.appendChild(t)}function Ya(l,e){var r,i;const t=l.ownerDocument;for(const o of Array.from(l.querySelectorAll("img, video, iframe"))){if(o.closest("figure"))continue;const a=o.closest("a"),s=a&&a.querySelectorAll("*").length===1?a:o,c=t.createElement("figure"),u=G(o);c.className=u==="img"?"fx-image":u==="video"?"fx-video":"fx-embed",u==="img"&&c.setAttribute("data-align","center");const p=s.closest("p");p?p.after(c):(r=s.parentNode)==null||r.insertBefore(c,s),c.appendChild(s),e.forEditor&&c.setAttribute("contenteditable","false")}for(const o of Array.from(l.querySelectorAll("figure"))){if(o.classList.contains("fx-table")||o.querySelector("table")){o.classList.add("fx-table"),o.removeAttribute("contenteditable");continue}const a=!!o.querySelector("img"),s=!!o.querySelector("video"),c=!!o.querySelector("iframe");if(!a&&!s&&!c){o.remove();continue}const u=new Set(((i=o.getAttribute("class"))!=null?i:"").split(/\s+/).filter(Boolean));a&&u.add("fx-image"),s&&u.add("fx-video"),c&&u.add("fx-embed"),o.setAttribute("class",Array.from(u).join(" ")),o.hasAttribute("data-align")||o.setAttribute("data-align","center"),e.forEditor?o.setAttribute("contenteditable","false"):o.removeAttribute("contenteditable")}}function Ga(l){var t;const e=l.ownerDocument;for(const r of Array.from(l.querySelectorAll("table"))){if(r.classList.contains("fx-grid")||r.getAttribute("role")==="presentation"){r.classList.add("fx-grid"),r.setAttribute("role","presentation");const s=r.querySelector("tr"),c=s?s.children.length:0;c&&r.setAttribute("data-cols",String(c))}else{r.removeAttribute("role");const s=r.closest("figure");if(!s||!s.classList.contains("fx-table")){const c=e.createElement("figure");c.className="fx-table",(t=r.parentNode)==null||t.insertBefore(c,r),c.appendChild(r)}}let o=Array.from(r.children).find(s=>G(s)==="tbody");const a=Array.from(r.children).filter(s=>G(s)==="tr");if(a.length){o||(o=e.createElement("tbody"),r.appendChild(o));for(const s of a)o.appendChild(s)}if(!Array.from(r.children).some(s=>G(s)==="colgroup")){const s=r.querySelector("tr"),c=s?Array.from(s.children).filter(u=>G(u)==="td"||G(u)==="th").length:0;if(c>0){const u=e.createElement("colgroup");for(let p=0;p<c;p++){const h=e.createElement("col");h.style.width=`${(100/c).toFixed(4).replace(/\.?0+$/,"")}%`,u.appendChild(h)}r.insertBefore(u,r.firstChild)}}for(const s of Array.from(r.querySelectorAll("th")))s.getAttribute("scope")||s.setAttribute("scope","col");for(const s of Array.from(r.querySelectorAll("th, td")))Xa(s,e)}}function Ja(l,e){var o;const t=l.ownerDocument;let r=[];const i=a=>{var c;if(!r.length)return;const s=t.createElement("p");l.insertBefore(s,a);for(const u of r)s.appendChild(u);r=[],!((c=s.textContent)!=null&&c.trim())&&!s.querySelector("img,video,iframe,br")&&(s.innerHTML="<br>")};for(const a of Array.from(l.childNodes)){if(a.nodeType===Node.TEXT_NODE){((o=a.nodeValue)!=null?o:"").trim()?r.push(a):a.remove();continue}if(!qt(a)){a.remove();continue}const s=G(a);if(Lt.has(s)||s==="figure"){i(a);continue}if(Wa.has(s)||s==="img"||s==="video"||s==="iframe"){r.push(a);continue}for(;a.firstChild;)r.push(a.firstChild),l.insertBefore(a.firstChild,a);a.remove()}i(null),e.forEditor&&!l.querySelector("p,h1,h2,h3,h4,h5,h6,ul,ol,blockquote,pre,table,figure,hr")&&(l.innerHTML="<p><br></p>")}function Za(l,e){var t,r,i;for(const o of Array.from(l.querySelectorAll("span")))!((t=o.textContent)!=null&&t.trim())&&!o.querySelector("img,video,iframe,br")&&!o.hasAttribute("style")&&o.remove();for(const o of Array.from(l.querySelectorAll("p")))o.querySelector("img,video,iframe,br,table,figure")||(r=o.textContent)!=null&&r.trim()||e&&o===l.lastElementChild||o.remove();for(const o of Array.from(l.querySelectorAll("h1,h2,h3,h4,h5,h6,blockquote")))!((i=o.textContent)!=null&&i.trim())&&!o.querySelector("img,video,iframe,br")&&o.remove();for(const o of Array.from(l.querySelectorAll("figure")))o.querySelector("img,video,iframe,table")||o.remove();for(const o of Array.from(l.querySelectorAll("table")))o.querySelector("td,th")||o.remove();e&&!l.querySelector("p,h1,h2,h3,h4,h5,h6,ul,ol,blockquote,pre,table,figure,hr")&&(l.innerHTML="<p><br></p>")}function Qa(l,e={}){Mt(l,e),Ya(l,e),Ga(l),Mt(l,e),Ja(l,e),Za(l,!!e.forEditor);const t=l.innerHTML.trim();return t||(e.forEditor?"<p><br></p>":"")}const es=`
1793
+ :host {
1794
+ display: block;
1795
+ width: 100%;
1796
+ font-family: var(--fx-font-family);
1797
+ font-size: var(--fx-font-size);
1798
+ color: var(--fx-text-default);
1799
+ --fx-editor-min-height: 240px;
1800
+ --fx-editor-max-height: none;
1801
+ --fx-editor-radius: var(--fx-radius-md);
1802
+ --fx-editor-toolbar-bg: var(--fx-surface-surface);
1803
+ --fx-editor-content-padding: var(--fx-space-md) var(--fx-space-lg);
1804
+ }
1805
+ :host([full]) { width: 100%; }
1806
+ .editor {
1807
+ display: flex;
1808
+ flex-direction: column;
1809
+ overflow: hidden;
1810
+ background: var(--fx-surface-background);
1811
+ border: 1px solid var(--fx-border-default);
1812
+ border-radius: var(--fx-editor-radius);
1813
+ transition: border-color var(--fx-motion-duration-normal) var(--fx-motion-easing),
1814
+ box-shadow var(--fx-motion-duration-normal) var(--fx-motion-easing);
1815
+ }
1816
+ .editor:focus-within {
1817
+ border-color: var(--fx-color-primary);
1818
+ box-shadow: var(--fx-effect-focus-ring, none);
1819
+ }
1820
+ :host([error]) .editor, :host([invalid]) .editor {
1821
+ border-color: var(--fx-color-danger, #dc2626);
1822
+ box-shadow: var(--fx-effect-error-ring, 0 0 0 3px color-mix(in srgb, var(--fx-color-danger, #dc2626) 18%, transparent));
1823
+ }
1824
+ :host([success]) .editor, :host([valid]) .editor {
1825
+ border-color: var(--fx-color-success, #16a34a);
1826
+ box-shadow: var(--fx-effect-success-ring, 0 0 0 3px color-mix(in srgb, var(--fx-color-success, #16a34a) 18%, transparent));
1827
+ }
1828
+ :host([disabled]) { opacity: 0.55; pointer-events: none; }
1829
+ :host([readonly]) .toolbar { display: none; }
1830
+
1831
+ .toolbar {
1832
+ position: relative;
1833
+ display: flex;
1834
+ flex-wrap: wrap;
1835
+ align-items: center;
1836
+ gap: 1px;
1837
+ padding: var(--fx-space-xs);
1838
+ background: var(--fx-editor-toolbar-bg);
1839
+ border-bottom: 1px solid var(--fx-border-default);
1840
+ user-select: none;
1841
+ }
1842
+ .toolbar[hidden] { display: none; }
1843
+ .tb-group {
1844
+ display: flex;
1845
+ align-items: center;
1846
+ gap: 1px;
1847
+ padding: 0 var(--fx-space-xs);
1848
+ border-right: 1px solid var(--fx-border-default);
1849
+ }
1850
+ .tb-group:last-child { border-right: none; }
1851
+ .tb-btn {
1852
+ display: inline-flex;
1853
+ align-items: center;
1854
+ justify-content: center;
1855
+ width: 30px;
1856
+ height: 30px;
1857
+ padding: 0;
1858
+ border: none;
1859
+ border-radius: var(--fx-radius-sm);
1860
+ background: transparent;
1861
+ color: var(--fx-text-default);
1862
+ font-size: 19px;
1863
+ cursor: pointer;
1864
+ transition: background var(--fx-motion-duration-fast) var(--fx-motion-easing);
1865
+ }
1866
+ .tb-btn:hover { background: var(--fx-surface-surface-hover, rgba(0, 0, 0, 0.06)); }
1867
+ .tb-btn:focus-visible { outline: 2px solid var(--fx-color-primary); outline-offset: -2px; }
1868
+ .tb-btn.active {
1869
+ background: color-mix(in srgb, var(--fx-color-primary) 14%, transparent);
1870
+ color: var(--fx-color-primary);
1871
+ }
1872
+ .tb-btn:disabled { opacity: 0.4; cursor: not-allowed; }
1873
+ .tb-select {
1874
+ height: 30px;
1875
+ padding: 0 var(--fx-space-xs);
1876
+ border: 1px solid var(--fx-border-default);
1877
+ border-radius: var(--fx-radius-sm);
1878
+ background: var(--fx-surface-background);
1879
+ color: var(--fx-text-default);
1880
+ font-family: inherit;
1881
+ font-size: calc(var(--fx-font-size) - 2px);
1882
+ cursor: pointer;
1883
+ }
1884
+ .tb-color {
1885
+ width: 30px;
1886
+ height: 30px;
1887
+ padding: 2px;
1888
+ border: none;
1889
+ background: transparent;
1890
+ cursor: pointer;
1891
+ }
1892
+ .tb-color input { width: 26px; height: 26px; padding: 0; border: none; background: none; cursor: pointer; }
1893
+ .body { position: relative; display: flex; flex-direction: column; flex: 1 1 auto; }
1894
+ .content {
1895
+ position: relative;
1896
+ min-height: var(--fx-editor-min-height);
1897
+ max-height: var(--fx-editor-max-height);
1898
+ overflow: auto;
1899
+ padding: var(--fx-editor-content-padding);
1900
+ outline: none;
1901
+ box-sizing: border-box;
1902
+ }
1903
+ .content[hidden] { display: none; }
1904
+ .content.is-empty::before {
1905
+ content: attr(data-placeholder);
1906
+ color: var(--fx-text-muted);
1907
+ pointer-events: none;
1908
+ position: absolute;
1909
+ }
1910
+ .content[contenteditable="false"] { background: var(--fx-surface-surface-hover, rgba(0,0,0,.02)); }
1911
+ .content figure.fx-image { touch-action: none; }
1912
+
1913
+ .media-overlay {
1914
+ position: absolute;
1915
+ z-index: 5;
1916
+ pointer-events: none;
1917
+ border: 1px solid var(--fx-color-primary);
1918
+ box-shadow: 0 0 0 1px color-mix(in srgb, var(--fx-color-primary) 30%, transparent);
1919
+ }
1920
+ .media-overlay[hidden] { display: none; }
1921
+ .media-handle {
1922
+ position: absolute;
1923
+ width: 11px;
1924
+ height: 11px;
1925
+ border: 1px solid #fff;
1926
+ border-radius: 50%;
1927
+ background: var(--fx-color-primary);
1928
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.35);
1929
+ pointer-events: auto;
1930
+ touch-action: none;
1931
+ }
1932
+ .media-handle.nw { left: -6px; top: -6px; cursor: nwse-resize; }
1933
+ .media-handle.ne { right: -6px; top: -6px; cursor: nesw-resize; }
1934
+ .media-handle.sw { left: -6px; bottom: -6px; cursor: nesw-resize; }
1935
+ .media-handle.se { right: -6px; bottom: -6px; cursor: nwse-resize; }
1936
+ .media-size {
1937
+ position: absolute;
1938
+ top: -24px;
1939
+ left: 0;
1940
+ padding: 2px 6px;
1941
+ border-radius: var(--fx-radius-sm);
1942
+ background: var(--fx-color-primary);
1943
+ color: #fff;
1944
+ font-size: 11px;
1945
+ line-height: 1.4;
1946
+ white-space: nowrap;
1947
+ }
1948
+ .media-delete {
1949
+ position: absolute;
1950
+ top: -32px;
1951
+ right: -1px;
1952
+ display: inline-flex;
1953
+ align-items: center;
1954
+ justify-content: center;
1955
+ width: 24px;
1956
+ height: 24px;
1957
+ padding: 0;
1958
+ border: none;
1959
+ border-radius: 50%;
1960
+ background: var(--fx-color-danger, #dc2626);
1961
+ color: #fff;
1962
+ font-size: 15px;
1963
+ line-height: 1;
1964
+ cursor: pointer;
1965
+ pointer-events: auto;
1966
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.35);
1967
+ }
1968
+ .media-delete:hover { filter: brightness(0.92); }
1969
+ .media-delete:focus-visible { outline: 2px solid #fff; outline-offset: 1px; }
1970
+
1971
+ .content figure.fx-image,
1972
+ .content figure.fx-video,
1973
+ .content figure.fx-embed { position: relative; }
1974
+ .fx-media-quick {
1975
+ position: absolute;
1976
+ top: 6px;
1977
+ z-index: 4;
1978
+ display: inline-flex;
1979
+ align-items: center;
1980
+ justify-content: center;
1981
+ width: 24px;
1982
+ height: 24px;
1983
+ padding: 0;
1984
+ border: 1px solid color-mix(in srgb, var(--fx-color-primary) 35%, transparent);
1985
+ border-radius: var(--fx-radius-sm);
1986
+ background: var(--fx-surface-background);
1987
+ color: var(--fx-text-default);
1988
+ cursor: pointer;
1989
+ opacity: 0;
1990
+ transition: opacity var(--fx-motion-duration-fast) var(--fx-motion-easing), background var(--fx-motion-duration-fast) var(--fx-motion-easing);
1991
+ }
1992
+ .content figure:hover > .fx-media-quick,
1993
+ .content figure:focus-within > .fx-media-quick { opacity: 1; }
1994
+ .content figure.fx-video > .fx-media-quick,
1995
+ .content figure.fx-embed > .fx-media-quick { opacity: 0.92; }
1996
+ .fx-media-quick:hover { background: var(--fx-surface-surface-hover, rgba(0, 0, 0, 0.06)); }
1997
+ .fx-media-quick.active { background: var(--fx-color-primary); color: #fff; }
1998
+ .fx-media-quick.quick-left { right: 82px; }
1999
+ .fx-media-quick.quick-center { right: 56px; }
2000
+ .fx-media-quick.quick-right { right: 30px; }
2001
+ .fx-media-quick.quick-delete { right: 4px; background: var(--fx-color-danger, #dc2626); color: #fff; border-color: transparent; }
2002
+ .fx-media-quick:focus-visible { outline: 2px solid var(--fx-color-primary); outline-offset: 1px; }
2003
+
2004
+ .link-overlay {
2005
+ position: absolute;
2006
+ z-index: 6;
2007
+ display: flex;
2008
+ gap: 2px;
2009
+ padding: 3px;
2010
+ background: var(--fx-surface-background);
2011
+ border: 1px solid var(--fx-border-default);
2012
+ border-radius: var(--fx-radius-sm);
2013
+ box-shadow: var(--fx-shadow-md, 0 4px 12px rgba(0, 0, 0, 0.16));
2014
+ }
2015
+ .link-overlay[hidden] { display: none; }
2016
+ .link-overlay button {
2017
+ border: none;
2018
+ background: none;
2019
+ color: var(--fx-text-default);
2020
+ font: inherit;
2021
+ font-size: 12px;
2022
+ line-height: 1.4;
2023
+ padding: 4px 8px;
2024
+ border-radius: var(--fx-radius-sm);
2025
+ cursor: pointer;
2026
+ }
2027
+ .link-overlay button:hover { background: var(--fx-surface-surface-hover, rgba(0, 0, 0, 0.06)); }
2028
+ .link-overlay button[data-link-action="remove"] { color: var(--fx-color-danger, #dc2626); }
2029
+ .link-overlay button:focus-visible { outline: 2px solid var(--fx-color-primary); outline-offset: 1px; }
2030
+
2031
+ .source {
2032
+ display: block;
2033
+ width: 100%;
2034
+ min-height: var(--fx-editor-min-height);
2035
+ max-height: var(--fx-editor-max-height);
2036
+ padding: var(--fx-editor-content-padding);
2037
+ border: none;
2038
+ outline: none;
2039
+ resize: vertical;
2040
+ background: var(--fx-surface-background);
2041
+ color: var(--fx-text-default);
2042
+ font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
2043
+ font-size: 13px;
2044
+ line-height: 1.55;
2045
+ box-sizing: border-box;
2046
+ }
2047
+ .source[hidden] { display: none; }
2048
+
2049
+ .statusbar {
2050
+ display: flex;
2051
+ align-items: center;
2052
+ justify-content: space-between;
2053
+ gap: var(--fx-space-sm);
2054
+ min-height: 28px;
2055
+ padding: 2px var(--fx-space-md);
2056
+ border-top: 1px solid var(--fx-border-default);
2057
+ color: var(--fx-text-muted);
2058
+ font-size: calc(var(--fx-font-size) - 3px);
2059
+ }
2060
+ .statusbar:empty { display: none; }
2061
+ .statusbar[hidden] { display: none; }
2062
+ .source-actions { display: inline-flex; gap: var(--fx-space-xs); }
2063
+ .source-actions[hidden] { display: none; }
2064
+
2065
+ .backdrop {
2066
+ position: fixed;
2067
+ inset: 0;
2068
+ z-index: var(--fx-z-modal, 1100);
2069
+ display: flex;
2070
+ align-items: center;
2071
+ justify-content: center;
2072
+ background: color-mix(in srgb, var(--fx-text-default, #000) 45%, transparent);
2073
+ }
2074
+ .backdrop[hidden] { display: none; }
2075
+ .dialog {
2076
+ width: min(460px, calc(100vw - 32px));
2077
+ max-height: calc(100vh - 48px);
2078
+ overflow: auto;
2079
+ background: var(--fx-surface-background);
2080
+ border: 1px solid var(--fx-border-default);
2081
+ border-radius: var(--fx-radius-lg);
2082
+ box-shadow: var(--fx-shadow-xl);
2083
+ font-family: var(--fx-font-family);
2084
+ font-size: var(--fx-font-size);
2085
+ }
2086
+ .dialog header {
2087
+ display: flex;
2088
+ align-items: center;
2089
+ justify-content: space-between;
2090
+ padding: var(--fx-space-md) var(--fx-space-lg);
2091
+ border-bottom: 1px solid var(--fx-border-default);
2092
+ }
2093
+ .dialog h3 { margin: 0; font-size: 1rem; font-weight: 600; }
2094
+ .dialog-close {
2095
+ border: none; background: transparent; color: var(--fx-text-muted);
2096
+ font-size: 1.4rem; line-height: 1; cursor: pointer;
2097
+ }
2098
+ .dialog-body { display: flex; flex-direction: column; gap: var(--fx-space-sm); padding: var(--fx-space-lg); }
2099
+ .field { display: flex; flex-direction: column; gap: 3px; font-size: calc(var(--fx-font-size) - 2px); color: var(--fx-text-muted); }
2100
+ .field input, .field select {
2101
+ height: var(--fx-size-md);
2102
+ padding: 0 var(--fx-space-sm);
2103
+ border: 1px solid var(--fx-border-default);
2104
+ border-radius: var(--fx-radius-sm);
2105
+ background: var(--fx-surface-background);
2106
+ color: var(--fx-text-default);
2107
+ font: inherit;
2108
+ font-size: var(--fx-font-size);
2109
+ }
2110
+ .field input:focus, .field select:focus { outline: none; border-color: var(--fx-color-primary); box-shadow: var(--fx-effect-focus-ring, none); }
2111
+ .dialog footer {
2112
+ display: flex; justify-content: flex-end; gap: var(--fx-space-sm);
2113
+ padding: var(--fx-space-md) var(--fx-space-lg);
2114
+ border-top: 1px solid var(--fx-border-default);
2115
+ }
2116
+ .btn {
2117
+ min-height: var(--fx-size-sm);
2118
+ padding: 0 var(--fx-space-md);
2119
+ border: 1px solid var(--fx-border-default);
2120
+ border-radius: var(--fx-radius-sm);
2121
+ background: var(--fx-surface-background);
2122
+ color: var(--fx-text-default);
2123
+ font: inherit; font-size: calc(var(--fx-font-size) - 2px);
2124
+ cursor: pointer;
2125
+ }
2126
+ .btn:hover { background: var(--fx-surface-surface-hover, rgba(0,0,0,.05)); }
2127
+ .btn.primary { background: var(--fx-color-primary); border-color: transparent; color: #fff; }
2128
+ .btn.primary:hover { filter: brightness(0.92); }
2129
+
2130
+ .panel {
2131
+ position: absolute;
2132
+ top: calc(100% + 4px);
2133
+ left: var(--fx-space-md);
2134
+ z-index: 6;
2135
+ padding: var(--fx-space-sm);
2136
+ background: var(--fx-surface-background);
2137
+ border: 1px solid var(--fx-border-default);
2138
+ border-radius: var(--fx-radius-md);
2139
+ box-shadow: var(--fx-shadow-lg);
2140
+ }
2141
+ .panel[hidden] { display: none; }
2142
+ .grid-picker { display: grid; grid-template-columns: repeat(8, 18px); gap: 3px; }
2143
+ .grid-picker button {
2144
+ width: 18px; height: 18px; padding: 0;
2145
+ border: 1px solid var(--fx-border-default);
2146
+ border-radius: 2px; background: var(--fx-surface-background); cursor: pointer;
2147
+ }
2148
+ .grid-picker button.on { background: var(--fx-color-primary); border-color: var(--fx-color-primary); }
2149
+ .panel-title { margin: 0 0 6px; font-size: 11px; color: var(--fx-text-muted); }
2150
+ .panel-actions { display: flex; flex-wrap: wrap; gap: 4px; max-width: 210px; }
2151
+ .panel-actions .btn { min-height: 26px; padding: 0 6px; font-size: 11px; }
2152
+
2153
+ :host([fullscreen]) {
2154
+ position: fixed;
2155
+ inset: 0;
2156
+ z-index: var(--fx-z-modal, 1100);
2157
+ background: var(--fx-surface-background);
2158
+ }
2159
+ :host([fullscreen]) .editor { height: 100%; border: none; border-radius: 0; }
2160
+ :host([fullscreen]) .content, :host([fullscreen]) .source { flex: 1 1 auto; max-height: none; }
2161
+
2162
+ @media (max-width: 640px) {
2163
+ .toolbar { gap: 0; }
2164
+ .tb-group { padding: 0 1px; }
2165
+ .tb-btn { width: 28px; height: 28px; }
2166
+ }
2167
+
2168
+ .content { line-height: 1.55; color: var(--fx-text-default); }
2169
+ .content p { margin: 0 0 0.65em; }
2170
+ .content h1, .content h2, .content h3, .content h4, .content h5, .content h6 {
2171
+ margin: 0.8em 0 0.4em; line-height: 1.25; font-weight: 600; color: var(--fx-text-default);
2172
+ }
2173
+ .content h1 { font-size: 1.8em; }
2174
+ .content h2 { font-size: 1.5em; }
2175
+ .content h3 { font-size: 1.25em; }
2176
+ .content h4 { font-size: 1.1em; }
2177
+ .content h5, .content h6 { font-size: 1em; }
2178
+ .content ul, .content ol { margin: 0 0 0.65em; padding-left: 1.6em; }
2179
+ .content li { margin: 0.15em 0; }
2180
+ .content blockquote {
2181
+ margin: 0.5em 0; padding: 0.25em 0 0.25em 1em;
2182
+ border-left: 3px solid var(--fx-color-primary); color: var(--fx-text-muted);
2183
+ }
2184
+ .content pre {
2185
+ margin: 0.6em 0; padding: var(--fx-space-md); overflow: auto;
2186
+ background: var(--fx-surface-surface); border-radius: var(--fx-radius-sm);
2187
+ font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 0.9em;
2188
+ }
2189
+ .content code {
2190
+ font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
2191
+ font-size: 0.92em; background: var(--fx-surface-surface);
2192
+ padding: 0.1em 0.3em; border-radius: 3px;
2193
+ }
2194
+ .content pre code { background: none; padding: 0; }
2195
+ .content hr { border: none; border-top: 1px solid var(--fx-border-default); margin: 1em 0; }
2196
+ .content a { color: var(--fx-color-primary); text-decoration: underline; cursor: pointer; }
2197
+ .content img { max-width: 100%; height: auto; display: block; }
2198
+ .content figure { margin: 1em 0; }
2199
+ .content figure.fx-image img { margin: 0 auto; }
2200
+ .content figure.fx-image[data-align="left"] { float: left; max-width: 50%; margin: 0 1em 0.5em 0; }
2201
+ .content figure.fx-image[data-align="right"] { float: right; max-width: 50%; margin: 0 0 0.5em 1em; }
2202
+ .content figure.fx-image[data-align="center"] { margin-left: auto; margin-right: auto; }
2203
+ .content figure.fx-video[data-align="left"],
2204
+ .content figure.fx-embed[data-align="left"] { float: left; max-width: 50%; margin: 0 1em 0.5em 0; }
2205
+ .content figure.fx-video[data-align="right"],
2206
+ .content figure.fx-embed[data-align="right"] { float: right; max-width: 50%; margin: 0 0 0.5em 1em; }
2207
+ .content figure.fx-video[data-align="center"],
2208
+ .content figure.fx-embed[data-align="center"] { margin-left: auto; margin-right: auto; }
2209
+ .content figcaption {
2210
+ margin-top: 0.4em; color: var(--fx-text-muted);
2211
+ font-size: 0.85em; text-align: center;
2212
+ }
2213
+ .content video { display: block; width: 100%; background: #000; border-radius: var(--fx-radius-sm); }
2214
+ .content iframe { display: block; width: 100%; aspect-ratio: 16 / 9; border: 0; }
2215
+ .content table { width: 100%; border-collapse: collapse; margin: 1em 0; }
2216
+ .content th, .content td { border: 1px solid var(--fx-border-default); padding: var(--fx-space-xs) var(--fx-space-sm); vertical-align: top; }
2217
+ .content th { background: var(--fx-surface-surface); text-align: left; font-weight: 600; }
2218
+ .content table.fx-grid { border: none; margin: 0.6em 0; }
2219
+ .content table.fx-grid > tbody > tr > td {
2220
+ border: 1px dashed var(--fx-border-default); padding: var(--fx-space-sm);
2221
+ vertical-align: top;
2222
+ }
2223
+ @media (max-width: 640px) {
2224
+ .content table.fx-grid[data-stack] > tbody > tr > td {
2225
+ display: block; width: 100% !important; border: none; padding: var(--fx-space-xs) 0;
2226
+ }
2227
+ }
2228
+
2229
+
2230
+
2231
+ `,to="p,h1,h2,h3,h4,h5,h6,li,blockquote,pre,td,th,figcaption,div";function ts(l){const e=l.getRootNode();return typeof ShadowRoot!="undefined"&&e instanceof ShadowRoot?e:document}function Dt(l,e){if(!e)return!1;const t=e.startContainer,r=e.endContainer;return l.contains(t)&&l.contains(r)}function rs(l){const e=document.getSelection();if(!e)return null;if(l instanceof ShadowRoot&&e.getComposedRanges)try{const r=e.getComposedRanges({shadowRoots:[l]})[0];if(r){const i=document.createRange();return i.setStart(r.startContainer,r.startOffset),i.setEnd(r.endContainer,r.endOffset),i}}catch(t){}return e.rangeCount>0?e.getRangeAt(0):null}function V(l,e){const t=rs(ts(l));return Dt(l,t)?t:Dt(l,e!=null?e:null)&&e!=null?e:null}function Nt(l){const e=V(l);return e?e.cloneRange():null}function is(l,e){if(!e||!Dt(l,e))return;l.focus({preventScroll:!0});const t=document.getSelection();t&&(t.removeAllRanges(),t.addRange(e))}function ne(l){const e=document.createRange();e.selectNodeContents(l),e.collapse(!1);const t=document.getSelection();t&&(t.removeAllRanges(),t.addRange(e))}function It(l,e){var a;const t=e!=null?e:V(l);if(!t)return null;const r=t.startContainer,i=r.nodeType===Node.ELEMENT_NODE?r:r.parentElement,o=(a=i==null?void 0:i.closest(to))!=null?a:null;return o&&l.contains(o)?o:null}function We(l,e){const t=V(l);if(!t)return[];if(t.collapsed){const r=It(l,t);return r?[r]:[]}return Array.from(l.querySelectorAll(to)).filter(r=>{try{return t.intersectsNode(r)}catch(i){return!1}})}function Ne(l,e,t){var o;const r=e&&(e.nodeType===Node.ELEMENT_NODE?e:e.parentElement),i=(o=r==null?void 0:r.closest(t))!=null?o:null;return i&&l.contains(i)?i:null}function Ft(l){const e=document.getSelection();e&&(e.removeAllRanges(),e.addRange(l))}function O(l,e){const t=document.execCommand;if(typeof t!="function")return!1;try{return t.call(document,l,!1,e)}catch(r){return!1}}function J(l,e){if(O("insertHTML",e))return!0;const t=V(l);if(!t)return l.insertAdjacentHTML("beforeend",e),ne(l),!0;t.deleteContents();const r=t.createContextualFragment(e),i=r.lastChild;if(t.insertNode(r),i){const o=document.createRange();o.setStartAfter(i),o.collapse(!0),Ft(o)}return!0}function jt(l){const e=l.parentNode;if(e){for(;l.firstChild;)e.insertBefore(l.firstChild,l);l.remove()}}function os(l,e){var i;const t=V(l);if(!t)return!1;const r=document.createElement(e);if(t.collapsed){r.appendChild(document.createTextNode("​")),t.insertNode(r);const o=document.createRange();return o.setStart((i=r.firstChild)!=null?i:r,1),o.collapse(!0),Ft(o),!0}try{t.surroundContents(r)}catch(o){r.appendChild(t.extractContents()),t.insertNode(r)}return!0}function Ie(l,e){var a;const r={strong:"bold",b:"bold",em:"italic",i:"italic",u:"underline",s:"strikeThrough",strike:"strikeThrough"}[e];if(r&&O(r))return!0;const i=V(l);if(!i)return!1;const o=(a=i.startContainer.nodeType===Node.ELEMENT_NODE?i.startContainer:i.startContainer.parentElement)==null?void 0:a.closest(e);return o&&l.contains(o)?(jt(o),!0):os(l,e)}function Rt(l,e){const t=e.toLowerCase().replace(/[<>]/g,"");if(O("formatBlock",t))return!0;const r=We(l);if(!r.length){const i=It(l);i&&r.push(i)}for(const i of r){if(!l.contains(i))continue;const o=document.createElement(t);for(const a of Array.from(i.attributes))o.setAttribute(a.name,a.value);for(;i.firstChild;)o.appendChild(i.firstChild);i.replaceWith(o)}return r.length>0}function Xe(l,e){if(O({left:"justifyLeft",center:"justifyCenter",right:"justifyRight",justify:"justifyFull"}[e]))return!0;const r=We(l);for(const i of r)i.style.textAlign=e;return r.length>0}function ro(l,e){var a,s;if(O(e?"insertOrderedList":"insertUnorderedList"))return!0;const t=We(l);if(!t.length)return!1;const r=document.createElement(e?"ol":"ul"),i=t[0];(a=i.parentNode)==null||a.insertBefore(r,i);for(const c of t){const u=document.createElement("li");for(;c.firstChild;)u.appendChild(c.firstChild);r.appendChild(u),c.remove()}const o=document.createRange();return o.selectNodeContents((s=r.lastElementChild)!=null?s:r),o.collapse(!1),Ft(o),!0}function io(l){if(O("removeFormat"))return!0;const e=V(l);if(!e)return!1;const t=e.commonAncestorContainer,r=t.nodeType===Node.ELEMENT_NODE?t:t.parentElement;if(!r)return!1;const i=["strong","b","em","i","u","s","strike","span","mark","code","sub","sup"];for(const o of Array.from(r.querySelectorAll(i.join(","))))e.intersectsNode(o)&&jt(o);return!0}const oo=(l,e,t)=>`<a href="${Z(l)}" target="${t}" rel="noopener noreferrer">${we(e)}</a>`;function as(l,e,t,r="_blank"){var s,c;const i=(t==null?void 0:t.trim())||e,o=V(l);if(!o)return J(l,oo(e,i,r));const a=(s=o.startContainer.nodeType===Node.ELEMENT_NODE?o.startContainer:o.startContainer.parentElement)==null?void 0:s.closest("a");if(a&&l.contains(a))return a.setAttribute("href",e),a.setAttribute("target",r),a.setAttribute("rel","noopener noreferrer"),t&&t!==a.textContent&&(a.textContent=t),!0;if(!o.collapsed){if(O("createLink",e)){const p=(c=o.startContainer.nodeType===Node.ELEMENT_NODE?o.startContainer:o.startContainer.parentElement)==null?void 0:c.closest("a");return p==null||p.setAttribute("target",r),p==null||p.setAttribute("rel","noopener noreferrer"),!0}const u=document.createElement("a");u.setAttribute("href",e),u.setAttribute("target",r),u.setAttribute("rel","noopener noreferrer");try{o.surroundContents(u)}catch(p){u.appendChild(o.extractContents()),o.insertNode(u)}return!0}return J(l,oo(e,i,r))}function ss(l){var r;if(O("unlink"))return!0;const e=V(l);if(!e)return!1;const t=(r=e.startContainer.nodeType===Node.ELEMENT_NODE?e.startContainer:e.startContainer.parentElement)==null?void 0:r.closest("a");return t&&l.contains(t)?(jt(t),!0):!1}function ao(l,e){if(e>0&&O("indent")||e<0&&O("outdent"))return!0;const t=We(l);for(const r of t){const i=Number.parseInt(r.style.marginLeft||"0",10)||0,o=Math.max(0,i+e);r.style.marginLeft=o?`${o}px`:""}return t.length>0}function Z(l){return l.replace(/[&<>"']/g,e=>{switch(e){case"&":return"&amp;";case"<":return"&lt;";case">":return"&gt;";case'"':return"&quot;";default:return"&#39;"}})}function we(l){return l.replace(/[&<>]/g,e=>e==="&"?"&amp;":e==="<"?"&lt;":"&gt;")}function Vt(l){const e=Array.from(l.rows),t=e.map(()=>[]);for(let i=0;i<e.length;i++){const o=e[i];for(const a of Array.from(o.cells)){let s=0;for(;t[i][s];)s++;const c=Math.max(1,Math.min(a.rowSpan||1,e.length-i)),u=Math.max(1,a.colSpan||1);for(let p=i;p<i+c;p++){t[p]||(t[p]=[]);for(let h=s;h<s+u;h++)t[p][h]=a}}}const r=t.reduce((i,o)=>Math.max(i,o.length),0);for(const i of t)for(;i.length<r;)i.push(null);return{rows:e,matrix:t}}function so(l,e){const{matrix:t}=Vt(l);for(let r=0;r<t.length;r++)for(let i=0;i<t[r].length;i++)if(t[r][i]===e)return{row:r,col:i};return null}function ns(l,e){return Array.from(l.querySelectorAll("td,th")).filter(t=>{try{return e.intersectsNode(t)}catch(r){return!1}})}function ls(l,e){for(const t of Array.from(l.attributes))t.name==="colspan"||t.name==="rowspan"||e.setAttribute(t.name,t.value)}function no(l,e){var f,y;const t=ns(l,e);if(t.length<2)return null;const{matrix:r}=Vt(l),i=t.map(x=>({cell:x,position:so(l,x)})).filter(x=>!!x.position);if(i.length!==t.length)return null;const o=Math.min(...i.map(x=>x.position.row)),a=Math.max(...i.map(x=>x.position.row)),s=Math.min(...i.map(x=>x.position.col)),c=Math.max(...i.map(x=>x.position.col));for(const{cell:x,position:b}of i)if(b.row<o||b.col<s||b.row+Math.max(1,x.rowSpan||1)-1>a||b.col+Math.max(1,x.colSpan||1)-1>c)return null;const u=new Set(t);for(let x=o;x<=a;x++)for(let b=s;b<=c;b++){const v=(f=r[x])==null?void 0:f[b];if(!v||!u.has(v))return null}const p=(y=r[o])==null?void 0:y[s];if(!p)return null;const h=t.every(x=>x.tagName.toLowerCase()==="th")?"th":"td",m=document.createElement(h);ls(p,m),h==="td"&&m.removeAttribute("scope"),m.colSpan=c-s+1,m.rowSpan=a-o+1,m.colSpan===1&&m.removeAttribute("colspan"),m.rowSpan===1&&m.removeAttribute("rowspan");for(const x of t)for(;x.firstChild;)m.appendChild(x.firstChild);p.replaceWith(m);for(const x of t)x!==p&&x.parentNode&&x.remove();return m}function cs(l,e,t,r){var s,c;const i=Array.from(l.rows).indexOf(e),{matrix:o}=Vt(l);let a=null;for(const u of Array.from(e.cells)){let p=-1;for(let h=0;h<((c=(s=o[i])==null?void 0:s.length)!=null?c:0);h++)if(o[i][h]===u){p=h;break}if(p>=t){a=u;break}}e.insertBefore(r,a)}function lo(l,e){const t=Math.max(1,e.colSpan||1),r=Math.max(1,e.rowSpan||1);if(t===1&&r===1)return[];const i=so(l,e);if(!i)return[];const o=Array.from(l.rows),a=()=>{var p;const u=document.createElement(e.tagName.toLowerCase());return u.tagName.toLowerCase()==="th"&&u.setAttribute("scope",(p=e.getAttribute("scope"))!=null?p:"col"),u.innerHTML="<p><br></p>",u},s=[];let c=e;for(let u=1;u<t;u++){const p=a();c.after(p),c=p,s.push(p)}e.removeAttribute("colspan"),e.removeAttribute("rowspan");for(let u=1;u<r;u++){const p=o[i.row+u];if(!p)break;for(let h=0;h<t;h++){const m=a();cs(l,p,i.col+h,m),s.push(m)}}return s}const co=1024*1024,ds=8*1024*1024,us=2e4,hs=140,fs=50,ps={left:'<svg viewBox="0 0 24 24" width="14" height="14" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" aria-hidden="true"><path d="M4 6h16M4 10h10M4 14h16M4 18h10"/></svg>',center:'<svg viewBox="0 0 24 24" width="14" height="14" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" aria-hidden="true"><path d="M4 6h16M7 10h10M4 14h16M7 18h10"/></svg>',right:'<svg viewBox="0 0 24 24" width="14" height="14" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" aria-hidden="true"><path d="M4 6h16M10 10h10M4 14h16M10 18h10"/></svg>',delete:'<svg viewBox="0 0 24 24" width="14" height="14" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M3 6h18M8 6V4h8v2M6 6l1 15h10l1-15M10 10v7M14 10v7"/></svg>'},Fr=class Fr extends R{constructor(){super(...arguments);q(this,n);q(this,fe,!1);q(this,pe,!1);q(this,je,!1);q(this,Q,"");q(this,U,"");q(this,H,!1);q(this,F,!1);q(this,D,null);q(this,me,0);q(this,W,null);q(this,Re,0);q(this,le,null);q(this,X,[]);q(this,ee,-1);q(this,ae,null);q(this,Y,null);q(this,ce,null);q(this,ke,null);q(this,Ae,null);q(this,de,null);q(this,_e,[]);q(this,ze,0);q(this,Se,"")}static get observedAttributes(){return["toolbar","features","placeholder","readonly","disabled","required","full","error","invalid","success","valid","show-count","paste-mode","min-height","max-height","fullscreen","maxlength"]}get editor(){return this.root.querySelector(".content")}get source(){return this.root.querySelector(".source")}get toolbarEl(){return this.root.querySelector(".toolbar")}get value(){return g(this,F)&&this.source?d(this,n,Ce).call(this):(g(this,H)&&k(this,U,d(this,n,Ce).call(this)),g(this,U))}set value(t){const r=d(this,n,te).call(this,t!=null?t:"");k(this,U,r),k(this,H,!1),g(this,Q)||k(this,Q,r),d(this,n,ue).call(this,r),this.updateFormValue()}get html(){return this.value}set html(t){this.value=t}get text(){var t,r;return((r=(t=this.editor)==null?void 0:t.textContent)!=null?r:"").replace(/\u200b/g,"").trim()}get defaultValue(){return g(this,Q)}set defaultValue(t){k(this,Q,d(this,n,te).call(this,t!=null?t:"")),g(this,H)||(this.value=g(this,Q))}get disabled(){return this.hasAttr("disabled")}set disabled(t){this.toggleAttr("disabled",!!t)}get readonly(){return this.hasAttr("readonly")}set readonly(t){this.toggleAttr("readonly",!!t)}get required(){return this.hasAttr("required")}set required(t){this.toggleAttr("required",!!t)}get placeholder(){return this.getAttr("placeholder")}set placeholder(t){this.setAttribute("placeholder",t)}get toolbar(){const t=this.getAttr("toolbar","standard");return["minimal","basic","standard","full","none"].includes(t)?t:"standard"}set toolbar(t){this.setAttribute("toolbar",t)}get pasteMode(){return this.getAttr("paste-mode","clean")==="plain"?"plain":"clean"}set pasteMode(t){this.setAttribute("paste-mode",t)}get fullscreen(){return this.hasAttr("fullscreen")}set fullscreen(t){this.toggleAttr("fullscreen",!!t)}get maxlength(){const t=Number.parseInt(this.getAttr("maxlength","30000"),10);return Number.isFinite(t)&&t>0?t:0}set maxlength(t){Number.isFinite(t)&&t>=0?this.setAttribute("maxlength",String(Math.floor(t))):this.removeAttribute("maxlength")}connectedCallback(){if(Te(),super.connectedCallback(),this.fullscreen&&d(this,n,zi).call(this),g(this,je))g(this,fe)&&!g(this,pe)&&(d(this,n,yi).call(this),k(this,pe,!0));else{k(this,je,!0);const t=g(this,U)||this.getAttr("value")||this.innerHTML;this.replaceChildren(),k(this,Q,d(this,n,te).call(this,t)),k(this,U,g(this,Q)),d(this,n,ue).call(this,g(this,Q)),this.updateFormValue(),d(this,n,ki).call(this,g(this,U)),this.dispatchEvent(new CustomEvent("ready",{bubbles:!0,composed:!0}))}d(this,n,xo).call(this)}disconnectedCallback(){for(const t of g(this,_e))t();k(this,_e,[]),k(this,pe,!1),cancelAnimationFrame(g(this,me)),cancelAnimationFrame(g(this,ze)),g(this,W)&&clearTimeout(g(this,W)),g(this,le)&&clearTimeout(g(this,le)),d(this,n,nt).call(this),d(this,n,ie).call(this),d(this,n,re).call(this),this.hasAttr("fullscreen")&&(document.body.style.overflow=g(this,Se)),d(this,n,ge).call(this,null),super.disconnectedCallback()}attributeChangedCallback(t,r,i){r===i||!g(this,fe)||((t==="toolbar"||t==="features")&&d(this,n,Si).call(this),t==="fullscreen"&&d(this,n,zi).call(this),d(this,n,Ee).call(this))}formResetCallback(){k(this,H,!1),this.value=g(this,Q)}getFormValue(){return this.hasAttr("disabled")?null:this.value}render(){g(this,fe)||(this.setTemplate(`
2232
+ <div class="editor" part="editor">
2233
+ <div class="toolbar" part="toolbar" role="toolbar" aria-label="Formatação" aria-orientation="horizontal"></div>
2234
+ <div class="body">
2235
+ <div class="content" part="content" contenteditable="true" role="textbox"
2236
+ aria-multiline="true" spellcheck="true"></div>
2237
+ <textarea class="source" part="source" spellcheck="false" hidden aria-label="HTML do conteúdo"></textarea>
2238
+ <div class="media-overlay" part="media-overlay" hidden>
2239
+ <span class="media-handle nw" data-handle="nw"></span>
2240
+ <span class="media-handle ne" data-handle="ne"></span>
2241
+ <span class="media-handle sw" data-handle="sw"></span>
2242
+ <span class="media-handle se" data-handle="se"></span>
2243
+ <span class="media-size"></span>
2244
+ <button type="button" class="media-delete" data-media-action="delete" aria-label="Excluir mídia" title="Excluir mídia">${P("delete")}</button>
2245
+ </div>
2246
+ <div class="link-overlay" part="link-overlay" hidden>
2247
+ <button type="button" data-link-action="open">Abrir</button>
2248
+ <button type="button" data-link-action="edit">Editar</button>
2249
+ <button type="button" data-link-action="remove">Remover</button>
2250
+ </div>
2251
+ </div>
2252
+ <div class="statusbar" part="statusbar">
2253
+ <span class="count"></span>
2254
+ <span class="source-actions" hidden>
2255
+ <button type="button" class="btn source-apply">Aplicar</button>
2256
+ <button type="button" class="btn source-cancel">Cancelar</button>
2257
+ </span>
2258
+ <slot name="footer"></slot>
2259
+ </div>
2260
+ <input type="file" class="image-picker" accept="image/*" hidden>
2261
+ <div class="backdrop" part="dialog" hidden>
2262
+ <div class="dialog" role="dialog" aria-modal="true" aria-labelledby="fx-editor-dialog-title">
2263
+ <header>
2264
+ <h3 id="fx-editor-dialog-title"></h3>
2265
+ <button type="button" class="dialog-close" aria-label="Fechar">×</button>
2266
+ </header>
2267
+ <div class="dialog-body"></div>
2268
+ <footer>
2269
+ <button type="button" class="btn dialog-cancel">Cancelar</button>
2270
+ <button type="button" class="btn dialog-ok">Aplicar</button>
2271
+ </footer>
2272
+ </div>
2273
+ </div>
2274
+ </div>
2275
+ `),k(this,fe,!0),k(this,ae,this.root.querySelector(".image-picker")),d(this,n,yi).call(this),k(this,pe,!0),d(this,n,Si).call(this),d(this,n,Ee).call(this))}focus(t){var r;(r=this.editor)==null||r.focus(t!=null?t:{preventScroll:!0})}blur(){var t;(t=this.editor)==null||t.blur()}execute(t,r){if(r!==void 0){d(this,n,j).call(this),O("styleWithCSS","true"),O(t,r),d(this,n,$).call(this);return}d(this,n,he).call(this,t)}insertHTML(t){var a,s;const r=d(this,n,te).call(this,t),i=document.createElement("div");i.innerHTML=r;const o=(s=(a=i.textContent)==null?void 0:a.length)!=null?s:0;if(!d(this,n,Pe).call(this,o)){d(this,n,Be).call(this);return}d(this,n,j).call(this),J(this.editor,r),d(this,n,$).call(this)}mergeCells(){const t=d(this,n,Ue).call(this),r=this.editor,i=r?V(r,g(this,D)):null;if(!t||!i)return!1;const o=no(t,i);return o?(ne(o),d(this,n,$).call(this),!0):!1}splitCell(){var s;const t=d(this,n,Ue).call(this),r=this.editor,i=r?V(r,g(this,D)):null,o=r?Ne(r,(s=i==null?void 0:i.startContainer)!=null?s:null,"td,th"):null;return!t||!o||!lo(t,o).length?!1:(ne(o),d(this,n,$).call(this),!0)}getHtml(){return this.value}setHtml(t){this.value=t}getText(){return this.text}clear(){this.value="",k(this,H,!1),d(this,n,ue).call(this,""),this.updateFormValue(),d(this,n,tt).call(this),this.focus()}undo(){this.execute("undo")}redo(){this.execute("redo")}saveSelection(){var t;this.editor&&k(this,D,(t=Nt(this.editor))!=null?t:g(this,D))}restoreSelection(){d(this,n,j).call(this)}openDialog(t){t==="link"?d(this,n,He).call(this):t==="image"?d(this,n,ot).call(this):d(this,n,Mi).call(this)}toggleSource(){d(this,n,$i).call(this)}toggleFullscreen(){this.fullscreen=!this.fullscreen}};fe=new WeakMap,pe=new WeakMap,je=new WeakMap,Q=new WeakMap,U=new WeakMap,H=new WeakMap,F=new WeakMap,D=new WeakMap,me=new WeakMap,W=new WeakMap,Re=new WeakMap,le=new WeakMap,X=new WeakMap,ee=new WeakMap,ae=new WeakMap,Y=new WeakMap,ce=new WeakMap,ke=new WeakMap,Ae=new WeakMap,de=new WeakMap,_e=new WeakMap,ze=new WeakMap,Se=new WeakMap,n=new WeakSet,L=function(t,r,i,o){t.addEventListener(r,i,o),g(this,_e).push(()=>t.removeEventListener(r,i,o))},yi=function(){const t=this.editor,r=this.toolbarEl;if(!t||!r)return;d(this,n,L).call(this,r,"mousedown",h=>{var f;const m=h.target;k(this,D,(f=Nt(t))!=null?f:g(this,D)),d(this,n,re).call(this),m.closest("button")&&h.preventDefault()}),d(this,n,L).call(this,r,"click",h=>{const m=h.target.closest("[data-cmd],[data-action]");if(!m||m.disabled)return;const f=m.dataset.cmd,y=m.dataset.action;f?d(this,n,he).call(this,f):y&&d(this,n,Ao).call(this,y)}),d(this,n,L).call(this,r,"change",h=>{const m=h.target.closest("[data-block]");m&&(d(this,n,j).call(this),Rt(t,m.value||"p"),d(this,n,$).call(this))}),d(this,n,L).call(this,r,"input",h=>{var f;const m=h.target.closest("[data-color]");m&&(d(this,n,j).call(this),O("styleWithCSS","true"),O((f=m.dataset.color)!=null?f:"foreColor",m.value),d(this,n,$).call(this))}),d(this,n,L).call(this,r,"keydown",h=>d(this,n,wo).call(this,h)),d(this,n,L).call(this,r,"focusin",h=>{const m=h.target.closest(".tb-btn");m&&d(this,n,Ci).call(this,m)}),d(this,n,L).call(this,t,"input",h=>{h.stopPropagation(),d(this,n,re).call(this),k(this,H,!0),d(this,n,Oe).call(this),d(this,n,Qe).call(this),d(this,n,Ai).call(this)}),d(this,n,L).call(this,t,"focus",()=>{this.dispatchEvent(new CustomEvent("focus",{bubbles:!0,composed:!0}))}),d(this,n,L).call(this,t,"blur",()=>{var h;k(this,D,(h=Nt(t))!=null?h:g(this,D)),d(this,n,et).call(this),d(this,n,tt).call(this),this.dispatchEvent(new CustomEvent("blur",{bubbles:!0,composed:!0}))}),d(this,n,L).call(this,t,"keydown",h=>d(this,n,zo).call(this,h)),d(this,n,L).call(this,t,"beforeinput",h=>d(this,n,Eo).call(this,h)),d(this,n,L).call(this,t,"paste",h=>d(this,n,Co).call(this,h)),d(this,n,L).call(this,t,"dragover",h=>h.preventDefault()),d(this,n,L).call(this,t,"drop",h=>d(this,n,$o).call(this,h)),d(this,n,L).call(this,t,"dblclick",h=>d(this,n,Ro).call(this,h)),d(this,n,L).call(this,t,"click",h=>d(this,n,Io).call(this,h)),d(this,n,L).call(this,t,"scroll",()=>{d(this,n,$e).call(this),d(this,n,st).call(this)},{passive:!0}),d(this,n,L).call(this,window,"resize",()=>{d(this,n,$e).call(this),d(this,n,st).call(this)});const i=this.root.querySelector(".media-overlay");i&&(d(this,n,L).call(this,i,"pointerdown",h=>d(this,n,jo).call(this,h)),d(this,n,L).call(this,i,"click",h=>{const m=h.target.closest("[data-media-action]");(m==null?void 0:m.dataset.mediaAction)==="delete"&&d(this,n,Ii).call(this)}));const o=this.root.querySelector(".link-overlay");o&&d(this,n,L).call(this,o,"click",h=>d(this,n,Mo).call(this,h)),this.source&&d(this,n,L).call(this,this.source,"input",()=>{k(this,H,!0),d(this,n,Qe).call(this)}),g(this,ae)&&d(this,n,L).call(this,g(this,ae),"change",()=>{var m,f;const h=(f=(m=g(this,ae))==null?void 0:m.files)==null?void 0:f[0];h&&d(this,n,lt).call(this,h),g(this,ae)&&(g(this,ae).value="")});const a=this.root.querySelector(".backdrop");a&&(d(this,n,L).call(this,a,"click",h=>{h.target===a&&d(this,n,ge).call(this,null)}),d(this,n,L).call(this,a,"keydown",h=>d(this,n,ko).call(this,h)));const s=this.root.querySelector(".dialog-body");s&&d(this,n,L).call(this,s,"keydown",h=>{const m=h.target;h.key==="Enter"&&m.tagName!=="BUTTON"&&(h.preventDefault(),d(this,n,Ti).call(this))});for(const h of[".dialog-close",".dialog-cancel"]){const m=this.root.querySelector(h);m&&d(this,n,L).call(this,m,"click",()=>d(this,n,ge).call(this,null))}const c=this.root.querySelector(".dialog-ok");c&&d(this,n,L).call(this,c,"click",()=>d(this,n,Ti).call(this));const u=this.root.querySelector(".source-apply");u&&d(this,n,L).call(this,u,"click",()=>d(this,n,Li).call(this));const p=this.root.querySelector(".source-cancel");p&&d(this,n,L).call(this,p,"click",()=>d(this,n,qi).call(this))},Ee=function(){const t=this.editor;if(!t)return;const r=this.disabled||this.readonly;t.setAttribute("contenteditable",r?"false":"true"),t.setAttribute("aria-readonly",String(this.readonly)),t.setAttribute("aria-disabled",String(this.disabled)),this.placeholder?t.setAttribute("data-placeholder",this.placeholder):t.removeAttribute("data-placeholder");const i=this.toolbarEl;i==null||i.toggleAttribute("hidden",this.toolbar==="none"||this.readonly);for(const a of Array.from(this.root.querySelectorAll(".tb-btn, .tb-select, .tb-color input"))){const s=a.closest('[data-action="source"]')!==null,c=a.closest('[data-action="fullscreen"]')!==null;a.disabled=this.readonly||this.disabled||g(this,F)&&!s&&!c}d(this,n,go).call(this),d(this,n,Oe).call(this),d(this,n,Ze).call(this),d(this,n,wi).call(this),d(this,n,yo).call(this);const o=this.root.querySelector('[data-action="fullscreen"]');o==null||o.classList.toggle("active",this.fullscreen),o==null||o.setAttribute("aria-pressed",String(this.fullscreen)),(r||g(this,F))&&d(this,n,ie).call(this)},go=function(){const t=this.getAttr("min-height"),r=this.getAttr("max-height");t?this.style.setProperty("--fx-editor-min-height",t):this.style.removeProperty("--fx-editor-min-height"),r?this.style.setProperty("--fx-editor-max-height",r):this.style.removeProperty("--fx-editor-max-height")},Oe=function(){var i;const t=this.editor;if(!t)return;const r=!((i=t.textContent)!=null&&i.trim())&&!t.querySelector("img,video,iframe,table,hr");t.classList.toggle("is-empty",r)},Ze=function(){const t=this.root.querySelector(".count");if(!t)return;const r=this.root.querySelector(".statusbar"),i=this.querySelector('[slot="footer"]')!==null;if(r&&(r.hidden=!g(this,F)&&!this.hasAttr("show-count")&&!i),!this.hasAttr("show-count")){t.textContent="";return}const o=this.text,a=o?o.split(/\s+/).filter(Boolean).length:0;t.textContent=`${a} palavra${a===1?"":"s"} · ${o.length} caractere${o.length===1?"":"s"}`},Pe=function(t){const r=this.maxlength;if(!r)return!0;const i=this.editor,o=i?V(i,g(this,D)):null,a=o&&!o.collapsed?o.toString().length:0;return this.text.length-a+t<=r},Be=function(){const t=Date.now();t-g(this,Re)<1200||(k(this,Re,t),d(this,n,se).call(this,`Limite de ${this.maxlength.toLocaleString("pt-BR")} caracteres atingido.`))},wi=function(){var t;if(!(!this.internals||typeof this.internals.setValidity!="function"))try{this.required&&!this.text?this.internals.setValidity({valueMissing:!0},"Preencha este campo.",(t=this.editor)!=null?t:void 0):this.internals.setValidity({})}catch(r){}},te=function(t,r=!1){const i=Ua(t);return i?Qa(i,{forEditor:r}):r?"<p><br></p>":""},Ce=function(){var i;if(g(this,F)&&this.source)return d(this,n,te).call(this,this.source.value);const t=this.editor;if(!t||!((i=t.textContent)!=null&&i.trim())&&!t.querySelector("img,video,iframe,table,hr"))return"";let r=d(this,n,te).call(this,t.innerHTML);return this.sanitizeHtml&&(r=d(this,n,te).call(this,this.sanitizeHtml(r))),r},ue=function(t){const r=this.editor;if(!r)return;d(this,n,ie).call(this);const i=d(this,n,te).call(this,t,!0);r.innerHTML!==i&&(r.innerHTML=i),d(this,n,re).call(this),d(this,n,ie).call(this),d(this,n,Di).call(this),d(this,n,Oe).call(this),d(this,n,Ze).call(this)},Qe=function(){var r,i,o;if(cancelAnimationFrame(g(this,me)),g(this,W)&&(clearTimeout(g(this,W)),k(this,W,null)),((o=(i=(r=this.editor)==null?void 0:r.textContent)==null?void 0:i.length)!=null?o:0)<us){k(this,me,requestAnimationFrame(()=>d(this,n,et).call(this)));return}k(this,W,setTimeout(()=>{k(this,W,null),d(this,n,et).call(this)},hs))},et=function(){cancelAnimationFrame(g(this,me)),g(this,W)&&(clearTimeout(g(this,W)),k(this,W,null));const t=d(this,n,Ce).call(this);k(this,U,t),k(this,H,!1);const r={value:t,html:t,text:this.text};for(const i of["input","valueChange"])this.dispatchEvent(new CustomEvent(i,{bubbles:!0,composed:!0,detail:r}));d(this,n,Ze).call(this),d(this,n,wi).call(this)},tt=function(){const t=this.value,r={value:t,html:t,text:this.text};this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0,detail:r}))},ki=function(t){g(this,X)[g(this,ee)]!==t&&(k(this,X,g(this,X).slice(0,g(this,ee)+1)),g(this,X).push(t),g(this,X).length>fs&&g(this,X).shift(),k(this,ee,g(this,X).length-1))},Ai=function(){g(this,le)&&clearTimeout(g(this,le)),k(this,le,setTimeout(()=>{d(this,n,ki).call(this,g(this,H)?d(this,n,Ce).call(this):g(this,U))},600))},bo=function(){g(this,ee)<=0||(xi(this,ee)._--,d(this,n,ue).call(this,g(this,X)[g(this,ee)]),this.editor&&ne(this.editor),d(this,n,$).call(this))},vo=function(){g(this,ee)>=g(this,X).length-1||(xi(this,ee)._++,d(this,n,ue).call(this,g(this,X)[g(this,ee)]),this.editor&&ne(this.editor),d(this,n,$).call(this))},xo=function(){const t=()=>{const r=this.editor;if(!r)return;const i=V(r,g(this,D));i&&(k(this,D,i.cloneRange()),cancelAnimationFrame(g(this,ze)),k(this,ze,requestAnimationFrame(()=>d(this,n,Ei).call(this))))};document.addEventListener("selectionchange",t),g(this,_e).push(()=>document.removeEventListener("selectionchange",t))},j=function(){const t=this.editor;t&&(g(this,D)?is(t,g(this,D)):t.focus({preventScroll:!0}))},zi=function(){this.fullscreen?(k(this,Se,document.body.style.overflow),document.body.style.overflow="hidden"):document.body.style.overflow=g(this,Se)},yo=function(){const t=this.source,r=this.editor,i=this.root.querySelector(".source-actions");i&&i.toggleAttribute("hidden",!g(this,F)),t&&(t.hidden=!g(this,F)),r&&(r.hidden=g(this,F));const o=this.root.querySelector('[data-action="source"]');o==null||o.classList.toggle("active",g(this,F)),o==null||o.setAttribute("aria-pressed",String(g(this,F)))},ge=function(t){const r=this.root.querySelector(".backdrop");r==null||r.setAttribute("hidden","");const i=g(this,de);k(this,de,null);const o=g(this,Ae);k(this,Ae,null),i==null||i(t),o&&o.isConnected?o.focus({preventScroll:!0}):d(this,n,j).call(this)},Si=function(){var z;const t=this.toolbarEl;if(!t)return;const r=this.toolbar;if(r==="none"){t.innerHTML="",t.hidden=!0;return}t.hidden=!1;const i=new Set(this.getAttr("features").split(",").map(E=>E.trim()).filter(Boolean)),o=E=>i.size===0||i.has(E),a=(E,S,N,Ve="")=>`<button type="button" class="tb-btn" tabindex="-1" ${Ve?`data-action="${Ve}"`:`data-cmd="${E}"`} title="${N}" aria-label="${N}" aria-pressed="false">${P(S)}</button>`,s=`<select class="tb-select" data-block aria-label="Formato do bloco">
2276
+ <option value="p">Parágrafo</option>
2277
+ <option value="h1">Título 1</option>
2278
+ <option value="h2">Título 2</option>
2279
+ <option value="h3">Título 3</option>
2280
+ <option value="h4">Título 4</option>
2281
+ <option value="blockquote">Citação</option>
2282
+ <option value="pre">Código</option>
2283
+ </select>`,c=a("undo","undo","Desfazer")+a("redo","redo","Refazer"),u=[a("bold","format_bold","Negrito"),a("italic","format_italic","Itálico"),a("underline","format_underlined","Sublinhado"),a("strikeThrough","format_strikethrough","Riscado"),a("code","code","Código inline"),a("removeFormat","format_clear","Limpar formatação")].join(""),p=['<label class="tb-color" title="Cor do texto"><input type="color" data-color="foreColor" value="#111827" aria-label="Cor do texto"></label>','<label class="tb-color" title="Realçar texto"><input type="color" data-color="hiliteColor" value="#fef08a" aria-label="Realçar texto"></label>'].join(""),h=[a("justifyLeft","format_align_left","Alinhar à esquerda"),a("justifyCenter","format_align_center","Centralizar"),a("justifyRight","format_align_right","Alinhar à direita"),a("justifyFull","format_align_justify","Justificar")].join(""),m=[a("outdent","format_indent_decrease","Diminuir recuo","outdent"),a("indent","format_indent_increase","Aumentar recuo","indent")].join(""),f=[a("insertUnorderedList","format_list_bulleted","Lista com marcadores"),a("insertOrderedList","format_list_numbered","Lista numerada")].join(""),y=a("","format_quote","Citação","blockquote")+a("","code_blocks","Bloco de código","codeblock"),x=[];o("link")&&(x.push(a("","link","Link (Ctrl+K)","link")),x.push(a("","link_off","Remover link","unlink"))),r!=="minimal"&&(o("image")&&x.push(a("","image","Imagem","image")),o("video")&&x.push(a("","videocam","Vídeo","video")),o("table")&&x.push(a("","table","Tabela","table")),o("columns")&&x.push(a("","view_column","Colunas","columns")),x.push(a("insertHorizontalRule","horizontal_rule","Linha horizontal")));const b=[];(r==="standard"||r==="full")&&(o("source")&&b.push(a("","code","Ver HTML","source")),o("fullscreen")&&b.push(a("","fullscreen","Tela cheia","fullscreen")));const v=[c,s+u];r!=="minimal"&&v.push(f),r!=="minimal"&&r!=="basic"&&v.push(p,h,m,y),x.length&&v.push(x.join("")),b.length&&v.push(b.join("")),t.innerHTML=v.map(E=>`<div class="tb-group">${E}</div>`).join("")+'<div class="panel" data-panel hidden></div>',(z=t.querySelector(".tb-btn"))==null||z.setAttribute("tabindex","0")},Ei=function(){var p;const t=this.editor;if(!t)return;const r=V(t,g(this,D));if(!r)return;const i=(h,m)=>{const f=this.root.querySelector(`[data-cmd="${h}"]`);f&&(f.classList.toggle("active",m),f.setAttribute("aria-pressed",String(m)))},o=h=>{const m=r.startContainer,f=m.nodeType===Node.ELEMENT_NODE?m:m.parentElement,y=f==null?void 0:f.closest(h);return!!(y&&t.contains(y))};i("bold",o("strong,b")),i("italic",o("em,i")),i("underline",o("u")),i("strikeThrough",o("s,del,strike")),i("code",o("code")),i("insertUnorderedList",o("ul")),i("insertOrderedList",o("ol"));const a=It(t,r),s=(p=a==null?void 0:a.tagName.toLowerCase())!=null?p:"p",c=this.root.querySelector("[data-block]");if(c){const h=Array.from(c.options).some(m=>m.value===s)?s:"p";c.value=h}const u=a&&a.style.textAlign||"left";i("justifyLeft",u==="left"||u==="start"||u===""),i("justifyCenter",u==="center"),i("justifyRight",u==="right"||u==="end"),i("justifyFull",u==="justify")},wo=function(t){var s,c;const r=this.root.activeElement;if(!r||!r.classList.contains("tb-btn")||!["ArrowRight","ArrowLeft","Home","End"].includes(t.key))return;const i=Array.from((c=(s=this.toolbarEl)==null?void 0:s.querySelectorAll(".tb-btn:not(:disabled), .tb-select:not(:disabled), .tb-color input:not(:disabled)"))!=null?c:[]);if(!i.length)return;t.preventDefault();let o=i.indexOf(r);t.key==="Home"?o=0:t.key==="End"?o=i.length-1:o=(o+(t.key==="ArrowRight"?1:-1)+i.length)%i.length;const a=i[o];a&&(d(this,n,Ci).call(this,a),a.focus())},Ci=function(t){var r;(r=this.toolbarEl)==null||r.querySelectorAll(".tb-btn").forEach(i=>{i.setAttribute("tabindex",i===t?"0":"-1")})},ko=function(t){if(!g(this,de)||t.key!=="Tab")return;const r=this.root.querySelector(".dialog");if(!r)return;const i=Array.from(r.querySelectorAll('button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), a[href], [tabindex]:not([tabindex="-1"])'));if(!i.length)return;const o=i[0],a=i[i.length-1],s=this.root.activeElement;t.shiftKey&&(s===o||!s||!r.contains(s))?(t.preventDefault(),a.focus()):!t.shiftKey&&(s===a||!s||!r.contains(s))&&(t.preventDefault(),o.focus())},he=function(t){var i;const r=this.editor;if(r){switch(d(this,n,j).call(this),t){case"undo":O("undo")||d(this,n,bo).call(this);break;case"redo":O("redo")||d(this,n,vo).call(this);break;case"bold":Ie(r,"strong");break;case"italic":Ie(r,"em");break;case"underline":Ie(r,"u");break;case"strikeThrough":Ie(r,"s");break;case"code":Ie(r,"code");break;case"justifyLeft":Xe(r,"left");break;case"justifyCenter":Xe(r,"center");break;case"justifyRight":Xe(r,"right");break;case"justifyFull":Xe(r,"justify");break;case"insertUnorderedList":ro(r,!1);break;case"insertOrderedList":ro(r,!0);break;case"removeFormat":io(r);break;case"insertHorizontalRule":J(r,"<hr><p><br></p>");break;case"foreColor":case"hiliteColor":O("styleWithCSS","true"),O(t,(i=this.root.querySelector(`[data-color="${t}"]`))==null?void 0:i.value);break;default:O(t)}d(this,n,$).call(this)}},$=function(){k(this,H,!0),d(this,n,re).call(this),d(this,n,Di).call(this),d(this,n,Oe).call(this),d(this,n,Qe).call(this),d(this,n,Ai).call(this),d(this,n,Ei).call(this)},Ao=function(t){const r=this.editor;if(r)switch(t){case"link":d(this,n,He).call(this);break;case"image":d(this,n,ot).call(this);break;case"video":d(this,n,Mi).call(this);break;case"table":d(this,n,Ho).call(this);break;case"columns":d(this,n,Ko).call(this);break;case"source":d(this,n,$i).call(this);break;case"fullscreen":this.fullscreen=!this.fullscreen;break;case"blockquote":d(this,n,j).call(this),Rt(r,"blockquote"),d(this,n,$).call(this);break;case"codeblock":d(this,n,j).call(this),Rt(r,"pre"),d(this,n,$).call(this);break;case"indent":d(this,n,j).call(this),ao(r,24),d(this,n,$).call(this);break;case"outdent":d(this,n,j).call(this),ao(r,-24),d(this,n,$).call(this);break;case"clear":d(this,n,j).call(this),io(r),d(this,n,$).call(this);break;case"unlink":d(this,n,j).call(this),ss(r),d(this,n,$).call(this);break}},zo=function(t){if(t.isComposing)return;const r=this.root.activeElement,i=this.root.querySelector(".media-overlay");if(g(this,Y)&&(t.key==="Delete"||t.key==="Backspace")&&(r===g(this,Y)||g(this,Y).contains(r)||i&&r&&i.contains(r))){t.preventDefault(),d(this,n,Ii).call(this);return}const o=t.ctrlKey||t.metaKey,a=t.key.toLowerCase();if(o&&!t.altKey){if(a==="b"){t.preventDefault(),d(this,n,he).call(this,"bold");return}if(a==="i"){t.preventDefault(),d(this,n,he).call(this,"italic");return}if(a==="u"){t.preventDefault(),d(this,n,he).call(this,"underline");return}if(a==="k"){t.preventDefault(),d(this,n,He).call(this);return}if(a==="z"&&!t.shiftKey){t.preventDefault(),d(this,n,he).call(this,"undo");return}if(a==="y"||a==="z"&&t.shiftKey){t.preventDefault(),d(this,n,he).call(this,"redo");return}}if(t.key==="Escape"){g(this,de)?d(this,n,ge).call(this,null):g(this,F)?d(this,n,qi).call(this):this.fullscreen?this.fullscreen=!1:g(this,ce)?d(this,n,re).call(this):g(this,Y)?d(this,n,ie).call(this):d(this,n,Ke).call(this);return}t.key==="Tab"&&d(this,n,So).call(this,t.shiftKey)&&t.preventDefault()},So=function(t){const r=this.editor;if(!r)return!1;const i=V(r,g(this,D));if(!i)return!1;const o=Ne(r,i.startContainer,"td,th"),a=o==null?void 0:o.closest("table");if(!o||!a)return!1;const s=Array.from(a.querySelectorAll("td,th"));let c=s.indexOf(o);if(c<0)return!1;if(t)c=Math.max(0,c-1);else if(c++,c>=s.length){const m=o.parentElement;if(!m)return!1;const f=m.cloneNode(!0);for(const y of Array.from(f.querySelectorAll("td,th")))y.innerHTML="<p><br></p>";m.after(f),s.push(...Array.from(f.querySelectorAll("td,th"))),c=s.indexOf(f.querySelector("td,th"))}const u=s[c];if(!u)return!1;const p=document.createRange();p.selectNodeContents(u),p.collapse(!0);const h=document.getSelection();return h==null||h.removeAllRanges(),h==null||h.addRange(p),!0},Eo=function(t){var o,a;if(this.disabled||this.readonly||!this.maxlength)return;const r=t.inputType;if(r==="insertFromPaste"||r==="insertFromDrop"||r.startsWith("history")||r.startsWith("format"))return;const i=(a=(o=t.data)==null?void 0:o.length)!=null?a:r==="insertParagraph"||r==="insertLineBreak"?1:0;i&&(d(this,n,Pe).call(this,i)||(t.preventDefault(),d(this,n,Be).call(this)))},Co=function(t){var c;const r=t.clipboardData;if(!r)return;const i=Array.from((c=r.files)!=null?c:[]).find(u=>u.type.startsWith("image/"));if(i){t.preventDefault(),d(this,n,lt).call(this,i);return}const o=r.getData("text/html"),a=r.getData("text/plain");if(o.length>co||a.length>co)return;if(t.preventDefault(),!d(this,n,Pe).call(this,a.length)){d(this,n,Be).call(this);return}if(this.pasteMode==="plain"||!o){d(this,n,rt).call(this,a);return}const s=d(this,n,te).call(this,o);if(!s){d(this,n,rt).call(this,a);return}d(this,n,j).call(this),J(this.editor,s),d(this,n,$).call(this)},$o=function(t){var s;const r=t.dataTransfer;if(!r)return;t.preventDefault();const i=Array.from((s=r.files)!=null?s:[]).find(c=>c.type.startsWith("image/"));if(i){d(this,n,lt).call(this,i);return}const o=r.getData("text/html"),a=r.getData("text/plain");if(!d(this,n,Pe).call(this,a.length)){d(this,n,Be).call(this);return}o?(J(this.editor,d(this,n,te).call(this,o)),d(this,n,$).call(this)):a&&d(this,n,rt).call(this,a)},rt=function(t){const r=t.replace(/\r\n/g,`
2284
+ `).split(/\n{2,}/).map(i=>`<p>${we(i).replace(/\n/g,"<br>")}</p>`).join("");J(this.editor,r||"<p><br></p>"),d(this,n,$).call(this)},$i=function(){if(g(this,F)){d(this,n,Li).call(this);return}const t=this.source;t&&(t.value=d(this,n,Ce).call(this),k(this,F,!0),d(this,n,Ee).call(this),t.focus())},Li=function(){const t=this.source;if(!t)return;const r=d(this,n,te).call(this,t.value);k(this,F,!1),k(this,U,r),k(this,H,!1),d(this,n,ue).call(this,r),d(this,n,Ee).call(this),this.updateFormValue(),d(this,n,tt).call(this),d(this,n,$).call(this)},qi=function(){k(this,F,!1),d(this,n,ue).call(this,g(this,U)),d(this,n,Ee).call(this)},it=function(t,r){var c;const i=this.root.querySelector(".backdrop"),o=this.root.querySelector(".dialog h3"),a=this.root.querySelector(".dialog-body");if(!i||!o||!a)return Promise.resolve(null);o.textContent=t,a.innerHTML=r.map(u=>d(this,n,Lo).call(this,u)).join(""),k(this,Ae,(c=this.root.activeElement)!=null?c:this.editor),i.removeAttribute("hidden");const s=a.querySelector("input,select");return s==null||s.focus(),new Promise(u=>{k(this,de,u)})},Lo=function(t){var o,a,s;const r=_(t.label);if(t.type==="select"){const c=((o=t.options)!=null?o:[]).map(u=>`<option value="${_(u.value)}" ${u.value===t.value?"selected":""}>${_(u.label)}</option>`).join("");return`<label class="field"><span>${r}</span><select data-field="${_(t.name)}">${c}</select></label>`}const i=t.type==="url"?"url":t.type==="number"?"number":"text";return`<label class="field"><span>${r}</span><input data-field="${_(t.name)}" type="${i}" value="${_((a=t.value)!=null?a:"")}" placeholder="${_((s=t.placeholder)!=null?s:"")}"></label>`},Ti=function(){var i;const t=this.root.querySelector(".dialog-body");if(!t)return;const r={};for(const o of Array.from(t.querySelectorAll("[data-field]")))r[(i=o.dataset.field)!=null?i:""]=o.value.trim();d(this,n,ge).call(this,r)},He=async function(t){var h,m,f,y,x,b,v;d(this,n,re).call(this);const r=this.editor;if(!r)return;t&&d(this,n,To).call(this,t);let i=V(r,g(this,D));i||(ne(r),i=V(r),k(this,D,(h=i==null?void 0:i.cloneRange())!=null?h:null));const o=t!=null?t:Ne(r,(m=i==null?void 0:i.startContainer)!=null?m:null,"a"),a=i&&!i.collapsed?i.toString():(f=o==null?void 0:o.textContent)!=null?f:"",s=await d(this,n,it).call(this,"Link",[{name:"url",label:"URL",type:"url",value:(y=o==null?void 0:o.getAttribute("href"))!=null?y:"",placeholder:"https://..."},{name:"text",label:"Texto (quando não há seleção)",value:a,placeholder:"Texto do link"},{name:"target",label:"Abrir em",type:"select",value:(x=o==null?void 0:o.getAttribute("target"))!=null?x:"_blank",options:[{value:"_blank",label:"Nova aba"},{value:"_self",label:"Mesma aba"}]}]);if(!s)return;const c=Ji((b=s.url)!=null?b:"");if(!c){d(this,n,se).call(this,"URL de link inválida.");return}const u=s.target==="_self"?"_self":"_blank",p=((v=s.text)!=null?v:"").trim()||(o?void 0:a||c);if(o){o.setAttribute("href",c),o.setAttribute("target",u),o.setAttribute("rel","noopener noreferrer"),p&&(o.textContent=p),d(this,n,$).call(this),d(this,n,j).call(this);return}d(this,n,j).call(this),as(r,c,p!=null?p:a||c,u),d(this,n,$).call(this)},ot=async function(t){var h,m,f,y,x,b,v,z,E,S;d(this,n,ie).call(this);const r=t==null?void 0:t.closest("figure"),i=(m=(h=r==null?void 0:r.querySelector("figcaption"))==null?void 0:h.textContent)!=null?m:"",o=(f=r==null?void 0:r.getAttribute("data-align"))!=null?f:"center",a=((y=r==null?void 0:r.style.width)==null?void 0:y.replace("%",""))||"100",s=d(this,n,it).call(this,t?"Editar imagem":"Inserir imagem",[{name:"src",label:"URL da imagem",type:"url",value:(x=t==null?void 0:t.getAttribute("src"))!=null?x:"",placeholder:"https://..."},{name:"alt",label:"Texto alternativo",value:(b=t==null?void 0:t.getAttribute("alt"))!=null?b:""},{name:"caption",label:"Legenda",value:i},{name:"width",label:"Largura",type:"select",value:a,options:[{value:"25",label:"25%"},{value:"50",label:"50%"},{value:"75",label:"75%"},{value:"100",label:"100%"}]},{name:"align",label:"Alinhamento",type:"select",value:o,options:[{value:"left",label:"Esquerda"},{value:"center",label:"Centro"},{value:"right",label:"Direita"}]}]),c=this.root.querySelector(".dialog-body");if(c){const N=document.createElement("button");N.type="button",N.className="btn",N.textContent="Escolher arquivo…",N.addEventListener("click",()=>{var Ve;d(this,n,ge).call(this,null),(Ve=g(this,ae))==null||Ve.click()}),c.appendChild(N)}const u=await s;if(!u)return;const p=Me((v=u.src)!=null?v:"","img");if(!p){d(this,n,se).call(this,"URL de imagem inválida.");return}if(t&&r){t.setAttribute("src",p),t.setAttribute("alt",(z=u.alt)!=null?z:""),r.setAttribute("data-align",u.align||"center"),r.style.width=`${u.width||100}%`;const N=r.querySelector("figcaption");u.caption?N?N.textContent=u.caption:r.insertAdjacentHTML("beforeend",`<figcaption>${we(u.caption)}</figcaption>`):N==null||N.remove(),d(this,n,$).call(this);return}d(this,n,j).call(this),d(this,n,Fi).call(this,p,(E=u.alt)!=null?E:"",(S=u.caption)!=null?S:"",u.width||"100",u.align||"center")},qo=function(t){var r;try{const i=new URL(t),o=i.hostname.replace(/^www\./,"");if(o==="youtu.be")return`https://www.youtube-nocookie.com/embed/${i.pathname.slice(1)}`;if(o==="youtube.com"||o==="m.youtube.com"){const a=i.searchParams.get("v");if(a)return`https://www.youtube-nocookie.com/embed/${a}`;if(i.pathname.startsWith("/shorts/"))return`https://www.youtube-nocookie.com/embed/${(r=i.pathname.split("/")[2])!=null?r:""}`}if(o==="vimeo.com"){const a=i.pathname.split("/").filter(Boolean)[0];if(a)return`https://player.vimeo.com/video/${a}`}return t}catch(i){return t}},Mi=async function(){var a,s,c;const t=await d(this,n,it).call(this,"Inserir vídeo",[{name:"src",label:"URL do vídeo ou embed",type:"url",placeholder:"https://.../video.mp4 ou YouTube/Vimeo"},{name:"caption",label:"Legenda",value:""},{name:"width",label:"Largura",type:"select",value:"100",options:[{value:"50",label:"50%"},{value:"75",label:"75%"},{value:"100",label:"100%"}]},{name:"align",label:"Alinhamento",type:"select",value:"center",options:[{value:"left",label:"Esquerda"},{value:"center",label:"Centro"},{value:"right",label:"Direita"}]}]);if(!t)return;const r=(a=t.src)!=null?a:"",i=Zi(d(this,n,qo).call(this,r));if(i){d(this,n,j).call(this),d(this,n,Oo).call(this,i,(s=t.caption)!=null?s:"",t.width||"100",t.align||"center");return}const o=Me(r,"video");if(!o){d(this,n,se).call(this,"URL de vídeo inválida.");return}d(this,n,j).call(this),d(this,n,Vo).call(this,o,(c=t.caption)!=null?c:"",t.width||"100",t.align||"center")},Di=function(){const t=this.editor;if(!(!t||g(this,F)))for(const r of Array.from(t.querySelectorAll("figure.fx-image, figure.fx-video, figure.fx-embed"))){if(r.querySelector(":scope > .fx-media-quick")){d(this,n,at).call(this,r);continue}for(const i of["left","center","right","delete"]){const o=i==="delete"?"Excluir mídia":i==="left"?"Alinhar à esquerda":i==="center"?"Centralizar":"Alinhar à direita",a=document.createElement("button");a.type="button",a.className=`fx-media-quick quick-${i}`,a.title=o,a.setAttribute("aria-label",o),i==="delete"?a.dataset.mediaDelete="":a.dataset.mediaAlign=i,a.innerHTML=ps[i],a.addEventListener("click",s=>{s.preventDefault(),s.stopPropagation(),i==="delete"?(r.remove(),d(this,n,ie).call(this),d(this,n,$).call(this)):(r.setAttribute("data-align",i),d(this,n,at).call(this,r),d(this,n,$).call(this))}),r.appendChild(a)}d(this,n,at).call(this,r)}},at=function(t){const r=t.getAttribute("data-align")||"center";for(const i of Array.from(t.querySelectorAll(":scope > .fx-media-quick[data-media-align]")))i.classList.toggle("active",i.dataset.mediaAlign===r)},To=function(t){const r=this.editor;if(!r)return;r.focus({preventScroll:!0});const i=document.createRange();i.selectNodeContents(t);const o=document.getSelection();o&&(o.removeAllRanges(),o.addRange(i),k(this,D,i.cloneRange()))},Mo=function(t){const r=t.target.closest("[data-link-action]"),i=g(this,ce);if(!r||!i)return;t.preventDefault(),t.stopPropagation();const o=r.dataset.linkAction;o==="open"?d(this,n,Ni).call(this,i):o==="edit"?d(this,n,He).call(this,i):o==="remove"&&d(this,n,Do).call(this,i)},Ni=function(t){var o;const r=(o=t.getAttribute("href"))!=null?o:"";if(!r)return;d(this,n,re).call(this);const i=t.getAttribute("target")==="_self"?"_self":"_blank";window.open(r,i,i==="_blank"?"noopener,noreferrer":void 0)},Do=function(t){var i;const r=t.parentNode;if(r){for(;t.firstChild;)r.insertBefore(t.firstChild,t);t.remove(),d(this,n,re).call(this),d(this,n,$).call(this),(i=this.editor)==null||i.focus({preventScroll:!0})}},No=function(t){k(this,ce,t);const r=this.root.querySelector(".link-overlay");if(!r)return;const i=t.getAttribute("target")==="_self"?"mesma janela":"nova aba",o=r.querySelector('[data-link-action="open"]');o&&(o.title=`Abrir na ${i}`),r.hidden=!1,d(this,n,st).call(this)},re=function(){k(this,ce,null);const t=this.root.querySelector(".link-overlay");t&&(t.hidden=!0)},st=function(){const t=this.root.querySelector(".link-overlay"),r=g(this,ce),i=this.editor;if(!t)return;if(!r||!i||g(this,F)||!r.isConnected||!i.contains(r)){t.hidden=!0;return}const o=t.parentElement;if(!o)return;const a=o.getBoundingClientRect(),s=r.getBoundingClientRect();if(!s.width||!s.height||s.bottom<a.top||s.top>a.bottom){t.hidden=!0;return}t.hidden=!1;const c=t.offsetWidth||180,u=t.offsetHeight||30,p=Math.max(4,Math.min(s.left-a.left,a.width-c-4));let h=s.bottom-a.top+6;h+u>a.height&&(h=s.top-a.top-u-6),t.style.left=`${p}px`,t.style.top=`${Math.max(4,h)}px`},Io=function(t){var a;const r=t.target,i=r.closest("a[href]");if(i&&((a=this.editor)!=null&&a.contains(i))){d(this,n,ie).call(this),d(this,n,No).call(this,i),(t.ctrlKey||t.metaKey)&&(t.preventDefault(),d(this,n,Ni).call(this,i));return}d(this,n,re).call(this);const o=r.closest("figure.fx-image, figure.fx-video, figure.fx-embed");o?d(this,n,Fo).call(this,o):d(this,n,ie).call(this)},Fo=function(t){k(this,Y,t),t.setAttribute("tabindex","0"),t.classList.contains("fx-image")&&t.focus({preventScroll:!0});const r=this.root.querySelector(".media-overlay");r&&(r.hidden=!1,d(this,n,$e).call(this))},ie=function(){var i;(i=g(this,Y))==null||i.removeAttribute("tabindex"),k(this,Y,null);const t=this.root.querySelector(".media-overlay");if(!t)return;t.hidden=!0;const r=t.querySelector(".media-size");r&&(r.textContent="")},Ii=function(){var r;const t=g(this,Y);t&&(t.remove(),d(this,n,ie).call(this),d(this,n,$).call(this),(r=this.editor)==null||r.focus({preventScroll:!0}))},$e=function(){const t=this.root.querySelector(".media-overlay"),r=g(this,Y),i=this.editor;if(!t)return;if(!r||!i||g(this,F)||!r.isConnected||!i.contains(r)){t.hidden=!0;return}const o=t.parentElement;if(!o)return;const a=o.getBoundingClientRect(),s=r.getBoundingClientRect();if(!s.width||!s.height||s.bottom<a.top||s.top>a.bottom){t.hidden=!0;return}t.hidden=!1,t.style.left=`${s.left-a.left}px`,t.style.top=`${s.top-a.top}px`,t.style.width=`${s.width}px`,t.style.height=`${s.height}px`;const c=t.querySelector(".media-size");c&&(c.textContent=`${Math.round(s.width)} × ${Math.round(s.height)}`)},jo=function(t){var y;const r=t.target.closest("[data-handle]"),i=g(this,Y),o=this.editor;if(!r||!i||!o)return;t.preventDefault(),t.stopPropagation(),d(this,n,nt).call(this);const a=i.parentElement;if(!a)return;const s=a.getBoundingClientRect().width||o.clientWidth;if(!s)return;const c=i.getBoundingClientRect(),u=c.width?c.width/s*100:Number.parseFloat(i.style.width)||100,p=t.clientX,h=(y=r.dataset.handle)!=null&&y.includes("w")?-1:1,m=x=>{const b=(x.clientX-p)*h*100/s,v=Math.min(100,Math.max(15,u+b));i.style.width=`${v.toFixed(1).replace(/\.0$/,"")}%`,d(this,n,$e).call(this)},f=()=>{d(this,n,nt).call(this),d(this,n,$).call(this),d(this,n,$e).call(this)};window.addEventListener("pointermove",m),window.addEventListener("pointerup",f,{once:!0}),window.addEventListener("pointercancel",f,{once:!0}),k(this,ke,()=>{window.removeEventListener("pointermove",m),window.removeEventListener("pointerup",f),window.removeEventListener("pointercancel",f)})},nt=function(){var t;(t=g(this,ke))==null||t.call(this),k(this,ke,null)},Ro=function(t){const i=t.target.closest("img");i&&(t.preventDefault(),d(this,n,ot).call(this,i))},Fi=function(t,r,i,o,a){const s=`<figure class="fx-image" contenteditable="false" data-align="${Z(a)}" style="width:${Z(o)}%"><img src="${Z(t)}" alt="${Z(r)}" loading="lazy" decoding="async">${i?`<figcaption>${we(i)}</figcaption>`:""}</figure><p><br></p>`;J(this.editor,s),d(this,n,$).call(this)},Vo=function(t,r,i,o="center"){const a=`<figure class="fx-video" contenteditable="false" data-align="${Z(o)}" style="width:${Z(i)}%"><video controls preload="metadata" src="${Z(t)}" style="width:100%"></video>${r?`<figcaption>${we(r)}</figcaption>`:""}</figure><p><br></p>`;J(this.editor,a),d(this,n,$).call(this)},Oo=function(t,r,i,o="center"){const a=`<figure class="fx-embed" contenteditable="false" data-align="${Z(o)}" style="width:${Z(i)}%"><iframe src="${Z(t)}" title="${Z(r||"Vídeo")}" loading="lazy" allowfullscreen sandbox="allow-scripts allow-same-origin allow-presentation" referrerpolicy="strict-origin-when-cross-origin" style="width:100%;aspect-ratio:16/9;border:0"></iframe>${r?`<figcaption>${we(r)}</figcaption>`:""}</figure><p><br></p>`;J(this.editor,a),d(this,n,$).call(this)},Po=function(t,r){const i=Math.min(20,Math.max(1,t)),o=Math.min(12,Math.max(1,r)),a=(100/o).toFixed(4).replace(/\.?0+$/,""),s=`<colgroup>${Array.from({length:o},()=>`<col style="width:${a}%">`).join("")}</colgroup>`,c=`<thead><tr>${Array.from({length:o},()=>'<th scope="col"><p><br></p></th>').join("")}</tr></thead>`,u=Math.max(0,i-1),p=u?`<tbody>${Array.from({length:u},()=>`<tr>${Array.from({length:o},()=>"<td><p><br></p></td>").join("")}</tr>`).join("")}</tbody>`:"",h=`<figure class="fx-table"><table>${s}${c}${p}</table></figure><p><br></p>`;J(this.editor,h),d(this,n,$).call(this)},Bo=function(t){const r=Math.min(4,Math.max(1,t)),i=(100/r).toFixed(4).replace(/\.?0+$/,""),o=Array.from({length:r},()=>`<td style="width:${i}%;vertical-align:top;padding:8px"><p><br></p></td>`).join(""),a=`<table class="fx-grid" role="presentation" data-cols="${r}" data-stack="sm" style="width:100%;border-collapse:collapse"><tbody><tr>${o}</tr></tbody></table><p><br></p>`;J(this.editor,a),d(this,n,$).call(this)},Ho=function(){const t=this.root.querySelector("[data-panel]");if(!t)return;const r=d(this,n,Ue).call(this),i=Array.from({length:64},(o,a)=>{const s=Math.floor(a/8)+1,c=a%8+1;return`<button type="button" data-grid="${s},${c}" aria-label="${s} por ${c}"></button>`}).join("");t.innerHTML=`<p class="panel-title">Inserir tabela</p><div class="grid-picker">${i}</div>`+(r?'<p class="panel-title" style="margin-top:8px">Tabela atual</p><div class="panel-actions"><button type="button" class="btn" data-table-action="add-row">+ Linha</button><button type="button" class="btn" data-table-action="add-col">+ Coluna</button><button type="button" class="btn" data-table-action="del-row">− Linha</button><button type="button" class="btn" data-table-action="del-col">− Coluna</button><button type="button" class="btn" data-table-action="toggle-header">Cabeçalho</button><button type="button" class="btn" data-table-action="merge-cells">Mesclar</button><button type="button" class="btn" data-table-action="split-cell">Dividir</button><button type="button" class="btn" data-table-action="del-table">Excluir tabela</button></div>':""),t.removeAttribute("hidden"),t.querySelectorAll("[data-grid]").forEach(o=>{o.addEventListener("click",()=>{var c;const[a,s]=((c=o.dataset.grid)!=null?c:"").split(",").map(Number);d(this,n,Ke).call(this),d(this,n,Po).call(this,a,s)})}),t.querySelectorAll("[data-table-action]").forEach(o=>{o.addEventListener("click",()=>{var a;d(this,n,Uo).call(this,(a=o.dataset.tableAction)!=null?a:""),d(this,n,Ke).call(this)})})},Ko=function(){const t=this.root.querySelector("[data-panel]");t&&(t.innerHTML='<p class="panel-title">Inserir colunas</p><div class="panel-actions">'+[1,2,3,4].map(r=>`<button type="button" class="btn" data-columns="${r}">${r}</button>`).join("")+"</div>",t.removeAttribute("hidden"),t.querySelectorAll("[data-columns]").forEach(r=>{r.addEventListener("click",()=>{var i;d(this,n,Ke).call(this),d(this,n,Bo).call(this,Number((i=r.dataset.columns)!=null?i:1))})}))},Ke=function(){var t;(t=this.root.querySelector("[data-panel]"))==null||t.setAttribute("hidden","")},Ue=function(){var i;const t=this.editor;if(!t)return null;const r=V(t,g(this,D));return Ne(t,(i=r==null?void 0:r.startContainer)!=null?i:null,"table")},Uo=function(t){var c,u,p,h,m,f,y,x;const r=d(this,n,Ue).call(this);if(!r)return;const i=this.editor,o=i?V(i,g(this,D)):null,a=i?Ne(i,(c=o==null?void 0:o.startContainer)!=null?c:null,"td,th"):null,s=a==null?void 0:a.parentElement;if(t==="merge-cells"){if(!o)return;const b=no(r,o);if(!b)return;ne(b),d(this,n,$).call(this);return}if(t==="split-cell"){if(!a||!lo(r,a).length)return;ne(a),d(this,n,$).call(this);return}if(t==="add-row"&&s){const b=s.cloneNode(!0);for(const v of Array.from(b.querySelectorAll("td,th")))v.innerHTML="<p><br></p>";s.after(b)}else if(t==="add-col"&&a){const b=Array.from((u=s==null?void 0:s.children)!=null?u:[]).indexOf(a);for(const v of Array.from(r.rows)){const z=v.cells[Math.max(0,b)],E=(p=z!=null?z:v.cells[v.cells.length-1])==null?void 0:p.cloneNode(!1);E&&(E.innerHTML="<p><br></p>",v.insertBefore(E,(h=z==null?void 0:z.nextSibling)!=null?h:null))}}else if(t==="del-row"&&s&&r.rows.length>1)s.remove();else if(t==="del-col"&&a&&((m=r.rows[0])==null?void 0:m.cells.length)>1){const b=Array.from((f=s==null?void 0:s.children)!=null?f:[]).indexOf(a);for(const v of Array.from(r.rows))(y=v.cells[b])==null||y.remove()}else if(t==="toggle-header"){const b=r.tHead;if(b&&b.rows.length){const v=b.rows[0];for(const E of Array.from(v.cells)){const S=document.createElement("td");S.innerHTML=E.innerHTML,E.replaceWith(S)}const z=(x=r.tBodies[0])!=null?x:r.createTBody();z.insertBefore(v,z.firstChild),b.remove()}else{const v=r.rows[0];if(v){for(const z of Array.from(v.cells)){const E=document.createElement("th");E.setAttribute("scope","col"),E.innerHTML=z.innerHTML,z.replaceWith(E)}r.createTHead().appendChild(v)}}}else if(t==="del-table"){const b=r.closest("figure.fx-table");(b!=null?b:r).remove()}d(this,n,$).call(this)},lt=async function(t){if(!t.type.startsWith("image/")){d(this,n,se).call(this,"O arquivo selecionado não é uma imagem.");return}if(t.type==="image/svg+xml"){d(this,n,se).call(this,"SVG não é permitido por segurança. Use PNG, JPEG, WebP ou GIF.");return}if(t.size>ds){d(this,n,se).call(this,"Imagem muito grande (máximo 8 MB).");return}let r="",i=t.name.replace(/\.[a-z0-9]+$/i,"");try{if(this.uploadImage){const o=await this.uploadImage(t);typeof o=="string"?r=o:(r=o.url,o.alt&&(i=o.alt))}else r=await d(this,n,Wo).call(this,t)}catch(o){d(this,n,se).call(this,"Não foi possível processar a imagem.");return}if(!r||!Me(r,"img")){d(this,n,se).call(this,"A imagem resultante não tem uma URL segura.");return}d(this,n,j).call(this),d(this,n,Fi).call(this,r,i,"","100","center")},Wo=async function(t){const r=await new Promise((i,o)=>{const a=new FileReader;a.onload=()=>{var s;return i(String((s=a.result)!=null?s:""))},a.onerror=()=>o(new Error("read-error")),a.readAsDataURL(t)});return t.type==="image/gif"?r:new Promise(i=>{const o=new Image;o.onload=()=>{const s=Math.min(1,1600/(o.naturalWidth||1600));if(s>=1){i(r);return}const c=document.createElement("canvas");c.width=Math.round((o.naturalWidth||1600)*s),c.height=Math.round((o.naturalHeight||1600)*s);const u=c.getContext("2d");if(!u){i(r);return}u.drawImage(o,0,0,c.width,c.height),i(c.toDataURL("image/webp",.85))},o.onerror=()=>i(r),o.src=r})},se=function(t){this.dispatchEvent(new CustomEvent("editor-error",{bubbles:!0,composed:!0,detail:{message:t}}))},Fr.styles=`${B}
2285
+ ${es}`;let Ot=Fr;function ms(){return A("fx-editor",Ot)}ms();const jr=class jr extends C{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(`
1793
2286
  <div class="overlay" part="overlay" ${e?"":"hidden"}>
1794
- <div class="dialog" role="dialog" aria-modal="true" aria-label="${h(t)}" tabindex="-1">
2287
+ <div class="dialog" role="dialog" aria-modal="true" aria-label="${_(t)}" tabindex="-1">
1795
2288
  <header>
1796
- <h2>${h(t)}</h2>
2289
+ <h2>${_(t)}</h2>
1797
2290
  <button type="button" class="close" part="close" aria-label="Fechar">×</button>
1798
2291
  </header>
1799
2292
  <div class="body"><slot></slot></div>
1800
2293
  <footer part="footer"><slot name="footer"></slot></footer>
1801
2294
  </div>
1802
2295
  </div>
1803
- `),!e)return;(s=this._cleanup)==null||s.call(this),this._cleanup=void 0;const r=this.root.querySelector(".overlay"),a=this.root.querySelector(".close"),i=()=>{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&&i()}),a==null||a.addEventListener("click",i);const o=n=>{if(n.key==="Escape"){n.stopPropagation(),i();return}n.key==="Tab"&&this._trapFocus(n)};document.addEventListener("keydown",o),this._cleanup=()=>document.removeEventListener("keydown",o),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],i=r[r.length-1],o=this.root.activeElement;e.shiftKey&&(o===a||o===t)?(e.preventDefault(),i.focus()):!e.shiftKey&&o===i&&(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()}};st.styles=g`
2296
+ `),!e)return;(s=this._cleanup)==null||s.call(this),this._cleanup=void 0;const r=this.root.querySelector(".overlay"),i=this.root.querySelector(".close"),o=()=>{var c;this.open=!1,(c=this._cleanup)==null||c.call(this),this._cleanup=void 0,this._restoreFocus(),this.dispatchEvent(new CustomEvent("close",{bubbles:!0,composed:!0}))};r==null||r.addEventListener("click",c=>{c.target===r&&o()}),i==null||i.addEventListener("click",o);const a=c=>{if(c.key==="Escape"){c.stopPropagation(),o();return}c.key==="Tab"&&this._trapFocus(c)};document.addEventListener("keydown",a),this._cleanup=()=>document.removeEventListener("keydown",a),requestAnimationFrame(()=>{var c;this._previouslyFocused=document.activeElement,(c=this.root.querySelector(".dialog"))==null||c.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 i=r[0],o=r[r.length-1],a=this.root.activeElement;e.shiftKey&&(a===i||a===t)?(e.preventDefault(),o.focus()):!e.shiftKey&&a===o&&(e.preventDefault(),i.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()}};jr.styles=w`
1804
2297
  :host { display: contents; }
1805
2298
  .overlay {
1806
2299
  position: fixed;
@@ -1877,22 +2370,22 @@
1877
2370
  gap: var(--fx-space-sm);
1878
2371
  }
1879
2372
  footer[hidden] { display: none; }
1880
- `;let he=st;function Nr(){return v("fx-dialog",he)}Nr();const nt=class nt extends y{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 u,f,p;const e=this.getAttr("message"),t=this.getAttr("icon"),r=I(t);r&&Promise.resolve().then(()=>B);const a=this.getAttr("accept-label","Sim"),i=this.getAttr("reject-label","Não");if(this.setTemplate(`
2373
+ `;let Pt=jr;function _s(){return A("fx-dialog",Pt)}_s();const Rr=class Rr extends C{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,h,m;const e=this.getAttr("message"),t=this.getAttr("icon"),r=be(t);r&&Promise.resolve().then(()=>Ye);const i=this.getAttr("accept-label","Sim"),o=this.getAttr("reject-label","Não");if(this.setTemplate(`
1881
2374
  <div class="popup" part="popup" role="alertdialog" aria-modal="false" ${this.open?"":"hidden"}>
1882
2375
  <div class="message" part="message">
1883
- ${t?`<span class="icon${r?" fx-icon":""}" aria-hidden="true">${h(t)}</span>`:""}
1884
- <p class="text"><slot>${h(e)}</slot></p>
2376
+ ${t?`<span class="icon${r?" fx-icon":""}" aria-hidden="true">${_(t)}</span>`:""}
2377
+ <p class="text"><slot>${_(e)}</slot></p>
1885
2378
  </div>
1886
2379
  <footer part="footer">
1887
2380
  <slot name="reject">
1888
- <button type="button" class="reject" part="reject-button">${h(i)}</button>
2381
+ <button type="button" class="reject" part="reject-button">${_(o)}</button>
1889
2382
  </slot>
1890
2383
  <slot name="accept">
1891
- <button type="button" class="accept" part="accept-button">${h(a)}</button>
2384
+ <button type="button" class="accept" part="accept-button">${_(i)}</button>
1892
2385
  </slot>
1893
2386
  </footer>
1894
2387
  </div>
1895
- `),!this.open)return;const o=this.root.querySelector(".popup");if(!o)return;(u=this._cleanup)==null||u.call(this),this._cleanup=void 0;const s=d=>{var b;this.open=!1,(b=this._cleanup)==null||b.call(this),this._cleanup=void 0,this._restoreFocus(),this.dispatchEvent(new CustomEvent(d,{bubbles:!0,composed:!0}))};(f=this.root.querySelector(".reject"))==null||f.addEventListener("click",()=>s("reject")),(p=this.root.querySelector(".accept"))==null||p.addEventListener("click",()=>s("accept"));const n=d=>{d.key==="Escape"&&(d.stopPropagation(),s("reject"))},l=d=>{const b=d.composedPath(),w=this._anchor(),_=w?b.includes(w):!1;!b.includes(o)&&!_&&s("reject")};document.addEventListener("keydown",n),document.addEventListener("pointerdown",l,!0),this._cleanup=()=>{document.removeEventListener("keydown",n),document.removeEventListener("pointerdown",l,!0)},this._position(o),this._previouslyFocused=document.activeElement,requestAnimationFrame(()=>{var d;(d=this.root.querySelector("button.accept"))==null||d.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(),i=8,o=8;let s;const n=this.getAttr("position","auto");n==="top"?s="top":n==="bottom"?s="bottom":s=r.bottom+i+a.height<=window.innerHeight-o?"bottom":"top";const l=Math.min(Math.max(o,r.left+r.width/2-a.width/2),window.innerWidth-a.width-o),u=s==="bottom"?r.bottom+i:r.top-i-a.height;e.dataset.side=s,e.style.left=`${Math.round(l)}px`,e.style.top=`${Math.round(Math.max(o,u))}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()}};nt.styles=g`
2388
+ `),!this.open)return;const a=this.root.querySelector(".popup");if(!a)return;(p=this._cleanup)==null||p.call(this),this._cleanup=void 0;const s=f=>{var y;this.open=!1,(y=this._cleanup)==null||y.call(this),this._cleanup=void 0,this._restoreFocus(),this.dispatchEvent(new CustomEvent(f,{bubbles:!0,composed:!0}))};(h=this.root.querySelector(".reject"))==null||h.addEventListener("click",()=>s("reject")),(m=this.root.querySelector(".accept"))==null||m.addEventListener("click",()=>s("accept"));const c=f=>{f.key==="Escape"&&(f.stopPropagation(),s("reject"))},u=f=>{const y=f.composedPath(),x=this._anchor(),b=x?y.includes(x):!1;!y.includes(a)&&!b&&s("reject")};document.addEventListener("keydown",c),document.addEventListener("pointerdown",u,!0),this._cleanup=()=>{document.removeEventListener("keydown",c),document.removeEventListener("pointerdown",u,!0)},this._position(a),this._previouslyFocused=document.activeElement,requestAnimationFrame(()=>{var f;(f=this.root.querySelector("button.accept"))==null||f.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(),i=e.getBoundingClientRect(),o=8,a=8;let s;const c=this.getAttr("position","auto");c==="top"?s="top":c==="bottom"?s="bottom":s=r.bottom+o+i.height<=window.innerHeight-a?"bottom":"top";const u=Math.min(Math.max(a,r.left+r.width/2-i.width/2),window.innerWidth-i.width-a),p=s==="bottom"?r.bottom+o:r.top-o-i.height;e.dataset.side=s,e.style.left=`${Math.round(u)}px`,e.style.top=`${Math.round(Math.max(a,p))}px`;const h=Math.min(Math.max(r.left+r.width/2-u,16),i.width-16);e.style.setProperty("--fxcp-arrow-x",`${Math.round(h)}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()}};Rr.styles=w`
1896
2389
  :host { display: contents; }
1897
2390
  .popup {
1898
2391
  position: fixed;
@@ -1947,7 +2440,7 @@
1947
2440
  gap: var(--fx-space-sm);
1948
2441
  }
1949
2442
  .icon { font-size: calc(var(--fx-font-size) + 4px); line-height: 1.2; }
1950
- ${C}
2443
+ ${B}
1951
2444
  .icon.fx-icon { font-size: calc(var(--fx-font-size) + 6px); color: var(--fx-color-primary); }
1952
2445
  .text { margin: 0; }
1953
2446
  footer {
@@ -1974,30 +2467,30 @@
1974
2467
  color: #fff;
1975
2468
  }
1976
2469
  footer button.accept:hover { filter: brightness(0.92); background: var(--fx-color-primary); }
1977
- `;let ue=nt;function Vr(){return v("fx-confirmpopup",ue)}Vr();const lt=class lt extends S{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()}getFormValue(){const e=this._files;if(!this.name||e.length===0)return null;const t=new FormData;for(const r of e)t.append(this.name,r,r.name);return t}render(){const t=this.getAttr("mode","basic")==="advanced",r=this.getAttr("label","Escolher arquivo"),a=this.getAttr("icon"),i=this.getAttr("accept"),o=this.hasAttr("multiple"),s=this.hasAttr("disabled"),n=this.hasAttr("show-progress"),l=this.progress,u=`<input type="file" class="picker" ${i?`accept="${h(i)}"`:""} ${o?"multiple":""} ${s?"disabled":""} />`;this.setTemplate(`
1978
- ${t?`<div class="drop" part="dropzone" role="button" tabindex="0" aria-label="${h(r)}">
1979
- ${a?`<span class="icon" part="icon" aria-hidden="true">${L(a)}</span>`:""}
1980
- <span>${h(r)}</span>
2470
+ `;let Bt=Rr;function gs(){return A("fx-confirmpopup",Bt)}gs();const Vr=class Vr extends R{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()}getFormValue(){const e=this._files;if(!this.name||e.length===0)return null;const t=new FormData;for(const r of e)t.append(this.name,r,r.name);return t}render(){const t=this.getAttr("mode","basic")==="advanced",r=this.getAttr("label","Escolher arquivo"),i=this.getAttr("icon"),o=this.getAttr("accept"),a=this.hasAttr("multiple"),s=this.hasAttr("disabled"),c=this.hasAttr("show-progress"),u=this.progress,p=`<input type="file" class="picker" ${o?`accept="${_(o)}"`:""} ${a?"multiple":""} ${s?"disabled":""} />`;this.setTemplate(`
2471
+ ${t?`<div class="drop" part="dropzone" role="button" tabindex="0" aria-label="${_(r)}">
2472
+ ${i?`<span class="icon" part="icon" aria-hidden="true">${P(i)}</span>`:""}
2473
+ <span>${_(r)}</span>
1981
2474
  <span class="hint">ou arraste e solte aqui</span>
1982
2475
  </div>`:`<button type="button" class="btn" part="button">
1983
- ${a?`<span class="icon" part="icon" aria-hidden="true">${L(a)}</span>`:""}
1984
- <span>${h(r)}</span>
2476
+ ${i?`<span class="icon" part="icon" aria-hidden="true">${P(i)}</span>`:""}
2477
+ <span>${_(r)}</span>
1985
2478
  </button>`}
1986
- ${u}
2479
+ ${p}
1987
2480
  <div class="files" part="files"></div>
1988
- ${n?`
2481
+ ${c?`
1989
2482
  <div class="progress-row" part="progress">
1990
- <div class="track" role="progressbar" aria-valuenow="${l}" aria-valuemin="0" aria-valuemax="100">
1991
- <div class="bar" style="width: ${l}%"></div>
2483
+ <div class="track" role="progressbar" aria-valuenow="${u}" aria-valuemin="0" aria-valuemax="100">
2484
+ <div class="bar" style="width: ${u}%"></div>
1992
2485
  </div>
1993
- <span class="pct">${l}%</span>
2486
+ <span class="pct">${u}%</span>
1994
2487
  </div>`:""}
1995
- `),this._bindPicker(),this._syncFilesArea(),this.updateFormValue(),!this._done&&n&&l>=100&&this._files.length&&(this._done=!0,this.dispatchEvent(new CustomEvent("complete",{bubbles:!0,composed:!0}))),l<100&&(this._done=!1)}_picker(){return this.root.querySelector(".picker")}_bindPicker(){var a;const e=this._picker();if(!e)return;const t=(a=this.root.querySelector(".btn"))!=null?a:this.root.querySelector(".drop");t==null||t.addEventListener("click",()=>e.click()),t==null||t.addEventListener("keydown",i=>{(i.key==="Enter"||i.key===" ")&&(i.preventDefault(),e.click())}),e.addEventListener("change",()=>{var i;return this._acceptFiles((i=e.files)!=null?i:[])});const r=this.root.querySelector(".drop");r&&(r.addEventListener("dragover",i=>{i.preventDefault(),r.classList.add("over")}),r.addEventListener("dragleave",()=>r.classList.remove("over")),r.addEventListener("drop",i=>{var o;i.preventDefault(),r.classList.remove("over"),(o=i.dataTransfer)!=null&&o.files.length&&this._acceptFiles(i.dataTransfer.files)}))}_acceptFiles(e){const t=this.hasAttr("multiple")?Array.from(e):[e[0]].filter(Boolean);this.files=t;const r=this._picker();r&&(r.value=""),this.dispatchEvent(new CustomEvent("select",{bubbles:!0,composed:!0,detail:{files:t}}))}_fmtSize(e){return e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/(1024*1024)).toFixed(1)} MB`}formResetCallback(){this._files=[],this.value="",this.updateFormValue()}_syncFilesArea(){var t,r;const e=(r=(t=this.root)==null?void 0:t.querySelector)==null?void 0:r.call(t,".files");e&&(e.innerHTML=this._files.map((a,i)=>`
2488
+ `),this._bindPicker(),this._syncFilesArea(),this.updateFormValue(),!this._done&&c&&u>=100&&this._files.length&&(this._done=!0,this.dispatchEvent(new CustomEvent("complete",{bubbles:!0,composed:!0}))),u<100&&(this._done=!1)}_picker(){return this.root.querySelector(".picker")}_bindPicker(){var i;const e=this._picker();if(!e)return;const t=(i=this.root.querySelector(".btn"))!=null?i:this.root.querySelector(".drop");t==null||t.addEventListener("click",()=>e.click()),t==null||t.addEventListener("keydown",o=>{(o.key==="Enter"||o.key===" ")&&(o.preventDefault(),e.click())}),e.addEventListener("change",()=>{var o;return this._acceptFiles((o=e.files)!=null?o:[])});const r=this.root.querySelector(".drop");r&&(r.addEventListener("dragover",o=>{o.preventDefault(),r.classList.add("over")}),r.addEventListener("dragleave",()=>r.classList.remove("over")),r.addEventListener("drop",o=>{var a;o.preventDefault(),r.classList.remove("over"),(a=o.dataTransfer)!=null&&a.files.length&&this._acceptFiles(o.dataTransfer.files)}))}_acceptFiles(e){const t=this.hasAttr("multiple")?Array.from(e):[e[0]].filter(Boolean);this.files=t;const r=this._picker();r&&(r.value=""),this.dispatchEvent(new CustomEvent("select",{bubbles:!0,composed:!0,detail:{files:t}}))}_fmtSize(e){return e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/(1024*1024)).toFixed(1)} MB`}formResetCallback(){this._files=[],this.value="",this.updateFormValue()}_syncFilesArea(){var t,r;const e=(r=(t=this.root)==null?void 0:t.querySelector)==null?void 0:r.call(t,".files");e&&(e.innerHTML=this._files.map((i,o)=>`
1996
2489
  <div class="file" part="file">
1997
- <span class="name">${h(a.name)}</span>
1998
- <span class="size">${this._fmtSize(a.size)}</span>
1999
- <button type="button" class="remove" data-i="${i}" part="remove" aria-label="Remover ${h(a.name)}">×</button>
2000
- </div>`).join(""),e.querySelectorAll(".remove").forEach(a=>a.addEventListener("click",()=>{const i=this._files.splice(Number(a.dataset.i),1)[0];this.value=this._files.map(o=>o.name).join(", "),this.progress=0,this._syncFilesArea(),this.dispatchEvent(new CustomEvent("remove",{bubbles:!0,composed:!0,detail:{file:i}}))})))}};lt.styles=g`
2490
+ <span class="name">${_(i.name)}</span>
2491
+ <span class="size">${this._fmtSize(i.size)}</span>
2492
+ <button type="button" class="remove" data-i="${o}" part="remove" aria-label="Remover ${_(i.name)}">×</button>
2493
+ </div>`).join(""),e.querySelectorAll(".remove").forEach(i=>i.addEventListener("click",()=>{const o=this._files.splice(Number(i.dataset.i),1)[0];this.value=this._files.map(a=>a.name).join(", "),this.progress=0,this._syncFilesArea(),this.dispatchEvent(new CustomEvent("remove",{bubbles:!0,composed:!0,detail:{file:o}}))})))}};Vr.styles=w`
2001
2494
  :host {
2002
2495
  display: inline-block;
2003
2496
  font-family: var(--fx-font-family);
@@ -2136,8 +2629,8 @@
2136
2629
  :host([full]) .btn { width: 100%; }
2137
2630
  :host([full]) .drop { width: 100%; }
2138
2631
  /* Base dos glifos Fenix Icons (o @font-face vem de @wrrdev/fenix-ui/icons). */
2139
- ${C}
2140
- `;let pe=lt;function Rr(){return v("fx-fileupload",pe)}Rr();const ct=class ct extends S{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(),this.updateFormValue()}_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(`
2632
+ ${B}
2633
+ `;let Ht=Vr;function bs(){return A("fx-fileupload",Ht)}bs();const Or=class Or extends R{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(),this.updateFormValue()}_num(e,t){const r=this.getAttribute(e);if(r===null||r==="")return t;const i=Number(r);return Number.isFinite(i)?i: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(`
2141
2634
  ${t?`<div class="label" part="label"><span>${t}</span>${r?`<span>${this.value}</span>`:""}</div>`:""}
2142
2635
  <div class="track-wrap" part="track" tabindex="0" role="slider"
2143
2636
  aria-valuemin="${this.min}" aria-valuemax="${this.max}" aria-valuenow="${this.value}"
@@ -2146,7 +2639,7 @@
2146
2639
  <div class="thumb" part="thumb" style="left: ${e}%"></div>
2147
2640
  ${r?`<span class="value" style="left: ${e}%">${this.value}</span>`:""}
2148
2641
  </div>
2149
- `),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=i=>{const o=e.getBoundingClientRect(),s=o.width<=0?0:(i.clientX-o.left)/o.width;return this.min+s*(this.max-this.min)},r=i=>{this._dragging&&(this.value=t(i),this._syncVisual(),this.dispatchEvent(new CustomEvent("input",{bubbles:!0,composed:!0,detail:{value:this.value}})))};this._onMove=r;const a=i=>{this._dragging&&(this._dragging=!1,e.classList.remove("dragging"),window.removeEventListener("pointermove",r),window.removeEventListener("pointerup",a),this.value=t(i),this._syncVisual(),this.emitValueEvents(),this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0,detail:{value:this.value}})))};this._onUp=a,e.addEventListener("pointerdown",i=>{this.hasAttr("disabled")||(this._dragging=!0,e.classList.add("dragging"),e.focus(),this.value=t(i),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 i=null;switch(r.key){case"ArrowRight":case"ArrowUp":i=this.value+this.step;break;case"ArrowLeft":case"ArrowDown":i=this.value-this.step;break;case"PageUp":i=this.value+a;break;case"PageDown":i=this.value-a;break;case"Home":i=this.min;break;case"End":i=this.max;break;default:return}r.preventDefault(),this.value=i,this._syncVisual(),this.emitValueEvents(),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"),i=t.querySelector(".value");r&&(r.style.width=`${e}%`),a&&(a.style.left=`${e}%`),i&&(i.style.left=`${e}%`,i.textContent=String(this.value)),t.setAttribute("aria-valuenow",String(this.value));const o=this.root.querySelector(".label span:last-child");o&&(o.textContent=String(this.value))}formResetCallback(){super.formResetCallback(),this._syncVisual()}};ct.styles=g`
2642
+ `),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 a=e.getBoundingClientRect(),s=a.width<=0?0:(o.clientX-a.left)/a.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 i=o=>{this._dragging&&(this._dragging=!1,e.classList.remove("dragging"),window.removeEventListener("pointermove",r),window.removeEventListener("pointerup",i),this.value=t(o),this._syncVisual(),this.emitValueEvents(),this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0,detail:{value:this.value}})))};this._onUp=i,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",i))})}_bindKeyboard(){const e=this._wrap();e&&e.addEventListener("keydown",t=>{if(this.hasAttr("disabled"))return;const r=t,i=(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+i;break;case"PageDown":o=this.value-i;break;case"Home":o=this.min;break;case"End":o=this.max;break;default:return}r.preventDefault(),this.value=o,this._syncVisual(),this.emitValueEvents(),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"),i=t.querySelector(".thumb"),o=t.querySelector(".value");r&&(r.style.width=`${e}%`),i&&(i.style.left=`${e}%`),o&&(o.style.left=`${e}%`,o.textContent=String(this.value)),t.setAttribute("aria-valuenow",String(this.value));const a=this.root.querySelector(".label span:last-child");a&&(a.textContent=String(this.value))}formResetCallback(){super.formResetCallback(),this._syncVisual()}};Or.styles=w`
2150
2643
  :host {
2151
2644
  display: block;
2152
2645
  font-family: var(--fx-font-family);
@@ -2224,14 +2717,14 @@
2224
2717
  .track-wrap:hover .value,
2225
2718
  .track-wrap.dragging .value,
2226
2719
  .track-wrap:focus-visible .value { opacity: 1; }
2227
- `;let fe=ct;function Pr(){return v("fx-slider",fe)}Pr();const dt=class dt extends y{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(`
2228
- <span class="chip ${a?"clickable":""}" part="chip" role="${a?"button":"status"}"
2229
- ${a?`tabindex="0" aria-pressed="${this.selected}"`:""} ${r?'aria-disabled="true"':""}>
2230
- ${e?`<span class="icon" aria-hidden="true">${L(e)}</span>`:""}
2720
+ `;let Kt=Or;function vs(){return A("fx-slider",Kt)}vs();const Pr=class Pr extends C{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"),i=(this.hasAttr("selectable")||this.hasAttr("href"))&&!r;this.setTemplate(`
2721
+ <span class="chip ${i?"clickable":""}" part="chip" role="${i?"button":"status"}"
2722
+ ${i?`tabindex="0" aria-pressed="${this.selected}"`:""} ${r?'aria-disabled="true"':""}>
2723
+ ${e?`<span class="icon" aria-hidden="true">${P(e)}</span>`:""}
2231
2724
  <slot></slot>
2232
2725
  <button type="button" class="remove" part="remove" aria-label="Remover" ${t?"":"hidden"}>×</button>
2233
2726
  </span>
2234
- `);const i=this.root.querySelector(".chip"),o=this.root.querySelector(".remove");if(!(!i||!o)&&(o.addEventListener("click",s=>{s.stopPropagation(),this.dispatchEvent(new CustomEvent("remove",{bubbles:!0,composed:!0}))}),a)){const s=()=>{this.hasAttr("selectable")&&(this.selected=!this.selected,i.setAttribute("aria-pressed",String(this.selected))),this.dispatchEvent(new CustomEvent("chip-click",{bubbles:!0,composed:!0}))};i.addEventListener("click",s),i.addEventListener("keydown",n=>{const l=n;(l.key==="Enter"||l.key===" ")&&(l.preventDefault(),s())})}}};dt.styles=g`
2727
+ `);const o=this.root.querySelector(".chip"),a=this.root.querySelector(".remove");if(!(!o||!a)&&(a.addEventListener("click",s=>{s.stopPropagation(),this.dispatchEvent(new CustomEvent("remove",{bubbles:!0,composed:!0}))}),i)){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",c=>{const u=c;(u.key==="Enter"||u.key===" ")&&(u.preventDefault(),s())})}}};Pr.styles=w`
2235
2728
  :host {
2236
2729
  display: inline-block;
2237
2730
  font-family: var(--fx-font-family);
@@ -2278,7 +2771,7 @@
2278
2771
 
2279
2772
  .icon { line-height: 1; }
2280
2773
  /* Base dos glifos Fenix Icons (o @font-face vem de @wrrdev/fenix-ui/icons). */
2281
- ${C}
2774
+ ${B}
2282
2775
  .remove {
2283
2776
  display: inline-flex;
2284
2777
  align-items: center;
@@ -2296,11 +2789,11 @@
2296
2789
  }
2297
2790
  .remove:hover { background: rgba(0, 0, 0, 0.18); }
2298
2791
  .remove[hidden] { display: none; }
2299
- `;let _e=dt;function Or(){return v("fx-chip",_e)}Or();const ht=class ht extends y{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",i=e==="image"&&t;this.setTemplate(`
2300
- <span class="avatar${i?" image":a?" icon-slot":" text"}" part="avatar" aria-label="${h(r)}" role="img">
2301
- ${i?`<img src="${h(t)}" alt="${h(r)}">`:a?'<slot name="icon" class="slot-icon"></slot>':"<slot></slot>"}
2792
+ `;let Ut=Pr;function xs(){return A("fx-chip",Ut)}xs();const Br=class Br extends C{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",""),i=e==="icon",o=e==="image"&&t;this.setTemplate(`
2793
+ <span class="avatar${o?" image":i?" icon-slot":" text"}" part="avatar" aria-label="${_(r)}" role="img">
2794
+ ${o?`<img src="${_(t)}" alt="${_(r)}">`:i?'<slot name="icon" class="slot-icon"></slot>':"<slot></slot>"}
2302
2795
  </span>
2303
- `)}};ht.styles=g`
2796
+ `)}};Br.styles=w`
2304
2797
  :host {
2305
2798
  display: inline-block;
2306
2799
  font-family: var(--fx-font-family);
@@ -2351,7 +2844,7 @@
2351
2844
  }
2352
2845
  :host(.avatar-group) > .avatar:last-child { margin-left: 0; }
2353
2846
  :host(.avatar-group) > .avatar:hover { z-index: 2; }
2354
- `;let me=ht;function Br(){return v("fx-avatar",me)}Br();const ut=class ut extends y{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(){O(),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=I(e)?`<i class="icon fx-icon" part="icon" ${r}>${h(e)}</i>`:`<span class="icon" part="icon" ${r}>${h(e)}</span>`;this.setTemplate(a)}};ut.styles=g`
2847
+ `;let Wt=Br;function ys(){return A("fx-avatar",Wt)}ys();const Hr=class Hr extends C{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(){Te(),super.connectedCallback()}render(){const e=this.getAttr("name").trim(),t=this.getAttr("label").trim(),r=t?`role="img" aria-label="${_(t)}"`:'aria-hidden="true"';if(!e){this.setTemplate(`<span class="icon" part="icon" ${r}></span>`);return}const i=be(e)?`<i class="icon fx-icon" part="icon" ${r}>${_(e)}</i>`:`<span class="icon" part="icon" ${r}>${_(e)}</span>`;this.setTemplate(i)}};Hr.styles=w`
2355
2848
  :host {
2356
2849
  display: inline-flex;
2357
2850
  align-items: center;
@@ -2370,14 +2863,14 @@
2370
2863
  /* Variantes da fonte (FILL/wght): vencem a classe base .fx-icon. */
2371
2864
  :host([fill]) .icon { font-variation-settings: 'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 24; }
2372
2865
  :host([bold]) .icon { font-variation-settings: 'FILL' 0, 'wght' 600, 'GRAD' 0, 'opsz' 24; }
2373
- ${C}
2374
- `;let ge=ut;function Hr(){return v("fx-icon",ge)}Hr();const pt=class pt extends y{static get observedAttributes(){return["variant","radius","size","padded","heading"]}render(){var t;const e=this.getAttr("heading");this.setTemplate(`
2866
+ ${B}
2867
+ `;let Xt=Hr;function ws(){return A("fx-icon",Xt)}ws();const Kr=class Kr extends C{static get observedAttributes(){return["variant","radius","size","padded","heading"]}render(){var t;const e=this.getAttr("heading");this.setTemplate(`
2375
2868
  <div class="card" part="card">
2376
- <header part="header" ${e?"":"hidden"}>${h(e)}<slot name="header"></slot></header>
2869
+ <header part="header" ${e?"":"hidden"}>${_(e)}<slot name="header"></slot></header>
2377
2870
  <div class="body" part="content"><slot></slot></div>
2378
2871
  <footer part="footer"><slot name="footer"></slot></footer>
2379
2872
  </div>
2380
- `),this._syncSlots();for(const r of["header","footer"])(t=this.root.querySelector(`slot[name="${r}"]`))==null||t.addEventListener("slotchange",()=>this._syncSlots())}_syncSlots(){for(const e of["header","footer"]){const t=this.root.querySelector(`slot[name="${e}"]`),r=this.root.querySelector(e);if(!t||!r)continue;const a=t.assignedNodes({flatten:!0}).some(i=>{var o;return i.nodeType===1||((o=i.textContent)!=null?o:"").trim()!==""})||e==="header"&&!!this.getAttr("heading");r.toggleAttribute("hidden",!a)}}};pt.styles=g`
2873
+ `),this._syncSlots();for(const r of["header","footer"])(t=this.root.querySelector(`slot[name="${r}"]`))==null||t.addEventListener("slotchange",()=>this._syncSlots())}_syncSlots(){for(const e of["header","footer"]){const t=this.root.querySelector(`slot[name="${e}"]`),r=this.root.querySelector(e);if(!t||!r)continue;const i=t.assignedNodes({flatten:!0}).some(o=>{var a;return o.nodeType===1||((a=o.textContent)!=null?a:"").trim()!==""})||e==="header"&&!!this.getAttr("heading");r.toggleAttribute("hidden",!i)}}};Kr.styles=w`
2381
2874
  :host {
2382
2875
  display: block;
2383
2876
  font-family: var(--fx-font-family);
@@ -2431,9 +2924,9 @@
2431
2924
  gap: var(--fx-space-sm);
2432
2925
  }
2433
2926
  footer[hidden] { display: none; }
2434
- `;let be=pt;function Kr(){return v("fx-card",be)}Kr();const ft=class ft extends y{constructor(){super(...arguments),this._items=[]}static get observedAttributes(){return["size","separator","label"]}render(){const e=this.getAttr("label","Breadcrumb");this.setTemplate(`
2435
- <nav part="nav" aria-label="${h(e)}"></nav>
2436
- `),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,i)=>{const o=i===this._items.length-1;if(a.setAttribute("aria-current",o?"page":"false"),e.appendChild(a),o)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&&(this._stopObservingChildren(),this._decorateItems())});this._childObserver=e,e.observe(this,{childList:!0}),this.children.length>0&&(this._stopObservingChildren(),this._decorateItems())}_stopObservingChildren(){var e;(e=this._childObserver)==null||e.disconnect(),this._childObserver=void 0}disconnectedCallback(){this._stopObservingChildren(),super.disconnectedCallback(),this._items=[]}};ft.styles=g`
2927
+ `;let Yt=Kr;function ks(){return A("fx-card",Yt)}ks();const Ur=class Ur extends C{constructor(){super(...arguments),this._items=[]}static get observedAttributes(){return["size","separator","label"]}render(){const e=this.getAttr("label","Breadcrumb");this.setTemplate(`
2928
+ <nav part="nav" aria-label="${_(e)}"></nav>
2929
+ `),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(i=>i.matches('[slot="item"]'))),e.innerHTML="",this._items.forEach((i,o)=>{const a=o===this._items.length-1;if(i.setAttribute("aria-current",a?"page":"false"),e.appendChild(i),a)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&&(this._stopObservingChildren(),this._decorateItems())});this._childObserver=e,e.observe(this,{childList:!0}),this.children.length>0&&(this._stopObservingChildren(),this._decorateItems())}_stopObservingChildren(){var e;(e=this._childObserver)==null||e.disconnect(),this._childObserver=void 0}disconnectedCallback(){this._stopObservingChildren(),super.disconnectedCallback(),this._items=[]}};Ur.styles=w`
2437
2930
  :host {
2438
2931
  display: block;
2439
2932
  font-family: var(--fx-font-family);
@@ -2472,13 +2965,13 @@
2472
2965
  display: inline-flex;
2473
2966
  align-items: center;
2474
2967
  }
2475
- `;let ve=ft;function Xr(){return v("fx-breadcrumb",ve)}Xr();const _t=class _t extends y{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 i;if(this.setTemplate(`
2968
+ `;let Gt=Ur;function As(){return A("fx-breadcrumb",Gt)}As();const Wr=class Wr extends C{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(`
2476
2969
  <div class="popup" part="popover" role="dialog" aria-modal="false" ${this.open?"":"hidden"}>
2477
2970
  <header part="header" hidden><slot name="header"></slot></header>
2478
2971
  <div class="body" part="content"><slot></slot></div>
2479
2972
  <footer part="footer" hidden><slot name="footer"></slot></footer>
2480
2973
  </div>
2481
- `),!this.open)return;const e=this.root.querySelector(".popup");if(!e)return;(i=this._cleanup)==null||i.call(this),this._cleanup=void 0;const t=()=>{var o;this.open=!1,(o=this._cleanup)==null||o.call(this),this._cleanup=void 0,this._restoreFocus(),this.dispatchEvent(new CustomEvent("hide",{bubbles:!0,composed:!0}))},r=o=>{o.key==="Escape"&&(o.stopPropagation(),t())},a=o=>{if(!this.hasAttr("dismissible"))return;const s=o.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"),i=!!e&&e.assignedNodes().length>0,o=!!t&&t.assignedNodes().length>0;r==null||r.toggleAttribute("hidden",!i),a==null||a.toggleAttribute("hidden",!o)}_position(e){const t=this._anchor();if(!t)return;e.hidden=!1;const r=t.getBoundingClientRect(),a=e.getBoundingClientRect(),i=8,o=8;let s;const n=this.getAttr("position","auto");n==="top"?s="top":n==="bottom"?s="bottom":s=r.bottom+i+a.height<=window.innerHeight-o?"bottom":"top",s==="top"&&r.top-i-a.height<o&&r.bottom+i+a.height<=window.innerHeight-o?s="bottom":s==="bottom"&&r.bottom+i+a.height>window.innerHeight-o&&r.top-i-a.height>=o&&(s="top");const l=Math.min(Math.max(o,r.left+r.width/2-a.width/2),window.innerWidth-a.width-o),u=s==="bottom"?r.bottom+i:r.top-i-a.height;e.dataset.side=s,e.style.left=`${Math.round(l)}px`,e.style.top=`${Math.round(Math.max(o,u))}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))}};_t.styles=g`
2974
+ `),!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 a;this.open=!1,(a=this._cleanup)==null||a.call(this),this._cleanup=void 0,this._restoreFocus(),this.dispatchEvent(new CustomEvent("hide",{bubbles:!0,composed:!0}))},r=a=>{a.key==="Escape"&&(a.stopPropagation(),t())},i=a=>{if(!this.hasAttr("dismissible"))return;const s=a.composedPath(),c=this._anchor(),u=c?s.includes(c):!1;!s.includes(e)&&!u&&t()};document.addEventListener("keydown",r),document.addEventListener("pointerdown",i,!0),this._cleanup=()=>{document.removeEventListener("keydown",r),document.removeEventListener("pointerdown",i,!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"),i=this.root.querySelector("footer"),o=!!e&&e.assignedNodes().length>0,a=!!t&&t.assignedNodes().length>0;r==null||r.toggleAttribute("hidden",!o),i==null||i.toggleAttribute("hidden",!a)}_position(e){const t=this._anchor();if(!t)return;e.hidden=!1;const r=t.getBoundingClientRect(),i=e.getBoundingClientRect(),o=8,a=8;let s;const c=this.getAttr("position","auto");c==="top"?s="top":c==="bottom"?s="bottom":s=r.bottom+o+i.height<=window.innerHeight-a?"bottom":"top",s==="top"&&r.top-o-i.height<a&&r.bottom+o+i.height<=window.innerHeight-a?s="bottom":s==="bottom"&&r.bottom+o+i.height>window.innerHeight-a&&r.top-o-i.height>=a&&(s="top");const u=Math.min(Math.max(a,r.left+r.width/2-i.width/2),window.innerWidth-i.width-a),p=s==="bottom"?r.bottom+o:r.top-o-i.height;e.dataset.side=s,e.style.left=`${Math.round(u)}px`,e.style.top=`${Math.round(Math.max(a,p))}px`;const h=Math.min(Math.max(r.left+r.width/2-u,16),i.width-16);e.style.setProperty("--fxpp-arrow-x",`${Math.round(h)}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))}};Wr.styles=w`
2482
2975
  :host { display: contents; }
2483
2976
  .popup {
2484
2977
  position: fixed;
@@ -2537,14 +3030,14 @@
2537
3030
  gap: var(--fx-space-sm);
2538
3031
  }
2539
3032
  footer[hidden] { display: none; }
2540
- `;let xe=_t;function Yr(){return v("fx-popover",xe)}Yr();const mt=class mt extends y{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,i)=>a.getAttribute("step-title")||`Paso ${i+1}`);const e=Math.min(this.active,Math.max(0,this._titles.length-1)),t=this._titles.map((a,i)=>{const o=i===e?"active":i<e?"done":"",s=i<e&&!this.hasAttr("show-numbers")?"✓":String(i+1);return`<span class="step ${o}" part="step" data-i="${i}"><span class="num">${s}</span>${h(a)}</span>`}).join(""),r=this._panels.map((a,i)=>`<section class="panel" part="panel" ${i===e?"":"hidden"}>${a.innerHTML}</section>`).join("");this.setTemplate(`
3033
+ `;let Jt=Wr;function zs(){return A("fx-popover",Jt)}zs();const Xr=class Xr extends C{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(i=>i.matches('[slot^="step-"]')),this._titles=this._panels.map((i,o)=>i.getAttribute("step-title")||`Paso ${o+1}`);const e=Math.min(this.active,Math.max(0,this._titles.length-1)),t=this._titles.map((i,o)=>{const a=o===e?"active":o<e?"done":"",s=o<e&&!this.hasAttr("show-numbers")?"✓":String(o+1);return`<span class="step ${a}" part="step" data-i="${o}"><span class="num">${s}</span>${_(i)}</span>`}).join(""),r=this._panels.map((i,o)=>`<section class="panel" part="panel" ${o===e?"":"hidden"}>${i.innerHTML}</section>`).join("");this.setTemplate(`
2541
3034
  <div class="steps" part="steps">${t}</div>
2542
3035
  <div class="panel-wrap">${r}</div>
2543
3036
  <div class="actions" part="actions">
2544
3037
  <button type="button" class="nav-btn prev" part="prev" ${e===0?"disabled":""}>Anterior</button>
2545
3038
  <button type="button" class="nav-btn primary next" part="next">${e===this._titles.length-1?"Concluir":"Próximo"}</button>
2546
3039
  </div>
2547
- `),this._bindSteps()}_bindSteps(){var t,r;Array.from(this.root.querySelectorAll(".step")).forEach(a=>{const i=Number(a.dataset.i);a.addEventListener("click",()=>{this.hasAttr("linear")&&i>this.active+1||this.goTo(i)}),a.addEventListener("keydown",o=>{o.key==="Enter"&&(o.preventDefault(),this.goTo(i))})}),(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()}};mt.styles=g`
3040
+ `),this._bindSteps()}_bindSteps(){var t,r;Array.from(this.root.querySelectorAll(".step")).forEach(i=>{const o=Number(i.dataset.i);i.addEventListener("click",()=>{this.hasAttr("linear")&&o>this.active+1||this.goTo(o)}),i.addEventListener("keydown",a=>{a.key==="Enter"&&(a.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()}};Xr.styles=w`
2548
3041
  :host { display: block; font-family: var(--fx-font-family); font-size: var(--fx-font-size); }
2549
3042
  :host([linear]) .step-num.activated { cursor: not-allowed; }
2550
3043
 
@@ -2607,11 +3100,11 @@
2607
3100
  color: #fff;
2608
3101
  }
2609
3102
  .nav-btn.primary:hover:not(:disabled) { filter: brightness(0.92); background: var(--fx-color-primary); }
2610
- `;let ye=mt;function Ur(){return v("fx-stepper",ye)}Ur();const gt=class gt extends S{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(),this.updateFormValue()}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(`
3103
+ `;let Zt=Xr;function Ss(){return A("fx-stepper",Zt)}Ss();const Yr=class Yr extends R{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(),this.updateFormValue()}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,i)=>i+1).map(r=>`<span class="star" data-n="${r}" part="star" title="${r} ${this._label(r)}">★</span>`).join("");this.setTemplate(`
2611
3104
  <span class="stars" part="stars" role="radiogroup">
2612
3105
  ${t}
2613
3106
  </span>
2614
- `),this._bindStars(),this._syncVisual(),this.updateFormValue()}_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.emitValueEvents(),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)})}};gt.styles=g`
3107
+ `),this._bindStars(),this._syncVisual(),this.updateFormValue()}_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 i=r;this.hasAttr("allow-half")&&(i+=-.5),this.value=i,this.emitValueEvents(),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)})}};Yr.styles=w`
2615
3108
  :host {
2616
3109
  display: inline-flex;
2617
3110
  font-family: var(--fx-font-family);
@@ -2646,18 +3139,18 @@
2646
3139
  .star[hidden] { display: none; }
2647
3140
  .star.filled { color: var(--fx-color-warning); }
2648
3141
  .star.hovered { color: var(--fx-color-warning); }
2649
- `;let we=gt;function Jr(){return v("fx-rating",we)}Jr();const bt=class bt extends y{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(i=>i.trim()):[],a=this.items.map((i,o)=>{var f;const s=t[o]||((f=i.textContent)==null?void 0:f.trim())||`Item ${o+1}`,n=i.matches("[submenu]"),l=i.hasAttribute("disabled"),u=`
2650
- <span class="item" part="item" data-i="${o}" ${l?'aria-disabled="true"':""}>
2651
- ${h(s)}${n?'<span class="caret">▾</span>':""}
2652
- </span>`;return n?`
3142
+ `;let Qt=Yr;function Es(){return A("fx-rating",Qt)}Es();const Gr=class Gr extends C{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()):[],i=this.items.map((o,a)=>{var h;const s=t[a]||((h=o.textContent)==null?void 0:h.trim())||`Item ${a+1}`,c=o.matches("[submenu]"),u=o.hasAttribute("disabled"),p=`
3143
+ <span class="item" part="item" data-i="${a}" ${u?'aria-disabled="true"':""}>
3144
+ ${_(s)}${c?'<span class="caret">▾</span>':""}
3145
+ </span>`;return c?`
2653
3146
  <span class="submenu-wrap" part="submenu-wrap">
2654
- ${u}
2655
- <div class="dropdown" part="submenu"><slot name="submenu-${o}"></slot></div>
2656
- </span>`:u}).join("");this.setTemplate(`
3147
+ ${p}
3148
+ <div class="dropdown" part="submenu"><slot name="submenu-${a}"></slot></div>
3149
+ </span>`:p}).join("");this.setTemplate(`
2657
3150
  <nav part="menu" aria-label="Menu">
2658
- ${a}
3151
+ ${i}
2659
3152
  </nav>
2660
- `),this._bindItems()}_bindItems(){Array.from(this.root.querySelectorAll(".item")).forEach(t=>{const r=Number(t.dataset.i);t.addEventListener("click",()=>{var o,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(u=>{var f;u!==((f=t.parentElement)==null?void 0:f.querySelector(".dropdown"))&&u.classList.remove("open")}),(s=(o=t.parentElement)==null?void 0:o.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 i=a;(i.key==="Enter"||i.key===" ")&&(i.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)})}};bt.styles=g`
3153
+ `),this._bindItems()}_bindItems(){Array.from(this.root.querySelectorAll(".item")).forEach(t=>{const r=Number(t.dataset.i);t.addEventListener("click",()=>{var a,s,c,u;if(t.getAttribute("aria-disabled")==="true")return;const i=this.items[r];if(i==null?void 0:i.hasAttribute("submenu")){this.root.querySelectorAll(".dropdown.open").forEach(p=>{var h;p!==((h=t.parentElement)==null?void 0:h.querySelector(".dropdown"))&&p.classList.remove("open")}),(s=(a=t.parentElement)==null?void 0:a.querySelector(".dropdown"))==null||s.classList.toggle("open");return}this._setActive(t),this.dispatchEvent(new CustomEvent("select",{bubbles:!0,composed:!0,detail:{index:r,label:(u=(c=t.textContent)==null?void 0:c.trim())!=null?u:""}}))}),t.addEventListener("keydown",i=>{const o=i;(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)})}};Gr.styles=w`
2661
3154
  :host { display: block; font-family: var(--fx-font-family); font-size: var(--fx-font-size); }
2662
3155
  :host([orientation='vertical']) { border: 1px solid var(--fx-border-default); border-radius: var(--fx-radius-md); }
2663
3156
  nav {
@@ -2708,11 +3201,11 @@
2708
3201
  }
2709
3202
  .dropdown.open { display: flex; }
2710
3203
  :host([orientation='vertical']) .dropdown { left: 100%; top: 0; }
2711
- `;let ke=bt;function Gr(){return v("fx-menu",ke)}Gr();const vt=class vt extends S{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(",")),this.updateFormValue()}get multiple(){return this.hasAttr("multiple")}getFormValue(){const e=this.value;if(!this.name||e.length===0)return null;const t=new FormData;return e.forEach(r=>t.append(this.name,r)),t}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,i)=>{var n,l;const o=(n=a.getAttribute("value"))!=null?n:"",s=t.includes(o);return`<button type="button" class="option ${s?"active":""}" part="option" data-v="${h(o)}" aria-pressed="${s}">${h(((l=a.textContent)==null?void 0:l.trim())||`Opción ${i+1}`)}</button>`}).join("");this.setTemplate(`
3204
+ `;let er=Gr;function Cs(){return A("fx-menu",er)}Cs();const Jr=class Jr extends R{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(",")),this.updateFormValue()}get multiple(){return this.hasAttr("multiple")}getFormValue(){const e=this.value;if(!this.name||e.length===0)return null;const t=new FormData;return e.forEach(r=>t.append(this.name,r)),t}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((i,o)=>{var c,u;const a=(c=i.getAttribute("value"))!=null?c:"",s=t.includes(a);return`<button type="button" class="option ${s?"active":""}" part="option" data-v="${_(a)}" aria-pressed="${s}">${_(((u=i.textContent)==null?void 0:u.trim())||`Opción ${o+1}`)}</button>`}).join("");this.setTemplate(`
2712
3205
  <div class="options" part="options" role="group" aria-label="Toggle buttons">
2713
3206
  ${r}
2714
3207
  </div>
2715
- `),this._bindOptions(),this.updateFormValue()}formResetCallback(){this.setAttribute("value",this._initialValue),this.render(),this.updateFormValue()}_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(i=>i!==t):r.push(t):r=r.includes(t)?[]:[t],this.value=r,this.root.querySelectorAll(".option").forEach(i=>{var s;const o=r.includes((s=i.dataset.v)!=null?s:"");i.classList.toggle("active",o),i.setAttribute("aria-pressed",String(o))}),this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0,detail:{value:r}})),this.dispatchEvent(new CustomEvent("valuesChange",{bubbles:!0,composed:!0,detail:{values:[...r]}}))}};vt.styles=g`
3208
+ `),this._bindOptions(),this.updateFormValue()}formResetCallback(){this.setAttribute("value",this._initialValue),this.render(),this.updateFormValue()}_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 i;const t=(i=e.dataset.v)!=null?i:"";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 a=r.includes((s=o.dataset.v)!=null?s:"");o.classList.toggle("active",a),o.setAttribute("aria-pressed",String(a))}),this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0,detail:{value:r}})),this.dispatchEvent(new CustomEvent("valuesChange",{bubbles:!0,composed:!0,detail:{values:[...r]}}))}};Jr.styles=w`
2716
3209
  :host { display: inline-flex; font-family: var(--fx-font-family); font-size: var(--fx-font-size); gap: var(--fx-space-xs); }
2717
3210
  .option {
2718
3211
  display: inline-flex;
@@ -2741,15 +3234,15 @@
2741
3234
  color: #fff;
2742
3235
  }
2743
3236
  .option.active:hover { filter: brightness(0.92); }
2744
- `;let Ae=vt;function Wr(){return v("fx-toggle-button-group",Ae)}Wr();const xt=class xt extends y{static get observedAttributes(){return["icon","heading","description"]}render(){const e=this.getAttr("icon","📭"),t=this.getAttr("heading"),r=this.getAttr("description");this.setTemplate(`
3237
+ `;let tr=Jr;function $s(){return A("fx-toggle-button-group",tr)}$s();const Zr=class Zr extends C{static get observedAttributes(){return["icon","heading","description"]}render(){const e=this.getAttr("icon","📭"),t=this.getAttr("heading"),r=this.getAttr("description");this.setTemplate(`
2745
3238
  <div class="wrap" part="wrap">
2746
- <span class="icon" part="icon" aria-hidden="true">${L(e)}</span>
2747
- <h4 part="heading" ${t?"":"hidden"}>${h(t)}</h4>
2748
- <p part="description" ${r?"":"hidden"}>${h(r)}</p>
3239
+ <span class="icon" part="icon" aria-hidden="true">${P(e)}</span>
3240
+ <h4 part="heading" ${t?"":"hidden"}>${_(t)}</h4>
3241
+ <p part="description" ${r?"":"hidden"}>${_(r)}</p>
2749
3242
  <slot name="icon"></slot>
2750
3243
  <span class="action"><slot name="action"></slot></span>
2751
3244
  </div>
2752
- `)}};xt.styles=g`
3245
+ `)}};Zr.styles=w`
2753
3246
  :host {
2754
3247
  display: flex;
2755
3248
  justify-content: center;
@@ -2788,16 +3281,16 @@
2788
3281
  .action { margin-top: var(--fx-space-sm); }
2789
3282
  .action:empty { display: none; }
2790
3283
  /* Base dos glifos Fenix Icons (o @font-face vem de @wrrdev/fenix-ui/icons). */
2791
- ${C}
2792
- `;let ze=xt;function Zr(){return v("fx-empty-state",ze)}Zr();const yt=class yt extends y{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(`
3284
+ ${B}
3285
+ `;let rr=Zr;function Ls(){return A("fx-empty-state",rr)}Ls();const Qr=class Qr extends C{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(`
2793
3286
  <div class="label" part="label">
2794
3287
  <span>${t}</span>
2795
3288
  <strong>${e>0?this._labelFor(e):""}</strong>
2796
3289
  </div>
2797
3290
  <div class="bars" part="bars" role="progressbar" aria-valuemin="0" aria-valuemax="4" aria-valuenow="${e}">
2798
- ${Array.from({length:4},(r,a)=>`<span class="bar ${a<e?"on":""}" part="bar"></span>`).join("")}
3291
+ ${Array.from({length:4},(r,i)=>`<span class="bar ${i<e?"on":""}" part="bar"></span>`).join("")}
2799
3292
  </div>
2800
- `),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)}}};yt.styles=g`
3293
+ `),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)}}};Qr.styles=w`
2801
3294
  :host {
2802
3295
  display: block;
2803
3296
  font-family: var(--fx-font-family);
@@ -2832,7 +3325,7 @@
2832
3325
  :host([data-score='2']) { --_color: var(--fx-color-warning); }
2833
3326
  :host([data-score='3']) { --_color: var(--fx-color-info); }
2834
3327
  :host([data-score='4']) { --_color: var(--fx-color-success); }
2835
- `;let Se=yt;function Qr(){return v("fx-password-strength",Se)}Qr();const wt=class wt extends y{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(i=>{var f,p;const o=(f=i.getAttribute("time"))!=null?f:"",s=(p=i.getAttribute("title"))!=null?p:"",n=[o?`<span class="time">${h(o)}</span>`:"",s?`<span class="title">${h(s)}</span>`:""].join(""),l=i.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">${i.innerHTML}</div></li>`}).join(""),r.some(i=>i.hasAttribute("icon"))&&Promise.resolve().then(()=>B))}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}};wt.styles=g`
3328
+ `;let ir=Qr;function qs(){return A("fx-password-strength",ir)}qs();const ei=class ei extends C{static get observedAttributes(){return["marker","size","orientation"]}render(){this.setTemplate('<ol class="tl" part="timeline"></ol>'),this._decorate()}_decorate(){var i;const e=(i=this.shadowRoot)==null?void 0:i.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 h,m;const a=(h=o.getAttribute("time"))!=null?h:"",s=(m=o.getAttribute("title"))!=null?m:"",c=[a?`<span class="time">${_(a)}</span>`:"",s?`<span class="title">${_(s)}</span>`:""].join(""),u=o.getAttribute("icon");return`<li class="event" part="event">${u?`<span class="dot fx-icon" part="marker" aria-hidden="true">${_(u)}</span>`:`<span class="dot" part="marker" aria-hidden="true">${_(t)}</span>`}<div class="head">${c}</div><div class="content">${o.innerHTML}</div></li>`}).join(""),r.some(o=>o.hasAttribute("icon"))&&Promise.resolve().then(()=>Ye))}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}};ei.styles=w`
2836
3329
  :host {
2837
3330
  display: block;
2838
3331
  font-family: var(--fx-font-family);
@@ -2935,7 +3428,7 @@
2935
3428
  position: static;
2936
3429
  margin-bottom: var(--fx-space-sm);
2937
3430
  }
2938
- `;let Ee=wt;function ea(){return v("fx-timeline",Ee)}ea();const kt=class kt extends y{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(`
3431
+ `;let or=ei;function Ts(){return A("fx-timeline",or)}Ts();const ti=class ti extends C{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(`
2939
3432
  <div class="viewport" part="viewport">
2940
3433
  ${e}
2941
3434
  <button type="button" class="arrow prev" part="arrow" aria-label="Anterior" ${this.hasAttr("show-arrows")?"":"hidden"}>‹</button>
@@ -2944,7 +3437,7 @@
2944
3437
  <div class="indicators" part="indicators" ${this.hasAttr("show-indicators")?"":"hidden"}>
2945
3438
  ${this._slides.map((t,r)=>`<button type="button" class="dot ${r===this.active?"on":""}" data-i="${r}" aria-label="Slide ${r+1}"></button>`).join("")}
2946
3439
  </div>
2947
- `),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(i=>{i.toggleAttribute("hidden",Number(i.dataset.i)!==a)}),this.root.querySelectorAll(".dot").forEach(i=>{i.classList.toggle("on",Number(i.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)}};kt.styles=g`
3440
+ `),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 i;this.hasAttr("loop")?i=(e%r+r)%r:i=Math.min(r-1,Math.max(0,e)),String(i)!==this.getAttribute("active")&&(this.active=i,this.root.querySelectorAll(".slide").forEach(o=>{o.toggleAttribute("hidden",Number(o.dataset.i)!==i)}),this.root.querySelectorAll(".dot").forEach(o=>{o.classList.toggle("on",Number(o.dataset.i)===i)}),t&&this.dispatchEvent(new CustomEvent("change",{bubbles:!0,composed:!0,detail:{index:i}})))}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)}};ti.styles=w`
2948
3441
  :host {
2949
3442
  display: block;
2950
3443
  font-family: var(--fx-font-family);
@@ -3012,7 +3505,7 @@
3012
3505
  transition: background var(--fx-motion-duration-fast) var(--fx-motion-easing), width var(--fx-motion-duration-fast) var(--fx-motion-easing);
3013
3506
  }
3014
3507
  .dot.on { background: var(--fx-color-primary); width: 20px; }
3015
- `;let $e=kt;function ta(){return v("fx-carousel",$e)}ta();const At=class At extends y{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,i)=>{const o=this._path(i,t),s=Array.isArray(a.children)&&a.children.length>0,n=r||this._expanded.has(o),l=this._selected===o?" selected":"",u=s?`<ul class="children" ${n?"":"hidden"}>${this._renderNodes(a.children,o)}</ul>`:"";return`<li><span class="row${l}" data-path="${o}" role="treeitem" tabindex="0"><span class="caret ${s?n?"open":"":"leaf"}" data-toggle="${s?o:""}">▸</span>${a.icon?`<span class="icon">${h(a.icon)}</span>`:""}<span class="label">${h(a.label)}</span></span>${u}</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 i;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");(i=a==null?void 0:a.querySelector(":scope > ul.children"))==null||i.toggleAttribute("hidden",!r)}_findNode(e){var a;let t=this.data,r;for(const i of e.split(".")){if(r=t[Number(i)],!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()}};At.styles=g`
3508
+ `;let ar=ti;function Ms(){return A("fx-carousel",ar)}Ms();const ri=class ri extends C{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((i,o)=>{const a=this._path(o,t),s=Array.isArray(i.children)&&i.children.length>0,c=r||this._expanded.has(a),u=this._selected===a?" selected":"",p=s?`<ul class="children" ${c?"":"hidden"}>${this._renderNodes(i.children,a)}</ul>`:"";return`<li><span class="row${u}" data-path="${a}" role="treeitem" tabindex="0"><span class="caret ${s?c?"open":"":"leaf"}" data-toggle="${s?a:""}">▸</span>${i.icon?`<span class="icon">${_(i.icon)}</span>`:""}<span class="label">${_(i.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(i=>i.classList.toggle("selected",i===e)),this.dispatchEvent(new CustomEvent("select",{bubbles:!0,composed:!0,detail:{node:this._findNode(t)}}))}),e.addEventListener("keydown",i=>{i.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 i=t.closest("li");(o=i==null?void 0:i.querySelector(":scope > ul.children"))==null||o.toggleAttribute("hidden",!r)}_findNode(e){var i;let t=this.data,r;for(const o of e.split(".")){if(r=t[Number(o)],!r)return;t=(i=r.children)!=null?i:[]}return r}setAllExpanded(e){e?this.setAttribute("expand-all",""):(this.removeAttribute("expand-all"),this._expanded.clear()),this.render()}};ri.styles=w`
3016
3509
  :host {
3017
3510
  display: block;
3018
3511
  font-family: var(--fx-font-family);
@@ -3054,7 +3547,7 @@
3054
3547
  .children[hidden] { display: none; }
3055
3548
  :host([size='sm']) .row { padding: 2px var(--fx-space-xs); font-size: calc(var(--fx-font-size) - 2px); }
3056
3549
  :host([size='lg']) .row { padding: var(--fx-space-sm) var(--fx-space-md); font-size: calc(var(--fx-font-size) + 1px); }
3057
- `;let Ce=At;function ra(){return v("fx-tree",Ce)}ra();const Wt="fx-toast:removed",Zt={success:"var(--fx-color-success, #10b981)",error:"var(--fx-color-danger, #f43f5e)",info:"var(--fx-color-info, #0ea5e9)",warning:"var(--fx-color-warning, #f59e0b)"},Qt={success:"✓",error:"✕",warning:"!",info:"i"},aa='<svg viewBox="0 0 24 24" width="14" height="14" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="9" y="9" width="12" height="12" rx="2"></rect><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg>',ia=`
3550
+ `;let sr=ri;function Ds(){return A("fx-tree",sr)}Ds();const uo="fx-toast:removed",ho={success:"var(--fx-color-success, #10b981)",error:"var(--fx-color-danger, #f43f5e)",info:"var(--fx-color-info, #0ea5e9)",warning:"var(--fx-color-warning, #f59e0b)"},fo={success:"✓",error:"✕",warning:"!",info:"i"},Ns='<svg viewBox="0 0 24 24" width="14" height="14" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="9" y="9" width="12" height="12" rx="2"></rect><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg>',Is=`
3058
3551
  :host { display: contents; pointer-events: auto; }
3059
3552
  /* Modo explícito: sobrepõe os tokens herdados do tema global SOMENTE neste card. */
3060
3553
  :host([mode='dark']) {
@@ -3098,12 +3591,13 @@
3098
3591
  border-left: 4px solid var(--kind);
3099
3592
  border-radius: var(--fx-radius-md, 8px);
3100
3593
  box-shadow: var(--fx-shadow-lg, 0 10px 30px rgba(0,0,0,.14));
3101
- padding: var(--fx-space-sm, 8px) var(--fx-space-md, 12px);
3594
+ padding: var(--fx-space-xs, 8px) var(--fx-space-md, 12px);
3102
3595
  font-family: inherit;
3103
3596
  animation: fx-toast-in .25s ease;
3104
3597
  }
3105
3598
  @keyframes fx-toast-in { from { opacity: 0; transform: translateY(-6px); } }
3106
3599
  .card.leaving { opacity: 0; transition: opacity .2s ease; }
3600
+ .card.no-title { min-height: 48px; }
3107
3601
  .icon {
3108
3602
  width: 22px; height: 22px; border-radius: 50%;
3109
3603
  background: var(--kind);
@@ -3195,24 +3689,24 @@
3195
3689
  @media (prefers-reduced-motion: reduce) {
3196
3690
  .progress.run { animation-duration: 0.01ms; }
3197
3691
  }
3198
- `;class oa extends HTMLElement{constructor(){super();ar(this,A);this.timer=null,this.remaining=0,this.startedAt=0,this.hovering=!1,this.disposed=!1,this.counting=!1,this.wired=!1,this.attachShadow({mode:"open"})}static get observedAttributes(){return["kind","title","message","duration","icon","mode","progress","progress-origin"]}get progress(){return this.hasAttribute("progress")?this.getAttribute("progress")==="paused"?"paused":"always":void 0}set progress(t){t?this.setAttribute("progress",t):this.removeAttribute("progress")}get progressOrigin(){return this.getAttribute("progress-origin")==="right"?"right":"left"}set progressOrigin(t){this.setAttribute("progress-origin",t)}get safeDuration(){var r;const t=Number((r=this.getAttribute("duration"))!=null?r:"4000");return t===0?0:Math.max(Number.isNaN(t)?4e3:t,1e3)}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(){this.shadowRoot.firstChild||q(this,A,or).call(this),this.disposed=!1,q(this,A,ir).call(this);const t=this.safeDuration;this.counting=t>0,t>0&&!this.timer&&q(this,A,X).call(this,t),q(this,A,Ot).call(this),q(this,A,sr).call(this)}disconnectedCallback(){this.disposed=!0,this.timer&&clearTimeout(this.timer),this.timer=null,this.dispatchEvent(new CustomEvent(Wt,{bubbles:!1,composed:!1}))}attributeChangedCallback(t){if(t==="duration"){this.timer&&(clearTimeout(this.timer),this.timer=null);const r=this.safeDuration;this.counting=r>0,r>0&&this.isConnected&&!this.disposed&&q(this,A,X).call(this,r)}(t==="duration"||t==="progress"||t==="progress-origin"||t==="kind")&&q(this,A,Ot).call(this)}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()}}A=new WeakSet,ir=function(){this.wired||(this.wired=!0,this.addEventListener("mouseenter",()=>{this.hovering=!0,q(this,A,Y).call(this)}),this.addEventListener("mouseleave",()=>{this.hovering=!1,q(this,A,Pt).call(this)}),this.addEventListener("focusin",()=>q(this,A,Y).call(this)),this.addEventListener("focusout",()=>{this.hovering||q(this,A,Pt).call(this)}))},X=function(t){this.remaining=t,this.startedAt=Date.now(),this.timer=setTimeout(()=>{this.timer=null,this.dismiss()},t)},Y=function(){this.timer&&(clearTimeout(this.timer),this.timer=null,this.remaining=Math.max(0,this.remaining-(Date.now()-this.startedAt)))},Pt=function(){if(!(!this.counting||this.timer||this.disposed)){if(this.remaining<=0){this.dismiss();return}q(this,A,X).call(this,this.remaining)}},Ot=function(){var n;const t=(n=this.shadowRoot)==null?void 0:n.querySelector(".card");if(!t)return;const r=this.shadowRoot.querySelector(".progress"),a=this.progress,i=this.safeDuration;if(!(!!a&&i>0)){r==null||r.remove(),t.classList.remove("entering");return}r||this.shadowRoot.querySelector(".card").insertAdjacentHTML("beforeend",'<span class="progress" part="progress" aria-hidden="true"></span>');const s=this.shadowRoot.querySelector(".progress");s.style.setProperty("--toast-duration",`${i}ms`),s.style.setProperty("--toast-progress-origin",`${this.progressOrigin} center`),s.classList.remove("run"),a!=="paused"&&s.classList.add("run"),t.classList.add("entering"),requestAnimationFrame(()=>requestAnimationFrame(()=>t.classList.remove("entering")))},or=function(){var b,w,_,m;const t=this.getAttribute("kind")||"info",r=(b=this.getAttribute("title"))!=null?b:"",a=(w=this.getAttribute("message"))!=null?w:"",i=(_=Zt[t])!=null?_:Zt.info,o=this.getAttribute("icon"),s=!!o&&/^[a-z][a-z0-9_]*$/.test(o);s&&Promise.resolve().then(()=>B);const n=s?o:(m=Qt[t])!=null?m:Qt.info;this.shadowRoot.innerHTML=`
3199
- <style>${ia}</style>
3200
- <div class="card" style="--kind:${i}" role="status" part="card">
3201
- <span class="icon${s?" fx-icon":""}">${n}</span>
3692
+ `;class Fs extends HTMLElement{constructor(){super();q(this,I);this.timer=null,this.remaining=0,this.startedAt=0,this.hovering=!1,this.disposed=!1,this.counting=!1,this.wired=!1,this.attachShadow({mode:"open"})}static get observedAttributes(){return["kind","title","message","duration","icon","mode","progress","progress-origin"]}get progress(){return this.hasAttribute("progress")?this.getAttribute("progress")==="paused"?"paused":"always":void 0}set progress(t){t?this.setAttribute("progress",t):this.removeAttribute("progress")}get progressOrigin(){return this.getAttribute("progress-origin")==="right"?"right":"left"}set progressOrigin(t){this.setAttribute("progress-origin",t)}get safeDuration(){var r;const t=Number((r=this.getAttribute("duration"))!=null?r:"4000");return t===0?0:Math.max(Number.isNaN(t)?4e3:t,1e3)}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(){this.shadowRoot.firstChild||d(this,I,Yo).call(this),this.disposed=!1,d(this,I,Xo).call(this);const t=this.safeDuration;this.counting=t>0,t>0&&!this.timer&&d(this,I,ct).call(this,t),d(this,I,Ri).call(this),d(this,I,Go).call(this)}disconnectedCallback(){this.disposed=!0,this.timer&&clearTimeout(this.timer),this.timer=null,this.dispatchEvent(new CustomEvent(uo,{bubbles:!1,composed:!1}))}attributeChangedCallback(t){if(t==="duration"){this.timer&&(clearTimeout(this.timer),this.timer=null);const r=this.safeDuration;this.counting=r>0,r>0&&this.isConnected&&!this.disposed&&d(this,I,ct).call(this,r)}(t==="duration"||t==="progress"||t==="progress-origin"||t==="kind")&&d(this,I,Ri).call(this)}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,Xo=function(){this.wired||(this.wired=!0,this.addEventListener("mouseenter",()=>{this.hovering=!0,d(this,I,dt).call(this)}),this.addEventListener("mouseleave",()=>{this.hovering=!1,d(this,I,ji).call(this)}),this.addEventListener("focusin",()=>d(this,I,dt).call(this)),this.addEventListener("focusout",()=>{this.hovering||d(this,I,ji).call(this)}))},ct=function(t){this.remaining=t,this.startedAt=Date.now(),this.timer=setTimeout(()=>{this.timer=null,this.dismiss()},t)},dt=function(){this.timer&&(clearTimeout(this.timer),this.timer=null,this.remaining=Math.max(0,this.remaining-(Date.now()-this.startedAt)))},ji=function(){if(!(!this.counting||this.timer||this.disposed)){if(this.remaining<=0){this.dismiss();return}d(this,I,ct).call(this,this.remaining)}},Ri=function(){var c;const t=(c=this.shadowRoot)==null?void 0:c.querySelector(".card");if(!t)return;const r=this.shadowRoot.querySelector(".progress"),i=this.progress,o=this.safeDuration;if(!(!!i&&o>0)){r==null||r.remove(),t.classList.remove("entering");return}r||this.shadowRoot.querySelector(".card").insertAdjacentHTML("beforeend",'<span class="progress" part="progress" aria-hidden="true"></span>');const s=this.shadowRoot.querySelector(".progress");s.style.setProperty("--toast-duration",`${o}ms`),s.style.setProperty("--toast-progress-origin",`${this.progressOrigin} center`),s.classList.remove("run"),i!=="paused"&&s.classList.add("run"),t.classList.add("entering"),requestAnimationFrame(()=>requestAnimationFrame(()=>t.classList.remove("entering")))},Yo=function(){var y,x,b,v;const t=this.getAttribute("kind")||"info",r=(y=this.getAttribute("title"))!=null?y:"",i=(x=this.getAttribute("message"))!=null?x:"",o=(b=ho[t])!=null?b:ho.info,a=this.getAttribute("icon"),s=!!a&&/^[a-z][a-z0-9_]*$/.test(a);s&&Promise.resolve().then(()=>Ye);const c=s?a:(v=fo[t])!=null?v:fo.info;this.shadowRoot.innerHTML=`
3693
+ <style>${Is}</style>
3694
+ <div class="card${r?"":" no-title"}" style="--kind:${o}" role="status" part="card">
3695
+ <span class="icon${s?" fx-icon":""}">${c}</span>
3202
3696
  <div class="body">
3203
3697
  ${r?'<div class="title" part="title"></div>':""}
3204
- ${a?'<div class="msg" part="message"></div>':""}
3205
- ${a?'<button class="more" part="more" hidden>Ver mais</button>':""}
3698
+ ${i?'<div class="msg" part="message"></div>':""}
3699
+ ${i?'<button class="more" part="more" hidden>Ver mais</button>':""}
3206
3700
  </div>
3207
3701
  <div class="actions">
3208
- ${a?`<button class="copy" part="copy" hidden aria-label="Copiar mensagem" title="Copiar mensagem">${aa}</button>`:""}
3702
+ ${i?`<button class="copy" part="copy" hidden aria-label="Copiar mensagem" title="Copiar mensagem">${Ns}</button>`:""}
3209
3703
  <button class="close" aria-label="Fechar" title="Fechar">✕</button>
3210
3704
  </div>
3211
- </div>`;const l=this.shadowRoot.querySelector(".title"),u=this.shadowRoot.querySelector(".msg");l&&(l.textContent=r),u&&(u.textContent=a,u.title=a);const f=this.shadowRoot.querySelector(".card"),p=this.shadowRoot.querySelector(".more"),d=this.shadowRoot.querySelector(".copy");p==null||p.addEventListener("click",()=>{const k=f.classList.toggle("expanded");p.textContent=k?"Ver menos":"Ver mais",d&&(d.hidden=!k),k&&q(this,A,Y).call(this)}),d==null||d.addEventListener("click",k=>{var M;const z=k.currentTarget,x=[r,a].filter(Boolean).join(`
3212
- `);(M=navigator.clipboard)==null||M.writeText(x).catch(()=>{}),z.classList.add("done"),z.title="Copiado!",setTimeout(()=>{z.classList.remove("done"),z.title="Copiar mensagem"},1200)}),this.shadowRoot.querySelector(".close").addEventListener("click",()=>this.dismiss())},sr=function(){var i,o,s;const t=(i=this.shadowRoot)==null?void 0:i.querySelector(".card"),r=(o=this.shadowRoot)==null?void 0:o.querySelector(".more"),a=(s=this.shadowRoot)==null?void 0:s.querySelector(".msg");if(!(!t||!r||!a)){if(t.classList.contains("expanded")){r.hidden=!1;return}r.hidden=!(a.scrollHeight-a.clientHeight>1)}};function sa(c){let e=document.querySelector(`[data-fx-toast-region="${c}"]`);if(!e){e=document.createElement("div"),e.setAttribute("data-fx-toast-region",c);const[t,r]=c.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 na{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,u,f;const i=++this.seq,o=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),o&&n.setAttribute("message",o),n.setAttribute("position",(l=s.position)!=null?l:"top-right"),n.setAttribute("duration",String((u=s.duration)!=null?u:4e3)),s.mode&&n.setAttribute("mode",s.mode),s.progress&&n.setAttribute("progress",s.progress),s.progressOrigin&&n.setAttribute("progress-origin",s.progressOrigin),sa((f=s.position)!=null?f:"top-right").appendChild(n),n.addEventListener(Wt,()=>{this.map.get(i)===n&&this.map.delete(i)}),this.map.set(i,n),i}close(e){var t;(t=this.map.get(e))==null||t.dismiss(),this.map.delete(e)}}const la=new na;globalThis.FenixToast=la;function ca(){customElements.get("fx-toast")||customElements.define("fx-toast",oa)}ca();const zt=class zt extends y{static get observedAttributes(){return["content","position"]}render(){const e=this.getAttr("content");this.setTemplate(`
3705
+ </div>`;const u=this.shadowRoot.querySelector(".title"),p=this.shadowRoot.querySelector(".msg");u&&(u.textContent=r),p&&(p.textContent=i,p.title=i);const h=this.shadowRoot.querySelector(".card"),m=this.shadowRoot.querySelector(".more"),f=this.shadowRoot.querySelector(".copy");m==null||m.addEventListener("click",()=>{const z=h.classList.toggle("expanded");m.textContent=z?"Ver menos":"Ver mais",f&&(f.hidden=!z),z&&d(this,I,dt).call(this)}),f==null||f.addEventListener("click",z=>{var N;const E=z.currentTarget,S=[r,i].filter(Boolean).join(`
3706
+ `);(N=navigator.clipboard)==null||N.writeText(S).catch(()=>{}),E.classList.add("done"),E.title="Copiado!",setTimeout(()=>{E.classList.remove("done"),E.title="Copiar mensagem"},1200)}),this.shadowRoot.querySelector(".close").addEventListener("click",()=>this.dismiss())},Go=function(){var o,a,s;const t=(o=this.shadowRoot)==null?void 0:o.querySelector(".card"),r=(a=this.shadowRoot)==null?void 0:a.querySelector(".more"),i=(s=this.shadowRoot)==null?void 0:s.querySelector(".msg");if(!(!t||!r||!i)){if(t.classList.contains("expanded")){r.hidden=!1;return}r.hidden=!(i.scrollHeight-i.clientHeight>1)}};function js(l){let e=document.querySelector(`[data-fx-toast-region="${l}"]`);if(!e){e=document.createElement("div"),e.setAttribute("data-fx-toast-region",l);const[t,r]=l.split("-"),i=e.style;i.position="fixed",i[t]="16px",r==="center"?(i.left="50%",i.transform="translateX(-50%)"):i[r]="16px",i.display="flex",i.flexDirection="column",i.gap="8px",i.zIndex="1100",i.pointerEvents="none",document.body.appendChild(e)}return e}class Rs{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,i){var u,p,h;const o=++this.seq,a=typeof r=="string"?r:r==null?void 0:r.message,s={...typeof r=="object"&&r?r:void 0,...i},c=document.createElement("fx-toast");return c.setAttribute("kind",e),c.setAttribute("title",t),a&&c.setAttribute("message",a),c.setAttribute("position",(u=s.position)!=null?u:"top-right"),c.setAttribute("duration",String((p=s.duration)!=null?p:4e3)),s.mode&&c.setAttribute("mode",s.mode),s.progress&&c.setAttribute("progress",s.progress),s.progressOrigin&&c.setAttribute("progress-origin",s.progressOrigin),js((h=s.position)!=null?h:"top-right").appendChild(c),c.addEventListener(uo,()=>{this.map.get(o)===c&&this.map.delete(o)}),this.map.set(o,c),o}close(e){var t;(t=this.map.get(e))==null||t.dismiss(),this.map.delete(e)}}const Vs=new Rs;globalThis.FenixToast=Vs;function Os(){customElements.get("fx-toast")||customElements.define("fx-toast",Fs)}Os();const ii=class ii extends C{static get observedAttributes(){return["content","position"]}render(){const e=this.getAttr("content");this.setTemplate(`
3213
3707
  <slot></slot>
3214
- <span class="bubble" part="bubble" role="tooltip">${h(e)}</span>
3215
- `)}};zt.styles=g`
3708
+ <span class="bubble" part="bubble" role="tooltip">${_(e)}</span>
3709
+ `)}};ii.styles=w`
3216
3710
  :host {
3217
3711
  position: relative;
3218
3712
  display: inline-flex;
@@ -3273,14 +3767,14 @@
3273
3767
  top: 50%; left: auto; right: 100%; transform: translateY(-50%);
3274
3768
  border: 5px solid transparent; border-right-color: var(--fx-text-default, #1e293b);
3275
3769
  }
3276
- `;let Le=zt;function da(){return v("fx-tooltip",Le)}da();const St=class St extends y{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(`
3770
+ `;let nr=ii;function Ps(){return A("fx-tooltip",nr)}Ps();const oi=class oi extends C{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(`
3277
3771
  <div class="list" role="tablist">
3278
- ${e.map(a=>{var s,n,l;const i=(s=a.getAttribute("tab"))!=null?s:"",o=a.hasAttribute("disabled");return`<button type="button" class="tab" role="tab" part="tab"
3279
- data-tab="${h(i)}" aria-selected="${i===t}"
3280
- ${o?'aria-disabled="true" data-disabled="true"':""}>${h((l=(n=a.textContent)==null?void 0:n.trim())!=null?l:"")}</button>`}).join("")}
3772
+ ${e.map(i=>{var s,c,u;const o=(s=i.getAttribute("tab"))!=null?s:"",a=i.hasAttribute("disabled");return`<button type="button" class="tab" role="tab" part="tab"
3773
+ data-tab="${_(o)}" aria-selected="${o===t}"
3774
+ ${a?'aria-disabled="true" data-disabled="true"':""}>${_((u=(c=i.textContent)==null?void 0:c.trim())!=null?u:"")}</button>`}).join("")}
3281
3775
  </div>
3282
3776
  <slot></slot>
3283
- `),this.panels.forEach(a=>{a.getAttribute("tab")===t?a.removeAttribute("hidden"):a.setAttribute("hidden","")}),this.root.querySelectorAll(".tab").forEach(a=>{a.addEventListener("click",()=>{var i;a.hasAttribute("data-disabled")||(this.value=(i=a.dataset.tab)!=null?i:"",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}};St.styles=g`
3777
+ `),this.panels.forEach(i=>{i.getAttribute("tab")===t?i.removeAttribute("hidden"):i.setAttribute("hidden","")}),this.root.querySelectorAll(".tab").forEach(i=>{i.addEventListener("click",()=>{var o;i.hasAttribute("data-disabled")||(this.value=(o=i.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}};oi.styles=w`
3284
3778
  :host {
3285
3779
  display: block;
3286
3780
  font-family: var(--fx-font-family);
@@ -3331,19 +3825,19 @@
3331
3825
  ::slotted(fx-tab) {
3332
3826
  display: none !important;
3333
3827
  }
3334
- `;let qe=St;const Et=class Et extends y{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}}};Et.styles=g`
3828
+ `;let lr=oi;const ai=class ai extends C{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 i=this.previousElementSibling;for(;i;){if(i.matches("fx-tabs"))return i;i=i.previousElementSibling}return null})(),r=t&&t.getAttribute("value")||"";this.getAttribute("tab")!==r&&this.setAttribute("hidden",""),this._initialized=!0}}};ai.styles=w`
3335
3829
  :host { display: block; padding: var(--fx-space-lg) 0; font-family: var(--fx-font-family); color: var(--fx-text-default); }
3336
3830
  :host([hidden]) { display: none; }
3337
- `;let Te=Et;function ha(){return v("fx-tabs",qe)}function ua(){return v("fx-tab-panel",Te)}ha(),ua();const $t=class $t extends y{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(`
3338
- ${r?`<div class="caption" part="caption">${h(r)}</div>`:""}
3831
+ `;let cr=ai;function Bs(){return A("fx-tabs",lr)}function Hs(){return A("fx-tab-panel",cr)}Bs(),Hs();const si=class si extends C{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"),i=!t&&!this.hasAttr("hide-label");this.setTemplate(`
3832
+ ${r?`<div class="caption" part="caption">${_(r)}</div>`:""}
3339
3833
  <div class="row">
3340
3834
  <div class="track" part="track" role="progressbar"
3341
3835
  aria-valuenow="${e}" aria-valuemin="0" aria-valuemax="100">
3342
3836
  <div class="bar" part="bar" style="width: ${t?"40%":`${e}%`}"></div>
3343
3837
  </div>
3344
- ${a?`<span class="pct">${e}%</span>`:""}
3838
+ ${i?`<span class="pct">${e}%</span>`:""}
3345
3839
  </div>
3346
- `),!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=g`
3840
+ `),!this._done&&!this.hasAttr("indeterminate")&&e>=100&&(this._done=!0,this.dispatchEvent(new CustomEvent("complete",{bubbles:!0,composed:!0}))),e<100&&(this._done=!1)}};si.styles=w`
3347
3841
  :host {
3348
3842
  display: block;
3349
3843
  font-family: var(--fx-font-family);
@@ -3393,9 +3887,9 @@
3393
3887
  color: var(--fx-text-muted);
3394
3888
  margin-bottom: var(--fx-space-xs);
3395
3889
  }
3396
- `;let De=$t;function pa(){return v("fx-progress",De)}pa();const Ct=class Ct extends y{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 o=r||t||"40px",s=a.includes("height")?a:`width:${o};height:${o};`;this.setTemplate(`<div class="bone circle" part="bone" style="${s}"></div>`);return}if(e==="rect"){const o=a||"width:100%;height:80px;";this.setTemplate(`<div class="bone" part="bone" style="${o}"></div>`);return}const i=Number(this.getAttr("lines","3"))||3;this.setTemplate(`
3397
- ${Array.from({length:i},()=>'<div class="bone text"></div>').join("")}
3398
- `)}};Ct.styles=g`
3890
+ `;let dr=si;function Ks(){return A("fx-progress",dr)}Ks();const ni=class ni extends C{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")),i=`${t?`width:${t};`:""}${r?`height:${r};`:""}`;if(e==="circle"){const a=r||t||"40px",s=i.includes("height")?i:`width:${a};height:${a};`;this.setTemplate(`<div class="bone circle" part="bone" style="${s}"></div>`);return}if(e==="rect"){const a=i||"width:100%;height:80px;";this.setTemplate(`<div class="bone" part="bone" style="${a}"></div>`);return}const o=Number(this.getAttr("lines","3"))||3;this.setTemplate(`
3891
+ ${Array.from({length:o},()=>'<div class="bone text"></div>').join("")}
3892
+ `)}};ni.styles=w`
3399
3893
  :host { display: block; width: 100%; min-width: 80px; font-family: var(--fx-font-family); }
3400
3894
  .bone {
3401
3895
  background: linear-gradient(
@@ -3413,16 +3907,16 @@
3413
3907
  .text { height: 12px; width: 100%; margin-bottom: var(--fx-space-sm); }
3414
3908
  .text:last-of-type { width: 60%; margin-bottom: 0; }
3415
3909
  .circle { border-radius: var(--fx-radius-full); }
3416
- `;let Me=Ct;function fa(){return v("fx-skeleton",Me)}fa();const Lt=class Lt extends y{static get observedAttributes(){return["variant","title","dismissible","icon"]}render(){var o,s;const e=this.getAttr("variant","info"),t=this.getAttr("title"),r=this.getAttr("icon");I(r)&&Promise.resolve().then(()=>B);const i=r?`<span class="icon${I(r)?" fx-icon":""}" part="icon" aria-hidden="true">${h(r)}</span>`:`<span class="icon">${(o={info:"ℹ",success:"✓",warning:"⚠",danger:"✕"}[e])!=null?o:"ℹ"}</span>`;this.setTemplate(`
3910
+ `;let ur=ni;function Us(){return A("fx-skeleton",ur)}Us();const li=class li extends C{static get observedAttributes(){return["variant","title","dismissible","icon"]}render(){var a,s;const e=this.getAttr("variant","info"),t=this.getAttr("title"),r=this.getAttr("icon");be(r)&&Promise.resolve().then(()=>Ye);const o=r?`<span class="icon${be(r)?" fx-icon":""}" part="icon" aria-hidden="true">${_(r)}</span>`:`<span class="icon">${(a={info:"ℹ",success:"✓",warning:"⚠",danger:"✕"}[e])!=null?a:"ℹ"}</span>`;this.setTemplate(`
3417
3911
  <div class="alert" part="alert" role="alert">
3418
- ${i}
3912
+ ${o}
3419
3913
  <div class="content">
3420
- ${t?`<div class="title">${h(t)}</div>`:""}
3914
+ ${t?`<div class="title">${_(t)}</div>`:""}
3421
3915
  <div class="body"><slot></slot></div>
3422
3916
  </div>
3423
3917
  ${this.hasAttr("dismissible")?'<button type="button" class="close" aria-label="Fechar">×</button>':""}
3424
3918
  </div>
3425
- `),(s=this.root.querySelector(".close"))==null||s.addEventListener("click",()=>{this.hidden=!0,this.dispatchEvent(new CustomEvent("dismiss",{bubbles:!0,composed:!0}))})}};Lt.styles=g`
3919
+ `),(s=this.root.querySelector(".close"))==null||s.addEventListener("click",()=>{this.hidden=!0,this.dispatchEvent(new CustomEvent("dismiss",{bubbles:!0,composed:!0}))})}};li.styles=w`
3426
3920
  :host {
3427
3921
  display: block;
3428
3922
  font-family: var(--fx-font-family);
@@ -3446,7 +3940,7 @@
3446
3940
  }
3447
3941
  :host([hidden]) { display: none; }
3448
3942
  .icon { color: var(--_color); font-weight: bold; line-height: 1.4; }
3449
- ${C}
3943
+ ${B}
3450
3944
  .icon.fx-icon { font-size: 20px; line-height: 1.2; }
3451
3945
  .content { flex: 1; }
3452
3946
  .title { font-weight: 600; }
@@ -3457,16 +3951,16 @@
3457
3951
  line-height: 1; padding: 0; border-radius: var(--fx-radius-full);
3458
3952
  }
3459
3953
  .close:hover { color: var(--_color); }
3460
- `;let Ie=Lt;function _a(){return v("fx-alert",Ie)}_a();const qt=class qt extends y{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(`
3954
+ `;let hr=li;function Ws(){return A("fx-alert",hr)}Ws();const ci=class ci extends C{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(`
3461
3955
  <span class="trigger" role="button" tabindex="0" part="trigger"
3462
3956
  aria-haspopup="menu" aria-expanded="${this.open}">
3463
- ${h(e)} ▾
3957
+ ${_(e)} ▾
3464
3958
  </span>
3465
3959
  <div class="panel" role="menu" part="panel">
3466
3960
  ${t.length?"":'<div class="empty">Nenhuma ação</div>'}
3467
3961
  <slot></slot>
3468
3962
  </div>
3469
- `);const r=this.root.querySelector(".trigger");r==null||r.addEventListener("click",a=>{a.stopPropagation(),document.querySelectorAll("fx-dropdown[open]").forEach(i=>{i!==this&&(i.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 i;return((i=a.tagName)==null?void 0:i.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}};qt.styles=g`
3963
+ `);const r=this.root.querySelector(".trigger");r==null||r.addEventListener("click",i=>{i.stopPropagation(),document.querySelectorAll("fx-dropdown[open]").forEach(o=>{o!==this&&(o.open=!1)}),this.open=!this.open}),r==null||r.addEventListener("keydown",i=>{i.key==="Enter"||i.key===" "?(i.preventDefault(),this.open=!this.open):i.key==="Escape"&&(this.open=!1)}),this._attachDelegatedListeners()}_attachDelegatedListeners(){this._listenersAttached||(this._listenersAttached=!0,this.addEventListener("click",e=>{var r;const t=e.composedPath().find(i=>{var o;return((o=i.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}};ci.styles=w`
3470
3964
  :host {
3471
3965
  position: relative;
3472
3966
  display: inline-block;
@@ -3499,7 +3993,7 @@
3499
3993
  :host(:not([position])) .panel { left: 0; right: auto; }
3500
3994
  ::slotted(fx-dropdown-item) { display: block; }
3501
3995
  .empty { color: var(--fx-text-muted); font-size: calc(var(--fx-font-size) - 2px); padding: var(--fx-space-sm); }
3502
- `;let Fe=qt;const Tt=class Tt extends y{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>')}};Tt.styles=g`
3996
+ `;let fr=ci;const di=class di extends C{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>')}};di.styles=w`
3503
3997
  :host {
3504
3998
  display: block;
3505
3999
  font-family: var(--fx-font-family);
@@ -3520,13 +4014,13 @@
3520
4014
  transition: background var(--fx-motion-duration-fast) var(--fx-motion-easing);
3521
4015
  }
3522
4016
  .item:hover { background: color-mix(in srgb, var(--fx-color-primary) 12%, var(--fx-surface-background)); color: var(--fx-color-primary); }
3523
- `;let je=Tt;function ma(){return v("fx-dropdown",Fe)}function ga(){return v("fx-dropdown-item",je)}ma(),ga();const Dt=class Dt extends y{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(`
4017
+ `;let pr=di;function Xs(){return A("fx-dropdown",fr)}function Ys(){return A("fx-dropdown-item",pr)}Xs(),Ys();const ui=class ui extends C{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(`
3524
4018
  <div class="overlay" part="overlay"></div>
3525
- <div class="panel" part="panel" role="dialog" aria-modal="true" aria-label="${h(e||"Drawer")}" tabindex="-1">
3526
- ${e!==""?`<div class="header" part="header"><span class="title">${h(e)}</span><button type="button" class="close" part="close" aria-label="Fechar">✕</button></div>`:""}
4019
+ <div class="panel" part="panel" role="dialog" aria-modal="true" aria-label="${_(e||"Drawer")}" tabindex="-1">
4020
+ ${e!==""?`<div class="header" part="header"><span class="title">${_(e)}</span><button type="button" class="close" part="close" aria-label="Fechar">✕</button></div>`:""}
3527
4021
  <div class="body" part="body"><slot></slot></div>
3528
4022
  </div>
3529
- `),(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],i=r[r.length-1],o=this.root.activeElement;e.shiftKey&&(o===a||o===t)?(e.preventDefault(),i.focus()):!e.shiftKey&&o===i&&(e.preventDefault(),a.focus())}_restoreFocus(){var e;(e=this._previouslyFocused)!=null&&e.isConnected&&this._previouslyFocused.focus(),this._previouslyFocused=null}};Dt.styles=g`
4023
+ `),(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 i;this._previouslyFocused===null&&(this._previouslyFocused=document.activeElement),(i=this.root.querySelector(".panel"))==null||i.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 i=r[0],o=r[r.length-1],a=this.root.activeElement;e.shiftKey&&(a===i||a===t)?(e.preventDefault(),o.focus()):!e.shiftKey&&a===o&&(e.preventDefault(),i.focus())}_restoreFocus(){var e;(e=this._previouslyFocused)!=null&&e.isConnected&&this._previouslyFocused.focus(),this._previouslyFocused=null}};ui.styles=w`
3530
4024
  :host {
3531
4025
  display: contents;
3532
4026
  font-family: var(--fx-font-family);
@@ -3648,21 +4142,21 @@
3648
4142
  padding: var(--fx-space-md);
3649
4143
  flex: 1;
3650
4144
  }
3651
- `;let Ne=Dt;function ba(){return v("fx-drawer",Ne)}ba();const Mt=class Mt extends y{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))}connectedCallback(){O(),super.connectedCallback()}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 i=s(t,this.rows),o=Math.min(t*this.rows,this.total);this.setTemplate(`
3652
- <span class="info">${this.total?`${i}-${o} de ${this.total}`:"0 itens"}</span>
3653
- <button type="button" class="nav" part="first" aria-label="Primeira página" data-go="1" ${t<=1?"disabled":""}>${L("first_page")}</button>
3654
- <button type="button" class="nav" part="prev" aria-label="Página anterior" data-go="${t-1}" ${t<=1?"disabled":""}>${L("navigate_before")}</button>
3655
- ${a[0]!==1&&e>5?'<button type="button" class="nav" data-go="1">1</button>':""}
3656
- ${a.map(l=>`<button type="button" class="nav ${l===t?"active":""}" data-go="${l}">${l}</button>`).join("")}
3657
- ${a[a.length-1]!==e&&e>5?`<button type="button" class="nav" data-go="${e}">${e}</button>`:""}
3658
- <button type="button" class="nav" part="next" aria-label="Próxima página" data-go="${t+1}" ${t>=e?"disabled":""}>${L("navigate_next")}</button>
3659
- <button type="button" class="nav" part="last" aria-label="Última página" data-go="${e}" ${t>=e?"disabled":""}>${L("last_page")}</button>
4145
+ `;let mr=ui;function Gs(){return A("fx-drawer",mr)}Gs();const hi=class hi extends C{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))}connectedCallback(){Te(),super.connectedCallback()}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(u=>u.trim()).filter(Boolean),i=[];for(let u=Math.max(1,t-2);u<=Math.min(e,t+2);u++)i.push(u);const o=s(t,this.rows),a=Math.min(t*this.rows,this.total);this.setTemplate(`
4146
+ <span class="info">${this.total?`${o}-${a} de ${this.total}`:"0 itens"}</span>
4147
+ <button type="button" class="nav" part="first" aria-label="Primeira página" data-go="1" ${t<=1?"disabled":""}>${P("first_page")}</button>
4148
+ <button type="button" class="nav" part="prev" aria-label="Página anterior" data-go="${t-1}" ${t<=1?"disabled":""}>${P("navigate_before")}</button>
4149
+ ${i[0]!==1&&e>5?'<button type="button" class="nav" data-go="1">1</button>':""}
4150
+ ${i.map(u=>`<button type="button" class="nav ${u===t?"active":""}" data-go="${u}">${u}</button>`).join("")}
4151
+ ${i[i.length-1]!==e&&e>5?`<button type="button" class="nav" data-go="${e}">${e}</button>`:""}
4152
+ <button type="button" class="nav" part="next" aria-label="Próxima página" data-go="${t+1}" ${t>=e?"disabled":""}>${P("navigate_next")}</button>
4153
+ <button type="button" class="nav" part="last" aria-label="Última página" data-go="${e}" ${t>=e?"disabled":""}>${P("last_page")}</button>
3660
4154
  ${r.length?`
3661
4155
  <fx-select class="rows-sel" part="rows" size="sm" value="${this.rows}" aria-label="Itens por página">
3662
- ${r.map(l=>`<option value="${h(l)}">${h(l)}</option>`).join("")}
4156
+ ${r.map(u=>`<option value="${_(u)}">${_(u)}</option>`).join("")}
3663
4157
  </fx-select>`:""}
3664
- `);function s(l,u){return(l-1)*u+1}this.root.querySelectorAll(".nav[data-go]").forEach(l=>{l.addEventListener("click",()=>{const u=Number(l.dataset.go);u>=1&&u<=e&&u!==t&&(this.page=u,this.emit())})});const n=this.root.querySelector("fx-select.rows-sel");n==null||n.addEventListener("change",l=>{var f;const u=Number((f=l.detail)==null?void 0:f.value);!u||u===this.rows||(this.rows=u,this.page=1,this.emit())})}emit(){this.dispatchEvent(new CustomEvent("page-change",{bubbles:!0,composed:!0,detail:{page:this.page,rows:this.rows}}))}};Mt.styles=g`
3665
- ${C}
4158
+ `);function s(u,p){return(u-1)*p+1}this.root.querySelectorAll(".nav[data-go]").forEach(u=>{u.addEventListener("click",()=>{const p=Number(u.dataset.go);p>=1&&p<=e&&p!==t&&(this.page=p,this.emit())})});const c=this.root.querySelector("fx-select.rows-sel");c==null||c.addEventListener("change",u=>{var h;const p=Number((h=u.detail)==null?void 0:h.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}}))}};hi.styles=w`
4159
+ ${B}
3666
4160
  :host {
3667
4161
  display: flex;
3668
4162
  align-items: center;
@@ -3712,11 +4206,11 @@
3712
4206
  border-radius: var(--fx-radius-sm) !important;
3713
4207
  font-size: calc(var(--fx-font-size) - 2px) !important;
3714
4208
  }
3715
- `;let Ve=Mt;function va(){return v("fx-pagination",Ve)}va();const It=class It extends S{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),this.syncInternalControl(),this.updateFormValue()}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(`
4209
+ `;let _r=hi;function Js(){return A("fx-pagination",_r)}Js();const fi=class fi extends R{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),this.syncInternalControl(),this.updateFormValue()}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(`
3716
4210
  <input class="field" part="input" type="text"
3717
- ${e?`placeholder="${h(e)}"`:""} autocomplete="off"/>
4211
+ ${e?`placeholder="${_(e)}"`:""} autocomplete="off"/>
3718
4212
  <div class="list" part="list" role="listbox"></div>
3719
- `);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,i=()=>{if(!r)return;const o=t.value.toLowerCase(),s=this.source.filter(n=>n.toLowerCase().includes(o)).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.emitValueEvents(),this.dispatchEvent(new CustomEvent("select",{bubbles:!0,composed:!0,detail:{value:this.value}}))})}),this.toggleAttr("open",!0)};t.addEventListener("input",()=>{this.value=t.value,this.emitValueEvents(),i()}),t.addEventListener("focus",()=>{t.value.length>=a&&i()}),t.addEventListener("keydown",o=>{var u;if(o.key==="Escape"){this.toggleAttr("open",!1);return}if(o.key==="Enter"&&!o.isComposing&&!this.hasAttr("open")&&this.form){o.preventDefault(),this.form.requestSubmit();return}if(o.key!=="ArrowDown"&&o.key!=="ArrowUp")return;o.preventDefault(),this.hasAttr("open")||i();const s=Array.from(this.root.querySelectorAll(".opt"));if(!s.length)return;const n=s.indexOf(this.root.activeElement),l=o.key==="ArrowDown"?n===-1?0:Math.min(n+1,s.length-1):n===-1?s.length-1:Math.max(n-1,0);(u=s[l])==null||u.focus()}),this.updateFormValue()}syncInternalControl(){const e=this.root.querySelector(".field"),t=this.getAttr("value");e&&e.value!==t&&(e.value=t)}};It.styles=g`
4213
+ `);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"),i=Number(this.getAttr("min-chars","1"))||1,o=()=>{if(!r)return;const a=t.value.toLowerCase(),s=this.source.filter(c=>c.toLowerCase().includes(a)).slice(0,8);r.innerHTML=s.length?s.map(c=>`<button type="button" class="opt" role="option" data-v="${_(c)}">${_(c)}</button>`).join(""):'<div class="empty">Nenhum resultado</div>',r.querySelectorAll(".opt").forEach(c=>{c.addEventListener("click",()=>{var u;t.value=(u=c.dataset.v)!=null?u:"",this.value=t.value,this.toggleAttr("open",!1),this.emitValueEvents(),this.dispatchEvent(new CustomEvent("select",{bubbles:!0,composed:!0,detail:{value:this.value}}))})}),this.toggleAttr("open",!0)};t.addEventListener("input",()=>{this.value=t.value,this.emitValueEvents(),o()}),t.addEventListener("focus",()=>{t.value.length>=i&&o()}),t.addEventListener("keydown",a=>{var p;if(a.key==="Escape"){this.toggleAttr("open",!1);return}if(a.key==="Enter"&&!a.isComposing&&!this.hasAttr("open")&&this.form){a.preventDefault(),this.form.requestSubmit();return}if(a.key!=="ArrowDown"&&a.key!=="ArrowUp")return;a.preventDefault(),this.hasAttr("open")||o();const s=Array.from(this.root.querySelectorAll(".opt"));if(!s.length)return;const c=s.indexOf(this.root.activeElement),u=a.key==="ArrowDown"?c===-1?0:Math.min(c+1,s.length-1):c===-1?s.length-1:Math.max(c-1,0);(p=s[u])==null||p.focus()}),this.updateFormValue()}syncInternalControl(){const e=this.root.querySelector(".field"),t=this.getAttr("value");e&&e.value!==t&&(e.value=t)}};fi.styles=w`
3720
4214
  :host {
3721
4215
  position: relative;
3722
4216
  display: inline-block;
@@ -3801,22 +4295,22 @@
3801
4295
  }
3802
4296
  .opt:hover { background: color-mix(in srgb, var(--fx-color-primary) 12%, var(--fx-surface-background)); color: var(--fx-color-primary); }
3803
4297
  .empty { color: var(--fx-text-muted); font-size: calc(var(--fx-font-size) - 2px); padding: var(--fx-space-sm) var(--fx-space-md); }
3804
- `;let Re=It;function xa(){return v("fx-autocomplete",Re)}xa();const Ft=class Ft extends S{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,i=a>0?(r-e)/a:0,o=this.getSizeNum(),s=this.strokeWidth,n=(o-s)/2,l=2*Math.PI*n,u=l*(1-i),f=this.valueColor?this.safeColor(this.valueColor):"",p=this.rangeColor?this.safeColor(this.rangeColor):"",d=f?`--_value-color: ${f};`:"",b=p?`--_range-color: ${p};`:"",w=this.valueTemplate.replace("{value}",String(Math.round(r)));this.setTemplate(`
4298
+ `;let gr=fi;function Zs(){return A("fx-autocomplete",gr)}Zs();const pi=class pi extends R{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),i=t-e,o=i>0?(r-e)/i:0,a=this.getSizeNum(),s=this.strokeWidth,c=(a-s)/2,u=2*Math.PI*c,p=u*(1-o),h=this.valueColor?this.safeColor(this.valueColor):"",m=this.rangeColor?this.safeColor(this.rangeColor):"",f=h?`--_value-color: ${h};`:"",y=m?`--_range-color: ${m};`:"",x=this.valueTemplate.replace("{value}",String(Math.round(r)));this.setTemplate(`
3805
4299
  <div class="knob" part="knob" tabindex="${this.disabled?"-1":"0"}"
3806
4300
  role="slider" aria-valuenow="${r}" aria-valuemin="${e}" aria-valuemax="${t}"
3807
4301
  aria-readonly="${this.readonly}" aria-disabled="${this.disabled}"
3808
- style="${d}${b}">
3809
- <svg viewBox="0 0 ${o} ${o}" part="svg">
4302
+ style="${f}${y}">
4303
+ <svg viewBox="0 0 ${a} ${a}" part="svg">
3810
4304
  <circle class="track" part="track"
3811
- cx="${o/2}" cy="${o/2}" r="${n}" />
4305
+ cx="${a/2}" cy="${a/2}" r="${c}" />
3812
4306
  <circle class="value" part="value"
3813
- cx="${o/2}" cy="${o/2}" r="${n}"
3814
- stroke-dasharray="${l}"
3815
- stroke-dashoffset="${u}" />
4307
+ cx="${a/2}" cy="${a/2}" r="${c}"
4308
+ stroke-dasharray="${u}"
4309
+ stroke-dashoffset="${p}" />
3816
4310
  </svg>
3817
- <div class="label" part="label">${h(w)}</div>
4311
+ <div class="label" part="label">${_(x)}</div>
3818
4312
  </div>
3819
- `),this.attachListeners(),this.updateFormValue()}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 i=Math.min(r,Math.max(t,e));return a>0&&(i=Math.round((i-t)/a)*a+t,i=Math.min(r,Math.max(t,i))),i}emitChange(e){const t=this.clampValue(e);t!==this.value&&(this.value=t,this.emitValueEvents(),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()}};Ft.styles=g`
4313
+ `),this.attachListeners(),this.updateFormValue()}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,i=this.step;let o=Math.min(r,Math.max(t,e));return i>0&&(o=Math.round((o-t)/i)*i+t,o=Math.min(r,Math.max(t,o))),o}emitChange(e){const t=this.clampValue(e);t!==this.value&&(this.value=t,this.emitValueEvents(),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,i=(this.max-this.min)/100;this.emitChange(this._startValue+r*i)},{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()}};pi.styles=w`
3820
4314
  :host {
3821
4315
  display: inline-flex;
3822
4316
  align-items: center;
@@ -3884,13 +4378,13 @@
3884
4378
  effect.focus-ring desligado) não há anel de foco. */
3885
4379
  filter: drop-shadow(var(--fx-effect-focus-ring, none));
3886
4380
  }
3887
- `;let Pe=Ft;function ya(){return v("fx-knob",Pe)}ya();const jt=class jt extends y{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 i=this._data.splice(r,1)[0];this._data.splice(a,0,i),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(`
4381
+ `;let br=pi;function Qs(){return A("fx-knob",br)}Qs();const mi=class mi extends C{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 i=t[r];return i==null?!1:String(i).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),i=this._getActualIndex(t);if(r===-1||i===-1)return;const o=this._data.splice(r,1)[0];this._data.splice(i,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(i=>this._getItemKey(i,-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",i=r&&e.length>0&&this._selection.length===e.length;this.setTemplate(`
3888
4382
  <div class="container" part="container">
3889
4383
  ${this.filter?`
3890
4384
  <div class="filter-wrapper" part="filter-wrapper">
3891
4385
  <input type="text" class="filter-input" part="filter-input"
3892
4386
  placeholder="${this.filterPlaceholder}"
3893
- value="${h(this._filterValue)}"
4387
+ value="${_(this._filterValue)}"
3894
4388
  aria-label="Filtrar lista" />
3895
4389
  </div>
3896
4390
  `:""}
@@ -3918,7 +4412,7 @@
3918
4412
  <div class="select-all-bar" part="select-all-bar">
3919
4413
  <label>
3920
4414
  <input type="checkbox" class="select-all-checkbox"
3921
- ${a?"checked":""}
4415
+ ${i?"checked":""}
3922
4416
  aria-label="Selecionar todos" />
3923
4417
  Selecionar Todos
3924
4418
  </label>
@@ -3932,31 +4426,31 @@
3932
4426
  <li class="empty-message" part="empty-message">
3933
4427
  ${this.filter?"Nenhum resultado encontrado":"Nenhum item disponivel"}
3934
4428
  </li>
3935
- `:e.map((i,o)=>{const s=this._getItemKey(i,o),n=this._getItemLabel(i),l=this._isSelected(i),u=this._optionTemplate?this._optionTemplate(i):h(n);return`
3936
- <li class="list-item${l?" selected":""}" part="list-item"
3937
- data-index="${o}" data-key="${h(s)}"
3938
- role="option" aria-selected="${l}"
4429
+ `:e.map((o,a)=>{const s=this._getItemKey(o,a),c=this._getItemLabel(o),u=this._isSelected(o),p=this._optionTemplate?this._optionTemplate(o):_(c);return`
4430
+ <li class="list-item${u?" selected":""}" part="list-item"
4431
+ data-index="${a}" data-key="${_(s)}"
4432
+ role="option" aria-selected="${u}"
3939
4433
  ${this.dragdrop?'draggable="true"':""}
3940
4434
  tabindex="0">
3941
4435
  ${this.dragdrop?'<span class="drag-handle" part="drag-handle" aria-label="Arrastar">⋮⋮</span>':""}
3942
4436
  ${t?`
3943
4437
  <input type="checkbox" class="checkbox" part="checkbox"
3944
- ${l?"checked":""}
3945
- aria-label="Selecionar ${h(n)}" />
4438
+ ${u?"checked":""}
4439
+ aria-label="Selecionar ${_(c)}" />
3946
4440
  `:""}
3947
- <span class="item-content" part="item-content">${u}</span>
4441
+ <span class="item-content" part="item-content">${p}</span>
3948
4442
  </li>
3949
4443
  `}).join("")}
3950
4444
  </ul>
3951
4445
  </div>
3952
4446
  </div>
3953
4447
  </div>
3954
- `),this._attachListeners(),this._attachItemListeners(this.root.querySelector(".list")),this._updateControlsState()}_attachListeners(){if(this._listenersAttached)return;this._listenersAttached=!0;const e=this.root;e.addEventListener("input",r=>{const a=r.target;a.classList.contains("filter-input")&&(this.filterValue=a.value)}),e.addEventListener("change",r=>{r.target.classList.contains("select-all-checkbox")&&this._toggleSelectAll()}),e.addEventListener("click",r=>{const i=r.target.closest(".control-btn");i&&this._handleMoveAction(i.dataset.action)});let t=null;e.addEventListener("dragstart",r=>{const a=r.target.closest(".list-item");a&&(this._draggedIndex=Number(a.dataset.index),a.classList.add("dragging"),r.dataTransfer.effectAllowed="move")}),e.addEventListener("dragend",r=>{r.target.classList.remove("dragging"),this._draggedIndex=null,e.querySelectorAll(".drag-over").forEach(i=>i.classList.remove("drag-over")),t=null}),e.addEventListener("dragover",r=>{r.preventDefault();const a=r.target.closest(".list-item");!a||a.classList.contains("dragging")||(t&&t.classList.remove("drag-over"),a.classList.add("drag-over"),t=a)}),e.addEventListener("drop",r=>{if(r.preventDefault(),this._draggedIndex===null)return;const a=r.target.closest(".list-item");if(!a)return;const i=Number(a.dataset.index);a.classList.remove("drag-over"),t=null,this._moveItem(this._draggedIndex,i),this._draggedIndex=null}),this._updateControlsState()}_attachItemListeners(e){e&&(e.addEventListener("click",t=>{const r=t.target,a=r.closest(".list-item");if(!a)return;if(r.classList.contains("checkbox")){t.stopPropagation();const o=Number(a.dataset.index);this._toggleSelection(this._getDisplayData()[o]);return}const i=Number(a.dataset.index);this._toggleSelection(this._getDisplayData()[i])}),e.addEventListener("keydown",t=>{const r=t.target;if(!r.classList.contains("list-item"))return;const a=Array.from(e.querySelectorAll(".list-item")),i=a.indexOf(r);switch(t.key){case"ArrowUp":t.preventDefault(),i>0&&a[i-1].focus();break;case"ArrowDown":t.preventDefault(),i<a.length-1&&a[i+1].focus();break;case" ":case"Enter":if(t.preventDefault(),this.selectionMode){const s=Number(r.dataset.index);this._toggleSelection(this._getDisplayData()[s])}break}}))}_updateListDisplay(){const e=this.root.querySelector(".list-wrapper");if(!e){this.render();return}const t=this._getDisplayData(),r=this.selectionMode,a=this.selectionMode==="multiple",i=a&&t.length>0&&this._selection.length===t.length;e.innerHTML=`
3955
- ${a&&this.showSelectAll?`
4448
+ `),this._attachListeners(),this._attachItemListeners(this.root.querySelector(".list")),this._updateControlsState()}_attachListeners(){if(this._listenersAttached)return;this._listenersAttached=!0;const e=this.root;e.addEventListener("input",r=>{const i=r.target;i.classList.contains("filter-input")&&(this.filterValue=i.value)}),e.addEventListener("change",r=>{r.target.classList.contains("select-all-checkbox")&&this._toggleSelectAll()}),e.addEventListener("click",r=>{const o=r.target.closest(".control-btn");o&&this._handleMoveAction(o.dataset.action)});let t=null;e.addEventListener("dragstart",r=>{const i=r.target.closest(".list-item");i&&(this._draggedIndex=Number(i.dataset.index),i.classList.add("dragging"),r.dataTransfer.effectAllowed="move")}),e.addEventListener("dragend",r=>{r.target.classList.remove("dragging"),this._draggedIndex=null,e.querySelectorAll(".drag-over").forEach(o=>o.classList.remove("drag-over")),t=null}),e.addEventListener("dragover",r=>{r.preventDefault();const i=r.target.closest(".list-item");!i||i.classList.contains("dragging")||(t&&t.classList.remove("drag-over"),i.classList.add("drag-over"),t=i)}),e.addEventListener("drop",r=>{if(r.preventDefault(),this._draggedIndex===null)return;const i=r.target.closest(".list-item");if(!i)return;const o=Number(i.dataset.index);i.classList.remove("drag-over"),t=null,this._moveItem(this._draggedIndex,o),this._draggedIndex=null}),this._updateControlsState()}_attachItemListeners(e){e&&(e.addEventListener("click",t=>{const r=t.target,i=r.closest(".list-item");if(!i)return;if(r.classList.contains("checkbox")){t.stopPropagation();const a=Number(i.dataset.index);this._toggleSelection(this._getDisplayData()[a]);return}const o=Number(i.dataset.index);this._toggleSelection(this._getDisplayData()[o])}),e.addEventListener("keydown",t=>{const r=t.target;if(!r.classList.contains("list-item"))return;const i=Array.from(e.querySelectorAll(".list-item")),o=i.indexOf(r);switch(t.key){case"ArrowUp":t.preventDefault(),o>0&&i[o-1].focus();break;case"ArrowDown":t.preventDefault(),o<i.length-1&&i[o+1].focus();break;case" ":case"Enter":if(t.preventDefault(),this.selectionMode){const s=Number(r.dataset.index);this._toggleSelection(this._getDisplayData()[s])}break}}))}_updateListDisplay(){const e=this.root.querySelector(".list-wrapper");if(!e){this.render();return}const t=this._getDisplayData(),r=this.selectionMode,i=this.selectionMode==="multiple",o=i&&t.length>0&&this._selection.length===t.length;e.innerHTML=`
4449
+ ${i&&this.showSelectAll?`
3956
4450
  <div class="select-all-bar" part="select-all-bar">
3957
4451
  <label>
3958
4452
  <input type="checkbox" class="select-all-checkbox"
3959
- ${i?"checked":""}
4453
+ ${o?"checked":""}
3960
4454
  aria-label="Selecionar todos" />
3961
4455
  Selecionar Todos
3962
4456
  </label>
@@ -3964,29 +4458,29 @@
3964
4458
  </div>
3965
4459
  `:""}
3966
4460
  <ul class="list" part="list" role="listbox"
3967
- aria-multiselectable="${a}"
4461
+ aria-multiselectable="${i}"
3968
4462
  tabindex="0">
3969
4463
  ${t.length===0?`
3970
4464
  <li class="empty-message" part="empty-message">
3971
4465
  ${this.filter?"Nenhum resultado encontrado":"Nenhum item disponivel"}
3972
4466
  </li>
3973
- `:t.map((o,s)=>{const n=this._getItemKey(o,s),l=this._getItemLabel(o),u=this._isSelected(o),f=this._optionTemplate?this._optionTemplate(o):h(l);return`
3974
- <li class="list-item${u?" selected":""}" part="list-item"
3975
- data-index="${s}" data-key="${h(n)}"
3976
- role="option" aria-selected="${u}"
4467
+ `:t.map((a,s)=>{const c=this._getItemKey(a,s),u=this._getItemLabel(a),p=this._isSelected(a),h=this._optionTemplate?this._optionTemplate(a):_(u);return`
4468
+ <li class="list-item${p?" selected":""}" part="list-item"
4469
+ data-index="${s}" data-key="${_(c)}"
4470
+ role="option" aria-selected="${p}"
3977
4471
  ${this.dragdrop?'draggable="true"':""}
3978
4472
  tabindex="0">
3979
4473
  ${this.dragdrop?'<span class="drag-handle" part="drag-handle" aria-label="Arrastar">⋮⋮</span>':""}
3980
4474
  ${r?`
3981
4475
  <input type="checkbox" class="checkbox" part="checkbox"
3982
- ${u?"checked":""}
3983
- aria-label="Selecionar ${h(l)}" />
4476
+ ${p?"checked":""}
4477
+ aria-label="Selecionar ${_(u)}" />
3984
4478
  `:""}
3985
- <span class="item-content" part="item-content">${f}</span>
4479
+ <span class="item-content" part="item-content">${h}</span>
3986
4480
  </li>
3987
4481
  `}).join("")}
3988
4482
  </ul>
3989
- `,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(i=>this._getItemKey(i,-1)===this._getItemKey(a,-1))).filter(a=>a>=0).sort((a,i)=>a-i);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 i of e){const o=this._getActualIndex(i);t.push(this._data[o]),r.push(o)}r.sort((i,o)=>o-i).forEach(i=>this._data.splice(i,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 o of e){const s=this._getActualIndex(o);t.push(this._data[s]),r.push(s)}r.sort((o,s)=>s-o).forEach(o=>this._data.splice(o,1));const a=this._getDisplayData(),i=this._getActualIndex(a.length-1);this._data.splice(i+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 i=a.map(s=>this._data[s]);for(let s=a.length-1;s>=0;s--)this._data.splice(a[s],1);let o;t<0?o=a[0]-1:o=a[a.length-1]-a.length+1+1,o=Math.max(0,Math.min(o,this._data.length)),this._data.splice(o,0,...i),this._applyFilter(),this._updateListDisplay(),this._updateControlsState(),this._emitReorder()}_updateControlsState(){const e=this._getDisplayData(),t=this._selection.map(a=>e.findIndex(i=>this._getItemKey(i,-1)===this._getItemKey(a,-1))).filter(a=>a>=0);this.root.querySelectorAll(".control-btn").forEach(a=>{const i=a.dataset.action;let o=t.length===0;if(!o)switch(i){case"top":case"up":o=t[0]===0;break;case"bottom":case"down":o=t[t.length-1]===e.length-1;break}a.disabled=o})}};jt.styles=g`
4483
+ `,this._attachListeners(),this._attachItemListeners(this.root.querySelector(".list"))}_handleMoveAction(e){if(!this._selection.length)return;const t=this._getDisplayData(),r=this._selection.map(i=>t.findIndex(o=>this._getItemKey(o,-1)===this._getItemKey(i,-1))).filter(i=>i>=0).sort((i,o)=>i-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 a=this._getActualIndex(o);t.push(this._data[a]),r.push(a)}r.sort((o,a)=>a-o).forEach(o=>this._data.splice(o,1));const i=this._getActualIndex(0);this._data.splice(i,0,...t),this._applyFilter(),this._updateListDisplay(),this._updateControlsState(),this._emitReorder()}_moveSelectedToEnd(e){const t=[],r=[];for(const a of e){const s=this._getActualIndex(a);t.push(this._data[s]),r.push(s)}r.sort((a,s)=>s-a).forEach(a=>this._data.splice(a,1));const i=this._getDisplayData(),o=this._getActualIndex(i.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 i=e.map(s=>this._getActualIndex(s)).filter(s=>s>=0).sort((s,c)=>s-c);if(i.length===0||t<0&&i[0]<=0||t>0&&i[i.length-1]>=this._data.length-1)return;const o=i.map(s=>this._data[s]);for(let s=i.length-1;s>=0;s--)this._data.splice(i[s],1);let a;t<0?a=i[0]-1:a=i[i.length-1]-i.length+1+1,a=Math.max(0,Math.min(a,this._data.length)),this._data.splice(a,0,...o),this._applyFilter(),this._updateListDisplay(),this._updateControlsState(),this._emitReorder()}_updateControlsState(){const e=this._getDisplayData(),t=this._selection.map(i=>e.findIndex(o=>this._getItemKey(o,-1)===this._getItemKey(i,-1))).filter(i=>i>=0);this.root.querySelectorAll(".control-btn").forEach(i=>{const o=i.dataset.action;let a=t.length===0;if(!a)switch(o){case"top":case"up":a=t[0]===0;break;case"bottom":case"down":a=t[t.length-1]===e.length-1;break}i.disabled=a})}};mi.styles=w`
3990
4484
 
3991
4485
  :host {
3992
4486
  display: block;
@@ -4061,7 +4555,7 @@
4061
4555
  @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; } }
4062
4556
  @keyframes slideIn { from { opacity: 0; transform: translateX(-10px); } to { opacity: 1; transform: translateX(0); } }
4063
4557
  .list-item { animation: slideIn 0.2s ease-out; }
4064
- `;let Oe=jt;function wa(){return v("fx-orderlist",Oe)}wa();const Nt=class Nt extends y{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,i=e.length===0?`<li class="empty-message">${this.filter?"Nenhum resultado":"Nenhum item"}</li>`:e.map((l,u)=>`<li class="list-item${this._isSourceSelected(l,u)?" selected":""}" data-index="${u}" data-list="source" tabindex="0">${r?'<input type="checkbox" class="checkbox"'+(this._isSourceSelected(l,u)?" checked":"")+" />":""}<span class="item-content">${this._optionTemplate?this._optionTemplate(l):h(this._getItemLabel(l))}</span></li>`).join(""),o=t.length===0?`<li class="empty-message">${this.filter?"Nenhum resultado":"Nenhum selecionado"}</li>`:t.map((l,u)=>`<li class="list-item${this._isTargetSelected(l,u)?" selected":""}" data-index="${u}" data-list="target" tabindex="0">${r?'<input type="checkbox" class="checkbox"'+(this._isTargetSelected(l,u)?" 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">${i}</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">${o}</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 i=a.dataset.list==="source",o=Number(a.dataset.index),s=(i?this._getDisplaySource():this._getDisplayTarget())[o];i?this._toggleSourceSelection(s,o):this._toggleTargetSelection(s,o)})),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(i=>{const o=Number(i.dataset.index),s=r(a()[o],o);i.classList.toggle("selected",s),i.setAttribute("aria-selected",String(s));const n=i.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 o;if(!t)return;t.checked=r>0&&a===r;const i=(o=t.closest(".select-all-bar"))==null?void 0:o.querySelector(".selection-count");i&&(i.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),i=this._sourceSelection.findIndex(o=>this._getItemKey(o,-1,!0)===a);i>=0?this._sourceSelection.splice(i,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),i=this._targetSelection.findIndex(o=>this._getItemKey(o,-1,!1)===a);i>=0?this._targetSelection.splice(i,1):r==="multiple"?this._targetSelection.push(e):this._targetSelection=[e],this._emitSelectionChangeTarget(),this._updateSelectionDisplay(),this._updateControlsState()}_updateListDisplay(){var u,f;const e=(u=this.root.querySelector(".source-list"))==null?void 0:u.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 i=this._getDisplaySource(),o=this._getDisplayTarget(),s=this.selectionMode,n=i.length===0?`<li class="empty-message" part="empty-message">${this.filter?"Nenhum resultado":"Nenhum item"}</li>`:i.map((p,d)=>`<li class="list-item${this._isSourceSelected(p,d)?" selected":""}" part="list-item" data-index="${d}" data-list="source" role="option" aria-selected="${this._isSourceSelected(p,d)}" tabindex="0">${s?'<input type="checkbox" class="checkbox" part="checkbox"'+(this._isSourceSelected(p,d)?" checked":"")+" />":""}<span class="item-content" part="item-content">${this._optionTemplate?this._optionTemplate(p):h(this._getItemLabel(p))}</span></li>`).join(""),l=o.length===0?`<li class="empty-message" part="empty-message">${this.filter?"Nenhum resultado":"Nenhum selecionado"}</li>`:o.map((p,d)=>`<li class="list-item${this._isTargetSelected(p,d)?" selected":""}" part="list-item" data-index="${d}" data-list="target" role="option" aria-selected="${this._isTargetSelected(p,d)}" tabindex="0">${s?'<input type="checkbox" class="checkbox" part="checkbox"'+(this._isTargetSelected(p,d)?" checked":"")+" />":""}<span class="item-content" part="item-content">${this._optionTemplate?this._optionTemplate(p):h(this._getItemLabel(p))}</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()}};Nt.styles=g`
4558
+ `;let vr=mi;function en(){return A("fx-orderlist",vr)}en();const _i=class _i extends C{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 i=t[r];return i==null?!1:String(i).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 i=t[r];return i==null?!1:String(i).toLowerCase().includes(this._targetFilterValue.toLowerCase())}))}_getDisplaySource(){return this._filteredSource||this._source}_getDisplayTarget(){return this._filteredTarget||this._target}_getItemKey(e,t,r){const i=r?this.sourceKey:this.targetKey;return i&&e[i]!=null?String(e[i]):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,i=r==="multiple"&&this.showSelectAll,o=e.length===0?`<li class="empty-message">${this.filter?"Nenhum resultado":"Nenhum item"}</li>`:e.map((u,p)=>`<li class="list-item${this._isSourceSelected(u,p)?" selected":""}" data-index="${p}" data-list="source" tabindex="0">${r?'<input type="checkbox" class="checkbox"'+(this._isSourceSelected(u,p)?" checked":"")+" />":""}<span class="item-content">${this._optionTemplate?this._optionTemplate(u):_(this._getItemLabel(u))}</span></li>`).join(""),a=t.length===0?`<li class="empty-message">${this.filter?"Nenhum resultado":"Nenhum selecionado"}</li>`:t.map((u,p)=>`<li class="list-item${this._isTargetSelected(u,p)?" selected":""}" data-index="${p}" data-list="target" tabindex="0">${r?'<input type="checkbox" class="checkbox"'+(this._isTargetSelected(u,p)?" checked":"")+" />":""}<span class="item-content">${this._optionTemplate?this._optionTemplate(u):_(this._getItemLabel(u))}</span></li>`).join(""),s=i?`<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>`:"",c=i?`<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">${_(this.sourceLabel)} (${this._source.length})</div>${this.filter?'<div class="filter-wrapper"><input type="text" class="filter-input source-filter" placeholder="'+this.filterPlaceholder+'" value="'+_(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">${_(this.targetLabel)} (${this._target.length})</div>${this.filter?'<div class="filter-wrapper"><input type="text" class="filter-input target-filter" placeholder="'+this.filterPlaceholder+'" value="'+_(this._targetFilterValue)+'" /></div>':""}${c}<div class="list-wrapper"><ul class="list target-list" role="listbox" tabindex="0">${a}</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 i=t.closest(".list-item");if(!i)return;const o=i.dataset.list==="source",a=Number(i.dataset.index),s=(o?this._getDisplaySource():this._getDisplayTarget())[a];o?this._toggleSourceSelection(s,a):this._toggleTargetSelection(s,a)})),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,i)=>{t&&t.querySelectorAll(".list-item").forEach(o=>{const a=Number(o.dataset.index),s=r(i()[a],a);o.classList.toggle("selected",s),o.setAttribute("aria-selected",String(s));const c=o.querySelector(".checkbox");c&&(c.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:i})=>{var a;if(!t)return;t.checked=r>0&&i===r;const o=(a=t.closest(".select-all-bar"))==null?void 0:a.querySelector(".selection-count");o&&(o.textContent=`${i} 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",i=this._getItemKey(e,t,!0),o=this._sourceSelection.findIndex(a=>this._getItemKey(a,-1,!0)===i);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",i=this._getItemKey(e,t,!1),o=this._targetSelection.findIndex(a=>this._getItemKey(a,-1,!1)===i);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,h;const e=(p=this.root.querySelector(".source-list"))==null?void 0:p.parentElement,t=(h=this.root.querySelector(".target-list"))==null?void 0:h.parentElement,r=this.root.querySelector(".list-container:first-of-type .list-label"),i=this.root.querySelector(".list-container:last-of-type .list-label");if(!e||!t){this.render();return}const o=this._getDisplaySource(),a=this._getDisplayTarget(),s=this.selectionMode,c=o.length===0?`<li class="empty-message" part="empty-message">${this.filter?"Nenhum resultado":"Nenhum item"}</li>`:o.map((m,f)=>`<li class="list-item${this._isSourceSelected(m,f)?" selected":""}" part="list-item" data-index="${f}" data-list="source" role="option" aria-selected="${this._isSourceSelected(m,f)}" tabindex="0">${s?'<input type="checkbox" class="checkbox" part="checkbox"'+(this._isSourceSelected(m,f)?" checked":"")+" />":""}<span class="item-content" part="item-content">${this._optionTemplate?this._optionTemplate(m):_(this._getItemLabel(m))}</span></li>`).join(""),u=a.length===0?`<li class="empty-message" part="empty-message">${this.filter?"Nenhum resultado":"Nenhum selecionado"}</li>`:a.map((m,f)=>`<li class="list-item${this._isTargetSelected(m,f)?" selected":""}" part="list-item" data-index="${f}" data-list="target" role="option" aria-selected="${this._isTargetSelected(m,f)}" tabindex="0">${s?'<input type="checkbox" class="checkbox" part="checkbox"'+(this._isTargetSelected(m,f)?" checked":"")+" />":""}<span class="item-content" part="item-content">${this._optionTemplate?this._optionTemplate(m):_(this._getItemLabel(m))}</span></li>`).join("");e.innerHTML=`<ul class="list source-list" role="listbox" tabindex="0">${c}</ul>`,t.innerHTML=`<ul class="list target-list" role="listbox" tabindex="0">${u}</ul>`,r&&(r.textContent=`${this.sourceLabel} (${this._source.length})`),i&&(i.textContent=`${this.targetLabel} (${this._target.length})`),this._updateSelectAllBars(),this._attachListeners()}};_i.styles=w`
4065
4559
  :host {
4066
4560
  display: block;
4067
4561
  font-family: var(--fx-font-family);
@@ -4313,13 +4807,13 @@
4313
4807
  to { opacity: 1; transform: translateX(0); }
4314
4808
  }
4315
4809
  .list-item { animation: slideIn 0.2s ease-out; }
4316
- `;let Be=Nt;function ka(){return v("fx-picklist",Be)}ka();const Vt=class Vt extends y{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(`
4810
+ `;let xr=_i;function tn(){return A("fx-picklist",xr)}tn();const gi=class gi extends C{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 i;return(i=r.classList)==null?void 0:i.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(`
4317
4811
  <div class="panel" part="panel">
4318
4812
  <button type="button" class="header" part="header" role="button"
4319
4813
  aria-expanded="${this.expanded}"
4320
4814
  ${this.disabled?'aria-disabled="true"':""}>
4321
4815
  <span class="header-text" part="header-text">
4322
- <slot name="header">${h(this.header)}</slot>
4816
+ <slot name="header">${_(this.header)}</slot>
4323
4817
  </span>
4324
4818
  <span class="chevron" part="chevron" aria-hidden="true">
4325
4819
  <svg width="14" height="14" viewBox="0 0 24 24" fill="none"
@@ -4334,7 +4828,7 @@
4334
4828
  </div>
4335
4829
  </div>
4336
4830
  </div>
4337
- `)}};Vt.styles=g`
4831
+ `)}};gi.styles=w`
4338
4832
  :host {
4339
4833
  display: block;
4340
4834
  font-family: var(--fx-font-family);
@@ -4402,11 +4896,11 @@
4402
4896
  color: var(--fx-text-muted);
4403
4897
  line-height: 1.6;
4404
4898
  }
4405
- `;let He=Vt;const Rt=class Rt extends y{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(`
4899
+ `;let yr=gi;const bi=class bi extends C{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(`
4406
4900
  <div class="accordion" part="accordion">
4407
4901
  <slot></slot>
4408
4902
  </div>
4409
- `),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 i=r.getAttribute("value")||String(a);r.hasAttribute("value")||r.setAttribute("value",i),r.toggleAttribute("expanded",e.includes(i))})}_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)}};Rt.styles=g`
4903
+ `),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(i=>!i.hasAttribute("disabled"));if(r){this.values=[r.getAttribute("value")||"0"];return}}this._initialized=!0,t.forEach((r,i)=>{const o=r.getAttribute("value")||String(i);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(i=>i!==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,i)=>(r.value||String(i))===e);t&&!t.expanded&&this.toggle(t)}close(e){const t=this.panels.find((r,i)=>(r.value||String(i))===e);t&&t.expanded&&this.toggle(t)}};bi.styles=w`
4410
4904
  :host {
4411
4905
  display: block;
4412
4906
  font-family: var(--fx-font-family);
@@ -4419,4 +4913,4 @@
4419
4913
  overflow: hidden;
4420
4914
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
4421
4915
  }
4422
- `;let Ke=Rt;function Aa(){return v("fx-accordion",Ke)}function za(){return v("fx-accordion-panel",He)}Aa(),za();const Xe=["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"],Sa=C;function er(){return Xt(Xe)}kr(Xe);let Ye=!1;function tr(c=typeof document!="undefined"?document:void 0){if(Ye||!c)return;const e=c.createElement("style");e.id=j,e.textContent=er(),c.head.appendChild(e),Ye=!0}function Ea(){Ye=!1,Ut()}tr();const B=Object.freeze(Object.defineProperty({__proto__:null,FENIX_ICON_BASE_CSS:C,FENIX_ICON_DOC_BASE_CSS:Sa,FENIX_ICON_FONT_FAMILY:U,FENIX_ICON_NAMES:Xe,__resetFenixIconsFontInjection:Ut,__resetFenixIconsInjection:Ea,buildFenixIconsCss:er,buildFenixIconsFontCss:Kt,isFenixIconName:I,loadFenixIcons:tr,loadFenixIconsFont:O,setFenixIconsFontUrl:wr},Symbol.toStringTag,{value:"Module"}))});
4916
+ `;let wr=bi;function rn(){return A("fx-accordion",wr)}function on(){return A("fx-accordion-panel",yr)}rn(),on();const kr=["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"],an=B;function po(){return Hi(kr)}pa(kr);let Ar=!1;function mo(l=typeof document!="undefined"?document:void 0){if(Ar||!l)return;const e=l.createElement("style");e.id=xe,e.textContent=po(),l.head.appendChild(e),Ar=!0}function sn(){Ar=!1,Ui()}mo();const Ye=Object.freeze(Object.defineProperty({__proto__:null,FENIX_ICON_BASE_CSS:B,FENIX_ICON_DOC_BASE_CSS:an,FENIX_ICON_FONT_FAMILY:ut,FENIX_ICON_NAMES:kr,__resetFenixIconsFontInjection:Ui,__resetFenixIconsInjection:sn,buildFenixIconsCss:po,buildFenixIconsFontCss:Bi,isFenixIconName:be,loadFenixIcons:mo,loadFenixIconsFont:Te,setFenixIconsFontUrl:fa},Symbol.toStringTag,{value:"Module"}))});