From 02802847d7ea63c0ab9f5708c3d966d6bf83a996 Mon Sep 17 00:00:00 2001 From: Bozo Jovicic Date: Mon, 22 Dec 2025 12:02:33 +0100 Subject: [PATCH 01/13] MWPW-185252 [M@S] Tax label and Include tax toggle broken --- libs/blocks/ost/ost.js | 139 ++++++++++++++++++++++++++++++++++------- 1 file changed, 116 insertions(+), 23 deletions(-) diff --git a/libs/blocks/ost/ost.js b/libs/blocks/ost/ost.js index 9121fdc29f6..bfc1ddeba92 100644 --- a/libs/blocks/ost/ost.js +++ b/libs/blocks/ost/ost.js @@ -1,5 +1,8 @@ import ctaTextOption from './ctaTextOption.js'; -import { getConfig, getLocale, getMetadata, loadScript, loadStyle } from '../../utils/utils.js'; +import { + getConfig, getLocale, getMetadata, loadScript, loadStyle, createTag, +} from '../../utils/utils.js'; +import { resolvePriceTaxFlags } from '../../deps/mas/commerce.js'; export const AOS_API_KEY = 'wcms-commerce-ims-user-prod'; export const CHECKOUT_CLIENT_ID = 'creative'; @@ -8,12 +11,23 @@ const IMS_COMMERCE_CLIENT_ID = 'aos_milo_commerce'; const IMS_SCOPE = 'AdobeID,openid'; const IMS_ENV = 'prod'; const IMS_PROD_URL = 'https://auth.services.adobe.com/imslib/imslib.min.js'; -const OST_SCRIPT_URL = 'https://mas.adobe.com/studio/ost/index.js'; -const OST_STYLE_URL = 'https://mas.adobe.com/studio/ost/index.css'; +const OST_SCRIPT_URL = '/studio/ost/index.js'; +const OST_STYLE_URL = '/studio/ost/index.css'; /** @see https://git.corp.adobe.com/PandoraUI/core/blob/master/packages/react-env-provider/src/component.tsx#L49 */ export const WCS_ENV = 'PROD'; export const WCS_API_KEY = 'wcms-commerce-ims-ro-user-cc'; export const WCS_LANDSCAPE = 'PUBLISHED'; +export const WCS_LANDSCAPE_DRAFT = 'DRAFT'; +export const LANDSCAPE_URL_PARAM = 'commerce.landscape'; +export const DEFAULTS_URL_PARAM = 'commerce.defaults'; + +function isMasDefaultsEnabled() { + const searchParameters = new URLSearchParams(window.location.search); + const defaults = searchParameters.get(DEFAULTS_URL_PARAM) || 'on'; + return defaults === 'on'; +} + +const masDefaultsEnabled = isMasDefaultsEnabled(); /** * Maps Franklin page metadata to OST properties. @@ -31,26 +45,60 @@ const priceDefaultOptions = { exclusive: false, }; -const updateParams = (params, key, value) => { - if (value !== priceDefaultOptions[key]) { +const updateParams = (params, key, value, opts) => { + if (value !== opts[key]) { params.set(key, value); } }; document.body.classList.add('tool', 'tool-ost'); +/** + * Gets the base URL for loading Tacocat OST build file based on maslibs parameter + * @returns {string|null} Base URL for OST index.js or null if maslibs not present + */ +export function getMasLibsBase() { + const urlParams = new URLSearchParams(window.location.search); + const masLibs = urlParams.get('maslibs'); + + if (!masLibs || masLibs.trim() === '') return 'https://mas.adobe.com'; + + const sanitizedMasLibs = masLibs.trim().toLowerCase(); + + if (sanitizedMasLibs === 'local') { + return 'http://localhost:3030'; + } + if (sanitizedMasLibs === 'main') { + return 'https://mas.adobe.com'; + } + + // Detect current domain extension (.page or .live) + const { hostname } = window.location; + const extension = hostname.endsWith('.page') ? 'page' : 'live'; + + if (sanitizedMasLibs.includes('--mas--')) { + return `https://${sanitizedMasLibs}.aem.${extension}`; + } + if (sanitizedMasLibs.includes('--')) { + return `https://${sanitizedMasLibs}.aem.${extension}`; + } + return `https://${sanitizedMasLibs}--mas--adobecom.aem.${extension}`; +} + /** * @param {Commerce.Defaults} defaults */ -export const createLinkMarkup = ( +export const createLinkMarkup = async ( defaults, offerSelectorId, type, offer, options, promo, + country, ) => { const isCta = !!type?.startsWith('checkout'); + const taxFlags = await resolvePriceTaxFlags(country, null, offer.customer_segment, offer.market_segments[0]); const createHref = () => { const params = new URLSearchParams([ @@ -77,11 +125,17 @@ export const createLinkMarkup = ( displayOldPrice, forceTaxExclusive, } = options; - updateParams(params, 'term', displayRecurrence); - updateParams(params, 'seat', displayPerUnit); - updateParams(params, 'tax', displayTax); - updateParams(params, 'old', displayOldPrice); - updateParams(params, 'exclusive', forceTaxExclusive); + const optsMasDefaults = masDefaultsEnabled ? { + ...priceDefaultOptions, + seat: offer.customer_segment !== 'INDIVIDUAL', + tax: taxFlags.displayTax || priceDefaultOptions.tax, + exclusive: taxFlags.forceTaxExclusive || priceDefaultOptions.exclusive, + } : priceDefaultOptions; + updateParams(params, 'term', displayRecurrence, optsMasDefaults); + updateParams(params, 'seat', displayPerUnit, optsMasDefaults); + updateParams(params, 'tax', displayTax, optsMasDefaults); + updateParams(params, 'old', displayOldPrice, optsMasDefaults); + updateParams(params, 'exclusive', forceTaxExclusive, optsMasDefaults); } return `https://milo.adobe.com/tools/ost?${params.toString()}`; }; @@ -102,36 +156,39 @@ export async function loadOstEnv() { const commerceEnv = searchParameters.get('commerce.env'); if (wcsLandscape || commerceEnv) { if (wcsLandscape) { - searchParameters.set('commerce.landscape', wcsLandscape); + searchParameters.set(LANDSCAPE_URL_PARAM, wcsLandscape); searchParameters.delete('wcsLandscape'); } if (commerceEnv?.toLowerCase() === 'stage') { - searchParameters.set('commerce.landscape', 'DRAFT'); + searchParameters.set(LANDSCAPE_URL_PARAM, WCS_LANDSCAPE_DRAFT); searchParameters.delete('commerce.env'); } window.history.replaceState({}, null, `${window.location.origin}${window.location.pathname}?${searchParameters.toString()}`); } /* c8 ignore next */ const { initService, loadMasComponent, getMasLibs, getMiloLocaleSettings, MAS_COMMERCE_SERVICE } = await import('../merch/merch.js'); - await initService(true, { 'allow-override': 'true' }); + const attributes = { 'allow-override': 'true' }; + if (isMasDefaultsEnabled) { + attributes['data-mas-ff-defaults'] = 'on'; + } + await initService(true, attributes); // Load commerce.js based on masLibs parameter await loadMasComponent(MAS_COMMERCE_SERVICE); // Get the exports - they might be in different places depending on how it was loaded let Log; let Defaults; - let resolvePriceTaxFlags; if (getMasLibs() && window.mas?.commerce) { // Loaded from external URL - check global scope - ({ Log, Defaults, resolvePriceTaxFlags } = window.mas.commerce); + ({ Log, Defaults } = window.mas.commerce); } else { // Loaded as module - ({ Log, Defaults, resolvePriceTaxFlags } = await import('../../deps/mas/commerce.js')); + ({ Log, Defaults } = await import('../../deps/mas/commerce.js')); } const defaultPlaceholderOptions = Object.fromEntries([ ['term', 'displayRecurrence', 'true'], - ['seat', 'displayPerUnit', 'true'], + ['seat', 'displayPerUnit', masDefaultsEnabled ? null : 'true'], ['tax', 'displayTax'], ['old', 'displayOldPrice'], ].map(([key, targetKey, defaultValue = false]) => { @@ -178,7 +235,7 @@ export async function loadOstEnv() { window.history.replaceState({}, null, newURL); const environment = searchParameters.get('env') ?? WCS_ENV; - const landscape = searchParameters.get('commerce.landscape') ?? WCS_LANDSCAPE; + const landscape = searchParameters.get(LANDSCAPE_URL_PARAM) ?? WCS_LANDSCAPE; const owner = searchParameters.get('owner'); const referrer = searchParameters.get('referrer'); const repo = searchParameters.get('repo'); @@ -220,21 +277,23 @@ export async function loadOstEnv() { } } - const onSelect = ( + const onSelect = async ( offerSelectorId, type, offer, options, promoOverride, + country, ) => { log.debug(offerSelectorId, type, offer, options, promoOverride); - const link = createLinkMarkup( + const link = await createLinkMarkup( Defaults, offerSelectorId, type, offer, options, promoOverride, + country, ); log.debug(`Use Link: ${link.outerHTML}`); @@ -265,15 +324,48 @@ export async function loadOstEnv() { }; } +function addToggleSwitch(container, label, checked, onChange) { + const switchDiv = createTag('div', { class: 'spectrum-Switch' }, null, { parent: container }); + const input = createTag('input', { type: 'checkbox', class: 'spectrum-Switch-input', id: 'gb-overlay-toggle' }, null, { parent: switchDiv }); + createTag('span', { class: 'spectrum-Switch-switch' }, null, { parent: switchDiv }); + createTag('label', { class: 'spectrum-Switch-label', for: 'gb-overlay-toggle' }, label, { parent: switchDiv }); + input.checked = checked; + input.addEventListener('change', onChange); +} + +function addToggleSwitches(el, ostEnv) { + const { base } = getConfig(); + loadStyle(`${base}/blocks/graybox/switch.css`); + const toggleContainer = createTag('span', { class: 'toggle-switch' }, null, { parent: el }); + addToggleSwitch(toggleContainer, 'Draft landscape offer', ostEnv.landscape === WCS_LANDSCAPE_DRAFT, (e) => { + const url = new URL(window.location.href); + if (e.target.checked) { + url.searchParams.set(LANDSCAPE_URL_PARAM, WCS_LANDSCAPE_DRAFT); + } else { + url.searchParams.delete(LANDSCAPE_URL_PARAM); + } + window.location.href = url.toString(); + }); + addToggleSwitch(toggleContainer, 'MAS defaults', masDefaultsEnabled, (e) => { + const url = new URL(window.location.href); + if (!e.target.checked) { + url.searchParams.set(DEFAULTS_URL_PARAM, 'off'); + } else { + url.searchParams.delete(DEFAULTS_URL_PARAM); + } + window.location.href = url.toString(); + }); +} + export default async function init(el) { el.innerHTML = '
'; - loadStyle(OST_STYLE_URL); + loadStyle(`${getMasLibsBase()}${OST_STYLE_URL}`); loadStyle('https://use.typekit.net/pps7abe.css'); const [ostEnv] = await Promise.all([ loadOstEnv(), - loadScript(OST_SCRIPT_URL), + loadScript(`${getMasLibsBase()}${OST_SCRIPT_URL}`), ]); function openOst() { @@ -281,6 +373,7 @@ export default async function init(el) { ...ostEnv, rootElement: el.firstElementChild, }); + addToggleSwitches(el, ostEnv); } if (ostEnv.aosAccessToken) { From 85304817c4e035ac214e1c2f5b4e1873304ae126 Mon Sep 17 00:00:00 2001 From: Bozo Jovicic Date: Mon, 22 Dec 2025 12:22:46 +0100 Subject: [PATCH 02/13] MWPW-185252 [M@S] Tax label and Include tax toggle broken --- libs/blocks/ost/ost.js | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/libs/blocks/ost/ost.js b/libs/blocks/ost/ost.js index bfc1ddeba92..8226cdcb484 100644 --- a/libs/blocks/ost/ost.js +++ b/libs/blocks/ost/ost.js @@ -98,7 +98,9 @@ export const createLinkMarkup = async ( country, ) => { const isCta = !!type?.startsWith('checkout'); - const taxFlags = await resolvePriceTaxFlags(country, null, offer.customer_segment, offer.market_segments[0]); + const cs = offer.customer_segment; + const ms = offer.market_segments[0]; + const taxFlags = masDefaultsEnabled ? await resolvePriceTaxFlags(country, null, cs, ms) : {}; const createHref = () => { const params = new URLSearchParams([ @@ -283,7 +285,7 @@ export async function loadOstEnv() { offer, options, promoOverride, - country, + co, ) => { log.debug(offerSelectorId, type, offer, options, promoOverride); const link = await createLinkMarkup( @@ -293,7 +295,7 @@ export async function loadOstEnv() { offer, options, promoOverride, - country, + co, ); log.debug(`Use Link: ${link.outerHTML}`); From 8852c9e45f5074629f4702635602515a4a1f5101 Mon Sep 17 00:00:00 2001 From: Bozo Jovicic Date: Mon, 22 Dec 2025 12:31:18 +0100 Subject: [PATCH 03/13] Trigger Build From e5dda94bc29b86ef406e2aee95ce5c38e81d6854 Mon Sep 17 00:00:00 2001 From: Bozo Jovicic Date: Mon, 22 Dec 2025 12:47:38 +0100 Subject: [PATCH 04/13] MWPW-185252 [M@S] Tax label and Include tax toggle broken --- test/blocks/ost/ost.test.html.js | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/test/blocks/ost/ost.test.html.js b/test/blocks/ost/ost.test.html.js index cfe743f9d81..c7aeb93b40d 100644 --- a/test/blocks/ost/ost.test.html.js +++ b/test/blocks/ost/ost.test.html.js @@ -8,6 +8,8 @@ const perpM2M = { commitment: 'PERPETUAL', name: 'Stock', planType: 'M2M', + customer_segment: 'INDIVIDUAL', + market_segments: ['COM'], }; const defaults = { checkoutWorkflow: 'UCv3', @@ -46,6 +48,7 @@ function createLink(params = {}) { perpM2M, params, params.promo, + 'US', ); } @@ -244,14 +247,14 @@ describe('OST: merch link creation', () => { const type = types.checkoutUrl; it('with default params', async () => { - const link = createLink({ type }); + const link = await createLink({ type }); assertLink(link, perpM2M, { osi, type }); expect({ ...link.dataset }).to.eql({}); }); it('with promo and custom text', async () => { const ctaText = texts.try; - const link = createLink({ ctaText, promo, type }); + const link = await createLink({ ctaText, promo, type }); assertLink(link, perpM2M, { osi, promo, type }, ctaText); }); @@ -260,7 +263,7 @@ describe('OST: merch link creation', () => { const modal = 'd2p'; const entitlement = 'true'; const upgrade = 'false'; - const link = createLink({ ctaText, modal, entitlement, upgrade, type }); + const link = await createLink({ ctaText, modal, entitlement, upgrade, type }); assertLink(link, perpM2M, { osi, modal, entitlement, upgrade, type }, ctaText); }); }); @@ -269,15 +272,15 @@ describe('OST: merch link creation', () => { const type = types.price; it('with default params', async () => { - const link = createLink({ type }); + const link = await createLink({ type }); assertLink(link, perpM2M, { osi, type }); }); it('with default params from OST', async () => { - const link = createLink({ + const link = await createLink({ type, displayRecurrence: true, - displayPerUnit: true, + displayPerUnit: false, displayTax: false, displayOldPrice: false, forceTaxExclusive: false, @@ -290,7 +293,7 @@ describe('OST: merch link creation', () => { const displayPerUnit = true; const displayTax = true; const forceTaxExclusive = true; - const link = createLink({ + const link = await createLink({ displayRecurrence, displayPerUnit, displayTax, From 3d75c806fc2a9c26a5aa6eef930b11608c075964 Mon Sep 17 00:00:00 2001 From: Bozo Jovicic Date: Mon, 22 Dec 2025 14:27:33 +0100 Subject: [PATCH 05/13] MWPW-185252 [M@S] Tax label and Include tax toggle broken --- libs/blocks/ost/ost.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libs/blocks/ost/ost.js b/libs/blocks/ost/ost.js index 8226cdcb484..b750b8ec910 100644 --- a/libs/blocks/ost/ost.js +++ b/libs/blocks/ost/ost.js @@ -170,7 +170,7 @@ export async function loadOstEnv() { /* c8 ignore next */ const { initService, loadMasComponent, getMasLibs, getMiloLocaleSettings, MAS_COMMERCE_SERVICE } = await import('../merch/merch.js'); const attributes = { 'allow-override': 'true' }; - if (isMasDefaultsEnabled) { + if (masDefaultsEnabled) { attributes['data-mas-ff-defaults'] = 'on'; } await initService(true, attributes); From ea5daa52cc20006dff2292485d0af02bb40746c9 Mon Sep 17 00:00:00 2001 From: Bozo Jovicic Date: Mon, 22 Dec 2025 14:59:21 +0100 Subject: [PATCH 06/13] MWPW-185252 [M@S] Tax label and Include tax toggle broken --- libs/blocks/ost/ost.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/libs/blocks/ost/ost.js b/libs/blocks/ost/ost.js index b750b8ec910..4ddc9a42af9 100644 --- a/libs/blocks/ost/ost.js +++ b/libs/blocks/ost/ost.js @@ -2,7 +2,6 @@ import ctaTextOption from './ctaTextOption.js'; import { getConfig, getLocale, getMetadata, loadScript, loadStyle, createTag, } from '../../utils/utils.js'; -import { resolvePriceTaxFlags } from '../../deps/mas/commerce.js'; export const AOS_API_KEY = 'wcms-commerce-ims-user-prod'; export const CHECKOUT_CLIENT_ID = 'creative'; @@ -27,6 +26,7 @@ function isMasDefaultsEnabled() { return defaults === 'on'; } +let masCommerceService; const masDefaultsEnabled = isMasDefaultsEnabled(); /** @@ -100,7 +100,7 @@ export const createLinkMarkup = async ( const isCta = !!type?.startsWith('checkout'); const cs = offer.customer_segment; const ms = offer.market_segments[0]; - const taxFlags = masDefaultsEnabled ? await resolvePriceTaxFlags(country, null, cs, ms) : {}; + const taxFlags = masDefaultsEnabled && masCommerceService ? await masCommerceService.resolvePriceTaxFlags(country, null, cs, ms) : {}; const createHref = () => { const params = new URLSearchParams([ @@ -175,7 +175,7 @@ export async function loadOstEnv() { } await initService(true, attributes); // Load commerce.js based on masLibs parameter - await loadMasComponent(MAS_COMMERCE_SERVICE); + masCommerceService = await loadMasComponent(MAS_COMMERCE_SERVICE); // Get the exports - they might be in different places depending on how it was loaded let Log; @@ -321,7 +321,7 @@ export async function loadOstEnv() { defaultPlaceholderOptions, wcsApiKey: WCS_API_KEY, ctaTextOption, - resolvePriceTaxFlags, + resolvePriceTaxFlags: masCommerceService?.resolvePriceTaxFlags, modalsAndEntitlements: true, }; } From 37db7614f478ddbd43f5c5a7821f0e9268280f63 Mon Sep 17 00:00:00 2001 From: Bozo Jovicic Date: Mon, 22 Dec 2025 15:04:05 +0100 Subject: [PATCH 07/13] MWPW-185252 [M@S] Tax label and Include tax toggle broken --- libs/blocks/ost/ost.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/libs/blocks/ost/ost.js b/libs/blocks/ost/ost.js index 4ddc9a42af9..2c373ae872a 100644 --- a/libs/blocks/ost/ost.js +++ b/libs/blocks/ost/ost.js @@ -100,7 +100,9 @@ export const createLinkMarkup = async ( const isCta = !!type?.startsWith('checkout'); const cs = offer.customer_segment; const ms = offer.market_segments[0]; - const taxFlags = masDefaultsEnabled && masCommerceService ? await masCommerceService.resolvePriceTaxFlags(country, null, cs, ms) : {}; + const taxFlags = masDefaultsEnabled && masCommerceService + ? await masCommerceService.resolvePriceTaxFlags(country, null, cs, ms) + : {}; const createHref = () => { const params = new URLSearchParams([ From 2a12735d5144bfc7858d8fa816a2db572799c20b Mon Sep 17 00:00:00 2001 From: Bozo Jovicic Date: Mon, 22 Dec 2025 15:10:27 +0100 Subject: [PATCH 08/13] Trigger Build From d94170448aa3bf94915498027b44da43c08de4ed Mon Sep 17 00:00:00 2001 From: Bozo Jovicic Date: Fri, 26 Dec 2025 10:44:48 +0100 Subject: [PATCH 09/13] MWPW-185252 [M@S] Tax label and Include tax toggle broken --- libs/blocks/ost/ost.js | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/libs/blocks/ost/ost.js b/libs/blocks/ost/ost.js index 2c373ae872a..f863dd3d6b7 100644 --- a/libs/blocks/ost/ost.js +++ b/libs/blocks/ost/ost.js @@ -55,10 +55,10 @@ document.body.classList.add('tool', 'tool-ost'); /** * Gets the base URL for loading Tacocat OST build file based on maslibs parameter - * @returns {string|null} Base URL for OST index.js or null if maslibs not present + * @returns {string} Base URL for OST index.js */ -export function getMasLibsBase() { - const urlParams = new URLSearchParams(window.location.search); +export function getMasLibsBase(windowObj) { + const urlParams = new URLSearchParams(windowObj.location.search); const masLibs = urlParams.get('maslibs'); if (!masLibs || masLibs.trim() === '') return 'https://mas.adobe.com'; @@ -73,7 +73,7 @@ export function getMasLibsBase() { } // Detect current domain extension (.page or .live) - const { hostname } = window.location; + const { hostname } = windowObj.location; const extension = hostname.endsWith('.page') ? 'page' : 'live'; if (sanitizedMasLibs.includes('--mas--')) { @@ -364,12 +364,12 @@ function addToggleSwitches(el, ostEnv) { export default async function init(el) { el.innerHTML = '
'; - loadStyle(`${getMasLibsBase()}${OST_STYLE_URL}`); + loadStyle(`${getMasLibsBase(window)}${OST_STYLE_URL}`); loadStyle('https://use.typekit.net/pps7abe.css'); const [ostEnv] = await Promise.all([ loadOstEnv(), - loadScript(`${getMasLibsBase()}${OST_SCRIPT_URL}`), + loadScript(`${getMasLibsBase(window)}${OST_SCRIPT_URL}`), ]); function openOst() { From 71ba8cecb19f5cc07437a348399f73e51936b71a Mon Sep 17 00:00:00 2001 From: Bozo Jovicic Date: Thu, 8 Jan 2026 12:43:08 +0100 Subject: [PATCH 10/13] MWPW-185252 [M@S] Tax label and Include tax toggle broken --- libs/blocks/ost/ost.js | 25 +++---------------------- 1 file changed, 3 insertions(+), 22 deletions(-) diff --git a/libs/blocks/ost/ost.js b/libs/blocks/ost/ost.js index f863dd3d6b7..45a2013e024 100644 --- a/libs/blocks/ost/ost.js +++ b/libs/blocks/ost/ost.js @@ -2,6 +2,7 @@ import ctaTextOption from './ctaTextOption.js'; import { getConfig, getLocale, getMetadata, loadScript, loadStyle, createTag, } from '../../utils/utils.js'; +import { initService, loadMasComponent, getMasLibs, getMiloLocaleSettings, MAS_COMMERCE_SERVICE } from '../merch/merch.js'; export const AOS_API_KEY = 'wcms-commerce-ims-user-prod'; export const CHECKOUT_CLIENT_ID = 'creative'; @@ -61,28 +62,9 @@ export function getMasLibsBase(windowObj) { const urlParams = new URLSearchParams(windowObj.location.search); const masLibs = urlParams.get('maslibs'); - if (!masLibs || masLibs.trim() === '') return 'https://mas.adobe.com'; + if (!masLibs || masLibs.trim() === '' || masLibs.trim() === 'main') return 'https://mas.adobe.com'; - const sanitizedMasLibs = masLibs.trim().toLowerCase(); - - if (sanitizedMasLibs === 'local') { - return 'http://localhost:3030'; - } - if (sanitizedMasLibs === 'main') { - return 'https://mas.adobe.com'; - } - - // Detect current domain extension (.page or .live) - const { hostname } = windowObj.location; - const extension = hostname.endsWith('.page') ? 'page' : 'live'; - - if (sanitizedMasLibs.includes('--mas--')) { - return `https://${sanitizedMasLibs}.aem.${extension}`; - } - if (sanitizedMasLibs.includes('--')) { - return `https://${sanitizedMasLibs}.aem.${extension}`; - } - return `https://${sanitizedMasLibs}--mas--adobecom.aem.${extension}`; + return getMasLibs().replace('/web-components/dist', ''); } /** @@ -170,7 +152,6 @@ export async function loadOstEnv() { window.history.replaceState({}, null, `${window.location.origin}${window.location.pathname}?${searchParameters.toString()}`); } /* c8 ignore next */ - const { initService, loadMasComponent, getMasLibs, getMiloLocaleSettings, MAS_COMMERCE_SERVICE } = await import('../merch/merch.js'); const attributes = { 'allow-override': 'true' }; if (masDefaultsEnabled) { attributes['data-mas-ff-defaults'] = 'on'; From 4c8d7a2c8a20c1d6a31bd3aa3912ba3f21d23c80 Mon Sep 17 00:00:00 2001 From: Bozo Jovicic Date: Thu, 8 Jan 2026 12:50:29 +0100 Subject: [PATCH 11/13] Trigger Build From 04d798f4d36520543533ef35f92c526e27e34ded Mon Sep 17 00:00:00 2001 From: Bozo Jovicic Date: Thu, 8 Jan 2026 13:03:36 +0100 Subject: [PATCH 12/13] Trigger Build From 4f04af94768060dc88133515ad66dc64285065f1 Mon Sep 17 00:00:00 2001 From: Bozo Jovicic Date: Thu, 8 Jan 2026 14:21:58 +0100 Subject: [PATCH 13/13] Trigger Build