ds-one 0.2.5-alpha.16 → 0.2.5-alpha.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
- function Me(){if(typeof navigator>"u"||typeof window>"u")return!1;let t=navigator,e=window,r=t&&(t.userAgent||t.vendor)||e&&e.opera||"",s=/Mobile|Android|iP(ad|hone|od)|IEMobile|BlackBerry|Kindle|Silk-Accelerated|(hpw|web)OS|Opera M(obi|ini)|Windows Phone|Phone|Tablet/i.test(r),i=(t&&t.maxTouchPoints||0)>1,o=e?Math.min(e.innerWidth||0,e.innerHeight||0)<=820:!1;return s||i&&o}function ar(){let t=Me(),e=navigator,r=window,n=(e&&e.maxTouchPoints||0)>1,i=typeof document<"u"?document.documentElement.clientWidth:r?.innerWidth||0,o=typeof document<"u"?document.documentElement.clientHeight:r?.innerHeight||0,p=t&&Math.min(i,o)>=600;return{isMobile:t,isTablet:p,isDesktop:!t,isTouchCapable:n,deviceType:t?p?"tablet":"mobile":"desktop",userAgent:e&&(e.userAgent||e.vendor)||"",screenWidth:i,screenHeight:o}}function He(){let t=ar();if(t.isMobile&&typeof document<"u"){let s=t.screenWidth/280;document.documentElement.style.setProperty("--sf",s.toFixed(3)),document.documentElement.style.setProperty("--sf",s.toFixed(3)),document.documentElement.classList.add("mobile"),document.documentElement.classList.remove("desktop"),console.log(`[DS one] Mobile device detected - ${t.deviceType} (${t.screenWidth}x${t.screenHeight}), scaling factor: ${s.toFixed(2)}`)}else typeof document<"u"&&(document.documentElement.style.setProperty("--sf","1"),document.documentElement.style.setProperty("--sf","1"),document.documentElement.classList.add("desktop"),document.documentElement.classList.remove("mobile")),console.log(`[DS one] Desktop device detected (${t.screenWidth}x${t.screenHeight})`);return typeof window<"u"&&window.DS_ONE_DEBUG&&console.log("[DS one] Device Info:",{type:t.deviceType,isMobile:t.isMobile,isTablet:t.isTablet,isDesktop:t.isDesktop,isTouchCapable:t.isTouchCapable,viewport:`${t.screenWidth}x${t.screenHeight}`,userAgent:t.userAgent}),t}if(typeof window<"u"){document.readyState==="loading"?document.addEventListener("DOMContentLoaded",()=>{He()}):He();let t;window.addEventListener("resize",()=>{clearTimeout(t),t=setTimeout(()=>{He()},100)})}var lr={},mt=["da","de","en","es","fr","it","ja","pt","sv","zh"],cr=new Map(mt.map((t,e)=>[t,e])),at={da:"Danish","da-dk":"Danish",de:"German","de-de":"German",en:"English","en-us":"English",es:"Spanish","es-es":"Spanish",fr:"French","fr-fr":"French",it:"Italian","it-it":"Italian",ja:"Japanese","ja-jp":"Japanese",pt:"Portuguese","pt-pt":"Portuguese",sv:"Swedish","sv-se":"Swedish",zh:"Chinese","zh-cn":"Chinese","zh-tw":"Chinese","zh-hans":"Chinese","zh-hant":"Chinese"},lt=new Map,ct=!1,vt="./translations.json",dt=!1;function ut(t){if(!t)return null;let e=t.trim();return e?e.startsWith("./")||e.startsWith("../")||e.startsWith("/")||/^https?:\/\//i.test(e)?e:`./${e}`:null}function dr(){if(typeof document>"u")return null;let e=document.querySelector("script[data-ds-one-translations]")?.getAttribute("data-ds-one-translations");if(e)return e;let r=document.querySelector('meta[name="ds-one:translations"]')?.getAttribute("content");if(r)return r;let s=document.querySelector('link[rel="ds-one-translations"]')?.getAttribute("href");return s||null}function ur(){let t=[],e=typeof window<"u"?window.DS_ONE_TRANSLATIONS_FILE:null,r=dr(),s=ut(e??"");s&&t.push(s);let n=ut(r??"");return n&&!t.includes(n)&&t.push(n),t.length===0&&t.push(vt),t}function hr(t){return!t||typeof t!="object"?!1:Object.values(t).every(e=>e&&typeof e=="object")}async function pr(t){try{let e=await fetch(t);if(!e.ok)return null;let r=await e.json();return hr(r)?Object.keys(r).length===0?(console.warn(`[DS one] No languages found in ${t}`),null):r:(console.warn(`[DS one] Invalid translation format in ${t}. Expected object with language codes as keys.`),null)}catch{return null}}async function ht(){if(dt||(dt=!0,typeof window>"u"))return!1;if(window.DS_ONE_TRANSLATIONS&&Object.keys(window.DS_ONE_TRANSLATIONS).length>0)return console.log(`[DS one] Translations already loaded (${Object.keys(window.DS_ONE_TRANSLATIONS).length} languages), skipping auto-load`),!0;let t=ur();for(let e of t){let r=await pr(e);if(!r)continue;window.DS_ONE_TRANSLATIONS=r;let s=Object.keys(r);return console.log(`[DS one] External translations loaded from ${e}: ${s.length} language(s) \u2013 ${s.join(", ")}`),window.dispatchEvent(new CustomEvent("translations-ready")),!0}return console.info(`[DS one] No external translations found at ${t[0]??vt}. Using bundled translations.`),!1}function pe(){return typeof window<"u"&&window.DS_ONE_TRANSLATIONS?window.DS_ONE_TRANSLATIONS:lr}var I=pe(),k="en";function F(t){return t?t.toLowerCase().split(/[-_]/)[0]??"":""}function pt(t){let e=F(t),r=cr.get(e);return typeof r=="number"?r:mt.length}function yt(t){return[...t].sort((e,r)=>{let s=pt(e),n=pt(r);return s!==n?s-n:e.localeCompare(r)})}function fr(t,e){let r=t?.replace("_","-");if(r)try{let s=lt.get(r);s||(s=new Intl.DisplayNames([r],{type:"language"}),lt.set(r,s));let n=e.replace("_","-"),i=s.of(n);if(i&&i!==n)return i;let o=s.of(F(n));if(o)return o}catch{ct||(console.info("[DS one] Intl.DisplayNames is not available, using fallback language names."),ct=!0)}}function gr(t){let e=t.toLowerCase().replace("_","-"),r=at[e];if(r)return r;let s=F(e);return at[s]}function wt(t,e={}){if(!t)return"";let r=[];e.locale&&r.push(e.locale),typeof navigator<"u"&&(Array.isArray(navigator.languages)&&r.push(...navigator.languages),navigator.language&&r.push(navigator.language)),r.push(k),r.push("en");let s=new Set;for(let o of r){if(!o||s.has(o))continue;s.add(o);let p=fr(o,t);if(p)return p}let n=gr(t);if(n)return n;let i=F(t);return i?i.toUpperCase():t}var ft={da:"da","da-dk":"da",de:"de","de-de":"de",en:"en","en-us":"en","en-gb":"en",es:"es","es-es":"es","es-mx":"es",fr:"fr","fr-fr":"fr",it:"it","it-it":"it",ja:"ja","ja-jp":"ja",pt:"pt","pt-pt":"pt","pt-br":"pt",sv:"sv","sv-se":"sv",zh:"zh","zh-cn":"zh","zh-hans":"zh","zh-tw":"zh","zh-hant":"zh"};function gt(t){if(!t)return null;let e=t.toLowerCase().replace("_","-"),r=ft[e];if(r)return r;let s=F(e),n=ft[s];return n||t}function mr(){if(typeof navigator>"u")return k;let t=navigator.language;if(t){let e=gt(t);if(e)return e}if(Array.isArray(navigator.languages))for(let e of navigator.languages){let r=gt(e);if(r)return r}return k}var is=typeof window<"u"?window.localStorage?.getItem("ds-one:language")??void 0:void 0,S={value:localStorage.getItem("language")||mr(),set:function(t){this.value=t,localStorage.setItem("language",t),window.dispatchEvent(new CustomEvent("language-changed",{detail:{language:t},bubbles:!0,composed:!0}))}};typeof window<"u"&&(document.readyState==="loading"?document.addEventListener("DOMContentLoaded",()=>{ht()}):ht());typeof window<"u"&&window.addEventListener("translations-ready",()=>{I=pe(),window.dispatchEvent(new CustomEvent("translations-loaded"));let t=S.value;window.dispatchEvent(new CustomEvent("language-changed",{detail:{language:t},bubbles:!0,composed:!0}))});setTimeout(()=>{window.dispatchEvent(new CustomEvent("translations-loaded"));let t=S.value;window.dispatchEvent(new CustomEvent("language-changed",{detail:{language:t},bubbles:!0,composed:!0}))},100);function E(t){let e=S.value;return I?.[e]?.[t]?I[e][t]:e!==k&&I?.[k]?.[t]?I[k][t]:(console.warn(`[DS one (Internationalization)] No translation found for key "${t}"`),t)}function os(t,e=S.value){if(!t)return!1;let r=I?.[e];return!!(r&&Object.prototype.hasOwnProperty.call(r,t)||e!==k&&I?.[k]&&Object.prototype.hasOwnProperty.call(I[k],t))}function bt(t){return E(t)}function as(){let t=pe();if(t&&Object.keys(t).length>0){let e=Object.keys(t);return Promise.resolve(yt(e))}return Promise.resolve([k])}function Re(){let t=pe();return t&&Object.keys(t).length>0?yt(Object.keys(t)):[k]}function ls(t,e){console.log(`Loading additional translations for ${t}:`,Object.keys(e).length,"keys")}function De(t){localStorage.setItem("language",t),S.set(t),window.dispatchEvent(new CustomEvent("language-changed",{detail:{language:t},bubbles:!0,composed:!0}))}function P(t){if(!(typeof window>"u"))try{let e=window.localStorage?.getItem("ds-one:preferences"),s={...e?JSON.parse(e):{},...t};window.localStorage?.setItem("ds-one:preferences",JSON.stringify(s))}catch(e){console.warn("ds-one: unable to persist preferences",e)}}var vr={da:"kr.",nb:"kr.",sv:"kr.",de:"\u20AC",en:"$",pt:"\u20AC",es:"\u20AC",zh:"\xA5",ja:"\xA5",ko:"\u20A9"};function us(t){let{language:e,country:r}=t;if(r){let n=r.toUpperCase();if(n==="US"||n==="USA")return"$";if(n==="GB"||n==="UK")return"\xA3";if(n==="JP"||n==="JPN"||n==="CN"||n==="CHN")return"\xA5";if(n==="KR"||n==="KOR")return"\u20A9"}let s=e.toLowerCase().split(/[-_]/)[0];return vr[s]||"$"}var yr=Object.defineProperty,wr=(t,e,r)=>e in t?yr(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,Ue=(t,e,r)=>(wr(t,typeof e!="symbol"?e+"":e,r),r),br=(t,e,r)=>{if(!e.has(t))throw TypeError("Cannot "+r)},ze=(t,e)=>{if(Object(e)!==e)throw TypeError('Cannot use the "in" operator on this value');return t.has(e)},fe=(t,e,r)=>{if(e.has(t))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(t):e.set(t,r)},xt=(t,e,r)=>(br(t,e,"access private method"),r);function _t(t,e){return Object.is(t,e)}var b=null,G=!1,ge=1,me=Symbol("SIGNAL");function U(t){let e=b;return b=t,e}function xr(){return b}function _r(){return G}var Fe={version:0,lastCleanEpoch:0,dirty:!1,producerNode:void 0,producerLastReadVersion:void 0,producerIndexOfThis:void 0,nextProducerIndex:0,liveConsumerNode:void 0,liveConsumerIndexOfThis:void 0,consumerAllowSignalWrites:!1,consumerIsAlwaysLive:!1,producerMustRecompute:()=>!1,producerRecomputeValue:()=>{},consumerMarkedDirty:()=>{},consumerOnSignalRead:()=>{}};function ve(t){if(G)throw new Error(typeof ngDevMode<"u"&&ngDevMode?"Assertion error: signal read during notification phase":"");if(b===null)return;b.consumerOnSignalRead(t);let e=b.nextProducerIndex++;if(z(b),e<b.producerNode.length&&b.producerNode[e]!==t&&Be(b)){let r=b.producerNode[e];ye(r,b.producerIndexOfThis[e])}b.producerNode[e]!==t&&(b.producerNode[e]=t,b.producerIndexOfThis[e]=Be(b)?At(t,b,e):0),b.producerLastReadVersion[e]=t.version}function $r(){ge++}function $t(t){if(!(!t.dirty&&t.lastCleanEpoch===ge)){if(!t.producerMustRecompute(t)&&!kr(t)){t.dirty=!1,t.lastCleanEpoch=ge;return}t.producerRecomputeValue(t),t.dirty=!1,t.lastCleanEpoch=ge}}function St(t){if(t.liveConsumerNode===void 0)return;let e=G;G=!0;try{for(let r of t.liveConsumerNode)r.dirty||Ar(r)}finally{G=e}}function Sr(){return b?.consumerAllowSignalWrites!==!1}function Ar(t){var e;t.dirty=!0,St(t),(e=t.consumerMarkedDirty)==null||e.call(t.wrapper??t)}function Cr(t){return t&&(t.nextProducerIndex=0),U(t)}function Er(t,e){if(U(e),!(!t||t.producerNode===void 0||t.producerIndexOfThis===void 0||t.producerLastReadVersion===void 0)){if(Be(t))for(let r=t.nextProducerIndex;r<t.producerNode.length;r++)ye(t.producerNode[r],t.producerIndexOfThis[r]);for(;t.producerNode.length>t.nextProducerIndex;)t.producerNode.pop(),t.producerLastReadVersion.pop(),t.producerIndexOfThis.pop()}}function kr(t){z(t);for(let e=0;e<t.producerNode.length;e++){let r=t.producerNode[e],s=t.producerLastReadVersion[e];if(s!==r.version||($t(r),s!==r.version))return!0}return!1}function At(t,e,r){var s;if(Ge(t),z(t),t.liveConsumerNode.length===0){(s=t.watched)==null||s.call(t.wrapper);for(let n=0;n<t.producerNode.length;n++)t.producerIndexOfThis[n]=At(t.producerNode[n],t,n)}return t.liveConsumerIndexOfThis.push(r),t.liveConsumerNode.push(e)-1}function ye(t,e){var r;if(Ge(t),z(t),typeof ngDevMode<"u"&&ngDevMode&&e>=t.liveConsumerNode.length)throw new Error(`Assertion error: active consumer index ${e} is out of bounds of ${t.liveConsumerNode.length} consumers)`);if(t.liveConsumerNode.length===1){(r=t.unwatched)==null||r.call(t.wrapper);for(let n=0;n<t.producerNode.length;n++)ye(t.producerNode[n],t.producerIndexOfThis[n])}let s=t.liveConsumerNode.length-1;if(t.liveConsumerNode[e]=t.liveConsumerNode[s],t.liveConsumerIndexOfThis[e]=t.liveConsumerIndexOfThis[s],t.liveConsumerNode.length--,t.liveConsumerIndexOfThis.length--,e<t.liveConsumerNode.length){let n=t.liveConsumerIndexOfThis[e],i=t.liveConsumerNode[e];z(i),i.producerIndexOfThis[n]=e}}function Be(t){var e;return t.consumerIsAlwaysLive||(((e=t?.liveConsumerNode)==null?void 0:e.length)??0)>0}function z(t){t.producerNode??(t.producerNode=[]),t.producerIndexOfThis??(t.producerIndexOfThis=[]),t.producerLastReadVersion??(t.producerLastReadVersion=[])}function Ge(t){t.liveConsumerNode??(t.liveConsumerNode=[]),t.liveConsumerIndexOfThis??(t.liveConsumerIndexOfThis=[])}function Ct(t){if($t(t),ve(t),t.value===qe)throw t.error;return t.value}function Lr(t){let e=Object.create(Tr);e.computation=t;let r=()=>Ct(e);return r[me]=e,r}var je=Symbol("UNSET"),We=Symbol("COMPUTING"),qe=Symbol("ERRORED"),Tr={...Fe,value:je,dirty:!0,error:null,equal:_t,producerMustRecompute(t){return t.value===je||t.value===We},producerRecomputeValue(t){if(t.value===We)throw new Error("Detected cycle in computations.");let e=t.value;t.value=We;let r=Cr(t),s,n=!1;try{s=t.computation.call(t.wrapper),n=e!==je&&e!==qe&&t.equal.call(t.wrapper,e,s)}catch(i){s=qe,t.error=i}finally{Er(t,r)}if(n){t.value=e;return}t.value=s,t.version++}};function Nr(){throw new Error}var Ir=Nr;function Or(){Ir()}function Pr(t){let e=Object.create(Mr);e.value=t;let r=()=>(ve(e),e.value);return r[me]=e,r}function Vr(){return ve(this),this.value}function Hr(t,e){Sr()||Or(),t.equal.call(t.wrapper,t.value,e)||(t.value=e,Rr(t))}var Mr={...Fe,equal:_t,value:void 0};function Rr(t){t.version++,$r(),St(t)}var x=Symbol("node"),_;(t=>{var e,r,s,n,i,o;class p{constructor(m,l={}){fe(this,r),Ue(this,e);let f=Pr(m)[me];if(this[x]=f,f.wrapper=this,l){let $=l.equals;$&&(f.equal=$),f.watched=l[t.subtle.watched],f.unwatched=l[t.subtle.unwatched]}}get(){if(!(0,t.isState)(this))throw new TypeError("Wrong receiver type for Signal.State.prototype.get");return Vr.call(this[x])}set(m){if(!(0,t.isState)(this))throw new TypeError("Wrong receiver type for Signal.State.prototype.set");if(_r())throw new Error("Writes to signals not permitted during Watcher callback");let l=this[x];Hr(l,m)}}e=x,r=new WeakSet,s=function(){},t.isState=u=>typeof u=="object"&&ze(r,u),t.State=p;class d{constructor(m,l){fe(this,i),Ue(this,n);let f=Lr(m)[me];if(f.consumerAllowSignalWrites=!0,this[x]=f,f.wrapper=this,l){let $=l.equals;$&&(f.equal=$),f.watched=l[t.subtle.watched],f.unwatched=l[t.subtle.unwatched]}}get(){if(!(0,t.isComputed)(this))throw new TypeError("Wrong receiver type for Signal.Computed.prototype.get");return Ct(this[x])}}n=x,i=new WeakSet,o=function(){},t.isComputed=u=>typeof u=="object"&&ze(i,u),t.Computed=d,(u=>{var m,l,A,f,$;function Qt(v){let g,c=null;try{c=U(null),g=v()}finally{U(c)}return g}u.untrack=Qt;function er(v){var g;if(!(0,t.isComputed)(v)&&!(0,t.isWatcher)(v))throw new TypeError("Called introspectSources without a Computed or Watcher argument");return((g=v[x].producerNode)==null?void 0:g.map(c=>c.wrapper))??[]}u.introspectSources=er;function tr(v){var g;if(!(0,t.isComputed)(v)&&!(0,t.isState)(v))throw new TypeError("Called introspectSinks without a Signal argument");return((g=v[x].liveConsumerNode)==null?void 0:g.map(c=>c.wrapper))??[]}u.introspectSinks=tr;function rr(v){if(!(0,t.isComputed)(v)&&!(0,t.isState)(v))throw new TypeError("Called hasSinks without a Signal argument");let g=v[x].liveConsumerNode;return g?g.length>0:!1}u.hasSinks=rr;function sr(v){if(!(0,t.isComputed)(v)&&!(0,t.isWatcher)(v))throw new TypeError("Called hasSources without a Computed or Watcher argument");let g=v[x].producerNode;return g?g.length>0:!1}u.hasSources=sr;class nr{constructor(g){fe(this,l),fe(this,f),Ue(this,m);let c=Object.create(Fe);c.wrapper=this,c.consumerMarkedDirty=g,c.consumerIsAlwaysLive=!0,c.consumerAllowSignalWrites=!1,c.producerNode=[],this[x]=c}watch(...g){if(!(0,t.isWatcher)(this))throw new TypeError("Called unwatch without Watcher receiver");xt(this,f,$).call(this,g);let c=this[x];c.dirty=!1;let C=U(c);for(let he of g)ve(he[x]);U(C)}unwatch(...g){if(!(0,t.isWatcher)(this))throw new TypeError("Called unwatch without Watcher receiver");xt(this,f,$).call(this,g);let c=this[x];z(c);for(let C=c.producerNode.length-1;C>=0;C--)if(g.includes(c.producerNode[C].wrapper)){ye(c.producerNode[C],c.producerIndexOfThis[C]);let he=c.producerNode.length-1;if(c.producerNode[C]=c.producerNode[he],c.producerIndexOfThis[C]=c.producerIndexOfThis[he],c.producerNode.length--,c.producerIndexOfThis.length--,c.nextProducerIndex--,C<c.producerNode.length){let or=c.producerIndexOfThis[C],ot=c.producerNode[C];Ge(ot),ot.liveConsumerIndexOfThis[or]=C}}}getPending(){if(!(0,t.isWatcher)(this))throw new TypeError("Called getPending without Watcher receiver");return this[x].producerNode.filter(c=>c.dirty).map(c=>c.wrapper)}}m=x,l=new WeakSet,A=function(){},f=new WeakSet,$=function(v){for(let g of v)if(!(0,t.isComputed)(g)&&!(0,t.isState)(g))throw new TypeError("Called watch/unwatch without a Computed or State argument")},t.isWatcher=v=>ze(l,v),u.Watcher=nr;function ir(){var v;return(v=xr())==null?void 0:v.wrapper}u.currentComputed=ir,u.watched=Symbol("watched"),u.unwatched=Symbol("unwatched")})(t.subtle||(t.subtle={}))})(_||(_={}));var gs=Symbol("SignalWatcherBrand"),ms=new FinalizationRegistry((({watcher:t,signal:e})=>{t.unwatch(e)}));var we={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},Z=t=>(...e)=>({_$litDirective$:t,values:e}),j=class{constructor(e){}get _$AU(){return this._$AM._$AU}_$AT(e,r,s){this._$Ct=e,this._$AM=r,this._$Ci=s}_$AS(e,r){return this.update(e,r)}update(e,r){return this.render(...r)}};var J=globalThis,be=J.trustedTypes,Et=be?be.createPolicy("lit-html",{createHTML:t=>t}):void 0,Ke="$lit$",L=`lit$${Math.random().toFixed(9).slice(2)}$`,Je="?"+L,Dr=`<${Je}>`,M=document,Y=()=>M.createComment(""),X=t=>t===null||typeof t!="object"&&typeof t!="function",Ye=Array.isArray,Ot=t=>Ye(t)||typeof t?.[Symbol.iterator]=="function",Ze=`[
2
- \f\r]`,K=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,kt=/-->/g,Lt=/>/g,V=RegExp(`>|${Ze}(?:([^\\s"'>=/]+)(${Ze}*=${Ze}*(?:[^
3
- \f\r"'\`<>=]|("|')|))|$)`,"g"),Tt=/'/g,Nt=/"/g,Pt=/^(?:script|style|textarea|title)$/i,Xe=t=>(e,...r)=>({_$litType$:t,strings:e,values:r}),a=Xe(1),Vt=Xe(2),xs=Xe(3),T=Symbol.for("lit-noChange"),w=Symbol.for("lit-nothing"),It=new WeakMap,H=M.createTreeWalker(M,129);function Ht(t,e){if(!Ye(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return Et!==void 0?Et.createHTML(e):e}var Mt=(t,e)=>{let r=t.length-1,s=[],n,i=e===2?"<svg>":e===3?"<math>":"",o=K;for(let p=0;p<r;p++){let d=t[p],u,m,l=-1,A=0;for(;A<d.length&&(o.lastIndex=A,m=o.exec(d),m!==null);)A=o.lastIndex,o===K?m[1]==="!--"?o=kt:m[1]!==void 0?o=Lt:m[2]!==void 0?(Pt.test(m[2])&&(n=RegExp("</"+m[2],"g")),o=V):m[3]!==void 0&&(o=V):o===V?m[0]===">"?(o=n??K,l=-1):m[1]===void 0?l=-2:(l=o.lastIndex-m[2].length,u=m[1],o=m[3]===void 0?V:m[3]==='"'?Nt:Tt):o===Nt||o===Tt?o=V:o===kt||o===Lt?o=K:(o=V,n=void 0);let f=o===V&&t[p+1].startsWith("/>")?" ":"";i+=o===K?d+Dr:l>=0?(s.push(u),d.slice(0,l)+Ke+d.slice(l)+L+f):d+L+(l===-2?p:f)}return[Ht(t,i+(t[r]||"<?>")+(e===2?"</svg>":e===3?"</math>":"")),s]},Q=class t{constructor({strings:e,_$litType$:r},s){let n;this.parts=[];let i=0,o=0,p=e.length-1,d=this.parts,[u,m]=Mt(e,r);if(this.el=t.createElement(u,s),H.currentNode=this.el.content,r===2||r===3){let l=this.el.content.firstChild;l.replaceWith(...l.childNodes)}for(;(n=H.nextNode())!==null&&d.length<p;){if(n.nodeType===1){if(n.hasAttributes())for(let l of n.getAttributeNames())if(l.endsWith(Ke)){let A=m[o++],f=n.getAttribute(l).split(L),$=/([.?@])?(.*)/.exec(A);d.push({type:1,index:i,name:$[2],strings:f,ctor:$[1]==="."?_e:$[1]==="?"?$e:$[1]==="@"?Se:D}),n.removeAttribute(l)}else l.startsWith(L)&&(d.push({type:6,index:i}),n.removeAttribute(l));if(Pt.test(n.tagName)){let l=n.textContent.split(L),A=l.length-1;if(A>0){n.textContent=be?be.emptyScript:"";for(let f=0;f<A;f++)n.append(l[f],Y()),H.nextNode(),d.push({type:2,index:++i});n.append(l[A],Y())}}}else if(n.nodeType===8)if(n.data===Je)d.push({type:2,index:i});else{let l=-1;for(;(l=n.data.indexOf(L,l+1))!==-1;)d.push({type:7,index:i}),l+=L.length-1}i++}}static createElement(e,r){let s=M.createElement("template");return s.innerHTML=e,s}};function R(t,e,r=t,s){if(e===T)return e;let n=s!==void 0?r._$Co?.[s]:r._$Cl,i=X(e)?void 0:e._$litDirective$;return n?.constructor!==i&&(n?._$AO?.(!1),i===void 0?n=void 0:(n=new i(t),n._$AT(t,r,s)),s!==void 0?(r._$Co??(r._$Co=[]))[s]=n:r._$Cl=n),n!==void 0&&(e=R(t,n._$AS(t,e.values),n,s)),e}var xe=class{constructor(e,r){this._$AV=[],this._$AN=void 0,this._$AD=e,this._$AM=r}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(e){let{el:{content:r},parts:s}=this._$AD,n=(e?.creationScope??M).importNode(r,!0);H.currentNode=n;let i=H.nextNode(),o=0,p=0,d=s[0];for(;d!==void 0;){if(o===d.index){let u;d.type===2?u=new W(i,i.nextSibling,this,e):d.type===1?u=new d.ctor(i,d.name,d.strings,this,e):d.type===6&&(u=new Ae(i,this,e)),this._$AV.push(u),d=s[++p]}o!==d?.index&&(i=H.nextNode(),o++)}return H.currentNode=M,n}p(e){let r=0;for(let s of this._$AV)s!==void 0&&(s.strings!==void 0?(s._$AI(e,s,r),r+=s.strings.length-2):s._$AI(e[r])),r++}},W=class t{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(e,r,s,n){this.type=2,this._$AH=w,this._$AN=void 0,this._$AA=e,this._$AB=r,this._$AM=s,this.options=n,this._$Cv=n?.isConnected??!0}get parentNode(){let e=this._$AA.parentNode,r=this._$AM;return r!==void 0&&e?.nodeType===11&&(e=r.parentNode),e}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(e,r=this){e=R(this,e,r),X(e)?e===w||e==null||e===""?(this._$AH!==w&&this._$AR(),this._$AH=w):e!==this._$AH&&e!==T&&this._(e):e._$litType$!==void 0?this.$(e):e.nodeType!==void 0?this.T(e):Ot(e)?this.k(e):this._(e)}O(e){return this._$AA.parentNode.insertBefore(e,this._$AB)}T(e){this._$AH!==e&&(this._$AR(),this._$AH=this.O(e))}_(e){this._$AH!==w&&X(this._$AH)?this._$AA.nextSibling.data=e:this.T(M.createTextNode(e)),this._$AH=e}$(e){let{values:r,_$litType$:s}=e,n=typeof s=="number"?this._$AC(e):(s.el===void 0&&(s.el=Q.createElement(Ht(s.h,s.h[0]),this.options)),s);if(this._$AH?._$AD===n)this._$AH.p(r);else{let i=new xe(n,this),o=i.u(this.options);i.p(r),this.T(o),this._$AH=i}}_$AC(e){let r=It.get(e.strings);return r===void 0&&It.set(e.strings,r=new Q(e)),r}k(e){Ye(this._$AH)||(this._$AH=[],this._$AR());let r=this._$AH,s,n=0;for(let i of e)n===r.length?r.push(s=new t(this.O(Y()),this.O(Y()),this,this.options)):s=r[n],s._$AI(i),n++;n<r.length&&(this._$AR(s&&s._$AB.nextSibling,n),r.length=n)}_$AR(e=this._$AA.nextSibling,r){for(this._$AP?.(!1,!0,r);e!==this._$AB;){let s=e.nextSibling;e.remove(),e=s}}setConnected(e){this._$AM===void 0&&(this._$Cv=e,this._$AP?.(e))}},D=class{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(e,r,s,n,i){this.type=1,this._$AH=w,this._$AN=void 0,this.element=e,this.name=r,this._$AM=n,this.options=i,s.length>2||s[0]!==""||s[1]!==""?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=w}_$AI(e,r=this,s,n){let i=this.strings,o=!1;if(i===void 0)e=R(this,e,r,0),o=!X(e)||e!==this._$AH&&e!==T,o&&(this._$AH=e);else{let p=e,d,u;for(e=i[0],d=0;d<i.length-1;d++)u=R(this,p[s+d],r,d),u===T&&(u=this._$AH[d]),o||(o=!X(u)||u!==this._$AH[d]),u===w?e=w:e!==w&&(e+=(u??"")+i[d+1]),this._$AH[d]=u}o&&!n&&this.j(e)}j(e){e===w?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,e??"")}},_e=class extends D{constructor(){super(...arguments),this.type=3}j(e){this.element[this.name]=e===w?void 0:e}},$e=class extends D{constructor(){super(...arguments),this.type=4}j(e){this.element.toggleAttribute(this.name,!!e&&e!==w)}},Se=class extends D{constructor(e,r,s,n,i){super(e,r,s,n,i),this.type=5}_$AI(e,r=this){if((e=R(this,e,r,0)??w)===T)return;let s=this._$AH,n=e===w&&s!==w||e.capture!==s.capture||e.once!==s.once||e.passive!==s.passive,i=e!==w&&(s===w||n);n&&this.element.removeEventListener(this.name,this,s),i&&this.element.addEventListener(this.name,this,e),this._$AH=e}handleEvent(e){typeof this._$AH=="function"?this._$AH.call(this.options?.host??this.element,e):this._$AH.handleEvent(e)}},Ae=class{constructor(e,r,s){this.element=e,this.type=6,this._$AN=void 0,this._$AM=r,this.options=s}get _$AU(){return this._$AM._$AU}_$AI(e){R(this,e)}},Rt={M:Ke,P:L,A:Je,C:1,L:Mt,R:xe,D:Ot,V:R,I:W,H:D,N:$e,U:Se,B:_e,F:Ae},Ur=J.litHtmlPolyfillSupport;Ur?.(Q,W),(J.litHtmlVersions??(J.litHtmlVersions=[])).push("3.3.1");var Dt=(t,e,r)=>{let s=r?.renderBefore??e,n=s._$litPart$;if(n===void 0){let i=r?.renderBefore??null;s._$litPart$=n=new W(e.insertBefore(Y(),i),i,void 0,r??{})}return n._$AI(t),n};var{I:Ss}=Rt;var Ut=t=>t.strings===void 0;var ee=(t,e)=>{let r=t._$AN;if(r===void 0)return!1;for(let s of r)s._$AO?.(e,!1),ee(s,e);return!0},Ce=t=>{let e,r;do{if((e=t._$AM)===void 0)break;r=e._$AN,r.delete(t),t=e}while(r?.size===0)},zt=t=>{for(let e;e=t._$AM;t=e){let r=e._$AN;if(r===void 0)e._$AN=r=new Set;else if(r.has(t))break;r.add(t),Wr(e)}};function zr(t){this._$AN!==void 0?(Ce(this),this._$AM=t,zt(this)):this._$AM=t}function jr(t,e=!1,r=0){let s=this._$AH,n=this._$AN;if(n!==void 0&&n.size!==0)if(e)if(Array.isArray(s))for(let i=r;i<s.length;i++)ee(s[i],!1),Ce(s[i]);else s!=null&&(ee(s,!1),Ce(s));else ee(this,t)}var Wr=t=>{t.type==we.CHILD&&(t._$AP??(t._$AP=jr),t._$AQ??(t._$AQ=zr))},Ee=class extends j{constructor(){super(...arguments),this._$AN=void 0}_$AT(e,r,s){super._$AT(e,r,s),zt(this),this.isConnected=e._$AU}_$AO(e,r=!0){e!==this.isConnected&&(this.isConnected=e,e?this.reconnected?.():this.disconnected?.()),r&&(ee(this,e),Ce(this))}setValue(e){if(Ut(this._$Ct))this._$Ct._$AI(e,this);else{let r=[...this._$Ct._$AH];r[this._$Ci]=e,this._$Ct._$AI(r,this,0)}}disconnected(){}reconnected(){}};var ke=class extends Ee{_$Sl(){if(this._$Su!==void 0)return;this._$SW=new _.Computed((()=>{var r;return(r=this._$Sj)===null||r===void 0?void 0:r.get()}));let e=this._$Su=new _.subtle.Watcher((()=>{var r;(r=this._$SO)===null||r===void 0||r._(this),e.watch()}));e.watch(this._$SW)}_$Sp(){var e;this._$Su!==void 0&&(this._$Su.unwatch(this._$SW),this._$SW=void 0,this._$Su=void 0,(e=this._$SO)===null||e===void 0||e.m(this))}commit(){this.setValue(_.subtle.untrack((()=>{var e;return(e=this._$SW)===null||e===void 0?void 0:e.get()})))}render(e){return _.subtle.untrack((()=>e.get()))}update(e,[r]){var s,n;return(s=this._$SO)!==null&&s!==void 0||(this._$SO=(n=e.options)===null||n===void 0?void 0:n.host),r!==this._$Sj&&this._$Sj!==void 0&&this._$Sp(),this._$Sj=r,this._$Sl(),_.subtle.untrack((()=>this._$SW.get()))}disconnected(){this._$Sp()}reconnected(){this._$Sl()}},Qe=Z(ke);var et=t=>(e,...r)=>t(e,...r.map((s=>s instanceof _.State||s instanceof _.Computed?Qe(s):s))),Br=et(a),qr=et(Vt);var Bs=_.State,qs=_.Computed,jt=(t,e)=>new _.State(t,e);function Fr(){if(typeof window>"u")return"light";let t=window.localStorage?.getItem("ds-one:theme");return t==="light"||t==="dark"?t:window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}var B=jt(Fr());function Wt(t){if(t!==B.get()&&(B.set(t),typeof window<"u")){try{window.localStorage?.setItem("ds-one:theme",t)}catch(r){console.warn("ds-one: unable to persist theme preference",r)}let e=window.document?.documentElement;e&&(e.classList.remove("light-theme","dark-theme"),e.classList.add(`${t}-theme`)),window.dispatchEvent(new CustomEvent("theme-changed",{detail:{theme:t}}))}}if(typeof window<"u"){let t=B.get(),e=window.document?.documentElement;e&&(e.classList.remove("light-theme","dark-theme"),e.classList.add(`${t}-theme`))}var Le=globalThis,Te=Le.ShadowRoot&&(Le.ShadyCSS===void 0||Le.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,tt=Symbol(),Bt=new WeakMap,te=class{constructor(e,r,s){if(this._$cssResult$=!0,s!==tt)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=r}get styleSheet(){let e=this.o,r=this.t;if(Te&&e===void 0){let s=r!==void 0&&r.length===1;s&&(e=Bt.get(r)),e===void 0&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),s&&Bt.set(r,e))}return e}toString(){return this.cssText}},qt=t=>new te(typeof t=="string"?t:t+"",void 0,tt),y=(t,...e)=>{let r=t.length===1?t[0]:e.reduce(((s,n,i)=>s+(o=>{if(o._$cssResult$===!0)return o.cssText;if(typeof o=="number")return o;throw Error("Value passed to 'css' function must be a 'css' function result: "+o+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(n)+t[i+1]),t[0]);return new te(r,t,tt)},Ft=(t,e)=>{if(Te)t.adoptedStyleSheets=e.map((r=>r instanceof CSSStyleSheet?r:r.styleSheet));else for(let r of e){let s=document.createElement("style"),n=Le.litNonce;n!==void 0&&s.setAttribute("nonce",n),s.textContent=r.cssText,t.appendChild(s)}},rt=Te?t=>t:t=>t instanceof CSSStyleSheet?(e=>{let r="";for(let s of e.cssRules)r+=s.cssText;return qt(r)})(t):t;var{is:Gr,defineProperty:Zr,getOwnPropertyDescriptor:Kr,getOwnPropertyNames:Jr,getOwnPropertySymbols:Yr,getPrototypeOf:Xr}=Object,O=globalThis,Gt=O.trustedTypes,Qr=Gt?Gt.emptyScript:"",es=O.reactiveElementPolyfillSupport,re=(t,e)=>t,st={toAttribute(t,e){switch(e){case Boolean:t=t?Qr:null;break;case Object:case Array:t=t==null?t:JSON.stringify(t)}return t},fromAttribute(t,e){let r=t;switch(e){case Boolean:r=t!==null;break;case Number:r=t===null?null:Number(t);break;case Object:case Array:try{r=JSON.parse(t)}catch{r=null}}return r}},Kt=(t,e)=>!Gr(t,e),Zt={attribute:!0,type:String,converter:st,reflect:!1,useDefault:!1,hasChanged:Kt};Symbol.metadata??(Symbol.metadata=Symbol("metadata")),O.litPropertyMetadata??(O.litPropertyMetadata=new WeakMap);var N=class extends HTMLElement{static addInitializer(e){this._$Ei(),(this.l??(this.l=[])).push(e)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(e,r=Zt){if(r.state&&(r.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(e)&&((r=Object.create(r)).wrapped=!0),this.elementProperties.set(e,r),!r.noAccessor){let s=Symbol(),n=this.getPropertyDescriptor(e,s,r);n!==void 0&&Zr(this.prototype,e,n)}}static getPropertyDescriptor(e,r,s){let{get:n,set:i}=Kr(this.prototype,e)??{get(){return this[r]},set(o){this[r]=o}};return{get:n,set(o){let p=n?.call(this);i?.call(this,o),this.requestUpdate(e,p,s)},configurable:!0,enumerable:!0}}static getPropertyOptions(e){return this.elementProperties.get(e)??Zt}static _$Ei(){if(this.hasOwnProperty(re("elementProperties")))return;let e=Xr(this);e.finalize(),e.l!==void 0&&(this.l=[...e.l]),this.elementProperties=new Map(e.elementProperties)}static finalize(){if(this.hasOwnProperty(re("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(re("properties"))){let r=this.properties,s=[...Jr(r),...Yr(r)];for(let n of s)this.createProperty(n,r[n])}let e=this[Symbol.metadata];if(e!==null){let r=litPropertyMetadata.get(e);if(r!==void 0)for(let[s,n]of r)this.elementProperties.set(s,n)}this._$Eh=new Map;for(let[r,s]of this.elementProperties){let n=this._$Eu(r,s);n!==void 0&&this._$Eh.set(n,r)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(e){let r=[];if(Array.isArray(e)){let s=new Set(e.flat(1/0).reverse());for(let n of s)r.unshift(rt(n))}else e!==void 0&&r.push(rt(e));return r}static _$Eu(e,r){let s=r.attribute;return s===!1?void 0:typeof s=="string"?s:typeof e=="string"?e.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise((e=>this.enableUpdating=e)),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach((e=>e(this)))}addController(e){(this._$EO??(this._$EO=new Set)).add(e),this.renderRoot!==void 0&&this.isConnected&&e.hostConnected?.()}removeController(e){this._$EO?.delete(e)}_$E_(){let e=new Map,r=this.constructor.elementProperties;for(let s of r.keys())this.hasOwnProperty(s)&&(e.set(s,this[s]),delete this[s]);e.size>0&&(this._$Ep=e)}createRenderRoot(){let e=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return Ft(e,this.constructor.elementStyles),e}connectedCallback(){this.renderRoot??(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),this._$EO?.forEach((e=>e.hostConnected?.()))}enableUpdating(e){}disconnectedCallback(){this._$EO?.forEach((e=>e.hostDisconnected?.()))}attributeChangedCallback(e,r,s){this._$AK(e,s)}_$ET(e,r){let s=this.constructor.elementProperties.get(e),n=this.constructor._$Eu(e,s);if(n!==void 0&&s.reflect===!0){let i=(s.converter?.toAttribute!==void 0?s.converter:st).toAttribute(r,s.type);this._$Em=e,i==null?this.removeAttribute(n):this.setAttribute(n,i),this._$Em=null}}_$AK(e,r){let s=this.constructor,n=s._$Eh.get(e);if(n!==void 0&&this._$Em!==n){let i=s.getPropertyOptions(n),o=typeof i.converter=="function"?{fromAttribute:i.converter}:i.converter?.fromAttribute!==void 0?i.converter:st;this._$Em=n;let p=o.fromAttribute(r,i.type);this[n]=p??this._$Ej?.get(n)??p,this._$Em=null}}requestUpdate(e,r,s){if(e!==void 0){let n=this.constructor,i=this[e];if(s??(s=n.getPropertyOptions(e)),!((s.hasChanged??Kt)(i,r)||s.useDefault&&s.reflect&&i===this._$Ej?.get(e)&&!this.hasAttribute(n._$Eu(e,s))))return;this.C(e,r,s)}this.isUpdatePending===!1&&(this._$ES=this._$EP())}C(e,r,{useDefault:s,reflect:n,wrapped:i},o){s&&!(this._$Ej??(this._$Ej=new Map)).has(e)&&(this._$Ej.set(e,o??r??this[e]),i!==!0||o!==void 0)||(this._$AL.has(e)||(this.hasUpdated||s||(r=void 0),this._$AL.set(e,r)),n===!0&&this._$Em!==e&&(this._$Eq??(this._$Eq=new Set)).add(e))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(r){Promise.reject(r)}let e=this.scheduleUpdate();return e!=null&&await e,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??(this.renderRoot=this.createRenderRoot()),this._$Ep){for(let[n,i]of this._$Ep)this[n]=i;this._$Ep=void 0}let s=this.constructor.elementProperties;if(s.size>0)for(let[n,i]of s){let{wrapped:o}=i,p=this[n];o!==!0||this._$AL.has(n)||p===void 0||this.C(n,void 0,i,p)}}let e=!1,r=this._$AL;try{e=this.shouldUpdate(r),e?(this.willUpdate(r),this._$EO?.forEach((s=>s.hostUpdate?.())),this.update(r)):this._$EM()}catch(s){throw e=!1,this._$EM(),s}e&&this._$AE(r)}willUpdate(e){}_$AE(e){this._$EO?.forEach((r=>r.hostUpdated?.())),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(e)),this.updated(e)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(e){return!0}update(e){this._$Eq&&(this._$Eq=this._$Eq.forEach((r=>this._$ET(r,this[r])))),this._$EM()}updated(e){}firstUpdated(e){}};N.elementStyles=[],N.shadowRootOptions={mode:"open"},N[re("elementProperties")]=new Map,N[re("finalized")]=new Map,es?.({ReactiveElement:N}),(O.reactiveElementVersions??(O.reactiveElementVersions=[])).push("2.1.1");var se=globalThis,h=class extends N{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){var r;let e=super.createRenderRoot();return(r=this.renderOptions).renderBefore??(r.renderBefore=e.firstChild),e}update(e){let r=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(e),this._$Do=Dt(r,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return T}};h._$litElement$=!0,h.finalized=!0,se.litElementHydrateSupport?.({LitElement:h});var ts=se.litElementPolyfillSupport;ts?.({LitElement:h});(se.litElementVersions??(se.litElementVersions=[])).push("4.2.1");var Ne=class extends h{static get properties(){return{key:{type:String,reflect:!0},defaultValue:{type:String,reflect:!0,attribute:"default-value"},fallback:{type:String,reflect:!0},_text:{type:String,state:!0}}}constructor(){super(),this.key="",this.defaultValue="",this.fallback="",this._text="",this._currentLanguage=S.value,this.boundHandlers={languageChanged:(()=>{console.log("Language changed event received in ds-text"),this._currentLanguage=S.value,this._updateLanguageAttribute(),this._loadText(),this.requestUpdate()})}}connectedCallback(){super.connectedCallback(),this._currentLanguage=S.value,this._updateLanguageAttribute(),this._loadText(),window.addEventListener("language-changed",this.boundHandlers.languageChanged),window.addEventListener("translations-loaded",this.boundHandlers.languageChanged)}disconnectedCallback(){super.disconnectedCallback(),window.removeEventListener("language-changed",this.boundHandlers.languageChanged),window.removeEventListener("translations-loaded",this.boundHandlers.languageChanged)}updated(e){super.updated(e),(e.has("key")||e.has("defaultValue"))&&this._loadText()}_updateLanguageAttribute(){((this._currentLanguage||S.value)?.toLowerCase().split(/[-_]/)[0]||"")==="ja"?this.setAttribute("data-language","ja"):this.removeAttribute("data-language")}_loadText(){if(!this.key){this._text=this.defaultValue||this.fallback||"",this._updateLanguageAttribute(),this.requestUpdate();return}try{let e=bt(this.key);this._text=e||this.defaultValue||this.fallback||this.key}catch(e){console.error("Error loading text for key:",this.key,e),this._text=this.defaultValue||this.fallback||this.key}this._updateLanguageAttribute(),this.requestUpdate()}render(){return a`<span>${this._text||this.defaultValue||this.key}</span>`}};Ne.styles=y`
1
+ function De(){if(typeof navigator>"u"||typeof window>"u")return!1;let t=navigator,e=window,r=t&&(t.userAgent||t.vendor)||e&&e.opera||"",s=/Mobile|Android|iP(ad|hone|od)|IEMobile|BlackBerry|Kindle|Silk-Accelerated|(hpw|web)OS|Opera M(obi|ini)|Windows Phone|Phone|Tablet/i.test(r),i=(t&&t.maxTouchPoints||0)>1,o=e?Math.min(e.innerWidth||0,e.innerHeight||0)<=820:!1;return s||i&&o}function cr(){let t=De(),e=navigator,r=window,n=(e&&e.maxTouchPoints||0)>1,i=typeof document<"u"?document.documentElement.clientWidth:r?.innerWidth||0,o=typeof document<"u"?document.documentElement.clientHeight:r?.innerHeight||0,f=t&&Math.min(i,o)>=600;return{isMobile:t,isTablet:f,isDesktop:!t,isTouchCapable:n,deviceType:t?f?"tablet":"mobile":"desktop",userAgent:e&&(e.userAgent||e.vendor)||"",screenWidth:i,screenHeight:o}}function Me(){let t=cr();if(t.isMobile&&typeof document<"u"){let s=t.screenWidth/280;document.documentElement.style.setProperty("--sf",s.toFixed(3)),document.documentElement.style.setProperty("--sf",s.toFixed(3)),document.documentElement.classList.add("mobile"),document.documentElement.classList.remove("desktop"),console.log(`[DS one] Mobile device detected - ${t.deviceType} (${t.screenWidth}x${t.screenHeight}), scaling factor: ${s.toFixed(2)}`)}else typeof document<"u"&&(document.documentElement.style.setProperty("--sf","1"),document.documentElement.style.setProperty("--sf","1"),document.documentElement.classList.add("desktop"),document.documentElement.classList.remove("mobile")),console.log(`[DS one] Desktop device detected (${t.screenWidth}x${t.screenHeight})`);return typeof window<"u"&&window.DS_ONE_DEBUG&&console.log("[DS one] Device Info:",{type:t.deviceType,isMobile:t.isMobile,isTablet:t.isTablet,isDesktop:t.isDesktop,isTouchCapable:t.isTouchCapable,viewport:`${t.screenWidth}x${t.screenHeight}`,userAgent:t.userAgent}),t}if(typeof window<"u"){document.readyState==="loading"?document.addEventListener("DOMContentLoaded",()=>{Me()}):Me();let t;window.addEventListener("resize",()=>{clearTimeout(t),t=setTimeout(()=>{Me()},100)})}var dr={},yt=["da","de","en","es","fr","it","ja","pt","sv","zh"],ur=new Map(yt.map((t,e)=>[t,e])),ct={da:"Danish","da-dk":"Danish",de:"German","de-de":"German",en:"English","en-us":"English",es:"Spanish","es-es":"Spanish",fr:"French","fr-fr":"French",it:"Italian","it-it":"Italian",ja:"Japanese","ja-jp":"Japanese",pt:"Portuguese","pt-pt":"Portuguese",sv:"Swedish","sv-se":"Swedish",zh:"Chinese","zh-cn":"Chinese","zh-tw":"Chinese","zh-hans":"Chinese","zh-hant":"Chinese"},dt=new Map,ut=!1,wt="./translations.json",ht=!1;function pt(t){if(!t)return null;let e=t.trim();return e?e.startsWith("./")||e.startsWith("../")||e.startsWith("/")||/^https?:\/\//i.test(e)?e:`./${e}`:null}function hr(){if(typeof document>"u")return null;let e=document.querySelector("script[data-ds-one-translations]")?.getAttribute("data-ds-one-translations");if(e)return e;let r=document.querySelector('meta[name="ds-one:translations"]')?.getAttribute("content");if(r)return r;let s=document.querySelector('link[rel="ds-one-translations"]')?.getAttribute("href");return s||null}function pr(){let t=[],e=typeof window<"u"?window.DS_ONE_TRANSLATIONS_FILE:null,r=hr(),s=pt(e??"");s&&t.push(s);let n=pt(r??"");return n&&!t.includes(n)&&t.push(n),t.length===0&&t.push(wt),t}function fr(t){return!t||typeof t!="object"?!1:Object.values(t).every(e=>e&&typeof e=="object")}async function gr(t){try{let e=await fetch(t);if(!e.ok)return null;let r=await e.json();return fr(r)?Object.keys(r).length===0?(console.warn(`[DS one] No languages found in ${t}`),null):r:(console.warn(`[DS one] Invalid translation format in ${t}. Expected object with language codes as keys.`),null)}catch{return null}}async function ft(){if(ht||(ht=!0,typeof window>"u"))return!1;if(window.DS_ONE_TRANSLATIONS&&Object.keys(window.DS_ONE_TRANSLATIONS).length>0)return console.log(`[DS one] Translations already loaded (${Object.keys(window.DS_ONE_TRANSLATIONS).length} languages), skipping auto-load`),!0;let t=pr();for(let e of t){let r=await gr(e);if(!r)continue;window.DS_ONE_TRANSLATIONS=r;let s=Object.keys(r);return console.log(`[DS one] External translations loaded from ${e}: ${s.length} language(s) \u2013 ${s.join(", ")}`),window.dispatchEvent(new CustomEvent("translations-ready")),!0}return console.info(`[DS one] No external translations found at ${t[0]??wt}. Using bundled translations.`),!1}function ge(){return typeof window<"u"&&window.DS_ONE_TRANSLATIONS?window.DS_ONE_TRANSLATIONS:dr}var N=ge(),E="en";function F(t){return t?t.toLowerCase().split(/[-_]/)[0]??"":""}function gt(t){let e=F(t),r=ur.get(e);return typeof r=="number"?r:yt.length}function bt(t){return[...t].sort((e,r)=>{let s=gt(e),n=gt(r);return s!==n?s-n:e.localeCompare(r)})}function mr(t,e){let r=t?.replace("_","-");if(r)try{let s=dt.get(r);s||(s=new Intl.DisplayNames([r],{type:"language"}),dt.set(r,s));let n=e.replace("_","-"),i=s.of(n);if(i&&i!==n)return i;let o=s.of(F(n));if(o)return o}catch{ut||(console.info("[DS one] Intl.DisplayNames is not available, using fallback language names."),ut=!0)}}function vr(t){let e=t.toLowerCase().replace("_","-"),r=ct[e];if(r)return r;let s=F(e);return ct[s]}function xt(t,e={}){if(!t)return"";let r=[];e.locale&&r.push(e.locale),typeof navigator<"u"&&(Array.isArray(navigator.languages)&&r.push(...navigator.languages),navigator.language&&r.push(navigator.language)),r.push(E),r.push("en");let s=new Set;for(let o of r){if(!o||s.has(o))continue;s.add(o);let f=mr(o,t);if(f)return f}let n=vr(t);if(n)return n;let i=F(t);return i?i.toUpperCase():t}var mt={da:"da","da-dk":"da",de:"de","de-de":"de",en:"en","en-us":"en","en-gb":"en",es:"es","es-es":"es","es-mx":"es",fr:"fr","fr-fr":"fr",it:"it","it-it":"it",ja:"ja","ja-jp":"ja",pt:"pt","pt-pt":"pt","pt-br":"pt",sv:"sv","sv-se":"sv",zh:"zh","zh-cn":"zh","zh-hans":"zh","zh-tw":"zh","zh-hant":"zh"};function vt(t){if(!t)return null;let e=t.toLowerCase().replace("_","-"),r=mt[e];if(r)return r;let s=F(e),n=mt[s];return n||t}function yr(){if(typeof navigator>"u")return E;let t=navigator.language;if(t){let e=vt(t);if(e)return e}if(Array.isArray(navigator.languages))for(let e of navigator.languages){let r=vt(e);if(r)return r}return E}var as=typeof window<"u"?window.localStorage?.getItem("ds-one:language")??void 0:void 0,S={value:localStorage.getItem("language")||yr(),set:function(t){this.value=t,localStorage.setItem("language",t),window.dispatchEvent(new CustomEvent("language-changed",{detail:{language:t},bubbles:!0,composed:!0}))}};typeof window<"u"&&(document.readyState==="loading"?document.addEventListener("DOMContentLoaded",()=>{ft()}):ft());typeof window<"u"&&window.addEventListener("translations-ready",()=>{N=ge(),window.dispatchEvent(new CustomEvent("translations-loaded"));let t=S.value;window.dispatchEvent(new CustomEvent("language-changed",{detail:{language:t},bubbles:!0,composed:!0}))});setTimeout(()=>{window.dispatchEvent(new CustomEvent("translations-loaded"));let t=S.value;window.dispatchEvent(new CustomEvent("language-changed",{detail:{language:t},bubbles:!0,composed:!0}))},100);function O(t){let e=S.value;return N?.[e]?.[t]?N[e][t]:e!==E&&N?.[E]?.[t]?N[E][t]:(console.warn(`[DS one (Internationalization)] No translation found for key "${t}"`),t)}function ls(t,e=S.value){if(!t)return!1;let r=N?.[e];return!!(r&&Object.prototype.hasOwnProperty.call(r,t)||e!==E&&N?.[E]&&Object.prototype.hasOwnProperty.call(N[E],t))}function _t(t){return O(t)}function cs(){let t=ge();if(t&&Object.keys(t).length>0){let e=Object.keys(t);return Promise.resolve(bt(e))}return Promise.resolve([E])}function Re(){let t=ge();return t&&Object.keys(t).length>0?bt(Object.keys(t)):[E]}function ds(t,e){console.log(`Loading additional translations for ${t}:`,Object.keys(e).length,"keys")}function Ue(t){localStorage.setItem("language",t),S.set(t),window.dispatchEvent(new CustomEvent("language-changed",{detail:{language:t},bubbles:!0,composed:!0}))}function P(t){if(!(typeof window>"u"))try{let e=window.localStorage?.getItem("ds-one:preferences"),s={...e?JSON.parse(e):{},...t};window.localStorage?.setItem("ds-one:preferences",JSON.stringify(s))}catch(e){console.warn("ds-one: unable to persist preferences",e)}}var wr={da:"kr.",nb:"kr.",sv:"kr.",de:"\u20AC",en:"$",pt:"\u20AC",es:"\u20AC",zh:"\xA5",ja:"\xA5",ko:"\u20A9"};function ps(t){let{language:e,country:r}=t;if(r){let n=r.toUpperCase();if(n==="US"||n==="USA")return"$";if(n==="GB"||n==="UK")return"\xA3";if(n==="JP"||n==="JPN"||n==="CN"||n==="CHN")return"\xA5";if(n==="KR"||n==="KOR")return"\u20A9"}let s=e.toLowerCase().split(/[-_]/)[0];return wr[s]||"$"}var br=Object.defineProperty,xr=(t,e,r)=>e in t?br(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,We=(t,e,r)=>(xr(t,typeof e!="symbol"?e+"":e,r),r),_r=(t,e,r)=>{if(!e.has(t))throw TypeError("Cannot "+r)},je=(t,e)=>{if(Object(e)!==e)throw TypeError('Cannot use the "in" operator on this value');return t.has(e)},me=(t,e,r)=>{if(e.has(t))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(t):e.set(t,r)},$t=(t,e,r)=>(_r(t,e,"access private method"),r);function St(t,e){return Object.is(t,e)}var b=null,G=!1,ve=1,ye=Symbol("SIGNAL");function R(t){let e=b;return b=t,e}function $r(){return b}function Sr(){return G}var Ke={version:0,lastCleanEpoch:0,dirty:!1,producerNode:void 0,producerLastReadVersion:void 0,producerIndexOfThis:void 0,nextProducerIndex:0,liveConsumerNode:void 0,liveConsumerIndexOfThis:void 0,consumerAllowSignalWrites:!1,consumerIsAlwaysLive:!1,producerMustRecompute:()=>!1,producerRecomputeValue:()=>{},consumerMarkedDirty:()=>{},consumerOnSignalRead:()=>{}};function we(t){if(G)throw new Error(typeof ngDevMode<"u"&&ngDevMode?"Assertion error: signal read during notification phase":"");if(b===null)return;b.consumerOnSignalRead(t);let e=b.nextProducerIndex++;if(U(b),e<b.producerNode.length&&b.producerNode[e]!==t&&Fe(b)){let r=b.producerNode[e];be(r,b.producerIndexOfThis[e])}b.producerNode[e]!==t&&(b.producerNode[e]=t,b.producerIndexOfThis[e]=Fe(b)?Et(t,b,e):0),b.producerLastReadVersion[e]=t.version}function Ar(){ve++}function At(t){if(!(!t.dirty&&t.lastCleanEpoch===ve)){if(!t.producerMustRecompute(t)&&!Lr(t)){t.dirty=!1,t.lastCleanEpoch=ve;return}t.producerRecomputeValue(t),t.dirty=!1,t.lastCleanEpoch=ve}}function Ct(t){if(t.liveConsumerNode===void 0)return;let e=G;G=!0;try{for(let r of t.liveConsumerNode)r.dirty||Er(r)}finally{G=e}}function Cr(){return b?.consumerAllowSignalWrites!==!1}function Er(t){var e;t.dirty=!0,Ct(t),(e=t.consumerMarkedDirty)==null||e.call(t.wrapper??t)}function kr(t){return t&&(t.nextProducerIndex=0),R(t)}function Tr(t,e){if(R(e),!(!t||t.producerNode===void 0||t.producerIndexOfThis===void 0||t.producerLastReadVersion===void 0)){if(Fe(t))for(let r=t.nextProducerIndex;r<t.producerNode.length;r++)be(t.producerNode[r],t.producerIndexOfThis[r]);for(;t.producerNode.length>t.nextProducerIndex;)t.producerNode.pop(),t.producerLastReadVersion.pop(),t.producerIndexOfThis.pop()}}function Lr(t){U(t);for(let e=0;e<t.producerNode.length;e++){let r=t.producerNode[e],s=t.producerLastReadVersion[e];if(s!==r.version||(At(r),s!==r.version))return!0}return!1}function Et(t,e,r){var s;if(Ze(t),U(t),t.liveConsumerNode.length===0){(s=t.watched)==null||s.call(t.wrapper);for(let n=0;n<t.producerNode.length;n++)t.producerIndexOfThis[n]=Et(t.producerNode[n],t,n)}return t.liveConsumerIndexOfThis.push(r),t.liveConsumerNode.push(e)-1}function be(t,e){var r;if(Ze(t),U(t),typeof ngDevMode<"u"&&ngDevMode&&e>=t.liveConsumerNode.length)throw new Error(`Assertion error: active consumer index ${e} is out of bounds of ${t.liveConsumerNode.length} consumers)`);if(t.liveConsumerNode.length===1){(r=t.unwatched)==null||r.call(t.wrapper);for(let n=0;n<t.producerNode.length;n++)be(t.producerNode[n],t.producerIndexOfThis[n])}let s=t.liveConsumerNode.length-1;if(t.liveConsumerNode[e]=t.liveConsumerNode[s],t.liveConsumerIndexOfThis[e]=t.liveConsumerIndexOfThis[s],t.liveConsumerNode.length--,t.liveConsumerIndexOfThis.length--,e<t.liveConsumerNode.length){let n=t.liveConsumerIndexOfThis[e],i=t.liveConsumerNode[e];U(i),i.producerIndexOfThis[n]=e}}function Fe(t){var e;return t.consumerIsAlwaysLive||(((e=t?.liveConsumerNode)==null?void 0:e.length)??0)>0}function U(t){t.producerNode??(t.producerNode=[]),t.producerIndexOfThis??(t.producerIndexOfThis=[]),t.producerLastReadVersion??(t.producerLastReadVersion=[])}function Ze(t){t.liveConsumerNode??(t.liveConsumerNode=[]),t.liveConsumerIndexOfThis??(t.liveConsumerIndexOfThis=[])}function kt(t){if(At(t),we(t),t.value===Ge)throw t.error;return t.value}function Nr(t){let e=Object.create(Ir);e.computation=t;let r=()=>kt(e);return r[ye]=e,r}var Be=Symbol("UNSET"),qe=Symbol("COMPUTING"),Ge=Symbol("ERRORED"),Ir={...Ke,value:Be,dirty:!0,error:null,equal:St,producerMustRecompute(t){return t.value===Be||t.value===qe},producerRecomputeValue(t){if(t.value===qe)throw new Error("Detected cycle in computations.");let e=t.value;t.value=qe;let r=kr(t),s,n=!1;try{s=t.computation.call(t.wrapper),n=e!==Be&&e!==Ge&&t.equal.call(t.wrapper,e,s)}catch(i){s=Ge,t.error=i}finally{Tr(t,r)}if(n){t.value=e;return}t.value=s,t.version++}};function Or(){throw new Error}var Pr=Or;function Hr(){Pr()}function Vr(t){let e=Object.create(Dr);e.value=t;let r=()=>(we(e),e.value);return r[ye]=e,r}function zr(){return we(this),this.value}function Mr(t,e){Cr()||Hr(),t.equal.call(t.wrapper,t.value,e)||(t.value=e,Rr(t))}var Dr={...Ke,equal:St,value:void 0};function Rr(t){t.version++,Ar(),Ct(t)}var x=Symbol("node"),_;(t=>{var e,r,s,n,i,o;class f{constructor(v,l={}){me(this,r),We(this,e);let g=Vr(v)[ye];if(this[x]=g,g.wrapper=this,l){let $=l.equals;$&&(g.equal=$),g.watched=l[t.subtle.watched],g.unwatched=l[t.subtle.unwatched]}}get(){if(!(0,t.isState)(this))throw new TypeError("Wrong receiver type for Signal.State.prototype.get");return zr.call(this[x])}set(v){if(!(0,t.isState)(this))throw new TypeError("Wrong receiver type for Signal.State.prototype.set");if(Sr())throw new Error("Writes to signals not permitted during Watcher callback");let l=this[x];Mr(l,v)}}e=x,r=new WeakSet,s=function(){},t.isState=u=>typeof u=="object"&&je(r,u),t.State=f;class d{constructor(v,l){me(this,i),We(this,n);let g=Nr(v)[ye];if(g.consumerAllowSignalWrites=!0,this[x]=g,g.wrapper=this,l){let $=l.equals;$&&(g.equal=$),g.watched=l[t.subtle.watched],g.unwatched=l[t.subtle.unwatched]}}get(){if(!(0,t.isComputed)(this))throw new TypeError("Wrong receiver type for Signal.Computed.prototype.get");return kt(this[x])}}n=x,i=new WeakSet,o=function(){},t.isComputed=u=>typeof u=="object"&&je(i,u),t.Computed=d,(u=>{var v,l,A,g,$;function tr(y){let m,c=null;try{c=R(null),m=y()}finally{R(c)}return m}u.untrack=tr;function rr(y){var m;if(!(0,t.isComputed)(y)&&!(0,t.isWatcher)(y))throw new TypeError("Called introspectSources without a Computed or Watcher argument");return((m=y[x].producerNode)==null?void 0:m.map(c=>c.wrapper))??[]}u.introspectSources=rr;function sr(y){var m;if(!(0,t.isComputed)(y)&&!(0,t.isState)(y))throw new TypeError("Called introspectSinks without a Signal argument");return((m=y[x].liveConsumerNode)==null?void 0:m.map(c=>c.wrapper))??[]}u.introspectSinks=sr;function nr(y){if(!(0,t.isComputed)(y)&&!(0,t.isState)(y))throw new TypeError("Called hasSinks without a Signal argument");let m=y[x].liveConsumerNode;return m?m.length>0:!1}u.hasSinks=nr;function ir(y){if(!(0,t.isComputed)(y)&&!(0,t.isWatcher)(y))throw new TypeError("Called hasSources without a Computed or Watcher argument");let m=y[x].producerNode;return m?m.length>0:!1}u.hasSources=ir;class or{constructor(m){me(this,l),me(this,g),We(this,v);let c=Object.create(Ke);c.wrapper=this,c.consumerMarkedDirty=m,c.consumerIsAlwaysLive=!0,c.consumerAllowSignalWrites=!1,c.producerNode=[],this[x]=c}watch(...m){if(!(0,t.isWatcher)(this))throw new TypeError("Called unwatch without Watcher receiver");$t(this,g,$).call(this,m);let c=this[x];c.dirty=!1;let C=R(c);for(let fe of m)we(fe[x]);R(C)}unwatch(...m){if(!(0,t.isWatcher)(this))throw new TypeError("Called unwatch without Watcher receiver");$t(this,g,$).call(this,m);let c=this[x];U(c);for(let C=c.producerNode.length-1;C>=0;C--)if(m.includes(c.producerNode[C].wrapper)){be(c.producerNode[C],c.producerIndexOfThis[C]);let fe=c.producerNode.length-1;if(c.producerNode[C]=c.producerNode[fe],c.producerIndexOfThis[C]=c.producerIndexOfThis[fe],c.producerNode.length--,c.producerIndexOfThis.length--,c.nextProducerIndex--,C<c.producerNode.length){let lr=c.producerIndexOfThis[C],lt=c.producerNode[C];Ze(lt),lt.liveConsumerIndexOfThis[lr]=C}}}getPending(){if(!(0,t.isWatcher)(this))throw new TypeError("Called getPending without Watcher receiver");return this[x].producerNode.filter(c=>c.dirty).map(c=>c.wrapper)}}v=x,l=new WeakSet,A=function(){},g=new WeakSet,$=function(y){for(let m of y)if(!(0,t.isComputed)(m)&&!(0,t.isState)(m))throw new TypeError("Called watch/unwatch without a Computed or State argument")},t.isWatcher=y=>je(l,y),u.Watcher=or;function ar(){var y;return(y=$r())==null?void 0:y.wrapper}u.currentComputed=ar,u.watched=Symbol("watched"),u.unwatched=Symbol("unwatched")})(t.subtle||(t.subtle={}))})(_||(_={}));var vs=Symbol("SignalWatcherBrand"),ys=new FinalizationRegistry((({watcher:t,signal:e})=>{t.unwatch(e)}));var xe={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},K=t=>(...e)=>({_$litDirective$:t,values:e}),W=class{constructor(e){}get _$AU(){return this._$AM._$AU}_$AT(e,r,s){this._$Ct=e,this._$AM=r,this._$Ci=s}_$AS(e,r){return this.update(e,r)}update(e,r){return this.render(...r)}};var J=globalThis,_e=J.trustedTypes,Tt=_e?_e.createPolicy("lit-html",{createHTML:t=>t}):void 0,Ye="$lit$",k=`lit$${Math.random().toFixed(9).slice(2)}$`,Xe="?"+k,Ur=`<${Xe}>`,z=document,Y=()=>z.createComment(""),X=t=>t===null||typeof t!="object"&&typeof t!="function",Qe=Array.isArray,Ht=t=>Qe(t)||typeof t?.[Symbol.iterator]=="function",Je=`[
2
+ \f\r]`,Z=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,Lt=/-->/g,Nt=/>/g,H=RegExp(`>|${Je}(?:([^\\s"'>=/]+)(${Je}*=${Je}*(?:[^
3
+ \f\r"'\`<>=]|("|')|))|$)`,"g"),It=/'/g,Ot=/"/g,Vt=/^(?:script|style|textarea|title)$/i,et=t=>(e,...r)=>({_$litType$:t,strings:e,values:r}),a=et(1),zt=et(2),$s=et(3),T=Symbol.for("lit-noChange"),w=Symbol.for("lit-nothing"),Pt=new WeakMap,V=z.createTreeWalker(z,129);function Mt(t,e){if(!Qe(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return Tt!==void 0?Tt.createHTML(e):e}var Dt=(t,e)=>{let r=t.length-1,s=[],n,i=e===2?"<svg>":e===3?"<math>":"",o=Z;for(let f=0;f<r;f++){let d=t[f],u,v,l=-1,A=0;for(;A<d.length&&(o.lastIndex=A,v=o.exec(d),v!==null);)A=o.lastIndex,o===Z?v[1]==="!--"?o=Lt:v[1]!==void 0?o=Nt:v[2]!==void 0?(Vt.test(v[2])&&(n=RegExp("</"+v[2],"g")),o=H):v[3]!==void 0&&(o=H):o===H?v[0]===">"?(o=n??Z,l=-1):v[1]===void 0?l=-2:(l=o.lastIndex-v[2].length,u=v[1],o=v[3]===void 0?H:v[3]==='"'?Ot:It):o===Ot||o===It?o=H:o===Lt||o===Nt?o=Z:(o=H,n=void 0);let g=o===H&&t[f+1].startsWith("/>")?" ":"";i+=o===Z?d+Ur:l>=0?(s.push(u),d.slice(0,l)+Ye+d.slice(l)+k+g):d+k+(l===-2?f:g)}return[Mt(t,i+(t[r]||"<?>")+(e===2?"</svg>":e===3?"</math>":"")),s]},Q=class t{constructor({strings:e,_$litType$:r},s){let n;this.parts=[];let i=0,o=0,f=e.length-1,d=this.parts,[u,v]=Dt(e,r);if(this.el=t.createElement(u,s),V.currentNode=this.el.content,r===2||r===3){let l=this.el.content.firstChild;l.replaceWith(...l.childNodes)}for(;(n=V.nextNode())!==null&&d.length<f;){if(n.nodeType===1){if(n.hasAttributes())for(let l of n.getAttributeNames())if(l.endsWith(Ye)){let A=v[o++],g=n.getAttribute(l).split(k),$=/([.?@])?(.*)/.exec(A);d.push({type:1,index:i,name:$[2],strings:g,ctor:$[1]==="."?Se:$[1]==="?"?Ae:$[1]==="@"?Ce:D}),n.removeAttribute(l)}else l.startsWith(k)&&(d.push({type:6,index:i}),n.removeAttribute(l));if(Vt.test(n.tagName)){let l=n.textContent.split(k),A=l.length-1;if(A>0){n.textContent=_e?_e.emptyScript:"";for(let g=0;g<A;g++)n.append(l[g],Y()),V.nextNode(),d.push({type:2,index:++i});n.append(l[A],Y())}}}else if(n.nodeType===8)if(n.data===Xe)d.push({type:2,index:i});else{let l=-1;for(;(l=n.data.indexOf(k,l+1))!==-1;)d.push({type:7,index:i}),l+=k.length-1}i++}}static createElement(e,r){let s=z.createElement("template");return s.innerHTML=e,s}};function M(t,e,r=t,s){if(e===T)return e;let n=s!==void 0?r._$Co?.[s]:r._$Cl,i=X(e)?void 0:e._$litDirective$;return n?.constructor!==i&&(n?._$AO?.(!1),i===void 0?n=void 0:(n=new i(t),n._$AT(t,r,s)),s!==void 0?(r._$Co??(r._$Co=[]))[s]=n:r._$Cl=n),n!==void 0&&(e=M(t,n._$AS(t,e.values),n,s)),e}var $e=class{constructor(e,r){this._$AV=[],this._$AN=void 0,this._$AD=e,this._$AM=r}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(e){let{el:{content:r},parts:s}=this._$AD,n=(e?.creationScope??z).importNode(r,!0);V.currentNode=n;let i=V.nextNode(),o=0,f=0,d=s[0];for(;d!==void 0;){if(o===d.index){let u;d.type===2?u=new j(i,i.nextSibling,this,e):d.type===1?u=new d.ctor(i,d.name,d.strings,this,e):d.type===6&&(u=new Ee(i,this,e)),this._$AV.push(u),d=s[++f]}o!==d?.index&&(i=V.nextNode(),o++)}return V.currentNode=z,n}p(e){let r=0;for(let s of this._$AV)s!==void 0&&(s.strings!==void 0?(s._$AI(e,s,r),r+=s.strings.length-2):s._$AI(e[r])),r++}},j=class t{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(e,r,s,n){this.type=2,this._$AH=w,this._$AN=void 0,this._$AA=e,this._$AB=r,this._$AM=s,this.options=n,this._$Cv=n?.isConnected??!0}get parentNode(){let e=this._$AA.parentNode,r=this._$AM;return r!==void 0&&e?.nodeType===11&&(e=r.parentNode),e}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(e,r=this){e=M(this,e,r),X(e)?e===w||e==null||e===""?(this._$AH!==w&&this._$AR(),this._$AH=w):e!==this._$AH&&e!==T&&this._(e):e._$litType$!==void 0?this.$(e):e.nodeType!==void 0?this.T(e):Ht(e)?this.k(e):this._(e)}O(e){return this._$AA.parentNode.insertBefore(e,this._$AB)}T(e){this._$AH!==e&&(this._$AR(),this._$AH=this.O(e))}_(e){this._$AH!==w&&X(this._$AH)?this._$AA.nextSibling.data=e:this.T(z.createTextNode(e)),this._$AH=e}$(e){let{values:r,_$litType$:s}=e,n=typeof s=="number"?this._$AC(e):(s.el===void 0&&(s.el=Q.createElement(Mt(s.h,s.h[0]),this.options)),s);if(this._$AH?._$AD===n)this._$AH.p(r);else{let i=new $e(n,this),o=i.u(this.options);i.p(r),this.T(o),this._$AH=i}}_$AC(e){let r=Pt.get(e.strings);return r===void 0&&Pt.set(e.strings,r=new Q(e)),r}k(e){Qe(this._$AH)||(this._$AH=[],this._$AR());let r=this._$AH,s,n=0;for(let i of e)n===r.length?r.push(s=new t(this.O(Y()),this.O(Y()),this,this.options)):s=r[n],s._$AI(i),n++;n<r.length&&(this._$AR(s&&s._$AB.nextSibling,n),r.length=n)}_$AR(e=this._$AA.nextSibling,r){for(this._$AP?.(!1,!0,r);e!==this._$AB;){let s=e.nextSibling;e.remove(),e=s}}setConnected(e){this._$AM===void 0&&(this._$Cv=e,this._$AP?.(e))}},D=class{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(e,r,s,n,i){this.type=1,this._$AH=w,this._$AN=void 0,this.element=e,this.name=r,this._$AM=n,this.options=i,s.length>2||s[0]!==""||s[1]!==""?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=w}_$AI(e,r=this,s,n){let i=this.strings,o=!1;if(i===void 0)e=M(this,e,r,0),o=!X(e)||e!==this._$AH&&e!==T,o&&(this._$AH=e);else{let f=e,d,u;for(e=i[0],d=0;d<i.length-1;d++)u=M(this,f[s+d],r,d),u===T&&(u=this._$AH[d]),o||(o=!X(u)||u!==this._$AH[d]),u===w?e=w:e!==w&&(e+=(u??"")+i[d+1]),this._$AH[d]=u}o&&!n&&this.j(e)}j(e){e===w?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,e??"")}},Se=class extends D{constructor(){super(...arguments),this.type=3}j(e){this.element[this.name]=e===w?void 0:e}},Ae=class extends D{constructor(){super(...arguments),this.type=4}j(e){this.element.toggleAttribute(this.name,!!e&&e!==w)}},Ce=class extends D{constructor(e,r,s,n,i){super(e,r,s,n,i),this.type=5}_$AI(e,r=this){if((e=M(this,e,r,0)??w)===T)return;let s=this._$AH,n=e===w&&s!==w||e.capture!==s.capture||e.once!==s.once||e.passive!==s.passive,i=e!==w&&(s===w||n);n&&this.element.removeEventListener(this.name,this,s),i&&this.element.addEventListener(this.name,this,e),this._$AH=e}handleEvent(e){typeof this._$AH=="function"?this._$AH.call(this.options?.host??this.element,e):this._$AH.handleEvent(e)}},Ee=class{constructor(e,r,s){this.element=e,this.type=6,this._$AN=void 0,this._$AM=r,this.options=s}get _$AU(){return this._$AM._$AU}_$AI(e){M(this,e)}},Rt={M:Ye,P:k,A:Xe,C:1,L:Dt,R:$e,D:Ht,V:M,I:j,H:D,N:Ae,U:Ce,B:Se,F:Ee},Wr=J.litHtmlPolyfillSupport;Wr?.(Q,j),(J.litHtmlVersions??(J.litHtmlVersions=[])).push("3.3.1");var Ut=(t,e,r)=>{let s=r?.renderBefore??e,n=s._$litPart$;if(n===void 0){let i=r?.renderBefore??null;s._$litPart$=n=new j(e.insertBefore(Y(),i),i,void 0,r??{})}return n._$AI(t),n};var{I:Cs}=Rt;var Wt=t=>t.strings===void 0;var ee=(t,e)=>{let r=t._$AN;if(r===void 0)return!1;for(let s of r)s._$AO?.(e,!1),ee(s,e);return!0},ke=t=>{let e,r;do{if((e=t._$AM)===void 0)break;r=e._$AN,r.delete(t),t=e}while(r?.size===0)},jt=t=>{for(let e;e=t._$AM;t=e){let r=e._$AN;if(r===void 0)e._$AN=r=new Set;else if(r.has(t))break;r.add(t),qr(e)}};function jr(t){this._$AN!==void 0?(ke(this),this._$AM=t,jt(this)):this._$AM=t}function Br(t,e=!1,r=0){let s=this._$AH,n=this._$AN;if(n!==void 0&&n.size!==0)if(e)if(Array.isArray(s))for(let i=r;i<s.length;i++)ee(s[i],!1),ke(s[i]);else s!=null&&(ee(s,!1),ke(s));else ee(this,t)}var qr=t=>{t.type==xe.CHILD&&(t._$AP??(t._$AP=Br),t._$AQ??(t._$AQ=jr))},Te=class extends W{constructor(){super(...arguments),this._$AN=void 0}_$AT(e,r,s){super._$AT(e,r,s),jt(this),this.isConnected=e._$AU}_$AO(e,r=!0){e!==this.isConnected&&(this.isConnected=e,e?this.reconnected?.():this.disconnected?.()),r&&(ee(this,e),ke(this))}setValue(e){if(Wt(this._$Ct))this._$Ct._$AI(e,this);else{let r=[...this._$Ct._$AH];r[this._$Ci]=e,this._$Ct._$AI(r,this,0)}}disconnected(){}reconnected(){}};var Le=class extends Te{_$Sl(){if(this._$Su!==void 0)return;this._$SW=new _.Computed((()=>{var r;return(r=this._$Sj)===null||r===void 0?void 0:r.get()}));let e=this._$Su=new _.subtle.Watcher((()=>{var r;(r=this._$SO)===null||r===void 0||r._(this),e.watch()}));e.watch(this._$SW)}_$Sp(){var e;this._$Su!==void 0&&(this._$Su.unwatch(this._$SW),this._$SW=void 0,this._$Su=void 0,(e=this._$SO)===null||e===void 0||e.m(this))}commit(){this.setValue(_.subtle.untrack((()=>{var e;return(e=this._$SW)===null||e===void 0?void 0:e.get()})))}render(e){return _.subtle.untrack((()=>e.get()))}update(e,[r]){var s,n;return(s=this._$SO)!==null&&s!==void 0||(this._$SO=(n=e.options)===null||n===void 0?void 0:n.host),r!==this._$Sj&&this._$Sj!==void 0&&this._$Sp(),this._$Sj=r,this._$Sl(),_.subtle.untrack((()=>this._$SW.get()))}disconnected(){this._$Sp()}reconnected(){this._$Sl()}},tt=K(Le);var rt=t=>(e,...r)=>t(e,...r.map((s=>s instanceof _.State||s instanceof _.Computed?tt(s):s))),Fr=rt(a),Gr=rt(zt);var Fs=_.State,Gs=_.Computed,Bt=(t,e)=>new _.State(t,e);function Kr(){if(typeof window>"u")return"light";let t=window.localStorage?.getItem("ds-one:theme");return t==="light"||t==="dark"?t:window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}var B=Bt(Kr());function qt(t){if(t!==B.get()&&(B.set(t),typeof window<"u")){try{window.localStorage?.setItem("ds-one:theme",t)}catch(r){console.warn("ds-one: unable to persist theme preference",r)}let e=window.document?.documentElement;e&&(e.classList.remove("light-theme","dark-theme"),e.classList.add(`${t}-theme`)),window.dispatchEvent(new CustomEvent("theme-changed",{detail:{theme:t}}))}}if(typeof window<"u"){let t=B.get(),e=window.document?.documentElement;e&&(e.classList.remove("light-theme","dark-theme"),e.classList.add(`${t}-theme`))}var Ne=globalThis,Ie=Ne.ShadowRoot&&(Ne.ShadyCSS===void 0||Ne.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,st=Symbol(),Ft=new WeakMap,te=class{constructor(e,r,s){if(this._$cssResult$=!0,s!==st)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=r}get styleSheet(){let e=this.o,r=this.t;if(Ie&&e===void 0){let s=r!==void 0&&r.length===1;s&&(e=Ft.get(r)),e===void 0&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),s&&Ft.set(r,e))}return e}toString(){return this.cssText}},Gt=t=>new te(typeof t=="string"?t:t+"",void 0,st),p=(t,...e)=>{let r=t.length===1?t[0]:e.reduce(((s,n,i)=>s+(o=>{if(o._$cssResult$===!0)return o.cssText;if(typeof o=="number")return o;throw Error("Value passed to 'css' function must be a 'css' function result: "+o+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(n)+t[i+1]),t[0]);return new te(r,t,st)},Kt=(t,e)=>{if(Ie)t.adoptedStyleSheets=e.map((r=>r instanceof CSSStyleSheet?r:r.styleSheet));else for(let r of e){let s=document.createElement("style"),n=Ne.litNonce;n!==void 0&&s.setAttribute("nonce",n),s.textContent=r.cssText,t.appendChild(s)}},nt=Ie?t=>t:t=>t instanceof CSSStyleSheet?(e=>{let r="";for(let s of e.cssRules)r+=s.cssText;return Gt(r)})(t):t;var{is:Zr,defineProperty:Jr,getOwnPropertyDescriptor:Yr,getOwnPropertyNames:Xr,getOwnPropertySymbols:Qr,getPrototypeOf:es}=Object,I=globalThis,Zt=I.trustedTypes,ts=Zt?Zt.emptyScript:"",rs=I.reactiveElementPolyfillSupport,re=(t,e)=>t,it={toAttribute(t,e){switch(e){case Boolean:t=t?ts:null;break;case Object:case Array:t=t==null?t:JSON.stringify(t)}return t},fromAttribute(t,e){let r=t;switch(e){case Boolean:r=t!==null;break;case Number:r=t===null?null:Number(t);break;case Object:case Array:try{r=JSON.parse(t)}catch{r=null}}return r}},Yt=(t,e)=>!Zr(t,e),Jt={attribute:!0,type:String,converter:it,reflect:!1,useDefault:!1,hasChanged:Yt};Symbol.metadata??(Symbol.metadata=Symbol("metadata")),I.litPropertyMetadata??(I.litPropertyMetadata=new WeakMap);var L=class extends HTMLElement{static addInitializer(e){this._$Ei(),(this.l??(this.l=[])).push(e)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(e,r=Jt){if(r.state&&(r.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(e)&&((r=Object.create(r)).wrapped=!0),this.elementProperties.set(e,r),!r.noAccessor){let s=Symbol(),n=this.getPropertyDescriptor(e,s,r);n!==void 0&&Jr(this.prototype,e,n)}}static getPropertyDescriptor(e,r,s){let{get:n,set:i}=Yr(this.prototype,e)??{get(){return this[r]},set(o){this[r]=o}};return{get:n,set(o){let f=n?.call(this);i?.call(this,o),this.requestUpdate(e,f,s)},configurable:!0,enumerable:!0}}static getPropertyOptions(e){return this.elementProperties.get(e)??Jt}static _$Ei(){if(this.hasOwnProperty(re("elementProperties")))return;let e=es(this);e.finalize(),e.l!==void 0&&(this.l=[...e.l]),this.elementProperties=new Map(e.elementProperties)}static finalize(){if(this.hasOwnProperty(re("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(re("properties"))){let r=this.properties,s=[...Xr(r),...Qr(r)];for(let n of s)this.createProperty(n,r[n])}let e=this[Symbol.metadata];if(e!==null){let r=litPropertyMetadata.get(e);if(r!==void 0)for(let[s,n]of r)this.elementProperties.set(s,n)}this._$Eh=new Map;for(let[r,s]of this.elementProperties){let n=this._$Eu(r,s);n!==void 0&&this._$Eh.set(n,r)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(e){let r=[];if(Array.isArray(e)){let s=new Set(e.flat(1/0).reverse());for(let n of s)r.unshift(nt(n))}else e!==void 0&&r.push(nt(e));return r}static _$Eu(e,r){let s=r.attribute;return s===!1?void 0:typeof s=="string"?s:typeof e=="string"?e.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise((e=>this.enableUpdating=e)),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach((e=>e(this)))}addController(e){(this._$EO??(this._$EO=new Set)).add(e),this.renderRoot!==void 0&&this.isConnected&&e.hostConnected?.()}removeController(e){this._$EO?.delete(e)}_$E_(){let e=new Map,r=this.constructor.elementProperties;for(let s of r.keys())this.hasOwnProperty(s)&&(e.set(s,this[s]),delete this[s]);e.size>0&&(this._$Ep=e)}createRenderRoot(){let e=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return Kt(e,this.constructor.elementStyles),e}connectedCallback(){this.renderRoot??(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),this._$EO?.forEach((e=>e.hostConnected?.()))}enableUpdating(e){}disconnectedCallback(){this._$EO?.forEach((e=>e.hostDisconnected?.()))}attributeChangedCallback(e,r,s){this._$AK(e,s)}_$ET(e,r){let s=this.constructor.elementProperties.get(e),n=this.constructor._$Eu(e,s);if(n!==void 0&&s.reflect===!0){let i=(s.converter?.toAttribute!==void 0?s.converter:it).toAttribute(r,s.type);this._$Em=e,i==null?this.removeAttribute(n):this.setAttribute(n,i),this._$Em=null}}_$AK(e,r){let s=this.constructor,n=s._$Eh.get(e);if(n!==void 0&&this._$Em!==n){let i=s.getPropertyOptions(n),o=typeof i.converter=="function"?{fromAttribute:i.converter}:i.converter?.fromAttribute!==void 0?i.converter:it;this._$Em=n;let f=o.fromAttribute(r,i.type);this[n]=f??this._$Ej?.get(n)??f,this._$Em=null}}requestUpdate(e,r,s){if(e!==void 0){let n=this.constructor,i=this[e];if(s??(s=n.getPropertyOptions(e)),!((s.hasChanged??Yt)(i,r)||s.useDefault&&s.reflect&&i===this._$Ej?.get(e)&&!this.hasAttribute(n._$Eu(e,s))))return;this.C(e,r,s)}this.isUpdatePending===!1&&(this._$ES=this._$EP())}C(e,r,{useDefault:s,reflect:n,wrapped:i},o){s&&!(this._$Ej??(this._$Ej=new Map)).has(e)&&(this._$Ej.set(e,o??r??this[e]),i!==!0||o!==void 0)||(this._$AL.has(e)||(this.hasUpdated||s||(r=void 0),this._$AL.set(e,r)),n===!0&&this._$Em!==e&&(this._$Eq??(this._$Eq=new Set)).add(e))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(r){Promise.reject(r)}let e=this.scheduleUpdate();return e!=null&&await e,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??(this.renderRoot=this.createRenderRoot()),this._$Ep){for(let[n,i]of this._$Ep)this[n]=i;this._$Ep=void 0}let s=this.constructor.elementProperties;if(s.size>0)for(let[n,i]of s){let{wrapped:o}=i,f=this[n];o!==!0||this._$AL.has(n)||f===void 0||this.C(n,void 0,i,f)}}let e=!1,r=this._$AL;try{e=this.shouldUpdate(r),e?(this.willUpdate(r),this._$EO?.forEach((s=>s.hostUpdate?.())),this.update(r)):this._$EM()}catch(s){throw e=!1,this._$EM(),s}e&&this._$AE(r)}willUpdate(e){}_$AE(e){this._$EO?.forEach((r=>r.hostUpdated?.())),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(e)),this.updated(e)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(e){return!0}update(e){this._$Eq&&(this._$Eq=this._$Eq.forEach((r=>this._$ET(r,this[r])))),this._$EM()}updated(e){}firstUpdated(e){}};L.elementStyles=[],L.shadowRootOptions={mode:"open"},L[re("elementProperties")]=new Map,L[re("finalized")]=new Map,rs?.({ReactiveElement:L}),(I.reactiveElementVersions??(I.reactiveElementVersions=[])).push("2.1.1");var se=globalThis,h=class extends L{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){var r;let e=super.createRenderRoot();return(r=this.renderOptions).renderBefore??(r.renderBefore=e.firstChild),e}update(e){let r=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(e),this._$Do=Ut(r,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return T}};h._$litElement$=!0,h.finalized=!0,se.litElementHydrateSupport?.({LitElement:h});var ss=se.litElementPolyfillSupport;ss?.({LitElement:h});(se.litElementVersions??(se.litElementVersions=[])).push("4.2.1");var Oe=class extends h{static get properties(){return{key:{type:String,reflect:!0},defaultValue:{type:String,reflect:!0,attribute:"default-value"},fallback:{type:String,reflect:!0},_text:{type:String,state:!0}}}constructor(){super(),this.key="",this.defaultValue="",this.fallback="",this._text="",this._currentLanguage=S.value,this.boundHandlers={languageChanged:(()=>{console.log("Language changed event received in ds-text"),this._currentLanguage=S.value,this._updateLanguageAttribute(),this._loadText(),this.requestUpdate()})}}connectedCallback(){super.connectedCallback(),this._currentLanguage=S.value,this._updateLanguageAttribute(),this._loadText(),window.addEventListener("language-changed",this.boundHandlers.languageChanged),window.addEventListener("translations-loaded",this.boundHandlers.languageChanged)}disconnectedCallback(){super.disconnectedCallback(),window.removeEventListener("language-changed",this.boundHandlers.languageChanged),window.removeEventListener("translations-loaded",this.boundHandlers.languageChanged)}updated(e){super.updated(e),(e.has("key")||e.has("defaultValue"))&&this._loadText()}_updateLanguageAttribute(){let r=(this._currentLanguage||S.value||"").toLowerCase().split(/[-_]/).filter(Boolean),s=r[0]||"";if(s==="ja"){this.setAttribute("data-language","ja");return}if(s==="zh"){let n=r.includes("hans")||r.includes("cn")||r.includes("sg"),i=r.includes("hant")||r.includes("tw")||r.includes("hk")||r.includes("mo");n?this.setAttribute("data-language","zh-hans"):i?this.setAttribute("data-language","zh-hant"):this.setAttribute("data-language","zh");return}this.removeAttribute("data-language")}_loadText(){if(!this.key){this._text=this.defaultValue||this.fallback||"",this._updateLanguageAttribute(),this.requestUpdate();return}try{let e=_t(this.key);this._text=e||this.defaultValue||this.fallback||this.key}catch(e){console.error("Error loading text for key:",this.key,e),this._text=this.defaultValue||this.fallback||this.key}this._updateLanguageAttribute(),this.requestUpdate()}render(){return a`<span>${this._text||this.defaultValue||this.key}</span>`}};Oe.styles=p`
4
4
  :host {
5
5
  display: inline;
6
6
  font-family: var(--typeface-regular);
@@ -16,7 +16,18 @@ function Me(){if(typeof navigator>"u"||typeof window>"u")return!1;let t=navigato
16
16
  :host([data-language="ja"]) {
17
17
  font-family: var(--typeface-regular-jp);
18
18
  }
19
- `;customElements.define("ds-text",Ne);var ne=class extends h{constructor(){super(),this.variant="title",this.disabled=!1,this.bold=!1,this["no-background"]=!1,this.blank=!1,this.key="",this.fallback="",this.language="en-US",this.defaultText="",this.href="",this._loading=!1}connectedCallback(){super.connectedCallback()}render(){let e=this.key||this.defaultText||this.fallback;return a`
19
+
20
+ :host([data-language="zh"]),
21
+ :host([data-language="zh-hant"]) {
22
+ font-family: var(--typeface-regular-zh-hant);
23
+ font-weight: 800;
24
+ }
25
+
26
+ :host([data-language="zh-hans"]) {
27
+ font-family: var(--typeface-regular-zh-hans);
28
+ font-weight: 800;
29
+ }
30
+ `;customElements.define("ds-text",Oe);var ne=class extends h{constructor(){super(),this.variant="title",this.disabled=!1,this.bold=!1,this["no-background"]=!1,this.blank=!1,this.key="",this.fallback="",this.language="en-US",this.defaultText="",this.href="",this._loading=!1}connectedCallback(){super.connectedCallback()}render(){let e=this.key||this.defaultText||this.fallback;return a`
20
31
  <button
21
32
  class=${this.variant}
22
33
  ?disabled=${this.disabled}
@@ -30,7 +41,7 @@ function Me(){if(typeof navigator>"u"||typeof window>"u")return!1;let t=navigato
30
41
  .fallback=${this.fallback}
31
42
  ></ds-text>`:a`<slot></slot>`}
32
43
  </button>
33
- `}_handleClick(e){if(this.disabled){e.preventDefault(),e.stopPropagation();return}if(this.href){e.preventDefault(),e.stopPropagation(),this.blank?window.open(this.href,"_blank","noopener,noreferrer"):window.location.href=this.href;return}}};ne.properties={variant:{type:String,reflect:!0},disabled:{type:Boolean,reflect:!0},bold:{type:Boolean,reflect:!0},"no-background":{type:Boolean,reflect:!0,attribute:"no-background"},blank:{type:Boolean,reflect:!0},key:{type:String},fallback:{type:String},language:{type:String},defaultText:{type:String,attribute:"default-text"},href:{type:String},_loading:{type:Boolean,state:!0}};ne.styles=y`
44
+ `}_handleClick(e){if(this.disabled){e.preventDefault(),e.stopPropagation();return}if(this.href){e.preventDefault(),e.stopPropagation(),this.blank?window.open(this.href,"_blank","noopener,noreferrer"):window.location.href=this.href;return}}};ne.properties={variant:{type:String,reflect:!0},disabled:{type:Boolean,reflect:!0},bold:{type:Boolean,reflect:!0},"no-background":{type:Boolean,reflect:!0,attribute:"no-background"},blank:{type:Boolean,reflect:!0},key:{type:String},fallback:{type:String},language:{type:String},defaultText:{type:String,attribute:"default-text"},href:{type:String},_loading:{type:Boolean,state:!0}};ne.styles=p`
34
45
  button {
35
46
  max-height: calc(var(--08) * var(--sf));
36
47
  display: inline-flex;
@@ -95,7 +106,7 @@ function Me(){if(typeof navigator>"u"||typeof window>"u")return!1;let t=navigato
95
106
  .loading {
96
107
  opacity: 0.7;
97
108
  }
98
- `;customElements.define("ds-button",ne);var ie=class extends j{constructor(e){if(super(e),this.it=w,e.type!==we.CHILD)throw Error(this.constructor.directiveName+"() can only be used in child bindings")}render(e){if(e===w||e==null)return this._t=void 0,this.it=e;if(e===T)return e;if(typeof e!="string")throw Error(this.constructor.directiveName+"() called with a non-string value");if(e===this.it)return this._t;this.it=e;let r=[e];return r.raw=r,this._t={_$litType$:this.constructor.resultType,strings:r,values:[]}}};ie.directiveName="unsafeHTML",ie.resultType=1;var Jt=Z(ie);var q=class t extends h{get type(){return this._type}set type(e){let r=this._type;this._type=e,this.requestUpdate("type",r)}constructor(){super(),this._type="",this.size="1em",this.color="currentColor",this.background="transparent",console.log("Icon constructor",this._type)}connectedCallback(){super.connectedCallback(),console.log("Icon connected",this._type)}renderIcon(){if(console.log("renderIcon called with type:",this._type),!this._type||this._type==="")return console.log("No type specified, rendering default slot"),a`<div class="icon-container"><slot></slot></div>`;let e=t.iconNameToSvgMap[this._type.toLowerCase()];if(e)return a`<div class="icon-container">${Jt(e)}</div>`;switch(this._type.toLowerCase()){case"close":return console.log("Rendering close icon"),a`
109
+ `;customElements.define("ds-button",ne);var ie=class extends W{constructor(e){if(super(e),this.it=w,e.type!==xe.CHILD)throw Error(this.constructor.directiveName+"() can only be used in child bindings")}render(e){if(e===w||e==null)return this._t=void 0,this.it=e;if(e===T)return e;if(typeof e!="string")throw Error(this.constructor.directiveName+"() called with a non-string value");if(e===this.it)return this._t;this.it=e;let r=[e];return r.raw=r,this._t={_$litType$:this.constructor.resultType,strings:r,values:[]}}};ie.directiveName="unsafeHTML",ie.resultType=1;var Xt=K(ie);var q=class t extends h{get type(){return this._type}set type(e){let r=this._type;this._type=e,this.requestUpdate("type",r)}constructor(){super(),this._type="",this.size="1em",this.color="currentColor",this.background="transparent",console.log("Icon constructor",this._type)}connectedCallback(){super.connectedCallback(),console.log("Icon connected",this._type)}renderIcon(){if(console.log("renderIcon called with type:",this._type),!this._type||this._type==="")return console.log("No type specified, rendering default slot"),a`<div class="icon-container"><slot></slot></div>`;let e=t.iconNameToSvgMap[this._type.toLowerCase()];if(e)return a`<div class="icon-container">${Xt(e)}</div>`;switch(this._type.toLowerCase()){case"close":return console.log("Rendering close icon"),a`
99
110
  <div class="icon-container">
100
111
  <svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
101
112
  <path
@@ -257,7 +268,7 @@ function Me(){if(typeof navigator>"u"||typeof window>"u")return!1;let t=navigato
257
268
  />
258
269
  </svg>
259
270
  </div>
260
- `;default:return console.log(`Unknown icon type: ${this._type}, rendering default slot`),a`<div class="icon-container"><slot></slot></div>`}}updated(e){console.log("Icon updated",e),this.style.setProperty("--icon-size",this.size),this.style.setProperty("--icon-color",this.color),this.style.setProperty("--icon-background",this.background)}render(){return console.log("Icon render",this._type),this.renderIcon()}};q.properties={type:{type:String,reflect:!0}};q.styles=y`
271
+ `;default:return console.log(`Unknown icon type: ${this._type}, rendering default slot`),a`<div class="icon-container"><slot></slot></div>`}}updated(e){console.log("Icon updated",e),this.style.setProperty("--icon-size",this.size),this.style.setProperty("--icon-color",this.color),this.style.setProperty("--icon-background",this.background)}render(){return console.log("Icon render",this._type),this.renderIcon()}};q.properties={type:{type:String,reflect:!0}};q.styles=p`
261
272
  :host {
262
273
  display: inline-flex;
263
274
  justify-content: center;
@@ -288,70 +299,136 @@ function Me(){if(typeof navigator>"u"||typeof window>"u")return!1;let t=navigato
288
299
  :host {
289
300
  --notes-style-color: #ffb6b9;
290
301
  }
291
- `;q.iconNameToSvgMap=(()=>{try{let t=import.meta.glob("../x Icon/*.svg",{as:"raw",eager:!0}),e={};for(let[r,s]of Object.entries(t)){let i=(r.split("/").pop()??"").replace(/\.svg$/i,"").toLowerCase();i&&(e[i]=s)}return e}catch(t){return console.warn("Icon: failed to glob SVGs from x Icon/; falling back only to inline switch icons.",t),{}}})();customElements.define("ds-icon",q);console.log("Icon component registered with custom elements registry");var rs=t=>{localStorage.setItem("accentColor",t)},it=()=>localStorage.getItem("accentColor")||"--sharp-blue",nt=()=>{let t=it();document.documentElement.style.setProperty("--accent-color",`var(${t})`)},ss=t=>{localStorage.setItem("notesStyleMedium",t)},Yt=()=>localStorage.getItem("notesStyleMedium")||"note",Xt=t=>{localStorage.setItem("pageStyle",t)},oe=()=>localStorage.getItem("pageStyle")||"note",Ie=class extends h{static get properties(){return{type:{type:String},values:{type:Array},label:{type:String},currentValue:{type:String,state:!0},translationsReady:{type:Boolean,state:!0},disabled:{type:Boolean,state:!0},variant:{type:String}}}constructor(){super(),this.type="",this.values=[],this.label="",this.currentValue="",this.translationsReady=!1,this.disabled=!1,this.variant="",this.boundHandlers={translationsLoaded:this.handleTranslationsLoaded.bind(this),languageChanged:this.handleLanguageChanged.bind(this),handleLanguageChanged:this.handleLanguageChanged.bind(this),handleThemeChanged:this.handleThemeChanged.bind(this),handleAccentColorChanged:this.handleAccentColorChanged.bind(this),handleNoteBehaviorChanged:this.handleNoteBehaviorChanged.bind(this)}}connectedCallback(){super.connectedCallback(),window.addEventListener("translations-loaded",this.boundHandlers.translationsLoaded),window.addEventListener("language-changed",this.boundHandlers.languageChanged),window.addEventListener("theme-changed",this.boundHandlers.handleThemeChanged),window.addEventListener("accent-color-changed",this.boundHandlers.handleAccentColorChanged),window.addEventListener("page-style-changed",this.boundHandlers.handleNoteBehaviorChanged),this.initializeValues()}async initializeValues(){if(this.type==="language"){let e=Re();this.values=e,this.currentValue=S.value,this.label=this.getLabel()}else if(this.type==="theme"){this.values=["light","dark"];let e=B.get();this.currentValue=e,this.label=this.getLabel()}else if(this.type==="accent-color"){this.values=["--apple-green","--every-green","--zenith-blue","--sharp-blue","--pink","--tuned-red","--orange","--yellow"];let e=it();this.currentValue=e,nt()}else if(this.type==="notes-style-medium"){this.values=["default","big","gallery"];let e=Yt();this.currentValue=e;let r=oe();this.disabled=r==="note",this.label=this.getLabel()}else if(this.type==="page-style"){this.values=["note","page"];let e=oe();this.currentValue=e,this.label=this.getLabel()}else this.type==="icon-only"&&(this.values=["note","page"],this.currentValue=this.values[0],this.label="");this.requestUpdate()}ensureThemeInitialized(){if(!localStorage.getItem("theme")){let s=window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light";localStorage.setItem("theme",s),document.documentElement.classList.add(`${s}-theme`)}}attributeChangedCallback(e,r,s){super.attributeChangedCallback(e,r,s),e==="type"&&r!==s&&this.initializeValues()}async setupInitialValue(){if(this.type==="language"){let e=S.value;this.currentValue=e,this.label=this.getLabel()}else if(this.type==="theme"){let e=B.get();this.currentValue=e,this.label=this.getLabel()}else if(this.type==="accent-color"){let e=it();this.currentValue=e,nt()}else if(this.type==="notes-style-medium"){let e=Yt();this.currentValue=e;let r=oe();this.disabled=r==="note",this.label=this.getLabel()}else if(this.type==="page-style"){let e=oe();this.currentValue=e,this.label=this.getLabel()}else if(this.type==="icon-only"){let e=oe();this.currentValue=e,this.label=""}this.requestUpdate()}handleSettingsChanges(){this.setupInitialValue()}disconnectedCallback(){super.disconnectedCallback(),window.removeEventListener("translations-loaded",this.boundHandlers.translationsLoaded),window.removeEventListener("language-changed",this.boundHandlers.languageChanged),window.removeEventListener("theme-changed",this.boundHandlers.handleThemeChanged),window.removeEventListener("accent-color-changed",this.boundHandlers.handleAccentColorChanged),window.removeEventListener("page-style-changed",this.boundHandlers.handleNoteBehaviorChanged)}handleButtonClick(e){if(e.preventDefault(),e.stopPropagation(),!this.disabled){if(this.type==="language"){let s=(this.values.indexOf(this.currentValue)+1)%this.values.length,n=this.values[s];this.currentValue=n,document.startViewTransition?document.startViewTransition(()=>{De(n)}):De(n),P({language:n}),window.dispatchEvent(new CustomEvent("language-changed",{detail:{language:n}}))}else if(this.type==="theme"){let s=(this.values.indexOf(this.currentValue)+1)%this.values.length,n=this.values[s];this.currentValue=n,Wt(n),P({theme:n})}else if(this.type==="accent-color"){let s=(this.values.indexOf(this.currentValue)+1)%this.values.length,n=this.values[s];this.currentValue=n,rs(n),nt(),P({accentColor:n}),window.dispatchEvent(new CustomEvent("accent-color-changed",{detail:{color:n}}))}else if(this.type==="notes-style-medium"){let s=(this.values.indexOf(this.currentValue)+1)%this.values.length,n=this.values[s];this.currentValue=n,ss(n),P({notesStyleMedium:n}),window.dispatchEvent(new CustomEvent("notes-style-medium-changed",{detail:{style:n}}))}else if(this.type==="page-style"){let s=(this.values.indexOf(this.currentValue)+1)%this.values.length,n=this.values[s];this.currentValue=n,Xt(n),P({pageStyle:n}),window.dispatchEvent(new CustomEvent("page-style-changed",{detail:{behavior:n}}))}else if(this.type==="icon-only"){let s=(this.values.indexOf(this.currentValue)+1)%this.values.length,n=this.values[s];this.currentValue=n,Xt(n),P({pageStyle:n}),this.label="",window.dispatchEvent(new CustomEvent("page-style-changed",{detail:{behavior:n}}))}this.label=this.getLabel(),this.requestUpdate()}}getValueDisplay(e){if(this.type==="language")return wt(e,{locale:S.value});if(this.type==="theme"){if(this.translationsReady){let r=E(e);if(r&&r!==e)return r}return e}else{if(this.type==="accent-color")return this.getColorName(e);if(this.type==="notes-style-medium")return this.getNotesStyleIcon(e);if(this.type==="page-style"){if(this.translationsReady){let r=E(e==="note"?"note":"page");if(r&&r!==(e==="note"?"note":"page"))return r}return e}else if(this.type==="icon-only")return e==="note"?a`<ds-icon type="note"></ds-icon>`:e==="page"?a`<ds-icon type="page"></ds-icon>`:a`<span>${e}</span>`}return e}getColorKey(e){return{"--tuned-red":"red","--orange":"orange","--yellow":"yellow","--apple-green":"appleGreen","--every-green":"green","--zenith-blue":"lightBlue","--sharp-blue":"blue","--pink":"pink"}[e]||e.replace("--","").replace("-"," ")}getColorName(e){let s={"--tuned-red":"red","--orange":"orange","--yellow":"yellow","--apple-green":"appleGreen","--every-green":"green","--zenith-blue":"lightBlue","--sharp-blue":"blue","--pink":"pink"}[e];if(s&&this.translationsReady){let n=E(s);if(n&&n!==s)return n}return e.replace("--","").replace("-"," ")}getNotesStyleIcon(e){return e==="page"?a`<ds-icon type="page"></ds-icon>`:e==="note"?a`<ds-icon type="note"></ds-icon>`:e==="default"?a`<ds-icon type="default"></ds-icon>`:e==="big"?a`<ds-icon type="big"></ds-icon>`:e==="gallery"?a`<ds-icon type="gallery"></ds-icon>`:a`<span>${e}</span>`}getLabel(){if(this.type==="language"){if(this.translationsReady){let e=E("language");if(e&&e!=="language")return e}return"Language"}else if(this.type==="theme"){if(this.translationsReady){let e=E("theme");if(e&&e!=="theme")return e}return"Theme"}else if(this.type==="accent-color"){if(this.translationsReady){let e=E("accentColor");if(e&&e!=="accentColor")return e}return"Accent Color"}else if(this.type==="notes-style-medium"){if(this.translationsReady){let e=E("notesStyle");if(e&&e!=="notesStyle")return e}return"Notes Style"}else if(this.type==="page-style"){if(this.translationsReady){let e=E("clickingItem");if(e&&e!=="clickingItem")return e}return"Clic"}else if(this.type==="icon-only")return"";return this.label}render(){return a`
292
- <div class="cycle-container">
293
- ${this.type!=="icon-only"?a`${this.type==="language"?a`<ds-text
294
- key="language"
295
- default-value="Language"
296
- class="cycle-label"
302
+ `;q.iconNameToSvgMap=(()=>{try{let t=import.meta.glob("../x Icon/*.svg",{as:"raw",eager:!0}),e={};for(let[r,s]of Object.entries(t)){let i=(r.split("/").pop()??"").replace(/\.svg$/i,"").toLowerCase();i&&(e[i]=s)}return e}catch(t){return console.warn("Icon: failed to glob SVGs from x Icon/; falling back only to inline switch icons.",t),{}}})();customElements.define("ds-icon",q);console.log("Icon component registered with custom elements registry");var ns=t=>{localStorage.setItem("accentColor",t)},at=()=>localStorage.getItem("accentColor")||"--sharp-blue",ot=()=>{let t=at();document.documentElement.style.setProperty("--accent-color",`var(${t})`)},is=t=>{localStorage.setItem("notesStyleMedium",t)},Qt=()=>localStorage.getItem("notesStyleMedium")||"note",er=t=>{localStorage.setItem("pageStyle",t)},oe=()=>localStorage.getItem("pageStyle")||"note",Pe=class extends h{static get properties(){return{type:{type:String},values:{type:Array},currentValue:{type:String,state:!0},translationsReady:{type:Boolean,state:!0},disabled:{type:Boolean,state:!0},variant:{type:String}}}constructor(){super(),this.type="",this.values=[],this.currentValue="",this.translationsReady=!1,this.disabled=!1,this.variant="",this.boundHandlers={translationsLoaded:this.handleTranslationsLoaded.bind(this),languageChanged:this.handleLanguageChanged.bind(this),handleLanguageChanged:this.handleLanguageChanged.bind(this),handleThemeChanged:this.handleThemeChanged.bind(this),handleAccentColorChanged:this.handleAccentColorChanged.bind(this),handleNoteBehaviorChanged:this.handleNoteBehaviorChanged.bind(this)}}connectedCallback(){super.connectedCallback(),window.addEventListener("translations-loaded",this.boundHandlers.translationsLoaded),window.addEventListener("language-changed",this.boundHandlers.languageChanged),window.addEventListener("theme-changed",this.boundHandlers.handleThemeChanged),window.addEventListener("accent-color-changed",this.boundHandlers.handleAccentColorChanged),window.addEventListener("page-style-changed",this.boundHandlers.handleNoteBehaviorChanged),this.initializeValues()}async initializeValues(){if(this.type==="language"){let e=Re();this.values=e,this.currentValue=S.value}else if(this.type==="theme"){this.values=["light","dark"];let e=B.get();this.currentValue=e}else if(this.type==="accent-color"){this.values=["--apple-green","--every-green","--zenith-blue","--sharp-blue","--pink","--tuned-red","--orange","--yellow"];let e=at();this.currentValue=e,ot()}else if(this.type==="notes-style-medium"){this.values=["default","big","gallery"];let e=Qt();this.currentValue=e;let r=oe();this.disabled=r==="note"}else if(this.type==="page-style"){this.values=["note","page"];let e=oe();this.currentValue=e}else this.type==="icon-only"&&(this.values=["note","page"],this.currentValue=this.values[0]);this.requestUpdate()}ensureThemeInitialized(){if(!localStorage.getItem("theme")){let s=window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light";localStorage.setItem("theme",s),document.documentElement.classList.add(`${s}-theme`)}}attributeChangedCallback(e,r,s){super.attributeChangedCallback(e,r,s),e==="type"&&r!==s&&this.initializeValues()}async setupInitialValue(){if(this.type==="language"){let e=S.value;this.currentValue=e}else if(this.type==="theme"){let e=B.get();this.currentValue=e}else if(this.type==="accent-color"){let e=at();this.currentValue=e,ot()}else if(this.type==="notes-style-medium"){let e=Qt();this.currentValue=e;let r=oe();this.disabled=r==="note"}else if(this.type==="page-style"){let e=oe();this.currentValue=e}else if(this.type==="icon-only"){let e=oe();this.currentValue=e}this.requestUpdate()}handleSettingsChanges(){this.setupInitialValue()}disconnectedCallback(){super.disconnectedCallback(),window.removeEventListener("translations-loaded",this.boundHandlers.translationsLoaded),window.removeEventListener("language-changed",this.boundHandlers.languageChanged),window.removeEventListener("theme-changed",this.boundHandlers.handleThemeChanged),window.removeEventListener("accent-color-changed",this.boundHandlers.handleAccentColorChanged),window.removeEventListener("page-style-changed",this.boundHandlers.handleNoteBehaviorChanged)}handleButtonClick(e){if(e.preventDefault(),e.stopPropagation(),!this.disabled){if(this.type==="language"){let s=(this.values.indexOf(this.currentValue)+1)%this.values.length,n=this.values[s];this.currentValue=n,document.startViewTransition?document.startViewTransition(()=>{Ue(n)}):Ue(n),P({language:n}),window.dispatchEvent(new CustomEvent("language-changed",{detail:{language:n}}))}else if(this.type==="theme"){let s=(this.values.indexOf(this.currentValue)+1)%this.values.length,n=this.values[s];this.currentValue=n,qt(n),P({theme:n})}else if(this.type==="accent-color"){let s=(this.values.indexOf(this.currentValue)+1)%this.values.length,n=this.values[s];this.currentValue=n,ns(n),ot(),P({accentColor:n}),window.dispatchEvent(new CustomEvent("accent-color-changed",{detail:{color:n}}))}else if(this.type==="notes-style-medium"){let s=(this.values.indexOf(this.currentValue)+1)%this.values.length,n=this.values[s];this.currentValue=n,is(n),P({notesStyleMedium:n}),window.dispatchEvent(new CustomEvent("notes-style-medium-changed",{detail:{style:n}}))}else if(this.type==="page-style"){let s=(this.values.indexOf(this.currentValue)+1)%this.values.length,n=this.values[s];this.currentValue=n,er(n),P({pageStyle:n}),window.dispatchEvent(new CustomEvent("page-style-changed",{detail:{behavior:n}}))}else if(this.type==="icon-only"){let s=(this.values.indexOf(this.currentValue)+1)%this.values.length,n=this.values[s];this.currentValue=n,er(n),P({pageStyle:n}),window.dispatchEvent(new CustomEvent("page-style-changed",{detail:{behavior:n}}))}this.requestUpdate()}}getValueDisplay(e){if(this.type==="language")return xt(e,{locale:S.value});if(this.type==="theme"){if(this.translationsReady){let r=O(e);if(r&&r!==e)return r}return e}else{if(this.type==="accent-color")return this.getColorName(e);if(this.type==="notes-style-medium")return this.getNotesStyleIcon(e);if(this.type==="page-style"){if(this.translationsReady){let r=O(e==="note"?"note":"page");if(r&&r!==(e==="note"?"note":"page"))return r}return e}else if(this.type==="icon-only")return e==="note"?a`<ds-icon type="note"></ds-icon>`:e==="page"?a`<ds-icon type="page"></ds-icon>`:a`<span>${e}</span>`}return e}getColorKey(e){return{"--tuned-red":"red","--orange":"orange","--yellow":"yellow","--apple-green":"appleGreen","--every-green":"green","--zenith-blue":"lightBlue","--sharp-blue":"blue","--pink":"pink"}[e]||e.replace("--","").replace("-"," ")}getColorName(e){let s={"--tuned-red":"red","--orange":"orange","--yellow":"yellow","--apple-green":"appleGreen","--every-green":"green","--zenith-blue":"lightBlue","--sharp-blue":"blue","--pink":"pink"}[e];if(s&&this.translationsReady){let n=O(s);if(n&&n!==s)return n}return e.replace("--","").replace("-"," ")}getNotesStyleIcon(e){return e==="page"?a`<ds-icon type="page"></ds-icon>`:e==="note"?a`<ds-icon type="note"></ds-icon>`:e==="default"?a`<ds-icon type="default"></ds-icon>`:e==="big"?a`<ds-icon type="big"></ds-icon>`:e==="gallery"?a`<ds-icon type="gallery"></ds-icon>`:a`<span>${e}</span>`}render(){return a`
303
+ <div class="cycle">
304
+ <ds-button
305
+ variant=${this.variant||(this.type==="language"||this.type==="theme"?"secondary":"primary")}
306
+ ?disabled=${this.disabled}
307
+ @click=${this.handleButtonClick}
308
+ >
309
+ ${this.type==="notes-style-medium"||this.type==="icon-only"?a`<span
310
+ style="display: inline-flex; align-items: center; gap: var(--025)"
311
+ >${this.getValueDisplay(this.currentValue)}</span
312
+ >`:this.type==="language"?a`<ds-text
313
+ default-value=${this.getValueDisplay(this.currentValue)}
297
314
  ></ds-text>`:this.type==="theme"?a`<ds-text
298
- key="theme"
299
- default-value="Theme"
300
- class="cycle-label"
315
+ key=${this.currentValue}
316
+ default-value=${this.currentValue}
301
317
  ></ds-text>`:this.type==="accent-color"?a`<ds-text
302
- key="accentColor"
303
- default-value="Accent color"
304
- class="cycle-label"
305
- ></ds-text>`:a`<span class="cycle-label">${this.label}</span>`}`:""}
306
- <div
307
- style="display: flex; align-items: center; ${this.type==="icon-only"?"justify-content: center;":""}"
308
- >
309
- <ds-button
310
- variant=${this.variant||(this.type==="language"||this.type==="theme"?"secondary":"primary")}
311
- ?disabled=${this.disabled}
312
- @click=${this.handleButtonClick}
313
- >
314
- ${this.type==="notes-style-medium"||this.type==="icon-only"?a`<span
315
- style="display: inline-flex; align-items: center; gap: var(--025)"
316
- >${this.getValueDisplay(this.currentValue)}</span
317
- >`:this.type==="language"?a`<ds-text
318
- default-value=${this.getValueDisplay(this.currentValue)}
319
- ></ds-text>`:this.type==="theme"?a`<ds-text
320
- key=${this.currentValue}
321
- default-value=${this.currentValue}
322
- ></ds-text>`:this.type==="accent-color"?a`<ds-text
323
- key=${this.getColorKey(this.currentValue)}
324
- default-value=${this.getColorName(this.currentValue)}
325
- ></ds-text>`:this.type==="page-style"?a`<ds-text
326
- key=${this.currentValue}
327
- default-value=${this.currentValue}
328
- ></ds-text>`:a`<ds-text
329
- default-value=${this.getValueDisplay(this.currentValue)}
330
- ></ds-text>`}
331
- </ds-button>
332
- ${this.type==="accent-color"?a`
333
- <div
334
- class="color-preview"
335
- style="background-color: var(${this.currentValue})"
336
- ></div>
337
- `:""}
338
- </div>
318
+ key=${this.getColorKey(this.currentValue)}
319
+ default-value=${this.getColorName(this.currentValue)}
320
+ ></ds-text>`:this.type==="page-style"?a`<ds-text
321
+ key=${this.currentValue}
322
+ default-value=${this.currentValue}
323
+ ></ds-text>`:a`<ds-text
324
+ default-value=${this.getValueDisplay(this.currentValue)}
325
+ ></ds-text>`}
326
+ </ds-button>
327
+
328
+ ${this.type==="accent-color"?a`
329
+ <div
330
+ class="color-preview"
331
+ style="background-color: var(${this.currentValue})"
332
+ ></div>
333
+ `:""}
339
334
  </div>
340
- `}async waitForTranslations(){return new Promise(e=>{if(this.translationsReady){e();return}let r=()=>{this.translationsReady=!0,e()};window.addEventListener("translations-loaded",r,{once:!0}),setTimeout(()=>{this.translationsReady=!0,e()},5e3)})}handleTranslationsLoaded(){if(this.translationsReady=!0,this.type==="language"){let e=Re();this.values=e}this.setupInitialValue()}handleLanguageChanged(){this.setupInitialValue()}handleThemeChanged(){this.setupInitialValue()}handleAccentColorChanged(){this.setupInitialValue()}handleNoteBehaviorChanged(){this.setupInitialValue()}};Ie.styles=y`
341
- .cycle-container {
342
- display: flex;
343
- justify-content: space-between;
335
+ `}async waitForTranslations(){return new Promise(e=>{if(this.translationsReady){e();return}let r=()=>{this.translationsReady=!0,e()};window.addEventListener("translations-loaded",r,{once:!0}),setTimeout(()=>{this.translationsReady=!0,e()},5e3)})}handleTranslationsLoaded(){if(this.translationsReady=!0,this.type==="language"){let e=Re();this.values=e}this.setupInitialValue()}handleLanguageChanged(){this.setupInitialValue()}handleThemeChanged(){this.setupInitialValue()}handleAccentColorChanged(){this.setupInitialValue()}handleNoteBehaviorChanged(){this.setupInitialValue()}};Pe.styles=p`
336
+ :host {
337
+ display: inline-flex;
338
+ align-items: center;
339
+ }
340
+
341
+ .cycle {
342
+ display: inline-flex;
343
+ align-items: center;
344
344
  gap: var(--025);
345
+ }
346
+
347
+ .color-preview {
348
+ width: var(--05);
349
+ height: var(--05);
350
+ border-radius: 999px;
351
+ border: 1px solid
352
+ color-mix(in srgb, var(--text-color-primary) 20%, transparent);
353
+ flex: 0 0 auto;
354
+ }
355
+ `;customElements.define("ds-cycle",Pe);var ae=class extends h{constructor(){super(),this.size=""}render(){return a``}};ae.properties={size:{type:String,reflect:!0}};ae.styles=p`
356
+ :host {
357
+ display: block;
345
358
  width: 100%;
359
+ /* Default if no attribute is provided */
360
+ --gap-size: var(--unit);
361
+ height: var(--gap-size);
362
+ flex: 0 0 auto;
346
363
  }
347
364
 
348
- .cycle-label {
349
- color: var(--text-color-primary);
365
+ /* Semantic sizing tokens (from DS1/1-root/one.css) */
366
+ :host([tenth]) {
367
+ --gap-size: var(--tenth);
368
+ }
369
+ :host([quarter]) {
370
+ --gap-size: var(--quarter);
371
+ }
372
+ :host([half]) {
373
+ --gap-size: var(--half);
374
+ }
375
+ :host([eight-tenth]) {
376
+ --gap-size: var(--eight-tenth);
377
+ }
378
+ :host([unit]) {
379
+ --gap-size: var(--unit);
380
+ }
381
+ :host([double]) {
382
+ --gap-size: var(--double);
383
+ }
384
+ :host([triple]) {
385
+ --gap-size: var(--triple);
386
+ }
387
+ :host([quad]) {
388
+ --gap-size: var(--quad);
389
+ }
390
+ :host([oct]) {
391
+ --gap-size: var(--oct);
392
+ }
393
+ :host([dozen]) {
394
+ --gap-size: var(--dozen);
395
+ }
396
+
397
+ /* Raw scale sizing (size="...") */
398
+ :host([size="01"]) {
399
+ --gap-size: var(--01);
400
+ }
401
+ :host([size="025"]) {
402
+ --gap-size: var(--025);
403
+ }
404
+ :host([size="05"]) {
405
+ --gap-size: var(--05);
406
+ }
407
+ :host([size="08"]) {
408
+ --gap-size: var(--08);
350
409
  }
351
- `;customElements.define("ds-cycle",Ie);var ae=class extends h{constructor(){super(),this.key="",this.defaultValue="",this._text="",this._visible=!1,this.boundWindowHandlers={languageChanged:(()=>{this._loadText()}),translationsLoaded:(()=>{this._loadText()})},this.boundHostHandlers={mouseenter:(()=>{this._visible=!0,this.requestUpdate()}),mouseleave:(()=>{this._visible=!1,this.requestUpdate()}),focusin:(()=>{this._visible=!0,this.requestUpdate()}),focusout:(()=>{this._visible=!1,this.requestUpdate()})}}connectedCallback(){super.connectedCallback(),this._loadText(),window.addEventListener("language-changed",this.boundWindowHandlers.languageChanged),window.addEventListener("translations-loaded",this.boundWindowHandlers.translationsLoaded),this.addEventListener("mouseenter",this.boundHostHandlers.mouseenter),this.addEventListener("mouseleave",this.boundHostHandlers.mouseleave),this.addEventListener("focusin",this.boundHostHandlers.focusin),this.addEventListener("focusout",this.boundHostHandlers.focusout)}disconnectedCallback(){super.disconnectedCallback(),window.removeEventListener("language-changed",this.boundWindowHandlers.languageChanged),window.removeEventListener("translations-loaded",this.boundWindowHandlers.translationsLoaded),this.removeEventListener("mouseenter",this.boundHostHandlers.mouseenter),this.removeEventListener("mouseleave",this.boundHostHandlers.mouseleave),this.removeEventListener("focusin",this.boundHostHandlers.focusin),this.removeEventListener("focusout",this.boundHostHandlers.focusout)}updated(e){(e.has("key")||e.has("defaultValue"))&&this._loadText()}_loadText(){if(!this.key){this._text=this.defaultValue||"",this.requestUpdate();return}try{let e=E(this.key);this._text=e&&e!==this.key?e:this.defaultValue||this.key}catch(e){console.error("ds-tooltip: error loading text for key",this.key,e),this._text=this.defaultValue||this.key}this.requestUpdate()}render(){let e=["bubble",this._visible?"visible":""].join(" ");return a`
410
+ :host([size="1"]) {
411
+ --gap-size: var(--1);
412
+ }
413
+ :host([size="2"]) {
414
+ --gap-size: var(--2);
415
+ }
416
+ :host([size="3"]) {
417
+ --gap-size: var(--3);
418
+ }
419
+ :host([size="4"]) {
420
+ --gap-size: var(--4);
421
+ }
422
+ :host([size="8"]) {
423
+ --gap-size: var(--8);
424
+ }
425
+ :host([size="12"]) {
426
+ --gap-size: var(--12);
427
+ }
428
+ `;customElements.define("ds-gap",ae);var le=class extends h{constructor(){super(),this.key="",this.defaultValue="",this._text="",this._visible=!1,this.boundWindowHandlers={languageChanged:(()=>{this._loadText()}),translationsLoaded:(()=>{this._loadText()})},this.boundHostHandlers={mouseenter:(()=>{this._visible=!0,this.requestUpdate()}),mouseleave:(()=>{this._visible=!1,this.requestUpdate()}),focusin:(()=>{this._visible=!0,this.requestUpdate()}),focusout:(()=>{this._visible=!1,this.requestUpdate()})}}connectedCallback(){super.connectedCallback(),this._loadText(),window.addEventListener("language-changed",this.boundWindowHandlers.languageChanged),window.addEventListener("translations-loaded",this.boundWindowHandlers.translationsLoaded),this.addEventListener("mouseenter",this.boundHostHandlers.mouseenter),this.addEventListener("mouseleave",this.boundHostHandlers.mouseleave),this.addEventListener("focusin",this.boundHostHandlers.focusin),this.addEventListener("focusout",this.boundHostHandlers.focusout)}disconnectedCallback(){super.disconnectedCallback(),window.removeEventListener("language-changed",this.boundWindowHandlers.languageChanged),window.removeEventListener("translations-loaded",this.boundWindowHandlers.translationsLoaded),this.removeEventListener("mouseenter",this.boundHostHandlers.mouseenter),this.removeEventListener("mouseleave",this.boundHostHandlers.mouseleave),this.removeEventListener("focusin",this.boundHostHandlers.focusin),this.removeEventListener("focusout",this.boundHostHandlers.focusout)}updated(e){(e.has("key")||e.has("defaultValue"))&&this._loadText()}_loadText(){if(!this.key){this._text=this.defaultValue||"",this.requestUpdate();return}try{let e=O(this.key);this._text=e&&e!==this.key?e:this.defaultValue||this.key}catch(e){console.error("ds-tooltip: error loading text for key",this.key,e),this._text=this.defaultValue||this.key}this.requestUpdate()}render(){let e=["bubble",this._visible?"visible":""].join(" ");return a`
352
429
  <span class="slot-wrapper"><slot></slot></span>
353
430
  ${this._text?a`<div class="${e}">${this._text}</div>`:null}
354
- `}};ae.properties={key:{type:String,reflect:!0},defaultValue:{type:String,reflect:!0,attribute:"default-value"},_text:{state:!0},_visible:{state:!0}};ae.styles=y`
431
+ `}};le.properties={key:{type:String,reflect:!0},defaultValue:{type:String,reflect:!0,attribute:"default-value"},_text:{state:!0},_visible:{state:!0}};le.styles=p`
355
432
  :host {
356
433
  position: relative;
357
434
  display: inline-block;
@@ -398,21 +475,21 @@ function Me(){if(typeof navigator>"u"||typeof window>"u")return!1;let t=navigato
398
475
  .bubble.visible {
399
476
  opacity: 1;
400
477
  }
401
- `;customElements.define("ds-tooltip",ae);var Oe=class extends h{render(){let e=new Date().getFullYear();return a`<span>${e}</span>`}};Oe.styles=y`
478
+ `;customElements.define("ds-tooltip",le);var He=class extends h{render(){let e=new Date().getFullYear();return a`<span>${e}</span>`}};He.styles=p`
402
479
  :host {
403
480
  display: inline;
404
481
  font-family: var(--typeface-regular, var(--typeface-regular-regular));
405
482
  font-size: inherit;
406
483
  color: inherit;
407
484
  }
408
- `;customElements.define("ds-date",Oe);var Pe=class extends h{render(){return a`<slot></slot>`}};Pe.styles=y`
485
+ `;customElements.define("ds-date",He);var Ve=class extends h{render(){return a`<slot></slot>`}};Ve.styles=p`
409
486
  :host {
410
487
  display: flex;
411
488
  flex-direction: column;
412
489
  gap: 0;
413
490
  width: 100%;
414
491
  }
415
- `;customElements.define("ds-list",Pe);var le=class extends h{constructor(){super(),this.type="fill"}render(){return a`<slot></slot>`}};le.properties={type:{type:String,reflect:!0}};le.styles=y`
492
+ `;customElements.define("ds-list",Ve);var ce=class extends h{constructor(){super(),this.type="fill"}render(){return a`<slot></slot>`}};ce.properties={type:{type:String,reflect:!0}};ce.styles=p`
416
493
  :host {
417
494
  display: flex;
418
495
  align-items: end;
@@ -429,7 +506,76 @@ function Me(){if(typeof navigator>"u"||typeof window>"u")return!1;let t=navigato
429
506
  height: calc(var(--1) * var(--sf));
430
507
  gap: calc(var(--025) * var(--sf));
431
508
  }
432
- `;customElements.define("ds-row",le);var ce=class extends h{constructor(){super(),this.data=[],this.columns=["Product","Users","Retention"],this.showStatus=!0}render(){return a`
509
+ `;customElements.define("ds-row",ce);var de=class extends h{constructor(){super(),this.summaryKey="",this.detailsKey="",this.open=!1}render(){return a`
510
+ <details ?open=${this.open}>
511
+ <summary>
512
+ <ds-row class="summaryRow" type="centered">
513
+ <ds-text .key=${this.summaryKey}></ds-text>
514
+ <ds-icon class="chevron" aria-hidden="true">
515
+ <svg
516
+ viewBox="0 0 10.157 8.219"
517
+ xmlns="http://www.w3.org/2000/svg"
518
+ aria-hidden="true"
519
+ focusable="false"
520
+ >
521
+ <path
522
+ d="M5.078 8.219L0 3.141L1.414 1.727L5.078 5.391L8.743 1.727L10.157 3.141L5.078 8.219Z"
523
+ fill="currentColor"
524
+ />
525
+ </svg>
526
+ </ds-icon>
527
+ </ds-row>
528
+ </summary>
529
+
530
+ <div class="detailsBody">
531
+ <ds-text class="detailsText" .key=${this.detailsKey}></ds-text>
532
+ </div>
533
+ </details>
534
+ `}};de.properties={summaryKey:{type:String,attribute:"summary-key"},detailsKey:{type:String,attribute:"details-key"},open:{type:Boolean,reflect:!0}};de.styles=p`
535
+ :host {
536
+ display: block;
537
+ width: calc(240px * var(--sf));
538
+ color: var(--text-color-primary);
539
+ }
540
+
541
+ details {
542
+ width: 100%;
543
+ }
544
+
545
+ summary {
546
+ cursor: pointer;
547
+ user-select: none;
548
+ list-style: none;
549
+ outline: none;
550
+ }
551
+
552
+ summary::-webkit-details-marker {
553
+ display: none;
554
+ }
555
+
556
+ .summaryRow {
557
+ width: 100%;
558
+ }
559
+
560
+ ds-icon.chevron {
561
+ transform: rotate(0deg);
562
+ transition: transform 140ms ease;
563
+ }
564
+
565
+ details[open] ds-icon.chevron {
566
+ transform: rotate(180deg);
567
+ }
568
+
569
+ .detailsBody {
570
+ padding-top: calc(var(--half) * var(--sf));
571
+ }
572
+
573
+ .detailsText {
574
+ display: block;
575
+ white-space: normal;
576
+ text-align: left;
577
+ }
578
+ `;customElements.define("ds-accordion",de);var ue=class extends h{constructor(){super(),this.data=[],this.columns=["Product","Users","Retention"],this.showStatus=!0}render(){return a`
433
579
  <div class="table-container">
434
580
  <div class="table-header">
435
581
  <div class="header-cell product-cell">Product</div>
@@ -448,7 +594,7 @@ function Me(){if(typeof navigator>"u"||typeof window>"u")return!1;let t=navigato
448
594
  `)}
449
595
  </div>
450
596
  </div>
451
- `}};ce.properties={data:{type:Array},columns:{type:Array},showStatus:{type:Boolean,attribute:"show-status"}};ce.styles=y`
597
+ `}};ue.properties={data:{type:Array},columns:{type:Array},showStatus:{type:Boolean,attribute:"show-status"}};ue.styles=p`
452
598
  :host {
453
599
  display: block;
454
600
  width: 100%;
@@ -531,7 +677,7 @@ function Me(){if(typeof navigator>"u"||typeof window>"u")return!1;let t=navigato
531
677
  grid-template-columns: 1fr 60px 60px 60px;
532
678
  }
533
679
  }
534
- `;customElements.define("ds-table",ce);var Ve=class extends h{render(){return a`<slot></slot>`}};Ve.styles=y`
680
+ `;customElements.define("ds-table",ue);var ze=class extends h{render(){return a`<slot></slot>`}};ze.styles=p`
535
681
  :host {
536
682
  display: flex;
537
683
  width: 100%;
@@ -564,7 +710,7 @@ function Me(){if(typeof navigator>"u"||typeof window>"u")return!1;let t=navigato
564
710
  width: 100%;
565
711
  }
566
712
  }
567
- `;customElements.define("ds-container",Ve);var de=class extends h{connectedCallback(){super.connectedCallback(),this.updateMobileClass(),this.resizeObserver=()=>{this.resizeTimeout&&clearTimeout(this.resizeTimeout),this.resizeTimeout=setTimeout(()=>{this.updateMobileClass()},100)},window.addEventListener("resize",this.resizeObserver)}disconnectedCallback(){super.disconnectedCallback(),this.resizeObserver&&window.removeEventListener("resize",this.resizeObserver),this.resizeTimeout&&clearTimeout(this.resizeTimeout)}updateMobileClass(){Me()?(this.classList.add("mobile"),this.classList.remove("desktop")):(this.classList.add("desktop"),this.classList.remove("mobile"))}render(){return a``}};de.properties={align:{type:String}};de.styles=y`
713
+ `;customElements.define("ds-container",ze);var he=class extends h{connectedCallback(){super.connectedCallback(),this.updateMobileClass(),this.resizeObserver=()=>{this.resizeTimeout&&clearTimeout(this.resizeTimeout),this.resizeTimeout=setTimeout(()=>{this.updateMobileClass()},100)},window.addEventListener("resize",this.resizeObserver)}disconnectedCallback(){super.disconnectedCallback(),this.resizeObserver&&window.removeEventListener("resize",this.resizeObserver),this.resizeTimeout&&clearTimeout(this.resizeTimeout)}updateMobileClass(){De()?(this.classList.add("mobile"),this.classList.remove("desktop")):(this.classList.add("desktop"),this.classList.remove("mobile"))}render(){return a``}};he.properties={align:{type:String}};he.styles=p`
568
714
  :host {
569
715
  margin-top: 0.5px !important;
570
716
  margin-left: 0.5px !important;
@@ -618,7 +764,7 @@ function Me(){if(typeof navigator>"u"||typeof window>"u")return!1;let t=navigato
618
764
  right: 0;
619
765
  transform: none;
620
766
  }
621
- `;customElements.define("ds-grid",de);var ue=class extends h{constructor(){super(...arguments),this.mode="portfolio"}render(){let e=this.view||this.mode==="view",r=this.mode==="portfolio",s=this.mode==="company",n=this.mode==="app";return a`
767
+ `;customElements.define("ds-grid",he);var pe=class extends h{constructor(){super(...arguments),this.mode="portfolio"}render(){let e=this.view||this.mode==="view",r=this.mode==="portfolio",s=this.mode==="company",n=this.mode==="app";return a`
622
768
  <slot></slot>
623
769
  ${e?a`
624
770
  <div class="view-overlay">
@@ -671,7 +817,7 @@ function Me(){if(typeof navigator>"u"||typeof window>"u")return!1;let t=navigato
671
817
  `:""}
672
818
  </div>
673
819
  `:""}
674
- `}};ue.properties={mode:{type:String},align:{type:String},view:{type:Boolean}};ue.styles=y`
820
+ `}};pe.properties={mode:{type:String},align:{type:String},view:{type:Boolean}};pe.styles=p`
675
821
  :host {
676
822
  display: grid;
677
823
  position: relative;
@@ -891,7 +1037,7 @@ function Me(){if(typeof navigator>"u"||typeof window>"u")return!1;let t=navigato
891
1037
  .view-main {
892
1038
  grid-area: main;
893
1039
  }
894
- `;customElements.define("ds-layout",ue);export{ne as Button,Ve as Container,Ie as Cycle,Oe as DateComponent,ce as DsTable,de as Grid,q as Icon,ue as Layout,Pe as List,le as Row,Ne as Text,ae as Tooltip,S as currentLanguage,B as currentTheme,Me as detectMobileDevice,as as getAvailableLanguages,Re as getAvailableLanguagesSync,mr as getBrowserLanguage,ar as getDeviceInfo,wt as getLanguageDisplayName,us as getPriceLabel,bt as getText,os as hasTranslation,He as initDeviceDetection,ls as loadTranslations,P as savePreferences,De as setLanguage,Wt as setTheme,E as translate};
1040
+ `;customElements.define("ds-layout",pe);export{de as Accordion,ne as Button,ze as Container,Pe as Cycle,He as DateComponent,ue as DsTable,ae as Gap,he as Grid,q as Icon,pe as Layout,Ve as List,ce as Row,Oe as Text,le as Tooltip,S as currentLanguage,B as currentTheme,De as detectMobileDevice,cs as getAvailableLanguages,Re as getAvailableLanguagesSync,yr as getBrowserLanguage,cr as getDeviceInfo,xt as getLanguageDisplayName,ps as getPriceLabel,_t as getText,ls as hasTranslation,Me as initDeviceDetection,ds as loadTranslations,P as savePreferences,Ue as setLanguage,qt as setTheme,O as translate};
895
1041
  /*! Bundled license information:
896
1042
 
897
1043
  signal-polyfill/dist/index.js: