@chefuicore/core 0.4.0 → 0.6.0

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/index.cjs CHANGED
@@ -1,42 +1,42 @@
1
- "use strict";function e(e,t,i,o){var r,s=arguments.length,a=s<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,i,o);else for(var n=e.length-1;n>=0;n--)(r=e[n])&&(a=(s<3?r(a):s>3?r(t,i,a):r(t,i))||a);return s>3&&a&&Object.defineProperty(t,i,a),a}"function"==typeof SuppressedError&&SuppressedError;
1
+ "use strict";function e(e,t,o,i){var r,a=arguments.length,n=a<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,o):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,o,i);else for(var s=e.length-1;s>=0;s--)(r=e[s])&&(n=(a<3?r(n):a>3?r(t,o,n):r(t,o))||n);return a>3&&n&&Object.defineProperty(t,o,n),n}"function"==typeof SuppressedError&&SuppressedError;
2
2
  /**
3
3
  * @license
4
4
  * Copyright 2019 Google LLC
5
5
  * SPDX-License-Identifier: BSD-3-Clause
6
6
  */
7
- const t=globalThis,i=t.ShadowRoot&&(void 0===t.ShadyCSS||t.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,o=Symbol(),r=new WeakMap;let s=class{constructor(e,t,i){if(this._$cssResult$=!0,i!==o)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=t}get styleSheet(){let e=this.o;const t=this.t;if(i&&void 0===e){const i=void 0!==t&&1===t.length;i&&(e=r.get(t)),void 0===e&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),i&&r.set(t,e))}return e}toString(){return this.cssText}};const a=(e,...t)=>{const i=1===e.length?e[0]:t.reduce((t,i,o)=>t+(e=>{if(!0===e._$cssResult$)return e.cssText;if("number"==typeof e)return e;throw Error("Value passed to 'css' function must be a 'css' function result: "+e+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(i)+e[o+1],e[0]);return new s(i,e,o)},n=i?e=>e:e=>e instanceof CSSStyleSheet?(e=>{let t="";for(const i of e.cssRules)t+=i.cssText;return(e=>new s("string"==typeof e?e:e+"",void 0,o))(t)})(e):e,{is:c,defineProperty:l,getOwnPropertyDescriptor:h,getOwnPropertyNames:d,getOwnPropertySymbols:p,getPrototypeOf:u}=Object,f=globalThis,v=f.trustedTypes,g=v?v.emptyScript:"",b=f.reactiveElementPolyfillSupport,y=(e,t)=>e,x={toAttribute(e,t){switch(t){case Boolean:e=e?g:null;break;case Object:case Array:e=null==e?e:JSON.stringify(e)}return e},fromAttribute(e,t){let i=e;switch(t){case Boolean:i=null!==e;break;case Number:i=null===e?null:Number(e);break;case Object:case Array:try{i=JSON.parse(e)}catch(e){i=null}}return i}},m=(e,t)=>!c(e,t),$={attribute:!0,type:String,converter:x,reflect:!1,useDefault:!1,hasChanged:m};
7
+ const t=globalThis,o=t.ShadowRoot&&(void 0===t.ShadyCSS||t.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,i=Symbol(),r=new WeakMap;let a=class{constructor(e,t,o){if(this._$cssResult$=!0,o!==i)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=t}get styleSheet(){let e=this.o;const t=this.t;if(o&&void 0===e){const o=void 0!==t&&1===t.length;o&&(e=r.get(t)),void 0===e&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),o&&r.set(t,e))}return e}toString(){return this.cssText}};const n=(e,...t)=>{const o=1===e.length?e[0]:t.reduce((t,o,i)=>t+(e=>{if(!0===e._$cssResult$)return e.cssText;if("number"==typeof e)return e;throw Error("Value passed to 'css' function must be a 'css' function result: "+e+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(o)+e[i+1],e[0]);return new a(o,e,i)},s=o?e=>e:e=>e instanceof CSSStyleSheet?(e=>{let t="";for(const o of e.cssRules)t+=o.cssText;return(e=>new a("string"==typeof e?e:e+"",void 0,i))(t)})(e):e,{is:c,defineProperty:h,getOwnPropertyDescriptor:l,getOwnPropertyNames:d,getOwnPropertySymbols:p,getPrototypeOf:u}=Object,f=globalThis,b=f.trustedTypes,v=b?b.emptyScript:"",g=f.reactiveElementPolyfillSupport,x=(e,t)=>e,y={toAttribute(e,t){switch(t){case Boolean:e=e?v:null;break;case Object:case Array:e=null==e?e:JSON.stringify(e)}return e},fromAttribute(e,t){let o=e;switch(t){case Boolean:o=null!==e;break;case Number:o=null===e?null:Number(e);break;case Object:case Array:try{o=JSON.parse(e)}catch(e){o=null}}return o}},m=(e,t)=>!c(e,t),k={attribute:!0,type:String,converter:y,reflect:!1,useDefault:!1,hasChanged:m};
8
8
  /**
9
9
  * @license
10
10
  * Copyright 2017 Google LLC
11
11
  * SPDX-License-Identifier: BSD-3-Clause
12
- */Symbol.metadata??=Symbol("metadata"),f.litPropertyMetadata??=new WeakMap;let w=class extends HTMLElement{static addInitializer(e){this._$Ei(),(this.l??=[]).push(e)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(e,t=$){if(t.state&&(t.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(e)&&((t=Object.create(t)).wrapped=!0),this.elementProperties.set(e,t),!t.noAccessor){const i=Symbol(),o=this.getPropertyDescriptor(e,i,t);void 0!==o&&l(this.prototype,e,o)}}static getPropertyDescriptor(e,t,i){const{get:o,set:r}=h(this.prototype,e)??{get(){return this[t]},set(e){this[t]=e}};return{get:o,set(t){const s=o?.call(this);r?.call(this,t),this.requestUpdate(e,s,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(e){return this.elementProperties.get(e)??$}static _$Ei(){if(this.hasOwnProperty(y("elementProperties")))return;const e=u(this);e.finalize(),void 0!==e.l&&(this.l=[...e.l]),this.elementProperties=new Map(e.elementProperties)}static finalize(){if(this.hasOwnProperty(y("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(y("properties"))){const e=this.properties,t=[...d(e),...p(e)];for(const i of t)this.createProperty(i,e[i])}const e=this[Symbol.metadata];if(null!==e){const t=litPropertyMetadata.get(e);if(void 0!==t)for(const[e,i]of t)this.elementProperties.set(e,i)}this._$Eh=new Map;for(const[e,t]of this.elementProperties){const i=this._$Eu(e,t);void 0!==i&&this._$Eh.set(i,e)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(e){const t=[];if(Array.isArray(e)){const i=new Set(e.flat(1/0).reverse());for(const e of i)t.unshift(n(e))}else void 0!==e&&t.push(n(e));return t}static _$Eu(e,t){const i=t.attribute;return!1===i?void 0:"string"==typeof i?i:"string"==typeof e?e.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise(e=>this.enableUpdating=e),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach(e=>e(this))}addController(e){(this._$EO??=new Set).add(e),void 0!==this.renderRoot&&this.isConnected&&e.hostConnected?.()}removeController(e){this._$EO?.delete(e)}_$E_(){const e=new Map,t=this.constructor.elementProperties;for(const i of t.keys())this.hasOwnProperty(i)&&(e.set(i,this[i]),delete this[i]);e.size>0&&(this._$Ep=e)}createRenderRoot(){const e=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return((e,o)=>{if(i)e.adoptedStyleSheets=o.map(e=>e instanceof CSSStyleSheet?e:e.styleSheet);else for(const i of o){const o=document.createElement("style"),r=t.litNonce;void 0!==r&&o.setAttribute("nonce",r),o.textContent=i.cssText,e.appendChild(o)}})(e,this.constructor.elementStyles),e}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach(e=>e.hostConnected?.())}enableUpdating(e){}disconnectedCallback(){this._$EO?.forEach(e=>e.hostDisconnected?.())}attributeChangedCallback(e,t,i){this._$AK(e,i)}_$ET(e,t){const i=this.constructor.elementProperties.get(e),o=this.constructor._$Eu(e,i);if(void 0!==o&&!0===i.reflect){const r=(void 0!==i.converter?.toAttribute?i.converter:x).toAttribute(t,i.type);this._$Em=e,null==r?this.removeAttribute(o):this.setAttribute(o,r),this._$Em=null}}_$AK(e,t){const i=this.constructor,o=i._$Eh.get(e);if(void 0!==o&&this._$Em!==o){const e=i.getPropertyOptions(o),r="function"==typeof e.converter?{fromAttribute:e.converter}:void 0!==e.converter?.fromAttribute?e.converter:x;this._$Em=o;const s=r.fromAttribute(t,e.type);this[o]=s??this._$Ej?.get(o)??s,this._$Em=null}}requestUpdate(e,t,i){if(void 0!==e){const o=this.constructor,r=this[e];if(i??=o.getPropertyOptions(e),!((i.hasChanged??m)(r,t)||i.useDefault&&i.reflect&&r===this._$Ej?.get(e)&&!this.hasAttribute(o._$Eu(e,i))))return;this.C(e,t,i)}!1===this.isUpdatePending&&(this._$ES=this._$EP())}C(e,t,{useDefault:i,reflect:o,wrapped:r},s){i&&!(this._$Ej??=new Map).has(e)&&(this._$Ej.set(e,s??t??this[e]),!0!==r||void 0!==s)||(this._$AL.has(e)||(this.hasUpdated||i||(t=void 0),this._$AL.set(e,t)),!0===o&&this._$Em!==e&&(this._$Eq??=new Set).add(e))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(e){Promise.reject(e)}const e=this.scheduleUpdate();return null!=e&&await e,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[e,t]of this._$Ep)this[e]=t;this._$Ep=void 0}const e=this.constructor.elementProperties;if(e.size>0)for(const[t,i]of e){const{wrapped:e}=i,o=this[t];!0!==e||this._$AL.has(t)||void 0===o||this.C(t,void 0,i,o)}}let e=!1;const t=this._$AL;try{e=this.shouldUpdate(t),e?(this.willUpdate(t),this._$EO?.forEach(e=>e.hostUpdate?.()),this.update(t)):this._$EM()}catch(t){throw e=!1,this._$EM(),t}e&&this._$AE(t)}willUpdate(e){}_$AE(e){this._$EO?.forEach(e=>e.hostUpdated?.()),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(e)),this.updated(e)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(e){return!0}update(e){this._$Eq&&=this._$Eq.forEach(e=>this._$ET(e,this[e])),this._$EM()}updated(e){}firstUpdated(e){}};w.elementStyles=[],w.shadowRootOptions={mode:"open"},w[y("elementProperties")]=new Map,w[y("finalized")]=new Map,b?.({ReactiveElement:w}),(f.reactiveElementVersions??=[]).push("2.1.1");
12
+ */Symbol.metadata??=Symbol("metadata"),f.litPropertyMetadata??=new WeakMap;let $=class extends HTMLElement{static addInitializer(e){this._$Ei(),(this.l??=[]).push(e)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(e,t=k){if(t.state&&(t.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(e)&&((t=Object.create(t)).wrapped=!0),this.elementProperties.set(e,t),!t.noAccessor){const o=Symbol(),i=this.getPropertyDescriptor(e,o,t);void 0!==i&&h(this.prototype,e,i)}}static getPropertyDescriptor(e,t,o){const{get:i,set:r}=l(this.prototype,e)??{get(){return this[t]},set(e){this[t]=e}};return{get:i,set(t){const a=i?.call(this);r?.call(this,t),this.requestUpdate(e,a,o)},configurable:!0,enumerable:!0}}static getPropertyOptions(e){return this.elementProperties.get(e)??k}static _$Ei(){if(this.hasOwnProperty(x("elementProperties")))return;const e=u(this);e.finalize(),void 0!==e.l&&(this.l=[...e.l]),this.elementProperties=new Map(e.elementProperties)}static finalize(){if(this.hasOwnProperty(x("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(x("properties"))){const e=this.properties,t=[...d(e),...p(e)];for(const o of t)this.createProperty(o,e[o])}const e=this[Symbol.metadata];if(null!==e){const t=litPropertyMetadata.get(e);if(void 0!==t)for(const[e,o]of t)this.elementProperties.set(e,o)}this._$Eh=new Map;for(const[e,t]of this.elementProperties){const o=this._$Eu(e,t);void 0!==o&&this._$Eh.set(o,e)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(e){const t=[];if(Array.isArray(e)){const o=new Set(e.flat(1/0).reverse());for(const e of o)t.unshift(s(e))}else void 0!==e&&t.push(s(e));return t}static _$Eu(e,t){const o=t.attribute;return!1===o?void 0:"string"==typeof o?o:"string"==typeof e?e.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise(e=>this.enableUpdating=e),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach(e=>e(this))}addController(e){(this._$EO??=new Set).add(e),void 0!==this.renderRoot&&this.isConnected&&e.hostConnected?.()}removeController(e){this._$EO?.delete(e)}_$E_(){const e=new Map,t=this.constructor.elementProperties;for(const o of t.keys())this.hasOwnProperty(o)&&(e.set(o,this[o]),delete this[o]);e.size>0&&(this._$Ep=e)}createRenderRoot(){const e=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return((e,i)=>{if(o)e.adoptedStyleSheets=i.map(e=>e instanceof CSSStyleSheet?e:e.styleSheet);else for(const o of i){const i=document.createElement("style"),r=t.litNonce;void 0!==r&&i.setAttribute("nonce",r),i.textContent=o.cssText,e.appendChild(i)}})(e,this.constructor.elementStyles),e}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach(e=>e.hostConnected?.())}enableUpdating(e){}disconnectedCallback(){this._$EO?.forEach(e=>e.hostDisconnected?.())}attributeChangedCallback(e,t,o){this._$AK(e,o)}_$ET(e,t){const o=this.constructor.elementProperties.get(e),i=this.constructor._$Eu(e,o);if(void 0!==i&&!0===o.reflect){const r=(void 0!==o.converter?.toAttribute?o.converter:y).toAttribute(t,o.type);this._$Em=e,null==r?this.removeAttribute(i):this.setAttribute(i,r),this._$Em=null}}_$AK(e,t){const o=this.constructor,i=o._$Eh.get(e);if(void 0!==i&&this._$Em!==i){const e=o.getPropertyOptions(i),r="function"==typeof e.converter?{fromAttribute:e.converter}:void 0!==e.converter?.fromAttribute?e.converter:y;this._$Em=i;const a=r.fromAttribute(t,e.type);this[i]=a??this._$Ej?.get(i)??a,this._$Em=null}}requestUpdate(e,t,o,i=!1,r){if(void 0!==e){const a=this.constructor;if(!1===i&&(r=this[e]),o??=a.getPropertyOptions(e),!((o.hasChanged??m)(r,t)||o.useDefault&&o.reflect&&r===this._$Ej?.get(e)&&!this.hasAttribute(a._$Eu(e,o))))return;this.C(e,t,o)}!1===this.isUpdatePending&&(this._$ES=this._$EP())}C(e,t,{useDefault:o,reflect:i,wrapped:r},a){o&&!(this._$Ej??=new Map).has(e)&&(this._$Ej.set(e,a??t??this[e]),!0!==r||void 0!==a)||(this._$AL.has(e)||(this.hasUpdated||o||(t=void 0),this._$AL.set(e,t)),!0===i&&this._$Em!==e&&(this._$Eq??=new Set).add(e))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(e){Promise.reject(e)}const e=this.scheduleUpdate();return null!=e&&await e,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[e,t]of this._$Ep)this[e]=t;this._$Ep=void 0}const e=this.constructor.elementProperties;if(e.size>0)for(const[t,o]of e){const{wrapped:e}=o,i=this[t];!0!==e||this._$AL.has(t)||void 0===i||this.C(t,void 0,o,i)}}let e=!1;const t=this._$AL;try{e=this.shouldUpdate(t),e?(this.willUpdate(t),this._$EO?.forEach(e=>e.hostUpdate?.()),this.update(t)):this._$EM()}catch(t){throw e=!1,this._$EM(),t}e&&this._$AE(t)}willUpdate(e){}_$AE(e){this._$EO?.forEach(e=>e.hostUpdated?.()),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(e)),this.updated(e)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(e){return!0}update(e){this._$Eq&&=this._$Eq.forEach(e=>this._$ET(e,this[e])),this._$EM()}updated(e){}firstUpdated(e){}};$.elementStyles=[],$.shadowRootOptions={mode:"open"},$[x("elementProperties")]=new Map,$[x("finalized")]=new Map,g?.({ReactiveElement:$}),(f.reactiveElementVersions??=[]).push("2.1.2");
13
13
  /**
14
14
  * @license
15
15
  * Copyright 2017 Google LLC
16
16
  * SPDX-License-Identifier: BSD-3-Clause
17
17
  */
18
- const C=globalThis,A=C.trustedTypes,_=A?A.createPolicy("lit-html",{createHTML:e=>e}):void 0,S="$lit$",M=`lit$${Math.random().toFixed(9).slice(2)}$`,k="?"+M,E=`<${k}>`,U=document,D=()=>U.createComment(""),O=e=>null===e||"object"!=typeof e&&"function"!=typeof e,P=Array.isArray,z="[ \t\n\f\r]",I=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,T=/-->/g,H=/>/g,N=RegExp(`>|${z}(?:([^\\s"'>=/]+)(${z}*=${z}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,"g"),L=/'/g,B=/"/g,R=/^(?:script|style|textarea|title)$/i,j=e=>(t,...i)=>({_$litType$:e,strings:t,values:i}),Y=j(1),F=j(2),V=Symbol.for("lit-noChange"),q=Symbol.for("lit-nothing"),W=new WeakMap,Z=U.createTreeWalker(U,129);function J(e,t){if(!P(e)||!e.hasOwnProperty("raw"))throw Error("invalid template strings array");return void 0!==_?_.createHTML(t):t}const Q=(e,t)=>{const i=e.length-1,o=[];let r,s=2===t?"<svg>":3===t?"<math>":"",a=I;for(let t=0;t<i;t++){const i=e[t];let n,c,l=-1,h=0;for(;h<i.length&&(a.lastIndex=h,c=a.exec(i),null!==c);)h=a.lastIndex,a===I?"!--"===c[1]?a=T:void 0!==c[1]?a=H:void 0!==c[2]?(R.test(c[2])&&(r=RegExp("</"+c[2],"g")),a=N):void 0!==c[3]&&(a=N):a===N?">"===c[0]?(a=r??I,l=-1):void 0===c[1]?l=-2:(l=a.lastIndex-c[2].length,n=c[1],a=void 0===c[3]?N:'"'===c[3]?B:L):a===B||a===L?a=N:a===T||a===H?a=I:(a=N,r=void 0);const d=a===N&&e[t+1].startsWith("/>")?" ":"";s+=a===I?i+E:l>=0?(o.push(n),i.slice(0,l)+S+i.slice(l)+M+d):i+M+(-2===l?t:d)}return[J(e,s+(e[i]||"<?>")+(2===t?"</svg>":3===t?"</math>":"")),o]};class K{constructor({strings:e,_$litType$:t},i){let o;this.parts=[];let r=0,s=0;const a=e.length-1,n=this.parts,[c,l]=Q(e,t);if(this.el=K.createElement(c,i),Z.currentNode=this.el.content,2===t||3===t){const e=this.el.content.firstChild;e.replaceWith(...e.childNodes)}for(;null!==(o=Z.nextNode())&&n.length<a;){if(1===o.nodeType){if(o.hasAttributes())for(const e of o.getAttributeNames())if(e.endsWith(S)){const t=l[s++],i=o.getAttribute(e).split(M),a=/([.?@])?(.*)/.exec(t);n.push({type:1,index:r,name:a[2],strings:i,ctor:"."===a[1]?ie:"?"===a[1]?oe:"@"===a[1]?re:te}),o.removeAttribute(e)}else e.startsWith(M)&&(n.push({type:6,index:r}),o.removeAttribute(e));if(R.test(o.tagName)){const e=o.textContent.split(M),t=e.length-1;if(t>0){o.textContent=A?A.emptyScript:"";for(let i=0;i<t;i++)o.append(e[i],D()),Z.nextNode(),n.push({type:2,index:++r});o.append(e[t],D())}}}else if(8===o.nodeType)if(o.data===k)n.push({type:2,index:r});else{let e=-1;for(;-1!==(e=o.data.indexOf(M,e+1));)n.push({type:7,index:r}),e+=M.length-1}r++}}static createElement(e,t){const i=U.createElement("template");return i.innerHTML=e,i}}function G(e,t,i=e,o){if(t===V)return t;let r=void 0!==o?i._$Co?.[o]:i._$Cl;const s=O(t)?void 0:t._$litDirective$;return r?.constructor!==s&&(r?._$AO?.(!1),void 0===s?r=void 0:(r=new s(e),r._$AT(e,i,o)),void 0!==o?(i._$Co??=[])[o]=r:i._$Cl=r),void 0!==r&&(t=G(e,r._$AS(e,t.values),r,o)),t}class X{constructor(e,t){this._$AV=[],this._$AN=void 0,this._$AD=e,this._$AM=t}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(e){const{el:{content:t},parts:i}=this._$AD,o=(e?.creationScope??U).importNode(t,!0);Z.currentNode=o;let r=Z.nextNode(),s=0,a=0,n=i[0];for(;void 0!==n;){if(s===n.index){let t;2===n.type?t=new ee(r,r.nextSibling,this,e):1===n.type?t=new n.ctor(r,n.name,n.strings,this,e):6===n.type&&(t=new se(r,this,e)),this._$AV.push(t),n=i[++a]}s!==n?.index&&(r=Z.nextNode(),s++)}return Z.currentNode=U,o}p(e){let t=0;for(const i of this._$AV)void 0!==i&&(void 0!==i.strings?(i._$AI(e,i,t),t+=i.strings.length-2):i._$AI(e[t])),t++}}class ee{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(e,t,i,o){this.type=2,this._$AH=q,this._$AN=void 0,this._$AA=e,this._$AB=t,this._$AM=i,this.options=o,this._$Cv=o?.isConnected??!0}get parentNode(){let e=this._$AA.parentNode;const t=this._$AM;return void 0!==t&&11===e?.nodeType&&(e=t.parentNode),e}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(e,t=this){e=G(this,e,t),O(e)?e===q||null==e||""===e?(this._$AH!==q&&this._$AR(),this._$AH=q):e!==this._$AH&&e!==V&&this._(e):void 0!==e._$litType$?this.$(e):void 0!==e.nodeType?this.T(e):(e=>P(e)||"function"==typeof e?.[Symbol.iterator])(e)?this.k(e):this._(e)}O(e){return this._$AA.parentNode.insertBefore(e,this._$AB)}T(e){this._$AH!==e&&(this._$AR(),this._$AH=this.O(e))}_(e){this._$AH!==q&&O(this._$AH)?this._$AA.nextSibling.data=e:this.T(U.createTextNode(e)),this._$AH=e}$(e){const{values:t,_$litType$:i}=e,o="number"==typeof i?this._$AC(e):(void 0===i.el&&(i.el=K.createElement(J(i.h,i.h[0]),this.options)),i);if(this._$AH?._$AD===o)this._$AH.p(t);else{const e=new X(o,this),i=e.u(this.options);e.p(t),this.T(i),this._$AH=e}}_$AC(e){let t=W.get(e.strings);return void 0===t&&W.set(e.strings,t=new K(e)),t}k(e){P(this._$AH)||(this._$AH=[],this._$AR());const t=this._$AH;let i,o=0;for(const r of e)o===t.length?t.push(i=new ee(this.O(D()),this.O(D()),this,this.options)):i=t[o],i._$AI(r),o++;o<t.length&&(this._$AR(i&&i._$AB.nextSibling,o),t.length=o)}_$AR(e=this._$AA.nextSibling,t){for(this._$AP?.(!1,!0,t);e!==this._$AB;){const t=e.nextSibling;e.remove(),e=t}}setConnected(e){void 0===this._$AM&&(this._$Cv=e,this._$AP?.(e))}}class te{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(e,t,i,o,r){this.type=1,this._$AH=q,this._$AN=void 0,this.element=e,this.name=t,this._$AM=o,this.options=r,i.length>2||""!==i[0]||""!==i[1]?(this._$AH=Array(i.length-1).fill(new String),this.strings=i):this._$AH=q}_$AI(e,t=this,i,o){const r=this.strings;let s=!1;if(void 0===r)e=G(this,e,t,0),s=!O(e)||e!==this._$AH&&e!==V,s&&(this._$AH=e);else{const o=e;let a,n;for(e=r[0],a=0;a<r.length-1;a++)n=G(this,o[i+a],t,a),n===V&&(n=this._$AH[a]),s||=!O(n)||n!==this._$AH[a],n===q?e=q:e!==q&&(e+=(n??"")+r[a+1]),this._$AH[a]=n}s&&!o&&this.j(e)}j(e){e===q?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,e??"")}}class ie extends te{constructor(){super(...arguments),this.type=3}j(e){this.element[this.name]=e===q?void 0:e}}class oe extends te{constructor(){super(...arguments),this.type=4}j(e){this.element.toggleAttribute(this.name,!!e&&e!==q)}}class re extends te{constructor(e,t,i,o,r){super(e,t,i,o,r),this.type=5}_$AI(e,t=this){if((e=G(this,e,t,0)??q)===V)return;const i=this._$AH,o=e===q&&i!==q||e.capture!==i.capture||e.once!==i.once||e.passive!==i.passive,r=e!==q&&(i===q||o);o&&this.element.removeEventListener(this.name,this,i),r&&this.element.addEventListener(this.name,this,e),this._$AH=e}handleEvent(e){"function"==typeof this._$AH?this._$AH.call(this.options?.host??this.element,e):this._$AH.handleEvent(e)}}class se{constructor(e,t,i){this.element=e,this.type=6,this._$AN=void 0,this._$AM=t,this.options=i}get _$AU(){return this._$AM._$AU}_$AI(e){G(this,e)}}const ae=C.litHtmlPolyfillSupport;ae?.(K,ee),(C.litHtmlVersions??=[]).push("3.3.1");const ne=globalThis;
18
+ const C=globalThis,w=e=>e,A=C.trustedTypes,S=A?A.createPolicy("lit-html",{createHTML:e=>e}):void 0,_="$lit$",M=`lit$${Math.random().toFixed(9).slice(2)}$`,U="?"+M,E=`<${U}>`,z=document,D=()=>z.createComment(""),O=e=>null===e||"object"!=typeof e&&"function"!=typeof e,P=Array.isArray,I="[ \t\n\f\r]",B=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,T=/-->/g,H=/>/g,L=RegExp(`>|${I}(?:([^\\s"'>=/]+)(${I}*=${I}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,"g"),R=/'/g,N=/"/g,j=/^(?:script|style|textarea|title)$/i,V=e=>(t,...o)=>({_$litType$:e,strings:t,values:o}),Y=V(1),F=V(2),q=Symbol.for("lit-noChange"),W=Symbol.for("lit-nothing"),Z=new WeakMap,J=z.createTreeWalker(z,129);function Q(e,t){if(!P(e)||!e.hasOwnProperty("raw"))throw Error("invalid template strings array");return void 0!==S?S.createHTML(t):t}const K=(e,t)=>{const o=e.length-1,i=[];let r,a=2===t?"<svg>":3===t?"<math>":"",n=B;for(let t=0;t<o;t++){const o=e[t];let s,c,h=-1,l=0;for(;l<o.length&&(n.lastIndex=l,c=n.exec(o),null!==c);)l=n.lastIndex,n===B?"!--"===c[1]?n=T:void 0!==c[1]?n=H:void 0!==c[2]?(j.test(c[2])&&(r=RegExp("</"+c[2],"g")),n=L):void 0!==c[3]&&(n=L):n===L?">"===c[0]?(n=r??B,h=-1):void 0===c[1]?h=-2:(h=n.lastIndex-c[2].length,s=c[1],n=void 0===c[3]?L:'"'===c[3]?N:R):n===N||n===R?n=L:n===T||n===H?n=B:(n=L,r=void 0);const d=n===L&&e[t+1].startsWith("/>")?" ":"";a+=n===B?o+E:h>=0?(i.push(s),o.slice(0,h)+_+o.slice(h)+M+d):o+M+(-2===h?t:d)}return[Q(e,a+(e[o]||"<?>")+(2===t?"</svg>":3===t?"</math>":"")),i]};class X{constructor({strings:e,_$litType$:t},o){let i;this.parts=[];let r=0,a=0;const n=e.length-1,s=this.parts,[c,h]=K(e,t);if(this.el=X.createElement(c,o),J.currentNode=this.el.content,2===t||3===t){const e=this.el.content.firstChild;e.replaceWith(...e.childNodes)}for(;null!==(i=J.nextNode())&&s.length<n;){if(1===i.nodeType){if(i.hasAttributes())for(const e of i.getAttributeNames())if(e.endsWith(_)){const t=h[a++],o=i.getAttribute(e).split(M),n=/([.?@])?(.*)/.exec(t);s.push({type:1,index:r,name:n[2],strings:o,ctor:"."===n[1]?ie:"?"===n[1]?re:"@"===n[1]?ae:oe}),i.removeAttribute(e)}else e.startsWith(M)&&(s.push({type:6,index:r}),i.removeAttribute(e));if(j.test(i.tagName)){const e=i.textContent.split(M),t=e.length-1;if(t>0){i.textContent=A?A.emptyScript:"";for(let o=0;o<t;o++)i.append(e[o],D()),J.nextNode(),s.push({type:2,index:++r});i.append(e[t],D())}}}else if(8===i.nodeType)if(i.data===U)s.push({type:2,index:r});else{let e=-1;for(;-1!==(e=i.data.indexOf(M,e+1));)s.push({type:7,index:r}),e+=M.length-1}r++}}static createElement(e,t){const o=z.createElement("template");return o.innerHTML=e,o}}function G(e,t,o=e,i){if(t===q)return t;let r=void 0!==i?o._$Co?.[i]:o._$Cl;const a=O(t)?void 0:t._$litDirective$;return r?.constructor!==a&&(r?._$AO?.(!1),void 0===a?r=void 0:(r=new a(e),r._$AT(e,o,i)),void 0!==i?(o._$Co??=[])[i]=r:o._$Cl=r),void 0!==r&&(t=G(e,r._$AS(e,t.values),r,i)),t}class ee{constructor(e,t){this._$AV=[],this._$AN=void 0,this._$AD=e,this._$AM=t}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(e){const{el:{content:t},parts:o}=this._$AD,i=(e?.creationScope??z).importNode(t,!0);J.currentNode=i;let r=J.nextNode(),a=0,n=0,s=o[0];for(;void 0!==s;){if(a===s.index){let t;2===s.type?t=new te(r,r.nextSibling,this,e):1===s.type?t=new s.ctor(r,s.name,s.strings,this,e):6===s.type&&(t=new ne(r,this,e)),this._$AV.push(t),s=o[++n]}a!==s?.index&&(r=J.nextNode(),a++)}return J.currentNode=z,i}p(e){let t=0;for(const o of this._$AV)void 0!==o&&(void 0!==o.strings?(o._$AI(e,o,t),t+=o.strings.length-2):o._$AI(e[t])),t++}}class te{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(e,t,o,i){this.type=2,this._$AH=W,this._$AN=void 0,this._$AA=e,this._$AB=t,this._$AM=o,this.options=i,this._$Cv=i?.isConnected??!0}get parentNode(){let e=this._$AA.parentNode;const t=this._$AM;return void 0!==t&&11===e?.nodeType&&(e=t.parentNode),e}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(e,t=this){e=G(this,e,t),O(e)?e===W||null==e||""===e?(this._$AH!==W&&this._$AR(),this._$AH=W):e!==this._$AH&&e!==q&&this._(e):void 0!==e._$litType$?this.$(e):void 0!==e.nodeType?this.T(e):(e=>P(e)||"function"==typeof e?.[Symbol.iterator])(e)?this.k(e):this._(e)}O(e){return this._$AA.parentNode.insertBefore(e,this._$AB)}T(e){this._$AH!==e&&(this._$AR(),this._$AH=this.O(e))}_(e){this._$AH!==W&&O(this._$AH)?this._$AA.nextSibling.data=e:this.T(z.createTextNode(e)),this._$AH=e}$(e){const{values:t,_$litType$:o}=e,i="number"==typeof o?this._$AC(e):(void 0===o.el&&(o.el=X.createElement(Q(o.h,o.h[0]),this.options)),o);if(this._$AH?._$AD===i)this._$AH.p(t);else{const e=new ee(i,this),o=e.u(this.options);e.p(t),this.T(o),this._$AH=e}}_$AC(e){let t=Z.get(e.strings);return void 0===t&&Z.set(e.strings,t=new X(e)),t}k(e){P(this._$AH)||(this._$AH=[],this._$AR());const t=this._$AH;let o,i=0;for(const r of e)i===t.length?t.push(o=new te(this.O(D()),this.O(D()),this,this.options)):o=t[i],o._$AI(r),i++;i<t.length&&(this._$AR(o&&o._$AB.nextSibling,i),t.length=i)}_$AR(e=this._$AA.nextSibling,t){for(this._$AP?.(!1,!0,t);e!==this._$AB;){const t=w(e).nextSibling;w(e).remove(),e=t}}setConnected(e){void 0===this._$AM&&(this._$Cv=e,this._$AP?.(e))}}class oe{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(e,t,o,i,r){this.type=1,this._$AH=W,this._$AN=void 0,this.element=e,this.name=t,this._$AM=i,this.options=r,o.length>2||""!==o[0]||""!==o[1]?(this._$AH=Array(o.length-1).fill(new String),this.strings=o):this._$AH=W}_$AI(e,t=this,o,i){const r=this.strings;let a=!1;if(void 0===r)e=G(this,e,t,0),a=!O(e)||e!==this._$AH&&e!==q,a&&(this._$AH=e);else{const i=e;let n,s;for(e=r[0],n=0;n<r.length-1;n++)s=G(this,i[o+n],t,n),s===q&&(s=this._$AH[n]),a||=!O(s)||s!==this._$AH[n],s===W?e=W:e!==W&&(e+=(s??"")+r[n+1]),this._$AH[n]=s}a&&!i&&this.j(e)}j(e){e===W?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,e??"")}}class ie extends oe{constructor(){super(...arguments),this.type=3}j(e){this.element[this.name]=e===W?void 0:e}}class re extends oe{constructor(){super(...arguments),this.type=4}j(e){this.element.toggleAttribute(this.name,!!e&&e!==W)}}class ae extends oe{constructor(e,t,o,i,r){super(e,t,o,i,r),this.type=5}_$AI(e,t=this){if((e=G(this,e,t,0)??W)===q)return;const o=this._$AH,i=e===W&&o!==W||e.capture!==o.capture||e.once!==o.once||e.passive!==o.passive,r=e!==W&&(o===W||i);i&&this.element.removeEventListener(this.name,this,o),r&&this.element.addEventListener(this.name,this,e),this._$AH=e}handleEvent(e){"function"==typeof this._$AH?this._$AH.call(this.options?.host??this.element,e):this._$AH.handleEvent(e)}}class ne{constructor(e,t,o){this.element=e,this.type=6,this._$AN=void 0,this._$AM=t,this.options=o}get _$AU(){return this._$AM._$AU}_$AI(e){G(this,e)}}const se=C.litHtmlPolyfillSupport;se?.(X,te),(C.litHtmlVersions??=[]).push("3.3.2");const ce=globalThis;
19
19
  /**
20
20
  * @license
21
21
  * Copyright 2017 Google LLC
22
22
  * SPDX-License-Identifier: BSD-3-Clause
23
- */class ce extends w{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){const e=super.createRenderRoot();return this.renderOptions.renderBefore??=e.firstChild,e}update(e){const t=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(e),this._$Do=((e,t,i)=>{const o=i?.renderBefore??t;let r=o._$litPart$;if(void 0===r){const e=i?.renderBefore??null;o._$litPart$=r=new ee(t.insertBefore(D(),e),e,void 0,i??{})}return r._$AI(e),r})(t,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return V}}ce._$litElement$=!0,ce.finalized=!0,ne.litElementHydrateSupport?.({LitElement:ce});const le=ne.litElementPolyfillSupport;le?.({LitElement:ce}),(ne.litElementVersions??=[]).push("4.2.1");
23
+ */class he extends ${constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){const e=super.createRenderRoot();return this.renderOptions.renderBefore??=e.firstChild,e}update(e){const t=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(e),this._$Do=((e,t,o)=>{const i=o?.renderBefore??t;let r=i._$litPart$;if(void 0===r){const e=o?.renderBefore??null;i._$litPart$=r=new te(t.insertBefore(D(),e),e,void 0,o??{})}return r._$AI(e),r})(t,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return q}}he._$litElement$=!0,he.finalized=!0,ce.litElementHydrateSupport?.({LitElement:he});const le=ce.litElementPolyfillSupport;le?.({LitElement:he}),(ce.litElementVersions??=[]).push("4.2.2");
24
24
  /**
25
25
  * @license
26
26
  * Copyright 2017 Google LLC
27
27
  * SPDX-License-Identifier: BSD-3-Clause
28
28
  */
29
- const he=e=>(t,i)=>{void 0!==i?i.addInitializer(()=>{customElements.define(e,t)}):customElements.define(e,t)},de={attribute:!0,type:String,converter:x,reflect:!1,hasChanged:m},pe=(e=de,t,i)=>{const{kind:o,metadata:r}=i;let s=globalThis.litPropertyMetadata.get(r);if(void 0===s&&globalThis.litPropertyMetadata.set(r,s=new Map),"setter"===o&&((e=Object.create(e)).wrapped=!0),s.set(i.name,e),"accessor"===o){const{name:o}=i;return{set(i){const r=t.get.call(this);t.set.call(this,i),this.requestUpdate(o,r,e)},init(t){return void 0!==t&&this.C(o,void 0,e,t),t}}}if("setter"===o){const{name:o}=i;return function(i){const r=this[o];t.call(this,i),this.requestUpdate(o,r,e)}}throw Error("Unsupported decorator location: "+o)};
29
+ const de=e=>(t,o)=>{void 0!==o?o.addInitializer(()=>{customElements.define(e,t)}):customElements.define(e,t)},pe={attribute:!0,type:String,converter:y,reflect:!1,hasChanged:m},ue=(e=pe,t,o)=>{const{kind:i,metadata:r}=o;let a=globalThis.litPropertyMetadata.get(r);if(void 0===a&&globalThis.litPropertyMetadata.set(r,a=new Map),"setter"===i&&((e=Object.create(e)).wrapped=!0),a.set(o.name,e),"accessor"===i){const{name:i}=o;return{set(o){const r=t.get.call(this);t.set.call(this,o),this.requestUpdate(i,r,e,!0,o)},init(t){return void 0!==t&&this.C(i,void 0,e,t),t}}}if("setter"===i){const{name:i}=o;return function(o){const r=this[i];t.call(this,o),this.requestUpdate(i,r,e,!0,o)}}throw Error("Unsupported decorator location: "+i)};
30
30
  /**
31
31
  * @license
32
32
  * Copyright 2017 Google LLC
33
33
  * SPDX-License-Identifier: BSD-3-Clause
34
- */function ue(e){return(t,i)=>"object"==typeof i?pe(e,t,i):((e,t,i)=>{const o=t.hasOwnProperty(i);return t.constructor.createProperty(i,e),o?Object.getOwnPropertyDescriptor(t,i):void 0})(e,t,i)}
34
+ */function fe(e){return(t,o)=>"object"==typeof o?ue(e,t,o):((e,t,o)=>{const i=t.hasOwnProperty(o);return t.constructor.createProperty(o,e),i?Object.getOwnPropertyDescriptor(t,o):void 0})(e,t,o)}
35
35
  /**
36
36
  * @license
37
37
  * Copyright 2017 Google LLC
38
38
  * SPDX-License-Identifier: BSD-3-Clause
39
- */function fe(e){return ue({...e,state:!0,attribute:!1})}
39
+ */function be(e){return fe({...e,state:!0,attribute:!1})}
40
40
  /**
41
41
  * @license
42
42
  * Copyright 2017 Google LLC
@@ -47,7 +47,7 @@ const he=e=>(t,i)=>{void 0!==i?i.addInitializer(()=>{customElements.define(e,t)}
47
47
  * Copyright 2017 Google LLC
48
48
  * SPDX-License-Identifier: BSD-3-Clause
49
49
  */
50
- function ve(e,t){return(t,i,o)=>((e,t,i)=>(i.configurable=!0,i.enumerable=!0,Reflect.decorate&&"object"!=typeof t&&Object.defineProperty(e,t,i),i))(t,i,{get(){return(t=>t.renderRoot?.querySelector(e)??null)(this)}})}class ge{constructor(){this.registry=new Map}register(e,t){this.registry.set(e,t)}resolve(e){return this.registry.get(e)}has(e){return this.registry.has(e)}list(){return Array.from(this.registry.keys()).sort()}}const be=new ge;be.register("plus",{outline:"M12 4v16M4 12h16",solid:"M11 4h2v7h7v2h-7v7h-2v-7H4v-2h7z"}),be.register("check",{outline:"m5 13 4 4L19 7",solid:"M10 15.172 5.414 10.586 4 12l6 6L20 8l-1.414-1.414z"}),be.register("x",{outline:"M6 6l12 12M6 18L18 6",solid:"M6 6l12 12M6 18L18 6"}),be.register("trash",{outline:"M3 6h18M8 6V4h8v2m-1 0v12a2 2 0 0 1-2 2H9a2 2 0 0 1-2-2V6h10Z",solid:"M7 6h10v11a3 3 0 0 1-3 3H10a3 3 0 0 1-3-3V6Zm2-4h6v2H9z"}),be.register("lock",{outline:"M7 10V7a5 5 0 0 1 10 0v3m-9 0h8a2 2 0 0 1 2 2v6a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2v-6a2 2 0 0 1 2-2Z",solid:"M12 1a6 6 0 0 1 6 6v3h1a2 2 0 0 1 2 2v7a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3v-7a2 2 0 0 1 2-2h1V7a6 6 0 0 1 6-6Z"}),be.register("alert",{outline:"M12 9v4m0 4h.01M10.29 3.86 1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0Z",solid:"M11 7h2v6h-2zm0 8h2v2h-2z"}),be.register("info",{outline:"M12 8h.01M11 12h2v6h-2zm9 0a8 8 0 1 1-16 0 8 8 0 0 1 16 0Z",solid:"M12 2a10 10 0 1 1 0 20 10 10 0 0 1 0-20Zm-1 8h2V7h-2v3Zm0 7h2v-6h-2v6Z"}),be.register("edit",{outline:"M4 21h4l11-11a2.828 2.828 0 1 0-4-4L4 17v4Z",solid:"M3 17.25 16.06 4.19l3.75 3.75L6.75 21H3v-3.75Z"}),be.register("search",{outline:"m21 21-4.35-4.35M10 18a8 8 0 1 1 0-16 8 8 0 0 1 0 16Z",solid:"M15.5 14h-.79l-.28-.27A6.471 6.471 0 0 0 16 9.5 6.5 6.5 0 1 0 9.5 16a6.471 6.471 0 0 0 4.23-1.57l.27.28v.79L20 21.5 21.5 20 15.5 14z"}),be.register("save",{outline:"M5 5h10l4 4v10a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V5zm8 0v6H7V5",solid:"M17 3H5a2 2 0 0 0-2 2v16l4-4h10a2 2 0 0 0 2-2V7l-4-4z"}),be.register("arrow-right",{outline:"M5 12h14M13 5l7 7-7 7",solid:"M10 5l7 7-7 7V5z"}),be.register("arrow-left",{outline:"M19 12H5m6 7-7-7 7-7",solid:"M14 19l-7-7 7-7v14z"}),exports.ChefIcon=class extends ce{constructor(){super(...arguments),this.name="info",this.styleVariant="outline",this.ariaLabel=null}updated(){this.size&&this.style.setProperty("--chefui-icon-size",this.size),this.color&&this.style.setProperty("--chefui-icon-color",this.color)}renderPath(){const e=be.resolve(this.name);if(!e)return null;const t="solid"===this.styleVariant&&!!e.solid?e.solid:e.outline;return F`<path d="${t}" />`}render(){const e=be.resolve(this.name),t="solid"===this.styleVariant&&!!e?.solid;return Y`
50
+ function ve(e,t){return(t,o,i)=>((e,t,o)=>(o.configurable=!0,o.enumerable=!0,Reflect.decorate&&"object"!=typeof t&&Object.defineProperty(e,t,o),o))(t,o,{get(){return(t=>t.renderRoot?.querySelector(e)??null)(this)}})}class ge{constructor(){this.registry=new Map}register(e,t){this.registry.set(e,t)}resolve(e){return this.registry.get(e)}has(e){return this.registry.has(e)}list(){return Array.from(this.registry.keys()).sort()}}const xe=new ge;xe.register("plus",{outline:"M12 4v16M4 12h16",solid:"M11 4h2v7h7v2h-7v7h-2v-7H4v-2h7z"}),xe.register("check",{outline:"m5 13 4 4L19 7",solid:"M10 15.172 5.414 10.586 4 12l6 6L20 8l-1.414-1.414z"}),xe.register("x",{outline:"M6 6l12 12M6 18L18 6",solid:"M6 6l12 12M6 18L18 6"}),xe.register("trash",{outline:"M3 6h18M8 6V4h8v2m-1 0v12a2 2 0 0 1-2 2H9a2 2 0 0 1-2-2V6h10Z",solid:"M7 6h10v11a3 3 0 0 1-3 3H10a3 3 0 0 1-3-3V6Zm2-4h6v2H9z"}),xe.register("lock",{outline:"M7 10V7a5 5 0 0 1 10 0v3m-9 0h8a2 2 0 0 1 2 2v6a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2v-6a2 2 0 0 1 2-2Z",solid:"M12 1a6 6 0 0 1 6 6v3h1a2 2 0 0 1 2 2v7a3 3 0 0 1-3 3H6a3 3 0 0 1-3-3v-7a2 2 0 0 1 2-2h1V7a6 6 0 0 1 6-6Z"}),xe.register("alert",{outline:"M12 9v4m0 4h.01M10.29 3.86 1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0Z",solid:"M11 7h2v6h-2zm0 8h2v2h-2z"}),xe.register("info",{outline:"M12 8h.01M11 12h2v6h-2zm9 0a8 8 0 1 1-16 0 8 8 0 0 1 16 0Z",solid:"M12 2a10 10 0 1 1 0 20 10 10 0 0 1 0-20Zm-1 8h2V7h-2v3Zm0 7h2v-6h-2v6Z"}),xe.register("edit",{outline:"M4 21h4l11-11a2.828 2.828 0 1 0-4-4L4 17v4Z",solid:"M3 17.25 16.06 4.19l3.75 3.75L6.75 21H3v-3.75Z"}),xe.register("search",{outline:"m21 21-4.35-4.35M10 18a8 8 0 1 1 0-16 8 8 0 0 1 0 16Z",solid:"M15.5 14h-.79l-.28-.27A6.471 6.471 0 0 0 16 9.5 6.5 6.5 0 1 0 9.5 16a6.471 6.471 0 0 0 4.23-1.57l.27.28v.79L20 21.5 21.5 20 15.5 14z"}),xe.register("save",{outline:"M5 5h10l4 4v10a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V5zm8 0v6H7V5",solid:"M17 3H5a2 2 0 0 0-2 2v16l4-4h10a2 2 0 0 0 2-2V7l-4-4z"}),xe.register("arrow-right",{outline:"M5 12h14M13 5l7 7-7 7",solid:"M10 5l7 7-7 7V5z"}),xe.register("arrow-left",{outline:"M19 12H5m6 7-7-7 7-7",solid:"M14 19l-7-7 7-7v14z"}),xe.register("heart",{outline:"M21 8.25c0-2.485-2.099-4.5-4.688-4.5-1.935 0-3.597 1.126-4.312 2.733-.715-1.607-2.377-2.733-4.313-2.733C5.1 3.75 3 5.765 3 8.25c0 7.22 9 12 9 12s9-4.78 9-12z",solid:"M11.645 20.91l-.007-.003-.022-.012a15.247 15.247 0 01-.383-.218 25.18 25.18 0 01-4.244-3.17C4.688 15.36 2.25 12.174 2.25 8.25 2.25 5.322 4.714 3 7.688 3A5.5 5.5 0 0112 5.052 5.5 5.5 0 0116.313 3c2.973 0 5.437 2.322 5.437 5.25 0 3.925-2.438 7.111-4.739 9.256a25.175 25.175 0 01-4.244 3.17 15.247 15.247 0 01-.383.219l-.022.012-.007.004-.003.001a.752.752 0 01-.704 0l-.003-.001z"}),xe.register("heart-outline",{outline:"M21 8.25c0-2.485-2.099-4.5-4.688-4.5-1.935 0-3.597 1.126-4.312 2.733-.715-1.607-2.377-2.733-4.313-2.733C5.1 3.75 3 5.765 3 8.25c0 7.22 9 12 9 12s9-4.78 9-12z"}),xe.register("star",{outline:"M11.48 3.499a.562.562 0 011.04 0l2.125 5.111a.563.563 0 00.475.345l5.518.442c.499.04.701.663.321.988l-4.204 3.602a.563.563 0 00-.182.557l1.285 5.385a.562.562 0 01-.84.61l-4.725-2.885a.563.563 0 00-.586 0L6.982 20.54a.562.562 0 01-.84-.61l1.285-5.386a.562.562 0 00-.182-.557l-4.204-3.602a.563.563 0 01.321-.988l5.518-.442a.563.563 0 00.475-.345L11.48 3.5z",solid:"M10.788 3.21c.448-1.077 1.976-1.077 2.424 0l2.082 5.007 5.404.433c1.164.093 1.636 1.545.749 2.305l-4.117 3.527 1.257 5.273c.271 1.136-.964 2.033-1.96 1.425L12 18.354 7.373 21.18c-.996.608-2.231-.29-1.96-1.425l1.257-5.273-4.117-3.527c-.887-.76-.415-2.212.749-2.305l5.404-.433 2.082-5.006z"}),xe.register("star-outline",{outline:"M11.48 3.499a.562.562 0 011.04 0l2.125 5.111a.563.563 0 00.475.345l5.518.442c.499.04.701.663.321.988l-4.204 3.602a.563.563 0 00-.182.557l1.285 5.385a.562.562 0 01-.84.61l-4.725-2.885a.563.563 0 00-.586 0L6.982 20.54a.562.562 0 01-.84-.61l1.285-5.386a.562.562 0 00-.182-.557l-4.204-3.602a.563.563 0 01.321-.988l5.518-.442a.563.563 0 00.475-.345L11.48 3.5z"}),xe.register("bookmark",{outline:"M17.593 3.322c1.1.128 1.907 1.077 1.907 2.185V21L12 17.25 4.5 21V5.507c0-1.108.806-2.057 1.907-2.185a48.507 48.507 0 0111.186 0z",solid:"M6.32 2.577a49.255 49.255 0 0111.36 0c1.497.174 2.57 1.46 2.57 2.93V21a.75.75 0 01-1.085.67L12 18.089l-7.165 3.583A.75.75 0 013.75 21V5.507c0-1.47 1.073-2.756 2.57-2.93z"}),xe.register("bookmark-outline",{outline:"M17.593 3.322c1.1.128 1.907 1.077 1.907 2.185V21L12 17.25 4.5 21V5.507c0-1.108.806-2.057 1.907-2.185a48.507 48.507 0 0111.186 0z"}),xe.register("thumbs-up",{outline:"M6.633 10.5c.806 0 1.533-.446 2.031-1.08a9.041 9.041 0 012.861-2.4c.723-.384 1.35-.956 1.653-1.715a4.498 4.498 0 00.322-1.672V3a.75.75 0 01.75-.75A2.25 2.25 0 0116.5 4.5c0 1.152-.26 2.243-.723 3.218-.266.558.107 1.282.725 1.282h3.126c1.026 0 1.945.694 2.054 1.715.045.422.068.85.068 1.285a11.95 11.95 0 01-2.649 7.521c-.388.482-.987.729-1.605.729H13.48c-.483 0-.964-.078-1.423-.23l-3.114-.937a6.5 6.5 0 00-1.893-.26H4.5A2.25 2.25 0 012.25 16.5v-5.25A2.25 2.25 0 014.5 9h2.133z",solid:"M7.493 18.75c-.425 0-.82-.236-.975-.632A7.48 7.48 0 016 15.375c0-1.75.599-3.358 1.602-4.634.151-.192.373-.309.6-.397.473-.183.89-.514 1.212-.924a9.042 9.042 0 012.861-2.4c.723-.384 1.35-.956 1.653-1.715a4.498 4.498 0 00.322-1.672V3a.75.75 0 01.75-.75 2.25 2.25 0 012.25 2.25c0 1.152-.26 2.243-.723 3.218-.266.558.107 1.282.725 1.282h3.126c1.026 0 1.945.694 2.054 1.715.045.422.068.85.068 1.285a11.95 11.95 0 01-2.649 7.521c-.388.482-.987.729-1.605.729H14.23c-.483 0-.964-.078-1.423-.23l-3.114-.937a6.5 6.5 0 00-1.893-.26H5.5z M2.331 10.727a11.969 11.969 0 00-.831 4.398 12 12 0 00.52 3.507c.26.85 1.084 1.368 1.973 1.368H4.9c.445 0 .72-.498.523-.898a8.963 8.963 0 01-.924-3.977c0-1.708.476-3.305 1.302-4.666.245-.403-.028-.959-.5-.959H4.25c-.832 0-1.612.453-1.918 1.227z"}),xe.register("thumbs-up-outline",{outline:"M6.633 10.5c.806 0 1.533-.446 2.031-1.08a9.041 9.041 0 012.861-2.4c.723-.384 1.35-.956 1.653-1.715a4.498 4.498 0 00.322-1.672V3a.75.75 0 01.75-.75A2.25 2.25 0 0116.5 4.5c0 1.152-.26 2.243-.723 3.218-.266.558.107 1.282.725 1.282h3.126c1.026 0 1.945.694 2.054 1.715.045.422.068.85.068 1.285a11.95 11.95 0 01-2.649 7.521c-.388.482-.987.729-1.605.729H13.48c-.483 0-.964-.078-1.423-.23l-3.114-.937a6.5 6.5 0 00-1.893-.26H4.5A2.25 2.25 0 012.25 16.5v-5.25A2.25 2.25 0 014.5 9h2.133z"}),xe.register("minus",{outline:"M19.5 12h-15",solid:"M4.25 12a.75.75 0 01.75-.75h14a.75.75 0 010 1.5H5a.75.75 0 01-.75-.75z"}),exports.ChefIcon=class extends he{constructor(){super(...arguments),this.name="info",this.styleVariant="outline",this.ariaLabel=null}updated(){this.size&&this.style.setProperty("--chefui-icon-size",this.size),this.color&&this.style.setProperty("--chefui-icon-color",this.color)}renderPath(){const e=xe.resolve(this.name);if(!e)return null;const t="solid"===this.styleVariant&&!!e.solid?e.solid:e.outline;return F`<path d="${t}" />`}render(){const e=xe.resolve(this.name),t="solid"===this.styleVariant&&!!e?.solid;return Y`
51
51
  <svg
52
52
  part="icon"
53
53
  xmlns="http://www.w3.org/2000/svg"
@@ -60,7 +60,7 @@ function ve(e,t){return(t,i,o)=>((e,t,i)=>(i.configurable=!0,i.enumerable=!0,Ref
60
60
  >
61
61
  ${this.renderPath()}
62
62
  </svg>
63
- `}},exports.ChefIcon.styles=a`
63
+ `}},exports.ChefIcon.styles=n`
64
64
  :host {
65
65
  display: inline-flex;
66
66
  --chefui-icon-size: 1.1em;
@@ -68,7 +68,7 @@ function ve(e,t){return(t,i,o)=>((e,t,i)=>(i.configurable=!0,i.enumerable=!0,Ref
68
68
  line-height: 0;
69
69
  }
70
70
  svg { width: var(--chefui-icon-size); height: var(--chefui-icon-size); stroke-linecap: round; stroke-linejoin: round; }
71
- `,e([ue({type:String,reflect:!0})],exports.ChefIcon.prototype,"name",void 0),e([ue({type:String,reflect:!0})],exports.ChefIcon.prototype,"styleVariant",void 0),e([ue({type:String,reflect:!0})],exports.ChefIcon.prototype,"size",void 0),e([ue({type:String,reflect:!0})],exports.ChefIcon.prototype,"color",void 0),e([ue({type:String,attribute:"aria-label"})],exports.ChefIcon.prototype,"ariaLabel",void 0),exports.ChefIcon=e([he("chef-icon")],exports.ChefIcon),exports.ChefButton=class extends ce{constructor(){super(...arguments),this.disabled=!1,this.variant="solid",this.type="button"}findAssociatedForm(){if(this.form){const e=this.ownerDocument.getElementById(this.form);if(e&&e instanceof HTMLFormElement)return e}return this.closest("form")}handleClick(e){if(this.disabled)return e.stopImmediatePropagation(),void e.preventDefault();this.dispatchEvent(new CustomEvent("chef-click",{bubbles:!0,composed:!0}));const t=this.findAssociatedForm();if(t)if("submit"===this.type){const e=document.createElement("button");e.type="submit",this.name&&(e.name=this.name),null!=this.value&&(e.value=this.value),e.hidden=!0,t.appendChild(e),e.click(),t.removeChild(e)}else"reset"===this.type&&t.reset()}render(){return Y`
71
+ `,e([fe({type:String,reflect:!0})],exports.ChefIcon.prototype,"name",void 0),e([fe({type:String,reflect:!0})],exports.ChefIcon.prototype,"styleVariant",void 0),e([fe({type:String,reflect:!0})],exports.ChefIcon.prototype,"size",void 0),e([fe({type:String,reflect:!0})],exports.ChefIcon.prototype,"color",void 0),e([fe({type:String,attribute:"aria-label"})],exports.ChefIcon.prototype,"ariaLabel",void 0),exports.ChefIcon=e([de("chef-icon")],exports.ChefIcon),exports.ChefButton=class extends he{constructor(){super(...arguments),this.disabled=!1,this.variant="solid",this.type="button"}findAssociatedForm(){if(this.form){const e=this.ownerDocument.getElementById(this.form);if(e&&e instanceof HTMLFormElement)return e}return this.closest("form")}handleClick(e){if(this.disabled)return e.stopImmediatePropagation(),void e.preventDefault();this.dispatchEvent(new CustomEvent("chef-click",{bubbles:!0,composed:!0}));const t=this.findAssociatedForm();if(t)if("submit"===this.type){const e=document.createElement("button");e.type="submit",this.name&&(e.name=this.name),null!=this.value&&(e.value=this.value),e.hidden=!0,t.appendChild(e),e.click(),t.removeChild(e)}else"reset"===this.type&&t.reset()}render(){return Y`
72
72
  <button
73
73
  type="button"
74
74
  ?disabled=${this.disabled}
@@ -82,7 +82,7 @@ function ve(e,t){return(t,i,o)=>((e,t,i)=>(i.configurable=!0,i.enumerable=!0,Ref
82
82
  </slot>
83
83
  <slot></slot>
84
84
  </button>
85
- `}},exports.ChefButton.styles=a`
85
+ `}},exports.ChefButton.styles=n`
86
86
  :host {
87
87
  display: inline-block;
88
88
  --chefui-color: #1976d2;
@@ -162,7 +162,7 @@ function ve(e,t){return(t,i,o)=>((e,t,i)=>(i.configurable=!0,i.enumerable=!0,Ref
162
162
  height: 1.1em;
163
163
  display: inline-flex;
164
164
  }
165
- `,e([ue({type:Boolean,reflect:!0})],exports.ChefButton.prototype,"disabled",void 0),e([ue({type:String,reflect:!0})],exports.ChefButton.prototype,"variant",void 0),e([ue({type:String,reflect:!0})],exports.ChefButton.prototype,"type",void 0),e([ue({type:String})],exports.ChefButton.prototype,"name",void 0),e([ue({type:String})],exports.ChefButton.prototype,"value",void 0),e([ue({type:String,reflect:!0})],exports.ChefButton.prototype,"form",void 0),e([ue({type:String,reflect:!0})],exports.ChefButton.prototype,"icon",void 0),exports.ChefButton=e([he("chef-button")],exports.ChefButton),exports.ChefUiSelect=class extends ce{constructor(){super(...arguments),this.placeholder="Select an option...",this.value="",this.disabled=!1,this.invalid=!1,this.options=[],this.required=!1,this.searchable=!1,this.searchPlaceholder="Search...",this.isOpen=!1,this.searchQuery="",this.handleOutsideClick=e=>{this.contains(e.target)||this.closeDropdown()}}connectedCallback(){super.connectedCallback(),document.addEventListener("click",this.handleOutsideClick)}disconnectedCallback(){document.removeEventListener("click",this.handleOutsideClick),super.disconnectedCallback()}closeDropdown(){this.isOpen=!1,this.searchQuery=""}toggleDropdown(e){e.stopPropagation(),this.disabled||(this.isOpen=!this.isOpen,this.isOpen&&this.searchable&&setTimeout(()=>{this.searchInputEl?.focus()},100))}selectOption(e,t){if(t.stopPropagation(),this.disabled)return;const i=this.value;this.value=e,this.closeDropdown(),this.dispatchEvent(new CustomEvent("chef-change",{detail:{value:this.value,oldValue:i},bubbles:!0,composed:!0})),this.dispatchEvent(new Event("change",{bubbles:!0,composed:!0}))}handleKeyDown(e){if(!this.disabled)switch(e.key){case"Enter":case" ":if(e.target.classList.contains("search-input"))return;e.preventDefault(),this.toggleDropdown(e);break;case"Escape":e.preventDefault(),this.closeDropdown();break;case"ArrowDown":if(e.preventDefault(),this.isOpen){const e=this.getFilteredOptions(),t=e.findIndex(e=>e.value===this.value),i=Math.min(t+1,e.length-1);i>=0&&e[i]&&(this.value=e[i].value)}else this.isOpen=!0;break;case"ArrowUp":if(e.preventDefault(),this.isOpen){const e=this.getFilteredOptions(),t=e.findIndex(e=>e.value===this.value),i=Math.max(t-1,0);i>=0&&e[i]&&(this.value=e[i].value)}else this.isOpen=!0}}handleSearchInput(e){const t=e.target;this.searchQuery=t.value.toLowerCase()}getFilteredOptions(){return this.searchQuery?this.options.filter(e=>e.label.toLowerCase().includes(this.searchQuery)||e.value.toLowerCase().includes(this.searchQuery)):this.options}getSelectedOption(){return this.options.find(e=>e.value===this.value)}render(){const e=this.getSelectedOption(),t=this.getFilteredOptions();return Y`
165
+ `,e([fe({type:Boolean,reflect:!0})],exports.ChefButton.prototype,"disabled",void 0),e([fe({type:String,reflect:!0})],exports.ChefButton.prototype,"variant",void 0),e([fe({type:String,reflect:!0})],exports.ChefButton.prototype,"type",void 0),e([fe({type:String})],exports.ChefButton.prototype,"name",void 0),e([fe({type:String})],exports.ChefButton.prototype,"value",void 0),e([fe({type:String,reflect:!0})],exports.ChefButton.prototype,"form",void 0),e([fe({type:String,reflect:!0})],exports.ChefButton.prototype,"icon",void 0),exports.ChefButton=e([de("chef-button")],exports.ChefButton),exports.ChefUiSelect=class extends he{constructor(){super(...arguments),this.placeholder="Select an option...",this.value="",this.disabled=!1,this.invalid=!1,this.options=[],this.required=!1,this.searchable=!1,this.searchPlaceholder="Search...",this.isOpen=!1,this.searchQuery="",this.handleOutsideClick=e=>{this.contains(e.target)||this.closeDropdown()}}connectedCallback(){super.connectedCallback(),document.addEventListener("click",this.handleOutsideClick)}disconnectedCallback(){document.removeEventListener("click",this.handleOutsideClick),super.disconnectedCallback()}closeDropdown(){this.isOpen=!1,this.searchQuery=""}toggleDropdown(e){e.stopPropagation(),this.disabled||(this.isOpen=!this.isOpen,this.isOpen&&this.searchable&&setTimeout(()=>{this.searchInputEl?.focus()},100))}selectOption(e,t){if(t.stopPropagation(),this.disabled)return;const o=this.value;this.value=e,this.closeDropdown(),this.dispatchEvent(new CustomEvent("chef-change",{detail:{value:this.value,oldValue:o},bubbles:!0,composed:!0})),this.dispatchEvent(new Event("change",{bubbles:!0,composed:!0}))}handleKeyDown(e){if(!this.disabled)switch(e.key){case"Enter":case" ":if(e.target.classList.contains("search-input"))return;e.preventDefault(),this.toggleDropdown(e);break;case"Escape":e.preventDefault(),this.closeDropdown();break;case"ArrowDown":if(e.preventDefault(),this.isOpen){const e=this.getFilteredOptions(),t=e.findIndex(e=>e.value===this.value),o=Math.min(t+1,e.length-1);o>=0&&e[o]&&(this.value=e[o].value)}else this.isOpen=!0;break;case"ArrowUp":if(e.preventDefault(),this.isOpen){const e=this.getFilteredOptions(),t=e.findIndex(e=>e.value===this.value),o=Math.max(t-1,0);o>=0&&e[o]&&(this.value=e[o].value)}else this.isOpen=!0}}handleSearchInput(e){const t=e.target;this.searchQuery=t.value.toLowerCase()}getFilteredOptions(){return this.searchQuery?this.options.filter(e=>e.label.toLowerCase().includes(this.searchQuery)||e.value.toLowerCase().includes(this.searchQuery)):this.options}getSelectedOption(){return this.options.find(e=>e.value===this.value)}render(){const e=this.getSelectedOption(),t=this.getFilteredOptions();return Y`
166
166
  <div class="wrapper">
167
167
  ${this.label?Y`<label class="label">${this.label}</label>`:null}
168
168
 
@@ -230,7 +230,7 @@ function ve(e,t){return(t,i,o)=>((e,t,i)=>(i.configurable=!0,i.enumerable=!0,Ref
230
230
  <slot name="validation-message"></slot>
231
231
  </div>
232
232
  </div>
233
- `}},exports.ChefUiSelect.styles=a`
233
+ `}},exports.ChefUiSelect.styles=n`
234
234
  :host {
235
235
  display: block;
236
236
  --chefui-color: #7c3aed;
@@ -443,11 +443,11 @@ function ve(e,t){return(t,i,o)=>((e,t,i)=>(i.configurable=!0,i.enumerable=!0,Ref
443
443
  margin-top: 6px;
444
444
  font-size: 13px;
445
445
  }
446
- `,e([ue({type:String})],exports.ChefUiSelect.prototype,"label",void 0),e([ue({type:String,reflect:!0})],exports.ChefUiSelect.prototype,"placeholder",void 0),e([ue({type:String,reflect:!0})],exports.ChefUiSelect.prototype,"value",void 0),e([ue({type:Boolean,reflect:!0})],exports.ChefUiSelect.prototype,"disabled",void 0),e([ue({type:Boolean,reflect:!0})],exports.ChefUiSelect.prototype,"invalid",void 0),e([ue({type:String})],exports.ChefUiSelect.prototype,"name",void 0),e([ue({type:Array})],exports.ChefUiSelect.prototype,"options",void 0),e([ue({type:Boolean,reflect:!0})],exports.ChefUiSelect.prototype,"required",void 0),e([ue({type:Boolean,reflect:!0})],exports.ChefUiSelect.prototype,"searchable",void 0),e([ue({type:String})],exports.ChefUiSelect.prototype,"prefixIcon",void 0),e([ue({type:String})],exports.ChefUiSelect.prototype,"searchPlaceholder",void 0),e([fe()],exports.ChefUiSelect.prototype,"isOpen",void 0),e([fe()],exports.ChefUiSelect.prototype,"searchQuery",void 0),e([ve(".dropdown")],exports.ChefUiSelect.prototype,"dropdownEl",void 0),e([ve(".search-input")],exports.ChefUiSelect.prototype,"searchInputEl",void 0),exports.ChefUiSelect=e([he("chef-ui-select")],exports.ChefUiSelect),exports.ChefUiAccordion=class extends ce{constructor(){super(...arguments),this.variant="default",this.multiple=!1,this.collapsible=!0}handleItemToggle(e){if(!this.multiple&&e.detail.expanded){this.querySelectorAll("chef-ui-accordion-item").forEach(t=>{t!==e.target&&(t.expanded=!1)})}}connectedCallback(){super.connectedCallback(),this.addEventListener("accordion-item-toggle",this.handleItemToggle)}disconnectedCallback(){this.removeEventListener("accordion-item-toggle",this.handleItemToggle),super.disconnectedCallback()}render(){return Y`
446
+ `,e([fe({type:String})],exports.ChefUiSelect.prototype,"label",void 0),e([fe({type:String,reflect:!0})],exports.ChefUiSelect.prototype,"placeholder",void 0),e([fe({type:String,reflect:!0})],exports.ChefUiSelect.prototype,"value",void 0),e([fe({type:Boolean,reflect:!0})],exports.ChefUiSelect.prototype,"disabled",void 0),e([fe({type:Boolean,reflect:!0})],exports.ChefUiSelect.prototype,"invalid",void 0),e([fe({type:String})],exports.ChefUiSelect.prototype,"name",void 0),e([fe({type:Array})],exports.ChefUiSelect.prototype,"options",void 0),e([fe({type:Boolean,reflect:!0})],exports.ChefUiSelect.prototype,"required",void 0),e([fe({type:Boolean,reflect:!0})],exports.ChefUiSelect.prototype,"searchable",void 0),e([fe({type:String})],exports.ChefUiSelect.prototype,"prefixIcon",void 0),e([fe({type:String})],exports.ChefUiSelect.prototype,"searchPlaceholder",void 0),e([be()],exports.ChefUiSelect.prototype,"isOpen",void 0),e([be()],exports.ChefUiSelect.prototype,"searchQuery",void 0),e([ve(".dropdown")],exports.ChefUiSelect.prototype,"dropdownEl",void 0),e([ve(".search-input")],exports.ChefUiSelect.prototype,"searchInputEl",void 0),exports.ChefUiSelect=e([de("chef-ui-select")],exports.ChefUiSelect),exports.ChefUiAccordion=class extends he{constructor(){super(...arguments),this.variant="default",this.multiple=!1,this.collapsible=!0}handleItemToggle(e){if(!this.multiple&&e.detail.expanded){this.querySelectorAll("chef-ui-accordion-item").forEach(t=>{t!==e.target&&(t.expanded=!1)})}}connectedCallback(){super.connectedCallback(),this.addEventListener("accordion-item-toggle",this.handleItemToggle)}disconnectedCallback(){this.removeEventListener("accordion-item-toggle",this.handleItemToggle),super.disconnectedCallback()}render(){return Y`
447
447
  <div class="accordion-container" role="region">
448
448
  <slot></slot>
449
449
  </div>
450
- `}},exports.ChefUiAccordion.styles=a`
450
+ `}},exports.ChefUiAccordion.styles=n`
451
451
  :host {
452
452
  display: block;
453
453
  --chefui-accordion-bg: #1e293b;
@@ -486,7 +486,7 @@ function ve(e,t){return(t,i,o)=>((e,t,i)=>(i.configurable=!0,i.enumerable=!0,Ref
486
486
  ::slotted(chef-ui-accordion-item) {
487
487
  display: block;
488
488
  }
489
- `,e([ue({type:String,reflect:!0})],exports.ChefUiAccordion.prototype,"variant",void 0),e([ue({type:Boolean,reflect:!0})],exports.ChefUiAccordion.prototype,"multiple",void 0),e([ue({type:Boolean,reflect:!0})],exports.ChefUiAccordion.prototype,"collapsible",void 0),exports.ChefUiAccordion=e([he("chef-ui-accordion")],exports.ChefUiAccordion),exports.ChefUiAccordionItem=class extends ce{constructor(){super(...arguments),this.expanded=!1,this.disabled=!1,this.title=""}toggle(){this.disabled||(this.expanded=!this.expanded,this.dispatchEvent(new CustomEvent("accordion-item-toggle",{detail:{expanded:this.expanded},bubbles:!0,composed:!0})),this.dispatchEvent(new CustomEvent("chef-toggle",{detail:{expanded:this.expanded},bubbles:!0,composed:!0})))}handleKeyDown(e){"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),this.toggle())}render(){return Y`
489
+ `,e([fe({type:String,reflect:!0})],exports.ChefUiAccordion.prototype,"variant",void 0),e([fe({type:Boolean,reflect:!0})],exports.ChefUiAccordion.prototype,"multiple",void 0),e([fe({type:Boolean,reflect:!0})],exports.ChefUiAccordion.prototype,"collapsible",void 0),exports.ChefUiAccordion=e([de("chef-ui-accordion")],exports.ChefUiAccordion),exports.ChefUiAccordionItem=class extends he{constructor(){super(...arguments),this.expanded=!1,this.disabled=!1,this.title=""}toggle(){this.disabled||(this.expanded=!this.expanded,this.dispatchEvent(new CustomEvent("accordion-item-toggle",{detail:{expanded:this.expanded},bubbles:!0,composed:!0})),this.dispatchEvent(new CustomEvent("chef-toggle",{detail:{expanded:this.expanded},bubbles:!0,composed:!0})))}handleKeyDown(e){"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),this.toggle())}render(){return Y`
490
490
  <button
491
491
  class="header"
492
492
  role="button"
@@ -528,7 +528,7 @@ function ve(e,t){return(t,i,o)=>((e,t,i)=>(i.configurable=!0,i.enumerable=!0,Ref
528
528
  </div>
529
529
  </div>
530
530
  </div>
531
- `}},exports.ChefUiAccordionItem.styles=a`
531
+ `}},exports.ChefUiAccordionItem.styles=n`
532
532
  :host {
533
533
  display: block;
534
534
  background: var(--chefui-accordion-bg, #1e293b);
@@ -687,7 +687,251 @@ function ve(e,t){return(t,i,o)=>((e,t,i)=>(i.configurable=!0,i.enumerable=!0,Ref
687
687
  width: 20px;
688
688
  height: 20px;
689
689
  }
690
- `,e([ue({type:Boolean,reflect:!0})],exports.ChefUiAccordionItem.prototype,"expanded",void 0),e([ue({type:Boolean,reflect:!0})],exports.ChefUiAccordionItem.prototype,"disabled",void 0),e([ue({type:String})],exports.ChefUiAccordionItem.prototype,"title",void 0),e([ue({type:String})],exports.ChefUiAccordionItem.prototype,"subtitle",void 0),e([ue({type:String})],exports.ChefUiAccordionItem.prototype,"badge",void 0),e([ue({type:String})],exports.ChefUiAccordionItem.prototype,"icon",void 0),e([ue({type:String,reflect:!0})],exports.ChefUiAccordionItem.prototype,"variant",void 0),exports.ChefUiAccordionItem=e([he("chef-ui-accordion-item")],exports.ChefUiAccordionItem),exports.ChefUiCalendar=class extends ce{constructor(){super(...arguments),this.value="",this.disabledDates=[],this.highlightedDates=[],this.showToday=!0,this.showClear=!1,this.showFooter=!0,this.showLegend=!1,this.mode="single",this.weekdays=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],this.firstDayOfWeek=0,this.showMonthYearDropdowns=!0,this.currentMonth=new Date,this.today=this.formatDate(new Date)}connectedCallback(){super.connectedCallback(),this.focusDate?this.currentMonth=this.parseDate(this.focusDate):this.value&&(this.currentMonth=this.parseDate(this.value))}formatDate(e){return`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")}`}parseDate(e){const[t,i,o]=e.split("-").map(Number);return new Date(t,i-1,o)}isSameDay(e,t){return this.formatDate(e)===this.formatDate(t)}isDateDisabled(e){return!!this.disabledDates.includes(e)||(!!(this.min&&e<this.min)||(!!(this.max&&e>this.max)||!!(this.availableDates&&this.availableDates.length>0)&&!this.availableDates.includes(e)))}isDateInRange(e){return!("range"!==this.mode||!this.rangeStart||!this.rangeEnd)&&(e>this.rangeStart&&e<this.rangeEnd)}previousMonth(){this.currentMonth=new Date(this.currentMonth.getFullYear(),this.currentMonth.getMonth()-1),this.requestUpdate()}nextMonth(){this.currentMonth=new Date(this.currentMonth.getFullYear(),this.currentMonth.getMonth()+1),this.requestUpdate()}selectDate(e,t){if(!t)if("range"===this.mode)!this.rangeStart||this.rangeStart&&this.rangeEnd?(this.rangeStart=e,this.rangeEnd=void 0):(e<this.rangeStart?(this.rangeEnd=this.rangeStart,this.rangeStart=e):this.rangeEnd=e,this.dispatchEvent(new CustomEvent("chef-range-change",{detail:{rangeStart:this.rangeStart,rangeEnd:this.rangeEnd},bubbles:!0,composed:!0})));else{const t=this.value;this.value=e,this.dispatchEvent(new CustomEvent("chef-change",{detail:{value:this.value,oldValue:t,date:this.parseDate(e)},bubbles:!0,composed:!0}))}}goToToday(){this.currentMonth=new Date,"single"===this.mode&&(this.value=this.today,this.dispatchEvent(new CustomEvent("chef-change",{detail:{value:this.value,date:new Date},bubbles:!0,composed:!0})))}clearSelection(){this.value="",this.rangeStart=void 0,this.rangeEnd=void 0,this.dispatchEvent(new CustomEvent("chef-clear",{bubbles:!0,composed:!0}))}getDaysInMonth(){const e=this.currentMonth.getFullYear(),t=this.currentMonth.getMonth(),i=(new Date(e,t,1).getDay()-this.firstDayOfWeek+7)%7,o=new Date(e,t+1,0).getDate(),r=[],s=new Date(e,t,0).getDate();for(let o=i-1;o>=0;o--){const i=new Date(e,t-1,s-o);r.push({date:i,dateString:this.formatDate(i),outOfMonth:!0})}for(let i=1;i<=o;i++){const o=new Date(e,t,i);r.push({date:o,dateString:this.formatDate(o),outOfMonth:!1})}const a=42-r.length;for(let i=1;i<=a;i++){const o=new Date(e,t+1,i);r.push({date:o,dateString:this.formatDate(o),outOfMonth:!0})}return r}getMonthYearLabel(){return`${["January","February","March","April","May","June","July","August","September","October","November","December"][this.currentMonth.getMonth()]} ${this.currentMonth.getFullYear()}`}getAvailableYears(){if(this.availableYears&&this.availableYears.length>0)return this.availableYears;const e=(new Date).getFullYear(),t=this.startYear||e-10,i=this.endYear||e+10,o=[];for(let e=t;e<=i;e++)o.push(e);return o}getAvailableMonthsForDisplay(){if(this.availableMonths&&this.availableMonths.length>0)return this.availableMonths;const e=[];for(let t=0;t<12;t++)e.push(t);return e}isMonthAvailable(e,t){if(this.availableMonths&&this.availableMonths.length>0&&!this.availableMonths.includes(e))return!1;if(void 0!==this.startMonth||void 0!==this.endMonth){if(t===this.currentMonth.getFullYear()){if(void 0!==this.startMonth&&e<this.startMonth)return!1;if(void 0!==this.endMonth&&e>this.endMonth)return!1}}return!0}handleMonthChange(e){const t=e.target,i=parseInt(t.value);this.currentMonth=new Date(this.currentMonth.getFullYear(),i,1),this.requestUpdate(),this.dispatchEvent(new CustomEvent("chef-month-change",{detail:{month:i,year:this.currentMonth.getFullYear()},bubbles:!0,composed:!0}))}handleYearChange(e){const t=e.target,i=parseInt(t.value);this.currentMonth=new Date(i,this.currentMonth.getMonth(),1),this.requestUpdate(),this.dispatchEvent(new CustomEvent("chef-year-change",{detail:{year:i,month:this.currentMonth.getMonth()},bubbles:!0,composed:!0}))}getMonthNames(){return["January","February","March","April","May","June","July","August","September","October","November","December"]}getWeekdaysAdjusted(){const e=[...this.weekdays];for(let t=0;t<this.firstDayOfWeek;t++)e.push(e.shift());return e}render(){const e=this.getDaysInMonth(),t=this.getWeekdaysAdjusted(),i=this.getMonthNames(),o=this.getAvailableYears(),r=this.getAvailableMonthsForDisplay(),s=this.currentMonth.getFullYear(),a=this.currentMonth.getMonth();return Y`
690
+ `,e([fe({type:Boolean,reflect:!0})],exports.ChefUiAccordionItem.prototype,"expanded",void 0),e([fe({type:Boolean,reflect:!0})],exports.ChefUiAccordionItem.prototype,"disabled",void 0),e([fe({type:String})],exports.ChefUiAccordionItem.prototype,"title",void 0),e([fe({type:String})],exports.ChefUiAccordionItem.prototype,"subtitle",void 0),e([fe({type:String})],exports.ChefUiAccordionItem.prototype,"badge",void 0),e([fe({type:String})],exports.ChefUiAccordionItem.prototype,"icon",void 0),e([fe({type:String,reflect:!0})],exports.ChefUiAccordionItem.prototype,"variant",void 0),exports.ChefUiAccordionItem=e([de("chef-ui-accordion-item")],exports.ChefUiAccordionItem),exports.ChefUiActionButton=class extends he{constructor(){super(...arguments),this.disabled=!1,this.variant="circular",this.size="medium",this.color="default",this.ariaLabel=null}createRipple(e){const t=e.currentTarget,o=document.createElement("span");o.classList.add("ripple");const i=t.getBoundingClientRect(),r=Math.max(i.width,i.height),a=e.clientX-i.left-r/2,n=e.clientY-i.top-r/2;o.style.width=o.style.height=`${r}px`,o.style.left=`${a}px`,o.style.top=`${n}px`,t.appendChild(o),o.addEventListener("animationend",()=>{o.remove()})}handleClick(e){if(this.disabled)return e.stopImmediatePropagation(),void e.preventDefault();this.createRipple(e),this.dispatchEvent(new CustomEvent("chef-click",{bubbles:!0,composed:!0})),this.href&&(window.location.href=this.href)}render(){return Y`
691
+ <button
692
+ type="button"
693
+ ?disabled=${this.disabled}
694
+ aria-disabled=${this.disabled?"true":"false"}
695
+ aria-label=${this.ariaLabel||"action button"}
696
+ @click=${this.handleClick}
697
+ part="button"
698
+ >
699
+ <slot name="icon">
700
+ ${this.icon?Y`<chef-icon class="icon-fallback" name=${this.icon}></chef-icon>`:null}
701
+ </slot>
702
+ ${"extended"===this.variant?Y`<span class="label"><slot></slot></span>`:null}
703
+ </button>
704
+ `}},exports.ChefUiActionButton.styles=n`
705
+ :host {
706
+ display: inline-block;
707
+ position: relative;
708
+ --chefui-fab-color-primary: #1976d2;
709
+ --chefui-fab-color-secondary: #9c27b0;
710
+ --chefui-fab-color-error: #d32f2f;
711
+ --chefui-fab-color-warning: #ed6c02;
712
+ --chefui-fab-color-info: #0288d1;
713
+ --chefui-fab-color-success: #2e7d32;
714
+ --chefui-fab-color-default: #e0e0e0;
715
+ --chefui-fab-color-contrast: #ffffff;
716
+ --chefui-fab-transition: 0.3s cubic-bezier(0.4, 0, 0.2, 1);
717
+ }
718
+
719
+ button {
720
+ all: unset;
721
+ display: inline-flex;
722
+ align-items: center;
723
+ justify-content: center;
724
+ gap: 8px;
725
+ cursor: pointer;
726
+ user-select: none;
727
+ font: inherit;
728
+ font-weight: 500;
729
+ line-height: 1;
730
+ border-radius: 50%;
731
+ box-shadow: 0px 3px 5px -1px rgba(0,0,0,0.2),
732
+ 0px 6px 10px 0px rgba(0,0,0,0.14),
733
+ 0px 1px 18px 0px rgba(0,0,0,0.12);
734
+ transition: background-color var(--chefui-fab-transition),
735
+ box-shadow var(--chefui-fab-transition),
736
+ transform var(--chefui-fab-transition);
737
+ position: relative;
738
+ overflow: hidden;
739
+ }
740
+
741
+ /* Size variants */
742
+ :host(:not([size])) button,
743
+ :host([size="medium"]) button {
744
+ width: 56px;
745
+ height: 56px;
746
+ font-size: 24px;
747
+ }
748
+
749
+ :host([size="small"]) button {
750
+ width: 40px;
751
+ height: 40px;
752
+ font-size: 20px;
753
+ }
754
+
755
+ :host([size="large"]) button {
756
+ width: 64px;
757
+ height: 64px;
758
+ font-size: 28px;
759
+ }
760
+
761
+ /* Extended variant */
762
+ :host([variant="extended"]) button {
763
+ border-radius: 24px;
764
+ padding: 0 16px;
765
+ width: auto;
766
+ min-width: 48px;
767
+ }
768
+
769
+ :host([variant="extended"][size="small"]) button {
770
+ border-radius: 20px;
771
+ padding: 0 12px;
772
+ }
773
+
774
+ :host([variant="extended"][size="large"]) button {
775
+ border-radius: 28px;
776
+ padding: 0 20px;
777
+ }
778
+
779
+ /* Color variants */
780
+ :host(:not([color])) button,
781
+ :host([color="default"]) button {
782
+ background: var(--chefui-fab-color-default);
783
+ color: rgba(0, 0, 0, 0.87);
784
+ }
785
+
786
+ :host([color="primary"]) button {
787
+ background: var(--chefui-fab-color-primary);
788
+ color: var(--chefui-fab-color-contrast);
789
+ }
790
+
791
+ :host([color="secondary"]) button {
792
+ background: var(--chefui-fab-color-secondary);
793
+ color: var(--chefui-fab-color-contrast);
794
+ }
795
+
796
+ :host([color="error"]) button {
797
+ background: var(--chefui-fab-color-error);
798
+ color: var(--chefui-fab-color-contrast);
799
+ }
800
+
801
+ :host([color="warning"]) button {
802
+ background: var(--chefui-fab-color-warning);
803
+ color: var(--chefui-fab-color-contrast);
804
+ }
805
+
806
+ :host([color="info"]) button {
807
+ background: var(--chefui-fab-color-info);
808
+ color: var(--chefui-fab-color-contrast);
809
+ }
810
+
811
+ :host([color="success"]) button {
812
+ background: var(--chefui-fab-color-success);
813
+ color: var(--chefui-fab-color-contrast);
814
+ }
815
+
816
+ /* Hover effects */
817
+ button:hover {
818
+ box-shadow: 0px 5px 5px -3px rgba(0,0,0,0.2),
819
+ 0px 8px 10px 1px rgba(0,0,0,0.14),
820
+ 0px 3px 14px 2px rgba(0,0,0,0.12);
821
+ }
822
+
823
+ :host([color="default"]) button:hover {
824
+ background: #d5d5d5;
825
+ }
826
+
827
+ :host([color="primary"]) button:hover {
828
+ background: #1565c0;
829
+ }
830
+
831
+ :host([color="secondary"]) button:hover {
832
+ background: #7b1fa2;
833
+ }
834
+
835
+ :host([color="error"]) button:hover {
836
+ background: #c62828;
837
+ }
838
+
839
+ :host([color="warning"]) button:hover {
840
+ background: #e65100;
841
+ }
842
+
843
+ :host([color="info"]) button:hover {
844
+ background: #01579b;
845
+ }
846
+
847
+ :host([color="success"]) button:hover {
848
+ background: #1b5e20;
849
+ }
850
+
851
+ /* Active state */
852
+ button:active {
853
+ box-shadow: 0px 7px 8px -4px rgba(0,0,0,0.2),
854
+ 0px 12px 17px 2px rgba(0,0,0,0.14),
855
+ 0px 5px 22px 4px rgba(0,0,0,0.12);
856
+ transform: scale(0.96);
857
+ }
858
+
859
+ /* Focus state */
860
+ button:focus-visible {
861
+ outline: 3px solid;
862
+ outline-offset: 2px;
863
+ }
864
+
865
+ :host([color="primary"]) button:focus-visible {
866
+ outline-color: rgba(25, 118, 210, 0.5);
867
+ }
868
+
869
+ :host([color="secondary"]) button:focus-visible {
870
+ outline-color: rgba(156, 39, 176, 0.5);
871
+ }
872
+
873
+ :host([color="error"]) button:focus-visible {
874
+ outline-color: rgba(211, 47, 47, 0.5);
875
+ }
876
+
877
+ :host([color="warning"]) button:focus-visible {
878
+ outline-color: rgba(237, 108, 2, 0.5);
879
+ }
880
+
881
+ :host([color="info"]) button:focus-visible {
882
+ outline-color: rgba(2, 136, 209, 0.5);
883
+ }
884
+
885
+ :host([color="success"]) button:focus-visible {
886
+ outline-color: rgba(46, 125, 50, 0.5);
887
+ }
888
+
889
+ /* Disabled state */
890
+ :host([disabled]) button,
891
+ button:disabled {
892
+ opacity: 0.38;
893
+ cursor: not-allowed;
894
+ box-shadow: 0px 2px 1px -1px rgba(0,0,0,0.2),
895
+ 0px 1px 1px 0px rgba(0,0,0,0.14),
896
+ 0px 1px 3px 0px rgba(0,0,0,0.12);
897
+ transform: none;
898
+ pointer-events: none;
899
+ }
900
+
901
+ ::slotted([slot="icon"]) {
902
+ width: 1em;
903
+ height: 1em;
904
+ display: inline-flex;
905
+ }
906
+
907
+ .icon-fallback {
908
+ width: 1em;
909
+ height: 1em;
910
+ display: inline-flex;
911
+ }
912
+
913
+ /* Label for extended variant */
914
+ .label {
915
+ margin-left: 8px;
916
+ }
917
+
918
+ /* Ripple effect */
919
+ .ripple {
920
+ position: absolute;
921
+ border-radius: 50%;
922
+ background: rgba(255, 255, 255, 0.5);
923
+ transform: scale(0);
924
+ animation: ripple-animation 600ms ease-out;
925
+ pointer-events: none;
926
+ }
927
+
928
+ @keyframes ripple-animation {
929
+ to {
930
+ transform: scale(4);
931
+ opacity: 0;
932
+ }
933
+ }
934
+ `,e([fe({type:Boolean,reflect:!0})],exports.ChefUiActionButton.prototype,"disabled",void 0),e([fe({type:String,reflect:!0})],exports.ChefUiActionButton.prototype,"variant",void 0),e([fe({type:String,reflect:!0})],exports.ChefUiActionButton.prototype,"size",void 0),e([fe({type:String,reflect:!0})],exports.ChefUiActionButton.prototype,"color",void 0),e([fe({type:String,reflect:!0})],exports.ChefUiActionButton.prototype,"icon",void 0),e([fe({type:String})],exports.ChefUiActionButton.prototype,"href",void 0),e([fe({type:String,attribute:"aria-label"})],exports.ChefUiActionButton.prototype,"ariaLabel",void 0),exports.ChefUiActionButton=e([de("chef-ui-action-button")],exports.ChefUiActionButton),exports.ChefUiCalendar=class extends he{constructor(){super(...arguments),this.value="",this.disabledDates=[],this.highlightedDates=[],this.showToday=!0,this.showClear=!1,this.showFooter=!0,this.showLegend=!1,this.mode="single",this.weekdays=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],this.firstDayOfWeek=0,this.showMonthYearDropdowns=!0,this.currentMonth=new Date,this.today=this.formatDate(new Date)}connectedCallback(){super.connectedCallback(),this.focusDate?this.currentMonth=this.parseDate(this.focusDate):this.value&&(this.currentMonth=this.parseDate(this.value))}formatDate(e){return`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")}`}parseDate(e){const[t,o,i]=e.split("-").map(Number);return new Date(t,o-1,i)}isSameDay(e,t){return this.formatDate(e)===this.formatDate(t)}isDateDisabled(e){return!!this.disabledDates.includes(e)||(!!(this.min&&e<this.min)||(!!(this.max&&e>this.max)||!!(this.availableDates&&this.availableDates.length>0)&&!this.availableDates.includes(e)))}isDateInRange(e){return!("range"!==this.mode||!this.rangeStart||!this.rangeEnd)&&(e>this.rangeStart&&e<this.rangeEnd)}previousMonth(){this.currentMonth=new Date(this.currentMonth.getFullYear(),this.currentMonth.getMonth()-1),this.requestUpdate()}nextMonth(){this.currentMonth=new Date(this.currentMonth.getFullYear(),this.currentMonth.getMonth()+1),this.requestUpdate()}selectDate(e,t){if(!t)if("range"===this.mode)!this.rangeStart||this.rangeStart&&this.rangeEnd?(this.rangeStart=e,this.rangeEnd=void 0):(e<this.rangeStart?(this.rangeEnd=this.rangeStart,this.rangeStart=e):this.rangeEnd=e,this.dispatchEvent(new CustomEvent("chef-range-change",{detail:{rangeStart:this.rangeStart,rangeEnd:this.rangeEnd},bubbles:!0,composed:!0})));else{const t=this.value;this.value=e,this.dispatchEvent(new CustomEvent("chef-change",{detail:{value:this.value,oldValue:t,date:this.parseDate(e)},bubbles:!0,composed:!0}))}}goToToday(){this.currentMonth=new Date,"single"===this.mode&&(this.value=this.today,this.dispatchEvent(new CustomEvent("chef-change",{detail:{value:this.value,date:new Date},bubbles:!0,composed:!0})))}clearSelection(){this.value="",this.rangeStart=void 0,this.rangeEnd=void 0,this.dispatchEvent(new CustomEvent("chef-clear",{bubbles:!0,composed:!0}))}getDaysInMonth(){const e=this.currentMonth.getFullYear(),t=this.currentMonth.getMonth(),o=(new Date(e,t,1).getDay()-this.firstDayOfWeek+7)%7,i=new Date(e,t+1,0).getDate(),r=[],a=new Date(e,t,0).getDate();for(let i=o-1;i>=0;i--){const o=new Date(e,t-1,a-i);r.push({date:o,dateString:this.formatDate(o),outOfMonth:!0})}for(let o=1;o<=i;o++){const i=new Date(e,t,o);r.push({date:i,dateString:this.formatDate(i),outOfMonth:!1})}const n=42-r.length;for(let o=1;o<=n;o++){const i=new Date(e,t+1,o);r.push({date:i,dateString:this.formatDate(i),outOfMonth:!0})}return r}getMonthYearLabel(){return`${["January","February","March","April","May","June","July","August","September","October","November","December"][this.currentMonth.getMonth()]} ${this.currentMonth.getFullYear()}`}getAvailableYears(){if(this.availableYears&&this.availableYears.length>0)return this.availableYears;const e=(new Date).getFullYear(),t=this.startYear||e-10,o=this.endYear||e+10,i=[];for(let e=t;e<=o;e++)i.push(e);return i}getAvailableMonthsForDisplay(){if(this.availableMonths&&this.availableMonths.length>0)return this.availableMonths;const e=[];for(let t=0;t<12;t++)e.push(t);return e}isMonthAvailable(e,t){if(this.availableMonths&&this.availableMonths.length>0&&!this.availableMonths.includes(e))return!1;if(void 0!==this.startMonth||void 0!==this.endMonth){if(t===this.currentMonth.getFullYear()){if(void 0!==this.startMonth&&e<this.startMonth)return!1;if(void 0!==this.endMonth&&e>this.endMonth)return!1}}return!0}handleMonthChange(e){const t=e.target,o=parseInt(t.value);this.currentMonth=new Date(this.currentMonth.getFullYear(),o,1),this.requestUpdate(),this.dispatchEvent(new CustomEvent("chef-month-change",{detail:{month:o,year:this.currentMonth.getFullYear()},bubbles:!0,composed:!0}))}handleYearChange(e){const t=e.target,o=parseInt(t.value);this.currentMonth=new Date(o,this.currentMonth.getMonth(),1),this.requestUpdate(),this.dispatchEvent(new CustomEvent("chef-year-change",{detail:{year:o,month:this.currentMonth.getMonth()},bubbles:!0,composed:!0}))}getMonthNames(){return["January","February","March","April","May","June","July","August","September","October","November","December"]}getWeekdaysAdjusted(){const e=[...this.weekdays];for(let t=0;t<this.firstDayOfWeek;t++)e.push(e.shift());return e}render(){const e=this.getDaysInMonth(),t=this.getWeekdaysAdjusted(),o=this.getMonthNames(),i=this.getAvailableYears(),r=this.getAvailableMonthsForDisplay(),a=this.currentMonth.getFullYear(),n=this.currentMonth.getMonth();return Y`
691
935
  <div class="calendar-container" role="application" aria-label="Calendar">
692
936
  <div class="header">
693
937
  <button
@@ -704,17 +948,17 @@ function ve(e,t){return(t,i,o)=>((e,t,i)=>(i.configurable=!0,i.enumerable=!0,Ref
704
948
  <select
705
949
  class="month-select"
706
950
  @change=${this.handleMonthChange}
707
- .value=${a.toString()}
951
+ .value=${n.toString()}
708
952
  aria-label="Select month"
709
953
  part="month-select"
710
954
  >
711
955
  ${r.map(e=>Y`
712
956
  <option
713
957
  value=${e}
714
- ?selected=${e===a}
715
- ?disabled=${!this.isMonthAvailable(e,s)}
958
+ ?selected=${e===n}
959
+ ?disabled=${!this.isMonthAvailable(e,a)}
716
960
  >
717
- ${i[e]}
961
+ ${o[e]}
718
962
  </option>
719
963
  `)}
720
964
  </select>
@@ -722,12 +966,12 @@ function ve(e,t){return(t,i,o)=>((e,t,i)=>(i.configurable=!0,i.enumerable=!0,Ref
722
966
  <select
723
967
  class="year-select"
724
968
  @change=${this.handleYearChange}
725
- .value=${s.toString()}
969
+ .value=${a.toString()}
726
970
  aria-label="Select year"
727
971
  part="year-select"
728
972
  >
729
- ${o.map(e=>Y`
730
- <option value=${e} ?selected=${e===s}>
973
+ ${i.map(e=>Y`
974
+ <option value=${e} ?selected=${e===a}>
731
975
  ${e}
732
976
  </option>
733
977
  `)}
@@ -754,18 +998,18 @@ function ve(e,t){return(t,i,o)=>((e,t,i)=>(i.configurable=!0,i.enumerable=!0,Ref
754
998
  </div>
755
999
 
756
1000
  <div class="days" role="grid">
757
- ${e.map(({date:e,dateString:t,outOfMonth:i})=>{const o=t===this.today,r=t===this.value,s=this.isDateDisabled(t),a=this.availableDates?.includes(t),n=this.highlightedDates.includes(t),c=t===this.focusDate,l=this.isDateInRange(t),h=t===this.rangeStart,d=t===this.rangeEnd,p=["day",i&&"out-of-month",o&&"today",r&&"selected",s&&"disabled",a&&"available",c&&"focused",l&&"in-range",h&&"range-start",d&&"range-end"].filter(Boolean).join(" ");return Y`
1001
+ ${e.map(({date:e,dateString:t,outOfMonth:o})=>{const i=t===this.today,r=t===this.value,a=this.isDateDisabled(t),n=this.availableDates?.includes(t),s=this.highlightedDates.includes(t),c=t===this.focusDate,h=this.isDateInRange(t),l=t===this.rangeStart,d=t===this.rangeEnd,p=["day",o&&"out-of-month",i&&"today",r&&"selected",a&&"disabled",n&&"available",c&&"focused",h&&"in-range",l&&"range-start",d&&"range-end"].filter(Boolean).join(" ");return Y`
758
1002
  <button
759
1003
  class=${p}
760
- @click=${()=>this.selectDate(t,s)}
1004
+ @click=${()=>this.selectDate(t,a)}
761
1005
  aria-label=${`${e.getDate()} ${this.getMonthYearLabel()}`}
762
1006
  aria-selected=${r}
763
- aria-disabled=${s}
1007
+ aria-disabled=${a}
764
1008
  role="gridcell"
765
1009
  part="day"
766
1010
  >
767
1011
  ${e.getDate()}
768
- ${n?Y`<span class="day-indicator"></span>`:null}
1012
+ ${s?Y`<span class="day-indicator"></span>`:null}
769
1013
  </button>
770
1014
  `})}
771
1015
  </div>
@@ -804,7 +1048,7 @@ function ve(e,t){return(t,i,o)=>((e,t,i)=>(i.configurable=!0,i.enumerable=!0,Ref
804
1048
  </div>
805
1049
  `:null}
806
1050
  </div>
807
- `}},exports.ChefUiCalendar.styles=a`
1051
+ `}},exports.ChefUiCalendar.styles=n`
808
1052
  :host {
809
1053
  display: block;
810
1054
  --chefui-calendar-bg: #1e293b;
@@ -1053,5 +1297,454 @@ function ve(e,t){return(t,i,o)=>((e,t,i)=>(i.configurable=!0,i.enumerable=!0,Ref
1053
1297
  border-radius: 4px;
1054
1298
  border: 2px solid transparent;
1055
1299
  }
1056
- `,e([ue({type:String})],exports.ChefUiCalendar.prototype,"value",void 0),e([ue({type:String})],exports.ChefUiCalendar.prototype,"min",void 0),e([ue({type:String})],exports.ChefUiCalendar.prototype,"max",void 0),e([ue({type:Array})],exports.ChefUiCalendar.prototype,"disabledDates",void 0),e([ue({type:Array})],exports.ChefUiCalendar.prototype,"availableDates",void 0),e([ue({type:Array})],exports.ChefUiCalendar.prototype,"highlightedDates",void 0),e([ue({type:String})],exports.ChefUiCalendar.prototype,"focusDate",void 0),e([ue({type:Boolean})],exports.ChefUiCalendar.prototype,"showToday",void 0),e([ue({type:Boolean})],exports.ChefUiCalendar.prototype,"showClear",void 0),e([ue({type:Boolean})],exports.ChefUiCalendar.prototype,"showFooter",void 0),e([ue({type:Boolean})],exports.ChefUiCalendar.prototype,"showLegend",void 0),e([ue({type:String})],exports.ChefUiCalendar.prototype,"mode",void 0),e([ue({type:String})],exports.ChefUiCalendar.prototype,"rangeStart",void 0),e([ue({type:String})],exports.ChefUiCalendar.prototype,"rangeEnd",void 0),e([ue({type:Array})],exports.ChefUiCalendar.prototype,"weekdays",void 0),e([ue({type:Number})],exports.ChefUiCalendar.prototype,"firstDayOfWeek",void 0),e([ue({type:Number})],exports.ChefUiCalendar.prototype,"startYear",void 0),e([ue({type:Number})],exports.ChefUiCalendar.prototype,"endYear",void 0),e([ue({type:Number})],exports.ChefUiCalendar.prototype,"startMonth",void 0),e([ue({type:Number})],exports.ChefUiCalendar.prototype,"endMonth",void 0),e([ue({type:Array})],exports.ChefUiCalendar.prototype,"availableMonths",void 0),e([ue({type:Array})],exports.ChefUiCalendar.prototype,"availableYears",void 0),e([ue({type:Boolean})],exports.ChefUiCalendar.prototype,"showMonthYearDropdowns",void 0),e([fe()],exports.ChefUiCalendar.prototype,"currentMonth",void 0),e([fe()],exports.ChefUiCalendar.prototype,"today",void 0),exports.ChefUiCalendar=e([he("chef-ui-calendar")],exports.ChefUiCalendar),exports.IconResolver=ge,exports.iconResolver=be;
1300
+ `,e([fe({type:String})],exports.ChefUiCalendar.prototype,"value",void 0),e([fe({type:String})],exports.ChefUiCalendar.prototype,"min",void 0),e([fe({type:String})],exports.ChefUiCalendar.prototype,"max",void 0),e([fe({type:Array})],exports.ChefUiCalendar.prototype,"disabledDates",void 0),e([fe({type:Array})],exports.ChefUiCalendar.prototype,"availableDates",void 0),e([fe({type:Array})],exports.ChefUiCalendar.prototype,"highlightedDates",void 0),e([fe({type:String})],exports.ChefUiCalendar.prototype,"focusDate",void 0),e([fe({type:Boolean})],exports.ChefUiCalendar.prototype,"showToday",void 0),e([fe({type:Boolean})],exports.ChefUiCalendar.prototype,"showClear",void 0),e([fe({type:Boolean})],exports.ChefUiCalendar.prototype,"showFooter",void 0),e([fe({type:Boolean})],exports.ChefUiCalendar.prototype,"showLegend",void 0),e([fe({type:String})],exports.ChefUiCalendar.prototype,"mode",void 0),e([fe({type:String})],exports.ChefUiCalendar.prototype,"rangeStart",void 0),e([fe({type:String})],exports.ChefUiCalendar.prototype,"rangeEnd",void 0),e([fe({type:Array})],exports.ChefUiCalendar.prototype,"weekdays",void 0),e([fe({type:Number})],exports.ChefUiCalendar.prototype,"firstDayOfWeek",void 0),e([fe({type:Number})],exports.ChefUiCalendar.prototype,"startYear",void 0),e([fe({type:Number})],exports.ChefUiCalendar.prototype,"endYear",void 0),e([fe({type:Number})],exports.ChefUiCalendar.prototype,"startMonth",void 0),e([fe({type:Number})],exports.ChefUiCalendar.prototype,"endMonth",void 0),e([fe({type:Array})],exports.ChefUiCalendar.prototype,"availableMonths",void 0),e([fe({type:Array})],exports.ChefUiCalendar.prototype,"availableYears",void 0),e([fe({type:Boolean})],exports.ChefUiCalendar.prototype,"showMonthYearDropdowns",void 0),e([be()],exports.ChefUiCalendar.prototype,"currentMonth",void 0),e([be()],exports.ChefUiCalendar.prototype,"today",void 0),exports.ChefUiCalendar=e([de("chef-ui-calendar")],exports.ChefUiCalendar),exports.ChefUiCheckbox=class extends he{constructor(){super(...arguments),this.checked=!1,this.indeterminate=!1,this.disabled=!1,this.required=!1,this.error=!1,this.value="on",this.size="medium",this.color="primary",this.labelPlacement="end",this.iconOnly=!1}updated(e){e.has("checkboxType")&&this.checkboxType&&(this.iconOnly=!0)}handleChange(e){if(this.disabled)return void e.preventDefault();const t=e.target,o=this.checked;this.indeterminate?(this.indeterminate=!1,this.checked=!0):this.checked=t.checked,this.dispatchEvent(new CustomEvent("chef-change",{detail:{checked:this.checked,indeterminate:this.indeterminate,value:this.value,oldValue:o},bubbles:!0,composed:!0})),this.dispatchEvent(new Event("change",{bubbles:!0,composed:!0}))}handleClick(e){e.target.classList.contains("label")&&e.preventDefault()}getIcon(){return this.indeterminate?this.indeterminateIcon||"minus":this.checkboxType?this.checkboxType:this.iconOnly&&this.checkedIcon?this.checkedIcon:this.checked?this.checkedIcon||"check":this.uncheckedIcon||""}render(){const e=this.getIcon(),t=(this.iconOnly||!!this.checkboxType)&&this.checked?"solid":"outline";return Y`
1301
+ <label class="checkbox-wrapper" @click=${this.handleClick} part="wrapper">
1302
+ <div class="checkbox-container" part="container">
1303
+ <input
1304
+ type="checkbox"
1305
+ class="checkbox-input"
1306
+ .checked=${this.checked&&!this.indeterminate}
1307
+ .indeterminate=${this.indeterminate}
1308
+ ?disabled=${this.disabled}
1309
+ ?required=${this.required}
1310
+ name=${this.name||""}
1311
+ value=${this.value}
1312
+ @change=${this.handleChange}
1313
+ aria-checked=${this.indeterminate?"mixed":this.checked?"true":"false"}
1314
+ aria-disabled=${this.disabled}
1315
+ part="input"
1316
+ />
1317
+ <div class="checkbox-box" part="box">
1318
+ ${e?Y`
1319
+ <chef-icon class="checkbox-icon" name=${e} styleVariant=${t}></chef-icon>
1320
+ `:null}
1321
+ <slot name="icon"></slot>
1322
+ </div>
1323
+ </div>
1324
+
1325
+ ${this.label?Y`
1326
+ <span class="label" part="label">
1327
+ <slot>${this.label}</slot>
1328
+ </span>
1329
+ `:Y`
1330
+ <span class="label" part="label">
1331
+ <slot></slot>
1332
+ </span>
1333
+ `}
1334
+ </label>
1335
+
1336
+ ${this.helperText?Y`
1337
+ <span class="helper-text" part="helper-text">${this.helperText}</span>
1338
+ `:null}
1339
+ `}},exports.ChefUiCheckbox.styles=n`
1340
+ :host {
1341
+ display: inline-flex;
1342
+ --chefui-checkbox-size: 20px;
1343
+ --chefui-checkbox-border: #64748b;
1344
+ --chefui-checkbox-bg: transparent;
1345
+ --chefui-checkbox-checked-bg: #7c3aed;
1346
+ --chefui-checkbox-checked-border: #7c3aed;
1347
+ --chefui-checkbox-hover: rgba(124, 58, 237, 0.08);
1348
+ --chefui-checkbox-focus-ring: 0 0 0 3px rgba(124, 58, 237, 0.2);
1349
+ --chefui-checkbox-disabled-opacity: 0.5;
1350
+ --chefui-checkbox-text: #e2e8f0;
1351
+ --chefui-checkbox-radius: 4px;
1352
+ --chefui-checkbox-transition: 180ms cubic-bezier(0.4, 0, 0.2, 1);
1353
+ }
1354
+
1355
+ .checkbox-wrapper {
1356
+ display: inline-flex;
1357
+ align-items: flex-start;
1358
+ gap: 8px;
1359
+ cursor: pointer;
1360
+ user-select: none;
1361
+ position: relative;
1362
+ }
1363
+
1364
+ :host([disabled]) .checkbox-wrapper {
1365
+ cursor: not-allowed;
1366
+ opacity: var(--chefui-checkbox-disabled-opacity);
1367
+ }
1368
+
1369
+ .checkbox-container {
1370
+ position: relative;
1371
+ display: inline-flex;
1372
+ align-items: center;
1373
+ justify-content: center;
1374
+ width: var(--chefui-checkbox-size);
1375
+ height: var(--chefui-checkbox-size);
1376
+ flex-shrink: 0;
1377
+ }
1378
+
1379
+ .checkbox-input {
1380
+ position: absolute;
1381
+ opacity: 0;
1382
+ width: 100%;
1383
+ height: 100%;
1384
+ margin: 0;
1385
+ cursor: pointer;
1386
+ z-index: 1;
1387
+ }
1388
+
1389
+ :host([disabled]) .checkbox-input {
1390
+ cursor: not-allowed;
1391
+ }
1392
+
1393
+ .checkbox-box {
1394
+ width: 100%;
1395
+ height: 100%;
1396
+ border: 2px solid var(--chefui-checkbox-border);
1397
+ border-radius: var(--chefui-checkbox-radius);
1398
+ background: var(--chefui-checkbox-bg);
1399
+ display: flex;
1400
+ align-items: center;
1401
+ justify-content: center;
1402
+ transition: all var(--chefui-checkbox-transition);
1403
+ position: relative;
1404
+ }
1405
+
1406
+ .checkbox-input:hover ~ .checkbox-box {
1407
+ background: var(--chefui-checkbox-hover);
1408
+ }
1409
+
1410
+ .checkbox-input:focus-visible ~ .checkbox-box {
1411
+ box-shadow: var(--chefui-checkbox-focus-ring);
1412
+ }
1413
+
1414
+ :host([checked]) .checkbox-box,
1415
+ :host([indeterminate]) .checkbox-box {
1416
+ background: var(--chefui-checkbox-checked-bg);
1417
+ border-color: var(--chefui-checkbox-checked-border);
1418
+ }
1419
+
1420
+ .checkbox-icon {
1421
+ width: 14px;
1422
+ height: 14px;
1423
+ color: white;
1424
+ opacity: 0;
1425
+ transform: scale(0.5);
1426
+ transition: all var(--chefui-checkbox-transition);
1427
+ }
1428
+
1429
+ :host([checked]) .checkbox-icon,
1430
+ :host([indeterminate]) .checkbox-icon {
1431
+ opacity: 1;
1432
+ transform: scale(1);
1433
+ }
1434
+
1435
+ .label {
1436
+ color: var(--chefui-checkbox-text);
1437
+ font-size: 14px;
1438
+ line-height: 20px;
1439
+ display: flex;
1440
+ align-items: center;
1441
+ }
1442
+
1443
+ /* Size variants */
1444
+ :host([size="small"]) {
1445
+ --chefui-checkbox-size: 16px;
1446
+ }
1447
+
1448
+ :host([size="small"]) .checkbox-icon {
1449
+ width: 11px;
1450
+ height: 11px;
1451
+ }
1452
+
1453
+ :host([size="small"]) .label {
1454
+ font-size: 13px;
1455
+ }
1456
+
1457
+ :host([size="large"]) {
1458
+ --chefui-checkbox-size: 24px;
1459
+ }
1460
+
1461
+ :host([size="large"]) .checkbox-icon {
1462
+ width: 16px;
1463
+ height: 16px;
1464
+ }
1465
+
1466
+ :host([size="large"]) .label {
1467
+ font-size: 15px;
1468
+ }
1469
+
1470
+ /* Color variants */
1471
+ :host([color="primary"]) {
1472
+ --chefui-checkbox-checked-bg: #7c3aed;
1473
+ --chefui-checkbox-checked-border: #7c3aed;
1474
+ --chefui-checkbox-hover: rgba(124, 58, 237, 0.08);
1475
+ --chefui-checkbox-focus-ring: 0 0 0 3px rgba(124, 58, 237, 0.2);
1476
+ }
1477
+
1478
+ :host([color="secondary"]) {
1479
+ --chefui-checkbox-checked-bg: #ec4899;
1480
+ --chefui-checkbox-checked-border: #ec4899;
1481
+ --chefui-checkbox-hover: rgba(236, 72, 153, 0.08);
1482
+ --chefui-checkbox-focus-ring: 0 0 0 3px rgba(236, 72, 153, 0.2);
1483
+ }
1484
+
1485
+ :host([color="success"]) {
1486
+ --chefui-checkbox-checked-bg: #10b981;
1487
+ --chefui-checkbox-checked-border: #10b981;
1488
+ --chefui-checkbox-hover: rgba(16, 185, 129, 0.08);
1489
+ --chefui-checkbox-focus-ring: 0 0 0 3px rgba(16, 185, 129, 0.2);
1490
+ }
1491
+
1492
+ :host([color="error"]) {
1493
+ --chefui-checkbox-checked-bg: #ef4444;
1494
+ --chefui-checkbox-checked-border: #ef4444;
1495
+ --chefui-checkbox-hover: rgba(239, 68, 68, 0.08);
1496
+ --chefui-checkbox-focus-ring: 0 0 0 3px rgba(239, 68, 68, 0.2);
1497
+ }
1498
+
1499
+ :host([color="warning"]) {
1500
+ --chefui-checkbox-checked-bg: #f59e0b;
1501
+ --chefui-checkbox-checked-border: #f59e0b;
1502
+ --chefui-checkbox-hover: rgba(245, 158, 11, 0.08);
1503
+ --chefui-checkbox-focus-ring: 0 0 0 3px rgba(245, 158, 11, 0.2);
1504
+ }
1505
+
1506
+ :host([color="info"]) {
1507
+ --chefui-checkbox-checked-bg: #3b82f6;
1508
+ --chefui-checkbox-checked-border: #3b82f6;
1509
+ --chefui-checkbox-hover: rgba(59, 130, 246, 0.08);
1510
+ --chefui-checkbox-focus-ring: 0 0 0 3px rgba(59, 130, 246, 0.2);
1511
+ }
1512
+
1513
+ /* Error state */
1514
+ :host([error]) .checkbox-box {
1515
+ border-color: #ef4444;
1516
+ }
1517
+
1518
+ .helper-text {
1519
+ display: block;
1520
+ font-size: 12px;
1521
+ color: var(--chefui-checkbox-text);
1522
+ opacity: 0.7;
1523
+ margin-top: 4px;
1524
+ margin-left: calc(var(--chefui-checkbox-size) + 8px);
1525
+ }
1526
+
1527
+ :host([error]) .helper-text {
1528
+ color: #ef4444;
1529
+ opacity: 1;
1530
+ }
1531
+
1532
+ /* Label position */
1533
+ :host([label-placement="start"]) .checkbox-wrapper {
1534
+ flex-direction: row-reverse;
1535
+ }
1536
+
1537
+ :host([label-placement="top"]) .checkbox-wrapper {
1538
+ flex-direction: column-reverse;
1539
+ align-items: flex-start;
1540
+ }
1541
+
1542
+ :host([label-placement="bottom"]) .checkbox-wrapper {
1543
+ flex-direction: column;
1544
+ align-items: flex-start;
1545
+ }
1546
+
1547
+ /* Custom icon support */
1548
+ .checkbox-custom-icon {
1549
+ width: 100%;
1550
+ height: 100%;
1551
+ display: flex;
1552
+ align-items: center;
1553
+ justify-content: center;
1554
+ }
1555
+
1556
+ /* Icon-only mode */
1557
+ :host([icon-only]) .checkbox-box {
1558
+ border: none;
1559
+ background: transparent !important;
1560
+ }
1561
+
1562
+ :host([icon-only]) .checkbox-container {
1563
+ width: auto;
1564
+ height: auto;
1565
+ }
1566
+
1567
+ :host([icon-only]) .checkbox-icon {
1568
+ width: 24px;
1569
+ height: 24px;
1570
+ opacity: 1;
1571
+ transform: scale(1);
1572
+ color: #64748b;
1573
+ transition: color var(--chefui-checkbox-transition), transform var(--chefui-checkbox-transition);
1574
+ }
1575
+
1576
+ :host([icon-only][checked]) .checkbox-icon {
1577
+ color: var(--chefui-checkbox-checked-bg);
1578
+ transform: scale(1.1);
1579
+ }
1580
+
1581
+ :host([icon-only]) .checkbox-input:hover ~ .checkbox-box .checkbox-icon {
1582
+ transform: scale(1.15);
1583
+ }
1584
+
1585
+ :host([icon-only]) .checkbox-box::before {
1586
+ display: none;
1587
+ }
1588
+
1589
+ :host([icon-only]) .label {
1590
+ display: none;
1591
+ }
1592
+ `,e([fe({type:Boolean,reflect:!0})],exports.ChefUiCheckbox.prototype,"checked",void 0),e([fe({type:Boolean,reflect:!0})],exports.ChefUiCheckbox.prototype,"indeterminate",void 0),e([fe({type:Boolean,reflect:!0})],exports.ChefUiCheckbox.prototype,"disabled",void 0),e([fe({type:Boolean,reflect:!0})],exports.ChefUiCheckbox.prototype,"required",void 0),e([fe({type:Boolean,reflect:!0})],exports.ChefUiCheckbox.prototype,"error",void 0),e([fe({type:String})],exports.ChefUiCheckbox.prototype,"name",void 0),e([fe({type:String})],exports.ChefUiCheckbox.prototype,"value",void 0),e([fe({type:String,reflect:!0})],exports.ChefUiCheckbox.prototype,"size",void 0),e([fe({type:String,reflect:!0})],exports.ChefUiCheckbox.prototype,"color",void 0),e([fe({type:String})],exports.ChefUiCheckbox.prototype,"label",void 0),e([fe({type:String})],exports.ChefUiCheckbox.prototype,"helperText",void 0),e([fe({type:String,reflect:!0,attribute:"label-placement"})],exports.ChefUiCheckbox.prototype,"labelPlacement",void 0),e([fe({type:String})],exports.ChefUiCheckbox.prototype,"checkedIcon",void 0),e([fe({type:String})],exports.ChefUiCheckbox.prototype,"uncheckedIcon",void 0),e([fe({type:String})],exports.ChefUiCheckbox.prototype,"indeterminateIcon",void 0),e([fe({type:Boolean,reflect:!0,attribute:"icon-only"})],exports.ChefUiCheckbox.prototype,"iconOnly",void 0),e([fe({type:String,reflect:!0,attribute:"checkbox-type"})],exports.ChefUiCheckbox.prototype,"checkboxType",void 0),exports.ChefUiCheckbox=e([de("chef-ui-checkbox")],exports.ChefUiCheckbox),exports.ChefUiReaction=class extends he{constructor(){super(...arguments),this.active=!1,this.disabled=!1,this.count=0,this.showCount=!0,this.type="like",this.size="medium",this.variant="outlined",this.value="on"}getIcon(){return{like:"heart","thumbs-up":"thumbs-up",star:"star",bookmark:"bookmark"}[this.type]}handleClick(){if(this.disabled)return;const e=this.active,t=this.count;this.active=!this.active,this.showCount&&(this.count=this.active?t+1:Math.max(0,t-1)),this.dispatchEvent(new CustomEvent("chef-reaction-change",{detail:{active:this.active,count:this.count,type:this.type,oldActive:e,oldCount:t},bubbles:!0,composed:!0})),this.dispatchEvent(new Event("change",{bubbles:!0,composed:!0}))}render(){const e=this.getIcon();return Y`
1593
+ <div class="reaction-wrapper" @click=${this.handleClick} part="wrapper">
1594
+ <button
1595
+ class="reaction-button"
1596
+ type="button"
1597
+ ?disabled=${this.disabled}
1598
+ aria-pressed=${this.active}
1599
+ aria-label="${this.type} button"
1600
+ part="button"
1601
+ >
1602
+ <chef-icon class="reaction-icon" name=${e}></chef-icon>
1603
+ </button>
1604
+
1605
+ ${this.showCount?Y`
1606
+ <span class="reaction-count" part="count">
1607
+ ${this.count>0?this.count:""}
1608
+ </span>
1609
+ `:null}
1610
+ </div>
1611
+ `}},exports.ChefUiReaction.styles=n`
1612
+ :host {
1613
+ display: inline-flex;
1614
+ --chefui-reaction-size: 40px;
1615
+ --chefui-reaction-icon-size: 20px;
1616
+ --chefui-reaction-color: #64748b;
1617
+ --chefui-reaction-active-color: #ef4444;
1618
+ --chefui-reaction-bg: transparent;
1619
+ --chefui-reaction-hover-bg: rgba(239, 68, 68, 0.1);
1620
+ --chefui-reaction-active-bg: rgba(239, 68, 68, 0.15);
1621
+ --chefui-reaction-transition: 150ms cubic-bezier(0.4, 0, 0.2, 1);
1622
+ }
1623
+
1624
+ .reaction-wrapper {
1625
+ display: inline-flex;
1626
+ align-items: center;
1627
+ gap: 6px;
1628
+ cursor: pointer;
1629
+ user-select: none;
1630
+ }
1631
+
1632
+ :host([disabled]) .reaction-wrapper {
1633
+ cursor: not-allowed;
1634
+ opacity: 0.5;
1635
+ }
1636
+
1637
+ .reaction-button {
1638
+ all: unset;
1639
+ width: var(--chefui-reaction-size);
1640
+ height: var(--chefui-reaction-size);
1641
+ display: inline-flex;
1642
+ align-items: center;
1643
+ justify-content: center;
1644
+ border-radius: 50%;
1645
+ background: var(--chefui-reaction-bg);
1646
+ cursor: pointer;
1647
+ transition: all var(--chefui-reaction-transition);
1648
+ position: relative;
1649
+ }
1650
+
1651
+ .reaction-button:hover {
1652
+ background: var(--chefui-reaction-hover-bg);
1653
+ transform: scale(1.1);
1654
+ }
1655
+
1656
+ .reaction-button:active {
1657
+ transform: scale(0.95);
1658
+ }
1659
+
1660
+ :host([disabled]) .reaction-button {
1661
+ cursor: not-allowed;
1662
+ transform: none;
1663
+ }
1664
+
1665
+ :host([active]) .reaction-button {
1666
+ background: var(--chefui-reaction-active-bg);
1667
+ }
1668
+
1669
+ .reaction-icon {
1670
+ width: var(--chefui-reaction-icon-size);
1671
+ height: var(--chefui-reaction-icon-size);
1672
+ color: var(--chefui-reaction-color);
1673
+ transition: all var(--chefui-reaction-transition);
1674
+ }
1675
+
1676
+ :host([active]) .reaction-icon {
1677
+ color: var(--chefui-reaction-active-color);
1678
+ animation: heartbeat 0.3s ease-in-out;
1679
+ }
1680
+
1681
+ @keyframes heartbeat {
1682
+ 0%, 100% { transform: scale(1); }
1683
+ 25% { transform: scale(1.3); }
1684
+ 50% { transform: scale(0.9); }
1685
+ 75% { transform: scale(1.1); }
1686
+ }
1687
+
1688
+ .reaction-count {
1689
+ font-size: 14px;
1690
+ font-weight: 500;
1691
+ color: var(--chefui-reaction-color);
1692
+ transition: color var(--chefui-reaction-transition);
1693
+ min-width: 20px;
1694
+ text-align: left;
1695
+ }
1696
+
1697
+ :host([active]) .reaction-count {
1698
+ color: var(--chefui-reaction-active-color);
1699
+ }
1700
+
1701
+ /* Type variants */
1702
+ :host([type="like"]) {
1703
+ --chefui-reaction-active-color: #ef4444;
1704
+ --chefui-reaction-hover-bg: rgba(239, 68, 68, 0.1);
1705
+ --chefui-reaction-active-bg: rgba(239, 68, 68, 0.15);
1706
+ }
1707
+
1708
+ :host([type="thumbs-up"]) {
1709
+ --chefui-reaction-active-color: #3b82f6;
1710
+ --chefui-reaction-hover-bg: rgba(59, 130, 246, 0.1);
1711
+ --chefui-reaction-active-bg: rgba(59, 130, 246, 0.15);
1712
+ }
1713
+
1714
+ :host([type="star"]) {
1715
+ --chefui-reaction-active-color: #f59e0b;
1716
+ --chefui-reaction-hover-bg: rgba(245, 158, 11, 0.1);
1717
+ --chefui-reaction-active-bg: rgba(245, 158, 11, 0.15);
1718
+ }
1719
+
1720
+ :host([type="bookmark"]) {
1721
+ --chefui-reaction-active-color: #10b981;
1722
+ --chefui-reaction-hover-bg: rgba(16, 185, 129, 0.1);
1723
+ --chefui-reaction-active-bg: rgba(16, 185, 129, 0.15);
1724
+ }
1725
+
1726
+ /* Size variants */
1727
+ :host([size="small"]) {
1728
+ --chefui-reaction-size: 32px;
1729
+ --chefui-reaction-icon-size: 16px;
1730
+ }
1731
+
1732
+ :host([size="small"]) .reaction-count {
1733
+ font-size: 13px;
1734
+ }
1735
+
1736
+ :host([size="large"]) {
1737
+ --chefui-reaction-size: 48px;
1738
+ --chefui-reaction-icon-size: 24px;
1739
+ }
1740
+
1741
+ :host([size="large"]) .reaction-count {
1742
+ font-size: 16px;
1743
+ }
1744
+
1745
+ /* Filled variant */
1746
+ :host([variant="filled"]) .reaction-icon {
1747
+ fill: currentColor;
1748
+ }
1749
+ `,e([fe({type:Boolean,reflect:!0})],exports.ChefUiReaction.prototype,"active",void 0),e([fe({type:Boolean,reflect:!0})],exports.ChefUiReaction.prototype,"disabled",void 0),e([fe({type:Number})],exports.ChefUiReaction.prototype,"count",void 0),e([fe({type:Boolean})],exports.ChefUiReaction.prototype,"showCount",void 0),e([fe({type:String,reflect:!0})],exports.ChefUiReaction.prototype,"type",void 0),e([fe({type:String,reflect:!0})],exports.ChefUiReaction.prototype,"size",void 0),e([fe({type:String,reflect:!0})],exports.ChefUiReaction.prototype,"variant",void 0),e([fe({type:String})],exports.ChefUiReaction.prototype,"name",void 0),e([fe({type:String})],exports.ChefUiReaction.prototype,"value",void 0),exports.ChefUiReaction=e([de("chef-ui-reaction")],exports.ChefUiReaction),exports.IconResolver=ge,exports.iconResolver=xe;
1057
1750
  //# sourceMappingURL=index.cjs.map