@cupra/ui-kit 2.0.0-canary.171 → 2.0.0-canary.173

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 (36) hide show
  1. package/dist/cjs/components/ds-link-button/ds-link-button.cjs +3 -5
  2. package/dist/cjs/components/ds-link-button/styles/common.styles.cjs +4 -0
  3. package/dist/cjs/components/ds-theme-provider/ds-theme-provider.cjs +1 -1
  4. package/dist/cjs/decorators/customUiKitElement.cjs +1 -1
  5. package/dist/cjs/utils/IconsManager.cjs +1 -1
  6. package/dist/cjs/utils/PubSub.cjs +1 -1
  7. package/dist/cjs/utils/StylesRegistry/StylesRegistry.cjs +1 -1
  8. package/dist/cjs/utils/version.cjs +1 -1
  9. package/dist/esm/components/ds-link-button/ds-link-button.js +4 -5
  10. package/dist/esm/components/ds-link-button/styles/common.styles.js +4 -0
  11. package/dist/esm/components/ds-theme-provider/ds-theme-provider.js +1 -1
  12. package/dist/esm/decorators/customUiKitElement.js +1 -1
  13. package/dist/esm/utils/IconsManager.js +1 -1
  14. package/dist/esm/utils/PubSub.js +1 -1
  15. package/dist/esm/utils/StylesRegistry/StylesRegistry.js +1 -1
  16. package/dist/esm/utils/version.js +1 -1
  17. package/dist/types/components/ds-link-button/ds-link-button.d.ts +1 -0
  18. package/dist/types/test-utils/render.d.ts +12 -0
  19. package/dist-react/cjs/components/ds-link-button/ds-link-button.cjs +3 -5
  20. package/dist-react/cjs/components/ds-link-button/styles/common.styles.cjs +4 -0
  21. package/dist-react/cjs/components/ds-theme-provider/ds-theme-provider.cjs +1 -1
  22. package/dist-react/cjs/decorators/customUiKitElement.cjs +1 -1
  23. package/dist-react/cjs/utils/IconsManager.cjs +1 -1
  24. package/dist-react/cjs/utils/PubSub.cjs +1 -1
  25. package/dist-react/cjs/utils/StylesRegistry/StylesRegistry.cjs +1 -1
  26. package/dist-react/cjs/utils/version.cjs +1 -1
  27. package/dist-react/esm/components/ds-link-button/ds-link-button.js +4 -5
  28. package/dist-react/esm/components/ds-link-button/styles/common.styles.js +4 -0
  29. package/dist-react/esm/components/ds-theme-provider/ds-theme-provider.js +1 -1
  30. package/dist-react/esm/decorators/customUiKitElement.js +1 -1
  31. package/dist-react/esm/utils/IconsManager.js +1 -1
  32. package/dist-react/esm/utils/PubSub.js +1 -1
  33. package/dist-react/esm/utils/StylesRegistry/StylesRegistry.js +1 -1
  34. package/dist-react/esm/utils/version.js +1 -1
  35. package/dist-react/types/components/ds-link-button/ds-link-button.d.ts +1 -0
  36. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- require("../ds-theme-provider/themeContext.cjs");const e=require("../../node_modules/.pnpm/lit-html@3.3.1/node_modules/lit-html/lit-html.cjs");require("../../node_modules/.pnpm/lit@3.3.1/node_modules/lit/index.cjs");const t=require("../../node_modules/.pnpm/@lit_reactive-element@2.1.1/node_modules/@lit/reactive-element/decorators/property.cjs");require("../../node_modules/.pnpm/lit@3.3.1/node_modules/lit/decorators.cjs");const n=require("../../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/decorate.cjs"),r=require("../base/UiKitElement.cjs"),i=require("../../decorators/customUiKitElement.cjs");require("../ds-icon/ds-icon.cjs");const a=require("../../utils/booleanConverter.cjs"),o=require("../../utils/uiKitHtml.cjs"),s=require("../../node_modules/.pnpm/lit-html@3.3.1/node_modules/lit-html/directives/class-map.cjs");require("../../node_modules/.pnpm/lit@3.3.1/node_modules/lit/directives/class-map.cjs");const c=require("../../node_modules/.pnpm/lit-html@3.3.1/node_modules/lit-html/directives/if-defined.cjs");require("../../node_modules/.pnpm/lit@3.3.1/node_modules/lit/directives/if-defined.cjs");const l=require("../../node_modules/.pnpm/lit-html@3.3.1/node_modules/lit-html/directives/choose.cjs"),u=require("./styles/common.styles.cjs");var d,f=(d=class extends r.UiKitElement{constructor(...e){super(...e),this.mode=`light`,this.size=`large`,this.underline=!1,this.disabled=!1,this.iconName=`arrow-right`,this.iconPosition=`right`}get iconTemplate(){return this.iconName===`none`?e.E:o.uiKitHtml`<ds-icon class="icon" icon-name=${c.o(this.iconName)}></ds-icon>`}get classes(){return{"link-button":!0,disabled:!!this.disabled,underline:!!this.underline,[this.size]:!0,[this.mode]:!!this.mode}}handleClick(e){this.href||e.preventDefault()}get styleTokens(){return e.x`
1
+ require("../ds-theme-provider/themeContext.cjs");const e=require("../../node_modules/.pnpm/lit-html@3.3.1/node_modules/lit-html/lit-html.cjs");require("../../node_modules/.pnpm/lit@3.3.1/node_modules/lit/index.cjs");const t=require("../../node_modules/.pnpm/@lit_reactive-element@2.1.1/node_modules/@lit/reactive-element/decorators/property.cjs");require("../../node_modules/.pnpm/lit@3.3.1/node_modules/lit/decorators.cjs");const n=require("../../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/decorate.cjs"),r=require("../base/UiKitElement.cjs"),i=require("../../decorators/customUiKitElement.cjs");require("../ds-icon/ds-icon.cjs");const a=require("../../utils/booleanConverter.cjs"),o=require("../../utils/uiKitHtml.cjs"),s=require("../../node_modules/.pnpm/lit-html@3.3.1/node_modules/lit-html/directives/class-map.cjs");require("../../node_modules/.pnpm/lit@3.3.1/node_modules/lit/directives/class-map.cjs");const c=require("../../node_modules/.pnpm/lit-html@3.3.1/node_modules/lit-html/directives/if-defined.cjs");require("../../node_modules/.pnpm/lit@3.3.1/node_modules/lit/directives/if-defined.cjs");const l=require("../../node_modules/.pnpm/lit-html@3.3.1/node_modules/lit-html/directives/choose.cjs"),u=require("./styles/common.styles.cjs");var d,f=(d=class extends r.UiKitElement{constructor(...e){super(...e),this.mode=`light`,this.size=`large`,this.underline=!1,this.disabled=!1,this.iconName=`arrow-right`,this.iconPosition=`right`}get iconTemplate(){return this.iconName===`none`?e.E:o.uiKitHtml`<ds-icon class="icon" icon-name=${c.o(this.iconName)}></ds-icon>`}get classes(){return{"link-button":!0,disabled:!!this.disabled,underline:!!this.underline,[this.size]:!0,[this.mode]:!!this.mode,"icon-left":this.iconPosition===`left`}}handleClick(e){this.href||e.preventDefault()}get styleTokens(){return e.x`
2
2
  <style>
3
3
  :host{
4
4
  color-scheme: ${this.mode};
@@ -9,9 +9,8 @@ require("../ds-theme-provider/themeContext.cjs");const e=require("../../node_mod
9
9
  ${this.styleTokens}
10
10
  ${l.r(this.htmlTagName||`button`,[[`button`,()=>e.x`
11
11
  <button class=${s.e(this.classes)} ?disabled=${this.disabled}>
12
- ${this.iconPosition===`left`?this.iconTemplate:e.E}
13
12
  <span class="label"><slot></slot></span>
14
- ${this.iconPosition===`right`?this.iconTemplate:e.E}
13
+ ${this.iconTemplate}
15
14
  </button>
16
15
  `],[`a`,()=>e.x`
17
16
  <a
@@ -22,9 +21,8 @@ require("../ds-theme-provider/themeContext.cjs");const e=require("../../node_mod
22
21
  @click=${this.handleClick}
23
22
  ?disabled=${this.disabled}
24
23
  >
25
- ${this.iconPosition===`left`?this.iconTemplate:e.E}
26
24
  <span class="label"><slot></slot></span>
27
- ${this.iconPosition===`right`?this.iconTemplate:e.E}
25
+ ${this.iconTemplate}
28
26
  </a>
29
27
  `]])}
30
28
  `}},d.styles=[u.commonStyles],d);n.__decorate([t.n({type:String,reflect:!0})],f.prototype,`mode`,void 0),n.__decorate([t.n({type:String})],f.prototype,`size`,void 0),n.__decorate([t.n({type:Boolean,converter:a.booleanConverter})],f.prototype,`underline`,void 0),n.__decorate([t.n({type:Boolean,converter:a.booleanConverter})],f.prototype,`disabled`,void 0),n.__decorate([t.n({type:String,attribute:`html-tag-name`})],f.prototype,`htmlTagName`,void 0),n.__decorate([t.n({type:String,reflect:!0})],f.prototype,`href`,void 0),n.__decorate([t.n({type:String,reflect:!0})],f.prototype,`rel`,void 0),n.__decorate([t.n({type:String,reflect:!0})],f.prototype,`target`,void 0),n.__decorate([t.n({type:String,attribute:`icon-name`})],f.prototype,`iconName`,void 0),n.__decorate([t.n({type:String,attribute:`icon-position`})],f.prototype,`iconPosition`,void 0),f=n.__decorate([i.customUiKitElement(`ds-link-button`)],f);
@@ -14,4 +14,8 @@ const e=require("../../../node_modules/.pnpm/@lit_reactive-element@2.1.1/node_mo
14
14
  align-items: center;
15
15
  cursor: pointer;
16
16
  }
17
+
18
+ .link-button.icon-left .icon {
19
+ order: -1;
20
+ }
17
21
  `;exports.commonStyles=t;
@@ -1,4 +1,4 @@
1
1
  const e=require("../../node_modules/.pnpm/@lit_context@1.1.6/node_modules/@lit/context/lib/decorators/provide.cjs"),t=require("./themeContext.cjs");require("../../core/theme.constants.cjs");const n=require("../../utils/PubSub.cjs"),r=require("../../node_modules/.pnpm/lit-html@3.3.1/node_modules/lit-html/lit-html.cjs"),i=require("../../node_modules/.pnpm/lit-element@4.2.1/node_modules/lit-element/lit-element.cjs");require("../../node_modules/.pnpm/lit@3.3.1/node_modules/lit/index.cjs");const a=require("../../node_modules/.pnpm/@lit_reactive-element@2.1.1/node_modules/@lit/reactive-element/decorators/property.cjs"),o=require("../../node_modules/.pnpm/@lit_reactive-element@2.1.1/node_modules/@lit/reactive-element/decorators/state.cjs");require("../../node_modules/.pnpm/lit@3.3.1/node_modules/lit/decorators.cjs");const s=require("../../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/decorate.cjs"),c=require("../../decorators/customUiKitElement.cjs"),l=require("../../utils/booleanConverter.cjs"),u=require("../../styles/source/shared/fonts-config.cjs");var d=class extends i.i{constructor(...e){super(...e),this.loadFonts=!0,this.loadStyles=!0,this.loadUnusedStyles=!0,this.cssLoaded=!1,this.loadedFonts=new Set}updated(e){if(super.updated(e),e.has(`theme`)){var t,r;n.pubSub.publish(`theme`,this.theme),(t=sessionStorage)==null||t.setItem(`@cupra/ui-kit/theme`,this.theme),typeof FontFace<`u`&&(r=document)!=null&&r.fonts&&this.loadThemeFonts(),this.loadThemeStyles().then(()=>{this.cssLoaded=!0,this.dispatchEvent(new CustomEvent(`ui-kit:ready`,{bubbles:!0,composed:!0}))})}}loadThemeFonts(){var e;(e=u.fontsConfig[this.theme])==null||e.fonts.forEach(e=>{this.loadThemeFont(e)})}async loadThemeFont({weight:e,name:t,file:n}){if(!this.loadFonts)return Promise.resolve();let r=`${t}-${e}`;if(this.loadedFonts.has(r))return;let i=new FontFace(t,`url('https://ds-assets.cupra.com/fonts/${this.theme}/${n}.woff2') format('woff2'),
2
2
  url('https://ds-assets.cupra.com/fonts/${this.theme}/${n}.woff') format('woff'),
3
3
  url('https://ds-assets.cupra.com/fonts/${this.theme}/${n}.ttf') format('truetype'),
4
- url('https://ds-assets.cupra.com/fonts/${this.theme}/${n}.otf') format('opentype')`,{style:`normal`,weight:e,display:`optional`});try{await i.load(),document.fonts.add(i),this.loadedFonts.add(r)}catch(n){console.error(`Error loading "${t}" font with "${e}" weight:`,n)}}loadThemeStyles(){let e=`/2.0.0-canary.171`;return this.loadUnusedStyles&&this.applyUnusedStyles(e),this.loadStyles?new Promise((t,n)=>{let r=`https://ds-assets.cupra.com${e}/styles/${this.theme}/theme.css`;if(document.head.querySelector(`link[href="${r}"]`))t();else{let i=`ui-kit-theme-${e}`,a=document.getElementById(i),o=document.createElement(`link`);o.id=i,o.rel=`stylesheet`,o.href=r,o.onload=()=>t(),o.onerror=()=>n(Error(`Failed to load theme CSS: ${r}`)),document.head.appendChild(o),a==null||a.remove()}}):Promise.resolve()}applyUnusedStyles(e){let t=`https://ds-assets.cupra.com${e}/styles/${this.theme}/unused-styles.css`;if(document.head.querySelector(`link[href="${t}"]`))return;let n=`ui-kit-unused-styles-${e}`,r=document.getElementById(n),i=document.createElement(`link`);i.id=n,i.rel=`preload`,i.as=`style`,i.href=t,i.onload=()=>{i.rel=`stylesheet`},document.head.appendChild(i),r==null||r.remove()}render(){return this.cssLoaded?r.x`<slot></slot>`:r.E}};s.__decorate([a.n({type:Boolean,converter:l.booleanConverter,attribute:`load-fonts`})],d.prototype,`loadFonts`,void 0),s.__decorate([a.n({type:Boolean,converter:l.booleanConverter,attribute:`load-styles`})],d.prototype,`loadStyles`,void 0),s.__decorate([a.n({type:Boolean,converter:l.booleanConverter,attribute:`load-unused-styles`})],d.prototype,`loadUnusedStyles`,void 0),s.__decorate([e.e({context:t.themeContext}),a.n({type:String})],d.prototype,`theme`,void 0),s.__decorate([o.r()],d.prototype,`cssLoaded`,void 0),s.__decorate([o.r()],d.prototype,`loadedFonts`,void 0),d=s.__decorate([c.customUiKitElement(`ds-theme-provider`)],d);
4
+ url('https://ds-assets.cupra.com/fonts/${this.theme}/${n}.otf') format('opentype')`,{style:`normal`,weight:e,display:`optional`});try{await i.load(),document.fonts.add(i),this.loadedFonts.add(r)}catch(n){console.error(`Error loading "${t}" font with "${e}" weight:`,n)}}loadThemeStyles(){let e=`/2.0.0-canary.173`;return this.loadUnusedStyles&&this.applyUnusedStyles(e),this.loadStyles?new Promise((t,n)=>{let r=`https://ds-assets.cupra.com${e}/styles/${this.theme}/theme.css`;if(document.head.querySelector(`link[href="${r}"]`))t();else{let i=`ui-kit-theme-${e}`,a=document.getElementById(i),o=document.createElement(`link`);o.id=i,o.rel=`stylesheet`,o.href=r,o.onload=()=>t(),o.onerror=()=>n(Error(`Failed to load theme CSS: ${r}`)),document.head.appendChild(o),a==null||a.remove()}}):Promise.resolve()}applyUnusedStyles(e){let t=`https://ds-assets.cupra.com${e}/styles/${this.theme}/unused-styles.css`;if(document.head.querySelector(`link[href="${t}"]`))return;let n=`ui-kit-unused-styles-${e}`,r=document.getElementById(n),i=document.createElement(`link`);i.id=n,i.rel=`preload`,i.as=`style`,i.href=t,i.onload=()=>{i.rel=`stylesheet`},document.head.appendChild(i),r==null||r.remove()}render(){return this.cssLoaded?r.x`<slot></slot>`:r.E}};s.__decorate([a.n({type:Boolean,converter:l.booleanConverter,attribute:`load-fonts`})],d.prototype,`loadFonts`,void 0),s.__decorate([a.n({type:Boolean,converter:l.booleanConverter,attribute:`load-styles`})],d.prototype,`loadStyles`,void 0),s.__decorate([a.n({type:Boolean,converter:l.booleanConverter,attribute:`load-unused-styles`})],d.prototype,`loadUnusedStyles`,void 0),s.__decorate([e.e({context:t.themeContext}),a.n({type:String})],d.prototype,`theme`,void 0),s.__decorate([o.r()],d.prototype,`cssLoaded`,void 0),s.__decorate([o.r()],d.prototype,`loadedFonts`,void 0),d=s.__decorate([c.customUiKitElement(`ds-theme-provider`)],d);
@@ -1 +1 @@
1
- require("../utils/version.cjs");function e(e,t){return function(n){var r,i,a,o;if(!(n!=null&&n.prototype))throw TypeError(`@customUiKitElement requires a class that extends HTMLElement.`);let s=e;if(!((r=globalThis)==null||(r=r.customElements)==null)&&r.get(s))return;let c=t!=null&&t.skipTagAsComponentName?[]:[e];Array.isArray(t==null?void 0:t.extendComponentNames)&&(c=[...t.extendComponentNames,...c]),(i=globalThis)==null||(i=i.customElements)==null||(a=i.define)==null||a.call(i,s,(o=class extends n{connectedCallback(){var e;(e=n.prototype.connectedCallback)==null||e.call(this),this.setAttribute(`data-ui-kit-version`,`2.0.0-canary.171`)}},o.componentName=c,o))}}exports.customUiKitElement=e;
1
+ require("../utils/version.cjs");function e(e,t){return function(n){var r,i,a,o;if(!(n!=null&&n.prototype))throw TypeError(`@customUiKitElement requires a class that extends HTMLElement.`);let s=e;if(!((r=globalThis)==null||(r=r.customElements)==null)&&r.get(s))return;let c=t!=null&&t.skipTagAsComponentName?[]:[e];Array.isArray(t==null?void 0:t.extendComponentNames)&&(c=[...t.extendComponentNames,...c]),(i=globalThis)==null||(i=i.customElements)==null||(a=i.define)==null||a.call(i,s,(o=class extends n{connectedCallback(){var e;(e=n.prototype.connectedCallback)==null||e.call(this),this.setAttribute(`data-ui-kit-version`,`2.0.0-canary.173`)}},o.componentName=c,o))}}exports.customUiKitElement=e;
@@ -1 +1 @@
1
- const e=require("../core/theme.constants.cjs"),t=require("./PubSub.cjs");var n=class{constructor(){this.icons={},this.handleChangeTheme=e=>{if(this.theme===e)return;this.theme=e;let t=Object.keys(this.icons);this.icons={},t.forEach(e=>this.fetchIcon(e))},this.fetchIcon=async(t,n={})=>{var r;let i=typeof sessionStorage<`u`?(r=sessionStorage)==null?void 0:r.getItem(e.THEME_STORAGE_KEY):null;!this.theme&&i&&(this.theme=i);let a=this.icons[t];if(a)return await a;let o=this.loadIcon(t,n).catch(e=>{throw delete this.icons[t],e});return this.icons[t]=o,o},this.loadIcon=(e,{cache:t=`force-cache`,...n})=>!this.theme||typeof fetch>`u`?Promise.resolve(`<svg class="ds-icon"></svg>`):fetch(`https://ds-assets.cupra.com/icons/${this.theme}/${e}.svg`,{cache:t,...n}).then(e=>e.text()).catch(t=>{if((t==null?void 0:t.name)===`AbortError`)throw t;return console.error(`Failed to fetch icon "${e}":`,t),``}),t.pubSub.subscribe(`theme`,this.handleChangeTheme)}},r=Symbol.for(`@cupra/ui-kit/icons-manager/2.0.0-canary.171`),i=globalThis,a=i[r];a||(a=new n,Object.defineProperty(i,r,{value:a,writable:!1,configurable:!1,enumerable:!1}));var o=a;exports.iconsManager=o;
1
+ const e=require("../core/theme.constants.cjs"),t=require("./PubSub.cjs");var n=class{constructor(){this.icons={},this.handleChangeTheme=e=>{if(this.theme===e)return;this.theme=e;let t=Object.keys(this.icons);this.icons={},t.forEach(e=>this.fetchIcon(e))},this.fetchIcon=async(t,n={})=>{var r;let i=typeof sessionStorage<`u`?(r=sessionStorage)==null?void 0:r.getItem(e.THEME_STORAGE_KEY):null;!this.theme&&i&&(this.theme=i);let a=this.icons[t];if(a)return await a;let o=this.loadIcon(t,n).catch(e=>{throw delete this.icons[t],e});return this.icons[t]=o,o},this.loadIcon=(e,{cache:t=`force-cache`,...n})=>!this.theme||typeof fetch>`u`?Promise.resolve(`<svg class="ds-icon"></svg>`):fetch(`https://ds-assets.cupra.com/icons/${this.theme}/${e}.svg`,{cache:t,...n}).then(e=>e.text()).catch(t=>{if((t==null?void 0:t.name)===`AbortError`)throw t;return console.error(`Failed to fetch icon "${e}":`,t),``}),t.pubSub.subscribe(`theme`,this.handleChangeTheme)}},r=Symbol.for(`@cupra/ui-kit/icons-manager/2.0.0-canary.173`),i=globalThis,a=i[r];a||(a=new n,Object.defineProperty(i,r,{value:a,writable:!1,configurable:!1,enumerable:!1}));var o=a;exports.iconsManager=o;
@@ -1 +1 @@
1
- var e=class{constructor(){this.subscribers={},this.lastPublishedData={}}subscribe(e,t){return this.subscribers[e]||(this.subscribers[e]=[]),this.subscribers[e].push(t),this.lastPublishedData[e]}unsubscribe(e,t){this.subscribers[e]&&(this.subscribers[e]=this.subscribers[e].filter(e=>e!==t))}publish(e,t){this.lastPublishedData[e]=t,this.subscribers[e]&&this.subscribers[e].forEach(n=>{try{n(t)}catch(t){console.error(`Error in subscriber for event "${e}":`,t)}})}},t=Symbol.for(`@cupra/ui-kit/pubsub/2.0.0-canary.171`),n=globalThis,r=n[t];r||(r=new e,Object.defineProperty(n,t,{value:r,writable:!1,configurable:!1,enumerable:!1}));var i=r;exports.pubSub=i;
1
+ var e=class{constructor(){this.subscribers={},this.lastPublishedData={}}subscribe(e,t){return this.subscribers[e]||(this.subscribers[e]=[]),this.subscribers[e].push(t),this.lastPublishedData[e]}unsubscribe(e,t){this.subscribers[e]&&(this.subscribers[e]=this.subscribers[e].filter(e=>e!==t))}publish(e,t){this.lastPublishedData[e]=t,this.subscribers[e]&&this.subscribers[e].forEach(n=>{try{n(t)}catch(t){console.error(`Error in subscriber for event "${e}":`,t)}})}},t=Symbol.for(`@cupra/ui-kit/pubsub/2.0.0-canary.173`),n=globalThis,r=n[t];r||(r=new e,Object.defineProperty(n,t,{value:r,writable:!1,configurable:!1,enumerable:!1}));var i=r;exports.pubSub=i;
@@ -1 +1 @@
1
- var e=require("../concurrencyLimit.cjs").concurrencyLimit(20),t=class t{constructor(){this.stylePromises=new Map,this.getStyles=async({componentName:t,theme:n})=>{if(!n||!t)return;let r=`https://ds-assets.cupra.com/2.0.0-canary.171/styles/${n}/components/${t}.css`,i=this.getCachedStyleSheetPromise({url:r});if(i)return i;let a=e(()=>this.fetchStyle({url:r})).then(e=>(e||this.stylePromises.delete(r),e));return this.stylePromises.set(r,a),this.stylePromises.get(r)}}async fetchStyle({url:e}){try{if(typeof fetch>`u`)return;let t=await fetch(e,{cache:`force-cache`});if(t.ok)return t.text()}catch(t){console.error(`Failed to fetch Style Sheet "${e}":`,t)}}getCachedStyleSheetPromise({url:e}){return this.stylePromises.get(e)}static getInstance(){return t.instance||(t.instance=new t),t.instance}}.getInstance();exports.stylesRegistry=t;
1
+ var e=require("../concurrencyLimit.cjs").concurrencyLimit(20),t=class t{constructor(){this.stylePromises=new Map,this.getStyles=async({componentName:t,theme:n})=>{if(!n||!t)return;let r=`https://ds-assets.cupra.com/2.0.0-canary.173/styles/${n}/components/${t}.css`,i=this.getCachedStyleSheetPromise({url:r});if(i)return i;let a=e(()=>this.fetchStyle({url:r})).then(e=>(e||this.stylePromises.delete(r),e));return this.stylePromises.set(r,a),this.stylePromises.get(r)}}async fetchStyle({url:e}){try{if(typeof fetch>`u`)return;let t=await fetch(e,{cache:`force-cache`});if(t.ok)return t.text()}catch(t){console.error(`Failed to fetch Style Sheet "${e}":`,t)}}getCachedStyleSheetPromise({url:e}){return this.stylePromises.get(e)}static getInstance(){return t.instance||(t.instance=new t),t.instance}}.getInstance();exports.stylesRegistry=t;
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=`2.0.0-canary.171`,t=`--v${e.replaceAll(`.`,`-`)}`;exports.VERSION=e,exports.VERSION_TAG_SUFFIX=t;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=`2.0.0-canary.173`,t=`--v${e.replaceAll(`.`,`-`)}`;exports.VERSION=e,exports.VERSION_TAG_SUFFIX=t;
@@ -29,7 +29,8 @@ var f, p = (f = class extends i {
29
29
  disabled: !!this.disabled,
30
30
  underline: !!this.underline,
31
31
  [this.size]: !0,
32
- [this.mode]: !!this.mode
32
+ [this.mode]: !!this.mode,
33
+ "icon-left": this.iconPosition === "left"
33
34
  };
34
35
  }
35
36
  handleClick(e) {
@@ -50,9 +51,8 @@ var f, p = (f = class extends i {
50
51
  ${this.styleTokens}
51
52
  ${u(this.htmlTagName || "button", [["button", () => t`
52
53
  <button class=${c(this.classes)} ?disabled=${this.disabled}>
53
- ${this.iconPosition === "left" ? this.iconTemplate : e}
54
54
  <span class="label"><slot></slot></span>
55
- ${this.iconPosition === "right" ? this.iconTemplate : e}
55
+ ${this.iconTemplate}
56
56
  </button>
57
57
  `], ["a", () => t`
58
58
  <a
@@ -63,9 +63,8 @@ var f, p = (f = class extends i {
63
63
  @click=${this.handleClick}
64
64
  ?disabled=${this.disabled}
65
65
  >
66
- ${this.iconPosition === "left" ? this.iconTemplate : e}
67
66
  <span class="label"><slot></slot></span>
68
- ${this.iconPosition === "right" ? this.iconTemplate : e}
67
+ ${this.iconTemplate}
69
68
  </a>
70
69
  `]])}
71
70
  `;
@@ -17,6 +17,10 @@ var t = e`
17
17
  align-items: center;
18
18
  cursor: pointer;
19
19
  }
20
+
21
+ .link-button.icon-left .icon {
22
+ order: -1;
23
+ }
20
24
  `;
21
25
  //#endregion
22
26
  export { t as commonStyles };
@@ -53,7 +53,7 @@ var f = class extends a {
53
53
  }
54
54
  }
55
55
  loadThemeStyles() {
56
- let e = "/2.0.0-canary.171";
56
+ let e = "/2.0.0-canary.173";
57
57
  return this.loadUnusedStyles && this.applyUnusedStyles(e), this.loadStyles ? new Promise((t, n) => {
58
58
  let r = `https://ds-assets.cupra.com${e}/styles/${this.theme}/theme.css`;
59
59
  if (document.head.querySelector(`link[href="${r}"]`)) t();
@@ -10,7 +10,7 @@ function e(e, t) {
10
10
  Array.isArray(t == null ? void 0 : t.extendComponentNames) && (c = [...t.extendComponentNames, ...c]), (i = globalThis) == null || (i = i.customElements) == null || (a = i.define) == null || a.call(i, s, (o = class extends n {
11
11
  connectedCallback() {
12
12
  var e;
13
- (e = n.prototype.connectedCallback) == null || e.call(this), this.setAttribute("data-ui-kit-version", "2.0.0-canary.171");
13
+ (e = n.prototype.connectedCallback) == null || e.call(this), this.setAttribute("data-ui-kit-version", "2.0.0-canary.173");
14
14
  }
15
15
  }, o.componentName = c, o));
16
16
  };
@@ -26,7 +26,7 @@ var n = class {
26
26
  return console.error(`Failed to fetch icon "${e}":`, t), "";
27
27
  }), t.subscribe("theme", this.handleChangeTheme);
28
28
  }
29
- }, r = Symbol.for("@cupra/ui-kit/icons-manager/2.0.0-canary.171"), i = globalThis, a = i[r];
29
+ }, r = Symbol.for("@cupra/ui-kit/icons-manager/2.0.0-canary.173"), i = globalThis, a = i[r];
30
30
  a || (a = new n(), Object.defineProperty(i, r, {
31
31
  value: a,
32
32
  writable: !1,
@@ -18,7 +18,7 @@ var e = class {
18
18
  }
19
19
  });
20
20
  }
21
- }, t = Symbol.for("@cupra/ui-kit/pubsub/2.0.0-canary.171"), n = globalThis, r = n[t];
21
+ }, t = Symbol.for("@cupra/ui-kit/pubsub/2.0.0-canary.173"), n = globalThis, r = n[t];
22
22
  r || (r = new e(), Object.defineProperty(n, t, {
23
23
  value: r,
24
24
  writable: !1,
@@ -4,7 +4,7 @@ var t = e(20), n = class e {
4
4
  constructor() {
5
5
  this.stylePromises = /* @__PURE__ */ new Map(), this.getStyles = async ({ componentName: e, theme: n }) => {
6
6
  if (!n || !e) return;
7
- let r = `https://ds-assets.cupra.com/2.0.0-canary.171/styles/${n}/components/${e}.css`, i = this.getCachedStyleSheetPromise({ url: r });
7
+ let r = `https://ds-assets.cupra.com/2.0.0-canary.173/styles/${n}/components/${e}.css`, i = this.getCachedStyleSheetPromise({ url: r });
8
8
  if (i) return i;
9
9
  let a = t(() => this.fetchStyle({ url: r })).then((e) => (e || this.stylePromises.delete(r), e));
10
10
  return this.stylePromises.set(r, a), this.stylePromises.get(r);
@@ -1,4 +1,4 @@
1
1
  //#region src/utils/version.ts
2
- var e = "2.0.0-canary.171", t = `--v${e.replaceAll(".", "-")}`;
2
+ var e = "2.0.0-canary.173", t = `--v${e.replaceAll(".", "-")}`;
3
3
  //#endregion
4
4
  export { e as VERSION, t as VERSION_TAG_SUFFIX };
@@ -20,6 +20,7 @@ export declare class DsLinkButton extends UiKitElement {
20
20
  'link-button': boolean;
21
21
  disabled: boolean;
22
22
  underline: boolean;
23
+ 'icon-left': boolean;
23
24
  };
24
25
  protected handleClick(event: Event): void;
25
26
  protected get styleTokens(): import("lit").TemplateResult<1>;
@@ -0,0 +1,12 @@
1
+ import type { TemplateResult } from 'lit';
2
+ import '../components/ds-theme-provider/ds-theme-provider.ts';
3
+ export declare function renderWithTheme(template: TemplateResult, options?: {
4
+ theme?: string;
5
+ loadFonts?: boolean;
6
+ loadStyles?: boolean;
7
+ }): Promise<HTMLElement>;
8
+ export declare function renderComponent<T extends HTMLElement>(selector: string, template: TemplateResult, options?: {
9
+ theme?: string;
10
+ loadFonts?: boolean;
11
+ loadStyles?: boolean;
12
+ }): Promise<[T, HTMLElement]>;
@@ -1,4 +1,4 @@
1
- require("../ds-theme-provider/themeContext.cjs");const e=require("../../node_modules/.pnpm/lit-html@3.3.1/node_modules/lit-html/lit-html.cjs");require("../../node_modules/.pnpm/lit@3.3.1/node_modules/lit/index.cjs");const t=require("../../node_modules/.pnpm/@lit_reactive-element@2.1.1/node_modules/@lit/reactive-element/decorators/property.cjs");require("../../node_modules/.pnpm/lit@3.3.1/node_modules/lit/decorators.cjs");const n=require("../../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/decorate.cjs"),r=require("../base/UiKitElement.cjs"),i=require("../../decorators/customUiKitElement.cjs");require("../ds-icon/ds-icon.cjs");const a=require("../../utils/booleanConverter.cjs"),o=require("../../utils/uiKitHtml.cjs"),s=require("../../node_modules/.pnpm/lit-html@3.3.1/node_modules/lit-html/directives/class-map.cjs");require("../../node_modules/.pnpm/lit@3.3.1/node_modules/lit/directives/class-map.cjs");const c=require("../../node_modules/.pnpm/lit-html@3.3.1/node_modules/lit-html/directives/if-defined.cjs");require("../../node_modules/.pnpm/lit@3.3.1/node_modules/lit/directives/if-defined.cjs");const l=require("../../node_modules/.pnpm/lit-html@3.3.1/node_modules/lit-html/directives/choose.cjs"),u=require("./styles/common.styles.cjs");var d,f=(d=class extends r.UiKitElement{constructor(...e){super(...e),this.mode=`light`,this.size=`large`,this.underline=!1,this.disabled=!1,this.iconName=`arrow-right`,this.iconPosition=`right`}get iconTemplate(){return this.iconName===`none`?e.E:o.uiKitHtml`<ds-icon class="icon" icon-name=${c.o(this.iconName)}></ds-icon>`}get classes(){return{"link-button":!0,disabled:!!this.disabled,underline:!!this.underline,[this.size]:!0,[this.mode]:!!this.mode}}handleClick(e){this.href||e.preventDefault()}get styleTokens(){return e.x`
1
+ require("../ds-theme-provider/themeContext.cjs");const e=require("../../node_modules/.pnpm/lit-html@3.3.1/node_modules/lit-html/lit-html.cjs");require("../../node_modules/.pnpm/lit@3.3.1/node_modules/lit/index.cjs");const t=require("../../node_modules/.pnpm/@lit_reactive-element@2.1.1/node_modules/@lit/reactive-element/decorators/property.cjs");require("../../node_modules/.pnpm/lit@3.3.1/node_modules/lit/decorators.cjs");const n=require("../../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/decorate.cjs"),r=require("../base/UiKitElement.cjs"),i=require("../../decorators/customUiKitElement.cjs");require("../ds-icon/ds-icon.cjs");const a=require("../../utils/booleanConverter.cjs"),o=require("../../utils/uiKitHtml.cjs"),s=require("../../node_modules/.pnpm/lit-html@3.3.1/node_modules/lit-html/directives/class-map.cjs");require("../../node_modules/.pnpm/lit@3.3.1/node_modules/lit/directives/class-map.cjs");const c=require("../../node_modules/.pnpm/lit-html@3.3.1/node_modules/lit-html/directives/if-defined.cjs");require("../../node_modules/.pnpm/lit@3.3.1/node_modules/lit/directives/if-defined.cjs");const l=require("../../node_modules/.pnpm/lit-html@3.3.1/node_modules/lit-html/directives/choose.cjs"),u=require("./styles/common.styles.cjs");var d,f=(d=class extends r.UiKitElement{constructor(...e){super(...e),this.mode=`light`,this.size=`large`,this.underline=!1,this.disabled=!1,this.iconName=`arrow-right`,this.iconPosition=`right`}get iconTemplate(){return this.iconName===`none`?e.E:o.uiKitHtml`<ds-icon class="icon" icon-name=${c.o(this.iconName)}></ds-icon>`}get classes(){return{"link-button":!0,disabled:!!this.disabled,underline:!!this.underline,[this.size]:!0,[this.mode]:!!this.mode,"icon-left":this.iconPosition===`left`}}handleClick(e){this.href||e.preventDefault()}get styleTokens(){return e.x`
2
2
  <style>
3
3
  :host{
4
4
  color-scheme: ${this.mode};
@@ -9,9 +9,8 @@ require("../ds-theme-provider/themeContext.cjs");const e=require("../../node_mod
9
9
  ${this.styleTokens}
10
10
  ${l.r(this.htmlTagName||`button`,[[`button`,()=>e.x`
11
11
  <button class=${s.e(this.classes)} ?disabled=${this.disabled}>
12
- ${this.iconPosition===`left`?this.iconTemplate:e.E}
13
12
  <span class="label"><slot></slot></span>
14
- ${this.iconPosition===`right`?this.iconTemplate:e.E}
13
+ ${this.iconTemplate}
15
14
  </button>
16
15
  `],[`a`,()=>e.x`
17
16
  <a
@@ -22,9 +21,8 @@ require("../ds-theme-provider/themeContext.cjs");const e=require("../../node_mod
22
21
  @click=${this.handleClick}
23
22
  ?disabled=${this.disabled}
24
23
  >
25
- ${this.iconPosition===`left`?this.iconTemplate:e.E}
26
24
  <span class="label"><slot></slot></span>
27
- ${this.iconPosition===`right`?this.iconTemplate:e.E}
25
+ ${this.iconTemplate}
28
26
  </a>
29
27
  `]])}
30
28
  `}},d.styles=[u.commonStyles],d);n.__decorate([t.n({type:String,reflect:!0})],f.prototype,`mode`,void 0),n.__decorate([t.n({type:String})],f.prototype,`size`,void 0),n.__decorate([t.n({type:Boolean,converter:a.booleanConverter})],f.prototype,`underline`,void 0),n.__decorate([t.n({type:Boolean,converter:a.booleanConverter})],f.prototype,`disabled`,void 0),n.__decorate([t.n({type:String,attribute:`html-tag-name`})],f.prototype,`htmlTagName`,void 0),n.__decorate([t.n({type:String,reflect:!0})],f.prototype,`href`,void 0),n.__decorate([t.n({type:String,reflect:!0})],f.prototype,`rel`,void 0),n.__decorate([t.n({type:String,reflect:!0})],f.prototype,`target`,void 0),n.__decorate([t.n({type:String,attribute:`icon-name`})],f.prototype,`iconName`,void 0),n.__decorate([t.n({type:String,attribute:`icon-position`})],f.prototype,`iconPosition`,void 0),f=n.__decorate([i.customUiKitElement(`ds-link-button`)],f);
@@ -14,4 +14,8 @@ const e=require("../../../node_modules/.pnpm/@lit_reactive-element@2.1.1/node_mo
14
14
  align-items: center;
15
15
  cursor: pointer;
16
16
  }
17
+
18
+ .link-button.icon-left .icon {
19
+ order: -1;
20
+ }
17
21
  `;exports.commonStyles=t;
@@ -1,4 +1,4 @@
1
1
  const e=require("../../node_modules/.pnpm/@lit_context@1.1.6/node_modules/@lit/context/lib/decorators/provide.cjs"),t=require("./themeContext.cjs");require("../../core/theme.constants.cjs");const n=require("../../utils/PubSub.cjs"),r=require("../../node_modules/.pnpm/lit-html@3.3.1/node_modules/lit-html/lit-html.cjs"),i=require("../../node_modules/.pnpm/lit-element@4.2.1/node_modules/lit-element/lit-element.cjs");require("../../node_modules/.pnpm/lit@3.3.1/node_modules/lit/index.cjs");const a=require("../../node_modules/.pnpm/@lit_reactive-element@2.1.1/node_modules/@lit/reactive-element/decorators/property.cjs"),o=require("../../node_modules/.pnpm/@lit_reactive-element@2.1.1/node_modules/@lit/reactive-element/decorators/state.cjs");require("../../node_modules/.pnpm/lit@3.3.1/node_modules/lit/decorators.cjs");const s=require("../../_virtual/_@oxc-project_runtime@0.133.0/helpers/esm/decorate.cjs"),c=require("../../decorators/customUiKitElement.cjs"),l=require("../../utils/booleanConverter.cjs"),u=require("../../styles/source/shared/fonts-config.cjs");var d=class extends i.i{constructor(...e){super(...e),this.loadFonts=!0,this.loadStyles=!0,this.loadUnusedStyles=!0,this.cssLoaded=!1,this.loadedFonts=new Set}updated(e){if(super.updated(e),e.has(`theme`)){var t,r;n.pubSub.publish(`theme`,this.theme),(t=sessionStorage)==null||t.setItem(`@cupra/ui-kit/theme`,this.theme),typeof FontFace<`u`&&(r=document)!=null&&r.fonts&&this.loadThemeFonts(),this.loadThemeStyles().then(()=>{this.cssLoaded=!0,this.dispatchEvent(new CustomEvent(`ui-kit:ready`,{bubbles:!0,composed:!0}))})}}loadThemeFonts(){var e;(e=u.fontsConfig[this.theme])==null||e.fonts.forEach(e=>{this.loadThemeFont(e)})}async loadThemeFont({weight:e,name:t,file:n}){if(!this.loadFonts)return Promise.resolve();let r=`${t}-${e}`;if(this.loadedFonts.has(r))return;let i=new FontFace(t,`url('https://ds-assets.cupra.com/fonts/${this.theme}/${n}.woff2') format('woff2'),
2
2
  url('https://ds-assets.cupra.com/fonts/${this.theme}/${n}.woff') format('woff'),
3
3
  url('https://ds-assets.cupra.com/fonts/${this.theme}/${n}.ttf') format('truetype'),
4
- url('https://ds-assets.cupra.com/fonts/${this.theme}/${n}.otf') format('opentype')`,{style:`normal`,weight:e,display:`optional`});try{await i.load(),document.fonts.add(i),this.loadedFonts.add(r)}catch(n){console.error(`Error loading "${t}" font with "${e}" weight:`,n)}}loadThemeStyles(){let e=`/2.0.0-canary.171`;return this.loadUnusedStyles&&this.applyUnusedStyles(e),this.loadStyles?new Promise((t,n)=>{let r=`https://ds-assets.cupra.com${e}/styles/${this.theme}/theme.css`;if(document.head.querySelector(`link[href="${r}"]`))t();else{let i=`ui-kit-theme-${e}`,a=document.getElementById(i),o=document.createElement(`link`);o.id=i,o.rel=`stylesheet`,o.href=r,o.onload=()=>t(),o.onerror=()=>n(Error(`Failed to load theme CSS: ${r}`)),document.head.appendChild(o),a==null||a.remove()}}):Promise.resolve()}applyUnusedStyles(e){let t=`https://ds-assets.cupra.com${e}/styles/${this.theme}/unused-styles.css`;if(document.head.querySelector(`link[href="${t}"]`))return;let n=`ui-kit-unused-styles-${e}`,r=document.getElementById(n),i=document.createElement(`link`);i.id=n,i.rel=`preload`,i.as=`style`,i.href=t,i.onload=()=>{i.rel=`stylesheet`},document.head.appendChild(i),r==null||r.remove()}render(){return this.cssLoaded?r.x`<slot></slot>`:r.E}};s.__decorate([a.n({type:Boolean,converter:l.booleanConverter,attribute:`load-fonts`})],d.prototype,`loadFonts`,void 0),s.__decorate([a.n({type:Boolean,converter:l.booleanConverter,attribute:`load-styles`})],d.prototype,`loadStyles`,void 0),s.__decorate([a.n({type:Boolean,converter:l.booleanConverter,attribute:`load-unused-styles`})],d.prototype,`loadUnusedStyles`,void 0),s.__decorate([e.e({context:t.themeContext}),a.n({type:String})],d.prototype,`theme`,void 0),s.__decorate([o.r()],d.prototype,`cssLoaded`,void 0),s.__decorate([o.r()],d.prototype,`loadedFonts`,void 0),d=s.__decorate([c.customUiKitElement(`ds-theme-provider`)],d);
4
+ url('https://ds-assets.cupra.com/fonts/${this.theme}/${n}.otf') format('opentype')`,{style:`normal`,weight:e,display:`optional`});try{await i.load(),document.fonts.add(i),this.loadedFonts.add(r)}catch(n){console.error(`Error loading "${t}" font with "${e}" weight:`,n)}}loadThemeStyles(){let e=`/2.0.0-canary.173`;return this.loadUnusedStyles&&this.applyUnusedStyles(e),this.loadStyles?new Promise((t,n)=>{let r=`https://ds-assets.cupra.com${e}/styles/${this.theme}/theme.css`;if(document.head.querySelector(`link[href="${r}"]`))t();else{let i=`ui-kit-theme-${e}`,a=document.getElementById(i),o=document.createElement(`link`);o.id=i,o.rel=`stylesheet`,o.href=r,o.onload=()=>t(),o.onerror=()=>n(Error(`Failed to load theme CSS: ${r}`)),document.head.appendChild(o),a==null||a.remove()}}):Promise.resolve()}applyUnusedStyles(e){let t=`https://ds-assets.cupra.com${e}/styles/${this.theme}/unused-styles.css`;if(document.head.querySelector(`link[href="${t}"]`))return;let n=`ui-kit-unused-styles-${e}`,r=document.getElementById(n),i=document.createElement(`link`);i.id=n,i.rel=`preload`,i.as=`style`,i.href=t,i.onload=()=>{i.rel=`stylesheet`},document.head.appendChild(i),r==null||r.remove()}render(){return this.cssLoaded?r.x`<slot></slot>`:r.E}};s.__decorate([a.n({type:Boolean,converter:l.booleanConverter,attribute:`load-fonts`})],d.prototype,`loadFonts`,void 0),s.__decorate([a.n({type:Boolean,converter:l.booleanConverter,attribute:`load-styles`})],d.prototype,`loadStyles`,void 0),s.__decorate([a.n({type:Boolean,converter:l.booleanConverter,attribute:`load-unused-styles`})],d.prototype,`loadUnusedStyles`,void 0),s.__decorate([e.e({context:t.themeContext}),a.n({type:String})],d.prototype,`theme`,void 0),s.__decorate([o.r()],d.prototype,`cssLoaded`,void 0),s.__decorate([o.r()],d.prototype,`loadedFonts`,void 0),d=s.__decorate([c.customUiKitElement(`ds-theme-provider`)],d);
@@ -1 +1 @@
1
- const e=require("../utils/version.cjs");function t(t,n){return function(r){var i,a,o,s;if(!(r!=null&&r.prototype))throw TypeError(`@customUiKitElement requires a class that extends HTMLElement.`);let c=`${t}${e.VERSION_TAG_SUFFIX}`;if(!((i=globalThis)==null||(i=i.customElements)==null)&&i.get(c))return;let l=n!=null&&n.skipTagAsComponentName?[]:[t];Array.isArray(n==null?void 0:n.extendComponentNames)&&(l=[...n.extendComponentNames,...l]),(a=globalThis)==null||(a=a.customElements)==null||(o=a.define)==null||o.call(a,c,(s=class extends r{connectedCallback(){var e;(e=r.prototype.connectedCallback)==null||e.call(this),this.setAttribute(`data-ui-kit-version`,`2.0.0-canary.171`)}},s.componentName=l,s))}}exports.customUiKitElement=t;
1
+ const e=require("../utils/version.cjs");function t(t,n){return function(r){var i,a,o,s;if(!(r!=null&&r.prototype))throw TypeError(`@customUiKitElement requires a class that extends HTMLElement.`);let c=`${t}${e.VERSION_TAG_SUFFIX}`;if(!((i=globalThis)==null||(i=i.customElements)==null)&&i.get(c))return;let l=n!=null&&n.skipTagAsComponentName?[]:[t];Array.isArray(n==null?void 0:n.extendComponentNames)&&(l=[...n.extendComponentNames,...l]),(a=globalThis)==null||(a=a.customElements)==null||(o=a.define)==null||o.call(a,c,(s=class extends r{connectedCallback(){var e;(e=r.prototype.connectedCallback)==null||e.call(this),this.setAttribute(`data-ui-kit-version`,`2.0.0-canary.173`)}},s.componentName=l,s))}}exports.customUiKitElement=t;
@@ -1 +1 @@
1
- const e=require("../core/theme.constants.cjs"),t=require("./PubSub.cjs");var n=class{constructor(){this.icons={},this.handleChangeTheme=e=>{if(this.theme===e)return;this.theme=e;let t=Object.keys(this.icons);this.icons={},t.forEach(e=>this.fetchIcon(e))},this.fetchIcon=async(t,n={})=>{var r;let i=typeof sessionStorage<`u`?(r=sessionStorage)==null?void 0:r.getItem(e.THEME_STORAGE_KEY):null;!this.theme&&i&&(this.theme=i);let a=this.icons[t];if(a)return await a;let o=this.loadIcon(t,n).catch(e=>{throw delete this.icons[t],e});return this.icons[t]=o,o},this.loadIcon=(e,{cache:t=`force-cache`,...n})=>!this.theme||typeof fetch>`u`?Promise.resolve(`<svg class="ds-icon"></svg>`):fetch(`https://ds-assets.cupra.com/icons/${this.theme}/${e}.svg`,{cache:t,...n}).then(e=>e.text()).catch(t=>{if((t==null?void 0:t.name)===`AbortError`)throw t;return console.error(`Failed to fetch icon "${e}":`,t),``}),t.pubSub.subscribe(`theme`,this.handleChangeTheme)}},r=Symbol.for(`@cupra/ui-kit/icons-manager/2.0.0-canary.171`),i=globalThis,a=i[r];a||(a=new n,Object.defineProperty(i,r,{value:a,writable:!1,configurable:!1,enumerable:!1}));var o=a;exports.iconsManager=o;
1
+ const e=require("../core/theme.constants.cjs"),t=require("./PubSub.cjs");var n=class{constructor(){this.icons={},this.handleChangeTheme=e=>{if(this.theme===e)return;this.theme=e;let t=Object.keys(this.icons);this.icons={},t.forEach(e=>this.fetchIcon(e))},this.fetchIcon=async(t,n={})=>{var r;let i=typeof sessionStorage<`u`?(r=sessionStorage)==null?void 0:r.getItem(e.THEME_STORAGE_KEY):null;!this.theme&&i&&(this.theme=i);let a=this.icons[t];if(a)return await a;let o=this.loadIcon(t,n).catch(e=>{throw delete this.icons[t],e});return this.icons[t]=o,o},this.loadIcon=(e,{cache:t=`force-cache`,...n})=>!this.theme||typeof fetch>`u`?Promise.resolve(`<svg class="ds-icon"></svg>`):fetch(`https://ds-assets.cupra.com/icons/${this.theme}/${e}.svg`,{cache:t,...n}).then(e=>e.text()).catch(t=>{if((t==null?void 0:t.name)===`AbortError`)throw t;return console.error(`Failed to fetch icon "${e}":`,t),``}),t.pubSub.subscribe(`theme`,this.handleChangeTheme)}},r=Symbol.for(`@cupra/ui-kit/icons-manager/2.0.0-canary.173`),i=globalThis,a=i[r];a||(a=new n,Object.defineProperty(i,r,{value:a,writable:!1,configurable:!1,enumerable:!1}));var o=a;exports.iconsManager=o;
@@ -1 +1 @@
1
- var e=class{constructor(){this.subscribers={},this.lastPublishedData={}}subscribe(e,t){return this.subscribers[e]||(this.subscribers[e]=[]),this.subscribers[e].push(t),this.lastPublishedData[e]}unsubscribe(e,t){this.subscribers[e]&&(this.subscribers[e]=this.subscribers[e].filter(e=>e!==t))}publish(e,t){this.lastPublishedData[e]=t,this.subscribers[e]&&this.subscribers[e].forEach(n=>{try{n(t)}catch(t){console.error(`Error in subscriber for event "${e}":`,t)}})}},t=Symbol.for(`@cupra/ui-kit/pubsub/2.0.0-canary.171`),n=globalThis,r=n[t];r||(r=new e,Object.defineProperty(n,t,{value:r,writable:!1,configurable:!1,enumerable:!1}));var i=r;exports.pubSub=i;
1
+ var e=class{constructor(){this.subscribers={},this.lastPublishedData={}}subscribe(e,t){return this.subscribers[e]||(this.subscribers[e]=[]),this.subscribers[e].push(t),this.lastPublishedData[e]}unsubscribe(e,t){this.subscribers[e]&&(this.subscribers[e]=this.subscribers[e].filter(e=>e!==t))}publish(e,t){this.lastPublishedData[e]=t,this.subscribers[e]&&this.subscribers[e].forEach(n=>{try{n(t)}catch(t){console.error(`Error in subscriber for event "${e}":`,t)}})}},t=Symbol.for(`@cupra/ui-kit/pubsub/2.0.0-canary.173`),n=globalThis,r=n[t];r||(r=new e,Object.defineProperty(n,t,{value:r,writable:!1,configurable:!1,enumerable:!1}));var i=r;exports.pubSub=i;
@@ -1 +1 @@
1
- var e=require("../concurrencyLimit.cjs").concurrencyLimit(20),t=class t{constructor(){this.stylePromises=new Map,this.getStyles=async({componentName:t,theme:n})=>{if(!n||!t)return;let r=`https://ds-assets.cupra.com/2.0.0-canary.171/styles/${n}/components/${t}.css`,i=this.getCachedStyleSheetPromise({url:r});if(i)return i;let a=e(()=>this.fetchStyle({url:r})).then(e=>(e||this.stylePromises.delete(r),e));return this.stylePromises.set(r,a),this.stylePromises.get(r)}}async fetchStyle({url:e}){try{if(typeof fetch>`u`)return;let t=await fetch(e,{cache:`force-cache`});if(t.ok)return t.text()}catch(t){console.error(`Failed to fetch Style Sheet "${e}":`,t)}}getCachedStyleSheetPromise({url:e}){return this.stylePromises.get(e)}static getInstance(){return t.instance||(t.instance=new t),t.instance}}.getInstance();exports.stylesRegistry=t;
1
+ var e=require("../concurrencyLimit.cjs").concurrencyLimit(20),t=class t{constructor(){this.stylePromises=new Map,this.getStyles=async({componentName:t,theme:n})=>{if(!n||!t)return;let r=`https://ds-assets.cupra.com/2.0.0-canary.173/styles/${n}/components/${t}.css`,i=this.getCachedStyleSheetPromise({url:r});if(i)return i;let a=e(()=>this.fetchStyle({url:r})).then(e=>(e||this.stylePromises.delete(r),e));return this.stylePromises.set(r,a),this.stylePromises.get(r)}}async fetchStyle({url:e}){try{if(typeof fetch>`u`)return;let t=await fetch(e,{cache:`force-cache`});if(t.ok)return t.text()}catch(t){console.error(`Failed to fetch Style Sheet "${e}":`,t)}}getCachedStyleSheetPromise({url:e}){return this.stylePromises.get(e)}static getInstance(){return t.instance||(t.instance=new t),t.instance}}.getInstance();exports.stylesRegistry=t;
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=`2.0.0-canary.171`,t=`--v${e.replaceAll(`.`,`-`)}`;exports.VERSION=e,exports.VERSION_TAG_SUFFIX=t;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=`2.0.0-canary.173`,t=`--v${e.replaceAll(`.`,`-`)}`;exports.VERSION=e,exports.VERSION_TAG_SUFFIX=t;
@@ -29,7 +29,8 @@ var f, p = (f = class extends i {
29
29
  disabled: !!this.disabled,
30
30
  underline: !!this.underline,
31
31
  [this.size]: !0,
32
- [this.mode]: !!this.mode
32
+ [this.mode]: !!this.mode,
33
+ "icon-left": this.iconPosition === "left"
33
34
  };
34
35
  }
35
36
  handleClick(e) {
@@ -50,9 +51,8 @@ var f, p = (f = class extends i {
50
51
  ${this.styleTokens}
51
52
  ${u(this.htmlTagName || "button", [["button", () => t`
52
53
  <button class=${c(this.classes)} ?disabled=${this.disabled}>
53
- ${this.iconPosition === "left" ? this.iconTemplate : e}
54
54
  <span class="label"><slot></slot></span>
55
- ${this.iconPosition === "right" ? this.iconTemplate : e}
55
+ ${this.iconTemplate}
56
56
  </button>
57
57
  `], ["a", () => t`
58
58
  <a
@@ -63,9 +63,8 @@ var f, p = (f = class extends i {
63
63
  @click=${this.handleClick}
64
64
  ?disabled=${this.disabled}
65
65
  >
66
- ${this.iconPosition === "left" ? this.iconTemplate : e}
67
66
  <span class="label"><slot></slot></span>
68
- ${this.iconPosition === "right" ? this.iconTemplate : e}
67
+ ${this.iconTemplate}
69
68
  </a>
70
69
  `]])}
71
70
  `;
@@ -17,6 +17,10 @@ var t = e`
17
17
  align-items: center;
18
18
  cursor: pointer;
19
19
  }
20
+
21
+ .link-button.icon-left .icon {
22
+ order: -1;
23
+ }
20
24
  `;
21
25
  //#endregion
22
26
  export { t as commonStyles };
@@ -53,7 +53,7 @@ var f = class extends a {
53
53
  }
54
54
  }
55
55
  loadThemeStyles() {
56
- let e = "/2.0.0-canary.171";
56
+ let e = "/2.0.0-canary.173";
57
57
  return this.loadUnusedStyles && this.applyUnusedStyles(e), this.loadStyles ? new Promise((t, n) => {
58
58
  let r = `https://ds-assets.cupra.com${e}/styles/${this.theme}/theme.css`;
59
59
  if (document.head.querySelector(`link[href="${r}"]`)) t();
@@ -10,7 +10,7 @@ function t(t, n) {
10
10
  Array.isArray(n == null ? void 0 : n.extendComponentNames) && (l = [...n.extendComponentNames, ...l]), (a = globalThis) == null || (a = a.customElements) == null || (o = a.define) == null || o.call(a, c, (s = class extends r {
11
11
  connectedCallback() {
12
12
  var e;
13
- (e = r.prototype.connectedCallback) == null || e.call(this), this.setAttribute("data-ui-kit-version", "2.0.0-canary.171");
13
+ (e = r.prototype.connectedCallback) == null || e.call(this), this.setAttribute("data-ui-kit-version", "2.0.0-canary.173");
14
14
  }
15
15
  }, s.componentName = l, s));
16
16
  };
@@ -26,7 +26,7 @@ var n = class {
26
26
  return console.error(`Failed to fetch icon "${e}":`, t), "";
27
27
  }), t.subscribe("theme", this.handleChangeTheme);
28
28
  }
29
- }, r = Symbol.for("@cupra/ui-kit/icons-manager/2.0.0-canary.171"), i = globalThis, a = i[r];
29
+ }, r = Symbol.for("@cupra/ui-kit/icons-manager/2.0.0-canary.173"), i = globalThis, a = i[r];
30
30
  a || (a = new n(), Object.defineProperty(i, r, {
31
31
  value: a,
32
32
  writable: !1,
@@ -18,7 +18,7 @@ var e = class {
18
18
  }
19
19
  });
20
20
  }
21
- }, t = Symbol.for("@cupra/ui-kit/pubsub/2.0.0-canary.171"), n = globalThis, r = n[t];
21
+ }, t = Symbol.for("@cupra/ui-kit/pubsub/2.0.0-canary.173"), n = globalThis, r = n[t];
22
22
  r || (r = new e(), Object.defineProperty(n, t, {
23
23
  value: r,
24
24
  writable: !1,
@@ -4,7 +4,7 @@ var t = e(20), n = class e {
4
4
  constructor() {
5
5
  this.stylePromises = /* @__PURE__ */ new Map(), this.getStyles = async ({ componentName: e, theme: n }) => {
6
6
  if (!n || !e) return;
7
- let r = `https://ds-assets.cupra.com/2.0.0-canary.171/styles/${n}/components/${e}.css`, i = this.getCachedStyleSheetPromise({ url: r });
7
+ let r = `https://ds-assets.cupra.com/2.0.0-canary.173/styles/${n}/components/${e}.css`, i = this.getCachedStyleSheetPromise({ url: r });
8
8
  if (i) return i;
9
9
  let a = t(() => this.fetchStyle({ url: r })).then((e) => (e || this.stylePromises.delete(r), e));
10
10
  return this.stylePromises.set(r, a), this.stylePromises.get(r);
@@ -1,4 +1,4 @@
1
1
  //#region src/utils/version.ts
2
- var e = "2.0.0-canary.171", t = `--v${e.replaceAll(".", "-")}`;
2
+ var e = "2.0.0-canary.173", t = `--v${e.replaceAll(".", "-")}`;
3
3
  //#endregion
4
4
  export { e as VERSION, t as VERSION_TAG_SUFFIX };
@@ -20,6 +20,7 @@ export declare class DsLinkButton extends UiKitElement {
20
20
  'link-button': boolean;
21
21
  disabled: boolean;
22
22
  underline: boolean;
23
+ 'icon-left': boolean;
23
24
  };
24
25
  protected handleClick(event: Event): void;
25
26
  protected get styleTokens(): import("lit").TemplateResult<1>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cupra/ui-kit",
3
- "version": "2.0.0-canary.171",
3
+ "version": "2.0.0-canary.173",
4
4
  "description": "Web components library",
5
5
  "author": "SEAT S.A.",
6
6
  "license": "SEAT S.A. Library EULA 1.0",