diff --git a/libs/blocks/caas-marquee/caas-marquee.js b/libs/blocks/caas-marquee/caas-marquee.js index 62c348aed5..21f686781d 100644 --- a/libs/blocks/caas-marquee/caas-marquee.js +++ b/libs/blocks/caas-marquee/caas-marquee.js @@ -67,26 +67,28 @@ const SEGMENTS_MAP = { }, }, prod: { - 'b446a9cf-a45c-40a7-ae67-33c2cf7f0bf7': 'acrobat', - '389deb08-1522-46e5-ba26-1df898934f4f': 'adobecom', - '079734f3-b593-4c58-8805-592d71f88d95': 'apro-cart-abandoner', - '295bea12-8443-41c9-9da1-8f75df77dd80': 'business', - '235a97a1-bf2e-4e92-bf18-13a9bfcf6ec9': 'cc-lapsed', - 'f6553238-548f-4e39-bfa4-b299caaca62e': 'commerce', - 'f569e4f9-f20a-4d6e-ba95-2abe4facdd1b': 'creative-cloud', - '5114ecd1-d1ac-4caa-869c-5652ab83afed': 'express', - '1d33382e-0c2c-4d24-8b1f-08be98cee22a': 'firefly', - '3f27d856-bbdd-431b-9e8f-44f6fe0cfbd0': 'helpx', - '5b88bec0-99f2-4736-b2d8-4809463b7fbd': 'illustrator', - '3822c05b-8074-4629-b493-59cc12a78650': 'lightroom', - '5b5c991e-2633-4390-8ee4-e58931da088e': 'photoshop', - '395264bb-b584-45fa-af53-a4396e64838b': 'premiere', - 'c02e9190-cc42-47cd-85c0-421924c47f2b': 'sign', - '9aba8c9e-dce9-427e-8122-a6c796ee2d03': 'stock', + source: { + 'b446a9cf-a45c-40a7-ae67-33c2cf7f0bf7': 'acrobat', + '389deb08-1522-46e5-ba26-1df898934f4f': 'adobecom', + '079734f3-b593-4c58-8805-592d71f88d95': 'apro-cart-abandoner', + '295bea12-8443-41c9-9da1-8f75df77dd80': 'business', + '235a97a1-bf2e-4e92-bf18-13a9bfcf6ec9': 'cc-lapsed', + 'f6553238-548f-4e39-bfa4-b299caaca62e': 'commerce', + 'f569e4f9-f20a-4d6e-ba95-2abe4facdd1b': 'creative-cloud', + '5114ecd1-d1ac-4caa-869c-5652ab83afed': 'express', + '1d33382e-0c2c-4d24-8b1f-08be98cee22a': 'firefly', + '3f27d856-bbdd-431b-9e8f-44f6fe0cfbd0': 'helpx', + '5b88bec0-99f2-4736-b2d8-4809463b7fbd': 'illustrator', + '3822c05b-8074-4629-b493-59cc12a78650': 'lightroom', + '5b5c991e-2633-4390-8ee4-e58931da088e': 'photoshop', + '395264bb-b584-45fa-af53-a4396e64838b': 'premiere', + 'c02e9190-cc42-47cd-85c0-421924c47f2b': 'sign', + '9aba8c9e-dce9-427e-8122-a6c796ee2d03': 'stock', + }, }, }; -const ALLOY_TIMEOUT = 500; +const ALLOY_TIMEOUT = 750; const WIDTHS = { split: 1199, diff --git a/libs/blocks/chart/chart.js b/libs/blocks/chart/chart.js index 5301668cb2..c2a5a23be5 100644 --- a/libs/blocks/chart/chart.js +++ b/libs/blocks/chart/chart.js @@ -122,7 +122,9 @@ export function processMarkData(series, xUnit) { } export async function fetchData(link) { - const resp = await fetch(link.href.toLowerCase()); + const { customFetch } = await import('../../utils/helpers.js'); + const resp = await customFetch({ resource: link.href.toLowerCase(), withCacheRules: true }) + .catch(() => ({})); if (!resp.ok) return {}; diff --git a/libs/blocks/fragment/fragment.js b/libs/blocks/fragment/fragment.js index a54a4d2764..5cac85aa35 100644 --- a/libs/blocks/fragment/fragment.js +++ b/libs/blocks/fragment/fragment.js @@ -80,7 +80,9 @@ export default async function init(a) { return; } - const resp = await fetch(`${a.href}.plain.html`); + const { customFetch } = await import('../../utils/helpers.js'); + const resp = await customFetch({ resource: `${a.href}.plain.html`, withCacheRules: true }) + .catch(() => ({})); if (!resp.ok) { window.lana?.log(`Could not get fragment: ${a.href}.plain.html`); diff --git a/libs/blocks/global-navigation/utilities/utilities.js b/libs/blocks/global-navigation/utilities/utilities.js index 8590a81714..1c8b15f993 100644 --- a/libs/blocks/global-navigation/utilities/utilities.js +++ b/libs/blocks/global-navigation/utilities/utilities.js @@ -77,7 +77,10 @@ export const getFederatedContentRoot = () => { : 'https://www.adobe.com'; if (origin.includes('localhost') || origin.includes('.hlx.')) { - federatedContentRoot = `https://main--federal--adobecom.hlx.${origin.includes('hlx.live') ? 'live' : 'page'}`; + // Akamai as proxy to avoid 401s, given AEM-EDS MS auth cross project limitations + federatedContentRoot = origin.includes('.hlx.live') + ? 'https://main--federal--adobecom.hlx.live' + : 'https://www.stage.adobe.com'; } return federatedContentRoot; diff --git a/libs/blocks/library-container-end/library-container-end.css b/libs/blocks/library-container-end/library-container-end.css index 36c4d59ba3..456f474b8c 100644 --- a/libs/blocks/library-container-end/library-container-end.css +++ b/libs/blocks/library-container-end/library-container-end.css @@ -1,3 +1,9 @@ + +.library-container-end, +.section.masonry-layout .library-container-end[class*='grid-'] { + display: none; +} + .library-container-end::before { display: block; content: 'Library Container End'; diff --git a/libs/blocks/library-container-start/library-container-start.css b/libs/blocks/library-container-start/library-container-start.css index 7635f35d93..d6106f0973 100644 --- a/libs/blocks/library-container-start/library-container-start.css +++ b/libs/blocks/library-container-start/library-container-start.css @@ -1,3 +1,8 @@ +.library-container-start, +.section.masonry-layout .library-container-start[class*='grid-'] { + display: none; +} + .library-container-start::before { display: block; content: 'Library Container Start'; diff --git a/libs/blocks/library-metadata/library-metadata.css b/libs/blocks/library-metadata/library-metadata.css index df6884bd1a..ce00217e59 100644 --- a/libs/blocks/library-metadata/library-metadata.css +++ b/libs/blocks/library-metadata/library-metadata.css @@ -1,5 +1,6 @@ .library-metadata { margin: 24px auto; + display: block; } .library-metadata::before { @@ -10,18 +11,16 @@ border-radius: 6px; text-transform: uppercase; font-weight: 700; + font-size: smaller; color: #293c51; padding: 6px 12px; } .library-meta-row { + background-color: #EFEFEF; display: grid; grid-template-columns: 1fr 1fr; margin-top: 4px; - border-radius: 6px; -} - -.library-meta-row { - background-color: #EFEFEF; padding: 6px 12px; + border-radius: 6px; } diff --git a/libs/blocks/library-metadata/library-metadata.js b/libs/blocks/library-metadata/library-metadata.js index ca725306cd..8b298baa8a 100644 --- a/libs/blocks/library-metadata/library-metadata.js +++ b/libs/blocks/library-metadata/library-metadata.js @@ -5,4 +5,16 @@ export default function init(el) { row.classList.add('library-meta-row'); row.firstElementChild.classList.add('library-meta-key'); }); + // Fixes layout issue for groups of blocks using a grid layout + const section = el.closest('.section'); + if (section.querySelector('.library-container-end')) { + const content = section.querySelector('.content'); + section.insertAdjacentElement('afterend', el); + + if (!content) return; + const reflowSection = document.createElement('div'); + reflowSection.classList.add('section'); + reflowSection.append(content); + section.insertAdjacentElement('beforebegin', reflowSection); + } } diff --git a/libs/blocks/merch-card/merch-card.js b/libs/blocks/merch-card/merch-card.js index 59f924c082..ef28c9b063 100644 --- a/libs/blocks/merch-card/merch-card.js +++ b/libs/blocks/merch-card/merch-card.js @@ -111,22 +111,13 @@ const MULTI_OFFER_CARDS = ['plans', 'product', MINI_COMPARE_CHART]; // Force cards to refresh once they become visible so that the footer rows are properly aligned. const intersectionObserver = new IntersectionObserver((entries) => { entries.forEach((entry) => { - const container = entry.target.closest('main > div:not([data-status])'); + const container = entry.target.closest('main > div'); if (!container) return; [...container.querySelectorAll('merch-card')].forEach((card) => card.requestUpdate()); intersectionObserver.unobserve(entry.target); }); }); -const addTabClickListener = (container) => { - const buttons = document.querySelectorAll('button[role="tab"]'); - buttons.forEach((button) => { - button.addEventListener('click', () => { - intersectionObserver.observe(container); - }); - }); -}; - const textStyles = { H5: 'detail-m', H4: 'body-xxs', @@ -140,7 +131,7 @@ const isHeadingTag = (tagName) => /^H[2-5]$/.test(tagName); const isParagraphTag = (tagName) => tagName === 'P'; const appendSlot = (slotEls, slotName, merchCard) => { - if (slotEls.length === 0 && merchCard.variant !== MINI_COMPARE_CHART) return; + if (slotEls.length === 0) return; const newEl = createTag( 'p', { slot: slotName, class: slotName }, @@ -295,7 +286,7 @@ const simplifyHrs = (el) => { }); }; -async function extractQuantitySelect(el) { +function extractQuantitySelect(el) { const quantitySelectConfig = el.querySelector('ul'); if (!quantitySelectConfig) return null; const configMarkup = quantitySelectConfig.querySelector('li'); @@ -307,7 +298,7 @@ async function extractQuantitySelect(el) { const quantityValues = config[1].textContent.split(',').map((value) => value.trim()) .filter((value) => /^\d+$/.test(value)); if (quantityValues.length !== 3) return null; - await import('../../deps/merch-quantity-select.js'); + import('../../deps/merch-quantity-select.js'); [attributes.min, attributes.max, attributes.step] = quantityValues.map(Number); const quantitySelect = createTag('merch-quantity-select', attributes); quantitySelectConfig.remove(); @@ -345,9 +336,8 @@ const decorateFooterRows = (merchCard, footerRows) => { const setMiniCompareOfferSlot = (merchCard, offers) => { if (merchCard.variant !== MINI_COMPARE_CHART) return; - const miniCompareOffers = merchCard.querySelector('div[slot="offers"]'); - // eslint-disable-next-line chai-friendly/no-unused-expressions - offers ? miniCompareOffers.append(offers) : miniCompareOffers.appendChild(createTag('p')); + const miniCompareOffers = createTag('div', { slot: 'offers' }, offers); + if (offers === undefined) { miniCompareOffers.appendChild(createTag('p')); } merchCard.appendChild(miniCompareOffers); }; @@ -410,10 +400,9 @@ const init = async (el) => { } let footerRows; if (cardType === MINI_COMPARE_CHART) { - intersectionObserver.observe(merchCard); const container = el.closest('[data-status="decorated"]'); if (container) { - addTabClickListener(container); + intersectionObserver.observe(container); } footerRows = getMiniCompareChartFooterRows(el); } @@ -491,11 +480,7 @@ const init = async (el) => { merchCard.appendChild(footer); if (MULTI_OFFER_CARDS.includes(cardType)) { - if (merchCard.variant === MINI_COMPARE_CHART) { - const miniCompareOffers = createTag('div', { slot: 'offers' }); - merchCard.append(miniCompareOffers); - } - const quantitySelect = await extractQuantitySelect(el, cardType); + const quantitySelect = extractQuantitySelect(el); const offerSelection = el.querySelector('ul'); if (offerSelection) { const { initOfferSelection } = await import('./merch-offer-select.js'); diff --git a/libs/blocks/merch-card/merch-offer-select.js b/libs/blocks/merch-card/merch-offer-select.js index 3c40e931bb..f3071c05b8 100644 --- a/libs/blocks/merch-card/merch-offer-select.js +++ b/libs/blocks/merch-card/merch-offer-select.js @@ -25,7 +25,6 @@ function createDynamicSlots(el, bodySlot) { const descriptionSlot = el.querySelector('p[slot="description"]'); if (descriptionSlot) { descriptionSlot.innerHTML += description.innerHTML; - description.parentNode.removeChild(description); } } } diff --git a/libs/deps/merch-card.js b/libs/deps/merch-card.js index 7f96a79c9a..aeb79e4f1e 100644 --- a/libs/deps/merch-card.js +++ b/libs/deps/merch-card.js @@ -1,5 +1,5 @@ -// Sat, 09 Mar 2024 00:46:22 GMT -import{html as a,LitElement as O}from"/libs/deps/lit-all.min.js";import{css as x,unsafeCSS as p}from"/libs/deps/lit-all.min.js";var d="(max-width: 767px)";var i="(min-width: 768px)",c="(min-width: 1200px)",s="(min-width: 1600px)";var w=x` +// Tue, 13 Feb 2024 15:45:03 GMT +import{html as n,LitElement as T}from"/libs/deps/lit-all.min.js";import{css as x,unsafeCSS as f}from"/libs/deps/lit-all.min.js";var l="(max-width: 767px)";var i="(min-width: 768px)",c="(min-width: 1200px)",s="(min-width: 1600px)";var y=x` :host { position: relative; display: flex; @@ -83,6 +83,7 @@ import{html as a,LitElement as O}from"/libs/deps/lit-all.min.js";import{css as x flex-direction: column; justify-content: flex-start; height: 100%; + flex-direction: column; gap: var(--consonant-merch-spacing-xxs); padding: var(--consonant-merch-spacing-xs); } @@ -93,7 +94,6 @@ import{html as a,LitElement as O}from"/libs/deps/lit-all.min.js";import{css as x box-sizing: border-box; width: 100%; padding: var(--consonant-merch-spacing-xs); - flex-flow: wrap; } hr { @@ -233,37 +233,10 @@ import{html as a,LitElement as O}from"/libs/deps/lit-all.min.js";import{css as x margin-top: 2px; } - :host([variant='mini-compare-chart']) .icons .img { - width: var(--consonant-merch-card-mini-compare-chart-icon-size); - height: var(--consonant-merch-card-mini-compare-chart-icon-size); - } - - :host([variant='mini-compare-chart']) .top-section { - padding-top: var(--consonant-merch-spacing-s); - } - - :host([variant='mini-compare-chart']) .top-section .icons { - padding-left: var(--consonant-merch-spacing-s); - } - - :host([variant='mini-compare-chart']) .top-section .icons img { - padding-bottom: var(--consonant-merch-spacing-xs); - } - - :host([variant='mini-compare-chart']) - .top-section - .mini-compare-chart-badge { - position: relative; - margin-left: auto; - top: 0; - align-self: flex-start; - } - :host([variant='mini-compare-chart']) .body { - padding: 0 var(--consonant-merch-spacing-s) 0px; - display: block; - gap: var(--consonant-merch-spacing-xs); - height: auto; + padding: var(--consonant-merch-spacing-s) + var(--consonant-merch-spacing-s) 0; + flex: unset; } :host([variant='mini-compare-chart']) .price { @@ -271,22 +244,9 @@ import{html as a,LitElement as O}from"/libs/deps/lit-all.min.js";import{css as x } :host([variant='mini-compare-chart']) footer { - padding: 0 var(--consonant-merch-spacing-s); - } - - @media screen and ${p(d)} { - :host([variant='mini-compare-chart']) .mini-compare-chart-badge { - font-size: var(--consonant-merch-card-detail-font-size); - } - - :host([variant='mini-compare-chart']) .price { - padding: 0 var(--consonant-merch-spacing-xs); - } - - :host([variant='mini-compare-chart']) footer { - padding-bottom: var(--consonant-merch-spacing-xxs); - justify-content: space-around; - } + padding: var(--consonant-merch-spacing-xs) + var(--consonant-merch-spacing-s); + flex-flow: wrap; } :host([variant='special-offers'].center) { @@ -297,9 +257,9 @@ import{html as a,LitElement as O}from"/libs/deps/lit-all.min.js";import{css as x :host([variant='plans']) { min-height: 348px; } -`,k=()=>{let m=[x` +`,w=()=>{let h=[x` /* Tablet */ - @media screen and ${p(i)} { + @media screen and ${f(i)} { :host([size='wide']), :host([size='super-wide']) { grid-column: span 2; @@ -308,18 +268,18 @@ import{html as a,LitElement as O}from"/libs/deps/lit-all.min.js";import{css as x } /* Laptop */ - @media screen and ${p(c)} { + @media screen and ${f(c)} { :host([size='super-wide']) { grid-column: span 3; } - `];return m.push(x` + `];return h.push(x` /* Large desktop */ - @media screen and ${p(s)} { + @media screen and ${f(s)} { :host([size='super-wide']) { grid-column: span 4; } } - `),m};var[u,v,z,$,E,C]=["ArrowLeft","ArrowRight","ArrowUp","ArrowDown","Enter","Tab"];var S=document.createElement("style");S.innerHTML=` + `),h};var[u,v,k,z,$,E]=["ArrowLeft","ArrowRight","ArrowUp","ArrowDown","Enter","Tab"];var C=document.createElement("style");C.innerHTML=` :root { --consonant-merch-card-detail-font-size: 12px; @@ -418,14 +378,6 @@ import{html as a,LitElement as O}from"/libs/deps/lit-all.min.js";import{css as x /*mini compare chart */ --consonant-merch-card-mini-compare-chart-icon-size: 32px; - --consonant-merch-card-mini-compare-body-height: 50px; - --consonant-merch-card-mini-compare-mobile-cta-font-size: 15px; - --consonant-merch-card-mini-compare-mobile-cta-width: 75px; - --consonant-merch-card-mini-compare-offers-height: 0; - --consonant-merch-card-mini-compare-price-height: 0; - --consonant-merch-card-mini-compare-price-commitment-height: 0; - --consonant-merch-card-mini-compare-promo-text-height: 0; - --consonant-merch-card-mini-compare-footer-height: 0; /* inline SVGs */ --checkmark-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xml:space='preserve' viewBox='0 0 10 10'%3E%3Cpath fill='%23fff' d='M3.788 9A.999.999 0 0 1 3 8.615l-2.288-3a1 1 0 1 1 1.576-1.23l1.5 1.991 3.924-4.991a1 1 0 1 1 1.576 1.23l-4.712 6A.999.999 0 0 1 3.788 9z' class='spectrum-UIIcon--medium'/%3E%3C/svg%3E%0A"); @@ -520,11 +472,12 @@ merch-card [slot='heading-m-price'] { line-height: var(--consonant-merch-card-heading-m-line-height); font-weight: 700; margin: 0; + padding-bottom: var(--consonant-merch-spacing-xxs); color: var(--merch-color-grey-80); } merch-card [slot='offers'] { - padding: var(--consonant-merch-spacing-xxs) var(--consonant-merch-spacing-s); + padding: 0 var(--consonant-merch-spacing-s); } merch-card [slot='heading-l'] { @@ -667,20 +620,6 @@ merch-card[variant="mini-compare-chart"] [slot="footer"] { padding-top: var(--consonant-merch-spacing-xs); } -merch-card[variant="mini-compare-chart"] [slot="footer"] a.con-button:first-child { - margin-left: 0; -} - -merch-card[variant="mini-compare-chart"] [slot="footer"] .action-area { - display: flex; - justify-content: flex-end; -} - -merch-card[variant="mini-compare-chart"] [slot="footer"] a.con-button { - margin-bottom: var(--consonant-merch-spacing-xs); - display: inline-flex; -} - merch-card[variant="mini-compare-chart"] .footer-row-icon { display: flex; place-items: center; @@ -716,69 +655,19 @@ merch-card[variant="mini-compare-chart"] .footer-row-cell-description a { text-decoration: solid; } -@media screen and ${d} { - - merch-card[variant="mini-compare-chart"] .mini-compare-chart-badge + [slot='heading-m'] { - margin-top: var(--consonant-merch-spacing-m); - } - - merch-card[variant="mini-compare-chart"] [slot='heading-m'] { - font-size: var(--consonant-merch-card-body-s-font-size); - line-height: var(--consonant-merch-card-body-s-line-height); - } - - merch-card[variant="mini-compare-chart"] [slot='body-m'] { - font-size: var(--consonant-merch-card-body-xs-font-size); - line-height: var(--consonant-merch-card-body-xs-line-height); - } - - merch-card[variant="mini-compare-chart"] [slot="offers"] { - padding: var(--consonant-merch-spacing-xs); - } - - merch-card[variant="mini-compare-chart"] [slot='heading-m-price'] { - font-size: var(--consonant-merch-card-body-s-font-size); - } - +@media screen and ${l} { merch-card[variant="mini-compare-chart"] .footer-row-cell { flex-direction: column; place-items: flex-start; - gap: 0px; } merch-card[variant="mini-compare-chart"] .footer-row-icon { - margin-bottom: var(--consonant-merch-spacing-xs); - } - - merch-card[variant="mini-compare-chart"] .footer-row-cell-description { - font-size: var(--consonant-merch-card-body-xs-font-size); - line-height: var(--consonant-merch-card-body-xs-line-height); - } - - merch-card[variant="mini-compare-chart"] [slot="footer"] { - margin-bottom: var(--consonant-merch-spacing-xxs); - } - - merch-card[variant="mini-compare-chart"] [slot="footer"] .action-area { - display: block; - } - - merch-card[variant="mini-compare-chart"] [slot="footer"] a.con-button { - margin-left: 0; - padding: 4px 18px 5px 21px; - font-size: var(--consonant-merch-card-mini-compare-mobile-cta-font-size); - width: var(--consonant-merch-card-mini-compare-mobile-cta-width); - text-align: center; - } - - merch-card[variant="mini-compare-chart"] [slot="footer"] a.con-button:first-child { - margin-bottom: var(--consonant-merch-spacing-xs); + padding-bottom: var(--consonant-merch-spacing-xs); } } div[slot="footer"] a.con-button { margin-left: var(--consonant-merch-spacing-xs); - width: max-content; } div[slot="footer"] a:not([class]) { @@ -797,7 +686,7 @@ div[slot='bg-image'] img { } /* Mobile */ -@media screen and ${d} { +@media screen and ${l} { :root { --consonant-merch-card-mini-compare-chart-width: 142px; --consonant-merch-card-special-offers-width: 302px; @@ -1065,25 +954,17 @@ div[slot='bg-image'] img { } /* Mobile */ -@media screen and ${d} { - .one-merch-card.mini-compare-chart { - grid-template-columns: repeat(1, minmax(300px, var(--consonant-merch-card-mini-compare-chart-width))); - gap: var(--consonant-merch-spacing-xs); - } +@media screen and ${l} { + .one-merch-card.mini-compare-chart, .two-merch-cards.mini-compare-chart, .three-merch-cards.mini-compare-chart, .four-merch-cards.mini-compare-chart { - grid-template-columns: repeat(2, minmax(142px, var(--consonant-merch-card-mini-compare-chart-width))); - gap: var(--consonant-merch-spacing-xs); + grid-template-columns: repeat(1, minmax(300px, var(--consonant-merch-card-mini-compare-chart-width))); } } /* Tablet */ @media screen and ${i} { - .one-merch-card.mini-compare-chart { - grid-template-columns: repeat(1, minmax(300px, var(--consonant-merch-card-mini-compare-chart-width))); - } - .two-merch-cards.mini-compare-chart, .three-merch-cards.mini-compare-chart, .four-merch-cards.mini-compare-chart { @@ -1144,9 +1025,9 @@ merch-card .footer-row-cell:nth-child(8) { min-height: var(--consonant-merch-card-footer-row-8-min-height); } -`;document.head.appendChild(S);var A="MERCH-CARD",M="merch-card",P=32,b="mini-compare-chart",L=m=>`--consonant-merch-card-footer-row-${m}-min-height`,y=class extends O{static properties={name:{type:String},variant:{type:String,reflect:!0},size:{type:String,attribute:"size",reflect:!0},badgeColor:{type:String,attribute:"badge-color"},badgeBackgroundColor:{type:String,attribute:"badge-background-color"},badgeText:{type:String,attribute:"badge-text"},icons:{type:Array},actionMenu:{type:Boolean,attribute:"action-menu"},actionMenuContent:{type:String,attribute:"action-menu-content"},title:{type:String},description:{type:String},customHr:{type:Boolean,attribute:"custom-hr"},detailBg:{type:String,attribute:"detail-bg"},secureLabel:{type:String,attribute:"secure-label"},checkboxLabel:{type:String,attribute:"checkbox-label"},stockOfferOsis:{type:Object,attribute:"stock-offer-osis",converter:{fromAttribute:e=>{let[r,t,n]=e.split(",");return{PUF:r,ABM:t,M2M:n}}}},filters:{type:String,reflect:!0,converter:{fromAttribute:e=>Object.fromEntries(e.split(",").map(r=>{let[t,n,o]=r.split(":"),h=Number(n);return[t,{order:isNaN(h)?void 0:h,size:o}]})),toAttribute:e=>Object.entries(e).map(([r,{order:t,size:n}])=>[r,t,n].filter(o=>o!=null).join(":")).join(",")}},types:{type:String,attribute:"types",reflect:!0}};static styles=[w,...k()];constructor(){super(),this.filters={},this.types=""}#e;get body(){return this.shadowRoot.querySelector(".body")}get priceSlot(){return this.querySelector('[slot="heading-m-price"]')}get priceCommitmentSlot(){return this.querySelector('[slot="price-commitment"]')}get offers(){return this.querySelector('[slot="offers"]')}get promoText(){return this.querySelector('[slot="promo-text"]')}get footer(){return this.shadowRoot.querySelector("footer")}updated(e){e.has("badgeBackgroundColor")&&(this.style.border=`1px solid ${this.badgeBackgroundColor}`),this.updateComplete.then(async()=>{this.adjustInnerContent(),this.adjustFooterRows()})}renderIcons(){return this.icons&&this.icons.length>0?a` +`;document.head.appendChild(C);var S="MERCH-CARD",M="merch-card",_=32,A="mini-compare-chart",L=h=>`--consonant-merch-card-footer-row-${h}-min-height`,b=class extends T{static properties={name:{type:String},variant:{type:String,reflect:!0},size:{type:String,attribute:"size",reflect:!0},badgeColor:{type:String,attribute:"badge-color"},badgeBackgroundColor:{type:String,attribute:"badge-background-color"},badgeText:{type:String,attribute:"badge-text"},icons:{type:Array},actionMenu:{type:Boolean,attribute:"action-menu"},actionMenuContent:{type:String,attribute:"action-menu-content"},title:{type:String},description:{type:String},customHr:{type:Boolean,attribute:"custom-hr"},detailBg:{type:String,attribute:"detail-bg"},secureLabel:{type:String,attribute:"secure-label"},checkboxLabel:{type:String,attribute:"checkbox-label"},stockOfferOsis:{type:Object,attribute:"stock-offer-osis",converter:{fromAttribute:e=>{let[r,t,a]=e.split(",");return{PUF:r,ABM:t,M2M:a}}}},filters:{type:String,reflect:!0,converter:{fromAttribute:e=>Object.fromEntries(e.split(",").map(r=>{let[t,a,o]=r.split(":"),d=Number(a);return[t,{order:isNaN(d)?void 0:d,size:o}]})),toAttribute:e=>Object.entries(e).map(([r,{order:t,size:a}])=>[r,t,a].filter(o=>o!=null).join(":")).join(",")}},types:{type:String,attribute:"types",reflect:!0}};static styles=[y,...w()];constructor(){super(),this.filters={},this.types=""}#e;updated(e){e.has("badgeBackgroundColor")&&(this.style.border=`1px solid ${this.badgeBackgroundColor}`),this.updateComplete.then(()=>this.adjustFooterRows())}renderIcons(){return this.icons&&this.icons.length>0?n`
- ${this.icons.map(e=>{let r=this.querySelector('div[slot="body-xs"]')?.querySelector('a[href$="#mnemonic-link"]');return r&&(r.href=r.href.replace("#mnemonic-link","")),r?a` + ${this.icons.map(e=>{let r=this.querySelector('div[slot="body-xs"]')?.querySelector('a[href$="#mnemonic-link"]');return r&&(r.href=r.href.replace("#mnemonic-link","")),r?n` - `:a`${e.alt}`})}
- `:""}get evergreen(){return this.classList.contains("intro-pricing")}get stockCheckbox(){return this.checkboxLabel?a`