@cupra/ui-kit 2.0.0-canary.194 → 2.0.0-canary.196

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 (43) hide show
  1. package/dist/cjs/components/ds-badge/styles/common.styles.cjs +25 -6
  2. package/dist/cjs/components/ds-link-button/ds-link-button.cjs +4 -4
  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-badge/styles/common.styles.js +25 -6
  10. package/dist/esm/components/ds-link-button/ds-link-button.js +22 -17
  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-badge/ds-badge.types.d.ts +1 -1
  18. package/dist/types/components/ds-link-button/ds-link-button.d.ts +3 -1
  19. package/dist/types/components/ds-link-button/ds-link-button.types.d.ts +5 -1
  20. package/dist/types/components/ds-list-item/ds-list-item.d.ts +5 -4
  21. package/dist/types/components/ds-list-item/ds-list-item.types.d.ts +1 -1
  22. package/dist-react/cjs/components/ds-badge/styles/common.styles.cjs +25 -6
  23. package/dist-react/cjs/components/ds-link-button/ds-link-button.cjs +4 -4
  24. package/dist-react/cjs/components/ds-theme-provider/ds-theme-provider.cjs +1 -1
  25. package/dist-react/cjs/decorators/customUiKitElement.cjs +1 -1
  26. package/dist-react/cjs/utils/IconsManager.cjs +1 -1
  27. package/dist-react/cjs/utils/PubSub.cjs +1 -1
  28. package/dist-react/cjs/utils/StylesRegistry/StylesRegistry.cjs +1 -1
  29. package/dist-react/cjs/utils/version.cjs +1 -1
  30. package/dist-react/esm/components/ds-badge/styles/common.styles.js +25 -6
  31. package/dist-react/esm/components/ds-link-button/ds-link-button.js +22 -17
  32. package/dist-react/esm/components/ds-theme-provider/ds-theme-provider.js +1 -1
  33. package/dist-react/esm/decorators/customUiKitElement.js +1 -1
  34. package/dist-react/esm/utils/IconsManager.js +1 -1
  35. package/dist-react/esm/utils/PubSub.js +1 -1
  36. package/dist-react/esm/utils/StylesRegistry/StylesRegistry.js +1 -1
  37. package/dist-react/esm/utils/version.js +1 -1
  38. package/dist-react/types/components/ds-badge/ds-badge.types.d.ts +1 -1
  39. package/dist-react/types/components/ds-link-button/ds-link-button.d.ts +3 -1
  40. package/dist-react/types/components/ds-link-button/ds-link-button.types.d.ts +5 -1
  41. package/dist-react/types/components/ds-list-item/ds-list-item.d.ts +5 -4
  42. package/dist-react/types/components/ds-list-item/ds-list-item.types.d.ts +1 -1
  43. package/package.json +1 -1
@@ -8,23 +8,28 @@ const e=require("../../../node_modules/.pnpm/@lit_reactive-element@2.1.1/node_mo
8
8
  }
9
9
 
10
10
  .number {
11
- display: flex;
11
+ display: inline-flex;
12
12
  align-items: center;
13
13
  justify-content: center;
14
+ text-align: center;
14
15
  font-family: var(--ds-typography-family-primary);
15
- font-weight: 400;
16
+ font-weight: var(--ds-typography-weight-body-primary, 400);
17
+ letter-spacing: var(--ds-typography-letter-spacing-base);
16
18
  }
17
19
 
18
20
  .number.size-large {
19
- width: var(--ds-sizing-24);
20
21
  height: var(--ds-sizing-24);
22
+ min-width: var(--ds-sizing-24);
23
+ min-height: var(--ds-sizing-24);
24
+ padding: var(--ds-spacing-s-3);
21
25
  font-size: var(--ds-typography-size-body-s);
22
26
  line-height: var(--ds-typography-height-body-s);
23
27
  }
24
28
 
25
29
  .number.size-medium {
26
- width: var(--ds-sizing-16);
27
- height: var(--ds-sizing-16);
30
+ min-width: var(--ds-sizing-16);
31
+ min-height: var(--ds-sizing-16);
32
+ padding: var(--ds-spacing-s-1);
28
33
  font-size: var(--ds-typography-size-body-xs);
29
34
  line-height: var(--ds-typography-height-body-xs);
30
35
  }
@@ -39,9 +44,23 @@ const e=require("../../../node_modules/.pnpm/@lit_reactive-element@2.1.1/node_mo
39
44
  color: var(--ds-color-text-default-inverted);
40
45
  }
41
46
 
47
+ .variant-alert {
48
+ background-color: var(--ds-badge-bg-color-alert);
49
+ color: var(--ds-badge-text-color-alert);
50
+ }
51
+
52
+ .variant-warning {
53
+ background-color: var(--ds-badge-bg-color-warning);
54
+ color: var(--ds-badge-text-color-warning);
55
+ }
56
+
57
+ .variant-default {
58
+ background-color: var(--ds-badge-bg-color-default);
59
+ color: var(--ds-badge-text-color-default);
60
+ }
61
+
42
62
  .dot {
43
63
  width: var(--ds-sizing-08);
44
64
  height: var(--ds-sizing-08);
45
- background-color: var(--ds-color-surface-feedback-error);
46
65
  }
47
66
  `;exports.commonStyles=t;
@@ -1,13 +1,13 @@
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`
1
+ 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("../../mixins/ViewportMixin.cjs"),u=require("../../utils/objectConverter.cjs"),d=require("../../node_modules/.pnpm/lit-html@3.3.1/node_modules/lit-html/directives/choose.cjs"),f=require("./styles/common.styles.cjs");var p,m=(p=class extends l.ViewportMixin(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(){let e=typeof this.size==`string`?this.size:this.size[this.viewport];return{"link-button":!0,disabled:!!this.disabled,underline:!!this.underline,[e]:!!e,[this.mode]:!!this.mode,"icon-left":this.iconPosition===`left`}}handleClick(e){this.href||e.preventDefault()}get styleTokens(){return e.x`
2
2
  <style>
3
- :host{
3
+ :host {
4
4
  color-scheme: ${this.mode};
5
5
  pointer-events: ${this.disabled?`none`:`visible`};
6
6
  }
7
7
  </style>
8
8
  `}render(){return e.x`
9
9
  ${this.styleTokens}
10
- ${l.r(this.htmlTagName||`button`,[[`button`,()=>e.x`
10
+ ${d.r(this.htmlTagName||`button`,[[`button`,()=>e.x`
11
11
  <button class=${s.e(this.classes)} ?disabled=${this.disabled}>
12
12
  <span class="label"><slot></slot></span>
13
13
  ${this.iconTemplate}
@@ -25,4 +25,4 @@ require("../ds-theme-provider/themeContext.cjs");const e=require("../../node_mod
25
25
  ${this.iconTemplate}
26
26
  </a>
27
27
  `]])}
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);
28
+ `}},p.styles=[f.commonStyles],p);n.__decorate([t.n({type:String,reflect:!0})],m.prototype,`mode`,void 0),n.__decorate([t.n({type:String,converter:u.objectConverter})],m.prototype,`size`,void 0),n.__decorate([t.n({type:Boolean,converter:a.booleanConverter})],m.prototype,`underline`,void 0),n.__decorate([t.n({type:Boolean,converter:a.booleanConverter})],m.prototype,`disabled`,void 0),n.__decorate([t.n({type:String,attribute:`html-tag-name`})],m.prototype,`htmlTagName`,void 0),n.__decorate([t.n({type:String,reflect:!0})],m.prototype,`href`,void 0),n.__decorate([t.n({type:String,reflect:!0})],m.prototype,`rel`,void 0),n.__decorate([t.n({type:String,reflect:!0})],m.prototype,`target`,void 0),n.__decorate([t.n({type:String,attribute:`icon-name`})],m.prototype,`iconName`,void 0),n.__decorate([t.n({type:String,attribute:`icon-position`})],m.prototype,`iconPosition`,void 0),m=n.__decorate([i.customUiKitElement(`ds-link-button`)],m);
@@ -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.194`;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.196`;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.194`)}},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.196`)}},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.194`),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.196`),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.194`),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.196`),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.194/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.196/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.194`,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.196`,t=`--v${e.replaceAll(`.`,`-`)}`;exports.VERSION=e,exports.VERSION_TAG_SUFFIX=t;
@@ -11,23 +11,28 @@ var t = e`
11
11
  }
12
12
 
13
13
  .number {
14
- display: flex;
14
+ display: inline-flex;
15
15
  align-items: center;
16
16
  justify-content: center;
17
+ text-align: center;
17
18
  font-family: var(--ds-typography-family-primary);
18
- font-weight: 400;
19
+ font-weight: var(--ds-typography-weight-body-primary, 400);
20
+ letter-spacing: var(--ds-typography-letter-spacing-base);
19
21
  }
20
22
 
21
23
  .number.size-large {
22
- width: var(--ds-sizing-24);
23
24
  height: var(--ds-sizing-24);
25
+ min-width: var(--ds-sizing-24);
26
+ min-height: var(--ds-sizing-24);
27
+ padding: var(--ds-spacing-s-3);
24
28
  font-size: var(--ds-typography-size-body-s);
25
29
  line-height: var(--ds-typography-height-body-s);
26
30
  }
27
31
 
28
32
  .number.size-medium {
29
- width: var(--ds-sizing-16);
30
- height: var(--ds-sizing-16);
33
+ min-width: var(--ds-sizing-16);
34
+ min-height: var(--ds-sizing-16);
35
+ padding: var(--ds-spacing-s-1);
31
36
  font-size: var(--ds-typography-size-body-xs);
32
37
  line-height: var(--ds-typography-height-body-xs);
33
38
  }
@@ -42,10 +47,24 @@ var t = e`
42
47
  color: var(--ds-color-text-default-inverted);
43
48
  }
44
49
 
50
+ .variant-alert {
51
+ background-color: var(--ds-badge-bg-color-alert);
52
+ color: var(--ds-badge-text-color-alert);
53
+ }
54
+
55
+ .variant-warning {
56
+ background-color: var(--ds-badge-bg-color-warning);
57
+ color: var(--ds-badge-text-color-warning);
58
+ }
59
+
60
+ .variant-default {
61
+ background-color: var(--ds-badge-bg-color-default);
62
+ color: var(--ds-badge-text-color-default);
63
+ }
64
+
45
65
  .dot {
46
66
  width: var(--ds-sizing-08);
47
67
  height: var(--ds-sizing-08);
48
- background-color: var(--ds-color-surface-feedback-error);
49
68
  }
50
69
  `;
51
70
  //#endregion
@@ -1,4 +1,3 @@
1
- import "../ds-theme-provider/themeContext.js";
2
1
  import { E as e, x as t } from "../../node_modules/.pnpm/lit-html@3.3.1/node_modules/lit-html/lit-html.js";
3
2
  import "../../node_modules/.pnpm/lit@3.3.1/node_modules/lit/index.js";
4
3
  import { n } from "../../node_modules/.pnpm/@lit_reactive-element@2.1.1/node_modules/@lit/reactive-element/decorators/property.js";
@@ -13,10 +12,12 @@ import { e as c } from "../../node_modules/.pnpm/lit-html@3.3.1/node_modules/lit
13
12
  import "../../node_modules/.pnpm/lit@3.3.1/node_modules/lit/directives/class-map.js";
14
13
  import { o as l } from "../../node_modules/.pnpm/lit-html@3.3.1/node_modules/lit-html/directives/if-defined.js";
15
14
  import "../../node_modules/.pnpm/lit@3.3.1/node_modules/lit/directives/if-defined.js";
16
- import { r as u } from "../../node_modules/.pnpm/lit-html@3.3.1/node_modules/lit-html/directives/choose.js";
17
- import { commonStyles as d } from "./styles/common.styles.js";
15
+ import { ViewportMixin as u } from "../../mixins/ViewportMixin.js";
16
+ import { objectConverter as d } from "../../utils/objectConverter.js";
17
+ import { r as f } from "../../node_modules/.pnpm/lit-html@3.3.1/node_modules/lit-html/directives/choose.js";
18
+ import { commonStyles as p } from "./styles/common.styles.js";
18
19
  //#region src/components/ds-link-button/ds-link-button.ts
19
- var f, p = (f = class extends i {
20
+ var m, h = (m = class extends u(i) {
20
21
  constructor(...e) {
21
22
  super(...e), this.mode = "light", this.size = "large", this.underline = !1, this.disabled = !1, this.iconName = "arrow-right", this.iconPosition = "right";
22
23
  }
@@ -24,11 +25,12 @@ var f, p = (f = class extends i {
24
25
  return this.iconName === "none" ? e : s`<ds-icon class="icon" icon-name=${l(this.iconName)}></ds-icon>`;
25
26
  }
26
27
  get classes() {
28
+ let e = typeof this.size == "string" ? this.size : this.size[this.viewport];
27
29
  return {
28
30
  "link-button": !0,
29
31
  disabled: !!this.disabled,
30
32
  underline: !!this.underline,
31
- [this.size]: !0,
33
+ [e]: !!e,
32
34
  [this.mode]: !!this.mode,
33
35
  "icon-left": this.iconPosition === "left"
34
36
  };
@@ -39,7 +41,7 @@ var f, p = (f = class extends i {
39
41
  get styleTokens() {
40
42
  return t`
41
43
  <style>
42
- :host{
44
+ :host {
43
45
  color-scheme: ${this.mode};
44
46
  pointer-events: ${this.disabled ? "none" : "visible"};
45
47
  }
@@ -49,7 +51,7 @@ var f, p = (f = class extends i {
49
51
  render() {
50
52
  return t`
51
53
  ${this.styleTokens}
52
- ${u(this.htmlTagName || "button", [["button", () => t`
54
+ ${f(this.htmlTagName || "button", [["button", () => t`
53
55
  <button class=${c(this.classes)} ?disabled=${this.disabled}>
54
56
  <span class="label"><slot></slot></span>
55
57
  ${this.iconTemplate}
@@ -69,33 +71,36 @@ var f, p = (f = class extends i {
69
71
  `]])}
70
72
  `;
71
73
  }
72
- }, f.styles = [d], f);
74
+ }, m.styles = [p], m);
73
75
  r([n({
74
76
  type: String,
75
77
  reflect: !0
76
- })], p.prototype, "mode", void 0), r([n({ type: String })], p.prototype, "size", void 0), r([n({
78
+ })], h.prototype, "mode", void 0), r([n({
79
+ type: String,
80
+ converter: d
81
+ })], h.prototype, "size", void 0), r([n({
77
82
  type: Boolean,
78
83
  converter: o
79
- })], p.prototype, "underline", void 0), r([n({
84
+ })], h.prototype, "underline", void 0), r([n({
80
85
  type: Boolean,
81
86
  converter: o
82
- })], p.prototype, "disabled", void 0), r([n({
87
+ })], h.prototype, "disabled", void 0), r([n({
83
88
  type: String,
84
89
  attribute: "html-tag-name"
85
- })], p.prototype, "htmlTagName", void 0), r([n({
90
+ })], h.prototype, "htmlTagName", void 0), r([n({
86
91
  type: String,
87
92
  reflect: !0
88
- })], p.prototype, "href", void 0), r([n({
93
+ })], h.prototype, "href", void 0), r([n({
89
94
  type: String,
90
95
  reflect: !0
91
- })], p.prototype, "rel", void 0), r([n({
96
+ })], h.prototype, "rel", void 0), r([n({
92
97
  type: String,
93
98
  reflect: !0
94
- })], p.prototype, "target", void 0), r([n({
99
+ })], h.prototype, "target", void 0), r([n({
95
100
  type: String,
96
101
  attribute: "icon-name"
97
- })], p.prototype, "iconName", void 0), r([n({
102
+ })], h.prototype, "iconName", void 0), r([n({
98
103
  type: String,
99
104
  attribute: "icon-position"
100
- })], p.prototype, "iconPosition", void 0), p = r([a("ds-link-button")], p);
105
+ })], h.prototype, "iconPosition", void 0), h = r([a("ds-link-button")], h);
101
106
  //#endregion
@@ -53,7 +53,7 @@ var f = class extends a {
53
53
  }
54
54
  }
55
55
  loadThemeStyles() {
56
- let e = "/2.0.0-canary.194";
56
+ let e = "/2.0.0-canary.196";
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.194");
13
+ (e = n.prototype.connectedCallback) == null || e.call(this), this.setAttribute("data-ui-kit-version", "2.0.0-canary.196");
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.194"), i = globalThis, a = i[r];
29
+ }, r = Symbol.for("@cupra/ui-kit/icons-manager/2.0.0-canary.196"), 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.194"), n = globalThis, r = n[t];
21
+ }, t = Symbol.for("@cupra/ui-kit/pubsub/2.0.0-canary.196"), 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.194/styles/${n}/components/${e}.css`, i = this.getCachedStyleSheetPromise({ url: r });
7
+ let r = `https://ds-assets.cupra.com/2.0.0-canary.196/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.194", t = `--v${e.replaceAll(".", "-")}`;
2
+ var e = "2.0.0-canary.196", t = `--v${e.replaceAll(".", "-")}`;
3
3
  //#endregion
4
4
  export { e as VERSION, t as VERSION_TAG_SUFFIX };
@@ -1,6 +1,6 @@
1
1
  import type { CommonAttrs } from '../../types/types';
2
2
  export interface DsBadgeAttrs extends CommonAttrs {
3
3
  number?: number;
4
- variant?: 'base' | 'inverted';
4
+ variant?: 'base' | 'inverted' | 'alert' | 'warning' | 'default';
5
5
  size?: 'large' | 'medium';
6
6
  }
@@ -2,7 +2,8 @@ import { UiKitElement } from '../base/UiKitElement.ts';
2
2
  import '../ds-icon/ds-icon.ts';
3
3
  import { nothing } from 'lit';
4
4
  import type { DsLinkButtonAttrs } from './ds-link-button.types';
5
- export declare class DsLinkButton extends UiKitElement {
5
+ declare const DsLinkButton_base: (new (...args: any[]) => import("../../mixins/ViewportMixin.ts").ViewportInterface) & typeof UiKitElement;
6
+ export declare class DsLinkButton extends DsLinkButton_base {
6
7
  static styles: import("lit").CSSResult[];
7
8
  mode: DsLinkButtonAttrs['mode'];
8
9
  size: DsLinkButtonAttrs['size'];
@@ -26,3 +27,4 @@ export declare class DsLinkButton extends UiKitElement {
26
27
  protected get styleTokens(): import("lit").TemplateResult<1>;
27
28
  render(): import("lit").TemplateResult<1>;
28
29
  }
30
+ export {};
@@ -1,5 +1,9 @@
1
1
  import type { DsIconAttrs } from '../ds-icon/ds-icon.types.ts';
2
+ import { type Viewports } from '../../utils/breakpoints.ts';
2
3
  import type { CommonAttrs } from '../../types/types';
4
+ type PresetSize = 'medium' | 'large';
5
+ type Size = PresetSize | string;
6
+ type ResponsiveSize = Partial<Record<Viewports, Size>>;
3
7
  type Link = {
4
8
  'html-tag-name'?: 'a';
5
9
  href?: string;
@@ -15,7 +19,7 @@ type Button = {
15
19
  type Element = Link | Button;
16
20
  export type DsLinkButtonAttrs = {
17
21
  mode?: 'dark' | 'light';
18
- size?: 'large' | 'medium';
22
+ size?: Size | ResponsiveSize;
19
23
  underline?: boolean;
20
24
  disabled?: boolean;
21
25
  'icon-name'?: DsIconAttrs['icon-name'] | 'none';
@@ -1,10 +1,11 @@
1
1
  import { UiKitElement } from '../base/UiKitElement.ts';
2
+ import { DsListItemAttrs } from './ds-list-item.types.ts';
2
3
  export declare class DsListItem extends UiKitElement {
3
4
  static styles: import("lit").CSSResult[];
4
- variant: 'selection' | 'action' | 'info';
5
- selected: boolean;
6
- disabled: boolean;
7
- size: 'medium' | 'large';
5
+ variant: DsListItemAttrs['variant'];
6
+ selected: DsListItemAttrs['selected'];
7
+ disabled: DsListItemAttrs['disabled'];
8
+ size: DsListItemAttrs['size'];
8
9
  protected get classes(): {
9
10
  [x: string]: boolean;
10
11
  content: boolean;
@@ -3,5 +3,5 @@ export interface DsListItemAttrs extends CommonAttrs {
3
3
  variant?: 'selection' | 'action' | 'info';
4
4
  selected?: boolean;
5
5
  disabled?: boolean;
6
- size?: 'large' | 'medium';
6
+ size?: 'large' | 'medium' | 'small';
7
7
  }
@@ -8,23 +8,28 @@ const e=require("../../../node_modules/.pnpm/@lit_reactive-element@2.1.1/node_mo
8
8
  }
9
9
 
10
10
  .number {
11
- display: flex;
11
+ display: inline-flex;
12
12
  align-items: center;
13
13
  justify-content: center;
14
+ text-align: center;
14
15
  font-family: var(--ds-typography-family-primary);
15
- font-weight: 400;
16
+ font-weight: var(--ds-typography-weight-body-primary, 400);
17
+ letter-spacing: var(--ds-typography-letter-spacing-base);
16
18
  }
17
19
 
18
20
  .number.size-large {
19
- width: var(--ds-sizing-24);
20
21
  height: var(--ds-sizing-24);
22
+ min-width: var(--ds-sizing-24);
23
+ min-height: var(--ds-sizing-24);
24
+ padding: var(--ds-spacing-s-3);
21
25
  font-size: var(--ds-typography-size-body-s);
22
26
  line-height: var(--ds-typography-height-body-s);
23
27
  }
24
28
 
25
29
  .number.size-medium {
26
- width: var(--ds-sizing-16);
27
- height: var(--ds-sizing-16);
30
+ min-width: var(--ds-sizing-16);
31
+ min-height: var(--ds-sizing-16);
32
+ padding: var(--ds-spacing-s-1);
28
33
  font-size: var(--ds-typography-size-body-xs);
29
34
  line-height: var(--ds-typography-height-body-xs);
30
35
  }
@@ -39,9 +44,23 @@ const e=require("../../../node_modules/.pnpm/@lit_reactive-element@2.1.1/node_mo
39
44
  color: var(--ds-color-text-default-inverted);
40
45
  }
41
46
 
47
+ .variant-alert {
48
+ background-color: var(--ds-badge-bg-color-alert);
49
+ color: var(--ds-badge-text-color-alert);
50
+ }
51
+
52
+ .variant-warning {
53
+ background-color: var(--ds-badge-bg-color-warning);
54
+ color: var(--ds-badge-text-color-warning);
55
+ }
56
+
57
+ .variant-default {
58
+ background-color: var(--ds-badge-bg-color-default);
59
+ color: var(--ds-badge-text-color-default);
60
+ }
61
+
42
62
  .dot {
43
63
  width: var(--ds-sizing-08);
44
64
  height: var(--ds-sizing-08);
45
- background-color: var(--ds-color-surface-feedback-error);
46
65
  }
47
66
  `;exports.commonStyles=t;
@@ -1,13 +1,13 @@
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`
1
+ 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("../../mixins/ViewportMixin.cjs"),u=require("../../utils/objectConverter.cjs"),d=require("../../node_modules/.pnpm/lit-html@3.3.1/node_modules/lit-html/directives/choose.cjs"),f=require("./styles/common.styles.cjs");var p,m=(p=class extends l.ViewportMixin(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(){let e=typeof this.size==`string`?this.size:this.size[this.viewport];return{"link-button":!0,disabled:!!this.disabled,underline:!!this.underline,[e]:!!e,[this.mode]:!!this.mode,"icon-left":this.iconPosition===`left`}}handleClick(e){this.href||e.preventDefault()}get styleTokens(){return e.x`
2
2
  <style>
3
- :host{
3
+ :host {
4
4
  color-scheme: ${this.mode};
5
5
  pointer-events: ${this.disabled?`none`:`visible`};
6
6
  }
7
7
  </style>
8
8
  `}render(){return e.x`
9
9
  ${this.styleTokens}
10
- ${l.r(this.htmlTagName||`button`,[[`button`,()=>e.x`
10
+ ${d.r(this.htmlTagName||`button`,[[`button`,()=>e.x`
11
11
  <button class=${s.e(this.classes)} ?disabled=${this.disabled}>
12
12
  <span class="label"><slot></slot></span>
13
13
  ${this.iconTemplate}
@@ -25,4 +25,4 @@ require("../ds-theme-provider/themeContext.cjs");const e=require("../../node_mod
25
25
  ${this.iconTemplate}
26
26
  </a>
27
27
  `]])}
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);
28
+ `}},p.styles=[f.commonStyles],p);n.__decorate([t.n({type:String,reflect:!0})],m.prototype,`mode`,void 0),n.__decorate([t.n({type:String,converter:u.objectConverter})],m.prototype,`size`,void 0),n.__decorate([t.n({type:Boolean,converter:a.booleanConverter})],m.prototype,`underline`,void 0),n.__decorate([t.n({type:Boolean,converter:a.booleanConverter})],m.prototype,`disabled`,void 0),n.__decorate([t.n({type:String,attribute:`html-tag-name`})],m.prototype,`htmlTagName`,void 0),n.__decorate([t.n({type:String,reflect:!0})],m.prototype,`href`,void 0),n.__decorate([t.n({type:String,reflect:!0})],m.prototype,`rel`,void 0),n.__decorate([t.n({type:String,reflect:!0})],m.prototype,`target`,void 0),n.__decorate([t.n({type:String,attribute:`icon-name`})],m.prototype,`iconName`,void 0),n.__decorate([t.n({type:String,attribute:`icon-position`})],m.prototype,`iconPosition`,void 0),m=n.__decorate([i.customUiKitElement(`ds-link-button`)],m);
@@ -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.194`;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.196`;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.194`)}},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.196`)}},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.194`),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.196`),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.194`),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.196`),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.194/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.196/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.194`,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.196`,t=`--v${e.replaceAll(`.`,`-`)}`;exports.VERSION=e,exports.VERSION_TAG_SUFFIX=t;
@@ -11,23 +11,28 @@ var t = e`
11
11
  }
12
12
 
13
13
  .number {
14
- display: flex;
14
+ display: inline-flex;
15
15
  align-items: center;
16
16
  justify-content: center;
17
+ text-align: center;
17
18
  font-family: var(--ds-typography-family-primary);
18
- font-weight: 400;
19
+ font-weight: var(--ds-typography-weight-body-primary, 400);
20
+ letter-spacing: var(--ds-typography-letter-spacing-base);
19
21
  }
20
22
 
21
23
  .number.size-large {
22
- width: var(--ds-sizing-24);
23
24
  height: var(--ds-sizing-24);
25
+ min-width: var(--ds-sizing-24);
26
+ min-height: var(--ds-sizing-24);
27
+ padding: var(--ds-spacing-s-3);
24
28
  font-size: var(--ds-typography-size-body-s);
25
29
  line-height: var(--ds-typography-height-body-s);
26
30
  }
27
31
 
28
32
  .number.size-medium {
29
- width: var(--ds-sizing-16);
30
- height: var(--ds-sizing-16);
33
+ min-width: var(--ds-sizing-16);
34
+ min-height: var(--ds-sizing-16);
35
+ padding: var(--ds-spacing-s-1);
31
36
  font-size: var(--ds-typography-size-body-xs);
32
37
  line-height: var(--ds-typography-height-body-xs);
33
38
  }
@@ -42,10 +47,24 @@ var t = e`
42
47
  color: var(--ds-color-text-default-inverted);
43
48
  }
44
49
 
50
+ .variant-alert {
51
+ background-color: var(--ds-badge-bg-color-alert);
52
+ color: var(--ds-badge-text-color-alert);
53
+ }
54
+
55
+ .variant-warning {
56
+ background-color: var(--ds-badge-bg-color-warning);
57
+ color: var(--ds-badge-text-color-warning);
58
+ }
59
+
60
+ .variant-default {
61
+ background-color: var(--ds-badge-bg-color-default);
62
+ color: var(--ds-badge-text-color-default);
63
+ }
64
+
45
65
  .dot {
46
66
  width: var(--ds-sizing-08);
47
67
  height: var(--ds-sizing-08);
48
- background-color: var(--ds-color-surface-feedback-error);
49
68
  }
50
69
  `;
51
70
  //#endregion
@@ -1,4 +1,3 @@
1
- import "../ds-theme-provider/themeContext.js";
2
1
  import { E as e, x as t } from "../../node_modules/.pnpm/lit-html@3.3.1/node_modules/lit-html/lit-html.js";
3
2
  import "../../node_modules/.pnpm/lit@3.3.1/node_modules/lit/index.js";
4
3
  import { n } from "../../node_modules/.pnpm/@lit_reactive-element@2.1.1/node_modules/@lit/reactive-element/decorators/property.js";
@@ -13,10 +12,12 @@ import { e as c } from "../../node_modules/.pnpm/lit-html@3.3.1/node_modules/lit
13
12
  import "../../node_modules/.pnpm/lit@3.3.1/node_modules/lit/directives/class-map.js";
14
13
  import { o as l } from "../../node_modules/.pnpm/lit-html@3.3.1/node_modules/lit-html/directives/if-defined.js";
15
14
  import "../../node_modules/.pnpm/lit@3.3.1/node_modules/lit/directives/if-defined.js";
16
- import { r as u } from "../../node_modules/.pnpm/lit-html@3.3.1/node_modules/lit-html/directives/choose.js";
17
- import { commonStyles as d } from "./styles/common.styles.js";
15
+ import { ViewportMixin as u } from "../../mixins/ViewportMixin.js";
16
+ import { objectConverter as d } from "../../utils/objectConverter.js";
17
+ import { r as f } from "../../node_modules/.pnpm/lit-html@3.3.1/node_modules/lit-html/directives/choose.js";
18
+ import { commonStyles as p } from "./styles/common.styles.js";
18
19
  //#region src/components/ds-link-button/ds-link-button.ts
19
- var f, p = (f = class extends i {
20
+ var m, h = (m = class extends u(i) {
20
21
  constructor(...e) {
21
22
  super(...e), this.mode = "light", this.size = "large", this.underline = !1, this.disabled = !1, this.iconName = "arrow-right", this.iconPosition = "right";
22
23
  }
@@ -24,11 +25,12 @@ var f, p = (f = class extends i {
24
25
  return this.iconName === "none" ? e : s`<ds-icon class="icon" icon-name=${l(this.iconName)}></ds-icon>`;
25
26
  }
26
27
  get classes() {
28
+ let e = typeof this.size == "string" ? this.size : this.size[this.viewport];
27
29
  return {
28
30
  "link-button": !0,
29
31
  disabled: !!this.disabled,
30
32
  underline: !!this.underline,
31
- [this.size]: !0,
33
+ [e]: !!e,
32
34
  [this.mode]: !!this.mode,
33
35
  "icon-left": this.iconPosition === "left"
34
36
  };
@@ -39,7 +41,7 @@ var f, p = (f = class extends i {
39
41
  get styleTokens() {
40
42
  return t`
41
43
  <style>
42
- :host{
44
+ :host {
43
45
  color-scheme: ${this.mode};
44
46
  pointer-events: ${this.disabled ? "none" : "visible"};
45
47
  }
@@ -49,7 +51,7 @@ var f, p = (f = class extends i {
49
51
  render() {
50
52
  return t`
51
53
  ${this.styleTokens}
52
- ${u(this.htmlTagName || "button", [["button", () => t`
54
+ ${f(this.htmlTagName || "button", [["button", () => t`
53
55
  <button class=${c(this.classes)} ?disabled=${this.disabled}>
54
56
  <span class="label"><slot></slot></span>
55
57
  ${this.iconTemplate}
@@ -69,33 +71,36 @@ var f, p = (f = class extends i {
69
71
  `]])}
70
72
  `;
71
73
  }
72
- }, f.styles = [d], f);
74
+ }, m.styles = [p], m);
73
75
  r([n({
74
76
  type: String,
75
77
  reflect: !0
76
- })], p.prototype, "mode", void 0), r([n({ type: String })], p.prototype, "size", void 0), r([n({
78
+ })], h.prototype, "mode", void 0), r([n({
79
+ type: String,
80
+ converter: d
81
+ })], h.prototype, "size", void 0), r([n({
77
82
  type: Boolean,
78
83
  converter: o
79
- })], p.prototype, "underline", void 0), r([n({
84
+ })], h.prototype, "underline", void 0), r([n({
80
85
  type: Boolean,
81
86
  converter: o
82
- })], p.prototype, "disabled", void 0), r([n({
87
+ })], h.prototype, "disabled", void 0), r([n({
83
88
  type: String,
84
89
  attribute: "html-tag-name"
85
- })], p.prototype, "htmlTagName", void 0), r([n({
90
+ })], h.prototype, "htmlTagName", void 0), r([n({
86
91
  type: String,
87
92
  reflect: !0
88
- })], p.prototype, "href", void 0), r([n({
93
+ })], h.prototype, "href", void 0), r([n({
89
94
  type: String,
90
95
  reflect: !0
91
- })], p.prototype, "rel", void 0), r([n({
96
+ })], h.prototype, "rel", void 0), r([n({
92
97
  type: String,
93
98
  reflect: !0
94
- })], p.prototype, "target", void 0), r([n({
99
+ })], h.prototype, "target", void 0), r([n({
95
100
  type: String,
96
101
  attribute: "icon-name"
97
- })], p.prototype, "iconName", void 0), r([n({
102
+ })], h.prototype, "iconName", void 0), r([n({
98
103
  type: String,
99
104
  attribute: "icon-position"
100
- })], p.prototype, "iconPosition", void 0), p = r([a("ds-link-button")], p);
105
+ })], h.prototype, "iconPosition", void 0), h = r([a("ds-link-button")], h);
101
106
  //#endregion
@@ -53,7 +53,7 @@ var f = class extends a {
53
53
  }
54
54
  }
55
55
  loadThemeStyles() {
56
- let e = "/2.0.0-canary.194";
56
+ let e = "/2.0.0-canary.196";
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.194");
13
+ (e = r.prototype.connectedCallback) == null || e.call(this), this.setAttribute("data-ui-kit-version", "2.0.0-canary.196");
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.194"), i = globalThis, a = i[r];
29
+ }, r = Symbol.for("@cupra/ui-kit/icons-manager/2.0.0-canary.196"), 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.194"), n = globalThis, r = n[t];
21
+ }, t = Symbol.for("@cupra/ui-kit/pubsub/2.0.0-canary.196"), 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.194/styles/${n}/components/${e}.css`, i = this.getCachedStyleSheetPromise({ url: r });
7
+ let r = `https://ds-assets.cupra.com/2.0.0-canary.196/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.194", t = `--v${e.replaceAll(".", "-")}`;
2
+ var e = "2.0.0-canary.196", t = `--v${e.replaceAll(".", "-")}`;
3
3
  //#endregion
4
4
  export { e as VERSION, t as VERSION_TAG_SUFFIX };
@@ -1,6 +1,6 @@
1
1
  import type { CommonAttrs } from '../../types/types';
2
2
  export interface DsBadgeAttrs extends CommonAttrs {
3
3
  number?: number;
4
- variant?: 'base' | 'inverted';
4
+ variant?: 'base' | 'inverted' | 'alert' | 'warning' | 'default';
5
5
  size?: 'large' | 'medium';
6
6
  }
@@ -2,7 +2,8 @@ import { UiKitElement } from '../base/UiKitElement.ts';
2
2
  import '../ds-icon/ds-icon.ts';
3
3
  import { nothing } from 'lit';
4
4
  import type { DsLinkButtonAttrs } from './ds-link-button.types';
5
- export declare class DsLinkButton extends UiKitElement {
5
+ declare const DsLinkButton_base: (new (...args: any[]) => import("../../mixins/ViewportMixin.ts").ViewportInterface) & typeof UiKitElement;
6
+ export declare class DsLinkButton extends DsLinkButton_base {
6
7
  static styles: import("lit").CSSResult[];
7
8
  mode: DsLinkButtonAttrs['mode'];
8
9
  size: DsLinkButtonAttrs['size'];
@@ -26,3 +27,4 @@ export declare class DsLinkButton extends UiKitElement {
26
27
  protected get styleTokens(): import("lit").TemplateResult<1>;
27
28
  render(): import("lit").TemplateResult<1>;
28
29
  }
30
+ export {};
@@ -1,5 +1,9 @@
1
1
  import type { DsIconAttrs } from '../ds-icon/ds-icon.types.ts';
2
+ import { type Viewports } from '../../utils/breakpoints.ts';
2
3
  import type { CommonAttrs } from '../../types/types';
4
+ type PresetSize = 'medium' | 'large';
5
+ type Size = PresetSize | string;
6
+ type ResponsiveSize = Partial<Record<Viewports, Size>>;
3
7
  type Link = {
4
8
  'html-tag-name'?: 'a';
5
9
  href?: string;
@@ -15,7 +19,7 @@ type Button = {
15
19
  type Element = Link | Button;
16
20
  export type DsLinkButtonAttrs = {
17
21
  mode?: 'dark' | 'light';
18
- size?: 'large' | 'medium';
22
+ size?: Size | ResponsiveSize;
19
23
  underline?: boolean;
20
24
  disabled?: boolean;
21
25
  'icon-name'?: DsIconAttrs['icon-name'] | 'none';
@@ -1,10 +1,11 @@
1
1
  import { UiKitElement } from '../base/UiKitElement.ts';
2
+ import { DsListItemAttrs } from './ds-list-item.types.ts';
2
3
  export declare class DsListItem extends UiKitElement {
3
4
  static styles: import("lit").CSSResult[];
4
- variant: 'selection' | 'action' | 'info';
5
- selected: boolean;
6
- disabled: boolean;
7
- size: 'medium' | 'large';
5
+ variant: DsListItemAttrs['variant'];
6
+ selected: DsListItemAttrs['selected'];
7
+ disabled: DsListItemAttrs['disabled'];
8
+ size: DsListItemAttrs['size'];
8
9
  protected get classes(): {
9
10
  [x: string]: boolean;
10
11
  content: boolean;
@@ -3,5 +3,5 @@ export interface DsListItemAttrs extends CommonAttrs {
3
3
  variant?: 'selection' | 'action' | 'info';
4
4
  selected?: boolean;
5
5
  disabled?: boolean;
6
- size?: 'large' | 'medium';
6
+ size?: 'large' | 'medium' | 'small';
7
7
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cupra/ui-kit",
3
- "version": "2.0.0-canary.194",
3
+ "version": "2.0.0-canary.196",
4
4
  "description": "Web components library",
5
5
  "author": "SEAT S.A.",
6
6
  "license": "SEAT S.A. Library EULA 1.0",