@kodaris/krubble-components 1.0.52 → 1.0.53

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.
@@ -1 +1 @@
1
- {"version":3,"file":"krubble-components.bundled.js","sources":["../../../node_modules/@lit/reactive-element/css-tag.js","../../../node_modules/@lit/reactive-element/reactive-element.js","../../../node_modules/lit-html/lit-html.js","../../../node_modules/lit-element/lit-element.js","style/base.js","../../../node_modules/@lit/reactive-element/decorators/custom-element.js","../../../node_modules/@lit/reactive-element/decorators/property.js","../../../node_modules/@lit/reactive-element/decorators/state.js","../../../node_modules/@lit/reactive-element/decorators/base.js","../../../node_modules/@lit/reactive-element/decorators/query.js","accordion/accordion.js","../../../node_modules/lit-html/directive.js","../../../node_modules/lit-html/directives/class-map.js","alert/alert.js","button/button.js","../../../node_modules/lit-html/directives/unsafe-html.js","code-demo/code-demo.js","context-menu/context-menu.js","../../../node_modules/lit-html/directives/style-map.js","dialog/dialog.js","snackbar/snackbar.js","tabs/tabs.js","tabs/tab.js","table/table.js","spinner/spinner.js","progress-bar/progress-bar.js","file-preview/file-preview.js","file-list/file-list.js","../../../node_modules/lit-html/directives/if-defined.js","../../../node_modules/lit-html/directive-helpers.js","../../../node_modules/lit-html/directives/live.js","form/text-field/text-field.js","form/select-field/select-field.js","form/select-field/select-option.js","form/textarea-field/textarea-field.js","form/detail-field/detail-field.js","form/auto-suggest/auto-suggest.js"],"sourcesContent":["/**\n * @license\n * Copyright 2019 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=globalThis,e=t.ShadowRoot&&(void 0===t.ShadyCSS||t.ShadyCSS.nativeShadow)&&\"adoptedStyleSheets\"in Document.prototype&&\"replace\"in CSSStyleSheet.prototype,s=Symbol(),o=new WeakMap;class n{constructor(t,e,o){if(this._$cssResult$=!0,o!==s)throw Error(\"CSSResult is not constructable. Use `unsafeCSS` or `css` instead.\");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const s=this.t;if(e&&void 0===t){const e=void 0!==s&&1===s.length;e&&(t=o.get(s)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),e&&o.set(s,t))}return t}toString(){return this.cssText}}const r=t=>new n(\"string\"==typeof t?t:t+\"\",void 0,s),i=(t,...e)=>{const o=1===t.length?t[0]:e.reduce((e,s,o)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if(\"number\"==typeof t)return t;throw Error(\"Value passed to 'css' function must be a 'css' function result: \"+t+\". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.\")})(s)+t[o+1],t[0]);return new n(o,t,s)},S=(s,o)=>{if(e)s.adoptedStyleSheets=o.map(t=>t instanceof CSSStyleSheet?t:t.styleSheet);else for(const e of o){const o=document.createElement(\"style\"),n=t.litNonce;void 0!==n&&o.setAttribute(\"nonce\",n),o.textContent=e.cssText,s.appendChild(o)}},c=e?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e=\"\";for(const s of t.cssRules)e+=s.cssText;return r(e)})(t):t;export{n as CSSResult,S as adoptStyles,i as css,c as getCompatibleStyle,e as supportsAdoptingStyleSheets,r as unsafeCSS};\n//# sourceMappingURL=css-tag.js.map\n","import{getCompatibleStyle as t,adoptStyles as s}from\"./css-tag.js\";export{CSSResult,css,supportsAdoptingStyleSheets,unsafeCSS}from\"./css-tag.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const{is:i,defineProperty:e,getOwnPropertyDescriptor:h,getOwnPropertyNames:r,getOwnPropertySymbols:o,getPrototypeOf:n}=Object,a=globalThis,c=a.trustedTypes,l=c?c.emptyScript:\"\",p=a.reactiveElementPolyfillSupport,d=(t,s)=>t,u={toAttribute(t,s){switch(s){case Boolean:t=t?l:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,s){let i=t;switch(s){case Boolean:i=null!==t;break;case Number:i=null===t?null:Number(t);break;case Object:case Array:try{i=JSON.parse(t)}catch(t){i=null}}return i}},f=(t,s)=>!i(t,s),b={attribute:!0,type:String,converter:u,reflect:!1,useDefault:!1,hasChanged:f};Symbol.metadata??=Symbol(\"metadata\"),a.litPropertyMetadata??=new WeakMap;class y extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,s=b){if(s.state&&(s.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(t)&&((s=Object.create(s)).wrapped=!0),this.elementProperties.set(t,s),!s.noAccessor){const i=Symbol(),h=this.getPropertyDescriptor(t,i,s);void 0!==h&&e(this.prototype,t,h)}}static getPropertyDescriptor(t,s,i){const{get:e,set:r}=h(this.prototype,t)??{get(){return this[s]},set(t){this[s]=t}};return{get:e,set(s){const h=e?.call(this);r?.call(this,s),this.requestUpdate(t,h,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??b}static _$Ei(){if(this.hasOwnProperty(d(\"elementProperties\")))return;const t=n(this);t.finalize(),void 0!==t.l&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(d(\"finalized\")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(d(\"properties\"))){const t=this.properties,s=[...r(t),...o(t)];for(const i of s)this.createProperty(i,t[i])}const t=this[Symbol.metadata];if(null!==t){const s=litPropertyMetadata.get(t);if(void 0!==s)for(const[t,i]of s)this.elementProperties.set(t,i)}this._$Eh=new Map;for(const[t,s]of this.elementProperties){const i=this._$Eu(t,s);void 0!==i&&this._$Eh.set(i,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(s){const i=[];if(Array.isArray(s)){const e=new Set(s.flat(1/0).reverse());for(const s of e)i.unshift(t(s))}else void 0!==s&&i.push(t(s));return i}static _$Eu(t,s){const i=s.attribute;return!1===i?void 0:\"string\"==typeof i?i:\"string\"==typeof t?t.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(t=>this.enableUpdating=t),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach(t=>t(this))}addController(t){(this._$EO??=new Set).add(t),void 0!==this.renderRoot&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$EO?.delete(t)}_$E_(){const t=new Map,s=this.constructor.elementProperties;for(const i of s.keys())this.hasOwnProperty(i)&&(t.set(i,this[i]),delete this[i]);t.size>0&&(this._$Ep=t)}createRenderRoot(){const t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return s(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach(t=>t.hostConnected?.())}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach(t=>t.hostDisconnected?.())}attributeChangedCallback(t,s,i){this._$AK(t,i)}_$ET(t,s){const i=this.constructor.elementProperties.get(t),e=this.constructor._$Eu(t,i);if(void 0!==e&&!0===i.reflect){const h=(void 0!==i.converter?.toAttribute?i.converter:u).toAttribute(s,i.type);this._$Em=t,null==h?this.removeAttribute(e):this.setAttribute(e,h),this._$Em=null}}_$AK(t,s){const i=this.constructor,e=i._$Eh.get(t);if(void 0!==e&&this._$Em!==e){const t=i.getPropertyOptions(e),h=\"function\"==typeof t.converter?{fromAttribute:t.converter}:void 0!==t.converter?.fromAttribute?t.converter:u;this._$Em=e;const r=h.fromAttribute(s,t.type);this[e]=r??this._$Ej?.get(e)??r,this._$Em=null}}requestUpdate(t,s,i,e=!1,h){if(void 0!==t){const r=this.constructor;if(!1===e&&(h=this[t]),i??=r.getPropertyOptions(t),!((i.hasChanged??f)(h,s)||i.useDefault&&i.reflect&&h===this._$Ej?.get(t)&&!this.hasAttribute(r._$Eu(t,i))))return;this.C(t,s,i)}!1===this.isUpdatePending&&(this._$ES=this._$EP())}C(t,s,{useDefault:i,reflect:e,wrapped:h},r){i&&!(this._$Ej??=new Map).has(t)&&(this._$Ej.set(t,r??s??this[t]),!0!==h||void 0!==r)||(this._$AL.has(t)||(this.hasUpdated||i||(s=void 0),this._$AL.set(t,s)),!0===e&&this._$Em!==t&&(this._$Eq??=new Set).add(t))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[t,s]of this._$Ep)this[t]=s;this._$Ep=void 0}const t=this.constructor.elementProperties;if(t.size>0)for(const[s,i]of t){const{wrapped:t}=i,e=this[s];!0!==t||this._$AL.has(s)||void 0===e||this.C(s,void 0,i,e)}}let t=!1;const s=this._$AL;try{t=this.shouldUpdate(s),t?(this.willUpdate(s),this._$EO?.forEach(t=>t.hostUpdate?.()),this.update(s)):this._$EM()}catch(s){throw t=!1,this._$EM(),s}t&&this._$AE(s)}willUpdate(t){}_$AE(t){this._$EO?.forEach(t=>t.hostUpdated?.()),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Eq&&=this._$Eq.forEach(t=>this._$ET(t,this[t])),this._$EM()}updated(t){}firstUpdated(t){}}y.elementStyles=[],y.shadowRootOptions={mode:\"open\"},y[d(\"elementProperties\")]=new Map,y[d(\"finalized\")]=new Map,p?.({ReactiveElement:y}),(a.reactiveElementVersions??=[]).push(\"2.1.2\");export{y as ReactiveElement,s as adoptStyles,u as defaultConverter,t as getCompatibleStyle,f as notEqual};\n//# sourceMappingURL=reactive-element.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=globalThis,i=t=>t,s=t.trustedTypes,e=s?s.createPolicy(\"lit-html\",{createHTML:t=>t}):void 0,h=\"$lit$\",o=`lit$${Math.random().toFixed(9).slice(2)}$`,n=\"?\"+o,r=`<${n}>`,l=document,c=()=>l.createComment(\"\"),a=t=>null===t||\"object\"!=typeof t&&\"function\"!=typeof t,u=Array.isArray,d=t=>u(t)||\"function\"==typeof t?.[Symbol.iterator],f=\"[ \\t\\n\\f\\r]\",v=/<(?:(!--|\\/[^a-zA-Z])|(\\/?[a-zA-Z][^>\\s]*)|(\\/?$))/g,_=/-->/g,m=/>/g,p=RegExp(`>|${f}(?:([^\\\\s\"'>=/]+)(${f}*=${f}*(?:[^ \\t\\n\\f\\r\"'\\`<>=]|(\"|')|))|$)`,\"g\"),g=/'/g,$=/\"/g,y=/^(?:script|style|textarea|title)$/i,x=t=>(i,...s)=>({_$litType$:t,strings:i,values:s}),b=x(1),w=x(2),T=x(3),E=Symbol.for(\"lit-noChange\"),A=Symbol.for(\"lit-nothing\"),C=new WeakMap,P=l.createTreeWalker(l,129);function V(t,i){if(!u(t)||!t.hasOwnProperty(\"raw\"))throw Error(\"invalid template strings array\");return void 0!==e?e.createHTML(i):i}const N=(t,i)=>{const s=t.length-1,e=[];let n,l=2===i?\"<svg>\":3===i?\"<math>\":\"\",c=v;for(let i=0;i<s;i++){const s=t[i];let a,u,d=-1,f=0;for(;f<s.length&&(c.lastIndex=f,u=c.exec(s),null!==u);)f=c.lastIndex,c===v?\"!--\"===u[1]?c=_:void 0!==u[1]?c=m:void 0!==u[2]?(y.test(u[2])&&(n=RegExp(\"</\"+u[2],\"g\")),c=p):void 0!==u[3]&&(c=p):c===p?\">\"===u[0]?(c=n??v,d=-1):void 0===u[1]?d=-2:(d=c.lastIndex-u[2].length,a=u[1],c=void 0===u[3]?p:'\"'===u[3]?$:g):c===$||c===g?c=p:c===_||c===m?c=v:(c=p,n=void 0);const x=c===p&&t[i+1].startsWith(\"/>\")?\" \":\"\";l+=c===v?s+r:d>=0?(e.push(a),s.slice(0,d)+h+s.slice(d)+o+x):s+o+(-2===d?i:x)}return[V(t,l+(t[s]||\"<?>\")+(2===i?\"</svg>\":3===i?\"</math>\":\"\")),e]};class S{constructor({strings:t,_$litType$:i},e){let r;this.parts=[];let l=0,a=0;const u=t.length-1,d=this.parts,[f,v]=N(t,i);if(this.el=S.createElement(f,e),P.currentNode=this.el.content,2===i||3===i){const t=this.el.content.firstChild;t.replaceWith(...t.childNodes)}for(;null!==(r=P.nextNode())&&d.length<u;){if(1===r.nodeType){if(r.hasAttributes())for(const t of r.getAttributeNames())if(t.endsWith(h)){const i=v[a++],s=r.getAttribute(t).split(o),e=/([.?@])?(.*)/.exec(i);d.push({type:1,index:l,name:e[2],strings:s,ctor:\".\"===e[1]?I:\"?\"===e[1]?L:\"@\"===e[1]?z:H}),r.removeAttribute(t)}else t.startsWith(o)&&(d.push({type:6,index:l}),r.removeAttribute(t));if(y.test(r.tagName)){const t=r.textContent.split(o),i=t.length-1;if(i>0){r.textContent=s?s.emptyScript:\"\";for(let s=0;s<i;s++)r.append(t[s],c()),P.nextNode(),d.push({type:2,index:++l});r.append(t[i],c())}}}else if(8===r.nodeType)if(r.data===n)d.push({type:2,index:l});else{let t=-1;for(;-1!==(t=r.data.indexOf(o,t+1));)d.push({type:7,index:l}),t+=o.length-1}l++}}static createElement(t,i){const s=l.createElement(\"template\");return s.innerHTML=t,s}}function M(t,i,s=t,e){if(i===E)return i;let h=void 0!==e?s._$Co?.[e]:s._$Cl;const o=a(i)?void 0:i._$litDirective$;return h?.constructor!==o&&(h?._$AO?.(!1),void 0===o?h=void 0:(h=new o(t),h._$AT(t,s,e)),void 0!==e?(s._$Co??=[])[e]=h:s._$Cl=h),void 0!==h&&(i=M(t,h._$AS(t,i.values),h,e)),i}class R{constructor(t,i){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=i}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){const{el:{content:i},parts:s}=this._$AD,e=(t?.creationScope??l).importNode(i,!0);P.currentNode=e;let h=P.nextNode(),o=0,n=0,r=s[0];for(;void 0!==r;){if(o===r.index){let i;2===r.type?i=new k(h,h.nextSibling,this,t):1===r.type?i=new r.ctor(h,r.name,r.strings,this,t):6===r.type&&(i=new Z(h,this,t)),this._$AV.push(i),r=s[++n]}o!==r?.index&&(h=P.nextNode(),o++)}return P.currentNode=l,e}p(t){let i=0;for(const s of this._$AV)void 0!==s&&(void 0!==s.strings?(s._$AI(t,s,i),i+=s.strings.length-2):s._$AI(t[i])),i++}}class k{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(t,i,s,e){this.type=2,this._$AH=A,this._$AN=void 0,this._$AA=t,this._$AB=i,this._$AM=s,this.options=e,this._$Cv=e?.isConnected??!0}get parentNode(){let t=this._$AA.parentNode;const i=this._$AM;return void 0!==i&&11===t?.nodeType&&(t=i.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,i=this){t=M(this,t,i),a(t)?t===A||null==t||\"\"===t?(this._$AH!==A&&this._$AR(),this._$AH=A):t!==this._$AH&&t!==E&&this._(t):void 0!==t._$litType$?this.$(t):void 0!==t.nodeType?this.T(t):d(t)?this.k(t):this._(t)}O(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.O(t))}_(t){this._$AH!==A&&a(this._$AH)?this._$AA.nextSibling.data=t:this.T(l.createTextNode(t)),this._$AH=t}$(t){const{values:i,_$litType$:s}=t,e=\"number\"==typeof s?this._$AC(t):(void 0===s.el&&(s.el=S.createElement(V(s.h,s.h[0]),this.options)),s);if(this._$AH?._$AD===e)this._$AH.p(i);else{const t=new R(e,this),s=t.u(this.options);t.p(i),this.T(s),this._$AH=t}}_$AC(t){let i=C.get(t.strings);return void 0===i&&C.set(t.strings,i=new S(t)),i}k(t){u(this._$AH)||(this._$AH=[],this._$AR());const i=this._$AH;let s,e=0;for(const h of t)e===i.length?i.push(s=new k(this.O(c()),this.O(c()),this,this.options)):s=i[e],s._$AI(h),e++;e<i.length&&(this._$AR(s&&s._$AB.nextSibling,e),i.length=e)}_$AR(t=this._$AA.nextSibling,s){for(this._$AP?.(!1,!0,s);t!==this._$AB;){const s=i(t).nextSibling;i(t).remove(),t=s}}setConnected(t){void 0===this._$AM&&(this._$Cv=t,this._$AP?.(t))}}class H{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,i,s,e,h){this.type=1,this._$AH=A,this._$AN=void 0,this.element=t,this.name=i,this._$AM=e,this.options=h,s.length>2||\"\"!==s[0]||\"\"!==s[1]?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=A}_$AI(t,i=this,s,e){const h=this.strings;let o=!1;if(void 0===h)t=M(this,t,i,0),o=!a(t)||t!==this._$AH&&t!==E,o&&(this._$AH=t);else{const e=t;let n,r;for(t=h[0],n=0;n<h.length-1;n++)r=M(this,e[s+n],i,n),r===E&&(r=this._$AH[n]),o||=!a(r)||r!==this._$AH[n],r===A?t=A:t!==A&&(t+=(r??\"\")+h[n+1]),this._$AH[n]=r}o&&!e&&this.j(t)}j(t){t===A?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??\"\")}}class I extends H{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===A?void 0:t}}class L extends H{constructor(){super(...arguments),this.type=4}j(t){this.element.toggleAttribute(this.name,!!t&&t!==A)}}class z extends H{constructor(t,i,s,e,h){super(t,i,s,e,h),this.type=5}_$AI(t,i=this){if((t=M(this,t,i,0)??A)===E)return;const s=this._$AH,e=t===A&&s!==A||t.capture!==s.capture||t.once!==s.once||t.passive!==s.passive,h=t!==A&&(s===A||e);e&&this.element.removeEventListener(this.name,this,s),h&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){\"function\"==typeof this._$AH?this._$AH.call(this.options?.host??this.element,t):this._$AH.handleEvent(t)}}class Z{constructor(t,i,s){this.element=t,this.type=6,this._$AN=void 0,this._$AM=i,this.options=s}get _$AU(){return this._$AM._$AU}_$AI(t){M(this,t)}}const j={M:h,P:o,A:n,C:1,L:N,R,D:d,V:M,I:k,H,N:L,U:z,B:I,F:Z},B=t.litHtmlPolyfillSupport;B?.(S,k),(t.litHtmlVersions??=[]).push(\"3.3.2\");const D=(t,i,s)=>{const e=s?.renderBefore??i;let h=e._$litPart$;if(void 0===h){const t=s?.renderBefore??null;e._$litPart$=h=new k(i.insertBefore(c(),t),t,void 0,s??{})}return h._$AI(t),h};export{j as _$LH,b as html,T as mathml,E as noChange,A as nothing,D as render,w as svg};\n//# sourceMappingURL=lit-html.js.map\n","import{ReactiveElement as t}from\"@lit/reactive-element\";export*from\"@lit/reactive-element\";import{render as e,noChange as r}from\"lit-html\";export*from\"lit-html\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const s=globalThis;class i extends t{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){const t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){const r=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=e(r,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return r}}i._$litElement$=!0,i[\"finalized\"]=!0,s.litElementHydrateSupport?.({LitElement:i});const o=s.litElementPolyfillSupport;o?.({LitElement:i});const n={_$AK:(t,e,r)=>{t._$AK(e,r)},_$AL:t=>t._$AL};(s.litElementVersions??=[]).push(\"4.2.2\");export{i as LitElement,n as _$LE};\n//# sourceMappingURL=lit-element.js.map\n","import { css } from 'lit';\n/**\n * Base theme styles with CSS custom properties.\n * Import into components: static styles = [krBaseCSS, css`...`]\n */\nexport const krBaseCSS = css `\n :host,\n *,\n *::before,\n *::after {\n box-sizing: border-box;\n }\n\n :host {\n /* Primary */\n --kr-primary: rgb(22, 48, 82);\n --kr-primary-hover: rgb(16, 36, 62);\n --kr-primary-text: #ffffff;\n\n /* Accent */\n --kr-accent: #BEEA4E;\n --kr-accent-hover: #a8d43a;\n --kr-accent-text: #000000;\n\n /* Text */\n --kr-text: #000000;\n --kr-text-muted: #4b5563;\n --kr-text-disabled: #9ca3af;\n \n /* Borders */\n --kr-border: #e5e7eb;\n }\n`;\n//# sourceMappingURL=base.js.map","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=t=>(e,o)=>{void 0!==o?o.addInitializer(()=>{customElements.define(t,e)}):customElements.define(t,e)};export{t as customElement};\n//# sourceMappingURL=custom-element.js.map\n","import{notEqual as t,defaultConverter as e}from\"../reactive-element.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const o={attribute:!0,type:String,converter:e,reflect:!1,hasChanged:t},r=(t=o,e,r)=>{const{kind:n,metadata:i}=r;let s=globalThis.litPropertyMetadata.get(i);if(void 0===s&&globalThis.litPropertyMetadata.set(i,s=new Map),\"setter\"===n&&((t=Object.create(t)).wrapped=!0),s.set(r.name,t),\"accessor\"===n){const{name:o}=r;return{set(r){const n=e.get.call(this);e.set.call(this,r),this.requestUpdate(o,n,t,!0,r)},init(e){return void 0!==e&&this.C(o,void 0,t,e),e}}}if(\"setter\"===n){const{name:o}=r;return function(r){const n=this[o];e.call(this,r),this.requestUpdate(o,n,t,!0,r)}}throw Error(\"Unsupported decorator location: \"+n)};function n(t){return(e,o)=>\"object\"==typeof o?r(t,e,o):((t,e,o)=>{const r=e.hasOwnProperty(o);return e.constructor.createProperty(o,t),r?Object.getOwnPropertyDescriptor(e,o):void 0})(t,e,o)}export{n as property,r as standardProperty};\n//# sourceMappingURL=property.js.map\n","import{property as t}from\"./property.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */function r(r){return t({...r,state:!0,attribute:!1})}export{r as state};\n//# sourceMappingURL=state.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst e=(e,t,c)=>(c.configurable=!0,c.enumerable=!0,Reflect.decorate&&\"object\"!=typeof t&&Object.defineProperty(e,t,c),c);export{e as desc};\n//# sourceMappingURL=base.js.map\n","import{desc as t}from\"./base.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */function e(e,r){return(n,s,i)=>{const o=t=>t.renderRoot?.querySelector(e)??null;if(r){const{get:e,set:r}=\"object\"==typeof s?n:i??(()=>{const t=Symbol();return{get(){return this[t]},set(e){this[t]=e}}})();return t(n,s,{get(){let t=e.call(this);return void 0===t&&(t=o(this),(null!==t||this.hasUpdated)&&r.call(this,t)),t}})}return t(n,s,{get(){return o(this)}})}}export{e as query};\n//# sourceMappingURL=query.js.map\n","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { LitElement, html, css } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\n/**\n * Accordion component for collapsible content sections.\n *\n * ## Usage\n * ```html\n * <kr-accordion header=\"Basic Information\" expanded>\n * <div>Content here</div>\n * </kr-accordion>\n * ```\n *\n * @slot - The collapsible content\n *\n * @property {string} header - Section header text\n * @property {boolean} expanded - Whether the accordion is expanded\n */\nlet KRAccordion = class KRAccordion extends LitElement {\n constructor() {\n super(...arguments);\n /**\n * Section header text\n */\n this.header = '';\n /**\n * Whether the accordion is expanded\n */\n this.expanded = false;\n }\n toggle() {\n this.expanded = !this.expanded;\n }\n render() {\n return html `\n <div class=\"header\" @click=${this.toggle}>\n <span class=\"header__title\">${this.header}</span>\n <svg class=\"header__icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n <path d=\"M6 9l6 6 6-6\"/>\n </svg>\n </div>\n <div class=\"content\">\n <div class=\"content__inner\">\n <div class=\"content__body\">\n <slot></slot>\n </div>\n </div>\n </div>\n `;\n }\n};\nKRAccordion.styles = css `\n :host {\n display: block;\n margin-bottom: 16px;\n }\n\n .header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 12px 16px;\n background: #f7f8f9;\n border-radius: 8px;\n cursor: pointer;\n user-select: none;\n }\n\n .header__title {\n font-size: 15px;\n font-weight: 600;\n color: #111827;\n }\n\n .header__icon {\n width: 20px;\n height: 20px;\n color: #9ca3af;\n transition: transform 0.2s ease;\n flex-shrink: 0;\n }\n\n :host([expanded]) .header__icon {\n transform: rotate(180deg);\n }\n\n .content {\n display: grid;\n grid-template-rows: 0fr;\n transition: grid-template-rows 0.2s ease;\n }\n\n :host([expanded]) .content {\n grid-template-rows: 1fr;\n }\n\n .content__inner {\n overflow: hidden;\n }\n\n .content__body {\n padding: 16px 16px 8px 16px;\n }\n `;\n__decorate([\n property({ type: String })\n], KRAccordion.prototype, \"header\", void 0);\n__decorate([\n property({ type: Boolean, reflect: true })\n], KRAccordion.prototype, \"expanded\", void 0);\nKRAccordion = __decorate([\n customElement('kr-accordion')\n], KRAccordion);\nexport { KRAccordion };\n//# sourceMappingURL=accordion.js.map","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},e=t=>(...e)=>({_$litDirective$:t,values:e});class i{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,i){this._$Ct=t,this._$AM=e,this._$Ci=i}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}}export{i as Directive,t as PartType,e as directive};\n//# sourceMappingURL=directive.js.map\n","import{noChange as t}from\"../lit-html.js\";import{directive as s,Directive as i,PartType as r}from\"../directive.js\";\n/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const e=s(class extends i{constructor(t){if(super(t),t.type!==r.ATTRIBUTE||\"class\"!==t.name||t.strings?.length>2)throw Error(\"`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.\")}render(t){return\" \"+Object.keys(t).filter(s=>t[s]).join(\" \")+\" \"}update(s,[i]){if(void 0===this.st){this.st=new Set,void 0!==s.strings&&(this.nt=new Set(s.strings.join(\" \").split(/\\s/).filter(t=>\"\"!==t)));for(const t in i)i[t]&&!this.nt?.has(t)&&this.st.add(t);return this.render(i)}const r=s.element.classList;for(const t of this.st)t in i||(r.remove(t),this.st.delete(t));for(const t in i){const s=!!i[t];s===this.st.has(t)||this.nt?.has(t)||(s?(r.add(t),this.st.add(t)):(r.remove(t),this.st.delete(t)))}return t}});export{e as classMap};\n//# sourceMappingURL=class-map.js.map\n","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { LitElement, html, css, nothing } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\n/**\n * A customizable alert component for displaying important information to users.\n *\n * @slot - The alert message content\n * @fires dismiss - Fired when the dismiss button is clicked\n */\nlet KRAlert = class KRAlert extends LitElement {\n constructor() {\n super(...arguments);\n /**\n * The alert type/severity\n */\n this.type = 'info';\n /**\n * Optional title text\n */\n this.title = '';\n /**\n * Whether the alert can be dismissed\n */\n this.dismissible = false;\n /**\n * Whether the alert is visible\n */\n this.visible = true;\n }\n /** Handles dismiss button click */\n _handleDismiss() {\n this.visible = false;\n this.dispatchEvent(new CustomEvent('dismiss', { bubbles: true, composed: true }));\n }\n render() {\n const icons = {\n info: html `<svg class=\"icon\" viewBox=\"0 0 20 20\" fill=\"currentColor\"><path fill-rule=\"evenodd\" d=\"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a1 1 0 000 2v3a1 1 0 001 1h1a1 1 0 100-2v-3a1 1 0 00-1-1H9z\" clip-rule=\"evenodd\"/></svg>`,\n success: html `<svg class=\"icon\" viewBox=\"0 0 20 20\" fill=\"currentColor\"><path fill-rule=\"evenodd\" d=\"M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z\" clip-rule=\"evenodd\"/></svg>`,\n warning: html `<svg class=\"icon\" viewBox=\"0 0 20 20\" fill=\"currentColor\"><path fill-rule=\"evenodd\" d=\"M8.257 3.099c.765-1.36 2.722-1.36 3.486 0l5.58 9.92c.75 1.334-.213 2.98-1.742 2.98H4.42c-1.53 0-2.493-1.646-1.743-2.98l5.58-9.92zM11 13a1 1 0 11-2 0 1 1 0 012 0zm-1-8a1 1 0 00-1 1v3a1 1 0 002 0V6a1 1 0 00-1-1z\" clip-rule=\"evenodd\"/></svg>`,\n error: html `<svg class=\"icon\" viewBox=\"0 0 20 20\" fill=\"currentColor\"><path fill-rule=\"evenodd\" d=\"M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z\" clip-rule=\"evenodd\"/></svg>`,\n };\n return html `\n <div\n class=${classMap({\n 'alert': true,\n ['alert--' + this.type]: true,\n 'alert--has-header': !!this.title,\n 'alert--hidden': !this.visible\n })}\n role=\"alert\"\n >\n ${icons[this.type]}\n <div class=\"content\">\n ${this.title\n ? html `<h4 class=\"header\">${this.title}</h4>`\n : nothing}\n <div class=\"message\">\n <slot></slot>\n </div>\n </div>\n ${this.dismissible\n ? html `\n <button\n class=\"dismiss\"\n type=\"button\"\n aria-label=\"Dismiss alert\"\n @click=${this._handleDismiss}\n >\n <svg viewBox=\"0 0 20 20\" fill=\"currentColor\" width=\"16\" height=\"16\">\n <path fill-rule=\"evenodd\" d=\"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z\" clip-rule=\"evenodd\"/>\n </svg>\n </button>\n `\n : nothing}\n </div>\n `;\n }\n};\nKRAlert.styles = css `\n :host {\n display: block;\n }\n\n .alert {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 12px 16px;\n border-radius: 8px;\n border: 1px solid;\n border-left: 4px solid;\n }\n\n .alert--has-header {\n align-items: flex-start;\n }\n\n .alert--has-header .icon {\n margin-top: 2px;\n }\n\n .alert--hidden {\n display: none;\n }\n \n /* Variants */\n .alert--info {\n background-color: #eff6ff;\n border-color: #3b82f6;\n }\n\n .alert--info .icon {\n color: #2563eb;\n }\n\n .alert--success {\n background-color: #f0fdf4;\n border-color: #22c55e;\n }\n\n .alert--success .icon {\n color: #16a34a;\n }\n\n .alert--warning {\n background-color: #fffbeb;\n border-color: #f59e0b;\n }\n\n .alert--warning .icon {\n color: #d97706;\n }\n\n .alert--error {\n background-color: #fef2f2;\n border-color: #ef4444;\n }\n\n .alert--error .icon {\n color: #dc2626;\n }\n\n .icon {\n flex-shrink: 0;\n width: 20px;\n height: 20px;\n }\n\n .content {\n flex: 1;\n min-width: 0;\n display: flex;\n flex-direction: column;\n gap: 6px;\n }\n\n .header {\n font-size: 14px;\n font-weight: 600;\n color: #000000;\n margin: 0;\n }\n\n .message {\n font-size: 14px;\n color: #000000;\n margin: 0;\n }\n\n .dismiss {\n flex-shrink: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 20px;\n height: 20px;\n padding: 0;\n background: none;\n border: none;\n border-radius: 4px;\n color: #6b7280;\n cursor: pointer;\n transition: background 0.15s ease, color 0.15s ease;\n }\n\n .dismiss:hover {\n background-color: rgba(0, 0, 0, 0.05);\n color: #374151;\n }\n\n .dismiss:focus-visible {\n outline: 2px solid #3b82f6;\n outline-offset: 2px;\n }\n `;\n__decorate([\n property({ type: String })\n], KRAlert.prototype, \"type\", void 0);\n__decorate([\n property({ type: String })\n], KRAlert.prototype, \"title\", void 0);\n__decorate([\n property({ type: Boolean })\n], KRAlert.prototype, \"dismissible\", void 0);\n__decorate([\n property({ type: Boolean })\n], KRAlert.prototype, \"visible\", void 0);\nKRAlert = __decorate([\n customElement('kr-alert')\n], KRAlert);\nexport { KRAlert };\n//# sourceMappingURL=alert.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { LitElement, html, css, nothing } from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\n/**\n * A customizable button component.\n *\n * @slot - The button content (text)\n * @slot icon - Optional icon to display alongside the button text\n * @fires click - Fired when the button is clicked\n * @fires option-select - Fired when a dropdown option is selected\n */\nlet KRButton = class KRButton extends LitElement {\n constructor() {\n super(...arguments);\n /**\n * The button variant (shape)\n */\n this.variant = 'flat';\n /**\n * The button color\n */\n this.color = 'primary';\n /**\n * The button size\n */\n this.size = 'medium';\n /**\n * Whether the button is disabled\n */\n this.disabled = false;\n /**\n * Dropdown options - when provided, button becomes a dropdown\n */\n this.options = [];\n /**\n * Position of the icon relative to the text content.\n * @attr icon-position\n */\n this.iconPosition = 'left';\n this._state = 'idle';\n this._stateText = '';\n this._dropdownOpened = false;\n this._handleHostClick = (e) => {\n if (this.options.length) {\n e.stopPropagation();\n this._toggleDropdown();\n }\n };\n this._handleKeydown = (e) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n if (this.options.length) {\n this._toggleDropdown();\n }\n else {\n this.click();\n }\n }\n if (e.key === 'Escape' && this._dropdownOpened) {\n this._dropdownOpened = false;\n }\n };\n this._handleClickOutside = (e) => {\n if (this._dropdownOpened && !this.contains(e.target)) {\n this._dropdownOpened = false;\n }\n };\n }\n connectedCallback() {\n super.connectedCallback();\n this.setAttribute('role', this.href ? 'link' : 'button');\n this.setAttribute('tabindex', '0');\n this.addEventListener('keydown', this._handleKeydown);\n this.addEventListener('click', this._handleHostClick);\n document.addEventListener('click', this._handleClickOutside);\n }\n disconnectedCallback() {\n super.disconnectedCallback();\n this.removeEventListener('keydown', this._handleKeydown);\n this.removeEventListener('click', this._handleHostClick);\n document.removeEventListener('click', this._handleClickOutside);\n }\n _toggleDropdown() {\n this._dropdownOpened = !this._dropdownOpened;\n if (this._dropdownOpened) {\n // Position the fixed dropdown relative to the host element\n requestAnimationFrame(() => {\n const dropdown = this.shadowRoot?.querySelector('.dropdown');\n if (dropdown) {\n const hostRect = this.getBoundingClientRect();\n dropdown.style.top = hostRect.bottom + 4 + 'px';\n dropdown.style.bottom = '';\n dropdown.style.left = hostRect.left + 'px';\n dropdown.style.right = '';\n dropdown.style.minWidth = hostRect.width + 'px';\n dropdown.style.transformOrigin = 'top left';\n const dropdownRect = dropdown.getBoundingClientRect();\n // Open above if dropdown overflows viewport bottom\n if (dropdownRect.bottom > window.innerHeight) {\n dropdown.style.top = '';\n dropdown.style.bottom = window.innerHeight - hostRect.top + 4 + 'px';\n dropdown.style.transformOrigin = 'bottom left';\n dropdown.classList.add('dropdown--above');\n }\n else {\n dropdown.classList.remove('dropdown--above');\n }\n // Align right if dropdown overflows viewport right\n if (dropdownRect.right > window.innerWidth) {\n dropdown.style.left = '';\n dropdown.style.right = window.innerWidth - hostRect.right + 'px';\n if (dropdownRect.bottom > window.innerHeight) {\n dropdown.style.transformOrigin = 'bottom right';\n }\n else {\n dropdown.style.transformOrigin = 'top right';\n }\n }\n }\n });\n }\n }\n _handleOptionClick(option, e) {\n e.stopPropagation();\n this._dropdownOpened = false;\n this.dispatchEvent(new CustomEvent('option-select', {\n detail: { id: option.id, label: option.label },\n bubbles: true,\n composed: true\n }));\n }\n /**\n * Shows a loading spinner and disables the button.\n */\n showLoading() {\n this._clearStateTimeout();\n this._state = 'loading';\n this._stateText = '';\n }\n /**\n * Shows a success state with optional custom text.\n * @param text - Text to display (default: \"Saved\")\n * @param duration - Duration in ms before auto-reset (default: 2000)\n */\n showSuccess(text = 'Success', duration = 2000) {\n this._clearStateTimeout();\n this._state = 'success';\n this._stateText = text;\n if (duration > 0) {\n this._stateTimeout = window.setTimeout(() => this.reset(), duration);\n }\n }\n /**\n * Shows an error state with optional custom text.\n * @param text - Text to display (default: \"Error\")\n * @param duration - Duration in ms before auto-reset (default: 2000)\n */\n showError(text = 'Error', duration = 2000) {\n this._clearStateTimeout();\n this._state = 'error';\n this._stateText = text;\n if (duration > 0) {\n this._stateTimeout = window.setTimeout(() => this.reset(), duration);\n }\n }\n /**\n * Returns whether the button is currently in the loading state.\n */\n isLoading() {\n return this._state === 'loading';\n }\n /**\n * Resets the button to its idle state.\n */\n reset() {\n this._clearStateTimeout();\n this._state = 'idle';\n this._stateText = '';\n }\n _clearStateTimeout() {\n if (this._stateTimeout) {\n clearTimeout(this._stateTimeout);\n this._stateTimeout = undefined;\n }\n }\n updated(changedProperties) {\n // Reflect state classes to host\n this.classList.toggle('kr-button--loading', this._state === 'loading');\n this.classList.toggle('kr-button--success', this._state === 'success');\n this.classList.toggle('kr-button--error', this._state === 'error');\n this.classList.toggle(`kr-button--${this.variant}`, true);\n this.classList.toggle(`kr-button--${this.color}`, true);\n this.classList.toggle('kr-button--small', this.size === 'small');\n this.classList.toggle('kr-button--large', this.size === 'large');\n }\n render() {\n const content = html `\n <span class=\"content\">\n <slot name=\"icon\"></slot>\n <slot></slot>\n </span>\n ${this.options.length ? html `<svg class=\"caret\" xmlns=\"http://www.w3.org/2000/svg\" height=\"20\" width=\"20\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M7.41 8.59L12 13.17l4.59-4.58L18 10l-6 6-6-6 1.41-1.41z\"/></svg>` : nothing}\n ${this._state !== 'idle'\n ? html `<span class=\"state-overlay\">\n ${this._state === 'loading'\n ? html `<span class=\"spinner\"></span>`\n : this._stateText}\n </span>`\n : nothing}\n ${this.options.length ? html `\n <div class=\"dropdown ${this._dropdownOpened ? 'dropdown--opened' : ''}\">\n ${this.options.map(option => html `\n <button\n class=\"dropdown-item\"\n @click=${(e) => this._handleOptionClick(option, e)}\n >${option.label}</button>\n `)}\n </div>\n ` : nothing}\n `;\n return this.href\n ? html `<a class=\"link\" href=${this.href} target=${this.target || nothing}>${content}</a>`\n : content;\n }\n};\nKRButton.styles = css `\n :host {\n display: inline-flex;\n position: relative;\n align-items: center;\n justify-content: center;\n font-family: inherit;\n font-size: 14px;\n font-weight: 400;\n letter-spacing: 0.01em;\n padding: 0 22px;\n height: 36px;\n border: none;\n border-radius: 20px;\n cursor: pointer;\n transition: background 0.15s ease;\n user-select: none;\n box-sizing: border-box;\n }\n\n :host([disabled]),\n :host(.kr-button--loading),\n :host(.kr-button--success),\n :host(.kr-button--error) {\n cursor: not-allowed;\n pointer-events: none;\n }\n\n :host([disabled]:not(.kr-button--loading):not(.kr-button--success):not(.kr-button--error)) {\n opacity: 0.5;\n }\n\n /* Flat + Primary (default) */\n :host,\n :host(.kr-button--flat.kr-button--primary) {\n background: #163052;\n color: white;\n }\n\n :host(:hover:not([disabled])),\n :host(.kr-button--flat.kr-button--primary:hover:not([disabled])) {\n background: #0e1f35;\n }\n\n /* Flat + Secondary */\n :host(.kr-button--flat.kr-button--secondary) {\n background: #f3f4f6;\n color: #374151;\n }\n\n :host(.kr-button--flat.kr-button--secondary:hover:not([disabled])) {\n background: #e5e7eb;\n }\n\n /* Outline + Primary */\n :host(.kr-button--outline.kr-button--primary) {\n background: transparent;\n border: 1px solid #163052;\n color: #163052;\n }\n\n :host(.kr-button--outline.kr-button--primary:hover:not([disabled])) {\n background: rgba(22, 48, 82, 0.05);\n }\n\n /* Outline + Secondary */\n :host(.kr-button--outline.kr-button--secondary) {\n background: transparent;\n border: 1px solid #d1d5db;\n color: #374151;\n }\n\n :host(.kr-button--outline.kr-button--secondary:hover:not([disabled])) {\n background: #f9fafb;\n border-color: #9ca3af;\n }\n\n /* Flat + Danger */\n :host(.kr-button--flat.kr-button--danger) {\n background: #dc2626;\n color: white;\n }\n\n :host(.kr-button--flat.kr-button--danger:hover:not([disabled])) {\n background: #b91c1c;\n }\n\n /* Outline + Danger */\n :host(.kr-button--outline.kr-button--danger) {\n background: transparent;\n border: 1px solid rgb(219, 38, 39);\n color: rgb(219, 38, 39);\n }\n\n :host(.kr-button--outline.kr-button--danger:hover:not([disabled])) {\n background: rgba(219, 38, 39, 0.05);\n }\n\n /* Sizes */\n :host(.kr-button--small) {\n font-size: 13px;\n height: 26px;\n padding: 0 16px;\n }\n\n :host(.kr-button--large) {\n font-size: 16px;\n height: 44px;\n padding: 0 24px;\n border-radius: 30px;\n }\n\n /* State colors */\n :host(.kr-button--success) {\n background: #198754 !important;\n color: white !important;\n }\n\n :host(.kr-button--error) {\n background: rgb(220, 53, 69) !important;\n color: white !important;\n }\n\n /* Content */\n :host(.kr-button--loading) .content,\n :host(.kr-button--success) .content,\n :host(.kr-button--error) .content {\n visibility: hidden;\n }\n\n /* State overlay */\n .state-overlay {\n position: absolute;\n inset: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n /* Spinner */\n @keyframes kr-spin {\n to {\n transform: rotate(360deg);\n }\n }\n\n .spinner {\n width: 12px;\n height: 12px;\n border: 2.5px solid currentColor;\n border-top-color: transparent;\n border-radius: 50%;\n animation: kr-spin 0.6s linear infinite;\n }\n\n :host(.kr-button--small) .spinner {\n width: 10px;\n height: 10px;\n border-width: 2px;\n }\n\n :host(.kr-button--large) .spinner {\n width: 16px;\n height: 16px;\n border-width: 3px;\n }\n\n /* Dropdown */\n .dropdown {\n position: fixed;\n min-width: 100%;\n background: white;\n border: 1px solid #9ba7b6;\n border-radius: 8px;\n box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);\n padding: 8px 0;\n z-index: 10000;\n display: none;\n transform-origin: top left;\n }\n\n .dropdown--opened {\n display: block;\n animation: dropdown-fade-in 150ms ease-out;\n }\n\n .dropdown--above {\n animation-name: dropdown-fade-in-above;\n }\n\n @keyframes dropdown-fade-in {\n from {\n opacity: 0;\n transform: translateY(-4px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n }\n\n @keyframes dropdown-fade-in-above {\n from {\n opacity: 0;\n transform: translateY(4px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n }\n\n .dropdown-item {\n display: block;\n width: 100%;\n padding: 8px 16px;\n text-align: left;\n background: none;\n border: none;\n font-size: 14px;\n color: #374151;\n cursor: pointer;\n font-family: inherit;\n white-space: nowrap;\n }\n\n .dropdown-item:hover {\n background: #f3f4f6;\n }\n\n /* Caret for dropdown button */\n .caret {\n margin-left: 4px;\n margin-right: -6px;\n display: flex;\n }\n\n /* Link wrapper */\n .link {\n color: inherit;\n text-decoration: none;\n }\n\n /* Content wrapper for icon + text layout */\n .content {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n }\n\n :host([icon-position=\"right\"]) .content {\n flex-direction: row-reverse;\n }\n\n /* Icon styling */\n ::slotted([slot=\"icon\"]) {\n width: 18px;\n height: 18px;\n flex-shrink: 0;\n }\n\n :host(.kr-button--small) ::slotted([slot=\"icon\"]) {\n width: 16px;\n height: 16px;\n }\n\n :host(.kr-button--large) ::slotted([slot=\"icon\"]) {\n width: 22px;\n height: 22px;\n }\n `;\n__decorate([\n property({ type: String, reflect: true })\n], KRButton.prototype, \"variant\", void 0);\n__decorate([\n property({ type: String, reflect: true })\n], KRButton.prototype, \"color\", void 0);\n__decorate([\n property({ type: String, reflect: true })\n], KRButton.prototype, \"size\", void 0);\n__decorate([\n property({ type: Boolean, reflect: true })\n], KRButton.prototype, \"disabled\", void 0);\n__decorate([\n property({ type: String })\n], KRButton.prototype, \"href\", void 0);\n__decorate([\n property({ type: String })\n], KRButton.prototype, \"target\", void 0);\n__decorate([\n property({ type: Array })\n], KRButton.prototype, \"options\", void 0);\n__decorate([\n property({ type: String, reflect: true, attribute: 'icon-position' })\n], KRButton.prototype, \"iconPosition\", void 0);\n__decorate([\n state()\n], KRButton.prototype, \"_state\", void 0);\n__decorate([\n state()\n], KRButton.prototype, \"_stateText\", void 0);\n__decorate([\n state()\n], KRButton.prototype, \"_dropdownOpened\", void 0);\nKRButton = __decorate([\n customElement('kr-button')\n], KRButton);\nexport { KRButton };\n//# sourceMappingURL=button.js.map","import{nothing as t,noChange as i}from\"../lit-html.js\";import{directive as r,Directive as s,PartType as n}from\"../directive.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */class e extends s{constructor(i){if(super(i),this.it=t,i.type!==n.CHILD)throw Error(this.constructor.directiveName+\"() can only be used in child bindings\")}render(r){if(r===t||null==r)return this._t=void 0,this.it=r;if(r===i)return r;if(\"string\"!=typeof r)throw Error(this.constructor.directiveName+\"() called with a non-string value\");if(r===this.it)return this._t;this.it=r;const s=[r];return s.raw=s,this._t={_$litType$:this.constructor.resultType,strings:s,values:[]}}}e.directiveName=\"unsafeHTML\",e.resultType=1;const o=r(e);export{e as UnsafeHTMLDirective,o as unsafeHTML};\n//# sourceMappingURL=unsafe-html.js.map\n","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { LitElement, html, css } from 'lit';\nimport { krBaseCSS } from '../style/base.js';\nimport { customElement, property, state } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { unsafeHTML } from 'lit/directives/unsafe-html.js';\n/**\n * Code demo component with Preview/Code tabs and syntax highlighting.\n *\n * Usage:\n * ```html\n * <kr-code-demo language=\"html\">\n * <kr-button>Click me</kr-button>\n * </kr-code-demo>\n * ```\n *\n * Requires highlight.js to be loaded globally for syntax highlighting.\n */\nlet KRCodeDemo = class KRCodeDemo extends LitElement {\n constructor() {\n super(...arguments);\n this.language = 'html';\n this.code = '';\n this.activeTab = 'preview';\n this.copied = false;\n this.highlightedCode = '';\n }\n connectedCallback() {\n super.connectedCallback();\n // Defer to next frame so the parser finishes with children before we read innerHTML\n requestAnimationFrame(() => {\n if (!this.code) {\n // innerHTML normalizes boolean attributes (e.g. dismissible -> dismissible=\"\"), strip the =\"\" for cleaner display\n this.code = this.innerHTML.trim().replace(/=\"\"(?=[\\s>])/g, '');\n }\n this.querySelectorAll('script').forEach(oldScript => {\n const newScript = document.createElement('script');\n newScript.textContent = oldScript.textContent;\n oldScript.replaceWith(newScript);\n });\n if (this.code && window.hljs && window.hljs.getLanguage(this.language)) {\n this.highlightedCode = window.hljs.highlight(this.code, { language: this.language }).value;\n }\n else {\n this.highlightedCode = this.code.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;');\n }\n });\n }\n activateTab(tab) {\n this.activeTab = tab;\n }\n copyCode() {\n if (!this.code)\n return;\n navigator.clipboard.writeText(this.code).then(() => {\n this.copied = true;\n setTimeout(() => {\n this.copied = false;\n }, 2000);\n });\n }\n render() {\n return html `\n <div class=\"tabs\">\n <button\n class=${classMap({\n tab: true,\n 'tab--active': this.activeTab === 'preview'\n })}\n @click=${() => this.activateTab('preview')}\n >\n Preview\n </button>\n <button\n class=${classMap({\n tab: true, 'tab--active': this.activeTab === 'code'\n })}\n @click=${() => this.activateTab('code')}\n >\n Code\n </button>\n <button\n class=${classMap({ 'copy': true, 'copy--success': this.copied })}\n @click=${this.copyCode}\n title=${this.copied ? 'Copied!' : 'Copy code'}\n >\n ${this.copied\n ? html `<svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><polyline points=\"20 6 9 17 4 12\"></polyline></svg>`\n : html `<svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"9\" y=\"9\" width=\"13\" height=\"13\" rx=\"2\" ry=\"2\"></rect><path d=\"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1\"></path></svg>`}\n </button>\n </div>\n\n <div class=${classMap({\n panel: true,\n 'panel--active': this.activeTab === 'preview',\n 'panel--preview': true\n })}>\n <slot></slot>\n </div>\n\n <div class=${classMap({\n panel: true,\n 'panel--active': this.activeTab === 'code',\n 'panel--code': true\n })}>\n <pre class=\"code\"><code>${unsafeHTML(this.highlightedCode)}</code></pre>\n </div>\n\n `;\n }\n};\nKRCodeDemo.styles = [krBaseCSS, css `\n :host {\n display: block;\n border: 1px solid #d5dbdb;\n border-radius: 8px;\n overflow: hidden;\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\n }\n\n .tabs {\n display: flex;\n align-items: center;\n height: 48px;\n background: #f8f9fa;\n border-bottom: 1px solid #d5dbdb;\n border-radius: 8px 8px 0 0;\n }\n\n .tab {\n height: 100%;\n padding: 0 20px;\n background: none;\n border: none;\n color: #6c757d;\n font-size: 14px;\n font-weight: 500;\n font-family: inherit;\n cursor: pointer;\n position: relative;\n transition: color 0.15s;\n }\n\n .tab:hover {\n color: #495057;\n }\n\n .tab--active {\n color: #1a1a2e;\n }\n\n .tab--active::after {\n content: '';\n position: absolute;\n bottom: -1px;\n left: 0;\n right: 0;\n height: 2px;\n background: var(--kr-primary);\n }\n\n .panel {\n display: none;\n }\n\n .panel--active {\n display: block;\n }\n\n .panel--preview {\n padding: 24px;\n background: #ffffff;\n }\n\n .panel--code {\n }\n\n .code {\n margin: 0;\n padding: 20px;\n background: #ffffff;\n overflow-x: auto;\n font-family: 'SF Mono', 'Fira Code', 'Monaco', 'Consolas', monospace;\n font-size: 13px;\n line-height: 1.6;\n color: #1a1a2e;\n border-radius: 0 0 8px 8px;\n }\n\n .code code {\n font-family: inherit;\n }\n\n .copy {\n display: flex;\n align-items: center;\n justify-content: center;\n margin-left: auto;\n margin-right: 12px;\n padding: 0;\n background: none;\n border: none;\n border-radius: 4px;\n color: #6c757d;\n cursor: pointer;\n transition: color 0.15s;\n }\n\n .copy:hover {\n color: #495057;\n }\n\n .copy--success {\n color: #16a34a;\n }\n\n /* Syntax highlighting */\n .hljs-tag { color: #22863a; }\n .hljs-name { color: #22863a; }\n .hljs-attr { color: #6f42c1; }\n .hljs-string { color: #032f62; }\n .hljs-comment { color: #6a737d; font-style: italic; }\n .hljs-keyword { color: #d73a49; }\n .hljs-number { color: #005cc5; }\n .hljs-built_in { color: #e36209; }\n .hljs-literal { color: #005cc5; }\n .hljs-symbol { color: #e36209; }\n .hljs-selector-tag { color: #22863a; }\n .hljs-selector-class { color: #6f42c1; }\n .hljs-selector-id { color: #005cc5; }\n .hljs-attribute { color: #005cc5; }\n .hljs-property { color: #005cc5; }\n\n `];\n__decorate([\n property({ type: String })\n], KRCodeDemo.prototype, \"language\", void 0);\n__decorate([\n state()\n], KRCodeDemo.prototype, \"code\", void 0);\n__decorate([\n state()\n], KRCodeDemo.prototype, \"activeTab\", void 0);\n__decorate([\n state()\n], KRCodeDemo.prototype, \"copied\", void 0);\n__decorate([\n state()\n], KRCodeDemo.prototype, \"highlightedCode\", void 0);\nKRCodeDemo = __decorate([\n customElement('kr-code-demo')\n], KRCodeDemo);\nexport { KRCodeDemo };\n//# sourceMappingURL=code-demo.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { LitElement, html, css } from 'lit';\nimport { customElement, state } from 'lit/decorators.js';\n/**\n * Context menu component that can be opened programmatically.\n *\n * Usage:\n * ```ts\n * const result = await ContextMenu.open({\n * x: event.clientX,\n * y: event.clientY,\n * items: [\n * { id: 'edit', label: 'Edit Item' },\n * { id: 'divider', label: '', divider: true },\n * { id: 'add-above', label: 'Add Item Above' },\n * { id: 'add-below', label: 'Add Item Below' },\n * ]\n * });\n *\n * if (result) {\n * console.log('Selected:', result.id);\n * }\n * ```\n */\nlet KRContextMenu = class KRContextMenu extends LitElement {\n constructor() {\n super(...arguments);\n this.items = [];\n this.resolvePromise = null;\n this.boundHandleOutsideClick = this.handleOutsideClick.bind(this);\n this.boundHandleKeyDown = this.handleKeyDown.bind(this);\n }\n static async open(options) {\n // Remove any existing context menu\n const existing = document.querySelector('kr-context-menu');\n if (existing) {\n existing.remove();\n }\n // Create and position the menu\n const menu = document.createElement('kr-context-menu');\n document.body.appendChild(menu);\n return menu.show(options);\n }\n async show(options) {\n this.items = options.items;\n this.style.left = `${options.x}px`;\n this.style.top = `${options.y}px`;\n // Adjust position if menu would go off screen\n await this.updateComplete;\n const rect = this.getBoundingClientRect();\n if (rect.right > window.innerWidth) {\n this.style.left = `${options.x - rect.width}px`;\n }\n if (rect.bottom > window.innerHeight) {\n this.style.top = `${options.y - rect.height}px`;\n }\n // Add event listeners after a microtask to avoid the current event triggering close\n requestAnimationFrame(() => {\n document.addEventListener('click', this.boundHandleOutsideClick);\n document.addEventListener('contextmenu', this.boundHandleOutsideClick);\n document.addEventListener('keydown', this.boundHandleKeyDown);\n });\n return new Promise((resolve) => {\n this.resolvePromise = resolve;\n });\n }\n handleOutsideClick(e) {\n if (!this.contains(e.target)) {\n this.close(null);\n }\n }\n handleKeyDown(e) {\n if (e.key === 'Escape') {\n this.close(null);\n }\n }\n handleItemClick(item) {\n if (!item.disabled && !item.divider) {\n this.close(item);\n }\n }\n close(result) {\n document.removeEventListener('click', this.boundHandleOutsideClick);\n document.removeEventListener('contextmenu', this.boundHandleOutsideClick);\n document.removeEventListener('keydown', this.boundHandleKeyDown);\n if (this.resolvePromise) {\n this.resolvePromise(result);\n this.resolvePromise = null;\n }\n this.remove();\n }\n render() {\n return html `\n <div class=\"menu\">\n ${this.items.map(item => item.divider\n ? html `<div class=\"menu__divider\"></div>`\n : html `\n <button\n class=\"menu__item\"\n ?disabled=${item.disabled}\n @click=${() => this.handleItemClick(item)}\n >\n ${item.icon ? html `<span class=\"menu__item-icon\">${item.icon}</span>` : null}\n ${item.label}\n </button>\n `)}\n </div>\n `;\n }\n};\nKRContextMenu.styles = css `\n :host {\n position: fixed;\n z-index: 10000;\n }\n\n .menu {\n background: #1a1a2e;\n border: 1px solid rgba(255, 255, 255, 0.1);\n border-radius: 8px;\n padding: 4px;\n min-width: 180px;\n box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);\n }\n\n .menu__item {\n display: flex;\n align-items: center;\n gap: 12px;\n width: 100%;\n padding: 10px 12px;\n background: none;\n border: none;\n color: rgba(255, 255, 255, 0.8);\n font-size: 13px;\n font-family: inherit;\n text-align: left;\n cursor: pointer;\n border-radius: 6px;\n transition: background 0.15s ease;\n }\n\n .menu__item:hover:not(:disabled) {\n background: rgba(255, 255, 255, 0.05);\n color: #ffffff;\n }\n\n .menu__item:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n }\n\n .menu__item-icon {\n width: 16px;\n height: 16px;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n .menu__divider {\n height: 1px;\n background: rgba(255, 255, 255, 0.1);\n margin: 4px 0;\n }\n `;\n__decorate([\n state()\n], KRContextMenu.prototype, \"items\", void 0);\nKRContextMenu = __decorate([\n customElement('kr-context-menu')\n], KRContextMenu);\nexport { KRContextMenu };\n//# sourceMappingURL=context-menu.js.map","import{noChange as t}from\"../lit-html.js\";import{directive as e,Directive as r,PartType as s}from\"../directive.js\";\n/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const n=\"important\",i=\" !\"+n,o=e(class extends r{constructor(t){if(super(t),t.type!==s.ATTRIBUTE||\"style\"!==t.name||t.strings?.length>2)throw Error(\"The `styleMap` directive must be used in the `style` attribute and must be the only part in the attribute.\")}render(t){return Object.keys(t).reduce((e,r)=>{const s=t[r];return null==s?e:e+`${r=r.includes(\"-\")?r:r.replace(/(?:^(webkit|moz|ms|o)|)(?=[A-Z])/g,\"-$&\").toLowerCase()}:${s};`},\"\")}update(e,[r]){const{style:s}=e.element;if(void 0===this.ft)return this.ft=new Set(Object.keys(r)),this.render(r);for(const t of this.ft)null==r[t]&&(this.ft.delete(t),t.includes(\"-\")?s.removeProperty(t):s[t]=null);for(const t in r){const e=r[t];if(null!=e){this.ft.add(t);const r=\"string\"==typeof e&&e.endsWith(i);t.includes(\"-\")||r?s.setProperty(t,r?e.slice(0,-11):e,r?n:\"\"):s[t]=e}}return t}});export{o as styleMap};\n//# sourceMappingURL=style-map.js.map\n","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { LitElement, html, css } from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\nimport { styleMap } from 'lit/directives/style-map.js';\nlet KRDialogHeader = class KRDialogHeader extends LitElement {\n render() {\n return html `<slot></slot>`;\n }\n};\nKRDialogHeader.styles = css `\n :host {\n display: flex;\n padding: 0 24px;\n align-items: center;\n height: 64px;\n flex-shrink: 0;\n border-bottom: 1px solid rgba(0, 0, 0, 0.1);\n }\n\n ::slotted(h2) {\n margin: 0;\n font-size: 18px;\n font-weight: 600;\n }\n `;\nKRDialogHeader = __decorate([\n customElement('kr-dialog-header')\n], KRDialogHeader);\nexport { KRDialogHeader };\nlet KRDialogContent = class KRDialogContent extends LitElement {\n render() {\n return html `<slot></slot>`;\n }\n};\nKRDialogContent.styles = css `\n :host {\n display: block;\n padding: 24px;\n overflow: auto;\n flex: 1 1 auto;\n }\n `;\nKRDialogContent = __decorate([\n customElement('kr-dialog-content')\n], KRDialogContent);\nexport { KRDialogContent };\nlet KRDialogFooter = class KRDialogFooter extends LitElement {\n render() {\n return html `<slot></slot>`;\n }\n};\nKRDialogFooter.styles = css `\n :host {\n display: flex;\n padding: 0 24px;\n align-items: center;\n height: 64px;\n flex-shrink: 0;\n border-top: 1px solid rgba(0, 0, 0, 0.1);\n gap: 12px;\n justify-content: flex-end;\n }\n `;\nKRDialogFooter = __decorate([\n customElement('kr-dialog-footer')\n], KRDialogFooter);\nexport { KRDialogFooter };\n/**\n * A reference to an open dialog instance.\n *\n * Used to close the dialog and retrieve its result.\n *\n * @typeParam R - The type of the result returned when the dialog closes\n */\nexport class KRDialogRef {\n constructor() {\n this._resolvePromise = null;\n this._dialogElement = null;\n this._promise = new Promise((resolve) => {\n this._resolvePromise = resolve;\n });\n }\n /** @internal */\n setDialogElement(el) {\n this._dialogElement = el;\n }\n /**\n * Closes the dialog and resolves with the given result.\n *\n * @param result - The result to return to the caller\n */\n close(result) {\n if (this._resolvePromise) {\n this._resolvePromise(result);\n this._resolvePromise = null;\n }\n this._dialogElement?.remove();\n }\n /**\n * Returns a promise that resolves when the dialog is closed.\n *\n * @returns A promise that resolves with the dialog result, or undefined if dismissed\n */\n afterClosed() {\n return this._promise;\n }\n}\n/**\n * Generic dialog component that supports both declarative and programmatic usage.\n *\n * Declarative: place `<kr-dialog>` in HTML with slotted content and call `.open()` / `.close()`.\n * Programmatic: use `KRDialog.open(Component, config)` to create and show a dialog.\n *\n * @element kr-dialog\n *\n * @slot - Default slot for declarative dialog content (kr-dialog-header, kr-dialog-content, kr-dialog-footer)\n *\n * @fires close - Fired when a declarative dialog is closed\n */\nlet KRDialog = class KRDialog extends LitElement {\n constructor() {\n super(...arguments);\n this._dialogRef = null;\n this._contentElement = null;\n this.opened = false;\n this.label = '';\n this.width = '560px';\n this._handleDocumentKeyDown = (e) => {\n if (e.key === 'Escape') {\n this.close();\n }\n };\n }\n disconnectedCallback() {\n super.disconnectedCallback();\n document.removeEventListener('keydown', this._handleDocumentKeyDown);\n }\n updated(changedProperties) {\n super.updated(changedProperties);\n if (changedProperties.has('opened')) {\n if (this.opened) {\n document.addEventListener('keydown', this._handleDocumentKeyDown);\n }\n else {\n document.removeEventListener('keydown', this._handleDocumentKeyDown);\n }\n }\n }\n /**\n * Opens the dialog (declarative mode).\n */\n open() {\n this.opened = true;\n }\n /**\n * Closes the dialog.\n * In programmatic mode (has _dialogRef), delegates to the dialog ref.\n * In declarative mode, sets opened=false and dispatches close event.\n */\n close() {\n if (this._dialogRef) {\n this._dialogRef.close(undefined);\n return;\n }\n this.opened = false;\n this.dispatchEvent(new CustomEvent('close', { bubbles: true, composed: true }));\n }\n /**\n * Opens a dialog programmatically by creating a component and injecting it.\n */\n static open(component, config) {\n // Only remove other programmatic dialogs (those with a _dialogRef)\n document.querySelectorAll('kr-dialog').forEach((el) => {\n if (el._dialogRef) {\n el.remove();\n }\n });\n const dialogRef = new KRDialogRef();\n const dialog = document.createElement('kr-dialog');\n dialogRef.setDialogElement(dialog);\n dialog._dialogRef = dialogRef;\n // Create the content component\n const content = new component();\n content.dialogRef = dialogRef;\n if (config?.data) {\n content.data = config.data;\n }\n if (config?.label) {\n dialog.label = config.label;\n }\n if (config?.width) {\n dialog.width = config.width;\n }\n dialog._contentElement = content;\n dialog.opened = true;\n document.body.appendChild(dialog);\n return dialogRef;\n }\n _handleBackdropClick(e) {\n if (e.target.classList.contains('backdrop')) {\n this.close();\n }\n }\n render() {\n return html `\n <div class=\"backdrop\" @click=${this._handleBackdropClick}></div>\n <div class=\"dialog\" style=${styleMap({ width: this.width })}>\n ${this.label ? html `<div class=\"dialog__header\"><div class=\"dialog__header-label\">${this.label}</div></div>` : ''}\n ${this._contentElement ? this._contentElement : html `<slot></slot>`}\n </div>\n `;\n }\n};\nKRDialog.styles = css `\n :host {\n position: fixed;\n inset: 0;\n z-index: 10000;\n display: none;\n align-items: center;\n justify-content: center;\n }\n\n :host([opened]) {\n display: flex;\n }\n\n .backdrop {\n position: absolute;\n inset: 0;\n background: rgba(0, 0, 0, 0.5);\n }\n\n .dialog {\n position: relative;\n background: #fff;\n border: 1px solid rgba(0, 0, 0, 0.1);\n border-radius: 12px;\n box-shadow: 0 16px 48px rgba(0, 0, 0, 0.2);\n max-height: 90vh;\n overflow: hidden;\n display: flex;\n flex-direction: column;\n width: 560px;\n max-width: calc(100vw - 48px);\n }\n\n ::slotted(kr-dialog-header),\n ::slotted(kr-dialog-footer) {\n flex-shrink: 0;\n }\n\n ::slotted(kr-dialog-content) {\n flex: 1 1 auto;\n overflow: auto;\n }\n\n .dialog__header {\n display: flex;\n padding: 0 24px;\n align-items: center;\n height: 64px;\n flex-shrink: 0;\n border-bottom: 1px solid rgba(0, 0, 0, 0.1);\n }\n\n .dialog__header-label {\n margin: 0;\n font-size: 18px;\n font-weight: 600;\n }\n `;\n__decorate([\n state()\n], KRDialog.prototype, \"_contentElement\", void 0);\n__decorate([\n property({ type: Boolean, reflect: true })\n], KRDialog.prototype, \"opened\", void 0);\n__decorate([\n property({ type: String })\n], KRDialog.prototype, \"label\", void 0);\n__decorate([\n property({ type: String })\n], KRDialog.prototype, \"width\", void 0);\nKRDialog = __decorate([\n customElement('kr-dialog')\n], KRDialog);\nexport { KRDialog };\n//# sourceMappingURL=dialog.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar KRSnackbar_1;\nimport { LitElement, html, css } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\n/**\n * A snackbar component for displaying brief notification messages.\n *\n * Snackbars appear at the bottom-left of the screen and automatically\n * dismiss after a configurable duration. Multiple snackbars stack vertically.\n *\n * @fires dismiss - Fired when the snackbar is dismissed (manually or automatically)\n *\n * @example\n * ```ts\n * // Show a success message\n * KRSnackbar.show({ message: 'Item saved successfully', type: 'success' });\n *\n * // Show a message with title\n * KRSnackbar.show({ title: 'Upload Complete', message: 'Your file has been uploaded.', type: 'success' });\n *\n * // Show an error that stays until manually dismissed\n * KRSnackbar.show({ message: 'Failed to save', type: 'error', duration: 0 });\n * ```\n */\nlet KRSnackbar = KRSnackbar_1 = class KRSnackbar extends LitElement {\n constructor() {\n super(...arguments);\n this.dismissTimeout = null;\n /**\n * The snackbar type/severity. Controls the color scheme and icon.\n */\n this.type = 'info';\n /**\n * Optional title to display above the message.\n */\n this.title = '';\n /**\n * The message to display in the snackbar.\n */\n this.message = '';\n /**\n * Duration in milliseconds before auto-dismiss. Set to 0 to disable auto-dismiss.\n * @default 5000\n */\n this.duration = 5000;\n }\n /**\n * Show a snackbar with the given options.\n * @param options - Configuration including message, optional title, type, and duration\n * @returns The created snackbar element\n */\n static show(options) {\n // Close any existing snackbars before showing the new one\n for (const existing of this.activeSnackbars) {\n existing.dismiss();\n }\n const snackbar = document.createElement('kr-snackbar');\n snackbar.message = options.message;\n snackbar.title = options.title ?? '';\n snackbar.type = options.type ?? 'info';\n if (options.duration !== undefined) {\n snackbar.duration = options.duration;\n }\n else if (snackbar.type === 'error') {\n snackbar.duration = 0;\n }\n else {\n snackbar.duration = 5000;\n }\n document.body.appendChild(snackbar);\n return snackbar;\n }\n connectedCallback() {\n super.connectedCallback();\n // Set role and type class on host\n this.setAttribute('role', 'alert');\n this.classList.add(`kr-snackbar--${this.type}`);\n if (this.title) {\n this.classList.add('kr-snackbar--has-title');\n }\n // Add to active snackbars and update positions\n KRSnackbar_1.activeSnackbars.push(this);\n // this.updatePositions();\n // Set up auto-dismiss\n if (this.duration > 0) {\n this.dismissTimeout = window.setTimeout(() => {\n this.dismiss();\n }, this.duration);\n }\n }\n disconnectedCallback() {\n super.disconnectedCallback();\n // Remove from active snackbars\n const index = KRSnackbar_1.activeSnackbars.indexOf(this);\n if (index > -1) {\n KRSnackbar_1.activeSnackbars.splice(index, 1);\n }\n // Update positions of remaining snackbars\n // this.updatePositions();\n // Clear timeout\n if (this.dismissTimeout) {\n clearTimeout(this.dismissTimeout);\n }\n }\n // private updatePositions() {\n // let bottomOffset = 24;\n // for (const snackbar of KRSnackbar.activeSnackbars) {\n // snackbar.style.bottom = `${bottomOffset}px`;\n // bottomOffset += snackbar.offsetHeight + 8;\n // }\n // }\n dismiss() {\n if (this.dismissTimeout) {\n clearTimeout(this.dismissTimeout);\n this.dismissTimeout = null;\n }\n this.classList.add('kr-snackbar--closing');\n this.addEventListener('animationend', () => {\n this.dispatchEvent(new CustomEvent('dismiss', { bubbles: true, composed: true }));\n this.remove();\n }, { once: true });\n }\n render() {\n const icons = {\n info: html `<svg class=\"icon\" viewBox=\"0 0 20 20\" fill=\"currentColor\"><path fill-rule=\"evenodd\" d=\"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a1 1 0 000 2v3a1 1 0 001 1h1a1 1 0 100-2v-3a1 1 0 00-1-1H9z\" clip-rule=\"evenodd\"/></svg>`,\n success: html `<svg class=\"icon\" viewBox=\"0 0 20 20\" fill=\"currentColor\"><path fill-rule=\"evenodd\" d=\"M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z\" clip-rule=\"evenodd\"/></svg>`,\n warning: html `<svg class=\"icon\" viewBox=\"0 0 20 20\" fill=\"currentColor\"><path fill-rule=\"evenodd\" d=\"M8.257 3.099c.765-1.36 2.722-1.36 3.486 0l5.58 9.92c.75 1.334-.213 2.98-1.742 2.98H4.42c-1.53 0-2.493-1.646-1.743-2.98l5.58-9.92zM11 13a1 1 0 11-2 0 1 1 0 012 0zm-1-8a1 1 0 00-1 1v3a1 1 0 002 0V6a1 1 0 00-1-1z\" clip-rule=\"evenodd\"/></svg>`,\n error: html `<svg class=\"icon\" viewBox=\"0 0 20 20\" fill=\"currentColor\"><path fill-rule=\"evenodd\" d=\"M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z\" clip-rule=\"evenodd\"/></svg>`,\n };\n return html `\n ${icons[this.type]}\n <div class=\"content\">\n ${this.title ? html `<div class=\"title\">${this.title}</div>` : ''}\n <div class=\"message\">${this.message}</div>\n </div>\n <button\n class=\"dismiss\"\n type=\"button\"\n aria-label=\"Dismiss\"\n @click=${this.dismiss}\n >\n <svg viewBox=\"0 0 20 20\" fill=\"currentColor\" width=\"16\" height=\"16\">\n <path fill-rule=\"evenodd\" d=\"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z\" clip-rule=\"evenodd\"/>\n </svg>\n </button>\n `;\n }\n};\nKRSnackbar.styles = css `\n :host,\n *,\n *::before,\n *::after {\n box-sizing: border-box;\n }\n\n :host {\n position: fixed;\n left: 16px;\n bottom: 24px;\n z-index: 10000;\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 14px 12px 14px 16px;\n border-radius: 8px;\n border: 1px solid;\n border-left: 4px solid;\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);\n min-width: 280px;\n max-width: 400px;\n min-height: 48px;\n animation: slideIn 0.2s ease-out;\n }\n\n :host(.kr-snackbar--has-title) {\n align-items: flex-start;\n }\n\n @keyframes slideIn {\n from {\n opacity: 0;\n transform: translateX(-100%);\n }\n to {\n opacity: 1;\n transform: translateX(0);\n }\n }\n\n @keyframes slideOut {\n from {\n opacity: 1;\n transform: translateX(0);\n }\n to {\n opacity: 0;\n transform: translateX(-100%);\n }\n }\n\n :host(.kr-snackbar--closing) {\n animation: slideOut 0.15s ease-in forwards;\n }\n\n /* Variants */\n :host(.kr-snackbar--info) {\n background-color: #eff6ff;\n border-color: #bfdbfe;\n border-left-color: #3b82f6;\n }\n\n :host(.kr-snackbar--info) .icon {\n color: #2563eb;\n }\n\n :host(.kr-snackbar--success) {\n background-color: #f0fdf4;\n border-color: #bbf7d0;\n border-left-color: #22c55e;\n }\n\n :host(.kr-snackbar--success) .icon {\n color: #16a34a;\n }\n\n :host(.kr-snackbar--warning) {\n background-color: #fffbeb;\n border-color: #fde68a;\n border-left-color: #f59e0b;\n }\n\n :host(.kr-snackbar--warning) .icon {\n color: #d97706;\n }\n\n :host(.kr-snackbar--error) {\n background-color: #fef2f2;\n border-color: #fecaca;\n border-left-color: #ef4444;\n }\n\n :host(.kr-snackbar--error) .icon {\n color: #dc2626;\n }\n\n .icon {\n flex-shrink: 0;\n width: 20px;\n height: 20px;\n margin-top: 1px;\n }\n\n .content {\n flex: 1;\n min-width: 0;\n }\n\n .title {\n font-size: 14px;\n font-weight: 600;\n color: #000000;\n margin: 0 0 2px 0;\n }\n\n .message {\n font-size: 14px;\n color: #000000;\n margin: 0;\n }\n\n .dismiss {\n flex-shrink: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n padding: 0;\n background: none;\n border: none;\n border-radius: 4px;\n color: #6b7280;\n cursor: pointer;\n transition: background 0.15s ease, color 0.15s ease;\n }\n\n .dismiss:hover {\n background-color: rgba(0, 0, 0, 0.05);\n color: #374151;\n }\n\n .dismiss:focus-visible {\n outline: 2px solid #3b82f6;\n outline-offset: 2px;\n }\n `;\n/** Track active snackbars for stacking */\nKRSnackbar.activeSnackbars = [];\n__decorate([\n property({ type: String })\n], KRSnackbar.prototype, \"type\", void 0);\n__decorate([\n property({ type: String })\n], KRSnackbar.prototype, \"title\", void 0);\n__decorate([\n property({ type: String })\n], KRSnackbar.prototype, \"message\", void 0);\n__decorate([\n property({ type: Number })\n], KRSnackbar.prototype, \"duration\", void 0);\nKRSnackbar = KRSnackbar_1 = __decorate([\n customElement('kr-snackbar')\n], KRSnackbar);\nexport { KRSnackbar };\n//# sourceMappingURL=snackbar.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { LitElement, html, css, nothing } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { styleMap } from 'lit/directives/style-map.js';\nimport { krBaseCSS } from '../style/base.js';\n/**\n * A tabbed navigation component for switching between content sections.\n *\n * @element kr-tab-group\n *\n * @slot - Default slot for kr-tab children\n *\n * @fires tab-change - Fired when the active tab changes, detail: { activeTabId: string }\n * @fires tab-dismiss - Fired when a dismissible tab is closed, detail: { tabId: string }\n *\n * @example\n * ```html\n * <kr-tab-group active-tab-id=\"settings\">\n * <kr-tab id=\"home\" label=\"Home\">\n * <svg slot=\"icon\" viewBox=\"0 0 20 20\" fill=\"currentColor\" width=\"16\" height=\"16\">...</svg>\n * <p>Home content here</p>\n * </kr-tab>\n * <kr-tab id=\"settings\" label=\"Settings\" badge=\"3\">\n * <svg slot=\"icon\" viewBox=\"0 0 20 20\" fill=\"currentColor\" width=\"16\" height=\"16\">...</svg>\n * <p>Settings content here</p>\n * </kr-tab>\n * </kr-tab-group>\n * ```\n */\nlet KRTabGroup = class KRTabGroup extends LitElement {\n constructor() {\n super(...arguments);\n /**\n * Whether tabs should stretch to fill the full width evenly\n */\n this.justified = false;\n /**\n * Size of the tabs: 'small' | 'medium' | 'large'\n */\n this.size = 'medium';\n }\n updated(changes) {\n if (changes.has('activeTabId')) {\n this._updateActiveTab();\n }\n }\n firstUpdated() {\n this._updateActiveTab();\n }\n _getTabs() {\n return Array.from(this.querySelectorAll('kr-tab'));\n }\n _updateActiveTab() {\n const tabs = this._getTabs();\n if (tabs.length === 0)\n return;\n if (!this.activeTabId) {\n this.activeTabId = tabs[0]?.id;\n }\n tabs.forEach((tab) => {\n tab.active = tab.id === this.activeTabId;\n });\n this.requestUpdate();\n }\n _handleTabClick(tab) {\n if (tab.disabled)\n return;\n this.activeTabId = tab.id;\n this.dispatchEvent(new CustomEvent('tab-change', {\n detail: { activeTabId: tab.id },\n bubbles: true,\n composed: true,\n }));\n }\n _handleTabDismiss(tab, e) {\n e.stopPropagation();\n this.dispatchEvent(new CustomEvent('tab-dismiss', {\n detail: { tabId: tab.id },\n bubbles: true,\n composed: true,\n }));\n }\n _handleKeyDown(e) {\n const enabledTabs = this._getTabs().filter((t) => !t.disabled);\n const currentIndex = enabledTabs.findIndex((t) => t.id === this.activeTabId);\n let newIndex = -1;\n switch (e.key) {\n case 'ArrowLeft':\n newIndex = currentIndex > 0 ? currentIndex - 1 : enabledTabs.length - 1;\n break;\n case 'ArrowRight':\n newIndex = currentIndex < enabledTabs.length - 1 ? currentIndex + 1 : 0;\n break;\n case 'Home':\n newIndex = 0;\n break;\n case 'End':\n newIndex = enabledTabs.length - 1;\n break;\n }\n if (newIndex >= 0) {\n e.preventDefault();\n const newTab = enabledTabs[newIndex];\n this.activeTabId = newTab.id;\n this.dispatchEvent(new CustomEvent('tab-change', {\n detail: { activeTabId: newTab.id },\n bubbles: true,\n composed: true,\n }));\n const tabButtons = this.shadowRoot?.querySelectorAll('.label');\n const targetButton = Array.from(tabButtons || []).find((btn) => btn.getAttribute('data-tab-id') === newTab.id);\n targetButton?.focus();\n }\n }\n _renderTabIcon(tab) {\n const iconElement = tab.getIconElement();\n if (!iconElement)\n return nothing;\n // Clone the icon element to render in the header\n const clonedIcon = iconElement.cloneNode(true);\n clonedIcon.removeAttribute('slot');\n return html `<span class=\"label-icon\">${clonedIcon}</span>`;\n }\n render() {\n return html `\n <div class=\"header\" role=\"tablist\" @keydown=${this._handleKeyDown}>\n ${this._getTabs().map((tab) => html `\n <button\n class=${classMap({\n label: true,\n 'label--active': tab.id === this.activeTabId,\n 'label--justified': this.justified,\n })}\n role=\"tab\"\n data-tab-id=${tab.id}\n aria-selected=${tab.id === this.activeTabId}\n aria-controls=${`panel-${tab.id}`}\n tabindex=${tab.id === this.activeTabId ? 0 : -1}\n ?disabled=${tab.disabled}\n @click=${() => this._handleTabClick(tab)}\n >\n ${this._renderTabIcon(tab)}\n <span>${tab.label}</span>\n ${tab.badge ? html `<span class=\"label-badge\" style=${styleMap({ backgroundColor: tab.badgeBackground, color: tab.badgeColor })}>${tab.badge}</span>` : nothing}\n ${tab.dismissible\n ? html `\n <button\n class=\"label-dismiss\"\n type=\"button\"\n aria-label=\"Close tab\"\n @click=${(e) => this._handleTabDismiss(tab, e)}\n >\n <svg viewBox=\"0 0 20 20\" fill=\"currentColor\" width=\"12\" height=\"12\"><path fill-rule=\"evenodd\" d=\"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z\" clip-rule=\"evenodd\"/></svg>\n </button>\n `\n : nothing}\n </button>\n `)}\n </div>\n <div class=\"content\" role=\"tabpanel\" aria-labelledby=${this.activeTabId || ''}>\n <slot @slotchange=${this._updateActiveTab}></slot>\n </div>\n `;\n }\n};\nKRTabGroup.styles = [\n krBaseCSS,\n css `\n :host {\n display: flex;\n flex-direction: column;\n overflow: hidden;\n }\n\n .header {\n height: 44px;\n display: flex;\n flex-shrink: 0;\n align-items: stretch;\n border-bottom: 1px solid #e5e7eb;\n overflow-x: auto;\n scrollbar-width: none;\n -ms-overflow-style: none;\n }\n\n .header::-webkit-scrollbar {\n display: none;\n }\n\n .label {\n position: relative;\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 12px 16px;\n font-family: inherit;\n font-size: 14px;\n font-weight: 400;\n color: var(--kr-text-muted);\n background: none;\n border: none;\n border-bottom: 2px solid transparent;\n cursor: pointer;\n transition: color 0.15s ease, border-color 0.15s ease, background-color 0.15s ease;\n white-space: nowrap;\n }\n\n .label:hover:not(:disabled) {\n color: var(--kr-text);\n }\n\n .label:focus-visible {\n outline: 2px solid var(--kr-focus);\n outline-offset: -2px;\n }\n\n .label--active {\n color: var(--kr-primary);\n border-bottom-color: var(--kr-primary);\n }\n\n .label:disabled {\n color: var(--kr-text-disabled);\n cursor: not-allowed;\n }\n\n .label--justified {\n flex: 1;\n justify-content: center;\n }\n\n :host([size=\"small\"]) .label {\n padding: 8px 16px;\n font-size: 13px;\n gap: 6px;\n }\n\n :host([size=\"large\"]) .label {\n padding: 16px 20px;\n font-size: 16px;\n gap: 10px;\n }\n\n .label-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n }\n\n .label-badge {\n font-size: 11px;\n font-weight: 500;\n color: var(--kr-primary-text);\n background-color: var(--kr-primary);\n padding: 2px 8px;\n border-radius: 10px;\n margin-left: 4px;\n }\n\n .label-dismiss {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 16px;\n height: 16px;\n margin-left: 4px;\n padding: 0;\n background: none;\n border: none;\n border-radius: 2px;\n color: var(--kr-text-muted);\n cursor: pointer;\n transition: background-color 0.15s ease, color 0.15s ease;\n }\n\n .label-dismiss:hover {\n background-color: var(--kr-border);\n color: var(--kr-text);\n }\n\n .label-dismiss:focus-visible {\n outline: 2px solid var(--kr-focus);\n outline-offset: 2px;\n }\n\n\n .content {\n flex: 1;\n overflow: auto;\n }\n\n /* Default slot styles - kr-tab children show/hide via their own active attribute */\n ::slotted(kr-tab) {\n display: none;\n }\n\n ::slotted(kr-tab[active]) {\n display: block;\n }\n `,\n];\n__decorate([\n property({ type: String, attribute: 'active-tab-id' })\n], KRTabGroup.prototype, \"activeTabId\", void 0);\n__decorate([\n property({ type: Boolean })\n], KRTabGroup.prototype, \"justified\", void 0);\n__decorate([\n property({ type: String, reflect: true })\n], KRTabGroup.prototype, \"size\", void 0);\nKRTabGroup = __decorate([\n customElement('kr-tab-group')\n], KRTabGroup);\nexport { KRTabGroup };\n//# sourceMappingURL=tabs.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { LitElement, html, css } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { krBaseCSS } from '../style/base.js';\n/**\n * A tab for the kr-tab-group component.\n *\n * @element kr-tab\n * @slot - The tab panel content\n * @slot icon - Optional icon to display in the tab header\n */\nlet KRTab = class KRTab extends LitElement {\n constructor() {\n super(...arguments);\n /**\n * Unique identifier for the tab\n */\n this.id = '';\n /**\n * Display label for the tab\n */\n this.label = '';\n /**\n * Badge text displayed next to label (e.g. notification count)\n */\n this.badge = '';\n /**\n * Badge background color\n */\n this.badgeBackground = '';\n /**\n * Badge text color\n */\n this.badgeColor = '';\n /**\n * Whether the tab is disabled\n */\n this.disabled = false;\n /**\n * Whether the tab can be dismissed/closed\n */\n this.dismissible = false;\n /**\n * Whether this tab is currently active (set by parent)\n */\n this.active = false;\n }\n /**\n * Gets the icon element from the icon slot (if any)\n */\n getIconElement() {\n return this.querySelector('[slot=\"icon\"]');\n }\n render() {\n console.log('tab render');\n return html `<slot></slot>`;\n }\n};\nKRTab.styles = [\n krBaseCSS,\n css `\n :host {\n display: none;\n }\n\n :host([active]) {\n display: block;\n width: 100%;\n height: 100%;\n }\n `,\n];\n__decorate([\n property({ type: String, reflect: true })\n], KRTab.prototype, \"id\", void 0);\n__decorate([\n property({ type: String })\n], KRTab.prototype, \"label\", void 0);\n__decorate([\n property({ type: String })\n], KRTab.prototype, \"badge\", void 0);\n__decorate([\n property({ type: String, attribute: 'badge-background' })\n], KRTab.prototype, \"badgeBackground\", void 0);\n__decorate([\n property({ type: String, attribute: 'badge-color' })\n], KRTab.prototype, \"badgeColor\", void 0);\n__decorate([\n property({ type: Boolean })\n], KRTab.prototype, \"disabled\", void 0);\n__decorate([\n property({ type: Boolean })\n], KRTab.prototype, \"dismissible\", void 0);\n__decorate([\n property({ type: Boolean, reflect: true })\n], KRTab.prototype, \"active\", void 0);\nKRTab = __decorate([\n customElement('kr-tab')\n], KRTab);\nexport { KRTab };\n//# sourceMappingURL=tab.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { LitElement, html, css, nothing, render } from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { styleMap } from 'lit/directives/style-map.js';\nimport { krBaseCSS } from '../style/base.js';\nimport '../button/button.js';\nimport { KRSnackbar } from '../snackbar/snackbar.js';\n// === Solr Utilities ===\nconst SOLR_RESERVED_CHARS = [\n '\"', '+', '-', '&&', '||', '!', '(', ')', '{',\n '}', '[', ']', '^', '~', '*', '?', ':'\n];\nconst SOLR_RESERVED_CHARS_REPLACEMENT = [\n '\\\\\"', '\\\\+', '\\\\-', '\\\\&\\\\&', '\\\\|\\\\|', '\\\\!', '\\\\(', '\\\\)', '\\\\{',\n '\\\\}', '\\\\[', '\\\\]', '\\\\^', '\\\\~', '\\\\*', '\\\\?', '\\\\:'\n];\nfunction escapeSolrQuery(query) {\n let escaped = query;\n for (let i = 0; i < SOLR_RESERVED_CHARS.length; i++) {\n escaped = escaped.split(SOLR_RESERVED_CHARS[i]).join(SOLR_RESERVED_CHARS_REPLACEMENT[i]);\n }\n return escaped;\n}\nlet KRTable = class KRTable extends LitElement {\n constructor() {\n super(...arguments);\n /**\n * Internal flag to switch between scroll edge modes:\n * - 'overlay': Fixed padding with overlay elements that hide content at edges (scrollbar at viewport edge)\n * - 'edge': Padding scrolls with content, allowing table to reach edges when scrolling\n */\n this._scrollStyle = 'overlay';\n this._data = [];\n this._dataState = 'idle';\n this._page = 1;\n this._pageSize = 50;\n this._totalItems = 0;\n this._totalPages = 0;\n this._searchQuery = '';\n this._canScrollLeft = false;\n this._canScrollRight = false;\n this._canScrollHorizontal = false;\n this._columnPickerOpen = false;\n this._displayedColumns = [];\n this._resizing = null;\n this._resizeObserver = null;\n this._searchPositionLocked = false;\n this._def = { columns: [] };\n this.def = { columns: [] };\n this._handleClickOutsideColumnPicker = (e) => {\n if (!this._columnPickerOpen)\n return;\n const path = e.composedPath();\n const picker = this.shadowRoot?.querySelector('.column-picker-wrapper');\n if (picker && !path.includes(picker)) {\n this._columnPickerOpen = false;\n }\n };\n this._handleResizeMove = (e) => {\n if (!this._resizing)\n return;\n const col = this._def.columns.find(c => c.id === this._resizing.columnId);\n if (col) {\n const newWidth = this._resizing.startWidth + (e.clientX - this._resizing.startX);\n col.width = `${Math.min(900, Math.max(50, newWidth))}px`;\n this.requestUpdate();\n }\n };\n this._handleResizeEnd = () => {\n this._resizing = null;\n document.removeEventListener('mousemove', this._handleResizeMove);\n document.removeEventListener('mouseup', this._handleResizeEnd);\n };\n }\n connectedCallback() {\n super.connectedCallback();\n this.classList.toggle('kr-table--scroll-overlay', this._scrollStyle === 'overlay');\n this.classList.toggle('kr-table--scroll-edge', this._scrollStyle === 'edge');\n this._fetch();\n this._initRefresh();\n document.addEventListener('click', this._handleClickOutsideColumnPicker);\n this._resizeObserver = new ResizeObserver(() => {\n // Unlock and recalculate on resize since layout changes\n this._searchPositionLocked = false;\n this._updateSearchPosition();\n });\n this._resizeObserver.observe(this);\n }\n disconnectedCallback() {\n super.disconnectedCallback();\n clearInterval(this._refreshTimer);\n document.removeEventListener('click', this._handleClickOutsideColumnPicker);\n this._resizeObserver?.disconnect();\n }\n willUpdate(changedProperties) {\n if (changedProperties.has('def')) {\n // Copy user's def and normalize action columns\n this._def = {\n ...this.def,\n columns: this.def.columns.map(col => {\n if (col.type === 'actions') {\n return { ...col, label: col.label ?? '', sticky: 'right', resizable: false };\n }\n return { ...col };\n })\n };\n this._displayedColumns = this._def.displayedColumns || this._def.columns.map(c => c.id);\n this._fetch();\n this._initRefresh();\n }\n }\n updated(changedProperties) {\n this._updateScrollFlags();\n this._syncSlottedContent();\n }\n /** Syncs light DOM content for cells with custom render functions */\n _syncSlottedContent() {\n const columns = this.getDisplayedColumns().filter(col => col.render);\n if (!columns.length)\n return;\n // Clear old slotted content\n this.querySelectorAll('[slot^=\"cell-\"]').forEach(el => el.remove());\n // Create new slotted content\n this._data.forEach((row, rowIndex) => {\n columns.forEach(col => {\n const result = col.render(row);\n if (!result)\n return;\n const el = document.createElement('span');\n el.slot = `cell-${rowIndex}-${col.id}`;\n if (col.type === 'actions') {\n el.style.display = 'flex';\n el.style.gap = '8px';\n }\n if (typeof result === 'string') {\n el.innerHTML = result;\n }\n else {\n render(result, el);\n }\n this.appendChild(el);\n });\n });\n }\n // ----------------------------------------------------------------------------\n // Public Interface\n // ----------------------------------------------------------------------------\n refresh() {\n this._fetch();\n }\n goToPrevPage() {\n if (this._page > 1) {\n this._page--;\n this._fetch();\n }\n }\n goToNextPage() {\n if (this._page < this._totalPages) {\n this._page++;\n this._fetch();\n }\n }\n goToPage(page) {\n if (page >= 1 && page <= this._totalPages) {\n this._page = page;\n this._fetch();\n }\n }\n // ----------------------------------------------------------------------------\n // Data Fetching\n // ----------------------------------------------------------------------------\n /**\n * Fetches data from the API and updates the table.\n * Shows a loading spinner while fetching, then displays rows on success\n * or an error snackbar on failure.\n * Request/response format depends on dataSource.mode (solr, opensearch, db).\n */\n _fetch() {\n if (!this._def.dataSource)\n return;\n this._dataState = 'loading';\n // Build request based on mode\n let request;\n switch (this._def.dataSource.mode) {\n case 'opensearch':\n throw Error('Opensearch not supported yet');\n case 'db':\n request = {\n page: this._page - 1,\n size: this._pageSize,\n sorts: [],\n filterFields: [],\n queryFields: [],\n facetFields: []\n };\n if (this._searchQuery?.trim().length) {\n this._def.columns.filter(col => col.searchable).forEach(col => {\n request.queryFields.push({\n name: col.id,\n operation: 'CONTAINS',\n value: this._searchQuery,\n and: false\n });\n });\n }\n break;\n default: // solr\n request = {\n page: this._page - 1,\n size: this._pageSize,\n sorts: [],\n filterFields: [],\n queryFields: [],\n facetFields: []\n };\n if (this._searchQuery?.trim().length) {\n request.queryFields.push({\n name: '_text_',\n operation: 'IS',\n value: escapeSolrQuery(this._searchQuery)\n });\n }\n }\n this._def.dataSource.fetch(request)\n .then(response => {\n // Parse response based on mode\n switch (this._def.dataSource?.mode) {\n case 'opensearch': {\n throw Error('Opensearch not supported yet');\n break;\n }\n case 'db': {\n const res = response;\n this._data = res.data.content;\n this._totalItems = res.data.totalElements;\n this._totalPages = res.data.totalPages;\n this._pageSize = res.data.size;\n break;\n }\n default: { // solr\n const res = response;\n this._data = res.data.content;\n this._totalItems = res.data.totalElements;\n this._totalPages = res.data.totalPages;\n this._pageSize = res.data.size;\n }\n }\n this._dataState = 'success';\n this._updateSearchPosition();\n })\n .catch(err => {\n this._dataState = 'error';\n KRSnackbar.show({\n message: err instanceof Error ? err.message : 'Failed to load data',\n type: 'error'\n });\n });\n }\n /**\n * Sets up auto-refresh so the table automatically fetches fresh data\n * at a regular interval (useful for dashboards, monitoring views).\n * Configured via def.refreshInterval in milliseconds.\n */\n _initRefresh() {\n clearInterval(this._refreshTimer);\n if (this._def.refreshInterval && this._def.refreshInterval > 0) {\n this._refreshTimer = window.setInterval(() => {\n this._fetch();\n }, this._def.refreshInterval);\n }\n }\n _handleSearch(e) {\n const input = e.target;\n this._searchQuery = input.value;\n this._page = 1;\n this._fetch();\n }\n _getGridTemplateColumns() {\n const cols = this.getDisplayedColumns();\n return cols.map((col) => {\n // If column has explicit width, use it\n if (col.width) {\n return col.width;\n }\n // Actions columns: fit content without minimum\n if (col.type === 'actions') {\n return 'max-content';\n }\n // No width specified - use content-based sizing with minimum\n return 'minmax(80px, auto)';\n }).join(' ');\n }\n /**\n * Updates search position to be centered with equal gaps from title and tools.\n * On first call: resets to flex centering, measures position, then locks with fixed margin.\n * Subsequent calls are ignored unless _searchPositionLocked is reset (e.g., on resize).\n */\n _updateSearchPosition() {\n // Skip if already locked (prevents shifts on pagination changes)\n if (this._searchPositionLocked)\n return;\n const search = this.shadowRoot?.querySelector('.search');\n const searchField = search?.querySelector('.search-field');\n if (!search || !searchField)\n return;\n // Reset to flex centering\n search.style.justifyContent = 'center';\n searchField.style.marginLeft = '';\n requestAnimationFrame(() => {\n const searchRect = search.getBoundingClientRect();\n const fieldRect = searchField.getBoundingClientRect();\n // Calculate how far from the left of search container the field currently is\n const currentOffset = fieldRect.left - searchRect.left;\n // Lock position: switch to flex-start and use fixed margin\n search.style.justifyContent = 'flex-start';\n searchField.style.marginLeft = `${currentOffset}px`;\n // Mark as locked so pagination changes don't shift the search\n this._searchPositionLocked = true;\n });\n }\n // ----------------------------------------------------------------------------\n // Columns\n // ----------------------------------------------------------------------------\n _toggleColumnPicker() {\n this._columnPickerOpen = !this._columnPickerOpen;\n }\n _toggleColumn(columnId) {\n if (this._displayedColumns.includes(columnId)) {\n this._displayedColumns = this._displayedColumns.filter(id => id !== columnId);\n }\n else {\n this._displayedColumns = [...this._displayedColumns, columnId];\n }\n }\n // Clear any existing text selection on mousedown so we only detect\n // selections made during this click gesture, not stale selections from elsewhere\n _handleRowMouseDown() {\n if (!this._def.rowClickable) {\n return;\n }\n window.getSelection()?.removeAllRanges();\n }\n _handleRowClick(row, rowIndex) {\n if (!this._def.rowClickable) {\n return;\n }\n const selection = window.getSelection();\n if (selection && selection.toString().length > 0) {\n return;\n }\n this.dispatchEvent(new CustomEvent('row-click', {\n detail: { row, rowIndex },\n bubbles: true,\n composed: true\n }));\n }\n // When a user toggles a column on via the column picker, it gets appended\n // to _displayedColumns. By mapping over _displayedColumns (not def.columns),\n // the new column appears at the right edge of the table instead of jumping\n // back to its original position in the column definition.\n // Actions columns are always moved to the end.\n getDisplayedColumns() {\n return this._displayedColumns\n .map(id => this._def.columns.find(col => col.id === id))\n .sort((a, b) => {\n if (a.type === 'actions' && b.type !== 'actions')\n return 1;\n if (a.type !== 'actions' && b.type === 'actions')\n return -1;\n return 0;\n });\n }\n // ----------------------------------------------------------------------------\n // Scrolling\n // ----------------------------------------------------------------------------\n /**\n * Scroll event handler that updates scroll flags in real-time as user scrolls.\n * Updates shadow indicators to show if more content exists left/right.\n */\n _handleScroll(e) {\n const container = e.target;\n this._canScrollLeft = container.scrollLeft > 0;\n this._canScrollRight = container.scrollLeft < container.scrollWidth - container.clientWidth - 1;\n }\n /**\n * Updates scroll state flags for the table content container.\n * - _canScrollLeft: true if scrolled right (can scroll back left)\n * - _canScrollRight: true if more content exists to the right\n * - _canScrollHorizontal: true if content is wider than container\n * These flags control scroll shadow indicators and CSS classes.\n */\n _updateScrollFlags() {\n const container = this.shadowRoot?.querySelector('.content');\n if (container) {\n this._canScrollLeft = container.scrollLeft > 0;\n this._canScrollRight = container.scrollWidth > container.clientWidth && container.scrollLeft < container.scrollWidth - container.clientWidth - 1;\n this._canScrollHorizontal = container.scrollWidth > container.clientWidth;\n }\n this.classList.toggle('kr-table--scroll-left-available', this._canScrollLeft);\n this.classList.toggle('kr-table--scroll-right-available', this._canScrollRight);\n this.classList.toggle('kr-table--scroll-horizontal-available', this._canScrollHorizontal);\n this.classList.toggle('kr-table--sticky-left', this.getDisplayedColumns().some(c => c.sticky === 'left'));\n this.classList.toggle('kr-table--sticky-right', this.getDisplayedColumns().some(c => c.sticky === 'right'));\n }\n // ----------------------------------------------------------------------------\n // Column Resizing\n // ----------------------------------------------------------------------------\n _handleResizeStart(e, columnId) {\n e.preventDefault();\n const headerCell = this.shadowRoot?.querySelector(`.header-cell[data-column-id=\"${columnId}\"]`);\n this._resizing = {\n columnId,\n startX: e.clientX,\n startWidth: headerCell?.offsetWidth || 200\n };\n document.addEventListener('mousemove', this._handleResizeMove);\n document.addEventListener('mouseup', this._handleResizeEnd);\n }\n // ----------------------------------------------------------------------------\n // Header\n // ----------------------------------------------------------------------------\n _handleAction(action) {\n if (action.href) {\n return;\n }\n this.dispatchEvent(new CustomEvent('action', {\n detail: { action: action.id },\n bubbles: true,\n composed: true\n }));\n }\n // ----------------------------------------------------------------------------\n // Rendering\n // ----------------------------------------------------------------------------\n _renderCellContent(column, row, rowIndex) {\n const value = row[column.id];\n if (column.render) {\n // Use slot to project content from light DOM so external styles apply\n return html `<slot name=\"cell-${rowIndex}-${column.id}\"></slot>`;\n }\n if (value === null || value === undefined) {\n return '';\n }\n switch (column.type) {\n case 'number':\n return typeof value === 'number' ? value.toLocaleString() : String(value);\n case 'currency':\n return typeof value === 'number'\n ? value.toLocaleString('en-US', { style: 'currency', currency: 'USD' })\n : String(value);\n case 'date': {\n let date;\n if (value instanceof Date) {\n date = value;\n }\n else if (typeof value === 'string' && /^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}/.test(value)) {\n // MySQL datetime format (UTC): \"2026-01-28 01:33:44:517\"\n // Replace last colon before ms with dot, append Z for UTC\n const isoString = value.replace(/(\\d{2}:\\d{2}:\\d{2}):(\\d+)$/, '$1.$2').replace(' ', 'T') + 'Z';\n date = new Date(isoString);\n }\n else {\n date = new Date(value);\n }\n // Show date and time for datetime values\n return date.toLocaleString(undefined, {\n year: 'numeric', month: 'short', day: 'numeric',\n hour: 'numeric', minute: '2-digit'\n });\n }\n case 'boolean':\n if (value === true)\n return 'Yes';\n if (value === false)\n return 'No';\n return '';\n default:\n return String(value);\n }\n }\n /**\n * Returns CSS classes for a header cell based on column config.\n */\n _getHeaderCellClasses(column, index) {\n return {\n 'header-cell': true,\n 'header-cell--align-center': column.align === 'center',\n 'header-cell--align-right': column.align === 'right',\n 'header-cell--sticky-left': column.sticky === 'left',\n 'header-cell--sticky-left-last': column.sticky === 'left' &&\n !this.getDisplayedColumns().slice(index + 1).some(c => c.sticky === 'left'),\n 'header-cell--sticky-right': column.sticky === 'right',\n 'header-cell--sticky-right-first': column.sticky === 'right' &&\n !this.getDisplayedColumns().slice(0, index).some(c => c.sticky === 'right')\n };\n }\n /**\n * Returns CSS classes for a table cell based on column config:\n * - Alignment (center, right)\n * - Sticky positioning (left, right)\n * - Border classes for the last left-sticky or first right-sticky column\n */\n _getCellClasses(column, index) {\n return {\n 'cell': true,\n 'cell--actions': column.type === 'actions',\n 'cell--align-center': column.align === 'center',\n 'cell--align-right': column.align === 'right',\n 'cell--sticky-left': column.sticky === 'left',\n 'cell--sticky-left-last': column.sticky === 'left' &&\n !this.getDisplayedColumns().slice(index + 1).some(c => c.sticky === 'left'),\n 'cell--sticky-right': column.sticky === 'right',\n 'cell--sticky-right-first': column.sticky === 'right' &&\n !this.getDisplayedColumns().slice(0, index).some(c => c.sticky === 'right')\n };\n }\n /**\n * Returns inline styles for a table cell:\n * - Width (from column config or default 150px)\n * - Min-width (if specified)\n * - Left/right offset for sticky columns (calculated from widths of preceding sticky columns)\n */\n _getCellStyle(column, index) {\n const styles = {};\n if (column.sticky === 'left') {\n let leftOffset = 0;\n for (let i = 0; i < index; i++) {\n const col = this.getDisplayedColumns()[i];\n if (col.sticky === 'left') {\n leftOffset += parseInt(col.width || '0', 10);\n }\n }\n styles.left = `${leftOffset}px`;\n }\n if (column.sticky === 'right') {\n let rightOffset = 0;\n for (let i = index + 1; i < this.getDisplayedColumns().length; i++) {\n const col = this.getDisplayedColumns()[i];\n if (col.sticky === 'right') {\n rightOffset += parseInt(col.width || '0', 10);\n }\n }\n styles.right = `${rightOffset}px`;\n }\n return styles;\n }\n /**\n * Renders the pagination controls:\n * - Previous page arrow (disabled on first page)\n * - Range text showing \"1-50 of 150\" format\n * - Next page arrow (disabled on last page)\n *\n * Hidden when there's no data or all data fits on one page.\n */\n _renderPagination() {\n const start = (this._page - 1) * this._pageSize + 1;\n const end = Math.min(this._page * this._pageSize, this._totalItems);\n return html `\n <div class=\"pagination\">\n <span\n class=\"pagination-icon ${this._page === 1 ? 'pagination-icon--disabled' : ''}\"\n @click=${this.goToPrevPage}\n >\n <svg viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z\"/></svg>\n </span>\n <span class=\"pagination-info\">${start}-${end} of ${this._totalItems}</span>\n <span\n class=\"pagination-icon ${this._page === this._totalPages ? 'pagination-icon--disabled' : ''}\"\n @click=${this.goToNextPage}\n >\n <svg viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z\"/></svg>\n </span>\n </div>\n `;\n }\n /**\n * Renders the header toolbar containing:\n * - Title (left)\n * - Search bar with view selector dropdown (center)\n * - Tools (right): page navigation, refresh button, column visibility picker, actions dropdown\n *\n * Hidden when there's no title, no actions, and data fits on one page.\n */\n _renderHeader() {\n if (!this._def.title && !this._def.actions?.length && this._totalPages <= 1) {\n return nothing;\n }\n return html `\n <div class=\"header\">\n <div class=\"title\">${this._def.title ?? ''}</div>\n ${this._def.dataSource?.mode === 'db' && !this._def.columns.some(col => col.searchable) ? html `<div class=\"search\"></div>` : html `\n <div class=\"search\">\n <!-- TODO: Saved views dropdown\n <div class=\"views\">\n <span>Default View</span>\n <svg viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M7.41 8.59L12 13.17l4.59-4.58L18 10l-6 6-6-6 1.41-1.41z\"/></svg>\n </div>\n -->\n <div class=\"search-field\">\n <svg class=\"search-icon\" viewBox=\"0 -960 960 960\" fill=\"currentColor\"><path d=\"M784-120 532-372q-30 24-69 38t-83 14q-109 0-184.5-75.5T120-580q0-109 75.5-184.5T380-840q109 0 184.5 75.5T640-580q0 44-14 83t-38 69l252 252-56 56ZM380-400q75 0 127.5-52.5T560-580q0-75-52.5-127.5T380-760q-75 0-127.5 52.5T200-580q0 75 52.5 127.5T380-400Z\"/></svg>\n <input\n type=\"text\"\n class=\"search-input\"\n placeholder=\"Search...\"\n .value=${this._searchQuery}\n @input=${this._handleSearch}\n />\n </div>\n </div>\n `}\n <div class=\"tools\">\n ${this._renderPagination()}\n <span class=\"refresh\" title=\"Refresh\" @click=${() => this.refresh()}>\n <svg viewBox=\"0 -960 960 960\" fill=\"currentColor\"><path d=\"M480-160q-134 0-227-93t-93-227q0-134 93-227t227-93q69 0 132 28.5T720-690v-110h80v280H520v-80h168q-32-56-87.5-88T480-720q-100 0-170 70t-70 170q0 100 70 170t170 70q77 0 139-44t87-116h84q-28 106-114 173t-196 67Z\"/></svg>\n </span>\n <div class=\"column-picker-wrapper\">\n <span class=\"header-icon\" title=\"Columns\" @click=${this._toggleColumnPicker}>\n <svg viewBox=\"0 -960 960 960\" fill=\"currentColor\"><path d=\"M121-280v-400q0-33 23.5-56.5T201-760h559q33 0 56.5 23.5T840-680v400q0 33-23.5 56.5T760-200H201q-33 0-56.5-23.5T121-280Zm79 0h133v-400H200v400Zm213 0h133v-400H413v400Zm213 0h133v-400H626v400Z\"/></svg>\n </span>\n <div class=\"column-picker ${this._columnPickerOpen ? 'open' : ''}\">\n ${[...this._def.columns].filter(col => col.type !== 'actions').sort((a, b) => (a.label ?? a.id).localeCompare(b.label ?? b.id)).map(col => html `\n <div class=\"column-picker-item\" @click=${() => this._toggleColumn(col.id)}>\n <div class=\"column-picker-checkbox ${this._displayedColumns.includes(col.id) ? 'checked' : ''}\">\n <svg viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\"/></svg>\n </div>\n <span class=\"column-picker-label\">${col.label ?? col.id}</span>\n </div>\n `)}\n </div>\n </div>\n ${this._def.actions?.length === 1 ? html `\n <kr-button\n class=\"actions\"\n .href=${this._def.actions[0].href}\n .target=${this._def.actions[0].target}\n @click=${() => this._handleAction(this._def.actions[0])}\n >\n ${this._def.actions[0].label}\n </kr-button>\n ` : this._def.actions?.length ? html `\n <kr-button\n class=\"actions\"\n .options=${this._def.actions.map(a => ({ id: a.id, label: a.label }))}\n @option-select=${(e) => this._handleAction({ id: e.detail.id, label: e.detail.label })}\n >\n Actions\n </kr-button>\n ` : nothing}\n </div>\n </div>\n `;\n }\n /** Renders status message (loading, error, empty) */\n _renderStatus() {\n if (this._dataState === 'loading' && this._data.length === 0) {\n return html `<div class=\"status\">Loading...</div>`;\n }\n if (this._dataState === 'error' && this._data.length === 0) {\n return html `<div class=\"status status--error\">Error loading data</div>`;\n }\n if (this._data.length === 0) {\n return html `<div class=\"status\">No data available</div>`;\n }\n return nothing;\n }\n /** Renders the scrollable data grid with column headers and rows. */\n _renderTable() {\n return html `\n <div class=\"wrapper\">\n <div class=\"overlay-left\"></div>\n <div class=\"overlay-right\"></div>\n ${this._renderStatus()}\n <div class=\"content\" @scroll=${this._handleScroll}>\n <div class=\"table\" style=\"grid-template-columns: ${this._getGridTemplateColumns()}\">\n <div class=\"header-row\">\n ${this.getDisplayedColumns().map((col, i) => html `\n <div\n class=${classMap(this._getHeaderCellClasses(col, i))}\n style=${styleMap(this._getCellStyle(col, i))}\n data-column-id=${col.id}\n >${col.label ?? col.id}${col.resizable !== false ? html `<div\n class=\"header-cell__resize\"\n @mousedown=${(e) => this._handleResizeStart(e, col.id)}\n ></div>` : nothing}</div>\n `)}\n </div>\n ${this._data.map((row, rowIndex) => {\n const cells = this.getDisplayedColumns().map((col, i) => html `\n <div\n class=${classMap(this._getCellClasses(col, i))}\n style=${styleMap(this._getCellStyle(col, i))}\n data-column-id=${col.id}\n >\n ${this._renderCellContent(col, row, rowIndex)}\n </div>\n `);\n if (this._def.rowHref) {\n return html `\n <a\n href=${this._def.rowHref(row)}\n class=${classMap({ 'row': true, 'row--clickable': true, 'row--link': true })}\n @mousedown=${() => this._handleRowMouseDown()}\n @click=${() => this._handleRowClick(row, rowIndex)}\n >${cells}</a>\n `;\n }\n return html `\n <div\n class=${classMap({ 'row': true, 'row--clickable': !!this._def.rowClickable })}\n @mousedown=${() => this._handleRowMouseDown()}\n @click=${() => this._handleRowClick(row, rowIndex)}\n >${cells}</div>\n `;\n })}\n </div>\n </div>\n </div>\n `;\n }\n /**\n * Renders a data table with:\n * - Header bar with title, search input with view selector, and tools (pagination, refresh, column visibility, actions dropdown)\n * - Scrollable grid with sticky header row and optional sticky left/right columns\n * - Loading, error message, or empty state when no data\n */\n render() {\n if (!this._def.columns.length) {\n return html `<slot></slot>`;\n }\n return html `\n ${this._renderHeader()}\n ${this._renderTable()}\n `;\n }\n};\nKRTable.styles = [krBaseCSS, css `\n /* -------------------------------------------------------------------------\n * Host\n * ----------------------------------------------------------------------- */\n :host {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n overflow: hidden;\n container-type: inline-size;\n }\n\n /* -------------------------------------------------------------------------\n * Header\n * ----------------------------------------------------------------------- */\n .header {\n flex-shrink: 0;\n display: flex;\n align-items: center;\n gap: 16px;\n margin: 0 24px;\n padding: 0 4px;\n height: 64px;\n border-bottom: 1px solid #e5e7eb;\n background: #fff;\n }\n\n :host(.kr-table--scroll-edge) .header {\n border-bottom: none;\n }\n\n .title {\n font-size: 18px;\n font-weight: 600;\n color: #000;\n }\n\n /* -------------------------------------------------------------------------\n * Content\n * ----------------------------------------------------------------------- */\n .wrapper {\n flex: 1;\n position: relative;\n overflow: hidden;\n }\n\n .content {\n height: 100%;\n overflow: auto;\n padding-bottom: 24px;\n }\n\n /* -------------------------------------------------------------------------\n * Search\n * ----------------------------------------------------------------------- */\n .search {\n flex: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n min-width: 0;\n }\n\n .search-field {\n width: 100%;\n max-width: 400px;\n position: relative;\n display: flex;\n align-items: center;\n border: 1px solid #00000038;\n border-radius: 18px;\n transition: border-color 0.2s, box-shadow 0.2s;\n }\n\n .search-field:focus-within {\n border-color: #163052;\n box-shadow: 0 0 0 3px rgba(22, 48, 82, 0.1);\n }\n\n /* TODO: Uncomment when views dropdown is added\n .search-field:focus-within .views {\n border-color: #163052;\n }\n */\n\n .search-icon {\n position: absolute;\n left: 16px;\n width: 20px;\n height: 20px;\n color: #656871;\n pointer-events: none;\n }\n\n .search-input {\n height: 36px;\n padding: 0 16px 0 42px;\n border: none;\n border-radius: 16px;\n font-size: 14px;\n font-weight: 400;\n font-family: inherit;\n color: #163052;\n background: transparent;\n outline: none;\n flex: 1;\n min-width: 0;\n width: 100%;\n }\n\n .search-input::placeholder {\n color: #656871;\n font-weight: 400;\n }\n\n .search-input:focus {\n outline: none;\n }\n\n @container (max-width: 800px) {\n .search-field {\n max-width: 250px;\n }\n }\n\n .views {\n display: flex;\n align-items: center;\n gap: 4px;\n height: 36px;\n padding: 0 16px;\n border: 1px solid #00000038;\n border-right: none;\n border-radius: 16px 0 0 16px;\n font-size: 14px;\n font-family: inherit;\n color: #163052;\n background: transparent;\n cursor: pointer;\n white-space: nowrap;\n transition: border-color 0.2s;\n }\n\n .views:hover {\n background: #e8f0f8;\n }\n\n .views svg {\n width: 16px;\n height: 16px;\n color: #163052;\n }\n\n /* -------------------------------------------------------------------------\n * Pagination\n * ----------------------------------------------------------------------- */\n .tools {\n display: flex;\n align-items: center;\n gap: 8px;\n }\n\n .pagination {\n display: flex;\n align-items: center;\n gap: 2px;\n }\n\n .pagination-info {\n font-size: 13px;\n color: var(--kr-primary);\n white-space: nowrap;\n }\n\n .pagination-icon {\n display: flex;\n color: var(--kr-primary);\n cursor: pointer;\n }\n\n .pagination-icon--disabled {\n opacity: 0.3;\n pointer-events: none;\n }\n\n .pagination-icon svg {\n width: 24px;\n height: 24px;\n }\n\n /* -------------------------------------------------------------------------\n * Header Icons\n * ----------------------------------------------------------------------- */\n .refresh,\n .header-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--kr-primary);\n background: #EBF1FA;\n cursor: pointer;\n padding: 6px;\n border-radius: 50%;\n transition: background 0.15s;\n }\n\n .refresh:hover,\n .header-icon:hover {\n background: #e8f0f8;\n }\n\n .refresh svg,\n .header-icon svg {\n width: 24px;\n height: 24px;\n }\n\n /* -------------------------------------------------------------------------\n * Column Picker\n * ----------------------------------------------------------------------- */\n .column-picker-wrapper {\n position: relative;\n }\n\n .column-picker {\n position: absolute;\n top: 100%;\n right: 0;\n margin-top: 4px;\n min-width: 200px;\n max-height: calc(100vh - 120px);\n overflow-y: auto;\n background: white;\n border: 1px solid #9ba7b6;\n border-radius: 8px;\n box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);\n padding: 8px 0;\n z-index: 100;\n display: none;\n transform-origin: top;\n }\n\n .column-picker.open {\n display: block;\n animation: column-picker-fade-in 150ms ease-out;\n }\n\n @keyframes column-picker-fade-in {\n from {\n opacity: 0;\n transform: translateY(-4px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n }\n\n .column-picker-item {\n display: flex;\n align-items: center;\n gap: 10px;\n padding: 8px 16px;\n cursor: pointer;\n white-space: nowrap;\n }\n\n .column-picker-item:hover {\n background: #f3f4f6;\n }\n\n .column-picker-checkbox {\n width: 16px;\n height: 16px;\n border: 1.5px solid #9ca3af;\n border-radius: 3px;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n transition: all 0.15s;\n }\n\n .column-picker-checkbox.checked {\n background: var(--kr-primary);\n border-color: var(--kr-primary);\n }\n\n .column-picker-checkbox svg {\n width: 12px;\n height: 12px;\n color: white;\n opacity: 0;\n }\n\n .column-picker-checkbox.checked svg {\n opacity: 1;\n }\n\n .column-picker-label {\n font-size: 14px;\n color: #374151;\n }\n\n /* -------------------------------------------------------------------------\n * Table Structure\n * ----------------------------------------------------------------------- */\n .table {\n display: grid;\n width: max-content;\n min-width: 100%;\n font-size: 14px;\n }\n\n .row {\n display: contents;\n }\n\n .row:hover .cell {\n background: #f9fafb;\n }\n\n .row--clickable {\n cursor: pointer;\n }\n\n .row--link {\n color: inherit;\n text-decoration: none;\n }\n\n .header-row {\n display: contents;\n }\n\n .cell {\n height: 48px;\n padding: 0 16px;\n display: flex;\n align-items: center;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n box-sizing: border-box;\n }\n\n .cell--actions {\n gap: 8px;\n }\n\n .header-cell {\n position: sticky;\n top: 0;\n z-index: 2;\n height: 48px;\n line-height: 48px;\n padding: 0 16px;\n white-space: nowrap;\n box-sizing: border-box;\n background: #f9fafb;\n border-bottom: 2px solid #e5e7eb;\n font-weight: 600;\n color: #374151;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .header-cell__resize {\n position: absolute;\n right: -7px;\n top: 0;\n bottom: 0;\n width: 14px;\n cursor: col-resize;\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 10;\n }\n\n .header-cell__resize::after {\n content: '';\n width: 2px;\n height: 20px;\n background: #c6c6cd;\n }\n\n .header-cell:last-child .header-cell__resize::after {\n display: none;\n }\n\n .cell {\n background: #fff;\n border-bottom: 1px solid #e5e7eb;\n color: #1f2937;\n }\n\n .cell--align-center {\n text-align: center;\n }\n\n .cell--align-right {\n text-align: right;\n }\n\n .cell--sticky-left,\n .cell--sticky-right {\n position: sticky;\n z-index: 1;\n }\n\n .header-cell--sticky-left,\n .header-cell--sticky-right {\n position: sticky;\n z-index: 3;\n }\n\n .header-cell--align-center {\n text-align: center;\n }\n\n .header-cell--align-right {\n text-align: right;\n }\n\n .header-cell--sticky-left-last,\n .cell--sticky-left-last {\n border-right: 1px solid #d1d5db;\n }\n\n .header-cell--sticky-right-first,\n .cell--sticky-right-first {\n border-left: 1px solid #d1d5db;\n }\n\n /* -------------------------------------------------------------------------\n * Scroll Mode: Edge\n * Padding scrolls with content, table can reach edges when scrolling\n * ----------------------------------------------------------------------- */\n :host(.kr-table--scroll-edge) .table {\n padding-left: 24px;\n }\n\n /* Only add right padding when no horizontal scroll is needed */\n :host(.kr-table--scroll-edge):not(.kr-table--scroll-horizontal-available) .table {\n padding-right: 24px;\n }\n\n :host(.kr-table--scroll-edge) .header-row .header-cell {\n border-top: 1px solid #e5e7eb;\n }\n\n /* -------------------------------------------------------------------------\n * Scroll Mode: Overlay\n * Fixed padding with overlay elements that hide content at edges\n * ----------------------------------------------------------------------- */\n :host(.kr-table--scroll-overlay) .content {\n padding-left: 24px;\n padding-right: 24px;\n }\n\n .overlay-left,\n .overlay-right {\n display: none;\n position: absolute;\n top: 0;\n bottom: 0;\n width: 24px;\n z-index: 5;\n pointer-events: none;\n transition: box-shadow 0.15s ease;\n }\n\n :host(.kr-table--scroll-overlay) .overlay-left,\n :host(.kr-table--scroll-overlay) .overlay-right {\n display: block;\n }\n\n .overlay-left {\n left: 0;\n background: #fff;\n }\n\n .overlay-right {\n right: 0;\n background: #fff;\n }\n\n :host(.kr-table--scroll-overlay.kr-table--scroll-left-available:not(.kr-table--sticky-left)) .overlay-left {\n border-right: 1px solid #d1d5db54;\n }\n\n :host(.kr-table--scroll-overlay.kr-table--scroll-right-available:not(.kr-table--sticky-right)) .overlay-right {\n border-left: 1px solid #d1d5db54;\n }\n\n /* -------------------------------------------------------------------------\n * Status (Loading, Error, Empty)\n * ----------------------------------------------------------------------- */\n .status {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 14px;\n font-weight: 400;\n color: #5f6368;\n pointer-events: none;\n }\n\n .status--error {\n color: #dc2626;\n }\n `];\n__decorate([\n state()\n], KRTable.prototype, \"_data\", void 0);\n__decorate([\n state()\n], KRTable.prototype, \"_dataState\", void 0);\n__decorate([\n state()\n], KRTable.prototype, \"_page\", void 0);\n__decorate([\n state()\n], KRTable.prototype, \"_pageSize\", void 0);\n__decorate([\n state()\n], KRTable.prototype, \"_totalItems\", void 0);\n__decorate([\n state()\n], KRTable.prototype, \"_totalPages\", void 0);\n__decorate([\n state()\n], KRTable.prototype, \"_searchQuery\", void 0);\n__decorate([\n state()\n], KRTable.prototype, \"_canScrollLeft\", void 0);\n__decorate([\n state()\n], KRTable.prototype, \"_canScrollRight\", void 0);\n__decorate([\n state()\n], KRTable.prototype, \"_canScrollHorizontal\", void 0);\n__decorate([\n state()\n], KRTable.prototype, \"_columnPickerOpen\", void 0);\n__decorate([\n state()\n], KRTable.prototype, \"_displayedColumns\", void 0);\n__decorate([\n property({ type: Object })\n], KRTable.prototype, \"def\", void 0);\nKRTable = __decorate([\n customElement('kr-table')\n], KRTable);\nexport { KRTable };\n//# sourceMappingURL=table.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { LitElement, html, css } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\n/**\n * A circular loading indicator component that shows activity or ongoing processes.\n *\n * @example\n * ```html\n * <kr-spinner></kr-spinner>\n * <kr-spinner size=\"lg\"></kr-spinner>\n * <kr-spinner color=\"light\"></kr-spinner>\n * <kr-spinner color=\"#ff5500\"></kr-spinner>\n * ```\n */\nlet KRSpinner = class KRSpinner extends LitElement {\n constructor() {\n super(...arguments);\n /**\n * The size of the spinner. Can be 'sm', 'md', 'lg', 'xl', or any valid CSS size value (e.g., '100px', '2rem').\n */\n this.size = 'md';\n /**\n * The color of the spinner. Can be 'dark', 'light', or any valid CSS color value.\n */\n this.color = 'dark';\n }\n render() {\n var normalizedSize = '';\n var normalizedColor = '';\n if (this.size == 'sm') {\n normalizedSize = '16px';\n }\n else if (this.size == 'md') {\n normalizedSize = '24px';\n }\n else if (this.size == 'lg') {\n normalizedSize = '32px';\n }\n else if (this.size == 'xl') {\n normalizedSize = '48px';\n }\n else {\n normalizedSize = this.size;\n }\n if (this.color == 'dark') {\n normalizedColor = '#163052';\n }\n else if (this.color == 'light') {\n normalizedColor = '#ffffff';\n }\n else {\n normalizedColor = this.color;\n }\n return html `\n <svg\n class=\"spinner\"\n style=${`width: ${normalizedSize}; height: ${normalizedSize}; color: ${normalizedColor}`}\n viewBox=\"0 0 44 44\"\n role=\"status\"\n aria-label=\"Loading\"\n >\n <circle\n class=\"circle\"\n cx=\"22\"\n cy=\"22\"\n r=\"20\"\n fill=\"none\"\n stroke-width=\"4\"\n />\n </svg>\n `;\n }\n};\nKRSpinner.styles = css `\n :host {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n }\n\n .spinner {\n display: block;\n animation: spin 1.4s linear infinite;\n }\n\n .spinner .circle {\n animation: dash 1.4s ease-in-out infinite;\n stroke-dasharray: 80, 200;\n stroke-dashoffset: 0;\n }\n\n @keyframes spin {\n to {\n transform: rotate(360deg);\n }\n }\n\n @keyframes dash {\n 0% {\n stroke-dasharray: 1, 200;\n stroke-dashoffset: 0;\n }\n 50% {\n stroke-dasharray: 100, 200;\n stroke-dashoffset: -15;\n }\n 100% {\n stroke-dasharray: 100, 200;\n stroke-dashoffset: -125;\n }\n }\n\n .circle {\n stroke: currentColor;\n stroke-linecap: round;\n }\n `;\n__decorate([\n property({ type: String, reflect: true })\n], KRSpinner.prototype, \"size\", void 0);\n__decorate([\n property({ type: String, reflect: true })\n], KRSpinner.prototype, \"color\", void 0);\nKRSpinner = __decorate([\n customElement('kr-spinner')\n], KRSpinner);\nexport { KRSpinner };\n//# sourceMappingURL=spinner.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { LitElement, html, css } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\n/**\n * A linear loading indicator that shows activity or ongoing processes.\n *\n * @example\n * ```html\n * <kr-progress-bar></kr-progress-bar>\n * <kr-progress-bar color=\"light\"></kr-progress-bar>\n * <kr-progress-bar color=\"#ff5500\"></kr-progress-bar>\n * <kr-progress-bar color=\"#ff5500\" trackColor=\"#eeeeee\"></kr-progress-bar>\n * ```\n */\nlet KRProgressBar = class KRProgressBar extends LitElement {\n constructor() {\n super(...arguments);\n /**\n * The color of the progress bar. Can be 'dark', 'light', or any valid CSS color value.\n */\n this.color = 'dark';\n }\n render() {\n let normalizedColor = '';\n let normalizedTrackColor = '';\n if (this.color === 'dark') {\n normalizedColor = '#163052';\n }\n else if (this.color === 'light') {\n normalizedColor = '#ffffff';\n }\n else {\n normalizedColor = this.color;\n }\n if (this.trackColor) {\n normalizedTrackColor = this.trackColor;\n }\n else if (this.color === 'light') {\n normalizedTrackColor = '#ffffff4d';\n }\n else {\n normalizedTrackColor = '#0000001a';\n }\n return html `\n <div\n class=\"progress-bar\"\n style=${`background: ${normalizedTrackColor}`}\n role=\"status\"\n aria-label=\"Loading\"\n >\n <div class=\"fill\" style=${`background: ${normalizedColor}`}></div>\n </div>\n `;\n }\n};\nKRProgressBar.styles = css `\n :host {\n display: block;\n width: 100%;\n overflow: hidden;\n }\n\n .progress-bar {\n position: relative;\n height: 4px;\n border-radius: 2px;\n overflow: hidden;\n }\n\n /* Fill (primary indicator) */\n .fill {\n position: absolute;\n top: 0;\n height: 100%;\n width: 40%;\n border-radius: inherit;\n animation: indeterminate 1.5s ease-in-out infinite;\n }\n\n @keyframes indeterminate {\n 0% {\n left: -40%;\n }\n 100% {\n left: 100%;\n }\n }\n `;\n__decorate([\n property({ type: String, reflect: true })\n], KRProgressBar.prototype, \"color\", void 0);\n__decorate([\n property({ type: String, reflect: true })\n], KRProgressBar.prototype, \"trackColor\", void 0);\nKRProgressBar = __decorate([\n customElement('kr-progress-bar')\n], KRProgressBar);\nexport { KRProgressBar };\n//# sourceMappingURL=progress-bar.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar KRFilePreview_1;\nimport { LitElement, html, css, nothing } from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\nimport '../button/button.js';\n/**\n * A full-screen file preview overlay.\n *\n * Supports image files with zoom/pan, PDFs via iframe, and a download\n * fallback for other file types. Use the static `open()` method to show\n * the preview imperatively.\n *\n * @fires close - Fired when the preview is closed\n * @fires download - Fired when the download button is clicked. Detail: `{ src, name }`\n *\n * @example\n * ```ts\n * import { KRFilePreview } from '@kodaris/krubble-components/file-preview';\n *\n * KRFilePreview.open({ src: '/files/photo.png', name: 'photo.png' });\n * ```\n */\nlet KRFilePreview = KRFilePreview_1 = class KRFilePreview extends LitElement {\n constructor() {\n super(...arguments);\n this._zoom = 100;\n this._panX = 0;\n this._panY = 0;\n this._dragging = false;\n this._dragStartX = 0;\n this._dragStartY = 0;\n this._panStartX = 0;\n this._panStartY = 0;\n /** URL of the file to preview */\n this.src = '';\n /** Display name shown in the toolbar */\n this.name = '';\n this._zoomLevel = 100;\n this._textContent = null;\n this._handleKeydown = (e) => {\n if (e.key === 'Escape') {\n this._close();\n }\n };\n this._handleDragMove = (e) => {\n if (!this._dragging) {\n return;\n }\n this._panX = this._panStartX + (e.clientX - this._dragStartX);\n this._panY = this._panStartY + (e.clientY - this._dragStartY);\n this.requestUpdate();\n };\n this._handleDragEnd = () => {\n this._dragging = false;\n document.removeEventListener('mousemove', this._handleDragMove);\n document.removeEventListener('mouseup', this._handleDragEnd);\n };\n }\n /**\n * Open a file preview overlay.\n * @param options - The file source URL and display name\n * @returns The created file-preview element\n */\n static open(options) {\n if (this._activePreview) {\n this._activePreview._close();\n }\n const preview = document.createElement('kr-file-preview');\n preview.src = options.src;\n preview.name = options.name;\n document.body.appendChild(preview);\n this._activePreview = preview;\n return preview;\n }\n connectedCallback() {\n super.connectedCallback();\n document.addEventListener('keydown', this._handleKeydown);\n if (this._isText()) {\n this._loadTextContent();\n }\n }\n disconnectedCallback() {\n super.disconnectedCallback();\n document.removeEventListener('keydown', this._handleKeydown);\n }\n _close() {\n this.dispatchEvent(new CustomEvent('close', { bubbles: true, composed: true }));\n if (KRFilePreview_1._activePreview === this) {\n KRFilePreview_1._activePreview = null;\n }\n this.remove();\n }\n _handleDownload() {\n this.dispatchEvent(new CustomEvent('download', {\n bubbles: true,\n composed: true,\n detail: { src: this.src, name: this.name },\n }));\n }\n _handleZoomIn() {\n this._zoomLevel = Math.min(this._zoomLevel + 25, 300);\n if (this._zoomLevel <= 100) {\n this._panX = 0;\n this._panY = 0;\n }\n }\n _handleZoomOut() {\n this._zoomLevel = Math.max(this._zoomLevel - 25, 25);\n if (this._zoomLevel <= 100) {\n this._panX = 0;\n this._panY = 0;\n }\n }\n _handleZoomReset() {\n this._zoomLevel = 100;\n this._panX = 0;\n this._panY = 0;\n }\n _handleDragStart(e) {\n if (this._zoomLevel <= 100) {\n return;\n }\n e.preventDefault();\n this._dragging = true;\n this._dragStartX = e.clientX;\n this._dragStartY = e.clientY;\n this._panStartX = this._panX;\n this._panStartY = this._panY;\n document.addEventListener('mousemove', this._handleDragMove);\n document.addEventListener('mouseup', this._handleDragEnd);\n }\n _handleBackdropClick(e) {\n if (e.target === e.currentTarget) {\n this._close();\n }\n }\n _getExtension() {\n return (this.name || '').split('.').pop()?.toLowerCase() || '';\n }\n _isImage() {\n return ['jpg', 'jpeg', 'png', 'gif', 'webp', 'svg', 'bmp'].includes(this._getExtension());\n }\n _isPdf() {\n return this._getExtension() === 'pdf';\n }\n _isText() {\n return ['csv', 'txt', 'json', 'xml', 'log', 'md', 'yml', 'yaml', 'ini', 'cfg', 'conf', 'env', 'sh', 'bat'].includes(this._getExtension());\n }\n _isCsv() {\n return this._getExtension() === 'csv';\n }\n _loadTextContent() {\n fetch(this.src)\n .then(response => response.text())\n .then(text => {\n if (this._isCsv()) {\n this._textContent = this._formatCsv(text);\n }\n else {\n this._textContent = text;\n }\n })\n .catch(() => {\n this._textContent = 'Failed to load file content.';\n });\n }\n _formatCsv(text) {\n const lines = text.trim().split('\\n');\n if (!lines.length) {\n return text;\n }\n const rows = lines.map(line => line.split(',').map(cell => cell.trim()));\n const colCount = Math.max(...rows.map(row => row.length));\n // Find max width per column\n const colWidths = [];\n for (let c = 0; c < colCount; c++) {\n let max = 0;\n for (const row of rows) {\n const len = (row[c] || '').length;\n if (len > max) {\n max = len;\n }\n }\n colWidths.push(max);\n }\n // Pad each cell and join\n return rows.map(row => {\n return row.map((cell, i) => cell.padEnd(colWidths[i] || 0)).join(' ');\n }).join('\\n');\n }\n _getFallbackIconClass(ext) {\n if (['doc', 'docx', 'rtf', 'txt'].includes(ext)) {\n return 'fallback__icon--doc';\n }\n if (['xls', 'xlsx', 'csv'].includes(ext)) {\n return 'fallback__icon--xls';\n }\n if (['zip', 'rar', '7z', 'gz', 'tar'].includes(ext)) {\n return 'fallback__icon--zip';\n }\n return 'fallback__icon--default';\n }\n _getFallbackIcon(ext) {\n if (['doc', 'docx', 'rtf', 'txt'].includes(ext)) {\n return html `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M14 2H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V8l-6-6zM6 20V4h7v5h5v11H6zm2-6h8v2H8v-2zm0-4h8v2H8v-2zm0 8h5v2H8v-2z\"/></svg>`;\n }\n if (['xls', 'xlsx', 'csv'].includes(ext)) {\n return html `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 2v3H5V5h14zm0 5v4H5v-4h14zM5 19v-3h14v3H5zm2-8h4v2H7v-2zm0 5h4v2H7v-2z\"/></svg>`;\n }\n if (['zip', 'rar', '7z', 'gz', 'tar'].includes(ext)) {\n return html `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M20 6h-8l-2-2H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2zm0 12H4V6h5.17l2 2H20v10zm-8-4h2v2h-2v-2zm0-4h2v2h-2v-2zm-2 2h2v2h-2v-2z\"/></svg>`;\n }\n return html `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M14 2H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V8l-6-6zm4 18H6V4h7v5h5v11z\"/></svg>`;\n }\n render() {\n let content;\n if (this._isImage()) {\n const scale = this._zoomLevel / 100;\n const translateX = this._panX / scale;\n const translateY = this._panY / scale;\n const cursor = this._zoomLevel > 100 ? 'grab' : 'default';\n content = html `<img\n class=\"body__image\"\n src=\"${this.src}\"\n alt=\"${this.name}\"\n style=\"transform: scale(${scale}) translate(${translateX}px, ${translateY}px); cursor: ${cursor}\"\n @mousedown=${this._handleDragStart}\n />`;\n }\n else if (this._isPdf()) {\n content = html `<iframe class=\"body__iframe\" src=\"${this.src}\"></iframe>`;\n }\n else if (this._isText()) {\n if (this._textContent === null) {\n content = html `<div class=\"body__text-loading\">Loading...</div>`;\n }\n else {\n content = html `<pre class=\"body__text\">${this._textContent}</pre>`;\n }\n }\n else {\n const ext = this._getExtension();\n content = html `\n <div class=\"fallback\">\n <div class=\"fallback__icon ${this._getFallbackIconClass(ext)}\">\n ${this._getFallbackIcon(ext)}\n </div>\n <div class=\"fallback__name\">${this.name}</div>\n <div class=\"fallback__hint\">No preview available for this file type</div>\n <kr-button color=\"primary\" @click=${this._handleDownload}>\n <svg class=\"fallback__btn\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 9h-4V3H9v6H5l7 7 7-7zm-8 2V5h2v6h1.17L12 13.17 9.83 11H11zm-6 7h14v2H5v-2z\"/></svg>\n Download\n </kr-button>\n </div>\n `;\n }\n return html `\n <div class=\"toolbar\">\n <div class=\"toolbar__name\">${this.name}</div>\n <div class=\"toolbar__controls\">\n ${this._isImage() ? html `\n <button class=\"toolbar__btn\" @click=${this._handleZoomOut} title=\"Zoom out\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14zM7 9h5v1H7V9z\"/></svg>\n </button>\n <div class=\"toolbar__zoom-label\" @click=${this._handleZoomReset}>${this._zoomLevel}%</div>\n <button class=\"toolbar__btn\" @click=${this._handleZoomIn} title=\"Zoom in\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14zm-2-5h2V7h1v2h2v1h-2v2H9v-2H7V9z\"/></svg>\n </button>\n <div class=\"toolbar__separator\"></div>\n ` : nothing}\n <button class=\"toolbar__btn\" @click=${this._handleDownload} title=\"Download\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 9h-4V3H9v6H5l7 7 7-7zm-8 2V5h2v6h1.17L12 13.17 9.83 11H11zm-6 7h14v2H5v-2z\"/></svg>\n </button>\n <button class=\"toolbar__btn\" @click=${() => this._close()} title=\"Close\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>\n </button>\n </div>\n </div>\n <div class=\"body\" @click=${this._handleBackdropClick}>\n ${content}\n </div>\n `;\n }\n};\nKRFilePreview.styles = css `\n *,\n *::after,\n *::before,\n :host {\n box-sizing: border-box;\n }\n\n :host {\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background: rgba(0, 0, 0, 0.85);\n display: flex;\n flex-direction: column;\n z-index: 10000;\n }\n\n .toolbar {\n display: flex;\n align-items: center;\n height: 56px;\n padding: 0 24px;\n flex-shrink: 0;\n }\n\n .toolbar__name {\n color: white;\n font-size: 16px;\n font-weight: 500;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n margin-right: auto;\n }\n\n .toolbar__controls {\n display: flex;\n align-items: center;\n gap: 4px;\n }\n\n .toolbar__btn {\n width: 40px;\n height: 40px;\n border: none;\n border-radius: 50%;\n background: transparent;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 0;\n }\n\n .toolbar__btn:hover {\n background: rgba(255, 255, 255, 0.15);\n }\n\n .toolbar__btn svg {\n width: 24px;\n height: 24px;\n fill: white;\n }\n\n .toolbar__zoom-label {\n color: white;\n font-size: 13px;\n min-width: 40px;\n text-align: center;\n user-select: none;\n cursor: pointer;\n }\n\n .toolbar__separator {\n width: 1px;\n height: 24px;\n background: rgba(255, 255, 255, 0.25);\n margin: 0 8px;\n }\n\n .body {\n flex: 1;\n overflow: auto;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 0 36px 36px 36px;\n }\n\n .body__image {\n max-width: 100%;\n max-height: 100%;\n object-fit: contain;\n transition: transform 0.15s ease;\n transform-origin: center center;\n }\n\n .body__iframe {\n width: 80vw;\n height: 100%;\n border: 1px solid #5e5e5e;\n border-radius: 4px;\n background: white;\n }\n\n .body__text {\n width: 80vw;\n max-height: 100%;\n overflow: auto;\n background: white;\n color: #000;\n border-radius: 4px;\n padding: 24px;\n font-family: monospace;\n font-size: 14px;\n line-height: 1.6;\n white-space: pre;\n margin: 0;\n tab-size: 4;\n }\n\n .body__text-loading {\n color: #888;\n font-style: italic;\n font-family: 'Inter', sans-serif;\n font-size: 14px;\n }\n\n .fallback {\n background: white;\n border-radius: 12px;\n padding: 48px 64px;\n text-align: center;\n color: #000;\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 12px;\n }\n\n .fallback__icon {\n width: 72px;\n height: 72px;\n border-radius: 12px;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n .fallback__icon svg {\n width: 36px;\n height: 36px;\n }\n\n .fallback__icon--doc { background: #dbeafe; color: #2563eb; }\n .fallback__icon--xls { background: #d1fae5; color: #16a34a; }\n .fallback__icon--zip { background: #fef3c7; color: #b45309; }\n .fallback__icon--default { background: #f4f5f7; color: #555; }\n\n .fallback__name {\n font-size: 18px;\n font-weight: 600;\n max-width: 320px;\n word-break: break-all;\n }\n\n .fallback__hint {\n font-size: 14px;\n color: black;\n margin-bottom: 6px;\n }\n\n .fallback__btn svg {\n width: 18px;\n height: 18px;\n fill: currentColor;\n }\n `;\nKRFilePreview._activePreview = null;\n__decorate([\n property({ type: String })\n], KRFilePreview.prototype, \"src\", void 0);\n__decorate([\n property({ type: String })\n], KRFilePreview.prototype, \"name\", void 0);\n__decorate([\n state()\n], KRFilePreview.prototype, \"_zoomLevel\", void 0);\n__decorate([\n state()\n], KRFilePreview.prototype, \"_textContent\", void 0);\nKRFilePreview = KRFilePreview_1 = __decorate([\n customElement('kr-file-preview')\n], KRFilePreview);\nexport { KRFilePreview };\n//# sourceMappingURL=file-preview.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { LitElement, html, css } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { KRFilePreview } from '../file-preview/file-preview.js';\n/**\n * A file list component that displays files with extension-based icons,\n * download/delete actions, and built-in file preview.\n *\n * Clicking a file name opens a full-screen preview via `KRFilePreview.open()`.\n *\n * @fires file-click - Fired when a file name is clicked. Detail: `{ file }`\n * @fires download - Fired when the download icon is clicked. Detail: `{ file }`\n * @fires delete - Fired when the delete icon is clicked. Detail: `{ file }`\n *\n * @example\n * ```ts\n * import '@kodaris/krubble-components/file-list';\n *\n * const list = document.querySelector('kr-file-list');\n * list.files = [\n * { name: 'photo.png', url: '/files/photo.png', date: '2024-01-15' },\n * { name: 'report.pdf', url: '/files/report.pdf', date: '2024-01-10' },\n * ];\n * ```\n */\nlet KRFileList = class KRFileList extends LitElement {\n constructor() {\n super(...arguments);\n /** Array of file objects to display */\n this.files = [];\n /** Message displayed when the file list is empty */\n this.emptyMessage = 'No files';\n }\n _handleFileClick(file) {\n this.dispatchEvent(new CustomEvent('file-click', {\n bubbles: true,\n composed: true,\n detail: { file },\n }));\n if (file.url) {\n const preview = KRFilePreview.open({ src: file.url, name: file.name });\n preview.addEventListener('download', () => {\n this._handleDownload(file);\n });\n }\n }\n _handleDownload(file) {\n this.dispatchEvent(new CustomEvent('download', {\n bubbles: true,\n composed: true,\n detail: { file },\n }));\n }\n _handleDelete(file) {\n this.dispatchEvent(new CustomEvent('delete', {\n bubbles: true,\n composed: true,\n detail: { file },\n }));\n }\n _getExtension(name) {\n return name.split('.').pop()?.toLowerCase() || '';\n }\n _getExtClass(ext) {\n if (['pdf'].includes(ext)) {\n return 'file-list__ext--pdf';\n }\n if (['doc', 'docx', 'rtf', 'txt'].includes(ext)) {\n return 'file-list__ext--doc';\n }\n if (['xls', 'xlsx', 'csv'].includes(ext)) {\n return 'file-list__ext--xls';\n }\n if (['zip', 'rar', '7z', 'gz', 'tar'].includes(ext)) {\n return 'file-list__ext--zip';\n }\n if (['jpg', 'jpeg', 'png', 'gif', 'webp', 'svg', 'bmp'].includes(ext)) {\n return 'file-list__ext--img';\n }\n return 'file-list__ext--default';\n }\n _getExtIcon(ext) {\n if (['jpg', 'jpeg', 'png', 'gif', 'webp', 'svg', 'bmp'].includes(ext)) {\n return html `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-4.86 8.86-3 3.87L9 13.14 6 17h12l-3.86-5.14z\"/></svg>`;\n }\n if (['pdf'].includes(ext)) {\n return html `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M20 2H8c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm-8.5 7.5c0 .83-.67 1.5-1.5 1.5H9v2H7.5V7H10c.83 0 1.5.67 1.5 1.5v1zm5 2c0 .83-.67 1.5-1.5 1.5h-2.5V7H15c.83 0 1.5.67 1.5 1.5v3zm4-3H19v1h1.5V11H19v2h-1.5V7h3v1.5zM9 9.5h1v-1H9v1zM4 6H2v14c0 1.1.9 2 2 2h14v-2H4V6zm10 5.5h1v-3h-1v3z\"/></svg>`;\n }\n if (['doc', 'docx', 'rtf', 'txt'].includes(ext)) {\n return html `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M14 2H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V8l-6-6zM6 20V4h7v5h5v11H6zm2-6h8v2H8v-2zm0-4h8v2H8v-2zm0 8h5v2H8v-2z\"/></svg>`;\n }\n if (['xls', 'xlsx', 'csv'].includes(ext)) {\n return html `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 2v3H5V5h14zm0 5v4H5v-4h14zM5 19v-3h14v3H5zm2-8h4v2H7v-2zm0 5h4v2H7v-2z\"/></svg>`;\n }\n if (['zip', 'rar', '7z', 'gz', 'tar'].includes(ext)) {\n return html `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M20 6h-8l-2-2H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2zm0 12H4V6h5.17l2 2H20v10zm-8-4h2v2h-2v-2zm0-4h2v2h-2v-2zm-2 2h2v2h-2v-2z\"/></svg>`;\n }\n return html `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M14 2H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V8l-6-6zm4 18H6V4h7v5h5v11z\"/></svg>`;\n }\n render() {\n if (!this.files.length) {\n return html `<div class=\"file-list__empty\">${this.emptyMessage}</div>`;\n }\n return html `\n <div class=\"file-list\">\n ${this.files.map(file => {\n const ext = this._getExtension(file.name);\n const metaText = file.meta || file.date || '';\n return html `\n <div class=\"file-list__item\">\n <div class=\"file-list__ext ${this._getExtClass(ext)}\">${this._getExtIcon(ext)}</div>\n <div class=\"file-list__info\">\n <a class=\"file-list__name\" @click=${() => this._handleFileClick(file)}>${file.name}</a>\n ${metaText ? html `<div class=\"file-list__meta\">${metaText}</div>` : ''}\n </div>\n <div class=\"file-list__actions\">\n <svg class=\"file-list__action\" @click=${() => this._handleDownload(file)} xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" title=\"Download\"><path d=\"M19 9h-4V3H9v6H5l7 7 7-7zm-8 2V5h2v6h1.17L12 13.17 9.83 11H11zm-6 7h14v2H5v-2z\"/></svg>\n <svg class=\"file-list__action file-list__action--delete\" @click=${() => this._handleDelete(file)} xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" title=\"Delete\"><path d=\"M16 9v10H8V9h8m-1.5-6h-5l-1 1H5v2h14V4h-3.5l-1-1zM18 7H6v12c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7z\"/></svg>\n </div>\n </div>\n `;\n })}\n </div>\n `;\n }\n};\nKRFileList.styles = css `\n *,\n *::after,\n *::before,\n :host {\n box-sizing: border-box;\n }\n\n :host {\n display: block;\n }\n\n .file-list {\n display: flex;\n flex-direction: column;\n }\n\n .file-list__item {\n display: flex;\n align-items: center;\n gap: 16px;\n padding: 16px 20px;\n background: white;\n transition: background 0.15s;\n }\n\n .file-list__item:not(:last-child) {\n border-bottom: 1px solid #eeeff1;\n }\n\n .file-list__item:hover {\n background: #f8f9fa;\n }\n\n .file-list__ext {\n width: 36px;\n height: 36px;\n flex-shrink: 0;\n border-radius: 6px;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 11px;\n font-weight: 700;\n text-transform: uppercase;\n letter-spacing: 0.3px;\n }\n\n .file-list__ext svg {\n width: 20px;\n height: 20px;\n }\n\n .file-list__ext--img { background: #fde8e8; color: #d93025; }\n .file-list__ext--pdf { background: #fde8e8; color: #c0392b; }\n .file-list__ext--doc { background: #dbeafe; color: #2563eb; }\n .file-list__ext--xls { background: #d1fae5; color: #16a34a; }\n .file-list__ext--zip { background: #fef3c7; color: #b45309; }\n .file-list__ext--default { background: #f4f5f7; color: #555; }\n\n .file-list__info {\n flex: 1;\n min-width: 0;\n }\n\n .file-list__name {\n font-weight: 500;\n color: #000;\n text-decoration: none;\n cursor: pointer;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n display: block;\n font-size: 14px;\n }\n\n .file-list__name:hover {\n color: #000;\n text-decoration: underline;\n }\n\n .file-list__meta {\n font-size: 13px;\n color: #000;\n margin-top: 6px;\n }\n\n .file-list__actions {\n display: flex;\n align-items: center;\n gap: 12px;\n flex-shrink: 0;\n }\n\n .file-list__action {\n width: 24px;\n height: 24px;\n fill: #666;\n cursor: pointer;\n transition: fill 0.15s;\n }\n\n .file-list__action:hover {\n fill: #000;\n }\n\n\n .file-list__empty {\n color: #000;\n font-size: 14px;\n font-style: italic;\n padding: 20px;\n }\n `;\n__decorate([\n property({ type: Array })\n], KRFileList.prototype, \"files\", void 0);\n__decorate([\n property({ type: String, attribute: 'empty-message' })\n], KRFileList.prototype, \"emptyMessage\", void 0);\nKRFileList = __decorate([\n customElement('kr-file-list')\n], KRFileList);\nexport { KRFileList };\n//# sourceMappingURL=file-list.js.map","import{nothing as t}from\"../lit-html.js\";\n/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const o=o=>o??t;export{o as ifDefined};\n//# sourceMappingURL=if-defined.js.map\n","import{_$LH as o}from\"./lit-html.js\";\n/**\n * @license\n * Copyright 2020 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const{I:t}=o,i=o=>o,n=o=>null===o||\"object\"!=typeof o&&\"function\"!=typeof o,e={HTML:1,SVG:2,MATHML:3},l=(o,t)=>void 0===t?void 0!==o?._$litType$:o?._$litType$===t,d=o=>null!=o?._$litType$?.h,c=o=>void 0!==o?._$litDirective$,f=o=>o?._$litDirective$,r=o=>void 0===o.strings,s=()=>document.createComment(\"\"),v=(o,n,e)=>{const l=o._$AA.parentNode,d=void 0===n?o._$AB:n._$AA;if(void 0===e){const i=l.insertBefore(s(),d),n=l.insertBefore(s(),d);e=new t(i,n,o,o.options)}else{const t=e._$AB.nextSibling,n=e._$AM,c=n!==o;if(c){let t;e._$AQ?.(o),e._$AM=o,void 0!==e._$AP&&(t=o._$AU)!==n._$AU&&e._$AP(t)}if(t!==d||c){let o=e._$AA;for(;o!==t;){const t=i(o).nextSibling;i(l).insertBefore(o,d),o=t}}}return e},u=(o,t,i=o)=>(o._$AI(t,i),o),m={},p=(o,t=m)=>o._$AH=t,M=o=>o._$AH,h=o=>{o._$AR(),o._$AA.remove()},j=o=>{o._$AR()};export{e as TemplateResultType,j as clearPart,M as getCommittedValue,f as getDirectiveClass,v as insertPart,d as isCompiledTemplateResult,c as isDirectiveResult,n as isPrimitive,r as isSingleExpression,l as isTemplateResult,h as removePart,u as setChildPartValue,p as setCommittedValue};\n//# sourceMappingURL=directive-helpers.js.map\n","import{noChange as r,nothing as e}from\"../lit-html.js\";import{directive as i,Directive as t,PartType as n}from\"../directive.js\";import{isSingleExpression as o,setCommittedValue as s}from\"../directive-helpers.js\";\n/**\n * @license\n * Copyright 2020 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const l=i(class extends t{constructor(r){if(super(r),r.type!==n.PROPERTY&&r.type!==n.ATTRIBUTE&&r.type!==n.BOOLEAN_ATTRIBUTE)throw Error(\"The `live` directive is not allowed on child or event bindings\");if(!o(r))throw Error(\"`live` bindings can only contain a single expression\")}render(r){return r}update(i,[t]){if(t===r||t===e)return t;const o=i.element,l=i.name;if(i.type===n.PROPERTY){if(t===o[l])return r}else if(i.type===n.BOOLEAN_ATTRIBUTE){if(!!t===o.hasAttribute(l))return r}else if(i.type===n.ATTRIBUTE&&o.getAttribute(l)===t+\"\")return r;return s(i),t}});export{l as live};\n//# sourceMappingURL=live.js.map\n","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { LitElement, html, css } from 'lit';\nimport { customElement, property, query, state } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { live } from 'lit/directives/live.js';\n/**\n * A text field component that works with native browser forms.\n *\n * Uses ElementInternals for form association, allowing the component\n * to participate in form submission, validation, and reset.\n *\n * Native input and change events bubble up from the inner input element.\n */\nlet KRTextField = class KRTextField extends LitElement {\n constructor() {\n super();\n /**\n * The input label text\n */\n this.label = '';\n /**\n * The input name for form submission\n */\n this.name = '';\n /**\n * The current value\n */\n this.value = '';\n /**\n * Placeholder text\n */\n this.placeholder = '';\n /**\n * Input type (text, email, password, tel, url, search)\n */\n this.type = 'text';\n /**\n * Whether the field is required\n */\n this.required = false;\n /**\n * Whether the field is disabled\n */\n this.disabled = false;\n /**\n * Whether the field is readonly\n */\n this.readonly = false;\n /**\n * Autocomplete attribute value\n */\n this.autocomplete = '';\n /**\n * Helper text shown below the input\n */\n this.hint = '';\n this._touched = false;\n this._dirty = false;\n this._handleInvalid = (e) => {\n e.preventDefault();\n this._touched = true;\n };\n this._internals = this.attachInternals();\n }\n // Form-associated custom element callbacks\n get form() {\n return this._internals.form;\n }\n get validity() {\n return this._internals.validity;\n }\n get validationMessage() {\n return this._internals.validationMessage;\n }\n get willValidate() {\n return this._internals.willValidate;\n }\n checkValidity() {\n return this._internals.checkValidity();\n }\n reportValidity() {\n return this._internals.reportValidity();\n }\n formResetCallback() {\n this.value = '';\n this._touched = false;\n this._dirty = false;\n this._internals.setFormValue('');\n this._internals.setValidity({});\n }\n formStateRestoreCallback(state) {\n this.value = state;\n }\n connectedCallback() {\n super.connectedCallback();\n this.addEventListener('invalid', this._handleInvalid);\n }\n disconnectedCallback() {\n super.disconnectedCallback();\n this.removeEventListener('invalid', this._handleInvalid);\n }\n firstUpdated() {\n this._updateValidity();\n }\n updated(changedProperties) {\n if (changedProperties.has('required') || changedProperties.has('value')) {\n this._updateValidity();\n }\n }\n _updateValidity() {\n if (this._input) {\n this._internals.setValidity(this._input.validity, this._input.validationMessage);\n }\n }\n _handleInput(e) {\n this.value = e.target.value;\n this._dirty = true;\n this._internals.setFormValue(this.value);\n this._internals.setValidity(this._input.validity, this._input.validationMessage);\n }\n _handleChange(e) {\n this.value = e.target.value;\n this._internals.setFormValue(this.value);\n }\n _handleBlur() {\n this._touched = true;\n this._internals.setValidity(this._input.validity, this._input.validationMessage);\n }\n render() {\n let validationMessage = '';\n if (this._touched && this._input && !this._input.validity.valid) {\n validationMessage = this._input.validationMessage;\n }\n return html `\n <div class=\"wrapper\">\n ${this.label\n ? html `\n <label for=\"input\">\n ${this.label}\n ${this.required ? html `<span class=\"required\" aria-hidden=\"true\">*</span>` : ''}\n </label>\n `\n : ''}\n <input\n id=\"input\"\n class=${classMap({\n 'input--invalid': this._touched && this._input && !this._input.validity.valid\n })}\n type=${this.type}\n name=${this.name}\n .value=${live(this.value)}\n placeholder=${this.placeholder}\n ?required=${this.required}\n ?disabled=${this.disabled}\n ?readonly=${this.readonly}\n minlength=${ifDefined(this.minlength)}\n maxlength=${ifDefined(this.maxlength)}\n pattern=${ifDefined(this.pattern)}\n autocomplete=${ifDefined(this.autocomplete || undefined)}\n @input=${this._handleInput}\n @change=${this._handleChange}\n @blur=${this._handleBlur}\n />\n ${validationMessage\n ? html `<div class=\"validation-message\">${validationMessage}</div>`\n : this.hint\n ? html `<div class=\"hint\">${this.hint}</div>`\n : ''}\n </div>\n `;\n }\n // Public methods for programmatic control\n focus() {\n this._input?.focus();\n }\n blur() {\n this._input?.blur();\n }\n select() {\n this._input?.select();\n }\n};\nKRTextField.styles = css `\n :host {\n display: block;\n font-family: inherit;\n }\n\n .wrapper {\n display: flex;\n flex-direction: column;\n gap: 6px;\n }\n\n label {\n font-size: 14px;\n font-weight: 500;\n color: black;\n }\n\n .required {\n color: var(--kr-text-field-required-color, #ef4444);\n margin-left: 0.125rem;\n }\n\n input {\n font-family: inherit;\n font-size: 14px;\n padding: 10px 12px;\n border: 1px solid var(--kr-text-field-border-color, #0000003d);\n border-radius: 8px;\n background-color: var(--kr-text-field-bg, #fff);\n color: var(--kr-text-field-color, #111827);\n transition: border-color 0.2s, box-shadow 0.2s;\n }\n\n input:focus {\n outline: none;\n border-color: var(--kr-text-field-focus-border-color, #163052);\n box-shadow: 0 0 0 3px var(--kr-text-field-focus-ring-color, rgba(22, 48, 82, 0.1));\n }\n\n input:disabled {\n background-color: var(--kr-text-field-disabled-bg, #f3f4f6);\n color: var(--kr-text-field-disabled-color, #9ca3af);\n cursor: not-allowed;\n }\n\n input::placeholder {\n color: var(--kr-text-field-placeholder-color, #9ca3af);\n }\n\n input.input--invalid {\n border-color: var(--kr-text-field-error-border-color, #ef4444);\n }\n\n input.input--invalid:focus {\n box-shadow: 0 0 0 3px var(--kr-text-field-error-ring-color, rgba(239, 68, 68, 0.1));\n }\n\n .validation-message {\n font-size: 0.75rem;\n color: var(--kr-text-field-error-color, #ef4444);\n }\n\n .hint {\n font-size: 0.75rem;\n color: var(--kr-text-field-helper-color, #6b7280);\n }\n `;\n// Enable form association\nKRTextField.formAssociated = true;\n__decorate([\n property({ type: String })\n], KRTextField.prototype, \"label\", void 0);\n__decorate([\n property({ type: String })\n], KRTextField.prototype, \"name\", void 0);\n__decorate([\n property({ type: String })\n], KRTextField.prototype, \"value\", void 0);\n__decorate([\n property({ type: String })\n], KRTextField.prototype, \"placeholder\", void 0);\n__decorate([\n property({ type: String })\n], KRTextField.prototype, \"type\", void 0);\n__decorate([\n property({ type: Boolean })\n], KRTextField.prototype, \"required\", void 0);\n__decorate([\n property({ type: Boolean })\n], KRTextField.prototype, \"disabled\", void 0);\n__decorate([\n property({ type: Boolean })\n], KRTextField.prototype, \"readonly\", void 0);\n__decorate([\n property({ type: Number })\n], KRTextField.prototype, \"minlength\", void 0);\n__decorate([\n property({ type: Number })\n], KRTextField.prototype, \"maxlength\", void 0);\n__decorate([\n property({ type: String })\n], KRTextField.prototype, \"pattern\", void 0);\n__decorate([\n property({ type: String })\n], KRTextField.prototype, \"autocomplete\", void 0);\n__decorate([\n property({ type: String })\n], KRTextField.prototype, \"hint\", void 0);\n__decorate([\n query('input')\n], KRTextField.prototype, \"_input\", void 0);\n__decorate([\n state()\n], KRTextField.prototype, \"_touched\", void 0);\n__decorate([\n state()\n], KRTextField.prototype, \"_dirty\", void 0);\nKRTextField = __decorate([\n customElement('kr-text-field')\n], KRTextField);\nexport { KRTextField };\n//# sourceMappingURL=text-field.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { LitElement, html, css, nothing } from 'lit';\nimport { customElement, property, query, state } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { krBaseCSS } from '../../style/base.js';\n/**\n * A select dropdown component that works with native browser forms.\n *\n * Uses ElementInternals for form association, allowing the component\n * to participate in form submission, validation, and reset.\n *\n * @element kr-select-field\n * @slot - The kr-select-option elements\n */\nlet KRSelectField = class KRSelectField extends LitElement {\n constructor() {\n super();\n /**\n * The select label text\n */\n this.label = '';\n /**\n * The input name for form submission\n */\n this.name = '';\n /**\n * The currently selected value\n */\n this.value = '';\n /**\n * Placeholder text when no option is selected\n */\n this.placeholder = 'Select an option';\n /**\n * Whether the select is disabled\n */\n this.disabled = false;\n /**\n * Whether the field is required\n */\n this.required = false;\n /**\n * Whether the field is readonly\n */\n this.readonly = false;\n /**\n * Helper text shown below the select\n */\n this.hint = '';\n this._isOpen = false;\n this._highlightedIndex = -1;\n this._touched = false;\n this._handleInvalid = (e) => {\n e.preventDefault();\n this._touched = true;\n };\n this._handleOutsideClick = (e) => {\n if (!e.composedPath().includes(this)) {\n this._close();\n }\n };\n this._handleKeyDown = (e) => {\n if (!this._isOpen)\n return;\n const options = Array.from(this.querySelectorAll('kr-select-option'));\n switch (e.key) {\n case 'Escape':\n this._close();\n this._triggerElement?.focus();\n break;\n case 'ArrowDown':\n e.preventDefault();\n if (options.some(o => !o.disabled)) {\n let newIndex = this._highlightedIndex + 1;\n while (newIndex < options.length && options[newIndex]?.disabled)\n newIndex++;\n if (newIndex < options.length)\n this._highlightedIndex = newIndex;\n }\n break;\n case 'ArrowUp':\n e.preventDefault();\n {\n let newIndex = this._highlightedIndex - 1;\n while (newIndex >= 0 && options[newIndex]?.disabled)\n newIndex--;\n if (newIndex >= 0)\n this._highlightedIndex = newIndex;\n }\n break;\n case 'Enter':\n e.preventDefault();\n if (this._highlightedIndex >= 0 && this._highlightedIndex < options.length) {\n this._selectOption(options[this._highlightedIndex]);\n }\n break;\n }\n };\n this._internals = this.attachInternals();\n }\n // Form-associated custom element callbacks\n get form() {\n return this._internals.form;\n }\n get validity() {\n return this._internals.validity;\n }\n get validationMessage() {\n return this._internals.validationMessage;\n }\n get willValidate() {\n return this._internals.willValidate;\n }\n checkValidity() {\n return this._internals.checkValidity();\n }\n reportValidity() {\n return this._internals.reportValidity();\n }\n formResetCallback() {\n this.value = '';\n this._touched = false;\n this._internals.setFormValue('');\n this._internals.setValidity({});\n }\n formStateRestoreCallback(state) {\n this.value = state;\n }\n connectedCallback() {\n super.connectedCallback();\n document.addEventListener('click', this._handleOutsideClick);\n document.addEventListener('keydown', this._handleKeyDown);\n this.addEventListener('invalid', this._handleInvalid);\n }\n firstUpdated() {\n this._updateValidity();\n }\n updated(changedProperties) {\n if (changedProperties.has('required') || changedProperties.has('value')) {\n this._updateValidity();\n }\n }\n disconnectedCallback() {\n super.disconnectedCallback();\n document.removeEventListener('click', this._handleOutsideClick);\n document.removeEventListener('keydown', this._handleKeyDown);\n this.removeEventListener('invalid', this._handleInvalid);\n }\n _toggle() {\n if (this.disabled || this.readonly)\n return;\n if (this._isOpen) {\n this._close();\n }\n else {\n this._isOpen = true;\n const options = Array.from(this.querySelectorAll('kr-select-option'));\n this._highlightedIndex = options.findIndex(o => o.value === this.value);\n // Position the fixed dropdown relative to the trigger\n requestAnimationFrame(() => {\n const dropdown = this.shadowRoot?.querySelector('.select-dropdown');\n if (dropdown) {\n const triggerRect = this._triggerElement.getBoundingClientRect();\n const spaceBelow = window.innerHeight - triggerRect.bottom - 4 - 8;\n dropdown.style.top = triggerRect.bottom + 4 + 'px';\n dropdown.style.left = triggerRect.left + 'px';\n dropdown.style.width = triggerRect.width + 'px';\n dropdown.style.maxHeight = spaceBelow + 'px';\n }\n });\n }\n }\n _close() {\n this._isOpen = false;\n this._highlightedIndex = -1;\n }\n _selectOption(option) {\n if (option.disabled)\n return;\n this.value = option.value;\n this._internals.setFormValue(this.value);\n this._updateValidity();\n this.dispatchEvent(new Event('change', { bubbles: true, composed: true }));\n this._close();\n this._triggerElement?.focus();\n }\n _handleBlur() {\n this._touched = true;\n this._updateValidity();\n }\n _updateValidity() {\n if (this.required && !this.value) {\n this._internals.setValidity({ valueMissing: true }, 'Please select an option', this._triggerElement);\n }\n else {\n this._internals.setValidity({});\n }\n }\n render() {\n const options = Array.from(this.querySelectorAll('kr-select-option'));\n const selectedLabel = options.find(o => o.value === this.value)?.label;\n return html `\n <div class=\"wrapper\">\n ${this.label\n ? html `\n <label>\n ${this.label}\n ${this.required ? html `<span class=\"required\" aria-hidden=\"true\">*</span>` : ''}\n </label>\n `\n : nothing}\n <div class=\"select-wrapper\">\n <button\n class=${classMap({\n 'select-trigger': true,\n 'select-trigger--open': this._isOpen,\n 'select-trigger--invalid': this._touched && this.required && !this.value,\n })}\n type=\"button\"\n ?disabled=${this.disabled}\n aria-haspopup=\"listbox\"\n aria-expanded=${this._isOpen}\n @click=${this._toggle}\n @blur=${this._handleBlur}\n >\n <span class=${classMap({\n 'select-value': true,\n 'select-placeholder': !selectedLabel\n })}>\n ${selectedLabel || this.placeholder}\n </span>\n <svg\n class=${classMap({\n 'chevron-icon': true,\n 'select-icon': true,\n 'select-icon--open': this._isOpen\n })}\n viewBox=\"0 0 24 24\"\n fill=\"currentColor\"\n >\n <path d=\"M7.41 8.59L12 13.17l4.59-4.58L18 10l-6 6-6-6z\"/>\n </svg>\n </button>\n\n <div class=${classMap({\n 'select-dropdown': true,\n 'hidden': !this._isOpen\n })} role=\"listbox\">\n <div class=\"select-options\">\n ${options.length === 0\n ? html `<div class=\"select-empty\">No options available</div>`\n : options.map((option, idx) => {\n const isSelected = option.value === this.value;\n return html `\n <div\n class=${classMap({\n 'select-option': true,\n 'select-option--selected': isSelected,\n 'select-option--disabled': option.disabled,\n 'select-option--highlighted': idx === this._highlightedIndex,\n })}\n role=\"option\"\n aria-selected=${isSelected}\n @click=${() => this._selectOption(option)}\n @mouseenter=${() => (this._highlightedIndex = idx)}\n >\n ${option.label}\n </div>\n `;\n })}\n </div>\n </div>\n </div>\n ${this._touched && this.required && !this.value\n ? html `<div class=\"validation-message\">Please select an option</div>`\n : this.hint\n ? html `<div class=\"hint\">${this.hint}</div>`\n : ''}\n </div>\n <div class=\"options-slot\">\n <slot @slotchange=${() => this.requestUpdate()}></slot>\n </div>\n `;\n }\n // Public methods for programmatic control\n focus() {\n this._triggerElement?.focus();\n }\n blur() {\n this._triggerElement?.blur();\n }\n};\nKRSelectField.styles = [krBaseCSS, css `\n :host {\n display: block;\n font-family: inherit;\n }\n\n .wrapper {\n display: flex;\n flex-direction: column;\n gap: 6px;\n }\n\n label {\n font-size: 14px;\n font-weight: 500;\n color: black;\n }\n\n .required {\n color: var(--kr-select-required-color, #ef4444);\n margin-left: 0.125rem;\n }\n\n .select-wrapper {\n position: relative;\n }\n\n .select-trigger {\n display: flex;\n align-items: center;\n justify-content: space-between;\n width: 100%;\n padding: 10px 12px;\n font-family: inherit;\n font-size: 14px;\n line-height: 1.5;\n color: #000000;\n background-color: var(--kr-select-bg, #fff);\n border: 1px solid var(--kr-select-border-color, #0000003d);\n border-radius: 8px;\n cursor: pointer;\n transition: border-color 0.2s, box-shadow 0.2s;\n text-align: left;\n }\n\n .select-trigger:hover:not(:disabled) {\n border-color: var(--kr-select-hover-border-color, #9ca3af);\n }\n\n .select-trigger:focus {\n outline: none;\n border-color: var(--kr-primary);\n box-shadow: 0 0 0 3px rgba(22, 48, 82, 0.1);\n }\n\n .select-trigger:disabled {\n background-color: var(--kr-select-disabled-bg, #f3f4f6);\n color: var(--kr-select-disabled-color, #9ca3af);\n cursor: not-allowed;\n }\n\n .select-trigger--invalid {\n border-color: var(--kr-select-error-border-color, #ef4444);\n }\n\n .select-trigger--invalid:focus {\n border-color: var(--kr-select-error-border-color, #ef4444);\n box-shadow: 0 0 0 3px var(--kr-select-error-ring-color, rgba(239, 68, 68, 0.1));\n }\n\n .select-trigger--open {\n border-color: var(--kr-primary);\n box-shadow: 0 0 0 3px rgba(22, 48, 82, 0.1);\n }\n\n .select-value {\n flex: 1;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n .select-placeholder {\n color: #9ca3af;\n }\n\n .select-icon {\n flex-shrink: 0;\n margin-left: 0.5rem;\n color: #6b7280;\n transition: transform 0.2s;\n }\n\n .select-icon--open {\n transform: rotate(180deg);\n }\n\n .select-dropdown {\n position: fixed;\n z-index: 10000;\n background: white;\n border: 1px solid #9ba7b6;\n border-radius: 8px;\n box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);\n padding: 8px 0;\n overflow-y: auto;\n }\n\n .select-options {\n padding: 0;\n }\n\n .select-option {\n display: flex;\n align-items: center;\n min-height: 36px;\n padding: 8px 16px;\n font-size: 14px;\n color: #000000;\n cursor: pointer;\n border-radius: 4px;\n transition: background-color 0.15s;\n }\n\n .select-option:hover:not(.select-option--disabled) {\n background-color: var(--kr-select-option-hover-bg, #f3f4f6);\n }\n\n .select-option--selected {\n background-color: rgba(22, 48, 82, 0.08);\n color: var(--kr-primary);\n }\n\n .select-option--selected:hover {\n background-color: rgba(22, 48, 82, 0.12);\n }\n\n .select-option--disabled {\n color: var(--kr-select-option-disabled-color, #9ca3af);\n cursor: not-allowed;\n }\n\n .select-option--highlighted {\n background-color: var(--kr-select-option-hover-bg, #f3f4f6);\n }\n\n .select-empty {\n padding: 1rem;\n text-align: center;\n color: var(--kr-select-empty-color, #6b7280);\n font-size: 14px;\n }\n\n .hint {\n font-size: 0.75rem;\n color: var(--kr-select-helper-color, #6b7280);\n }\n\n .validation-message {\n font-size: 0.75rem;\n color: var(--kr-select-error-color, #ef4444);\n }\n\n .hidden {\n display: none;\n }\n\n .chevron-icon {\n width: 20px;\n height: 20px;\n }\n\n /* Hide the slot - options are rendered in dropdown */\n .options-slot {\n display: none;\n }\n `];\n// Enable form association\nKRSelectField.formAssociated = true;\n__decorate([\n property({ type: String })\n], KRSelectField.prototype, \"label\", void 0);\n__decorate([\n property({ type: String })\n], KRSelectField.prototype, \"name\", void 0);\n__decorate([\n property({ type: String })\n], KRSelectField.prototype, \"value\", void 0);\n__decorate([\n property({ type: String })\n], KRSelectField.prototype, \"placeholder\", void 0);\n__decorate([\n property({ type: Boolean })\n], KRSelectField.prototype, \"disabled\", void 0);\n__decorate([\n property({ type: Boolean })\n], KRSelectField.prototype, \"required\", void 0);\n__decorate([\n property({ type: Boolean })\n], KRSelectField.prototype, \"readonly\", void 0);\n__decorate([\n property({ type: String })\n], KRSelectField.prototype, \"hint\", void 0);\n__decorate([\n state()\n], KRSelectField.prototype, \"_isOpen\", void 0);\n__decorate([\n state()\n], KRSelectField.prototype, \"_highlightedIndex\", void 0);\n__decorate([\n state()\n], KRSelectField.prototype, \"_touched\", void 0);\n__decorate([\n query('.select-trigger')\n], KRSelectField.prototype, \"_triggerElement\", void 0);\nKRSelectField = __decorate([\n customElement('kr-select-field')\n], KRSelectField);\nexport { KRSelectField };\n//# sourceMappingURL=select-field.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { LitElement, html, css } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\n/**\n * An option for the kr-select-field component.\n *\n * @element kr-select-option\n * @slot - The option label content\n */\nlet KRSelectOption = class KRSelectOption extends LitElement {\n constructor() {\n super(...arguments);\n /**\n * The option value\n */\n this.value = '';\n /**\n * Whether the option is disabled\n */\n this.disabled = false;\n }\n /** Gets the label text from the slot */\n get label() {\n return this.textContent?.trim() || '';\n }\n render() {\n return html `<slot></slot>`;\n }\n};\nKRSelectOption.styles = css `\n :host {\n display: none;\n }\n `;\n__decorate([\n property({ type: String })\n], KRSelectOption.prototype, \"value\", void 0);\n__decorate([\n property({ type: Boolean })\n], KRSelectOption.prototype, \"disabled\", void 0);\nKRSelectOption = __decorate([\n customElement('kr-select-option')\n], KRSelectOption);\nexport { KRSelectOption };\n//# sourceMappingURL=select-option.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { LitElement, html, css, nothing } from 'lit';\nimport { customElement, property, query, state } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { live } from 'lit/directives/live.js';\n/**\n * A textarea component that works with native browser forms.\n *\n * Uses ElementInternals for form association, allowing the component\n * to participate in form submission, validation, and reset.\n *\n * Native input and change events bubble up from the inner textarea element.\n *\n * @element kr-textarea-field\n */\nlet KRTextareaField = class KRTextareaField extends LitElement {\n constructor() {\n super();\n /**\n * The textarea label text\n */\n this.label = '';\n /**\n * The textarea name for form submission\n */\n this.name = '';\n /**\n * The current value\n */\n this.value = '';\n /**\n * Placeholder text\n */\n this.placeholder = '';\n /**\n * Whether the field is required\n */\n this.required = false;\n /**\n * Whether the field is disabled\n */\n this.disabled = false;\n /**\n * Whether the field is readonly\n */\n this.readonly = false;\n /**\n * Number of visible text lines\n */\n this.rows = 3;\n /**\n * Autocomplete attribute value\n */\n this.autocomplete = '';\n /**\n * Helper text shown below the textarea\n */\n this.hint = '';\n this._touched = false;\n this._dirty = false;\n this._handleInvalid = (e) => {\n e.preventDefault();\n this._touched = true;\n };\n this._internals = this.attachInternals();\n }\n // Form-associated custom element callbacks\n get form() {\n return this._internals.form;\n }\n get validity() {\n return this._internals.validity;\n }\n get validationMessage() {\n return this._internals.validationMessage;\n }\n get willValidate() {\n return this._internals.willValidate;\n }\n checkValidity() {\n return this._internals.checkValidity();\n }\n reportValidity() {\n return this._internals.reportValidity();\n }\n formResetCallback() {\n this.value = '';\n this._touched = false;\n this._dirty = false;\n this._internals.setFormValue('');\n this._internals.setValidity({});\n }\n formStateRestoreCallback(state) {\n this.value = state;\n }\n connectedCallback() {\n super.connectedCallback();\n this.addEventListener('invalid', this._handleInvalid);\n }\n disconnectedCallback() {\n super.disconnectedCallback();\n this.removeEventListener('invalid', this._handleInvalid);\n }\n firstUpdated() {\n this._updateValidity();\n }\n updated(changedProperties) {\n if (changedProperties.has('required') || changedProperties.has('value')) {\n this._updateValidity();\n }\n }\n _updateValidity() {\n if (this._textarea) {\n this._internals.setValidity(this._textarea.validity, this._textarea.validationMessage);\n }\n }\n _handleInput(e) {\n this.value = e.target.value;\n this._dirty = true;\n this._internals.setFormValue(this.value);\n this._internals.setValidity(this._textarea.validity, this._textarea.validationMessage);\n }\n _handleChange(e) {\n this.value = e.target.value;\n this._internals.setFormValue(this.value);\n }\n _handleBlur() {\n this._touched = true;\n this._internals.setValidity(this._textarea.validity, this._textarea.validationMessage);\n }\n render() {\n let validationMessage = '';\n if (this._touched && this._textarea && !this._textarea.validity.valid) {\n validationMessage = this._textarea.validationMessage;\n }\n return html `\n <div class=\"wrapper\">\n ${this.label\n ? html `\n <label for=\"textarea\">\n ${this.label}\n ${this.required ? html `<span class=\"required\" aria-hidden=\"true\">*</span>` : nothing}\n </label>\n `\n : nothing}\n <textarea\n id=\"textarea\"\n class=${classMap({\n 'textarea--invalid': this._touched && this._textarea && !this._textarea.validity.valid\n })}\n name=${this.name}\n .value=${live(this.value)}\n placeholder=${this.placeholder}\n ?required=${this.required}\n ?disabled=${this.disabled}\n ?readonly=${this.readonly}\n rows=${this.rows}\n cols=${ifDefined(this.cols)}\n minlength=${ifDefined(this.minlength)}\n maxlength=${ifDefined(this.maxlength)}\n autocomplete=${ifDefined(this.autocomplete || undefined)}\n @input=${this._handleInput}\n @change=${this._handleChange}\n @blur=${this._handleBlur}\n ></textarea>\n ${validationMessage\n ? html `<div class=\"validation-message\">${validationMessage}</div>`\n : this.hint\n ? html `<div class=\"hint\">${this.hint}</div>`\n : nothing}\n </div>\n `;\n }\n // Public methods for programmatic control\n focus() {\n this._textarea?.focus();\n }\n blur() {\n this._textarea?.blur();\n }\n select() {\n this._textarea?.select();\n }\n};\nKRTextareaField.styles = css `\n :host {\n display: block;\n font-family: inherit;\n }\n\n .wrapper {\n display: flex;\n flex-direction: column;\n gap: 6px;\n }\n\n label {\n font-size: 14px;\n font-weight: 500;\n color: black;\n }\n\n .required {\n color: var(--kr-textarea-field-required-color, #ef4444);\n margin-left: 0.125rem;\n }\n\n textarea {\n font-family: inherit;\n font-size: 14px;\n line-height: 1.5;\n padding: 10px 12px;\n border: 1px solid var(--kr-textarea-field-border-color, #0000003d);\n border-radius: 8px;\n background-color: var(--kr-textarea-field-bg, #fff);\n color: var(--kr-textarea-field-color, #111827);\n transition: border-color 0.2s, box-shadow 0.2s;\n min-height: 2.5rem;\n resize: vertical;\n }\n\n textarea:focus {\n outline: none;\n border-color: var(--kr-textarea-field-focus-border-color, #163052);\n box-shadow: 0 0 0 3px var(--kr-textarea-field-focus-ring-color, rgba(22, 48, 82, 0.1));\n }\n\n textarea:disabled {\n background-color: var(--kr-textarea-field-disabled-bg, #f3f4f6);\n color: var(--kr-textarea-field-disabled-color, #9ca3af);\n cursor: not-allowed;\n }\n\n textarea::placeholder {\n color: var(--kr-textarea-field-placeholder-color, #9ca3af);\n }\n\n textarea.textarea--invalid {\n border-color: var(--kr-textarea-field-error-border-color, #ef4444);\n }\n\n textarea.textarea--invalid:focus {\n box-shadow: 0 0 0 3px var(--kr-textarea-field-error-ring-color, rgba(239, 68, 68, 0.1));\n }\n\n .validation-message {\n font-size: 0.75rem;\n color: var(--kr-textarea-field-error-color, #ef4444);\n }\n\n .hint {\n font-size: 0.75rem;\n color: var(--kr-textarea-field-helper-color, #6b7280);\n }\n `;\n// Enable form association\nKRTextareaField.formAssociated = true;\n__decorate([\n property({ type: String })\n], KRTextareaField.prototype, \"label\", void 0);\n__decorate([\n property({ type: String })\n], KRTextareaField.prototype, \"name\", void 0);\n__decorate([\n property({ type: String })\n], KRTextareaField.prototype, \"value\", void 0);\n__decorate([\n property({ type: String })\n], KRTextareaField.prototype, \"placeholder\", void 0);\n__decorate([\n property({ type: Boolean })\n], KRTextareaField.prototype, \"required\", void 0);\n__decorate([\n property({ type: Boolean })\n], KRTextareaField.prototype, \"disabled\", void 0);\n__decorate([\n property({ type: Boolean })\n], KRTextareaField.prototype, \"readonly\", void 0);\n__decorate([\n property({ type: Number })\n], KRTextareaField.prototype, \"rows\", void 0);\n__decorate([\n property({ type: Number })\n], KRTextareaField.prototype, \"cols\", void 0);\n__decorate([\n property({ type: Number })\n], KRTextareaField.prototype, \"minlength\", void 0);\n__decorate([\n property({ type: Number })\n], KRTextareaField.prototype, \"maxlength\", void 0);\n__decorate([\n property({ type: String })\n], KRTextareaField.prototype, \"autocomplete\", void 0);\n__decorate([\n property({ type: String })\n], KRTextareaField.prototype, \"hint\", void 0);\n__decorate([\n query('textarea')\n], KRTextareaField.prototype, \"_textarea\", void 0);\n__decorate([\n state()\n], KRTextareaField.prototype, \"_touched\", void 0);\n__decorate([\n state()\n], KRTextareaField.prototype, \"_dirty\", void 0);\nKRTextareaField = __decorate([\n customElement('kr-textarea-field')\n], KRTextareaField);\nexport { KRTextareaField };\n//# sourceMappingURL=textarea-field.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { LitElement, html, css, nothing } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\n/**\n * A read-only field component that displays a label and value.\n *\n * @element kr-detail-field\n */\nlet KRDetailField = class KRDetailField extends LitElement {\n constructor() {\n super(...arguments);\n /**\n * The field label text\n */\n this.label = '';\n /**\n * The value to display\n */\n this.value = '';\n }\n render() {\n return html `\n <div class=\"wrapper\">\n ${this.label\n ? html `<label>${this.label}</label>`\n : nothing}\n <div class=\"value\">${this.value}</div>\n </div>\n `;\n }\n};\nKRDetailField.styles = css `\n :host {\n display: block;\n font-family: inherit;\n }\n\n .wrapper {\n display: flex;\n flex-direction: column;\n gap: 6px;\n }\n\n label {\n font-size: 14px;\n font-weight: 500;\n color: black;\n }\n\n .value {\n font-size: 14px;\n color: black;\n }\n `;\n__decorate([\n property({ type: String })\n], KRDetailField.prototype, \"label\", void 0);\n__decorate([\n property({ type: String })\n], KRDetailField.prototype, \"value\", void 0);\nKRDetailField = __decorate([\n customElement('kr-detail-field')\n], KRDetailField);\nexport { KRDetailField };\n//# sourceMappingURL=detail-field.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { LitElement, html, css, nothing } from 'lit';\nimport { customElement, property, state, query } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { live } from 'lit/directives/live.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nfunction isGroup(option) {\n return 'options' in option;\n}\n/**\n * @element kr-auto-suggest\n *\n * @property {string} label - Label text for the input\n * @property {string} name - Name for form submission\n * @property {string} value - Current input value\n * @property {string} placeholder - Placeholder text\n * @property {boolean} disabled - Whether the input is disabled\n * @property {boolean} readonly - Whether the input is readonly\n * @property {boolean} required - Whether the input is required\n * @property {string} hint - Helper text displayed below the input\n * @property {SuggestionOptions} options - Array of suggestion options or groups\n * @property {AutoSuggestStatusType} statusType - Loading state: 'pending' | 'loading' | 'finished' | 'error'\n * @property {string} loadingText - Text to show during loading\n * @property {string} errorText - Text to show on error\n * @property {string} emptyText - Text to show when no matches\n * @property {AutoSuggestFilteringType} filteringType - 'auto' (client-side) or 'manual' (server-side)\n * @property {boolean} highlightMatches - Whether to highlight matching text\n *\n * @fires change - Fired when the input value changes\n * @fires select - Fired when a suggestion is selected\n * @fires load-items - Fired when items should be loaded (manual filtering)\n *\n * @slot - Not used\n */\nlet KRAutoSuggest = class KRAutoSuggest extends LitElement {\n constructor() {\n super();\n this.label = '';\n this.name = '';\n this.value = '';\n this.placeholder = '';\n this.disabled = false;\n this.readonly = false;\n this.required = false;\n this.hint = '';\n this.options = [];\n this.statusType = 'finished';\n this.loadingText = 'Loading...';\n this.errorText = 'Error loading options';\n this.emptyText = 'No matches found';\n this.filteringType = 'auto';\n this.highlightMatches = true;\n this._isOpen = false;\n this._highlightedIndex = -1;\n this._touched = false;\n this._dirty = false;\n this._handleDocumentClick = this._onDocumentClick.bind(this);\n this._internals = this.attachInternals();\n }\n connectedCallback() {\n super.connectedCallback();\n document.addEventListener('click', this._handleDocumentClick);\n }\n disconnectedCallback() {\n super.disconnectedCallback();\n document.removeEventListener('click', this._handleDocumentClick);\n }\n firstUpdated() {\n this._updateFormValue();\n }\n get form() {\n return this._internals.form;\n }\n get validity() {\n return this._internals.validity;\n }\n get validationMessage() {\n return this._internals.validationMessage;\n }\n checkValidity() {\n return this._internals.checkValidity();\n }\n reportValidity() {\n return this._internals.reportValidity();\n }\n formResetCallback() {\n this.value = '';\n this._touched = false;\n this._dirty = false;\n this._isOpen = false;\n this._highlightedIndex = -1;\n this._updateFormValue();\n }\n formStateRestoreCallback(state) {\n this.value = state;\n }\n get _filteredOptions() {\n if (this.filteringType === 'manual' || !this.value) {\n return this.options;\n }\n const searchValue = this.value.toLowerCase();\n const filtered = [];\n for (const option of this.options) {\n if (isGroup(option)) {\n const filteredGroupOptions = option.options.filter((opt) => {\n const label = (opt.label || opt.value).toLowerCase();\n const tags = opt.filteringTags?.join(' ').toLowerCase() || '';\n return label.includes(searchValue) || tags.includes(searchValue);\n });\n if (filteredGroupOptions.length > 0) {\n filtered.push({ ...option, options: filteredGroupOptions });\n }\n }\n else {\n const label = (option.label || option.value).toLowerCase();\n const tags = option.filteringTags?.join(' ').toLowerCase() || '';\n if (label.includes(searchValue) || tags.includes(searchValue)) {\n filtered.push(option);\n }\n }\n }\n return filtered;\n }\n get _flatOptions() {\n const flat = [];\n for (const option of this._filteredOptions) {\n if (isGroup(option)) {\n flat.push(...option.options);\n }\n else {\n flat.push(option);\n }\n }\n return flat;\n }\n _updateFormValue() {\n this._internals.setFormValue(this.value);\n // Validation\n if (this.required && !this.value) {\n this._internals.setValidity({ valueMissing: true }, 'This field is required', this._input);\n }\n else {\n this._internals.setValidity({});\n }\n }\n _onInput(e) {\n const target = e.target;\n this.value = target.value;\n this._dirty = true;\n this._isOpen = true;\n this._highlightedIndex = -1;\n this._updateFormValue();\n this.dispatchEvent(new CustomEvent('change', {\n detail: { value: this.value },\n bubbles: true,\n composed: true,\n }));\n if (this.filteringType === 'manual') {\n this.dispatchEvent(new CustomEvent('load-items', {\n detail: { filteringText: this.value },\n bubbles: true,\n composed: true,\n }));\n }\n }\n _onFocus() {\n this._isOpen = true;\n if (this.filteringType === 'manual') {\n this.dispatchEvent(new CustomEvent('load-items', {\n detail: { filteringText: this.value },\n bubbles: true,\n composed: true,\n }));\n }\n }\n _onBlur() {\n this._touched = true;\n // Delay to allow click on option\n setTimeout(() => {\n this._isOpen = false;\n this._highlightedIndex = -1;\n }, 200);\n this._updateFormValue();\n }\n _onKeyDown(e) {\n const options = this._flatOptions;\n switch (e.key) {\n case 'ArrowDown':\n e.preventDefault();\n this._isOpen = true;\n this._highlightedIndex = Math.min(this._highlightedIndex + 1, options.length - 1);\n this._scrollToHighlighted();\n break;\n case 'ArrowUp':\n e.preventDefault();\n this._highlightedIndex = Math.max(this._highlightedIndex - 1, -1);\n this._scrollToHighlighted();\n break;\n case 'Enter':\n if (this._highlightedIndex >= 0 && options[this._highlightedIndex]) {\n e.preventDefault();\n this._selectOption(options[this._highlightedIndex]);\n }\n break;\n case 'Escape':\n e.preventDefault();\n this._isOpen = false;\n this._highlightedIndex = -1;\n break;\n case 'Tab':\n this._isOpen = false;\n this._highlightedIndex = -1;\n break;\n }\n }\n _scrollToHighlighted() {\n this.updateComplete.then(() => {\n const container = this.shadowRoot?.querySelector('.dropdown');\n const highlighted = this.shadowRoot?.querySelector('.option.is-highlighted');\n if (container && highlighted) {\n const containerRect = container.getBoundingClientRect();\n const highlightedRect = highlighted.getBoundingClientRect();\n if (highlightedRect.bottom > containerRect.bottom) {\n highlighted.scrollIntoView({ block: 'nearest' });\n }\n else if (highlightedRect.top < containerRect.top) {\n highlighted.scrollIntoView({ block: 'nearest' });\n }\n }\n });\n }\n _selectOption(option) {\n if (option.disabled)\n return;\n this.value = option.label || option.value;\n this._isOpen = false;\n this._highlightedIndex = -1;\n this._dirty = true;\n this._updateFormValue();\n this.dispatchEvent(new CustomEvent('select', {\n detail: { value: option.value, selectedOption: option },\n bubbles: true,\n composed: true,\n }));\n this.dispatchEvent(new Event('change', { bubbles: true, composed: true }));\n }\n _handleClear() {\n this.value = '';\n this._updateFormValue();\n this.dispatchEvent(new CustomEvent('change', {\n detail: { value: '' },\n bubbles: true,\n composed: true,\n }));\n this._input?.focus();\n }\n _onDocumentClick(e) {\n const path = e.composedPath();\n if (!path.includes(this)) {\n this._isOpen = false;\n }\n }\n _highlightMatch(text) {\n if (!this.value || this.filteringType === 'manual' || !this.highlightMatches) {\n return html `${text}`;\n }\n const searchValue = this.value.toLowerCase();\n const index = text.toLowerCase().indexOf(searchValue);\n if (index === -1) {\n return html `${text}`;\n }\n const before = text.slice(0, index);\n const match = text.slice(index, index + this.value.length);\n const after = text.slice(index + this.value.length);\n return html `${before}<span class=\"highlight\">${match}</span>${after}`;\n }\n _renderOption(option, index) {\n const isHighlighted = index === this._highlightedIndex;\n return html `\n <button\n class=${classMap({\n option: true,\n 'is-highlighted': isHighlighted,\n })}\n type=\"button\"\n role=\"option\"\n aria-selected=${isHighlighted}\n ?disabled=${option.disabled}\n @click=${() => this._selectOption(option)}\n @mouseenter=${() => {\n this._highlightedIndex = index;\n }}\n >\n <div class=\"option-content\">\n <div class=\"option-label\">\n ${this._highlightMatch(option.label || option.value)}\n ${option.labelTag ? html `<span class=\"option-tag\">${option.labelTag}</span>` : nothing}\n </div>\n ${option.description\n ? html `<div class=\"option-description\">${option.description}</div>`\n : nothing}\n ${option.tags && option.tags.length > 0\n ? html `\n <div class=\"option-tags\">\n ${option.tags.map((tag) => html `<span class=\"option-tag\">${tag}</span>`)}\n </div>\n `\n : nothing}\n </div>\n </button>\n `;\n }\n _renderDropdownContent() {\n if (this.statusType === 'loading') {\n return html `\n <div class=\"status\">\n <div class=\"spinner\"></div>\n ${this.loadingText}\n </div>\n `;\n }\n if (this.statusType === 'error') {\n return html `\n <div class=\"status is-error\">\n <svg width=\"16\" height=\"16\" fill=\"currentColor\" viewBox=\"0 0 16 16\">\n <path\n d=\"M8.982 1.566a1.13 1.13 0 0 0-1.96 0L.165 13.233c-.457.778.091 1.767.98 1.767h13.713c.889 0 1.438-.99.98-1.767L8.982 1.566zM8 5c.535 0 .954.462.9.995l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 5.995A.905.905 0 0 1 8 5zm.002 6a1 1 0 1 1 0 2 1 1 0 0 1 0-2z\"\n />\n </svg>\n ${this.errorText}\n </div>\n `;\n }\n const filtered = this._filteredOptions;\n if (filtered.length === 0) {\n return html `<div class=\"empty\">${this.emptyText}</div>`;\n }\n let optionIndex = 0;\n return html `\n ${filtered.map((option) => {\n if (isGroup(option)) {\n const groupOptions = option.options.map((opt) => {\n const rendered = this._renderOption(opt, optionIndex);\n optionIndex++;\n return rendered;\n });\n return html `\n <div class=\"group-label\">${option.label}</div>\n ${groupOptions}\n `;\n }\n const rendered = this._renderOption(option, optionIndex);\n optionIndex++;\n return rendered;\n })}\n `;\n }\n render() {\n const hasError = this._touched && !this.validity.valid;\n return html `\n <div class=\"field-wrapper\">\n ${this.label\n ? html `\n <label>\n ${this.label}\n ${this.required ? html `<span class=\"required\">*</span>` : nothing}\n </label>\n `\n : nothing}\n\n <div class=\"input-container\">\n <div class=\"input-wrapper\">\n <input\n type=\"text\"\n .value=${live(this.value)}\n placeholder=${ifDefined(this.placeholder || undefined)}\n ?disabled=${this.disabled}\n ?readonly=${this.readonly}\n ?required=${this.required}\n name=${ifDefined(this.name || undefined)}\n autocomplete=\"off\"\n role=\"combobox\"\n aria-autocomplete=\"list\"\n aria-expanded=${this._isOpen}\n aria-controls=\"dropdown\"\n class=${classMap({\n 'input--invalid': hasError,\n })}\n @input=${this._onInput}\n @blur=${this._onBlur}\n @focus=${this._onFocus}\n @keydown=${this._onKeyDown}\n />\n <div class=\"icon-container\">\n ${this.value && !this.disabled && !this.readonly\n ? html `\n <button\n class=\"clear-button\"\n type=\"button\"\n aria-label=\"Clear\"\n @click=${this._handleClear}\n >\n <svg width=\"16\" height=\"16\" fill=\"currentColor\" viewBox=\"0 0 16 16\">\n <path\n d=\"M4.646 4.646a.5.5 0 0 1 .708 0L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 0 1 0-.708z\"\n />\n </svg>\n </button>\n `\n : ''}\n ${!this.value && !this.disabled && !this.readonly\n ? html `\n <svg class=\"search-icon\" fill=\"currentColor\" viewBox=\"0 0 16 16\">\n <path\n d=\"M11.742 10.344a6.5 6.5 0 1 0-1.397 1.398h-.001c.03.04.062.078.098.115l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.85-3.85a1.007 1.007 0 0 0-.115-.1zM12 6.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0z\"\n />\n </svg>\n `\n : ''}\n </div>\n </div>\n\n <div\n id=\"dropdown\"\n role=\"listbox\"\n class=${classMap({\n dropdown: true,\n 'is-open': this._isOpen,\n })}\n >\n ${this._renderDropdownContent()}\n </div>\n </div>\n\n ${hasError\n ? html `<div class=\"validation-message\">${this.validationMessage}</div>`\n : this.hint\n ? html `<div class=\"hint\">${this.hint}</div>`\n : nothing}\n </div>\n `;\n }\n};\nKRAutoSuggest.styles = css `\n :host {\n display: block;\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell,\n 'Helvetica Neue', sans-serif;\n }\n\n .field-wrapper {\n display: flex;\n flex-direction: column;\n gap: 4px;\n }\n\n label {\n font-size: 14px;\n font-weight: 500;\n color: var(--kr-text-field-label-color, #374151);\n display: block;\n }\n\n .required {\n color: var(--kr-text-field-required-color, #ef4444);\n margin-left: 2px;\n }\n\n .input-container {\n position: relative;\n }\n\n .input-wrapper {\n position: relative;\n display: flex;\n align-items: center;\n }\n\n input {\n flex: 1;\n width: 100%;\n padding: 8px 32px 8px 12px;\n font-size: 14px;\n border: 1px solid var(--kr-text-field-border-color, #d1d5db);\n border-radius: 6px;\n background: var(--kr-text-field-bg, #ffffff);\n color: var(--kr-text-field-color, #000000);\n transition: all 0.2s ease;\n box-sizing: border-box;\n font-family: inherit;\n }\n\n input:focus {\n outline: none;\n border-color: var(--kr-text-field-focus-border-color, #163052);\n box-shadow: 0 0 0 3px var(--kr-text-field-focus-ring-color, rgba(22, 48, 82, 0.1));\n }\n\n input:disabled {\n background: var(--kr-text-field-disabled-bg, #f3f4f6);\n cursor: not-allowed;\n opacity: 0.6;\n }\n\n input:read-only {\n background: var(--kr-text-field-disabled-bg, #f3f4f6);\n cursor: default;\n }\n\n input.input--invalid {\n border-color: var(--kr-text-field-error-border-color, #ef4444);\n }\n\n input.input--invalid:focus {\n box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1);\n }\n\n input::placeholder {\n color: var(--kr-text-field-placeholder-color, #9ca3af);\n }\n\n .icon-container {\n position: absolute;\n right: 8px;\n display: flex;\n align-items: center;\n gap: 4px;\n }\n\n .clear-button {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 20px;\n height: 20px;\n padding: 0;\n background: none;\n border: none;\n border-radius: 50%;\n color: var(--kr-text-muted, #6b7280);\n cursor: pointer;\n transition: all 0.15s ease;\n }\n\n .clear-button:hover {\n background-color: var(--kr-select-option-hover-bg, #f3f4f6);\n color: var(--kr-text, #000000);\n }\n\n .search-icon {\n width: 16px;\n height: 16px;\n color: var(--kr-text-muted, #6b7280);\n pointer-events: none;\n }\n\n /* Dropdown */\n .dropdown {\n position: absolute;\n top: 100%;\n left: 0;\n right: 0;\n z-index: 50;\n margin-top: 4px;\n max-height: 300px;\n overflow-y: auto;\n background: white;\n border: 1px solid var(--kr-text-field-border-color, #d1d5db);\n border-radius: 6px;\n box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);\n display: none;\n }\n\n .dropdown.is-open {\n display: block;\n }\n\n /* Options */\n .option {\n display: flex;\n align-items: flex-start;\n gap: 8px;\n width: 100%;\n padding: 8px 12px;\n background: none;\n border: none;\n font-size: 14px;\n font-family: inherit;\n color: var(--kr-text, #000000);\n text-align: left;\n cursor: pointer;\n transition: background 0.15s ease;\n }\n\n .option:hover:not(:disabled) {\n background: var(--kr-select-option-hover-bg, #f3f4f6);\n }\n\n .option.is-highlighted {\n background: var(--kr-select-option-highlight-bg, #e5e7eb);\n }\n\n .option:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n }\n\n .option-content {\n flex: 1;\n min-width: 0;\n }\n\n .option-label {\n display: flex;\n align-items: center;\n gap: 6px;\n flex-wrap: wrap;\n }\n\n .option-tag {\n flex-shrink: 0;\n padding: 2px 6px;\n font-size: 11px;\n color: var(--kr-text-muted, #6b7280);\n background: var(--kr-select-option-hover-bg, #f3f4f6);\n border-radius: 3px;\n }\n\n .option-description {\n font-size: 12px;\n color: var(--kr-text-muted, #6b7280);\n margin-top: 2px;\n }\n\n .option-tags {\n display: flex;\n flex-wrap: wrap;\n gap: 4px;\n margin-top: 4px;\n }\n\n /* Highlight */\n .highlight {\n font-weight: 600;\n background-color: #fef3c7;\n color: #92400e;\n }\n\n /* Group */\n .group-label {\n padding: 8px 12px;\n font-size: 11px;\n font-weight: 600;\n color: var(--kr-text-muted, #6b7280);\n text-transform: uppercase;\n letter-spacing: 0.05em;\n background: var(--kr-select-option-hover-bg, #f9fafb);\n border-bottom: 1px solid var(--kr-text-field-border-color, #e5e7eb);\n }\n\n /* Status */\n .status {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 8px;\n padding: 16px;\n font-size: 14px;\n color: var(--kr-text-muted, #6b7280);\n }\n\n .status.is-error {\n color: var(--kr-text-field-error-border-color, #ef4444);\n }\n\n .spinner {\n width: 16px;\n height: 16px;\n border: 2px solid var(--kr-text-field-border-color, #e5e7eb);\n border-top-color: var(--kr-text-field-focus-border-color, #163052);\n border-radius: 50%;\n animation: spin 0.6s linear infinite;\n }\n\n @keyframes spin {\n to {\n transform: rotate(360deg);\n }\n }\n\n .empty {\n padding: 16px;\n text-align: center;\n font-size: 14px;\n color: var(--kr-text-muted, #6b7280);\n }\n\n .hint {\n font-size: 12px;\n color: var(--kr-text-field-hint-color, #6b7280);\n }\n\n .validation-message {\n font-size: 12px;\n color: var(--kr-text-field-error-border-color, #ef4444);\n margin-top: 2px;\n }\n `;\nKRAutoSuggest.formAssociated = true;\n__decorate([\n property({ type: String })\n], KRAutoSuggest.prototype, \"label\", void 0);\n__decorate([\n property({ type: String })\n], KRAutoSuggest.prototype, \"name\", void 0);\n__decorate([\n property({ type: String })\n], KRAutoSuggest.prototype, \"value\", void 0);\n__decorate([\n property({ type: String })\n], KRAutoSuggest.prototype, \"placeholder\", void 0);\n__decorate([\n property({ type: Boolean })\n], KRAutoSuggest.prototype, \"disabled\", void 0);\n__decorate([\n property({ type: Boolean })\n], KRAutoSuggest.prototype, \"readonly\", void 0);\n__decorate([\n property({ type: Boolean })\n], KRAutoSuggest.prototype, \"required\", void 0);\n__decorate([\n property({ type: String })\n], KRAutoSuggest.prototype, \"hint\", void 0);\n__decorate([\n property({ type: Array })\n], KRAutoSuggest.prototype, \"options\", void 0);\n__decorate([\n property({ type: String, attribute: 'status-type' })\n], KRAutoSuggest.prototype, \"statusType\", void 0);\n__decorate([\n property({ type: String, attribute: 'loading-text' })\n], KRAutoSuggest.prototype, \"loadingText\", void 0);\n__decorate([\n property({ type: String, attribute: 'error-text' })\n], KRAutoSuggest.prototype, \"errorText\", void 0);\n__decorate([\n property({ type: String, attribute: 'empty-text' })\n], KRAutoSuggest.prototype, \"emptyText\", void 0);\n__decorate([\n property({ type: String, attribute: 'filtering-type' })\n], KRAutoSuggest.prototype, \"filteringType\", void 0);\n__decorate([\n property({ type: Boolean, attribute: 'highlight-matches' })\n], KRAutoSuggest.prototype, \"highlightMatches\", void 0);\n__decorate([\n state()\n], KRAutoSuggest.prototype, \"_isOpen\", void 0);\n__decorate([\n state()\n], KRAutoSuggest.prototype, \"_highlightedIndex\", void 0);\n__decorate([\n state()\n], KRAutoSuggest.prototype, \"_touched\", void 0);\n__decorate([\n state()\n], KRAutoSuggest.prototype, \"_dirty\", void 0);\n__decorate([\n query('input')\n], KRAutoSuggest.prototype, \"_input\", void 0);\nKRAutoSuggest = __decorate([\n customElement('kr-auto-suggest')\n], KRAutoSuggest);\nexport { KRAutoSuggest };\n//# sourceMappingURL=auto-suggest.js.map"],"names":["t","e","s","o","r","n","i","S","c","h","a","l","p","d","u","f","b","y","m","css","__decorate","this","LitElement","html","property","customElement","classMap","nothing","state","unsafeHTML","styleMap","render","live","ifDefined","query"],"mappings":"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GAAG,CAAC;AACxC,oBAAoB,EAAE,GAAG,CAAC,KAAK,CAAC;AAChC,cAAc,EAAE,GAAG,CAAC,KAAK,GAAGH,CAAI,CAAC,CAAC,gCAAgC,EAAEO,GAAQ,CAAC,EAAE,eAAe,EAAE,GAAG,CAAC,eAAe,EAAE,KAAK,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,GAAGH,CAAO;AAC7K,cAAc,EAAE,GAAG,CAAC;AACpB,cAAcJ,CAAI,CAAC;AACnB;AACA;AACA;AACA;AACA,6BAA6B,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,CAAC,CAAC;AACpE;AACA;AACA;AACA,kBAAkB;AAClB,cAAcI,CAAO;AACrB;AACA,QAAQ,CAAC,CAAC;AACV;AACA,2DAA2D,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC;AACpF,0BAA0B,EAAE,IAAI,CAAC,gBAAgB,CAAC;AAClD;AACA,IAAI,CAAC;AACL,IAAI;AACJ;AACA,UAAU,CAAC,MAAM,GAAG;AACpB,IAAI,SAAS;AACb,IAAIR,GAAG,CAAC;AACR;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;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;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAE,CAAC,CAAC;AACJC,YAAU,CAAC;AACX,IAAIQ,GAAK;AACT,CAAC,EAAE,OAAO,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC;AACtCR,YAAU,CAAC;AACX,IAAIQ,GAAK;AACT,CAAC,EAAE,OAAO,CAAC,SAAS,EAAE,YAAY,EAAE,MAAM,CAAC;AAC3CR,YAAU,CAAC;AACX,IAAIQ,GAAK;AACT,CAAC,EAAE,OAAO,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC;AACtCR,YAAU,CAAC;AACX,IAAIQ,GAAK;AACT,CAAC,EAA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I,CAAC;AACL,IAAI;AACJ;AACA,aAAa,CAAC,MAAM,GAAGR,GAAG,CAAC;AAC3B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,EAAE,CAAC;AACH,aAAa,CAAC,cAAc,GAAG,IAAI;AACnCC,YAAU,CAAC;AACX,IAAII,GAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE;AAC7B,CAAC,EAAE,aAAa,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC;AAC1CJ,YAAU,CAAC;AACX,IAAII,GAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE;AAC7B,CAAC,EAAE,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC;AAC3CJ,YAAU,CAAC;AACX,IAAIQ,GAAK;AACT,CAAC,EAAE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a,CAAC,MAAM,GAAGR,GAAG,CAAC;AAC3B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;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","x_google_ignoreList":[0,1,2,3,5,6,7,8,9,11,12,15,18,28,29,30]}
1
+ {"version":3,"file":"krubble-components.bundled.js","sources":["../../../node_modules/@lit/reactive-element/css-tag.js","../../../node_modules/@lit/reactive-element/reactive-element.js","../../../node_modules/lit-html/lit-html.js","../../../node_modules/lit-element/lit-element.js","style/base.js","../../../node_modules/@lit/reactive-element/decorators/custom-element.js","../../../node_modules/@lit/reactive-element/decorators/property.js","../../../node_modules/@lit/reactive-element/decorators/state.js","../../../node_modules/@lit/reactive-element/decorators/base.js","../../../node_modules/@lit/reactive-element/decorators/query.js","accordion/accordion.js","../../../node_modules/lit-html/directive.js","../../../node_modules/lit-html/directives/class-map.js","alert/alert.js","button/button.js","../../../node_modules/lit-html/directives/unsafe-html.js","code-demo/code-demo.js","context-menu/context-menu.js","../../../node_modules/lit-html/directives/style-map.js","dialog/dialog.js","snackbar/snackbar.js","tabs/tabs.js","tabs/tab.js","form/select-field/select-field.js","form/select-field/select-option.js","table/query.js","table/table.js","spinner/spinner.js","progress-bar/progress-bar.js","file-preview/file-preview.js","file-list/file-list.js","../../../node_modules/lit-html/directives/if-defined.js","../../../node_modules/lit-html/directive-helpers.js","../../../node_modules/lit-html/directives/live.js","form/text-field/text-field.js","form/textarea-field/textarea-field.js","form/detail-field/detail-field.js","form/auto-suggest/auto-suggest.js"],"sourcesContent":["/**\n * @license\n * Copyright 2019 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=globalThis,e=t.ShadowRoot&&(void 0===t.ShadyCSS||t.ShadyCSS.nativeShadow)&&\"adoptedStyleSheets\"in Document.prototype&&\"replace\"in CSSStyleSheet.prototype,s=Symbol(),o=new WeakMap;class n{constructor(t,e,o){if(this._$cssResult$=!0,o!==s)throw Error(\"CSSResult is not constructable. Use `unsafeCSS` or `css` instead.\");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const s=this.t;if(e&&void 0===t){const e=void 0!==s&&1===s.length;e&&(t=o.get(s)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),e&&o.set(s,t))}return t}toString(){return this.cssText}}const r=t=>new n(\"string\"==typeof t?t:t+\"\",void 0,s),i=(t,...e)=>{const o=1===t.length?t[0]:e.reduce((e,s,o)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if(\"number\"==typeof t)return t;throw Error(\"Value passed to 'css' function must be a 'css' function result: \"+t+\". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.\")})(s)+t[o+1],t[0]);return new n(o,t,s)},S=(s,o)=>{if(e)s.adoptedStyleSheets=o.map(t=>t instanceof CSSStyleSheet?t:t.styleSheet);else for(const e of o){const o=document.createElement(\"style\"),n=t.litNonce;void 0!==n&&o.setAttribute(\"nonce\",n),o.textContent=e.cssText,s.appendChild(o)}},c=e?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e=\"\";for(const s of t.cssRules)e+=s.cssText;return r(e)})(t):t;export{n as CSSResult,S as adoptStyles,i as css,c as getCompatibleStyle,e as supportsAdoptingStyleSheets,r as unsafeCSS};\n//# sourceMappingURL=css-tag.js.map\n","import{getCompatibleStyle as t,adoptStyles as s}from\"./css-tag.js\";export{CSSResult,css,supportsAdoptingStyleSheets,unsafeCSS}from\"./css-tag.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const{is:i,defineProperty:e,getOwnPropertyDescriptor:h,getOwnPropertyNames:r,getOwnPropertySymbols:o,getPrototypeOf:n}=Object,a=globalThis,c=a.trustedTypes,l=c?c.emptyScript:\"\",p=a.reactiveElementPolyfillSupport,d=(t,s)=>t,u={toAttribute(t,s){switch(s){case Boolean:t=t?l:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,s){let i=t;switch(s){case Boolean:i=null!==t;break;case Number:i=null===t?null:Number(t);break;case Object:case Array:try{i=JSON.parse(t)}catch(t){i=null}}return i}},f=(t,s)=>!i(t,s),b={attribute:!0,type:String,converter:u,reflect:!1,useDefault:!1,hasChanged:f};Symbol.metadata??=Symbol(\"metadata\"),a.litPropertyMetadata??=new WeakMap;class y extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,s=b){if(s.state&&(s.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(t)&&((s=Object.create(s)).wrapped=!0),this.elementProperties.set(t,s),!s.noAccessor){const i=Symbol(),h=this.getPropertyDescriptor(t,i,s);void 0!==h&&e(this.prototype,t,h)}}static getPropertyDescriptor(t,s,i){const{get:e,set:r}=h(this.prototype,t)??{get(){return this[s]},set(t){this[s]=t}};return{get:e,set(s){const h=e?.call(this);r?.call(this,s),this.requestUpdate(t,h,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??b}static _$Ei(){if(this.hasOwnProperty(d(\"elementProperties\")))return;const t=n(this);t.finalize(),void 0!==t.l&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(d(\"finalized\")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(d(\"properties\"))){const t=this.properties,s=[...r(t),...o(t)];for(const i of s)this.createProperty(i,t[i])}const t=this[Symbol.metadata];if(null!==t){const s=litPropertyMetadata.get(t);if(void 0!==s)for(const[t,i]of s)this.elementProperties.set(t,i)}this._$Eh=new Map;for(const[t,s]of this.elementProperties){const i=this._$Eu(t,s);void 0!==i&&this._$Eh.set(i,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(s){const i=[];if(Array.isArray(s)){const e=new Set(s.flat(1/0).reverse());for(const s of e)i.unshift(t(s))}else void 0!==s&&i.push(t(s));return i}static _$Eu(t,s){const i=s.attribute;return!1===i?void 0:\"string\"==typeof i?i:\"string\"==typeof t?t.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(t=>this.enableUpdating=t),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach(t=>t(this))}addController(t){(this._$EO??=new Set).add(t),void 0!==this.renderRoot&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$EO?.delete(t)}_$E_(){const t=new Map,s=this.constructor.elementProperties;for(const i of s.keys())this.hasOwnProperty(i)&&(t.set(i,this[i]),delete this[i]);t.size>0&&(this._$Ep=t)}createRenderRoot(){const t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return s(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach(t=>t.hostConnected?.())}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach(t=>t.hostDisconnected?.())}attributeChangedCallback(t,s,i){this._$AK(t,i)}_$ET(t,s){const i=this.constructor.elementProperties.get(t),e=this.constructor._$Eu(t,i);if(void 0!==e&&!0===i.reflect){const h=(void 0!==i.converter?.toAttribute?i.converter:u).toAttribute(s,i.type);this._$Em=t,null==h?this.removeAttribute(e):this.setAttribute(e,h),this._$Em=null}}_$AK(t,s){const i=this.constructor,e=i._$Eh.get(t);if(void 0!==e&&this._$Em!==e){const t=i.getPropertyOptions(e),h=\"function\"==typeof t.converter?{fromAttribute:t.converter}:void 0!==t.converter?.fromAttribute?t.converter:u;this._$Em=e;const r=h.fromAttribute(s,t.type);this[e]=r??this._$Ej?.get(e)??r,this._$Em=null}}requestUpdate(t,s,i,e=!1,h){if(void 0!==t){const r=this.constructor;if(!1===e&&(h=this[t]),i??=r.getPropertyOptions(t),!((i.hasChanged??f)(h,s)||i.useDefault&&i.reflect&&h===this._$Ej?.get(t)&&!this.hasAttribute(r._$Eu(t,i))))return;this.C(t,s,i)}!1===this.isUpdatePending&&(this._$ES=this._$EP())}C(t,s,{useDefault:i,reflect:e,wrapped:h},r){i&&!(this._$Ej??=new Map).has(t)&&(this._$Ej.set(t,r??s??this[t]),!0!==h||void 0!==r)||(this._$AL.has(t)||(this.hasUpdated||i||(s=void 0),this._$AL.set(t,s)),!0===e&&this._$Em!==t&&(this._$Eq??=new Set).add(t))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[t,s]of this._$Ep)this[t]=s;this._$Ep=void 0}const t=this.constructor.elementProperties;if(t.size>0)for(const[s,i]of t){const{wrapped:t}=i,e=this[s];!0!==t||this._$AL.has(s)||void 0===e||this.C(s,void 0,i,e)}}let t=!1;const s=this._$AL;try{t=this.shouldUpdate(s),t?(this.willUpdate(s),this._$EO?.forEach(t=>t.hostUpdate?.()),this.update(s)):this._$EM()}catch(s){throw t=!1,this._$EM(),s}t&&this._$AE(s)}willUpdate(t){}_$AE(t){this._$EO?.forEach(t=>t.hostUpdated?.()),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Eq&&=this._$Eq.forEach(t=>this._$ET(t,this[t])),this._$EM()}updated(t){}firstUpdated(t){}}y.elementStyles=[],y.shadowRootOptions={mode:\"open\"},y[d(\"elementProperties\")]=new Map,y[d(\"finalized\")]=new Map,p?.({ReactiveElement:y}),(a.reactiveElementVersions??=[]).push(\"2.1.2\");export{y as ReactiveElement,s as adoptStyles,u as defaultConverter,t as getCompatibleStyle,f as notEqual};\n//# sourceMappingURL=reactive-element.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=globalThis,i=t=>t,s=t.trustedTypes,e=s?s.createPolicy(\"lit-html\",{createHTML:t=>t}):void 0,h=\"$lit$\",o=`lit$${Math.random().toFixed(9).slice(2)}$`,n=\"?\"+o,r=`<${n}>`,l=document,c=()=>l.createComment(\"\"),a=t=>null===t||\"object\"!=typeof t&&\"function\"!=typeof t,u=Array.isArray,d=t=>u(t)||\"function\"==typeof t?.[Symbol.iterator],f=\"[ \\t\\n\\f\\r]\",v=/<(?:(!--|\\/[^a-zA-Z])|(\\/?[a-zA-Z][^>\\s]*)|(\\/?$))/g,_=/-->/g,m=/>/g,p=RegExp(`>|${f}(?:([^\\\\s\"'>=/]+)(${f}*=${f}*(?:[^ \\t\\n\\f\\r\"'\\`<>=]|(\"|')|))|$)`,\"g\"),g=/'/g,$=/\"/g,y=/^(?:script|style|textarea|title)$/i,x=t=>(i,...s)=>({_$litType$:t,strings:i,values:s}),b=x(1),w=x(2),T=x(3),E=Symbol.for(\"lit-noChange\"),A=Symbol.for(\"lit-nothing\"),C=new WeakMap,P=l.createTreeWalker(l,129);function V(t,i){if(!u(t)||!t.hasOwnProperty(\"raw\"))throw Error(\"invalid template strings array\");return void 0!==e?e.createHTML(i):i}const N=(t,i)=>{const s=t.length-1,e=[];let n,l=2===i?\"<svg>\":3===i?\"<math>\":\"\",c=v;for(let i=0;i<s;i++){const s=t[i];let a,u,d=-1,f=0;for(;f<s.length&&(c.lastIndex=f,u=c.exec(s),null!==u);)f=c.lastIndex,c===v?\"!--\"===u[1]?c=_:void 0!==u[1]?c=m:void 0!==u[2]?(y.test(u[2])&&(n=RegExp(\"</\"+u[2],\"g\")),c=p):void 0!==u[3]&&(c=p):c===p?\">\"===u[0]?(c=n??v,d=-1):void 0===u[1]?d=-2:(d=c.lastIndex-u[2].length,a=u[1],c=void 0===u[3]?p:'\"'===u[3]?$:g):c===$||c===g?c=p:c===_||c===m?c=v:(c=p,n=void 0);const x=c===p&&t[i+1].startsWith(\"/>\")?\" \":\"\";l+=c===v?s+r:d>=0?(e.push(a),s.slice(0,d)+h+s.slice(d)+o+x):s+o+(-2===d?i:x)}return[V(t,l+(t[s]||\"<?>\")+(2===i?\"</svg>\":3===i?\"</math>\":\"\")),e]};class S{constructor({strings:t,_$litType$:i},e){let r;this.parts=[];let l=0,a=0;const u=t.length-1,d=this.parts,[f,v]=N(t,i);if(this.el=S.createElement(f,e),P.currentNode=this.el.content,2===i||3===i){const t=this.el.content.firstChild;t.replaceWith(...t.childNodes)}for(;null!==(r=P.nextNode())&&d.length<u;){if(1===r.nodeType){if(r.hasAttributes())for(const t of r.getAttributeNames())if(t.endsWith(h)){const i=v[a++],s=r.getAttribute(t).split(o),e=/([.?@])?(.*)/.exec(i);d.push({type:1,index:l,name:e[2],strings:s,ctor:\".\"===e[1]?I:\"?\"===e[1]?L:\"@\"===e[1]?z:H}),r.removeAttribute(t)}else t.startsWith(o)&&(d.push({type:6,index:l}),r.removeAttribute(t));if(y.test(r.tagName)){const t=r.textContent.split(o),i=t.length-1;if(i>0){r.textContent=s?s.emptyScript:\"\";for(let s=0;s<i;s++)r.append(t[s],c()),P.nextNode(),d.push({type:2,index:++l});r.append(t[i],c())}}}else if(8===r.nodeType)if(r.data===n)d.push({type:2,index:l});else{let t=-1;for(;-1!==(t=r.data.indexOf(o,t+1));)d.push({type:7,index:l}),t+=o.length-1}l++}}static createElement(t,i){const s=l.createElement(\"template\");return s.innerHTML=t,s}}function M(t,i,s=t,e){if(i===E)return i;let h=void 0!==e?s._$Co?.[e]:s._$Cl;const o=a(i)?void 0:i._$litDirective$;return h?.constructor!==o&&(h?._$AO?.(!1),void 0===o?h=void 0:(h=new o(t),h._$AT(t,s,e)),void 0!==e?(s._$Co??=[])[e]=h:s._$Cl=h),void 0!==h&&(i=M(t,h._$AS(t,i.values),h,e)),i}class R{constructor(t,i){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=i}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){const{el:{content:i},parts:s}=this._$AD,e=(t?.creationScope??l).importNode(i,!0);P.currentNode=e;let h=P.nextNode(),o=0,n=0,r=s[0];for(;void 0!==r;){if(o===r.index){let i;2===r.type?i=new k(h,h.nextSibling,this,t):1===r.type?i=new r.ctor(h,r.name,r.strings,this,t):6===r.type&&(i=new Z(h,this,t)),this._$AV.push(i),r=s[++n]}o!==r?.index&&(h=P.nextNode(),o++)}return P.currentNode=l,e}p(t){let i=0;for(const s of this._$AV)void 0!==s&&(void 0!==s.strings?(s._$AI(t,s,i),i+=s.strings.length-2):s._$AI(t[i])),i++}}class k{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(t,i,s,e){this.type=2,this._$AH=A,this._$AN=void 0,this._$AA=t,this._$AB=i,this._$AM=s,this.options=e,this._$Cv=e?.isConnected??!0}get parentNode(){let t=this._$AA.parentNode;const i=this._$AM;return void 0!==i&&11===t?.nodeType&&(t=i.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,i=this){t=M(this,t,i),a(t)?t===A||null==t||\"\"===t?(this._$AH!==A&&this._$AR(),this._$AH=A):t!==this._$AH&&t!==E&&this._(t):void 0!==t._$litType$?this.$(t):void 0!==t.nodeType?this.T(t):d(t)?this.k(t):this._(t)}O(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.O(t))}_(t){this._$AH!==A&&a(this._$AH)?this._$AA.nextSibling.data=t:this.T(l.createTextNode(t)),this._$AH=t}$(t){const{values:i,_$litType$:s}=t,e=\"number\"==typeof s?this._$AC(t):(void 0===s.el&&(s.el=S.createElement(V(s.h,s.h[0]),this.options)),s);if(this._$AH?._$AD===e)this._$AH.p(i);else{const t=new R(e,this),s=t.u(this.options);t.p(i),this.T(s),this._$AH=t}}_$AC(t){let i=C.get(t.strings);return void 0===i&&C.set(t.strings,i=new S(t)),i}k(t){u(this._$AH)||(this._$AH=[],this._$AR());const i=this._$AH;let s,e=0;for(const h of t)e===i.length?i.push(s=new k(this.O(c()),this.O(c()),this,this.options)):s=i[e],s._$AI(h),e++;e<i.length&&(this._$AR(s&&s._$AB.nextSibling,e),i.length=e)}_$AR(t=this._$AA.nextSibling,s){for(this._$AP?.(!1,!0,s);t!==this._$AB;){const s=i(t).nextSibling;i(t).remove(),t=s}}setConnected(t){void 0===this._$AM&&(this._$Cv=t,this._$AP?.(t))}}class H{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,i,s,e,h){this.type=1,this._$AH=A,this._$AN=void 0,this.element=t,this.name=i,this._$AM=e,this.options=h,s.length>2||\"\"!==s[0]||\"\"!==s[1]?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=A}_$AI(t,i=this,s,e){const h=this.strings;let o=!1;if(void 0===h)t=M(this,t,i,0),o=!a(t)||t!==this._$AH&&t!==E,o&&(this._$AH=t);else{const e=t;let n,r;for(t=h[0],n=0;n<h.length-1;n++)r=M(this,e[s+n],i,n),r===E&&(r=this._$AH[n]),o||=!a(r)||r!==this._$AH[n],r===A?t=A:t!==A&&(t+=(r??\"\")+h[n+1]),this._$AH[n]=r}o&&!e&&this.j(t)}j(t){t===A?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??\"\")}}class I extends H{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===A?void 0:t}}class L extends H{constructor(){super(...arguments),this.type=4}j(t){this.element.toggleAttribute(this.name,!!t&&t!==A)}}class z extends H{constructor(t,i,s,e,h){super(t,i,s,e,h),this.type=5}_$AI(t,i=this){if((t=M(this,t,i,0)??A)===E)return;const s=this._$AH,e=t===A&&s!==A||t.capture!==s.capture||t.once!==s.once||t.passive!==s.passive,h=t!==A&&(s===A||e);e&&this.element.removeEventListener(this.name,this,s),h&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){\"function\"==typeof this._$AH?this._$AH.call(this.options?.host??this.element,t):this._$AH.handleEvent(t)}}class Z{constructor(t,i,s){this.element=t,this.type=6,this._$AN=void 0,this._$AM=i,this.options=s}get _$AU(){return this._$AM._$AU}_$AI(t){M(this,t)}}const j={M:h,P:o,A:n,C:1,L:N,R,D:d,V:M,I:k,H,N:L,U:z,B:I,F:Z},B=t.litHtmlPolyfillSupport;B?.(S,k),(t.litHtmlVersions??=[]).push(\"3.3.2\");const D=(t,i,s)=>{const e=s?.renderBefore??i;let h=e._$litPart$;if(void 0===h){const t=s?.renderBefore??null;e._$litPart$=h=new k(i.insertBefore(c(),t),t,void 0,s??{})}return h._$AI(t),h};export{j as _$LH,b as html,T as mathml,E as noChange,A as nothing,D as render,w as svg};\n//# sourceMappingURL=lit-html.js.map\n","import{ReactiveElement as t}from\"@lit/reactive-element\";export*from\"@lit/reactive-element\";import{render as e,noChange as r}from\"lit-html\";export*from\"lit-html\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const s=globalThis;class i extends t{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){const t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){const r=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=e(r,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return r}}i._$litElement$=!0,i[\"finalized\"]=!0,s.litElementHydrateSupport?.({LitElement:i});const o=s.litElementPolyfillSupport;o?.({LitElement:i});const n={_$AK:(t,e,r)=>{t._$AK(e,r)},_$AL:t=>t._$AL};(s.litElementVersions??=[]).push(\"4.2.2\");export{i as LitElement,n as _$LE};\n//# sourceMappingURL=lit-element.js.map\n","import { css } from 'lit';\n/**\n * Base theme styles with CSS custom properties.\n * Import into components: static styles = [krBaseCSS, css`...`]\n */\nexport const krBaseCSS = css `\n :host,\n *,\n *::before,\n *::after {\n box-sizing: border-box;\n }\n\n :host {\n /* Primary */\n --kr-primary: rgb(22, 48, 82);\n --kr-primary-hover: rgb(16, 36, 62);\n --kr-primary-text: #ffffff;\n\n /* Accent */\n --kr-accent: #BEEA4E;\n --kr-accent-hover: #a8d43a;\n --kr-accent-text: #000000;\n\n /* Text */\n --kr-text: #000000;\n --kr-text-muted: #4b5563;\n --kr-text-disabled: #9ca3af;\n \n /* Borders */\n --kr-border: #e5e7eb;\n }\n`;\n//# sourceMappingURL=base.js.map","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=t=>(e,o)=>{void 0!==o?o.addInitializer(()=>{customElements.define(t,e)}):customElements.define(t,e)};export{t as customElement};\n//# sourceMappingURL=custom-element.js.map\n","import{notEqual as t,defaultConverter as e}from\"../reactive-element.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const o={attribute:!0,type:String,converter:e,reflect:!1,hasChanged:t},r=(t=o,e,r)=>{const{kind:n,metadata:i}=r;let s=globalThis.litPropertyMetadata.get(i);if(void 0===s&&globalThis.litPropertyMetadata.set(i,s=new Map),\"setter\"===n&&((t=Object.create(t)).wrapped=!0),s.set(r.name,t),\"accessor\"===n){const{name:o}=r;return{set(r){const n=e.get.call(this);e.set.call(this,r),this.requestUpdate(o,n,t,!0,r)},init(e){return void 0!==e&&this.C(o,void 0,t,e),e}}}if(\"setter\"===n){const{name:o}=r;return function(r){const n=this[o];e.call(this,r),this.requestUpdate(o,n,t,!0,r)}}throw Error(\"Unsupported decorator location: \"+n)};function n(t){return(e,o)=>\"object\"==typeof o?r(t,e,o):((t,e,o)=>{const r=e.hasOwnProperty(o);return e.constructor.createProperty(o,t),r?Object.getOwnPropertyDescriptor(e,o):void 0})(t,e,o)}export{n as property,r as standardProperty};\n//# sourceMappingURL=property.js.map\n","import{property as t}from\"./property.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */function r(r){return t({...r,state:!0,attribute:!1})}export{r as state};\n//# sourceMappingURL=state.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst e=(e,t,c)=>(c.configurable=!0,c.enumerable=!0,Reflect.decorate&&\"object\"!=typeof t&&Object.defineProperty(e,t,c),c);export{e as desc};\n//# sourceMappingURL=base.js.map\n","import{desc as t}from\"./base.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */function e(e,r){return(n,s,i)=>{const o=t=>t.renderRoot?.querySelector(e)??null;if(r){const{get:e,set:r}=\"object\"==typeof s?n:i??(()=>{const t=Symbol();return{get(){return this[t]},set(e){this[t]=e}}})();return t(n,s,{get(){let t=e.call(this);return void 0===t&&(t=o(this),(null!==t||this.hasUpdated)&&r.call(this,t)),t}})}return t(n,s,{get(){return o(this)}})}}export{e as query};\n//# sourceMappingURL=query.js.map\n","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { LitElement, html, css } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\n/**\n * Accordion component for collapsible content sections.\n *\n * ## Usage\n * ```html\n * <kr-accordion header=\"Basic Information\" expanded>\n * <div>Content here</div>\n * </kr-accordion>\n * ```\n *\n * @slot - The collapsible content\n *\n * @property {string} header - Section header text\n * @property {boolean} expanded - Whether the accordion is expanded\n */\nlet KRAccordion = class KRAccordion extends LitElement {\n constructor() {\n super(...arguments);\n /**\n * Section header text\n */\n this.header = '';\n /**\n * Whether the accordion is expanded\n */\n this.expanded = false;\n }\n toggle() {\n this.expanded = !this.expanded;\n }\n render() {\n return html `\n <div class=\"header\" @click=${this.toggle}>\n <span class=\"header__title\">${this.header}</span>\n <svg class=\"header__icon\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n <path d=\"M6 9l6 6 6-6\"/>\n </svg>\n </div>\n <div class=\"content\">\n <div class=\"content__inner\">\n <div class=\"content__body\">\n <slot></slot>\n </div>\n </div>\n </div>\n `;\n }\n};\nKRAccordion.styles = css `\n :host {\n display: block;\n margin-bottom: 16px;\n }\n\n .header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 12px 16px;\n background: #f7f8f9;\n border-radius: 8px;\n cursor: pointer;\n user-select: none;\n }\n\n .header__title {\n font-size: 15px;\n font-weight: 600;\n color: #111827;\n }\n\n .header__icon {\n width: 20px;\n height: 20px;\n color: #9ca3af;\n transition: transform 0.2s ease;\n flex-shrink: 0;\n }\n\n :host([expanded]) .header__icon {\n transform: rotate(180deg);\n }\n\n .content {\n display: grid;\n grid-template-rows: 0fr;\n transition: grid-template-rows 0.2s ease;\n }\n\n :host([expanded]) .content {\n grid-template-rows: 1fr;\n }\n\n .content__inner {\n overflow: hidden;\n }\n\n .content__body {\n padding: 16px 16px 8px 16px;\n }\n `;\n__decorate([\n property({ type: String })\n], KRAccordion.prototype, \"header\", void 0);\n__decorate([\n property({ type: Boolean, reflect: true })\n], KRAccordion.prototype, \"expanded\", void 0);\nKRAccordion = __decorate([\n customElement('kr-accordion')\n], KRAccordion);\nexport { KRAccordion };\n//# sourceMappingURL=accordion.js.map","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},e=t=>(...e)=>({_$litDirective$:t,values:e});class i{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,i){this._$Ct=t,this._$AM=e,this._$Ci=i}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}}export{i as Directive,t as PartType,e as directive};\n//# sourceMappingURL=directive.js.map\n","import{noChange as t}from\"../lit-html.js\";import{directive as s,Directive as i,PartType as r}from\"../directive.js\";\n/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const e=s(class extends i{constructor(t){if(super(t),t.type!==r.ATTRIBUTE||\"class\"!==t.name||t.strings?.length>2)throw Error(\"`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.\")}render(t){return\" \"+Object.keys(t).filter(s=>t[s]).join(\" \")+\" \"}update(s,[i]){if(void 0===this.st){this.st=new Set,void 0!==s.strings&&(this.nt=new Set(s.strings.join(\" \").split(/\\s/).filter(t=>\"\"!==t)));for(const t in i)i[t]&&!this.nt?.has(t)&&this.st.add(t);return this.render(i)}const r=s.element.classList;for(const t of this.st)t in i||(r.remove(t),this.st.delete(t));for(const t in i){const s=!!i[t];s===this.st.has(t)||this.nt?.has(t)||(s?(r.add(t),this.st.add(t)):(r.remove(t),this.st.delete(t)))}return t}});export{e as classMap};\n//# sourceMappingURL=class-map.js.map\n","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { LitElement, html, css, nothing } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\n/**\n * A customizable alert component for displaying important information to users.\n *\n * @slot - The alert message content\n * @fires dismiss - Fired when the dismiss button is clicked\n */\nlet KRAlert = class KRAlert extends LitElement {\n constructor() {\n super(...arguments);\n /**\n * The alert type/severity\n */\n this.type = 'info';\n /**\n * Optional title text\n */\n this.title = '';\n /**\n * Whether the alert can be dismissed\n */\n this.dismissible = false;\n /**\n * Whether the alert is visible\n */\n this.visible = true;\n }\n /** Handles dismiss button click */\n _handleDismiss() {\n this.visible = false;\n this.dispatchEvent(new CustomEvent('dismiss', { bubbles: true, composed: true }));\n }\n render() {\n const icons = {\n info: html `<svg class=\"icon\" viewBox=\"0 0 20 20\" fill=\"currentColor\"><path fill-rule=\"evenodd\" d=\"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a1 1 0 000 2v3a1 1 0 001 1h1a1 1 0 100-2v-3a1 1 0 00-1-1H9z\" clip-rule=\"evenodd\"/></svg>`,\n success: html `<svg class=\"icon\" viewBox=\"0 0 20 20\" fill=\"currentColor\"><path fill-rule=\"evenodd\" d=\"M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z\" clip-rule=\"evenodd\"/></svg>`,\n warning: html `<svg class=\"icon\" viewBox=\"0 0 20 20\" fill=\"currentColor\"><path fill-rule=\"evenodd\" d=\"M8.257 3.099c.765-1.36 2.722-1.36 3.486 0l5.58 9.92c.75 1.334-.213 2.98-1.742 2.98H4.42c-1.53 0-2.493-1.646-1.743-2.98l5.58-9.92zM11 13a1 1 0 11-2 0 1 1 0 012 0zm-1-8a1 1 0 00-1 1v3a1 1 0 002 0V6a1 1 0 00-1-1z\" clip-rule=\"evenodd\"/></svg>`,\n error: html `<svg class=\"icon\" viewBox=\"0 0 20 20\" fill=\"currentColor\"><path fill-rule=\"evenodd\" d=\"M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z\" clip-rule=\"evenodd\"/></svg>`,\n };\n return html `\n <div\n class=${classMap({\n 'alert': true,\n ['alert--' + this.type]: true,\n 'alert--has-header': !!this.title,\n 'alert--hidden': !this.visible\n })}\n role=\"alert\"\n >\n ${icons[this.type]}\n <div class=\"content\">\n ${this.title\n ? html `<h4 class=\"header\">${this.title}</h4>`\n : nothing}\n <div class=\"message\">\n <slot></slot>\n </div>\n </div>\n ${this.dismissible\n ? html `\n <button\n class=\"dismiss\"\n type=\"button\"\n aria-label=\"Dismiss alert\"\n @click=${this._handleDismiss}\n >\n <svg viewBox=\"0 0 20 20\" fill=\"currentColor\" width=\"16\" height=\"16\">\n <path fill-rule=\"evenodd\" d=\"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z\" clip-rule=\"evenodd\"/>\n </svg>\n </button>\n `\n : nothing}\n </div>\n `;\n }\n};\nKRAlert.styles = css `\n :host {\n display: block;\n }\n\n .alert {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 12px 16px;\n border-radius: 8px;\n border: 1px solid;\n border-left: 4px solid;\n }\n\n .alert--has-header {\n align-items: flex-start;\n }\n\n .alert--has-header .icon {\n margin-top: 2px;\n }\n\n .alert--hidden {\n display: none;\n }\n \n /* Variants */\n .alert--info {\n background-color: #eff6ff;\n border-color: #3b82f6;\n }\n\n .alert--info .icon {\n color: #2563eb;\n }\n\n .alert--success {\n background-color: #f0fdf4;\n border-color: #22c55e;\n }\n\n .alert--success .icon {\n color: #16a34a;\n }\n\n .alert--warning {\n background-color: #fffbeb;\n border-color: #f59e0b;\n }\n\n .alert--warning .icon {\n color: #d97706;\n }\n\n .alert--error {\n background-color: #fef2f2;\n border-color: #ef4444;\n }\n\n .alert--error .icon {\n color: #dc2626;\n }\n\n .icon {\n flex-shrink: 0;\n width: 20px;\n height: 20px;\n }\n\n .content {\n flex: 1;\n min-width: 0;\n display: flex;\n flex-direction: column;\n gap: 6px;\n }\n\n .header {\n font-size: 14px;\n font-weight: 600;\n color: #000000;\n margin: 0;\n }\n\n .message {\n font-size: 14px;\n color: #000000;\n margin: 0;\n }\n\n .dismiss {\n flex-shrink: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 20px;\n height: 20px;\n padding: 0;\n background: none;\n border: none;\n border-radius: 4px;\n color: #6b7280;\n cursor: pointer;\n transition: background 0.15s ease, color 0.15s ease;\n }\n\n .dismiss:hover {\n background-color: rgba(0, 0, 0, 0.05);\n color: #374151;\n }\n\n .dismiss:focus-visible {\n outline: 2px solid #3b82f6;\n outline-offset: 2px;\n }\n `;\n__decorate([\n property({ type: String })\n], KRAlert.prototype, \"type\", void 0);\n__decorate([\n property({ type: String })\n], KRAlert.prototype, \"title\", void 0);\n__decorate([\n property({ type: Boolean })\n], KRAlert.prototype, \"dismissible\", void 0);\n__decorate([\n property({ type: Boolean })\n], KRAlert.prototype, \"visible\", void 0);\nKRAlert = __decorate([\n customElement('kr-alert')\n], KRAlert);\nexport { KRAlert };\n//# sourceMappingURL=alert.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { LitElement, html, css, nothing } from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\n/**\n * A customizable button component.\n *\n * @slot - The button content (text)\n * @slot icon - Optional icon to display alongside the button text\n * @fires click - Fired when the button is clicked\n * @fires option-select - Fired when a dropdown option is selected\n */\nlet KRButton = class KRButton extends LitElement {\n constructor() {\n super(...arguments);\n /**\n * The button variant (shape)\n */\n this.variant = 'flat';\n /**\n * The button color\n */\n this.color = 'primary';\n /**\n * The button size\n */\n this.size = 'medium';\n /**\n * Whether the button is disabled\n */\n this.disabled = false;\n /**\n * Dropdown options - when provided, button becomes a dropdown\n */\n this.options = [];\n /**\n * Position of the icon relative to the text content.\n * @attr icon-position\n */\n this.iconPosition = 'left';\n this._state = 'idle';\n this._stateText = '';\n this._dropdownOpened = false;\n this._handleHostClick = (e) => {\n if (this.options.length) {\n e.stopPropagation();\n this._toggleDropdown();\n }\n };\n this._handleKeydown = (e) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n if (this.options.length) {\n this._toggleDropdown();\n }\n else {\n this.click();\n }\n }\n if (e.key === 'Escape' && this._dropdownOpened) {\n this._dropdownOpened = false;\n }\n };\n this._handleClickOutside = (e) => {\n if (this._dropdownOpened && !this.contains(e.target)) {\n this._dropdownOpened = false;\n }\n };\n }\n connectedCallback() {\n super.connectedCallback();\n this.setAttribute('role', this.href ? 'link' : 'button');\n this.setAttribute('tabindex', '0');\n this.addEventListener('keydown', this._handleKeydown);\n this.addEventListener('click', this._handleHostClick);\n document.addEventListener('click', this._handleClickOutside);\n }\n disconnectedCallback() {\n super.disconnectedCallback();\n this.removeEventListener('keydown', this._handleKeydown);\n this.removeEventListener('click', this._handleHostClick);\n document.removeEventListener('click', this._handleClickOutside);\n }\n _toggleDropdown() {\n this._dropdownOpened = !this._dropdownOpened;\n if (this._dropdownOpened) {\n // Position the fixed dropdown relative to the host element\n requestAnimationFrame(() => {\n const dropdown = this.shadowRoot?.querySelector('.dropdown');\n if (dropdown) {\n const hostRect = this.getBoundingClientRect();\n dropdown.style.top = hostRect.bottom + 4 + 'px';\n dropdown.style.bottom = '';\n dropdown.style.left = hostRect.left + 'px';\n dropdown.style.right = '';\n dropdown.style.minWidth = hostRect.width + 'px';\n dropdown.style.transformOrigin = 'top left';\n const dropdownRect = dropdown.getBoundingClientRect();\n // Open above if dropdown overflows viewport bottom\n if (dropdownRect.bottom > window.innerHeight) {\n dropdown.style.top = '';\n dropdown.style.bottom = window.innerHeight - hostRect.top + 4 + 'px';\n dropdown.style.transformOrigin = 'bottom left';\n dropdown.classList.add('dropdown--above');\n }\n else {\n dropdown.classList.remove('dropdown--above');\n }\n // Align right if dropdown overflows viewport right\n if (dropdownRect.right > window.innerWidth) {\n dropdown.style.left = '';\n dropdown.style.right = window.innerWidth - hostRect.right + 'px';\n if (dropdownRect.bottom > window.innerHeight) {\n dropdown.style.transformOrigin = 'bottom right';\n }\n else {\n dropdown.style.transformOrigin = 'top right';\n }\n }\n }\n });\n }\n }\n _handleOptionClick(option, e) {\n e.stopPropagation();\n this._dropdownOpened = false;\n this.dispatchEvent(new CustomEvent('option-select', {\n detail: { id: option.id, label: option.label },\n bubbles: true,\n composed: true\n }));\n }\n /**\n * Shows a loading spinner and disables the button.\n */\n showLoading() {\n this._clearStateTimeout();\n this._state = 'loading';\n this._stateText = '';\n }\n /**\n * Shows a success state with optional custom text.\n * @param text - Text to display (default: \"Saved\")\n * @param duration - Duration in ms before auto-reset (default: 2000)\n */\n showSuccess(text = 'Success', duration = 2000) {\n this._clearStateTimeout();\n this._state = 'success';\n this._stateText = text;\n if (duration > 0) {\n this._stateTimeout = window.setTimeout(() => this.reset(), duration);\n }\n }\n /**\n * Shows an error state with optional custom text.\n * @param text - Text to display (default: \"Error\")\n * @param duration - Duration in ms before auto-reset (default: 2000)\n */\n showError(text = 'Error', duration = 2000) {\n this._clearStateTimeout();\n this._state = 'error';\n this._stateText = text;\n if (duration > 0) {\n this._stateTimeout = window.setTimeout(() => this.reset(), duration);\n }\n }\n /**\n * Returns whether the button is currently in the loading state.\n */\n isLoading() {\n return this._state === 'loading';\n }\n /**\n * Resets the button to its idle state.\n */\n reset() {\n this._clearStateTimeout();\n this._state = 'idle';\n this._stateText = '';\n }\n _clearStateTimeout() {\n if (this._stateTimeout) {\n clearTimeout(this._stateTimeout);\n this._stateTimeout = undefined;\n }\n }\n updated(changedProperties) {\n // Reflect state classes to host\n this.classList.toggle('kr-button--loading', this._state === 'loading');\n this.classList.toggle('kr-button--success', this._state === 'success');\n this.classList.toggle('kr-button--error', this._state === 'error');\n this.classList.toggle(`kr-button--${this.variant}`, true);\n this.classList.toggle(`kr-button--${this.color}`, true);\n this.classList.toggle('kr-button--small', this.size === 'small');\n this.classList.toggle('kr-button--large', this.size === 'large');\n }\n render() {\n const content = html `\n <span class=\"content\">\n <slot name=\"icon\"></slot>\n <slot></slot>\n </span>\n ${this.options.length ? html `<svg class=\"caret\" xmlns=\"http://www.w3.org/2000/svg\" height=\"20\" width=\"20\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M7.41 8.59L12 13.17l4.59-4.58L18 10l-6 6-6-6 1.41-1.41z\"/></svg>` : nothing}\n ${this._state !== 'idle'\n ? html `<span class=\"state-overlay\">\n ${this._state === 'loading'\n ? html `<span class=\"spinner\"></span>`\n : this._stateText}\n </span>`\n : nothing}\n ${this.options.length ? html `\n <div class=\"dropdown ${this._dropdownOpened ? 'dropdown--opened' : ''}\">\n ${this.options.map(option => html `\n <button\n class=\"dropdown-item\"\n @click=${(e) => this._handleOptionClick(option, e)}\n >${option.label}</button>\n `)}\n </div>\n ` : nothing}\n `;\n return this.href\n ? html `<a class=\"link\" href=${this.href} target=${this.target || nothing}>${content}</a>`\n : content;\n }\n};\nKRButton.styles = css `\n :host {\n display: inline-flex;\n position: relative;\n align-items: center;\n justify-content: center;\n font-family: inherit;\n font-size: 14px;\n font-weight: 400;\n letter-spacing: 0.01em;\n padding: 0 22px;\n height: 36px;\n border: none;\n border-radius: 20px;\n cursor: pointer;\n transition: background 0.15s ease;\n user-select: none;\n box-sizing: border-box;\n }\n\n :host([disabled]),\n :host(.kr-button--loading),\n :host(.kr-button--success),\n :host(.kr-button--error) {\n cursor: not-allowed;\n pointer-events: none;\n }\n\n :host([disabled]:not(.kr-button--loading):not(.kr-button--success):not(.kr-button--error)) {\n opacity: 0.5;\n }\n\n /* Flat + Primary (default) */\n :host,\n :host(.kr-button--flat.kr-button--primary) {\n background: #163052;\n color: white;\n }\n\n :host(:hover:not([disabled])),\n :host(.kr-button--flat.kr-button--primary:hover:not([disabled])) {\n background: #0e1f35;\n }\n\n /* Flat + Secondary */\n :host(.kr-button--flat.kr-button--secondary) {\n background: #f3f4f6;\n color: #374151;\n }\n\n :host(.kr-button--flat.kr-button--secondary:hover:not([disabled])) {\n background: #e5e7eb;\n }\n\n /* Outline + Primary */\n :host(.kr-button--outline.kr-button--primary) {\n background: transparent;\n border: 1px solid #163052;\n color: #163052;\n }\n\n :host(.kr-button--outline.kr-button--primary:hover:not([disabled])) {\n background: rgba(22, 48, 82, 0.05);\n }\n\n /* Outline + Secondary */\n :host(.kr-button--outline.kr-button--secondary) {\n background: transparent;\n border: 1px solid #d1d5db;\n color: #374151;\n }\n\n :host(.kr-button--outline.kr-button--secondary:hover:not([disabled])) {\n background: #f9fafb;\n border-color: #9ca3af;\n }\n\n /* Flat + Danger */\n :host(.kr-button--flat.kr-button--danger) {\n background: #dc2626;\n color: white;\n }\n\n :host(.kr-button--flat.kr-button--danger:hover:not([disabled])) {\n background: #b91c1c;\n }\n\n /* Outline + Danger */\n :host(.kr-button--outline.kr-button--danger) {\n background: transparent;\n border: 1px solid rgb(219, 38, 39);\n color: rgb(219, 38, 39);\n }\n\n :host(.kr-button--outline.kr-button--danger:hover:not([disabled])) {\n background: rgba(219, 38, 39, 0.05);\n }\n\n /* Sizes */\n :host(.kr-button--small) {\n font-size: 13px;\n height: 30px;\n padding: 0 16px;\n }\n\n :host(.kr-button--large) {\n font-size: 16px;\n height: 44px;\n padding: 0 24px;\n border-radius: 30px;\n }\n\n /* State colors */\n :host(.kr-button--success) {\n background: #198754 !important;\n color: white !important;\n }\n\n :host(.kr-button--error) {\n background: rgb(220, 53, 69) !important;\n color: white !important;\n }\n\n /* Content */\n :host(.kr-button--loading) .content,\n :host(.kr-button--success) .content,\n :host(.kr-button--error) .content {\n visibility: hidden;\n }\n\n /* State overlay */\n .state-overlay {\n position: absolute;\n inset: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n /* Spinner */\n @keyframes kr-spin {\n to {\n transform: rotate(360deg);\n }\n }\n\n .spinner {\n width: 12px;\n height: 12px;\n border: 2.5px solid currentColor;\n border-top-color: transparent;\n border-radius: 50%;\n animation: kr-spin 0.6s linear infinite;\n }\n\n :host(.kr-button--small) .spinner {\n width: 10px;\n height: 10px;\n border-width: 2px;\n }\n\n :host(.kr-button--large) .spinner {\n width: 16px;\n height: 16px;\n border-width: 3px;\n }\n\n /* Dropdown */\n .dropdown {\n position: fixed;\n min-width: 100%;\n background: white;\n border: 1px solid #9ba7b6;\n border-radius: 8px;\n box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);\n padding: 8px 0;\n z-index: 10000;\n display: none;\n transform-origin: top left;\n }\n\n .dropdown--opened {\n display: block;\n animation: dropdown-fade-in 150ms ease-out;\n }\n\n .dropdown--above {\n animation-name: dropdown-fade-in-above;\n }\n\n @keyframes dropdown-fade-in {\n from {\n opacity: 0;\n transform: translateY(-4px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n }\n\n @keyframes dropdown-fade-in-above {\n from {\n opacity: 0;\n transform: translateY(4px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n }\n\n .dropdown-item {\n display: block;\n width: 100%;\n padding: 8px 16px;\n text-align: left;\n background: none;\n border: none;\n font-size: 14px;\n color: #374151;\n cursor: pointer;\n font-family: inherit;\n white-space: nowrap;\n }\n\n .dropdown-item:hover {\n background: #f3f4f6;\n }\n\n /* Caret for dropdown button */\n .caret {\n margin-left: 4px;\n margin-right: -6px;\n display: flex;\n }\n\n /* Link wrapper */\n .link {\n color: inherit;\n text-decoration: none;\n }\n\n /* Content wrapper for icon + text layout */\n .content {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n }\n\n :host([icon-position=\"right\"]) .content {\n flex-direction: row-reverse;\n }\n\n /* Icon styling */\n ::slotted([slot=\"icon\"]) {\n width: 18px;\n height: 18px;\n flex-shrink: 0;\n }\n\n :host(.kr-button--small) ::slotted([slot=\"icon\"]) {\n width: 16px;\n height: 16px;\n }\n\n :host(.kr-button--large) ::slotted([slot=\"icon\"]) {\n width: 22px;\n height: 22px;\n }\n `;\n__decorate([\n property({ type: String, reflect: true })\n], KRButton.prototype, \"variant\", void 0);\n__decorate([\n property({ type: String, reflect: true })\n], KRButton.prototype, \"color\", void 0);\n__decorate([\n property({ type: String, reflect: true })\n], KRButton.prototype, \"size\", void 0);\n__decorate([\n property({ type: Boolean, reflect: true })\n], KRButton.prototype, \"disabled\", void 0);\n__decorate([\n property({ type: String })\n], KRButton.prototype, \"href\", void 0);\n__decorate([\n property({ type: String })\n], KRButton.prototype, \"target\", void 0);\n__decorate([\n property({ type: Array })\n], KRButton.prototype, \"options\", void 0);\n__decorate([\n property({ type: String, reflect: true, attribute: 'icon-position' })\n], KRButton.prototype, \"iconPosition\", void 0);\n__decorate([\n state()\n], KRButton.prototype, \"_state\", void 0);\n__decorate([\n state()\n], KRButton.prototype, \"_stateText\", void 0);\n__decorate([\n state()\n], KRButton.prototype, \"_dropdownOpened\", void 0);\nKRButton = __decorate([\n customElement('kr-button')\n], KRButton);\nexport { KRButton };\n//# sourceMappingURL=button.js.map","import{nothing as t,noChange as i}from\"../lit-html.js\";import{directive as r,Directive as s,PartType as n}from\"../directive.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */class e extends s{constructor(i){if(super(i),this.it=t,i.type!==n.CHILD)throw Error(this.constructor.directiveName+\"() can only be used in child bindings\")}render(r){if(r===t||null==r)return this._t=void 0,this.it=r;if(r===i)return r;if(\"string\"!=typeof r)throw Error(this.constructor.directiveName+\"() called with a non-string value\");if(r===this.it)return this._t;this.it=r;const s=[r];return s.raw=s,this._t={_$litType$:this.constructor.resultType,strings:s,values:[]}}}e.directiveName=\"unsafeHTML\",e.resultType=1;const o=r(e);export{e as UnsafeHTMLDirective,o as unsafeHTML};\n//# sourceMappingURL=unsafe-html.js.map\n","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { LitElement, html, css } from 'lit';\nimport { krBaseCSS } from '../style/base.js';\nimport { customElement, property, state } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { unsafeHTML } from 'lit/directives/unsafe-html.js';\n/**\n * Code demo component with Preview/Code tabs and syntax highlighting.\n *\n * Usage:\n * ```html\n * <kr-code-demo language=\"html\">\n * <kr-button>Click me</kr-button>\n * </kr-code-demo>\n * ```\n *\n * Requires highlight.js to be loaded globally for syntax highlighting.\n */\nlet KRCodeDemo = class KRCodeDemo extends LitElement {\n constructor() {\n super(...arguments);\n this.language = 'html';\n this.code = '';\n this.activeTab = 'preview';\n this.copied = false;\n this.highlightedCode = '';\n }\n connectedCallback() {\n super.connectedCallback();\n // Defer to next frame so the parser finishes with children before we read innerHTML\n requestAnimationFrame(() => {\n if (!this.code) {\n // innerHTML normalizes boolean attributes (e.g. dismissible -> dismissible=\"\"), strip the =\"\" for cleaner display\n this.code = this.innerHTML.trim().replace(/=\"\"(?=[\\s>])/g, '');\n }\n this.querySelectorAll('script').forEach(oldScript => {\n const newScript = document.createElement('script');\n newScript.textContent = oldScript.textContent;\n oldScript.replaceWith(newScript);\n });\n if (this.code && window.hljs && window.hljs.getLanguage(this.language)) {\n this.highlightedCode = window.hljs.highlight(this.code, { language: this.language }).value;\n }\n else {\n this.highlightedCode = this.code.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;');\n }\n });\n }\n activateTab(tab) {\n this.activeTab = tab;\n }\n copyCode() {\n if (!this.code)\n return;\n navigator.clipboard.writeText(this.code).then(() => {\n this.copied = true;\n setTimeout(() => {\n this.copied = false;\n }, 2000);\n });\n }\n render() {\n return html `\n <div class=\"tabs\">\n <button\n class=${classMap({\n tab: true,\n 'tab--active': this.activeTab === 'preview'\n })}\n @click=${() => this.activateTab('preview')}\n >\n Preview\n </button>\n <button\n class=${classMap({\n tab: true, 'tab--active': this.activeTab === 'code'\n })}\n @click=${() => this.activateTab('code')}\n >\n Code\n </button>\n <button\n class=${classMap({ 'copy': true, 'copy--success': this.copied })}\n @click=${this.copyCode}\n title=${this.copied ? 'Copied!' : 'Copy code'}\n >\n ${this.copied\n ? html `<svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><polyline points=\"20 6 9 17 4 12\"></polyline></svg>`\n : html `<svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"9\" y=\"9\" width=\"13\" height=\"13\" rx=\"2\" ry=\"2\"></rect><path d=\"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1\"></path></svg>`}\n </button>\n </div>\n\n <div class=${classMap({\n panel: true,\n 'panel--active': this.activeTab === 'preview',\n 'panel--preview': true\n })}>\n <slot></slot>\n </div>\n\n <div class=${classMap({\n panel: true,\n 'panel--active': this.activeTab === 'code',\n 'panel--code': true\n })}>\n <pre class=\"code\"><code>${unsafeHTML(this.highlightedCode)}</code></pre>\n </div>\n\n `;\n }\n};\nKRCodeDemo.styles = [krBaseCSS, css `\n :host {\n display: block;\n border: 1px solid #d5dbdb;\n border-radius: 8px;\n overflow: hidden;\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\n }\n\n .tabs {\n display: flex;\n align-items: center;\n height: 48px;\n background: #f8f9fa;\n border-bottom: 1px solid #d5dbdb;\n border-radius: 8px 8px 0 0;\n }\n\n .tab {\n height: 100%;\n padding: 0 20px;\n background: none;\n border: none;\n color: #6c757d;\n font-size: 14px;\n font-weight: 500;\n font-family: inherit;\n cursor: pointer;\n position: relative;\n transition: color 0.15s;\n }\n\n .tab:hover {\n color: #495057;\n }\n\n .tab--active {\n color: #1a1a2e;\n }\n\n .tab--active::after {\n content: '';\n position: absolute;\n bottom: -1px;\n left: 0;\n right: 0;\n height: 2px;\n background: var(--kr-primary);\n }\n\n .panel {\n display: none;\n }\n\n .panel--active {\n display: block;\n }\n\n .panel--preview {\n padding: 24px;\n background: #ffffff;\n }\n\n .panel--code {\n }\n\n .code {\n margin: 0;\n padding: 20px;\n background: #ffffff;\n overflow-x: auto;\n font-family: 'SF Mono', 'Fira Code', 'Monaco', 'Consolas', monospace;\n font-size: 13px;\n line-height: 1.6;\n color: #1a1a2e;\n border-radius: 0 0 8px 8px;\n }\n\n .code code {\n font-family: inherit;\n }\n\n .copy {\n display: flex;\n align-items: center;\n justify-content: center;\n margin-left: auto;\n margin-right: 12px;\n padding: 0;\n background: none;\n border: none;\n border-radius: 4px;\n color: #6c757d;\n cursor: pointer;\n transition: color 0.15s;\n }\n\n .copy:hover {\n color: #495057;\n }\n\n .copy--success {\n color: #16a34a;\n }\n\n /* Syntax highlighting */\n .hljs-tag { color: #22863a; }\n .hljs-name { color: #22863a; }\n .hljs-attr { color: #6f42c1; }\n .hljs-string { color: #032f62; }\n .hljs-comment { color: #6a737d; font-style: italic; }\n .hljs-keyword { color: #d73a49; }\n .hljs-number { color: #005cc5; }\n .hljs-built_in { color: #e36209; }\n .hljs-literal { color: #005cc5; }\n .hljs-symbol { color: #e36209; }\n .hljs-selector-tag { color: #22863a; }\n .hljs-selector-class { color: #6f42c1; }\n .hljs-selector-id { color: #005cc5; }\n .hljs-attribute { color: #005cc5; }\n .hljs-property { color: #005cc5; }\n\n `];\n__decorate([\n property({ type: String })\n], KRCodeDemo.prototype, \"language\", void 0);\n__decorate([\n state()\n], KRCodeDemo.prototype, \"code\", void 0);\n__decorate([\n state()\n], KRCodeDemo.prototype, \"activeTab\", void 0);\n__decorate([\n state()\n], KRCodeDemo.prototype, \"copied\", void 0);\n__decorate([\n state()\n], KRCodeDemo.prototype, \"highlightedCode\", void 0);\nKRCodeDemo = __decorate([\n customElement('kr-code-demo')\n], KRCodeDemo);\nexport { KRCodeDemo };\n//# sourceMappingURL=code-demo.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { LitElement, html, css } from 'lit';\nimport { customElement, state } from 'lit/decorators.js';\n/**\n * Context menu component that can be opened programmatically.\n *\n * Usage:\n * ```ts\n * const result = await ContextMenu.open({\n * x: event.clientX,\n * y: event.clientY,\n * items: [\n * { id: 'edit', label: 'Edit Item' },\n * { id: 'divider', label: '', divider: true },\n * { id: 'add-above', label: 'Add Item Above' },\n * { id: 'add-below', label: 'Add Item Below' },\n * ]\n * });\n *\n * if (result) {\n * console.log('Selected:', result.id);\n * }\n * ```\n */\nlet KRContextMenu = class KRContextMenu extends LitElement {\n constructor() {\n super(...arguments);\n this.items = [];\n this.resolvePromise = null;\n this.boundHandleOutsideClick = this.handleOutsideClick.bind(this);\n this.boundHandleKeyDown = this.handleKeyDown.bind(this);\n }\n static async open(options) {\n // Remove any existing context menu\n const existing = document.querySelector('kr-context-menu');\n if (existing) {\n existing.remove();\n }\n // Create and position the menu\n const menu = document.createElement('kr-context-menu');\n document.body.appendChild(menu);\n return menu.show(options);\n }\n async show(options) {\n this.items = options.items;\n this.style.left = `${options.x}px`;\n this.style.top = `${options.y}px`;\n // Adjust position if menu would go off screen\n await this.updateComplete;\n const rect = this.getBoundingClientRect();\n if (rect.right > window.innerWidth) {\n this.style.left = `${options.x - rect.width}px`;\n }\n if (rect.bottom > window.innerHeight) {\n this.style.top = `${options.y - rect.height}px`;\n }\n // Add event listeners after a microtask to avoid the current event triggering close\n requestAnimationFrame(() => {\n document.addEventListener('click', this.boundHandleOutsideClick);\n document.addEventListener('contextmenu', this.boundHandleOutsideClick);\n document.addEventListener('keydown', this.boundHandleKeyDown);\n });\n return new Promise((resolve) => {\n this.resolvePromise = resolve;\n });\n }\n handleOutsideClick(e) {\n if (!this.contains(e.target)) {\n this.close(null);\n }\n }\n handleKeyDown(e) {\n if (e.key === 'Escape') {\n this.close(null);\n }\n }\n handleItemClick(item) {\n if (!item.disabled && !item.divider) {\n this.close(item);\n }\n }\n close(result) {\n document.removeEventListener('click', this.boundHandleOutsideClick);\n document.removeEventListener('contextmenu', this.boundHandleOutsideClick);\n document.removeEventListener('keydown', this.boundHandleKeyDown);\n if (this.resolvePromise) {\n this.resolvePromise(result);\n this.resolvePromise = null;\n }\n this.remove();\n }\n render() {\n return html `\n <div class=\"menu\">\n ${this.items.map(item => item.divider\n ? html `<div class=\"menu__divider\"></div>`\n : html `\n <button\n class=\"menu__item\"\n ?disabled=${item.disabled}\n @click=${() => this.handleItemClick(item)}\n >\n ${item.icon ? html `<span class=\"menu__item-icon\">${item.icon}</span>` : null}\n ${item.label}\n </button>\n `)}\n </div>\n `;\n }\n};\nKRContextMenu.styles = css `\n :host {\n position: fixed;\n z-index: 10000;\n }\n\n .menu {\n background: #1a1a2e;\n border: 1px solid rgba(255, 255, 255, 0.1);\n border-radius: 8px;\n padding: 4px;\n min-width: 180px;\n box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);\n }\n\n .menu__item {\n display: flex;\n align-items: center;\n gap: 12px;\n width: 100%;\n padding: 10px 12px;\n background: none;\n border: none;\n color: rgba(255, 255, 255, 0.8);\n font-size: 13px;\n font-family: inherit;\n text-align: left;\n cursor: pointer;\n border-radius: 6px;\n transition: background 0.15s ease;\n }\n\n .menu__item:hover:not(:disabled) {\n background: rgba(255, 255, 255, 0.05);\n color: #ffffff;\n }\n\n .menu__item:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n }\n\n .menu__item-icon {\n width: 16px;\n height: 16px;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n .menu__divider {\n height: 1px;\n background: rgba(255, 255, 255, 0.1);\n margin: 4px 0;\n }\n `;\n__decorate([\n state()\n], KRContextMenu.prototype, \"items\", void 0);\nKRContextMenu = __decorate([\n customElement('kr-context-menu')\n], KRContextMenu);\nexport { KRContextMenu };\n//# sourceMappingURL=context-menu.js.map","import{noChange as t}from\"../lit-html.js\";import{directive as e,Directive as r,PartType as s}from\"../directive.js\";\n/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const n=\"important\",i=\" !\"+n,o=e(class extends r{constructor(t){if(super(t),t.type!==s.ATTRIBUTE||\"style\"!==t.name||t.strings?.length>2)throw Error(\"The `styleMap` directive must be used in the `style` attribute and must be the only part in the attribute.\")}render(t){return Object.keys(t).reduce((e,r)=>{const s=t[r];return null==s?e:e+`${r=r.includes(\"-\")?r:r.replace(/(?:^(webkit|moz|ms|o)|)(?=[A-Z])/g,\"-$&\").toLowerCase()}:${s};`},\"\")}update(e,[r]){const{style:s}=e.element;if(void 0===this.ft)return this.ft=new Set(Object.keys(r)),this.render(r);for(const t of this.ft)null==r[t]&&(this.ft.delete(t),t.includes(\"-\")?s.removeProperty(t):s[t]=null);for(const t in r){const e=r[t];if(null!=e){this.ft.add(t);const r=\"string\"==typeof e&&e.endsWith(i);t.includes(\"-\")||r?s.setProperty(t,r?e.slice(0,-11):e,r?n:\"\"):s[t]=e}}return t}});export{o as styleMap};\n//# sourceMappingURL=style-map.js.map\n","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { LitElement, html, css } from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\nimport { styleMap } from 'lit/directives/style-map.js';\nlet KRDialogHeader = class KRDialogHeader extends LitElement {\n render() {\n return html `<slot></slot>`;\n }\n};\nKRDialogHeader.styles = css `\n :host {\n display: flex;\n padding: 0 24px;\n align-items: center;\n height: 64px;\n flex-shrink: 0;\n border-bottom: 1px solid rgba(0, 0, 0, 0.1);\n }\n\n ::slotted(h2) {\n margin: 0;\n font-size: 18px;\n font-weight: 600;\n }\n `;\nKRDialogHeader = __decorate([\n customElement('kr-dialog-header')\n], KRDialogHeader);\nexport { KRDialogHeader };\nlet KRDialogContent = class KRDialogContent extends LitElement {\n render() {\n return html `<slot></slot>`;\n }\n};\nKRDialogContent.styles = css `\n :host {\n display: block;\n padding: 24px;\n overflow: auto;\n flex: 1 1 auto;\n }\n `;\nKRDialogContent = __decorate([\n customElement('kr-dialog-content')\n], KRDialogContent);\nexport { KRDialogContent };\nlet KRDialogFooter = class KRDialogFooter extends LitElement {\n render() {\n return html `<slot></slot>`;\n }\n};\nKRDialogFooter.styles = css `\n :host {\n display: flex;\n padding: 0 24px;\n align-items: center;\n height: 64px;\n flex-shrink: 0;\n border-top: 1px solid rgba(0, 0, 0, 0.1);\n gap: 12px;\n justify-content: flex-end;\n }\n `;\nKRDialogFooter = __decorate([\n customElement('kr-dialog-footer')\n], KRDialogFooter);\nexport { KRDialogFooter };\n/**\n * A reference to an open dialog instance.\n *\n * Used to close the dialog and retrieve its result.\n *\n * @typeParam R - The type of the result returned when the dialog closes\n */\nexport class KRDialogRef {\n constructor() {\n this._resolvePromise = null;\n this._dialogElement = null;\n this._promise = new Promise((resolve) => {\n this._resolvePromise = resolve;\n });\n }\n /** @internal */\n setDialogElement(el) {\n this._dialogElement = el;\n }\n /**\n * Closes the dialog and resolves with the given result.\n *\n * @param result - The result to return to the caller\n */\n close(result) {\n if (this._resolvePromise) {\n this._resolvePromise(result);\n this._resolvePromise = null;\n }\n this._dialogElement?.remove();\n }\n /**\n * Returns a promise that resolves when the dialog is closed.\n *\n * @returns A promise that resolves with the dialog result, or undefined if dismissed\n */\n afterClosed() {\n return this._promise;\n }\n}\n/**\n * Generic dialog component that supports both declarative and programmatic usage.\n *\n * Declarative: place `<kr-dialog>` in HTML with slotted content and call `.open()` / `.close()`.\n * Programmatic: use `KRDialog.open(Component, config)` to create and show a dialog.\n *\n * @element kr-dialog\n *\n * @slot - Default slot for declarative dialog content (kr-dialog-header, kr-dialog-content, kr-dialog-footer)\n *\n * @fires close - Fired when a declarative dialog is closed\n */\nlet KRDialog = class KRDialog extends LitElement {\n constructor() {\n super(...arguments);\n this._dialogRef = null;\n this._contentElement = null;\n this.opened = false;\n this.label = '';\n this.width = '560px';\n this._handleDocumentKeyDown = (e) => {\n if (e.key === 'Escape') {\n this.close();\n }\n };\n }\n disconnectedCallback() {\n super.disconnectedCallback();\n document.removeEventListener('keydown', this._handleDocumentKeyDown);\n }\n updated(changedProperties) {\n super.updated(changedProperties);\n if (changedProperties.has('opened')) {\n if (this.opened) {\n document.addEventListener('keydown', this._handleDocumentKeyDown);\n }\n else {\n document.removeEventListener('keydown', this._handleDocumentKeyDown);\n }\n }\n }\n /**\n * Opens the dialog (declarative mode).\n */\n open() {\n this.opened = true;\n }\n /**\n * Closes the dialog.\n * In programmatic mode (has _dialogRef), delegates to the dialog ref.\n * In declarative mode, sets opened=false and dispatches close event.\n */\n close() {\n if (this._dialogRef) {\n this._dialogRef.close(undefined);\n return;\n }\n this.opened = false;\n this.dispatchEvent(new CustomEvent('close', { bubbles: true, composed: true }));\n }\n /**\n * Opens a dialog programmatically by creating a component and injecting it.\n */\n static open(component, config) {\n // Only remove other programmatic dialogs (those with a _dialogRef)\n document.querySelectorAll('kr-dialog').forEach((el) => {\n if (el._dialogRef) {\n el.remove();\n }\n });\n const dialogRef = new KRDialogRef();\n const dialog = document.createElement('kr-dialog');\n dialogRef.setDialogElement(dialog);\n dialog._dialogRef = dialogRef;\n // Create the content component\n const content = new component();\n content.dialogRef = dialogRef;\n if (config?.data) {\n content.data = config.data;\n }\n if (config?.label) {\n dialog.label = config.label;\n }\n if (config?.width) {\n dialog.width = config.width;\n }\n dialog._contentElement = content;\n dialog.opened = true;\n document.body.appendChild(dialog);\n return dialogRef;\n }\n _handleBackdropClick(e) {\n if (e.target.classList.contains('backdrop')) {\n this.close();\n }\n }\n render() {\n return html `\n <div class=\"backdrop\" @click=${this._handleBackdropClick}></div>\n <div class=\"dialog\" style=${styleMap({ width: this.width })}>\n ${this.label ? html `<div class=\"dialog__header\"><div class=\"dialog__header-label\">${this.label}</div></div>` : ''}\n ${this._contentElement ? this._contentElement : html `<slot></slot>`}\n </div>\n `;\n }\n};\nKRDialog.styles = css `\n :host {\n position: fixed;\n inset: 0;\n z-index: 10000;\n display: none;\n align-items: center;\n justify-content: center;\n }\n\n :host([opened]) {\n display: flex;\n }\n\n .backdrop {\n position: absolute;\n inset: 0;\n background: rgba(0, 0, 0, 0.5);\n }\n\n .dialog {\n position: relative;\n background: #fff;\n border: 1px solid rgba(0, 0, 0, 0.1);\n border-radius: 12px;\n box-shadow: 0 16px 48px rgba(0, 0, 0, 0.2);\n max-height: 90vh;\n overflow: hidden;\n display: flex;\n flex-direction: column;\n width: 560px;\n max-width: calc(100vw - 48px);\n }\n\n ::slotted(kr-dialog-header),\n ::slotted(kr-dialog-footer) {\n flex-shrink: 0;\n }\n\n ::slotted(kr-dialog-content) {\n flex: 1 1 auto;\n overflow: auto;\n }\n\n .dialog__header {\n display: flex;\n padding: 0 24px;\n align-items: center;\n height: 64px;\n flex-shrink: 0;\n border-bottom: 1px solid rgba(0, 0, 0, 0.1);\n }\n\n .dialog__header-label {\n margin: 0;\n font-size: 18px;\n font-weight: 600;\n }\n `;\n__decorate([\n state()\n], KRDialog.prototype, \"_contentElement\", void 0);\n__decorate([\n property({ type: Boolean, reflect: true })\n], KRDialog.prototype, \"opened\", void 0);\n__decorate([\n property({ type: String })\n], KRDialog.prototype, \"label\", void 0);\n__decorate([\n property({ type: String })\n], KRDialog.prototype, \"width\", void 0);\nKRDialog = __decorate([\n customElement('kr-dialog')\n], KRDialog);\nexport { KRDialog };\n//# sourceMappingURL=dialog.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar KRSnackbar_1;\nimport { LitElement, html, css } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\n/**\n * A snackbar component for displaying brief notification messages.\n *\n * Snackbars appear at the bottom-left of the screen and automatically\n * dismiss after a configurable duration. Multiple snackbars stack vertically.\n *\n * @fires dismiss - Fired when the snackbar is dismissed (manually or automatically)\n *\n * @example\n * ```ts\n * // Show a success message\n * KRSnackbar.show({ message: 'Item saved successfully', type: 'success' });\n *\n * // Show a message with title\n * KRSnackbar.show({ title: 'Upload Complete', message: 'Your file has been uploaded.', type: 'success' });\n *\n * // Show an error that stays until manually dismissed\n * KRSnackbar.show({ message: 'Failed to save', type: 'error', duration: 0 });\n * ```\n */\nlet KRSnackbar = KRSnackbar_1 = class KRSnackbar extends LitElement {\n constructor() {\n super(...arguments);\n this.dismissTimeout = null;\n /**\n * The snackbar type/severity. Controls the color scheme and icon.\n */\n this.type = 'info';\n /**\n * Optional title to display above the message.\n */\n this.title = '';\n /**\n * The message to display in the snackbar.\n */\n this.message = '';\n /**\n * Duration in milliseconds before auto-dismiss. Set to 0 to disable auto-dismiss.\n * @default 5000\n */\n this.duration = 5000;\n }\n /**\n * Show a snackbar with the given options.\n * @param options - Configuration including message, optional title, type, and duration\n * @returns The created snackbar element\n */\n static show(options) {\n // Close any existing snackbars before showing the new one\n for (const existing of this.activeSnackbars) {\n existing.dismiss();\n }\n const snackbar = document.createElement('kr-snackbar');\n snackbar.message = options.message;\n snackbar.title = options.title ?? '';\n snackbar.type = options.type ?? 'info';\n if (options.duration !== undefined) {\n snackbar.duration = options.duration;\n }\n else if (snackbar.type === 'error') {\n snackbar.duration = 0;\n }\n else {\n snackbar.duration = 5000;\n }\n document.body.appendChild(snackbar);\n return snackbar;\n }\n connectedCallback() {\n super.connectedCallback();\n // Set role and type class on host\n this.setAttribute('role', 'alert');\n this.classList.add(`kr-snackbar--${this.type}`);\n if (this.title) {\n this.classList.add('kr-snackbar--has-title');\n }\n // Add to active snackbars and update positions\n KRSnackbar_1.activeSnackbars.push(this);\n // this.updatePositions();\n // Set up auto-dismiss\n if (this.duration > 0) {\n this.dismissTimeout = window.setTimeout(() => {\n this.dismiss();\n }, this.duration);\n }\n }\n disconnectedCallback() {\n super.disconnectedCallback();\n // Remove from active snackbars\n const index = KRSnackbar_1.activeSnackbars.indexOf(this);\n if (index > -1) {\n KRSnackbar_1.activeSnackbars.splice(index, 1);\n }\n // Update positions of remaining snackbars\n // this.updatePositions();\n // Clear timeout\n if (this.dismissTimeout) {\n clearTimeout(this.dismissTimeout);\n }\n }\n // private updatePositions() {\n // let bottomOffset = 24;\n // for (const snackbar of KRSnackbar.activeSnackbars) {\n // snackbar.style.bottom = `${bottomOffset}px`;\n // bottomOffset += snackbar.offsetHeight + 8;\n // }\n // }\n dismiss() {\n if (this.dismissTimeout) {\n clearTimeout(this.dismissTimeout);\n this.dismissTimeout = null;\n }\n this.classList.add('kr-snackbar--closing');\n this.addEventListener('animationend', () => {\n this.dispatchEvent(new CustomEvent('dismiss', { bubbles: true, composed: true }));\n this.remove();\n }, { once: true });\n }\n render() {\n const icons = {\n info: html `<svg class=\"icon\" viewBox=\"0 0 20 20\" fill=\"currentColor\"><path fill-rule=\"evenodd\" d=\"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a1 1 0 000 2v3a1 1 0 001 1h1a1 1 0 100-2v-3a1 1 0 00-1-1H9z\" clip-rule=\"evenodd\"/></svg>`,\n success: html `<svg class=\"icon\" viewBox=\"0 0 20 20\" fill=\"currentColor\"><path fill-rule=\"evenodd\" d=\"M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z\" clip-rule=\"evenodd\"/></svg>`,\n warning: html `<svg class=\"icon\" viewBox=\"0 0 20 20\" fill=\"currentColor\"><path fill-rule=\"evenodd\" d=\"M8.257 3.099c.765-1.36 2.722-1.36 3.486 0l5.58 9.92c.75 1.334-.213 2.98-1.742 2.98H4.42c-1.53 0-2.493-1.646-1.743-2.98l5.58-9.92zM11 13a1 1 0 11-2 0 1 1 0 012 0zm-1-8a1 1 0 00-1 1v3a1 1 0 002 0V6a1 1 0 00-1-1z\" clip-rule=\"evenodd\"/></svg>`,\n error: html `<svg class=\"icon\" viewBox=\"0 0 20 20\" fill=\"currentColor\"><path fill-rule=\"evenodd\" d=\"M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z\" clip-rule=\"evenodd\"/></svg>`,\n };\n return html `\n ${icons[this.type]}\n <div class=\"content\">\n ${this.title ? html `<div class=\"title\">${this.title}</div>` : ''}\n <div class=\"message\">${this.message}</div>\n </div>\n <button\n class=\"dismiss\"\n type=\"button\"\n aria-label=\"Dismiss\"\n @click=${this.dismiss}\n >\n <svg viewBox=\"0 0 20 20\" fill=\"currentColor\" width=\"16\" height=\"16\">\n <path fill-rule=\"evenodd\" d=\"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z\" clip-rule=\"evenodd\"/>\n </svg>\n </button>\n `;\n }\n};\nKRSnackbar.styles = css `\n :host,\n *,\n *::before,\n *::after {\n box-sizing: border-box;\n }\n\n :host {\n position: fixed;\n left: 16px;\n bottom: 24px;\n z-index: 10000;\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 14px 12px 14px 16px;\n border-radius: 8px;\n border: 1px solid;\n border-left: 4px solid;\n box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);\n min-width: 280px;\n max-width: 400px;\n min-height: 48px;\n animation: slideIn 0.2s ease-out;\n }\n\n :host(.kr-snackbar--has-title) {\n align-items: flex-start;\n }\n\n @keyframes slideIn {\n from {\n opacity: 0;\n transform: translateX(-100%);\n }\n to {\n opacity: 1;\n transform: translateX(0);\n }\n }\n\n @keyframes slideOut {\n from {\n opacity: 1;\n transform: translateX(0);\n }\n to {\n opacity: 0;\n transform: translateX(-100%);\n }\n }\n\n :host(.kr-snackbar--closing) {\n animation: slideOut 0.15s ease-in forwards;\n }\n\n /* Variants */\n :host(.kr-snackbar--info) {\n background-color: #eff6ff;\n border-color: #bfdbfe;\n border-left-color: #3b82f6;\n }\n\n :host(.kr-snackbar--info) .icon {\n color: #2563eb;\n }\n\n :host(.kr-snackbar--success) {\n background-color: #f0fdf4;\n border-color: #bbf7d0;\n border-left-color: #22c55e;\n }\n\n :host(.kr-snackbar--success) .icon {\n color: #16a34a;\n }\n\n :host(.kr-snackbar--warning) {\n background-color: #fffbeb;\n border-color: #fde68a;\n border-left-color: #f59e0b;\n }\n\n :host(.kr-snackbar--warning) .icon {\n color: #d97706;\n }\n\n :host(.kr-snackbar--error) {\n background-color: #fef2f2;\n border-color: #fecaca;\n border-left-color: #ef4444;\n }\n\n :host(.kr-snackbar--error) .icon {\n color: #dc2626;\n }\n\n .icon {\n flex-shrink: 0;\n width: 20px;\n height: 20px;\n margin-top: 1px;\n }\n\n .content {\n flex: 1;\n min-width: 0;\n }\n\n .title {\n font-size: 14px;\n font-weight: 600;\n color: #000000;\n margin: 0 0 2px 0;\n }\n\n .message {\n font-size: 14px;\n color: #000000;\n margin: 0;\n }\n\n .dismiss {\n flex-shrink: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n padding: 0;\n background: none;\n border: none;\n border-radius: 4px;\n color: #6b7280;\n cursor: pointer;\n transition: background 0.15s ease, color 0.15s ease;\n }\n\n .dismiss:hover {\n background-color: rgba(0, 0, 0, 0.05);\n color: #374151;\n }\n\n .dismiss:focus-visible {\n outline: 2px solid #3b82f6;\n outline-offset: 2px;\n }\n `;\n/** Track active snackbars for stacking */\nKRSnackbar.activeSnackbars = [];\n__decorate([\n property({ type: String })\n], KRSnackbar.prototype, \"type\", void 0);\n__decorate([\n property({ type: String })\n], KRSnackbar.prototype, \"title\", void 0);\n__decorate([\n property({ type: String })\n], KRSnackbar.prototype, \"message\", void 0);\n__decorate([\n property({ type: Number })\n], KRSnackbar.prototype, \"duration\", void 0);\nKRSnackbar = KRSnackbar_1 = __decorate([\n customElement('kr-snackbar')\n], KRSnackbar);\nexport { KRSnackbar };\n//# sourceMappingURL=snackbar.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { LitElement, html, css, nothing } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { styleMap } from 'lit/directives/style-map.js';\nimport { krBaseCSS } from '../style/base.js';\n/**\n * A tabbed navigation component for switching between content sections.\n *\n * @element kr-tab-group\n *\n * @slot - Default slot for kr-tab children\n *\n * @fires tab-change - Fired when the active tab changes, detail: { activeTabId: string }\n * @fires tab-dismiss - Fired when a dismissible tab is closed, detail: { tabId: string }\n *\n * @example\n * ```html\n * <kr-tab-group active-tab-id=\"settings\">\n * <kr-tab id=\"home\" label=\"Home\">\n * <svg slot=\"icon\" viewBox=\"0 0 20 20\" fill=\"currentColor\" width=\"16\" height=\"16\">...</svg>\n * <p>Home content here</p>\n * </kr-tab>\n * <kr-tab id=\"settings\" label=\"Settings\" badge=\"3\">\n * <svg slot=\"icon\" viewBox=\"0 0 20 20\" fill=\"currentColor\" width=\"16\" height=\"16\">...</svg>\n * <p>Settings content here</p>\n * </kr-tab>\n * </kr-tab-group>\n * ```\n */\nlet KRTabGroup = class KRTabGroup extends LitElement {\n constructor() {\n super(...arguments);\n /**\n * Whether tabs should stretch to fill the full width evenly\n */\n this.justified = false;\n /**\n * Size of the tabs: 'small' | 'medium' | 'large'\n */\n this.size = 'medium';\n }\n updated(changes) {\n if (changes.has('activeTabId')) {\n this._updateActiveTab();\n }\n }\n firstUpdated() {\n this._updateActiveTab();\n }\n _getTabs() {\n return Array.from(this.querySelectorAll('kr-tab'));\n }\n _updateActiveTab() {\n const tabs = this._getTabs();\n if (tabs.length === 0)\n return;\n if (!this.activeTabId) {\n this.activeTabId = tabs[0]?.id;\n }\n tabs.forEach((tab) => {\n tab.active = tab.id === this.activeTabId;\n });\n this.requestUpdate();\n }\n _handleTabClick(tab) {\n if (tab.disabled)\n return;\n this.activeTabId = tab.id;\n this.dispatchEvent(new CustomEvent('tab-change', {\n detail: { activeTabId: tab.id },\n bubbles: true,\n composed: true,\n }));\n }\n _handleTabDismiss(tab, e) {\n e.stopPropagation();\n this.dispatchEvent(new CustomEvent('tab-dismiss', {\n detail: { tabId: tab.id },\n bubbles: true,\n composed: true,\n }));\n }\n _handleKeyDown(e) {\n const enabledTabs = this._getTabs().filter((t) => !t.disabled);\n const currentIndex = enabledTabs.findIndex((t) => t.id === this.activeTabId);\n let newIndex = -1;\n switch (e.key) {\n case 'ArrowLeft':\n newIndex = currentIndex > 0 ? currentIndex - 1 : enabledTabs.length - 1;\n break;\n case 'ArrowRight':\n newIndex = currentIndex < enabledTabs.length - 1 ? currentIndex + 1 : 0;\n break;\n case 'Home':\n newIndex = 0;\n break;\n case 'End':\n newIndex = enabledTabs.length - 1;\n break;\n }\n if (newIndex >= 0) {\n e.preventDefault();\n const newTab = enabledTabs[newIndex];\n this.activeTabId = newTab.id;\n this.dispatchEvent(new CustomEvent('tab-change', {\n detail: { activeTabId: newTab.id },\n bubbles: true,\n composed: true,\n }));\n const tabButtons = this.shadowRoot?.querySelectorAll('.label');\n const targetButton = Array.from(tabButtons || []).find((btn) => btn.getAttribute('data-tab-id') === newTab.id);\n targetButton?.focus();\n }\n }\n _renderTabIcon(tab) {\n const iconElement = tab.getIconElement();\n if (!iconElement)\n return nothing;\n // Clone the icon element to render in the header\n const clonedIcon = iconElement.cloneNode(true);\n clonedIcon.removeAttribute('slot');\n return html `<span class=\"label-icon\">${clonedIcon}</span>`;\n }\n render() {\n return html `\n <div class=\"header\" role=\"tablist\" @keydown=${this._handleKeyDown}>\n ${this._getTabs().map((tab) => html `\n <button\n class=${classMap({\n label: true,\n 'label--active': tab.id === this.activeTabId,\n 'label--justified': this.justified,\n })}\n role=\"tab\"\n data-tab-id=${tab.id}\n aria-selected=${tab.id === this.activeTabId}\n aria-controls=${`panel-${tab.id}`}\n tabindex=${tab.id === this.activeTabId ? 0 : -1}\n ?disabled=${tab.disabled}\n @click=${() => this._handleTabClick(tab)}\n >\n ${this._renderTabIcon(tab)}\n <span>${tab.label}</span>\n ${tab.badge ? html `<span class=\"label-badge\" style=${styleMap({ backgroundColor: tab.badgeBackground, color: tab.badgeColor })}>${tab.badge}</span>` : nothing}\n ${tab.dismissible\n ? html `\n <button\n class=\"label-dismiss\"\n type=\"button\"\n aria-label=\"Close tab\"\n @click=${(e) => this._handleTabDismiss(tab, e)}\n >\n <svg viewBox=\"0 0 20 20\" fill=\"currentColor\" width=\"12\" height=\"12\"><path fill-rule=\"evenodd\" d=\"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z\" clip-rule=\"evenodd\"/></svg>\n </button>\n `\n : nothing}\n </button>\n `)}\n </div>\n <div class=\"content\" role=\"tabpanel\" aria-labelledby=${this.activeTabId || ''}>\n <slot @slotchange=${this._updateActiveTab}></slot>\n </div>\n `;\n }\n};\nKRTabGroup.styles = [\n krBaseCSS,\n css `\n :host {\n display: flex;\n flex-direction: column;\n overflow: hidden;\n }\n\n .header {\n height: 44px;\n display: flex;\n flex-shrink: 0;\n align-items: stretch;\n border-bottom: 1px solid #e5e7eb;\n overflow-x: auto;\n scrollbar-width: none;\n -ms-overflow-style: none;\n }\n\n .header::-webkit-scrollbar {\n display: none;\n }\n\n .label {\n position: relative;\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 12px 16px;\n font-family: inherit;\n font-size: 14px;\n font-weight: 400;\n color: var(--kr-text-muted);\n background: none;\n border: none;\n border-bottom: 2px solid transparent;\n cursor: pointer;\n transition: color 0.15s ease, border-color 0.15s ease, background-color 0.15s ease;\n white-space: nowrap;\n }\n\n .label:hover:not(:disabled) {\n color: var(--kr-text);\n }\n\n .label:focus-visible {\n outline: 2px solid var(--kr-focus);\n outline-offset: -2px;\n }\n\n .label--active {\n color: var(--kr-primary);\n border-bottom-color: var(--kr-primary);\n }\n\n .label:disabled {\n color: var(--kr-text-disabled);\n cursor: not-allowed;\n }\n\n .label--justified {\n flex: 1;\n justify-content: center;\n }\n\n :host([size=\"small\"]) .label {\n padding: 8px 16px;\n font-size: 13px;\n gap: 6px;\n }\n\n :host([size=\"large\"]) .label {\n padding: 16px 20px;\n font-size: 16px;\n gap: 10px;\n }\n\n .label-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n }\n\n .label-badge {\n font-size: 11px;\n font-weight: 500;\n color: var(--kr-primary-text);\n background-color: var(--kr-primary);\n padding: 2px 8px;\n border-radius: 10px;\n margin-left: 4px;\n }\n\n .label-dismiss {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 16px;\n height: 16px;\n margin-left: 4px;\n padding: 0;\n background: none;\n border: none;\n border-radius: 2px;\n color: var(--kr-text-muted);\n cursor: pointer;\n transition: background-color 0.15s ease, color 0.15s ease;\n }\n\n .label-dismiss:hover {\n background-color: var(--kr-border);\n color: var(--kr-text);\n }\n\n .label-dismiss:focus-visible {\n outline: 2px solid var(--kr-focus);\n outline-offset: 2px;\n }\n\n\n .content {\n flex: 1;\n overflow: auto;\n }\n\n /* Default slot styles - kr-tab children show/hide via their own active attribute */\n ::slotted(kr-tab) {\n display: none;\n }\n\n ::slotted(kr-tab[active]) {\n display: block;\n }\n `,\n];\n__decorate([\n property({ type: String, attribute: 'active-tab-id' })\n], KRTabGroup.prototype, \"activeTabId\", void 0);\n__decorate([\n property({ type: Boolean })\n], KRTabGroup.prototype, \"justified\", void 0);\n__decorate([\n property({ type: String, reflect: true })\n], KRTabGroup.prototype, \"size\", void 0);\nKRTabGroup = __decorate([\n customElement('kr-tab-group')\n], KRTabGroup);\nexport { KRTabGroup };\n//# sourceMappingURL=tabs.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { LitElement, html, css } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { krBaseCSS } from '../style/base.js';\n/**\n * A tab for the kr-tab-group component.\n *\n * @element kr-tab\n * @slot - The tab panel content\n * @slot icon - Optional icon to display in the tab header\n */\nlet KRTab = class KRTab extends LitElement {\n constructor() {\n super(...arguments);\n /**\n * Unique identifier for the tab\n */\n this.id = '';\n /**\n * Display label for the tab\n */\n this.label = '';\n /**\n * Badge text displayed next to label (e.g. notification count)\n */\n this.badge = '';\n /**\n * Badge background color\n */\n this.badgeBackground = '';\n /**\n * Badge text color\n */\n this.badgeColor = '';\n /**\n * Whether the tab is disabled\n */\n this.disabled = false;\n /**\n * Whether the tab can be dismissed/closed\n */\n this.dismissible = false;\n /**\n * Whether this tab is currently active (set by parent)\n */\n this.active = false;\n }\n /**\n * Gets the icon element from the icon slot (if any)\n */\n getIconElement() {\n return this.querySelector('[slot=\"icon\"]');\n }\n render() {\n console.log('tab render');\n return html `<slot></slot>`;\n }\n};\nKRTab.styles = [\n krBaseCSS,\n css `\n :host {\n display: none;\n }\n\n :host([active]) {\n display: block;\n width: 100%;\n height: 100%;\n }\n `,\n];\n__decorate([\n property({ type: String, reflect: true })\n], KRTab.prototype, \"id\", void 0);\n__decorate([\n property({ type: String })\n], KRTab.prototype, \"label\", void 0);\n__decorate([\n property({ type: String })\n], KRTab.prototype, \"badge\", void 0);\n__decorate([\n property({ type: String, attribute: 'badge-background' })\n], KRTab.prototype, \"badgeBackground\", void 0);\n__decorate([\n property({ type: String, attribute: 'badge-color' })\n], KRTab.prototype, \"badgeColor\", void 0);\n__decorate([\n property({ type: Boolean })\n], KRTab.prototype, \"disabled\", void 0);\n__decorate([\n property({ type: Boolean })\n], KRTab.prototype, \"dismissible\", void 0);\n__decorate([\n property({ type: Boolean, reflect: true })\n], KRTab.prototype, \"active\", void 0);\nKRTab = __decorate([\n customElement('kr-tab')\n], KRTab);\nexport { KRTab };\n//# sourceMappingURL=tab.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { LitElement, html, css, nothing } from 'lit';\nimport { customElement, property, query, state } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { krBaseCSS } from '../../style/base.js';\n/**\n * A select dropdown component that works with native browser forms.\n *\n * Uses ElementInternals for form association, allowing the component\n * to participate in form submission, validation, and reset.\n *\n * @element kr-select-field\n * @slot - The kr-select-option elements\n */\nlet KRSelectField = class KRSelectField extends LitElement {\n constructor() {\n super();\n /**\n * The select label text\n */\n this.label = '';\n /**\n * The input name for form submission\n */\n this.name = '';\n /**\n * The currently selected value\n */\n this.value = '';\n /**\n * Placeholder text when no option is selected\n */\n this.placeholder = 'Select an option';\n /**\n * Whether the select is disabled\n */\n this.disabled = false;\n /**\n * Whether the field is required\n */\n this.required = false;\n /**\n * Whether the field is readonly\n */\n this.readonly = false;\n /**\n * Helper text shown below the select\n */\n this.hint = '';\n this._isOpen = false;\n this._highlightedIndex = -1;\n this._touched = false;\n this._handleInvalid = (e) => {\n e.preventDefault();\n this._touched = true;\n };\n this._handleOutsideClick = (e) => {\n if (!e.composedPath().includes(this)) {\n this._close();\n }\n };\n this._handleKeyDown = (e) => {\n if (!this._isOpen)\n return;\n const options = Array.from(this.querySelectorAll('kr-select-option'));\n switch (e.key) {\n case 'Escape':\n this._close();\n this._triggerElement?.focus();\n break;\n case 'ArrowDown':\n e.preventDefault();\n if (options.some(o => !o.disabled)) {\n let newIndex = this._highlightedIndex + 1;\n while (newIndex < options.length && options[newIndex]?.disabled)\n newIndex++;\n if (newIndex < options.length)\n this._highlightedIndex = newIndex;\n }\n break;\n case 'ArrowUp':\n e.preventDefault();\n {\n let newIndex = this._highlightedIndex - 1;\n while (newIndex >= 0 && options[newIndex]?.disabled)\n newIndex--;\n if (newIndex >= 0)\n this._highlightedIndex = newIndex;\n }\n break;\n case 'Enter':\n e.preventDefault();\n if (this._highlightedIndex >= 0 && this._highlightedIndex < options.length) {\n this._selectOption(options[this._highlightedIndex]);\n }\n break;\n }\n };\n this._internals = this.attachInternals();\n }\n // Form-associated custom element callbacks\n get form() {\n return this._internals.form;\n }\n get validity() {\n return this._internals.validity;\n }\n get validationMessage() {\n return this._internals.validationMessage;\n }\n get willValidate() {\n return this._internals.willValidate;\n }\n checkValidity() {\n return this._internals.checkValidity();\n }\n reportValidity() {\n return this._internals.reportValidity();\n }\n formResetCallback() {\n this.value = '';\n this._touched = false;\n this._internals.setFormValue('');\n this._internals.setValidity({});\n }\n formStateRestoreCallback(state) {\n this.value = state;\n }\n connectedCallback() {\n super.connectedCallback();\n document.addEventListener('click', this._handleOutsideClick);\n document.addEventListener('keydown', this._handleKeyDown);\n this.addEventListener('invalid', this._handleInvalid);\n }\n firstUpdated() {\n this._updateValidity();\n }\n updated(changedProperties) {\n if (changedProperties.has('required') || changedProperties.has('value')) {\n this._updateValidity();\n }\n }\n disconnectedCallback() {\n super.disconnectedCallback();\n document.removeEventListener('click', this._handleOutsideClick);\n document.removeEventListener('keydown', this._handleKeyDown);\n this.removeEventListener('invalid', this._handleInvalid);\n }\n _toggle() {\n if (this.disabled || this.readonly)\n return;\n if (this._isOpen) {\n this._close();\n }\n else {\n this._isOpen = true;\n const options = Array.from(this.querySelectorAll('kr-select-option'));\n this._highlightedIndex = options.findIndex(o => o.value === this.value);\n // Position the fixed dropdown relative to the trigger\n requestAnimationFrame(() => {\n const dropdown = this.shadowRoot?.querySelector('.select-dropdown');\n if (dropdown) {\n const triggerRect = this._triggerElement.getBoundingClientRect();\n const spaceBelow = window.innerHeight - triggerRect.bottom - 4 - 8;\n dropdown.style.top = triggerRect.bottom + 4 + 'px';\n dropdown.style.left = triggerRect.left + 'px';\n dropdown.style.width = triggerRect.width + 'px';\n dropdown.style.maxHeight = spaceBelow + 'px';\n }\n });\n }\n }\n _close() {\n this._isOpen = false;\n this._highlightedIndex = -1;\n }\n _selectOption(option) {\n if (option.disabled)\n return;\n this.value = option.value;\n this._internals.setFormValue(this.value);\n this._updateValidity();\n this.dispatchEvent(new Event('change', { bubbles: true, composed: true }));\n this._close();\n this._triggerElement?.focus();\n }\n _handleBlur() {\n this._touched = true;\n this._updateValidity();\n }\n _updateValidity() {\n if (this.required && !this.value) {\n this._internals.setValidity({ valueMissing: true }, 'Please select an option', this._triggerElement);\n }\n else {\n this._internals.setValidity({});\n }\n }\n render() {\n const options = Array.from(this.querySelectorAll('kr-select-option'));\n const selectedLabel = options.find(o => o.value === this.value)?.label;\n return html `\n <div class=\"wrapper\">\n ${this.label\n ? html `\n <label>\n ${this.label}\n ${this.required ? html `<span class=\"required\" aria-hidden=\"true\">*</span>` : ''}\n </label>\n `\n : nothing}\n <div class=\"select-wrapper\">\n <button\n class=${classMap({\n 'select-trigger': true,\n 'select-trigger--open': this._isOpen,\n 'select-trigger--invalid': this._touched && this.required && !this.value,\n })}\n type=\"button\"\n ?disabled=${this.disabled}\n aria-haspopup=\"listbox\"\n aria-expanded=${this._isOpen}\n @click=${this._toggle}\n @blur=${this._handleBlur}\n >\n <span class=${classMap({\n 'select-value': true,\n 'select-placeholder': !selectedLabel\n })}>\n ${selectedLabel || this.placeholder}\n </span>\n <svg\n class=${classMap({\n 'chevron-icon': true,\n 'select-icon': true,\n 'select-icon--open': this._isOpen\n })}\n viewBox=\"0 0 24 24\"\n fill=\"currentColor\"\n >\n <path d=\"M7.41 8.59L12 13.17l4.59-4.58L18 10l-6 6-6-6z\"/>\n </svg>\n </button>\n\n <div class=${classMap({\n 'select-dropdown': true,\n 'hidden': !this._isOpen\n })} role=\"listbox\">\n <div class=\"select-options\">\n ${options.length === 0\n ? html `<div class=\"select-empty\">No options available</div>`\n : options.map((option, idx) => {\n const isSelected = option.value === this.value;\n return html `\n <div\n class=${classMap({\n 'select-option': true,\n 'select-option--selected': isSelected,\n 'select-option--disabled': option.disabled,\n 'select-option--highlighted': idx === this._highlightedIndex,\n })}\n role=\"option\"\n aria-selected=${isSelected}\n @click=${() => this._selectOption(option)}\n @mouseenter=${() => (this._highlightedIndex = idx)}\n >\n ${option.label}\n </div>\n `;\n })}\n </div>\n </div>\n </div>\n ${this._touched && this.required && !this.value\n ? html `<div class=\"validation-message\">Please select an option</div>`\n : this.hint\n ? html `<div class=\"hint\">${this.hint}</div>`\n : ''}\n </div>\n <div class=\"options-slot\">\n <slot @slotchange=${() => this.requestUpdate()}></slot>\n </div>\n `;\n }\n // Public methods for programmatic control\n focus() {\n this._triggerElement?.focus();\n }\n blur() {\n this._triggerElement?.blur();\n }\n};\nKRSelectField.styles = [krBaseCSS, css `\n :host {\n display: block;\n font-family: inherit;\n }\n\n .wrapper {\n display: flex;\n flex-direction: column;\n gap: 6px;\n }\n\n label {\n font-size: 14px;\n font-weight: 500;\n color: black;\n }\n\n .required {\n color: var(--kr-select-required-color, #ef4444);\n margin-left: 0.125rem;\n }\n\n .select-wrapper {\n position: relative;\n }\n\n .select-trigger {\n display: flex;\n align-items: center;\n justify-content: space-between;\n width: 100%;\n padding: var(--kr-select-padding, 10px 12px);\n font-family: inherit;\n font-size: 14px;\n line-height: 1.5;\n color: #000000;\n background-color: var(--kr-select-bg, #fff);\n border: 1px solid var(--kr-select-border-color, #0000003d);\n border-radius: 8px;\n cursor: pointer;\n transition: border-color 0.2s, box-shadow 0.2s;\n text-align: left;\n }\n\n .select-trigger:hover:not(:disabled) {\n border-color: var(--kr-select-hover-border-color, #9ca3af);\n }\n\n .select-trigger:focus {\n outline: none;\n border-color: var(--kr-primary);\n box-shadow: 0 0 0 3px rgba(22, 48, 82, 0.1);\n }\n\n .select-trigger:disabled {\n background-color: var(--kr-select-disabled-bg, #f3f4f6);\n color: var(--kr-select-disabled-color, #9ca3af);\n cursor: not-allowed;\n }\n\n .select-trigger--invalid {\n border-color: var(--kr-select-error-border-color, #ef4444);\n }\n\n .select-trigger--invalid:focus {\n border-color: var(--kr-select-error-border-color, #ef4444);\n box-shadow: 0 0 0 3px var(--kr-select-error-ring-color, rgba(239, 68, 68, 0.1));\n }\n\n .select-trigger--open {\n border-color: var(--kr-primary);\n box-shadow: 0 0 0 3px rgba(22, 48, 82, 0.1);\n }\n\n .select-value {\n flex: 1;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n .select-placeholder {\n color: #9ca3af;\n }\n\n .select-icon {\n flex-shrink: 0;\n margin-left: 0.5rem;\n color: #6b7280;\n transition: transform 0.2s;\n }\n\n .select-icon--open {\n transform: rotate(180deg);\n }\n\n .select-dropdown {\n position: fixed;\n z-index: 10000;\n background: white;\n border: 1px solid #9ba7b6;\n border-radius: 8px;\n box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);\n padding: 8px 0;\n overflow-y: auto;\n }\n\n .select-options {\n padding: 0;\n }\n\n .select-option {\n display: flex;\n align-items: center;\n min-height: 36px;\n padding: 8px 16px;\n font-size: 14px;\n color: #000000;\n cursor: pointer;\n border-radius: 4px;\n transition: background-color 0.15s;\n }\n\n .select-option:hover:not(.select-option--disabled) {\n background-color: var(--kr-select-option-hover-bg, #f3f4f6);\n }\n\n .select-option--selected {\n background-color: rgba(22, 48, 82, 0.08);\n color: var(--kr-primary);\n }\n\n .select-option--selected:hover {\n background-color: rgba(22, 48, 82, 0.12);\n }\n\n .select-option--disabled {\n color: var(--kr-select-option-disabled-color, #9ca3af);\n cursor: not-allowed;\n }\n\n .select-option--highlighted {\n background-color: var(--kr-select-option-hover-bg, #f3f4f6);\n }\n\n .select-empty {\n padding: 1rem;\n text-align: center;\n color: var(--kr-select-empty-color, #6b7280);\n font-size: 14px;\n }\n\n .hint {\n font-size: 0.75rem;\n color: var(--kr-select-helper-color, #6b7280);\n }\n\n .validation-message {\n font-size: 0.75rem;\n color: var(--kr-select-error-color, #ef4444);\n }\n\n .hidden {\n display: none;\n }\n\n .chevron-icon {\n width: 20px;\n height: 20px;\n }\n\n /* Hide the slot - options are rendered in dropdown */\n .options-slot {\n display: none;\n }\n `];\n// Enable form association\nKRSelectField.formAssociated = true;\n__decorate([\n property({ type: String })\n], KRSelectField.prototype, \"label\", void 0);\n__decorate([\n property({ type: String })\n], KRSelectField.prototype, \"name\", void 0);\n__decorate([\n property({ type: String })\n], KRSelectField.prototype, \"value\", void 0);\n__decorate([\n property({ type: String })\n], KRSelectField.prototype, \"placeholder\", void 0);\n__decorate([\n property({ type: Boolean })\n], KRSelectField.prototype, \"disabled\", void 0);\n__decorate([\n property({ type: Boolean })\n], KRSelectField.prototype, \"required\", void 0);\n__decorate([\n property({ type: Boolean })\n], KRSelectField.prototype, \"readonly\", void 0);\n__decorate([\n property({ type: String })\n], KRSelectField.prototype, \"hint\", void 0);\n__decorate([\n state()\n], KRSelectField.prototype, \"_isOpen\", void 0);\n__decorate([\n state()\n], KRSelectField.prototype, \"_highlightedIndex\", void 0);\n__decorate([\n state()\n], KRSelectField.prototype, \"_touched\", void 0);\n__decorate([\n query('.select-trigger')\n], KRSelectField.prototype, \"_triggerElement\", void 0);\nKRSelectField = __decorate([\n customElement('kr-select-field')\n], KRSelectField);\nexport { KRSelectField };\n//# sourceMappingURL=select-field.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { LitElement, html, css } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\n/**\n * An option for the kr-select-field component.\n *\n * @element kr-select-option\n * @slot - The option label content\n */\nlet KRSelectOption = class KRSelectOption extends LitElement {\n constructor() {\n super(...arguments);\n /**\n * The option value\n */\n this.value = '';\n /**\n * Whether the option is disabled\n */\n this.disabled = false;\n }\n /** Gets the label text from the slot */\n get label() {\n return this.textContent?.trim() || '';\n }\n render() {\n return html `<slot></slot>`;\n }\n};\nKRSelectOption.styles = css `\n :host {\n display: none;\n }\n `;\n__decorate([\n property({ type: String })\n], KRSelectOption.prototype, \"value\", void 0);\n__decorate([\n property({ type: Boolean })\n], KRSelectOption.prototype, \"disabled\", void 0);\nKRSelectOption = __decorate([\n customElement('kr-select-option')\n], KRSelectOption);\nexport { KRSelectOption };\n//# sourceMappingURL=select-option.js.map","/** Data-driven operator metadata map */\nexport const KR_OPERATORS = {\n equals: { key: 'equals', type: 'comparison', dataTypes: ['string', 'number', 'date', 'boolean'], label: 'Equals' },\n n_equals: { key: 'n_equals', type: 'comparison', dataTypes: ['string', 'number', 'date', 'boolean'], label: \"Doesn't equal\" },\n contains: { key: 'contains', type: 'comparison', dataTypes: ['string'], label: 'Contains' },\n n_contains: { key: 'n_contains', type: 'comparison', dataTypes: ['string'], label: \"Doesn't contain\" },\n starts_with: { key: 'starts_with', type: 'comparison', dataTypes: ['string'], label: 'Starts with' },\n ends_with: { key: 'ends_with', type: 'comparison', dataTypes: ['string'], label: 'Ends with' },\n less_than: { key: 'less_than', type: 'comparison', dataTypes: ['number', 'date'], label: 'Less than' },\n less_than_equal: { key: 'less_than_equal', type: 'comparison', dataTypes: ['number', 'date'], label: 'Less than or equal' },\n greater_than: { key: 'greater_than', type: 'comparison', dataTypes: ['number', 'date'], label: 'Greater than' },\n greater_than_equal: { key: 'greater_than_equal', type: 'comparison', dataTypes: ['number', 'date'], label: 'Greater than or equal' },\n between: { key: 'between', type: 'range', dataTypes: ['number', 'date'], label: 'Between' },\n in: { key: 'in', type: 'list', dataTypes: ['string', 'number'], label: 'In' },\n empty: { key: 'empty', type: 'nil', dataTypes: ['string', 'number', 'date', 'boolean'], label: 'Empty' },\n n_empty: { key: 'n_empty', type: 'nil', dataTypes: ['string', 'number', 'date', 'boolean'], label: 'Not empty' },\n};\n/** Returns the list of operators available for a given column type */\nexport function getOperatorsForType(columnType) {\n const results = [];\n for (const op of Object.values(KR_OPERATORS)) {\n if (op.dataTypes.includes(columnType)) {\n results.push({\n key: op.key,\n label: op.label\n });\n }\n }\n return results;\n}\n// === Solr Utilities ===\nconst SOLR_RESERVED_CHARS = [\n '\"', '+', '-', '&&', '||', '!', '(', ')', '{',\n '}', '[', ']', '^', '~', '*', '?', ':'\n];\nconst SOLR_RESERVED_CHARS_REPLACEMENT = [\n '\\\\\"', '\\\\+', '\\\\-', '\\\\&\\\\&', '\\\\|\\\\|', '\\\\!', '\\\\(', '\\\\)', '\\\\{',\n '\\\\}', '\\\\[', '\\\\]', '\\\\^', '\\\\~', '\\\\*', '\\\\?', '\\\\:'\n];\nfunction escapeRegex(str) {\n if (typeof str !== 'string') {\n return str;\n }\n return str.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n}\n/** Converts a value to a Solr term */\nexport function termify(value, exact = true) {\n if (value === true || value === false) {\n return value.toString();\n }\n if (value === null) {\n return `(*:* NOT *)`;\n }\n if (typeof value === 'number') {\n return value.toString();\n }\n if (typeof value === 'string') {\n SOLR_RESERVED_CHARS.forEach((char, i) => {\n value = value.replace(new RegExp(`${escapeRegex(char)}`, 'g'), SOLR_RESERVED_CHARS_REPLACEMENT[i]);\n });\n if (exact) {\n return `\"${value}\"`;\n }\n return value.replace(/ /g, `\\\\ `);\n }\n return value;\n}\n/** Converts a Date to a Solr term */\nfunction termifyDate(value, endOfTheDay = false) {\n const newTime = new Date(value);\n newTime.setMinutes(newTime.getMinutes() - newTime.getTimezoneOffset());\n if (endOfTheDay) {\n newTime.setUTCHours(23);\n newTime.setUTCMinutes(59);\n newTime.setUTCSeconds(59);\n newTime.setUTCMilliseconds(999);\n }\n return newTime.toISOString().replace(/:/g, '\\\\:');\n}\n/** Creates a Solr date range expression from a Date or range of Dates */\nfunction createSolrDateRange(value, specificities) {\n let startDate;\n let endDate;\n let startSpecificity;\n let endSpecificity;\n if (value && 'start' in value && 'end' in value) {\n startDate = new Date(value.start);\n endDate = new Date(value.end);\n startSpecificity = specificities[0];\n endSpecificity = specificities[1];\n }\n else if (value instanceof Date) {\n startDate = new Date(value);\n endDate = new Date(value);\n startSpecificity = specificities[0];\n endSpecificity = specificities[0];\n }\n else {\n return '[* TO *]';\n }\n if (startSpecificity === 'year') {\n startDate.setUTCMonth(0, 1);\n startDate.setUTCHours(0, 0, 0, 0);\n }\n else if (startSpecificity === 'month') {\n startDate.setUTCDate(1);\n startDate.setUTCHours(0, 0, 0, 0);\n }\n else if (startSpecificity === 'day') {\n startDate.setUTCHours(0, 0, 0, 0);\n }\n else if (startSpecificity === 'time') {\n startDate.setUTCSeconds(0, 0);\n }\n if (endSpecificity === 'year') {\n endDate.setUTCMonth(11, 31);\n endDate.setUTCHours(23, 59, 59, 999);\n }\n else if (endSpecificity === 'month') {\n endDate.setUTCMonth(endDate.getUTCMonth() + 1);\n endDate.setUTCDate(0);\n endDate.setUTCHours(23, 59, 59, 999);\n }\n else if (endSpecificity === 'day') {\n endDate.setUTCHours(23, 59, 59, 999);\n }\n else if (endSpecificity === 'time') {\n endDate.setUTCSeconds(59, 999);\n }\n return `[${startDate.toISOString().replace(/:/g, '\\\\:')} TO ${endDate.toISOString().replace(/:/g, '\\\\:')}]`;\n}\n/** Creates a DB date range array from a Date or range of Dates, expanding based on specificity */\nfunction createDbDateRange(value, specificities) {\n let startDate;\n let endDate;\n let startSpecificity;\n let endSpecificity;\n if (value && 'start' in value && 'end' in value) {\n startDate = new Date(value.start);\n endDate = new Date(value.end);\n startSpecificity = specificities[0];\n endSpecificity = specificities[1];\n }\n else {\n startDate = new Date(value);\n endDate = new Date(value);\n startSpecificity = specificities[0];\n endSpecificity = specificities[0];\n }\n let start;\n let end;\n if (startSpecificity === 'year') {\n startDate.setUTCMonth(0, 1);\n startDate.setUTCHours(0, 0, 0, 0);\n start = startDate;\n }\n else if (startSpecificity === 'month') {\n startDate.setUTCDate(1);\n startDate.setUTCHours(0, 0, 0, 0);\n start = startDate;\n }\n else if (startSpecificity === 'day') {\n startDate.setUTCHours(0, 0, 0, 0);\n start = startDate;\n }\n else if (startSpecificity === 'time') {\n startDate.setUTCSeconds(0, 0);\n start = startDate;\n }\n else {\n start = startDate;\n }\n if (endSpecificity === 'year') {\n endDate.setUTCMonth(11, 31);\n endDate.setUTCHours(23, 59, 59, 999);\n end = endDate;\n }\n else if (endSpecificity === 'month') {\n endDate.setUTCMonth(endDate.getUTCMonth() + 1);\n endDate.setUTCDate(0);\n endDate.setUTCHours(23, 59, 59, 999);\n end = endDate;\n }\n else if (endSpecificity === 'day') {\n endDate.setUTCHours(23, 59, 59, 999);\n end = endDate;\n }\n else if (endSpecificity === 'time') {\n endDate.setUTCSeconds(59, 999);\n end = endDate;\n }\n else {\n end = endDate;\n }\n return [\n start.toISOString().replace(/\\..+/, '').replace('T', ' '),\n end.toISOString().replace(/\\..+/, '').replace('T', ' '),\n ];\n}\n/** Determines the date specificity from the text format */\nfunction getDateSpecificity(input) {\n input = input.trim();\n // MM/dd/yy, M/d/yy (2-digit year)\n if (/^(\\d{1,2})\\/(\\d{1,2})\\/(\\d{2})$/.test(input)) {\n return 'day';\n }\n // MM/dd/yyyy, M/d/yyyy (4-digit year)\n if (/^(\\d{1,2})\\/(\\d{1,2})\\/(\\d{4})$/.test(input)) {\n return 'day';\n }\n // MM/dd/yyyy, t — date with time (4-digit year only)\n if (/^(\\d{1,2})\\/(\\d{1,2})\\/(\\d{4}),?\\s+(\\d{1,2}):(\\d{2})\\s*(AM|PM)?$/i.test(input)) {\n return 'time';\n }\n // \"Month DD, YYYY, time\" with optional weekday\n if (/^(?:[A-Za-z]+,\\s+)?([A-Za-z]+)\\s+(\\d{1,2}),?\\s+(\\d{4}),?\\s+(\\d{1,2}):(\\d{2})\\s*(AM|PM)?$/i.test(input)) {\n return 'time';\n }\n // \"Month DD, YYYY\" with optional weekday\n if (/^(?:[A-Za-z]+,\\s+)?([A-Za-z]+)\\s+(\\d{1,2}),?\\s+(\\d{4})$/.test(input)) {\n return 'day';\n }\n // yy (2-digit year)\n if (/^(\\d{2})$/.test(input)) {\n return 'year';\n }\n // yyyy (4-digit year)\n if (/^(\\d{4})$/.test(input)) {\n return 'year';\n }\n // \"MMM yyyy\" or \"MMMM yyyy\" — \"Aug 2015\", \"August 2015\"\n if (/^([A-Za-z]+)\\s+(\\d{4})$/.test(input)) {\n return 'month';\n }\n return null;\n}\nexport class KRQuery {\n constructor() {\n this.field = '';\n this.operator = 'equals';\n this.value = null;\n this.kql = '';\n this.text = '';\n this.type = '';\n this.specificity = [];\n }\n // --------------------------------------------------------------------------\n // Public Methods\n // --------------------------------------------------------------------------\n /** Parse a KQL text string and populate operator/value/values */\n setKql(kql) {\n this.kql = kql.trim();\n this.text = '';\n this.specificity = [];\n this.value = null;\n if (!this.kql) {\n if (this.type === 'string') {\n this.operator = 'contains';\n }\n else {\n this.operator = 'equals';\n }\n return;\n }\n if (kql.startsWith('=')) {\n this.operator = 'equals';\n this.text = kql.substring(1).trim();\n this.value = this._parse(this.text);\n this.specificity = [getDateSpecificity(this.text)];\n }\n else if (kql.startsWith('!=')) {\n this.operator = 'n_equals';\n this.text = kql.substring(2).trim();\n this.value = this._parse(this.text);\n this.specificity = [getDateSpecificity(this.text)];\n }\n else if (kql.startsWith('~') && this.type === 'string') {\n this.operator = 'contains';\n this.text = kql.substring(1).trim();\n this.value = this._parse(this.text);\n this.specificity = [getDateSpecificity(this.text)];\n }\n else if (kql.startsWith('!~') && this.type === 'string') {\n this.operator = 'n_contains';\n this.text = kql.substring(2).trim();\n this.value = this._parse(this.text);\n this.specificity = [getDateSpecificity(this.text)];\n }\n else if (kql.endsWith('*') && this.type === 'string') {\n this.operator = 'starts_with';\n this.text = kql.substring(0, kql.length - 1);\n this.value = this._parse(this.text);\n this.specificity = [getDateSpecificity(this.text)];\n }\n else if (kql.startsWith('*') && this.type === 'string') {\n this.operator = 'ends_with';\n this.text = kql.substring(1);\n this.value = this._parse(this.text);\n this.specificity = [getDateSpecificity(this.text)];\n }\n else if (kql === 'EMPTY') {\n this.operator = 'empty';\n this.value = null;\n this.specificity = [];\n }\n else if (kql === 'NOT EMPTY') {\n this.operator = 'n_empty';\n this.value = null;\n this.specificity = [];\n }\n else if (kql.startsWith('<=')) {\n this.operator = 'less_than_equal';\n this.text = kql.substring(2).trim();\n this.value = this._parse(this.text);\n this.specificity = [getDateSpecificity(this.text)];\n }\n else if (kql.startsWith('<')) {\n this.operator = 'less_than';\n this.text = kql.substring(1).trim();\n this.value = this._parse(this.text);\n this.specificity = [getDateSpecificity(this.text)];\n }\n else if (kql.startsWith('>=')) {\n this.operator = 'greater_than_equal';\n this.text = kql.substring(2).trim();\n this.value = this._parse(this.text);\n this.specificity = [getDateSpecificity(this.text)];\n }\n else if (kql.startsWith('>')) {\n this.operator = 'greater_than';\n this.text = kql.substring(1).trim();\n this.value = this._parse(this.text);\n this.specificity = [getDateSpecificity(this.text)];\n }\n else if (kql.startsWith('[') && kql.endsWith(']') && kql.indexOf(' TO ') > -1) {\n this.operator = 'between';\n const toIndex = kql.indexOf(' TO ');\n const rawStart = kql.substring(1, toIndex).trim();\n const rawEnd = kql.substring(toIndex + 4, kql.length - 1).trim();\n this.text = `${rawStart} - ${rawEnd}`;\n this.value = {\n start: this._parse(rawStart),\n end: this._parse(rawEnd)\n };\n this.specificity = [getDateSpecificity(rawStart), getDateSpecificity(rawEnd)];\n }\n else if (kql.startsWith('(') && kql.endsWith(')')) {\n this.operator = 'in';\n this.text = kql.substring(1, kql.length - 1).trim();\n this.value = this.text.split(',')\n .map(v => v.trim())\n .map(v => this._parse(v));\n this.specificity = [getDateSpecificity(this.text)];\n }\n else {\n if (this.type === 'date') {\n this.operator = 'equals';\n this.text = this.kql;\n this.value = this._parse(this.text);\n this.specificity = [getDateSpecificity(this.text)];\n }\n else if (this.type === 'boolean') {\n this.operator = 'equals';\n this.text = this.kql;\n this.value = this._parse(this.text);\n this.specificity = [getDateSpecificity(this.text)];\n }\n else if (this.type === 'number') {\n this.operator = 'equals';\n this.text = this.kql;\n this.value = this._parse(this.text);\n this.specificity = [getDateSpecificity(this.text)];\n }\n else {\n this.operator = 'contains';\n this.text = kql;\n this.value = this._parse(this.text);\n this.specificity = [getDateSpecificity(this.text)];\n }\n }\n }\n setOperator(operator) {\n // Clear value/text when switching away from operators\n // whose values are incompatible with other operators.\n if (this.operator === 'empty' || this.operator === 'n_empty') {\n this.value = null;\n this.text = '';\n }\n else if (this.operator === 'between') {\n this.value = null;\n this.text = '';\n }\n else if (this.operator === 'in') {\n this.value = [];\n this.text = '';\n }\n this.operator = operator;\n // Set up initial value/text for the new operator.\n if (this.operator === 'empty') {\n this.value = 'EMPTY';\n this.text = 'EMPTY';\n }\n else if (this.operator === 'n_empty') {\n this.value = 'NOT EMPTY';\n this.text = 'NOT EMPTY';\n }\n else if (this.operator === 'between') {\n this.value = null;\n this.text = '';\n }\n else if (this.operator === 'in') {\n this.value = [];\n this.text = '';\n }\n this._buildKql();\n }\n setValue(value, specificity) {\n this.value = value;\n if (specificity) {\n this.specificity = [specificity];\n }\n else if (value instanceof Date) {\n this.specificity = ['time'];\n }\n else {\n this.specificity = [];\n }\n this._buildText();\n this._buildKql();\n }\n setStart(value, specificity) {\n if (this.value?.start === undefined) {\n this.value = { start: null, end: null };\n }\n this.value.start = value;\n if (specificity) {\n this.specificity[0] = specificity;\n }\n else if (value instanceof Date) {\n this.specificity[0] = 'time';\n }\n this._buildText();\n this._buildKql();\n }\n setEnd(value, specificity) {\n if (this.value?.end === undefined) {\n this.value = { start: null, end: null };\n }\n this.value.end = value;\n if (specificity) {\n this.specificity[1] = specificity;\n }\n else if (value instanceof Date) {\n this.specificity[1] = 'time';\n }\n this._buildText();\n this._buildKql();\n }\n clear() {\n if (this.type === 'string') {\n this.operator = 'contains';\n }\n else {\n this.operator = 'equals';\n }\n this.value = null;\n this.kql = '';\n this.text = '';\n this.specificity = [];\n }\n isEmpty() {\n if (this.operator === 'empty' || this.operator === 'n_empty') {\n return !this.text;\n }\n if (this.operator === 'between') {\n return !this.value?.start && !this.value?.end;\n }\n if (this.operator === 'in') {\n return !this.value?.length;\n }\n return this.value === undefined || this.value === null || this.value === '';\n }\n /** Returns true if the value array contains the given value. Only applies to 'in' operator. */\n has(val) {\n if (this.operator !== 'in' || !Array.isArray(this.value)) {\n return false;\n }\n // Bucket values from Solr arrive as strings (\"true\"/\"false\") but\n // the value array stores actual booleans, so coerce before comparing.\n if (this.type === 'boolean' && typeof val === 'string') {\n if (val === 'true') {\n val = true;\n }\n else if (val === 'false') {\n val = false;\n }\n }\n return this.value.indexOf(val) >= 0;\n }\n /** Adds or removes a value from the 'in' list and rebuilds text/kql. */\n toggle(val) {\n if (this.operator !== 'in') {\n this.setOperator('in');\n }\n // Bucket values from Solr arrive as strings (\"true\"/\"false\") —\n // coerce to actual booleans so isValid() and toSolrData() work correctly.\n if (this.type === 'boolean' && typeof val === 'string') {\n if (val === 'true') {\n val = true;\n }\n else if (val === 'false') {\n val = false;\n }\n }\n const index = this.value.indexOf(val);\n if (index >= 0) {\n this.value.splice(index, 1);\n }\n else {\n this.value.push(val);\n }\n this._buildText();\n this._buildKql();\n }\n isValid() {\n if (!this.kql) {\n return true;\n }\n if (!this.field) {\n return false;\n }\n if (!this.operator) {\n return false;\n }\n if (this.operator === 'empty') {\n return true;\n }\n if (this.operator === 'n_empty') {\n return true;\n }\n // For 'in' operator, valid as long as there's at least one value (including null for empty buckets)\n if (this.operator === 'in') {\n return Array.isArray(this.value) && this.value.length > 0;\n }\n if (this.type === 'date') {\n if (this.operator === 'between') {\n return this.value?.start instanceof Date\n && this.value?.end instanceof Date\n && !isNaN(this.value.start.getTime())\n && !isNaN(this.value.end.getTime());\n }\n return this.value instanceof Date && !isNaN(this.value.getTime());\n }\n if (this.type === 'number') {\n if (this.operator === 'between') {\n return typeof this.value?.start === 'number' && typeof this.value?.end === 'number';\n }\n return typeof this.value === 'number';\n }\n if (this.type === 'boolean') {\n return typeof this.value === 'boolean';\n }\n return typeof this.value === 'string' && !!this.value.trim().length;\n }\n /** Converts this filter to a Solr filter field object, or null if invalid */\n toSolrData() {\n const data = {\n boost: null,\n fuzzy: null,\n not: false,\n name: null,\n operation: null,\n tagged: false,\n value: null\n };\n data.name = this.field;\n switch (this.operator) {\n case 'equals':\n if (this.value instanceof Date) {\n data.operation = 'EXPRESSION';\n data.value = createSolrDateRange(this.value, this.specificity);\n }\n else {\n data.operation = 'IS';\n data.value = this.value;\n }\n break;\n case 'n_equals':\n if (this.value instanceof Date) {\n data.operation = 'EXPRESSION';\n data.not = true;\n data.value = createSolrDateRange(this.value, this.specificity);\n }\n else {\n data.operation = 'IS';\n data.not = true;\n data.value = this.value;\n }\n break;\n case 'contains':\n data.operation = 'EXPRESSION';\n data.value = `*${termify(this.value, false)}*`;\n break;\n case 'n_contains':\n data.operation = 'EXPRESSION';\n data.not = true;\n data.value = `*${termify(this.value, false)}*`;\n break;\n case 'starts_with':\n data.operation = 'EXPRESSION';\n data.value = `${termify(this.value, false)}*`;\n break;\n case 'ends_with':\n data.operation = 'EXPRESSION';\n data.value = `*${termify(this.value, false)}`;\n break;\n case 'empty':\n data.operation = 'EXPRESSION';\n data.not = true;\n data.value = '[* TO *]';\n break;\n case 'n_empty':\n data.operation = 'EXPRESSION';\n data.value = '[* TO *]';\n break;\n case 'less_than':\n if (this.value instanceof Date) {\n data.operation = 'EXPRESSION';\n data.value = `[* TO ${termifyDate(this.value)}}`;\n }\n else {\n data.operation = 'EXPRESSION';\n data.value = `[* TO ${termify(this.value, true)}}`;\n }\n break;\n case 'less_than_equal':\n if (this.value instanceof Date) {\n data.operation = 'EXPRESSION';\n data.value = `[* TO ${termifyDate(this.value, true)}]`;\n }\n else {\n data.operation = 'EXPRESSION';\n data.value = `[* TO ${termify(this.value, true)}]`;\n }\n break;\n case 'greater_than':\n if (this.value instanceof Date) {\n data.operation = 'EXPRESSION';\n data.value = `{${termifyDate(this.value, true)} TO *]`;\n }\n else {\n data.operation = 'EXPRESSION';\n data.value = `{${termify(this.value, true)} TO *]`;\n }\n break;\n case 'greater_than_equal':\n if (this.value instanceof Date) {\n data.operation = 'EXPRESSION';\n data.value = `[${termifyDate(this.value)} TO *]`;\n }\n else {\n data.operation = 'EXPRESSION';\n data.value = `[${termify(this.value, true)} TO *]`;\n }\n break;\n case 'between':\n if (this.value?.start instanceof Date && this.value?.end instanceof Date) {\n data.operation = 'EXPRESSION';\n data.value = createSolrDateRange(this.value, this.specificity);\n }\n else {\n data.operation = 'EXPRESSION';\n data.value = `[${this.value.start} TO ${this.value.end}]`;\n }\n break;\n case 'in':\n if (Array.isArray(this.value) && this.value.length > 0) {\n data.operation = 'EXPRESSION';\n data.value = `(${this.value.map((v) => termify(v, true)).join(' OR ')})`;\n }\n else {\n data.operation = 'EXPRESSION';\n data.value = termify(this.value, true);\n }\n break;\n default:\n data.operation = 'EXPRESSION';\n data.value = termify(this.value, true);\n }\n return data;\n }\n /** Converts this filter to a DB filter field object, or null if invalid */\n toDbParams() {\n const params = {\n boost: null,\n fuzzy: null,\n not: false,\n name: null,\n operation: null,\n tagged: false,\n value: null,\n values: null\n };\n params.name = this.field;\n switch (this.operator) {\n case 'equals':\n if (this.type === 'date') {\n params.operation = 'BETWEEN';\n params.values = createDbDateRange(this.value, this.specificity);\n }\n else {\n params.operation = 'IS';\n params.value = this.value;\n }\n break;\n case 'n_equals':\n if (this.type === 'date') {\n params.operation = 'BETWEEN';\n params.not = true;\n params.values = createDbDateRange(this.value, this.specificity);\n }\n else {\n params.operation = 'IS';\n params.value = this.value;\n params.not = true;\n }\n break;\n case 'contains':\n params.operation = 'CONTAINS';\n params.value = this.value;\n break;\n case 'n_contains':\n params.operation = 'CONTAINS';\n params.value = this.value;\n params.not = true;\n break;\n case 'starts_with':\n params.operation = 'STARTS_WITH';\n params.value = this.value;\n break;\n case 'ends_with':\n params.operation = 'ENDS_WITH';\n params.value = this.value;\n break;\n case 'empty':\n params.operation = 'IS_BLANK';\n break;\n case 'n_empty':\n params.operation = 'IS_NOT_BLANK';\n break;\n case 'less_than':\n params.operation = 'LESS_THAN';\n params.value = this.value;\n break;\n case 'less_than_equal':\n params.operation = 'LESS_THAN_EQUAL';\n params.value = this.value;\n break;\n case 'greater_than':\n params.operation = 'GREATER_THAN';\n params.value = this.value;\n break;\n case 'greater_than_equal':\n params.operation = 'GREATER_THAN_EQUAL';\n params.value = this.value;\n break;\n case 'between':\n params.operation = 'BETWEEN';\n if (this.type === 'date') {\n params.values = createDbDateRange(this.value, this.specificity);\n }\n else {\n params.values = [this.value.start, this.value.end];\n }\n break;\n case 'in':\n params.operation = 'IN';\n params.values = this.value ?? [];\n break;\n default:\n throw Error(`${this.operator} operator not supported by db params.`);\n }\n return params;\n }\n // --------------------------------------------------------------------------\n // Private Methods\n // --------------------------------------------------------------------------\n _buildText() {\n if (this.isEmpty()) {\n this.text = '';\n return;\n }\n if (this.operator === 'between') {\n this.text = `${this._format(this.value?.start)} - ${this._format(this.value?.end)}`;\n }\n else if (this.operator === 'in') {\n this.text = this.value.map((v) => this._format(v)).join(',');\n }\n else {\n this.text = this._format(this.value);\n }\n }\n _format(value) {\n if (value instanceof Date && !isNaN(value.getTime())) {\n const month = String(value.getUTCMonth() + 1).padStart(2, '0');\n const day = String(value.getUTCDate()).padStart(2, '0');\n const year = value.getUTCFullYear();\n return `${month}/${day}/${year}`;\n }\n if (typeof value === 'boolean') {\n return value ? 'Yes' : 'No';\n }\n return String(value ?? '');\n }\n /** Parse a text value according to this query's type */\n _parse(text) {\n if (typeof text === 'undefined' || text === null || text === '') {\n return null;\n }\n if (this.type) {\n switch (this.type) {\n case 'boolean': {\n const lcInput = text.toString().toLowerCase();\n if (text === true) {\n return true;\n }\n if (text === false) {\n return false;\n }\n if (lcInput === 'yes') {\n return true;\n }\n if (lcInput === 'no') {\n return false;\n }\n if (lcInput === '1') {\n return true;\n }\n if (lcInput === '0') {\n return false;\n }\n return null;\n }\n case 'date':\n return this._parseDate(text);\n case 'number': {\n const num = Number(text.toString().replace(/[$,]+/g, ''));\n if (isNaN(num)) {\n return null;\n }\n return num;\n }\n default:\n return text.toString();\n }\n }\n return text;\n }\n /** Parse a date string into a UTC Date */\n _parseDate(input) {\n if (typeof input === 'undefined' || input === null || input === '') {\n return null;\n }\n const months = {\n jan: 0,\n january: 0,\n feb: 1,\n february: 1,\n mar: 2,\n march: 2,\n apr: 3,\n april: 3,\n may: 4,\n jun: 5,\n june: 5,\n jul: 6,\n july: 6,\n aug: 7,\n august: 7,\n sep: 8,\n september: 8,\n oct: 9,\n october: 9,\n nov: 10,\n november: 10,\n dec: 11,\n december: 11\n };\n let m;\n // MM/dd/yy, M/d/yy (2-digit year)\n m = input.match(/^(\\d{1,2})\\/(\\d{1,2})\\/(\\d{2})$/);\n if (m) {\n return new Date(Date.UTC(2000 + parseInt(m[3]), parseInt(m[1]) - 1, parseInt(m[2])));\n }\n // MM/dd/yyyy, M/d/yyyy (4-digit year)\n m = input.match(/^(\\d{1,2})\\/(\\d{1,2})\\/(\\d{4})$/);\n if (m) {\n return new Date(Date.UTC(parseInt(m[3]), parseInt(m[1]) - 1, parseInt(m[2])));\n }\n // MM/dd/yyyy, t — date with time (4-digit year only, matching NGX)\n m = input.match(/^(\\d{1,2})\\/(\\d{1,2})\\/(\\d{4}),?\\s+(\\d{1,2}):(\\d{2})\\s*(AM|PM)?$/i);\n if (m) {\n let hour = parseInt(m[4]);\n if (m[6]) {\n if (m[6].toUpperCase() === 'PM' && hour !== 12) {\n hour += 12;\n }\n if (m[6].toUpperCase() === 'AM' && hour === 12) {\n hour = 0;\n }\n }\n return new Date(Date.UTC(parseInt(m[3]), parseInt(m[1]) - 1, parseInt(m[2]), hour, parseInt(m[5])));\n }\n // \"Month DD, YYYY, time\" with optional weekday\n // Handles: \"Oct 14, 1983, 9:32 AM\", \"October 14, 1983, 9:32 AM\", \"Tuesday, October 14, 1983, 9:32 AM\"\n m = input.match(/^(?:[A-Za-z]+,\\s+)?([A-Za-z]+)\\s+(\\d{1,2}),?\\s+(\\d{4}),?\\s+(\\d{1,2}):(\\d{2})\\s*(AM|PM)?$/i);\n if (m) {\n const month = months[m[1].toLowerCase()];\n if (month !== undefined) {\n let hour = parseInt(m[4]);\n if (m[6]) {\n if (m[6].toUpperCase() === 'PM' && hour !== 12) {\n hour += 12;\n }\n if (m[6].toUpperCase() === 'AM' && hour === 12) {\n hour = 0;\n }\n }\n return new Date(Date.UTC(parseInt(m[3]), month, parseInt(m[2]), hour, parseInt(m[5])));\n }\n }\n // \"Month DD, YYYY\" with optional weekday\n // Handles: \"Oct 14, 1983\", \"October 14, 1983\", \"Tuesday, October 14, 1983\"\n m = input.match(/^(?:[A-Za-z]+,\\s+)?([A-Za-z]+)\\s+(\\d{1,2}),?\\s+(\\d{4})$/);\n if (m) {\n const month = months[m[1].toLowerCase()];\n if (month !== undefined) {\n return new Date(Date.UTC(parseInt(m[3]), month, parseInt(m[2])));\n }\n }\n // yy (2-digit year)\n m = input.match(/^(\\d{2})$/);\n if (m) {\n return new Date(Date.UTC(2000 + parseInt(m[1]), 0, 1));\n }\n // yyyy (4-digit year)\n m = input.match(/^(\\d{4})$/);\n if (m) {\n return new Date(Date.UTC(parseInt(m[1]), 0, 1));\n }\n // \"MMM yyyy\" or \"MMMM yyyy\" — \"Aug 2015\", \"August 2015\"\n m = input.match(/^([A-Za-z]+)\\s+(\\d{4})$/);\n if (m) {\n const month = months[m[1].toLowerCase()];\n if (month !== undefined) {\n return new Date(Date.UTC(parseInt(m[2]), month, 1));\n }\n }\n return null;\n }\n /** Build a KQL display string from current operator/value state */\n _buildKql() {\n if (this.isEmpty()) {\n this.kql = '';\n return;\n }\n switch (this.operator) {\n case 'equals':\n this.kql = `= ${this.text}`;\n break;\n case 'n_equals':\n this.kql = `!= ${this.text}`;\n break;\n case 'contains':\n this.kql = `~ ${this.text}`;\n break;\n case 'n_contains':\n this.kql = `!~ ${this.text}`;\n break;\n case 'starts_with':\n this.kql = `${this.text}*`;\n break;\n case 'ends_with':\n this.kql = `*${this.text}`;\n break;\n case 'empty':\n this.kql = 'EMPTY';\n break;\n case 'n_empty':\n this.kql = 'NOT EMPTY';\n break;\n case 'less_than':\n this.kql = `< ${this.text}`;\n break;\n case 'less_than_equal':\n this.kql = `<= ${this.text}`;\n break;\n case 'greater_than':\n this.kql = `> ${this.text}`;\n break;\n case 'greater_than_equal':\n this.kql = `>= ${this.text}`;\n break;\n case 'between':\n this.kql = `[${this._format(this.value?.start ?? '')} TO ${this._format(this.value?.end ?? '')}]`;\n break;\n case 'in':\n this.kql = `(${this.value.map((v) => this._format(v)).join(',')})`;\n break;\n default:\n throw Error(`Unknown operator ${this.operator}`);\n }\n }\n}\n//# sourceMappingURL=query.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { LitElement, html, css, nothing, render } from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { styleMap } from 'lit/directives/style-map.js';\nimport { krBaseCSS } from '../style/base.js';\nimport '../button/button.js';\nimport { KRSnackbar } from '../snackbar/snackbar.js';\nimport '../form/select-field/select-field.js';\nimport '../form/select-field/select-option.js';\nimport { KRQuery, getOperatorsForType, termify } from './query.js';\nimport '../tabs/tabs.js';\nimport '../tabs/tab.js';\n/** Internal table model built from user-provided def. */\nclass KRTableModel {\n constructor() {\n this.title = '';\n this.actions = [];\n this.columns = [];\n this.displayedColumns = [];\n this.data = null;\n this.dataSource = null;\n this.refreshInterval = 0;\n this.pageSize = 0;\n this.rowClickable = false;\n this.rowHref = null;\n }\n}\nlet KRTable = class KRTable extends LitElement {\n constructor() {\n super(...arguments);\n /**\n * Internal flag to switch between scroll edge modes:\n * - 'overlay': Fixed padding with overlay elements that hide content at edges (scrollbar at viewport edge)\n * - 'edge': Padding scrolls with content, allowing table to reach edges when scrolling\n */\n this._scrollStyle = 'overlay';\n this._data = [];\n this._dataState = 'idle';\n this._page = 1;\n this._pageSize = 50;\n this._totalItems = 0;\n this._totalPages = 0;\n this._searchQuery = '';\n this._canScrollLeft = false;\n this._canScrollRight = false;\n this._canScrollHorizontal = false;\n this._columnPickerOpen = false;\n this._filterPanelOpened = null;\n this._filterPanelTab = 'filter';\n this._buckets = new Map();\n this._filterPanelPos = { top: 0, left: 0 };\n this._resizing = null;\n this._resizeObserver = null;\n this._searchPositionLocked = false;\n this._model = new KRTableModel();\n this.def = { columns: [] };\n this._handleClickOutside = (e) => {\n const path = e.composedPath();\n if (this._columnPickerOpen) {\n const picker = this.shadowRoot?.querySelector('.column-picker-wrapper');\n if (picker && !path.includes(picker)) {\n this._columnPickerOpen = false;\n }\n }\n if (this._filterPanelOpened) {\n if (!path.some((el) => el.classList?.contains('filter-panel'))) {\n this._handleFilterApply();\n }\n }\n };\n this._handleResizeMove = (e) => {\n if (!this._resizing)\n return;\n const col = this._model.columns.find(c => c.id === this._resizing.columnId);\n if (col) {\n const newWidth = this._resizing.startWidth + (e.clientX - this._resizing.startX);\n col.width = `${Math.min(900, Math.max(50, newWidth))}px`;\n this.requestUpdate();\n }\n };\n this._handleResizeEnd = () => {\n this._resizing = null;\n document.removeEventListener('mousemove', this._handleResizeMove);\n document.removeEventListener('mouseup', this._handleResizeEnd);\n };\n }\n connectedCallback() {\n super.connectedCallback();\n this.classList.toggle('kr-table--scroll-overlay', this._scrollStyle === 'overlay');\n this.classList.toggle('kr-table--scroll-edge', this._scrollStyle === 'edge');\n this._fetch();\n this._initRefresh();\n document.addEventListener('click', this._handleClickOutside);\n this._resizeObserver = new ResizeObserver(() => {\n // Unlock and recalculate on resize since layout changes\n this._searchPositionLocked = false;\n this._updateSearchPosition();\n });\n this._resizeObserver.observe(this);\n }\n disconnectedCallback() {\n super.disconnectedCallback();\n clearInterval(this._refreshTimer);\n document.removeEventListener('click', this._handleClickOutside);\n this._resizeObserver?.disconnect();\n }\n willUpdate(changedProperties) {\n if (changedProperties.has('def')) {\n // Build internal model from user-provided def\n this._model = new KRTableModel();\n if (this.def.title) {\n this._model.title = this.def.title;\n }\n if (this.def.actions) {\n this._model.actions = this.def.actions;\n }\n if (this.def.data) {\n this._model.data = this.def.data;\n }\n if (this.def.dataSource) {\n this._model.dataSource = this.def.dataSource;\n }\n if (typeof this.def.refreshInterval === 'number') {\n this._model.refreshInterval = this.def.refreshInterval;\n }\n if (typeof this.def.pageSize === 'number') {\n this._model.pageSize = this.def.pageSize;\n }\n if (this.def.rowClickable) {\n this._model.rowClickable = this.def.rowClickable;\n }\n if (this.def.rowHref) {\n this._model.rowHref = this.def.rowHref;\n }\n this._model.columns = this.def.columns.map(col => {\n const column = {\n ...col,\n filter: null\n };\n if (!column.type) {\n column.type = 'string';\n }\n if (column.type === 'actions') {\n column.label = col.label ?? '';\n column.sticky = 'right';\n column.resizable = false;\n return column;\n }\n if (col.filterable || col.facetable) {\n column.filter = new KRQuery();\n column.filter.field = col.id;\n column.filter.type = column.type;\n if (col.facetable && !col.filterable) {\n column.filter.operator = 'in';\n column.filter.value = [];\n }\n else if (column.filter.type === 'string') {\n column.filter.operator = 'contains';\n }\n }\n return column;\n });\n if (this.def.displayedColumns) {\n this._model.displayedColumns = this.def.displayedColumns;\n }\n else {\n this._model.displayedColumns = this._model.columns.map(c => c.id);\n }\n this._fetch();\n this._initRefresh();\n }\n }\n updated(changedProperties) {\n this._updateScrollFlags();\n this._syncSlottedContent();\n }\n /** Syncs light DOM content for cells with custom render functions */\n _syncSlottedContent() {\n const columns = this.getDisplayedColumns().filter(col => col.render);\n if (!columns.length)\n return;\n // Clear old slotted content\n this.querySelectorAll('[slot^=\"cell-\"]').forEach(el => el.remove());\n // Create new slotted content\n this._data.forEach((row, rowIndex) => {\n columns.forEach(col => {\n const result = col.render(row);\n if (!result)\n return;\n const el = document.createElement('span');\n el.slot = `cell-${rowIndex}-${col.id}`;\n if (col.type === 'actions') {\n el.style.display = 'flex';\n el.style.gap = '8px';\n }\n if (typeof result === 'string') {\n el.innerHTML = result;\n }\n else {\n render(result, el);\n }\n this.appendChild(el);\n });\n });\n }\n // ----------------------------------------------------------------------------\n // Public Interface\n // ----------------------------------------------------------------------------\n refresh() {\n this._fetch();\n }\n goToPrevPage() {\n if (this._page > 1) {\n this._page--;\n this._fetch();\n }\n }\n goToNextPage() {\n if (this._page < this._totalPages) {\n this._page++;\n this._fetch();\n }\n }\n goToPage(page) {\n if (page >= 1 && page <= this._totalPages) {\n this._page = page;\n this._fetch();\n }\n }\n // ----------------------------------------------------------------------------\n // Data Fetching\n // ----------------------------------------------------------------------------\n _toSolrData() {\n const request = {\n page: this._page - 1,\n size: this._pageSize,\n sorts: [],\n filterFields: [],\n queryFields: [],\n facetFields: []\n };\n for (const col of this._model.columns) {\n if (!col.filter || col.filter.isEmpty() || !col.filter.isValid()) {\n continue;\n }\n const filterData = col.filter.toSolrData();\n if (col.facetable && col.filter.operator === 'in') {\n filterData.tagged = true;\n }\n request.filterFields.push(filterData);\n }\n for (const col of this._model.columns) {\n if (!col.facetable) {\n continue;\n }\n request.facetFields.push({\n name: col.id,\n type: 'FIELD',\n limit: 100,\n sort: 'count',\n minimumCount: 1\n });\n }\n if (this._searchQuery?.trim().length) {\n request.queryFields.push({\n name: '_text_',\n operation: 'IS',\n value: termify(this._searchQuery, false)\n });\n }\n return request;\n }\n _toDbParams() {\n const request = {\n page: this._page - 1,\n size: this._pageSize,\n sorts: [],\n filterFields: [],\n queryFields: [],\n facetFields: []\n };\n for (const col of this._model.columns) {\n if (!col.filter || col.filter.isEmpty() || !col.filter.isValid()) {\n continue;\n }\n request.filterFields.push(col.filter.toDbParams());\n }\n if (this._searchQuery?.trim().length) {\n this._model.columns.filter(col => col.searchable).forEach(col => {\n request.queryFields.push({\n name: col.id,\n operation: 'CONTAINS',\n value: this._searchQuery,\n and: false\n });\n });\n }\n return request;\n }\n /**\n * Fetches data from the API and updates the table.\n * Shows a loading spinner while fetching, then displays rows on success\n * or an error snackbar on failure.\n * Request/response format depends on dataSource.mode (solr, opensearch, db).\n */\n _fetch() {\n if (this._model.data) {\n this._data = this._model.data;\n this._totalItems = this._model.data.length;\n this._totalPages = Math.ceil(this._model.data.length / this._pageSize);\n this._dataState = 'success';\n return;\n }\n if (!this._model.dataSource)\n return;\n this._dataState = 'loading';\n let request;\n if (this._model.dataSource.mode === 'db') {\n request = this._toDbParams();\n }\n else {\n request = this._toSolrData();\n }\n this._model.dataSource.fetch(request)\n .then(response => {\n // Parse response based on mode\n switch (this._model.dataSource?.mode) {\n case 'opensearch': {\n throw Error('Opensearch not supported yet');\n break;\n }\n case 'db': {\n const res = response;\n this._data = res.data.content;\n this._totalItems = res.data.totalElements;\n this._totalPages = res.data.totalPages;\n this._pageSize = res.data.size;\n break;\n }\n default: { // solr\n const res = response;\n this._data = res.data.content;\n this._totalItems = res.data.totalElements;\n this._totalPages = res.data.totalPages;\n this._pageSize = res.data.size;\n this._parseFacetResults(res);\n }\n }\n this._dataState = 'success';\n this._updateSearchPosition();\n })\n .catch(err => {\n this._dataState = 'error';\n KRSnackbar.show({\n message: err instanceof Error ? err.message : 'Failed to load data',\n type: 'error'\n });\n });\n }\n _parseFacetResults(response) {\n if (!response.data.facetFields) {\n return;\n }\n for (const col of this._model.columns) {\n if (!col.facetable) {\n continue;\n }\n const rawBuckets = response.data.facetFields[col.id];\n if (!rawBuckets) {\n this._buckets.set(col.id, []);\n continue;\n }\n const buckets = [];\n for (const raw of rawBuckets) {\n // Solr returns boolean facet values as strings — coerce to actual booleans\n // so they match the filter values stored by toggle().\n let val = raw.name;\n if (col.type === 'boolean' && typeof raw.name === 'string') {\n if (raw.name === 'true') {\n val = true;\n }\n else if (raw.name === 'false') {\n val = false;\n }\n }\n if (raw.name === null && raw.count > 0) {\n buckets.unshift({\n val: null,\n count: raw.count\n });\n }\n if (raw.name !== null) {\n buckets.push({\n val: val,\n count: raw.count\n });\n }\n }\n // Bucket sync: ensure selected values appear even with 0 results\n if (col.filter && col.filter.operator === 'in' && Array.isArray(col.filter.value)) {\n for (const selectedVal of col.filter.value) {\n if (!buckets.some(b => b.val === selectedVal)) {\n buckets.push({\n val: selectedVal,\n count: 0\n });\n }\n }\n }\n this._buckets.set(col.id, buckets);\n }\n // Trigger re-render since Map mutation doesn't trigger Lit updates\n this._buckets = new Map(this._buckets);\n }\n /**\n * Sets up auto-refresh so the table automatically fetches fresh data\n * at a regular interval (useful for dashboards, monitoring views).\n * Configured via def.refreshInterval in milliseconds.\n */\n _initRefresh() {\n clearInterval(this._refreshTimer);\n if (this._model.refreshInterval && this._model.refreshInterval > 0) {\n this._refreshTimer = window.setInterval(() => {\n this._fetch();\n }, this._model.refreshInterval);\n }\n }\n _handleSearch(e) {\n const input = e.target;\n this._searchQuery = input.value;\n this._page = 1;\n this._fetch();\n }\n _getGridTemplateColumns() {\n const cols = this.getDisplayedColumns();\n return cols.map((col) => {\n // If column has explicit width, use it\n if (col.width) {\n return col.width;\n }\n // Actions columns: fit content without minimum\n if (col.type === 'actions') {\n return 'max-content';\n }\n // No width specified - use content-based sizing with minimum\n return 'minmax(80px, auto)';\n }).join(' ');\n }\n /**\n * Updates search position to be centered with equal gaps from title and tools.\n * On first call: resets to flex centering, measures position, then locks with fixed margin.\n * Subsequent calls are ignored unless _searchPositionLocked is reset (e.g., on resize).\n */\n _updateSearchPosition() {\n // Skip if already locked (prevents shifts on pagination changes)\n if (this._searchPositionLocked)\n return;\n const search = this.shadowRoot?.querySelector('.search');\n const searchField = search?.querySelector('.search-field');\n if (!search || !searchField)\n return;\n // Reset to flex centering\n search.style.justifyContent = 'center';\n searchField.style.marginLeft = '';\n requestAnimationFrame(() => {\n const searchRect = search.getBoundingClientRect();\n const fieldRect = searchField.getBoundingClientRect();\n // Calculate how far from the left of search container the field currently is\n const currentOffset = fieldRect.left - searchRect.left;\n // Lock position: switch to flex-start and use fixed margin\n search.style.justifyContent = 'flex-start';\n searchField.style.marginLeft = `${currentOffset}px`;\n // Mark as locked so pagination changes don't shift the search\n this._searchPositionLocked = true;\n });\n }\n // ----------------------------------------------------------------------------\n // Columns\n // ----------------------------------------------------------------------------\n _toggleColumnPicker() {\n this._columnPickerOpen = !this._columnPickerOpen;\n }\n _toggleColumn(columnId) {\n if (this._model.displayedColumns.includes(columnId)) {\n this._model.displayedColumns = this._model.displayedColumns.filter(id => id !== columnId);\n }\n else {\n this._model.displayedColumns = [...this._model.displayedColumns, columnId];\n }\n }\n // Clear any existing text selection on mousedown so we only detect\n // selections made during this click gesture, not stale selections from elsewhere\n _handleRowMouseDown() {\n if (!this._model.rowClickable) {\n return;\n }\n window.getSelection()?.removeAllRanges();\n }\n _handleRowClick(row, rowIndex) {\n if (!this._model.rowClickable) {\n return;\n }\n const selection = window.getSelection();\n if (selection && selection.toString().length > 0) {\n return;\n }\n this.dispatchEvent(new CustomEvent('row-click', {\n detail: { row, rowIndex },\n bubbles: true,\n composed: true\n }));\n }\n // When a user toggles a column on via the column picker, it gets appended\n // to _displayedColumns. By mapping over _displayedColumns (not def.columns),\n // the new column appears at the right edge of the table instead of jumping\n // back to its original position in the column definition.\n // Actions columns are always moved to the end.\n getDisplayedColumns() {\n return this._model.displayedColumns\n .map(id => this._model.columns.find(col => col.id === id))\n .sort((a, b) => {\n if (a.type === 'actions' && b.type !== 'actions')\n return 1;\n if (a.type !== 'actions' && b.type === 'actions')\n return -1;\n return 0;\n });\n }\n // ----------------------------------------------------------------------------\n // Scrolling\n // ----------------------------------------------------------------------------\n /**\n * Scroll event handler that updates scroll flags in real-time as user scrolls.\n * Updates shadow indicators to show if more content exists left/right.\n */\n _handleScroll(e) {\n const container = e.target;\n this._canScrollLeft = container.scrollLeft > 0;\n this._canScrollRight = container.scrollLeft < container.scrollWidth - container.clientWidth - 1;\n }\n /**\n * Updates scroll state flags for the table content container.\n * - _canScrollLeft: true if scrolled right (can scroll back left)\n * - _canScrollRight: true if more content exists to the right\n * - _canScrollHorizontal: true if content is wider than container\n * These flags control scroll shadow indicators and CSS classes.\n */\n _updateScrollFlags() {\n const container = this.shadowRoot?.querySelector('.content');\n if (container) {\n this._canScrollLeft = container.scrollLeft > 0;\n this._canScrollRight = container.scrollWidth > container.clientWidth && container.scrollLeft < container.scrollWidth - container.clientWidth - 1;\n this._canScrollHorizontal = container.scrollWidth > container.clientWidth;\n }\n this.classList.toggle('kr-table--scroll-left-available', this._canScrollLeft);\n this.classList.toggle('kr-table--scroll-right-available', this._canScrollRight);\n this.classList.toggle('kr-table--scroll-horizontal-available', this._canScrollHorizontal);\n this.classList.toggle('kr-table--sticky-left', this.getDisplayedColumns().some(c => c.sticky === 'left'));\n this.classList.toggle('kr-table--sticky-right', this.getDisplayedColumns().some(c => c.sticky === 'right'));\n }\n // ----------------------------------------------------------------------------\n // Column Resizing\n // ----------------------------------------------------------------------------\n _handleResizeStart(e, columnId) {\n e.preventDefault();\n const headerCell = this.shadowRoot?.querySelector(`.header-cell[data-column-id=\"${columnId}\"]`);\n this._resizing = {\n columnId,\n startX: e.clientX,\n startWidth: headerCell?.offsetWidth || 200\n };\n document.addEventListener('mousemove', this._handleResizeMove);\n document.addEventListener('mouseup', this._handleResizeEnd);\n }\n // ----------------------------------------------------------------------------\n // Header\n // ----------------------------------------------------------------------------\n _handleAction(action) {\n if (action.href) {\n return;\n }\n this.dispatchEvent(new CustomEvent('action', {\n detail: { action: action.id },\n bubbles: true,\n composed: true\n }));\n }\n // ----------------------------------------------------------------------------\n // Filter Handlers\n // ----------------------------------------------------------------------------\n _handleKqlChange(e, column) {\n const kql = e.target.value.trim();\n if (!kql) {\n column.filter.clear();\n this.requestUpdate();\n }\n else {\n column.filter.setKql(kql);\n this.requestUpdate();\n if (!column.filter.isValid()) {\n return;\n }\n }\n this._page = 1;\n this._fetch();\n }\n _handleFilterPanelToggle(e, column) {\n e.stopPropagation();\n if (this._filterPanelOpened === column.id) {\n this._filterPanelOpened = null;\n }\n else {\n const rect = e.currentTarget.getBoundingClientRect();\n this._filterPanelPos = { top: rect.bottom + 4, left: rect.left };\n this._filterPanelOpened = column.id;\n if (column.facetable) {\n this._filterPanelTab = 'counts';\n }\n else {\n this._filterPanelTab = 'filter';\n }\n }\n }\n _handleKqlClear(column) {\n column.filter.clear();\n this._page = 1;\n this._fetch();\n }\n _handleFilterClear() {\n const column = this._model.columns.find(c => c.id === this._filterPanelOpened);\n if (column) {\n column.filter.clear();\n if (column.facetable && !column.filterable) {\n column.filter.operator = 'in';\n column.filter.value = [];\n }\n }\n this._filterPanelOpened = null;\n this._page = 1;\n this._fetch();\n }\n _handleFilterTextKeydown(e, column) {\n if (e.key === 'Enter') {\n e.preventDefault();\n this._handleFilterApply();\n }\n }\n _handleOperatorChange(e, column) {\n column.filter.setOperator(e.target.value);\n this.requestUpdate();\n }\n _handleFilterStringChange(e, column) {\n column.filter.setValue(e.target.value);\n this.requestUpdate();\n }\n _handleFilterNumberChange(e, column) {\n column.filter.setValue(Number(e.target.value));\n this.requestUpdate();\n }\n _handleFilterDateChange(e, column) {\n column.filter.setValue(new Date(e.target.value), 'day');\n this.requestUpdate();\n }\n _handleFilterBooleanChange(e, column) {\n column.filter.setValue(e.target.value === 'true');\n this.requestUpdate();\n }\n _handleFilterDateStartChange(e, column) {\n column.filter.setStart(new Date(e.target.value), 'day');\n this.requestUpdate();\n }\n _handleFilterDateEndChange(e, column) {\n column.filter.setEnd(new Date(e.target.value), 'day');\n this.requestUpdate();\n }\n _handleFilterNumberStartChange(e, column) {\n column.filter.setStart(Number(e.target.value));\n this.requestUpdate();\n }\n _handleFilterNumberEndChange(e, column) {\n column.filter.setEnd(Number(e.target.value));\n this.requestUpdate();\n }\n _handleFilterListChange(e, column) {\n const items = e.target.value.split(',').map((v) => v.trim()).filter((v) => v !== '');\n if (column.type === 'number') {\n column.filter.setValue(items.map((v) => Number(v)));\n }\n else {\n column.filter.setValue(items);\n }\n this.requestUpdate();\n }\n _handleFilterApply() {\n this._filterPanelOpened = null;\n this._page = 1;\n this._fetch();\n }\n _handleFilterPanelTabChange(e) {\n this._filterPanelTab = e.detail.activeTabId;\n }\n _handleBucketToggle(e, column, bucket) {\n column.filter.toggle(bucket.val);\n this._page = 1;\n this._fetch();\n }\n // ----------------------------------------------------------------------------\n // Rendering\n // ----------------------------------------------------------------------------\n _renderCellContent(column, row, rowIndex) {\n const value = row[column.id];\n if (column.render) {\n // Use slot to project content from light DOM so external styles apply\n return html `<slot name=\"cell-${rowIndex}-${column.id}\"></slot>`;\n }\n if (value === null || value === undefined) {\n return '';\n }\n switch (column.type) {\n case 'number':\n if (column.format === 'currency' && typeof value === 'number') {\n return value.toLocaleString('en-US', { style: 'currency', currency: 'USD' });\n }\n return String(value);\n case 'date': {\n let date;\n if (value instanceof Date) {\n date = value;\n }\n else if (typeof value === 'string' && /^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}/.test(value)) {\n // MySQL datetime format (UTC): \"2026-01-28 01:33:44:517\"\n // Replace last colon before ms with dot, append Z for UTC\n const isoString = value.replace(/(\\d{2}:\\d{2}:\\d{2}):(\\d+)$/, '$1.$2').replace(' ', 'T') + 'Z';\n date = new Date(isoString);\n }\n else {\n date = new Date(value);\n }\n // Show date and time for datetime values in UTC\n return date.toLocaleString(undefined, {\n year: 'numeric', month: 'short', day: 'numeric',\n hour: 'numeric', minute: '2-digit',\n timeZone: 'UTC'\n });\n }\n case 'boolean':\n if (value === true)\n return 'Yes';\n if (value === false)\n return 'No';\n return '';\n default:\n return String(value);\n }\n }\n /**\n * Returns CSS classes for a header cell based on column config.\n */\n _getHeaderCellClasses(column, index) {\n return {\n 'header-cell': true,\n 'header-cell--align-center': column.align === 'center',\n 'header-cell--align-right': column.align === 'right',\n 'header-cell--sticky-left': column.sticky === 'left',\n 'header-cell--sticky-left-last': column.sticky === 'left' &&\n !this.getDisplayedColumns().slice(index + 1).some(c => c.sticky === 'left'),\n 'header-cell--sticky-right': column.sticky === 'right',\n 'header-cell--sticky-right-first': column.sticky === 'right' &&\n !this.getDisplayedColumns().slice(0, index).some(c => c.sticky === 'right')\n };\n }\n /**\n * Returns CSS classes for a table cell based on column config:\n * - Alignment (center, right)\n * - Sticky positioning (left, right)\n * - Border classes for the last left-sticky or first right-sticky column\n */\n _getCellClasses(column, index) {\n return {\n 'cell': true,\n 'cell--actions': column.type === 'actions',\n 'cell--align-center': column.align === 'center',\n 'cell--align-right': column.align === 'right',\n 'cell--sticky-left': column.sticky === 'left',\n 'cell--sticky-left-last': column.sticky === 'left' &&\n !this.getDisplayedColumns().slice(index + 1).some(c => c.sticky === 'left'),\n 'cell--sticky-right': column.sticky === 'right',\n 'cell--sticky-right-first': column.sticky === 'right' &&\n !this.getDisplayedColumns().slice(0, index).some(c => c.sticky === 'right')\n };\n }\n /**\n * Returns inline styles for a table cell:\n * - Width (from column config or default 150px)\n * - Min-width (if specified)\n * - Left/right offset for sticky columns (calculated from widths of preceding sticky columns)\n */\n _getCellStyle(column, index) {\n const styles = {};\n if (column.sticky === 'left') {\n let leftOffset = 0;\n for (let i = 0; i < index; i++) {\n const col = this.getDisplayedColumns()[i];\n if (col.sticky === 'left') {\n leftOffset += parseInt(col.width || '0', 10);\n }\n }\n styles.left = `${leftOffset}px`;\n }\n if (column.sticky === 'right') {\n let rightOffset = 0;\n for (let i = index + 1; i < this.getDisplayedColumns().length; i++) {\n const col = this.getDisplayedColumns()[i];\n if (col.sticky === 'right') {\n rightOffset += parseInt(col.width || '0', 10);\n }\n }\n styles.right = `${rightOffset}px`;\n }\n return styles;\n }\n /**\n * Renders the pagination controls:\n * - Previous page arrow (disabled on first page)\n * - Range text showing \"1-50 of 150\" format\n * - Next page arrow (disabled on last page)\n *\n * Hidden when there's no data or all data fits on one page.\n */\n _renderPagination() {\n const start = (this._page - 1) * this._pageSize + 1;\n const end = Math.min(this._page * this._pageSize, this._totalItems);\n return html `\n <div class=\"pagination\">\n <span\n class=\"pagination-icon ${this._page === 1 ? 'pagination-icon--disabled' : ''}\"\n @click=${this.goToPrevPage}\n >\n <svg viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z\"/></svg>\n </span>\n <span class=\"pagination-info\">${start}-${end} of ${this._totalItems}</span>\n <span\n class=\"pagination-icon ${this._page === this._totalPages ? 'pagination-icon--disabled' : ''}\"\n @click=${this.goToNextPage}\n >\n <svg viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z\"/></svg>\n </span>\n </div>\n `;\n }\n /**\n * Renders the header toolbar containing:\n * - Title (left)\n * - Search bar with view selector dropdown (center)\n * - Tools (right): page navigation, refresh button, column visibility picker, actions dropdown\n *\n * Hidden when there's no title, no actions, and data fits on one page.\n */\n _renderHeader() {\n if (!this._model.title && !this._model.actions?.length && this._totalPages <= 1) {\n return nothing;\n }\n return html `\n <div class=\"header\">\n <div class=\"title\">${this._model.title ?? ''}</div>\n ${this._model.dataSource?.mode === 'db' && !this._model.columns.some(col => col.searchable) ? html `<div class=\"search\"></div>` : html `\n <div class=\"search\">\n <!-- TODO: Saved views dropdown\n <div class=\"views\">\n <span>Default View</span>\n <svg viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M7.41 8.59L12 13.17l4.59-4.58L18 10l-6 6-6-6 1.41-1.41z\"/></svg>\n </div>\n -->\n <div class=\"search-field\">\n <svg class=\"search-icon\" viewBox=\"0 -960 960 960\" fill=\"currentColor\"><path d=\"M784-120 532-372q-30 24-69 38t-83 14q-109 0-184.5-75.5T120-580q0-109 75.5-184.5T380-840q109 0 184.5 75.5T640-580q0 44-14 83t-38 69l252 252-56 56ZM380-400q75 0 127.5-52.5T560-580q0-75-52.5-127.5T380-760q-75 0-127.5 52.5T200-580q0 75 52.5 127.5T380-400Z\"/></svg>\n <input\n type=\"text\"\n class=\"search-input\"\n placeholder=\"Search...\"\n .value=${this._searchQuery}\n @input=${this._handleSearch}\n />\n </div>\n </div>\n `}\n <div class=\"tools\">\n ${this._renderPagination()}\n <span class=\"refresh\" title=\"Refresh\" @click=${() => this.refresh()}>\n <svg viewBox=\"0 -960 960 960\" fill=\"currentColor\"><path d=\"M480-160q-134 0-227-93t-93-227q0-134 93-227t227-93q69 0 132 28.5T720-690v-110h80v280H520v-80h168q-32-56-87.5-88T480-720q-100 0-170 70t-70 170q0 100 70 170t170 70q77 0 139-44t87-116h84q-28 106-114 173t-196 67Z\"/></svg>\n </span>\n <div class=\"column-picker-wrapper\">\n <span class=\"header-icon\" title=\"Columns\" @click=${this._toggleColumnPicker}>\n <svg viewBox=\"0 -960 960 960\" fill=\"currentColor\"><path d=\"M121-280v-400q0-33 23.5-56.5T201-760h559q33 0 56.5 23.5T840-680v400q0 33-23.5 56.5T760-200H201q-33 0-56.5-23.5T121-280Zm79 0h133v-400H200v400Zm213 0h133v-400H413v400Zm213 0h133v-400H626v400Z\"/></svg>\n </span>\n <div class=\"column-picker ${this._columnPickerOpen ? 'open' : ''}\">\n ${[...this._model.columns].filter(col => col.type !== 'actions').sort((a, b) => (a.label ?? a.id).localeCompare(b.label ?? b.id)).map(col => html `\n <div class=\"column-picker-item\" @click=${() => this._toggleColumn(col.id)}>\n <div class=\"column-picker-checkbox ${this._model.displayedColumns.includes(col.id) ? 'checked' : ''}\">\n <svg viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\"/></svg>\n </div>\n <span class=\"column-picker-label\">${col.label ?? col.id}</span>\n </div>\n `)}\n </div>\n </div>\n ${this._model.actions?.length === 1 ? html `\n <kr-button\n class=\"actions\"\n .href=${this._model.actions[0].href}\n .target=${this._model.actions[0].target}\n @click=${() => this._handleAction(this._model.actions[0])}\n >\n ${this._model.actions[0].label}\n </kr-button>\n ` : this._model.actions?.length ? html `\n <kr-button\n class=\"actions\"\n .options=${this._model.actions.map(a => ({ id: a.id, label: a.label }))}\n @option-select=${(e) => this._handleAction({ id: e.detail.id, label: e.detail.label })}\n >\n Actions\n </kr-button>\n ` : nothing}\n </div>\n </div>\n `;\n }\n /** Renders status message (loading, error, empty) */\n _renderStatus() {\n if (this._dataState === 'loading' && this._data.length === 0) {\n return html `<div class=\"status\">Loading...</div>`;\n }\n if (this._dataState === 'error' && this._data.length === 0) {\n return html `<div class=\"status status--error\">Error loading data</div>`;\n }\n if (this._data.length === 0) {\n return html `<div class=\"status\">No data available</div>`;\n }\n return nothing;\n }\n _renderFilterPanel() {\n if (!this._filterPanelOpened) {\n return nothing;\n }\n const column = this._model.columns.find(c => c.id === this._filterPanelOpened);\n // Build filter content (operator + value input)\n let valueInput = html ``;\n if (column.filter.operator === 'empty' || column.filter.operator === 'n_empty') {\n valueInput = html `\n <input\n type=\"text\"\n class=\"filter-panel__input\"\n disabled\n .value=${column.filter.text}\n />\n `;\n }\n else if (column.filter.operator === 'between' && column.type === 'date') {\n valueInput = html `\n <input\n type=\"date\"\n class=\"filter-panel__input\"\n .valueAsDate=${column.filter.value?.start ?? null}\n @change=${(e) => this._handleFilterDateStartChange(e, column)}\n />\n <input\n type=\"date\"\n class=\"filter-panel__input\"\n .valueAsDate=${column.filter.value?.end ?? null}\n @change=${(e) => this._handleFilterDateEndChange(e, column)}\n />\n `;\n }\n else if (column.filter.operator === 'between' && column.type === 'number') {\n valueInput = html `\n <input\n type=\"number\"\n class=\"filter-panel__input\"\n placeholder=\"Start\"\n .value=${column.filter.value?.start ?? ''}\n @input=${(e) => this._handleFilterNumberStartChange(e, column)}\n @keydown=${(e) => this._handleFilterTextKeydown(e, column)}\n />\n <input\n type=\"number\"\n class=\"filter-panel__input\"\n placeholder=\"End\"\n .value=${column.filter.value?.end ?? ''}\n @input=${(e) => this._handleFilterNumberEndChange(e, column)}\n @keydown=${(e) => this._handleFilterTextKeydown(e, column)}\n />\n `;\n }\n else if (column.filter.operator === 'in') {\n valueInput = html `\n <textarea\n class=\"filter-panel__textarea\"\n rows=\"3\"\n placeholder=\"Values (comma-separated)\"\n .value=${column.filter.text}\n @input=${(e) => this._handleFilterListChange(e, column)}\n @keydown=${(e) => this._handleFilterTextKeydown(e, column)}\n ></textarea>\n `;\n }\n else if (column.type === 'boolean') {\n valueInput = html `\n <kr-select-field\n placeholder=\"Value\"\n .value=${String(column.filter.value ?? '')}\n @change=${(e) => this._handleFilterBooleanChange(e, column)}\n >\n <kr-select-option value=\"true\">Yes</kr-select-option>\n <kr-select-option value=\"false\">No</kr-select-option>\n </kr-select-field>\n `;\n }\n else if (column.type === 'date') {\n valueInput = html `\n <input\n type=\"date\"\n class=\"filter-panel__input\"\n .valueAsDate=${column.filter.value}\n @change=${(e) => this._handleFilterDateChange(e, column)}\n />\n `;\n }\n else if (column.type === 'number') {\n valueInput = html `\n <input\n type=\"number\"\n class=\"filter-panel__input\"\n placeholder=\"Value\"\n min=\"0\"\n .value=${column.filter.text}\n @input=${(e) => this._handleFilterNumberChange(e, column)}\n @keydown=${(e) => this._handleFilterTextKeydown(e, column)}\n />\n `;\n }\n else {\n valueInput = html `\n <input\n type=\"text\"\n class=\"filter-panel__input\"\n placeholder=\"Value\"\n .value=${column.filter.text}\n @input=${(e) => this._handleFilterStringChange(e, column)}\n @keydown=${(e) => this._handleFilterTextKeydown(e, column)}\n />\n `;\n }\n const filterContent = html `\n <div class=\"filter-panel__content\">\n <kr-select-field\n .value=${column.filter.operator}\n @change=${(e) => this._handleOperatorChange(e, column)}\n >\n ${getOperatorsForType(column.type).map(op => html `\n <kr-select-option value=${op.key}>${op.label}</kr-select-option>\n `)}\n </kr-select-field>\n ${valueInput}\n </div>\n `;\n // Build bucket list content\n const buckets = this._buckets.get(column.id) || [];\n let bucketContent;\n if (!buckets.length) {\n bucketContent = html `<div class=\"bucket-empty\">No data</div>`;\n }\n else {\n bucketContent = html `\n <div class=\"buckets\">\n ${buckets.map(bucket => {\n let bucketLabel = '(Empty)';\n if (bucket.val !== null && bucket.val !== undefined) {\n if (column.type === 'boolean') {\n if (bucket.val === true || bucket.val === 'true') {\n bucketLabel = 'Yes';\n }\n else {\n bucketLabel = 'No';\n }\n }\n else {\n bucketLabel = String(bucket.val);\n }\n }\n let checkIcon = nothing;\n if (column.filter.has(bucket.val)) {\n checkIcon = html `\n <svg viewBox=\"0 0 24 24\" fill=\"currentColor\">\n <path d=\"M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\"/>\n </svg>\n `;\n }\n return html `\n <div\n class=\"bucket\"\n @click=${(e) => this._handleBucketToggle(e, column, bucket)}\n >\n <div class=${classMap({\n 'bucket__checkbox': true,\n 'bucket__checkbox--checked': column.filter.has(bucket.val)\n })}>\n ${checkIcon}\n </div>\n <span class=\"bucket__label\">${bucketLabel}</span>\n <span class=\"bucket__count\">${bucket.count}</span>\n </div>\n `;\n })}\n </div>\n `;\n }\n // Build panel body — tabs if both filterable+facetable, otherwise just the relevant content\n let panelBody;\n if (column.facetable && column.filterable) {\n panelBody = html `\n <kr-tab-group\n size=\"small\"\n active-tab-id=${this._filterPanelTab}\n @tab-change=${(e) => this._handleFilterPanelTabChange(e)}\n >\n <kr-tab id=\"filter\" label=\"Filter\">\n ${filterContent}\n </kr-tab>\n <kr-tab id=\"counts\" label=\"Counts\">\n ${bucketContent}\n </kr-tab>\n </kr-tab-group>\n `;\n }\n else if (column.facetable) {\n panelBody = bucketContent;\n }\n else {\n panelBody = filterContent;\n }\n return html `\n <div\n class=\"filter-panel\"\n style=${styleMap({\n top: this._filterPanelPos.top + 'px',\n left: this._filterPanelPos.left + 'px'\n })}\n >\n ${panelBody}\n <div class=\"filter-panel__actions\">\n <kr-button variant=\"outline\" color=\"secondary\" size=\"small\" @click=${this._handleFilterClear}>\n Clear\n </kr-button>\n <kr-button size=\"small\" @click=${this._handleFilterApply}>\n Apply\n </kr-button>\n </div>\n </div>\n `;\n }\n /**\n * Renders filter row below column headers.\n * Only displays for columns with filterable: true.\n */\n _renderFilterRow() {\n const columns = this.getDisplayedColumns();\n if (!columns.some(col => col.filterable || col.facetable)) {\n return nothing;\n }\n return html `\n <div class=\"filter-row\">\n ${columns.map((col, i) => {\n if (!col.filterable && !col.facetable) {\n return html `<div\n class=${classMap({\n 'filter-cell': true,\n 'filter-cell--sticky-left': col.sticky === 'left',\n 'filter-cell--sticky-right': col.sticky === 'right',\n 'filter-cell--sticky-right-first': col.sticky === 'right' &&\n !columns.slice(0, i).some((c) => c.sticky === 'right')\n })}\n style=${styleMap(this._getCellStyle(col, i))}\n ></div>`;\n }\n return html `\n <div\n class=${classMap({\n 'filter-cell': true,\n 'filter-cell--sticky-left': col.sticky === 'left',\n 'filter-cell--sticky-right': col.sticky === 'right',\n 'filter-cell--sticky-right-first': col.sticky === 'right' &&\n !columns.slice(0, i).some((c) => c.sticky === 'right')\n })}\n style=${styleMap(this._getCellStyle(col, i))}\n >\n <div class=\"filter-cell__wrapper\">\n <input\n type=\"text\"\n class=${classMap({\n 'filter-cell__input': true,\n 'filter-cell__input--invalid': !col.filter.isValid()\n })}\n .value=${col.filter.kql}\n @change=${(e) => this._handleKqlChange(e, col)}\n />\n ${col.filter?.kql?.length > 0 ? html `\n <button\n class=\"filter-cell__clear\"\n @click=${() => this._handleKqlClear(col)}\n >\n <svg viewBox=\"0 0 24 24\" fill=\"currentColor\">\n <path d=\"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/>\n </svg>\n </button>\n ` : nothing}\n <button\n class=${classMap({\n 'filter-cell__advanced': true,\n 'filter-cell__advanced--opened': this._filterPanelOpened === col.id\n })}\n @click=${(e) => this._handleFilterPanelToggle(e, col)}\n >\n <svg viewBox=\"0 0 24 24\" fill=\"currentColor\">\n <path d=\"M10 18h4v-2h-4v2zM3 6v2h18V6H3zm3 7h12v-2H6v2z\"/>\n </svg>\n </button>\n </div>\n </div>\n `;\n })}\n </div>\n `;\n }\n /** Renders the scrollable data grid with column headers and rows. */\n _renderTable() {\n return html `\n <div class=\"wrapper\">\n <div class=\"overlay-left\"></div>\n <div class=\"overlay-right\"></div>\n ${this._renderStatus()}\n <div class=\"content\" @scroll=${this._handleScroll}>\n <div class=\"table\" style=\"grid-template-columns: ${this._getGridTemplateColumns()}\">\n <div class=\"header-row\">\n ${this.getDisplayedColumns().map((col, i) => html `\n <div\n class=${classMap(this._getHeaderCellClasses(col, i))}\n style=${styleMap(this._getCellStyle(col, i))}\n data-column-id=${col.id}\n >${col.label ?? col.id}${col.resizable !== false ? html `<div\n class=\"header-cell__resize\"\n @mousedown=${(e) => this._handleResizeStart(e, col.id)}\n ></div>` : nothing}</div>\n `)}\n </div>\n ${this._renderFilterRow()}\n ${this._data.map((row, rowIndex) => {\n const cells = this.getDisplayedColumns().map((col, i) => html `\n <div\n class=${classMap(this._getCellClasses(col, i))}\n style=${styleMap(this._getCellStyle(col, i))}\n data-column-id=${col.id}\n >\n ${this._renderCellContent(col, row, rowIndex)}\n </div>\n `);\n if (this._model.rowHref) {\n return html `\n <a\n href=${this._model.rowHref(row)}\n class=${classMap({ 'row': true, 'row--clickable': true, 'row--link': true })}\n @mousedown=${() => this._handleRowMouseDown()}\n @click=${() => this._handleRowClick(row, rowIndex)}\n >${cells}</a>\n `;\n }\n return html `\n <div\n class=${classMap({ 'row': true, 'row--clickable': !!this._model.rowClickable })}\n @mousedown=${() => this._handleRowMouseDown()}\n @click=${() => this._handleRowClick(row, rowIndex)}\n >${cells}</div>\n `;\n })}\n </div>\n </div>\n </div>\n `;\n }\n /**\n * Renders a data table with:\n * - Header bar with title, search input with view selector, and tools (pagination, refresh, column visibility, actions dropdown)\n * - Scrollable grid with sticky header row and optional sticky left/right columns\n * - Loading, error message, or empty state when no data\n */\n render() {\n if (!this._model.columns.length) {\n return html `<slot></slot>`;\n }\n return html `\n ${this._renderHeader()}\n ${this._renderTable()}\n ${this._renderFilterPanel()}\n `;\n }\n};\nKRTable.styles = [krBaseCSS, css `\n /* -------------------------------------------------------------------------\n * Host\n * ----------------------------------------------------------------------- */\n :host {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n overflow: hidden;\n container-type: inline-size;\n }\n\n /* -------------------------------------------------------------------------\n * Header\n * ----------------------------------------------------------------------- */\n .header {\n flex-shrink: 0;\n display: flex;\n align-items: center;\n gap: 16px;\n margin: 0 24px;\n padding: 0 4px;\n height: 64px;\n border-bottom: 1px solid #e5e7eb;\n background: #fff;\n }\n\n :host(.kr-table--scroll-edge) .header {\n border-bottom: none;\n }\n\n .title {\n font-size: 18px;\n font-weight: 600;\n color: #000;\n }\n\n /* -------------------------------------------------------------------------\n * Content\n * ----------------------------------------------------------------------- */\n .wrapper {\n flex: 1;\n position: relative;\n overflow: hidden;\n }\n\n .content {\n height: 100%;\n overflow: auto;\n padding-bottom: 24px;\n }\n\n /* -------------------------------------------------------------------------\n * Search\n * ----------------------------------------------------------------------- */\n .search {\n flex: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n min-width: 0;\n }\n\n .search-field {\n width: 100%;\n max-width: 400px;\n position: relative;\n display: flex;\n align-items: center;\n border: 1px solid #00000038;\n border-radius: 18px;\n transition: border-color 0.2s, box-shadow 0.2s;\n }\n\n .search-field:focus-within {\n border-color: #163052;\n box-shadow: 0 0 0 3px rgba(22, 48, 82, 0.1);\n }\n\n /* TODO: Uncomment when views dropdown is added\n .search-field:focus-within .views {\n border-color: #163052;\n }\n */\n\n .search-icon {\n position: absolute;\n left: 16px;\n width: 20px;\n height: 20px;\n color: #656871;\n pointer-events: none;\n }\n\n .search-input {\n height: 36px;\n padding: 0 16px 0 42px;\n border: none;\n border-radius: 16px;\n font-size: 14px;\n font-weight: 400;\n font-family: inherit;\n color: #163052;\n background: transparent;\n outline: none;\n flex: 1;\n min-width: 0;\n width: 100%;\n }\n\n .search-input::placeholder {\n color: #656871;\n font-weight: 400;\n }\n\n .search-input:focus {\n outline: none;\n }\n\n @container (max-width: 800px) {\n .search-field {\n max-width: 250px;\n }\n }\n\n .views {\n display: flex;\n align-items: center;\n gap: 4px;\n height: 36px;\n padding: 0 16px;\n border: 1px solid #00000038;\n border-right: none;\n border-radius: 16px 0 0 16px;\n font-size: 14px;\n font-family: inherit;\n color: #163052;\n background: transparent;\n cursor: pointer;\n white-space: nowrap;\n transition: border-color 0.2s;\n }\n\n .views:hover {\n background: #e8f0f8;\n }\n\n .views svg {\n width: 16px;\n height: 16px;\n color: #163052;\n }\n\n /* -------------------------------------------------------------------------\n * Pagination\n * ----------------------------------------------------------------------- */\n .tools {\n display: flex;\n align-items: center;\n gap: 8px;\n }\n\n .pagination {\n display: flex;\n align-items: center;\n gap: 2px;\n }\n\n .pagination-info {\n font-size: 13px;\n color: var(--kr-primary);\n white-space: nowrap;\n }\n\n .pagination-icon {\n display: flex;\n color: var(--kr-primary);\n cursor: pointer;\n }\n\n .pagination-icon--disabled {\n opacity: 0.3;\n pointer-events: none;\n }\n\n .pagination-icon svg {\n width: 24px;\n height: 24px;\n }\n\n /* -------------------------------------------------------------------------\n * Header Icons\n * ----------------------------------------------------------------------- */\n .refresh,\n .header-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--kr-primary);\n background: #EBF1FA;\n cursor: pointer;\n padding: 6px;\n border-radius: 50%;\n transition: background 0.15s;\n }\n\n .refresh:hover,\n .header-icon:hover {\n background: #e8f0f8;\n }\n\n .refresh svg,\n .header-icon svg {\n width: 24px;\n height: 24px;\n }\n\n /* -------------------------------------------------------------------------\n * Column Picker\n * ----------------------------------------------------------------------- */\n .column-picker-wrapper {\n position: relative;\n }\n\n .column-picker {\n position: absolute;\n top: 100%;\n right: 0;\n margin-top: 4px;\n min-width: 200px;\n max-height: calc(100vh - 120px);\n overflow-y: auto;\n background: white;\n border: 1px solid #9ba7b6;\n border-radius: 8px;\n box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);\n padding: 8px 0;\n z-index: 100;\n display: none;\n transform-origin: top;\n }\n\n .column-picker.open {\n display: block;\n animation: column-picker-fade-in 150ms ease-out;\n }\n\n @keyframes column-picker-fade-in {\n from {\n opacity: 0;\n transform: translateY(-4px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n }\n\n .column-picker-item {\n display: flex;\n align-items: center;\n gap: 10px;\n padding: 8px 16px;\n cursor: pointer;\n white-space: nowrap;\n }\n\n .column-picker-item:hover {\n background: #f3f4f6;\n }\n\n .column-picker-checkbox {\n width: 16px;\n height: 16px;\n border: 1.5px solid #9ca3af;\n border-radius: 3px;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n transition: all 0.15s;\n }\n\n .column-picker-checkbox.checked {\n background: var(--kr-primary);\n border-color: var(--kr-primary);\n }\n\n .column-picker-checkbox svg {\n width: 12px;\n height: 12px;\n color: white;\n opacity: 0;\n }\n\n .column-picker-checkbox.checked svg {\n opacity: 1;\n }\n\n .column-picker-label {\n font-size: 14px;\n color: #374151;\n }\n\n /* -------------------------------------------------------------------------\n * Table Structure\n * ----------------------------------------------------------------------- */\n .table {\n display: grid;\n width: max-content;\n min-width: 100%;\n font-size: 14px;\n }\n\n .row {\n display: contents;\n }\n\n .row:hover .cell {\n background: #f9fafb;\n }\n\n .row--clickable {\n cursor: pointer;\n }\n\n .row--link {\n color: inherit;\n text-decoration: none;\n }\n\n .header-row {\n display: contents;\n }\n\n .cell {\n height: 48px;\n padding: 0 16px;\n display: flex;\n align-items: center;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n box-sizing: border-box;\n border-right: 1px solid #e5e7ebba;\n }\n\n .cell--actions {\n gap: 8px;\n }\n\n .header-cell {\n position: sticky;\n top: 0;\n z-index: 2;\n height: 48px;\n line-height: 48px;\n padding: 0 16px;\n white-space: nowrap;\n box-sizing: border-box;\n background: #f9fafb;\n border-top: 1px solid #e5e7eb;\n border-bottom: 2px solid #e5e7eb;\n border-right: 1px solid #e5e7ebba;\n font-weight: 600;\n color: #374151;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .header-cell__resize {\n position: absolute;\n right: -7px;\n top: 0;\n bottom: 0;\n width: 14px;\n cursor: col-resize;\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 10;\n }\n\n .header-cell__resize::after {\n content: '';\n width: 2px;\n height: 20px;\n background: #c6c6cd;\n }\n\n .header-cell:last-child .header-cell__resize::after {\n display: none;\n }\n\n .cell {\n background: #fff;\n border-bottom: 1px solid #e5e7eb;\n color: #1f2937;\n }\n\n .cell--align-center {\n text-align: center;\n }\n\n .cell--align-right {\n text-align: right;\n }\n\n .cell--sticky-left,\n .cell--sticky-right {\n position: sticky;\n z-index: 1;\n }\n\n .header-cell--sticky-left,\n .header-cell--sticky-right {\n position: sticky;\n z-index: 3;\n }\n\n .header-cell--align-center {\n text-align: center;\n }\n\n .header-cell--align-right {\n text-align: right;\n }\n\n .header-cell--sticky-left-last,\n .cell--sticky-left-last {\n border-right: 1px solid #d1d5db;\n }\n\n .header-cell--sticky-right-first,\n .cell--sticky-right-first {\n border-left: 1px solid #d1d5db;\n }\n\n /* -------------------------------------------------------------------------\n * Scroll Mode: Edge\n * Padding scrolls with content, table can reach edges when scrolling\n * ----------------------------------------------------------------------- */\n :host(.kr-table--scroll-edge) .table {\n padding-left: 24px;\n }\n\n /* Only add right padding when no horizontal scroll is needed */\n :host(.kr-table--scroll-edge):not(.kr-table--scroll-horizontal-available) .table {\n padding-right: 24px;\n }\n\n :host(.kr-table--scroll-edge) .header-row .header-cell {\n border-top: 1px solid #e5e7eb;\n }\n\n /* -------------------------------------------------------------------------\n * Scroll Mode: Overlay\n * Fixed padding with overlay elements that hide content at edges\n * ----------------------------------------------------------------------- */\n :host(.kr-table--scroll-overlay) .content {\n padding-left: 24px;\n }\n\n .overlay-left,\n .overlay-right {\n display: none;\n position: absolute;\n top: 0;\n bottom: 0;\n width: 24px;\n z-index: 5;\n pointer-events: none;\n transition: box-shadow 0.15s ease;\n }\n\n :host(.kr-table--scroll-overlay) .overlay-left,\n :host(.kr-table--scroll-overlay) .overlay-right {\n display: block;\n }\n\n .overlay-left {\n left: 0;\n background: #fff;\n }\n\n .overlay-right {\n right: 0;\n background: #fff;\n }\n\n :host(.kr-table--scroll-overlay.kr-table--scroll-left-available:not(.kr-table--sticky-left)) .overlay-left {\n border-right: 1px solid #d1d5db54;\n }\n\n :host(.kr-table--scroll-overlay.kr-table--scroll-right-available:not(.kr-table--sticky-right)) .overlay-right {\n border-left: 1px solid #d1d5db54;\n }\n\n /* -------------------------------------------------------------------------\n * Status (Loading, Error, Empty)\n * ----------------------------------------------------------------------- */\n .status {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 14px;\n font-weight: 400;\n color: #5f6368;\n pointer-events: none;\n }\n\n .status--error {\n color: #dc2626;\n }\n\n /* -------------------------------------------------------------------------\n * Filter Row\n * ----------------------------------------------------------------------- */\n .filter-row {\n display: contents;\n }\n\n .filter-cell {\n position: sticky;\n top: 48px;\n z-index: 2;\n height: 40px;\n padding: 4px 8px;\n display: flex;\n align-items: center;\n background: #fafbfc;\n border-bottom: 1px solid #e5e7eb;\n border-right: 1px solid #e5e7ebba;\n box-sizing: border-box;\n }\n\n\n .filter-cell--sticky-left,\n .filter-cell--sticky-right {\n position: sticky;\n z-index: 3;\n }\n\n .filter-cell--sticky-right-first {\n border-left: 1px solid #d1d5db;\n }\n\n .filter-cell__wrapper {\n position: relative;\n display: flex;\n align-items: center;\n gap: 4px;\n width: 100%;\n }\n\n .filter-cell__input {\n width: 100%;\n height: 32px;\n padding: 0 52px 0 8px;\n border: 1px solid #d1d5db;\n border-radius: 6px;\n font-size: 14px;\n font-family: inherit;\n color: #111827;\n background: #fff;\n outline: none;\n transition: border-color 0.2s, box-shadow 0.2s;\n }\n\n .filter-cell__input:focus {\n border-color: #163052;\n box-shadow: 0 0 0 2px rgba(22, 48, 82, 0.1);\n }\n\n .filter-cell__input--invalid {\n border-color: #dc2626;\n }\n\n .filter-cell__input--invalid:focus {\n border-color: #dc2626;\n box-shadow: 0 0 0 2px rgba(220, 38, 38, 0.1);\n }\n\n .filter-cell__input::placeholder {\n color: #9ca3af;\n font-size: 13px;\n }\n\n .filter-cell__clear {\n position: absolute;\n right: 28px;\n top: 50%;\n transform: translateY(-50%);\n display: flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n padding: 0;\n border: none;\n border-radius: 4px;\n background: transparent;\n color: #6b7280;\n cursor: pointer;\n transition: background 0.15s, color 0.15s;\n }\n\n .filter-cell__clear:hover {\n background: #e5e7eb;\n color: #374151;\n }\n\n .filter-cell__clear svg {\n width: 16px;\n height: 16px;\n }\n\n .filter-cell__advanced {\n position: absolute;\n right: 4px;\n top: 50%;\n transform: translateY(-50%);\n display: flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n padding: 0;\n border: none;\n border-radius: 4px;\n background: transparent;\n color: #163052;\n cursor: pointer;\n transition: background 0.15s, color 0.15s;\n }\n\n .filter-cell__advanced:hover {\n background: #e5e7eb;\n }\n\n .filter-cell__advanced svg {\n width: 16px;\n height: 16px;\n }\n\n .filter-cell__advanced--opened {\n background: #163052;\n color: #fff;\n }\n\n .filter-cell__advanced--opened:hover {\n background: #1a3a5f;\n color: #fff;\n }\n\n /* -------------------------------------------------------------------------\n * Filter Panel (Advanced)\n * ----------------------------------------------------------------------- */\n .filter-panel {\n position: fixed;\n min-width: 320px;\n background: white;\n border: 1px solid #9ba7b6;\n border-radius: 8px;\n box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);\n z-index: 100;\n animation: filter-panel-fade-in 150ms ease-out;\n }\n\n @keyframes filter-panel-fade-in {\n from {\n opacity: 0;\n transform: translateY(-4px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n }\n\n .filter-panel__content {\n padding: 16px;\n display: flex;\n flex-direction: column;\n gap: 12px;\n }\n\n .filter-panel__actions {\n padding: 12px 16px;\n border-top: 1px solid #e5e7eb;\n display: flex;\n justify-content: flex-end;\n align-items: center;\n gap: 12px;\n }\n\n\n .filter-panel__input {\n width: 100%;\n padding: 10px 12px;\n border: 1px solid #d1d5db;\n border-radius: 8px;\n font-size: 14px;\n font-family: inherit;\n color: #111827;\n background: #fff;\n outline: none;\n transition: border-color 0.2s, box-shadow 0.2s;\n }\n\n .filter-panel__input:focus {\n border-color: #163052;\n box-shadow: 0 0 0 2px rgba(22, 48, 82, 0.1);\n }\n\n .filter-panel__input::placeholder {\n color: #9ca3af;\n }\n\n .filter-panel__textarea {\n width: 100%;\n padding: 10px 12px;\n border: 1px solid #d1d5db;\n border-radius: 8px;\n font-size: 14px;\n font-family: inherit;\n color: #111827;\n background: #fff;\n outline: none;\n resize: vertical;\n transition: border-color 0.2s, box-shadow 0.2s;\n }\n\n .filter-panel__textarea:focus {\n border-color: #163052;\n box-shadow: 0 0 0 2px rgba(22, 48, 82, 0.1);\n }\n\n .filter-panel__textarea::placeholder {\n color: #9ca3af;\n }\n\n /* -------------------------------------------------------------------------\n * Bucket List\n * ----------------------------------------------------------------------- */\n .buckets {\n max-height: 280px;\n overflow-y: auto;\n padding: 8px 0;\n }\n\n .bucket {\n display: flex;\n align-items: center;\n gap: 16px;\n height: 32px;\n padding: 0 16px;\n cursor: pointer;\n transition: background 0.1s;\n }\n\n .bucket:hover {\n background: #f3f4f6;\n }\n\n .bucket__checkbox {\n width: 16px;\n height: 16px;\n border: 1.5px solid #9ca3af;\n border-radius: 3px;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n transition: all 0.15s;\n }\n\n .bucket__checkbox--checked {\n background: var(--kr-primary, #163052);\n border-color: var(--kr-primary, #163052);\n }\n\n .bucket__checkbox svg {\n width: 12px;\n height: 12px;\n color: white;\n }\n\n .bucket__label {\n flex: 1;\n font-size: 14px;\n color: #000;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n .bucket__count {\n font-size: 14px;\n color: #000;\n flex-shrink: 0;\n }\n\n .bucket-empty {\n font-size: 14px;\n color: #000;\n padding: 16px;\n }\n\n `];\n__decorate([\n state()\n], KRTable.prototype, \"_data\", void 0);\n__decorate([\n state()\n], KRTable.prototype, \"_dataState\", void 0);\n__decorate([\n state()\n], KRTable.prototype, \"_page\", void 0);\n__decorate([\n state()\n], KRTable.prototype, \"_pageSize\", void 0);\n__decorate([\n state()\n], KRTable.prototype, \"_totalItems\", void 0);\n__decorate([\n state()\n], KRTable.prototype, \"_totalPages\", void 0);\n__decorate([\n state()\n], KRTable.prototype, \"_searchQuery\", void 0);\n__decorate([\n state()\n], KRTable.prototype, \"_canScrollLeft\", void 0);\n__decorate([\n state()\n], KRTable.prototype, \"_canScrollRight\", void 0);\n__decorate([\n state()\n], KRTable.prototype, \"_canScrollHorizontal\", void 0);\n__decorate([\n state()\n], KRTable.prototype, \"_columnPickerOpen\", void 0);\n__decorate([\n state()\n], KRTable.prototype, \"_filterPanelOpened\", void 0);\n__decorate([\n state()\n], KRTable.prototype, \"_filterPanelTab\", void 0);\n__decorate([\n state()\n], KRTable.prototype, \"_buckets\", void 0);\n__decorate([\n property({ type: Object })\n], KRTable.prototype, \"def\", void 0);\nKRTable = __decorate([\n customElement('kr-table')\n], KRTable);\nexport { KRTable };\n//# sourceMappingURL=table.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { LitElement, html, css } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\n/**\n * A circular loading indicator component that shows activity or ongoing processes.\n *\n * @example\n * ```html\n * <kr-spinner></kr-spinner>\n * <kr-spinner size=\"lg\"></kr-spinner>\n * <kr-spinner color=\"light\"></kr-spinner>\n * <kr-spinner color=\"#ff5500\"></kr-spinner>\n * ```\n */\nlet KRSpinner = class KRSpinner extends LitElement {\n constructor() {\n super(...arguments);\n /**\n * The size of the spinner. Can be 'sm', 'md', 'lg', 'xl', or any valid CSS size value (e.g., '100px', '2rem').\n */\n this.size = 'md';\n /**\n * The color of the spinner. Can be 'dark', 'light', or any valid CSS color value.\n */\n this.color = 'dark';\n }\n render() {\n var normalizedSize = '';\n var normalizedColor = '';\n if (this.size == 'sm') {\n normalizedSize = '16px';\n }\n else if (this.size == 'md') {\n normalizedSize = '24px';\n }\n else if (this.size == 'lg') {\n normalizedSize = '32px';\n }\n else if (this.size == 'xl') {\n normalizedSize = '48px';\n }\n else {\n normalizedSize = this.size;\n }\n if (this.color == 'dark') {\n normalizedColor = '#163052';\n }\n else if (this.color == 'light') {\n normalizedColor = '#ffffff';\n }\n else {\n normalizedColor = this.color;\n }\n return html `\n <svg\n class=\"spinner\"\n style=${`width: ${normalizedSize}; height: ${normalizedSize}; color: ${normalizedColor}`}\n viewBox=\"0 0 44 44\"\n role=\"status\"\n aria-label=\"Loading\"\n >\n <circle\n class=\"circle\"\n cx=\"22\"\n cy=\"22\"\n r=\"20\"\n fill=\"none\"\n stroke-width=\"4\"\n />\n </svg>\n `;\n }\n};\nKRSpinner.styles = css `\n :host {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n }\n\n .spinner {\n display: block;\n animation: spin 1.4s linear infinite;\n }\n\n .spinner .circle {\n animation: dash 1.4s ease-in-out infinite;\n stroke-dasharray: 80, 200;\n stroke-dashoffset: 0;\n }\n\n @keyframes spin {\n to {\n transform: rotate(360deg);\n }\n }\n\n @keyframes dash {\n 0% {\n stroke-dasharray: 1, 200;\n stroke-dashoffset: 0;\n }\n 50% {\n stroke-dasharray: 100, 200;\n stroke-dashoffset: -15;\n }\n 100% {\n stroke-dasharray: 100, 200;\n stroke-dashoffset: -125;\n }\n }\n\n .circle {\n stroke: currentColor;\n stroke-linecap: round;\n }\n `;\n__decorate([\n property({ type: String, reflect: true })\n], KRSpinner.prototype, \"size\", void 0);\n__decorate([\n property({ type: String, reflect: true })\n], KRSpinner.prototype, \"color\", void 0);\nKRSpinner = __decorate([\n customElement('kr-spinner')\n], KRSpinner);\nexport { KRSpinner };\n//# sourceMappingURL=spinner.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { LitElement, html, css } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\n/**\n * A linear loading indicator that shows activity or ongoing processes.\n *\n * @example\n * ```html\n * <kr-progress-bar></kr-progress-bar>\n * <kr-progress-bar color=\"light\"></kr-progress-bar>\n * <kr-progress-bar color=\"#ff5500\"></kr-progress-bar>\n * <kr-progress-bar color=\"#ff5500\" trackColor=\"#eeeeee\"></kr-progress-bar>\n * ```\n */\nlet KRProgressBar = class KRProgressBar extends LitElement {\n constructor() {\n super(...arguments);\n /**\n * The color of the progress bar. Can be 'dark', 'light', or any valid CSS color value.\n */\n this.color = 'dark';\n }\n render() {\n let normalizedColor = '';\n let normalizedTrackColor = '';\n if (this.color === 'dark') {\n normalizedColor = '#163052';\n }\n else if (this.color === 'light') {\n normalizedColor = '#ffffff';\n }\n else {\n normalizedColor = this.color;\n }\n if (this.trackColor) {\n normalizedTrackColor = this.trackColor;\n }\n else if (this.color === 'light') {\n normalizedTrackColor = '#ffffff4d';\n }\n else {\n normalizedTrackColor = '#0000001a';\n }\n return html `\n <div\n class=\"progress-bar\"\n style=${`background: ${normalizedTrackColor}`}\n role=\"status\"\n aria-label=\"Loading\"\n >\n <div class=\"fill\" style=${`background: ${normalizedColor}`}></div>\n </div>\n `;\n }\n};\nKRProgressBar.styles = css `\n :host {\n display: block;\n width: 100%;\n overflow: hidden;\n }\n\n .progress-bar {\n position: relative;\n height: 4px;\n border-radius: 2px;\n overflow: hidden;\n }\n\n /* Fill (primary indicator) */\n .fill {\n position: absolute;\n top: 0;\n height: 100%;\n width: 40%;\n border-radius: inherit;\n animation: indeterminate 1.5s ease-in-out infinite;\n }\n\n @keyframes indeterminate {\n 0% {\n left: -40%;\n }\n 100% {\n left: 100%;\n }\n }\n `;\n__decorate([\n property({ type: String, reflect: true })\n], KRProgressBar.prototype, \"color\", void 0);\n__decorate([\n property({ type: String, reflect: true })\n], KRProgressBar.prototype, \"trackColor\", void 0);\nKRProgressBar = __decorate([\n customElement('kr-progress-bar')\n], KRProgressBar);\nexport { KRProgressBar };\n//# sourceMappingURL=progress-bar.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar KRFilePreview_1;\nimport { LitElement, html, css, nothing } from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\nimport '../button/button.js';\n/**\n * A full-screen file preview overlay.\n *\n * Supports image files with zoom/pan, PDFs via iframe, and a download\n * fallback for other file types. Use the static `open()` method to show\n * the preview imperatively.\n *\n * @fires close - Fired when the preview is closed\n * @fires download - Fired when the download button is clicked. Detail: `{ src, name }`\n *\n * @example\n * ```ts\n * import { KRFilePreview } from '@kodaris/krubble-components/file-preview';\n *\n * KRFilePreview.open({ src: '/files/photo.png', name: 'photo.png' });\n * ```\n */\nlet KRFilePreview = KRFilePreview_1 = class KRFilePreview extends LitElement {\n constructor() {\n super(...arguments);\n this._zoom = 100;\n this._panX = 0;\n this._panY = 0;\n this._dragging = false;\n this._dragStartX = 0;\n this._dragStartY = 0;\n this._panStartX = 0;\n this._panStartY = 0;\n /** URL of the file to preview */\n this.src = '';\n /** Display name shown in the toolbar */\n this.name = '';\n this._zoomLevel = 100;\n this._textContent = null;\n this._handleKeydown = (e) => {\n if (e.key === 'Escape') {\n this._close();\n }\n };\n this._handleDragMove = (e) => {\n if (!this._dragging) {\n return;\n }\n this._panX = this._panStartX + (e.clientX - this._dragStartX);\n this._panY = this._panStartY + (e.clientY - this._dragStartY);\n this.requestUpdate();\n };\n this._handleDragEnd = () => {\n this._dragging = false;\n document.removeEventListener('mousemove', this._handleDragMove);\n document.removeEventListener('mouseup', this._handleDragEnd);\n };\n }\n /**\n * Open a file preview overlay.\n * @param options - The file source URL and display name\n * @returns The created file-preview element\n */\n static open(options) {\n if (this._activePreview) {\n this._activePreview._close();\n }\n const preview = document.createElement('kr-file-preview');\n preview.src = options.src;\n preview.name = options.name;\n document.body.appendChild(preview);\n this._activePreview = preview;\n return preview;\n }\n connectedCallback() {\n super.connectedCallback();\n document.addEventListener('keydown', this._handleKeydown);\n if (this._isText()) {\n this._loadTextContent();\n }\n }\n disconnectedCallback() {\n super.disconnectedCallback();\n document.removeEventListener('keydown', this._handleKeydown);\n }\n _close() {\n this.dispatchEvent(new CustomEvent('close', { bubbles: true, composed: true }));\n if (KRFilePreview_1._activePreview === this) {\n KRFilePreview_1._activePreview = null;\n }\n this.remove();\n }\n _handleDownload() {\n this.dispatchEvent(new CustomEvent('download', {\n bubbles: true,\n composed: true,\n detail: { src: this.src, name: this.name },\n }));\n }\n _handleZoomIn() {\n this._zoomLevel = Math.min(this._zoomLevel + 25, 300);\n if (this._zoomLevel <= 100) {\n this._panX = 0;\n this._panY = 0;\n }\n }\n _handleZoomOut() {\n this._zoomLevel = Math.max(this._zoomLevel - 25, 25);\n if (this._zoomLevel <= 100) {\n this._panX = 0;\n this._panY = 0;\n }\n }\n _handleZoomReset() {\n this._zoomLevel = 100;\n this._panX = 0;\n this._panY = 0;\n }\n _handleDragStart(e) {\n if (this._zoomLevel <= 100) {\n return;\n }\n e.preventDefault();\n this._dragging = true;\n this._dragStartX = e.clientX;\n this._dragStartY = e.clientY;\n this._panStartX = this._panX;\n this._panStartY = this._panY;\n document.addEventListener('mousemove', this._handleDragMove);\n document.addEventListener('mouseup', this._handleDragEnd);\n }\n _handleBackdropClick(e) {\n if (e.target === e.currentTarget) {\n this._close();\n }\n }\n _getExtension() {\n return (this.name || '').split('.').pop()?.toLowerCase() || '';\n }\n _isImage() {\n return ['jpg', 'jpeg', 'png', 'gif', 'webp', 'svg', 'bmp'].includes(this._getExtension());\n }\n _isPdf() {\n return this._getExtension() === 'pdf';\n }\n _isText() {\n return ['csv', 'txt', 'json', 'xml', 'log', 'md', 'yml', 'yaml', 'ini', 'cfg', 'conf', 'env', 'sh', 'bat'].includes(this._getExtension());\n }\n _isCsv() {\n return this._getExtension() === 'csv';\n }\n _loadTextContent() {\n fetch(this.src)\n .then(response => response.text())\n .then(text => {\n if (this._isCsv()) {\n this._textContent = this._formatCsv(text);\n }\n else {\n this._textContent = text;\n }\n })\n .catch(() => {\n this._textContent = 'Failed to load file content.';\n });\n }\n _formatCsv(text) {\n const lines = text.trim().split('\\n');\n if (!lines.length) {\n return text;\n }\n const rows = lines.map(line => line.split(',').map(cell => cell.trim()));\n const colCount = Math.max(...rows.map(row => row.length));\n // Find max width per column\n const colWidths = [];\n for (let c = 0; c < colCount; c++) {\n let max = 0;\n for (const row of rows) {\n const len = (row[c] || '').length;\n if (len > max) {\n max = len;\n }\n }\n colWidths.push(max);\n }\n // Pad each cell and join\n return rows.map(row => {\n return row.map((cell, i) => cell.padEnd(colWidths[i] || 0)).join(' ');\n }).join('\\n');\n }\n _getFallbackIconClass(ext) {\n if (['doc', 'docx', 'rtf', 'txt'].includes(ext)) {\n return 'fallback__icon--doc';\n }\n if (['xls', 'xlsx', 'csv'].includes(ext)) {\n return 'fallback__icon--xls';\n }\n if (['zip', 'rar', '7z', 'gz', 'tar'].includes(ext)) {\n return 'fallback__icon--zip';\n }\n return 'fallback__icon--default';\n }\n _getFallbackIcon(ext) {\n if (['doc', 'docx', 'rtf', 'txt'].includes(ext)) {\n return html `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M14 2H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V8l-6-6zM6 20V4h7v5h5v11H6zm2-6h8v2H8v-2zm0-4h8v2H8v-2zm0 8h5v2H8v-2z\"/></svg>`;\n }\n if (['xls', 'xlsx', 'csv'].includes(ext)) {\n return html `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 2v3H5V5h14zm0 5v4H5v-4h14zM5 19v-3h14v3H5zm2-8h4v2H7v-2zm0 5h4v2H7v-2z\"/></svg>`;\n }\n if (['zip', 'rar', '7z', 'gz', 'tar'].includes(ext)) {\n return html `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M20 6h-8l-2-2H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2zm0 12H4V6h5.17l2 2H20v10zm-8-4h2v2h-2v-2zm0-4h2v2h-2v-2zm-2 2h2v2h-2v-2z\"/></svg>`;\n }\n return html `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M14 2H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V8l-6-6zm4 18H6V4h7v5h5v11z\"/></svg>`;\n }\n render() {\n let content;\n if (this._isImage()) {\n const scale = this._zoomLevel / 100;\n const translateX = this._panX / scale;\n const translateY = this._panY / scale;\n const cursor = this._zoomLevel > 100 ? 'grab' : 'default';\n content = html `<img\n class=\"body__image\"\n src=\"${this.src}\"\n alt=\"${this.name}\"\n style=\"transform: scale(${scale}) translate(${translateX}px, ${translateY}px); cursor: ${cursor}\"\n @mousedown=${this._handleDragStart}\n />`;\n }\n else if (this._isPdf()) {\n content = html `<iframe class=\"body__iframe\" src=\"${this.src}\"></iframe>`;\n }\n else if (this._isText()) {\n if (this._textContent === null) {\n content = html `<div class=\"body__text-loading\">Loading...</div>`;\n }\n else {\n content = html `<pre class=\"body__text\">${this._textContent}</pre>`;\n }\n }\n else {\n const ext = this._getExtension();\n content = html `\n <div class=\"fallback\">\n <div class=\"fallback__icon ${this._getFallbackIconClass(ext)}\">\n ${this._getFallbackIcon(ext)}\n </div>\n <div class=\"fallback__name\">${this.name}</div>\n <div class=\"fallback__hint\">No preview available for this file type</div>\n <kr-button color=\"primary\" @click=${this._handleDownload}>\n <svg class=\"fallback__btn\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 9h-4V3H9v6H5l7 7 7-7zm-8 2V5h2v6h1.17L12 13.17 9.83 11H11zm-6 7h14v2H5v-2z\"/></svg>\n Download\n </kr-button>\n </div>\n `;\n }\n return html `\n <div class=\"toolbar\">\n <div class=\"toolbar__name\">${this.name}</div>\n <div class=\"toolbar__controls\">\n ${this._isImage() ? html `\n <button class=\"toolbar__btn\" @click=${this._handleZoomOut} title=\"Zoom out\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14zM7 9h5v1H7V9z\"/></svg>\n </button>\n <div class=\"toolbar__zoom-label\" @click=${this._handleZoomReset}>${this._zoomLevel}%</div>\n <button class=\"toolbar__btn\" @click=${this._handleZoomIn} title=\"Zoom in\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14zm-2-5h2V7h1v2h2v1h-2v2H9v-2H7V9z\"/></svg>\n </button>\n <div class=\"toolbar__separator\"></div>\n ` : nothing}\n <button class=\"toolbar__btn\" @click=${this._handleDownload} title=\"Download\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 9h-4V3H9v6H5l7 7 7-7zm-8 2V5h2v6h1.17L12 13.17 9.83 11H11zm-6 7h14v2H5v-2z\"/></svg>\n </button>\n <button class=\"toolbar__btn\" @click=${() => this._close()} title=\"Close\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"/></svg>\n </button>\n </div>\n </div>\n <div class=\"body\" @click=${this._handleBackdropClick}>\n ${content}\n </div>\n `;\n }\n};\nKRFilePreview.styles = css `\n *,\n *::after,\n *::before,\n :host {\n box-sizing: border-box;\n }\n\n :host {\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background: rgba(0, 0, 0, 0.85);\n display: flex;\n flex-direction: column;\n z-index: 10000;\n }\n\n .toolbar {\n display: flex;\n align-items: center;\n height: 56px;\n padding: 0 24px;\n flex-shrink: 0;\n }\n\n .toolbar__name {\n color: white;\n font-size: 16px;\n font-weight: 500;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n margin-right: auto;\n }\n\n .toolbar__controls {\n display: flex;\n align-items: center;\n gap: 4px;\n }\n\n .toolbar__btn {\n width: 40px;\n height: 40px;\n border: none;\n border-radius: 50%;\n background: transparent;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 0;\n }\n\n .toolbar__btn:hover {\n background: rgba(255, 255, 255, 0.15);\n }\n\n .toolbar__btn svg {\n width: 24px;\n height: 24px;\n fill: white;\n }\n\n .toolbar__zoom-label {\n color: white;\n font-size: 13px;\n min-width: 40px;\n text-align: center;\n user-select: none;\n cursor: pointer;\n }\n\n .toolbar__separator {\n width: 1px;\n height: 24px;\n background: rgba(255, 255, 255, 0.25);\n margin: 0 8px;\n }\n\n .body {\n flex: 1;\n overflow: auto;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 0 36px 36px 36px;\n }\n\n .body__image {\n max-width: 100%;\n max-height: 100%;\n object-fit: contain;\n transition: transform 0.15s ease;\n transform-origin: center center;\n }\n\n .body__iframe {\n width: 80vw;\n height: 100%;\n border: 1px solid #5e5e5e;\n border-radius: 4px;\n background: white;\n }\n\n .body__text {\n width: 80vw;\n max-height: 100%;\n overflow: auto;\n background: white;\n color: #000;\n border-radius: 4px;\n padding: 24px;\n font-family: monospace;\n font-size: 14px;\n line-height: 1.6;\n white-space: pre;\n margin: 0;\n tab-size: 4;\n }\n\n .body__text-loading {\n color: #888;\n font-style: italic;\n font-family: 'Inter', sans-serif;\n font-size: 14px;\n }\n\n .fallback {\n background: white;\n border-radius: 12px;\n padding: 48px 64px;\n text-align: center;\n color: #000;\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 12px;\n }\n\n .fallback__icon {\n width: 72px;\n height: 72px;\n border-radius: 12px;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n .fallback__icon svg {\n width: 36px;\n height: 36px;\n }\n\n .fallback__icon--doc { background: #dbeafe; color: #2563eb; }\n .fallback__icon--xls { background: #d1fae5; color: #16a34a; }\n .fallback__icon--zip { background: #fef3c7; color: #b45309; }\n .fallback__icon--default { background: #f4f5f7; color: #555; }\n\n .fallback__name {\n font-size: 18px;\n font-weight: 600;\n max-width: 320px;\n word-break: break-all;\n }\n\n .fallback__hint {\n font-size: 14px;\n color: black;\n margin-bottom: 6px;\n }\n\n .fallback__btn svg {\n width: 18px;\n height: 18px;\n fill: currentColor;\n }\n `;\nKRFilePreview._activePreview = null;\n__decorate([\n property({ type: String })\n], KRFilePreview.prototype, \"src\", void 0);\n__decorate([\n property({ type: String })\n], KRFilePreview.prototype, \"name\", void 0);\n__decorate([\n state()\n], KRFilePreview.prototype, \"_zoomLevel\", void 0);\n__decorate([\n state()\n], KRFilePreview.prototype, \"_textContent\", void 0);\nKRFilePreview = KRFilePreview_1 = __decorate([\n customElement('kr-file-preview')\n], KRFilePreview);\nexport { KRFilePreview };\n//# sourceMappingURL=file-preview.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { LitElement, html, css } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { KRFilePreview } from '../file-preview/file-preview.js';\n/**\n * A file list component that displays files with extension-based icons,\n * download/delete actions, and built-in file preview.\n *\n * Clicking a file name opens a full-screen preview via `KRFilePreview.open()`.\n *\n * @fires file-click - Fired when a file name is clicked. Detail: `{ file }`\n * @fires download - Fired when the download icon is clicked. Detail: `{ file }`\n * @fires delete - Fired when the delete icon is clicked. Detail: `{ file }`\n *\n * @example\n * ```ts\n * import '@kodaris/krubble-components/file-list';\n *\n * const list = document.querySelector('kr-file-list');\n * list.files = [\n * { name: 'photo.png', url: '/files/photo.png', date: '2024-01-15' },\n * { name: 'report.pdf', url: '/files/report.pdf', date: '2024-01-10' },\n * ];\n * ```\n */\nlet KRFileList = class KRFileList extends LitElement {\n constructor() {\n super(...arguments);\n /** Array of file objects to display */\n this.files = [];\n /** Message displayed when the file list is empty */\n this.emptyMessage = 'No files';\n }\n _handleFileClick(file) {\n this.dispatchEvent(new CustomEvent('file-click', {\n bubbles: true,\n composed: true,\n detail: { file },\n }));\n if (file.url) {\n const preview = KRFilePreview.open({ src: file.url, name: file.name });\n preview.addEventListener('download', () => {\n this._handleDownload(file);\n });\n }\n }\n _handleDownload(file) {\n this.dispatchEvent(new CustomEvent('download', {\n bubbles: true,\n composed: true,\n detail: { file },\n }));\n }\n _handleDelete(file) {\n this.dispatchEvent(new CustomEvent('delete', {\n bubbles: true,\n composed: true,\n detail: { file },\n }));\n }\n _getExtension(name) {\n return name.split('.').pop()?.toLowerCase() || '';\n }\n _getExtClass(ext) {\n if (['pdf'].includes(ext)) {\n return 'file-list__ext--pdf';\n }\n if (['doc', 'docx', 'rtf', 'txt'].includes(ext)) {\n return 'file-list__ext--doc';\n }\n if (['xls', 'xlsx', 'csv'].includes(ext)) {\n return 'file-list__ext--xls';\n }\n if (['zip', 'rar', '7z', 'gz', 'tar'].includes(ext)) {\n return 'file-list__ext--zip';\n }\n if (['jpg', 'jpeg', 'png', 'gif', 'webp', 'svg', 'bmp'].includes(ext)) {\n return 'file-list__ext--img';\n }\n return 'file-list__ext--default';\n }\n _getExtIcon(ext) {\n if (['jpg', 'jpeg', 'png', 'gif', 'webp', 'svg', 'bmp'].includes(ext)) {\n return html `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-4.86 8.86-3 3.87L9 13.14 6 17h12l-3.86-5.14z\"/></svg>`;\n }\n if (['pdf'].includes(ext)) {\n return html `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M20 2H8c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm-8.5 7.5c0 .83-.67 1.5-1.5 1.5H9v2H7.5V7H10c.83 0 1.5.67 1.5 1.5v1zm5 2c0 .83-.67 1.5-1.5 1.5h-2.5V7H15c.83 0 1.5.67 1.5 1.5v3zm4-3H19v1h1.5V11H19v2h-1.5V7h3v1.5zM9 9.5h1v-1H9v1zM4 6H2v14c0 1.1.9 2 2 2h14v-2H4V6zm10 5.5h1v-3h-1v3z\"/></svg>`;\n }\n if (['doc', 'docx', 'rtf', 'txt'].includes(ext)) {\n return html `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M14 2H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V8l-6-6zM6 20V4h7v5h5v11H6zm2-6h8v2H8v-2zm0-4h8v2H8v-2zm0 8h5v2H8v-2z\"/></svg>`;\n }\n if (['xls', 'xlsx', 'csv'].includes(ext)) {\n return html `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 2v3H5V5h14zm0 5v4H5v-4h14zM5 19v-3h14v3H5zm2-8h4v2H7v-2zm0 5h4v2H7v-2z\"/></svg>`;\n }\n if (['zip', 'rar', '7z', 'gz', 'tar'].includes(ext)) {\n return html `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M20 6h-8l-2-2H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2zm0 12H4V6h5.17l2 2H20v10zm-8-4h2v2h-2v-2zm0-4h2v2h-2v-2zm-2 2h2v2h-2v-2z\"/></svg>`;\n }\n return html `<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M14 2H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V8l-6-6zm4 18H6V4h7v5h5v11z\"/></svg>`;\n }\n render() {\n if (!this.files.length) {\n return html `<div class=\"file-list__empty\">${this.emptyMessage}</div>`;\n }\n return html `\n <div class=\"file-list\">\n ${this.files.map(file => {\n const ext = this._getExtension(file.name);\n const metaText = file.meta || file.date || '';\n return html `\n <div class=\"file-list__item\">\n <div class=\"file-list__ext ${this._getExtClass(ext)}\">${this._getExtIcon(ext)}</div>\n <div class=\"file-list__info\">\n <a class=\"file-list__name\" @click=${() => this._handleFileClick(file)}>${file.name}</a>\n ${metaText ? html `<div class=\"file-list__meta\">${metaText}</div>` : ''}\n </div>\n <div class=\"file-list__actions\">\n <svg class=\"file-list__action\" @click=${() => this._handleDownload(file)} xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" title=\"Download\"><path d=\"M19 9h-4V3H9v6H5l7 7 7-7zm-8 2V5h2v6h1.17L12 13.17 9.83 11H11zm-6 7h14v2H5v-2z\"/></svg>\n <svg class=\"file-list__action file-list__action--delete\" @click=${() => this._handleDelete(file)} xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" title=\"Delete\"><path d=\"M16 9v10H8V9h8m-1.5-6h-5l-1 1H5v2h14V4h-3.5l-1-1zM18 7H6v12c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7z\"/></svg>\n </div>\n </div>\n `;\n })}\n </div>\n `;\n }\n};\nKRFileList.styles = css `\n *,\n *::after,\n *::before,\n :host {\n box-sizing: border-box;\n }\n\n :host {\n display: block;\n }\n\n .file-list {\n display: flex;\n flex-direction: column;\n }\n\n .file-list__item {\n display: flex;\n align-items: center;\n gap: 16px;\n padding: 16px 20px;\n background: white;\n transition: background 0.15s;\n }\n\n .file-list__item:not(:last-child) {\n border-bottom: 1px solid #eeeff1;\n }\n\n .file-list__item:hover {\n background: #f8f9fa;\n }\n\n .file-list__ext {\n width: 36px;\n height: 36px;\n flex-shrink: 0;\n border-radius: 6px;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 11px;\n font-weight: 700;\n text-transform: uppercase;\n letter-spacing: 0.3px;\n }\n\n .file-list__ext svg {\n width: 20px;\n height: 20px;\n }\n\n .file-list__ext--img { background: #fde8e8; color: #d93025; }\n .file-list__ext--pdf { background: #fde8e8; color: #c0392b; }\n .file-list__ext--doc { background: #dbeafe; color: #2563eb; }\n .file-list__ext--xls { background: #d1fae5; color: #16a34a; }\n .file-list__ext--zip { background: #fef3c7; color: #b45309; }\n .file-list__ext--default { background: #f4f5f7; color: #555; }\n\n .file-list__info {\n flex: 1;\n min-width: 0;\n }\n\n .file-list__name {\n font-weight: 500;\n color: #000;\n text-decoration: none;\n cursor: pointer;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n display: block;\n font-size: 14px;\n }\n\n .file-list__name:hover {\n color: #000;\n text-decoration: underline;\n }\n\n .file-list__meta {\n font-size: 13px;\n color: #000;\n margin-top: 6px;\n }\n\n .file-list__actions {\n display: flex;\n align-items: center;\n gap: 12px;\n flex-shrink: 0;\n }\n\n .file-list__action {\n width: 24px;\n height: 24px;\n fill: #666;\n cursor: pointer;\n transition: fill 0.15s;\n }\n\n .file-list__action:hover {\n fill: #000;\n }\n\n\n .file-list__empty {\n color: #000;\n font-size: 14px;\n font-style: italic;\n padding: 20px;\n }\n `;\n__decorate([\n property({ type: Array })\n], KRFileList.prototype, \"files\", void 0);\n__decorate([\n property({ type: String, attribute: 'empty-message' })\n], KRFileList.prototype, \"emptyMessage\", void 0);\nKRFileList = __decorate([\n customElement('kr-file-list')\n], KRFileList);\nexport { KRFileList };\n//# sourceMappingURL=file-list.js.map","import{nothing as t}from\"../lit-html.js\";\n/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const o=o=>o??t;export{o as ifDefined};\n//# sourceMappingURL=if-defined.js.map\n","import{_$LH as o}from\"./lit-html.js\";\n/**\n * @license\n * Copyright 2020 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const{I:t}=o,i=o=>o,n=o=>null===o||\"object\"!=typeof o&&\"function\"!=typeof o,e={HTML:1,SVG:2,MATHML:3},l=(o,t)=>void 0===t?void 0!==o?._$litType$:o?._$litType$===t,d=o=>null!=o?._$litType$?.h,c=o=>void 0!==o?._$litDirective$,f=o=>o?._$litDirective$,r=o=>void 0===o.strings,s=()=>document.createComment(\"\"),v=(o,n,e)=>{const l=o._$AA.parentNode,d=void 0===n?o._$AB:n._$AA;if(void 0===e){const i=l.insertBefore(s(),d),n=l.insertBefore(s(),d);e=new t(i,n,o,o.options)}else{const t=e._$AB.nextSibling,n=e._$AM,c=n!==o;if(c){let t;e._$AQ?.(o),e._$AM=o,void 0!==e._$AP&&(t=o._$AU)!==n._$AU&&e._$AP(t)}if(t!==d||c){let o=e._$AA;for(;o!==t;){const t=i(o).nextSibling;i(l).insertBefore(o,d),o=t}}}return e},u=(o,t,i=o)=>(o._$AI(t,i),o),m={},p=(o,t=m)=>o._$AH=t,M=o=>o._$AH,h=o=>{o._$AR(),o._$AA.remove()},j=o=>{o._$AR()};export{e as TemplateResultType,j as clearPart,M as getCommittedValue,f as getDirectiveClass,v as insertPart,d as isCompiledTemplateResult,c as isDirectiveResult,n as isPrimitive,r as isSingleExpression,l as isTemplateResult,h as removePart,u as setChildPartValue,p as setCommittedValue};\n//# sourceMappingURL=directive-helpers.js.map\n","import{noChange as r,nothing as e}from\"../lit-html.js\";import{directive as i,Directive as t,PartType as n}from\"../directive.js\";import{isSingleExpression as o,setCommittedValue as s}from\"../directive-helpers.js\";\n/**\n * @license\n * Copyright 2020 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const l=i(class extends t{constructor(r){if(super(r),r.type!==n.PROPERTY&&r.type!==n.ATTRIBUTE&&r.type!==n.BOOLEAN_ATTRIBUTE)throw Error(\"The `live` directive is not allowed on child or event bindings\");if(!o(r))throw Error(\"`live` bindings can only contain a single expression\")}render(r){return r}update(i,[t]){if(t===r||t===e)return t;const o=i.element,l=i.name;if(i.type===n.PROPERTY){if(t===o[l])return r}else if(i.type===n.BOOLEAN_ATTRIBUTE){if(!!t===o.hasAttribute(l))return r}else if(i.type===n.ATTRIBUTE&&o.getAttribute(l)===t+\"\")return r;return s(i),t}});export{l as live};\n//# sourceMappingURL=live.js.map\n","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { LitElement, html, css } from 'lit';\nimport { customElement, property, query, state } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { live } from 'lit/directives/live.js';\n/**\n * A text field component that works with native browser forms.\n *\n * Uses ElementInternals for form association, allowing the component\n * to participate in form submission, validation, and reset.\n *\n * Native input and change events bubble up from the inner input element.\n */\nlet KRTextField = class KRTextField extends LitElement {\n constructor() {\n super();\n /**\n * The input label text\n */\n this.label = '';\n /**\n * The input name for form submission\n */\n this.name = '';\n /**\n * The current value\n */\n this.value = '';\n /**\n * Placeholder text\n */\n this.placeholder = '';\n /**\n * Input type (text, email, password, tel, url, search)\n */\n this.type = 'text';\n /**\n * Whether the field is required\n */\n this.required = false;\n /**\n * Whether the field is disabled\n */\n this.disabled = false;\n /**\n * Whether the field is readonly\n */\n this.readonly = false;\n /**\n * Autocomplete attribute value\n */\n this.autocomplete = '';\n /**\n * Helper text shown below the input\n */\n this.hint = '';\n this._touched = false;\n this._dirty = false;\n this._handleInvalid = (e) => {\n e.preventDefault();\n this._touched = true;\n };\n this._internals = this.attachInternals();\n }\n // Form-associated custom element callbacks\n get form() {\n return this._internals.form;\n }\n get validity() {\n return this._internals.validity;\n }\n get validationMessage() {\n return this._internals.validationMessage;\n }\n get willValidate() {\n return this._internals.willValidate;\n }\n checkValidity() {\n return this._internals.checkValidity();\n }\n reportValidity() {\n return this._internals.reportValidity();\n }\n formResetCallback() {\n this.value = '';\n this._touched = false;\n this._dirty = false;\n this._internals.setFormValue('');\n this._internals.setValidity({});\n }\n formStateRestoreCallback(state) {\n this.value = state;\n }\n connectedCallback() {\n super.connectedCallback();\n this.addEventListener('invalid', this._handleInvalid);\n }\n disconnectedCallback() {\n super.disconnectedCallback();\n this.removeEventListener('invalid', this._handleInvalid);\n }\n firstUpdated() {\n this._updateValidity();\n }\n updated(changedProperties) {\n if (changedProperties.has('required') || changedProperties.has('value')) {\n this._updateValidity();\n }\n }\n _updateValidity() {\n if (this._input) {\n this._internals.setValidity(this._input.validity, this._input.validationMessage);\n }\n }\n _handleInput(e) {\n this.value = e.target.value;\n this._dirty = true;\n this._internals.setFormValue(this.value);\n this._internals.setValidity(this._input.validity, this._input.validationMessage);\n }\n _handleChange(e) {\n this.value = e.target.value;\n this._internals.setFormValue(this.value);\n }\n _handleBlur() {\n this._touched = true;\n this._internals.setValidity(this._input.validity, this._input.validationMessage);\n }\n render() {\n let validationMessage = '';\n if (this._touched && this._input && !this._input.validity.valid) {\n validationMessage = this._input.validationMessage;\n }\n return html `\n <div class=\"wrapper\">\n ${this.label\n ? html `\n <label for=\"input\">\n ${this.label}\n ${this.required ? html `<span class=\"required\" aria-hidden=\"true\">*</span>` : ''}\n </label>\n `\n : ''}\n <input\n id=\"input\"\n class=${classMap({\n 'input--invalid': this._touched && this._input && !this._input.validity.valid\n })}\n type=${this.type}\n name=${this.name}\n .value=${live(this.value)}\n placeholder=${this.placeholder}\n ?required=${this.required}\n ?disabled=${this.disabled}\n ?readonly=${this.readonly}\n minlength=${ifDefined(this.minlength)}\n maxlength=${ifDefined(this.maxlength)}\n pattern=${ifDefined(this.pattern)}\n autocomplete=${ifDefined(this.autocomplete || undefined)}\n @input=${this._handleInput}\n @change=${this._handleChange}\n @blur=${this._handleBlur}\n />\n ${validationMessage\n ? html `<div class=\"validation-message\">${validationMessage}</div>`\n : this.hint\n ? html `<div class=\"hint\">${this.hint}</div>`\n : ''}\n </div>\n `;\n }\n // Public methods for programmatic control\n focus() {\n this._input?.focus();\n }\n blur() {\n this._input?.blur();\n }\n select() {\n this._input?.select();\n }\n};\nKRTextField.styles = css `\n :host {\n display: block;\n font-family: inherit;\n }\n\n .wrapper {\n display: flex;\n flex-direction: column;\n gap: 6px;\n }\n\n label {\n font-size: 14px;\n font-weight: 500;\n color: black;\n }\n\n .required {\n color: var(--kr-text-field-required-color, #ef4444);\n margin-left: 0.125rem;\n }\n\n input {\n font-family: inherit;\n font-size: 14px;\n padding: 10px 12px;\n border: 1px solid var(--kr-text-field-border-color, #0000003d);\n border-radius: 8px;\n background-color: var(--kr-text-field-bg, #fff);\n color: var(--kr-text-field-color, #111827);\n transition: border-color 0.2s, box-shadow 0.2s;\n }\n\n input:focus {\n outline: none;\n border-color: var(--kr-text-field-focus-border-color, #163052);\n box-shadow: 0 0 0 3px var(--kr-text-field-focus-ring-color, rgba(22, 48, 82, 0.1));\n }\n\n input:disabled {\n background-color: var(--kr-text-field-disabled-bg, #f3f4f6);\n color: var(--kr-text-field-disabled-color, #9ca3af);\n cursor: not-allowed;\n }\n\n input::placeholder {\n color: var(--kr-text-field-placeholder-color, #9ca3af);\n }\n\n input.input--invalid {\n border-color: var(--kr-text-field-error-border-color, #ef4444);\n }\n\n input.input--invalid:focus {\n box-shadow: 0 0 0 3px var(--kr-text-field-error-ring-color, rgba(239, 68, 68, 0.1));\n }\n\n .validation-message {\n font-size: 0.75rem;\n color: var(--kr-text-field-error-color, #ef4444);\n }\n\n .hint {\n font-size: 0.75rem;\n color: var(--kr-text-field-helper-color, #6b7280);\n }\n `;\n// Enable form association\nKRTextField.formAssociated = true;\n__decorate([\n property({ type: String })\n], KRTextField.prototype, \"label\", void 0);\n__decorate([\n property({ type: String })\n], KRTextField.prototype, \"name\", void 0);\n__decorate([\n property({ type: String })\n], KRTextField.prototype, \"value\", void 0);\n__decorate([\n property({ type: String })\n], KRTextField.prototype, \"placeholder\", void 0);\n__decorate([\n property({ type: String })\n], KRTextField.prototype, \"type\", void 0);\n__decorate([\n property({ type: Boolean })\n], KRTextField.prototype, \"required\", void 0);\n__decorate([\n property({ type: Boolean })\n], KRTextField.prototype, \"disabled\", void 0);\n__decorate([\n property({ type: Boolean })\n], KRTextField.prototype, \"readonly\", void 0);\n__decorate([\n property({ type: Number })\n], KRTextField.prototype, \"minlength\", void 0);\n__decorate([\n property({ type: Number })\n], KRTextField.prototype, \"maxlength\", void 0);\n__decorate([\n property({ type: String })\n], KRTextField.prototype, \"pattern\", void 0);\n__decorate([\n property({ type: String })\n], KRTextField.prototype, \"autocomplete\", void 0);\n__decorate([\n property({ type: String })\n], KRTextField.prototype, \"hint\", void 0);\n__decorate([\n query('input')\n], KRTextField.prototype, \"_input\", void 0);\n__decorate([\n state()\n], KRTextField.prototype, \"_touched\", void 0);\n__decorate([\n state()\n], KRTextField.prototype, \"_dirty\", void 0);\nKRTextField = __decorate([\n customElement('kr-text-field')\n], KRTextField);\nexport { KRTextField };\n//# sourceMappingURL=text-field.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { LitElement, html, css, nothing } from 'lit';\nimport { customElement, property, query, state } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { live } from 'lit/directives/live.js';\n/**\n * A textarea component that works with native browser forms.\n *\n * Uses ElementInternals for form association, allowing the component\n * to participate in form submission, validation, and reset.\n *\n * Native input and change events bubble up from the inner textarea element.\n *\n * @element kr-textarea-field\n */\nlet KRTextareaField = class KRTextareaField extends LitElement {\n constructor() {\n super();\n /**\n * The textarea label text\n */\n this.label = '';\n /**\n * The textarea name for form submission\n */\n this.name = '';\n /**\n * The current value\n */\n this.value = '';\n /**\n * Placeholder text\n */\n this.placeholder = '';\n /**\n * Whether the field is required\n */\n this.required = false;\n /**\n * Whether the field is disabled\n */\n this.disabled = false;\n /**\n * Whether the field is readonly\n */\n this.readonly = false;\n /**\n * Number of visible text lines\n */\n this.rows = 3;\n /**\n * Autocomplete attribute value\n */\n this.autocomplete = '';\n /**\n * Helper text shown below the textarea\n */\n this.hint = '';\n this._touched = false;\n this._dirty = false;\n this._handleInvalid = (e) => {\n e.preventDefault();\n this._touched = true;\n };\n this._internals = this.attachInternals();\n }\n // Form-associated custom element callbacks\n get form() {\n return this._internals.form;\n }\n get validity() {\n return this._internals.validity;\n }\n get validationMessage() {\n return this._internals.validationMessage;\n }\n get willValidate() {\n return this._internals.willValidate;\n }\n checkValidity() {\n return this._internals.checkValidity();\n }\n reportValidity() {\n return this._internals.reportValidity();\n }\n formResetCallback() {\n this.value = '';\n this._touched = false;\n this._dirty = false;\n this._internals.setFormValue('');\n this._internals.setValidity({});\n }\n formStateRestoreCallback(state) {\n this.value = state;\n }\n connectedCallback() {\n super.connectedCallback();\n this.addEventListener('invalid', this._handleInvalid);\n }\n disconnectedCallback() {\n super.disconnectedCallback();\n this.removeEventListener('invalid', this._handleInvalid);\n }\n firstUpdated() {\n this._updateValidity();\n }\n updated(changedProperties) {\n if (changedProperties.has('required') || changedProperties.has('value')) {\n this._updateValidity();\n }\n }\n _updateValidity() {\n if (this._textarea) {\n this._internals.setValidity(this._textarea.validity, this._textarea.validationMessage);\n }\n }\n _handleInput(e) {\n this.value = e.target.value;\n this._dirty = true;\n this._internals.setFormValue(this.value);\n this._internals.setValidity(this._textarea.validity, this._textarea.validationMessage);\n }\n _handleChange(e) {\n this.value = e.target.value;\n this._internals.setFormValue(this.value);\n }\n _handleBlur() {\n this._touched = true;\n this._internals.setValidity(this._textarea.validity, this._textarea.validationMessage);\n }\n render() {\n let validationMessage = '';\n if (this._touched && this._textarea && !this._textarea.validity.valid) {\n validationMessage = this._textarea.validationMessage;\n }\n return html `\n <div class=\"wrapper\">\n ${this.label\n ? html `\n <label for=\"textarea\">\n ${this.label}\n ${this.required ? html `<span class=\"required\" aria-hidden=\"true\">*</span>` : nothing}\n </label>\n `\n : nothing}\n <textarea\n id=\"textarea\"\n class=${classMap({\n 'textarea--invalid': this._touched && this._textarea && !this._textarea.validity.valid\n })}\n name=${this.name}\n .value=${live(this.value)}\n placeholder=${this.placeholder}\n ?required=${this.required}\n ?disabled=${this.disabled}\n ?readonly=${this.readonly}\n rows=${this.rows}\n cols=${ifDefined(this.cols)}\n minlength=${ifDefined(this.minlength)}\n maxlength=${ifDefined(this.maxlength)}\n autocomplete=${ifDefined(this.autocomplete || undefined)}\n @input=${this._handleInput}\n @change=${this._handleChange}\n @blur=${this._handleBlur}\n ></textarea>\n ${validationMessage\n ? html `<div class=\"validation-message\">${validationMessage}</div>`\n : this.hint\n ? html `<div class=\"hint\">${this.hint}</div>`\n : nothing}\n </div>\n `;\n }\n // Public methods for programmatic control\n focus() {\n this._textarea?.focus();\n }\n blur() {\n this._textarea?.blur();\n }\n select() {\n this._textarea?.select();\n }\n};\nKRTextareaField.styles = css `\n :host {\n display: block;\n font-family: inherit;\n }\n\n .wrapper {\n display: flex;\n flex-direction: column;\n gap: 6px;\n }\n\n label {\n font-size: 14px;\n font-weight: 500;\n color: black;\n }\n\n .required {\n color: var(--kr-textarea-field-required-color, #ef4444);\n margin-left: 0.125rem;\n }\n\n textarea {\n font-family: inherit;\n font-size: 14px;\n line-height: 1.5;\n padding: 10px 12px;\n border: 1px solid var(--kr-textarea-field-border-color, #0000003d);\n border-radius: 8px;\n background-color: var(--kr-textarea-field-bg, #fff);\n color: var(--kr-textarea-field-color, #111827);\n transition: border-color 0.2s, box-shadow 0.2s;\n min-height: 2.5rem;\n resize: vertical;\n }\n\n textarea:focus {\n outline: none;\n border-color: var(--kr-textarea-field-focus-border-color, #163052);\n box-shadow: 0 0 0 3px var(--kr-textarea-field-focus-ring-color, rgba(22, 48, 82, 0.1));\n }\n\n textarea:disabled {\n background-color: var(--kr-textarea-field-disabled-bg, #f3f4f6);\n color: var(--kr-textarea-field-disabled-color, #9ca3af);\n cursor: not-allowed;\n }\n\n textarea::placeholder {\n color: var(--kr-textarea-field-placeholder-color, #9ca3af);\n }\n\n textarea.textarea--invalid {\n border-color: var(--kr-textarea-field-error-border-color, #ef4444);\n }\n\n textarea.textarea--invalid:focus {\n box-shadow: 0 0 0 3px var(--kr-textarea-field-error-ring-color, rgba(239, 68, 68, 0.1));\n }\n\n .validation-message {\n font-size: 0.75rem;\n color: var(--kr-textarea-field-error-color, #ef4444);\n }\n\n .hint {\n font-size: 0.75rem;\n color: var(--kr-textarea-field-helper-color, #6b7280);\n }\n `;\n// Enable form association\nKRTextareaField.formAssociated = true;\n__decorate([\n property({ type: String })\n], KRTextareaField.prototype, \"label\", void 0);\n__decorate([\n property({ type: String })\n], KRTextareaField.prototype, \"name\", void 0);\n__decorate([\n property({ type: String })\n], KRTextareaField.prototype, \"value\", void 0);\n__decorate([\n property({ type: String })\n], KRTextareaField.prototype, \"placeholder\", void 0);\n__decorate([\n property({ type: Boolean })\n], KRTextareaField.prototype, \"required\", void 0);\n__decorate([\n property({ type: Boolean })\n], KRTextareaField.prototype, \"disabled\", void 0);\n__decorate([\n property({ type: Boolean })\n], KRTextareaField.prototype, \"readonly\", void 0);\n__decorate([\n property({ type: Number })\n], KRTextareaField.prototype, \"rows\", void 0);\n__decorate([\n property({ type: Number })\n], KRTextareaField.prototype, \"cols\", void 0);\n__decorate([\n property({ type: Number })\n], KRTextareaField.prototype, \"minlength\", void 0);\n__decorate([\n property({ type: Number })\n], KRTextareaField.prototype, \"maxlength\", void 0);\n__decorate([\n property({ type: String })\n], KRTextareaField.prototype, \"autocomplete\", void 0);\n__decorate([\n property({ type: String })\n], KRTextareaField.prototype, \"hint\", void 0);\n__decorate([\n query('textarea')\n], KRTextareaField.prototype, \"_textarea\", void 0);\n__decorate([\n state()\n], KRTextareaField.prototype, \"_touched\", void 0);\n__decorate([\n state()\n], KRTextareaField.prototype, \"_dirty\", void 0);\nKRTextareaField = __decorate([\n customElement('kr-textarea-field')\n], KRTextareaField);\nexport { KRTextareaField };\n//# sourceMappingURL=textarea-field.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { LitElement, html, css, nothing } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\n/**\n * A read-only field component that displays a label and value.\n *\n * @element kr-detail-field\n */\nlet KRDetailField = class KRDetailField extends LitElement {\n constructor() {\n super(...arguments);\n /**\n * The field label text\n */\n this.label = '';\n /**\n * The value to display\n */\n this.value = '';\n }\n render() {\n return html `\n <div class=\"wrapper\">\n ${this.label\n ? html `<label>${this.label}</label>`\n : nothing}\n <div class=\"value\">${this.value}</div>\n </div>\n `;\n }\n};\nKRDetailField.styles = css `\n :host {\n display: block;\n font-family: inherit;\n }\n\n .wrapper {\n display: flex;\n flex-direction: column;\n gap: 6px;\n }\n\n label {\n font-size: 14px;\n font-weight: 500;\n color: black;\n }\n\n .value {\n font-size: 14px;\n color: black;\n }\n `;\n__decorate([\n property({ type: String })\n], KRDetailField.prototype, \"label\", void 0);\n__decorate([\n property({ type: String })\n], KRDetailField.prototype, \"value\", void 0);\nKRDetailField = __decorate([\n customElement('kr-detail-field')\n], KRDetailField);\nexport { KRDetailField };\n//# sourceMappingURL=detail-field.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { LitElement, html, css, nothing } from 'lit';\nimport { customElement, property, state, query } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { live } from 'lit/directives/live.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nfunction isGroup(option) {\n return 'options' in option;\n}\n/**\n * @element kr-auto-suggest\n *\n * @property {string} label - Label text for the input\n * @property {string} name - Name for form submission\n * @property {string} value - Current input value\n * @property {string} placeholder - Placeholder text\n * @property {boolean} disabled - Whether the input is disabled\n * @property {boolean} readonly - Whether the input is readonly\n * @property {boolean} required - Whether the input is required\n * @property {string} hint - Helper text displayed below the input\n * @property {SuggestionOptions} options - Array of suggestion options or groups\n * @property {AutoSuggestStatusType} statusType - Loading state: 'pending' | 'loading' | 'finished' | 'error'\n * @property {string} loadingText - Text to show during loading\n * @property {string} errorText - Text to show on error\n * @property {string} emptyText - Text to show when no matches\n * @property {AutoSuggestFilteringType} filteringType - 'auto' (client-side) or 'manual' (server-side)\n * @property {boolean} highlightMatches - Whether to highlight matching text\n *\n * @fires change - Fired when the input value changes\n * @fires select - Fired when a suggestion is selected\n * @fires load-items - Fired when items should be loaded (manual filtering)\n *\n * @slot - Not used\n */\nlet KRAutoSuggest = class KRAutoSuggest extends LitElement {\n constructor() {\n super();\n this.label = '';\n this.name = '';\n this.value = '';\n this.placeholder = '';\n this.disabled = false;\n this.readonly = false;\n this.required = false;\n this.hint = '';\n this.options = [];\n this.statusType = 'finished';\n this.loadingText = 'Loading...';\n this.errorText = 'Error loading options';\n this.emptyText = 'No matches found';\n this.filteringType = 'auto';\n this.highlightMatches = true;\n this._isOpen = false;\n this._highlightedIndex = -1;\n this._touched = false;\n this._dirty = false;\n this._handleDocumentClick = this._onDocumentClick.bind(this);\n this._internals = this.attachInternals();\n }\n connectedCallback() {\n super.connectedCallback();\n document.addEventListener('click', this._handleDocumentClick);\n }\n disconnectedCallback() {\n super.disconnectedCallback();\n document.removeEventListener('click', this._handleDocumentClick);\n }\n firstUpdated() {\n this._updateFormValue();\n }\n get form() {\n return this._internals.form;\n }\n get validity() {\n return this._internals.validity;\n }\n get validationMessage() {\n return this._internals.validationMessage;\n }\n checkValidity() {\n return this._internals.checkValidity();\n }\n reportValidity() {\n return this._internals.reportValidity();\n }\n formResetCallback() {\n this.value = '';\n this._touched = false;\n this._dirty = false;\n this._isOpen = false;\n this._highlightedIndex = -1;\n this._updateFormValue();\n }\n formStateRestoreCallback(state) {\n this.value = state;\n }\n get _filteredOptions() {\n if (this.filteringType === 'manual' || !this.value) {\n return this.options;\n }\n const searchValue = this.value.toLowerCase();\n const filtered = [];\n for (const option of this.options) {\n if (isGroup(option)) {\n const filteredGroupOptions = option.options.filter((opt) => {\n const label = (opt.label || opt.value).toLowerCase();\n const tags = opt.filteringTags?.join(' ').toLowerCase() || '';\n return label.includes(searchValue) || tags.includes(searchValue);\n });\n if (filteredGroupOptions.length > 0) {\n filtered.push({ ...option, options: filteredGroupOptions });\n }\n }\n else {\n const label = (option.label || option.value).toLowerCase();\n const tags = option.filteringTags?.join(' ').toLowerCase() || '';\n if (label.includes(searchValue) || tags.includes(searchValue)) {\n filtered.push(option);\n }\n }\n }\n return filtered;\n }\n get _flatOptions() {\n const flat = [];\n for (const option of this._filteredOptions) {\n if (isGroup(option)) {\n flat.push(...option.options);\n }\n else {\n flat.push(option);\n }\n }\n return flat;\n }\n _updateFormValue() {\n this._internals.setFormValue(this.value);\n // Validation\n if (this.required && !this.value) {\n this._internals.setValidity({ valueMissing: true }, 'This field is required', this._input);\n }\n else {\n this._internals.setValidity({});\n }\n }\n _onInput(e) {\n const target = e.target;\n this.value = target.value;\n this._dirty = true;\n this._isOpen = true;\n this._highlightedIndex = -1;\n this._updateFormValue();\n this.dispatchEvent(new CustomEvent('change', {\n detail: { value: this.value },\n bubbles: true,\n composed: true,\n }));\n if (this.filteringType === 'manual') {\n this.dispatchEvent(new CustomEvent('load-items', {\n detail: { filteringText: this.value },\n bubbles: true,\n composed: true,\n }));\n }\n }\n _onFocus() {\n this._isOpen = true;\n if (this.filteringType === 'manual') {\n this.dispatchEvent(new CustomEvent('load-items', {\n detail: { filteringText: this.value },\n bubbles: true,\n composed: true,\n }));\n }\n }\n _onBlur() {\n this._touched = true;\n // Delay to allow click on option\n setTimeout(() => {\n this._isOpen = false;\n this._highlightedIndex = -1;\n }, 200);\n this._updateFormValue();\n }\n _onKeyDown(e) {\n const options = this._flatOptions;\n switch (e.key) {\n case 'ArrowDown':\n e.preventDefault();\n this._isOpen = true;\n this._highlightedIndex = Math.min(this._highlightedIndex + 1, options.length - 1);\n this._scrollToHighlighted();\n break;\n case 'ArrowUp':\n e.preventDefault();\n this._highlightedIndex = Math.max(this._highlightedIndex - 1, -1);\n this._scrollToHighlighted();\n break;\n case 'Enter':\n if (this._highlightedIndex >= 0 && options[this._highlightedIndex]) {\n e.preventDefault();\n this._selectOption(options[this._highlightedIndex]);\n }\n break;\n case 'Escape':\n e.preventDefault();\n this._isOpen = false;\n this._highlightedIndex = -1;\n break;\n case 'Tab':\n this._isOpen = false;\n this._highlightedIndex = -1;\n break;\n }\n }\n _scrollToHighlighted() {\n this.updateComplete.then(() => {\n const container = this.shadowRoot?.querySelector('.dropdown');\n const highlighted = this.shadowRoot?.querySelector('.option.is-highlighted');\n if (container && highlighted) {\n const containerRect = container.getBoundingClientRect();\n const highlightedRect = highlighted.getBoundingClientRect();\n if (highlightedRect.bottom > containerRect.bottom) {\n highlighted.scrollIntoView({ block: 'nearest' });\n }\n else if (highlightedRect.top < containerRect.top) {\n highlighted.scrollIntoView({ block: 'nearest' });\n }\n }\n });\n }\n _selectOption(option) {\n if (option.disabled)\n return;\n this.value = option.label || option.value;\n this._isOpen = false;\n this._highlightedIndex = -1;\n this._dirty = true;\n this._updateFormValue();\n this.dispatchEvent(new CustomEvent('select', {\n detail: { value: option.value, selectedOption: option },\n bubbles: true,\n composed: true,\n }));\n this.dispatchEvent(new Event('change', { bubbles: true, composed: true }));\n }\n _handleClear() {\n this.value = '';\n this._updateFormValue();\n this.dispatchEvent(new CustomEvent('change', {\n detail: { value: '' },\n bubbles: true,\n composed: true,\n }));\n this._input?.focus();\n }\n _onDocumentClick(e) {\n const path = e.composedPath();\n if (!path.includes(this)) {\n this._isOpen = false;\n }\n }\n _highlightMatch(text) {\n if (!this.value || this.filteringType === 'manual' || !this.highlightMatches) {\n return html `${text}`;\n }\n const searchValue = this.value.toLowerCase();\n const index = text.toLowerCase().indexOf(searchValue);\n if (index === -1) {\n return html `${text}`;\n }\n const before = text.slice(0, index);\n const match = text.slice(index, index + this.value.length);\n const after = text.slice(index + this.value.length);\n return html `${before}<span class=\"highlight\">${match}</span>${after}`;\n }\n _renderOption(option, index) {\n const isHighlighted = index === this._highlightedIndex;\n return html `\n <button\n class=${classMap({\n option: true,\n 'is-highlighted': isHighlighted,\n })}\n type=\"button\"\n role=\"option\"\n aria-selected=${isHighlighted}\n ?disabled=${option.disabled}\n @click=${() => this._selectOption(option)}\n @mouseenter=${() => {\n this._highlightedIndex = index;\n }}\n >\n <div class=\"option-content\">\n <div class=\"option-label\">\n ${this._highlightMatch(option.label || option.value)}\n ${option.labelTag ? html `<span class=\"option-tag\">${option.labelTag}</span>` : nothing}\n </div>\n ${option.description\n ? html `<div class=\"option-description\">${option.description}</div>`\n : nothing}\n ${option.tags && option.tags.length > 0\n ? html `\n <div class=\"option-tags\">\n ${option.tags.map((tag) => html `<span class=\"option-tag\">${tag}</span>`)}\n </div>\n `\n : nothing}\n </div>\n </button>\n `;\n }\n _renderDropdownContent() {\n if (this.statusType === 'loading') {\n return html `\n <div class=\"status\">\n <div class=\"spinner\"></div>\n ${this.loadingText}\n </div>\n `;\n }\n if (this.statusType === 'error') {\n return html `\n <div class=\"status is-error\">\n <svg width=\"16\" height=\"16\" fill=\"currentColor\" viewBox=\"0 0 16 16\">\n <path\n d=\"M8.982 1.566a1.13 1.13 0 0 0-1.96 0L.165 13.233c-.457.778.091 1.767.98 1.767h13.713c.889 0 1.438-.99.98-1.767L8.982 1.566zM8 5c.535 0 .954.462.9.995l-.35 3.507a.552.552 0 0 1-1.1 0L7.1 5.995A.905.905 0 0 1 8 5zm.002 6a1 1 0 1 1 0 2 1 1 0 0 1 0-2z\"\n />\n </svg>\n ${this.errorText}\n </div>\n `;\n }\n const filtered = this._filteredOptions;\n if (filtered.length === 0) {\n return html `<div class=\"empty\">${this.emptyText}</div>`;\n }\n let optionIndex = 0;\n return html `\n ${filtered.map((option) => {\n if (isGroup(option)) {\n const groupOptions = option.options.map((opt) => {\n const rendered = this._renderOption(opt, optionIndex);\n optionIndex++;\n return rendered;\n });\n return html `\n <div class=\"group-label\">${option.label}</div>\n ${groupOptions}\n `;\n }\n const rendered = this._renderOption(option, optionIndex);\n optionIndex++;\n return rendered;\n })}\n `;\n }\n render() {\n const hasError = this._touched && !this.validity.valid;\n return html `\n <div class=\"field-wrapper\">\n ${this.label\n ? html `\n <label>\n ${this.label}\n ${this.required ? html `<span class=\"required\">*</span>` : nothing}\n </label>\n `\n : nothing}\n\n <div class=\"input-container\">\n <div class=\"input-wrapper\">\n <input\n type=\"text\"\n .value=${live(this.value)}\n placeholder=${ifDefined(this.placeholder || undefined)}\n ?disabled=${this.disabled}\n ?readonly=${this.readonly}\n ?required=${this.required}\n name=${ifDefined(this.name || undefined)}\n autocomplete=\"off\"\n role=\"combobox\"\n aria-autocomplete=\"list\"\n aria-expanded=${this._isOpen}\n aria-controls=\"dropdown\"\n class=${classMap({\n 'input--invalid': hasError,\n })}\n @input=${this._onInput}\n @blur=${this._onBlur}\n @focus=${this._onFocus}\n @keydown=${this._onKeyDown}\n />\n <div class=\"icon-container\">\n ${this.value && !this.disabled && !this.readonly\n ? html `\n <button\n class=\"clear-button\"\n type=\"button\"\n aria-label=\"Clear\"\n @click=${this._handleClear}\n >\n <svg width=\"16\" height=\"16\" fill=\"currentColor\" viewBox=\"0 0 16 16\">\n <path\n d=\"M4.646 4.646a.5.5 0 0 1 .708 0L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 0 1 0-.708z\"\n />\n </svg>\n </button>\n `\n : ''}\n ${!this.value && !this.disabled && !this.readonly\n ? html `\n <svg class=\"search-icon\" fill=\"currentColor\" viewBox=\"0 0 16 16\">\n <path\n d=\"M11.742 10.344a6.5 6.5 0 1 0-1.397 1.398h-.001c.03.04.062.078.098.115l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.85-3.85a1.007 1.007 0 0 0-.115-.1zM12 6.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0z\"\n />\n </svg>\n `\n : ''}\n </div>\n </div>\n\n <div\n id=\"dropdown\"\n role=\"listbox\"\n class=${classMap({\n dropdown: true,\n 'is-open': this._isOpen,\n })}\n >\n ${this._renderDropdownContent()}\n </div>\n </div>\n\n ${hasError\n ? html `<div class=\"validation-message\">${this.validationMessage}</div>`\n : this.hint\n ? html `<div class=\"hint\">${this.hint}</div>`\n : nothing}\n </div>\n `;\n }\n};\nKRAutoSuggest.styles = css `\n :host {\n display: block;\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell,\n 'Helvetica Neue', sans-serif;\n }\n\n .field-wrapper {\n display: flex;\n flex-direction: column;\n gap: 4px;\n }\n\n label {\n font-size: 14px;\n font-weight: 500;\n color: var(--kr-text-field-label-color, #374151);\n display: block;\n }\n\n .required {\n color: var(--kr-text-field-required-color, #ef4444);\n margin-left: 2px;\n }\n\n .input-container {\n position: relative;\n }\n\n .input-wrapper {\n position: relative;\n display: flex;\n align-items: center;\n }\n\n input {\n flex: 1;\n width: 100%;\n padding: 8px 32px 8px 12px;\n font-size: 14px;\n border: 1px solid var(--kr-text-field-border-color, #d1d5db);\n border-radius: 6px;\n background: var(--kr-text-field-bg, #ffffff);\n color: var(--kr-text-field-color, #000000);\n transition: all 0.2s ease;\n box-sizing: border-box;\n font-family: inherit;\n }\n\n input:focus {\n outline: none;\n border-color: var(--kr-text-field-focus-border-color, #163052);\n box-shadow: 0 0 0 3px var(--kr-text-field-focus-ring-color, rgba(22, 48, 82, 0.1));\n }\n\n input:disabled {\n background: var(--kr-text-field-disabled-bg, #f3f4f6);\n cursor: not-allowed;\n opacity: 0.6;\n }\n\n input:read-only {\n background: var(--kr-text-field-disabled-bg, #f3f4f6);\n cursor: default;\n }\n\n input.input--invalid {\n border-color: var(--kr-text-field-error-border-color, #ef4444);\n }\n\n input.input--invalid:focus {\n box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1);\n }\n\n input::placeholder {\n color: var(--kr-text-field-placeholder-color, #9ca3af);\n }\n\n .icon-container {\n position: absolute;\n right: 8px;\n display: flex;\n align-items: center;\n gap: 4px;\n }\n\n .clear-button {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 20px;\n height: 20px;\n padding: 0;\n background: none;\n border: none;\n border-radius: 50%;\n color: var(--kr-text-muted, #6b7280);\n cursor: pointer;\n transition: all 0.15s ease;\n }\n\n .clear-button:hover {\n background-color: var(--kr-select-option-hover-bg, #f3f4f6);\n color: var(--kr-text, #000000);\n }\n\n .search-icon {\n width: 16px;\n height: 16px;\n color: var(--kr-text-muted, #6b7280);\n pointer-events: none;\n }\n\n /* Dropdown */\n .dropdown {\n position: absolute;\n top: 100%;\n left: 0;\n right: 0;\n z-index: 50;\n margin-top: 4px;\n max-height: 300px;\n overflow-y: auto;\n background: white;\n border: 1px solid var(--kr-text-field-border-color, #d1d5db);\n border-radius: 6px;\n box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);\n display: none;\n }\n\n .dropdown.is-open {\n display: block;\n }\n\n /* Options */\n .option {\n display: flex;\n align-items: flex-start;\n gap: 8px;\n width: 100%;\n padding: 8px 12px;\n background: none;\n border: none;\n font-size: 14px;\n font-family: inherit;\n color: var(--kr-text, #000000);\n text-align: left;\n cursor: pointer;\n transition: background 0.15s ease;\n }\n\n .option:hover:not(:disabled) {\n background: var(--kr-select-option-hover-bg, #f3f4f6);\n }\n\n .option.is-highlighted {\n background: var(--kr-select-option-highlight-bg, #e5e7eb);\n }\n\n .option:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n }\n\n .option-content {\n flex: 1;\n min-width: 0;\n }\n\n .option-label {\n display: flex;\n align-items: center;\n gap: 6px;\n flex-wrap: wrap;\n }\n\n .option-tag {\n flex-shrink: 0;\n padding: 2px 6px;\n font-size: 11px;\n color: var(--kr-text-muted, #6b7280);\n background: var(--kr-select-option-hover-bg, #f3f4f6);\n border-radius: 3px;\n }\n\n .option-description {\n font-size: 12px;\n color: var(--kr-text-muted, #6b7280);\n margin-top: 2px;\n }\n\n .option-tags {\n display: flex;\n flex-wrap: wrap;\n gap: 4px;\n margin-top: 4px;\n }\n\n /* Highlight */\n .highlight {\n font-weight: 600;\n background-color: #fef3c7;\n color: #92400e;\n }\n\n /* Group */\n .group-label {\n padding: 8px 12px;\n font-size: 11px;\n font-weight: 600;\n color: var(--kr-text-muted, #6b7280);\n text-transform: uppercase;\n letter-spacing: 0.05em;\n background: var(--kr-select-option-hover-bg, #f9fafb);\n border-bottom: 1px solid var(--kr-text-field-border-color, #e5e7eb);\n }\n\n /* Status */\n .status {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 8px;\n padding: 16px;\n font-size: 14px;\n color: var(--kr-text-muted, #6b7280);\n }\n\n .status.is-error {\n color: var(--kr-text-field-error-border-color, #ef4444);\n }\n\n .spinner {\n width: 16px;\n height: 16px;\n border: 2px solid var(--kr-text-field-border-color, #e5e7eb);\n border-top-color: var(--kr-text-field-focus-border-color, #163052);\n border-radius: 50%;\n animation: spin 0.6s linear infinite;\n }\n\n @keyframes spin {\n to {\n transform: rotate(360deg);\n }\n }\n\n .empty {\n padding: 16px;\n text-align: center;\n font-size: 14px;\n color: var(--kr-text-muted, #6b7280);\n }\n\n .hint {\n font-size: 12px;\n color: var(--kr-text-field-hint-color, #6b7280);\n }\n\n .validation-message {\n font-size: 12px;\n color: var(--kr-text-field-error-border-color, #ef4444);\n margin-top: 2px;\n }\n `;\nKRAutoSuggest.formAssociated = true;\n__decorate([\n property({ type: String })\n], KRAutoSuggest.prototype, \"label\", void 0);\n__decorate([\n property({ type: String })\n], KRAutoSuggest.prototype, \"name\", void 0);\n__decorate([\n property({ type: String })\n], KRAutoSuggest.prototype, \"value\", void 0);\n__decorate([\n property({ type: String })\n], KRAutoSuggest.prototype, \"placeholder\", void 0);\n__decorate([\n property({ type: Boolean })\n], KRAutoSuggest.prototype, \"disabled\", void 0);\n__decorate([\n property({ type: Boolean })\n], KRAutoSuggest.prototype, \"readonly\", void 0);\n__decorate([\n property({ type: Boolean })\n], KRAutoSuggest.prototype, \"required\", void 0);\n__decorate([\n property({ type: String })\n], KRAutoSuggest.prototype, \"hint\", void 0);\n__decorate([\n property({ type: Array })\n], KRAutoSuggest.prototype, \"options\", void 0);\n__decorate([\n property({ type: String, attribute: 'status-type' })\n], KRAutoSuggest.prototype, \"statusType\", void 0);\n__decorate([\n property({ type: String, attribute: 'loading-text' })\n], KRAutoSuggest.prototype, \"loadingText\", void 0);\n__decorate([\n property({ type: String, attribute: 'error-text' })\n], KRAutoSuggest.prototype, \"errorText\", void 0);\n__decorate([\n property({ type: String, attribute: 'empty-text' })\n], KRAutoSuggest.prototype, \"emptyText\", void 0);\n__decorate([\n property({ type: String, attribute: 'filtering-type' })\n], KRAutoSuggest.prototype, \"filteringType\", void 0);\n__decorate([\n property({ type: Boolean, attribute: 'highlight-matches' })\n], KRAutoSuggest.prototype, \"highlightMatches\", void 0);\n__decorate([\n state()\n], KRAutoSuggest.prototype, \"_isOpen\", void 0);\n__decorate([\n state()\n], KRAutoSuggest.prototype, \"_highlightedIndex\", void 0);\n__decorate([\n state()\n], KRAutoSuggest.prototype, \"_touched\", void 0);\n__decorate([\n state()\n], KRAutoSuggest.prototype, \"_dirty\", void 0);\n__decorate([\n query('input')\n], KRAutoSuggest.prototype, \"_input\", void 0);\nKRAutoSuggest = __decorate([\n customElement('kr-auto-suggest')\n], KRAutoSuggest);\nexport { KRAutoSuggest };\n//# sourceMappingURL=auto-suggest.js.map"],"names":["t","e","s","o","r","n","i","S","c","h","a","l","p","d","u","f","b","y","m","css","__decorate","this","LitElement","html","property","customElement","classMap","nothing","state","unsafeHTML","styleMap","query","render","live","ifDefined"],"mappings":"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GAAG,CAAC;AACxC,oBAAoB,EAAE,GAAG,CAAC,KAAK,CAAC;AAChC,cAAc,EAAE,GAAG,CAAC,KAAK,GAAGH,CAAI,CAAC,CAAC,gCAAgC,EAAEO,GAAQ,CAAC,EAAE,eAAe,EAAE,GAAG,CAAC,eAAe,EAAE,KAAK,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,GAAGH,CAAO;AAC7K,cAAc,EAAE,GAAG,CAAC;AACpB,cAAcJ,CAAI,CAAC;AACnB;AACA;AACA;AACA;AACA,6BAA6B,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,CAAC,CAAC;AACpE;AACA;AACA;AACA,kBAAkB;AAClB,cAAcI,CAAO;AACrB;AACA,QAAQ,CAAC,CAAC;AACV;AACA,2DAA2D,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC;AACpF,0BAA0B,EAAE,IAAI,CAAC,gBAAgB,CAAC;AAClD;AACA,IAAI,CAAC;AACL,IAAI;AACJ;AACA,UAAU,CAAC,MAAM,GAAG;AACpB,IAAI,SAAS;AACb,IAAIR,GAAG,CAAC;AACR;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;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AC5D,kBAAkB,EAAE;AACpB;AACA;AACA,0BAA0B,EAAE,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;AACvD;AACA,IAAI,CAAC;AACL,IAAI;AACJ;AACA,IAAI,KAAK,GAAG;AACZ,QAAQ,IAAI,CAAC,eAAe,EAAE,KAAK,EAAE;AACrC,IAAI;AACJ,IAAI,IAAI,GAAG;AACX,QAAQ,IAAI,CAAC,eAAe,EAAE,IAAI,EAAE;AACpC,IAAI;AACJ;AACA,aAAa,CAAC,MAAM,GAAG,CAAC,SAAS,EAAEJ,GAAG,CAAC;AACvC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAE,CAAC,CAAC;AACJ;AACA,aAAa,CAAC,cAAc,GAAG,IAAI;AACnCC,YAAU,CAAC;AACX,IAAII,GAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE;AAC7B,CAAC,EA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AACA;AACA;AACA,IAAI,CAAC;AACL,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,MAAM,GAAG;AACb,QAAQ,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE;AACzC,YAAY,OAAOH,CAAI,CAAC,CAAC,aAAa,CAAC;AACvC,QAAQ;AACR,QAAQ,OAAOA,CAAI,CAAC;AACpB,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE;AAC5B,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE;AAC3B,MAAM,EAAE,IAAI,CAAC,kBAAkB,EAAE;AACjC,IAAI,CAAC;AACL,IAAI;AACJ;AACA,OAAO,CAAC,MAAM,GAAG,CAAC,SAAS,EAAEJ,GAAG,CAAC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAC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A;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,EAAE,CAAC;AACH,aAAa,CAAC,cAAc,GAAG,IAAI;AACnCC,YAAU,CAAC;AACX,IAAII,GAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE;AAC7B,CAAC,EAAE,aAAa,CAAC,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC;AAC1CJ,YAAU,CAAC;AACX,IAAII,GAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE;AAC7B,CAAC,EAAE,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC;AAC3CJ,YAAU,CAAC;AACX,IAAIQ,GAAK;AACT,CAAC,EAAE,aAAa,CAAC,SAAS,EAAE,YAAY,EAAE,MAAM,CAAC;AACjDR,YAAU,CAAC;AACX,IAAIQ,GAAK;AACT,CAAC,EAAE,aAAa,CAAC,SAAS,EAAE,cAAc,EAAE,MAAM,CAAC;AACnD,aAAa,GAAG,eAAe,GAAGR,YAAU,CAAC;AAC7C,IAAIK,GAAa,CAAC,iBAAiB;AACnC,CAAC,EAAE,aAAa,CAAC;;ACrejB,IAAIL,YAAU,GAAG,C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AAiB,CAAC,MAAM;AACnF,cAAc,IAAI,CAAC;AACnB,kBAAkBA,CAAI,CAAC,CAAC,kBAAkB,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM;AAC5D,kBAAkBI,CAAO;AACzB;AACA,IAAI,CAAC;AACL,IAAI;AACJ;AACA,aAAa,CAAC,MAAM,GAAGR,GAAG,CAAC;AAC3B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A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","x_google_ignoreList":[0,1,2,3,5,6,7,8,9,11,12,15,18,31,32,33]}