avada-components-seoon 1.0.6 → 1.0.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/dist/components/CrossAppBanner/index.d.ts.map +1 -1
- package/dist/components/CrossAppBanner/index.js +2 -2
- package/dist/components/CrossAppBanner/index.js.map +1 -1
- package/dist/components/CrossAppBanner/types.d.ts +6 -1
- package/dist/components/CrossAppBanner/types.d.ts.map +1 -1
- package/dist/components/CrossAppBanner/types.js +16 -4
- package/dist/components/CrossAppBanner/types.js.map +1 -1
- package/dist/helpers/formatFullTime.d.ts.map +1 -1
- package/dist/helpers/formatFullTime.js +2 -5
- package/dist/helpers/formatFullTime.js.map +1 -1
- package/package.json +1 -1
- package/dist/index.cjs.js +0 -16
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/CrossAppBanner/index.tsx"],"names":[],"mappings":"AAGA,OAAO,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/CrossAppBanner/index.tsx"],"names":[],"mappings":"AAGA,OAAO,cAAc,CAAC;AAWtB,OAAO,EAKL,uBAAuB,EAGxB,MAAM,SAAS,CAAC;AAGjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,eAAO,MAAM,cAAc,EAAE,uBA0L5B,CAAC;AACF,eAAe,cAAc,CAAC"}
|
|
@@ -6,7 +6,7 @@ import { listCrossApps } from '../../config/constants';
|
|
|
6
6
|
import { getAppIdByOrigin, getCheckInstalledProxyUrl, getProxyAccessToken, } from '../../helpers/getProxyEndPoint';
|
|
7
7
|
import useFetchApi from '../../hooks/api/useFetchApi';
|
|
8
8
|
import { XIcon } from '@shopify/polaris-icons';
|
|
9
|
-
import { APP_IDS, } from './types';
|
|
9
|
+
import { APP_IDS, APP_ID_KEYS, } from './types';
|
|
10
10
|
import { isEmpty } from '../../helpers/isEmpty';
|
|
11
11
|
/**
|
|
12
12
|
* CrossAppBanner Component
|
|
@@ -41,7 +41,7 @@ import { isEmpty } from '../../helpers/isEmpty';
|
|
|
41
41
|
* @param props.appIds - List of app IDs to check in priority order, current support 'avada-seo-suite', 'seoon-blog', 'ai-product-copy', 'ap-speed-optimizer'
|
|
42
42
|
* @returns JSX.Element | null
|
|
43
43
|
*/
|
|
44
|
-
export const CrossAppBanner = ({ shopDomain, clickInstallCallback, appIds =
|
|
44
|
+
export const CrossAppBanner = ({ shopDomain, clickInstallCallback, appIds = APP_ID_KEYS, }) => {
|
|
45
45
|
const [isBannerDismissed, setIsBannerDismissed] = useState(false);
|
|
46
46
|
const [dismissedApps, setDismissedApps] = useState({
|
|
47
47
|
'avada-seo-suite': false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/CrossAppBanner/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAa,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC/F,OAAc,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEnD,OAAO,cAAc,CAAC;AACtB,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EACL,gBAAgB,EAChB,yBAAyB,EACzB,mBAAmB,GACpB,MAAM,gCAAgC,CAAC;AACxC,OAAO,WAAW,MAAM,6BAA6B,CAAC;AAEtD,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/CrossAppBanner/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,12 @@
|
|
|
5
5
|
* const appId: AppIdKeys = 'avada-seo-suite';
|
|
6
6
|
* ```
|
|
7
7
|
*/
|
|
8
|
-
export
|
|
8
|
+
export declare const APP_SEO = "avada-seo-suite";
|
|
9
|
+
export declare const APP_BLOG = "seoon-blog";
|
|
10
|
+
export declare const APP_AI_PRODUCT_COPY = "ai-product-copy";
|
|
11
|
+
export declare const APP_SPEED_OPTIMIZER = "ap-speed-optimizer";
|
|
12
|
+
export declare const APP_ID_KEYS: string[];
|
|
13
|
+
export type AppIdKeys = (typeof APP_ID_KEYS)[number];
|
|
9
14
|
/**
|
|
10
15
|
* App ID values mapped to internal keys
|
|
11
16
|
* @example
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/CrossAppBanner/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,MAAM,SAAS,GAAG,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/CrossAppBanner/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,eAAO,MAAM,OAAO,oBAAoB,CAAC;AACzC,eAAO,MAAM,QAAQ,eAAe,CAAC;AACrC,eAAO,MAAM,mBAAmB,oBAAoB,CAAC;AACrD,eAAO,MAAM,mBAAmB,uBAAuB,CAAC;AAExD,eAAO,MAAM,WAAW,UAAgE,CAAC;AACzF,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;AAErD;;;;;;GAMG;AACH,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;AAE9D;;;;;;GAMG;AACH,eAAO,MAAM,OAAO,EAAE,MAAM,CAAC,SAAS,EAAE,WAAW,CAKlD,CAAC;AAEF;;;;;GAKG;AACH,MAAM,WAAW,sBAAsB;IACrC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,mBAAmB;IAClC,uDAAuD;IACvD,UAAU,EAAE,MAAM,CAAC;IACnB,wDAAwD;IACxD,oBAAoB,CAAC,EAAE,MAAM,IAAI,CAAC;IAClC,4CAA4C;IAC5C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iDAAiD;IACjD,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC;CACtB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,MAAM,uBAAuB,GAAG,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC"}
|
|
@@ -1,3 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* App ID keys for cross-app banner
|
|
3
|
+
* @example
|
|
4
|
+
* ```ts
|
|
5
|
+
* const appId: AppIdKeys = 'avada-seo-suite';
|
|
6
|
+
* ```
|
|
7
|
+
*/
|
|
8
|
+
export const APP_SEO = 'avada-seo-suite';
|
|
9
|
+
export const APP_BLOG = 'seoon-blog';
|
|
10
|
+
export const APP_AI_PRODUCT_COPY = 'ai-product-copy';
|
|
11
|
+
export const APP_SPEED_OPTIMIZER = 'ap-speed-optimizer';
|
|
12
|
+
export const APP_ID_KEYS = [APP_SEO, APP_BLOG, APP_AI_PRODUCT_COPY, APP_SPEED_OPTIMIZER];
|
|
1
13
|
/**
|
|
2
14
|
* Mapping of app IDs to internal keys
|
|
3
15
|
* @example
|
|
@@ -6,9 +18,9 @@
|
|
|
6
18
|
* ```
|
|
7
19
|
*/
|
|
8
20
|
export const APP_IDS = {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
21
|
+
APP_SEO: 'seo',
|
|
22
|
+
APP_BLOG: 'blog',
|
|
23
|
+
APP_AI_PRODUCT_COPY: 'aiCopy',
|
|
24
|
+
APP_SPEED_OPTIMIZER: 'plaza',
|
|
13
25
|
};
|
|
14
26
|
//# sourceMappingURL=types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/components/CrossAppBanner/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/components/CrossAppBanner/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,iBAAiB,CAAC;AACzC,MAAM,CAAC,MAAM,QAAQ,GAAG,YAAY,CAAC;AACrC,MAAM,CAAC,MAAM,mBAAmB,GAAG,iBAAiB,CAAC;AACrD,MAAM,CAAC,MAAM,mBAAmB,GAAG,oBAAoB,CAAC;AAExD,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,mBAAmB,EAAE,mBAAmB,CAAC,CAAC;AAYzF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,OAAO,GAAmC;IACrD,OAAO,EAAE,KAAK;IACd,QAAQ,EAAE,MAAM;IAChB,mBAAmB,EAAE,QAAQ;IAC7B,mBAAmB,EAAE,OAAO;CAC7B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formatFullTime.d.ts","sourceRoot":"","sources":["../../src/helpers/formatFullTime.js"],"names":[],"mappings":"AAeA,iGAQC;
|
|
1
|
+
{"version":3,"file":"formatFullTime.d.ts","sourceRoot":"","sources":["../../src/helpers/formatFullTime.js"],"names":[],"mappings":"AAeA,iGAQC;AAkBD;;;;GAIG;AAEH,kDAHa,MAAM,CASlB"}
|
|
@@ -24,17 +24,14 @@ function formatDateOnly(datetime, timeZone = '') {
|
|
|
24
24
|
if (timeZone !== '') {
|
|
25
25
|
result = new Date(result.toLocaleString('en-US', { timeZone }));
|
|
26
26
|
}
|
|
27
|
-
return
|
|
27
|
+
return fullMonthList[result.getMonth()] + ' ' + result.getDate() + ', ' + result.getFullYear();
|
|
28
28
|
}
|
|
29
29
|
function formatTimeOnly(datetime, timeZone = '') {
|
|
30
30
|
let result = new Date(datetime);
|
|
31
31
|
if (timeZone !== '') {
|
|
32
32
|
result = new Date(result.toLocaleString('en-US', { timeZone }));
|
|
33
33
|
}
|
|
34
|
-
return
|
|
35
|
-
}
|
|
36
|
-
function padZero(n) {
|
|
37
|
-
return n.toString().padStart(2, '0');
|
|
34
|
+
return ('0' + result.getHours()).slice(-2) + ':' + ('0' + result.getMinutes()).slice(-2);
|
|
38
35
|
}
|
|
39
36
|
/**
|
|
40
37
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formatFullTime.js","sourceRoot":"","sources":["../../src/helpers/formatFullTime.js"],"names":[],"mappings":"AAAA,MAAM,aAAa,GAAG;IACpB,SAAS;IACT,UAAU;IACV,OAAO;IACP,OAAO;IACP,KAAK;IACL,MAAM;IACN,MAAM;IACN,QAAQ;IACR,WAAW;IACX,SAAS;IACT,UAAU;IACV,UAAU;CACX,CAAC;AAEF,MAAM,UAAU,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,GAAG,EAAE,EAAE,QAAQ,GAAG,KAAK;IAC1E,MAAM,aAAa,GAAG,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAEzD,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,OAAO,aAAa,GAAG,GAAG,GAAG,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;AAClE,CAAC;AAED,SAAS,cAAc,CAAC,QAAQ,EAAE,QAAQ,GAAG,EAAE;IAC7C,IAAI,MAAM,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC;IAChC,IAAI,QAAQ,KAAK,EAAE,EAAE,CAAC;QACpB,MAAM,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;IAClE,CAAC;IACD,OAAO,
|
|
1
|
+
{"version":3,"file":"formatFullTime.js","sourceRoot":"","sources":["../../src/helpers/formatFullTime.js"],"names":[],"mappings":"AAAA,MAAM,aAAa,GAAG;IACpB,SAAS;IACT,UAAU;IACV,OAAO;IACP,OAAO;IACP,KAAK;IACL,MAAM;IACN,MAAM;IACN,QAAQ;IACR,WAAW;IACX,SAAS;IACT,UAAU;IACV,UAAU;CACX,CAAC;AAEF,MAAM,UAAU,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,GAAG,EAAE,EAAE,QAAQ,GAAG,KAAK;IAC1E,MAAM,aAAa,GAAG,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAEzD,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,OAAO,aAAa,GAAG,GAAG,GAAG,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;AAClE,CAAC;AAED,SAAS,cAAc,CAAC,QAAQ,EAAE,QAAQ,GAAG,EAAE;IAC7C,IAAI,MAAM,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC;IAChC,IAAI,QAAQ,KAAK,EAAE,EAAE,CAAC;QACpB,MAAM,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;IAClE,CAAC;IACD,OAAO,aAAa,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,GAAG,GAAG,GAAG,MAAM,CAAC,OAAO,EAAE,GAAG,IAAI,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;AACjG,CAAC;AAED,SAAS,cAAc,CAAC,QAAQ,EAAE,QAAQ,GAAG,EAAE;IAC7C,IAAI,MAAM,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC;IAChC,IAAI,QAAQ,KAAK,EAAE,EAAE,CAAC;QACpB,MAAM,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;IAClE,CAAC;IACD,OAAO,CAAC,GAAG,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3F,CAAC;AAED;;;;GAIG;AAEH,MAAM,UAAU,mBAAmB,CAAC,IAAI,GAAG,IAAI,IAAI,EAAE;IACnD,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;IACzB,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;IACrC,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IAChC,MAAM,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAChD,OAAO,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC;AAC7B,CAAC"}
|
package/package.json
CHANGED
package/dist/index.cjs.js
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
"use strict";var e=require("react/jsx-runtime"),t=require("@shopify/polaris"),r=require("react"),i=require("@shopify/polaris-icons");function n(e,t){void 0===t&&(t={});var r=t.insertAt;if(e&&"undefined"!=typeof document){var i=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css","top"===r&&i.firstChild?i.insertBefore(n,i.firstChild):i.appendChild(n),n.styleSheet?n.styleSheet.cssText=e:n.appendChild(document.createTextNode(e))}}n(".AC-PageSpeed-Widget__Container{align-items:flex-start;bottom:20px;display:flex;flex-direction:column;gap:16px;left:20px;position:fixed;z-index:1000}.AC-PageSpeed-Widget__Container .AC-PageSpeed__CircularProgressBar{animation:bubbleUp .4s cubic-bezier(.2,.8,.2,1) forwards;animation-delay:0s;border-radius:50%;box-shadow:0 8px 12px rgba(0,0,0,.2);cursor:pointer;height:50px;margin:0;opacity:0;transform:scale(.7);transition:all .3s cubic-bezier(.2,.8,.2,1);width:50px}.AC-PageSpeed-Widget__Container .AC-PageSpeed__CircularProgressBar:hover{transform:scale(1.1)!important}.AC-PageSpeed-Widget__Container .AC-PageSpeed__CircularProgressBar .AC-CircularProgressBar__Score--score{font-size:18px;font-weight:650}.AC-PageSpeed__DetailReport{background-color:#f6f6f7;box-sizing:border-box;display:flex;flex-direction:column;height:100vh;left:0;overflow:auto;padding:24px;position:fixed;top:0;width:100vw;z-index:9999}.AC-PageSpeed__DetailReport .Polaris-Page{width:100%!important}.AC-PageSpeed__DetailReport .AC-PageSpeed__PerformanceScore{margin:0;max-width:150px;width:150px}.AC-PageSpeed__DetailReport .AC-PageSpeed__PerformanceScore .AC-PageSpeed__PerformanceScore-wrapper{display:flex;flex-direction:column;gap:10px;text-align:center}.AC-PageSpeed__DetailReport .AC-PageSpeed__PerformanceScore .AC-PageSpeed__PerformanceScore--score{font-size:13px;font-weight:450;text-transform:capitalize}.AC-PageSpeed__DetailReport .AC-PageSpeed__PerformanceScore .AC-PageSpeed__PerformanceScore__ScoreWrapper:hover .AC-CircularProgressBar__Score{filter:blur(3px)}.AC-PageSpeed__DetailReport .AC-PageSpeed__PerformanceScore .AC-PageSpeed__PerformanceScore__ScoreWrapper:hover .AC-CircularProgressBar__Button{opacity:1;transform:translate(-50%,-50%) scale(1.05);transition:opacity .5s,transform .5s;z-index:40}.AC-PageSpeed__DetailReport .AC-PageSpeed__PerformanceScore .AC-PageSpeed__PerformanceScore__ScoreWrapper:hover .AC-CircularProgressBar__Loading--text{display:block}.AC-PageSpeed__DetailReport .AC-PageSpeed__PerformanceScore .AC-PageSpeed__PerformanceScore__ScoreWrapper:hover .AC-CircularProgressBar__Loading .Polaris-Spinner{display:none}.AC-PageSpeed__DetailReport .AC-PageSpeed__CircularProgressBar{margin:0;width:150px}.AC-PageSpeed__DetailReport .AC-PageSpeed__CircularProgressBar .AC-CircularProgressBar__Button{left:50%;opacity:0;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:-10}.AC-PageSpeed__DetailReport .AC-PageSpeed__CircularProgressBar .AC-CircularProgressBar__Loading--text{display:none}.AC-PageSpeed__DetailReport .AC-PageSpeed__DetailedReport>.Polaris-LegacyCard__Section{padding-bottom:0}.AC-PageSpeed__DetailReport .AC-PageSpeed__DetailedReport .Polaris-ShadowBevel{box-shadow:none}@keyframes bubbleUp{0%{opacity:0;transform:translateY(30px) scale(.8)}50%{transform:translateY(-5px) scale(1.05)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes collapseItem{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(15px) scale(.8)}}.AC-PageSpeed-Widget__Item{align-self:flex-start;animation:bubbleUp .4s cubic-bezier(.2,.8,.2,1) forwards;background-color:#fff;border-radius:16px;box-shadow:0 8px 12px rgba(0,0,0,.2);font-size:14px;margin-right:auto;opacity:0;padding:8px 16px;transform:translateY(30px) scale(.8);transform-origin:left center;transition:all .3s cubic-bezier(.2,.8,.2,1)}.AC-PageSpeed-Widget__Item:first-child{animation-delay:.4s}.AC-PageSpeed-Widget__Item:nth-child(2){animation-delay:.2s}.AC-PageSpeed-Widget__Container.collapsed .AC-PageSpeed-Widget__Item{animation:collapseItem .3s cubic-bezier(.2,.8,.2,1) forwards;pointer-events:none!important}.AC-PageSpeed__CircularProgressBar .CircularProgressbar{vertical-align:middle;width:100%}.AC-PageSpeed__CircularProgressBar .CircularProgressbar .CircularProgressbar-path{stroke-linecap:round;transition:stroke-dashoffset .5s ease 0s}.AC-PageSpeed__CircularProgressBar .CircularProgressbar .CircularProgressbar-trail{stroke:#d6d6d6;stroke-linecap:round}.AC-PageSpeed__CircularProgressBar .CircularProgressbar .CircularProgressbar-text{fill:#3e98c7;dominant-baseline:middle;text-anchor:middle;font-size:20px}.AC-PageSpeed__CircularProgressBar .CircularProgressbar .CircularProgressbar-background{fill:#d6d6d6}.AC-PageSpeed__PerformanceScore .CircularProgressbar{vertical-align:middle;width:100%}.AC-PageSpeed__PerformanceScore .CircularProgressbar .CircularProgressbar-path{stroke-linecap:round;transition:stroke-dashoffset .5s ease 0s}.AC-PageSpeed__PerformanceScore .CircularProgressbar .CircularProgressbar-trail{stroke:#d6d6d6;stroke-linecap:round}.AC-PageSpeed__PerformanceScore .CircularProgressbar .CircularProgressbar-text{fill:#3e98c7;dominant-baseline:middle;text-anchor:middle;font-size:20px}.AC-PageSpeed__PerformanceScore .CircularProgressbar .CircularProgressbar-background{fill:#d6d6d6}");
|
|
2
|
-
/*! *****************************************************************************
|
|
3
|
-
Copyright (c) Microsoft Corporation. All rights reserved.
|
|
4
|
-
Licensed under the Apache License, Version 2.0 (the "License"); you may not use
|
|
5
|
-
this file except in compliance with the License. You may obtain a copy of the
|
|
6
|
-
License at http://www.apache.org/licenses/LICENSE-2.0
|
|
7
|
-
|
|
8
|
-
THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
9
|
-
KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
|
|
10
|
-
WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
|
|
11
|
-
MERCHANTABLITY OR NON-INFRINGEMENT.
|
|
12
|
-
|
|
13
|
-
See the Apache Version 2.0 License for specific language governing permissions
|
|
14
|
-
and limitations under the License.
|
|
15
|
-
***************************************************************************** */
|
|
16
|
-
var s=function(e,t){return s=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])},s(e,t)};var a=function(){return a=Object.assign||function(e){for(var t,r=1,i=arguments.length;r<i;r++)for(var n in t=arguments[r])Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e},a.apply(this,arguments)};function o(e){var t=e.className,i=e.counterClockwise,n=e.dashRatio,s=e.pathRadius,a=e.strokeWidth,o=e.style;return r.createElement("path",{className:t,style:Object.assign({},o,c({pathRadius:s,dashRatio:n,counterClockwise:i})),d:l({pathRadius:s,counterClockwise:i}),strokeWidth:a,fillOpacity:0})}function l(e){var t=e.pathRadius,r=e.counterClockwise?1:0;return"\n M 50,50\n m 0,-"+t+"\n a "+t+","+t+" "+r+" 1 1 0,"+2*t+"\n a "+t+","+t+" "+r+" 1 1 0,-"+2*t+"\n "}function c(e){var t=e.counterClockwise,r=e.dashRatio,i=e.pathRadius,n=2*Math.PI*i,s=(1-r)*n;return{strokeDasharray:n+"px "+n+"px",strokeDashoffset:(t?-s:s)+"px"}}var d=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return function(e,t){function r(){this.constructor=e}s(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}(t,e),t.prototype.getBackgroundPadding=function(){return this.props.background?this.props.backgroundPadding:0},t.prototype.getPathRadius=function(){return 50-this.props.strokeWidth/2-this.getBackgroundPadding()},t.prototype.getPathRatio=function(){var e=this.props,t=e.value,r=e.minValue,i=e.maxValue;return(Math.min(Math.max(t,r),i)-r)/(i-r)},t.prototype.render=function(){var e=this.props,t=e.circleRatio,i=e.className,n=e.classes,s=e.counterClockwise,a=e.styles,l=e.strokeWidth,c=e.text,d=this.getPathRadius(),p=this.getPathRatio();return r.createElement("svg",{className:n.root+" "+i,style:a.root,viewBox:"0 0 100 100","data-test-id":"CircularProgressbar"},this.props.background?r.createElement("circle",{className:n.background,style:a.background,cx:50,cy:50,r:50}):null,r.createElement(o,{className:n.trail,counterClockwise:s,dashRatio:t,pathRadius:d,strokeWidth:l,style:a.trail}),r.createElement(o,{className:n.path,counterClockwise:s,dashRatio:p*t,pathRadius:d,strokeWidth:l,style:a.path}),c?r.createElement("text",{className:n.text,style:a.text,x:50,y:50},c):null)},t.defaultProps={background:!1,backgroundPadding:0,circleRatio:1,classes:{root:"CircularProgressbar",trail:"CircularProgressbar-trail",path:"CircularProgressbar-path",text:"CircularProgressbar-text",background:"CircularProgressbar-background"},counterClockwise:!1,className:"",maxValue:100,minValue:0,strokeWidth:8,styles:{root:{},trail:{},path:{},text:{},background:{}},text:""},t}(r.Component);function p(e){e.children;var t=function(e,t){var r={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.indexOf(i)<0&&(r[i]=e[i]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var n=0;for(i=Object.getOwnPropertySymbols(e);n<i.length;n++)t.indexOf(i[n])<0&&(r[i[n]]=e[i[n]])}return r}(e,["children"]);return r.createElement("div",{"data-test-id":"CircularProgressbarWithChildren"},r.createElement("div",{style:{position:"relative",width:"100%",height:"100%"}},r.createElement(d,a({},t)),e.children?r.createElement("div",{"data-test-id":"CircularProgressbarWithChildren__children",style:{position:"absolute",width:"100%",height:"100%",marginTop:"-100%",display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center"}},e.children):null))}function u(e){var t=e.rotation,r=e.strokeLinecap,i=e.textColor,n=e.textSize,s=e.pathColor,a=e.pathTransition,o=e.pathTransitionDuration,l=e.trailColor,c=e.backgroundColor,d=null==t?void 0:"rotate("+t+"turn)",p=null==t?void 0:"center center";return{root:{},path:g({stroke:s,strokeLinecap:r,transform:d,transformOrigin:p,transition:a,transitionDuration:null==o?void 0:o+"s"}),trail:g({stroke:l,strokeLinecap:r,transform:d,transformOrigin:p}),text:g({fill:i,fontSize:n}),background:g({fill:c})}}function g(e){return Object.keys(e).forEach(function(t){null==e[t]&&delete e[t]}),e}const h=["January","February","March","April","May","June","July","August","September","October","November","December"];function f(e,t="",r=!1){const i=function(e,t=""){let r=new Date(e);""!==t&&(r=new Date(r.toLocaleString("en-US",{timeZone:t})));return`${h[r.getMonth()]} ${r.getDate()}, ${r.getFullYear()}`}(e,t);return r?i:i+" "+function(e,t=""){let r=new Date(e);""!==t&&(r=new Date(r.toLocaleString("en-US",{timeZone:t})));return`${m(r.getHours())}:${m(r.getMinutes())}`}(e,t)}function m(e){return e.toString().padStart(2,"0")}function y({url:e,defaultData:t={},deps:i=[],depIndex:n=0,initLoad:s=!0,fullResp:a=!1,initLoading:o=!0,successCallback:l=()=>{},onSuccess:c,headers:d,keepPreviousData:p=!1}){const[u,g]=r.useState(!o),[h,f]=r.useState(o),[m,y]=r.useState(t),[b,v]=r.useState(t),[S,C]=r.useState({}),P=async(e,t={})=>{const r=e;return(await fetch(r,{headers:{"Content-Type":"application/json",...t.headers}})).json()};async function x(r=e,i=!1,n=!0,s){!i&&f(!0);try{const e=await P(r,{headers:{...d,...s}});if(e.data){const r=Array.isArray(e.data)?e.data:p?{...t,...e.data}:e.data,i=c?c(r):r;v(i),y(i),l(e)}return e.pageInfo&&C(e.pageInfo),e.errors&&e.errors.length?(console.log(e.errors),!!a&&e):e.error?(console.log(e.error),!!a&&e):!a||e}catch(e){return n&&(v(t),y(t),C({})),!!a&&{success:!1,data:{}}}finally{!i&&f(!1),!i&&g(!0)}}return r.useEffect(()=>{i.length&&!i[n]||!s||u||x(e).then(()=>{})},i),{fetchApi:x,pageInfo:S,setPageInfo:C,loading:h,initData:b,setInitData:v,setLoading:f,data:m,setData:y,fetched:u,setFetched:g}}const b=r.createContext(null);const v={en:{translation:{PageSpeed:{title:"SiteSpeed monitor",subtitle:"A comprehensive analysis of your website's loading performance with recommendations for improvement.",webPerformanceIs:"Your web performance is {PERFORMANCE}",medium:"Medium",poor:"Poor",checkCritical:"Check critical issues {LINK}",checkCriticalWebPerformance:"Your web performance is {PERFORMANCE}. Check critical issues {LINK}",here:"here",yourScore:"Your score is {SCORE}",lastScanTime:"Last scan time: {TIME}",optimizeNow:"Optimize now",resultFrom:"Result from PageSpeed Insight",criticalIssue:"Critical issues",performanceScore:"Performance score",issues:{bootupTime:{title:"Reduce JavaScript execution time",description:"Consider reducing the time spent parsing, compiling, and executing JS. You may find delivering smaller JS payloads helps with this."},largestContentfulPaint:{title:"Largest Contentful Paint element",description:"This is the largest contentful element painted within the viewport."},largestContentfulPaintElement:{title:"Largest Contentful Paint element",description:"This is the largest contentful element painted within the viewport."},lcpLazyLoaded:{title:"Largest Contentful Paint image was lazily loaded",description:"Above-the-fold images that are lazily loaded render later in the page lifecycle, which can delay the largest contentful paint."}}}}},nl:{translation:{PageSpeed:{issues:{bootupTime:{title:"Verkort de JavaScript-uitvoeringstijd",description:"Overweeg de tijd die u besteedt aan het parsen, compileren en uitvoeren van JS te verkorten. Het leveren van kleinere JS-payloads kan hierbij helpen."},largestContentfulPaint:{title:"Grootste Contentful Paint-element",description:"Dit is het grootste contentelement dat in de viewport wordt weergegeven."},largestContentfulPaintElement:{title:"Grootste Contentful Paint-element",description:"Dit is het grootste contentelement dat in de viewport wordt weergegeven."},lcpLazyLoaded:{title:"De grootste Contentful Paint-afbeelding werd traag geladen",description:"Afbeeldingen boven de vouw die langzaam worden geladen, worden later in de levenscyclus van de pagina weergegeven. Hierdoor kan de weergave van de grootste content worden vertraagd."}},title:"SiteSpeed-monitor",subtitle:"Een uitgebreide analyse van de laadprestaties van uw website, met aanbevelingen voor verbetering.",webPerformanceIs:"Uw webprestaties zijn {PERFORMANCE}",medium:"Medium",poor:"Arm",checkCritical:"Controleer kritieke problemen {LINK}",checkCriticalWebPerformance:"Uw webprestaties zijn {PERFORMANCE}. Controleer kritieke problemen {LINK}",here:"hier",yourScore:"Je score is {SCORE}",lastScanTime:"Laatste scantijd: {TIME}",optimizeNow:"Optimaliseer nu",resultFrom:"Resultaat van PageSpeed Insight",criticalIssue:"Kritieke kwesties",performanceScore:"Prestatiescore"}}},"zh-CN":{translation:{PageSpeed:{issues:{bootupTime:{title:"减少 JavaScript 执行时间",description:"考虑减少解析、编译和执行 JS 的时间。您可能会发现,传递较小的 JS 负载有助于实现这一点。"},largestContentfulPaint:{title:"最大的内容绘制元素",description:"这是视口内绘制的最大内容元素。"},largestContentfulPaintElement:{title:"最大的内容绘制元素",description:"这是视口内绘制的最大内容元素。"},lcpLazyLoaded:{title:"最大的 Contentful Paint 图像是延迟加载的",description:"延迟加载的首屏图像在页面生命周期的后期渲染,这可能会延迟最大的内容绘制。"}},title:"SiteSpeed 监控器",subtitle:"全面分析您的网站加载性能并提出改进建议。",webPerformanceIs:"您的网络性能是 {PERFORMANCE}",medium:"中等的",poor:"贫穷的",checkCritical:"检查关键问题 {LINK}",checkCriticalWebPerformance:"您的网络性能为 {PERFORMANCE}。请查看关键问题 {LINK}",here:"这里",yourScore:"你的分数是 {SCORE}",lastScanTime:"上次扫描时间:{TIME}",optimizeNow:"立即优化",resultFrom:"PageSpeed Insight 的结果",criticalIssue:"关键问题",performanceScore:"性能评分"}}},vi:{translation:{PageSpeed:{issues:{bootupTime:{title:"Giảm thời gian thực thi JavaScript",description:"Hãy cân nhắc việc giảm thời gian phân tích cú pháp, biên dịch và thực thi JS. Bạn có thể thấy việc cung cấp các tải trọng JS nhỏ hơn sẽ giúp ích cho việc này."},largestContentfulPaint:{title:"Phần tử sơn có nội dung lớn nhất",description:"Đây là phần tử có nội dung lớn nhất được vẽ trong khung nhìn."},largestContentfulPaintElement:{title:"Phần tử sơn có nội dung lớn nhất",description:"Đây là phần tử có nội dung lớn nhất được vẽ trong khung nhìn."},lcpLazyLoaded:{title:"Hình ảnh Contentful Paint lớn nhất đã được tải chậm",description:"Hình ảnh ở phía trên màn hình được tải chậm sẽ hiển thị ở giai đoạn sau trong vòng đời của trang, điều này có thể làm chậm quá trình hiển thị nội dung lớn nhất."}},title:"Giám sát SiteSpeed",subtitle:"Phân tích toàn diện về hiệu suất tải trang web của bạn cùng với các đề xuất cải tiến.",webPerformanceIs:"Hiệu suất web của bạn là {PERFORMANCE}",medium:"Trung bình",poor:"Nghèo",checkCritical:"Kiểm tra các vấn đề quan trọng {LINK}",checkCriticalWebPerformance:"Hiệu suất web của bạn là {PERFORMANCE}. Kiểm tra các vấn đề quan trọng {LINK}",here:"đây",yourScore:"Điểm của bạn là {SCORE}",lastScanTime:"Thời gian quét cuối cùng: {TIME}",optimizeNow:"Tối ưu hóa ngay bây giờ",resultFrom:"Kết quả từ PageSpeed Insight",criticalIssue:"Các vấn đề quan trọng",performanceScore:"Điểm hiệu suất"}}},"pt-BR":{translation:{PageSpeed:{issues:{bootupTime:{title:"Reduza o tempo de execução do JavaScript",description:"Considere reduzir o tempo gasto analisando, compilando e executando JS. Você pode descobrir que entregar cargas úteis de JS menores ajuda com isso."},largestContentfulPaint:{title:"Maior elemento de pintura com conteúdo",description:"Este é o maior elemento de conteúdo pintado dentro da janela de visualização."},largestContentfulPaintElement:{title:"Maior elemento de pintura com conteúdo",description:"Este é o maior elemento de conteúdo pintado dentro da janela de visualização."},lcpLazyLoaded:{title:"A maior imagem do Contentful Paint foi carregada lentamente",description:"Imagens acima da dobra que são carregadas lentamente são renderizadas mais tarde no ciclo de vida da página, o que pode atrasar a maior parte do conteúdo."}},title:"Monitor de velocidade do site",subtitle:"Uma análise abrangente do desempenho de carregamento do seu site com recomendações de melhorias.",webPerformanceIs:"Seu desempenho na web é {PERFORMANCE}",medium:"Médio",poor:"Pobre",checkCritical:"Verifique os problemas críticos {LINK}",checkCriticalWebPerformance:"Seu desempenho na web é {PERFORMANCE}. Verifique os problemas críticos {LINK}",here:"aqui",yourScore:"Sua pontuação é {SCORE}",lastScanTime:"Última hora de digitalização: {TIME}",optimizeNow:"Otimize agora",resultFrom:"Resultado do PageSpeed Insight",criticalIssue:"Questões críticas",performanceScore:"Pontuação de desempenho"}}},sv:{translation:{PageSpeed:{issues:{bootupTime:{title:"Minska JavaScript-exekveringstiden",description:"Överväg att minska tiden för att analysera, kompilera och köra JS. Du kanske upptäcker att leverans av mindre JS-nyttolaster hjälper till med detta."},largestContentfulPaint:{title:"Största innehållsrika färgelement",description:"Detta är det största innehållsrika elementet som målats i visningsporten."},largestContentfulPaintElement:{title:"Största innehållsrika färgelement",description:"Detta är det största innehållsrika elementet som målats i visningsporten."},lcpLazyLoaded:{title:"Den största Contentful Paint-bilden laddades lätt",description:"Bilder ovanför mitten som laddas lätt återges senare i sidans livscykel, vilket kan fördröja den största innehållsrika färgen."}},title:"SiteSpeed monitor",subtitle:"En omfattande analys av din webbplats laddningsprestanda med rekommendationer för förbättringar.",webPerformanceIs:"Din webbprestanda är {PERFORMANCE}",medium:"Medium",poor:"Dålig",checkCritical:"Kontrollera kritiska problem {LINK}",checkCriticalWebPerformance:"Din webbprestanda är {PERFORMANCE}. Kontrollera kritiska problem {LINK}",here:"här",yourScore:"Ditt resultat är {SCORE}",lastScanTime:"Senaste skanningstid: {TIME}",optimizeNow:"Optimera nu",resultFrom:"Resultat från PageSpeed Insight",criticalIssue:"Kritiska frågor",performanceScore:"Prestandapoäng"}}},fr:{translation:{PageSpeed:{issues:{bootupTime:{title:"Réduire le temps d'exécution de JavaScript",description:"Envisagez de réduire le temps consacré à l'analyse, à la compilation et à l'exécution de JS. Fournir des charges utiles JS plus petites pourrait vous aider."},largestContentfulPaint:{title:"Le plus grand élément de peinture de contenu",description:"Il s’agit du plus grand élément de contenu peint dans la fenêtre d’affichage."},largestContentfulPaintElement:{title:"Le plus grand élément de peinture de contenu",description:"Il s’agit du plus grand élément de contenu peint dans la fenêtre d’affichage."},lcpLazyLoaded:{title:"La plus grande image de Contentful Paint a été chargée paresseusement",description:"Les images au-dessus du pli qui sont chargées paresseusement s'affichent plus tard dans le cycle de vie de la page, ce qui peut retarder la peinture de contenu la plus importante."}},title:"Moniteur SiteSpeed",subtitle:"Une analyse complète des performances de chargement de votre site Web avec des recommandations d'amélioration.",webPerformanceIs:"Vos performances Web sont {PERFORMANCE}",medium:"Moyen",poor:"Pauvre",checkCritical:"Vérifier les problèmes critiques {LINK}",checkCriticalWebPerformance:"Vos performances web sont {PERFORMANCE}. Vérifiez les problèmes critiques {LINK}.",here:"ici",yourScore:"Votre score est {SCORE}",lastScanTime:"Heure de la dernière analyse : {TIME}",optimizeNow:"Optimiser maintenant",resultFrom:"Résultat de PageSpeed Insight",criticalIssue:"Questions critiques",performanceScore:"Score de performance"}}},de:{translation:{PageSpeed:{issues:{bootupTime:{title:"Reduzieren Sie die JavaScript-Ausführungszeit",description:"Reduzieren Sie den Zeitaufwand für das Parsen, Kompilieren und Ausführen von JS. Möglicherweise hilft die Bereitstellung kleinerer JS-Payloads dabei."},largestContentfulPaint:{title:"Größtes Contentful Paint-Element",description:"Dies ist das größte Inhaltselement, das im Ansichtsfenster dargestellt wird."},largestContentfulPaintElement:{title:"Größtes Contentful Paint-Element",description:"Dies ist das größte Inhaltselement, das im Ansichtsfenster dargestellt wird."},lcpLazyLoaded:{title:"Das größte Contentful Paint-Bild wurde verzögert geladen",description:"Bilder im oberen Seitenbereich, die verzögert geladen werden, werden später im Lebenszyklus der Seite gerendert, was zu einer Verzögerung beim Erstellen des größten Inhalts führen kann."}},title:"SiteSpeed-Monitor",subtitle:"Eine umfassende Analyse der Ladeleistung Ihrer Website mit Verbesserungsempfehlungen.",webPerformanceIs:"Ihre Web-Performance ist {PERFORMANCE}",medium:"Medium",poor:"Arm",checkCritical:"Kritische Probleme prüfen {LINK}",checkCriticalWebPerformance:"Ihre Web-Performance ist {PERFORMANCE}. Überprüfen Sie kritische Probleme {LINK}",here:"Hier",yourScore:"Ihr Punktestand ist {SCORE}",lastScanTime:"Letzte Scanzeit: {TIME}",optimizeNow:"Jetzt optimieren",resultFrom:"Ergebnis von PageSpeed Insight",criticalIssue:"Kritische Probleme",performanceScore:"Leistungsbewertung"}}},es:{translation:{PageSpeed:{issues:{bootupTime:{title:"Reducir el tiempo de ejecución de JavaScript",description:"Considere reducir el tiempo dedicado a analizar, compilar y ejecutar código JavaScript. Entregar cargas útiles de código JavaScript más pequeñas puede ser útil."},largestContentfulPaint:{title:"Elemento de pintura con contenido más grande",description:"Este es el elemento de contenido más grande pintado dentro de la ventana gráfica."},largestContentfulPaintElement:{title:"Elemento de pintura con contenido más grande",description:"Este es el elemento de contenido más grande pintado dentro de la ventana gráfica."},lcpLazyLoaded:{title:"La imagen de pintura con contenido más grande se cargó de forma diferida",description:"Las imágenes que se encuentran por encima del pliegue y se cargan de forma diferida se procesan más tarde en el ciclo de vida de la página, lo que puede retrasar la pintura con contenido más grande."}},title:"Monitor de velocidad del sitio",subtitle:"Un análisis completo del rendimiento de carga de su sitio web con recomendaciones para mejorarlo.",webPerformanceIs:"El rendimiento de su sitio web es {PERFORMANCE}",medium:"Medio",poor:"Pobre",checkCritical:"Comprobar problemas críticos {LINK}",checkCriticalWebPerformance:"El rendimiento de tu sitio web es {PERFORMANCE}. Revisa los problemas críticos {LINK}",here:"aquí",yourScore:"Tu puntuación es {SCORE}",lastScanTime:"Hora del último escaneo: {TIME}",optimizeNow:"Optimizar ahora",resultFrom:"Resultado de PageSpeed Insight",criticalIssue:"Cuestiones críticas",performanceScore:"Puntuación de rendimiento"}}},da:{translation:{PageSpeed:{issues:{bootupTime:{title:"Reducer JavaScript-udførelsestiden",description:"Overvej at reducere den tid, der bruges på at parse, kompilere og udføre JS. Du kan finde ud af, at levering af mindre JS-nyttelast hjælper med dette."},largestContentfulPaint:{title:"Største indholdsfyldte malingselement",description:"Dette er det største indholdsrige element, der er malet i viewporten."},largestContentfulPaintElement:{title:"Største indholdsfyldte malingselement",description:"Dette er det største indholdsrige element, der er malet i viewporten."},lcpLazyLoaded:{title:"Største Contentful Paint-billede blev dovent indlæst",description:"Billeder over skillelinjen, som indlæses dovent, gengives senere i sidens livscyklus, hvilket kan forsinke den største indholdsfyldte maling."}},title:"SiteSpeed monitor",subtitle:"En omfattende analyse af din hjemmesides indlæsningsydelse med anbefalinger til forbedringer.",webPerformanceIs:"Din webydelse er {PERFORMANCE}",medium:"Medium",poor:"Dårlig",checkCritical:"Tjek kritiske problemer {LINK}",checkCriticalWebPerformance:"Din webydelse er {PERFORMANCE}. Tjek kritiske problemer {LINK}",here:"her",yourScore:"Din score er {SCORE}",lastScanTime:"Sidste scanningstid: {TIME}",optimizeNow:"Optimer nu",resultFrom:"Resultat fra PageSpeed Insight",criticalIssue:"Kritiske spørgsmål",performanceScore:"Præstationsscore"}}}};function S(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,i)}return r}function C(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?S(Object(r),!0).forEach(function(t){P(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):S(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function P(e,t,r){return(t=function(e){var t=function(e,t){if("object"!=x(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var i=r.call(e,t);if("object"!=x(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==x(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function x(e){return x="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},x(e)}var k=[].forEach;function w(e,t,i){var n;switch(x(e)){case"string":var s=e.split(t);return 1!==s.length&&"object"===x(i)?(!i.key&&r.isValidElement(i)&&(i=r.cloneElement(i,{key:t.toString()})),[s[0],i,s[1]].flat()):e.replace(t,i);case"object":if(Array.isArray(e))return e.map(function(e){return w(e,t,i)}).flat();if(null!=e&&null!==(n=e.props)&&void 0!==n&&n.children){var a=w(e.props.children,t,i);if(a!==e.props.children)return C(C({},e),{},{props:C(C({},e.props),{},{children:a})})}}return e}function O(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,i)}return r}function A(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?O(Object(r),!0).forEach(function(t){L(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):O(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function L(e,t,r){return(t=N(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function E(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var i,n,s,a,o=[],l=!0,c=!1;try{if(s=(r=r.call(e)).next,0===t);else for(;!(l=(i=s.call(r)).done)&&(o.push(i.value),o.length!==t);l=!0);}catch(e){c=!0,n=e}finally{try{if(!l&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw n}}return o}}(e,t)||function(e,t){if(e){if("string"==typeof e)return R(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?R(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function R(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,i=Array(t);r<t;r++)i[r]=e[r];return i}function _(e){return _="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_(e)}function j(e,t,r){return t&&function(e,t){for(var r=0;r<t.length;r++){var i=t[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,N(i.key),i)}}(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function N(e){var t=function(e,t){if("object"!=_(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var i=r.call(e,t);if("object"!=_(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e,"string");return"symbol"==_(t)?t:t+""}var I=/{{?\s*(\w+)\s*}}?/g,$=function(){return j(function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.type="i18nFormat",this.init(null,t)},[{key:"init",value:function(e,t){var r=e&&e.options&&e.options.i18nFormat||{};this.options=function(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),i=1;i<t;i++)r[i-1]=arguments[i];return k.call(r,function(t){if(t)for(var r in t)void 0===e[r]&&(e[r]=t[r])}),e}(r,t,this.options||{},{}),this.i18next=e}},{key:"parse",value:function(e,t){var r=this;if(null===e)return e;if("object"===_(e)){for(var i={},n=0,s=Object.entries(e);n<s.length;n++){var a=E(s[n],2),o=a[0],l=a[1];i[o]=this.parse(l,t)}return i}var c=e.match(I);if(!c)return e;var d=e;return c.forEach(function(e){var i=e.replace(I,"$1"),n="ordinal"===i?t.count||t.ordinal:t[i];"ordinal"!==i&&"count"!==i||"number"!=typeof n||(n=new Intl.NumberFormat(r.i18next.resolvedLanguage).format(n)),d=w(d,e,null!=n?n:"")}),d}},{key:"addLookupKeys",value:function(e,t,r,i,n){if(Boolean(void 0!==n.count&&"string"!=typeof n.count||"number"==typeof n.ordinal)){if(!Intl)throw new Error("Error: The application was unable to use the Intl API. This may be due to a missing or incomplete polyfill.");var s=Boolean(n.ordinal||0===n.ordinal&&void 0===n.count),a=this.i18next.translator.pluralResolver.getRule(r,A(A({},n),{},{ordinal:s}));if(s){var o=a.select(void 0===n.count?n.ordinal:n.count),l="".concat(this.i18next.options.keySeparator,"ordinal").concat(this.i18next.options.keySeparator).concat(o);e.push(t+l)}else{var c=a.select(n.count);if("other"!==c){var d="".concat(this.i18next.options.keySeparator,"other");e.push(t+d)}var p="".concat(this.i18next.options.keySeparator).concat(c);if(e.push(t+p),0===n.count){var u="".concat(this.i18next.options.keySeparator,"0");e.push(t+u)}else if(1===n.count){var g="".concat(this.i18next.options.keySeparator,"1");e.push(t+g)}}}return e}}])}();$.type="i18nFormat";const D=e=>"string"==typeof e,z=()=>{let e,t;const r=new Promise((r,i)=>{e=r,t=i});return r.resolve=e,r.reject=t,r},T=e=>null==e?"":""+e,F=/###/g,M=e=>e&&e.indexOf("###")>-1?e.replace(F,"."):e,B=e=>!e||D(e),K=(e,t,r)=>{const i=D(t)?t.split("."):t;let n=0;for(;n<i.length-1;){if(B(e))return{};const t=M(i[n]);!e[t]&&r&&(e[t]=new r),e=Object.prototype.hasOwnProperty.call(e,t)?e[t]:{},++n}return B(e)?{}:{obj:e,k:M(i[n])}},V=(e,t,r)=>{const{obj:i,k:n}=K(e,t,Object);if(void 0!==i||1===t.length)return void(i[n]=r);let s=t[t.length-1],a=t.slice(0,t.length-1),o=K(e,a,Object);for(;void 0===o.obj&&a.length;)s=`${a[a.length-1]}.${s}`,a=a.slice(0,a.length-1),o=K(e,a,Object),o?.obj&&void 0!==o.obj[`${o.k}.${s}`]&&(o.obj=void 0);o.obj[`${o.k}.${s}`]=r},J=(e,t)=>{const{obj:r,k:i}=K(e,t);if(r&&Object.prototype.hasOwnProperty.call(r,i))return r[i]},W=(e,t,r)=>{for(const i in t)"__proto__"!==i&&"constructor"!==i&&(i in e?D(e[i])||e[i]instanceof String||D(t[i])||t[i]instanceof String?r&&(e[i]=t[i]):W(e[i],t[i],r):e[i]=t[i]);return e},U=e=>e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&");var q={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};const H=e=>D(e)?e.replace(/[&<>"'\/]/g,e=>q[e]):e;const G=[" ",",","?","!",";"],Y=new class{constructor(e){this.capacity=e,this.regExpMap=new Map,this.regExpQueue=[]}getRegExp(e){const t=this.regExpMap.get(e);if(void 0!==t)return t;const r=new RegExp(e);return this.regExpQueue.length===this.capacity&&this.regExpMap.delete(this.regExpQueue.shift()),this.regExpMap.set(e,r),this.regExpQueue.push(e),r}}(20),Q=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:".";if(!e)return;if(e[t]){if(!Object.prototype.hasOwnProperty.call(e,t))return;return e[t]}const i=t.split(r);let n=e;for(let e=0;e<i.length;){if(!n||"object"!=typeof n)return;let t,s="";for(let a=e;a<i.length;++a)if(a!==e&&(s+=r),s+=i[a],t=n[s],void 0!==t){if(["string","number","boolean"].indexOf(typeof t)>-1&&a<i.length-1)continue;e+=a-e+1;break}n=t}return n},X=e=>e?.replace("_","-"),Z={type:"logger",log(e){this.output("log",e)},warn(e){this.output("warn",e)},error(e){this.output("error",e)},output(e,t){console?.[e]?.apply?.(console,t)}};class ee{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.init(e,t)}init(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.prefix=t.prefix||"i18next:",this.logger=e||Z,this.options=t,this.debug=t.debug}log(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return this.forward(t,"log","",!0)}warn(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return this.forward(t,"warn","",!0)}error(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return this.forward(t,"error","")}deprecate(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return this.forward(t,"warn","WARNING DEPRECATED: ",!0)}forward(e,t,r,i){return i&&!this.debug?null:(D(e[0])&&(e[0]=`${r}${this.prefix} ${e[0]}`),this.logger[t](e))}create(e){return new ee(this.logger,{prefix:`${this.prefix}:${e}:`,...this.options})}clone(e){return(e=e||this.options).prefix=e.prefix||this.prefix,new ee(this.logger,e)}}var te=new ee;class re{constructor(){this.observers={}}on(e,t){return e.split(" ").forEach(e=>{this.observers[e]||(this.observers[e]=new Map);const r=this.observers[e].get(t)||0;this.observers[e].set(t,r+1)}),this}off(e,t){this.observers[e]&&(t?this.observers[e].delete(t):delete this.observers[e])}emit(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),i=1;i<t;i++)r[i-1]=arguments[i];if(this.observers[e]){Array.from(this.observers[e].entries()).forEach(e=>{let[t,i]=e;for(let e=0;e<i;e++)t(...r)})}if(this.observers["*"]){Array.from(this.observers["*"].entries()).forEach(t=>{let[i,n]=t;for(let t=0;t<n;t++)i.apply(i,[e,...r])})}}}class ie extends re{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{ns:["translation"],defaultNS:"translation"};super(),this.data=e||{},this.options=t,void 0===this.options.keySeparator&&(this.options.keySeparator="."),void 0===this.options.ignoreJSONStructure&&(this.options.ignoreJSONStructure=!0)}addNamespaces(e){this.options.ns.indexOf(e)<0&&this.options.ns.push(e)}removeNamespaces(e){const t=this.options.ns.indexOf(e);t>-1&&this.options.ns.splice(t,1)}getResource(e,t,r){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const n=void 0!==i.keySeparator?i.keySeparator:this.options.keySeparator,s=void 0!==i.ignoreJSONStructure?i.ignoreJSONStructure:this.options.ignoreJSONStructure;let a;e.indexOf(".")>-1?a=e.split("."):(a=[e,t],r&&(Array.isArray(r)?a.push(...r):D(r)&&n?a.push(...r.split(n)):a.push(r)));const o=J(this.data,a);return!o&&!t&&!r&&e.indexOf(".")>-1&&(e=a[0],t=a[1],r=a.slice(2).join(".")),!o&&s&&D(r)?Q(this.data?.[e]?.[t],r,n):o}addResource(e,t,r,i){let n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{silent:!1};const s=void 0!==n.keySeparator?n.keySeparator:this.options.keySeparator;let a=[e,t];r&&(a=a.concat(s?r.split(s):r)),e.indexOf(".")>-1&&(a=e.split("."),i=t,t=a[1]),this.addNamespaces(t),V(this.data,a,i),n.silent||this.emit("added",e,t,r,i)}addResources(e,t,r){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{silent:!1};for(const i in r)(D(r[i])||Array.isArray(r[i]))&&this.addResource(e,t,i,r[i],{silent:!0});i.silent||this.emit("added",e,t,r)}addResourceBundle(e,t,r,i,n){let s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{silent:!1,skipCopy:!1},a=[e,t];e.indexOf(".")>-1&&(a=e.split("."),i=r,r=t,t=a[1]),this.addNamespaces(t);let o=J(this.data,a)||{};s.skipCopy||(r=JSON.parse(JSON.stringify(r))),i?W(o,r,n):o={...o,...r},V(this.data,a,o),s.silent||this.emit("added",e,t,r)}removeResourceBundle(e,t){this.hasResourceBundle(e,t)&&delete this.data[e][t],this.removeNamespaces(t),this.emit("removed",e,t)}hasResourceBundle(e,t){return void 0!==this.getResource(e,t)}getResourceBundle(e,t){return t||(t=this.options.defaultNS),this.getResource(e,t)}getDataByLanguage(e){return this.data[e]}hasLanguageSomeTranslations(e){const t=this.getDataByLanguage(e);return!!(t&&Object.keys(t)||[]).find(e=>t[e]&&Object.keys(t[e]).length>0)}toJSON(){return this.data}}var ne={processors:{},addPostProcessor(e){this.processors[e.name]=e},handle(e,t,r,i,n){return e.forEach(e=>{t=this.processors[e]?.process(t,r,i,n)??t}),t}};const se={},ae=e=>!D(e)&&"boolean"!=typeof e&&"number"!=typeof e;class oe extends re{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};var r,i;super(),r=e,i=this,["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"].forEach(e=>{r[e]&&(i[e]=r[e])}),this.options=t,void 0===this.options.keySeparator&&(this.options.keySeparator="."),this.logger=te.create("translator")}changeLanguage(e){e&&(this.language=e)}exists(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{interpolation:{}};if(null==e)return!1;const r=this.resolve(e,t);return void 0!==r?.res}extractFromKey(e,t){let r=void 0!==t.nsSeparator?t.nsSeparator:this.options.nsSeparator;void 0===r&&(r=":");const i=void 0!==t.keySeparator?t.keySeparator:this.options.keySeparator;let n=t.ns||this.options.defaultNS||[];const s=r&&e.indexOf(r)>-1,a=!(this.options.userDefinedKeySeparator||t.keySeparator||this.options.userDefinedNsSeparator||t.nsSeparator||((e,t,r)=>{t=t||"",r=r||"";const i=G.filter(e=>t.indexOf(e)<0&&r.indexOf(e)<0);if(0===i.length)return!0;const n=Y.getRegExp(`(${i.map(e=>"?"===e?"\\?":e).join("|")})`);let s=!n.test(e);if(!s){const t=e.indexOf(r);t>0&&!n.test(e.substring(0,t))&&(s=!0)}return s})(e,r,i));if(s&&!a){const t=e.match(this.interpolator.nestingRegexp);if(t&&t.length>0)return{key:e,namespaces:D(n)?[n]:n};const s=e.split(r);(r!==i||r===i&&this.options.ns.indexOf(s[0])>-1)&&(n=s.shift()),e=s.join(i)}return{key:e,namespaces:D(n)?[n]:n}}translate(e,t,r){if("object"!=typeof t&&this.options.overloadTranslationOptionHandler&&(t=this.options.overloadTranslationOptionHandler(arguments)),"object"==typeof options&&(t={...t}),t||(t={}),null==e)return"";Array.isArray(e)||(e=[String(e)]);const i=void 0!==t.returnDetails?t.returnDetails:this.options.returnDetails,n=void 0!==t.keySeparator?t.keySeparator:this.options.keySeparator,{key:s,namespaces:a}=this.extractFromKey(e[e.length-1],t),o=a[a.length-1],l=t.lng||this.language,c=t.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if("cimode"===l?.toLowerCase()){if(c){const e=t.nsSeparator||this.options.nsSeparator;return i?{res:`${o}${e}${s}`,usedKey:s,exactUsedKey:s,usedLng:l,usedNS:o,usedParams:this.getUsedParamsDetails(t)}:`${o}${e}${s}`}return i?{res:s,usedKey:s,exactUsedKey:s,usedLng:l,usedNS:o,usedParams:this.getUsedParamsDetails(t)}:s}const d=this.resolve(e,t);let p=d?.res;const u=d?.usedKey||s,g=d?.exactUsedKey||s,h=void 0!==t.joinArrays?t.joinArrays:this.options.joinArrays,f=!this.i18nFormat||this.i18nFormat.handleAsObject,m=void 0!==t.count&&!D(t.count),y=oe.hasDefaultValue(t),b=m?this.pluralResolver.getSuffix(l,t.count,t):"",v=t.ordinal&&m?this.pluralResolver.getSuffix(l,t.count,{ordinal:!1}):"",S=m&&!t.ordinal&&0===t.count,C=S&&t[`defaultValue${this.options.pluralSeparator}zero`]||t[`defaultValue${b}`]||t[`defaultValue${v}`]||t.defaultValue;let P=p;f&&!p&&y&&(P=C);const x=ae(P),k=Object.prototype.toString.apply(P);if(!(f&&P&&x&&["[object Number]","[object Function]","[object RegExp]"].indexOf(k)<0)||D(h)&&Array.isArray(P))if(f&&D(h)&&Array.isArray(p))p=p.join(h),p&&(p=this.extendTranslation(p,e,t,r));else{let i=!1,a=!1;!this.isValidLookup(p)&&y&&(i=!0,p=C),this.isValidLookup(p)||(a=!0,p=s);const c=(t.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&a?void 0:p,u=y&&C!==p&&this.options.updateMissing;if(a||i||u){if(this.logger.log(u?"updateKey":"missingKey",l,o,s,u?C:p),n){const e=this.resolve(s,{...t,keySeparator:!1});e&&e.res&&this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}let e=[];const r=this.languageUtils.getFallbackCodes(this.options.fallbackLng,t.lng||this.language);if("fallback"===this.options.saveMissingTo&&r&&r[0])for(let t=0;t<r.length;t++)e.push(r[t]);else"all"===this.options.saveMissingTo?e=this.languageUtils.toResolveHierarchy(t.lng||this.language):e.push(t.lng||this.language);const i=(e,r,i)=>{const n=y&&i!==p?i:c;this.options.missingKeyHandler?this.options.missingKeyHandler(e,o,r,n,u,t):this.backendConnector?.saveMissing&&this.backendConnector.saveMissing(e,o,r,n,u,t),this.emit("missingKey",e,o,r,p)};this.options.saveMissing&&(this.options.saveMissingPlurals&&m?e.forEach(e=>{const r=this.pluralResolver.getSuffixes(e,t);S&&t[`defaultValue${this.options.pluralSeparator}zero`]&&r.indexOf(`${this.options.pluralSeparator}zero`)<0&&r.push(`${this.options.pluralSeparator}zero`),r.forEach(r=>{i([e],s+r,t[`defaultValue${r}`]||C)})}):i(e,s,C))}p=this.extendTranslation(p,e,t,d,r),a&&p===s&&this.options.appendNamespaceToMissingKey&&(p=`${o}:${s}`),(a||i)&&this.options.parseMissingKeyHandler&&(p=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${o}:${s}`:s,i?p:void 0))}else{if(!t.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");const e=this.options.returnedObjectHandler?this.options.returnedObjectHandler(u,P,{...t,ns:a}):`key '${s} (${this.language})' returned an object instead of string.`;return i?(d.res=e,d.usedParams=this.getUsedParamsDetails(t),d):e}if(n){const e=Array.isArray(P),r=e?[]:{},i=e?g:u;for(const e in P)if(Object.prototype.hasOwnProperty.call(P,e)){const s=`${i}${n}${e}`;r[e]=y&&!p?this.translate(s,{...t,defaultValue:ae(C)?C[e]:void 0,joinArrays:!1,ns:a}):this.translate(s,{...t,joinArrays:!1,ns:a}),r[e]===s&&(r[e]=P[e])}p=r}}return i?(d.res=p,d.usedParams=this.getUsedParamsDetails(t),d):p}extendTranslation(e,t,r,i,n){var s=this;if(this.i18nFormat?.parse)e=this.i18nFormat.parse(e,{...this.options.interpolation.defaultVariables,...r},r.lng||this.language||i.usedLng,i.usedNS,i.usedKey,{resolved:i});else if(!r.skipInterpolation){r.interpolation&&this.interpolator.init({...r,interpolation:{...this.options.interpolation,...r.interpolation}});const a=D(e)&&(void 0!==r?.interpolation?.skipOnVariables?r.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);let o;if(a){const t=e.match(this.interpolator.nestingRegexp);o=t&&t.length}let l=r.replace&&!D(r.replace)?r.replace:r;if(this.options.interpolation.defaultVariables&&(l={...this.options.interpolation.defaultVariables,...l}),e=this.interpolator.interpolate(e,l,r.lng||this.language||i.usedLng,r),a){const t=e.match(this.interpolator.nestingRegexp);o<(t&&t.length)&&(r.nest=!1)}!r.lng&&i&&i.res&&(r.lng=this.language||i.usedLng),!1!==r.nest&&(e=this.interpolator.nest(e,function(){for(var e=arguments.length,i=new Array(e),a=0;a<e;a++)i[a]=arguments[a];return n?.[0]!==i[0]||r.context?s.translate(...i,t):(s.logger.warn(`It seems you are nesting recursively key: ${i[0]} in key: ${t[0]}`),null)},r)),r.interpolation&&this.interpolator.reset()}const a=r.postProcess||this.options.postProcess,o=D(a)?[a]:a;return null!=e&&o?.length&&!1!==r.applyPostProcessor&&(e=ne.handle(o,e,t,this.options&&this.options.postProcessPassResolved?{i18nResolved:{...i,usedParams:this.getUsedParamsDetails(r)},...r}:r,this)),e}resolve(e){let t,r,i,n,s,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return D(e)&&(e=[e]),e.forEach(e=>{if(this.isValidLookup(t))return;const o=this.extractFromKey(e,a),l=o.key;r=l;let c=o.namespaces;this.options.fallbackNS&&(c=c.concat(this.options.fallbackNS));const d=void 0!==a.count&&!D(a.count),p=d&&!a.ordinal&&0===a.count,u=void 0!==a.context&&(D(a.context)||"number"==typeof a.context)&&""!==a.context,g=a.lngs?a.lngs:this.languageUtils.toResolveHierarchy(a.lng||this.language,a.fallbackLng);c.forEach(e=>{this.isValidLookup(t)||(s=e,se[`${g[0]}-${e}`]||!this.utils?.hasLoadedNamespace||this.utils?.hasLoadedNamespace(s)||(se[`${g[0]}-${e}`]=!0,this.logger.warn(`key "${r}" for languages "${g.join(", ")}" won't get resolved as namespace "${s}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),g.forEach(r=>{if(this.isValidLookup(t))return;n=r;const s=[l];if(this.i18nFormat?.addLookupKeys)this.i18nFormat.addLookupKeys(s,l,r,e,a);else{let e;d&&(e=this.pluralResolver.getSuffix(r,a.count,a));const t=`${this.options.pluralSeparator}zero`,i=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(d&&(s.push(l+e),a.ordinal&&0===e.indexOf(i)&&s.push(l+e.replace(i,this.options.pluralSeparator)),p&&s.push(l+t)),u){const r=`${l}${this.options.contextSeparator}${a.context}`;s.push(r),d&&(s.push(r+e),a.ordinal&&0===e.indexOf(i)&&s.push(r+e.replace(i,this.options.pluralSeparator)),p&&s.push(r+t))}}let o;for(;o=s.pop();)this.isValidLookup(t)||(i=o,t=this.getResource(r,e,o,a))}))})}),{res:t,usedKey:r,exactUsedKey:i,usedLng:n,usedNS:s}}isValidLookup(e){return!(void 0===e||!this.options.returnNull&&null===e||!this.options.returnEmptyString&&""===e)}getResource(e,t,r){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return this.i18nFormat?.getResource?this.i18nFormat.getResource(e,t,r,i):this.resourceStore.getResource(e,t,r,i)}getUsedParamsDetails(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const t=["defaultValue","ordinal","context","replace","lng","lngs","fallbackLng","ns","keySeparator","nsSeparator","returnObjects","returnDetails","joinArrays","postProcess","interpolation"],r=e.replace&&!D(e.replace);let i=r?e.replace:e;if(r&&void 0!==e.count&&(i.count=e.count),this.options.interpolation.defaultVariables&&(i={...this.options.interpolation.defaultVariables,...i}),!r){i={...i};for(const e of t)delete i[e]}return i}static hasDefaultValue(e){const t="defaultValue";for(const r in e)if(Object.prototype.hasOwnProperty.call(e,r)&&t===r.substring(0,12)&&void 0!==e[r])return!0;return!1}}class le{constructor(e){this.options=e,this.supportedLngs=this.options.supportedLngs||!1,this.logger=te.create("languageUtils")}getScriptPartFromCode(e){if(!(e=X(e))||e.indexOf("-")<0)return null;const t=e.split("-");return 2===t.length?null:(t.pop(),"x"===t[t.length-1].toLowerCase()?null:this.formatLanguageCode(t.join("-")))}getLanguagePartFromCode(e){if(!(e=X(e))||e.indexOf("-")<0)return e;const t=e.split("-");return this.formatLanguageCode(t[0])}formatLanguageCode(e){if(D(e)&&e.indexOf("-")>-1){let t;try{t=Intl.getCanonicalLocales(e)[0]}catch(e){}return t&&this.options.lowerCaseLng&&(t=t.toLowerCase()),t||(this.options.lowerCaseLng?e.toLowerCase():e)}return this.options.cleanCode||this.options.lowerCaseLng?e.toLowerCase():e}isSupportedCode(e){return("languageOnly"===this.options.load||this.options.nonExplicitSupportedLngs)&&(e=this.getLanguagePartFromCode(e)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(e)>-1}getBestMatchFromCodes(e){if(!e)return null;let t;return e.forEach(e=>{if(t)return;const r=this.formatLanguageCode(e);this.options.supportedLngs&&!this.isSupportedCode(r)||(t=r)}),!t&&this.options.supportedLngs&&e.forEach(e=>{if(t)return;const r=this.getScriptPartFromCode(e);if(this.isSupportedCode(r))return t=r;const i=this.getLanguagePartFromCode(e);if(this.isSupportedCode(i))return t=i;t=this.options.supportedLngs.find(e=>e===i?e:e.indexOf("-")<0&&i.indexOf("-")<0?void 0:e.indexOf("-")>0&&i.indexOf("-")<0&&e.substring(0,e.indexOf("-"))===i||0===e.indexOf(i)&&i.length>1?e:void 0)}),t||(t=this.getFallbackCodes(this.options.fallbackLng)[0]),t}getFallbackCodes(e,t){if(!e)return[];if("function"==typeof e&&(e=e(t)),D(e)&&(e=[e]),Array.isArray(e))return e;if(!t)return e.default||[];let r=e[t];return r||(r=e[this.getScriptPartFromCode(t)]),r||(r=e[this.formatLanguageCode(t)]),r||(r=e[this.getLanguagePartFromCode(t)]),r||(r=e.default),r||[]}toResolveHierarchy(e,t){const r=this.getFallbackCodes(t||this.options.fallbackLng||[],e),i=[],n=e=>{e&&(this.isSupportedCode(e)?i.push(e):this.logger.warn(`rejecting language code not found in supportedLngs: ${e}`))};return D(e)&&(e.indexOf("-")>-1||e.indexOf("_")>-1)?("languageOnly"!==this.options.load&&n(this.formatLanguageCode(e)),"languageOnly"!==this.options.load&&"currentOnly"!==this.options.load&&n(this.getScriptPartFromCode(e)),"currentOnly"!==this.options.load&&n(this.getLanguagePartFromCode(e))):D(e)&&n(this.formatLanguageCode(e)),r.forEach(e=>{i.indexOf(e)<0&&n(this.formatLanguageCode(e))}),i}}const ce={zero:0,one:1,two:2,few:3,many:4,other:5},de={select:e=>1===e?"one":"other",resolvedOptions:()=>({pluralCategories:["one","other"]})};class pe{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.languageUtils=e,this.options=t,this.logger=te.create("pluralResolver"),this.pluralRulesCache={}}addRule(e,t){this.rules[e]=t}clearCache(){this.pluralRulesCache={}}getRule(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const r=X("dev"===e?"en":e),i=t.ordinal?"ordinal":"cardinal",n=JSON.stringify({cleanedCode:r,type:i});if(n in this.pluralRulesCache)return this.pluralRulesCache[n];let s;try{s=new Intl.PluralRules(r,{type:i})}catch(r){if(!Intl)return this.logger.error("No Intl support, please use an Intl polyfill!"),de;if(!e.match(/-|_/))return de;const i=this.languageUtils.getLanguagePartFromCode(e);s=this.getRule(i,t)}return this.pluralRulesCache[n]=s,s}needsPlural(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=this.getRule(e,t);return r||(r=this.getRule("dev",t)),r?.resolvedOptions().pluralCategories.length>1}getPluralFormsOfKey(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.getSuffixes(e,r).map(e=>`${t}${e}`)}getSuffixes(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=this.getRule(e,t);return r||(r=this.getRule("dev",t)),r?r.resolvedOptions().pluralCategories.sort((e,t)=>ce[e]-ce[t]).map(e=>`${this.options.prepend}${t.ordinal?`ordinal${this.options.prepend}`:""}${e}`):[]}getSuffix(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const i=this.getRule(e,r);return i?`${this.options.prepend}${r.ordinal?`ordinal${this.options.prepend}`:""}${i.select(t)}`:(this.logger.warn(`no plural rule found for: ${e}`),this.getSuffix("dev",t,r))}}const ue=function(e,t,r){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:".",n=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],s=((e,t,r)=>{const i=J(e,r);return void 0!==i?i:J(t,r)})(e,t,r);return!s&&n&&D(r)&&(s=Q(e,r,i),void 0===s&&(s=Q(t,r,i))),s},ge=e=>e.replace(/\$/g,"$$$$");class he{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.logger=te.create("interpolator"),this.options=e,this.format=e?.interpolation?.format||(e=>e),this.init(e)}init(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};e.interpolation||(e.interpolation={escapeValue:!0});const{escape:t,escapeValue:r,useRawValueToEscape:i,prefix:n,prefixEscaped:s,suffix:a,suffixEscaped:o,formatSeparator:l,unescapeSuffix:c,unescapePrefix:d,nestingPrefix:p,nestingPrefixEscaped:u,nestingSuffix:g,nestingSuffixEscaped:h,nestingOptionsSeparator:f,maxReplaces:m,alwaysFormat:y}=e.interpolation;this.escape=void 0!==t?t:H,this.escapeValue=void 0===r||r,this.useRawValueToEscape=void 0!==i&&i,this.prefix=n?U(n):s||"{{",this.suffix=a?U(a):o||"}}",this.formatSeparator=l||",",this.unescapePrefix=c?"":d||"-",this.unescapeSuffix=this.unescapePrefix?"":c||"",this.nestingPrefix=p?U(p):u||U("$t("),this.nestingSuffix=g?U(g):h||U(")"),this.nestingOptionsSeparator=f||",",this.maxReplaces=m||1e3,this.alwaysFormat=void 0!==y&&y,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){const e=(e,t)=>e?.source===t?(e.lastIndex=0,e):new RegExp(t,"g");this.regexp=e(this.regexp,`${this.prefix}(.+?)${this.suffix}`),this.regexpUnescape=e(this.regexpUnescape,`${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`),this.nestingRegexp=e(this.nestingRegexp,`${this.nestingPrefix}(.+?)${this.nestingSuffix}`)}interpolate(e,t,r,i){let n,s,a;const o=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{},l=e=>{if(e.indexOf(this.formatSeparator)<0){const n=ue(t,o,e,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(n,void 0,r,{...i,...t,interpolationkey:e}):n}const n=e.split(this.formatSeparator),s=n.shift().trim(),a=n.join(this.formatSeparator).trim();return this.format(ue(t,o,s,this.options.keySeparator,this.options.ignoreJSONStructure),a,r,{...i,...t,interpolationkey:s})};this.resetRegExp();const c=i?.missingInterpolationHandler||this.options.missingInterpolationHandler,d=void 0!==i?.interpolation?.skipOnVariables?i.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:e=>ge(e)},{regex:this.regexp,safeValue:e=>this.escapeValue?ge(this.escape(e)):ge(e)}].forEach(t=>{for(a=0;n=t.regex.exec(e);){const r=n[1].trim();if(s=l(r),void 0===s)if("function"==typeof c){const t=c(e,n,i);s=D(t)?t:""}else if(i&&Object.prototype.hasOwnProperty.call(i,r))s="";else{if(d){s=n[0];continue}this.logger.warn(`missed to pass in variable ${r} for interpolating ${e}`),s=""}else D(s)||this.useRawValueToEscape||(s=T(s));const o=t.safeValue(s);if(e=e.replace(n[0],o),d?(t.regex.lastIndex+=s.length,t.regex.lastIndex-=n[0].length):t.regex.lastIndex=0,a++,a>=this.maxReplaces)break}}),e}nest(e,t){let r,i,n,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const a=(e,t)=>{const r=this.nestingOptionsSeparator;if(e.indexOf(r)<0)return e;const i=e.split(new RegExp(`${r}[ ]*{`));let s=`{${i[1]}`;e=i[0],s=this.interpolate(s,n);const a=s.match(/'/g),o=s.match(/"/g);((a?.length??0)%2==0&&!o||o.length%2!=0)&&(s=s.replace(/'/g,'"'));try{n=JSON.parse(s),t&&(n={...t,...n})}catch(t){return this.logger.warn(`failed parsing options string in nesting for key ${e}`,t),`${e}${r}${s}`}return n.defaultValue&&n.defaultValue.indexOf(this.prefix)>-1&&delete n.defaultValue,e};for(;r=this.nestingRegexp.exec(e);){let o=[];n={...s},n=n.replace&&!D(n.replace)?n.replace:n,n.applyPostProcessor=!1,delete n.defaultValue;let l=!1;if(-1!==r[0].indexOf(this.formatSeparator)&&!/{.*}/.test(r[1])){const e=r[1].split(this.formatSeparator).map(e=>e.trim());r[1]=e.shift(),o=e,l=!0}if(i=t(a.call(this,r[1].trim(),n),n),i&&r[0]===e&&!D(i))return i;D(i)||(i=T(i)),i||(this.logger.warn(`missed to resolve ${r[1]} for nesting ${e}`),i=""),l&&(i=o.reduce((e,t)=>this.format(e,t,s.lng,{...s,interpolationkey:r[1].trim()}),i.trim())),e=e.replace(r[0],i),this.regexp.lastIndex=0}return e}}const fe=e=>{const t={};return(r,i,n)=>{let s=n;n&&n.interpolationkey&&n.formatParams&&n.formatParams[n.interpolationkey]&&n[n.interpolationkey]&&(s={...s,[n.interpolationkey]:void 0});const a=i+JSON.stringify(s);let o=t[a];return o||(o=e(X(i),n),t[a]=o),o(r)}};class me{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.logger=te.create("formatter"),this.options=e,this.formats={number:fe((e,t)=>{const r=new Intl.NumberFormat(e,{...t});return e=>r.format(e)}),currency:fe((e,t)=>{const r=new Intl.NumberFormat(e,{...t,style:"currency"});return e=>r.format(e)}),datetime:fe((e,t)=>{const r=new Intl.DateTimeFormat(e,{...t});return e=>r.format(e)}),relativetime:fe((e,t)=>{const r=new Intl.RelativeTimeFormat(e,{...t});return e=>r.format(e,t.range||"day")}),list:fe((e,t)=>{const r=new Intl.ListFormat(e,{...t});return e=>r.format(e)})},this.init(e)}init(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{interpolation:{}};this.formatSeparator=t.interpolation.formatSeparator||","}add(e,t){this.formats[e.toLowerCase().trim()]=t}addCached(e,t){this.formats[e.toLowerCase().trim()]=fe(t)}format(e,t,r){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const n=t.split(this.formatSeparator);if(n.length>1&&n[0].indexOf("(")>1&&n[0].indexOf(")")<0&&n.find(e=>e.indexOf(")")>-1)){const e=n.findIndex(e=>e.indexOf(")")>-1);n[0]=[n[0],...n.splice(1,e)].join(this.formatSeparator)}return n.reduce((e,t)=>{const{formatName:n,formatOptions:s}=(e=>{let t=e.toLowerCase().trim();const r={};if(e.indexOf("(")>-1){const i=e.split("(");t=i[0].toLowerCase().trim();const n=i[1].substring(0,i[1].length-1);"currency"===t&&n.indexOf(":")<0?r.currency||(r.currency=n.trim()):"relativetime"===t&&n.indexOf(":")<0?r.range||(r.range=n.trim()):n.split(";").forEach(e=>{if(e){const[t,...i]=e.split(":"),n=i.join(":").trim().replace(/^'+|'+$/g,""),s=t.trim();r[s]||(r[s]=n),"false"===n&&(r[s]=!1),"true"===n&&(r[s]=!0),isNaN(n)||(r[s]=parseInt(n,10))}})}return{formatName:t,formatOptions:r}})(t);if(this.formats[n]){let t=e;try{const a=i?.formatParams?.[i.interpolationkey]||{},o=a.locale||a.lng||i.locale||i.lng||r;t=this.formats[n](e,o,{...s,...i,...a})}catch(e){this.logger.warn(e)}return t}return this.logger.warn(`there was no format function for ${n}`),e},e)}}class ye extends re{constructor(e,t,r){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};super(),this.backend=e,this.store=t,this.services=r,this.languageUtils=r.languageUtils,this.options=i,this.logger=te.create("backendConnector"),this.waitingReads=[],this.maxParallelReads=i.maxParallelReads||10,this.readingCalls=0,this.maxRetries=i.maxRetries>=0?i.maxRetries:5,this.retryTimeout=i.retryTimeout>=1?i.retryTimeout:350,this.state={},this.queue=[],this.backend?.init?.(r,i.backend,i)}queueLoad(e,t,r,i){const n={},s={},a={},o={};return e.forEach(e=>{let i=!0;t.forEach(t=>{const a=`${e}|${t}`;!r.reload&&this.store.hasResourceBundle(e,t)?this.state[a]=2:this.state[a]<0||(1===this.state[a]?void 0===s[a]&&(s[a]=!0):(this.state[a]=1,i=!1,void 0===s[a]&&(s[a]=!0),void 0===n[a]&&(n[a]=!0),void 0===o[t]&&(o[t]=!0)))}),i||(a[e]=!0)}),(Object.keys(n).length||Object.keys(s).length)&&this.queue.push({pending:s,pendingCount:Object.keys(s).length,loaded:{},errors:[],callback:i}),{toLoad:Object.keys(n),pending:Object.keys(s),toLoadLanguages:Object.keys(a),toLoadNamespaces:Object.keys(o)}}loaded(e,t,r){const i=e.split("|"),n=i[0],s=i[1];t&&this.emit("failedLoading",n,s,t),!t&&r&&this.store.addResourceBundle(n,s,r,void 0,void 0,{skipCopy:!0}),this.state[e]=t?-1:2,t&&r&&(this.state[e]=0);const a={};this.queue.forEach(r=>{((e,t,r)=>{const{obj:i,k:n}=K(e,t,Object);i[n]=i[n]||[],i[n].push(r)})(r.loaded,[n],s),((e,t)=>{void 0!==e.pending[t]&&(delete e.pending[t],e.pendingCount--)})(r,e),t&&r.errors.push(t),0!==r.pendingCount||r.done||(Object.keys(r.loaded).forEach(e=>{a[e]||(a[e]={});const t=r.loaded[e];t.length&&t.forEach(t=>{void 0===a[e][t]&&(a[e][t]=!0)})}),r.done=!0,r.errors.length?r.callback(r.errors):r.callback())}),this.emit("loaded",a),this.queue=this.queue.filter(e=>!e.done)}read(e,t,r){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:this.retryTimeout,s=arguments.length>5?arguments[5]:void 0;if(!e.length)return s(null,{});if(this.readingCalls>=this.maxParallelReads)return void this.waitingReads.push({lng:e,ns:t,fcName:r,tried:i,wait:n,callback:s});this.readingCalls++;const a=(a,o)=>{if(this.readingCalls--,this.waitingReads.length>0){const e=this.waitingReads.shift();this.read(e.lng,e.ns,e.fcName,e.tried,e.wait,e.callback)}a&&o&&i<this.maxRetries?setTimeout(()=>{this.read.call(this,e,t,r,i+1,2*n,s)},n):s(a,o)},o=this.backend[r].bind(this.backend);if(2!==o.length)return o(e,t,a);try{const r=o(e,t);r&&"function"==typeof r.then?r.then(e=>a(null,e)).catch(a):a(null,r)}catch(e){a(e)}}prepareLoading(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=arguments.length>3?arguments[3]:void 0;if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),i&&i();D(e)&&(e=this.languageUtils.toResolveHierarchy(e)),D(t)&&(t=[t]);const n=this.queueLoad(e,t,r,i);if(!n.toLoad.length)return n.pending.length||i(),null;n.toLoad.forEach(e=>{this.loadOne(e)})}load(e,t,r){this.prepareLoading(e,t,{},r)}reload(e,t,r){this.prepareLoading(e,t,{reload:!0},r)}loadOne(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";const r=e.split("|"),i=r[0],n=r[1];this.read(i,n,"read",void 0,void 0,(r,s)=>{r&&this.logger.warn(`${t}loading namespace ${n} for language ${i} failed`,r),!r&&s&&this.logger.log(`${t}loaded namespace ${n} for language ${i}`,s),this.loaded(e,r,s)})}saveMissing(e,t,r,i,n){let s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{},a=arguments.length>6&&void 0!==arguments[6]?arguments[6]:()=>{};if(!this.services?.utils?.hasLoadedNamespace||this.services?.utils?.hasLoadedNamespace(t)){if(null!=r&&""!==r){if(this.backend?.create){const o={...s,isUpdate:n},l=this.backend.create.bind(this.backend);if(l.length<6)try{let n;n=5===l.length?l(e,t,r,i,o):l(e,t,r,i),n&&"function"==typeof n.then?n.then(e=>a(null,e)).catch(a):a(null,n)}catch(e){a(e)}else l(e,t,r,i,a,o)}e&&e[0]&&this.store.addResource(e[0],t,r,i)}}else this.logger.warn(`did not save key "${r}" as the namespace "${t}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")}}const be=()=>({debug:!1,initAsync:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!1,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:e=>{let t={};if("object"==typeof e[1]&&(t=e[1]),D(e[1])&&(t.defaultValue=e[1]),D(e[2])&&(t.tDescription=e[2]),"object"==typeof e[2]||"object"==typeof e[3]){const r=e[3]||e[2];Object.keys(r).forEach(e=>{t[e]=r[e]})}return t},interpolation:{escapeValue:!0,format:e=>e,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0}}),ve=e=>(D(e.ns)&&(e.ns=[e.ns]),D(e.fallbackLng)&&(e.fallbackLng=[e.fallbackLng]),D(e.fallbackNS)&&(e.fallbackNS=[e.fallbackNS]),e.supportedLngs?.indexOf?.("cimode")<0&&(e.supportedLngs=e.supportedLngs.concat(["cimode"])),"boolean"==typeof e.initImmediate&&(e.initAsync=e.initImmediate),e),Se=()=>{};class Ce extends re{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;var r;if(super(),this.options=ve(e),this.services={},this.logger=te,this.modules={external:[]},r=this,Object.getOwnPropertyNames(Object.getPrototypeOf(r)).forEach(e=>{"function"==typeof r[e]&&(r[e]=r[e].bind(r))}),t&&!this.isInitialized&&!e.isClone){if(!this.options.initAsync)return this.init(e,t),this;setTimeout(()=>{this.init(e,t)},0)}}init(){var e=this;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1?arguments[1]:void 0;this.isInitializing=!0,"function"==typeof t&&(r=t,t={}),null==t.defaultNS&&t.ns&&(D(t.ns)?t.defaultNS=t.ns:t.ns.indexOf("translation")<0&&(t.defaultNS=t.ns[0]));const i=be();this.options={...i,...this.options,...ve(t)},this.options.interpolation={...i.interpolation,...this.options.interpolation},void 0!==t.keySeparator&&(this.options.userDefinedKeySeparator=t.keySeparator),void 0!==t.nsSeparator&&(this.options.userDefinedNsSeparator=t.nsSeparator);const n=e=>e?"function"==typeof e?new e:e:null;if(!this.options.isClone){let t;this.modules.logger?te.init(n(this.modules.logger),this.options):te.init(null,this.options),t=this.modules.formatter?this.modules.formatter:me;const r=new le(this.options);this.store=new ie(this.options.resources,this.options);const s=this.services;s.logger=te,s.resourceStore=this.store,s.languageUtils=r,s.pluralResolver=new pe(r,{prepend:this.options.pluralSeparator,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),!t||this.options.interpolation.format&&this.options.interpolation.format!==i.interpolation.format||(s.formatter=n(t),s.formatter.init(s,this.options),this.options.interpolation.format=s.formatter.format.bind(s.formatter)),s.interpolator=new he(this.options),s.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},s.backendConnector=new ye(n(this.modules.backend),s.resourceStore,s,this.options),s.backendConnector.on("*",function(t){for(var r=arguments.length,i=new Array(r>1?r-1:0),n=1;n<r;n++)i[n-1]=arguments[n];e.emit(t,...i)}),this.modules.languageDetector&&(s.languageDetector=n(this.modules.languageDetector),s.languageDetector.init&&s.languageDetector.init(s,this.options.detection,this.options)),this.modules.i18nFormat&&(s.i18nFormat=n(this.modules.i18nFormat),s.i18nFormat.init&&s.i18nFormat.init(this)),this.translator=new oe(this.services,this.options),this.translator.on("*",function(t){for(var r=arguments.length,i=new Array(r>1?r-1:0),n=1;n<r;n++)i[n-1]=arguments[n];e.emit(t,...i)}),this.modules.external.forEach(e=>{e.init&&e.init(this)})}if(this.format=this.options.interpolation.format,r||(r=Se),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){const e=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);e.length>0&&"dev"!==e[0]&&(this.options.lng=e[0])}this.services.languageDetector||this.options.lng||this.logger.warn("init: no languageDetector is used and no lng is defined");["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"].forEach(t=>{this[t]=function(){return e.store[t](...arguments)}});["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach(t=>{this[t]=function(){return e.store[t](...arguments),e}});const s=z(),a=()=>{const e=(e,t)=>{this.isInitializing=!1,this.isInitialized&&!this.initializedStoreOnce&&this.logger.warn("init: i18next is already initialized. You should call init just once!"),this.isInitialized=!0,this.options.isClone||this.logger.log("initialized",this.options),this.emit("initialized",this.options),s.resolve(t),r(e,t)};if(this.languages&&!this.isInitialized)return e(null,this.t.bind(this));this.changeLanguage(this.options.lng,e)};return this.options.resources||!this.options.initAsync?a():setTimeout(a,0),s}loadResources(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Se;const r=D(e)?e:this.language;if("function"==typeof e&&(t=e),!this.options.resources||this.options.partialBundledLanguages){if("cimode"===r?.toLowerCase()&&(!this.options.preload||0===this.options.preload.length))return t();const e=[],i=t=>{if(!t)return;if("cimode"===t)return;this.services.languageUtils.toResolveHierarchy(t).forEach(t=>{"cimode"!==t&&e.indexOf(t)<0&&e.push(t)})};if(r)i(r);else{this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(e=>i(e))}this.options.preload?.forEach?.(e=>i(e)),this.services.backendConnector.load(e,this.options.ns,e=>{e||this.resolvedLanguage||!this.language||this.setResolvedLanguage(this.language),t(e)})}else t(null)}reloadResources(e,t,r){const i=z();return"function"==typeof e&&(r=e,e=void 0),"function"==typeof t&&(r=t,t=void 0),e||(e=this.languages),t||(t=this.options.ns),r||(r=Se),this.services.backendConnector.reload(e,t,e=>{i.resolve(),r(e)}),i}use(e){if(!e)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!e.type)throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return"backend"===e.type&&(this.modules.backend=e),("logger"===e.type||e.log&&e.warn&&e.error)&&(this.modules.logger=e),"languageDetector"===e.type&&(this.modules.languageDetector=e),"i18nFormat"===e.type&&(this.modules.i18nFormat=e),"postProcessor"===e.type&&ne.addPostProcessor(e),"formatter"===e.type&&(this.modules.formatter=e),"3rdParty"===e.type&&this.modules.external.push(e),this}setResolvedLanguage(e){if(e&&this.languages&&!(["cimode","dev"].indexOf(e)>-1)){for(let e=0;e<this.languages.length;e++){const t=this.languages[e];if(!(["cimode","dev"].indexOf(t)>-1)&&this.store.hasLanguageSomeTranslations(t)){this.resolvedLanguage=t;break}}!this.resolvedLanguage&&this.languages.indexOf(e)<0&&this.store.hasLanguageSomeTranslations(e)&&(this.resolvedLanguage=e,this.languages.indexOf(e)<0&&this.languages.unshift(e))}}changeLanguage(e,t){var r=this;this.isLanguageChangingTo=e;const i=z();this.emit("languageChanging",e);const n=e=>{this.language=e,this.languages=this.services.languageUtils.toResolveHierarchy(e),this.resolvedLanguage=void 0,this.setResolvedLanguage(e)},s=(s,a)=>{a?this.isLanguageChangingTo===e&&(n(a),this.translator.changeLanguage(a),this.isLanguageChangingTo=void 0,this.emit("languageChanged",a),this.logger.log("languageChanged",a)):this.isLanguageChangingTo=void 0,i.resolve(function(){return r.t(...arguments)}),t&&t(s,function(){return r.t(...arguments)})},a=t=>{e||t||!this.services.languageDetector||(t=[]);const r=D(t)?t:t&&t[0],i=this.store.hasLanguageSomeTranslations(r)?r:this.services.languageUtils.getBestMatchFromCodes(D(t)?[t]:t);i&&(this.language||n(i),this.translator.language||this.translator.changeLanguage(i),this.services.languageDetector?.cacheUserLanguage?.(i)),this.loadResources(i,e=>{s(e,i)})};return e||!this.services.languageDetector||this.services.languageDetector.async?!e&&this.services.languageDetector&&this.services.languageDetector.async?0===this.services.languageDetector.detect.length?this.services.languageDetector.detect().then(a):this.services.languageDetector.detect(a):a(e):a(this.services.languageDetector.detect()),i}getFixedT(e,t,r){var i=this;const n=function(e,t){let s;if("object"!=typeof t){for(var a=arguments.length,o=new Array(a>2?a-2:0),l=2;l<a;l++)o[l-2]=arguments[l];s=i.options.overloadTranslationOptionHandler([e,t].concat(o))}else s={...t};s.lng=s.lng||n.lng,s.lngs=s.lngs||n.lngs,s.ns=s.ns||n.ns,""!==s.keyPrefix&&(s.keyPrefix=s.keyPrefix||r||n.keyPrefix);const c=i.options.keySeparator||".";let d;return d=s.keyPrefix&&Array.isArray(e)?e.map(e=>`${s.keyPrefix}${c}${e}`):s.keyPrefix?`${s.keyPrefix}${c}${e}`:e,i.t(d,s)};return D(e)?n.lng=e:n.lngs=e,n.ns=t,n.keyPrefix=r,n}t(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return this.translator?.translate(...t)}exists(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return this.translator?.exists(...t)}setDefaultNamespace(e){this.options.defaultNS=e}hasLoadedNamespace(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;const r=t.lng||this.resolvedLanguage||this.languages[0],i=!!this.options&&this.options.fallbackLng,n=this.languages[this.languages.length-1];if("cimode"===r.toLowerCase())return!0;const s=(e,t)=>{const r=this.services.backendConnector.state[`${e}|${t}`];return-1===r||0===r||2===r};if(t.precheck){const e=t.precheck(this,s);if(void 0!==e)return e}return!!this.hasResourceBundle(r,e)||(!(this.services.backendConnector.backend&&(!this.options.resources||this.options.partialBundledLanguages))||!(!s(r,e)||i&&!s(n,e)))}loadNamespaces(e,t){const r=z();return this.options.ns?(D(e)&&(e=[e]),e.forEach(e=>{this.options.ns.indexOf(e)<0&&this.options.ns.push(e)}),this.loadResources(e=>{r.resolve(),t&&t(e)}),r):(t&&t(),Promise.resolve())}loadLanguages(e,t){const r=z();D(e)&&(e=[e]);const i=this.options.preload||[],n=e.filter(e=>i.indexOf(e)<0&&this.services.languageUtils.isSupportedCode(e));return n.length?(this.options.preload=i.concat(n),this.loadResources(e=>{r.resolve(),t&&t(e)}),r):(t&&t(),Promise.resolve())}dir(e){if(e||(e=this.resolvedLanguage||(this.languages?.length>0?this.languages[0]:this.language)),!e)return"rtl";const t=this.services?.languageUtils||new le(be());return["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam","ckb"].indexOf(t.getLanguagePartFromCode(e))>-1||e.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}static createInstance(){return new Ce(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},arguments.length>1?arguments[1]:void 0)}cloneInstance(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Se;const r=e.forkResourceStore;r&&delete e.forkResourceStore;const i={...this.options,...e,isClone:!0},n=new Ce(i);void 0===e.debug&&void 0===e.prefix||(n.logger=n.logger.clone(e));if(["store","services","language"].forEach(e=>{n[e]=this[e]}),n.services={...this.services},n.services.utils={hasLoadedNamespace:n.hasLoadedNamespace.bind(n)},r){const e=Object.keys(this.store.data).reduce((e,t)=>(e[t]={...this.store.data[t]},Object.keys(e[t]).reduce((r,i)=>(r[i]={...e[t][i]},r),{})),{});n.store=new ie(e,i),n.services.resourceStore=n.store}return n.translator=new oe(n.services,i),n.translator.on("*",function(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),i=1;i<t;i++)r[i-1]=arguments[i];n.emit(e,...r)}),n.init(i,t),n.translator.options=i,n.translator.backendConnector.services.utils={hasLoadedNamespace:n.hasLoadedNamespace.bind(n)},n}toJSON(){return{options:this.options,store:this.store,language:this.language,languages:this.languages,resolvedLanguage:this.resolvedLanguage}}}const Pe=Ce.createInstance();Pe.createInstance=Ce.createInstance,Pe.createInstance,Pe.dir,Pe.init,Pe.loadResources,Pe.reloadResources,Pe.use,Pe.changeLanguage,Pe.getFixedT,Pe.t,Pe.exists,Pe.setDefaultNamespace,Pe.hasLoadedNamespace,Pe.loadNamespaces,Pe.loadLanguages,Pe.use($).init({fallbackLng:"en",resources:v,ns:["translation"],defaultNS:"translation",interpolation:{escapeValue:!1},react:{useSuspense:!1},debug:"development"===process.env.NODE_ENV,missingKeyHandler:(e,t,r,i)=>(console.warn(`Missing translation key: ${r}`),r)});const xe="https://seo.apps.avada.io/proxy",ke=[{title:"How to write blog posts that rank on Google and show up in AI search?",description:"Use our AI-powered SEO blog builder to create high-quality content that answers real customer queries. Optimized for Google, Search Generative Experience and voice search",image:"https://cdn.shopify.com/s/files/1/0622/8439/8665/files/SEOon.jpg?v=1745392523&width=40",url:"https://apps.shopify.com/seoon-blog?utm_source=seo&utm_medium=homepage&utm_term=free_to_install",actionLabel:"Free to install",key:"blog"},{title:"Write better product descriptions, faster — with AI",description:"Generate SEO-optimized, high-converting product copy in bulk or one by one. Stay on-brand, support multiple languages, and get ready for AI-first search like ChatGPT",image:"https://cdn.shopify.com/app-store/listing_images/94a39d7591aada58e5a9774f23f933c0/icon/CLvM7tmkkI0DEAE=.jpeg?width=40",url:"https://apps.shopify.com/ai-product-copy?utm_source=seo&utm_medium=homepage&utm_term=free_to_install",actionLabel:"Free to install",key:"aiCopy"},{title:"Slow site hurting your SEO? Fix all images with one free click!",description:"Speed up your store and boost your SEO instantly with our 100% free, one-click image optimizer. No setup, no hassle just install the app and let it do the work for you.",image:"https://cdnapps.avada.io/ag-blog/LogoBannerCrossAppImage.png",url:"https://apps.shopify.com/ap-speed-optimizer?utm_source=seo&utm_medium=homepage&utm_term=free_to_install",actionLabel:"Optimize images now",key:"plaza"},{title:"Boost Your SEO Health!",description:"Resolve issues that hold your site back—404 errors, image problems, slow loading speed, and poor metadata. Keep your store fast, optimized, and ranking higher.",image:"https://cdn.shopify.com/app-store/listing_images/12c5f7113c40f4e4e5a57cad4ff6464f/icon/CMnGhqeTsPwCEAE=.jpeg?width=40",url:"https://apps.shopify.com/avada-seo-suite?utm_source=seo&utm_medium=homepage&utm_term=free_to_install",actionLabel:"Fix SEO Issues",key:"seo"}];function we(e,t){const r=function(e){switch(e){case"avada-seo-suite":return xe;case"seoon-blog":return"https://blogapp.seoon.io/proxy";case"ai-product-copy":return"https://ai-product-copy.firebaseapp.com/proxy";case"ap-speed-optimizer":return"https://app-plaza-image-optimizer.firebaseapp.com/proxy";default:return""}}(e);return`${r}${t}`}function Oe(e){switch(e){case"avada-seo-suite":return"8fdf4cab401bb8c55f006b210f905c99";case"seoon-blog":return"11b2fc581e5abab63e012721bcaed12a";case"ai-product-copy":return"293dfe9d8e908fdb401af1d8dda5145c";case"ap-speed-optimizer":return"e2fea4bf882eab44d34d4396099c78fe";default:return""}}n(".AC-CrossAppBanner{align-items:center;display:flex;gap:16px;position:relative}.AC-CrossAppBanner.audit .AC-CrossAppBanner__Thumbnail{max-width:50px}.AC-CrossAppBanner.audit .AC-CrossAppBanner__Close{right:-2px;top:-2px}.AC-CrossAppBanner.audit .AC-CrossAppBanner__Install{min-width:150px}.AC-CrossAppBanner .AC-CrossAppBanner__Thumbnail{border-radius:8px;box-shadow:0 4px 8px rgba(0,0,0,.25);max-width:70px;overflow:hidden}.AC-CrossAppBanner .AC-CrossAppBanner__Content{flex:1;vertical-align:center}.AC-CrossAppBanner .AC-CrossAppBanner__Install{min-width:120px}.AC-CrossAppBanner .AC-CrossAppBanner__Close{position:absolute;right:-6px;top:-6px}@media screen and (max-width:425px){.AC-CrossAppBanner{flex-direction:column}}");const Ae={"avada-seo-suite":"seo","seoon-blog":"blog","ai-product-copy":"aiCopy","ap-speed-optimizer":"plaza"};function Le(e){return null==e||("string"==typeof e||Array.isArray(e)?0===e.length:e instanceof Map||e instanceof Set?0===e.size:"object"==typeof e&&0===Object.keys(e).length)}exports.CrossAppBanner=({shopDomain:n,clickInstallCallback:s,appIds:a=["avada-seo-suite","seoon-blog","ai-product-copy","ap-speed-optimizer"]})=>{const[o,l]=r.useState(!1),[c,d]=r.useState({"avada-seo-suite":!1,"seoon-blog":!1,"ai-product-copy":!1,"ap-speed-optimizer":!1}),[p,u]=r.useState(0),[g,h]=r.useState({seo:!1,blog:!1,aiCopy:!1,plaza:!1}),[f,m]=r.useState(!1),[y,b]=r.useState(!1),[v,S]=r.useState(null),[C,P]=r.useState(null),x=e=>{const t=(()=>{const e=window.location.href.match(/https?:\/\/[^/]+(\/[^?]+)/);return e?e[1]:""})();return`cross-app-banner-dismissed-${function(e){switch(e){case"https://seo.apps.avada.io":return"avada-seo-suite";case"https://blogapp.seoon.io":return"seoon-blog";case"https://ai-product-copy.firebaseapp.com":return"ai-product-copy";case"https://app-plaza-image-optimizer.firebaseapp.com":return"ap-speed-optimizer";default:return"unknown"}}(window.location.origin)}-${t}-${e}`};r.useEffect(()=>{(()=>{const e={"avada-seo-suite":!1,"seoon-blog":!1,"ai-product-copy":!1,"ap-speed-optimizer":!1};a.forEach(t=>{"true"===localStorage.getItem(x(t))&&(e[t]=!0)}),d(e)})()},[a]);const k=a[p],w=k&&!f,O=r.useCallback(async e=>{const t=await fetch(function(e){const t=function(e){switch(e){case"avada-seo-suite":case"seoon-blog":return"/shop/blog";case"ai-product-copy":case"ap-speed-optimizer":return"/checkInstalled";default:return""}}(e);return we(e,t)}(e),{headers:{"X-SEO-Access-Token":Oe(e),"X-SEO-Shop-Domain":n}});if(!t.ok)throw new Error("Failed to fetch app installation status");return{...await t.json(),appId:e}},[n]),A=!!k&&"true"===localStorage.getItem(x(k));r.useEffect(()=>{let e=!1;return(async()=>{if(w&&!f&&!A){b(!0),P(null);try{const t=await O(k);e||S(t)}catch(t){e||P(t)}finally{e||b(!1)}}})(),()=>{e=!0}},[k,w,f,A,O]),r.useEffect(()=>{w&&!f&&A&&p<a.length-1&&u(e=>e+1)},[w,f,A,p,a.length]),r.useEffect(()=>{if(!Le(v)&&v.appId===k&&w&&!f){const e={...g},t="avada-seo-suite"===k||"seoon-blog"===k?"user"===v.userType:!!v.isInstalled;e[Ae[k]]=t,h(e),t?p<a.length-1&&u(e=>e+1):m(!0)}},[v]);const L=y,E=(()=>{if(o)return null;if(a.length>0){const e=a.find(e=>{const t=e;return!g[Ae[t]]&&!c[t]});if(e)return ke.find(t=>Ae[e]===t.key)}return ke.find(e=>{const t=Object.entries(Ae).find(([t,r])=>r===e.key)?.[0];return!g[e.key]&&!c[t]&&a.includes(t)})})();if(L||!E||o||Le(v))return null;const R=Object.entries(Ae).find(([e,t])=>t===E.key)?.[0];return e.jsx(t.AppProvider,{i18n:{},children:e.jsx(t.LegacyCard,{sectioned:!0,children:e.jsxs("div",{className:"AC-CrossAppBanner",children:[e.jsx("div",{className:"AC-CrossAppBanner__Thumbnail",children:e.jsx(t.Thumbnail,{size:"small",source:E.image,alt:""})}),e.jsxs("div",{className:"AC-CrossAppBanner__Content",children:[e.jsx(t.Text,{variant:"headingMd",as:"strong",children:E.title}),e.jsx("br",{}),E.description]}),e.jsx("div",{className:"AC-CrossAppBanner__Install",children:e.jsx(t.Button,{onClick:()=>{window.open(E.url),s&&s()},children:E.actionLabel})}),e.jsx("div",{className:"AC-CrossAppBanner__Close",children:e.jsx(t.Button,{icon:i.XIcon,variant:"tertiary",onClick:()=>{return e=R,localStorage.setItem(x(e),"true"),void l(!0);var e}})})]})})})},exports.PageSpeed=function({type:n="widget",shop:s,accessToken:a,appUrl:o}){const l=(()=>{const e=r.useContext(b),t=e?.details?.locale||"en";return r.useMemo(()=>{Pe.language!==t&&Pe.changeLanguage(t)},[t]),Pe})(),[c,d]=r.useState(!1),[g,h]=r.useState(!1),m=[{id:"bootup-time",title:l.t("PageSpeed.issues.bootupTime.title"),description:l.t("PageSpeed.issues.bootupTime.description")},{id:"largest-contentful-paint",title:l.t("PageSpeed.issues.largestContentfulPaint.title"),description:l.t("PageSpeed.issues.largestContentfulPaint.description")},{id:"largest-contentful-paint-element",title:l.t("PageSpeed.issues.largestContentfulPaintElement.title"),description:l.t("PageSpeed.issues.largestContentfulPaintElement.description")},{id:"lcp-lazy-loaded",title:l.t("PageSpeed.issues.lcpLazyLoaded.title"),description:l.t("PageSpeed.issues.lcpLazyLoaded.description")}];r.useEffect(()=>(document.body.style.overflow=g?"hidden":"auto",()=>{document.body.style.overflow="auto"}),[g]);const{data:v,loading:S}=y({url:(o||xe)+"/proxy/speed-score",headers:{"X-SEO-Access-Token":a,"X-SEO-Shop-Domain":s?.shopifyDomain||s?.domain||""},defaultData:{homePage:{desktopAudits:{},desktopScore:0},scanning:!1,updatedAt:(new Date).toISOString(),issues:[],score:0,lastScan:(new Date).toISOString()}}),C=Number(s?.customSpeedScore?.mobileScore)||v.homePage.desktopScore,P=Object.values(v.homePage.desktopAudits).filter(e=>"number"==typeof e.score&&e.score<1||!e.score).map(e=>e.id),x=m.filter(e=>P.includes(e.id));if(C>=90)return null;const{color:k,title:w,backgroundColor:O}=C>=50?{title:l.t("PageSpeed.medium"),color:"#B28400",backgroundColor:"#FFF3E3"}:{title:l.t("PageSpeed.poor"),color:"#8E1F0B",backgroundColor:"#FFECEC"};let A;if("widget"===n)A=e.jsxs("div",{className:"AC-PageSpeed-Widget__Container "+(c?"collapsed":""),children:[e.jsx("div",{className:"AC-PageSpeed-Widget__Item",children:e.jsx(t.Text,{as:"span",children:l.t("PageSpeed.webPerformanceIs",{PERFORMANCE:e.jsx("span",{style:{color:k},children:w})})})}),e.jsx("div",{className:"AC-PageSpeed-Widget__Item",children:l.t("PageSpeed.checkCritical",{LINK:e.jsx(t.Link,{onClick:()=>h(!0),children:l.t("PageSpeed.here")})})}),e.jsx("div",{className:"AC-PageSpeed__CircularProgressBar",onClick:()=>d(!c),children:e.jsx(p,{value:C,background:!0,backgroundPadding:0,styles:u({backgroundColor:"white",pathColor:k,trailColor:"transparent"}),children:e.jsx("p",{className:"AC-CircularProgressBar__Score--score",style:{color:k},children:C})})})]});else A=e.jsx(t.Banner,{title:"",tone:"critical",children:e.jsx(t.Text,{as:"span",children:l.t("PageSpeed.checkCriticalWebPerformance",{PERFORMANCE:w,LINK:e.jsx(t.Link,{onClick:()=>h(!0),children:l.t("PageSpeed.here")})})})});return console.log("loading || !data || data.scanning || !data.homePage",S||!v||v.scanning||!v.homePage),S||!v||v.scanning||!v.homePage?null:e.jsxs(t.AppProvider,{i18n:{},children:[A,g&&e.jsx("div",{className:"AC-PageSpeed__DetailReport",children:e.jsx(t.Page,{title:l.t("PageSpeed.title"),subtitle:l.t("PageSpeed.subtitle"),backAction:{onAction:()=>{h(!1)}},children:e.jsxs(t.Grid,{columns:{sm:3},children:[e.jsx(t.Grid.Cell,{columnSpan:{xs:6,sm:6,md:6,lg:4,xl:4},children:e.jsx(t.LegacyCard,{title:l.t("PageSpeed.performanceScore"),sectioned:!0,children:e.jsxs(t.BlockStack,{gap:"400",children:[e.jsxs(t.BlockStack,{gap:"200",inlineAlign:"center",children:[e.jsx("div",{className:"AC-PageSpeed__PerformanceScore",children:e.jsx(p,{value:C,background:!0,backgroundPadding:0,styles:u({backgroundColor:O,pathColor:k,trailColor:"transparent"}),children:e.jsx("div",{className:"AC-PageSpeed__PerformanceScore-wrapper",children:e.jsx("p",{className:"AC-PageSpeed__PerformanceScore--score",style:{color:k,fontSize:"40px",fontWeight:"650"},children:C})})})}),e.jsx(t.Text,{as:"span",children:l.t("PageSpeed.yourScore",{SCORE:w})}),e.jsx(t.Text,{as:"span",tone:"subdued",variant:"bodySm",children:l.t("PageSpeed.lastScanTime",{TIME:f(v?.updatedAt||new Date)})})]}),e.jsxs(t.BlockStack,{gap:"200",inlineAlign:"center",children:[e.jsx(t.Button,{variant:"primary",size:"large",onClick:()=>{window.open(`https://admin.shopify.com/store/${s?.shopifyDomain.replace(/\.myshopify\.com$/,"")}/apps/avada-seo-suite/embed/speed-up`,"_blank")},children:l.t("PageSpeed.optimizeNow")}),e.jsxs(t.InlineStack,{gap:"100",children:[e.jsx(t.Link,{url:`https://pagespeed.web.dev/analysis?url=${s?.shopifyDomain}`,monochrome:!0,removeUnderline:!0,external:!0,children:e.jsx(t.Text,{as:"span",tone:"subdued",variant:"bodyMd",children:l.t("PageSpeed.resultFrom")})}),e.jsx(t.Box,{children:e.jsx(t.Icon,{tone:"subdued",source:i.ExternalIcon})})]})]})]})})}),e.jsx(t.Grid.Cell,{columnSpan:{xs:6,sm:6,md:6,lg:8,xl:8},children:e.jsx(t.LegacyCard,{title:l.t("PageSpeed.criticalIssue"),sectioned:!0,children:e.jsx(t.BlockStack,{gap:"400",children:x.map((r,i)=>e.jsx("div",{style:{borderRadius:"8px",padding:"16px",outline:"solid 2px #E3E3E3"},children:e.jsxs(t.BlockStack,{gap:"300",children:[e.jsx(t.Text,{as:"span",variant:"headingMd",tone:"critical",children:r.title}),e.jsx(t.Text,{as:"span",children:r.description})]})},i))})})})]})})})]})};
|