@cupra/ui-kit 2.0.0-canary.69 → 2.0.0-canary.70

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 (33) hide show
  1. package/dist/cjs/components/ds-stepper/ds-stepper.cjs +18 -5
  2. package/dist/cjs/components/ds-theme-provider/ds-theme-provider.cjs +1 -1
  3. package/dist/cjs/utils/IconsManager.cjs +1 -1
  4. package/dist/cjs/utils/PubSub.cjs +1 -1
  5. package/dist/cjs/utils/StylesRegistry/StylesRegistry.cjs +1 -1
  6. package/dist/cjs/utils/cssWithTokens.cjs +1 -1
  7. package/dist/cjs/utils/htmlWithTokens.cjs +1 -1
  8. package/dist/esm/components/ds-stepper/ds-stepper.js +54 -28
  9. package/dist/esm/components/ds-theme-provider/ds-theme-provider.js +1 -1
  10. package/dist/esm/utils/IconsManager.js +1 -1
  11. package/dist/esm/utils/PubSub.js +1 -1
  12. package/dist/esm/utils/StylesRegistry/StylesRegistry.js +1 -1
  13. package/dist/esm/utils/cssWithTokens.js +1 -1
  14. package/dist/esm/utils/htmlWithTokens.js +1 -1
  15. package/dist/types/components/ds-stepper/ds-stepper.d.ts +5 -0
  16. package/dist/types/components/ds-stepper/ds-stepper.types.d.ts +1 -0
  17. package/dist-react/cjs/components/ds-stepper/ds-stepper.cjs +18 -5
  18. package/dist-react/cjs/components/ds-theme-provider/ds-theme-provider.cjs +1 -1
  19. package/dist-react/cjs/utils/IconsManager.cjs +1 -1
  20. package/dist-react/cjs/utils/PubSub.cjs +1 -1
  21. package/dist-react/cjs/utils/StylesRegistry/StylesRegistry.cjs +1 -1
  22. package/dist-react/cjs/utils/cssWithTokens.cjs +1 -1
  23. package/dist-react/cjs/utils/htmlWithTokens.cjs +1 -1
  24. package/dist-react/esm/components/ds-stepper/ds-stepper.js +54 -28
  25. package/dist-react/esm/components/ds-theme-provider/ds-theme-provider.js +1 -1
  26. package/dist-react/esm/utils/IconsManager.js +1 -1
  27. package/dist-react/esm/utils/PubSub.js +1 -1
  28. package/dist-react/esm/utils/StylesRegistry/StylesRegistry.js +1 -1
  29. package/dist-react/esm/utils/cssWithTokens.js +1 -1
  30. package/dist-react/esm/utils/htmlWithTokens.js +1 -1
  31. package/dist-react/types/components/ds-stepper/ds-stepper.d.ts +5 -0
  32. package/dist-react/types/components/ds-stepper/ds-stepper.types.d.ts +1 -0
  33. package/package.json +1 -1
@@ -1,10 +1,23 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("../base/UiKitElement.cjs"),m=require("../../decorators/customUiKitElement.cjs");require("../../node_modules/.pnpm/@lit_reactive-element@2.1.1/node_modules/@lit/reactive-element/reactive-element.cjs");const c=require("../../node_modules/.pnpm/lit-html@3.3.1/node_modules/lit-html/lit-html.cjs");require("../../node_modules/.pnpm/lit-element@4.2.1/node_modules/lit-element/lit-element.cjs");const u=require("../../node_modules/.pnpm/@lit_reactive-element@2.1.1/node_modules/@lit/reactive-element/decorators/property.cjs"),o=require("../../node_modules/.pnpm/lit-html@3.3.1/node_modules/lit-html/directives/class-map.cjs"),h=require("./styles/common.styles.cjs");var S=Object.defineProperty,y=Object.getOwnPropertyDescriptor,a=(n,s,i,t)=>{for(var e=t>1?void 0:t?y(s,i):s,r=n.length-1,p;r>=0;r--)(p=n[r])&&(e=(t?p(s,i,e):p(e))||e);return t&&e&&S(s,i,e),e};exports.DsStepper=class extends l.UiKitElement{constructor(){super(...arguments),this.steps=0,this.currentStep=-1}get classes(){return{container:!0}}render(){if(!this.steps)return c.nothing;const s=Math.max(-1,Math.min(this.currentStep,this.steps));return c.html`
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("../base/UiKitElement.cjs"),m=require("../../decorators/customUiKitElement.cjs");require("../../node_modules/.pnpm/@lit_reactive-element@2.1.1/node_modules/@lit/reactive-element/reactive-element.cjs");const i=require("../../node_modules/.pnpm/lit-html@3.3.1/node_modules/lit-html/lit-html.cjs");require("../../node_modules/.pnpm/lit-element@4.2.1/node_modules/lit-element/lit-element.cjs");const o=require("../../node_modules/.pnpm/@lit_reactive-element@2.1.1/node_modules/@lit/reactive-element/decorators/property.cjs"),l=require("../../node_modules/.pnpm/lit-html@3.3.1/node_modules/lit-html/directives/class-map.cjs"),d=require("./styles/common.styles.cjs");var h=Object.defineProperty,S=Object.getOwnPropertyDescriptor,a=(n,s,t,r)=>{for(var e=r>1?void 0:r?S(s,t):s,p=n.length-1,c;p>=0;p--)(c=n[p])&&(e=(r?c(s,t,e):c(e))||e);return r&&e&&h(s,t,e),e};exports.DsStepper=class extends u.UiKitElement{constructor(){super(...arguments),this.steps=0,this.currentStep=-1,this.sectionName=""}get classes(){return{container:!0}}get clampedCurrentStep(){return Math.max(-1,Math.min(this.currentStep,this.steps))}get sectionNumberText(){return`${Math.min(this.clampedCurrentStep+1,this.steps)}/${this.steps}`}get headerTemplate(){return i.html`
2
+ <div class="header" data-testid="ds-stepper-header">
3
+ <span class="section-name" data-testid="ds-stepper-section-name">${this.sectionName}</span>
4
+ <span class="section-number" data-testid="ds-stepper-section-number">${this.sectionNumberText}</span>
5
+ </div>
6
+ `}get stepsRowTemplate(){return i.html`
2
7
  <div
3
- data-testid="ds-stepper-container"
4
- class=${o.classMap(this.classes)}
8
+ data-testid="ds-stepper-steps-row"
9
+ class="steps-row"
5
10
  role="list"
6
11
  aria-label="Steps"
7
12
  >
8
- ${Array.from({length:this.steps},(i,t)=>{const e=t<=s,r=t===s,p={step:!0,active:e,current:r};return c.html`<span class=${o.classMap(p)} role="listitem" aria-posinset=${t+1} aria-setsize=${this.steps} aria-current=${r?"step":"false"}></span>`})}
13
+ ${Array.from({length:this.steps},(s,t)=>{const r=t<=this.clampedCurrentStep,e=t===this.clampedCurrentStep,p={step:!0,active:r,current:e};return i.html`<span class=${l.classMap(p)} role="listitem" aria-posinset=${t+1} aria-setsize=${this.steps} aria-current=${e?"step":"false"}></span>`})}
14
+ </div>
15
+ `}render(){return this.steps?i.html`
16
+ <div
17
+ data-testid="ds-stepper-container"
18
+ class=${l.classMap(this.classes)}
19
+ >
20
+ ${this.headerTemplate}
21
+ ${this.stepsRowTemplate}
9
22
  </div>
10
- `}};exports.DsStepper.styles=[h.commonStyles];a([u.property({type:Number,attribute:"steps",reflect:!0})],exports.DsStepper.prototype,"steps",2);a([u.property({type:Number,attribute:"current-step",reflect:!0})],exports.DsStepper.prototype,"currentStep",2);exports.DsStepper=a([m.customUiKitElement("ds-stepper")],exports.DsStepper);
23
+ `:i.nothing}};exports.DsStepper.styles=[d.commonStyles];a([o.property({type:Number,attribute:"steps",reflect:!0})],exports.DsStepper.prototype,"steps",2);a([o.property({type:Number,attribute:"current-step",reflect:!0})],exports.DsStepper.prototype,"currentStep",2);a([o.property({type:String,attribute:"section-name",reflect:!0})],exports.DsStepper.prototype,"sectionName",2);exports.DsStepper=a([m.customUiKitElement("ds-stepper")],exports.DsStepper);
@@ -1,4 +1,4 @@
1
1
  "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("../../core/theme.constants.cjs"),p=require("../../decorators/customUiKitElement.cjs"),f=require("../../node_modules/.pnpm/@lit_context@1.1.6/node_modules/@lit/context/lib/decorators/provide.cjs"),y=require("../../utils/PubSub.cjs"),m=require("../../utils/booleanConverter.cjs");require("../../node_modules/.pnpm/@lit_reactive-element@2.1.1/node_modules/@lit/reactive-element/reactive-element.cjs");const l=require("../../node_modules/.pnpm/lit-html@3.3.1/node_modules/lit-html/lit-html.cjs"),v=require("../../node_modules/.pnpm/lit-element@4.2.1/node_modules/lit-element/lit-element.cjs"),h=require("../../node_modules/.pnpm/@lit_reactive-element@2.1.1/node_modules/@lit/reactive-element/decorators/property.cjs"),u=require("../../node_modules/.pnpm/@lit_reactive-element@2.1.1/node_modules/@lit/reactive-element/decorators/state.cjs"),$=require("../../styles/source/shared/fonts-config.cjs"),T=require("./themeContext.cjs");var b=Object.defineProperty,P=Object.getOwnPropertyDescriptor,d=(a,e,s,o)=>{for(var t=o>1?void 0:o?P(e,s):e,r=a.length-1,n;r>=0;r--)(n=a[r])&&(t=(o?n(e,s,t):n(t))||t);return o&&t&&b(e,s,t),t};exports.DsThemeProvider=class extends v.LitElement{constructor(){super(...arguments),this.loadFonts=!0,this.loadStyles=!0,this.cssLoaded=!1,this.loadedFonts=new Set}updated(e){super.updated(e),e.has("theme")&&(y.pubSub.publish("theme",this.theme),sessionStorage==null||sessionStorage.setItem(c.THEME_STORAGE_KEY,this.theme),typeof FontFace<"u"&&(document!=null&&document.fonts)&&this.loadThemeFonts(),this.loadThemeStyles().then(()=>{this.cssLoaded=!0,this.dispatchEvent(new CustomEvent("ui-kit:ready",{bubbles:!0,composed:!0}))}))}loadThemeFonts(){var e;(e=$.fontsConfig[this.theme])==null||e.fonts.forEach(s=>{this.loadThemeFont(s)})}async loadThemeFont({weight:e,name:s,file:o}){if(!this.loadFonts)return Promise.resolve();const t=`${s}-${e}`;if(this.loadedFonts.has(t))return;const r=new FontFace(s,`url('https://ds-assets.cupra.com/fonts/${this.theme}/${o}.woff2') format('woff2'),
2
2
  url('https://ds-assets.cupra.com/fonts/${this.theme}/${o}.woff') format('woff'),
3
3
  url('https://ds-assets.cupra.com/fonts/${this.theme}/${o}.ttf') format('truetype'),
4
- url('https://ds-assets.cupra.com/fonts/${this.theme}/${o}.otf') format('opentype')`,{style:"normal",weight:e,display:"swap"});try{await r.load(),document.fonts.add(r),this.loadedFonts.add(t)}catch(n){console.error(`Error loading "${s}" font with "${e}" weight:`,n)}}loadThemeStyles(){return this.loadStyles?new Promise((e,s)=>{const o="/2.0.0-canary.69",t=`https://ds-assets.cupra.com${o}/styles/${this.theme}/theme.css`;if(document.head.querySelector(`link[href="${t}"]`))e();else{const r=`ui-kit-theme-${o}`,n=document.getElementById(r),i=document.createElement("link");i.id=r,i.rel="stylesheet",i.href=t,i.onload=()=>e(),i.onerror=()=>s(new Error(`Failed to load theme CSS: ${t}`)),document.head.appendChild(i),n==null||n.remove()}}):Promise.resolve()}render(){return this.cssLoaded?l.html`<slot></slot>`:l.nothing}};d([h.property({type:Boolean,converter:m.booleanConverter,attribute:"load-fonts"})],exports.DsThemeProvider.prototype,"loadFonts",2);d([h.property({type:Boolean,converter:m.booleanConverter,attribute:"load-styles"})],exports.DsThemeProvider.prototype,"loadStyles",2);d([f.provide({context:T.themeContext}),h.property({type:String})],exports.DsThemeProvider.prototype,"theme",2);d([u.state()],exports.DsThemeProvider.prototype,"cssLoaded",2);d([u.state()],exports.DsThemeProvider.prototype,"loadedFonts",2);exports.DsThemeProvider=d([p.customUiKitElement("ds-theme-provider")],exports.DsThemeProvider);
4
+ url('https://ds-assets.cupra.com/fonts/${this.theme}/${o}.otf') format('opentype')`,{style:"normal",weight:e,display:"swap"});try{await r.load(),document.fonts.add(r),this.loadedFonts.add(t)}catch(n){console.error(`Error loading "${s}" font with "${e}" weight:`,n)}}loadThemeStyles(){return this.loadStyles?new Promise((e,s)=>{const o="/2.0.0-canary.70",t=`https://ds-assets.cupra.com${o}/styles/${this.theme}/theme.css`;if(document.head.querySelector(`link[href="${t}"]`))e();else{const r=`ui-kit-theme-${o}`,n=document.getElementById(r),i=document.createElement("link");i.id=r,i.rel="stylesheet",i.href=t,i.onload=()=>e(),i.onerror=()=>s(new Error(`Failed to load theme CSS: ${t}`)),document.head.appendChild(i),n==null||n.remove()}}):Promise.resolve()}render(){return this.cssLoaded?l.html`<slot></slot>`:l.nothing}};d([h.property({type:Boolean,converter:m.booleanConverter,attribute:"load-fonts"})],exports.DsThemeProvider.prototype,"loadFonts",2);d([h.property({type:Boolean,converter:m.booleanConverter,attribute:"load-styles"})],exports.DsThemeProvider.prototype,"loadStyles",2);d([f.provide({context:T.themeContext}),h.property({type:String})],exports.DsThemeProvider.prototype,"theme",2);d([u.state()],exports.DsThemeProvider.prototype,"cssLoaded",2);d([u.state()],exports.DsThemeProvider.prototype,"loadedFonts",2);exports.DsThemeProvider=d([p.customUiKitElement("ds-theme-provider")],exports.DsThemeProvider);
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("../core/theme.constants.cjs"),l=require("./PubSub.cjs");class u{constructor(){this.icons={},this.handleChangeTheme=e=>{if(this.theme===e)return;this.theme=e;const n=Object.keys(this.icons);this.icons={},n.forEach(s=>this.fetchIcon(s))},this.fetchIcon=async(e,n={})=>{const s=typeof sessionStorage<"u"?sessionStorage==null?void 0:sessionStorage.getItem(r.THEME_STORAGE_KEY):null;!this.theme&&s&&(this.theme=s);const t=this.icons[e];if(t)return await t;const i=this.loadIcon(e,n).catch(a=>{throw delete this.icons[e],a});return this.icons[e]=i,i},this.loadIcon=(e,{cache:n="force-cache",...s})=>!this.theme||typeof fetch>"u"?Promise.resolve('<svg class="ds-icon"></svg>'):fetch(`https://ds-assets.cupra.com/icons/${this.theme}/${e}.svg`,{cache:n,...s}).then(t=>t.text()).catch(t=>{if((t==null?void 0:t.name)==="AbortError")throw t;return console.error(`Failed to fetch icon "${e}":`,t),""}),l.pubSub.subscribe("theme",this.handleChangeTheme)}}const o=Symbol.for("@cupra/ui-kit/icons-manager/2.0.0-canary.69"),h=globalThis;let c=h[o];c||(c=new u,Object.defineProperty(h,o,{value:c,writable:!1,configurable:!1,enumerable:!1}));const f=c;exports.iconsManager=f;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("../core/theme.constants.cjs"),l=require("./PubSub.cjs");class u{constructor(){this.icons={},this.handleChangeTheme=e=>{if(this.theme===e)return;this.theme=e;const n=Object.keys(this.icons);this.icons={},n.forEach(s=>this.fetchIcon(s))},this.fetchIcon=async(e,n={})=>{const s=typeof sessionStorage<"u"?sessionStorage==null?void 0:sessionStorage.getItem(r.THEME_STORAGE_KEY):null;!this.theme&&s&&(this.theme=s);const t=this.icons[e];if(t)return await t;const i=this.loadIcon(e,n).catch(a=>{throw delete this.icons[e],a});return this.icons[e]=i,i},this.loadIcon=(e,{cache:n="force-cache",...s})=>!this.theme||typeof fetch>"u"?Promise.resolve('<svg class="ds-icon"></svg>'):fetch(`https://ds-assets.cupra.com/icons/${this.theme}/${e}.svg`,{cache:n,...s}).then(t=>t.text()).catch(t=>{if((t==null?void 0:t.name)==="AbortError")throw t;return console.error(`Failed to fetch icon "${e}":`,t),""}),l.pubSub.subscribe("theme",this.handleChangeTheme)}}const o=Symbol.for("@cupra/ui-kit/icons-manager/2.0.0-canary.70"),h=globalThis;let c=h[o];c||(c=new u,Object.defineProperty(h,o,{value:c,writable:!1,configurable:!1,enumerable:!1}));const f=c;exports.iconsManager=f;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});class u{constructor(){this.subscribers={},this.lastPublishedData={}}subscribe(s,r){return this.subscribers[s]||(this.subscribers[s]=[]),this.subscribers[s].push(r),this.lastPublishedData[s]}unsubscribe(s,r){this.subscribers[s]&&(this.subscribers[s]=this.subscribers[s].filter(i=>i!==r))}publish(s,r){this.lastPublishedData[s]=r,this.subscribers[s]&&this.subscribers[s].forEach(i=>{try{i(r)}catch(c){console.error(`Error in subscriber for event "${s}":`,c)}})}}const t=Symbol.for("@cupra/ui-kit/pubsub/2.0.0-canary.69"),e=globalThis;let b=e[t];b||(b=new u,Object.defineProperty(e,t,{value:b,writable:!1,configurable:!1,enumerable:!1}));const l=b;exports.PubSub=u;exports.pubSub=l;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});class u{constructor(){this.subscribers={},this.lastPublishedData={}}subscribe(s,r){return this.subscribers[s]||(this.subscribers[s]=[]),this.subscribers[s].push(r),this.lastPublishedData[s]}unsubscribe(s,r){this.subscribers[s]&&(this.subscribers[s]=this.subscribers[s].filter(i=>i!==r))}publish(s,r){this.lastPublishedData[s]=r,this.subscribers[s]&&this.subscribers[s].forEach(i=>{try{i(r)}catch(c){console.error(`Error in subscriber for event "${s}":`,c)}})}}const t=Symbol.for("@cupra/ui-kit/pubsub/2.0.0-canary.70"),e=globalThis;let b=e[t];b||(b=new u,Object.defineProperty(e,t,{value:b,writable:!1,configurable:!1,enumerable:!1}));const l=b;exports.PubSub=u;exports.pubSub=l;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("../concurrencyLimit.cjs"),a=o.concurrencyLimit(20);class s{constructor(){this.stylePromises=new Map,this.getStyles=async({componentName:e,theme:t})=>{if(!t||!e)return;const c=`https://ds-assets.cupra.com/2.0.0-canary.69/styles/${t}/components/${e}.css`,r=this.getCachedStyleSheetPromise({url:c});if(r)return r;const i=a(()=>this.fetchStyle({url:c})).then(n=>(n||this.stylePromises.delete(c),n));return this.stylePromises.set(c,i),this.stylePromises.get(c)}}async fetchStyle({url:e}){try{if(typeof fetch>"u")return;const 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 s.instance||(s.instance=new s),s.instance}}const h=s.getInstance();exports.stylesRegistry=h;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("../concurrencyLimit.cjs"),a=o.concurrencyLimit(20);class s{constructor(){this.stylePromises=new Map,this.getStyles=async({componentName:e,theme:t})=>{if(!t||!e)return;const c=`https://ds-assets.cupra.com/2.0.0-canary.70/styles/${t}/components/${e}.css`,r=this.getCachedStyleSheetPromise({url:c});if(r)return r;const i=a(()=>this.fetchStyle({url:c})).then(n=>(n||this.stylePromises.delete(c),n));return this.stylePromises.set(c,i),this.stylePromises.get(c)}}async fetchStyle({url:e}){try{if(typeof fetch>"u")return;const 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 s.instance||(s.instance=new s),s.instance}}const h=s.getInstance();exports.stylesRegistry=h;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../node_modules/.pnpm/@lit_reactive-element@2.1.1/node_modules/@lit/reactive-element/reactive-element.cjs");require("../node_modules/.pnpm/lit-html@3.3.1/node_modules/lit-html/lit-html.cjs");require("../node_modules/.pnpm/lit-element@4.2.1/node_modules/lit-element/lit-element.cjs");const e=require("../node_modules/.pnpm/@lit_reactive-element@2.1.1/node_modules/@lit/reactive-element/css-tag.cjs");function i(r,...t){const s=String.raw({raw:r},...t).replace(/(--private-[\w-]+)(?=\s*[):,])/g,"$1-v2-0-0-canary-69"),n=e.unsafeCSS(s);return e.css`${n}`}exports.cssWithTokens=i;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../node_modules/.pnpm/@lit_reactive-element@2.1.1/node_modules/@lit/reactive-element/reactive-element.cjs");require("../node_modules/.pnpm/lit-html@3.3.1/node_modules/lit-html/lit-html.cjs");require("../node_modules/.pnpm/lit-element@4.2.1/node_modules/lit-element/lit-element.cjs");const e=require("../node_modules/.pnpm/@lit_reactive-element@2.1.1/node_modules/@lit/reactive-element/css-tag.cjs");function i(r,...t){const s=String.raw({raw:r},...t).replace(/(--private-[\w-]+)(?=\s*[):,])/g,"$1-v2-0-0-canary-70"),n=e.unsafeCSS(s);return e.css`${n}`}exports.cssWithTokens=i;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../node_modules/.pnpm/@lit_reactive-element@2.1.1/node_modules/@lit/reactive-element/reactive-element.cjs");const i=require("../node_modules/.pnpm/lit-html@3.3.1/node_modules/lit-html/lit-html.cjs");require("../node_modules/.pnpm/lit-element@4.2.1/node_modules/lit-element/lit-element.cjs");const o=require("../node_modules/.pnpm/lit-html@3.3.1/node_modules/lit-html/directives/unsafe-html.cjs");function a(e,...t){const r=String.raw({raw:e},...t).replace(/(--private-[\w-]+)(?=\s*[):,])/g,"$1-v2-0-0-canary-69"),n=o.unsafeHTML(r);return i.html`${n}`}exports.htmlWithTokens=a;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../node_modules/.pnpm/@lit_reactive-element@2.1.1/node_modules/@lit/reactive-element/reactive-element.cjs");const i=require("../node_modules/.pnpm/lit-html@3.3.1/node_modules/lit-html/lit-html.cjs");require("../node_modules/.pnpm/lit-element@4.2.1/node_modules/lit-element/lit-element.cjs");const o=require("../node_modules/.pnpm/lit-html@3.3.1/node_modules/lit-html/directives/unsafe-html.cjs");function a(e,...t){const r=String.raw({raw:e},...t).replace(/(--private-[\w-]+)(?=\s*[):,])/g,"$1-v2-0-0-canary-70"),n=o.unsafeHTML(r);return i.html`${n}`}exports.htmlWithTokens=a;
@@ -1,57 +1,83 @@
1
1
  import { UiKitElement as u } from "../base/UiKitElement.js";
2
- import { customUiKitElement as f } from "../../decorators/customUiKitElement.js";
2
+ import { customUiKitElement as d } from "../../decorators/customUiKitElement.js";
3
3
  import "../../node_modules/.pnpm/@lit_reactive-element@2.1.1/node_modules/@lit/reactive-element/reactive-element.js";
4
- import { nothing as h, html as c } from "../../node_modules/.pnpm/lit-html@3.3.1/node_modules/lit-html/lit-html.js";
4
+ import { html as i, nothing as h } from "../../node_modules/.pnpm/lit-html@3.3.1/node_modules/lit-html/lit-html.js";
5
5
  import "../../node_modules/.pnpm/lit-element@4.2.1/node_modules/lit-element/lit-element.js";
6
6
  import { property as m } from "../../node_modules/.pnpm/@lit_reactive-element@2.1.1/node_modules/@lit/reactive-element/decorators/property.js";
7
7
  import { classMap as l } from "../../node_modules/.pnpm/lit-html@3.3.1/node_modules/lit-html/directives/class-map.js";
8
- import { commonStyles as v } from "./styles/common.styles.js";
9
- var y = Object.defineProperty, b = Object.getOwnPropertyDescriptor, n = (r, p, e, s) => {
10
- for (var t = s > 1 ? void 0 : s ? b(p, e) : p, a = r.length - 1, o; a >= 0; a--)
11
- (o = r[a]) && (t = (s ? o(p, e, t) : o(t)) || t);
12
- return s && t && y(p, e, t), t;
8
+ import { commonStyles as f } from "./styles/common.styles.js";
9
+ var v = Object.defineProperty, S = Object.getOwnPropertyDescriptor, n = (a, t, p, s) => {
10
+ for (var e = s > 1 ? void 0 : s ? S(t, p) : t, o = a.length - 1, c; o >= 0; o--)
11
+ (c = a[o]) && (e = (s ? c(t, p, e) : c(e)) || e);
12
+ return s && e && v(t, p, e), e;
13
13
  };
14
- let i = class extends u {
14
+ let r = class extends u {
15
15
  constructor() {
16
- super(...arguments), this.steps = 0, this.currentStep = -1;
16
+ super(...arguments), this.steps = 0, this.currentStep = -1, this.sectionName = "";
17
17
  }
18
18
  get classes() {
19
19
  return {
20
20
  container: !0
21
21
  };
22
22
  }
23
- render() {
24
- if (!this.steps) return h;
25
- const r = Math.max(-1, Math.min(this.currentStep, this.steps));
26
- return c`
23
+ get clampedCurrentStep() {
24
+ return Math.max(-1, Math.min(this.currentStep, this.steps));
25
+ }
26
+ get sectionNumberText() {
27
+ return `${Math.min(this.clampedCurrentStep + 1, this.steps)}/${this.steps}`;
28
+ }
29
+ get headerTemplate() {
30
+ return i`
31
+ <div class="header" data-testid="ds-stepper-header">
32
+ <span class="section-name" data-testid="ds-stepper-section-name">${this.sectionName}</span>
33
+ <span class="section-number" data-testid="ds-stepper-section-number">${this.sectionNumberText}</span>
34
+ </div>
35
+ `;
36
+ }
37
+ get stepsRowTemplate() {
38
+ return i`
27
39
  <div
28
- data-testid="ds-stepper-container"
29
- class=${l(this.classes)}
40
+ data-testid="ds-stepper-steps-row"
41
+ class="steps-row"
30
42
  role="list"
31
43
  aria-label="Steps"
32
44
  >
33
- ${Array.from({ length: this.steps }, (p, e) => {
34
- const s = e <= r, t = e === r;
35
- return c`<span class=${l({
45
+ ${Array.from({ length: this.steps }, (a, t) => {
46
+ const p = t <= this.clampedCurrentStep, s = t === this.clampedCurrentStep;
47
+ return i`<span class=${l({
36
48
  step: !0,
37
- active: s,
38
- current: t
39
- })} role="listitem" aria-posinset=${e + 1} aria-setsize=${this.steps} aria-current=${t ? "step" : "false"}></span>`;
49
+ active: p,
50
+ current: s
51
+ })} role="listitem" aria-posinset=${t + 1} aria-setsize=${this.steps} aria-current=${s ? "step" : "false"}></span>`;
40
52
  })}
41
53
  </div>
42
54
  `;
43
55
  }
56
+ render() {
57
+ return this.steps ? i`
58
+ <div
59
+ data-testid="ds-stepper-container"
60
+ class=${l(this.classes)}
61
+ >
62
+ ${this.headerTemplate}
63
+ ${this.stepsRowTemplate}
64
+ </div>
65
+ ` : h;
66
+ }
44
67
  };
45
- i.styles = [v];
68
+ r.styles = [f];
46
69
  n([
47
70
  m({ type: Number, attribute: "steps", reflect: !0 })
48
- ], i.prototype, "steps", 2);
71
+ ], r.prototype, "steps", 2);
49
72
  n([
50
73
  m({ type: Number, attribute: "current-step", reflect: !0 })
51
- ], i.prototype, "currentStep", 2);
52
- i = n([
53
- f("ds-stepper")
54
- ], i);
74
+ ], r.prototype, "currentStep", 2);
75
+ n([
76
+ m({ type: String, attribute: "section-name", reflect: !0 })
77
+ ], r.prototype, "sectionName", 2);
78
+ r = n([
79
+ d("ds-stepper")
80
+ ], r);
55
81
  export {
56
- i as DsStepper
82
+ r as DsStepper
57
83
  };
@@ -54,7 +54,7 @@ let m = class extends v {
54
54
  }
55
55
  loadThemeStyles() {
56
56
  return this.loadStyles ? new Promise((t, o) => {
57
- const s = "/2.0.0-canary.69", r = `https://ds-assets.cupra.com${s}/styles/${this.theme}/theme.css`;
57
+ const s = "/2.0.0-canary.70", r = `https://ds-assets.cupra.com${s}/styles/${this.theme}/theme.css`;
58
58
  if (document.head.querySelector(`link[href="${r}"]`)) t();
59
59
  else {
60
60
  const e = `ui-kit-theme-${s}`, a = document.getElementById(e), n = document.createElement("link");
@@ -25,7 +25,7 @@ class l {
25
25
  }), f.subscribe("theme", this.handleChangeTheme);
26
26
  }
27
27
  }
28
- const c = Symbol.for("@cupra/ui-kit/icons-manager/2.0.0-canary.69"), h = globalThis;
28
+ const c = Symbol.for("@cupra/ui-kit/icons-manager/2.0.0-canary.70"), h = globalThis;
29
29
  let i = h[c];
30
30
  i || (i = new l(), Object.defineProperty(h, c, {
31
31
  value: i,
@@ -18,7 +18,7 @@ class e {
18
18
  });
19
19
  }
20
20
  }
21
- const u = Symbol.for("@cupra/ui-kit/pubsub/2.0.0-canary.69"), t = globalThis;
21
+ const u = Symbol.for("@cupra/ui-kit/pubsub/2.0.0-canary.70"), t = globalThis;
22
22
  let b = t[u];
23
23
  b || (b = new e(), Object.defineProperty(t, u, {
24
24
  value: b,
@@ -7,7 +7,7 @@ class s {
7
7
  theme: t
8
8
  }) => {
9
9
  if (!t || !e) return;
10
- const c = `https://ds-assets.cupra.com/2.0.0-canary.69/styles/${t}/components/${e}.css`, r = this.getCachedStyleSheetPromise({ url: c });
10
+ const c = `https://ds-assets.cupra.com/2.0.0-canary.70/styles/${t}/components/${e}.css`, r = this.getCachedStyleSheetPromise({ url: c });
11
11
  if (r) return r;
12
12
  const i = h(() => this.fetchStyle({ url: c })).then((n) => (n || this.stylePromises.delete(c), n));
13
13
  return this.stylePromises.set(c, i), this.stylePromises.get(c);
@@ -3,7 +3,7 @@ import "../node_modules/.pnpm/lit-html@3.3.1/node_modules/lit-html/lit-html.js";
3
3
  import "../node_modules/.pnpm/lit-element@4.2.1/node_modules/lit-element/lit-element.js";
4
4
  import { unsafeCSS as n, css as o } from "../node_modules/.pnpm/@lit_reactive-element@2.1.1/node_modules/@lit/reactive-element/css-tag.js";
5
5
  function x(t, ...r) {
6
- const e = String.raw({ raw: t }, ...r).replace(/(--private-[\w-]+)(?=\s*[):,])/g, "$1-v2-0-0-canary-69"), i = n(e);
6
+ const e = String.raw({ raw: t }, ...r).replace(/(--private-[\w-]+)(?=\s*[):,])/g, "$1-v2-0-0-canary-70"), i = n(e);
7
7
  return o`${i}`;
8
8
  }
9
9
  export {
@@ -3,7 +3,7 @@ import { html as n } from "../node_modules/.pnpm/lit-html@3.3.1/node_modules/lit
3
3
  import "../node_modules/.pnpm/lit-element@4.2.1/node_modules/lit-element/lit-element.js";
4
4
  import { unsafeHTML as i } from "../node_modules/.pnpm/lit-html@3.3.1/node_modules/lit-html/directives/unsafe-html.js";
5
5
  function x(t, ...r) {
6
- const o = String.raw({ raw: t }, ...r).replace(/(--private-[\w-]+)(?=\s*[):,])/g, "$1-v2-0-0-canary-69"), e = i(o);
6
+ const o = String.raw({ raw: t }, ...r).replace(/(--private-[\w-]+)(?=\s*[):,])/g, "$1-v2-0-0-canary-70"), e = i(o);
7
7
  return n`${e}`;
8
8
  }
9
9
  export {
@@ -4,6 +4,11 @@ export declare class DsStepper extends UiKitElement {
4
4
  static styles: import("lit").CSSResult[];
5
5
  steps: number;
6
6
  currentStep: number;
7
+ sectionName: string;
7
8
  private get classes();
9
+ private get clampedCurrentStep();
10
+ private get sectionNumberText();
11
+ private get headerTemplate();
12
+ private get stepsRowTemplate();
8
13
  render(): typeof nothing | import("lit").TemplateResult<1>;
9
14
  }
@@ -2,4 +2,5 @@ import type { CommonAttrs } from '../../types/types';
2
2
  export type DsStepperAttrs = {
3
3
  steps?: number;
4
4
  'current-step'?: number;
5
+ 'section-name'?: string;
5
6
  } & CommonAttrs;
@@ -1,10 +1,23 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("../base/UiKitElement.cjs"),m=require("../../decorators/customUiKitElement.cjs");require("../../node_modules/.pnpm/@lit_reactive-element@2.1.1/node_modules/@lit/reactive-element/reactive-element.cjs");const c=require("../../node_modules/.pnpm/lit-html@3.3.1/node_modules/lit-html/lit-html.cjs");require("../../node_modules/.pnpm/lit-element@4.2.1/node_modules/lit-element/lit-element.cjs");const u=require("../../node_modules/.pnpm/@lit_reactive-element@2.1.1/node_modules/@lit/reactive-element/decorators/property.cjs"),o=require("../../node_modules/.pnpm/lit-html@3.3.1/node_modules/lit-html/directives/class-map.cjs"),h=require("./styles/common.styles.cjs");var S=Object.defineProperty,y=Object.getOwnPropertyDescriptor,a=(n,s,i,t)=>{for(var e=t>1?void 0:t?y(s,i):s,r=n.length-1,p;r>=0;r--)(p=n[r])&&(e=(t?p(s,i,e):p(e))||e);return t&&e&&S(s,i,e),e};exports.DsStepper=class extends l.UiKitElement{constructor(){super(...arguments),this.steps=0,this.currentStep=-1}get classes(){return{container:!0}}render(){if(!this.steps)return c.nothing;const s=Math.max(-1,Math.min(this.currentStep,this.steps));return c.html`
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("../base/UiKitElement.cjs"),m=require("../../decorators/customUiKitElement.cjs");require("../../node_modules/.pnpm/@lit_reactive-element@2.1.1/node_modules/@lit/reactive-element/reactive-element.cjs");const i=require("../../node_modules/.pnpm/lit-html@3.3.1/node_modules/lit-html/lit-html.cjs");require("../../node_modules/.pnpm/lit-element@4.2.1/node_modules/lit-element/lit-element.cjs");const o=require("../../node_modules/.pnpm/@lit_reactive-element@2.1.1/node_modules/@lit/reactive-element/decorators/property.cjs"),l=require("../../node_modules/.pnpm/lit-html@3.3.1/node_modules/lit-html/directives/class-map.cjs"),d=require("./styles/common.styles.cjs");var h=Object.defineProperty,S=Object.getOwnPropertyDescriptor,a=(n,s,t,r)=>{for(var e=r>1?void 0:r?S(s,t):s,p=n.length-1,c;p>=0;p--)(c=n[p])&&(e=(r?c(s,t,e):c(e))||e);return r&&e&&h(s,t,e),e};exports.DsStepper=class extends u.UiKitElement{constructor(){super(...arguments),this.steps=0,this.currentStep=-1,this.sectionName=""}get classes(){return{container:!0}}get clampedCurrentStep(){return Math.max(-1,Math.min(this.currentStep,this.steps))}get sectionNumberText(){return`${Math.min(this.clampedCurrentStep+1,this.steps)}/${this.steps}`}get headerTemplate(){return i.html`
2
+ <div class="header" data-testid="ds-stepper-header">
3
+ <span class="section-name" data-testid="ds-stepper-section-name">${this.sectionName}</span>
4
+ <span class="section-number" data-testid="ds-stepper-section-number">${this.sectionNumberText}</span>
5
+ </div>
6
+ `}get stepsRowTemplate(){return i.html`
2
7
  <div
3
- data-testid="ds-stepper-container"
4
- class=${o.classMap(this.classes)}
8
+ data-testid="ds-stepper-steps-row"
9
+ class="steps-row"
5
10
  role="list"
6
11
  aria-label="Steps"
7
12
  >
8
- ${Array.from({length:this.steps},(i,t)=>{const e=t<=s,r=t===s,p={step:!0,active:e,current:r};return c.html`<span class=${o.classMap(p)} role="listitem" aria-posinset=${t+1} aria-setsize=${this.steps} aria-current=${r?"step":"false"}></span>`})}
13
+ ${Array.from({length:this.steps},(s,t)=>{const r=t<=this.clampedCurrentStep,e=t===this.clampedCurrentStep,p={step:!0,active:r,current:e};return i.html`<span class=${l.classMap(p)} role="listitem" aria-posinset=${t+1} aria-setsize=${this.steps} aria-current=${e?"step":"false"}></span>`})}
14
+ </div>
15
+ `}render(){return this.steps?i.html`
16
+ <div
17
+ data-testid="ds-stepper-container"
18
+ class=${l.classMap(this.classes)}
19
+ >
20
+ ${this.headerTemplate}
21
+ ${this.stepsRowTemplate}
9
22
  </div>
10
- `}};exports.DsStepper.styles=[h.commonStyles];a([u.property({type:Number,attribute:"steps",reflect:!0})],exports.DsStepper.prototype,"steps",2);a([u.property({type:Number,attribute:"current-step",reflect:!0})],exports.DsStepper.prototype,"currentStep",2);exports.DsStepper=a([m.customUiKitElement("ds-stepper")],exports.DsStepper);
23
+ `:i.nothing}};exports.DsStepper.styles=[d.commonStyles];a([o.property({type:Number,attribute:"steps",reflect:!0})],exports.DsStepper.prototype,"steps",2);a([o.property({type:Number,attribute:"current-step",reflect:!0})],exports.DsStepper.prototype,"currentStep",2);a([o.property({type:String,attribute:"section-name",reflect:!0})],exports.DsStepper.prototype,"sectionName",2);exports.DsStepper=a([m.customUiKitElement("ds-stepper")],exports.DsStepper);
@@ -1,4 +1,4 @@
1
1
  "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("../../core/theme.constants.cjs"),p=require("../../decorators/customUiKitElement.cjs"),f=require("../../node_modules/.pnpm/@lit_context@1.1.6/node_modules/@lit/context/lib/decorators/provide.cjs"),y=require("../../utils/PubSub.cjs"),m=require("../../utils/booleanConverter.cjs");require("../../node_modules/.pnpm/@lit_reactive-element@2.1.1/node_modules/@lit/reactive-element/reactive-element.cjs");const l=require("../../node_modules/.pnpm/lit-html@3.3.1/node_modules/lit-html/lit-html.cjs"),v=require("../../node_modules/.pnpm/lit-element@4.2.1/node_modules/lit-element/lit-element.cjs"),h=require("../../node_modules/.pnpm/@lit_reactive-element@2.1.1/node_modules/@lit/reactive-element/decorators/property.cjs"),u=require("../../node_modules/.pnpm/@lit_reactive-element@2.1.1/node_modules/@lit/reactive-element/decorators/state.cjs"),$=require("../../styles/source/shared/fonts-config.cjs"),T=require("./themeContext.cjs");var b=Object.defineProperty,P=Object.getOwnPropertyDescriptor,d=(a,e,s,o)=>{for(var t=o>1?void 0:o?P(e,s):e,r=a.length-1,n;r>=0;r--)(n=a[r])&&(t=(o?n(e,s,t):n(t))||t);return o&&t&&b(e,s,t),t};exports.DsThemeProvider=class extends v.LitElement{constructor(){super(...arguments),this.loadFonts=!0,this.loadStyles=!0,this.cssLoaded=!1,this.loadedFonts=new Set}updated(e){super.updated(e),e.has("theme")&&(y.pubSub.publish("theme",this.theme),sessionStorage==null||sessionStorage.setItem(c.THEME_STORAGE_KEY,this.theme),typeof FontFace<"u"&&(document!=null&&document.fonts)&&this.loadThemeFonts(),this.loadThemeStyles().then(()=>{this.cssLoaded=!0,this.dispatchEvent(new CustomEvent("ui-kit:ready",{bubbles:!0,composed:!0}))}))}loadThemeFonts(){var e;(e=$.fontsConfig[this.theme])==null||e.fonts.forEach(s=>{this.loadThemeFont(s)})}async loadThemeFont({weight:e,name:s,file:o}){if(!this.loadFonts)return Promise.resolve();const t=`${s}-${e}`;if(this.loadedFonts.has(t))return;const r=new FontFace(s,`url('https://ds-assets.cupra.com/fonts/${this.theme}/${o}.woff2') format('woff2'),
2
2
  url('https://ds-assets.cupra.com/fonts/${this.theme}/${o}.woff') format('woff'),
3
3
  url('https://ds-assets.cupra.com/fonts/${this.theme}/${o}.ttf') format('truetype'),
4
- url('https://ds-assets.cupra.com/fonts/${this.theme}/${o}.otf') format('opentype')`,{style:"normal",weight:e,display:"swap"});try{await r.load(),document.fonts.add(r),this.loadedFonts.add(t)}catch(n){console.error(`Error loading "${s}" font with "${e}" weight:`,n)}}loadThemeStyles(){return this.loadStyles?new Promise((e,s)=>{const o="/2.0.0-canary.69",t=`https://ds-assets.cupra.com${o}/styles/${this.theme}/theme.css`;if(document.head.querySelector(`link[href="${t}"]`))e();else{const r=`ui-kit-theme-${o}`,n=document.getElementById(r),i=document.createElement("link");i.id=r,i.rel="stylesheet",i.href=t,i.onload=()=>e(),i.onerror=()=>s(new Error(`Failed to load theme CSS: ${t}`)),document.head.appendChild(i),n==null||n.remove()}}):Promise.resolve()}render(){return this.cssLoaded?l.html`<slot></slot>`:l.nothing}};d([h.property({type:Boolean,converter:m.booleanConverter,attribute:"load-fonts"})],exports.DsThemeProvider.prototype,"loadFonts",2);d([h.property({type:Boolean,converter:m.booleanConverter,attribute:"load-styles"})],exports.DsThemeProvider.prototype,"loadStyles",2);d([f.provide({context:T.themeContext}),h.property({type:String})],exports.DsThemeProvider.prototype,"theme",2);d([u.state()],exports.DsThemeProvider.prototype,"cssLoaded",2);d([u.state()],exports.DsThemeProvider.prototype,"loadedFonts",2);exports.DsThemeProvider=d([p.customUiKitElement("ds-theme-provider")],exports.DsThemeProvider);
4
+ url('https://ds-assets.cupra.com/fonts/${this.theme}/${o}.otf') format('opentype')`,{style:"normal",weight:e,display:"swap"});try{await r.load(),document.fonts.add(r),this.loadedFonts.add(t)}catch(n){console.error(`Error loading "${s}" font with "${e}" weight:`,n)}}loadThemeStyles(){return this.loadStyles?new Promise((e,s)=>{const o="/2.0.0-canary.70",t=`https://ds-assets.cupra.com${o}/styles/${this.theme}/theme.css`;if(document.head.querySelector(`link[href="${t}"]`))e();else{const r=`ui-kit-theme-${o}`,n=document.getElementById(r),i=document.createElement("link");i.id=r,i.rel="stylesheet",i.href=t,i.onload=()=>e(),i.onerror=()=>s(new Error(`Failed to load theme CSS: ${t}`)),document.head.appendChild(i),n==null||n.remove()}}):Promise.resolve()}render(){return this.cssLoaded?l.html`<slot></slot>`:l.nothing}};d([h.property({type:Boolean,converter:m.booleanConverter,attribute:"load-fonts"})],exports.DsThemeProvider.prototype,"loadFonts",2);d([h.property({type:Boolean,converter:m.booleanConverter,attribute:"load-styles"})],exports.DsThemeProvider.prototype,"loadStyles",2);d([f.provide({context:T.themeContext}),h.property({type:String})],exports.DsThemeProvider.prototype,"theme",2);d([u.state()],exports.DsThemeProvider.prototype,"cssLoaded",2);d([u.state()],exports.DsThemeProvider.prototype,"loadedFonts",2);exports.DsThemeProvider=d([p.customUiKitElement("ds-theme-provider")],exports.DsThemeProvider);
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("../core/theme.constants.cjs"),l=require("./PubSub.cjs");class u{constructor(){this.icons={},this.handleChangeTheme=e=>{if(this.theme===e)return;this.theme=e;const n=Object.keys(this.icons);this.icons={},n.forEach(s=>this.fetchIcon(s))},this.fetchIcon=async(e,n={})=>{const s=typeof sessionStorage<"u"?sessionStorage==null?void 0:sessionStorage.getItem(r.THEME_STORAGE_KEY):null;!this.theme&&s&&(this.theme=s);const t=this.icons[e];if(t)return await t;const i=this.loadIcon(e,n).catch(a=>{throw delete this.icons[e],a});return this.icons[e]=i,i},this.loadIcon=(e,{cache:n="force-cache",...s})=>!this.theme||typeof fetch>"u"?Promise.resolve('<svg class="ds-icon"></svg>'):fetch(`https://ds-assets.cupra.com/icons/${this.theme}/${e}.svg`,{cache:n,...s}).then(t=>t.text()).catch(t=>{if((t==null?void 0:t.name)==="AbortError")throw t;return console.error(`Failed to fetch icon "${e}":`,t),""}),l.pubSub.subscribe("theme",this.handleChangeTheme)}}const o=Symbol.for("@cupra/ui-kit/icons-manager/2.0.0-canary.69"),h=globalThis;let c=h[o];c||(c=new u,Object.defineProperty(h,o,{value:c,writable:!1,configurable:!1,enumerable:!1}));const f=c;exports.iconsManager=f;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("../core/theme.constants.cjs"),l=require("./PubSub.cjs");class u{constructor(){this.icons={},this.handleChangeTheme=e=>{if(this.theme===e)return;this.theme=e;const n=Object.keys(this.icons);this.icons={},n.forEach(s=>this.fetchIcon(s))},this.fetchIcon=async(e,n={})=>{const s=typeof sessionStorage<"u"?sessionStorage==null?void 0:sessionStorage.getItem(r.THEME_STORAGE_KEY):null;!this.theme&&s&&(this.theme=s);const t=this.icons[e];if(t)return await t;const i=this.loadIcon(e,n).catch(a=>{throw delete this.icons[e],a});return this.icons[e]=i,i},this.loadIcon=(e,{cache:n="force-cache",...s})=>!this.theme||typeof fetch>"u"?Promise.resolve('<svg class="ds-icon"></svg>'):fetch(`https://ds-assets.cupra.com/icons/${this.theme}/${e}.svg`,{cache:n,...s}).then(t=>t.text()).catch(t=>{if((t==null?void 0:t.name)==="AbortError")throw t;return console.error(`Failed to fetch icon "${e}":`,t),""}),l.pubSub.subscribe("theme",this.handleChangeTheme)}}const o=Symbol.for("@cupra/ui-kit/icons-manager/2.0.0-canary.70"),h=globalThis;let c=h[o];c||(c=new u,Object.defineProperty(h,o,{value:c,writable:!1,configurable:!1,enumerable:!1}));const f=c;exports.iconsManager=f;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});class u{constructor(){this.subscribers={},this.lastPublishedData={}}subscribe(s,r){return this.subscribers[s]||(this.subscribers[s]=[]),this.subscribers[s].push(r),this.lastPublishedData[s]}unsubscribe(s,r){this.subscribers[s]&&(this.subscribers[s]=this.subscribers[s].filter(i=>i!==r))}publish(s,r){this.lastPublishedData[s]=r,this.subscribers[s]&&this.subscribers[s].forEach(i=>{try{i(r)}catch(c){console.error(`Error in subscriber for event "${s}":`,c)}})}}const t=Symbol.for("@cupra/ui-kit/pubsub/2.0.0-canary.69"),e=globalThis;let b=e[t];b||(b=new u,Object.defineProperty(e,t,{value:b,writable:!1,configurable:!1,enumerable:!1}));const l=b;exports.PubSub=u;exports.pubSub=l;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});class u{constructor(){this.subscribers={},this.lastPublishedData={}}subscribe(s,r){return this.subscribers[s]||(this.subscribers[s]=[]),this.subscribers[s].push(r),this.lastPublishedData[s]}unsubscribe(s,r){this.subscribers[s]&&(this.subscribers[s]=this.subscribers[s].filter(i=>i!==r))}publish(s,r){this.lastPublishedData[s]=r,this.subscribers[s]&&this.subscribers[s].forEach(i=>{try{i(r)}catch(c){console.error(`Error in subscriber for event "${s}":`,c)}})}}const t=Symbol.for("@cupra/ui-kit/pubsub/2.0.0-canary.70"),e=globalThis;let b=e[t];b||(b=new u,Object.defineProperty(e,t,{value:b,writable:!1,configurable:!1,enumerable:!1}));const l=b;exports.PubSub=u;exports.pubSub=l;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("../concurrencyLimit.cjs"),a=o.concurrencyLimit(20);class s{constructor(){this.stylePromises=new Map,this.getStyles=async({componentName:e,theme:t})=>{if(!t||!e)return;const c=`https://ds-assets.cupra.com/2.0.0-canary.69/styles/${t}/components/${e}.css`,r=this.getCachedStyleSheetPromise({url:c});if(r)return r;const i=a(()=>this.fetchStyle({url:c})).then(n=>(n||this.stylePromises.delete(c),n));return this.stylePromises.set(c,i),this.stylePromises.get(c)}}async fetchStyle({url:e}){try{if(typeof fetch>"u")return;const 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 s.instance||(s.instance=new s),s.instance}}const h=s.getInstance();exports.stylesRegistry=h;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("../concurrencyLimit.cjs"),a=o.concurrencyLimit(20);class s{constructor(){this.stylePromises=new Map,this.getStyles=async({componentName:e,theme:t})=>{if(!t||!e)return;const c=`https://ds-assets.cupra.com/2.0.0-canary.70/styles/${t}/components/${e}.css`,r=this.getCachedStyleSheetPromise({url:c});if(r)return r;const i=a(()=>this.fetchStyle({url:c})).then(n=>(n||this.stylePromises.delete(c),n));return this.stylePromises.set(c,i),this.stylePromises.get(c)}}async fetchStyle({url:e}){try{if(typeof fetch>"u")return;const 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 s.instance||(s.instance=new s),s.instance}}const h=s.getInstance();exports.stylesRegistry=h;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../node_modules/.pnpm/@lit_reactive-element@2.1.1/node_modules/@lit/reactive-element/reactive-element.cjs");require("../node_modules/.pnpm/lit-html@3.3.1/node_modules/lit-html/lit-html.cjs");require("../node_modules/.pnpm/lit-element@4.2.1/node_modules/lit-element/lit-element.cjs");const e=require("../node_modules/.pnpm/@lit_reactive-element@2.1.1/node_modules/@lit/reactive-element/css-tag.cjs");function i(r,...t){const s=String.raw({raw:r},...t).replace(/(--private-[\w-]+)(?=\s*[):,])/g,"$1-v2-0-0-canary-69"),n=e.unsafeCSS(s);return e.css`${n}`}exports.cssWithTokens=i;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../node_modules/.pnpm/@lit_reactive-element@2.1.1/node_modules/@lit/reactive-element/reactive-element.cjs");require("../node_modules/.pnpm/lit-html@3.3.1/node_modules/lit-html/lit-html.cjs");require("../node_modules/.pnpm/lit-element@4.2.1/node_modules/lit-element/lit-element.cjs");const e=require("../node_modules/.pnpm/@lit_reactive-element@2.1.1/node_modules/@lit/reactive-element/css-tag.cjs");function i(r,...t){const s=String.raw({raw:r},...t).replace(/(--private-[\w-]+)(?=\s*[):,])/g,"$1-v2-0-0-canary-70"),n=e.unsafeCSS(s);return e.css`${n}`}exports.cssWithTokens=i;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../node_modules/.pnpm/@lit_reactive-element@2.1.1/node_modules/@lit/reactive-element/reactive-element.cjs");const i=require("../node_modules/.pnpm/lit-html@3.3.1/node_modules/lit-html/lit-html.cjs");require("../node_modules/.pnpm/lit-element@4.2.1/node_modules/lit-element/lit-element.cjs");const o=require("../node_modules/.pnpm/lit-html@3.3.1/node_modules/lit-html/directives/unsafe-html.cjs");function a(e,...t){const r=String.raw({raw:e},...t).replace(/(--private-[\w-]+)(?=\s*[):,])/g,"$1-v2-0-0-canary-69"),n=o.unsafeHTML(r);return i.html`${n}`}exports.htmlWithTokens=a;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("../node_modules/.pnpm/@lit_reactive-element@2.1.1/node_modules/@lit/reactive-element/reactive-element.cjs");const i=require("../node_modules/.pnpm/lit-html@3.3.1/node_modules/lit-html/lit-html.cjs");require("../node_modules/.pnpm/lit-element@4.2.1/node_modules/lit-element/lit-element.cjs");const o=require("../node_modules/.pnpm/lit-html@3.3.1/node_modules/lit-html/directives/unsafe-html.cjs");function a(e,...t){const r=String.raw({raw:e},...t).replace(/(--private-[\w-]+)(?=\s*[):,])/g,"$1-v2-0-0-canary-70"),n=o.unsafeHTML(r);return i.html`${n}`}exports.htmlWithTokens=a;
@@ -1,57 +1,83 @@
1
1
  import { UiKitElement as u } from "../base/UiKitElement.js";
2
- import { customUiKitElement as f } from "../../decorators/customUiKitElement.js";
2
+ import { customUiKitElement as d } from "../../decorators/customUiKitElement.js";
3
3
  import "../../node_modules/.pnpm/@lit_reactive-element@2.1.1/node_modules/@lit/reactive-element/reactive-element.js";
4
- import { nothing as h, html as c } from "../../node_modules/.pnpm/lit-html@3.3.1/node_modules/lit-html/lit-html.js";
4
+ import { html as i, nothing as h } from "../../node_modules/.pnpm/lit-html@3.3.1/node_modules/lit-html/lit-html.js";
5
5
  import "../../node_modules/.pnpm/lit-element@4.2.1/node_modules/lit-element/lit-element.js";
6
6
  import { property as m } from "../../node_modules/.pnpm/@lit_reactive-element@2.1.1/node_modules/@lit/reactive-element/decorators/property.js";
7
7
  import { classMap as l } from "../../node_modules/.pnpm/lit-html@3.3.1/node_modules/lit-html/directives/class-map.js";
8
- import { commonStyles as v } from "./styles/common.styles.js";
9
- var y = Object.defineProperty, b = Object.getOwnPropertyDescriptor, n = (r, p, e, s) => {
10
- for (var t = s > 1 ? void 0 : s ? b(p, e) : p, a = r.length - 1, o; a >= 0; a--)
11
- (o = r[a]) && (t = (s ? o(p, e, t) : o(t)) || t);
12
- return s && t && y(p, e, t), t;
8
+ import { commonStyles as f } from "./styles/common.styles.js";
9
+ var v = Object.defineProperty, S = Object.getOwnPropertyDescriptor, n = (a, t, p, s) => {
10
+ for (var e = s > 1 ? void 0 : s ? S(t, p) : t, o = a.length - 1, c; o >= 0; o--)
11
+ (c = a[o]) && (e = (s ? c(t, p, e) : c(e)) || e);
12
+ return s && e && v(t, p, e), e;
13
13
  };
14
- let i = class extends u {
14
+ let r = class extends u {
15
15
  constructor() {
16
- super(...arguments), this.steps = 0, this.currentStep = -1;
16
+ super(...arguments), this.steps = 0, this.currentStep = -1, this.sectionName = "";
17
17
  }
18
18
  get classes() {
19
19
  return {
20
20
  container: !0
21
21
  };
22
22
  }
23
- render() {
24
- if (!this.steps) return h;
25
- const r = Math.max(-1, Math.min(this.currentStep, this.steps));
26
- return c`
23
+ get clampedCurrentStep() {
24
+ return Math.max(-1, Math.min(this.currentStep, this.steps));
25
+ }
26
+ get sectionNumberText() {
27
+ return `${Math.min(this.clampedCurrentStep + 1, this.steps)}/${this.steps}`;
28
+ }
29
+ get headerTemplate() {
30
+ return i`
31
+ <div class="header" data-testid="ds-stepper-header">
32
+ <span class="section-name" data-testid="ds-stepper-section-name">${this.sectionName}</span>
33
+ <span class="section-number" data-testid="ds-stepper-section-number">${this.sectionNumberText}</span>
34
+ </div>
35
+ `;
36
+ }
37
+ get stepsRowTemplate() {
38
+ return i`
27
39
  <div
28
- data-testid="ds-stepper-container"
29
- class=${l(this.classes)}
40
+ data-testid="ds-stepper-steps-row"
41
+ class="steps-row"
30
42
  role="list"
31
43
  aria-label="Steps"
32
44
  >
33
- ${Array.from({ length: this.steps }, (p, e) => {
34
- const s = e <= r, t = e === r;
35
- return c`<span class=${l({
45
+ ${Array.from({ length: this.steps }, (a, t) => {
46
+ const p = t <= this.clampedCurrentStep, s = t === this.clampedCurrentStep;
47
+ return i`<span class=${l({
36
48
  step: !0,
37
- active: s,
38
- current: t
39
- })} role="listitem" aria-posinset=${e + 1} aria-setsize=${this.steps} aria-current=${t ? "step" : "false"}></span>`;
49
+ active: p,
50
+ current: s
51
+ })} role="listitem" aria-posinset=${t + 1} aria-setsize=${this.steps} aria-current=${s ? "step" : "false"}></span>`;
40
52
  })}
41
53
  </div>
42
54
  `;
43
55
  }
56
+ render() {
57
+ return this.steps ? i`
58
+ <div
59
+ data-testid="ds-stepper-container"
60
+ class=${l(this.classes)}
61
+ >
62
+ ${this.headerTemplate}
63
+ ${this.stepsRowTemplate}
64
+ </div>
65
+ ` : h;
66
+ }
44
67
  };
45
- i.styles = [v];
68
+ r.styles = [f];
46
69
  n([
47
70
  m({ type: Number, attribute: "steps", reflect: !0 })
48
- ], i.prototype, "steps", 2);
71
+ ], r.prototype, "steps", 2);
49
72
  n([
50
73
  m({ type: Number, attribute: "current-step", reflect: !0 })
51
- ], i.prototype, "currentStep", 2);
52
- i = n([
53
- f("ds-stepper")
54
- ], i);
74
+ ], r.prototype, "currentStep", 2);
75
+ n([
76
+ m({ type: String, attribute: "section-name", reflect: !0 })
77
+ ], r.prototype, "sectionName", 2);
78
+ r = n([
79
+ d("ds-stepper")
80
+ ], r);
55
81
  export {
56
- i as DsStepper
82
+ r as DsStepper
57
83
  };
@@ -54,7 +54,7 @@ let m = class extends v {
54
54
  }
55
55
  loadThemeStyles() {
56
56
  return this.loadStyles ? new Promise((t, o) => {
57
- const s = "/2.0.0-canary.69", r = `https://ds-assets.cupra.com${s}/styles/${this.theme}/theme.css`;
57
+ const s = "/2.0.0-canary.70", r = `https://ds-assets.cupra.com${s}/styles/${this.theme}/theme.css`;
58
58
  if (document.head.querySelector(`link[href="${r}"]`)) t();
59
59
  else {
60
60
  const e = `ui-kit-theme-${s}`, a = document.getElementById(e), n = document.createElement("link");
@@ -25,7 +25,7 @@ class l {
25
25
  }), f.subscribe("theme", this.handleChangeTheme);
26
26
  }
27
27
  }
28
- const c = Symbol.for("@cupra/ui-kit/icons-manager/2.0.0-canary.69"), h = globalThis;
28
+ const c = Symbol.for("@cupra/ui-kit/icons-manager/2.0.0-canary.70"), h = globalThis;
29
29
  let i = h[c];
30
30
  i || (i = new l(), Object.defineProperty(h, c, {
31
31
  value: i,
@@ -18,7 +18,7 @@ class e {
18
18
  });
19
19
  }
20
20
  }
21
- const u = Symbol.for("@cupra/ui-kit/pubsub/2.0.0-canary.69"), t = globalThis;
21
+ const u = Symbol.for("@cupra/ui-kit/pubsub/2.0.0-canary.70"), t = globalThis;
22
22
  let b = t[u];
23
23
  b || (b = new e(), Object.defineProperty(t, u, {
24
24
  value: b,
@@ -7,7 +7,7 @@ class s {
7
7
  theme: t
8
8
  }) => {
9
9
  if (!t || !e) return;
10
- const c = `https://ds-assets.cupra.com/2.0.0-canary.69/styles/${t}/components/${e}.css`, r = this.getCachedStyleSheetPromise({ url: c });
10
+ const c = `https://ds-assets.cupra.com/2.0.0-canary.70/styles/${t}/components/${e}.css`, r = this.getCachedStyleSheetPromise({ url: c });
11
11
  if (r) return r;
12
12
  const i = h(() => this.fetchStyle({ url: c })).then((n) => (n || this.stylePromises.delete(c), n));
13
13
  return this.stylePromises.set(c, i), this.stylePromises.get(c);
@@ -3,7 +3,7 @@ import "../node_modules/.pnpm/lit-html@3.3.1/node_modules/lit-html/lit-html.js";
3
3
  import "../node_modules/.pnpm/lit-element@4.2.1/node_modules/lit-element/lit-element.js";
4
4
  import { unsafeCSS as n, css as o } from "../node_modules/.pnpm/@lit_reactive-element@2.1.1/node_modules/@lit/reactive-element/css-tag.js";
5
5
  function x(t, ...r) {
6
- const e = String.raw({ raw: t }, ...r).replace(/(--private-[\w-]+)(?=\s*[):,])/g, "$1-v2-0-0-canary-69"), i = n(e);
6
+ const e = String.raw({ raw: t }, ...r).replace(/(--private-[\w-]+)(?=\s*[):,])/g, "$1-v2-0-0-canary-70"), i = n(e);
7
7
  return o`${i}`;
8
8
  }
9
9
  export {
@@ -3,7 +3,7 @@ import { html as n } from "../node_modules/.pnpm/lit-html@3.3.1/node_modules/lit
3
3
  import "../node_modules/.pnpm/lit-element@4.2.1/node_modules/lit-element/lit-element.js";
4
4
  import { unsafeHTML as i } from "../node_modules/.pnpm/lit-html@3.3.1/node_modules/lit-html/directives/unsafe-html.js";
5
5
  function x(t, ...r) {
6
- const o = String.raw({ raw: t }, ...r).replace(/(--private-[\w-]+)(?=\s*[):,])/g, "$1-v2-0-0-canary-69"), e = i(o);
6
+ const o = String.raw({ raw: t }, ...r).replace(/(--private-[\w-]+)(?=\s*[):,])/g, "$1-v2-0-0-canary-70"), e = i(o);
7
7
  return n`${e}`;
8
8
  }
9
9
  export {
@@ -4,6 +4,11 @@ export declare class DsStepper extends UiKitElement {
4
4
  static styles: import("lit").CSSResult[];
5
5
  steps: number;
6
6
  currentStep: number;
7
+ sectionName: string;
7
8
  private get classes();
9
+ private get clampedCurrentStep();
10
+ private get sectionNumberText();
11
+ private get headerTemplate();
12
+ private get stepsRowTemplate();
8
13
  render(): typeof nothing | import("lit").TemplateResult<1>;
9
14
  }
@@ -2,4 +2,5 @@ import type { CommonAttrs } from '../../types/types';
2
2
  export type DsStepperAttrs = {
3
3
  steps?: number;
4
4
  'current-step'?: number;
5
+ 'section-name'?: string;
5
6
  } & CommonAttrs;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cupra/ui-kit",
3
- "version": "2.0.0-canary.69",
3
+ "version": "2.0.0-canary.70",
4
4
  "description": "Web components library",
5
5
  "author": "SEAT S.A.",
6
6
  "license": "SEAT S.A. Library EULA 1.0",