ds-one 0.2.5-alpha.1 → 0.2.5-alpha.11

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.
Files changed (67) hide show
  1. package/DS1/0-face/device.ts +10 -6
  2. package/DS1/0-face/i18n.ts +39 -90
  3. package/DS1/1-root/fonts/Iosevka-Regular.woff2 +0 -0
  4. package/DS1/1-root/one.css +76 -107
  5. package/DS1/2-core/ds-banner.ts +3 -0
  6. package/DS1/2-core/ds-button.ts +12 -15
  7. package/DS1/2-core/ds-cycle.ts +67 -21
  8. package/DS1/2-core/ds-date.ts +1 -2
  9. package/DS1/2-core/ds-icon.ts +4 -4
  10. package/DS1/2-core/ds-text.ts +27 -3
  11. package/DS1/2-core/ds-tooltip.ts +6 -12
  12. package/DS1/3-unit/ds-list.ts +7 -0
  13. package/DS1/3-unit/ds-row.ts +4 -5
  14. package/DS1/3-unit/ds-table.ts +5 -6
  15. package/DS1/4-page/ds-grid.ts +9 -59
  16. package/DS1/4-page/ds-layout.ts +123 -18
  17. package/LICENSE +1 -1
  18. package/README.md +43 -133
  19. package/dist/0-face/device.d.ts.map +1 -1
  20. package/dist/0-face/device.js +7 -3
  21. package/dist/0-face/i18n.d.ts +0 -2
  22. package/dist/0-face/i18n.d.ts.map +1 -1
  23. package/dist/0-face/i18n.js +37 -74
  24. package/dist/2-core/ds-banner.d.ts +1 -0
  25. package/dist/2-core/ds-banner.d.ts.map +1 -0
  26. package/dist/2-core/ds-banner.js +2 -0
  27. package/dist/2-core/ds-button.d.ts +2 -7
  28. package/dist/2-core/ds-button.d.ts.map +1 -1
  29. package/dist/2-core/ds-button.js +11 -13
  30. package/dist/2-core/ds-cycle.d.ts +2 -0
  31. package/dist/2-core/ds-cycle.d.ts.map +1 -1
  32. package/dist/2-core/ds-cycle.js +65 -19
  33. package/dist/2-core/ds-date.js +1 -1
  34. package/dist/2-core/ds-icon.js +4 -4
  35. package/dist/2-core/ds-text.d.ts +2 -0
  36. package/dist/2-core/ds-text.d.ts.map +1 -1
  37. package/dist/2-core/ds-text.js +26 -3
  38. package/dist/2-core/ds-tooltip.d.ts +1 -1
  39. package/dist/2-core/ds-tooltip.d.ts.map +1 -1
  40. package/dist/2-core/ds-tooltip.js +6 -12
  41. package/dist/3-unit/ds-list.d.ts.map +1 -1
  42. package/dist/3-unit/ds-list.js +3 -0
  43. package/dist/3-unit/ds-portfolio-panel.d.ts.map +1 -1
  44. package/dist/3-unit/ds-portfolio-singlenav.js +3 -3
  45. package/dist/3-unit/ds-row.js +4 -4
  46. package/dist/3-unit/ds-table.d.ts.map +1 -1
  47. package/dist/3-unit/ds-table.js +5 -6
  48. package/dist/4-page/ds-grid.d.ts +0 -7
  49. package/dist/4-page/ds-grid.d.ts.map +1 -1
  50. package/dist/4-page/ds-grid.js +9 -54
  51. package/dist/4-page/ds-layout.d.ts +1 -1
  52. package/dist/4-page/ds-layout.d.ts.map +1 -1
  53. package/dist/4-page/ds-layout.js +126 -17
  54. package/dist/ds-one.bundle.js +347 -265
  55. package/dist/ds-one.bundle.js.map +4 -4
  56. package/dist/ds-one.bundle.min.js +204 -80
  57. package/dist/ds-one.bundle.min.js.map +4 -4
  58. package/package.json +7 -8
  59. package/DS1/3-unit/doublenav-v1.ts +0 -105
  60. package/DS1/3-unit/ds-portfolio-doublenav.ts +0 -105
  61. package/DS1/3-unit/ds-portfolio-panel.ts +0 -27
  62. package/DS1/3-unit/ds-portfolio-singlenav.ts +0 -79
  63. package/DS1/3-unit/list-v1.ts +0 -24
  64. package/DS1/3-unit/panel-v1.ts +0 -26
  65. package/DS1/3-unit/row-v1.ts +0 -52
  66. package/DS1/3-unit/singlenav-v1.ts +0 -78
  67. /package/DS1/x-icon/{row..svg → row.svg} +0 -0
@@ -1,6 +1,6 @@
1
- function Ve(){if(typeof navigator>"u"||typeof window>"u")return!1;let t=navigator,e=window,n=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(n),i=(t&&t.maxTouchPoints||0)>1,o=e?Math.min(e.innerWidth||0,e.innerHeight||0)<=820:!1;return s||i&&o}function cn(){let t=Ve(),e=navigator,n=window,r=(e&&e.maxTouchPoints||0)>1,i=typeof document<"u"?document.documentElement.clientWidth:n?.innerWidth||0,o=typeof document<"u"?document.documentElement.clientHeight:n?.innerHeight||0,p=t&&Math.min(i,o)>=600;return{isMobile:t,isTablet:p,isDesktop:!t,isTouchCapable:r,deviceType:t?p?"tablet":"mobile":"desktop",userAgent:e&&(e.userAgent||e.vendor)||"",screenWidth:i,screenHeight:o}}function He(){let t=cn();if(t.isMobile&&typeof document<"u"){let s=t.screenWidth/280;document.documentElement.style.setProperty("--scaling-factor-mobile",s.toFixed(3)),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("--scaling-factor-mobile","1"),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 dn={},vt=["da","nb","sv","pt","es","zh","ko","ja","en","de"],un=new Map(vt.map((t,e)=>[t,e])),lt={da:"Danish","da-dk":"Danish",nb:"Norwegian","nb-no":"Norwegian",sv:"Swedish","sv-se":"Swedish",de:"German","de-de":"German",en:"English","en-us":"English",pt:"Portuguese","pt-pt":"Portuguese","pt-br":"Portuguese (Brazil)",es:"Spanish","es-es":"Spanish","es-mx":"Spanish (Mexico)",zh:"Chinese","zh-hans":"Chinese (Simplified)","zh-hant":"Chinese (Traditional)",ja:"Japanese","ja-jp":"Japanese",ko:"Korean","ko-kr":"Korean"},ct=new Map,dt=!1,yt="./translations.json",ut=!1;function ht(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 hn(){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 n=document.querySelector('meta[name="ds-one:translations"]')?.getAttribute("content");if(n)return n;let s=document.querySelector('link[rel="ds-one-translations"]')?.getAttribute("href");return s||null}function pn(){let t=[],e=typeof window<"u"?window.DS_ONE_TRANSLATIONS_FILE:null,n=hn(),s=ht(e??"");s&&t.push(s);let r=ht(n??"");return r&&!t.includes(r)&&t.push(r),t.length===0&&t.push(yt),t}function fn(t){return!t||typeof t!="object"?!1:Object.values(t).every(e=>e&&typeof e=="object")}async function gn(t){try{let e=await fetch(t);if(!e.ok)return null;let n=await e.json();return fn(n)?Object.keys(n).length===0?(console.warn(`[DS one] No languages found in ${t}`),null):n:(console.warn(`[DS one] Invalid translation format in ${t}. Expected object with language codes as keys.`),null)}catch{return null}}async function pt(){if(ut||(ut=!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=pn();for(let e of t){let n=await gn(e);if(!n)continue;window.DS_ONE_TRANSLATIONS=n;let s=Object.keys(n);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]??yt}. Using bundled translations.`),!1}function pe(){return typeof window<"u"&&window.DS_ONE_TRANSLATIONS?window.DS_ONE_TRANSLATIONS:dn}var E=pe(),Re=new Map,S="en";function F(t){return t?t.toLowerCase().split(/[-_]/)[0]??"":""}function ft(t){let e=F(t),n=un.get(e);return typeof n=="number"?n:vt.length}function bt(t){return[...t].sort((e,n)=>{let s=ft(e),r=ft(n);return s!==r?s-r:e.localeCompare(n)})}function mn(t,e){let n=t?.replace("_","-");if(n)try{let s=ct.get(n);s||(s=new Intl.DisplayNames([n],{type:"language"}),ct.set(n,s));let r=e.replace("_","-"),i=s.of(r);if(i&&i!==r)return i;let o=s.of(F(r));if(o)return o}catch{dt||(console.info("[DS one] Intl.DisplayNames is not available, using fallback language names."),dt=!0)}}function vn(t){let e=t.toLowerCase().replace("_","-"),n=lt[e];if(n)return n;let s=F(e);return lt[s]}function wt(t,e={}){if(!t)return"";let n=[];e.locale&&n.push(e.locale),typeof navigator<"u"&&(Array.isArray(navigator.languages)&&n.push(...navigator.languages),navigator.language&&n.push(navigator.language)),n.push(S),n.push("en");let s=new Set;for(let o of n){if(!o||s.has(o))continue;s.add(o);let p=mn(o,t);if(p)return p}let r=vn(t);if(r)return r;let i=F(t);return i?i.toUpperCase():t}var gt={da:"da","da-dk":"da",no:"nb",nb:"nb","nb-no":"nb",nn:"nn","nn-no":"nn",sv:"sv","sv-se":"sv",pt:"pt","pt-pt":"pt","pt-br":"pt",es:"es","es-es":"es","es-mx":"es",zh:"zh","zh-cn":"zh","zh-hans":"zh","zh-tw":"zh","zh-hant":"zh",ko:"ko","ko-kr":"ko",ja:"ja","ja-jp":"ja",en:"en","en-us":"en","en-gb":"en",de:"de","de-de":"de"};function mt(t){if(!t)return null;let e=t.toLowerCase().replace("_","-"),n=gt[e];if(n)return n;let s=F(e),r=gt[s];return r||t}function yn(){if(typeof navigator>"u")return S;let t=navigator.language;if(t){let e=mt(t);if(e)return e}if(Array.isArray(navigator.languages))for(let e of navigator.languages){let n=mt(e);if(n)return n}return S}var ls=typeof window<"u"?window.localStorage?.getItem("ds-one:language")??void 0:void 0,L={value:localStorage.getItem("language")||yn(),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",()=>{pt()}):pt());typeof window<"u"&&window.addEventListener("translations-ready",()=>{E=pe(),window.dispatchEvent(new CustomEvent("translations-loaded")),window.notionDataLoaded=!0;let t=L.value;window.dispatchEvent(new CustomEvent("language-changed",{detail:{language:t},bubbles:!0,composed:!0}))});setTimeout(()=>{window.dispatchEvent(new CustomEvent("translations-loaded")),window.notionDataLoaded=!0;let t=L.value;window.dispatchEvent(new CustomEvent("language-changed",{detail:{language:t},bubbles:!0,composed:!0}))},100);function T(t){let e=L.value;return E?.[e]?.[t]?E[e][t]:e!==S&&E?.[S]?.[t]?E[S][t]:(console.warn(`[translate] No translation found for key "${t}"`),t)}function cs(t,e=L.value){if(!t)return!1;let n=E?.[e];return!!(n&&Object.prototype.hasOwnProperty.call(n,t)||e!==S&&E?.[S]&&Object.prototype.hasOwnProperty.call(E[S],t))}function fe(t){return T(t)}async function _t(t,e=L.value){if(!t||!E||!E[e])return null;let n=E[e][t];return n||(e!==S&&E[S]?.[t]?E[S][t]:null)}function ds(t,e,n=L.value){if(!t)return;bn(n).set(t,e)}function bn(t){return Re.has(t)||Re.set(t,new Map),Re.get(t)}function us(){let t=pe();if(t&&Object.keys(t).length>0){let e=Object.keys(t);return Promise.resolve(bt(e))}return Promise.resolve([S])}function De(){let t=pe();return t&&Object.keys(t).length>0?bt(Object.keys(t)):[S]}function hs(t,e){console.log(`Loading additional translations for ${t}:`,Object.keys(e).length,"keys")}function Ue(t){localStorage.setItem("language",t),L.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 wn={da:"kr.",nb:"kr.",sv:"kr.",de:"\u20AC",en:"$",pt:"\u20AC",es:"\u20AC",zh:"\xA5",ja:"\xA5",ko:"\u20A9"};function gs(t){let{language:e,country:n}=t;if(n){let r=n.toUpperCase();if(r==="US"||r==="USA")return"$";if(r==="GB"||r==="UK")return"\xA3";if(r==="JP"||r==="JPN"||r==="CN"||r==="CHN")return"\xA5";if(r==="KR"||r==="KOR")return"\u20A9"}let s=e.toLowerCase().split(/[-_]/)[0];return wn[s]||"$"}var _n=Object.defineProperty,xn=(t,e,n)=>e in t?_n(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,We=(t,e,n)=>(xn(t,typeof e!="symbol"?e+"":e,n),n),$n=(t,e,n)=>{if(!e.has(t))throw TypeError("Cannot "+n)},je=(t,e)=>{if(Object(e)!==e)throw TypeError('Cannot use the "in" operator on this value');return t.has(e)},ge=(t,e,n)=>{if(e.has(t))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(t):e.set(t,n)},xt=(t,e,n)=>($n(t,e,"access private method"),n);function $t(t,e){return Object.is(t,e)}var w=null,G=!1,me=1,ve=Symbol("SIGNAL");function U(t){let e=w;return w=t,e}function Sn(){return w}function An(){return G}var Ge={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 ye(t){if(G)throw new Error(typeof ngDevMode<"u"&&ngDevMode?"Assertion error: signal read during notification phase":"");if(w===null)return;w.consumerOnSignalRead(t);let e=w.nextProducerIndex++;if(W(w),e<w.producerNode.length&&w.producerNode[e]!==t&&qe(w)){let n=w.producerNode[e];be(n,w.producerIndexOfThis[e])}w.producerNode[e]!==t&&(w.producerNode[e]=t,w.producerIndexOfThis[e]=qe(w)?Ct(t,w,e):0),w.producerLastReadVersion[e]=t.version}function Cn(){me++}function St(t){if(!(!t.dirty&&t.lastCleanEpoch===me)){if(!t.producerMustRecompute(t)&&!Nn(t)){t.dirty=!1,t.lastCleanEpoch=me;return}t.producerRecomputeValue(t),t.dirty=!1,t.lastCleanEpoch=me}}function At(t){if(t.liveConsumerNode===void 0)return;let e=G;G=!0;try{for(let n of t.liveConsumerNode)n.dirty||Tn(n)}finally{G=e}}function En(){return w?.consumerAllowSignalWrites!==!1}function Tn(t){var e;t.dirty=!0,At(t),(e=t.consumerMarkedDirty)==null||e.call(t.wrapper??t)}function Ln(t){return t&&(t.nextProducerIndex=0),U(t)}function kn(t,e){if(U(e),!(!t||t.producerNode===void 0||t.producerIndexOfThis===void 0||t.producerLastReadVersion===void 0)){if(qe(t))for(let n=t.nextProducerIndex;n<t.producerNode.length;n++)be(t.producerNode[n],t.producerIndexOfThis[n]);for(;t.producerNode.length>t.nextProducerIndex;)t.producerNode.pop(),t.producerLastReadVersion.pop(),t.producerIndexOfThis.pop()}}function Nn(t){W(t);for(let e=0;e<t.producerNode.length;e++){let n=t.producerNode[e],s=t.producerLastReadVersion[e];if(s!==n.version||(St(n),s!==n.version))return!0}return!1}function Ct(t,e,n){var s;if(Ze(t),W(t),t.liveConsumerNode.length===0){(s=t.watched)==null||s.call(t.wrapper);for(let r=0;r<t.producerNode.length;r++)t.producerIndexOfThis[r]=Ct(t.producerNode[r],t,r)}return t.liveConsumerIndexOfThis.push(n),t.liveConsumerNode.push(e)-1}function be(t,e){var n;if(Ze(t),W(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){(n=t.unwatched)==null||n.call(t.wrapper);for(let r=0;r<t.producerNode.length;r++)be(t.producerNode[r],t.producerIndexOfThis[r])}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 r=t.liveConsumerIndexOfThis[e],i=t.liveConsumerNode[e];W(i),i.producerIndexOfThis[r]=e}}function qe(t){var e;return t.consumerIsAlwaysLive||(((e=t?.liveConsumerNode)==null?void 0:e.length)??0)>0}function W(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 Et(t){if(St(t),ye(t),t.value===Fe)throw t.error;return t.value}function In(t){let e=Object.create(On);e.computation=t;let n=()=>Et(e);return n[ve]=e,n}var ze=Symbol("UNSET"),Be=Symbol("COMPUTING"),Fe=Symbol("ERRORED"),On={...Ge,value:ze,dirty:!0,error:null,equal:$t,producerMustRecompute(t){return t.value===ze||t.value===Be},producerRecomputeValue(t){if(t.value===Be)throw new Error("Detected cycle in computations.");let e=t.value;t.value=Be;let n=Ln(t),s,r=!1;try{s=t.computation.call(t.wrapper),r=e!==ze&&e!==Fe&&t.equal.call(t.wrapper,e,s)}catch(i){s=Fe,t.error=i}finally{kn(t,n)}if(r){t.value=e;return}t.value=s,t.version++}};function Pn(){throw new Error}var Mn=Pn;function Hn(){Mn()}function Vn(t){let e=Object.create(Un);e.value=t;let n=()=>(ye(e),e.value);return n[ve]=e,n}function Rn(){return ye(this),this.value}function Dn(t,e){En()||Hn(),t.equal.call(t.wrapper,t.value,e)||(t.value=e,Wn(t))}var Un={...Ge,equal:$t,value:void 0};function Wn(t){t.version++,Cn(),At(t)}var _=Symbol("node"),x;(t=>{var e,n,s,r,i,o;class p{constructor(m,l={}){ge(this,n),We(this,e);let f=Vn(m)[ve];if(this[_]=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 Rn.call(this[_])}set(m){if(!(0,t.isState)(this))throw new TypeError("Wrong receiver type for Signal.State.prototype.set");if(An())throw new Error("Writes to signals not permitted during Watcher callback");let l=this[_];Dn(l,m)}}e=_,n=new WeakSet,s=function(){},t.isState=u=>typeof u=="object"&&je(n,u),t.State=p;class d{constructor(m,l){ge(this,i),We(this,r);let f=In(m)[ve];if(f.consumerAllowSignalWrites=!0,this[_]=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 Et(this[_])}}r=_,i=new WeakSet,o=function(){},t.isComputed=u=>typeof u=="object"&&je(i,u),t.Computed=d,(u=>{var m,l,A,f,$;function en(v){let g,c=null;try{c=U(null),g=v()}finally{U(c)}return g}u.untrack=en;function tn(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[_].producerNode)==null?void 0:g.map(c=>c.wrapper))??[]}u.introspectSources=tn;function nn(v){var g;if(!(0,t.isComputed)(v)&&!(0,t.isState)(v))throw new TypeError("Called introspectSinks without a Signal argument");return((g=v[_].liveConsumerNode)==null?void 0:g.map(c=>c.wrapper))??[]}u.introspectSinks=nn;function sn(v){if(!(0,t.isComputed)(v)&&!(0,t.isState)(v))throw new TypeError("Called hasSinks without a Signal argument");let g=v[_].liveConsumerNode;return g?g.length>0:!1}u.hasSinks=sn;function rn(v){if(!(0,t.isComputed)(v)&&!(0,t.isWatcher)(v))throw new TypeError("Called hasSources without a Computed or Watcher argument");let g=v[_].producerNode;return g?g.length>0:!1}u.hasSources=rn;class on{constructor(g){ge(this,l),ge(this,f),We(this,m);let c=Object.create(Ge);c.wrapper=this,c.consumerMarkedDirty=g,c.consumerIsAlwaysLive=!0,c.consumerAllowSignalWrites=!1,c.producerNode=[],this[_]=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[_];c.dirty=!1;let C=U(c);for(let he of g)ye(he[_]);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[_];W(c);for(let C=c.producerNode.length-1;C>=0;C--)if(g.includes(c.producerNode[C].wrapper)){be(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 ln=c.producerIndexOfThis[C],at=c.producerNode[C];Ze(at),at.liveConsumerIndexOfThis[ln]=C}}}getPending(){if(!(0,t.isWatcher)(this))throw new TypeError("Called getPending without Watcher receiver");return this[_].producerNode.filter(c=>c.dirty).map(c=>c.wrapper)}}m=_,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=>je(l,v),u.Watcher=on;function an(){var v;return(v=Sn())==null?void 0:v.wrapper}u.currentComputed=an,u.watched=Symbol("watched"),u.unwatched=Symbol("unwatched")})(t.subtle||(t.subtle={}))})(x||(x={}));var bs=Symbol("SignalWatcherBrand"),ws=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,n,s){this._$Ct=e,this._$AM=n,this._$Ci=s}_$AS(e,n){return this.update(e,n)}update(e,n){return this.render(...n)}};var J=globalThis,_e=J.trustedTypes,Tt=_e?_e.createPolicy("lit-html",{createHTML:t=>t}):void 0,Je="$lit$",k=`lit$${Math.random().toFixed(9).slice(2)}$`,Ye="?"+k,jn=`<${Ye}>`,V=document,Y=()=>V.createComment(""),X=t=>t===null||typeof t!="object"&&typeof t!="function",Xe=Array.isArray,Pt=t=>Xe(t)||typeof t?.[Symbol.iterator]=="function",Ke=`[
2
- \f\r]`,K=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,Lt=/-->/g,kt=/>/g,M=RegExp(`>|${Ke}(?:([^\\s"'>=/]+)(${Ke}*=${Ke}*(?:[^
3
- \f\r"'\`<>=]|("|')|))|$)`,"g"),Nt=/'/g,It=/"/g,Mt=/^(?:script|style|textarea|title)$/i,Qe=t=>(e,...n)=>({_$litType$:t,strings:e,values:n}),a=Qe(1),Ht=Qe(2),As=Qe(3),N=Symbol.for("lit-noChange"),b=Symbol.for("lit-nothing"),Ot=new WeakMap,H=V.createTreeWalker(V,129);function Vt(t,e){if(!Xe(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return Tt!==void 0?Tt.createHTML(e):e}var Rt=(t,e)=>{let n=t.length-1,s=[],r,i=e===2?"<svg>":e===3?"<math>":"",o=K;for(let p=0;p<n;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=Lt:m[1]!==void 0?o=kt:m[2]!==void 0?(Mt.test(m[2])&&(r=RegExp("</"+m[2],"g")),o=M):m[3]!==void 0&&(o=M):o===M?m[0]===">"?(o=r??K,l=-1):m[1]===void 0?l=-2:(l=o.lastIndex-m[2].length,u=m[1],o=m[3]===void 0?M:m[3]==='"'?It:Nt):o===It||o===Nt?o=M:o===Lt||o===kt?o=K:(o=M,r=void 0);let f=o===M&&t[p+1].startsWith("/>")?" ":"";i+=o===K?d+jn:l>=0?(s.push(u),d.slice(0,l)+Je+d.slice(l)+k+f):d+k+(l===-2?p:f)}return[Vt(t,i+(t[n]||"<?>")+(e===2?"</svg>":e===3?"</math>":"")),s]},Q=class t{constructor({strings:e,_$litType$:n},s){let r;this.parts=[];let i=0,o=0,p=e.length-1,d=this.parts,[u,m]=Rt(e,n);if(this.el=t.createElement(u,s),H.currentNode=this.el.content,n===2||n===3){let l=this.el.content.firstChild;l.replaceWith(...l.childNodes)}for(;(r=H.nextNode())!==null&&d.length<p;){if(r.nodeType===1){if(r.hasAttributes())for(let l of r.getAttributeNames())if(l.endsWith(Je)){let A=m[o++],f=r.getAttribute(l).split(k),$=/([.?@])?(.*)/.exec(A);d.push({type:1,index:i,name:$[2],strings:f,ctor:$[1]==="."?$e:$[1]==="?"?Se:$[1]==="@"?Ae:D}),r.removeAttribute(l)}else l.startsWith(k)&&(d.push({type:6,index:i}),r.removeAttribute(l));if(Mt.test(r.tagName)){let l=r.textContent.split(k),A=l.length-1;if(A>0){r.textContent=_e?_e.emptyScript:"";for(let f=0;f<A;f++)r.append(l[f],Y()),H.nextNode(),d.push({type:2,index:++i});r.append(l[A],Y())}}}else if(r.nodeType===8)if(r.data===Ye)d.push({type:2,index:i});else{let l=-1;for(;(l=r.data.indexOf(k,l+1))!==-1;)d.push({type:7,index:i}),l+=k.length-1}i++}}static createElement(e,n){let s=V.createElement("template");return s.innerHTML=e,s}};function R(t,e,n=t,s){if(e===N)return e;let r=s!==void 0?n._$Co?.[s]:n._$Cl,i=X(e)?void 0:e._$litDirective$;return r?.constructor!==i&&(r?._$AO?.(!1),i===void 0?r=void 0:(r=new i(t),r._$AT(t,n,s)),s!==void 0?(n._$Co??(n._$Co=[]))[s]=r:n._$Cl=r),r!==void 0&&(e=R(t,r._$AS(t,e.values),r,s)),e}var xe=class{constructor(e,n){this._$AV=[],this._$AN=void 0,this._$AD=e,this._$AM=n}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(e){let{el:{content:n},parts:s}=this._$AD,r=(e?.creationScope??V).importNode(n,!0);H.currentNode=r;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 z(i,i.nextSibling,this,e):d.type===1?u=new d.ctor(i,d.name,d.strings,this,e):d.type===6&&(u=new Ce(i,this,e)),this._$AV.push(u),d=s[++p]}o!==d?.index&&(i=H.nextNode(),o++)}return H.currentNode=V,r}p(e){let n=0;for(let s of this._$AV)s!==void 0&&(s.strings!==void 0?(s._$AI(e,s,n),n+=s.strings.length-2):s._$AI(e[n])),n++}},z=class t{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(e,n,s,r){this.type=2,this._$AH=b,this._$AN=void 0,this._$AA=e,this._$AB=n,this._$AM=s,this.options=r,this._$Cv=r?.isConnected??!0}get parentNode(){let e=this._$AA.parentNode,n=this._$AM;return n!==void 0&&e?.nodeType===11&&(e=n.parentNode),e}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(e,n=this){e=R(this,e,n),X(e)?e===b||e==null||e===""?(this._$AH!==b&&this._$AR(),this._$AH=b):e!==this._$AH&&e!==N&&this._(e):e._$litType$!==void 0?this.$(e):e.nodeType!==void 0?this.T(e):Pt(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!==b&&X(this._$AH)?this._$AA.nextSibling.data=e:this.T(V.createTextNode(e)),this._$AH=e}$(e){let{values:n,_$litType$:s}=e,r=typeof s=="number"?this._$AC(e):(s.el===void 0&&(s.el=Q.createElement(Vt(s.h,s.h[0]),this.options)),s);if(this._$AH?._$AD===r)this._$AH.p(n);else{let i=new xe(r,this),o=i.u(this.options);i.p(n),this.T(o),this._$AH=i}}_$AC(e){let n=Ot.get(e.strings);return n===void 0&&Ot.set(e.strings,n=new Q(e)),n}k(e){Xe(this._$AH)||(this._$AH=[],this._$AR());let n=this._$AH,s,r=0;for(let i of e)r===n.length?n.push(s=new t(this.O(Y()),this.O(Y()),this,this.options)):s=n[r],s._$AI(i),r++;r<n.length&&(this._$AR(s&&s._$AB.nextSibling,r),n.length=r)}_$AR(e=this._$AA.nextSibling,n){for(this._$AP?.(!1,!0,n);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,n,s,r,i){this.type=1,this._$AH=b,this._$AN=void 0,this.element=e,this.name=n,this._$AM=r,this.options=i,s.length>2||s[0]!==""||s[1]!==""?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=b}_$AI(e,n=this,s,r){let i=this.strings,o=!1;if(i===void 0)e=R(this,e,n,0),o=!X(e)||e!==this._$AH&&e!==N,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],n,d),u===N&&(u=this._$AH[d]),o||(o=!X(u)||u!==this._$AH[d]),u===b?e=b:e!==b&&(e+=(u??"")+i[d+1]),this._$AH[d]=u}o&&!r&&this.j(e)}j(e){e===b?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===b?void 0:e}},Se=class extends D{constructor(){super(...arguments),this.type=4}j(e){this.element.toggleAttribute(this.name,!!e&&e!==b)}},Ae=class extends D{constructor(e,n,s,r,i){super(e,n,s,r,i),this.type=5}_$AI(e,n=this){if((e=R(this,e,n,0)??b)===N)return;let s=this._$AH,r=e===b&&s!==b||e.capture!==s.capture||e.once!==s.once||e.passive!==s.passive,i=e!==b&&(s===b||r);r&&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)}},Ce=class{constructor(e,n,s){this.element=e,this.type=6,this._$AN=void 0,this._$AM=n,this.options=s}get _$AU(){return this._$AM._$AU}_$AI(e){R(this,e)}},Dt={M:Je,P:k,A:Ye,C:1,L:Rt,R:xe,D:Pt,V:R,I:z,H:D,N:Se,U:Ae,B:$e,F:Ce},zn=J.litHtmlPolyfillSupport;zn?.(Q,z),(J.litHtmlVersions??(J.litHtmlVersions=[])).push("3.3.1");var Ut=(t,e,n)=>{let s=n?.renderBefore??e,r=s._$litPart$;if(r===void 0){let i=n?.renderBefore??null;s._$litPart$=r=new z(e.insertBefore(Y(),i),i,void 0,n??{})}return r._$AI(t),r};var{I:Ts}=Dt;var Wt=t=>t.strings===void 0;var ee=(t,e)=>{let n=t._$AN;if(n===void 0)return!1;for(let s of n)s._$AO?.(e,!1),ee(s,e);return!0},Ee=t=>{let e,n;do{if((e=t._$AM)===void 0)break;n=e._$AN,n.delete(t),t=e}while(n?.size===0)},jt=t=>{for(let e;e=t._$AM;t=e){let n=e._$AN;if(n===void 0)e._$AN=n=new Set;else if(n.has(t))break;n.add(t),Fn(e)}};function Bn(t){this._$AN!==void 0?(Ee(this),this._$AM=t,jt(this)):this._$AM=t}function qn(t,e=!1,n=0){let s=this._$AH,r=this._$AN;if(r!==void 0&&r.size!==0)if(e)if(Array.isArray(s))for(let i=n;i<s.length;i++)ee(s[i],!1),Ee(s[i]);else s!=null&&(ee(s,!1),Ee(s));else ee(this,t)}var Fn=t=>{t.type==we.CHILD&&(t._$AP??(t._$AP=qn),t._$AQ??(t._$AQ=Bn))},Te=class extends j{constructor(){super(...arguments),this._$AN=void 0}_$AT(e,n,s){super._$AT(e,n,s),jt(this),this.isConnected=e._$AU}_$AO(e,n=!0){e!==this.isConnected&&(this.isConnected=e,e?this.reconnected?.():this.disconnected?.()),n&&(ee(this,e),Ee(this))}setValue(e){if(Wt(this._$Ct))this._$Ct._$AI(e,this);else{let n=[...this._$Ct._$AH];n[this._$Ci]=e,this._$Ct._$AI(n,this,0)}}disconnected(){}reconnected(){}};var Le=class extends Te{_$Sl(){if(this._$Su!==void 0)return;this._$SW=new x.Computed((()=>{var n;return(n=this._$Sj)===null||n===void 0?void 0:n.get()}));let e=this._$Su=new x.subtle.Watcher((()=>{var n;(n=this._$SO)===null||n===void 0||n._(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(x.subtle.untrack((()=>{var e;return(e=this._$SW)===null||e===void 0?void 0:e.get()})))}render(e){return x.subtle.untrack((()=>e.get()))}update(e,[n]){var s,r;return(s=this._$SO)!==null&&s!==void 0||(this._$SO=(r=e.options)===null||r===void 0?void 0:r.host),n!==this._$Sj&&this._$Sj!==void 0&&this._$Sp(),this._$Sj=n,this._$Sl(),x.subtle.untrack((()=>this._$SW.get()))}disconnected(){this._$Sp()}reconnected(){this._$Sl()}},et=Z(Le);var tt=t=>(e,...n)=>t(e,...n.map((s=>s instanceof x.State||s instanceof x.Computed?et(s):s))),Gn=tt(a),Zn=tt(Ht);var Zs=x.State,Ks=x.Computed,zt=(t,e)=>new x.State(t,e);function Kn(){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=zt(Kn());function Bt(t){if(t!==B.get()&&(B.set(t),typeof window<"u")){try{window.localStorage?.setItem("ds-one:theme",t)}catch(n){console.warn("ds-one: unable to persist theme preference",n)}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 ke=globalThis,Ne=ke.ShadowRoot&&(ke.ShadyCSS===void 0||ke.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,nt=Symbol(),qt=new WeakMap,te=class{constructor(e,n,s){if(this._$cssResult$=!0,s!==nt)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=n}get styleSheet(){let e=this.o,n=this.t;if(Ne&&e===void 0){let s=n!==void 0&&n.length===1;s&&(e=qt.get(n)),e===void 0&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),s&&qt.set(n,e))}return e}toString(){return this.cssText}},Ft=t=>new te(typeof t=="string"?t:t+"",void 0,nt),y=(t,...e)=>{let n=t.length===1?t[0]:e.reduce(((s,r,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.")})(r)+t[i+1]),t[0]);return new te(n,t,nt)},Gt=(t,e)=>{if(Ne)t.adoptedStyleSheets=e.map((n=>n instanceof CSSStyleSheet?n:n.styleSheet));else for(let n of e){let s=document.createElement("style"),r=ke.litNonce;r!==void 0&&s.setAttribute("nonce",r),s.textContent=n.cssText,t.appendChild(s)}},st=Ne?t=>t:t=>t instanceof CSSStyleSheet?(e=>{let n="";for(let s of e.cssRules)n+=s.cssText;return Ft(n)})(t):t;var{is:Jn,defineProperty:Yn,getOwnPropertyDescriptor:Xn,getOwnPropertyNames:Qn,getOwnPropertySymbols:es,getPrototypeOf:ts}=Object,O=globalThis,Zt=O.trustedTypes,ns=Zt?Zt.emptyScript:"",ss=O.reactiveElementPolyfillSupport,ne=(t,e)=>t,rt={toAttribute(t,e){switch(e){case Boolean:t=t?ns:null;break;case Object:case Array:t=t==null?t:JSON.stringify(t)}return t},fromAttribute(t,e){let n=t;switch(e){case Boolean:n=t!==null;break;case Number:n=t===null?null:Number(t);break;case Object:case Array:try{n=JSON.parse(t)}catch{n=null}}return n}},Jt=(t,e)=>!Jn(t,e),Kt={attribute:!0,type:String,converter:rt,reflect:!1,useDefault:!1,hasChanged:Jt};Symbol.metadata??(Symbol.metadata=Symbol("metadata")),O.litPropertyMetadata??(O.litPropertyMetadata=new WeakMap);var I=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,n=Kt){if(n.state&&(n.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(e)&&((n=Object.create(n)).wrapped=!0),this.elementProperties.set(e,n),!n.noAccessor){let s=Symbol(),r=this.getPropertyDescriptor(e,s,n);r!==void 0&&Yn(this.prototype,e,r)}}static getPropertyDescriptor(e,n,s){let{get:r,set:i}=Xn(this.prototype,e)??{get(){return this[n]},set(o){this[n]=o}};return{get:r,set(o){let p=r?.call(this);i?.call(this,o),this.requestUpdate(e,p,s)},configurable:!0,enumerable:!0}}static getPropertyOptions(e){return this.elementProperties.get(e)??Kt}static _$Ei(){if(this.hasOwnProperty(ne("elementProperties")))return;let e=ts(this);e.finalize(),e.l!==void 0&&(this.l=[...e.l]),this.elementProperties=new Map(e.elementProperties)}static finalize(){if(this.hasOwnProperty(ne("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(ne("properties"))){let n=this.properties,s=[...Qn(n),...es(n)];for(let r of s)this.createProperty(r,n[r])}let e=this[Symbol.metadata];if(e!==null){let n=litPropertyMetadata.get(e);if(n!==void 0)for(let[s,r]of n)this.elementProperties.set(s,r)}this._$Eh=new Map;for(let[n,s]of this.elementProperties){let r=this._$Eu(n,s);r!==void 0&&this._$Eh.set(r,n)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(e){let n=[];if(Array.isArray(e)){let s=new Set(e.flat(1/0).reverse());for(let r of s)n.unshift(st(r))}else e!==void 0&&n.push(st(e));return n}static _$Eu(e,n){let s=n.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,n=this.constructor.elementProperties;for(let s of n.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 Gt(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,n,s){this._$AK(e,s)}_$ET(e,n){let s=this.constructor.elementProperties.get(e),r=this.constructor._$Eu(e,s);if(r!==void 0&&s.reflect===!0){let i=(s.converter?.toAttribute!==void 0?s.converter:rt).toAttribute(n,s.type);this._$Em=e,i==null?this.removeAttribute(r):this.setAttribute(r,i),this._$Em=null}}_$AK(e,n){let s=this.constructor,r=s._$Eh.get(e);if(r!==void 0&&this._$Em!==r){let i=s.getPropertyOptions(r),o=typeof i.converter=="function"?{fromAttribute:i.converter}:i.converter?.fromAttribute!==void 0?i.converter:rt;this._$Em=r;let p=o.fromAttribute(n,i.type);this[r]=p??this._$Ej?.get(r)??p,this._$Em=null}}requestUpdate(e,n,s){if(e!==void 0){let r=this.constructor,i=this[e];if(s??(s=r.getPropertyOptions(e)),!((s.hasChanged??Jt)(i,n)||s.useDefault&&s.reflect&&i===this._$Ej?.get(e)&&!this.hasAttribute(r._$Eu(e,s))))return;this.C(e,n,s)}this.isUpdatePending===!1&&(this._$ES=this._$EP())}C(e,n,{useDefault:s,reflect:r,wrapped:i},o){s&&!(this._$Ej??(this._$Ej=new Map)).has(e)&&(this._$Ej.set(e,o??n??this[e]),i!==!0||o!==void 0)||(this._$AL.has(e)||(this.hasUpdated||s||(n=void 0),this._$AL.set(e,n)),r===!0&&this._$Em!==e&&(this._$Eq??(this._$Eq=new Set)).add(e))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(n){Promise.reject(n)}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[r,i]of this._$Ep)this[r]=i;this._$Ep=void 0}let s=this.constructor.elementProperties;if(s.size>0)for(let[r,i]of s){let{wrapped:o}=i,p=this[r];o!==!0||this._$AL.has(r)||p===void 0||this.C(r,void 0,i,p)}}let e=!1,n=this._$AL;try{e=this.shouldUpdate(n),e?(this.willUpdate(n),this._$EO?.forEach((s=>s.hostUpdate?.())),this.update(n)):this._$EM()}catch(s){throw e=!1,this._$EM(),s}e&&this._$AE(n)}willUpdate(e){}_$AE(e){this._$EO?.forEach((n=>n.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((n=>this._$ET(n,this[n])))),this._$EM()}updated(e){}firstUpdated(e){}};I.elementStyles=[],I.shadowRootOptions={mode:"open"},I[ne("elementProperties")]=new Map,I[ne("finalized")]=new Map,ss?.({ReactiveElement:I}),(O.reactiveElementVersions??(O.reactiveElementVersions=[])).push("2.1.1");var se=globalThis,h=class extends I{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){var n;let e=super.createRenderRoot();return(n=this.renderOptions).renderBefore??(n.renderBefore=e.firstChild),e}update(e){let n=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(e),this._$Do=Ut(n,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return N}};h._$litElement$=!0,h.finalized=!0,se.litElementHydrateSupport?.({LitElement:h});var rs=se.litElementPolyfillSupport;rs?.({LitElement:h});(se.litElementVersions??(se.litElementVersions=[])).push("4.2.1");var re=class extends h{constructor(){super(),this._handleLanguageChange=()=>{this._updateText()},this.variant="title",this.disabled=!1,this.bold=!1,this["no-background"]=!1,this.blank=!1,this.notionKey=null,this.key="",this.fallback="",this.language="en-US",this.defaultText="",this.href="",this._loading=!1,this._notionText=null}connectedCallback(){super.connectedCallback(),this._updateText(),window.addEventListener("language-changed",this._handleLanguageChange)}disconnectedCallback(){super.disconnectedCallback(),window.removeEventListener("language-changed",this._handleLanguageChange)}updated(e){super.updated(e),(e.has("key")||e.has("defaultText"))&&this._updateText()}_updateText(){this.key?this._notionText=fe(this.key):this._notionText=this.defaultText||this.fallback||null,this.requestUpdate()}render(){return a`
1
+ function ir(){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 or(){let t=ir(),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 Ve(){let t=or();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)),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")),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",()=>{Ve()}):Ve();let t;window.addEventListener("resize",()=>{clearTimeout(t),t=setTimeout(()=>{Ve()},100)})}var ar={},gt=["da","de","en","es","fr","it","ja","pt","sv","zh"],lr=new Map(gt.map((t,e)=>[t,e])),ot={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"},at=new Map,lt=!1,mt="./translations.json",ct=!1;function dt(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 cr(){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 dr(){let t=[],e=typeof window<"u"?window.DS_ONE_TRANSLATIONS_FILE:null,r=cr(),s=dt(e??"");s&&t.push(s);let n=dt(r??"");return n&&!t.includes(n)&&t.push(n),t.length===0&&t.push(mt),t}function ur(t){return!t||typeof t!="object"?!1:Object.values(t).every(e=>e&&typeof e=="object")}async function hr(t){try{let e=await fetch(t);if(!e.ok)return null;let r=await e.json();return ur(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 ut(){if(ct||(ct=!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=dr();for(let e of t){let r=await hr(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]??mt}. Using bundled translations.`),!1}function pe(){return typeof window<"u"&&window.DS_ONE_TRANSLATIONS?window.DS_ONE_TRANSLATIONS:ar}var I=pe(),k="en";function F(t){return t?t.toLowerCase().split(/[-_]/)[0]??"":""}function ht(t){let e=F(t),r=lr.get(e);return typeof r=="number"?r:gt.length}function vt(t){return[...t].sort((e,r)=>{let s=ht(e),n=ht(r);return s!==n?s-n:e.localeCompare(r)})}function pr(t,e){let r=t?.replace("_","-");if(r)try{let s=at.get(r);s||(s=new Intl.DisplayNames([r],{type:"language"}),at.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{lt||(console.info("[DS one] Intl.DisplayNames is not available, using fallback language names."),lt=!0)}}function fr(t){let e=t.toLowerCase().replace("_","-"),r=ot[e];if(r)return r;let s=F(e);return ot[s]}function yt(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=pr(o,t);if(p)return p}let n=fr(t);if(n)return n;let i=F(t);return i?i.toUpperCase():t}var pt={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 ft(t){if(!t)return null;let e=t.toLowerCase().replace("_","-"),r=pt[e];if(r)return r;let s=F(e),n=pt[s];return n||t}function gr(){if(typeof navigator>"u")return k;let t=navigator.language;if(t){let e=ft(t);if(e)return e}if(Array.isArray(navigator.languages))for(let e of navigator.languages){let r=ft(e);if(r)return r}return k}var ns=typeof window<"u"?window.localStorage?.getItem("ds-one:language")??void 0:void 0,S={value:localStorage.getItem("language")||gr(),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",()=>{ut()}):ut());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 is(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 fe(t){return E(t)}function os(){let t=pe();if(t&&Object.keys(t).length>0){let e=Object.keys(t);return Promise.resolve(vt(e))}return Promise.resolve([k])}function Me(){let t=pe();return t&&Object.keys(t).length>0?vt(Object.keys(t)):[k]}function as(t,e){console.log(`Loading additional translations for ${t}:`,Object.keys(e).length,"keys")}function Re(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 mr={da:"kr.",nb:"kr.",sv:"kr.",de:"\u20AC",en:"$",pt:"\u20AC",es:"\u20AC",zh:"\xA5",ja:"\xA5",ko:"\u20A9"};function ds(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 mr[s]||"$"}var vr=Object.defineProperty,yr=(t,e,r)=>e in t?vr(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,De=(t,e,r)=>(yr(t,typeof e!="symbol"?e+"":e,r),r),br=(t,e,r)=>{if(!e.has(t))throw TypeError("Cannot "+r)},Ue=(t,e)=>{if(Object(e)!==e)throw TypeError('Cannot use the "in" operator on this value');return t.has(e)},ge=(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)},bt=(t,e,r)=>(br(t,e,"access private method"),r);function wt(t,e){return Object.is(t,e)}var w=null,G=!1,me=1,ve=Symbol("SIGNAL");function U(t){let e=w;return w=t,e}function wr(){return w}function xr(){return G}var qe={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 ye(t){if(G)throw new Error(typeof ngDevMode<"u"&&ngDevMode?"Assertion error: signal read during notification phase":"");if(w===null)return;w.consumerOnSignalRead(t);let e=w.nextProducerIndex++;if(W(w),e<w.producerNode.length&&w.producerNode[e]!==t&&ze(w)){let r=w.producerNode[e];be(r,w.producerIndexOfThis[e])}w.producerNode[e]!==t&&(w.producerNode[e]=t,w.producerIndexOfThis[e]=ze(w)?$t(t,w,e):0),w.producerLastReadVersion[e]=t.version}function _r(){me++}function xt(t){if(!(!t.dirty&&t.lastCleanEpoch===me)){if(!t.producerMustRecompute(t)&&!Er(t)){t.dirty=!1,t.lastCleanEpoch=me;return}t.producerRecomputeValue(t),t.dirty=!1,t.lastCleanEpoch=me}}function _t(t){if(t.liveConsumerNode===void 0)return;let e=G;G=!0;try{for(let r of t.liveConsumerNode)r.dirty||Sr(r)}finally{G=e}}function $r(){return w?.consumerAllowSignalWrites!==!1}function Sr(t){var e;t.dirty=!0,_t(t),(e=t.consumerMarkedDirty)==null||e.call(t.wrapper??t)}function Ar(t){return t&&(t.nextProducerIndex=0),U(t)}function Cr(t,e){if(U(e),!(!t||t.producerNode===void 0||t.producerIndexOfThis===void 0||t.producerLastReadVersion===void 0)){if(ze(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 Er(t){W(t);for(let e=0;e<t.producerNode.length;e++){let r=t.producerNode[e],s=t.producerLastReadVersion[e];if(s!==r.version||(xt(r),s!==r.version))return!0}return!1}function $t(t,e,r){var s;if(Fe(t),W(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]=$t(t.producerNode[n],t,n)}return t.liveConsumerIndexOfThis.push(r),t.liveConsumerNode.push(e)-1}function be(t,e){var r;if(Fe(t),W(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];W(i),i.producerIndexOfThis[n]=e}}function ze(t){var e;return t.consumerIsAlwaysLive||(((e=t?.liveConsumerNode)==null?void 0:e.length)??0)>0}function W(t){t.producerNode??(t.producerNode=[]),t.producerIndexOfThis??(t.producerIndexOfThis=[]),t.producerLastReadVersion??(t.producerLastReadVersion=[])}function Fe(t){t.liveConsumerNode??(t.liveConsumerNode=[]),t.liveConsumerIndexOfThis??(t.liveConsumerIndexOfThis=[])}function St(t){if(xt(t),ye(t),t.value===Be)throw t.error;return t.value}function kr(t){let e=Object.create(Tr);e.computation=t;let r=()=>St(e);return r[ve]=e,r}var We=Symbol("UNSET"),je=Symbol("COMPUTING"),Be=Symbol("ERRORED"),Tr={...qe,value:We,dirty:!0,error:null,equal:wt,producerMustRecompute(t){return t.value===We||t.value===je},producerRecomputeValue(t){if(t.value===je)throw new Error("Detected cycle in computations.");let e=t.value;t.value=je;let r=Ar(t),s,n=!1;try{s=t.computation.call(t.wrapper),n=e!==We&&e!==Be&&t.equal.call(t.wrapper,e,s)}catch(i){s=Be,t.error=i}finally{Cr(t,r)}if(n){t.value=e;return}t.value=s,t.version++}};function Lr(){throw new Error}var Nr=Lr;function Ir(){Nr()}function Or(t){let e=Object.create(Vr);e.value=t;let r=()=>(ye(e),e.value);return r[ve]=e,r}function Pr(){return ye(this),this.value}function Hr(t,e){$r()||Ir(),t.equal.call(t.wrapper,t.value,e)||(t.value=e,Mr(t))}var Vr={...qe,equal:wt,value:void 0};function Mr(t){t.version++,_r(),_t(t)}var x=Symbol("node"),_;(t=>{var e,r,s,n,i,o;class p{constructor(m,l={}){ge(this,r),De(this,e);let f=Or(m)[ve];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 Pr.call(this[x])}set(m){if(!(0,t.isState)(this))throw new TypeError("Wrong receiver type for Signal.State.prototype.set");if(xr())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"&&Ue(r,u),t.State=p;class d{constructor(m,l){ge(this,i),De(this,n);let f=kr(m)[ve];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 St(this[x])}}n=x,i=new WeakSet,o=function(){},t.isComputed=u=>typeof u=="object"&&Ue(i,u),t.Computed=d,(u=>{var m,l,A,f,$;function Yt(v){let g,c=null;try{c=U(null),g=v()}finally{U(c)}return g}u.untrack=Yt;function Xt(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=Xt;function Qt(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=Qt;function er(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=er;function tr(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=tr;class rr{constructor(g){ge(this,l),ge(this,f),De(this,m);let c=Object.create(qe);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");bt(this,f,$).call(this,g);let c=this[x];c.dirty=!1;let C=U(c);for(let he of g)ye(he[x]);U(C)}unwatch(...g){if(!(0,t.isWatcher)(this))throw new TypeError("Called unwatch without Watcher receiver");bt(this,f,$).call(this,g);let c=this[x];W(c);for(let C=c.producerNode.length-1;C>=0;C--)if(g.includes(c.producerNode[C].wrapper)){be(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 nr=c.producerIndexOfThis[C],it=c.producerNode[C];Fe(it),it.liveConsumerIndexOfThis[nr]=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=>Ue(l,v),u.Watcher=rr;function sr(){var v;return(v=wr())==null?void 0:v.wrapper}u.currentComputed=sr,u.watched=Symbol("watched"),u.unwatched=Symbol("unwatched")})(t.subtle||(t.subtle={}))})(_||(_={}));var fs=Symbol("SignalWatcherBrand"),gs=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,xe=J.trustedTypes,At=xe?xe.createPolicy("lit-html",{createHTML:t=>t}):void 0,Ze="$lit$",T=`lit$${Math.random().toFixed(9).slice(2)}$`,Ke="?"+T,Rr=`<${Ke}>`,M=document,Y=()=>M.createComment(""),X=t=>t===null||typeof t!="object"&&typeof t!="function",Je=Array.isArray,Nt=t=>Je(t)||typeof t?.[Symbol.iterator]=="function",Ge=`[
2
+ \f\r]`,K=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,Ct=/-->/g,Et=/>/g,H=RegExp(`>|${Ge}(?:([^\\s"'>=/]+)(${Ge}*=${Ge}*(?:[^
3
+ \f\r"'\`<>=]|("|')|))|$)`,"g"),kt=/'/g,Tt=/"/g,It=/^(?:script|style|textarea|title)$/i,Ye=t=>(e,...r)=>({_$litType$:t,strings:e,values:r}),a=Ye(1),Ot=Ye(2),ws=Ye(3),L=Symbol.for("lit-noChange"),b=Symbol.for("lit-nothing"),Lt=new WeakMap,V=M.createTreeWalker(M,129);function Pt(t,e){if(!Je(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return At!==void 0?At.createHTML(e):e}var Ht=(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=Ct:m[1]!==void 0?o=Et:m[2]!==void 0?(It.test(m[2])&&(n=RegExp("</"+m[2],"g")),o=H):m[3]!==void 0&&(o=H):o===H?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?H:m[3]==='"'?Tt:kt):o===Tt||o===kt?o=H:o===Ct||o===Et?o=K:(o=H,n=void 0);let f=o===H&&t[p+1].startsWith("/>")?" ":"";i+=o===K?d+Rr:l>=0?(s.push(u),d.slice(0,l)+Ze+d.slice(l)+T+f):d+T+(l===-2?p:f)}return[Pt(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]=Ht(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<p;){if(n.nodeType===1){if(n.hasAttributes())for(let l of n.getAttributeNames())if(l.endsWith(Ze)){let A=m[o++],f=n.getAttribute(l).split(T),$=/([.?@])?(.*)/.exec(A);d.push({type:1,index:i,name:$[2],strings:f,ctor:$[1]==="."?$e:$[1]==="?"?Se:$[1]==="@"?Ae:D}),n.removeAttribute(l)}else l.startsWith(T)&&(d.push({type:6,index:i}),n.removeAttribute(l));if(It.test(n.tagName)){let l=n.textContent.split(T),A=l.length-1;if(A>0){n.textContent=xe?xe.emptyScript:"";for(let f=0;f<A;f++)n.append(l[f],Y()),V.nextNode(),d.push({type:2,index:++i});n.append(l[A],Y())}}}else if(n.nodeType===8)if(n.data===Ke)d.push({type:2,index:i});else{let l=-1;for(;(l=n.data.indexOf(T,l+1))!==-1;)d.push({type:7,index:i}),l+=T.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===L)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 _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??M).importNode(r,!0);V.currentNode=n;let i=V.nextNode(),o=0,p=0,d=s[0];for(;d!==void 0;){if(o===d.index){let u;d.type===2?u=new z(i,i.nextSibling,this,e):d.type===1?u=new d.ctor(i,d.name,d.strings,this,e):d.type===6&&(u=new Ce(i,this,e)),this._$AV.push(u),d=s[++p]}o!==d?.index&&(i=V.nextNode(),o++)}return V.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++}},z=class t{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(e,r,s,n){this.type=2,this._$AH=b,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===b||e==null||e===""?(this._$AH!==b&&this._$AR(),this._$AH=b):e!==this._$AH&&e!==L&&this._(e):e._$litType$!==void 0?this.$(e):e.nodeType!==void 0?this.T(e):Nt(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!==b&&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(Pt(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=Lt.get(e.strings);return r===void 0&&Lt.set(e.strings,r=new Q(e)),r}k(e){Je(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=b,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=b}_$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!==L,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===L&&(u=this._$AH[d]),o||(o=!X(u)||u!==this._$AH[d]),u===b?e=b:e!==b&&(e+=(u??"")+i[d+1]),this._$AH[d]=u}o&&!n&&this.j(e)}j(e){e===b?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===b?void 0:e}},Se=class extends D{constructor(){super(...arguments),this.type=4}j(e){this.element.toggleAttribute(this.name,!!e&&e!==b)}},Ae=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)??b)===L)return;let s=this._$AH,n=e===b&&s!==b||e.capture!==s.capture||e.once!==s.once||e.passive!==s.passive,i=e!==b&&(s===b||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)}},Ce=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)}},Vt={M:Ze,P:T,A:Ke,C:1,L:Ht,R:_e,D:Nt,V:R,I:z,H:D,N:Se,U:Ae,B:$e,F:Ce},Dr=J.litHtmlPolyfillSupport;Dr?.(Q,z),(J.litHtmlVersions??(J.litHtmlVersions=[])).push("3.3.1");var Mt=(t,e,r)=>{let s=r?.renderBefore??e,n=s._$litPart$;if(n===void 0){let i=r?.renderBefore??null;s._$litPart$=n=new z(e.insertBefore(Y(),i),i,void 0,r??{})}return n._$AI(t),n};var{I:$s}=Vt;var Rt=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},Ee=t=>{let e,r;do{if((e=t._$AM)===void 0)break;r=e._$AN,r.delete(t),t=e}while(r?.size===0)},Dt=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),jr(e)}};function Ur(t){this._$AN!==void 0?(Ee(this),this._$AM=t,Dt(this)):this._$AM=t}function Wr(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),Ee(s[i]);else s!=null&&(ee(s,!1),Ee(s));else ee(this,t)}var jr=t=>{t.type==we.CHILD&&(t._$AP??(t._$AP=Wr),t._$AQ??(t._$AQ=Ur))},ke=class extends j{constructor(){super(...arguments),this._$AN=void 0}_$AT(e,r,s){super._$AT(e,r,s),Dt(this),this.isConnected=e._$AU}_$AO(e,r=!0){e!==this.isConnected&&(this.isConnected=e,e?this.reconnected?.():this.disconnected?.()),r&&(ee(this,e),Ee(this))}setValue(e){if(Rt(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 Te=class extends ke{_$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()}},Xe=Z(Te);var Qe=t=>(e,...r)=>t(e,...r.map((s=>s instanceof _.State||s instanceof _.Computed?Xe(s):s))),zr=Qe(a),Br=Qe(Ot);var zs=_.State,Bs=_.Computed,Ut=(t,e)=>new _.State(t,e);function qr(){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=Ut(qr());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,Ne=Le.ShadowRoot&&(Le.ShadyCSS===void 0||Le.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,et=Symbol(),jt=new WeakMap,te=class{constructor(e,r,s){if(this._$cssResult$=!0,s!==et)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(Ne&&e===void 0){let s=r!==void 0&&r.length===1;s&&(e=jt.get(r)),e===void 0&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),s&&jt.set(r,e))}return e}toString(){return this.cssText}},zt=t=>new te(typeof t=="string"?t:t+"",void 0,et),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,et)},Bt=(t,e)=>{if(Ne)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)}},tt=Ne?t=>t:t=>t instanceof CSSStyleSheet?(e=>{let r="";for(let s of e.cssRules)r+=s.cssText;return zt(r)})(t):t;var{is:Fr,defineProperty:Gr,getOwnPropertyDescriptor:Zr,getOwnPropertyNames:Kr,getOwnPropertySymbols:Jr,getPrototypeOf:Yr}=Object,O=globalThis,qt=O.trustedTypes,Xr=qt?qt.emptyScript:"",Qr=O.reactiveElementPolyfillSupport,re=(t,e)=>t,rt={toAttribute(t,e){switch(e){case Boolean:t=t?Xr: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}},Gt=(t,e)=>!Fr(t,e),Ft={attribute:!0,type:String,converter:rt,reflect:!1,useDefault:!1,hasChanged:Gt};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=Ft){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&&Gr(this.prototype,e,n)}}static getPropertyDescriptor(e,r,s){let{get:n,set:i}=Zr(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)??Ft}static _$Ei(){if(this.hasOwnProperty(re("elementProperties")))return;let e=Yr(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=[...Kr(r),...Jr(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(tt(n))}else e!==void 0&&r.push(tt(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 Bt(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:rt).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:rt;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??Gt)(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,Qr?.({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=Mt(r,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return L}};h._$litElement$=!0,h.finalized=!0,se.litElementHydrateSupport?.({LitElement:h});var es=se.litElementPolyfillSupport;es?.({LitElement:h});(se.litElementVersions??(se.litElementVersions=[])).push("4.2.1");var ne=class extends h{constructor(){super(),this._handleLanguageChange=()=>{this._updateText()},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,this._text=null}connectedCallback(){super.connectedCallback(),this._updateText(),window.addEventListener("language-changed",this._handleLanguageChange)}disconnectedCallback(){super.disconnectedCallback(),window.removeEventListener("language-changed",this._handleLanguageChange)}updated(e){super.updated(e),(e.has("key")||e.has("defaultText"))&&this._updateText()}_updateText(){this.key?this._text=fe(this.key):this._text=this.defaultText||this.fallback||null,this.requestUpdate()}render(){return a`
4
4
  <button
5
5
  class=${this.variant}
6
6
  ?disabled=${this.disabled}
@@ -8,17 +8,17 @@ function Ve(){if(typeof navigator>"u"||typeof window>"u")return!1;let t=navigato
8
8
  ?no-background=${this["no-background"]}
9
9
  @click=${this._handleClick}
10
10
  >
11
- ${this._notionText?this._notionText:a`<slot></slot>`}
11
+ ${this._text?this._text:a`<slot></slot>`}
12
12
  </button>
13
- `}_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}}};re.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},notionKey:{type:String,attribute:"notion-key"},key:{type:String},fallback:{type:String},language:{type:String},defaultText:{type:String,attribute:"default-text"},href:{type:String},_loading:{type:Boolean,state:!0},_notionText:{type:String,state:!0}};re.styles=y`
13
+ `}_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},_text:{type:String,state:!0}};ne.styles=y`
14
14
  button {
15
- max-height: calc(var(--08) * var(--scaling-factor));
15
+ max-height: calc(var(--08) * var(--sf));
16
16
  border: none;
17
17
  cursor: pointer;
18
- font-size: calc(var(--type-size-default) * var(--scaling-factor));
19
- padding: 0 calc(1px * var(--scaling-factor));
18
+ font-size: calc(var(--type-size-default) * var(--sf));
19
+ padding: 0 calc(1px * var(--sf));
20
20
  color: var(--button-text-color);
21
- font-family: var(--typeface);
21
+ font-family: var(--typeface-regular);
22
22
  }
23
23
 
24
24
  button.title {
@@ -30,13 +30,13 @@ function Ve(){if(typeof navigator>"u"||typeof window>"u")return!1;let t=navigato
30
30
  background-color: var(--accent-color);
31
31
  color: var(--button-text-color);
32
32
  text-decoration-line: none;
33
- font-family: var(--typeface);
33
+ font-family: var(--typeface-regular);
34
34
  }
35
35
 
36
36
  button.secondary {
37
37
  background-color: var(--button-background-color-secondary);
38
38
  color: var(--button-text-color);
39
- font-family: var(--typeface);
39
+ font-family: var(--typeface-regular);
40
40
  }
41
41
 
42
42
  button[bold] {
@@ -60,7 +60,7 @@ function Ve(){if(typeof navigator>"u"||typeof window>"u")return!1;let t=navigato
60
60
  .loading {
61
61
  opacity: 0.7;
62
62
  }
63
- `;customElements.define("ds-button",re);var ie=class extends j{constructor(e){if(super(e),this.it=b,e.type!==we.CHILD)throw Error(this.constructor.directiveName+"() can only be used in child bindings")}render(e){if(e===b||e==null)return this._t=void 0,this.it=e;if(e===N)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 n=[e];return n.raw=n,this._t={_$litType$:this.constructor.resultType,strings:n,values:[]}}};ie.directiveName="unsafeHTML",ie.resultType=1;var Yt=Z(ie);var q=class t extends h{get type(){return this._type}set type(e){let n=this._type;this._type=e,this.requestUpdate("type",n)}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">${Yt(e)}</div>`;switch(this._type.toLowerCase()){case"close":return console.log("Rendering close icon"),a`
63
+ `;customElements.define("ds-button",ne);var ie=class extends j{constructor(e){if(super(e),this.it=b,e.type!==we.CHILD)throw Error(this.constructor.directiveName+"() can only be used in child bindings")}render(e){if(e===b||e==null)return this._t=void 0,this.it=e;if(e===L)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 Zt=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">${Zt(e)}</div>`;switch(this._type.toLowerCase()){case"close":return console.log("Rendering close icon"),a`
64
64
  <div class="icon-container">
65
65
  <svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
66
66
  <path
@@ -227,8 +227,8 @@ function Ve(){if(typeof navigator>"u"||typeof window>"u")return!1;let t=navigato
227
227
  display: inline-flex;
228
228
  justify-content: center;
229
229
  align-items: center;
230
- width: calc(16px * var(--scaling-factor));
231
- height: calc(16px * var(--scaling-factor));
230
+ width: calc(16px * var(--sf));
231
+ height: calc(16px * var(--sf));
232
232
  }
233
233
 
234
234
  svg {
@@ -245,17 +245,45 @@ function Ve(){if(typeof navigator>"u"||typeof window>"u")return!1;let t=navigato
245
245
  display: flex;
246
246
  justify-content: center;
247
247
  align-items: center;
248
- width: calc(16px * var(--scaling-factor));
249
- height: calc(16px * var(--scaling-factor));
248
+ width: calc(16px * var(--sf));
249
+ height: calc(16px * var(--sf));
250
250
  }
251
251
 
252
252
  /* Notes style color variable for future implementation */
253
253
  :host {
254
254
  --notes-style-color: #ffb6b9;
255
255
  }
256
- `;q.iconNameToSvgMap=(()=>{try{let t=import.meta.glob("../x Icon/*.svg",{as:"raw",eager:!0}),e={};for(let[n,s]of Object.entries(t)){let i=(n.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 is=t=>{localStorage.setItem("accentColor",t)},ot=()=>localStorage.getItem("accentColor")||"--blue",it=()=>{let t=ot();document.documentElement.style.setProperty("--accent-color",`var(${t})`)},os=t=>{localStorage.setItem("notesStyleMedium",t)},Xt=()=>localStorage.getItem("notesStyleMedium")||"note",Qt=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=De();this.values=e,this.currentValue=L.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=["--light-green","--green","--light-blue","--blue","--pink","--red","--orange","--yellow"];let e=ot();this.currentValue=e,it(),this.label=this.getLabel()}else if(this.type==="notes-style-medium"){this.values=["default","big","gallery"];let e=Xt();this.currentValue=e;let n=oe();this.disabled=n==="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,n,s){super.attributeChangedCallback(e,n,s),e==="type"&&n!==s&&this.initializeValues()}async setupInitialValue(){if(this.type==="language"){let e=L.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=ot();this.currentValue=e,it(),this.label=this.getLabel()}else if(this.type==="notes-style-medium"){let e=Xt();this.currentValue=e;let n=oe();this.disabled=n==="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,r=this.values[s];this.currentValue=r,document.startViewTransition?document.startViewTransition(()=>{Ue(r)}):Ue(r),P({language:r}),window.dispatchEvent(new CustomEvent("language-changed",{detail:{language:r}}))}else if(this.type==="theme"){let s=(this.values.indexOf(this.currentValue)+1)%this.values.length,r=this.values[s];this.currentValue=r,Bt(r),P({theme:r})}else if(this.type==="accent-color"){let s=(this.values.indexOf(this.currentValue)+1)%this.values.length,r=this.values[s];this.currentValue=r,is(r),it(),P({accentColor:r}),window.dispatchEvent(new CustomEvent("accent-color-changed",{detail:{color:r}}))}else if(this.type==="notes-style-medium"){let s=(this.values.indexOf(this.currentValue)+1)%this.values.length,r=this.values[s];this.currentValue=r,os(r),P({notesStyleMedium:r}),window.dispatchEvent(new CustomEvent("notes-style-medium-changed",{detail:{style:r}}))}else if(this.type==="page-style"){let s=(this.values.indexOf(this.currentValue)+1)%this.values.length,r=this.values[s];this.currentValue=r,Qt(r),P({pageStyle:r}),window.dispatchEvent(new CustomEvent("page-style-changed",{detail:{behavior:r}}))}else if(this.type==="icon-only"){let s=(this.values.indexOf(this.currentValue)+1)%this.values.length,r=this.values[s];this.currentValue=r,Qt(r),P({pageStyle:r}),this.label="",window.dispatchEvent(new CustomEvent("page-style-changed",{detail:{behavior:r}}))}this.label=this.getLabel(),this.requestUpdate()}}getValueDisplay(e){if(this.type==="language")return wt(e,{locale:L.value});if(this.type==="theme"){if(this.translationsReady){let n=T(`themes.${e}`);if(n&&n!==`themes.${e}`)return n}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 n=T(e==="note"?"note":"page");if(n&&n!==(e==="note"?"note":"page"))return n}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}getColorName(e){let s={"--red":"red","--orange":"orange","--yellow":"yellow","--light-green":"lightGreen","--green":"green","--light-blue":"lightBlue","--blue":"blue","--pink":"pink"}[e];if(s&&this.translationsReady){let r=T(s);if(r&&r!==s)return r}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=T("language");if(e&&e!=="language")return e}return"Language"}else if(this.type==="theme"){if(this.translationsReady){let e=T("theme");if(e&&e!=="theme")return e}return"Theme"}else if(this.type==="accent-color"){if(this.translationsReady){let e=T("accentColor");if(e&&e!=="accentColor")return e}return"Accent Color"}else if(this.type==="notes-style-medium"){if(this.translationsReady){let e=T("notesStyle");if(e&&e!=="notesStyle")return e}return"Notes Style"}else if(this.type==="page-style"){if(this.translationsReady){let e=T("clickingItem");if(e&&e!=="clickingItem")return e}return"Clic"}else if(this.type==="icon-only")return"";return this.label}render(){return a`
256
+ `;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 Ie=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._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)==="ja"?this.setAttribute("data-language","ja"):this.removeAttribute("data-language")}_loadText(){if(!this.key){this._text=this.defaultValue||this.fallback||"";return}try{let e=fe(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>`}};Ie.styles=y`
257
+ :host {
258
+ display: inline;
259
+ font-family: var(--typeface-regular);
260
+ font-size: calc(var(--type-size-default) * var(--sf));
261
+ font-weight: var(--type-weight-default);
262
+ line-height: calc(var(--type-lineheight-default) * var(--sf));
263
+ letter-spacing: calc(var(--type-letterspacing-default) * var(--sf));
264
+ text-align: var(--text-align-default);
265
+ text-transform: var(--text-transform-default);
266
+ text-decoration: var(--text-decoration-default);
267
+ }
268
+
269
+ :host([data-language="ja"]) {
270
+ font-family: var(--typeface-regular-jp);
271
+ }
272
+ `;customElements.define("ds-text",Ie);var ts=t=>{localStorage.setItem("accentColor",t)},nt=()=>localStorage.getItem("accentColor")||"--sharp-blue",st=()=>{let t=nt();document.documentElement.style.setProperty("--accent-color",`var(${t})`)},rs=t=>{localStorage.setItem("notesStyleMedium",t)},Kt=()=>localStorage.getItem("notesStyleMedium")||"note",Jt=t=>{localStorage.setItem("pageStyle",t)},oe=()=>localStorage.getItem("pageStyle")||"note",Oe=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=Me();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=nt();this.currentValue=e,st()}else if(this.type==="notes-style-medium"){this.values=["default","big","gallery"];let e=Kt();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=nt();this.currentValue=e,st()}else if(this.type==="notes-style-medium"){let e=Kt();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(()=>{Re(n)}):Re(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,ts(n),st(),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,rs(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,Jt(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,Jt(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 yt(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`
257
273
  <div class="cycle-container">
258
- ${this.type!=="icon-only"?a`<span class="cycle-label">${this.label}</span>`:""}
274
+ ${this.type!=="icon-only"?a`${this.type==="language"?a`<ds-text
275
+ key="language"
276
+ default-value="Language"
277
+ class="cycle-label"
278
+ ></ds-text>`:this.type==="theme"?a`<ds-text
279
+ key="theme"
280
+ default-value="Theme"
281
+ class="cycle-label"
282
+ ></ds-text>`:this.type==="accent-color"?a`<ds-text
283
+ key="accentColor"
284
+ default-value="Accent color"
285
+ class="cycle-label"
286
+ ></ds-text>`:a`<span class="cycle-label">${this.label}</span>`}`:""}
259
287
  <div
260
288
  style="display: flex; align-items: center; ${this.type==="icon-only"?"justify-content: center;":""}"
261
289
  >
@@ -267,7 +295,18 @@ function Ve(){if(typeof navigator>"u"||typeof window>"u")return!1;let t=navigato
267
295
  ${this.type==="notes-style-medium"||this.type==="icon-only"?a`<span
268
296
  style="display: inline-flex; align-items: center; gap: var(--025)"
269
297
  >${this.getValueDisplay(this.currentValue)}</span
270
- >`:a`<span>${this.getValueDisplay(this.currentValue)}</span>`}
298
+ >`:this.type==="theme"?a`<ds-text
299
+ key=${this.currentValue}
300
+ default-value=${this.currentValue}
301
+ ></ds-text>`:this.type==="accent-color"?a`<ds-text
302
+ key=${this.getColorKey(this.currentValue)}
303
+ default-value=${this.getColorName(this.currentValue)}
304
+ ></ds-text>`:this.type==="page-style"?a`<ds-text
305
+ key=${this.currentValue}
306
+ default-value=${this.currentValue}
307
+ ></ds-text>`:a`<ds-text
308
+ default-value=${this.getValueDisplay(this.currentValue)}
309
+ ></ds-text>`}
271
310
  </ds-button>
272
311
  ${this.type==="accent-color"?a`
273
312
  <div
@@ -277,7 +316,7 @@ function Ve(){if(typeof navigator>"u"||typeof window>"u")return!1;let t=navigato
277
316
  `:""}
278
317
  </div>
279
318
  </div>
280
- `}async waitForTranslations(){return new Promise(e=>{if(this.translationsReady){e();return}let n=()=>{this.translationsReady=!0,e()};window.addEventListener("translations-loaded",n,{once:!0}),setTimeout(()=>{this.translationsReady=!0,e()},5e3)})}handleTranslationsLoaded(){if(this.translationsReady=!0,this.type==="language"){let e=De();this.values=e}this.setupInitialValue()}handleLanguageChanged(){this.setupInitialValue()}handleThemeChanged(){this.setupInitialValue()}handleAccentColorChanged(){this.setupInitialValue()}handleNoteBehaviorChanged(){this.setupInitialValue()}};Ie.styles=y`
319
+ `}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=Me();this.values=e}this.setupInitialValue()}handleLanguageChanged(){this.setupInitialValue()}handleThemeChanged(){this.setupInitialValue()}handleAccentColorChanged(){this.setupInitialValue()}handleNoteBehaviorChanged(){this.setupInitialValue()}};Oe.styles=y`
281
320
  .cycle-container {
282
321
  display: flex;
283
322
  justify-content: space-between;
@@ -288,15 +327,7 @@ function Ve(){if(typeof navigator>"u"||typeof window>"u")return!1;let t=navigato
288
327
  .cycle-label {
289
328
  color: var(--text-color-primary);
290
329
  }
291
- `;customElements.define("ds-cycle",Ie);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.boundHandlers={languageChanged:(()=>{console.log("Language changed event received in ds-text"),this._loadText()})}}connectedCallback(){super.connectedCallback(),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()}_loadText(){if(!this.key){this._text=this.defaultValue||this.fallback||"";return}try{let e=fe(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.requestUpdate()}render(){return a`<span>${this._text||this.defaultValue||this.key}</span>`}};Oe.styles=y`
292
- :host {
293
- display: inline;
294
- }
295
-
296
- .loading {
297
- opacity: 0.6;
298
- }
299
- `;customElements.define("ds-text",Oe);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()}async _loadText(){if(!this.key){this._text=this.defaultValue||"",this.requestUpdate();return}try{let e=await _t(this.key);if(e){this._text=e,this.requestUpdate();return}let n=T(this.key);this._text=n&&n!==this.key?n: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`
330
+ `;customElements.define("ds-cycle",Oe);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`
300
331
  <span class="slot-wrapper"><slot></slot></span>
301
332
  ${this._text?a`<div class="${e}">${this._text}</div>`:null}
302
333
  `}};ae.properties={key:{type:String,reflect:!0},defaultValue:{type:String,reflect:!0,attribute:"default-value"},_text:{state:!0},_visible:{state:!0}};ae.styles=y`
@@ -317,10 +348,10 @@ function Ve(){if(typeof navigator>"u"||typeof window>"u")return!1;let t=navigato
317
348
  position: absolute;
318
349
  left: 50%;
319
350
  bottom: 100%;
320
- transform: translate(-50%, calc(-2px * var(--scaling-factor)));
351
+ transform: translate(-50%, calc(-2px * var(--sf)));
321
352
  z-index: 1000;
322
353
  pointer-events: none;
323
- height: calc(var(--08) * var(--scaling-factor));
354
+ height: calc(var(--08) * var(--sf));
324
355
  opacity: 0;
325
356
  transition:
326
357
  opacity 120ms ease,
@@ -329,9 +360,9 @@ function Ve(){if(typeof navigator>"u"||typeof window>"u")return!1;let t=navigato
329
360
  color: light-dark(var(--white), var(--black));
330
361
  border-radius: 0;
331
362
  font-size: var(--type-size-default);
332
- padding: 0px calc(1px * var(--scaling-factor));
363
+ padding: 0px calc(1px * var(--sf));
333
364
  font-family: var(
334
- --typeface,
365
+ --typeface-regular,
335
366
  -apple-system,
336
367
  BlinkMacSystemFont,
337
368
  "Segoe UI",
@@ -349,45 +380,44 @@ function Ve(){if(typeof navigator>"u"||typeof window>"u")return!1;let t=navigato
349
380
  `;customElements.define("ds-tooltip",ae);var Pe=class extends h{render(){let e=new Date().getFullYear();return a`<span>${e}</span>`}};Pe.styles=y`
350
381
  :host {
351
382
  display: inline;
352
- font-family: var(--typeface, var(--typeface-regular));
383
+ font-family: var(--typeface-regular, var(--typeface-regular-regular));
353
384
  font-size: inherit;
354
385
  color: inherit;
355
386
  }
356
- `;customElements.define("ds-date",Pe);var Me=class extends h{render(){return a`<slot></slot>`}};Me.styles=y`
387
+ `;customElements.define("ds-date",Pe);var He=class extends h{render(){return a`<slot></slot>`}};He.styles=y`
357
388
  :host {
358
389
  display: flex;
359
390
  flex-direction: column;
360
391
  gap: 0;
361
392
  width: 100%;
362
393
  }
363
- `;customElements.define("ds-list",Me);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`
394
+ `;customElements.define("ds-list",He);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`
364
395
  :host {
365
396
  display: flex;
366
397
  align-items: end;
367
- width: calc(240px * var(--scaling-factor));
398
+ width: calc(240px * var(--sf));
368
399
  }
369
400
 
370
401
  :host([type="fill"]) {
371
402
  justify-content: space-between;
372
- height: calc(var(--1) * var(--scaling-factor));
403
+ height: calc(var(--1) * var(--sf));
373
404
  }
374
405
 
375
406
  :host([type="centered"]) {
376
407
  justify-content: center;
377
- height: calc(var(--1) * var(--scaling-factor));
378
- gap: calc(var(--025) * var(--scaling-factor));
408
+ height: calc(var(--1) * var(--sf));
409
+ gap: calc(var(--025) * var(--sf));
379
410
  }
380
411
  `;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`
381
412
  <div class="table-container">
382
413
  <div class="table-header">
383
-
384
414
  <div class="header-cell product-cell">Product</div>
385
415
  <div class="header-cell users-cell">Users</div>
386
416
  <div class="header-cell retention-cell">Retention</div>
387
417
  ${this.showStatus?a`<div class="header-cell">Status</div>`:""}
388
418
  </div>
389
419
  <div class="table-body">
390
- ${this.data.map((e,n)=>a`
420
+ ${this.data.map((e,r)=>a`
391
421
  <div class="data-cell product-cell">${e.product}</div>
392
422
  <div class="data-cell users-cell">${e.users}</div>
393
423
  <div class="data-cell retention-cell">${e.retention}</div>
@@ -428,8 +458,8 @@ function Ve(){if(typeof navigator>"u"||typeof window>"u")return!1;let t=navigato
428
458
  display: flex;
429
459
  align-items: center;
430
460
  justify-content: left;
431
- padding: 0 2px;
432
- font-family: var(--typeface);
461
+ padding: 0 2px;
462
+ font-family: var(--typeface-regular);
433
463
  font-size: var(--type-size-default);
434
464
  font-weight: var(--type-weight-default);
435
465
  line-height: var(--type-lineheight-default);
@@ -443,10 +473,10 @@ function Ve(){if(typeof navigator>"u"||typeof window>"u")return!1;let t=navigato
443
473
  display: flex;
444
474
  align-items: center;
445
475
  justify-content: left;
446
-
476
+
447
477
  outline: 1px solid var(--black);
448
478
 
449
- font-family: var(--typeface);
479
+ font-family: var(--typeface-regular);
450
480
  font-size: var(--type-size-default);
451
481
  font-weight: var(--type-weight-default);
452
482
  line-height: var(--type-lineheight-default);
@@ -455,7 +485,7 @@ function Ve(){if(typeof navigator>"u"||typeof window>"u")return!1;let t=navigato
455
485
  }
456
486
 
457
487
  .status-cell {
458
- background-color: var(--light-green);
488
+ background-color: var(--apple-green);
459
489
  }
460
490
 
461
491
  .product-cell {
@@ -480,23 +510,19 @@ function Ve(){if(typeof navigator>"u"||typeof window>"u")return!1;let t=navigato
480
510
  grid-template-columns: 1fr 60px 60px 60px;
481
511
  }
482
512
  }
483
- `;customElements.define("ds-table",ce);var de=class extends h{constructor(){super(...arguments),this._isMobile=!1}connectedCallback(){if(super.connectedCallback(),this._isMobile=Ve(),console.log(`[ds-grid] Mobile device: ${this._isMobile}`),this._isMobile&&(this.classList.add("mobile"),console.log("[ds-grid] Mobile class added")),this._isMobile&&typeof window<"u"){let e=window.innerWidth,n=14,s=.5,r=(n-1)*s,i=(e-r)/n;console.log(`[ds-grid] Mobile grid: ${n} columns \xD7 ${i.toFixed(2)}px + ${r}px gaps = ${e}px`),this.style.setProperty("--mobile-column-size",`${i}px`),this.style.setProperty("--mobile-gap",`${s}px`)}}updated(){this._isMobile?this.classList.add("mobile"):this.classList.remove("mobile")}render(){return a``}};de.properties={align:{type:String},_isMobile:{type:Boolean,state:!0}};de.styles=y`
513
+ `;customElements.define("ds-table",ce);var de=class extends h{render(){return a``}};de.properties={align:{type:String}};de.styles=y`
484
514
  :host {
485
515
  margin-top: 0.5px !important;
486
516
  margin-left: 0.5px !important;
487
517
  display: grid;
488
518
  width: 1440px;
489
- height: 100%;
519
+ height: 360px;
490
520
  grid-template-columns: repeat(auto-fill, 19px);
491
521
  grid-template-rows: repeat(auto-fill, 19px);
492
522
  gap: 1px;
493
- row-rule: calc(1px * var(--scaling-factor)) solid
494
- light-dark(rgb(147, 147, 147), rgb(147, 147, 147));
495
- column-rule: calc(1px * var(--scaling-factor)) solid
496
- light-dark(rgb(147, 147, 147), rgb(147, 147, 147));
497
- outline:
498
- 1px solid light-dark(rgb(147, 147, 147)),
499
- rgb(147, 147, 147);
523
+ row-rule: calc(1px * var(--sf)) solid var(--grid-color);
524
+ column-rule: calc(1px * var(--sf)) solid var(--grid-color);
525
+ outline: 1px solid black;
500
526
  position: fixed;
501
527
  top: 0;
502
528
  left: 50%;
@@ -507,21 +533,20 @@ function Ve(){if(typeof navigator>"u"||typeof window>"u")return!1;let t=navigato
507
533
 
508
534
  /* DO NOT CHANGE THIS GRID CODE FOR MOBILE. ITS PERFECT FOR MOBILE. */
509
535
  :host(.mobile) {
510
- outline: calc(2px * var(--scaling-factor)) solid rgba(251, 255, 0, 0.9);
511
- width: calc(100% - calc(1px * var(--scaling-factor)));
536
+ width: calc(100% - calc(1px * var(--sf)));
512
537
  max-width: 100vw;
513
538
  margin-left: 0 !important;
514
539
  margin-top: 0 !important;
515
540
  box-sizing: border-box;
516
541
  position: fixed;
517
- top: calc(0.5px * var(--scaling-factor));
542
+ top: calc(0.5px * var(--sf));
518
543
  left: 50%;
519
544
  transform: translateX(-50%);
520
545
  pointer-events: none;
521
546
  z-index: 300;
522
- gap: calc(1px * var(--scaling-factor));
523
- grid-template-columns: repeat(14, calc(19px * var(--scaling-factor)));
524
- grid-template-rows: repeat(auto-fill, calc(19px * var(--scaling-factor)));
547
+ gap: calc(1px * var(--sf));
548
+ grid-template-columns: repeat(14, calc(19px * var(--sf)));
549
+ grid-template-rows: repeat(auto-fill, calc(19px * var(--sf)));
525
550
  }
526
551
 
527
552
  :host([align="left"]) {
@@ -539,28 +564,67 @@ function Ve(){if(typeof navigator>"u"||typeof window>"u")return!1;let t=navigato
539
564
  right: 0;
540
565
  transform: none;
541
566
  }
542
- `;customElements.define("ds-grid",de);var ue=class extends h{render(){let e=this.debug||this.mode==="debug",n=this.mode==="company";return a`
567
+ `;customElements.define("ds-grid",de);var ue=class extends h{constructor(){super(...arguments),this.mode="portfolio"}render(){let e=this.debug||this.mode==="debug",r=this.mode==="portfolio",s=this.mode==="company",n=this.mode==="app";return a`
543
568
  <slot></slot>
544
569
  ${e?a`
545
570
  <div class="debug-overlay">
546
571
  ${n?a`
547
- <div class="debug-area debug-header">header</div>
548
- <div class="debug-area debug-content">content</div>
549
- <div class="debug-area debug-footer">footer</div>
550
- `:a`
551
- <div class="debug-area debug-square">square</div>
552
- <div class="debug-area debug-title">title</div>
553
- <div class="debug-area debug-header">header</div>
554
- <div class="debug-area debug-projects">projects</div>
555
- <div class="debug-area debug-bio">bio</div>
556
- <div class="debug-area debug-nav">nav</div>
557
- <div class="debug-area debug-footer">footer</div>
558
- `}
572
+ <div class="debug-area debug-banner">
573
+ <ds-text key="banner">banner</ds-text>
574
+ </div>
575
+ <div class="debug-area debug-header">
576
+ <ds-text key="header">header</ds-text>
577
+ </div>
578
+
579
+ <div class="debug-area debug-main">
580
+ <ds-text key="main">main</ds-text>
581
+ </div>
582
+ <div class="debug-area debug-footer-app">
583
+ <ds-text key="footer">footer</ds-text>
584
+ </div>
585
+ `:s?a`
586
+ <div class="debug-area debug-header">
587
+ <ds-text key="header">header</ds-text>
588
+ </div>
589
+ <div class="debug-area debug-content">
590
+ <ds-text key="content">content</ds-text>
591
+ </div>
592
+ <div class="debug-area debug-footer">
593
+ <ds-text key="footer">footer</ds-text>
594
+ </div>
595
+ `:r?a`
596
+ <div class="debug-area debug-square">
597
+ <ds-text key="square">square</ds-text>
598
+ </div>
599
+ <div class="debug-area debug-title">
600
+ <ds-text key="title">title</ds-text>
601
+ </div>
602
+ <div class="debug-area debug-header">
603
+ <ds-text key="header">header</ds-text>
604
+ </div>
605
+ <div class="debug-area debug-projects">
606
+ <ds-text key="projects">projects</ds-text>
607
+ </div>
608
+ <div class="debug-area debug-bio">
609
+ <ds-text key="bio">bio</ds-text>
610
+ </div>
611
+ <div class="debug-area debug-nav">
612
+ <ds-text key="nav">nav</ds-text>
613
+ </div>
614
+ <div class="debug-area debug-footer">
615
+ <ds-text key="footer">footer</ds-text>
616
+ </div>
617
+ `:""}
559
618
  </div>
560
619
  `:""}
561
620
  `}};ue.properties={mode:{type:String},align:{type:String},debug:{type:Boolean}};ue.styles=y`
562
621
  :host {
563
622
  display: grid;
623
+ position: relative;
624
+ width: 100%;
625
+ }
626
+
627
+ :host([mode="portfolio"]) {
564
628
  grid-template-columns: 120px 480px 40px;
565
629
  grid-template-rows: 120px 120px 60px 180px 60px 120px 60px 20px 120px 120px;
566
630
  grid-template-areas:
@@ -577,8 +641,6 @@ function Ve(){if(typeof navigator>"u"||typeof window>"u")return!1;let t=navigato
577
641
  ". . .";
578
642
  min-height: 600px;
579
643
  background-color: rgba(165, 165, 165, 0.03);
580
- position: relative;
581
- width: 100%;
582
644
  max-width: 640px;
583
645
  margin: 0 auto;
584
646
  }
@@ -612,6 +674,29 @@ function Ve(){if(typeof navigator>"u"||typeof window>"u")return!1;let t=navigato
612
674
  justify-self: end;
613
675
  }
614
676
 
677
+ /* App mode - Base */
678
+ :host([mode="app"]) {
679
+ grid-template-columns: 1fr;
680
+ grid-template-rows: calc(var(--1) * var(--sf)) 20px 1fr auto;
681
+ grid-template-areas:
682
+ "banner"
683
+ "main"
684
+ "footer";
685
+ min-height: 100vh;
686
+ background-color: transparent;
687
+ width: 100%;
688
+ margin: 0 auto;
689
+ gap: 0;
690
+ }
691
+
692
+ /* App mode - with scaling factor */
693
+ :host([mode="app"]) {
694
+ max-width: calc(400px * var(--sf, 1));
695
+ padding: calc(60px * var(--sf, 1)) calc(28px * var(--sf, 1))
696
+ calc(9.751px * var(--sf, 1));
697
+ gap: calc(28px * var(--sf, 1));
698
+ }
699
+
615
700
  .debug-overlay {
616
701
  position: absolute;
617
702
  margin-left: -1px;
@@ -624,6 +709,9 @@ function Ve(){if(typeof navigator>"u"||typeof window>"u")return!1;let t=navigato
624
709
  display: grid;
625
710
  font-size: 18px;
626
711
  font-weight: bold;
712
+ }
713
+
714
+ :host([mode="portfolio"]) .debug-overlay {
627
715
  grid-template-columns: 120px 480px;
628
716
  grid-template-rows: 120px 120px 60px 180px 60px 120px 60px 20px 120px 120px;
629
717
  grid-template-areas:
@@ -659,7 +747,7 @@ function Ve(){if(typeof navigator>"u"||typeof window>"u")return!1;let t=navigato
659
747
  justify-content: center;
660
748
  font-size: 10px;
661
749
  font-weight: var(--type-weight-default);
662
- font-family: var(--typeface);
750
+ font-family: var(--typeface-regular);
663
751
  color: var(--black);
664
752
  border: 1px solid red;
665
753
  opacity: 1;
@@ -695,14 +783,50 @@ function Ve(){if(typeof navigator>"u"||typeof window>"u")return!1;let t=navigato
695
783
 
696
784
  .debug-footer {
697
785
  grid-area: footer;
698
- border-color: #ffa500;
786
+ border-color: rgb(24, 147, 73);
787
+ background-color: rgba(127, 123, 11, 0.1);
699
788
  }
700
789
 
701
790
  .debug-content {
702
791
  grid-area: content;
703
792
  border-color: rgba(71, 231, 71, 0.63);
704
793
  }
705
- `;customElements.define("ds-layout",ue);export{re as Button,Ie as Cycle,Pe as DateComponent,ce as DsTable,de as Grid,q as Icon,ue as Layout,Me as List,le as Row,Oe as Text,ae as Tooltip,L as currentLanguage,B as currentTheme,Ve as detectMobileDevice,us as getAvailableLanguages,De as getAvailableLanguagesSync,yn as getBrowserLanguage,cn as getDeviceInfo,wt as getLanguageDisplayName,_t as getNotionText,gs as getPriceLabel,fe as getText,cs as hasTranslation,He as initDeviceDetection,hs as loadTranslations,P as savePreferences,Ue as setLanguage,ds as setNotionText,Bt as setTheme,T as translate};
794
+
795
+ :host([mode="app"]) .debug-overlay {
796
+ grid-template-columns: 1fr;
797
+ grid-template-rows:
798
+ calc(var(--1) * var(--sf))
799
+ calc(var(--2) * var(--sf))
800
+ calc(var(--4) * var(--sf))
801
+ calc(var(--1) * var(--sf));
802
+ grid-template-areas:
803
+ "banner"
804
+ "header"
805
+ "main"
806
+ "footer";
807
+ }
808
+
809
+ .debug-banner {
810
+ grid-area: banner;
811
+ border-color: #daed09;
812
+ }
813
+
814
+ .debug-header {
815
+ grid-area: header;
816
+ border-color: #0000ff;
817
+ background-color: rgba(127, 123, 11, 0.5);
818
+ }
819
+
820
+ .debug-main {
821
+ grid-area: main;
822
+ border-color: #0000ff;
823
+ }
824
+
825
+ .debug-footer-app {
826
+ grid-area: footer;
827
+ border-color: #ffa500;
828
+ }
829
+ `;customElements.define("ds-layout",ue);export{ne as Button,Oe as Cycle,Pe as DateComponent,ce as DsTable,de as Grid,q as Icon,ue as Layout,He as List,le as Row,Ie as Text,ae as Tooltip,S as currentLanguage,B as currentTheme,ir as detectMobileDevice,os as getAvailableLanguages,Me as getAvailableLanguagesSync,gr as getBrowserLanguage,or as getDeviceInfo,yt as getLanguageDisplayName,ds as getPriceLabel,fe as getText,is as hasTranslation,Ve as initDeviceDetection,as as loadTranslations,P as savePreferences,Re as setLanguage,Wt as setTheme,E as translate};
706
830
  /*! Bundled license information:
707
831
 
708
832
  signal-polyfill/dist/index.js: