accessibility-insights-report 7.0.0 → 7.1.0
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/drop/index.js +165 -113
- package/package.json +1 -1
package/drop/index.js
CHANGED
|
@@ -1060,14 +1060,32 @@ var outcomeIconMapInverted = {
|
|
|
1060
1060
|
unscannable: /* @__PURE__ */ React11.createElement(InapplicableIconInverted, null)
|
|
1061
1061
|
};
|
|
1062
1062
|
|
|
1063
|
+
// src/common/components/guidance-tags.tsx
|
|
1064
|
+
var import_lodash4 = require("lodash");
|
|
1065
|
+
var React12 = __toESM(require("react"));
|
|
1066
|
+
var GuidanceTags = NamedFC("GuidanceTags", (props) => {
|
|
1067
|
+
const { links, deps } = props;
|
|
1068
|
+
if ((0, import_lodash4.isEmpty)(links)) {
|
|
1069
|
+
return null;
|
|
1070
|
+
}
|
|
1071
|
+
const tags = deps.getGuidanceTagsFromGuidanceLinks(links);
|
|
1072
|
+
if ((0, import_lodash4.isEmpty)(tags)) {
|
|
1073
|
+
return null;
|
|
1074
|
+
}
|
|
1075
|
+
const tagElements = tags.map((tag, index) => {
|
|
1076
|
+
return /* @__PURE__ */ React12.createElement("span", { key: index }, tag.displayText);
|
|
1077
|
+
});
|
|
1078
|
+
return /* @__PURE__ */ React12.createElement("span", { className: "guidance-tags" }, tagElements);
|
|
1079
|
+
});
|
|
1080
|
+
|
|
1063
1081
|
// src/reports/components/report-sections/minimal-rule-header.tsx
|
|
1064
|
-
var
|
|
1082
|
+
var React14 = __toESM(require("react"));
|
|
1065
1083
|
|
|
1066
1084
|
// src/reports/components/report-sections/minimal-rule-header.scss
|
|
1067
1085
|
var minimal_rule_header_default = { "outcomeChipContainer": "outcome-chip-container--G5Dfr" };
|
|
1068
1086
|
|
|
1069
1087
|
// src/reports/components/outcome-chip.tsx
|
|
1070
|
-
var
|
|
1088
|
+
var React13 = __toESM(require("react"));
|
|
1071
1089
|
|
|
1072
1090
|
// src/reports/components/outcome-icon.tsx
|
|
1073
1091
|
var OutcomeIcon = NamedFC(
|
|
@@ -1078,10 +1096,10 @@ var OutcomeIcon = NamedFC(
|
|
|
1078
1096
|
// src/reports/components/outcome-chip.tsx
|
|
1079
1097
|
var failureCountAutomationId = "count";
|
|
1080
1098
|
var OutcomeChip = NamedFC("OutcomeChip", (props) => {
|
|
1081
|
-
const { outcomeType, count } = props;
|
|
1099
|
+
const { outcomeType, count, labelledBy } = props;
|
|
1082
1100
|
const { pastTense } = outcomeTypeSemantics[outcomeType];
|
|
1083
1101
|
const text = `${count} ${pastTense}`;
|
|
1084
|
-
return /* @__PURE__ */
|
|
1102
|
+
return /* @__PURE__ */ React13.createElement("span", { className: "outcome-chip outcome-chip-" + outcomeType, title: text }, /* @__PURE__ */ React13.createElement("span", { className: "icon" }, /* @__PURE__ */ React13.createElement(OutcomeIcon, { outcomeType })), /* @__PURE__ */ React13.createElement(
|
|
1085
1103
|
"span",
|
|
1086
1104
|
{
|
|
1087
1105
|
"data-automation-id": failureCountAutomationId,
|
|
@@ -1090,24 +1108,30 @@ var OutcomeChip = NamedFC("OutcomeChip", (props) => {
|
|
|
1090
1108
|
},
|
|
1091
1109
|
" ",
|
|
1092
1110
|
count
|
|
1093
|
-
), /* @__PURE__ */
|
|
1111
|
+
), !labelledBy && /* @__PURE__ */ React13.createElement("span", { className: "screen-reader-only" }, text));
|
|
1094
1112
|
});
|
|
1095
1113
|
|
|
1096
1114
|
// src/reports/components/report-sections/minimal-rule-header.tsx
|
|
1097
1115
|
var cardsRuleIdAutomationId = "cards-rule-id";
|
|
1098
1116
|
var ruleDetailAutomationId = "rule-detail";
|
|
1099
1117
|
var MinimalRuleHeader = NamedFC("MinimalRuleHeader", (props) => {
|
|
1100
|
-
const { outcomeType, rule, outcomeCounter } = props;
|
|
1118
|
+
const { outcomeType, rule, outcomeCounter, deps } = props;
|
|
1101
1119
|
const renderCountBadge = () => {
|
|
1102
1120
|
if (outcomeType !== "fail" && outcomeType !== "review") {
|
|
1103
1121
|
return null;
|
|
1104
1122
|
}
|
|
1105
1123
|
const count = outcomeCounter(rule.nodes);
|
|
1106
|
-
return /* @__PURE__ */
|
|
1124
|
+
return /* @__PURE__ */ React14.createElement("span", { "aria-hidden": "true" }, /* @__PURE__ */ React14.createElement(OutcomeChip, { count, outcomeType, labelledBy: true }));
|
|
1107
1125
|
};
|
|
1108
|
-
const renderRuleName = () => /* @__PURE__ */
|
|
1109
|
-
const renderDescription = () => /* @__PURE__ */
|
|
1110
|
-
|
|
1126
|
+
const renderRuleName = () => /* @__PURE__ */ React14.createElement("span", { "data-automation-id": cardsRuleIdAutomationId, className: "rule-details-id" }, /* @__PURE__ */ React14.createElement("strong", null, rule.id));
|
|
1127
|
+
const renderDescription = () => /* @__PURE__ */ React14.createElement("span", { className: "rule-details-description" }, rule.description);
|
|
1128
|
+
const renderGuidanceTags = () => {
|
|
1129
|
+
if (!rule.guidance) {
|
|
1130
|
+
return null;
|
|
1131
|
+
}
|
|
1132
|
+
return /* @__PURE__ */ React14.createElement(GuidanceTags, { deps, links: rule.guidance });
|
|
1133
|
+
};
|
|
1134
|
+
return /* @__PURE__ */ React14.createElement("span", { "data-automation-id": ruleDetailAutomationId, className: "rule-detail" }, /* @__PURE__ */ React14.createElement("span", { className: minimal_rule_header_default.outcomeChipContainer }, renderCountBadge()), /* @__PURE__ */ React14.createElement("span", null, renderRuleName(), ": ", renderDescription(), rule.guidance && " ", renderGuidanceTags()));
|
|
1111
1135
|
});
|
|
1112
1136
|
|
|
1113
1137
|
// src/common/components/cards/rule-content.tsx
|
|
@@ -1123,7 +1147,7 @@ var getNeedsReviewRuleResourcesUrl = (ruleId) => {
|
|
|
1123
1147
|
};
|
|
1124
1148
|
|
|
1125
1149
|
// src/common/components/cards/instance-details-group.tsx
|
|
1126
|
-
var
|
|
1150
|
+
var React27 = __toESM(require("react"));
|
|
1127
1151
|
|
|
1128
1152
|
// src/common/components/cards/instance-details.tsx
|
|
1129
1153
|
var import_classnames = __toESM(require("classnames"));
|
|
@@ -1178,19 +1202,19 @@ ${howToFix}`);
|
|
|
1178
1202
|
}
|
|
1179
1203
|
|
|
1180
1204
|
// src/common/components/cards/instance-details.tsx
|
|
1181
|
-
var
|
|
1182
|
-
var
|
|
1205
|
+
var import_lodash5 = require("lodash");
|
|
1206
|
+
var React26 = __toESM(require("react"));
|
|
1183
1207
|
|
|
1184
1208
|
// src/reports/components/instance-details.scss
|
|
1185
1209
|
var instance_details_default = { "hiddenHighlightButton": "hidden-highlight-button--vu3B3", "instanceDetailsCard": "instance-details-card--owGQF", "instanceDetailsCardContainer": "instance-details-card-container--KLHTp", "selected": "selected--wEA4l", "focused": "focused--pvBWq", "interactive": "interactive--an0ab", "reportInstanceTable": "report-instance-table--3VoZX", "row": "row---3i35", "rowLabel": "row-label--FlVZl", "rowContent": "row-content--07KUh" };
|
|
1186
1210
|
|
|
1187
1211
|
// src/common/components/cards/failed-instances-markup-footer.tsx
|
|
1188
|
-
var
|
|
1212
|
+
var React20 = __toESM(require("react"));
|
|
1189
1213
|
|
|
1190
1214
|
// src/common/icons/copy-details-icon.tsx
|
|
1191
|
-
var
|
|
1215
|
+
var React15 = __toESM(require("react"));
|
|
1192
1216
|
var d = "M5.5028 4.62704L5.5 6.75V17.2542C5.5 19.0491 6.95507 20.5042 8.75 20.5042L17.3663 20.5045C17.0573 21.3782 16.224 22.0042 15.2444 22.0042H8.75C6.12665 22.0042 4 19.8776 4 17.2542V6.75C4 5.76929 4.62745 4.93512 5.5028 4.62704ZM17.75 2C18.9926 2 20 3.00736 20 4.25V17.25C20 18.4926 18.9926 19.5 17.75 19.5H8.75C7.50736 19.5 6.5 18.4926 6.5 17.25V4.25C6.5 3.00736 7.50736 2 8.75 2H17.75ZM17.75 3.5H8.75C8.33579 3.5 8 3.83579 8 4.25V17.25C8 17.6642 8.33579 18 8.75 18H17.75C18.1642 18 18.5 17.6642 18.5 17.25V4.25C18.5 3.83579 18.1642 3.5 17.75 3.5Z";
|
|
1193
|
-
var CopyDetailsIcon = NamedFC("CopyDetailsIcon", () => /* @__PURE__ */
|
|
1217
|
+
var CopyDetailsIcon = NamedFC("CopyDetailsIcon", () => /* @__PURE__ */ React15.createElement(
|
|
1194
1218
|
"svg",
|
|
1195
1219
|
{
|
|
1196
1220
|
width: "16",
|
|
@@ -1200,7 +1224,7 @@ var CopyDetailsIcon = NamedFC("CopyDetailsIcon", () => /* @__PURE__ */ React14.c
|
|
|
1200
1224
|
role: "img",
|
|
1201
1225
|
"aria-hidden": "true"
|
|
1202
1226
|
},
|
|
1203
|
-
/* @__PURE__ */
|
|
1227
|
+
/* @__PURE__ */ React15.createElement("path", { d, fill: "#212121", transform: "scale(2)" })
|
|
1204
1228
|
));
|
|
1205
1229
|
|
|
1206
1230
|
// src/common/utils/id-generator.ts
|
|
@@ -1216,7 +1240,7 @@ function generateDeterministicContentId(content) {
|
|
|
1216
1240
|
}
|
|
1217
1241
|
|
|
1218
1242
|
// src/common/components/cards/copy-content-button.tsx
|
|
1219
|
-
var
|
|
1243
|
+
var React16 = __toESM(require("react"));
|
|
1220
1244
|
|
|
1221
1245
|
// src/common/components/cards/failed-instances-markup-footer.scss
|
|
1222
1246
|
var failed_instances_markup_footer_default = { "markupFooter": "markup-footer--HEVHv", "feedbackText": "feedback-text--yBb6Z", "feedbackButtons": "feedback-buttons--rDHVY", "buttonsGroupLeft": "buttons-group-left--JSoCT", "buttonsGroupRight": "buttons-group-right--SKsSu", "feedbackButton": "feedback-button--Vn-lA", "aiContentLabel": "ai-content-label--1cidK", "notificationContainer": "notification-container--axJpL", "copyNotification": "copy-notification--MlMTG", "fadeInOut": "fade-in-out--AuVTM", "visible": "visible--GCwEf", "hiddenContent": "hidden-content--9JuU6" };
|
|
@@ -1232,7 +1256,7 @@ var CopyContentButton = NamedFC(
|
|
|
1232
1256
|
const copyButtonId = `copy-button-${idBase}`;
|
|
1233
1257
|
const copyContentId = `copy-content-${idBase}`;
|
|
1234
1258
|
const notificationId = `copy-notification-${idBase}`;
|
|
1235
|
-
return /* @__PURE__ */
|
|
1259
|
+
return /* @__PURE__ */ React16.createElement(React16.Fragment, null, /* @__PURE__ */ React16.createElement(
|
|
1236
1260
|
"button",
|
|
1237
1261
|
{
|
|
1238
1262
|
id: copyButtonId,
|
|
@@ -1241,9 +1265,9 @@ var CopyContentButton = NamedFC(
|
|
|
1241
1265
|
"aria-label": "Copy failure details to clipboard",
|
|
1242
1266
|
"aria-describedby": contentToCopy ? copyContentId : void 0
|
|
1243
1267
|
},
|
|
1244
|
-
/* @__PURE__ */
|
|
1245
|
-
/* @__PURE__ */
|
|
1246
|
-
), contentToCopy && /* @__PURE__ */
|
|
1268
|
+
/* @__PURE__ */ React16.createElement(CopyDetailsIcon, null),
|
|
1269
|
+
/* @__PURE__ */ React16.createElement("span", null, "Copy Failure Details")
|
|
1270
|
+
), contentToCopy && /* @__PURE__ */ React16.createElement("span", { id: copyContentId, className: failed_instances_markup_footer_default.hiddenContent }, contentToCopy), /* @__PURE__ */ React16.createElement("div", { className: failed_instances_markup_footer_default.notificationContainer }, /* @__PURE__ */ React16.createElement(
|
|
1247
1271
|
"span",
|
|
1248
1272
|
{
|
|
1249
1273
|
id: notificationId,
|
|
@@ -1257,9 +1281,9 @@ var CopyContentButton = NamedFC(
|
|
|
1257
1281
|
);
|
|
1258
1282
|
|
|
1259
1283
|
// src/common/icons/thumbs-down-icon.tsx
|
|
1260
|
-
var
|
|
1284
|
+
var React17 = __toESM(require("react"));
|
|
1261
1285
|
var d2 = "M16.4996 17.9852C16.4996 20.4271 15.3595 22.1838 13.4932 22.1838C12.5183 22.1838 12.1518 21.6411 11.8021 20.3881L11.596 19.6162C11.495 19.2574 11.3192 18.6467 11.069 17.7852C11.0623 17.7621 11.0524 17.7403 11.0396 17.7203L8.17281 13.2346C7.49476 12.1736 6.49429 11.3581 5.31841 10.9079L4.84513 10.7267C3.5984 10.2494 2.87457 8.94562 3.1287 7.63505L3.53319 5.54897C3.77462 4.30388 4.71828 3.31298 5.9501 3.01106L13.5778 1.14153C16.109 0.521138 18.6674 2.05607 19.3113 4.5814L20.7262 10.1306C21.1697 11.8698 20.1192 13.6393 18.3799 14.0828C18.1175 14.1497 17.8478 14.1835 17.5769 14.1835H15.7536C16.2497 15.8164 16.4996 17.0762 16.4996 17.9852ZM4.60127 7.92059C4.48576 8.5163 4.81477 9.10893 5.38147 9.3259L5.85475 9.5071C7.33036 10.0721 8.58585 11.0954 9.43674 12.4268L12.3035 16.9125C12.3935 17.0534 12.4629 17.2064 12.5095 17.367L13.0614 19.2873L13.2731 20.0786C13.4125 20.5666 13.4827 20.6838 13.4932 20.6838C14.3609 20.6838 14.9996 19.6998 14.9996 17.9852C14.9996 17.1007 14.6738 15.6497 14.0158 13.6701C13.8544 13.1846 14.2158 12.6835 14.7275 12.6835H17.5769C17.7228 12.6835 17.868 12.6653 18.0093 12.6293C18.9459 12.3905 19.5115 11.4377 19.2727 10.5012L17.8578 4.952C17.4172 3.22415 15.6668 2.17393 13.9349 2.59841L6.30718 4.46794C5.64389 4.63051 5.13577 5.16407 5.00577 5.83451L4.60127 7.92059Z";
|
|
1262
|
-
var ThumbsDownIcon = NamedFC("ThumbsDownIcon", () => /* @__PURE__ */
|
|
1286
|
+
var ThumbsDownIcon = NamedFC("ThumbsDownIcon", () => /* @__PURE__ */ React17.createElement(
|
|
1263
1287
|
"svg",
|
|
1264
1288
|
{
|
|
1265
1289
|
viewBox: "0 0 48 48",
|
|
@@ -1270,13 +1294,13 @@ var ThumbsDownIcon = NamedFC("ThumbsDownIcon", () => /* @__PURE__ */ React16.cre
|
|
|
1270
1294
|
role: "img",
|
|
1271
1295
|
"aria-hidden": "true"
|
|
1272
1296
|
},
|
|
1273
|
-
/* @__PURE__ */
|
|
1297
|
+
/* @__PURE__ */ React17.createElement("path", { d: d2, fill: "#212121", transform: "scale(2)" })
|
|
1274
1298
|
));
|
|
1275
1299
|
|
|
1276
1300
|
// src/common/icons/thumbs-up-icon.tsx
|
|
1277
|
-
var
|
|
1301
|
+
var React18 = __toESM(require("react"));
|
|
1278
1302
|
var d3 = "M16.4996 5.20259C16.4996 2.76065 15.3595 1.00391 13.4932 1.00391C12.467 1.00391 12.1149 1.60527 11.747 3.00348C11.6719 3.29233 11.635 3.43297 11.596 3.57157C11.495 3.93031 11.3192 4.54106 11.069 5.40258C11.0623 5.42566 11.0524 5.44741 11.0396 5.46749L8.17281 9.95315C7.49476 11.0141 6.49429 11.8296 5.31841 12.2798L4.84513 12.461C3.5984 12.9384 2.87457 14.2421 3.1287 15.5527L3.53319 17.6388C3.77462 18.8839 4.71828 19.8748 5.9501 20.1767L13.5778 22.0462C16.109 22.6666 18.6674 21.1317 19.3113 18.6064L20.7262 13.0572C21.1697 11.3179 20.1192 9.54845 18.3799 9.10498C18.1175 9.03807 17.8478 9.00422 17.5769 9.00422H15.7536C16.2497 7.37133 16.4996 6.11155 16.4996 5.20259ZM4.60127 15.2672C4.48576 14.6715 4.81477 14.0788 5.38147 13.8619L5.85475 13.6806C7.33036 13.1157 8.58585 12.0923 9.43674 10.7609L12.3035 6.27526C12.3935 6.13437 12.4629 5.98131 12.5095 5.82074C12.7608 4.95574 12.9375 4.34175 13.0399 3.97786C13.083 3.82461 13.1239 3.66916 13.1976 3.38519C13.3875 2.66348 13.4809 2.50391 13.4932 2.50391C14.3609 2.50391 14.9996 3.48797 14.9996 5.20259C14.9996 6.08708 14.6738 7.53803 14.0158 9.51766C13.8544 10.0032 14.2158 10.5042 14.7275 10.5042H17.5769C17.7228 10.5042 17.868 10.5224 18.0093 10.5585C18.9459 10.7973 19.5115 11.7501 19.2727 12.6866L17.8578 18.2357C17.4172 19.9636 15.6668 21.0138 13.9349 20.5893L6.30718 18.7198C5.64389 18.5572 5.13577 18.0237 5.00577 17.3532L4.60127 15.2672Z";
|
|
1279
|
-
var ThumbsUpIcon = NamedFC("ThumbsUpIcon", () => /* @__PURE__ */
|
|
1303
|
+
var ThumbsUpIcon = NamedFC("ThumbsUpIcon", () => /* @__PURE__ */ React18.createElement(
|
|
1280
1304
|
"svg",
|
|
1281
1305
|
{
|
|
1282
1306
|
viewBox: "0 0 48 48",
|
|
@@ -1287,18 +1311,18 @@ var ThumbsUpIcon = NamedFC("ThumbsUpIcon", () => /* @__PURE__ */ React17.createE
|
|
|
1287
1311
|
role: "img",
|
|
1288
1312
|
"aria-hidden": "true"
|
|
1289
1313
|
},
|
|
1290
|
-
/* @__PURE__ */
|
|
1314
|
+
/* @__PURE__ */ React18.createElement("path", { d: d3, fill: "#212121", transform: "scale(2)" })
|
|
1291
1315
|
));
|
|
1292
1316
|
|
|
1293
1317
|
// src/common/components/cards/feedback-buttons.tsx
|
|
1294
|
-
var
|
|
1318
|
+
var React19 = __toESM(require("react"));
|
|
1295
1319
|
var FeedbackButtons = NamedFC(
|
|
1296
1320
|
"FeedbackButtons",
|
|
1297
1321
|
({ feedbackURL, isIssueAIdetected = false }) => {
|
|
1298
1322
|
const getFeedbackUrl = () => {
|
|
1299
1323
|
return feedbackURL;
|
|
1300
1324
|
};
|
|
1301
|
-
return /* @__PURE__ */
|
|
1325
|
+
return /* @__PURE__ */ React19.createElement(React19.Fragment, null, /* @__PURE__ */ React19.createElement("a", { href: getFeedbackUrl(), className: failed_instances_markup_footer_default.feedbackButton, title: "Helpful" }, /* @__PURE__ */ React19.createElement(ThumbsUpIcon, null)), /* @__PURE__ */ React19.createElement("a", { href: getFeedbackUrl(), className: failed_instances_markup_footer_default.feedbackButton, title: "Unhelpful" }, /* @__PURE__ */ React19.createElement(ThumbsDownIcon, null)), isIssueAIdetected && /* @__PURE__ */ React19.createElement("span", { className: failed_instances_markup_footer_default.aiContentLabel }, "AI-generated content may be incorrect"));
|
|
1302
1326
|
}
|
|
1303
1327
|
);
|
|
1304
1328
|
|
|
@@ -1318,14 +1342,14 @@ var MarkupFooter = NamedFC("MarkupFooter", (props) => {
|
|
|
1318
1342
|
if (!feedbackURL && !supportsCopy) {
|
|
1319
1343
|
return null;
|
|
1320
1344
|
}
|
|
1321
|
-
return /* @__PURE__ */
|
|
1345
|
+
return /* @__PURE__ */ React20.createElement("div", { className: failed_instances_markup_footer_default.markupFooter }, feedbackURL && /* @__PURE__ */ React20.createElement("div", { className: failed_instances_markup_footer_default.buttonsGroupLeft }, /* @__PURE__ */ React20.createElement(
|
|
1322
1346
|
FeedbackButtons,
|
|
1323
1347
|
{
|
|
1324
1348
|
feedbackURL,
|
|
1325
1349
|
instanceId,
|
|
1326
1350
|
isIssueAIdetected
|
|
1327
1351
|
}
|
|
1328
|
-
)), supportsCopy && /* @__PURE__ */
|
|
1352
|
+
)), supportsCopy && /* @__PURE__ */ React20.createElement("div", { className: failed_instances_markup_footer_default.buttonsGroupRight }, /* @__PURE__ */ React20.createElement(
|
|
1329
1353
|
CopyContentButton,
|
|
1330
1354
|
{
|
|
1331
1355
|
instanceId,
|
|
@@ -1345,8 +1369,8 @@ var import_react4 = require("@fluentui/react");
|
|
|
1345
1369
|
var import_Styling = require("@fluentui/react/lib/Styling");
|
|
1346
1370
|
|
|
1347
1371
|
// src/common/icons/more-actions-menu-icon.tsx
|
|
1348
|
-
var
|
|
1349
|
-
var MoreActionsMenuIcon = NamedFC("MoreActionsMenuIcon", () => /* @__PURE__ */
|
|
1372
|
+
var React21 = __toESM(require("react"));
|
|
1373
|
+
var MoreActionsMenuIcon = NamedFC("MoreActionsMenuIcon", () => /* @__PURE__ */ React21.createElement(
|
|
1350
1374
|
"svg",
|
|
1351
1375
|
{
|
|
1352
1376
|
width: "10",
|
|
@@ -1358,23 +1382,23 @@ var MoreActionsMenuIcon = NamedFC("MoreActionsMenuIcon", () => /* @__PURE__ */ R
|
|
|
1358
1382
|
role: "img",
|
|
1359
1383
|
"aria-hidden": "true"
|
|
1360
1384
|
},
|
|
1361
|
-
/* @__PURE__ */
|
|
1362
|
-
/* @__PURE__ */
|
|
1363
|
-
/* @__PURE__ */
|
|
1385
|
+
/* @__PURE__ */ React21.createElement("circle", { cx: "5", cy: "14", r: "1.5" }),
|
|
1386
|
+
/* @__PURE__ */ React21.createElement("circle", { cx: "5", cy: "8", r: "1.5" }),
|
|
1387
|
+
/* @__PURE__ */ React21.createElement("circle", { cx: "5", cy: "2", r: "1.5" })
|
|
1364
1388
|
));
|
|
1365
1389
|
|
|
1366
1390
|
// src/common/components/cards/card-footer-instance-action-buttons.tsx
|
|
1367
|
-
var
|
|
1391
|
+
var React23 = __toESM(require("react"));
|
|
1368
1392
|
|
|
1369
1393
|
// src/common/components/toast.tsx
|
|
1370
1394
|
var import_utilities3 = require("@fluentui/utilities");
|
|
1371
|
-
var
|
|
1395
|
+
var React22 = __toESM(require("react"));
|
|
1372
1396
|
|
|
1373
1397
|
// src/common/components/toast.scss
|
|
1374
1398
|
var toast_default = { "toastContainer": "toast-container--L-5HM", "toastContent": "toast-content--8-Mx1" };
|
|
1375
1399
|
|
|
1376
1400
|
// src/common/components/toast.tsx
|
|
1377
|
-
var Toast = class _Toast extends
|
|
1401
|
+
var Toast = class _Toast extends React22.Component {
|
|
1378
1402
|
timeoutId;
|
|
1379
1403
|
static defaultProps = {
|
|
1380
1404
|
timeoutLength: 6e3
|
|
@@ -1396,7 +1420,7 @@ var Toast = class _Toast extends React21.Component {
|
|
|
1396
1420
|
}
|
|
1397
1421
|
}
|
|
1398
1422
|
render() {
|
|
1399
|
-
return /* @__PURE__ */
|
|
1423
|
+
return /* @__PURE__ */ React22.createElement("div", { className: toast_default.toastContainer, "aria-live": "polite" }, this.state.toastVisible ? /* @__PURE__ */ React22.createElement("div", { className: (0, import_utilities3.css)("ms-fadeIn100", toast_default.toastContent) }, this.state.content) : null);
|
|
1400
1424
|
}
|
|
1401
1425
|
};
|
|
1402
1426
|
|
|
@@ -1406,10 +1430,10 @@ var card_footer_instance_action_buttons_default = { "kebabMenuIcon": "kebab-menu
|
|
|
1406
1430
|
// src/common/components/cards/card-footer-instance-action-buttons.tsx
|
|
1407
1431
|
(0, import_Styling.registerIcons)({
|
|
1408
1432
|
icons: {
|
|
1409
|
-
MoreActionsMenuIcon: /* @__PURE__ */
|
|
1433
|
+
MoreActionsMenuIcon: /* @__PURE__ */ React23.createElement(MoreActionsMenuIcon, null)
|
|
1410
1434
|
}
|
|
1411
1435
|
});
|
|
1412
|
-
var CardFooterInstanceActionButtons = class extends
|
|
1436
|
+
var CardFooterInstanceActionButtons = class extends React23.Component {
|
|
1413
1437
|
constructor(props) {
|
|
1414
1438
|
super(props);
|
|
1415
1439
|
this.focusButtonAfterDialogClosed = () => {
|
|
@@ -1420,7 +1444,7 @@ var CardFooterInstanceActionButtons = class extends React22.Component {
|
|
|
1420
1444
|
(_c = this.fileIssueButtonRef) == null ? void 0 : _c.focus();
|
|
1421
1445
|
}
|
|
1422
1446
|
};
|
|
1423
|
-
this.toastRef =
|
|
1447
|
+
this.toastRef = React23.createRef();
|
|
1424
1448
|
}
|
|
1425
1449
|
render() {
|
|
1426
1450
|
const menuItems = this.getMenuItems();
|
|
@@ -1431,7 +1455,7 @@ var CardFooterInstanceActionButtons = class extends React22.Component {
|
|
|
1431
1455
|
// The wrapper has to be a real element, not a <>, because we want the placeholder elements
|
|
1432
1456
|
// the dialog/toast involve to be considered as part of the button for the purposes of layout
|
|
1433
1457
|
// calculation in this component's parent.
|
|
1434
|
-
/* @__PURE__ */
|
|
1458
|
+
/* @__PURE__ */ React23.createElement("div", { onKeyDown: (event) => event.stopPropagation() }, this.renderButtons(), this.renderCopyFailureDetailsToast())
|
|
1435
1459
|
);
|
|
1436
1460
|
}
|
|
1437
1461
|
renderButtons() {
|
|
@@ -1443,7 +1467,7 @@ var CardFooterInstanceActionButtons = class extends React22.Component {
|
|
|
1443
1467
|
}
|
|
1444
1468
|
}
|
|
1445
1469
|
renderKebabButton() {
|
|
1446
|
-
return /* @__PURE__ */
|
|
1470
|
+
return /* @__PURE__ */ React23.createElement(
|
|
1447
1471
|
import_react4.ActionButton,
|
|
1448
1472
|
{
|
|
1449
1473
|
componentRef: (ref) => this.kebabButtonRef = ref,
|
|
@@ -1462,7 +1486,7 @@ var CardFooterInstanceActionButtons = class extends React22.Component {
|
|
|
1462
1486
|
}
|
|
1463
1487
|
renderExpandedButtons() {
|
|
1464
1488
|
const menuItems = this.getMenuItems();
|
|
1465
|
-
return /* @__PURE__ */
|
|
1489
|
+
return /* @__PURE__ */ React23.createElement(React23.Fragment, null, menuItems.map((props) => /* @__PURE__ */ React23.createElement("span", { key: props.key }, /* @__PURE__ */ React23.createElement(
|
|
1466
1490
|
import_react4.ActionButton,
|
|
1467
1491
|
{
|
|
1468
1492
|
onClick: props.onClick,
|
|
@@ -1478,7 +1502,7 @@ var CardFooterInstanceActionButtons = class extends React22.Component {
|
|
|
1478
1502
|
if (!cardInteractionSupport.supportsCopyFailureDetails) {
|
|
1479
1503
|
return null;
|
|
1480
1504
|
}
|
|
1481
|
-
return /* @__PURE__ */
|
|
1505
|
+
return /* @__PURE__ */ React23.createElement(Toast, { ref: this.toastRef, deps: this.props.deps });
|
|
1482
1506
|
}
|
|
1483
1507
|
getMenuItems() {
|
|
1484
1508
|
return this.props.deps.cardFooterMenuItemsBuilder.getCardFooterMenuItems({
|
|
@@ -1491,8 +1515,8 @@ var CardFooterInstanceActionButtons = class extends React22.Component {
|
|
|
1491
1515
|
};
|
|
1492
1516
|
|
|
1493
1517
|
// src/common/icons/highlight-status-icons.tsx
|
|
1494
|
-
var
|
|
1495
|
-
var HighlightVisibleIcon = NamedFC("HighlightVisibleIcon", () => /* @__PURE__ */
|
|
1518
|
+
var React24 = __toESM(require("react"));
|
|
1519
|
+
var HighlightVisibleIcon = NamedFC("HighlightVisibleIcon", () => /* @__PURE__ */ React24.createElement(
|
|
1496
1520
|
"svg",
|
|
1497
1521
|
{
|
|
1498
1522
|
width: "34",
|
|
@@ -1502,7 +1526,7 @@ var HighlightVisibleIcon = NamedFC("HighlightVisibleIcon", () => /* @__PURE__ */
|
|
|
1502
1526
|
role: "img",
|
|
1503
1527
|
"aria-hidden": "true"
|
|
1504
1528
|
},
|
|
1505
|
-
/* @__PURE__ */
|
|
1529
|
+
/* @__PURE__ */ React24.createElement(
|
|
1506
1530
|
"path",
|
|
1507
1531
|
{
|
|
1508
1532
|
fillRule: "evenodd",
|
|
@@ -1511,7 +1535,7 @@ var HighlightVisibleIcon = NamedFC("HighlightVisibleIcon", () => /* @__PURE__ */
|
|
|
1511
1535
|
}
|
|
1512
1536
|
)
|
|
1513
1537
|
));
|
|
1514
|
-
var HighlightUnavailableIcon = NamedFC("HighlightUnavailableIcon", () => /* @__PURE__ */
|
|
1538
|
+
var HighlightUnavailableIcon = NamedFC("HighlightUnavailableIcon", () => /* @__PURE__ */ React24.createElement(
|
|
1515
1539
|
"svg",
|
|
1516
1540
|
{
|
|
1517
1541
|
width: "34",
|
|
@@ -1521,7 +1545,7 @@ var HighlightUnavailableIcon = NamedFC("HighlightUnavailableIcon", () => /* @__P
|
|
|
1521
1545
|
role: "img",
|
|
1522
1546
|
"aria-hidden": "true"
|
|
1523
1547
|
},
|
|
1524
|
-
/* @__PURE__ */
|
|
1548
|
+
/* @__PURE__ */ React24.createElement(
|
|
1525
1549
|
"path",
|
|
1526
1550
|
{
|
|
1527
1551
|
fillRule: "evenodd",
|
|
@@ -1530,7 +1554,7 @@ var HighlightUnavailableIcon = NamedFC("HighlightUnavailableIcon", () => /* @__P
|
|
|
1530
1554
|
}
|
|
1531
1555
|
)
|
|
1532
1556
|
));
|
|
1533
|
-
var HighlightHiddenIcon = NamedFC("HighlightHiddenIcon", () => /* @__PURE__ */
|
|
1557
|
+
var HighlightHiddenIcon = NamedFC("HighlightHiddenIcon", () => /* @__PURE__ */ React24.createElement(
|
|
1534
1558
|
"svg",
|
|
1535
1559
|
{
|
|
1536
1560
|
width: "34",
|
|
@@ -1540,7 +1564,7 @@ var HighlightHiddenIcon = NamedFC("HighlightHiddenIcon", () => /* @__PURE__ */ R
|
|
|
1540
1564
|
role: "img",
|
|
1541
1565
|
"aria-hidden": "true"
|
|
1542
1566
|
},
|
|
1543
|
-
/* @__PURE__ */
|
|
1567
|
+
/* @__PURE__ */ React24.createElement(
|
|
1544
1568
|
"path",
|
|
1545
1569
|
{
|
|
1546
1570
|
fillRule: "evenodd",
|
|
@@ -1551,7 +1575,7 @@ var HighlightHiddenIcon = NamedFC("HighlightHiddenIcon", () => /* @__PURE__ */ R
|
|
|
1551
1575
|
));
|
|
1552
1576
|
|
|
1553
1577
|
// src/common/components/cards/instance-details-footer.tsx
|
|
1554
|
-
var
|
|
1578
|
+
var React25 = __toESM(require("react"));
|
|
1555
1579
|
|
|
1556
1580
|
// src/common/components/cards/instance-details-footer.scss
|
|
1557
1581
|
var instance_details_footer_default = { "foot": "foot--p1DfC", "highlightStatus": "highlight-status--xJvvI" };
|
|
@@ -1573,7 +1597,7 @@ var InstanceDetailsFooter = NamedFC(
|
|
|
1573
1597
|
}
|
|
1574
1598
|
const issueDetailsData = deps.unifiedResultToIssueFilingDataConverter.convert(result, rule, targetAppInfo);
|
|
1575
1599
|
const kebabMenuAriaLabel = `More Actions for failure instance ${result.identifiers.identifier} in rule ${rule.id}`;
|
|
1576
|
-
return /* @__PURE__ */
|
|
1600
|
+
return /* @__PURE__ */ React25.createElement(
|
|
1577
1601
|
CardFooterInstanceActionButtons,
|
|
1578
1602
|
{
|
|
1579
1603
|
deps,
|
|
@@ -1591,13 +1615,13 @@ var InstanceDetailsFooter = NamedFC(
|
|
|
1591
1615
|
const highlightState = result.highlightStatus;
|
|
1592
1616
|
const label = "Highlight " + highlightState;
|
|
1593
1617
|
const icon = {
|
|
1594
|
-
unavailable: /* @__PURE__ */
|
|
1595
|
-
visible: /* @__PURE__ */
|
|
1596
|
-
hidden: /* @__PURE__ */
|
|
1618
|
+
unavailable: /* @__PURE__ */ React25.createElement(HighlightUnavailableIcon, null),
|
|
1619
|
+
visible: /* @__PURE__ */ React25.createElement(HighlightVisibleIcon, null),
|
|
1620
|
+
hidden: /* @__PURE__ */ React25.createElement(HighlightHiddenIcon, null)
|
|
1597
1621
|
}[highlightState];
|
|
1598
|
-
return /* @__PURE__ */
|
|
1622
|
+
return /* @__PURE__ */ React25.createElement("div", { className: instance_details_footer_default.highlightStatus }, icon, /* @__PURE__ */ React25.createElement(import_react5.Label, null, label));
|
|
1599
1623
|
};
|
|
1600
|
-
return /* @__PURE__ */
|
|
1624
|
+
return /* @__PURE__ */ React25.createElement("div", { className: instance_details_footer_default.foot }, renderHighlightStatus(), renderKebabMenu());
|
|
1601
1625
|
}
|
|
1602
1626
|
);
|
|
1603
1627
|
|
|
@@ -1616,7 +1640,7 @@ var InstanceDetails = NamedFC("InstanceDetails", (props) => {
|
|
|
1616
1640
|
narrowModeStatus,
|
|
1617
1641
|
feedbackURL
|
|
1618
1642
|
} = props;
|
|
1619
|
-
const [cardFocused, setCardFocus] =
|
|
1643
|
+
const [cardFocused, setCardFocus] = React26.useState(false);
|
|
1620
1644
|
const isHighlightSupported = deps.cardInteractionSupport.supportsHighlighting;
|
|
1621
1645
|
const hasFeedbackEnabledTag = () => {
|
|
1622
1646
|
if (!rule || !rule.guidance) return false;
|
|
@@ -1644,7 +1668,7 @@ var InstanceDetails = NamedFC("InstanceDetails", (props) => {
|
|
|
1644
1668
|
event.stopPropagation();
|
|
1645
1669
|
cardSelectionMessageCreator == null ? void 0 : cardSelectionMessageCreator.toggleCardSelection(result.ruleId, result.uid, event);
|
|
1646
1670
|
};
|
|
1647
|
-
const hiddenButton =
|
|
1671
|
+
const hiddenButton = React26.useRef(null);
|
|
1648
1672
|
const cardHighlightingProperties = isHighlightSupported ? {
|
|
1649
1673
|
onClick: (event) => {
|
|
1650
1674
|
var _a, _b;
|
|
@@ -1660,13 +1684,13 @@ var InstanceDetails = NamedFC("InstanceDetails", (props) => {
|
|
|
1660
1684
|
const target = ((_a = result.identifiers) == null ? void 0 : _a.target) || ((_b = result.identifiers) == null ? void 0 : _b.identifier) || ((_c = result.identifiers) == null ? void 0 : _c.conciseName) || "";
|
|
1661
1685
|
return typeof target === "string" ? target : JSON.stringify(target);
|
|
1662
1686
|
};
|
|
1663
|
-
return /* @__PURE__ */
|
|
1687
|
+
return /* @__PURE__ */ React26.createElement(
|
|
1664
1688
|
"div",
|
|
1665
1689
|
{
|
|
1666
1690
|
"data-automation-id": instanceCardAutomationId,
|
|
1667
1691
|
className: instanceDetailsCardContainerStyling
|
|
1668
1692
|
},
|
|
1669
|
-
/* @__PURE__ */
|
|
1693
|
+
/* @__PURE__ */ React26.createElement("div", { className: instanceDetailsCardStyling, ...cardHighlightingProperties }, /* @__PURE__ */ React26.createElement("div", null, /* @__PURE__ */ React26.createElement("table", { className: instance_details_default.reportInstanceTable }, /* @__PURE__ */ React26.createElement("tbody", null, renderCardRowsForPropertyBag(result.identifiers, props), renderCardRowsForPropertyBag(result.descriptors, props), renderCardRowsForPropertyBag(result.resolution, props))), isHighlightSupported && cardSelectionMessageCreator !== void 0 && /* @__PURE__ */ React26.createElement(
|
|
1670
1694
|
"button",
|
|
1671
1695
|
{
|
|
1672
1696
|
ref: hiddenButton,
|
|
@@ -1677,7 +1701,7 @@ var InstanceDetails = NamedFC("InstanceDetails", (props) => {
|
|
|
1677
1701
|
onFocus: (_) => setCardFocus(true),
|
|
1678
1702
|
onBlur: (_) => setCardFocus(false)
|
|
1679
1703
|
}
|
|
1680
|
-
), /* @__PURE__ */
|
|
1704
|
+
), /* @__PURE__ */ React26.createElement(
|
|
1681
1705
|
InstanceDetailsFooter,
|
|
1682
1706
|
{
|
|
1683
1707
|
deps,
|
|
@@ -1687,7 +1711,7 @@ var InstanceDetails = NamedFC("InstanceDetails", (props) => {
|
|
|
1687
1711
|
targetAppInfo,
|
|
1688
1712
|
narrowModeStatus
|
|
1689
1713
|
}
|
|
1690
|
-
), /* @__PURE__ */
|
|
1714
|
+
), /* @__PURE__ */ React26.createElement(
|
|
1691
1715
|
MarkupFooter,
|
|
1692
1716
|
{
|
|
1693
1717
|
deps,
|
|
@@ -1705,13 +1729,13 @@ var InstanceDetails = NamedFC("InstanceDetails", (props) => {
|
|
|
1705
1729
|
var renderCardRowsForPropertyBag = (propertyBag, props) => {
|
|
1706
1730
|
let propertyIndex = 0;
|
|
1707
1731
|
const cardRows = [];
|
|
1708
|
-
(0,
|
|
1732
|
+
(0, import_lodash5.forOwn)(propertyBag, (propertyData, propertyName) => {
|
|
1709
1733
|
const propertyConfig = props.deps.getPropertyConfigById(propertyName);
|
|
1710
|
-
if (!(0,
|
|
1734
|
+
if (!(0, import_lodash5.isEmpty)(propertyConfig)) {
|
|
1711
1735
|
const CardRow = propertyConfig.cardRow;
|
|
1712
1736
|
++propertyIndex;
|
|
1713
1737
|
cardRows.push(
|
|
1714
|
-
/* @__PURE__ */
|
|
1738
|
+
/* @__PURE__ */ React26.createElement(
|
|
1715
1739
|
CardRow,
|
|
1716
1740
|
{
|
|
1717
1741
|
deps: props.deps,
|
|
@@ -1723,7 +1747,7 @@ var renderCardRowsForPropertyBag = (propertyBag, props) => {
|
|
|
1723
1747
|
);
|
|
1724
1748
|
}
|
|
1725
1749
|
});
|
|
1726
|
-
return /* @__PURE__ */
|
|
1750
|
+
return /* @__PURE__ */ React26.createElement(React26.Fragment, null, cardRows);
|
|
1727
1751
|
};
|
|
1728
1752
|
|
|
1729
1753
|
// src/common/components/cards/instance-details-group.scss
|
|
@@ -1750,14 +1774,14 @@ var InstanceDetailsGroup = NamedFC(
|
|
|
1750
1774
|
url: rule.url,
|
|
1751
1775
|
guidance: rule.guidance
|
|
1752
1776
|
};
|
|
1753
|
-
return /* @__PURE__ */
|
|
1777
|
+
return /* @__PURE__ */ React27.createElement(
|
|
1754
1778
|
"ul",
|
|
1755
1779
|
{
|
|
1756
1780
|
"data-automation-id": ruleContentAutomationId,
|
|
1757
1781
|
className: instance_details_group_default.instanceDetailsList,
|
|
1758
1782
|
"aria-label": "instances with additional information like path, snippet and how to fix"
|
|
1759
1783
|
},
|
|
1760
|
-
nodes.map((node, index) => /* @__PURE__ */
|
|
1784
|
+
nodes.map((node, index) => /* @__PURE__ */ React27.createElement("li", { key: `instance-details-${index}` }, /* @__PURE__ */ React27.createElement(
|
|
1761
1785
|
InstanceDetails,
|
|
1762
1786
|
{
|
|
1763
1787
|
...{ index },
|
|
@@ -1776,11 +1800,11 @@ var InstanceDetailsGroup = NamedFC(
|
|
|
1776
1800
|
);
|
|
1777
1801
|
|
|
1778
1802
|
// src/common/components/guidance-links.tsx
|
|
1779
|
-
var
|
|
1780
|
-
var
|
|
1803
|
+
var import_lodash6 = require("lodash");
|
|
1804
|
+
var React28 = __toESM(require("react"));
|
|
1781
1805
|
var GuidanceLinks = NamedFC("GuidanceLinks", (props) => {
|
|
1782
1806
|
const { links, classNameForDiv } = props;
|
|
1783
|
-
if ((0,
|
|
1807
|
+
if ((0, import_lodash6.isEmpty)(links)) {
|
|
1784
1808
|
return null;
|
|
1785
1809
|
}
|
|
1786
1810
|
const renderLinks = () => {
|
|
@@ -1790,34 +1814,16 @@ var GuidanceLinks = NamedFC("GuidanceLinks", (props) => {
|
|
|
1790
1814
|
});
|
|
1791
1815
|
};
|
|
1792
1816
|
const getLinksWithDestinations = () => {
|
|
1793
|
-
return links.filter((link2) => !(0,
|
|
1817
|
+
return links.filter((link2) => !(0, import_lodash6.isEmpty)(link2.href));
|
|
1794
1818
|
};
|
|
1795
1819
|
const renderLink = (link2, index, length) => {
|
|
1796
1820
|
const addComma = index !== length - 1;
|
|
1797
|
-
const comma = addComma ? /* @__PURE__ */
|
|
1821
|
+
const comma = addComma ? /* @__PURE__ */ React28.createElement("span", null, ",\xA0") : null;
|
|
1798
1822
|
const LinkComponent = props.LinkComponent;
|
|
1799
|
-
return /* @__PURE__ */
|
|
1823
|
+
return /* @__PURE__ */ React28.createElement(React28.Fragment, { key: `guidance-link-${index}` }, /* @__PURE__ */ React28.createElement(LinkComponent, { href: link2.href, onClick: (event) => event.stopPropagation() }, link2.text.toUpperCase()), comma);
|
|
1800
1824
|
};
|
|
1801
1825
|
const spanClassName = classNameForDiv || "guidance-links";
|
|
1802
|
-
return /* @__PURE__ */
|
|
1803
|
-
});
|
|
1804
|
-
|
|
1805
|
-
// src/common/components/guidance-tags.tsx
|
|
1806
|
-
var import_lodash6 = require("lodash");
|
|
1807
|
-
var React28 = __toESM(require("react"));
|
|
1808
|
-
var GuidanceTags = NamedFC("GuidanceTags", (props) => {
|
|
1809
|
-
const { links, deps } = props;
|
|
1810
|
-
if ((0, import_lodash6.isEmpty)(links)) {
|
|
1811
|
-
return null;
|
|
1812
|
-
}
|
|
1813
|
-
const tags = deps.getGuidanceTagsFromGuidanceLinks(links);
|
|
1814
|
-
if ((0, import_lodash6.isEmpty)(tags)) {
|
|
1815
|
-
return null;
|
|
1816
|
-
}
|
|
1817
|
-
const tagElements = tags.map((tag, index) => {
|
|
1818
|
-
return /* @__PURE__ */ React28.createElement("span", { key: index }, tag.displayText);
|
|
1819
|
-
});
|
|
1820
|
-
return /* @__PURE__ */ React28.createElement("span", { className: "guidance-tags" }, tagElements);
|
|
1826
|
+
return /* @__PURE__ */ React28.createElement("span", { className: spanClassName }, renderLinks());
|
|
1821
1827
|
});
|
|
1822
1828
|
|
|
1823
1829
|
// src/common/components/cards/rule-resources.tsx
|
|
@@ -1844,9 +1850,13 @@ var RuleResources = NamedFC(
|
|
|
1844
1850
|
return /* @__PURE__ */ React29.createElement("span", { className: rule_resources_default.ruleDetailsId }, /* @__PURE__ */ React29.createElement(deps.LinkComponent, { href: ruleUrl }, "More information about ", ruleId));
|
|
1845
1851
|
};
|
|
1846
1852
|
const renderGuidanceLinks = () => {
|
|
1847
|
-
|
|
1853
|
+
var _a;
|
|
1854
|
+
const links = ((_a = rule.guidance) == null ? void 0 : _a.filter((guidanceLink) => !(0, import_lodash7.isEmpty)(guidanceLink.href))) || [];
|
|
1855
|
+
return /* @__PURE__ */ React29.createElement(GuidanceLinks, { links, LinkComponent: deps.LinkComponent });
|
|
1856
|
+
};
|
|
1857
|
+
const renderGuidanceTags = () => {
|
|
1858
|
+
return /* @__PURE__ */ React29.createElement(GuidanceTags, { deps, links: rule.guidance });
|
|
1848
1859
|
};
|
|
1849
|
-
const renderGuidanceTags = () => /* @__PURE__ */ React29.createElement(GuidanceTags, { deps, links: rule.guidance });
|
|
1850
1860
|
return /* @__PURE__ */ React29.createElement("div", { className: rule_resources_default.ruleMoreResources }, renderTitle(), renderRuleLink(), /* @__PURE__ */ React29.createElement("span", { className: rule_resources_default.ruleGuidance }, renderGuidanceLinks(), renderGuidanceTags()));
|
|
1851
1861
|
}
|
|
1852
1862
|
);
|
|
@@ -1877,7 +1887,12 @@ var RulesWithInstances = NamedFC(
|
|
|
1877
1887
|
cardSelectionMessageCreator,
|
|
1878
1888
|
narrowModeStatus
|
|
1879
1889
|
}) => {
|
|
1880
|
-
const getCollapsibleComponentProps = (rule, idx
|
|
1890
|
+
const getCollapsibleComponentProps = (rule, idx) => {
|
|
1891
|
+
const { pastTense } = outcomeTypeSemantics[outcomeType];
|
|
1892
|
+
const count = outcomeCounter(rule.nodes);
|
|
1893
|
+
const guidanceTags2 = rule.guidance && deps.getGuidanceTagsFromGuidanceLinks ? deps.getGuidanceTagsFromGuidanceLinks(rule.guidance) : [];
|
|
1894
|
+
const guidanceTagsText = guidanceTags2.length > 0 ? `${guidanceTags2.map((tag) => tag.displayText).join(" ")}` : "";
|
|
1895
|
+
const buttonAriaLabel = `${count} ${pastTense} ${rule.id}: ${rule.description}${guidanceTagsText ? ` ${guidanceTagsText}` : ""}`.trim();
|
|
1881
1896
|
return {
|
|
1882
1897
|
id: rule.id,
|
|
1883
1898
|
key: `summary-details-${idx + 1}`,
|
|
@@ -1885,6 +1900,7 @@ var RulesWithInstances = NamedFC(
|
|
|
1885
1900
|
MinimalRuleHeader,
|
|
1886
1901
|
{
|
|
1887
1902
|
key: rule.id,
|
|
1903
|
+
deps,
|
|
1888
1904
|
rule,
|
|
1889
1905
|
outcomeType,
|
|
1890
1906
|
outcomeCounter
|
|
@@ -1904,9 +1920,9 @@ var RulesWithInstances = NamedFC(
|
|
|
1904
1920
|
feedbackURL: deps.feedbackURL || void 0
|
|
1905
1921
|
}
|
|
1906
1922
|
),
|
|
1923
|
+
buttonAriaLabel,
|
|
1907
1924
|
containerAutomationId: ruleGroupAutomationId,
|
|
1908
1925
|
containerClassName: rules_with_instances_default.collapsibleRuleDetailsGroup,
|
|
1909
|
-
buttonAriaLabel,
|
|
1910
1926
|
headingLevel,
|
|
1911
1927
|
deps,
|
|
1912
1928
|
onExpandToggle: (event) => {
|
|
@@ -1922,11 +1938,8 @@ var RulesWithInstances = NamedFC(
|
|
|
1922
1938
|
"data-automation-id": ruleDetailsGroupAutomationId
|
|
1923
1939
|
},
|
|
1924
1940
|
rules.map((rule, idx) => {
|
|
1925
|
-
const { pastTense } = outcomeTypeSemantics[outcomeType];
|
|
1926
|
-
const count = outcomeCounter(rule.nodes);
|
|
1927
|
-
const buttonAriaLabel = `${count} ${pastTense} ${rule.id} ${rule.description}`;
|
|
1928
1941
|
const CollapsibleComponent = deps.collapsibleControl(
|
|
1929
|
-
getCollapsibleComponentProps(rule, idx
|
|
1942
|
+
getCollapsibleComponentProps(rule, idx)
|
|
1930
1943
|
);
|
|
1931
1944
|
return CollapsibleComponent;
|
|
1932
1945
|
})
|
|
@@ -4649,6 +4662,14 @@ var guidanceTags = {
|
|
|
4649
4662
|
AI_SCAN: {
|
|
4650
4663
|
id: "AI_SCAN",
|
|
4651
4664
|
displayText: "AI suggested"
|
|
4665
|
+
},
|
|
4666
|
+
PREVIEW_FEATURE: {
|
|
4667
|
+
id: "PREVIEW_FEATURE",
|
|
4668
|
+
displayText: "Preview"
|
|
4669
|
+
},
|
|
4670
|
+
EXPERIMENTAL_FEATURE: {
|
|
4671
|
+
id: "EXPERIMENTAL_FEATURE",
|
|
4672
|
+
displayText: "Experimental"
|
|
4652
4673
|
}
|
|
4653
4674
|
};
|
|
4654
4675
|
|
|
@@ -5434,6 +5455,16 @@ var AiScan = {
|
|
|
5434
5455
|
href: "",
|
|
5435
5456
|
tags: [guidanceTags.AI_SCAN]
|
|
5436
5457
|
};
|
|
5458
|
+
var PreviewFeature = {
|
|
5459
|
+
text: "",
|
|
5460
|
+
href: "",
|
|
5461
|
+
tags: [guidanceTags.PREVIEW_FEATURE]
|
|
5462
|
+
};
|
|
5463
|
+
var ExperimentalFeature = {
|
|
5464
|
+
text: "",
|
|
5465
|
+
href: "",
|
|
5466
|
+
tags: [guidanceTags.EXPERIMENTAL_FEATURE]
|
|
5467
|
+
};
|
|
5437
5468
|
var bestPracticeToGuidanceTagOverrideMapping = {
|
|
5438
5469
|
"aria-allowed-role": ["wcag131", "wcag412"],
|
|
5439
5470
|
"presentation-role-conflict": ["wcag131"]
|
|
@@ -5448,6 +5479,12 @@ function mapAxeTagToGuidanceLink(axeTag) {
|
|
|
5448
5479
|
if (axeTag === "ai-scan") {
|
|
5449
5480
|
return AiScan;
|
|
5450
5481
|
}
|
|
5482
|
+
if (axeTag === "preview-feature") {
|
|
5483
|
+
return PreviewFeature;
|
|
5484
|
+
}
|
|
5485
|
+
if (axeTag === "experimental-feature") {
|
|
5486
|
+
return ExperimentalFeature;
|
|
5487
|
+
}
|
|
5451
5488
|
const metadata = guidelineMetadata[getGuidelineKeyByAxeTag(axeTag)] ?? null;
|
|
5452
5489
|
if (metadata === null) {
|
|
5453
5490
|
return null;
|
|
@@ -5501,7 +5538,7 @@ var ResultDecorator = class {
|
|
|
5501
5538
|
decorateResults(results) {
|
|
5502
5539
|
const scanResults = {
|
|
5503
5540
|
passes: this.decorateAxeRuleResults(results.passes),
|
|
5504
|
-
violations: this.decorateAxeRuleResults(results.violations),
|
|
5541
|
+
violations: this.decorateAxeRuleResults(results.violations, false, true),
|
|
5505
5542
|
inapplicable: this.decorateAxeRuleResults(results.inapplicable, true),
|
|
5506
5543
|
incomplete: this.decorateAxeRuleResults(results.incomplete),
|
|
5507
5544
|
timestamp: results.timestamp,
|
|
@@ -5511,13 +5548,18 @@ var ResultDecorator = class {
|
|
|
5511
5548
|
};
|
|
5512
5549
|
return scanResults;
|
|
5513
5550
|
}
|
|
5514
|
-
decorateAxeRuleResults(ruleResults, isInapplicable = false) {
|
|
5551
|
+
decorateAxeRuleResults(ruleResults, isInapplicable = false, isViolation = false) {
|
|
5515
5552
|
return ruleResults.reduce((filteredArray, result) => {
|
|
5516
5553
|
this.messageDecorator.decorateResultWithMessages(result);
|
|
5517
|
-
|
|
5554
|
+
let processedResult = this.ruleProcessor.suppressChecksByMessages(
|
|
5518
5555
|
result,
|
|
5519
5556
|
!isInapplicable
|
|
5520
5557
|
);
|
|
5558
|
+
if (processedResult != null) {
|
|
5559
|
+
if (isViolation) {
|
|
5560
|
+
processedResult = this.ruleProcessor.suppressFluentUITabsterResult(processedResult);
|
|
5561
|
+
}
|
|
5562
|
+
}
|
|
5521
5563
|
if (processedResult != null) {
|
|
5522
5564
|
filteredArray.push({
|
|
5523
5565
|
...processedResult,
|
|
@@ -5547,6 +5589,14 @@ var RuleProcessor = class {
|
|
|
5547
5589
|
}
|
|
5548
5590
|
return rule;
|
|
5549
5591
|
}
|
|
5592
|
+
suppressFluentUITabsterResult(result) {
|
|
5593
|
+
if (result.id === "aria-hidden-focus") {
|
|
5594
|
+
result.nodes = result.nodes.filter((node) => {
|
|
5595
|
+
return !(node.html.includes("data-tabster-dummy") || node.html.includes('data-is-focus-trap-zone-bumper="true"'));
|
|
5596
|
+
});
|
|
5597
|
+
}
|
|
5598
|
+
return result;
|
|
5599
|
+
}
|
|
5550
5600
|
normalizeMessage(message) {
|
|
5551
5601
|
return message.toLowerCase().trim();
|
|
5552
5602
|
}
|
|
@@ -5599,7 +5649,8 @@ var FixInstructionProcessor = class {
|
|
|
5599
5649
|
contrastRatioRegExp = new RegExp(`${this.contrastRatioText}`, "i");
|
|
5600
5650
|
originalMiddleSentence = " and the original foreground color: ";
|
|
5601
5651
|
process(fixInstruction, recommendColor) {
|
|
5602
|
-
|
|
5652
|
+
const instruction = fixInstruction || "";
|
|
5653
|
+
return this.tryProcessAsColorContrastRecommendation(instruction, recommendColor) ?? this.tryProcessAsRelatedNodesReference(instruction) ?? this.processAsNoop(instruction);
|
|
5603
5654
|
}
|
|
5604
5655
|
processAsNoop(fixInstruction) {
|
|
5605
5656
|
return /* @__PURE__ */ React81.createElement(React81.Fragment, null, fixInstruction);
|
|
@@ -5609,7 +5660,7 @@ var FixInstructionProcessor = class {
|
|
|
5609
5660
|
// with the aria-required-children rule and is likely to be obsoleted with the resolution of
|
|
5610
5661
|
// https://github.com/dequelabs/axe-core/issues/3842
|
|
5611
5662
|
tryProcessAsRelatedNodesReference(input) {
|
|
5612
|
-
if (!input.endsWith(" (see related nodes)")) {
|
|
5663
|
+
if (!input || !input.endsWith(" (see related nodes)")) {
|
|
5613
5664
|
return null;
|
|
5614
5665
|
}
|
|
5615
5666
|
const inputBody = input.slice(0, input.length - " (see related nodes)".length);
|
|
@@ -5953,7 +6004,8 @@ var FixInstructionPanel = NamedFC(
|
|
|
5953
6004
|
};
|
|
5954
6005
|
const renderInstructions = (checkType) => {
|
|
5955
6006
|
const instructionList = props.checks.map((check, checkIndex) => {
|
|
5956
|
-
|
|
6007
|
+
const message = check.message || "";
|
|
6008
|
+
return /* @__PURE__ */ React89.createElement("li", { key: `instruction-${CheckType[checkType]}-${checkIndex + 1}` }, fixInstructionProcessor.process(message, props.deps.recommendColor));
|
|
5957
6009
|
});
|
|
5958
6010
|
return instructionList;
|
|
5959
6011
|
};
|