le-kit 0.2.2 → 0.2.4
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.
- package/dist/cjs/{index-pT2cVC5w.js → index-CNRmviSz.js} +4 -2
- package/dist/cjs/{index-pT2cVC5w.js.map → index-CNRmviSz.js.map} +1 -1
- package/dist/cjs/index.cjs.js +3 -2
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/le-box.cjs.entry.js +2 -2
- package/dist/cjs/le-button_13.cjs.entry.js +2 -2
- package/dist/cjs/le-card.cjs.entry.js +2 -2
- package/dist/cjs/le-combobox.cjs.entry.js +1 -1
- package/dist/cjs/le-header-placeholder.cjs.entry.js +1 -1
- package/dist/cjs/le-icon.cjs.entry.js +4 -2
- package/dist/cjs/le-kit.cjs.js +2 -2
- package/dist/cjs/le-multiselect.cjs.entry.js +1 -1
- package/dist/cjs/le-navigation.cjs.entry.js +16 -11
- package/dist/cjs/le-number-input.cjs.entry.js +2 -2
- package/dist/cjs/le-round-progress.cjs.entry.js +1 -1
- package/dist/cjs/le-segmented-control.cjs.entry.js +1 -1
- package/dist/cjs/le-stack.cjs.entry.js +2 -2
- package/dist/cjs/le-tab-bar.cjs.entry.js +1 -1
- package/dist/cjs/le-tab-panel.cjs.entry.js +1 -1
- package/dist/cjs/le-tab.cjs.entry.js +2 -2
- package/dist/cjs/le-tabs.cjs.entry.js +2 -2
- package/dist/cjs/le-tag.cjs.entry.js +1 -1
- package/dist/cjs/le-text.cjs.entry.js +2 -2
- package/dist/cjs/le-turntable.cjs.entry.js +1 -1
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/{utils-ByTskwtC.js → utils-CZG22_vQ.js} +3 -3
- package/dist/cjs/{utils-ByTskwtC.js.map → utils-CZG22_vQ.js.map} +1 -1
- package/dist/collection/components/le-icon/le-icon.js +3 -1
- package/dist/collection/components/le-icon/le-icon.js.map +1 -1
- package/dist/collection/components/le-navigation/le-navigation.css +9 -1
- package/dist/collection/components/le-navigation/le-navigation.js +18 -13
- package/dist/collection/components/le-navigation/le-navigation.js.map +1 -1
- package/dist/collection/dist/components/assets/custom-elements.json +942 -942
- package/dist/collection/index.js +2 -1
- package/dist/collection/index.js.map +1 -1
- package/dist/components/assets/custom-elements.json +942 -942
- package/dist/components/le-icon2.js +3 -1
- package/dist/components/le-icon2.js.map +1 -1
- package/dist/components/le-navigation.js +15 -10
- package/dist/components/le-navigation.js.map +1 -1
- package/dist/docs.json +32 -24
- package/dist/esm/{index-CNv6tzAt.js → index-BqH-zsXr.js} +4 -3
- package/dist/esm/{index-CNv6tzAt.js.map → index-BqH-zsXr.js.map} +1 -1
- package/dist/esm/index.js +2 -2
- package/dist/esm/le-box.entry.js +2 -2
- package/dist/esm/le-button_13.entry.js +2 -2
- package/dist/esm/le-card.entry.js +2 -2
- package/dist/esm/le-combobox.entry.js +1 -1
- package/dist/esm/le-header-placeholder.entry.js +1 -1
- package/dist/esm/le-icon.entry.js +4 -2
- package/dist/esm/le-icon.entry.js.map +1 -1
- package/dist/esm/le-kit.js +3 -3
- package/dist/esm/le-multiselect.entry.js +1 -1
- package/dist/esm/le-navigation.entry.js +16 -11
- package/dist/esm/le-navigation.entry.js.map +1 -1
- package/dist/esm/le-number-input.entry.js +2 -2
- package/dist/esm/le-round-progress.entry.js +1 -1
- package/dist/esm/le-segmented-control.entry.js +1 -1
- package/dist/esm/le-stack.entry.js +2 -2
- package/dist/esm/le-tab-bar.entry.js +1 -1
- package/dist/esm/le-tab-panel.entry.js +1 -1
- package/dist/esm/le-tab.entry.js +2 -2
- package/dist/esm/le-tabs.entry.js +2 -2
- package/dist/esm/le-tag.entry.js +1 -1
- package/dist/esm/le-text.entry.js +2 -2
- package/dist/esm/le-turntable.entry.js +1 -1
- package/dist/esm/loader.js +3 -3
- package/dist/esm/{utils-BzC2tvPX.js → utils-CdBk0DdF.js} +3 -3
- package/dist/esm/{utils-BzC2tvPX.js.map → utils-CdBk0DdF.js.map} +1 -1
- package/dist/le-kit/dist/components/assets/custom-elements.json +942 -942
- package/dist/le-kit/index.esm.js +1 -1
- package/dist/le-kit/le-kit.esm.js +1 -1
- package/dist/le-kit/{p-e24d3e33.entry.js → p-00cd6dc4.entry.js} +2 -2
- package/dist/le-kit/p-02699578.entry.js +2 -0
- package/dist/le-kit/p-02699578.entry.js.map +1 -0
- package/dist/le-kit/{p-9a3bdbe1.entry.js → p-0aab5747.entry.js} +2 -2
- package/dist/le-kit/{p-a8963634.entry.js → p-0b5ab6ec.entry.js} +2 -2
- package/dist/le-kit/{p-f4f2c3e7.entry.js → p-17ace252.entry.js} +2 -2
- package/dist/le-kit/{p-8a78110f.entry.js → p-2db32332.entry.js} +2 -2
- package/dist/le-kit/{p-df9389f0.entry.js → p-348a4e39.entry.js} +2 -2
- package/dist/le-kit/{p-aaec0169.entry.js → p-43f87acb.entry.js} +2 -2
- package/dist/le-kit/{p-b1dc7e06.entry.js → p-509caf7f.entry.js} +2 -2
- package/dist/le-kit/{p-0ac4397c.entry.js → p-65fa68c3.entry.js} +2 -2
- package/dist/le-kit/{p-58120921.entry.js → p-76d03b1e.entry.js} +2 -2
- package/dist/le-kit/{p-de5638c9.entry.js → p-8907cf95.entry.js} +2 -2
- package/dist/le-kit/{p-511fbb63.entry.js → p-91421993.entry.js} +2 -2
- package/dist/le-kit/{p-5ceb06d8.entry.js → p-995f6de8.entry.js} +2 -2
- package/dist/le-kit/{p-a0d2c580.entry.js → p-9f409d74.entry.js} +2 -2
- package/dist/le-kit/p-BqH-zsXr.js +3 -0
- package/dist/le-kit/{p-CNv6tzAt.js.map → p-BqH-zsXr.js.map} +1 -1
- package/dist/le-kit/{p-W4FbLlut.js → p-VG5nXRzT.js} +2 -2
- package/dist/le-kit/{p-W4FbLlut.js.map → p-VG5nXRzT.js.map} +1 -1
- package/dist/le-kit/p-a1c26c46.entry.js +2 -0
- package/dist/le-kit/p-a1c26c46.entry.js.map +1 -0
- package/dist/le-kit/{p-25a29e69.entry.js → p-a5e21c8e.entry.js} +2 -2
- package/dist/le-kit/{p-ec20e438.entry.js → p-b4dcb4df.entry.js} +2 -2
- package/dist/le-kit/p-ccf4c548.entry.js +2 -0
- package/dist/types/components/le-navigation/le-navigation.d.ts +2 -2
- package/dist/types/components.d.ts +10 -10
- package/dist/types/index.d.ts +2 -1
- package/package.json +2 -2
- package/dist/le-kit/dist/components/themes/base.css +0 -89
- package/dist/le-kit/dist/components/themes/dark.css +0 -103
- package/dist/le-kit/dist/components/themes/default.css +0 -111
- package/dist/le-kit/dist/components/themes/gradient.css +0 -103
- package/dist/le-kit/dist/components/themes/index.css +0 -76
- package/dist/le-kit/dist/components/themes/minimal.css +0 -103
- package/dist/le-kit/dist/components/themes/warm.css +0 -103
- package/dist/le-kit/p-2ec60692.entry.js +0 -2
- package/dist/le-kit/p-CNv6tzAt.js +0 -3
- package/dist/le-kit/p-bb160082.entry.js +0 -2
- package/dist/le-kit/p-bb160082.entry.js.map +0 -1
- package/dist/le-kit/p-c08fcb00.entry.js +0 -2
- package/dist/le-kit/p-c08fcb00.entry.js.map +0 -1
- /package/dist/collection/dist/{components/themes → themes}/base.css +0 -0
- /package/dist/collection/dist/{components/themes → themes}/dark.css +0 -0
- /package/dist/collection/dist/{components/themes → themes}/default.css +0 -0
- /package/dist/collection/dist/{components/themes → themes}/gradient.css +0 -0
- /package/dist/collection/dist/{components/themes → themes}/index.css +0 -0
- /package/dist/collection/dist/{components/themes → themes}/minimal.css +0 -0
- /package/dist/collection/dist/{components/themes → themes}/warm.css +0 -0
- /package/dist/{components → le-kit/dist}/themes/base.css +0 -0
- /package/dist/{components → le-kit/dist}/themes/dark.css +0 -0
- /package/dist/{components → le-kit/dist}/themes/default.css +0 -0
- /package/dist/{components → le-kit/dist}/themes/gradient.css +0 -0
- /package/dist/{components → le-kit/dist}/themes/index.css +0 -0
- /package/dist/{components → le-kit/dist}/themes/minimal.css +0 -0
- /package/dist/{components → le-kit/dist}/themes/warm.css +0 -0
- /package/dist/le-kit/{p-e24d3e33.entry.js.map → p-00cd6dc4.entry.js.map} +0 -0
- /package/dist/le-kit/{p-9a3bdbe1.entry.js.map → p-0aab5747.entry.js.map} +0 -0
- /package/dist/le-kit/{p-a8963634.entry.js.map → p-0b5ab6ec.entry.js.map} +0 -0
- /package/dist/le-kit/{p-f4f2c3e7.entry.js.map → p-17ace252.entry.js.map} +0 -0
- /package/dist/le-kit/{p-8a78110f.entry.js.map → p-2db32332.entry.js.map} +0 -0
- /package/dist/le-kit/{p-df9389f0.entry.js.map → p-348a4e39.entry.js.map} +0 -0
- /package/dist/le-kit/{p-aaec0169.entry.js.map → p-43f87acb.entry.js.map} +0 -0
- /package/dist/le-kit/{p-b1dc7e06.entry.js.map → p-509caf7f.entry.js.map} +0 -0
- /package/dist/le-kit/{p-0ac4397c.entry.js.map → p-65fa68c3.entry.js.map} +0 -0
- /package/dist/le-kit/{p-58120921.entry.js.map → p-76d03b1e.entry.js.map} +0 -0
- /package/dist/le-kit/{p-de5638c9.entry.js.map → p-8907cf95.entry.js.map} +0 -0
- /package/dist/le-kit/{p-511fbb63.entry.js.map → p-91421993.entry.js.map} +0 -0
- /package/dist/le-kit/{p-5ceb06d8.entry.js.map → p-995f6de8.entry.js.map} +0 -0
- /package/dist/le-kit/{p-a0d2c580.entry.js.map → p-9f409d74.entry.js.map} +0 -0
- /package/dist/le-kit/{p-25a29e69.entry.js.map → p-a5e21c8e.entry.js.map} +0 -0
- /package/dist/le-kit/{p-ec20e438.entry.js.map → p-b4dcb4df.entry.js.map} +0 -0
- /package/dist/le-kit/{p-2ec60692.entry.js.map → p-ccf4c548.entry.js.map} +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as e,d as t,c as o,h as i,F as r,H as s,e as n,f as a}from"./p-CNv6tzAt.js";import{c as l,o as c,g as d}from"./p-W4FbLlut.js";import{leConfirm as h}from"./index.esm.js";const p=()=>`:host{display:inline-block;--le-button-border-radius:var(--le-radius-md);--le-button-padding-x:var(--le-spacing-3);--le-button-padding-y:var(--le-spacing-1);--le-button-padding:var(--le-button-padding-y) var(--le-button-padding-x);--le-button-small-padding:0.25rem;--le-button-font-size:var(--le-font-size-md);--le-button-font-weight:var(--le-font-weight-medium);--le-button-transition:var(--le-transition-fast);--le-transition-easing:ease-in-out;--le-button-icon-aspect-ratio:1;--le-button-color:var(--le-color-primary-contrast);--_btn-bg:var(--le-color-primary);--_btn-bg-hover:var(--le-color-primary-dark);--_btn-bg-system:var(--le-color-black);--_btn-color:var(--le-button-color);--_btn-border-color:var(--le-color-primary)}:host([full-width]){display:block;width:100%}.le-button-container{display:inline-flex;flex-direction:row;align-items:center;justify-content:center;gap:var(--le-spacing-3);width:100%;padding:var(--le-button-padding);border:1px solid var(--_btn-border-color);border-radius:var(--le-button-border-radius);background:var(--_btn-bg);color:var(--_btn-color);font-family:var(--le-font-family-base);font-size:var(--le-button-font-size);font-weight:var(--le-button-font-weight);line-height:var(--le-line-height-tight);text-decoration:none;cursor:pointer;transition:background-color var(--le-button-transition) var(--le-transition-easing),\n border-color var(--le-button-transition) var(--le-transition-easing),\n box-shadow var(--le-button-transition) var(--le-transition-easing),\n transform var(--le-button-transition) var(--le-transition-easing)}.le-button-container:hover:not(:disabled){background:var(--_btn-bg-hover);border-color:var(--_btn-bg-hover)}.le-button-container:active:not(:disabled){box-shadow:inset 0 0 5px color-mix(in srgb, var(--_btn-bg) 50%, transparent)}.le-button-container:focus-visible{outline:2px solid var(--le-color-focus);outline-offset:2px}.le-button-container:disabled{opacity:0.5;cursor:not-allowed}.le-button-label{display:inline-flex;flex-direction:row;align-items:center;justify-content:center;gap:var(--le-spacing-2)}:host(.color-primary){--_btn-bg:var(--le-color-primary);--_btn-bg-hover:var(--le-color-primary-dark);--_btn-color:var(--le-button-color);--_btn-border-color:var(--le-color-primary)}:host(.color-secondary){--_btn-bg:var(--le-color-secondary);--_btn-bg-hover:var(--le-color-secondary-dark);--_btn-color:var(--le-color-secondary-contrast);--_btn-border-color:var(--le-color-secondary)}:host(.color-success){--_btn-bg:var(--le-color-success);--_btn-bg-hover:var(--le-color-success-dark);--_btn-color:var(--le-color-success-contrast);--_btn-border-color:var(--le-color-success)}:host(.color-warning){--_btn-bg:var(--le-color-warning);--_btn-bg-hover:var(--le-color-warning-dark);--_btn-color:var(--le-color-warning-contrast);--_btn-border-color:var(--le-color-warning)}:host(.color-danger){--_btn-bg:var(--le-color-danger);--_btn-bg-hover:var(--le-color-danger-dark);--_btn-color:var(--le-color-danger-contrast);--_btn-border-color:var(--le-color-danger)}:host(.color-info){--_btn-bg:var(--le-color-info);--_btn-bg-hover:var(--le-color-info-dark);--_btn-color:var(--le-color-info-contrast);--_btn-border-color:var(--le-color-info)}:host(.variant-solid) .le-button-container{box-shadow:var(--le-shadow-sm)}:host(.variant-solid) .le-button-container:hover:not(:disabled){box-shadow:var(--le-shadow-md)}:host(.variant-outlined) .le-button-container{background:transparent;color:var(--_btn-bg);border-color:color-mix(in srgb, var(--_btn-border-color) 33%, transparent)}:host(.variant-outlined) .le-button-container:hover:not(:disabled){border-color:var(--_btn-border-color)}:host(.variant-clear) .le-button-container{background:transparent;color:var(--_btn-bg);border-color:transparent}:host(.variant-clear) .le-button-container:hover:not(:disabled){background:var(--le-color-gray-100);border-color:transparent}:host(.variant-system) .le-button-container{background:transparent;color:var(--_btn-bg-system);border-color:transparent}:host(.size-small){--le-button-padding-x:0.4rem;--le-button-padding-y:0.3rem;--le-button-padding-top:0.35rem;--le-button-font-size:var(--le-button-small-font-size, var(--le-font-size-xs))}:host(.size-large){--le-button-padding-x:0.9rem;--le-button-padding-y:0.6rem;--le-button-font-size:var(--le-font-size-xl)}:host(.full-width){display:block;width:100%}:host(.selected) .le-button-container{box-shadow:inset 0 0 4px var(--le-color-shadow)}:host(.variant-outlined.selected) .le-button-container,:host(.variant-clear.selected) .le-button-container{background:var(--_btn-bg);color:var(--_btn-color)}:host(.icon-only) .le-button-container{padding:0.5rem;padding-bottom:0.6rem;aspect-ratio:var(--le-button-icon-aspect-ratio, 1)}:host(.icon-only.size-small) .le-button-container{padding:var(--le-button-small-padding, 0.25rem)}:host(.icon-only.size-large) .le-button-container{padding:0.75rem}:host(.icon-only) .content{display:none}.content{display:inline}.content:empty{display:none}.icon-start,.icon-only,.icon-end{display:flex;align-items:center;justify-content:center}.icon-start:empty,.icon-only:empty,.icon-end:empty{display:none}::slotted([slot="icon-start"]),::slotted([slot="icon-only"]),::slotted([slot="icon-end"]){display:flex;align-items:center;justify-content:center;width:1.125em;height:1.125em}.le-button-align-start{justify-content:flex-start}.le-button-align-center{justify-content:center}.le-button-align-space-between{justify-content:space-between}.le-button-align-end{justify-content:flex-end}`;const f=class{constructor(o){e(this,o);this.leClick=t(this,"click")}get el(){return o(this)}mode;variant="solid";color="primary";size="medium";selected=false;fullWidth=false;iconOnly;iconStart;iconEnd;disabled=false;type="button";href;target;align="center";leClick;handleClick=e=>{e.stopPropagation();if(this.disabled){e.preventDefault();return}this.leClick.emit(e)};render(){const e=l(`variant-${this.variant}`,`color-${this.color}`,`size-${this.size}`,{selected:this.selected,"full-width":this.fullWidth,"icon-only":this.iconOnly,disabled:this.disabled});const t=this.href?"a":"button";const o=this.href?{href:this.href,target:this.target,role:"button"}:{type:this.type,disabled:this.disabled};return i(s,{key:"bc9515b65357611b9a29f8c4f89edfdfb1535bf0",class:e},i("le-component",{key:"bb5367d16d781e6af44f709d5f132faa3b0fc88e",component:"le-button"},i(t,{key:"09118bccd54456ee8dadaaff92d9fedfa91831ec",class:l("le-button-container",`le-button-align-${this.align}`),part:"button",...o,onClick:this.handleClick},this.iconOnly!==undefined?i("slot",{name:"icon-only"},typeof this.iconOnly==="string"?this.iconOnly:null):i(r,null,i("span",{class:"le-button-label"},this.iconStart&&i("span",{class:"icon-start",part:"icon-start"},this.iconStart),i("le-slot",{name:"",description:"Button text",type:"text",class:"content",part:"content"},i("slot",null))),this.iconEnd&&i("span",{class:"icon-end",part:"icon-end"},this.iconEnd)))))}};f.style=p();const u=()=>`:host{display:block;--le-checkbox-size:18px;--le-checkbox-color:var(--le-color-primary, #007bff);--le-checkbox-label-color:var(--le-color-text-primary, #333);--le-checkbox-desc-color:var(--le-color-text-secondary, #666);--le-checkbox-border-radius:var(--le-radius-sm, 2px);--le-checkbox-marker-color:var(--le-color-surface, #fff)}.le-checkbox-wrapper{display:flex;flex-direction:column;gap:4px}.le-checkbox-label{display:inline-flex;align-items:flex-start;gap:8px;cursor:pointer;user-select:none}:host([disabled]) .le-checkbox-label{cursor:not-allowed;opacity:0.6}.le-checkbox-input{display:flex;align-items:center;justify-content:center;min-height:1.4em}input[type="checkbox"]{appearance:none;-webkit-appearance:none;width:var(--le-checkbox-size);height:var(--le-checkbox-size);border:var(--le-border-width, 2px) solid var(--le-checkbox-color);border-radius:var(--le-checkbox-border-radius);margin:0;margin-top:2px;position:relative;cursor:inherit;background-color:transparent;transition:background-color 0.2s, border-color 0.2s}input[type="checkbox"]:checked{background-color:var(--le-checkbox-color)}input[type="checkbox"]:checked::after{content:'';position:absolute;left:0;top:0;bottom:calc(var(--le-checkbox-size) / 5);right:0;margin:auto;width:calc(var(--le-checkbox-size) / 4);height:calc(var(--le-checkbox-size) / 2);border:solid var(--le-checkbox-marker-color, #fff);border-width:0 calc(var(--le-checkbox-size) / 10) calc(var(--le-checkbox-size) / 10) 0;transform:rotate(45deg)}input[type="checkbox"]:focus-visible{outline:2px solid var(--le-color-focus);outline-offset:2px}.le-checkbox-text{flex:1;flex-wrap:wrap;color:var(--le-checkbox-label-color);line-height:1.5;text-align:start}.le-checkbox-description{margin-left:calc(var(--le-checkbox-size) + 8px);font-size:0.875em;color:var(--le-checkbox-desc-color);line-height:1.4}:host [slot="description"]{margin:0}`;const b=class{constructor(o){e(this,o);this.leChange=t(this,"change")}get el(){return o(this)}checked=false;disabled=false;name;value;externalId;leChange;handleChange=e=>{e.stopPropagation();if(this.disabled){e.preventDefault();return}const t=e.target;this.checked=t.checked;this.leChange.emit({checked:this.checked,value:this.value,name:this.name,externalId:this.externalId})};render(){return i("le-component",{key:"15e49aa77c2d904b1610f68802428e9dd86b3631",component:"le-checkbox",hostClass:l({disabled:this.disabled})},i("div",{key:"50691376a207f004112820742df46ef9ff8016e0",class:"le-checkbox-wrapper"},i("label",{key:"339a209a9a649ff491dd1867e617f71e4bca7365",class:"le-checkbox-label"},i("span",{key:"1086e8989abe5a23ac01bd2323a8ae2454c4acb6",class:"le-checkbox-input"},i("input",{key:"90126054fb3aa8ed58d043694275cac416d06578",type:"checkbox",name:this.name,value:this.value,checked:this.checked,disabled:this.disabled,onChange:this.handleChange})),i("span",{key:"8b47592103fbd4f7e3b7b1b01f27d42bf6dccbc7",class:"le-checkbox-text"},i("le-slot",{key:"c5f5aaff0b69bcf7d993ea84181a63d30b794774",name:"",type:"text",tag:"span"},i("slot",{key:"bc615ec211b6db8f5f22760ae5298560384a1b84"})))),i("div",{key:"0c6037f4d7948b262beb4a5b969018fb6b0cad4a",class:"le-checkbox-description"},i("le-slot",{key:"17631ed776592063601dd37052f43d7e4732af21",name:"description",type:"text",tag:"div",label:"Description"},i("slot",{key:"13a3138cd0101fc1f9175a89ed933a2f2d4df79f",name:"description"})))))}};b.style=u();const g=()=>`:host{--le-collapse-duration:var(--le-transition-normal);display:grid;grid-template-rows:1fr;opacity:1;transition:grid-template-rows var(--le-collapse-duration),\n opacity var(--le-collapse-duration)}:host([data-open="false"]),:host([closed]){grid-template-rows:0fr;opacity:0}:host([no-fading][data-open="false"]),:host([no-fading][closed]){opacity:1}.region{display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden}.region.scroll-down{justify-content:flex-start}`;const m=class{constructor(t){e(this,t)}get el(){return o(this)}closed=false;scrollDown=false;noFading=false;collapseOnHeaderShrink=false;handleHeaderShrink(e){const t=e;this.headerShrunk=!!t.detail?.shrunk}headerShrunk=false;componentDidLoad(){this.applyOpenState()}onOpenChange(){this.applyOpenState()}onDrivenStateChange(){this.applyOpenState()}shouldBeOpen(){if(this.closed)return false;if(this.collapseOnHeaderShrink&&this.headerShrunk)return false;return true}applyOpenState(){const e=this.shouldBeOpen();this.el.toggleAttribute("data-open",e)}render(){return i(s,{key:"946501d440fa391cfea13283072c387fd1e98b65","data-open":this.shouldBeOpen()?"true":"false"},i("le-component",{key:"fb5c7e9f9e15dc3ef440f9703977ee7f09ffe676",component:"le-collapse"},i("div",{key:"83ec865adb8a11cc9de7a6a173b85245414360e8",class:{region:true,"scroll-down":this.scrollDown},part:"region"},i("slot",{key:"6b402e2beac8bde188da48719f47e5f9fc12581d"}))))}static get watchers(){return{open:["onOpenChange"],headerShrunk:["onDrivenStateChange"]}}};m.style=g();const v=()=>`:host{display:contents}:host(.admin-mode){display:block}.le-component-wrapper{position:relative;border:2px dashed var(--le-admin-border-color, #90caf9);border-radius:var(--le-radius-md, 8px);background:var(--le-admin-bg, rgba(144, 202, 249, 0.05));transition:border-color 0.2s ease, box-shadow 0.2s ease}.le-component-wrapper:hover{border-color:var(--le-admin-border-hover, #42a5f5);box-shadow:0 0 0 2px var(--le-admin-glow, rgba(66, 165, 245, 0.2))}.le-component-header{display:flex;align-items:center;justify-content:space-between;gap:var(--le-spacing-1, 4px);padding:0 0 0 var(--le-spacing-1, 4px);background:var(--le-admin-header-bg, rgba(144, 202, 249, 0.15));border-bottom:1px solid var(--le-admin-border-color, #90caf9);border-radius:var(--le-radius-md, 8px) var(--le-radius-md, 8px) 0 0;font-size:var(--le-font-size-xs, 11px)}.le-component-name{font-weight:var(--le-font-weight-medium, 500);color:var(--le-admin-text, #1976d2);text-transform:capitalize;text-align:start;overflow:hidden;width:0;flex:1 1 0%}.le-component-content{padding:var(--le-space-xs, 4px)}.le-component-trigger{font-size:24px;line-height:0px;width:12px;height:12px}.le-component-button{width:20px}.property-editor{display:flex;flex-direction:column;gap:var(--le-space-sm, 8px);max-width:380px}.property-field{display:flex;flex-direction:column;gap:var(--le-space-xs, 4px)}.property-field label{display:flex;flex-direction:column;gap:2px;font-size:var(--le-font-size-sm, 13px);font-weight:var(--le-font-weight-medium, 500);color:var(--le-color-text, #333)}.property-hint{font-size:var(--le-font-size-xs, 11px);font-weight:normal;color:var(--le-color-text-secondary, #666);line-height:1.3}.property-field input[type="text"],.property-field input[type="number"],.property-field select{padding:var(--le-space-xs, 4px) var(--le-space-sm, 8px);border:1px solid var(--le-color-border, #ddd);border-radius:var(--le-radius-md, 7px);font-size:var(--le-font-size-sm, 13px);font-family:inherit;background:var(--le-color-surface, #fff);color:var(--le-color-text, #333);transition:border-color 0.15s ease, box-shadow 0.15s ease}.property-field input:focus,.property-field select:focus{outline:none;border-color:var(--le-color-primary, #1976d2);box-shadow:0 0 0 2px var(--le-color-primary-light, rgba(25, 118, 210, 0.2))}.property-field--checkbox{flex-direction:column}.property-field--checkbox label{flex-direction:row;align-items:center;gap:var(--le-space-sm, 8px);cursor:pointer}.property-field--checkbox input[type="checkbox"]{width:16px;height:16px;margin:0;cursor:pointer;accent-color:var(--le-color-primary, #1976d2)}.property-field--checkbox .property-hint{margin-left:24px}.no-properties{margin:0;padding:var(--le-space-sm, 8px);font-size:var(--le-font-size-sm, 13px);color:var(--le-color-text-secondary, #666);text-align:center}.property-editor-container{display:flex;flex-direction:column;gap:var(--le-space-md, 12px)}.property-editor-actions{padding-top:var(--le-space-sm, 8px);border-top:1px solid var(--le-color-border, #e5e5e5)}.delete-component-btn{display:flex;align-items:center;justify-content:center;gap:var(--le-space-xs, 4px);width:100%;padding:var(--le-space-sm, 8px) var(--le-space-md, 12px);border:1px solid var(--le-color-danger, #e53935);border-radius:var(--le-radius-md, 6px);background:transparent;color:var(--le-color-danger, #e53935);font-size:var(--le-font-size-sm, 13px);font-weight:500;cursor:pointer;transition:background-color 0.15s, color 0.15s}.delete-component-btn:hover{background:var(--le-color-danger, #e53935);color:white}.delete-component-btn:active{opacity:0.9}`;const x=class{constructor(t){e(this,t)}get el(){return o(this)}component;displayName;hostClass;hostStyle;hostElement;adminMode=false;componentMeta=null;propertyValues={};disconnectModeObserver;connectedCallback(){this.findHostElement();this.disconnectModeObserver=c(this.el,(e=>{this.adminMode=e==="admin";if(this.adminMode){if(!this.componentMeta){this.loadComponentMetadata()}else{this.readPropertyValues()}}}))}findHostElement(){const e=this.el.getRootNode();if(e instanceof ShadowRoot){this.hostElement=e.host}}componentDidLoad(){this.readPropertyValues()}disconnectedCallback(){this.disconnectModeObserver?.()}formatDisplayName(e){if(!e||typeof e!=="string")return"unknown";return e.replace(/^le-/,"").split("-").map((e=>e.charAt(0).toUpperCase()+e.slice(1))).join(" ")}async loadComponentMetadata(){try{const{manifestFile:e}=a();const t=n(`./assets/${e}`);const o=await fetch(t);const i=await o.json();for(const e of i.modules){for(const t of e.declarations||[]){if(t.tagName===this.component){const e=(t.attributes||[]).filter((e=>!this.isInternalAttribute(e.name)));this.componentMeta={tagName:t.tagName,description:t.description,attributes:e};this.readPropertyValues();return}}}}catch(e){}}isInternalAttribute(e){const t=["mode","theme","class","style","id","slot"];return t.includes(e)}readPropertyValues(){if(!this.hostElement||!this.componentMeta)return;const e={};for(const t of this.componentMeta.attributes){const o=this.hostElement.getAttribute(t.name);e[t.name]=this.parseAttributeValue(o,t.type?.text)}this.propertyValues=e}parseAttributeValue(e,t){if(e===null)return undefined;if(t==="boolean"){return e!==null&&e!=="false"}if(t==="number"){return parseFloat(e)}return e}handlePropertyChange(e,t,o){if(!this.hostElement)return;if(o==="boolean"){if(t){this.hostElement.setAttribute(e,"")}else{this.hostElement.removeAttribute(e)}}else if(t===undefined||t===""){this.hostElement.removeAttribute(e)}else{this.hostElement.setAttribute(e,String(t))}this.propertyValues={...this.propertyValues,[e]:t}}deleteComponent(){if(!this.hostElement)return;const e=this.displayName||this.formatDisplayName(this.component);if(!h(`Delete this ${e}?`))return;const t=this.hostElement.parentElement;if(t){this.hostElement.remove()}}renderPropertyEditor(){const e=this.componentMeta&&this.componentMeta.attributes.length>0;return i("div",{class:"property-editor-container"},e?i("form",{class:"property-editor",onSubmit:e=>e.preventDefault()},this.componentMeta.attributes.map((e=>this.renderPropertyField(e)))):i("p",{class:"no-properties"},"No editable properties"),i("div",{class:"property-editor-actions"},i("le-button",{type:"button",variant:"outlined",color:"danger","full-width":true,onClick:()=>this.deleteComponent()},i("span",{slot:"icon-start"},"🗑️"),i("span",null,"Delete Component"))))}renderPropertyField(e){const t=this.propertyValues[e.name];const o=e.type?.text||"string";const r=o.match(/^'[^']+'/);if(r){const r=o.split("|").map((e=>e.trim().replace(/'/g,"")));return i("div",{class:"property-field"},i("label",{htmlFor:`prop-${e.name}`},e.name,e.description&&i("span",{class:"property-hint"},e.description)),i("le-select",{options:[...r.map((e=>({label:e,value:e})))],"full-width":true,value:t??e.default?.replace(/'/g,""),placeholder:e.default?.replace(/'/g,""),onLeChange:t=>this.handlePropertyChange(e.name,t.detail.value,o)}))}if(o==="boolean"){return i("div",{class:"property-field property-field--checkbox"},i("le-checkbox",{name:`prop-${e.name}`,checked:t===true||t==="",onChange:t=>this.handlePropertyChange(e.name,t.target.checked,o)},e.name,e.description&&i("div",{slot:"description"},e.description)))}if(o==="number"){return i("div",{class:"property-field"},i("label",{htmlFor:`prop-${e.name}`},e.name,e.description&&i("span",{class:"property-hint"},e.description)),i("input",{type:"number",id:`prop-${e.name}`,value:t??"",placeholder:e.default,onChange:t=>this.handlePropertyChange(e.name,t.target.value,o)}))}return i("div",{class:"property-field"},i("le-string-input",{name:`prop-${e.name}`,label:e.name,value:t??"",placeholder:e.default?.replace(/'/g,""),onChange:t=>this.handlePropertyChange(e.name,t.detail.value,o)},i("span",{slot:"description"},e.description)))}render(){const e=this.displayName||this.formatDisplayName(this.component);if(!this.adminMode){return i(s,{class:l(this.component,this.hostClass),style:this.hostStyle},i("slot",null))}return i(s,{class:l(this.component,this.hostClass,"admin-mode"),style:this.hostStyle},i("div",{class:"le-component-wrapper"},i("div",{class:"le-component-header"},i("span",{class:"le-component-name"},e),i("le-popover",{popoverTitle:`${e} Settings`,position:"right",align:"start","min-width":"300px",mode:"default"},i("le-button",{type:"button",class:"le-component-button",slot:"trigger",variant:"clear",size:"small","aria-label":"Edit component properties","icon-only":true},i("span",{class:"le-component-trigger",slot:"icon-only"},"⚙")),this.renderPropertyEditor())),i("div",{class:"le-component-content"},i("slot",null))))}static get assetsDirs(){return["assets"]}};x.style=v();const y=()=>`:host{display:inline-flex;min-width:0}.title{font:inherit;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--le-current-heading-color, var(--le-color-text-primary))}`;const w=class{constructor(t){e(this,t)}get el(){return o(this)}selector="";activeText=null;componentWillLoad(){this.updateActiveTitle()}onSelectorChange(){this.updateActiveTitle()}onScroll(){this.updateActiveTitle()}onResize(){this.updateActiveTitle()}updateActiveTitle(){if(typeof window==="undefined")return;const e=(this.selector??"").trim();if(!e){this.activeText=null;return}let t=[];try{t=Array.from(document.querySelectorAll(e))}catch{this.activeText=null;return}let o=null;for(const e of t){const t=e.getBoundingClientRect();if(t.height>0&&t.bottom<=0){const t=(e.textContent??"").trim();if(t)o=t}}if(o!==this.activeText){this.activeText=o}}render(){return i(s,{key:"d6773c072799d0337b7d2bade9de2c169e35d3c8"},this.activeText?i("span",{class:"title",part:"title"},this.activeText):i("slot",null))}static get watchers(){return{selector:["onSelectorChange"]}}};w.style=y();const k=()=>`:host{display:block;--le-dropdown-list-padding:var(--le-spacing-1);--le-dropdown-empty-padding:var(--le-spacing-4);--le-dropdown-option-radius:var(--le-radius-md);--le-dropdown-font-size:var(--le-font-size-sm);--le-dropdown-option-padding:var(--le-spacing-1) var(--le-spacing-2);--le-dropdown-group-padding:var(--le-spacing-2) var(--le-spacing-2) var(--le-spacing-1);--le-dropdown-group-font-size:var(--le-font-size-xs)}:host([disabled]){pointer-events:none;opacity:0.5}le-popover::part(content){overflow-y:auto;overflow-x:hidden;padding:var(--le-dropdown-list-padding, 0.25rem)}.dropdown-empty{padding:var(--le-dropdown-empty-padding);text-align:center;color:var(--le-color-text-secondary, #9ca3af);font-size:var(--le-dropdown-font-size)}.dropdown-group-header{padding:var(--le-dropdown-group-padding);font-size:var(--le-dropdown-group-font-size);font-weight:700;color:var(--le-color-text-secondary, #9ca3af);letter-spacing:0.05em}.dropdown-list{text-align:initial}.dropdown-separator{height:1px;margin:var(--le-dropdown-separator-margin, 0.25rem 0);background:var(--le-color-border, #e5e7eb)}.dropdown-option{display:flex;align-items:center;gap:var(--le-dropdown-option-gap, 0.5rem);padding:var(--le-dropdown-option-padding);font-size:var(--le-dropdown-font-size, 0.875rem);line-height:1.4;color:var(--le-color-text, #1f2937);border:1px solid transparent;border-radius:var(--le-dropdown-option-radius, 0.25rem);cursor:pointer;user-select:none;transition:background-color 0.1s ease}.dropdown-option:hover,.dropdown-option.is-focused{border-color:var(--le-color-border-hover, #d1d5db)}.dropdown-option.is-disabled{opacity:0.5;cursor:not-allowed}.dropdown-option.is-disabled:hover{background:transparent}.option-checkbox{display:flex;align-items:center;justify-content:center;width:1rem;height:1rem;border:2px solid var(--le-color-border, #d1d5db);border-radius:0.25rem;background:var(--le-color-surface, #fff);flex-shrink:0}.is-selected .option-checkbox{background:var(--le-color-primary, #3b82f6);border-color:var(--le-color-primary, #3b82f6);color:white}.option-checkbox svg{width:0.75rem;height:0.75rem}.option-icon-start,.option-icon-end{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:1.25rem;height:1.25rem}.option-icon-start img,.option-icon-end img{width:100%;height:100%;object-fit:contain}.option-content{flex:1;min-width:0;display:flex;flex-direction:column}.option-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.option-description{font-size:0.75rem;color:var(--le-color-text-muted, #6b7280);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.option-check{display:flex;align-items:center;justify-content:center;width:1rem;height:1rem;color:var(--le-color-primary, #3b82f6);flex-shrink:0}.option-check svg{width:1rem;height:1rem}`;const C=class{constructor(o){e(this,o);this.leOptionSelect=t(this,"leOptionSelect");this.leDropdownOpen=t(this,"leDropdownOpen");this.leDropdownClose=t(this,"leDropdownClose")}get el(){return o(this)}options=[];value;multiple=false;open=false;disabled=false;filterFn;filterQuery="";emptyText="No options";showCheckboxes=true;maxHeight="300px";width;fullWidth=false;closeOnClickOutside=true;leOptionSelect;leDropdownOpen;leDropdownClose;focusedIndex=-1;filteredOptions=[];popoverEl;listEl;triggerWidth=0;handleOptionsChange(){this.updateFilteredOptions()}componentWillLoad(){this.updateFilteredOptions()}updateFilteredOptions(){const e=this.filteredOptions[this.focusedIndex];if(!this.filterQuery||!this.filterFn){this.filteredOptions=this.options}else{this.filteredOptions=this.options.filter((e=>this.filterFn(e,this.filterQuery)))}if(e){const t=this.filteredOptions.indexOf(e);this.focusedIndex=t>=0?t:this.getInitialFocusIndex()}else{this.focusedIndex=-1}}getSelectableOptions(){return this.filteredOptions.filter((e=>!e.disabled))}isSelected(e){const t=e.value??e.label;if(this.multiple&&Array.isArray(this.value)){setTimeout((()=>{this.popoverEl?.updatePosition()}),50);return this.value.includes(t)}return this.value===t}handleOptionClick(e,t){t.preventDefault();t.stopPropagation();if(e.disabled)return;this.leOptionSelect.emit({value:e.value??e.label,option:e});if(!this.multiple){this.hide()}}handleKeyDown=e=>{if(!this.open)return;const t=this.filteredOptions.length;switch(e.key){case"ArrowDown":e.preventDefault();let o=this.focusedIndex<t-1?this.focusedIndex+1:0;while(this.filteredOptions[o].disabled){o=++o<t?o:0}this.focusedIndex=o;this.scrollToFocused();break;case"ArrowUp":e.preventDefault();let i=this.focusedIndex>0?this.focusedIndex-1:t-1;while(this.filteredOptions[i].disabled){i=--i>=0?i:t-1}this.focusedIndex=i;this.scrollToFocused();break;case"Home":e.preventDefault();let r=0;while(this.filteredOptions[r].disabled){r++;if(r>=t){r=-1;break}}this.focusedIndex=r;this.scrollToFocused();break;case"End":e.preventDefault();let s=t-1;while(this.filteredOptions[s].disabled){s--;if(s<0){s=-1;break}}this.focusedIndex=s;this.scrollToFocused();break;case"Enter":case" ":e.preventDefault();if(this.focusedIndex>=0&&this.focusedIndex<t){const e=this.filteredOptions[this.focusedIndex];if(!e||e.disabled)return;this.leOptionSelect.emit({value:e.value??e.label,option:e});if(!this.multiple){this.hide()}}break;case"Escape":e.preventDefault();this.hide();break;case"Tab":this.hide();break}};scrollToFocused(){if(!this.listEl||this.focusedIndex<0)return;const e=this.listEl.querySelector(`[data-index="${this.focusedIndex}"]`);if(e){e.scrollIntoView({block:"nearest"})}}handlePopoverOpen=()=>{this.open=true;this.focusedIndex=this.getInitialFocusIndex();this.leDropdownOpen.emit();document.addEventListener("keydown",this.handleKeyDown)};handlePopoverClose=()=>{this.open=false;this.focusedIndex=-1;this.leDropdownClose.emit();document.removeEventListener("keydown",this.handleKeyDown)};getInitialFocusIndex(){const e=this.getSelectableOptions();const t=e.findIndex((e=>this.isSelected(e)));return t>=0?t:0}async show(){if(this.disabled)return;const e=this.el.querySelector('[slot="trigger"]');if(e){this.triggerWidth=e.offsetWidth}await(this.popoverEl?.show())}async hide(){await(this.popoverEl?.hide())}async toggle(){if(this.open){await this.hide()}else{await this.show()}}renderIcon(e,t){if(!e)return null;if(e.startsWith("http")||e.startsWith("/")){return i("img",{class:t,src:e,alt:""})}return i("span",{class:t},e)}renderOption(e,t){const o=this.isSelected(e);const r=t===this.focusedIndex;const s=e.id||d();return i("div",{class:{"dropdown-option":true,"is-selected":o,"is-focused":r,"is-disabled":!!e.disabled},role:"option",id:s,"aria-selected":o?"true":"false","aria-disabled":e.disabled?"true":undefined,"data-index":t,onClick:t=>this.handleOptionClick(e,t),onMouseEnter:()=>{if(!e.disabled){this.focusedIndex=t}}},this.renderIcon(e.iconStart,"option-icon-start"),i("div",{class:"option-content"},i("span",{class:"option-label"},e.label),e.description&&i("span",{class:"option-description"},e.description)),this.renderIcon(e.iconEnd,"option-icon-end"),(!this.multiple||this.showCheckboxes)&&o&&i("span",{class:"option-check"},i("svg",{viewBox:"0 0 16 16",fill:"currentColor"},i("path",{d:"M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z"}))))}renderOptions(){if(this.filteredOptions.length===0){return i("div",{class:"dropdown-empty"},this.emptyText)}const e=new Map;const t=[];this.filteredOptions.forEach((o=>{if(o.group){const t=e.get(o.group)||[];t.push(o);e.set(o.group,t)}else{t.push(o)}}));let o=0;const r=[];t.forEach((e=>{if(e.separator==="before"){r.push(i("div",{class:"dropdown-separator",role:"separator"}))}r.push(this.renderOption(e,o++));if(e.separator==="after"){r.push(i("div",{class:"dropdown-separator",role:"separator"}))}}));e.forEach(((e,t)=>{r.push(i("div",{class:"dropdown-group-header",role:"presentation"},t));e.forEach((e=>{r.push(this.renderOption(e,o++))}))}));return r}render(){const e=this.width||(this.triggerWidth?`${this.triggerWidth}px`:undefined);return i(s,{key:"eeb6316ffb006adb8d53f3c2f81cadde32d261ae"},i("le-popover",{key:"703c57bf2185590df226787778ad67cd423ce943",ref:e=>this.popoverEl=e,position:"bottom",align:"start",showClose:false,closeOnClickOutside:this.closeOnClickOutside,closeOnEscape:true,offset:4,width:e,minWidth:"150px","trigger-full-width":this.fullWidth,onLePopoverOpen:this.handlePopoverOpen,onLePopoverClose:this.handlePopoverClose},i("slot",{key:"bc401b4af80c9e6d15c4f5fe2a5ff2687b9ae582",name:"trigger",slot:"trigger"}),i("slot",{key:"3414d6eb1d4fecfe642b31e2a1abd271c83ab2df",name:"header"}),i("div",{key:"685d0aa6e15b6a191d517e194ae96302cfb4a191",class:"dropdown-list",role:"listbox","aria-multiselectable":this.multiple?"true":undefined,ref:e=>this.listEl=e,style:{maxHeight:this.maxHeight}},this.renderOptions())))}static get watchers(){return{options:["handleOptionsChange"],filterQuery:["handleOptionsChange"]}}};C.style=k();const z=()=>`:host{display:block;width:100%;--le-header-top-offset:0;--le-header-bg:var(--le-color-surface);--le-header-max-width:var(--le-header-max-width, auto);--le-header-margin:0 auto;--le-header-border:1px solid var(--le-color-border);--le-header-border-radius:0px;--le-header-shadow:var(--le-header-shadow, none);--le-header-color:var(--le-color-text);--le-header-content-max-width:800px;--le-header-padding-x:var(--le-space-md);--le-header-padding-y:var(--le-space-sm);--le-header-gap:var(--le-space-sm);--le-header-transition:var(--le-transition-normal);--le-header-z:1000}.header{width:100%;max-width:var(--le-header-max-width);margin:var(--le-header-margin);background:var(--le-header-bg);color:var(--le-header-color);border-bottom:var(--le-header-border);border-radius:var(--le-header-border-radius);box-shadow:var(--le-header-shadow)}:host(.is-fixed){position:fixed;top:var(--le-header-top-offset);left:0;right:0;z-index:var(--le-header-z)}:host(.is-sticky){position:sticky;top:var(--le-header-top-offset);z-index:var(--le-header-z)}:host(.is-static){position:relative}.inner{max-width:var(--le-header-content-max-width);margin:0 auto;padding:var(--le-header-padding-y) var(--le-header-padding-x)}.row{display:grid;grid-template-columns:minmax(0, 1fr) minmax(0, 2fr) minmax(0, 1fr);align-items:center;gap:var(--le-header-gap);transition:height var(--le-header-transition),\n padding var(--le-header-transition),\n transform var(--le-header-transition)}:host(.is-shrunk) .row{height:var(--le-header-height-condensed)}:host(.is-sticky.is-hidden){transform:translateY(-150%);transition:transform var(--le-header-transition)}:host(.is-sticky.is-revealed){transform:translateY(0);transition:transform var(--le-header-transition)}.start,.title,.end{min-width:0;display:flex;align-items:center}.start{justify-content:flex-start}.end{justify-content:flex-end}.title{justify-content:center;text-align:center}.title-slot ::slotted(*){white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.compact-title{font:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}`;const S=class{constructor(o){e(this,o);this.leHeaderState=t(this,"leHeaderState");this.leHeaderShrinkChange=t(this,"leHeaderShrinkChange");this.leHeaderVisibilityChange=t(this,"leHeaderVisibilityChange")}get el(){return o(this)}isStatic=false;sticky=false;fixed=false;revealOnScroll;shrinkOffset;expandOnHover=false;leHeaderState;leHeaderShrinkChange;leHeaderVisibilityChange;revealed=true;shrunk=false;placeholderHeight=null;hoverActive=false;disconnectModeObserver;rafId=null;measureRafId=null;lastY=0;lastEmittedDirection="down";headerEl;shrinkSelectorEl;setShrunk(e,t){if(e===this.shrunk)return;this.shrunk=e;this.leHeaderShrinkChange.emit({shrunk:this.shrunk,y:t})}componentDidLoad(){if(typeof window==="undefined")return;this.lastY=window.scrollY||0;this.scheduleMeasure(true);this.scheduleUpdate(true)}disconnectedCallback(){this.disconnectModeObserver?.();if(this.rafId!=null){cancelAnimationFrame(this.rafId);this.rafId=null}if(this.measureRafId!=null){cancelAnimationFrame(this.measureRafId);this.measureRafId=null}}onBehaviorPropsChange(){this.scheduleUpdate(true);this.scheduleMeasure(true)}onWindowScroll(){this.scheduleUpdate()}onWindowResize(){this.scheduleMeasure(true);this.scheduleUpdate(true)}getPosition(){if(this.fixed)return"fixed";if(this.sticky)return"sticky";return"static"}parseRevealThreshold(){if(!this.sticky||this.fixed)return null;if(this.revealOnScroll==null)return null;const e=String(this.revealOnScroll).trim();if(e===""||e==="true")return 16;if(e==="false")return null;const t=Number(e);return Number.isFinite(t)?Math.max(0,t):16}resolveShrinkStartPx(){const e=(this.shrinkOffset??"").trim();if(!e||e==="0")return null;const t=Number(e);if(Number.isFinite(t))return Math.max(0,t);if(e.startsWith("--")){const t=getComputedStyle(document.documentElement).getPropertyValue(e).trim();const o=Number(t.replace("px","").trim());return Number.isFinite(o)?Math.max(0,o):null}try{const t=document.querySelector(e);this.shrinkSelectorEl=t;return null}catch{this.shrinkSelectorEl=null;return null}}scheduleUpdate(e=false){if(this.rafId!=null){if(!e)return;cancelAnimationFrame(this.rafId);this.rafId=null}this.rafId=requestAnimationFrame((()=>{this.rafId=null;this.updateFromScroll()}))}scheduleMeasure(e=false){if(this.measureRafId!=null&&!e)return;this.measureRafId=requestAnimationFrame((()=>{this.measureRafId=null;this.measurePlaceholderHeight()}))}measurePlaceholderHeight(){if(!this.headerEl)return;const e=Math.ceil(this.headerEl.getBoundingClientRect().height);if(!Number.isFinite(e)||e<=0)return;if(e!==this.placeholderHeight){this.placeholderHeight=e;if(typeof document!=="undefined"){document.documentElement.style.setProperty("--le-header-height",`${e}px`)}}}updateFromScroll(){const e=typeof window!=="undefined"?window.scrollY||0:0;const t=e-this.lastY;const o=t<0?"up":"down";let i=false;const r=Math.max(0,this.placeholderHeight??0);const s=typeof window!=="undefined"?this.resolveShrinkStartPx():null;if(this.shrinkSelectorEl){const e=this.shrinkSelectorEl.getBoundingClientRect();i=e.bottom<=0}else if(s!=null){const t=Math.max(s,r);i=e>=t}const n=this.expandOnHover&&this.hoverActive?false:i;this.setShrunk(n,e);const a=this.parseRevealThreshold();if(a!=null){const i=Math.max(0,this.placeholderHeight??0);if(e<=i){if(!this.revealed){this.revealed=true;this.leHeaderVisibilityChange.emit({visible:true,y:e})}}else if(Math.abs(t)>=a){const t=o==="up"||e<=0;if(t!==this.revealed){this.revealed=t;this.leHeaderVisibilityChange.emit({visible:this.revealed,y:e})}this.lastEmittedDirection=o}}else{if(!this.revealed){this.revealed=true;this.leHeaderVisibilityChange.emit({visible:true,y:e})}}this.lastY=e;this.leHeaderState.emit({y:e,direction:this.lastEmittedDirection,revealed:this.revealed,shrunk:this.shrunk})}render(){const e=this.getPosition();const t=l("le-header",{"header-is-shrunk":this.shrunk,"is-fixed":e==="fixed","is-sticky":e==="sticky","is-static":e==="static","is-revealed":this.revealed,"is-hidden":!this.revealed,"is-shrunk":this.shrunk});return i(s,{key:"564328055a69a1646c7f9030ac274a30c3baad0a",class:t,onMouseEnter:()=>{if(!this.expandOnHover)return;this.hoverActive=true;this.scheduleUpdate(true)},onMouseLeave:()=>{if(!this.expandOnHover)return;this.hoverActive=false;this.scheduleUpdate(true)}},i("le-component",{key:"a9feac7b7229ed250b4c2cade7e5dce8bb79e634",component:"le-header"},i("header",{key:"acebe4ea5222593e65190a35515c60ee7e15549a",class:"header",part:"header",role:"banner",ref:e=>this.headerEl=e},i("div",{key:"bf37e677a5058e4e9bf74a4f6a3c62112daaea20",class:"inner",part:"inner"},i("div",{key:"d6886dba1b0e8003a2080f03f6bfe3fa0ffdca18",class:"row",part:"row"},i("div",{key:"d4c328bb74c955fa377a06f1a33783750bd83237",class:"start",part:"start"},i("le-slot",{key:"1b9d58c81f8a498637eefd7a1310c961b014d1a5",name:"start",label:"Start",description:"Logo / back button / nav","allowed-components":"le-button,le-text,le-tag,le-box,le-stack"},i("slot",{key:"d5c2727c4f427b60cad9575c0e74a18e7b229462",name:"start"}))),i("div",{key:"35831f9dfb3ff584cdc573081ebdeef1968f06c7",class:"title",part:"title"},i("le-slot",{key:"bed684a7880dfa79b4b7585dcb3c2bd024e0cc93",name:"title",label:"Title",description:"Header title",type:"text",tag:"span"},i("span",{key:"f523ee36ff1f0c6a2793e5d813d6b9a9c632f2bf",class:"title-slot",part:"title"},i("slot",{key:"39e750e3f4231406552187e961ae7e9a206d240b",name:"title"})))),i("div",{key:"c99435b41a905b6780c07e7103125d7c439af7cb",class:"end",part:"end"},i("le-slot",{key:"efca1aadcf9108add84dbb5a2ea539fb95e795c6",name:"end",label:"End",description:"Actions","allowed-components":"le-button,le-text,le-tag,le-box,le-stack"},i("slot",{key:"d04b78ca1eeb1cbae4b3575f03231b93ed4d9692",name:"end"})))),i("div",{key:"d83bda303c5fcd63da3e0419bd9276677d8f5cc7",class:"secondary",part:"secondary"},i("le-slot",{key:"1f5f6d317e969c54d87a6ad516fed071e72f342c",name:"",label:"Secondary",description:"Secondary row content","allowed-components":"le-tabs,le-tab-bar,le-select,le-combobox,le-text,le-stack,le-box"},i("slot",{key:"fb5a6a434190658f8fb55e3bc21d5f952a559ad5"})))))))}static get watchers(){return{revealOnScroll:["onBehaviorPropsChange"],shrinkOffset:["onBehaviorPropsChange"],fixed:["onBehaviorPropsChange"],sticky:["onBehaviorPropsChange"],isStatic:["onBehaviorPropsChange"]}}};S.style=z();const _=()=>`/* ============================================\n le-popover.css\n Popover using native HTML Popover API\n ============================================ */\n\n:host {\n display: inline-block;\n position: relative;\n}\n\n:host([trigger-full-width]) {\n display: block;\n width: 100%;\n}\n\n/* ============================================\n Trigger\n ============================================ */\n\n.le-popover-trigger {\n display: inline-flex;\n cursor: pointer;\n}\n\n.le-popover-trigger-full-width {\n display: flex;\n width: 100%;\n}\n\n.le-popover-default-trigger {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n padding: 0;\n border: 1px solid var(--le-color-border, #e0e0e0);\n border-radius: var(--le-radius-md, 6px);\n background: var(--le-color-surface, #fff);\n color: var(--le-color-text-secondary, #666);\n font-size: 16px;\n cursor: pointer;\n transition: all var(--le-transition-fast, 0.15s ease);\n}\n\n.le-popover-default-trigger:hover {\n border-color: var(--le-color-primary, #2196f3);\n color: var(--le-color-primary, #2196f3);\n background: var(--le-color-primary-light, rgba(33, 150, 243, 0.1));\n}\n\n/* ============================================\n Popover Content (native popover)\n ============================================ */\n\n.le-popover-content {\n /* Reset native popover defaults */\n margin: 0;\n padding: 0;\n border: none;\n background: transparent;\n \n /* Positioning - will be set via JS */\n position: fixed;\n inset: unset;\n \n /* Styling */\n background: var(--le-color-surface, #ffffff);\n border: 1px solid var(--le-color-border, #e0e0e0);\n border-radius: var(--le-radius-lg, 8px);\n box-shadow: var(--le-shadow-lg, 0 4px 12px rgba(0, 0, 0, 0.15));\n overflow: hidden;\n font-family: var(--le-font-family, system-ui, -apple-system, sans-serif);\n font-size: var(--le-font-size-sm, 0.875rem);\n color: var(--le-color-text, #333);\n \n /* Animation */\n opacity: 0;\n transform: scale(0.95);\n transition: opacity 0.15s ease, transform 0.15s ease, display 0.15s ease allow-discrete;\n}\n\n/* When popover is open */\n.le-popover-content:popover-open {\n opacity: 1;\n transform: scale(1);\n}\n\n/* Fallback for browsers without the Popover API */\n.le-popover-content[data-fallback-open="false"] {\n display: none;\n}\n\n.le-popover-content[data-fallback-open="true"] {\n opacity: 1;\n transform: scale(1);\n}\n\n/* Starting style for animation (CSS Anchor Positioning spec) */\n@starting-style {\n .le-popover-content:popover-open {\n opacity: 0;\n transform: scale(0.95);\n }\n}\n\n/* ============================================\n Header\n ============================================ */\n\n.le-popover-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: var(--le-space-xs, 4px) var(--le-space-xs, 4px) var(--le-space-xs, 4px) var(--le-space-sm, 8px);\n border-bottom: 1px solid var(--le-color-border, #e0e0e0);\n background: var(--le-color-surface-alt, #f9f9f9);\n min-height: 32px;\n}\n\n.le-popover-title {\n font-weight: var(--le-font-weight-semibold, 600);\n font-size: var(--le-font-size-sm, 0.875rem);\n color: var(--le-color-text, #333);\n}\n\n.le-popover-close {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n padding: 0;\n border: none;\n background: transparent;\n color: var(--le-color-text-secondary, #666);\n font-size: 18px;\n line-height: 1;\n cursor: pointer;\n border-radius: var(--le-radius-sm, 4px);\n transition: background-color 0.15s, color 0.15s;\n}\n\n.le-popover-close:hover {\n background: var(--le-color-surface-hover, rgba(0, 0, 0, 0.05));\n color: var(--le-color-text, #333);\n}\n\n/* ============================================\n Body\n ============================================ */\n\n.le-popover-body {\n padding: var(--le-space-md, 12px);\n}\n\n/* ============================================\n Scrollable content\n ============================================ */\n\n.le-popover-content[style*="overflow-y: auto"] .le-popover-body {\n overflow-y: auto;\n}\n`;const O=[];const P=class{constructor(o){e(this,o);this.lePopoverOpen=t(this,"lePopoverOpen");this.lePopoverClose=t(this,"lePopoverClose")}get el(){return o(this)}mode;open=false;position="bottom";align="start";popoverTitle;showClose=true;closeOnClickOutside=true;closeOnEscape=true;offset=8;width;minWidth="200px";maxWidth;triggerFullWidth=false;lePopoverOpen;lePopoverClose;async updatePosition(){this._updatePosition()}isPositioned=false;triggerEl;popoverEl;uniqueId=`le-popover-${Math.random().toString(36).substr(2,9)}`;scrollParents=[];isListeningForDismiss=false;get supportsPopoverApi(){return typeof HTMLElement.prototype.showPopover==="function"}shadowContains(e,t){let o=t;while(o){if(o===e)return true;if(o instanceof ShadowRoot){o=o.host;continue}if(o.parentNode){o=o.parentNode;continue}const t=o.getRootNode?.();if(t instanceof ShadowRoot){o=t.host;continue}break}return false}componentDidLoad(){this.popoverEl?.addEventListener("toggle",this.handlePopoverToggle);document.addEventListener("le-popover-will-open",this.handleOtherPopoverOpen);if(this.open){this.addDismissListeners()}}disconnectedCallback(){this.popoverEl?.removeEventListener("toggle",this.handlePopoverToggle);document.removeEventListener("le-popover-will-open",this.handleOtherPopoverOpen);this.removeScrollListeners();this.removeDismissListeners()}addDismissListeners(){if(this.isListeningForDismiss)return;document.addEventListener("pointerdown",this.handleDocumentPointerDown,true);document.addEventListener("keydown",this.handleDocumentKeyDown,true);this.isListeningForDismiss=true}removeDismissListeners(){if(!this.isListeningForDismiss)return;document.removeEventListener("pointerdown",this.handleDocumentPointerDown,true);document.removeEventListener("keydown",this.handleDocumentKeyDown,true);this.isListeningForDismiss=false}handleDocumentPointerDown=e=>{if(!this.open||!this.closeOnClickOutside)return;const t=e.composedPath?.()??[];if(t.includes(this.el))return;this.hide()};handleDocumentKeyDown=e=>{if(!this.open||!this.closeOnEscape)return;if(e.key!=="Escape")return;const t=O[O.length-1];if(t!==this.el)return;e.preventDefault();e.stopPropagation();this.hide()};getScrollParents(e){const t=[];let o=e.parentElement;while(o){const e=getComputedStyle(o);const i=e.overflow+e.overflowY+e.overflowX;if(/(auto|scroll)/.test(i)){t.push(o)}o=o.parentElement}return t}addScrollListeners(){if(!this.triggerEl)return;this.scrollParents=this.getScrollParents(this.triggerEl);this.scrollParents.forEach((e=>{e.addEventListener("scroll",this.handleScroll,{passive:true})}));window.addEventListener("scroll",this.handleScroll,{passive:true});window.addEventListener("resize",this.handleScroll,{passive:true})}removeScrollListeners(){this.scrollParents.forEach((e=>{e.removeEventListener("scroll",this.handleScroll)}));window.removeEventListener("scroll",this.handleScroll);window.removeEventListener("resize",this.handleScroll);this.scrollParents=[]}handleScroll=()=>{if(this.open){this._updatePosition()}};handleOpened(){this.open=true;const e=O.indexOf(this.el);if(e>=0)O.splice(e,1);O.push(this.el);this.addDismissListeners();this.addScrollListeners();this._updatePosition();this.lePopoverOpen.emit()}handleClosed(){this.open=false;this.isPositioned=false;this.removeScrollListeners();this.removeDismissListeners();const e=O.indexOf(this.el);if(e>=0)O.splice(e,1);this.lePopoverClose.emit()}handlePopoverToggle=e=>{if(e.newState==="open"){this.handleOpened()}else{this.handleClosed()}};handleOtherPopoverOpen=e=>{const t=e;const o=t.detail?.popover;if(!o)return;if(o===this.el)return;if(this.shadowContains(this.el,o)||this.shadowContains(o,this.el)){return}if(this.open){this.hide()}};async show(){document.dispatchEvent(new CustomEvent("le-popover-will-open",{detail:{popover:this.el}}));if(this.supportsPopoverApi){this.popoverEl?.showPopover()}else{this.handleOpened()}}async hide(){if(this.supportsPopoverApi){this.popoverEl?.hidePopover()}else{this.handleClosed()}}async toggle(){if(this.open){await this.hide()}else{await this.show()}}handleTriggerClick=e=>{e.stopPropagation();this.toggle()};_updatePosition(){if(!this.triggerEl||!this.popoverEl)return;const e=this.triggerEl.getBoundingClientRect();const t=this.popoverEl.getBoundingClientRect();const o=window.innerWidth;const i=window.innerHeight;const r=8;let s=this.position;let n=this.align;const a=i-e.bottom-r;const l=e.top-r;const c=o-e.right-r;const d=e.left-r;if(s==="auto"){if(a>=t.height+this.offset){s="bottom"}else if(l>=t.height+this.offset){s="top"}else if(c>=t.width+this.offset){s="right"}else if(d>=t.width+this.offset){s="left"}else{const e=Math.max(a,l,c,d);if(e===a)s="bottom";else if(e===l)s="top";else if(e===c)s="right";else s="left"}}if(s==="top"||s==="bottom"){if(n==="start"&&e.left+t.width>o-r){n="end"}else if(n==="end"&&e.right-t.width<r){n="start"}else if(n==="center"){const i=e.left+e.width/2;if(i-t.width/2<r){n="start"}else if(i+t.width/2>o-r){n="end"}}}let h=0;let p=0;let f=null;switch(s){case"top":h=e.top-t.height-this.offset;if(h<r){f=e.top-this.offset-r*2;h=r}break;case"bottom":h=e.bottom+this.offset;if(h+t.height>i-r){f=i-h-r}break;case"left":p=e.left-t.width-this.offset;h=e.top;if(p<r)p=r;break;case"right":p=e.right+this.offset;h=e.top;if(p+t.width>o-r){p=o-t.width-r}break}if(s==="top"||s==="bottom"){switch(n){case"start":p=e.left;break;case"center":p=e.left+e.width/2-t.width/2;break;case"end":p=e.right-t.width;break}if(p<r){p=r}else if(p+t.width>o-r){p=o-t.width-r}}if(s==="left"||s==="right"){switch(n){case"start":h=e.top;break;case"center":h=e.top+e.height/2-t.height/2;break;case"end":h=e.bottom-t.height;break}if(h<r)h=r;if(h+t.height>i-r){f=i-h-r}}this.popoverEl.style.top=`${h}px`;this.popoverEl.style.left=`${p}px`;if(f!==null&&f>100){this.popoverEl.style.maxHeight=`${f}px`;this.popoverEl.style.overflowY="auto"}else{this.popoverEl.style.maxHeight="";this.popoverEl.style.overflowY=""}this.isPositioned=true}render(){const e={visibility:this.isPositioned?"visible":"hidden"};if(this.width)e.width=this.width;if(this.minWidth)e.minWidth=this.minWidth;if(this.maxWidth)e.maxWidth=this.maxWidth;return i(s,{key:"ab4a38788350cd0571637978291dc3cacf128290","trigger-full-width":this.triggerFullWidth},i("div",{key:"aeae05965add2ef93145fecfc444124ef998e868",class:l("le-popover-trigger",{"le-popover-trigger-full-width":this.triggerFullWidth}),ref:e=>this.triggerEl=e,onClick:this.handleTriggerClick,part:"trigger"},i("slot",{key:"db68f48f01d2d729e46a8fe46e7a10f3c28cecd6",name:"trigger"},i("button",{key:"e2ab0f5516d18b8cb209c3172c84d46041089c39",type:"button",class:"le-popover-default-trigger"},i("span",{key:"1a8062028340b3696fbce2f2911b7cecba947841"},"⊕")))),i("div",{key:"19ff2c84398d3851c51f64f3369017790e9a6ab2",id:this.uniqueId,class:"le-popover-content",popover:"manual",ref:e=>this.popoverEl=e,style:e,"data-fallback-open":this.supportsPopoverApi?undefined:String(this.open)},(this.popoverTitle||this.showClose)&&i("div",{key:"fba07fb0c59685f51dd0952560d47abbce7b7424",class:"le-popover-header"},this.popoverTitle&&i("span",{key:"064851cf48684a1bb9e2a27c8d415bcf449fc871",class:"le-popover-title"},this.popoverTitle),this.showClose&&i("button",{key:"281803ab3f5aeab0f0ed842dba513ef5991f6619",type:"button",class:"le-popover-close",onClick:()=>this.hide(),"aria-label":"Close"},"×")),i("div",{key:"4aea10af963421a60145b6ed0913f1447b8f0599",class:"le-popover-body",part:"content"},i("slot",{key:"e4310d522411a43164d08eb74a935777782e6bac"}))))}};P.style=_();const D=()=>`:host{display:contents}.le-popup-dialog{position:fixed;z-index:100;top:0;right:0;bottom:0;left:0;padding:0;border:none;background:transparent;max-width:none;max-height:none;overflow:visible;--_popup-min-width:var(--le-popup-min-width, 320px);--_popup-max-width:var(--le-popup-max-width, min(500px, 90vw));--_popup-min-height:var(--le-popup-min-height, auto)}.le-popup-dialog::backdrop{background:var(--le-popup-backdrop-color, rgba(0, 0, 0, 0.5));animation:le-popup-backdrop-fade 0.2s ease-out}@keyframes le-popup-backdrop-fade{from{opacity:0}to{opacity:1}}.le-popup-position-center{margin:auto}.le-popup-position-top{margin:var(--le-space-2xl, 48px) auto auto auto}.le-popup-position-top-left{margin:var(--le-space-lg, 24px) auto auto var(--le-space-lg, 24px)}.le-popup-position-top-right{margin:var(--le-space-lg, 24px) var(--le-space-lg, 24px) auto auto}.le-popup-position-bottom{margin:auto auto var(--le-space-2xl, 48px) auto}.le-popup-position-bottom-left{margin:auto auto var(--le-space-lg, 24px) var(--le-space-lg, 24px)}.le-popup-position-bottom-right{margin:auto var(--le-space-lg, 24px) var(--le-space-lg, 24px) auto}.le-popup-container{display:flex;flex-direction:column;min-width:var(--_popup-min-width);max-width:var(--_popup-max-width);min-height:var(--_popup-min-height);max-height:calc(100vh - var(--le-space-2xl, 48px) * 2);background:var(--le-color-surface, #ffffff);border:1px solid var(--le-color-border, #e0e0e0);border-radius:var(--le-radius-lg, 12px);box-shadow:var(--le-shadow-xl, 0 8px 32px rgba(0, 0, 0, 0.15));overflow:hidden;font-family:var(--le-font-family, system-ui, -apple-system, sans-serif);color:var(--le-color-text, #333);animation:le-popup-appear 0.2s ease-out}@keyframes le-popup-appear{from{opacity:0;transform:scale(0.95) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.le-popup-header{flex-shrink:0;padding:var(--le-space-md, 16px) var(--le-space-lg, 24px);border-bottom:1px solid var(--le-color-border, #e0e0e0);background:var(--le-color-surface-alt, #f9f9f9);font-size:var(--le-font-size-lg, 1.125rem);font-weight:var(--le-font-weight-semibold, 600);color:var(--le-color-text, #333)}.le-popup-body{flex:1;padding:var(--le-space-lg, 24px);overflow-y:auto}.le-popup-message{margin:0;font-size:var(--le-font-size-md, 1rem);line-height:var(--le-line-height-relaxed, 1.6);color:var(--le-color-text, #333)}.le-popup-message+::slotted(*){margin-top:var(--le-space-md, 16px)}.le-popup-input{display:block;width:100%;margin-top:var(--le-space-md, 16px);padding:var(--le-space-sm, 8px) var(--le-space-md, 16px);font-family:inherit;font-size:var(--le-font-size-md, 1rem);color:var(--le-color-text, #333);background:var(--le-color-background, #fff);border:1px solid var(--le-color-border, #e0e0e0);border-radius:var(--le-radius-md, 8px);outline:none;transition:border-color var(--le-transition-fast, 0.15s ease),\n box-shadow var(--le-transition-fast, 0.15s ease);box-sizing:border-box}.le-popup-input:focus{border-color:var(--le-color-primary, #2196f3);box-shadow:0 0 0 3px var(--le-color-primary-light, rgba(33, 150, 243, 0.2))}.le-popup-input::placeholder{color:var(--le-color-text-muted, #999)}.le-popup-footer{flex-shrink:0;display:flex;justify-content:flex-end;gap:var(--le-space-sm, 8px);padding:var(--le-space-md, 16px) var(--le-space-lg, 24px);border-top:1px solid var(--le-color-border, #e0e0e0);background:var(--le-color-surface-alt, #f9f9f9)}.le-popup-btn{min-width:80px}@media (max-width: 480px){.le-popup-container{min-width:calc(100vw - var(--le-space-md, 16px) * 2);max-width:calc(100vw - var(--le-space-md, 16px) * 2)}.le-popup-footer{flex-direction:column-reverse}.le-popup-btn{width:100%}}`;const E=class{constructor(o){e(this,o);this.leConfirm=t(this,"leConfirm");this.leCancel=t(this,"leCancel");this.leOpen=t(this,"leOpen");this.leClose=t(this,"leClose")}get el(){return o(this)}mode="default";open=false;type="alert";popupTitle;message;modal=true;position="center";confirmText="OK";cancelText="Cancel";placeholder="";defaultValue="";closeOnBackdrop=true;inputValue="";leConfirm;leCancel;leOpen;leClose;dialogEl;inputEl;resolvePromise;componentWillLoad(){this.inputValue=this.defaultValue}componentDidLoad(){this.dialogEl?.addEventListener("cancel",this.handleDialogCancel)}disconnectedCallback(){this.dialogEl?.removeEventListener("cancel",this.handleDialogCancel)}handleDialogCancel=e=>{e.preventDefault();this.handleCancel()};async show(){return new Promise((e=>{this.resolvePromise=e;this.inputValue=this.defaultValue;this.open=true;requestAnimationFrame((()=>{if(this.dialogEl){if(this.modal){this.dialogEl.showModal()}else{this.dialogEl.show()}this.leOpen.emit();if(this.type==="prompt"&&this.inputEl){this.inputEl.focus();this.inputEl.select()}}}))}))}async hide(e=false){const t={confirmed:e,value:this.type==="prompt"?this.inputValue:undefined};this.dialogEl?.close();this.open=false;this.leClose.emit(t);if(this.resolvePromise){this.resolvePromise(t);this.resolvePromise=undefined}}handleConfirm=()=>{const e={confirmed:true,value:this.type==="prompt"?this.inputValue:undefined};this.leConfirm.emit(e);this.hide(true)};handleCancel=()=>{const e={confirmed:false,value:undefined};this.leCancel.emit(e);this.hide(false)};handleBackdropClick=e=>{if(this.closeOnBackdrop&&e.target===this.dialogEl){const t=this.dialogEl.getBoundingClientRect();const o=e.clientX>=t.left&&e.clientX<=t.right&&e.clientY>=t.top&&e.clientY<=t.bottom;if(!o){this.handleCancel()}}};handleInputChange=e=>{this.inputValue=e.target.value};handleKeyDown=e=>{if(e.key==="Enter"&&this.type!=="custom"){e.preventDefault();this.handleConfirm()}};hasSlot(e){return!!this.el.querySelector(`[slot="${e}"]`)}renderHeader(){if(this.hasSlot("header")){return i("div",{class:"le-popup-header",part:"header"},i("slot",{name:"header"}))}if(this.popupTitle){return i("div",{class:"le-popup-header",part:"header"},this.popupTitle)}return null}renderBody(){return i("div",{class:"le-popup-body",part:"body"},this.message&&i("p",{class:"le-popup-message"},this.message),this.type==="prompt"&&i("input",{type:"text",class:"le-popup-input",part:"input",placeholder:this.placeholder,value:this.inputValue,onInput:this.handleInputChange,onKeyDown:this.handleKeyDown,ref:e=>this.inputEl=e}),i("le-slot",{name:"",tag:"div",description:"Custom popup content",type:"slot"},i("slot",null)))}renderFooter(){if(this.hasSlot("footer")){return i("div",{class:"le-popup-footer",part:"footer"},i("slot",{name:"footer"}))}if(this.type==="custom"){return null}return i("div",{class:"le-popup-footer",part:"footer"},(this.type==="confirm"||this.type==="prompt")&&i("le-button",{variant:"outlined",part:"button-cancel",class:"le-popup-btn",onClick:this.handleCancel},this.cancelText),i("le-button",{variant:"solid",part:"button-confirm",class:"le-popup-btn",onClick:this.handleConfirm},this.confirmText))}render(){const e=`le-popup-position-${this.position}`;return i("dialog",{key:"20ac8e086b2999191c769a0ee03b1c1182103809",class:`le-popup-dialog ${e}`,part:"dialog",ref:e=>this.dialogEl=e,onClick:this.handleBackdropClick},i("le-component",{key:"468b1d737c2301b041c2a7a13afc658505f74c5b",component:"le-popup"},i("div",{key:"829cad08439dc5d0b3f9c78092a46faa016bbec2",class:"le-popup-container",part:"container"},this.renderHeader(),this.renderBody(),this.renderFooter())))}};E.style=D();const j=()=>`:host{display:block}:host([sticky]){position:sticky;top:var(--le-scroll-progress-sticky-top, 0);z-index:var(--le-scroll-progress-z, calc(var(--le-header-z, 1000) + 1))}:host([fixed]){position:fixed;top:var(--le-scroll-progress-fixed-top, 0);left:var(--le-scroll-progress-fixed-left, 0);right:var(--le-scroll-progress-fixed-right, 0);z-index:var(--le-scroll-progress-z, calc(var(--le-header-z, 1000) + 1))}.track{width:100%;height:var(--le-scroll-progress-height, 4px);background:var(--le-scroll-progress-bg, transparent)}.fill{height:100%;width:0;background:var(--le-scroll-progress-fill, var(--le-color-primary, currentColor));border-radius:var(--le-scroll-progress-border-radius, 2px);transition:width var(--le-transition-fast, 120ms linear)}`;const M=class{constructor(t){e(this,t)}get el(){return o(this)}trackScrollProgress;progress=0;rafId=null;targetEl=null;componentWillLoad(){this.updateProgress()}componentDidLoad(){this.resolveTarget();this.updateProgress()}disconnectedCallback(){if(this.rafId!=null){cancelAnimationFrame(this.rafId);this.rafId=null}}onTrackChange(){this.resolveTarget();this.updateProgress()}onScroll(){this.scheduleUpdate()}onResize(){this.resolveTarget();this.scheduleUpdate(true)}scheduleUpdate(e=false){if(this.rafId!=null&&!e)return;this.rafId=requestAnimationFrame((()=>{this.rafId=null;this.updateProgress()}))}resolveTarget(){if(typeof document==="undefined")return;const e=this.trackScrollProgress;if(e==null){this.targetEl=null;return}const t=String(e).trim();if(t===""||t==="true"){this.targetEl=null;return}if(t==="false"){this.targetEl=null;return}try{this.targetEl=document.querySelector(t)}catch{this.targetEl=null}}clamp01(e){return Math.max(0,Math.min(1,e))}updateProgress(){if(typeof window==="undefined"||typeof document==="undefined")return;if(this.trackScrollProgress==="false"){if(this.progress!==0)this.progress=0;return}const e=window.scrollY||0;let t=0;if(this.targetEl){const o=this.targetEl.getBoundingClientRect();const i=e+o.top;const r=o.height;const s=window.innerHeight||1;const n=Math.max(1,r-s);t=this.clamp01((e-i)/n)}else{const o=document.documentElement;const i=Math.max(1,o.scrollHeight-o.clientHeight);t=this.clamp01(e/i)}const o=Math.round(t*1e3)/1e3;if(o!==this.progress)this.progress=o}render(){const e=`${this.progress*100}%`;return i(s,{key:"bbbf42c0402c2b565d6d6b740e0863ed9543cc43"},i("div",{key:"085ca4aad35549d49ef1553d2eb0fd805df2af4a",class:"track",part:"track","aria-hidden":"true"},i("div",{key:"12dc1e4bc87afa64e47d75d3c3c097af82b74b94",class:"fill",part:"fill",style:{width:e}})))}static get watchers(){return{trackScrollProgress:["onTrackChange"]}}};M.style=j();const L=()=>`:host{display:inline-block;min-width:150px;--le-select-color:var(--le-color-text, #1f2937);--le-select-border-radius:var(--le-radius-md);--le-select-content-padding:var(--le-spacing-2)}:host([disabled]){opacity:0.5;pointer-events:none}:host([full-width]){width:100%}.select-trigger{display:flex;align-items:center;gap:0.5rem;width:100%;padding:0;--le-button-padding:var(--le-spacing-1) var(--le-spacing-1) var(--le-spacing-1) var(--le-spacing-2);font-size:var(--le-select-font-size, 0.875rem);font-family:inherit;line-height:1.4;color:var(--le-select-color);background:var(--le-select-bg, var(--le-color-surface, #fff));border-radius:var(--le-select-border-radius);cursor:pointer;text-align:left;transition:border-color 0.15s ease, box-shadow 0.15s ease}.select-trigger:focus{outline:2px solid var(--le-color-focus);outline-offset:2px}.select-trigger:not(.has-value) .trigger-label{color:color-mix(in srgb, var(--le-color-text-secondary) 66%, transparent)}.trigger-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:1.25rem;height:1.25rem}.trigger-icon-end{width:16px;height:16px}.trigger-icon img{width:100%;height:100%;object-fit:contain}.trigger-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--le-color-text)}.trigger-label::not(.has-value){color:var(--le-color-text-disabled, #9ca3af)}le-button::part(icon-end){display:flex;align-items:center;justify-content:center;flex-shrink:0;width:1.25rem;height:1.25rem;margin-left:auto;transition:transform 0.2s ease}le-button::part(icon-end) svg{width:1rem;height:1rem}le-button.is-open::part(icon-end){transform:rotate(180deg)}.search-input::part(container):focus-within{outline:none !important}.search-input{--le-input-radius:var(--le-radius-md)}`;const F=class{constructor(o){e(this,o);this.leChange=t(this,"leChange");this.leOpen=t(this,"leOpen");this.leClose=t(this,"leClose")}get el(){return o(this)}options=[];value;placeholder="Select an option";disabled=false;required=false;name;fullWidth=false;size="medium";variant="default";searchable=false;emptyText="No results found";open=false;leChange;leOpen;leClose;selectedOption;searchQuery="";dropdownEl;inputEl;handleValueChange(){this.updateSelectedOption()}handleOptionsChange(){this.updateSelectedOption()}componentWillLoad(){this.updateSelectedOption()}get parsedOptions(){if(typeof this.options==="string"){try{return JSON.parse(this.options)}catch{return[]}}return this.options}updateSelectedOption(){if(this.value!==undefined){this.selectedOption=this.parsedOptions.find((e=>(e.value??e.label)===this.value))}else{this.selectedOption=undefined}}filterOption=(e,t)=>{if(!t)return true;const o=t.toLowerCase();return e.label.toLowerCase().includes(o)||(e.description?.toLowerCase().includes(o)??false)};handleOptionSelect=e=>{this.value=e.detail.value;this.selectedOption=e.detail.option;this.leChange.emit(e.detail)};handleDropdownOpen=()=>{this.open=true;this.leOpen.emit();if(this.searchable){setTimeout((()=>{this.inputEl?.focus()}),50)}};handleDropdownClose=()=>{this.open=false;this.leClose.emit()};handleTriggerClick=()=>{if(!this.disabled){this.dropdownEl?.toggle()}};handleTriggerKeyDown=e=>{if(this.disabled)return;if(e.key==="Enter"||e.key===" "||e.key==="ArrowDown"){e.preventDefault();this.dropdownEl?.show()}};handleSearchInput=e=>{const t=e.target;this.searchQuery=t.value};async showDropdown(){await(this.dropdownEl?.show())}async hideDropdown(){await(this.dropdownEl?.hide())}renderIcon(e){if(!e)return null;if(e.startsWith("http")||e.startsWith("/")){return i("img",{class:"trigger-icon",src:e,alt:""})}return i("span",{class:"trigger-icon"},e)}render(){const e=this.selectedOption!==undefined;return i("le-component",{key:"6f2eebab3f0afcef9d1801812ad0cc4cfb4456b6",component:"le-select"},i("le-dropdown-base",{key:"eb34e28681f84fbd5a75d415facd9f1f79012010",ref:e=>this.dropdownEl=e,options:this.parsedOptions,value:this.value,disabled:this.disabled,filterFn:this.searchable?this.filterOption:undefined,filterQuery:this.searchQuery,onLeOptionSelect:this.handleOptionSelect,onLeDropdownOpen:this.handleDropdownOpen,onLeDropdownClose:this.handleDropdownClose,fullWidth:this.fullWidth},i("le-button",{key:"e8507bfd78aa3267fb2513810599361cd223f8eb",variant:this.variant&&this.variant!=="default"?this.variant:"outlined",slot:"trigger",align:"space-between",class:{"select-trigger":true,"has-value":e,"is-open":this.open},mode:"default",size:this.size,disabled:this.disabled,"aria-haspopup":"listbox","aria-expanded":this.open?"true":"false",onClick:this.handleTriggerClick,onKeyDown:this.handleTriggerKeyDown,fullWidth:this.fullWidth,iconStart:e&&this.selectedOption?.iconStart?this.renderIcon(this.selectedOption.iconStart):null,iconEnd:i("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor","stroke-width":"2"},i("path",{d:"M4 6l4 4 4-4"}))},i("span",{key:"afd07c274a9b340ed16d89844495fdf588e7ebfe",class:"trigger-label"},e?this.selectedOption.label:this.placeholder)),this.searchable&&this.open&&i("div",{key:"baeaf8eb5ad2083d3860d9e02991d32144e23038",class:"multiselect-search",slot:"header"},i("le-string-input",{key:"4d3a7d002fb4476db71f2e37ce44dc62cc89f2fc",mode:"default",inputRef:e=>this.inputEl=e,class:"search-input",placeholder:"Search...",value:this.searchQuery,onInput:this.handleSearchInput}))),this.name&&i("input",{key:"37e3432981fda47a0bbf09bcb56851bd5dab4ca4",type:"hidden",name:this.name,value:this.value?.toString()??""}))}static get watchers(){return{value:["handleValueChange"],options:["handleOptionsChange"]}}};F.style=L();const A=()=>`:host{display:contents;--le-slot-border-color:#0088ff;--le-slot-bg-color:rgba(0, 136, 255, 0.05);--le-slot-header-bg:rgb(218, 238, 255);--le-slot-label-color:#0066cc;--le-slot-description-color:#666;--le-slot-required-color:#e53935;--le-slot-dropzone-min-height:20px;--le-slot-dropzone-border-color:#ccc}.le-slot-container,.le-slot-header,.le-slot-description,.le-slot-dropzone,.le-slot-input{display:none}.hidden-slot{display:none}:host(.admin-mode){display:block;flex:1}:host(.admin-mode) .le-slot-container{position:relative;display:flex;flex-direction:column;border:2px dashed var(--le-slot-border-color);border-radius:4px;background:var(--le-slot-bg-color);margin:4px 0}:host(.admin-mode) .le-slot-header{display:flex;align-items:center;gap:4px;padding:0 0 0 var(--le-spacing-1, 4px);background:var(--le-slot-header-bg);border-bottom:1px solid var(--le-slot-border-color);font-size:var(--le-font-size-xs, 11px);font-weight:400;text-transform:capitalize}:host(.admin-mode) .le-slot-header-no-label{justify-content:flex-end;height:16px;border:none;background-color:transparent}.le-slot-label{color:var(--le-slot-label-color);text-align:start;overflow:hidden;width:0;flex:1 1 0%}.le-slot-required{color:var(--le-slot-required-color);font-weight:bold}:host(.admin-mode) .le-slot-description{display:block;padding:4px 8px;font-size:12px;color:var(--le-slot-description-color);font-style:italic}:host(.admin-mode) .le-slot-description-icon{display:inline-block;font-size:9px;line-height:1;cursor:pointer;color:var(--le-slot-description-color)}:host(.admin-mode) .le-slot-dropzone{display:block;min-height:var(--le-slot-dropzone-min-height);padding:var(--le-spacing-1, 4px);position:relative}:host(.admin-mode) .le-slot-dropzone:empty::before{content:'Drop content here';display:flex;align-items:center;justify-content:center;position:absolute;inset:8px;border:2px dashed var(--le-slot-dropzone-border-color);border-radius:4px;color:#999;font-size:12px;pointer-events:none}:host(.admin-mode.drag-over) .le-slot-container{border-color:#00cc66;background:rgba(0, 204, 102, 0.1)}:host(.admin-mode.drag-over) .le-slot-dropzone:empty::before{border-color:#00cc66;color:#00cc66;content:'Release to drop'}:host(.admin-mode) .le-slot-input{display:block;padding:var(--le-spacing-1, 4px)}:host(.admin-mode) .le-slot-input input,:host(.admin-mode) .le-slot-input textarea{display:block;width:100%;padding:8px 10px;border:1px solid var(--le-slot-dropzone-border-color);border-radius:4px;font-family:inherit;font-size:14px;line-height:1.4;background:#fff;color:#333;box-sizing:border-box;transition:border-color 0.2s, box-shadow 0.2s}:host(.admin-mode) .le-slot-input input:focus,:host(.admin-mode) .le-slot-input textarea:focus{outline:none;border-color:var(--le-slot-border-color);box-shadow:0 0 0 3px rgba(0, 136, 255, 0.15)}:host(.admin-mode) .le-slot-input input::placeholder,:host(.admin-mode) .le-slot-input textarea::placeholder{color:#999}:host(.admin-mode) .le-slot-input textarea{resize:vertical;min-height:60px}:host(.admin-mode) .le-slot-input slot{display:none}.le-slot-invalid{color:var(--le-slot-required-color);font-size:10px;margin-left:auto;font-weight:normal;text-transform:none}:host(.admin-mode) .le-slot-input.has-error input,:host(.admin-mode) .le-slot-input.has-error textarea{border-color:var(--le-slot-required-color);background:rgba(229, 57, 53, 0.05)}:host(.admin-mode) .le-slot-input.has-error input:focus,:host(.admin-mode) .le-slot-input.has-error textarea:focus{border-color:var(--le-slot-required-color);box-shadow:0 0 0 3px rgba(229, 57, 53, 0.15)}.le-slot-add-btn{font-size:24px;line-height:0px;width:12px;height:12px}.le-slot-header-no-label .le-slot-add-btn{font-size:16px}.le-slot-button{width:20px;height:20px}:host(.admin-mode) .le-slot-header-no-label.le-slot-header-text{height:0}`;const T=class{constructor(o){e(this,o);this.leSlotChange=t(this,"leSlotChange")}get el(){return o(this)}type="slot";name="";label;description;allowedComponents;multiple=true;required=false;placeholder;tag;slotStyle;adminMode=false;textValue="";isValidHtml=true;availableComponents=[];pickerOpen=false;slotRef;slottedElement;leSlotChange;disconnectModeObserver;connectedCallback(){this.disconnectModeObserver=c(this.el,(e=>{const t=this.adminMode;this.adminMode=e==="admin";if(this.adminMode&&!t){requestAnimationFrame((()=>this.readSlottedContent()));if(this.type==="slot"){this.loadAvailableComponents()}}}))}disconnectedCallback(){this.disconnectModeObserver?.()}isUpdating=false;readSlottedContent(){if(!this.slotRef)return;if(this.isUpdating){this.isUpdating=false;return}const e=this.slotRef.assignedNodes({flatten:true});if(this.type==="text"||this.type==="textarea"){const t=e.find((e=>e.nodeType===Node.ELEMENT_NODE));if(t){if(this.slottedElement!==t){this.slottedElement=t;this.textValue=t.innerHTML?.trim()||""}}else{const t=e.filter((e=>e.nodeType===Node.TEXT_NODE)).map((e=>e.textContent)).join("").trim();if(t&&!this.textValue){this.textValue=t}}}}validateHtml(e){if(!e.trim())return true;const t=document.createElement("template");t.innerHTML=e;const o=(e.match(/<[a-z][^>]*(?<!\/)>/gi)||[]).length;const i=(e.match(/<\/[a-z][^>]*>/gi)||[]).length;const r=(e.match(/<[a-z][^>]*\/>/gi)||[]).length;const s=(e.match(/<(br|hr|img|input|meta|link|area|base|col|embed|param|source|track|wbr)[^>]*>/gi)||[]).length;const n=o-r-s;if(Math.abs(n-i)>1){return false}return true}handleTextInput=e=>{const t=e.target;this.textValue=t.value;this.isValidHtml=this.validateHtml(this.textValue);if(this.isValidHtml){this.isUpdating=true;console.log("Updating text value:",this.textValue,"slottedElement:",this.slottedElement);if(this.slottedElement){this.slottedElement.innerHTML=this.textValue}else if(this.tag&&this.textValue){const e=this.el.getRootNode();if(!this.name&&e instanceof ShadowRoot){const t=e.host;Array.from(t.childNodes).forEach((e=>{if(e.nodeType===Node.TEXT_NODE||e.nodeType===Node.ELEMENT_NODE&&!e.hasAttribute("slot")){e.remove()}}))}this.createSlottedElement()}else if(this.textValue){const e=this.el.getRootNode();if(e instanceof ShadowRoot){const t=e.host;t.innerHTML=this.textValue}}}this.leSlotChange.emit({name:this.name,value:this.textValue,isValid:this.isValidHtml})};createSlottedElement(){if(!this.tag)return;const e=this.el.getRootNode();if(!(e instanceof ShadowRoot))return;const t=e.host;if(!t)return;const o=document.createElement(this.tag);o.innerHTML=this.textValue;if(this.name){o.setAttribute("slot",this.name)}t.appendChild(o);this.slottedElement=o}async loadAvailableComponents(){try{const{manifestFile:e}=a();const t=n(`./assets/${e}`);const o=await fetch(t);const i=await o.json();const r=[];const s=this.allowedComponents?.split(",").map((e=>e.trim()))||[];for(const e of i.modules){for(const t of e.declarations||[]){if(t.tagName&&t.customElement){const e=["le-slot","le-component","le-popover"].includes(t.tagName);if(e)continue;if(s.length>0&&!s.includes(t.tagName)){continue}r.push({tagName:t.tagName,name:this.formatComponentName(t.tagName),description:t.description||""})}}}this.availableComponents=r||[]}catch(e){console.warn("[le-slot] Failed to load component manifest:",e)}}formatComponentName(e){return e.replace(/^le-/,"").split("-").map((e=>e.charAt(0).toUpperCase()+e.slice(1))).join(" ")}addComponent(e){const t=this.el.getRootNode();if(!(t instanceof ShadowRoot))return;const o=t.host;if(!o)return;const i=document.createElement(e);if(this.name){i.setAttribute("slot",this.name)}o.appendChild(i);this.leSlotChange.emit({name:this.name,value:o.innerHTML,isValid:true})}handleSlotChange=()=>{this.readSlottedContent()};render(){const e=this.label||this.name;return i(s,{key:"0b2b3edf3690ed9769438ef019111638e5de0276",class:{"admin-mode":this.adminMode,"invalid-html":!this.isValidHtml},role:this.adminMode?"region":undefined,"aria-label":this.adminMode?`Slot: ${e}`:undefined,"data-slot-name":this.name,"data-slot-type":this.type,"data-allowed":this.allowedComponents,"data-multiple":this.multiple,"data-required":this.required},this.adminMode?i("div",{class:"le-slot-container"},i("div",{class:l("le-slot-header",{"le-slot-header-no-label":!e,"le-slot-header-text":this.type==="text","le-slot-header-error":!this.isValidHtml})},e&&i("span",{class:"le-slot-label"},e,this.required&&i("span",{class:"le-slot-required"},"*")),!this.isValidHtml&&i("span",{class:"le-slot-invalid"},"⚠ Invalid HTML"),this.type==="slot"&&this.adminMode&&i("le-popover",{mode:"default",showClose:true,align:"start",position:"right",popoverTitle:"Add Component",open:this.pickerOpen,onLePopoverOpen:()=>this.pickerOpen=true,onLePopoverClose:()=>this.pickerOpen=false},i("le-button",{type:"button",class:"le-slot-button",slot:"trigger",variant:"clear",size:"small","aria-label":"Add component","icon-only":true},i("span",{class:"le-slot-add-btn",slot:"icon-only"},"+")),i("div",{class:"le-slot-picker"},this.availableComponents.length>0?i("ul",{class:"le-slot-picker-list"},this.availableComponents.map((e=>i("li",{key:e.tagName},i("button",{class:"le-slot-picker-item",onClick:()=>{this.addComponent(e.tagName);this.pickerOpen=false}},i("span",{class:"le-slot-picker-name"},e.name),e.description&&i("span",{class:"le-slot-picker-desc"},e.description)))))):i("div",{class:"le-slot-picker-empty"},"No components available")))),this.renderContent()):i("slot",null))}renderContent(){const e=i("div",{class:"hidden-slot"},i("slot",{ref:e=>this.slotRef=e,onSlotchange:this.handleSlotChange}));switch(this.type){case"text":return i("div",{class:{"le-slot-input":true,"has-error":!this.isValidHtml}},i("le-string-input",{mode:"default",value:this.textValue,placeholder:this.placeholder||`Enter ${this.label||this.name||"text"}...`,onChange:this.handleTextInput}),e);case"textarea":return i("div",{class:{"le-slot-input":true,"has-error":!this.isValidHtml}},i("textarea",{value:this.textValue,placeholder:this.placeholder||`Enter ${this.label||this.name||"text"}...`,onInput:this.handleTextInput,required:this.required,rows:3}),e);case"slot":default:const t={};if(this.slotStyle){this.slotStyle.split(";").forEach((e=>{const[o,i]=e.split(":").map((e=>e.trim()));if(o&&i){const e=o.replace(/-([a-z])/g,((e,t)=>t.toUpperCase()));t[e]=i}}))}return i("div",{class:"le-slot-dropzone",style:t},i("slot",{ref:e=>this.slotRef=e,onSlotchange:this.handleSlotChange}))}}};T.style=A();const I=()=>`:host{display:block;--le-input-bg:var(--le-color-surface, #ffffff);--le-input-color:var(--le-color-text-primary, #333333);--le-input-border:var(--le-border-width, 2px) solid var(--le-color-border-input, #007bff);--le-input-radius:var(--le-radius-sm, 4px);--le-input-padding:2px 6px;--le-input-height:1.5rem;--le-input-label-color:var(--le-color-text-primary, #333333);--le-input-desc-color:var(--le-color-text-secondary, #666666);--le-input-placeholder-color:#999999}.le-input-wrapper{display:flex;flex-direction:column;gap:2px}.le-input-label{display:block;font-size:0.9em;font-weight:500;color:var(--le-input-label-color);margin-bottom:2px}.le-input-container{position:relative;display:flex;align-items:center;background:var(--le-input-bg);border:var(--le-input-border);border-radius:var(--le-input-radius);transition:border-color 0.2s}.le-input-container:focus-within{outline:2px solid var(--le-color-focus);outline-offset:2px}:host([disabled]) .le-input-container{opacity:0.6;background-color:rgba(0,0,0,0.05);cursor:not-allowed}input{flex:1;min-height:var(--le-input-height);padding:var(--le-input-padding);border:none;background:transparent;color:var(--le-input-color);font-family:inherit;font-size:inherit;outline:none;width:100%}input::placeholder{color:var(--le-input-placeholder-color)}.icon-start,.icon-end{display:flex;align-items:center;justify-content:center;padding:0 8px;color:var(--le-input-desc-color)}.le-input-description{font-size:0.85em;color:var(--le-input-desc-color);margin-top:2px}.le-input-description::has(le-slot>slot[name=description]:empty){display:none}`;const $=class{constructor(o){e(this,o);this.leChange=t(this,"change");this.leInput=t(this,"input")}get el(){return o(this)}inputRef;mode;value;name;type="text";label;iconStart;iconEnd;placeholder;hideDescription=false;disabled=false;readonly=false;externalId;leChange;leInput;handleInput=e=>{const t=e.target;this.value=t.value;this.leInput.emit({value:this.value,name:this.name,externalId:this.externalId})};handleChange=e=>{const t=e.target;this.value=t.value;this.leChange.emit({value:this.value,name:this.name,externalId:this.externalId})};handleClick=e=>{e.stopPropagation()};render(){return i("le-component",{key:"c28242025bd09955e03d3aa7e5f7d1fd0693817f",component:"le-string-input",hostClass:l({disabled:this.disabled})},i("div",{key:"e995b83c1668d4818c634f39acb16683baef844c",class:"le-input-wrapper"},this.label&&i("label",{key:"cb0a17558b2a07bf211bdb5ecd7d4e8aec9554cc",class:"le-input-label",htmlFor:this.name},this.label),i("div",{key:"c50a27c4e0732c05b37d6ff6ea77e74f05e942d6",class:"le-input-container",part:"container"},this.iconStart&&i("span",{key:"f9e01713742664671938e66498a407fd0d408b5f",class:"icon-start"},this.iconStart),i("input",{key:"2357145ebdb43bc6eb52450508f707699253da91",ref:e=>{if(this.inputRef){this.inputRef(e)}},id:this.name,type:this.type,name:this.name,value:this.value,placeholder:this.placeholder,disabled:this.disabled,readOnly:this.readonly,onInput:this.handleInput,onChange:this.handleChange,onClick:this.handleClick}),this.iconEnd&&i("span",{key:"22ea7682c0e74910905d08fceeab2b4d0270af60",class:"icon-end"},this.iconEnd)),!this.hideDescription&&i("div",{key:"e281b9cc97935296dda68bf52fa3318997a6c39d",class:"le-input-description"},i("le-slot",{key:"438f02f1a197968f9d5aa751214a680fc17eb2ba",name:"description",type:"text",tag:"p",label:"Description"},i("slot",{key:"3e52eb43aede04916d0004449fc03c4987d62715",name:"description"})))))}};$.style=I();export{f as le_button,b as le_checkbox,m as le_collapse,x as le_component,w as le_current_heading,C as le_dropdown_base,S as le_header,P as le_popover,E as le_popup,M as le_scroll_progress,F as le_select,T as le_slot,$ as le_string_input};
|
|
2
|
-
//# sourceMappingURL=p-
|
|
1
|
+
import{r as e,d as t,c as o,h as i,F as r,H as s,e as n,f as a}from"./p-BqH-zsXr.js";import{c as l,o as c,g as d}from"./p-VG5nXRzT.js";import{leConfirm as h}from"./index.esm.js";const p=()=>`:host{display:inline-block;--le-button-border-radius:var(--le-radius-md);--le-button-padding-x:var(--le-spacing-3);--le-button-padding-y:var(--le-spacing-1);--le-button-padding:var(--le-button-padding-y) var(--le-button-padding-x);--le-button-small-padding:0.25rem;--le-button-font-size:var(--le-font-size-md);--le-button-font-weight:var(--le-font-weight-medium);--le-button-transition:var(--le-transition-fast);--le-transition-easing:ease-in-out;--le-button-icon-aspect-ratio:1;--le-button-color:var(--le-color-primary-contrast);--_btn-bg:var(--le-color-primary);--_btn-bg-hover:var(--le-color-primary-dark);--_btn-bg-system:var(--le-color-black);--_btn-color:var(--le-button-color);--_btn-border-color:var(--le-color-primary)}:host([full-width]){display:block;width:100%}.le-button-container{display:inline-flex;flex-direction:row;align-items:center;justify-content:center;gap:var(--le-spacing-3);width:100%;padding:var(--le-button-padding);border:1px solid var(--_btn-border-color);border-radius:var(--le-button-border-radius);background:var(--_btn-bg);color:var(--_btn-color);font-family:var(--le-font-family-base);font-size:var(--le-button-font-size);font-weight:var(--le-button-font-weight);line-height:var(--le-line-height-tight);text-decoration:none;cursor:pointer;transition:background-color var(--le-button-transition) var(--le-transition-easing),\n border-color var(--le-button-transition) var(--le-transition-easing),\n box-shadow var(--le-button-transition) var(--le-transition-easing),\n transform var(--le-button-transition) var(--le-transition-easing)}.le-button-container:hover:not(:disabled){background:var(--_btn-bg-hover);border-color:var(--_btn-bg-hover)}.le-button-container:active:not(:disabled){box-shadow:inset 0 0 5px color-mix(in srgb, var(--_btn-bg) 50%, transparent)}.le-button-container:focus-visible{outline:2px solid var(--le-color-focus);outline-offset:2px}.le-button-container:disabled{opacity:0.5;cursor:not-allowed}.le-button-label{display:inline-flex;flex-direction:row;align-items:center;justify-content:center;gap:var(--le-spacing-2)}:host(.color-primary){--_btn-bg:var(--le-color-primary);--_btn-bg-hover:var(--le-color-primary-dark);--_btn-color:var(--le-button-color);--_btn-border-color:var(--le-color-primary)}:host(.color-secondary){--_btn-bg:var(--le-color-secondary);--_btn-bg-hover:var(--le-color-secondary-dark);--_btn-color:var(--le-color-secondary-contrast);--_btn-border-color:var(--le-color-secondary)}:host(.color-success){--_btn-bg:var(--le-color-success);--_btn-bg-hover:var(--le-color-success-dark);--_btn-color:var(--le-color-success-contrast);--_btn-border-color:var(--le-color-success)}:host(.color-warning){--_btn-bg:var(--le-color-warning);--_btn-bg-hover:var(--le-color-warning-dark);--_btn-color:var(--le-color-warning-contrast);--_btn-border-color:var(--le-color-warning)}:host(.color-danger){--_btn-bg:var(--le-color-danger);--_btn-bg-hover:var(--le-color-danger-dark);--_btn-color:var(--le-color-danger-contrast);--_btn-border-color:var(--le-color-danger)}:host(.color-info){--_btn-bg:var(--le-color-info);--_btn-bg-hover:var(--le-color-info-dark);--_btn-color:var(--le-color-info-contrast);--_btn-border-color:var(--le-color-info)}:host(.variant-solid) .le-button-container{box-shadow:var(--le-shadow-sm)}:host(.variant-solid) .le-button-container:hover:not(:disabled){box-shadow:var(--le-shadow-md)}:host(.variant-outlined) .le-button-container{background:transparent;color:var(--_btn-bg);border-color:color-mix(in srgb, var(--_btn-border-color) 33%, transparent)}:host(.variant-outlined) .le-button-container:hover:not(:disabled){border-color:var(--_btn-border-color)}:host(.variant-clear) .le-button-container{background:transparent;color:var(--_btn-bg);border-color:transparent}:host(.variant-clear) .le-button-container:hover:not(:disabled){background:var(--le-color-gray-100);border-color:transparent}:host(.variant-system) .le-button-container{background:transparent;color:var(--_btn-bg-system);border-color:transparent}:host(.size-small){--le-button-padding-x:0.4rem;--le-button-padding-y:0.3rem;--le-button-padding-top:0.35rem;--le-button-font-size:var(--le-button-small-font-size, var(--le-font-size-xs))}:host(.size-large){--le-button-padding-x:0.9rem;--le-button-padding-y:0.6rem;--le-button-font-size:var(--le-font-size-xl)}:host(.full-width){display:block;width:100%}:host(.selected) .le-button-container{box-shadow:inset 0 0 4px var(--le-color-shadow)}:host(.variant-outlined.selected) .le-button-container,:host(.variant-clear.selected) .le-button-container{background:var(--_btn-bg);color:var(--_btn-color)}:host(.icon-only) .le-button-container{padding:0.5rem;padding-bottom:0.6rem;aspect-ratio:var(--le-button-icon-aspect-ratio, 1)}:host(.icon-only.size-small) .le-button-container{padding:var(--le-button-small-padding, 0.25rem)}:host(.icon-only.size-large) .le-button-container{padding:0.75rem}:host(.icon-only) .content{display:none}.content{display:inline}.content:empty{display:none}.icon-start,.icon-only,.icon-end{display:flex;align-items:center;justify-content:center}.icon-start:empty,.icon-only:empty,.icon-end:empty{display:none}::slotted([slot="icon-start"]),::slotted([slot="icon-only"]),::slotted([slot="icon-end"]){display:flex;align-items:center;justify-content:center;width:1.125em;height:1.125em}.le-button-align-start{justify-content:flex-start}.le-button-align-center{justify-content:center}.le-button-align-space-between{justify-content:space-between}.le-button-align-end{justify-content:flex-end}`;const f=class{constructor(o){e(this,o);this.leClick=t(this,"click")}get el(){return o(this)}mode;variant="solid";color="primary";size="medium";selected=false;fullWidth=false;iconOnly;iconStart;iconEnd;disabled=false;type="button";href;target;align="center";leClick;handleClick=e=>{e.stopPropagation();if(this.disabled){e.preventDefault();return}this.leClick.emit(e)};render(){const e=l(`variant-${this.variant}`,`color-${this.color}`,`size-${this.size}`,{selected:this.selected,"full-width":this.fullWidth,"icon-only":this.iconOnly,disabled:this.disabled});const t=this.href?"a":"button";const o=this.href?{href:this.href,target:this.target,role:"button"}:{type:this.type,disabled:this.disabled};return i(s,{key:"bc9515b65357611b9a29f8c4f89edfdfb1535bf0",class:e},i("le-component",{key:"bb5367d16d781e6af44f709d5f132faa3b0fc88e",component:"le-button"},i(t,{key:"09118bccd54456ee8dadaaff92d9fedfa91831ec",class:l("le-button-container",`le-button-align-${this.align}`),part:"button",...o,onClick:this.handleClick},this.iconOnly!==undefined?i("slot",{name:"icon-only"},typeof this.iconOnly==="string"?this.iconOnly:null):i(r,null,i("span",{class:"le-button-label"},this.iconStart&&i("span",{class:"icon-start",part:"icon-start"},this.iconStart),i("le-slot",{name:"",description:"Button text",type:"text",class:"content",part:"content"},i("slot",null))),this.iconEnd&&i("span",{class:"icon-end",part:"icon-end"},this.iconEnd)))))}};f.style=p();const u=()=>`:host{display:block;--le-checkbox-size:18px;--le-checkbox-color:var(--le-color-primary, #007bff);--le-checkbox-label-color:var(--le-color-text-primary, #333);--le-checkbox-desc-color:var(--le-color-text-secondary, #666);--le-checkbox-border-radius:var(--le-radius-sm, 2px);--le-checkbox-marker-color:var(--le-color-surface, #fff)}.le-checkbox-wrapper{display:flex;flex-direction:column;gap:4px}.le-checkbox-label{display:inline-flex;align-items:flex-start;gap:8px;cursor:pointer;user-select:none}:host([disabled]) .le-checkbox-label{cursor:not-allowed;opacity:0.6}.le-checkbox-input{display:flex;align-items:center;justify-content:center;min-height:1.4em}input[type="checkbox"]{appearance:none;-webkit-appearance:none;width:var(--le-checkbox-size);height:var(--le-checkbox-size);border:var(--le-border-width, 2px) solid var(--le-checkbox-color);border-radius:var(--le-checkbox-border-radius);margin:0;margin-top:2px;position:relative;cursor:inherit;background-color:transparent;transition:background-color 0.2s, border-color 0.2s}input[type="checkbox"]:checked{background-color:var(--le-checkbox-color)}input[type="checkbox"]:checked::after{content:'';position:absolute;left:0;top:0;bottom:calc(var(--le-checkbox-size) / 5);right:0;margin:auto;width:calc(var(--le-checkbox-size) / 4);height:calc(var(--le-checkbox-size) / 2);border:solid var(--le-checkbox-marker-color, #fff);border-width:0 calc(var(--le-checkbox-size) / 10) calc(var(--le-checkbox-size) / 10) 0;transform:rotate(45deg)}input[type="checkbox"]:focus-visible{outline:2px solid var(--le-color-focus);outline-offset:2px}.le-checkbox-text{flex:1;flex-wrap:wrap;color:var(--le-checkbox-label-color);line-height:1.5;text-align:start}.le-checkbox-description{margin-left:calc(var(--le-checkbox-size) + 8px);font-size:0.875em;color:var(--le-checkbox-desc-color);line-height:1.4}:host [slot="description"]{margin:0}`;const b=class{constructor(o){e(this,o);this.leChange=t(this,"change")}get el(){return o(this)}checked=false;disabled=false;name;value;externalId;leChange;handleChange=e=>{e.stopPropagation();if(this.disabled){e.preventDefault();return}const t=e.target;this.checked=t.checked;this.leChange.emit({checked:this.checked,value:this.value,name:this.name,externalId:this.externalId})};render(){return i("le-component",{key:"15e49aa77c2d904b1610f68802428e9dd86b3631",component:"le-checkbox",hostClass:l({disabled:this.disabled})},i("div",{key:"50691376a207f004112820742df46ef9ff8016e0",class:"le-checkbox-wrapper"},i("label",{key:"339a209a9a649ff491dd1867e617f71e4bca7365",class:"le-checkbox-label"},i("span",{key:"1086e8989abe5a23ac01bd2323a8ae2454c4acb6",class:"le-checkbox-input"},i("input",{key:"90126054fb3aa8ed58d043694275cac416d06578",type:"checkbox",name:this.name,value:this.value,checked:this.checked,disabled:this.disabled,onChange:this.handleChange})),i("span",{key:"8b47592103fbd4f7e3b7b1b01f27d42bf6dccbc7",class:"le-checkbox-text"},i("le-slot",{key:"c5f5aaff0b69bcf7d993ea84181a63d30b794774",name:"",type:"text",tag:"span"},i("slot",{key:"bc615ec211b6db8f5f22760ae5298560384a1b84"})))),i("div",{key:"0c6037f4d7948b262beb4a5b969018fb6b0cad4a",class:"le-checkbox-description"},i("le-slot",{key:"17631ed776592063601dd37052f43d7e4732af21",name:"description",type:"text",tag:"div",label:"Description"},i("slot",{key:"13a3138cd0101fc1f9175a89ed933a2f2d4df79f",name:"description"})))))}};b.style=u();const g=()=>`:host{--le-collapse-duration:var(--le-transition-normal);display:grid;grid-template-rows:1fr;opacity:1;transition:grid-template-rows var(--le-collapse-duration),\n opacity var(--le-collapse-duration)}:host([data-open="false"]),:host([closed]){grid-template-rows:0fr;opacity:0}:host([no-fading][data-open="false"]),:host([no-fading][closed]){opacity:1}.region{display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden}.region.scroll-down{justify-content:flex-start}`;const m=class{constructor(t){e(this,t)}get el(){return o(this)}closed=false;scrollDown=false;noFading=false;collapseOnHeaderShrink=false;handleHeaderShrink(e){const t=e;this.headerShrunk=!!t.detail?.shrunk}headerShrunk=false;componentDidLoad(){this.applyOpenState()}onOpenChange(){this.applyOpenState()}onDrivenStateChange(){this.applyOpenState()}shouldBeOpen(){if(this.closed)return false;if(this.collapseOnHeaderShrink&&this.headerShrunk)return false;return true}applyOpenState(){const e=this.shouldBeOpen();this.el.toggleAttribute("data-open",e)}render(){return i(s,{key:"946501d440fa391cfea13283072c387fd1e98b65","data-open":this.shouldBeOpen()?"true":"false"},i("le-component",{key:"fb5c7e9f9e15dc3ef440f9703977ee7f09ffe676",component:"le-collapse"},i("div",{key:"83ec865adb8a11cc9de7a6a173b85245414360e8",class:{region:true,"scroll-down":this.scrollDown},part:"region"},i("slot",{key:"6b402e2beac8bde188da48719f47e5f9fc12581d"}))))}static get watchers(){return{open:["onOpenChange"],headerShrunk:["onDrivenStateChange"]}}};m.style=g();const v=()=>`:host{display:contents}:host(.admin-mode){display:block}.le-component-wrapper{position:relative;border:2px dashed var(--le-admin-border-color, #90caf9);border-radius:var(--le-radius-md, 8px);background:var(--le-admin-bg, rgba(144, 202, 249, 0.05));transition:border-color 0.2s ease, box-shadow 0.2s ease}.le-component-wrapper:hover{border-color:var(--le-admin-border-hover, #42a5f5);box-shadow:0 0 0 2px var(--le-admin-glow, rgba(66, 165, 245, 0.2))}.le-component-header{display:flex;align-items:center;justify-content:space-between;gap:var(--le-spacing-1, 4px);padding:0 0 0 var(--le-spacing-1, 4px);background:var(--le-admin-header-bg, rgba(144, 202, 249, 0.15));border-bottom:1px solid var(--le-admin-border-color, #90caf9);border-radius:var(--le-radius-md, 8px) var(--le-radius-md, 8px) 0 0;font-size:var(--le-font-size-xs, 11px)}.le-component-name{font-weight:var(--le-font-weight-medium, 500);color:var(--le-admin-text, #1976d2);text-transform:capitalize;text-align:start;overflow:hidden;width:0;flex:1 1 0%}.le-component-content{padding:var(--le-space-xs, 4px)}.le-component-trigger{font-size:24px;line-height:0px;width:12px;height:12px}.le-component-button{width:20px}.property-editor{display:flex;flex-direction:column;gap:var(--le-space-sm, 8px);max-width:380px}.property-field{display:flex;flex-direction:column;gap:var(--le-space-xs, 4px)}.property-field label{display:flex;flex-direction:column;gap:2px;font-size:var(--le-font-size-sm, 13px);font-weight:var(--le-font-weight-medium, 500);color:var(--le-color-text, #333)}.property-hint{font-size:var(--le-font-size-xs, 11px);font-weight:normal;color:var(--le-color-text-secondary, #666);line-height:1.3}.property-field input[type="text"],.property-field input[type="number"],.property-field select{padding:var(--le-space-xs, 4px) var(--le-space-sm, 8px);border:1px solid var(--le-color-border, #ddd);border-radius:var(--le-radius-md, 7px);font-size:var(--le-font-size-sm, 13px);font-family:inherit;background:var(--le-color-surface, #fff);color:var(--le-color-text, #333);transition:border-color 0.15s ease, box-shadow 0.15s ease}.property-field input:focus,.property-field select:focus{outline:none;border-color:var(--le-color-primary, #1976d2);box-shadow:0 0 0 2px var(--le-color-primary-light, rgba(25, 118, 210, 0.2))}.property-field--checkbox{flex-direction:column}.property-field--checkbox label{flex-direction:row;align-items:center;gap:var(--le-space-sm, 8px);cursor:pointer}.property-field--checkbox input[type="checkbox"]{width:16px;height:16px;margin:0;cursor:pointer;accent-color:var(--le-color-primary, #1976d2)}.property-field--checkbox .property-hint{margin-left:24px}.no-properties{margin:0;padding:var(--le-space-sm, 8px);font-size:var(--le-font-size-sm, 13px);color:var(--le-color-text-secondary, #666);text-align:center}.property-editor-container{display:flex;flex-direction:column;gap:var(--le-space-md, 12px)}.property-editor-actions{padding-top:var(--le-space-sm, 8px);border-top:1px solid var(--le-color-border, #e5e5e5)}.delete-component-btn{display:flex;align-items:center;justify-content:center;gap:var(--le-space-xs, 4px);width:100%;padding:var(--le-space-sm, 8px) var(--le-space-md, 12px);border:1px solid var(--le-color-danger, #e53935);border-radius:var(--le-radius-md, 6px);background:transparent;color:var(--le-color-danger, #e53935);font-size:var(--le-font-size-sm, 13px);font-weight:500;cursor:pointer;transition:background-color 0.15s, color 0.15s}.delete-component-btn:hover{background:var(--le-color-danger, #e53935);color:white}.delete-component-btn:active{opacity:0.9}`;const x=class{constructor(t){e(this,t)}get el(){return o(this)}component;displayName;hostClass;hostStyle;hostElement;adminMode=false;componentMeta=null;propertyValues={};disconnectModeObserver;connectedCallback(){this.findHostElement();this.disconnectModeObserver=c(this.el,(e=>{this.adminMode=e==="admin";if(this.adminMode){if(!this.componentMeta){this.loadComponentMetadata()}else{this.readPropertyValues()}}}))}findHostElement(){const e=this.el.getRootNode();if(e instanceof ShadowRoot){this.hostElement=e.host}}componentDidLoad(){this.readPropertyValues()}disconnectedCallback(){this.disconnectModeObserver?.()}formatDisplayName(e){if(!e||typeof e!=="string")return"unknown";return e.replace(/^le-/,"").split("-").map((e=>e.charAt(0).toUpperCase()+e.slice(1))).join(" ")}async loadComponentMetadata(){try{const{manifestFile:e}=a();const t=n(`./assets/${e}`);const o=await fetch(t);const i=await o.json();for(const e of i.modules){for(const t of e.declarations||[]){if(t.tagName===this.component){const e=(t.attributes||[]).filter((e=>!this.isInternalAttribute(e.name)));this.componentMeta={tagName:t.tagName,description:t.description,attributes:e};this.readPropertyValues();return}}}}catch(e){}}isInternalAttribute(e){const t=["mode","theme","class","style","id","slot"];return t.includes(e)}readPropertyValues(){if(!this.hostElement||!this.componentMeta)return;const e={};for(const t of this.componentMeta.attributes){const o=this.hostElement.getAttribute(t.name);e[t.name]=this.parseAttributeValue(o,t.type?.text)}this.propertyValues=e}parseAttributeValue(e,t){if(e===null)return undefined;if(t==="boolean"){return e!==null&&e!=="false"}if(t==="number"){return parseFloat(e)}return e}handlePropertyChange(e,t,o){if(!this.hostElement)return;if(o==="boolean"){if(t){this.hostElement.setAttribute(e,"")}else{this.hostElement.removeAttribute(e)}}else if(t===undefined||t===""){this.hostElement.removeAttribute(e)}else{this.hostElement.setAttribute(e,String(t))}this.propertyValues={...this.propertyValues,[e]:t}}deleteComponent(){if(!this.hostElement)return;const e=this.displayName||this.formatDisplayName(this.component);if(!h(`Delete this ${e}?`))return;const t=this.hostElement.parentElement;if(t){this.hostElement.remove()}}renderPropertyEditor(){const e=this.componentMeta&&this.componentMeta.attributes.length>0;return i("div",{class:"property-editor-container"},e?i("form",{class:"property-editor",onSubmit:e=>e.preventDefault()},this.componentMeta.attributes.map((e=>this.renderPropertyField(e)))):i("p",{class:"no-properties"},"No editable properties"),i("div",{class:"property-editor-actions"},i("le-button",{type:"button",variant:"outlined",color:"danger","full-width":true,onClick:()=>this.deleteComponent()},i("span",{slot:"icon-start"},"🗑️"),i("span",null,"Delete Component"))))}renderPropertyField(e){const t=this.propertyValues[e.name];const o=e.type?.text||"string";const r=o.match(/^'[^']+'/);if(r){const r=o.split("|").map((e=>e.trim().replace(/'/g,"")));return i("div",{class:"property-field"},i("label",{htmlFor:`prop-${e.name}`},e.name,e.description&&i("span",{class:"property-hint"},e.description)),i("le-select",{options:[...r.map((e=>({label:e,value:e})))],"full-width":true,value:t??e.default?.replace(/'/g,""),placeholder:e.default?.replace(/'/g,""),onLeChange:t=>this.handlePropertyChange(e.name,t.detail.value,o)}))}if(o==="boolean"){return i("div",{class:"property-field property-field--checkbox"},i("le-checkbox",{name:`prop-${e.name}`,checked:t===true||t==="",onChange:t=>this.handlePropertyChange(e.name,t.target.checked,o)},e.name,e.description&&i("div",{slot:"description"},e.description)))}if(o==="number"){return i("div",{class:"property-field"},i("label",{htmlFor:`prop-${e.name}`},e.name,e.description&&i("span",{class:"property-hint"},e.description)),i("input",{type:"number",id:`prop-${e.name}`,value:t??"",placeholder:e.default,onChange:t=>this.handlePropertyChange(e.name,t.target.value,o)}))}return i("div",{class:"property-field"},i("le-string-input",{name:`prop-${e.name}`,label:e.name,value:t??"",placeholder:e.default?.replace(/'/g,""),onChange:t=>this.handlePropertyChange(e.name,t.detail.value,o)},i("span",{slot:"description"},e.description)))}render(){const e=this.displayName||this.formatDisplayName(this.component);if(!this.adminMode){return i(s,{class:l(this.component,this.hostClass),style:this.hostStyle},i("slot",null))}return i(s,{class:l(this.component,this.hostClass,"admin-mode"),style:this.hostStyle},i("div",{class:"le-component-wrapper"},i("div",{class:"le-component-header"},i("span",{class:"le-component-name"},e),i("le-popover",{popoverTitle:`${e} Settings`,position:"right",align:"start","min-width":"300px",mode:"default"},i("le-button",{type:"button",class:"le-component-button",slot:"trigger",variant:"clear",size:"small","aria-label":"Edit component properties","icon-only":true},i("span",{class:"le-component-trigger",slot:"icon-only"},"⚙")),this.renderPropertyEditor())),i("div",{class:"le-component-content"},i("slot",null))))}static get assetsDirs(){return["assets"]}};x.style=v();const y=()=>`:host{display:inline-flex;min-width:0}.title{font:inherit;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--le-current-heading-color, var(--le-color-text-primary))}`;const w=class{constructor(t){e(this,t)}get el(){return o(this)}selector="";activeText=null;componentWillLoad(){this.updateActiveTitle()}onSelectorChange(){this.updateActiveTitle()}onScroll(){this.updateActiveTitle()}onResize(){this.updateActiveTitle()}updateActiveTitle(){if(typeof window==="undefined")return;const e=(this.selector??"").trim();if(!e){this.activeText=null;return}let t=[];try{t=Array.from(document.querySelectorAll(e))}catch{this.activeText=null;return}let o=null;for(const e of t){const t=e.getBoundingClientRect();if(t.height>0&&t.bottom<=0){const t=(e.textContent??"").trim();if(t)o=t}}if(o!==this.activeText){this.activeText=o}}render(){return i(s,{key:"d6773c072799d0337b7d2bade9de2c169e35d3c8"},this.activeText?i("span",{class:"title",part:"title"},this.activeText):i("slot",null))}static get watchers(){return{selector:["onSelectorChange"]}}};w.style=y();const k=()=>`:host{display:block;--le-dropdown-list-padding:var(--le-spacing-1);--le-dropdown-empty-padding:var(--le-spacing-4);--le-dropdown-option-radius:var(--le-radius-md);--le-dropdown-font-size:var(--le-font-size-sm);--le-dropdown-option-padding:var(--le-spacing-1) var(--le-spacing-2);--le-dropdown-group-padding:var(--le-spacing-2) var(--le-spacing-2) var(--le-spacing-1);--le-dropdown-group-font-size:var(--le-font-size-xs)}:host([disabled]){pointer-events:none;opacity:0.5}le-popover::part(content){overflow-y:auto;overflow-x:hidden;padding:var(--le-dropdown-list-padding, 0.25rem)}.dropdown-empty{padding:var(--le-dropdown-empty-padding);text-align:center;color:var(--le-color-text-secondary, #9ca3af);font-size:var(--le-dropdown-font-size)}.dropdown-group-header{padding:var(--le-dropdown-group-padding);font-size:var(--le-dropdown-group-font-size);font-weight:700;color:var(--le-color-text-secondary, #9ca3af);letter-spacing:0.05em}.dropdown-list{text-align:initial}.dropdown-separator{height:1px;margin:var(--le-dropdown-separator-margin, 0.25rem 0);background:var(--le-color-border, #e5e7eb)}.dropdown-option{display:flex;align-items:center;gap:var(--le-dropdown-option-gap, 0.5rem);padding:var(--le-dropdown-option-padding);font-size:var(--le-dropdown-font-size, 0.875rem);line-height:1.4;color:var(--le-color-text, #1f2937);border:1px solid transparent;border-radius:var(--le-dropdown-option-radius, 0.25rem);cursor:pointer;user-select:none;transition:background-color 0.1s ease}.dropdown-option:hover,.dropdown-option.is-focused{border-color:var(--le-color-border-hover, #d1d5db)}.dropdown-option.is-disabled{opacity:0.5;cursor:not-allowed}.dropdown-option.is-disabled:hover{background:transparent}.option-checkbox{display:flex;align-items:center;justify-content:center;width:1rem;height:1rem;border:2px solid var(--le-color-border, #d1d5db);border-radius:0.25rem;background:var(--le-color-surface, #fff);flex-shrink:0}.is-selected .option-checkbox{background:var(--le-color-primary, #3b82f6);border-color:var(--le-color-primary, #3b82f6);color:white}.option-checkbox svg{width:0.75rem;height:0.75rem}.option-icon-start,.option-icon-end{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:1.25rem;height:1.25rem}.option-icon-start img,.option-icon-end img{width:100%;height:100%;object-fit:contain}.option-content{flex:1;min-width:0;display:flex;flex-direction:column}.option-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.option-description{font-size:0.75rem;color:var(--le-color-text-muted, #6b7280);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.option-check{display:flex;align-items:center;justify-content:center;width:1rem;height:1rem;color:var(--le-color-primary, #3b82f6);flex-shrink:0}.option-check svg{width:1rem;height:1rem}`;const C=class{constructor(o){e(this,o);this.leOptionSelect=t(this,"leOptionSelect");this.leDropdownOpen=t(this,"leDropdownOpen");this.leDropdownClose=t(this,"leDropdownClose")}get el(){return o(this)}options=[];value;multiple=false;open=false;disabled=false;filterFn;filterQuery="";emptyText="No options";showCheckboxes=true;maxHeight="300px";width;fullWidth=false;closeOnClickOutside=true;leOptionSelect;leDropdownOpen;leDropdownClose;focusedIndex=-1;filteredOptions=[];popoverEl;listEl;triggerWidth=0;handleOptionsChange(){this.updateFilteredOptions()}componentWillLoad(){this.updateFilteredOptions()}updateFilteredOptions(){const e=this.filteredOptions[this.focusedIndex];if(!this.filterQuery||!this.filterFn){this.filteredOptions=this.options}else{this.filteredOptions=this.options.filter((e=>this.filterFn(e,this.filterQuery)))}if(e){const t=this.filteredOptions.indexOf(e);this.focusedIndex=t>=0?t:this.getInitialFocusIndex()}else{this.focusedIndex=-1}}getSelectableOptions(){return this.filteredOptions.filter((e=>!e.disabled))}isSelected(e){const t=e.value??e.label;if(this.multiple&&Array.isArray(this.value)){setTimeout((()=>{this.popoverEl?.updatePosition()}),50);return this.value.includes(t)}return this.value===t}handleOptionClick(e,t){t.preventDefault();t.stopPropagation();if(e.disabled)return;this.leOptionSelect.emit({value:e.value??e.label,option:e});if(!this.multiple){this.hide()}}handleKeyDown=e=>{if(!this.open)return;const t=this.filteredOptions.length;switch(e.key){case"ArrowDown":e.preventDefault();let o=this.focusedIndex<t-1?this.focusedIndex+1:0;while(this.filteredOptions[o].disabled){o=++o<t?o:0}this.focusedIndex=o;this.scrollToFocused();break;case"ArrowUp":e.preventDefault();let i=this.focusedIndex>0?this.focusedIndex-1:t-1;while(this.filteredOptions[i].disabled){i=--i>=0?i:t-1}this.focusedIndex=i;this.scrollToFocused();break;case"Home":e.preventDefault();let r=0;while(this.filteredOptions[r].disabled){r++;if(r>=t){r=-1;break}}this.focusedIndex=r;this.scrollToFocused();break;case"End":e.preventDefault();let s=t-1;while(this.filteredOptions[s].disabled){s--;if(s<0){s=-1;break}}this.focusedIndex=s;this.scrollToFocused();break;case"Enter":case" ":e.preventDefault();if(this.focusedIndex>=0&&this.focusedIndex<t){const e=this.filteredOptions[this.focusedIndex];if(!e||e.disabled)return;this.leOptionSelect.emit({value:e.value??e.label,option:e});if(!this.multiple){this.hide()}}break;case"Escape":e.preventDefault();this.hide();break;case"Tab":this.hide();break}};scrollToFocused(){if(!this.listEl||this.focusedIndex<0)return;const e=this.listEl.querySelector(`[data-index="${this.focusedIndex}"]`);if(e){e.scrollIntoView({block:"nearest"})}}handlePopoverOpen=()=>{this.open=true;this.focusedIndex=this.getInitialFocusIndex();this.leDropdownOpen.emit();document.addEventListener("keydown",this.handleKeyDown)};handlePopoverClose=()=>{this.open=false;this.focusedIndex=-1;this.leDropdownClose.emit();document.removeEventListener("keydown",this.handleKeyDown)};getInitialFocusIndex(){const e=this.getSelectableOptions();const t=e.findIndex((e=>this.isSelected(e)));return t>=0?t:0}async show(){if(this.disabled)return;const e=this.el.querySelector('[slot="trigger"]');if(e){this.triggerWidth=e.offsetWidth}await(this.popoverEl?.show())}async hide(){await(this.popoverEl?.hide())}async toggle(){if(this.open){await this.hide()}else{await this.show()}}renderIcon(e,t){if(!e)return null;if(e.startsWith("http")||e.startsWith("/")){return i("img",{class:t,src:e,alt:""})}return i("span",{class:t},e)}renderOption(e,t){const o=this.isSelected(e);const r=t===this.focusedIndex;const s=e.id||d();return i("div",{class:{"dropdown-option":true,"is-selected":o,"is-focused":r,"is-disabled":!!e.disabled},role:"option",id:s,"aria-selected":o?"true":"false","aria-disabled":e.disabled?"true":undefined,"data-index":t,onClick:t=>this.handleOptionClick(e,t),onMouseEnter:()=>{if(!e.disabled){this.focusedIndex=t}}},this.renderIcon(e.iconStart,"option-icon-start"),i("div",{class:"option-content"},i("span",{class:"option-label"},e.label),e.description&&i("span",{class:"option-description"},e.description)),this.renderIcon(e.iconEnd,"option-icon-end"),(!this.multiple||this.showCheckboxes)&&o&&i("span",{class:"option-check"},i("svg",{viewBox:"0 0 16 16",fill:"currentColor"},i("path",{d:"M13.78 4.22a.75.75 0 010 1.06l-7.25 7.25a.75.75 0 01-1.06 0L2.22 9.28a.75.75 0 011.06-1.06L6 10.94l6.72-6.72a.75.75 0 011.06 0z"}))))}renderOptions(){if(this.filteredOptions.length===0){return i("div",{class:"dropdown-empty"},this.emptyText)}const e=new Map;const t=[];this.filteredOptions.forEach((o=>{if(o.group){const t=e.get(o.group)||[];t.push(o);e.set(o.group,t)}else{t.push(o)}}));let o=0;const r=[];t.forEach((e=>{if(e.separator==="before"){r.push(i("div",{class:"dropdown-separator",role:"separator"}))}r.push(this.renderOption(e,o++));if(e.separator==="after"){r.push(i("div",{class:"dropdown-separator",role:"separator"}))}}));e.forEach(((e,t)=>{r.push(i("div",{class:"dropdown-group-header",role:"presentation"},t));e.forEach((e=>{r.push(this.renderOption(e,o++))}))}));return r}render(){const e=this.width||(this.triggerWidth?`${this.triggerWidth}px`:undefined);return i(s,{key:"eeb6316ffb006adb8d53f3c2f81cadde32d261ae"},i("le-popover",{key:"703c57bf2185590df226787778ad67cd423ce943",ref:e=>this.popoverEl=e,position:"bottom",align:"start",showClose:false,closeOnClickOutside:this.closeOnClickOutside,closeOnEscape:true,offset:4,width:e,minWidth:"150px","trigger-full-width":this.fullWidth,onLePopoverOpen:this.handlePopoverOpen,onLePopoverClose:this.handlePopoverClose},i("slot",{key:"bc401b4af80c9e6d15c4f5fe2a5ff2687b9ae582",name:"trigger",slot:"trigger"}),i("slot",{key:"3414d6eb1d4fecfe642b31e2a1abd271c83ab2df",name:"header"}),i("div",{key:"685d0aa6e15b6a191d517e194ae96302cfb4a191",class:"dropdown-list",role:"listbox","aria-multiselectable":this.multiple?"true":undefined,ref:e=>this.listEl=e,style:{maxHeight:this.maxHeight}},this.renderOptions())))}static get watchers(){return{options:["handleOptionsChange"],filterQuery:["handleOptionsChange"]}}};C.style=k();const z=()=>`:host{display:block;width:100%;--le-header-top-offset:0;--le-header-bg:var(--le-color-surface);--le-header-max-width:var(--le-header-max-width, auto);--le-header-margin:0 auto;--le-header-border:1px solid var(--le-color-border);--le-header-border-radius:0px;--le-header-shadow:var(--le-header-shadow, none);--le-header-color:var(--le-color-text);--le-header-content-max-width:800px;--le-header-padding-x:var(--le-space-md);--le-header-padding-y:var(--le-space-sm);--le-header-gap:var(--le-space-sm);--le-header-transition:var(--le-transition-normal);--le-header-z:1000}.header{width:100%;max-width:var(--le-header-max-width);margin:var(--le-header-margin);background:var(--le-header-bg);color:var(--le-header-color);border-bottom:var(--le-header-border);border-radius:var(--le-header-border-radius);box-shadow:var(--le-header-shadow)}:host(.is-fixed){position:fixed;top:var(--le-header-top-offset);left:0;right:0;z-index:var(--le-header-z)}:host(.is-sticky){position:sticky;top:var(--le-header-top-offset);z-index:var(--le-header-z)}:host(.is-static){position:relative}.inner{max-width:var(--le-header-content-max-width);margin:0 auto;padding:var(--le-header-padding-y) var(--le-header-padding-x)}.row{display:grid;grid-template-columns:minmax(0, 1fr) minmax(0, 2fr) minmax(0, 1fr);align-items:center;gap:var(--le-header-gap);transition:height var(--le-header-transition),\n padding var(--le-header-transition),\n transform var(--le-header-transition)}:host(.is-shrunk) .row{height:var(--le-header-height-condensed)}:host(.is-sticky.is-hidden){transform:translateY(-150%);transition:transform var(--le-header-transition)}:host(.is-sticky.is-revealed){transform:translateY(0);transition:transform var(--le-header-transition)}.start,.title,.end{min-width:0;display:flex;align-items:center}.start{justify-content:flex-start}.end{justify-content:flex-end}.title{justify-content:center;text-align:center}.title-slot ::slotted(*){white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.compact-title{font:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}`;const S=class{constructor(o){e(this,o);this.leHeaderState=t(this,"leHeaderState");this.leHeaderShrinkChange=t(this,"leHeaderShrinkChange");this.leHeaderVisibilityChange=t(this,"leHeaderVisibilityChange")}get el(){return o(this)}isStatic=false;sticky=false;fixed=false;revealOnScroll;shrinkOffset;expandOnHover=false;leHeaderState;leHeaderShrinkChange;leHeaderVisibilityChange;revealed=true;shrunk=false;placeholderHeight=null;hoverActive=false;disconnectModeObserver;rafId=null;measureRafId=null;lastY=0;lastEmittedDirection="down";headerEl;shrinkSelectorEl;setShrunk(e,t){if(e===this.shrunk)return;this.shrunk=e;this.leHeaderShrinkChange.emit({shrunk:this.shrunk,y:t})}componentDidLoad(){if(typeof window==="undefined")return;this.lastY=window.scrollY||0;this.scheduleMeasure(true);this.scheduleUpdate(true)}disconnectedCallback(){this.disconnectModeObserver?.();if(this.rafId!=null){cancelAnimationFrame(this.rafId);this.rafId=null}if(this.measureRafId!=null){cancelAnimationFrame(this.measureRafId);this.measureRafId=null}}onBehaviorPropsChange(){this.scheduleUpdate(true);this.scheduleMeasure(true)}onWindowScroll(){this.scheduleUpdate()}onWindowResize(){this.scheduleMeasure(true);this.scheduleUpdate(true)}getPosition(){if(this.fixed)return"fixed";if(this.sticky)return"sticky";return"static"}parseRevealThreshold(){if(!this.sticky||this.fixed)return null;if(this.revealOnScroll==null)return null;const e=String(this.revealOnScroll).trim();if(e===""||e==="true")return 16;if(e==="false")return null;const t=Number(e);return Number.isFinite(t)?Math.max(0,t):16}resolveShrinkStartPx(){const e=(this.shrinkOffset??"").trim();if(!e||e==="0")return null;const t=Number(e);if(Number.isFinite(t))return Math.max(0,t);if(e.startsWith("--")){const t=getComputedStyle(document.documentElement).getPropertyValue(e).trim();const o=Number(t.replace("px","").trim());return Number.isFinite(o)?Math.max(0,o):null}try{const t=document.querySelector(e);this.shrinkSelectorEl=t;return null}catch{this.shrinkSelectorEl=null;return null}}scheduleUpdate(e=false){if(this.rafId!=null){if(!e)return;cancelAnimationFrame(this.rafId);this.rafId=null}this.rafId=requestAnimationFrame((()=>{this.rafId=null;this.updateFromScroll()}))}scheduleMeasure(e=false){if(this.measureRafId!=null&&!e)return;this.measureRafId=requestAnimationFrame((()=>{this.measureRafId=null;this.measurePlaceholderHeight()}))}measurePlaceholderHeight(){if(!this.headerEl)return;const e=Math.ceil(this.headerEl.getBoundingClientRect().height);if(!Number.isFinite(e)||e<=0)return;if(e!==this.placeholderHeight){this.placeholderHeight=e;if(typeof document!=="undefined"){document.documentElement.style.setProperty("--le-header-height",`${e}px`)}}}updateFromScroll(){const e=typeof window!=="undefined"?window.scrollY||0:0;const t=e-this.lastY;const o=t<0?"up":"down";let i=false;const r=Math.max(0,this.placeholderHeight??0);const s=typeof window!=="undefined"?this.resolveShrinkStartPx():null;if(this.shrinkSelectorEl){const e=this.shrinkSelectorEl.getBoundingClientRect();i=e.bottom<=0}else if(s!=null){const t=Math.max(s,r);i=e>=t}const n=this.expandOnHover&&this.hoverActive?false:i;this.setShrunk(n,e);const a=this.parseRevealThreshold();if(a!=null){const i=Math.max(0,this.placeholderHeight??0);if(e<=i){if(!this.revealed){this.revealed=true;this.leHeaderVisibilityChange.emit({visible:true,y:e})}}else if(Math.abs(t)>=a){const t=o==="up"||e<=0;if(t!==this.revealed){this.revealed=t;this.leHeaderVisibilityChange.emit({visible:this.revealed,y:e})}this.lastEmittedDirection=o}}else{if(!this.revealed){this.revealed=true;this.leHeaderVisibilityChange.emit({visible:true,y:e})}}this.lastY=e;this.leHeaderState.emit({y:e,direction:this.lastEmittedDirection,revealed:this.revealed,shrunk:this.shrunk})}render(){const e=this.getPosition();const t=l("le-header",{"header-is-shrunk":this.shrunk,"is-fixed":e==="fixed","is-sticky":e==="sticky","is-static":e==="static","is-revealed":this.revealed,"is-hidden":!this.revealed,"is-shrunk":this.shrunk});return i(s,{key:"564328055a69a1646c7f9030ac274a30c3baad0a",class:t,onMouseEnter:()=>{if(!this.expandOnHover)return;this.hoverActive=true;this.scheduleUpdate(true)},onMouseLeave:()=>{if(!this.expandOnHover)return;this.hoverActive=false;this.scheduleUpdate(true)}},i("le-component",{key:"a9feac7b7229ed250b4c2cade7e5dce8bb79e634",component:"le-header"},i("header",{key:"acebe4ea5222593e65190a35515c60ee7e15549a",class:"header",part:"header",role:"banner",ref:e=>this.headerEl=e},i("div",{key:"bf37e677a5058e4e9bf74a4f6a3c62112daaea20",class:"inner",part:"inner"},i("div",{key:"d6886dba1b0e8003a2080f03f6bfe3fa0ffdca18",class:"row",part:"row"},i("div",{key:"d4c328bb74c955fa377a06f1a33783750bd83237",class:"start",part:"start"},i("le-slot",{key:"1b9d58c81f8a498637eefd7a1310c961b014d1a5",name:"start",label:"Start",description:"Logo / back button / nav","allowed-components":"le-button,le-text,le-tag,le-box,le-stack"},i("slot",{key:"d5c2727c4f427b60cad9575c0e74a18e7b229462",name:"start"}))),i("div",{key:"35831f9dfb3ff584cdc573081ebdeef1968f06c7",class:"title",part:"title"},i("le-slot",{key:"bed684a7880dfa79b4b7585dcb3c2bd024e0cc93",name:"title",label:"Title",description:"Header title",type:"text",tag:"span"},i("span",{key:"f523ee36ff1f0c6a2793e5d813d6b9a9c632f2bf",class:"title-slot",part:"title"},i("slot",{key:"39e750e3f4231406552187e961ae7e9a206d240b",name:"title"})))),i("div",{key:"c99435b41a905b6780c07e7103125d7c439af7cb",class:"end",part:"end"},i("le-slot",{key:"efca1aadcf9108add84dbb5a2ea539fb95e795c6",name:"end",label:"End",description:"Actions","allowed-components":"le-button,le-text,le-tag,le-box,le-stack"},i("slot",{key:"d04b78ca1eeb1cbae4b3575f03231b93ed4d9692",name:"end"})))),i("div",{key:"d83bda303c5fcd63da3e0419bd9276677d8f5cc7",class:"secondary",part:"secondary"},i("le-slot",{key:"1f5f6d317e969c54d87a6ad516fed071e72f342c",name:"",label:"Secondary",description:"Secondary row content","allowed-components":"le-tabs,le-tab-bar,le-select,le-combobox,le-text,le-stack,le-box"},i("slot",{key:"fb5a6a434190658f8fb55e3bc21d5f952a559ad5"})))))))}static get watchers(){return{revealOnScroll:["onBehaviorPropsChange"],shrinkOffset:["onBehaviorPropsChange"],fixed:["onBehaviorPropsChange"],sticky:["onBehaviorPropsChange"],isStatic:["onBehaviorPropsChange"]}}};S.style=z();const _=()=>`/* ============================================\n le-popover.css\n Popover using native HTML Popover API\n ============================================ */\n\n:host {\n display: inline-block;\n position: relative;\n}\n\n:host([trigger-full-width]) {\n display: block;\n width: 100%;\n}\n\n/* ============================================\n Trigger\n ============================================ */\n\n.le-popover-trigger {\n display: inline-flex;\n cursor: pointer;\n}\n\n.le-popover-trigger-full-width {\n display: flex;\n width: 100%;\n}\n\n.le-popover-default-trigger {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n padding: 0;\n border: 1px solid var(--le-color-border, #e0e0e0);\n border-radius: var(--le-radius-md, 6px);\n background: var(--le-color-surface, #fff);\n color: var(--le-color-text-secondary, #666);\n font-size: 16px;\n cursor: pointer;\n transition: all var(--le-transition-fast, 0.15s ease);\n}\n\n.le-popover-default-trigger:hover {\n border-color: var(--le-color-primary, #2196f3);\n color: var(--le-color-primary, #2196f3);\n background: var(--le-color-primary-light, rgba(33, 150, 243, 0.1));\n}\n\n/* ============================================\n Popover Content (native popover)\n ============================================ */\n\n.le-popover-content {\n /* Reset native popover defaults */\n margin: 0;\n padding: 0;\n border: none;\n background: transparent;\n \n /* Positioning - will be set via JS */\n position: fixed;\n inset: unset;\n \n /* Styling */\n background: var(--le-color-surface, #ffffff);\n border: 1px solid var(--le-color-border, #e0e0e0);\n border-radius: var(--le-radius-lg, 8px);\n box-shadow: var(--le-shadow-lg, 0 4px 12px rgba(0, 0, 0, 0.15));\n overflow: hidden;\n font-family: var(--le-font-family, system-ui, -apple-system, sans-serif);\n font-size: var(--le-font-size-sm, 0.875rem);\n color: var(--le-color-text, #333);\n \n /* Animation */\n opacity: 0;\n transform: scale(0.95);\n transition: opacity 0.15s ease, transform 0.15s ease, display 0.15s ease allow-discrete;\n}\n\n/* When popover is open */\n.le-popover-content:popover-open {\n opacity: 1;\n transform: scale(1);\n}\n\n/* Fallback for browsers without the Popover API */\n.le-popover-content[data-fallback-open="false"] {\n display: none;\n}\n\n.le-popover-content[data-fallback-open="true"] {\n opacity: 1;\n transform: scale(1);\n}\n\n/* Starting style for animation (CSS Anchor Positioning spec) */\n@starting-style {\n .le-popover-content:popover-open {\n opacity: 0;\n transform: scale(0.95);\n }\n}\n\n/* ============================================\n Header\n ============================================ */\n\n.le-popover-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: var(--le-space-xs, 4px) var(--le-space-xs, 4px) var(--le-space-xs, 4px) var(--le-space-sm, 8px);\n border-bottom: 1px solid var(--le-color-border, #e0e0e0);\n background: var(--le-color-surface-alt, #f9f9f9);\n min-height: 32px;\n}\n\n.le-popover-title {\n font-weight: var(--le-font-weight-semibold, 600);\n font-size: var(--le-font-size-sm, 0.875rem);\n color: var(--le-color-text, #333);\n}\n\n.le-popover-close {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n padding: 0;\n border: none;\n background: transparent;\n color: var(--le-color-text-secondary, #666);\n font-size: 18px;\n line-height: 1;\n cursor: pointer;\n border-radius: var(--le-radius-sm, 4px);\n transition: background-color 0.15s, color 0.15s;\n}\n\n.le-popover-close:hover {\n background: var(--le-color-surface-hover, rgba(0, 0, 0, 0.05));\n color: var(--le-color-text, #333);\n}\n\n/* ============================================\n Body\n ============================================ */\n\n.le-popover-body {\n padding: var(--le-space-md, 12px);\n}\n\n/* ============================================\n Scrollable content\n ============================================ */\n\n.le-popover-content[style*="overflow-y: auto"] .le-popover-body {\n overflow-y: auto;\n}\n`;const O=[];const P=class{constructor(o){e(this,o);this.lePopoverOpen=t(this,"lePopoverOpen");this.lePopoverClose=t(this,"lePopoverClose")}get el(){return o(this)}mode;open=false;position="bottom";align="start";popoverTitle;showClose=true;closeOnClickOutside=true;closeOnEscape=true;offset=8;width;minWidth="200px";maxWidth;triggerFullWidth=false;lePopoverOpen;lePopoverClose;async updatePosition(){this._updatePosition()}isPositioned=false;triggerEl;popoverEl;uniqueId=`le-popover-${Math.random().toString(36).substr(2,9)}`;scrollParents=[];isListeningForDismiss=false;get supportsPopoverApi(){return typeof HTMLElement.prototype.showPopover==="function"}shadowContains(e,t){let o=t;while(o){if(o===e)return true;if(o instanceof ShadowRoot){o=o.host;continue}if(o.parentNode){o=o.parentNode;continue}const t=o.getRootNode?.();if(t instanceof ShadowRoot){o=t.host;continue}break}return false}componentDidLoad(){this.popoverEl?.addEventListener("toggle",this.handlePopoverToggle);document.addEventListener("le-popover-will-open",this.handleOtherPopoverOpen);if(this.open){this.addDismissListeners()}}disconnectedCallback(){this.popoverEl?.removeEventListener("toggle",this.handlePopoverToggle);document.removeEventListener("le-popover-will-open",this.handleOtherPopoverOpen);this.removeScrollListeners();this.removeDismissListeners()}addDismissListeners(){if(this.isListeningForDismiss)return;document.addEventListener("pointerdown",this.handleDocumentPointerDown,true);document.addEventListener("keydown",this.handleDocumentKeyDown,true);this.isListeningForDismiss=true}removeDismissListeners(){if(!this.isListeningForDismiss)return;document.removeEventListener("pointerdown",this.handleDocumentPointerDown,true);document.removeEventListener("keydown",this.handleDocumentKeyDown,true);this.isListeningForDismiss=false}handleDocumentPointerDown=e=>{if(!this.open||!this.closeOnClickOutside)return;const t=e.composedPath?.()??[];if(t.includes(this.el))return;this.hide()};handleDocumentKeyDown=e=>{if(!this.open||!this.closeOnEscape)return;if(e.key!=="Escape")return;const t=O[O.length-1];if(t!==this.el)return;e.preventDefault();e.stopPropagation();this.hide()};getScrollParents(e){const t=[];let o=e.parentElement;while(o){const e=getComputedStyle(o);const i=e.overflow+e.overflowY+e.overflowX;if(/(auto|scroll)/.test(i)){t.push(o)}o=o.parentElement}return t}addScrollListeners(){if(!this.triggerEl)return;this.scrollParents=this.getScrollParents(this.triggerEl);this.scrollParents.forEach((e=>{e.addEventListener("scroll",this.handleScroll,{passive:true})}));window.addEventListener("scroll",this.handleScroll,{passive:true});window.addEventListener("resize",this.handleScroll,{passive:true})}removeScrollListeners(){this.scrollParents.forEach((e=>{e.removeEventListener("scroll",this.handleScroll)}));window.removeEventListener("scroll",this.handleScroll);window.removeEventListener("resize",this.handleScroll);this.scrollParents=[]}handleScroll=()=>{if(this.open){this._updatePosition()}};handleOpened(){this.open=true;const e=O.indexOf(this.el);if(e>=0)O.splice(e,1);O.push(this.el);this.addDismissListeners();this.addScrollListeners();this._updatePosition();this.lePopoverOpen.emit()}handleClosed(){this.open=false;this.isPositioned=false;this.removeScrollListeners();this.removeDismissListeners();const e=O.indexOf(this.el);if(e>=0)O.splice(e,1);this.lePopoverClose.emit()}handlePopoverToggle=e=>{if(e.newState==="open"){this.handleOpened()}else{this.handleClosed()}};handleOtherPopoverOpen=e=>{const t=e;const o=t.detail?.popover;if(!o)return;if(o===this.el)return;if(this.shadowContains(this.el,o)||this.shadowContains(o,this.el)){return}if(this.open){this.hide()}};async show(){document.dispatchEvent(new CustomEvent("le-popover-will-open",{detail:{popover:this.el}}));if(this.supportsPopoverApi){this.popoverEl?.showPopover()}else{this.handleOpened()}}async hide(){if(this.supportsPopoverApi){this.popoverEl?.hidePopover()}else{this.handleClosed()}}async toggle(){if(this.open){await this.hide()}else{await this.show()}}handleTriggerClick=e=>{e.stopPropagation();this.toggle()};_updatePosition(){if(!this.triggerEl||!this.popoverEl)return;const e=this.triggerEl.getBoundingClientRect();const t=this.popoverEl.getBoundingClientRect();const o=window.innerWidth;const i=window.innerHeight;const r=8;let s=this.position;let n=this.align;const a=i-e.bottom-r;const l=e.top-r;const c=o-e.right-r;const d=e.left-r;if(s==="auto"){if(a>=t.height+this.offset){s="bottom"}else if(l>=t.height+this.offset){s="top"}else if(c>=t.width+this.offset){s="right"}else if(d>=t.width+this.offset){s="left"}else{const e=Math.max(a,l,c,d);if(e===a)s="bottom";else if(e===l)s="top";else if(e===c)s="right";else s="left"}}if(s==="top"||s==="bottom"){if(n==="start"&&e.left+t.width>o-r){n="end"}else if(n==="end"&&e.right-t.width<r){n="start"}else if(n==="center"){const i=e.left+e.width/2;if(i-t.width/2<r){n="start"}else if(i+t.width/2>o-r){n="end"}}}let h=0;let p=0;let f=null;switch(s){case"top":h=e.top-t.height-this.offset;if(h<r){f=e.top-this.offset-r*2;h=r}break;case"bottom":h=e.bottom+this.offset;if(h+t.height>i-r){f=i-h-r}break;case"left":p=e.left-t.width-this.offset;h=e.top;if(p<r)p=r;break;case"right":p=e.right+this.offset;h=e.top;if(p+t.width>o-r){p=o-t.width-r}break}if(s==="top"||s==="bottom"){switch(n){case"start":p=e.left;break;case"center":p=e.left+e.width/2-t.width/2;break;case"end":p=e.right-t.width;break}if(p<r){p=r}else if(p+t.width>o-r){p=o-t.width-r}}if(s==="left"||s==="right"){switch(n){case"start":h=e.top;break;case"center":h=e.top+e.height/2-t.height/2;break;case"end":h=e.bottom-t.height;break}if(h<r)h=r;if(h+t.height>i-r){f=i-h-r}}this.popoverEl.style.top=`${h}px`;this.popoverEl.style.left=`${p}px`;if(f!==null&&f>100){this.popoverEl.style.maxHeight=`${f}px`;this.popoverEl.style.overflowY="auto"}else{this.popoverEl.style.maxHeight="";this.popoverEl.style.overflowY=""}this.isPositioned=true}render(){const e={visibility:this.isPositioned?"visible":"hidden"};if(this.width)e.width=this.width;if(this.minWidth)e.minWidth=this.minWidth;if(this.maxWidth)e.maxWidth=this.maxWidth;return i(s,{key:"ab4a38788350cd0571637978291dc3cacf128290","trigger-full-width":this.triggerFullWidth},i("div",{key:"aeae05965add2ef93145fecfc444124ef998e868",class:l("le-popover-trigger",{"le-popover-trigger-full-width":this.triggerFullWidth}),ref:e=>this.triggerEl=e,onClick:this.handleTriggerClick,part:"trigger"},i("slot",{key:"db68f48f01d2d729e46a8fe46e7a10f3c28cecd6",name:"trigger"},i("button",{key:"e2ab0f5516d18b8cb209c3172c84d46041089c39",type:"button",class:"le-popover-default-trigger"},i("span",{key:"1a8062028340b3696fbce2f2911b7cecba947841"},"⊕")))),i("div",{key:"19ff2c84398d3851c51f64f3369017790e9a6ab2",id:this.uniqueId,class:"le-popover-content",popover:"manual",ref:e=>this.popoverEl=e,style:e,"data-fallback-open":this.supportsPopoverApi?undefined:String(this.open)},(this.popoverTitle||this.showClose)&&i("div",{key:"fba07fb0c59685f51dd0952560d47abbce7b7424",class:"le-popover-header"},this.popoverTitle&&i("span",{key:"064851cf48684a1bb9e2a27c8d415bcf449fc871",class:"le-popover-title"},this.popoverTitle),this.showClose&&i("button",{key:"281803ab3f5aeab0f0ed842dba513ef5991f6619",type:"button",class:"le-popover-close",onClick:()=>this.hide(),"aria-label":"Close"},"×")),i("div",{key:"4aea10af963421a60145b6ed0913f1447b8f0599",class:"le-popover-body",part:"content"},i("slot",{key:"e4310d522411a43164d08eb74a935777782e6bac"}))))}};P.style=_();const D=()=>`:host{display:contents}.le-popup-dialog{position:fixed;z-index:100;top:0;right:0;bottom:0;left:0;padding:0;border:none;background:transparent;max-width:none;max-height:none;overflow:visible;--_popup-min-width:var(--le-popup-min-width, 320px);--_popup-max-width:var(--le-popup-max-width, min(500px, 90vw));--_popup-min-height:var(--le-popup-min-height, auto)}.le-popup-dialog::backdrop{background:var(--le-popup-backdrop-color, rgba(0, 0, 0, 0.5));animation:le-popup-backdrop-fade 0.2s ease-out}@keyframes le-popup-backdrop-fade{from{opacity:0}to{opacity:1}}.le-popup-position-center{margin:auto}.le-popup-position-top{margin:var(--le-space-2xl, 48px) auto auto auto}.le-popup-position-top-left{margin:var(--le-space-lg, 24px) auto auto var(--le-space-lg, 24px)}.le-popup-position-top-right{margin:var(--le-space-lg, 24px) var(--le-space-lg, 24px) auto auto}.le-popup-position-bottom{margin:auto auto var(--le-space-2xl, 48px) auto}.le-popup-position-bottom-left{margin:auto auto var(--le-space-lg, 24px) var(--le-space-lg, 24px)}.le-popup-position-bottom-right{margin:auto var(--le-space-lg, 24px) var(--le-space-lg, 24px) auto}.le-popup-container{display:flex;flex-direction:column;min-width:var(--_popup-min-width);max-width:var(--_popup-max-width);min-height:var(--_popup-min-height);max-height:calc(100vh - var(--le-space-2xl, 48px) * 2);background:var(--le-color-surface, #ffffff);border:1px solid var(--le-color-border, #e0e0e0);border-radius:var(--le-radius-lg, 12px);box-shadow:var(--le-shadow-xl, 0 8px 32px rgba(0, 0, 0, 0.15));overflow:hidden;font-family:var(--le-font-family, system-ui, -apple-system, sans-serif);color:var(--le-color-text, #333);animation:le-popup-appear 0.2s ease-out}@keyframes le-popup-appear{from{opacity:0;transform:scale(0.95) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.le-popup-header{flex-shrink:0;padding:var(--le-space-md, 16px) var(--le-space-lg, 24px);border-bottom:1px solid var(--le-color-border, #e0e0e0);background:var(--le-color-surface-alt, #f9f9f9);font-size:var(--le-font-size-lg, 1.125rem);font-weight:var(--le-font-weight-semibold, 600);color:var(--le-color-text, #333)}.le-popup-body{flex:1;padding:var(--le-space-lg, 24px);overflow-y:auto}.le-popup-message{margin:0;font-size:var(--le-font-size-md, 1rem);line-height:var(--le-line-height-relaxed, 1.6);color:var(--le-color-text, #333)}.le-popup-message+::slotted(*){margin-top:var(--le-space-md, 16px)}.le-popup-input{display:block;width:100%;margin-top:var(--le-space-md, 16px);padding:var(--le-space-sm, 8px) var(--le-space-md, 16px);font-family:inherit;font-size:var(--le-font-size-md, 1rem);color:var(--le-color-text, #333);background:var(--le-color-background, #fff);border:1px solid var(--le-color-border, #e0e0e0);border-radius:var(--le-radius-md, 8px);outline:none;transition:border-color var(--le-transition-fast, 0.15s ease),\n box-shadow var(--le-transition-fast, 0.15s ease);box-sizing:border-box}.le-popup-input:focus{border-color:var(--le-color-primary, #2196f3);box-shadow:0 0 0 3px var(--le-color-primary-light, rgba(33, 150, 243, 0.2))}.le-popup-input::placeholder{color:var(--le-color-text-muted, #999)}.le-popup-footer{flex-shrink:0;display:flex;justify-content:flex-end;gap:var(--le-space-sm, 8px);padding:var(--le-space-md, 16px) var(--le-space-lg, 24px);border-top:1px solid var(--le-color-border, #e0e0e0);background:var(--le-color-surface-alt, #f9f9f9)}.le-popup-btn{min-width:80px}@media (max-width: 480px){.le-popup-container{min-width:calc(100vw - var(--le-space-md, 16px) * 2);max-width:calc(100vw - var(--le-space-md, 16px) * 2)}.le-popup-footer{flex-direction:column-reverse}.le-popup-btn{width:100%}}`;const E=class{constructor(o){e(this,o);this.leConfirm=t(this,"leConfirm");this.leCancel=t(this,"leCancel");this.leOpen=t(this,"leOpen");this.leClose=t(this,"leClose")}get el(){return o(this)}mode="default";open=false;type="alert";popupTitle;message;modal=true;position="center";confirmText="OK";cancelText="Cancel";placeholder="";defaultValue="";closeOnBackdrop=true;inputValue="";leConfirm;leCancel;leOpen;leClose;dialogEl;inputEl;resolvePromise;componentWillLoad(){this.inputValue=this.defaultValue}componentDidLoad(){this.dialogEl?.addEventListener("cancel",this.handleDialogCancel)}disconnectedCallback(){this.dialogEl?.removeEventListener("cancel",this.handleDialogCancel)}handleDialogCancel=e=>{e.preventDefault();this.handleCancel()};async show(){return new Promise((e=>{this.resolvePromise=e;this.inputValue=this.defaultValue;this.open=true;requestAnimationFrame((()=>{if(this.dialogEl){if(this.modal){this.dialogEl.showModal()}else{this.dialogEl.show()}this.leOpen.emit();if(this.type==="prompt"&&this.inputEl){this.inputEl.focus();this.inputEl.select()}}}))}))}async hide(e=false){const t={confirmed:e,value:this.type==="prompt"?this.inputValue:undefined};this.dialogEl?.close();this.open=false;this.leClose.emit(t);if(this.resolvePromise){this.resolvePromise(t);this.resolvePromise=undefined}}handleConfirm=()=>{const e={confirmed:true,value:this.type==="prompt"?this.inputValue:undefined};this.leConfirm.emit(e);this.hide(true)};handleCancel=()=>{const e={confirmed:false,value:undefined};this.leCancel.emit(e);this.hide(false)};handleBackdropClick=e=>{if(this.closeOnBackdrop&&e.target===this.dialogEl){const t=this.dialogEl.getBoundingClientRect();const o=e.clientX>=t.left&&e.clientX<=t.right&&e.clientY>=t.top&&e.clientY<=t.bottom;if(!o){this.handleCancel()}}};handleInputChange=e=>{this.inputValue=e.target.value};handleKeyDown=e=>{if(e.key==="Enter"&&this.type!=="custom"){e.preventDefault();this.handleConfirm()}};hasSlot(e){return!!this.el.querySelector(`[slot="${e}"]`)}renderHeader(){if(this.hasSlot("header")){return i("div",{class:"le-popup-header",part:"header"},i("slot",{name:"header"}))}if(this.popupTitle){return i("div",{class:"le-popup-header",part:"header"},this.popupTitle)}return null}renderBody(){return i("div",{class:"le-popup-body",part:"body"},this.message&&i("p",{class:"le-popup-message"},this.message),this.type==="prompt"&&i("input",{type:"text",class:"le-popup-input",part:"input",placeholder:this.placeholder,value:this.inputValue,onInput:this.handleInputChange,onKeyDown:this.handleKeyDown,ref:e=>this.inputEl=e}),i("le-slot",{name:"",tag:"div",description:"Custom popup content",type:"slot"},i("slot",null)))}renderFooter(){if(this.hasSlot("footer")){return i("div",{class:"le-popup-footer",part:"footer"},i("slot",{name:"footer"}))}if(this.type==="custom"){return null}return i("div",{class:"le-popup-footer",part:"footer"},(this.type==="confirm"||this.type==="prompt")&&i("le-button",{variant:"outlined",part:"button-cancel",class:"le-popup-btn",onClick:this.handleCancel},this.cancelText),i("le-button",{variant:"solid",part:"button-confirm",class:"le-popup-btn",onClick:this.handleConfirm},this.confirmText))}render(){const e=`le-popup-position-${this.position}`;return i("dialog",{key:"20ac8e086b2999191c769a0ee03b1c1182103809",class:`le-popup-dialog ${e}`,part:"dialog",ref:e=>this.dialogEl=e,onClick:this.handleBackdropClick},i("le-component",{key:"468b1d737c2301b041c2a7a13afc658505f74c5b",component:"le-popup"},i("div",{key:"829cad08439dc5d0b3f9c78092a46faa016bbec2",class:"le-popup-container",part:"container"},this.renderHeader(),this.renderBody(),this.renderFooter())))}};E.style=D();const j=()=>`:host{display:block}:host([sticky]){position:sticky;top:var(--le-scroll-progress-sticky-top, 0);z-index:var(--le-scroll-progress-z, calc(var(--le-header-z, 1000) + 1))}:host([fixed]){position:fixed;top:var(--le-scroll-progress-fixed-top, 0);left:var(--le-scroll-progress-fixed-left, 0);right:var(--le-scroll-progress-fixed-right, 0);z-index:var(--le-scroll-progress-z, calc(var(--le-header-z, 1000) + 1))}.track{width:100%;height:var(--le-scroll-progress-height, 4px);background:var(--le-scroll-progress-bg, transparent)}.fill{height:100%;width:0;background:var(--le-scroll-progress-fill, var(--le-color-primary, currentColor));border-radius:var(--le-scroll-progress-border-radius, 2px);transition:width var(--le-transition-fast, 120ms linear)}`;const M=class{constructor(t){e(this,t)}get el(){return o(this)}trackScrollProgress;progress=0;rafId=null;targetEl=null;componentWillLoad(){this.updateProgress()}componentDidLoad(){this.resolveTarget();this.updateProgress()}disconnectedCallback(){if(this.rafId!=null){cancelAnimationFrame(this.rafId);this.rafId=null}}onTrackChange(){this.resolveTarget();this.updateProgress()}onScroll(){this.scheduleUpdate()}onResize(){this.resolveTarget();this.scheduleUpdate(true)}scheduleUpdate(e=false){if(this.rafId!=null&&!e)return;this.rafId=requestAnimationFrame((()=>{this.rafId=null;this.updateProgress()}))}resolveTarget(){if(typeof document==="undefined")return;const e=this.trackScrollProgress;if(e==null){this.targetEl=null;return}const t=String(e).trim();if(t===""||t==="true"){this.targetEl=null;return}if(t==="false"){this.targetEl=null;return}try{this.targetEl=document.querySelector(t)}catch{this.targetEl=null}}clamp01(e){return Math.max(0,Math.min(1,e))}updateProgress(){if(typeof window==="undefined"||typeof document==="undefined")return;if(this.trackScrollProgress==="false"){if(this.progress!==0)this.progress=0;return}const e=window.scrollY||0;let t=0;if(this.targetEl){const o=this.targetEl.getBoundingClientRect();const i=e+o.top;const r=o.height;const s=window.innerHeight||1;const n=Math.max(1,r-s);t=this.clamp01((e-i)/n)}else{const o=document.documentElement;const i=Math.max(1,o.scrollHeight-o.clientHeight);t=this.clamp01(e/i)}const o=Math.round(t*1e3)/1e3;if(o!==this.progress)this.progress=o}render(){const e=`${this.progress*100}%`;return i(s,{key:"bbbf42c0402c2b565d6d6b740e0863ed9543cc43"},i("div",{key:"085ca4aad35549d49ef1553d2eb0fd805df2af4a",class:"track",part:"track","aria-hidden":"true"},i("div",{key:"12dc1e4bc87afa64e47d75d3c3c097af82b74b94",class:"fill",part:"fill",style:{width:e}})))}static get watchers(){return{trackScrollProgress:["onTrackChange"]}}};M.style=j();const L=()=>`:host{display:inline-block;min-width:150px;--le-select-color:var(--le-color-text, #1f2937);--le-select-border-radius:var(--le-radius-md);--le-select-content-padding:var(--le-spacing-2)}:host([disabled]){opacity:0.5;pointer-events:none}:host([full-width]){width:100%}.select-trigger{display:flex;align-items:center;gap:0.5rem;width:100%;padding:0;--le-button-padding:var(--le-spacing-1) var(--le-spacing-1) var(--le-spacing-1) var(--le-spacing-2);font-size:var(--le-select-font-size, 0.875rem);font-family:inherit;line-height:1.4;color:var(--le-select-color);background:var(--le-select-bg, var(--le-color-surface, #fff));border-radius:var(--le-select-border-radius);cursor:pointer;text-align:left;transition:border-color 0.15s ease, box-shadow 0.15s ease}.select-trigger:focus{outline:2px solid var(--le-color-focus);outline-offset:2px}.select-trigger:not(.has-value) .trigger-label{color:color-mix(in srgb, var(--le-color-text-secondary) 66%, transparent)}.trigger-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:1.25rem;height:1.25rem}.trigger-icon-end{width:16px;height:16px}.trigger-icon img{width:100%;height:100%;object-fit:contain}.trigger-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--le-color-text)}.trigger-label::not(.has-value){color:var(--le-color-text-disabled, #9ca3af)}le-button::part(icon-end){display:flex;align-items:center;justify-content:center;flex-shrink:0;width:1.25rem;height:1.25rem;margin-left:auto;transition:transform 0.2s ease}le-button::part(icon-end) svg{width:1rem;height:1rem}le-button.is-open::part(icon-end){transform:rotate(180deg)}.search-input::part(container):focus-within{outline:none !important}.search-input{--le-input-radius:var(--le-radius-md)}`;const F=class{constructor(o){e(this,o);this.leChange=t(this,"leChange");this.leOpen=t(this,"leOpen");this.leClose=t(this,"leClose")}get el(){return o(this)}options=[];value;placeholder="Select an option";disabled=false;required=false;name;fullWidth=false;size="medium";variant="default";searchable=false;emptyText="No results found";open=false;leChange;leOpen;leClose;selectedOption;searchQuery="";dropdownEl;inputEl;handleValueChange(){this.updateSelectedOption()}handleOptionsChange(){this.updateSelectedOption()}componentWillLoad(){this.updateSelectedOption()}get parsedOptions(){if(typeof this.options==="string"){try{return JSON.parse(this.options)}catch{return[]}}return this.options}updateSelectedOption(){if(this.value!==undefined){this.selectedOption=this.parsedOptions.find((e=>(e.value??e.label)===this.value))}else{this.selectedOption=undefined}}filterOption=(e,t)=>{if(!t)return true;const o=t.toLowerCase();return e.label.toLowerCase().includes(o)||(e.description?.toLowerCase().includes(o)??false)};handleOptionSelect=e=>{this.value=e.detail.value;this.selectedOption=e.detail.option;this.leChange.emit(e.detail)};handleDropdownOpen=()=>{this.open=true;this.leOpen.emit();if(this.searchable){setTimeout((()=>{this.inputEl?.focus()}),50)}};handleDropdownClose=()=>{this.open=false;this.leClose.emit()};handleTriggerClick=()=>{if(!this.disabled){this.dropdownEl?.toggle()}};handleTriggerKeyDown=e=>{if(this.disabled)return;if(e.key==="Enter"||e.key===" "||e.key==="ArrowDown"){e.preventDefault();this.dropdownEl?.show()}};handleSearchInput=e=>{const t=e.target;this.searchQuery=t.value};async showDropdown(){await(this.dropdownEl?.show())}async hideDropdown(){await(this.dropdownEl?.hide())}renderIcon(e){if(!e)return null;if(e.startsWith("http")||e.startsWith("/")){return i("img",{class:"trigger-icon",src:e,alt:""})}return i("span",{class:"trigger-icon"},e)}render(){const e=this.selectedOption!==undefined;return i("le-component",{key:"6f2eebab3f0afcef9d1801812ad0cc4cfb4456b6",component:"le-select"},i("le-dropdown-base",{key:"eb34e28681f84fbd5a75d415facd9f1f79012010",ref:e=>this.dropdownEl=e,options:this.parsedOptions,value:this.value,disabled:this.disabled,filterFn:this.searchable?this.filterOption:undefined,filterQuery:this.searchQuery,onLeOptionSelect:this.handleOptionSelect,onLeDropdownOpen:this.handleDropdownOpen,onLeDropdownClose:this.handleDropdownClose,fullWidth:this.fullWidth},i("le-button",{key:"e8507bfd78aa3267fb2513810599361cd223f8eb",variant:this.variant&&this.variant!=="default"?this.variant:"outlined",slot:"trigger",align:"space-between",class:{"select-trigger":true,"has-value":e,"is-open":this.open},mode:"default",size:this.size,disabled:this.disabled,"aria-haspopup":"listbox","aria-expanded":this.open?"true":"false",onClick:this.handleTriggerClick,onKeyDown:this.handleTriggerKeyDown,fullWidth:this.fullWidth,iconStart:e&&this.selectedOption?.iconStart?this.renderIcon(this.selectedOption.iconStart):null,iconEnd:i("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor","stroke-width":"2"},i("path",{d:"M4 6l4 4 4-4"}))},i("span",{key:"afd07c274a9b340ed16d89844495fdf588e7ebfe",class:"trigger-label"},e?this.selectedOption.label:this.placeholder)),this.searchable&&this.open&&i("div",{key:"baeaf8eb5ad2083d3860d9e02991d32144e23038",class:"multiselect-search",slot:"header"},i("le-string-input",{key:"4d3a7d002fb4476db71f2e37ce44dc62cc89f2fc",mode:"default",inputRef:e=>this.inputEl=e,class:"search-input",placeholder:"Search...",value:this.searchQuery,onInput:this.handleSearchInput}))),this.name&&i("input",{key:"37e3432981fda47a0bbf09bcb56851bd5dab4ca4",type:"hidden",name:this.name,value:this.value?.toString()??""}))}static get watchers(){return{value:["handleValueChange"],options:["handleOptionsChange"]}}};F.style=L();const T=()=>`:host{display:contents;--le-slot-border-color:#0088ff;--le-slot-bg-color:rgba(0, 136, 255, 0.05);--le-slot-header-bg:rgb(218, 238, 255);--le-slot-label-color:#0066cc;--le-slot-description-color:#666;--le-slot-required-color:#e53935;--le-slot-dropzone-min-height:20px;--le-slot-dropzone-border-color:#ccc}.le-slot-container,.le-slot-header,.le-slot-description,.le-slot-dropzone,.le-slot-input{display:none}.hidden-slot{display:none}:host(.admin-mode){display:block;flex:1}:host(.admin-mode) .le-slot-container{position:relative;display:flex;flex-direction:column;border:2px dashed var(--le-slot-border-color);border-radius:4px;background:var(--le-slot-bg-color);margin:4px 0}:host(.admin-mode) .le-slot-header{display:flex;align-items:center;gap:4px;padding:0 0 0 var(--le-spacing-1, 4px);background:var(--le-slot-header-bg);border-bottom:1px solid var(--le-slot-border-color);font-size:var(--le-font-size-xs, 11px);font-weight:400;text-transform:capitalize}:host(.admin-mode) .le-slot-header-no-label{justify-content:flex-end;height:16px;border:none;background-color:transparent}.le-slot-label{color:var(--le-slot-label-color);text-align:start;overflow:hidden;width:0;flex:1 1 0%}.le-slot-required{color:var(--le-slot-required-color);font-weight:bold}:host(.admin-mode) .le-slot-description{display:block;padding:4px 8px;font-size:12px;color:var(--le-slot-description-color);font-style:italic}:host(.admin-mode) .le-slot-description-icon{display:inline-block;font-size:9px;line-height:1;cursor:pointer;color:var(--le-slot-description-color)}:host(.admin-mode) .le-slot-dropzone{display:block;min-height:var(--le-slot-dropzone-min-height);padding:var(--le-spacing-1, 4px);position:relative}:host(.admin-mode) .le-slot-dropzone:empty::before{content:'Drop content here';display:flex;align-items:center;justify-content:center;position:absolute;inset:8px;border:2px dashed var(--le-slot-dropzone-border-color);border-radius:4px;color:#999;font-size:12px;pointer-events:none}:host(.admin-mode.drag-over) .le-slot-container{border-color:#00cc66;background:rgba(0, 204, 102, 0.1)}:host(.admin-mode.drag-over) .le-slot-dropzone:empty::before{border-color:#00cc66;color:#00cc66;content:'Release to drop'}:host(.admin-mode) .le-slot-input{display:block;padding:var(--le-spacing-1, 4px)}:host(.admin-mode) .le-slot-input input,:host(.admin-mode) .le-slot-input textarea{display:block;width:100%;padding:8px 10px;border:1px solid var(--le-slot-dropzone-border-color);border-radius:4px;font-family:inherit;font-size:14px;line-height:1.4;background:#fff;color:#333;box-sizing:border-box;transition:border-color 0.2s, box-shadow 0.2s}:host(.admin-mode) .le-slot-input input:focus,:host(.admin-mode) .le-slot-input textarea:focus{outline:none;border-color:var(--le-slot-border-color);box-shadow:0 0 0 3px rgba(0, 136, 255, 0.15)}:host(.admin-mode) .le-slot-input input::placeholder,:host(.admin-mode) .le-slot-input textarea::placeholder{color:#999}:host(.admin-mode) .le-slot-input textarea{resize:vertical;min-height:60px}:host(.admin-mode) .le-slot-input slot{display:none}.le-slot-invalid{color:var(--le-slot-required-color);font-size:10px;margin-left:auto;font-weight:normal;text-transform:none}:host(.admin-mode) .le-slot-input.has-error input,:host(.admin-mode) .le-slot-input.has-error textarea{border-color:var(--le-slot-required-color);background:rgba(229, 57, 53, 0.05)}:host(.admin-mode) .le-slot-input.has-error input:focus,:host(.admin-mode) .le-slot-input.has-error textarea:focus{border-color:var(--le-slot-required-color);box-shadow:0 0 0 3px rgba(229, 57, 53, 0.15)}.le-slot-add-btn{font-size:24px;line-height:0px;width:12px;height:12px}.le-slot-header-no-label .le-slot-add-btn{font-size:16px}.le-slot-button{width:20px;height:20px}:host(.admin-mode) .le-slot-header-no-label.le-slot-header-text{height:0}`;const A=class{constructor(o){e(this,o);this.leSlotChange=t(this,"leSlotChange")}get el(){return o(this)}type="slot";name="";label;description;allowedComponents;multiple=true;required=false;placeholder;tag;slotStyle;adminMode=false;textValue="";isValidHtml=true;availableComponents=[];pickerOpen=false;slotRef;slottedElement;leSlotChange;disconnectModeObserver;connectedCallback(){this.disconnectModeObserver=c(this.el,(e=>{const t=this.adminMode;this.adminMode=e==="admin";if(this.adminMode&&!t){requestAnimationFrame((()=>this.readSlottedContent()));if(this.type==="slot"){this.loadAvailableComponents()}}}))}disconnectedCallback(){this.disconnectModeObserver?.()}isUpdating=false;readSlottedContent(){if(!this.slotRef)return;if(this.isUpdating){this.isUpdating=false;return}const e=this.slotRef.assignedNodes({flatten:true});if(this.type==="text"||this.type==="textarea"){const t=e.find((e=>e.nodeType===Node.ELEMENT_NODE));if(t){if(this.slottedElement!==t){this.slottedElement=t;this.textValue=t.innerHTML?.trim()||""}}else{const t=e.filter((e=>e.nodeType===Node.TEXT_NODE)).map((e=>e.textContent)).join("").trim();if(t&&!this.textValue){this.textValue=t}}}}validateHtml(e){if(!e.trim())return true;const t=document.createElement("template");t.innerHTML=e;const o=(e.match(/<[a-z][^>]*(?<!\/)>/gi)||[]).length;const i=(e.match(/<\/[a-z][^>]*>/gi)||[]).length;const r=(e.match(/<[a-z][^>]*\/>/gi)||[]).length;const s=(e.match(/<(br|hr|img|input|meta|link|area|base|col|embed|param|source|track|wbr)[^>]*>/gi)||[]).length;const n=o-r-s;if(Math.abs(n-i)>1){return false}return true}handleTextInput=e=>{const t=e.target;this.textValue=t.value;this.isValidHtml=this.validateHtml(this.textValue);if(this.isValidHtml){this.isUpdating=true;console.log("Updating text value:",this.textValue,"slottedElement:",this.slottedElement);if(this.slottedElement){this.slottedElement.innerHTML=this.textValue}else if(this.tag&&this.textValue){const e=this.el.getRootNode();if(!this.name&&e instanceof ShadowRoot){const t=e.host;Array.from(t.childNodes).forEach((e=>{if(e.nodeType===Node.TEXT_NODE||e.nodeType===Node.ELEMENT_NODE&&!e.hasAttribute("slot")){e.remove()}}))}this.createSlottedElement()}else if(this.textValue){const e=this.el.getRootNode();if(e instanceof ShadowRoot){const t=e.host;t.innerHTML=this.textValue}}}this.leSlotChange.emit({name:this.name,value:this.textValue,isValid:this.isValidHtml})};createSlottedElement(){if(!this.tag)return;const e=this.el.getRootNode();if(!(e instanceof ShadowRoot))return;const t=e.host;if(!t)return;const o=document.createElement(this.tag);o.innerHTML=this.textValue;if(this.name){o.setAttribute("slot",this.name)}t.appendChild(o);this.slottedElement=o}async loadAvailableComponents(){try{const{manifestFile:e}=a();const t=n(`./assets/${e}`);const o=await fetch(t);const i=await o.json();const r=[];const s=this.allowedComponents?.split(",").map((e=>e.trim()))||[];for(const e of i.modules){for(const t of e.declarations||[]){if(t.tagName&&t.customElement){const e=["le-slot","le-component","le-popover"].includes(t.tagName);if(e)continue;if(s.length>0&&!s.includes(t.tagName)){continue}r.push({tagName:t.tagName,name:this.formatComponentName(t.tagName),description:t.description||""})}}}this.availableComponents=r||[]}catch(e){console.warn("[le-slot] Failed to load component manifest:",e)}}formatComponentName(e){return e.replace(/^le-/,"").split("-").map((e=>e.charAt(0).toUpperCase()+e.slice(1))).join(" ")}addComponent(e){const t=this.el.getRootNode();if(!(t instanceof ShadowRoot))return;const o=t.host;if(!o)return;const i=document.createElement(e);if(this.name){i.setAttribute("slot",this.name)}o.appendChild(i);this.leSlotChange.emit({name:this.name,value:o.innerHTML,isValid:true})}handleSlotChange=()=>{this.readSlottedContent()};render(){const e=this.label||this.name;return i(s,{key:"0b2b3edf3690ed9769438ef019111638e5de0276",class:{"admin-mode":this.adminMode,"invalid-html":!this.isValidHtml},role:this.adminMode?"region":undefined,"aria-label":this.adminMode?`Slot: ${e}`:undefined,"data-slot-name":this.name,"data-slot-type":this.type,"data-allowed":this.allowedComponents,"data-multiple":this.multiple,"data-required":this.required},this.adminMode?i("div",{class:"le-slot-container"},i("div",{class:l("le-slot-header",{"le-slot-header-no-label":!e,"le-slot-header-text":this.type==="text","le-slot-header-error":!this.isValidHtml})},e&&i("span",{class:"le-slot-label"},e,this.required&&i("span",{class:"le-slot-required"},"*")),!this.isValidHtml&&i("span",{class:"le-slot-invalid"},"⚠ Invalid HTML"),this.type==="slot"&&this.adminMode&&i("le-popover",{mode:"default",showClose:true,align:"start",position:"right",popoverTitle:"Add Component",open:this.pickerOpen,onLePopoverOpen:()=>this.pickerOpen=true,onLePopoverClose:()=>this.pickerOpen=false},i("le-button",{type:"button",class:"le-slot-button",slot:"trigger",variant:"clear",size:"small","aria-label":"Add component","icon-only":true},i("span",{class:"le-slot-add-btn",slot:"icon-only"},"+")),i("div",{class:"le-slot-picker"},this.availableComponents.length>0?i("ul",{class:"le-slot-picker-list"},this.availableComponents.map((e=>i("li",{key:e.tagName},i("button",{class:"le-slot-picker-item",onClick:()=>{this.addComponent(e.tagName);this.pickerOpen=false}},i("span",{class:"le-slot-picker-name"},e.name),e.description&&i("span",{class:"le-slot-picker-desc"},e.description)))))):i("div",{class:"le-slot-picker-empty"},"No components available")))),this.renderContent()):i("slot",null))}renderContent(){const e=i("div",{class:"hidden-slot"},i("slot",{ref:e=>this.slotRef=e,onSlotchange:this.handleSlotChange}));switch(this.type){case"text":return i("div",{class:{"le-slot-input":true,"has-error":!this.isValidHtml}},i("le-string-input",{mode:"default",value:this.textValue,placeholder:this.placeholder||`Enter ${this.label||this.name||"text"}...`,onChange:this.handleTextInput}),e);case"textarea":return i("div",{class:{"le-slot-input":true,"has-error":!this.isValidHtml}},i("textarea",{value:this.textValue,placeholder:this.placeholder||`Enter ${this.label||this.name||"text"}...`,onInput:this.handleTextInput,required:this.required,rows:3}),e);case"slot":default:const t={};if(this.slotStyle){this.slotStyle.split(";").forEach((e=>{const[o,i]=e.split(":").map((e=>e.trim()));if(o&&i){const e=o.replace(/-([a-z])/g,((e,t)=>t.toUpperCase()));t[e]=i}}))}return i("div",{class:"le-slot-dropzone",style:t},i("slot",{ref:e=>this.slotRef=e,onSlotchange:this.handleSlotChange}))}}};A.style=T();const I=()=>`:host{display:block;--le-input-bg:var(--le-color-surface, #ffffff);--le-input-color:var(--le-color-text-primary, #333333);--le-input-border:var(--le-border-width, 2px) solid var(--le-color-border-input, #007bff);--le-input-radius:var(--le-radius-sm, 4px);--le-input-padding:2px 6px;--le-input-height:1.5rem;--le-input-label-color:var(--le-color-text-primary, #333333);--le-input-desc-color:var(--le-color-text-secondary, #666666);--le-input-placeholder-color:#999999}.le-input-wrapper{display:flex;flex-direction:column;gap:2px}.le-input-label{display:block;font-size:0.9em;font-weight:500;color:var(--le-input-label-color);margin-bottom:2px}.le-input-container{position:relative;display:flex;align-items:center;background:var(--le-input-bg);border:var(--le-input-border);border-radius:var(--le-input-radius);transition:border-color 0.2s}.le-input-container:focus-within{outline:2px solid var(--le-color-focus);outline-offset:2px}:host([disabled]) .le-input-container{opacity:0.6;background-color:rgba(0,0,0,0.05);cursor:not-allowed}input{flex:1;min-height:var(--le-input-height);padding:var(--le-input-padding);border:none;background:transparent;color:var(--le-input-color);font-family:inherit;font-size:inherit;outline:none;width:100%}input::placeholder{color:var(--le-input-placeholder-color)}.icon-start,.icon-end{display:flex;align-items:center;justify-content:center;padding:0 8px;color:var(--le-input-desc-color)}.le-input-description{font-size:0.85em;color:var(--le-input-desc-color);margin-top:2px}.le-input-description::has(le-slot>slot[name=description]:empty){display:none}`;const $=class{constructor(o){e(this,o);this.leChange=t(this,"change");this.leInput=t(this,"input")}get el(){return o(this)}inputRef;mode;value;name;type="text";label;iconStart;iconEnd;placeholder;hideDescription=false;disabled=false;readonly=false;externalId;leChange;leInput;handleInput=e=>{const t=e.target;this.value=t.value;this.leInput.emit({value:this.value,name:this.name,externalId:this.externalId})};handleChange=e=>{const t=e.target;this.value=t.value;this.leChange.emit({value:this.value,name:this.name,externalId:this.externalId})};handleClick=e=>{e.stopPropagation()};render(){return i("le-component",{key:"c28242025bd09955e03d3aa7e5f7d1fd0693817f",component:"le-string-input",hostClass:l({disabled:this.disabled})},i("div",{key:"e995b83c1668d4818c634f39acb16683baef844c",class:"le-input-wrapper"},this.label&&i("label",{key:"cb0a17558b2a07bf211bdb5ecd7d4e8aec9554cc",class:"le-input-label",htmlFor:this.name},this.label),i("div",{key:"c50a27c4e0732c05b37d6ff6ea77e74f05e942d6",class:"le-input-container",part:"container"},this.iconStart&&i("span",{key:"f9e01713742664671938e66498a407fd0d408b5f",class:"icon-start"},this.iconStart),i("input",{key:"2357145ebdb43bc6eb52450508f707699253da91",ref:e=>{if(this.inputRef){this.inputRef(e)}},id:this.name,type:this.type,name:this.name,value:this.value,placeholder:this.placeholder,disabled:this.disabled,readOnly:this.readonly,onInput:this.handleInput,onChange:this.handleChange,onClick:this.handleClick}),this.iconEnd&&i("span",{key:"22ea7682c0e74910905d08fceeab2b4d0270af60",class:"icon-end"},this.iconEnd)),!this.hideDescription&&i("div",{key:"e281b9cc97935296dda68bf52fa3318997a6c39d",class:"le-input-description"},i("le-slot",{key:"438f02f1a197968f9d5aa751214a680fc17eb2ba",name:"description",type:"text",tag:"p",label:"Description"},i("slot",{key:"3e52eb43aede04916d0004449fc03c4987d62715",name:"description"})))))}};$.style=I();export{f as le_button,b as le_checkbox,m as le_collapse,x as le_component,w as le_current_heading,C as le_dropdown_base,S as le_header,P as le_popover,E as le_popup,M as le_scroll_progress,F as le_select,A as le_slot,$ as le_string_input};
|
|
2
|
+
//# sourceMappingURL=p-509caf7f.entry.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as e,d as a,h as t}from"./p-
|
|
2
|
-
//# sourceMappingURL=p-
|
|
1
|
+
import{r as e,d as a,h as t}from"./p-BqH-zsXr.js";const s=()=>`:host{display:inline-flex;--le-tag-font-size:var(--le-font-size-sm);--le-tag-font-weight:var(--le-font-weight-medium);--le-tag-color:var(--le-color-text);--le-tag-bg:var(--le-color-surface-alt);--le-tag-dismiss-size:1.75em}:host([disabled]){opacity:0.5;pointer-events:none}.tag{display:inline-flex;align-items:center;gap:var(--le-tag-gap, 0.375rem);padding:var(--le-tag-padding-y, 0.25rem) var(--le-tag-padding-x, 0.625rem);font-size:var(--le-tag-font-size);font-weight:var(--le-tag-font-weight);line-height:1.4;color:var(--le-tag-color, var(--le-color-text, #1f2937));background:var(--le-tag-bg, var(--le-color-surface-alt, #f3f4f6));border:1px solid var(--le-tag-border-color, transparent);border-radius:var(--le-tag-border-radius, 9999px);white-space:nowrap;user-select:none}:host([size='small']) .tag{--le-tag-font-size:0.75rem;--le-tag-padding-x:0.5rem;--le-tag-padding-y:0.125rem;--le-tag-gap:0.25rem;--le-tag-dismiss-size:1.25em}:host([size='large']) .tag{--le-tag-font-size:1rem;--le-tag-padding-x:0.875rem;--le-tag-padding-y:0.375rem;--le-tag-gap:0.5rem;--le-tag-dismiss-size:2em}:host([variant='primary']) .tag{--le-tag-bg:var(--le-color-primary, #dbeafe);--le-tag-color:var(--le-color-primary-contrast, #1e40af)}:host([variant='success']) .tag{--le-tag-bg:var(--le-color-success, #dcfce7);--le-tag-color:var(--le-color-success-contrast, #166534)}:host([variant='warning']) .tag{--le-tag-bg:var(--le-color-warning-light, #fef3c7);--le-tag-color:var(--le-color-warning-contrast, #92400e)}:host([variant='danger']) .tag{--le-tag-bg:var(--le-color-danger, #fee2e2);--le-tag-color:var(--le-color-danger-contrast, #991b1b)}.tag-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.tag-icon img{width:1em;height:1em;object-fit:contain}.tag-label{display:inline-block}.tag-dismiss{display:inline-flex;align-items:center;justify-content:center;width:var(--le-tag-dismiss-size);height:var(--le-tag-dismiss-size);padding:0;margin-block:calc(var(--le-tag-dismiss-size) * -1);margin-right:calc(var(--le-tag-dismiss-size) / 3 * -1);border:none;background:transparent;color:currentColor;opacity:0.6;cursor:pointer;border-radius:50%;transition:opacity 0.15s ease, background-color 0.15s ease}.tag-dismiss:hover{opacity:1;background:rgba(0, 0, 0, 0.1)}.tag-dismiss:focus-visible{outline:2px solid var(--le-color-primary, #3b82f6);outline-offset:1px}.tag-dismiss svg{width:0.75em;height:0.75em}.tag-dismiss:disabled{cursor:not-allowed}`;const i=class{constructor(t){e(this,t);this.leDismiss=a(this,"leDismiss")}label;mode;icon;dismissible=false;disabled=false;size="medium";variant="default";leDismiss;handleDismiss=e=>{e.stopPropagation();if(!this.disabled){this.leDismiss.emit()}};renderIcon(){if(!this.icon)return null;if(this.icon.startsWith("http")||this.icon.startsWith("/")){return t("img",{class:"tag-icon",src:this.icon,alt:""})}return t("span",{class:"tag-icon"},this.icon)}render(){return t("le-component",{key:"0cae0957e69fe0a1304f81e69d12d31c18ba9d19",component:"le-tag"},t("span",{key:"b9d141aa16c0d8a22f2a0ee274feae4af3f330a4",class:"tag"},this.renderIcon(),t("span",{key:"721836b45727b79547f4207a59c0a42266f3b24a",class:"tag-label"},t("le-slot",{key:"48be93bc17af5fa8fd8de18f6c53b81b26dee01b",name:"",tag:"span",type:"text"},t("slot",{key:"482d37fe79b37fade8460a8abde4813e3ececa99"},this.label))),this.dismissible&&t("button",{key:"a0de79ab2ea5ce3e6f37b255028096a31ca06a33",type:"button",class:"tag-dismiss",onClick:this.handleDismiss,disabled:this.disabled,"aria-label":"Remove"},t("svg",{key:"ff30daa4aaffa92e7fc7d29b66c0ee401c9541ac",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor","stroke-width":"2"},t("path",{key:"3f7d739758c3213847f0214cb6377c4e5c48abab",d:"M4 4l8 8M12 4l-8 8"})))))}};i.style=s();export{i as le_tag};
|
|
2
|
+
//# sourceMappingURL=p-65fa68c3.entry.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as t,c as
|
|
2
|
-
//# sourceMappingURL=p-
|
|
1
|
+
import{r as t,c as s,h as e}from"./p-BqH-zsXr.js";const i=()=>`:host{display:block;cursor:grab}div.turntable{width:100%;height:100%;padding:1px}`;const h=class{constructor(s){t(this,s)}get el(){return s(this)}center="center";value=0;updateValue(t){if(!this.rotating){this.currentAngle=parseFloat(t);this.setAngle(this.currentAngle)}}rotating=false;centerX;centerY;pageX;pageY;currentAngle=0;startAngle;handleMouseDown(t){this.rotating=true;this.startAngle=this.getAngle(t.pageX,t.pageY);t.preventDefault();t.stopPropagation();return false}handleMouseMove(t){if(this.rotating){this.setAngle(this.currentAngle+(this.getAngle(t.pageX,t.pageY)-this.startAngle));return false}}handleMouseUp(t){if(this.rotating){const s=this.currentAngle+(this.getAngle(t.pageX,t.pageY)-this.startAngle);this.setAngle(s);this.currentAngle=s;this.rotating=false;return false}}handleWindowResize(){this.getTransformOrigin()}componentDidLoad(){this.el.style.transformOrigin=this.center;this.currentAngle=this.value;this.getTransformOrigin();this.setAngle(this.currentAngle)}componentDidUpdate(){this.getTransformOrigin()}getTransformOrigin(){[this.centerX,this.centerY]=window.getComputedStyle(this.el,null).transformOrigin.split(" ").map((t=>Math.round(parseFloat(t))));let t=null;const s=((t=document.documentElement)||(t=document.body.parentNode))&&typeof t.scrollLeft==="number"?t:document.body;const e=this.el.getBoundingClientRect();this.pageX=Math.round(e.left+s.scrollLeft);this.pageY=Math.round(e.top+s.scrollTop)}getAngle(t,s){const e=t-this.pageX-this.centerX;const i=s-this.pageY-this.centerY;const h=Math.round(Math.atan2(i,e)*180/Math.PI*100)/100;return h}setAngle(t){this.el.style.transform=`rotate(${t}deg)`}render(){return e("div",{key:"ddc71a1cc9dd4e1d61c460969b056e75a0c26e29",class:"turntable",onMouseDown:this.handleMouseDown.bind(this)},e("slot",{key:"12df0788fd0baeae7d73badfdfe21976ff989497"}))}static get watchers(){return{value:["updateValue"]}}};h.style=i();export{h as le_turntable};
|
|
2
|
+
//# sourceMappingURL=p-76d03b1e.entry.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as e,d as t,c as i,h as s}from"./p-
|
|
2
|
-
//# sourceMappingURL=p-
|
|
1
|
+
import{r as e,d as t,c as i,h as s}from"./p-BqH-zsXr.js";const l=()=>`:host{display:inline-block;min-width:250px;--le-multiselect-min-height:0;--le-multiselect-padding:var(--le-spacing-1) var(--le-spacing-1) var(--le-spacing-1) var(--le-spacing-2);--le-multiselect-border-color:var(--le-color-primary, #3b82f6)}:host([disabled]){opacity:0.5;pointer-events:none}.multiselect-trigger{display:flex;align-items:center;justify-content:space-between;gap:0.5rem;width:100%;min-height:var(--le-multiselect-min-height);padding:var(--le-multiselect-padding);line-height:var(--le-line-height-tight);background:var(--le-multiselect-bg, var(--le-color-surface, #fff));border:1px solid color-mix(in srgb, var(--le-multiselect-border-color) 33%, transparent);border-radius:var(--le-multiselect-border-radius, 0.375rem);cursor:pointer;transition:border-color 0.15s ease, box-shadow 0.15s ease}.multiselect-trigger:hover:not(.is-disabled),:host(:focus-within) .multiselect-trigger:not(.is-disabled){border-color:var(--le-multiselect-border-color)}:host(:focus-within) .multiselect-trigger{outline:2px solid var(--le-color-focus);outline-offset:2px}:host([full-width]){width:100%}.multiselect-trigger.is-open{border-color:var(--le-color-primary, #3b82f6)}.multiselect-trigger.is-disabled{cursor:not-allowed;background:var(--le-color-surface-disabled, #f9fafb)}.multiselect-placeholder{color:color-mix(in srgb, var(--le-color-text-secondary) 66%, transparent)}.multiselect-tags{display:flex;flex-wrap:wrap;gap:0.25rem;flex:1;min-width:0}.multiselect-actions{display:flex;align-items:center;gap:0.25rem;flex-shrink:0}.multiselect-clear{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;padding:0;background:transparent;color:var(--le-color-primary, #3b82f6);border:none;border-radius:0.25rem;cursor:pointer;opacity:0.6;transition:opacity 0.15s ease, background-color 0.15s ease}.multiselect-clear:hover{opacity:1;background:var(--le-color-surface-hover, #f3f4f6)}.multiselect-clear svg{width:0.875rem;height:0.875rem}.multiselect-arrow{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1rem;color:var(--le-color-primary, #3b82f6);transition:transform 0.2s ease}.multiselect-arrow svg{width:1rem;height:1rem}.multiselect-trigger.is-open .multiselect-arrow{transform:rotate(180deg)}.search-input::part(container):focus-within{outline:none !important}.search-input{--le-input-radius:var(--le-radius-md)}.multiselect-status{display:block;margin-top:0.25rem;font-size:0.75rem;color:var(--le-color-text-muted, #6b7280)}:host([size='small']) .multiselect-trigger{--le-multiselect-min-height:2rem;--le-multiselect-padding:0.25rem 0.375rem;--le-multiselect-font-size:0.75rem}:host([size='large']) .multiselect-trigger{--le-multiselect-min-height:3rem;--le-multiselect-padding:0.5rem 0.625rem;--le-multiselect-font-size:1rem}`;const r=class{constructor(i){e(this,i);this.leChange=t(this,"leChange");this.leOpen=t(this,"leOpen");this.leClose=t(this,"leClose")}get el(){return i(this)}options=[];value=[];placeholder="Select options...";disabled=false;required=false;name;fullWidth=false;size="medium";maxSelections;selectAllLabel="Select All";deselectAllLabel="Deselect All";showSelectAll=false;searchable=false;emptyText="No results found";open=false;leChange;leOpen;leClose;selectedOptions=[];searchQuery="";dropdownEl;inputEl;handleValueChange(){this.updateSelectedOptions()}handleOptionsChange(){this.updateSelectedOptions()}handleShowSelectAllChange(e){if(typeof e!=="boolean"&&typeof e!=="string"){this.showSelectAll=false}else if(typeof e==="boolean"){this.showSelectAll=e}else if(Array.isArray(e)){this.showSelectAll=true;this.selectAllLabel=e[0];this.deselectAllLabel=e[1]||e[0]}else if(typeof e==="string"){this.showSelectAll=true;try{const t=JSON.parse(e);if(Array.isArray(t)&&t.every((e=>typeof e==="string"))){this.selectAllLabel=t[0];this.deselectAllLabel=t[1]||t[0]}else{this.selectAllLabel=e;this.deselectAllLabel=e}}catch{this.selectAllLabel=e;this.deselectAllLabel=e}}}componentWillLoad(){this.updateSelectedOptions();this.handleShowSelectAllChange(this.showSelectAll)}get parsedOptions(){if(typeof this.options==="string"){try{return JSON.parse(this.options)}catch{return[]}}return this.options}get effectiveOptions(){let e=[...this.parsedOptions];if(this.showSelectAll&&e.length>0){const t=this.selectedOptions.length===this.parsedOptions.filter((e=>!e.disabled)).length;e=[{label:t?this.deselectAllLabel:this.selectAllLabel,value:"__select_all__",iconStart:t?"✕":"⇣"},...e]}return e}updateSelectedOptions(){const e=Array.isArray(this.value)?this.value:[];this.selectedOptions=this.parsedOptions.filter((t=>e.includes(t.value??t.label)))}filterOption=(e,t)=>{if(!t)return true;if(e.value==="__select_all__")return true;const i=t.toLowerCase();return e.label.toLowerCase().includes(i)||(e.description?.toLowerCase().includes(i)??false)};handleOptionSelect=e=>{const{value:t}=e.detail;const i=this.parsedOptions.filter((e=>!e.disabled));if(i.length===0)return;if(t==="__select_all__"){if(this.selectedOptions.length===i.length){this.value=[]}else{const e=this.maxSelections?i.slice(0,this.maxSelections):i;this.value=e.map((e=>e.value??e.label))}this.emitChange();return}const s=this.value.includes(t);if(s){this.value=this.value.filter((e=>e!==t));this.selectedOptions=this.selectedOptions.filter((e=>(e.value??e.label)!==t))}else{if(this.maxSelections&&this.value.length>=this.maxSelections){return}this.value=[...this.value,t]}this.emitChange();this.searchQuery=""};emitChange(){this.leChange.emit({values:this.value,options:this.selectedOptions})}handleDropdownOpen=()=>{this.open=true;this.leOpen.emit();if(this.searchable){setTimeout((()=>{this.inputEl?.focus()}),50)}};handleDropdownClose=()=>{this.open=false;this.searchQuery="";this.leClose.emit()};handleTriggerClick=()=>{if(!this.disabled){this.dropdownEl?.toggle()}};handleTriggerKeyDown=e=>{if(this.disabled)return;if(e.key==="Enter"||e.key===" "||e.key==="ArrowDown"){e.preventDefault();this.dropdownEl?.show()}};handleTagDismiss=(e,t)=>{t.stopPropagation();const i=e.value??e.label;this.value=this.value.filter((e=>e!==i));this.selectedOptions=this.selectedOptions.filter((t=>t!==e));this.emitChange()};handleSearchInput=e=>{const t=e.target;this.searchQuery=t.value};handleClearAll=e=>{e.stopPropagation();this.value=[];this.selectedOptions=[];this.emitChange()};async showDropdown(){await(this.dropdownEl?.show())}async hideDropdown(){await(this.dropdownEl?.hide())}async clearSelection(){this.value=[];this.selectedOptions=[];this.emitChange()}renderTags(){if(this.selectedOptions.length===0){return s("span",{class:"multiselect-placeholder"},this.placeholder)}return s("div",{class:"multiselect-tags"},this.selectedOptions.map((e=>s("le-tag",{key:e.value??e.label,label:e.label,icon:e.iconStart,size:this.size==="large"?"medium":"small",dismissible:true,disabled:this.disabled,onLeDismiss:t=>this.handleTagDismiss(e,t),mode:"default"}))))}render(){const e=this.selectedOptions.length>0;const t=this.maxSelections&&this.value.length>=this.maxSelections;return s("le-component",{key:"6fa8274a23f2cc144150442ca9478d405fa9db59",component:"le-multiselect"},s("le-dropdown-base",{key:"eccf77b1d40bcc1dbae6d6e73523199dba89c02a",ref:e=>this.dropdownEl=e,options:this.effectiveOptions,value:this.value,multiple:true,disabled:this.disabled,filterFn:this.searchable?this.filterOption:undefined,filterQuery:this.searchQuery,emptyText:this.emptyText,showCheckboxes:true,fullWidth:this.fullWidth,onLeOptionSelect:this.handleOptionSelect,onLeDropdownOpen:this.handleDropdownOpen,onLeDropdownClose:this.handleDropdownClose},s("div",{key:"3c665ad3efc5543a9afcb836c8a996030460723a",slot:"trigger",class:{"multiselect-trigger":true,"has-selections":e,"is-open":this.open,"is-disabled":this.disabled},tabIndex:this.disabled?-1:0,role:"combobox","aria-haspopup":"listbox","aria-expanded":this.open?"true":"false","aria-disabled":this.disabled?"true":undefined,onClick:this.handleTriggerClick,onKeyDown:this.handleTriggerKeyDown},this.renderTags(),s("div",{key:"a19d6d1dfa9bfb757874bb4e39f75e3dc8e4f101",class:"multiselect-actions"},e&&!this.disabled&&s("button",{key:"f639279dd53a1eaff6ff146c57129d598bc55ca5",type:"button",class:"multiselect-clear",onClick:this.handleClearAll,"aria-label":"Clear all",tabIndex:-1},s("svg",{key:"a5458f2d7dae924b7f943df067269beca1d9bfdd",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor","stroke-width":"2"},s("path",{key:"c2fd9f943f0496e2c0e0ecbb79e1a16993cb796d",d:"M4 4l8 8M12 4l-8 8"}))),s("span",{key:"bd7fc5ef0af6b937fea089881f3d5fc881219247",class:"multiselect-arrow"},s("svg",{key:"180c1c3b35713fc5de0aade07ef3524dd674cca5",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor","stroke-width":"2"},s("path",{key:"48c1e6e3f2c0c20b52d2ba551d2720e5da5f0bed",d:"M4 6l4 4 4-4"}))))),this.searchable&&this.open&&s("div",{key:"3b6dbe407a4d33065ff50496c14a71ebd27e71bb",class:"multiselect-search",slot:"header"},s("le-string-input",{key:"35ed3a229b0ca6f4e1f9e8732c94a531af2d7fb3",mode:"default",inputRef:e=>this.inputEl=e,class:"search-input",placeholder:"Search...",value:this.searchQuery,onInput:this.handleSearchInput}))),this.name&&this.value.map((e=>s("input",{type:"hidden",name:this.name,value:e.toString(),key:e.toString()}))),t&&s("span",{key:"214ee34c77755375045fce655129736ff4a1ef0f",class:"multiselect-status"},"Maximum ",this.maxSelections," selections"))}static get watchers(){return{value:["handleValueChange"],options:["handleOptionsChange"],showSelectAll:["handleShowSelectAllChange"]}}};r.style=l();export{r as le_multiselect};
|
|
2
|
+
//# sourceMappingURL=p-8907cf95.entry.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as t,d as e,c as a,h as i,H as s}from"./p-
|
|
2
|
-
//# sourceMappingURL=p-
|
|
1
|
+
import{r as t,d as e,c as a,h as i,H as s}from"./p-BqH-zsXr.js";const r=()=>`:host{display:block;--le-tab-bar-background:var(--le-color-surface);--le-tab-bar-border-color:var(--le-color-border);--le-tab-bar-gap:var(--le-spacing-2);--le-tab-bar-padding-y:var(--le-spacing-2);--le-tab-bar-padding-x:var(--le-spacing-1);background:var(--le-tab-bar-background);padding:var(--le-tab-bar-padding-y) var(--le-tab-bar-padding-x)}:host([full-width]){width:100%}:host(.bordered.position-top){border-bottom:1px solid var(--le-tab-bar-border-color)}:host(.bordered.position-bottom){border-top:1px solid var(--le-tab-bar-border-color)}.tablist{display:flex;flex-direction:row;align-items:flex-end;justify-content:space-around;gap:var(--le-tab-bar-gap, var(--le-spacing-1));width:100%}.tab{display:inline-flex;align-items:flex-start;justify-content:space-around;gap:var(--le-spacing-2);position:relative;background:transparent;border:none;cursor:pointer}.tab-disabled{opacity:0.5;cursor:not-allowed}.tab-icon{display:inline-flex;align-items:center;justify-content:center;width:1em;height:1em;font-size:1.1em}.tab-icon img{width:100%;height:100%;object-fit:contain}.tab-description{font-size:var(--le-font-size-xs);font-weight:var(--le-font-weight-normal);color:var(--le-text-tertiary);margin-left:var(--le-spacing-1)}`;const n=class{constructor(a){t(this,a);this.leTabChange=e(this,"leTabChange")}get el(){return a(this)}tabs=[];selected;fullWidth=true;showLabels=false;position="top";size="medium";bordered=true;tabConfigs=[];isDeclarativeMode=false;focusedIndex=0;leTabChange;mutationObserver;selectedChanged(t){const e=this.tabConfigs.findIndex((e=>e.value===t));if(e>=0){this.focusedIndex=e}}tabsChanged(){if(!this.isDeclarativeMode){this.buildTabConfigs()}}handleSlotChange(){this.buildTabConfigs()}componentWillLoad(){this.buildTabConfigs();if(this.selected===undefined&&this.tabs.length>0){const t=this.tabs.find((t=>!t.disabled));if(t){this.selected=this.getTabValue(t)}}if(this.selected!==undefined){const t=this.getTabIndex(this.selected);if(t>=0){this.focusedIndex=t}}}connectedCallback(){this.mutationObserver=new MutationObserver((()=>{this.buildTabConfigs()}));this.mutationObserver.observe(this.el,{attributes:true,childList:true,subtree:true})}disconnectedCallback(){this.mutationObserver?.disconnect()}async buildTabConfigs(){const t=Array.from(this.el.querySelectorAll(":scope > le-tab"));if(t.length>0){this.isDeclarativeMode=true;const e=[];for(const a of t){const t=await a.getTabConfig();e.push({...t})}this.tabConfigs=e}else if(this.tabs.length>0){this.isDeclarativeMode=false;this.tabConfigs=this.tabs.map((t=>({label:t.label,value:t.value!==undefined?t.value:t.label,iconStart:t.iconStart,iconEnd:t.iconEnd,disabled:t.disabled??false})))}else{this.tabConfigs=[]}if(this.selected===undefined&&this.tabConfigs.length>0){const t=this.tabConfigs.find((t=>!t.disabled));if(t){this.selected=t.value}}if(this.selected!==undefined){const t=this.tabConfigs.findIndex((t=>t.value===this.selected));if(t>=0){this.focusedIndex=t}}}getTabValue(t){return t.value!==undefined?t.value:t.label}getTabIndex(t){return this.tabs.findIndex((e=>this.getTabValue(e)===t))}selectTab(t){if(t.disabled)return;const e=this.getTabValue(t);this.selected=e;this.leTabChange.emit({value:e,option:t})}handleTabClick=t=>{this.selectTab(t)};handleKeyDown=t=>{const{tabConfigs:e}=this;let a=this.focusedIndex;switch(t.key){case"ArrowLeft":t.preventDefault();a=this.findNextEnabledTab(-1);break;case"ArrowRight":t.preventDefault();a=this.findNextEnabledTab(1);break;case"Home":t.preventDefault();a=this.findFirstEnabledTab();break;case"End":t.preventDefault();a=this.findLastEnabledTab();break;case"Enter":case" ":t.preventDefault();if(e[this.focusedIndex]){this.selectTab(e[this.focusedIndex])}return;default:return}if(a!==this.focusedIndex){this.focusedIndex=a;if(e[a]){this.selectTab(e[a])}}};findNextEnabledTab(t){const{tabConfigs:e}=this;let a=this.focusedIndex;const i=e.length;for(let s=0;s<i;s++){a=(a+t+i)%i;if(!e[a].disabled){return a}}return this.focusedIndex}findFirstEnabledTab(){return this.tabConfigs.findIndex((t=>!t.disabled))}findLastEnabledTab(){for(let t=this.tabConfigs.length-1;t>=0;t--){if(!this.tabConfigs[t].disabled)return t}return 0}render(){const{tabConfigs:t,selected:e,size:a,bordered:r}=this;const n={"le-tab-bar":true,bordered:r,"position-top":this.position==="top","position-bottom":this.position==="bottom"};return i(s,{key:"99ecfa8de9c894f913ab1ea2a2293c4fe863a6e9",class:n},i("le-component",{key:"59de2d9ffe9710d9480b6666a539039b0a38675e",component:"le-tab-bar"},i("div",{key:"13b4037e84ee994d924bd08dc6305f1ad7bab3bd",class:"tablist",role:"tablist","aria-orientation":"horizontal",part:"tablist",onKeyDown:this.handleKeyDown},i("le-slot",{key:"cab80272032e911ce09549fbdc18c2eb9df1de74",name:"",type:"slot",allowedComponents:"le-tab"},t.map((t=>{const s=this.getTabValue(t);const r=s===e;return i("le-tab",{key:s,class:"tab",role:"tab",variant:"icon-only",label:t.label,value:t.value,icon:t.icon,href:t.href,selected:r,disabled:t.disabled,showLabel:this.showLabels,size:a,part:r?"tab tab-active":"tab","aria-selected":r?"true":"false","aria-disabled":t.disabled?"true":undefined,tabIndex:-1,onClick:()=>this.handleTabClick(t)},i("span",{class:"tab-label"},t.label))}))))))}static get watchers(){return{selected:["selectedChanged"],tabs:["tabsChanged"]}}};n.style=r();export{n as le_tab_bar};
|
|
2
|
+
//# sourceMappingURL=p-91421993.entry.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{r as t,d as e,c as i,h as a}from"./p-
|
|
2
|
-
//# sourceMappingURL=p-
|
|
1
|
+
import{r as t,d as e,c as i,h as a}from"./p-BqH-zsXr.js";import{c as s}from"./p-VG5nXRzT.js";const l=()=>`:host{display:block;--le-tabs-gap:var(--le-spacing-1);--le-tabs-border-color:var(--le-border-color);--le-tabs-padding-y:var(--le-spacing-2);--le-tabs-padding-x:var(--le-spacing-4);--le-tabs-enclosed-bg:var(--le-color-background-secondary)}.le-tabs{display:flex;flex-direction:column}.le-tabs.orientation-vertical{flex-direction:row}.tablist{display:flex;position:relative;border-radius:var(--le-radius-md);gap:var(--le-tabs-gap)}.tablist.wrap-tabs{flex-wrap:wrap}.tablist.overflow-auto{overflow:auto}.tablist.overflow-hidden{overflow:hidden}.tablist.overflow-visible{overflow:visible}.tablist.overflow-scroll{overflow:scroll}.tablist:focus{outline:2px solid var(--le-color-focus);outline-offset:2px}.orientation-horizontal .tablist{flex-direction:row;border-bottom:1px solid var(--le-tabs-border-color)}.orientation-vertical .tablist{flex-direction:column;border-right:1px solid var(--le-tabs-border-color);min-width:150px}.full-width .tablist{width:100%}.full-width.orientation-horizontal .tab{flex:1}.variant-underlined .tablist{padding-inline:4px}.variant-pills .tablist{border-radius:calc(1.12rem)}.variant-enclosed .tablist{border:none;gap:0;background-color:var(--le-tabs-enclosed-bg);border-radius:calc(var(--le-radius-md) + var(--le-spacing-1));padding:var(--le-spacing-1)}.tab-icon{display:inline-flex;align-items:center;justify-content:center;width:1em;height:1em;font-size:1.1em}.tab-icon img{width:100%;height:100%;object-fit:contain}.panels{flex:1;min-height:0}.panel{padding:var(--le-tabs-panel-padding, var(--le-spacing-4))}.panel[hidden]{display:none}.orientation-vertical .panels{padding-left:var(--le-spacing-4)}.position-end .panels{order:1}.position-end .tablist{order:2}`;const n=class{constructor(i){t(this,i);this.leTabChange=e(this,"leTabChange")}get el(){return i(this)}tabs=[];selected;orientation="horizontal";position="start";variant="underlined";fullWidth=false;size="medium";wrap=false;overflow="auto";tabConfigs=[];focusedIndex=0;isDeclarativeMode=false;leTabChange;mutationObserver;selectedChanged(t){const e=this.tabConfigs.findIndex((e=>e.value===t));if(e>=0){this.focusedIndex=e}this.updatePanelStates()}tabsChanged(){if(!this.isDeclarativeMode){this.buildTabConfigs()}}handleSlotChange(){this.buildTabConfigs()}componentWillLoad(){this.buildTabConfigs()}connectedCallback(){this.mutationObserver=new MutationObserver((()=>{this.buildTabConfigs()}));this.mutationObserver.observe(this.el,{attributes:true,childList:true,subtree:true})}disconnectedCallback(){this.mutationObserver?.disconnect()}async buildTabConfigs(){const t=Array.from(this.el.querySelectorAll(":scope > le-tab-panel"));if(t.length>0){this.isDeclarativeMode=true;const e=[];for(const i of t){const t=await i.getTabConfig();e.push({...t,panel:i})}this.tabConfigs=e}else if(this.tabs.length>0){this.isDeclarativeMode=false;this.tabConfigs=this.tabs.map((t=>({label:t.label,value:t.value!==undefined?t.value:t.label,iconStart:t.iconStart,iconEnd:t.iconEnd,disabled:t.disabled??false})))}else{this.tabConfigs=[]}if(this.selected===undefined&&this.tabConfigs.length>0){const t=this.tabConfigs.find((t=>!t.disabled));if(t){this.selected=t.value}}if(this.selected!==undefined){const t=this.tabConfigs.findIndex((t=>t.value===this.selected));if(t>=0){this.focusedIndex=t}}this.updatePanelStates()}async updatePanelStates(){if(!this.isDeclarativeMode)return;for(const t of this.tabConfigs){if(t.panel){const e=t.value===this.selected;await t.panel.setActive(e)}}}selectTab(t){if(t.disabled)return;this.selected=t.value;this.leTabChange.emit({value:t.value,option:{label:t.label,value:t.value,iconStart:t.iconStart,iconEnd:t.iconEnd,disabled:t.disabled}})}handleTabClick=t=>{this.selectTab(t)};handleKeyDown=t=>{const{tabConfigs:e,orientation:i}=this;const a=i==="horizontal";let s=this.focusedIndex;switch(t.key){case"ArrowLeft":if(a){t.preventDefault();s=this.findNextEnabledTab(-1)}break;case"ArrowRight":if(a){t.preventDefault();s=this.findNextEnabledTab(1)}break;case"ArrowUp":if(!a){t.preventDefault();s=this.findNextEnabledTab(-1)}break;case"ArrowDown":if(!a){t.preventDefault();s=this.findNextEnabledTab(1)}break;case"Home":t.preventDefault();s=this.findFirstEnabledTab();break;case"End":t.preventDefault();s=this.findLastEnabledTab();break;case"Enter":case" ":t.preventDefault();if(e[this.focusedIndex]){this.selectTab(e[this.focusedIndex])}return;default:return}if(s!==this.focusedIndex){this.focusedIndex=s;this.focusTab(s);if(e[s]){this.selectTab(e[s])}}};findNextEnabledTab(t){const{tabConfigs:e}=this;let i=this.focusedIndex;const a=e.length;for(let s=0;s<a;s++){i=(i+t+a)%a;if(!e[i].disabled){return i}}return this.focusedIndex}findFirstEnabledTab(){return this.tabConfigs.findIndex((t=>!t.disabled))}findLastEnabledTab(){for(let t=this.tabConfigs.length-1;t>=0;t--){if(!this.tabConfigs[t].disabled)return t}return 0}focusTab(t){const e=this.el.shadowRoot?.querySelector('[role="tablist"]');const i=e?.querySelectorAll('[role="tab"]')[t];i?.focus()}render(){const{tabConfigs:t,selected:e,orientation:i,variant:l,fullWidth:n,size:o,isDeclarativeMode:r}=this;const d={"le-tabs":true,[`orientation-${i}`]:true,[`position-${this.position}`]:true,[`variant-${l}`]:true,[`size-${o}`]:true,"full-width":n};const c=this.orientation==="vertical"?this.position:this.position==="start"?"top":"bottom";return a("le-component",{key:"6882b32d3be8f1686c1f367bdcd9fc54ee92a8ee",component:"le-tabs",hostClass:s(d)},a("div",{key:"d50731bf95b4898dec01f1a003f6b8e1f694ef87",class:d},a("div",{key:"1e07303c43016d13dedff719b6efc5374f97d7db",class:{tablist:true,"wrap-tabs":this.wrap,[`overflow-${this.overflow}`]:true},role:"tablist","aria-orientation":i,part:"tablist",onKeyDown:this.handleKeyDown,tabIndex:0},t.map((t=>{const i=t.value===e;const s=`tab-${t.value}`;const l=`panel-${t.value}`;return a("le-tab",{key:t.value,id:s,class:"tab",mode:"default",variant:this.variant,selected:i,disabled:t.disabled,size:this.size,position:c,align:this.orientation==="vertical"?"start":"center",role:"tab",part:i?"tab tab-active":"tab","aria-selected":i?"true":"false","aria-controls":l,"aria-disabled":t.disabled?"true":undefined,focusable:false,onClick:()=>this.handleTabClick(t),iconStart:t.iconStart,iconEnd:t.iconEnd},a("span",{class:"tab-label"},t.label))}))),a("div",{key:"dcd32445495900eda29cc610c30261da6262c3c4",class:"panels",part:"panels"},r?a("le-slot",{name:"",description:"Tab panels",type:"slot",allowedComponents:"le-tab-panel"},a("slot",null)):t.map((t=>{const i=t.value===e;const s=`tab-${t.value}`;const l=`panel-${t.value}`;return a("div",{key:t.value,id:l,class:{panel:true,"panel-active":i},role:"tabpanel",part:"panel","aria-labelledby":s,tabIndex:0,hidden:!i},a("slot",{name:`panel-${t.value}`}))})))))}static get watchers(){return{selected:["selectedChanged"],tabs:["tabsChanged"]}}};n.style=l();export{n as le_tabs};
|
|
2
|
+
//# sourceMappingURL=p-995f6de8.entry.js.map
|