@proximus/lavender 1.4.1-alpha.6 → 1.4.1-beta.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() {
@@ -1980,8 +1985,10 @@ class Icon extends WithExtraAttributes {
1980
1985
  }
1981
1986
  if (newValue) {
1982
1987
  __privateGet(this, _internals).ariaHidden = "false";
1988
+ this.ariaHidden = "false";
1983
1989
  } else {
1984
1990
  __privateGet(this, _internals).ariaHidden = "true";
1991
+ this.ariaHidden = "true";
1985
1992
  }
1986
1993
  break;
1987
1994
  }
@@ -2007,6 +2014,7 @@ class Icon extends WithExtraAttributes {
2007
2014
  }
2008
2015
  if (!this.ariaLabel && __privateGet(this, _internals)) {
2009
2016
  __privateGet(this, _internals).ariaHidden = "true";
2017
+ this.ariaHidden = "true";
2010
2018
  }
2011
2019
  }
2012
2020
  updateAttribute(attrName, oldValue, newValue, attrValues) {
@@ -2189,7 +2197,6 @@ if (!customElements.get("px-span")) {
2189
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}}';
2190
2198
  const containerStyles = new CSSStyleSheet();
2191
2199
  containerStyles.replaceSync(containerCss);
2192
- const anchorValues = ["anchor-right", "anchor-left", "anchor-full"];
2193
2200
  const attributeBreakpointCSSSelector$3 = (attributeName, attributeValue, device) => `:host([${attributeName}${device ? `--${device}` : ""}='${attributeValue}']) .container`;
2194
2201
  const paddingPrefix$1 = "px-padding";
2195
2202
  const _Container = class _Container extends PxElement {
@@ -2296,12 +2303,19 @@ const _Container = class _Container extends PxElement {
2296
2303
  if (!this.borderColor) {
2297
2304
  this.borderColor = "main";
2298
2305
  }
2299
- const anchorSlot = this.querySelector("[slot]");
2300
- if (anchorSlot) {
2301
- if (anchorValues.includes(anchorSlot.getAttribute("slot"))) {
2302
- this.shadowRoot.querySelector(".container").classList.toggle("anchored");
2303
- }
2306
+ if (this.$slotAnchor) {
2307
+ this.addAnchorClass();
2304
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
+ });
2305
2319
  this._bgObserver = new IntersectionObserver((entries) => {
2306
2320
  entries.forEach((entry) => {
2307
2321
  var _a;
@@ -2317,6 +2331,7 @@ const _Container = class _Container extends PxElement {
2317
2331
  disconnectedCallback() {
2318
2332
  var _a;
2319
2333
  (_a = this._bgObserver) == null ? void 0 : _a.disconnect();
2334
+ this.contentObserver.disconnect();
2320
2335
  }
2321
2336
  attributeChangedCallback(attrName, oldValue, newValue) {
2322
2337
  if (oldValue !== newValue) {
@@ -2529,6 +2544,14 @@ const _Container = class _Container extends PxElement {
2529
2544
  updateAnchorOffsetStyle(oldValue);
2530
2545
  updateAnchorOffsetStyle(newValue);
2531
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
+ }
2532
2555
  get padding() {
2533
2556
  return this.getAttribute("padding");
2534
2557
  }
@@ -2996,7 +3019,20 @@ const agGridTableThButtonCss = `:host{display:inline-flex;overflow:hidden;word-b
2996
3019
  const agGridTableThButtonStyles = new CSSStyleSheet();
2997
3020
  agGridTableThButtonStyles.replaceSync(agGridTableThButtonCss);
2998
3021
  const sortingValues = ["none", "ascending", "descending"];
3022
+ const CLICK_EVENT$1 = "px.lavender.ag-grid-table-th-button.click";
2999
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
+ }
3000
3036
  template() {
3001
3037
  return `
3002
3038
  <button class="ag-grid-table-th-button">
@@ -3005,15 +3041,6 @@ const _AgGridTableThButton = class _AgGridTableThButton extends PxElement {
3005
3041
  </button>
3006
3042
  `;
3007
3043
  }
3008
- constructor() {
3009
- var _a;
3010
- super(agGridTableThButtonStyles);
3011
- this.shadowRoot.innerHTML = this.template();
3012
- this.internals = (_a = this.attachInternals) == null ? void 0 : _a.call(this);
3013
- if (this.internals) {
3014
- this.internals.ariaHidden = "true";
3015
- }
3016
- }
3017
3044
  connectedCallback() {
3018
3045
  var _a, _b, _c;
3019
3046
  super.connectedCallback();
@@ -3025,14 +3052,8 @@ const _AgGridTableThButton = class _AgGridTableThButton extends PxElement {
3025
3052
  "aria-label",
3026
3053
  "Sortable column header, press ctrl + enter to sort"
3027
3054
  );
3028
- this.addEventListener(
3029
- "click",
3030
- (event) => this.cycleToNextSortingValue(event)
3031
- );
3032
- (_c = this.$columnHeader) == null ? void 0 : _c.addEventListener(
3033
- "keypress",
3034
- (event) => this.setKeypressEvent(event)
3035
- );
3055
+ this.addEventListener("click", this.clickHandler);
3056
+ (_c = this.$columnHeader) == null ? void 0 : _c.addEventListener("keypress", this.keypressHandler);
3036
3057
  }
3037
3058
  static get observedAttributes() {
3038
3059
  return [
@@ -3064,8 +3085,8 @@ const _AgGridTableThButton = class _AgGridTableThButton extends PxElement {
3064
3085
  }
3065
3086
  disconnectedCallback() {
3066
3087
  var _a;
3067
- this.removeEventListener("click", this.cycleToNextSortingValue);
3068
- (_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);
3069
3090
  }
3070
3091
  updateSorting(oldValue, newValue, attrValue) {
3071
3092
  var _a, _b;
@@ -3091,21 +3112,25 @@ const _AgGridTableThButton = class _AgGridTableThButton extends PxElement {
3091
3112
  (_b = this.$columnHeader) == null ? void 0 : _b.setAttribute("aria-label", newValue);
3092
3113
  }
3093
3114
  }
3094
- setKeypressEvent(event) {
3095
- event.stopPropagation();
3096
- event.preventDefault();
3097
- switch (event.code) {
3098
- case "Enter":
3099
- this.cycleToNextSortingValue();
3100
- break;
3101
- }
3115
+ clickAgGridTableThButton(value) {
3116
+ this.dispatchEvent(
3117
+ new CustomEvent(CLICK_EVENT$1, {
3118
+ bubbles: true,
3119
+ composed: true,
3120
+ detail: { value }
3121
+ })
3122
+ );
3102
3123
  }
3103
3124
  cycleToNextSortingValue(event) {
3125
+ event == null ? void 0 : event.stopPropagation();
3126
+ event == null ? void 0 : event.preventDefault();
3104
3127
  const currentSorting = sortingValues.indexOf(this.sorting);
3105
3128
  const nextSorting = (currentSorting + 1) % sortingValues.length;
3106
3129
  this.sorting = sortingValues[nextSorting];
3107
- event == null ? void 0 : event.stopPropagation();
3108
- event == null ? void 0 : event.preventDefault();
3130
+ }
3131
+ handleSortingCycle(event) {
3132
+ this.cycleToNextSortingValue(event);
3133
+ this.clickAgGridTableThButton(this.sorting);
3109
3134
  }
3110
3135
  get $slottedThContent() {
3111
3136
  return this.querySelector("px-ag-grid-table-th-content");
@@ -5974,10 +5999,12 @@ class CellCheckbox extends WithExtraAttributes {
5974
5999
  this.shadowRoot.innerHTML = this.template();
5975
6000
  this.internals = (_a = this.attachInternals) == null ? void 0 : _a.call(this);
5976
6001
  this.tabIndex = 0;
6002
+ this.role = "checkbox";
5977
6003
  if (this.internals) {
5978
6004
  this.internals.role = "checkbox";
5979
6005
  this.internals.ariaChecked = `${this.checked}`;
5980
6006
  }
6007
+ this.ariaChecked = `${this.checked}`;
5981
6008
  }
5982
6009
  connectedCallback() {
5983
6010
  if (this.$slotVisual) {
@@ -6094,6 +6121,7 @@ class CellCheckbox extends WithExtraAttributes {
6094
6121
  if (this.internals) {
6095
6122
  this.internals.ariaDisabled = "true";
6096
6123
  }
6124
+ this.ariaDisabled = "true";
6097
6125
  this.$cell.disabled = true;
6098
6126
  this.$checkbox.setAttribute("disabled", "");
6099
6127
  this.$children.forEach((child) => {
@@ -6106,6 +6134,7 @@ class CellCheckbox extends WithExtraAttributes {
6106
6134
  if (this.internals) {
6107
6135
  this.internals.ariaDisabled = "false";
6108
6136
  }
6137
+ this.ariaDisabled = "false";
6109
6138
  this.$cell.disabled = false;
6110
6139
  this.$checkbox.removeAttribute("disabled");
6111
6140
  this.$children.forEach((child) => {
@@ -6122,6 +6151,7 @@ class CellCheckbox extends WithExtraAttributes {
6122
6151
  if (this.internals) {
6123
6152
  this.internals.ariaChecked = "false";
6124
6153
  }
6154
+ this.ariaChecked = "false";
6125
6155
  this.checked = false;
6126
6156
  if (this.$checkbox) {
6127
6157
  this.$checkbox.removeAttribute("checked");
@@ -6130,6 +6160,7 @@ class CellCheckbox extends WithExtraAttributes {
6130
6160
  if (this.internals) {
6131
6161
  this.internals.ariaChecked = "true";
6132
6162
  }
6163
+ this.ariaChecked = "true";
6133
6164
  this.checked = true;
6134
6165
  if (this.$checkbox) {
6135
6166
  this.$checkbox.setAttribute("checked", "");
@@ -6377,10 +6408,12 @@ class CellSwitch extends WithExtraAttributes {
6377
6408
  this.shadowRoot.innerHTML = this.template();
6378
6409
  this.internals = (_a = this.attachInternals) == null ? void 0 : _a.call(this);
6379
6410
  this.tabIndex = 0;
6411
+ this.role = "checkbox";
6380
6412
  if (this.internals) {
6381
6413
  this.internals.role = "checkbox";
6382
6414
  this.internals.ariaChecked = `${this.checked}`;
6383
6415
  }
6416
+ this.ariaChecked = `${this.checked}`;
6384
6417
  }
6385
6418
  connectedCallback() {
6386
6419
  if (this.$slotVisual) {
@@ -6482,6 +6515,7 @@ class CellSwitch extends WithExtraAttributes {
6482
6515
  if (this.internals) {
6483
6516
  this.internals.ariaDisabled = "true";
6484
6517
  }
6518
+ this.ariaDisabled = "true";
6485
6519
  this.$cell.disabled = true;
6486
6520
  this.$switch.setAttribute("disabled", "");
6487
6521
  this.$children.forEach((child) => {
@@ -6494,6 +6528,7 @@ class CellSwitch extends WithExtraAttributes {
6494
6528
  if (this.internals) {
6495
6529
  this.internals.ariaDisabled = "false";
6496
6530
  }
6531
+ this.ariaDisabled = "false";
6497
6532
  this.$cell.disabled = false;
6498
6533
  this.$switch.removeAttribute("disabled");
6499
6534
  this.$children.forEach((child) => {
@@ -6510,6 +6545,7 @@ class CellSwitch extends WithExtraAttributes {
6510
6545
  if (this.internals) {
6511
6546
  this.internals.ariaChecked = "false";
6512
6547
  }
6548
+ this.ariaChecked = "false";
6513
6549
  this.checked = false;
6514
6550
  if (this.$switch) {
6515
6551
  this.$switch.removeAttribute("checked");
@@ -6518,6 +6554,7 @@ class CellSwitch extends WithExtraAttributes {
6518
6554
  if (this.internals) {
6519
6555
  this.internals.ariaChecked = "true";
6520
6556
  }
6557
+ this.ariaChecked = "true";
6521
6558
  this.checked = true;
6522
6559
  if (this.$switch) {
6523
6560
  this.$switch.setAttribute("checked", "");
@@ -6780,10 +6817,12 @@ class Radio extends RadioBase {
6780
6817
  super();
6781
6818
  this.internals = (_a = this.attachInternals) == null ? void 0 : _a.call(this);
6782
6819
  this.tabIndex = ((_b = this.parentElement) == null ? void 0 : _b.querySelector("px-radio")) === this ? 0 : -1;
6820
+ this.role = "radio";
6783
6821
  if (this.internals) {
6784
6822
  this.internals.role = "radio";
6785
6823
  this.internals.ariaChecked = `${this.checked}`;
6786
6824
  }
6825
+ this.ariaChecked = `${this.checked}`;
6787
6826
  }
6788
6827
  static get observedAttributes() {
6789
6828
  return [...super.observedAttributes, "state", "variant", "inverted"];
@@ -6881,11 +6920,13 @@ class Radio extends RadioBase {
6881
6920
  if (this.internals) {
6882
6921
  this.internals.ariaChecked = "true";
6883
6922
  }
6923
+ this.ariaChecked = "true";
6884
6924
  } else {
6885
6925
  this.tabIndex = -1;
6886
6926
  if (this.internals) {
6887
6927
  this.internals.ariaChecked = "false";
6888
6928
  }
6929
+ this.ariaChecked = "false";
6889
6930
  }
6890
6931
  if (checked) {
6891
6932
  this.dispatchEvent(
@@ -7266,10 +7307,12 @@ class CellRadio extends WithExtraAttributes {
7266
7307
  super(commonStyleSheet$6);
7267
7308
  this.shadowRoot.innerHTML = this.template();
7268
7309
  this.internals = (_a = this.attachInternals) == null ? void 0 : _a.call(this);
7310
+ this.role = "radio";
7269
7311
  if (this.internals) {
7270
7312
  this.internals.role = "radio";
7271
7313
  this.internals.ariaChecked = `${this.checked}`;
7272
7314
  }
7315
+ this.ariaChecked = `${this.checked}`;
7273
7316
  }
7274
7317
  connectedCallback() {
7275
7318
  var _a;
@@ -7390,6 +7433,7 @@ class CellRadio extends WithExtraAttributes {
7390
7433
  if (this.internals) {
7391
7434
  this.internals.ariaDisabled = "true";
7392
7435
  }
7436
+ this.ariaDisabled = "true";
7393
7437
  this.$cell.disabled = true;
7394
7438
  this.$radio.setAttribute("disabled", "");
7395
7439
  this.$children.forEach((child) => {
@@ -7402,6 +7446,7 @@ class CellRadio extends WithExtraAttributes {
7402
7446
  if (this.internals) {
7403
7447
  this.internals.ariaDisabled = "false";
7404
7448
  }
7449
+ this.ariaDisabled = "false";
7405
7450
  this.$cell.disabled = false;
7406
7451
  this.$radio.removeAttribute("disabled");
7407
7452
  this.$children.forEach((child) => {
@@ -7418,6 +7463,7 @@ class CellRadio extends WithExtraAttributes {
7418
7463
  if (this.internals) {
7419
7464
  this.internals.ariaChecked = "false";
7420
7465
  }
7466
+ this.ariaChecked = "false";
7421
7467
  this.tabIndex = -1;
7422
7468
  this.checked = false;
7423
7469
  if (this.$radio) {
@@ -7427,6 +7473,7 @@ class CellRadio extends WithExtraAttributes {
7427
7473
  if (this.internals) {
7428
7474
  this.internals.ariaChecked = "true";
7429
7475
  }
7476
+ this.ariaChecked = "true";
7430
7477
  this.tabIndex = 0;
7431
7478
  this.checked = true;
7432
7479
  if (this.$radio) {
@@ -7849,32 +7896,39 @@ if (!customElements.get("px-color-option-link")) {
7849
7896
  customElements.define("px-color-option-link", ColorOptionLink);
7850
7897
  }
7851
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))}}";
7852
- const contentHeaderStyles = new CSSStyleSheet();
7853
- contentHeaderStyles.replaceSync(contentHeaderCss);
7854
- 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 {
7855
7903
  constructor() {
7856
- super(contentHeaderStyles);
7857
- this.template = () => `<div class="content-header">
7858
- <div class="contrast-helper"></div>
7859
- <px-section padding-block="l">
7860
- <px-grid gap="none">
7861
- <px-container padding="none" border-radius="none" background-color="none" >
7862
- <div class="content-header-content">
7863
- <px-vstack gap="heading-to-subtitle">
7864
- <px-h1 variant="title-3xl"><slot></slot></px-h1>
7865
- <slot name="subtitle"></slot>
7866
- </px-vstack>
7867
- ${this.$patchDescriptionSlot ? `<px-stack gap="s" direction="row" direction--mobile="column">
7868
- <slot name="patch" shrink></slot>
7869
- <slot name="patch-description"></slot>
7870
- </px-stack>` : ""}
7871
- </div>
7872
- </px-container>
7873
- </px-grid>
7874
- ${this.$overlapSlot ? `<slot name="overlap" slot="overlap"></slot>` : ""}
7875
- </px-section>
7876
- </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" });
7877
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
+ }
7878
7932
  }
7879
7933
  static get observedAttributes() {
7880
7934
  return [
@@ -7886,137 +7940,114 @@ const _ContentHeader = class _ContentHeader extends PxElement {
7886
7940
  "background-image--laptop",
7887
7941
  "background-size",
7888
7942
  "background-position",
7889
- "contrast-helper-gradient",
7890
- "contrast-helper-overlay",
7891
- "min-height",
7892
- "has-gridding",
7893
- "has-gridding--mobile",
7894
- "has-gridding--tablet",
7895
- "has-gridding--laptop",
7896
- "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"
7897
7960
  ];
7898
7961
  }
7899
- connectedCallback() {
7900
- var _a;
7901
- (_a = super.connectedCallback) == null ? void 0 : _a.call(this);
7902
- if (this.$subtitleSlot) {
7903
- this.$subtitleSlot.setAttribute("variant", "subtitle");
7904
- }
7905
- if (this.$patchDescriptionSlot) {
7906
- if (this.$patchDescriptionSlot.localName === "px-p") {
7907
- this.$patchDescriptionSlot.setAttribute("variant", "default");
7908
- }
7909
- if (this.$patchDescriptionSlot.localName === "px-p" || this.$patchDescriptionSlot.localName === "px-span") {
7910
- this.$patchDescriptionSlot.setAttribute("font-size", "body-l");
7911
- this.$patchDescriptionSlot.removeAttribute("font-weight");
7912
- this.$patchDescriptionSlot.removeAttribute("color");
7913
- }
7914
- if (this.$patchDescriptionSlot.localName === "px-price") {
7915
- this.$patchDescriptionSlot.setAttribute("size", "m");
7916
- }
7917
- }
7918
- this.createGridding();
7962
+ get $container() {
7963
+ return this.shadowRoot.querySelector("px-container");
7919
7964
  }
7920
- attributeChangedCallback(attrName, oldValue, newValue) {
7965
+ attributeChangedCallback(name, oldValue, newValue) {
7921
7966
  if (oldValue !== newValue) {
7922
- switch (attrName) {
7967
+ switch (name) {
7923
7968
  case "background-color":
7924
- this.$section.backgroundColor = backgroundColorValues.indexOf(newValue) > 0 ? newValue : "none";
7969
+ this.$container.backgroundColor = backgroundColorValues.indexOf(newValue) > 0 ? newValue : "none";
7925
7970
  break;
7926
7971
  case "background-gradient":
7927
- this.$section.gradient = gradientValues.indexOf(newValue) > 0 ? newValue : "none";
7972
+ this.$container.gradient = this.gradient;
7928
7973
  break;
7929
7974
  case "background-image":
7930
- this.$section.backgroundImage = newValue;
7975
+ this.$container.backgroundImage = newValue;
7931
7976
  break;
7932
7977
  case "background-image--mobile":
7933
- this.$section.backgroundImageMobile = newValue;
7978
+ this.$container.backgroundImageMobile = newValue;
7934
7979
  break;
7935
7980
  case "background-image--tablet":
7936
- this.$section.backgroundImageTablet = newValue;
7981
+ this.$container.backgroundImageTablet = newValue;
7937
7982
  break;
7938
7983
  case "background-image--laptop":
7939
- this.$section.backgroundImageLaptop = newValue;
7984
+ this.$container.backgroundImageLaptop = newValue;
7940
7985
  break;
7941
7986
  case "background-size":
7942
- this.$section.backgroundSize = backgroundSizeValues.indexOf(newValue) > 0 ? newValue : "";
7987
+ this.$container.backgroundSize = newValue;
7943
7988
  break;
7944
7989
  case "background-position":
7945
- this.$section.backgroundPosition = newValue;
7990
+ this.$container.backgroundPosition = newValue;
7946
7991
  break;
7947
- case "has-gridding":
7948
- case "has-gridding--mobile":
7949
- case "has-gridding--tablet":
7950
- case "has-gridding--laptop":
7951
- this.createGridding();
7992
+ case "padding-block":
7993
+ this.$container.paddingBlock = newValue;
7952
7994
  break;
7953
- case "inverted":
7954
- for (let i = 0; i < this.$children.length; i++) {
7955
- if (!this.$children[i].hasAttribute("inverted")) {
7956
- this.$children[i].toggleAttribute("inverted");
7957
- }
7958
- }
7959
- this.$h1.toggleAttribute("inverted", newValue !== null);
7960
- this.$el.toggleAttribute("inverted", newValue !== null);
7995
+ case "padding-top":
7996
+ this.$container.paddingTop = newValue;
7961
7997
  break;
7962
- default:
7963
- 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;
7964
8042
  break;
7965
8043
  }
7966
8044
  }
7967
8045
  }
7968
- createGridding() {
7969
- const breakpoints = [
7970
- { prop: "hasGridding", gridProp: "gridCols", attr: "col-span" },
7971
- {
7972
- prop: "hasGriddingMobile",
7973
- gridProp: "gridColsMobile",
7974
- attr: "col-span--mobile"
7975
- },
7976
- {
7977
- prop: "hasGriddingTablet",
7978
- gridProp: "gridColsTablet",
7979
- attr: "col-span--tablet"
7980
- },
7981
- {
7982
- prop: "hasGriddingLaptop",
7983
- gridProp: "gridColsLaptop",
7984
- attr: "col-span--laptop"
7985
- }
7986
- ];
7987
- const spanElement = this.shadowRoot.querySelector(
7988
- "px-grid > px-container"
7989
- );
7990
- breakpoints.forEach(({ prop, gridProp, attr }) => {
7991
- if (this[prop]) {
7992
- this.$grid[gridProp] = "3";
7993
- spanElement.setAttribute(attr, "2");
7994
- }
7995
- });
7996
- }
7997
- get $grid() {
7998
- return this.shadowRoot.querySelector("px-grid");
7999
- }
8000
- get $section() {
8001
- return this.shadowRoot.querySelector("px-section");
8002
- }
8003
- get $h1() {
8004
- return this.shadowRoot.querySelector("px-h1");
8005
- }
8006
- get $subtitleSlot() {
8007
- return this.querySelector('[slot="subtitle"]');
8008
- }
8009
- get $patchDescriptionSlot() {
8010
- return this.querySelector('[slot="patch-description"]');
8011
- }
8012
- get $overlapSlot() {
8046
+ get $slotOverlap() {
8013
8047
  return this.querySelector('[slot="overlap"]');
8014
8048
  }
8015
- get $children() {
8016
- return this.querySelectorAll("px-content-header > *");
8017
- }
8018
8049
  get backgroundColor() {
8019
- return this.getAttribute("background-color");
8050
+ return this.getAttribute("background-color") || "none";
8020
8051
  }
8021
8052
  set backgroundColor(value) {
8022
8053
  this.setAttribute("background-color", value);
@@ -8063,331 +8094,221 @@ const _ContentHeader = class _ContentHeader extends PxElement {
8063
8094
  set backgroundPosition(value) {
8064
8095
  this.setAttribute("background-position", value);
8065
8096
  }
8066
- get gradientContrastHelper() {
8067
- return this.hasAttribute("contrast-helper-gradient");
8097
+ get paddingBlock() {
8098
+ return this.getAttribute("padding-block");
8068
8099
  }
8069
- set gradientContrastHelper(value) {
8070
- if (value) {
8071
- this.setAttribute("contrast-helper-gradient", "");
8072
- } else {
8073
- this.removeAttribute("contrast-helper-gradient");
8074
- }
8100
+ set paddingBlock(value) {
8101
+ this.setAttribute("padding-block", value);
8075
8102
  }
8076
- get overlayContrastHelper() {
8077
- return this.hasAttribute("contrast-helper-overlay");
8103
+ get paddingTop() {
8104
+ return this.getAttribute("padding-top");
8078
8105
  }
8079
- set overlayContrastHelper(value) {
8080
- if (value) {
8081
- this.setAttribute("contrast-helper-overlay", "");
8082
- } else {
8083
- this.removeAttribute("contrast-helper-overlay");
8084
- }
8106
+ set paddingTop(value) {
8107
+ this.setAttribute("padding-top", value);
8085
8108
  }
8086
- get hasGridding() {
8087
- return this.hasAttribute("has-gridding");
8109
+ get paddingBottom() {
8110
+ return this.getAttribute("padding-bottom");
8088
8111
  }
8089
- set hasGridding(value) {
8090
- if (value) {
8091
- this.setAttribute("has-gridding", "");
8092
- } else {
8093
- this.removeAttribute("has-gridding");
8094
- }
8112
+ set paddingBottom(value) {
8113
+ this.setAttribute("padding-bottom", value);
8095
8114
  }
8096
- get hasGriddingMobile() {
8097
- return this.hasAttribute("has-gridding--mobile");
8115
+ get paddingBlockMobile() {
8116
+ return this.getAttribute("padding-block--mobile");
8098
8117
  }
8099
- set hasGriddingMobile(value) {
8100
- if (value) {
8101
- this.setAttribute("has-gridding--mobile", "");
8102
- } else {
8103
- this.removeAttribute("has-gridding--mobile");
8104
- }
8118
+ set paddingBlockMobile(value) {
8119
+ this.setAttribute("padding-block--mobile", value);
8105
8120
  }
8106
- get hasGriddingTablet() {
8107
- return this.hasAttribute("has-gridding--tablet");
8121
+ get paddingTopMobile() {
8122
+ return this.getAttribute("padding-top--mobile");
8108
8123
  }
8109
- set hasGriddingTablet(value) {
8110
- if (value) {
8111
- this.setAttribute("has-gridding--tablet", "");
8112
- } else {
8113
- this.removeAttribute("has-gridding--tablet");
8114
- }
8124
+ set paddingTopMobile(value) {
8125
+ this.setAttribute("padding-top--mobile", value);
8115
8126
  }
8116
- get hasGriddingLaptop() {
8117
- return this.hasAttribute("has-gridding--laptop");
8127
+ get paddingBottomMobile() {
8128
+ return this.getAttribute("padding-bottom--mobile");
8118
8129
  }
8119
- set hasGriddingLaptop(value) {
8120
- if (value) {
8121
- this.setAttribute("has-gridding--laptop", "");
8122
- } else {
8123
- this.removeAttribute("has-gridding--laptop");
8124
- }
8130
+ set paddingBottomMobile(value) {
8131
+ this.setAttribute("padding-bottom--mobile", value);
8125
8132
  }
8126
- get inverted() {
8127
- return this.hasAttribute("inverted");
8133
+ get paddingBlockTablet() {
8134
+ return this.getAttribute("padding-block--tablet");
8128
8135
  }
8129
- set inverted(value) {
8130
- if (value) {
8131
- this.setAttribute("inverted", "");
8132
- } else {
8133
- this.removeAttribute("inverted");
8134
- }
8136
+ set paddingBlockTablet(value) {
8137
+ this.setAttribute("padding-block--tablet", value);
8135
8138
  }
8136
- get minHeight() {
8137
- return this.hasAttribute("min-height");
8139
+ get paddingTopTablet() {
8140
+ return this.getAttribute("padding-top--tablet");
8138
8141
  }
8139
- set minHeight(value) {
8140
- if (value) {
8141
- this.setAttribute("min-height", "");
8142
- } else {
8143
- this.removeAttribute("min-height");
8144
- }
8142
+ set paddingTopTablet(value) {
8143
+ this.setAttribute("padding-top--tablet", value);
8145
8144
  }
8146
- };
8147
- _ContentHeader.nativeName = "div";
8148
- let ContentHeader = _ContentHeader;
8149
- if (!customElements.get("px-content-header")) {
8150
- customElements.define("px-content-header", ContentHeader);
8151
- }
8152
- 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}}";
8153
- const styleSheet$q = new CSSStyleSheet();
8154
- styleSheet$q.replaceSync(styles$w);
8155
- const separatorDirectionValues = [
8156
- "",
8157
- "default",
8158
- "horizontal",
8159
- "vertical"
8160
- ];
8161
- const separatorSizeValues = ["", "default", "none", "s", "m", "l"];
8162
- const separatorColorValues = [
8163
- "",
8164
- "main",
8165
- "brand",
8166
- "none",
8167
- "neutral",
8168
- "purpose-success",
8169
- "purpose-warning",
8170
- "purpose-error",
8171
- "purpose-unlimited",
8172
- "state-hover",
8173
- "state-active"
8174
- ];
8175
- const _Separator = class _Separator extends PxElement {
8176
- constructor() {
8177
- var _a;
8178
- super(styleSheet$q);
8179
- const $root = document.createElement(this.nativeName);
8180
- $root.classList.add("separator");
8181
- this.internals = (_a = this.attachInternals) == null ? void 0 : _a.call(this);
8182
- this.shadowRoot.appendChild($root);
8145
+ get paddingBottomTablet() {
8146
+ return this.getAttribute("padding-bottom--tablet");
8183
8147
  }
8184
- static get observedAttributes() {
8185
- return [
8186
- ...super.observedAttributes,
8187
- "direction",
8188
- "direction--mobile",
8189
- "direction--tablet",
8190
- "direction--laptop",
8191
- "direction--desktop",
8192
- "size",
8193
- "color",
8194
- "inverted"
8195
- ];
8148
+ set paddingBottomTablet(value) {
8149
+ this.setAttribute("padding-bottom--tablet", value);
8196
8150
  }
8197
- attributeChangedCallback(attrName, oldValue, newValue) {
8198
- if (oldValue !== newValue) {
8199
- switch (attrName) {
8200
- case "direction":
8201
- case "direction--mobile":
8202
- case "direction--tablet":
8203
- case "direction--laptop":
8204
- case "direction--desktop":
8205
- this.updateDirection(
8206
- attrName,
8207
- oldValue,
8208
- newValue,
8209
- separatorDirectionValues
8210
- );
8211
- break;
8212
- case "size":
8213
- this.updateSize(attrName, oldValue, newValue, separatorSizeValues);
8214
- break;
8215
- case "color":
8216
- this.updateColor(attrName, oldValue, newValue, separatorColorValues);
8217
- break;
8218
- default:
8219
- super.attributeChangedCallback(attrName, oldValue, newValue);
8220
- break;
8221
- }
8222
- }
8151
+ get paddingBlockLaptop() {
8152
+ return this.getAttribute("padding-block--laptop");
8223
8153
  }
8224
- updateSize(attrName, oldValue, newValue, attrValue) {
8225
- const updateSizeStyle = (value) => {
8226
- if (value !== null && value !== "" && value !== "default") {
8227
- this.$el.style.setProperty(
8228
- "--separator-size",
8229
- `var(--px-size-border-${value})`
8230
- );
8231
- }
8232
- };
8233
- if (!this.checkName(attrValue, newValue)) {
8234
- console.error(`${newValue} is not a valid value for ${attrName}`);
8235
- } else {
8236
- updateSizeStyle(oldValue);
8237
- updateSizeStyle(newValue);
8238
- }
8154
+ set paddingBlockLaptop(value) {
8155
+ this.setAttribute("padding-block--laptop", value);
8239
8156
  }
8240
- updateColor(attrName, oldValue, newValue, attrValue) {
8241
- const updateColorStyle = (value) => {
8242
- if (value !== null && value !== "" && value !== "default") {
8243
- this.$el.style.setProperty(
8244
- `--separator-color-default`,
8245
- `var(--px-color-border-${value}-default)`
8246
- );
8247
- this.$el.style.setProperty(
8248
- `--separator-color-inverted`,
8249
- `var(--px-color-border-${value}-inverted)`
8250
- );
8251
- }
8252
- };
8253
- if (!this.checkName(attrValue, newValue)) {
8254
- console.error(`${newValue} is not a valid value for ${attrName}`);
8255
- } else {
8256
- updateColorStyle(oldValue);
8257
- updateColorStyle(newValue);
8258
- }
8157
+ get paddingTopLaptop() {
8158
+ return this.getAttribute("padding-top--laptop");
8259
8159
  }
8260
- updateDirection(attrName, oldValue, newValue, attrValue) {
8261
- const updateDirectionClass = (breakpoint, value) => {
8262
- if (value !== null && value !== "" && value !== "default") {
8263
- this.$el.classList.add(`separator-direction-${value}--${breakpoint}`);
8264
- }
8265
- };
8266
- if (!this.checkName(attrValue, newValue)) {
8267
- console.error(`${newValue} is not a valid value for ${attrName}`);
8268
- } else {
8269
- if (attrName === "direction") {
8270
- ["mobile", "tablet", "laptop", "desktop"].forEach((breakpoint) => {
8271
- const existingClass = Array.from(this.$el.classList).find(
8272
- (className) => className.startsWith(`separator-direction-`) && className.endsWith(`--${breakpoint}`)
8273
- );
8274
- if (!existingClass) {
8275
- updateDirectionClass(breakpoint, newValue);
8276
- }
8277
- });
8278
- } else {
8279
- const breakpoint = attrName.split("--")[1];
8280
- const existingClass = Array.from(this.$el.classList).find(
8281
- (className) => className.startsWith(`separator-direction-`) && className.endsWith(`--${breakpoint}`)
8282
- );
8283
- if (existingClass) {
8284
- this.$el.classList.replace(
8285
- existingClass,
8286
- `separator-direction-${newValue}--${breakpoint}`
8287
- );
8288
- } else {
8289
- updateDirectionClass(breakpoint, newValue);
8290
- }
8291
- }
8292
- }
8293
- }
8294
- get direction() {
8295
- return this.getAttribute("direction");
8296
- }
8297
- set direction(value) {
8298
- this.setAttribute("direction", value);
8299
- }
8300
- get directionMobile() {
8301
- return this.getAttribute("direction--mobile");
8302
- }
8303
- set directionMobile(value) {
8304
- this.setAttribute("direction--mobile", value);
8160
+ set paddingTopLaptop(value) {
8161
+ this.setAttribute("padding-top--laptop", value);
8305
8162
  }
8306
- get directionTablet() {
8307
- return this.getAttribute("direction--tablet");
8163
+ get paddingBottomLaptop() {
8164
+ return this.getAttribute("padding-bottom--laptop");
8308
8165
  }
8309
- set directionTablet(value) {
8310
- this.setAttribute("direction--tablet", value);
8166
+ set paddingBottomLaptop(value) {
8167
+ this.setAttribute("padding-bottom--laptop", value);
8311
8168
  }
8312
- get directionLaptop() {
8313
- return this.getAttribute("direction--laptop");
8169
+ get border() {
8170
+ return this.getAttribute("border");
8314
8171
  }
8315
- set directionLaptop(value) {
8316
- this.setAttribute("direction--laptop", value);
8172
+ set border(value) {
8173
+ this.setAttribute("border", value);
8317
8174
  }
8318
- get directionDesktop() {
8319
- return this.getAttribute("direction--desktop");
8175
+ get borderSide() {
8176
+ return this.getAttribute("border-side");
8320
8177
  }
8321
- set directionDesktop(value) {
8322
- this.setAttribute("direction--desktop", value);
8178
+ set borderSide(value) {
8179
+ this.setAttribute("border-side", value);
8323
8180
  }
8324
- get size() {
8325
- return this.getAttribute("size");
8181
+ get borderSideMobile() {
8182
+ return this.getAttribute("border-side--mobile");
8326
8183
  }
8327
- set size(value) {
8328
- this.setAttribute("size", value);
8184
+ set borderSideMobile(value) {
8185
+ this.setAttribute("border-side--mobile", value);
8329
8186
  }
8330
- get color() {
8331
- return this.getAttribute("color");
8187
+ get borderSideTablet() {
8188
+ return this.getAttribute("border-side--tablet");
8332
8189
  }
8333
- set color(value) {
8334
- this.setAttribute("color", value);
8190
+ set borderSideTablet(value) {
8191
+ this.setAttribute("border-side--tablet", value);
8335
8192
  }
8336
- get inverted() {
8337
- return this.getAttribute("inverted");
8193
+ get borderSideLaptop() {
8194
+ return this.getAttribute("border-side--laptop");
8338
8195
  }
8339
- set inverted(value) {
8340
- this.setAttribute("inverted", value);
8196
+ set borderSideLaptop(value) {
8197
+ this.setAttribute("border-side--laptop", value);
8341
8198
  }
8342
- };
8343
- _Separator.nativeName = "hr";
8344
- let Separator = _Separator;
8345
- if (!customElements.get("px-separator")) {
8346
- customElements.define("px-separator", Separator);
8347
8199
  }
8348
- 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)}}";
8349
- const headingStyles$2 = new CSSStyleSheet();
8350
- headingStyles$2.replaceSync(headingCss);
8351
- const typographyStyles$4 = new CSSStyleSheet();
8352
- typographyStyles$4.replaceSync(typographyCss$1);
8353
- class AbstractHeading extends PxElement {
8354
- template() {
8355
- return `<slot></slot>`;
8356
- }
8357
- constructor(tagName) {
8358
- super(headingStyles$2, typographyStyles$4);
8359
- const $root = document.createElement(tagName);
8360
- $root.innerHTML = this.template();
8361
- 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();
8362
8229
  }
8363
8230
  static get observedAttributes() {
8364
8231
  return [
8365
- ...super.observedAttributes,
8366
- "variant",
8367
- "color",
8368
- "text-align",
8369
- "text-align--mobile",
8370
- "text-align--tablet",
8371
- "text-align--laptop",
8372
- "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",
8373
8247
  "inverted"
8374
8248
  ];
8375
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
+ }
8376
8271
  attributeChangedCallback(attrName, oldValue, newValue) {
8377
8272
  if (oldValue !== newValue) {
8378
8273
  switch (attrName) {
8379
- case "variant":
8380
- this.updateAttribute(attrName, oldValue, newValue, headingValues);
8274
+ case "background-color":
8275
+ this.$section.backgroundColor = backgroundColorValues.indexOf(newValue) > 0 ? newValue : "none";
8381
8276
  break;
8382
- case "color":
8383
- this.updateColor(oldValue, newValue, colorValues);
8277
+ case "background-gradient":
8278
+ this.$section.gradient = gradientValues.indexOf(newValue) > 0 ? newValue : "none";
8384
8279
  break;
8385
- case "text-align":
8386
- case "text-align--mobile":
8387
- case "text-align--tablet":
8388
- case "text-align--laptop":
8389
- case "text-align--desktop":
8390
- 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);
8391
8312
  break;
8392
8313
  default:
8393
8314
  super.attributeChangedCallback(attrName, oldValue, newValue);
@@ -8395,39 +8316,469 @@ class AbstractHeading extends PxElement {
8395
8316
  }
8396
8317
  }
8397
8318
  }
8398
- toggleClass(oldValue, newValue) {
8399
- if (oldValue !== null && oldValue !== "" && oldValue !== "default") {
8400
- this.$el.classList.toggle(`style-${oldValue}`);
8401
- }
8402
- if (newValue !== null && newValue !== "" && newValue !== "default") {
8403
- this.$el.classList.toggle(`style-${newValue}`);
8404
- }
8405
- }
8406
- updateAttribute(attrName, oldValue, newValue, attrValue) {
8407
- if (!this.checkName(attrValue, newValue)) {
8408
- console.error(`${newValue} is not an allowed "${attrName}" value`);
8409
- } else {
8410
- this.toggleClass(oldValue, newValue);
8411
- }
8412
- }
8413
- updateColor(oldValue, newValue, attrValue) {
8414
- if (!this.checkName(attrValue, newValue)) {
8415
- console.error(`${newValue} is not a valid color value`);
8416
- return;
8417
- }
8418
- const updateColorStyle = (value) => {
8419
- if (value !== null && value !== "" && value !== "default") {
8420
- this.$el.style.setProperty(
8421
- `--heading-color-default`,
8422
- `var(--px-color-text-${value}-default)`
8423
- );
8424
- this.$el.style.setProperty(
8425
- `--heading-color-inverted`,
8426
- `var(--px-color-text-${value}-inverted)`
8427
- );
8428
- }
8429
- };
8430
- 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);
8431
8782
  updateColorStyle(newValue);
8432
8783
  }
8433
8784
  updateTextAlign(attrName, oldValue, newValue, attrValue) {
@@ -8563,9 +8914,9 @@ let H6 = _H6;
8563
8914
  if (!customElements.get("px-h6")) {
8564
8915
  customElements.define("px-h6", H6);
8565
8916
  }
8566
- 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}}';
8567
- const styleSheet$p = new CSSStyleSheet();
8568
- 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);
8569
8920
  const HIDE_EVENT = "px.lavender.drawer.hide";
8570
8921
  class Drawer extends HTMLElement {
8571
8922
  constructor() {
@@ -8603,7 +8954,7 @@ class Drawer extends HTMLElement {
8603
8954
  </dialog>`;
8604
8955
  this.attachShadow({ mode: "open" });
8605
8956
  this.shadowRoot.innerHTML = this.template;
8606
- this.shadowRoot.adoptedStyleSheets = [styleSheet$p];
8957
+ this.shadowRoot.adoptedStyleSheets = [styleSheet$o];
8607
8958
  if (!this.hasAttribute("showfrom")) {
8608
8959
  this.setAttribute("showfrom", "bottom");
8609
8960
  }
@@ -8701,7 +9052,7 @@ class Drawer extends HTMLElement {
8701
9052
  if (!customElements.get("px-drawer")) {
8702
9053
  customElements.define("px-drawer", Drawer);
8703
9054
  }
8704
- 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}}';
8705
9056
  const anchorAlignmentValues = [
8706
9057
  "top-left",
8707
9058
  "top-right",
@@ -8743,7 +9094,7 @@ function anchorPolyfill($trigger, $popoverElement, anchorAlignment = "bottom-lef
8743
9094
  });
8744
9095
  }
8745
9096
  const stylesheet$8 = new CSSStyleSheet();
8746
- stylesheet$8.replaceSync(styles$u);
9097
+ stylesheet$8.replaceSync(styles$t);
8747
9098
  const defaultAnchorAlignment = "bottom-left";
8748
9099
  class Dropdown extends WithExtraAttributes {
8749
9100
  constructor() {
@@ -9601,248 +9952,40 @@ const _Link = class _Link extends PxElement {
9601
9952
  this.$el.setAttribute(attrName, newValue);
9602
9953
  }
9603
9954
  }
9604
- updateTypography(attrName, oldValue, newValue, attrValue) {
9605
- if (oldValue !== null && oldValue !== "" && oldValue !== "default") {
9606
- this.$el.classList.toggle(`${attrName}-${oldValue}`);
9607
- }
9608
- if (newValue !== null && newValue !== "" && newValue !== "default") {
9609
- this.$el.classList.toggle(`${attrName}-${newValue}`);
9610
- }
9611
- if (!this.checkName(attrValue, newValue)) {
9612
- console.error(`Bad ${attrName} value: ${newValue}`);
9613
- }
9614
- }
9615
- updateExtended(attributeName, newValue) {
9616
- if (newValue === null) {
9617
- this.$el.style.setProperty(`--button-${attributeName}`, "");
9618
- } else {
9619
- this.$el.style.setProperty(`--button-${attributeName}`, "100%");
9620
- }
9621
- }
9622
- get $before() {
9623
- return this.querySelector('[slot="before"]');
9624
- }
9625
- get $after() {
9626
- return this.querySelector('[slot="after"]');
9627
- }
9628
- get $iconNotBeforeAfter() {
9629
- return this.querySelector(
9630
- 'px-icon:not([slot="before"], [slot="after"])'
9631
- );
9632
- }
9633
- get disabled() {
9634
- return this.getAttribute("disabled");
9635
- }
9636
- set disabled(value) {
9637
- this.setAttribute("disabled", value);
9638
- }
9639
- get variant() {
9640
- return this.getAttribute("variant");
9641
- }
9642
- set variant(value) {
9643
- this.setAttribute("variant", value);
9644
- }
9645
- get shape() {
9646
- return this.getAttribute("shape");
9647
- }
9648
- set shape(value) {
9649
- this.setAttribute("shape", value);
9650
- }
9651
- get shapeMobile() {
9652
- return this.getAttribute("shape--mobile");
9653
- }
9654
- set shapeMobile(value) {
9655
- this.setAttribute("shape--mobile", value);
9656
- }
9657
- get shapeTablet() {
9658
- return this.getAttribute("shape--tablet");
9659
- }
9660
- set shapeTablet(value) {
9661
- this.setAttribute("shape--tablet", value);
9662
- }
9663
- get shapeLaptop() {
9664
- return this.getAttribute("shape--laptop");
9665
- }
9666
- set shapeLaptop(value) {
9667
- this.setAttribute("shape--laptop", value);
9668
- }
9669
- get shapeDesktop() {
9670
- return this.getAttribute("shape--desktop");
9671
- }
9672
- set shapeDesktop(value) {
9673
- this.setAttribute("shape--desktop", value);
9674
- }
9675
- get extended() {
9676
- return this.getAttribute("extended");
9677
- }
9678
- set extended(value) {
9679
- this.setAttribute("extended", value);
9680
- }
9681
- get extendedMobile() {
9682
- return this.getAttribute("extended--mobile");
9683
- }
9684
- set extendedMobile(value) {
9685
- this.setAttribute("extended--mobile", value);
9686
- }
9687
- get extendedTablet() {
9688
- return this.getAttribute("extended--tablet");
9689
- }
9690
- set extendedTablet(value) {
9691
- this.setAttribute("extended--tablet", value);
9692
- }
9693
- get extendedLaptop() {
9694
- return this.getAttribute("extended--laptop");
9695
- }
9696
- set extendedLaptop(value) {
9697
- this.setAttribute("extended--laptop", value);
9698
- }
9699
- get extendedDesktop() {
9700
- return this.getAttribute("extended--desktop");
9701
- }
9702
- set extendedDesktop(value) {
9703
- this.setAttribute("extended--desktop", value);
9704
- }
9705
- get inverted() {
9706
- return this.getAttribute("inverted");
9707
- }
9708
- set inverted(value) {
9709
- this.setAttribute("inverted", value);
9710
- }
9711
- get fontsize() {
9712
- return this.getAttribute("font-size");
9713
- }
9714
- set fontsize(value) {
9715
- this.setAttribute("font-size", value);
9716
- }
9717
- get color() {
9718
- return this.getAttribute("color");
9719
- }
9720
- set color(value) {
9721
- this.setAttribute("color", value);
9722
- }
9723
- get fontweight() {
9724
- return this.getAttribute("font-weight");
9725
- }
9726
- set fontweight(value) {
9727
- this.setAttribute("font-weight", value);
9728
- }
9729
- get title() {
9730
- return this.getAttribute("title");
9731
- }
9732
- set title(value) {
9733
- if (value) {
9734
- this.setAttribute("title", value);
9735
- } else {
9736
- this.removeAttribute("title");
9737
- }
9738
- }
9739
- };
9740
- _Link.nativeName = "a";
9741
- let Link = _Link;
9742
- if (!customElements.get("px-a")) {
9743
- customElements.define("px-a", Link);
9744
- }
9745
- 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}}";
9746
- const paragraphStyles$1 = new CSSStyleSheet();
9747
- const typographyStyles$2 = new CSSStyleSheet();
9748
- const headingStyles$1 = new CSSStyleSheet();
9749
- paragraphStyles$1.replaceSync(paragraphCss);
9750
- typographyStyles$2.replaceSync(typographyCss$1);
9751
- headingStyles$1.replaceSync(headingCss);
9752
- const _Paragraph = class _Paragraph extends PxElement {
9753
- constructor() {
9754
- super(typographyStyles$2, headingStyles$1, paragraphStyles$1);
9755
- this.template = () => `<p><slot></slot></p>`;
9756
- this.shadowRoot.innerHTML = this.template();
9757
- }
9758
- static get observedAttributes() {
9759
- return [
9760
- ...super.observedAttributes,
9761
- "variant",
9762
- "color",
9763
- "font-size",
9764
- "font-weight",
9765
- "text-align",
9766
- "text-align--mobile",
9767
- "text-align--tablet",
9768
- "text-align--laptop",
9769
- "inverted",
9770
- "disabled"
9771
- ];
9772
- }
9773
- attributeChangedCallback(attrName, oldValue, newValue) {
9774
- if (oldValue !== newValue) {
9775
- switch (attrName) {
9776
- case "variant":
9777
- this.updateVariant(attrName, oldValue, newValue, headingValues);
9778
- break;
9779
- case "color":
9780
- this.updateTypography(attrName, oldValue, newValue, colorValues);
9781
- break;
9782
- case "font-size":
9783
- this.updateTypography(attrName, oldValue, newValue, fontsizeValues);
9784
- break;
9785
- case "font-weight":
9786
- this.updateTypography(attrName, oldValue, newValue, fontweightValues);
9787
- break;
9788
- case "text-align":
9789
- case "text-align--mobile":
9790
- case "text-align--tablet":
9791
- case "text-align--laptop":
9792
- this.updateTypography(attrName, oldValue, newValue, textalignValues);
9793
- break;
9794
- case "disabled":
9795
- this.color = "state-disabled";
9796
- break;
9797
- default:
9798
- super.attributeChangedCallback(attrName, oldValue, newValue);
9799
- break;
9800
- }
9801
- }
9802
- }
9803
- toggleClass(oldValue, newValue) {
9804
- if (oldValue !== null && oldValue !== "" && oldValue !== "default") {
9805
- this.$el.classList.toggle(`style-${oldValue}`);
9806
- }
9807
- if (newValue !== null && newValue !== "" && newValue !== "default") {
9808
- this.$el.classList.toggle(`style-${newValue}`);
9809
- }
9810
- }
9811
- updateVariant(attrName, oldValue, newValue, attrValue) {
9812
- if (!this.checkName(attrValue, newValue)) {
9813
- console.error(`${newValue} is not a valid value for ${attrName}`);
9814
- } else {
9815
- this.toggleClass(oldValue, newValue);
9816
- }
9817
- }
9818
- updateTypography(attrName, oldValue, newValue, attrValue) {
9819
- if (!this.checkName(attrValue, newValue)) {
9820
- console.error(`${newValue} is not an allowed ${attrName} value`);
9821
- } else {
9822
- const splitResult = this.splitAttrNameFromBreakpoint(attrName);
9823
- const breakpoint = splitResult.breakpoint;
9824
- if (oldValue !== null && oldValue !== "") {
9825
- this.$el.classList.toggle(
9826
- `${splitResult.attrName}-${oldValue}${breakpoint}`
9827
- );
9828
- }
9829
- if (newValue !== null && newValue !== "") {
9830
- this.$el.classList.toggle(
9831
- `${splitResult.attrName}-${newValue}${breakpoint}`
9832
- );
9833
- }
9834
- }
9835
- }
9836
- splitAttrNameFromBreakpoint(attrName) {
9837
- let breakpoint = "";
9838
- if (["--mobile", "--tablet", "--laptop"].some(
9839
- (suffix) => attrName.includes(suffix)
9840
- )) {
9841
- const attrNameSplit = attrName.split("--");
9842
- attrName = attrNameSplit[0];
9843
- breakpoint = `--${attrNameSplit[1]}`;
9955
+ updateTypography(attrName, oldValue, newValue, attrValue) {
9956
+ if (oldValue !== null && oldValue !== "" && oldValue !== "default") {
9957
+ this.$el.classList.toggle(`${attrName}-${oldValue}`);
9844
9958
  }
9845
- 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);
9846
9989
  }
9847
9990
  get variant() {
9848
9991
  return this.getAttribute("variant");
@@ -9850,515 +9993,419 @@ const _Paragraph = class _Paragraph extends PxElement {
9850
9993
  set variant(value) {
9851
9994
  this.setAttribute("variant", value);
9852
9995
  }
9853
- get color() {
9854
- return this.getAttribute("color");
9855
- }
9856
- set color(value) {
9857
- this.setAttribute("color", value);
9858
- }
9859
- get fontSize() {
9860
- return this.getAttribute("font-size");
9996
+ get shape() {
9997
+ return this.getAttribute("shape");
9861
9998
  }
9862
- set fontSize(value) {
9863
- this.setAttribute("font-size", value);
9999
+ set shape(value) {
10000
+ this.setAttribute("shape", value);
9864
10001
  }
9865
- get fontWeight() {
9866
- return this.getAttribute("font-weight");
10002
+ get shapeMobile() {
10003
+ return this.getAttribute("shape--mobile");
9867
10004
  }
9868
- set fontWeight(value) {
9869
- this.setAttribute("font-weight", value);
10005
+ set shapeMobile(value) {
10006
+ this.setAttribute("shape--mobile", value);
9870
10007
  }
9871
- get textAlign() {
9872
- return this.getAttribute("text-align");
10008
+ get shapeTablet() {
10009
+ return this.getAttribute("shape--tablet");
9873
10010
  }
9874
- set textAlign(value) {
9875
- this.setAttribute("text-align", value);
10011
+ set shapeTablet(value) {
10012
+ this.setAttribute("shape--tablet", value);
9876
10013
  }
9877
- get textAlignMobile() {
9878
- return this.getAttribute("text-align--mobile");
10014
+ get shapeLaptop() {
10015
+ return this.getAttribute("shape--laptop");
9879
10016
  }
9880
- set textAlignMobile(value) {
9881
- this.setAttribute("text-align--mobile", value);
10017
+ set shapeLaptop(value) {
10018
+ this.setAttribute("shape--laptop", value);
9882
10019
  }
9883
- get textAlignTablet() {
9884
- return this.getAttribute("text-align--tablet");
10020
+ get shapeDesktop() {
10021
+ return this.getAttribute("shape--desktop");
9885
10022
  }
9886
- set textAlignTablet(value) {
9887
- this.setAttribute("text-align--tablet", value);
10023
+ set shapeDesktop(value) {
10024
+ this.setAttribute("shape--desktop", value);
9888
10025
  }
9889
- get textAlignLaptop() {
9890
- return this.getAttribute("text-align--laptop");
10026
+ get extended() {
10027
+ return this.getAttribute("extended");
9891
10028
  }
9892
- set textAlignLaptop(value) {
9893
- this.setAttribute("text-align--laptop", value);
10029
+ set extended(value) {
10030
+ this.setAttribute("extended", value);
9894
10031
  }
9895
- get inverted() {
9896
- return this.getAttribute("inverted");
10032
+ get extendedMobile() {
10033
+ return this.getAttribute("extended--mobile");
9897
10034
  }
9898
- set inverted(value) {
9899
- this.setAttribute("inverted", value);
10035
+ set extendedMobile(value) {
10036
+ this.setAttribute("extended--mobile", value);
9900
10037
  }
9901
- get disabled() {
9902
- return this.getAttribute("disabled");
10038
+ get extendedTablet() {
10039
+ return this.getAttribute("extended--tablet");
9903
10040
  }
9904
- set disabled(value) {
9905
- this.setAttribute("disabled", value);
10041
+ set extendedTablet(value) {
10042
+ this.setAttribute("extended--tablet", value);
9906
10043
  }
9907
- };
9908
- _Paragraph.nativeName = "p";
9909
- let Paragraph = _Paragraph;
9910
- if (!customElements.get("px-p")) {
9911
- customElements.define("px-p", Paragraph);
9912
- }
9913
- const _FooterSitemap = class _FooterSitemap extends PxElement {
9914
- constructor() {
9915
- super();
9916
- this.template = () => `<div class="footer-sitemap">
9917
- <px-grid grid-cols="4" grid-cols--mobile="1" role="list" gap--mobile="none">
9918
- <slot></slot>
9919
- </px-grid>
9920
- </div>`;
9921
- this.shadowRoot.innerHTML = this.template();
10044
+ get extendedLaptop() {
10045
+ return this.getAttribute("extended--laptop");
9922
10046
  }
9923
- static get observedAttributes() {
9924
- return [...super.observedAttributes, "inverted"];
10047
+ set extendedLaptop(value) {
10048
+ this.setAttribute("extended--laptop", value);
9925
10049
  }
9926
- attributeChangedCallback(attrName, oldValue, newValue) {
9927
- if (oldValue !== newValue) {
9928
- switch (attrName) {
9929
- case "inverted":
9930
- for (let i = 0; i < this.$children.length; i++) {
9931
- if (!this.$children[i].hasAttribute("inverted")) {
9932
- this.$children[i].toggleAttribute("inverted");
9933
- }
9934
- }
9935
- break;
9936
- default:
9937
- super.attributeChangedCallback(attrName, oldValue, newValue);
9938
- break;
9939
- }
9940
- }
10050
+ get extendedDesktop() {
10051
+ return this.getAttribute("extended--desktop");
9941
10052
  }
9942
- get $children() {
9943
- return this.querySelectorAll("px-footer-sitemap > *");
10053
+ set extendedDesktop(value) {
10054
+ this.setAttribute("extended--desktop", value);
9944
10055
  }
9945
10056
  get inverted() {
9946
- return this.hasAttribute("inverted");
10057
+ return this.getAttribute("inverted");
9947
10058
  }
9948
10059
  set inverted(value) {
9949
- if (value) {
9950
- this.setAttribute("inverted", "");
9951
- } else {
9952
- this.removeAttribute("inverted");
9953
- }
9954
- }
9955
- };
9956
- _FooterSitemap.nativeName = "div";
9957
- let FooterSitemap = _FooterSitemap;
9958
- if (!customElements.get("px-footer-sitemap")) {
9959
- customElements.define("px-footer-sitemap", FooterSitemap);
9960
- }
9961
- 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}";
9962
- const styleSheet$o = new CSSStyleSheet();
9963
- styleSheet$o.replaceSync(styles$t);
9964
- const _FooterSitemapItem = class _FooterSitemapItem extends PxElement {
9965
- constructor() {
9966
- super(styleSheet$o);
9967
- this.templateMobile = () => `<div role="listitem">
9968
- <px-accordion ${this.inverted ? "inverted" : ""}>
9969
- <span slot="title"><slot name="links-list-title"></slot></span>
9970
- <span slot="content">
9971
- <slot name="links-list"></slot>
9972
- </span>
9973
- </px-accordion>
9974
- </div>`;
9975
- this.templateDesktop = () => `<div role="listitem">
9976
- <px-vstack gap="default">
9977
- <px-p variant="title-l" ${this.inverted ? "inverted" : ""}>
9978
- <slot name="links-list-title"></slot>
9979
- </px-p>
9980
- <slot name="links-list"></slot>
9981
- </px-vstack>
9982
- </div>`;
9983
- this.throttledLoadTemplate = throttle(this.loadTemplate.bind(this), 50);
9984
- this.loadTemplate();
9985
- }
9986
- static get observedAttributes() {
9987
- return [...super.observedAttributes, "inverted"];
9988
- }
9989
- connectedCallback() {
9990
- super.connectedCallback();
9991
- this.loadTemplate();
9992
- window.addEventListener("resize", this.throttledLoadTemplate);
9993
- if (!this.$ul) {
9994
- console.error(
9995
- "The footer sitemap item must contain a <ul> element with links."
9996
- );
9997
- } else {
9998
- if (this.$ul.querySelector("px-img")) {
9999
- this.$ul.classList.add("link-list-img");
10000
- }
10001
- }
10060
+ this.setAttribute("inverted", value);
10002
10061
  }
10003
- disconnectedCallback() {
10004
- window.removeEventListener("resize", this.throttledLoadTemplate);
10062
+ get fontsize() {
10063
+ return this.getAttribute("font-size");
10005
10064
  }
10006
- loadTemplate() {
10007
- const previousSize = this.lastSize;
10008
- const currentSize = window.innerWidth < 768 ? "mobile" : "desktop";
10009
- if (previousSize !== currentSize) {
10010
- if (currentSize === "mobile") {
10011
- this.shadowRoot.innerHTML = this.templateMobile();
10012
- } else {
10013
- this.shadowRoot.innerHTML = this.templateDesktop();
10014
- }
10015
- this.lastSize = currentSize;
10016
- }
10065
+ set fontsize(value) {
10066
+ this.setAttribute("font-size", value);
10017
10067
  }
10018
- attributeChangedCallback(attrName, oldValue, newValue) {
10019
- if (oldValue !== newValue) {
10020
- switch (attrName) {
10021
- case "inverted":
10022
- for (let i = 0; i < this.$children.length; i++) {
10023
- if (!this.$children[i].hasAttribute("inverted")) {
10024
- this.$children[i].toggleAttribute("inverted");
10025
- }
10026
- }
10027
- this.$ul.querySelectorAll("px-a").forEach((link) => {
10028
- link.toggleAttribute("inverted");
10029
- });
10030
- break;
10031
- default:
10032
- super.attributeChangedCallback(attrName, oldValue, newValue);
10033
- break;
10034
- }
10035
- }
10068
+ get color() {
10069
+ return this.getAttribute("color");
10036
10070
  }
10037
- get $ul() {
10038
- return this.querySelector("ul");
10071
+ set color(value) {
10072
+ this.setAttribute("color", value);
10039
10073
  }
10040
- get $children() {
10041
- return this.querySelectorAll("px-footer-sitemap-item > *");
10074
+ get fontweight() {
10075
+ return this.getAttribute("font-weight");
10042
10076
  }
10043
- get inverted() {
10044
- return this.hasAttribute("inverted");
10077
+ set fontweight(value) {
10078
+ this.setAttribute("font-weight", value);
10045
10079
  }
10046
- set inverted(value) {
10080
+ get title() {
10081
+ return this.getAttribute("title");
10082
+ }
10083
+ set title(value) {
10047
10084
  if (value) {
10048
- this.setAttribute("inverted", "");
10085
+ this.setAttribute("title", value);
10049
10086
  } else {
10050
- this.removeAttribute("inverted");
10087
+ this.removeAttribute("title");
10051
10088
  }
10052
10089
  }
10053
10090
  };
10054
- _FooterSitemapItem.nativeName = "div";
10055
- let FooterSitemapItem = _FooterSitemapItem;
10056
- if (!customElements.get("px-footer-sitemap-item")) {
10057
- 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);
10058
10095
  }
10059
- 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)}}';
10060
- const styleSheet$n = new CSSStyleSheet();
10061
- styleSheet$n.replaceSync(styles$s);
10062
- 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 {
10063
10104
  constructor() {
10064
- super();
10065
- this.template = () => `
10066
- <px-container border-radius="none" padding-inline="none" background-color="${this.backgroundColor}">
10067
- <div class="content-wrapper ${this.$slotOverlap ? "overlapped" : ""}">
10068
- <px-vstack gap="heading-to-content">
10069
- <slot name="heading"></slot>
10070
- <px-vstack gap="none">
10071
- <slot></slot>
10072
- </px-vstack>
10073
- </px-vstack>
10074
- </div>
10075
- </px-container>
10076
- <div class="content-wrapper">
10077
- <slot name="overlap"></slot>
10078
- </div>
10079
- `;
10080
- this.attachShadow({ mode: "open" });
10105
+ super(typographyStyles$2, headingStyles$1, paragraphStyles$1);
10106
+ this.template = () => `<p><slot></slot></p>`;
10081
10107
  this.shadowRoot.innerHTML = this.template();
10082
- this.shadowRoot.adoptedStyleSheets = [styleSheet$n];
10083
- }
10084
- connectedCallback() {
10085
- const headingSlot = this.querySelector('[slot="heading"]');
10086
- 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) {
10087
- this.$container.paddingBlock = "none";
10088
- }
10089
- if (!headingSlot) {
10090
- this.shadowRoot.querySelector("px-vstack").setAttribute("gap", "none");
10091
- }
10092
10108
  }
10093
10109
  static get observedAttributes() {
10094
10110
  return [
10095
- "background-color",
10096
- "background-gradient",
10097
- "background-image",
10098
- "background-image--mobile",
10099
- "background-image--tablet",
10100
- "background-image--laptop",
10101
- "background-size",
10102
- "background-position",
10103
- "padding-block",
10104
- "padding-top",
10105
- "padding-bottom",
10106
- "padding-block--mobile",
10107
- "padding-top--mobile",
10108
- "padding-bottom--mobile",
10109
- "padding-block--tablet",
10110
- "padding-top--tablet",
10111
- "padding-bottom--tablet",
10112
- "padding-block--laptop",
10113
- "padding-top--laptop",
10114
- "padding-bottom--laptop",
10115
- "border",
10116
- "border-side",
10117
- "border-side--mobile",
10118
- "border-side--tablet",
10119
- "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"
10120
10122
  ];
10121
10123
  }
10122
- get $container() {
10123
- return this.shadowRoot.querySelector("px-container");
10124
- }
10125
- attributeChangedCallback(name, oldValue, newValue) {
10124
+ attributeChangedCallback(attrName, oldValue, newValue) {
10126
10125
  if (oldValue !== newValue) {
10127
- switch (name) {
10128
- case "background-color":
10129
- this.$container.backgroundColor = backgroundColorValues.indexOf(newValue) > 0 ? newValue : "none";
10130
- break;
10131
- case "background-gradient":
10132
- this.$container.gradient = this.gradient;
10133
- break;
10134
- case "background-image":
10135
- this.$container.backgroundImage = newValue;
10136
- break;
10137
- case "background-image--mobile":
10138
- this.$container.backgroundImageMobile = newValue;
10139
- break;
10140
- case "background-image--tablet":
10141
- this.$container.backgroundImageTablet = newValue;
10142
- break;
10143
- case "background-image--laptop":
10144
- this.$container.backgroundImageLaptop = newValue;
10145
- break;
10146
- case "background-size":
10147
- this.$container.backgroundSize = newValue;
10148
- break;
10149
- case "background-position":
10150
- this.$container.backgroundPosition = newValue;
10151
- break;
10152
- case "padding-block":
10153
- this.$container.paddingBlock = newValue;
10154
- break;
10155
- case "padding-top":
10156
- this.$container.paddingTop = newValue;
10157
- break;
10158
- case "padding-bottom":
10159
- this.$container.paddingBottom = newValue;
10160
- break;
10161
- case "padding-block--mobile":
10162
- this.$container.paddingBlockMobile = newValue;
10163
- break;
10164
- case "padding-top--mobile":
10165
- this.$container.paddingTopMobile = newValue;
10166
- break;
10167
- case "padding-bottom--mobile":
10168
- this.$container.paddingBottomMobile = newValue;
10169
- break;
10170
- case "padding-block--tablet":
10171
- this.$container.paddingBlockTablet = newValue;
10172
- break;
10173
- case "padding-top--tablet":
10174
- this.$container.paddingTopTablet = newValue;
10175
- break;
10176
- case "padding-bottom--tablet":
10177
- this.$container.paddingBottomTablet = newValue;
10178
- break;
10179
- case "padding-block--laptop":
10180
- this.$container.paddingBlockLaptop = newValue;
10181
- break;
10182
- case "padding-top--laptop":
10183
- this.$container.paddingTopLaptop = newValue;
10126
+ switch (attrName) {
10127
+ case "variant":
10128
+ this.updateVariant(attrName, oldValue, newValue, headingValues);
10184
10129
  break;
10185
- case "padding-bottom--laptop":
10186
- this.$container.paddingBottomLaptop = newValue;
10130
+ case "color":
10131
+ this.updateTypography(attrName, oldValue, newValue, colorValues);
10187
10132
  break;
10188
- case "border":
10189
- this.$container.border = newValue;
10133
+ case "font-size":
10134
+ this.updateTypography(attrName, oldValue, newValue, fontsizeValues);
10190
10135
  break;
10191
- case "border-side":
10192
- this.$container.borderSide = newValue;
10136
+ case "font-weight":
10137
+ this.updateTypography(attrName, oldValue, newValue, fontweightValues);
10193
10138
  break;
10194
- case "border-side--mobile":
10195
- 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);
10196
10144
  break;
10197
- case "border-side--tablet":
10198
- this.$container.borderSideTablet = newValue;
10145
+ case "disabled":
10146
+ this.color = "state-disabled";
10199
10147
  break;
10200
- case "border-side--laptop":
10201
- this.$container.borderSideLaptop = newValue;
10148
+ default:
10149
+ super.attributeChangedCallback(attrName, oldValue, newValue);
10202
10150
  break;
10203
10151
  }
10204
10152
  }
10205
10153
  }
10206
- get $slotOverlap() {
10207
- return this.querySelector('[slot="overlap"]');
10208
- }
10209
- get backgroundColor() {
10210
- return this.getAttribute("background-color") || "none";
10211
- }
10212
- set backgroundColor(value) {
10213
- this.setAttribute("background-color", value);
10214
- }
10215
- get gradient() {
10216
- return this.getAttribute("background-gradient");
10217
- }
10218
- set gradient(value) {
10219
- this.setAttribute("background-gradient", value);
10220
- }
10221
- get backgroundImage() {
10222
- return this.getAttribute("background-image");
10223
- }
10224
- set backgroundImage(value) {
10225
- this.setAttribute("background-image", value);
10226
- }
10227
- get backgroundImageMobile() {
10228
- return this.getAttribute("background-image--mobile");
10229
- }
10230
- set backgroundImageMobile(value) {
10231
- this.setAttribute("background-image--mobile", value);
10232
- }
10233
- get backgroundImageTablet() {
10234
- return this.getAttribute("background-image--tablet");
10235
- }
10236
- set backgroundImageTablet(value) {
10237
- this.setAttribute("background-image--tablet", value);
10238
- }
10239
- get backgroundImageLaptop() {
10240
- 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
+ }
10241
10161
  }
10242
- set backgroundImageLaptop(value) {
10243
- 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
+ }
10244
10168
  }
10245
- get backgroundSize() {
10246
- 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
+ }
10247
10186
  }
10248
- set backgroundSize(value) {
10249
- 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 };
10250
10197
  }
10251
- get backgroundPosition() {
10252
- return this.getAttribute("background-position");
10198
+ get variant() {
10199
+ return this.getAttribute("variant");
10253
10200
  }
10254
- set backgroundPosition(value) {
10255
- this.setAttribute("background-position", value);
10201
+ set variant(value) {
10202
+ this.setAttribute("variant", value);
10256
10203
  }
10257
- get paddingBlock() {
10258
- return this.getAttribute("padding-block");
10204
+ get color() {
10205
+ return this.getAttribute("color");
10259
10206
  }
10260
- set paddingBlock(value) {
10261
- this.setAttribute("padding-block", value);
10207
+ set color(value) {
10208
+ this.setAttribute("color", value);
10262
10209
  }
10263
- get paddingTop() {
10264
- return this.getAttribute("padding-top");
10210
+ get fontSize() {
10211
+ return this.getAttribute("font-size");
10265
10212
  }
10266
- set paddingTop(value) {
10267
- this.setAttribute("padding-top", value);
10213
+ set fontSize(value) {
10214
+ this.setAttribute("font-size", value);
10268
10215
  }
10269
- get paddingBottom() {
10270
- return this.getAttribute("padding-bottom");
10216
+ get fontWeight() {
10217
+ return this.getAttribute("font-weight");
10271
10218
  }
10272
- set paddingBottom(value) {
10273
- this.setAttribute("padding-bottom", value);
10219
+ set fontWeight(value) {
10220
+ this.setAttribute("font-weight", value);
10274
10221
  }
10275
- get paddingBlockMobile() {
10276
- return this.getAttribute("padding-block--mobile");
10222
+ get textAlign() {
10223
+ return this.getAttribute("text-align");
10277
10224
  }
10278
- set paddingBlockMobile(value) {
10279
- this.setAttribute("padding-block--mobile", value);
10225
+ set textAlign(value) {
10226
+ this.setAttribute("text-align", value);
10280
10227
  }
10281
- get paddingTopMobile() {
10282
- return this.getAttribute("padding-top--mobile");
10228
+ get textAlignMobile() {
10229
+ return this.getAttribute("text-align--mobile");
10283
10230
  }
10284
- set paddingTopMobile(value) {
10285
- this.setAttribute("padding-top--mobile", value);
10231
+ set textAlignMobile(value) {
10232
+ this.setAttribute("text-align--mobile", value);
10286
10233
  }
10287
- get paddingBottomMobile() {
10288
- return this.getAttribute("padding-bottom--mobile");
10234
+ get textAlignTablet() {
10235
+ return this.getAttribute("text-align--tablet");
10289
10236
  }
10290
- set paddingBottomMobile(value) {
10291
- this.setAttribute("padding-bottom--mobile", value);
10237
+ set textAlignTablet(value) {
10238
+ this.setAttribute("text-align--tablet", value);
10292
10239
  }
10293
- get paddingBlockTablet() {
10294
- return this.getAttribute("padding-block--tablet");
10240
+ get textAlignLaptop() {
10241
+ return this.getAttribute("text-align--laptop");
10295
10242
  }
10296
- set paddingBlockTablet(value) {
10297
- this.setAttribute("padding-block--tablet", value);
10243
+ set textAlignLaptop(value) {
10244
+ this.setAttribute("text-align--laptop", value);
10298
10245
  }
10299
- get paddingTopTablet() {
10300
- return this.getAttribute("padding-top--tablet");
10246
+ get inverted() {
10247
+ return this.getAttribute("inverted");
10301
10248
  }
10302
- set paddingTopTablet(value) {
10303
- this.setAttribute("padding-top--tablet", value);
10249
+ set inverted(value) {
10250
+ this.setAttribute("inverted", value);
10304
10251
  }
10305
- get paddingBottomTablet() {
10306
- return this.getAttribute("padding-bottom--tablet");
10252
+ get disabled() {
10253
+ return this.getAttribute("disabled");
10307
10254
  }
10308
- set paddingBottomTablet(value) {
10309
- this.setAttribute("padding-bottom--tablet", value);
10255
+ set disabled(value) {
10256
+ this.setAttribute("disabled", value);
10310
10257
  }
10311
- get paddingBlockLaptop() {
10312
- 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();
10313
10273
  }
10314
- set paddingBlockLaptop(value) {
10315
- this.setAttribute("padding-block--laptop", value);
10274
+ static get observedAttributes() {
10275
+ return [...super.observedAttributes, "inverted"];
10316
10276
  }
10317
- get paddingTopLaptop() {
10318
- 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
+ }
10319
10292
  }
10320
- set paddingTopLaptop(value) {
10321
- this.setAttribute("padding-top--laptop", value);
10293
+ get $children() {
10294
+ return this.querySelectorAll("px-footer-sitemap > *");
10322
10295
  }
10323
- get paddingBottomLaptop() {
10324
- return this.getAttribute("padding-bottom--laptop");
10296
+ get inverted() {
10297
+ return this.hasAttribute("inverted");
10325
10298
  }
10326
- set paddingBottomLaptop(value) {
10327
- this.setAttribute("padding-bottom--laptop", value);
10299
+ set inverted(value) {
10300
+ if (value) {
10301
+ this.setAttribute("inverted", "");
10302
+ } else {
10303
+ this.removeAttribute("inverted");
10304
+ }
10328
10305
  }
10329
- get border() {
10330
- 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();
10331
10336
  }
10332
- set border(value) {
10333
- this.setAttribute("border", value);
10337
+ static get observedAttributes() {
10338
+ return [...super.observedAttributes, "inverted"];
10334
10339
  }
10335
- get borderSide() {
10336
- 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
+ }
10337
10353
  }
10338
- set borderSide(value) {
10339
- this.setAttribute("border-side", value);
10354
+ disconnectedCallback() {
10355
+ window.removeEventListener("resize", this.throttledLoadTemplate);
10340
10356
  }
10341
- get borderSideMobile() {
10342
- 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
+ }
10343
10368
  }
10344
- set borderSideMobile(value) {
10345
- 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
+ }
10346
10387
  }
10347
- get borderSideTablet() {
10348
- return this.getAttribute("border-side--tablet");
10388
+ get $ul() {
10389
+ return this.querySelector("ul");
10349
10390
  }
10350
- set borderSideTablet(value) {
10351
- this.setAttribute("border-side--tablet", value);
10391
+ get $children() {
10392
+ return this.querySelectorAll("px-footer-sitemap-item > *");
10352
10393
  }
10353
- get borderSideLaptop() {
10354
- return this.getAttribute("border-side--laptop");
10394
+ get inverted() {
10395
+ return this.hasAttribute("inverted");
10355
10396
  }
10356
- set borderSideLaptop(value) {
10357
- this.setAttribute("border-side--laptop", value);
10397
+ set inverted(value) {
10398
+ if (value) {
10399
+ this.setAttribute("inverted", "");
10400
+ } else {
10401
+ this.removeAttribute("inverted");
10402
+ }
10358
10403
  }
10359
- }
10360
- if (!customElements.get("px-section")) {
10361
- 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);
10362
10409
  }
10363
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)}}";
10364
10411
  const stylesheet$7 = new CSSStyleSheet();
@@ -10373,6 +10420,7 @@ class HeaderItem extends WithExtraAttributes {
10373
10420
  this.shadowRoot.innerHTML = this.template();
10374
10421
  this.shadowRoot.adoptedStyleSheets = [stylesheet$7];
10375
10422
  this.internals = (_a = this.attachInternals) == null ? void 0 : _a.call(this);
10423
+ this.role = "listitem";
10376
10424
  if (this.internals) {
10377
10425
  this.internals.role = "listitem";
10378
10426
  }
@@ -10523,9 +10571,9 @@ class Header extends WithExtraAttributes {
10523
10571
  });
10524
10572
  this.shadowRoot.innerHTML = this.template;
10525
10573
  this.internals = (_a = this.attachInternals) == null ? void 0 : _a.call(this);
10574
+ this.role = "navigation";
10526
10575
  if (this.internals) {
10527
10576
  this.internals.role = "navigation";
10528
- this.internals.ariaOrientation = "horizontal";
10529
10577
  }
10530
10578
  }
10531
10579
  connectedCallback() {
@@ -11911,6 +11959,7 @@ class MegaDropDown extends HTMLElement {
11911
11959
  this.shadowRoot.innerHTML = this.template;
11912
11960
  this.shadowRoot.adoptedStyleSheets = [stylesheet$3];
11913
11961
  this.internals = (_a = this.attachInternals) == null ? void 0 : _a.call(this);
11962
+ this.role = "menu";
11914
11963
  if (this.internals) {
11915
11964
  this.internals.role = "menu";
11916
11965
  }
@@ -11927,6 +11976,7 @@ class MegaDropDown extends HTMLElement {
11927
11976
  if (this.internals) {
11928
11977
  this.internals.ariaHidden = "true";
11929
11978
  }
11979
+ this.ariaHidden = "true";
11930
11980
  this.setAttribute("slot", "header-panels");
11931
11981
  this.shadowRoot.addEventListener("click", (event) => {
11932
11982
  if (event.target.closest("px-button-icon")) {
@@ -11986,7 +12036,9 @@ class MegaDropDown extends HTMLElement {
11986
12036
  this.id = newValue;
11987
12037
  }
11988
12038
  if (name === "hidden" && this.internals) {
11989
- 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;
11990
12042
  const mddFooterHeightPx = __privateGet(this, _MegaDropDown_instances, $footer_get).offsetHeight;
11991
12043
  const mddFooterHeight = mddFooterHeightPx / parseFloat(getComputedStyle(document.documentElement).fontSize);
11992
12044
  this.style.setProperty(
@@ -12024,6 +12076,7 @@ class MegaDropDown extends HTMLElement {
12024
12076
  if (this.internals) {
12025
12077
  this.internals.ariaHidden = "true";
12026
12078
  }
12079
+ this.ariaHidden = "true";
12027
12080
  this.setAttribute("hidden", "");
12028
12081
  if (this.$dialog.open) {
12029
12082
  this.$dialog.close();
@@ -12032,6 +12085,7 @@ class MegaDropDown extends HTMLElement {
12032
12085
  if (this.internals) {
12033
12086
  this.internals.ariaHidden = "false";
12034
12087
  }
12088
+ this.ariaHidden = "false";
12035
12089
  if (!this.$dialog.open) {
12036
12090
  this.$dialog.showModal();
12037
12091
  setTimeout(() => {
@@ -12184,6 +12238,7 @@ class MddSectionItem extends HTMLElement {
12184
12238
  this.attachShadow({ mode: "open" });
12185
12239
  this.shadowRoot.adoptedStyleSheets = [stylesheet$1];
12186
12240
  this.internals = (_a = this.attachInternals) == null ? void 0 : _a.call(this);
12241
+ this.role = "listitem";
12187
12242
  if (this.internals) {
12188
12243
  this.internals.role = "listitem";
12189
12244
  }
@@ -12909,10 +12964,12 @@ class SelectableBoxCheckbox extends WithExtraAttributes {
12909
12964
  this.shadowRoot.innerHTML = this.template();
12910
12965
  this.internals = (_a = this.attachInternals) == null ? void 0 : _a.call(this);
12911
12966
  this.toggleFooterVisibility = this.toggleFooterVisibility.bind(this);
12967
+ this.role = "checkbox";
12912
12968
  if (this.internals) {
12913
12969
  this.internals.role = "checkbox";
12914
12970
  this.internals.ariaChecked = `${this.checked}`;
12915
12971
  }
12972
+ this.ariaChecked = `${this.checked}`;
12916
12973
  }
12917
12974
  connectedCallback() {
12918
12975
  this.tabIndex = 0;
@@ -13012,12 +13069,14 @@ class SelectableBoxCheckbox extends WithExtraAttributes {
13012
13069
  if (this.internals) {
13013
13070
  this.internals.ariaDisabled = "true";
13014
13071
  }
13072
+ this.ariaDisabled = "true";
13015
13073
  this.$checkbox.setAttribute("disabled", "");
13016
13074
  } else {
13017
13075
  this.disabled = false;
13018
13076
  if (this.internals) {
13019
13077
  this.internals.ariaDisabled = "false";
13020
13078
  }
13079
+ this.ariaDisabled = "false";
13021
13080
  this.$checkbox.removeAttribute("disabled");
13022
13081
  }
13023
13082
  }
@@ -13028,6 +13087,7 @@ class SelectableBoxCheckbox extends WithExtraAttributes {
13028
13087
  if (this.internals) {
13029
13088
  this.internals.ariaChecked = "false";
13030
13089
  }
13090
+ this.ariaChecked = "false";
13031
13091
  this.checked = false;
13032
13092
  if (this.$checkbox) {
13033
13093
  this.$checkbox.removeAttribute("checked");
@@ -13036,6 +13096,7 @@ class SelectableBoxCheckbox extends WithExtraAttributes {
13036
13096
  if (this.internals) {
13037
13097
  this.internals.ariaChecked = "true";
13038
13098
  }
13099
+ this.ariaChecked = "true";
13039
13100
  this.checked = true;
13040
13101
  if (this.$checkbox) {
13041
13102
  this.$checkbox.setAttribute("checked", "");
@@ -13176,10 +13237,12 @@ class SelectableBoxRadio extends WithExtraAttributes {
13176
13237
  this.shadowRoot.innerHTML = this.template();
13177
13238
  this.internals = (_a = this.attachInternals) == null ? void 0 : _a.call(this);
13178
13239
  this.toggleFooterVisibility = this.toggleFooterVisibility.bind(this);
13240
+ this.role = "radio";
13179
13241
  if (this.internals) {
13180
13242
  this.internals.role = "radio";
13181
13243
  this.internals.ariaChecked = `${this.checked}`;
13182
13244
  }
13245
+ this.ariaChecked = `${this.checked}`;
13183
13246
  }
13184
13247
  connectedCallback() {
13185
13248
  var _a;
@@ -13281,12 +13344,14 @@ class SelectableBoxRadio extends WithExtraAttributes {
13281
13344
  if (this.internals) {
13282
13345
  this.internals.ariaDisabled = "true";
13283
13346
  }
13347
+ this.ariaDisabled = "true";
13284
13348
  this.$radio.setAttribute("disabled", "");
13285
13349
  } else {
13286
13350
  this.disabled = false;
13287
13351
  if (this.internals) {
13288
13352
  this.internals.ariaDisabled = "false";
13289
13353
  }
13354
+ this.ariaDisabled = "false";
13290
13355
  this.$radio.removeAttribute("disabled");
13291
13356
  }
13292
13357
  }
@@ -13297,6 +13362,7 @@ class SelectableBoxRadio extends WithExtraAttributes {
13297
13362
  if (this.internals) {
13298
13363
  this.internals.ariaChecked = "false";
13299
13364
  }
13365
+ this.ariaChecked = "false";
13300
13366
  this.tabIndex = -1;
13301
13367
  this.checked = false;
13302
13368
  if (this.$radio) {
@@ -13306,6 +13372,7 @@ class SelectableBoxRadio extends WithExtraAttributes {
13306
13372
  if (this.internals) {
13307
13373
  this.internals.ariaChecked = "true";
13308
13374
  }
13375
+ this.ariaChecked = "true";
13309
13376
  this.tabIndex = 0;
13310
13377
  this.checked = true;
13311
13378
  if (this.$radio) {
@@ -13542,6 +13609,7 @@ class Spinner extends HTMLElement {
13542
13609
  connectedCallback() {
13543
13610
  if (!this.ariaLabel && this.internals) {
13544
13611
  this.internals.ariaHidden = "true";
13612
+ this.ariaHidden = "true";
13545
13613
  }
13546
13614
  }
13547
13615
  attributeChangedCallback(attrName, oldValue, newValue) {
@@ -13553,6 +13621,9 @@ class Spinner extends HTMLElement {
13553
13621
  case "aria-label":
13554
13622
  if (newValue !== "") {
13555
13623
  this.internals.ariaHidden = "false";
13624
+ this.ariaHidden = "false";
13625
+ this.internals.role = "status";
13626
+ this.role = "status";
13556
13627
  }
13557
13628
  break;
13558
13629
  }
@@ -13560,6 +13631,7 @@ class Spinner extends HTMLElement {
13560
13631
  }
13561
13632
  configureAccessibility(value) {
13562
13633
  this.internals.ariaHidden = value;
13634
+ this.ariaHidden = value;
13563
13635
  }
13564
13636
  updateAttribute(attrName, oldValue, newValue, attrValues) {
13565
13637
  if (oldValue !== null && oldValue !== "" && oldValue !== "default") {
@@ -14365,6 +14437,7 @@ class Tabs extends HTMLElement {
14365
14437
  this.shadowRoot.innerHTML = this.template();
14366
14438
  this.shadowRoot.adoptedStyleSheets = [styleSheet$7];
14367
14439
  this.internals = (_a = this.attachInternals) == null ? void 0 : _a.call(this);
14440
+ this.role = "tablist";
14368
14441
  if (this.internals) {
14369
14442
  this.internals.role = "tablist";
14370
14443
  }
@@ -14554,9 +14627,11 @@ class Tab extends HTMLElement {
14554
14627
  this.shadowRoot.innerHTML = this.template();
14555
14628
  this.shadowRoot.adoptedStyleSheets = [styleSheet$6];
14556
14629
  this.internals = (_a = this.attachInternals) == null ? void 0 : _a.call(this);
14630
+ this.role = "tab";
14557
14631
  if (this.internals) {
14558
14632
  this.internals.role = "tab";
14559
14633
  }
14634
+ this.ariaSelected = `${this.selected}`;
14560
14635
  }
14561
14636
  static get observedAttributes() {
14562
14637
  return ["selected", "for", "name"];
@@ -14620,12 +14695,14 @@ class Tab extends HTMLElement {
14620
14695
  if (this.internals) {
14621
14696
  this.internals.ariaSelected = `false`;
14622
14697
  }
14698
+ this.ariaSelected = `false`;
14623
14699
  } else {
14624
14700
  this.focus();
14625
14701
  this.tabIndex = 0;
14626
14702
  if (this.internals) {
14627
14703
  this.internals.ariaSelected = `true`;
14628
14704
  }
14705
+ this.ariaSelected = `true`;
14629
14706
  }
14630
14707
  }
14631
14708
  }
@@ -15179,10 +15256,12 @@ class TileCheckbox extends WithExtraAttributes {
15179
15256
  this.shadowRoot.innerHTML = this.template();
15180
15257
  this.internals = (_a = this.attachInternals) == null ? void 0 : _a.call(this);
15181
15258
  this.tabIndex = 0;
15259
+ this.role = "checkbox";
15182
15260
  if (this.internals) {
15183
15261
  this.internals.role = "checkbox";
15184
15262
  this.internals.ariaChecked = `${this.checked}`;
15185
15263
  }
15264
+ this.ariaChecked = `${this.checked}`;
15186
15265
  }
15187
15266
  connectedCallback() {
15188
15267
  if (this.$slotPrefix) {
@@ -15271,6 +15350,7 @@ class TileCheckbox extends WithExtraAttributes {
15271
15350
  if (this.internals) {
15272
15351
  this.internals.ariaDisabled = "true";
15273
15352
  }
15353
+ this.ariaDisabled = "true";
15274
15354
  this.$tile.disabled = true;
15275
15355
  this.$checkbox.setAttribute("disabled", "");
15276
15356
  } else {
@@ -15278,6 +15358,7 @@ class TileCheckbox extends WithExtraAttributes {
15278
15358
  if (this.internals) {
15279
15359
  this.internals.ariaDisabled = "false";
15280
15360
  }
15361
+ this.ariaDisabled = "false";
15281
15362
  this.$tile.disabled = false;
15282
15363
  this.$checkbox.removeAttribute("disabled");
15283
15364
  }
@@ -15289,6 +15370,7 @@ class TileCheckbox extends WithExtraAttributes {
15289
15370
  if (this.internals) {
15290
15371
  this.internals.ariaChecked = "false";
15291
15372
  }
15373
+ this.ariaChecked = "false";
15292
15374
  this.checked = false;
15293
15375
  if (this.$checkbox) {
15294
15376
  this.$checkbox.removeAttribute("checked");
@@ -15297,6 +15379,7 @@ class TileCheckbox extends WithExtraAttributes {
15297
15379
  if (this.internals) {
15298
15380
  this.internals.ariaChecked = "true";
15299
15381
  }
15382
+ this.ariaChecked = "true";
15300
15383
  this.checked = true;
15301
15384
  if (this.$checkbox) {
15302
15385
  this.$checkbox.setAttribute("checked", "");
@@ -15450,10 +15533,12 @@ class TileRadio extends WithExtraAttributes {
15450
15533
  super(commonStyleSheet$2);
15451
15534
  this.shadowRoot.innerHTML = this.template();
15452
15535
  this.internals = (_a = this.attachInternals) == null ? void 0 : _a.call(this);
15536
+ this.role = "radio";
15453
15537
  if (this.internals) {
15454
15538
  this.internals.role = "radio";
15455
15539
  this.internals.ariaChecked = `${this.checked}`;
15456
15540
  }
15541
+ this.ariaChecked = `${this.checked}`;
15457
15542
  }
15458
15543
  connectedCallback() {
15459
15544
  var _a;
@@ -15546,6 +15631,7 @@ class TileRadio extends WithExtraAttributes {
15546
15631
  if (this.internals) {
15547
15632
  this.internals.ariaDisabled = "true";
15548
15633
  }
15634
+ this.ariaDisabled = "true";
15549
15635
  this.$tile.disabled = true;
15550
15636
  this.$radio.setAttribute("disabled", "");
15551
15637
  } else {
@@ -15553,6 +15639,7 @@ class TileRadio extends WithExtraAttributes {
15553
15639
  if (this.internals) {
15554
15640
  this.internals.ariaDisabled = "false";
15555
15641
  }
15642
+ this.ariaDisabled = "false";
15556
15643
  this.$tile.disabled = false;
15557
15644
  this.$radio.removeAttribute("disabled");
15558
15645
  }
@@ -15564,6 +15651,7 @@ class TileRadio extends WithExtraAttributes {
15564
15651
  if (this.internals) {
15565
15652
  this.internals.ariaChecked = "false";
15566
15653
  }
15654
+ this.ariaChecked = "false";
15567
15655
  this.tabIndex = -1;
15568
15656
  this.checked = false;
15569
15657
  if (this.$radio) {
@@ -15573,6 +15661,7 @@ class TileRadio extends WithExtraAttributes {
15573
15661
  if (this.internals) {
15574
15662
  this.internals.ariaChecked = "true";
15575
15663
  }
15664
+ this.ariaChecked = "true";
15576
15665
  this.tabIndex = 0;
15577
15666
  this.checked = true;
15578
15667
  if (this.$radio) {
@@ -15886,10 +15975,12 @@ class TileSwitch extends WithExtraAttributes {
15886
15975
  this.shadowRoot.innerHTML = this.template();
15887
15976
  this.internals = (_a = this.attachInternals) == null ? void 0 : _a.call(this);
15888
15977
  this.tabIndex = 0;
15978
+ this.role = "checkbox";
15889
15979
  if (this.internals) {
15890
15980
  this.internals.role = "checkbox";
15891
15981
  this.internals.ariaChecked = `${this.checked}`;
15892
15982
  }
15983
+ this.ariaChecked = `${this.checked}`;
15893
15984
  }
15894
15985
  connectedCallback() {
15895
15986
  if (this.$slotPrefix) {
@@ -15967,6 +16058,7 @@ class TileSwitch extends WithExtraAttributes {
15967
16058
  if (this.internals) {
15968
16059
  this.internals.ariaDisabled = "true";
15969
16060
  }
16061
+ this.ariaDisabled = "true";
15970
16062
  this.$tile.disabled = true;
15971
16063
  this.$switch.setAttribute("disabled", "");
15972
16064
  } else {
@@ -15974,6 +16066,7 @@ class TileSwitch extends WithExtraAttributes {
15974
16066
  if (this.internals) {
15975
16067
  this.internals.ariaDisabled = "false";
15976
16068
  }
16069
+ this.ariaDisabled = "false";
15977
16070
  this.$tile.disabled = false;
15978
16071
  this.$switch.removeAttribute("disabled");
15979
16072
  }
@@ -15985,6 +16078,7 @@ class TileSwitch extends WithExtraAttributes {
15985
16078
  if (this.internals) {
15986
16079
  this.internals.ariaChecked = "false";
15987
16080
  }
16081
+ this.ariaChecked = "false";
15988
16082
  this.checked = false;
15989
16083
  if (this.$switch) {
15990
16084
  this.$switch.removeAttribute("checked");
@@ -15993,6 +16087,7 @@ class TileSwitch extends WithExtraAttributes {
15993
16087
  if (this.internals) {
15994
16088
  this.internals.ariaChecked = "true";
15995
16089
  }
16090
+ this.ariaChecked = "true";
15996
16091
  this.checked = true;
15997
16092
  if (this.$switch) {
15998
16093
  this.$switch.setAttribute("checked", "");
@@ -16253,8 +16348,8 @@ class TimelineItem extends HTMLElement {
16253
16348
  if (!customElements.get("px-timeline-item")) {
16254
16349
  customElements.define("px-timeline-item", TimelineItem);
16255
16350
  }
16256
- 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)}";
16257
- 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)}}";
16258
16353
  const typographyStyles = new CSSStyleSheet();
16259
16354
  const headingStyles = new CSSStyleSheet();
16260
16355
  const linkStyles = new CSSStyleSheet();