ds-one 0.2.0-alpha.1 → 0.2.0-alpha.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/DS1/1-root/one.css +1 -1
- package/DS1/2-core/{article-v1.ts → ds-article.ts} +5 -4
- package/DS1/2-core/{attributes-v1.ts → ds-attributes.ts} +4 -3
- package/DS1/2-core/{cycle-v1.ts → ds-cycle.ts} +11 -10
- package/DS1/2-core/{downloadcv-v1.ts → ds-downloadcv.ts} +9 -8
- package/DS1/2-core/{header-v1.ts → ds-header.ts} +4 -3
- package/DS1/2-core/{home-v1.ts → ds-home.ts} +3 -2
- package/DS1/2-core/{icon-v1.ts → ds-icon.ts} +2 -2
- package/DS1/2-core/{link-v1.ts → ds-link.ts} +5 -5
- package/DS1/2-core/{markdown-v1.ts → ds-markdown.ts} +3 -2
- package/DS1/2-core/{price-v1.ts → ds-price.ts} +4 -3
- package/DS1/2-core/{squarecircle-v1.ts → ds-squarecircle.ts} +4 -3
- package/DS1/2-core/{title-v1.ts → ds-title.ts} +5 -4
- package/DS1/2-core/{tooltip-v1.ts → ds-tooltip.ts} +4 -3
- package/DS1/2-core/{viewtoggle-v1.ts → ds-viewtoggle.ts} +4 -3
- package/DS1/2-core/{year-v1.ts → ds-year.ts} +4 -3
- package/DS1/3-unit/{doublenav-v1.ts → ds-doublenav.ts} +9 -8
- package/DS1/3-unit/{list-v1.ts → ds-list.ts} +3 -2
- package/DS1/3-unit/{panel-v1.ts → ds-panel.ts} +3 -2
- package/DS1/3-unit/{row-v1.ts → ds-row.ts} +3 -2
- package/DS1/3-unit/{singlenav-v1.ts → ds-singlenav.ts} +5 -4
- package/DS1/index.ts +20 -20
- package/README.md +4 -4
- package/dist/2-core/ds-article.d.ts +129 -0
- package/dist/2-core/ds-article.d.ts.map +1 -0
- package/dist/2-core/ds-article.js +361 -0
- package/dist/2-core/ds-attributes.d.ts +47 -0
- package/dist/2-core/ds-attributes.d.ts.map +1 -0
- package/dist/2-core/ds-attributes.js +128 -0
- package/dist/2-core/ds-cycle.d.ts +66 -0
- package/dist/2-core/ds-cycle.d.ts.map +1 -0
- package/dist/2-core/ds-cycle.js +586 -0
- package/dist/2-core/ds-downloadcv.d.ts +58 -0
- package/dist/2-core/ds-downloadcv.d.ts.map +1 -0
- package/dist/2-core/ds-downloadcv.js +119 -0
- package/dist/2-core/ds-header.d.ts +28 -0
- package/dist/2-core/ds-header.d.ts.map +1 -0
- package/dist/2-core/ds-header.js +66 -0
- package/dist/2-core/ds-home.d.ts +26 -0
- package/dist/2-core/ds-home.d.ts.map +1 -0
- package/dist/2-core/ds-home.js +148 -0
- package/dist/2-core/ds-icon.d.ts +28 -0
- package/dist/2-core/ds-icon.d.ts.map +1 -0
- package/dist/2-core/ds-icon.js +297 -0
- package/dist/2-core/ds-link.d.ts +35 -0
- package/dist/2-core/ds-link.d.ts.map +1 -0
- package/dist/2-core/ds-link.js +85 -0
- package/dist/2-core/ds-markdown.d.ts +7 -0
- package/dist/2-core/ds-markdown.d.ts.map +1 -0
- package/dist/2-core/ds-markdown.js +240 -0
- package/dist/2-core/ds-price.d.ts +46 -0
- package/dist/2-core/ds-price.d.ts.map +1 -0
- package/dist/2-core/ds-price.js +72 -0
- package/dist/2-core/ds-squarecircle.d.ts +50 -0
- package/dist/2-core/ds-squarecircle.d.ts.map +1 -0
- package/dist/2-core/ds-squarecircle.js +133 -0
- package/dist/2-core/ds-title.d.ts +50 -0
- package/dist/2-core/ds-title.d.ts.map +1 -0
- package/dist/2-core/ds-title.js +103 -0
- package/dist/2-core/ds-tooltip.d.ts +39 -0
- package/dist/2-core/ds-tooltip.d.ts.map +1 -0
- package/dist/2-core/ds-tooltip.js +145 -0
- package/dist/2-core/ds-viewtoggle.d.ts +27 -0
- package/dist/2-core/ds-viewtoggle.d.ts.map +1 -0
- package/dist/2-core/ds-viewtoggle.js +49 -0
- package/dist/2-core/ds-year.d.ts +16 -0
- package/dist/2-core/ds-year.d.ts.map +1 -0
- package/dist/2-core/ds-year.js +21 -0
- package/dist/3-unit/ds-doublenav.d.ts +51 -0
- package/dist/3-unit/ds-doublenav.d.ts.map +1 -0
- package/dist/3-unit/ds-doublenav.js +88 -0
- package/dist/3-unit/ds-list.d.ts +11 -0
- package/dist/3-unit/ds-list.d.ts.map +1 -0
- package/dist/3-unit/ds-list.js +15 -0
- package/dist/3-unit/ds-panel.d.ts +11 -0
- package/dist/3-unit/ds-panel.d.ts.map +1 -0
- package/dist/3-unit/ds-panel.js +16 -0
- package/dist/3-unit/ds-row.d.ts +25 -0
- package/dist/3-unit/ds-row.d.ts.map +1 -0
- package/dist/3-unit/ds-row.js +32 -0
- package/dist/3-unit/ds-singlenav.d.ts +32 -0
- package/dist/3-unit/ds-singlenav.d.ts.map +1 -0
- package/dist/3-unit/ds-singlenav.js +62 -0
- package/dist/ds-one.bundle.js +63 -63
- package/dist/ds-one.bundle.js.map +2 -2
- package/dist/ds-one.bundle.min.js +27 -27
- package/dist/ds-one.bundle.min.js.map +2 -2
- package/dist/index.d.ts +20 -20
- package/dist/index.js +20 -20
- package/package.json +2 -2
|
@@ -261,10 +261,10 @@ function Qe(){if(typeof navigator>"u"||typeof window>"u")return!1;let t=navigato
|
|
|
261
261
|
:host {
|
|
262
262
|
--notes-style-color: #ffb6b9;
|
|
263
263
|
}
|
|
264
|
-
`;B.iconNameToSvgMap=(()=>{try{let t=import.meta.glob("../x Icon/*.svg",{as:"raw",eager:!0}),e={};for(let[n,r]of Object.entries(t)){let s=(n.split("/").pop()??"").replace(/\.svg$/i,"").toLowerCase();s&&(e[s]=r)}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("icon
|
|
264
|
+
`;B.iconNameToSvgMap=(()=>{try{let t=import.meta.glob("../x Icon/*.svg",{as:"raw",eager:!0}),e={};for(let[n,r]of Object.entries(t)){let s=(n.split("/").pop()??"").replace(/\.svg$/i,"").toLowerCase();s&&(e[s]=r)}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",B);console.log("Icon component registered with custom elements registry");var Ae=class extends l{static get properties(){return{href:{type:String,reflect:!0},_text:{type:String,state:!0}}}constructor(){super(),this.href="",this._text="",this.boundHandlers={languageChanged:(()=>{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("href")&&this._loadText()}_loadText(){try{let e=x("link");this._text=e||"Link"}catch(e){console.error("Error loading text for key 'link':",e),this._text="Link"}this.requestUpdate()}render(){return this.href?o`
|
|
265
265
|
<a href="${this.href}" target="_blank" rel="noopener noreferrer">
|
|
266
266
|
${this._text}
|
|
267
|
-
<icon
|
|
267
|
+
<ds-icon type="open"></ds-icon>
|
|
268
268
|
</a>
|
|
269
269
|
`:o`<span>${this._text}</span>`}};Ae.styles=c`
|
|
270
270
|
:host {
|
|
@@ -277,11 +277,11 @@ function Qe(){if(typeof navigator>"u"||typeof window>"u")return!1;let t=navigato
|
|
|
277
277
|
text-decoration: none;
|
|
278
278
|
}
|
|
279
279
|
|
|
280
|
-
icon
|
|
280
|
+
ds-icon {
|
|
281
281
|
display: inline-block;
|
|
282
282
|
vertical-align: middle;
|
|
283
283
|
}
|
|
284
|
-
`;customElements.define("link-v1",Ae);var er=Object.defineProperty,tr=(t,e,n)=>e in t?er(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,ht=(t,e,n)=>(tr(t,typeof e!="symbol"?e+"":e,n),n),nr=(t,e,n)=>{if(!e.has(t))throw TypeError("Cannot "+n)},ut=(t,e)=>{if(Object(e)!==e)throw TypeError('Cannot use the "in" operator on this value');return t.has(e)},Le=(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)},an=(t,e,n)=>(nr(t,e,"access private method"),n);function ln(t,e){return Object.is(t,e)}var b=null,oe=!1,Te=1,Ne=Symbol("SIGNAL");function q(t){let e=b;return b=t,e}function rr(){return b}function ir(){return oe}var vt={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 Ie(t){if(oe)throw new Error(typeof ngDevMode<"u"&&ngDevMode?"Assertion error: signal read during notification phase":"");if(b===null)return;b.consumerOnSignalRead(t);let e=b.nextProducerIndex++;if(F(b),e<b.producerNode.length&&b.producerNode[e]!==t&&ft(b)){let n=b.producerNode[e];Me(n,b.producerIndexOfThis[e])}b.producerNode[e]!==t&&(b.producerNode[e]=t,b.producerIndexOfThis[e]=ft(b)?hn(t,b,e):0),b.producerLastReadVersion[e]=t.version}function sr(){Te++}function cn(t){if(!(!t.dirty&&t.lastCleanEpoch===Te)){if(!t.producerMustRecompute(t)&&!dr(t)){t.dirty=!1,t.lastCleanEpoch=Te;return}t.producerRecomputeValue(t),t.dirty=!1,t.lastCleanEpoch=Te}}function dn(t){if(t.liveConsumerNode===void 0)return;let e=oe;oe=!0;try{for(let n of t.liveConsumerNode)n.dirty||ar(n)}finally{oe=e}}function or(){return b?.consumerAllowSignalWrites!==!1}function ar(t){var e;t.dirty=!0,dn(t),(e=t.consumerMarkedDirty)==null||e.call(t.wrapper??t)}function lr(t){return t&&(t.nextProducerIndex=0),q(t)}function cr(t,e){if(q(e),!(!t||t.producerNode===void 0||t.producerIndexOfThis===void 0||t.producerLastReadVersion===void 0)){if(ft(t))for(let n=t.nextProducerIndex;n<t.producerNode.length;n++)Me(t.producerNode[n],t.producerIndexOfThis[n]);for(;t.producerNode.length>t.nextProducerIndex;)t.producerNode.pop(),t.producerLastReadVersion.pop(),t.producerIndexOfThis.pop()}}function dr(t){F(t);for(let e=0;e<t.producerNode.length;e++){let n=t.producerNode[e],r=t.producerLastReadVersion[e];if(r!==n.version||(cn(n),r!==n.version))return!0}return!1}function hn(t,e,n){var r;if(yt(t),F(t),t.liveConsumerNode.length===0){(r=t.watched)==null||r.call(t.wrapper);for(let i=0;i<t.producerNode.length;i++)t.producerIndexOfThis[i]=hn(t.producerNode[i],t,i)}return t.liveConsumerIndexOfThis.push(n),t.liveConsumerNode.push(e)-1}function Me(t,e){var n;if(yt(t),F(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 i=0;i<t.producerNode.length;i++)Me(t.producerNode[i],t.producerIndexOfThis[i])}let r=t.liveConsumerNode.length-1;if(t.liveConsumerNode[e]=t.liveConsumerNode[r],t.liveConsumerIndexOfThis[e]=t.liveConsumerIndexOfThis[r],t.liveConsumerNode.length--,t.liveConsumerIndexOfThis.length--,e<t.liveConsumerNode.length){let i=t.liveConsumerIndexOfThis[e],s=t.liveConsumerNode[e];F(s),s.producerIndexOfThis[i]=e}}function ft(t){var e;return t.consumerIsAlwaysLive||(((e=t?.liveConsumerNode)==null?void 0:e.length)??0)>0}function F(t){t.producerNode??(t.producerNode=[]),t.producerIndexOfThis??(t.producerIndexOfThis=[]),t.producerLastReadVersion??(t.producerLastReadVersion=[])}function yt(t){t.liveConsumerNode??(t.liveConsumerNode=[]),t.liveConsumerIndexOfThis??(t.liveConsumerIndexOfThis=[])}function un(t){if(cn(t),Ie(t),t.value===mt)throw t.error;return t.value}function hr(t){let e=Object.create(ur);e.computation=t;let n=()=>un(e);return n[Ne]=e,n}var pt=Symbol("UNSET"),gt=Symbol("COMPUTING"),mt=Symbol("ERRORED"),ur={...vt,value:pt,dirty:!0,error:null,equal:ln,producerMustRecompute(t){return t.value===pt||t.value===gt},producerRecomputeValue(t){if(t.value===gt)throw new Error("Detected cycle in computations.");let e=t.value;t.value=gt;let n=lr(t),r,i=!1;try{r=t.computation.call(t.wrapper),i=e!==pt&&e!==mt&&t.equal.call(t.wrapper,e,r)}catch(s){r=mt,t.error=s}finally{cr(t,n)}if(i){t.value=e;return}t.value=r,t.version++}};function pr(){throw new Error}var gr=pr;function fr(){gr()}function mr(t){let e=Object.create(wr);e.value=t;let n=()=>(Ie(e),e.value);return n[Ne]=e,n}function vr(){return Ie(this),this.value}function yr(t,e){or()||fr(),t.equal.call(t.wrapper,t.value,e)||(t.value=e,br(t))}var wr={...vt,equal:ln,value:void 0};function br(t){t.version++,sr(),dn(t)}var _=Symbol("node"),S;(t=>{var e,n,r,i,s,a;class g{constructor(v,d={}){Le(this,n),ht(this,e);let f=mr(v)[Ne];if(this[_]=f,f.wrapper=this,d){let C=d.equals;C&&(f.equal=C),f.watched=d[t.subtle.watched],f.unwatched=d[t.subtle.unwatched]}}get(){if(!(0,t.isState)(this))throw new TypeError("Wrong receiver type for Signal.State.prototype.get");return vr.call(this[_])}set(v){if(!(0,t.isState)(this))throw new TypeError("Wrong receiver type for Signal.State.prototype.set");if(ir())throw new Error("Writes to signals not permitted during Watcher callback");let d=this[_];yr(d,v)}}e=_,n=new WeakSet,r=function(){},t.isState=p=>typeof p=="object"&&ut(n,p),t.State=g;class u{constructor(v,d){Le(this,s),ht(this,i);let f=hr(v)[Ne];if(f.consumerAllowSignalWrites=!0,this[_]=f,f.wrapper=this,d){let C=d.equals;C&&(f.equal=C),f.watched=d[t.subtle.watched],f.unwatched=d[t.subtle.unwatched]}}get(){if(!(0,t.isComputed)(this))throw new TypeError("Wrong receiver type for Signal.Computed.prototype.get");return un(this[_])}}i=_,s=new WeakSet,a=function(){},t.isComputed=p=>typeof p=="object"&&ut(s,p),t.Computed=u,(p=>{var v,d,A,f,C;function _n(y){let m,h=null;try{h=q(null),m=y()}finally{q(h)}return m}p.untrack=_n;function $n(y){var m;if(!(0,t.isComputed)(y)&&!(0,t.isWatcher)(y))throw new TypeError("Called introspectSources without a Computed or Watcher argument");return((m=y[_].producerNode)==null?void 0:m.map(h=>h.wrapper))??[]}p.introspectSources=$n;function Sn(y){var m;if(!(0,t.isComputed)(y)&&!(0,t.isState)(y))throw new TypeError("Called introspectSinks without a Signal argument");return((m=y[_].liveConsumerNode)==null?void 0:m.map(h=>h.wrapper))??[]}p.introspectSinks=Sn;function Cn(y){if(!(0,t.isComputed)(y)&&!(0,t.isState)(y))throw new TypeError("Called hasSinks without a Signal argument");let m=y[_].liveConsumerNode;return m?m.length>0:!1}p.hasSinks=Cn;function kn(y){if(!(0,t.isComputed)(y)&&!(0,t.isWatcher)(y))throw new TypeError("Called hasSources without a Computed or Watcher argument");let m=y[_].producerNode;return m?m.length>0:!1}p.hasSources=kn;class En{constructor(m){Le(this,d),Le(this,f),ht(this,v);let h=Object.create(vt);h.wrapper=this,h.consumerMarkedDirty=m,h.consumerIsAlwaysLive=!0,h.consumerAllowSignalWrites=!1,h.producerNode=[],this[_]=h}watch(...m){if(!(0,t.isWatcher)(this))throw new TypeError("Called unwatch without Watcher receiver");an(this,f,C).call(this,m);let h=this[_];h.dirty=!1;let L=q(h);for(let me of m)Ie(me[_]);q(L)}unwatch(...m){if(!(0,t.isWatcher)(this))throw new TypeError("Called unwatch without Watcher receiver");an(this,f,C).call(this,m);let h=this[_];F(h);for(let L=h.producerNode.length-1;L>=0;L--)if(m.includes(h.producerNode[L].wrapper)){Me(h.producerNode[L],h.producerIndexOfThis[L]);let me=h.producerNode.length-1;if(h.producerNode[L]=h.producerNode[me],h.producerIndexOfThis[L]=h.producerIndexOfThis[me],h.producerNode.length--,h.producerIndexOfThis.length--,h.nextProducerIndex--,L<h.producerNode.length){let Ln=h.producerIndexOfThis[L],kt=h.producerNode[L];yt(kt),kt.liveConsumerIndexOfThis[Ln]=L}}}getPending(){if(!(0,t.isWatcher)(this))throw new TypeError("Called getPending without Watcher receiver");return this[_].producerNode.filter(h=>h.dirty).map(h=>h.wrapper)}}v=_,d=new WeakSet,A=function(){},f=new WeakSet,C=function(y){for(let m of y)if(!(0,t.isComputed)(m)&&!(0,t.isState)(m))throw new TypeError("Called watch/unwatch without a Computed or State argument")},t.isWatcher=y=>ut(d,y),p.Watcher=En;function An(){var y;return(y=rr())==null?void 0:y.wrapper}p.currentComputed=An,p.watched=Symbol("watched"),p.unwatched=Symbol("unwatched")})(t.subtle||(t.subtle={}))})(S||(S={}));var ki=Symbol("SignalWatcherBrand"),Ei=new FinalizationRegistry((({watcher:t,signal:e})=>{t.unwatch(e)}));var{I:Ii}=Ft;var pn=t=>t.strings===void 0;var ae=(t,e)=>{let n=t._$AN;if(n===void 0)return!1;for(let r of n)r._$AO?.(e,!1),ae(r,e);return!0},He=t=>{let e,n;do{if((e=t._$AM)===void 0)break;n=e._$AN,n.delete(t),t=e}while(n?.size===0)},gn=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),$r(e)}};function xr(t){this._$AN!==void 0?(He(this),this._$AM=t,gn(this)):this._$AM=t}function _r(t,e=!1,n=0){let r=this._$AH,i=this._$AN;if(i!==void 0&&i.size!==0)if(e)if(Array.isArray(r))for(let s=n;s<r.length;s++)ae(r[s],!1),He(r[s]);else r!=null&&(ae(r,!1),He(r));else ae(this,t)}var $r=t=>{t.type==Ee.CHILD&&(t._$AP??(t._$AP=_r),t._$AQ??(t._$AQ=xr))},Oe=class extends z{constructor(){super(...arguments),this._$AN=void 0}_$AT(e,n,r){super._$AT(e,n,r),gn(this),this.isConnected=e._$AU}_$AO(e,n=!0){e!==this.isConnected&&(this.isConnected=e,e?this.reconnected?.():this.disconnected?.()),n&&(ae(this,e),He(this))}setValue(e){if(pn(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 Ve=class extends Oe{_$Sl(){if(this._$Su!==void 0)return;this._$SW=new S.Computed((()=>{var n;return(n=this._$Sj)===null||n===void 0?void 0:n.get()}));let e=this._$Su=new S.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(S.subtle.untrack((()=>{var e;return(e=this._$SW)===null||e===void 0?void 0:e.get()})))}render(e){return S.subtle.untrack((()=>e.get()))}update(e,[n]){var r,i;return(r=this._$SO)!==null&&r!==void 0||(this._$SO=(i=e.options)===null||i===void 0?void 0:i.host),n!==this._$Sj&&this._$Sj!==void 0&&this._$Sp(),this._$Sj=n,this._$Sl(),S.subtle.untrack((()=>this._$SW.get()))}disconnected(){this._$Sp()}reconnected(){this._$Sl()}},wt=ie(Ve);var bt=t=>(e,...n)=>t(e,...n.map((r=>r instanceof S.State||r instanceof S.Computed?wt(r):r))),Sr=bt(o),Cr=bt(zt);var Xi=S.State,Qi=S.Computed,fn=(t,e)=>new S.State(t,e);function kr(){if(typeof window>"u")return"light";let t=window.localStorage?.getItem("ds-one:theme");return t==="light"||t==="dark"?t:window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}var O=fn(kr());function De(t){if(t!==O.get()&&(O.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=O.get(),e=window.document?.documentElement;e&&(e.classList.remove("light-theme","dark-theme"),e.classList.add(`${t}-theme`))}function j(t){if(!(typeof window>"u"))try{let e=window.localStorage?.getItem("ds-one:settings"),r={...e?JSON.parse(e):{},...t};window.localStorage?.setItem("ds-one:settings",JSON.stringify(r))}catch(e){console.warn("ds-one: unable to persist settings",e)}}var Er=t=>{localStorage.setItem("accentColor",t)},_t=()=>localStorage.getItem("accentColor")||"--blue",xt=()=>{let t=_t();document.documentElement.style.setProperty("--accent-color",`var(${t})`)},Ar=t=>{localStorage.setItem("notesStyleMedium",t)},mn=()=>localStorage.getItem("notesStyleMedium")||"note",vn=t=>{localStorage.setItem("pageStyle",t)},le=()=>localStorage.getItem("pageStyle")||"note",Pe=class extends l{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=ct();this.values=e,this.currentValue=$.value,this.label=this.getLabel()}else if(this.type==="theme"){this.values=["light","dark"];let e=O.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=_t();this.currentValue=e,xt(),this.label=this.getLabel()}else if(this.type==="notes-style-medium"){this.values=["default","big","gallery"];let e=mn();this.currentValue=e;let n=le();this.disabled=n==="note",this.label=this.getLabel()}else if(this.type==="page-style"){this.values=["note","page"];let e=le();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 r=window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light";localStorage.setItem("theme",r),document.documentElement.classList.add(`${r}-theme`)}}attributeChangedCallback(e,n,r){super.attributeChangedCallback(e,n,r),e==="type"&&n!==r&&this.initializeValues()}async setupInitialValue(){if(this.type==="language"){let e=$.value;this.currentValue=e,this.label=this.getLabel()}else if(this.type==="theme"){let e=O.get();this.currentValue=e,this.label=this.getLabel()}else if(this.type==="accent-color"){let e=_t();this.currentValue=e,xt(),this.label=this.getLabel()}else if(this.type==="notes-style-medium"){let e=mn();this.currentValue=e;let n=le();this.disabled=n==="note",this.label=this.getLabel()}else if(this.type==="page-style"){let e=le();this.currentValue=e,this.label=this.getLabel()}else if(this.type==="icon-only"){let e=le();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 r=(this.values.indexOf(this.currentValue)+1)%this.values.length,i=this.values[r];this.currentValue=i,document.startViewTransition?document.startViewTransition(()=>{dt(i)}):dt(i),j({language:i}),window.dispatchEvent(new CustomEvent("language-changed",{detail:{language:i}}))}else if(this.type==="theme"){let r=(this.values.indexOf(this.currentValue)+1)%this.values.length,i=this.values[r];this.currentValue=i,De(i),j({theme:i})}else if(this.type==="accent-color"){let r=(this.values.indexOf(this.currentValue)+1)%this.values.length,i=this.values[r];this.currentValue=i,Er(i),xt(),j({accentColor:i}),window.dispatchEvent(new CustomEvent("accent-color-changed",{detail:{color:i}}))}else if(this.type==="notes-style-medium"){let r=(this.values.indexOf(this.currentValue)+1)%this.values.length,i=this.values[r];this.currentValue=i,Ar(i),j({notesStyleMedium:i}),window.dispatchEvent(new CustomEvent("notes-style-medium-changed",{detail:{style:i}}))}else if(this.type==="page-style"){let r=(this.values.indexOf(this.currentValue)+1)%this.values.length,i=this.values[r];this.currentValue=i,vn(i),j({pageStyle:i}),window.dispatchEvent(new CustomEvent("page-style-changed",{detail:{behavior:i}}))}else if(this.type==="icon-only"){let r=(this.values.indexOf(this.currentValue)+1)%this.values.length,i=this.values[r];this.currentValue=i,vn(i),j({pageStyle:i}),this.label="",window.dispatchEvent(new CustomEvent("page-style-changed",{detail:{behavior:i}}))}this.label=this.getLabel(),this.requestUpdate()}}getValueDisplay(e){if(this.type==="language")return rn(e,{locale:$.value});if(this.type==="theme"){if(this.translationsReady){let n=E(`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=E(e==="note"?"note":"page");if(n&&n!==(e==="note"?"note":"page"))return n}return e}else if(this.type==="icon-only")return e==="note"?o`<icon-v1 type="note"></icon-v1>`:e==="page"?o`<icon-v1 type="page"></icon-v1>`:o`<span>${e}</span>`}return e}getColorName(e){let r={"--red":"red","--orange":"orange","--yellow":"yellow","--light-green":"lightGreen","--green":"green","--light-blue":"lightBlue","--blue":"blue","--pink":"pink"}[e];if(r&&this.translationsReady){let i=E(r);if(i&&i!==r)return i}return e.replace("--","").replace("-"," ")}getNotesStyleIcon(e){return e==="page"?o`<icon-v1 type="page"></icon-v1>`:e==="note"?o`<icon-v1 type="note"></icon-v1>`:e==="default"?o`<icon-v1 type="default"></icon-v1>`:e==="big"?o`<icon-v1 type="big"></icon-v1>`:e==="gallery"?o`<icon-v1 type="gallery"></icon-v1>`:o`<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 o`
|
|
284
|
+
`;customElements.define("ds-link",Ae);var er=Object.defineProperty,tr=(t,e,n)=>e in t?er(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,ht=(t,e,n)=>(tr(t,typeof e!="symbol"?e+"":e,n),n),nr=(t,e,n)=>{if(!e.has(t))throw TypeError("Cannot "+n)},ut=(t,e)=>{if(Object(e)!==e)throw TypeError('Cannot use the "in" operator on this value');return t.has(e)},Le=(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)},an=(t,e,n)=>(nr(t,e,"access private method"),n);function ln(t,e){return Object.is(t,e)}var b=null,oe=!1,Te=1,Ne=Symbol("SIGNAL");function q(t){let e=b;return b=t,e}function rr(){return b}function ir(){return oe}var vt={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 Ie(t){if(oe)throw new Error(typeof ngDevMode<"u"&&ngDevMode?"Assertion error: signal read during notification phase":"");if(b===null)return;b.consumerOnSignalRead(t);let e=b.nextProducerIndex++;if(F(b),e<b.producerNode.length&&b.producerNode[e]!==t&&ft(b)){let n=b.producerNode[e];Me(n,b.producerIndexOfThis[e])}b.producerNode[e]!==t&&(b.producerNode[e]=t,b.producerIndexOfThis[e]=ft(b)?hn(t,b,e):0),b.producerLastReadVersion[e]=t.version}function sr(){Te++}function cn(t){if(!(!t.dirty&&t.lastCleanEpoch===Te)){if(!t.producerMustRecompute(t)&&!dr(t)){t.dirty=!1,t.lastCleanEpoch=Te;return}t.producerRecomputeValue(t),t.dirty=!1,t.lastCleanEpoch=Te}}function dn(t){if(t.liveConsumerNode===void 0)return;let e=oe;oe=!0;try{for(let n of t.liveConsumerNode)n.dirty||ar(n)}finally{oe=e}}function or(){return b?.consumerAllowSignalWrites!==!1}function ar(t){var e;t.dirty=!0,dn(t),(e=t.consumerMarkedDirty)==null||e.call(t.wrapper??t)}function lr(t){return t&&(t.nextProducerIndex=0),q(t)}function cr(t,e){if(q(e),!(!t||t.producerNode===void 0||t.producerIndexOfThis===void 0||t.producerLastReadVersion===void 0)){if(ft(t))for(let n=t.nextProducerIndex;n<t.producerNode.length;n++)Me(t.producerNode[n],t.producerIndexOfThis[n]);for(;t.producerNode.length>t.nextProducerIndex;)t.producerNode.pop(),t.producerLastReadVersion.pop(),t.producerIndexOfThis.pop()}}function dr(t){F(t);for(let e=0;e<t.producerNode.length;e++){let n=t.producerNode[e],r=t.producerLastReadVersion[e];if(r!==n.version||(cn(n),r!==n.version))return!0}return!1}function hn(t,e,n){var r;if(yt(t),F(t),t.liveConsumerNode.length===0){(r=t.watched)==null||r.call(t.wrapper);for(let i=0;i<t.producerNode.length;i++)t.producerIndexOfThis[i]=hn(t.producerNode[i],t,i)}return t.liveConsumerIndexOfThis.push(n),t.liveConsumerNode.push(e)-1}function Me(t,e){var n;if(yt(t),F(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 i=0;i<t.producerNode.length;i++)Me(t.producerNode[i],t.producerIndexOfThis[i])}let r=t.liveConsumerNode.length-1;if(t.liveConsumerNode[e]=t.liveConsumerNode[r],t.liveConsumerIndexOfThis[e]=t.liveConsumerIndexOfThis[r],t.liveConsumerNode.length--,t.liveConsumerIndexOfThis.length--,e<t.liveConsumerNode.length){let i=t.liveConsumerIndexOfThis[e],s=t.liveConsumerNode[e];F(s),s.producerIndexOfThis[i]=e}}function ft(t){var e;return t.consumerIsAlwaysLive||(((e=t?.liveConsumerNode)==null?void 0:e.length)??0)>0}function F(t){t.producerNode??(t.producerNode=[]),t.producerIndexOfThis??(t.producerIndexOfThis=[]),t.producerLastReadVersion??(t.producerLastReadVersion=[])}function yt(t){t.liveConsumerNode??(t.liveConsumerNode=[]),t.liveConsumerIndexOfThis??(t.liveConsumerIndexOfThis=[])}function un(t){if(cn(t),Ie(t),t.value===mt)throw t.error;return t.value}function hr(t){let e=Object.create(ur);e.computation=t;let n=()=>un(e);return n[Ne]=e,n}var pt=Symbol("UNSET"),gt=Symbol("COMPUTING"),mt=Symbol("ERRORED"),ur={...vt,value:pt,dirty:!0,error:null,equal:ln,producerMustRecompute(t){return t.value===pt||t.value===gt},producerRecomputeValue(t){if(t.value===gt)throw new Error("Detected cycle in computations.");let e=t.value;t.value=gt;let n=lr(t),r,i=!1;try{r=t.computation.call(t.wrapper),i=e!==pt&&e!==mt&&t.equal.call(t.wrapper,e,r)}catch(s){r=mt,t.error=s}finally{cr(t,n)}if(i){t.value=e;return}t.value=r,t.version++}};function pr(){throw new Error}var gr=pr;function fr(){gr()}function mr(t){let e=Object.create(wr);e.value=t;let n=()=>(Ie(e),e.value);return n[Ne]=e,n}function vr(){return Ie(this),this.value}function yr(t,e){or()||fr(),t.equal.call(t.wrapper,t.value,e)||(t.value=e,br(t))}var wr={...vt,equal:ln,value:void 0};function br(t){t.version++,sr(),dn(t)}var _=Symbol("node"),S;(t=>{var e,n,r,i,s,a;class g{constructor(v,d={}){Le(this,n),ht(this,e);let f=mr(v)[Ne];if(this[_]=f,f.wrapper=this,d){let C=d.equals;C&&(f.equal=C),f.watched=d[t.subtle.watched],f.unwatched=d[t.subtle.unwatched]}}get(){if(!(0,t.isState)(this))throw new TypeError("Wrong receiver type for Signal.State.prototype.get");return vr.call(this[_])}set(v){if(!(0,t.isState)(this))throw new TypeError("Wrong receiver type for Signal.State.prototype.set");if(ir())throw new Error("Writes to signals not permitted during Watcher callback");let d=this[_];yr(d,v)}}e=_,n=new WeakSet,r=function(){},t.isState=p=>typeof p=="object"&&ut(n,p),t.State=g;class u{constructor(v,d){Le(this,s),ht(this,i);let f=hr(v)[Ne];if(f.consumerAllowSignalWrites=!0,this[_]=f,f.wrapper=this,d){let C=d.equals;C&&(f.equal=C),f.watched=d[t.subtle.watched],f.unwatched=d[t.subtle.unwatched]}}get(){if(!(0,t.isComputed)(this))throw new TypeError("Wrong receiver type for Signal.Computed.prototype.get");return un(this[_])}}i=_,s=new WeakSet,a=function(){},t.isComputed=p=>typeof p=="object"&&ut(s,p),t.Computed=u,(p=>{var v,d,A,f,C;function _n(y){let m,h=null;try{h=q(null),m=y()}finally{q(h)}return m}p.untrack=_n;function $n(y){var m;if(!(0,t.isComputed)(y)&&!(0,t.isWatcher)(y))throw new TypeError("Called introspectSources without a Computed or Watcher argument");return((m=y[_].producerNode)==null?void 0:m.map(h=>h.wrapper))??[]}p.introspectSources=$n;function Sn(y){var m;if(!(0,t.isComputed)(y)&&!(0,t.isState)(y))throw new TypeError("Called introspectSinks without a Signal argument");return((m=y[_].liveConsumerNode)==null?void 0:m.map(h=>h.wrapper))??[]}p.introspectSinks=Sn;function Cn(y){if(!(0,t.isComputed)(y)&&!(0,t.isState)(y))throw new TypeError("Called hasSinks without a Signal argument");let m=y[_].liveConsumerNode;return m?m.length>0:!1}p.hasSinks=Cn;function kn(y){if(!(0,t.isComputed)(y)&&!(0,t.isWatcher)(y))throw new TypeError("Called hasSources without a Computed or Watcher argument");let m=y[_].producerNode;return m?m.length>0:!1}p.hasSources=kn;class En{constructor(m){Le(this,d),Le(this,f),ht(this,v);let h=Object.create(vt);h.wrapper=this,h.consumerMarkedDirty=m,h.consumerIsAlwaysLive=!0,h.consumerAllowSignalWrites=!1,h.producerNode=[],this[_]=h}watch(...m){if(!(0,t.isWatcher)(this))throw new TypeError("Called unwatch without Watcher receiver");an(this,f,C).call(this,m);let h=this[_];h.dirty=!1;let L=q(h);for(let me of m)Ie(me[_]);q(L)}unwatch(...m){if(!(0,t.isWatcher)(this))throw new TypeError("Called unwatch without Watcher receiver");an(this,f,C).call(this,m);let h=this[_];F(h);for(let L=h.producerNode.length-1;L>=0;L--)if(m.includes(h.producerNode[L].wrapper)){Me(h.producerNode[L],h.producerIndexOfThis[L]);let me=h.producerNode.length-1;if(h.producerNode[L]=h.producerNode[me],h.producerIndexOfThis[L]=h.producerIndexOfThis[me],h.producerNode.length--,h.producerIndexOfThis.length--,h.nextProducerIndex--,L<h.producerNode.length){let Ln=h.producerIndexOfThis[L],kt=h.producerNode[L];yt(kt),kt.liveConsumerIndexOfThis[Ln]=L}}}getPending(){if(!(0,t.isWatcher)(this))throw new TypeError("Called getPending without Watcher receiver");return this[_].producerNode.filter(h=>h.dirty).map(h=>h.wrapper)}}v=_,d=new WeakSet,A=function(){},f=new WeakSet,C=function(y){for(let m of y)if(!(0,t.isComputed)(m)&&!(0,t.isState)(m))throw new TypeError("Called watch/unwatch without a Computed or State argument")},t.isWatcher=y=>ut(d,y),p.Watcher=En;function An(){var y;return(y=rr())==null?void 0:y.wrapper}p.currentComputed=An,p.watched=Symbol("watched"),p.unwatched=Symbol("unwatched")})(t.subtle||(t.subtle={}))})(S||(S={}));var ki=Symbol("SignalWatcherBrand"),Ei=new FinalizationRegistry((({watcher:t,signal:e})=>{t.unwatch(e)}));var{I:Ii}=Ft;var pn=t=>t.strings===void 0;var ae=(t,e)=>{let n=t._$AN;if(n===void 0)return!1;for(let r of n)r._$AO?.(e,!1),ae(r,e);return!0},He=t=>{let e,n;do{if((e=t._$AM)===void 0)break;n=e._$AN,n.delete(t),t=e}while(n?.size===0)},gn=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),$r(e)}};function xr(t){this._$AN!==void 0?(He(this),this._$AM=t,gn(this)):this._$AM=t}function _r(t,e=!1,n=0){let r=this._$AH,i=this._$AN;if(i!==void 0&&i.size!==0)if(e)if(Array.isArray(r))for(let s=n;s<r.length;s++)ae(r[s],!1),He(r[s]);else r!=null&&(ae(r,!1),He(r));else ae(this,t)}var $r=t=>{t.type==Ee.CHILD&&(t._$AP??(t._$AP=_r),t._$AQ??(t._$AQ=xr))},Oe=class extends z{constructor(){super(...arguments),this._$AN=void 0}_$AT(e,n,r){super._$AT(e,n,r),gn(this),this.isConnected=e._$AU}_$AO(e,n=!0){e!==this.isConnected&&(this.isConnected=e,e?this.reconnected?.():this.disconnected?.()),n&&(ae(this,e),He(this))}setValue(e){if(pn(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 Ve=class extends Oe{_$Sl(){if(this._$Su!==void 0)return;this._$SW=new S.Computed((()=>{var n;return(n=this._$Sj)===null||n===void 0?void 0:n.get()}));let e=this._$Su=new S.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(S.subtle.untrack((()=>{var e;return(e=this._$SW)===null||e===void 0?void 0:e.get()})))}render(e){return S.subtle.untrack((()=>e.get()))}update(e,[n]){var r,i;return(r=this._$SO)!==null&&r!==void 0||(this._$SO=(i=e.options)===null||i===void 0?void 0:i.host),n!==this._$Sj&&this._$Sj!==void 0&&this._$Sp(),this._$Sj=n,this._$Sl(),S.subtle.untrack((()=>this._$SW.get()))}disconnected(){this._$Sp()}reconnected(){this._$Sl()}},wt=ie(Ve);var bt=t=>(e,...n)=>t(e,...n.map((r=>r instanceof S.State||r instanceof S.Computed?wt(r):r))),Sr=bt(o),Cr=bt(zt);var Xi=S.State,Qi=S.Computed,fn=(t,e)=>new S.State(t,e);function kr(){if(typeof window>"u")return"light";let t=window.localStorage?.getItem("ds-one:theme");return t==="light"||t==="dark"?t:window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}var O=fn(kr());function De(t){if(t!==O.get()&&(O.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=O.get(),e=window.document?.documentElement;e&&(e.classList.remove("light-theme","dark-theme"),e.classList.add(`${t}-theme`))}function j(t){if(!(typeof window>"u"))try{let e=window.localStorage?.getItem("ds-one:settings"),r={...e?JSON.parse(e):{},...t};window.localStorage?.setItem("ds-one:settings",JSON.stringify(r))}catch(e){console.warn("ds-one: unable to persist settings",e)}}var Er=t=>{localStorage.setItem("accentColor",t)},_t=()=>localStorage.getItem("accentColor")||"--blue",xt=()=>{let t=_t();document.documentElement.style.setProperty("--accent-color",`var(${t})`)},Ar=t=>{localStorage.setItem("notesStyleMedium",t)},mn=()=>localStorage.getItem("notesStyleMedium")||"note",vn=t=>{localStorage.setItem("pageStyle",t)},le=()=>localStorage.getItem("pageStyle")||"note",Pe=class extends l{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=ct();this.values=e,this.currentValue=$.value,this.label=this.getLabel()}else if(this.type==="theme"){this.values=["light","dark"];let e=O.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=_t();this.currentValue=e,xt(),this.label=this.getLabel()}else if(this.type==="notes-style-medium"){this.values=["default","big","gallery"];let e=mn();this.currentValue=e;let n=le();this.disabled=n==="note",this.label=this.getLabel()}else if(this.type==="page-style"){this.values=["note","page"];let e=le();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 r=window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light";localStorage.setItem("theme",r),document.documentElement.classList.add(`${r}-theme`)}}attributeChangedCallback(e,n,r){super.attributeChangedCallback(e,n,r),e==="type"&&n!==r&&this.initializeValues()}async setupInitialValue(){if(this.type==="language"){let e=$.value;this.currentValue=e,this.label=this.getLabel()}else if(this.type==="theme"){let e=O.get();this.currentValue=e,this.label=this.getLabel()}else if(this.type==="accent-color"){let e=_t();this.currentValue=e,xt(),this.label=this.getLabel()}else if(this.type==="notes-style-medium"){let e=mn();this.currentValue=e;let n=le();this.disabled=n==="note",this.label=this.getLabel()}else if(this.type==="page-style"){let e=le();this.currentValue=e,this.label=this.getLabel()}else if(this.type==="icon-only"){let e=le();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 r=(this.values.indexOf(this.currentValue)+1)%this.values.length,i=this.values[r];this.currentValue=i,document.startViewTransition?document.startViewTransition(()=>{dt(i)}):dt(i),j({language:i}),window.dispatchEvent(new CustomEvent("language-changed",{detail:{language:i}}))}else if(this.type==="theme"){let r=(this.values.indexOf(this.currentValue)+1)%this.values.length,i=this.values[r];this.currentValue=i,De(i),j({theme:i})}else if(this.type==="accent-color"){let r=(this.values.indexOf(this.currentValue)+1)%this.values.length,i=this.values[r];this.currentValue=i,Er(i),xt(),j({accentColor:i}),window.dispatchEvent(new CustomEvent("accent-color-changed",{detail:{color:i}}))}else if(this.type==="notes-style-medium"){let r=(this.values.indexOf(this.currentValue)+1)%this.values.length,i=this.values[r];this.currentValue=i,Ar(i),j({notesStyleMedium:i}),window.dispatchEvent(new CustomEvent("notes-style-medium-changed",{detail:{style:i}}))}else if(this.type==="page-style"){let r=(this.values.indexOf(this.currentValue)+1)%this.values.length,i=this.values[r];this.currentValue=i,vn(i),j({pageStyle:i}),window.dispatchEvent(new CustomEvent("page-style-changed",{detail:{behavior:i}}))}else if(this.type==="icon-only"){let r=(this.values.indexOf(this.currentValue)+1)%this.values.length,i=this.values[r];this.currentValue=i,vn(i),j({pageStyle:i}),this.label="",window.dispatchEvent(new CustomEvent("page-style-changed",{detail:{behavior:i}}))}this.label=this.getLabel(),this.requestUpdate()}}getValueDisplay(e){if(this.type==="language")return rn(e,{locale:$.value});if(this.type==="theme"){if(this.translationsReady){let n=E(`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=E(e==="note"?"note":"page");if(n&&n!==(e==="note"?"note":"page"))return n}return e}else if(this.type==="icon-only")return e==="note"?o`<ds-icon type="note"></ds-icon>`:e==="page"?o`<ds-icon type="page"></ds-icon>`:o`<span>${e}</span>`}return e}getColorName(e){let r={"--red":"red","--orange":"orange","--yellow":"yellow","--light-green":"lightGreen","--green":"green","--light-blue":"lightBlue","--blue":"blue","--pink":"pink"}[e];if(r&&this.translationsReady){let i=E(r);if(i&&i!==r)return i}return e.replace("--","").replace("-"," ")}getNotesStyleIcon(e){return e==="page"?o`<ds-icon type="page"></ds-icon>`:e==="note"?o`<ds-icon type="note"></ds-icon>`:e==="default"?o`<ds-icon type="default"></ds-icon>`:e==="big"?o`<ds-icon type="big"></ds-icon>`:e==="gallery"?o`<ds-icon type="gallery"></ds-icon>`:o`<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 o`
|
|
285
285
|
<div class="cycle-container">
|
|
286
286
|
${this.type!=="icon-only"?o`<span class="cycle-label">${this.label}</span>`:""}
|
|
287
287
|
<div
|
|
@@ -316,7 +316,7 @@ function Qe(){if(typeof navigator>"u"||typeof window>"u")return!1;let t=navigato
|
|
|
316
316
|
.cycle-label {
|
|
317
317
|
color: var(--text-color-primary);
|
|
318
318
|
}
|
|
319
|
-
`;customElements.define("cycle
|
|
319
|
+
`;customElements.define("ds-cycle",Pe);var ce=class extends l{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 sn(this.key);if(e){this._text=e,this.requestUpdate();return}let n=E(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 o`
|
|
320
320
|
<span class="slot-wrapper"><slot></slot></span>
|
|
321
321
|
${this._text?o`<div class="${e}">${this._text}</div>`:null}
|
|
322
322
|
`}};ce.properties={key:{type:String,reflect:!0},defaultValue:{type:String,reflect:!0,attribute:"default-value"},_text:{state:!0},_visible:{state:!0}};ce.styles=c`
|
|
@@ -364,7 +364,7 @@ function Qe(){if(typeof navigator>"u"||typeof window>"u")return!1;let t=navigato
|
|
|
364
364
|
.bubble.visible {
|
|
365
365
|
opacity: 1;
|
|
366
366
|
}
|
|
367
|
-
`;customElements.define("tooltip
|
|
367
|
+
`;customElements.define("ds-tooltip",ce);var yn={en:"$42",de:"42 \u20AC",fr:"42 \u20AC",es:"42 \u20AC"};function wn({language:t,country:e}){let n=t.toLowerCase(),r=yn[n]??yn.en;return e?`${r} (${e.toUpperCase()})`:r}var Ue=class extends l{static get properties(){return{country:{type:String,reflect:!0},region:{type:String,reflect:!0},_label:{type:String,state:!0},_loading:{type:Boolean,state:!0}}}constructor(){super(),this.country="",this.region="",this._label="",this._loading=!0,this.boundHandlers={languageChanged:(()=>{this._loadPrice()})}}connectedCallback(){super.connectedCallback(),this._loadPrice(),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("country")||e.has("region"))&&this._loadPrice()}_loadPrice(){this._loading=!0;let e=$.value,n=this.region||this.country,r=wn({language:e,country:n});this._label=r,this._loading=!1,this.requestUpdate()}render(){return o`<span class="${this._loading?"loading":""}"
|
|
368
368
|
>${this._label}</span
|
|
369
369
|
>`}};Ue.styles=c`
|
|
370
370
|
:host {
|
|
@@ -373,7 +373,7 @@ function Qe(){if(typeof navigator>"u"||typeof window>"u")return!1;let t=navigato
|
|
|
373
373
|
.loading {
|
|
374
374
|
opacity: 0.6;
|
|
375
375
|
}
|
|
376
|
-
`;customElements.define("price
|
|
376
|
+
`;customElements.define("ds-price",Ue);var Re;customElements.define("ds-markdown",(Re=class extends l{constructor(){super(...arguments),this.content="",this.title="",this.language="",this.guideId=""}render(){return this.content?o`
|
|
377
377
|
<div class="markdown-container">
|
|
378
378
|
${this.title?o`
|
|
379
379
|
<div class="markdown-header">
|
|
@@ -646,14 +646,14 @@ function Qe(){if(typeof navigator>"u"||typeof window>"u")return!1;let t=navigato
|
|
|
646
646
|
.label {
|
|
647
647
|
font-size: var(--type-size-default);
|
|
648
648
|
}
|
|
649
|
-
`;customElements.define("home
|
|
649
|
+
`;customElements.define("ds-home",de);var je=class extends l{render(){let e=new Date().getFullYear();return o`<span>${e}</span>`}};je.styles=c`
|
|
650
650
|
:host {
|
|
651
651
|
display: inline;
|
|
652
652
|
font-family: var(--typeface, var(--typeface-regular));
|
|
653
653
|
font-size: inherit;
|
|
654
654
|
color: inherit;
|
|
655
655
|
}
|
|
656
|
-
`;customElements.define("year
|
|
656
|
+
`;customElements.define("ds-year",je);var We=class extends l{static get properties(){return{gridarea:{type:String,reflect:!0},key:{type:String,reflect:!0},defaultValue:{type:String,reflect:!0,attribute:"default-value"},_text:{type:String,state:!0}}}set gridarea(e){let n=this._gridArea;this._gridArea=e,this.style.gridArea=e,this.requestUpdate("gridarea",n)}get gridarea(){return this._gridArea}constructor(){super(),this._gridArea="",this.key="",this.defaultValue="",this._text="",this.boundHandlers={languageChanged:(()=>{this._loadText()})}}connectedCallback(){super.connectedCallback(),this._loadText(),window.addEventListener("language-changed",this.boundHandlers.languageChanged)}disconnectedCallback(){super.disconnectedCallback(),window.removeEventListener("language-changed",this.boundHandlers.languageChanged)}updated(e){(e.has("key")||e.has("defaultValue"))&&this._loadText()}_loadText(){if(!this.key){this._text=this.defaultValue||"";return}try{let e=x(this.key);this._text=e||this.defaultValue||this.key}catch(e){console.error(`[ds-title] Error loading text for key "${this.key}":`,e),this._text=this.defaultValue||this.key}}firstUpdated(){this.hasAttribute("gridarea")&&(this.style.gridArea=this.getAttribute("gridarea")||"")}render(){let e=this.key&&this._text;return o` <h1>${e?this._text:o`<slot></slot>`}</h1> `}};We.styles=c`
|
|
657
657
|
:host {
|
|
658
658
|
display: flex;
|
|
659
659
|
padding: calc(2px * var(--scaling-factor));
|
|
@@ -677,7 +677,7 @@ function Qe(){if(typeof navigator>"u"||typeof window>"u")return!1;let t=navigato
|
|
|
677
677
|
margin: 0;
|
|
678
678
|
width: 100%;
|
|
679
679
|
}
|
|
680
|
-
`;customElements.define("title
|
|
680
|
+
`;customElements.define("ds-title",We);var ze=class extends l{static get properties(){return{gridarea:{type:String,reflect:!0}}}set gridarea(e){let n=this._gridArea;this._gridArea=e,this.style.gridArea=e,this.requestUpdate("gridarea",n)}get gridarea(){return this._gridArea}constructor(){super(),this._gridArea=""}firstUpdated(){this.hasAttribute("gridarea")&&(this.style.gridArea=this.getAttribute("gridarea")||"")}render(){return o`
|
|
681
681
|
<h2
|
|
682
682
|
style="display: flex; flex-wrap: nowrap; justify-content: space-between; align-items: center; width: 100%;"
|
|
683
683
|
>
|
|
@@ -706,7 +706,7 @@ function Qe(){if(typeof navigator>"u"||typeof window>"u")return!1;let t=navigato
|
|
|
706
706
|
::slotted(*) {
|
|
707
707
|
margin: 0;
|
|
708
708
|
}
|
|
709
|
-
`;customElements.define("header
|
|
709
|
+
`;customElements.define("ds-header",ze);var Be=class extends l{static get properties(){return{year:{type:String,reflect:!0},category:{type:String,reflect:!0},status:{type:String,reflect:!0},type:{type:String,reflect:!0}}}constructor(){super(),this.year="",this.category="",this.status="",this.type="project",this.boundHandlers={languageChanged:(()=>{this.requestUpdate()})}}connectedCallback(){super.connectedCallback(),window.addEventListener("language-changed",this.boundHandlers.languageChanged)}disconnectedCallback(){super.disconnectedCallback(),window.removeEventListener("language-changed",this.boundHandlers.languageChanged)}_getStatusClass(e){return e.includes("Done")?"done":e.includes("Ongoing")?"ongoing":e.includes("Pending")?"pending":e.includes("NotStarted")?"not-started":"pending"}render(){return o`
|
|
710
710
|
${this.year?o`
|
|
711
711
|
<div class="attribute-row">${x(this.year)||this.year}</div>
|
|
712
712
|
`:""}
|
|
@@ -769,7 +769,7 @@ function Qe(){if(typeof navigator>"u"||typeof window>"u")return!1;let t=navigato
|
|
|
769
769
|
.status-indicator.not-started {
|
|
770
770
|
background-color: #b1b4b9;
|
|
771
771
|
}
|
|
772
|
-
`;customElements.define("attributes
|
|
772
|
+
`;customElements.define("ds-attributes",Be);var he=class extends l{constructor(){super(),this._handleLanguageChange=()=>{this._resolveUrl()},this.urlEn="",this.urlDa="",this.urlJa="",this.filename="cv",this._activeUrl=""}connectedCallback(){super.connectedCallback(),this._resolveUrl(),window.addEventListener("language-changed",this._handleLanguageChange)}disconnectedCallback(){super.disconnectedCallback(),window.removeEventListener("language-changed",this._handleLanguageChange)}updated(e){(e.has("urlEn")||e.has("urlDa")||e.has("urlJa"))&&this._resolveUrl()}_resolveUrl(){let n=(($.value||"en-US").split("-")[0]||"en").toLowerCase(),r="";n==="da"?r=this.urlDa||this.urlEn||this.urlJa:n==="ja"?r=this.urlJa||this.urlEn||this.urlDa:r=this.urlEn||this.urlDa||this.urlJa,this._activeUrl=r||""}async _download(){if(!this._activeUrl){console.warn("[ds-downloadcv] No URL available");return}console.log("[ds-downloadcv] Attempting download from:",this._activeUrl);try{let e=await fetch(this._activeUrl,{mode:"cors"});if(console.log("[ds-downloadcv] Fetch response:",e.status,e.statusText),!e.ok)throw new Error(`HTTP ${e.status}`);let n=await e.blob(),r=($.value||"en-US").split("-")[0].toLowerCase(),i=this._inferExtFromUrl(this._activeUrl)||"pdf",s=`${this.filename||"cv"}-${r}.${i}`,a=URL.createObjectURL(n),g=document.createElement("a");g.href=a,g.download=s,document.body.appendChild(g),g.click(),g.remove(),URL.revokeObjectURL(a),console.log("[ds-downloadcv] Download triggered successfully")}catch(e){console.error("[ds-downloadcv] Fetch failed, using fallback:",e),window.open(this._activeUrl,"_blank","noopener,noreferrer")}}_inferExtFromUrl(e){let n=e.indexOf("?"),r=n>=0?e.slice(0,n):e,i=r.lastIndexOf(".");if(i===-1)return null;let s=r.slice(i+1).toLowerCase();return s.length>5?null:s}render(){let e=!this._activeUrl;return o`
|
|
773
773
|
<ds-button
|
|
774
774
|
variant="primary"
|
|
775
775
|
.disabled=${e}
|
|
@@ -780,7 +780,7 @@ function Qe(){if(typeof navigator>"u"||typeof window>"u")return!1;let t=navigato
|
|
|
780
780
|
:host {
|
|
781
781
|
display: inline-flex;
|
|
782
782
|
}
|
|
783
|
-
`;customElements.define("downloadcv
|
|
783
|
+
`;customElements.define("ds-downloadcv",he);var bn="ds-view-mode",$t="text";function K(){if(typeof window>"u")return $t;try{let t=localStorage.getItem(bn);return t==="image"||t==="text"?t:$t}catch{return $t}}function St(t){if(!(typeof window>"u"))try{localStorage.setItem(bn,t),window.dispatchEvent(new CustomEvent("view-mode-changed",{detail:t}))}catch(e){console.warn("Failed to save view mode:",e)}}function Rs(){let e=K()==="text"?"image":"text";return St(e),e}var qe=class extends l{static get properties(){return{imgLightDesktop:{type:String,reflect:!0,attribute:"img-light-desktop"},imgDarkDesktop:{type:String,reflect:!0,attribute:"img-dark-desktop"},imgLightMobile:{type:String,reflect:!0,attribute:"img-light-mobile"},imgDarkMobile:{type:String,reflect:!0,attribute:"img-dark-mobile"},src:{type:String,reflect:!0},alt:{type:String,reflect:!0},imageToggle:{type:Boolean,reflect:!0,attribute:"image-toggle"},imageOnlyWidth:{type:Number,reflect:!0,attribute:"image-only-width"},priority:{type:Boolean,reflect:!0},externalToggle:{type:Boolean,reflect:!0,attribute:"external-toggle"},mobileKey:{type:String,reflect:!0,attribute:"mobile-key"},desktopKey:{type:String,reflect:!0,attribute:"desktop-key"},textKey:{type:String,reflect:!0,attribute:"text-key"},defaultValue:{type:String,reflect:!0,attribute:"default-value"},_text:{type:String,state:!0},_currentImage:{type:String,state:!0},_imageVisible:{type:Boolean,state:!0},_shouldAnimate:{type:Boolean,state:!0}}}constructor(){super(),this._toggleImage=()=>{this._shouldAnimate=!0,this._imageVisible=!this._imageVisible,this.requestUpdate()},this._handleImageLoad=e=>{e.target.classList.add("loaded")},this.imgLightDesktop="",this.imgDarkDesktop="",this.imgLightMobile="",this.imgDarkMobile="",this.src="",this.alt="",this.imageToggle=!1,this.imageOnlyWidth=480,this.priority=!1,this.externalToggle=!1,this.mobileKey="",this.desktopKey="",this.textKey="",this.defaultValue="",this._text="",this._currentImage="",this._imageVisible=!0,this._shouldAnimate=!1,this._mql=null,this.boundHandlers={languageChanged:(()=>{this._loadText()}),themeChanged:(()=>{this._resolveImage()}),viewportChanged:e=>{this._resolveImage(),this._loadText()},viewModeChanged:(e=>{if(this.imageToggle&&this.externalToggle){let r=e.detail==="image";this._imageVisible!==r&&(this._shouldAnimate=!0,this._imageVisible=r,this.requestUpdate())}})}}updated(e){if(e.has("imageOnlyWidth")){let n=Number(this.imageOnlyWidth)||480;this.style.setProperty("--image-only-width",`${n}px`)}if((e.has("imgLightDesktop")||e.has("imgDarkDesktop")||e.has("imgLightMobile")||e.has("imgDarkMobile")||e.has("src"))&&this._resolveImage(),(e.has("textKey")||e.has("defaultValue")||e.has("mobileKey")||e.has("desktopKey"))&&this._loadText(),e.has("imageToggle")&&!(this.imageToggle&&this.externalToggle)){let r=!this.imageToggle;this._imageVisible!==r&&(this._shouldAnimate=!0,this._imageVisible=r)}}connectedCallback(){if(super.connectedCallback(),this._loadText(),this._resolveImage(),this.imageToggle&&this.externalToggle){let e=K();this._imageVisible=e==="image"}else this._imageVisible=!this.imageToggle;this.style.setProperty("--image-only-width",`${this.imageOnlyWidth}px`);try{this._mql=window.matchMedia("(max-width: 720px)"),this._mql&&this.boundHandlers.viewportChanged&&this._mql.addEventListener("change",this.boundHandlers.viewportChanged)}catch{}window.addEventListener("language-changed",this.boundHandlers.languageChanged),window.addEventListener("theme-changed",this.boundHandlers.themeChanged),this.imageToggle&&this.externalToggle?(window.addEventListener("view-mode-changed",this.boundHandlers.viewModeChanged),setTimeout(()=>{let n=K()==="image";this._imageVisible!==n&&(this._shouldAnimate=!0,this._imageVisible=n,this.requestUpdate())},100)):this.imageToggle&&window.addEventListener("article-toggle",this._toggleImage)}disconnectedCallback(){if(super.disconnectedCallback(),window.removeEventListener("language-changed",this.boundHandlers.languageChanged),window.removeEventListener("theme-changed",this.boundHandlers.themeChanged),window.removeEventListener("article-toggle",this._toggleImage),window.removeEventListener("view-mode-changed",this.boundHandlers.viewModeChanged),this._mql&&this.boundHandlers.viewportChanged)try{this._mql.removeEventListener("change",this.boundHandlers.viewportChanged)}catch{}}_loadText(){let e=(()=>{try{return window.matchMedia&&window.matchMedia("(max-width: 720px)").matches}catch{return!1}})(),n=(()=>{let r=(this.mobileKey||"").trim(),i=(this.desktopKey||"").trim(),s=(this.textKey||"").trim();return r||i?e?r||s:i||s:s})();if(!n){this._text=this.defaultValue||"";return}try{let r=x(n);this._text=r||this.defaultValue||n}catch(r){console.error(`[ds-article] Error loading text for key "${n}":`,r),this._text=this.defaultValue||n}}_resolveImage(){if(this.src&&typeof this.src=="string"){let i=this.src.startsWith("@")?this.src.slice(1):this.src;this._currentImage=i;return}let e=document.documentElement.getAttribute("data-theme")||"light",n=(()=>{try{return window.matchMedia&&window.matchMedia("(max-width: 720px)").matches}catch{return!1}})(),r="";n?e==="dark"?r=this.imgDarkMobile||this.imgLightMobile:r=this.imgLightMobile||this.imgDarkMobile:e==="dark"?r=this.imgDarkDesktop||this.imgLightDesktop:r=this.imgLightDesktop||this.imgDarkDesktop,typeof r=="string"&&r.startsWith("@")&&(r=r.slice(1)),this._currentImage=r||""}render(){let e=(this.imageToggle?this._imageVisible:!0)&&!!this._currentImage,n=this._shouldAnimate?"fade-in":"";this._shouldAnimate&&(this._shouldAnimate=!1);let r=this._imageVisible?x("hideImage"):x("viewImage");return o`
|
|
784
784
|
<div class="container">
|
|
785
785
|
${this.imageToggle&&!this.externalToggle?o`<button @click="${this._toggleImage}" class="toggle-button">
|
|
786
786
|
${r}
|
|
@@ -863,9 +863,9 @@ function Qe(){if(typeof navigator>"u"||typeof window>"u")return!1;let t=navigato
|
|
|
863
863
|
.toggle-button:hover {
|
|
864
864
|
opacity: 0.7;
|
|
865
865
|
}
|
|
866
|
-
`;customElements.define("article
|
|
866
|
+
`;customElements.define("ds-article",qe);var Fe=class extends l{constructor(){super(),this._toggle=()=>{let e=this._mode==="image"?"text":"image";St(e)},this._mode=K(),this.boundHandlers={viewModeChanged:(e=>{let n=e.detail==="image"?"image":"text";this._mode!==n&&(this._mode=n)}),languageChanged:(()=>{this.requestUpdate()})}}connectedCallback(){super.connectedCallback(),window.addEventListener("view-mode-changed",this.boundHandlers.viewModeChanged),window.addEventListener("language-changed",this.boundHandlers.languageChanged)}disconnectedCallback(){super.disconnectedCallback(),window.removeEventListener("view-mode-changed",this.boundHandlers.viewModeChanged),window.removeEventListener("language-changed",this.boundHandlers.languageChanged)}render(){let e=this._mode==="image"?x("hideImage"):x("viewImage");return o`
|
|
867
867
|
<ds-button variant="primary" @click=${this._toggle}>${e}</ds-button>
|
|
868
|
-
`}};Fe.properties={_mode:{type:String,state:!0}};customElements.define("viewtoggle
|
|
868
|
+
`}};Fe.properties={_mode:{type:String,state:!0}};customElements.define("ds-viewtoggle",Fe);var Ke=class extends l{static get properties(){return{type:{type:String,reflect:!0},shape:{type:String,reflect:!0},href:{type:String},project:{type:String,reflect:!0},loading:{type:Boolean,reflect:!0}}}constructor(){super(),this.type="theme-toggle",this.shape="circle",this.href="",this.project="",this.loading=!1}_handleClick(e){if(this.type==="theme-toggle"){e.preventDefault();let n=O.get()==="light"?"dark":"light";De(n)}}connectedCallback(){super.connectedCallback(),this.addEventListener("click",e=>{this._handleClick(e)})}render(){let e=o`<div
|
|
869
869
|
class="container"
|
|
870
870
|
@click="${n=>{this._handleClick(n)}}"
|
|
871
871
|
></div>`;return this.type==="link"&&this.href?o`
|
|
@@ -941,14 +941,14 @@ function Qe(){if(typeof navigator>"u"||typeof window>"u")return!1;let t=navigato
|
|
|
941
941
|
opacity: 1;
|
|
942
942
|
}
|
|
943
943
|
}
|
|
944
|
-
`;customElements.define("squarecircle
|
|
944
|
+
`;customElements.define("ds-squarecircle",Ke);var Ge=class extends l{render(){return o`<slot></slot>`}};Ge.styles=c`
|
|
945
945
|
:host {
|
|
946
946
|
display: flex;
|
|
947
947
|
flex-direction: column;
|
|
948
948
|
gap: 0;
|
|
949
949
|
width: 100%;
|
|
950
950
|
}
|
|
951
|
-
`;customElements.define("list
|
|
951
|
+
`;customElements.define("ds-list",Ge);var Ze=class extends l{render(){return o`<slot></slot>`}};Ze.styles=c`
|
|
952
952
|
:host {
|
|
953
953
|
display: flex;
|
|
954
954
|
flex-direction: row;
|
|
@@ -956,7 +956,7 @@ function Qe(){if(typeof navigator>"u"||typeof window>"u")return!1;let t=navigato
|
|
|
956
956
|
align-items: end;
|
|
957
957
|
gap: var(--025);
|
|
958
958
|
}
|
|
959
|
-
`;customElements.define("panel
|
|
959
|
+
`;customElements.define("ds-panel",Ze);var ue=class extends l{constructor(){super(),this.type="fill"}render(){return o`<slot></slot>`}};ue.properties={type:{type:String,reflect:!0}};ue.styles=c`
|
|
960
960
|
:host {
|
|
961
961
|
display: flex;
|
|
962
962
|
align-items: end;
|
|
@@ -973,10 +973,10 @@ function Qe(){if(typeof navigator>"u"||typeof window>"u")return!1;let t=navigato
|
|
|
973
973
|
height: calc(var(--1) * var(--scaling-factor));
|
|
974
974
|
gap: calc(var(--025) * var(--scaling-factor));
|
|
975
975
|
}
|
|
976
|
-
`;customElements.define("row
|
|
976
|
+
`;customElements.define("ds-row",ue);var Je=class extends l{static get properties(){return{type:{type:String,reflect:!0},to:{type:String,reflect:!0}}}constructor(){super(),this.type="work"}render(){let e=this.getNavConfig(),n=this.to||e.href;return o`
|
|
977
977
|
<a href="${n}">
|
|
978
978
|
<ds-text key="${e.key}"></ds-text>
|
|
979
|
-
<icon
|
|
979
|
+
<ds-icon type="right"></ds-icon>
|
|
980
980
|
</a>
|
|
981
981
|
`}getNavConfig(){switch(this.type){case"projects":return{href:"/projects",key:"projects"};case"work":return{href:"/",key:"workExperience"}}}};Je.styles=c`
|
|
982
982
|
:host {
|
|
@@ -994,17 +994,17 @@ function Qe(){if(typeof navigator>"u"||typeof window>"u")return!1;let t=navigato
|
|
|
994
994
|
text-decoration: none;
|
|
995
995
|
color: inherit;
|
|
996
996
|
}
|
|
997
|
-
`;customElements.define("singlenav
|
|
997
|
+
`;customElements.define("ds-singlenav",Je);var Ye=class extends l{static get properties(){return{previous:{type:String,reflect:!0},next:{type:String,reflect:!0},previousText:{type:String,reflect:!0,attribute:"previous-text"},nextText:{type:String,reflect:!0,attribute:"next-text"},overlay:{type:String,reflect:!0}}}constructor(){super(),this.previous="",this.next="",this.previousText="",this.nextText="",this.overlay=""}render(){return o`
|
|
998
998
|
${this.previous?o`
|
|
999
999
|
<a href="${this.previous}" class="nav-previous">
|
|
1000
|
-
<icon
|
|
1000
|
+
<ds-icon type="left"></ds-icon>
|
|
1001
1001
|
<ds-text>${this.previousText||"Previous"}</ds-text>
|
|
1002
1002
|
</a>
|
|
1003
1003
|
`:o`<div></div>`}
|
|
1004
1004
|
${this.next?o`
|
|
1005
1005
|
<a href="${this.next}" class="nav-next">
|
|
1006
1006
|
<ds-text>${this.nextText||"Next"}</ds-text>
|
|
1007
|
-
<icon
|
|
1007
|
+
<ds-icon type="right"></ds-icon>
|
|
1008
1008
|
</a>
|
|
1009
1009
|
`:o`<div></div>`}
|
|
1010
1010
|
`}};Ye.styles=c`
|
|
@@ -1032,18 +1032,18 @@ function Qe(){if(typeof navigator>"u"||typeof window>"u")return!1;let t=navigato
|
|
|
1032
1032
|
justify-self: end;
|
|
1033
1033
|
}
|
|
1034
1034
|
|
|
1035
|
-
.nav-previous icon
|
|
1035
|
+
.nav-previous ds-icon {
|
|
1036
1036
|
order: -1;
|
|
1037
1037
|
}
|
|
1038
1038
|
|
|
1039
|
-
.nav-next icon
|
|
1039
|
+
.nav-next ds-icon {
|
|
1040
1040
|
padding-top: 3px;
|
|
1041
1041
|
}
|
|
1042
1042
|
|
|
1043
|
-
.nav-previous icon
|
|
1043
|
+
.nav-previous ds-icon {
|
|
1044
1044
|
padding-top: 3px;
|
|
1045
1045
|
}
|
|
1046
|
-
`;customElements.define("doublenav
|
|
1046
|
+
`;customElements.define("ds-doublenav",Ye);var pe=class extends l{constructor(){super(),this.data=[],this.columns=["Product","Users","Retention"],this.showStatus=!0}render(){return o`
|
|
1047
1047
|
<div class="table-container">
|
|
1048
1048
|
<div class="table-header">
|
|
1049
1049
|
|