@cupra/ui-kit 2.0.0-canary.80 → 2.0.0-canary.82
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.
- package/dist/cjs/components/ds-favourite-action/ds-favourite-action.cjs +12 -0
- package/dist/cjs/components/ds-favourite-action/styles/common.styles.cjs +16 -0
- package/dist/cjs/components/ds-theme-provider/ds-theme-provider.cjs +1 -1
- package/dist/cjs/index.cjs +1 -1
- package/dist/cjs/utils/IconsManager.cjs +1 -1
- package/dist/cjs/utils/PubSub.cjs +1 -1
- package/dist/cjs/utils/StylesRegistry/StylesRegistry.cjs +1 -1
- package/dist/cjs/utils/cssWithTokens.cjs +1 -1
- package/dist/cjs/utils/htmlWithTokens.cjs +1 -1
- package/dist/esm/components/ds-favourite-action/ds-favourite-action.js +91 -0
- package/dist/esm/components/ds-favourite-action/styles/common.styles.js +23 -0
- package/dist/esm/components/ds-theme-provider/ds-theme-provider.js +1 -1
- package/dist/esm/index.js +3 -2
- package/dist/esm/utils/IconsManager.js +1 -1
- package/dist/esm/utils/PubSub.js +1 -1
- package/dist/esm/utils/StylesRegistry/StylesRegistry.js +1 -1
- package/dist/esm/utils/cssWithTokens.js +1 -1
- package/dist/esm/utils/htmlWithTokens.js +1 -1
- package/dist/types/components/ds-favourite-action/ds-favourite-action.d.ts +23 -0
- package/dist/types/components/ds-favourite-action/ds-favourite-action.test.d.ts +8 -0
- package/dist/types/components/ds-favourite-action/ds-favourite-action.types.d.ts +7 -0
- package/dist/types/components/ds-favourite-action/styles/common.styles.d.ts +1 -0
- package/dist/types/components/index.d.ts +1 -0
- package/dist-react/cjs/components/ds-favourite-action/ds-favourite-action.cjs +12 -0
- package/dist-react/cjs/components/ds-favourite-action/styles/common.styles.cjs +16 -0
- package/dist-react/cjs/components/ds-theme-provider/ds-theme-provider.cjs +1 -1
- package/dist-react/cjs/index.cjs +1 -1
- package/dist-react/cjs/utils/IconsManager.cjs +1 -1
- package/dist-react/cjs/utils/PubSub.cjs +1 -1
- package/dist-react/cjs/utils/StylesRegistry/StylesRegistry.cjs +1 -1
- package/dist-react/cjs/utils/cssWithTokens.cjs +1 -1
- package/dist-react/cjs/utils/htmlWithTokens.cjs +1 -1
- package/dist-react/esm/components/ds-favourite-action/ds-favourite-action.js +91 -0
- package/dist-react/esm/components/ds-favourite-action/styles/common.styles.js +23 -0
- package/dist-react/esm/components/ds-theme-provider/ds-theme-provider.js +1 -1
- package/dist-react/esm/index.js +3 -2
- package/dist-react/esm/utils/IconsManager.js +1 -1
- package/dist-react/esm/utils/PubSub.js +1 -1
- package/dist-react/esm/utils/StylesRegistry/StylesRegistry.js +1 -1
- package/dist-react/esm/utils/cssWithTokens.js +1 -1
- package/dist-react/esm/utils/htmlWithTokens.js +1 -1
- package/dist-react/types/components/ds-favourite-action/ds-favourite-action.d.ts +23 -0
- package/dist-react/types/components/ds-favourite-action/ds-favourite-action.test.d.ts +8 -0
- package/dist-react/types/components/ds-favourite-action/ds-favourite-action.types.d.ts +7 -0
- package/dist-react/types/components/ds-favourite-action/styles/common.styles.d.ts +1 -0
- package/dist-react/types/components/index.d.ts +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("../base/UiKitElement.cjs"),u=require("../../decorators/customUiKitElement.cjs"),c=require("../../utils/booleanConverter.cjs");require("../../node_modules/.pnpm/@lit_reactive-element@2.1.1/node_modules/@lit/reactive-element/reactive-element.cjs");const p=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 s=require("../../node_modules/.pnpm/@lit_reactive-element@2.1.1/node_modules/@lit/reactive-element/decorators/property.cjs"),h=require("../../node_modules/.pnpm/@lit_reactive-element@2.1.1/node_modules/@lit/reactive-element/decorators/state.cjs"),v=require("../../node_modules/.pnpm/lit-html@3.3.1/node_modules/lit-html/directives/class-map.cjs"),b=require("./styles/common.styles.cjs");var m=Object.defineProperty,y=Object.getOwnPropertyDescriptor,i=(o,e,l,r)=>{for(var t=r>1?void 0:r?y(e,l):e,a=o.length-1,n;a>=0;a--)(n=o[a])&&(t=(r?n(e,l,t):n(t))||t);return r&&t&&m(e,l,t),t};exports.DsFavouriteAction=class extends d.UiKitElement{constructor(){super(...arguments),this.initialSelected=!1,this.disabled=!1,this._selected=!1,this._initializedFromInitialSelected=!1}willUpdate(e){!this._initializedFromInitialSelected&&e.has("initialSelected")&&(this._selected=this.initialSelected,this._initializedFromInitialSelected=!0)}get currentSelected(){return this.selected??this._selected}handleClick(){if(this.disabled)return;const e=!this.currentSelected;this.selected===void 0&&(this._selected=e),this.dispatchEvent(new CustomEvent("ds-favourite-action:change",{bubbles:!0,composed:!0,detail:{selected:e}}))}get iconName(){return this.currentSelected?"heart-filled":"heart"}get iconTemplate(){return this.componentFactory.createIcon({class:"icon","icon-name":this.iconName})}get classes(){return{button:!0,selected:this.currentSelected,disabled:this.disabled}}render(){return p.html`
|
|
2
|
+
<button
|
|
3
|
+
type="button"
|
|
4
|
+
class=${v.classMap(this.classes)}
|
|
5
|
+
?disabled=${this.disabled}
|
|
6
|
+
aria-pressed=${this.currentSelected}
|
|
7
|
+
aria-label=${this.dataAriaLabel||(this.currentSelected?"Remove from favourites":"Add to favourites")}
|
|
8
|
+
@click=${this.handleClick}
|
|
9
|
+
>
|
|
10
|
+
${this.iconTemplate}
|
|
11
|
+
</button>
|
|
12
|
+
`}};exports.DsFavouriteAction.styles=[b.commonStyles];i([s.property({type:Boolean,converter:c.booleanConverter,attribute:"initial-selected"})],exports.DsFavouriteAction.prototype,"initialSelected",2);i([s.property({type:Boolean,attribute:"selected"})],exports.DsFavouriteAction.prototype,"selected",2);i([s.property({type:Boolean,converter:c.booleanConverter,reflect:!0})],exports.DsFavouriteAction.prototype,"disabled",2);i([s.property({type:String,attribute:"data-aria-label"})],exports.DsFavouriteAction.prototype,"dataAriaLabel",2);i([h.state()],exports.DsFavouriteAction.prototype,"_selected",2);exports.DsFavouriteAction=i([u.customUiKitElement("ds-favourite-action")],exports.DsFavouriteAction);
|
|
@@ -0,0 +1,16 @@
|
|
|
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"),n=e.css`
|
|
2
|
+
:host {
|
|
3
|
+
display: inline-flex;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
.button {
|
|
7
|
+
display: inline-flex;
|
|
8
|
+
box-sizing: border-box;
|
|
9
|
+
justify-content: center;
|
|
10
|
+
align-items: center;
|
|
11
|
+
cursor: pointer;
|
|
12
|
+
border: none;
|
|
13
|
+
padding: 0;
|
|
14
|
+
background: transparent;
|
|
15
|
+
}
|
|
16
|
+
`;exports.commonStyles=n;
|
|
@@ -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.
|
|
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.82",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);
|
package/dist/cjs/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("./components/ds-accordion/ds-accordion.cjs");require("./components/ds-avatar/ds-avatar.cjs");require("./components/ds-badge/ds-badge.cjs");require("./components/ds-basic-card/ds-basic-card.cjs");require("./components/ds-basic-card-image/ds-basic-card-image.cjs");require("./components/ds-basic-card-header/ds-basic-card-header.cjs");require("./components/ds-basic-card-section/ds-basic-card-section.cjs");require("./components/ds-breadcrumbs/ds-breadcrumbs.cjs");require("./components/ds-breadcrumbs-item/ds-breadcrumbs-item.cjs");require("./components/ds-bullets/ds-bullets.cjs");require("./components/ds-button/ds-button.cjs");require("./components/ds-calendar/ds-calendar.cjs");require("./components/ds-calendar-day/ds-calendar-day.cjs");require("./components/ds-carousel-indicator/ds-carousel-indicator.cjs");require("./components/ds-checkbox/ds-checkbox.cjs");require("./components/ds-checkbox-group/ds-checkbox-group.cjs");require("./components/ds-chip/ds-chip.cjs");require("./components/ds-chips/ds-chips.cjs");require("./components/ds-currency/ds-currency.cjs");require("./components/ds-dialog/ds-dialog.cjs");require("./components/ds-dialog-body/ds-dialog-body.cjs");require("./components/ds-dialog-footer/ds-dialog-footer.cjs");require("./components/ds-dialog-fullscreen/ds-dialog-fullscreen.cjs");require("./components/ds-dialog-header/ds-dialog-header.cjs");require("./components/ds-divider/ds-divider.cjs");require("./components/ds-drawer/ds-drawer.cjs");require("./components/ds-hyperlink/ds-hyperlink.cjs");require("./components/ds-icon/ds-icon.cjs");require("./components/ds-icon-button/ds-icon-button.cjs");require("./components/ds-input/ds-input.cjs");require("./components/ds-interactive-card/ds-interactive-card.cjs");require("./components/ds-link-button/ds-link-button.cjs");require("./components/ds-loader-bar/ds-loader-bar.cjs");require("./components/ds-loader-dots/ds-loader-dots.cjs");require("./components/ds-loader-logo/ds-loader-logo.cjs");require("./components/ds-loader-spinner/ds-loader-spinner.cjs");require("./components/ds-logo/ds-logo.cjs");require("./components/ds-main-title/ds-main-title.cjs");require("./components/ds-map-pin/ds-map-pin.cjs");require("./components/ds-modal/ds-modal.cjs");require("./components/ds-password-input/ds-password-input.cjs");require("./components/ds-picker-item/ds-picker-item.cjs");require("./components/ds-portal/ds-portal.cjs");require("./components/ds-progress-bar/ds-progress-bar.cjs");require("./components/ds-radio/ds-radio.cjs");require("./components/ds-radio-button/ds-radio-button.cjs");require("./components/ds-radio-button-group/ds-radio-button-group.cjs");require("./components/ds-radio-group/ds-radio-group.cjs");require("./components/ds-rating/ds-rating.cjs");require("./components/ds-search/ds-search.cjs");require("./components/ds-search-input/ds-search-input.cjs");require("./components/ds-secondary-navigation/ds-secondary-navigation.cjs");require("./components/ds-segmented-control/ds-segmented-control.cjs");require("./components/ds-select/ds-select.cjs");require("./components/ds-selection/ds-selection.cjs");require("./components/ds-skeleton/ds-skeleton.cjs");require("./components/ds-sidebar-navigation/ds-sidebar-navigation.cjs");require("./components/ds-slider/ds-slider.cjs");require("./components/ds-static-box/ds-static-box.cjs");require("./components/ds-stepper/ds-stepper.cjs");require("./components/ds-tabs/ds-tabs.cjs");require("./components/ds-tag/ds-tag.cjs");require("./components/ds-text/ds-text.cjs");require("./components/ds-text-input/ds-text-input.cjs");require("./components/ds-textarea/ds-textarea.cjs");require("./components/ds-theme-provider/ds-theme-provider.cjs");require("./components/ds-toast/ds-toast.cjs");require("./components/ds-toast-message/ds-toast-message.cjs");require("./components/ds-inline-alert/ds-inline-alert.cjs");require("./components/ds-toggle-button/ds-toggle-button.cjs");require("./components/ds-toggle-switch/ds-toggle-switch.cjs");require("./components/ds-tooltip/ds-tooltip.cjs");require("./components/ds-value-unit/ds-value-unit.cjs");require("./components/ds-media-control/ds-media-control.cjs");require("./components/ds-list-item/ds-list-item.cjs");require("./components/ds-list/ds-list.cjs");require("./components/ds-icon-button-group/ds-icon-button-group.cjs");require("./components/ds-navigation-controls/ds-navigation-controls.cjs");require("./components/ds-table/ds-table.cjs");require("./components/ds-table-row/ds-table-row.cjs");require("./components/ds-table-cell/ds-table-cell.cjs");const e=require("./components/ds-icon/iconNames.cjs");exports.iconNames=e.iconNames;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("./components/ds-accordion/ds-accordion.cjs");require("./components/ds-avatar/ds-avatar.cjs");require("./components/ds-badge/ds-badge.cjs");require("./components/ds-basic-card/ds-basic-card.cjs");require("./components/ds-basic-card-image/ds-basic-card-image.cjs");require("./components/ds-basic-card-header/ds-basic-card-header.cjs");require("./components/ds-basic-card-section/ds-basic-card-section.cjs");require("./components/ds-breadcrumbs/ds-breadcrumbs.cjs");require("./components/ds-breadcrumbs-item/ds-breadcrumbs-item.cjs");require("./components/ds-bullets/ds-bullets.cjs");require("./components/ds-button/ds-button.cjs");require("./components/ds-calendar/ds-calendar.cjs");require("./components/ds-calendar-day/ds-calendar-day.cjs");require("./components/ds-carousel-indicator/ds-carousel-indicator.cjs");require("./components/ds-checkbox/ds-checkbox.cjs");require("./components/ds-checkbox-group/ds-checkbox-group.cjs");require("./components/ds-chip/ds-chip.cjs");require("./components/ds-chips/ds-chips.cjs");require("./components/ds-currency/ds-currency.cjs");require("./components/ds-dialog/ds-dialog.cjs");require("./components/ds-dialog-body/ds-dialog-body.cjs");require("./components/ds-dialog-footer/ds-dialog-footer.cjs");require("./components/ds-dialog-fullscreen/ds-dialog-fullscreen.cjs");require("./components/ds-dialog-header/ds-dialog-header.cjs");require("./components/ds-divider/ds-divider.cjs");require("./components/ds-drawer/ds-drawer.cjs");require("./components/ds-favourite-action/ds-favourite-action.cjs");require("./components/ds-hyperlink/ds-hyperlink.cjs");require("./components/ds-icon/ds-icon.cjs");require("./components/ds-icon-button/ds-icon-button.cjs");require("./components/ds-input/ds-input.cjs");require("./components/ds-interactive-card/ds-interactive-card.cjs");require("./components/ds-link-button/ds-link-button.cjs");require("./components/ds-loader-bar/ds-loader-bar.cjs");require("./components/ds-loader-dots/ds-loader-dots.cjs");require("./components/ds-loader-logo/ds-loader-logo.cjs");require("./components/ds-loader-spinner/ds-loader-spinner.cjs");require("./components/ds-logo/ds-logo.cjs");require("./components/ds-main-title/ds-main-title.cjs");require("./components/ds-map-pin/ds-map-pin.cjs");require("./components/ds-modal/ds-modal.cjs");require("./components/ds-password-input/ds-password-input.cjs");require("./components/ds-picker-item/ds-picker-item.cjs");require("./components/ds-portal/ds-portal.cjs");require("./components/ds-progress-bar/ds-progress-bar.cjs");require("./components/ds-radio/ds-radio.cjs");require("./components/ds-radio-button/ds-radio-button.cjs");require("./components/ds-radio-button-group/ds-radio-button-group.cjs");require("./components/ds-radio-group/ds-radio-group.cjs");require("./components/ds-rating/ds-rating.cjs");require("./components/ds-search/ds-search.cjs");require("./components/ds-search-input/ds-search-input.cjs");require("./components/ds-secondary-navigation/ds-secondary-navigation.cjs");require("./components/ds-segmented-control/ds-segmented-control.cjs");require("./components/ds-select/ds-select.cjs");require("./components/ds-selection/ds-selection.cjs");require("./components/ds-skeleton/ds-skeleton.cjs");require("./components/ds-sidebar-navigation/ds-sidebar-navigation.cjs");require("./components/ds-slider/ds-slider.cjs");require("./components/ds-static-box/ds-static-box.cjs");require("./components/ds-stepper/ds-stepper.cjs");require("./components/ds-tabs/ds-tabs.cjs");require("./components/ds-tag/ds-tag.cjs");require("./components/ds-text/ds-text.cjs");require("./components/ds-text-input/ds-text-input.cjs");require("./components/ds-textarea/ds-textarea.cjs");require("./components/ds-theme-provider/ds-theme-provider.cjs");require("./components/ds-toast/ds-toast.cjs");require("./components/ds-toast-message/ds-toast-message.cjs");require("./components/ds-inline-alert/ds-inline-alert.cjs");require("./components/ds-toggle-button/ds-toggle-button.cjs");require("./components/ds-toggle-switch/ds-toggle-switch.cjs");require("./components/ds-tooltip/ds-tooltip.cjs");require("./components/ds-value-unit/ds-value-unit.cjs");require("./components/ds-media-control/ds-media-control.cjs");require("./components/ds-list-item/ds-list-item.cjs");require("./components/ds-list/ds-list.cjs");require("./components/ds-icon-button-group/ds-icon-button-group.cjs");require("./components/ds-navigation-controls/ds-navigation-controls.cjs");require("./components/ds-table/ds-table.cjs");require("./components/ds-table-row/ds-table-row.cjs");require("./components/ds-table-cell/ds-table-cell.cjs");const e=require("./components/ds-icon/iconNames.cjs");exports.iconNames=e.iconNames;
|
|
@@ -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.
|
|
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.82"),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.
|
|
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.82"),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.
|
|
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.82/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-
|
|
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-82"),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-
|
|
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-82"),n=o.unsafeHTML(r);return i.html`${n}`}exports.htmlWithTokens=a;
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { UiKitElement as p } from "../base/UiKitElement.js";
|
|
2
|
+
import { customUiKitElement as m } from "../../decorators/customUiKitElement.js";
|
|
3
|
+
import { booleanConverter as d } from "../../utils/booleanConverter.js";
|
|
4
|
+
import "../../node_modules/.pnpm/@lit_reactive-element@2.1.1/node_modules/@lit/reactive-element/reactive-element.js";
|
|
5
|
+
import { html as u } from "../../node_modules/.pnpm/lit-html@3.3.1/node_modules/lit-html/lit-html.js";
|
|
6
|
+
import "../../node_modules/.pnpm/lit-element@4.2.1/node_modules/lit-element/lit-element.js";
|
|
7
|
+
import { property as a } from "../../node_modules/.pnpm/@lit_reactive-element@2.1.1/node_modules/@lit/reactive-element/decorators/property.js";
|
|
8
|
+
import { state as h } from "../../node_modules/.pnpm/@lit_reactive-element@2.1.1/node_modules/@lit/reactive-element/decorators/state.js";
|
|
9
|
+
import { classMap as f } from "../../node_modules/.pnpm/lit-html@3.3.1/node_modules/lit-html/directives/class-map.js";
|
|
10
|
+
import { commonStyles as b } from "./styles/common.styles.js";
|
|
11
|
+
var v = Object.defineProperty, S = Object.getOwnPropertyDescriptor, r = (t, s, o, l) => {
|
|
12
|
+
for (var i = l > 1 ? void 0 : l ? S(s, o) : s, c = t.length - 1, n; c >= 0; c--)
|
|
13
|
+
(n = t[c]) && (i = (l ? n(s, o, i) : n(i)) || i);
|
|
14
|
+
return l && i && v(s, o, i), i;
|
|
15
|
+
};
|
|
16
|
+
let e = class extends p {
|
|
17
|
+
constructor() {
|
|
18
|
+
super(...arguments), this.initialSelected = !1, this.disabled = !1, this._selected = !1, this._initializedFromInitialSelected = !1;
|
|
19
|
+
}
|
|
20
|
+
willUpdate(t) {
|
|
21
|
+
!this._initializedFromInitialSelected && t.has("initialSelected") && (this._selected = this.initialSelected, this._initializedFromInitialSelected = !0);
|
|
22
|
+
}
|
|
23
|
+
get currentSelected() {
|
|
24
|
+
return this.selected ?? this._selected;
|
|
25
|
+
}
|
|
26
|
+
handleClick() {
|
|
27
|
+
if (this.disabled) return;
|
|
28
|
+
const t = !this.currentSelected;
|
|
29
|
+
this.selected === void 0 && (this._selected = t), this.dispatchEvent(
|
|
30
|
+
new CustomEvent("ds-favourite-action:change", {
|
|
31
|
+
bubbles: !0,
|
|
32
|
+
composed: !0,
|
|
33
|
+
detail: {
|
|
34
|
+
selected: t
|
|
35
|
+
}
|
|
36
|
+
})
|
|
37
|
+
);
|
|
38
|
+
}
|
|
39
|
+
get iconName() {
|
|
40
|
+
return this.currentSelected ? "heart-filled" : "heart";
|
|
41
|
+
}
|
|
42
|
+
get iconTemplate() {
|
|
43
|
+
return this.componentFactory.createIcon({
|
|
44
|
+
class: "icon",
|
|
45
|
+
"icon-name": this.iconName
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
get classes() {
|
|
49
|
+
return {
|
|
50
|
+
button: !0,
|
|
51
|
+
selected: this.currentSelected,
|
|
52
|
+
disabled: this.disabled
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
render() {
|
|
56
|
+
return u`
|
|
57
|
+
<button
|
|
58
|
+
type="button"
|
|
59
|
+
class=${f(this.classes)}
|
|
60
|
+
?disabled=${this.disabled}
|
|
61
|
+
aria-pressed=${this.currentSelected}
|
|
62
|
+
aria-label=${this.dataAriaLabel || (this.currentSelected ? "Remove from favourites" : "Add to favourites")}
|
|
63
|
+
@click=${this.handleClick}
|
|
64
|
+
>
|
|
65
|
+
${this.iconTemplate}
|
|
66
|
+
</button>
|
|
67
|
+
`;
|
|
68
|
+
}
|
|
69
|
+
};
|
|
70
|
+
e.styles = [b];
|
|
71
|
+
r([
|
|
72
|
+
a({ type: Boolean, converter: d, attribute: "initial-selected" })
|
|
73
|
+
], e.prototype, "initialSelected", 2);
|
|
74
|
+
r([
|
|
75
|
+
a({ type: Boolean, attribute: "selected" })
|
|
76
|
+
], e.prototype, "selected", 2);
|
|
77
|
+
r([
|
|
78
|
+
a({ type: Boolean, converter: d, reflect: !0 })
|
|
79
|
+
], e.prototype, "disabled", 2);
|
|
80
|
+
r([
|
|
81
|
+
a({ type: String, attribute: "data-aria-label" })
|
|
82
|
+
], e.prototype, "dataAriaLabel", 2);
|
|
83
|
+
r([
|
|
84
|
+
h()
|
|
85
|
+
], e.prototype, "_selected", 2);
|
|
86
|
+
e = r([
|
|
87
|
+
m("ds-favourite-action")
|
|
88
|
+
], e);
|
|
89
|
+
export {
|
|
90
|
+
e as DsFavouriteAction
|
|
91
|
+
};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import "../../../node_modules/.pnpm/@lit_reactive-element@2.1.1/node_modules/@lit/reactive-element/reactive-element.js";
|
|
2
|
+
import "../../../node_modules/.pnpm/lit-html@3.3.1/node_modules/lit-html/lit-html.js";
|
|
3
|
+
import "../../../node_modules/.pnpm/lit-element@4.2.1/node_modules/lit-element/lit-element.js";
|
|
4
|
+
import { css as n } from "../../../node_modules/.pnpm/@lit_reactive-element@2.1.1/node_modules/@lit/reactive-element/css-tag.js";
|
|
5
|
+
const e = n`
|
|
6
|
+
:host {
|
|
7
|
+
display: inline-flex;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
.button {
|
|
11
|
+
display: inline-flex;
|
|
12
|
+
box-sizing: border-box;
|
|
13
|
+
justify-content: center;
|
|
14
|
+
align-items: center;
|
|
15
|
+
cursor: pointer;
|
|
16
|
+
border: none;
|
|
17
|
+
padding: 0;
|
|
18
|
+
background: transparent;
|
|
19
|
+
}
|
|
20
|
+
`;
|
|
21
|
+
export {
|
|
22
|
+
e as commonStyles
|
|
23
|
+
};
|
|
@@ -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.
|
|
57
|
+
const s = "/2.0.0-canary.82", 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");
|
package/dist/esm/index.js
CHANGED
|
@@ -24,6 +24,7 @@ import "./components/ds-dialog-fullscreen/ds-dialog-fullscreen.js";
|
|
|
24
24
|
import "./components/ds-dialog-header/ds-dialog-header.js";
|
|
25
25
|
import "./components/ds-divider/ds-divider.js";
|
|
26
26
|
import "./components/ds-drawer/ds-drawer.js";
|
|
27
|
+
import "./components/ds-favourite-action/ds-favourite-action.js";
|
|
27
28
|
import "./components/ds-hyperlink/ds-hyperlink.js";
|
|
28
29
|
import "./components/ds-icon/ds-icon.js";
|
|
29
30
|
import "./components/ds-icon-button/ds-icon-button.js";
|
|
@@ -79,7 +80,7 @@ import "./components/ds-navigation-controls/ds-navigation-controls.js";
|
|
|
79
80
|
import "./components/ds-table/ds-table.js";
|
|
80
81
|
import "./components/ds-table-row/ds-table-row.js";
|
|
81
82
|
import "./components/ds-table-cell/ds-table-cell.js";
|
|
82
|
-
import { iconNames as
|
|
83
|
+
import { iconNames as Eo } from "./components/ds-icon/iconNames.js";
|
|
83
84
|
export {
|
|
84
|
-
|
|
85
|
+
Eo as iconNames
|
|
85
86
|
};
|
|
@@ -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.
|
|
28
|
+
const c = Symbol.for("@cupra/ui-kit/icons-manager/2.0.0-canary.82"), h = globalThis;
|
|
29
29
|
let i = h[c];
|
|
30
30
|
i || (i = new l(), Object.defineProperty(h, c, {
|
|
31
31
|
value: i,
|
package/dist/esm/utils/PubSub.js
CHANGED
|
@@ -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.
|
|
21
|
+
const u = Symbol.for("@cupra/ui-kit/pubsub/2.0.0-canary.82"), 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.
|
|
10
|
+
const c = `https://ds-assets.cupra.com/2.0.0-canary.82/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-
|
|
6
|
+
const e = String.raw({ raw: t }, ...r).replace(/(--private-[\w-]+)(?=\s*[):,])/g, "$1-v2-0-0-canary-82"), 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-
|
|
6
|
+
const o = String.raw({ raw: t }, ...r).replace(/(--private-[\w-]+)(?=\s*[):,])/g, "$1-v2-0-0-canary-82"), e = i(o);
|
|
7
7
|
return n`${e}`;
|
|
8
8
|
}
|
|
9
9
|
export {
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { UiKitElement } from '../base/UiKitElement.ts';
|
|
2
|
+
import type { DsFavouriteActionAttrs } from '../ds-favourite-action/ds-favourite-action.types.ts';
|
|
3
|
+
import type { Icons } from '../ds-icon/Icons.type.ts';
|
|
4
|
+
export declare class DsFavouriteAction extends UiKitElement {
|
|
5
|
+
static styles: import("lit").CSSResult[];
|
|
6
|
+
initialSelected: DsFavouriteActionAttrs['initial-selected'];
|
|
7
|
+
selected: DsFavouriteActionAttrs['selected'];
|
|
8
|
+
disabled: DsFavouriteActionAttrs['disabled'];
|
|
9
|
+
dataAriaLabel: DsFavouriteActionAttrs['data-aria-label'];
|
|
10
|
+
private _selected;
|
|
11
|
+
private _initializedFromInitialSelected;
|
|
12
|
+
protected willUpdate(changedProperties: Map<string, unknown>): void;
|
|
13
|
+
protected get currentSelected(): boolean;
|
|
14
|
+
protected handleClick(): void;
|
|
15
|
+
protected get iconName(): Icons;
|
|
16
|
+
protected get iconTemplate(): any;
|
|
17
|
+
protected get classes(): {
|
|
18
|
+
button: boolean;
|
|
19
|
+
selected: boolean;
|
|
20
|
+
disabled: boolean;
|
|
21
|
+
};
|
|
22
|
+
render(): import("lit").TemplateResult<1>;
|
|
23
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const commonStyles: import("lit").CSSResult;
|
|
@@ -24,6 +24,7 @@ import './ds-dialog-fullscreen/ds-dialog-fullscreen.ts';
|
|
|
24
24
|
import './ds-dialog-header/ds-dialog-header.ts';
|
|
25
25
|
import './ds-divider/ds-divider.ts';
|
|
26
26
|
import './ds-drawer/ds-drawer.ts';
|
|
27
|
+
import './ds-favourite-action/ds-favourite-action.ts';
|
|
27
28
|
import './ds-hyperlink/ds-hyperlink.ts';
|
|
28
29
|
import './ds-icon/ds-icon.ts';
|
|
29
30
|
import './ds-icon-button/ds-icon-button.ts';
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("../base/UiKitElement.cjs"),u=require("../../decorators/customUiKitElement.cjs"),c=require("../../utils/booleanConverter.cjs");require("../../node_modules/.pnpm/@lit_reactive-element@2.1.1/node_modules/@lit/reactive-element/reactive-element.cjs");const p=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 s=require("../../node_modules/.pnpm/@lit_reactive-element@2.1.1/node_modules/@lit/reactive-element/decorators/property.cjs"),h=require("../../node_modules/.pnpm/@lit_reactive-element@2.1.1/node_modules/@lit/reactive-element/decorators/state.cjs"),v=require("../../node_modules/.pnpm/lit-html@3.3.1/node_modules/lit-html/directives/class-map.cjs"),b=require("./styles/common.styles.cjs");var m=Object.defineProperty,y=Object.getOwnPropertyDescriptor,i=(o,e,l,r)=>{for(var t=r>1?void 0:r?y(e,l):e,a=o.length-1,n;a>=0;a--)(n=o[a])&&(t=(r?n(e,l,t):n(t))||t);return r&&t&&m(e,l,t),t};exports.DsFavouriteAction=class extends d.UiKitElement{constructor(){super(...arguments),this.initialSelected=!1,this.disabled=!1,this._selected=!1,this._initializedFromInitialSelected=!1}willUpdate(e){!this._initializedFromInitialSelected&&e.has("initialSelected")&&(this._selected=this.initialSelected,this._initializedFromInitialSelected=!0)}get currentSelected(){return this.selected??this._selected}handleClick(){if(this.disabled)return;const e=!this.currentSelected;this.selected===void 0&&(this._selected=e),this.dispatchEvent(new CustomEvent("ds-favourite-action:change",{bubbles:!0,composed:!0,detail:{selected:e}}))}get iconName(){return this.currentSelected?"heart-filled":"heart"}get iconTemplate(){return this.componentFactory.createIcon({class:"icon","icon-name":this.iconName})}get classes(){return{button:!0,selected:this.currentSelected,disabled:this.disabled}}render(){return p.html`
|
|
2
|
+
<button
|
|
3
|
+
type="button"
|
|
4
|
+
class=${v.classMap(this.classes)}
|
|
5
|
+
?disabled=${this.disabled}
|
|
6
|
+
aria-pressed=${this.currentSelected}
|
|
7
|
+
aria-label=${this.dataAriaLabel||(this.currentSelected?"Remove from favourites":"Add to favourites")}
|
|
8
|
+
@click=${this.handleClick}
|
|
9
|
+
>
|
|
10
|
+
${this.iconTemplate}
|
|
11
|
+
</button>
|
|
12
|
+
`}};exports.DsFavouriteAction.styles=[b.commonStyles];i([s.property({type:Boolean,converter:c.booleanConverter,attribute:"initial-selected"})],exports.DsFavouriteAction.prototype,"initialSelected",2);i([s.property({type:Boolean,attribute:"selected"})],exports.DsFavouriteAction.prototype,"selected",2);i([s.property({type:Boolean,converter:c.booleanConverter,reflect:!0})],exports.DsFavouriteAction.prototype,"disabled",2);i([s.property({type:String,attribute:"data-aria-label"})],exports.DsFavouriteAction.prototype,"dataAriaLabel",2);i([h.state()],exports.DsFavouriteAction.prototype,"_selected",2);exports.DsFavouriteAction=i([u.customUiKitElement("ds-favourite-action")],exports.DsFavouriteAction);
|
|
@@ -0,0 +1,16 @@
|
|
|
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"),n=e.css`
|
|
2
|
+
:host {
|
|
3
|
+
display: inline-flex;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
.button {
|
|
7
|
+
display: inline-flex;
|
|
8
|
+
box-sizing: border-box;
|
|
9
|
+
justify-content: center;
|
|
10
|
+
align-items: center;
|
|
11
|
+
cursor: pointer;
|
|
12
|
+
border: none;
|
|
13
|
+
padding: 0;
|
|
14
|
+
background: transparent;
|
|
15
|
+
}
|
|
16
|
+
`;exports.commonStyles=n;
|
|
@@ -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.
|
|
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.82",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);
|
package/dist-react/cjs/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("./components/ds-accordion/ds-accordion.cjs");require("./components/ds-avatar/ds-avatar.cjs");require("./components/ds-badge/ds-badge.cjs");require("./components/ds-basic-card/ds-basic-card.cjs");require("./components/ds-basic-card-image/ds-basic-card-image.cjs");require("./components/ds-basic-card-header/ds-basic-card-header.cjs");require("./components/ds-basic-card-section/ds-basic-card-section.cjs");require("./components/ds-breadcrumbs/ds-breadcrumbs.cjs");require("./components/ds-breadcrumbs-item/ds-breadcrumbs-item.cjs");require("./components/ds-bullets/ds-bullets.cjs");require("./components/ds-button/ds-button.cjs");require("./components/ds-calendar/ds-calendar.cjs");require("./components/ds-calendar-day/ds-calendar-day.cjs");require("./components/ds-carousel-indicator/ds-carousel-indicator.cjs");require("./components/ds-checkbox/ds-checkbox.cjs");require("./components/ds-checkbox-group/ds-checkbox-group.cjs");require("./components/ds-chip/ds-chip.cjs");require("./components/ds-chips/ds-chips.cjs");require("./components/ds-currency/ds-currency.cjs");require("./components/ds-dialog/ds-dialog.cjs");require("./components/ds-dialog-body/ds-dialog-body.cjs");require("./components/ds-dialog-footer/ds-dialog-footer.cjs");require("./components/ds-dialog-fullscreen/ds-dialog-fullscreen.cjs");require("./components/ds-dialog-header/ds-dialog-header.cjs");require("./components/ds-divider/ds-divider.cjs");require("./components/ds-drawer/ds-drawer.cjs");require("./components/ds-hyperlink/ds-hyperlink.cjs");require("./components/ds-icon/ds-icon.cjs");require("./components/ds-icon-button/ds-icon-button.cjs");require("./components/ds-input/ds-input.cjs");require("./components/ds-interactive-card/ds-interactive-card.cjs");require("./components/ds-link-button/ds-link-button.cjs");require("./components/ds-loader-bar/ds-loader-bar.cjs");require("./components/ds-loader-dots/ds-loader-dots.cjs");require("./components/ds-loader-logo/ds-loader-logo.cjs");require("./components/ds-loader-spinner/ds-loader-spinner.cjs");require("./components/ds-logo/ds-logo.cjs");require("./components/ds-main-title/ds-main-title.cjs");require("./components/ds-map-pin/ds-map-pin.cjs");require("./components/ds-modal/ds-modal.cjs");require("./components/ds-password-input/ds-password-input.cjs");require("./components/ds-picker-item/ds-picker-item.cjs");require("./components/ds-portal/ds-portal.cjs");require("./components/ds-progress-bar/ds-progress-bar.cjs");require("./components/ds-radio/ds-radio.cjs");require("./components/ds-radio-button/ds-radio-button.cjs");require("./components/ds-radio-button-group/ds-radio-button-group.cjs");require("./components/ds-radio-group/ds-radio-group.cjs");require("./components/ds-rating/ds-rating.cjs");require("./components/ds-search/ds-search.cjs");require("./components/ds-search-input/ds-search-input.cjs");require("./components/ds-secondary-navigation/ds-secondary-navigation.cjs");require("./components/ds-segmented-control/ds-segmented-control.cjs");require("./components/ds-select/ds-select.cjs");require("./components/ds-selection/ds-selection.cjs");require("./components/ds-skeleton/ds-skeleton.cjs");require("./components/ds-sidebar-navigation/ds-sidebar-navigation.cjs");require("./components/ds-slider/ds-slider.cjs");require("./components/ds-static-box/ds-static-box.cjs");require("./components/ds-stepper/ds-stepper.cjs");require("./components/ds-tabs/ds-tabs.cjs");require("./components/ds-tag/ds-tag.cjs");require("./components/ds-text/ds-text.cjs");require("./components/ds-text-input/ds-text-input.cjs");require("./components/ds-textarea/ds-textarea.cjs");require("./components/ds-theme-provider/ds-theme-provider.cjs");require("./components/ds-toast/ds-toast.cjs");require("./components/ds-toast-message/ds-toast-message.cjs");require("./components/ds-inline-alert/ds-inline-alert.cjs");require("./components/ds-toggle-button/ds-toggle-button.cjs");require("./components/ds-toggle-switch/ds-toggle-switch.cjs");require("./components/ds-tooltip/ds-tooltip.cjs");require("./components/ds-value-unit/ds-value-unit.cjs");require("./components/ds-media-control/ds-media-control.cjs");require("./components/ds-list-item/ds-list-item.cjs");require("./components/ds-list/ds-list.cjs");require("./components/ds-icon-button-group/ds-icon-button-group.cjs");require("./components/ds-navigation-controls/ds-navigation-controls.cjs");require("./components/ds-table/ds-table.cjs");require("./components/ds-table-row/ds-table-row.cjs");require("./components/ds-table-cell/ds-table-cell.cjs");const e=require("./components/ds-icon/iconNames.cjs");exports.iconNames=e.iconNames;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("./components/ds-accordion/ds-accordion.cjs");require("./components/ds-avatar/ds-avatar.cjs");require("./components/ds-badge/ds-badge.cjs");require("./components/ds-basic-card/ds-basic-card.cjs");require("./components/ds-basic-card-image/ds-basic-card-image.cjs");require("./components/ds-basic-card-header/ds-basic-card-header.cjs");require("./components/ds-basic-card-section/ds-basic-card-section.cjs");require("./components/ds-breadcrumbs/ds-breadcrumbs.cjs");require("./components/ds-breadcrumbs-item/ds-breadcrumbs-item.cjs");require("./components/ds-bullets/ds-bullets.cjs");require("./components/ds-button/ds-button.cjs");require("./components/ds-calendar/ds-calendar.cjs");require("./components/ds-calendar-day/ds-calendar-day.cjs");require("./components/ds-carousel-indicator/ds-carousel-indicator.cjs");require("./components/ds-checkbox/ds-checkbox.cjs");require("./components/ds-checkbox-group/ds-checkbox-group.cjs");require("./components/ds-chip/ds-chip.cjs");require("./components/ds-chips/ds-chips.cjs");require("./components/ds-currency/ds-currency.cjs");require("./components/ds-dialog/ds-dialog.cjs");require("./components/ds-dialog-body/ds-dialog-body.cjs");require("./components/ds-dialog-footer/ds-dialog-footer.cjs");require("./components/ds-dialog-fullscreen/ds-dialog-fullscreen.cjs");require("./components/ds-dialog-header/ds-dialog-header.cjs");require("./components/ds-divider/ds-divider.cjs");require("./components/ds-drawer/ds-drawer.cjs");require("./components/ds-favourite-action/ds-favourite-action.cjs");require("./components/ds-hyperlink/ds-hyperlink.cjs");require("./components/ds-icon/ds-icon.cjs");require("./components/ds-icon-button/ds-icon-button.cjs");require("./components/ds-input/ds-input.cjs");require("./components/ds-interactive-card/ds-interactive-card.cjs");require("./components/ds-link-button/ds-link-button.cjs");require("./components/ds-loader-bar/ds-loader-bar.cjs");require("./components/ds-loader-dots/ds-loader-dots.cjs");require("./components/ds-loader-logo/ds-loader-logo.cjs");require("./components/ds-loader-spinner/ds-loader-spinner.cjs");require("./components/ds-logo/ds-logo.cjs");require("./components/ds-main-title/ds-main-title.cjs");require("./components/ds-map-pin/ds-map-pin.cjs");require("./components/ds-modal/ds-modal.cjs");require("./components/ds-password-input/ds-password-input.cjs");require("./components/ds-picker-item/ds-picker-item.cjs");require("./components/ds-portal/ds-portal.cjs");require("./components/ds-progress-bar/ds-progress-bar.cjs");require("./components/ds-radio/ds-radio.cjs");require("./components/ds-radio-button/ds-radio-button.cjs");require("./components/ds-radio-button-group/ds-radio-button-group.cjs");require("./components/ds-radio-group/ds-radio-group.cjs");require("./components/ds-rating/ds-rating.cjs");require("./components/ds-search/ds-search.cjs");require("./components/ds-search-input/ds-search-input.cjs");require("./components/ds-secondary-navigation/ds-secondary-navigation.cjs");require("./components/ds-segmented-control/ds-segmented-control.cjs");require("./components/ds-select/ds-select.cjs");require("./components/ds-selection/ds-selection.cjs");require("./components/ds-skeleton/ds-skeleton.cjs");require("./components/ds-sidebar-navigation/ds-sidebar-navigation.cjs");require("./components/ds-slider/ds-slider.cjs");require("./components/ds-static-box/ds-static-box.cjs");require("./components/ds-stepper/ds-stepper.cjs");require("./components/ds-tabs/ds-tabs.cjs");require("./components/ds-tag/ds-tag.cjs");require("./components/ds-text/ds-text.cjs");require("./components/ds-text-input/ds-text-input.cjs");require("./components/ds-textarea/ds-textarea.cjs");require("./components/ds-theme-provider/ds-theme-provider.cjs");require("./components/ds-toast/ds-toast.cjs");require("./components/ds-toast-message/ds-toast-message.cjs");require("./components/ds-inline-alert/ds-inline-alert.cjs");require("./components/ds-toggle-button/ds-toggle-button.cjs");require("./components/ds-toggle-switch/ds-toggle-switch.cjs");require("./components/ds-tooltip/ds-tooltip.cjs");require("./components/ds-value-unit/ds-value-unit.cjs");require("./components/ds-media-control/ds-media-control.cjs");require("./components/ds-list-item/ds-list-item.cjs");require("./components/ds-list/ds-list.cjs");require("./components/ds-icon-button-group/ds-icon-button-group.cjs");require("./components/ds-navigation-controls/ds-navigation-controls.cjs");require("./components/ds-table/ds-table.cjs");require("./components/ds-table-row/ds-table-row.cjs");require("./components/ds-table-cell/ds-table-cell.cjs");const e=require("./components/ds-icon/iconNames.cjs");exports.iconNames=e.iconNames;
|
|
@@ -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.
|
|
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.82"),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.
|
|
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.82"),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.
|
|
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.82/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-
|
|
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-82"),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-
|
|
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-82"),n=o.unsafeHTML(r);return i.html`${n}`}exports.htmlWithTokens=a;
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { UiKitElement as p } from "../base/UiKitElement.js";
|
|
2
|
+
import { customUiKitElement as m } from "../../decorators/customUiKitElement.js";
|
|
3
|
+
import { booleanConverter as d } from "../../utils/booleanConverter.js";
|
|
4
|
+
import "../../node_modules/.pnpm/@lit_reactive-element@2.1.1/node_modules/@lit/reactive-element/reactive-element.js";
|
|
5
|
+
import { html as u } from "../../node_modules/.pnpm/lit-html@3.3.1/node_modules/lit-html/lit-html.js";
|
|
6
|
+
import "../../node_modules/.pnpm/lit-element@4.2.1/node_modules/lit-element/lit-element.js";
|
|
7
|
+
import { property as a } from "../../node_modules/.pnpm/@lit_reactive-element@2.1.1/node_modules/@lit/reactive-element/decorators/property.js";
|
|
8
|
+
import { state as h } from "../../node_modules/.pnpm/@lit_reactive-element@2.1.1/node_modules/@lit/reactive-element/decorators/state.js";
|
|
9
|
+
import { classMap as f } from "../../node_modules/.pnpm/lit-html@3.3.1/node_modules/lit-html/directives/class-map.js";
|
|
10
|
+
import { commonStyles as b } from "./styles/common.styles.js";
|
|
11
|
+
var v = Object.defineProperty, S = Object.getOwnPropertyDescriptor, r = (t, s, o, l) => {
|
|
12
|
+
for (var i = l > 1 ? void 0 : l ? S(s, o) : s, c = t.length - 1, n; c >= 0; c--)
|
|
13
|
+
(n = t[c]) && (i = (l ? n(s, o, i) : n(i)) || i);
|
|
14
|
+
return l && i && v(s, o, i), i;
|
|
15
|
+
};
|
|
16
|
+
let e = class extends p {
|
|
17
|
+
constructor() {
|
|
18
|
+
super(...arguments), this.initialSelected = !1, this.disabled = !1, this._selected = !1, this._initializedFromInitialSelected = !1;
|
|
19
|
+
}
|
|
20
|
+
willUpdate(t) {
|
|
21
|
+
!this._initializedFromInitialSelected && t.has("initialSelected") && (this._selected = this.initialSelected, this._initializedFromInitialSelected = !0);
|
|
22
|
+
}
|
|
23
|
+
get currentSelected() {
|
|
24
|
+
return this.selected ?? this._selected;
|
|
25
|
+
}
|
|
26
|
+
handleClick() {
|
|
27
|
+
if (this.disabled) return;
|
|
28
|
+
const t = !this.currentSelected;
|
|
29
|
+
this.selected === void 0 && (this._selected = t), this.dispatchEvent(
|
|
30
|
+
new CustomEvent("ds-favourite-action:change", {
|
|
31
|
+
bubbles: !0,
|
|
32
|
+
composed: !0,
|
|
33
|
+
detail: {
|
|
34
|
+
selected: t
|
|
35
|
+
}
|
|
36
|
+
})
|
|
37
|
+
);
|
|
38
|
+
}
|
|
39
|
+
get iconName() {
|
|
40
|
+
return this.currentSelected ? "heart-filled" : "heart";
|
|
41
|
+
}
|
|
42
|
+
get iconTemplate() {
|
|
43
|
+
return this.componentFactory.createIcon({
|
|
44
|
+
class: "icon",
|
|
45
|
+
"icon-name": this.iconName
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
get classes() {
|
|
49
|
+
return {
|
|
50
|
+
button: !0,
|
|
51
|
+
selected: this.currentSelected,
|
|
52
|
+
disabled: this.disabled
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
render() {
|
|
56
|
+
return u`
|
|
57
|
+
<button
|
|
58
|
+
type="button"
|
|
59
|
+
class=${f(this.classes)}
|
|
60
|
+
?disabled=${this.disabled}
|
|
61
|
+
aria-pressed=${this.currentSelected}
|
|
62
|
+
aria-label=${this.dataAriaLabel || (this.currentSelected ? "Remove from favourites" : "Add to favourites")}
|
|
63
|
+
@click=${this.handleClick}
|
|
64
|
+
>
|
|
65
|
+
${this.iconTemplate}
|
|
66
|
+
</button>
|
|
67
|
+
`;
|
|
68
|
+
}
|
|
69
|
+
};
|
|
70
|
+
e.styles = [b];
|
|
71
|
+
r([
|
|
72
|
+
a({ type: Boolean, converter: d, attribute: "initial-selected" })
|
|
73
|
+
], e.prototype, "initialSelected", 2);
|
|
74
|
+
r([
|
|
75
|
+
a({ type: Boolean, attribute: "selected" })
|
|
76
|
+
], e.prototype, "selected", 2);
|
|
77
|
+
r([
|
|
78
|
+
a({ type: Boolean, converter: d, reflect: !0 })
|
|
79
|
+
], e.prototype, "disabled", 2);
|
|
80
|
+
r([
|
|
81
|
+
a({ type: String, attribute: "data-aria-label" })
|
|
82
|
+
], e.prototype, "dataAriaLabel", 2);
|
|
83
|
+
r([
|
|
84
|
+
h()
|
|
85
|
+
], e.prototype, "_selected", 2);
|
|
86
|
+
e = r([
|
|
87
|
+
m("ds-favourite-action")
|
|
88
|
+
], e);
|
|
89
|
+
export {
|
|
90
|
+
e as DsFavouriteAction
|
|
91
|
+
};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import "../../../node_modules/.pnpm/@lit_reactive-element@2.1.1/node_modules/@lit/reactive-element/reactive-element.js";
|
|
2
|
+
import "../../../node_modules/.pnpm/lit-html@3.3.1/node_modules/lit-html/lit-html.js";
|
|
3
|
+
import "../../../node_modules/.pnpm/lit-element@4.2.1/node_modules/lit-element/lit-element.js";
|
|
4
|
+
import { css as n } from "../../../node_modules/.pnpm/@lit_reactive-element@2.1.1/node_modules/@lit/reactive-element/css-tag.js";
|
|
5
|
+
const e = n`
|
|
6
|
+
:host {
|
|
7
|
+
display: inline-flex;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
.button {
|
|
11
|
+
display: inline-flex;
|
|
12
|
+
box-sizing: border-box;
|
|
13
|
+
justify-content: center;
|
|
14
|
+
align-items: center;
|
|
15
|
+
cursor: pointer;
|
|
16
|
+
border: none;
|
|
17
|
+
padding: 0;
|
|
18
|
+
background: transparent;
|
|
19
|
+
}
|
|
20
|
+
`;
|
|
21
|
+
export {
|
|
22
|
+
e as commonStyles
|
|
23
|
+
};
|
|
@@ -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.
|
|
57
|
+
const s = "/2.0.0-canary.82", 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");
|
package/dist-react/esm/index.js
CHANGED
|
@@ -24,6 +24,7 @@ import "./components/ds-dialog-fullscreen/ds-dialog-fullscreen.js";
|
|
|
24
24
|
import "./components/ds-dialog-header/ds-dialog-header.js";
|
|
25
25
|
import "./components/ds-divider/ds-divider.js";
|
|
26
26
|
import "./components/ds-drawer/ds-drawer.js";
|
|
27
|
+
import "./components/ds-favourite-action/ds-favourite-action.js";
|
|
27
28
|
import "./components/ds-hyperlink/ds-hyperlink.js";
|
|
28
29
|
import "./components/ds-icon/ds-icon.js";
|
|
29
30
|
import "./components/ds-icon-button/ds-icon-button.js";
|
|
@@ -79,7 +80,7 @@ import "./components/ds-navigation-controls/ds-navigation-controls.js";
|
|
|
79
80
|
import "./components/ds-table/ds-table.js";
|
|
80
81
|
import "./components/ds-table-row/ds-table-row.js";
|
|
81
82
|
import "./components/ds-table-cell/ds-table-cell.js";
|
|
82
|
-
import { iconNames as
|
|
83
|
+
import { iconNames as Eo } from "./components/ds-icon/iconNames.js";
|
|
83
84
|
export {
|
|
84
|
-
|
|
85
|
+
Eo as iconNames
|
|
85
86
|
};
|
|
@@ -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.
|
|
28
|
+
const c = Symbol.for("@cupra/ui-kit/icons-manager/2.0.0-canary.82"), 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.
|
|
21
|
+
const u = Symbol.for("@cupra/ui-kit/pubsub/2.0.0-canary.82"), 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.
|
|
10
|
+
const c = `https://ds-assets.cupra.com/2.0.0-canary.82/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-
|
|
6
|
+
const e = String.raw({ raw: t }, ...r).replace(/(--private-[\w-]+)(?=\s*[):,])/g, "$1-v2-0-0-canary-82"), 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-
|
|
6
|
+
const o = String.raw({ raw: t }, ...r).replace(/(--private-[\w-]+)(?=\s*[):,])/g, "$1-v2-0-0-canary-82"), e = i(o);
|
|
7
7
|
return n`${e}`;
|
|
8
8
|
}
|
|
9
9
|
export {
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { UiKitElement } from '../base/UiKitElement.ts';
|
|
2
|
+
import type { DsFavouriteActionAttrs } from '../ds-favourite-action/ds-favourite-action.types.ts';
|
|
3
|
+
import type { Icons } from '../ds-icon/Icons.type.ts';
|
|
4
|
+
export declare class DsFavouriteAction extends UiKitElement {
|
|
5
|
+
static styles: import("lit").CSSResult[];
|
|
6
|
+
initialSelected: DsFavouriteActionAttrs['initial-selected'];
|
|
7
|
+
selected: DsFavouriteActionAttrs['selected'];
|
|
8
|
+
disabled: DsFavouriteActionAttrs['disabled'];
|
|
9
|
+
dataAriaLabel: DsFavouriteActionAttrs['data-aria-label'];
|
|
10
|
+
private _selected;
|
|
11
|
+
private _initializedFromInitialSelected;
|
|
12
|
+
protected willUpdate(changedProperties: Map<string, unknown>): void;
|
|
13
|
+
protected get currentSelected(): boolean;
|
|
14
|
+
protected handleClick(): void;
|
|
15
|
+
protected get iconName(): Icons;
|
|
16
|
+
protected get iconTemplate(): any;
|
|
17
|
+
protected get classes(): {
|
|
18
|
+
button: boolean;
|
|
19
|
+
selected: boolean;
|
|
20
|
+
disabled: boolean;
|
|
21
|
+
};
|
|
22
|
+
render(): import("lit").TemplateResult<1>;
|
|
23
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const commonStyles: import("lit").CSSResult;
|
|
@@ -24,6 +24,7 @@ import './ds-dialog-fullscreen/ds-dialog-fullscreen.ts';
|
|
|
24
24
|
import './ds-dialog-header/ds-dialog-header.ts';
|
|
25
25
|
import './ds-divider/ds-divider.ts';
|
|
26
26
|
import './ds-drawer/ds-drawer.ts';
|
|
27
|
+
import './ds-favourite-action/ds-favourite-action.ts';
|
|
27
28
|
import './ds-hyperlink/ds-hyperlink.ts';
|
|
28
29
|
import './ds-icon/ds-icon.ts';
|
|
29
30
|
import './ds-icon-button/ds-icon-button.ts';
|