@elementor/editor-audits 4.4.0-1075 → 4.4.0-1076

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/index.mjs CHANGED
@@ -13,10 +13,10 @@ import { __ as __22 } from "@wordpress/i18n";
13
13
  import { createFloatingPanel } from "@elementor/editor-floating-panels";
14
14
 
15
15
  // src/components/audit-panel.tsx
16
- import * as React22 from "react";
16
+ import * as React23 from "react";
17
17
  import { getCurrentDocumentId as getCurrentDocumentId2 } from "@elementor/editor-elements";
18
18
  import { FloatingPanelBody, FloatingPanelFooter, FloatingPanelHeader } from "@elementor/editor-floating-panels";
19
- import { Box as Box19, Button as Button4, Typography as Typography15 } from "@elementor/ui";
19
+ import { Box as Box19, Button as Button5, Typography as Typography15 } from "@elementor/ui";
20
20
  import { __ as __21 } from "@wordpress/i18n";
21
21
 
22
22
  // src/hooks/use-audit-report.ts
@@ -723,13 +723,13 @@ function WelcomePage() {
723
723
  }
724
724
 
725
725
  // src/components/report-shell.tsx
726
- import * as React21 from "react";
726
+ import * as React22 from "react";
727
727
  import { useState as useState4 } from "react";
728
728
  import { Box as Box18, Divider as Divider2, Tab, Tabs } from "@elementor/ui";
729
729
  import { __ as __20 } from "@wordpress/i18n";
730
730
 
731
731
  // src/components/pages/all-audits-page.tsx
732
- import * as React11 from "react";
732
+ import * as React12 from "react";
733
733
  import { Box as Box8 } from "@elementor/ui";
734
734
  import { __ as __12 } from "@wordpress/i18n";
735
735
 
@@ -782,7 +782,7 @@ function SubpageHeader({ title, onBack, backLabel, icon }) {
782
782
  }
783
783
 
784
784
  // src/components/violation-row.tsx
785
- import * as React10 from "react";
785
+ import * as React11 from "react";
786
786
  import { useState as useState3 } from "react";
787
787
  import { getElementIcon, getElementTitle } from "@elementor/editor-elements";
788
788
  import { AlertCircleIcon as AlertCircleIcon2, BulbIcon, CheckIcon, ChevronDownIcon as ChevronDownIcon2, EyeIcon, HelpIcon } from "@elementor/icons";
@@ -899,13 +899,25 @@ function SeverityIcon({ severity }) {
899
899
  return /* @__PURE__ */ React8.createElement(Icon, { fontSize: "small", color });
900
900
  }
901
901
 
902
- // src/components/violation-icons.tsx
902
+ // src/components/violation-cta-button.tsx
903
903
  import * as React9 from "react";
904
+ import { Button as Button3 } from "@elementor/ui";
905
+ function ViolationCtaButton({ ctaLabel, externalUrl }) {
906
+ const handleClick = (event) => {
907
+ event.stopPropagation();
908
+ event.preventDefault();
909
+ window.open(externalUrl, "_blank", "noopener");
910
+ };
911
+ return /* @__PURE__ */ React9.createElement(Button3, { variant: "outlined", color: "secondary", size: "small", onClick: handleClick }, ctaLabel);
912
+ }
913
+
914
+ // src/components/violation-icons.tsx
915
+ import * as React10 from "react";
904
916
  import { FileSettingsIcon, SettingsIcon, ShieldCheckIcon } from "@elementor/icons";
905
917
  import { Box as Box6 } from "@elementor/ui";
906
918
  function ViolationIcon({ violation, widgetIcon }) {
907
919
  if (widgetIcon) {
908
- return /* @__PURE__ */ React9.createElement(
920
+ return /* @__PURE__ */ React10.createElement(
909
921
  Box6,
910
922
  {
911
923
  component: "i",
@@ -916,28 +928,28 @@ function ViolationIcon({ violation, widgetIcon }) {
916
928
  );
917
929
  }
918
930
  if (violation.targetHint === "page-settings") {
919
- return /* @__PURE__ */ React9.createElement(FileSettingsIcon, { fontSize: "inherit", "aria-hidden": true });
931
+ return /* @__PURE__ */ React10.createElement(FileSettingsIcon, { fontSize: "inherit", "aria-hidden": true });
920
932
  }
921
933
  if (violation.targetHint === "site-settings" || violation.targetHint === "site-identity-settings") {
922
- return /* @__PURE__ */ React9.createElement(SettingsIcon, { fontSize: "inherit", "aria-hidden": true });
934
+ return /* @__PURE__ */ React10.createElement(SettingsIcon, { fontSize: "inherit", "aria-hidden": true });
923
935
  }
924
- return /* @__PURE__ */ React9.createElement(ShieldCheckIcon, { fontSize: "inherit", "aria-hidden": true });
936
+ return /* @__PURE__ */ React10.createElement(ShieldCheckIcon, { fontSize: "inherit", "aria-hidden": true });
925
937
  }
926
938
 
927
939
  // src/components/violation-row.tsx
928
940
  function SkipReasonTooltip({ reason }) {
929
- return /* @__PURE__ */ React10.createElement(Tooltip3, { title: reason, placement: "top" }, /* @__PURE__ */ React10.createElement(Box7, { "aria-label": reason, component: "span", sx: { display: "inline-flex", alignItems: "center" } }, /* @__PURE__ */ React10.createElement(HelpIcon, { fontSize: "small", color: "action" })));
941
+ return /* @__PURE__ */ React11.createElement(Tooltip3, { title: reason, placement: "top" }, /* @__PURE__ */ React11.createElement(Box7, { "aria-label": reason, component: "span", sx: { display: "inline-flex", alignItems: "center" } }, /* @__PURE__ */ React11.createElement(HelpIcon, { fontSize: "small", color: "action" })));
930
942
  }
931
943
  function StatusIndicator({ audit: audit21, violations }) {
932
944
  if (violations) {
933
- return /* @__PURE__ */ React10.createElement(React10.Fragment, null, /* @__PURE__ */ React10.createElement(Typography6, { variant: "caption", color: "text.secondary", fontWeight: "bold" }, violations.length), /* @__PURE__ */ React10.createElement(SeverityIcon, { severity: audit21.severity }));
945
+ return /* @__PURE__ */ React11.createElement(React11.Fragment, null, /* @__PURE__ */ React11.createElement(Typography6, { variant: "caption", color: "text.secondary", fontWeight: "bold" }, violations.length), /* @__PURE__ */ React11.createElement(SeverityIcon, { severity: audit21.severity }));
934
946
  }
935
- return /* @__PURE__ */ React10.createElement(CheckIcon, { fontSize: "small", color: "success" });
947
+ return /* @__PURE__ */ React11.createElement(CheckIcon, { fontSize: "small", color: "success" });
936
948
  }
937
949
  function ViolationRow({ audit: audit21, skipReason, violations }) {
938
950
  const [expanded, setExpanded] = useState3(false);
939
951
  const toggleExpanded = () => setExpanded((value) => !value);
940
- return /* @__PURE__ */ React10.createElement(Box7, { sx: { borderBottom: 1, borderColor: "divider", paddingBlock: 0.5 } }, /* @__PURE__ */ React10.createElement(Box7, { sx: { display: "flex", alignItems: "center", gap: 0.5 } }, /* @__PURE__ */ React10.createElement(
952
+ return /* @__PURE__ */ React11.createElement(Box7, { sx: { borderBottom: 1, borderColor: "divider", paddingBlock: 0.5 } }, /* @__PURE__ */ React11.createElement(Box7, { sx: { display: "flex", alignItems: "center", gap: 0.5 } }, /* @__PURE__ */ React11.createElement(
941
953
  Box7,
942
954
  {
943
955
  sx: {
@@ -950,16 +962,16 @@ function ViolationRow({ audit: audit21, skipReason, violations }) {
950
962
  },
951
963
  onClick: toggleExpanded
952
964
  },
953
- /* @__PURE__ */ React10.createElement(Typography6, { variant: "body2", sx: { flex: 1 } }, audit21.title),
954
- !skipReason && /* @__PURE__ */ React10.createElement(StatusIndicator, { audit: audit21, violations })
955
- ), skipReason && /* @__PURE__ */ React10.createElement(SkipReasonTooltip, { reason: skipReason }), /* @__PURE__ */ React10.createElement(
965
+ /* @__PURE__ */ React11.createElement(Typography6, { variant: "body2", sx: { flex: 1 } }, audit21.title),
966
+ !skipReason && /* @__PURE__ */ React11.createElement(StatusIndicator, { audit: audit21, violations })
967
+ ), skipReason && /* @__PURE__ */ React11.createElement(SkipReasonTooltip, { reason: skipReason }), /* @__PURE__ */ React11.createElement(
956
968
  IconButton5,
957
969
  {
958
970
  size: "small",
959
971
  "aria-label": expanded ? __11("Collapse", "elementor") : __11("Expand", "elementor"),
960
972
  onClick: toggleExpanded
961
973
  },
962
- /* @__PURE__ */ React10.createElement(
974
+ /* @__PURE__ */ React11.createElement(
963
975
  ChevronDownIcon2,
964
976
  {
965
977
  fontSize: "small",
@@ -969,29 +981,29 @@ function ViolationRow({ audit: audit21, skipReason, violations }) {
969
981
  }
970
982
  }
971
983
  )
972
- )), /* @__PURE__ */ React10.createElement(Collapse2, { in: expanded }, /* @__PURE__ */ React10.createElement(Box7, { sx: { display: "flex", flexDirection: "column", gap: 1, paddingBlock: 1 } }, /* @__PURE__ */ React10.createElement(
984
+ )), /* @__PURE__ */ React11.createElement(Collapse2, { in: expanded }, /* @__PURE__ */ React11.createElement(Box7, { sx: { display: "flex", flexDirection: "column", gap: 1, paddingBlock: 1 } }, /* @__PURE__ */ React11.createElement(
973
985
  Alert,
974
986
  {
975
987
  severity: "secondary",
976
988
  sx: { p: 1 },
977
- icon: /* @__PURE__ */ React10.createElement(AlertCircleIcon2, { fontSize: "small", color: "secondary", "aria-hidden": true })
989
+ icon: /* @__PURE__ */ React11.createElement(AlertCircleIcon2, { fontSize: "small", color: "secondary", "aria-hidden": true })
978
990
  },
979
- /* @__PURE__ */ React10.createElement(AlertTitle, null, /* @__PURE__ */ React10.createElement(Typography6, { variant: "caption", component: "p", color: "text.primary", fontWeight: "bold" }, __11("What's the issue", "elementor"))),
980
- /* @__PURE__ */ React10.createElement(Typography6, { variant: "caption", component: "p", color: "text.secondary" }, audit21.description)
981
- ), /* @__PURE__ */ React10.createElement(
991
+ /* @__PURE__ */ React11.createElement(AlertTitle, null, /* @__PURE__ */ React11.createElement(Typography6, { variant: "caption", component: "p", color: "text.primary", fontWeight: "bold" }, __11("What's the issue", "elementor"))),
992
+ /* @__PURE__ */ React11.createElement(Typography6, { variant: "caption", component: "p", color: "text.secondary" }, audit21.description)
993
+ ), /* @__PURE__ */ React11.createElement(
982
994
  Alert,
983
995
  {
984
996
  severity: "info",
985
997
  sx: { p: 1 },
986
- icon: /* @__PURE__ */ React10.createElement(BulbIcon, { fontSize: "small", color: "info", "aria-hidden": true })
998
+ icon: /* @__PURE__ */ React11.createElement(BulbIcon, { fontSize: "small", color: "info", "aria-hidden": true })
987
999
  },
988
- /* @__PURE__ */ React10.createElement(AlertTitle, null, /* @__PURE__ */ React10.createElement(Typography6, { variant: "caption", component: "p", color: "text.primary", fontWeight: "bold" }, __11("How to resolve", "elementor"))),
989
- /* @__PURE__ */ React10.createElement(Typography6, { variant: "caption", component: "p", color: "text.secondary" }, audit21.fixHint)
990
- )), violations && violations.length > 0 && /* @__PURE__ */ React10.createElement(Box7, { role: "list", sx: { paddingBlockEnd: 1, paddingInlineStart: 2 } }, violations.map((violation, idx) => {
1000
+ /* @__PURE__ */ React11.createElement(AlertTitle, null, /* @__PURE__ */ React11.createElement(Typography6, { variant: "caption", component: "p", color: "text.primary", fontWeight: "bold" }, __11("How to resolve", "elementor"))),
1001
+ /* @__PURE__ */ React11.createElement(Typography6, { variant: "caption", component: "p", color: "text.secondary" }, audit21.fixHint)
1002
+ )), violations && violations.length > 0 && /* @__PURE__ */ React11.createElement(Box7, { role: "list", sx: { paddingBlockEnd: 1, paddingInlineStart: 2 } }, violations.map((violation, idx) => {
991
1003
  const widgetIcon = violation.elementId ? getElementIcon(violation.elementId) : null;
992
1004
  const elementTitle = violation.elementId ? getElementTitle(violation.elementId) : null;
993
1005
  const rowLabel = elementTitle ? `${elementTitle} - ${violation.label}` : violation.label;
994
- return /* @__PURE__ */ React10.createElement(
1006
+ return /* @__PURE__ */ React11.createElement(
995
1007
  Box7,
996
1008
  {
997
1009
  key: idx,
@@ -1014,10 +1026,23 @@ function ViolationRow({ audit: audit21, skipReason, violations }) {
1014
1026
  }
1015
1027
  }
1016
1028
  },
1017
- /* @__PURE__ */ React10.createElement(ViolationIcon, { violation, widgetIcon }),
1018
- /* @__PURE__ */ React10.createElement(Box7, { sx: { flex: 1 } }, /* @__PURE__ */ React10.createElement(Typography6, { variant: "caption" }, rowLabel), violation.detail && /* @__PURE__ */ React10.createElement(Typography6, { variant: "caption", color: "text.secondary" }, violation.detail)),
1019
- violation.angieFix && /* @__PURE__ */ React10.createElement(FixViolationWithAngie, { prompt: buildAngiePrompt(rowLabel) }),
1020
- /* @__PURE__ */ React10.createElement(EyeIcon, { className: "violation-hover-icon", fontSize: "tiny", "aria-hidden": true })
1029
+ /* @__PURE__ */ React11.createElement(ViolationIcon, { violation, widgetIcon }),
1030
+ /* @__PURE__ */ React11.createElement(Box7, { sx: { flex: 1 } }, /* @__PURE__ */ React11.createElement(Typography6, { variant: "caption" }, rowLabel), violation.detail && /* @__PURE__ */ React11.createElement(Typography6, { variant: "caption", color: "text.secondary" }, violation.detail)),
1031
+ violation.angieFix && /* @__PURE__ */ React11.createElement(FixViolationWithAngie, { prompt: buildAngiePrompt(rowLabel) }),
1032
+ violation.ctaLabel && violation.externalUrl ? /* @__PURE__ */ React11.createElement(
1033
+ ViolationCtaButton,
1034
+ {
1035
+ ctaLabel: violation.ctaLabel,
1036
+ externalUrl: violation.externalUrl
1037
+ }
1038
+ ) : /* @__PURE__ */ React11.createElement(
1039
+ EyeIcon,
1040
+ {
1041
+ className: "violation-hover-icon",
1042
+ fontSize: "tiny",
1043
+ "aria-hidden": true
1044
+ }
1045
+ )
1021
1046
  );
1022
1047
  }))));
1023
1048
  }
@@ -1028,7 +1053,7 @@ function AllAuditsPage({ initialExpandedStatus, onBack, report }) {
1028
1053
  const expandFail = !initialExpandedStatus || initialExpandedStatus === "fail";
1029
1054
  const expandPass = initialExpandedStatus === "pass";
1030
1055
  const expandSkipped = initialExpandedStatus === "skipped";
1031
- return /* @__PURE__ */ React11.createElement(Box8, { key: initialExpandedStatus ?? "default" }, /* @__PURE__ */ React11.createElement(SubpageHeader, { title: __12("All audits", "elementor"), onBack }), /* @__PURE__ */ React11.createElement(Box8, { sx: { p: 1 } }, /* @__PURE__ */ React11.createElement(
1056
+ return /* @__PURE__ */ React12.createElement(Box8, { key: initialExpandedStatus ?? "default" }, /* @__PURE__ */ React12.createElement(SubpageHeader, { title: __12("All audits", "elementor"), onBack }), /* @__PURE__ */ React12.createElement(Box8, { sx: { p: 1 } }, /* @__PURE__ */ React12.createElement(
1032
1057
  StatusSection,
1033
1058
  {
1034
1059
  label: auditStatusLabel("fail"),
@@ -1036,8 +1061,8 @@ function AllAuditsPage({ initialExpandedStatus, onBack, report }) {
1036
1061
  color: auditStatusColor("fail"),
1037
1062
  defaultExpanded: expandFail
1038
1063
  },
1039
- failed.map((r) => /* @__PURE__ */ React11.createElement(ViolationRow, { key: r.audit.id, audit: r.audit, violations: r.result.violations }))
1040
- ), /* @__PURE__ */ React11.createElement(
1064
+ failed.map((r) => /* @__PURE__ */ React12.createElement(ViolationRow, { key: r.audit.id, audit: r.audit, violations: r.result.violations }))
1065
+ ), /* @__PURE__ */ React12.createElement(
1041
1066
  StatusSection,
1042
1067
  {
1043
1068
  label: auditStatusLabel("pass"),
@@ -1045,8 +1070,8 @@ function AllAuditsPage({ initialExpandedStatus, onBack, report }) {
1045
1070
  color: auditStatusColor("pass"),
1046
1071
  defaultExpanded: expandPass
1047
1072
  },
1048
- passed.map((r) => /* @__PURE__ */ React11.createElement(ViolationRow, { key: r.audit.id, audit: r.audit }))
1049
- ), /* @__PURE__ */ React11.createElement(
1073
+ passed.map((r) => /* @__PURE__ */ React12.createElement(ViolationRow, { key: r.audit.id, audit: r.audit }))
1074
+ ), /* @__PURE__ */ React12.createElement(
1050
1075
  StatusSection,
1051
1076
  {
1052
1077
  label: auditStatusLabel("skipped"),
@@ -1054,12 +1079,12 @@ function AllAuditsPage({ initialExpandedStatus, onBack, report }) {
1054
1079
  color: auditStatusColor("skipped"),
1055
1080
  defaultExpanded: expandSkipped
1056
1081
  },
1057
- skipped.map((r) => /* @__PURE__ */ React11.createElement(ViolationRow, { key: r.audit.id, audit: r.audit, skipReason: r.result.reason }))
1082
+ skipped.map((r) => /* @__PURE__ */ React12.createElement(ViolationRow, { key: r.audit.id, audit: r.audit, skipReason: r.result.reason }))
1058
1083
  )));
1059
1084
  }
1060
1085
 
1061
1086
  // src/components/pages/category-page.tsx
1062
- import * as React12 from "react";
1087
+ import * as React13 from "react";
1063
1088
  import { Box as Box9 } from "@elementor/ui";
1064
1089
  import { __ as __13 } from "@wordpress/i18n";
1065
1090
 
@@ -1083,15 +1108,15 @@ var CATEGORY_ICONS = {
1083
1108
  function CategoryPage({ category, report, onBack }) {
1084
1109
  const Icon = CATEGORY_ICONS[category];
1085
1110
  const { failed, passed, totalViolations } = partitionAuditResults(report, { category });
1086
- return /* @__PURE__ */ React12.createElement(React12.Fragment, null, /* @__PURE__ */ React12.createElement(
1111
+ return /* @__PURE__ */ React13.createElement(React13.Fragment, null, /* @__PURE__ */ React13.createElement(
1087
1112
  SubpageHeader,
1088
1113
  {
1089
1114
  title: CATEGORY_LABELS[category],
1090
1115
  onBack,
1091
1116
  backLabel: __13("Back to all issues", "elementor"),
1092
- icon: /* @__PURE__ */ React12.createElement(Icon, { fontSize: "small", color: "action" })
1117
+ icon: /* @__PURE__ */ React13.createElement(Icon, { fontSize: "small", color: "action" })
1093
1118
  }
1094
- ), /* @__PURE__ */ React12.createElement(Box9, { sx: { p: 1 } }, /* @__PURE__ */ React12.createElement(
1119
+ ), /* @__PURE__ */ React13.createElement(Box9, { sx: { p: 1 } }, /* @__PURE__ */ React13.createElement(
1095
1120
  StatusSection,
1096
1121
  {
1097
1122
  label: __13("Failed audits", "elementor"),
@@ -1099,12 +1124,12 @@ function CategoryPage({ category, report, onBack }) {
1099
1124
  color: "error",
1100
1125
  defaultExpanded: true
1101
1126
  },
1102
- failed.map((r) => /* @__PURE__ */ React12.createElement(ViolationRow, { key: r.audit.id, audit: r.audit, violations: r.result.violations }))
1103
- ), /* @__PURE__ */ React12.createElement(StatusSection, { label: __13("Passed audits", "elementor"), count: passed.length, color: "success" }, passed.map((r) => /* @__PURE__ */ React12.createElement(ViolationRow, { key: r.audit.id, audit: r.audit })))));
1127
+ failed.map((r) => /* @__PURE__ */ React13.createElement(ViolationRow, { key: r.audit.id, audit: r.audit, violations: r.result.violations }))
1128
+ ), /* @__PURE__ */ React13.createElement(StatusSection, { label: __13("Passed audits", "elementor"), count: passed.length, color: "success" }, passed.map((r) => /* @__PURE__ */ React13.createElement(ViolationRow, { key: r.audit.id, audit: r.audit })))));
1104
1129
  }
1105
1130
 
1106
1131
  // src/components/pages/issues-page.tsx
1107
- import * as React16 from "react";
1132
+ import * as React17 from "react";
1108
1133
  import { Box as Box13, Link, Typography as Typography10 } from "@elementor/ui";
1109
1134
  import { __ as __17 } from "@wordpress/i18n";
1110
1135
 
@@ -1158,13 +1183,13 @@ function severityRemainingCountLabel(severity, count) {
1158
1183
  }
1159
1184
 
1160
1185
  // src/components/issues-category-row.tsx
1161
- import * as React13 from "react";
1186
+ import * as React14 from "react";
1162
1187
  import { ChevronRightIcon } from "@elementor/icons";
1163
1188
  import { Box as Box10, Rotate as Rotate2, Typography as Typography7, useTheme as useTheme2 } from "@elementor/ui";
1164
1189
  function IssuesCategoryRow({ category, label, counts, onClick }) {
1165
1190
  const isRtl = "rtl" === useTheme2().direction;
1166
1191
  const Icon = CATEGORY_ICONS[category];
1167
- return /* @__PURE__ */ React13.createElement(
1192
+ return /* @__PURE__ */ React14.createElement(
1168
1193
  Box10,
1169
1194
  {
1170
1195
  role: "button",
@@ -1186,15 +1211,15 @@ function IssuesCategoryRow({ category, label, counts, onClick }) {
1186
1211
  "&:focus-visible": { outline: "2px solid", outlineColor: "primary.main" }
1187
1212
  }
1188
1213
  },
1189
- /* @__PURE__ */ React13.createElement(Icon, { fontSize: "small", color: "action" }),
1190
- /* @__PURE__ */ React13.createElement(Typography7, { variant: "body2", fontWeight: "bold", sx: { flex: 1 } }, label),
1191
- /* @__PURE__ */ React13.createElement(Box10, { sx: { display: "flex", alignItems: "center", gap: 0.5 } }, ALL_SEVERITIES.filter((s) => counts[s] > 0).map((severity) => /* @__PURE__ */ React13.createElement(Box10, { key: severity, sx: { display: "flex", alignItems: "center", gap: 0.25 } }, /* @__PURE__ */ React13.createElement(SeverityIcon, { severity }), /* @__PURE__ */ React13.createElement(Typography7, { variant: "caption", color: "text.primary", fontWeight: "bold" }, counts[severity])))),
1192
- /* @__PURE__ */ React13.createElement(Rotate2, { in: isRtl }, /* @__PURE__ */ React13.createElement(ChevronRightIcon, { fontSize: "small", color: "action" }))
1214
+ /* @__PURE__ */ React14.createElement(Icon, { fontSize: "small", color: "action" }),
1215
+ /* @__PURE__ */ React14.createElement(Typography7, { variant: "body2", fontWeight: "bold", sx: { flex: 1 } }, label),
1216
+ /* @__PURE__ */ React14.createElement(Box10, { sx: { display: "flex", alignItems: "center", gap: 0.5 } }, ALL_SEVERITIES.filter((s) => counts[s] > 0).map((severity) => /* @__PURE__ */ React14.createElement(Box10, { key: severity, sx: { display: "flex", alignItems: "center", gap: 0.25 } }, /* @__PURE__ */ React14.createElement(SeverityIcon, { severity }), /* @__PURE__ */ React14.createElement(Typography7, { variant: "caption", color: "text.primary", fontWeight: "bold" }, counts[severity])))),
1217
+ /* @__PURE__ */ React14.createElement(Rotate2, { in: isRtl }, /* @__PURE__ */ React14.createElement(ChevronRightIcon, { fontSize: "small", color: "action" }))
1193
1218
  );
1194
1219
  }
1195
1220
 
1196
1221
  // src/components/promotions.tsx
1197
- import * as React15 from "react";
1222
+ import * as React16 from "react";
1198
1223
  import { Box as Box12, Typography as Typography9 } from "@elementor/ui";
1199
1224
  import { __ as __16 } from "@wordpress/i18n";
1200
1225
 
@@ -1260,10 +1285,10 @@ function findAuditRun(report, auditId) {
1260
1285
  }
1261
1286
 
1262
1287
  // src/components/promotion-card.tsx
1263
- import * as React14 from "react";
1264
- import { Box as Box11, Button as Button3, Typography as Typography8 } from "@elementor/ui";
1288
+ import * as React15 from "react";
1289
+ import { Box as Box11, Button as Button4, Typography as Typography8 } from "@elementor/ui";
1265
1290
  function PromotionCard({ ctaDisabled, ctaLabel, icon: Icon, onCtaClick, subtitle, title }) {
1266
- return /* @__PURE__ */ React14.createElement(
1291
+ return /* @__PURE__ */ React15.createElement(
1267
1292
  Box11,
1268
1293
  {
1269
1294
  sx: {
@@ -1277,9 +1302,9 @@ function PromotionCard({ ctaDisabled, ctaLabel, icon: Icon, onCtaClick, subtitle
1277
1302
  py: 1.5
1278
1303
  }
1279
1304
  },
1280
- /* @__PURE__ */ React14.createElement(Icon, { fontSize: "small", color: "action" }),
1281
- /* @__PURE__ */ React14.createElement(Box11, { sx: { display: "flex", flex: 1, flexDirection: "column", gap: 0.25, minWidth: 0 } }, /* @__PURE__ */ React14.createElement(Typography8, { variant: "body2", fontWeight: "bold" }, title), /* @__PURE__ */ React14.createElement(Typography8, { variant: "caption", color: "text.secondary" }, subtitle)),
1282
- /* @__PURE__ */ React14.createElement(Button3, { variant: "outlined", color: "secondary", size: "small", disabled: ctaDisabled, onClick: onCtaClick }, ctaLabel)
1305
+ /* @__PURE__ */ React15.createElement(Icon, { fontSize: "small", color: "action" }),
1306
+ /* @__PURE__ */ React15.createElement(Box11, { sx: { display: "flex", flex: 1, flexDirection: "column", gap: 0.25, minWidth: 0 } }, /* @__PURE__ */ React15.createElement(Typography8, { variant: "body2", fontWeight: "bold" }, title), /* @__PURE__ */ React15.createElement(Typography8, { variant: "caption", color: "text.secondary" }, subtitle)),
1307
+ /* @__PURE__ */ React15.createElement(Button4, { variant: "outlined", color: "secondary", size: "small", disabled: ctaDisabled, onClick: onCtaClick }, ctaLabel)
1283
1308
  );
1284
1309
  }
1285
1310
 
@@ -1308,7 +1333,7 @@ function Promotions({ report }) {
1308
1333
  if (cards.length === 0) {
1309
1334
  return null;
1310
1335
  }
1311
- return /* @__PURE__ */ React15.createElement(React15.Fragment, null, /* @__PURE__ */ React15.createElement(Typography9, { variant: "subtitle1", fontWeight: "bold" }, __16("Quick wins", "elementor")), /* @__PURE__ */ React15.createElement(Box12, { sx: { display: "flex", flexDirection: "column", gap: 1 } }, cards.map(({ config, ctaUrl, key, run, subtitle }) => /* @__PURE__ */ React15.createElement(
1336
+ return /* @__PURE__ */ React16.createElement(React16.Fragment, null, /* @__PURE__ */ React16.createElement(Typography9, { variant: "subtitle1", fontWeight: "bold" }, __16("Quick wins", "elementor")), /* @__PURE__ */ React16.createElement(Box12, { sx: { display: "flex", flexDirection: "column", gap: 1 } }, cards.map(({ config, ctaUrl, key, run, subtitle }) => /* @__PURE__ */ React16.createElement(
1312
1337
  PromotionCard,
1313
1338
  {
1314
1339
  key,
@@ -1329,7 +1354,7 @@ function Promotions({ report }) {
1329
1354
  // src/components/pages/issues-page.tsx
1330
1355
  function IssuesPage({ report, onCategoryClick, onAllAuditsClick }) {
1331
1356
  const populatedCategories = getPopulatedCategories(report.categories, ALL_CATEGORIES);
1332
- return /* @__PURE__ */ React16.createElement(Box13, { sx: { display: "flex", flexDirection: "column", gap: 4, p: 2 } }, /* @__PURE__ */ React16.createElement(
1357
+ return /* @__PURE__ */ React17.createElement(Box13, { sx: { display: "flex", flexDirection: "column", gap: 4, p: 2 } }, /* @__PURE__ */ React17.createElement(
1333
1358
  Link,
1334
1359
  {
1335
1360
  component: "button",
@@ -1338,8 +1363,8 @@ function IssuesPage({ report, onCategoryClick, onAllAuditsClick }) {
1338
1363
  onClick: onAllAuditsClick,
1339
1364
  sx: { textAlign: "start" }
1340
1365
  },
1341
- /* @__PURE__ */ React16.createElement(Typography10, { variant: "subtitle1", component: "h2" }, __17("All issues", "elementor"))
1342
- ), /* @__PURE__ */ React16.createElement(Box13, { sx: { display: "flex", flexDirection: "column", gap: 1 } }, populatedCategories.map((category) => /* @__PURE__ */ React16.createElement(
1366
+ /* @__PURE__ */ React17.createElement(Typography10, { variant: "subtitle1", component: "h2" }, __17("All issues", "elementor"))
1367
+ ), /* @__PURE__ */ React17.createElement(Box13, { sx: { display: "flex", flexDirection: "column", gap: 1 } }, populatedCategories.map((category) => /* @__PURE__ */ React17.createElement(
1343
1368
  IssuesCategoryRow,
1344
1369
  {
1345
1370
  key: category,
@@ -1348,11 +1373,11 @@ function IssuesPage({ report, onCategoryClick, onAllAuditsClick }) {
1348
1373
  counts: countSeverities(report, category),
1349
1374
  onClick: () => onCategoryClick(category)
1350
1375
  }
1351
- ))), /* @__PURE__ */ React16.createElement(Promotions, { report }));
1376
+ ))), /* @__PURE__ */ React17.createElement(Promotions, { report }));
1352
1377
  }
1353
1378
 
1354
1379
  // src/components/pages/overview-page.tsx
1355
- import * as React20 from "react";
1380
+ import * as React21 from "react";
1356
1381
  import { Box as Box17, Chip as Chip3, Divider, Typography as Typography14 } from "@elementor/ui";
1357
1382
  import { __ as __19, sprintf as sprintf4 } from "@wordpress/i18n";
1358
1383
 
@@ -1371,7 +1396,7 @@ function getScoreTier(score) {
1371
1396
  }
1372
1397
 
1373
1398
  // src/components/count-summary-circle.tsx
1374
- import * as React17 from "react";
1399
+ import * as React18 from "react";
1375
1400
  import { Box as Box14, Chip as Chip2, Typography as Typography11 } from "@elementor/ui";
1376
1401
  var COUNT_SUMMARY_CIRCLE_SIZE = 64;
1377
1402
  var COUNT_SUMMARY_BORDER_WIDTH = 4;
@@ -1382,7 +1407,7 @@ function chipBorderColor(theme, color) {
1382
1407
  return theme.palette[color].main;
1383
1408
  }
1384
1409
  function CountSummaryCircle({ ariaLabel, color, count, label, onClick }) {
1385
- return /* @__PURE__ */ React17.createElement(
1410
+ return /* @__PURE__ */ React18.createElement(
1386
1411
  Box14,
1387
1412
  {
1388
1413
  "aria-label": ariaLabel,
@@ -1401,7 +1426,7 @@ function CountSummaryCircle({ ariaLabel, color, count, label, onClick }) {
1401
1426
  padding: 0
1402
1427
  }
1403
1428
  },
1404
- /* @__PURE__ */ React17.createElement(
1429
+ /* @__PURE__ */ React18.createElement(
1405
1430
  Chip2,
1406
1431
  {
1407
1432
  color,
@@ -1423,17 +1448,17 @@ function CountSummaryCircle({ ariaLabel, color, count, label, onClick }) {
1423
1448
  })
1424
1449
  }
1425
1450
  ),
1426
- /* @__PURE__ */ React17.createElement(Typography11, { color: "text.secondary", sx: { textAlign: "center" }, variant: "caption" }, label)
1451
+ /* @__PURE__ */ React18.createElement(Typography11, { color: "text.secondary", sx: { textAlign: "center" }, variant: "caption" }, label)
1427
1452
  );
1428
1453
  }
1429
1454
 
1430
1455
  // src/components/score-bar.tsx
1431
- import * as React18 from "react";
1456
+ import * as React19 from "react";
1432
1457
  import { ChevronRightIcon as ChevronRightIcon2 } from "@elementor/icons";
1433
1458
  import { Box as Box15, LinearProgress, Rotate as Rotate3, Typography as Typography12, useTheme as useTheme3 } from "@elementor/ui";
1434
1459
  function ScoreBar({ label, score, onClick }) {
1435
1460
  const isRtl = "rtl" === useTheme3().direction;
1436
- return /* @__PURE__ */ React18.createElement(
1461
+ return /* @__PURE__ */ React19.createElement(
1437
1462
  Box15,
1438
1463
  {
1439
1464
  role: onClick ? "button" : void 0,
@@ -1450,8 +1475,8 @@ function ScoreBar({ label, score, onClick }) {
1450
1475
  py: 0.5
1451
1476
  }
1452
1477
  },
1453
- /* @__PURE__ */ React18.createElement(Typography12, { variant: "body2", sx: { minWidth: 96 } }, label),
1454
- /* @__PURE__ */ React18.createElement(
1478
+ /* @__PURE__ */ React19.createElement(Typography12, { variant: "body2", sx: { minWidth: 96 } }, label),
1479
+ /* @__PURE__ */ React19.createElement(
1455
1480
  LinearProgress,
1456
1481
  {
1457
1482
  variant: "determinate",
@@ -1460,7 +1485,7 @@ function ScoreBar({ label, score, onClick }) {
1460
1485
  sx: { flex: 1, height: 6, borderRadius: 4, bgcolor: "action.disabledBackground" }
1461
1486
  }
1462
1487
  ),
1463
- /* @__PURE__ */ React18.createElement(
1488
+ /* @__PURE__ */ React19.createElement(
1464
1489
  Typography12,
1465
1490
  {
1466
1491
  variant: "body2",
@@ -1469,18 +1494,18 @@ function ScoreBar({ label, score, onClick }) {
1469
1494
  },
1470
1495
  score
1471
1496
  ),
1472
- onClick && /* @__PURE__ */ React18.createElement(Rotate3, { in: isRtl }, /* @__PURE__ */ React18.createElement(ChevronRightIcon2, { fontSize: "small", color: "action" }))
1497
+ onClick && /* @__PURE__ */ React19.createElement(Rotate3, { in: isRtl }, /* @__PURE__ */ React19.createElement(ChevronRightIcon2, { fontSize: "small", color: "action" }))
1473
1498
  );
1474
1499
  }
1475
1500
 
1476
1501
  // src/components/score-circle.tsx
1477
- import * as React19 from "react";
1502
+ import * as React20 from "react";
1478
1503
  import { Box as Box16, CircularProgress as CircularProgress2, Typography as Typography13 } from "@elementor/ui";
1479
1504
  var SCORE_CIRCLE_SIZE = 88;
1480
1505
  var SCORE_CIRCLE_THICKNESS = 3;
1481
1506
  function ScoreCircle({ color, score }) {
1482
1507
  const progressColor = color ?? getScoreTier(score).color;
1483
- return /* @__PURE__ */ React19.createElement(
1508
+ return /* @__PURE__ */ React20.createElement(
1484
1509
  Box16,
1485
1510
  {
1486
1511
  role: "progressbar",
@@ -1489,7 +1514,7 @@ function ScoreCircle({ color, score }) {
1489
1514
  "aria-valuemax": 100,
1490
1515
  sx: { position: "relative", display: "inline-flex" }
1491
1516
  },
1492
- /* @__PURE__ */ React19.createElement(
1517
+ /* @__PURE__ */ React20.createElement(
1493
1518
  CircularProgress2,
1494
1519
  {
1495
1520
  variant: "determinate",
@@ -1499,7 +1524,7 @@ function ScoreCircle({ color, score }) {
1499
1524
  sx: { color: "action.disabledBackground" }
1500
1525
  }
1501
1526
  ),
1502
- /* @__PURE__ */ React19.createElement(
1527
+ /* @__PURE__ */ React20.createElement(
1503
1528
  CircularProgress2,
1504
1529
  {
1505
1530
  variant: "determinate",
@@ -1510,7 +1535,7 @@ function ScoreCircle({ color, score }) {
1510
1535
  sx: { position: "absolute", left: 0 }
1511
1536
  }
1512
1537
  ),
1513
- /* @__PURE__ */ React19.createElement(
1538
+ /* @__PURE__ */ React20.createElement(
1514
1539
  Box16,
1515
1540
  {
1516
1541
  sx: {
@@ -1521,7 +1546,7 @@ function ScoreCircle({ color, score }) {
1521
1546
  justifyContent: "center"
1522
1547
  }
1523
1548
  },
1524
- /* @__PURE__ */ React19.createElement(
1549
+ /* @__PURE__ */ React20.createElement(
1525
1550
  Typography13,
1526
1551
  {
1527
1552
  variant: "h4",
@@ -1559,7 +1584,7 @@ function OverviewPage({ onCategoryClick, onStatusClick, report }) {
1559
1584
  const severityCounts = countSeverities(report);
1560
1585
  const statusCounts = auditStatusDisplayCounts(report);
1561
1586
  const overallScore = getScoreTier(report.overall);
1562
- return /* @__PURE__ */ React20.createElement(Box17, { sx: { display: "flex", flexDirection: "column", gap: 4, p: 2 } }, /* @__PURE__ */ React20.createElement(Box17, { sx: { display: "flex", alignItems: "center", gap: 2 } }, /* @__PURE__ */ React20.createElement(ScoreCircle, { color: overallScore.color, score: report.overall }), /* @__PURE__ */ React20.createElement(Box17, { sx: { display: "flex", flexDirection: "column", gap: 0.5 } }, /* @__PURE__ */ React20.createElement(
1587
+ return /* @__PURE__ */ React21.createElement(Box17, { sx: { display: "flex", flexDirection: "column", gap: 4, p: 2 } }, /* @__PURE__ */ React21.createElement(Box17, { sx: { display: "flex", alignItems: "center", gap: 2 } }, /* @__PURE__ */ React21.createElement(ScoreCircle, { color: overallScore.color, score: report.overall }), /* @__PURE__ */ React21.createElement(Box17, { sx: { display: "flex", flexDirection: "column", gap: 0.5 } }, /* @__PURE__ */ React21.createElement(
1563
1588
  Chip3,
1564
1589
  {
1565
1590
  label: overallScore.label,
@@ -1568,7 +1593,7 @@ function OverviewPage({ onCategoryClick, onStatusClick, report }) {
1568
1593
  size: "small",
1569
1594
  sx: { fontWeight: 600, alignSelf: "flex-start" }
1570
1595
  }
1571
- ), /* @__PURE__ */ React20.createElement(Typography14, { variant: "body2", color: "text.secondary" }, __19("Overall score", "elementor")))), /* @__PURE__ */ React20.createElement(Box17, { sx: { display: "flex", flexDirection: "column", gap: 2 } }, populatedCategories.map((category) => /* @__PURE__ */ React20.createElement(
1596
+ ), /* @__PURE__ */ React21.createElement(Typography14, { variant: "body2", color: "text.secondary" }, __19("Overall score", "elementor")))), /* @__PURE__ */ React21.createElement(Box17, { sx: { display: "flex", flexDirection: "column", gap: 2 } }, populatedCategories.map((category) => /* @__PURE__ */ React21.createElement(
1572
1597
  ScoreBar,
1573
1598
  {
1574
1599
  key: category,
@@ -1576,7 +1601,7 @@ function OverviewPage({ onCategoryClick, onStatusClick, report }) {
1576
1601
  score: report.categories[category].score,
1577
1602
  onClick: () => onCategoryClick(category)
1578
1603
  }
1579
- ))), /* @__PURE__ */ React20.createElement(Divider, null), /* @__PURE__ */ React20.createElement(Typography14, { variant: "subtitle1", fontWeight: "bold" }, __19("Audit statuses", "elementor")), /* @__PURE__ */ React20.createElement(Box17, { sx: { display: "flex", justifyContent: "space-around", gap: 2 } }, STATUS_GROUPS.map((status) => /* @__PURE__ */ React20.createElement(
1604
+ ))), /* @__PURE__ */ React21.createElement(Divider, null), /* @__PURE__ */ React21.createElement(Typography14, { variant: "subtitle1", fontWeight: "bold" }, __19("Audit statuses", "elementor")), /* @__PURE__ */ React21.createElement(Box17, { sx: { display: "flex", justifyContent: "space-around", gap: 2 } }, STATUS_GROUPS.map((status) => /* @__PURE__ */ React21.createElement(
1580
1605
  CountSummaryCircle,
1581
1606
  {
1582
1607
  key: status,
@@ -1586,7 +1611,7 @@ function OverviewPage({ onCategoryClick, onStatusClick, report }) {
1586
1611
  label: auditStatusLabel(status),
1587
1612
  onClick: () => onStatusClick(status)
1588
1613
  }
1589
- ))), /* @__PURE__ */ React20.createElement(Divider, null), /* @__PURE__ */ React20.createElement(Typography14, { variant: "subtitle1", fontWeight: "bold" }, __19("Remaining issues", "elementor")), /* @__PURE__ */ React20.createElement(
1614
+ ))), /* @__PURE__ */ React21.createElement(Divider, null), /* @__PURE__ */ React21.createElement(Typography14, { variant: "subtitle1", fontWeight: "bold" }, __19("Remaining issues", "elementor")), /* @__PURE__ */ React21.createElement(
1590
1615
  Box17,
1591
1616
  {
1592
1617
  component: "ul",
@@ -1601,7 +1626,7 @@ function OverviewPage({ onCategoryClick, onStatusClick, report }) {
1601
1626
  },
1602
1627
  ALL_SEVERITIES.map((severity) => {
1603
1628
  const count = severityCounts[severity];
1604
- return /* @__PURE__ */ React20.createElement(
1629
+ return /* @__PURE__ */ React21.createElement(
1605
1630
  Box17,
1606
1631
  {
1607
1632
  "aria-label": severityRemainingCountLabel(severity, count),
@@ -1609,9 +1634,9 @@ function OverviewPage({ onCategoryClick, onStatusClick, report }) {
1609
1634
  key: severity,
1610
1635
  sx: { alignItems: "center", display: "flex", gap: 0.5 }
1611
1636
  },
1612
- /* @__PURE__ */ React20.createElement(SeverityIcon, { severity }),
1613
- /* @__PURE__ */ React20.createElement(Typography14, { variant: "body2", fontWeight: "bold" }, count),
1614
- /* @__PURE__ */ React20.createElement(Typography14, { variant: "body2" }, severityPluralLabel(severity))
1637
+ /* @__PURE__ */ React21.createElement(SeverityIcon, { severity }),
1638
+ /* @__PURE__ */ React21.createElement(Typography14, { variant: "body2", fontWeight: "bold" }, count),
1639
+ /* @__PURE__ */ React21.createElement(Typography14, { variant: "body2" }, severityPluralLabel(severity))
1615
1640
  );
1616
1641
  })
1617
1642
  ));
@@ -1650,7 +1675,7 @@ function ReportShell({ report }) {
1650
1675
  setActivePage(activePage.backTo);
1651
1676
  }
1652
1677
  };
1653
- return /* @__PURE__ */ React21.createElement(Box18, null, /* @__PURE__ */ React21.createElement(
1678
+ return /* @__PURE__ */ React22.createElement(Box18, null, /* @__PURE__ */ React22.createElement(
1654
1679
  Tabs,
1655
1680
  {
1656
1681
  "aria-label": __20("Audit navigation", "elementor"),
@@ -1662,30 +1687,30 @@ function ReportShell({ report }) {
1662
1687
  centered: true,
1663
1688
  variant: "fullWidth"
1664
1689
  },
1665
- /* @__PURE__ */ React21.createElement(Tab, { value: "overview", label: __20("Overview", "elementor") }),
1666
- /* @__PURE__ */ React21.createElement(Tab, { value: "issues", label: __20("Issues", "elementor") })
1667
- ), /* @__PURE__ */ React21.createElement(Divider2, null), activePage === "overview" && /* @__PURE__ */ React21.createElement(
1690
+ /* @__PURE__ */ React22.createElement(Tab, { value: "overview", label: __20("Overview", "elementor") }),
1691
+ /* @__PURE__ */ React22.createElement(Tab, { value: "issues", label: __20("Issues", "elementor") })
1692
+ ), /* @__PURE__ */ React22.createElement(Divider2, null), activePage === "overview" && /* @__PURE__ */ React22.createElement(
1668
1693
  OverviewPage,
1669
1694
  {
1670
1695
  report,
1671
1696
  onCategoryClick: (category) => openCategory(category, "overview"),
1672
1697
  onStatusClick: (status) => openAllAudits(status, "overview")
1673
1698
  }
1674
- ), activePage === "issues" && /* @__PURE__ */ React21.createElement(
1699
+ ), activePage === "issues" && /* @__PURE__ */ React22.createElement(
1675
1700
  IssuesPage,
1676
1701
  {
1677
1702
  report,
1678
1703
  onCategoryClick: (category) => openCategory(category, "issues"),
1679
1704
  onAllAuditsClick: () => openAllAudits()
1680
1705
  }
1681
- ), isAllAuditsPage(activePage) && /* @__PURE__ */ React21.createElement(
1706
+ ), isAllAuditsPage(activePage) && /* @__PURE__ */ React22.createElement(
1682
1707
  AllAuditsPage,
1683
1708
  {
1684
1709
  report,
1685
1710
  initialExpandedStatus: activePage.expand,
1686
1711
  onBack: backFromSubPage
1687
1712
  }
1688
- ), isCategoryPage(activePage) && /* @__PURE__ */ React21.createElement(CategoryPage, { category: activePage.category, report, onBack: backFromSubPage }));
1713
+ ), isCategoryPage(activePage) && /* @__PURE__ */ React22.createElement(CategoryPage, { category: activePage.category, report, onBack: backFromSubPage }));
1689
1714
  }
1690
1715
 
1691
1716
  // src/components/audit-panel.tsx
@@ -1694,7 +1719,7 @@ function AuditPanel() {
1694
1719
  const currentDocumentId = getCurrentDocumentId2() ?? 0;
1695
1720
  const onRun = () => run(currentDocumentId);
1696
1721
  const lastScanLabel = report ? new Date(report.runAt).toLocaleTimeString() : null;
1697
- return /* @__PURE__ */ React22.createElement(React22.Fragment, null, /* @__PURE__ */ React22.createElement(
1722
+ return /* @__PURE__ */ React23.createElement(React23.Fragment, null, /* @__PURE__ */ React23.createElement(
1698
1723
  FloatingPanelHeader,
1699
1724
  {
1700
1725
  panelId: "audit-panel",
@@ -1702,8 +1727,8 @@ function AuditPanel() {
1702
1727
  badge: __21("Beta", "elementor"),
1703
1728
  titleVariant: "subtitle2"
1704
1729
  }
1705
- ), /* @__PURE__ */ React22.createElement(FloatingPanelBody, null, status === "idle" && /* @__PURE__ */ React22.createElement(WelcomePage, null), status === "loading" && /* @__PURE__ */ React22.createElement(LoadingPage, null), status === "error" && /* @__PURE__ */ React22.createElement(ErrorPage, { message: error ?? "", onRetry: onRun }), status === "ready" && report && /* @__PURE__ */ React22.createElement(ReportShell, { report })), /* @__PURE__ */ React22.createElement(FloatingPanelFooter, null, lastScanLabel ? /* @__PURE__ */ React22.createElement(Typography15, { variant: "caption", sx: { flex: 1 } }, __21("Last scan:", "elementor"), " ", lastScanLabel) : /* @__PURE__ */ React22.createElement(Box19, { sx: { flex: 1 } }), lastScanLabel && /* @__PURE__ */ React22.createElement(AuditFeedback, null), /* @__PURE__ */ React22.createElement(
1706
- Button4,
1730
+ ), /* @__PURE__ */ React23.createElement(FloatingPanelBody, null, status === "idle" && /* @__PURE__ */ React23.createElement(WelcomePage, null), status === "loading" && /* @__PURE__ */ React23.createElement(LoadingPage, null), status === "error" && /* @__PURE__ */ React23.createElement(ErrorPage, { message: error ?? "", onRetry: onRun }), status === "ready" && report && /* @__PURE__ */ React23.createElement(ReportShell, { report })), /* @__PURE__ */ React23.createElement(FloatingPanelFooter, null, lastScanLabel ? /* @__PURE__ */ React23.createElement(Typography15, { variant: "caption", sx: { flex: 1 } }, __21("Last scan:", "elementor"), " ", lastScanLabel) : /* @__PURE__ */ React23.createElement(Box19, { sx: { flex: 1 } }), lastScanLabel && /* @__PURE__ */ React23.createElement(AuditFeedback, null), /* @__PURE__ */ React23.createElement(
1731
+ Button5,
1707
1732
  {
1708
1733
  variant: "contained",
1709
1734
  size: "small",
@@ -2650,7 +2675,8 @@ var audit16 = {
2650
2675
  {
2651
2676
  auditId: audit16.id,
2652
2677
  label: __38("No privacy policy page is set.", "elementor"),
2653
- externalUrl: ctx.pageContext.privacy_settings_url
2678
+ externalUrl: ctx.pageContext.privacy_settings_url,
2679
+ ctaLabel: __38("Create", "elementor")
2654
2680
  }
2655
2681
  ]
2656
2682
  };