ds-one 0.2.5-alpha.9 → 0.3.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.
Files changed (184) hide show
  1. package/DS1/0-face/device.ts +313 -29
  2. package/DS1/1-root/fonts/Iosevka-Regular.woff2 +0 -0
  3. package/DS1/1-root/one.css +124 -77
  4. package/DS1/2-core/ds-banner.ts +120 -1
  5. package/DS1/2-core/ds-button.ts +16 -93
  6. package/DS1/2-core/ds-card.ts +137 -0
  7. package/DS1/2-core/ds-cycle.ts +77 -179
  8. package/DS1/2-core/ds-date.ts +3 -10
  9. package/DS1/2-core/ds-gap.ts +38 -0
  10. package/DS1/2-core/ds-icon.ts +6 -35
  11. package/DS1/2-core/ds-input.ts +306 -1
  12. package/DS1/2-core/ds-pagedots.ts +52 -0
  13. package/DS1/2-core/ds-text.ts +55 -28
  14. package/DS1/2-core/ds-tooltip.ts +12 -58
  15. package/DS1/2-core/styles/ds-banner.css +77 -0
  16. package/DS1/2-core/styles/ds-button.css +67 -0
  17. package/DS1/2-core/styles/ds-cycle.css +21 -0
  18. package/DS1/2-core/styles/ds-date.css +9 -0
  19. package/DS1/2-core/styles/ds-gap.css +93 -0
  20. package/DS1/2-core/styles/ds-icon.css +30 -0
  21. package/DS1/2-core/styles/ds-input.css +46 -0
  22. package/DS1/2-core/styles/ds-pagedots.css +31 -0
  23. package/DS1/2-core/styles/ds-text.css +29 -0
  24. package/DS1/2-core/styles/ds-tooltip.css +49 -0
  25. package/DS1/3-unit/ds-accordion.ts +95 -0
  26. package/DS1/3-unit/ds-form.ts +304 -0
  27. package/DS1/3-unit/ds-list.ts +5 -14
  28. package/DS1/3-unit/ds-row.ts +3 -19
  29. package/DS1/3-unit/ds-table.ts +3 -86
  30. package/DS1/3-unit/styles/ds-accordion.css +46 -0
  31. package/DS1/3-unit/styles/ds-list.css +9 -0
  32. package/DS1/3-unit/styles/ds-row.css +19 -0
  33. package/DS1/3-unit/styles/ds-table.css +80 -0
  34. package/DS1/4-page/ds-container.ts +28 -0
  35. package/DS1/4-page/ds-grid.ts +37 -50
  36. package/DS1/4-page/ds-layout.ts +652 -163
  37. package/DS1/4-page/styles/ds-container.css +35 -0
  38. package/DS1/4-page/styles/ds-grid.css +56 -0
  39. package/DS1/4-page/styles/ds-layout.css +246 -0
  40. package/DS1/index.ts +8 -1
  41. package/DS1/vite-env.d.ts +13 -0
  42. package/DS1/x-icon/2x.svg +4 -0
  43. package/DS1/x-icon/2xdots.svg +18 -0
  44. package/DS1/x-icon/2xgrid.svg +6 -0
  45. package/DS1/x-icon/2xlines.svg +6 -0
  46. package/DS1/x-icon/4x4.svg +18 -0
  47. package/DS1/x-icon/apple.svg +4 -0
  48. package/DS1/x-icon/avatar.svg +4 -0
  49. package/DS1/x-icon/big.svg +4 -0
  50. package/DS1/x-icon/blank.svg +3 -0
  51. package/DS1/x-icon/check.svg +3 -0
  52. package/DS1/x-icon/close.svg +3 -0
  53. package/DS1/x-icon/collapse.svg +3 -0
  54. package/DS1/x-icon/color.svg +4 -0
  55. package/DS1/x-icon/column.svg +5 -0
  56. package/DS1/x-icon/default.svg +3 -0
  57. package/DS1/x-icon/delete.svg +5 -0
  58. package/DS1/x-icon/dictate.svg +6 -0
  59. package/DS1/x-icon/do.svg +3 -0
  60. package/DS1/x-icon/down.svg +3 -0
  61. package/DS1/x-icon/duplicate.svg +4 -0
  62. package/DS1/x-icon/gallery.svg +5 -0
  63. package/DS1/x-icon/google.svg +6 -0
  64. package/DS1/x-icon/head.svg +5 -0
  65. package/DS1/x-icon/home.svg +3 -0
  66. package/DS1/x-icon/icon.svg +4 -0
  67. package/DS1/x-icon/in.svg +4 -0
  68. package/DS1/x-icon/lock.svg +5 -0
  69. package/DS1/x-icon/loop.svg +5 -0
  70. package/DS1/x-icon/mic.svg +5 -0
  71. package/DS1/x-icon/minimize.svg +3 -0
  72. package/DS1/x-icon/more.svg +5 -0
  73. package/DS1/x-icon/neutral.svg +6 -0
  74. package/DS1/x-icon/note.svg +6 -0
  75. package/DS1/x-icon/page.svg +4 -0
  76. package/DS1/x-icon/plus.svg +3 -0
  77. package/DS1/x-icon/rewind.svg +4 -0
  78. package/DS1/x-icon/row.svg +5 -0
  79. package/DS1/x-icon/sdown.svg +3 -0
  80. package/DS1/x-icon/search.svg +4 -0
  81. package/DS1/x-icon/see.svg +4 -0
  82. package/DS1/x-icon/ship.svg +5 -0
  83. package/DS1/x-icon/star.svg +3 -0
  84. package/DS1/x-icon/status.svg +4 -0
  85. package/DS1/x-icon/sup.svg +3 -0
  86. package/DS1/x-icon/title.svg +3 -0
  87. package/DS1/x-icon/undo.svg +3 -0
  88. package/DS1/x-icon/ungroup.svg +4 -0
  89. package/DS1/x-icon/unhead.svg +3 -0
  90. package/DS1/x-icon/unicon.svg +3 -0
  91. package/DS1/x-icon/unlock.svg +5 -0
  92. package/DS1/x-icon/unmic.svg +6 -0
  93. package/DS1/x-icon/unsee.svg +5 -0
  94. package/DS1/x-icon/unstar.svg +3 -0
  95. package/DS1/x-icon/untitle.svg +3 -0
  96. package/DS1/x-icon/up.svg +3 -0
  97. package/LICENSE +1 -1
  98. package/README.md +4 -4
  99. package/dist/0-face/device.d.ts +52 -1
  100. package/dist/0-face/device.d.ts.map +1 -1
  101. package/dist/0-face/device.js +239 -21
  102. package/dist/2-core/ds-banner.d.ts +67 -0
  103. package/dist/2-core/ds-banner.d.ts.map +1 -1
  104. package/dist/2-core/ds-banner.js +97 -1
  105. package/dist/2-core/ds-button.d.ts +4 -15
  106. package/dist/2-core/ds-button.d.ts.map +1 -1
  107. package/dist/2-core/ds-button.js +14 -86
  108. package/dist/2-core/ds-card.d.ts +39 -0
  109. package/dist/2-core/ds-card.d.ts.map +1 -0
  110. package/dist/2-core/ds-card.js +119 -0
  111. package/dist/2-core/ds-cycle.d.ts +1 -5
  112. package/dist/2-core/ds-cycle.d.ts.map +1 -1
  113. package/dist/2-core/ds-cycle.js +74 -163
  114. package/dist/2-core/ds-date.d.ts.map +1 -1
  115. package/dist/2-core/ds-date.js +3 -9
  116. package/dist/2-core/ds-gap.d.ts +28 -0
  117. package/dist/2-core/ds-gap.d.ts.map +1 -0
  118. package/dist/2-core/ds-gap.js +25 -0
  119. package/dist/2-core/ds-icon.d.ts.map +1 -1
  120. package/dist/2-core/ds-icon.js +6 -35
  121. package/dist/2-core/ds-input.d.ts +127 -0
  122. package/dist/2-core/ds-input.d.ts.map +1 -1
  123. package/dist/2-core/ds-input.js +252 -1
  124. package/dist/2-core/ds-pagedots.d.ts +32 -0
  125. package/dist/2-core/ds-pagedots.d.ts.map +1 -0
  126. package/dist/2-core/ds-pagedots.js +36 -0
  127. package/dist/2-core/ds-text.d.ts +5 -3
  128. package/dist/2-core/ds-text.d.ts.map +1 -1
  129. package/dist/2-core/ds-text.js +49 -27
  130. package/dist/2-core/ds-tooltip.d.ts +2 -2
  131. package/dist/2-core/ds-tooltip.d.ts.map +1 -1
  132. package/dist/2-core/ds-tooltip.js +11 -57
  133. package/dist/3-unit/ds-accordion.d.ts +47 -0
  134. package/dist/3-unit/ds-accordion.d.ts.map +1 -0
  135. package/dist/3-unit/ds-accordion.js +75 -0
  136. package/dist/3-unit/ds-form.d.ts +70 -0
  137. package/dist/3-unit/ds-form.d.ts.map +1 -0
  138. package/dist/3-unit/ds-form.js +232 -0
  139. package/dist/3-unit/ds-list.d.ts.map +1 -1
  140. package/dist/3-unit/ds-list.js +5 -11
  141. package/dist/3-unit/ds-row.d.ts.map +1 -1
  142. package/dist/3-unit/ds-row.js +3 -19
  143. package/dist/3-unit/ds-table.d.ts.map +1 -1
  144. package/dist/3-unit/ds-table.js +3 -86
  145. package/dist/{3-unit/row-v1.d.ts → 4-page/ds-container.d.ts} +3 -11
  146. package/dist/4-page/ds-container.d.ts.map +1 -0
  147. package/dist/4-page/ds-container.js +11 -0
  148. package/dist/4-page/ds-grid.d.ts +5 -0
  149. package/dist/4-page/ds-grid.d.ts.map +1 -1
  150. package/dist/4-page/ds-grid.js +38 -56
  151. package/dist/4-page/ds-layout.d.ts +3 -3
  152. package/dist/4-page/ds-layout.d.ts.map +1 -1
  153. package/dist/4-page/ds-layout.js +651 -162
  154. package/dist/ds-one.bundle.js +3247 -2089
  155. package/dist/ds-one.bundle.js.map +1 -7
  156. package/dist/ds-one.bundle.min.js +3839 -550
  157. package/dist/ds-one.bundle.min.js.map +1 -7
  158. package/dist/index.d.ts +8 -1
  159. package/dist/index.d.ts.map +1 -1
  160. package/dist/index.js +8 -1
  161. package/package.json +4 -2
  162. package/dist/3-unit/doublenav-v1.d.ts +0 -51
  163. package/dist/3-unit/doublenav-v1.d.ts.map +0 -1
  164. package/dist/3-unit/doublenav-v1.js +0 -88
  165. package/dist/3-unit/ds-portfolio-doublenav.d.ts +0 -51
  166. package/dist/3-unit/ds-portfolio-doublenav.d.ts.map +0 -1
  167. package/dist/3-unit/ds-portfolio-doublenav.js +0 -88
  168. package/dist/3-unit/ds-portfolio-panel.d.ts +0 -11
  169. package/dist/3-unit/ds-portfolio-panel.d.ts.map +0 -1
  170. package/dist/3-unit/ds-portfolio-panel.js +0 -16
  171. package/dist/3-unit/ds-portfolio-singlenav.d.ts +0 -32
  172. package/dist/3-unit/ds-portfolio-singlenav.d.ts.map +0 -1
  173. package/dist/3-unit/ds-portfolio-singlenav.js +0 -62
  174. package/dist/3-unit/list-v1.d.ts +0 -11
  175. package/dist/3-unit/list-v1.d.ts.map +0 -1
  176. package/dist/3-unit/list-v1.js +0 -15
  177. package/dist/3-unit/panel-v1.d.ts +0 -11
  178. package/dist/3-unit/panel-v1.d.ts.map +0 -1
  179. package/dist/3-unit/panel-v1.js +0 -16
  180. package/dist/3-unit/row-v1.d.ts.map +0 -1
  181. package/dist/3-unit/row-v1.js +0 -32
  182. package/dist/3-unit/singlenav-v1.d.ts +0 -32
  183. package/dist/3-unit/singlenav-v1.d.ts.map +0 -1
  184. package/dist/3-unit/singlenav-v1.js +0 -62
@@ -1,6 +1,1604 @@
1
- function is(){if(typeof navigator>"u"||typeof window>"u")return!1;let t=navigator,e=window,s=t&&(t.userAgent||t.vendor)||e&&e.opera||"",r=/Mobile|Android|iP(ad|hone|od)|IEMobile|BlackBerry|Kindle|Silk-Accelerated|(hpw|web)OS|Opera M(obi|ini)|Windows Phone|Phone|Tablet/i.test(s),i=(t&&t.maxTouchPoints||0)>1,o=e?Math.min(e.innerWidth||0,e.innerHeight||0)<=820:!1;return r||i&&o}function os(){let t=is(),e=navigator,s=window,n=(e&&e.maxTouchPoints||0)>1,i=typeof document<"u"?document.documentElement.clientWidth:s?.innerWidth||0,o=typeof document<"u"?document.documentElement.clientHeight:s?.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=os();if(t.isMobile&&typeof document<"u"){let r=t.screenWidth/280;document.documentElement.style.setProperty("--sf",r.toFixed(3)),document.documentElement.style.setProperty("--sf",r.toFixed(3)),console.log(`[DS one] Mobile device detected - ${t.deviceType} (${t.screenWidth}x${t.screenHeight}), scaling factor: ${r.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 as={},gt=["da","de","en","es","fr","it","ja","pt","sv","zh"],ls=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 cs(){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 s=document.querySelector('meta[name="ds-one:translations"]')?.getAttribute("content");if(s)return s;let r=document.querySelector('link[rel="ds-one-translations"]')?.getAttribute("href");return r||null}function ds(){let t=[],e=typeof window<"u"?window.DS_ONE_TRANSLATIONS_FILE:null,s=cs(),r=dt(e??"");r&&t.push(r);let n=dt(s??"");return n&&!t.includes(n)&&t.push(n),t.length===0&&t.push(mt),t}function us(t){return!t||typeof t!="object"?!1:Object.values(t).every(e=>e&&typeof e=="object")}async function hs(t){try{let e=await fetch(t);if(!e.ok)return null;let s=await e.json();return us(s)?Object.keys(s).length===0?(console.warn(`[DS one] No languages found in ${t}`),null):s:(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=ds();for(let e of t){let s=await hs(e);if(!s)continue;window.DS_ONE_TRANSLATIONS=s;let r=Object.keys(s);return console.log(`[DS one] External translations loaded from ${e}: ${r.length} language(s) \u2013 ${r.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:as}var I=pe(),E="en";function F(t){return t?t.toLowerCase().split(/[-_]/)[0]??"":""}function ht(t){let e=F(t),s=ls.get(e);return typeof s=="number"?s:gt.length}function vt(t){return[...t].sort((e,s)=>{let r=ht(e),n=ht(s);return r!==n?r-n:e.localeCompare(s)})}function ps(t,e){let s=t?.replace("_","-");if(s)try{let r=at.get(s);r||(r=new Intl.DisplayNames([s],{type:"language"}),at.set(s,r));let n=e.replace("_","-"),i=r.of(n);if(i&&i!==n)return i;let o=r.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 fs(t){let e=t.toLowerCase().replace("_","-"),s=ot[e];if(s)return s;let r=F(e);return ot[r]}function yt(t,e={}){if(!t)return"";let s=[];e.locale&&s.push(e.locale),typeof navigator<"u"&&(Array.isArray(navigator.languages)&&s.push(...navigator.languages),navigator.language&&s.push(navigator.language)),s.push(E),s.push("en");let r=new Set;for(let o of s){if(!o||r.has(o))continue;r.add(o);let p=ps(o,t);if(p)return p}let n=fs(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("_","-"),s=pt[e];if(s)return s;let r=F(e),n=pt[r];return n||t}function gs(){if(typeof navigator>"u")return E;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 s=ft(e);if(s)return s}return E}var nr=typeof window<"u"?window.localStorage?.getItem("ds-one:language")??void 0:void 0,T={value:localStorage.getItem("language")||gs(),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=T.value;window.dispatchEvent(new CustomEvent("language-changed",{detail:{language:t},bubbles:!0,composed:!0}))});setTimeout(()=>{window.dispatchEvent(new CustomEvent("translations-loaded"));let t=T.value;window.dispatchEvent(new CustomEvent("language-changed",{detail:{language:t},bubbles:!0,composed:!0}))},100);function C(t){let e=T.value;return I?.[e]?.[t]?I[e][t]:e!==E&&I?.[E]?.[t]?I[E][t]:(console.warn(`[DS one (Internationalization)] No translation found for key "${t}"`),t)}function ir(t,e=T.value){if(!t)return!1;let s=I?.[e];return!!(s&&Object.prototype.hasOwnProperty.call(s,t)||e!==E&&I?.[E]&&Object.prototype.hasOwnProperty.call(I[E],t))}function fe(t){return C(t)}function or(){let t=pe();if(t&&Object.keys(t).length>0){let e=Object.keys(t);return Promise.resolve(vt(e))}return Promise.resolve([E])}function Me(){let t=pe();return t&&Object.keys(t).length>0?vt(Object.keys(t)):[E]}function ar(t,e){console.log(`Loading additional translations for ${t}:`,Object.keys(e).length,"keys")}function Re(t){localStorage.setItem("language",t),T.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"),r={...e?JSON.parse(e):{},...t};window.localStorage?.setItem("ds-one:preferences",JSON.stringify(r))}catch(e){console.warn("ds-one: unable to persist preferences",e)}}var ms={da:"kr.",nb:"kr.",sv:"kr.",de:"\u20AC",en:"$",pt:"\u20AC",es:"\u20AC",zh:"\xA5",ja:"\xA5",ko:"\u20A9"};function dr(t){let{language:e,country:s}=t;if(s){let n=s.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 r=e.toLowerCase().split(/[-_]/)[0];return ms[r]||"$"}var vs=Object.defineProperty,ys=(t,e,s)=>e in t?vs(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,De=(t,e,s)=>(ys(t,typeof e!="symbol"?e+"":e,s),s),bs=(t,e,s)=>{if(!e.has(t))throw TypeError("Cannot "+s)},Ue=(t,e)=>{if(Object(e)!==e)throw TypeError('Cannot use the "in" operator on this value');return t.has(e)},ge=(t,e,s)=>{if(e.has(t))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(t):e.set(t,s)},bt=(t,e,s)=>(bs(t,e,"access private method"),s);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 ws(){return w}function xs(){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 s=w.producerNode[e];be(s,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 _s(){me++}function xt(t){if(!(!t.dirty&&t.lastCleanEpoch===me)){if(!t.producerMustRecompute(t)&&!Es(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 s of t.liveConsumerNode)s.dirty||Ss(s)}finally{G=e}}function $s(){return w?.consumerAllowSignalWrites!==!1}function Ss(t){var e;t.dirty=!0,_t(t),(e=t.consumerMarkedDirty)==null||e.call(t.wrapper??t)}function As(t){return t&&(t.nextProducerIndex=0),U(t)}function Cs(t,e){if(U(e),!(!t||t.producerNode===void 0||t.producerIndexOfThis===void 0||t.producerLastReadVersion===void 0)){if(ze(t))for(let s=t.nextProducerIndex;s<t.producerNode.length;s++)be(t.producerNode[s],t.producerIndexOfThis[s]);for(;t.producerNode.length>t.nextProducerIndex;)t.producerNode.pop(),t.producerLastReadVersion.pop(),t.producerIndexOfThis.pop()}}function Es(t){W(t);for(let e=0;e<t.producerNode.length;e++){let s=t.producerNode[e],r=t.producerLastReadVersion[e];if(r!==s.version||(xt(s),r!==s.version))return!0}return!1}function $t(t,e,s){var r;if(Fe(t),W(t),t.liveConsumerNode.length===0){(r=t.watched)==null||r.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(s),t.liveConsumerNode.push(e)-1}function be(t,e){var s;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){(s=t.unwatched)==null||s.call(t.wrapper);for(let n=0;n<t.producerNode.length;n++)be(t.producerNode[n],t.producerIndexOfThis[n])}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 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 Ts(t){let e=Object.create(ks);e.computation=t;let s=()=>St(e);return s[ve]=e,s}var We=Symbol("UNSET"),je=Symbol("COMPUTING"),Be=Symbol("ERRORED"),ks={...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 s=As(t),r,n=!1;try{r=t.computation.call(t.wrapper),n=e!==We&&e!==Be&&t.equal.call(t.wrapper,e,r)}catch(i){r=Be,t.error=i}finally{Cs(t,s)}if(n){t.value=e;return}t.value=r,t.version++}};function Ls(){throw new Error}var Ns=Ls;function Is(){Ns()}function Os(t){let e=Object.create(Vs);e.value=t;let s=()=>(ye(e),e.value);return s[ve]=e,s}function Ps(){return ye(this),this.value}function Hs(t,e){$s()||Is(),t.equal.call(t.wrapper,t.value,e)||(t.value=e,Ms(t))}var Vs={...qe,equal:wt,value:void 0};function Ms(t){t.version++,_s(),_t(t)}var x=Symbol("node"),_;(t=>{var e,s,r,n,i,o;class p{constructor(m,l={}){ge(this,s),De(this,e);let f=Os(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 Ps.call(this[x])}set(m){if(!(0,t.isState)(this))throw new TypeError("Wrong receiver type for Signal.State.prototype.set");if(xs())throw new Error("Writes to signals not permitted during Watcher callback");let l=this[x];Hs(l,m)}}e=x,s=new WeakSet,r=function(){},t.isState=u=>typeof u=="object"&&Ue(s,u),t.State=p;class d{constructor(m,l){ge(this,i),De(this,n);let f=Ts(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,S,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 es(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=es;function ts(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=ts;class ss{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 A=U(c);for(let he of g)ye(he[x]);U(A)}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 A=c.producerNode.length-1;A>=0;A--)if(g.includes(c.producerNode[A].wrapper)){be(c.producerNode[A],c.producerIndexOfThis[A]);let he=c.producerNode.length-1;if(c.producerNode[A]=c.producerNode[he],c.producerIndexOfThis[A]=c.producerIndexOfThis[he],c.producerNode.length--,c.producerIndexOfThis.length--,c.nextProducerIndex--,A<c.producerNode.length){let ns=c.producerIndexOfThis[A],it=c.producerNode[A];Fe(it),it.liveConsumerIndexOfThis[ns]=A}}}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,S=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=ss;function rs(){var v;return(v=ws())==null?void 0:v.wrapper}u.currentComputed=rs,u.watched=Symbol("watched"),u.unwatched=Symbol("unwatched")})(t.subtle||(t.subtle={}))})(_||(_={}));var fr=Symbol("SignalWatcherBrand"),gr=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,s,r){this._$Ct=e,this._$AM=s,this._$Ci=r}_$AS(e,s){return this.update(e,s)}update(e,s){return this.render(...s)}};var J=globalThis,xe=J.trustedTypes,At=xe?xe.createPolicy("lit-html",{createHTML:t=>t}):void 0,Ze="$lit$",k=`lit$${Math.random().toFixed(9).slice(2)}$`,Ke="?"+k,Rs=`<${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"),Tt=/'/g,kt=/"/g,It=/^(?:script|style|textarea|title)$/i,Ye=t=>(e,...s)=>({_$litType$:t,strings:e,values:s}),a=Ye(1),Ot=Ye(2),wr=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 s=t.length-1,r=[],n,i=e===2?"<svg>":e===3?"<math>":"",o=K;for(let p=0;p<s;p++){let d=t[p],u,m,l=-1,S=0;for(;S<d.length&&(o.lastIndex=S,m=o.exec(d),m!==null);)S=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]==='"'?kt:Tt):o===kt||o===Tt?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+Rs:l>=0?(r.push(u),d.slice(0,l)+Ze+d.slice(l)+k+f):d+k+(l===-2?p:f)}return[Pt(t,i+(t[s]||"<?>")+(e===2?"</svg>":e===3?"</math>":"")),r]},Q=class t{constructor({strings:e,_$litType$:s},r){let n;this.parts=[];let i=0,o=0,p=e.length-1,d=this.parts,[u,m]=Ht(e,s);if(this.el=t.createElement(u,r),V.currentNode=this.el.content,s===2||s===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 S=m[o++],f=n.getAttribute(l).split(k),$=/([.?@])?(.*)/.exec(S);d.push({type:1,index:i,name:$[2],strings:f,ctor:$[1]==="."?$e:$[1]==="?"?Se:$[1]==="@"?Ae:D}),n.removeAttribute(l)}else l.startsWith(k)&&(d.push({type:6,index:i}),n.removeAttribute(l));if(It.test(n.tagName)){let l=n.textContent.split(k),S=l.length-1;if(S>0){n.textContent=xe?xe.emptyScript:"";for(let f=0;f<S;f++)n.append(l[f],Y()),V.nextNode(),d.push({type:2,index:++i});n.append(l[S],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(k,l+1))!==-1;)d.push({type:7,index:i}),l+=k.length-1}i++}}static createElement(e,s){let r=M.createElement("template");return r.innerHTML=e,r}};function R(t,e,s=t,r){if(e===L)return e;let n=r!==void 0?s._$Co?.[r]:s._$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,s,r)),r!==void 0?(s._$Co??(s._$Co=[]))[r]=n:s._$Cl=n),n!==void 0&&(e=R(t,n._$AS(t,e.values),n,r)),e}var _e=class{constructor(e,s){this._$AV=[],this._$AN=void 0,this._$AD=e,this._$AM=s}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(e){let{el:{content:s},parts:r}=this._$AD,n=(e?.creationScope??M).importNode(s,!0);V.currentNode=n;let i=V.nextNode(),o=0,p=0,d=r[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=r[++p]}o!==d?.index&&(i=V.nextNode(),o++)}return V.currentNode=M,n}p(e){let s=0;for(let r of this._$AV)r!==void 0&&(r.strings!==void 0?(r._$AI(e,r,s),s+=r.strings.length-2):r._$AI(e[s])),s++}},z=class t{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(e,s,r,n){this.type=2,this._$AH=b,this._$AN=void 0,this._$AA=e,this._$AB=s,this._$AM=r,this.options=n,this._$Cv=n?.isConnected??!0}get parentNode(){let e=this._$AA.parentNode,s=this._$AM;return s!==void 0&&e?.nodeType===11&&(e=s.parentNode),e}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(e,s=this){e=R(this,e,s),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:s,_$litType$:r}=e,n=typeof r=="number"?this._$AC(e):(r.el===void 0&&(r.el=Q.createElement(Pt(r.h,r.h[0]),this.options)),r);if(this._$AH?._$AD===n)this._$AH.p(s);else{let i=new _e(n,this),o=i.u(this.options);i.p(s),this.T(o),this._$AH=i}}_$AC(e){let s=Lt.get(e.strings);return s===void 0&&Lt.set(e.strings,s=new Q(e)),s}k(e){Je(this._$AH)||(this._$AH=[],this._$AR());let s=this._$AH,r,n=0;for(let i of e)n===s.length?s.push(r=new t(this.O(Y()),this.O(Y()),this,this.options)):r=s[n],r._$AI(i),n++;n<s.length&&(this._$AR(r&&r._$AB.nextSibling,n),s.length=n)}_$AR(e=this._$AA.nextSibling,s){for(this._$AP?.(!1,!0,s);e!==this._$AB;){let r=e.nextSibling;e.remove(),e=r}}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,s,r,n,i){this.type=1,this._$AH=b,this._$AN=void 0,this.element=e,this.name=s,this._$AM=n,this.options=i,r.length>2||r[0]!==""||r[1]!==""?(this._$AH=Array(r.length-1).fill(new String),this.strings=r):this._$AH=b}_$AI(e,s=this,r,n){let i=this.strings,o=!1;if(i===void 0)e=R(this,e,s,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[r+d],s,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,s,r,n,i){super(e,s,r,n,i),this.type=5}_$AI(e,s=this){if((e=R(this,e,s,0)??b)===L)return;let r=this._$AH,n=e===b&&r!==b||e.capture!==r.capture||e.once!==r.once||e.passive!==r.passive,i=e!==b&&(r===b||n);n&&this.element.removeEventListener(this.name,this,r),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,s,r){this.element=e,this.type=6,this._$AN=void 0,this._$AM=s,this.options=r}get _$AU(){return this._$AM._$AU}_$AI(e){R(this,e)}},Vt={M:Ze,P:k,A:Ke,C:1,L:Ht,R:_e,D:Nt,V:R,I:z,H:D,N:Se,U:Ae,B:$e,F:Ce},Ds=J.litHtmlPolyfillSupport;Ds?.(Q,z),(J.litHtmlVersions??(J.litHtmlVersions=[])).push("3.3.1");var Mt=(t,e,s)=>{let r=s?.renderBefore??e,n=r._$litPart$;if(n===void 0){let i=s?.renderBefore??null;r._$litPart$=n=new z(e.insertBefore(Y(),i),i,void 0,s??{})}return n._$AI(t),n};var{I:$r}=Vt;var Rt=t=>t.strings===void 0;var ee=(t,e)=>{let s=t._$AN;if(s===void 0)return!1;for(let r of s)r._$AO?.(e,!1),ee(r,e);return!0},Ee=t=>{let e,s;do{if((e=t._$AM)===void 0)break;s=e._$AN,s.delete(t),t=e}while(s?.size===0)},Dt=t=>{for(let e;e=t._$AM;t=e){let s=e._$AN;if(s===void 0)e._$AN=s=new Set;else if(s.has(t))break;s.add(t),js(e)}};function Us(t){this._$AN!==void 0?(Ee(this),this._$AM=t,Dt(this)):this._$AM=t}function Ws(t,e=!1,s=0){let r=this._$AH,n=this._$AN;if(n!==void 0&&n.size!==0)if(e)if(Array.isArray(r))for(let i=s;i<r.length;i++)ee(r[i],!1),Ee(r[i]);else r!=null&&(ee(r,!1),Ee(r));else ee(this,t)}var js=t=>{t.type==we.CHILD&&(t._$AP??(t._$AP=Ws),t._$AQ??(t._$AQ=Us))},Te=class extends j{constructor(){super(...arguments),this._$AN=void 0}_$AT(e,s,r){super._$AT(e,s,r),Dt(this),this.isConnected=e._$AU}_$AO(e,s=!0){e!==this.isConnected&&(this.isConnected=e,e?this.reconnected?.():this.disconnected?.()),s&&(ee(this,e),Ee(this))}setValue(e){if(Rt(this._$Ct))this._$Ct._$AI(e,this);else{let s=[...this._$Ct._$AH];s[this._$Ci]=e,this._$Ct._$AI(s,this,0)}}disconnected(){}reconnected(){}};var ke=class extends Te{_$Sl(){if(this._$Su!==void 0)return;this._$SW=new _.Computed((()=>{var s;return(s=this._$Sj)===null||s===void 0?void 0:s.get()}));let e=this._$Su=new _.subtle.Watcher((()=>{var s;(s=this._$SO)===null||s===void 0||s._(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,[s]){var r,n;return(r=this._$SO)!==null&&r!==void 0||(this._$SO=(n=e.options)===null||n===void 0?void 0:n.host),s!==this._$Sj&&this._$Sj!==void 0&&this._$Sp(),this._$Sj=s,this._$Sl(),_.subtle.untrack((()=>this._$SW.get()))}disconnected(){this._$Sp()}reconnected(){this._$Sl()}},Xe=Z(ke);var Qe=t=>(e,...s)=>t(e,...s.map((r=>r instanceof _.State||r instanceof _.Computed?Xe(r):r))),zs=Qe(a),Bs=Qe(Ot);var zr=_.State,Br=_.Computed,Ut=(t,e)=>new _.State(t,e);function qs(){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(qs());function Wt(t){if(t!==B.get()&&(B.set(t),typeof window<"u")){try{window.localStorage?.setItem("ds-one:theme",t)}catch(s){console.warn("ds-one: unable to persist theme preference",s)}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,s,r){if(this._$cssResult$=!0,r!==et)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=s}get styleSheet(){let e=this.o,s=this.t;if(Ne&&e===void 0){let r=s!==void 0&&s.length===1;r&&(e=jt.get(s)),e===void 0&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),r&&jt.set(s,e))}return e}toString(){return this.cssText}},zt=t=>new te(typeof t=="string"?t:t+"",void 0,et),y=(t,...e)=>{let s=t.length===1?t[0]:e.reduce(((r,n,i)=>r+(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(s,t,et)},Bt=(t,e)=>{if(Ne)t.adoptedStyleSheets=e.map((s=>s instanceof CSSStyleSheet?s:s.styleSheet));else for(let s of e){let r=document.createElement("style"),n=Le.litNonce;n!==void 0&&r.setAttribute("nonce",n),r.textContent=s.cssText,t.appendChild(r)}},tt=Ne?t=>t:t=>t instanceof CSSStyleSheet?(e=>{let s="";for(let r of e.cssRules)s+=r.cssText;return zt(s)})(t):t;var{is:Fs,defineProperty:Gs,getOwnPropertyDescriptor:Zs,getOwnPropertyNames:Ks,getOwnPropertySymbols:Js,getPrototypeOf:Ys}=Object,O=globalThis,qt=O.trustedTypes,Xs=qt?qt.emptyScript:"",Qs=O.reactiveElementPolyfillSupport,se=(t,e)=>t,st={toAttribute(t,e){switch(e){case Boolean:t=t?Xs:null;break;case Object:case Array:t=t==null?t:JSON.stringify(t)}return t},fromAttribute(t,e){let s=t;switch(e){case Boolean:s=t!==null;break;case Number:s=t===null?null:Number(t);break;case Object:case Array:try{s=JSON.parse(t)}catch{s=null}}return s}},Gt=(t,e)=>!Fs(t,e),Ft={attribute:!0,type:String,converter:st,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,s=Ft){if(s.state&&(s.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(e)&&((s=Object.create(s)).wrapped=!0),this.elementProperties.set(e,s),!s.noAccessor){let r=Symbol(),n=this.getPropertyDescriptor(e,r,s);n!==void 0&&Gs(this.prototype,e,n)}}static getPropertyDescriptor(e,s,r){let{get:n,set:i}=Zs(this.prototype,e)??{get(){return this[s]},set(o){this[s]=o}};return{get:n,set(o){let p=n?.call(this);i?.call(this,o),this.requestUpdate(e,p,r)},configurable:!0,enumerable:!0}}static getPropertyOptions(e){return this.elementProperties.get(e)??Ft}static _$Ei(){if(this.hasOwnProperty(se("elementProperties")))return;let e=Ys(this);e.finalize(),e.l!==void 0&&(this.l=[...e.l]),this.elementProperties=new Map(e.elementProperties)}static finalize(){if(this.hasOwnProperty(se("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(se("properties"))){let s=this.properties,r=[...Ks(s),...Js(s)];for(let n of r)this.createProperty(n,s[n])}let e=this[Symbol.metadata];if(e!==null){let s=litPropertyMetadata.get(e);if(s!==void 0)for(let[r,n]of s)this.elementProperties.set(r,n)}this._$Eh=new Map;for(let[s,r]of this.elementProperties){let n=this._$Eu(s,r);n!==void 0&&this._$Eh.set(n,s)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(e){let s=[];if(Array.isArray(e)){let r=new Set(e.flat(1/0).reverse());for(let n of r)s.unshift(tt(n))}else e!==void 0&&s.push(tt(e));return s}static _$Eu(e,s){let r=s.attribute;return r===!1?void 0:typeof r=="string"?r: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,s=this.constructor.elementProperties;for(let r of s.keys())this.hasOwnProperty(r)&&(e.set(r,this[r]),delete this[r]);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,s,r){this._$AK(e,r)}_$ET(e,s){let r=this.constructor.elementProperties.get(e),n=this.constructor._$Eu(e,r);if(n!==void 0&&r.reflect===!0){let i=(r.converter?.toAttribute!==void 0?r.converter:st).toAttribute(s,r.type);this._$Em=e,i==null?this.removeAttribute(n):this.setAttribute(n,i),this._$Em=null}}_$AK(e,s){let r=this.constructor,n=r._$Eh.get(e);if(n!==void 0&&this._$Em!==n){let i=r.getPropertyOptions(n),o=typeof i.converter=="function"?{fromAttribute:i.converter}:i.converter?.fromAttribute!==void 0?i.converter:st;this._$Em=n;let p=o.fromAttribute(s,i.type);this[n]=p??this._$Ej?.get(n)??p,this._$Em=null}}requestUpdate(e,s,r){if(e!==void 0){let n=this.constructor,i=this[e];if(r??(r=n.getPropertyOptions(e)),!((r.hasChanged??Gt)(i,s)||r.useDefault&&r.reflect&&i===this._$Ej?.get(e)&&!this.hasAttribute(n._$Eu(e,r))))return;this.C(e,s,r)}this.isUpdatePending===!1&&(this._$ES=this._$EP())}C(e,s,{useDefault:r,reflect:n,wrapped:i},o){r&&!(this._$Ej??(this._$Ej=new Map)).has(e)&&(this._$Ej.set(e,o??s??this[e]),i!==!0||o!==void 0)||(this._$AL.has(e)||(this.hasUpdated||r||(s=void 0),this._$AL.set(e,s)),n===!0&&this._$Em!==e&&(this._$Eq??(this._$Eq=new Set)).add(e))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(s){Promise.reject(s)}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 r=this.constructor.elementProperties;if(r.size>0)for(let[n,i]of r){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,s=this._$AL;try{e=this.shouldUpdate(s),e?(this.willUpdate(s),this._$EO?.forEach((r=>r.hostUpdate?.())),this.update(s)):this._$EM()}catch(r){throw e=!1,this._$EM(),r}e&&this._$AE(s)}willUpdate(e){}_$AE(e){this._$EO?.forEach((s=>s.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((s=>this._$ET(s,this[s])))),this._$EM()}updated(e){}firstUpdated(e){}};N.elementStyles=[],N.shadowRootOptions={mode:"open"},N[se("elementProperties")]=new Map,N[se("finalized")]=new Map,Qs?.({ReactiveElement:N}),(O.reactiveElementVersions??(O.reactiveElementVersions=[])).push("2.1.1");var re=globalThis,h=class extends N{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){var s;let e=super.createRenderRoot();return(s=this.renderOptions).renderBefore??(s.renderBefore=e.firstChild),e}update(e){let s=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(e),this._$Do=Mt(s,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,re.litElementHydrateSupport?.({LitElement:h});var er=re.litElementPolyfillSupport;er?.({LitElement:h});(re.litElementVersions??(re.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`
1
+ var ir = Object.defineProperty, sr = (t, e, r) => e in t ? ir(t, e, { enumerable: !0, configurable: !0, writable: !0, value: r }) : t[e] = r, Le = (t, e, r) => (sr(t, typeof e != "symbol" ? e + "" : e, r), r), ar = (t, e, r) => {
2
+ if (!e.has(t))
3
+ throw TypeError("Cannot " + r);
4
+ }, Ee = (t, e) => {
5
+ if (Object(e) !== e)
6
+ throw TypeError('Cannot use the "in" operator on this value');
7
+ return t.has(e);
8
+ }, oe = (t, e, r) => {
9
+ if (e.has(t))
10
+ throw TypeError("Cannot add the same private member more than once");
11
+ e instanceof WeakSet ? e.add(t) : e.set(t, r);
12
+ }, vt = (t, e, r) => (ar(t, e, "access private method"), r);
13
+ /**
14
+ * @license
15
+ * Copyright Google LLC All Rights Reserved.
16
+ *
17
+ * Use of this source code is governed by an MIT-style license that can be
18
+ * found in the LICENSE file at https://angular.io/license
19
+ */
20
+ function Bt(t, e) {
21
+ return Object.is(t, e);
22
+ }
23
+ /**
24
+ * @license
25
+ * Copyright Google LLC All Rights Reserved.
26
+ *
27
+ * Use of this source code is governed by an MIT-style license that can be
28
+ * found in the LICENSE file at https://angular.io/license
29
+ */
30
+ let w = null, U = !1, ie = 1;
31
+ const le = /* @__PURE__ */ Symbol("SIGNAL");
32
+ function z(t) {
33
+ const e = w;
34
+ return w = t, e;
35
+ }
36
+ function lr() {
37
+ return w;
38
+ }
39
+ function cr() {
40
+ return U;
41
+ }
42
+ const rt = {
43
+ version: 0,
44
+ lastCleanEpoch: 0,
45
+ dirty: !1,
46
+ producerNode: void 0,
47
+ producerLastReadVersion: void 0,
48
+ producerIndexOfThis: void 0,
49
+ nextProducerIndex: 0,
50
+ liveConsumerNode: void 0,
51
+ liveConsumerIndexOfThis: void 0,
52
+ consumerAllowSignalWrites: !1,
53
+ consumerIsAlwaysLive: !1,
54
+ producerMustRecompute: () => !1,
55
+ producerRecomputeValue: () => {
56
+ },
57
+ consumerMarkedDirty: () => {
58
+ },
59
+ consumerOnSignalRead: () => {
60
+ }
61
+ };
62
+ function _e(t) {
63
+ if (U)
64
+ throw new Error(
65
+ typeof ngDevMode < "u" && ngDevMode ? "Assertion error: signal read during notification phase" : ""
66
+ );
67
+ if (w === null)
68
+ return;
69
+ w.consumerOnSignalRead(t);
70
+ const e = w.nextProducerIndex++;
71
+ if (P(w), e < w.producerNode.length && w.producerNode[e] !== t && Te(w)) {
72
+ const r = w.producerNode[e];
73
+ ke(r, w.producerIndexOfThis[e]);
74
+ }
75
+ w.producerNode[e] !== t && (w.producerNode[e] = t, w.producerIndexOfThis[e] = Te(w) ? Rt(t, w, e) : 0), w.producerLastReadVersion[e] = t.version;
76
+ }
77
+ function dr() {
78
+ ie++;
79
+ }
80
+ function Dt(t) {
81
+ if (!(!t.dirty && t.lastCleanEpoch === ie)) {
82
+ if (!t.producerMustRecompute(t) && !vr(t)) {
83
+ t.dirty = !1, t.lastCleanEpoch = ie;
84
+ return;
85
+ }
86
+ t.producerRecomputeValue(t), t.dirty = !1, t.lastCleanEpoch = ie;
87
+ }
88
+ }
89
+ function jt(t) {
90
+ if (t.liveConsumerNode === void 0)
91
+ return;
92
+ const e = U;
93
+ U = !0;
94
+ try {
95
+ for (const r of t.liveConsumerNode)
96
+ r.dirty || ur(r);
97
+ } finally {
98
+ U = e;
99
+ }
100
+ }
101
+ function hr() {
102
+ return w?.consumerAllowSignalWrites !== !1;
103
+ }
104
+ function ur(t) {
105
+ var e;
106
+ t.dirty = !0, jt(t), (e = t.consumerMarkedDirty) == null || e.call(t.wrapper ?? t);
107
+ }
108
+ function pr(t) {
109
+ return t && (t.nextProducerIndex = 0), z(t);
110
+ }
111
+ function gr(t, e) {
112
+ if (z(e), !(!t || t.producerNode === void 0 || t.producerIndexOfThis === void 0 || t.producerLastReadVersion === void 0)) {
113
+ if (Te(t))
114
+ for (let r = t.nextProducerIndex; r < t.producerNode.length; r++)
115
+ ke(t.producerNode[r], t.producerIndexOfThis[r]);
116
+ for (; t.producerNode.length > t.nextProducerIndex; )
117
+ t.producerNode.pop(), t.producerLastReadVersion.pop(), t.producerIndexOfThis.pop();
118
+ }
119
+ }
120
+ function vr(t) {
121
+ P(t);
122
+ for (let e = 0; e < t.producerNode.length; e++) {
123
+ const r = t.producerNode[e], o = t.producerLastReadVersion[e];
124
+ if (o !== r.version || (Dt(r), o !== r.version))
125
+ return !0;
126
+ }
127
+ return !1;
128
+ }
129
+ function Rt(t, e, r) {
130
+ var o;
131
+ if (ot(t), P(t), t.liveConsumerNode.length === 0) {
132
+ (o = t.watched) == null || o.call(t.wrapper);
133
+ for (let n = 0; n < t.producerNode.length; n++)
134
+ t.producerIndexOfThis[n] = Rt(t.producerNode[n], t, n);
135
+ }
136
+ return t.liveConsumerIndexOfThis.push(r), t.liveConsumerNode.push(e) - 1;
137
+ }
138
+ function ke(t, e) {
139
+ var r;
140
+ if (ot(t), P(t), typeof ngDevMode < "u" && ngDevMode && e >= t.liveConsumerNode.length)
141
+ throw new Error(
142
+ `Assertion error: active consumer index ${e} is out of bounds of ${t.liveConsumerNode.length} consumers)`
143
+ );
144
+ if (t.liveConsumerNode.length === 1) {
145
+ (r = t.unwatched) == null || r.call(t.wrapper);
146
+ for (let n = 0; n < t.producerNode.length; n++)
147
+ ke(t.producerNode[n], t.producerIndexOfThis[n]);
148
+ }
149
+ const o = t.liveConsumerNode.length - 1;
150
+ if (t.liveConsumerNode[e] = t.liveConsumerNode[o], t.liveConsumerIndexOfThis[e] = t.liveConsumerIndexOfThis[o], t.liveConsumerNode.length--, t.liveConsumerIndexOfThis.length--, e < t.liveConsumerNode.length) {
151
+ const n = t.liveConsumerIndexOfThis[e], i = t.liveConsumerNode[e];
152
+ P(i), i.producerIndexOfThis[n] = e;
153
+ }
154
+ }
155
+ function Te(t) {
156
+ var e;
157
+ return t.consumerIsAlwaysLive || (((e = t?.liveConsumerNode) == null ? void 0 : e.length) ?? 0) > 0;
158
+ }
159
+ function P(t) {
160
+ t.producerNode ?? (t.producerNode = []), t.producerIndexOfThis ?? (t.producerIndexOfThis = []), t.producerLastReadVersion ?? (t.producerLastReadVersion = []);
161
+ }
162
+ function ot(t) {
163
+ t.liveConsumerNode ?? (t.liveConsumerNode = []), t.liveConsumerIndexOfThis ?? (t.liveConsumerIndexOfThis = []);
164
+ }
165
+ /**
166
+ * @license
167
+ * Copyright Google LLC All Rights Reserved.
168
+ *
169
+ * Use of this source code is governed by an MIT-style license that can be
170
+ * found in the LICENSE file at https://angular.io/license
171
+ */
172
+ function Ut(t) {
173
+ if (Dt(t), _e(t), t.value === Ne)
174
+ throw t.error;
175
+ return t.value;
176
+ }
177
+ function fr(t) {
178
+ const e = Object.create(wr);
179
+ e.computation = t;
180
+ const r = () => Ut(e);
181
+ return r[le] = e, r;
182
+ }
183
+ const Se = /* @__PURE__ */ Symbol("UNSET"), Ve = /* @__PURE__ */ Symbol("COMPUTING"), Ne = /* @__PURE__ */ Symbol("ERRORED"), wr = {
184
+ ...rt,
185
+ value: Se,
186
+ dirty: !0,
187
+ error: null,
188
+ equal: Bt,
189
+ producerMustRecompute(t) {
190
+ return t.value === Se || t.value === Ve;
191
+ },
192
+ producerRecomputeValue(t) {
193
+ if (t.value === Ve)
194
+ throw new Error("Detected cycle in computations.");
195
+ const e = t.value;
196
+ t.value = Ve;
197
+ const r = pr(t);
198
+ let o, n = !1;
199
+ try {
200
+ o = t.computation.call(t.wrapper), n = e !== Se && e !== Ne && t.equal.call(t.wrapper, e, o);
201
+ } catch (i) {
202
+ o = Ne, t.error = i;
203
+ } finally {
204
+ gr(t, r);
205
+ }
206
+ if (n) {
207
+ t.value = e;
208
+ return;
209
+ }
210
+ t.value = o, t.version++;
211
+ }
212
+ };
213
+ /**
214
+ * @license
215
+ * Copyright Google LLC All Rights Reserved.
216
+ *
217
+ * Use of this source code is governed by an MIT-style license that can be
218
+ * found in the LICENSE file at https://angular.io/license
219
+ */
220
+ function mr() {
221
+ throw new Error();
222
+ }
223
+ let br = mr;
224
+ function yr() {
225
+ br();
226
+ }
227
+ /**
228
+ * @license
229
+ * Copyright Google LLC All Rights Reserved.
230
+ *
231
+ * Use of this source code is governed by an MIT-style license that can be
232
+ * found in the LICENSE file at https://angular.io/license
233
+ */
234
+ function xr(t) {
235
+ const e = Object.create(Cr);
236
+ e.value = t;
237
+ const r = () => (_e(e), e.value);
238
+ return r[le] = e, r;
239
+ }
240
+ function _r() {
241
+ return _e(this), this.value;
242
+ }
243
+ function kr(t, e) {
244
+ hr() || yr(), t.equal.call(t.wrapper, t.value, e) || (t.value = e, $r(t));
245
+ }
246
+ const Cr = {
247
+ ...rt,
248
+ equal: Bt,
249
+ value: void 0
250
+ };
251
+ function $r(t) {
252
+ t.version++, dr(), jt(t);
253
+ }
254
+ /**
255
+ * @license
256
+ * Copyright 2024 Bloomberg Finance L.P.
257
+ *
258
+ * Licensed under the Apache License, Version 2.0 (the "License");
259
+ * you may not use this file except in compliance with the License.
260
+ * You may obtain a copy of the License at
261
+ *
262
+ * http://www.apache.org/licenses/LICENSE-2.0
263
+ *
264
+ * Unless required by applicable law or agreed to in writing, software
265
+ * distributed under the License is distributed on an "AS IS" BASIS,
266
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
267
+ * See the License for the specific language governing permissions and
268
+ * limitations under the License.
269
+ */
270
+ const y = Symbol("node");
271
+ var K;
272
+ ((t) => {
273
+ var e, r, o, n;
274
+ class i {
275
+ constructor(c, u = {}) {
276
+ oe(this, r), Le(this, e);
277
+ const d = xr(c)[le];
278
+ if (this[y] = d, d.wrapper = this, u) {
279
+ const b = u.equals;
280
+ b && (d.equal = b), d.watched = u[t.subtle.watched], d.unwatched = u[t.subtle.unwatched];
281
+ }
282
+ }
283
+ get() {
284
+ if (!(0, t.isState)(this))
285
+ throw new TypeError("Wrong receiver type for Signal.State.prototype.get");
286
+ return _r.call(this[y]);
287
+ }
288
+ set(c) {
289
+ if (!(0, t.isState)(this))
290
+ throw new TypeError("Wrong receiver type for Signal.State.prototype.set");
291
+ if (cr())
292
+ throw new Error("Writes to signals not permitted during Watcher callback");
293
+ const u = this[y];
294
+ kr(u, c);
295
+ }
296
+ }
297
+ e = y, r = /* @__PURE__ */ new WeakSet(), t.isState = (a) => typeof a == "object" && Ee(r, a), t.State = i;
298
+ class s {
299
+ // Create a Signal which evaluates to the value returned by the callback.
300
+ // Callback is called with this signal as the parameter.
301
+ constructor(c, u) {
302
+ oe(this, n), Le(this, o);
303
+ const d = fr(c)[le];
304
+ if (d.consumerAllowSignalWrites = !0, this[y] = d, d.wrapper = this, u) {
305
+ const b = u.equals;
306
+ b && (d.equal = b), d.watched = u[t.subtle.watched], d.unwatched = u[t.subtle.unwatched];
307
+ }
308
+ }
309
+ get() {
310
+ if (!(0, t.isComputed)(this))
311
+ throw new TypeError("Wrong receiver type for Signal.Computed.prototype.get");
312
+ return Ut(this[y]);
313
+ }
314
+ }
315
+ o = y, n = /* @__PURE__ */ new WeakSet(), t.isComputed = (a) => typeof a == "object" && Ee(n, a), t.Computed = s, ((a) => {
316
+ var c, u, v, d;
317
+ function b(g) {
318
+ let p, h = null;
319
+ try {
320
+ h = z(null), p = g();
321
+ } finally {
322
+ z(h);
323
+ }
324
+ return p;
325
+ }
326
+ a.untrack = b;
327
+ function $(g) {
328
+ var p;
329
+ if (!(0, t.isComputed)(g) && !(0, t.isWatcher)(g))
330
+ throw new TypeError("Called introspectSources without a Computed or Watcher argument");
331
+ return ((p = g[y].producerNode) == null ? void 0 : p.map((h) => h.wrapper)) ?? [];
332
+ }
333
+ a.introspectSources = $;
334
+ function T(g) {
335
+ var p;
336
+ if (!(0, t.isComputed)(g) && !(0, t.isState)(g))
337
+ throw new TypeError("Called introspectSinks without a Signal argument");
338
+ return ((p = g[y].liveConsumerNode) == null ? void 0 : p.map((h) => h.wrapper)) ?? [];
339
+ }
340
+ a.introspectSinks = T;
341
+ function er(g) {
342
+ if (!(0, t.isComputed)(g) && !(0, t.isState)(g))
343
+ throw new TypeError("Called hasSinks without a Signal argument");
344
+ const p = g[y].liveConsumerNode;
345
+ return p ? p.length > 0 : !1;
346
+ }
347
+ a.hasSinks = er;
348
+ function tr(g) {
349
+ if (!(0, t.isComputed)(g) && !(0, t.isWatcher)(g))
350
+ throw new TypeError("Called hasSources without a Computed or Watcher argument");
351
+ const p = g[y].producerNode;
352
+ return p ? p.length > 0 : !1;
353
+ }
354
+ a.hasSources = tr;
355
+ class rr {
356
+ // When a (recursive) source of Watcher is written to, call this callback,
357
+ // if it hasn't already been called since the last `watch` call.
358
+ // No signals may be read or written during the notify.
359
+ constructor(p) {
360
+ oe(this, u), oe(this, v), Le(this, c);
361
+ let h = Object.create(rt);
362
+ h.wrapper = this, h.consumerMarkedDirty = p, h.consumerIsAlwaysLive = !0, h.consumerAllowSignalWrites = !1, h.producerNode = [], this[y] = h;
363
+ }
364
+ // Add these signals to the Watcher's set, and set the watcher to run its
365
+ // notify callback next time any signal in the set (or one of its dependencies) changes.
366
+ // Can be called with no arguments just to reset the "notified" state, so that
367
+ // the notify callback will be invoked again.
368
+ watch(...p) {
369
+ if (!(0, t.isWatcher)(this))
370
+ throw new TypeError("Called unwatch without Watcher receiver");
371
+ vt(this, v, d).call(this, p);
372
+ const h = this[y];
373
+ h.dirty = !1;
374
+ const _ = z(h);
375
+ for (const re of p)
376
+ _e(re[y]);
377
+ z(_);
378
+ }
379
+ // Remove these signals from the watched set (e.g., for an effect which is disposed)
380
+ unwatch(...p) {
381
+ if (!(0, t.isWatcher)(this))
382
+ throw new TypeError("Called unwatch without Watcher receiver");
383
+ vt(this, v, d).call(this, p);
384
+ const h = this[y];
385
+ P(h);
386
+ for (let _ = h.producerNode.length - 1; _ >= 0; _--)
387
+ if (p.includes(h.producerNode[_].wrapper)) {
388
+ ke(h.producerNode[_], h.producerIndexOfThis[_]);
389
+ const re = h.producerNode.length - 1;
390
+ if (h.producerNode[_] = h.producerNode[re], h.producerIndexOfThis[_] = h.producerIndexOfThis[re], h.producerNode.length--, h.producerIndexOfThis.length--, h.nextProducerIndex--, _ < h.producerNode.length) {
391
+ const nr = h.producerIndexOfThis[_], gt = h.producerNode[_];
392
+ ot(gt), gt.liveConsumerIndexOfThis[nr] = _;
393
+ }
394
+ }
395
+ }
396
+ // Returns the set of computeds in the Watcher's set which are still yet
397
+ // to be re-evaluated
398
+ getPending() {
399
+ if (!(0, t.isWatcher)(this))
400
+ throw new TypeError("Called getPending without Watcher receiver");
401
+ return this[y].producerNode.filter((h) => h.dirty).map((h) => h.wrapper);
402
+ }
403
+ }
404
+ c = y, u = /* @__PURE__ */ new WeakSet(), v = /* @__PURE__ */ new WeakSet(), d = function(g) {
405
+ for (const p of g)
406
+ if (!(0, t.isComputed)(p) && !(0, t.isState)(p))
407
+ throw new TypeError("Called watch/unwatch without a Computed or State argument");
408
+ }, t.isWatcher = (g) => Ee(u, g), a.Watcher = rr;
409
+ function or() {
410
+ var g;
411
+ return (g = lr()) == null ? void 0 : g.wrapper;
412
+ }
413
+ a.currentComputed = or, a.watched = Symbol("watched"), a.unwatched = Symbol("unwatched");
414
+ })(t.subtle || (t.subtle = {}));
415
+ })(K || (K = {}));
416
+ /**
417
+ * @license
418
+ * Copyright 2023 Google LLC
419
+ * SPDX-License-Identifier: BSD-3-Clause
420
+ */
421
+ new FinalizationRegistry((({ watcher: t, signal: e }) => {
422
+ t.unwatch(e);
423
+ }));
424
+ /**
425
+ * @license
426
+ * Copyright 2017 Google LLC
427
+ * SPDX-License-Identifier: BSD-3-Clause
428
+ */
429
+ const Ar = { CHILD: 2 }, Lr = (t) => (...e) => ({ _$litDirective$: t, values: e });
430
+ let Er = class {
431
+ constructor(e) {
432
+ }
433
+ get _$AU() {
434
+ return this._$AM._$AU;
435
+ }
436
+ _$AT(e, r, o) {
437
+ this._$Ct = e, this._$AM = r, this._$Ci = o;
438
+ }
439
+ _$AS(e, r) {
440
+ return this.update(e, r);
441
+ }
442
+ update(e, r) {
443
+ return this.render(...r);
444
+ }
445
+ };
446
+ /**
447
+ * @license
448
+ * Copyright 2017 Google LLC
449
+ * SPDX-License-Identifier: BSD-3-Clause
450
+ */
451
+ const q = globalThis, ce = q.trustedTypes, ft = ce ? ce.createPolicy("lit-html", { createHTML: (t) => t }) : void 0, qt = "$lit$", A = `lit$${Math.random().toFixed(9).slice(2)}$`, Zt = "?" + A, Sr = `<${Zt}>`, H = document, G = () => H.createComment(""), J = (t) => t === null || typeof t != "object" && typeof t != "function", nt = Array.isArray, Vr = (t) => nt(t) || typeof t?.[Symbol.iterator] == "function", He = `[
452
+ \f\r]`, j = /<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g, wt = /-->/g, mt = />/g, S = RegExp(`>|${He}(?:([^\\s"'>=/]+)(${He}*=${He}*(?:[^
453
+ \f\r"'\`<>=]|("|')|))|$)`, "g"), bt = /'/g, yt = /"/g, Wt = /^(?:script|style|textarea|title)$/i, Hr = (t) => (e, ...r) => ({ _$litType$: t, strings: e, values: r }), l = Hr(1), M = Symbol.for("lit-noChange"), m = Symbol.for("lit-nothing"), xt = /* @__PURE__ */ new WeakMap(), V = H.createTreeWalker(H, 129);
454
+ function Ft(t, e) {
455
+ if (!nt(t) || !t.hasOwnProperty("raw")) throw Error("invalid template strings array");
456
+ return ft !== void 0 ? ft.createHTML(e) : e;
457
+ }
458
+ const Mr = (t, e) => {
459
+ const r = t.length - 1, o = [];
460
+ let n, i = e === 2 ? "<svg>" : e === 3 ? "<math>" : "", s = j;
461
+ for (let a = 0; a < r; a++) {
462
+ const c = t[a];
463
+ let u, v, d = -1, b = 0;
464
+ for (; b < c.length && (s.lastIndex = b, v = s.exec(c), v !== null); ) b = s.lastIndex, s === j ? v[1] === "!--" ? s = wt : v[1] !== void 0 ? s = mt : v[2] !== void 0 ? (Wt.test(v[2]) && (n = RegExp("</" + v[2], "g")), s = S) : v[3] !== void 0 && (s = S) : s === S ? v[0] === ">" ? (s = n ?? j, d = -1) : v[1] === void 0 ? d = -2 : (d = s.lastIndex - v[2].length, u = v[1], s = v[3] === void 0 ? S : v[3] === '"' ? yt : bt) : s === yt || s === bt ? s = S : s === wt || s === mt ? s = j : (s = S, n = void 0);
465
+ const $ = s === S && t[a + 1].startsWith("/>") ? " " : "";
466
+ i += s === j ? c + Sr : d >= 0 ? (o.push(u), c.slice(0, d) + qt + c.slice(d) + A + $) : c + A + (d === -2 ? a : $);
467
+ }
468
+ return [Ft(t, i + (t[r] || "<?>") + (e === 2 ? "</svg>" : e === 3 ? "</math>" : "")), o];
469
+ };
470
+ class Y {
471
+ constructor({ strings: e, _$litType$: r }, o) {
472
+ let n;
473
+ this.parts = [];
474
+ let i = 0, s = 0;
475
+ const a = e.length - 1, c = this.parts, [u, v] = Mr(e, r);
476
+ if (this.el = Y.createElement(u, o), V.currentNode = this.el.content, r === 2 || r === 3) {
477
+ const d = this.el.content.firstChild;
478
+ d.replaceWith(...d.childNodes);
479
+ }
480
+ for (; (n = V.nextNode()) !== null && c.length < a; ) {
481
+ if (n.nodeType === 1) {
482
+ if (n.hasAttributes()) for (const d of n.getAttributeNames()) if (d.endsWith(qt)) {
483
+ const b = v[s++], $ = n.getAttribute(d).split(A), T = /([.?@])?(.*)/.exec(b);
484
+ c.push({ type: 1, index: i, name: T[2], strings: $, ctor: T[1] === "." ? Nr : T[1] === "?" ? Ir : T[1] === "@" ? zr : Ce }), n.removeAttribute(d);
485
+ } else d.startsWith(A) && (c.push({ type: 6, index: i }), n.removeAttribute(d));
486
+ if (Wt.test(n.tagName)) {
487
+ const d = n.textContent.split(A), b = d.length - 1;
488
+ if (b > 0) {
489
+ n.textContent = ce ? ce.emptyScript : "";
490
+ for (let $ = 0; $ < b; $++) n.append(d[$], G()), V.nextNode(), c.push({ type: 2, index: ++i });
491
+ n.append(d[b], G());
492
+ }
493
+ }
494
+ } else if (n.nodeType === 8) if (n.data === Zt) c.push({ type: 2, index: i });
495
+ else {
496
+ let d = -1;
497
+ for (; (d = n.data.indexOf(A, d + 1)) !== -1; ) c.push({ type: 7, index: i }), d += A.length - 1;
498
+ }
499
+ i++;
500
+ }
501
+ }
502
+ static createElement(e, r) {
503
+ const o = H.createElement("template");
504
+ return o.innerHTML = e, o;
505
+ }
506
+ }
507
+ function B(t, e, r = t, o) {
508
+ if (e === M) return e;
509
+ let n = o !== void 0 ? r._$Co?.[o] : r._$Cl;
510
+ const i = J(e) ? void 0 : e._$litDirective$;
511
+ return n?.constructor !== i && (n?._$AO?.(!1), i === void 0 ? n = void 0 : (n = new i(t), n._$AT(t, r, o)), o !== void 0 ? (r._$Co ?? (r._$Co = []))[o] = n : r._$Cl = n), n !== void 0 && (e = B(t, n._$AS(t, e.values), n, o)), e;
512
+ }
513
+ class Tr {
514
+ constructor(e, r) {
515
+ this._$AV = [], this._$AN = void 0, this._$AD = e, this._$AM = r;
516
+ }
517
+ get parentNode() {
518
+ return this._$AM.parentNode;
519
+ }
520
+ get _$AU() {
521
+ return this._$AM._$AU;
522
+ }
523
+ u(e) {
524
+ const { el: { content: r }, parts: o } = this._$AD, n = (e?.creationScope ?? H).importNode(r, !0);
525
+ V.currentNode = n;
526
+ let i = V.nextNode(), s = 0, a = 0, c = o[0];
527
+ for (; c !== void 0; ) {
528
+ if (s === c.index) {
529
+ let u;
530
+ c.type === 2 ? u = new ee(i, i.nextSibling, this, e) : c.type === 1 ? u = new c.ctor(i, c.name, c.strings, this, e) : c.type === 6 && (u = new Or(i, this, e)), this._$AV.push(u), c = o[++a];
531
+ }
532
+ s !== c?.index && (i = V.nextNode(), s++);
533
+ }
534
+ return V.currentNode = H, n;
535
+ }
536
+ p(e) {
537
+ let r = 0;
538
+ for (const o of this._$AV) o !== void 0 && (o.strings !== void 0 ? (o._$AI(e, o, r), r += o.strings.length - 2) : o._$AI(e[r])), r++;
539
+ }
540
+ }
541
+ class ee {
542
+ get _$AU() {
543
+ return this._$AM?._$AU ?? this._$Cv;
544
+ }
545
+ constructor(e, r, o, n) {
546
+ this.type = 2, this._$AH = m, this._$AN = void 0, this._$AA = e, this._$AB = r, this._$AM = o, this.options = n, this._$Cv = n?.isConnected ?? !0;
547
+ }
548
+ get parentNode() {
549
+ let e = this._$AA.parentNode;
550
+ const r = this._$AM;
551
+ return r !== void 0 && e?.nodeType === 11 && (e = r.parentNode), e;
552
+ }
553
+ get startNode() {
554
+ return this._$AA;
555
+ }
556
+ get endNode() {
557
+ return this._$AB;
558
+ }
559
+ _$AI(e, r = this) {
560
+ e = B(this, e, r), J(e) ? e === m || e == null || e === "" ? (this._$AH !== m && this._$AR(), this._$AH = m) : e !== this._$AH && e !== M && this._(e) : e._$litType$ !== void 0 ? this.$(e) : e.nodeType !== void 0 ? this.T(e) : Vr(e) ? this.k(e) : this._(e);
561
+ }
562
+ O(e) {
563
+ return this._$AA.parentNode.insertBefore(e, this._$AB);
564
+ }
565
+ T(e) {
566
+ this._$AH !== e && (this._$AR(), this._$AH = this.O(e));
567
+ }
568
+ _(e) {
569
+ this._$AH !== m && J(this._$AH) ? this._$AA.nextSibling.data = e : this.T(H.createTextNode(e)), this._$AH = e;
570
+ }
571
+ $(e) {
572
+ const { values: r, _$litType$: o } = e, n = typeof o == "number" ? this._$AC(e) : (o.el === void 0 && (o.el = Y.createElement(Ft(o.h, o.h[0]), this.options)), o);
573
+ if (this._$AH?._$AD === n) this._$AH.p(r);
574
+ else {
575
+ const i = new Tr(n, this), s = i.u(this.options);
576
+ i.p(r), this.T(s), this._$AH = i;
577
+ }
578
+ }
579
+ _$AC(e) {
580
+ let r = xt.get(e.strings);
581
+ return r === void 0 && xt.set(e.strings, r = new Y(e)), r;
582
+ }
583
+ k(e) {
584
+ nt(this._$AH) || (this._$AH = [], this._$AR());
585
+ const r = this._$AH;
586
+ let o, n = 0;
587
+ for (const i of e) n === r.length ? r.push(o = new ee(this.O(G()), this.O(G()), this, this.options)) : o = r[n], o._$AI(i), n++;
588
+ n < r.length && (this._$AR(o && o._$AB.nextSibling, n), r.length = n);
589
+ }
590
+ _$AR(e = this._$AA.nextSibling, r) {
591
+ for (this._$AP?.(!1, !0, r); e !== this._$AB; ) {
592
+ const o = e.nextSibling;
593
+ e.remove(), e = o;
594
+ }
595
+ }
596
+ setConnected(e) {
597
+ this._$AM === void 0 && (this._$Cv = e, this._$AP?.(e));
598
+ }
599
+ }
600
+ class Ce {
601
+ get tagName() {
602
+ return this.element.tagName;
603
+ }
604
+ get _$AU() {
605
+ return this._$AM._$AU;
606
+ }
607
+ constructor(e, r, o, n, i) {
608
+ this.type = 1, this._$AH = m, this._$AN = void 0, this.element = e, this.name = r, this._$AM = n, this.options = i, o.length > 2 || o[0] !== "" || o[1] !== "" ? (this._$AH = Array(o.length - 1).fill(new String()), this.strings = o) : this._$AH = m;
609
+ }
610
+ _$AI(e, r = this, o, n) {
611
+ const i = this.strings;
612
+ let s = !1;
613
+ if (i === void 0) e = B(this, e, r, 0), s = !J(e) || e !== this._$AH && e !== M, s && (this._$AH = e);
614
+ else {
615
+ const a = e;
616
+ let c, u;
617
+ for (e = i[0], c = 0; c < i.length - 1; c++) u = B(this, a[o + c], r, c), u === M && (u = this._$AH[c]), s || (s = !J(u) || u !== this._$AH[c]), u === m ? e = m : e !== m && (e += (u ?? "") + i[c + 1]), this._$AH[c] = u;
618
+ }
619
+ s && !n && this.j(e);
620
+ }
621
+ j(e) {
622
+ e === m ? this.element.removeAttribute(this.name) : this.element.setAttribute(this.name, e ?? "");
623
+ }
624
+ }
625
+ class Nr extends Ce {
626
+ constructor() {
627
+ super(...arguments), this.type = 3;
628
+ }
629
+ j(e) {
630
+ this.element[this.name] = e === m ? void 0 : e;
631
+ }
632
+ }
633
+ class Ir extends Ce {
634
+ constructor() {
635
+ super(...arguments), this.type = 4;
636
+ }
637
+ j(e) {
638
+ this.element.toggleAttribute(this.name, !!e && e !== m);
639
+ }
640
+ }
641
+ class zr extends Ce {
642
+ constructor(e, r, o, n, i) {
643
+ super(e, r, o, n, i), this.type = 5;
644
+ }
645
+ _$AI(e, r = this) {
646
+ if ((e = B(this, e, r, 0) ?? m) === M) return;
647
+ const o = this._$AH, n = e === m && o !== m || e.capture !== o.capture || e.once !== o.once || e.passive !== o.passive, i = e !== m && (o === m || n);
648
+ n && this.element.removeEventListener(this.name, this, o), i && this.element.addEventListener(this.name, this, e), this._$AH = e;
649
+ }
650
+ handleEvent(e) {
651
+ typeof this._$AH == "function" ? this._$AH.call(this.options?.host ?? this.element, e) : this._$AH.handleEvent(e);
652
+ }
653
+ }
654
+ class Or {
655
+ constructor(e, r, o) {
656
+ this.element = e, this.type = 6, this._$AN = void 0, this._$AM = r, this.options = o;
657
+ }
658
+ get _$AU() {
659
+ return this._$AM._$AU;
660
+ }
661
+ _$AI(e) {
662
+ B(this, e);
663
+ }
664
+ }
665
+ const Pr = q.litHtmlPolyfillSupport;
666
+ Pr?.(Y, ee), (q.litHtmlVersions ?? (q.litHtmlVersions = [])).push("3.3.1");
667
+ const Br = (t, e, r) => {
668
+ const o = r?.renderBefore ?? e;
669
+ let n = o._$litPart$;
670
+ if (n === void 0) {
671
+ const i = r?.renderBefore ?? null;
672
+ o._$litPart$ = n = new ee(e.insertBefore(G(), i), i, void 0, r ?? {});
673
+ }
674
+ return n._$AI(t), n;
675
+ };
676
+ /**
677
+ * @license
678
+ * Copyright 2023 Google LLC
679
+ * SPDX-License-Identifier: BSD-3-Clause
680
+ */
681
+ K.State;
682
+ K.Computed;
683
+ const it = (t, e) => new K.State(t, e), Dr = {
684
+ mode: "auto",
685
+ baseWidth: 280,
686
+ minScale: 0.75,
687
+ maxScale: 2
688
+ }, D = it(1), X = it(Dr);
689
+ function st() {
690
+ if (typeof navigator > "u" || typeof window > "u")
691
+ return !1;
692
+ const t = navigator, e = window, r = t && (t.userAgent || t.vendor) || e && e.opera || "", o = /Mobile|Android|iP(ad|hone|od)|IEMobile|BlackBerry|Kindle|Silk-Accelerated|(hpw|web)OS|Opera M(obi|ini)|Windows Phone|Phone|Tablet/i.test(
693
+ r
694
+ ), i = (t && t.maxTouchPoints || 0) > 1, s = e ? Math.min(e.innerWidth || 0, e.innerHeight || 0) <= 820 : !1;
695
+ return o || i && s;
696
+ }
697
+ function jr() {
698
+ const t = st(), e = navigator, r = window, n = (e && e.maxTouchPoints || 0) > 1, i = typeof document < "u" ? document.documentElement.clientWidth : r?.innerWidth || 0, s = typeof document < "u" ? document.documentElement.clientHeight : r?.innerHeight || 0, a = t && Math.min(i, s) >= 600;
699
+ return {
700
+ isMobile: t,
701
+ isTablet: a,
702
+ isDesktop: !t,
703
+ isTouchCapable: n,
704
+ deviceType: t ? a ? "tablet" : "mobile" : "desktop",
705
+ userAgent: e && (e.userAgent || e.vendor) || "",
706
+ screenWidth: i,
707
+ screenHeight: s
708
+ };
709
+ }
710
+ function Rr(t, e = X.get()) {
711
+ if (e.mode === "fixed")
712
+ return 1;
713
+ const r = t / e.baseWidth, o = Math.max(
714
+ e.minScale,
715
+ Math.min(e.maxScale, r)
716
+ );
717
+ return Number(o.toFixed(3));
718
+ }
719
+ function qn(t) {
720
+ const r = { ...X.get(), ...t };
721
+ X.set(r), typeof window < "u" && Kt();
722
+ }
723
+ function Kt() {
724
+ if (typeof window > "u" || typeof document > "u")
725
+ return;
726
+ if (!st()) {
727
+ D.set(1), document.documentElement.style.setProperty("--sf", "1"), window.dispatchEvent(
728
+ new CustomEvent("scaling-changed", {
729
+ detail: { scalingFactor: 1, config: X.get() }
730
+ })
731
+ );
732
+ return;
733
+ }
734
+ const e = document.documentElement.clientWidth, r = X.get(), o = Rr(e, r);
735
+ D.set(o), document.documentElement.style.setProperty("--sf", o.toString()), window.dispatchEvent(
736
+ new CustomEvent("scaling-changed", {
737
+ detail: { scalingFactor: o, config: r }
738
+ })
739
+ );
740
+ }
741
+ function Zn() {
742
+ return D.get();
743
+ }
744
+ function Wn(t) {
745
+ return t * D.get();
746
+ }
747
+ function Fn(t) {
748
+ const e = D.get();
749
+ return e === 0 ? t : t / e;
750
+ }
751
+ function ne() {
752
+ const t = jr();
753
+ if (typeof document > "u")
754
+ return t;
755
+ t.isMobile ? (document.documentElement.classList.add("mobile"), document.documentElement.classList.remove("desktop")) : (document.documentElement.classList.add("desktop"), document.documentElement.classList.remove("mobile")), Kt();
756
+ const e = D.get();
757
+ return t.isMobile ? console.log(
758
+ `[DS one] Mobile device detected - ${t.deviceType} (${t.screenWidth}x${t.screenHeight}), scaling factor: ${e.toFixed(2)}`
759
+ ) : console.log(
760
+ `[DS one] Desktop device detected (${t.screenWidth}x${t.screenHeight})`
761
+ ), typeof window < "u" && window.DS_ONE_DEBUG && console.log("[DS one] Device Info:", {
762
+ type: t.deviceType,
763
+ isMobile: t.isMobile,
764
+ isTablet: t.isTablet,
765
+ isDesktop: t.isDesktop,
766
+ isTouchCapable: t.isTouchCapable,
767
+ viewport: `${t.screenWidth}x${t.screenHeight}`,
768
+ scalingFactor: e,
769
+ userAgent: t.userAgent
770
+ }), t;
771
+ }
772
+ if (typeof window < "u") {
773
+ document.readyState === "loading" ? document.addEventListener("DOMContentLoaded", () => {
774
+ ne();
775
+ }) : ne();
776
+ let t;
777
+ window.addEventListener("resize", () => {
778
+ clearTimeout(t), t = setTimeout(() => {
779
+ ne();
780
+ }, 100);
781
+ }), window.addEventListener("orientationchange", () => {
782
+ setTimeout(ne, 100);
783
+ });
784
+ }
785
+ function Kn() {
786
+ if (typeof document > "u" || typeof window > "u")
787
+ return;
788
+ let t = document.querySelector('meta[name="viewport"]');
789
+ t || (t = document.createElement("meta"), t.setAttribute("name", "viewport"), document.head.appendChild(t)), t.setAttribute(
790
+ "content",
791
+ "width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"
792
+ );
793
+ const e = document.createElement("style");
794
+ e.id = "ds-one-applike-style", e.textContent = `
795
+ * {
796
+ touch-action: pan-x pan-y !important;
797
+ -ms-touch-action: pan-x pan-y !important;
798
+ }
799
+ html, body {
800
+ touch-action: pan-x pan-y !important;
801
+ -ms-touch-action: pan-x pan-y !important;
802
+ }
803
+ `;
804
+ const r = document.getElementById("ds-one-applike-style");
805
+ r && r.remove(), document.head.appendChild(e);
806
+ let o = 0, n = 0;
807
+ const i = (a) => {
808
+ if (a instanceof TouchEvent) {
809
+ if (a.touches.length > 1) {
810
+ a.preventDefault(), a.stopPropagation();
811
+ return;
812
+ }
813
+ const c = Date.now();
814
+ if (a.type === "touchstart") {
815
+ if (c - o < 300) {
816
+ a.preventDefault(), a.stopPropagation();
817
+ return;
818
+ }
819
+ n = c;
820
+ } else if (a.type === "touchend") {
821
+ if (c - n < 300 && c - o < 300) {
822
+ a.preventDefault(), a.stopPropagation();
823
+ return;
824
+ }
825
+ o = c;
826
+ } else if (a.type === "touchmove" && a.touches.length > 1) {
827
+ a.preventDefault(), a.stopPropagation();
828
+ return;
829
+ }
830
+ }
831
+ if (a instanceof WheelEvent && (a.ctrlKey || a.metaKey)) {
832
+ a.preventDefault(), a.stopPropagation();
833
+ return;
834
+ }
835
+ }, s = { passive: !1, capture: !0 };
836
+ document.addEventListener("touchstart", i, s), document.addEventListener("touchmove", i, s), document.addEventListener("touchend", i, s), document.addEventListener("touchcancel", i, s), document.addEventListener("wheel", i, s), document.addEventListener(
837
+ "gesturestart",
838
+ (a) => {
839
+ a.preventDefault(), a.stopPropagation();
840
+ },
841
+ s
842
+ ), document.addEventListener(
843
+ "gesturechange",
844
+ (a) => {
845
+ a.preventDefault(), a.stopPropagation();
846
+ },
847
+ s
848
+ ), document.addEventListener(
849
+ "gestureend",
850
+ (a) => {
851
+ a.preventDefault(), a.stopPropagation();
852
+ },
853
+ s
854
+ );
855
+ }
856
+ let Ur = {};
857
+ const Gt = [
858
+ "da",
859
+ "de",
860
+ "en",
861
+ "es",
862
+ "fr",
863
+ "it",
864
+ "ja",
865
+ "pt",
866
+ "sv",
867
+ "zh"
868
+ ], qr = new Map(
869
+ Gt.map((t, e) => [t, e])
870
+ ), _t = {
871
+ da: "Danish",
872
+ "da-dk": "Danish",
873
+ de: "German",
874
+ "de-de": "German",
875
+ en: "English",
876
+ "en-us": "English",
877
+ es: "Spanish",
878
+ "es-es": "Spanish",
879
+ fr: "French",
880
+ "fr-fr": "French",
881
+ it: "Italian",
882
+ "it-it": "Italian",
883
+ ja: "Japanese",
884
+ "ja-jp": "Japanese",
885
+ pt: "Portuguese",
886
+ "pt-pt": "Portuguese",
887
+ sv: "Swedish",
888
+ "sv-se": "Swedish",
889
+ zh: "Chinese",
890
+ "zh-cn": "Chinese",
891
+ "zh-tw": "Chinese",
892
+ "zh-hans": "Chinese",
893
+ "zh-hant": "Chinese"
894
+ }, kt = /* @__PURE__ */ new Map();
895
+ let Ct = !1;
896
+ const Jt = "./translations.json";
897
+ let $t = !1;
898
+ function At(t) {
899
+ if (!t)
900
+ return null;
901
+ const e = t.trim();
902
+ return e ? e.startsWith("./") || e.startsWith("../") || e.startsWith("/") || /^https?:\/\//i.test(e) ? e : `./${e}` : null;
903
+ }
904
+ function Zr() {
905
+ if (typeof document > "u")
906
+ return null;
907
+ const e = document.querySelector(
908
+ "script[data-ds-one-translations]"
909
+ )?.getAttribute(
910
+ "data-ds-one-translations"
911
+ );
912
+ if (e)
913
+ return e;
914
+ const r = document.querySelector('meta[name="ds-one:translations"]')?.getAttribute("content");
915
+ if (r)
916
+ return r;
917
+ const o = document.querySelector('link[rel="ds-one-translations"]')?.getAttribute("href");
918
+ return o || null;
919
+ }
920
+ function Wr() {
921
+ const t = [], e = typeof window < "u" ? window.DS_ONE_TRANSLATIONS_FILE : null, r = Zr(), o = At(e ?? "");
922
+ o && t.push(o);
923
+ const n = At(r ?? "");
924
+ return n && !t.includes(n) && t.push(n), t.length === 0 && t.push(Jt), t;
925
+ }
926
+ function Fr(t) {
927
+ return !t || typeof t != "object" ? !1 : Object.values(t).every(
928
+ (e) => e && typeof e == "object"
929
+ );
930
+ }
931
+ async function Kr(t) {
932
+ try {
933
+ const e = await fetch(t);
934
+ if (!e.ok)
935
+ return null;
936
+ const r = await e.json();
937
+ return Fr(r) ? Object.keys(r).length === 0 ? (console.warn(`[DS one] No languages found in ${t}`), null) : r : (console.warn(
938
+ `[DS one] Invalid translation format in ${t}. Expected object with language codes as keys.`
939
+ ), null);
940
+ } catch {
941
+ return null;
942
+ }
943
+ }
944
+ async function Lt() {
945
+ if ($t || ($t = !0, typeof window > "u"))
946
+ return !1;
947
+ if (window.DS_ONE_TRANSLATIONS && Object.keys(window.DS_ONE_TRANSLATIONS).length > 0)
948
+ return console.log(
949
+ `[DS one] Translations already loaded (${Object.keys(window.DS_ONE_TRANSLATIONS).length} languages), skipping auto-load`
950
+ ), !0;
951
+ const t = Wr();
952
+ for (const e of t) {
953
+ const r = await Kr(e);
954
+ if (!r)
955
+ continue;
956
+ window.DS_ONE_TRANSLATIONS = r;
957
+ const o = Object.keys(r);
958
+ return console.log(
959
+ `[DS one] External translations loaded from ${e}: ${o.length} language(s) – ${o.join(", ")}`
960
+ ), window.dispatchEvent(new CustomEvent("translations-ready")), !0;
961
+ }
962
+ return console.info(
963
+ `[DS one] No external translations found at ${t[0] ?? Jt}. Using bundled translations.`
964
+ ), !1;
965
+ }
966
+ function $e() {
967
+ return typeof window < "u" && window.DS_ONE_TRANSLATIONS ? window.DS_ONE_TRANSLATIONS : Ur;
968
+ }
969
+ let L = $e();
970
+ const C = "en";
971
+ function te(t) {
972
+ return t ? t.toLowerCase().split(/[-_]/)[0] ?? "" : "";
973
+ }
974
+ function Et(t) {
975
+ const e = te(t), r = qr.get(e);
976
+ return typeof r == "number" ? r : Gt.length;
977
+ }
978
+ function Yt(t) {
979
+ return [...t].sort((e, r) => {
980
+ const o = Et(e), n = Et(r);
981
+ return o !== n ? o - n : e.localeCompare(r);
982
+ });
983
+ }
984
+ function Gr(t, e) {
985
+ const r = t?.replace("_", "-");
986
+ if (r)
987
+ try {
988
+ let o = kt.get(r);
989
+ o || (o = new Intl.DisplayNames([r], {
990
+ type: "language"
991
+ }), kt.set(r, o));
992
+ const n = e.replace("_", "-"), i = o.of(n);
993
+ if (i && i !== n)
994
+ return i;
995
+ const s = o.of(te(n));
996
+ if (s)
997
+ return s;
998
+ } catch {
999
+ Ct || (console.info(
1000
+ "[DS one] Intl.DisplayNames is not available, using fallback language names."
1001
+ ), Ct = !0);
1002
+ }
1003
+ }
1004
+ function Jr(t) {
1005
+ const e = t.toLowerCase().replace("_", "-"), r = _t[e];
1006
+ if (r)
1007
+ return r;
1008
+ const o = te(e);
1009
+ return _t[o];
1010
+ }
1011
+ function Yr(t, e = {}) {
1012
+ if (!t)
1013
+ return "";
1014
+ const r = [];
1015
+ 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(C), r.push("en");
1016
+ const o = /* @__PURE__ */ new Set();
1017
+ for (const s of r) {
1018
+ if (!s || o.has(s))
1019
+ continue;
1020
+ o.add(s);
1021
+ const a = Gr(s, t);
1022
+ if (a)
1023
+ return a;
1024
+ }
1025
+ const n = Jr(t);
1026
+ if (n)
1027
+ return n;
1028
+ const i = te(t);
1029
+ return i ? i.toUpperCase() : t;
1030
+ }
1031
+ const St = {
1032
+ da: "da",
1033
+ "da-dk": "da",
1034
+ de: "de",
1035
+ "de-de": "de",
1036
+ en: "en",
1037
+ "en-us": "en",
1038
+ "en-gb": "en",
1039
+ es: "es",
1040
+ "es-es": "es",
1041
+ "es-mx": "es",
1042
+ fr: "fr",
1043
+ "fr-fr": "fr",
1044
+ it: "it",
1045
+ "it-it": "it",
1046
+ ja: "ja",
1047
+ "ja-jp": "ja",
1048
+ pt: "pt",
1049
+ "pt-pt": "pt",
1050
+ "pt-br": "pt",
1051
+ sv: "sv",
1052
+ "sv-se": "sv",
1053
+ zh: "zh",
1054
+ "zh-cn": "zh",
1055
+ "zh-hans": "zh",
1056
+ "zh-tw": "zh",
1057
+ "zh-hant": "zh"
1058
+ };
1059
+ function Vt(t) {
1060
+ if (!t)
1061
+ return null;
1062
+ const e = t.toLowerCase().replace("_", "-"), r = St[e];
1063
+ if (r)
1064
+ return r;
1065
+ const o = te(e), n = St[o];
1066
+ return n || t;
1067
+ }
1068
+ function Xr() {
1069
+ if (typeof navigator > "u")
1070
+ return C;
1071
+ const t = navigator.language;
1072
+ if (t) {
1073
+ const e = Vt(t);
1074
+ if (e)
1075
+ return e;
1076
+ }
1077
+ if (Array.isArray(navigator.languages))
1078
+ for (const e of navigator.languages) {
1079
+ const r = Vt(e);
1080
+ if (r)
1081
+ return r;
1082
+ }
1083
+ return C;
1084
+ }
1085
+ typeof window < "u" && window.localStorage?.getItem(
1086
+ "ds-one:language"
1087
+ );
1088
+ const k = {
1089
+ value: localStorage.getItem("language") || Xr(),
1090
+ set: function(t) {
1091
+ this.value = t, localStorage.setItem("language", t), window.dispatchEvent(
1092
+ new CustomEvent("language-changed", {
1093
+ detail: { language: t },
1094
+ bubbles: !0,
1095
+ composed: !0
1096
+ })
1097
+ );
1098
+ }
1099
+ };
1100
+ typeof window < "u" && (document.readyState === "loading" ? document.addEventListener("DOMContentLoaded", () => {
1101
+ Lt();
1102
+ }) : Lt());
1103
+ typeof window < "u" && window.addEventListener("translations-ready", () => {
1104
+ L = $e(), window.dispatchEvent(new CustomEvent("translations-loaded"));
1105
+ const t = k.value;
1106
+ window.dispatchEvent(
1107
+ new CustomEvent("language-changed", {
1108
+ detail: { language: t },
1109
+ bubbles: !0,
1110
+ composed: !0
1111
+ })
1112
+ );
1113
+ });
1114
+ setTimeout(() => {
1115
+ window.dispatchEvent(new CustomEvent("translations-loaded"));
1116
+ const t = k.value;
1117
+ window.dispatchEvent(
1118
+ new CustomEvent("language-changed", {
1119
+ detail: { language: t },
1120
+ bubbles: !0,
1121
+ composed: !0
1122
+ })
1123
+ );
1124
+ }, 100);
1125
+ function Z(t) {
1126
+ const e = k.value;
1127
+ return L?.[e]?.[t] ? L[e][t] : e !== C && L?.[C]?.[t] ? L[C][t] : (console.warn(
1128
+ `[DS one (Internationalization)] No translation found for key "${t}"`
1129
+ ), t);
1130
+ }
1131
+ function Gn(t, e = k.value) {
1132
+ if (!t)
1133
+ return !1;
1134
+ const r = L?.[e];
1135
+ return !!(r && Object.prototype.hasOwnProperty.call(r, t) || e !== C && L?.[C] && Object.prototype.hasOwnProperty.call(L[C], t));
1136
+ }
1137
+ function se(t) {
1138
+ return Z(t);
1139
+ }
1140
+ function Jn() {
1141
+ const t = $e();
1142
+ if (t && Object.keys(t).length > 0) {
1143
+ const e = Object.keys(t);
1144
+ return Promise.resolve(Yt(e));
1145
+ }
1146
+ return Promise.resolve([C]);
1147
+ }
1148
+ function Ht() {
1149
+ const t = $e();
1150
+ return t && Object.keys(t).length > 0 ? Yt(Object.keys(t)) : [C];
1151
+ }
1152
+ function Yn(t, e) {
1153
+ console.log(
1154
+ `Loading additional translations for ${t}:`,
1155
+ Object.keys(e).length,
1156
+ "keys"
1157
+ );
1158
+ }
1159
+ function Mt(t) {
1160
+ localStorage.setItem("language", t), k.set(t), window.dispatchEvent(
1161
+ new CustomEvent("language-changed", {
1162
+ detail: { language: t },
1163
+ bubbles: !0,
1164
+ composed: !0
1165
+ })
1166
+ );
1167
+ }
1168
+ function N(t) {
1169
+ if (!(typeof window > "u"))
1170
+ try {
1171
+ const e = window.localStorage?.getItem("ds-one:preferences"), o = { ...e ? JSON.parse(e) : {}, ...t };
1172
+ window.localStorage?.setItem("ds-one:preferences", JSON.stringify(o));
1173
+ } catch (e) {
1174
+ console.warn("ds-one: unable to persist preferences", e);
1175
+ }
1176
+ }
1177
+ const Qr = {
1178
+ da: "kr.",
1179
+ nb: "kr.",
1180
+ sv: "kr.",
1181
+ de: "€",
1182
+ en: "$",
1183
+ pt: "€",
1184
+ es: "€",
1185
+ zh: "¥",
1186
+ ja: "¥",
1187
+ ko: "₩"
1188
+ };
1189
+ function Xn(t) {
1190
+ const { language: e, country: r } = t;
1191
+ if (r) {
1192
+ const n = r.toUpperCase();
1193
+ if (n === "US" || n === "USA")
1194
+ return "$";
1195
+ if (n === "GB" || n === "UK")
1196
+ return "£";
1197
+ if (n === "JP" || n === "JPN" || n === "CN" || n === "CHN")
1198
+ return "¥";
1199
+ if (n === "KR" || n === "KOR")
1200
+ return "₩";
1201
+ }
1202
+ const o = e.toLowerCase().split(/[-_]/)[0];
1203
+ return Qr[o] || "$";
1204
+ }
1205
+ function eo() {
1206
+ if (typeof window > "u")
1207
+ return "light";
1208
+ const t = window.localStorage?.getItem("ds-one:theme");
1209
+ return t === "light" || t === "dark" ? t : window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
1210
+ }
1211
+ const Q = it(eo());
1212
+ function to(t) {
1213
+ if (t !== Q.get() && (Q.set(t), typeof window < "u")) {
1214
+ try {
1215
+ window.localStorage?.setItem("ds-one:theme", t);
1216
+ } catch (r) {
1217
+ console.warn("ds-one: unable to persist theme preference", r);
1218
+ }
1219
+ const e = window.document?.documentElement;
1220
+ e && (e.classList.remove("light-theme", "dark-theme"), e.classList.add(`${t}-theme`)), window.dispatchEvent(
1221
+ new CustomEvent("theme-changed", { detail: { theme: t } })
1222
+ );
1223
+ }
1224
+ }
1225
+ if (typeof window < "u") {
1226
+ const t = Q.get(), e = window.document?.documentElement;
1227
+ e && (e.classList.remove("light-theme", "dark-theme"), e.classList.add(`${t}-theme`));
1228
+ }
1229
+ /**
1230
+ * @license
1231
+ * Copyright 2019 Google LLC
1232
+ * SPDX-License-Identifier: BSD-3-Clause
1233
+ */
1234
+ const ae = globalThis, at = ae.ShadowRoot && (ae.ShadyCSS === void 0 || ae.ShadyCSS.nativeShadow) && "adoptedStyleSheets" in Document.prototype && "replace" in CSSStyleSheet.prototype, lt = Symbol(), Tt = /* @__PURE__ */ new WeakMap();
1235
+ let Xt = class {
1236
+ constructor(e, r, o) {
1237
+ if (this._$cssResult$ = !0, o !== lt) throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");
1238
+ this.cssText = e, this.t = r;
1239
+ }
1240
+ get styleSheet() {
1241
+ let e = this.o;
1242
+ const r = this.t;
1243
+ if (at && e === void 0) {
1244
+ const o = r !== void 0 && r.length === 1;
1245
+ o && (e = Tt.get(r)), e === void 0 && ((this.o = e = new CSSStyleSheet()).replaceSync(this.cssText), o && Tt.set(r, e));
1246
+ }
1247
+ return e;
1248
+ }
1249
+ toString() {
1250
+ return this.cssText;
1251
+ }
1252
+ };
1253
+ const x = (t) => new Xt(typeof t == "string" ? t : t + "", void 0, lt), Ae = (t, ...e) => {
1254
+ const r = t.length === 1 ? t[0] : e.reduce(((o, n, i) => o + ((s) => {
1255
+ if (s._$cssResult$ === !0) return s.cssText;
1256
+ if (typeof s == "number") return s;
1257
+ throw Error("Value passed to 'css' function must be a 'css' function result: " + s + ". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.");
1258
+ })(n) + t[i + 1]), t[0]);
1259
+ return new Xt(r, t, lt);
1260
+ }, ro = (t, e) => {
1261
+ if (at) t.adoptedStyleSheets = e.map(((r) => r instanceof CSSStyleSheet ? r : r.styleSheet));
1262
+ else for (const r of e) {
1263
+ const o = document.createElement("style"), n = ae.litNonce;
1264
+ n !== void 0 && o.setAttribute("nonce", n), o.textContent = r.cssText, t.appendChild(o);
1265
+ }
1266
+ }, Nt = at ? (t) => t : (t) => t instanceof CSSStyleSheet ? ((e) => {
1267
+ let r = "";
1268
+ for (const o of e.cssRules) r += o.cssText;
1269
+ return x(r);
1270
+ })(t) : t;
1271
+ /**
1272
+ * @license
1273
+ * Copyright 2017 Google LLC
1274
+ * SPDX-License-Identifier: BSD-3-Clause
1275
+ */
1276
+ const { is: oo, defineProperty: no, getOwnPropertyDescriptor: io, getOwnPropertyNames: so, getOwnPropertySymbols: ao, getPrototypeOf: lo } = Object, E = globalThis, It = E.trustedTypes, co = It ? It.emptyScript : "", ho = E.reactiveElementPolyfillSupport, W = (t, e) => t, Ie = { toAttribute(t, e) {
1277
+ switch (e) {
1278
+ case Boolean:
1279
+ t = t ? co : null;
1280
+ break;
1281
+ case Object:
1282
+ case Array:
1283
+ t = t == null ? t : JSON.stringify(t);
1284
+ }
1285
+ return t;
1286
+ }, fromAttribute(t, e) {
1287
+ let r = t;
1288
+ switch (e) {
1289
+ case Boolean:
1290
+ r = t !== null;
1291
+ break;
1292
+ case Number:
1293
+ r = t === null ? null : Number(t);
1294
+ break;
1295
+ case Object:
1296
+ case Array:
1297
+ try {
1298
+ r = JSON.parse(t);
1299
+ } catch {
1300
+ r = null;
1301
+ }
1302
+ }
1303
+ return r;
1304
+ } }, Qt = (t, e) => !oo(t, e), zt = { attribute: !0, type: String, converter: Ie, reflect: !1, useDefault: !1, hasChanged: Qt };
1305
+ Symbol.metadata ?? (Symbol.metadata = Symbol("metadata")), E.litPropertyMetadata ?? (E.litPropertyMetadata = /* @__PURE__ */ new WeakMap());
1306
+ class I extends HTMLElement {
1307
+ static addInitializer(e) {
1308
+ this._$Ei(), (this.l ?? (this.l = [])).push(e);
1309
+ }
1310
+ static get observedAttributes() {
1311
+ return this.finalize(), this._$Eh && [...this._$Eh.keys()];
1312
+ }
1313
+ static createProperty(e, r = zt) {
1314
+ 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) {
1315
+ const o = Symbol(), n = this.getPropertyDescriptor(e, o, r);
1316
+ n !== void 0 && no(this.prototype, e, n);
1317
+ }
1318
+ }
1319
+ static getPropertyDescriptor(e, r, o) {
1320
+ const { get: n, set: i } = io(this.prototype, e) ?? { get() {
1321
+ return this[r];
1322
+ }, set(s) {
1323
+ this[r] = s;
1324
+ } };
1325
+ return { get: n, set(s) {
1326
+ const a = n?.call(this);
1327
+ i?.call(this, s), this.requestUpdate(e, a, o);
1328
+ }, configurable: !0, enumerable: !0 };
1329
+ }
1330
+ static getPropertyOptions(e) {
1331
+ return this.elementProperties.get(e) ?? zt;
1332
+ }
1333
+ static _$Ei() {
1334
+ if (this.hasOwnProperty(W("elementProperties"))) return;
1335
+ const e = lo(this);
1336
+ e.finalize(), e.l !== void 0 && (this.l = [...e.l]), this.elementProperties = new Map(e.elementProperties);
1337
+ }
1338
+ static finalize() {
1339
+ if (this.hasOwnProperty(W("finalized"))) return;
1340
+ if (this.finalized = !0, this._$Ei(), this.hasOwnProperty(W("properties"))) {
1341
+ const r = this.properties, o = [...so(r), ...ao(r)];
1342
+ for (const n of o) this.createProperty(n, r[n]);
1343
+ }
1344
+ const e = this[Symbol.metadata];
1345
+ if (e !== null) {
1346
+ const r = litPropertyMetadata.get(e);
1347
+ if (r !== void 0) for (const [o, n] of r) this.elementProperties.set(o, n);
1348
+ }
1349
+ this._$Eh = /* @__PURE__ */ new Map();
1350
+ for (const [r, o] of this.elementProperties) {
1351
+ const n = this._$Eu(r, o);
1352
+ n !== void 0 && this._$Eh.set(n, r);
1353
+ }
1354
+ this.elementStyles = this.finalizeStyles(this.styles);
1355
+ }
1356
+ static finalizeStyles(e) {
1357
+ const r = [];
1358
+ if (Array.isArray(e)) {
1359
+ const o = new Set(e.flat(1 / 0).reverse());
1360
+ for (const n of o) r.unshift(Nt(n));
1361
+ } else e !== void 0 && r.push(Nt(e));
1362
+ return r;
1363
+ }
1364
+ static _$Eu(e, r) {
1365
+ const o = r.attribute;
1366
+ return o === !1 ? void 0 : typeof o == "string" ? o : typeof e == "string" ? e.toLowerCase() : void 0;
1367
+ }
1368
+ constructor() {
1369
+ super(), this._$Ep = void 0, this.isUpdatePending = !1, this.hasUpdated = !1, this._$Em = null, this._$Ev();
1370
+ }
1371
+ _$Ev() {
1372
+ this._$ES = new Promise(((e) => this.enableUpdating = e)), this._$AL = /* @__PURE__ */ new Map(), this._$E_(), this.requestUpdate(), this.constructor.l?.forEach(((e) => e(this)));
1373
+ }
1374
+ addController(e) {
1375
+ (this._$EO ?? (this._$EO = /* @__PURE__ */ new Set())).add(e), this.renderRoot !== void 0 && this.isConnected && e.hostConnected?.();
1376
+ }
1377
+ removeController(e) {
1378
+ this._$EO?.delete(e);
1379
+ }
1380
+ _$E_() {
1381
+ const e = /* @__PURE__ */ new Map(), r = this.constructor.elementProperties;
1382
+ for (const o of r.keys()) this.hasOwnProperty(o) && (e.set(o, this[o]), delete this[o]);
1383
+ e.size > 0 && (this._$Ep = e);
1384
+ }
1385
+ createRenderRoot() {
1386
+ const e = this.shadowRoot ?? this.attachShadow(this.constructor.shadowRootOptions);
1387
+ return ro(e, this.constructor.elementStyles), e;
1388
+ }
1389
+ connectedCallback() {
1390
+ this.renderRoot ?? (this.renderRoot = this.createRenderRoot()), this.enableUpdating(!0), this._$EO?.forEach(((e) => e.hostConnected?.()));
1391
+ }
1392
+ enableUpdating(e) {
1393
+ }
1394
+ disconnectedCallback() {
1395
+ this._$EO?.forEach(((e) => e.hostDisconnected?.()));
1396
+ }
1397
+ attributeChangedCallback(e, r, o) {
1398
+ this._$AK(e, o);
1399
+ }
1400
+ _$ET(e, r) {
1401
+ const o = this.constructor.elementProperties.get(e), n = this.constructor._$Eu(e, o);
1402
+ if (n !== void 0 && o.reflect === !0) {
1403
+ const i = (o.converter?.toAttribute !== void 0 ? o.converter : Ie).toAttribute(r, o.type);
1404
+ this._$Em = e, i == null ? this.removeAttribute(n) : this.setAttribute(n, i), this._$Em = null;
1405
+ }
1406
+ }
1407
+ _$AK(e, r) {
1408
+ const o = this.constructor, n = o._$Eh.get(e);
1409
+ if (n !== void 0 && this._$Em !== n) {
1410
+ const i = o.getPropertyOptions(n), s = typeof i.converter == "function" ? { fromAttribute: i.converter } : i.converter?.fromAttribute !== void 0 ? i.converter : Ie;
1411
+ this._$Em = n;
1412
+ const a = s.fromAttribute(r, i.type);
1413
+ this[n] = a ?? this._$Ej?.get(n) ?? a, this._$Em = null;
1414
+ }
1415
+ }
1416
+ requestUpdate(e, r, o) {
1417
+ if (e !== void 0) {
1418
+ const n = this.constructor, i = this[e];
1419
+ if (o ?? (o = n.getPropertyOptions(e)), !((o.hasChanged ?? Qt)(i, r) || o.useDefault && o.reflect && i === this._$Ej?.get(e) && !this.hasAttribute(n._$Eu(e, o)))) return;
1420
+ this.C(e, r, o);
1421
+ }
1422
+ this.isUpdatePending === !1 && (this._$ES = this._$EP());
1423
+ }
1424
+ C(e, r, { useDefault: o, reflect: n, wrapped: i }, s) {
1425
+ o && !(this._$Ej ?? (this._$Ej = /* @__PURE__ */ new Map())).has(e) && (this._$Ej.set(e, s ?? r ?? this[e]), i !== !0 || s !== void 0) || (this._$AL.has(e) || (this.hasUpdated || o || (r = void 0), this._$AL.set(e, r)), n === !0 && this._$Em !== e && (this._$Eq ?? (this._$Eq = /* @__PURE__ */ new Set())).add(e));
1426
+ }
1427
+ async _$EP() {
1428
+ this.isUpdatePending = !0;
1429
+ try {
1430
+ await this._$ES;
1431
+ } catch (r) {
1432
+ Promise.reject(r);
1433
+ }
1434
+ const e = this.scheduleUpdate();
1435
+ return e != null && await e, !this.isUpdatePending;
1436
+ }
1437
+ scheduleUpdate() {
1438
+ return this.performUpdate();
1439
+ }
1440
+ performUpdate() {
1441
+ if (!this.isUpdatePending) return;
1442
+ if (!this.hasUpdated) {
1443
+ if (this.renderRoot ?? (this.renderRoot = this.createRenderRoot()), this._$Ep) {
1444
+ for (const [n, i] of this._$Ep) this[n] = i;
1445
+ this._$Ep = void 0;
1446
+ }
1447
+ const o = this.constructor.elementProperties;
1448
+ if (o.size > 0) for (const [n, i] of o) {
1449
+ const { wrapped: s } = i, a = this[n];
1450
+ s !== !0 || this._$AL.has(n) || a === void 0 || this.C(n, void 0, i, a);
1451
+ }
1452
+ }
1453
+ let e = !1;
1454
+ const r = this._$AL;
1455
+ try {
1456
+ e = this.shouldUpdate(r), e ? (this.willUpdate(r), this._$EO?.forEach(((o) => o.hostUpdate?.())), this.update(r)) : this._$EM();
1457
+ } catch (o) {
1458
+ throw e = !1, this._$EM(), o;
1459
+ }
1460
+ e && this._$AE(r);
1461
+ }
1462
+ willUpdate(e) {
1463
+ }
1464
+ _$AE(e) {
1465
+ this._$EO?.forEach(((r) => r.hostUpdated?.())), this.hasUpdated || (this.hasUpdated = !0, this.firstUpdated(e)), this.updated(e);
1466
+ }
1467
+ _$EM() {
1468
+ this._$AL = /* @__PURE__ */ new Map(), this.isUpdatePending = !1;
1469
+ }
1470
+ get updateComplete() {
1471
+ return this.getUpdateComplete();
1472
+ }
1473
+ getUpdateComplete() {
1474
+ return this._$ES;
1475
+ }
1476
+ shouldUpdate(e) {
1477
+ return !0;
1478
+ }
1479
+ update(e) {
1480
+ this._$Eq && (this._$Eq = this._$Eq.forEach(((r) => this._$ET(r, this[r])))), this._$EM();
1481
+ }
1482
+ updated(e) {
1483
+ }
1484
+ firstUpdated(e) {
1485
+ }
1486
+ }
1487
+ I.elementStyles = [], I.shadowRootOptions = { mode: "open" }, I[W("elementProperties")] = /* @__PURE__ */ new Map(), I[W("finalized")] = /* @__PURE__ */ new Map(), ho?.({ ReactiveElement: I }), (E.reactiveElementVersions ?? (E.reactiveElementVersions = [])).push("2.1.1");
1488
+ /**
1489
+ * @license
1490
+ * Copyright 2017 Google LLC
1491
+ * SPDX-License-Identifier: BSD-3-Clause
1492
+ */
1493
+ const F = globalThis;
1494
+ class f extends I {
1495
+ constructor() {
1496
+ super(...arguments), this.renderOptions = { host: this }, this._$Do = void 0;
1497
+ }
1498
+ createRenderRoot() {
1499
+ var r;
1500
+ const e = super.createRenderRoot();
1501
+ return (r = this.renderOptions).renderBefore ?? (r.renderBefore = e.firstChild), e;
1502
+ }
1503
+ update(e) {
1504
+ const r = this.render();
1505
+ this.hasUpdated || (this.renderOptions.isConnected = this.isConnected), super.update(e), this._$Do = Br(r, this.renderRoot, this.renderOptions);
1506
+ }
1507
+ connectedCallback() {
1508
+ super.connectedCallback(), this._$Do?.setConnected(!0);
1509
+ }
1510
+ disconnectedCallback() {
1511
+ super.disconnectedCallback(), this._$Do?.setConnected(!1);
1512
+ }
1513
+ render() {
1514
+ return M;
1515
+ }
1516
+ }
1517
+ f._$litElement$ = !0, f.finalized = !0, F.litElementHydrateSupport?.({ LitElement: f });
1518
+ const uo = F.litElementPolyfillSupport;
1519
+ uo?.({ LitElement: f });
1520
+ (F.litElementVersions ?? (F.litElementVersions = [])).push("4.2.1");
1521
+ const po = ':host{display:inline;font-family:var(--typeface-regular);font-size:var(--type-size-default);font-weight:var(--type-weight-default);line-height:calc(var(--type-lineheight-default) * var(--sf));letter-spacing:calc(var(--type-letterspacing-default) * var(--sf));text-align:var(--text-align-default);text-transform:var(--text-transform-default);text-decoration:var(--text-decoration-default)}:host([data-language="ja"]){font-family:var(--typeface-regular-jp)}:host([data-language="zh"]),:host([data-language="zh-hant"]){font-family:var(--typeface-regular-zh-hant);font-weight:800}:host([data-language="zh-hans"]){font-family:var(--typeface-regular-zh-hans);font-weight:800}', ct = class ct extends f {
1522
+ static get properties() {
1523
+ return {
1524
+ text: { type: String, reflect: !0 },
1525
+ defaultValue: { type: String, reflect: !0, attribute: "default-value" },
1526
+ fallback: { type: String, reflect: !0 },
1527
+ // Kept for backward compatibility
1528
+ _text: { type: String, state: !0 }
1529
+ };
1530
+ }
1531
+ constructor() {
1532
+ super(), this.text = "", this.defaultValue = "", this.fallback = "", this._text = "", this._currentLanguage = k.value, this.boundHandlers = {
1533
+ languageChanged: (() => {
1534
+ console.log("Language changed event received in ds-text"), this._currentLanguage = k.value, this._updateLanguageAttribute(), this._loadText(), this.requestUpdate();
1535
+ })
1536
+ };
1537
+ }
1538
+ connectedCallback() {
1539
+ super.connectedCallback(), this._currentLanguage = k.value, this._updateLanguageAttribute(), this._loadText(), window.addEventListener(
1540
+ "language-changed",
1541
+ this.boundHandlers.languageChanged
1542
+ ), window.addEventListener(
1543
+ "translations-loaded",
1544
+ this.boundHandlers.languageChanged
1545
+ );
1546
+ }
1547
+ disconnectedCallback() {
1548
+ super.disconnectedCallback(), window.removeEventListener(
1549
+ "language-changed",
1550
+ this.boundHandlers.languageChanged
1551
+ ), window.removeEventListener(
1552
+ "translations-loaded",
1553
+ this.boundHandlers.languageChanged
1554
+ );
1555
+ }
1556
+ updated(e) {
1557
+ super.updated(e), (e.has("text") || e.has("defaultValue")) && this._loadText();
1558
+ }
1559
+ _updateLanguageAttribute() {
1560
+ const r = (this._currentLanguage || k.value || "").toLowerCase().split(/[-_]/).filter(Boolean), o = r[0] || "";
1561
+ if (o === "ja") {
1562
+ this.setAttribute("data-language", "ja");
1563
+ return;
1564
+ }
1565
+ if (o === "zh") {
1566
+ const n = r.includes("hans") || r.includes("cn") || r.includes("sg"), i = r.includes("hant") || r.includes("tw") || r.includes("hk") || r.includes("mo");
1567
+ n ? this.setAttribute("data-language", "zh-hans") : i ? this.setAttribute("data-language", "zh-hant") : this.setAttribute("data-language", "zh");
1568
+ return;
1569
+ }
1570
+ this.removeAttribute("data-language");
1571
+ }
1572
+ _loadText() {
1573
+ if (!this.text) {
1574
+ this._text = this.defaultValue || this.fallback || "", this._updateLanguageAttribute(), this.requestUpdate();
1575
+ return;
1576
+ }
1577
+ try {
1578
+ const e = se(this.text);
1579
+ this._text = e || this.defaultValue || this.fallback || this.text;
1580
+ } catch (e) {
1581
+ console.error("Error loading text for text:", this.text, e), this._text = this.defaultValue || this.fallback || this.text;
1582
+ }
1583
+ this._updateLanguageAttribute(), this.requestUpdate();
1584
+ }
1585
+ render() {
1586
+ return l`<span>${this._text || this.defaultValue || this.text}</span>`;
1587
+ }
1588
+ };
1589
+ ct.styles = x(po);
1590
+ let ze = ct;
1591
+ customElements.define("ds-text", ze);
1592
+ const go = "button{max-height:calc(var(--08) * var(--sf));display:inline-flex;align-items:center;justify-content:center;border:none;cursor:pointer;padding:0 calc(.5px * var(--sf));color:var(--button-text-color);font-family:var(--typeface-regular)}button.title{background-color:var(--button-background-color-secondary);color:var(--button-text-color)}button.primary{background-color:var(--accent-color);color:var(--button-text-color);text-decoration-line:none;font-family:var(--typeface-regular)}button.secondary{background-color:var(--button-background-color-secondary);color:var(--button-text-color);font-family:var(--typeface-regular)}button.text{background-color:transparent;color:var(--button-color, var(--button-text-color));font-family:var(--typeface-regular);padding:0;text-decoration:none}button.text:hover{opacity:.8;text-decoration:none}button[bold]{font-weight:var(--type-weight-bold);font-family:var(--typeface-medium)}button[no-background]{background-color:transparent;max-height:var(--1);padding:0;color:var(--button-color, var(--button-text-color-secondary))}button[no-background][bold]{font-weight:var(--type-weight-bold);font-family:var(--typeface-medium);color:var(--button-color, var(--button-text-color-secondary))}.loading{opacity:.7}", de = class de extends f {
1593
+ constructor() {
1594
+ super(), this.variant = "title", this.disabled = !1, this.bold = !1, this["no-background"] = !1, this.blank = !1, this.text = "", this.fallback = "", this.language = "en-US", this.defaultText = "", this.href = "", this._loading = !1;
1595
+ }
1596
+ connectedCallback() {
1597
+ super.connectedCallback();
1598
+ }
1599
+ render() {
1600
+ const e = this.text || this.defaultText || this.fallback;
1601
+ return l`
4
1602
  <button
5
1603
  class=${this.variant}
6
1604
  ?disabled=${this.disabled}
@@ -8,59 +1606,561 @@ function is(){if(typeof navigator>"u"||typeof window>"u")return!1;let t=navigato
8
1606
  ?no-background=${this["no-background"]}
9
1607
  @click=${this._handleClick}
10
1608
  >
11
- ${this._text?this._text:a`<slot></slot>`}
1609
+ ${e ? l`<ds-text
1610
+ .text=${this.text}
1611
+ .defaultValue=${this.defaultText}
1612
+ .fallback=${this.fallback}
1613
+ ></ds-text>` : l`<slot></slot>`}
12
1614
  </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}}};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
- button {
15
- max-height: calc(var(--08) * var(--scaling-factor));
1615
+ `;
1616
+ }
1617
+ _handleClick(e) {
1618
+ if (this.disabled) {
1619
+ e.preventDefault(), e.stopPropagation();
1620
+ return;
1621
+ }
1622
+ if (this.href) {
1623
+ e.preventDefault(), e.stopPropagation(), this.blank ? window.open(this.href, "_blank", "noopener,noreferrer") : window.location.href = this.href;
1624
+ return;
1625
+ }
1626
+ }
1627
+ };
1628
+ de.properties = {
1629
+ variant: { type: String, reflect: !0 },
1630
+ disabled: { type: Boolean, reflect: !0 },
1631
+ bold: { type: Boolean, reflect: !0 },
1632
+ "no-background": {
1633
+ type: Boolean,
1634
+ reflect: !0,
1635
+ attribute: "no-background"
1636
+ },
1637
+ blank: { type: Boolean, reflect: !0 },
1638
+ text: { type: String },
1639
+ fallback: { type: String },
1640
+ language: { type: String },
1641
+ defaultText: { type: String, attribute: "default-text" },
1642
+ href: { type: String },
1643
+ _loading: { type: Boolean, state: !0 }
1644
+ }, de.styles = x(go);
1645
+ let Oe = de;
1646
+ customElements.define("ds-button", Oe);
1647
+ const vo = ':host{display:flex;position:absolute;top:0;left:0;right:0;width:100%;height:calc(var(--unit) * var(--sf, 1));align-items:center;justify-content:space-between;padding:0 calc(var(--unit) * var(--sf, 1));box-sizing:border-box;z-index:9999}:host([variant="warning"]){background-color:color-mix(in srgb,var(--yellow) 50%,transparent);--banner-text-color: color-mix(in srgb, var(--black) 50%, transparent);--banner-action-color: var(--slate)}:host([variant="info"]){background-color:rgba(var(--sharp-blue-rgb, 0, 122, 255),.7);--banner-text-color: var(--white, #fff);--banner-action-color: var(--white, #fff)}:host([variant="success"]){background-color:rgba(var(--apple-green-rgb, 52, 199, 89),.7);--banner-text-color: var(--white, #fff);--banner-action-color: var(--white, #fff)}:host([variant="error"]){background-color:rgba(var(--tuned-red-rgb, 255, 59, 48),.7);--banner-text-color: var(--white, #fff);--banner-action-color: var(--slate, #1e1e1e)}.text-wrapper{flex:1;cursor:pointer;user-select:none}.text-wrapper ds-text,.text-wrapper .version{color:var(--banner-text-color)}.action-wrapper{font-size:calc(12px * var(--sf, 1))}.action-wrapper a{color:var(--banner-action-color);text-decoration:none;font-family:var(--typeface-regular);font-size:calc(12px * var(--sf, 1));cursor:pointer;pointer-events:auto;display:inline-block}.action-wrapper a:hover{opacity:.8}.action-wrapper ds-text{color:var(--banner-action-color);font-family:var(--typeface-regular);font-size:calc(12px * var(--sf, 1));pointer-events:none}', he = class he extends f {
1648
+ constructor() {
1649
+ super(...arguments), this.text = "", this.action = "", this.href = "", this.mailto = "", this.subject = "", this.describe = "", this.appVersion = "", this.variant = "warning", this.version = "", this._showVersion = !1, this._boundUpdate = () => this.requestUpdate();
1650
+ }
1651
+ connectedCallback() {
1652
+ super.connectedCallback(), window.addEventListener("translations-loaded", this._boundUpdate), window.addEventListener("language-changed", this._boundUpdate);
1653
+ }
1654
+ disconnectedCallback() {
1655
+ super.disconnectedCallback(), window.removeEventListener("translations-loaded", this._boundUpdate), window.removeEventListener("language-changed", this._boundUpdate);
1656
+ }
1657
+ _toggleVersion() {
1658
+ this.version && (this._showVersion = !this._showVersion);
1659
+ }
1660
+ _getMailtoHref() {
1661
+ if (this.href && this.href !== "#") return this.href;
1662
+ if (this.mailto)
1663
+ try {
1664
+ const e = this.subject ? se(this.subject) || this.subject : "Issue report", r = this.describe ? se(this.describe) || this.describe : "Describe the issue:", o = this.appVersion ? se(this.appVersion) || this.appVersion : "App version:", n = `${r}
1665
+
1666
+
1667
+ ${o} ${this.version || ""}`;
1668
+ return `mailto:${this.mailto}?subject=${encodeURIComponent(e)}&body=${encodeURIComponent(n)}`;
1669
+ } catch {
1670
+ return `mailto:${this.mailto}?subject=Issue%20report&body=Describe%20the%20issue%3A%0A%0A%0AApp%20version%3A%20${this.version || ""}`;
1671
+ }
1672
+ return "#";
1673
+ }
1674
+ render() {
1675
+ const e = this._getMailtoHref();
1676
+ return l`
1677
+ <div class="text-wrapper" @click=${this._toggleVersion}>
1678
+ ${this._showVersion && this.version ? l`<ds-text default-value=${this.version}></ds-text>` : l`<ds-text text=${this.text}><slot></slot></ds-text>`}
1679
+ </div>
1680
+ ${this.action ? l`
1681
+ <div class="action-wrapper">
1682
+ <a href=${e}>
1683
+ <ds-text text=${this.action}></ds-text>
1684
+ </a>
1685
+ </div>
1686
+ ` : ""}
1687
+ `;
1688
+ }
1689
+ };
1690
+ he.properties = {
1691
+ text: { type: String },
1692
+ action: { type: String },
1693
+ href: { type: String },
1694
+ mailto: { type: String },
1695
+ subject: { type: String },
1696
+ describe: { type: String },
1697
+ appVersion: { type: String, attribute: "app-version" },
1698
+ variant: { type: String },
1699
+ version: { type: String },
1700
+ _showVersion: { type: Boolean, state: !0 }
1701
+ }, he.styles = x(vo);
1702
+ let Pe = he;
1703
+ customElements.define("ds-banner", Pe);
1704
+ const ue = class ue extends f {
1705
+ constructor() {
1706
+ super(), this.variant = "default", this.elevation = 1, this.interactive = !1, this.disabled = !1, this.padding = "medium";
1707
+ }
1708
+ render() {
1709
+ return l`
1710
+ <div class="card-content" part="content">
1711
+ <slot></slot>
1712
+ </div>
1713
+ `;
1714
+ }
1715
+ };
1716
+ ue.properties = {
1717
+ variant: { type: String, reflect: !0 },
1718
+ elevation: { type: Number, reflect: !0 },
1719
+ interactive: { type: Boolean, reflect: !0 },
1720
+ disabled: { type: Boolean, reflect: !0 },
1721
+ padding: { type: String, reflect: !0 }
1722
+ }, ue.styles = Ae`
1723
+ :host {
1724
+ display: block;
1725
+ box-sizing: border-box;
1726
+ border-radius: calc(var(--025) * var(--sf, 1));
1727
+ background-color: var(--card-background, var(--surface-color, #fff));
1728
+ color: var(--text-color-primary);
1729
+ transition:
1730
+ box-shadow 0.2s ease,
1731
+ transform 0.2s ease;
1732
+ }
1733
+
1734
+ :host([variant="default"]) {
1735
+ background-color: var(--card-background, var(--surface-color, #fff));
1736
+ border: 1px solid var(--border-color, rgba(0, 0, 0, 0.1));
1737
+ }
1738
+
1739
+ :host([variant="outlined"]) {
1740
+ background-color: transparent;
1741
+ border: 1px solid var(--border-color, rgba(0, 0, 0, 0.2));
1742
+ }
1743
+
1744
+ :host([variant="elevated"]) {
1745
+ background-color: var(--card-background, var(--surface-color, #fff));
1746
+ border: none;
1747
+ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
1748
+ }
1749
+
1750
+ :host([variant="filled"]) {
1751
+ background-color: var(
1752
+ --card-background-filled,
1753
+ var(--surface-color-secondary, #f5f5f5)
1754
+ );
16
1755
  border: none;
17
- cursor: pointer;
18
- font-size: calc(var(--type-size-default) * var(--scaling-factor));
19
- padding: 0 calc(1px * var(--scaling-factor));
20
- color: var(--button-text-color);
21
- font-family: var(--typeface);
22
1756
  }
23
1757
 
24
- button.title {
25
- background-color: var(--button-background-color-secondary);
26
- color: var(--button-text-color);
1758
+ :host([elevation="0"]) {
1759
+ box-shadow: none;
27
1760
  }
28
1761
 
29
- button.primary {
30
- background-color: var(--accent-color);
31
- color: var(--button-text-color);
32
- text-decoration-line: none;
33
- font-family: var(--typeface);
1762
+ :host([elevation="1"]) {
1763
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
34
1764
  }
35
1765
 
36
- button.secondary {
37
- background-color: var(--button-background-color-secondary);
38
- color: var(--button-text-color);
39
- font-family: var(--typeface);
1766
+ :host([elevation="2"]) {
1767
+ box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12);
40
1768
  }
41
1769
 
42
- button[bold] {
43
- font-weight: var(--type-weight-bold);
44
- font-family: var(--typeface-medium);
1770
+ :host([elevation="3"]) {
1771
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.16);
45
1772
  }
46
1773
 
47
- button[no-background] {
48
- background-color: transparent;
49
- max-height: var(--1);
1774
+ :host([interactive]) {
1775
+ cursor: pointer;
1776
+ }
1777
+
1778
+ :host([interactive]:hover:not([disabled])) {
1779
+ transform: translateY(-2px);
1780
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
1781
+ }
1782
+
1783
+ :host([interactive]:active:not([disabled])) {
1784
+ transform: translateY(0);
1785
+ }
1786
+
1787
+ :host([disabled]) {
1788
+ opacity: 0.5;
1789
+ pointer-events: none;
1790
+ }
1791
+
1792
+ :host([padding="none"]) {
50
1793
  padding: 0;
51
- color: var(--button-color, var(--button-text-color-secondary));
52
1794
  }
53
1795
 
54
- button[no-background][bold] {
55
- font-weight: var(--type-weight-bold);
56
- font-family: var(--typeface-medium);
57
- color: var(--button-color, var(--button-text-color-secondary));
1796
+ :host([padding="small"]) {
1797
+ padding: calc(var(--025) * var(--sf, 1));
1798
+ }
1799
+
1800
+ :host([padding="medium"]) {
1801
+ padding: calc(var(--05) * var(--sf, 1));
1802
+ }
1803
+
1804
+ :host([padding="large"]) {
1805
+ padding: calc(var(--1) * var(--sf, 1));
58
1806
  }
59
1807
 
60
- .loading {
61
- opacity: 0.7;
1808
+ .card-content {
1809
+ width: 100%;
1810
+ height: 100%;
62
1811
  }
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 s=[e];return s.raw=s,this._t={_$litType$:this.constructor.resultType,strings:s,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 s=this._type;this._type=e,this.requestUpdate("type",s)}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`
1812
+ `;
1813
+ let Be = ue;
1814
+ customElements.define("ds-card", Be);
1815
+ const fo = `<svg width="9" height="8" viewBox="0 0 9 8" fill="none" xmlns="http://www.w3.org/2000/svg">
1816
+ <path d="M2.20008 2.1176C1.96088 2.3776 1.48248 2.5024 1.09768 2.5024H0.848083V1.4H1.01448C1.68008 1.4 2.21048 1.0464 2.41848 0.307999H3.39608V7.692H2.20008V2.1176Z" fill="#2A2A2A"/>
1817
+ <path d="M4.27992 7.692L5.81912 4.9776L4.39432 2.492H5.68392L6.30792 3.7816C6.41192 3.9896 6.48472 4.1456 6.52632 4.312H6.54712C6.57832 4.156 6.65112 3.9792 6.75512 3.7712L7.33752 2.492H8.60632L7.21272 5.0088L8.75192 7.692H7.44152L6.72392 6.2672C6.61992 6.0592 6.53672 5.872 6.50552 5.7368H6.48472C6.45352 5.8512 6.37032 6.0488 6.25592 6.2672L5.53832 7.692H4.27992Z" fill="#2A2A2A"/>
1818
+ </svg>
1819
+ `, wo = `<svg width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg">
1820
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M1.28996 0.148769V1.16877H0.269958V0.148769H1.28996Z" fill="#2A2A2A"/>
1821
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M6.30998 0.148769V1.16877H5.28998V0.148769H6.30998Z" fill="#2A2A2A"/>
1822
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M11.33 0.148769V1.16877H10.31V0.148769H11.33Z" fill="#2A2A2A"/>
1823
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M1.28996 5.16877V6.18877H0.269958V5.16877H1.28996Z" fill="#2A2A2A"/>
1824
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M6.30998 5.16877V6.18877H5.28998V5.16877H6.30998Z" fill="#2A2A2A"/>
1825
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M11.33 5.16877V6.18877H10.31V5.16877H11.33Z" fill="#2A2A2A"/>
1826
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M1.28996 10.1888V11.2088H0.269958V10.1888H1.28996Z" fill="#2A2A2A"/>
1827
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M6.30998 10.1888V11.2088H5.28998V10.1888H6.30998Z" fill="#2A2A2A"/>
1828
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M11.33 10.1888V11.2088H10.31V10.1888H11.33Z" fill="#2A2A2A"/>
1829
+ </svg>
1830
+ `, mo = `<svg width="17" height="17" viewBox="0 0 17 17" fill="none" xmlns="http://www.w3.org/2000/svg">
1831
+ <path d="M0.799988 3.34877L16.8 3.34877V4.36877L0.799988 4.36877V3.34877Z" fill="#2A2A2A"/>
1832
+ <path d="M0.799988 8.16877L16.8 8.16877V9.18877L0.799988 9.18877V8.16877Z" fill="#2A2A2A"/>
1833
+ <path d="M0.799988 12.9888H16.8V14.0088L0.799988 14.0088V12.9888Z" fill="#2A2A2A"/>
1834
+ <path d="M4.48999 16.6788L3.46999 16.6788L3.46999 0.678791L4.48999 0.678772L4.48999 16.6788Z" fill="#2A2A2A"/>
1835
+ <path d="M9.30999 16.6788L8.28999 16.6788L8.28999 0.678791L9.30999 0.678772L9.30999 16.6788Z" fill="#2A2A2A"/>
1836
+ <path d="M14.13 16.6788L13.11 16.6788L13.11 0.678791L14.13 0.678772L14.13 16.6788Z" fill="#2A2A2A"/>
1837
+ </svg>
1838
+ `, bo = `<svg width="17" height="12" viewBox="0 0 17 12" fill="none" xmlns="http://www.w3.org/2000/svg">
1839
+ <path d="M0.799988 0.148769L16.8 0.14877V1.16877L0.799988 1.16877V0.148769Z" fill="#2A2A2A"/>
1840
+ <path d="M0.799988 5.16877L16.8 5.16877V6.18877L0.799988 6.18877V5.16877Z" fill="#2A2A2A"/>
1841
+ <path d="M0.799988 10.1888H16.8V11.2088L0.799988 11.2088V10.1888Z" fill="#2A2A2A"/>
1842
+ </svg>
1843
+ `, yo = `<svg width="12" height="8" viewBox="0 0 12 8" fill="none" xmlns="http://www.w3.org/2000/svg">
1844
+ <path d="M3.2 2.12C2.96 2.38 2.48 2.5 2.1 2.5H1.85V1.4H2.01C2.68 1.4 3.21 1.05 3.42 0.31H4.4V7.69H3.2V2.12Z" fill="currentColor"/>
1845
+ <path d="M5.28 7.69L6.82 4.98L5.39 2.49H6.68L7.31 3.78C7.41 3.99 7.48 4.15 7.53 4.31H7.55C7.58 4.16 7.65 3.98 7.76 3.77L8.34 2.49H9.61L8.21 5.01L9.75 7.69H8.44L7.72 6.27C7.62 6.06 7.54 5.87 7.51 5.74H7.48C7.45 5.85 7.37 6.05 7.26 6.27L6.54 7.69H5.28Z" fill="currentColor"/>
1846
+ </svg>
1847
+ `, xo = `<svg width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg">
1848
+ <circle cx="1" cy="1" r="0.75" fill="currentColor"/>
1849
+ <circle cx="4" cy="1" r="0.75" fill="currentColor"/>
1850
+ <circle cx="7" cy="1" r="0.75" fill="currentColor"/>
1851
+ <circle cx="10" cy="1" r="0.75" fill="currentColor"/>
1852
+ <circle cx="1" cy="4" r="0.75" fill="currentColor"/>
1853
+ <circle cx="4" cy="4" r="0.75" fill="currentColor"/>
1854
+ <circle cx="7" cy="4" r="0.75" fill="currentColor"/>
1855
+ <circle cx="10" cy="4" r="0.75" fill="currentColor"/>
1856
+ <circle cx="1" cy="7" r="0.75" fill="currentColor"/>
1857
+ <circle cx="4" cy="7" r="0.75" fill="currentColor"/>
1858
+ <circle cx="7" cy="7" r="0.75" fill="currentColor"/>
1859
+ <circle cx="10" cy="7" r="0.75" fill="currentColor"/>
1860
+ <circle cx="1" cy="10" r="0.75" fill="currentColor"/>
1861
+ <circle cx="4" cy="10" r="0.75" fill="currentColor"/>
1862
+ <circle cx="7" cy="10" r="0.75" fill="currentColor"/>
1863
+ <circle cx="10" cy="10" r="0.75" fill="currentColor"/>
1864
+ </svg>
1865
+ `, _o = `<svg width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg">
1866
+ <rect x="0" y="0" width="5.5" height="5.5" fill="currentColor"/>
1867
+ <rect x="6.5" y="0" width="5.5" height="5.5" fill="currentColor"/>
1868
+ <rect x="0" y="6.5" width="5.5" height="5.5" fill="currentColor"/>
1869
+ <rect x="6.5" y="6.5" width="5.5" height="5.5" fill="currentColor"/>
1870
+ </svg>
1871
+ `, ko = `<svg width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg">
1872
+ <line x1="0" y1="1" x2="12" y2="1" stroke="currentColor" stroke-width="1"/>
1873
+ <line x1="0" y1="4" x2="12" y2="4" stroke="currentColor" stroke-width="1"/>
1874
+ <line x1="0" y1="7" x2="12" y2="7" stroke="currentColor" stroke-width="1"/>
1875
+ <line x1="0" y1="10" x2="12" y2="10" stroke="currentColor" stroke-width="1"/>
1876
+ </svg>
1877
+ `, Co = `<svg width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg">
1878
+ <rect x="0" y="0" width="2.5" height="2.5" fill="currentColor"/>
1879
+ <rect x="3.5" y="0" width="2.5" height="2.5" fill="currentColor"/>
1880
+ <rect x="7" y="0" width="2.5" height="2.5" fill="currentColor"/>
1881
+ <rect x="10.5" y="0" width="1.5" height="2.5" fill="currentColor"/>
1882
+ <rect x="0" y="3.5" width="2.5" height="2.5" fill="currentColor"/>
1883
+ <rect x="3.5" y="3.5" width="2.5" height="2.5" fill="currentColor"/>
1884
+ <rect x="7" y="3.5" width="2.5" height="2.5" fill="currentColor"/>
1885
+ <rect x="10.5" y="3.5" width="1.5" height="2.5" fill="currentColor"/>
1886
+ <rect x="0" y="7" width="2.5" height="2.5" fill="currentColor"/>
1887
+ <rect x="3.5" y="7" width="2.5" height="2.5" fill="currentColor"/>
1888
+ <rect x="7" y="7" width="2.5" height="2.5" fill="currentColor"/>
1889
+ <rect x="10.5" y="7" width="1.5" height="2.5" fill="currentColor"/>
1890
+ <rect x="0" y="10.5" width="2.5" height="1.5" fill="currentColor"/>
1891
+ <rect x="3.5" y="10.5" width="2.5" height="1.5" fill="currentColor"/>
1892
+ <rect x="7" y="10.5" width="2.5" height="1.5" fill="currentColor"/>
1893
+ <rect x="10.5" y="10.5" width="1.5" height="1.5" fill="currentColor"/>
1894
+ </svg>
1895
+ `, $o = `<svg width="12" height="14" viewBox="0 0 12 14" fill="none" xmlns="http://www.w3.org/2000/svg">
1896
+ <path d="M9.87 7.12C9.85 5.38 11.27 4.56 11.34 4.51C10.5 3.31 9.21 3.14 8.77 3.13C7.65 3.01 6.57 3.8 6 3.8C5.42 3.8 4.52 3.14 3.58 3.16C2.36 3.18 1.22 3.88 0.6 4.97C-0.68 7.18 0.28 10.44 1.51 12.23C2.13 13.1 2.85 14.09 3.79 14.06C4.7 14.02 5.05 13.47 6.15 13.47C7.24 13.47 7.56 14.06 8.52 14.03C9.5 14.01 10.12 13.15 10.71 12.27C11.42 11.26 11.7 10.28 11.71 10.23C11.69 10.22 9.89 9.52 9.87 7.12Z" fill="currentColor"/>
1897
+ <path d="M8.15 2.06C8.65 1.45 9 0.62 8.91 0C8.18 0.03 7.29 0.49 6.77 1.08C6.31 1.61 5.88 2.47 5.99 3.08C6.79 3.14 7.63 2.66 8.15 2.06Z" fill="currentColor"/>
1898
+ </svg>
1899
+ `, Ao = `<svg width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg">
1900
+ <circle cx="6" cy="3.5" r="2.5" fill="currentColor"/>
1901
+ <path d="M1 11C1 8.23858 3.23858 6 6 6C8.76142 6 11 8.23858 11 11V12H1V11Z" fill="currentColor"/>
1902
+ </svg>
1903
+ `, Lo = `<svg width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg">
1904
+ <rect x="1" y="1" width="10" height="10" rx="1" stroke="currentColor" stroke-width="1.2" fill="none"/>
1905
+ <path d="M4 6L6 4L8 6M6 4V8" stroke="currentColor" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round"/>
1906
+ </svg>
1907
+ `, Eo = `<svg width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg">
1908
+ <rect x="1" y="0.5" width="10" height="11" rx="1" stroke="currentColor" stroke-width="1" fill="none"/>
1909
+ </svg>
1910
+ `, So = `<svg width="12" height="10" viewBox="0 0 12 10" fill="none" xmlns="http://www.w3.org/2000/svg">
1911
+ <path d="M1 5L4.5 8.5L11 1.5" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
1912
+ </svg>
1913
+ `, Vo = `<svg width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg">
1914
+ <path d="M2 2L10 10M10 2L2 10" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"/>
1915
+ </svg>
1916
+ `, Ho = `<svg width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg">
1917
+ <path d="M2 4L6 8L10 4" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
1918
+ </svg>
1919
+ `, Mo = `<svg width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg">
1920
+ <circle cx="6" cy="6" r="5" stroke="currentColor" stroke-width="1.2" fill="none"/>
1921
+ <circle cx="6" cy="6" r="3" fill="currentColor"/>
1922
+ </svg>
1923
+ `, To = `<svg width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg">
1924
+ <rect x="0.5" y="0.5" width="3" height="11" stroke="currentColor" stroke-width="1" fill="none"/>
1925
+ <rect x="4.5" y="0.5" width="3" height="11" stroke="currentColor" stroke-width="1" fill="none"/>
1926
+ <rect x="8.5" y="0.5" width="3" height="11" stroke="currentColor" stroke-width="1" fill="none"/>
1927
+ </svg>
1928
+ `, No = `<svg width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg">
1929
+ <rect x="1" y="1" width="10" height="10" rx="1" stroke="currentColor" stroke-width="1.2" fill="none"/>
1930
+ </svg>
1931
+ `, Io = `<svg width="12" height="14" viewBox="0 0 12 14" fill="none" xmlns="http://www.w3.org/2000/svg">
1932
+ <path d="M1 3H11M4.5 3V1.5H7.5V3M2.5 3V12.5C2.5 13.0523 2.94772 13.5 3.5 13.5H8.5C9.05228 13.5 9.5 13.0523 9.5 12.5V3" stroke="currentColor" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round" fill="none"/>
1933
+ <line x1="4.5" y1="5.5" x2="4.5" y2="11" stroke="currentColor" stroke-width="1.2" stroke-linecap="round"/>
1934
+ <line x1="7.5" y1="5.5" x2="7.5" y2="11" stroke="currentColor" stroke-width="1.2" stroke-linecap="round"/>
1935
+ </svg>
1936
+ `, zo = `<svg width="12" height="14" viewBox="0 0 12 14" fill="none" xmlns="http://www.w3.org/2000/svg">
1937
+ <rect x="3.5" y="0" width="5" height="8" rx="2.5" fill="currentColor"/>
1938
+ <path d="M1 6C1 8.76142 3.23858 11 6 11C8.76142 11 11 8.76142 11 6" stroke="currentColor" stroke-width="1.2" fill="none"/>
1939
+ <line x1="6" y1="11" x2="6" y2="14" stroke="currentColor" stroke-width="1.2"/>
1940
+ <line x1="3.5" y1="14" x2="8.5" y2="14" stroke="currentColor" stroke-width="1.2"/>
1941
+ </svg>
1942
+ `, Oo = `<svg width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg">
1943
+ <path d="M10 3L4.5 9L2 6.5" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
1944
+ </svg>
1945
+ `, Po = `<svg width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg">
1946
+ <path d="M6 2V10M6 10L2 6M6 10L10 6" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
1947
+ </svg>
1948
+ `, Bo = `<svg width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg">
1949
+ <rect x="3" y="3" width="8" height="8" rx="1" stroke="currentColor" stroke-width="1.2" fill="none"/>
1950
+ <path d="M9 3V2C9 1.44772 8.55228 1 8 1H2C1.44772 1 1 1.44772 1 2V8C1 8.55228 1.44772 9 2 9H3" stroke="currentColor" stroke-width="1.2" fill="none"/>
1951
+ </svg>
1952
+ `, Do = `<svg xmlns="http://www.w3.org/2000/svg" width="16" height="11" viewBox="0 0 16 11" fill="none">
1953
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M14.0871 0.989435L0.930906 0.988037L0.930542 11L13.0753 11H14.0871V0.989435ZM7.50709 8.0566L1.94249 2.49201L1.94248 9.98814H13.0753V2.48839L7.50709 8.0566ZM2.85116 2L7.50709 6.65593L12.1515 1.99952L2.85116 2Z" fill="currentColor"/>
1954
+ </svg>
1955
+
1956
+ `, jo = `<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12" fill="none">
1957
+ <path d="M0 5.81415V0H5.80924L5.81842 0.990424H1.70698L11.0089 10.2943L10.9997 6.18585H12V12H6.19076L6.18158 11.0096H10.293L0.99115 1.70573L1.00033 5.81415H0Z" fill="currentColor"/>
1958
+ </svg>
1959
+
1960
+ `, Ro = `<svg width="12" height="10" viewBox="0 0 12 10" fill="none" xmlns="http://www.w3.org/2000/svg">
1961
+ <rect x="0.5" y="0.5" width="11" height="9" rx="0.5" stroke="currentColor" stroke-width="1" fill="none"/>
1962
+ <circle cx="3.5" cy="3.5" r="1.5" fill="currentColor"/>
1963
+ <path d="M0 8L4 5L7 7L12 3" stroke="currentColor" stroke-width="1" stroke-linejoin="round"/>
1964
+ </svg>
1965
+ `, Uo = `<svg width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg">
1966
+ <path d="M11.82 6.13C11.82 5.72 11.79 5.32 11.71 4.93H6.12V7.2H9.31C9.18 7.91 8.78 8.52 8.18 8.92V10.4H10.08C11.19 9.38 11.82 7.9 11.82 6.13Z" fill="currentColor"/>
1967
+ <path d="M6.12 11.82C7.76 11.82 9.15 11.28 10.08 10.4L8.18 8.92C7.67 9.27 7.01 9.47 6.12 9.47C4.54 9.47 3.2 8.44 2.76 7.05H0.81V8.58C1.76 10.46 3.8 11.82 6.12 11.82Z" fill="currentColor"/>
1968
+ <path d="M2.76 7.05C2.63 6.65 2.55 6.23 2.55 5.79C2.55 5.35 2.63 4.93 2.76 4.53V3H0.81C0.29 4.02 0 5.17 0 6.41C0 7.65 0.29 8.8 0.81 9.82L2.76 7.05Z" fill="currentColor"/>
1969
+ <path d="M6.12 2.12C7.08 2.12 7.95 2.45 8.63 3.1L10.13 1.6C9.15 0.69 7.76 0.18 6.12 0.18C3.8 0.18 1.76 1.54 0.81 3.42L2.76 4.95C3.2 3.56 4.54 2.53 6.12 2.53V2.12Z" fill="currentColor"/>
1970
+ </svg>
1971
+ `, qo = `<svg width="9" height="11" viewBox="0 0 9 11" fill="none" xmlns="http://www.w3.org/2000/svg">
1972
+ <path d="M4.87149 10.5148C4.04816 10.5148 3.32882 10.3068 2.71349 9.89077C2.10682 9.47477 1.63882 8.90277 1.30949 8.17477C0.988825 7.4381 0.828491 6.6061 0.828491 5.67877C0.828491 4.7341 0.993158 3.89777 1.32249 3.16977C1.66049 2.4331 2.14582 1.8611 2.77849 1.45377C3.41982 1.04643 4.18682 0.842768 5.07949 0.842768C5.85949 0.842768 6.50082 0.994435 7.00349 1.29777C7.51483 1.6011 7.89183 1.9651 8.13449 2.38977C8.38583 2.80577 8.54183 3.22177 8.60249 3.63777L7.38049 3.80677C7.29383 3.3041 7.06416 2.85777 6.69149 2.46777C6.32749 2.07777 5.77716 1.88277 5.04049 1.88277C4.42516 1.88277 3.89216 2.0431 3.44149 2.36377C2.99949 2.68444 2.66149 3.13077 2.42749 3.70277C2.20216 4.27477 2.08949 4.93777 2.08949 5.69177C2.08949 6.80977 2.34082 7.71977 2.84349 8.42177C3.35483 9.12377 4.09149 9.47477 5.05349 9.47477C5.74683 9.47477 6.28849 9.31877 6.67849 9.00677C7.06849 8.6861 7.32849 8.31344 7.45849 7.88877C7.59716 7.4641 7.66649 7.05677 7.66649 6.66677V6.51077H4.96249V5.47077H8.77149V10.2938H7.87449L7.70549 8.81177C7.49749 9.3231 7.14216 9.73477 6.63949 10.0468C6.13683 10.3588 5.54749 10.5148 4.87149 10.5148Z" fill="#2A2A2A"/>
1973
+ </svg>
1974
+ `, Zo = `<svg width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg">
1975
+ <path d="M1 4H11M1 4V2C1 1.44772 1.44772 1 2 1H10C10.5523 1 11 1.44772 11 2V4M1 4V10C1 10.5523 1.44772 11 2 11H10C10.5523 11 11 10.5523 11 10V4" stroke="currentColor" stroke-width="1.2" fill="none"/>
1976
+ <line x1="4" y1="6.5" x2="8" y2="6.5" stroke="currentColor" stroke-width="1" stroke-linecap="round"/>
1977
+ <line x1="4" y1="8.5" x2="8" y2="8.5" stroke="currentColor" stroke-width="1" stroke-linecap="round"/>
1978
+ </svg>
1979
+ `, Wo = `<svg width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg">
1980
+ <path d="M1 5L6 1L11 5V11H7.5V7.5H4.5V11H1V5Z" fill="currentColor"/>
1981
+ </svg>
1982
+ `, Fo = `<svg width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg">
1983
+ <rect x="1" y="1" width="10" height="10" rx="2" stroke="currentColor" stroke-width="1.2" fill="none"/>
1984
+ <circle cx="6" cy="6" r="2.5" fill="currentColor"/>
1985
+ </svg>
1986
+ `, Ko = `<svg width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg">
1987
+ <path d="M6 1L6 8M6 8L3 5M6 8L9 5" stroke="currentColor" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round"/>
1988
+ <path d="M2 10H10" stroke="currentColor" stroke-width="1.2" stroke-linecap="round"/>
1989
+ </svg>
1990
+ `, Go = `<svg xmlns="http://www.w3.org/2000/svg" width="16" height="9" viewBox="0 0 16 9" fill="none">
1991
+ <path d="M1.90697 3.60594H15.0636V4.61651L1.90734 4.61791L4.81456 7.52513L4.10774 8.21898L-1.23978e-05 4.11123L4.11122 0L4.81855 0.707338L1.90697 3.60594Z" fill="currentColor"/>
1992
+ </svg>
1993
+
1994
+ `, Jo = `<svg width="10" height="12" viewBox="0 0 10 12" fill="none" xmlns="http://www.w3.org/2000/svg">
1995
+ <rect x="1" y="5" width="8" height="6" rx="1" stroke="currentColor" stroke-width="1.2" fill="none"/>
1996
+ <path d="M3 5V3C3 1.89543 3.89543 1 5 1C6.10457 1 7 1.89543 7 3V5" stroke="currentColor" stroke-width="1.2" stroke-linecap="round" fill="none"/>
1997
+ <circle cx="5" cy="8" r="1" fill="currentColor"/>
1998
+ </svg>
1999
+ `, Yo = `<svg width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg">
2000
+ <path d="M10 3H2C1.44772 3 1 3.44772 1 4V8C1 8.55228 1.44772 9 2 9H10C10.5523 9 11 8.55228 11 8V4C11 3.44772 10.5523 3 10 3Z" stroke="currentColor" stroke-width="1.2" fill="none"/>
2001
+ <path d="M8.5 1L10.5 3L8.5 5" stroke="currentColor" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round" fill="none"/>
2002
+ <path d="M3.5 7L1.5 9L3.5 11" stroke="currentColor" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round" fill="none"/>
2003
+ </svg>
2004
+ `, Xo = `<svg width="10" height="14" viewBox="0 0 10 14" fill="none" xmlns="http://www.w3.org/2000/svg">
2005
+ <rect x="2.5" y="1" width="5" height="7" rx="2.5" stroke="currentColor" stroke-width="1.2" fill="none"/>
2006
+ <path d="M1 6C1 8.76142 2.79086 11 5 11C7.20914 11 9 8.76142 9 6" stroke="currentColor" stroke-width="1.2" fill="none"/>
2007
+ <line x1="5" y1="11" x2="5" y2="13" stroke="currentColor" stroke-width="1.2" stroke-linecap="round"/>
2008
+ </svg>
2009
+ `, Qo = `<svg width="12" height="2" viewBox="0 0 12 2" fill="none" xmlns="http://www.w3.org/2000/svg">
2010
+ <line x1="1" y1="1" x2="11" y2="1" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"/>
2011
+ </svg>
2012
+ `, en = `<svg width="12" height="4" viewBox="0 0 12 4" fill="none" xmlns="http://www.w3.org/2000/svg">
2013
+ <circle cx="2" cy="2" r="1.5" fill="currentColor"/>
2014
+ <circle cx="6" cy="2" r="1.5" fill="currentColor"/>
2015
+ <circle cx="10" cy="2" r="1.5" fill="currentColor"/>
2016
+ </svg>
2017
+ `, tn = `<svg width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg">
2018
+ <circle cx="6" cy="6" r="5" stroke="currentColor" stroke-width="1.2" fill="none"/>
2019
+ <circle cx="4" cy="5" r="1" fill="currentColor"/>
2020
+ <circle cx="8" cy="5" r="1" fill="currentColor"/>
2021
+ <line x1="4" y1="8" x2="8" y2="8" stroke="currentColor" stroke-width="1.2" stroke-linecap="round"/>
2022
+ </svg>
2023
+ `, rn = `<svg width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg">
2024
+ <path d="M1 2C1 1.44772 1.44772 1 2 1H7L11 5V10C11 10.5523 10.5523 11 10 11H2C1.44772 11 1 10.5523 1 10V2Z" stroke="currentColor" stroke-width="1.2" fill="none"/>
2025
+ <path d="M7 1V5H11" stroke="currentColor" stroke-width="1.2" fill="none"/>
2026
+ <line x1="3" y1="7" x2="9" y2="7" stroke="currentColor" stroke-width="1" stroke-linecap="round"/>
2027
+ <line x1="3" y1="9" x2="7" y2="9" stroke="currentColor" stroke-width="1" stroke-linecap="round"/>
2028
+ </svg>
2029
+ `, on = `<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12" fill="none">
2030
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M12 0.688477V6.54217H10.9936L11.0028 2.40581L1.64458 11.7729L0.924406 11.0528L10.2827 1.68564H6.14631L6.15554 0.688477H12Z" fill="currentColor"/>
2031
+ </svg>
2032
+
2033
+ `, nn = `<svg width="10" height="12" viewBox="0 0 10 12" fill="none" xmlns="http://www.w3.org/2000/svg">
2034
+ <path d="M1 2C1 1.44772 1.44772 1 2 1H6L9 4V10C9 10.5523 8.55228 11 8 11H2C1.44772 11 1 10.5523 1 10V2Z" stroke="currentColor" stroke-width="1.2" fill="none"/>
2035
+ <path d="M6 1V4H9" stroke="currentColor" stroke-width="1.2" fill="none"/>
2036
+ </svg>
2037
+ `, sn = `<svg width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg">
2038
+ <path d="M6 2V10M2 6H10" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"/>
2039
+ </svg>
2040
+ `, an = `<svg width="12" height="10" viewBox="0 0 12 10" fill="none" xmlns="http://www.w3.org/2000/svg">
2041
+ <path d="M6 1L1 5L6 9V1Z" fill="currentColor"/>
2042
+ <path d="M12 1L7 5L12 9V1Z" fill="currentColor"/>
2043
+ </svg>
2044
+ `, ln = `<svg xmlns="http://www.w3.org/2000/svg" width="15.064" height="8.219" viewBox="0 0 15.064 8.219" fill="none">
2045
+ <path d="M14.5815 4.48047L11.0815 8.21047L10.4315 7.59047L13.1315 4.71047H0.581543V3.71047H13.1315L10.4315 0.830469L11.0815 0.210469L14.5815 3.94047C14.7815 4.15047 14.7815 4.27047 14.5815 4.48047Z" fill="currentColor"/>
2046
+ </svg>
2047
+
2048
+ `, cn = `<svg width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg">
2049
+ <rect x="0.5" y="0.5" width="11" height="3" stroke="currentColor" stroke-width="1" fill="none"/>
2050
+ <rect x="0.5" y="4.5" width="11" height="3" stroke="currentColor" stroke-width="1" fill="none"/>
2051
+ <rect x="0.5" y="8.5" width="11" height="3" stroke="currentColor" stroke-width="1" fill="none"/>
2052
+ </svg>
2053
+ `, dn = `<svg width="8" height="5" viewBox="0 0 8 5" fill="none" xmlns="http://www.w3.org/2000/svg">
2054
+ <path d="M1 1L4 4L7 1" stroke="currentColor" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round"/>
2055
+ </svg>
2056
+ `, hn = `<svg width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg">
2057
+ <circle cx="5" cy="5" r="4" stroke="currentColor" stroke-width="1.2" fill="none"/>
2058
+ <line x1="8" y1="8" x2="11" y2="11" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"/>
2059
+ </svg>
2060
+ `, un = `<svg width="14" height="10" viewBox="0 0 14 10" fill="none" xmlns="http://www.w3.org/2000/svg">
2061
+ <path d="M7 1C3.5 1 1 5 1 5C1 5 3.5 9 7 9C10.5 9 13 5 13 5C13 5 10.5 1 7 1Z" stroke="currentColor" stroke-width="1.2" fill="none"/>
2062
+ <circle cx="7" cy="5" r="2" fill="currentColor"/>
2063
+ </svg>
2064
+ `, pn = `<svg width="14" height="12" viewBox="0 0 14 12" fill="none" xmlns="http://www.w3.org/2000/svg">
2065
+ <path d="M2 8L1 11H13L12 8" stroke="currentColor" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round" fill="none"/>
2066
+ <path d="M3 8V4H6V1H8V4H11V8H3Z" fill="currentColor"/>
2067
+ <rect x="5" y="5" width="4" height="2" fill="var(--surface-color, #fff)"/>
2068
+ </svg>
2069
+ `, gn = `<svg width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg">
2070
+ <path d="M6 1L7.5 4.5L11 5L8.5 7.5L9 11L6 9.5L3 11L3.5 7.5L1 5L4.5 4.5L6 1Z" stroke="currentColor" stroke-width="1.2" stroke-linejoin="round" fill="none"/>
2071
+ </svg>
2072
+ `, vn = `<svg width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg">
2073
+ <circle cx="6" cy="6" r="5" stroke="currentColor" stroke-width="1.2" fill="none"/>
2074
+ <circle cx="6" cy="6" r="2" fill="currentColor"/>
2075
+ </svg>
2076
+ `, fn = `<svg width="8" height="5" viewBox="0 0 8 5" fill="none" xmlns="http://www.w3.org/2000/svg">
2077
+ <path d="M1 4L4 1L7 4" stroke="currentColor" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round"/>
2078
+ </svg>
2079
+ `, wn = `<svg width="12" height="10" viewBox="0 0 12 10" fill="none" xmlns="http://www.w3.org/2000/svg">
2080
+ <path d="M1 1H11M6 1V9M3 9H9" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"/>
2081
+ </svg>
2082
+ `, mn = `<svg width="12" height="10" viewBox="0 0 12 10" fill="none" xmlns="http://www.w3.org/2000/svg">
2083
+ <path d="M1 4L4 1M1 4L4 7M1 4H8C9.65685 4 11 5.34315 11 7V9" stroke="currentColor" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round" fill="none"/>
2084
+ </svg>
2085
+ `, bn = `<svg width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg">
2086
+ <rect x="0.5" y="0.5" width="5" height="5" stroke="currentColor" stroke-width="1" stroke-dasharray="2 1" fill="none"/>
2087
+ <rect x="6.5" y="6.5" width="5" height="5" stroke="currentColor" stroke-width="1" stroke-dasharray="2 1" fill="none"/>
2088
+ </svg>
2089
+ `, yn = `<svg width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg">
2090
+ <path d="M1 1H11M1 1V10C1 10.5523 1.44772 11 2 11H10C10.5523 11 11 10.5523 11 10V1" stroke="currentColor" stroke-width="1.2" stroke-dasharray="2 1" fill="none"/>
2091
+ </svg>
2092
+ `, xn = `<svg width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg">
2093
+ <rect x="1" y="1" width="10" height="10" rx="2" stroke="currentColor" stroke-width="1.2" stroke-dasharray="2 1" fill="none"/>
2094
+ </svg>
2095
+ `, _n = `<svg width="10" height="12" viewBox="0 0 10 12" fill="none" xmlns="http://www.w3.org/2000/svg">
2096
+ <rect x="1" y="5" width="8" height="6" rx="1" stroke="currentColor" stroke-width="1.2" fill="none"/>
2097
+ <path d="M3 5V3C3 1.89543 3.89543 1 5 1C6.10457 1 7 1.89543 7 3" stroke="currentColor" stroke-width="1.2" stroke-linecap="round" fill="none"/>
2098
+ <circle cx="5" cy="8" r="1" fill="currentColor"/>
2099
+ </svg>
2100
+ `, kn = `<svg width="10" height="14" viewBox="0 0 10 14" fill="none" xmlns="http://www.w3.org/2000/svg">
2101
+ <rect x="2.5" y="1" width="5" height="7" rx="2.5" stroke="currentColor" stroke-width="1.2" fill="none"/>
2102
+ <path d="M1 6C1 8.76142 2.79086 11 5 11C7.20914 11 9 8.76142 9 6" stroke="currentColor" stroke-width="1.2" fill="none"/>
2103
+ <line x1="5" y1="11" x2="5" y2="13" stroke="currentColor" stroke-width="1.2" stroke-linecap="round"/>
2104
+ <line x1="1" y1="1" x2="9" y2="13" stroke="currentColor" stroke-width="1.2" stroke-linecap="round"/>
2105
+ </svg>
2106
+ `, Cn = `<svg width="14" height="12" viewBox="0 0 14 12" fill="none" xmlns="http://www.w3.org/2000/svg">
2107
+ <path d="M7 2C3.5 2 1 6 1 6C1 6 3.5 10 7 10C10.5 10 13 6 13 6C13 6 10.5 2 7 2Z" stroke="currentColor" stroke-width="1.2" fill="none"/>
2108
+ <circle cx="7" cy="6" r="2" stroke="currentColor" stroke-width="1.2" fill="none"/>
2109
+ <line x1="2" y1="1" x2="12" y2="11" stroke="currentColor" stroke-width="1.2" stroke-linecap="round"/>
2110
+ </svg>
2111
+ `, $n = `<svg width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg">
2112
+ <path d="M6 1L7.5 4.5L11 5L8.5 7.5L9 11L6 9.5L3 11L3.5 7.5L1 5L4.5 4.5L6 1Z" stroke="currentColor" stroke-width="1.2" stroke-linejoin="round" stroke-dasharray="2 1" fill="none"/>
2113
+ </svg>
2114
+ `, An = `<svg width="12" height="10" viewBox="0 0 12 10" fill="none" xmlns="http://www.w3.org/2000/svg">
2115
+ <path d="M1 1H11M6 1V9M3 9H9" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-dasharray="2 1"/>
2116
+ </svg>
2117
+ `, Ln = `<svg width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg">
2118
+ <path d="M6 10V2M6 2L2 6M6 2L10 6" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
2119
+ </svg>
2120
+ `;
2121
+ /**
2122
+ * @license
2123
+ * Copyright 2017 Google LLC
2124
+ * SPDX-License-Identifier: BSD-3-Clause
2125
+ */
2126
+ class De extends Er {
2127
+ constructor(e) {
2128
+ if (super(e), this.it = m, e.type !== Ar.CHILD) throw Error(this.constructor.directiveName + "() can only be used in child bindings");
2129
+ }
2130
+ render(e) {
2131
+ if (e === m || e == null) return this._t = void 0, this.it = e;
2132
+ if (e === M) return e;
2133
+ if (typeof e != "string") throw Error(this.constructor.directiveName + "() called with a non-string value");
2134
+ if (e === this.it) return this._t;
2135
+ this.it = e;
2136
+ const r = [e];
2137
+ return r.raw = r, this._t = { _$litType$: this.constructor.resultType, strings: r, values: [] };
2138
+ }
2139
+ }
2140
+ De.directiveName = "unsafeHTML", De.resultType = 1;
2141
+ const En = Lr(De), Sn = ":host{display:inline-flex;justify-content:center;align-items:center;width:calc(16px * var(--sf));height:calc(16px * var(--sf));--notes-style-color: #ffb6b9}svg{width:100%;height:100%;fill:var(--icon-color, currentColor)}path{fill:var(--icon-color, currentColor)}.icon-container{display:flex;justify-content:center;align-items:center;width:calc(16px * var(--sf));height:calc(16px * var(--sf))}", O = class O extends f {
2142
+ constructor() {
2143
+ super(), this._type = "", this.size = "1em", this.color = "currentColor", this.background = "transparent", console.log("Icon constructor", this._type);
2144
+ }
2145
+ get type() {
2146
+ return this._type;
2147
+ }
2148
+ set type(e) {
2149
+ const r = this._type;
2150
+ this._type = e, this.requestUpdate("type", r);
2151
+ }
2152
+ connectedCallback() {
2153
+ super.connectedCallback(), console.log("Icon connected", this._type);
2154
+ }
2155
+ renderIcon() {
2156
+ if (console.log("renderIcon called with type:", this._type), !this._type || this._type === "")
2157
+ return console.log("No type specified, rendering default slot"), l`<div class="icon-container"><slot></slot></div>`;
2158
+ const e = O.iconNameToSvgMap[this._type.toLowerCase()];
2159
+ if (e)
2160
+ return l`<div class="icon-container">${En(e)}</div>`;
2161
+ switch (this._type.toLowerCase()) {
2162
+ case "close":
2163
+ return console.log("Rendering close icon"), l`
64
2164
  <div class="icon-container">
65
2165
  <svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
66
2166
  <path
@@ -68,7 +2168,9 @@ function is(){if(typeof navigator>"u"||typeof window>"u")return!1;let t=navigato
68
2168
  />
69
2169
  </svg>
70
2170
  </div>
71
- `;case"page":return console.log("Rendering page icon"),a`
2171
+ `;
2172
+ case "page":
2173
+ return console.log("Rendering page icon"), l`
72
2174
  <div class="icon-container">
73
2175
  <svg viewBox="0 0 17 17" xmlns="http://www.w3.org/2000/svg">
74
2176
  <rect
@@ -83,7 +2185,9 @@ function is(){if(typeof navigator>"u"||typeof window>"u")return!1;let t=navigato
83
2185
  />
84
2186
  </svg>
85
2187
  </div>
86
- `;case"note":return console.log("Rendering note icon"),a`
2188
+ `;
2189
+ case "note":
2190
+ return console.log("Rendering note icon"), l`
87
2191
  <div class="icon-container">
88
2192
  <svg viewBox="0 0 17 17" xmlns="http://www.w3.org/2000/svg">
89
2193
  <rect
@@ -102,7 +2206,9 @@ function is(){if(typeof navigator>"u"||typeof window>"u")return!1;let t=navigato
102
2206
  />
103
2207
  </svg>
104
2208
  </div>
105
- `;case"default":return console.log("Rendering default icon"),a`
2209
+ `;
2210
+ case "default":
2211
+ return console.log("Rendering default icon"), l`
106
2212
  <div class="icon-container">
107
2213
  <svg
108
2214
  width="17"
@@ -129,7 +2235,9 @@ function is(){if(typeof navigator>"u"||typeof window>"u")return!1;let t=navigato
129
2235
  />
130
2236
  </svg>
131
2237
  </div>
132
- `;case"big":return console.log("Rendering big icon"),a`
2238
+ `;
2239
+ case "big":
2240
+ return console.log("Rendering big icon"), l`
133
2241
  <div class="icon-container">
134
2242
  <svg
135
2243
  width="17"
@@ -168,7 +2276,9 @@ function is(){if(typeof navigator>"u"||typeof window>"u")return!1;let t=navigato
168
2276
  </defs>
169
2277
  </svg>
170
2278
  </div>
171
- `;case"gallery":return console.log("Rendering gallery icon"),a`
2279
+ `;
2280
+ case "gallery":
2281
+ return console.log("Rendering gallery icon"), l`
172
2282
  <div class="icon-container">
173
2283
  <svg
174
2284
  width="17"
@@ -203,7 +2313,9 @@ function is(){if(typeof navigator>"u"||typeof window>"u")return!1;let t=navigato
203
2313
  </defs>
204
2314
  </svg>
205
2315
  </div>
206
- `;case"check":return console.log("Rendering check icon"),a`
2316
+ `;
2317
+ case "check":
2318
+ return console.log("Rendering check icon"), l`
207
2319
  <div class="icon-container">
208
2320
  <svg
209
2321
  viewBox="0 0 17 17"
@@ -222,470 +2334,1387 @@ function is(){if(typeof navigator>"u"||typeof window>"u")return!1;let t=navigato
222
2334
  />
223
2335
  </svg>
224
2336
  </div>
225
- `;default:return console.log(`Unknown icon type: ${this._type}, rendering default slot`),a`<div class="icon-container"><slot></slot></div>`}}updated(e){console.log("Icon updated",e),this.style.setProperty("--icon-size",this.size),this.style.setProperty("--icon-color",this.color),this.style.setProperty("--icon-background",this.background)}render(){return console.log("Icon render",this._type),this.renderIcon()}};q.properties={type:{type:String,reflect:!0}};q.styles=y`
226
- :host {
227
- display: inline-flex;
228
- justify-content: center;
229
- align-items: center;
230
- width: calc(16px * var(--sf));
231
- height: calc(16px * var(--sf));
2337
+ `;
2338
+ default:
2339
+ return console.log(`Unknown icon type: ${this._type}, rendering default slot`), l`<div class="icon-container"><slot></slot></div>`;
232
2340
  }
233
-
234
- svg {
235
- width: 100%;
236
- height: 100%;
237
- fill: var(--icon-color, currentColor);
2341
+ }
2342
+ updated(e) {
2343
+ console.log("Icon updated", e), this.style.setProperty("--icon-size", this.size), this.style.setProperty("--icon-color", this.color), this.style.setProperty("--icon-background", this.background);
2344
+ }
2345
+ render() {
2346
+ return console.log("Icon render", this._type), this.renderIcon();
2347
+ }
2348
+ };
2349
+ O.properties = {
2350
+ type: { type: String, reflect: !0 }
2351
+ }, O.styles = x(Sn), O.iconNameToSvgMap = (() => {
2352
+ try {
2353
+ const e = /* @__PURE__ */ Object.assign({
2354
+ "../x-icon/1x.svg": fo,
2355
+ "../x-icon/1xdots.svg": wo,
2356
+ "../x-icon/1xgrid.svg": mo,
2357
+ "../x-icon/1xlines.svg": bo,
2358
+ "../x-icon/2x.svg": yo,
2359
+ "../x-icon/2xdots.svg": xo,
2360
+ "../x-icon/2xgrid.svg": _o,
2361
+ "../x-icon/2xlines.svg": ko,
2362
+ "../x-icon/4x4.svg": Co,
2363
+ "../x-icon/apple.svg": $o,
2364
+ "../x-icon/avatar.svg": Ao,
2365
+ "../x-icon/big.svg": Lo,
2366
+ "../x-icon/blank.svg": Eo,
2367
+ "../x-icon/check.svg": So,
2368
+ "../x-icon/close.svg": Vo,
2369
+ "../x-icon/collapse.svg": Ho,
2370
+ "../x-icon/color.svg": Mo,
2371
+ "../x-icon/column.svg": To,
2372
+ "../x-icon/default.svg": No,
2373
+ "../x-icon/delete.svg": Io,
2374
+ "../x-icon/dictate.svg": zo,
2375
+ "../x-icon/do.svg": Oo,
2376
+ "../x-icon/down.svg": Po,
2377
+ "../x-icon/duplicate.svg": Bo,
2378
+ "../x-icon/email.svg": Do,
2379
+ "../x-icon/expand.svg": jo,
2380
+ "../x-icon/gallery.svg": Ro,
2381
+ "../x-icon/google.svg": Uo,
2382
+ "../x-icon/group.svg": qo,
2383
+ "../x-icon/head.svg": Zo,
2384
+ "../x-icon/home.svg": Wo,
2385
+ "../x-icon/icon.svg": Fo,
2386
+ "../x-icon/in.svg": Ko,
2387
+ "../x-icon/left.svg": Go,
2388
+ "../x-icon/lock.svg": Jo,
2389
+ "../x-icon/loop.svg": Yo,
2390
+ "../x-icon/mic.svg": Xo,
2391
+ "../x-icon/minimize.svg": Qo,
2392
+ "../x-icon/more.svg": en,
2393
+ "../x-icon/neutral.svg": tn,
2394
+ "../x-icon/note.svg": rn,
2395
+ "../x-icon/open.svg": on,
2396
+ "../x-icon/page.svg": nn,
2397
+ "../x-icon/plus.svg": sn,
2398
+ "../x-icon/rewind.svg": an,
2399
+ "../x-icon/right.svg": ln,
2400
+ "../x-icon/row.svg": cn,
2401
+ "../x-icon/sdown.svg": dn,
2402
+ "../x-icon/search.svg": hn,
2403
+ "../x-icon/see.svg": un,
2404
+ "../x-icon/ship.svg": pn,
2405
+ "../x-icon/star.svg": gn,
2406
+ "../x-icon/status.svg": vn,
2407
+ "../x-icon/sup.svg": fn,
2408
+ "../x-icon/title.svg": wn,
2409
+ "../x-icon/undo.svg": mn,
2410
+ "../x-icon/ungroup.svg": bn,
2411
+ "../x-icon/unhead.svg": yn,
2412
+ "../x-icon/unicon.svg": xn,
2413
+ "../x-icon/unlock.svg": _n,
2414
+ "../x-icon/unmic.svg": kn,
2415
+ "../x-icon/unsee.svg": Cn,
2416
+ "../x-icon/unstar.svg": $n,
2417
+ "../x-icon/untitle.svg": An,
2418
+ "../x-icon/up.svg": Ln
2419
+ }), r = {};
2420
+ for (const [o, n] of Object.entries(e)) {
2421
+ const s = (o.split("/").pop() ?? "").replace(/\.svg$/i, "").toLowerCase();
2422
+ s && (r[s] = n);
238
2423
  }
239
-
240
- path {
241
- fill: var(--icon-color, currentColor);
2424
+ return r;
2425
+ } catch (e) {
2426
+ return console.warn(
2427
+ "Icon: failed to glob SVGs from x Icon/; falling back only to inline switch icons.",
2428
+ e
2429
+ ), {};
2430
+ }
2431
+ })();
2432
+ let je = O;
2433
+ customElements.define("ds-icon", je);
2434
+ console.log("Icon component registered with custom elements registry");
2435
+ const Vn = ":host{display:inline-flex;align-items:center}.cycle{display:inline-flex;align-items:center;gap:var(--025)}.color-preview{width:var(--05);height:var(--05);border-radius:999px;border:1px solid color-mix(in srgb,var(--text-color-primary) 20%,transparent);flex:0 0 auto}", Hn = (t) => {
2436
+ localStorage.setItem("accentColor", t);
2437
+ }, Re = () => localStorage.getItem("accentColor") || "--sharp-blue", Me = () => {
2438
+ const t = Re();
2439
+ document.documentElement.style.setProperty("--accent-color", `var(${t})`);
2440
+ }, Mn = (t) => {
2441
+ localStorage.setItem("notesStyleMedium", t);
2442
+ }, Ot = () => localStorage.getItem("notesStyleMedium") || "note", Pt = (t) => {
2443
+ localStorage.setItem("pageStyle", t);
2444
+ }, R = () => localStorage.getItem("pageStyle") || "note", dt = class dt extends f {
2445
+ // Define reactive properties using Lit's property system
2446
+ static get properties() {
2447
+ return {
2448
+ type: { type: String },
2449
+ values: { type: Array },
2450
+ currentValue: { type: String, state: !0 },
2451
+ // Make this a private state property
2452
+ translationsReady: { type: Boolean, state: !0 },
2453
+ // Track if translations are loaded
2454
+ disabled: { type: Boolean, state: !0 },
2455
+ variant: { type: String }
2456
+ };
2457
+ }
2458
+ constructor() {
2459
+ super(), this.type = "", this.values = [], this.currentValue = "", this.translationsReady = !1, this.disabled = !1, this.variant = "", this.boundHandlers = {
2460
+ translationsLoaded: this.handleTranslationsLoaded.bind(this),
2461
+ languageChanged: this.handleLanguageChanged.bind(this),
2462
+ handleLanguageChanged: this.handleLanguageChanged.bind(this),
2463
+ handleThemeChanged: this.handleThemeChanged.bind(this),
2464
+ handleAccentColorChanged: this.handleAccentColorChanged.bind(this),
2465
+ handleNoteBehaviorChanged: this.handleNoteBehaviorChanged.bind(this)
2466
+ };
2467
+ }
2468
+ connectedCallback() {
2469
+ super.connectedCallback(), window.addEventListener(
2470
+ "translations-loaded",
2471
+ this.boundHandlers.translationsLoaded
2472
+ ), window.addEventListener(
2473
+ "language-changed",
2474
+ this.boundHandlers.languageChanged
2475
+ ), window.addEventListener(
2476
+ "theme-changed",
2477
+ this.boundHandlers.handleThemeChanged
2478
+ ), window.addEventListener(
2479
+ "accent-color-changed",
2480
+ this.boundHandlers.handleAccentColorChanged
2481
+ ), window.addEventListener(
2482
+ "page-style-changed",
2483
+ this.boundHandlers.handleNoteBehaviorChanged
2484
+ ), this.initializeValues();
2485
+ }
2486
+ async initializeValues() {
2487
+ if (this.type === "language") {
2488
+ const e = Ht();
2489
+ this.values = e, this.currentValue = k.value;
2490
+ } else if (this.type === "theme") {
2491
+ this.values = ["light", "dark"];
2492
+ const e = Q.get();
2493
+ this.currentValue = e;
2494
+ } else if (this.type === "accent-color") {
2495
+ this.values = [
2496
+ "--apple-green",
2497
+ "--every-green",
2498
+ "--zenith-blue",
2499
+ "--sharp-blue",
2500
+ "--pink",
2501
+ "--tuned-red",
2502
+ "--orange",
2503
+ "--yellow"
2504
+ ];
2505
+ const e = Re();
2506
+ this.currentValue = e, Me();
2507
+ } else if (this.type === "notes-style-medium") {
2508
+ this.values = ["default", "big", "gallery"];
2509
+ const e = Ot();
2510
+ this.currentValue = e;
2511
+ const r = R();
2512
+ this.disabled = r === "note";
2513
+ } else if (this.type === "page-style") {
2514
+ this.values = ["note", "page"];
2515
+ const e = R();
2516
+ this.currentValue = e;
2517
+ } else this.type === "icon-only" && (this.values = ["note", "page"], this.currentValue = this.values[0]);
2518
+ this.requestUpdate();
2519
+ }
2520
+ ensureThemeInitialized() {
2521
+ if (!localStorage.getItem("theme")) {
2522
+ const o = window.matchMedia(
2523
+ "(prefers-color-scheme: dark)"
2524
+ ).matches ? "dark" : "light";
2525
+ localStorage.setItem("theme", o), document.documentElement.classList.add(`${o}-theme`);
242
2526
  }
243
-
244
- .icon-container {
245
- display: flex;
246
- justify-content: center;
247
- align-items: center;
248
- width: calc(16px * var(--sf));
249
- height: calc(16px * var(--sf));
2527
+ }
2528
+ attributeChangedCallback(e, r, o) {
2529
+ super.attributeChangedCallback(e, r, o), e === "type" && r !== o && this.initializeValues();
2530
+ }
2531
+ async setupInitialValue() {
2532
+ if (this.type === "language") {
2533
+ const e = k.value;
2534
+ this.currentValue = e;
2535
+ } else if (this.type === "theme") {
2536
+ const e = Q.get();
2537
+ this.currentValue = e;
2538
+ } else if (this.type === "accent-color") {
2539
+ const e = Re();
2540
+ this.currentValue = e, Me();
2541
+ } else if (this.type === "notes-style-medium") {
2542
+ const e = Ot();
2543
+ this.currentValue = e;
2544
+ const r = R();
2545
+ this.disabled = r === "note";
2546
+ } else if (this.type === "page-style") {
2547
+ const e = R();
2548
+ this.currentValue = e;
2549
+ } else if (this.type === "icon-only") {
2550
+ const e = R();
2551
+ this.currentValue = e;
250
2552
  }
251
-
252
- /* Notes style color variable for future implementation */
253
- :host {
254
- --notes-style-color: #ffb6b9;
2553
+ this.requestUpdate();
2554
+ }
2555
+ handleSettingsChanges() {
2556
+ this.setupInitialValue();
2557
+ }
2558
+ disconnectedCallback() {
2559
+ super.disconnectedCallback(), window.removeEventListener(
2560
+ "translations-loaded",
2561
+ this.boundHandlers.translationsLoaded
2562
+ ), window.removeEventListener(
2563
+ "language-changed",
2564
+ this.boundHandlers.languageChanged
2565
+ ), window.removeEventListener(
2566
+ "theme-changed",
2567
+ this.boundHandlers.handleThemeChanged
2568
+ ), window.removeEventListener(
2569
+ "accent-color-changed",
2570
+ this.boundHandlers.handleAccentColorChanged
2571
+ ), window.removeEventListener(
2572
+ "page-style-changed",
2573
+ this.boundHandlers.handleNoteBehaviorChanged
2574
+ );
2575
+ }
2576
+ handleButtonClick(e) {
2577
+ if (e.preventDefault(), e.stopPropagation(), !this.disabled) {
2578
+ if (this.type === "language") {
2579
+ const o = (this.values.indexOf(this.currentValue) + 1) % this.values.length, n = this.values[o];
2580
+ this.currentValue = n, document.startViewTransition ? document.startViewTransition(() => {
2581
+ Mt(n);
2582
+ }) : Mt(n), N({ language: n }), window.dispatchEvent(
2583
+ new CustomEvent("language-changed", {
2584
+ detail: { language: n }
2585
+ })
2586
+ );
2587
+ } else if (this.type === "theme") {
2588
+ const o = (this.values.indexOf(this.currentValue) + 1) % this.values.length, n = this.values[o];
2589
+ this.currentValue = n, to(n), N({ theme: n });
2590
+ } else if (this.type === "accent-color") {
2591
+ const o = (this.values.indexOf(this.currentValue) + 1) % this.values.length, n = this.values[o];
2592
+ this.currentValue = n, Hn(n), Me(), N({ accentColor: n }), window.dispatchEvent(
2593
+ new CustomEvent("accent-color-changed", {
2594
+ detail: { color: n }
2595
+ })
2596
+ );
2597
+ } else if (this.type === "notes-style-medium") {
2598
+ const o = (this.values.indexOf(this.currentValue) + 1) % this.values.length, n = this.values[o];
2599
+ this.currentValue = n, Mn(n), N({ notesStyleMedium: n }), window.dispatchEvent(
2600
+ new CustomEvent("notes-style-medium-changed", {
2601
+ detail: { style: n }
2602
+ })
2603
+ );
2604
+ } else if (this.type === "page-style") {
2605
+ const o = (this.values.indexOf(this.currentValue) + 1) % this.values.length, n = this.values[o];
2606
+ this.currentValue = n, Pt(n), N({ pageStyle: n }), window.dispatchEvent(
2607
+ new CustomEvent("page-style-changed", {
2608
+ detail: { behavior: n }
2609
+ })
2610
+ );
2611
+ } else if (this.type === "icon-only") {
2612
+ const o = (this.values.indexOf(this.currentValue) + 1) % this.values.length, n = this.values[o];
2613
+ this.currentValue = n, Pt(n), N({ pageStyle: n }), window.dispatchEvent(
2614
+ new CustomEvent("page-style-changed", {
2615
+ detail: { behavior: n }
2616
+ })
2617
+ );
2618
+ }
2619
+ this.requestUpdate();
255
2620
  }
256
- `;q.iconNameToSvgMap=(()=>{try{let t=import.meta.glob("../x Icon/*.svg",{as:"raw",eager:!0}),e={};for(let[s,r]of Object.entries(t)){let i=(s.split("/").pop()??"").replace(/\.svg$/i,"").toLowerCase();i&&(e[i]=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",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.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>`}};Ie.styles=y`
257
- :host {
258
- display: inline;
259
- font-family: var(--typeface);
260
- font-size: calc(var(--type-size-default) * var(--scaling-factor));
261
- font-weight: var(--type-weight-default);
262
- line-height: calc(var(--type-lineheight-default) * var(--scaling-factor));
263
- letter-spacing: calc(
264
- var(--type-letterspacing-default) * var(--scaling-factor)
265
- );
266
- text-align: var(--text-align-default);
267
- text-transform: var(--text-transform-default);
268
- text-decoration: var(--text-decoration-default);
269
- }
270
- `;customElements.define("ds-text",Ie);var tr=t=>{localStorage.setItem("accentColor",t)},nt=()=>localStorage.getItem("accentColor")||"--blue",rt=()=>{let t=nt();document.documentElement.style.setProperty("--accent-color",`var(${t})`)},sr=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=T.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=nt();this.currentValue=e,rt()}else if(this.type==="notes-style-medium"){this.values=["default","big","gallery"];let e=Kt();this.currentValue=e;let s=oe();this.disabled=s==="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 r=window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light";localStorage.setItem("theme",r),document.documentElement.classList.add(`${r}-theme`)}}attributeChangedCallback(e,s,r){super.attributeChangedCallback(e,s,r),e==="type"&&s!==r&&this.initializeValues()}async setupInitialValue(){if(this.type==="language"){let e=T.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,rt()}else if(this.type==="notes-style-medium"){let e=Kt();this.currentValue=e;let s=oe();this.disabled=s==="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 r=(this.values.indexOf(this.currentValue)+1)%this.values.length,n=this.values[r];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 r=(this.values.indexOf(this.currentValue)+1)%this.values.length,n=this.values[r];this.currentValue=n,Wt(n),P({theme:n})}else if(this.type==="accent-color"){let r=(this.values.indexOf(this.currentValue)+1)%this.values.length,n=this.values[r];this.currentValue=n,tr(n),rt(),P({accentColor:n}),window.dispatchEvent(new CustomEvent("accent-color-changed",{detail:{color:n}}))}else if(this.type==="notes-style-medium"){let r=(this.values.indexOf(this.currentValue)+1)%this.values.length,n=this.values[r];this.currentValue=n,sr(n),P({notesStyleMedium:n}),window.dispatchEvent(new CustomEvent("notes-style-medium-changed",{detail:{style:n}}))}else if(this.type==="page-style"){let r=(this.values.indexOf(this.currentValue)+1)%this.values.length,n=this.values[r];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 r=(this.values.indexOf(this.currentValue)+1)%this.values.length,n=this.values[r];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:T.value});if(this.type==="theme"){if(this.translationsReady){let s=C(e);if(s&&s!==e)return s}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 s=C(e==="note"?"note":"page");if(s&&s!==(e==="note"?"note":"page"))return s}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 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 n=C(r);if(n&&n!==r)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=C("language");if(e&&e!=="language")return e}return"Language"}else if(this.type==="theme"){if(this.translationsReady){let e=C("theme");if(e&&e!=="theme")return e}return"Theme"}else if(this.type==="accent-color"){if(this.translationsReady){let e=C("accentColor");if(e&&e!=="accentColor")return e}return"Accent Color"}else if(this.type==="notes-style-medium"){if(this.translationsReady){let e=C("notesStyle");if(e&&e!=="notesStyle")return e}return"Notes Style"}else if(this.type==="page-style"){if(this.translationsReady){let e=C("clickingItem");if(e&&e!=="clickingItem")return e}return"Clic"}else if(this.type==="icon-only")return"";return this.label}render(){return a`
271
- <div class="cycle-container">
272
- ${this.type!=="icon-only"?a`${this.type==="language"?a`<ds-text
273
- key="language"
274
- default-value="Language"
275
- class="cycle-label"
276
- ></ds-text>`:this.type==="theme"?a`<ds-text
277
- key="theme"
278
- default-value="Theme"
279
- class="cycle-label"
280
- ></ds-text>`:this.type==="accent-color"?a`<ds-text
281
- key="accentColor"
282
- default-value="Accent color"
283
- class="cycle-label"
284
- ></ds-text>`:a`<span class="cycle-label">${this.label}</span>`}`:""}
285
- <div
286
- style="display: flex; align-items: center; ${this.type==="icon-only"?"justify-content: center;":""}"
2621
+ }
2622
+ getValueDisplay(e) {
2623
+ if (this.type === "language")
2624
+ return Yr(e, {
2625
+ locale: k.value
2626
+ });
2627
+ if (this.type === "theme") {
2628
+ if (this.translationsReady) {
2629
+ const r = Z(e);
2630
+ if (r && r !== e)
2631
+ return r;
2632
+ }
2633
+ return e;
2634
+ } else {
2635
+ if (this.type === "accent-color")
2636
+ return this.getColorName(e);
2637
+ if (this.type === "notes-style-medium")
2638
+ return this.getNotesStyleIcon(e);
2639
+ if (this.type === "page-style") {
2640
+ if (this.translationsReady) {
2641
+ const r = Z(e === "note" ? "Note" : "Page");
2642
+ if (r && r !== (e === "note" ? "Note" : "Page"))
2643
+ return r;
2644
+ }
2645
+ return e;
2646
+ } else if (this.type === "icon-only")
2647
+ return e === "note" ? l`<ds-icon type="note"></ds-icon>` : e === "page" ? l`<ds-icon type="page"></ds-icon>` : l`<span>${e}</span>`;
2648
+ }
2649
+ return e;
2650
+ }
2651
+ getColorKey(e) {
2652
+ return {
2653
+ "--tuned-red": "Red",
2654
+ "--orange": "Orange",
2655
+ "--yellow": "Yellow",
2656
+ "--apple-green": "Apple green",
2657
+ "--every-green": "Green",
2658
+ "--zenith-blue": "Light blue",
2659
+ "--sharp-blue": "Blue",
2660
+ "--pink": "Pink"
2661
+ }[e] || e.replace("--", "").replace("-", " ");
2662
+ }
2663
+ getColorName(e) {
2664
+ const o = {
2665
+ "--tuned-red": "Red",
2666
+ "--orange": "Orange",
2667
+ "--yellow": "Yellow",
2668
+ "--apple-green": "Apple green",
2669
+ "--every-green": "Green",
2670
+ "--zenith-blue": "Light blue",
2671
+ "--sharp-blue": "Blue",
2672
+ "--pink": "Pink"
2673
+ }[e];
2674
+ if (o && this.translationsReady) {
2675
+ const n = Z(o);
2676
+ if (n && n !== o)
2677
+ return n;
2678
+ }
2679
+ return e.replace("--", "").replace("-", " ");
2680
+ }
2681
+ getNotesStyleIcon(e) {
2682
+ return e === "page" ? l`<ds-icon type="page"></ds-icon>` : e === "note" ? l`<ds-icon type="note"></ds-icon>` : e === "default" ? l`<ds-icon type="default"></ds-icon>` : e === "big" ? l`<ds-icon type="big"></ds-icon>` : e === "gallery" ? l`<ds-icon type="gallery"></ds-icon>` : l`<span>${e}</span>`;
2683
+ }
2684
+ render() {
2685
+ return l`
2686
+ <div class="cycle">
2687
+ <ds-button
2688
+ variant=${this.variant || (this.type === "language" || this.type === "theme" ? "secondary" : "primary")}
2689
+ ?disabled=${this.disabled}
2690
+ @click=${this.handleButtonClick}
287
2691
  >
288
- <ds-button
289
- variant=${this.variant||(this.type==="language"||this.type==="theme"?"secondary":"primary")}
2692
+ ${this.type === "notes-style-medium" || this.type === "icon-only" ? l`<span
2693
+ style="display: inline-flex; align-items: center; gap: var(--025)"
2694
+ >${this.getValueDisplay(this.currentValue)}</span
2695
+ >` : this.type === "language" ? l`<ds-text
2696
+ default-value=${this.getValueDisplay(this.currentValue)}
2697
+ ></ds-text>` : this.type === "theme" ? l`<ds-text
2698
+ text=${this.currentValue}
2699
+ default-value=${this.currentValue}
2700
+ ></ds-text>` : this.type === "accent-color" ? l`<ds-text
2701
+ text=${this.getColorKey(this.currentValue)}
2702
+ default-value=${this.getColorName(this.currentValue)}
2703
+ ></ds-text>` : this.type === "page-style" ? l`<ds-text
2704
+ text=${this.currentValue === "note" ? "Note" : "Page"}
2705
+ default-value=${this.currentValue}
2706
+ ></ds-text>` : l`<ds-text
2707
+ default-value=${this.getValueDisplay(this.currentValue)}
2708
+ ></ds-text>`}
2709
+ </ds-button>
2710
+
2711
+ ${this.type === "accent-color" ? l`
2712
+ <div
2713
+ class="color-preview"
2714
+ style="background-color: var(${this.currentValue})"
2715
+ ></div>
2716
+ ` : ""}
2717
+ </div>
2718
+ `;
2719
+ }
2720
+ async waitForTranslations() {
2721
+ return new Promise((e) => {
2722
+ if (this.translationsReady) {
2723
+ e();
2724
+ return;
2725
+ }
2726
+ const r = () => {
2727
+ this.translationsReady = !0, e();
2728
+ };
2729
+ window.addEventListener("translations-loaded", r, {
2730
+ once: !0
2731
+ }), setTimeout(() => {
2732
+ this.translationsReady = !0, e();
2733
+ }, 5e3);
2734
+ });
2735
+ }
2736
+ handleTranslationsLoaded() {
2737
+ if (this.translationsReady = !0, this.type === "language") {
2738
+ const e = Ht();
2739
+ this.values = e;
2740
+ }
2741
+ this.setupInitialValue();
2742
+ }
2743
+ handleLanguageChanged() {
2744
+ this.setupInitialValue();
2745
+ }
2746
+ handleThemeChanged() {
2747
+ this.setupInitialValue();
2748
+ }
2749
+ handleAccentColorChanged() {
2750
+ this.setupInitialValue();
2751
+ }
2752
+ handleNoteBehaviorChanged() {
2753
+ this.setupInitialValue();
2754
+ }
2755
+ };
2756
+ dt.styles = x(Vn);
2757
+ let Ue = dt;
2758
+ customElements.define("ds-cycle", Ue);
2759
+ const Tn = ":host{display:inline;font-family:var(--typeface-regular, var(--typeface-regular-regular));font-size:inherit;color:inherit}", ht = class ht extends f {
2760
+ render() {
2761
+ const e = (/* @__PURE__ */ new Date()).getFullYear();
2762
+ return l`<span>${e}</span>`;
2763
+ }
2764
+ };
2765
+ ht.styles = x(Tn);
2766
+ let qe = ht;
2767
+ customElements.define("ds-date", qe);
2768
+ const Nn = ':host{display:block;width:100%;--gap-size: var(--unit);height:var(--gap-size);flex:0 0 auto}:host([tenth]){--gap-size: var(--tenth)}:host([quarter]){--gap-size: var(--quarter)}:host([half]){--gap-size: var(--half)}:host([eight-tenth]){--gap-size: var(--eight-tenth)}:host([unit]){--gap-size: var(--unit)}:host([double]){--gap-size: var(--double)}:host([triple]){--gap-size: var(--triple)}:host([quad]){--gap-size: var(--quad)}:host([oct]){--gap-size: var(--oct)}:host([dozen]){--gap-size: var(--dozen)}:host([size="01"]){--gap-size: var(--01)}:host([size="025"]){--gap-size: var(--025)}:host([size="05"]){--gap-size: var(--05)}:host([size="08"]){--gap-size: var(--08)}:host([size="1"]){--gap-size: var(--1)}:host([size="2"]){--gap-size: var(--2)}:host([size="3"]){--gap-size: var(--3)}:host([size="4"]){--gap-size: var(--4)}:host([size="8"]){--gap-size: var(--8)}:host([size="12"]){--gap-size: var(--12)}', pe = class pe extends f {
2769
+ constructor() {
2770
+ super(), this.size = "";
2771
+ }
2772
+ render() {
2773
+ return l``;
2774
+ }
2775
+ };
2776
+ pe.properties = {
2777
+ /** Raw scale token selector ("01", "025", "05", "08", "1", "2", "3", "4", "8", "12") */
2778
+ size: { type: String, reflect: !0 }
2779
+ }, pe.styles = x(Nn);
2780
+ let Ze = pe;
2781
+ customElements.define("ds-gap", Ze);
2782
+ const ge = class ge extends f {
2783
+ constructor() {
2784
+ super(), this.type = "text", this.name = "", this.value = "", this.placeholder = "", this.placeholderKey = "", this.label = "", this.labelText = "", this.disabled = !1, this.readonly = !1, this.required = !1, this.autofocus = !1, this.autocomplete = "off", this.pattern = "", this.minlength = 0, this.maxlength = 0, this.min = "", this.max = "", this.step = "", this.variant = "default", this.error = "", this.errorText = "", this._focused = !1;
2785
+ }
2786
+ _handleInput(e) {
2787
+ const r = e.target;
2788
+ this.value = r.value, this.dispatchEvent(
2789
+ new CustomEvent("input-change", {
2790
+ detail: { value: this.value, name: this.name },
2791
+ bubbles: !0
2792
+ })
2793
+ );
2794
+ }
2795
+ _handleFocus() {
2796
+ this._focused = !0, this.dispatchEvent(new CustomEvent("input-focus", { bubbles: !0 }));
2797
+ }
2798
+ _handleBlur() {
2799
+ this._focused = !1, this.dispatchEvent(new CustomEvent("input-blur", { bubbles: !0 }));
2800
+ }
2801
+ /**
2802
+ * Focus the input element
2803
+ */
2804
+ focus() {
2805
+ this.shadowRoot?.querySelector("input")?.focus();
2806
+ }
2807
+ /**
2808
+ * Blur the input element
2809
+ */
2810
+ blur() {
2811
+ this.shadowRoot?.querySelector("input")?.blur();
2812
+ }
2813
+ /**
2814
+ * Select all text in the input
2815
+ */
2816
+ select() {
2817
+ this.shadowRoot?.querySelector("input")?.select();
2818
+ }
2819
+ render() {
2820
+ const e = !!(this.error || this.errorText);
2821
+ return l`
2822
+ <div class="input-wrapper">
2823
+ ${this.label || this.labelText ? l`
2824
+ <label for="input">
2825
+ ${this.labelText ? l`<ds-text .text=${this.labelText}></ds-text>` : this.label}
2826
+ </label>
2827
+ ` : null}
2828
+
2829
+ <div class="input-container">
2830
+ <input
2831
+ id="input"
2832
+ .type=${this.type}
2833
+ .name=${this.name}
2834
+ .value=${this.value}
2835
+ .placeholder=${this.placeholder}
290
2836
  ?disabled=${this.disabled}
291
- @click=${this.handleButtonClick}
292
- >
293
- ${this.type==="notes-style-medium"||this.type==="icon-only"?a`<span
294
- style="display: inline-flex; align-items: center; gap: var(--025)"
295
- >${this.getValueDisplay(this.currentValue)}</span
296
- >`:a`<span>${this.getValueDisplay(this.currentValue)}</span>`}
297
- </ds-button>
298
- ${this.type==="accent-color"?a`
299
- <div
300
- class="color-preview"
301
- style="background-color: var(${this.currentValue})"
302
- ></div>
303
- `:""}
2837
+ ?readonly=${this.readonly}
2838
+ ?required=${this.required}
2839
+ ?autofocus=${this.autofocus}
2840
+ autocomplete=${this.autocomplete}
2841
+ pattern=${this.pattern || ""}
2842
+ minlength=${this.minlength || ""}
2843
+ maxlength=${this.maxlength || ""}
2844
+ min=${this.min}
2845
+ max=${this.max}
2846
+ step=${this.step}
2847
+ class=${e ? "has-error" : ""}
2848
+ @input=${this._handleInput}
2849
+ @focus=${this._handleFocus}
2850
+ @blur=${this._handleBlur}
2851
+ />
304
2852
  </div>
2853
+
2854
+ ${e ? l`
2855
+ <div class="error-message">
2856
+ ${this.errorText ? l`<ds-text .text=${this.errorText}></ds-text>` : this.error}
2857
+ </div>
2858
+ ` : null}
305
2859
  </div>
306
- `}async waitForTranslations(){return new Promise(e=>{if(this.translationsReady){e();return}let s=()=>{this.translationsReady=!0,e()};window.addEventListener("translations-loaded",s,{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`
307
- .cycle-container {
308
- display: flex;
309
- justify-content: space-between;
310
- gap: var(--025);
2860
+ `;
2861
+ }
2862
+ };
2863
+ ge.properties = {
2864
+ type: { type: String, reflect: !0 },
2865
+ name: { type: String, reflect: !0 },
2866
+ value: { type: String },
2867
+ placeholder: { type: String },
2868
+ placeholderKey: { type: String, attribute: "placeholder-key" },
2869
+ label: { type: String },
2870
+ labelText: { type: String, attribute: "label-text" },
2871
+ disabled: { type: Boolean, reflect: !0 },
2872
+ readonly: { type: Boolean, reflect: !0 },
2873
+ required: { type: Boolean, reflect: !0 },
2874
+ autofocus: { type: Boolean },
2875
+ autocomplete: { type: String },
2876
+ pattern: { type: String },
2877
+ minlength: { type: Number },
2878
+ maxlength: { type: Number },
2879
+ min: { type: String },
2880
+ max: { type: String },
2881
+ step: { type: String },
2882
+ variant: { type: String, reflect: !0 },
2883
+ error: { type: String },
2884
+ errorText: { type: String, attribute: "error-text" },
2885
+ _focused: { type: Boolean, state: !0 }
2886
+ }, ge.styles = Ae`
2887
+ :host {
2888
+ display: block;
311
2889
  width: 100%;
312
2890
  }
313
2891
 
314
- .cycle-label {
315
- color: var(--text-color-primary);
316
- }
317
- `;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=C(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`
318
- <span class="slot-wrapper"><slot></slot></span>
319
- ${this._text?a`<div class="${e}">${this._text}</div>`:null}
320
- `}};ae.properties={key:{type:String,reflect:!0},defaultValue:{type:String,reflect:!0,attribute:"default-value"},_text:{state:!0},_visible:{state:!0}};ae.styles=y`
321
- :host {
322
- position: relative;
323
- display: inline-block;
2892
+ .input-wrapper {
2893
+ display: flex;
2894
+ flex-direction: column;
2895
+ gap: calc(var(--025) * var(--sf, 1));
2896
+ width: 100%;
324
2897
  }
325
2898
 
326
- .slot-wrapper {
327
- display: inline-flex;
328
- align-items: center;
2899
+ label {
2900
+ font-family: var(--typeface-regular);
2901
+ font-size: calc(12px * var(--sf, 1));
2902
+ color: var(--text-color-secondary);
329
2903
  }
330
2904
 
331
- .bubble {
2905
+ .input-container {
2906
+ position: relative;
332
2907
  display: flex;
333
2908
  align-items: center;
334
- justify-content: center;
335
- position: absolute;
336
- left: 50%;
337
- bottom: 100%;
338
- transform: translate(-50%, calc(-2px * var(--sf)));
339
- z-index: 1000;
340
- pointer-events: none;
341
- height: calc(var(--08) * var(--sf));
342
- opacity: 0;
343
- transition:
344
- opacity 120ms ease,
345
- transform 120ms ease;
346
- background-color: light-dark(var(--black), var(--white));
347
- color: light-dark(var(--white), var(--black));
348
- border-radius: 0;
349
- font-size: var(--type-size-default);
350
- padding: 0px calc(1px * var(--sf));
351
- font-family: var(
352
- --typeface,
353
- -apple-system,
354
- BlinkMacSystemFont,
355
- "Segoe UI",
356
- Roboto,
357
- sans-serif
358
- );
359
- font-weight: 500;
360
- white-space: nowrap;
361
- min-width: max-content;
2909
+ width: 100%;
362
2910
  }
363
2911
 
364
- .bubble.visible {
365
- opacity: 1;
366
- }
367
- `;customElements.define("ds-tooltip",ae);var Pe=class extends h{render(){let e=new Date().getFullYear();return a`<span>${e}</span>`}};Pe.styles=y`
368
- :host {
369
- display: inline;
370
- font-family: var(--typeface, var(--typeface-regular));
371
- font-size: inherit;
372
- color: inherit;
373
- }
374
- `;customElements.define("ds-date",Pe);var He=class extends h{render(){return a`<slot></slot>`}};He.styles=y`
375
- :host {
376
- display: flex;
377
- flex-direction: column;
378
- gap: 0;
2912
+ input {
379
2913
  width: 100%;
380
- }
381
- `;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`
382
- :host {
383
- display: flex;
384
- align-items: end;
385
- width: calc(240px * var(--sf));
2914
+ height: calc(var(--1) * var(--sf, 1));
2915
+ padding: 0 calc(var(--025) * var(--sf, 1));
2916
+ font-family: var(--typeface-regular);
2917
+ font-size: calc(14px * var(--sf, 1));
2918
+ color: var(--text-color-primary);
2919
+ background-color: var(--input-background, transparent);
2920
+ border: 1px solid var(--input-border-color, var(--border-color, #ccc));
2921
+ border-radius: calc(var(--025) * var(--sf, 1));
2922
+ outline: none;
2923
+ transition:
2924
+ border-color 0.2s ease,
2925
+ box-shadow 0.2s ease;
2926
+ box-sizing: border-box;
386
2927
  }
387
2928
 
388
- :host([type="fill"]) {
389
- justify-content: space-between;
390
- height: calc(var(--1) * var(--sf));
2929
+ input::placeholder {
2930
+ color: var(--text-color-tertiary, #999);
391
2931
  }
392
2932
 
393
- :host([type="centered"]) {
394
- justify-content: center;
395
- height: calc(var(--1) * var(--sf));
396
- gap: calc(var(--025) * var(--sf));
397
- }
398
- `;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`
399
- <div class="table-container">
400
- <div class="table-header">
401
-
402
- <div class="header-cell product-cell">Product</div>
403
- <div class="header-cell users-cell">Users</div>
404
- <div class="header-cell retention-cell">Retention</div>
405
- ${this.showStatus?a`<div class="header-cell">Status</div>`:""}
406
- </div>
407
- <div class="table-body">
408
- ${this.data.map((e,s)=>a`
409
- <div class="data-cell product-cell">${e.product}</div>
410
- <div class="data-cell users-cell">${e.users}</div>
411
- <div class="data-cell retention-cell">${e.retention}</div>
412
- ${this.showStatus?a`<div class="data-cell status-cell">
413
- ${e.status||"Pending"}
414
- </div>`:""}
415
- `)}
416
- </div>
417
- </div>
418
- `}};ce.properties={data:{type:Array},columns:{type:Array},showStatus:{type:Boolean,attribute:"show-status"}};ce.styles=y`
419
- :host {
420
- display: block;
421
- width: 100%;
2933
+ input:focus {
2934
+ border-color: var(--accent-color, #007aff);
2935
+ box-shadow: 0 0 0 2px var(--input-focus-ring, rgba(0, 122, 255, 0.2));
422
2936
  }
423
2937
 
424
- .table-container {
425
- display: flex;
426
- flex-direction: column;
427
- width: 100%;
2938
+ input:disabled {
2939
+ opacity: 0.5;
2940
+ cursor: not-allowed;
2941
+ background-color: var(--input-disabled-background, #f5f5f5);
428
2942
  }
429
2943
 
430
- .table-header {
431
- display: grid;
432
- grid-template-columns: 160px 80px 80px 80px;
433
- height: 20px;
434
- width: 400px;
2944
+ input:read-only {
2945
+ background-color: var(--input-readonly-background, #fafafa);
435
2946
  }
436
2947
 
437
- .table-body {
438
- display: grid;
439
- grid-template-columns: 160px 80px 80px 80px;
440
- border: 1px solid var(--black);
441
- width: 400px;
2948
+ :host([variant="filled"]) input {
2949
+ background-color: var(
2950
+ --input-filled-background,
2951
+ var(--surface-color-secondary, #f5f5f5)
2952
+ );
2953
+ border: none;
2954
+ border-bottom: 2px solid var(--border-color, #ccc);
2955
+ border-radius: calc(var(--025) * var(--sf, 1))
2956
+ calc(var(--025) * var(--sf, 1)) 0 0;
442
2957
  }
443
2958
 
444
- .header-cell {
445
- height: 20px;
446
- display: flex;
447
- align-items: center;
448
- justify-content: left;
449
- padding: 0 2px;
450
- font-family: var(--typeface);
451
- font-size: var(--type-size-default);
452
- font-weight: var(--type-weight-default);
453
- line-height: var(--type-lineheight-default);
454
- color: var(--black);
455
- letter-spacing: -0.26px;
456
- }
457
-
458
- .data-cell {
459
- height: 20px;
460
- margin-top: -1px;
461
- display: flex;
462
- align-items: center;
463
- justify-content: left;
464
-
465
- outline: 1px solid var(--black);
2959
+ :host([variant="filled"]) input:focus {
2960
+ border-bottom-color: var(--accent-color, #007aff);
2961
+ box-shadow: none;
2962
+ }
466
2963
 
467
- font-family: var(--typeface);
468
- font-size: var(--type-size-default);
469
- font-weight: var(--type-weight-default);
470
- line-height: var(--type-lineheight-default);
471
- color: var(--black);
472
- letter-spacing: -0.26px;
2964
+ :host([variant="outlined"]) input {
2965
+ background-color: transparent;
2966
+ border: 2px solid var(--border-color, #ccc);
473
2967
  }
474
2968
 
475
- .status-cell {
476
- background-color: var(--light-green);
2969
+ :host([variant="outlined"]) input:focus {
2970
+ border-color: var(--accent-color, #007aff);
477
2971
  }
478
2972
 
479
- .product-cell {
480
- text-align: left;
481
- justify-content: flex-start;
2973
+ .error-message {
2974
+ font-family: var(--typeface-regular);
2975
+ font-size: calc(12px * var(--sf, 1));
2976
+ color: var(--error-color, #ff3b30);
2977
+ margin-top: calc(var(--025) * var(--sf, 1));
482
2978
  }
483
2979
 
484
- .users-cell,
485
- .retention-cell {
486
- text-align: center;
2980
+ :host([required]) label::after {
2981
+ content: " *";
2982
+ color: var(--error-color, #ff3b30);
487
2983
  }
488
2984
 
489
- .status-cell {
490
- text-align: center;
2985
+ /* Error state */
2986
+ input.has-error {
2987
+ border-color: var(--error-color, #ff3b30);
491
2988
  }
492
2989
 
493
- /* Responsive adjustments */
494
- @media (max-width: 480px) {
495
- .table-header,
496
- .table-body {
497
- width: 100%;
498
- grid-template-columns: 1fr 60px 60px 60px;
499
- }
2990
+ input.has-error:focus {
2991
+ box-shadow: 0 0 0 2px rgba(255, 59, 48, 0.2);
500
2992
  }
501
- `;customElements.define("ds-table",ce);var de=class extends h{render(){return a``}};de.properties={align:{type:String}};de.styles=y`
502
- :host {
503
- margin-top: 0.5px !important;
504
- margin-left: 0.5px !important;
505
- display: grid;
506
- width: 1440px;
507
- height: 360px;
508
- grid-template-columns: repeat(auto-fill, 19px);
509
- grid-template-rows: repeat(auto-fill, 19px);
510
- gap: 1px;
511
- row-rule: calc(1px * var(--sf)) solid var(--grid-color);
512
- column-rule: calc(1px * var(--sf)) solid var(--grid-color);
513
- outline: 1px solid black;
514
- position: fixed;
515
- top: 0;
516
- left: 50%;
517
- transform: translateX(-50%);
518
- pointer-events: none;
519
- z-index: 300;
2993
+ `;
2994
+ let We = ge;
2995
+ customElements.define("ds-input", We);
2996
+ const In = ':host{position:relative;display:inline-block}.slot-wrapper{display:inline-flex;align-items:center}.bubble{display:flex;align-items:center;justify-content:center;position:absolute;left:50%;bottom:100%;transform:translate(-50%,calc(-2px * var(--sf)));z-index:1000;pointer-events:none;height:calc(var(--08) * var(--sf));opacity:0;transition:opacity .12s ease,transform .12s ease;background-color:light-dark(var(--black),var(--white));color:light-dark(var(--white),var(--black));border-radius:0;font-size:var(--type-size-default);padding:0px calc(1px * var(--sf));font-family:var( --typeface-regular, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif );font-weight:500;white-space:nowrap;min-width:max-content}.bubble.visible{opacity:1}', ve = class ve extends f {
2997
+ constructor() {
2998
+ super(), this.text = "", this.defaultValue = "", this._text = "", this._visible = !1, this.boundWindowHandlers = {
2999
+ languageChanged: (() => {
3000
+ this._loadText();
3001
+ }),
3002
+ translationsLoaded: (() => {
3003
+ this._loadText();
3004
+ })
3005
+ }, this.boundHostHandlers = {
3006
+ mouseenter: (() => {
3007
+ this._visible = !0, this.requestUpdate();
3008
+ }),
3009
+ mouseleave: (() => {
3010
+ this._visible = !1, this.requestUpdate();
3011
+ }),
3012
+ focusin: (() => {
3013
+ this._visible = !0, this.requestUpdate();
3014
+ }),
3015
+ focusout: (() => {
3016
+ this._visible = !1, this.requestUpdate();
3017
+ })
3018
+ };
3019
+ }
3020
+ connectedCallback() {
3021
+ super.connectedCallback(), this._loadText(), window.addEventListener(
3022
+ "language-changed",
3023
+ this.boundWindowHandlers.languageChanged
3024
+ ), window.addEventListener(
3025
+ "translations-loaded",
3026
+ this.boundWindowHandlers.translationsLoaded
3027
+ ), this.addEventListener("mouseenter", this.boundHostHandlers.mouseenter), this.addEventListener("mouseleave", this.boundHostHandlers.mouseleave), this.addEventListener("focusin", this.boundHostHandlers.focusin), this.addEventListener("focusout", this.boundHostHandlers.focusout);
3028
+ }
3029
+ disconnectedCallback() {
3030
+ super.disconnectedCallback(), window.removeEventListener(
3031
+ "language-changed",
3032
+ this.boundWindowHandlers.languageChanged
3033
+ ), window.removeEventListener(
3034
+ "translations-loaded",
3035
+ this.boundWindowHandlers.translationsLoaded
3036
+ ), this.removeEventListener("mouseenter", this.boundHostHandlers.mouseenter), this.removeEventListener("mouseleave", this.boundHostHandlers.mouseleave), this.removeEventListener("focusin", this.boundHostHandlers.focusin), this.removeEventListener("focusout", this.boundHostHandlers.focusout);
3037
+ }
3038
+ updated(e) {
3039
+ (e.has("text") || e.has("defaultValue")) && this._loadText();
3040
+ }
3041
+ _loadText() {
3042
+ if (!this.text) {
3043
+ this._text = this.defaultValue || "", this.requestUpdate();
3044
+ return;
3045
+ }
3046
+ try {
3047
+ const e = Z(this.text);
3048
+ this._text = e && e !== this.text ? e : this.defaultValue || this.text;
3049
+ } catch (e) {
3050
+ console.error("ds-tooltip: error loading text for text", this.text, e), this._text = this.defaultValue || this.text;
520
3051
  }
3052
+ this.requestUpdate();
3053
+ }
3054
+ render() {
3055
+ const e = ["bubble", this._visible ? "visible" : ""].join(" ");
3056
+ return l`
3057
+ <span class="slot-wrapper"><slot></slot></span>
3058
+ ${this._text ? l`<div class="${e}">${this._text}</div>` : null}
3059
+ `;
3060
+ }
3061
+ };
3062
+ ve.properties = {
3063
+ text: { type: String, reflect: !0 },
3064
+ defaultValue: { type: String, reflect: !0, attribute: "default-value" },
3065
+ _text: { state: !0 },
3066
+ _visible: { state: !0 }
3067
+ }, ve.styles = x(In);
3068
+ let Fe = ve;
3069
+ customElements.define("ds-tooltip", Fe);
3070
+ const zn = ':host{display:flex;align-items:end;width:calc(240px * var(--sf))}:host([type="fill"]){justify-content:space-between;height:calc(var(--1) * var(--sf))}:host([type="centered"]){justify-content:center;height:calc(var(--1) * var(--sf));gap:calc(var(--025) * var(--sf))}', fe = class fe extends f {
3071
+ constructor() {
3072
+ super(), this.type = "fill";
3073
+ }
3074
+ render() {
3075
+ return l`<slot></slot>`;
3076
+ }
3077
+ };
3078
+ fe.properties = {
3079
+ type: { type: String, reflect: !0 }
3080
+ }, fe.styles = x(zn);
3081
+ let Ke = fe;
3082
+ customElements.define("ds-row", Ke);
3083
+ const On = ":host{display:block;width:calc(240px * var(--sf));color:var(--text-color-primary)}details{width:100%}summary{cursor:pointer;user-select:none;list-style:none;outline:none}summary::-webkit-details-marker{display:none}.summaryRow{width:100%}ds-icon.chevron{transform:rotate(0);transition:transform .14s ease}details[open] ds-icon.chevron{transform:rotate(180deg)}.detailsBody{padding-top:calc(var(--half) * var(--sf))}.detailsText{display:block;white-space:normal;text-align:left}", we = class we extends f {
3084
+ constructor() {
3085
+ super(), this.summary = "", this.details = "", this.open = !1, this._hasSlottedContent = !1;
3086
+ }
3087
+ _handleSlotChange(e) {
3088
+ const n = e.target.assignedNodes({ flatten: !0 }).some(
3089
+ (i) => i.nodeType === Node.ELEMENT_NODE || i.nodeType === Node.TEXT_NODE && i.textContent?.trim()
3090
+ );
3091
+ this._hasSlottedContent = n;
3092
+ }
3093
+ render() {
3094
+ return l`
3095
+ <details ?open=${this.open}>
3096
+ <summary>
3097
+ <ds-row class="summaryRow" type="centered">
3098
+ <ds-text .text=${this.summary}></ds-text>
3099
+ <ds-icon class="chevron" aria-hidden="true">
3100
+ <svg
3101
+ viewBox="0 0 10.157 8.219"
3102
+ xmlns="http://www.w3.org/2000/svg"
3103
+ aria-hidden="true"
3104
+ focusable="false"
3105
+ >
3106
+ <path
3107
+ d="M5.078 8.219L0 3.141L1.414 1.727L5.078 5.391L8.743 1.727L10.157 3.141L5.078 8.219Z"
3108
+ fill="currentColor"
3109
+ />
3110
+ </svg>
3111
+ </ds-icon>
3112
+ </ds-row>
3113
+ </summary>
521
3114
 
522
- /* DO NOT CHANGE THIS GRID CODE FOR MOBILE. ITS PERFECT FOR MOBILE. */
523
- :host(.mobile) {
524
- width: calc(100% - calc(1px * var(--sf)));
525
- max-width: 100vw;
526
- margin-left: 0 !important;
527
- margin-top: 0 !important;
528
- box-sizing: border-box;
529
- position: fixed;
530
- top: calc(0.5px * var(--sf));
531
- left: 50%;
532
- transform: translateX(-50%);
533
- pointer-events: none;
534
- z-index: 300;
535
- gap: calc(1px * var(--sf));
536
- grid-template-columns: repeat(14, calc(19px * var(--sf)));
537
- grid-template-rows: repeat(auto-fill, calc(19px * var(--sf)));
3115
+ <div class="detailsBody">
3116
+ <slot name="details" @slotchange=${this._handleSlotChange}></slot>
3117
+ ${this._hasSlottedContent ? "" : l`<ds-text
3118
+ class="detailsText"
3119
+ .text=${this.details}
3120
+ ></ds-text>`}
3121
+ </div>
3122
+ </details>
3123
+ `;
3124
+ }
3125
+ };
3126
+ we.properties = {
3127
+ summary: { type: String },
3128
+ details: { type: String },
3129
+ open: { type: Boolean, reflect: !0 },
3130
+ _hasSlottedContent: { type: Boolean, state: !0 }
3131
+ }, we.styles = x(On);
3132
+ let Ge = we;
3133
+ customElements.define("ds-accordion", Ge);
3134
+ const me = class me extends f {
3135
+ constructor() {
3136
+ super(), this.action = "", this.method = "post", this.name = "", this.novalidate = !1, this.autocomplete = "on", this._isSubmitting = !1;
3137
+ }
3138
+ /**
3139
+ * Get all form data as an object
3140
+ */
3141
+ getFormData() {
3142
+ const e = {}, o = this.shadowRoot?.querySelector("slot")?.assignedElements({ flatten: !0 }) || [];
3143
+ for (const n of o)
3144
+ this._collectFormData(n, e);
3145
+ return e;
3146
+ }
3147
+ _collectFormData(e, r) {
3148
+ const o = e.getAttribute("name") || e.name;
3149
+ if (o) {
3150
+ const i = e.value;
3151
+ i !== void 0 && (e instanceof HTMLInputElement && (e.type === "checkbox" || e.type === "radio") ? e.type === "checkbox" ? r[o] = e.checked : e.type === "radio" && e.checked && (r[o] = i) : r[o] = i);
3152
+ }
3153
+ (e.shadowRoot?.querySelectorAll("*") || e.querySelectorAll("*")).forEach((i) => {
3154
+ this._collectFormData(i, r);
3155
+ });
3156
+ }
3157
+ /**
3158
+ * Validate the form
3159
+ */
3160
+ validate() {
3161
+ const e = {
3162
+ valid: !0,
3163
+ errors: {}
3164
+ };
3165
+ if (this.novalidate)
3166
+ return e;
3167
+ const o = this.shadowRoot?.querySelector("slot")?.assignedElements({ flatten: !0 }) || [];
3168
+ for (const n of o)
3169
+ this._validateElement(n, e);
3170
+ return e;
3171
+ }
3172
+ _validateElement(e, r) {
3173
+ const o = e.getAttribute("name") || e.name;
3174
+ if (e.tagName.toLowerCase() === "ds-input") {
3175
+ const i = e;
3176
+ i.required && !i.value && (r.valid = !1, r.errors[o || "unknown"] = "This field is required");
3177
+ }
3178
+ (e instanceof HTMLInputElement || e instanceof HTMLTextAreaElement || e instanceof HTMLSelectElement) && (e.checkValidity() || (r.valid = !1, r.errors[o || "unknown"] = e.validationMessage)), (e.shadowRoot?.querySelectorAll("*") || e.querySelectorAll("*")).forEach((i) => {
3179
+ this._validateElement(i, r);
3180
+ });
3181
+ }
3182
+ /**
3183
+ * Reset the form
3184
+ */
3185
+ reset() {
3186
+ const r = this.shadowRoot?.querySelector("slot")?.assignedElements({ flatten: !0 }) || [];
3187
+ for (const o of r)
3188
+ this._resetElement(o);
3189
+ this.dispatchEvent(new CustomEvent("form-reset", { bubbles: !0 }));
3190
+ }
3191
+ _resetElement(e) {
3192
+ (e instanceof HTMLInputElement || e instanceof HTMLTextAreaElement || e instanceof HTMLSelectElement) && (e instanceof HTMLInputElement && e.type === "checkbox" ? e.checked = !1 : e.value = ""), e.tagName.toLowerCase() === "ds-input" && (e.value = ""), (e.shadowRoot?.querySelectorAll("*") || e.querySelectorAll("*")).forEach((o) => {
3193
+ this._resetElement(o);
3194
+ });
3195
+ }
3196
+ /**
3197
+ * Submit the form
3198
+ */
3199
+ async submit() {
3200
+ if (this._isSubmitting) return;
3201
+ const e = this.validate();
3202
+ if (!e.valid) {
3203
+ this.dispatchEvent(
3204
+ new CustomEvent("form-invalid", {
3205
+ detail: e.errors,
3206
+ bubbles: !0
3207
+ })
3208
+ );
3209
+ return;
3210
+ }
3211
+ this._isSubmitting = !0;
3212
+ const r = this.getFormData();
3213
+ if (this.dispatchEvent(
3214
+ new CustomEvent("form-submit", {
3215
+ detail: { data: r },
3216
+ bubbles: !0
3217
+ })
3218
+ ), this.action)
3219
+ try {
3220
+ const o = await fetch(this.action, {
3221
+ method: this.method.toUpperCase(),
3222
+ headers: {
3223
+ "Content-Type": "application/json"
3224
+ },
3225
+ body: JSON.stringify(r)
3226
+ });
3227
+ this.dispatchEvent(
3228
+ new CustomEvent("form-response", {
3229
+ detail: { response: o, data: r },
3230
+ bubbles: !0
3231
+ })
3232
+ );
3233
+ } catch (o) {
3234
+ this.dispatchEvent(
3235
+ new CustomEvent("form-error", {
3236
+ detail: { error: o, data: r },
3237
+ bubbles: !0
3238
+ })
3239
+ );
3240
+ }
3241
+ this._isSubmitting = !1;
3242
+ }
3243
+ _handleSubmit(e) {
3244
+ e.preventDefault(), this.submit();
3245
+ }
3246
+ _handleKeydown(e) {
3247
+ e.key === "Enter" && !e.shiftKey && e.target.tagName.toLowerCase() !== "textarea" && (e.preventDefault(), this.submit());
3248
+ }
3249
+ render() {
3250
+ return l`
3251
+ <form
3252
+ .action=${this.action}
3253
+ .method=${this.method}
3254
+ .name=${this.name}
3255
+ ?novalidate=${this.novalidate}
3256
+ autocomplete=${this.autocomplete}
3257
+ @submit=${this._handleSubmit}
3258
+ @keydown=${this._handleKeydown}
3259
+ >
3260
+ <slot></slot>
3261
+ </form>
3262
+ `;
3263
+ }
3264
+ };
3265
+ me.properties = {
3266
+ action: { type: String },
3267
+ method: { type: String },
3268
+ name: { type: String },
3269
+ novalidate: { type: Boolean, reflect: !0 },
3270
+ autocomplete: { type: String },
3271
+ _isSubmitting: { type: Boolean, state: !0 }
3272
+ }, me.styles = Ae`
3273
+ :host {
3274
+ display: block;
3275
+ width: 100%;
538
3276
  }
539
3277
 
540
- :host([align="left"]) {
541
- left: 0;
542
- transform: none;
3278
+ form {
3279
+ display: flex;
3280
+ flex-direction: column;
3281
+ gap: calc(var(--05) * var(--sf, 1));
3282
+ width: 100%;
543
3283
  }
544
3284
 
545
- :host([align="center"]) {
546
- left: 50%;
547
- transform: translateX(-50%);
3285
+ ::slotted(*) {
3286
+ width: 100%;
548
3287
  }
549
3288
 
550
- :host([align="right"]) {
551
- left: auto;
552
- right: 0;
553
- transform: none;
3289
+ :host([disabled]) {
3290
+ opacity: 0.6;
3291
+ pointer-events: none;
554
3292
  }
555
- `;customElements.define("ds-grid",de);var ue=class extends h{constructor(){super(...arguments),this.mode="portfolio"}render(){let e=this.debug||this.mode==="debug",s=this.mode==="portfolio",r=this.mode==="company",n=this.mode==="app";return a`
3293
+ `;
3294
+ let Je = me;
3295
+ customElements.define("ds-form", Je);
3296
+ const Pn = ":host{display:flex;flex-direction:column;gap:0;width:100%}", ut = class ut extends f {
3297
+ render() {
3298
+ return l`<slot></slot>`;
3299
+ }
3300
+ };
3301
+ ut.styles = x(Pn);
3302
+ let Ye = ut;
3303
+ customElements.define("ds-list", Ye);
3304
+ const Bn = ":host{display:block;width:100%}.table-container{display:flex;flex-direction:column;width:100%}.table-header{display:grid;grid-template-columns:160px 80px 80px 80px;height:20px;width:400px}.table-body{display:grid;grid-template-columns:160px 80px 80px 80px;border:1px solid var(--black);width:400px}.header-cell{height:20px;display:flex;align-items:center;justify-content:left;padding:0 2px;font-family:var(--typeface-regular);font-size:var(--type-size-default);font-weight:var(--type-weight-default);line-height:var(--type-lineheight-default);color:var(--black);letter-spacing:-.26px}.data-cell{height:20px;margin-top:-1px;display:flex;align-items:center;justify-content:left;outline:1px solid var(--black);font-family:var(--typeface-regular);font-size:var(--type-size-default);font-weight:var(--type-weight-default);line-height:var(--type-lineheight-default);color:var(--black);letter-spacing:-.26px}.status-cell{background-color:var(--apple-green);text-align:center}.product-cell{text-align:left;justify-content:flex-start}.users-cell,.retention-cell{text-align:center}@media (max-width: 480px){.table-header,.table-body{width:100%;grid-template-columns:1fr 60px 60px 60px}}", be = class be extends f {
3305
+ constructor() {
3306
+ super(), this.data = [], this.columns = ["Product", "Users", "Retention"], this.showStatus = !0;
3307
+ }
3308
+ render() {
3309
+ return l`
3310
+ <div class="table-container">
3311
+ <div class="table-header">
3312
+ <div class="header-cell product-cell">Product</div>
3313
+ <div class="header-cell users-cell">Users</div>
3314
+ <div class="header-cell retention-cell">Retention</div>
3315
+ ${this.showStatus ? l`<div class="header-cell">Status</div>` : ""}
3316
+ </div>
3317
+ <div class="table-body">
3318
+ ${this.data.map(
3319
+ (e, r) => l`
3320
+ <div class="data-cell product-cell">${e.product}</div>
3321
+ <div class="data-cell users-cell">${e.users}</div>
3322
+ <div class="data-cell retention-cell">${e.retention}</div>
3323
+ ${this.showStatus ? l`<div class="data-cell status-cell">
3324
+ ${e.status || "Pending"}
3325
+ </div>` : ""}
3326
+ `
3327
+ )}
3328
+ </div>
3329
+ </div>
3330
+ `;
3331
+ }
3332
+ };
3333
+ be.properties = {
3334
+ data: { type: Array },
3335
+ columns: { type: Array },
3336
+ showStatus: { type: Boolean, attribute: "show-status" }
3337
+ }, be.styles = x(Bn);
3338
+ let Xe = be;
3339
+ customElements.define("ds-table", Xe);
3340
+ const Dn = ":host{display:flex;width:100%;max-width:100%;flex-direction:column;background-color:var(--background-color);box-sizing:border-box}:host ::slotted(*){max-width:100%;box-sizing:border-box}@media (max-width: 820px){:host{width:100%;max-width:100%}}@media (min-width: 821px){:host{max-width:1000px;margin-left:auto;margin-right:auto;width:100%}}", pt = class pt extends f {
3341
+ render() {
3342
+ return l`<slot></slot>`;
3343
+ }
3344
+ };
3345
+ pt.styles = x(Dn);
3346
+ let Qe = pt;
3347
+ customElements.define("ds-container", Qe);
3348
+ const jn = ':host{margin-top:.5px!important;margin-left:.5px!important;display:grid;width:1440px;height:1280px;grid-template-columns:repeat(auto-fill,19px);grid-template-rows:repeat(auto-fill,19px);gap:1px;row-rule:calc(1px * var(--sf)) solid var(--grid-color);column-rule:calc(1px * var(--sf)) solid var(--grid-color);outline:calc(1px * var(--sf)) solid light-dark(var(--sharp-blue),var(--yellow));position:fixed;top:0;left:50%;transform:translate(-50%);pointer-events:none;z-index:300}:host(.mobile){width:calc(100% - calc(1px * var(--sf)));max-width:100vw;margin-left:.5px!important;margin-top:0!important;box-sizing:border-box;position:fixed;top:calc(.5px * var(--sf));left:50%;transform:translate(-50%);pointer-events:none;z-index:300;gap:calc(1px * var(--sf));grid-template-columns:repeat(14,calc(19px * var(--sf)));grid-template-rows:repeat(auto-fill,calc(19px * var(--sf)))}:host([align="left"]){left:0;transform:none}:host([align="center"]){left:50%;transform:translate(-50%)}:host([align="right"]){left:auto;right:0;transform:none}', ye = class ye extends f {
3349
+ connectedCallback() {
3350
+ super.connectedCallback(), this.updateMobileClass(), this.resizeObserver = () => {
3351
+ this.resizeTimeout && clearTimeout(this.resizeTimeout), this.resizeTimeout = setTimeout(() => {
3352
+ this.updateMobileClass();
3353
+ }, 100);
3354
+ }, window.addEventListener("resize", this.resizeObserver);
3355
+ }
3356
+ disconnectedCallback() {
3357
+ super.disconnectedCallback(), this.resizeObserver && window.removeEventListener("resize", this.resizeObserver), this.resizeTimeout && clearTimeout(this.resizeTimeout);
3358
+ }
3359
+ updateMobileClass() {
3360
+ st() ? (this.classList.add("mobile"), this.classList.remove("desktop")) : (this.classList.add("desktop"), this.classList.remove("mobile"));
3361
+ }
3362
+ render() {
3363
+ return l``;
3364
+ }
3365
+ };
3366
+ ye.properties = {
3367
+ align: { type: String }
3368
+ }, ye.styles = x(jn);
3369
+ let et = ye;
3370
+ customElements.define("ds-grid", et);
3371
+ const Rn = ':host{display:grid;position:relative;width:100%}slot{display:contents}:host([mode="portfolio"]){--portfolio-cols: 120px 480px 40px;--portfolio-rows: 120px 120px 60px 180px 60px 120px 60px 20px 120px 120px;--portfolio-areas: "square . ." ". title ." ". header ." ". projects ." ". . ." ". bio ." ". . ." ". nav ." ". . ." ". footer ." ". . .";--portfolio-overlay-cols: 120px 480px;--portfolio-overlay-areas: "square ." ". title" ". header" ". projects" ". ." ". bio" ". ." ". nav" ". ." ". footer" ". .";grid-template-columns:var(--portfolio-cols);grid-template-rows:var(--portfolio-rows);grid-template-areas:var(--portfolio-areas);min-height:600px;background-color:#a5a5a508;max-width:640px;margin:0}:host([mode="portfolio"]) .view-overlay{grid-template-columns:var(--portfolio-overlay-cols);grid-template-rows:var(--portfolio-rows);grid-template-areas:var(--portfolio-overlay-areas)}:host([mode="company"]){--company-cols: auto 400px auto;--company-rows: 80px 20px 20px 120px 20px 120px;--company-areas: ". . ." ". header ." ". . ." ". content ." ". . ." ". footer .";grid-template-columns:var(--company-cols);grid-template-rows:var(--company-rows);grid-template-areas:var(--company-areas);gap:0;max-width:100%}:host([mode="company"]) .view-overlay{grid-template-columns:var(--company-cols);grid-template-rows:var(--company-rows);grid-template-areas:var(--company-areas);gap:0}:host([align="left"]),:host([mode="portfolio"][align="left"]),:host([mode="company"][align="left"]),:host([mode="app"][align="left"]){margin:0;justify-self:start}:host([align="center"]),:host([mode="portfolio"][align="center"]),:host([mode="company"][align="center"]),:host([mode="app"][align="center"]){margin:0 auto;justify-self:center}:host([align="right"]),:host([mode="portfolio"][align="right"]),:host([mode="company"][align="right"]),:host([mode="app"][align="right"]){margin:0 0 0 auto;justify-self:end}:host([mode="app"]){--app-cols: 100%;--app-rows: calc(var(--unit) * var(--sf)) calc(var(--unit) * var(--sf)) calc(var(--unit) * var(--sf)) calc(var(--double) * var(--sf)) calc(var(--dozen) * var(--sf)) calc(var(--unit) * var(--sf)) calc(var(--quad) * var(--sf)) calc(var(--double) * var(--sf));--app-areas: "banner" "." "header" "." "main" "page-dots" "." "footer";--app-overlay-cols: 100%;--app-overlay-rows: calc(var(--unit) * var(--sf)) calc(var(--unit) * var(--sf)) calc(var(--unit) * var(--sf)) calc(var(--double) * var(--sf)) calc(var(--dozen) * var(--sf)) calc(var(--unit) * var(--sf)) calc(var(--quad) * var(--sf)) calc(var(--double) * var(--sf));--app-overlay-areas: "banner" "." "header" "." "main" "page-dots" "." "footer";grid-template-columns:var(--app-cols);grid-template-rows:var(--app-rows);grid-template-areas:var(--app-areas);min-height:100vh;background-color:transparent;width:calc(240px * var(--sf, 1));max-width:calc(240px * var(--sf, 1));margin:0 auto}:host([mode="app"]) .view-overlay{grid-template-columns:var(--app-overlay-cols);grid-template-rows:var(--app-overlay-rows);grid-template-areas:var(--app-overlay-areas)}.view-overlay{position:absolute;margin-left:-1px;inset:0;pointer-events:none;z-index:1000;display:grid}.view-area{display:flex;width:calc(240px * var(--sf, 1));height:100%;align-items:center;justify-content:center;font-family:var(--typeface-regular);font-size:calc(var(--type-size-default) * var(--05));color:color-mix(in srgb,var(--tuned-red) 25%,transparent);background-color:color-mix(in srgb,var(--accent-color) 25%,transparent);opacity:1}:host([mode="portfolio"]) .view-area:nth-of-type(1){background-color:color-mix(in srgb,var(--tuned-red) 25%,transparent)}:host([mode="portfolio"]) .view-area:nth-of-type(2){border-color:var(--sharp-blue)}:host([mode="portfolio"]) .view-area:nth-of-type(3){border-color:var(--yellow)}:host([mode="portfolio"]) .view-area:nth-of-type(4){border-color:var(--apple-green)}:host([mode="portfolio"]) .view-area:nth-of-type(5){border-color:var(--pink)}:host([mode="portfolio"]) .view-area:nth-of-type(6){border-color:var(--orange)}:host([mode="portfolio"]) .view-area:nth-of-type(7){border-color:var(--zenith-blue)}:host([mode="company"]) .view-area:nth-of-type(1){border-color:var(--tuned-red)}:host([mode="company"]) .view-area:nth-of-type(2){border-color:var(--sharp-blue)}:host([mode="company"]) .view-area:nth-of-type(3){border-color:var(--yellow)}:host([mode="app"]) .view-area:nth-of-type(1){background-color:color-mix(in srgb,var(--tuned-red) 25%,transparent)}:host([mode="app"]) .view-area:nth-of-type(2){background-color:color-mix(in srgb,var(--sharp-blue) 25%,transparent)}:host([mode="app"]) .view-area:nth-of-type(3){background-color:color-mix(in srgb,var(--yellow) 25%,transparent)}:host([mode="app"]) .view-area:nth-of-type(4){background-color:color-mix(in srgb,var(--apple-green) 25%,transparent)}:host([mode="app"]) .view-area:nth-of-type(5){background-color:color-mix(in srgb,var(--pink) 25%,transparent)}.view-square{grid-area:square}.view-title{grid-area:title}.view-header{grid-area:header}.view-projects{grid-area:projects}.view-bio{grid-area:bio}.view-nav{grid-area:nav}.view-footer{grid-area:footer}.view-content{grid-area:content}.view-banner{grid-area:banner}.view-main{grid-area:main}.view-page-dots{grid-area:page-dots}', xe = class xe extends f {
3372
+ constructor() {
3373
+ super(...arguments), this.mode = "portfolio";
3374
+ }
3375
+ render() {
3376
+ const e = this.view || this.mode === "view", r = this.mode === "portfolio", o = this.mode === "company", n = this.mode === "app", i = this.mode === "list", s = this.mode === "home";
3377
+ return l`
556
3378
  <slot></slot>
557
- ${e?a`
558
- <div class="debug-overlay">
559
- ${n?a`
560
- <div class="debug-area debug-banner">
561
- <ds-text key="banner">banner</ds-text>
562
- </div>
563
- <div class="debug-area debug-header">
564
- <ds-text key="header">header</ds-text>
3379
+ ${e ? l`
3380
+ <div class="view-overlay">
3381
+ ${s ? l`
3382
+ <div class="view-area view-banner">
3383
+ <div class="grid-area-label">
3384
+ <ds-text key="banner" default-value="banner"></ds-text>
3385
+ </div>
565
3386
  </div>
566
-
567
- <div class="debug-area debug-main">
568
- <ds-text key="main">main</ds-text>
3387
+ <div class="view-area view-header">
3388
+ <div class="grid-area-label">
3389
+ <ds-text key="header" default-value="header"></ds-text>
3390
+ </div>
569
3391
  </div>
570
- <div class="debug-area debug-footer-app">
571
- <ds-text key="footer">footer</ds-text>
3392
+ <div class="view-area view-message">
3393
+ <div class="grid-area-label">
3394
+ <ds-text
3395
+ key="message"
3396
+ default-value="message"
3397
+ ></ds-text>
3398
+ </div>
572
3399
  </div>
573
- `:r?a`
574
- <div class="debug-area debug-header">
575
- <ds-text key="header">header</ds-text>
3400
+ <div class="view-area view-lists">
3401
+ <div class="grid-area-label">
3402
+ <ds-text key="lists" default-value="lists"></ds-text>
576
3403
  </div>
577
- <div class="debug-area debug-content">
578
- <ds-text key="content">content</ds-text>
3404
+ </div>
3405
+ <div class="view-area view-footer">
3406
+ <div class="grid-area-label">
3407
+ <ds-text key="footer" default-value="footer"></ds-text>
579
3408
  </div>
580
- <div class="debug-area debug-footer">
581
- <ds-text key="footer">footer</ds-text>
3409
+ </div>
3410
+ ` : i ? l`
3411
+ <div class="view-area view-banner">
3412
+ <div class="grid-area-label">
3413
+ <ds-text
3414
+ key="banner"
3415
+ default-value="banner"
3416
+ ></ds-text>
3417
+ </div>
582
3418
  </div>
583
- `:s?a`
584
- <div class="debug-area debug-square">
585
- <ds-text key="square">square</ds-text>
3419
+ <div class="view-area view-header">
3420
+ <div class="grid-area-label">
3421
+ <ds-text
3422
+ key="header"
3423
+ default-value="header"
3424
+ ></ds-text>
586
3425
  </div>
587
- <div class="debug-area debug-title">
588
- <ds-text key="title">title</ds-text>
3426
+ </div>
3427
+ <div class="view-area view-board">
3428
+ <div class="grid-area-label">
3429
+ <ds-text key="board" default-value="board"></ds-text>
589
3430
  </div>
590
- <div class="debug-area debug-header">
591
- <ds-text key="header">header</ds-text>
3431
+ </div>
3432
+ ` : n ? l`
3433
+ <div class="view-area view-banner">
3434
+ <div class="grid-area-label">
3435
+ <ds-text
3436
+ key="banner"
3437
+ default-value="banner"
3438
+ ></ds-text>
3439
+ </div>
592
3440
  </div>
593
- <div class="debug-area debug-projects">
594
- <ds-text key="projects">projects</ds-text>
3441
+ <div class="view-area view-header">
3442
+ <div class="grid-area-label">
3443
+ <ds-text
3444
+ key="header"
3445
+ default-value="header"
3446
+ ></ds-text>
3447
+ </div>
595
3448
  </div>
596
- <div class="debug-area debug-bio">
597
- <ds-text key="bio">bio</ds-text>
3449
+ <div class="view-area view-main">
3450
+ <div class="grid-area-label">
3451
+ <ds-text key="main" default-value="main"></ds-text>
3452
+ </div>
598
3453
  </div>
599
- <div class="debug-area debug-nav">
600
- <ds-text key="nav">nav</ds-text>
3454
+ <div class="view-area view-page-dots">
3455
+ <div class="grid-area-label">
3456
+ <ds-text
3457
+ key="pageDots"
3458
+ default-value="page-dots"
3459
+ ></ds-text>
3460
+ </div>
601
3461
  </div>
602
- <div class="debug-area debug-footer">
603
- <ds-text key="footer">footer</ds-text>
3462
+ <div class="view-area view-footer">
3463
+ <div class="grid-area-label">
3464
+ <ds-text
3465
+ key="footer"
3466
+ default-value="footer"
3467
+ ></ds-text>
3468
+ </div>
604
3469
  </div>
605
- `:""}
3470
+ ` : o ? l`
3471
+ <div class="view-area view-header">
3472
+ <div class="grid-area-label">
3473
+ <ds-text
3474
+ key="header"
3475
+ default-value="header"
3476
+ ></ds-text>
3477
+ </div>
3478
+ </div>
3479
+ <div class="view-area view-content">
3480
+ <div class="grid-area-label">
3481
+ <ds-text
3482
+ key="content"
3483
+ default-value="content"
3484
+ ></ds-text>
3485
+ </div>
3486
+ </div>
3487
+ <div class="view-area view-footer">
3488
+ <div class="grid-area-label">
3489
+ <ds-text
3490
+ key="footer"
3491
+ default-value="footer"
3492
+ ></ds-text>
3493
+ </div>
3494
+ </div>
3495
+ ` : r ? l`
3496
+ <div class="view-area view-square">
3497
+ <div class="grid-area-label">
3498
+ <ds-text
3499
+ key="square"
3500
+ default-value="square"
3501
+ ></ds-text>
3502
+ </div>
3503
+ </div>
3504
+ <div class="view-area view-title">
3505
+ <div class="grid-area-label">
3506
+ <ds-text
3507
+ key="title"
3508
+ default-value="title"
3509
+ ></ds-text>
3510
+ </div>
3511
+ </div>
3512
+ <div class="view-area view-header">
3513
+ <div class="grid-area-label">
3514
+ <ds-text
3515
+ key="header"
3516
+ default-value="header"
3517
+ ></ds-text>
3518
+ </div>
3519
+ </div>
3520
+ <div class="view-area view-projects">
3521
+ <div class="grid-area-label">
3522
+ <ds-text
3523
+ key="projects"
3524
+ default-value="projects"
3525
+ ></ds-text>
3526
+ </div>
3527
+ </div>
3528
+ <div class="view-area view-bio">
3529
+ <div class="grid-area-label">
3530
+ <ds-text
3531
+ key="bio"
3532
+ default-value="bio"
3533
+ ></ds-text>
3534
+ </div>
3535
+ </div>
3536
+ <div class="view-area view-nav">
3537
+ <div class="grid-area-label">
3538
+ <ds-text
3539
+ key="nav"
3540
+ default-value="nav"
3541
+ ></ds-text>
3542
+ </div>
3543
+ </div>
3544
+ <div class="view-area view-footer">
3545
+ <div class="grid-area-label">
3546
+ <ds-text
3547
+ key="footer"
3548
+ default-value="footer"
3549
+ ></ds-text>
3550
+ </div>
3551
+ </div>
3552
+ ` : ""}
606
3553
  </div>
607
- `:""}
608
- `}};ue.properties={mode:{type:String},align:{type:String},debug:{type:Boolean}};ue.styles=y`
3554
+ ` : ""}
3555
+ `;
3556
+ }
3557
+ };
3558
+ xe.properties = {
3559
+ mode: { type: String },
3560
+ align: { type: String },
3561
+ view: { type: Boolean }
3562
+ }, xe.styles = [
3563
+ x(Rn),
3564
+ Ae`
609
3565
  :host {
610
3566
  display: grid;
611
3567
  position: relative;
612
3568
  width: 100%;
613
3569
  }
614
3570
 
3571
+ slot {
3572
+ display: contents;
3573
+ }
3574
+
615
3575
  :host([mode="portfolio"]) {
616
- grid-template-columns: 120px 480px 40px;
617
- grid-template-rows: 120px 120px 60px 180px 60px 120px 60px 20px 120px 120px;
618
- grid-template-areas:
619
- "square . ."
620
- ". title ."
621
- ". header ."
622
- ". projects ."
623
- ". . ."
624
- ". bio ."
625
- ". . ."
626
- ". nav ."
627
- ". . ."
628
- ". footer ."
629
- ". . .";
3576
+ --portfolio-cols: 120px 480px 40px;
3577
+ --portfolio-rows: 120px 120px 60px 180px 60px 120px 60px 20px 120px 120px;
3578
+ --portfolio-areas: "square . ." ". title ." ". header ." ". projects ."
3579
+ ". . ." ". bio ." ". . ." ". nav ." ". . ." ". footer ." ". . .";
3580
+ --portfolio-overlay-cols: 120px 480px;
3581
+ --portfolio-overlay-areas: "square ." ". title" ". header" ". projects"
3582
+ ". ." ". bio" ". ." ". nav" ". ." ". footer" ". .";
3583
+ grid-template-columns: var(--portfolio-cols);
3584
+ grid-template-rows: var(--portfolio-rows);
3585
+ grid-template-areas: var(--portfolio-areas);
630
3586
  min-height: 600px;
631
3587
  background-color: rgba(165, 165, 165, 0.03);
632
3588
  max-width: 640px;
633
- margin: 0 auto;
3589
+ margin: 0;
3590
+ }
3591
+
3592
+ :host([mode="portfolio"]) .view-overlay {
3593
+ grid-template-columns: var(--portfolio-overlay-cols);
3594
+ grid-template-rows: var(--portfolio-rows);
3595
+ grid-template-areas: var(--portfolio-overlay-areas);
634
3596
  }
635
3597
 
636
3598
  :host([mode="company"]) {
637
- grid-template-columns: auto 400px auto;
638
- grid-template-rows: 80px 20px 20px 120px 20px 120px;
639
- grid-template-areas:
640
- ". . ."
641
- ". header ."
642
- ". . ."
643
- ". content ."
644
- ". . ."
3599
+ --company-cols: auto 400px auto;
3600
+ --company-rows: 80px 20px 20px 120px 20px 120px;
3601
+ --company-areas: ". . ." ". header ." ". . ." ". content ." ". . ."
645
3602
  ". footer .";
3603
+ grid-template-columns: var(--company-cols);
3604
+ grid-template-rows: var(--company-rows);
3605
+ grid-template-areas: var(--company-areas);
646
3606
  gap: 0;
647
3607
  max-width: 100%;
648
3608
  }
649
3609
 
650
- :host([align="left"]) {
3610
+ :host([mode="company"]) .view-overlay {
3611
+ grid-template-columns: var(--company-cols);
3612
+ grid-template-rows: var(--company-rows);
3613
+ grid-template-areas: var(--company-areas);
3614
+ gap: 0;
3615
+ }
3616
+
3617
+ :host([align="left"]),
3618
+ :host([mode="portfolio"][align="left"]),
3619
+ :host([mode="company"][align="left"]),
3620
+ :host([mode="app"][align="left"]),
3621
+ :host([mode="list"][align="left"]),
3622
+ :host([mode="home"][align="left"]) {
651
3623
  margin: 0;
652
3624
  justify-self: start;
653
3625
  }
654
3626
 
655
- :host([align="center"]) {
3627
+ :host([align="center"]),
3628
+ :host([mode="portfolio"][align="center"]),
3629
+ :host([mode="company"][align="center"]),
3630
+ :host([mode="app"][align="center"]),
3631
+ :host([mode="list"][align="center"]),
3632
+ :host([mode="home"][align="center"]) {
656
3633
  margin: 0 auto;
657
3634
  justify-self: center;
658
3635
  }
659
3636
 
660
- :host([align="right"]) {
3637
+ :host([align="right"]),
3638
+ :host([mode="portfolio"][align="right"]),
3639
+ :host([mode="company"][align="right"]),
3640
+ :host([mode="app"][align="right"]),
3641
+ :host([mode="list"][align="right"]),
3642
+ :host([mode="home"][align="right"]) {
661
3643
  margin: 0 0 0 auto;
662
3644
  justify-self: end;
663
3645
  }
664
3646
 
665
3647
  /* App mode - Base */
666
3648
  :host([mode="app"]) {
667
- grid-template-columns: 1fr;
668
- grid-template-rows: calc(var(--1) * var(--sf)) 20px 1fr auto;
669
- grid-template-areas:
670
- "banner"
671
- "main"
3649
+ --app-cols: 100%;
3650
+ --app-overlay-cols: 100%;
3651
+ grid-template-columns: var(--app-cols);
3652
+ grid-template-rows: var(--app-layout);
3653
+ grid-template-areas: var(--app-layout-areas);
3654
+ min-height: 100vh;
3655
+ background-color: transparent;
3656
+ width: calc(240px * var(--sf, 1));
3657
+ max-width: calc(240px * var(--sf, 1));
3658
+ margin: 0 auto;
3659
+ }
3660
+
3661
+ :host([mode="app"]) .view-overlay {
3662
+ grid-template-columns: var(--app-overlay-cols);
3663
+ grid-template-rows: var(--app-layout);
3664
+ grid-template-areas: var(--app-layout-areas);
3665
+ }
3666
+
3667
+ /* List mode - Base */
3668
+ :host([mode="list"]) {
3669
+ --list-cols: 100%;
3670
+ --list-rows: calc(var(--unit) * var(--sf)) calc(var(--unit) * var(--sf))
3671
+ calc(var(--unit) * var(--sf)) calc(var(--twenty) * var(--sf));
3672
+ --list-areas: "banner" "." "header" "board";
3673
+ --list-overlay-cols: 100%;
3674
+ --list-overlay-rows: calc(var(--unit) * var(--sf))
3675
+ calc(var(--unit) * var(--sf)) calc(var(--unit) * var(--sf))
3676
+ calc(var(--twenty) * var(--sf));
3677
+ --list-overlay-areas: "banner" "." "header" "board";
3678
+ grid-template-columns: var(--list-cols);
3679
+ grid-template-rows: var(--list-rows);
3680
+ grid-template-areas: var(--list-areas);
3681
+ min-height: 100vh;
3682
+ background-color: transparent;
3683
+ width: calc(240px * var(--sf, 1));
3684
+ max-width: calc(240px * var(--sf, 1));
3685
+ margin: 0 auto;
3686
+ }
3687
+
3688
+ :host([mode="list"]) .view-overlay {
3689
+ grid-template-columns: var(--list-overlay-cols);
3690
+ grid-template-rows: var(--list-overlay-rows);
3691
+ grid-template-areas: var(--list-overlay-areas);
3692
+ }
3693
+
3694
+ /* Home mode - Base */
3695
+ :host([mode="home"]) {
3696
+ --home-cols: 100%;
3697
+ --home-areas: "banner" "." "header" "." "message" "lists" "." "footer";
3698
+ --home-overlay-cols: 100%;
3699
+ --home-overlay-areas: "banner" "." "header" "." "message" "lists" "."
672
3700
  "footer";
3701
+ grid-template-columns: var(--home-cols);
3702
+ grid-template-rows: var(--home-layout);
3703
+ grid-template-areas: var(--home-areas);
673
3704
  min-height: 100vh;
674
3705
  background-color: transparent;
675
- width: 100%;
3706
+ width: calc(240px * var(--sf, 1));
3707
+ max-width: calc(240px * var(--sf, 1));
676
3708
  margin: 0 auto;
677
- gap: 0;
678
3709
  }
679
3710
 
680
- /* App mode - with scaling factor */
681
- :host([mode="app"]) {
682
- max-width: calc(400px * var(--sf, 1));
683
- padding: calc(60px * var(--sf, 1)) calc(28px * var(--sf, 1))
684
- calc(9.751px * var(--sf, 1));
685
- gap: calc(28px * var(--sf, 1));
3711
+ :host([mode="home"]) .view-overlay {
3712
+ grid-template-columns: var(--home-overlay-cols);
3713
+ grid-template-rows: var(--home-layout);
3714
+ grid-template-areas: var(--home-overlay-areas);
686
3715
  }
687
3716
 
688
- .debug-overlay {
3717
+ .view-overlay {
689
3718
  position: absolute;
690
3719
  margin-left: -1px;
691
3720
  top: 0;
@@ -695,194 +3724,454 @@ function is(){if(typeof navigator>"u"||typeof window>"u")return!1;let t=navigato
695
3724
  pointer-events: none;
696
3725
  z-index: 1000;
697
3726
  display: grid;
698
- font-size: 18px;
699
- font-weight: bold;
700
- }
701
-
702
- :host([mode="portfolio"]) .debug-overlay {
703
- grid-template-columns: 120px 480px;
704
- grid-template-rows: 120px 120px 60px 180px 60px 120px 60px 20px 120px 120px;
705
- grid-template-areas:
706
- "square ."
707
- ". title"
708
- ". header"
709
- ". projects"
710
- ". ."
711
- ". bio"
712
- ". ."
713
- ". nav"
714
- ". ."
715
- ". footer"
716
- ". .";
717
- }
718
-
719
- :host([mode="company"]) .debug-overlay {
720
- grid-template-columns: auto 400px auto;
721
- grid-template-rows: 80px 20px 20px 120px 20px 120px;
722
- grid-template-areas:
723
- ". . ."
724
- ". header ."
725
- ". . ."
726
- ". content ."
727
- ". . ."
728
- ". footer .";
729
- gap: 0;
730
3727
  }
731
3728
 
732
- .debug-area {
3729
+ .view-area {
733
3730
  display: flex;
3731
+ width: calc(240px * var(--sf, 1));
3732
+ height: 100%;
734
3733
  align-items: center;
735
3734
  justify-content: center;
736
- font-size: 10px;
737
- font-weight: var(--type-weight-default);
738
- font-family: var(--typeface);
739
- color: var(--black);
740
- border: 1px solid red;
3735
+ font-family: var(--typeface-regular);
3736
+ font-size: calc(var(--type-size-default) * var(--05));
3737
+ color: color-mix(in srgb, var(--tuned-red) 25%, transparent);
3738
+ background-color: color-mix(
3739
+ in srgb,
3740
+ var(--accent-color) 25%,
3741
+ transparent
3742
+ );
741
3743
  opacity: 1;
3744
+ position: relative;
3745
+ }
3746
+
3747
+ .grid-area-label {
3748
+ position: absolute;
3749
+ top: calc(-20px * var(--sf, 1));
3750
+ left: 0;
3751
+ height: calc(20px * var(--sf, 1));
3752
+ width: fit-content;
3753
+ display: inline-flex;
3754
+ align-items: center;
3755
+ justify-content: center;
3756
+ padding: 0 calc(4px * var(--sf, 1));
3757
+ border-radius: calc(2px * var(--sf, 1));
3758
+ z-index: 10000;
3759
+ pointer-events: none;
3760
+ white-space: nowrap;
3761
+ }
3762
+
3763
+ /* Banner label stays inside the area (first item) */
3764
+ :host([mode="app"]) .view-area.view-banner .grid-area-label,
3765
+ :host([mode="list"]) .view-area.view-banner .grid-area-label,
3766
+ :host([mode="home"]) .view-area.view-banner .grid-area-label,
3767
+ :host([mode="company"]) .view-area.view-header .grid-area-label,
3768
+ :host([mode="portfolio"]) .view-area.view-square .grid-area-label {
3769
+ top: 0;
3770
+ }
3771
+
3772
+ .grid-area-label ds-text {
3773
+ font-size: calc(11px * var(--sf, 1));
3774
+ line-height: 1;
3775
+ color: white;
3776
+ text-transform: lowercase;
3777
+ }
3778
+
3779
+ :host([mode="portfolio"]) .view-area:nth-of-type(1) {
3780
+ background-color: color-mix(in srgb, var(--tuned-red) 25%, transparent);
3781
+ }
3782
+ :host([mode="portfolio"]) .view-area:nth-of-type(1) .grid-area-label {
3783
+ background-image:
3784
+ linear-gradient(90deg, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.2) 100%),
3785
+ linear-gradient(
3786
+ 90deg,
3787
+ color-mix(in srgb, var(--tuned-red) 70%, black) 0%,
3788
+ color-mix(in srgb, var(--tuned-red) 70%, black) 100%
3789
+ );
3790
+ }
3791
+ :host([mode="portfolio"]) .view-area:nth-of-type(2) {
3792
+ border-color: var(--sharp-blue);
3793
+ }
3794
+ :host([mode="portfolio"]) .view-area:nth-of-type(2) .grid-area-label {
3795
+ background-image:
3796
+ linear-gradient(90deg, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.2) 100%),
3797
+ linear-gradient(
3798
+ 90deg,
3799
+ color-mix(in srgb, var(--sharp-blue) 70%, black) 0%,
3800
+ color-mix(in srgb, var(--sharp-blue) 70%, black) 100%
3801
+ );
3802
+ }
3803
+ :host([mode="portfolio"]) .view-area:nth-of-type(3) {
3804
+ border-color: var(--yellow);
3805
+ }
3806
+ :host([mode="portfolio"]) .view-area:nth-of-type(3) .grid-area-label {
3807
+ background-image:
3808
+ linear-gradient(90deg, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.2) 100%),
3809
+ linear-gradient(
3810
+ 90deg,
3811
+ color-mix(in srgb, var(--yellow) 70%, black) 0%,
3812
+ color-mix(in srgb, var(--yellow) 70%, black) 100%
3813
+ );
3814
+ }
3815
+ :host([mode="portfolio"]) .view-area:nth-of-type(4) {
3816
+ border-color: var(--apple-green);
3817
+ }
3818
+ :host([mode="portfolio"]) .view-area:nth-of-type(4) .grid-area-label {
3819
+ background-image:
3820
+ linear-gradient(90deg, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.2) 100%),
3821
+ linear-gradient(
3822
+ 90deg,
3823
+ color-mix(in srgb, var(--apple-green) 70%, black) 0%,
3824
+ color-mix(in srgb, var(--apple-green) 70%, black) 100%
3825
+ );
3826
+ }
3827
+ :host([mode="portfolio"]) .view-area:nth-of-type(5) {
3828
+ border-color: var(--pink);
3829
+ }
3830
+ :host([mode="portfolio"]) .view-area:nth-of-type(5) .grid-area-label {
3831
+ background-image:
3832
+ linear-gradient(90deg, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.2) 100%),
3833
+ linear-gradient(
3834
+ 90deg,
3835
+ color-mix(in srgb, var(--pink) 70%, black) 0%,
3836
+ color-mix(in srgb, var(--pink) 70%, black) 100%
3837
+ );
3838
+ }
3839
+ :host([mode="portfolio"]) .view-area:nth-of-type(6) {
3840
+ border-color: var(--orange);
3841
+ }
3842
+ :host([mode="portfolio"]) .view-area:nth-of-type(6) .grid-area-label {
3843
+ background-image:
3844
+ linear-gradient(90deg, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.2) 100%),
3845
+ linear-gradient(
3846
+ 90deg,
3847
+ color-mix(in srgb, var(--orange) 70%, black) 0%,
3848
+ color-mix(in srgb, var(--orange) 70%, black) 100%
3849
+ );
3850
+ }
3851
+ :host([mode="portfolio"]) .view-area:nth-of-type(7) {
3852
+ border-color: var(--zenith-blue);
3853
+ }
3854
+ :host([mode="portfolio"]) .view-area:nth-of-type(7) .grid-area-label {
3855
+ background-image:
3856
+ linear-gradient(90deg, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.2) 100%),
3857
+ linear-gradient(
3858
+ 90deg,
3859
+ color-mix(in srgb, var(--zenith-blue) 70%, black) 0%,
3860
+ color-mix(in srgb, var(--zenith-blue) 70%, black) 100%
3861
+ );
3862
+ }
3863
+
3864
+ :host([mode="company"]) .view-area:nth-of-type(1) {
3865
+ border-color: var(--tuned-red);
3866
+ }
3867
+ :host([mode="company"]) .view-area:nth-of-type(1) .grid-area-label {
3868
+ background-image:
3869
+ linear-gradient(90deg, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.2) 100%),
3870
+ linear-gradient(
3871
+ 90deg,
3872
+ color-mix(in srgb, var(--tuned-red) 70%, black) 0%,
3873
+ color-mix(in srgb, var(--tuned-red) 70%, black) 100%
3874
+ );
3875
+ }
3876
+ :host([mode="company"]) .view-area:nth-of-type(2) {
3877
+ border-color: var(--sharp-blue);
3878
+ }
3879
+ :host([mode="company"]) .view-area:nth-of-type(2) .grid-area-label {
3880
+ background-image:
3881
+ linear-gradient(90deg, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.2) 100%),
3882
+ linear-gradient(
3883
+ 90deg,
3884
+ color-mix(in srgb, var(--sharp-blue) 70%, black) 0%,
3885
+ color-mix(in srgb, var(--sharp-blue) 70%, black) 100%
3886
+ );
3887
+ }
3888
+ :host([mode="company"]) .view-area:nth-of-type(3) {
3889
+ border-color: var(--yellow);
3890
+ }
3891
+ :host([mode="company"]) .view-area:nth-of-type(3) .grid-area-label {
3892
+ background-image:
3893
+ linear-gradient(90deg, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.2) 100%),
3894
+ linear-gradient(
3895
+ 90deg,
3896
+ color-mix(in srgb, var(--yellow) 70%, black) 0%,
3897
+ color-mix(in srgb, var(--yellow) 70%, black) 100%
3898
+ );
3899
+ }
3900
+
3901
+ :host([mode="app"]) .view-area:nth-of-type(1) {
3902
+ background-color: color-mix(in srgb, var(--tuned-red) 25%, transparent);
3903
+ }
3904
+ :host([mode="app"]) .view-area:nth-of-type(1) .grid-area-label {
3905
+ background-image:
3906
+ linear-gradient(90deg, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.2) 100%),
3907
+ linear-gradient(
3908
+ 90deg,
3909
+ color-mix(in srgb, var(--tuned-red) 70%, black) 0%,
3910
+ color-mix(in srgb, var(--tuned-red) 70%, black) 100%
3911
+ );
3912
+ }
3913
+ :host([mode="app"]) .view-area:nth-of-type(2) {
3914
+ background-color: color-mix(in srgb, var(--sharp-blue) 25%, transparent);
3915
+ }
3916
+ :host([mode="app"]) .view-area:nth-of-type(2) .grid-area-label {
3917
+ background-image:
3918
+ linear-gradient(90deg, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.2) 100%),
3919
+ linear-gradient(
3920
+ 90deg,
3921
+ color-mix(in srgb, var(--sharp-blue) 70%, black) 0%,
3922
+ color-mix(in srgb, var(--sharp-blue) 70%, black) 100%
3923
+ );
3924
+ }
3925
+ :host([mode="app"]) .view-area:nth-of-type(3) {
3926
+ background-color: color-mix(in srgb, var(--yellow) 25%, transparent);
3927
+ }
3928
+ :host([mode="app"]) .view-area:nth-of-type(3) .grid-area-label {
3929
+ background-image:
3930
+ linear-gradient(90deg, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.2) 100%),
3931
+ linear-gradient(
3932
+ 90deg,
3933
+ color-mix(in srgb, var(--yellow) 70%, black) 0%,
3934
+ color-mix(in srgb, var(--yellow) 70%, black) 100%
3935
+ );
3936
+ }
3937
+ :host([mode="app"]) .view-area:nth-of-type(4) {
3938
+ background-color: color-mix(in srgb, var(--apple-green) 25%, transparent);
3939
+ }
3940
+ :host([mode="app"]) .view-area:nth-of-type(4) .grid-area-label {
3941
+ background-image:
3942
+ linear-gradient(90deg, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.2) 100%),
3943
+ linear-gradient(
3944
+ 90deg,
3945
+ color-mix(in srgb, var(--apple-green) 70%, black) 0%,
3946
+ color-mix(in srgb, var(--apple-green) 70%, black) 100%
3947
+ );
3948
+ }
3949
+ :host([mode="app"]) .view-area:nth-of-type(5) {
3950
+ background-color: color-mix(in srgb, var(--pink) 25%, transparent);
3951
+ }
3952
+ :host([mode="app"]) .view-area:nth-of-type(5) .grid-area-label {
3953
+ background-image:
3954
+ linear-gradient(90deg, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.2) 100%),
3955
+ linear-gradient(
3956
+ 90deg,
3957
+ color-mix(in srgb, var(--pink) 70%, black) 0%,
3958
+ color-mix(in srgb, var(--pink) 70%, black) 100%
3959
+ );
3960
+ }
3961
+
3962
+ :host([mode="list"]) .view-area:nth-of-type(1) {
3963
+ background-color: color-mix(in srgb, var(--tuned-red) 25%, transparent);
3964
+ }
3965
+ :host([mode="list"]) .view-area:nth-of-type(1) .grid-area-label {
3966
+ background-image:
3967
+ linear-gradient(90deg, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.2) 100%),
3968
+ linear-gradient(
3969
+ 90deg,
3970
+ color-mix(in srgb, var(--tuned-red) 70%, black) 0%,
3971
+ color-mix(in srgb, var(--tuned-red) 70%, black) 100%
3972
+ );
3973
+ }
3974
+ :host([mode="list"]) .view-area:nth-of-type(2) {
3975
+ background-color: color-mix(in srgb, var(--sharp-blue) 25%, transparent);
3976
+ }
3977
+ :host([mode="list"]) .view-area:nth-of-type(2) .grid-area-label {
3978
+ background-image:
3979
+ linear-gradient(90deg, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.2) 100%),
3980
+ linear-gradient(
3981
+ 90deg,
3982
+ color-mix(in srgb, var(--sharp-blue) 70%, black) 0%,
3983
+ color-mix(in srgb, var(--sharp-blue) 70%, black) 100%
3984
+ );
3985
+ }
3986
+ :host([mode="list"]) .view-area:nth-of-type(3) {
3987
+ background-color: color-mix(in srgb, var(--yellow) 25%, transparent);
3988
+ }
3989
+ :host([mode="list"]) .view-area:nth-of-type(3) .grid-area-label {
3990
+ background-image:
3991
+ linear-gradient(90deg, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.2) 100%),
3992
+ linear-gradient(
3993
+ 90deg,
3994
+ color-mix(in srgb, var(--yellow) 70%, black) 0%,
3995
+ color-mix(in srgb, var(--yellow) 70%, black) 100%
3996
+ );
3997
+ }
3998
+ :host([mode="list"]) .view-area:nth-of-type(4) {
3999
+ background-color: color-mix(in srgb, var(--apple-green) 25%, transparent);
4000
+ }
4001
+ :host([mode="list"]) .view-area:nth-of-type(4) .grid-area-label {
4002
+ background-image:
4003
+ linear-gradient(90deg, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.2) 100%),
4004
+ linear-gradient(
4005
+ 90deg,
4006
+ color-mix(in srgb, var(--apple-green) 70%, black) 0%,
4007
+ color-mix(in srgb, var(--apple-green) 70%, black) 100%
4008
+ );
4009
+ }
4010
+
4011
+ :host([mode="home"]) .view-area:nth-of-type(1) {
4012
+ background-color: color-mix(in srgb, var(--tuned-red) 25%, transparent);
4013
+ }
4014
+ :host([mode="home"]) .view-area:nth-of-type(1) .grid-area-label {
4015
+ background-image:
4016
+ linear-gradient(90deg, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.2) 100%),
4017
+ linear-gradient(
4018
+ 90deg,
4019
+ color-mix(in srgb, var(--tuned-red) 70%, black) 0%,
4020
+ color-mix(in srgb, var(--tuned-red) 70%, black) 100%
4021
+ );
4022
+ }
4023
+ :host([mode="home"]) .view-area:nth-of-type(2) {
4024
+ background-color: color-mix(in srgb, var(--sharp-blue) 25%, transparent);
4025
+ }
4026
+ :host([mode="home"]) .view-area:nth-of-type(2) .grid-area-label {
4027
+ background-image:
4028
+ linear-gradient(90deg, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.2) 100%),
4029
+ linear-gradient(
4030
+ 90deg,
4031
+ color-mix(in srgb, var(--sharp-blue) 70%, black) 0%,
4032
+ color-mix(in srgb, var(--sharp-blue) 70%, black) 100%
4033
+ );
4034
+ }
4035
+ :host([mode="home"]) .view-area:nth-of-type(3) {
4036
+ background-color: color-mix(in srgb, var(--yellow) 25%, transparent);
4037
+ }
4038
+ :host([mode="home"]) .view-area:nth-of-type(3) .grid-area-label {
4039
+ background-image:
4040
+ linear-gradient(90deg, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.2) 100%),
4041
+ linear-gradient(
4042
+ 90deg,
4043
+ color-mix(in srgb, var(--yellow) 70%, black) 0%,
4044
+ color-mix(in srgb, var(--yellow) 70%, black) 100%
4045
+ );
4046
+ }
4047
+ :host([mode="home"]) .view-area:nth-of-type(4) {
4048
+ background-color: color-mix(in srgb, var(--apple-green) 25%, transparent);
4049
+ }
4050
+ :host([mode="home"]) .view-area:nth-of-type(4) .grid-area-label {
4051
+ background-image:
4052
+ linear-gradient(90deg, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.2) 100%),
4053
+ linear-gradient(
4054
+ 90deg,
4055
+ color-mix(in srgb, var(--apple-green) 70%, black) 0%,
4056
+ color-mix(in srgb, var(--apple-green) 70%, black) 100%
4057
+ );
4058
+ }
4059
+ :host([mode="home"]) .view-area:nth-of-type(5) {
4060
+ background-color: color-mix(in srgb, var(--pink) 25%, transparent);
4061
+ }
4062
+ :host([mode="home"]) .view-area:nth-of-type(5) .grid-area-label {
4063
+ background-image:
4064
+ linear-gradient(90deg, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.2) 100%),
4065
+ linear-gradient(
4066
+ 90deg,
4067
+ color-mix(in srgb, var(--pink) 70%, black) 0%,
4068
+ color-mix(in srgb, var(--pink) 70%, black) 100%
4069
+ );
742
4070
  }
743
4071
 
744
- .debug-square {
4072
+ .view-square {
745
4073
  grid-area: square;
746
4074
  }
747
4075
 
748
- .debug-title {
4076
+ .view-title {
749
4077
  grid-area: title;
750
4078
  }
751
4079
 
752
- .debug-header {
4080
+ .view-header {
753
4081
  grid-area: header;
754
- border-color: #0000ff;
755
4082
  }
756
4083
 
757
- .debug-projects {
4084
+ .view-projects {
758
4085
  grid-area: projects;
759
- border-color: #ffff00;
760
4086
  }
761
4087
 
762
- .debug-bio {
4088
+ .view-bio {
763
4089
  grid-area: bio;
764
- border-color: #ff00ff;
765
4090
  }
766
4091
 
767
- .debug-nav {
4092
+ .view-nav {
768
4093
  grid-area: nav;
769
- border-color: #00ffff;
770
4094
  }
771
4095
 
772
- .debug-footer {
4096
+ .view-footer {
773
4097
  grid-area: footer;
774
- border-color: rgb(24, 147, 73);
775
- background-color: rgba(127, 123, 11, 0.1);
776
4098
  }
777
4099
 
778
- .debug-content {
4100
+ .view-content {
779
4101
  grid-area: content;
780
- border-color: rgba(71, 231, 71, 0.63);
781
- }
782
-
783
- :host([mode="app"]) .debug-overlay {
784
- grid-template-columns: 1fr;
785
- grid-template-rows:
786
- calc(var(--1) * var(--sf))
787
- calc(var(--2) * var(--sf))
788
- calc(var(--4) * var(--sf))
789
- calc(var(--1) * var(--sf));
790
- grid-template-areas:
791
- "banner"
792
- "header"
793
- "main"
794
- "footer";
795
4102
  }
796
4103
 
797
- .debug-banner {
4104
+ .view-banner {
798
4105
  grid-area: banner;
799
- border-color: #daed09;
800
4106
  }
801
4107
 
802
- .debug-header {
803
- grid-area: header;
804
- border-color: #0000ff;
805
- background-color: rgba(127, 123, 11, 0.5);
4108
+ .view-main {
4109
+ grid-area: main;
806
4110
  }
807
4111
 
808
- .debug-main {
809
- grid-area: main;
810
- border-color: #0000ff;
4112
+ .view-page-dots {
4113
+ grid-area: page-dots;
811
4114
  }
812
4115
 
813
- .debug-footer-app {
814
- grid-area: footer;
815
- border-color: #ffa500;
816
- }
817
- `;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,T as currentLanguage,B as currentTheme,is as detectMobileDevice,or as getAvailableLanguages,Me as getAvailableLanguagesSync,gs as getBrowserLanguage,os as getDeviceInfo,yt as getLanguageDisplayName,dr as getPriceLabel,fe as getText,ir as hasTranslation,Ve as initDeviceDetection,ar as loadTranslations,P as savePreferences,Re as setLanguage,Wt as setTheme,C as translate};
818
- /*! Bundled license information:
819
-
820
- signal-polyfill/dist/index.js:
821
- (**
822
- * @license
823
- * Copyright Google LLC All Rights Reserved.
824
- *
825
- * Use of this source code is governed by an MIT-style license that can be
826
- * found in the LICENSE file at https://angular.io/license
827
- *)
828
- (**
829
- * @license
830
- * Copyright 2024 Bloomberg Finance L.P.
831
- *
832
- * Licensed under the Apache License, Version 2.0 (the "License");
833
- * you may not use this file except in compliance with the License.
834
- * You may obtain a copy of the License at
835
- *
836
- * http://www.apache.org/licenses/LICENSE-2.0
837
- *
838
- * Unless required by applicable law or agreed to in writing, software
839
- * distributed under the License is distributed on an "AS IS" BASIS,
840
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
841
- * See the License for the specific language governing permissions and
842
- * limitations under the License.
843
- *)
844
-
845
- @lit-labs/signals/lib/signal-watcher.js:
846
- @lit-labs/signals/lib/watch.js:
847
- @lit-labs/signals/lib/html-tag.js:
848
- @lit-labs/signals/index.js:
849
- (**
850
- * @license
851
- * Copyright 2023 Google LLC
852
- * SPDX-License-Identifier: BSD-3-Clause
853
- *)
854
-
855
- lit-html/directive.js:
856
- lit-html/lit-html.js:
857
- lit-html/async-directive.js:
858
- @lit/reactive-element/reactive-element.js:
859
- lit-element/lit-element.js:
860
- lit-html/directives/unsafe-html.js:
861
- (**
862
- * @license
863
- * Copyright 2017 Google LLC
864
- * SPDX-License-Identifier: BSD-3-Clause
865
- *)
866
-
867
- lit-html/directive-helpers.js:
868
- (**
869
- * @license
870
- * Copyright 2020 Google LLC
871
- * SPDX-License-Identifier: BSD-3-Clause
872
- *)
873
-
874
- @lit/reactive-element/css-tag.js:
875
- (**
876
- * @license
877
- * Copyright 2019 Google LLC
878
- * SPDX-License-Identifier: BSD-3-Clause
879
- *)
880
-
881
- lit-html/is-server.js:
882
- (**
883
- * @license
884
- * Copyright 2022 Google LLC
885
- * SPDX-License-Identifier: BSD-3-Clause
886
- *)
887
- */
4116
+ .view-board {
4117
+ grid-area: board;
4118
+ }
4119
+
4120
+ .view-message {
4121
+ grid-area: message;
4122
+ }
4123
+
4124
+ .view-lists {
4125
+ grid-area: lists;
4126
+ }
4127
+ `
4128
+ ];
4129
+ let tt = xe;
4130
+ customElements.define("ds-layout", tt);
4131
+ export {
4132
+ Ge as Accordion,
4133
+ Pe as Banner,
4134
+ Oe as Button,
4135
+ Be as Card,
4136
+ Qe as Container,
4137
+ Ue as Cycle,
4138
+ qe as DateComponent,
4139
+ Xe as DsTable,
4140
+ Je as Form,
4141
+ Ze as Gap,
4142
+ et as Grid,
4143
+ je as Icon,
4144
+ We as Input,
4145
+ tt as Layout,
4146
+ Ye as List,
4147
+ Ke as Row,
4148
+ ze as Text,
4149
+ Fe as Tooltip,
4150
+ Kn as applike,
4151
+ Rr as calculateScalingFactor,
4152
+ k as currentLanguage,
4153
+ Q as currentTheme,
4154
+ st as detectMobileDevice,
4155
+ Jn as getAvailableLanguages,
4156
+ Ht as getAvailableLanguagesSync,
4157
+ Xr as getBrowserLanguage,
4158
+ jr as getDeviceInfo,
4159
+ Yr as getLanguageDisplayName,
4160
+ Xn as getPriceLabel,
4161
+ Zn as getScalingFactor,
4162
+ se as getText,
4163
+ Gn as hasTranslation,
4164
+ ne as initDeviceDetection,
4165
+ Yn as loadTranslations,
4166
+ N as savePreferences,
4167
+ Wn as scale,
4168
+ X as scalingConfig,
4169
+ D as scalingFactor,
4170
+ Mt as setLanguage,
4171
+ qn as setScalingConfig,
4172
+ to as setTheme,
4173
+ Z as translate,
4174
+ Fn as unscale,
4175
+ Kt as updateScalingFactor
4176
+ };
888
4177
  //# sourceMappingURL=ds-one.bundle.min.js.map