@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.js CHANGED
@@ -51,10 +51,10 @@ var import_i18n22 = require("@wordpress/i18n");
51
51
  var import_editor_floating_panels2 = require("@elementor/editor-floating-panels");
52
52
 
53
53
  // src/components/audit-panel.tsx
54
- var React22 = __toESM(require("react"));
54
+ var React23 = __toESM(require("react"));
55
55
  var import_editor_elements5 = require("@elementor/editor-elements");
56
56
  var import_editor_floating_panels = require("@elementor/editor-floating-panels");
57
- var import_ui21 = require("@elementor/ui");
57
+ var import_ui22 = require("@elementor/ui");
58
58
  var import_i18n21 = require("@wordpress/i18n");
59
59
 
60
60
  // src/hooks/use-audit-report.ts
@@ -749,14 +749,14 @@ function WelcomePage() {
749
749
  }
750
750
 
751
751
  // src/components/report-shell.tsx
752
- var React21 = __toESM(require("react"));
752
+ var React22 = __toESM(require("react"));
753
753
  var import_react5 = require("react");
754
- var import_ui20 = require("@elementor/ui");
754
+ var import_ui21 = require("@elementor/ui");
755
755
  var import_i18n20 = require("@wordpress/i18n");
756
756
 
757
757
  // src/components/pages/all-audits-page.tsx
758
- var React11 = __toESM(require("react"));
759
- var import_ui10 = require("@elementor/ui");
758
+ var React12 = __toESM(require("react"));
759
+ var import_ui11 = require("@elementor/ui");
760
760
  var import_i18n12 = require("@wordpress/i18n");
761
761
 
762
762
  // src/components/status-section.tsx
@@ -808,11 +808,11 @@ function SubpageHeader({ title, onBack, backLabel, icon }) {
808
808
  }
809
809
 
810
810
  // src/components/violation-row.tsx
811
- var React10 = __toESM(require("react"));
811
+ var React11 = __toESM(require("react"));
812
812
  var import_react4 = require("react");
813
813
  var import_editor_elements4 = require("@elementor/editor-elements");
814
814
  var import_icons7 = require("@elementor/icons");
815
- var import_ui9 = require("@elementor/ui");
815
+ var import_ui10 = require("@elementor/ui");
816
816
  var import_i18n11 = require("@wordpress/i18n");
817
817
 
818
818
  // src/hooks/focus-violation.ts
@@ -925,14 +925,26 @@ function SeverityIcon({ severity }) {
925
925
  return /* @__PURE__ */ React8.createElement(Icon, { fontSize: "small", color });
926
926
  }
927
927
 
928
- // src/components/violation-icons.tsx
928
+ // src/components/violation-cta-button.tsx
929
929
  var React9 = __toESM(require("react"));
930
- var import_icons6 = require("@elementor/icons");
931
930
  var import_ui8 = require("@elementor/ui");
931
+ function ViolationCtaButton({ ctaLabel, externalUrl }) {
932
+ const handleClick = (event) => {
933
+ event.stopPropagation();
934
+ event.preventDefault();
935
+ window.open(externalUrl, "_blank", "noopener");
936
+ };
937
+ return /* @__PURE__ */ React9.createElement(import_ui8.Button, { variant: "outlined", color: "secondary", size: "small", onClick: handleClick }, ctaLabel);
938
+ }
939
+
940
+ // src/components/violation-icons.tsx
941
+ var React10 = __toESM(require("react"));
942
+ var import_icons6 = require("@elementor/icons");
943
+ var import_ui9 = require("@elementor/ui");
932
944
  function ViolationIcon({ violation, widgetIcon }) {
933
945
  if (widgetIcon) {
934
- return /* @__PURE__ */ React9.createElement(
935
- import_ui8.Box,
946
+ return /* @__PURE__ */ React10.createElement(
947
+ import_ui9.Box,
936
948
  {
937
949
  component: "i",
938
950
  className: widgetIcon,
@@ -942,29 +954,29 @@ function ViolationIcon({ violation, widgetIcon }) {
942
954
  );
943
955
  }
944
956
  if (violation.targetHint === "page-settings") {
945
- return /* @__PURE__ */ React9.createElement(import_icons6.FileSettingsIcon, { fontSize: "inherit", "aria-hidden": true });
957
+ return /* @__PURE__ */ React10.createElement(import_icons6.FileSettingsIcon, { fontSize: "inherit", "aria-hidden": true });
946
958
  }
947
959
  if (violation.targetHint === "site-settings" || violation.targetHint === "site-identity-settings") {
948
- return /* @__PURE__ */ React9.createElement(import_icons6.SettingsIcon, { fontSize: "inherit", "aria-hidden": true });
960
+ return /* @__PURE__ */ React10.createElement(import_icons6.SettingsIcon, { fontSize: "inherit", "aria-hidden": true });
949
961
  }
950
- return /* @__PURE__ */ React9.createElement(import_icons6.ShieldCheckIcon, { fontSize: "inherit", "aria-hidden": true });
962
+ return /* @__PURE__ */ React10.createElement(import_icons6.ShieldCheckIcon, { fontSize: "inherit", "aria-hidden": true });
951
963
  }
952
964
 
953
965
  // src/components/violation-row.tsx
954
966
  function SkipReasonTooltip({ reason }) {
955
- return /* @__PURE__ */ React10.createElement(import_ui9.Tooltip, { title: reason, placement: "top" }, /* @__PURE__ */ React10.createElement(import_ui9.Box, { "aria-label": reason, component: "span", sx: { display: "inline-flex", alignItems: "center" } }, /* @__PURE__ */ React10.createElement(import_icons7.HelpIcon, { fontSize: "small", color: "action" })));
967
+ return /* @__PURE__ */ React11.createElement(import_ui10.Tooltip, { title: reason, placement: "top" }, /* @__PURE__ */ React11.createElement(import_ui10.Box, { "aria-label": reason, component: "span", sx: { display: "inline-flex", alignItems: "center" } }, /* @__PURE__ */ React11.createElement(import_icons7.HelpIcon, { fontSize: "small", color: "action" })));
956
968
  }
957
969
  function StatusIndicator({ audit: audit21, violations }) {
958
970
  if (violations) {
959
- return /* @__PURE__ */ React10.createElement(React10.Fragment, null, /* @__PURE__ */ React10.createElement(import_ui9.Typography, { variant: "caption", color: "text.secondary", fontWeight: "bold" }, violations.length), /* @__PURE__ */ React10.createElement(SeverityIcon, { severity: audit21.severity }));
971
+ return /* @__PURE__ */ React11.createElement(React11.Fragment, null, /* @__PURE__ */ React11.createElement(import_ui10.Typography, { variant: "caption", color: "text.secondary", fontWeight: "bold" }, violations.length), /* @__PURE__ */ React11.createElement(SeverityIcon, { severity: audit21.severity }));
960
972
  }
961
- return /* @__PURE__ */ React10.createElement(import_icons7.CheckIcon, { fontSize: "small", color: "success" });
973
+ return /* @__PURE__ */ React11.createElement(import_icons7.CheckIcon, { fontSize: "small", color: "success" });
962
974
  }
963
975
  function ViolationRow({ audit: audit21, skipReason, violations }) {
964
976
  const [expanded, setExpanded] = (0, import_react4.useState)(false);
965
977
  const toggleExpanded = () => setExpanded((value) => !value);
966
- return /* @__PURE__ */ React10.createElement(import_ui9.Box, { sx: { borderBottom: 1, borderColor: "divider", paddingBlock: 0.5 } }, /* @__PURE__ */ React10.createElement(import_ui9.Box, { sx: { display: "flex", alignItems: "center", gap: 0.5 } }, /* @__PURE__ */ React10.createElement(
967
- import_ui9.Box,
978
+ return /* @__PURE__ */ React11.createElement(import_ui10.Box, { sx: { borderBottom: 1, borderColor: "divider", paddingBlock: 0.5 } }, /* @__PURE__ */ React11.createElement(import_ui10.Box, { sx: { display: "flex", alignItems: "center", gap: 0.5 } }, /* @__PURE__ */ React11.createElement(
979
+ import_ui10.Box,
968
980
  {
969
981
  sx: {
970
982
  alignItems: "center",
@@ -976,16 +988,16 @@ function ViolationRow({ audit: audit21, skipReason, violations }) {
976
988
  },
977
989
  onClick: toggleExpanded
978
990
  },
979
- /* @__PURE__ */ React10.createElement(import_ui9.Typography, { variant: "body2", sx: { flex: 1 } }, audit21.title),
980
- !skipReason && /* @__PURE__ */ React10.createElement(StatusIndicator, { audit: audit21, violations })
981
- ), skipReason && /* @__PURE__ */ React10.createElement(SkipReasonTooltip, { reason: skipReason }), /* @__PURE__ */ React10.createElement(
982
- import_ui9.IconButton,
991
+ /* @__PURE__ */ React11.createElement(import_ui10.Typography, { variant: "body2", sx: { flex: 1 } }, audit21.title),
992
+ !skipReason && /* @__PURE__ */ React11.createElement(StatusIndicator, { audit: audit21, violations })
993
+ ), skipReason && /* @__PURE__ */ React11.createElement(SkipReasonTooltip, { reason: skipReason }), /* @__PURE__ */ React11.createElement(
994
+ import_ui10.IconButton,
983
995
  {
984
996
  size: "small",
985
997
  "aria-label": expanded ? (0, import_i18n11.__)("Collapse", "elementor") : (0, import_i18n11.__)("Expand", "elementor"),
986
998
  onClick: toggleExpanded
987
999
  },
988
- /* @__PURE__ */ React10.createElement(
1000
+ /* @__PURE__ */ React11.createElement(
989
1001
  import_icons7.ChevronDownIcon,
990
1002
  {
991
1003
  fontSize: "small",
@@ -995,30 +1007,30 @@ function ViolationRow({ audit: audit21, skipReason, violations }) {
995
1007
  }
996
1008
  }
997
1009
  )
998
- )), /* @__PURE__ */ React10.createElement(import_ui9.Collapse, { in: expanded }, /* @__PURE__ */ React10.createElement(import_ui9.Box, { sx: { display: "flex", flexDirection: "column", gap: 1, paddingBlock: 1 } }, /* @__PURE__ */ React10.createElement(
999
- import_ui9.Alert,
1010
+ )), /* @__PURE__ */ React11.createElement(import_ui10.Collapse, { in: expanded }, /* @__PURE__ */ React11.createElement(import_ui10.Box, { sx: { display: "flex", flexDirection: "column", gap: 1, paddingBlock: 1 } }, /* @__PURE__ */ React11.createElement(
1011
+ import_ui10.Alert,
1000
1012
  {
1001
1013
  severity: "secondary",
1002
1014
  sx: { p: 1 },
1003
- icon: /* @__PURE__ */ React10.createElement(import_icons7.AlertCircleIcon, { fontSize: "small", color: "secondary", "aria-hidden": true })
1015
+ icon: /* @__PURE__ */ React11.createElement(import_icons7.AlertCircleIcon, { fontSize: "small", color: "secondary", "aria-hidden": true })
1004
1016
  },
1005
- /* @__PURE__ */ React10.createElement(import_ui9.AlertTitle, null, /* @__PURE__ */ React10.createElement(import_ui9.Typography, { variant: "caption", component: "p", color: "text.primary", fontWeight: "bold" }, (0, import_i18n11.__)("What's the issue", "elementor"))),
1006
- /* @__PURE__ */ React10.createElement(import_ui9.Typography, { variant: "caption", component: "p", color: "text.secondary" }, audit21.description)
1007
- ), /* @__PURE__ */ React10.createElement(
1008
- import_ui9.Alert,
1017
+ /* @__PURE__ */ React11.createElement(import_ui10.AlertTitle, null, /* @__PURE__ */ React11.createElement(import_ui10.Typography, { variant: "caption", component: "p", color: "text.primary", fontWeight: "bold" }, (0, import_i18n11.__)("What's the issue", "elementor"))),
1018
+ /* @__PURE__ */ React11.createElement(import_ui10.Typography, { variant: "caption", component: "p", color: "text.secondary" }, audit21.description)
1019
+ ), /* @__PURE__ */ React11.createElement(
1020
+ import_ui10.Alert,
1009
1021
  {
1010
1022
  severity: "info",
1011
1023
  sx: { p: 1 },
1012
- icon: /* @__PURE__ */ React10.createElement(import_icons7.BulbIcon, { fontSize: "small", color: "info", "aria-hidden": true })
1024
+ icon: /* @__PURE__ */ React11.createElement(import_icons7.BulbIcon, { fontSize: "small", color: "info", "aria-hidden": true })
1013
1025
  },
1014
- /* @__PURE__ */ React10.createElement(import_ui9.AlertTitle, null, /* @__PURE__ */ React10.createElement(import_ui9.Typography, { variant: "caption", component: "p", color: "text.primary", fontWeight: "bold" }, (0, import_i18n11.__)("How to resolve", "elementor"))),
1015
- /* @__PURE__ */ React10.createElement(import_ui9.Typography, { variant: "caption", component: "p", color: "text.secondary" }, audit21.fixHint)
1016
- )), violations && violations.length > 0 && /* @__PURE__ */ React10.createElement(import_ui9.Box, { role: "list", sx: { paddingBlockEnd: 1, paddingInlineStart: 2 } }, violations.map((violation, idx) => {
1026
+ /* @__PURE__ */ React11.createElement(import_ui10.AlertTitle, null, /* @__PURE__ */ React11.createElement(import_ui10.Typography, { variant: "caption", component: "p", color: "text.primary", fontWeight: "bold" }, (0, import_i18n11.__)("How to resolve", "elementor"))),
1027
+ /* @__PURE__ */ React11.createElement(import_ui10.Typography, { variant: "caption", component: "p", color: "text.secondary" }, audit21.fixHint)
1028
+ )), violations && violations.length > 0 && /* @__PURE__ */ React11.createElement(import_ui10.Box, { role: "list", sx: { paddingBlockEnd: 1, paddingInlineStart: 2 } }, violations.map((violation, idx) => {
1017
1029
  const widgetIcon = violation.elementId ? (0, import_editor_elements4.getElementIcon)(violation.elementId) : null;
1018
1030
  const elementTitle = violation.elementId ? (0, import_editor_elements4.getElementTitle)(violation.elementId) : null;
1019
1031
  const rowLabel = elementTitle ? `${elementTitle} - ${violation.label}` : violation.label;
1020
- return /* @__PURE__ */ React10.createElement(
1021
- import_ui9.Box,
1032
+ return /* @__PURE__ */ React11.createElement(
1033
+ import_ui10.Box,
1022
1034
  {
1023
1035
  key: idx,
1024
1036
  role: "button",
@@ -1040,10 +1052,23 @@ function ViolationRow({ audit: audit21, skipReason, violations }) {
1040
1052
  }
1041
1053
  }
1042
1054
  },
1043
- /* @__PURE__ */ React10.createElement(ViolationIcon, { violation, widgetIcon }),
1044
- /* @__PURE__ */ React10.createElement(import_ui9.Box, { sx: { flex: 1 } }, /* @__PURE__ */ React10.createElement(import_ui9.Typography, { variant: "caption" }, rowLabel), violation.detail && /* @__PURE__ */ React10.createElement(import_ui9.Typography, { variant: "caption", color: "text.secondary" }, violation.detail)),
1045
- violation.angieFix && /* @__PURE__ */ React10.createElement(FixViolationWithAngie, { prompt: buildAngiePrompt(rowLabel) }),
1046
- /* @__PURE__ */ React10.createElement(import_icons7.EyeIcon, { className: "violation-hover-icon", fontSize: "tiny", "aria-hidden": true })
1055
+ /* @__PURE__ */ React11.createElement(ViolationIcon, { violation, widgetIcon }),
1056
+ /* @__PURE__ */ React11.createElement(import_ui10.Box, { sx: { flex: 1 } }, /* @__PURE__ */ React11.createElement(import_ui10.Typography, { variant: "caption" }, rowLabel), violation.detail && /* @__PURE__ */ React11.createElement(import_ui10.Typography, { variant: "caption", color: "text.secondary" }, violation.detail)),
1057
+ violation.angieFix && /* @__PURE__ */ React11.createElement(FixViolationWithAngie, { prompt: buildAngiePrompt(rowLabel) }),
1058
+ violation.ctaLabel && violation.externalUrl ? /* @__PURE__ */ React11.createElement(
1059
+ ViolationCtaButton,
1060
+ {
1061
+ ctaLabel: violation.ctaLabel,
1062
+ externalUrl: violation.externalUrl
1063
+ }
1064
+ ) : /* @__PURE__ */ React11.createElement(
1065
+ import_icons7.EyeIcon,
1066
+ {
1067
+ className: "violation-hover-icon",
1068
+ fontSize: "tiny",
1069
+ "aria-hidden": true
1070
+ }
1071
+ )
1047
1072
  );
1048
1073
  }))));
1049
1074
  }
@@ -1054,7 +1079,7 @@ function AllAuditsPage({ initialExpandedStatus, onBack, report }) {
1054
1079
  const expandFail = !initialExpandedStatus || initialExpandedStatus === "fail";
1055
1080
  const expandPass = initialExpandedStatus === "pass";
1056
1081
  const expandSkipped = initialExpandedStatus === "skipped";
1057
- return /* @__PURE__ */ React11.createElement(import_ui10.Box, { key: initialExpandedStatus ?? "default" }, /* @__PURE__ */ React11.createElement(SubpageHeader, { title: (0, import_i18n12.__)("All audits", "elementor"), onBack }), /* @__PURE__ */ React11.createElement(import_ui10.Box, { sx: { p: 1 } }, /* @__PURE__ */ React11.createElement(
1082
+ return /* @__PURE__ */ React12.createElement(import_ui11.Box, { key: initialExpandedStatus ?? "default" }, /* @__PURE__ */ React12.createElement(SubpageHeader, { title: (0, import_i18n12.__)("All audits", "elementor"), onBack }), /* @__PURE__ */ React12.createElement(import_ui11.Box, { sx: { p: 1 } }, /* @__PURE__ */ React12.createElement(
1058
1083
  StatusSection,
1059
1084
  {
1060
1085
  label: auditStatusLabel("fail"),
@@ -1062,8 +1087,8 @@ function AllAuditsPage({ initialExpandedStatus, onBack, report }) {
1062
1087
  color: auditStatusColor("fail"),
1063
1088
  defaultExpanded: expandFail
1064
1089
  },
1065
- failed.map((r) => /* @__PURE__ */ React11.createElement(ViolationRow, { key: r.audit.id, audit: r.audit, violations: r.result.violations }))
1066
- ), /* @__PURE__ */ React11.createElement(
1090
+ failed.map((r) => /* @__PURE__ */ React12.createElement(ViolationRow, { key: r.audit.id, audit: r.audit, violations: r.result.violations }))
1091
+ ), /* @__PURE__ */ React12.createElement(
1067
1092
  StatusSection,
1068
1093
  {
1069
1094
  label: auditStatusLabel("pass"),
@@ -1071,8 +1096,8 @@ function AllAuditsPage({ initialExpandedStatus, onBack, report }) {
1071
1096
  color: auditStatusColor("pass"),
1072
1097
  defaultExpanded: expandPass
1073
1098
  },
1074
- passed.map((r) => /* @__PURE__ */ React11.createElement(ViolationRow, { key: r.audit.id, audit: r.audit }))
1075
- ), /* @__PURE__ */ React11.createElement(
1099
+ passed.map((r) => /* @__PURE__ */ React12.createElement(ViolationRow, { key: r.audit.id, audit: r.audit }))
1100
+ ), /* @__PURE__ */ React12.createElement(
1076
1101
  StatusSection,
1077
1102
  {
1078
1103
  label: auditStatusLabel("skipped"),
@@ -1080,13 +1105,13 @@ function AllAuditsPage({ initialExpandedStatus, onBack, report }) {
1080
1105
  color: auditStatusColor("skipped"),
1081
1106
  defaultExpanded: expandSkipped
1082
1107
  },
1083
- skipped.map((r) => /* @__PURE__ */ React11.createElement(ViolationRow, { key: r.audit.id, audit: r.audit, skipReason: r.result.reason }))
1108
+ skipped.map((r) => /* @__PURE__ */ React12.createElement(ViolationRow, { key: r.audit.id, audit: r.audit, skipReason: r.result.reason }))
1084
1109
  )));
1085
1110
  }
1086
1111
 
1087
1112
  // src/components/pages/category-page.tsx
1088
- var React12 = __toESM(require("react"));
1089
- var import_ui11 = require("@elementor/ui");
1113
+ var React13 = __toESM(require("react"));
1114
+ var import_ui12 = require("@elementor/ui");
1090
1115
  var import_i18n13 = require("@wordpress/i18n");
1091
1116
 
1092
1117
  // src/components/category-icons.ts
@@ -1103,15 +1128,15 @@ var CATEGORY_ICONS = {
1103
1128
  function CategoryPage({ category, report, onBack }) {
1104
1129
  const Icon = CATEGORY_ICONS[category];
1105
1130
  const { failed, passed, totalViolations } = partitionAuditResults(report, { category });
1106
- return /* @__PURE__ */ React12.createElement(React12.Fragment, null, /* @__PURE__ */ React12.createElement(
1131
+ return /* @__PURE__ */ React13.createElement(React13.Fragment, null, /* @__PURE__ */ React13.createElement(
1107
1132
  SubpageHeader,
1108
1133
  {
1109
1134
  title: CATEGORY_LABELS[category],
1110
1135
  onBack,
1111
1136
  backLabel: (0, import_i18n13.__)("Back to all issues", "elementor"),
1112
- icon: /* @__PURE__ */ React12.createElement(Icon, { fontSize: "small", color: "action" })
1137
+ icon: /* @__PURE__ */ React13.createElement(Icon, { fontSize: "small", color: "action" })
1113
1138
  }
1114
- ), /* @__PURE__ */ React12.createElement(import_ui11.Box, { sx: { p: 1 } }, /* @__PURE__ */ React12.createElement(
1139
+ ), /* @__PURE__ */ React13.createElement(import_ui12.Box, { sx: { p: 1 } }, /* @__PURE__ */ React13.createElement(
1115
1140
  StatusSection,
1116
1141
  {
1117
1142
  label: (0, import_i18n13.__)("Failed audits", "elementor"),
@@ -1119,13 +1144,13 @@ function CategoryPage({ category, report, onBack }) {
1119
1144
  color: "error",
1120
1145
  defaultExpanded: true
1121
1146
  },
1122
- failed.map((r) => /* @__PURE__ */ React12.createElement(ViolationRow, { key: r.audit.id, audit: r.audit, violations: r.result.violations }))
1123
- ), /* @__PURE__ */ React12.createElement(StatusSection, { label: (0, import_i18n13.__)("Passed audits", "elementor"), count: passed.length, color: "success" }, passed.map((r) => /* @__PURE__ */ React12.createElement(ViolationRow, { key: r.audit.id, audit: r.audit })))));
1147
+ failed.map((r) => /* @__PURE__ */ React13.createElement(ViolationRow, { key: r.audit.id, audit: r.audit, violations: r.result.violations }))
1148
+ ), /* @__PURE__ */ React13.createElement(StatusSection, { label: (0, import_i18n13.__)("Passed audits", "elementor"), count: passed.length, color: "success" }, passed.map((r) => /* @__PURE__ */ React13.createElement(ViolationRow, { key: r.audit.id, audit: r.audit })))));
1124
1149
  }
1125
1150
 
1126
1151
  // src/components/pages/issues-page.tsx
1127
- var React16 = __toESM(require("react"));
1128
- var import_ui15 = require("@elementor/ui");
1152
+ var React17 = __toESM(require("react"));
1153
+ var import_ui16 = require("@elementor/ui");
1129
1154
  var import_i18n17 = require("@wordpress/i18n");
1130
1155
 
1131
1156
  // src/utils/severity-counts.ts
@@ -1178,14 +1203,14 @@ function severityRemainingCountLabel(severity, count) {
1178
1203
  }
1179
1204
 
1180
1205
  // src/components/issues-category-row.tsx
1181
- var React13 = __toESM(require("react"));
1206
+ var React14 = __toESM(require("react"));
1182
1207
  var import_icons9 = require("@elementor/icons");
1183
- var import_ui12 = require("@elementor/ui");
1208
+ var import_ui13 = require("@elementor/ui");
1184
1209
  function IssuesCategoryRow({ category, label, counts, onClick }) {
1185
- const isRtl = "rtl" === (0, import_ui12.useTheme)().direction;
1210
+ const isRtl = "rtl" === (0, import_ui13.useTheme)().direction;
1186
1211
  const Icon = CATEGORY_ICONS[category];
1187
- return /* @__PURE__ */ React13.createElement(
1188
- import_ui12.Box,
1212
+ return /* @__PURE__ */ React14.createElement(
1213
+ import_ui13.Box,
1189
1214
  {
1190
1215
  role: "button",
1191
1216
  tabIndex: 0,
@@ -1206,16 +1231,16 @@ function IssuesCategoryRow({ category, label, counts, onClick }) {
1206
1231
  "&:focus-visible": { outline: "2px solid", outlineColor: "primary.main" }
1207
1232
  }
1208
1233
  },
1209
- /* @__PURE__ */ React13.createElement(Icon, { fontSize: "small", color: "action" }),
1210
- /* @__PURE__ */ React13.createElement(import_ui12.Typography, { variant: "body2", fontWeight: "bold", sx: { flex: 1 } }, label),
1211
- /* @__PURE__ */ React13.createElement(import_ui12.Box, { sx: { display: "flex", alignItems: "center", gap: 0.5 } }, ALL_SEVERITIES.filter((s) => counts[s] > 0).map((severity) => /* @__PURE__ */ React13.createElement(import_ui12.Box, { key: severity, sx: { display: "flex", alignItems: "center", gap: 0.25 } }, /* @__PURE__ */ React13.createElement(SeverityIcon, { severity }), /* @__PURE__ */ React13.createElement(import_ui12.Typography, { variant: "caption", color: "text.primary", fontWeight: "bold" }, counts[severity])))),
1212
- /* @__PURE__ */ React13.createElement(import_ui12.Rotate, { in: isRtl }, /* @__PURE__ */ React13.createElement(import_icons9.ChevronRightIcon, { fontSize: "small", color: "action" }))
1234
+ /* @__PURE__ */ React14.createElement(Icon, { fontSize: "small", color: "action" }),
1235
+ /* @__PURE__ */ React14.createElement(import_ui13.Typography, { variant: "body2", fontWeight: "bold", sx: { flex: 1 } }, label),
1236
+ /* @__PURE__ */ React14.createElement(import_ui13.Box, { sx: { display: "flex", alignItems: "center", gap: 0.5 } }, ALL_SEVERITIES.filter((s) => counts[s] > 0).map((severity) => /* @__PURE__ */ React14.createElement(import_ui13.Box, { key: severity, sx: { display: "flex", alignItems: "center", gap: 0.25 } }, /* @__PURE__ */ React14.createElement(SeverityIcon, { severity }), /* @__PURE__ */ React14.createElement(import_ui13.Typography, { variant: "caption", color: "text.primary", fontWeight: "bold" }, counts[severity])))),
1237
+ /* @__PURE__ */ React14.createElement(import_ui13.Rotate, { in: isRtl }, /* @__PURE__ */ React14.createElement(import_icons9.ChevronRightIcon, { fontSize: "small", color: "action" }))
1213
1238
  );
1214
1239
  }
1215
1240
 
1216
1241
  // src/components/promotions.tsx
1217
- var React15 = __toESM(require("react"));
1218
- var import_ui14 = require("@elementor/ui");
1242
+ var React16 = __toESM(require("react"));
1243
+ var import_ui15 = require("@elementor/ui");
1219
1244
  var import_i18n16 = require("@wordpress/i18n");
1220
1245
 
1221
1246
  // src/register-promotions.ts
@@ -1280,11 +1305,11 @@ function findAuditRun(report, auditId) {
1280
1305
  }
1281
1306
 
1282
1307
  // src/components/promotion-card.tsx
1283
- var React14 = __toESM(require("react"));
1284
- var import_ui13 = require("@elementor/ui");
1308
+ var React15 = __toESM(require("react"));
1309
+ var import_ui14 = require("@elementor/ui");
1285
1310
  function PromotionCard({ ctaDisabled, ctaLabel, icon: Icon, onCtaClick, subtitle, title }) {
1286
- return /* @__PURE__ */ React14.createElement(
1287
- import_ui13.Box,
1311
+ return /* @__PURE__ */ React15.createElement(
1312
+ import_ui14.Box,
1288
1313
  {
1289
1314
  sx: {
1290
1315
  alignItems: "center",
@@ -1297,9 +1322,9 @@ function PromotionCard({ ctaDisabled, ctaLabel, icon: Icon, onCtaClick, subtitle
1297
1322
  py: 1.5
1298
1323
  }
1299
1324
  },
1300
- /* @__PURE__ */ React14.createElement(Icon, { fontSize: "small", color: "action" }),
1301
- /* @__PURE__ */ React14.createElement(import_ui13.Box, { sx: { display: "flex", flex: 1, flexDirection: "column", gap: 0.25, minWidth: 0 } }, /* @__PURE__ */ React14.createElement(import_ui13.Typography, { variant: "body2", fontWeight: "bold" }, title), /* @__PURE__ */ React14.createElement(import_ui13.Typography, { variant: "caption", color: "text.secondary" }, subtitle)),
1302
- /* @__PURE__ */ React14.createElement(import_ui13.Button, { variant: "outlined", color: "secondary", size: "small", disabled: ctaDisabled, onClick: onCtaClick }, ctaLabel)
1325
+ /* @__PURE__ */ React15.createElement(Icon, { fontSize: "small", color: "action" }),
1326
+ /* @__PURE__ */ React15.createElement(import_ui14.Box, { sx: { display: "flex", flex: 1, flexDirection: "column", gap: 0.25, minWidth: 0 } }, /* @__PURE__ */ React15.createElement(import_ui14.Typography, { variant: "body2", fontWeight: "bold" }, title), /* @__PURE__ */ React15.createElement(import_ui14.Typography, { variant: "caption", color: "text.secondary" }, subtitle)),
1327
+ /* @__PURE__ */ React15.createElement(import_ui14.Button, { variant: "outlined", color: "secondary", size: "small", disabled: ctaDisabled, onClick: onCtaClick }, ctaLabel)
1303
1328
  );
1304
1329
  }
1305
1330
 
@@ -1328,7 +1353,7 @@ function Promotions({ report }) {
1328
1353
  if (cards.length === 0) {
1329
1354
  return null;
1330
1355
  }
1331
- return /* @__PURE__ */ React15.createElement(React15.Fragment, null, /* @__PURE__ */ React15.createElement(import_ui14.Typography, { variant: "subtitle1", fontWeight: "bold" }, (0, import_i18n16.__)("Quick wins", "elementor")), /* @__PURE__ */ React15.createElement(import_ui14.Box, { sx: { display: "flex", flexDirection: "column", gap: 1 } }, cards.map(({ config, ctaUrl, key, run, subtitle }) => /* @__PURE__ */ React15.createElement(
1356
+ return /* @__PURE__ */ React16.createElement(React16.Fragment, null, /* @__PURE__ */ React16.createElement(import_ui15.Typography, { variant: "subtitle1", fontWeight: "bold" }, (0, import_i18n16.__)("Quick wins", "elementor")), /* @__PURE__ */ React16.createElement(import_ui15.Box, { sx: { display: "flex", flexDirection: "column", gap: 1 } }, cards.map(({ config, ctaUrl, key, run, subtitle }) => /* @__PURE__ */ React16.createElement(
1332
1357
  PromotionCard,
1333
1358
  {
1334
1359
  key,
@@ -1349,8 +1374,8 @@ function Promotions({ report }) {
1349
1374
  // src/components/pages/issues-page.tsx
1350
1375
  function IssuesPage({ report, onCategoryClick, onAllAuditsClick }) {
1351
1376
  const populatedCategories = getPopulatedCategories(report.categories, ALL_CATEGORIES);
1352
- return /* @__PURE__ */ React16.createElement(import_ui15.Box, { sx: { display: "flex", flexDirection: "column", gap: 4, p: 2 } }, /* @__PURE__ */ React16.createElement(
1353
- import_ui15.Link,
1377
+ return /* @__PURE__ */ React17.createElement(import_ui16.Box, { sx: { display: "flex", flexDirection: "column", gap: 4, p: 2 } }, /* @__PURE__ */ React17.createElement(
1378
+ import_ui16.Link,
1354
1379
  {
1355
1380
  component: "button",
1356
1381
  underline: "none",
@@ -1358,8 +1383,8 @@ function IssuesPage({ report, onCategoryClick, onAllAuditsClick }) {
1358
1383
  onClick: onAllAuditsClick,
1359
1384
  sx: { textAlign: "start" }
1360
1385
  },
1361
- /* @__PURE__ */ React16.createElement(import_ui15.Typography, { variant: "subtitle1", component: "h2" }, (0, import_i18n17.__)("All issues", "elementor"))
1362
- ), /* @__PURE__ */ React16.createElement(import_ui15.Box, { sx: { display: "flex", flexDirection: "column", gap: 1 } }, populatedCategories.map((category) => /* @__PURE__ */ React16.createElement(
1386
+ /* @__PURE__ */ React17.createElement(import_ui16.Typography, { variant: "subtitle1", component: "h2" }, (0, import_i18n17.__)("All issues", "elementor"))
1387
+ ), /* @__PURE__ */ React17.createElement(import_ui16.Box, { sx: { display: "flex", flexDirection: "column", gap: 1 } }, populatedCategories.map((category) => /* @__PURE__ */ React17.createElement(
1363
1388
  IssuesCategoryRow,
1364
1389
  {
1365
1390
  key: category,
@@ -1368,12 +1393,12 @@ function IssuesPage({ report, onCategoryClick, onAllAuditsClick }) {
1368
1393
  counts: countSeverities(report, category),
1369
1394
  onClick: () => onCategoryClick(category)
1370
1395
  }
1371
- ))), /* @__PURE__ */ React16.createElement(Promotions, { report }));
1396
+ ))), /* @__PURE__ */ React17.createElement(Promotions, { report }));
1372
1397
  }
1373
1398
 
1374
1399
  // src/components/pages/overview-page.tsx
1375
- var React20 = __toESM(require("react"));
1376
- var import_ui19 = require("@elementor/ui");
1400
+ var React21 = __toESM(require("react"));
1401
+ var import_ui20 = require("@elementor/ui");
1377
1402
  var import_i18n19 = require("@wordpress/i18n");
1378
1403
 
1379
1404
  // src/utils/score-thresholds.ts
@@ -1391,8 +1416,8 @@ function getScoreTier(score) {
1391
1416
  }
1392
1417
 
1393
1418
  // src/components/count-summary-circle.tsx
1394
- var React17 = __toESM(require("react"));
1395
- var import_ui16 = require("@elementor/ui");
1419
+ var React18 = __toESM(require("react"));
1420
+ var import_ui17 = require("@elementor/ui");
1396
1421
  var COUNT_SUMMARY_CIRCLE_SIZE = 64;
1397
1422
  var COUNT_SUMMARY_BORDER_WIDTH = 4;
1398
1423
  function chipBorderColor(theme, color) {
@@ -1402,8 +1427,8 @@ function chipBorderColor(theme, color) {
1402
1427
  return theme.palette[color].main;
1403
1428
  }
1404
1429
  function CountSummaryCircle({ ariaLabel, color, count, label, onClick }) {
1405
- return /* @__PURE__ */ React17.createElement(
1406
- import_ui16.Box,
1430
+ return /* @__PURE__ */ React18.createElement(
1431
+ import_ui17.Box,
1407
1432
  {
1408
1433
  "aria-label": ariaLabel,
1409
1434
  component: "button",
@@ -1421,8 +1446,8 @@ function CountSummaryCircle({ ariaLabel, color, count, label, onClick }) {
1421
1446
  padding: 0
1422
1447
  }
1423
1448
  },
1424
- /* @__PURE__ */ React17.createElement(
1425
- import_ui16.Chip,
1449
+ /* @__PURE__ */ React18.createElement(
1450
+ import_ui17.Chip,
1426
1451
  {
1427
1452
  color,
1428
1453
  label: count,
@@ -1443,18 +1468,18 @@ function CountSummaryCircle({ ariaLabel, color, count, label, onClick }) {
1443
1468
  })
1444
1469
  }
1445
1470
  ),
1446
- /* @__PURE__ */ React17.createElement(import_ui16.Typography, { color: "text.secondary", sx: { textAlign: "center" }, variant: "caption" }, label)
1471
+ /* @__PURE__ */ React18.createElement(import_ui17.Typography, { color: "text.secondary", sx: { textAlign: "center" }, variant: "caption" }, label)
1447
1472
  );
1448
1473
  }
1449
1474
 
1450
1475
  // src/components/score-bar.tsx
1451
- var React18 = __toESM(require("react"));
1476
+ var React19 = __toESM(require("react"));
1452
1477
  var import_icons11 = require("@elementor/icons");
1453
- var import_ui17 = require("@elementor/ui");
1478
+ var import_ui18 = require("@elementor/ui");
1454
1479
  function ScoreBar({ label, score, onClick }) {
1455
- const isRtl = "rtl" === (0, import_ui17.useTheme)().direction;
1456
- return /* @__PURE__ */ React18.createElement(
1457
- import_ui17.Box,
1480
+ const isRtl = "rtl" === (0, import_ui18.useTheme)().direction;
1481
+ return /* @__PURE__ */ React19.createElement(
1482
+ import_ui18.Box,
1458
1483
  {
1459
1484
  role: onClick ? "button" : void 0,
1460
1485
  tabIndex: onClick ? 0 : void 0,
@@ -1470,9 +1495,9 @@ function ScoreBar({ label, score, onClick }) {
1470
1495
  py: 0.5
1471
1496
  }
1472
1497
  },
1473
- /* @__PURE__ */ React18.createElement(import_ui17.Typography, { variant: "body2", sx: { minWidth: 96 } }, label),
1474
- /* @__PURE__ */ React18.createElement(
1475
- import_ui17.LinearProgress,
1498
+ /* @__PURE__ */ React19.createElement(import_ui18.Typography, { variant: "body2", sx: { minWidth: 96 } }, label),
1499
+ /* @__PURE__ */ React19.createElement(
1500
+ import_ui18.LinearProgress,
1476
1501
  {
1477
1502
  variant: "determinate",
1478
1503
  value: score,
@@ -1480,8 +1505,8 @@ function ScoreBar({ label, score, onClick }) {
1480
1505
  sx: { flex: 1, height: 6, borderRadius: 4, bgcolor: "action.disabledBackground" }
1481
1506
  }
1482
1507
  ),
1483
- /* @__PURE__ */ React18.createElement(
1484
- import_ui17.Typography,
1508
+ /* @__PURE__ */ React19.createElement(
1509
+ import_ui18.Typography,
1485
1510
  {
1486
1511
  variant: "body2",
1487
1512
  color: "text.primary",
@@ -1489,19 +1514,19 @@ function ScoreBar({ label, score, onClick }) {
1489
1514
  },
1490
1515
  score
1491
1516
  ),
1492
- onClick && /* @__PURE__ */ React18.createElement(import_ui17.Rotate, { in: isRtl }, /* @__PURE__ */ React18.createElement(import_icons11.ChevronRightIcon, { fontSize: "small", color: "action" }))
1517
+ onClick && /* @__PURE__ */ React19.createElement(import_ui18.Rotate, { in: isRtl }, /* @__PURE__ */ React19.createElement(import_icons11.ChevronRightIcon, { fontSize: "small", color: "action" }))
1493
1518
  );
1494
1519
  }
1495
1520
 
1496
1521
  // src/components/score-circle.tsx
1497
- var React19 = __toESM(require("react"));
1498
- var import_ui18 = require("@elementor/ui");
1522
+ var React20 = __toESM(require("react"));
1523
+ var import_ui19 = require("@elementor/ui");
1499
1524
  var SCORE_CIRCLE_SIZE = 88;
1500
1525
  var SCORE_CIRCLE_THICKNESS = 3;
1501
1526
  function ScoreCircle({ color, score }) {
1502
1527
  const progressColor = color ?? getScoreTier(score).color;
1503
- return /* @__PURE__ */ React19.createElement(
1504
- import_ui18.Box,
1528
+ return /* @__PURE__ */ React20.createElement(
1529
+ import_ui19.Box,
1505
1530
  {
1506
1531
  role: "progressbar",
1507
1532
  "aria-valuenow": score,
@@ -1509,8 +1534,8 @@ function ScoreCircle({ color, score }) {
1509
1534
  "aria-valuemax": 100,
1510
1535
  sx: { position: "relative", display: "inline-flex" }
1511
1536
  },
1512
- /* @__PURE__ */ React19.createElement(
1513
- import_ui18.CircularProgress,
1537
+ /* @__PURE__ */ React20.createElement(
1538
+ import_ui19.CircularProgress,
1514
1539
  {
1515
1540
  variant: "determinate",
1516
1541
  value: 100,
@@ -1519,8 +1544,8 @@ function ScoreCircle({ color, score }) {
1519
1544
  sx: { color: "action.disabledBackground" }
1520
1545
  }
1521
1546
  ),
1522
- /* @__PURE__ */ React19.createElement(
1523
- import_ui18.CircularProgress,
1547
+ /* @__PURE__ */ React20.createElement(
1548
+ import_ui19.CircularProgress,
1524
1549
  {
1525
1550
  variant: "determinate",
1526
1551
  value: score,
@@ -1530,8 +1555,8 @@ function ScoreCircle({ color, score }) {
1530
1555
  sx: { position: "absolute", left: 0 }
1531
1556
  }
1532
1557
  ),
1533
- /* @__PURE__ */ React19.createElement(
1534
- import_ui18.Box,
1558
+ /* @__PURE__ */ React20.createElement(
1559
+ import_ui19.Box,
1535
1560
  {
1536
1561
  sx: {
1537
1562
  position: "absolute",
@@ -1541,8 +1566,8 @@ function ScoreCircle({ color, score }) {
1541
1566
  justifyContent: "center"
1542
1567
  }
1543
1568
  },
1544
- /* @__PURE__ */ React19.createElement(
1545
- import_ui18.Typography,
1569
+ /* @__PURE__ */ React20.createElement(
1570
+ import_ui19.Typography,
1546
1571
  {
1547
1572
  variant: "h4",
1548
1573
  component: "span",
@@ -1579,8 +1604,8 @@ function OverviewPage({ onCategoryClick, onStatusClick, report }) {
1579
1604
  const severityCounts = countSeverities(report);
1580
1605
  const statusCounts = auditStatusDisplayCounts(report);
1581
1606
  const overallScore = getScoreTier(report.overall);
1582
- return /* @__PURE__ */ React20.createElement(import_ui19.Box, { sx: { display: "flex", flexDirection: "column", gap: 4, p: 2 } }, /* @__PURE__ */ React20.createElement(import_ui19.Box, { sx: { display: "flex", alignItems: "center", gap: 2 } }, /* @__PURE__ */ React20.createElement(ScoreCircle, { color: overallScore.color, score: report.overall }), /* @__PURE__ */ React20.createElement(import_ui19.Box, { sx: { display: "flex", flexDirection: "column", gap: 0.5 } }, /* @__PURE__ */ React20.createElement(
1583
- import_ui19.Chip,
1607
+ return /* @__PURE__ */ React21.createElement(import_ui20.Box, { sx: { display: "flex", flexDirection: "column", gap: 4, p: 2 } }, /* @__PURE__ */ React21.createElement(import_ui20.Box, { sx: { display: "flex", alignItems: "center", gap: 2 } }, /* @__PURE__ */ React21.createElement(ScoreCircle, { color: overallScore.color, score: report.overall }), /* @__PURE__ */ React21.createElement(import_ui20.Box, { sx: { display: "flex", flexDirection: "column", gap: 0.5 } }, /* @__PURE__ */ React21.createElement(
1608
+ import_ui20.Chip,
1584
1609
  {
1585
1610
  label: overallScore.label,
1586
1611
  color: overallScore.color,
@@ -1588,7 +1613,7 @@ function OverviewPage({ onCategoryClick, onStatusClick, report }) {
1588
1613
  size: "small",
1589
1614
  sx: { fontWeight: 600, alignSelf: "flex-start" }
1590
1615
  }
1591
- ), /* @__PURE__ */ React20.createElement(import_ui19.Typography, { variant: "body2", color: "text.secondary" }, (0, import_i18n19.__)("Overall score", "elementor")))), /* @__PURE__ */ React20.createElement(import_ui19.Box, { sx: { display: "flex", flexDirection: "column", gap: 2 } }, populatedCategories.map((category) => /* @__PURE__ */ React20.createElement(
1616
+ ), /* @__PURE__ */ React21.createElement(import_ui20.Typography, { variant: "body2", color: "text.secondary" }, (0, import_i18n19.__)("Overall score", "elementor")))), /* @__PURE__ */ React21.createElement(import_ui20.Box, { sx: { display: "flex", flexDirection: "column", gap: 2 } }, populatedCategories.map((category) => /* @__PURE__ */ React21.createElement(
1592
1617
  ScoreBar,
1593
1618
  {
1594
1619
  key: category,
@@ -1596,7 +1621,7 @@ function OverviewPage({ onCategoryClick, onStatusClick, report }) {
1596
1621
  score: report.categories[category].score,
1597
1622
  onClick: () => onCategoryClick(category)
1598
1623
  }
1599
- ))), /* @__PURE__ */ React20.createElement(import_ui19.Divider, null), /* @__PURE__ */ React20.createElement(import_ui19.Typography, { variant: "subtitle1", fontWeight: "bold" }, (0, import_i18n19.__)("Audit statuses", "elementor")), /* @__PURE__ */ React20.createElement(import_ui19.Box, { sx: { display: "flex", justifyContent: "space-around", gap: 2 } }, STATUS_GROUPS.map((status) => /* @__PURE__ */ React20.createElement(
1624
+ ))), /* @__PURE__ */ React21.createElement(import_ui20.Divider, null), /* @__PURE__ */ React21.createElement(import_ui20.Typography, { variant: "subtitle1", fontWeight: "bold" }, (0, import_i18n19.__)("Audit statuses", "elementor")), /* @__PURE__ */ React21.createElement(import_ui20.Box, { sx: { display: "flex", justifyContent: "space-around", gap: 2 } }, STATUS_GROUPS.map((status) => /* @__PURE__ */ React21.createElement(
1600
1625
  CountSummaryCircle,
1601
1626
  {
1602
1627
  key: status,
@@ -1606,8 +1631,8 @@ function OverviewPage({ onCategoryClick, onStatusClick, report }) {
1606
1631
  label: auditStatusLabel(status),
1607
1632
  onClick: () => onStatusClick(status)
1608
1633
  }
1609
- ))), /* @__PURE__ */ React20.createElement(import_ui19.Divider, null), /* @__PURE__ */ React20.createElement(import_ui19.Typography, { variant: "subtitle1", fontWeight: "bold" }, (0, import_i18n19.__)("Remaining issues", "elementor")), /* @__PURE__ */ React20.createElement(
1610
- import_ui19.Box,
1634
+ ))), /* @__PURE__ */ React21.createElement(import_ui20.Divider, null), /* @__PURE__ */ React21.createElement(import_ui20.Typography, { variant: "subtitle1", fontWeight: "bold" }, (0, import_i18n19.__)("Remaining issues", "elementor")), /* @__PURE__ */ React21.createElement(
1635
+ import_ui20.Box,
1611
1636
  {
1612
1637
  component: "ul",
1613
1638
  sx: {
@@ -1621,17 +1646,17 @@ function OverviewPage({ onCategoryClick, onStatusClick, report }) {
1621
1646
  },
1622
1647
  ALL_SEVERITIES.map((severity) => {
1623
1648
  const count = severityCounts[severity];
1624
- return /* @__PURE__ */ React20.createElement(
1625
- import_ui19.Box,
1649
+ return /* @__PURE__ */ React21.createElement(
1650
+ import_ui20.Box,
1626
1651
  {
1627
1652
  "aria-label": severityRemainingCountLabel(severity, count),
1628
1653
  component: "li",
1629
1654
  key: severity,
1630
1655
  sx: { alignItems: "center", display: "flex", gap: 0.5 }
1631
1656
  },
1632
- /* @__PURE__ */ React20.createElement(SeverityIcon, { severity }),
1633
- /* @__PURE__ */ React20.createElement(import_ui19.Typography, { variant: "body2", fontWeight: "bold" }, count),
1634
- /* @__PURE__ */ React20.createElement(import_ui19.Typography, { variant: "body2" }, severityPluralLabel(severity))
1657
+ /* @__PURE__ */ React21.createElement(SeverityIcon, { severity }),
1658
+ /* @__PURE__ */ React21.createElement(import_ui20.Typography, { variant: "body2", fontWeight: "bold" }, count),
1659
+ /* @__PURE__ */ React21.createElement(import_ui20.Typography, { variant: "body2" }, severityPluralLabel(severity))
1635
1660
  );
1636
1661
  })
1637
1662
  ));
@@ -1670,8 +1695,8 @@ function ReportShell({ report }) {
1670
1695
  setActivePage(activePage.backTo);
1671
1696
  }
1672
1697
  };
1673
- return /* @__PURE__ */ React21.createElement(import_ui20.Box, null, /* @__PURE__ */ React21.createElement(
1674
- import_ui20.Tabs,
1698
+ return /* @__PURE__ */ React22.createElement(import_ui21.Box, null, /* @__PURE__ */ React22.createElement(
1699
+ import_ui21.Tabs,
1675
1700
  {
1676
1701
  "aria-label": (0, import_i18n20.__)("Audit navigation", "elementor"),
1677
1702
  value: currentTab,
@@ -1682,30 +1707,30 @@ function ReportShell({ report }) {
1682
1707
  centered: true,
1683
1708
  variant: "fullWidth"
1684
1709
  },
1685
- /* @__PURE__ */ React21.createElement(import_ui20.Tab, { value: "overview", label: (0, import_i18n20.__)("Overview", "elementor") }),
1686
- /* @__PURE__ */ React21.createElement(import_ui20.Tab, { value: "issues", label: (0, import_i18n20.__)("Issues", "elementor") })
1687
- ), /* @__PURE__ */ React21.createElement(import_ui20.Divider, null), activePage === "overview" && /* @__PURE__ */ React21.createElement(
1710
+ /* @__PURE__ */ React22.createElement(import_ui21.Tab, { value: "overview", label: (0, import_i18n20.__)("Overview", "elementor") }),
1711
+ /* @__PURE__ */ React22.createElement(import_ui21.Tab, { value: "issues", label: (0, import_i18n20.__)("Issues", "elementor") })
1712
+ ), /* @__PURE__ */ React22.createElement(import_ui21.Divider, null), activePage === "overview" && /* @__PURE__ */ React22.createElement(
1688
1713
  OverviewPage,
1689
1714
  {
1690
1715
  report,
1691
1716
  onCategoryClick: (category) => openCategory(category, "overview"),
1692
1717
  onStatusClick: (status) => openAllAudits(status, "overview")
1693
1718
  }
1694
- ), activePage === "issues" && /* @__PURE__ */ React21.createElement(
1719
+ ), activePage === "issues" && /* @__PURE__ */ React22.createElement(
1695
1720
  IssuesPage,
1696
1721
  {
1697
1722
  report,
1698
1723
  onCategoryClick: (category) => openCategory(category, "issues"),
1699
1724
  onAllAuditsClick: () => openAllAudits()
1700
1725
  }
1701
- ), isAllAuditsPage(activePage) && /* @__PURE__ */ React21.createElement(
1726
+ ), isAllAuditsPage(activePage) && /* @__PURE__ */ React22.createElement(
1702
1727
  AllAuditsPage,
1703
1728
  {
1704
1729
  report,
1705
1730
  initialExpandedStatus: activePage.expand,
1706
1731
  onBack: backFromSubPage
1707
1732
  }
1708
- ), isCategoryPage(activePage) && /* @__PURE__ */ React21.createElement(CategoryPage, { category: activePage.category, report, onBack: backFromSubPage }));
1733
+ ), isCategoryPage(activePage) && /* @__PURE__ */ React22.createElement(CategoryPage, { category: activePage.category, report, onBack: backFromSubPage }));
1709
1734
  }
1710
1735
 
1711
1736
  // src/components/audit-panel.tsx
@@ -1714,7 +1739,7 @@ function AuditPanel() {
1714
1739
  const currentDocumentId = (0, import_editor_elements5.getCurrentDocumentId)() ?? 0;
1715
1740
  const onRun = () => run(currentDocumentId);
1716
1741
  const lastScanLabel = report ? new Date(report.runAt).toLocaleTimeString() : null;
1717
- return /* @__PURE__ */ React22.createElement(React22.Fragment, null, /* @__PURE__ */ React22.createElement(
1742
+ return /* @__PURE__ */ React23.createElement(React23.Fragment, null, /* @__PURE__ */ React23.createElement(
1718
1743
  import_editor_floating_panels.FloatingPanelHeader,
1719
1744
  {
1720
1745
  panelId: "audit-panel",
@@ -1722,8 +1747,8 @@ function AuditPanel() {
1722
1747
  badge: (0, import_i18n21.__)("Beta", "elementor"),
1723
1748
  titleVariant: "subtitle2"
1724
1749
  }
1725
- ), /* @__PURE__ */ React22.createElement(import_editor_floating_panels.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(import_editor_floating_panels.FloatingPanelFooter, null, lastScanLabel ? /* @__PURE__ */ React22.createElement(import_ui21.Typography, { variant: "caption", sx: { flex: 1 } }, (0, import_i18n21.__)("Last scan:", "elementor"), " ", lastScanLabel) : /* @__PURE__ */ React22.createElement(import_ui21.Box, { sx: { flex: 1 } }), lastScanLabel && /* @__PURE__ */ React22.createElement(AuditFeedback, null), /* @__PURE__ */ React22.createElement(
1726
- import_ui21.Button,
1750
+ ), /* @__PURE__ */ React23.createElement(import_editor_floating_panels.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(import_editor_floating_panels.FloatingPanelFooter, null, lastScanLabel ? /* @__PURE__ */ React23.createElement(import_ui22.Typography, { variant: "caption", sx: { flex: 1 } }, (0, import_i18n21.__)("Last scan:", "elementor"), " ", lastScanLabel) : /* @__PURE__ */ React23.createElement(import_ui22.Box, { sx: { flex: 1 } }), lastScanLabel && /* @__PURE__ */ React23.createElement(AuditFeedback, null), /* @__PURE__ */ React23.createElement(
1751
+ import_ui22.Button,
1727
1752
  {
1728
1753
  variant: "contained",
1729
1754
  size: "small",
@@ -2670,7 +2695,8 @@ var audit16 = {
2670
2695
  {
2671
2696
  auditId: audit16.id,
2672
2697
  label: (0, import_i18n38.__)("No privacy policy page is set.", "elementor"),
2673
- externalUrl: ctx.pageContext.privacy_settings_url
2698
+ externalUrl: ctx.pageContext.privacy_settings_url,
2699
+ ctaLabel: (0, import_i18n38.__)("Create", "elementor")
2674
2700
  }
2675
2701
  ]
2676
2702
  };