@wral/studio.mods.auth 0.3.7

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.
@@ -0,0 +1,1479 @@
1
+ "use strict";var fe=Object.defineProperty;var me=(o,t,e)=>t in o?fe(o,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):o[t]=e;var E=(o,t,e)=>me(o,typeof t!="symbol"?t+"":t,e);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});function mt(o){return{api:(t,e)=>O(o,t,e),mintToken:({username:t,password:e})=>ge({config:o,username:t,password:e}),refreshToken:({token:t})=>ve({config:o,token:t}),pubkey:()=>ye({config:o}),updatePassword:({token:t,currentPassword:e,newPassword:r})=>we({config:o,token:t,currentPassword:e,newPassword:r}),triggerResetPassword:({username:t})=>_e({config:o,username:t}),confirmResetPassword:({username:t,newPassword:e,confirmationCode:r})=>$e({config:o,username:t,newPassword:e,confirmationCode:r})}}function ge({config:o,username:t,password:e}){return O(o,"/v1/user/login",{method:"POST",body:{username:t,password:e}})}function ve({config:o,token:t}){return O(o,"/v1/refresh",{method:"POST",body:{token:t}})}function ye({config:o}){return O(o,"/v1/pubkey",{method:"GET"})}function we({config:o,token:t,currentPassword:e,newPassword:r}){return O(o,"/v1/user/password",{method:"PUT",body:{currentPassword:e,newPassword:r},headers:{Authorization:`Bearer ${t}`}})}function _e({config:o,username:t}){return O(o,"/v1/user/password/reset",{method:"POST",body:{username:t}})}function $e({config:o,username:t,newPassword:e,confirmationCode:r}){return O(o,"/v1/user/password/reset/confirm",{method:"POST",body:{username:t,newPassword:e,confirmationCode:r}})}async function O(o,t,e){var c;const r=o.baseUrl.endsWith("/")?o.baseUrl:`${o.baseUrl}/`,s=t.startsWith("/")?t.substring(1):t,i=new URL(s,r),d=Object.assign({},e,{headers:Object.assign({},{"Content-Type":"application/json"},e==null?void 0:e.headers),body:e!=null&&e.body?JSON.stringify(e.body):void 0}),l=await fetch(i.toString(),d);if(!l.ok){const b=new Error("API request failed.");if(b.status=l.status,b.statusText=l.statusText,b.url=i.toString(),b.headers=l.headers,b.bodyUsed=l.bodyUsed,(c=l.headers.get("Content-Type"))!=null&&c.includes("application/json"))try{b.body=await l.json()}catch{b.body="Failed to parse response body."}throw b}if(l.status!==204)return await l.json()}/**
2
+ * @license
3
+ * Copyright 2019 Google LLC
4
+ * SPDX-License-Identifier: BSD-3-Clause
5
+ */const rt=globalThis,xt=rt.ShadowRoot&&(rt.ShadyCSS===void 0||rt.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,kt=Symbol(),Ut=new WeakMap;let Jt=class{constructor(t,e,r){if(this._$cssResult$=!0,r!==kt)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const e=this.t;if(xt&&t===void 0){const r=e!==void 0&&e.length===1;r&&(t=Ut.get(e)),t===void 0&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),r&&Ut.set(e,t))}return t}toString(){return this.cssText}};const xe=o=>new Jt(typeof o=="string"?o:o+"",void 0,kt),$=(o,...t)=>{const e=o.length===1?o[0]:t.reduce((r,s,i)=>r+(n=>{if(n._$cssResult$===!0)return n.cssText;if(typeof n=="number")return n;throw Error("Value passed to 'css' function must be a 'css' function result: "+n+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(s)+o[i+1],o[0]);return new Jt(e,o,kt)},ke=(o,t)=>{if(xt)o.adoptedStyleSheets=t.map(e=>e instanceof CSSStyleSheet?e:e.styleSheet);else for(const e of t){const r=document.createElement("style"),s=rt.litNonce;s!==void 0&&r.setAttribute("nonce",s),r.textContent=e.cssText,o.appendChild(r)}},Lt=xt?o=>o:o=>o instanceof CSSStyleSheet?(t=>{let e="";for(const r of t.cssRules)e+=r.cssText;return xe(e)})(o):o;/**
6
+ * @license
7
+ * Copyright 2017 Google LLC
8
+ * SPDX-License-Identifier: BSD-3-Clause
9
+ */const{is:Ce,defineProperty:Ae,getOwnPropertyDescriptor:Se,getOwnPropertyNames:Ee,getOwnPropertySymbols:Pe,getPrototypeOf:Te}=Object,A=globalThis,Ot=A.trustedTypes,ze=Ot?Ot.emptyScript:"",lt=A.reactiveElementPolyfillSupport,q=(o,t)=>o,R={toAttribute(o,t){switch(t){case Boolean:o=o?ze:null;break;case Object:case Array:o=o==null?o:JSON.stringify(o)}return o},fromAttribute(o,t){let e=o;switch(t){case Boolean:e=o!==null;break;case Number:e=o===null?null:Number(o);break;case Object:case Array:try{e=JSON.parse(o)}catch{e=null}}return e}},Ct=(o,t)=>!Ce(o,t),It={attribute:!0,type:String,converter:R,reflect:!1,hasChanged:Ct};Symbol.metadata??(Symbol.metadata=Symbol("metadata")),A.litPropertyMetadata??(A.litPropertyMetadata=new WeakMap);class I extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??(this.l=[])).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,e=It){if(e.state&&(e.attribute=!1),this._$Ei(),this.elementProperties.set(t,e),!e.noAccessor){const r=Symbol(),s=this.getPropertyDescriptor(t,r,e);s!==void 0&&Ae(this.prototype,t,s)}}static getPropertyDescriptor(t,e,r){const{get:s,set:i}=Se(this.prototype,t)??{get(){return this[e]},set(n){this[e]=n}};return{get(){return s==null?void 0:s.call(this)},set(n){const d=s==null?void 0:s.call(this);i.call(this,n),this.requestUpdate(t,d,r)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??It}static _$Ei(){if(this.hasOwnProperty(q("elementProperties")))return;const t=Te(this);t.finalize(),t.l!==void 0&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(q("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(q("properties"))){const e=this.properties,r=[...Ee(e),...Pe(e)];for(const s of r)this.createProperty(s,e[s])}const t=this[Symbol.metadata];if(t!==null){const e=litPropertyMetadata.get(t);if(e!==void 0)for(const[r,s]of e)this.elementProperties.set(r,s)}this._$Eh=new Map;for(const[e,r]of this.elementProperties){const s=this._$Eu(e,r);s!==void 0&&this._$Eh.set(s,e)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(t){const e=[];if(Array.isArray(t)){const r=new Set(t.flat(1/0).reverse());for(const s of r)e.unshift(Lt(s))}else t!==void 0&&e.push(Lt(t));return e}static _$Eu(t,e){const r=e.attribute;return r===!1?void 0:typeof r=="string"?r:typeof t=="string"?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){var t;this._$ES=new Promise(e=>this.enableUpdating=e),this._$AL=new Map,this._$E_(),this.requestUpdate(),(t=this.constructor.l)==null||t.forEach(e=>e(this))}addController(t){var e;(this._$EO??(this._$EO=new Set)).add(t),this.renderRoot!==void 0&&this.isConnected&&((e=t.hostConnected)==null||e.call(t))}removeController(t){var e;(e=this._$EO)==null||e.delete(t)}_$E_(){const t=new Map,e=this.constructor.elementProperties;for(const r of e.keys())this.hasOwnProperty(r)&&(t.set(r,this[r]),delete this[r]);t.size>0&&(this._$Ep=t)}createRenderRoot(){const t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return ke(t,this.constructor.elementStyles),t}connectedCallback(){var t;this.renderRoot??(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),(t=this._$EO)==null||t.forEach(e=>{var r;return(r=e.hostConnected)==null?void 0:r.call(e)})}enableUpdating(t){}disconnectedCallback(){var t;(t=this._$EO)==null||t.forEach(e=>{var r;return(r=e.hostDisconnected)==null?void 0:r.call(e)})}attributeChangedCallback(t,e,r){this._$AK(t,r)}_$EC(t,e){var i;const r=this.constructor.elementProperties.get(t),s=this.constructor._$Eu(t,r);if(s!==void 0&&r.reflect===!0){const n=(((i=r.converter)==null?void 0:i.toAttribute)!==void 0?r.converter:R).toAttribute(e,r.type);this._$Em=t,n==null?this.removeAttribute(s):this.setAttribute(s,n),this._$Em=null}}_$AK(t,e){var i;const r=this.constructor,s=r._$Eh.get(t);if(s!==void 0&&this._$Em!==s){const n=r.getPropertyOptions(s),d=typeof n.converter=="function"?{fromAttribute:n.converter}:((i=n.converter)==null?void 0:i.fromAttribute)!==void 0?n.converter:R;this._$Em=s,this[s]=d.fromAttribute(e,n.type),this._$Em=null}}requestUpdate(t,e,r){if(t!==void 0){if(r??(r=this.constructor.getPropertyOptions(t)),!(r.hasChanged??Ct)(this[t],e))return;this.P(t,e,r)}this.isUpdatePending===!1&&(this._$ES=this._$ET())}P(t,e,r){this._$AL.has(t)||this._$AL.set(t,e),r.reflect===!0&&this._$Em!==t&&(this._$Ej??(this._$Ej=new Set)).add(t)}async _$ET(){this.isUpdatePending=!0;try{await this._$ES}catch(e){Promise.reject(e)}const t=this.scheduleUpdate();return t!=null&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){var r;if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??(this.renderRoot=this.createRenderRoot()),this._$Ep){for(const[i,n]of this._$Ep)this[i]=n;this._$Ep=void 0}const s=this.constructor.elementProperties;if(s.size>0)for(const[i,n]of s)n.wrapped!==!0||this._$AL.has(i)||this[i]===void 0||this.P(i,this[i],n)}let t=!1;const e=this._$AL;try{t=this.shouldUpdate(e),t?(this.willUpdate(e),(r=this._$EO)==null||r.forEach(s=>{var i;return(i=s.hostUpdate)==null?void 0:i.call(s)}),this.update(e)):this._$EU()}catch(s){throw t=!1,this._$EU(),s}t&&this._$AE(e)}willUpdate(t){}_$AE(t){var e;(e=this._$EO)==null||e.forEach(r=>{var s;return(s=r.hostUpdated)==null?void 0:s.call(r)}),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EU(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Ej&&(this._$Ej=this._$Ej.forEach(e=>this._$EC(e,this[e]))),this._$EU()}updated(t){}firstUpdated(t){}}I.elementStyles=[],I.shadowRootOptions={mode:"open"},I[q("elementProperties")]=new Map,I[q("finalized")]=new Map,lt==null||lt({ReactiveElement:I}),(A.reactiveElementVersions??(A.reactiveElementVersions=[])).push("2.0.4");/**
10
+ * @license
11
+ * Copyright 2017 Google LLC
12
+ * SPDX-License-Identifier: BSD-3-Clause
13
+ */const W=globalThis,st=W.trustedTypes,Vt=st?st.createPolicy("lit-html",{createHTML:o=>o}):void 0,Gt="$lit$",C=`lit$${Math.random().toFixed(9).slice(2)}$`,Qt="?"+C,Ue=`<${Qt}>`,L=document,Z=()=>L.createComment(""),Y=o=>o===null||typeof o!="object"&&typeof o!="function",At=Array.isArray,Le=o=>At(o)||typeof(o==null?void 0:o[Symbol.iterator])=="function",ut=`[
14
+ \f\r]`,N=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,Rt=/-->/g,Bt=/>/g,P=RegExp(`>|${ut}(?:([^\\s"'>=/]+)(${ut}*=${ut}*(?:[^
15
+ \f\r"'\`<>=]|("|')|))|$)`,"g"),Mt=/'/g,Nt=/"/g,Xt=/^(?:script|style|textarea|title)$/i,Oe=o=>(t,...e)=>({_$litType$:o,strings:t,values:e}),v=Oe(1),w=Symbol.for("lit-noChange"),g=Symbol.for("lit-nothing"),Dt=new WeakMap,U=L.createTreeWalker(L,129);function te(o,t){if(!At(o)||!o.hasOwnProperty("raw"))throw Error("invalid template strings array");return Vt!==void 0?Vt.createHTML(t):t}const Ie=(o,t)=>{const e=o.length-1,r=[];let s,i=t===2?"<svg>":t===3?"<math>":"",n=N;for(let d=0;d<e;d++){const l=o[d];let c,b,p=-1,_=0;for(;_<l.length&&(n.lastIndex=_,b=n.exec(l),b!==null);)_=n.lastIndex,n===N?b[1]==="!--"?n=Rt:b[1]!==void 0?n=Bt:b[2]!==void 0?(Xt.test(b[2])&&(s=RegExp("</"+b[2],"g")),n=P):b[3]!==void 0&&(n=P):n===P?b[0]===">"?(n=s??N,p=-1):b[1]===void 0?p=-2:(p=n.lastIndex-b[2].length,c=b[1],n=b[3]===void 0?P:b[3]==='"'?Nt:Mt):n===Nt||n===Mt?n=P:n===Rt||n===Bt?n=N:(n=P,s=void 0);const y=n===P&&o[d+1].startsWith("/>")?" ":"";i+=n===N?l+Ue:p>=0?(r.push(c),l.slice(0,p)+Gt+l.slice(p)+C+y):l+C+(p===-2?d:y)}return[te(o,i+(o[e]||"<?>")+(t===2?"</svg>":t===3?"</math>":"")),r]};class J{constructor({strings:t,_$litType$:e},r){let s;this.parts=[];let i=0,n=0;const d=t.length-1,l=this.parts,[c,b]=Ie(t,e);if(this.el=J.createElement(c,r),U.currentNode=this.el.content,e===2||e===3){const p=this.el.content.firstChild;p.replaceWith(...p.childNodes)}for(;(s=U.nextNode())!==null&&l.length<d;){if(s.nodeType===1){if(s.hasAttributes())for(const p of s.getAttributeNames())if(p.endsWith(Gt)){const _=b[n++],y=s.getAttribute(p).split(C),tt=/([.?@])?(.*)/.exec(_);l.push({type:1,index:i,name:tt[2],strings:y,ctor:tt[1]==="."?Re:tt[1]==="?"?Be:tt[1]==="@"?Me:nt}),s.removeAttribute(p)}else p.startsWith(C)&&(l.push({type:6,index:i}),s.removeAttribute(p));if(Xt.test(s.tagName)){const p=s.textContent.split(C),_=p.length-1;if(_>0){s.textContent=st?st.emptyScript:"";for(let y=0;y<_;y++)s.append(p[y],Z()),U.nextNode(),l.push({type:2,index:++i});s.append(p[_],Z())}}}else if(s.nodeType===8)if(s.data===Qt)l.push({type:2,index:i});else{let p=-1;for(;(p=s.data.indexOf(C,p+1))!==-1;)l.push({type:7,index:i}),p+=C.length-1}i++}}static createElement(t,e){const r=L.createElement("template");return r.innerHTML=t,r}}function B(o,t,e=o,r){var n,d;if(t===w)return t;let s=r!==void 0?(n=e.o)==null?void 0:n[r]:e.l;const i=Y(t)?void 0:t._$litDirective$;return(s==null?void 0:s.constructor)!==i&&((d=s==null?void 0:s._$AO)==null||d.call(s,!1),i===void 0?s=void 0:(s=new i(o),s._$AT(o,e,r)),r!==void 0?(e.o??(e.o=[]))[r]=s:e.l=s),s!==void 0&&(t=B(o,s._$AS(o,t.values),s,r)),t}class Ve{constructor(t,e){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=e}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){const{el:{content:e},parts:r}=this._$AD,s=((t==null?void 0:t.creationScope)??L).importNode(e,!0);U.currentNode=s;let i=U.nextNode(),n=0,d=0,l=r[0];for(;l!==void 0;){if(n===l.index){let c;l.type===2?c=new G(i,i.nextSibling,this,t):l.type===1?c=new l.ctor(i,l.name,l.strings,this,t):l.type===6&&(c=new Ne(i,this,t)),this._$AV.push(c),l=r[++d]}n!==(l==null?void 0:l.index)&&(i=U.nextNode(),n++)}return U.currentNode=L,s}p(t){let e=0;for(const r of this._$AV)r!==void 0&&(r.strings!==void 0?(r._$AI(t,r,e),e+=r.strings.length-2):r._$AI(t[e])),e++}}class G{get _$AU(){var t;return((t=this._$AM)==null?void 0:t._$AU)??this.v}constructor(t,e,r,s){this.type=2,this._$AH=g,this._$AN=void 0,this._$AA=t,this._$AB=e,this._$AM=r,this.options=s,this.v=(s==null?void 0:s.isConnected)??!0}get parentNode(){let t=this._$AA.parentNode;const e=this._$AM;return e!==void 0&&(t==null?void 0:t.nodeType)===11&&(t=e.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,e=this){t=B(this,t,e),Y(t)?t===g||t==null||t===""?(this._$AH!==g&&this._$AR(),this._$AH=g):t!==this._$AH&&t!==w&&this._(t):t._$litType$!==void 0?this.$(t):t.nodeType!==void 0?this.T(t):Le(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!==g&&Y(this._$AH)?this._$AA.nextSibling.data=t:this.T(L.createTextNode(t)),this._$AH=t}$(t){var i;const{values:e,_$litType$:r}=t,s=typeof r=="number"?this._$AC(t):(r.el===void 0&&(r.el=J.createElement(te(r.h,r.h[0]),this.options)),r);if(((i=this._$AH)==null?void 0:i._$AD)===s)this._$AH.p(e);else{const n=new Ve(s,this),d=n.u(this.options);n.p(e),this.T(d),this._$AH=n}}_$AC(t){let e=Dt.get(t.strings);return e===void 0&&Dt.set(t.strings,e=new J(t)),e}k(t){At(this._$AH)||(this._$AH=[],this._$AR());const e=this._$AH;let r,s=0;for(const i of t)s===e.length?e.push(r=new G(this.O(Z()),this.O(Z()),this,this.options)):r=e[s],r._$AI(i),s++;s<e.length&&(this._$AR(r&&r._$AB.nextSibling,s),e.length=s)}_$AR(t=this._$AA.nextSibling,e){var r;for((r=this._$AP)==null?void 0:r.call(this,!1,!0,e);t&&t!==this._$AB;){const s=t.nextSibling;t.remove(),t=s}}setConnected(t){var e;this._$AM===void 0&&(this.v=t,(e=this._$AP)==null||e.call(this,t))}}class nt{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,e,r,s,i){this.type=1,this._$AH=g,this._$AN=void 0,this.element=t,this.name=e,this._$AM=s,this.options=i,r.length>2||r[0]!==""||r[1]!==""?(this._$AH=Array(r.length-1).fill(new String),this.strings=r):this._$AH=g}_$AI(t,e=this,r,s){const i=this.strings;let n=!1;if(i===void 0)t=B(this,t,e,0),n=!Y(t)||t!==this._$AH&&t!==w,n&&(this._$AH=t);else{const d=t;let l,c;for(t=i[0],l=0;l<i.length-1;l++)c=B(this,d[r+l],e,l),c===w&&(c=this._$AH[l]),n||(n=!Y(c)||c!==this._$AH[l]),c===g?t=g:t!==g&&(t+=(c??"")+i[l+1]),this._$AH[l]=c}n&&!s&&this.j(t)}j(t){t===g?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??"")}}class Re extends nt{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===g?void 0:t}}class Be extends nt{constructor(){super(...arguments),this.type=4}j(t){this.element.toggleAttribute(this.name,!!t&&t!==g)}}class Me extends nt{constructor(t,e,r,s,i){super(t,e,r,s,i),this.type=5}_$AI(t,e=this){if((t=B(this,t,e,0)??g)===w)return;const r=this._$AH,s=t===g&&r!==g||t.capture!==r.capture||t.once!==r.once||t.passive!==r.passive,i=t!==g&&(r===g||s);s&&this.element.removeEventListener(this.name,this,r),i&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){var e;typeof this._$AH=="function"?this._$AH.call(((e=this.options)==null?void 0:e.host)??this.element,t):this._$AH.handleEvent(t)}}class Ne{constructor(t,e,r){this.element=t,this.type=6,this._$AN=void 0,this._$AM=e,this.options=r}get _$AU(){return this._$AM._$AU}_$AI(t){B(this,t)}}const dt=W.litHtmlPolyfillSupport;dt==null||dt(J,G),(W.litHtmlVersions??(W.litHtmlVersions=[])).push("3.2.0");const De=(o,t,e)=>{const r=(e==null?void 0:e.renderBefore)??t;let s=r._$litPart$;if(s===void 0){const i=(e==null?void 0:e.renderBefore)??null;r._$litPart$=s=new G(t.insertBefore(Z(),i),i,void 0,e??{})}return s._$AI(o),s};/**
16
+ * @license
17
+ * Copyright 2017 Google LLC
18
+ * SPDX-License-Identifier: BSD-3-Clause
19
+ */class S extends I{constructor(){super(...arguments),this.renderOptions={host:this},this.o=void 0}createRenderRoot(){var e;const t=super.createRenderRoot();return(e=this.renderOptions).renderBefore??(e.renderBefore=t.firstChild),t}update(t){const e=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this.o=De(e,this.renderRoot,this.renderOptions)}connectedCallback(){var t;super.connectedCallback(),(t=this.o)==null||t.setConnected(!0)}disconnectedCallback(){var t;super.disconnectedCallback(),(t=this.o)==null||t.setConnected(!1)}render(){return w}}var Yt;S._$litElement$=!0,S.finalized=!0,(Yt=globalThis.litElementHydrateSupport)==null||Yt.call(globalThis,{LitElement:S});const ct=globalThis.litElementPolyfillSupport;ct==null||ct({LitElement:S});(globalThis.litElementVersions??(globalThis.litElementVersions=[])).push("4.1.0");var Fe=$`
20
+ :host {
21
+ --border-color: var(--sl-color-neutral-200);
22
+ --border-radius: var(--sl-border-radius-medium);
23
+ --border-width: 1px;
24
+ --padding: var(--sl-spacing-large);
25
+
26
+ display: inline-block;
27
+ }
28
+
29
+ .card {
30
+ display: flex;
31
+ flex-direction: column;
32
+ background-color: var(--sl-panel-background-color);
33
+ box-shadow: var(--sl-shadow-x-small);
34
+ border: solid var(--border-width) var(--border-color);
35
+ border-radius: var(--border-radius);
36
+ }
37
+
38
+ .card__image {
39
+ display: flex;
40
+ border-top-left-radius: var(--border-radius);
41
+ border-top-right-radius: var(--border-radius);
42
+ margin: calc(-1 * var(--border-width));
43
+ overflow: hidden;
44
+ }
45
+
46
+ .card__image::slotted(img) {
47
+ display: block;
48
+ width: 100%;
49
+ }
50
+
51
+ .card:not(.card--has-image) .card__image {
52
+ display: none;
53
+ }
54
+
55
+ .card__header {
56
+ display: block;
57
+ border-bottom: solid var(--border-width) var(--border-color);
58
+ padding: calc(var(--padding) / 2) var(--padding);
59
+ }
60
+
61
+ .card:not(.card--has-header) .card__header {
62
+ display: none;
63
+ }
64
+
65
+ .card:not(.card--has-image) .card__header {
66
+ border-top-left-radius: var(--border-radius);
67
+ border-top-right-radius: var(--border-radius);
68
+ }
69
+
70
+ .card__body {
71
+ display: block;
72
+ padding: var(--padding);
73
+ }
74
+
75
+ .card--has-footer .card__footer {
76
+ display: block;
77
+ border-top: solid var(--border-width) var(--border-color);
78
+ padding: var(--padding);
79
+ }
80
+
81
+ .card:not(.card--has-footer) .card__footer {
82
+ display: none;
83
+ }
84
+ `,St=class{constructor(o,...t){this.slotNames=[],this.handleSlotChange=e=>{const r=e.target;(this.slotNames.includes("[default]")&&!r.name||r.name&&this.slotNames.includes(r.name))&&this.host.requestUpdate()},(this.host=o).addController(this),this.slotNames=t}hasDefaultSlot(){return[...this.host.childNodes].some(o=>{if(o.nodeType===o.TEXT_NODE&&o.textContent.trim()!=="")return!0;if(o.nodeType===o.ELEMENT_NODE){const t=o;if(t.tagName.toLowerCase()==="sl-visually-hidden")return!1;if(!t.hasAttribute("slot"))return!0}return!1})}hasNamedSlot(o){return this.host.querySelector(`:scope > [slot="${o}"]`)!==null}test(o){return o==="[default]"?this.hasDefaultSlot():this.hasNamedSlot(o)}hostConnected(){this.host.shadowRoot.addEventListener("slotchange",this.handleSlotChange)}hostDisconnected(){this.host.shadowRoot.removeEventListener("slotchange",this.handleSlotChange)}},Q=$`
85
+ :host {
86
+ box-sizing: border-box;
87
+ }
88
+
89
+ :host *,
90
+ :host *::before,
91
+ :host *::after {
92
+ box-sizing: inherit;
93
+ }
94
+
95
+ [hidden] {
96
+ display: none !important;
97
+ }
98
+ `,ee=Object.defineProperty,He=Object.defineProperties,je=Object.getOwnPropertyDescriptor,qe=Object.getOwnPropertyDescriptors,Ft=Object.getOwnPropertySymbols,We=Object.prototype.hasOwnProperty,Ke=Object.prototype.propertyIsEnumerable,Ht=(o,t,e)=>t in o?ee(o,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):o[t]=e,X=(o,t)=>{for(var e in t||(t={}))We.call(t,e)&&Ht(o,e,t[e]);if(Ft)for(var e of Ft(t))Ke.call(t,e)&&Ht(o,e,t[e]);return o},oe=(o,t)=>He(o,qe(t)),a=(o,t,e,r)=>{for(var s=r>1?void 0:r?je(t,e):t,i=o.length-1,n;i>=0;i--)(n=o[i])&&(s=(r?n(t,e,s):n(s))||s);return r&&s&&ee(t,e,s),s};/**
99
+ * @license
100
+ * Copyright 2017 Google LLC
101
+ * SPDX-License-Identifier: BSD-3-Clause
102
+ */const Ze={attribute:!0,type:String,converter:R,reflect:!1,hasChanged:Ct},Ye=(o=Ze,t,e)=>{const{kind:r,metadata:s}=e;let i=globalThis.litPropertyMetadata.get(s);if(i===void 0&&globalThis.litPropertyMetadata.set(s,i=new Map),i.set(e.name,o),r==="accessor"){const{name:n}=e;return{set(d){const l=t.get.call(this);t.set.call(this,d),this.requestUpdate(n,l,o)},init(d){return d!==void 0&&this.P(n,void 0,o),d}}}if(r==="setter"){const{name:n}=e;return function(d){const l=this[n];t.call(this,d),this.requestUpdate(n,l,o)}}throw Error("Unsupported decorator location: "+r)};function u(o){return(t,e)=>typeof e=="object"?Ye(o,t,e):((r,s,i)=>{const n=s.hasOwnProperty(i);return s.constructor.createProperty(i,n?{...r,wrapped:!0}:r),n?Object.getOwnPropertyDescriptor(s,i):void 0})(o,t,e)}/**
103
+ * @license
104
+ * Copyright 2017 Google LLC
105
+ * SPDX-License-Identifier: BSD-3-Clause
106
+ */function at(o){return u({...o,state:!0,attribute:!1})}/**
107
+ * @license
108
+ * Copyright 2017 Google LLC
109
+ * SPDX-License-Identifier: BSD-3-Clause
110
+ */const Je=(o,t,e)=>(e.configurable=!0,e.enumerable=!0,Reflect.decorate&&typeof t!="object"&&Object.defineProperty(o,t,e),e);/**
111
+ * @license
112
+ * Copyright 2017 Google LLC
113
+ * SPDX-License-Identifier: BSD-3-Clause
114
+ */function re(o,t){return(e,r,s)=>{const i=n=>{var d;return((d=n.renderRoot)==null?void 0:d.querySelector(o))??null};return Je(e,r,{get(){return i(this)}})}}var k=class extends S{constructor(){super(),Object.entries(this.constructor.dependencies).forEach(([o,t])=>{this.constructor.define(o,t)})}emit(o,t){const e=new CustomEvent(o,X({bubbles:!0,cancelable:!1,composed:!0,detail:{}},t));return this.dispatchEvent(e),e}static define(o,t=this,e={}){const r=customElements.get(o);if(!r){try{customElements.define(o,t,e)}catch{customElements.define(o,class extends t{},e)}return}let s=" (unknown version)",i=s;"version"in t&&t.version&&(s=" v"+t.version),"version"in r&&r.version&&(i=" v"+r.version),!(s&&i&&s===i)&&console.warn(`Attempted to register <${o}>${s}, but <${o}>${i} has already been registered.`)}};k.version="2.16.0";k.dependencies={};a([u()],k.prototype,"dir",2);a([u()],k.prototype,"lang",2);/**
115
+ * @license
116
+ * Copyright 2017 Google LLC
117
+ * SPDX-License-Identifier: BSD-3-Clause
118
+ */const T={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},se=o=>(...t)=>({_$litDirective$:o,values:t});class ie{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,r){this.t=t,this._$AM=e,this.i=r}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}}/**
119
+ * @license
120
+ * Copyright 2018 Google LLC
121
+ * SPDX-License-Identifier: BSD-3-Clause
122
+ */const it=se(class extends ie{constructor(o){var t;if(super(o),o.type!==T.ATTRIBUTE||o.name!=="class"||((t=o.strings)==null?void 0:t.length)>2)throw Error("`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.")}render(o){return" "+Object.keys(o).filter(t=>o[t]).join(" ")+" "}update(o,[t]){var r,s;if(this.st===void 0){this.st=new Set,o.strings!==void 0&&(this.nt=new Set(o.strings.join(" ").split(/\s/).filter(i=>i!=="")));for(const i in t)t[i]&&!((r=this.nt)!=null&&r.has(i))&&this.st.add(i);return this.render(t)}const e=o.element.classList;for(const i of this.st)i in t||(e.remove(i),this.st.delete(i));for(const i in t){const n=!!t[i];n===this.st.has(i)||(s=this.nt)!=null&&s.has(i)||(n?(e.add(i),this.st.add(i)):(e.remove(i),this.st.delete(i)))}return w}});var ne=class extends k{constructor(){super(...arguments),this.hasSlotController=new St(this,"footer","header","image")}render(){return v`
123
+ <div
124
+ part="base"
125
+ class=${it({card:!0,"card--has-footer":this.hasSlotController.test("footer"),"card--has-image":this.hasSlotController.test("image"),"card--has-header":this.hasSlotController.test("header")})}
126
+ >
127
+ <slot name="image" part="image" class="card__image"></slot>
128
+ <slot name="header" part="header" class="card__header"></slot>
129
+ <slot part="body" class="card__body"></slot>
130
+ <slot name="footer" part="footer" class="card__footer"></slot>
131
+ </div>
132
+ `}};ne.styles=[Q,Fe];ne.define("sl-card");var Ge=$`
133
+ :host {
134
+ display: block;
135
+ }
136
+
137
+ .input {
138
+ flex: 1 1 auto;
139
+ display: inline-flex;
140
+ align-items: stretch;
141
+ justify-content: start;
142
+ position: relative;
143
+ width: 100%;
144
+ font-family: var(--sl-input-font-family);
145
+ font-weight: var(--sl-input-font-weight);
146
+ letter-spacing: var(--sl-input-letter-spacing);
147
+ vertical-align: middle;
148
+ overflow: hidden;
149
+ cursor: text;
150
+ transition:
151
+ var(--sl-transition-fast) color,
152
+ var(--sl-transition-fast) border,
153
+ var(--sl-transition-fast) box-shadow,
154
+ var(--sl-transition-fast) background-color;
155
+ }
156
+
157
+ /* Standard inputs */
158
+ .input--standard {
159
+ background-color: var(--sl-input-background-color);
160
+ border: solid var(--sl-input-border-width) var(--sl-input-border-color);
161
+ }
162
+
163
+ .input--standard:hover:not(.input--disabled) {
164
+ background-color: var(--sl-input-background-color-hover);
165
+ border-color: var(--sl-input-border-color-hover);
166
+ }
167
+
168
+ .input--standard.input--focused:not(.input--disabled) {
169
+ background-color: var(--sl-input-background-color-focus);
170
+ border-color: var(--sl-input-border-color-focus);
171
+ box-shadow: 0 0 0 var(--sl-focus-ring-width) var(--sl-input-focus-ring-color);
172
+ }
173
+
174
+ .input--standard.input--focused:not(.input--disabled) .input__control {
175
+ color: var(--sl-input-color-focus);
176
+ }
177
+
178
+ .input--standard.input--disabled {
179
+ background-color: var(--sl-input-background-color-disabled);
180
+ border-color: var(--sl-input-border-color-disabled);
181
+ opacity: 0.5;
182
+ cursor: not-allowed;
183
+ }
184
+
185
+ .input--standard.input--disabled .input__control {
186
+ color: var(--sl-input-color-disabled);
187
+ }
188
+
189
+ .input--standard.input--disabled .input__control::placeholder {
190
+ color: var(--sl-input-placeholder-color-disabled);
191
+ }
192
+
193
+ /* Filled inputs */
194
+ .input--filled {
195
+ border: none;
196
+ background-color: var(--sl-input-filled-background-color);
197
+ color: var(--sl-input-color);
198
+ }
199
+
200
+ .input--filled:hover:not(.input--disabled) {
201
+ background-color: var(--sl-input-filled-background-color-hover);
202
+ }
203
+
204
+ .input--filled.input--focused:not(.input--disabled) {
205
+ background-color: var(--sl-input-filled-background-color-focus);
206
+ outline: var(--sl-focus-ring);
207
+ outline-offset: var(--sl-focus-ring-offset);
208
+ }
209
+
210
+ .input--filled.input--disabled {
211
+ background-color: var(--sl-input-filled-background-color-disabled);
212
+ opacity: 0.5;
213
+ cursor: not-allowed;
214
+ }
215
+
216
+ .input__control {
217
+ flex: 1 1 auto;
218
+ font-family: inherit;
219
+ font-size: inherit;
220
+ font-weight: inherit;
221
+ min-width: 0;
222
+ height: 100%;
223
+ color: var(--sl-input-color);
224
+ border: none;
225
+ background: inherit;
226
+ box-shadow: none;
227
+ padding: 0;
228
+ margin: 0;
229
+ cursor: inherit;
230
+ -webkit-appearance: none;
231
+ }
232
+
233
+ .input__control::-webkit-search-decoration,
234
+ .input__control::-webkit-search-cancel-button,
235
+ .input__control::-webkit-search-results-button,
236
+ .input__control::-webkit-search-results-decoration {
237
+ -webkit-appearance: none;
238
+ }
239
+
240
+ .input__control:-webkit-autofill,
241
+ .input__control:-webkit-autofill:hover,
242
+ .input__control:-webkit-autofill:focus,
243
+ .input__control:-webkit-autofill:active {
244
+ box-shadow: 0 0 0 var(--sl-input-height-large) var(--sl-input-background-color-hover) inset !important;
245
+ -webkit-text-fill-color: var(--sl-color-primary-500);
246
+ caret-color: var(--sl-input-color);
247
+ }
248
+
249
+ .input--filled .input__control:-webkit-autofill,
250
+ .input--filled .input__control:-webkit-autofill:hover,
251
+ .input--filled .input__control:-webkit-autofill:focus,
252
+ .input--filled .input__control:-webkit-autofill:active {
253
+ box-shadow: 0 0 0 var(--sl-input-height-large) var(--sl-input-filled-background-color) inset !important;
254
+ }
255
+
256
+ .input__control::placeholder {
257
+ color: var(--sl-input-placeholder-color);
258
+ user-select: none;
259
+ -webkit-user-select: none;
260
+ }
261
+
262
+ .input:hover:not(.input--disabled) .input__control {
263
+ color: var(--sl-input-color-hover);
264
+ }
265
+
266
+ .input__control:focus {
267
+ outline: none;
268
+ }
269
+
270
+ .input__prefix,
271
+ .input__suffix {
272
+ display: inline-flex;
273
+ flex: 0 0 auto;
274
+ align-items: center;
275
+ cursor: default;
276
+ }
277
+
278
+ .input__prefix ::slotted(sl-icon),
279
+ .input__suffix ::slotted(sl-icon) {
280
+ color: var(--sl-input-icon-color);
281
+ }
282
+
283
+ /*
284
+ * Size modifiers
285
+ */
286
+
287
+ .input--small {
288
+ border-radius: var(--sl-input-border-radius-small);
289
+ font-size: var(--sl-input-font-size-small);
290
+ height: var(--sl-input-height-small);
291
+ }
292
+
293
+ .input--small .input__control {
294
+ height: calc(var(--sl-input-height-small) - var(--sl-input-border-width) * 2);
295
+ padding: 0 var(--sl-input-spacing-small);
296
+ }
297
+
298
+ .input--small .input__clear,
299
+ .input--small .input__password-toggle {
300
+ width: calc(1em + var(--sl-input-spacing-small) * 2);
301
+ }
302
+
303
+ .input--small .input__prefix ::slotted(*) {
304
+ margin-inline-start: var(--sl-input-spacing-small);
305
+ }
306
+
307
+ .input--small .input__suffix ::slotted(*) {
308
+ margin-inline-end: var(--sl-input-spacing-small);
309
+ }
310
+
311
+ .input--medium {
312
+ border-radius: var(--sl-input-border-radius-medium);
313
+ font-size: var(--sl-input-font-size-medium);
314
+ height: var(--sl-input-height-medium);
315
+ }
316
+
317
+ .input--medium .input__control {
318
+ height: calc(var(--sl-input-height-medium) - var(--sl-input-border-width) * 2);
319
+ padding: 0 var(--sl-input-spacing-medium);
320
+ }
321
+
322
+ .input--medium .input__clear,
323
+ .input--medium .input__password-toggle {
324
+ width: calc(1em + var(--sl-input-spacing-medium) * 2);
325
+ }
326
+
327
+ .input--medium .input__prefix ::slotted(*) {
328
+ margin-inline-start: var(--sl-input-spacing-medium);
329
+ }
330
+
331
+ .input--medium .input__suffix ::slotted(*) {
332
+ margin-inline-end: var(--sl-input-spacing-medium);
333
+ }
334
+
335
+ .input--large {
336
+ border-radius: var(--sl-input-border-radius-large);
337
+ font-size: var(--sl-input-font-size-large);
338
+ height: var(--sl-input-height-large);
339
+ }
340
+
341
+ .input--large .input__control {
342
+ height: calc(var(--sl-input-height-large) - var(--sl-input-border-width) * 2);
343
+ padding: 0 var(--sl-input-spacing-large);
344
+ }
345
+
346
+ .input--large .input__clear,
347
+ .input--large .input__password-toggle {
348
+ width: calc(1em + var(--sl-input-spacing-large) * 2);
349
+ }
350
+
351
+ .input--large .input__prefix ::slotted(*) {
352
+ margin-inline-start: var(--sl-input-spacing-large);
353
+ }
354
+
355
+ .input--large .input__suffix ::slotted(*) {
356
+ margin-inline-end: var(--sl-input-spacing-large);
357
+ }
358
+
359
+ /*
360
+ * Pill modifier
361
+ */
362
+
363
+ .input--pill.input--small {
364
+ border-radius: var(--sl-input-height-small);
365
+ }
366
+
367
+ .input--pill.input--medium {
368
+ border-radius: var(--sl-input-height-medium);
369
+ }
370
+
371
+ .input--pill.input--large {
372
+ border-radius: var(--sl-input-height-large);
373
+ }
374
+
375
+ /*
376
+ * Clearable + Password Toggle
377
+ */
378
+
379
+ .input__clear,
380
+ .input__password-toggle {
381
+ display: inline-flex;
382
+ align-items: center;
383
+ justify-content: center;
384
+ font-size: inherit;
385
+ color: var(--sl-input-icon-color);
386
+ border: none;
387
+ background: none;
388
+ padding: 0;
389
+ transition: var(--sl-transition-fast) color;
390
+ cursor: pointer;
391
+ }
392
+
393
+ .input__clear:hover,
394
+ .input__password-toggle:hover {
395
+ color: var(--sl-input-icon-color-hover);
396
+ }
397
+
398
+ .input__clear:focus,
399
+ .input__password-toggle:focus {
400
+ outline: none;
401
+ }
402
+
403
+ /* Don't show the browser's password toggle in Edge */
404
+ ::-ms-reveal {
405
+ display: none;
406
+ }
407
+
408
+ /* Hide the built-in number spinner */
409
+ .input--no-spin-buttons input[type='number']::-webkit-outer-spin-button,
410
+ .input--no-spin-buttons input[type='number']::-webkit-inner-spin-button {
411
+ -webkit-appearance: none;
412
+ display: none;
413
+ }
414
+
415
+ .input--no-spin-buttons input[type='number'] {
416
+ -moz-appearance: textfield;
417
+ }
418
+ `,Qe=(o="value")=>(t,e)=>{const r=t.constructor,s=r.prototype.attributeChangedCallback;r.prototype.attributeChangedCallback=function(i,n,d){var l;const c=r.getPropertyOptions(o),b=typeof c.attribute=="string"?c.attribute:o;if(i===b){const p=c.converter||R,y=(typeof p=="function"?p:(l=p==null?void 0:p.fromAttribute)!=null?l:R.fromAttribute)(d,c.type);this[o]!==y&&(this[e]=y)}s.call(this,i,n,d)}},Xe=$`
419
+ .form-control .form-control__label {
420
+ display: none;
421
+ }
422
+
423
+ .form-control .form-control__help-text {
424
+ display: none;
425
+ }
426
+
427
+ /* Label */
428
+ .form-control--has-label .form-control__label {
429
+ display: inline-block;
430
+ color: var(--sl-input-label-color);
431
+ margin-bottom: var(--sl-spacing-3x-small);
432
+ }
433
+
434
+ .form-control--has-label.form-control--small .form-control__label {
435
+ font-size: var(--sl-input-label-font-size-small);
436
+ }
437
+
438
+ .form-control--has-label.form-control--medium .form-control__label {
439
+ font-size: var(--sl-input-label-font-size-medium);
440
+ }
441
+
442
+ .form-control--has-label.form-control--large .form-control__label {
443
+ font-size: var(--sl-input-label-font-size-large);
444
+ }
445
+
446
+ :host([required]) .form-control--has-label .form-control__label::after {
447
+ content: var(--sl-input-required-content);
448
+ margin-inline-start: var(--sl-input-required-content-offset);
449
+ color: var(--sl-input-required-content-color);
450
+ }
451
+
452
+ /* Help text */
453
+ .form-control--has-help-text .form-control__help-text {
454
+ display: block;
455
+ color: var(--sl-input-help-text-color);
456
+ margin-top: var(--sl-spacing-3x-small);
457
+ }
458
+
459
+ .form-control--has-help-text.form-control--small .form-control__help-text {
460
+ font-size: var(--sl-input-help-text-font-size-small);
461
+ }
462
+
463
+ .form-control--has-help-text.form-control--medium .form-control__help-text {
464
+ font-size: var(--sl-input-help-text-font-size-medium);
465
+ }
466
+
467
+ .form-control--has-help-text.form-control--large .form-control__help-text {
468
+ font-size: var(--sl-input-help-text-font-size-large);
469
+ }
470
+
471
+ .form-control--has-help-text.form-control--radio-group .form-control__help-text {
472
+ margin-top: var(--sl-spacing-2x-small);
473
+ }
474
+ `,D=new WeakMap,F=new WeakMap,H=new WeakMap,ht=new WeakSet,et=new WeakMap,ae=class{constructor(o,t){this.handleFormData=e=>{const r=this.options.disabled(this.host),s=this.options.name(this.host),i=this.options.value(this.host),n=this.host.tagName.toLowerCase()==="sl-button";this.host.isConnected&&!r&&!n&&typeof s=="string"&&s.length>0&&typeof i<"u"&&(Array.isArray(i)?i.forEach(d=>{e.formData.append(s,d.toString())}):e.formData.append(s,i.toString()))},this.handleFormSubmit=e=>{var r;const s=this.options.disabled(this.host),i=this.options.reportValidity;this.form&&!this.form.noValidate&&((r=D.get(this.form))==null||r.forEach(n=>{this.setUserInteracted(n,!0)})),this.form&&!this.form.noValidate&&!s&&!i(this.host)&&(e.preventDefault(),e.stopImmediatePropagation())},this.handleFormReset=()=>{this.options.setValue(this.host,this.options.defaultValue(this.host)),this.setUserInteracted(this.host,!1),et.set(this.host,[])},this.handleInteraction=e=>{const r=et.get(this.host);r.includes(e.type)||r.push(e.type),r.length===this.options.assumeInteractionOn.length&&this.setUserInteracted(this.host,!0)},this.checkFormValidity=()=>{if(this.form&&!this.form.noValidate){const e=this.form.querySelectorAll("*");for(const r of e)if(typeof r.checkValidity=="function"&&!r.checkValidity())return!1}return!0},this.reportFormValidity=()=>{if(this.form&&!this.form.noValidate){const e=this.form.querySelectorAll("*");for(const r of e)if(typeof r.reportValidity=="function"&&!r.reportValidity())return!1}return!0},(this.host=o).addController(this),this.options=X({form:e=>{const r=e.form;if(r){const i=e.getRootNode().querySelector(`#${r}`);if(i)return i}return e.closest("form")},name:e=>e.name,value:e=>e.value,defaultValue:e=>e.defaultValue,disabled:e=>{var r;return(r=e.disabled)!=null?r:!1},reportValidity:e=>typeof e.reportValidity=="function"?e.reportValidity():!0,checkValidity:e=>typeof e.checkValidity=="function"?e.checkValidity():!0,setValue:(e,r)=>e.value=r,assumeInteractionOn:["sl-input"]},t)}hostConnected(){const o=this.options.form(this.host);o&&this.attachForm(o),et.set(this.host,[]),this.options.assumeInteractionOn.forEach(t=>{this.host.addEventListener(t,this.handleInteraction)})}hostDisconnected(){this.detachForm(),et.delete(this.host),this.options.assumeInteractionOn.forEach(o=>{this.host.removeEventListener(o,this.handleInteraction)})}hostUpdated(){const o=this.options.form(this.host);o||this.detachForm(),o&&this.form!==o&&(this.detachForm(),this.attachForm(o)),this.host.hasUpdated&&this.setValidity(this.host.validity.valid)}attachForm(o){o?(this.form=o,D.has(this.form)?D.get(this.form).add(this.host):D.set(this.form,new Set([this.host])),this.form.addEventListener("formdata",this.handleFormData),this.form.addEventListener("submit",this.handleFormSubmit),this.form.addEventListener("reset",this.handleFormReset),F.has(this.form)||(F.set(this.form,this.form.reportValidity),this.form.reportValidity=()=>this.reportFormValidity()),H.has(this.form)||(H.set(this.form,this.form.checkValidity),this.form.checkValidity=()=>this.checkFormValidity())):this.form=void 0}detachForm(){if(!this.form)return;const o=D.get(this.form);o&&(o.delete(this.host),o.size<=0&&(this.form.removeEventListener("formdata",this.handleFormData),this.form.removeEventListener("submit",this.handleFormSubmit),this.form.removeEventListener("reset",this.handleFormReset),F.has(this.form)&&(this.form.reportValidity=F.get(this.form),F.delete(this.form)),H.has(this.form)&&(this.form.checkValidity=H.get(this.form),H.delete(this.form)),this.form=void 0))}setUserInteracted(o,t){t?ht.add(o):ht.delete(o),o.requestUpdate()}doAction(o,t){if(this.form){const e=document.createElement("button");e.type=o,e.style.position="absolute",e.style.width="0",e.style.height="0",e.style.clipPath="inset(50%)",e.style.overflow="hidden",e.style.whiteSpace="nowrap",t&&(e.name=t.name,e.value=t.value,["formaction","formenctype","formmethod","formnovalidate","formtarget"].forEach(r=>{t.hasAttribute(r)&&e.setAttribute(r,t.getAttribute(r))})),this.form.append(e),e.click(),e.remove()}}getForm(){var o;return(o=this.form)!=null?o:null}reset(o){this.doAction("reset",o)}submit(o){this.doAction("submit",o)}setValidity(o){const t=this.host,e=!!ht.has(t),r=!!t.required;t.toggleAttribute("data-required",r),t.toggleAttribute("data-optional",!r),t.toggleAttribute("data-invalid",!o),t.toggleAttribute("data-valid",o),t.toggleAttribute("data-user-invalid",!o&&e),t.toggleAttribute("data-user-valid",o&&e)}updateValidity(){const o=this.host;this.setValidity(o.validity.valid)}emitInvalidEvent(o){const t=new CustomEvent("sl-invalid",{bubbles:!1,composed:!1,cancelable:!0,detail:{}});o||t.preventDefault(),this.host.dispatchEvent(t)||o==null||o.preventDefault()}},Et=Object.freeze({badInput:!1,customError:!1,patternMismatch:!1,rangeOverflow:!1,rangeUnderflow:!1,stepMismatch:!1,tooLong:!1,tooShort:!1,typeMismatch:!1,valid:!0,valueMissing:!1});Object.freeze(oe(X({},Et),{valid:!1,valueMissing:!0}));Object.freeze(oe(X({},Et),{valid:!1,customError:!0}));const gt=new Set,V=new Map;let z,Pt="ltr",Tt="en";const le=typeof MutationObserver<"u"&&typeof document<"u"&&typeof document.documentElement<"u";if(le){const o=new MutationObserver(de);Pt=document.documentElement.dir||"ltr",Tt=document.documentElement.lang||navigator.language,o.observe(document.documentElement,{attributes:!0,attributeFilter:["dir","lang"]})}function ue(...o){o.map(t=>{const e=t.$code.toLowerCase();V.has(e)?V.set(e,Object.assign(Object.assign({},V.get(e)),t)):V.set(e,t),z||(z=t)}),de()}function de(){le&&(Pt=document.documentElement.dir||"ltr",Tt=document.documentElement.lang||navigator.language),[...gt.keys()].map(o=>{typeof o.requestUpdate=="function"&&o.requestUpdate()})}let to=class{constructor(t){this.host=t,this.host.addController(this)}hostConnected(){gt.add(this.host)}hostDisconnected(){gt.delete(this.host)}dir(){return`${this.host.dir||Pt}`.toLowerCase()}lang(){return`${this.host.lang||Tt}`.toLowerCase()}getTranslationData(t){var e,r;const s=new Intl.Locale(t.replace(/_/g,"-")),i=s==null?void 0:s.language.toLowerCase(),n=(r=(e=s==null?void 0:s.region)===null||e===void 0?void 0:e.toLowerCase())!==null&&r!==void 0?r:"",d=V.get(`${i}-${n}`),l=V.get(i);return{locale:s,language:i,region:n,primary:d,secondary:l}}exists(t,e){var r;const{primary:s,secondary:i}=this.getTranslationData((r=e.lang)!==null&&r!==void 0?r:this.lang());return e=Object.assign({includeFallback:!1},e),!!(s&&s[t]||i&&i[t]||e.includeFallback&&z&&z[t])}term(t,...e){const{primary:r,secondary:s}=this.getTranslationData(this.lang());let i;if(r&&r[t])i=r[t];else if(s&&s[t])i=s[t];else if(z&&z[t])i=z[t];else return console.error(`No translation found for: ${String(t)}`),String(t);return typeof i=="function"?i(...e):i}date(t,e){return t=new Date(t),new Intl.DateTimeFormat(this.lang(),e).format(t)}number(t,e){return t=Number(t),isNaN(t)?"":new Intl.NumberFormat(this.lang(),e).format(t)}relativeTime(t,e,r){return new Intl.RelativeTimeFormat(this.lang(),r).format(t,e)}};var ce={$code:"en",$name:"English",$dir:"ltr",carousel:"Carousel",clearEntry:"Clear entry",close:"Close",copied:"Copied",copy:"Copy",currentValue:"Current value",error:"Error",goToSlide:(o,t)=>`Go to slide ${o} of ${t}`,hidePassword:"Hide password",loading:"Loading",nextSlide:"Next slide",numOptionsSelected:o=>o===0?"No options selected":o===1?"1 option selected":`${o} options selected`,previousSlide:"Previous slide",progress:"Progress",remove:"Remove",resize:"Resize",scrollToEnd:"Scroll to end",scrollToStart:"Scroll to start",selectAColorFromTheScreen:"Select a color from the screen",showPassword:"Show password",slideNum:o=>`Slide ${o}`,toggleColorFormat:"Toggle color format"};ue(ce);var eo=ce,zt=class extends to{};ue(eo);var vt="";function jt(o){vt=o}function oo(o=""){if(!vt){const t=[...document.getElementsByTagName("script")],e=t.find(r=>r.hasAttribute("data-shoelace"));if(e)jt(e.getAttribute("data-shoelace"));else{const r=t.find(i=>/shoelace(\.min)?\.js($|\?)/.test(i.src)||/shoelace-autoloader(\.min)?\.js($|\?)/.test(i.src));let s="";r&&(s=r.getAttribute("src")),jt(s.split("/").slice(0,-1).join("/"))}}return vt.replace(/\/$/,"")+(o?`/${o.replace(/^\//,"")}`:"")}var ro={name:"default",resolver:o=>oo(`assets/icons/${o}.svg`)},so=ro,qt={caret:`
475
+ <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
476
+ <polyline points="6 9 12 15 18 9"></polyline>
477
+ </svg>
478
+ `,check:`
479
+ <svg part="checked-icon" class="checkbox__icon" viewBox="0 0 16 16">
480
+ <g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" stroke-linecap="round">
481
+ <g stroke="currentColor">
482
+ <g transform="translate(3.428571, 3.428571)">
483
+ <path d="M0,5.71428571 L3.42857143,9.14285714"></path>
484
+ <path d="M9.14285714,0 L3.42857143,9.14285714"></path>
485
+ </g>
486
+ </g>
487
+ </g>
488
+ </svg>
489
+ `,"chevron-down":`
490
+ <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-chevron-down" viewBox="0 0 16 16">
491
+ <path fill-rule="evenodd" d="M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z"/>
492
+ </svg>
493
+ `,"chevron-left":`
494
+ <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-chevron-left" viewBox="0 0 16 16">
495
+ <path fill-rule="evenodd" d="M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z"/>
496
+ </svg>
497
+ `,"chevron-right":`
498
+ <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-chevron-right" viewBox="0 0 16 16">
499
+ <path fill-rule="evenodd" d="M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z"/>
500
+ </svg>
501
+ `,copy:`
502
+ <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-copy" viewBox="0 0 16 16">
503
+ <path fill-rule="evenodd" d="M4 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V2Zm2-1a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H6ZM2 5a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1v-1h1v1a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h1v1H2Z"/>
504
+ </svg>
505
+ `,eye:`
506
+ <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-eye" viewBox="0 0 16 16">
507
+ <path d="M16 8s-3-5.5-8-5.5S0 8 0 8s3 5.5 8 5.5S16 8 16 8zM1.173 8a13.133 13.133 0 0 1 1.66-2.043C4.12 4.668 5.88 3.5 8 3.5c2.12 0 3.879 1.168 5.168 2.457A13.133 13.133 0 0 1 14.828 8c-.058.087-.122.183-.195.288-.335.48-.83 1.12-1.465 1.755C11.879 11.332 10.119 12.5 8 12.5c-2.12 0-3.879-1.168-5.168-2.457A13.134 13.134 0 0 1 1.172 8z"/>
508
+ <path d="M8 5.5a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5zM4.5 8a3.5 3.5 0 1 1 7 0 3.5 3.5 0 0 1-7 0z"/>
509
+ </svg>
510
+ `,"eye-slash":`
511
+ <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-eye-slash" viewBox="0 0 16 16">
512
+ <path d="M13.359 11.238C15.06 9.72 16 8 16 8s-3-5.5-8-5.5a7.028 7.028 0 0 0-2.79.588l.77.771A5.944 5.944 0 0 1 8 3.5c2.12 0 3.879 1.168 5.168 2.457A13.134 13.134 0 0 1 14.828 8c-.058.087-.122.183-.195.288-.335.48-.83 1.12-1.465 1.755-.165.165-.337.328-.517.486l.708.709z"/>
513
+ <path d="M11.297 9.176a3.5 3.5 0 0 0-4.474-4.474l.823.823a2.5 2.5 0 0 1 2.829 2.829l.822.822zm-2.943 1.299.822.822a3.5 3.5 0 0 1-4.474-4.474l.823.823a2.5 2.5 0 0 0 2.829 2.829z"/>
514
+ <path d="M3.35 5.47c-.18.16-.353.322-.518.487A13.134 13.134 0 0 0 1.172 8l.195.288c.335.48.83 1.12 1.465 1.755C4.121 11.332 5.881 12.5 8 12.5c.716 0 1.39-.133 2.02-.36l.77.772A7.029 7.029 0 0 1 8 13.5C3 13.5 0 8 0 8s.939-1.721 2.641-3.238l.708.709zm10.296 8.884-12-12 .708-.708 12 12-.708.708z"/>
515
+ </svg>
516
+ `,eyedropper:`
517
+ <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-eyedropper" viewBox="0 0 16 16">
518
+ <path d="M13.354.646a1.207 1.207 0 0 0-1.708 0L8.5 3.793l-.646-.647a.5.5 0 1 0-.708.708L8.293 5l-7.147 7.146A.5.5 0 0 0 1 12.5v1.793l-.854.853a.5.5 0 1 0 .708.707L1.707 15H3.5a.5.5 0 0 0 .354-.146L11 7.707l1.146 1.147a.5.5 0 0 0 .708-.708l-.647-.646 3.147-3.146a1.207 1.207 0 0 0 0-1.708l-2-2zM2 12.707l7-7L10.293 7l-7 7H2v-1.293z"></path>
519
+ </svg>
520
+ `,"grip-vertical":`
521
+ <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-grip-vertical" viewBox="0 0 16 16">
522
+ <path d="M7 2a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm3 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0zM7 5a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm3 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0zM7 8a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm3 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm-3 3a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm3 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm-3 3a1 1 0 1 1-2 0 1 1 0 0 1 2 0zm3 0a1 1 0 1 1-2 0 1 1 0 0 1 2 0z"></path>
523
+ </svg>
524
+ `,indeterminate:`
525
+ <svg part="indeterminate-icon" class="checkbox__icon" viewBox="0 0 16 16">
526
+ <g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" stroke-linecap="round">
527
+ <g stroke="currentColor" stroke-width="2">
528
+ <g transform="translate(2.285714, 6.857143)">
529
+ <path d="M10.2857143,1.14285714 L1.14285714,1.14285714"></path>
530
+ </g>
531
+ </g>
532
+ </g>
533
+ </svg>
534
+ `,"person-fill":`
535
+ <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-person-fill" viewBox="0 0 16 16">
536
+ <path d="M3 14s-1 0-1-1 1-4 6-4 6 3 6 4-1 1-1 1H3zm5-6a3 3 0 1 0 0-6 3 3 0 0 0 0 6z"/>
537
+ </svg>
538
+ `,"play-fill":`
539
+ <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-play-fill" viewBox="0 0 16 16">
540
+ <path d="m11.596 8.697-6.363 3.692c-.54.313-1.233-.066-1.233-.697V4.308c0-.63.692-1.01 1.233-.696l6.363 3.692a.802.802 0 0 1 0 1.393z"></path>
541
+ </svg>
542
+ `,"pause-fill":`
543
+ <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-pause-fill" viewBox="0 0 16 16">
544
+ <path d="M5.5 3.5A1.5 1.5 0 0 1 7 5v6a1.5 1.5 0 0 1-3 0V5a1.5 1.5 0 0 1 1.5-1.5zm5 0A1.5 1.5 0 0 1 12 5v6a1.5 1.5 0 0 1-3 0V5a1.5 1.5 0 0 1 1.5-1.5z"></path>
545
+ </svg>
546
+ `,radio:`
547
+ <svg part="checked-icon" class="radio__icon" viewBox="0 0 16 16">
548
+ <g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
549
+ <g fill="currentColor">
550
+ <circle cx="8" cy="8" r="3.42857143"></circle>
551
+ </g>
552
+ </g>
553
+ </svg>
554
+ `,"star-fill":`
555
+ <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-star-fill" viewBox="0 0 16 16">
556
+ <path d="M3.612 15.443c-.386.198-.824-.149-.746-.592l.83-4.73L.173 6.765c-.329-.314-.158-.888.283-.95l4.898-.696L7.538.792c.197-.39.73-.39.927 0l2.184 4.327 4.898.696c.441.062.612.636.282.95l-3.522 3.356.83 4.73c.078.443-.36.79-.746.592L8 13.187l-4.389 2.256z"/>
557
+ </svg>
558
+ `,"x-lg":`
559
+ <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-x-lg" viewBox="0 0 16 16">
560
+ <path d="M2.146 2.854a.5.5 0 1 1 .708-.708L8 7.293l5.146-5.147a.5.5 0 0 1 .708.708L8.707 8l5.147 5.146a.5.5 0 0 1-.708.708L8 8.707l-5.146 5.147a.5.5 0 0 1-.708-.708L7.293 8 2.146 2.854Z"/>
561
+ </svg>
562
+ `,"x-circle-fill":`
563
+ <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-x-circle-fill" viewBox="0 0 16 16">
564
+ <path d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM5.354 4.646a.5.5 0 1 0-.708.708L7.293 8l-2.647 2.646a.5.5 0 0 0 .708.708L8 8.707l2.646 2.647a.5.5 0 0 0 .708-.708L8.707 8l2.647-2.646a.5.5 0 0 0-.708-.708L8 7.293 5.354 4.646z"></path>
565
+ </svg>
566
+ `},io={name:"system",resolver:o=>o in qt?`data:image/svg+xml,${encodeURIComponent(qt[o])}`:""},no=io,ao=[so,no],yt=[];function lo(o){yt.push(o)}function uo(o){yt=yt.filter(t=>t!==o)}function Wt(o){return ao.find(t=>t.name===o)}var co=$`
567
+ :host {
568
+ display: inline-block;
569
+ width: 1em;
570
+ height: 1em;
571
+ box-sizing: content-box !important;
572
+ }
573
+
574
+ svg {
575
+ display: block;
576
+ height: 100%;
577
+ width: 100%;
578
+ }
579
+ `;function M(o,t){const e=X({waitUntilFirstUpdate:!1},t);return(r,s)=>{const{update:i}=r,n=Array.isArray(o)?o:[o];r.update=function(d){n.forEach(l=>{const c=l;if(d.has(c)){const b=d.get(c),p=this[c];b!==p&&(!e.waitUntilFirstUpdate||this.hasUpdated)&&this[s](b,p)}}),i.call(this,d)}}}/**
580
+ * @license
581
+ * Copyright 2020 Google LLC
582
+ * SPDX-License-Identifier: BSD-3-Clause
583
+ */const ho=(o,t)=>(o==null?void 0:o._$litType$)!==void 0,po=o=>o.strings===void 0,bo={},fo=(o,t=bo)=>o._$AH=t;var j=Symbol(),ot=Symbol(),pt,bt=new Map,x=class extends k{constructor(){super(...arguments),this.initialRender=!1,this.svg=null,this.label="",this.library="default"}async resolveIcon(o,t){var e;let r;if(t!=null&&t.spriteSheet){this.svg=v`<svg part="svg">
584
+ <use part="use" href="${o}"></use>
585
+ </svg>`,await this.updateComplete;const s=this.shadowRoot.querySelector("[part='svg']");return typeof t.mutator=="function"&&t.mutator(s),this.svg}try{if(r=await fetch(o,{mode:"cors"}),!r.ok)return r.status===410?j:ot}catch{return ot}try{const s=document.createElement("div");s.innerHTML=await r.text();const i=s.firstElementChild;if(((e=i==null?void 0:i.tagName)==null?void 0:e.toLowerCase())!=="svg")return j;pt||(pt=new DOMParser);const d=pt.parseFromString(i.outerHTML,"text/html").body.querySelector("svg");return d?(d.part.add("svg"),document.adoptNode(d)):j}catch{return j}}connectedCallback(){super.connectedCallback(),lo(this)}firstUpdated(){this.initialRender=!0,this.setIcon()}disconnectedCallback(){super.disconnectedCallback(),uo(this)}getIconSource(){const o=Wt(this.library);return this.name&&o?{url:o.resolver(this.name),fromLibrary:!0}:{url:this.src,fromLibrary:!1}}handleLabelChange(){typeof this.label=="string"&&this.label.length>0?(this.setAttribute("role","img"),this.setAttribute("aria-label",this.label),this.removeAttribute("aria-hidden")):(this.removeAttribute("role"),this.removeAttribute("aria-label"),this.setAttribute("aria-hidden","true"))}async setIcon(){var o;const{url:t,fromLibrary:e}=this.getIconSource(),r=e?Wt(this.library):void 0;if(!t){this.svg=null;return}let s=bt.get(t);if(s||(s=this.resolveIcon(t,r),bt.set(t,s)),!this.initialRender)return;const i=await s;if(i===ot&&bt.delete(t),t===this.getIconSource().url){if(ho(i)){this.svg=i;return}switch(i){case ot:case j:this.svg=null,this.emit("sl-error");break;default:this.svg=i.cloneNode(!0),(o=r==null?void 0:r.mutator)==null||o.call(r,this.svg),this.emit("sl-load")}}}render(){return this.svg}};x.styles=[Q,co];a([at()],x.prototype,"svg",2);a([u({reflect:!0})],x.prototype,"name",2);a([u()],x.prototype,"src",2);a([u()],x.prototype,"label",2);a([u({reflect:!0})],x.prototype,"library",2);a([M("label")],x.prototype,"handleLabelChange",1);a([M(["name","src","library"])],x.prototype,"setIcon",1);/**
586
+ * @license
587
+ * Copyright 2018 Google LLC
588
+ * SPDX-License-Identifier: BSD-3-Clause
589
+ */const m=o=>o??g;/**
590
+ * @license
591
+ * Copyright 2020 Google LLC
592
+ * SPDX-License-Identifier: BSD-3-Clause
593
+ */const mo=se(class extends ie{constructor(o){if(super(o),o.type!==T.PROPERTY&&o.type!==T.ATTRIBUTE&&o.type!==T.BOOLEAN_ATTRIBUTE)throw Error("The `live` directive is not allowed on child or event bindings");if(!po(o))throw Error("`live` bindings can only contain a single expression")}render(o){return o}update(o,[t]){if(t===w||t===g)return t;const e=o.element,r=o.name;if(o.type===T.PROPERTY){if(t===e[r])return w}else if(o.type===T.BOOLEAN_ATTRIBUTE){if(!!t===e.hasAttribute(r))return w}else if(o.type===T.ATTRIBUTE&&e.getAttribute(r)===t+"")return w;return fo(o),t}});var h=class extends k{constructor(){super(...arguments),this.formControlController=new ae(this,{assumeInteractionOn:["sl-blur","sl-input"]}),this.hasSlotController=new St(this,"help-text","label"),this.localize=new zt(this),this.hasFocus=!1,this.title="",this.__numberInput=Object.assign(document.createElement("input"),{type:"number"}),this.__dateInput=Object.assign(document.createElement("input"),{type:"date"}),this.type="text",this.name="",this.value="",this.defaultValue="",this.size="medium",this.filled=!1,this.pill=!1,this.label="",this.helpText="",this.clearable=!1,this.disabled=!1,this.placeholder="",this.readonly=!1,this.passwordToggle=!1,this.passwordVisible=!1,this.noSpinButtons=!1,this.form="",this.required=!1,this.spellcheck=!0}get valueAsDate(){var o;return this.__dateInput.type=this.type,this.__dateInput.value=this.value,((o=this.input)==null?void 0:o.valueAsDate)||this.__dateInput.valueAsDate}set valueAsDate(o){this.__dateInput.type=this.type,this.__dateInput.valueAsDate=o,this.value=this.__dateInput.value}get valueAsNumber(){var o;return this.__numberInput.value=this.value,((o=this.input)==null?void 0:o.valueAsNumber)||this.__numberInput.valueAsNumber}set valueAsNumber(o){this.__numberInput.valueAsNumber=o,this.value=this.__numberInput.value}get validity(){return this.input.validity}get validationMessage(){return this.input.validationMessage}firstUpdated(){this.formControlController.updateValidity()}handleBlur(){this.hasFocus=!1,this.emit("sl-blur")}handleChange(){this.value=this.input.value,this.emit("sl-change")}handleClearClick(o){o.preventDefault(),this.value!==""&&(this.value="",this.emit("sl-clear"),this.emit("sl-input"),this.emit("sl-change")),this.input.focus()}handleFocus(){this.hasFocus=!0,this.emit("sl-focus")}handleInput(){this.value=this.input.value,this.formControlController.updateValidity(),this.emit("sl-input")}handleInvalid(o){this.formControlController.setValidity(!1),this.formControlController.emitInvalidEvent(o)}handleKeyDown(o){const t=o.metaKey||o.ctrlKey||o.shiftKey||o.altKey;o.key==="Enter"&&!t&&setTimeout(()=>{!o.defaultPrevented&&!o.isComposing&&this.formControlController.submit()})}handlePasswordToggle(){this.passwordVisible=!this.passwordVisible}handleDisabledChange(){this.formControlController.setValidity(this.disabled)}handleStepChange(){this.input.step=String(this.step),this.formControlController.updateValidity()}async handleValueChange(){await this.updateComplete,this.formControlController.updateValidity()}focus(o){this.input.focus(o)}blur(){this.input.blur()}select(){this.input.select()}setSelectionRange(o,t,e="none"){this.input.setSelectionRange(o,t,e)}setRangeText(o,t,e,r="preserve"){const s=t??this.input.selectionStart,i=e??this.input.selectionEnd;this.input.setRangeText(o,s,i,r),this.value!==this.input.value&&(this.value=this.input.value)}showPicker(){"showPicker"in HTMLInputElement.prototype&&this.input.showPicker()}stepUp(){this.input.stepUp(),this.value!==this.input.value&&(this.value=this.input.value)}stepDown(){this.input.stepDown(),this.value!==this.input.value&&(this.value=this.input.value)}checkValidity(){return this.input.checkValidity()}getForm(){return this.formControlController.getForm()}reportValidity(){return this.input.reportValidity()}setCustomValidity(o){this.input.setCustomValidity(o),this.formControlController.updateValidity()}render(){const o=this.hasSlotController.test("label"),t=this.hasSlotController.test("help-text"),e=this.label?!0:!!o,r=this.helpText?!0:!!t,i=this.clearable&&!this.disabled&&!this.readonly&&(typeof this.value=="number"||this.value.length>0);return v`
594
+ <div
595
+ part="form-control"
596
+ class=${it({"form-control":!0,"form-control--small":this.size==="small","form-control--medium":this.size==="medium","form-control--large":this.size==="large","form-control--has-label":e,"form-control--has-help-text":r})}
597
+ >
598
+ <label
599
+ part="form-control-label"
600
+ class="form-control__label"
601
+ for="input"
602
+ aria-hidden=${e?"false":"true"}
603
+ >
604
+ <slot name="label">${this.label}</slot>
605
+ </label>
606
+
607
+ <div part="form-control-input" class="form-control-input">
608
+ <div
609
+ part="base"
610
+ class=${it({input:!0,"input--small":this.size==="small","input--medium":this.size==="medium","input--large":this.size==="large","input--pill":this.pill,"input--standard":!this.filled,"input--filled":this.filled,"input--disabled":this.disabled,"input--focused":this.hasFocus,"input--empty":!this.value,"input--no-spin-buttons":this.noSpinButtons})}
611
+ >
612
+ <span part="prefix" class="input__prefix">
613
+ <slot name="prefix"></slot>
614
+ </span>
615
+
616
+ <input
617
+ part="input"
618
+ id="input"
619
+ class="input__control"
620
+ type=${this.type==="password"&&this.passwordVisible?"text":this.type}
621
+ title=${this.title}
622
+ name=${m(this.name)}
623
+ ?disabled=${this.disabled}
624
+ ?readonly=${this.readonly}
625
+ ?required=${this.required}
626
+ placeholder=${m(this.placeholder)}
627
+ minlength=${m(this.minlength)}
628
+ maxlength=${m(this.maxlength)}
629
+ min=${m(this.min)}
630
+ max=${m(this.max)}
631
+ step=${m(this.step)}
632
+ .value=${mo(this.value)}
633
+ autocapitalize=${m(this.autocapitalize)}
634
+ autocomplete=${m(this.autocomplete)}
635
+ autocorrect=${m(this.autocorrect)}
636
+ ?autofocus=${this.autofocus}
637
+ spellcheck=${this.spellcheck}
638
+ pattern=${m(this.pattern)}
639
+ enterkeyhint=${m(this.enterkeyhint)}
640
+ inputmode=${m(this.inputmode)}
641
+ aria-describedby="help-text"
642
+ @change=${this.handleChange}
643
+ @input=${this.handleInput}
644
+ @invalid=${this.handleInvalid}
645
+ @keydown=${this.handleKeyDown}
646
+ @focus=${this.handleFocus}
647
+ @blur=${this.handleBlur}
648
+ />
649
+
650
+ ${i?v`
651
+ <button
652
+ part="clear-button"
653
+ class="input__clear"
654
+ type="button"
655
+ aria-label=${this.localize.term("clearEntry")}
656
+ @click=${this.handleClearClick}
657
+ tabindex="-1"
658
+ >
659
+ <slot name="clear-icon">
660
+ <sl-icon name="x-circle-fill" library="system"></sl-icon>
661
+ </slot>
662
+ </button>
663
+ `:""}
664
+ ${this.passwordToggle&&!this.disabled?v`
665
+ <button
666
+ part="password-toggle-button"
667
+ class="input__password-toggle"
668
+ type="button"
669
+ aria-label=${this.localize.term(this.passwordVisible?"hidePassword":"showPassword")}
670
+ @click=${this.handlePasswordToggle}
671
+ tabindex="-1"
672
+ >
673
+ ${this.passwordVisible?v`
674
+ <slot name="show-password-icon">
675
+ <sl-icon name="eye-slash" library="system"></sl-icon>
676
+ </slot>
677
+ `:v`
678
+ <slot name="hide-password-icon">
679
+ <sl-icon name="eye" library="system"></sl-icon>
680
+ </slot>
681
+ `}
682
+ </button>
683
+ `:""}
684
+
685
+ <span part="suffix" class="input__suffix">
686
+ <slot name="suffix"></slot>
687
+ </span>
688
+ </div>
689
+ </div>
690
+
691
+ <div
692
+ part="form-control-help-text"
693
+ id="help-text"
694
+ class="form-control__help-text"
695
+ aria-hidden=${r?"false":"true"}
696
+ >
697
+ <slot name="help-text">${this.helpText}</slot>
698
+ </div>
699
+ </div>
700
+ `}};h.styles=[Q,Xe,Ge];h.dependencies={"sl-icon":x};a([re(".input__control")],h.prototype,"input",2);a([at()],h.prototype,"hasFocus",2);a([u()],h.prototype,"title",2);a([u({reflect:!0})],h.prototype,"type",2);a([u()],h.prototype,"name",2);a([u()],h.prototype,"value",2);a([Qe()],h.prototype,"defaultValue",2);a([u({reflect:!0})],h.prototype,"size",2);a([u({type:Boolean,reflect:!0})],h.prototype,"filled",2);a([u({type:Boolean,reflect:!0})],h.prototype,"pill",2);a([u()],h.prototype,"label",2);a([u({attribute:"help-text"})],h.prototype,"helpText",2);a([u({type:Boolean})],h.prototype,"clearable",2);a([u({type:Boolean,reflect:!0})],h.prototype,"disabled",2);a([u()],h.prototype,"placeholder",2);a([u({type:Boolean,reflect:!0})],h.prototype,"readonly",2);a([u({attribute:"password-toggle",type:Boolean})],h.prototype,"passwordToggle",2);a([u({attribute:"password-visible",type:Boolean})],h.prototype,"passwordVisible",2);a([u({attribute:"no-spin-buttons",type:Boolean})],h.prototype,"noSpinButtons",2);a([u({reflect:!0})],h.prototype,"form",2);a([u({type:Boolean,reflect:!0})],h.prototype,"required",2);a([u()],h.prototype,"pattern",2);a([u({type:Number})],h.prototype,"minlength",2);a([u({type:Number})],h.prototype,"maxlength",2);a([u()],h.prototype,"min",2);a([u()],h.prototype,"max",2);a([u()],h.prototype,"step",2);a([u()],h.prototype,"autocapitalize",2);a([u()],h.prototype,"autocorrect",2);a([u()],h.prototype,"autocomplete",2);a([u({type:Boolean})],h.prototype,"autofocus",2);a([u()],h.prototype,"enterkeyhint",2);a([u({type:Boolean,converter:{fromAttribute:o=>!(!o||o==="false"),toAttribute:o=>o?"true":"false"}})],h.prototype,"spellcheck",2);a([u()],h.prototype,"inputmode",2);a([M("disabled",{waitUntilFirstUpdate:!0})],h.prototype,"handleDisabledChange",1);a([M("step",{waitUntilFirstUpdate:!0})],h.prototype,"handleStepChange",1);a([M("value",{waitUntilFirstUpdate:!0})],h.prototype,"handleValueChange",1);h.define("sl-input");var go=$`
701
+ :host {
702
+ --track-width: 2px;
703
+ --track-color: rgb(128 128 128 / 25%);
704
+ --indicator-color: var(--sl-color-primary-600);
705
+ --speed: 2s;
706
+
707
+ display: inline-flex;
708
+ width: 1em;
709
+ height: 1em;
710
+ flex: none;
711
+ }
712
+
713
+ .spinner {
714
+ flex: 1 1 auto;
715
+ height: 100%;
716
+ width: 100%;
717
+ }
718
+
719
+ .spinner__track,
720
+ .spinner__indicator {
721
+ fill: none;
722
+ stroke-width: var(--track-width);
723
+ r: calc(0.5em - var(--track-width) / 2);
724
+ cx: 0.5em;
725
+ cy: 0.5em;
726
+ transform-origin: 50% 50%;
727
+ }
728
+
729
+ .spinner__track {
730
+ stroke: var(--track-color);
731
+ transform-origin: 0% 0%;
732
+ }
733
+
734
+ .spinner__indicator {
735
+ stroke: var(--indicator-color);
736
+ stroke-linecap: round;
737
+ stroke-dasharray: 150% 75%;
738
+ animation: spin var(--speed) linear infinite;
739
+ }
740
+
741
+ @keyframes spin {
742
+ 0% {
743
+ transform: rotate(0deg);
744
+ stroke-dasharray: 0.05em, 3em;
745
+ }
746
+
747
+ 50% {
748
+ transform: rotate(450deg);
749
+ stroke-dasharray: 1.375em, 1.375em;
750
+ }
751
+
752
+ 100% {
753
+ transform: rotate(1080deg);
754
+ stroke-dasharray: 0.05em, 3em;
755
+ }
756
+ }
757
+ `,he=class extends k{constructor(){super(...arguments),this.localize=new zt(this)}render(){return v`
758
+ <svg part="base" class="spinner" role="progressbar" aria-label=${this.localize.term("loading")}>
759
+ <circle class="spinner__track"></circle>
760
+ <circle class="spinner__indicator"></circle>
761
+ </svg>
762
+ `}};he.styles=[Q,go];var vo=$`
763
+ :host {
764
+ display: inline-block;
765
+ position: relative;
766
+ width: auto;
767
+ cursor: pointer;
768
+ }
769
+
770
+ .button {
771
+ display: inline-flex;
772
+ align-items: stretch;
773
+ justify-content: center;
774
+ width: 100%;
775
+ border-style: solid;
776
+ border-width: var(--sl-input-border-width);
777
+ font-family: var(--sl-input-font-family);
778
+ font-weight: var(--sl-font-weight-semibold);
779
+ text-decoration: none;
780
+ user-select: none;
781
+ -webkit-user-select: none;
782
+ white-space: nowrap;
783
+ vertical-align: middle;
784
+ padding: 0;
785
+ transition:
786
+ var(--sl-transition-x-fast) background-color,
787
+ var(--sl-transition-x-fast) color,
788
+ var(--sl-transition-x-fast) border,
789
+ var(--sl-transition-x-fast) box-shadow;
790
+ cursor: inherit;
791
+ }
792
+
793
+ .button::-moz-focus-inner {
794
+ border: 0;
795
+ }
796
+
797
+ .button:focus {
798
+ outline: none;
799
+ }
800
+
801
+ .button:focus-visible {
802
+ outline: var(--sl-focus-ring);
803
+ outline-offset: var(--sl-focus-ring-offset);
804
+ }
805
+
806
+ .button--disabled {
807
+ opacity: 0.5;
808
+ cursor: not-allowed;
809
+ }
810
+
811
+ /* When disabled, prevent mouse events from bubbling up from children */
812
+ .button--disabled * {
813
+ pointer-events: none;
814
+ }
815
+
816
+ .button__prefix,
817
+ .button__suffix {
818
+ flex: 0 0 auto;
819
+ display: flex;
820
+ align-items: center;
821
+ pointer-events: none;
822
+ }
823
+
824
+ .button__label {
825
+ display: inline-block;
826
+ }
827
+
828
+ .button__label::slotted(sl-icon) {
829
+ vertical-align: -2px;
830
+ }
831
+
832
+ /*
833
+ * Standard buttons
834
+ */
835
+
836
+ /* Default */
837
+ .button--standard.button--default {
838
+ background-color: var(--sl-color-neutral-0);
839
+ border-color: var(--sl-input-border-color);
840
+ color: var(--sl-color-neutral-700);
841
+ }
842
+
843
+ .button--standard.button--default:hover:not(.button--disabled) {
844
+ background-color: var(--sl-color-primary-50);
845
+ border-color: var(--sl-color-primary-300);
846
+ color: var(--sl-color-primary-700);
847
+ }
848
+
849
+ .button--standard.button--default:active:not(.button--disabled) {
850
+ background-color: var(--sl-color-primary-100);
851
+ border-color: var(--sl-color-primary-400);
852
+ color: var(--sl-color-primary-700);
853
+ }
854
+
855
+ /* Primary */
856
+ .button--standard.button--primary {
857
+ background-color: var(--sl-color-primary-600);
858
+ border-color: var(--sl-color-primary-600);
859
+ color: var(--sl-color-neutral-0);
860
+ }
861
+
862
+ .button--standard.button--primary:hover:not(.button--disabled) {
863
+ background-color: var(--sl-color-primary-500);
864
+ border-color: var(--sl-color-primary-500);
865
+ color: var(--sl-color-neutral-0);
866
+ }
867
+
868
+ .button--standard.button--primary:active:not(.button--disabled) {
869
+ background-color: var(--sl-color-primary-600);
870
+ border-color: var(--sl-color-primary-600);
871
+ color: var(--sl-color-neutral-0);
872
+ }
873
+
874
+ /* Success */
875
+ .button--standard.button--success {
876
+ background-color: var(--sl-color-success-600);
877
+ border-color: var(--sl-color-success-600);
878
+ color: var(--sl-color-neutral-0);
879
+ }
880
+
881
+ .button--standard.button--success:hover:not(.button--disabled) {
882
+ background-color: var(--sl-color-success-500);
883
+ border-color: var(--sl-color-success-500);
884
+ color: var(--sl-color-neutral-0);
885
+ }
886
+
887
+ .button--standard.button--success:active:not(.button--disabled) {
888
+ background-color: var(--sl-color-success-600);
889
+ border-color: var(--sl-color-success-600);
890
+ color: var(--sl-color-neutral-0);
891
+ }
892
+
893
+ /* Neutral */
894
+ .button--standard.button--neutral {
895
+ background-color: var(--sl-color-neutral-600);
896
+ border-color: var(--sl-color-neutral-600);
897
+ color: var(--sl-color-neutral-0);
898
+ }
899
+
900
+ .button--standard.button--neutral:hover:not(.button--disabled) {
901
+ background-color: var(--sl-color-neutral-500);
902
+ border-color: var(--sl-color-neutral-500);
903
+ color: var(--sl-color-neutral-0);
904
+ }
905
+
906
+ .button--standard.button--neutral:active:not(.button--disabled) {
907
+ background-color: var(--sl-color-neutral-600);
908
+ border-color: var(--sl-color-neutral-600);
909
+ color: var(--sl-color-neutral-0);
910
+ }
911
+
912
+ /* Warning */
913
+ .button--standard.button--warning {
914
+ background-color: var(--sl-color-warning-600);
915
+ border-color: var(--sl-color-warning-600);
916
+ color: var(--sl-color-neutral-0);
917
+ }
918
+ .button--standard.button--warning:hover:not(.button--disabled) {
919
+ background-color: var(--sl-color-warning-500);
920
+ border-color: var(--sl-color-warning-500);
921
+ color: var(--sl-color-neutral-0);
922
+ }
923
+
924
+ .button--standard.button--warning:active:not(.button--disabled) {
925
+ background-color: var(--sl-color-warning-600);
926
+ border-color: var(--sl-color-warning-600);
927
+ color: var(--sl-color-neutral-0);
928
+ }
929
+
930
+ /* Danger */
931
+ .button--standard.button--danger {
932
+ background-color: var(--sl-color-danger-600);
933
+ border-color: var(--sl-color-danger-600);
934
+ color: var(--sl-color-neutral-0);
935
+ }
936
+
937
+ .button--standard.button--danger:hover:not(.button--disabled) {
938
+ background-color: var(--sl-color-danger-500);
939
+ border-color: var(--sl-color-danger-500);
940
+ color: var(--sl-color-neutral-0);
941
+ }
942
+
943
+ .button--standard.button--danger:active:not(.button--disabled) {
944
+ background-color: var(--sl-color-danger-600);
945
+ border-color: var(--sl-color-danger-600);
946
+ color: var(--sl-color-neutral-0);
947
+ }
948
+
949
+ /*
950
+ * Outline buttons
951
+ */
952
+
953
+ .button--outline {
954
+ background: none;
955
+ border: solid 1px;
956
+ }
957
+
958
+ /* Default */
959
+ .button--outline.button--default {
960
+ border-color: var(--sl-input-border-color);
961
+ color: var(--sl-color-neutral-700);
962
+ }
963
+
964
+ .button--outline.button--default:hover:not(.button--disabled),
965
+ .button--outline.button--default.button--checked:not(.button--disabled) {
966
+ border-color: var(--sl-color-primary-600);
967
+ background-color: var(--sl-color-primary-600);
968
+ color: var(--sl-color-neutral-0);
969
+ }
970
+
971
+ .button--outline.button--default:active:not(.button--disabled) {
972
+ border-color: var(--sl-color-primary-700);
973
+ background-color: var(--sl-color-primary-700);
974
+ color: var(--sl-color-neutral-0);
975
+ }
976
+
977
+ /* Primary */
978
+ .button--outline.button--primary {
979
+ border-color: var(--sl-color-primary-600);
980
+ color: var(--sl-color-primary-600);
981
+ }
982
+
983
+ .button--outline.button--primary:hover:not(.button--disabled),
984
+ .button--outline.button--primary.button--checked:not(.button--disabled) {
985
+ background-color: var(--sl-color-primary-600);
986
+ color: var(--sl-color-neutral-0);
987
+ }
988
+
989
+ .button--outline.button--primary:active:not(.button--disabled) {
990
+ border-color: var(--sl-color-primary-700);
991
+ background-color: var(--sl-color-primary-700);
992
+ color: var(--sl-color-neutral-0);
993
+ }
994
+
995
+ /* Success */
996
+ .button--outline.button--success {
997
+ border-color: var(--sl-color-success-600);
998
+ color: var(--sl-color-success-600);
999
+ }
1000
+
1001
+ .button--outline.button--success:hover:not(.button--disabled),
1002
+ .button--outline.button--success.button--checked:not(.button--disabled) {
1003
+ background-color: var(--sl-color-success-600);
1004
+ color: var(--sl-color-neutral-0);
1005
+ }
1006
+
1007
+ .button--outline.button--success:active:not(.button--disabled) {
1008
+ border-color: var(--sl-color-success-700);
1009
+ background-color: var(--sl-color-success-700);
1010
+ color: var(--sl-color-neutral-0);
1011
+ }
1012
+
1013
+ /* Neutral */
1014
+ .button--outline.button--neutral {
1015
+ border-color: var(--sl-color-neutral-600);
1016
+ color: var(--sl-color-neutral-600);
1017
+ }
1018
+
1019
+ .button--outline.button--neutral:hover:not(.button--disabled),
1020
+ .button--outline.button--neutral.button--checked:not(.button--disabled) {
1021
+ background-color: var(--sl-color-neutral-600);
1022
+ color: var(--sl-color-neutral-0);
1023
+ }
1024
+
1025
+ .button--outline.button--neutral:active:not(.button--disabled) {
1026
+ border-color: var(--sl-color-neutral-700);
1027
+ background-color: var(--sl-color-neutral-700);
1028
+ color: var(--sl-color-neutral-0);
1029
+ }
1030
+
1031
+ /* Warning */
1032
+ .button--outline.button--warning {
1033
+ border-color: var(--sl-color-warning-600);
1034
+ color: var(--sl-color-warning-600);
1035
+ }
1036
+
1037
+ .button--outline.button--warning:hover:not(.button--disabled),
1038
+ .button--outline.button--warning.button--checked:not(.button--disabled) {
1039
+ background-color: var(--sl-color-warning-600);
1040
+ color: var(--sl-color-neutral-0);
1041
+ }
1042
+
1043
+ .button--outline.button--warning:active:not(.button--disabled) {
1044
+ border-color: var(--sl-color-warning-700);
1045
+ background-color: var(--sl-color-warning-700);
1046
+ color: var(--sl-color-neutral-0);
1047
+ }
1048
+
1049
+ /* Danger */
1050
+ .button--outline.button--danger {
1051
+ border-color: var(--sl-color-danger-600);
1052
+ color: var(--sl-color-danger-600);
1053
+ }
1054
+
1055
+ .button--outline.button--danger:hover:not(.button--disabled),
1056
+ .button--outline.button--danger.button--checked:not(.button--disabled) {
1057
+ background-color: var(--sl-color-danger-600);
1058
+ color: var(--sl-color-neutral-0);
1059
+ }
1060
+
1061
+ .button--outline.button--danger:active:not(.button--disabled) {
1062
+ border-color: var(--sl-color-danger-700);
1063
+ background-color: var(--sl-color-danger-700);
1064
+ color: var(--sl-color-neutral-0);
1065
+ }
1066
+
1067
+ @media (forced-colors: active) {
1068
+ .button.button--outline.button--checked:not(.button--disabled) {
1069
+ outline: solid 2px transparent;
1070
+ }
1071
+ }
1072
+
1073
+ /*
1074
+ * Text buttons
1075
+ */
1076
+
1077
+ .button--text {
1078
+ background-color: transparent;
1079
+ border-color: transparent;
1080
+ color: var(--sl-color-primary-600);
1081
+ }
1082
+
1083
+ .button--text:hover:not(.button--disabled) {
1084
+ background-color: transparent;
1085
+ border-color: transparent;
1086
+ color: var(--sl-color-primary-500);
1087
+ }
1088
+
1089
+ .button--text:focus-visible:not(.button--disabled) {
1090
+ background-color: transparent;
1091
+ border-color: transparent;
1092
+ color: var(--sl-color-primary-500);
1093
+ }
1094
+
1095
+ .button--text:active:not(.button--disabled) {
1096
+ background-color: transparent;
1097
+ border-color: transparent;
1098
+ color: var(--sl-color-primary-700);
1099
+ }
1100
+
1101
+ /*
1102
+ * Size modifiers
1103
+ */
1104
+
1105
+ .button--small {
1106
+ height: auto;
1107
+ min-height: var(--sl-input-height-small);
1108
+ font-size: var(--sl-button-font-size-small);
1109
+ line-height: calc(var(--sl-input-height-small) - var(--sl-input-border-width) * 2);
1110
+ border-radius: var(--sl-input-border-radius-small);
1111
+ }
1112
+
1113
+ .button--medium {
1114
+ height: auto;
1115
+ min-height: var(--sl-input-height-medium);
1116
+ font-size: var(--sl-button-font-size-medium);
1117
+ line-height: calc(var(--sl-input-height-medium) - var(--sl-input-border-width) * 2);
1118
+ border-radius: var(--sl-input-border-radius-medium);
1119
+ }
1120
+
1121
+ .button--large {
1122
+ height: auto;
1123
+ min-height: var(--sl-input-height-large);
1124
+ font-size: var(--sl-button-font-size-large);
1125
+ line-height: calc(var(--sl-input-height-large) - var(--sl-input-border-width) * 2);
1126
+ border-radius: var(--sl-input-border-radius-large);
1127
+ }
1128
+
1129
+ /*
1130
+ * Pill modifier
1131
+ */
1132
+
1133
+ .button--pill.button--small {
1134
+ border-radius: var(--sl-input-height-small);
1135
+ }
1136
+
1137
+ .button--pill.button--medium {
1138
+ border-radius: var(--sl-input-height-medium);
1139
+ }
1140
+
1141
+ .button--pill.button--large {
1142
+ border-radius: var(--sl-input-height-large);
1143
+ }
1144
+
1145
+ /*
1146
+ * Circle modifier
1147
+ */
1148
+
1149
+ .button--circle {
1150
+ padding-left: 0;
1151
+ padding-right: 0;
1152
+ }
1153
+
1154
+ .button--circle.button--small {
1155
+ width: var(--sl-input-height-small);
1156
+ border-radius: 50%;
1157
+ }
1158
+
1159
+ .button--circle.button--medium {
1160
+ width: var(--sl-input-height-medium);
1161
+ border-radius: 50%;
1162
+ }
1163
+
1164
+ .button--circle.button--large {
1165
+ width: var(--sl-input-height-large);
1166
+ border-radius: 50%;
1167
+ }
1168
+
1169
+ .button--circle .button__prefix,
1170
+ .button--circle .button__suffix,
1171
+ .button--circle .button__caret {
1172
+ display: none;
1173
+ }
1174
+
1175
+ /*
1176
+ * Caret modifier
1177
+ */
1178
+
1179
+ .button--caret .button__suffix {
1180
+ display: none;
1181
+ }
1182
+
1183
+ .button--caret .button__caret {
1184
+ height: auto;
1185
+ }
1186
+
1187
+ /*
1188
+ * Loading modifier
1189
+ */
1190
+
1191
+ .button--loading {
1192
+ position: relative;
1193
+ cursor: wait;
1194
+ }
1195
+
1196
+ .button--loading .button__prefix,
1197
+ .button--loading .button__label,
1198
+ .button--loading .button__suffix,
1199
+ .button--loading .button__caret {
1200
+ visibility: hidden;
1201
+ }
1202
+
1203
+ .button--loading sl-spinner {
1204
+ --indicator-color: currentColor;
1205
+ position: absolute;
1206
+ font-size: 1em;
1207
+ height: 1em;
1208
+ width: 1em;
1209
+ top: calc(50% - 0.5em);
1210
+ left: calc(50% - 0.5em);
1211
+ }
1212
+
1213
+ /*
1214
+ * Badges
1215
+ */
1216
+
1217
+ .button ::slotted(sl-badge) {
1218
+ position: absolute;
1219
+ top: 0;
1220
+ right: 0;
1221
+ translate: 50% -50%;
1222
+ pointer-events: none;
1223
+ }
1224
+
1225
+ .button--rtl ::slotted(sl-badge) {
1226
+ right: auto;
1227
+ left: 0;
1228
+ translate: -50% -50%;
1229
+ }
1230
+
1231
+ /*
1232
+ * Button spacing
1233
+ */
1234
+
1235
+ .button--has-label.button--small .button__label {
1236
+ padding: 0 var(--sl-spacing-small);
1237
+ }
1238
+
1239
+ .button--has-label.button--medium .button__label {
1240
+ padding: 0 var(--sl-spacing-medium);
1241
+ }
1242
+
1243
+ .button--has-label.button--large .button__label {
1244
+ padding: 0 var(--sl-spacing-large);
1245
+ }
1246
+
1247
+ .button--has-prefix.button--small {
1248
+ padding-inline-start: var(--sl-spacing-x-small);
1249
+ }
1250
+
1251
+ .button--has-prefix.button--small .button__label {
1252
+ padding-inline-start: var(--sl-spacing-x-small);
1253
+ }
1254
+
1255
+ .button--has-prefix.button--medium {
1256
+ padding-inline-start: var(--sl-spacing-small);
1257
+ }
1258
+
1259
+ .button--has-prefix.button--medium .button__label {
1260
+ padding-inline-start: var(--sl-spacing-small);
1261
+ }
1262
+
1263
+ .button--has-prefix.button--large {
1264
+ padding-inline-start: var(--sl-spacing-small);
1265
+ }
1266
+
1267
+ .button--has-prefix.button--large .button__label {
1268
+ padding-inline-start: var(--sl-spacing-small);
1269
+ }
1270
+
1271
+ .button--has-suffix.button--small,
1272
+ .button--caret.button--small {
1273
+ padding-inline-end: var(--sl-spacing-x-small);
1274
+ }
1275
+
1276
+ .button--has-suffix.button--small .button__label,
1277
+ .button--caret.button--small .button__label {
1278
+ padding-inline-end: var(--sl-spacing-x-small);
1279
+ }
1280
+
1281
+ .button--has-suffix.button--medium,
1282
+ .button--caret.button--medium {
1283
+ padding-inline-end: var(--sl-spacing-small);
1284
+ }
1285
+
1286
+ .button--has-suffix.button--medium .button__label,
1287
+ .button--caret.button--medium .button__label {
1288
+ padding-inline-end: var(--sl-spacing-small);
1289
+ }
1290
+
1291
+ .button--has-suffix.button--large,
1292
+ .button--caret.button--large {
1293
+ padding-inline-end: var(--sl-spacing-small);
1294
+ }
1295
+
1296
+ .button--has-suffix.button--large .button__label,
1297
+ .button--caret.button--large .button__label {
1298
+ padding-inline-end: var(--sl-spacing-small);
1299
+ }
1300
+
1301
+ /*
1302
+ * Button groups support a variety of button types (e.g. buttons with tooltips, buttons as dropdown triggers, etc.).
1303
+ * This means buttons aren't always direct descendants of the button group, thus we can't target them with the
1304
+ * ::slotted selector. To work around this, the button group component does some magic to add these special classes to
1305
+ * buttons and we style them here instead.
1306
+ */
1307
+
1308
+ :host([data-sl-button-group__button--first]:not([data-sl-button-group__button--last])) .button {
1309
+ border-start-end-radius: 0;
1310
+ border-end-end-radius: 0;
1311
+ }
1312
+
1313
+ :host([data-sl-button-group__button--inner]) .button {
1314
+ border-radius: 0;
1315
+ }
1316
+
1317
+ :host([data-sl-button-group__button--last]:not([data-sl-button-group__button--first])) .button {
1318
+ border-start-start-radius: 0;
1319
+ border-end-start-radius: 0;
1320
+ }
1321
+
1322
+ /* All except the first */
1323
+ :host([data-sl-button-group__button]:not([data-sl-button-group__button--first])) {
1324
+ margin-inline-start: calc(-1 * var(--sl-input-border-width));
1325
+ }
1326
+
1327
+ /* Add a visual separator between solid buttons */
1328
+ :host(
1329
+ [data-sl-button-group__button]:not(
1330
+ [data-sl-button-group__button--first],
1331
+ [data-sl-button-group__button--radio],
1332
+ [variant='default']
1333
+ ):not(:hover)
1334
+ )
1335
+ .button:after {
1336
+ content: '';
1337
+ position: absolute;
1338
+ top: 0;
1339
+ inset-inline-start: 0;
1340
+ bottom: 0;
1341
+ border-left: solid 1px rgb(128 128 128 / 33%);
1342
+ mix-blend-mode: multiply;
1343
+ }
1344
+
1345
+ /* Bump hovered, focused, and checked buttons up so their focus ring isn't clipped */
1346
+ :host([data-sl-button-group__button--hover]) {
1347
+ z-index: 1;
1348
+ }
1349
+
1350
+ /* Focus and checked are always on top */
1351
+ :host([data-sl-button-group__button--focus]),
1352
+ :host([data-sl-button-group__button][checked]) {
1353
+ z-index: 2;
1354
+ }
1355
+ `;/**
1356
+ * @license
1357
+ * Copyright 2020 Google LLC
1358
+ * SPDX-License-Identifier: BSD-3-Clause
1359
+ */const pe=Symbol.for(""),yo=o=>{if((o==null?void 0:o.r)===pe)return o==null?void 0:o._$litStatic$},Kt=(o,...t)=>({_$litStatic$:t.reduce((e,r,s)=>e+(i=>{if(i._$litStatic$!==void 0)return i._$litStatic$;throw Error(`Value passed to 'literal' function must be a 'literal' result: ${i}. Use 'unsafeStatic' to pass non-literal values, but
1360
+ take care to ensure page security.`)})(r)+o[s+1],o[0]),r:pe}),Zt=new Map,wo=o=>(t,...e)=>{const r=e.length;let s,i;const n=[],d=[];let l,c=0,b=!1;for(;c<r;){for(l=t[c];c<r&&(i=e[c],(s=yo(i))!==void 0);)l+=s+t[++c],b=!0;c!==r&&d.push(i),n.push(l),c++}if(c===r&&n.push(t[r]),b){const p=n.join("$$lit$$");(t=Zt.get(p))===void 0&&(n.raw=n,Zt.set(p,t=n)),e=d}return o(t,...e)},ft=wo(v);var f=class extends k{constructor(){super(...arguments),this.formControlController=new ae(this,{assumeInteractionOn:["click"]}),this.hasSlotController=new St(this,"[default]","prefix","suffix"),this.localize=new zt(this),this.hasFocus=!1,this.invalid=!1,this.title="",this.variant="default",this.size="medium",this.caret=!1,this.disabled=!1,this.loading=!1,this.outline=!1,this.pill=!1,this.circle=!1,this.type="button",this.name="",this.value="",this.href="",this.rel="noreferrer noopener"}get validity(){return this.isButton()?this.button.validity:Et}get validationMessage(){return this.isButton()?this.button.validationMessage:""}firstUpdated(){this.isButton()&&this.formControlController.updateValidity()}handleBlur(){this.hasFocus=!1,this.emit("sl-blur")}handleFocus(){this.hasFocus=!0,this.emit("sl-focus")}handleClick(){this.type==="submit"&&this.formControlController.submit(this),this.type==="reset"&&this.formControlController.reset(this)}handleInvalid(o){this.formControlController.setValidity(!1),this.formControlController.emitInvalidEvent(o)}isButton(){return!this.href}isLink(){return!!this.href}handleDisabledChange(){this.isButton()&&this.formControlController.setValidity(this.disabled)}click(){this.button.click()}focus(o){this.button.focus(o)}blur(){this.button.blur()}checkValidity(){return this.isButton()?this.button.checkValidity():!0}getForm(){return this.formControlController.getForm()}reportValidity(){return this.isButton()?this.button.reportValidity():!0}setCustomValidity(o){this.isButton()&&(this.button.setCustomValidity(o),this.formControlController.updateValidity())}render(){const o=this.isLink(),t=o?Kt`a`:Kt`button`;return ft`
1361
+ <${t}
1362
+ part="base"
1363
+ class=${it({button:!0,"button--default":this.variant==="default","button--primary":this.variant==="primary","button--success":this.variant==="success","button--neutral":this.variant==="neutral","button--warning":this.variant==="warning","button--danger":this.variant==="danger","button--text":this.variant==="text","button--small":this.size==="small","button--medium":this.size==="medium","button--large":this.size==="large","button--caret":this.caret,"button--circle":this.circle,"button--disabled":this.disabled,"button--focused":this.hasFocus,"button--loading":this.loading,"button--standard":!this.outline,"button--outline":this.outline,"button--pill":this.pill,"button--rtl":this.localize.dir()==="rtl","button--has-label":this.hasSlotController.test("[default]"),"button--has-prefix":this.hasSlotController.test("prefix"),"button--has-suffix":this.hasSlotController.test("suffix")})}
1364
+ ?disabled=${m(o?void 0:this.disabled)}
1365
+ type=${m(o?void 0:this.type)}
1366
+ title=${this.title}
1367
+ name=${m(o?void 0:this.name)}
1368
+ value=${m(o?void 0:this.value)}
1369
+ href=${m(o?this.href:void 0)}
1370
+ target=${m(o?this.target:void 0)}
1371
+ download=${m(o?this.download:void 0)}
1372
+ rel=${m(o?this.rel:void 0)}
1373
+ role=${m(o?void 0:"button")}
1374
+ aria-disabled=${this.disabled?"true":"false"}
1375
+ tabindex=${this.disabled?"-1":"0"}
1376
+ @blur=${this.handleBlur}
1377
+ @focus=${this.handleFocus}
1378
+ @invalid=${this.isButton()?this.handleInvalid:null}
1379
+ @click=${this.handleClick}
1380
+ >
1381
+ <slot name="prefix" part="prefix" class="button__prefix"></slot>
1382
+ <slot part="label" class="button__label"></slot>
1383
+ <slot name="suffix" part="suffix" class="button__suffix"></slot>
1384
+ ${this.caret?ft` <sl-icon part="caret" class="button__caret" library="system" name="caret"></sl-icon> `:""}
1385
+ ${this.loading?ft`<sl-spinner part="spinner"></sl-spinner>`:""}
1386
+ </${t}>
1387
+ `}};f.styles=[Q,vo];f.dependencies={"sl-icon":x,"sl-spinner":he};a([re(".button")],f.prototype,"button",2);a([at()],f.prototype,"hasFocus",2);a([at()],f.prototype,"invalid",2);a([u()],f.prototype,"title",2);a([u({reflect:!0})],f.prototype,"variant",2);a([u({reflect:!0})],f.prototype,"size",2);a([u({type:Boolean,reflect:!0})],f.prototype,"caret",2);a([u({type:Boolean,reflect:!0})],f.prototype,"disabled",2);a([u({type:Boolean,reflect:!0})],f.prototype,"loading",2);a([u({type:Boolean,reflect:!0})],f.prototype,"outline",2);a([u({type:Boolean,reflect:!0})],f.prototype,"pill",2);a([u({type:Boolean,reflect:!0})],f.prototype,"circle",2);a([u()],f.prototype,"type",2);a([u()],f.prototype,"name",2);a([u()],f.prototype,"value",2);a([u()],f.prototype,"href",2);a([u()],f.prototype,"target",2);a([u()],f.prototype,"rel",2);a([u()],f.prototype,"download",2);a([u()],f.prototype,"form",2);a([u({attribute:"formaction"})],f.prototype,"formAction",2);a([u({attribute:"formenctype"})],f.prototype,"formEnctype",2);a([u({attribute:"formmethod"})],f.prototype,"formMethod",2);a([u({attribute:"formnovalidate",type:Boolean})],f.prototype,"formNoValidate",2);a([u({attribute:"formtarget"})],f.prototype,"formTarget",2);a([M("disabled",{waitUntilFirstUpdate:!0})],f.prototype,"handleDisabledChange",1);f.define("sl-button");class wt extends S{constructor(){super(),this.username="",this.password="",this.disabled=!1}handleSubmit(t){t.preventDefault(),this.dispatchEvent(new CustomEvent("login-attempt",{detail:{username:this.username,password:this.password},bubbles:!0,composed:!0}))}handleInputChange(t){const{name:e,value:r}=t.target;this[e]=r}render(){return v`
1388
+ <sl-card>
1389
+ <form @submit="${this.handleSubmit}">
1390
+ <sl-input
1391
+ name="username"
1392
+ placeholder="Username or Email"
1393
+ .value="${this.username}"
1394
+ autocomplete="username"
1395
+ @sl-change="${this.handleInputChange}">
1396
+ </sl-input>
1397
+ <sl-input
1398
+ type="password"
1399
+ name="password"
1400
+ placeholder="Password"
1401
+ .value="${this.password}"
1402
+ autocomplete="current-password"
1403
+ @sl-change="${this.handleInputChange}">
1404
+ </sl-input>
1405
+ <sl-button type="submit" ?disabled="${this.disabled}">Login</sl-button>
1406
+ </form>
1407
+ </sl-card>
1408
+ `}}E(wt,"styles",$`
1409
+ :host {
1410
+ display: flex;
1411
+ justify-content: center;
1412
+ align-items: center;
1413
+ height: 100vh;
1414
+ box-sizing: border-box;
1415
+ }
1416
+ sl-card {
1417
+ width: 300px;
1418
+ --padding: var(--sl-card-padding);
1419
+ --background-color: var(--sl-card-background-color);
1420
+ --border-radius: var(--sl-card-border-radius);
1421
+ --box-shadow: var(--sl-card-shadow);
1422
+ }
1423
+ sl-input, sl-button {
1424
+ width: 100%;
1425
+ margin-bottom: 10px;
1426
+ }
1427
+ `),E(wt,"properties",{username:{type:String},password:{type:String},disabled:{type:Boolean,reflect:!0}});customElements.define("studio-login",wt);class _t extends S{constructor(){super(),this.currentPassword="",this.newPassword="",this.confirmPassword=""}render(){return v`
1428
+ <form @submit="${this.handleSubmit}">
1429
+ <input type="password" name="currentPassword"
1430
+ autocomplete="current-password"
1431
+ placeholder="Current Password"
1432
+ .value="${this.currentPassword}"
1433
+ @input="${this.updateProperty("currentPassword")}"
1434
+ >
1435
+ <input type="password" name="newPassword"
1436
+ placeholder="New Password"
1437
+ .value="${this.newPassword}"
1438
+ @input="${this.updateProperty("newPassword")}"
1439
+ >
1440
+ <input type="password" name="confirmPassword"
1441
+ placeholder="Confirm New Password"
1442
+ .value="${this.confirmPassword}"
1443
+ @input="${this.updateProperty("confirmPassword")}"
1444
+ >
1445
+ <button type="submit">Change Password</button>
1446
+ </form>
1447
+ `}updateProperty(t){return e=>{this[t]=e.target.value}}handleSubmit(t){t.preventDefault(),this.newPassword===this.confirmPassword?this.dispatchEvent(new CustomEvent("change-password",{detail:{currentPassword:this.currentPassword,newPassword:this.newPassword}})):alert("The new passwords do not match.")}}E(_t,"styles",$`
1448
+ :host {
1449
+ display: block;
1450
+ box-sizing: border-box;
1451
+ }
1452
+ input, button {
1453
+ width: 100%;
1454
+ margin-bottom: 10px;
1455
+ padding: 8px;
1456
+ box-sizing: border-box;
1457
+ }
1458
+ `),E(_t,"properties",{currentPassword:{type:String},newPassword:{type:String},confirmPassword:{type:String}});customElements.define("studio-change-password",_t);class $t extends S{constructor(){super(),this.apibaseurl="",this.error="",this.isAwaiting=!1,this.lastResult=void 0,this.forceChangePassword=!1,this.handleLogin=this.handleLogin.bind(this),this.handleLoginResult=this.handleLoginResult.bind(this),this.handleLoginError=this.handleLoginError.bind(this),this.renderPasswordChangeForm=this.renderPasswordChangeForm.bind(this)}handleLogin(t){this.isAwaiting=!0;const{username:e,password:r}=t.detail,s=mt({baseUrl:this.apibaseurl});this.requestUpdate(),s.mintToken({username:e,password:r}).then(this.handleLoginResult).catch(this.handleLoginError)}handleLoginResult(t){var e;this.error="",this.isAwaiting=!1,this.lastResult=t,((e=t.challenge)==null?void 0:e.name)==="NEW_PASSWORD_REQUIRED"?(this.forceChangePassword=!0,this.error="You must set a new password to continue."):this.dispatchEvent(new CustomEvent("login-success",{detail:t})),this.requestUpdate()}handleLoginError(t){var e,r;console.error("Error logging in:",t),this.error=((r=(e=t==null?void 0:t.body)==null?void 0:e.error)==null?void 0:r.message)||"Invalid username or password",this.isAwaiting=!1,this.requestUpdate()}handleChangePassword(t){const{currentPassword:e,newPassword:r}=t.detail,{token:s}=this.lastResult,i=mt({baseUrl:this.apibaseurl});this.requestUpdate(),i.updatePassword({token:s,currentPassword:e,newPassword:r}).then(()=>{this.forceChangePassword=!1,this.error="Login with your new password.",this.isAwaiting=!1,this.requestUpdate()}).catch(n=>{var d,l;this.error=((l=(d=n==null?void 0:n.body)==null?void 0:d.error)==null?void 0:l.message)||n.message,this.isAwaiting=!1,this.requestUpdate()})}renderPasswordChangeForm(){return v`
1459
+ <div>
1460
+ ${this.error?v`<div class="error">${this.error}</div>`:null}
1461
+ <studio-change-password @change-password=${this.handleChangePassword}>
1462
+ </studio-change-password>
1463
+ </div>
1464
+ `}renderLoginForm(){return v`
1465
+ ${this.error?v`<div class="error">${this.error}</div>`:null}
1466
+ <studio-login
1467
+ @login-attempt=${this.handleLogin}
1468
+ ?disabled=${this.isAwaiting}
1469
+ ></studio-login>
1470
+ `}render(){return this.forceChangePassword?this.renderPasswordChangeForm():this.renderLoginForm()}}E($t,"properties",{apibaseurl:{type:String},error:{type:String}}),E($t,"styles",$`
1471
+ :host {
1472
+ display: block;
1473
+ max-width: 400px;
1474
+ margin: 0 auto;
1475
+ }
1476
+ `);window.customElements.define("mod-auth-login-form",$t);function be({studio:o,config:t}){return new Promise((e,r)=>{let s=window.sessionStorage.getItem(K());if(s){ko(s)?_o({studio:o,config:t,token:s}).then(e).catch(l=>{console.error("Failed to refresh token:",l),window.sessionStorage.removeItem(K()),be({studio:o,config:t}).then(e).catch(r)}):e(s);return}const i=l=>(window.sessionStorage.setItem(K(),l),l);let n;const d=l=>{const{token:c}=l.detail;i(c),e(c),o.pub("system::workspace","dismiss",n)};n=v`<mod-auth-login-form
1477
+ id="login"
1478
+ apibaseurl=${t.apibaseurl}
1479
+ @login-success=${d}></mod-auth-login-form>`,o.pub("system::workspace","present",n)})}async function _o({studio:o,config:t,token:e}){const r=t.apibaseurl,s=mt({baseUrl:r}),{token:i}=await s.refreshToken({token:e});return window.sessionStorage.setItem(K(),i),i}function $o({studio:o}){window.sessionStorage.removeItem(K())}function xo(o){return JSON.parse(window.atob(o.split(".")[1].replace(/-/g,"+").replace(/_/g,"/")))}function ko(o,t=300,e=Date.now()){return xo(o).exp*1e3-t<e}function K(){return"studio.wral::auth_token"}function Co(o,t){o.sub("studio.wral::mod-auth","token-request",({state:e})=>{const{callback:r}=e.value;r?be({studio:o,config:t}).then(s=>r(s)).catch(s=>r(null,s)):console.warn("No token callback defined")}),o.sub("studio.wral::mod-auth","logout",()=>{$o({studio:o})})}exports.init=Co;