ds-one 0.2.5-alpha.8 → 0.3.0-alpha.1

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