@edx/frontend-platform 8.3.6 → 8.3.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@edx/frontend-platform",
3
- "version": "8.3.6",
3
+ "version": "8.3.8",
4
4
  "description": "Foundational application framework for Open edX micro-frontend applications.",
5
5
  "main": "index.js",
6
6
  "publishConfig": {
@@ -149,36 +149,41 @@ var useParagonThemeUrls = function useParagonThemeUrls() {
149
149
  if (!coreCss["default"]) {
150
150
  coreCss["default"] = fallbackThemeUrl(localParagonCoreUrl === null || localParagonCoreUrl === void 0 ? void 0 : localParagonCoreUrl.fileName);
151
151
  }
152
- if (!coreCss.brandOverride && localBrandCoreUrl) {
152
+ if (!coreCss.brandOverride && !isEmptyObject(localBrandCoreUrl)) {
153
153
  coreCss.brandOverride = fallbackThemeUrl(localBrandCoreUrl === null || localBrandCoreUrl === void 0 ? void 0 : localBrandCoreUrl.fileName);
154
154
  }
155
- if (isEmptyObject(themeVariantsCss)) {
156
- Object.entries(localParagonThemeVariants).forEach(function (_ref5) {
157
- var _ref6 = _slicedToArray(_ref5, 2),
158
- themeVariant = _ref6[0],
159
- _ref4 = _ref6[1];
160
- var fileName = _ref4.fileName,
161
- rest = _objectWithoutProperties(_ref4, _excluded);
155
+ Object.entries(localParagonThemeVariants).forEach(function (_ref5) {
156
+ var _themeVariantsCss$the;
157
+ var _ref6 = _slicedToArray(_ref5, 2),
158
+ themeVariant = _ref6[0],
159
+ _ref4 = _ref6[1];
160
+ var fileName = _ref4.fileName,
161
+ rest = _objectWithoutProperties(_ref4, _excluded);
162
+ if (!((_themeVariantsCss$the = themeVariantsCss[themeVariant]) !== null && _themeVariantsCss$the !== void 0 && (_themeVariantsCss$the = _themeVariantsCss$the.urls) !== null && _themeVariantsCss$the !== void 0 && _themeVariantsCss$the["default"])) {
163
+ var _themeVariantsCss$the2;
162
164
  themeVariantsCss[themeVariant] = {
163
- urls: _objectSpread({
165
+ urls: _objectSpread(_objectSpread({}, (_themeVariantsCss$the2 = themeVariantsCss[themeVariant]) === null || _themeVariantsCss$the2 === void 0 ? void 0 : _themeVariantsCss$the2.urls), {}, {
164
166
  "default": fallbackThemeUrl(fileName)
165
167
  }, rest.urls)
166
168
  };
167
- });
168
- Object.entries(localBrandThemeVariants).forEach(function (_ref8) {
169
- var _themeVariantsCss$the;
170
- var _ref9 = _slicedToArray(_ref8, 2),
171
- themeVariant = _ref9[0],
172
- _ref7 = _ref9[1];
173
- var fileName = _ref7.fileName,
174
- rest = _objectWithoutProperties(_ref7, _excluded2);
169
+ }
170
+ });
171
+ Object.entries(localBrandThemeVariants).forEach(function (_ref8) {
172
+ var _themeVariantsCss$the3;
173
+ var _ref9 = _slicedToArray(_ref8, 2),
174
+ themeVariant = _ref9[0],
175
+ _ref7 = _ref9[1];
176
+ var fileName = _ref7.fileName,
177
+ rest = _objectWithoutProperties(_ref7, _excluded2);
178
+ if (!((_themeVariantsCss$the3 = themeVariantsCss[themeVariant]) !== null && _themeVariantsCss$the3 !== void 0 && (_themeVariantsCss$the3 = _themeVariantsCss$the3.urls) !== null && _themeVariantsCss$the3 !== void 0 && _themeVariantsCss$the3.brandOverride)) {
179
+ var _themeVariantsCss$the4;
175
180
  themeVariantsCss[themeVariant] = {
176
- urls: _objectSpread(_objectSpread({
181
+ urls: _objectSpread(_objectSpread({}, (_themeVariantsCss$the4 = themeVariantsCss[themeVariant]) === null || _themeVariantsCss$the4 === void 0 ? void 0 : _themeVariantsCss$the4.urls), {}, {
177
182
  brandOverride: fallbackThemeUrl(fileName)
178
- }, rest.urls), (_themeVariantsCss$the = themeVariantsCss[themeVariant]) === null || _themeVariantsCss$the === void 0 ? void 0 : _themeVariantsCss$the.urls)
183
+ }, rest.urls)
179
184
  };
180
- });
181
- }
185
+ }
186
+ });
182
187
  return {
183
188
  core: {
184
189
  urls: coreCss
@@ -1 +1 @@
1
- {"version":3,"file":"useParagonThemeUrls.js","names":["useMemo","fallbackThemeUrl","isEmptyObject","getConfig","handleVersionSubstitution","_ref","url","wildcardKeyword","localVersion","includes","replaceAll","useParagonThemeUrls","_paragonThemeUrls$cor","_paragonThemeUrls$cor2","_paragonThemeUrls$cor3","_PARAGON_THEME","_PARAGON_THEME2","_getConfig","paragonThemeUrls","PARAGON_THEME_URLS","undefined","paragonCoreCssUrl","_typeof","core","urls","brandCoreCssUrl","brandOverride","defaultThemeVariants","defaults","localParagonVersion","PARAGON_THEME","paragon","version","localBrandVersion","brand","coreCss","themeVariantsCss","themeVariantsEntries","Object","entries","variants","forEach","_ref2","_ref3","_slicedToArray","themeVariant","_ref3$","themeVariantMetadata","_PARAGON_THEME3","_PARAGON_THEME4","_PARAGON_THEME5","_PARAGON_THEME6","_PARAGON_THEME7","_PARAGON_THEME8","localParagonCoreUrl","themeUrls","localParagonThemeVariants","localParagonDefaultThemeVariants","localBrandCoreUrl","localBrandThemeVariants","localBrandDefaultThemeVariants","fileName","_ref5","_ref6","_ref4","rest","_objectWithoutProperties","_excluded","_objectSpread","_ref8","_themeVariantsCss$the","_ref9","_ref7","_excluded2"],"sources":["../../../../src/react/hooks/paragon/useParagonThemeUrls.js"],"sourcesContent":["import { useMemo } from 'react';\n\nimport { fallbackThemeUrl, isEmptyObject } from './utils';\nimport { getConfig } from '../../../config';\n\n/**\n * Replaces a wildcard in the URL string with a provided local version string.\n * This is typically used to substitute a version placeholder (e.g., `$paragonVersion`)\n * in URLs with actual version values.\n *\n * @param {Object} args - The arguments object for version substitution.\n * @param {string} args.url - The URL string that may contain a wildcard keyword (e.g., `$paragonVersion`).\n * @param {string} args.wildcardKeyword - The keyword (e.g., `$paragonVersion`) in the URL to be replaced\n * with the local version.\n * @param {string} args.localVersion - The local version string to replace the wildcard with.\n *\n * @returns {string} The URL with the wildcard keyword replaced by the provided version string.\n * If the conditions are not met (e.g., missing URL or version), the original URL is returned.\n *\n * @example\n * const url = 'https://cdn.example.com/$paragonVersion/theme.css';\n * const version = '1.0.0';\n * const updatedUrl = handleVersionSubstitution({ url, wildcardKeyword: '$paragonVersion', localVersion: version });\n * console.log(updatedUrl); // Outputs: 'https://cdn.example.com/1.0.0/theme.css'\n */\nexport const handleVersionSubstitution = ({ url, wildcardKeyword, localVersion }) => {\n if (!url || !url.includes(wildcardKeyword) || !localVersion) {\n return url;\n }\n return url.replaceAll(wildcardKeyword, localVersion);\n};\n\n/**\n * Custom React hook that retrieves the Paragon theme URLs, including the core theme CSS and any theme variants.\n * It supports version substitution for the Paragon and brand versions and returns a structured object containing\n * the URLs. The hook also handles fallback scenarios when the URLs are unavailable in the configuration or when\n * version substitution is required.\n *\n * @returns {Object|undefined} An object containing:\n * - `core`: The core theme URLs (including default and brand override).\n * - `defaults`: Any default theme variants.\n * - `variants`: The URLs for any additional theme variants (default and brand override).\n *\n * If the required URLs are not available or cannot be determined, `undefined` is returned.\n *\n * @example\n * const themeUrls = useParagonThemeUrls();\n * if (themeUrls) {\n * console.log(themeUrls.core.urls.default); // Outputs the URL of the core theme CSS\n * console.log(themeUrls.variants['dark'].urls.default); // Outputs the URL of the dark theme variant CSS\n * }\n *\n */\nconst useParagonThemeUrls = () => useMemo(() => {\n const { PARAGON_THEME_URLS: paragonThemeUrls } = getConfig();\n if (!paragonThemeUrls) {\n return undefined;\n }\n\n const paragonCoreCssUrl = typeof paragonThemeUrls?.core?.urls === 'object' ? paragonThemeUrls.core.urls.default : paragonThemeUrls?.core?.url;\n const brandCoreCssUrl = typeof paragonThemeUrls?.core?.urls === 'object' ? paragonThemeUrls.core.urls.brandOverride : undefined;\n const defaultThemeVariants = paragonThemeUrls.defaults;\n\n // Local versions of @openedx/paragon and @edx/brand\n // these are only used when passed into handleVersionSubstitution\n // which does not attempt substitution using falsy value\n const localParagonVersion = PARAGON_THEME?.paragon?.version;\n const localBrandVersion = PARAGON_THEME?.brand?.version;\n\n const coreCss = {\n default: handleVersionSubstitution({ url: paragonCoreCssUrl, wildcardKeyword: '$paragonVersion', localVersion: localParagonVersion }),\n brandOverride: handleVersionSubstitution({ url: brandCoreCssUrl, wildcardKeyword: '$brandVersion', localVersion: localBrandVersion }),\n };\n const themeVariantsCss = {};\n const themeVariantsEntries = Object.entries(paragonThemeUrls.variants || {});\n themeVariantsEntries.forEach(([themeVariant, { url, urls }]) => {\n const themeVariantMetadata = { urls: null };\n if (url) {\n themeVariantMetadata.urls = {\n default: handleVersionSubstitution({\n url,\n wildcardKeyword: '$paragonVersion',\n localVersion: localParagonVersion,\n }),\n };\n } else {\n themeVariantMetadata.urls = {\n default: handleVersionSubstitution({\n url: urls.default,\n wildcardKeyword: '$paragonVersion',\n localVersion: localParagonVersion,\n }),\n brandOverride: handleVersionSubstitution({\n url: urls.brandOverride,\n wildcardKeyword: '$brandVersion',\n localVersion: localBrandVersion,\n }),\n };\n }\n themeVariantsCss[themeVariant] = themeVariantMetadata;\n });\n\n // If we don't have the core default or any theme variants, use the PARAGON_THEME\n if (!coreCss.default || isEmptyObject(themeVariantsCss) || isEmptyObject(defaultThemeVariants)) {\n const localParagonCoreUrl = PARAGON_THEME?.paragon?.themeUrls?.core;\n const localParagonThemeVariants = PARAGON_THEME?.paragon?.themeUrls?.variants;\n const localParagonDefaultThemeVariants = PARAGON_THEME?.paragon?.themeUrls?.defaults;\n\n const localBrandCoreUrl = PARAGON_THEME?.brand?.themeUrls?.core;\n const localBrandThemeVariants = PARAGON_THEME?.brand?.themeUrls?.variants;\n const localBrandDefaultThemeVariants = PARAGON_THEME?.brand?.themeUrls?.defaults;\n\n if (isEmptyObject(localParagonCoreUrl) || isEmptyObject(localParagonThemeVariants)) {\n return undefined;\n }\n if (!coreCss.default) {\n coreCss.default = fallbackThemeUrl(localParagonCoreUrl?.fileName);\n }\n\n if (!coreCss.brandOverride && localBrandCoreUrl) {\n coreCss.brandOverride = fallbackThemeUrl(localBrandCoreUrl?.fileName);\n }\n\n if (isEmptyObject(themeVariantsCss)) {\n Object.entries(localParagonThemeVariants).forEach(([themeVariant, { fileName, ...rest }]) => {\n themeVariantsCss[themeVariant] = {\n urls: { default: fallbackThemeUrl(fileName), ...rest.urls },\n };\n });\n\n Object.entries(localBrandThemeVariants).forEach(([themeVariant, { fileName, ...rest }]) => {\n themeVariantsCss[themeVariant] = {\n urls: { brandOverride: fallbackThemeUrl(fileName), ...rest.urls, ...themeVariantsCss[themeVariant]?.urls },\n };\n });\n }\n\n return {\n core: { urls: coreCss },\n defaults: defaultThemeVariants || { ...localParagonDefaultThemeVariants, ...localBrandDefaultThemeVariants },\n variants: themeVariantsCss,\n };\n }\n\n return {\n core: { urls: coreCss },\n defaults: defaultThemeVariants,\n variants: themeVariantsCss,\n };\n}, []);\n\nexport default useParagonThemeUrls;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"useParagonThemeUrls.js","names":["useMemo","fallbackThemeUrl","isEmptyObject","getConfig","handleVersionSubstitution","_ref","url","wildcardKeyword","localVersion","includes","replaceAll","useParagonThemeUrls","_paragonThemeUrls$cor","_paragonThemeUrls$cor2","_paragonThemeUrls$cor3","_PARAGON_THEME","_PARAGON_THEME2","_getConfig","paragonThemeUrls","PARAGON_THEME_URLS","undefined","paragonCoreCssUrl","_typeof","core","urls","brandCoreCssUrl","brandOverride","defaultThemeVariants","defaults","localParagonVersion","PARAGON_THEME","paragon","version","localBrandVersion","brand","coreCss","themeVariantsCss","themeVariantsEntries","Object","entries","variants","forEach","_ref2","_ref3","_slicedToArray","themeVariant","_ref3$","themeVariantMetadata","_PARAGON_THEME3","_PARAGON_THEME4","_PARAGON_THEME5","_PARAGON_THEME6","_PARAGON_THEME7","_PARAGON_THEME8","localParagonCoreUrl","themeUrls","localParagonThemeVariants","localParagonDefaultThemeVariants","localBrandCoreUrl","localBrandThemeVariants","localBrandDefaultThemeVariants","fileName","_ref5","_themeVariantsCss$the","_ref6","_ref4","rest","_objectWithoutProperties","_excluded","_themeVariantsCss$the2","_objectSpread","_ref8","_themeVariantsCss$the3","_ref9","_ref7","_excluded2","_themeVariantsCss$the4"],"sources":["../../../../src/react/hooks/paragon/useParagonThemeUrls.js"],"sourcesContent":["import { useMemo } from 'react';\n\nimport { fallbackThemeUrl, isEmptyObject } from './utils';\nimport { getConfig } from '../../../config';\n\n/**\n * Replaces a wildcard in the URL string with a provided local version string.\n * This is typically used to substitute a version placeholder (e.g., `$paragonVersion`)\n * in URLs with actual version values.\n *\n * @param {Object} args - The arguments object for version substitution.\n * @param {string} args.url - The URL string that may contain a wildcard keyword (e.g., `$paragonVersion`).\n * @param {string} args.wildcardKeyword - The keyword (e.g., `$paragonVersion`) in the URL to be replaced\n * with the local version.\n * @param {string} args.localVersion - The local version string to replace the wildcard with.\n *\n * @returns {string} The URL with the wildcard keyword replaced by the provided version string.\n * If the conditions are not met (e.g., missing URL or version), the original URL is returned.\n *\n * @example\n * const url = 'https://cdn.example.com/$paragonVersion/theme.css';\n * const version = '1.0.0';\n * const updatedUrl = handleVersionSubstitution({ url, wildcardKeyword: '$paragonVersion', localVersion: version });\n * console.log(updatedUrl); // Outputs: 'https://cdn.example.com/1.0.0/theme.css'\n */\nexport const handleVersionSubstitution = ({ url, wildcardKeyword, localVersion }) => {\n if (!url || !url.includes(wildcardKeyword) || !localVersion) {\n return url;\n }\n return url.replaceAll(wildcardKeyword, localVersion);\n};\n\n/**\n * Custom React hook that retrieves the Paragon theme URLs, including the core theme CSS and any theme variants.\n * It supports version substitution for the Paragon and brand versions and returns a structured object containing\n * the URLs. The hook also handles fallback scenarios when the URLs are unavailable in the configuration or when\n * version substitution is required.\n *\n * @returns {Object|undefined} An object containing:\n * - `core`: The core theme URLs (including default and brand override).\n * - `defaults`: Any default theme variants.\n * - `variants`: The URLs for any additional theme variants (default and brand override).\n *\n * If the required URLs are not available or cannot be determined, `undefined` is returned.\n *\n * @example\n * const themeUrls = useParagonThemeUrls();\n * if (themeUrls) {\n * console.log(themeUrls.core.urls.default); // Outputs the URL of the core theme CSS\n * console.log(themeUrls.variants['dark'].urls.default); // Outputs the URL of the dark theme variant CSS\n * }\n *\n */\nconst useParagonThemeUrls = () => useMemo(() => {\n const { PARAGON_THEME_URLS: paragonThemeUrls } = getConfig();\n if (!paragonThemeUrls) {\n return undefined;\n }\n const paragonCoreCssUrl = typeof paragonThemeUrls?.core?.urls === 'object' ? paragonThemeUrls.core.urls.default : paragonThemeUrls?.core?.url;\n const brandCoreCssUrl = typeof paragonThemeUrls?.core?.urls === 'object' ? paragonThemeUrls.core.urls.brandOverride : undefined;\n const defaultThemeVariants = paragonThemeUrls.defaults;\n\n // Local versions of @openedx/paragon and @edx/brand\n // these are only used when passed into handleVersionSubstitution\n // which does not attempt substitution using falsy value\n const localParagonVersion = PARAGON_THEME?.paragon?.version;\n const localBrandVersion = PARAGON_THEME?.brand?.version;\n\n const coreCss = {\n default: handleVersionSubstitution({ url: paragonCoreCssUrl, wildcardKeyword: '$paragonVersion', localVersion: localParagonVersion }),\n brandOverride: handleVersionSubstitution({ url: brandCoreCssUrl, wildcardKeyword: '$brandVersion', localVersion: localBrandVersion }),\n };\n const themeVariantsCss = {};\n const themeVariantsEntries = Object.entries(paragonThemeUrls.variants || {});\n themeVariantsEntries.forEach(([themeVariant, { url, urls }]) => {\n const themeVariantMetadata = { urls: null };\n if (url) {\n themeVariantMetadata.urls = {\n default: handleVersionSubstitution({\n url,\n wildcardKeyword: '$paragonVersion',\n localVersion: localParagonVersion,\n }),\n };\n } else {\n themeVariantMetadata.urls = {\n default: handleVersionSubstitution({\n url: urls.default,\n wildcardKeyword: '$paragonVersion',\n localVersion: localParagonVersion,\n }),\n brandOverride: handleVersionSubstitution({\n url: urls.brandOverride,\n wildcardKeyword: '$brandVersion',\n localVersion: localBrandVersion,\n }),\n };\n }\n themeVariantsCss[themeVariant] = themeVariantMetadata;\n });\n\n // If we don't have the core default or any theme variants, use the PARAGON_THEME\n if (!coreCss.default || isEmptyObject(themeVariantsCss) || isEmptyObject(defaultThemeVariants)) {\n const localParagonCoreUrl = PARAGON_THEME?.paragon?.themeUrls?.core;\n const localParagonThemeVariants = PARAGON_THEME?.paragon?.themeUrls?.variants;\n const localParagonDefaultThemeVariants = PARAGON_THEME?.paragon?.themeUrls?.defaults;\n\n const localBrandCoreUrl = PARAGON_THEME?.brand?.themeUrls?.core;\n const localBrandThemeVariants = PARAGON_THEME?.brand?.themeUrls?.variants;\n const localBrandDefaultThemeVariants = PARAGON_THEME?.brand?.themeUrls?.defaults;\n\n if (isEmptyObject(localParagonCoreUrl) || isEmptyObject(localParagonThemeVariants)) {\n return undefined;\n }\n if (!coreCss.default) {\n coreCss.default = fallbackThemeUrl(localParagonCoreUrl?.fileName);\n }\n\n if (!coreCss.brandOverride && !isEmptyObject(localBrandCoreUrl)) {\n coreCss.brandOverride = fallbackThemeUrl(localBrandCoreUrl?.fileName);\n }\n\n Object.entries(localParagonThemeVariants).forEach(([themeVariant, { fileName, ...rest }]) => {\n if (!themeVariantsCss[themeVariant]?.urls?.default) {\n themeVariantsCss[themeVariant] = {\n urls: { ...themeVariantsCss[themeVariant]?.urls, default: fallbackThemeUrl(fileName), ...rest.urls },\n };\n }\n });\n Object.entries(localBrandThemeVariants).forEach(([themeVariant, { fileName, ...rest }]) => {\n if (!themeVariantsCss[themeVariant]?.urls?.brandOverride) {\n themeVariantsCss[themeVariant] = {\n urls: { ...themeVariantsCss[themeVariant]?.urls, brandOverride: fallbackThemeUrl(fileName), ...rest.urls },\n };\n }\n });\n\n return {\n core: { urls: coreCss },\n defaults: defaultThemeVariants || { ...localParagonDefaultThemeVariants, ...localBrandDefaultThemeVariants },\n variants: themeVariantsCss,\n };\n }\n\n return {\n core: { urls: coreCss },\n defaults: defaultThemeVariants,\n variants: themeVariantsCss,\n };\n}, []);\n\nexport default useParagonThemeUrls;\n"],"mappings":";;;;;;;;;;;;;;;;AAAA,SAASA,OAAO,QAAQ,OAAO;AAE/B,SAASC,gBAAgB,EAAEC,aAAa,QAAQ,SAAS;AACzD,SAASC,SAAS,QAAQ,iBAAiB;;AAE3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,IAAMC,yBAAyB,GAAG,SAA5BA,yBAAyBA,CAAAC,IAAA,EAA+C;EAAA,IAAzCC,GAAG,GAAAD,IAAA,CAAHC,GAAG;IAAEC,eAAe,GAAAF,IAAA,CAAfE,eAAe;IAAEC,YAAY,GAAAH,IAAA,CAAZG,YAAY;EAC5E,IAAI,CAACF,GAAG,IAAI,CAACA,GAAG,CAACG,QAAQ,CAACF,eAAe,CAAC,IAAI,CAACC,YAAY,EAAE;IAC3D,OAAOF,GAAG;EACZ;EACA,OAAOA,GAAG,CAACI,UAAU,CAACH,eAAe,EAAEC,YAAY,CAAC;AACtD,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAMG,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAA;EAAA,OAASX,OAAO,CAAC,YAAM;IAAA,IAAAY,qBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,cAAA,EAAAC,eAAA;IAC9C,IAAAC,UAAA,GAAiDd,SAAS,CAAC,CAAC;MAAhCe,gBAAgB,GAAAD,UAAA,CAApCE,kBAAkB;IAC1B,IAAI,CAACD,gBAAgB,EAAE;MACrB,OAAOE,SAAS;IAClB;IACA,IAAMC,iBAAiB,GAAGC,OAAA,CAAOJ,gBAAgB,aAAhBA,gBAAgB,gBAAAN,qBAAA,GAAhBM,gBAAgB,CAAEK,IAAI,cAAAX,qBAAA,uBAAtBA,qBAAA,CAAwBY,IAAI,MAAK,QAAQ,GAAGN,gBAAgB,CAACK,IAAI,CAACC,IAAI,WAAQ,GAAGN,gBAAgB,aAAhBA,gBAAgB,gBAAAL,sBAAA,GAAhBK,gBAAgB,CAAEK,IAAI,cAAAV,sBAAA,uBAAtBA,sBAAA,CAAwBP,GAAG;IAC7I,IAAMmB,eAAe,GAAGH,OAAA,CAAOJ,gBAAgB,aAAhBA,gBAAgB,gBAAAJ,sBAAA,GAAhBI,gBAAgB,CAAEK,IAAI,cAAAT,sBAAA,uBAAtBA,sBAAA,CAAwBU,IAAI,MAAK,QAAQ,GAAGN,gBAAgB,CAACK,IAAI,CAACC,IAAI,CAACE,aAAa,GAAGN,SAAS;IAC/H,IAAMO,oBAAoB,GAAGT,gBAAgB,CAACU,QAAQ;;IAEtD;IACA;IACA;IACA,IAAMC,mBAAmB,IAAAd,cAAA,GAAGe,aAAa,cAAAf,cAAA,gBAAAA,cAAA,GAAbA,cAAA,CAAegB,OAAO,cAAAhB,cAAA,uBAAtBA,cAAA,CAAwBiB,OAAO;IAC3D,IAAMC,iBAAiB,IAAAjB,eAAA,GAAGc,aAAa,cAAAd,eAAA,gBAAAA,eAAA,GAAbA,eAAA,CAAekB,KAAK,cAAAlB,eAAA,uBAApBA,eAAA,CAAsBgB,OAAO;IAEvD,IAAMG,OAAO,GAAG;MACd,WAAS/B,yBAAyB,CAAC;QAAEE,GAAG,EAAEe,iBAAiB;QAAEd,eAAe,EAAE,iBAAiB;QAAEC,YAAY,EAAEqB;MAAoB,CAAC,CAAC;MACrIH,aAAa,EAAEtB,yBAAyB,CAAC;QAAEE,GAAG,EAAEmB,eAAe;QAAElB,eAAe,EAAE,eAAe;QAAEC,YAAY,EAAEyB;MAAkB,CAAC;IACtI,CAAC;IACD,IAAMG,gBAAgB,GAAG,CAAC,CAAC;IAC3B,IAAMC,oBAAoB,GAAGC,MAAM,CAACC,OAAO,CAACrB,gBAAgB,CAACsB,QAAQ,IAAI,CAAC,CAAC,CAAC;IAC5EH,oBAAoB,CAACI,OAAO,CAAC,UAAAC,KAAA,EAAmC;MAAA,IAAAC,KAAA,GAAAC,cAAA,CAAAF,KAAA;QAAjCG,YAAY,GAAAF,KAAA;QAAAG,MAAA,GAAAH,KAAA;QAAIrC,GAAG,GAAAwC,MAAA,CAAHxC,GAAG;QAAEkB,IAAI,GAAAsB,MAAA,CAAJtB,IAAI;MACtD,IAAMuB,oBAAoB,GAAG;QAAEvB,IAAI,EAAE;MAAK,CAAC;MAC3C,IAAIlB,GAAG,EAAE;QACPyC,oBAAoB,CAACvB,IAAI,GAAG;UAC1B,WAASpB,yBAAyB,CAAC;YACjCE,GAAG,EAAHA,GAAG;YACHC,eAAe,EAAE,iBAAiB;YAClCC,YAAY,EAAEqB;UAChB,CAAC;QACH,CAAC;MACH,CAAC,MAAM;QACLkB,oBAAoB,CAACvB,IAAI,GAAG;UAC1B,WAASpB,yBAAyB,CAAC;YACjCE,GAAG,EAAEkB,IAAI,WAAQ;YACjBjB,eAAe,EAAE,iBAAiB;YAClCC,YAAY,EAAEqB;UAChB,CAAC,CAAC;UACFH,aAAa,EAAEtB,yBAAyB,CAAC;YACvCE,GAAG,EAAEkB,IAAI,CAACE,aAAa;YACvBnB,eAAe,EAAE,eAAe;YAChCC,YAAY,EAAEyB;UAChB,CAAC;QACH,CAAC;MACH;MACAG,gBAAgB,CAACS,YAAY,CAAC,GAAGE,oBAAoB;IACvD,CAAC,CAAC;;IAEF;IACA,IAAI,CAACZ,OAAO,WAAQ,IAAIjC,aAAa,CAACkC,gBAAgB,CAAC,IAAIlC,aAAa,CAACyB,oBAAoB,CAAC,EAAE;MAAA,IAAAqB,eAAA,EAAAC,eAAA,EAAAC,eAAA,EAAAC,eAAA,EAAAC,eAAA,EAAAC,eAAA;MAC9F,IAAMC,mBAAmB,IAAAN,eAAA,GAAGlB,aAAa,cAAAkB,eAAA,gBAAAA,eAAA,GAAbA,eAAA,CAAejB,OAAO,cAAAiB,eAAA,gBAAAA,eAAA,GAAtBA,eAAA,CAAwBO,SAAS,cAAAP,eAAA,uBAAjCA,eAAA,CAAmCzB,IAAI;MACnE,IAAMiC,yBAAyB,IAAAP,eAAA,GAAGnB,aAAa,cAAAmB,eAAA,gBAAAA,eAAA,GAAbA,eAAA,CAAelB,OAAO,cAAAkB,eAAA,gBAAAA,eAAA,GAAtBA,eAAA,CAAwBM,SAAS,cAAAN,eAAA,uBAAjCA,eAAA,CAAmCT,QAAQ;MAC7E,IAAMiB,gCAAgC,IAAAP,eAAA,GAAGpB,aAAa,cAAAoB,eAAA,gBAAAA,eAAA,GAAbA,eAAA,CAAenB,OAAO,cAAAmB,eAAA,gBAAAA,eAAA,GAAtBA,eAAA,CAAwBK,SAAS,cAAAL,eAAA,uBAAjCA,eAAA,CAAmCtB,QAAQ;MAEpF,IAAM8B,iBAAiB,IAAAP,eAAA,GAAGrB,aAAa,cAAAqB,eAAA,gBAAAA,eAAA,GAAbA,eAAA,CAAejB,KAAK,cAAAiB,eAAA,gBAAAA,eAAA,GAApBA,eAAA,CAAsBI,SAAS,cAAAJ,eAAA,uBAA/BA,eAAA,CAAiC5B,IAAI;MAC/D,IAAMoC,uBAAuB,IAAAP,eAAA,GAAGtB,aAAa,cAAAsB,eAAA,gBAAAA,eAAA,GAAbA,eAAA,CAAelB,KAAK,cAAAkB,eAAA,gBAAAA,eAAA,GAApBA,eAAA,CAAsBG,SAAS,cAAAH,eAAA,uBAA/BA,eAAA,CAAiCZ,QAAQ;MACzE,IAAMoB,8BAA8B,IAAAP,eAAA,GAAGvB,aAAa,cAAAuB,eAAA,gBAAAA,eAAA,GAAbA,eAAA,CAAenB,KAAK,cAAAmB,eAAA,gBAAAA,eAAA,GAApBA,eAAA,CAAsBE,SAAS,cAAAF,eAAA,uBAA/BA,eAAA,CAAiCzB,QAAQ;MAEhF,IAAI1B,aAAa,CAACoD,mBAAmB,CAAC,IAAIpD,aAAa,CAACsD,yBAAyB,CAAC,EAAE;QAClF,OAAOpC,SAAS;MAClB;MACA,IAAI,CAACe,OAAO,WAAQ,EAAE;QACpBA,OAAO,WAAQ,GAAGlC,gBAAgB,CAACqD,mBAAmB,aAAnBA,mBAAmB,uBAAnBA,mBAAmB,CAAEO,QAAQ,CAAC;MACnE;MAEA,IAAI,CAAC1B,OAAO,CAACT,aAAa,IAAI,CAACxB,aAAa,CAACwD,iBAAiB,CAAC,EAAE;QAC/DvB,OAAO,CAACT,aAAa,GAAGzB,gBAAgB,CAACyD,iBAAiB,aAAjBA,iBAAiB,uBAAjBA,iBAAiB,CAAEG,QAAQ,CAAC;MACvE;MAEAvB,MAAM,CAACC,OAAO,CAACiB,yBAAyB,CAAC,CAACf,OAAO,CAAC,UAAAqB,KAAA,EAA2C;QAAA,IAAAC,qBAAA;QAAA,IAAAC,KAAA,GAAApB,cAAA,CAAAkB,KAAA;UAAzCjB,YAAY,GAAAmB,KAAA;UAAAC,KAAA,GAAAD,KAAA;QAAA,IAAIH,QAAQ,GAAAI,KAAA,CAARJ,QAAQ;UAAKK,IAAI,GAAAC,wBAAA,CAAAF,KAAA,EAAAG,SAAA;QACnF,IAAI,GAAAL,qBAAA,GAAC3B,gBAAgB,CAACS,YAAY,CAAC,cAAAkB,qBAAA,gBAAAA,qBAAA,GAA9BA,qBAAA,CAAgCvC,IAAI,cAAAuC,qBAAA,eAApCA,qBAAA,WAA6C,GAAE;UAAA,IAAAM,sBAAA;UAClDjC,gBAAgB,CAACS,YAAY,CAAC,GAAG;YAC/BrB,IAAI,EAAA8C,aAAA,CAAAA,aAAA,MAAAD,sBAAA,GAAOjC,gBAAgB,CAACS,YAAY,CAAC,cAAAwB,sBAAA,uBAA9BA,sBAAA,CAAgC7C,IAAI;cAAE,WAASvB,gBAAgB,CAAC4D,QAAQ;YAAC,GAAKK,IAAI,CAAC1C,IAAI;UACpG,CAAC;QACH;MACF,CAAC,CAAC;MACFc,MAAM,CAACC,OAAO,CAACoB,uBAAuB,CAAC,CAAClB,OAAO,CAAC,UAAA8B,KAAA,EAA2C;QAAA,IAAAC,sBAAA;QAAA,IAAAC,KAAA,GAAA7B,cAAA,CAAA2B,KAAA;UAAzC1B,YAAY,GAAA4B,KAAA;UAAAC,KAAA,GAAAD,KAAA;QAAA,IAAIZ,QAAQ,GAAAa,KAAA,CAARb,QAAQ;UAAKK,IAAI,GAAAC,wBAAA,CAAAO,KAAA,EAAAC,UAAA;QACjF,IAAI,GAAAH,sBAAA,GAACpC,gBAAgB,CAACS,YAAY,CAAC,cAAA2B,sBAAA,gBAAAA,sBAAA,GAA9BA,sBAAA,CAAgChD,IAAI,cAAAgD,sBAAA,eAApCA,sBAAA,CAAsC9C,aAAa,GAAE;UAAA,IAAAkD,sBAAA;UACxDxC,gBAAgB,CAACS,YAAY,CAAC,GAAG;YAC/BrB,IAAI,EAAA8C,aAAA,CAAAA,aAAA,MAAAM,sBAAA,GAAOxC,gBAAgB,CAACS,YAAY,CAAC,cAAA+B,sBAAA,uBAA9BA,sBAAA,CAAgCpD,IAAI;cAAEE,aAAa,EAAEzB,gBAAgB,CAAC4D,QAAQ;YAAC,GAAKK,IAAI,CAAC1C,IAAI;UAC1G,CAAC;QACH;MACF,CAAC,CAAC;MAEF,OAAO;QACLD,IAAI,EAAE;UAAEC,IAAI,EAAEW;QAAQ,CAAC;QACvBP,QAAQ,EAAED,oBAAoB,IAAA2C,aAAA,CAAAA,aAAA,KAASb,gCAAgC,GAAKG,8BAA8B,CAAE;QAC5GpB,QAAQ,EAAEJ;MACZ,CAAC;IACH;IAEA,OAAO;MACLb,IAAI,EAAE;QAAEC,IAAI,EAAEW;MAAQ,CAAC;MACvBP,QAAQ,EAAED,oBAAoB;MAC9Ba,QAAQ,EAAEJ;IACZ,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;AAAA;AAEN,eAAezB,mBAAmB","ignoreList":[]}
@@ -1,4 +1,3 @@
1
- import { getConfig } from '../../../config';
2
1
  import { basename } from '../../../initialize';
3
2
 
4
3
  /**
@@ -18,7 +17,7 @@ export var removeExistingLinks = function removeExistingLinks(existingLinks) {
18
17
  */
19
18
  export var fallbackThemeUrl = function fallbackThemeUrl(url) {
20
19
  var _window$location;
21
- var baseUrl = getConfig().BASE_URL || ((_window$location = window.location) === null || _window$location === void 0 ? void 0 : _window$location.origin);
20
+ var baseUrl = (_window$location = window.location) === null || _window$location === void 0 ? void 0 : _window$location.origin;
22
21
 
23
22
  // validates if the baseurl has the protocol to be interpreted correctly by the browser,
24
23
  // if is not present add '//' to use Protocol-relative URL
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","names":["getConfig","basename","removeExistingLinks","existingLinks","forEach","link","remove","fallbackThemeUrl","url","_window$location","baseUrl","BASE_URL","window","location","origin","protocol","test","concat","isEmptyObject","obj","Object","keys","length"],"sources":["../../../../src/react/hooks/paragon/utils.js"],"sourcesContent":["import { getConfig } from '../../../config';\nimport { basename } from '../../../initialize';\n\n/**\n * Iterates through each given `<link>` element and removes it from the DOM.\n * @param {HTMLLinkElement[]} existingLinks\n */\nexport const removeExistingLinks = (existingLinks) => {\n existingLinks.forEach((link) => {\n link.remove();\n });\n};\n\n/**\n* Creates the fallback URL for the given theme file.\n* @param {string} url The theme file path.\n* @returns {string} The default theme url.\n*/\nexport const fallbackThemeUrl = (url) => {\n const baseUrl = getConfig().BASE_URL || window.location?.origin;\n\n // validates if the baseurl has the protocol to be interpreted correctly by the browser,\n // if is not present add '//' to use Protocol-relative URL\n const protocol = /^(https?:)?\\/\\//.test(baseUrl) ? '' : '//';\n\n return `${protocol}${baseUrl}${basename}${url}`;\n};\n\nexport const isEmptyObject = (obj) => !obj || Object.keys(obj).length === 0;\n"],"mappings":"AAAA,SAASA,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,QAAQ,QAAQ,qBAAqB;;AAE9C;AACA;AACA;AACA;AACA,OAAO,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAIC,aAAa,EAAK;EACpDA,aAAa,CAACC,OAAO,CAAC,UAACC,IAAI,EAAK;IAC9BA,IAAI,CAACC,MAAM,CAAC,CAAC;EACf,CAAC,CAAC;AACJ,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,OAAO,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAIC,GAAG,EAAK;EAAA,IAAAC,gBAAA;EACvC,IAAMC,OAAO,GAAGV,SAAS,CAAC,CAAC,CAACW,QAAQ,MAAAF,gBAAA,GAAIG,MAAM,CAACC,QAAQ,cAAAJ,gBAAA,uBAAfA,gBAAA,CAAiBK,MAAM;;EAE/D;EACA;EACA,IAAMC,QAAQ,GAAG,iBAAiB,CAACC,IAAI,CAACN,OAAO,CAAC,GAAG,EAAE,GAAG,IAAI;EAE5D,UAAAO,MAAA,CAAUF,QAAQ,EAAAE,MAAA,CAAGP,OAAO,EAAAO,MAAA,CAAGhB,QAAQ,EAAAgB,MAAA,CAAGT,GAAG;AAC/C,CAAC;AAED,OAAO,IAAMU,aAAa,GAAG,SAAhBA,aAAaA,CAAIC,GAAG;EAAA,OAAK,CAACA,GAAG,IAAIC,MAAM,CAACC,IAAI,CAACF,GAAG,CAAC,CAACG,MAAM,KAAK,CAAC;AAAA","ignoreList":[]}
1
+ {"version":3,"file":"utils.js","names":["basename","removeExistingLinks","existingLinks","forEach","link","remove","fallbackThemeUrl","url","_window$location","baseUrl","window","location","origin","protocol","test","concat","isEmptyObject","obj","Object","keys","length"],"sources":["../../../../src/react/hooks/paragon/utils.js"],"sourcesContent":["import { basename } from '../../../initialize';\n\n/**\n * Iterates through each given `<link>` element and removes it from the DOM.\n * @param {HTMLLinkElement[]} existingLinks\n */\nexport const removeExistingLinks = (existingLinks) => {\n existingLinks.forEach((link) => {\n link.remove();\n });\n};\n\n/**\n* Creates the fallback URL for the given theme file.\n* @param {string} url The theme file path.\n* @returns {string} The default theme url.\n*/\nexport const fallbackThemeUrl = (url) => {\n const baseUrl = window.location?.origin;\n\n // validates if the baseurl has the protocol to be interpreted correctly by the browser,\n // if is not present add '//' to use Protocol-relative URL\n const protocol = /^(https?:)?\\/\\//.test(baseUrl) ? '' : '//';\n\n return `${protocol}${baseUrl}${basename}${url}`;\n};\n\nexport const isEmptyObject = (obj) => !obj || Object.keys(obj).length === 0;\n"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,qBAAqB;;AAE9C;AACA;AACA;AACA;AACA,OAAO,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAIC,aAAa,EAAK;EACpDA,aAAa,CAACC,OAAO,CAAC,UAACC,IAAI,EAAK;IAC9BA,IAAI,CAACC,MAAM,CAAC,CAAC;EACf,CAAC,CAAC;AACJ,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,OAAO,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAIC,GAAG,EAAK;EAAA,IAAAC,gBAAA;EACvC,IAAMC,OAAO,IAAAD,gBAAA,GAAGE,MAAM,CAACC,QAAQ,cAAAH,gBAAA,uBAAfA,gBAAA,CAAiBI,MAAM;;EAEvC;EACA;EACA,IAAMC,QAAQ,GAAG,iBAAiB,CAACC,IAAI,CAACL,OAAO,CAAC,GAAG,EAAE,GAAG,IAAI;EAE5D,UAAAM,MAAA,CAAUF,QAAQ,EAAAE,MAAA,CAAGN,OAAO,EAAAM,MAAA,CAAGf,QAAQ,EAAAe,MAAA,CAAGR,GAAG;AAC/C,CAAC;AAED,OAAO,IAAMS,aAAa,GAAG,SAAhBA,aAAaA,CAAIC,GAAG;EAAA,OAAK,CAACA,GAAG,IAAIC,MAAM,CAACC,IAAI,CAACF,GAAG,CAAC,CAACG,MAAM,KAAK,CAAC;AAAA","ignoreList":[]}