@proximus/lavender 1.4.1-beta.2 → 1.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -84,6 +84,7 @@ class WithExtraAttributes extends HTMLElement {
84
84
  ];
85
85
  }
86
86
  attributeChangedCallback(name, oldValue, newValue) {
87
+ var _a;
87
88
  if (WithExtraAttributes.observedAttributes.indexOf(name) === -1) {
88
89
  return;
89
90
  }
@@ -114,7 +115,7 @@ class WithExtraAttributes extends HTMLElement {
114
115
  name,
115
116
  oldValue,
116
117
  newValue,
117
- this.isGrid ? cssGridAlignSelfValues : flexboxAlignSelfValues
118
+ ((_a = this.parentElement) == null ? void 0 : _a.localName) === "px-grid" ? cssGridAlignSelfValues : flexboxAlignSelfValues
118
119
  );
119
120
  break;
120
121
  case "justify-self":
@@ -193,11 +194,19 @@ class WithExtraAttributes extends HTMLElement {
193
194
  var _a;
194
195
  return (_a = this.parentElement) == null ? void 0 : _a.tagName.toLowerCase();
195
196
  }
196
- get isGrid() {
197
- return this.$parentElementName === "px-grid";
198
- }
199
- get isStack() {
200
- return this.$parentElementName === "px-stack";
197
+ get isInsideGridOrStack() {
198
+ let parent = this.parentElement;
199
+ while (parent) {
200
+ if (parent.localName === "px-grid" || parent.localName === "px-stack" && (parent == null ? void 0 : parent.getAttribute("direction")) === "row") {
201
+ return true;
202
+ }
203
+ if (window.getComputedStyle(parent).display === "contents") {
204
+ parent = parent.parentElement;
205
+ continue;
206
+ }
207
+ break;
208
+ }
209
+ return false;
201
210
  }
202
211
  get grow() {
203
212
  return this.getAttribute("grow");
@@ -456,7 +465,6 @@ class PxElement extends WithExtraAttributes {
456
465
  }
457
466
  }
458
467
  connectedCallback() {
459
- var _a;
460
468
  for (const name of getSupportedPropertyNames(this.nativeName)) {
461
469
  if (name === "constructor" || this.accessorExclusions.includes(name)) {
462
470
  continue;
@@ -476,12 +484,9 @@ class PxElement extends WithExtraAttributes {
476
484
  console.warn(`Could not create property ${name} for`, this.$el, e);
477
485
  }
478
486
  }
479
- if (this.isGrid || this.isStack) {
480
- const parentDirection = (_a = this.parentElement) == null ? void 0 : _a.getAttribute("direction");
487
+ if (this.isInsideGridOrStack) {
481
488
  this.$el.style.display = "block";
482
- if (this.isGrid || this.isStack && parentDirection === "row") {
483
- this.$el.style.height = "100%";
484
- }
489
+ this.$el.style.height = "100%";
485
490
  }
486
491
  }
487
492
  get $el() {
@@ -1950,6 +1955,7 @@ class Icon extends WithExtraAttributes {
1950
1955
  <use xlink:href="#icon-${this.name}"></use>
1951
1956
  </svg>`);
1952
1957
  this.shadowRoot.innerHTML = __privateGet(this, _template).call(this);
1958
+ this.role = "img";
1953
1959
  __privateSet(this, _internals, (_a = this.attachInternals) == null ? void 0 : _a.call(this));
1954
1960
  if (__privateGet(this, _internals)) {
1955
1961
  __privateGet(this, _internals).role = "img";
@@ -1979,8 +1985,10 @@ class Icon extends WithExtraAttributes {
1979
1985
  }
1980
1986
  if (newValue) {
1981
1987
  __privateGet(this, _internals).ariaHidden = "false";
1988
+ this.ariaHidden = "false";
1982
1989
  } else {
1983
1990
  __privateGet(this, _internals).ariaHidden = "true";
1991
+ this.ariaHidden = "true";
1984
1992
  }
1985
1993
  break;
1986
1994
  }
@@ -2006,6 +2014,7 @@ class Icon extends WithExtraAttributes {
2006
2014
  }
2007
2015
  if (!this.ariaLabel && __privateGet(this, _internals)) {
2008
2016
  __privateGet(this, _internals).ariaHidden = "true";
2017
+ this.ariaHidden = "true";
2009
2018
  }
2010
2019
  }
2011
2020
  updateAttribute(attrName, oldValue, newValue, attrValues) {
@@ -2188,7 +2197,6 @@ if (!customElements.get("px-span")) {
2188
2197
  const containerCss = ':host{display:block}.container{font-family:var(--px-font-family);background-color:var(--background-color);border-radius:var(--px-radius-main);box-sizing:border-box;height:100%}:host([background-image]) .container{background-image:var(--background-image)}:host([background-gradient]) .container{background-image:var(--background-gradient)}:host([inverted]) .container{background-color:var(--background-color-inverted);color:var(--px-color-text-neutral-inverted)}.border-none{border:none}.border-s{border:var(--px-size-border-s) solid var(--border-color)}.border-m{border:var(--px-size-border-m) solid var(--border-color)}.border-l{border:var(--px-size-border-l) solid var(--border-color)}.border-side-top{border-bottom-style:none;border-right-style:none;border-left-style:none}.border-side-right{border-top-style:none;border-bottom-style:none;border-left-style:none}.border-side-bottom{border-top-style:none;border-right-style:none;border-left-style:none}.border-side-left{border-top-style:none;border-right-style:none;border-bottom-style:none}.border-side-block{border-inline-style:none}.border-side-inline{border-block-style:none}:host([inverted]) .border-s,:host([inverted]) .border-m,:host([inverted]) .border-l{border-color:var(--border-color-inverted)}.border-radius-main{border-radius:var(--px-radius-main)}.border-radius-pill{border-radius:var(--px-radius-pill)}.no-border-radius-top{border-top-left-radius:var(--px-radius-none);border-top-right-radius:var(--px-radius-none)}.no-border-radius-right{border-top-right-radius:var(--px-radius-none);border-bottom-right-radius:var(--px-radius-none)}.no-border-radius-bottom{border-bottom-left-radius:var(--px-radius-none);border-bottom-right-radius:var(--px-radius-none)}.no-border-radius-left{border-top-left-radius:var(--px-radius-none);border-bottom-left-radius:var(--px-radius-none)}.no-border-radius-all,.border-radius-none{border-radius:var(--px-radius-none)}.bgimg{background-repeat:no-repeat}.background-size-cover{background-size:cover;background-position:center center}.background-size-contain{background-size:contain}.box-shadow-none{box-shadow:none}.box-shadow-s{box-shadow:0 1px 2px #2525251f}.box-shadow-m{box-shadow:0 4px 6px -1px #25252514}.box-shadow-l{box-shadow:0 10px 15px -3px #25252514}.box-shadow-xl{box-shadow:0 20px 25px -5px #25252514}.anchored{position:relative}::slotted([slot="anchor-right"]),::slotted([slot="anchor-left"]),::slotted([slot="anchor-full"]){position:absolute;top:0}::slotted([slot="anchor-right"]),::slotted([slot="anchor-left"]){transform:translateY(-50%);z-index:3}::slotted([slot="anchor-right"]){right:var( --container-anchor-offset--mobile, var( --container-padding-right, var(--container-padding-inline, var(--container-padding)) ) )}::slotted([slot="anchor-left"]){left:var( --container-anchor-offset--mobile, var( --container-padding-left, var(--container-padding-inline, var(--container-padding)) ) )}::slotted([slot="anchor-full"]){transform:translateY(-100%);right:0;left:0;text-align:center;z-index:2}::slotted(px-vstack:only-of-type),::slotted(px-hstack:only-of-type),::slotted(px-stack:only-of-type),::slotted(px-grid:only-of-type){height:100%}.border-s ::slotted([slot="anchor-full"]){right:calc(var(--px-size-border-s) * -1);left:calc(var(--px-size-border-s) * -1)}.border-m ::slotted([slot="anchor-full"]){right:calc(var(--px-size-border-m) * -1);left:calc(var(--px-size-border-m) * -1)}.border-l ::slotted([slot="anchor-full"]){right:calc(var(--px-size-border-l) * -1);left:calc(var(--px-size-border-l) * -1)}@media only screen and (max-width: 47.938em){.container{background-color:var(--background-color--mobile, var(--background-color))}:host([background-image--mobile]) .container{background-image:var(--background-image--mobile, var(--background-image))}:host([background-gradient--mobile]) .container{background-image:var( --background-gradient--mobile, var(--background-gradient) )}:host([inverted]) .container{background-color:var( --background-color-inverted--mobile, var(--background-color-inverted) )}.border-side-top--mobile{border-top-style:solid;border-right-style:none;border-bottom-style:none;border-left-style:none}.border-side-right--mobile{border-top-style:none;border-right-style:solid;border-bottom-style:none;border-left-style:none}.border-side-bottom--mobile{border-top-style:none;border-right-style:none;border-bottom-style:solid;border-left-style:none}.border-side-left--mobile{border-top-style:none;border-right-style:none;border-bottom-style:none;border-left-style:solid}.border-side-block--mobile{border-inline-style:none;border-block-style:solid}.border-side-inline--mobile{border-block-style:none;border-inline-style:solid}.no-border-radius-top--mobile{border-top-left-radius:var(--px-radius-none);border-top-right-radius:var(--px-radius-none)}.no-border-radius-right--mobile{border-top-right-radius:var(--px-radius-none);border-bottom-right-radius:var(--px-radius-none)}.no-border-radius-bottom--mobile{border-bottom-left-radius:var(--px-radius-none);border-bottom-right-radius:var(--px-radius-none)}.no-border-radius-left--mobile{border-top-left-radius:var(--px-radius-none);border-bottom-left-radius:var(--px-radius-none)}.no-border-radius-all--mobile{border-radius:var(--px-radius-none)}}@media only screen and (min-width: 48em) and (max-width: 64em){.container{background-color:var(--background-color--tablet, var(--background-color))}:host([background-image--tablet]) .container{background-image:var(--background-image--tablet, var(--background-image))}:host([background-gradient--tablet]) .container{background-image:var( --background-gradient--tablet, var(--background-gradient) )}:host([inverted]) .container{background-color:var( --background-color-inverted--tablet, var(--background-color-inverted) )}.no-border-radius-top--tablet{border-top-left-radius:var(--px-radius-none);border-top-right-radius:var(--px-radius-none)}.no-border-radius-right--tablet{border-top-right-radius:var(--px-radius-none);border-bottom-right-radius:var(--px-radius-none)}.no-border-radius-bottom--tablet{border-bottom-left-radius:var(--px-radius-none);border-bottom-right-radius:var(--px-radius-none)}.no-border-radius-left--tablet{border-top-left-radius:var(--px-radius-none);border-bottom-left-radius:var(--px-radius-none)}.no-border-radius-all--tablet{border-radius:var(--px-radius-none)}.border-side-top--tablet{border-top-style:solid;border-right-style:none;border-bottom-style:none;border-left-style:none}.border-side-right--tablet{border-top-style:none;border-right-style:solid;border-bottom-style:none;border-left-style:none}.border-side-bottom--tablet{border-top-style:none;border-right-style:none;border-bottom-style:solid;border-left-style:none}.border-side-left--tablet{border-top-style:none;border-right-style:none;border-bottom-style:none;border-left-style:solid}.border-side-block--tablet{border-inline-style:none;border-block-style:solid}.border-side-inline--tablet{border-block-style:none;border-inline-style:solid}::slotted([slot="anchor-right"]){right:var( --container-anchor-offset--tablet, var( --container-padding-right, var(--container-padding-inline, var(--container-padding)) ) )}::slotted([slot="anchor-left"]){left:var( --container-anchor-offset--tablet, var( --container-padding-left, var(--container-padding-inline, var(--container-padding)) ) )}}@media only screen and (min-width: 64.0625em){.container{background-color:var(--background-color--laptop, var(--background-color))}:host([background-image--laptop]) .container{background-image:var(--background-image--laptop, var(--background-image))}:host([background-gradient--laptop]) .container{background-image:var( --background-gradient--laptop, var(--background-gradient) )}:host([inverted]) .container{background-color:var( --background-color-inverted--laptop, var(--background-color-inverted) )}.no-border-radius-top--laptop{border-top-left-radius:var(--px-radius-none);border-top-right-radius:var(--px-radius-none)}.no-border-radius-right--laptop{border-top-right-radius:var(--px-radius-none);border-bottom-right-radius:var(--px-radius-none)}.no-border-radius-bottom--laptop{border-bottom-left-radius:var(--px-radius-none);border-bottom-right-radius:var(--px-radius-none)}.no-border-radius-left--laptop{border-top-left-radius:var(--px-radius-none);border-bottom-left-radius:var(--px-radius-none)}.no-border-radius-all--laptop{border-radius:var(--px-radius-none)}::slotted([slot="anchor-right"]){right:var( --container-anchor-offset--laptop, var( --container-padding-right, var(--container-padding-inline, var(--container-padding)) ) )}::slotted([slot="anchor-left"]){left:var( --container-anchor-offset--laptop, var( --container-padding-left, var(--container-padding-inline, var(--container-padding)) ) )}.border-side-top--laptop{border-top-style:solid;border-right-style:none;border-bottom-style:none;border-left-style:none}.border-side-right--laptop{border-top-style:none;border-right-style:solid;border-bottom-style:none;border-left-style:none}.border-side-bottom--laptop{border-top-style:none;border-right-style:none;border-bottom-style:solid;border-left-style:none}.border-side-left--laptop{border-top-style:none;border-right-style:none;border-bottom-style:none;border-left-style:solid}.border-side-block--laptop{border-inline-style:none;border-block-style:solid}.border-side-inline--laptop{border-block-style:none;border-inline-style:solid}}';
2189
2198
  const containerStyles = new CSSStyleSheet();
2190
2199
  containerStyles.replaceSync(containerCss);
2191
- const anchorValues = ["anchor-right", "anchor-left", "anchor-full"];
2192
2200
  const attributeBreakpointCSSSelector$3 = (attributeName, attributeValue, device) => `:host([${attributeName}${device ? `--${device}` : ""}='${attributeValue}']) .container`;
2193
2201
  const paddingPrefix$1 = "px-padding";
2194
2202
  const _Container = class _Container extends PxElement {
@@ -2295,12 +2303,19 @@ const _Container = class _Container extends PxElement {
2295
2303
  if (!this.borderColor) {
2296
2304
  this.borderColor = "main";
2297
2305
  }
2298
- const anchorSlot = this.querySelector("[slot]");
2299
- if (anchorSlot) {
2300
- if (anchorValues.includes(anchorSlot.getAttribute("slot"))) {
2301
- this.shadowRoot.querySelector(".container").classList.toggle("anchored");
2302
- }
2306
+ if (this.$slotAnchor) {
2307
+ this.addAnchorClass();
2303
2308
  }
2309
+ this.contentObserver = new MutationObserver(() => {
2310
+ if (this.$slotAnchor) {
2311
+ this.addAnchorClass();
2312
+ }
2313
+ });
2314
+ this.contentObserver.observe(this, {
2315
+ childList: true,
2316
+ subtree: true,
2317
+ characterData: true
2318
+ });
2304
2319
  this._bgObserver = new IntersectionObserver((entries) => {
2305
2320
  entries.forEach((entry) => {
2306
2321
  var _a;
@@ -2316,6 +2331,7 @@ const _Container = class _Container extends PxElement {
2316
2331
  disconnectedCallback() {
2317
2332
  var _a;
2318
2333
  (_a = this._bgObserver) == null ? void 0 : _a.disconnect();
2334
+ this.contentObserver.disconnect();
2319
2335
  }
2320
2336
  attributeChangedCallback(attrName, oldValue, newValue) {
2321
2337
  if (oldValue !== newValue) {
@@ -2528,6 +2544,14 @@ const _Container = class _Container extends PxElement {
2528
2544
  updateAnchorOffsetStyle(oldValue);
2529
2545
  updateAnchorOffsetStyle(newValue);
2530
2546
  }
2547
+ addAnchorClass() {
2548
+ if (!this.$el.classList.contains("anchored")) {
2549
+ this.$el.classList.add("anchored");
2550
+ }
2551
+ }
2552
+ get $slotAnchor() {
2553
+ return this.querySelector('[slot^="anchor"]');
2554
+ }
2531
2555
  get padding() {
2532
2556
  return this.getAttribute("padding");
2533
2557
  }
@@ -2995,7 +3019,20 @@ const agGridTableThButtonCss = `:host{display:inline-flex;overflow:hidden;word-b
2995
3019
  const agGridTableThButtonStyles = new CSSStyleSheet();
2996
3020
  agGridTableThButtonStyles.replaceSync(agGridTableThButtonCss);
2997
3021
  const sortingValues = ["none", "ascending", "descending"];
3022
+ const CLICK_EVENT$1 = "px.lavender.ag-grid-table-th-button.click";
2998
3023
  const _AgGridTableThButton = class _AgGridTableThButton extends PxElement {
3024
+ constructor() {
3025
+ super(agGridTableThButtonStyles);
3026
+ this.clickHandler = (event) => {
3027
+ this.handleSortingCycle(event);
3028
+ };
3029
+ this.keypressHandler = (event) => {
3030
+ if (event.code === "Enter") {
3031
+ this.handleSortingCycle();
3032
+ }
3033
+ };
3034
+ this.shadowRoot.innerHTML = this.template();
3035
+ }
2999
3036
  template() {
3000
3037
  return `
3001
3038
  <button class="ag-grid-table-th-button">
@@ -3004,15 +3041,6 @@ const _AgGridTableThButton = class _AgGridTableThButton extends PxElement {
3004
3041
  </button>
3005
3042
  `;
3006
3043
  }
3007
- constructor() {
3008
- var _a;
3009
- super(agGridTableThButtonStyles);
3010
- this.shadowRoot.innerHTML = this.template();
3011
- this.internals = (_a = this.attachInternals) == null ? void 0 : _a.call(this);
3012
- if (this.internals) {
3013
- this.internals.ariaHidden = "true";
3014
- }
3015
- }
3016
3044
  connectedCallback() {
3017
3045
  var _a, _b, _c;
3018
3046
  super.connectedCallback();
@@ -3024,14 +3052,8 @@ const _AgGridTableThButton = class _AgGridTableThButton extends PxElement {
3024
3052
  "aria-label",
3025
3053
  "Sortable column header, press ctrl + enter to sort"
3026
3054
  );
3027
- this.addEventListener(
3028
- "click",
3029
- (event) => this.cycleToNextSortingValue(event)
3030
- );
3031
- (_c = this.$columnHeader) == null ? void 0 : _c.addEventListener(
3032
- "keypress",
3033
- (event) => this.setKeypressEvent(event)
3034
- );
3055
+ this.addEventListener("click", this.clickHandler);
3056
+ (_c = this.$columnHeader) == null ? void 0 : _c.addEventListener("keypress", this.keypressHandler);
3035
3057
  }
3036
3058
  static get observedAttributes() {
3037
3059
  return [
@@ -3063,8 +3085,8 @@ const _AgGridTableThButton = class _AgGridTableThButton extends PxElement {
3063
3085
  }
3064
3086
  disconnectedCallback() {
3065
3087
  var _a;
3066
- this.removeEventListener("click", this.cycleToNextSortingValue);
3067
- (_a = this.$columnHeader) == null ? void 0 : _a.removeEventListener("keypress", this.setKeypressEvent);
3088
+ this.removeEventListener("click", this.clickHandler);
3089
+ (_a = this.$columnHeader) == null ? void 0 : _a.removeEventListener("keypress", this.keypressHandler);
3068
3090
  }
3069
3091
  updateSorting(oldValue, newValue, attrValue) {
3070
3092
  var _a, _b;
@@ -3090,21 +3112,25 @@ const _AgGridTableThButton = class _AgGridTableThButton extends PxElement {
3090
3112
  (_b = this.$columnHeader) == null ? void 0 : _b.setAttribute("aria-label", newValue);
3091
3113
  }
3092
3114
  }
3093
- setKeypressEvent(event) {
3094
- event.stopPropagation();
3095
- event.preventDefault();
3096
- switch (event.code) {
3097
- case "Enter":
3098
- this.cycleToNextSortingValue();
3099
- break;
3100
- }
3115
+ clickAgGridTableThButton(value) {
3116
+ this.dispatchEvent(
3117
+ new CustomEvent(CLICK_EVENT$1, {
3118
+ bubbles: true,
3119
+ composed: true,
3120
+ detail: { value }
3121
+ })
3122
+ );
3101
3123
  }
3102
3124
  cycleToNextSortingValue(event) {
3125
+ event == null ? void 0 : event.stopPropagation();
3126
+ event == null ? void 0 : event.preventDefault();
3103
3127
  const currentSorting = sortingValues.indexOf(this.sorting);
3104
3128
  const nextSorting = (currentSorting + 1) % sortingValues.length;
3105
3129
  this.sorting = sortingValues[nextSorting];
3106
- event == null ? void 0 : event.stopPropagation();
3107
- event == null ? void 0 : event.preventDefault();
3130
+ }
3131
+ handleSortingCycle(event) {
3132
+ this.cycleToNextSortingValue(event);
3133
+ this.clickAgGridTableThButton(this.sorting);
3108
3134
  }
3109
3135
  get $slottedThContent() {
3110
3136
  return this.querySelector("px-ag-grid-table-th-content");
@@ -5973,10 +5999,12 @@ class CellCheckbox extends WithExtraAttributes {
5973
5999
  this.shadowRoot.innerHTML = this.template();
5974
6000
  this.internals = (_a = this.attachInternals) == null ? void 0 : _a.call(this);
5975
6001
  this.tabIndex = 0;
6002
+ this.role = "checkbox";
5976
6003
  if (this.internals) {
5977
6004
  this.internals.role = "checkbox";
5978
6005
  this.internals.ariaChecked = `${this.checked}`;
5979
6006
  }
6007
+ this.ariaChecked = `${this.checked}`;
5980
6008
  }
5981
6009
  connectedCallback() {
5982
6010
  if (this.$slotVisual) {
@@ -6093,6 +6121,7 @@ class CellCheckbox extends WithExtraAttributes {
6093
6121
  if (this.internals) {
6094
6122
  this.internals.ariaDisabled = "true";
6095
6123
  }
6124
+ this.ariaDisabled = "true";
6096
6125
  this.$cell.disabled = true;
6097
6126
  this.$checkbox.setAttribute("disabled", "");
6098
6127
  this.$children.forEach((child) => {
@@ -6105,6 +6134,7 @@ class CellCheckbox extends WithExtraAttributes {
6105
6134
  if (this.internals) {
6106
6135
  this.internals.ariaDisabled = "false";
6107
6136
  }
6137
+ this.ariaDisabled = "false";
6108
6138
  this.$cell.disabled = false;
6109
6139
  this.$checkbox.removeAttribute("disabled");
6110
6140
  this.$children.forEach((child) => {
@@ -6121,6 +6151,7 @@ class CellCheckbox extends WithExtraAttributes {
6121
6151
  if (this.internals) {
6122
6152
  this.internals.ariaChecked = "false";
6123
6153
  }
6154
+ this.ariaChecked = "false";
6124
6155
  this.checked = false;
6125
6156
  if (this.$checkbox) {
6126
6157
  this.$checkbox.removeAttribute("checked");
@@ -6129,6 +6160,7 @@ class CellCheckbox extends WithExtraAttributes {
6129
6160
  if (this.internals) {
6130
6161
  this.internals.ariaChecked = "true";
6131
6162
  }
6163
+ this.ariaChecked = "true";
6132
6164
  this.checked = true;
6133
6165
  if (this.$checkbox) {
6134
6166
  this.$checkbox.setAttribute("checked", "");
@@ -6376,10 +6408,12 @@ class CellSwitch extends WithExtraAttributes {
6376
6408
  this.shadowRoot.innerHTML = this.template();
6377
6409
  this.internals = (_a = this.attachInternals) == null ? void 0 : _a.call(this);
6378
6410
  this.tabIndex = 0;
6411
+ this.role = "checkbox";
6379
6412
  if (this.internals) {
6380
6413
  this.internals.role = "checkbox";
6381
6414
  this.internals.ariaChecked = `${this.checked}`;
6382
6415
  }
6416
+ this.ariaChecked = `${this.checked}`;
6383
6417
  }
6384
6418
  connectedCallback() {
6385
6419
  if (this.$slotVisual) {
@@ -6481,6 +6515,7 @@ class CellSwitch extends WithExtraAttributes {
6481
6515
  if (this.internals) {
6482
6516
  this.internals.ariaDisabled = "true";
6483
6517
  }
6518
+ this.ariaDisabled = "true";
6484
6519
  this.$cell.disabled = true;
6485
6520
  this.$switch.setAttribute("disabled", "");
6486
6521
  this.$children.forEach((child) => {
@@ -6493,6 +6528,7 @@ class CellSwitch extends WithExtraAttributes {
6493
6528
  if (this.internals) {
6494
6529
  this.internals.ariaDisabled = "false";
6495
6530
  }
6531
+ this.ariaDisabled = "false";
6496
6532
  this.$cell.disabled = false;
6497
6533
  this.$switch.removeAttribute("disabled");
6498
6534
  this.$children.forEach((child) => {
@@ -6509,6 +6545,7 @@ class CellSwitch extends WithExtraAttributes {
6509
6545
  if (this.internals) {
6510
6546
  this.internals.ariaChecked = "false";
6511
6547
  }
6548
+ this.ariaChecked = "false";
6512
6549
  this.checked = false;
6513
6550
  if (this.$switch) {
6514
6551
  this.$switch.removeAttribute("checked");
@@ -6517,6 +6554,7 @@ class CellSwitch extends WithExtraAttributes {
6517
6554
  if (this.internals) {
6518
6555
  this.internals.ariaChecked = "true";
6519
6556
  }
6557
+ this.ariaChecked = "true";
6520
6558
  this.checked = true;
6521
6559
  if (this.$switch) {
6522
6560
  this.$switch.setAttribute("checked", "");
@@ -6779,10 +6817,12 @@ class Radio extends RadioBase {
6779
6817
  super();
6780
6818
  this.internals = (_a = this.attachInternals) == null ? void 0 : _a.call(this);
6781
6819
  this.tabIndex = ((_b = this.parentElement) == null ? void 0 : _b.querySelector("px-radio")) === this ? 0 : -1;
6820
+ this.role = "radio";
6782
6821
  if (this.internals) {
6783
6822
  this.internals.role = "radio";
6784
6823
  this.internals.ariaChecked = `${this.checked}`;
6785
6824
  }
6825
+ this.ariaChecked = `${this.checked}`;
6786
6826
  }
6787
6827
  static get observedAttributes() {
6788
6828
  return [...super.observedAttributes, "state", "variant", "inverted"];
@@ -6880,11 +6920,13 @@ class Radio extends RadioBase {
6880
6920
  if (this.internals) {
6881
6921
  this.internals.ariaChecked = "true";
6882
6922
  }
6923
+ this.ariaChecked = "true";
6883
6924
  } else {
6884
6925
  this.tabIndex = -1;
6885
6926
  if (this.internals) {
6886
6927
  this.internals.ariaChecked = "false";
6887
6928
  }
6929
+ this.ariaChecked = "false";
6888
6930
  }
6889
6931
  if (checked) {
6890
6932
  this.dispatchEvent(
@@ -7265,10 +7307,12 @@ class CellRadio extends WithExtraAttributes {
7265
7307
  super(commonStyleSheet$6);
7266
7308
  this.shadowRoot.innerHTML = this.template();
7267
7309
  this.internals = (_a = this.attachInternals) == null ? void 0 : _a.call(this);
7310
+ this.role = "radio";
7268
7311
  if (this.internals) {
7269
7312
  this.internals.role = "radio";
7270
7313
  this.internals.ariaChecked = `${this.checked}`;
7271
7314
  }
7315
+ this.ariaChecked = `${this.checked}`;
7272
7316
  }
7273
7317
  connectedCallback() {
7274
7318
  var _a;
@@ -7389,6 +7433,7 @@ class CellRadio extends WithExtraAttributes {
7389
7433
  if (this.internals) {
7390
7434
  this.internals.ariaDisabled = "true";
7391
7435
  }
7436
+ this.ariaDisabled = "true";
7392
7437
  this.$cell.disabled = true;
7393
7438
  this.$radio.setAttribute("disabled", "");
7394
7439
  this.$children.forEach((child) => {
@@ -7401,6 +7446,7 @@ class CellRadio extends WithExtraAttributes {
7401
7446
  if (this.internals) {
7402
7447
  this.internals.ariaDisabled = "false";
7403
7448
  }
7449
+ this.ariaDisabled = "false";
7404
7450
  this.$cell.disabled = false;
7405
7451
  this.$radio.removeAttribute("disabled");
7406
7452
  this.$children.forEach((child) => {
@@ -7417,6 +7463,7 @@ class CellRadio extends WithExtraAttributes {
7417
7463
  if (this.internals) {
7418
7464
  this.internals.ariaChecked = "false";
7419
7465
  }
7466
+ this.ariaChecked = "false";
7420
7467
  this.tabIndex = -1;
7421
7468
  this.checked = false;
7422
7469
  if (this.$radio) {
@@ -7426,6 +7473,7 @@ class CellRadio extends WithExtraAttributes {
7426
7473
  if (this.internals) {
7427
7474
  this.internals.ariaChecked = "true";
7428
7475
  }
7476
+ this.ariaChecked = "true";
7429
7477
  this.tabIndex = 0;
7430
7478
  this.checked = true;
7431
7479
  if (this.$radio) {
@@ -7848,32 +7896,39 @@ if (!customElements.get("px-color-option-link")) {
7848
7896
  customElements.define("px-color-option-link", ColorOptionLink);
7849
7897
  }
7850
7898
  const contentHeaderCss = ":host{--min-height--mobile: 15.625em;--min-height--tablet: 17.5em;--min-height--laptop: 17.5em;--min-height--desktop: 17.5em}:host,:host>*{display:block;box-sizing:border-box}.content-header{position:relative;z-index:0}[min-height] .content-header-content{min-height:calc(var(--min-height--mobile) - (var(--px-spacing-l-mobile) * 2))}.content-header-content{display:flex;flex-direction:column;gap:var(--px-spacing-l-mobile);z-index:2;position:relative;box-sizing:border-box}.contrast-helper{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;display:none}[contrast-helper-gradient] .contrast-helper{display:block;background-image:linear-gradient(90deg,#fff 23.43%,#fff0 81.69%)}[inverted] :is([contrast-helper-gradient] .contrast-helper){background-image:linear-gradient(90deg,#000 23.43%,#0000 81.69%)}[contrast-helper-overlay] .contrast-helper{display:block;background-color:#ffffffb3}[inverted] :is([contrast-helper-overlay] .contrast-helper){background-color:#0006}@media only screen and (min-width: 48em){.content-header-content{gap:var(--px-spacing-l-desktop)}[min-height] .content-header-content{min-height:calc(var(--min-height--tablet) - (var(--px-spacing-l-tablet) * 2))}}@media only screen and (min-width: 64.0625em){.content-header-content{gap:var(--px-spacing-l-laptop)}[min-height] .content-header-content{min-height:calc(var(--min-height--laptop) - (var(--px-spacing-l-laptop) * 2))}}";
7851
- const contentHeaderStyles = new CSSStyleSheet();
7852
- contentHeaderStyles.replaceSync(contentHeaderCss);
7853
- const _ContentHeader = class _ContentHeader extends PxElement {
7899
+ const styles$w = ':host{display:block}:host,:host *{box-sizing:border-box}.content-wrapper{margin-inline:var(--px-padding-s-mobile);max-width:var(--px-content-wrapper-max-width-desktop)}@media only screen and (min-width: 77em){.content-wrapper{margin-inline:auto}}.overlapped{margin-bottom:calc(var(--px-overlapped-mobile) * -1)}::slotted([slot="overlap"]){margin-top:var(--px-overlapped-mobile)}@media only screen and (min-width: 48em){.overlapped{margin-bottom:calc(var(--px-overlapped-desktop) * -1)}::slotted([slot="overlap"]){margin-top:var(--px-overlapped-desktop)}}@media only screen and (min-width: 64.0625em){.overlapped{margin-bottom:calc(var(--px-overlapped-desktop) * -1)}::slotted([slot="overlap"]){margin-top:var(--px-overlapped-desktop)}}';
7900
+ const styleSheet$q = new CSSStyleSheet();
7901
+ styleSheet$q.replaceSync(styles$w);
7902
+ class Section extends HTMLElement {
7854
7903
  constructor() {
7855
- super(contentHeaderStyles);
7856
- this.template = () => `<div class="content-header">
7857
- <div class="contrast-helper"></div>
7858
- <px-section padding-block="l">
7859
- <px-grid gap="none">
7860
- <px-container padding="none" border-radius="none" background-color="none" >
7861
- <div class="content-header-content">
7862
- <px-vstack gap="heading-to-subtitle">
7863
- <px-h1 variant="title-3xl"><slot></slot></px-h1>
7864
- <slot name="subtitle"></slot>
7865
- </px-vstack>
7866
- ${this.$patchDescriptionSlot ? `<px-stack gap="s" direction="row" direction--mobile="column">
7867
- <slot name="patch" shrink></slot>
7868
- <slot name="patch-description"></slot>
7869
- </px-stack>` : ""}
7870
- </div>
7871
- </px-container>
7872
- </px-grid>
7873
- ${this.$overlapSlot ? `<slot name="overlap" slot="overlap"></slot>` : ""}
7874
- </px-section>
7875
- </div>`;
7904
+ super();
7905
+ this.template = () => `
7906
+ <px-container border-radius="none" padding-inline="none" background-color="${this.backgroundColor}">
7907
+ <div class="content-wrapper ${this.$slotOverlap ? "overlapped" : ""}">
7908
+ <px-vstack gap="heading-to-content">
7909
+ <slot name="heading"></slot>
7910
+ <px-vstack gap="none">
7911
+ <slot></slot>
7912
+ </px-vstack>
7913
+ </px-vstack>
7914
+ </div>
7915
+ </px-container>
7916
+ <div class="content-wrapper">
7917
+ <slot name="overlap"></slot>
7918
+ </div>
7919
+ `;
7920
+ this.attachShadow({ mode: "open" });
7876
7921
  this.shadowRoot.innerHTML = this.template();
7922
+ this.shadowRoot.adoptedStyleSheets = [styleSheet$q];
7923
+ }
7924
+ connectedCallback() {
7925
+ const headingSlot = this.querySelector('[slot="heading"]');
7926
+ if (!this.paddingBlock && !this.paddingTop && !this.paddingBottom && !this.paddingBlockMobile && !this.paddingTopMobile && !this.paddingBottomMobile && !this.paddingBlockTablet && !this.paddingTopTablet && !this.paddingBottomTablet && !this.paddingBlockLaptop && !this.paddingTopLaptop && !this.paddingBottomLaptop) {
7927
+ this.$container.paddingBlock = "none";
7928
+ }
7929
+ if (!headingSlot) {
7930
+ this.shadowRoot.querySelector("px-vstack").setAttribute("gap", "none");
7931
+ }
7877
7932
  }
7878
7933
  static get observedAttributes() {
7879
7934
  return [
@@ -7885,137 +7940,114 @@ const _ContentHeader = class _ContentHeader extends PxElement {
7885
7940
  "background-image--laptop",
7886
7941
  "background-size",
7887
7942
  "background-position",
7888
- "contrast-helper-gradient",
7889
- "contrast-helper-overlay",
7890
- "min-height",
7891
- "has-gridding",
7892
- "has-gridding--mobile",
7893
- "has-gridding--tablet",
7894
- "has-gridding--laptop",
7895
- "inverted"
7943
+ "padding-block",
7944
+ "padding-top",
7945
+ "padding-bottom",
7946
+ "padding-block--mobile",
7947
+ "padding-top--mobile",
7948
+ "padding-bottom--mobile",
7949
+ "padding-block--tablet",
7950
+ "padding-top--tablet",
7951
+ "padding-bottom--tablet",
7952
+ "padding-block--laptop",
7953
+ "padding-top--laptop",
7954
+ "padding-bottom--laptop",
7955
+ "border",
7956
+ "border-side",
7957
+ "border-side--mobile",
7958
+ "border-side--tablet",
7959
+ "border-side--laptop"
7896
7960
  ];
7897
7961
  }
7898
- connectedCallback() {
7899
- var _a;
7900
- (_a = super.connectedCallback) == null ? void 0 : _a.call(this);
7901
- if (this.$subtitleSlot) {
7902
- this.$subtitleSlot.setAttribute("variant", "subtitle");
7903
- }
7904
- if (this.$patchDescriptionSlot) {
7905
- if (this.$patchDescriptionSlot.localName === "px-p") {
7906
- this.$patchDescriptionSlot.setAttribute("variant", "default");
7907
- }
7908
- if (this.$patchDescriptionSlot.localName === "px-p" || this.$patchDescriptionSlot.localName === "px-span") {
7909
- this.$patchDescriptionSlot.setAttribute("font-size", "body-l");
7910
- this.$patchDescriptionSlot.removeAttribute("font-weight");
7911
- this.$patchDescriptionSlot.removeAttribute("color");
7912
- }
7913
- if (this.$patchDescriptionSlot.localName === "px-price") {
7914
- this.$patchDescriptionSlot.setAttribute("size", "m");
7915
- }
7916
- }
7917
- this.createGridding();
7962
+ get $container() {
7963
+ return this.shadowRoot.querySelector("px-container");
7918
7964
  }
7919
- attributeChangedCallback(attrName, oldValue, newValue) {
7965
+ attributeChangedCallback(name, oldValue, newValue) {
7920
7966
  if (oldValue !== newValue) {
7921
- switch (attrName) {
7967
+ switch (name) {
7922
7968
  case "background-color":
7923
- this.$section.backgroundColor = backgroundColorValues.indexOf(newValue) > 0 ? newValue : "none";
7969
+ this.$container.backgroundColor = backgroundColorValues.indexOf(newValue) > 0 ? newValue : "none";
7924
7970
  break;
7925
7971
  case "background-gradient":
7926
- this.$section.gradient = gradientValues.indexOf(newValue) > 0 ? newValue : "none";
7972
+ this.$container.gradient = this.gradient;
7927
7973
  break;
7928
7974
  case "background-image":
7929
- this.$section.backgroundImage = newValue;
7975
+ this.$container.backgroundImage = newValue;
7930
7976
  break;
7931
7977
  case "background-image--mobile":
7932
- this.$section.backgroundImageMobile = newValue;
7978
+ this.$container.backgroundImageMobile = newValue;
7933
7979
  break;
7934
7980
  case "background-image--tablet":
7935
- this.$section.backgroundImageTablet = newValue;
7981
+ this.$container.backgroundImageTablet = newValue;
7936
7982
  break;
7937
7983
  case "background-image--laptop":
7938
- this.$section.backgroundImageLaptop = newValue;
7984
+ this.$container.backgroundImageLaptop = newValue;
7939
7985
  break;
7940
7986
  case "background-size":
7941
- this.$section.backgroundSize = backgroundSizeValues.indexOf(newValue) > 0 ? newValue : "";
7987
+ this.$container.backgroundSize = newValue;
7942
7988
  break;
7943
7989
  case "background-position":
7944
- this.$section.backgroundPosition = newValue;
7990
+ this.$container.backgroundPosition = newValue;
7945
7991
  break;
7946
- case "has-gridding":
7947
- case "has-gridding--mobile":
7948
- case "has-gridding--tablet":
7949
- case "has-gridding--laptop":
7950
- this.createGridding();
7992
+ case "padding-block":
7993
+ this.$container.paddingBlock = newValue;
7951
7994
  break;
7952
- case "inverted":
7953
- for (let i = 0; i < this.$children.length; i++) {
7954
- if (!this.$children[i].hasAttribute("inverted")) {
7955
- this.$children[i].toggleAttribute("inverted");
7956
- }
7957
- }
7958
- this.$h1.toggleAttribute("inverted", newValue !== null);
7959
- this.$el.toggleAttribute("inverted", newValue !== null);
7995
+ case "padding-top":
7996
+ this.$container.paddingTop = newValue;
7960
7997
  break;
7961
- default:
7962
- super.attributeChangedCallback(attrName, oldValue, newValue);
7998
+ case "padding-bottom":
7999
+ this.$container.paddingBottom = newValue;
8000
+ break;
8001
+ case "padding-block--mobile":
8002
+ this.$container.paddingBlockMobile = newValue;
8003
+ break;
8004
+ case "padding-top--mobile":
8005
+ this.$container.paddingTopMobile = newValue;
8006
+ break;
8007
+ case "padding-bottom--mobile":
8008
+ this.$container.paddingBottomMobile = newValue;
8009
+ break;
8010
+ case "padding-block--tablet":
8011
+ this.$container.paddingBlockTablet = newValue;
8012
+ break;
8013
+ case "padding-top--tablet":
8014
+ this.$container.paddingTopTablet = newValue;
8015
+ break;
8016
+ case "padding-bottom--tablet":
8017
+ this.$container.paddingBottomTablet = newValue;
8018
+ break;
8019
+ case "padding-block--laptop":
8020
+ this.$container.paddingBlockLaptop = newValue;
8021
+ break;
8022
+ case "padding-top--laptop":
8023
+ this.$container.paddingTopLaptop = newValue;
8024
+ break;
8025
+ case "padding-bottom--laptop":
8026
+ this.$container.paddingBottomLaptop = newValue;
8027
+ break;
8028
+ case "border":
8029
+ this.$container.border = newValue;
8030
+ break;
8031
+ case "border-side":
8032
+ this.$container.borderSide = newValue;
8033
+ break;
8034
+ case "border-side--mobile":
8035
+ this.$container.borderSideMobile = newValue;
8036
+ break;
8037
+ case "border-side--tablet":
8038
+ this.$container.borderSideTablet = newValue;
8039
+ break;
8040
+ case "border-side--laptop":
8041
+ this.$container.borderSideLaptop = newValue;
7963
8042
  break;
7964
8043
  }
7965
8044
  }
7966
8045
  }
7967
- createGridding() {
7968
- const breakpoints = [
7969
- { prop: "hasGridding", gridProp: "gridCols", attr: "col-span" },
7970
- {
7971
- prop: "hasGriddingMobile",
7972
- gridProp: "gridColsMobile",
7973
- attr: "col-span--mobile"
7974
- },
7975
- {
7976
- prop: "hasGriddingTablet",
7977
- gridProp: "gridColsTablet",
7978
- attr: "col-span--tablet"
7979
- },
7980
- {
7981
- prop: "hasGriddingLaptop",
7982
- gridProp: "gridColsLaptop",
7983
- attr: "col-span--laptop"
7984
- }
7985
- ];
7986
- const spanElement = this.shadowRoot.querySelector(
7987
- "px-grid > px-container"
7988
- );
7989
- breakpoints.forEach(({ prop, gridProp, attr }) => {
7990
- if (this[prop]) {
7991
- this.$grid[gridProp] = "3";
7992
- spanElement.setAttribute(attr, "2");
7993
- }
7994
- });
7995
- }
7996
- get $grid() {
7997
- return this.shadowRoot.querySelector("px-grid");
7998
- }
7999
- get $section() {
8000
- return this.shadowRoot.querySelector("px-section");
8001
- }
8002
- get $h1() {
8003
- return this.shadowRoot.querySelector("px-h1");
8004
- }
8005
- get $subtitleSlot() {
8006
- return this.querySelector('[slot="subtitle"]');
8007
- }
8008
- get $patchDescriptionSlot() {
8009
- return this.querySelector('[slot="patch-description"]');
8010
- }
8011
- get $overlapSlot() {
8046
+ get $slotOverlap() {
8012
8047
  return this.querySelector('[slot="overlap"]');
8013
8048
  }
8014
- get $children() {
8015
- return this.querySelectorAll("px-content-header > *");
8016
- }
8017
8049
  get backgroundColor() {
8018
- return this.getAttribute("background-color");
8050
+ return this.getAttribute("background-color") || "none";
8019
8051
  }
8020
8052
  set backgroundColor(value) {
8021
8053
  this.setAttribute("background-color", value);
@@ -8062,331 +8094,221 @@ const _ContentHeader = class _ContentHeader extends PxElement {
8062
8094
  set backgroundPosition(value) {
8063
8095
  this.setAttribute("background-position", value);
8064
8096
  }
8065
- get gradientContrastHelper() {
8066
- return this.hasAttribute("contrast-helper-gradient");
8097
+ get paddingBlock() {
8098
+ return this.getAttribute("padding-block");
8067
8099
  }
8068
- set gradientContrastHelper(value) {
8069
- if (value) {
8070
- this.setAttribute("contrast-helper-gradient", "");
8071
- } else {
8072
- this.removeAttribute("contrast-helper-gradient");
8073
- }
8100
+ set paddingBlock(value) {
8101
+ this.setAttribute("padding-block", value);
8074
8102
  }
8075
- get overlayContrastHelper() {
8076
- return this.hasAttribute("contrast-helper-overlay");
8103
+ get paddingTop() {
8104
+ return this.getAttribute("padding-top");
8077
8105
  }
8078
- set overlayContrastHelper(value) {
8079
- if (value) {
8080
- this.setAttribute("contrast-helper-overlay", "");
8081
- } else {
8082
- this.removeAttribute("contrast-helper-overlay");
8083
- }
8106
+ set paddingTop(value) {
8107
+ this.setAttribute("padding-top", value);
8084
8108
  }
8085
- get hasGridding() {
8086
- return this.hasAttribute("has-gridding");
8109
+ get paddingBottom() {
8110
+ return this.getAttribute("padding-bottom");
8087
8111
  }
8088
- set hasGridding(value) {
8089
- if (value) {
8090
- this.setAttribute("has-gridding", "");
8091
- } else {
8092
- this.removeAttribute("has-gridding");
8093
- }
8112
+ set paddingBottom(value) {
8113
+ this.setAttribute("padding-bottom", value);
8094
8114
  }
8095
- get hasGriddingMobile() {
8096
- return this.hasAttribute("has-gridding--mobile");
8115
+ get paddingBlockMobile() {
8116
+ return this.getAttribute("padding-block--mobile");
8097
8117
  }
8098
- set hasGriddingMobile(value) {
8099
- if (value) {
8100
- this.setAttribute("has-gridding--mobile", "");
8101
- } else {
8102
- this.removeAttribute("has-gridding--mobile");
8103
- }
8118
+ set paddingBlockMobile(value) {
8119
+ this.setAttribute("padding-block--mobile", value);
8104
8120
  }
8105
- get hasGriddingTablet() {
8106
- return this.hasAttribute("has-gridding--tablet");
8121
+ get paddingTopMobile() {
8122
+ return this.getAttribute("padding-top--mobile");
8107
8123
  }
8108
- set hasGriddingTablet(value) {
8109
- if (value) {
8110
- this.setAttribute("has-gridding--tablet", "");
8111
- } else {
8112
- this.removeAttribute("has-gridding--tablet");
8113
- }
8124
+ set paddingTopMobile(value) {
8125
+ this.setAttribute("padding-top--mobile", value);
8114
8126
  }
8115
- get hasGriddingLaptop() {
8116
- return this.hasAttribute("has-gridding--laptop");
8127
+ get paddingBottomMobile() {
8128
+ return this.getAttribute("padding-bottom--mobile");
8117
8129
  }
8118
- set hasGriddingLaptop(value) {
8119
- if (value) {
8120
- this.setAttribute("has-gridding--laptop", "");
8121
- } else {
8122
- this.removeAttribute("has-gridding--laptop");
8123
- }
8130
+ set paddingBottomMobile(value) {
8131
+ this.setAttribute("padding-bottom--mobile", value);
8124
8132
  }
8125
- get inverted() {
8126
- return this.hasAttribute("inverted");
8133
+ get paddingBlockTablet() {
8134
+ return this.getAttribute("padding-block--tablet");
8127
8135
  }
8128
- set inverted(value) {
8129
- if (value) {
8130
- this.setAttribute("inverted", "");
8131
- } else {
8132
- this.removeAttribute("inverted");
8133
- }
8136
+ set paddingBlockTablet(value) {
8137
+ this.setAttribute("padding-block--tablet", value);
8134
8138
  }
8135
- get minHeight() {
8136
- return this.hasAttribute("min-height");
8139
+ get paddingTopTablet() {
8140
+ return this.getAttribute("padding-top--tablet");
8137
8141
  }
8138
- set minHeight(value) {
8139
- if (value) {
8140
- this.setAttribute("min-height", "");
8141
- } else {
8142
- this.removeAttribute("min-height");
8143
- }
8142
+ set paddingTopTablet(value) {
8143
+ this.setAttribute("padding-top--tablet", value);
8144
8144
  }
8145
- };
8146
- _ContentHeader.nativeName = "div";
8147
- let ContentHeader = _ContentHeader;
8148
- if (!customElements.get("px-content-header")) {
8149
- customElements.define("px-content-header", ContentHeader);
8150
- }
8151
- const styles$w = ".separator{--separator-size: var(--px-size-border-m);--separator-direction--mobile-border-width: var(--separator-size) 0 0;--separator-direction--mobile-width: initial;--separator-direction--mobile-height: initial;clear:both;margin:0;border-style:solid;border-color:var( --separator-color-default, var(--px-color-border-main-default) );border-width:var(--separator-size) 0 0;width:initial;height:initial}.separator-direction-horizontal--mobile{border-width:var(--separator-size) 0 0;width:initial;height:initial}.separator-direction-vertical--mobile{width:var(--separator-size);height:100%;border-width:0 var(--separator-size) 0 0}:host([inverted]) .separator{border-color:var( --separator-color-inverted, var(--px-color-border-main-inverted) )}@media only screen and (min-width: 768px){.separator-direction-horizontal--tablet{border-width:var(--separator-size) 0 0;width:initial;height:initial}.separator-direction-vertical--tablet{width:var(--separator-size);height:100%;border-width:0 var(--separator-size) 0 0}}@media only screen and (min-width: 1025px){.separator-direction-horizontal--laptop{border-width:var(--separator-size) 0 0;width:initial;height:initial}.separator-direction-vertical--laptop{width:var(--separator-size);height:100%;border-width:0 var(--separator-size) 0 0}}@media only screen and (min-width: 1441px){.separator-direction-horizontal--desktop{border-width:var(--separator-size) 0 0;width:initial;height:initial}.separator-direction-vertical--desktop{width:var(--separator-size);height:100%;border-width:0 var(--separator-size) 0 0}}";
8152
- const styleSheet$q = new CSSStyleSheet();
8153
- styleSheet$q.replaceSync(styles$w);
8154
- const separatorDirectionValues = [
8155
- "",
8156
- "default",
8157
- "horizontal",
8158
- "vertical"
8159
- ];
8160
- const separatorSizeValues = ["", "default", "none", "s", "m", "l"];
8161
- const separatorColorValues = [
8162
- "",
8163
- "main",
8164
- "brand",
8165
- "none",
8166
- "neutral",
8167
- "purpose-success",
8168
- "purpose-warning",
8169
- "purpose-error",
8170
- "purpose-unlimited",
8171
- "state-hover",
8172
- "state-active"
8173
- ];
8174
- const _Separator = class _Separator extends PxElement {
8175
- constructor() {
8176
- var _a;
8177
- super(styleSheet$q);
8178
- const $root = document.createElement(this.nativeName);
8179
- $root.classList.add("separator");
8180
- this.internals = (_a = this.attachInternals) == null ? void 0 : _a.call(this);
8181
- this.shadowRoot.appendChild($root);
8145
+ get paddingBottomTablet() {
8146
+ return this.getAttribute("padding-bottom--tablet");
8182
8147
  }
8183
- static get observedAttributes() {
8184
- return [
8185
- ...super.observedAttributes,
8186
- "direction",
8187
- "direction--mobile",
8188
- "direction--tablet",
8189
- "direction--laptop",
8190
- "direction--desktop",
8191
- "size",
8192
- "color",
8193
- "inverted"
8194
- ];
8148
+ set paddingBottomTablet(value) {
8149
+ this.setAttribute("padding-bottom--tablet", value);
8195
8150
  }
8196
- attributeChangedCallback(attrName, oldValue, newValue) {
8197
- if (oldValue !== newValue) {
8198
- switch (attrName) {
8199
- case "direction":
8200
- case "direction--mobile":
8201
- case "direction--tablet":
8202
- case "direction--laptop":
8203
- case "direction--desktop":
8204
- this.updateDirection(
8205
- attrName,
8206
- oldValue,
8207
- newValue,
8208
- separatorDirectionValues
8209
- );
8210
- break;
8211
- case "size":
8212
- this.updateSize(attrName, oldValue, newValue, separatorSizeValues);
8213
- break;
8214
- case "color":
8215
- this.updateColor(attrName, oldValue, newValue, separatorColorValues);
8216
- break;
8217
- default:
8218
- super.attributeChangedCallback(attrName, oldValue, newValue);
8219
- break;
8220
- }
8221
- }
8151
+ get paddingBlockLaptop() {
8152
+ return this.getAttribute("padding-block--laptop");
8222
8153
  }
8223
- updateSize(attrName, oldValue, newValue, attrValue) {
8224
- const updateSizeStyle = (value) => {
8225
- if (value !== null && value !== "" && value !== "default") {
8226
- this.$el.style.setProperty(
8227
- "--separator-size",
8228
- `var(--px-size-border-${value})`
8229
- );
8230
- }
8231
- };
8232
- if (!this.checkName(attrValue, newValue)) {
8233
- console.error(`${newValue} is not a valid value for ${attrName}`);
8234
- } else {
8235
- updateSizeStyle(oldValue);
8236
- updateSizeStyle(newValue);
8237
- }
8154
+ set paddingBlockLaptop(value) {
8155
+ this.setAttribute("padding-block--laptop", value);
8238
8156
  }
8239
- updateColor(attrName, oldValue, newValue, attrValue) {
8240
- const updateColorStyle = (value) => {
8241
- if (value !== null && value !== "" && value !== "default") {
8242
- this.$el.style.setProperty(
8243
- `--separator-color-default`,
8244
- `var(--px-color-border-${value}-default)`
8245
- );
8246
- this.$el.style.setProperty(
8247
- `--separator-color-inverted`,
8248
- `var(--px-color-border-${value}-inverted)`
8249
- );
8250
- }
8251
- };
8252
- if (!this.checkName(attrValue, newValue)) {
8253
- console.error(`${newValue} is not a valid value for ${attrName}`);
8254
- } else {
8255
- updateColorStyle(oldValue);
8256
- updateColorStyle(newValue);
8257
- }
8157
+ get paddingTopLaptop() {
8158
+ return this.getAttribute("padding-top--laptop");
8258
8159
  }
8259
- updateDirection(attrName, oldValue, newValue, attrValue) {
8260
- const updateDirectionClass = (breakpoint, value) => {
8261
- if (value !== null && value !== "" && value !== "default") {
8262
- this.$el.classList.add(`separator-direction-${value}--${breakpoint}`);
8263
- }
8264
- };
8265
- if (!this.checkName(attrValue, newValue)) {
8266
- console.error(`${newValue} is not a valid value for ${attrName}`);
8267
- } else {
8268
- if (attrName === "direction") {
8269
- ["mobile", "tablet", "laptop", "desktop"].forEach((breakpoint) => {
8270
- const existingClass = Array.from(this.$el.classList).find(
8271
- (className) => className.startsWith(`separator-direction-`) && className.endsWith(`--${breakpoint}`)
8272
- );
8273
- if (!existingClass) {
8274
- updateDirectionClass(breakpoint, newValue);
8275
- }
8276
- });
8277
- } else {
8278
- const breakpoint = attrName.split("--")[1];
8279
- const existingClass = Array.from(this.$el.classList).find(
8280
- (className) => className.startsWith(`separator-direction-`) && className.endsWith(`--${breakpoint}`)
8281
- );
8282
- if (existingClass) {
8283
- this.$el.classList.replace(
8284
- existingClass,
8285
- `separator-direction-${newValue}--${breakpoint}`
8286
- );
8287
- } else {
8288
- updateDirectionClass(breakpoint, newValue);
8289
- }
8290
- }
8291
- }
8292
- }
8293
- get direction() {
8294
- return this.getAttribute("direction");
8295
- }
8296
- set direction(value) {
8297
- this.setAttribute("direction", value);
8298
- }
8299
- get directionMobile() {
8300
- return this.getAttribute("direction--mobile");
8301
- }
8302
- set directionMobile(value) {
8303
- this.setAttribute("direction--mobile", value);
8160
+ set paddingTopLaptop(value) {
8161
+ this.setAttribute("padding-top--laptop", value);
8304
8162
  }
8305
- get directionTablet() {
8306
- return this.getAttribute("direction--tablet");
8163
+ get paddingBottomLaptop() {
8164
+ return this.getAttribute("padding-bottom--laptop");
8307
8165
  }
8308
- set directionTablet(value) {
8309
- this.setAttribute("direction--tablet", value);
8166
+ set paddingBottomLaptop(value) {
8167
+ this.setAttribute("padding-bottom--laptop", value);
8310
8168
  }
8311
- get directionLaptop() {
8312
- return this.getAttribute("direction--laptop");
8169
+ get border() {
8170
+ return this.getAttribute("border");
8313
8171
  }
8314
- set directionLaptop(value) {
8315
- this.setAttribute("direction--laptop", value);
8172
+ set border(value) {
8173
+ this.setAttribute("border", value);
8316
8174
  }
8317
- get directionDesktop() {
8318
- return this.getAttribute("direction--desktop");
8175
+ get borderSide() {
8176
+ return this.getAttribute("border-side");
8319
8177
  }
8320
- set directionDesktop(value) {
8321
- this.setAttribute("direction--desktop", value);
8178
+ set borderSide(value) {
8179
+ this.setAttribute("border-side", value);
8322
8180
  }
8323
- get size() {
8324
- return this.getAttribute("size");
8181
+ get borderSideMobile() {
8182
+ return this.getAttribute("border-side--mobile");
8325
8183
  }
8326
- set size(value) {
8327
- this.setAttribute("size", value);
8184
+ set borderSideMobile(value) {
8185
+ this.setAttribute("border-side--mobile", value);
8328
8186
  }
8329
- get color() {
8330
- return this.getAttribute("color");
8187
+ get borderSideTablet() {
8188
+ return this.getAttribute("border-side--tablet");
8331
8189
  }
8332
- set color(value) {
8333
- this.setAttribute("color", value);
8190
+ set borderSideTablet(value) {
8191
+ this.setAttribute("border-side--tablet", value);
8334
8192
  }
8335
- get inverted() {
8336
- return this.getAttribute("inverted");
8193
+ get borderSideLaptop() {
8194
+ return this.getAttribute("border-side--laptop");
8337
8195
  }
8338
- set inverted(value) {
8339
- this.setAttribute("inverted", value);
8196
+ set borderSideLaptop(value) {
8197
+ this.setAttribute("border-side--laptop", value);
8340
8198
  }
8341
- };
8342
- _Separator.nativeName = "hr";
8343
- let Separator = _Separator;
8344
- if (!customElements.get("px-separator")) {
8345
- customElements.define("px-separator", Separator);
8346
8199
  }
8347
- const headingCss = "h1,.style-title-4xl,::slotted(h1),h2,.style-title-3xl,::slotted(h2),h3,.style-title-2xl,::slotted(h3),h4,.style-title-xl,::slotted(h4),h5,.style-title-l,::slotted(h5),h6,.style-title-m,::slotted(h6),.style-title-s,.style-subtitle{margin:0;font-family:var(--px-font-family);color:var(--heading-color-default, var(--px-color-text-brand-default));text-align:var(--heading-text-align--mobile, left);font-size:var(--px-text-size-heading-s-mobile);line-height:var(--px-line-height-ratio-l);font-weight:var(--px-font-weight-title)}:host([inverted]) h1,:host([inverted]) .style-title-4xl,:host([inverted]) ::slotted(h1),:host([inverted]) h2,:host([inverted]) .style-title-3xl,:host([inverted]) ::slotted(h2),:host([inverted]) h3,:host([inverted]) .style-title-2xl,:host([inverted]) ::slotted(h3),:host([inverted]) h4,:host([inverted]) .style-title-xl,:host([inverted]) ::slotted(h4),:host([inverted]) h5,:host([inverted]) .style-title-l,:host([inverted]) ::slotted(h5),:host([inverted]) h6,:host([inverted]) .style-title-m,:host([inverted]) ::slotted(h6),:host([inverted]) .style-title-s,:host([inverted]) .style-subtitle{color:var(--heading-color-inverted, var(--px-color-text-brand-inverted))}h1,.style-title-4xl,::slotted(h1){font-size:var(--px-text-size-heading-3xl-mobile);line-height:var(--px-line-height-ratio-s);font-weight:var(--px-font-weight-title-large)}h2,.style-title-3xl,::slotted(h2){font-size:var(--px-text-size-heading-2xl-mobile);line-height:var(--px-line-height-ratio-s);font-weight:var(--px-font-weight-title-large)}h3,.style-title-2xl,::slotted(h3){font-size:var(--px-text-size-heading-xl-mobile);line-height:var(--px-line-height-ratio-s)}h4,.style-title-xl,::slotted(h4){font-size:var(--px-text-size-heading-l-mobile)}h5,.style-title-l,::slotted(h5){font-size:var(--px-text-size-heading-m-mobile)}h6,.style-title-m,::slotted(h6){font-size:var(--px-text-size-heading-base-mobile)}.style-subtitle{font-size:var(--px-text-size-heading-l-mobile);font-weight:var(--px-font-weight-subtitle)}.style-title-s{font-size:var(--px-text-size-heading-s-mobile)}@media only screen and (min-width: 768px){h1,.style-title-4xl,::slotted(h1),h2,.style-title-3xl,::slotted(h2),h3,.style-title-2xl,::slotted(h3),h4,.style-title-xl,::slotted(h4),h5,.style-title-l,::slotted(h5),h6,.style-title-m,::slotted(h6),.style-title-s,.style-subtitle{text-align:var(--heading-text-align--tablet, left)}h1,.style-title-4xl,::slotted(h1){font-size:var(--px-text-size-heading-5xl-desktop)}h2,.style-title-3xl,::slotted(h2){font-size:var(--px-text-size-heading-4xl-desktop)}h3,.style-title-2xl,::slotted(h3){font-size:var(--px-text-size-heading-2xl-desktop)}h4,.style-title-xl,::slotted(h4){font-size:var(--px-text-size-heading-xl-desktop)}h5,.style-title-l,::slotted(h5){font-size:var(--px-text-size-heading-l-desktop)}h6,.style-title-m,::slotted(h6){font-size:var(--px-text-size-heading-m-desktop)}.style-title-s{font-size:var(--px-text-size-heading-base-desktop)}.style-subtitle{font-size:var(--px-text-size-heading-xl-desktop)}}@media only screen and (min-width: 1025px){h1,.style-title-4xl,::slotted(h1),h2,.style-title-3xl,::slotted(h2),h3,.style-title-2xl,::slotted(h3),h4,.style-title-xl,::slotted(h4),h5,.style-title-l,::slotted(h5),h6,.style-title-m,::slotted(h6),.style-title-s,.style-subtitle{text-align:var(--heading-text-align--laptop, left)}h1,.style-title-4xl,::slotted(h1){font-size:var(--px-text-size-heading-5xl-desktop)}h2,.style-title-3xl,::slotted(h2){font-size:var(--px-text-size-heading-4xl-desktop)}h3,.style-title-2xl,::slotted(h3){font-size:var(--px-text-size-heading-2xl-desktop)}h4,.style-title-xl,::slotted(h4){font-size:var(--px-text-size-heading-xl-desktop)}h5,.style-title-l,::slotted(h5){font-size:var(--px-text-size-heading-l-desktop)}h6,.style-title-m,::slotted(h6){font-size:var(--px-text-size-heading-m-desktop)}.style-title-s{font-size:var(--px-text-size-heading-base-desktop)}.style-subtitle{font-size:var(--px-text-size-heading-xl-desktop)}}@media screen and (min-width: 1441px){h1,.style-title-4xl,::slotted(h1),h2,.style-title-3xl,::slotted(h2),h3,.style-title-2xl,::slotted(h3),h4,.style-title-xl,::slotted(h4),h5,.style-title-l,::slotted(h5),h6,.style-title-m,::slotted(h6),.style-title-s,.style-subtitle{text-align:var(--heading-text-align--desktop, left)}}";
8348
- const headingStyles$2 = new CSSStyleSheet();
8349
- headingStyles$2.replaceSync(headingCss);
8350
- const typographyStyles$4 = new CSSStyleSheet();
8351
- typographyStyles$4.replaceSync(typographyCss$1);
8352
- class AbstractHeading extends PxElement {
8353
- template() {
8354
- return `<slot></slot>`;
8355
- }
8356
- constructor(tagName) {
8357
- super(headingStyles$2, typographyStyles$4);
8358
- const $root = document.createElement(tagName);
8359
- $root.innerHTML = this.template();
8360
- this.shadowRoot.appendChild($root);
8200
+ if (!customElements.get("px-section")) {
8201
+ customElements.define("px-section", Section);
8202
+ }
8203
+ const contentHeaderStyles = new CSSStyleSheet();
8204
+ contentHeaderStyles.replaceSync(contentHeaderCss);
8205
+ const _ContentHeader = class _ContentHeader extends PxElement {
8206
+ constructor() {
8207
+ super(contentHeaderStyles);
8208
+ this.template = () => `<div class="content-header">
8209
+ <div class="contrast-helper"></div>
8210
+ <px-section padding-block="l">
8211
+ <px-grid gap="none">
8212
+ <px-container padding="none" border-radius="none" background-color="none" >
8213
+ <div class="content-header-content">
8214
+ <px-vstack gap="heading-to-subtitle">
8215
+ <px-h1 variant="title-3xl"><slot></slot></px-h1>
8216
+ <slot name="subtitle"></slot>
8217
+ </px-vstack>
8218
+ ${this.$patchDescriptionSlot ? `<px-stack gap="s" direction="row" direction--mobile="column">
8219
+ <slot name="patch" shrink></slot>
8220
+ <slot name="patch-description"></slot>
8221
+ </px-stack>` : ""}
8222
+ </div>
8223
+ </px-container>
8224
+ </px-grid>
8225
+ ${this.$overlapSlot ? `<slot name="overlap" slot="overlap"></slot>` : ""}
8226
+ </px-section>
8227
+ </div>`;
8228
+ this.shadowRoot.innerHTML = this.template();
8361
8229
  }
8362
8230
  static get observedAttributes() {
8363
8231
  return [
8364
- ...super.observedAttributes,
8365
- "variant",
8366
- "color",
8367
- "text-align",
8368
- "text-align--mobile",
8369
- "text-align--tablet",
8370
- "text-align--laptop",
8371
- "text-align--desktop",
8232
+ "background-color",
8233
+ "background-gradient",
8234
+ "background-image",
8235
+ "background-image--mobile",
8236
+ "background-image--tablet",
8237
+ "background-image--laptop",
8238
+ "background-size",
8239
+ "background-position",
8240
+ "contrast-helper-gradient",
8241
+ "contrast-helper-overlay",
8242
+ "min-height",
8243
+ "has-gridding",
8244
+ "has-gridding--mobile",
8245
+ "has-gridding--tablet",
8246
+ "has-gridding--laptop",
8372
8247
  "inverted"
8373
8248
  ];
8374
8249
  }
8250
+ connectedCallback() {
8251
+ var _a;
8252
+ (_a = super.connectedCallback) == null ? void 0 : _a.call(this);
8253
+ if (this.$subtitleSlot) {
8254
+ this.$subtitleSlot.setAttribute("variant", "subtitle");
8255
+ }
8256
+ if (this.$patchDescriptionSlot) {
8257
+ if (this.$patchDescriptionSlot.localName === "px-p") {
8258
+ this.$patchDescriptionSlot.setAttribute("variant", "default");
8259
+ }
8260
+ if (this.$patchDescriptionSlot.localName === "px-p" || this.$patchDescriptionSlot.localName === "px-span") {
8261
+ this.$patchDescriptionSlot.setAttribute("font-size", "body-l");
8262
+ this.$patchDescriptionSlot.removeAttribute("font-weight");
8263
+ this.$patchDescriptionSlot.removeAttribute("color");
8264
+ }
8265
+ if (this.$patchDescriptionSlot.localName === "px-price") {
8266
+ this.$patchDescriptionSlot.setAttribute("size", "m");
8267
+ }
8268
+ }
8269
+ this.createGridding();
8270
+ }
8375
8271
  attributeChangedCallback(attrName, oldValue, newValue) {
8376
8272
  if (oldValue !== newValue) {
8377
8273
  switch (attrName) {
8378
- case "variant":
8379
- this.updateAttribute(attrName, oldValue, newValue, headingValues);
8274
+ case "background-color":
8275
+ this.$section.backgroundColor = backgroundColorValues.indexOf(newValue) > 0 ? newValue : "none";
8380
8276
  break;
8381
- case "color":
8382
- this.updateColor(oldValue, newValue, colorValues);
8277
+ case "background-gradient":
8278
+ this.$section.gradient = gradientValues.indexOf(newValue) > 0 ? newValue : "none";
8383
8279
  break;
8384
- case "text-align":
8385
- case "text-align--mobile":
8386
- case "text-align--tablet":
8387
- case "text-align--laptop":
8388
- case "text-align--desktop":
8389
- this.updateTextAlign(attrName, oldValue, newValue, textalignValues);
8280
+ case "background-image":
8281
+ this.$section.backgroundImage = newValue;
8282
+ break;
8283
+ case "background-image--mobile":
8284
+ this.$section.backgroundImageMobile = newValue;
8285
+ break;
8286
+ case "background-image--tablet":
8287
+ this.$section.backgroundImageTablet = newValue;
8288
+ break;
8289
+ case "background-image--laptop":
8290
+ this.$section.backgroundImageLaptop = newValue;
8291
+ break;
8292
+ case "background-size":
8293
+ this.$section.backgroundSize = backgroundSizeValues.indexOf(newValue) > 0 ? newValue : "";
8294
+ break;
8295
+ case "background-position":
8296
+ this.$section.backgroundPosition = newValue;
8297
+ break;
8298
+ case "has-gridding":
8299
+ case "has-gridding--mobile":
8300
+ case "has-gridding--tablet":
8301
+ case "has-gridding--laptop":
8302
+ this.createGridding();
8303
+ break;
8304
+ case "inverted":
8305
+ for (let i = 0; i < this.$children.length; i++) {
8306
+ if (!this.$children[i].hasAttribute("inverted")) {
8307
+ this.$children[i].toggleAttribute("inverted");
8308
+ }
8309
+ }
8310
+ this.$h1.toggleAttribute("inverted", newValue !== null);
8311
+ this.$el.toggleAttribute("inverted", newValue !== null);
8390
8312
  break;
8391
8313
  default:
8392
8314
  super.attributeChangedCallback(attrName, oldValue, newValue);
@@ -8394,39 +8316,469 @@ class AbstractHeading extends PxElement {
8394
8316
  }
8395
8317
  }
8396
8318
  }
8397
- toggleClass(oldValue, newValue) {
8398
- if (oldValue !== null && oldValue !== "" && oldValue !== "default") {
8399
- this.$el.classList.toggle(`style-${oldValue}`);
8400
- }
8401
- if (newValue !== null && newValue !== "" && newValue !== "default") {
8402
- this.$el.classList.toggle(`style-${newValue}`);
8403
- }
8404
- }
8405
- updateAttribute(attrName, oldValue, newValue, attrValue) {
8406
- if (!this.checkName(attrValue, newValue)) {
8407
- console.error(`${newValue} is not an allowed "${attrName}" value`);
8408
- } else {
8409
- this.toggleClass(oldValue, newValue);
8410
- }
8411
- }
8412
- updateColor(oldValue, newValue, attrValue) {
8413
- if (!this.checkName(attrValue, newValue)) {
8414
- console.error(`${newValue} is not a valid color value`);
8415
- return;
8416
- }
8417
- const updateColorStyle = (value) => {
8418
- if (value !== null && value !== "" && value !== "default") {
8419
- this.$el.style.setProperty(
8420
- `--heading-color-default`,
8421
- `var(--px-color-text-${value}-default)`
8422
- );
8423
- this.$el.style.setProperty(
8424
- `--heading-color-inverted`,
8425
- `var(--px-color-text-${value}-inverted)`
8426
- );
8427
- }
8428
- };
8429
- updateColorStyle(oldValue);
8319
+ createGridding() {
8320
+ const breakpoints = [
8321
+ { prop: "hasGridding", gridProp: "gridCols", attr: "col-span" },
8322
+ {
8323
+ prop: "hasGriddingMobile",
8324
+ gridProp: "gridColsMobile",
8325
+ attr: "col-span--mobile"
8326
+ },
8327
+ {
8328
+ prop: "hasGriddingTablet",
8329
+ gridProp: "gridColsTablet",
8330
+ attr: "col-span--tablet"
8331
+ },
8332
+ {
8333
+ prop: "hasGriddingLaptop",
8334
+ gridProp: "gridColsLaptop",
8335
+ attr: "col-span--laptop"
8336
+ }
8337
+ ];
8338
+ const spanElement = this.shadowRoot.querySelector(
8339
+ "px-grid > px-container"
8340
+ );
8341
+ breakpoints.forEach(({ prop, gridProp, attr }) => {
8342
+ if (this[prop]) {
8343
+ this.$grid[gridProp] = "3";
8344
+ spanElement.setAttribute(attr, "2");
8345
+ }
8346
+ });
8347
+ }
8348
+ get $grid() {
8349
+ return this.shadowRoot.querySelector("px-grid");
8350
+ }
8351
+ get $section() {
8352
+ return this.shadowRoot.querySelector("px-section");
8353
+ }
8354
+ get $h1() {
8355
+ return this.shadowRoot.querySelector("px-h1");
8356
+ }
8357
+ get $subtitleSlot() {
8358
+ return this.querySelector('[slot="subtitle"]');
8359
+ }
8360
+ get $patchDescriptionSlot() {
8361
+ return this.querySelector('[slot="patch-description"]');
8362
+ }
8363
+ get $overlapSlot() {
8364
+ return this.querySelector('[slot="overlap"]');
8365
+ }
8366
+ get $children() {
8367
+ return this.querySelectorAll("px-content-header > *");
8368
+ }
8369
+ get backgroundColor() {
8370
+ return this.getAttribute("background-color");
8371
+ }
8372
+ set backgroundColor(value) {
8373
+ this.setAttribute("background-color", value);
8374
+ }
8375
+ get gradient() {
8376
+ return this.getAttribute("background-gradient");
8377
+ }
8378
+ set gradient(value) {
8379
+ this.setAttribute("background-gradient", value);
8380
+ }
8381
+ get backgroundImage() {
8382
+ return this.getAttribute("background-image");
8383
+ }
8384
+ set backgroundImage(value) {
8385
+ this.setAttribute("background-image", value);
8386
+ }
8387
+ get backgroundImageMobile() {
8388
+ return this.getAttribute("background-image--mobile");
8389
+ }
8390
+ set backgroundImageMobile(value) {
8391
+ this.setAttribute("background-image--mobile", value);
8392
+ }
8393
+ get backgroundImageTablet() {
8394
+ return this.getAttribute("background-image--tablet");
8395
+ }
8396
+ set backgroundImageTablet(value) {
8397
+ this.setAttribute("background-image--tablet", value);
8398
+ }
8399
+ get backgroundImageLaptop() {
8400
+ return this.getAttribute("background-image--laptop");
8401
+ }
8402
+ set backgroundImageLaptop(value) {
8403
+ this.setAttribute("background-image--laptop", value);
8404
+ }
8405
+ get backgroundSize() {
8406
+ return this.getAttribute("background-size");
8407
+ }
8408
+ set backgroundSize(value) {
8409
+ this.setAttribute("background-size", value);
8410
+ }
8411
+ get backgroundPosition() {
8412
+ return this.getAttribute("background-position");
8413
+ }
8414
+ set backgroundPosition(value) {
8415
+ this.setAttribute("background-position", value);
8416
+ }
8417
+ get gradientContrastHelper() {
8418
+ return this.hasAttribute("contrast-helper-gradient");
8419
+ }
8420
+ set gradientContrastHelper(value) {
8421
+ if (value) {
8422
+ this.setAttribute("contrast-helper-gradient", "");
8423
+ } else {
8424
+ this.removeAttribute("contrast-helper-gradient");
8425
+ }
8426
+ }
8427
+ get overlayContrastHelper() {
8428
+ return this.hasAttribute("contrast-helper-overlay");
8429
+ }
8430
+ set overlayContrastHelper(value) {
8431
+ if (value) {
8432
+ this.setAttribute("contrast-helper-overlay", "");
8433
+ } else {
8434
+ this.removeAttribute("contrast-helper-overlay");
8435
+ }
8436
+ }
8437
+ get hasGridding() {
8438
+ return this.hasAttribute("has-gridding");
8439
+ }
8440
+ set hasGridding(value) {
8441
+ if (value) {
8442
+ this.setAttribute("has-gridding", "");
8443
+ } else {
8444
+ this.removeAttribute("has-gridding");
8445
+ }
8446
+ }
8447
+ get hasGriddingMobile() {
8448
+ return this.hasAttribute("has-gridding--mobile");
8449
+ }
8450
+ set hasGriddingMobile(value) {
8451
+ if (value) {
8452
+ this.setAttribute("has-gridding--mobile", "");
8453
+ } else {
8454
+ this.removeAttribute("has-gridding--mobile");
8455
+ }
8456
+ }
8457
+ get hasGriddingTablet() {
8458
+ return this.hasAttribute("has-gridding--tablet");
8459
+ }
8460
+ set hasGriddingTablet(value) {
8461
+ if (value) {
8462
+ this.setAttribute("has-gridding--tablet", "");
8463
+ } else {
8464
+ this.removeAttribute("has-gridding--tablet");
8465
+ }
8466
+ }
8467
+ get hasGriddingLaptop() {
8468
+ return this.hasAttribute("has-gridding--laptop");
8469
+ }
8470
+ set hasGriddingLaptop(value) {
8471
+ if (value) {
8472
+ this.setAttribute("has-gridding--laptop", "");
8473
+ } else {
8474
+ this.removeAttribute("has-gridding--laptop");
8475
+ }
8476
+ }
8477
+ get inverted() {
8478
+ return this.hasAttribute("inverted");
8479
+ }
8480
+ set inverted(value) {
8481
+ if (value) {
8482
+ this.setAttribute("inverted", "");
8483
+ } else {
8484
+ this.removeAttribute("inverted");
8485
+ }
8486
+ }
8487
+ get minHeight() {
8488
+ return this.hasAttribute("min-height");
8489
+ }
8490
+ set minHeight(value) {
8491
+ if (value) {
8492
+ this.setAttribute("min-height", "");
8493
+ } else {
8494
+ this.removeAttribute("min-height");
8495
+ }
8496
+ }
8497
+ };
8498
+ _ContentHeader.nativeName = "div";
8499
+ let ContentHeader = _ContentHeader;
8500
+ if (!customElements.get("px-content-header")) {
8501
+ customElements.define("px-content-header", ContentHeader);
8502
+ }
8503
+ const styles$v = ".separator{--separator-size: var(--px-size-border-m);--separator-direction--mobile-border-width: var(--separator-size) 0 0;--separator-direction--mobile-width: initial;--separator-direction--mobile-height: initial;clear:both;margin:0;border-style:solid;border-color:var( --separator-color-default, var(--px-color-border-main-default) );border-width:var(--separator-size) 0 0;width:initial;height:initial}.separator-direction-horizontal--mobile{border-width:var(--separator-size) 0 0;width:initial;height:initial}.separator-direction-vertical--mobile{width:var(--separator-size);height:100%;border-width:0 var(--separator-size) 0 0}:host([inverted]) .separator{border-color:var( --separator-color-inverted, var(--px-color-border-main-inverted) )}@media only screen and (min-width: 768px){.separator-direction-horizontal--tablet{border-width:var(--separator-size) 0 0;width:initial;height:initial}.separator-direction-vertical--tablet{width:var(--separator-size);height:100%;border-width:0 var(--separator-size) 0 0}}@media only screen and (min-width: 1025px){.separator-direction-horizontal--laptop{border-width:var(--separator-size) 0 0;width:initial;height:initial}.separator-direction-vertical--laptop{width:var(--separator-size);height:100%;border-width:0 var(--separator-size) 0 0}}@media only screen and (min-width: 1441px){.separator-direction-horizontal--desktop{border-width:var(--separator-size) 0 0;width:initial;height:initial}.separator-direction-vertical--desktop{width:var(--separator-size);height:100%;border-width:0 var(--separator-size) 0 0}}";
8504
+ const styleSheet$p = new CSSStyleSheet();
8505
+ styleSheet$p.replaceSync(styles$v);
8506
+ const separatorDirectionValues = [
8507
+ "",
8508
+ "default",
8509
+ "horizontal",
8510
+ "vertical"
8511
+ ];
8512
+ const separatorSizeValues = ["", "default", "none", "s", "m", "l"];
8513
+ const separatorColorValues = [
8514
+ "",
8515
+ "main",
8516
+ "brand",
8517
+ "none",
8518
+ "neutral",
8519
+ "purpose-success",
8520
+ "purpose-warning",
8521
+ "purpose-error",
8522
+ "purpose-unlimited",
8523
+ "state-hover",
8524
+ "state-active"
8525
+ ];
8526
+ const _Separator = class _Separator extends PxElement {
8527
+ constructor() {
8528
+ var _a;
8529
+ super(styleSheet$p);
8530
+ const $root = document.createElement(this.nativeName);
8531
+ $root.classList.add("separator");
8532
+ this.internals = (_a = this.attachInternals) == null ? void 0 : _a.call(this);
8533
+ this.shadowRoot.appendChild($root);
8534
+ }
8535
+ static get observedAttributes() {
8536
+ return [
8537
+ ...super.observedAttributes,
8538
+ "direction",
8539
+ "direction--mobile",
8540
+ "direction--tablet",
8541
+ "direction--laptop",
8542
+ "direction--desktop",
8543
+ "size",
8544
+ "color",
8545
+ "inverted"
8546
+ ];
8547
+ }
8548
+ attributeChangedCallback(attrName, oldValue, newValue) {
8549
+ if (oldValue !== newValue) {
8550
+ switch (attrName) {
8551
+ case "direction":
8552
+ case "direction--mobile":
8553
+ case "direction--tablet":
8554
+ case "direction--laptop":
8555
+ case "direction--desktop":
8556
+ this.updateDirection(
8557
+ attrName,
8558
+ oldValue,
8559
+ newValue,
8560
+ separatorDirectionValues
8561
+ );
8562
+ break;
8563
+ case "size":
8564
+ this.updateSize(attrName, oldValue, newValue, separatorSizeValues);
8565
+ break;
8566
+ case "color":
8567
+ this.updateColor(attrName, oldValue, newValue, separatorColorValues);
8568
+ break;
8569
+ default:
8570
+ super.attributeChangedCallback(attrName, oldValue, newValue);
8571
+ break;
8572
+ }
8573
+ }
8574
+ }
8575
+ updateSize(attrName, oldValue, newValue, attrValue) {
8576
+ const updateSizeStyle = (value) => {
8577
+ if (value !== null && value !== "" && value !== "default") {
8578
+ this.$el.style.setProperty(
8579
+ "--separator-size",
8580
+ `var(--px-size-border-${value})`
8581
+ );
8582
+ }
8583
+ };
8584
+ if (!this.checkName(attrValue, newValue)) {
8585
+ console.error(`${newValue} is not a valid value for ${attrName}`);
8586
+ } else {
8587
+ updateSizeStyle(oldValue);
8588
+ updateSizeStyle(newValue);
8589
+ }
8590
+ }
8591
+ updateColor(attrName, oldValue, newValue, attrValue) {
8592
+ const updateColorStyle = (value) => {
8593
+ if (value !== null && value !== "" && value !== "default") {
8594
+ this.$el.style.setProperty(
8595
+ `--separator-color-default`,
8596
+ `var(--px-color-border-${value}-default)`
8597
+ );
8598
+ this.$el.style.setProperty(
8599
+ `--separator-color-inverted`,
8600
+ `var(--px-color-border-${value}-inverted)`
8601
+ );
8602
+ }
8603
+ };
8604
+ if (!this.checkName(attrValue, newValue)) {
8605
+ console.error(`${newValue} is not a valid value for ${attrName}`);
8606
+ } else {
8607
+ updateColorStyle(oldValue);
8608
+ updateColorStyle(newValue);
8609
+ }
8610
+ }
8611
+ updateDirection(attrName, oldValue, newValue, attrValue) {
8612
+ const updateDirectionClass = (breakpoint, value) => {
8613
+ if (value !== null && value !== "" && value !== "default") {
8614
+ this.$el.classList.add(`separator-direction-${value}--${breakpoint}`);
8615
+ }
8616
+ };
8617
+ if (!this.checkName(attrValue, newValue)) {
8618
+ console.error(`${newValue} is not a valid value for ${attrName}`);
8619
+ } else {
8620
+ if (attrName === "direction") {
8621
+ ["mobile", "tablet", "laptop", "desktop"].forEach((breakpoint) => {
8622
+ const existingClass = Array.from(this.$el.classList).find(
8623
+ (className) => className.startsWith(`separator-direction-`) && className.endsWith(`--${breakpoint}`)
8624
+ );
8625
+ if (!existingClass) {
8626
+ updateDirectionClass(breakpoint, newValue);
8627
+ }
8628
+ });
8629
+ } else {
8630
+ const breakpoint = attrName.split("--")[1];
8631
+ const existingClass = Array.from(this.$el.classList).find(
8632
+ (className) => className.startsWith(`separator-direction-`) && className.endsWith(`--${breakpoint}`)
8633
+ );
8634
+ if (existingClass) {
8635
+ this.$el.classList.replace(
8636
+ existingClass,
8637
+ `separator-direction-${newValue}--${breakpoint}`
8638
+ );
8639
+ } else {
8640
+ updateDirectionClass(breakpoint, newValue);
8641
+ }
8642
+ }
8643
+ }
8644
+ }
8645
+ get direction() {
8646
+ return this.getAttribute("direction");
8647
+ }
8648
+ set direction(value) {
8649
+ this.setAttribute("direction", value);
8650
+ }
8651
+ get directionMobile() {
8652
+ return this.getAttribute("direction--mobile");
8653
+ }
8654
+ set directionMobile(value) {
8655
+ this.setAttribute("direction--mobile", value);
8656
+ }
8657
+ get directionTablet() {
8658
+ return this.getAttribute("direction--tablet");
8659
+ }
8660
+ set directionTablet(value) {
8661
+ this.setAttribute("direction--tablet", value);
8662
+ }
8663
+ get directionLaptop() {
8664
+ return this.getAttribute("direction--laptop");
8665
+ }
8666
+ set directionLaptop(value) {
8667
+ this.setAttribute("direction--laptop", value);
8668
+ }
8669
+ get directionDesktop() {
8670
+ return this.getAttribute("direction--desktop");
8671
+ }
8672
+ set directionDesktop(value) {
8673
+ this.setAttribute("direction--desktop", value);
8674
+ }
8675
+ get size() {
8676
+ return this.getAttribute("size");
8677
+ }
8678
+ set size(value) {
8679
+ this.setAttribute("size", value);
8680
+ }
8681
+ get color() {
8682
+ return this.getAttribute("color");
8683
+ }
8684
+ set color(value) {
8685
+ this.setAttribute("color", value);
8686
+ }
8687
+ get inverted() {
8688
+ return this.getAttribute("inverted");
8689
+ }
8690
+ set inverted(value) {
8691
+ this.setAttribute("inverted", value);
8692
+ }
8693
+ };
8694
+ _Separator.nativeName = "hr";
8695
+ let Separator = _Separator;
8696
+ if (!customElements.get("px-separator")) {
8697
+ customElements.define("px-separator", Separator);
8698
+ }
8699
+ const headingCss = "h1,.style-title-4xl,::slotted(h1),h2,.style-title-3xl,::slotted(h2),h3,.style-title-2xl,::slotted(h3),h4,.style-title-xl,::slotted(h4),h5,.style-title-l,::slotted(h5),h6,.style-title-m,::slotted(h6),.style-title-s,.style-subtitle{margin:0;font-family:var(--px-font-family);color:var(--heading-color-default, var(--px-color-text-brand-default));text-align:var(--heading-text-align--mobile, left);font-size:var(--px-text-size-heading-s-mobile);line-height:var(--px-line-height-ratio-l);font-weight:var(--px-font-weight-title)}::slotted(h1),::slotted(h2),::slotted(h3),::slotted(h4),::slotted(h5),::slotted(h6){margin-bottom:var(--px-spacing-heading-to-content-mobile)}:host([inverted]) h1,:host([inverted]) .style-title-4xl,:host([inverted]) ::slotted(h1),:host([inverted]) h2,:host([inverted]) .style-title-3xl,:host([inverted]) ::slotted(h2),:host([inverted]) h3,:host([inverted]) .style-title-2xl,:host([inverted]) ::slotted(h3),:host([inverted]) h4,:host([inverted]) .style-title-xl,:host([inverted]) ::slotted(h4),:host([inverted]) h5,:host([inverted]) .style-title-l,:host([inverted]) ::slotted(h5),:host([inverted]) h6,:host([inverted]) .style-title-m,:host([inverted]) ::slotted(h6),:host([inverted]) .style-title-s,:host([inverted]) .style-subtitle{color:var(--heading-color-inverted, var(--px-color-text-brand-inverted))}h1,.style-title-4xl,::slotted(h1){font-size:var(--px-text-size-heading-3xl-mobile);line-height:var(--px-line-height-ratio-s);font-weight:var(--px-font-weight-title-large)}h2,.style-title-3xl,::slotted(h2){font-size:var(--px-text-size-heading-2xl-mobile);line-height:var(--px-line-height-ratio-s);font-weight:var(--px-font-weight-title-large)}h3,.style-title-2xl,::slotted(h3){font-size:var(--px-text-size-heading-xl-mobile);line-height:var(--px-line-height-ratio-s)}h4,.style-title-xl,::slotted(h4){font-size:var(--px-text-size-heading-l-mobile)}h5,.style-title-l,::slotted(h5){font-size:var(--px-text-size-heading-m-mobile)}h6,.style-title-m,::slotted(h6){font-size:var(--px-text-size-heading-base-mobile)}.style-subtitle{font-size:var(--px-text-size-heading-l-mobile);font-weight:var(--px-font-weight-subtitle)}.style-title-s{font-size:var(--px-text-size-heading-s-mobile)}@media only screen and (min-width: 768px){::slotted(h1),::slotted(h2),::slotted(h3),::slotted(h4),::slotted(h5),::slotted(h6){margin-bottom:var(--px-spacing-heading-to-content-tablet)}h1,.style-title-4xl,::slotted(h1),h2,.style-title-3xl,::slotted(h2),h3,.style-title-2xl,::slotted(h3),h4,.style-title-xl,::slotted(h4),h5,.style-title-l,::slotted(h5),h6,.style-title-m,::slotted(h6),.style-title-s,.style-subtitle{text-align:var(--heading-text-align--tablet, left)}h1,.style-title-4xl,::slotted(h1){font-size:var(--px-text-size-heading-5xl-desktop)}h2,.style-title-3xl,::slotted(h2){font-size:var(--px-text-size-heading-4xl-desktop)}h3,.style-title-2xl,::slotted(h3){font-size:var(--px-text-size-heading-2xl-desktop)}h4,.style-title-xl,::slotted(h4){font-size:var(--px-text-size-heading-xl-desktop)}h5,.style-title-l,::slotted(h5){font-size:var(--px-text-size-heading-l-desktop)}h6,.style-title-m,::slotted(h6){font-size:var(--px-text-size-heading-m-desktop)}.style-title-s{font-size:var(--px-text-size-heading-base-desktop)}.style-subtitle{font-size:var(--px-text-size-heading-xl-desktop)}}@media only screen and (min-width: 1025px){::slotted(h1),::slotted(h2),::slotted(h3),::slotted(h4),::slotted(h5),::slotted(h6){margin-bottom:var(--px-spacing-heading-to-content-laptop)}h1,.style-title-4xl,::slotted(h1),h2,.style-title-3xl,::slotted(h2),h3,.style-title-2xl,::slotted(h3),h4,.style-title-xl,::slotted(h4),h5,.style-title-l,::slotted(h5),h6,.style-title-m,::slotted(h6),.style-title-s,.style-subtitle{text-align:var(--heading-text-align--laptop, left)}h1,.style-title-4xl,::slotted(h1){font-size:var(--px-text-size-heading-5xl-desktop)}h2,.style-title-3xl,::slotted(h2){font-size:var(--px-text-size-heading-4xl-desktop)}h3,.style-title-2xl,::slotted(h3){font-size:var(--px-text-size-heading-2xl-desktop)}h4,.style-title-xl,::slotted(h4){font-size:var(--px-text-size-heading-xl-desktop)}h5,.style-title-l,::slotted(h5){font-size:var(--px-text-size-heading-l-desktop)}h6,.style-title-m,::slotted(h6){font-size:var(--px-text-size-heading-m-desktop)}.style-title-s{font-size:var(--px-text-size-heading-base-desktop)}.style-subtitle{font-size:var(--px-text-size-heading-xl-desktop)}}@media screen and (min-width: 1441px){::slotted(h1),::slotted(h2),::slotted(h3),::slotted(h4),::slotted(h5),::slotted(h6){margin-bottom:var(--px-spacing-heading-to-content-desktop)}h1,.style-title-4xl,::slotted(h1),h2,.style-title-3xl,::slotted(h2),h3,.style-title-2xl,::slotted(h3),h4,.style-title-xl,::slotted(h4),h5,.style-title-l,::slotted(h5),h6,.style-title-m,::slotted(h6),.style-title-s,.style-subtitle{text-align:var(--heading-text-align--desktop, left)}}";
8700
+ const headingStyles$2 = new CSSStyleSheet();
8701
+ headingStyles$2.replaceSync(headingCss);
8702
+ const typographyStyles$4 = new CSSStyleSheet();
8703
+ typographyStyles$4.replaceSync(typographyCss$1);
8704
+ class AbstractHeading extends PxElement {
8705
+ template() {
8706
+ return `<slot></slot>`;
8707
+ }
8708
+ constructor(tagName) {
8709
+ super(headingStyles$2, typographyStyles$4);
8710
+ const $root = document.createElement(tagName);
8711
+ $root.innerHTML = this.template();
8712
+ this.shadowRoot.appendChild($root);
8713
+ }
8714
+ static get observedAttributes() {
8715
+ return [
8716
+ ...super.observedAttributes,
8717
+ "variant",
8718
+ "color",
8719
+ "text-align",
8720
+ "text-align--mobile",
8721
+ "text-align--tablet",
8722
+ "text-align--laptop",
8723
+ "text-align--desktop",
8724
+ "inverted"
8725
+ ];
8726
+ }
8727
+ attributeChangedCallback(attrName, oldValue, newValue) {
8728
+ if (oldValue !== newValue) {
8729
+ switch (attrName) {
8730
+ case "variant":
8731
+ this.updateAttribute(attrName, oldValue, newValue, headingValues);
8732
+ break;
8733
+ case "color":
8734
+ this.updateColor(oldValue, newValue, colorValues);
8735
+ break;
8736
+ case "text-align":
8737
+ case "text-align--mobile":
8738
+ case "text-align--tablet":
8739
+ case "text-align--laptop":
8740
+ case "text-align--desktop":
8741
+ this.updateTextAlign(attrName, oldValue, newValue, textalignValues);
8742
+ break;
8743
+ default:
8744
+ super.attributeChangedCallback(attrName, oldValue, newValue);
8745
+ break;
8746
+ }
8747
+ }
8748
+ }
8749
+ toggleClass(oldValue, newValue) {
8750
+ if (oldValue !== null && oldValue !== "" && oldValue !== "default") {
8751
+ this.$el.classList.toggle(`style-${oldValue}`);
8752
+ }
8753
+ if (newValue !== null && newValue !== "" && newValue !== "default") {
8754
+ this.$el.classList.toggle(`style-${newValue}`);
8755
+ }
8756
+ }
8757
+ updateAttribute(attrName, oldValue, newValue, attrValue) {
8758
+ if (!this.checkName(attrValue, newValue)) {
8759
+ console.error(`${newValue} is not an allowed "${attrName}" value`);
8760
+ } else {
8761
+ this.toggleClass(oldValue, newValue);
8762
+ }
8763
+ }
8764
+ updateColor(oldValue, newValue, attrValue) {
8765
+ if (!this.checkName(attrValue, newValue)) {
8766
+ console.error(`${newValue} is not a valid color value`);
8767
+ return;
8768
+ }
8769
+ const updateColorStyle = (value) => {
8770
+ if (value !== null && value !== "" && value !== "default") {
8771
+ this.$el.style.setProperty(
8772
+ `--heading-color-default`,
8773
+ `var(--px-color-text-${value}-default)`
8774
+ );
8775
+ this.$el.style.setProperty(
8776
+ `--heading-color-inverted`,
8777
+ `var(--px-color-text-${value}-inverted)`
8778
+ );
8779
+ }
8780
+ };
8781
+ updateColorStyle(oldValue);
8430
8782
  updateColorStyle(newValue);
8431
8783
  }
8432
8784
  updateTextAlign(attrName, oldValue, newValue, attrValue) {
@@ -8562,9 +8914,9 @@ let H6 = _H6;
8562
8914
  if (!customElements.get("px-h6")) {
8563
8915
  customElements.define("px-h6", H6);
8564
8916
  }
8565
- const styles$v = '#container{border:0;border-radius:var(--px-radius-main);background-color:var(--px-color-background-surface-default);box-sizing:border-box}:host([showfrom="bottom"]) #container{height:auto;margin-bottom:0;width:100%}px-button-icon{position:absolute;top:var(--px-padding-l-desktop);right:var(--px-padding-l-desktop)}dialog{background:transparent;border-radius:0;box-shadow:none;padding:0;border:0;box-sizing:border-box;width:75%}::backdrop{background:#0000004d;-webkit-backdrop-filter:saturate(180%) blur(15px);backdrop-filter:saturate(180%) blur(15px)}#content{overflow:auto}@media screen and (min-width: 1080px){#container{height:100%;padding:var(--px-padding-l-desktop)}:host([showfrom="right"]) px-button-icon{right:10.625em}:host([showfrom="right"]) #container{padding-right:10.625em;border-radius:var(--px-radius-main) 0 0 var(--px-radius-main)}:host([showfrom="left"]) px-button-icon{right:var(--px-padding-l-desktop)}:host([showfrom="left"]) #container{padding-left:10.625em;border-radius:0 var(--px-radius-main) var(--px-radius-main) 0}:host([showfrom="bottom"]) #container{box-sizing:border-box}:host([showfrom="left"])>dialog{margin-left:0;animation:dialog-fade-in-left .3s;height:100%}:host([showfrom="bottom"])>dialog{margin-bottom:0;margin-inline:0;width:100%;animation:dialog-fade-in-bottom .3s}:host([showfrom="right"])>dialog{margin-right:0;animation:dialog-fade-in-right .3s;height:100%}#content{max-height:calc(100dvh - 22.625em)}}@media only screen and (max-width: 67.563em){dialog{width:100%}:host([showfrom="left"])>dialog,:host([showfrom="right"])>dialog,:host([showfrom="bottom"])>dialog{margin-bottom:0;margin-inline:0;height:revert;animation:dialog-fade-in-bottom .3s}#container{width:100%;box-sizing:border-box;padding:var(--px-padding-m-mobile);border-radius:var(--px-radius-main) var(--px-radius-main) 0 0}px-button-icon{top:var(--px-padding-m-mobile);right:var(--px-padding-m-mobile)}#content{min-height:2.813em;max-height:50dvh}}@keyframes dialog-fade-in-right{0%{margin-right:-67.5em}to{margin-right:0}}@keyframes dialog-fade-in-left{0%{margin-left:-67.5em}to{margin-left:0}}@keyframes dialog-fade-in-bottom{0%{margin-bottom:-12.5em}to{margin-bottom:0}}';
8566
- const styleSheet$p = new CSSStyleSheet();
8567
- styleSheet$p.replaceSync(styles$v);
8917
+ const styles$u = '#container{border:0;border-radius:var(--px-radius-main);background-color:var(--px-color-background-surface-default);box-sizing:border-box}:host([showfrom="bottom"]) #container{height:auto;margin-bottom:0;width:100%}px-button-icon{position:absolute;top:var(--px-padding-l-desktop);right:var(--px-padding-l-desktop)}dialog{background:transparent;border-radius:0;box-shadow:none;padding:0;border:0;box-sizing:border-box;width:75%}::backdrop{background:#0000004d;-webkit-backdrop-filter:saturate(180%) blur(15px);backdrop-filter:saturate(180%) blur(15px)}#content{overflow:auto}@media screen and (min-width: 1080px){#container{height:100%;padding:var(--px-padding-l-desktop)}:host([showfrom="right"]) px-button-icon{right:10.625em}:host([showfrom="right"]) #container{padding-right:10.625em;border-radius:var(--px-radius-main) 0 0 var(--px-radius-main)}:host([showfrom="left"]) px-button-icon{right:var(--px-padding-l-desktop)}:host([showfrom="left"]) #container{padding-left:10.625em;border-radius:0 var(--px-radius-main) var(--px-radius-main) 0}:host([showfrom="bottom"]) #container{box-sizing:border-box}:host([showfrom="left"])>dialog{margin-left:0;animation:dialog-fade-in-left .3s;height:100%}:host([showfrom="bottom"])>dialog{margin-bottom:0;margin-inline:0;width:100%;animation:dialog-fade-in-bottom .3s}:host([showfrom="right"])>dialog{margin-right:0;animation:dialog-fade-in-right .3s;height:100%}#content{max-height:calc(100dvh - 22.625em)}}@media only screen and (max-width: 67.563em){dialog{width:100%}:host([showfrom="left"])>dialog,:host([showfrom="right"])>dialog,:host([showfrom="bottom"])>dialog{margin-bottom:0;margin-inline:0;height:revert;animation:dialog-fade-in-bottom .3s}#container{width:100%;box-sizing:border-box;padding:var(--px-padding-m-mobile);border-radius:var(--px-radius-main) var(--px-radius-main) 0 0}px-button-icon{top:var(--px-padding-m-mobile);right:var(--px-padding-m-mobile)}#content{min-height:2.813em;max-height:50dvh}}@keyframes dialog-fade-in-right{0%{margin-right:-67.5em}to{margin-right:0}}@keyframes dialog-fade-in-left{0%{margin-left:-67.5em}to{margin-left:0}}@keyframes dialog-fade-in-bottom{0%{margin-bottom:-12.5em}to{margin-bottom:0}}';
8918
+ const styleSheet$o = new CSSStyleSheet();
8919
+ styleSheet$o.replaceSync(styles$u);
8568
8920
  const HIDE_EVENT = "px.lavender.drawer.hide";
8569
8921
  class Drawer extends HTMLElement {
8570
8922
  constructor() {
@@ -8602,7 +8954,7 @@ class Drawer extends HTMLElement {
8602
8954
  </dialog>`;
8603
8955
  this.attachShadow({ mode: "open" });
8604
8956
  this.shadowRoot.innerHTML = this.template;
8605
- this.shadowRoot.adoptedStyleSheets = [styleSheet$p];
8957
+ this.shadowRoot.adoptedStyleSheets = [styleSheet$o];
8606
8958
  if (!this.hasAttribute("showfrom")) {
8607
8959
  this.setAttribute("showfrom", "bottom");
8608
8960
  }
@@ -8700,7 +9052,7 @@ class Drawer extends HTMLElement {
8700
9052
  if (!customElements.get("px-drawer")) {
8701
9053
  customElements.define("px-drawer", Drawer);
8702
9054
  }
8703
- const styles$u = ':host{position:relative}::slotted([slot="popover"]){position:absolute;border-radius:var(--px-radius-main, 8px);background:var(--px-color-background-container-light-default, #fff);box-shadow:0 20px 25px -5px #25252514;margin:0;padding:var(--px-padding-xs-mobile) 0;border:0;right:0;width:auto}:host([grow]) ::slotted([slot="trigger"]):after{right:0;padding-right:var(--px-padding-xs-mobile)}:host([anchoralignment="top-left"]) ::slotted([slot="popover"]){top:auto}:host([anchoralignment="top-right"]) ::slotted([slot="popover"]){top:auto}:host([anchoralignment="bottom-right"]) ::slotted([slot="popover"]){left:auto}@media screen and (max-width: 767px){::slotted([slot="trigger"]){display:block;width:100%}:host([anchoralignment="top-left"]) ::slotted([slot="popover"]){left:var(--px-padding-s-mobile)}:host([anchoralignment="top-right"]) ::slotted([slot="popover"]){left:var(--px-padding-s-mobile)}}@media screen and (min-width: 768px){::slotted([slot="popover"]){padding-block:var(--px-padding-s-desktop);right:auto;width:auto}}';
9055
+ const styles$t = ':host{position:relative}::slotted([slot="popover"]){position:absolute;border-radius:var(--px-radius-main, 8px);background:var(--px-color-background-container-light-default, #fff);box-shadow:0 20px 25px -5px #25252514;margin:0;padding:var(--px-padding-xs-mobile) 0;border:0;right:0;width:auto}:host([grow]) ::slotted([slot="trigger"]):after{right:0;padding-right:var(--px-padding-xs-mobile)}:host([anchoralignment="top-left"]) ::slotted([slot="popover"]){top:auto}:host([anchoralignment="top-right"]) ::slotted([slot="popover"]){top:auto}:host([anchoralignment="bottom-right"]) ::slotted([slot="popover"]){left:auto}@media screen and (max-width: 767px){::slotted([slot="trigger"]){display:block;width:100%}:host([anchoralignment="top-left"]) ::slotted([slot="popover"]){left:var(--px-padding-s-mobile)}:host([anchoralignment="top-right"]) ::slotted([slot="popover"]){left:var(--px-padding-s-mobile)}}@media screen and (min-width: 768px){::slotted([slot="popover"]){padding-block:var(--px-padding-s-desktop);right:auto;width:auto}}';
8704
9056
  const anchorAlignmentValues = [
8705
9057
  "top-left",
8706
9058
  "top-right",
@@ -8742,7 +9094,7 @@ function anchorPolyfill($trigger, $popoverElement, anchorAlignment = "bottom-lef
8742
9094
  });
8743
9095
  }
8744
9096
  const stylesheet$8 = new CSSStyleSheet();
8745
- stylesheet$8.replaceSync(styles$u);
9097
+ stylesheet$8.replaceSync(styles$t);
8746
9098
  const defaultAnchorAlignment = "bottom-left";
8747
9099
  class Dropdown extends WithExtraAttributes {
8748
9100
  constructor() {
@@ -9600,248 +9952,40 @@ const _Link = class _Link extends PxElement {
9600
9952
  this.$el.setAttribute(attrName, newValue);
9601
9953
  }
9602
9954
  }
9603
- updateTypography(attrName, oldValue, newValue, attrValue) {
9604
- if (oldValue !== null && oldValue !== "" && oldValue !== "default") {
9605
- this.$el.classList.toggle(`${attrName}-${oldValue}`);
9606
- }
9607
- if (newValue !== null && newValue !== "" && newValue !== "default") {
9608
- this.$el.classList.toggle(`${attrName}-${newValue}`);
9609
- }
9610
- if (!this.checkName(attrValue, newValue)) {
9611
- console.error(`Bad ${attrName} value: ${newValue}`);
9612
- }
9613
- }
9614
- updateExtended(attributeName, newValue) {
9615
- if (newValue === null) {
9616
- this.$el.style.setProperty(`--button-${attributeName}`, "");
9617
- } else {
9618
- this.$el.style.setProperty(`--button-${attributeName}`, "100%");
9619
- }
9620
- }
9621
- get $before() {
9622
- return this.querySelector('[slot="before"]');
9623
- }
9624
- get $after() {
9625
- return this.querySelector('[slot="after"]');
9626
- }
9627
- get $iconNotBeforeAfter() {
9628
- return this.querySelector(
9629
- 'px-icon:not([slot="before"], [slot="after"])'
9630
- );
9631
- }
9632
- get disabled() {
9633
- return this.getAttribute("disabled");
9634
- }
9635
- set disabled(value) {
9636
- this.setAttribute("disabled", value);
9637
- }
9638
- get variant() {
9639
- return this.getAttribute("variant");
9640
- }
9641
- set variant(value) {
9642
- this.setAttribute("variant", value);
9643
- }
9644
- get shape() {
9645
- return this.getAttribute("shape");
9646
- }
9647
- set shape(value) {
9648
- this.setAttribute("shape", value);
9649
- }
9650
- get shapeMobile() {
9651
- return this.getAttribute("shape--mobile");
9652
- }
9653
- set shapeMobile(value) {
9654
- this.setAttribute("shape--mobile", value);
9655
- }
9656
- get shapeTablet() {
9657
- return this.getAttribute("shape--tablet");
9658
- }
9659
- set shapeTablet(value) {
9660
- this.setAttribute("shape--tablet", value);
9661
- }
9662
- get shapeLaptop() {
9663
- return this.getAttribute("shape--laptop");
9664
- }
9665
- set shapeLaptop(value) {
9666
- this.setAttribute("shape--laptop", value);
9667
- }
9668
- get shapeDesktop() {
9669
- return this.getAttribute("shape--desktop");
9670
- }
9671
- set shapeDesktop(value) {
9672
- this.setAttribute("shape--desktop", value);
9673
- }
9674
- get extended() {
9675
- return this.getAttribute("extended");
9676
- }
9677
- set extended(value) {
9678
- this.setAttribute("extended", value);
9679
- }
9680
- get extendedMobile() {
9681
- return this.getAttribute("extended--mobile");
9682
- }
9683
- set extendedMobile(value) {
9684
- this.setAttribute("extended--mobile", value);
9685
- }
9686
- get extendedTablet() {
9687
- return this.getAttribute("extended--tablet");
9688
- }
9689
- set extendedTablet(value) {
9690
- this.setAttribute("extended--tablet", value);
9691
- }
9692
- get extendedLaptop() {
9693
- return this.getAttribute("extended--laptop");
9694
- }
9695
- set extendedLaptop(value) {
9696
- this.setAttribute("extended--laptop", value);
9697
- }
9698
- get extendedDesktop() {
9699
- return this.getAttribute("extended--desktop");
9700
- }
9701
- set extendedDesktop(value) {
9702
- this.setAttribute("extended--desktop", value);
9703
- }
9704
- get inverted() {
9705
- return this.getAttribute("inverted");
9706
- }
9707
- set inverted(value) {
9708
- this.setAttribute("inverted", value);
9709
- }
9710
- get fontsize() {
9711
- return this.getAttribute("font-size");
9712
- }
9713
- set fontsize(value) {
9714
- this.setAttribute("font-size", value);
9715
- }
9716
- get color() {
9717
- return this.getAttribute("color");
9718
- }
9719
- set color(value) {
9720
- this.setAttribute("color", value);
9721
- }
9722
- get fontweight() {
9723
- return this.getAttribute("font-weight");
9724
- }
9725
- set fontweight(value) {
9726
- this.setAttribute("font-weight", value);
9727
- }
9728
- get title() {
9729
- return this.getAttribute("title");
9730
- }
9731
- set title(value) {
9732
- if (value) {
9733
- this.setAttribute("title", value);
9734
- } else {
9735
- this.removeAttribute("title");
9736
- }
9737
- }
9738
- };
9739
- _Link.nativeName = "a";
9740
- let Link = _Link;
9741
- if (!customElements.get("px-a")) {
9742
- customElements.define("px-a", Link);
9743
- }
9744
- const paragraphCss = "p,::slotted(p){font-family:var(--px-font-family);color:var(--px-color-text-neutral-default);font-size:var(--px-text-size-body-m-mobile);font-weight:var(--px-font-weight-body);line-height:var(--px-line-height-ratio-l);margin:0}.text-align-left{text-align:left}.text-align-center{text-align:center}.text-align-right{text-align:right}:host([inverted]) p,:host([inverted]) ::slotted(p){color:var(--px-color-text-neutral-inverted)}@media only screen and (max-width: 768px){.text-align-left--mobile{text-align:left}.text-align-center--mobile{text-align:center}.text-align-right--mobile{text-align:right}}@media only screen and (min-width: 768px){p,::slotted(p){font-size:var(--px-text-size-body-m-desktop)}.text-align-left--tablet{text-align:left}.text-align-center--tablet{text-align:center}.text-align-right--tablet{text-align:right}}@media only screen and (min-width: 1025px){p,::slotted(p){font-size:var(--px-text-size-body-m-desktop)}.text-align-left--laptop{text-align:left}.text-align-center--laptop{text-align:center}.text-align-right--laptop{text-align:right}}";
9745
- const paragraphStyles$1 = new CSSStyleSheet();
9746
- const typographyStyles$2 = new CSSStyleSheet();
9747
- const headingStyles$1 = new CSSStyleSheet();
9748
- paragraphStyles$1.replaceSync(paragraphCss);
9749
- typographyStyles$2.replaceSync(typographyCss$1);
9750
- headingStyles$1.replaceSync(headingCss);
9751
- const _Paragraph = class _Paragraph extends PxElement {
9752
- constructor() {
9753
- super(typographyStyles$2, headingStyles$1, paragraphStyles$1);
9754
- this.template = () => `<p><slot></slot></p>`;
9755
- this.shadowRoot.innerHTML = this.template();
9756
- }
9757
- static get observedAttributes() {
9758
- return [
9759
- ...super.observedAttributes,
9760
- "variant",
9761
- "color",
9762
- "font-size",
9763
- "font-weight",
9764
- "text-align",
9765
- "text-align--mobile",
9766
- "text-align--tablet",
9767
- "text-align--laptop",
9768
- "inverted",
9769
- "disabled"
9770
- ];
9771
- }
9772
- attributeChangedCallback(attrName, oldValue, newValue) {
9773
- if (oldValue !== newValue) {
9774
- switch (attrName) {
9775
- case "variant":
9776
- this.updateVariant(attrName, oldValue, newValue, headingValues);
9777
- break;
9778
- case "color":
9779
- this.updateTypography(attrName, oldValue, newValue, colorValues);
9780
- break;
9781
- case "font-size":
9782
- this.updateTypography(attrName, oldValue, newValue, fontsizeValues);
9783
- break;
9784
- case "font-weight":
9785
- this.updateTypography(attrName, oldValue, newValue, fontweightValues);
9786
- break;
9787
- case "text-align":
9788
- case "text-align--mobile":
9789
- case "text-align--tablet":
9790
- case "text-align--laptop":
9791
- this.updateTypography(attrName, oldValue, newValue, textalignValues);
9792
- break;
9793
- case "disabled":
9794
- this.color = "state-disabled";
9795
- break;
9796
- default:
9797
- super.attributeChangedCallback(attrName, oldValue, newValue);
9798
- break;
9799
- }
9800
- }
9801
- }
9802
- toggleClass(oldValue, newValue) {
9803
- if (oldValue !== null && oldValue !== "" && oldValue !== "default") {
9804
- this.$el.classList.toggle(`style-${oldValue}`);
9805
- }
9806
- if (newValue !== null && newValue !== "" && newValue !== "default") {
9807
- this.$el.classList.toggle(`style-${newValue}`);
9808
- }
9809
- }
9810
- updateVariant(attrName, oldValue, newValue, attrValue) {
9811
- if (!this.checkName(attrValue, newValue)) {
9812
- console.error(`${newValue} is not a valid value for ${attrName}`);
9813
- } else {
9814
- this.toggleClass(oldValue, newValue);
9815
- }
9816
- }
9817
- updateTypography(attrName, oldValue, newValue, attrValue) {
9818
- if (!this.checkName(attrValue, newValue)) {
9819
- console.error(`${newValue} is not an allowed ${attrName} value`);
9820
- } else {
9821
- const splitResult = this.splitAttrNameFromBreakpoint(attrName);
9822
- const breakpoint = splitResult.breakpoint;
9823
- if (oldValue !== null && oldValue !== "") {
9824
- this.$el.classList.toggle(
9825
- `${splitResult.attrName}-${oldValue}${breakpoint}`
9826
- );
9827
- }
9828
- if (newValue !== null && newValue !== "") {
9829
- this.$el.classList.toggle(
9830
- `${splitResult.attrName}-${newValue}${breakpoint}`
9831
- );
9832
- }
9833
- }
9834
- }
9835
- splitAttrNameFromBreakpoint(attrName) {
9836
- let breakpoint = "";
9837
- if (["--mobile", "--tablet", "--laptop"].some(
9838
- (suffix) => attrName.includes(suffix)
9839
- )) {
9840
- const attrNameSplit = attrName.split("--");
9841
- attrName = attrNameSplit[0];
9842
- breakpoint = `--${attrNameSplit[1]}`;
9955
+ updateTypography(attrName, oldValue, newValue, attrValue) {
9956
+ if (oldValue !== null && oldValue !== "" && oldValue !== "default") {
9957
+ this.$el.classList.toggle(`${attrName}-${oldValue}`);
9843
9958
  }
9844
- return { attrName, breakpoint };
9959
+ if (newValue !== null && newValue !== "" && newValue !== "default") {
9960
+ this.$el.classList.toggle(`${attrName}-${newValue}`);
9961
+ }
9962
+ if (!this.checkName(attrValue, newValue)) {
9963
+ console.error(`Bad ${attrName} value: ${newValue}`);
9964
+ }
9965
+ }
9966
+ updateExtended(attributeName, newValue) {
9967
+ if (newValue === null) {
9968
+ this.$el.style.setProperty(`--button-${attributeName}`, "");
9969
+ } else {
9970
+ this.$el.style.setProperty(`--button-${attributeName}`, "100%");
9971
+ }
9972
+ }
9973
+ get $before() {
9974
+ return this.querySelector('[slot="before"]');
9975
+ }
9976
+ get $after() {
9977
+ return this.querySelector('[slot="after"]');
9978
+ }
9979
+ get $iconNotBeforeAfter() {
9980
+ return this.querySelector(
9981
+ 'px-icon:not([slot="before"], [slot="after"])'
9982
+ );
9983
+ }
9984
+ get disabled() {
9985
+ return this.getAttribute("disabled");
9986
+ }
9987
+ set disabled(value) {
9988
+ this.setAttribute("disabled", value);
9845
9989
  }
9846
9990
  get variant() {
9847
9991
  return this.getAttribute("variant");
@@ -9849,515 +9993,419 @@ const _Paragraph = class _Paragraph extends PxElement {
9849
9993
  set variant(value) {
9850
9994
  this.setAttribute("variant", value);
9851
9995
  }
9852
- get color() {
9853
- return this.getAttribute("color");
9854
- }
9855
- set color(value) {
9856
- this.setAttribute("color", value);
9857
- }
9858
- get fontSize() {
9859
- return this.getAttribute("font-size");
9996
+ get shape() {
9997
+ return this.getAttribute("shape");
9860
9998
  }
9861
- set fontSize(value) {
9862
- this.setAttribute("font-size", value);
9999
+ set shape(value) {
10000
+ this.setAttribute("shape", value);
9863
10001
  }
9864
- get fontWeight() {
9865
- return this.getAttribute("font-weight");
10002
+ get shapeMobile() {
10003
+ return this.getAttribute("shape--mobile");
9866
10004
  }
9867
- set fontWeight(value) {
9868
- this.setAttribute("font-weight", value);
10005
+ set shapeMobile(value) {
10006
+ this.setAttribute("shape--mobile", value);
9869
10007
  }
9870
- get textAlign() {
9871
- return this.getAttribute("text-align");
10008
+ get shapeTablet() {
10009
+ return this.getAttribute("shape--tablet");
9872
10010
  }
9873
- set textAlign(value) {
9874
- this.setAttribute("text-align", value);
10011
+ set shapeTablet(value) {
10012
+ this.setAttribute("shape--tablet", value);
9875
10013
  }
9876
- get textAlignMobile() {
9877
- return this.getAttribute("text-align--mobile");
10014
+ get shapeLaptop() {
10015
+ return this.getAttribute("shape--laptop");
9878
10016
  }
9879
- set textAlignMobile(value) {
9880
- this.setAttribute("text-align--mobile", value);
10017
+ set shapeLaptop(value) {
10018
+ this.setAttribute("shape--laptop", value);
9881
10019
  }
9882
- get textAlignTablet() {
9883
- return this.getAttribute("text-align--tablet");
10020
+ get shapeDesktop() {
10021
+ return this.getAttribute("shape--desktop");
9884
10022
  }
9885
- set textAlignTablet(value) {
9886
- this.setAttribute("text-align--tablet", value);
10023
+ set shapeDesktop(value) {
10024
+ this.setAttribute("shape--desktop", value);
9887
10025
  }
9888
- get textAlignLaptop() {
9889
- return this.getAttribute("text-align--laptop");
10026
+ get extended() {
10027
+ return this.getAttribute("extended");
9890
10028
  }
9891
- set textAlignLaptop(value) {
9892
- this.setAttribute("text-align--laptop", value);
10029
+ set extended(value) {
10030
+ this.setAttribute("extended", value);
9893
10031
  }
9894
- get inverted() {
9895
- return this.getAttribute("inverted");
10032
+ get extendedMobile() {
10033
+ return this.getAttribute("extended--mobile");
9896
10034
  }
9897
- set inverted(value) {
9898
- this.setAttribute("inverted", value);
10035
+ set extendedMobile(value) {
10036
+ this.setAttribute("extended--mobile", value);
9899
10037
  }
9900
- get disabled() {
9901
- return this.getAttribute("disabled");
10038
+ get extendedTablet() {
10039
+ return this.getAttribute("extended--tablet");
9902
10040
  }
9903
- set disabled(value) {
9904
- this.setAttribute("disabled", value);
10041
+ set extendedTablet(value) {
10042
+ this.setAttribute("extended--tablet", value);
9905
10043
  }
9906
- };
9907
- _Paragraph.nativeName = "p";
9908
- let Paragraph = _Paragraph;
9909
- if (!customElements.get("px-p")) {
9910
- customElements.define("px-p", Paragraph);
9911
- }
9912
- const _FooterSitemap = class _FooterSitemap extends PxElement {
9913
- constructor() {
9914
- super();
9915
- this.template = () => `<div class="footer-sitemap">
9916
- <px-grid grid-cols="4" grid-cols--mobile="1" role="list" gap--mobile="none">
9917
- <slot></slot>
9918
- </px-grid>
9919
- </div>`;
9920
- this.shadowRoot.innerHTML = this.template();
10044
+ get extendedLaptop() {
10045
+ return this.getAttribute("extended--laptop");
9921
10046
  }
9922
- static get observedAttributes() {
9923
- return [...super.observedAttributes, "inverted"];
10047
+ set extendedLaptop(value) {
10048
+ this.setAttribute("extended--laptop", value);
9924
10049
  }
9925
- attributeChangedCallback(attrName, oldValue, newValue) {
9926
- if (oldValue !== newValue) {
9927
- switch (attrName) {
9928
- case "inverted":
9929
- for (let i = 0; i < this.$children.length; i++) {
9930
- if (!this.$children[i].hasAttribute("inverted")) {
9931
- this.$children[i].toggleAttribute("inverted");
9932
- }
9933
- }
9934
- break;
9935
- default:
9936
- super.attributeChangedCallback(attrName, oldValue, newValue);
9937
- break;
9938
- }
9939
- }
10050
+ get extendedDesktop() {
10051
+ return this.getAttribute("extended--desktop");
9940
10052
  }
9941
- get $children() {
9942
- return this.querySelectorAll("px-footer-sitemap > *");
10053
+ set extendedDesktop(value) {
10054
+ this.setAttribute("extended--desktop", value);
9943
10055
  }
9944
10056
  get inverted() {
9945
- return this.hasAttribute("inverted");
10057
+ return this.getAttribute("inverted");
9946
10058
  }
9947
10059
  set inverted(value) {
9948
- if (value) {
9949
- this.setAttribute("inverted", "");
9950
- } else {
9951
- this.removeAttribute("inverted");
9952
- }
9953
- }
9954
- };
9955
- _FooterSitemap.nativeName = "div";
9956
- let FooterSitemap = _FooterSitemap;
9957
- if (!customElements.get("px-footer-sitemap")) {
9958
- customElements.define("px-footer-sitemap", FooterSitemap);
9959
- }
9960
- const styles$t = ":host,:host>*{display:block;box-sizing:border-box}::slotted(ul){margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}::slotted(ul.link-list-img){display:flex;flex-wrap:wrap;flex-direction:row;gap:20px}";
9961
- const styleSheet$o = new CSSStyleSheet();
9962
- styleSheet$o.replaceSync(styles$t);
9963
- const _FooterSitemapItem = class _FooterSitemapItem extends PxElement {
9964
- constructor() {
9965
- super(styleSheet$o);
9966
- this.templateMobile = () => `<div role="listitem">
9967
- <px-accordion ${this.inverted ? "inverted" : ""}>
9968
- <span slot="title"><slot name="links-list-title"></slot></span>
9969
- <span slot="content">
9970
- <slot name="links-list"></slot>
9971
- </span>
9972
- </px-accordion>
9973
- </div>`;
9974
- this.templateDesktop = () => `<div role="listitem">
9975
- <px-vstack gap="default">
9976
- <px-p variant="title-l" ${this.inverted ? "inverted" : ""}>
9977
- <slot name="links-list-title"></slot>
9978
- </px-p>
9979
- <slot name="links-list"></slot>
9980
- </px-vstack>
9981
- </div>`;
9982
- this.throttledLoadTemplate = throttle(this.loadTemplate.bind(this), 50);
9983
- this.loadTemplate();
9984
- }
9985
- static get observedAttributes() {
9986
- return [...super.observedAttributes, "inverted"];
9987
- }
9988
- connectedCallback() {
9989
- super.connectedCallback();
9990
- this.loadTemplate();
9991
- window.addEventListener("resize", this.throttledLoadTemplate);
9992
- if (!this.$ul) {
9993
- console.error(
9994
- "The footer sitemap item must contain a <ul> element with links."
9995
- );
9996
- } else {
9997
- if (this.$ul.querySelector("px-img")) {
9998
- this.$ul.classList.add("link-list-img");
9999
- }
10000
- }
10060
+ this.setAttribute("inverted", value);
10001
10061
  }
10002
- disconnectedCallback() {
10003
- window.removeEventListener("resize", this.throttledLoadTemplate);
10062
+ get fontsize() {
10063
+ return this.getAttribute("font-size");
10004
10064
  }
10005
- loadTemplate() {
10006
- const previousSize = this.lastSize;
10007
- const currentSize = window.innerWidth < 768 ? "mobile" : "desktop";
10008
- if (previousSize !== currentSize) {
10009
- if (currentSize === "mobile") {
10010
- this.shadowRoot.innerHTML = this.templateMobile();
10011
- } else {
10012
- this.shadowRoot.innerHTML = this.templateDesktop();
10013
- }
10014
- this.lastSize = currentSize;
10015
- }
10065
+ set fontsize(value) {
10066
+ this.setAttribute("font-size", value);
10016
10067
  }
10017
- attributeChangedCallback(attrName, oldValue, newValue) {
10018
- if (oldValue !== newValue) {
10019
- switch (attrName) {
10020
- case "inverted":
10021
- for (let i = 0; i < this.$children.length; i++) {
10022
- if (!this.$children[i].hasAttribute("inverted")) {
10023
- this.$children[i].toggleAttribute("inverted");
10024
- }
10025
- }
10026
- this.$ul.querySelectorAll("px-a").forEach((link) => {
10027
- link.toggleAttribute("inverted");
10028
- });
10029
- break;
10030
- default:
10031
- super.attributeChangedCallback(attrName, oldValue, newValue);
10032
- break;
10033
- }
10034
- }
10068
+ get color() {
10069
+ return this.getAttribute("color");
10035
10070
  }
10036
- get $ul() {
10037
- return this.querySelector("ul");
10071
+ set color(value) {
10072
+ this.setAttribute("color", value);
10038
10073
  }
10039
- get $children() {
10040
- return this.querySelectorAll("px-footer-sitemap-item > *");
10074
+ get fontweight() {
10075
+ return this.getAttribute("font-weight");
10041
10076
  }
10042
- get inverted() {
10043
- return this.hasAttribute("inverted");
10077
+ set fontweight(value) {
10078
+ this.setAttribute("font-weight", value);
10044
10079
  }
10045
- set inverted(value) {
10080
+ get title() {
10081
+ return this.getAttribute("title");
10082
+ }
10083
+ set title(value) {
10046
10084
  if (value) {
10047
- this.setAttribute("inverted", "");
10085
+ this.setAttribute("title", value);
10048
10086
  } else {
10049
- this.removeAttribute("inverted");
10087
+ this.removeAttribute("title");
10050
10088
  }
10051
10089
  }
10052
10090
  };
10053
- _FooterSitemapItem.nativeName = "div";
10054
- let FooterSitemapItem = _FooterSitemapItem;
10055
- if (!customElements.get("px-footer-sitemap-item")) {
10056
- customElements.define("px-footer-sitemap-item", FooterSitemapItem);
10091
+ _Link.nativeName = "a";
10092
+ let Link = _Link;
10093
+ if (!customElements.get("px-a")) {
10094
+ customElements.define("px-a", Link);
10057
10095
  }
10058
- const styles$s = ':host{display:block}:host,:host *{box-sizing:border-box}.content-wrapper{margin-inline:var(--px-padding-s-mobile);max-width:var(--px-content-wrapper-max-width-desktop)}@media only screen and (min-width: 77em){.content-wrapper{margin-inline:auto}}.overlapped{margin-bottom:calc(var(--px-overlapped-mobile) * -1)}::slotted([slot="overlap"]){margin-top:var(--px-overlapped-mobile)}@media only screen and (min-width: 48em){.overlapped{margin-bottom:calc(var(--px-overlapped-desktop) * -1)}::slotted([slot="overlap"]){margin-top:var(--px-overlapped-desktop)}}@media only screen and (min-width: 64.0625em){.overlapped{margin-bottom:calc(var(--px-overlapped-desktop) * -1)}::slotted([slot="overlap"]){margin-top:var(--px-overlapped-desktop)}}';
10059
- const styleSheet$n = new CSSStyleSheet();
10060
- styleSheet$n.replaceSync(styles$s);
10061
- class Section extends HTMLElement {
10096
+ const paragraphCss = "p,::slotted(p){font-family:var(--px-font-family);color:var(--px-color-text-neutral-default);font-size:var(--px-text-size-body-m-mobile);font-weight:var(--px-font-weight-body);line-height:var(--px-line-height-ratio-l);margin:0}::slotted(p){margin-bottom:var(--px-spacing-xs-mobile)}.text-align-left{text-align:left}.text-align-center{text-align:center}.text-align-right{text-align:right}:host([inverted]) p,:host([inverted]) ::slotted(p){color:var(--px-color-text-neutral-inverted)}@media only screen and (max-width: 768px){.text-align-left--mobile{text-align:left}.text-align-center--mobile{text-align:center}.text-align-right--mobile{text-align:right}}@media only screen and (min-width: 768px){p,::slotted(p){font-size:var(--px-text-size-body-m-desktop)}::slotted(p){margin-bottom:var(--px-spacing-xs-tablet)}.text-align-left--tablet{text-align:left}.text-align-center--tablet{text-align:center}.text-align-right--tablet{text-align:right}}@media only screen and (min-width: 1025px){p,::slotted(p){font-size:var(--px-text-size-body-m-desktop)}::slotted(p){margin-bottom:var(--px-spacing-xs-laptop)}.text-align-left--laptop{text-align:left}.text-align-center--laptop{text-align:center}.text-align-right--laptop{text-align:right}}@media only screen and (min-width: 90.0625em){::slotted(p){margin-bottom:var(--px-spacing-xs-desktop)}}";
10097
+ const paragraphStyles$1 = new CSSStyleSheet();
10098
+ const typographyStyles$2 = new CSSStyleSheet();
10099
+ const headingStyles$1 = new CSSStyleSheet();
10100
+ paragraphStyles$1.replaceSync(paragraphCss);
10101
+ typographyStyles$2.replaceSync(typographyCss$1);
10102
+ headingStyles$1.replaceSync(headingCss);
10103
+ const _Paragraph = class _Paragraph extends PxElement {
10062
10104
  constructor() {
10063
- super();
10064
- this.template = () => `
10065
- <px-container border-radius="none" padding-inline="none" background-color="${this.backgroundColor}">
10066
- <div class="content-wrapper ${this.$slotOverlap ? "overlapped" : ""}">
10067
- <px-vstack gap="heading-to-content">
10068
- <slot name="heading"></slot>
10069
- <px-vstack gap="none">
10070
- <slot></slot>
10071
- </px-vstack>
10072
- </px-vstack>
10073
- </div>
10074
- </px-container>
10075
- <div class="content-wrapper">
10076
- <slot name="overlap"></slot>
10077
- </div>
10078
- `;
10079
- this.attachShadow({ mode: "open" });
10105
+ super(typographyStyles$2, headingStyles$1, paragraphStyles$1);
10106
+ this.template = () => `<p><slot></slot></p>`;
10080
10107
  this.shadowRoot.innerHTML = this.template();
10081
- this.shadowRoot.adoptedStyleSheets = [styleSheet$n];
10082
- }
10083
- connectedCallback() {
10084
- const headingSlot = this.querySelector('[slot="heading"]');
10085
- if (!this.paddingBlock && !this.paddingTop && !this.paddingBottom && !this.paddingBlockMobile && !this.paddingTopMobile && !this.paddingBottomMobile && !this.paddingBlockTablet && !this.paddingTopTablet && !this.paddingBottomTablet && !this.paddingBlockLaptop && !this.paddingTopLaptop && !this.paddingBottomLaptop) {
10086
- this.$container.paddingBlock = "none";
10087
- }
10088
- if (!headingSlot) {
10089
- this.shadowRoot.querySelector("px-vstack").setAttribute("gap", "none");
10090
- }
10091
10108
  }
10092
10109
  static get observedAttributes() {
10093
10110
  return [
10094
- "background-color",
10095
- "background-gradient",
10096
- "background-image",
10097
- "background-image--mobile",
10098
- "background-image--tablet",
10099
- "background-image--laptop",
10100
- "background-size",
10101
- "background-position",
10102
- "padding-block",
10103
- "padding-top",
10104
- "padding-bottom",
10105
- "padding-block--mobile",
10106
- "padding-top--mobile",
10107
- "padding-bottom--mobile",
10108
- "padding-block--tablet",
10109
- "padding-top--tablet",
10110
- "padding-bottom--tablet",
10111
- "padding-block--laptop",
10112
- "padding-top--laptop",
10113
- "padding-bottom--laptop",
10114
- "border",
10115
- "border-side",
10116
- "border-side--mobile",
10117
- "border-side--tablet",
10118
- "border-side--laptop"
10111
+ ...super.observedAttributes,
10112
+ "variant",
10113
+ "color",
10114
+ "font-size",
10115
+ "font-weight",
10116
+ "text-align",
10117
+ "text-align--mobile",
10118
+ "text-align--tablet",
10119
+ "text-align--laptop",
10120
+ "inverted",
10121
+ "disabled"
10119
10122
  ];
10120
10123
  }
10121
- get $container() {
10122
- return this.shadowRoot.querySelector("px-container");
10123
- }
10124
- attributeChangedCallback(name, oldValue, newValue) {
10124
+ attributeChangedCallback(attrName, oldValue, newValue) {
10125
10125
  if (oldValue !== newValue) {
10126
- switch (name) {
10127
- case "background-color":
10128
- this.$container.backgroundColor = backgroundColorValues.indexOf(newValue) > 0 ? newValue : "none";
10129
- break;
10130
- case "background-gradient":
10131
- this.$container.gradient = this.gradient;
10132
- break;
10133
- case "background-image":
10134
- this.$container.backgroundImage = newValue;
10135
- break;
10136
- case "background-image--mobile":
10137
- this.$container.backgroundImageMobile = newValue;
10138
- break;
10139
- case "background-image--tablet":
10140
- this.$container.backgroundImageTablet = newValue;
10141
- break;
10142
- case "background-image--laptop":
10143
- this.$container.backgroundImageLaptop = newValue;
10144
- break;
10145
- case "background-size":
10146
- this.$container.backgroundSize = newValue;
10147
- break;
10148
- case "background-position":
10149
- this.$container.backgroundPosition = newValue;
10150
- break;
10151
- case "padding-block":
10152
- this.$container.paddingBlock = newValue;
10153
- break;
10154
- case "padding-top":
10155
- this.$container.paddingTop = newValue;
10156
- break;
10157
- case "padding-bottom":
10158
- this.$container.paddingBottom = newValue;
10159
- break;
10160
- case "padding-block--mobile":
10161
- this.$container.paddingBlockMobile = newValue;
10162
- break;
10163
- case "padding-top--mobile":
10164
- this.$container.paddingTopMobile = newValue;
10165
- break;
10166
- case "padding-bottom--mobile":
10167
- this.$container.paddingBottomMobile = newValue;
10168
- break;
10169
- case "padding-block--tablet":
10170
- this.$container.paddingBlockTablet = newValue;
10171
- break;
10172
- case "padding-top--tablet":
10173
- this.$container.paddingTopTablet = newValue;
10174
- break;
10175
- case "padding-bottom--tablet":
10176
- this.$container.paddingBottomTablet = newValue;
10177
- break;
10178
- case "padding-block--laptop":
10179
- this.$container.paddingBlockLaptop = newValue;
10180
- break;
10181
- case "padding-top--laptop":
10182
- this.$container.paddingTopLaptop = newValue;
10126
+ switch (attrName) {
10127
+ case "variant":
10128
+ this.updateVariant(attrName, oldValue, newValue, headingValues);
10183
10129
  break;
10184
- case "padding-bottom--laptop":
10185
- this.$container.paddingBottomLaptop = newValue;
10130
+ case "color":
10131
+ this.updateTypography(attrName, oldValue, newValue, colorValues);
10186
10132
  break;
10187
- case "border":
10188
- this.$container.border = newValue;
10133
+ case "font-size":
10134
+ this.updateTypography(attrName, oldValue, newValue, fontsizeValues);
10189
10135
  break;
10190
- case "border-side":
10191
- this.$container.borderSide = newValue;
10136
+ case "font-weight":
10137
+ this.updateTypography(attrName, oldValue, newValue, fontweightValues);
10192
10138
  break;
10193
- case "border-side--mobile":
10194
- this.$container.borderSideMobile = newValue;
10139
+ case "text-align":
10140
+ case "text-align--mobile":
10141
+ case "text-align--tablet":
10142
+ case "text-align--laptop":
10143
+ this.updateTypography(attrName, oldValue, newValue, textalignValues);
10195
10144
  break;
10196
- case "border-side--tablet":
10197
- this.$container.borderSideTablet = newValue;
10145
+ case "disabled":
10146
+ this.color = "state-disabled";
10198
10147
  break;
10199
- case "border-side--laptop":
10200
- this.$container.borderSideLaptop = newValue;
10148
+ default:
10149
+ super.attributeChangedCallback(attrName, oldValue, newValue);
10201
10150
  break;
10202
10151
  }
10203
10152
  }
10204
10153
  }
10205
- get $slotOverlap() {
10206
- return this.querySelector('[slot="overlap"]');
10207
- }
10208
- get backgroundColor() {
10209
- return this.getAttribute("background-color") || "none";
10210
- }
10211
- set backgroundColor(value) {
10212
- this.setAttribute("background-color", value);
10213
- }
10214
- get gradient() {
10215
- return this.getAttribute("background-gradient");
10216
- }
10217
- set gradient(value) {
10218
- this.setAttribute("background-gradient", value);
10219
- }
10220
- get backgroundImage() {
10221
- return this.getAttribute("background-image");
10222
- }
10223
- set backgroundImage(value) {
10224
- this.setAttribute("background-image", value);
10225
- }
10226
- get backgroundImageMobile() {
10227
- return this.getAttribute("background-image--mobile");
10228
- }
10229
- set backgroundImageMobile(value) {
10230
- this.setAttribute("background-image--mobile", value);
10231
- }
10232
- get backgroundImageTablet() {
10233
- return this.getAttribute("background-image--tablet");
10234
- }
10235
- set backgroundImageTablet(value) {
10236
- this.setAttribute("background-image--tablet", value);
10237
- }
10238
- get backgroundImageLaptop() {
10239
- return this.getAttribute("background-image--laptop");
10154
+ toggleClass(oldValue, newValue) {
10155
+ if (oldValue !== null && oldValue !== "" && oldValue !== "default") {
10156
+ this.$el.classList.toggle(`style-${oldValue}`);
10157
+ }
10158
+ if (newValue !== null && newValue !== "" && newValue !== "default") {
10159
+ this.$el.classList.toggle(`style-${newValue}`);
10160
+ }
10240
10161
  }
10241
- set backgroundImageLaptop(value) {
10242
- this.setAttribute("background-image--laptop", value);
10162
+ updateVariant(attrName, oldValue, newValue, attrValue) {
10163
+ if (!this.checkName(attrValue, newValue)) {
10164
+ console.error(`${newValue} is not a valid value for ${attrName}`);
10165
+ } else {
10166
+ this.toggleClass(oldValue, newValue);
10167
+ }
10243
10168
  }
10244
- get backgroundSize() {
10245
- return this.getAttribute("background-size");
10169
+ updateTypography(attrName, oldValue, newValue, attrValue) {
10170
+ if (!this.checkName(attrValue, newValue)) {
10171
+ console.error(`${newValue} is not an allowed ${attrName} value`);
10172
+ } else {
10173
+ const splitResult = this.splitAttrNameFromBreakpoint(attrName);
10174
+ const breakpoint = splitResult.breakpoint;
10175
+ if (oldValue !== null && oldValue !== "") {
10176
+ this.$el.classList.toggle(
10177
+ `${splitResult.attrName}-${oldValue}${breakpoint}`
10178
+ );
10179
+ }
10180
+ if (newValue !== null && newValue !== "") {
10181
+ this.$el.classList.toggle(
10182
+ `${splitResult.attrName}-${newValue}${breakpoint}`
10183
+ );
10184
+ }
10185
+ }
10246
10186
  }
10247
- set backgroundSize(value) {
10248
- this.setAttribute("background-size", value);
10187
+ splitAttrNameFromBreakpoint(attrName) {
10188
+ let breakpoint = "";
10189
+ if (["--mobile", "--tablet", "--laptop"].some(
10190
+ (suffix) => attrName.includes(suffix)
10191
+ )) {
10192
+ const attrNameSplit = attrName.split("--");
10193
+ attrName = attrNameSplit[0];
10194
+ breakpoint = `--${attrNameSplit[1]}`;
10195
+ }
10196
+ return { attrName, breakpoint };
10249
10197
  }
10250
- get backgroundPosition() {
10251
- return this.getAttribute("background-position");
10198
+ get variant() {
10199
+ return this.getAttribute("variant");
10252
10200
  }
10253
- set backgroundPosition(value) {
10254
- this.setAttribute("background-position", value);
10201
+ set variant(value) {
10202
+ this.setAttribute("variant", value);
10255
10203
  }
10256
- get paddingBlock() {
10257
- return this.getAttribute("padding-block");
10204
+ get color() {
10205
+ return this.getAttribute("color");
10258
10206
  }
10259
- set paddingBlock(value) {
10260
- this.setAttribute("padding-block", value);
10207
+ set color(value) {
10208
+ this.setAttribute("color", value);
10261
10209
  }
10262
- get paddingTop() {
10263
- return this.getAttribute("padding-top");
10210
+ get fontSize() {
10211
+ return this.getAttribute("font-size");
10264
10212
  }
10265
- set paddingTop(value) {
10266
- this.setAttribute("padding-top", value);
10213
+ set fontSize(value) {
10214
+ this.setAttribute("font-size", value);
10267
10215
  }
10268
- get paddingBottom() {
10269
- return this.getAttribute("padding-bottom");
10216
+ get fontWeight() {
10217
+ return this.getAttribute("font-weight");
10270
10218
  }
10271
- set paddingBottom(value) {
10272
- this.setAttribute("padding-bottom", value);
10219
+ set fontWeight(value) {
10220
+ this.setAttribute("font-weight", value);
10273
10221
  }
10274
- get paddingBlockMobile() {
10275
- return this.getAttribute("padding-block--mobile");
10222
+ get textAlign() {
10223
+ return this.getAttribute("text-align");
10276
10224
  }
10277
- set paddingBlockMobile(value) {
10278
- this.setAttribute("padding-block--mobile", value);
10225
+ set textAlign(value) {
10226
+ this.setAttribute("text-align", value);
10279
10227
  }
10280
- get paddingTopMobile() {
10281
- return this.getAttribute("padding-top--mobile");
10228
+ get textAlignMobile() {
10229
+ return this.getAttribute("text-align--mobile");
10282
10230
  }
10283
- set paddingTopMobile(value) {
10284
- this.setAttribute("padding-top--mobile", value);
10231
+ set textAlignMobile(value) {
10232
+ this.setAttribute("text-align--mobile", value);
10285
10233
  }
10286
- get paddingBottomMobile() {
10287
- return this.getAttribute("padding-bottom--mobile");
10234
+ get textAlignTablet() {
10235
+ return this.getAttribute("text-align--tablet");
10288
10236
  }
10289
- set paddingBottomMobile(value) {
10290
- this.setAttribute("padding-bottom--mobile", value);
10237
+ set textAlignTablet(value) {
10238
+ this.setAttribute("text-align--tablet", value);
10291
10239
  }
10292
- get paddingBlockTablet() {
10293
- return this.getAttribute("padding-block--tablet");
10240
+ get textAlignLaptop() {
10241
+ return this.getAttribute("text-align--laptop");
10294
10242
  }
10295
- set paddingBlockTablet(value) {
10296
- this.setAttribute("padding-block--tablet", value);
10243
+ set textAlignLaptop(value) {
10244
+ this.setAttribute("text-align--laptop", value);
10297
10245
  }
10298
- get paddingTopTablet() {
10299
- return this.getAttribute("padding-top--tablet");
10246
+ get inverted() {
10247
+ return this.getAttribute("inverted");
10300
10248
  }
10301
- set paddingTopTablet(value) {
10302
- this.setAttribute("padding-top--tablet", value);
10249
+ set inverted(value) {
10250
+ this.setAttribute("inverted", value);
10303
10251
  }
10304
- get paddingBottomTablet() {
10305
- return this.getAttribute("padding-bottom--tablet");
10252
+ get disabled() {
10253
+ return this.getAttribute("disabled");
10306
10254
  }
10307
- set paddingBottomTablet(value) {
10308
- this.setAttribute("padding-bottom--tablet", value);
10255
+ set disabled(value) {
10256
+ this.setAttribute("disabled", value);
10309
10257
  }
10310
- get paddingBlockLaptop() {
10311
- return this.getAttribute("padding-block--laptop");
10258
+ };
10259
+ _Paragraph.nativeName = "p";
10260
+ let Paragraph = _Paragraph;
10261
+ if (!customElements.get("px-p")) {
10262
+ customElements.define("px-p", Paragraph);
10263
+ }
10264
+ const _FooterSitemap = class _FooterSitemap extends PxElement {
10265
+ constructor() {
10266
+ super();
10267
+ this.template = () => `<div class="footer-sitemap">
10268
+ <px-grid grid-cols="4" grid-cols--mobile="1" role="list" gap--mobile="none">
10269
+ <slot></slot>
10270
+ </px-grid>
10271
+ </div>`;
10272
+ this.shadowRoot.innerHTML = this.template();
10312
10273
  }
10313
- set paddingBlockLaptop(value) {
10314
- this.setAttribute("padding-block--laptop", value);
10274
+ static get observedAttributes() {
10275
+ return [...super.observedAttributes, "inverted"];
10315
10276
  }
10316
- get paddingTopLaptop() {
10317
- return this.getAttribute("padding-top--laptop");
10277
+ attributeChangedCallback(attrName, oldValue, newValue) {
10278
+ if (oldValue !== newValue) {
10279
+ switch (attrName) {
10280
+ case "inverted":
10281
+ for (let i = 0; i < this.$children.length; i++) {
10282
+ if (!this.$children[i].hasAttribute("inverted")) {
10283
+ this.$children[i].toggleAttribute("inverted");
10284
+ }
10285
+ }
10286
+ break;
10287
+ default:
10288
+ super.attributeChangedCallback(attrName, oldValue, newValue);
10289
+ break;
10290
+ }
10291
+ }
10318
10292
  }
10319
- set paddingTopLaptop(value) {
10320
- this.setAttribute("padding-top--laptop", value);
10293
+ get $children() {
10294
+ return this.querySelectorAll("px-footer-sitemap > *");
10321
10295
  }
10322
- get paddingBottomLaptop() {
10323
- return this.getAttribute("padding-bottom--laptop");
10296
+ get inverted() {
10297
+ return this.hasAttribute("inverted");
10324
10298
  }
10325
- set paddingBottomLaptop(value) {
10326
- this.setAttribute("padding-bottom--laptop", value);
10299
+ set inverted(value) {
10300
+ if (value) {
10301
+ this.setAttribute("inverted", "");
10302
+ } else {
10303
+ this.removeAttribute("inverted");
10304
+ }
10327
10305
  }
10328
- get border() {
10329
- return this.getAttribute("border");
10306
+ };
10307
+ _FooterSitemap.nativeName = "div";
10308
+ let FooterSitemap = _FooterSitemap;
10309
+ if (!customElements.get("px-footer-sitemap")) {
10310
+ customElements.define("px-footer-sitemap", FooterSitemap);
10311
+ }
10312
+ const styles$s = ":host,:host>*{display:block;box-sizing:border-box}::slotted(ul){margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}::slotted(ul.link-list-img){display:flex;flex-wrap:wrap;flex-direction:row;gap:20px}";
10313
+ const styleSheet$n = new CSSStyleSheet();
10314
+ styleSheet$n.replaceSync(styles$s);
10315
+ const _FooterSitemapItem = class _FooterSitemapItem extends PxElement {
10316
+ constructor() {
10317
+ super(styleSheet$n);
10318
+ this.templateMobile = () => `<div role="listitem">
10319
+ <px-accordion ${this.inverted ? "inverted" : ""}>
10320
+ <span slot="title"><slot name="links-list-title"></slot></span>
10321
+ <span slot="content">
10322
+ <slot name="links-list"></slot>
10323
+ </span>
10324
+ </px-accordion>
10325
+ </div>`;
10326
+ this.templateDesktop = () => `<div role="listitem">
10327
+ <px-vstack gap="default">
10328
+ <px-p variant="title-l" ${this.inverted ? "inverted" : ""}>
10329
+ <slot name="links-list-title"></slot>
10330
+ </px-p>
10331
+ <slot name="links-list"></slot>
10332
+ </px-vstack>
10333
+ </div>`;
10334
+ this.throttledLoadTemplate = throttle(this.loadTemplate.bind(this), 50);
10335
+ this.loadTemplate();
10330
10336
  }
10331
- set border(value) {
10332
- this.setAttribute("border", value);
10337
+ static get observedAttributes() {
10338
+ return [...super.observedAttributes, "inverted"];
10333
10339
  }
10334
- get borderSide() {
10335
- return this.getAttribute("border-side");
10340
+ connectedCallback() {
10341
+ super.connectedCallback();
10342
+ this.loadTemplate();
10343
+ window.addEventListener("resize", this.throttledLoadTemplate);
10344
+ if (!this.$ul) {
10345
+ console.error(
10346
+ "The footer sitemap item must contain a <ul> element with links."
10347
+ );
10348
+ } else {
10349
+ if (this.$ul.querySelector("px-img")) {
10350
+ this.$ul.classList.add("link-list-img");
10351
+ }
10352
+ }
10336
10353
  }
10337
- set borderSide(value) {
10338
- this.setAttribute("border-side", value);
10354
+ disconnectedCallback() {
10355
+ window.removeEventListener("resize", this.throttledLoadTemplate);
10339
10356
  }
10340
- get borderSideMobile() {
10341
- return this.getAttribute("border-side--mobile");
10357
+ loadTemplate() {
10358
+ const previousSize = this.lastSize;
10359
+ const currentSize = window.innerWidth < 768 ? "mobile" : "desktop";
10360
+ if (previousSize !== currentSize) {
10361
+ if (currentSize === "mobile") {
10362
+ this.shadowRoot.innerHTML = this.templateMobile();
10363
+ } else {
10364
+ this.shadowRoot.innerHTML = this.templateDesktop();
10365
+ }
10366
+ this.lastSize = currentSize;
10367
+ }
10342
10368
  }
10343
- set borderSideMobile(value) {
10344
- this.setAttribute("border-side--mobile", value);
10369
+ attributeChangedCallback(attrName, oldValue, newValue) {
10370
+ if (oldValue !== newValue) {
10371
+ switch (attrName) {
10372
+ case "inverted":
10373
+ for (let i = 0; i < this.$children.length; i++) {
10374
+ if (!this.$children[i].hasAttribute("inverted")) {
10375
+ this.$children[i].toggleAttribute("inverted");
10376
+ }
10377
+ }
10378
+ this.$ul.querySelectorAll("px-a").forEach((link) => {
10379
+ link.toggleAttribute("inverted");
10380
+ });
10381
+ break;
10382
+ default:
10383
+ super.attributeChangedCallback(attrName, oldValue, newValue);
10384
+ break;
10385
+ }
10386
+ }
10345
10387
  }
10346
- get borderSideTablet() {
10347
- return this.getAttribute("border-side--tablet");
10388
+ get $ul() {
10389
+ return this.querySelector("ul");
10348
10390
  }
10349
- set borderSideTablet(value) {
10350
- this.setAttribute("border-side--tablet", value);
10391
+ get $children() {
10392
+ return this.querySelectorAll("px-footer-sitemap-item > *");
10351
10393
  }
10352
- get borderSideLaptop() {
10353
- return this.getAttribute("border-side--laptop");
10394
+ get inverted() {
10395
+ return this.hasAttribute("inverted");
10354
10396
  }
10355
- set borderSideLaptop(value) {
10356
- this.setAttribute("border-side--laptop", value);
10397
+ set inverted(value) {
10398
+ if (value) {
10399
+ this.setAttribute("inverted", "");
10400
+ } else {
10401
+ this.removeAttribute("inverted");
10402
+ }
10357
10403
  }
10358
- }
10359
- if (!customElements.get("px-section")) {
10360
- customElements.define("px-section", Section);
10404
+ };
10405
+ _FooterSitemapItem.nativeName = "div";
10406
+ let FooterSitemapItem = _FooterSitemapItem;
10407
+ if (!customElements.get("px-footer-sitemap-item")) {
10408
+ customElements.define("px-footer-sitemap-item", FooterSitemapItem);
10361
10409
  }
10362
10410
  const styles$r = ":host{display:block}:host *{box-sizing:border-box}button,a{display:block;font-family:var(--px-font-family);font-size:var(--px-text-size-label-m-mobile);line-height:var(--px-font-line-height-l);color:var(--px-color-text-neutral-default);text-align:center;cursor:pointer;padding:2em 0;height:100%}button:after,a:after{content:attr(data-label);display:block;height:0;width:auto;visibility:hidden;overflow:hidden;-webkit-user-select:none;user-select:none;pointer-events:none;font-weight:var(--px-font-weight-title)}button:focus-visible,a:focus-visible{outline-offset:var(--px-focus-offset-mobile);outline:var(--px-focus-outline-mobile) solid var(--px-color-border-focus-outline-default)}button:hover,a:hover{font-weight:var(--px-font-weight-title);color:var(--px-color-background-container-primary-default);padding-block:calc(2em - 2px)}button{margin:0;border:0;border-bottom:2px solid rgba(0,0,0,0);outline:0;background:inherit}button[aria-expanded=true]{font-weight:var(--px-font-weight-title);color:var(--px-color-background-container-primary-default);border-bottom-color:var(--px-color-background-container-primary-default)}a{text-decoration:none}@media only screen and (min-width: 48em){button,a{font-size:var(--px-text-size-label-m-tablet)}button:focus-visible,a:focus-visible{outline-offset:var(--px-focus-offset-tablet);outline-width:var(--px-focus-outline-tablet)}}@media only screen and (min-width: 64.0625em){button,a{font-size:var(--px-text-size-label-m-laptop)}button:focus-visible,a:focus-visible{outline-offset:var(--px-focus-offset-laptop);outline-width:var(--px-focus-outline-laptop)}}@media only screen and (min-width: 90.0625em){button,a{font-size:var(--px-text-size-label-m-desktop)}button:focus-visible,a:focus-visible{outline-offset:var(--px-focus-offset-desktop);outline-width:var(--px-focus-outline-desktop)}}";
10363
10411
  const stylesheet$7 = new CSSStyleSheet();
@@ -10372,6 +10420,7 @@ class HeaderItem extends WithExtraAttributes {
10372
10420
  this.shadowRoot.innerHTML = this.template();
10373
10421
  this.shadowRoot.adoptedStyleSheets = [stylesheet$7];
10374
10422
  this.internals = (_a = this.attachInternals) == null ? void 0 : _a.call(this);
10423
+ this.role = "listitem";
10375
10424
  if (this.internals) {
10376
10425
  this.internals.role = "listitem";
10377
10426
  }
@@ -10522,9 +10571,9 @@ class Header extends WithExtraAttributes {
10522
10571
  });
10523
10572
  this.shadowRoot.innerHTML = this.template;
10524
10573
  this.internals = (_a = this.attachInternals) == null ? void 0 : _a.call(this);
10574
+ this.role = "navigation";
10525
10575
  if (this.internals) {
10526
10576
  this.internals.role = "navigation";
10527
- this.internals.ariaOrientation = "horizontal";
10528
10577
  }
10529
10578
  }
10530
10579
  connectedCallback() {
@@ -11910,6 +11959,7 @@ class MegaDropDown extends HTMLElement {
11910
11959
  this.shadowRoot.innerHTML = this.template;
11911
11960
  this.shadowRoot.adoptedStyleSheets = [stylesheet$3];
11912
11961
  this.internals = (_a = this.attachInternals) == null ? void 0 : _a.call(this);
11962
+ this.role = "menu";
11913
11963
  if (this.internals) {
11914
11964
  this.internals.role = "menu";
11915
11965
  }
@@ -11926,6 +11976,7 @@ class MegaDropDown extends HTMLElement {
11926
11976
  if (this.internals) {
11927
11977
  this.internals.ariaHidden = "true";
11928
11978
  }
11979
+ this.ariaHidden = "true";
11929
11980
  this.setAttribute("slot", "header-panels");
11930
11981
  this.shadowRoot.addEventListener("click", (event) => {
11931
11982
  if (event.target.closest("px-button-icon")) {
@@ -11985,7 +12036,9 @@ class MegaDropDown extends HTMLElement {
11985
12036
  this.id = newValue;
11986
12037
  }
11987
12038
  if (name === "hidden" && this.internals) {
11988
- this.internals.ariaHidden = newValue === "true" || newValue === "" ? "true" : "false";
12039
+ const val = newValue === "true" || newValue === "" ? "true" : "false";
12040
+ this.internals.ariaHidden = val;
12041
+ this.ariaHidden = val;
11989
12042
  const mddFooterHeightPx = __privateGet(this, _MegaDropDown_instances, $footer_get).offsetHeight;
11990
12043
  const mddFooterHeight = mddFooterHeightPx / parseFloat(getComputedStyle(document.documentElement).fontSize);
11991
12044
  this.style.setProperty(
@@ -12023,6 +12076,7 @@ class MegaDropDown extends HTMLElement {
12023
12076
  if (this.internals) {
12024
12077
  this.internals.ariaHidden = "true";
12025
12078
  }
12079
+ this.ariaHidden = "true";
12026
12080
  this.setAttribute("hidden", "");
12027
12081
  if (this.$dialog.open) {
12028
12082
  this.$dialog.close();
@@ -12031,6 +12085,7 @@ class MegaDropDown extends HTMLElement {
12031
12085
  if (this.internals) {
12032
12086
  this.internals.ariaHidden = "false";
12033
12087
  }
12088
+ this.ariaHidden = "false";
12034
12089
  if (!this.$dialog.open) {
12035
12090
  this.$dialog.showModal();
12036
12091
  setTimeout(() => {
@@ -12183,6 +12238,7 @@ class MddSectionItem extends HTMLElement {
12183
12238
  this.attachShadow({ mode: "open" });
12184
12239
  this.shadowRoot.adoptedStyleSheets = [stylesheet$1];
12185
12240
  this.internals = (_a = this.attachInternals) == null ? void 0 : _a.call(this);
12241
+ this.role = "listitem";
12186
12242
  if (this.internals) {
12187
12243
  this.internals.role = "listitem";
12188
12244
  }
@@ -12908,10 +12964,12 @@ class SelectableBoxCheckbox extends WithExtraAttributes {
12908
12964
  this.shadowRoot.innerHTML = this.template();
12909
12965
  this.internals = (_a = this.attachInternals) == null ? void 0 : _a.call(this);
12910
12966
  this.toggleFooterVisibility = this.toggleFooterVisibility.bind(this);
12967
+ this.role = "checkbox";
12911
12968
  if (this.internals) {
12912
12969
  this.internals.role = "checkbox";
12913
12970
  this.internals.ariaChecked = `${this.checked}`;
12914
12971
  }
12972
+ this.ariaChecked = `${this.checked}`;
12915
12973
  }
12916
12974
  connectedCallback() {
12917
12975
  this.tabIndex = 0;
@@ -13011,12 +13069,14 @@ class SelectableBoxCheckbox extends WithExtraAttributes {
13011
13069
  if (this.internals) {
13012
13070
  this.internals.ariaDisabled = "true";
13013
13071
  }
13072
+ this.ariaDisabled = "true";
13014
13073
  this.$checkbox.setAttribute("disabled", "");
13015
13074
  } else {
13016
13075
  this.disabled = false;
13017
13076
  if (this.internals) {
13018
13077
  this.internals.ariaDisabled = "false";
13019
13078
  }
13079
+ this.ariaDisabled = "false";
13020
13080
  this.$checkbox.removeAttribute("disabled");
13021
13081
  }
13022
13082
  }
@@ -13027,6 +13087,7 @@ class SelectableBoxCheckbox extends WithExtraAttributes {
13027
13087
  if (this.internals) {
13028
13088
  this.internals.ariaChecked = "false";
13029
13089
  }
13090
+ this.ariaChecked = "false";
13030
13091
  this.checked = false;
13031
13092
  if (this.$checkbox) {
13032
13093
  this.$checkbox.removeAttribute("checked");
@@ -13035,6 +13096,7 @@ class SelectableBoxCheckbox extends WithExtraAttributes {
13035
13096
  if (this.internals) {
13036
13097
  this.internals.ariaChecked = "true";
13037
13098
  }
13099
+ this.ariaChecked = "true";
13038
13100
  this.checked = true;
13039
13101
  if (this.$checkbox) {
13040
13102
  this.$checkbox.setAttribute("checked", "");
@@ -13175,10 +13237,12 @@ class SelectableBoxRadio extends WithExtraAttributes {
13175
13237
  this.shadowRoot.innerHTML = this.template();
13176
13238
  this.internals = (_a = this.attachInternals) == null ? void 0 : _a.call(this);
13177
13239
  this.toggleFooterVisibility = this.toggleFooterVisibility.bind(this);
13240
+ this.role = "radio";
13178
13241
  if (this.internals) {
13179
13242
  this.internals.role = "radio";
13180
13243
  this.internals.ariaChecked = `${this.checked}`;
13181
13244
  }
13245
+ this.ariaChecked = `${this.checked}`;
13182
13246
  }
13183
13247
  connectedCallback() {
13184
13248
  var _a;
@@ -13280,12 +13344,14 @@ class SelectableBoxRadio extends WithExtraAttributes {
13280
13344
  if (this.internals) {
13281
13345
  this.internals.ariaDisabled = "true";
13282
13346
  }
13347
+ this.ariaDisabled = "true";
13283
13348
  this.$radio.setAttribute("disabled", "");
13284
13349
  } else {
13285
13350
  this.disabled = false;
13286
13351
  if (this.internals) {
13287
13352
  this.internals.ariaDisabled = "false";
13288
13353
  }
13354
+ this.ariaDisabled = "false";
13289
13355
  this.$radio.removeAttribute("disabled");
13290
13356
  }
13291
13357
  }
@@ -13296,6 +13362,7 @@ class SelectableBoxRadio extends WithExtraAttributes {
13296
13362
  if (this.internals) {
13297
13363
  this.internals.ariaChecked = "false";
13298
13364
  }
13365
+ this.ariaChecked = "false";
13299
13366
  this.tabIndex = -1;
13300
13367
  this.checked = false;
13301
13368
  if (this.$radio) {
@@ -13305,6 +13372,7 @@ class SelectableBoxRadio extends WithExtraAttributes {
13305
13372
  if (this.internals) {
13306
13373
  this.internals.ariaChecked = "true";
13307
13374
  }
13375
+ this.ariaChecked = "true";
13308
13376
  this.tabIndex = 0;
13309
13377
  this.checked = true;
13310
13378
  if (this.$radio) {
@@ -13541,6 +13609,7 @@ class Spinner extends HTMLElement {
13541
13609
  connectedCallback() {
13542
13610
  if (!this.ariaLabel && this.internals) {
13543
13611
  this.internals.ariaHidden = "true";
13612
+ this.ariaHidden = "true";
13544
13613
  }
13545
13614
  }
13546
13615
  attributeChangedCallback(attrName, oldValue, newValue) {
@@ -13552,6 +13621,9 @@ class Spinner extends HTMLElement {
13552
13621
  case "aria-label":
13553
13622
  if (newValue !== "") {
13554
13623
  this.internals.ariaHidden = "false";
13624
+ this.ariaHidden = "false";
13625
+ this.internals.role = "status";
13626
+ this.role = "status";
13555
13627
  }
13556
13628
  break;
13557
13629
  }
@@ -13559,6 +13631,7 @@ class Spinner extends HTMLElement {
13559
13631
  }
13560
13632
  configureAccessibility(value) {
13561
13633
  this.internals.ariaHidden = value;
13634
+ this.ariaHidden = value;
13562
13635
  }
13563
13636
  updateAttribute(attrName, oldValue, newValue, attrValues) {
13564
13637
  if (oldValue !== null && oldValue !== "" && oldValue !== "default") {
@@ -14364,6 +14437,7 @@ class Tabs extends HTMLElement {
14364
14437
  this.shadowRoot.innerHTML = this.template();
14365
14438
  this.shadowRoot.adoptedStyleSheets = [styleSheet$7];
14366
14439
  this.internals = (_a = this.attachInternals) == null ? void 0 : _a.call(this);
14440
+ this.role = "tablist";
14367
14441
  if (this.internals) {
14368
14442
  this.internals.role = "tablist";
14369
14443
  }
@@ -14553,9 +14627,11 @@ class Tab extends HTMLElement {
14553
14627
  this.shadowRoot.innerHTML = this.template();
14554
14628
  this.shadowRoot.adoptedStyleSheets = [styleSheet$6];
14555
14629
  this.internals = (_a = this.attachInternals) == null ? void 0 : _a.call(this);
14630
+ this.role = "tab";
14556
14631
  if (this.internals) {
14557
14632
  this.internals.role = "tab";
14558
14633
  }
14634
+ this.ariaSelected = `${this.selected}`;
14559
14635
  }
14560
14636
  static get observedAttributes() {
14561
14637
  return ["selected", "for", "name"];
@@ -14619,12 +14695,14 @@ class Tab extends HTMLElement {
14619
14695
  if (this.internals) {
14620
14696
  this.internals.ariaSelected = `false`;
14621
14697
  }
14698
+ this.ariaSelected = `false`;
14622
14699
  } else {
14623
14700
  this.focus();
14624
14701
  this.tabIndex = 0;
14625
14702
  if (this.internals) {
14626
14703
  this.internals.ariaSelected = `true`;
14627
14704
  }
14705
+ this.ariaSelected = `true`;
14628
14706
  }
14629
14707
  }
14630
14708
  }
@@ -15178,10 +15256,12 @@ class TileCheckbox extends WithExtraAttributes {
15178
15256
  this.shadowRoot.innerHTML = this.template();
15179
15257
  this.internals = (_a = this.attachInternals) == null ? void 0 : _a.call(this);
15180
15258
  this.tabIndex = 0;
15259
+ this.role = "checkbox";
15181
15260
  if (this.internals) {
15182
15261
  this.internals.role = "checkbox";
15183
15262
  this.internals.ariaChecked = `${this.checked}`;
15184
15263
  }
15264
+ this.ariaChecked = `${this.checked}`;
15185
15265
  }
15186
15266
  connectedCallback() {
15187
15267
  if (this.$slotPrefix) {
@@ -15270,6 +15350,7 @@ class TileCheckbox extends WithExtraAttributes {
15270
15350
  if (this.internals) {
15271
15351
  this.internals.ariaDisabled = "true";
15272
15352
  }
15353
+ this.ariaDisabled = "true";
15273
15354
  this.$tile.disabled = true;
15274
15355
  this.$checkbox.setAttribute("disabled", "");
15275
15356
  } else {
@@ -15277,6 +15358,7 @@ class TileCheckbox extends WithExtraAttributes {
15277
15358
  if (this.internals) {
15278
15359
  this.internals.ariaDisabled = "false";
15279
15360
  }
15361
+ this.ariaDisabled = "false";
15280
15362
  this.$tile.disabled = false;
15281
15363
  this.$checkbox.removeAttribute("disabled");
15282
15364
  }
@@ -15288,6 +15370,7 @@ class TileCheckbox extends WithExtraAttributes {
15288
15370
  if (this.internals) {
15289
15371
  this.internals.ariaChecked = "false";
15290
15372
  }
15373
+ this.ariaChecked = "false";
15291
15374
  this.checked = false;
15292
15375
  if (this.$checkbox) {
15293
15376
  this.$checkbox.removeAttribute("checked");
@@ -15296,6 +15379,7 @@ class TileCheckbox extends WithExtraAttributes {
15296
15379
  if (this.internals) {
15297
15380
  this.internals.ariaChecked = "true";
15298
15381
  }
15382
+ this.ariaChecked = "true";
15299
15383
  this.checked = true;
15300
15384
  if (this.$checkbox) {
15301
15385
  this.$checkbox.setAttribute("checked", "");
@@ -15449,10 +15533,12 @@ class TileRadio extends WithExtraAttributes {
15449
15533
  super(commonStyleSheet$2);
15450
15534
  this.shadowRoot.innerHTML = this.template();
15451
15535
  this.internals = (_a = this.attachInternals) == null ? void 0 : _a.call(this);
15536
+ this.role = "radio";
15452
15537
  if (this.internals) {
15453
15538
  this.internals.role = "radio";
15454
15539
  this.internals.ariaChecked = `${this.checked}`;
15455
15540
  }
15541
+ this.ariaChecked = `${this.checked}`;
15456
15542
  }
15457
15543
  connectedCallback() {
15458
15544
  var _a;
@@ -15545,6 +15631,7 @@ class TileRadio extends WithExtraAttributes {
15545
15631
  if (this.internals) {
15546
15632
  this.internals.ariaDisabled = "true";
15547
15633
  }
15634
+ this.ariaDisabled = "true";
15548
15635
  this.$tile.disabled = true;
15549
15636
  this.$radio.setAttribute("disabled", "");
15550
15637
  } else {
@@ -15552,6 +15639,7 @@ class TileRadio extends WithExtraAttributes {
15552
15639
  if (this.internals) {
15553
15640
  this.internals.ariaDisabled = "false";
15554
15641
  }
15642
+ this.ariaDisabled = "false";
15555
15643
  this.$tile.disabled = false;
15556
15644
  this.$radio.removeAttribute("disabled");
15557
15645
  }
@@ -15563,6 +15651,7 @@ class TileRadio extends WithExtraAttributes {
15563
15651
  if (this.internals) {
15564
15652
  this.internals.ariaChecked = "false";
15565
15653
  }
15654
+ this.ariaChecked = "false";
15566
15655
  this.tabIndex = -1;
15567
15656
  this.checked = false;
15568
15657
  if (this.$radio) {
@@ -15572,6 +15661,7 @@ class TileRadio extends WithExtraAttributes {
15572
15661
  if (this.internals) {
15573
15662
  this.internals.ariaChecked = "true";
15574
15663
  }
15664
+ this.ariaChecked = "true";
15575
15665
  this.tabIndex = 0;
15576
15666
  this.checked = true;
15577
15667
  if (this.$radio) {
@@ -15885,10 +15975,12 @@ class TileSwitch extends WithExtraAttributes {
15885
15975
  this.shadowRoot.innerHTML = this.template();
15886
15976
  this.internals = (_a = this.attachInternals) == null ? void 0 : _a.call(this);
15887
15977
  this.tabIndex = 0;
15978
+ this.role = "checkbox";
15888
15979
  if (this.internals) {
15889
15980
  this.internals.role = "checkbox";
15890
15981
  this.internals.ariaChecked = `${this.checked}`;
15891
15982
  }
15983
+ this.ariaChecked = `${this.checked}`;
15892
15984
  }
15893
15985
  connectedCallback() {
15894
15986
  if (this.$slotPrefix) {
@@ -15966,6 +16058,7 @@ class TileSwitch extends WithExtraAttributes {
15966
16058
  if (this.internals) {
15967
16059
  this.internals.ariaDisabled = "true";
15968
16060
  }
16061
+ this.ariaDisabled = "true";
15969
16062
  this.$tile.disabled = true;
15970
16063
  this.$switch.setAttribute("disabled", "");
15971
16064
  } else {
@@ -15973,6 +16066,7 @@ class TileSwitch extends WithExtraAttributes {
15973
16066
  if (this.internals) {
15974
16067
  this.internals.ariaDisabled = "false";
15975
16068
  }
16069
+ this.ariaDisabled = "false";
15976
16070
  this.$tile.disabled = false;
15977
16071
  this.$switch.removeAttribute("disabled");
15978
16072
  }
@@ -15984,6 +16078,7 @@ class TileSwitch extends WithExtraAttributes {
15984
16078
  if (this.internals) {
15985
16079
  this.internals.ariaChecked = "false";
15986
16080
  }
16081
+ this.ariaChecked = "false";
15987
16082
  this.checked = false;
15988
16083
  if (this.$switch) {
15989
16084
  this.$switch.removeAttribute("checked");
@@ -15992,6 +16087,7 @@ class TileSwitch extends WithExtraAttributes {
15992
16087
  if (this.internals) {
15993
16088
  this.internals.ariaChecked = "true";
15994
16089
  }
16090
+ this.ariaChecked = "true";
15995
16091
  this.checked = true;
15996
16092
  if (this.$switch) {
15997
16093
  this.$switch.setAttribute("checked", "");
@@ -16252,8 +16348,8 @@ class TimelineItem extends HTMLElement {
16252
16348
  if (!customElements.get("px-timeline-item")) {
16253
16349
  customElements.define("px-timeline-item", TimelineItem);
16254
16350
  }
16255
- const typographyCss = "*{font-family:var(--px-font-family);font-weight:var(--px-font-weight-body);color:var(--px-color-text-neutral-default)}::slotted(ul),::slotted(ol){margin:0 0 0 var(--px-spacing-default-desktop);padding:0}::slotted(b),::slotted(strong){font-weight:var(--px-font-weight-title)}::slotted(address){font-style:normal;font-weight:var(--px-font-weight-body)}::slotted(img){max-width:100%;height:auto}:host([inverted]) slot{color:var(--px-color-text-neutral-inverted)}";
16256
- const lightStyles = ".li{padding-bottom:var(--px-padding-xs-desktop)}";
16351
+ const typographyCss = ":host{font-family:var(--px-font-family);font-weight:var(--px-font-weight-body);color:var(--px-color-text-neutral-default)}::slotted(ul),::slotted(ol){padding:0;margin:0 0 var(--px-spacing-xs-mobile) var(--px-spacing-default-mobile)}::slotted(blockquote){margin-bottom:var(--px-spacing-xs-mobile)}::slotted(b),::slotted(strong){font-weight:var(--px-font-weight-title)}::slotted(address){font-style:normal;font-weight:var(--px-font-weight-body)}::slotted(img){max-width:100%;height:auto}@media only screen and (min-width: 48em){::slotted(ul),::slotted(ol){margin:0 0 var(--px-spacing-xs-tablet) var(--px-spacing-default-tablet)}::slotted(blockquote){margin-bottom:var(--px-spacing-xs-tablet)}}@media only screen and (min-width: 64.0625em){::slotted(ul),::slotted(ol){margin:0 0 var(--px-spacing-xs-laptop) var(--px-spacing-default-laptop)}::slotted(blockquote){margin-bottom:var(--px-spacing-xs-laptop)}}@media only screen and (min-width: 90.0625em){::slotted(ul),::slotted(ol){margin:0 0 var(--px-spacing-xs-desktop) var(--px-spacing-default-desktop)}::slotted(blockquote){margin-bottom:var(--px-spacing-xs-desktop)}}:host([inverted]){color:var(--px-color-text-neutral-inverted)}";
16352
+ const lightStyles = ".li{margin-bottom:var(--px-padding-xs-mobile)}@media only screen and (min-width: 48em){.li{margin-bottom:var(--px-padding-xs-tablet)}}@media only screen and (min-width: 64.0625em){.li{margin-bottom:var(--px-padding-xs-laptop)}}@media only screen and (min-width: 90.0625em){.li{margin-bottom:var(--px-padding-xs-desktop)}}";
16257
16353
  const typographyStyles = new CSSStyleSheet();
16258
16354
  const headingStyles = new CSSStyleSheet();
16259
16355
  const linkStyles = new CSSStyleSheet();