accessibility-insights-report 4.3.1 → 4.3.2

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.
Files changed (2) hide show
  1. package/drop/index.js +1784 -1240
  2. package/package.json +3 -3
package/drop/index.js CHANGED
@@ -1,8 +1,33 @@
1
+ var __create = Object.create;
1
2
  var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
2
7
  var __export = (target, all) => {
3
8
  for (var name in all)
4
9
  __defProp(target, name, { get: all[name], enumerable: true });
5
10
  };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
21
+ mod
22
+ ));
23
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
24
+
25
+ // src/reports/package/reporter-factory.ts
26
+ var reporter_factory_exports = {};
27
+ __export(reporter_factory_exports, {
28
+ reporterFactory: () => reporterFactory
29
+ });
30
+ module.exports = __toCommonJS(reporter_factory_exports);
6
31
 
7
32
  // src/common/application-properties-provider.ts
8
33
  var createToolData = (scanEngineName, scanEngineVersion, toolName2, toolVersion, environmentName, resolution) => {
@@ -21,7 +46,7 @@ var createToolData = (scanEngineName, scanEngineVersion, toolName2, toolVersion,
21
46
  };
22
47
 
23
48
  // src/common/components/heading-element-for-level.tsx
24
- import { css } from "@fluentui/react";
49
+ var import_react = require("@fluentui/react");
25
50
 
26
51
  // src/common/react/named-fc.ts
27
52
  function NamedFC(displayName, component) {
@@ -30,19 +55,22 @@ function NamedFC(displayName, component) {
30
55
  }
31
56
 
32
57
  // src/common/components/heading-element-for-level.tsx
33
- import * as React from "react";
58
+ var React = __toESM(require("react"));
34
59
 
35
60
  // src/common/components/heading-element-for-level.scss
36
61
  var heading_element_for_level_default = { "headingElementForLevel": "heading-element-for-level--ifVX6" };
37
62
 
38
63
  // src/common/components/heading-element-for-level.tsx
39
- var HeadingElementForLevel = NamedFC("HeadingElementForLevel", ({ headingLevel, ...props }) => {
40
- const newProps = {
41
- ...props,
42
- className: css(heading_element_for_level_default.headingElementForLevel, props.className)
43
- };
44
- return React.createElement(`h${headingLevel}`, newProps);
45
- });
64
+ var HeadingElementForLevel = NamedFC(
65
+ "HeadingElementForLevel",
66
+ ({ headingLevel, ...props }) => {
67
+ const newProps = {
68
+ ...props,
69
+ className: (0, import_react.css)(heading_element_for_level_default.headingElementForLevel, props.className)
70
+ };
71
+ return React.createElement(`h${headingLevel}`, newProps);
72
+ }
73
+ );
46
74
  var GetNextHeadingLevel = (headingLevel) => {
47
75
  const nextLevel = headingLevel + 1;
48
76
  if (nextLevel > 6) {
@@ -127,26 +155,78 @@ var RecommendColor = class {
127
155
  lightened = back;
128
156
  darkened = fore;
129
157
  }
130
- const recommendLightened = this.recommendAColor(contrast, lightened, darker, true, colorContrast);
131
- const recommendDarkened = this.recommendAColor(contrast, darkened, lighter, false, colorContrast);
158
+ const recommendLightened = this.recommendAColor(
159
+ contrast,
160
+ lightened,
161
+ darker,
162
+ true,
163
+ colorContrast
164
+ );
165
+ const recommendDarkened = this.recommendAColor(
166
+ contrast,
167
+ darkened,
168
+ lighter,
169
+ false,
170
+ colorContrast
171
+ );
132
172
  let sentence = " ", foreRec, backRec;
133
173
  if (lighter === foreLum) {
134
174
  if (recommendLightened[1] > colorContrast) {
135
- foreRec = this.rgbToHex(recommendLightened[0][0], recommendLightened[0][1], recommendLightened[0][2]);
136
- sentence = this.createSentence(foreRec, recommendLightened[1].toFixed(2), sentence, true, backOriginal);
175
+ foreRec = this.rgbToHex(
176
+ recommendLightened[0][0],
177
+ recommendLightened[0][1],
178
+ recommendLightened[0][2]
179
+ );
180
+ sentence = this.createSentence(
181
+ foreRec,
182
+ recommendLightened[1].toFixed(2),
183
+ sentence,
184
+ true,
185
+ backOriginal
186
+ );
137
187
  }
138
188
  if (recommendDarkened[1] > colorContrast) {
139
- backRec = this.rgbToHex(recommendDarkened[0][0], recommendDarkened[0][1], recommendDarkened[0][2]);
140
- sentence += this.createSentence(backRec, recommendDarkened[1].toFixed(2), sentence, false, foreOriginal);
189
+ backRec = this.rgbToHex(
190
+ recommendDarkened[0][0],
191
+ recommendDarkened[0][1],
192
+ recommendDarkened[0][2]
193
+ );
194
+ sentence += this.createSentence(
195
+ backRec,
196
+ recommendDarkened[1].toFixed(2),
197
+ sentence,
198
+ false,
199
+ foreOriginal
200
+ );
141
201
  }
142
202
  } else {
143
203
  if (recommendDarkened[1] > colorContrast) {
144
- foreRec = this.rgbToHex(recommendDarkened[0][0], recommendDarkened[0][1], recommendDarkened[0][2]);
145
- sentence = this.createSentence(foreRec, recommendDarkened[1].toFixed(2), sentence, true, backOriginal);
204
+ foreRec = this.rgbToHex(
205
+ recommendDarkened[0][0],
206
+ recommendDarkened[0][1],
207
+ recommendDarkened[0][2]
208
+ );
209
+ sentence = this.createSentence(
210
+ foreRec,
211
+ recommendDarkened[1].toFixed(2),
212
+ sentence,
213
+ true,
214
+ backOriginal
215
+ );
146
216
  }
147
217
  if (recommendLightened[1] > colorContrast) {
148
- backRec = this.rgbToHex(recommendLightened[0][0], recommendLightened[0][1], recommendLightened[0][2]);
149
- sentence += this.createSentence(backRec, recommendLightened[1].toFixed(2), sentence, false, foreOriginal);
218
+ backRec = this.rgbToHex(
219
+ recommendLightened[0][0],
220
+ recommendLightened[0][1],
221
+ recommendLightened[0][2]
222
+ );
223
+ sentence += this.createSentence(
224
+ backRec,
225
+ recommendLightened[1].toFixed(2),
226
+ sentence,
227
+ false,
228
+ foreOriginal
229
+ );
150
230
  }
151
231
  }
152
232
  return sentence;
@@ -230,7 +310,7 @@ var webRulesWithResources = [
230
310
  ];
231
311
 
232
312
  // src/common/rule-based-view-model-provider.ts
233
- import { includes } from "lodash";
313
+ var import_lodash = require("lodash");
234
314
 
235
315
  // src/common/types/store-data/card-view-model.ts
236
316
  var AllRuleResultStatuses = [
@@ -251,16 +331,16 @@ var getCardViewData = (rules, results, cardSelectionViewData) => {
251
331
  const ruleResults = statusResults[result.status];
252
332
  const isInstanceDisplayed = result.status === "fail" || result.status === "unknown";
253
333
  let ruleResult = getExistingRuleFromResults(result.ruleId, ruleResults);
254
- if (!ruleResult) {
334
+ if (ruleResult == null) {
255
335
  const rule = getUnifiedRule(result.ruleId, rules);
256
336
  if (!rule) {
257
337
  continue;
258
338
  }
259
- const isExpanded = isInstanceDisplayed ? includes(cardSelectionViewData.expandedRuleIds, rule.id) : false;
339
+ const isExpanded = isInstanceDisplayed ? (0, import_lodash.includes)(cardSelectionViewData.expandedRuleIds, rule.id) : false;
260
340
  ruleResult = createCardRuleResult(result.status, rule, isExpanded);
261
341
  ruleResults.push(ruleResult);
262
342
  }
263
- const isSelected = isInstanceDisplayed ? includes(cardSelectionViewData.selectedResultUids, result.uid) : false;
343
+ const isSelected = isInstanceDisplayed ? (0, import_lodash.includes)(cardSelectionViewData.selectedResultUids, result.uid) : false;
264
344
  const highlightStatus = cardSelectionViewData.resultsHighlightStatus[result.uid];
265
345
  ruleResult.nodes.push(createCardResult(result, isSelected, highlightStatus));
266
346
  ruleIdsWithResultNodes.add(result.ruleId);
@@ -316,8 +396,8 @@ var getUnifiedRule = (id2, rules) => rules.find((rule) => rule.id === id2);
316
396
  var getRuleResultIndex = (ruleId, ruleResults) => ruleResults.findIndex((result) => result.id === ruleId);
317
397
 
318
398
  // src/common/uid-generator.ts
319
- import { v4 } from "uuid";
320
- var generateUID = v4;
399
+ var import_uuid = require("uuid");
400
+ var generateUID = import_uuid.v4;
321
401
 
322
402
  // src/injected/adapters/resolution-creator.ts
323
403
  var getFixResolution = (data) => {
@@ -339,7 +419,7 @@ var getCheckResolution = (data) => {
339
419
  };
340
420
 
341
421
  // src/injected/adapters/scan-results-to-unified-results.ts
342
- import { flatMap } from "lodash";
422
+ var import_lodash2 = require("lodash");
343
423
 
344
424
  // src/issue-filing/common/issue-filing-url-string-utils.ts
345
425
  var getTitle = (data) => {
@@ -355,14 +435,19 @@ var getSelectorLastPart = (selector) => {
355
435
  const selectorLastPart = splitedSelector[splitedSelector.length - 1];
356
436
  const childCombinator = " > ";
357
437
  if (selectorLastPart.lastIndexOf(childCombinator) > 0) {
358
- return selectorLastPart.substr(selectorLastPart.lastIndexOf(childCombinator) + childCombinator.length);
438
+ return selectorLastPart.substr(
439
+ selectorLastPart.lastIndexOf(childCombinator) + childCombinator.length
440
+ );
359
441
  }
360
442
  return selectorLastPart;
361
443
  };
362
444
  var standardizeTags = (data) => {
363
- const guidanceLinkTextTags = data.rule.guidance.map((link2) => link2.text.toUpperCase());
445
+ var _a;
446
+ const guidanceLinkTextTags = data.rule.guidance ? data.rule.guidance.map((link2) => link2.text.toUpperCase()) : [];
364
447
  const tagsFromGuidanceLinkTags = [];
365
- data.rule.guidance.map((link2) => link2.tags ? link2.tags.map((tag) => tagsFromGuidanceLinkTags.push(tag.displayText)) : []);
448
+ (_a = data.rule.guidance) == null ? void 0 : _a.map(
449
+ (link2) => link2.tags ? link2.tags.map((tag) => tagsFromGuidanceLinkTags.push(tag.displayText)) : []
450
+ );
366
451
  return guidanceLinkTextTags.concat(tagsFromGuidanceLinkTags);
367
452
  };
368
453
  var IssueFilingUrlStringUtils = {
@@ -385,8 +470,16 @@ var ConvertScanResultsToUnifiedResults = class {
385
470
  };
386
471
  this.automatedChecksCreateUnifiedResultsFromScanResults = (scanResults) => {
387
472
  return [
388
- ...this.createUnifiedResultsFromRuleResults(scanResults.violations, "fail", this.getFixResolution),
389
- ...this.createUnifiedResultsFromRuleResults(scanResults.passes, "pass", this.getFixResolution)
473
+ ...this.createUnifiedResultsFromRuleResults(
474
+ scanResults.violations,
475
+ "fail",
476
+ this.getFixResolution
477
+ ),
478
+ ...this.createUnifiedResultsFromRuleResults(
479
+ scanResults.passes,
480
+ "pass",
481
+ this.getFixResolution
482
+ )
390
483
  ];
391
484
  };
392
485
  this.needsReviewConversion = (scanResults) => {
@@ -397,13 +490,23 @@ var ConvertScanResultsToUnifiedResults = class {
397
490
  };
398
491
  this.needsReviewCreateUnifiedResultsFromScanResults = (scanResults) => {
399
492
  return [
400
- ...this.createUnifiedResultsFromRuleResults(scanResults.incomplete, "unknown", this.getCheckResolution),
401
- ...this.createUnifiedResultsFromRuleResults(scanResults.violations, "unknown", this.getCheckResolution)
493
+ ...this.createUnifiedResultsFromRuleResults(
494
+ scanResults.incomplete,
495
+ "unknown",
496
+ this.getCheckResolution
497
+ ),
498
+ ...this.createUnifiedResultsFromRuleResults(
499
+ scanResults.violations,
500
+ "unknown",
501
+ this.getCheckResolution
502
+ )
402
503
  ];
403
504
  };
404
505
  this.createUnifiedResultsFromRuleResults = (ruleResults, status, getResolution) => {
405
- const unifiedResultFromRuleResults = (ruleResults || []).map((result) => this.createUnifiedResultsFromRuleResult(result, status, getResolution));
406
- return flatMap(unifiedResultFromRuleResults);
506
+ const unifiedResultFromRuleResults = (ruleResults || []).map(
507
+ (result) => this.createUnifiedResultsFromRuleResult(result, status, getResolution)
508
+ );
509
+ return (0, import_lodash2.flatMap)(unifiedResultFromRuleResults);
407
510
  };
408
511
  this.createUnifiedResultsFromRuleResult = (ruleResult, status, getResolution) => {
409
512
  return ruleResult.nodes.map((node) => {
@@ -423,7 +526,8 @@ var ConvertScanResultsToUnifiedResults = class {
423
526
  identifiers: {
424
527
  identifier: cssSelector,
425
528
  conciseName: IssueFilingUrlStringUtils.getSelectorLastPart(cssSelector),
426
- "css-selector": cssSelector
529
+ "css-selector": cssSelector,
530
+ target: nodeResult.target
427
531
  },
428
532
  descriptors: {
429
533
  snippet: nodeResult.snippet || nodeResult.html
@@ -499,41 +603,46 @@ var NullComponent = NamedFC("NullComponent", () => {
499
603
  });
500
604
 
501
605
  // src/reports/combined-report-html-generator.tsx
502
- import * as React6 from "react";
606
+ var React6 = __toESM(require("react"));
503
607
 
504
608
  // src/reports/components/new-tab-link-confirmation-dialog.tsx
505
- import { getId } from "@fluentui/react";
609
+ var import_react3 = require("@fluentui/react");
506
610
 
507
611
  // src/common/components/new-tab-link.tsx
508
- import { Link } from "@fluentui/react";
509
- import { css as css2 } from "@fluentui/utilities";
510
- import * as React2 from "react";
612
+ var import_react2 = require("@fluentui/react");
613
+ var import_utilities = require("@fluentui/utilities");
614
+ var React2 = __toESM(require("react"));
511
615
  var NewTabLink = NamedFC("NewTabLink", ({ className, ...props }) => {
512
616
  const classNames3 = ["insights-link", className];
513
- return /* @__PURE__ */ React2.createElement(Link, {
514
- className: css2(...classNames3),
617
+ return /* @__PURE__ */ React2.createElement(import_react2.Link, {
618
+ className: (0, import_utilities.css)(...classNames3),
515
619
  ...props,
516
620
  target: "_blank"
517
621
  });
518
622
  });
519
623
 
520
624
  // src/reports/components/new-tab-link-confirmation-dialog.tsx
521
- import * as React3 from "react";
522
- var NewTabLinkWithConfirmationDialog = NamedFC("NewTabLinkWithConfirmationDialog", (props) => {
523
- const id2 = getId("new-tab-link-with-confirmation-dialog__");
524
- return /* @__PURE__ */ React3.createElement(React3.Fragment, null, /* @__PURE__ */ React3.createElement(NewTabLink, {
525
- ...props,
526
- id: id2
527
- }), /* @__PURE__ */ React3.createElement("script", {
528
- dangerouslySetInnerHTML: {
529
- __html: generateScriptToAddConfirmOnClickHandler(id2)
530
- }
531
- }));
532
- });
625
+ var React3 = __toESM(require("react"));
626
+ var NewTabLinkWithConfirmationDialog = NamedFC(
627
+ "NewTabLinkWithConfirmationDialog",
628
+ (props) => {
629
+ const id2 = (0, import_react3.getId)("new-tab-link-with-confirmation-dialog__");
630
+ return /* @__PURE__ */ React3.createElement(React3.Fragment, null, /* @__PURE__ */ React3.createElement(NewTabLink, {
631
+ ...props,
632
+ id: id2
633
+ }), /* @__PURE__ */ React3.createElement("script", {
634
+ dangerouslySetInnerHTML: {
635
+ __html: generateScriptToAddConfirmOnClickHandler(id2)
636
+ }
637
+ }));
638
+ }
639
+ );
533
640
  var addConfirmOnClickHandler = function(linkId, doc, confirmCallback) {
534
641
  const targetPageLink = doc.getElementById(linkId);
535
642
  targetPageLink.addEventListener("click", function(event) {
536
- const result = confirmCallback("Are you sure you want to navigate away from the Accessibility Insights report?\nThis link will open the target page in a new tab.\n\nPress OK to continue or Cancel to stay on the current page.");
643
+ const result = confirmCallback(
644
+ "Are you sure you want to navigate away from the Accessibility Insights report?\nThis link will open the target page in a new tab.\n\nPress OK to continue or Cancel to stay on the current page."
645
+ );
537
646
  if (result === false) {
538
647
  event.preventDefault();
539
648
  }
@@ -542,7 +651,7 @@ var addConfirmOnClickHandler = function(linkId, doc, confirmCallback) {
542
651
  var generateScriptToAddConfirmOnClickHandler = (linkId) => `(${String(addConfirmOnClickHandler)})(${JSON.stringify(linkId)}, document, confirm);`;
543
652
 
544
653
  // src/reports/components/report-sections/report-body.tsx
545
- import * as React4 from "react";
654
+ var React4 = __toESM(require("react"));
546
655
 
547
656
  // src/reports/components/report-sections/report-section-factory.tsx
548
657
  var ResultSectionTypes = {
@@ -592,28 +701,31 @@ var ReportBody = class extends React4.Component {
592
701
  };
593
702
 
594
703
  // src/reports/components/report-sections/report-collapsible-container.tsx
595
- import { css as css3 } from "@fluentui/utilities";
596
- import * as React5 from "react";
597
- var ReportCollapsibleContainer = NamedFC("ReportCollapsibleContainer", (props) => {
598
- const { id: id2, header, headingLevel, content, containerClassName, buttonAriaLabel } = props;
599
- const contentId = `content-container-${id2}` + (props.testKey ? `-${props.testKey}` : "");
600
- const outerDivClassName = css3("collapsible-container", containerClassName, "collapsed");
601
- return /* @__PURE__ */ React5.createElement("div", {
602
- className: outerDivClassName
603
- }, /* @__PURE__ */ React5.createElement(HeadingElementForLevel, {
604
- headingLevel,
605
- className: "title-container"
606
- }, /* @__PURE__ */ React5.createElement("button", {
607
- className: "collapsible-control",
608
- "aria-expanded": "false",
609
- "aria-controls": contentId,
610
- "aria-label": buttonAriaLabel
611
- }, header)), /* @__PURE__ */ React5.createElement("div", {
612
- id: contentId,
613
- className: "collapsible-content",
614
- "aria-hidden": "true"
615
- }, content));
616
- });
704
+ var import_utilities2 = require("@fluentui/utilities");
705
+ var React5 = __toESM(require("react"));
706
+ var ReportCollapsibleContainer = NamedFC(
707
+ "ReportCollapsibleContainer",
708
+ (props) => {
709
+ const { id: id2, header, headingLevel, content, containerClassName, buttonAriaLabel } = props;
710
+ const contentId = `content-container-${id2}` + (props.testKey ? `-${props.testKey}` : "");
711
+ const outerDivClassName = (0, import_utilities2.css)("collapsible-container", containerClassName, "collapsed");
712
+ return /* @__PURE__ */ React5.createElement("div", {
713
+ className: outerDivClassName
714
+ }, /* @__PURE__ */ React5.createElement(HeadingElementForLevel, {
715
+ headingLevel,
716
+ className: "title-container"
717
+ }, /* @__PURE__ */ React5.createElement("button", {
718
+ className: "collapsible-control",
719
+ "aria-expanded": "false",
720
+ "aria-controls": contentId,
721
+ "aria-label": buttonAriaLabel
722
+ }, header)), /* @__PURE__ */ React5.createElement("div", {
723
+ id: contentId,
724
+ className: "collapsible-content",
725
+ "aria-hidden": "true"
726
+ }, content));
727
+ }
728
+ );
617
729
  var ReportCollapsibleContainerControl = (collapsibleControlProps) => /* @__PURE__ */ React5.createElement(ReportCollapsibleContainer, {
618
730
  ...collapsibleControlProps
619
731
  });
@@ -666,7 +778,7 @@ var CombinedReportHtmlGenerator = class {
666
778
  };
667
779
 
668
780
  // src/common/components/cards/failed-instances-section.tsx
669
- import * as React42 from "react";
781
+ var React42 = __toESM(require("react"));
670
782
 
671
783
  // src/reports/components/outcome-counter.ts
672
784
  var countByCards = (cards) => cards.length;
@@ -685,17 +797,17 @@ var OutcomeCounter = {
685
797
  var failed_instances_section_default = { "failedInstancesContainer": "failed-instances-container--3UUNb" };
686
798
 
687
799
  // src/common/components/cards/result-section.tsx
688
- import { css as css6 } from "@fluentui/utilities";
689
- import * as React41 from "react";
800
+ var import_utilities5 = require("@fluentui/utilities");
801
+ var React41 = __toESM(require("react"));
690
802
 
691
803
  // src/common/components/cards/result-section-content.tsx
692
- import * as React39 from "react";
804
+ var React39 = __toESM(require("react"));
693
805
 
694
806
  // src/common/components/cards/rules-with-instances.tsx
695
- import * as React38 from "react";
807
+ var React38 = __toESM(require("react"));
696
808
 
697
809
  // src/common/icons/check-icon.tsx
698
- import * as React7 from "react";
810
+ var React7 = __toESM(require("react"));
699
811
  var CheckIcon = NamedFC("CheckIcon", () => /* @__PURE__ */ React7.createElement("span", {
700
812
  className: "check-container"
701
813
  }, /* @__PURE__ */ React7.createElement("svg", {
@@ -703,7 +815,9 @@ var CheckIcon = NamedFC("CheckIcon", () => /* @__PURE__ */ React7.createElement(
703
815
  height: "16",
704
816
  viewBox: "0 0 16 16",
705
817
  fill: "none",
706
- xmlns: "http://www.w3.org/2000/svg"
818
+ xmlns: "http://www.w3.org/2000/svg",
819
+ role: "img",
820
+ "aria-hidden": "true"
707
821
  }, /* @__PURE__ */ React7.createElement("circle", {
708
822
  cx: "8",
709
823
  cy: "8",
@@ -722,7 +836,9 @@ var CheckIconInverted = NamedFC("CheckIconInverted", () => /* @__PURE__ */ React
722
836
  height: "16",
723
837
  viewBox: "0 0 16 16",
724
838
  fill: "none",
725
- xmlns: "http://www.w3.org/2000/svg"
839
+ xmlns: "http://www.w3.org/2000/svg",
840
+ role: "img",
841
+ "aria-hidden": "true"
726
842
  }, /* @__PURE__ */ React7.createElement("path", {
727
843
  fillRule: "evenodd",
728
844
  clipRule: "evenodd",
@@ -731,13 +847,13 @@ var CheckIconInverted = NamedFC("CheckIconInverted", () => /* @__PURE__ */ React
731
847
  }))));
732
848
 
733
849
  // src/common/icons/circle-icon.tsx
734
- import * as React8 from "react";
850
+ var React8 = __toESM(require("react"));
735
851
  var CircleIcon = NamedFC("CircleIcon", () => /* @__PURE__ */ React8.createElement("span", {
736
852
  className: "check-container"
737
853
  }));
738
854
 
739
855
  // src/common/icons/cross-icon.tsx
740
- import * as React9 from "react";
856
+ var React9 = __toESM(require("react"));
741
857
  var CrossIcon = NamedFC("CrossIcon", () => /* @__PURE__ */ React9.createElement("span", {
742
858
  className: "check-container"
743
859
  }, /* @__PURE__ */ React9.createElement("svg", {
@@ -745,7 +861,9 @@ var CrossIcon = NamedFC("CrossIcon", () => /* @__PURE__ */ React9.createElement(
745
861
  height: "16",
746
862
  viewBox: "0 0 16 16",
747
863
  fill: "none",
748
- xmlns: "http://www.w3.org/2000/svg"
864
+ xmlns: "http://www.w3.org/2000/svg",
865
+ role: "img",
866
+ "aria-hidden": "true"
749
867
  }, /* @__PURE__ */ React9.createElement("circle", {
750
868
  cx: "8",
751
869
  cy: "8",
@@ -762,7 +880,9 @@ var CrossIconInverted = NamedFC("CrossIconInverted", () => /* @__PURE__ */ React
762
880
  height: "16",
763
881
  viewBox: "0 0 16 16",
764
882
  fill: "none",
765
- xmlns: "http://www.w3.org/2000/svg"
883
+ xmlns: "http://www.w3.org/2000/svg",
884
+ role: "img",
885
+ "aria-hidden": "true"
766
886
  }, /* @__PURE__ */ React9.createElement("path", {
767
887
  fillRule: "evenodd",
768
888
  clipRule: "evenodd",
@@ -771,7 +891,7 @@ var CrossIconInverted = NamedFC("CrossIconInverted", () => /* @__PURE__ */ React
771
891
  }))));
772
892
 
773
893
  // src/common/icons/inapplicable-icon.tsx
774
- import * as React10 from "react";
894
+ var React10 = __toESM(require("react"));
775
895
  var InapplicableIcon = NamedFC("InapplicableIcon", () => /* @__PURE__ */ React10.createElement("span", {
776
896
  className: "check-container"
777
897
  }, /* @__PURE__ */ React10.createElement("svg", {
@@ -779,7 +899,9 @@ var InapplicableIcon = NamedFC("InapplicableIcon", () => /* @__PURE__ */ React10
779
899
  height: "16",
780
900
  viewBox: "0 0 16 16",
781
901
  fill: "none",
782
- xmlns: "http://www.w3.org/2000/svg"
902
+ xmlns: "http://www.w3.org/2000/svg",
903
+ role: "img",
904
+ "aria-hidden": "true"
783
905
  }, /* @__PURE__ */ React10.createElement("circle", {
784
906
  cx: "8",
785
907
  cy: "8",
@@ -801,7 +923,9 @@ var InapplicableIconInverted = NamedFC("InapplicableIconInverted", () => /* @__P
801
923
  height: "16",
802
924
  viewBox: "0 0 16 16",
803
925
  fill: "none",
804
- xmlns: "http://www.w3.org/2000/svg"
926
+ xmlns: "http://www.w3.org/2000/svg",
927
+ role: "img",
928
+ "aria-hidden": "true"
805
929
  }, /* @__PURE__ */ React10.createElement("circle", {
806
930
  cx: "8",
807
931
  cy: "8",
@@ -818,7 +942,7 @@ var InapplicableIconInverted = NamedFC("InapplicableIconInverted", () => /* @__P
818
942
  }))));
819
943
 
820
944
  // src/reports/components/outcome-type.tsx
821
- import * as React11 from "react";
945
+ var React11 = __toESM(require("react"));
822
946
  var outcomeTypeSemantics = {
823
947
  pass: { pastTense: "Passed" },
824
948
  incomplete: { pastTense: "Incomplete" },
@@ -845,16 +969,19 @@ var outcomeIconMapInverted = {
845
969
  };
846
970
 
847
971
  // src/reports/components/report-sections/minimal-rule-header.tsx
848
- import * as React13 from "react";
972
+ var React13 = __toESM(require("react"));
849
973
 
850
974
  // src/reports/components/report-sections/minimal-rule-header.scss
851
975
  var minimal_rule_header_default = { "outcomeChipContainer": "outcome-chip-container--G5Dfr" };
852
976
 
853
977
  // src/reports/components/outcome-chip.tsx
854
- import * as React12 from "react";
978
+ var React12 = __toESM(require("react"));
855
979
 
856
980
  // src/reports/components/outcome-icon.tsx
857
- var OutcomeIcon = NamedFC("OutcomeIcon", (props) => outcomeIconMap[props.outcomeType]);
981
+ var OutcomeIcon = NamedFC(
982
+ "OutcomeIcon",
983
+ (props) => outcomeIconMap[props.outcomeType]
984
+ );
858
985
 
859
986
  // src/reports/components/outcome-chip.tsx
860
987
  var failureCountAutomationId = "count";
@@ -911,39 +1038,42 @@ var MinimalRuleHeader = NamedFC("MinimalRuleHeader", (props) => {
911
1038
  });
912
1039
 
913
1040
  // src/common/components/cards/rule-content.tsx
914
- import * as React37 from "react";
1041
+ var React37 = __toESM(require("react"));
915
1042
 
916
1043
  // src/common/components/cards/instance-details-group.tsx
917
- import * as React33 from "react";
1044
+ var React33 = __toESM(require("react"));
918
1045
 
919
1046
  // src/common/components/cards/get-labelled-string-property-card-row.tsx
920
- import { isEmpty } from "lodash";
921
- import * as React15 from "react";
1047
+ var import_lodash3 = require("lodash");
1048
+ var React15 = __toESM(require("react"));
922
1049
 
923
1050
  // src/common/components/cards/simple-card-row.tsx
924
- import { css as css4 } from "@fluentui/utilities";
925
- import * as React14 from "react";
1051
+ var import_utilities3 = require("@fluentui/utilities");
1052
+ var React14 = __toESM(require("react"));
926
1053
 
927
1054
  // src/reports/components/instance-details.scss
928
1055
  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" };
929
1056
 
930
1057
  // src/common/components/cards/simple-card-row.tsx
931
- var SimpleCardRow = NamedFC("SimpleCardRow", ({ label: givenLabel, content, rowKey, contentClassName }) => {
932
- const contentStyling = css4(instance_details_default.rowContent, contentClassName);
933
- return /* @__PURE__ */ React14.createElement("tr", {
934
- className: instance_details_default.row,
935
- key: rowKey
936
- }, /* @__PURE__ */ React14.createElement("th", {
937
- className: instance_details_default.rowLabel
938
- }, givenLabel), /* @__PURE__ */ React14.createElement("td", {
939
- className: contentStyling
940
- }, content));
941
- });
1058
+ var SimpleCardRow = NamedFC(
1059
+ "SimpleCardRow",
1060
+ ({ label: givenLabel, content, rowKey, contentClassName }) => {
1061
+ const contentStyling = (0, import_utilities3.css)(instance_details_default.rowContent, contentClassName);
1062
+ return /* @__PURE__ */ React14.createElement("tr", {
1063
+ className: instance_details_default.row,
1064
+ key: rowKey
1065
+ }, /* @__PURE__ */ React14.createElement("th", {
1066
+ className: instance_details_default.rowLabel
1067
+ }, givenLabel), /* @__PURE__ */ React14.createElement("td", {
1068
+ className: contentStyling
1069
+ }, content));
1070
+ }
1071
+ );
942
1072
 
943
1073
  // src/common/components/cards/get-labelled-string-property-card-row.tsx
944
1074
  var GetLabelledStringPropertyCardRow = (label, contentClassName) => {
945
1075
  return NamedFC("StringPropertyCardRowProps", (props) => {
946
- if (isEmpty(props.propertyData)) {
1076
+ if ((0, import_lodash3.isEmpty)(props.propertyData)) {
947
1077
  return null;
948
1078
  }
949
1079
  return /* @__PURE__ */ React15.createElement(SimpleCardRow, {
@@ -962,10 +1092,10 @@ var ClassNameCardRow = GetLabelledStringPropertyCardRow("Class name");
962
1092
  var ContentDescriptionCardRow = GetLabelledStringPropertyCardRow("Content description");
963
1093
 
964
1094
  // src/common/components/cards/rich-resolution-card-row.tsx
965
- import * as React18 from "react";
1095
+ var React18 = __toESM(require("react"));
966
1096
 
967
1097
  // src/assessments/markup.tsx
968
- import * as React16 from "react";
1098
+ var React16 = __toESM(require("react"));
969
1099
  function Term(props) {
970
1100
  return /* @__PURE__ */ React16.createElement("strong", null, props.children);
971
1101
  }
@@ -976,156 +1106,164 @@ function Code(props) {
976
1106
  }
977
1107
 
978
1108
  // src/common/components/cards/rich-resolution-content.tsx
979
- import * as React17 from "react";
1109
+ var React17 = __toESM(require("react"));
980
1110
 
981
1111
  // src/common/components/cards/rich-resolution-content.scss
982
- var rich_resolution_content_default = { "multiLineTextNoBullet": "multi-line-text-no-bullet--AUXXt", "multiLineTextYesBullet": "multi-line-text-yes-bullet--TXyX-", "combinationLists": "combination-lists--boK5y" };
1112
+ var rich_resolution_content_default = { "multiLineTextYesBullet": "multi-line-text-yes-bullet--TXyX-", "multiLineTextNoBullet": "multi-line-text-no-bullet--AUXXt", "combinationLists": "combination-lists--boK5y" };
983
1113
 
984
1114
  // src/common/components/cards/rich-resolution-content.tsx
985
- var RichResolutionContent = NamedFC("RichResolutionContent", ({ deps: { LinkComponent }, contentId, contentVariables }) => {
986
- switch (contentId) {
987
- case "android/ColorContrast": {
988
- return /* @__PURE__ */ React17.createElement("div", {
989
- className: rich_resolution_content_default.combinationLists
990
- }, /* @__PURE__ */ React17.createElement("ul", {
991
- className: rich_resolution_content_default.multiLineTextYesBullet
992
- }, /* @__PURE__ */ React17.createElement("li", {
993
- "list-style-type": "disc"
994
- }, "If the text is intended to be invisible, it passes."), /* @__PURE__ */ React17.createElement("li", {
995
- "list-style-type": "disc"
996
- }, "If the text is intended to be visible, use", " ", /* @__PURE__ */ React17.createElement(LinkComponent, {
997
- href: "https://go.microsoft.com/fwlink/?linkid=2075365"
998
- }, "Accessibility Insights for Windows"), " ", "(or the", " ", /* @__PURE__ */ React17.createElement(LinkComponent, {
999
- href: "https://developer.paciellogroup.com/resources/contrastanalyser/"
1000
- }, "Colour Contrast Analyser"), " ", "if you're testing on a Mac) to manually verify that it has sufficient contrast compared to the background. If the background is an image or gradient, test an area where contrast appears to be lowest.")));
1001
- }
1002
- case "android/TouchSizeWcag": {
1003
- const { logicalWidth, logicalHeight } = contentVariables;
1004
- return /* @__PURE__ */ React17.createElement("span", null, "The element has an insufficient target size (width: ", logicalWidth, "dp, height: ", logicalHeight, "dp). Set the element's", " ", /* @__PURE__ */ React17.createElement(Code, null, "minWidth"), " and ", /* @__PURE__ */ React17.createElement(Code, null, "minHeight"), " ", "attributes to at least 44dp.");
1005
- }
1006
- case "android/ActiveViewName": {
1007
- return /* @__PURE__ */ React17.createElement("span", null, "The view is active but has no name available to assistive technologies. Provide a name for the view using its", " ", /* @__PURE__ */ React17.createElement(Code, null, "contentDescription"), ",", " ", /* @__PURE__ */ React17.createElement(Code, null, "hint"), ", ", /* @__PURE__ */ React17.createElement(Code, null, "labelFor"), ", or", " ", /* @__PURE__ */ React17.createElement(Code, null, "text"), " attribute (depending on the view type)");
1008
- }
1009
- case "android/ImageViewName": {
1010
- return /* @__PURE__ */ React17.createElement("span", null, "The image has no alternate text and is not identified as decorative. If the image conveys meaningful content, provide alternate text using the", " ", /* @__PURE__ */ React17.createElement(Code, null, "contentDescription"), " attribute. If the image is decorative, give it an empty ", /* @__PURE__ */ React17.createElement(Code, null, "contentDescription"), ", or set its ", /* @__PURE__ */ React17.createElement(Code, null, "isImportantForAccessibility"), " attribute to false.");
1011
- }
1012
- case "android/EditTextValue": {
1013
- return /* @__PURE__ */ React17.createElement("span", null, "The element's ", /* @__PURE__ */ React17.createElement(Code, null, "contentDescription"), " overrides the text value required by assistive technologies. Remove the element's", " ", /* @__PURE__ */ React17.createElement(Code, null, "contentDescription"), " attribute.");
1014
- }
1015
- case "android/atfa/ClassNameCheck": {
1016
- return /* @__PURE__ */ React17.createElement("span", null, /* @__PURE__ */ React17.createElement(LinkComponent, {
1017
- href: "https://developer.android.com/training/accessibility/testing.html#manual"
1018
- }, "Manually test"), " ", "the control to verify that users receive sufficient information to understand the object's function.");
1019
- }
1020
- case "android/atfa/ClickableSpanCheck": {
1021
- return /* @__PURE__ */ React17.createElement("span", null, /* @__PURE__ */ React17.createElement(LinkComponent, {
1022
- href: "https://developer.android.com/training/accessibility/testing.html#manual"
1023
- }, "Manually test"), " ", "the item containing the link and verify that the hyperlinked text is announced and appears in the \u201CLinks\u201D section of Talkback\u2019s Context Menu.");
1024
- }
1025
- case "android/atfa/DuplicateClickableBoundsCheck": {
1026
- return /* @__PURE__ */ React17.createElement("span", null, "Turn on", " ", /* @__PURE__ */ React17.createElement(LinkComponent, {
1027
- href: "https://support.google.com/accessibility/android/answer/6301490"
1028
- }, "Switch Access for Android"), " ", "or use the", " ", /* @__PURE__ */ React17.createElement(LinkComponent, {
1029
- href: "https://accessibilityinsights.io/docs/en/android/getstarted/fastpass/#complete-the-manual-test-for-tab-stops"
1030
- }, "TabStops feature"), " ", "to navigate through the elements in the application. If an element appears to be focused more than once, there may be multiple interactive elements occupying the same screen location.");
1031
- }
1032
- case "android/atfa/DuplicateSpeakableTextCheck": {
1033
- return /* @__PURE__ */ React17.createElement("span", null, "If clickable ", /* @__PURE__ */ React17.createElement(Code, null, "View"), " objects have the ", /* @__PURE__ */ React17.createElement("i", null, "same"), " ", "speakable text and perform the ", /* @__PURE__ */ React17.createElement("i", null, "same"), " function, they pass.", /* @__PURE__ */ React17.createElement("br", null), "If clickable ", /* @__PURE__ */ React17.createElement(Code, null, "View"), " objects have the ", /* @__PURE__ */ React17.createElement("i", null, "same"), " ", "speakable text but perform ", /* @__PURE__ */ React17.createElement("i", null, "different"), " functions, they fail.");
1034
- }
1035
- case "android/atfa/LinkPurposeUnclearCheck": {
1036
- return /* @__PURE__ */ React17.createElement("span", null, "Examine the link in the context of the app to verify that the link's unique purpose is described by the link together with its preceding page content, which includes:", /* @__PURE__ */ React17.createElement("ul", null, /* @__PURE__ */ React17.createElement("li", null, "Text in the same sentence, paragraph, list item, or table cell as the link"), /* @__PURE__ */ React17.createElement("li", null, "Text in a parent list item"), /* @__PURE__ */ React17.createElement("li", null, "Text in the table header cell that's associated with cell that contains the link")));
1037
- }
1038
- case "android/atfa/RedundantDescriptionCheck": {
1039
- return /* @__PURE__ */ React17.createElement("span", null, "Listen to TalkBack's announcement of the element to verify that the item's role (type), state, and/or available actions are announced only once.");
1040
- }
1041
- case "android/atfa/TraversalOrderCheck": {
1042
- return /* @__PURE__ */ React17.createElement("span", null, "Turn on Talkback. Swipe right to move accessibility focus forward through the elements on the screen, then swipe left to navigate backwards. Verify that focus moves through the elements in a logical, consistent order when navigating forwards or backwards.");
1043
- }
1044
- case "android/atfa/TextContrastCheck": {
1045
- return /* @__PURE__ */ React17.createElement("div", {
1046
- className: rich_resolution_content_default.combinationLists
1047
- }, /* @__PURE__ */ React17.createElement("ul", {
1048
- className: rich_resolution_content_default.multiLineTextYesBullet
1049
- }, /* @__PURE__ */ React17.createElement("li", {
1050
- "list-style-type": "disc"
1051
- }, "If the text is intended to be invisible, it passes."), /* @__PURE__ */ React17.createElement("li", {
1052
- "list-style-type": "disc"
1053
- }, "If the text is intended to be visible, use", " ", /* @__PURE__ */ React17.createElement(LinkComponent, {
1054
- href: "https://go.microsoft.com/fwlink/?linkid=2075365"
1055
- }, "Accessibility Insights for Windows"), " ", "(or the", " ", /* @__PURE__ */ React17.createElement(LinkComponent, {
1056
- href: "https://developer.paciellogroup.com/resources/contrastanalyser/"
1057
- }, "Colour Contrast Analyser"), " ", "if you're testing on a Mac) to manually verify that it has sufficient contrast compared to the background. If the background is an image or gradient, test an area where contrast appears to be lowest.")));
1058
- }
1059
- case "android/atfa/ImageContrastCheck": {
1060
- return /* @__PURE__ */ React17.createElement("span", null, "Use", " ", /* @__PURE__ */ React17.createElement(LinkComponent, {
1061
- href: "https://go.microsoft.com/fwlink/?linkid=2075365"
1062
- }, "Accessibility Insights for Windows"), " ", "(or the", " ", /* @__PURE__ */ React17.createElement(LinkComponent, {
1063
- href: "https://developer.paciellogroup.com/resources/contrastanalyser/"
1064
- }, "Colour Contrast Analyser"), " ", "if you're testing on a Mac) to manually verify that the", " ", /* @__PURE__ */ React17.createElement(Code, null, "ImageView"), " has sufficient contrast compared to the background. If the background is an image or gradient, test an area where the contrast appears to be the lowest.");
1065
- }
1066
- case "web/aria-input-field-name": {
1067
- return /* @__PURE__ */ React17.createElement("div", null, "Inspect the element using the", " ", /* @__PURE__ */ React17.createElement(LinkComponent, {
1068
- href: "https://developers.google.com/web/updates/2018/01/devtools"
1069
- }, "Accessibility pane in the browser Developer Tools"), " ", "to verify that the field's accessible name is complete without its associated", " ", /* @__PURE__ */ React17.createElement("b", null, "<", "label", ">"), ".");
1070
- }
1071
- case "web/color-contrast": {
1072
- return /* @__PURE__ */ React17.createElement("div", {
1073
- className: rich_resolution_content_default.combinationLists
1074
- }, /* @__PURE__ */ React17.createElement("ul", {
1075
- className: rich_resolution_content_default.multiLineTextYesBullet
1076
- }, /* @__PURE__ */ React17.createElement("li", {
1077
- "list-style-type": "disc"
1078
- }, "If the instance is an icon or other non-text content, ignore it. This rule applies only to text."), /* @__PURE__ */ React17.createElement("li", {
1079
- "list-style-type": "disc"
1080
- }, "If the instance is text, use", " ", /* @__PURE__ */ React17.createElement(LinkComponent, {
1081
- href: "https://go.microsoft.com/fwlink/?linkid=2075365"
1082
- }, "Accessibility Insights for Windows"), " ", "(or the", " ", /* @__PURE__ */ React17.createElement(LinkComponent, {
1083
- href: "https://developer.paciellogroup.com/resources/contrastanalyser/"
1084
- }, "Colour Contrast Analyser"), " ", "if you're testing on a Mac) to manually verify that it has sufficient contrast compared to the background. If the background is an image or gradient, test an area where contrast appears to be lowest.")), /* @__PURE__ */ React17.createElement("ul", {
1085
- className: rich_resolution_content_default.multiLineTextNoBullet
1086
- }, /* @__PURE__ */ React17.createElement("li", null, "For detailed test instructions, see", " ", /* @__PURE__ */ React17.createElement(Term, null, "Assessment ", ">", " Adaptable content ", ">", " Contrast"), ".")));
1087
- }
1088
- case "web/link-in-text-block": {
1089
- return /* @__PURE__ */ React17.createElement("ul", {
1090
- className: rich_resolution_content_default.multiLineTextNoBullet
1091
- }, /* @__PURE__ */ React17.createElement("li", null, "Manually verify that the link text EITHER has a contrast ratio of at least 3:1 compared to surrounding text OR has a distinct visual style (such as underlined, bolded, or italicized)."), /* @__PURE__ */ React17.createElement("li", null, "To measure contrast, use", " ", /* @__PURE__ */ React17.createElement(LinkComponent, {
1092
- href: "https://go.microsoft.com/fwlink/?linkid=2075365"
1093
- }, "Accessibility Insights for Windows"), " ", "(or the", " ", /* @__PURE__ */ React17.createElement(LinkComponent, {
1094
- href: "https://developer.paciellogroup.com/resources/contrastanalyser/"
1095
- }, "Colour Contrast Analyser"), " ", "if you're testing on a Mac)."));
1096
- }
1097
- case "web/th-has-data-cells": {
1098
- return /* @__PURE__ */ React17.createElement("div", null, "Examine the header cell in the context of the table to verify that it has no data cells.");
1099
- }
1100
- case "web/scrollable-region-focusable": {
1101
- return /* @__PURE__ */ React17.createElement("span", null, "Examine the element and ensure that, if there is scrollable content, the elements are accessible by keyboard.");
1102
- }
1103
- case "web/label-content-name-mismatch": {
1104
- return /* @__PURE__ */ React17.createElement("span", null, "Inspect the element using the Accessibility pane in the browser Developer tools and verify that the element\u2019s accessible name contains its visible text.");
1105
- }
1106
- default: {
1107
- throw new Error(`Cannot render RichResolutionContent with unrecognized contentId ${contentId}`);
1115
+ var RichResolutionContent = NamedFC(
1116
+ "RichResolutionContent",
1117
+ ({ deps: { LinkComponent }, contentId, contentVariables }) => {
1118
+ switch (contentId) {
1119
+ case "android/ColorContrast": {
1120
+ return /* @__PURE__ */ React17.createElement("div", {
1121
+ className: rich_resolution_content_default.combinationLists
1122
+ }, /* @__PURE__ */ React17.createElement("ul", {
1123
+ className: rich_resolution_content_default.multiLineTextYesBullet
1124
+ }, /* @__PURE__ */ React17.createElement("li", {
1125
+ "list-style-type": "disc"
1126
+ }, "If the text is intended to be invisible, it passes."), /* @__PURE__ */ React17.createElement("li", {
1127
+ "list-style-type": "disc"
1128
+ }, "If the text is intended to be visible, use", " ", /* @__PURE__ */ React17.createElement(LinkComponent, {
1129
+ href: "https://go.microsoft.com/fwlink/?linkid=2075365"
1130
+ }, "Accessibility Insights for Windows"), " ", "(or the", " ", /* @__PURE__ */ React17.createElement(LinkComponent, {
1131
+ href: "https://developer.paciellogroup.com/resources/contrastanalyser/"
1132
+ }, "Colour Contrast Analyser"), " ", "if you're testing on a Mac) to manually verify that it has sufficient contrast compared to the background. If the background is an image or gradient, test an area where contrast appears to be lowest.")));
1133
+ }
1134
+ case "android/TouchSizeWcag": {
1135
+ const { logicalWidth, logicalHeight } = contentVariables;
1136
+ return /* @__PURE__ */ React17.createElement("span", null, "The element has an insufficient target size (width: ", logicalWidth, "dp, height: ", logicalHeight, "dp). Set the element's", " ", /* @__PURE__ */ React17.createElement(Code, null, "minWidth"), " and ", /* @__PURE__ */ React17.createElement(Code, null, "minHeight"), " ", "attributes to at least 44dp.");
1137
+ }
1138
+ case "android/ActiveViewName": {
1139
+ return /* @__PURE__ */ React17.createElement("span", null, "The view is active but has no name available to assistive technologies. Provide a name for the view using its", " ", /* @__PURE__ */ React17.createElement(Code, null, "contentDescription"), ",", " ", /* @__PURE__ */ React17.createElement(Code, null, "hint"), ", ", /* @__PURE__ */ React17.createElement(Code, null, "labelFor"), ", or", " ", /* @__PURE__ */ React17.createElement(Code, null, "text"), " attribute (depending on the view type)");
1140
+ }
1141
+ case "android/ImageViewName": {
1142
+ return /* @__PURE__ */ React17.createElement("span", null, "The image has no alternate text and is not identified as decorative. If the image conveys meaningful content, provide alternate text using the", " ", /* @__PURE__ */ React17.createElement(Code, null, "contentDescription"), " attribute. If the image is decorative, give it an empty ", /* @__PURE__ */ React17.createElement(Code, null, "contentDescription"), ", or set its ", /* @__PURE__ */ React17.createElement(Code, null, "isImportantForAccessibility"), " attribute to false.");
1143
+ }
1144
+ case "android/EditTextValue": {
1145
+ return /* @__PURE__ */ React17.createElement("span", null, "The element's ", /* @__PURE__ */ React17.createElement(Code, null, "contentDescription"), " overrides the text value required by assistive technologies. Remove the element's", " ", /* @__PURE__ */ React17.createElement(Code, null, "contentDescription"), " attribute.");
1146
+ }
1147
+ case "android/atfa/ClassNameCheck": {
1148
+ return /* @__PURE__ */ React17.createElement("span", null, /* @__PURE__ */ React17.createElement(LinkComponent, {
1149
+ href: "https://developer.android.com/training/accessibility/testing.html#manual"
1150
+ }, "Manually test"), " ", "the control to verify that users receive sufficient information to understand the object's function.");
1151
+ }
1152
+ case "android/atfa/ClickableSpanCheck": {
1153
+ return /* @__PURE__ */ React17.createElement("span", null, /* @__PURE__ */ React17.createElement(LinkComponent, {
1154
+ href: "https://developer.android.com/training/accessibility/testing.html#manual"
1155
+ }, "Manually test"), " ", "the item containing the link and verify that the hyperlinked text is announced and appears in the \u201CLinks\u201D section of Talkback\u2019s Context Menu.");
1156
+ }
1157
+ case "android/atfa/DuplicateClickableBoundsCheck": {
1158
+ return /* @__PURE__ */ React17.createElement("span", null, "Turn on", " ", /* @__PURE__ */ React17.createElement(LinkComponent, {
1159
+ href: "https://support.google.com/accessibility/android/answer/6301490"
1160
+ }, "Switch Access for Android"), " ", "or use the", " ", /* @__PURE__ */ React17.createElement(LinkComponent, {
1161
+ href: "https://accessibilityinsights.io/docs/en/android/getstarted/fastpass/#complete-the-manual-test-for-tab-stops"
1162
+ }, "TabStops feature"), " ", "to navigate through the elements in the application. If an element appears to be focused more than once, there may be multiple interactive elements occupying the same screen location.");
1163
+ }
1164
+ case "android/atfa/DuplicateSpeakableTextCheck": {
1165
+ return /* @__PURE__ */ React17.createElement("span", null, "If clickable ", /* @__PURE__ */ React17.createElement(Code, null, "View"), " objects have the ", /* @__PURE__ */ React17.createElement("i", null, "same"), " ", "speakable text and perform the ", /* @__PURE__ */ React17.createElement("i", null, "same"), " function, they pass.", /* @__PURE__ */ React17.createElement("br", null), "If clickable ", /* @__PURE__ */ React17.createElement(Code, null, "View"), " objects have the ", /* @__PURE__ */ React17.createElement("i", null, "same"), " ", "speakable text but perform ", /* @__PURE__ */ React17.createElement("i", null, "different"), " functions, they fail.");
1166
+ }
1167
+ case "android/atfa/LinkPurposeUnclearCheck": {
1168
+ return /* @__PURE__ */ React17.createElement("span", null, "Examine the link in the context of the app to verify that the link's unique purpose is described by the link together with its preceding page content, which includes:", /* @__PURE__ */ React17.createElement("ul", null, /* @__PURE__ */ React17.createElement("li", null, "Text in the same sentence, paragraph, list item, or table cell as the link"), /* @__PURE__ */ React17.createElement("li", null, "Text in a parent list item"), /* @__PURE__ */ React17.createElement("li", null, "Text in the table header cell that's associated with cell that contains the link")));
1169
+ }
1170
+ case "android/atfa/RedundantDescriptionCheck": {
1171
+ return /* @__PURE__ */ React17.createElement("span", null, "Listen to TalkBack's announcement of the element to verify that the item's role (type), state, and/or available actions are announced only once.");
1172
+ }
1173
+ case "android/atfa/TraversalOrderCheck": {
1174
+ return /* @__PURE__ */ React17.createElement("span", null, "Turn on Talkback. Swipe right to move accessibility focus forward through the elements on the screen, then swipe left to navigate backwards. Verify that focus moves through the elements in a logical, consistent order when navigating forwards or backwards.");
1175
+ }
1176
+ case "android/atfa/TextContrastCheck": {
1177
+ return /* @__PURE__ */ React17.createElement("div", {
1178
+ className: rich_resolution_content_default.combinationLists
1179
+ }, /* @__PURE__ */ React17.createElement("ul", {
1180
+ className: rich_resolution_content_default.multiLineTextYesBullet
1181
+ }, /* @__PURE__ */ React17.createElement("li", {
1182
+ "list-style-type": "disc"
1183
+ }, "If the text is intended to be invisible, it passes."), /* @__PURE__ */ React17.createElement("li", {
1184
+ "list-style-type": "disc"
1185
+ }, "If the text is intended to be visible, use", " ", /* @__PURE__ */ React17.createElement(LinkComponent, {
1186
+ href: "https://go.microsoft.com/fwlink/?linkid=2075365"
1187
+ }, "Accessibility Insights for Windows"), " ", "(or the", " ", /* @__PURE__ */ React17.createElement(LinkComponent, {
1188
+ href: "https://developer.paciellogroup.com/resources/contrastanalyser/"
1189
+ }, "Colour Contrast Analyser"), " ", "if you're testing on a Mac) to manually verify that it has sufficient contrast compared to the background. If the background is an image or gradient, test an area where contrast appears to be lowest.")));
1190
+ }
1191
+ case "android/atfa/ImageContrastCheck": {
1192
+ return /* @__PURE__ */ React17.createElement("span", null, "Use", " ", /* @__PURE__ */ React17.createElement(LinkComponent, {
1193
+ href: "https://go.microsoft.com/fwlink/?linkid=2075365"
1194
+ }, "Accessibility Insights for Windows"), " ", "(or the", " ", /* @__PURE__ */ React17.createElement(LinkComponent, {
1195
+ href: "https://developer.paciellogroup.com/resources/contrastanalyser/"
1196
+ }, "Colour Contrast Analyser"), " ", "if you're testing on a Mac) to manually verify that the", " ", /* @__PURE__ */ React17.createElement(Code, null, "ImageView"), " has sufficient contrast compared to the background. If the background is an image or gradient, test an area where the contrast appears to be the lowest.");
1197
+ }
1198
+ case "web/aria-input-field-name": {
1199
+ return /* @__PURE__ */ React17.createElement("div", null, "Inspect the element using the", " ", /* @__PURE__ */ React17.createElement(LinkComponent, {
1200
+ href: "https://developers.google.com/web/updates/2018/01/devtools"
1201
+ }, "Accessibility pane in the browser Developer Tools"), " ", "to verify that the field's accessible name is complete without its associated", " ", /* @__PURE__ */ React17.createElement("b", null, "<", "label", ">"), ".");
1202
+ }
1203
+ case "web/color-contrast": {
1204
+ return /* @__PURE__ */ React17.createElement("div", {
1205
+ className: rich_resolution_content_default.combinationLists
1206
+ }, /* @__PURE__ */ React17.createElement("ul", {
1207
+ className: rich_resolution_content_default.multiLineTextYesBullet
1208
+ }, /* @__PURE__ */ React17.createElement("li", {
1209
+ "list-style-type": "disc"
1210
+ }, "If the instance is an icon or other non-text content, ignore it. This rule applies only to text."), /* @__PURE__ */ React17.createElement("li", {
1211
+ "list-style-type": "disc"
1212
+ }, "If the instance is text, use", " ", /* @__PURE__ */ React17.createElement(LinkComponent, {
1213
+ href: "https://go.microsoft.com/fwlink/?linkid=2075365"
1214
+ }, "Accessibility Insights for Windows"), " ", "(or the", " ", /* @__PURE__ */ React17.createElement(LinkComponent, {
1215
+ href: "https://developer.paciellogroup.com/resources/contrastanalyser/"
1216
+ }, "Colour Contrast Analyser"), " ", "if you're testing on a Mac) to manually verify that it has sufficient contrast compared to the background. If the background is an image or gradient, test an area where contrast appears to be lowest.")), /* @__PURE__ */ React17.createElement("ul", {
1217
+ className: rich_resolution_content_default.multiLineTextNoBullet
1218
+ }, /* @__PURE__ */ React17.createElement("li", null, "For detailed test instructions, see", " ", /* @__PURE__ */ React17.createElement(Term, null, "Assessment ", ">", " Adaptable content ", ">", " Contrast"), ".")));
1219
+ }
1220
+ case "web/link-in-text-block": {
1221
+ return /* @__PURE__ */ React17.createElement("ul", {
1222
+ className: rich_resolution_content_default.multiLineTextNoBullet
1223
+ }, /* @__PURE__ */ React17.createElement("li", null, "Manually verify that the link text EITHER has a contrast ratio of at least 3:1 compared to surrounding text OR has a distinct visual style (such as underlined, bolded, or italicized)."), /* @__PURE__ */ React17.createElement("li", null, "To measure contrast, use", " ", /* @__PURE__ */ React17.createElement(LinkComponent, {
1224
+ href: "https://go.microsoft.com/fwlink/?linkid=2075365"
1225
+ }, "Accessibility Insights for Windows"), " ", "(or the", " ", /* @__PURE__ */ React17.createElement(LinkComponent, {
1226
+ href: "https://developer.paciellogroup.com/resources/contrastanalyser/"
1227
+ }, "Colour Contrast Analyser"), " ", "if you're testing on a Mac)."));
1228
+ }
1229
+ case "web/th-has-data-cells": {
1230
+ return /* @__PURE__ */ React17.createElement("div", null, "Examine the header cell in the context of the table to verify that it has no data cells.");
1231
+ }
1232
+ case "web/scrollable-region-focusable": {
1233
+ return /* @__PURE__ */ React17.createElement("span", null, "Examine the element and ensure that, if there is scrollable content, the elements are accessible by keyboard.");
1234
+ }
1235
+ case "web/label-content-name-mismatch": {
1236
+ return /* @__PURE__ */ React17.createElement("span", null, "Inspect the element using the Accessibility pane in the browser Developer tools and verify that the element\u2019s accessible name contains its visible text.");
1237
+ }
1238
+ default: {
1239
+ throw new Error(
1240
+ `Cannot render RichResolutionContent with unrecognized contentId ${contentId}`
1241
+ );
1242
+ }
1108
1243
  }
1109
1244
  }
1110
- });
1245
+ );
1111
1246
 
1112
1247
  // src/common/components/cards/rich-resolution-card-row.tsx
1113
- var RichResolutionCardRow = NamedFC("RichResolutionCardRow", ({ deps, index, propertyData }) => {
1114
- return /* @__PURE__ */ React18.createElement(SimpleCardRow, {
1115
- label: `How to ${propertyData.labelType}`,
1116
- content: /* @__PURE__ */ React18.createElement(RichResolutionContent, {
1117
- deps,
1118
- ...propertyData
1119
- }),
1120
- rowKey: `rich-resolution-row-${index}`
1121
- });
1122
- });
1248
+ var RichResolutionCardRow = NamedFC(
1249
+ "RichResolutionCardRow",
1250
+ ({ deps, index, propertyData }) => {
1251
+ return /* @__PURE__ */ React18.createElement(SimpleCardRow, {
1252
+ label: `How to ${propertyData.labelType}`,
1253
+ content: /* @__PURE__ */ React18.createElement(RichResolutionContent, {
1254
+ deps,
1255
+ ...propertyData
1256
+ }),
1257
+ rowKey: `rich-resolution-row-${index}`
1258
+ });
1259
+ }
1260
+ );
1123
1261
 
1124
1262
  // src/common/components/cards/text-card-row.ts
1125
1263
  var TextCardRow = GetLabelledStringPropertyCardRow("Text");
1126
1264
 
1127
1265
  // src/common/components/cards/urls-card-row.tsx
1128
- import * as React19 from "react";
1266
+ var React19 = __toESM(require("react"));
1129
1267
 
1130
1268
  // src/common/components/cards/urls-card-row.scss
1131
1269
  var urls_card_row_default = { "urlsRowContent": "urls-row-content--JDdRx", "urlsRowContentNewFailure": "urls-row-content-new-Failure--oL5lS" };
@@ -1169,7 +1307,7 @@ function getUrlListItem(urlInfo, index, deps) {
1169
1307
  }
1170
1308
 
1171
1309
  // src/common/components/cards/how-to-fix-card-row.tsx
1172
- import * as React21 from "react";
1310
+ var React21 = __toESM(require("react"));
1173
1311
 
1174
1312
  // src/common/types/check-type.ts
1175
1313
  var CheckType = /* @__PURE__ */ ((CheckType2) => {
@@ -1180,74 +1318,73 @@ var CheckType = /* @__PURE__ */ ((CheckType2) => {
1180
1318
  })(CheckType || {});
1181
1319
 
1182
1320
  // src/common/components/fix-instruction-panel.tsx
1183
- import * as React20 from "react";
1184
-
1185
- // src/common/components/fix-instruction-panel.scss
1186
- var fix_instruction_panel_default = { "insightsFixInstructionList": "insights-fix-instruction-list--eZigw", "fixInstructionColorBox": "fix-instruction-color-box--sBkHG", "screenReaderOnly": "screen-reader-only--irrXo" };
1187
-
1188
- // src/common/components/fix-instruction-panel.tsx
1189
- var FixInstructionPanel = NamedFC("FixInstructionPanel", (props) => {
1190
- const { fixInstructionProcessor } = props.deps;
1191
- const getPanelTitle = (checkType, checkCount) => {
1192
- if (checkCount === 1) {
1193
- return "Fix the following:";
1194
- }
1195
- if (checkType === 1 /* Any */) {
1196
- return "Fix ONE of the following:";
1197
- } else {
1198
- return "Fix ALL of the following:";
1321
+ var React20 = __toESM(require("react"));
1322
+ var FixInstructionPanel = NamedFC(
1323
+ "FixInstructionPanel",
1324
+ (props) => {
1325
+ const { fixInstructionProcessor } = props.deps;
1326
+ const getPanelTitle = (checkType, checkCount) => {
1327
+ if (checkCount === 1) {
1328
+ return "Fix the following:";
1329
+ }
1330
+ if (checkType === 1 /* Any */) {
1331
+ return "Fix ONE of the following:";
1332
+ } else {
1333
+ return "Fix ALL of the following:";
1334
+ }
1335
+ };
1336
+ const renderInstructions = (checkType) => {
1337
+ const instructionList = props.checks.map((check, checkIndex) => {
1338
+ return /* @__PURE__ */ React20.createElement("li", {
1339
+ key: `instruction-${CheckType[checkType]}-${checkIndex + 1}`
1340
+ }, fixInstructionProcessor.process(check.message, props.deps.recommendColor));
1341
+ });
1342
+ return instructionList;
1343
+ };
1344
+ if (props.checks.length === 0) {
1345
+ return null;
1199
1346
  }
1200
- };
1201
- const renderInstructions = (checkType) => {
1202
- const instructionList = props.checks.map((check, checkIndex) => {
1203
- return /* @__PURE__ */ React20.createElement("li", {
1204
- key: `instruction-${CheckType[checkType]}-${checkIndex + 1}`
1205
- }, fixInstructionProcessor.process(check.message, props.deps.recommendColor));
1206
- });
1207
- return instructionList;
1208
- };
1209
- if (props.checks.length === 0) {
1210
- return null;
1347
+ const title2 = getPanelTitle(props.checkType, props.checks.length);
1348
+ return /* @__PURE__ */ React20.createElement("div", null, props.renderTitleElement(title2), /* @__PURE__ */ React20.createElement("ul", null, renderInstructions(props.checkType)));
1211
1349
  }
1212
- const title2 = getPanelTitle(props.checkType, props.checks.length);
1213
- return /* @__PURE__ */ React20.createElement("div", null, props.renderTitleElement(title2), /* @__PURE__ */ React20.createElement("ul", {
1214
- className: fix_instruction_panel_default.insightsFixInstructionList
1215
- }, renderInstructions(props.checkType)));
1216
- });
1350
+ );
1217
1351
 
1218
1352
  // src/common/components/cards/how-to-fix-card-row.scss
1219
1353
  var how_to_fix_card_row_default = { "howToFixContent": "how-to-fix-content--Zz96u" };
1220
1354
 
1221
1355
  // src/common/components/cards/how-to-fix-card-row.tsx
1222
- var HowToFixWebCardRow = NamedFC("HowToFixWebCardRow", ({ deps, ...props }) => {
1223
- const { any: anyOf, all, none } = props.propertyData;
1224
- const renderFixInstructionsContent = () => {
1225
- return /* @__PURE__ */ React21.createElement("div", {
1226
- className: how_to_fix_card_row_default.howToFixContent
1227
- }, /* @__PURE__ */ React21.createElement(FixInstructionPanel, {
1228
- deps,
1229
- checkType: 0 /* All */,
1230
- checks: all.concat(none).map(turnStringToMessageObject),
1231
- renderTitleElement: renderFixInstructionsTitleElement
1232
- }), /* @__PURE__ */ React21.createElement(FixInstructionPanel, {
1233
- deps,
1234
- checkType: 1 /* Any */,
1235
- checks: anyOf.map(turnStringToMessageObject),
1236
- renderTitleElement: renderFixInstructionsTitleElement
1237
- }));
1238
- };
1239
- const turnStringToMessageObject = (s) => {
1240
- return { message: s };
1241
- };
1242
- const renderFixInstructionsTitleElement = (titleText) => {
1243
- return /* @__PURE__ */ React21.createElement("div", null, titleText);
1244
- };
1245
- return /* @__PURE__ */ React21.createElement(SimpleCardRow, {
1246
- label: "How to fix",
1247
- content: renderFixInstructionsContent(),
1248
- rowKey: `how-to-fix-row-${props.index}`
1249
- });
1250
- });
1356
+ var HowToFixWebCardRow = NamedFC(
1357
+ "HowToFixWebCardRow",
1358
+ ({ deps, ...props }) => {
1359
+ const { any: anyOf, all, none } = props.propertyData;
1360
+ const renderFixInstructionsContent = () => {
1361
+ return /* @__PURE__ */ React21.createElement("div", {
1362
+ className: how_to_fix_card_row_default.howToFixContent
1363
+ }, /* @__PURE__ */ React21.createElement(FixInstructionPanel, {
1364
+ deps,
1365
+ checkType: 0 /* All */,
1366
+ checks: all.concat(none).map(turnStringToMessageObject),
1367
+ renderTitleElement: renderFixInstructionsTitleElement
1368
+ }), /* @__PURE__ */ React21.createElement(FixInstructionPanel, {
1369
+ deps,
1370
+ checkType: 1 /* Any */,
1371
+ checks: anyOf.map(turnStringToMessageObject),
1372
+ renderTitleElement: renderFixInstructionsTitleElement
1373
+ }));
1374
+ };
1375
+ const turnStringToMessageObject = (s) => {
1376
+ return { message: s };
1377
+ };
1378
+ const renderFixInstructionsTitleElement = (titleText) => {
1379
+ return /* @__PURE__ */ React21.createElement("div", null, titleText);
1380
+ };
1381
+ return /* @__PURE__ */ React21.createElement(SimpleCardRow, {
1382
+ label: "How to fix",
1383
+ content: renderFixInstructionsContent(),
1384
+ rowKey: `how-to-fix-row-${props.index}`
1385
+ });
1386
+ }
1387
+ );
1251
1388
 
1252
1389
  // src/common/components/cards/path-card-row.tsx
1253
1390
  var PathCardRow = GetLabelledStringPropertyCardRow("Path");
@@ -1298,15 +1435,15 @@ function getPropertyConfiguration(id2) {
1298
1435
  }
1299
1436
 
1300
1437
  // src/common/components/cards/instance-details.tsx
1301
- import classNames from "classnames";
1302
- import { forOwn, isEmpty as isEmpty3 } from "lodash";
1303
- import * as React32 from "react";
1438
+ var import_classnames = __toESM(require("classnames"));
1439
+ var import_lodash6 = require("lodash");
1440
+ var React32 = __toESM(require("react"));
1304
1441
 
1305
1442
  // src/common/components/cards/instance-details-footer.tsx
1306
- import { Label } from "@fluentui/react";
1443
+ var import_react8 = require("@fluentui/react");
1307
1444
 
1308
1445
  // src/common/icons/highlight-status-icons.tsx
1309
- import * as React22 from "react";
1446
+ var React22 = __toESM(require("react"));
1310
1447
  var HighlightVisibleIcon = NamedFC("HighlightVisibleIcon", () => /* @__PURE__ */ React22.createElement("svg", {
1311
1448
  width: "34",
1312
1449
  height: "30",
@@ -1345,14 +1482,14 @@ var HighlightHiddenIcon = NamedFC("HighlightHiddenIcon", () => /* @__PURE__ */ R
1345
1482
  })));
1346
1483
 
1347
1484
  // src/common/components/cards/instance-details-footer.tsx
1348
- import * as React31 from "react";
1485
+ var React31 = __toESM(require("react"));
1349
1486
 
1350
1487
  // src/common/components/cards/card-kebab-menu-button.tsx
1351
- import { ActionButton, DirectionalHint } from "@fluentui/react";
1352
- import { registerIcons } from "@fluentui/react/lib/Styling";
1488
+ var import_react7 = require("@fluentui/react");
1489
+ var import_Styling = require("@fluentui/react/lib/Styling");
1353
1490
 
1354
1491
  // src/common/icons/more-actions-menu-icon.tsx
1355
- import * as React23 from "react";
1492
+ var React23 = __toESM(require("react"));
1356
1493
  var MoreActionsMenuIcon = NamedFC("MoreActionsMenuIcon", () => /* @__PURE__ */ React23.createElement("svg", {
1357
1494
  width: "10",
1358
1495
  height: "16",
@@ -1377,10 +1514,10 @@ var MoreActionsMenuIcon = NamedFC("MoreActionsMenuIcon", () => /* @__PURE__ */ R
1377
1514
  })));
1378
1515
 
1379
1516
  // src/common/components/cards/card-kebab-menu-button.tsx
1380
- import * as React30 from "react";
1517
+ var React30 = __toESM(require("react"));
1381
1518
 
1382
1519
  // src/DetailsView/components/issue-filing-dialog.tsx
1383
- import { Dialog, DialogFooter, DialogType } from "@fluentui/react";
1520
+ var import_react6 = require("@fluentui/react");
1384
1521
 
1385
1522
  // src/DetailsView/components/common-dialog-styles.scss
1386
1523
  var common_dialog_styles_default = { "insightsDialogMainOverride": "insights-dialog-main-override--ma4DA", "dialogBody": "dialog-body--cmWmz" };
@@ -1389,23 +1526,27 @@ var common_dialog_styles_default = { "insightsDialogMainOverride": "insights-dia
1389
1526
  var issue_filing_dialog_default = { "issueFilingDialog": "issue-filing-dialog--F9jun" };
1390
1527
 
1391
1528
  // src/DetailsView/components/issue-filing-dialog.tsx
1392
- import { cloneDeep, isEqual } from "lodash";
1393
- import * as React28 from "react";
1529
+ var import_lodash5 = require("lodash");
1530
+ var React28 = __toESM(require("react"));
1394
1531
 
1395
1532
  // src/issue-filing/components/issue-filing-settings-container.tsx
1396
- import * as React26 from "react";
1533
+ var React26 = __toESM(require("react"));
1397
1534
 
1398
1535
  // src/issue-filing/components/issue-filing-choice-group.tsx
1399
- import { ChoiceGroup } from "@fluentui/react";
1536
+ var import_react4 = require("@fluentui/react");
1400
1537
 
1401
1538
  // src/DetailsView/components/details-view-overlay/settings-panel/settings/issue-filing/issue-filing-settings.tsx
1402
- import * as React24 from "react";
1539
+ var React24 = __toESM(require("react"));
1403
1540
  var issueFilingTitleId = "issue-filing-heading";
1404
1541
  var IssueFilingSettings = NamedFC("IssueFilingSettings", (props) => {
1405
1542
  const { deps, userConfigurationStoreState } = props;
1406
1543
  const { issueFilingServiceProvider, userConfigMessageCreator } = deps;
1407
- const selectedIssueFilingService = issueFilingServiceProvider.forKey(userConfigurationStoreState.bugService);
1408
- const selectedIssueFilingServiceData = selectedIssueFilingService.getSettingsFromStoreData(userConfigurationStoreState.bugServicePropertiesMap);
1544
+ const selectedIssueFilingService = issueFilingServiceProvider.forKey(
1545
+ userConfigurationStoreState.bugService
1546
+ );
1547
+ const selectedIssueFilingServiceData = selectedIssueFilingService.getSettingsFromStoreData(
1548
+ userConfigurationStoreState.bugServicePropertiesMap
1549
+ );
1409
1550
  return /* @__PURE__ */ React24.createElement(React24.Fragment, null, /* @__PURE__ */ React24.createElement("h3", {
1410
1551
  id: issueFilingTitleId
1411
1552
  }, "Issue filing"), /* @__PURE__ */ React24.createElement(IssueFilingSettingsContainer, {
@@ -1418,51 +1559,57 @@ var IssueFilingSettings = NamedFC("IssueFilingSettings", (props) => {
1418
1559
  });
1419
1560
 
1420
1561
  // src/issue-filing/components/issue-filing-choice-group.tsx
1421
- import * as React25 from "react";
1422
- var IssueFilingChoiceGroup = NamedFC("IssueFilingChoiceGroup", (props) => {
1423
- const getOptions = () => {
1424
- return props.issueFilingServices.map((service) => {
1425
- return {
1426
- key: service.key,
1427
- text: service.displayName
1562
+ var React25 = __toESM(require("react"));
1563
+ var IssueFilingChoiceGroup = NamedFC(
1564
+ "IssueFilingChoiceGroup",
1565
+ (props) => {
1566
+ const getOptions = () => {
1567
+ return props.issueFilingServices.map((service) => {
1568
+ return {
1569
+ key: service.key,
1570
+ text: service.displayName
1571
+ };
1572
+ });
1573
+ };
1574
+ const onChange = (ev, option) => {
1575
+ const payload = {
1576
+ issueFilingServiceName: (option == null ? void 0 : option.key) ?? "none"
1428
1577
  };
1429
- });
1430
- };
1431
- const onChange = (ev, option) => {
1432
- const payload = {
1433
- issueFilingServiceName: (option == null ? void 0 : option.key) ?? "none"
1578
+ props.onSelectedServiceChange(payload);
1434
1579
  };
1435
- props.onSelectedServiceChange(payload);
1436
- };
1437
- return /* @__PURE__ */ React25.createElement(ChoiceGroup, {
1438
- className: "issue-filing-choice-group",
1439
- ariaLabelledBy: issueFilingTitleId,
1440
- onChange,
1441
- options: getOptions(),
1442
- selectedKey: props.selectedIssueFilingService.key
1443
- });
1444
- });
1580
+ return /* @__PURE__ */ React25.createElement(import_react4.ChoiceGroup, {
1581
+ className: "issue-filing-choice-group",
1582
+ ariaLabelledBy: issueFilingTitleId,
1583
+ onChange,
1584
+ options: getOptions(),
1585
+ selectedKey: props.selectedIssueFilingService.key
1586
+ });
1587
+ }
1588
+ );
1445
1589
 
1446
1590
  // src/issue-filing/components/issue-filing-settings-container.tsx
1447
- var IssueFilingSettingsContainer = NamedFC("IssueFilingSettingsContainer", (props) => {
1448
- const { deps, selectedIssueFilingService, selectedIssueFilingServiceData } = props;
1449
- const SettingsForm = selectedIssueFilingService.settingsForm;
1450
- const issueFilingServices = deps.issueFilingServiceProvider.allVisible();
1451
- return /* @__PURE__ */ React26.createElement(React26.Fragment, null, /* @__PURE__ */ React26.createElement(IssueFilingChoiceGroup, {
1452
- onSelectedServiceChange: props.onSelectedServiceChange,
1453
- selectedIssueFilingService,
1454
- issueFilingServices
1455
- }), /* @__PURE__ */ React26.createElement(SettingsForm, {
1456
- deps,
1457
- settings: selectedIssueFilingServiceData,
1458
- onPropertyUpdateCallback: props.onPropertyUpdateCallback
1459
- }));
1460
- });
1591
+ var IssueFilingSettingsContainer = NamedFC(
1592
+ "IssueFilingSettingsContainer",
1593
+ (props) => {
1594
+ const { deps, selectedIssueFilingService, selectedIssueFilingServiceData } = props;
1595
+ const SettingsForm = selectedIssueFilingService.settingsForm;
1596
+ const issueFilingServices = deps.issueFilingServiceProvider.allVisible();
1597
+ return /* @__PURE__ */ React26.createElement(React26.Fragment, null, /* @__PURE__ */ React26.createElement(IssueFilingChoiceGroup, {
1598
+ onSelectedServiceChange: props.onSelectedServiceChange,
1599
+ selectedIssueFilingService,
1600
+ issueFilingServices
1601
+ }), /* @__PURE__ */ React26.createElement(SettingsForm, {
1602
+ deps,
1603
+ settings: selectedIssueFilingServiceData,
1604
+ onPropertyUpdateCallback: props.onPropertyUpdateCallback
1605
+ }));
1606
+ }
1607
+ );
1461
1608
 
1462
1609
  // src/DetailsView/components/action-and-cancel-buttons-component.tsx
1463
- import { DefaultButton } from "@fluentui/react";
1464
- import { isEmpty as isEmpty2 } from "lodash";
1465
- import * as React27 from "react";
1610
+ var import_react5 = require("@fluentui/react");
1611
+ var import_lodash4 = require("lodash");
1612
+ var React27 = __toESM(require("react"));
1466
1613
 
1467
1614
  // src/DetailsView/components/action-and-cancel-buttons-component.scss
1468
1615
  var action_and_cancel_buttons_component_default = { "actionAndCancelButtonsComponent": "action-and-cancel-buttons-component--DF7bf", "actionCancelButtonCol": "action-cancel-button-col--RMfN-" };
@@ -1475,19 +1622,19 @@ var ActionAndCancelButtonsComponent = class extends React27.Component {
1475
1622
  hidden: this.props.isHidden
1476
1623
  }, /* @__PURE__ */ React27.createElement("div", {
1477
1624
  className: action_and_cancel_buttons_component_default.actionCancelButtonCol
1478
- }, /* @__PURE__ */ React27.createElement(DefaultButton, {
1625
+ }, /* @__PURE__ */ React27.createElement(import_react5.DefaultButton, {
1479
1626
  text: "Cancel",
1480
1627
  onClick: this.props.cancelButtonOnClick
1481
1628
  })), /* @__PURE__ */ React27.createElement("div", {
1482
1629
  className: action_and_cancel_buttons_component_default.actionCancelButtonCol
1483
- }, /* @__PURE__ */ React27.createElement(DefaultButton, {
1630
+ }, /* @__PURE__ */ React27.createElement(import_react5.DefaultButton, {
1484
1631
  "data-automation-id": this.props.primaryButtonDataAutomationId,
1485
1632
  primary: true,
1486
1633
  text: this.props.primaryButtonText,
1487
1634
  onClick: this.props.primaryButtonOnClick,
1488
1635
  disabled: this.props.primaryButtonDisabled,
1489
1636
  href: this.props.primaryButtonHref,
1490
- target: isEmpty2(this.props.primaryButtonHref) ? "_self" : "_blank"
1637
+ target: (0, import_lodash4.isEmpty)(this.props.primaryButtonHref) ? "_self" : "_blank"
1491
1638
  })));
1492
1639
  }
1493
1640
  };
@@ -1498,24 +1645,35 @@ var IssueFilingDialog = class extends React28.Component {
1498
1645
  constructor(props) {
1499
1646
  super(props);
1500
1647
  this.onPrimaryButtonClick = (ev) => {
1501
- const newData = this.state.selectedIssueFilingService.getSettingsFromStoreData(this.state.issueFilingServicePropertiesMap);
1648
+ const newData = this.state.selectedIssueFilingService.getSettingsFromStoreData(
1649
+ this.state.issueFilingServicePropertiesMap
1650
+ );
1502
1651
  const service = this.state.selectedIssueFilingService.key;
1503
1652
  const payload = {
1504
1653
  issueFilingServiceName: service,
1505
1654
  issueFilingSettings: newData
1506
1655
  };
1507
1656
  this.props.deps.userConfigMessageCreator.saveIssueFilingSettings(payload);
1508
- this.props.deps.issueFilingActionMessageCreator.fileIssue(ev, service, this.props.selectedIssueData, this.props.deps.toolData);
1657
+ this.props.deps.issueFilingActionMessageCreator.fileIssue(
1658
+ ev,
1659
+ service,
1660
+ this.props.selectedIssueData,
1661
+ this.props.deps.toolData
1662
+ );
1509
1663
  this.props.onClose(ev);
1510
1664
  };
1511
1665
  this.onSelectedServiceChange = (service) => {
1512
1666
  this.setState(() => ({
1513
- selectedIssueFilingService: this.props.deps.issueFilingServiceProvider.forKey(service.issueFilingServiceName)
1667
+ selectedIssueFilingService: this.props.deps.issueFilingServiceProvider.forKey(
1668
+ service.issueFilingServiceName
1669
+ )
1514
1670
  }));
1515
1671
  };
1516
1672
  this.onPropertyUpdateCallback = (payload) => {
1517
1673
  const { issueFilingServiceName, propertyName, propertyValue } = payload;
1518
- const selectedServiceData = this.state.selectedIssueFilingService.getSettingsFromStoreData(this.state.issueFilingServicePropertiesMap) || {};
1674
+ const selectedServiceData = this.state.selectedIssueFilingService.getSettingsFromStoreData(
1675
+ this.state.issueFilingServicePropertiesMap
1676
+ ) || {};
1519
1677
  selectedServiceData[propertyName] = propertyValue;
1520
1678
  const newIssueFilingServicePropertiesMap = {
1521
1679
  ...this.state.issueFilingServicePropertiesMap,
@@ -1529,19 +1687,23 @@ var IssueFilingDialog = class extends React28.Component {
1529
1687
  }
1530
1688
  getState(props) {
1531
1689
  return {
1532
- issueFilingServicePropertiesMap: cloneDeep(props.issueFilingServicePropertiesMap),
1690
+ issueFilingServicePropertiesMap: (0, import_lodash5.cloneDeep)(props.issueFilingServicePropertiesMap),
1533
1691
  selectedIssueFilingService: props.selectedIssueFilingService
1534
1692
  };
1535
1693
  }
1536
1694
  render() {
1537
- const { onClose, isOpen, deps } = this.props;
1695
+ const { onClose, afterClosed, isOpen, deps } = this.props;
1538
1696
  const { selectedIssueFilingService } = this.state;
1539
- const selectedIssueFilingServiceData = this.state.selectedIssueFilingService.getSettingsFromStoreData(this.state.issueFilingServicePropertiesMap);
1540
- const isSettingsValid = selectedIssueFilingService.isSettingsValid(selectedIssueFilingServiceData);
1541
- return /* @__PURE__ */ React28.createElement(Dialog, {
1697
+ const selectedIssueFilingServiceData = this.state.selectedIssueFilingService.getSettingsFromStoreData(
1698
+ this.state.issueFilingServicePropertiesMap
1699
+ );
1700
+ const isSettingsValid = selectedIssueFilingService.isSettingsValid(
1701
+ selectedIssueFilingServiceData
1702
+ );
1703
+ return /* @__PURE__ */ React28.createElement(import_react6.Dialog, {
1542
1704
  hidden: !isOpen,
1543
1705
  dialogContentProps: {
1544
- type: DialogType.normal,
1706
+ type: import_react6.DialogType.normal,
1545
1707
  title: titleLabel,
1546
1708
  subText: "This configuration can be changed again in settings.",
1547
1709
  showCloseButton: false
@@ -1549,7 +1711,8 @@ var IssueFilingDialog = class extends React28.Component {
1549
1711
  modalProps: {
1550
1712
  isBlocking: false,
1551
1713
  containerClassName: common_dialog_styles_default.insightsDialogMainOverride,
1552
- className: issue_filing_dialog_default.issueFilingDialog
1714
+ className: issue_filing_dialog_default.issueFilingDialog,
1715
+ onDismissed: afterClosed
1553
1716
  },
1554
1717
  onDismiss: onClose
1555
1718
  }, /* @__PURE__ */ React28.createElement(IssueFilingSettingsContainer, {
@@ -1558,7 +1721,7 @@ var IssueFilingDialog = class extends React28.Component {
1558
1721
  selectedIssueFilingServiceData,
1559
1722
  onPropertyUpdateCallback: this.onPropertyUpdateCallback,
1560
1723
  onSelectedServiceChange: this.onSelectedServiceChange
1561
- }), /* @__PURE__ */ React28.createElement(DialogFooter, null, /* @__PURE__ */ React28.createElement(ActionAndCancelButtonsComponent, {
1724
+ }), /* @__PURE__ */ React28.createElement(import_react6.DialogFooter, null, /* @__PURE__ */ React28.createElement(ActionAndCancelButtonsComponent, {
1562
1725
  isHidden: false,
1563
1726
  primaryButtonDisabled: isSettingsValid === false,
1564
1727
  primaryButtonOnClick: this.onPrimaryButtonClick,
@@ -1567,15 +1730,15 @@ var IssueFilingDialog = class extends React28.Component {
1567
1730
  })));
1568
1731
  }
1569
1732
  componentDidUpdate(prevProps) {
1570
- if (this.props.isOpen && isEqual(prevProps, this.props) === false) {
1733
+ if (this.props.isOpen && (0, import_lodash5.isEqual)(prevProps, this.props) === false) {
1571
1734
  this.setState(() => this.getState(this.props));
1572
1735
  }
1573
1736
  }
1574
1737
  };
1575
1738
 
1576
1739
  // src/common/components/toast.tsx
1577
- import { css as css5 } from "@fluentui/utilities";
1578
- import * as React29 from "react";
1740
+ var import_utilities4 = require("@fluentui/utilities");
1741
+ var React29 = __toESM(require("react"));
1579
1742
 
1580
1743
  // src/common/components/toast.scss
1581
1744
  var toast_default = { "toastContainer": "toast-container--L-5HM", "toastContent": "toast-content--8-Mx1" };
@@ -1603,7 +1766,7 @@ var _Toast = class extends React29.Component {
1603
1766
  className: toast_default.toastContainer,
1604
1767
  "aria-live": "polite"
1605
1768
  }, this.state.toastVisible ? /* @__PURE__ */ React29.createElement("div", {
1606
- className: css5("ms-fadeIn100", toast_default.toastContent)
1769
+ className: (0, import_utilities4.css)("ms-fadeIn100", toast_default.toastContent)
1607
1770
  }, this.state.content) : null);
1608
1771
  }
1609
1772
  };
@@ -1613,10 +1776,10 @@ Toast.defaultProps = {
1613
1776
  };
1614
1777
 
1615
1778
  // src/common/components/cards/card-kebab-menu-button.scss
1616
- var card_kebab_menu_button_default = { "kebabMenuButton": "kebab-menu-button--e-7v-", "kebabMenuIcon": "kebab-menu-icon--RzpyN", "kebabMenu": "kebab-menu--eKCNX" };
1779
+ var card_kebab_menu_button_default = { "kebabMenuIcon": "kebab-menu-icon--RzpyN", "kebabMenuButton": "kebab-menu-button--e-7v-", "kebabMenu": "kebab-menu--eKCNX" };
1617
1780
 
1618
1781
  // src/common/components/cards/card-kebab-menu-button.tsx
1619
- registerIcons({
1782
+ (0, import_Styling.registerIcons)({
1620
1783
  icons: {
1621
1784
  MoreActionsMenuIcon: /* @__PURE__ */ React30.createElement(MoreActionsMenuIcon, null)
1622
1785
  }
@@ -1627,11 +1790,22 @@ var CardKebabMenuButton = class extends React30.Component {
1627
1790
  this.fileIssue = (event) => {
1628
1791
  const { issueDetailsData, userConfigurationStoreData, deps } = this.props;
1629
1792
  const { issueFilingServiceProvider, issueFilingActionMessageCreator, toolData } = deps;
1630
- const selectedBugFilingService = issueFilingServiceProvider.forKey(userConfigurationStoreData.bugService);
1631
- const selectedBugFilingServiceData = selectedBugFilingService.getSettingsFromStoreData(userConfigurationStoreData.bugServicePropertiesMap);
1632
- const isSettingValid = selectedBugFilingService.isSettingsValid(selectedBugFilingServiceData);
1793
+ const selectedBugFilingService = issueFilingServiceProvider.forKey(
1794
+ userConfigurationStoreData.bugService
1795
+ );
1796
+ const selectedBugFilingServiceData = selectedBugFilingService.getSettingsFromStoreData(
1797
+ userConfigurationStoreData.bugServicePropertiesMap
1798
+ );
1799
+ const isSettingValid = selectedBugFilingService.isSettingsValid(
1800
+ selectedBugFilingServiceData
1801
+ );
1633
1802
  if (isSettingValid) {
1634
- issueFilingActionMessageCreator.fileIssue(event, userConfigurationStoreData.bugService, issueDetailsData, toolData);
1803
+ issueFilingActionMessageCreator.fileIssue(
1804
+ event,
1805
+ userConfigurationStoreData.bugService,
1806
+ issueDetailsData,
1807
+ toolData
1808
+ );
1635
1809
  this.closeNeedsSettingsContent();
1636
1810
  } else {
1637
1811
  this.openNeedsSettingsContent();
@@ -1639,7 +1813,10 @@ var CardKebabMenuButton = class extends React30.Component {
1639
1813
  };
1640
1814
  this.copyFailureDetails = async (event) => {
1641
1815
  var _a, _b;
1642
- const text = this.props.deps.issueDetailsTextGenerator.buildText(this.props.issueDetailsData, this.props.deps.toolData);
1816
+ const text = this.props.deps.issueDetailsTextGenerator.buildText(
1817
+ this.props.issueDetailsData,
1818
+ this.props.deps.toolData
1819
+ );
1643
1820
  this.props.deps.detailsViewActionMessageCreator.copyIssueDetailsClicked(event);
1644
1821
  try {
1645
1822
  await this.props.deps.navigatorUtils.copyToClipboard(text);
@@ -1667,7 +1844,7 @@ var CardKebabMenuButton = class extends React30.Component {
1667
1844
  };
1668
1845
  return /* @__PURE__ */ React30.createElement("div", {
1669
1846
  onKeyDown: handleKeyDown
1670
- }, /* @__PURE__ */ React30.createElement(ActionButton, {
1847
+ }, /* @__PURE__ */ React30.createElement(import_react7.ActionButton, {
1671
1848
  className: card_kebab_menu_button_default.kebabMenuButton,
1672
1849
  ariaLabel: this.props.kebabMenuAriaLabel || "More actions",
1673
1850
  menuIconProps: {
@@ -1676,7 +1853,7 @@ var CardKebabMenuButton = class extends React30.Component {
1676
1853
  },
1677
1854
  menuProps: {
1678
1855
  className: card_kebab_menu_button_default.kebabMenu,
1679
- directionalHint: DirectionalHint.bottomRightEdge,
1856
+ directionalHint: import_react7.DirectionalHint.bottomRightEdge,
1680
1857
  shouldFocusOnMount: true,
1681
1858
  items: this.getMenuItems()
1682
1859
  }
@@ -1725,8 +1902,12 @@ var CardKebabMenuButton = class extends React30.Component {
1725
1902
  if (!cardInteractionSupport.supportsIssueFiling) {
1726
1903
  return null;
1727
1904
  }
1728
- const selectedIssueFilingService = issueFilingServiceProvider.forKey(userConfigurationStoreData.bugService);
1729
- const selectedIssueFilingServiceData = selectedIssueFilingService.getSettingsFromStoreData(userConfigurationStoreData.bugServicePropertiesMap);
1905
+ const selectedIssueFilingService = issueFilingServiceProvider.forKey(
1906
+ userConfigurationStoreData.bugService
1907
+ );
1908
+ const selectedIssueFilingServiceData = selectedIssueFilingService.getSettingsFromStoreData(
1909
+ userConfigurationStoreData.bugServicePropertiesMap
1910
+ );
1730
1911
  const needsSettingsContentProps = {
1731
1912
  deps,
1732
1913
  isOpen: this.state.showNeedsSettingsContent,
@@ -1749,46 +1930,49 @@ var CardKebabMenuButton = class extends React30.Component {
1749
1930
  var instance_details_footer_default = { "foot": "foot--p1DfC", "highlightStatus": "highlight-status--xJvvI" };
1750
1931
 
1751
1932
  // src/common/components/cards/instance-details-footer.tsx
1752
- var InstanceDetailsFooter = NamedFC("InstanceDetailsFooter", (props) => {
1753
- const { deps, userConfigurationStoreData, result, rule, targetAppInfo } = props;
1754
- const { cardInteractionSupport } = deps;
1755
- const supportsAnyActions = cardInteractionSupport.supportsIssueFiling || cardInteractionSupport.supportsCopyFailureDetails;
1756
- const { supportsHighlighting } = cardInteractionSupport;
1757
- if (!supportsHighlighting && !supportsAnyActions) {
1758
- return null;
1759
- }
1760
- const renderKebabMenu = () => {
1761
- if (!supportsAnyActions) {
1762
- return null;
1763
- }
1764
- const issueDetailsData = deps.unifiedResultToIssueFilingDataConverter.convert(result, rule, targetAppInfo);
1765
- const kebabMenuAriaLabel = `More Actions for failure instance ${result.identifiers.identifier} in rule ${rule.id}`;
1766
- return /* @__PURE__ */ React31.createElement(CardKebabMenuButton, {
1767
- deps,
1768
- userConfigurationStoreData,
1769
- issueDetailsData,
1770
- kebabMenuAriaLabel
1771
- });
1772
- };
1773
- const renderHighlightStatus = () => {
1774
- if (!supportsHighlighting) {
1933
+ var InstanceDetailsFooter = NamedFC(
1934
+ "InstanceDetailsFooter",
1935
+ (props) => {
1936
+ const { deps, userConfigurationStoreData, result, rule, targetAppInfo } = props;
1937
+ const { cardInteractionSupport } = deps;
1938
+ const supportsAnyActions = cardInteractionSupport.supportsIssueFiling || cardInteractionSupport.supportsCopyFailureDetails;
1939
+ const { supportsHighlighting } = cardInteractionSupport;
1940
+ if (!supportsHighlighting && !supportsAnyActions) {
1775
1941
  return null;
1776
1942
  }
1777
- const highlightState = result.highlightStatus;
1778
- const label = "Highlight " + highlightState;
1779
- const icon = {
1780
- unavailable: /* @__PURE__ */ React31.createElement(HighlightUnavailableIcon, null),
1781
- visible: /* @__PURE__ */ React31.createElement(HighlightVisibleIcon, null),
1782
- hidden: /* @__PURE__ */ React31.createElement(HighlightHiddenIcon, null)
1783
- }[highlightState];
1943
+ const renderKebabMenu = () => {
1944
+ if (!supportsAnyActions) {
1945
+ return null;
1946
+ }
1947
+ const issueDetailsData = deps.unifiedResultToIssueFilingDataConverter.convert(result, rule, targetAppInfo);
1948
+ const kebabMenuAriaLabel = `More Actions for failure instance ${result.identifiers.identifier} in rule ${rule.id}`;
1949
+ return /* @__PURE__ */ React31.createElement(CardKebabMenuButton, {
1950
+ deps,
1951
+ userConfigurationStoreData,
1952
+ issueDetailsData,
1953
+ kebabMenuAriaLabel
1954
+ });
1955
+ };
1956
+ const renderHighlightStatus = () => {
1957
+ if (!supportsHighlighting) {
1958
+ return null;
1959
+ }
1960
+ const highlightState = result.highlightStatus;
1961
+ const label = "Highlight " + highlightState;
1962
+ const icon = {
1963
+ unavailable: /* @__PURE__ */ React31.createElement(HighlightUnavailableIcon, null),
1964
+ visible: /* @__PURE__ */ React31.createElement(HighlightVisibleIcon, null),
1965
+ hidden: /* @__PURE__ */ React31.createElement(HighlightHiddenIcon, null)
1966
+ }[highlightState];
1967
+ return /* @__PURE__ */ React31.createElement("div", {
1968
+ className: instance_details_footer_default.highlightStatus
1969
+ }, icon, /* @__PURE__ */ React31.createElement(import_react8.Label, null, label));
1970
+ };
1784
1971
  return /* @__PURE__ */ React31.createElement("div", {
1785
- className: instance_details_footer_default.highlightStatus
1786
- }, icon, /* @__PURE__ */ React31.createElement(Label, null, label));
1787
- };
1788
- return /* @__PURE__ */ React31.createElement("div", {
1789
- className: instance_details_footer_default.foot
1790
- }, renderHighlightStatus(), renderKebabMenu());
1791
- });
1972
+ className: instance_details_footer_default.foot
1973
+ }, renderHighlightStatus(), renderKebabMenu());
1974
+ }
1975
+ );
1792
1976
 
1793
1977
  // src/common/components/cards/instance-details.tsx
1794
1978
  var instanceCardAutomationId = "instance-card";
@@ -1803,19 +1987,19 @@ var InstanceDetails = NamedFC("InstanceDetails", (props) => {
1803
1987
  } = props;
1804
1988
  const [cardFocused, setCardFocus] = React32.useState(false);
1805
1989
  const isHighlightSupported = deps.cardInteractionSupport.supportsHighlighting;
1806
- const instanceDetailsCardStyling = classNames({
1990
+ const instanceDetailsCardStyling = (0, import_classnames.default)({
1807
1991
  [instance_details_default.instanceDetailsCard]: true,
1808
1992
  [instance_details_default.selected]: isHighlightSupported && result.isSelected,
1809
1993
  [instance_details_default.focused]: isHighlightSupported && cardFocused,
1810
1994
  [instance_details_default.interactive]: isHighlightSupported
1811
1995
  });
1812
- const instanceDetailsCardContainerStyling = classNames({
1996
+ const instanceDetailsCardContainerStyling = (0, import_classnames.default)({
1813
1997
  [instance_details_default.instanceDetailsCardContainer]: true,
1814
1998
  [instance_details_default.selected]: isHighlightSupported && result.isSelected
1815
1999
  });
1816
2000
  const toggleSelectHandler = (event) => {
1817
2001
  event.stopPropagation();
1818
- cardSelectionMessageCreator.toggleCardSelection(result.ruleId, result.uid, event);
2002
+ cardSelectionMessageCreator == null ? void 0 : cardSelectionMessageCreator.toggleCardSelection(result.ruleId, result.uid, event);
1819
2003
  };
1820
2004
  const hiddenButton = React32.useRef(null);
1821
2005
  const cardHighlightingProperties = isHighlightSupported ? {
@@ -1834,7 +2018,7 @@ var InstanceDetails = NamedFC("InstanceDetails", (props) => {
1834
2018
  ...cardHighlightingProperties
1835
2019
  }, /* @__PURE__ */ React32.createElement("div", null, /* @__PURE__ */ React32.createElement("table", {
1836
2020
  className: instance_details_default.reportInstanceTable
1837
- }, /* @__PURE__ */ React32.createElement("tbody", null, renderCardRowsForPropertyBag(result.identifiers, props), renderCardRowsForPropertyBag(result.descriptors, props), renderCardRowsForPropertyBag(result.resolution, props))), isHighlightSupported && /* @__PURE__ */ React32.createElement("button", {
2021
+ }, /* @__PURE__ */ React32.createElement("tbody", null, renderCardRowsForPropertyBag(result.identifiers, props), renderCardRowsForPropertyBag(result.descriptors, props), renderCardRowsForPropertyBag(result.resolution, props))), isHighlightSupported && cardSelectionMessageCreator !== void 0 && /* @__PURE__ */ React32.createElement("button", {
1838
2022
  ref: hiddenButton,
1839
2023
  onClick: toggleSelectHandler,
1840
2024
  className: instance_details_default.hiddenHighlightButton,
@@ -1853,17 +2037,19 @@ var InstanceDetails = NamedFC("InstanceDetails", (props) => {
1853
2037
  var renderCardRowsForPropertyBag = (propertyBag, props) => {
1854
2038
  let propertyIndex = 0;
1855
2039
  const cardRows = [];
1856
- forOwn(propertyBag, (propertyData, propertyName) => {
2040
+ (0, import_lodash6.forOwn)(propertyBag, (propertyData, propertyName) => {
1857
2041
  const propertyConfig = props.deps.getPropertyConfigById(propertyName);
1858
- if (!isEmpty3(propertyConfig)) {
2042
+ if (!(0, import_lodash6.isEmpty)(propertyConfig)) {
1859
2043
  const CardRow = propertyConfig.cardRow;
1860
2044
  ++propertyIndex;
1861
- cardRows.push(/* @__PURE__ */ React32.createElement(CardRow, {
1862
- deps: props.deps,
1863
- propertyData,
1864
- index: props.index,
1865
- key: `${propertyName}-${propertyIndex}`
1866
- }));
2045
+ cardRows.push(
2046
+ /* @__PURE__ */ React32.createElement(CardRow, {
2047
+ deps: props.deps,
2048
+ propertyData,
2049
+ index: props.index,
2050
+ key: `${propertyName}-${propertyIndex}`
2051
+ })
2052
+ );
1867
2053
  }
1868
2054
  });
1869
2055
  return /* @__PURE__ */ React32.createElement(React32.Fragment, null, cardRows);
@@ -1874,44 +2060,47 @@ var instance_details_group_default = { "instanceDetailsList": "instance-details-
1874
2060
 
1875
2061
  // src/common/components/cards/instance-details-group.tsx
1876
2062
  var ruleContentAutomationId = "cards-rule-content";
1877
- var InstanceDetailsGroup = NamedFC("InstanceDetailsGroup", (props) => {
1878
- const {
1879
- deps,
1880
- rule,
1881
- userConfigurationStoreData,
1882
- targetAppInfo,
1883
- cardSelectionMessageCreator
1884
- } = props;
1885
- const { nodes } = rule;
1886
- const unifiedRule = {
1887
- id: rule.id,
1888
- description: rule.description,
1889
- url: rule.url,
1890
- guidance: rule.guidance
1891
- };
1892
- return /* @__PURE__ */ React33.createElement("ul", {
1893
- "data-automation-id": ruleContentAutomationId,
1894
- className: instance_details_group_default.instanceDetailsList,
1895
- "aria-label": "instances with additional information like path, snippet and how to fix"
1896
- }, nodes.map((node, index) => /* @__PURE__ */ React33.createElement("li", {
1897
- key: `instance-details-${index}`
1898
- }, /* @__PURE__ */ React33.createElement(InstanceDetails, {
1899
- ...{ index },
1900
- deps,
1901
- result: node,
1902
- getPropertyConfigById: getPropertyConfiguration,
1903
- userConfigurationStoreData,
1904
- rule: unifiedRule,
1905
- targetAppInfo,
1906
- cardSelectionMessageCreator
1907
- }))));
1908
- });
2063
+ var InstanceDetailsGroup = NamedFC(
2064
+ "InstanceDetailsGroup",
2065
+ (props) => {
2066
+ const {
2067
+ deps,
2068
+ rule,
2069
+ userConfigurationStoreData,
2070
+ targetAppInfo,
2071
+ cardSelectionMessageCreator
2072
+ } = props;
2073
+ const { nodes } = rule;
2074
+ const unifiedRule = {
2075
+ id: rule.id,
2076
+ description: rule.description,
2077
+ url: rule.url,
2078
+ guidance: rule.guidance
2079
+ };
2080
+ return /* @__PURE__ */ React33.createElement("ul", {
2081
+ "data-automation-id": ruleContentAutomationId,
2082
+ className: instance_details_group_default.instanceDetailsList,
2083
+ "aria-label": "instances with additional information like path, snippet and how to fix"
2084
+ }, nodes.map((node, index) => /* @__PURE__ */ React33.createElement("li", {
2085
+ key: `instance-details-${index}`
2086
+ }, /* @__PURE__ */ React33.createElement(InstanceDetails, {
2087
+ ...{ index },
2088
+ deps,
2089
+ result: node,
2090
+ getPropertyConfigById: getPropertyConfiguration,
2091
+ userConfigurationStoreData,
2092
+ rule: unifiedRule,
2093
+ targetAppInfo,
2094
+ cardSelectionMessageCreator
2095
+ }))));
2096
+ }
2097
+ );
1909
2098
 
1910
2099
  // src/common/components/guidance-links.tsx
1911
- import { isEmpty as isEmpty4 } from "lodash";
1912
- import * as React34 from "react";
2100
+ var import_lodash8 = require("lodash");
2101
+ var React34 = __toESM(require("react"));
1913
2102
 
1914
- // src/common/guidance-links.ts
2103
+ // src/common/types/store-data/guidance-links.ts
1915
2104
  var guidanceTags = {
1916
2105
  WCAG_2_1: {
1917
2106
  id: "WCAG_2_1",
@@ -2507,26 +2696,60 @@ var link = {
2507
2696
  HeadingsVideo: linkTo("Headings Video", "https://www.youtube.com/watch?v=S0pJcYyxBWo"),
2508
2697
  FormLabelsVideo: linkTo("Form Labels Video", "https://www.youtube.com/watch?v=Mki-ZknCrB4"),
2509
2698
  IdentifyHeadings: linkTo("Techniques for WCAG 2.0: Using h1-h6 to identify headings", "https://www.w3.org/TR/WCAG20-TECHS/H42.html"),
2510
- LandmarkRegions: linkTo("WAI-ARIA Authoring Practices 1.1: Landmark Regions", "https://www.w3.org/TR/wai-aria-practices-1.1/#aria_landmark"),
2699
+ LandmarkRegions: linkTo(
2700
+ "WAI-ARIA Authoring Practices 1.1: Landmark Regions",
2701
+ "https://www.w3.org/TR/wai-aria-practices-1.1/#aria_landmark"
2702
+ ),
2703
+ accessibleNameComputation: linkTo("ARIA 1.1 Important Terms Section", "https://www.w3.org/TR/wai-aria/#terms"),
2511
2704
  Keyboard: linkTo("WebAIM: Keyboard Accessibility", "https://aka.ms/webaim/keyboard-accessibility"),
2512
- InteroperabilityWithAT: linkTo("Section 508 - 502.2.2", "https://www.access-board.gov/guidelines-and-standards/communications-and-it/about-the-ict-refresh/final-rule/text-of-the-standards-and-guidelines#502-interoperability-assistive-technology"),
2705
+ InteroperabilityWithAT: linkTo(
2706
+ "Section 508 - 502.2.2",
2707
+ "https://www.access-board.gov/guidelines-and-standards/communications-and-it/about-the-ict-refresh/final-rule/text-of-the-standards-and-guidelines#502-interoperability-assistive-technology"
2708
+ ),
2513
2709
  Presbyopia: linkTo("presbyopia", "https://en.wikipedia.org/wiki/Presbyopia"),
2514
- WAIARIAAuthoringPractices: linkTo("WAI-ARIA Authoring Practices 1.1: Design Patterns and Widgets", "https://www.w3.org/TR/wai-aria-practices-1.1/"),
2515
- WCAG21UnderstandingUseOfColor: linkTo("Understanding Success Criterion 1.4.1: Use of Color", "https://www.w3.org/WAI/WCAG21/Understanding/use-of-color.html"),
2516
- WCAG21UnderstandingAudioOnlyViewOnlyPrerecorded: linkTo("Understanding Success Criterion 1.2.1: Audio-only and Video-only (Prerecorded)", "https://www.w3.org/WAI/WCAG21/Understanding/audio-only-and-video-only-prerecorded.html"),
2517
- WCAG21TechniquesG83: linkTo("Providing text descriptions to identify required fields that were not completed", "https://www.w3.org/WAI/WCAG21/Techniques/general/G83"),
2710
+ WAIARIAAuthoringPractices: linkTo(
2711
+ "WAI-ARIA Authoring Practices 1.1: Design Patterns and Widgets",
2712
+ "https://www.w3.org/TR/wai-aria-practices-1.1/"
2713
+ ),
2714
+ WCAG21UnderstandingUseOfColor: linkTo(
2715
+ "Understanding Success Criterion 1.4.1: Use of Color",
2716
+ "https://www.w3.org/WAI/WCAG21/Understanding/use-of-color.html"
2717
+ ),
2718
+ WCAG21UnderstandingAudioOnlyViewOnlyPrerecorded: linkTo(
2719
+ "Understanding Success Criterion 1.2.1: Audio-only and Video-only (Prerecorded)",
2720
+ "https://www.w3.org/WAI/WCAG21/Understanding/audio-only-and-video-only-prerecorded.html"
2721
+ ),
2722
+ WCAG21TechniquesG83: linkTo(
2723
+ "Providing text descriptions to identify required fields that were not completed",
2724
+ "https://www.w3.org/WAI/WCAG21/Techniques/general/G83"
2725
+ ),
2518
2726
  WCAG21TechniquesG89: linkTo("Providing expected data format and example", "https://www.w3.org/WAI/WCAG21/Techniques/general/G89"),
2519
2727
  WCAG21TechniquesG90: linkTo("Providing keyboard-triggered event handlers", "https://www.w3.org/WAI/WCAG21/Techniques/general/G90"),
2520
2728
  WCAG21TechniquesG131: linkTo("Providing descriptive labels", "https://www.w3.org/WAI/WCAG21/Techniques/general/G131"),
2521
- WCAG21TechniquesG138: linkTo("Using semantic markup whenever color cues are used", "https://www.w3.org/WAI/WCAG21/Techniques/general/G138"),
2522
- WCAG21TechniquesG158: linkTo("Providing an alternative for time-based media for audio-only content", "https://www.w3.org/WAI/WCAG21/Techniques/general/G158"),
2523
- WCAG21TechniquesG159: linkTo("Providing an alternative for time-based media for video-only content", "https://www.w3.org/WAI/WCAG21/Techniques/general/G159"),
2524
- WCAG21TechniquesG166: linkTo("Providing audio that describes the important video content and describing it as such", "https://www.w3.org/WAI/WCAG21/Techniques/general/G166"),
2525
- WCAG21TechniquesG202: linkTo("Ensuring keyboard control for all functionality", "https://www.w3.org/WAI/WCAG21/Techniques/general/G202")
2729
+ WCAG21TechniquesG138: linkTo(
2730
+ "Using semantic markup whenever color cues are used",
2731
+ "https://www.w3.org/WAI/WCAG21/Techniques/general/G138"
2732
+ ),
2733
+ WCAG21TechniquesG158: linkTo(
2734
+ "Providing an alternative for time-based media for audio-only content",
2735
+ "https://www.w3.org/WAI/WCAG21/Techniques/general/G158"
2736
+ ),
2737
+ WCAG21TechniquesG159: linkTo(
2738
+ "Providing an alternative for time-based media for video-only content",
2739
+ "https://www.w3.org/WAI/WCAG21/Techniques/general/G159"
2740
+ ),
2741
+ WCAG21TechniquesG166: linkTo(
2742
+ "Providing audio that describes the important video content and describing it as such",
2743
+ "https://www.w3.org/WAI/WCAG21/Techniques/general/G166"
2744
+ ),
2745
+ WCAG21TechniquesG202: linkTo(
2746
+ "Ensuring keyboard control for all functionality",
2747
+ "https://www.w3.org/WAI/WCAG21/Techniques/general/G202"
2748
+ )
2526
2749
  };
2527
2750
 
2528
2751
  // src/scanner/map-axe-tags-to-guidance-links.ts
2529
- import { sortBy } from "lodash";
2752
+ var import_lodash7 = require("lodash");
2530
2753
  var BestPractice = {
2531
2754
  text: "Best Practice",
2532
2755
  href: ""
@@ -2545,7 +2768,7 @@ function mapAxeTagsToGuidanceLinks(axeTags) {
2545
2768
  const normalizedTags = axeTags ?? [];
2546
2769
  const unsortedMaybeLinks = normalizedTags.map(mapAxeTagToGuidanceLink);
2547
2770
  const unsortedLinks = unsortedMaybeLinks.filter(isNotNull);
2548
- const sortedLinks = sortBy(unsortedLinks, (link2) => link2.text);
2771
+ const sortedLinks = (0, import_lodash7.sortBy)(unsortedLinks, (link2) => link2.text);
2549
2772
  return sortedLinks;
2550
2773
  }
2551
2774
  function isNotNull(maybeInstance) {
@@ -2555,7 +2778,7 @@ function isNotNull(maybeInstance) {
2555
2778
  // src/common/components/guidance-links.tsx
2556
2779
  var GuidanceLinks = NamedFC("GuidanceLinks", (props) => {
2557
2780
  const { links, classNameForDiv } = props;
2558
- if (isEmpty4(links)) {
2781
+ if ((0, import_lodash8.isEmpty)(links)) {
2559
2782
  return null;
2560
2783
  }
2561
2784
  const renderLinks = () => {
@@ -2585,15 +2808,15 @@ var GuidanceLinks = NamedFC("GuidanceLinks", (props) => {
2585
2808
  });
2586
2809
 
2587
2810
  // src/common/components/guidance-tags.tsx
2588
- import { isEmpty as isEmpty5 } from "lodash";
2589
- import * as React35 from "react";
2811
+ var import_lodash9 = require("lodash");
2812
+ var React35 = __toESM(require("react"));
2590
2813
  var GuidanceTags = NamedFC("GuidanceTags", (props) => {
2591
2814
  const { links, deps } = props;
2592
- if (isEmpty5(links)) {
2815
+ if ((0, import_lodash9.isEmpty)(links)) {
2593
2816
  return null;
2594
2817
  }
2595
2818
  const tags = deps.getGuidanceTagsFromGuidanceLinks(links);
2596
- if (isEmpty5(tags)) {
2819
+ if ((0, import_lodash9.isEmpty)(tags)) {
2597
2820
  return null;
2598
2821
  }
2599
2822
  const tagElements = tags.map((tag, index) => {
@@ -2607,15 +2830,15 @@ var GuidanceTags = NamedFC("GuidanceTags", (props) => {
2607
2830
  });
2608
2831
 
2609
2832
  // src/common/components/cards/rule-resources.tsx
2610
- import { isEmpty as isEmpty6 } from "lodash";
2611
- import * as React36 from "react";
2833
+ var import_lodash10 = require("lodash");
2834
+ var React36 = __toESM(require("react"));
2612
2835
 
2613
2836
  // src/common/components/cards/rule-resources.scss
2614
2837
  var rule_resources_default = { "ruleMoreResources": "rule-more-resources--uw9mc", "moreResourcesTitle": "more-resources-title--jOuUL", "ruleDetailsId": "rule-details-id--s-TpO" };
2615
2838
 
2616
2839
  // src/common/components/cards/rule-resources.tsx
2617
2840
  var RuleResources = NamedFC("RuleResources", ({ deps, rule }) => {
2618
- if (rule.url == null && isEmpty6(rule.guidance)) {
2841
+ if (rule.url == null && (0, import_lodash10.isEmpty)(rule.guidance)) {
2619
2842
  return null;
2620
2843
  }
2621
2844
  const renderTitle = () => /* @__PURE__ */ React36.createElement("div", {
@@ -2661,104 +2884,112 @@ var rules_with_instances_default = { "ruleDetailsGroup": "rule-details-group--Tb
2661
2884
  // src/common/components/cards/rules-with-instances.tsx
2662
2885
  var ruleGroupAutomationId = "cards-rule-group";
2663
2886
  var ruleDetailsGroupAutomationId = "rule-details-group";
2664
- var RulesWithInstances = NamedFC("RulesWithInstances", ({
2665
- rules,
2666
- outcomeType,
2667
- fixInstructionProcessor,
2668
- deps,
2669
- userConfigurationStoreData,
2670
- targetAppInfo,
2671
- outcomeCounter,
2672
- headingLevel,
2673
- cardSelectionMessageCreator
2674
- }) => {
2675
- const getCollapsibleComponentProps = (rule, idx, buttonAriaLabel) => {
2676
- return {
2677
- id: rule.id,
2678
- key: `summary-details-${idx + 1}`,
2679
- header: /* @__PURE__ */ React38.createElement(MinimalRuleHeader, {
2680
- key: rule.id,
2681
- rule,
2682
- outcomeType,
2683
- outcomeCounter
2684
- }),
2685
- content: /* @__PURE__ */ React38.createElement(RuleContent, {
2686
- key: `${rule.id}-rule-group`,
2687
- deps,
2688
- rule,
2689
- fixInstructionProcessor,
2690
- userConfigurationStoreData,
2691
- targetAppInfo,
2692
- cardSelectionMessageCreator
2693
- }),
2694
- containerAutomationId: ruleGroupAutomationId,
2695
- containerClassName: rules_with_instances_default.collapsibleRuleDetailsGroup,
2696
- buttonAriaLabel,
2697
- headingLevel,
2698
- deps,
2699
- onExpandToggle: (event) => {
2700
- cardSelectionMessageCreator.toggleRuleExpandCollapse(rule.id, event);
2701
- },
2702
- isExpanded: rule.isExpanded
2703
- };
2704
- };
2705
- return /* @__PURE__ */ React38.createElement("div", {
2706
- className: rules_with_instances_default.ruleDetailsGroup,
2707
- "data-automation-id": ruleDetailsGroupAutomationId
2708
- }, rules.map((rule, idx) => {
2709
- const { pastTense } = outcomeTypeSemantics[outcomeType];
2710
- const count = outcomeCounter(rule.nodes);
2711
- const buttonAriaLabel = `${rule.id} ${count} ${pastTense} ${rule.description}`;
2712
- const CollapsibleComponent = deps.collapsibleControl(getCollapsibleComponentProps(rule, idx, buttonAriaLabel));
2713
- return CollapsibleComponent;
2714
- }));
2715
- });
2716
-
2717
- // src/common/components/cards/result-section-content.tsx
2718
- var ResultSectionContent = NamedFC("ResultSectionContent", (props) => {
2719
- const {
2720
- results,
2887
+ var RulesWithInstances = NamedFC(
2888
+ "RulesWithInstances",
2889
+ ({
2890
+ rules,
2721
2891
  outcomeType,
2722
- fixInstructionProcessor,
2723
- deps,
2724
- userConfigurationStoreData,
2725
- targetAppInfo,
2726
- outcomeCounter,
2727
- headingLevel
2728
- } = props;
2729
- if (results.length === 0) {
2730
- return null;
2731
- }
2732
- return /* @__PURE__ */ React39.createElement(React39.Fragment, null, /* @__PURE__ */ React39.createElement(deps.cardsVisualizationModifierButtons, {
2733
- ...props
2734
- }), /* @__PURE__ */ React39.createElement(RulesWithInstances, {
2735
2892
  deps,
2736
- rules: results,
2737
- outcomeType,
2738
- fixInstructionProcessor,
2739
2893
  userConfigurationStoreData,
2740
2894
  targetAppInfo,
2741
2895
  outcomeCounter,
2742
2896
  headingLevel,
2743
- cardSelectionMessageCreator: props.cardSelectionMessageCreator
2744
- }));
2745
- });
2746
-
2747
- // src/common/components/cards/result-section-title.tsx
2748
- import * as React40 from "react";
2749
-
2750
- // src/common/components/cards/result-section-title.scss
2751
- var result_section_title_default = { "resultSectionTitle": "result-section-title--RGFI5", "title": "title--WBYFE", "heading": "heading--NdP4Q", "outcomeChipContainer": "outcome-chip-container--BT3j5" };
2897
+ cardSelectionMessageCreator
2898
+ }) => {
2899
+ const getCollapsibleComponentProps = (rule, idx, buttonAriaLabel) => {
2900
+ return {
2901
+ id: rule.id,
2902
+ key: `summary-details-${idx + 1}`,
2903
+ header: /* @__PURE__ */ React38.createElement(MinimalRuleHeader, {
2904
+ key: rule.id,
2905
+ rule,
2906
+ outcomeType,
2907
+ outcomeCounter
2908
+ }),
2909
+ content: /* @__PURE__ */ React38.createElement(RuleContent, {
2910
+ key: `${rule.id}-rule-group`,
2911
+ deps,
2912
+ rule,
2913
+ userConfigurationStoreData,
2914
+ targetAppInfo,
2915
+ cardSelectionMessageCreator
2916
+ }),
2917
+ containerAutomationId: ruleGroupAutomationId,
2918
+ containerClassName: rules_with_instances_default.collapsibleRuleDetailsGroup,
2919
+ buttonAriaLabel,
2920
+ headingLevel,
2921
+ deps,
2922
+ onExpandToggle: (event) => {
2923
+ cardSelectionMessageCreator == null ? void 0 : cardSelectionMessageCreator.toggleRuleExpandCollapse(rule.id, event);
2924
+ },
2925
+ isExpanded: rule.isExpanded
2926
+ };
2927
+ };
2928
+ return /* @__PURE__ */ React38.createElement("div", {
2929
+ className: rules_with_instances_default.ruleDetailsGroup,
2930
+ "data-automation-id": ruleDetailsGroupAutomationId
2931
+ }, rules.map((rule, idx) => {
2932
+ const { pastTense } = outcomeTypeSemantics[outcomeType];
2933
+ const count = outcomeCounter(rule.nodes);
2934
+ const buttonAriaLabel = `${rule.id} ${count} ${pastTense} ${rule.description}`;
2935
+ const CollapsibleComponent = deps.collapsibleControl(
2936
+ getCollapsibleComponentProps(rule, idx, buttonAriaLabel)
2937
+ );
2938
+ return CollapsibleComponent;
2939
+ }));
2940
+ }
2941
+ );
2752
2942
 
2753
- // src/common/components/cards/result-section-title.tsx
2754
- var titleClassNames = {
2755
- title: result_section_title_default.title,
2756
- heading: result_section_title_default.heading
2757
- };
2758
- var ResultSectionTitle = NamedFC("ResultSectionTitle", (props) => {
2759
- const singularMessageSubject = props.outcomeType === "review" ? "instance to review" : "failure";
2760
- const pluralMessageSubject = props.outcomeType === "review" ? "instances to review" : "failures";
2761
- const alertTerm = props.badgeCount !== 1 ? `${pluralMessageSubject} were` : `${singularMessageSubject} was`;
2943
+ // src/common/components/cards/result-section-content.tsx
2944
+ var ResultSectionContent = NamedFC(
2945
+ "ResultSectionContent",
2946
+ (props) => {
2947
+ const {
2948
+ results,
2949
+ outcomeType,
2950
+ fixInstructionProcessor,
2951
+ deps,
2952
+ userConfigurationStoreData,
2953
+ targetAppInfo,
2954
+ outcomeCounter,
2955
+ headingLevel,
2956
+ cardSelectionMessageCreator
2957
+ } = props;
2958
+ if (results.length === 0) {
2959
+ return null;
2960
+ }
2961
+ return /* @__PURE__ */ React39.createElement(React39.Fragment, null, cardSelectionMessageCreator !== void 0 && /* @__PURE__ */ React39.createElement(deps.cardsVisualizationModifierButtons, {
2962
+ ...props,
2963
+ cardSelectionMessageCreator
2964
+ }), /* @__PURE__ */ React39.createElement(RulesWithInstances, {
2965
+ deps,
2966
+ rules: results,
2967
+ outcomeType,
2968
+ fixInstructionProcessor,
2969
+ userConfigurationStoreData,
2970
+ targetAppInfo,
2971
+ outcomeCounter,
2972
+ headingLevel,
2973
+ cardSelectionMessageCreator
2974
+ }));
2975
+ }
2976
+ );
2977
+
2978
+ // src/common/components/cards/result-section-title.tsx
2979
+ var React40 = __toESM(require("react"));
2980
+
2981
+ // src/common/components/cards/result-section-title.scss
2982
+ var result_section_title_default = { "resultSectionTitle": "result-section-title--RGFI5", "title": "title--WBYFE", "heading": "heading--NdP4Q", "outcomeChipContainer": "outcome-chip-container--BT3j5" };
2983
+
2984
+ // src/common/components/cards/result-section-title.tsx
2985
+ var titleClassNames = {
2986
+ title: result_section_title_default.title,
2987
+ heading: result_section_title_default.heading
2988
+ };
2989
+ var ResultSectionTitle = NamedFC("ResultSectionTitle", (props) => {
2990
+ const singularMessageSubject = props.outcomeType === "review" ? "instance to review" : "failure";
2991
+ const pluralMessageSubject = props.outcomeType === "review" ? "instances to review" : "failures";
2992
+ const alertTerm = props.badgeCount !== 1 ? `${pluralMessageSubject} were` : `${singularMessageSubject} was`;
2762
2993
  const alertingFailuresCount = /* @__PURE__ */ React40.createElement("span", {
2763
2994
  role: "alert"
2764
2995
  }, props.badgeCount, " ", alertTerm, " detected.");
@@ -2786,7 +3017,7 @@ var resultSectionAutomationId = "result-section";
2786
3017
  var ResultSection = NamedFC("ResultSection", (props) => {
2787
3018
  const { containerClassName, sectionHeadingLevel, deps } = props;
2788
3019
  return /* @__PURE__ */ React41.createElement("div", {
2789
- className: css6(containerClassName, result_section_default.resultSection),
3020
+ className: (0, import_utilities5.css)(containerClassName, result_section_default.resultSection),
2790
3021
  "data-automation-id": resultSectionAutomationId
2791
3022
  }, /* @__PURE__ */ React41.createElement(HeadingElementForLevel, {
2792
3023
  headingLevel: sectionHeadingLevel
@@ -2800,38 +3031,41 @@ var ResultSection = NamedFC("ResultSection", (props) => {
2800
3031
  });
2801
3032
 
2802
3033
  // src/common/components/cards/failed-instances-section.tsx
2803
- var FailedInstancesSection = NamedFC("FailedInstancesSection", ({
2804
- cardsViewData,
2805
- deps,
2806
- userConfigurationStoreData,
2807
- scanMetadata,
2808
- shouldAlertFailuresCount,
2809
- cardSelectionMessageCreator,
2810
- sectionHeadingLevel
2811
- }) => {
2812
- if (cardsViewData == null || cardsViewData.cards == null) {
2813
- return null;
2814
- }
2815
- const count = cardsViewData.cards.fail.reduce((total, rule) => {
2816
- return total + rule.nodes.length;
2817
- }, 0);
2818
- return /* @__PURE__ */ React42.createElement(ResultSection, {
3034
+ var FailedInstancesSection = NamedFC(
3035
+ "FailedInstancesSection",
3036
+ ({
3037
+ cardsViewData,
2819
3038
  deps,
2820
- title: "Failed instances",
2821
- results: cardsViewData.cards.fail,
2822
- containerClassName: failed_instances_section_default.failedInstancesContainer,
2823
- outcomeType: "fail",
2824
- badgeCount: count,
2825
3039
  userConfigurationStoreData,
2826
- targetAppInfo: scanMetadata.targetAppInfo,
3040
+ scanMetadata,
2827
3041
  shouldAlertFailuresCount,
2828
- visualHelperEnabled: cardsViewData.visualHelperEnabled,
2829
- allCardsCollapsed: cardsViewData.allCardsCollapsed,
2830
- outcomeCounter: OutcomeCounter.countByCards,
2831
- sectionHeadingLevel,
2832
- cardSelectionMessageCreator
2833
- });
2834
- });
3042
+ cardSelectionMessageCreator,
3043
+ sectionHeadingLevel
3044
+ }) => {
3045
+ if (cardsViewData == null || cardsViewData.cards == null) {
3046
+ return null;
3047
+ }
3048
+ const count = cardsViewData.cards.fail.reduce((total, rule) => {
3049
+ return total + rule.nodes.length;
3050
+ }, 0);
3051
+ return /* @__PURE__ */ React42.createElement(ResultSection, {
3052
+ deps,
3053
+ title: "Failed instances",
3054
+ results: cardsViewData.cards.fail,
3055
+ containerClassName: failed_instances_section_default.failedInstancesContainer,
3056
+ outcomeType: "fail",
3057
+ badgeCount: count,
3058
+ userConfigurationStoreData,
3059
+ targetAppInfo: scanMetadata.targetAppInfo,
3060
+ shouldAlertFailuresCount,
3061
+ visualHelperEnabled: cardsViewData.visualHelperEnabled,
3062
+ allCardsCollapsed: cardsViewData.allCardsCollapsed,
3063
+ outcomeCounter: OutcomeCounter.countByCards,
3064
+ sectionHeadingLevel,
3065
+ cardSelectionMessageCreator
3066
+ });
3067
+ }
3068
+ );
2835
3069
 
2836
3070
  // src/content/strings/application.ts
2837
3071
  var brand = "Accessibility Insights";
@@ -2841,13 +3075,13 @@ var windowsProductName = `${brand} for Windows`;
2841
3075
  var androidAppTitle = `${brand} for Android`;
2842
3076
 
2843
3077
  // src/reports/components/report-sections/reporter-header-section.tsx
2844
- import * as React46 from "react";
3078
+ var React46 = __toESM(require("react"));
2845
3079
 
2846
3080
  // src/reports/components/report-sections/header-section.tsx
2847
- import * as React45 from "react";
3081
+ var React45 = __toESM(require("react"));
2848
3082
 
2849
3083
  // src/icons/brand/white/brand-white.tsx
2850
- import * as React43 from "react";
3084
+ var React43 = __toESM(require("react"));
2851
3085
  var BrandWhite = NamedFC("BrandWhite", () => /* @__PURE__ */ React43.createElement("svg", {
2852
3086
  role: "img",
2853
3087
  "aria-hidden": "true",
@@ -3000,7 +3234,7 @@ var BrandWhite = NamedFC("BrandWhite", () => /* @__PURE__ */ React43.createEleme
3000
3234
  })))));
3001
3235
 
3002
3236
  // src/reports/components/header-bar.tsx
3003
- import * as React44 from "react";
3237
+ var React44 = __toESM(require("react"));
3004
3238
 
3005
3239
  // src/reports/components/header-bar.scss
3006
3240
  var header_bar_default = { "reportHeaderBar": "report-header-bar--SDV11", "headerText": "header-text--EdTxw" };
@@ -3019,37 +3253,43 @@ var header_section_default = { "reportHeaderCommandBar": "report-header-command-
3019
3253
 
3020
3254
  // src/reports/components/report-sections/header-section.tsx
3021
3255
  var reportHeaderSectionDataAutomationId = "report-header-section";
3022
- var HeaderSection = NamedFC("HeaderSection", ({ targetAppInfo, headerText }) => {
3023
- return /* @__PURE__ */ React45.createElement("header", {
3024
- "data-automation-id": reportHeaderSectionDataAutomationId
3025
- }, /* @__PURE__ */ React45.createElement(HeaderBar, {
3026
- headerText
3027
- }), /* @__PURE__ */ React45.createElement("div", {
3028
- className: header_section_default.reportHeaderCommandBar
3029
- }, /* @__PURE__ */ React45.createElement("div", {
3030
- className: header_section_default.targetPage
3031
- }, "Target page:\xA0", /* @__PURE__ */ React45.createElement(NewTabLinkWithConfirmationDialog, {
3032
- href: targetAppInfo.url,
3033
- title: targetAppInfo.name
3034
- }, targetAppInfo.name))));
3035
- });
3256
+ var HeaderSection = NamedFC(
3257
+ "HeaderSection",
3258
+ ({ targetAppInfo, headerText }) => {
3259
+ return /* @__PURE__ */ React45.createElement("header", {
3260
+ "data-automation-id": reportHeaderSectionDataAutomationId
3261
+ }, /* @__PURE__ */ React45.createElement(HeaderBar, {
3262
+ headerText
3263
+ }), /* @__PURE__ */ React45.createElement("div", {
3264
+ className: header_section_default.reportHeaderCommandBar
3265
+ }, /* @__PURE__ */ React45.createElement("div", {
3266
+ className: header_section_default.targetPage
3267
+ }, "Target page:\xA0", /* @__PURE__ */ React45.createElement(NewTabLinkWithConfirmationDialog, {
3268
+ href: targetAppInfo.url,
3269
+ title: targetAppInfo.name
3270
+ }, targetAppInfo.name))));
3271
+ }
3272
+ );
3036
3273
 
3037
3274
  // src/reports/components/report-sections/reporter-header-section.tsx
3038
- var ReporterHeaderSection = NamedFC("AutomatedChecksHeaderSection", ({ scanMetadata }) => {
3039
- return /* @__PURE__ */ React46.createElement(HeaderSection, {
3040
- targetAppInfo: scanMetadata.targetAppInfo,
3041
- headerText: brand
3042
- });
3043
- });
3275
+ var ReporterHeaderSection = NamedFC(
3276
+ "AutomatedChecksHeaderSection",
3277
+ ({ scanMetadata }) => {
3278
+ return /* @__PURE__ */ React46.createElement(HeaderSection, {
3279
+ targetAppInfo: scanMetadata.targetAppInfo,
3280
+ headerText: brand
3281
+ });
3282
+ }
3283
+ );
3044
3284
 
3045
3285
  // src/reports/components/reporter-automated-check-head.tsx
3046
- import * as React48 from "react";
3286
+ var React48 = __toESM(require("react"));
3047
3287
 
3048
3288
  // src/reports/components/head.tsx
3049
- import * as React47 from "react";
3289
+ var React47 = __toESM(require("react"));
3050
3290
 
3051
3291
  // src/reports/automated-checks-report.styles.ts
3052
- var styleSheet = `:root {\n --black: #000;\n --light-black: #161616;\n --white: #fff;\n --brand-blue: #004880;\n --grey: #333;\n --ada-brand-color: var(--brand-blue);\n --primary-text: rgb(0 0 0 / 90%);\n --secondary-text: rgb(0 0 0 / 70%);\n --disabled-text: rgb(0 0 0 / 38%);\n --communication-primary: #106ebe;\n --communication-tint-40: #eff6fc;\n --communication-tint-30: #deecf9;\n --communication-tint-20: #c7e0f4;\n --communication-tint-10: #2b88d8;\n --communication-shade-20: #004578;\n --neutral-0: var(--white);\n --neutral-2: #f8f8f8;\n --neutral-3: #f6f6f6;\n --neutral-4: #f4f4f4;\n --neutral-6: #f2f2f2;\n --neutral-6-5: #f1f1f1;\n --neutral-8: #ebebeb;\n --neutral-10: #dedede;\n --neutral-20: #c8c8c8;\n --neutral-30: #a6a6a6;\n --neutral-55: #6e6e6e;\n --neutral-60: #666;\n --neutral-70: #3c3c3c;\n --neutral-80: var(--grey);\n --neutral-100: var(--black);\n --neutral-alpha-2: rgb(0 0 0 / 2%);\n --neutral-alpha-4: rgb(0 0 0 / 4%);\n --neutral-alpha-6: rgb(0 0 0 / 6%);\n --neutral-alpha-8: rgb(0 0 0 / 8%);\n --neutral-alpha-10: rgb(0 0 0 / 10%);\n --neutral-alpha-20: rgb(0 0 0 / 20%);\n --neutral-alpha-30: rgb(0 0 0 / 30%);\n --neutral-alpha-60: rgb(0 0 0 / 60%);\n --neutral-alpha-70: rgb(0 0 0 / 70%);\n --neutral-alpha-80: rgb(0 0 0 / 80%);\n --neutral-alpha-90: rgb(0 0 0 / 90%);\n --positive-outcome: #228722;\n --negative-outcome: #e81123;\n --neutral-outcome: var(--neutral-60);\n --box-shadow-108: rgb(0 0 0 / 10.8%);\n --box-shadow-132: rgb(0 0 0 / 13.2%);\n --box-shadow-27: rgb(0 0 0 / 27%);\n --screenshot-image-outline: #8b8b8b;\n --card-border: transparent;\n --card-footer-border: var(--neutral-10);\n --header-bar-title-color: var(--neutral-0);\n --help-links-section-background: var(--neutral-4);\n --help-links-section-border: var(--neutral-4);\n --index-circle-background: var(--communication-primary);\n --link-hover: var(--communication-shade-20);\n --link: var(--communication-primary);\n --menu-border: var(--neutral-3);\n --menu-item-background-active: var(--neutral-alpha-8);\n --menu-item-background-hover: var(--neutral-alpha-4);\n --left-nav-icon: var(--neutral-55);\n --pill-background: var(--neutral-alpha-8);\n --pill: var(--primary-text);\n --spinner-text: var(--communication-primary);\n --nav-link-hover: var(--neutral-alpha-8);\n --nav-link-selected: var(--communication-tint-20);\n --nav-link-expanded: var(--communication-tint-40);\n --insights-button-hover: #0179d4;\n --report-footer-text: #222;\n --landmark-contentinfo: #00a88c;\n --landmark-main: #cb2e6d;\n --landmark-complementary: #6b9d1a;\n --landmark-banner: #d08311;\n --landmark-region: #2560e0;\n --landmark-navigation: #9b38e6;\n --landmark-search: #d363d8;\n --landmark-form: #0298c7;\n}\n:root .high-contrast-theme {\n --ada-brand-color: var(--white);\n --secondary-text: var(--white);\n --primary-text: var(--white);\n --disabled-text: #c285ff;\n --communication-tint-40: #38a9ff;\n --communication-tint-30: var(--communication-tint-10);\n --neutral-0: var(--light-black);\n --neutral-2: var(--light-black);\n --neutral-3: var(--light-black);\n --neutral-4: var(--light-black);\n --neutral-6: var(--light-black);\n --neutral-6-5: var(--light-black);\n --neutral-8: var(--white);\n --neutral-10: var(--light-black);\n --neutral-20: var(--white);\n --neutral-30: var(--white);\n --neutral-55: var(--white);\n --neutral-60: var(--white);\n --neutral-70: var(--white);\n --neutral-80: var(--white);\n --neutral-100: var(--white);\n --neutral-alpha-8: var(--white);\n --neutral-alpha-90: var(--white);\n --positive-outcome: #4ac94a;\n --negative-outcome: #fc7ab1;\n --neutral-outcome: var(--neutral-0);\n --card-border: var(--white);\n --card-footer-border: var(--white);\n --header-bar-title-color: var(--brand-blue);\n --help-links-section-background: transparent;\n --help-links-section-border: var(--white);\n --index-circle-background: var(--communication-tint-40);\n --link-hover: #ff0;\n --link: #ff0;\n --menu-border: var(--grey);\n --menu-item-background-active: var(--communication-tint-40);\n --menu-item-background-hover: var(--grey);\n --left-nav-icon: var(--black);\n --pill-background: var(--white);\n --pill: var(--black);\n --screenshot-image-outline: var(--white);\n --spinner-text: var(--communication-tint-40);\n --nav-link-hover: #2a2a2a;\n --nav-link-selected: var(--communication-tint-40);\n --nav-link-expanded: transparent;\n}\n\n.ms-Fabric.is-focusVisible .ms-Nav-group .ms-nav-linkButton:focus::after {\n border: 1px solid var(--neutral-100);\n}\n@media screen and (forced-colors: active) {\n .ms-Fabric.is-focusVisible .ms-Nav-group .ms-nav-linkButton:focus::after {\n border: 1px dashed windowtext !important;\n }\n}\n\nbutton::after {\n content: \"\";\n position: absolute;\n}\n\n.ms-fontColor-neutralPrimary,\n.ms-fontColor-neutralPrimary--hover:hover {\n color: var(--neutral-100) !important;\n}\n\n.ms-Fabric {\n color: var(--neutral-100);\n}\n\n.high-contrast-theme .insights-link:hover {\n text-decoration: underline;\n}\n.high-contrast-theme .is-selected .status-icon {\n color: var(--black) !important;\n}\n\n.insights-link {\n color: var(--link) !important;\n text-decoration: none;\n}\n@media screen and (forced-colors: active) {\n .insights-link {\n forced-color-adjust: unset;\n }\n}\n.insights-link:hover {\n color: var(--link-hover) !important;\n text-decoration: underline;\n}\n\n.insights-code {\n font-family: menlo, consolas, courier new, monospace;\n}\n\n.ms-Spinner .ms-Spinner-circle {\n border-top-color: var(--spinner-text);\n}\n.ms-Spinner .ms-Spinner-label {\n color: var(--spinner-text);\n}\n\n.guidance-tags span {\n font-size: 12px;\n font-weight: normal;\n margin-left: 8px;\n padding: 2px 12px;\n color: var(--pill);\n background-color: var(--pill-background);\n border-radius: 120px;\n}\n\n.hidden-highlight-button {\n opacity: 0;\n margin: 0;\n padding: 0;\n border: none;\n}\n\n.instance-details-card {\n border-radius: 4px;\n border: 1px solid var(--card-border);\n outline-style: \"border-style\";\n box-shadow: 0 0.6px 1.8px var(--box-shadow-108), 0 3.2px 7.2px var(--box-shadow-132);\n margin-bottom: 16px;\n width: -moz-available;\n /* WebKit-based browsers will ignore this. */\n width: -webkit-fill-available;\n /* Mozilla-based browsers will ignore this. */\n width: fill-available;\n}\n\n.instance-details-card-container.selected {\n outline: 5px solid var(--communication-tint-10);\n}\n\n.instance-details-card.selected {\n border: 1px solid transparent;\n}\n\n.instance-details-card.focused,\n.instance-details-card:focus {\n outline: 2px solid var(--primary-text);\n outline-offset: 2px;\n}\n\n.instance-details-card.selected.focused,\n.instance-details-card.selected:focus {\n outline-offset: 8px;\n}\n\n.instance-details-card.interactive {\n cursor: pointer;\n}\n\n.instance-details-card.interactive:hover {\n box-shadow: 0 8px 10px var(--box-shadow-108), 0 8px 10px var(--box-shadow-132);\n}\n\n.report-instance-table {\n background: var(--neutral-0);\n display: table;\n table-layout: fixed;\n width: -moz-available;\n /* WebKit-based browsers will ignore this. */\n width: -webkit-fill-available;\n /* Mozilla-based browsers will ignore this. */\n width: fill-available;\n border-radius: inherit;\n border-collapse: collapse;\n overflow-wrap: break-word;\n word-break: break-word;\n}\n.report-instance-table .row {\n display: flex;\n flex-wrap: wrap;\n padding-top: 2px;\n padding-bottom: 14px;\n padding-left: 0;\n padding-right: 20px;\n border-bottom: 0.5px solid var(--neutral-10);\n}\n.report-instance-table .row > * {\n margin-top: 12px;\n margin-bottom: 0;\n margin-left: 20px;\n margin-right: 0;\n padding: 0;\n}\n.report-instance-table .row:last-child {\n border-bottom: none;\n}\n.report-instance-table .row-label {\n flex-basis: 90px;\n flex-shrink: 1;\n flex-grow: 0;\n font-size: 14px;\n line-height: 20px;\n font-weight: 600;\n color: var(--primary-text);\n text-align: left;\n}\n.report-instance-table .row-content {\n flex-basis: 200px;\n flex-shrink: 1;\n flex-grow: 1;\n color: var(--secondary-text);\n font-size: 14px;\n line-height: 20px;\n align-items: flex-end;\n display: flex;\n}\n\n.outcome-summary-bar {\n display: flex;\n flex-grow: 0;\n flex-shrink: 0;\n flex-direction: row;\n flex-wrap: wrap;\n align-items: center;\n margin-top: 16px;\n margin-bottom: 0;\n line-height: 24px;\n font-size: 17px;\n font-weight: 600;\n white-space: pre-wrap;\n}\n.outcome-summary-bar .block,\n.outcome-summary-bar .incomplete,\n.outcome-summary-bar .inapplicable,\n.outcome-summary-bar .unscannable,\n.outcome-summary-bar .pass,\n.outcome-summary-bar .fail {\n font-family: 'Segoe UI Web (West European)','Segoe UI','-apple-system',BlinkMacSystemFont,Roboto,'Helvetica Neue',Helvetica,Ubuntu,Arial,sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol';\n line-height: 20px;\n font-size: 16px;\n color: var(--neutral-0);\n padding: 8px 8px 10px 10px;\n height: 16px;\n display: flex;\n align-items: center;\n margin-right: 4px;\n}\n.outcome-summary-bar .count {\n font-weight: 600;\n}\n.outcome-summary-bar .fail {\n background-color: var(--negative-outcome);\n}\n.outcome-summary-bar .fail .check-container {\n position: relative;\n width: 16px;\n height: 16px;\n display: inline-block;\n border-radius: 50%;\n border: 0 solid var(--neutral-0);\n}\n.outcome-summary-bar .fail .check-container svg circle {\n fill: var(--negative-outcome);\n}\n.outcome-summary-bar .fail .check-container {\n bottom: -1px;\n margin-right: 8px;\n}\n.outcome-summary-bar .pass {\n background-color: var(--positive-outcome);\n}\n.outcome-summary-bar .pass .check-container {\n position: relative;\n width: 16px;\n height: 16px;\n display: inline-block;\n border-radius: 50%;\n border: 0 solid var(--neutral-0);\n}\n.outcome-summary-bar .pass .check-container svg circle {\n fill: var(--positive-outcome);\n}\n.outcome-summary-bar .pass .check-container {\n bottom: -1px;\n margin-right: 8px;\n margin-left: 4px;\n}\n.outcome-summary-bar .inapplicable,\n.outcome-summary-bar .unscannable {\n background-color: var(--neutral-outcome);\n}\n.outcome-summary-bar .inapplicable .check-container,\n.outcome-summary-bar .unscannable .check-container {\n position: relative;\n width: 16px;\n height: 16px;\n display: inline-block;\n border-radius: 50%;\n border: 0 solid var(--neutral-0);\n}\n.outcome-summary-bar .inapplicable .check-container,\n.outcome-summary-bar .unscannable .check-container {\n bottom: -1px;\n margin-right: 8px;\n margin-left: 4px;\n}\n.outcome-summary-bar .incomplete {\n background-color: var(--neutral-outcome);\n color: var(--white);\n border: 2px var(--neutral-60) solid;\n height: 12px;\n}\n.outcome-summary-bar .incomplete .check-container {\n position: relative;\n width: 8px;\n height: 8px;\n display: inline-block;\n border-radius: 50%;\n border: 3px solid var(--neutral-0);\n}\n.outcome-summary-bar .incomplete .check-container {\n margin-right: 6px;\n border-color: var(--white);\n}\n.outcome-summary-bar .summary-bar-left-edge {\n border-top-left-radius: 2px;\n border-bottom-left-radius: 2px;\n}\n.outcome-summary-bar .summary-bar-right-edge {\n border-top-right-radius: 2px;\n border-bottom-right-radius: 2px;\n margin-right: 0;\n}\n.outcome-summary-bar .label {\n font-weight: normal;\n}\n\n.screen-reader-only {\n position: absolute;\n left: -10000px;\n top: auto;\n height: 1px;\n overflow: hidden;\n clip-path: inset(100% 100% 100% 100%);\n}\n\n.check-container svg {\n width: 100%;\n height: 100%;\n}\n\n.outcome-chip {\n height: 16px;\n color: var(--primary-text);\n border-radius: 0 8px 8px 0;\n margin: 0 4px 0 4px;\n display: inline-flex;\n align-items: center;\n margin-bottom: -3px;\n}\n.outcome-chip .icon {\n border-radius: 50%;\n width: 16px;\n height: 16px;\n}\n.outcome-chip .count {\n font-family: 'Segoe UI Web (West European)','Segoe UI','-apple-system',BlinkMacSystemFont,Roboto,'Helvetica Neue',Helvetica,Ubuntu,Arial,sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol';\n line-height: 13px;\n font-size: 11px;\n border-radius: 0 8px 8px 0;\n padding: 0 6px 0 10px;\n font-weight: 700;\n margin-left: -8px;\n height: 13px;\n}\n@media screen and (forced-colors: active) {\n .outcome-chip .count {\n forced-color-adjust: none;\n border-color: canvastext !important;\n color: canvastext;\n }\n}\n.outcome-chip.outcome-chip-pass .check-container {\n position: relative;\n width: 16px;\n height: 16px;\n display: inline-block;\n border-radius: 50%;\n border: 0 solid var(--neutral-0);\n}\n.outcome-chip.outcome-chip-pass .check-container svg circle {\n fill: var(--positive-outcome);\n}\n.outcome-chip.outcome-chip-pass .check-container {\n background-color: var(--positive-outcome);\n}\n.outcome-chip.outcome-chip-pass .count {\n background-color: transparent;\n border: 1.5px solid var(--positive-outcome);\n}\n.outcome-chip.outcome-chip-incomplete .check-container, .outcome-chip.outcome-chip-review .check-container {\n position: relative;\n width: 14px;\n height: 14px;\n display: inline-block;\n border-radius: 50%;\n border: 1px solid var(--neutral-0);\n}\n.outcome-chip.outcome-chip-incomplete .check-container, .outcome-chip.outcome-chip-review .check-container {\n background-color: var(--neutral-60);\n}\n.outcome-chip.outcome-chip-incomplete .count, .outcome-chip.outcome-chip-review .count {\n background-color: transparent;\n border: 1.5px solid var(--neutral-60);\n}\n.outcome-chip.outcome-chip-fail .check-container {\n position: relative;\n width: 16px;\n height: 16px;\n display: inline-block;\n border-radius: 50%;\n border: 0 solid var(--neutral-0);\n}\n.outcome-chip.outcome-chip-fail .check-container svg circle {\n fill: var(--negative-outcome);\n}\n.outcome-chip.outcome-chip-fail .check-container {\n background-color: var(--negative-outcome);\n}\n.outcome-chip.outcome-chip-fail .count {\n background-color: transparent;\n border: 1.5px solid var(--negative-outcome);\n}\n.outcome-chip.outcome-chip-inapplicable .check-container, .outcome-chip.outcome-chip-unscannable .check-container {\n position: relative;\n width: 16px;\n height: 16px;\n display: inline-block;\n border-radius: 50%;\n border: 0 solid var(--neutral-0);\n}\n.outcome-chip.outcome-chip-inapplicable .check-container, .outcome-chip.outcome-chip-unscannable .check-container {\n background-color: var(--neutral-outcome);\n}\n.outcome-chip.outcome-chip-inapplicable .count, .outcome-chip.outcome-chip-unscannable .count {\n background-color: transparent;\n border: 1.5px solid var(--neutral-outcome);\n}\n\n.outcome-icon-set .outcome-icon {\n margin-left: 4px;\n border-radius: 50%;\n}\n.outcome-icon-set .outcome-icon-pass .check-container {\n position: relative;\n width: 14px;\n height: 14px;\n display: inline-block;\n border-radius: 50%;\n border: 0 solid var(--neutral-0);\n}\n.outcome-icon-set .outcome-icon-pass .check-container svg circle {\n fill: var(--positive-outcome);\n}\n.outcome-icon-set .outcome-icon-incomplete .check-container {\n position: relative;\n width: 12px;\n height: 12px;\n display: inline-block;\n border-radius: 50%;\n border: 1px solid var(--neutral-0);\n}\n.outcome-icon-set .outcome-icon-incomplete .check-container {\n border-color: var(--neutral-60);\n}\n.outcome-icon-set .outcome-icon-fail .check-container {\n position: relative;\n width: 14px;\n height: 14px;\n display: inline-block;\n border-radius: 50%;\n border: 0 solid var(--neutral-0);\n}\n.outcome-icon-set .outcome-icon-fail .check-container svg circle {\n fill: var(--negative-outcome);\n}\n\nbody {\n font-size: 14px;\n margin: auto;\n background-color: var(--neutral-2);\n color: black;\n font-family: 'Segoe UI Web (West European)','Segoe UI','-apple-system',BlinkMacSystemFont,Roboto,'Helvetica Neue',Helvetica,Ubuntu,Arial,sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol';\n}\n\n.outer-container {\n box-shadow: 0 1px 0 rgba(0, 0, 0, 0.08);\n}\n.outer-container .content-container {\n max-width: 960px;\n margin: 0 auto;\n margin-top: 24px;\n}\n.outer-container .content-container h2 {\n margin: 0;\n font-size: 17px;\n line-height: 24px;\n}\n@media only screen and (max-width: 1000px) {\n .outer-container .content-container {\n margin: 24px 16px 0 16px;\n }\n}\n\n.scan-details-section {\n box-shadow: 0 0.3px 0.9px rgba(0, 0, 0, 0.108), 0 1.6px 3.6px rgba(0, 0, 0, 0.132);\n border-radius: 4px;\n background-color: var(--neutral-0);\n padding: 20px;\n margin-bottom: 22px;\n}\n.scan-details-section .details-section-list {\n list-style: none;\n font-size: 14px;\n line-height: 16px;\n padding-left: 0;\n display: flex;\n align-items: flex-start;\n justify-content: center;\n flex-direction: column;\n}\n.scan-details-section h3 {\n margin: 0;\n font-size: 17px;\n line-height: 24px;\n}\n.scan-details-section ul :first-child li {\n padding-top: 16px;\n}\n.scan-details-section li {\n display: inline-block;\n padding-top: 12px;\n}\n.scan-details-section li .icon {\n padding-right: 12px;\n position: relative;\n top: 3px;\n}\n.scan-details-section .text {\n word-break: break-all;\n}\n.scan-details-section .description-text {\n white-space: pre-wrap;\n}\n.scan-details-section .screen-reader-only {\n position: absolute;\n left: -10000px;\n top: auto;\n height: 1px;\n overflow: hidden;\n clip-path: inset(100% 100% 100% 100%);\n}\n\n.report-footer-container {\n max-width: 960px;\n margin: 0 auto;\n margin-bottom: 68px;\n margin-top: 24px;\n}\n.report-footer-container .report-footer {\n line-height: 20px;\n color: var(--report-footer-text);\n}\n@media only screen and (max-width: 1000px) {\n .report-footer-container {\n margin: 0 16px 68px 16px;\n }\n}\n\n.report-header-command-bar {\n height: 40px;\n width: 100%;\n display: flex;\n justify-content: end;\n min-height: fit-content;\n align-items: center;\n background-color: var(--neutral-0);\n box-shadow: 0 1px 0 rgba(0, 0, 0, 0.08);\n}\n.report-header-command-bar .target-page {\n white-space: nowrap;\n margin: 0 0 0 16px;\n display: flex;\n color: var(--primary-text);\n font-family: 'Segoe UI Web (West European)','Segoe UI','-apple-system',BlinkMacSystemFont,Roboto,'Helvetica Neue',Helvetica,Ubuntu,Arial,sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol';\n font-size: 14px;\n line-height: 20px;\n font-weight: normal;\n min-width: 0;\n}\n.report-header-command-bar .target-page a {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.report-congrats-message {\n word-break: break-word;\n overflow-wrap: break-word;\n}\n\n.report-congrats-head {\n font-size: 16px;\n font-weight: 600;\n color: var(--primary-text);\n padding: 10px 0 10px 0;\n}\n\n.report-congrats-info {\n font-size: 14px;\n color: var(--secondary-text);\n padding: 10px 0 10px 0;\n}\n\n.sleeping-ada {\n height: 100px;\n}\n\n.title-section {\n margin-top: 56px;\n}\n.title-section h1 {\n font-weight: 600;\n margin: 0 0 24px 0;\n font-size: 21px;\n line-height: 32px;\n letter-spacing: -0.02em;\n}\n\n.results-container {\n margin-top: 56px;\n}\n.results-container .title-container :is(h1, h2, h3, h4, h5, h6) {\n font-weight: unset;\n margin-block: 0;\n margin-inline: 0;\n}\n\n@media screen and (max-width: 640px) {\n .outcome-past-tense {\n display: none;\n }\n}\n.summary-section {\n box-shadow: 0 0.3px 0.9px rgba(0, 0, 0, 0.108), 0 1.6px 3.6px rgba(0, 0, 0, 0.132);\n border-radius: 4px;\n background-color: var(--neutral-0);\n padding: 20px;\n margin-bottom: 24px;\n}\n\n.result-section {\n padding-bottom: 24px;\n}\n.result-section .title-container .collapsible-control::before {\n position: relative;\n bottom: 2px;\n margin-right: 14px;\n}\n.result-section .collapsible-content {\n margin-left: 16px;\n}\n\n.collapsible-container:not(.collapsible-rule-details-group) .collapsible-control {\n padding-left: 2px;\n padding-right: 16px;\n position: relative;\n}\n.collapsible-container .collapsible-control[aria-expanded=true]::before, .collapsible-container .collapsible-control[aria-expanded=false]::before {\n display: inline-block;\n border-right: 1px solid var(--secondary-text);\n border-bottom: 1px solid var(--secondary-text);\n min-width: 7px;\n width: 7px;\n height: 7px;\n content: \"\";\n transform-origin: 50% 50%;\n transition: transform 0.1s linear 0s;\n}\n.collapsible-container .collapsible-control {\n font-family: \"Segoe UI Web (West European)\", \"Segoe UI\", -apple-system, BlinkMacSystemFont, Roboto, \"Helvetica Neue\", Helvetica, Ubuntu, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n background-color: transparent;\n cursor: pointer;\n border: none;\n display: flex;\n align-items: baseline;\n width: 100%;\n}\n.collapsible-container .collapsible-control:hover {\n background-color: var(--neutral-alpha-4);\n}\n.collapsible-container .collapsible-control[aria-expanded=false]::before {\n -webkit-transform: rotate(-45deg);\n -ms-transform: rotate(-45deg);\n transform: rotate(-45deg);\n}\n.collapsible-container .collapsible-control[aria-expanded=true]::before {\n -webkit-transform: rotate(45deg);\n -ms-transform: rotate(45deg);\n transform: rotate(45deg);\n}\n.collapsible-container .collapsible-content[aria-hidden=true] {\n display: none;\n}\n\nul.instance-details-list {\n list-style-type: none;\n padding-inline-start: unset;\n margin-block-start: unset;\n margin-block-end: unset;\n}\nul.instance-details-list li {\n margin-bottom: 16px;\n}\nul.instance-details-list li:last-child {\n margin-bottom: unset;\n}`;
3292
+ var styleSheet = `:root {\n --black: #000;\n --light-black: #161616;\n --white: #fff;\n --brand-blue: #004880;\n --grey: #333;\n --ada-brand-color: var(--brand-blue);\n --primary-text: rgb(0 0 0 / 90%);\n --secondary-text: rgb(0 0 0 / 70%);\n --disabled-text: rgb(0 0 0 / 38%);\n --communication-primary: #106ebe;\n --communication-tint-40: #eff6fc;\n --communication-tint-30: #deecf9;\n --communication-tint-20: #c7e0f4;\n --communication-tint-10: #2b88d8;\n --communication-shade-20: #004578;\n --neutral-0: var(--white);\n --neutral-2: #f8f8f8;\n --neutral-3: #f6f6f6;\n --neutral-4: #f4f4f4;\n --neutral-6: #f2f2f2;\n --neutral-6-5: #f1f1f1;\n --neutral-8: #ebebeb;\n --neutral-10: #dedede;\n --neutral-20: #c8c8c8;\n --neutral-30: #a6a6a6;\n --neutral-55: #6e6e6e;\n --neutral-60: #666;\n --neutral-70: #3c3c3c;\n --neutral-80: var(--grey);\n --neutral-100: var(--black);\n --neutral-alpha-2: rgb(0 0 0 / 2%);\n --neutral-alpha-4: rgb(0 0 0 / 4%);\n --neutral-alpha-6: rgb(0 0 0 / 6%);\n --neutral-alpha-8: rgb(0 0 0 / 8%);\n --neutral-alpha-10: rgb(0 0 0 / 10%);\n --neutral-alpha-20: rgb(0 0 0 / 20%);\n --neutral-alpha-30: rgb(0 0 0 / 30%);\n --neutral-alpha-60: rgb(0 0 0 / 60%);\n --neutral-alpha-70: rgb(0 0 0 / 70%);\n --neutral-alpha-80: rgb(0 0 0 / 80%);\n --neutral-alpha-90: rgb(0 0 0 / 90%);\n --positive-outcome: #228722;\n --negative-outcome: #e81123;\n --neutral-outcome: var(--neutral-60);\n --box-shadow-108: rgb(0 0 0 / 10.8%);\n --box-shadow-132: rgb(0 0 0 / 13.2%);\n --box-shadow-27: rgb(0 0 0 / 27%);\n --screenshot-image-outline: #8b8b8b;\n --card-border: transparent;\n --card-footer-border: var(--neutral-10);\n --header-bar-title-color: var(--neutral-0);\n --help-links-section-background: var(--neutral-4);\n --help-links-section-border: var(--neutral-4);\n --index-circle-background: var(--communication-primary);\n --link-hover: var(--communication-shade-20);\n --link: var(--communication-primary);\n --menu-border: var(--neutral-3);\n --menu-item-background-active: var(--neutral-alpha-8);\n --menu-item-background-hover: var(--neutral-alpha-4);\n --left-nav-icon: var(--neutral-55);\n --pill-background: var(--neutral-alpha-8);\n --pill: var(--primary-text);\n --spinner-text: var(--communication-primary);\n --nav-link-hover: var(--neutral-alpha-8);\n --nav-link-selected: var(--communication-tint-20);\n --nav-link-expanded: var(--communication-tint-40);\n --insights-button-hover: #0179d4;\n --report-footer-text: #222;\n --landmark-contentinfo: #00a88c;\n --landmark-main: #cb2e6d;\n --landmark-complementary: #6b9d1a;\n --landmark-banner: #d08311;\n --landmark-region: #2560e0;\n --landmark-navigation: #9b38e6;\n --landmark-search: #d363d8;\n --landmark-form: #0298c7;\n}\n:root .high-contrast-theme {\n --ada-brand-color: var(--white);\n --secondary-text: var(--white);\n --primary-text: var(--white);\n --disabled-text: #c285ff;\n --communication-tint-40: #38a9ff;\n --communication-tint-30: var(--communication-tint-10);\n --neutral-0: var(--light-black);\n --neutral-2: var(--light-black);\n --neutral-3: var(--light-black);\n --neutral-4: var(--light-black);\n --neutral-6: var(--light-black);\n --neutral-6-5: var(--light-black);\n --neutral-8: var(--white);\n --neutral-10: var(--light-black);\n --neutral-20: var(--white);\n --neutral-30: var(--white);\n --neutral-55: var(--white);\n --neutral-60: var(--white);\n --neutral-70: var(--white);\n --neutral-80: var(--white);\n --neutral-100: var(--white);\n --neutral-alpha-8: var(--white);\n --neutral-alpha-90: var(--white);\n --positive-outcome: #4ac94a;\n --negative-outcome: #fc7ab1;\n --neutral-outcome: var(--neutral-0);\n --card-border: var(--white);\n --card-footer-border: var(--white);\n --header-bar-title-color: var(--brand-blue);\n --help-links-section-background: transparent;\n --help-links-section-border: var(--white);\n --index-circle-background: var(--communication-tint-40);\n --link-hover: #ff0;\n --link: #ff0;\n --menu-border: var(--grey);\n --menu-item-background-active: var(--communication-tint-40);\n --menu-item-background-hover: var(--grey);\n --left-nav-icon: var(--black);\n --pill-background: var(--white);\n --pill: var(--black);\n --screenshot-image-outline: var(--white);\n --spinner-text: var(--communication-tint-40);\n --nav-link-hover: #2a2a2a;\n --nav-link-selected: var(--communication-tint-40);\n --nav-link-expanded: transparent;\n}\n\n.ms-Fabric.is-focusVisible .ms-Nav-group .ms-nav-linkButton:focus::after {\n border: 1px solid var(--neutral-100);\n}\n@media screen and (forced-colors: active) {\n .ms-Fabric.is-focusVisible .ms-Nav-group .ms-nav-linkButton:focus::after {\n border: 1px dashed windowtext !important;\n }\n}\n\nbutton::after {\n content: \"\";\n position: absolute;\n}\n\n.ms-fontColor-neutralPrimary,\n.ms-fontColor-neutralPrimary--hover:hover {\n color: var(--neutral-100) !important;\n}\n\n.ms-Fabric {\n color: var(--neutral-100);\n}\n\n.insights-link {\n color: var(--link) !important;\n text-decoration: none;\n}\n@media screen and (forced-colors: active) {\n .insights-link {\n forced-color-adjust: unset;\n }\n}\n.insights-link:hover {\n color: var(--link-hover) !important;\n text-decoration: underline;\n}\n\n.high-contrast-theme .insights-link:hover {\n text-decoration: underline;\n}\n.high-contrast-theme .is-selected .status-icon {\n color: var(--black) !important;\n}\n\n.insights-code {\n font-family: menlo, consolas, courier new, monospace;\n}\n\n.ms-Spinner .ms-Spinner-circle {\n border-top-color: var(--spinner-text);\n}\n.ms-Spinner .ms-Spinner-label {\n color: var(--spinner-text);\n}\n\n.guidance-tags span {\n font-size: 12px;\n font-weight: normal;\n margin-left: 8px;\n padding-top: 2px;\n padding-right: 12px;\n padding-bottom: 2px;\n padding-left: 12px;\n color: var(--pill);\n background-color: var(--pill-background);\n border-radius: 120px;\n}\n\n.hidden-highlight-button {\n opacity: 0;\n margin: 0;\n padding: 0;\n border: none;\n}\n\n.instance-details-card {\n border-radius: 4px;\n border: 1px solid var(--card-border);\n outline-style: \"border-style\";\n box-shadow: 0 0.6px 1.8px var(--box-shadow-108), 0 3.2px 7.2px var(--box-shadow-132);\n margin-bottom: 16px;\n width: -moz-available;\n /* WebKit-based browsers will ignore this. */\n width: -webkit-fill-available;\n /* Mozilla-based browsers will ignore this. */\n width: fill-available;\n}\n\n.instance-details-card-container.selected {\n outline: 5px solid var(--communication-tint-10);\n}\n\n.instance-details-card.selected {\n border: 1px solid transparent;\n}\n\n.instance-details-card.focused,\n.instance-details-card:focus {\n outline: 2px solid var(--primary-text);\n outline-offset: 2px;\n}\n\n.instance-details-card.selected.focused,\n.instance-details-card.selected:focus {\n outline-offset: 8px;\n}\n\n.instance-details-card.interactive {\n cursor: pointer;\n}\n\n.instance-details-card.interactive:hover {\n box-shadow: 0 8px 10px var(--box-shadow-108), 0 8px 10px var(--box-shadow-132);\n}\n\n.report-instance-table {\n background: var(--neutral-0);\n display: table;\n table-layout: fixed;\n width: -moz-available;\n /* WebKit-based browsers will ignore this. */\n width: -webkit-fill-available;\n /* Mozilla-based browsers will ignore this. */\n width: fill-available;\n border-radius: inherit;\n border-collapse: collapse;\n overflow-wrap: break-word;\n word-break: break-word;\n}\n.report-instance-table .row {\n display: flex;\n flex-wrap: wrap;\n padding-top: 2px;\n padding-bottom: 14px;\n padding-left: 0;\n padding-right: 20px;\n border-bottom: 0.5px solid var(--neutral-10);\n}\n.report-instance-table .row > * {\n margin-top: 12px;\n margin-bottom: 0;\n margin-left: 20px;\n margin-right: 0;\n padding: 0;\n}\n.report-instance-table .row:last-child {\n border-bottom: none;\n}\n.report-instance-table .row-label {\n flex-basis: 90px;\n flex-shrink: 1;\n flex-grow: 0;\n font-size: 14px;\n line-height: 20px;\n font-weight: 600;\n color: var(--primary-text);\n text-align: left;\n}\n.report-instance-table .row-content {\n flex-basis: 200px;\n flex-shrink: 1;\n flex-grow: 1;\n color: var(--secondary-text);\n font-size: 14px;\n line-height: 20px;\n align-items: flex-end;\n display: flex;\n}\n\n.outcome-summary-bar {\n display: flex;\n flex-grow: 0;\n flex-shrink: 0;\n flex-direction: row;\n flex-wrap: wrap;\n align-items: center;\n margin-top: 16px;\n margin-bottom: 0;\n line-height: 24px;\n font-size: 17px;\n font-weight: 600;\n white-space: pre-wrap;\n}\n.outcome-summary-bar .block,\n.outcome-summary-bar .incomplete,\n.outcome-summary-bar .inapplicable,\n.outcome-summary-bar .unscannable,\n.outcome-summary-bar .pass,\n.outcome-summary-bar .fail {\n font-family: 'Segoe UI Web (West European)','Segoe UI','-apple-system',BlinkMacSystemFont,Roboto,'Helvetica Neue',Helvetica,Ubuntu,Arial,sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol';\n line-height: 20px;\n font-size: 16px;\n color: var(--neutral-0);\n padding-top: 8px;\n padding-right: 8px;\n padding-bottom: 10px;\n padding-left: 10px;\n height: 16px;\n display: flex;\n align-items: center;\n margin-right: 4px;\n}\n.outcome-summary-bar .count {\n font-weight: 600;\n}\n.outcome-summary-bar .fail {\n background-color: var(--negative-outcome);\n}\n.outcome-summary-bar .fail .check-container {\n position: relative;\n width: 16px;\n height: 16px;\n display: inline-block;\n border-radius: 50%;\n border: 0 solid var(--neutral-0);\n}\n.outcome-summary-bar .fail .check-container svg circle {\n fill: var(--negative-outcome);\n}\n.outcome-summary-bar .fail .check-container {\n bottom: -1px;\n margin-right: 8px;\n}\n.outcome-summary-bar .pass {\n background-color: var(--positive-outcome);\n}\n.outcome-summary-bar .pass .check-container {\n position: relative;\n width: 16px;\n height: 16px;\n display: inline-block;\n border-radius: 50%;\n border: 0 solid var(--neutral-0);\n}\n.outcome-summary-bar .pass .check-container svg circle {\n fill: var(--positive-outcome);\n}\n.outcome-summary-bar .pass .check-container {\n bottom: -1px;\n margin-right: 8px;\n margin-left: 4px;\n}\n.outcome-summary-bar .inapplicable,\n.outcome-summary-bar .unscannable {\n background-color: var(--neutral-outcome);\n}\n.outcome-summary-bar .inapplicable .check-container,\n.outcome-summary-bar .unscannable .check-container {\n position: relative;\n width: 16px;\n height: 16px;\n display: inline-block;\n border-radius: 50%;\n border: 0 solid var(--neutral-0);\n}\n.outcome-summary-bar .inapplicable .check-container,\n.outcome-summary-bar .unscannable .check-container {\n bottom: -1px;\n margin-right: 8px;\n margin-left: 4px;\n}\n.outcome-summary-bar .incomplete {\n background-color: var(--neutral-outcome);\n color: var(--white);\n border: 2px var(--neutral-60) solid;\n height: 12px;\n}\n.outcome-summary-bar .incomplete .check-container {\n position: relative;\n width: 8px;\n height: 8px;\n display: inline-block;\n border-radius: 50%;\n border: 3px solid var(--neutral-0);\n}\n.outcome-summary-bar .incomplete .check-container {\n margin-right: 6px;\n border-color: var(--white);\n}\n.outcome-summary-bar .summary-bar-left-edge {\n border-top-left-radius: 2px;\n border-bottom-left-radius: 2px;\n}\n.outcome-summary-bar .summary-bar-right-edge {\n border-top-right-radius: 2px;\n border-bottom-right-radius: 2px;\n margin-right: 0;\n}\n.outcome-summary-bar .label {\n font-weight: normal;\n}\n\n.screen-reader-only {\n position: absolute;\n left: -10000px;\n top: auto;\n height: 1px;\n overflow: hidden;\n clip-path: inset(100% 100% 100% 100%);\n}\n\n.check-container svg {\n width: 100%;\n height: 100%;\n}\n\n.outcome-chip {\n height: 16px;\n color: var(--primary-text);\n border-radius: 0 8px 8px 0;\n margin-right: 4px;\n margin-bottom: -3px;\n margin-left: 4px;\n display: inline-flex;\n align-items: center;\n}\n.outcome-chip .icon {\n border-radius: 50%;\n width: 16px;\n height: 16px;\n}\n.outcome-chip .count {\n font-family: 'Segoe UI Web (West European)','Segoe UI','-apple-system',BlinkMacSystemFont,Roboto,'Helvetica Neue',Helvetica,Ubuntu,Arial,sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol';\n line-height: 13px;\n font-size: 11px;\n border-radius: 0 8px 8px 0;\n padding-right: 6px;\n padding-left: 10px;\n font-weight: 700;\n margin-left: -8px;\n height: 13px;\n}\n@media screen and (forced-colors: active) {\n .outcome-chip .count {\n forced-color-adjust: none;\n border-color: canvastext !important;\n color: canvastext;\n }\n}\n.outcome-chip.outcome-chip-pass .check-container {\n position: relative;\n width: 16px;\n height: 16px;\n display: inline-block;\n border-radius: 50%;\n border: 0 solid var(--neutral-0);\n}\n.outcome-chip.outcome-chip-pass .check-container svg circle {\n fill: var(--positive-outcome);\n}\n.outcome-chip.outcome-chip-pass .check-container {\n background-color: var(--positive-outcome);\n}\n.outcome-chip.outcome-chip-pass .count {\n background-color: transparent;\n border: 1.5px solid var(--positive-outcome);\n}\n.outcome-chip.outcome-chip-incomplete .check-container, .outcome-chip.outcome-chip-review .check-container {\n position: relative;\n width: 14px;\n height: 14px;\n display: inline-block;\n border-radius: 50%;\n border: 1px solid var(--neutral-0);\n}\n.outcome-chip.outcome-chip-incomplete .check-container, .outcome-chip.outcome-chip-review .check-container {\n background-color: var(--neutral-60);\n}\n.outcome-chip.outcome-chip-incomplete .count, .outcome-chip.outcome-chip-review .count {\n background-color: transparent;\n border: 1.5px solid var(--neutral-60);\n}\n.outcome-chip.outcome-chip-fail .check-container {\n position: relative;\n width: 16px;\n height: 16px;\n display: inline-block;\n border-radius: 50%;\n border: 0 solid var(--neutral-0);\n}\n.outcome-chip.outcome-chip-fail .check-container svg circle {\n fill: var(--negative-outcome);\n}\n.outcome-chip.outcome-chip-fail .check-container {\n background-color: var(--negative-outcome);\n}\n.outcome-chip.outcome-chip-fail .count {\n background-color: transparent;\n border: 1.5px solid var(--negative-outcome);\n}\n.outcome-chip.outcome-chip-inapplicable .check-container, .outcome-chip.outcome-chip-unscannable .check-container {\n position: relative;\n width: 16px;\n height: 16px;\n display: inline-block;\n border-radius: 50%;\n border: 0 solid var(--neutral-0);\n}\n.outcome-chip.outcome-chip-inapplicable .check-container, .outcome-chip.outcome-chip-unscannable .check-container {\n background-color: var(--neutral-outcome);\n}\n.outcome-chip.outcome-chip-inapplicable .count, .outcome-chip.outcome-chip-unscannable .count {\n background-color: transparent;\n border: 1.5px solid var(--neutral-outcome);\n}\n\n.outcome-icon-set .outcome-icon {\n margin-left: 4px;\n border-radius: 50%;\n}\n.outcome-icon-set .outcome-icon-pass .check-container {\n position: relative;\n width: 14px;\n height: 14px;\n display: inline-block;\n border-radius: 50%;\n border: 0 solid var(--neutral-0);\n}\n.outcome-icon-set .outcome-icon-pass .check-container svg circle {\n fill: var(--positive-outcome);\n}\n.outcome-icon-set .outcome-icon-incomplete .check-container {\n position: relative;\n width: 12px;\n height: 12px;\n display: inline-block;\n border-radius: 50%;\n border: 1px solid var(--neutral-0);\n}\n.outcome-icon-set .outcome-icon-incomplete .check-container {\n border-color: var(--neutral-60);\n}\n.outcome-icon-set .outcome-icon-fail .check-container {\n position: relative;\n width: 14px;\n height: 14px;\n display: inline-block;\n border-radius: 50%;\n border: 0 solid var(--neutral-0);\n}\n.outcome-icon-set .outcome-icon-fail .check-container svg circle {\n fill: var(--negative-outcome);\n}\n\nbody {\n font-size: 14px;\n margin: auto;\n background-color: var(--neutral-2);\n color: black;\n font-family: 'Segoe UI Web (West European)','Segoe UI','-apple-system',BlinkMacSystemFont,Roboto,'Helvetica Neue',Helvetica,Ubuntu,Arial,sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol';\n}\n\n.outer-container {\n box-shadow: 0 1px 0 rgba(0, 0, 0, 0.08);\n}\n.outer-container .content-container {\n max-width: 960px;\n margin-right: auto;\n margin-left: auto;\n margin-top: 24px;\n}\n.outer-container .content-container h2 {\n margin: 0;\n font-size: 17px;\n line-height: 24px;\n}\n@media only screen and (max-width: 1000px) {\n .outer-container .content-container {\n margin-top: 24px;\n margin-right: 16px;\n margin-left: 16px;\n }\n}\n\n.scan-details-section {\n box-shadow: 0 0.3px 0.9px rgba(0, 0, 0, 0.108), 0 1.6px 3.6px rgba(0, 0, 0, 0.132);\n border-radius: 4px;\n background-color: var(--neutral-0);\n padding: 20px;\n margin-bottom: 22px;\n}\n.scan-details-section .details-section-list {\n list-style: none;\n font-size: 14px;\n line-height: 16px;\n padding-left: 0;\n display: flex;\n align-items: flex-start;\n justify-content: center;\n flex-direction: column;\n}\n.scan-details-section h3 {\n margin: 0;\n font-size: 17px;\n line-height: 24px;\n}\n.scan-details-section li {\n display: inline-block;\n padding-top: 12px;\n}\n.scan-details-section li .icon {\n padding-right: 12px;\n position: relative;\n top: 3px;\n}\n.scan-details-section .text {\n word-break: break-all;\n}\n.scan-details-section .description-text {\n white-space: pre-wrap;\n}\n.scan-details-section .screen-reader-only {\n position: absolute;\n left: -10000px;\n top: auto;\n height: 1px;\n overflow: hidden;\n clip-path: inset(100% 100% 100% 100%);\n}\n\n.report-footer-container {\n max-width: 960px;\n margin-right: auto;\n margin-left: auto;\n margin-bottom: 68px;\n margin-top: 24px;\n}\n.report-footer-container .report-footer {\n line-height: 20px;\n color: var(--report-footer-text);\n}\n@media only screen and (max-width: 1000px) {\n .report-footer-container {\n margin-right: 16px;\n margin-left: 16px;\n }\n}\n\n.report-header-command-bar {\n height: 40px;\n width: 100%;\n display: flex;\n justify-content: end;\n min-height: fit-content;\n align-items: center;\n background-color: var(--neutral-0);\n box-shadow: 0 1px 0 rgba(0, 0, 0, 0.08);\n}\n.report-header-command-bar .target-page {\n white-space: nowrap;\n margin-left: 16px;\n display: flex;\n color: var(--primary-text);\n font-family: 'Segoe UI Web (West European)','Segoe UI','-apple-system',BlinkMacSystemFont,Roboto,'Helvetica Neue',Helvetica,Ubuntu,Arial,sans-serif,'Apple Color Emoji','Segoe UI Emoji','Segoe UI Symbol';\n font-size: 14px;\n line-height: 20px;\n font-weight: normal;\n min-width: 0;\n}\n.report-header-command-bar .target-page a {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.report-congrats-message {\n word-break: break-word;\n overflow-wrap: break-word;\n}\n\n.report-congrats-head {\n font-size: 16px;\n font-weight: 600;\n color: var(--primary-text);\n padding-top: 10px;\n padding-right: 0;\n padding-bottom: 10px;\n padding-left: 0;\n}\n\n.report-congrats-info {\n font-size: 14px;\n color: var(--secondary-text);\n padding-top: 10px;\n padding-right: 0;\n padding-bottom: 10px;\n padding-left: 0;\n}\n\n.sleeping-ada {\n height: 100px;\n}\n\n.title-section {\n margin-top: 56px;\n}\n.title-section h1 {\n font-weight: 600;\n margin-bottom: 24px;\n font-size: 21px;\n line-height: 32px;\n letter-spacing: -0.02em;\n}\n\n.results-container {\n margin-top: 56px;\n}\n.results-container .title-container :is(h1, h2, h3, h4, h5, h6) {\n font-weight: unset;\n margin-block: 0;\n margin-inline: 0;\n}\n\n@media screen and (max-width: 640px) {\n .outcome-past-tense {\n display: none;\n }\n}\n.collapsible-container .collapsible-control[aria-expanded=true]::before, .collapsible-container .collapsible-control[aria-expanded=false]::before {\n display: inline-block;\n border-right: 1px solid var(--secondary-text);\n border-bottom: 1px solid var(--secondary-text);\n min-width: 7px;\n width: 7px;\n height: 7px;\n content: \"\";\n transform-origin: 50% 50%;\n transition: transform 0.1s linear 0s;\n}\n\n.summary-section {\n box-shadow: 0 0.3px 0.9px rgba(0, 0, 0, 0.108), 0 1.6px 3.6px rgba(0, 0, 0, 0.132);\n border-radius: 4px;\n background-color: var(--neutral-0);\n padding: 20px;\n margin-bottom: 24px;\n}\n\n.result-section {\n padding-bottom: 24px;\n}\n.result-section .title-container .collapsible-control::before {\n position: relative;\n bottom: 2px;\n margin-right: 14px;\n}\n.result-section .collapsible-content {\n margin-left: 16px;\n}\n\n.collapsible-container .collapsible-control {\n font-family: \"Segoe UI Web (West European)\", \"Segoe UI\", -apple-system, BlinkMacSystemFont, Roboto, \"Helvetica Neue\", Helvetica, Ubuntu, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n background-color: transparent;\n cursor: pointer;\n border: none;\n display: flex;\n align-items: baseline;\n width: 100%;\n}\n.collapsible-container .collapsible-control:hover {\n background-color: var(--neutral-alpha-4);\n}\n.collapsible-container:not(.collapsible-rule-details-group) .collapsible-control {\n padding-left: 2px;\n padding-right: 16px;\n position: relative;\n}\n.collapsible-container .collapsible-control[aria-expanded=false]::before {\n -webkit-transform: rotate(-45deg);\n -ms-transform: rotate(-45deg);\n transform: rotate(-45deg);\n}\n.collapsible-container .collapsible-control[aria-expanded=true]::before {\n -webkit-transform: rotate(45deg);\n -ms-transform: rotate(45deg);\n transform: rotate(45deg);\n}\n.collapsible-container .collapsible-content[aria-hidden=true] {\n display: none;\n}\n\nul.instance-details-list {\n list-style-type: none;\n padding-inline-start: unset;\n margin-block-start: unset;\n margin-block-end: unset;\n}\nul.instance-details-list li {\n margin-bottom: 16px;\n}\nul.instance-details-list li:last-child {\n margin-bottom: unset;\n}`;
3053
3293
 
3054
3294
  // src/reports/components/head.tsx
3055
3295
  var Head = NamedFC("Head", (props) => {
@@ -3067,7 +3307,7 @@ var bundled_reporter_styles_exports = {};
3067
3307
  __export(bundled_reporter_styles_exports, {
3068
3308
  styleSheet: () => styleSheet2
3069
3309
  });
3070
- var styleSheet2 = `/* css-modules:src/common/components/heading-element-for-level */\n.heading-element-for-level--ifVX6 {\n margin-block-start: unset;\n margin-block-end: unset;\n}\n\n/* css-modules:src/common/components/cards/failed-instances-section */\n.failed-instances-container--3UUNb .collapsible-content {\n margin-left: 24px;\n}\n\n/* css-modules:src/reports/components/report-sections/minimal-rule-header */\n.outcome-chip-container--G5Dfr {\n min-width: 50px;\n}\n\n/* css-modules:src/reports/components/instance-details */\n.hidden-highlight-button--vu3B3 {\n opacity: 0;\n margin: 0;\n padding: 0;\n border: none;\n}\n.instance-details-card--owGQF {\n border-radius: 4px;\n border: 1px solid var(--card-border);\n outline-style: \"border-style\";\n box-shadow: 0 0.6px 1.8px var(--box-shadow-108), 0 3.2px 7.2px var(--box-shadow-132);\n margin-bottom: 16px;\n width: -moz-available;\n width: -webkit-fill-available;\n width: fill-available;\n}\n.instance-details-card-container--KLHTp.selected--wEA4l {\n outline: 5px solid var(--communication-tint-10);\n}\n.instance-details-card--owGQF.selected--wEA4l {\n border: 1px solid transparent;\n}\n.instance-details-card--owGQF.focused--pvBWq,\n.instance-details-card--owGQF:focus {\n outline: 2px solid var(--primary-text);\n outline-offset: 2px;\n}\n.instance-details-card--owGQF.selected--wEA4l.focused--pvBWq,\n.instance-details-card--owGQF.selected--wEA4l:focus {\n outline-offset: 8px;\n}\n.instance-details-card--owGQF.interactive--an0ab {\n cursor: pointer;\n}\n.instance-details-card--owGQF.interactive--an0ab:hover {\n box-shadow: 0 8px 10px var(--box-shadow-108), 0 8px 10px var(--box-shadow-132);\n}\n.report-instance-table--3VoZX {\n background: var(--neutral-0);\n display: table;\n table-layout: fixed;\n width: -moz-available;\n width: -webkit-fill-available;\n width: fill-available;\n border-radius: inherit;\n border-collapse: collapse;\n overflow-wrap: break-word;\n word-break: break-word;\n}\n.report-instance-table--3VoZX .row---3i35 {\n display: flex;\n flex-wrap: wrap;\n padding-top: 2px;\n padding-bottom: 14px;\n padding-left: 0;\n padding-right: 20px;\n border-bottom: 0.5px solid var(--neutral-10);\n}\n.report-instance-table--3VoZX .row---3i35 > * {\n margin-top: 12px;\n margin-bottom: 0;\n margin-left: 20px;\n margin-right: 0;\n padding: 0;\n}\n.report-instance-table--3VoZX .row---3i35:last-child {\n border-bottom: none;\n}\n.report-instance-table--3VoZX .row-label--FlVZl {\n flex-basis: 90px;\n flex-shrink: 1;\n flex-grow: 0;\n font-size: 14px;\n line-height: 20px;\n font-weight: 600;\n color: var(--primary-text);\n text-align: left;\n}\n.report-instance-table--3VoZX .row-content--07KUh {\n flex-basis: 200px;\n flex-shrink: 1;\n flex-grow: 1;\n color: var(--secondary-text);\n font-size: 14px;\n line-height: 20px;\n align-items: flex-end;\n display: flex;\n}\n\n/* css-modules:src/common/components/cards/rich-resolution-content */\n.multi-line-text-no-bullet--AUXXt {\n padding-left: 0;\n list-style: none;\n}\n.multi-line-text-no-bullet--AUXXt li:not(:last-child) {\n margin-bottom: 4px;\n}\n.multi-line-text-yes-bullet--TXyX- {\n padding-left: 16px;\n}\n.multi-line-text-yes-bullet--TXyX- li {\n list-style-type: disc;\n margin-bottom: 4px;\n}\n.combination-lists--boK5y {\n flex-direction: column;\n display: flex;\n}\n\n/* css-modules:src/common/components/cards/urls-card-row */\n.urls-row-content--JDdRx {\n padding-left: 16px;\n}\n.urls-row-content--JDdRx li {\n list-style-type: disc;\n margin-bottom: 4px;\n}\n.urls-row-content-new-Failure--oL5lS {\n color: var(--negative-outcome);\n font-weight: bold;\n}\n\n/* css-modules:src/common/components/fix-instruction-panel */\n.insights-fix-instruction-list--eZigw li span.fix-instruction-color-box--sBkHG {\n width: 14px;\n height: 14px;\n display: inline-block;\n vertical-align: -5%;\n margin: 0 2px;\n border: 1px solid var(--light-black);\n}\n.insights-fix-instruction-list--eZigw .screen-reader-only--irrXo {\n position: absolute;\n left: -10000px;\n top: auto;\n height: 1px;\n overflow: hidden;\n clip-path: inset(100% 100% 100% 100%);\n}\n\n/* css-modules:src/common/components/cards/how-to-fix-card-row */\n.how-to-fix-content--Zz96u {\n margin-bottom: 16px;\n}\n.how-to-fix-content--Zz96u ul {\n padding-left: 16px;\n}\n.how-to-fix-content--Zz96u ul li {\n list-style-type: disc;\n margin-bottom: 4px;\n}\n\n/* css-modules:src/common/components/cards/snippet-card-row */\n.snippet--hSNfv {\n font-family:\n menlo,\n consolas,\n courier new,\n monospace;\n white-space: normal;\n}\n\n/* css-modules:src/DetailsView/components/common-dialog-styles */\ndiv.insights-dialog-main-override--ma4DA {\n width: 75%;\n max-width: 500px;\n user-select: text;\n}\n@media screen and (max-width: 500px) {\n div.insights-dialog-main-override--ma4DA {\n min-width: 240px;\n width: 75%;\n }\n}\ndiv.insights-dialog-main-override--ma4DA .dialog-body--cmWmz {\n font-size: 16px;\n}\n\n/* css-modules:src/DetailsView/components/issue-filing-dialog */\n.issue-filing-dialog--F9jun .ms-Dialog-title {\n font-size: 21px;\n line-height: 32px;\n letter-spacing: -0.02em;\n font-weight: 600;\n padding-bottom: 0;\n}\n.issue-filing-dialog--F9jun .ms-Dialog-subText {\n font-weight: 400;\n font-size: 15px;\n color: var(--secondary-text);\n}\n.issue-filing-dialog--F9jun .textfield-description {\n color: var(--secondary-text);\n font-style: italic;\n}\n\n/* css-modules:src/DetailsView/components/action-and-cancel-buttons-component */\n.action-and-cancel-buttons-component--DF7bf {\n display: flex;\n justify-content: flex-end;\n}\n.action-and-cancel-buttons-component--DF7bf .action-cancel-button-col--RMfN- + .action-cancel-button-col--RMfN- {\n margin-left: 8px;\n}\n\n/* css-modules:src/common/components/toast */\n.toast-container--L-5HM {\n display: inline-block;\n}\n.toast-content--8-Mx1 {\n background: var(--neutral-70);\n border-radius: 4px;\n color: var(--neutral-0);\n padding-left: 20px;\n padding-top: 14px;\n padding-bottom: 14px;\n padding-right: 20px;\n width: 316px;\n margin-left: calc(316px / -2 - 20px);\n left: 50%;\n bottom: 20px;\n z-index: 1000;\n position: absolute;\n}\n\n/* css-modules:src/common/components/cards/card-kebab-menu-button */\n.kebab-menu-button--e-7v- {\n margin-right: 8px;\n width: 32px;\n height: 32px;\n}\n.kebab-menu-button--e-7v-:hover {\n background-color: var(--menu-item-background-hover);\n}\n.kebab-menu-button--e-7v-.is-expanded {\n background-color: var(--menu-item-background-active);\n}\n@media screen and (forced-colors: active) {\n .kebab-menu-button--e-7v-.is-expanded .kebab-menu-icon--RzpyN,\n .kebab-menu-button--e-7v-:hover .kebab-menu-icon--RzpyN {\n color: highlight;\n }\n}\n.kebab-menu-icon--RzpyN {\n flex-grow: 1;\n}\n@media screen and (forced-colors: active) {\n .kebab-menu-icon--RzpyN {\n color: buttontext;\n }\n}\n@media screen and (forced-colors: active) {\n .kebab-menu--eKCNX button:hover {\n color: highlight;\n }\n}\n\n/* css-modules:src/common/components/cards/instance-details-footer */\n.foot--p1DfC {\n display: flex;\n justify-content: space-between;\n align-items: center;\n background-color: var(--neutral-2);\n min-height: 48px;\n padding-left: 12px;\n border-top: 0.5px solid var(--card-footer-border);\n border-bottom-left-radius: inherit;\n border-bottom-right-radius: inherit;\n}\n.foot--p1DfC .highlight-status--xJvvI {\n display: flex;\n justify-content: space-between;\n align-items: center;\n background: transparent;\n}\n.foot--p1DfC .highlight-status--xJvvI svg {\n fill: var(--secondary-text);\n}\n@media screen and (forced-colors: active) {\n .foot--p1DfC .highlight-status--xJvvI svg {\n fill: ButtonFace !important;\n stroke: ButtonText !important;\n }\n}\n.foot--p1DfC .highlight-status--xJvvI label {\n color: var(--secondary-text);\n font-size: 14px;\n overflow-wrap: break-word;\n word-break: break-word;\n}\n\n/* css-modules:src/common/components/cards/instance-details-group */\nul.instance-details-list--YfkRy {\n list-style-type: none;\n padding-inline-start: unset;\n margin-block-start: unset;\n margin-block-end: unset;\n}\nul.instance-details-list--YfkRy > li {\n margin-bottom: 16px;\n}\nul.instance-details-list--YfkRy > li:last-child {\n margin-bottom: unset;\n}\n\n/* css-modules:src/common/components/cards/rule-resources */\n.rule-more-resources--uw9mc {\n display: flex;\n flex-direction: column;\n margin-bottom: 16px;\n padding: 14px 20px;\n background-color: var(--neutral-0);\n box-shadow: 0 0.3px 0.9px rgba(0, 0, 0, 0.108), 0 1.6px 3.6px rgba(0, 0, 0, 0.132);\n border-radius: 4px;\n border: 1px solid var(--card-border);\n line-height: 20px;\n overflow-wrap: break-word;\n word-break: break-word;\n}\n.rule-more-resources--uw9mc .more-resources-title--jOuUL {\n font-weight: 600;\n}\n.rule-more-resources--uw9mc .rule-details-id--s-TpO {\n padding: 12px 0;\n}\n\n/* css-modules:src/common/components/cards/rules-with-instances */\n.rule-details-group--Tb-LW .rule-detail {\n font-size: 14px;\n padding: 16px 8px;\n display: flex;\n align-items: baseline;\n text-align: left;\n}\n.rule-details-group--Tb-LW .rule-detail .outcome-chip {\n vertical-align: middle;\n margin-bottom: 2px;\n}\n.rule-details-group--Tb-LW .rule-detail .rule-details-id {\n font-weight: 600;\n color: var(--primary-text);\n word-break: break-all;\n}\n.rule-details-group--Tb-LW .rule-detail .rule-details-id a {\n font-weight: 600;\n color: var(--primary-text) !important;\n}\n.rule-details-group--Tb-LW .rule-detail .rule-details-id strong {\n font-weight: 600;\n}\n.rule-details-group--Tb-LW .rule-detail .rule-detail-description {\n color: var(--secondary-text) !important;\n word-break: break-all;\n}\n.collapsible-rule-details-group--V-HWh {\n box-shadow: 0 1px 0 rgba(0, 0, 0, 0.08);\n}\n.collapsible-rule-details-group--V-HWh .rule-detail {\n box-shadow: unset;\n}\n.collapsible-rule-details-group--V-HWh:not(.collapsed) {\n box-shadow: unset;\n}\n\n/* css-modules:src/common/components/cards/result-section-title */\n.result-section-title--RGFI5 {\n display: flex;\n flex-wrap: nowrap;\n justify-content: flex-start;\n align-items: center;\n margin-top: 8px;\n margin-bottom: 8px;\n}\n.result-section-title--RGFI5 .outcome-chip.outcome-chip-fail .count {\n line-height: 11px;\n}\n.result-section-title--RGFI5 .outcome-chip.outcome-chip-fail svg {\n margin-bottom: 3px;\n}\n.result-section-title--RGFI5 .title--WBYFE {\n font-weight: 600;\n font-size: 17px;\n line-height: 24px;\n margin-right: 6px;\n color: var(--primary-text);\n}\n.result-section-title--RGFI5 .heading--NdP4Q {\n font-weight: 600;\n font-size: 15px;\n line-height: 20px;\n margin-right: 6px;\n color: var(--primary-text);\n}\n.result-section-title--RGFI5 .outcome-chip-container--BT3j5 {\n display: flex;\n height: 16px;\n}\n\n/* css-modules:src/common/components/cards/result-section */\n.result-section--HfO9s {\n padding-bottom: 24px;\n}\n.result-section--HfO9s .title-container--JzN4A .collapsible-control--e42Z7::before {\n position: relative;\n bottom: 2px;\n}\n.result-section--HfO9s > h2 {\n margin: 0;\n font-size: 17px;\n line-height: 24px;\n}\n\n/* css-modules:src/reports/components/header-bar */\n.report-header-bar--SDV11 {\n display: flex;\n justify-content: flex-start;\n align-items: center;\n flex-wrap: nowrap;\n background-color: var(--ada-brand-color);\n height: 40px;\n width: 100%;\n}\n.report-header-bar--SDV11 .header-icon {\n flex-shrink: 0;\n margin-left: 16px;\n height: 22px;\n width: 22px;\n}\n.report-header-bar--SDV11 .header-text--EdTxw {\n margin-left: 8px;\n color: var(--header-bar-title-color);\n flex-shrink: 1;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n font-family:\n \"Segoe UI Web (West European)\",\n \"Segoe UI\",\n \"-apple-system\",\n BlinkMacSystemFont,\n Roboto,\n \"Helvetica Neue\",\n Helvetica,\n Ubuntu,\n Arial,\n sans-serif,\n \"Apple Color Emoji\",\n \"Segoe UI Emoji\",\n \"Segoe UI Symbol\";\n font-weight: normal;\n font-size: 17px;\n line-height: 24px;\n}\n\n/* css-modules:src/reports/components/report-sections/header-section */\n.report-header-command-bar--NJWdl {\n height: 40px;\n width: 100%;\n display: flex;\n justify-content: end;\n min-height: fit-content;\n align-items: center;\n background-color: var(--neutral-0);\n box-shadow: 0 1px 0 rgba(0, 0, 0, 0.08);\n}\n.report-header-command-bar--NJWdl .target-page--hjh44 {\n white-space: nowrap;\n margin: 0 0 0 16px;\n display: flex;\n color: var(--primary-text);\n font-family:\n \"Segoe UI Web (West European)\",\n \"Segoe UI\",\n \"-apple-system\",\n BlinkMacSystemFont,\n Roboto,\n \"Helvetica Neue\",\n Helvetica,\n Ubuntu,\n Arial,\n sans-serif,\n \"Apple Color Emoji\",\n \"Segoe UI Emoji\",\n \"Segoe UI Symbol\";\n font-size: 14px;\n line-height: 20px;\n font-weight: normal;\n min-width: 0;\n}\n.report-header-command-bar--NJWdl .target-page--hjh44 a {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n/* css-modules:src/common/components/cards/combined-report-result-section-title */\n.combined-report-result-section-title--TqIZO {\n display: flex;\n flex-wrap: nowrap;\n justify-content: flex-start;\n align-items: center;\n margin-top: 8px;\n margin-bottom: 8px;\n}\n.combined-report-result-section-title--TqIZO .title--6WIyt {\n font-weight: 600;\n font-size: 17px;\n line-height: 24px;\n margin-right: 6px;\n color: var(--primary-text);\n}\n.combined-report-result-section-title--TqIZO .heading--UpAHf {\n font-weight: 600;\n font-size: 15px;\n line-height: 20px;\n margin-right: 6px;\n color: var(--primary-text);\n}\n\n/* css-modules:src/reports/components/report-sections/urls-summary-section */\n.urls-summary-section--jNa-v {\n box-shadow: 0 0.3px 0.9px rgba(0, 0, 0, 0.108), 0 1.6px 3.6px rgba(0, 0, 0, 0.132);\n border-radius: 4px;\n background-color: var(--neutral-0);\n padding: 20px;\n margin-bottom: 24px;\n}\n.urls-summary-section--jNa-v h2 {\n margin-bottom: 16px !important;\n}\n.urls-summary-section--jNa-v .total-urls--95-ge {\n font-weight: 600;\n}\n.urls-summary-section--jNa-v .failure-instances--2WDtT {\n margin-top: 40px;\n}\n.urls-summary-section--jNa-v .failure-outcome-chip--JF-lj {\n display: flex;\n justify-content: flex-start;\n align-items: center;\n}\n\n/* css-modules:src/reports/components/report-sections/rules-results-container */\n.rules-results-container--HaLDw {\n margin-top: 56px;\n}\n.rules-results-container--HaLDw .results-heading--H9Puz {\n margin-top: 32px;\n margin-bottom: 32px;\n font-weight: 600;\n font-size: 17px;\n line-height: 24px;\n}\n\n/* css-modules:src/reports/components/report-sections/summary-report-details-section */\n.crawl-details-section--a6evz {\n box-shadow: 0 0.3px 0.9px rgba(0, 0, 0, 0.108), 0 1.6px 3.6px rgba(0, 0, 0, 0.132);\n border-radius: 4px;\n background-color: var(--neutral-0);\n padding: 20px;\n margin-bottom: 22px;\n}\n.crawl-details-section--a6evz .crawl-details-section-list--WV1Di {\n list-style: none;\n font-size: 14px;\n line-height: 16px;\n padding-left: 0;\n display: flex;\n align-items: flex-start;\n justify-content: center;\n flex-direction: column;\n}\n.crawl-details-section--a6evz .crawl-details-section-list--WV1Di li {\n display: inline-block;\n}\n.crawl-details-section--a6evz .crawl-details-section-list--WV1Di li .icon--APJEn {\n padding-right: 12px;\n position: relative;\n top: 3px;\n}\n.crawl-details-section--a6evz .crawl-details-section-list--WV1Di li.targetSite--wBJT- {\n margin-bottom: 6px;\n}\n.crawl-details-section--a6evz .text--rViTo,\n.crawl-details-section--a6evz .label--DUNYf {\n word-break: break-all;\n color: var(--neutral-55);\n font-family:\n \"Segoe UI Web (West European)\",\n \"Segoe UI\",\n \"-apple-system\",\n BlinkMacSystemFont,\n Roboto,\n \"Helvetica Neue\",\n Helvetica,\n Ubuntu,\n Arial,\n sans-serif,\n \"Apple Color Emoji\",\n \"Segoe UI Emoji\",\n \"Segoe UI Symbol\";\n font-weight: normal;\n font-size: 14px;\n line-height: 20px;\n}\n.crawl-details-section--a6evz .label--DUNYf {\n font-weight: 600;\n}\n.crawl-details-section--a6evz .label--DUNYf.no-icon--VrSr5 {\n padding-left: 29px;\n}\n\n/* css-modules:src/reports/components/report-sections/collapsible-url-result-section */\n.url-result-section--SkOlZ {\n padding-bottom: 31px;\n}\n.url-result-section--SkOlZ .title-container[aria-level=\"3\"] .collapsible-control::before {\n position: relative;\n bottom: 2px;\n margin-right: 14px;\n}\n.url-result-section--SkOlZ .collapsible-content {\n margin-top: 19px;\n}\n\n/* css-modules:src/reports/components/report-sections/summary-results-table */\n.summary-results-table--Iezr- {\n width: 100%;\n margin: 0;\n text-align: left;\n border-spacing: 0;\n border-collapse: collapse;\n font-size: 14px;\n line-height: 20px;\n}\n.summary-results-table--Iezr- th,\n.summary-results-table--Iezr- td {\n border: 1px solid var(--neutral-20);\n padding: 16px 8px 16px 8px;\n}\n.summary-results-table--Iezr- th {\n font-weight: 600;\n background-color: var(--neutral-6);\n}\n.summary-results-table--Iezr- thead tr :first-child {\n width: 172px;\n}\n.summary-results-table--Iezr- td {\n background-color: var(--neutral-0);\n}\n.summary-results-table--Iezr- td.text-cell--EaUrM {\n overflow-wrap: break-word;\n}\n.summary-results-table--Iezr- td.url-cell--mg-3l {\n overflow-wrap: anywhere;\n}\n\n/* css-modules:src/reports/components/report-sections/results-by-url-container */\n.url-results-container---dq9B {\n margin-top: 56px;\n}\n.url-results-container---dq9B .results-heading--2dWBX {\n margin-top: 32px;\n margin-bottom: 32px;\n}\n\n/* css-modules:src/common/components/cards/fix-instruction-color-box */\nspan.fix-instruction-color-box--DQpQE {\n width: 14px;\n height: 14px;\n display: inline-block;\n vertical-align: -5%;\n margin: 0 2px;\n border: 1px solid var(--light-black);\n}\n.screen-reader-only--6LUiO {\n position: absolute;\n left: -10000px;\n top: auto;\n height: 1px;\n overflow: hidden;\n clip-path: inset(100% 100% 100% 100%);\n}\n/*# sourceMappingURL=report.css.map */\n`;
3310
+ var styleSheet2 = `/* css-modules:src/common/components/heading-element-for-level */\n.heading-element-for-level--ifVX6 {\n margin-block-start: unset;\n margin-block-end: unset;\n}\n\n/* css-modules:src/common/components/cards/failed-instances-section */\n.failed-instances-container--3UUNb .collapsible-content {\n margin-left: 24px;\n}\n\n/* css-modules:src/reports/components/report-sections/minimal-rule-header */\n.outcome-chip-container--G5Dfr {\n min-width: 50px;\n}\n\n/* css-modules:src/reports/components/instance-details */\n.hidden-highlight-button--vu3B3 {\n opacity: 0;\n margin: 0;\n padding: 0;\n border: none;\n}\n.instance-details-card--owGQF {\n border-radius: 4px;\n border: 1px solid var(--card-border);\n outline-style: \"border-style\";\n box-shadow: 0 0.6px 1.8px var(--box-shadow-108), 0 3.2px 7.2px var(--box-shadow-132);\n margin-bottom: 16px;\n width: -moz-available;\n width: -webkit-fill-available;\n width: fill-available;\n}\n.instance-details-card-container--KLHTp.selected--wEA4l {\n outline: 5px solid var(--communication-tint-10);\n}\n.instance-details-card--owGQF.selected--wEA4l {\n border: 1px solid transparent;\n}\n.instance-details-card--owGQF.focused--pvBWq,\n.instance-details-card--owGQF:focus {\n outline: 2px solid var(--primary-text);\n outline-offset: 2px;\n}\n.instance-details-card--owGQF.selected--wEA4l.focused--pvBWq,\n.instance-details-card--owGQF.selected--wEA4l:focus {\n outline-offset: 8px;\n}\n.instance-details-card--owGQF.interactive--an0ab {\n cursor: pointer;\n}\n.instance-details-card--owGQF.interactive--an0ab:hover {\n box-shadow: 0 8px 10px var(--box-shadow-108), 0 8px 10px var(--box-shadow-132);\n}\n.report-instance-table--3VoZX {\n background: var(--neutral-0);\n display: table;\n table-layout: fixed;\n width: -moz-available;\n width: -webkit-fill-available;\n width: fill-available;\n border-radius: inherit;\n border-collapse: collapse;\n overflow-wrap: break-word;\n word-break: break-word;\n}\n.report-instance-table--3VoZX .row---3i35 {\n display: flex;\n flex-wrap: wrap;\n padding-top: 2px;\n padding-bottom: 14px;\n padding-left: 0;\n padding-right: 20px;\n border-bottom: 0.5px solid var(--neutral-10);\n}\n.report-instance-table--3VoZX .row---3i35 > * {\n margin-top: 12px;\n margin-bottom: 0;\n margin-left: 20px;\n margin-right: 0;\n padding: 0;\n}\n.report-instance-table--3VoZX .row---3i35:last-child {\n border-bottom: none;\n}\n.report-instance-table--3VoZX .row-label--FlVZl {\n flex-basis: 90px;\n flex-shrink: 1;\n flex-grow: 0;\n font-size: 14px;\n line-height: 20px;\n font-weight: 600;\n color: var(--primary-text);\n text-align: left;\n}\n.report-instance-table--3VoZX .row-content--07KUh {\n flex-basis: 200px;\n flex-shrink: 1;\n flex-grow: 1;\n color: var(--secondary-text);\n font-size: 14px;\n line-height: 20px;\n align-items: flex-end;\n display: flex;\n}\n\n/* css-modules:src/common/components/cards/rich-resolution-content */\n.multi-line-text-yes-bullet--TXyX- {\n padding-left: 16px;\n}\n.multi-line-text-yes-bullet--TXyX- li {\n list-style-type: disc;\n margin-bottom: 4px;\n}\n.multi-line-text-no-bullet--AUXXt {\n padding-left: 0;\n list-style: none;\n}\n.multi-line-text-no-bullet--AUXXt li:not(:last-child) {\n margin-bottom: 4px;\n}\n.combination-lists--boK5y {\n flex-direction: column;\n display: flex;\n}\n\n/* css-modules:src/common/components/cards/urls-card-row */\n.urls-row-content--JDdRx {\n padding-left: 16px;\n}\n.urls-row-content--JDdRx li {\n list-style-type: disc;\n margin-bottom: 4px;\n}\n.urls-row-content-new-Failure--oL5lS {\n color: var(--negative-outcome);\n font-weight: bold;\n}\n\n/* css-modules:src/common/components/cards/how-to-fix-card-row */\n.how-to-fix-content--Zz96u {\n margin-bottom: 16px;\n}\n.how-to-fix-content--Zz96u ul {\n padding-left: 16px;\n}\n.how-to-fix-content--Zz96u ul li {\n list-style-type: disc;\n margin-bottom: 4px;\n}\n\n/* css-modules:src/common/components/cards/snippet-card-row */\n.snippet--hSNfv {\n font-family:\n menlo,\n consolas,\n courier new,\n monospace;\n white-space: normal;\n}\n\n/* css-modules:src/DetailsView/components/common-dialog-styles */\ndiv.insights-dialog-main-override--ma4DA {\n width: 75%;\n max-width: 500px;\n user-select: text;\n}\n@media screen and (max-width: 500px) {\n div.insights-dialog-main-override--ma4DA {\n min-width: 240px;\n width: 75%;\n }\n}\ndiv.insights-dialog-main-override--ma4DA .dialog-body--cmWmz {\n font-size: 16px;\n}\n\n/* css-modules:src/DetailsView/components/issue-filing-dialog */\n.issue-filing-dialog--F9jun .ms-Dialog-title {\n font-size: 21px;\n line-height: 32px;\n letter-spacing: -0.02em;\n font-weight: 600;\n padding-bottom: 0;\n}\n.issue-filing-dialog--F9jun .ms-Dialog-subText {\n font-weight: 400;\n font-size: 15px;\n color: var(--secondary-text);\n}\n.issue-filing-dialog--F9jun .textfield-description {\n color: var(--secondary-text);\n font-style: italic;\n}\n\n/* css-modules:src/DetailsView/components/action-and-cancel-buttons-component */\n.action-and-cancel-buttons-component--DF7bf {\n display: flex;\n justify-content: flex-end;\n}\n.action-and-cancel-buttons-component--DF7bf .action-cancel-button-col--RMfN- + .action-cancel-button-col--RMfN- {\n margin-left: 8px;\n}\n\n/* css-modules:src/common/components/toast */\n.toast-container--L-5HM {\n display: inline-block;\n}\n.toast-content--8-Mx1 {\n background: var(--neutral-70);\n border-radius: 4px;\n color: var(--neutral-0);\n padding-left: 20px;\n padding-top: 14px;\n padding-bottom: 14px;\n padding-right: 20px;\n width: 316px;\n margin-left: calc(316px / -2 - 20px);\n left: 50%;\n bottom: 20px;\n z-index: 1000;\n position: absolute;\n}\n\n/* css-modules:src/common/components/cards/card-kebab-menu-button */\n.kebab-menu-icon--RzpyN {\n flex-grow: 1;\n}\n@media screen and (forced-colors: active) {\n .kebab-menu-icon--RzpyN {\n color: buttontext;\n }\n}\n.kebab-menu-button--e-7v- {\n margin-right: 8px;\n width: 32px;\n height: 32px;\n}\n.kebab-menu-button--e-7v-:hover {\n background-color: var(--menu-item-background-hover);\n}\n.kebab-menu-button--e-7v-.is-expanded {\n background-color: var(--menu-item-background-active);\n}\n@media screen and (forced-colors: active) {\n .kebab-menu-button--e-7v-.is-expanded .kebab-menu-icon--RzpyN,\n .kebab-menu-button--e-7v-:hover .kebab-menu-icon--RzpyN {\n color: highlight;\n }\n}\n@media screen and (forced-colors: active) {\n .kebab-menu--eKCNX button:hover {\n color: highlight;\n }\n}\n\n/* css-modules:src/common/components/cards/instance-details-footer */\n.foot--p1DfC {\n display: flex;\n justify-content: space-between;\n align-items: center;\n background-color: var(--neutral-2);\n min-height: 48px;\n padding-left: 12px;\n border-top: 0.5px solid var(--card-footer-border);\n border-bottom-left-radius: inherit;\n border-bottom-right-radius: inherit;\n}\n.foot--p1DfC .highlight-status--xJvvI {\n display: flex;\n justify-content: space-between;\n align-items: center;\n background: transparent;\n}\n.foot--p1DfC .highlight-status--xJvvI svg {\n fill: var(--secondary-text);\n}\n@media screen and (forced-colors: active) {\n .foot--p1DfC .highlight-status--xJvvI svg {\n fill: ButtonFace !important;\n stroke: ButtonText !important;\n }\n}\n.foot--p1DfC .highlight-status--xJvvI label {\n color: var(--secondary-text);\n font-size: 14px;\n overflow-wrap: break-word;\n word-break: break-word;\n}\n\n/* css-modules:src/common/components/cards/instance-details-group */\nul.instance-details-list--YfkRy {\n list-style-type: none;\n padding-inline-start: unset;\n margin-block-start: unset;\n margin-block-end: unset;\n}\nul.instance-details-list--YfkRy > li {\n margin-bottom: 16px;\n}\nul.instance-details-list--YfkRy > li:last-child {\n margin-bottom: unset;\n}\n\n/* css-modules:src/common/components/cards/rule-resources */\n.rule-more-resources--uw9mc {\n display: flex;\n flex-direction: column;\n margin-bottom: 16px;\n padding-top: 14px;\n padding-right: 20px;\n padding-bottom: 14px;\n padding-left: 20px;\n background-color: var(--neutral-0);\n box-shadow: 0 0.3px 0.9px rgba(0, 0, 0, 0.108), 0 1.6px 3.6px rgba(0, 0, 0, 0.132);\n border-radius: 4px;\n border: 1px solid var(--card-border);\n line-height: 20px;\n overflow-wrap: break-word;\n word-break: break-word;\n}\n.rule-more-resources--uw9mc .more-resources-title--jOuUL {\n font-weight: 600;\n}\n.rule-more-resources--uw9mc .rule-details-id--s-TpO {\n padding-top: 12px;\n padding-bottom: 12px;\n}\n\n/* css-modules:src/common/components/cards/rules-with-instances */\n.rule-details-group--Tb-LW .rule-detail {\n font-size: 14px;\n padding-top: 16px;\n padding-right: 8px;\n padding-bottom: 16px;\n padding-left: 8px;\n display: flex;\n align-items: baseline;\n text-align: left;\n}\n.rule-details-group--Tb-LW .rule-detail .outcome-chip {\n vertical-align: middle;\n margin-bottom: 2px;\n}\n.rule-details-group--Tb-LW .rule-detail .rule-details-id {\n font-weight: 600;\n color: var(--primary-text);\n word-break: break-all;\n}\n.rule-details-group--Tb-LW .rule-detail .rule-details-id a {\n font-weight: 600;\n color: var(--primary-text) !important;\n}\n.rule-details-group--Tb-LW .rule-detail .rule-details-id strong {\n font-weight: 600;\n}\n.rule-details-group--Tb-LW .rule-detail .rule-detail-description {\n color: var(--secondary-text) !important;\n word-break: break-all;\n}\n.collapsible-rule-details-group--V-HWh {\n box-shadow: 0 1px 0 rgba(0, 0, 0, 0.08);\n}\n.collapsible-rule-details-group--V-HWh .rule-detail {\n box-shadow: unset;\n}\n.collapsible-rule-details-group--V-HWh:not(.collapsed) {\n box-shadow: unset;\n}\n\n/* css-modules:src/common/components/cards/result-section-title */\n.result-section-title--RGFI5 {\n display: flex;\n flex-wrap: nowrap;\n justify-content: flex-start;\n align-items: center;\n margin-top: 8px;\n margin-bottom: 8px;\n}\n.result-section-title--RGFI5 .outcome-chip.outcome-chip-fail .count {\n line-height: 11px;\n}\n.result-section-title--RGFI5 .outcome-chip.outcome-chip-fail svg {\n margin-bottom: 3px;\n}\n.result-section-title--RGFI5 .title--WBYFE {\n font-weight: 600;\n font-size: 17px;\n line-height: 24px;\n margin-right: 6px;\n color: var(--primary-text);\n}\n.result-section-title--RGFI5 .heading--NdP4Q {\n font-weight: 600;\n font-size: 15px;\n line-height: 20px;\n margin-right: 6px;\n color: var(--primary-text);\n}\n.result-section-title--RGFI5 .outcome-chip-container--BT3j5 {\n display: flex;\n height: 16px;\n}\n\n/* css-modules:src/common/components/cards/result-section */\n.result-section--HfO9s {\n padding-bottom: 24px;\n}\n.result-section--HfO9s .title-container--JzN4A .collapsible-control--e42Z7::before {\n position: relative;\n bottom: 2px;\n}\n.result-section--HfO9s > h2 {\n margin: 0;\n font-size: 17px;\n line-height: 24px;\n}\n\n/* css-modules:src/reports/components/header-bar */\n.report-header-bar--SDV11 {\n display: flex;\n justify-content: flex-start;\n align-items: center;\n flex-wrap: nowrap;\n background-color: var(--ada-brand-color);\n height: 40px;\n width: 100%;\n}\n.report-header-bar--SDV11 .header-icon {\n flex-shrink: 0;\n margin-left: 16px;\n height: 22px;\n width: 22px;\n}\n.report-header-bar--SDV11 .header-text--EdTxw {\n margin-left: 8px;\n color: var(--header-bar-title-color);\n flex-shrink: 1;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n font-family:\n \"Segoe UI Web (West European)\",\n \"Segoe UI\",\n \"-apple-system\",\n BlinkMacSystemFont,\n Roboto,\n \"Helvetica Neue\",\n Helvetica,\n Ubuntu,\n Arial,\n sans-serif,\n \"Apple Color Emoji\",\n \"Segoe UI Emoji\",\n \"Segoe UI Symbol\";\n font-weight: normal;\n font-size: 17px;\n line-height: 24px;\n}\n\n/* css-modules:src/reports/components/report-sections/header-section */\n.report-header-command-bar--NJWdl {\n height: 40px;\n width: 100%;\n display: flex;\n justify-content: end;\n min-height: fit-content;\n align-items: center;\n background-color: var(--neutral-0);\n box-shadow: 0 1px 0 rgba(0, 0, 0, 0.08);\n}\n.report-header-command-bar--NJWdl .target-page--hjh44 {\n white-space: nowrap;\n margin-left: 16px;\n display: flex;\n color: var(--primary-text);\n font-family:\n \"Segoe UI Web (West European)\",\n \"Segoe UI\",\n \"-apple-system\",\n BlinkMacSystemFont,\n Roboto,\n \"Helvetica Neue\",\n Helvetica,\n Ubuntu,\n Arial,\n sans-serif,\n \"Apple Color Emoji\",\n \"Segoe UI Emoji\",\n \"Segoe UI Symbol\";\n font-size: 14px;\n line-height: 20px;\n font-weight: normal;\n min-width: 0;\n}\n.report-header-command-bar--NJWdl .target-page--hjh44 a {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n/* css-modules:src/common/components/cards/combined-report-result-section-title */\n.combined-report-result-section-title--TqIZO {\n display: flex;\n flex-wrap: nowrap;\n justify-content: flex-start;\n align-items: center;\n margin-top: 8px;\n margin-bottom: 8px;\n}\n.combined-report-result-section-title--TqIZO .title--6WIyt {\n font-weight: 600;\n font-size: 17px;\n line-height: 24px;\n margin-right: 6px;\n color: var(--primary-text);\n}\n.combined-report-result-section-title--TqIZO .heading--UpAHf {\n font-weight: 600;\n font-size: 15px;\n line-height: 20px;\n margin-right: 6px;\n color: var(--primary-text);\n}\n\n/* css-modules:src/reports/components/report-sections/urls-summary-section */\n.urls-summary-section--jNa-v {\n box-shadow: 0 0.3px 0.9px rgba(0, 0, 0, 0.108), 0 1.6px 3.6px rgba(0, 0, 0, 0.132);\n border-radius: 4px;\n background-color: var(--neutral-0);\n padding: 20px;\n margin-bottom: 24px;\n}\n.urls-summary-section--jNa-v h2 {\n margin-bottom: 16px !important;\n}\n.urls-summary-section--jNa-v .total-urls--95-ge {\n font-weight: 600;\n}\n.urls-summary-section--jNa-v .failure-instances--2WDtT {\n margin-top: 40px;\n}\n.urls-summary-section--jNa-v .failure-outcome-chip--JF-lj {\n display: flex;\n justify-content: flex-start;\n align-items: center;\n}\n\n/* css-modules:src/reports/components/report-sections/rules-results-container */\n.rules-results-container--HaLDw {\n margin-top: 56px;\n}\n.rules-results-container--HaLDw .results-heading--H9Puz {\n margin-top: 32px;\n margin-bottom: 32px;\n font-weight: 600;\n font-size: 17px;\n line-height: 24px;\n}\n\n/* css-modules:src/reports/components/report-sections/summary-report-details-section */\n.crawl-details-section--a6evz {\n box-shadow: 0 0.3px 0.9px rgba(0, 0, 0, 0.108), 0 1.6px 3.6px rgba(0, 0, 0, 0.132);\n border-radius: 4px;\n background-color: var(--neutral-0);\n padding: 20px;\n margin-bottom: 22px;\n}\n.crawl-details-section--a6evz .crawl-details-section-list--WV1Di {\n list-style: none;\n font-size: 14px;\n line-height: 16px;\n padding-left: 0;\n display: flex;\n align-items: flex-start;\n justify-content: center;\n flex-direction: column;\n}\n.crawl-details-section--a6evz .crawl-details-section-list--WV1Di li {\n display: inline-block;\n}\n.crawl-details-section--a6evz .crawl-details-section-list--WV1Di li .icon--APJEn {\n padding-right: 12px;\n position: relative;\n top: 3px;\n}\n.crawl-details-section--a6evz .crawl-details-section-list--WV1Di li.targetSite--wBJT- {\n margin-bottom: 6px;\n}\n.crawl-details-section--a6evz .text--rViTo,\n.crawl-details-section--a6evz .label--DUNYf {\n word-break: break-all;\n color: var(--neutral-55);\n font-family:\n \"Segoe UI Web (West European)\",\n \"Segoe UI\",\n \"-apple-system\",\n BlinkMacSystemFont,\n Roboto,\n \"Helvetica Neue\",\n Helvetica,\n Ubuntu,\n Arial,\n sans-serif,\n \"Apple Color Emoji\",\n \"Segoe UI Emoji\",\n \"Segoe UI Symbol\";\n font-weight: normal;\n font-size: 14px;\n line-height: 20px;\n}\n.crawl-details-section--a6evz .label--DUNYf {\n font-weight: 600;\n}\n.crawl-details-section--a6evz .label--DUNYf.no-icon--VrSr5 {\n padding-left: 29px;\n}\n\n/* css-modules:src/reports/components/report-sections/collapsible-url-result-section */\n.url-result-section--SkOlZ {\n padding-bottom: 31px;\n}\n.url-result-section--SkOlZ .title-container[aria-level=\"3\"] .collapsible-control::before {\n position: relative;\n bottom: 2px;\n margin-right: 14px;\n}\n.url-result-section--SkOlZ .collapsible-content {\n margin-top: 19px;\n}\n\n/* css-modules:src/reports/components/report-sections/summary-results-table */\n.summary-results-table--Iezr- {\n width: 100%;\n margin: 0;\n text-align: left;\n border-spacing: 0;\n border-collapse: collapse;\n font-size: 14px;\n line-height: 20px;\n}\n.summary-results-table--Iezr- th,\n.summary-results-table--Iezr- td {\n border: 1px solid var(--neutral-20);\n padding-top: 16px;\n padding-right: 8px;\n padding-bottom: 16px;\n padding-left: 8px;\n}\n.summary-results-table--Iezr- th {\n font-weight: 600;\n background-color: var(--neutral-6);\n}\n.summary-results-table--Iezr- thead tr :first-child {\n width: 172px;\n}\n.summary-results-table--Iezr- td {\n background-color: var(--neutral-0);\n}\n.summary-results-table--Iezr- td.text-cell--EaUrM {\n overflow-wrap: break-word;\n}\n.summary-results-table--Iezr- td.url-cell--mg-3l {\n overflow-wrap: anywhere;\n}\n\n/* css-modules:src/reports/components/report-sections/results-by-url-container */\n.url-results-container---dq9B {\n margin-top: 56px;\n}\n.url-results-container---dq9B .results-heading--2dWBX {\n margin-top: 32px;\n margin-bottom: 32px;\n}\n\n/* css-modules:src/common/components/cards/fix-instruction-color-box */\n.fix-instruction-color-box--DQpQE {\n width: 14px;\n height: 14px;\n display: inline-block;\n vertical-align: -5%;\n margin-right: 2px;\n margin-left: 2px;\n border: 1px solid var(--light-black);\n}\n.screen-reader-only--6LUiO {\n position: absolute;\n left: -10000px;\n top: auto;\n height: 1px;\n overflow: hidden;\n clip-path: inset(100% 100% 100% 100%);\n}\n/*# sourceMappingURL=report.css.map */\n`;
3071
3311
 
3072
3312
  // src/reports/components/reporter-automated-check-head.tsx
3073
3313
  var ReporterHead = NamedFC("ReporterHead", () => {
@@ -3079,10 +3319,10 @@ var ReporterHead = NamedFC("ReporterHead", () => {
3079
3319
  });
3080
3320
 
3081
3321
  // src/reports/package/footer-text-for-service.tsx
3082
- import * as React50 from "react";
3322
+ var React50 = __toESM(require("react"));
3083
3323
 
3084
3324
  // src/reports/components/report-sections/tool-link.tsx
3085
- import * as React49 from "react";
3325
+ var React49 = __toESM(require("react"));
3086
3326
  var ToolLink = NamedFC("ToolLink", () => /* @__PURE__ */ React49.createElement(NewTabLink, {
3087
3327
  className: "tool-name-link",
3088
3328
  href: "http://aka.ms/AccessibilityInsights",
@@ -3096,7 +3336,7 @@ var FooterTextForService = NamedFC("FooterTextForService", ({ scanMetadata }) =>
3096
3336
  });
3097
3337
 
3098
3338
  // src/reports/components/report-sections/automated-checks-title-section.tsx
3099
- import * as React51 from "react";
3339
+ var React51 = __toESM(require("react"));
3100
3340
  var AutomatedChecksTitleSection = NamedFC("AutomatedChecksTitleSection", () => {
3101
3341
  return /* @__PURE__ */ React51.createElement("div", {
3102
3342
  className: "title-section"
@@ -3104,13 +3344,13 @@ var AutomatedChecksTitleSection = NamedFC("AutomatedChecksTitleSection", () => {
3104
3344
  });
3105
3345
 
3106
3346
  // src/reports/components/report-sections/body-section.tsx
3107
- import * as React52 from "react";
3347
+ var React52 = __toESM(require("react"));
3108
3348
  var BodySection = NamedFC("BodySection", ({ children }) => {
3109
3349
  return /* @__PURE__ */ React52.createElement("body", null, children);
3110
3350
  });
3111
3351
 
3112
3352
  // src/reports/components/report-sections/content-container.tsx
3113
- import * as React53 from "react";
3353
+ var React53 = __toESM(require("react"));
3114
3354
  var ContentContainer = NamedFC("ContentSection", ({ children }) => {
3115
3355
  return /* @__PURE__ */ React53.createElement("main", {
3116
3356
  className: "outer-container"
@@ -3120,20 +3360,22 @@ var ContentContainer = NamedFC("ContentSection", ({ children }) => {
3120
3360
  });
3121
3361
 
3122
3362
  // src/reports/components/report-sections/details-section.tsx
3123
- import * as React58 from "react";
3363
+ var React58 = __toESM(require("react"));
3124
3364
 
3125
3365
  // src/reports/components/report-sections/make-details-section-fc.tsx
3126
- import { css as css7 } from "@fluentui/utilities";
3366
+ var import_utilities6 = require("@fluentui/utilities");
3127
3367
 
3128
3368
  // src/common/icons/comment-icon.tsx
3129
- import * as React54 from "react";
3369
+ var React54 = __toESM(require("react"));
3130
3370
  var d = "M16 11.2891V0.289062H-7.62939e-06V11.2891H1.99999V15L5.71093 11.2891H16ZM1 1.28906H15L15 10.2891H5.28906L3 12.5781V10.2891H1V1.28906ZM9.99999 6.28906H8.99999V4.28906H11V6.28906C11 6.42969 10.974 6.55859 10.9219 6.67969C10.8698 6.80078 10.7982 6.90625 10.707 6.99609C10.6159 7.08594 10.5104 7.16016 10.3906 7.21094C10.2708 7.26172 10.1406 7.28906 9.99999 7.28906V6.28906ZM4.99999 6.28906H5.99999V7.28906C6.14062 7.28906 6.27083 7.26172 6.39062 7.21094C6.51041 7.16016 6.61588 7.08594 6.70702 6.99609C6.79817 6.90625 6.86978 6.80078 6.92187 6.67969C6.97395 6.55859 6.99999 6.42969 6.99999 6.28906V4.28906H4.99999V6.28906Z";
3131
3371
  var CommentIcon = NamedFC("CommentIcon", () => /* @__PURE__ */ React54.createElement("svg", {
3132
3372
  width: "17",
3133
3373
  height: "16",
3134
3374
  viewBox: "0 0 16 15",
3135
3375
  fill: "none",
3136
- xmlns: "http://www.w3.org/2000/svg"
3376
+ xmlns: "http://www.w3.org/2000/svg",
3377
+ role: "img",
3378
+ "aria-hidden": "true"
3137
3379
  }, /* @__PURE__ */ React54.createElement("path", {
3138
3380
  fillRule: "evenodd",
3139
3381
  clipRule: "evenodd",
@@ -3142,55 +3384,67 @@ var CommentIcon = NamedFC("CommentIcon", () => /* @__PURE__ */ React54.createEle
3142
3384
  })));
3143
3385
 
3144
3386
  // src/common/icons/date-icon.tsx
3145
- import * as React55 from "react";
3387
+ var React55 = __toESM(require("react"));
3146
3388
  var d2 = "M8.82353 16C8.09697 16 7.39677 15.9062 6.72294 15.7188C6.05497 15.5312 5.42802 15.2676 4.84208 14.9277C4.26201 14.582 3.73173 14.1719 3.25126 13.6973C2.77665 13.2168 2.3665 12.6865 2.02079 12.1064C1.68095 11.5205 1.41728 10.8936 1.22978 10.2256C1.04228 9.55176 0.948529 8.85156 0.948529 8.125C0.948529 7.39844 1.04228 6.70117 1.22978 6.0332C1.41728 5.35937 1.68095 4.73242 2.02079 4.15234C2.3665 3.56641 2.77665 3.03613 3.25126 2.56152C3.73173 2.08105 4.26201 1.6709 4.84208 1.33105C5.42802 0.985352 6.05497 0.71875 6.72294 0.53125C7.39677 0.34375 8.09697 0.25 8.82353 0.25C9.55009 0.25 10.2474 0.34375 10.9153 0.53125C11.5892 0.71875 12.2161 0.985352 12.7962 1.33105C13.3821 1.6709 13.9124 2.08105 14.387 2.56152C14.8675 3.03613 15.2776 3.56641 15.6175 4.15234C15.9632 4.73242 16.2298 5.35937 16.4173 6.0332C16.6048 6.70117 16.6985 7.39844 16.6985 8.125C16.6985 8.85156 16.6048 9.55176 16.4173 10.2256C16.2298 10.8936 15.9632 11.5205 15.6175 12.1064C15.2776 12.6865 14.8675 13.2168 14.387 13.6973C13.9124 14.1719 13.3821 14.582 12.7962 14.9277C12.2161 15.2676 11.5892 15.5312 10.9153 15.7188C10.2474 15.9062 9.55009 16 8.82353 16ZM8.82353 1.375C7.89189 1.375 7.01591 1.55371 6.1956 1.91113C5.38115 2.2627 4.6663 2.74609 4.05107 3.36133C3.44169 3.9707 2.95829 4.68555 2.60087 5.50586C2.24931 6.32031 2.07353 7.19336 2.07353 8.125C2.07353 9.05664 2.24931 9.93262 2.60087 10.7529C2.95829 11.5674 3.44169 12.2822 4.05107 12.8975C4.6663 13.5068 5.38115 13.9902 6.1956 14.3477C7.01591 14.6992 7.89189 14.875 8.82353 14.875C9.75517 14.875 10.6282 14.6992 11.4427 14.3477C12.263 13.9902 12.9778 13.5068 13.5872 12.8975C14.2024 12.2822 14.6858 11.5674 15.0374 10.7529C15.3948 9.93262 15.5735 9.05664 15.5735 8.125C15.5735 7.19336 15.3948 6.32031 15.0374 5.50586C14.6858 4.68555 14.2024 3.9707 13.5872 3.36133C12.9778 2.74609 12.263 2.2627 11.4427 1.91113C10.6282 1.55371 9.75517 1.375 8.82353 1.375ZM8.82353 8.125V3.625H7.69853V9.25H12.1985V8.125H8.82353Z";
3147
3389
  var DateIcon = NamedFC("DateIcon", () => /* @__PURE__ */ React55.createElement("svg", {
3148
3390
  width: "17",
3149
3391
  height: "16",
3150
3392
  viewBox: "0 0 17 16",
3151
3393
  fill: "none",
3152
- xmlns: "http://www.w3.org/2000/svg"
3394
+ xmlns: "http://www.w3.org/2000/svg",
3395
+ role: "img",
3396
+ "aria-hidden": "true"
3153
3397
  }, /* @__PURE__ */ React55.createElement("path", {
3154
3398
  d: d2,
3155
3399
  fill: "#737373"
3156
3400
  })));
3157
3401
 
3158
3402
  // src/common/icons/url-icon.tsx
3159
- import * as React56 from "react";
3403
+ var React56 = __toESM(require("react"));
3160
3404
  var d3 = "M8.82353 0C9.5579 0 10.2662 0.0963542 10.9485 0.289062C11.6308 0.476562 12.2688 0.744792 12.8626 1.09375C13.4563 1.4375 13.9954 1.85417 14.4798 2.34375C14.9694 2.82812 15.386 3.36719 15.7298 3.96094C16.0787 4.55469 16.347 5.19271 16.5345 5.875C16.7272 6.55729 16.8235 7.26562 16.8235 8C16.8235 8.73438 16.7272 9.44271 16.5345 10.125C16.347 10.8073 16.0787 11.4453 15.7298 12.0391C15.386 12.6328 14.9694 13.1745 14.4798 13.6641C13.9954 14.1484 13.4563 14.5651 12.8626 14.9141C12.2688 15.2578 11.6308 15.526 10.9485 15.7188C10.2662 15.9062 9.5579 16 8.82353 16C8.08915 16 7.38082 15.9062 6.69853 15.7188C6.01624 15.526 5.37822 15.2578 4.78447 14.9141C4.19072 14.5651 3.64905 14.1484 3.15947 13.6641C2.67509 13.1745 2.25843 12.6328 1.90947 12.0391C1.56572 11.4453 1.29749 10.8099 1.10478 10.1328C0.917279 9.45052 0.823529 8.73958 0.823529 8C0.823529 7.26562 0.917279 6.55729 1.10478 5.875C1.29749 5.19271 1.56572 4.55469 1.90947 3.96094C2.25843 3.36719 2.67509 2.82812 3.15947 2.34375C3.64905 1.85417 4.19072 1.4375 4.78447 1.09375C5.37822 0.744792 6.01363 0.476562 6.69072 0.289062C7.37301 0.0963542 8.08395 0 8.82353 0ZM15.1438 5C14.9459 4.57812 14.7063 4.18229 14.4251 3.8125C14.1438 3.4375 13.8313 3.09635 13.4876 2.78906C13.1438 2.48177 12.7714 2.20833 12.3704 1.96875C11.9694 1.72917 11.5501 1.53385 11.1126 1.38281C11.3001 1.64323 11.4694 1.91927 11.6204 2.21094C11.7714 2.5026 11.9043 2.80469 12.0188 3.11719C12.1386 3.42448 12.2402 3.73698 12.3235 4.05469C12.4069 4.3724 12.4798 4.6875 12.5423 5H15.1438ZM15.8235 8C15.8235 7.30729 15.7272 6.64062 15.5345 6H12.6985C12.7402 6.33333 12.7714 6.66667 12.7923 7C12.8131 7.32812 12.8235 7.66146 12.8235 8C12.8235 8.33854 12.8131 8.67448 12.7923 9.00781C12.7714 9.33594 12.7402 9.66667 12.6985 10H15.5345C15.7272 9.35938 15.8235 8.69271 15.8235 8ZM8.82353 15C9.07874 15 9.31572 14.9297 9.53447 14.7891C9.75843 14.6484 9.96415 14.4635 10.1517 14.2344C10.3392 14.0052 10.5058 13.7474 10.6517 13.4609C10.8027 13.1693 10.9355 12.875 11.0501 12.5781C11.1647 12.2812 11.261 11.9948 11.3392 11.7188C11.4173 11.4427 11.4772 11.2031 11.5188 11H6.12822C6.16988 11.2031 6.22978 11.4427 6.3079 11.7188C6.38603 11.9948 6.48238 12.2812 6.59697 12.5781C6.71155 12.875 6.84176 13.1693 6.98759 13.4609C7.13863 13.7474 7.3079 14.0052 7.4954 14.2344C7.6829 14.4635 7.88603 14.6484 8.10478 14.7891C8.32874 14.9297 8.56832 15 8.82353 15ZM11.6907 10C11.7324 9.66667 11.7636 9.33594 11.7845 9.00781C11.8105 8.67448 11.8235 8.33854 11.8235 8C11.8235 7.66146 11.8105 7.32812 11.7845 7C11.7636 6.66667 11.7324 6.33333 11.6907 6H5.95634C5.91468 6.33333 5.88082 6.66667 5.85478 7C5.83395 7.32812 5.82353 7.66146 5.82353 8C5.82353 8.33854 5.83395 8.67448 5.85478 9.00781C5.88082 9.33594 5.91468 9.66667 5.95634 10H11.6907ZM1.82353 8C1.82353 8.69271 1.91988 9.35938 2.11259 10H4.94853C4.90686 9.66667 4.87561 9.33594 4.85478 9.00781C4.83395 8.67448 4.82353 8.33854 4.82353 8C4.82353 7.66146 4.83395 7.32812 4.85478 7C4.87561 6.66667 4.90686 6.33333 4.94853 6H2.11259C1.91988 6.64062 1.82353 7.30729 1.82353 8ZM8.82353 1C8.56832 1 8.32874 1.07031 8.10478 1.21094C7.88603 1.35156 7.6829 1.53646 7.4954 1.76562C7.3079 1.99479 7.13863 2.25521 6.98759 2.54688C6.84176 2.83333 6.71155 3.125 6.59697 3.42188C6.48238 3.71875 6.38603 4.00521 6.3079 4.28125C6.22978 4.55729 6.16988 4.79688 6.12822 5H11.5188C11.4772 4.79688 11.4173 4.55729 11.3392 4.28125C11.261 4.00521 11.1647 3.71875 11.0501 3.42188C10.9355 3.125 10.8027 2.83333 10.6517 2.54688C10.5058 2.25521 10.3392 1.99479 10.1517 1.76562C9.96415 1.53646 9.75843 1.35156 9.53447 1.21094C9.31572 1.07031 9.07874 1 8.82353 1ZM6.53447 1.38281C6.09697 1.53385 5.6777 1.72917 5.27665 1.96875C4.87561 2.20833 4.50322 2.48177 4.15947 2.78906C3.81572 3.09635 3.50322 3.4375 3.22197 3.8125C2.94072 4.18229 2.70113 4.57812 2.50322 5H5.10478C5.16728 4.6875 5.2402 4.3724 5.32353 4.05469C5.40686 3.73698 5.50582 3.42448 5.6204 3.11719C5.7402 2.80469 5.87561 2.5026 6.02665 2.21094C6.1777 1.91927 6.34697 1.64323 6.53447 1.38281ZM2.50322 11C2.70113 11.4219 2.94072 11.8203 3.22197 12.1953C3.50322 12.5651 3.81572 12.9036 4.15947 13.2109C4.50322 13.5182 4.87561 13.7917 5.27665 14.0312C5.6777 14.2708 6.09697 14.4661 6.53447 14.6172C6.34697 14.3568 6.1777 14.0807 6.02665 13.7891C5.87561 13.4974 5.7402 13.1979 5.6204 12.8906C5.50582 12.5781 5.40686 12.263 5.32353 11.9453C5.2402 11.6276 5.16728 11.3125 5.10478 11H2.50322ZM11.1126 14.6172C11.5501 14.4661 11.9694 14.2708 12.3704 14.0312C12.7714 13.7917 13.1438 13.5182 13.4876 13.2109C13.8313 12.9036 14.1438 12.5651 14.4251 12.1953C14.7063 11.8203 14.9459 11.4219 15.1438 11H12.5423C12.4798 11.3125 12.4069 11.6276 12.3235 11.9453C12.2402 12.263 12.1386 12.5781 12.0188 12.8906C11.9043 13.1979 11.7714 13.4974 11.6204 13.7891C11.4694 14.0807 11.3001 14.3568 11.1126 14.6172Z";
3161
3405
  var UrlIcon = NamedFC("UrlIcon", () => /* @__PURE__ */ React56.createElement("svg", {
3162
3406
  width: "17",
3163
3407
  height: "16",
3164
3408
  viewBox: "0 0 17 16",
3165
3409
  fill: "none",
3166
- xmlns: "http://www.w3.org/2000/svg"
3410
+ xmlns: "http://www.w3.org/2000/svg",
3411
+ role: "img",
3412
+ "aria-hidden": "true"
3167
3413
  }, /* @__PURE__ */ React56.createElement("path", {
3168
3414
  d: d3,
3169
3415
  fill: "#737373"
3170
3416
  })));
3171
3417
 
3172
3418
  // src/reports/components/report-sections/make-details-section-fc.tsx
3173
- import { isEmpty as isEmpty7 } from "lodash";
3174
- import * as React57 from "react";
3419
+ var import_lodash11 = require("lodash");
3420
+ var React57 = __toESM(require("react"));
3175
3421
  function makeDetailsSectionFC(getDisplayedScanTargetInfo) {
3176
3422
  return NamedFC("DetailsSection", (props) => {
3177
3423
  const { scanMetadata, description, toUtcString } = props;
3178
3424
  const createListItem = (icon, label, content, contentClassName) => /* @__PURE__ */ React57.createElement("li", null, /* @__PURE__ */ React57.createElement("span", {
3179
- className: "icon",
3180
- "aria-hidden": "true"
3425
+ className: "icon"
3181
3426
  }, icon), /* @__PURE__ */ React57.createElement("span", {
3182
3427
  className: "screen-reader-only"
3183
3428
  }, label), /* @__PURE__ */ React57.createElement("span", {
3184
- className: css7("text", contentClassName)
3429
+ className: (0, import_utilities6.css)("text", contentClassName)
3185
3430
  }, content));
3186
3431
  const scanDateUTC = toUtcString(scanMetadata.timespan.scanComplete);
3187
- const showCommentRow = !isEmpty7(description);
3432
+ const showCommentRow = !(0, import_lodash11.isEmpty)(description);
3188
3433
  const displayedScanTargetInfo = getDisplayedScanTargetInfo(scanMetadata);
3189
3434
  return /* @__PURE__ */ React57.createElement("div", {
3190
3435
  className: "scan-details-section"
3191
3436
  }, /* @__PURE__ */ React57.createElement("h2", null, "Scan details"), /* @__PURE__ */ React57.createElement("ul", {
3192
3437
  className: "details-section-list"
3193
- }, createListItem(/* @__PURE__ */ React57.createElement(UrlIcon, null), displayedScanTargetInfo.label, displayedScanTargetInfo.content), createListItem(/* @__PURE__ */ React57.createElement(DateIcon, null), "scan date:", scanDateUTC), showCommentRow && createListItem(/* @__PURE__ */ React57.createElement(CommentIcon, null), "comment:", description, "description-text")));
3438
+ }, createListItem(
3439
+ /* @__PURE__ */ React57.createElement(UrlIcon, null),
3440
+ displayedScanTargetInfo.label,
3441
+ displayedScanTargetInfo.content
3442
+ ), createListItem(/* @__PURE__ */ React57.createElement(DateIcon, null), "scan date:", scanDateUTC), showCommentRow && createListItem(
3443
+ /* @__PURE__ */ React57.createElement(CommentIcon, null),
3444
+ "comment:",
3445
+ description,
3446
+ "description-text"
3447
+ )));
3194
3448
  });
3195
3449
  }
3196
3450
 
@@ -3207,21 +3461,21 @@ function getUrlItemInfo(scanMetadata) {
3207
3461
  var DetailsSection = makeDetailsSectionFC(getUrlItemInfo);
3208
3462
 
3209
3463
  // src/reports/components/report-sections/not-applicable-checks-section.tsx
3210
- import * as React62 from "react";
3464
+ var React62 = __toESM(require("react"));
3211
3465
 
3212
3466
  // src/reports/components/report-sections/collapsible-result-section.tsx
3213
- import * as React61 from "react";
3467
+ var React61 = __toESM(require("react"));
3214
3468
 
3215
3469
  // src/reports/components/report-sections/rules-only.tsx
3216
- import * as React60 from "react";
3470
+ var React60 = __toESM(require("react"));
3217
3471
 
3218
3472
  // src/reports/components/report-sections/full-rule-header.tsx
3219
- import { isEmpty as isEmpty8, kebabCase } from "lodash";
3220
- import * as React59 from "react";
3473
+ var import_lodash12 = require("lodash");
3474
+ var React59 = __toESM(require("react"));
3221
3475
  var FullRuleHeader = NamedFC("FullRuleHeader", (props) => {
3222
3476
  const { outcomeType, deps, cardRuleResult: cardResult } = props;
3223
3477
  const outcomeText = outcomeTypeSemantics[props.outcomeType].pastTense;
3224
- const ariaDescribedBy = `${kebabCase(outcomeText)}-rule-${cardResult.id}-description`;
3478
+ const ariaDescribedBy = `${(0, import_lodash12.kebabCase)(outcomeText)}-rule-${cardResult.id}-description`;
3225
3479
  const renderCountBadge = () => {
3226
3480
  if (outcomeType !== "fail") {
3227
3481
  return null;
@@ -3246,7 +3500,7 @@ var FullRuleHeader = NamedFC("FullRuleHeader", (props) => {
3246
3500
  }, displayedRule);
3247
3501
  };
3248
3502
  const renderGuidanceLinks = () => {
3249
- if (isEmpty8(cardResult.guidance)) {
3503
+ if ((0, import_lodash12.isEmpty)(cardResult.guidance)) {
3250
3504
  return null;
3251
3505
  }
3252
3506
  return /* @__PURE__ */ React59.createElement(React59.Fragment, null, "(", /* @__PURE__ */ React59.createElement(GuidanceLinks, {
@@ -3272,78 +3526,90 @@ var FullRuleHeader = NamedFC("FullRuleHeader", (props) => {
3272
3526
  });
3273
3527
 
3274
3528
  // src/reports/components/report-sections/rules-only.tsx
3275
- var RulesOnly = NamedFC("RulesOnly", ({ outcomeType, deps, cardRuleResults: cardResults }) => {
3276
- return /* @__PURE__ */ React60.createElement("div", {
3277
- className: rules_with_instances_default.ruleDetailsGroup
3278
- }, cardResults.map((cardRuleResult) => /* @__PURE__ */ React60.createElement(FullRuleHeader, {
3279
- deps,
3280
- key: cardRuleResult.id,
3281
- cardRuleResult,
3282
- outcomeType
3283
- })));
3284
- });
3529
+ var RulesOnly = NamedFC(
3530
+ "RulesOnly",
3531
+ ({ outcomeType, deps, cardRuleResults: cardResults }) => {
3532
+ return /* @__PURE__ */ React60.createElement("div", {
3533
+ className: rules_with_instances_default.ruleDetailsGroup
3534
+ }, cardResults.map((cardRuleResult) => /* @__PURE__ */ React60.createElement(FullRuleHeader, {
3535
+ deps,
3536
+ key: cardRuleResult.id,
3537
+ cardRuleResult,
3538
+ outcomeType
3539
+ })));
3540
+ }
3541
+ );
3285
3542
 
3286
3543
  // src/reports/components/report-sections/collapsible-result-section.tsx
3287
- var CollapsibleResultSection = NamedFC("CollapsibleResultSection", (props) => {
3288
- const { containerClassName, containerId, deps, cardSelectionMessageCreator, testKey } = props;
3289
- const CollapsibleContent = deps.collapsibleControl({
3290
- id: containerId,
3291
- header: /* @__PURE__ */ React61.createElement(ResultSectionTitle, {
3292
- ...props,
3293
- titleSize: "title"
3294
- }),
3295
- content: /* @__PURE__ */ React61.createElement(RulesOnly, {
3296
- ...props
3297
- }),
3298
- headingLevel: props.headingLevel,
3299
- deps: null,
3300
- testKey,
3301
- onExpandToggle: (event) => {
3302
- cardSelectionMessageCreator.toggleRuleExpandCollapse(containerId, event);
3303
- }
3304
- });
3305
- return /* @__PURE__ */ React61.createElement("div", {
3306
- className: containerClassName
3307
- }, CollapsibleContent);
3308
- });
3544
+ var CollapsibleResultSection = NamedFC(
3545
+ "CollapsibleResultSection",
3546
+ (props) => {
3547
+ const { containerClassName, containerId, deps, cardSelectionMessageCreator, testKey } = props;
3548
+ const CollapsibleContent = deps.collapsibleControl({
3549
+ id: containerId,
3550
+ header: /* @__PURE__ */ React61.createElement(ResultSectionTitle, {
3551
+ ...props,
3552
+ titleSize: "title"
3553
+ }),
3554
+ content: /* @__PURE__ */ React61.createElement(RulesOnly, {
3555
+ ...props
3556
+ }),
3557
+ headingLevel: props.headingLevel,
3558
+ deps: null,
3559
+ testKey,
3560
+ onExpandToggle: (event) => {
3561
+ cardSelectionMessageCreator == null ? void 0 : cardSelectionMessageCreator.toggleRuleExpandCollapse(containerId, event);
3562
+ }
3563
+ });
3564
+ return /* @__PURE__ */ React61.createElement("div", {
3565
+ className: containerClassName
3566
+ }, CollapsibleContent);
3567
+ }
3568
+ );
3309
3569
 
3310
3570
  // src/reports/components/report-sections/not-applicable-checks-section.tsx
3311
- var NotApplicableChecksSection = NamedFC("NotApplicableChecksSection", ({ deps, cardsViewData, cardSelectionMessageCreator, sectionHeadingLevel }) => {
3312
- const cardRuleResults = cardsViewData.cards.inapplicable;
3313
- return /* @__PURE__ */ React62.createElement(CollapsibleResultSection, {
3314
- deps,
3315
- title: "Not applicable checks",
3316
- cardRuleResults,
3317
- containerClassName: "result-section",
3318
- outcomeType: "inapplicable",
3319
- badgeCount: cardRuleResults.length,
3320
- containerId: "not-applicable-checks-section",
3321
- cardSelectionMessageCreator,
3322
- headingLevel: sectionHeadingLevel
3323
- });
3324
- });
3571
+ var NotApplicableChecksSection = NamedFC(
3572
+ "NotApplicableChecksSection",
3573
+ ({ deps, cardsViewData, cardSelectionMessageCreator, sectionHeadingLevel }) => {
3574
+ const cardRuleResults = cardsViewData.cards.inapplicable;
3575
+ return /* @__PURE__ */ React62.createElement(CollapsibleResultSection, {
3576
+ deps,
3577
+ title: "Not applicable checks",
3578
+ cardRuleResults,
3579
+ containerClassName: "result-section",
3580
+ outcomeType: "inapplicable",
3581
+ badgeCount: cardRuleResults.length,
3582
+ containerId: "not-applicable-checks-section",
3583
+ cardSelectionMessageCreator,
3584
+ headingLevel: sectionHeadingLevel
3585
+ });
3586
+ }
3587
+ );
3325
3588
 
3326
3589
  // src/reports/components/report-sections/passed-checks-section.tsx
3327
- import * as React63 from "react";
3328
- var PassedChecksSection = NamedFC("PassedChecksSection", ({ deps, cardsViewData, cardSelectionMessageCreator, testKey, sectionHeadingLevel }) => {
3329
- var _a;
3330
- const cardRuleResults = ((_a = cardsViewData == null ? void 0 : cardsViewData.cards) == null ? void 0 : _a.pass) ?? [];
3331
- return /* @__PURE__ */ React63.createElement(CollapsibleResultSection, {
3332
- deps,
3333
- title: "Passed checks",
3334
- cardRuleResults,
3335
- containerClassName: "result-section",
3336
- outcomeType: "pass",
3337
- badgeCount: cardRuleResults.length,
3338
- containerId: "passed-checks-section",
3339
- cardSelectionMessageCreator,
3340
- testKey,
3341
- headingLevel: sectionHeadingLevel
3342
- });
3343
- });
3590
+ var React63 = __toESM(require("react"));
3591
+ var PassedChecksSection = NamedFC(
3592
+ "PassedChecksSection",
3593
+ ({ deps, cardsViewData, cardSelectionMessageCreator, testKey, sectionHeadingLevel }) => {
3594
+ var _a;
3595
+ const cardRuleResults = ((_a = cardsViewData == null ? void 0 : cardsViewData.cards) == null ? void 0 : _a.pass) ?? [];
3596
+ return /* @__PURE__ */ React63.createElement(CollapsibleResultSection, {
3597
+ deps,
3598
+ title: "Passed checks",
3599
+ cardRuleResults,
3600
+ containerClassName: "result-section",
3601
+ outcomeType: "pass",
3602
+ badgeCount: cardRuleResults.length,
3603
+ containerId: "passed-checks-section",
3604
+ cardSelectionMessageCreator,
3605
+ testKey,
3606
+ headingLevel: sectionHeadingLevel
3607
+ });
3608
+ }
3609
+ );
3344
3610
 
3345
3611
  // src/reports/components/report-sections/report-footer.tsx
3346
- import * as React64 from "react";
3612
+ var React64 = __toESM(require("react"));
3347
3613
  var ReportFooter = NamedFC("ReportFooter", ({ children }) => {
3348
3614
  return /* @__PURE__ */ React64.createElement("div", {
3349
3615
  className: "report-footer-container"
@@ -3354,28 +3620,31 @@ var ReportFooter = NamedFC("ReportFooter", ({ children }) => {
3354
3620
  });
3355
3621
 
3356
3622
  // src/reports/components/report-sections/results-container.tsx
3357
- import * as React65 from "react";
3358
- var ResultsContainer = NamedFC("ResultsContainer", ({ children, getCollapsibleScript }) => {
3359
- return /* @__PURE__ */ React65.createElement(React65.Fragment, null, /* @__PURE__ */ React65.createElement("div", {
3360
- className: "results-container"
3361
- }, children), /* @__PURE__ */ React65.createElement("script", {
3362
- dangerouslySetInnerHTML: { __html: getCollapsibleScript() }
3363
- }));
3364
- });
3623
+ var React65 = __toESM(require("react"));
3624
+ var ResultsContainer = NamedFC(
3625
+ "ResultsContainer",
3626
+ ({ children, getCollapsibleScript }) => {
3627
+ return /* @__PURE__ */ React65.createElement(React65.Fragment, null, /* @__PURE__ */ React65.createElement("div", {
3628
+ className: "results-container"
3629
+ }, children), /* @__PURE__ */ React65.createElement("script", {
3630
+ dangerouslySetInnerHTML: { __html: getCollapsibleScript() }
3631
+ }));
3632
+ }
3633
+ );
3365
3634
 
3366
3635
  // src/reports/components/report-sections/summary-section.tsx
3367
- import * as React67 from "react";
3636
+ var React67 = __toESM(require("react"));
3368
3637
 
3369
3638
  // src/reports/components/outcome-summary-bar.tsx
3370
- import classNames2 from "classnames";
3371
- import { kebabCase as kebabCase2 } from "lodash";
3372
- import * as React66 from "react";
3639
+ var import_classnames2 = __toESM(require("classnames"));
3640
+ var import_lodash13 = require("lodash");
3641
+ var React66 = __toESM(require("react"));
3373
3642
  var outcomeSummaryBarAutomationId = "outcome-summary-bar";
3374
3643
  var OutcomeSummaryBar = NamedFC("OutcomeSummaryBar", (props) => {
3375
3644
  const outcomeTypesCount = props.allOutcomeTypes.length;
3376
3645
  const getClassNames = (outcomeType, index) => {
3377
- return classNames2({
3378
- [kebabCase2(outcomeType)]: true,
3646
+ return (0, import_classnames2.default)({
3647
+ [(0, import_lodash13.kebabCase)(outcomeType)]: true,
3379
3648
  "summary-bar-left-edge": index === 0,
3380
3649
  "summary-bar-right-edge": index === outcomeTypesCount - 1
3381
3650
  });
@@ -3413,9 +3682,7 @@ var OutcomeSummaryBar = NamedFC("OutcomeSummaryBar", (props) => {
3413
3682
  style: { flexGrow: count }
3414
3683
  }, /* @__PURE__ */ React66.createElement("span", {
3415
3684
  className: getClassNames(outcomeType, index)
3416
- }, /* @__PURE__ */ React66.createElement("span", {
3417
- "aria-hidden": "true"
3418
- }, outcomeIcon), count, countSuffix, getTextLabel(outcomeType)));
3685
+ }, outcomeIcon, count, countSuffix, getTextLabel(outcomeType)));
3419
3686
  }));
3420
3687
  });
3421
3688
 
@@ -3439,18 +3706,24 @@ var BaseSummarySection = NamedFC("BaseSummarySection", (props) => {
3439
3706
  allOutcomeTypes: props.outcomeTypesShown
3440
3707
  }));
3441
3708
  });
3442
- var AllOutcomesSummarySection = NamedFC("AllOutcomesSummarySection", (props) => {
3443
- return /* @__PURE__ */ React67.createElement(BaseSummarySection, {
3444
- ...props,
3445
- outcomeTypesShown: ["fail", "pass", "inapplicable"]
3446
- });
3447
- });
3448
- var PassFailSummarySection = NamedFC("PassFailSummarySection", (props) => {
3449
- return /* @__PURE__ */ React67.createElement(BaseSummarySection, {
3450
- ...props,
3451
- outcomeTypesShown: ["fail", "pass"]
3452
- });
3453
- });
3709
+ var AllOutcomesSummarySection = NamedFC(
3710
+ "AllOutcomesSummarySection",
3711
+ (props) => {
3712
+ return /* @__PURE__ */ React67.createElement(BaseSummarySection, {
3713
+ ...props,
3714
+ outcomeTypesShown: ["fail", "pass", "inapplicable"]
3715
+ });
3716
+ }
3717
+ );
3718
+ var PassFailSummarySection = NamedFC(
3719
+ "PassFailSummarySection",
3720
+ (props) => {
3721
+ return /* @__PURE__ */ React67.createElement(BaseSummarySection, {
3722
+ ...props,
3723
+ outcomeTypesShown: ["fail", "pass"]
3724
+ });
3725
+ }
3726
+ );
3454
3727
 
3455
3728
  // src/reports/components/report-sections/axe-results-report-section-factory.tsx
3456
3729
  var AxeResultsReportSectionFactory = {
@@ -3501,100 +3774,101 @@ var getAddListenerForCollapsibleSection = (code) => `(${String(code)})(document)
3501
3774
  var getDefaultAddListenerForCollapsibleSection = () => getAddListenerForCollapsibleSection(addEventListenerForCollapsibleSection);
3502
3775
 
3503
3776
  // src/common/components/cards/combined-report-result-section-title.tsx
3504
- import * as React68 from "react";
3777
+ var React68 = __toESM(require("react"));
3505
3778
 
3506
3779
  // src/common/components/cards/combined-report-result-section-title.scss
3507
3780
  var combined_report_result_section_title_default = { "combinedReportResultSectionTitle": "combined-report-result-section-title--TqIZO", "title": "title--6WIyt", "heading": "heading--UpAHf" };
3508
3781
 
3509
3782
  // src/common/components/cards/combined-report-result-section-title.tsx
3510
- var CombinedReportResultSectionTitle = NamedFC("CombinedResultSectionTitle", (props) => {
3511
- const singularMessageSubject = props.outcomeType === "review" ? "instance to review" : "failure";
3512
- const pluralMessageSubject = props.outcomeType === "review" ? "instances to review" : "failures";
3513
- const alertTerm = props.outcomeCount !== 1 ? `${pluralMessageSubject} were` : `${singularMessageSubject} was`;
3514
- const alertingFailuresCount = /* @__PURE__ */ React68.createElement("span", {
3515
- role: "alert"
3516
- }, props.outcomeCount, " ", alertTerm, " detected.");
3517
- const titleWithInstance = /* @__PURE__ */ React68.createElement("span", {
3518
- className: combined_report_result_section_title_default.heading,
3519
- "aria-hidden": "true"
3520
- }, props.title, " (", props.outcomeCount, ")");
3521
- return /* @__PURE__ */ React68.createElement("span", {
3522
- className: combined_report_result_section_title_default.combinedReportResultSectionTitle
3523
- }, /* @__PURE__ */ React68.createElement("span", {
3524
- className: "screen-reader-only"
3525
- }, props.title, " ", props.shouldAlertFailuresCount ? alertingFailuresCount : props.outcomeCount), titleWithInstance);
3526
- });
3783
+ var CombinedReportResultSectionTitle = NamedFC(
3784
+ "CombinedResultSectionTitle",
3785
+ (props) => {
3786
+ const singularMessageSubject = props.outcomeType === "review" ? "instance to review" : "failure";
3787
+ const pluralMessageSubject = props.outcomeType === "review" ? "instances to review" : "failures";
3788
+ const alertTerm = props.outcomeCount !== 1 ? `${pluralMessageSubject} were` : `${singularMessageSubject} was`;
3789
+ const alertingFailuresCount = /* @__PURE__ */ React68.createElement("span", {
3790
+ role: "alert"
3791
+ }, props.outcomeCount, " ", alertTerm, " detected.");
3792
+ const titleWithInstance = /* @__PURE__ */ React68.createElement("span", {
3793
+ className: combined_report_result_section_title_default.heading,
3794
+ "aria-hidden": "true"
3795
+ }, props.title, " (", props.outcomeCount, ")");
3796
+ return /* @__PURE__ */ React68.createElement("span", {
3797
+ className: combined_report_result_section_title_default.combinedReportResultSectionTitle
3798
+ }, /* @__PURE__ */ React68.createElement("span", {
3799
+ className: "screen-reader-only"
3800
+ }, props.title, " ", props.shouldAlertFailuresCount ? alertingFailuresCount : props.outcomeCount), titleWithInstance);
3801
+ }
3802
+ );
3527
3803
 
3528
3804
  // src/reports/components/report-sections/combined-report-failed-section.tsx
3529
- import * as React69 from "react";
3530
- var CombinedReportFailedSection = NamedFC("CombinedReportFailedSection", (props) => {
3531
- const { deps, cardsViewData, scanMetadata } = props;
3532
- const ruleCount = cardsViewData.cards.fail.length;
3533
- const sectionId = "combined-report-failed-section";
3534
- const CollapsibleContent = deps.collapsibleControl({
3535
- id: sectionId,
3536
- header: /* @__PURE__ */ React69.createElement(CombinedReportResultSectionTitle, {
3537
- outcomeCount: ruleCount,
3538
- outcomeType: "fail",
3539
- title: "Failed rules"
3540
- }),
3541
- content: /* @__PURE__ */ React69.createElement(ResultSectionContent, {
3542
- deps,
3543
- outcomeType: "fail",
3544
- targetAppInfo: scanMetadata.targetAppInfo,
3545
- results: cardsViewData.cards.fail,
3546
- visualHelperEnabled: cardsViewData.visualHelperEnabled,
3547
- allCardsCollapsed: cardsViewData.allCardsCollapsed,
3548
- userConfigurationStoreData: null,
3549
- outcomeCounter: OutcomeCounter.countByIdentifierUrls,
3550
- headingLevel: 4,
3551
- cardSelectionMessageCreator: nullCardSelectionMessageCreator
3552
- }),
3553
- onExpandToggle: null,
3554
- headingLevel: 3,
3555
- deps: null
3556
- });
3557
- return /* @__PURE__ */ React69.createElement("div", {
3558
- className: "result-section"
3559
- }, CollapsibleContent);
3560
- });
3561
- var nullCardSelectionMessageCreator = {
3562
- toggleCardSelection: () => null,
3563
- toggleRuleExpandCollapse: () => null,
3564
- collapseAllRules: () => null,
3565
- expandAllRules: () => null,
3566
- toggleVisualHelper: () => null
3567
- };
3805
+ var React69 = __toESM(require("react"));
3806
+ var CombinedReportFailedSection = NamedFC(
3807
+ "CombinedReportFailedSection",
3808
+ (props) => {
3809
+ const { deps, cardsViewData, scanMetadata } = props;
3810
+ const ruleCount = cardsViewData.cards.fail.length;
3811
+ const sectionId = "combined-report-failed-section";
3812
+ const CollapsibleContent = deps.collapsibleControl({
3813
+ id: sectionId,
3814
+ header: /* @__PURE__ */ React69.createElement(CombinedReportResultSectionTitle, {
3815
+ outcomeCount: ruleCount,
3816
+ outcomeType: "fail",
3817
+ title: "Failed rules"
3818
+ }),
3819
+ content: /* @__PURE__ */ React69.createElement(ResultSectionContent, {
3820
+ deps,
3821
+ outcomeType: "fail",
3822
+ targetAppInfo: scanMetadata.targetAppInfo,
3823
+ results: cardsViewData.cards.fail,
3824
+ visualHelperEnabled: cardsViewData.visualHelperEnabled,
3825
+ allCardsCollapsed: cardsViewData.allCardsCollapsed,
3826
+ userConfigurationStoreData: null,
3827
+ outcomeCounter: OutcomeCounter.countByIdentifierUrls,
3828
+ headingLevel: 4
3829
+ }),
3830
+ onExpandToggle: null,
3831
+ headingLevel: 3,
3832
+ deps: null
3833
+ });
3834
+ return /* @__PURE__ */ React69.createElement("div", {
3835
+ className: "result-section"
3836
+ }, CollapsibleContent);
3837
+ }
3838
+ );
3568
3839
 
3569
3840
  // src/reports/components/report-sections/combined-report-rules-only-sections.tsx
3570
- import * as React70 from "react";
3571
- var makeCombinedReportRulesOnlySection = (options) => NamedFC("CombinedReportRulesOnlySection", ({ deps, cardsViewData, cardSelectionMessageCreator }) => {
3572
- const { outcomeType, title: title2 } = options;
3573
- const cardRuleResults = cardsViewData.cards[outcomeType];
3574
- const sectionId = `${outcomeType}-checks-section`;
3575
- const CollapsibleContent = deps.collapsibleControl({
3576
- id: sectionId,
3577
- header: /* @__PURE__ */ React70.createElement(CombinedReportResultSectionTitle, {
3578
- outcomeCount: cardRuleResults.length,
3579
- outcomeType,
3580
- title: title2,
3581
- titleSize: "title"
3582
- }),
3583
- content: /* @__PURE__ */ React70.createElement(RulesOnly, {
3584
- deps,
3585
- cardRuleResults,
3586
- outcomeType
3587
- }),
3588
- onExpandToggle: (event) => {
3589
- cardSelectionMessageCreator.toggleRuleExpandCollapse(sectionId, event);
3590
- },
3591
- headingLevel: 3,
3592
- deps: null
3593
- });
3594
- return /* @__PURE__ */ React70.createElement("div", {
3595
- className: "result-section"
3596
- }, CollapsibleContent);
3597
- });
3841
+ var React70 = __toESM(require("react"));
3842
+ var makeCombinedReportRulesOnlySection = (options) => NamedFC(
3843
+ "CombinedReportRulesOnlySection",
3844
+ ({ deps, cardsViewData, cardSelectionMessageCreator }) => {
3845
+ const { outcomeType, title: title2 } = options;
3846
+ const cardRuleResults = cardsViewData.cards[outcomeType];
3847
+ const sectionId = `${outcomeType}-checks-section`;
3848
+ const CollapsibleContent = deps.collapsibleControl({
3849
+ id: sectionId,
3850
+ header: /* @__PURE__ */ React70.createElement(CombinedReportResultSectionTitle, {
3851
+ outcomeCount: cardRuleResults.length,
3852
+ outcomeType,
3853
+ title: title2,
3854
+ titleSize: "title"
3855
+ }),
3856
+ content: /* @__PURE__ */ React70.createElement(RulesOnly, {
3857
+ deps,
3858
+ cardRuleResults,
3859
+ outcomeType
3860
+ }),
3861
+ onExpandToggle: (event) => {
3862
+ cardSelectionMessageCreator == null ? void 0 : cardSelectionMessageCreator.toggleRuleExpandCollapse(sectionId, event);
3863
+ },
3864
+ headingLevel: 3,
3865
+ deps: null
3866
+ });
3867
+ return /* @__PURE__ */ React70.createElement("div", {
3868
+ className: "result-section"
3869
+ }, CollapsibleContent);
3870
+ }
3871
+ );
3598
3872
  var CombinedReportPassedSection = makeCombinedReportRulesOnlySection({
3599
3873
  outcomeType: "pass",
3600
3874
  title: "Passed rules"
@@ -3605,10 +3879,10 @@ var CombinedReportNotApplicableSection = makeCombinedReportRulesOnlySection({
3605
3879
  });
3606
3880
 
3607
3881
  // src/reports/components/report-sections/combined-report-summary-section.tsx
3608
- import * as React72 from "react";
3882
+ var React72 = __toESM(require("react"));
3609
3883
 
3610
3884
  // src/reports/components/report-sections/urls-summary-section.tsx
3611
- import * as React71 from "react";
3885
+ var React71 = __toESM(require("react"));
3612
3886
 
3613
3887
  // src/reports/components/url-outcome-type.ts
3614
3888
  var allUrlOutcomeTypes = ["fail", "unscannable", "pass"];
@@ -3659,96 +3933,111 @@ var UrlsSummarySection = NamedFC("UrlsSummarySection", (props) => {
3659
3933
  });
3660
3934
 
3661
3935
  // src/reports/components/report-sections/combined-report-summary-section.tsx
3662
- var CombinedReportSummarySection = NamedFC("CombinedReportSummarySection", (props) => {
3663
- const { cardsViewData, urlResultCounts } = props;
3664
- const cards = cardsViewData.cards;
3665
- let failedInstances = 0;
3666
- cards.fail.forEach((failedScanResult) => {
3667
- failedScanResult.nodes.forEach((failureNode) => {
3668
- failedInstances += failureNode.identifiers.urls.urlInfos.length;
3936
+ var CombinedReportSummarySection = NamedFC(
3937
+ "CombinedReportSummarySection",
3938
+ (props) => {
3939
+ const { cardsViewData, urlResultCounts } = props;
3940
+ const cards = cardsViewData.cards;
3941
+ let failedInstances = 0;
3942
+ cards.fail.forEach((failedScanResult) => {
3943
+ failedScanResult.nodes.forEach((failureNode) => {
3944
+ failedInstances += failureNode.identifiers.urls.urlInfos.length;
3945
+ });
3669
3946
  });
3670
- });
3671
- const urlsSummarySectionProps = {
3672
- passedUrlsCount: urlResultCounts.passedUrls,
3673
- failedUrlsCount: urlResultCounts.failedUrls,
3674
- notScannedUrlsCount: urlResultCounts.unscannableUrls,
3675
- failureInstancesCount: failedInstances
3676
- };
3677
- return /* @__PURE__ */ React72.createElement(UrlsSummarySection, {
3678
- ...urlsSummarySectionProps
3679
- });
3680
- });
3947
+ const urlsSummarySectionProps = {
3948
+ passedUrlsCount: urlResultCounts.passedUrls,
3949
+ failedUrlsCount: urlResultCounts.failedUrls,
3950
+ notScannedUrlsCount: urlResultCounts.unscannableUrls,
3951
+ failureInstancesCount: failedInstances
3952
+ };
3953
+ return /* @__PURE__ */ React72.createElement(UrlsSummarySection, {
3954
+ ...urlsSummarySectionProps
3955
+ });
3956
+ }
3957
+ );
3681
3958
 
3682
3959
  // src/reports/components/report-sections/rules-results-container.tsx
3683
- import * as React73 from "react";
3960
+ var React73 = __toESM(require("react"));
3684
3961
 
3685
3962
  // src/reports/components/report-sections/rules-results-container.scss
3686
3963
  var rules_results_container_default = { "rulesResultsContainer": "rules-results-container--HaLDw", "resultsHeading": "results-heading--H9Puz" };
3687
3964
 
3688
3965
  // src/reports/components/report-sections/rules-results-container.tsx
3689
- var RulesResultsContainer = NamedFC("RulesResultsContainer", ({ children, getCollapsibleScript }) => {
3690
- return /* @__PURE__ */ React73.createElement(React73.Fragment, null, /* @__PURE__ */ React73.createElement("div", {
3691
- className: rules_results_container_default.rulesResultsContainer
3692
- }, /* @__PURE__ */ React73.createElement("div", {
3693
- className: rules_results_container_default.resultsHeading
3694
- }, /* @__PURE__ */ React73.createElement("h2", null, "Rules")), children), /* @__PURE__ */ React73.createElement("script", {
3695
- dangerouslySetInnerHTML: { __html: getCollapsibleScript() }
3696
- }));
3697
- });
3966
+ var RulesResultsContainer = NamedFC(
3967
+ "RulesResultsContainer",
3968
+ ({ children, getCollapsibleScript }) => {
3969
+ return /* @__PURE__ */ React73.createElement(React73.Fragment, null, /* @__PURE__ */ React73.createElement("div", {
3970
+ className: rules_results_container_default.rulesResultsContainer
3971
+ }, /* @__PURE__ */ React73.createElement("div", {
3972
+ className: rules_results_container_default.resultsHeading
3973
+ }, /* @__PURE__ */ React73.createElement("h2", null, "Rules")), children), /* @__PURE__ */ React73.createElement("script", {
3974
+ dangerouslySetInnerHTML: { __html: getCollapsibleScript() }
3975
+ }));
3976
+ }
3977
+ );
3698
3978
 
3699
3979
  // src/reports/components/report-sections/summary-report-details-section.tsx
3700
- import { css as css8 } from "@fluentui/react";
3701
- import * as React74 from "react";
3980
+ var import_react9 = require("@fluentui/react");
3981
+ var React74 = __toESM(require("react"));
3702
3982
 
3703
3983
  // src/reports/components/report-sections/summary-report-details-section.scss
3704
3984
  var summary_report_details_section_default = { "crawlDetailsSection": "crawl-details-section--a6evz", "crawlDetailsSectionList": "crawl-details-section-list--WV1Di", "icon": "icon--APJEn", "targetSite": "targetSite--wBJT-", "text": "text--rViTo", "label": "label--DUNYf", "noIcon": "no-icon--VrSr5" };
3705
3985
 
3706
3986
  // src/reports/components/report-sections/summary-report-details-section.tsx
3707
- var SummaryReportDetailsSection = NamedFC("SummaryReportDetailsSection", (props) => {
3708
- const { scanMetadata, toUtcString, secondsToTimeString } = props;
3709
- const scanTimespan = scanMetadata.timespan;
3710
- const createListItem = (label, content, icon, className) => icon ? /* @__PURE__ */ React74.createElement("li", {
3711
- key: label,
3712
- className
3713
- }, /* @__PURE__ */ React74.createElement("span", {
3714
- className: summary_report_details_section_default.icon,
3715
- "aria-hidden": "true"
3716
- }, icon), /* @__PURE__ */ React74.createElement("span", {
3717
- className: summary_report_details_section_default.label
3718
- }, `${label} `), /* @__PURE__ */ React74.createElement("span", {
3719
- className: summary_report_details_section_default.text
3720
- }, content)) : /* @__PURE__ */ React74.createElement("li", {
3721
- key: label,
3722
- className
3723
- }, /* @__PURE__ */ React74.createElement("span", {
3724
- className: css8(summary_report_details_section_default.noIcon, summary_report_details_section_default.label)
3725
- }, `${label} `), /* @__PURE__ */ React74.createElement("span", {
3726
- className: summary_report_details_section_default.text
3727
- }, content));
3728
- const listItems = [];
3729
- listItems.push(createListItem("Target site", /* @__PURE__ */ React74.createElement(NewTabLinkWithConfirmationDialog, {
3730
- href: scanMetadata.targetAppInfo.url,
3731
- title: scanMetadata.targetAppInfo.name
3732
- }, scanMetadata.targetAppInfo.url), /* @__PURE__ */ React74.createElement(UrlIcon, null), summary_report_details_section_default.targetSite));
3733
- if (scanTimespan.scanStart != null) {
3734
- const scanStartUTC = toUtcString(scanTimespan.scanStart);
3735
- listItems.push(createListItem("Scans started", scanStartUTC, /* @__PURE__ */ React74.createElement(DateIcon, null)));
3736
- }
3737
- const scanCompleteUTC = toUtcString(scanTimespan.scanComplete);
3738
- listItems.push(createListItem("Scans completed", scanCompleteUTC));
3739
- if (scanTimespan.durationSeconds != null) {
3740
- const duration = secondsToTimeString(scanTimespan.durationSeconds);
3741
- listItems.push(createListItem("Duration", duration));
3742
- }
3743
- return /* @__PURE__ */ React74.createElement("div", {
3744
- className: summary_report_details_section_default.crawlDetailsSection
3745
- }, /* @__PURE__ */ React74.createElement("h2", null, "Scan details"), /* @__PURE__ */ React74.createElement("ul", {
3746
- className: summary_report_details_section_default.crawlDetailsSectionList
3747
- }, listItems));
3748
- });
3987
+ var SummaryReportDetailsSection = NamedFC(
3988
+ "SummaryReportDetailsSection",
3989
+ (props) => {
3990
+ const { scanMetadata, toUtcString, secondsToTimeString } = props;
3991
+ const scanTimespan = scanMetadata.timespan;
3992
+ const createListItem = (label, content, icon, className) => icon ? /* @__PURE__ */ React74.createElement("li", {
3993
+ key: label,
3994
+ className
3995
+ }, /* @__PURE__ */ React74.createElement("span", {
3996
+ className: summary_report_details_section_default.icon
3997
+ }, icon), /* @__PURE__ */ React74.createElement("span", {
3998
+ className: summary_report_details_section_default.label
3999
+ }, `${label} `), /* @__PURE__ */ React74.createElement("span", {
4000
+ className: summary_report_details_section_default.text
4001
+ }, content)) : /* @__PURE__ */ React74.createElement("li", {
4002
+ key: label,
4003
+ className
4004
+ }, /* @__PURE__ */ React74.createElement("span", {
4005
+ className: (0, import_react9.css)(summary_report_details_section_default.noIcon, summary_report_details_section_default.label)
4006
+ }, `${label} `), /* @__PURE__ */ React74.createElement("span", {
4007
+ className: summary_report_details_section_default.text
4008
+ }, content));
4009
+ const listItems = [];
4010
+ listItems.push(
4011
+ createListItem(
4012
+ "Target site",
4013
+ /* @__PURE__ */ React74.createElement(NewTabLinkWithConfirmationDialog, {
4014
+ href: scanMetadata.targetAppInfo.url,
4015
+ title: scanMetadata.targetAppInfo.name
4016
+ }, scanMetadata.targetAppInfo.url),
4017
+ /* @__PURE__ */ React74.createElement(UrlIcon, null),
4018
+ summary_report_details_section_default.targetSite
4019
+ )
4020
+ );
4021
+ if (scanTimespan.scanStart != null) {
4022
+ const scanStartUTC = toUtcString(scanTimespan.scanStart);
4023
+ listItems.push(createListItem("Scans started", scanStartUTC, /* @__PURE__ */ React74.createElement(DateIcon, null)));
4024
+ }
4025
+ const scanCompleteUTC = toUtcString(scanTimespan.scanComplete);
4026
+ listItems.push(createListItem("Scans completed", scanCompleteUTC));
4027
+ if (scanTimespan.durationSeconds != null) {
4028
+ const duration = secondsToTimeString(scanTimespan.durationSeconds);
4029
+ listItems.push(createListItem("Duration", duration));
4030
+ }
4031
+ return /* @__PURE__ */ React74.createElement("div", {
4032
+ className: summary_report_details_section_default.crawlDetailsSection
4033
+ }, /* @__PURE__ */ React74.createElement("h2", null, "Scan details"), /* @__PURE__ */ React74.createElement("ul", {
4034
+ className: summary_report_details_section_default.crawlDetailsSectionList
4035
+ }, listItems));
4036
+ }
4037
+ );
3749
4038
 
3750
4039
  // src/reports/components/report-sections/summary-report-header-section.tsx
3751
- import * as React75 from "react";
4040
+ var React75 = __toESM(require("react"));
3752
4041
  var SummaryReportHeaderSection = NamedFC("SummaryReportHeaderSection", () => {
3753
4042
  return /* @__PURE__ */ React75.createElement("header", null, /* @__PURE__ */ React75.createElement(HeaderBar, {
3754
4043
  headerText: brand
@@ -3756,7 +4045,7 @@ var SummaryReportHeaderSection = NamedFC("SummaryReportHeaderSection", () => {
3756
4045
  });
3757
4046
 
3758
4047
  // src/reports/components/summary-report-head.tsx
3759
- import * as React76 from "react";
4048
+ var React76 = __toESM(require("react"));
3760
4049
  var SummaryReportHead = NamedFC("SummaryReportHead", () => {
3761
4050
  return /* @__PURE__ */ React76.createElement("head", null, /* @__PURE__ */ React76.createElement("meta", {
3762
4051
  charSet: "UTF-8"
@@ -3786,37 +4075,40 @@ var CombinedReportSectionFactory = {
3786
4075
  };
3787
4076
 
3788
4077
  // src/reports/components/report-sections/failed-urls-section.tsx
3789
- import * as React80 from "react";
4078
+ var React80 = __toESM(require("react"));
3790
4079
 
3791
4080
  // src/reports/components/report-sections/collapsible-url-result-section.tsx
3792
- import * as React77 from "react";
4081
+ var React77 = __toESM(require("react"));
3793
4082
 
3794
4083
  // src/reports/components/report-sections/collapsible-url-result-section.scss
3795
4084
  var collapsible_url_result_section_default = { "urlResultSection": "url-result-section--SkOlZ" };
3796
4085
 
3797
4086
  // src/reports/components/report-sections/collapsible-url-result-section.tsx
3798
- var CollapsibleUrlResultSection = NamedFC("CollapsibleUrlResultSection", (props) => {
3799
- const { containerId, deps, content } = props;
3800
- const CollapsibleContent = deps.collapsibleControl({
3801
- id: containerId,
3802
- header: /* @__PURE__ */ React77.createElement(ResultSectionTitle, {
3803
- ...props,
3804
- titleSize: "heading"
3805
- }),
3806
- content,
3807
- headingLevel: 3,
3808
- deps: null
3809
- });
3810
- return /* @__PURE__ */ React77.createElement("div", {
3811
- className: collapsible_url_result_section_default.urlResultSection
3812
- }, CollapsibleContent);
3813
- });
4087
+ var CollapsibleUrlResultSection = NamedFC(
4088
+ "CollapsibleUrlResultSection",
4089
+ (props) => {
4090
+ const { containerId, deps, content } = props;
4091
+ const CollapsibleContent = deps.collapsibleControl({
4092
+ id: containerId,
4093
+ header: /* @__PURE__ */ React77.createElement(ResultSectionTitle, {
4094
+ ...props,
4095
+ titleSize: "heading"
4096
+ }),
4097
+ content,
4098
+ headingLevel: 3,
4099
+ deps: null
4100
+ });
4101
+ return /* @__PURE__ */ React77.createElement("div", {
4102
+ className: collapsible_url_result_section_default.urlResultSection
4103
+ }, CollapsibleContent);
4104
+ }
4105
+ );
3814
4106
 
3815
4107
  // src/reports/components/report-sections/url-scan-results-table.tsx
3816
- import * as React79 from "react";
4108
+ var React79 = __toESM(require("react"));
3817
4109
 
3818
4110
  // src/reports/components/report-sections/summary-results-table.tsx
3819
- import * as React78 from "react";
4111
+ var React78 = __toESM(require("react"));
3820
4112
 
3821
4113
  // src/reports/components/report-sections/summary-results-table.scss
3822
4114
  var summary_results_table_default = { "summaryResultsTable": "summary-results-table--Iezr-", "textCell": "text-cell--EaUrM", "urlCell": "url-cell--mg-3l" };
@@ -3826,92 +4118,101 @@ var cellClassNames = {
3826
4118
  text: summary_results_table_default.textCell,
3827
4119
  url: summary_results_table_default.urlCell
3828
4120
  };
3829
- var SummaryResultsTable = NamedFC("SummaryResultsTable", (props) => {
3830
- const { id: id2, columns, rows } = props;
3831
- const getHeaderId = (colIndex) => {
3832
- return `${id2}-header${colIndex}`;
3833
- };
3834
- const getTableHeaders = () => {
3835
- return /* @__PURE__ */ React78.createElement("tr", null, columns.map((column, index) => {
3836
- return /* @__PURE__ */ React78.createElement("th", {
3837
- key: index,
3838
- id: getHeaderId(index)
3839
- }, column.header);
3840
- }));
3841
- };
3842
- const getCellClassName = (colIndex) => {
3843
- const contentType = columns[colIndex].contentType;
3844
- return cellClassNames[contentType];
3845
- };
3846
- const getRow = (row, rowIndex) => {
3847
- return /* @__PURE__ */ React78.createElement("tr", {
3848
- key: rowIndex
3849
- }, row.map((item, colIndex) => {
3850
- return /* @__PURE__ */ React78.createElement("td", {
3851
- key: colIndex,
3852
- headers: getHeaderId(colIndex),
3853
- className: getCellClassName(colIndex)
3854
- }, item);
3855
- }));
3856
- };
3857
- const getTableRows = () => {
3858
- return rows.map(getRow);
3859
- };
3860
- return /* @__PURE__ */ React78.createElement("table", {
3861
- className: summary_results_table_default.summaryResultsTable,
3862
- id: id2
3863
- }, /* @__PURE__ */ React78.createElement("thead", null, getTableHeaders()), /* @__PURE__ */ React78.createElement("tbody", null, getTableRows()));
3864
- });
4121
+ var SummaryResultsTable = NamedFC(
4122
+ "SummaryResultsTable",
4123
+ (props) => {
4124
+ const { id: id2, columns, rows } = props;
4125
+ const getHeaderId = (colIndex) => {
4126
+ return `${id2}-header${colIndex}`;
4127
+ };
4128
+ const getTableHeaders = () => {
4129
+ return /* @__PURE__ */ React78.createElement("tr", null, columns.map((column, index) => {
4130
+ return /* @__PURE__ */ React78.createElement("th", {
4131
+ key: index,
4132
+ id: getHeaderId(index)
4133
+ }, column.header);
4134
+ }));
4135
+ };
4136
+ const getCellClassName = (colIndex) => {
4137
+ const contentType = columns[colIndex].contentType;
4138
+ return cellClassNames[contentType];
4139
+ };
4140
+ const getRow = (row, rowIndex) => {
4141
+ return /* @__PURE__ */ React78.createElement("tr", {
4142
+ key: rowIndex
4143
+ }, row.map((item, colIndex) => {
4144
+ return /* @__PURE__ */ React78.createElement("td", {
4145
+ key: colIndex,
4146
+ headers: getHeaderId(colIndex),
4147
+ className: getCellClassName(colIndex)
4148
+ }, item);
4149
+ }));
4150
+ };
4151
+ const getTableRows = () => {
4152
+ return rows.map(getRow);
4153
+ };
4154
+ return /* @__PURE__ */ React78.createElement("table", {
4155
+ className: summary_results_table_default.summaryResultsTable,
4156
+ id: id2
4157
+ }, /* @__PURE__ */ React78.createElement("thead", null, getTableHeaders()), /* @__PURE__ */ React78.createElement("tbody", null, getTableRows()));
4158
+ }
4159
+ );
3865
4160
 
3866
4161
  // src/reports/components/report-sections/url-scan-results-table.tsx
3867
- var UrlScanResultsTable = NamedFC("UrlScanResultsTable", (props) => {
3868
- const results = props.results;
3869
- let failureInstances = 0;
3870
- results.forEach((result) => failureInstances += result.numFailures);
3871
- const columns = [
3872
- { header: `# failure instances (${failureInstances})`, contentType: "text" },
3873
- { header: "URL", contentType: "url" },
3874
- { header: "Link to report", contentType: "text" }
3875
- ];
3876
- const rows = results.map((result) => {
3877
- const { url, reportLocation } = result;
3878
- const urlLink = /* @__PURE__ */ React79.createElement(NewTabLink, {
3879
- href: url
3880
- }, url);
3881
- const reportLink = /* @__PURE__ */ React79.createElement(NewTabLink, {
3882
- href: reportLocation,
3883
- "aria-label": `Report for ${url}`
3884
- }, "Report");
3885
- return [`${result.numFailures}`, urlLink, reportLink];
3886
- });
3887
- return /* @__PURE__ */ React79.createElement(SummaryResultsTable, {
3888
- columns,
3889
- rows,
3890
- id: props.id
3891
- });
3892
- });
4162
+ var UrlScanResultsTable = NamedFC(
4163
+ "UrlScanResultsTable",
4164
+ (props) => {
4165
+ const results = props.results;
4166
+ let failureInstances = 0;
4167
+ results.forEach((result) => failureInstances += result.numFailures);
4168
+ const columns = [
4169
+ { header: `# failure instances (${failureInstances})`, contentType: "text" },
4170
+ { header: "URL", contentType: "url" },
4171
+ { header: "Link to report", contentType: "text" }
4172
+ ];
4173
+ const rows = results.map((result) => {
4174
+ const { url, reportLocation } = result;
4175
+ const urlLink = /* @__PURE__ */ React79.createElement(NewTabLink, {
4176
+ href: url
4177
+ }, url);
4178
+ const reportLink = /* @__PURE__ */ React79.createElement(NewTabLink, {
4179
+ href: reportLocation,
4180
+ "aria-label": `Report for ${url}`
4181
+ }, "Report");
4182
+ return [`${result.numFailures}`, urlLink, reportLink];
4183
+ });
4184
+ return /* @__PURE__ */ React79.createElement(SummaryResultsTable, {
4185
+ columns,
4186
+ rows,
4187
+ id: props.id
4188
+ });
4189
+ }
4190
+ );
3893
4191
 
3894
4192
  // src/reports/components/report-sections/failed-urls-section.tsx
3895
- var FailedUrlsSection = NamedFC("FailedUrlsSection", ({ results, deps }) => {
3896
- const table = /* @__PURE__ */ React80.createElement(UrlScanResultsTable, {
3897
- results: results.failed,
3898
- id: "failed-urls-table"
3899
- });
3900
- return /* @__PURE__ */ React80.createElement(CollapsibleUrlResultSection, {
3901
- deps,
3902
- title: "Failed URLs",
3903
- outcomeType: "fail",
3904
- badgeCount: results.failed.length,
3905
- containerId: "failed-urls-section",
3906
- content: table
3907
- });
3908
- });
4193
+ var FailedUrlsSection = NamedFC(
4194
+ "FailedUrlsSection",
4195
+ ({ results, deps }) => {
4196
+ const table = /* @__PURE__ */ React80.createElement(UrlScanResultsTable, {
4197
+ results: results.failed,
4198
+ id: "failed-urls-table"
4199
+ });
4200
+ return /* @__PURE__ */ React80.createElement(CollapsibleUrlResultSection, {
4201
+ deps,
4202
+ title: "Failed URLs",
4203
+ outcomeType: "fail",
4204
+ badgeCount: results.failed.length,
4205
+ containerId: "failed-urls-section",
4206
+ content: table
4207
+ });
4208
+ }
4209
+ );
3909
4210
 
3910
4211
  // src/reports/components/report-sections/not-scanned-urls-section.tsx
3911
- import * as React82 from "react";
4212
+ var React82 = __toESM(require("react"));
3912
4213
 
3913
4214
  // src/reports/components/report-sections/url-errors-table.tsx
3914
- import * as React81 from "react";
4215
+ var React81 = __toESM(require("react"));
3915
4216
  var UrlErrorsTable = NamedFC("UrlErrorsTable", (props) => {
3916
4217
  const errors = props.errors;
3917
4218
  const columns = [
@@ -3937,71 +4238,85 @@ var UrlErrorsTable = NamedFC("UrlErrorsTable", (props) => {
3937
4238
  });
3938
4239
 
3939
4240
  // src/reports/components/report-sections/not-scanned-urls-section.tsx
3940
- var NotScannedUrlsSection = NamedFC("NotScannedUrlsSection", ({ results, deps }) => {
3941
- const table = /* @__PURE__ */ React82.createElement(UrlErrorsTable, {
3942
- errors: results.unscannable,
3943
- id: "not-scanned-urls-table"
3944
- });
3945
- return /* @__PURE__ */ React82.createElement(CollapsibleUrlResultSection, {
3946
- deps,
3947
- title: "Not scanned URLs",
3948
- outcomeType: "unscannable",
3949
- badgeCount: results.unscannable.length,
3950
- containerId: "not-scanned-urls-section",
3951
- content: table
3952
- });
3953
- });
4241
+ var NotScannedUrlsSection = NamedFC(
4242
+ "NotScannedUrlsSection",
4243
+ ({ results, deps }) => {
4244
+ const table = /* @__PURE__ */ React82.createElement(UrlErrorsTable, {
4245
+ errors: results.unscannable,
4246
+ id: "not-scanned-urls-table"
4247
+ });
4248
+ return /* @__PURE__ */ React82.createElement(CollapsibleUrlResultSection, {
4249
+ deps,
4250
+ title: "Not scanned URLs",
4251
+ outcomeType: "unscannable",
4252
+ badgeCount: results.unscannable.length,
4253
+ containerId: "not-scanned-urls-section",
4254
+ content: table
4255
+ });
4256
+ }
4257
+ );
3954
4258
 
3955
4259
  // src/reports/components/report-sections/passed-urls-section.tsx
3956
- import * as React83 from "react";
3957
- var PassedUrlsSection = NamedFC("PassedUrlsSection", ({ results, deps }) => {
3958
- const table = /* @__PURE__ */ React83.createElement(UrlScanResultsTable, {
3959
- results: results.passed,
3960
- id: "passed-urls-table"
3961
- });
3962
- return /* @__PURE__ */ React83.createElement(CollapsibleUrlResultSection, {
3963
- deps,
3964
- title: "Passed URLs",
3965
- outcomeType: "pass",
3966
- badgeCount: results.passed.length,
3967
- containerId: "passed-urls-section",
3968
- content: table
3969
- });
3970
- });
4260
+ var React83 = __toESM(require("react"));
4261
+ var PassedUrlsSection = NamedFC(
4262
+ "PassedUrlsSection",
4263
+ ({ results, deps }) => {
4264
+ const table = /* @__PURE__ */ React83.createElement(UrlScanResultsTable, {
4265
+ results: results.passed,
4266
+ id: "passed-urls-table"
4267
+ });
4268
+ return /* @__PURE__ */ React83.createElement(CollapsibleUrlResultSection, {
4269
+ deps,
4270
+ title: "Passed URLs",
4271
+ outcomeType: "pass",
4272
+ badgeCount: results.passed.length,
4273
+ containerId: "passed-urls-section",
4274
+ content: table
4275
+ });
4276
+ }
4277
+ );
3971
4278
 
3972
4279
  // src/reports/components/report-sections/results-by-url-container.tsx
3973
- import * as React84 from "react";
4280
+ var React84 = __toESM(require("react"));
3974
4281
 
3975
4282
  // src/reports/components/report-sections/results-by-url-container.scss
3976
4283
  var results_by_url_container_default = { "urlResultsContainer": "url-results-container---dq9B", "resultsHeading": "results-heading--2dWBX" };
3977
4284
 
3978
4285
  // src/reports/components/report-sections/results-by-url-container.tsx
3979
- var ResultsByUrlContainer = NamedFC("ResultsContainer", ({ children, getCollapsibleScript }) => {
3980
- return /* @__PURE__ */ React84.createElement(React84.Fragment, null, /* @__PURE__ */ React84.createElement("div", {
3981
- className: results_by_url_container_default.urlResultsContainer
3982
- }, /* @__PURE__ */ React84.createElement("div", {
3983
- className: results_by_url_container_default.resultsHeading
3984
- }, /* @__PURE__ */ React84.createElement("h2", null, "Results by URL")), children), /* @__PURE__ */ React84.createElement("script", {
3985
- dangerouslySetInnerHTML: { __html: getCollapsibleScript() }
3986
- }));
3987
- });
4286
+ var ResultsByUrlContainer = NamedFC(
4287
+ "ResultsContainer",
4288
+ ({ children, getCollapsibleScript }) => {
4289
+ return /* @__PURE__ */ React84.createElement(React84.Fragment, null, /* @__PURE__ */ React84.createElement("div", {
4290
+ className: results_by_url_container_default.urlResultsContainer
4291
+ }, /* @__PURE__ */ React84.createElement("div", {
4292
+ className: results_by_url_container_default.resultsHeading
4293
+ }, /* @__PURE__ */ React84.createElement("h2", null, "Results by URL")), children), /* @__PURE__ */ React84.createElement("script", {
4294
+ dangerouslySetInnerHTML: { __html: getCollapsibleScript() }
4295
+ }));
4296
+ }
4297
+ );
3988
4298
 
3989
4299
  // src/reports/components/report-sections/summary-report-summary-section.tsx
3990
- import * as React85 from "react";
3991
- var SummaryReportSummarySection = NamedFC("SummaryReportSummarySection", (props) => {
3992
- const { results } = props;
3993
- let failedInstances = 0;
3994
- results.failed.forEach((failedScanResult) => failedInstances += failedScanResult.numFailures);
3995
- const urlsSummarySectionProps = {
3996
- passedUrlsCount: results.passed.length,
3997
- failedUrlsCount: results.failed.length,
3998
- notScannedUrlsCount: results.unscannable.length,
3999
- failureInstancesCount: failedInstances
4000
- };
4001
- return /* @__PURE__ */ React85.createElement(UrlsSummarySection, {
4002
- ...urlsSummarySectionProps
4003
- });
4004
- });
4300
+ var React85 = __toESM(require("react"));
4301
+ var SummaryReportSummarySection = NamedFC(
4302
+ "SummaryReportSummarySection",
4303
+ (props) => {
4304
+ const { results } = props;
4305
+ let failedInstances = 0;
4306
+ results.failed.forEach(
4307
+ (failedScanResult) => failedInstances += failedScanResult.numFailures
4308
+ );
4309
+ const urlsSummarySectionProps = {
4310
+ passedUrlsCount: results.passed.length,
4311
+ failedUrlsCount: results.failed.length,
4312
+ notScannedUrlsCount: results.unscannable.length,
4313
+ failureInstancesCount: failedInstances
4314
+ };
4315
+ return /* @__PURE__ */ React85.createElement(UrlsSummarySection, {
4316
+ ...urlsSummarySectionProps
4317
+ });
4318
+ }
4319
+ );
4005
4320
 
4006
4321
  // src/reports/components/report-sections/summary-report-section-factory.tsx
4007
4322
  var SummaryReportSectionFactory = {
@@ -4060,7 +4375,11 @@ var AxeResultsReport = class {
4060
4375
  scanComplete: scanDate
4061
4376
  }
4062
4377
  };
4063
- const html = reportHtmlGenerator.generateHtml(description, cardsViewModel, scanMetadata);
4378
+ const html = reportHtmlGenerator.generateHtml(
4379
+ description,
4380
+ cardsViewModel,
4381
+ scanMetadata
4382
+ );
4064
4383
  return html;
4065
4384
  }
4066
4385
  };
@@ -4089,13 +4408,19 @@ var CombinedResultsReport = class {
4089
4408
  toolData: this.toolInfo,
4090
4409
  timespan
4091
4410
  };
4092
- const cardsByRule = this.resultsToCardsConverter.convertResults(results.resultsByRule);
4093
- return this.deps.reportHtmlGenerator.generateHtml(scanMetadata, cardsByRule, results.urlResults);
4411
+ const cardsByRule = this.resultsToCardsConverter.convertResults(
4412
+ results.resultsByRule
4413
+ );
4414
+ return this.deps.reportHtmlGenerator.generateHtml(
4415
+ scanMetadata,
4416
+ cardsByRule,
4417
+ results.urlResults
4418
+ );
4094
4419
  }
4095
4420
  };
4096
4421
 
4097
4422
  // src/reports/package/combined-results-to-cards-model-converter.ts
4098
- import { isNil } from "lodash";
4423
+ var import_lodash14 = require("lodash");
4099
4424
  var CombinedResultsToCardsModelConverter = class {
4100
4425
  constructor(mapAxeTagsToGuidanceLinks2, cardSelectionViewData, uuidGenerator, helpUrlGetter, getFixResolution2) {
4101
4426
  this.mapAxeTagsToGuidanceLinks = mapAxeTagsToGuidanceLinks2;
@@ -4120,7 +4445,7 @@ var CombinedResultsToCardsModelConverter = class {
4120
4445
  };
4121
4446
  };
4122
4447
  this.getCardRuleResults = (rules) => {
4123
- if (isNil(rules)) {
4448
+ if ((0, import_lodash14.isNil)(rules)) {
4124
4449
  return [];
4125
4450
  }
4126
4451
  return rules.map((rule) => this.getCardRuleResult(rule));
@@ -4132,7 +4457,7 @@ var CombinedResultsToCardsModelConverter = class {
4132
4457
  url: this.helpUrlGetter.getHelpUrl(rule.ruleId, rule.ruleUrl),
4133
4458
  isExpanded: false,
4134
4459
  guidance: this.mapAxeTagsToGuidanceLinks(rule.tags),
4135
- nodes: isNil(nodes) ? [] : nodes
4460
+ nodes: (0, import_lodash14.isNil)(nodes) ? [] : nodes
4136
4461
  };
4137
4462
  };
4138
4463
  this.getFailuresGroupedByRule = (groupedFailures) => {
@@ -4206,13 +4531,16 @@ var SummaryResultsReport = class {
4206
4531
  toolData: this.toolInfo,
4207
4532
  timespan
4208
4533
  };
4209
- const html = reportHtmlGenerator.generateHtml(scanMetadata, results);
4534
+ const html = reportHtmlGenerator.generateHtml(
4535
+ scanMetadata,
4536
+ results
4537
+ );
4210
4538
  return html;
4211
4539
  }
4212
4540
  };
4213
4541
 
4214
4542
  // src/reports/react-static-renderer.ts
4215
- import * as ReactDOMServer from "react-dom/server";
4543
+ var ReactDOMServer = __toESM(require("react-dom/server"));
4216
4544
  var ReactStaticRenderer = class {
4217
4545
  renderToStaticMarkup(element) {
4218
4546
  return ReactDOMServer.renderToStaticMarkup(element);
@@ -4220,7 +4548,7 @@ var ReactStaticRenderer = class {
4220
4548
  };
4221
4549
 
4222
4550
  // src/reports/report-html-generator.tsx
4223
- import * as React86 from "react";
4551
+ var React86 = __toESM(require("react"));
4224
4552
  var ReportHtmlGenerator = class {
4225
4553
  constructor(sectionFactory, reactStaticRenderer, getCollapsibleScript, utcDateConverter, getGuidanceTagsFromGuidanceLinks, fixInstructionProcessor, recommendColor, getPropertyConfiguration2, getNextHeadingLevel) {
4226
4554
  this.sectionFactory = sectionFactory;
@@ -4271,7 +4599,7 @@ var ReportHtmlGenerator = class {
4271
4599
  };
4272
4600
 
4273
4601
  // src/reports/summary-report-html-generator.tsx
4274
- import * as React87 from "react";
4602
+ var React87 = __toESM(require("react"));
4275
4603
  var SummaryReportHtmlGenerator = class {
4276
4604
  constructor(sectionFactory, reactStaticRenderer, getCollapsibleScript, utcDateConverter, secondsToTimeStringConverter) {
4277
4605
  this.sectionFactory = sectionFactory;
@@ -4323,6 +4651,125 @@ var CheckMessageTransformer = class {
4323
4651
  }
4324
4652
  };
4325
4653
 
4654
+ // src/scanner/custom-rules/display-accessible-names.ts
4655
+ var import_axe_core = __toESM(require("axe-core"));
4656
+
4657
+ // src/scanner/axe-utils.ts
4658
+ var axe = __toESM(require("axe-core"));
4659
+ function getMatchesFromRule(ruleId) {
4660
+ return axe._audit.rules.filter((rule) => rule.id === ruleId)[0].matches;
4661
+ }
4662
+ function getEvaluateFromCheck(checkId4) {
4663
+ return axe._audit.checks[checkId4].evaluate;
4664
+ }
4665
+ function getOptionsFromCheck(checkId4) {
4666
+ return axe._audit.checks[checkId4].options;
4667
+ }
4668
+ function getAccessibleText(node) {
4669
+ return axe.commons.text.accessibleText(node);
4670
+ }
4671
+ function getAccessibleDescription(node) {
4672
+ return axe.commons.dom.idrefs(node, "aria-describedby").filter((ref) => ref != null).map((ref) => axe.commons.text.accessibleText(ref)).join(" ");
4673
+ }
4674
+ function getPropertyValuesMatching(node, regex) {
4675
+ const dictionary = {};
4676
+ if (node.hasAttributes()) {
4677
+ const attrs = node.attributes;
4678
+ for (let i = 0; i < attrs.length; i++) {
4679
+ const name = attrs[i].name;
4680
+ if (regex.test(name)) {
4681
+ dictionary[name] = node.getAttribute(name);
4682
+ }
4683
+ }
4684
+ }
4685
+ return dictionary;
4686
+ }
4687
+ function getAttributes(node, attributes) {
4688
+ const retDict = {};
4689
+ attributes.filter((attributeName) => node.hasAttribute(attributeName)).forEach((attributeName) => {
4690
+ const attributeValue = node.getAttribute(attributeName);
4691
+ retDict[attributeName] = attributeValue.length > 0 ? attributeValue : null;
4692
+ });
4693
+ return retDict;
4694
+ }
4695
+ function hasCustomWidgetMarkup(node) {
4696
+ const tabIndex = node.getAttribute("tabindex");
4697
+ const ariaValues = getPropertyValuesMatching(node, /^aria-/);
4698
+ const hasRole = node.hasAttribute("role");
4699
+ return tabIndex === "-1" || Object.keys(ariaValues).length > 0 || hasRole;
4700
+ }
4701
+ function getImageCodedAs(node) {
4702
+ const role = node.getAttribute("role");
4703
+ const alt = node.getAttribute("alt");
4704
+ if (role === "none" || role === "presentation" || alt === "") {
4705
+ return "Decorative";
4706
+ }
4707
+ if (node.tagName.toLowerCase() !== "img" && role !== "img") {
4708
+ return "Decorative";
4709
+ }
4710
+ if (getAccessibleText(node) !== "" || isWhiteSpace(alt)) {
4711
+ return "Meaningful";
4712
+ }
4713
+ return null;
4714
+ }
4715
+ function isWhiteSpace(text) {
4716
+ return text != null && text.length > 0 && text.trim() === "";
4717
+ }
4718
+ function hasBackgoundImage(node) {
4719
+ const computedBackgroundImage = window.getComputedStyle(node).getPropertyValue("background-image");
4720
+ return computedBackgroundImage !== "none";
4721
+ }
4722
+ function getImageType(node) {
4723
+ let imageType = null;
4724
+ if (node.tagName.toLowerCase() === "img") {
4725
+ imageType = "<img>";
4726
+ } else if (node.tagName.toLowerCase() === "i") {
4727
+ imageType = "icon fonts (empty <i> elements)";
4728
+ } else if (node.getAttribute("role") === "img") {
4729
+ imageType = 'Role="img"';
4730
+ } else if (hasBackgoundImage(node)) {
4731
+ imageType = "CSS background-image";
4732
+ }
4733
+ return imageType;
4734
+ }
4735
+
4736
+ // src/scanner/custom-rules/display-accessible-names.ts
4737
+ var accessibleNamesCheckId = "display-accessible-names";
4738
+ var accessibleNamesConfiguration = {
4739
+ checks: [
4740
+ {
4741
+ id: accessibleNamesCheckId,
4742
+ evaluate: evaluateAccessibleNames
4743
+ }
4744
+ ],
4745
+ rule: {
4746
+ id: accessibleNamesCheckId,
4747
+ selector: "[role=alert], [role=alertdialog], [role=application], [role=article], article, [role=banner], [role=blockquote], blockquote, [role=button], button, [role=cell], [role=checkbox], [role=columnheader], [role=combobox], [role=command], [role=complementary], [role=composite], [role=contentinfo], [role=definition], [role=dialog], [role=directory],[role=document], [role=feed], [role=figure], figure, [role=form], form,[role=grid], table, [role=gridcell], td, [role=group], fieldset, [role=heading], h1,h2, h3, h4, h5, h6, [role=img],img,[role=input], [role=landmark], [role=link], a, link, [role=list], [role=listbox], [role=listitem],li, ol, ul, [role=log], [role=main], [role=marquee],[role=math], [role=meter], meter,[role=menu], [role=menubar], [role=menuitem], [role=menuitemcheckbox], [role=menuitemradio], [role=navigation], nav, [role=note], [role=option], option, [role=progressbar], [role=radio], [role=radiogroup], [role=range], [role=region], [role=row], tr, [role=rowgroup], [role=rowheader], th, [role=scrollbar], [role=searchbox], [role=search], [role=select], select, [role=sectionhead],section, [role=separator], hr, [role=slider], [role=status], [role=spinbutton, [role=switch], [role=tab], [role=table], [role=tablelist], [role=tabpanel], [role=term], td, [role=textbox], textarea, th, [role=time], time, [role=timer], [role=toolbar], [role=tooltip], [role=tree], [role=treegrid], [role=treeitem], input,[role=input],[role=window]",
4748
+ enabled: false,
4749
+ any: [accessibleNamesCheckId],
4750
+ matches: hasAccessibleName
4751
+ }
4752
+ };
4753
+ function hasAccessibleName(node) {
4754
+ const nameProhibitedSelectors = "caption, figcaption, [role=caption], code, [role=code], del, [role=deletion], em, [role=emphasis],[role=generic], ins, [role=insertion], p, [role=paragraph], [role=presentation], [role=strong], strong, sub, sup, [role=subscript], [role=superscript], [role=none]";
4755
+ const nativeElements = "blockquote, figure, form, li, meter, table, time,section, tr";
4756
+ if (import_axe_core.default.utils.matchesSelector(node, nameProhibitedSelectors)) {
4757
+ return false;
4758
+ }
4759
+ if (import_axe_core.default.utils.matchesSelector(node, nativeElements) && node.hasAttribute("aria-label") === false && node.hasAttribute("aria-labelledby") === false && node.hasAttribute("title") === false && node.hasAttribute("summary") === false) {
4760
+ return false;
4761
+ }
4762
+ if (getAccessibleText(node) === "") {
4763
+ return false;
4764
+ }
4765
+ return true;
4766
+ }
4767
+ function evaluateAccessibleNames(node) {
4768
+ const accessibleName = getAccessibleText(node);
4769
+ this.data({ accessibleName });
4770
+ return true;
4771
+ }
4772
+
4326
4773
  // src/scanner/custom-rules/headers-attribute-rule.ts
4327
4774
  var headersAttributeCheckId = "headers-attribute";
4328
4775
  var headersAttributeRuleConfiguration = {
@@ -4345,6 +4792,61 @@ function hasHeadersAttribute(node) {
4345
4792
  return headers !== null;
4346
4793
  }
4347
4794
 
4795
+ // src/scanner/label-in-name-utils.ts
4796
+ var import_axe_core2 = __toESM(require("axe-core"));
4797
+ var { sanitize, isHumanInterpretable, subtreeText } = import_axe_core2.default.commons.text;
4798
+ function labelInNameMatches(node, virtualNode) {
4799
+ const accessibleName = node.getAttribute("aria-label") || node.getAttribute("aria-labelledby") ? getAccessibleText(node) : "";
4800
+ if (accessibleName === "" || !isHumanInterpretable(accessibleName.toLowerCase())) {
4801
+ return false;
4802
+ }
4803
+ const visibleText = getVisibleText(virtualNode);
4804
+ if (visibleText === "" || !isHumanInterpretable(visibleText.toLowerCase())) {
4805
+ return false;
4806
+ }
4807
+ return true;
4808
+ }
4809
+ function getLabelInNameData(node, virtualNode) {
4810
+ const visibleText = getVisibleText(virtualNode);
4811
+ const accessibleName = sanitize(getAccessibleText(node));
4812
+ const url = node.getAttribute("href");
4813
+ const labelContainsVisibleText = accessibleName.toLowerCase().includes(visibleText.toLowerCase());
4814
+ return { visibleText, accessibleName, url, labelContainsVisibleText };
4815
+ }
4816
+ function getVisibleText(virtualNode) {
4817
+ const visibleTextSubtreeOptions = {
4818
+ subtreeDescendant: true,
4819
+ ignoreIconLigature: true,
4820
+ ...getOptionsFromCheck("label-content-name-mismatch")
4821
+ };
4822
+ const containedText = subtreeText(virtualNode, visibleTextSubtreeOptions);
4823
+ const sanitizedText = sanitize(containedText);
4824
+ return sanitizedText;
4825
+ }
4826
+
4827
+ // src/scanner/custom-rules/label-in-name.ts
4828
+ var labelInNameCheckId = "label-in-name";
4829
+ var labelInNameConfiguration = {
4830
+ checks: [
4831
+ {
4832
+ id: labelInNameCheckId,
4833
+ evaluate: evaluateLabelInName
4834
+ }
4835
+ ],
4836
+ rule: {
4837
+ id: labelInNameCheckId,
4838
+ selector: "a[aria-label], a[aria-labelledby]",
4839
+ enabled: false,
4840
+ any: [labelInNameCheckId],
4841
+ matches: labelInNameMatches
4842
+ }
4843
+ };
4844
+ function evaluateLabelInName(node, options, virtualNode, context) {
4845
+ const data = getLabelInNameData(node, virtualNode);
4846
+ this.data(data);
4847
+ return true;
4848
+ }
4849
+
4348
4850
  // src/scanner/custom-rules/autocomplete-rule.ts
4349
4851
  var autocompleteCheckId = "autocomplete";
4350
4852
  var autocompleteRuleId = "autocomplete";
@@ -4395,7 +4897,7 @@ function isInTopWindow(win) {
4395
4897
  }
4396
4898
 
4397
4899
  // src/scanner/custom-rules/css-content-rule.ts
4398
- import axe from "axe-core";
4900
+ var import_axe_core3 = __toESM(require("axe-core"));
4399
4901
  var cssContentCheckId = "css-content";
4400
4902
  var cssContentRuleId = "css-content";
4401
4903
  var cssContentConfiguration = {
@@ -4427,7 +4929,7 @@ function getAllPseudoElements(node) {
4427
4929
  const element = elements.item(index);
4428
4930
  const beforeStyles = window.getComputedStyle(element, ":before");
4429
4931
  const afterStyles = window.getComputedStyle(element, ":after");
4430
- if (axe.commons.dom.isVisible(element) && (hasContent(beforeStyles) || hasContent(afterStyles))) {
4932
+ if (import_axe_core3.default.commons.dom.isVisible(element) && (hasContent(beforeStyles) || hasContent(afterStyles))) {
4431
4933
  pseudoElements.push(element);
4432
4934
  }
4433
4935
  }
@@ -4435,7 +4937,7 @@ function getAllPseudoElements(node) {
4435
4937
  }
4436
4938
 
4437
4939
  // src/scanner/custom-rules/css-positioning-rule.ts
4438
- import axe2 from "axe-core";
4940
+ var import_axe_core4 = __toESM(require("axe-core"));
4439
4941
  var cssPositioningCheckId = "css-positioning";
4440
4942
  var cssPositioningRuleId = "css-positioning";
4441
4943
  var cssPositioningConfiguration = {
@@ -4455,7 +4957,7 @@ var cssPositioningConfiguration = {
4455
4957
  };
4456
4958
  function matches(node) {
4457
4959
  const nodeStyle = window.getComputedStyle(node);
4458
- return axe2.commons.dom.isVisible(node) && (isAbsolutePosition(nodeStyle) || isRightFloat(nodeStyle));
4960
+ return import_axe_core4.default.commons.dom.isVisible(node) && (isAbsolutePosition(nodeStyle) || isRightFloat(nodeStyle));
4459
4961
  }
4460
4962
  function isAbsolutePosition(nodeStyle) {
4461
4963
  const position = nodeStyle.getPropertyValue("position").toLowerCase();
@@ -4466,85 +4968,6 @@ function isRightFloat(nodeStyle) {
4466
4968
  return float === "right";
4467
4969
  }
4468
4970
 
4469
- // src/scanner/axe-utils.ts
4470
- import * as axe3 from "axe-core";
4471
- function getMatchesFromRule(ruleId) {
4472
- return axe3._audit.rules.filter((rule) => rule.id === ruleId)[0].matches;
4473
- }
4474
- function getEvaluateFromCheck(checkId4) {
4475
- return axe3._audit.checks[checkId4].evaluate;
4476
- }
4477
- function getOptionsFromCheck(checkId4) {
4478
- return axe3._audit.checks[checkId4].options;
4479
- }
4480
- function getAccessibleText(node) {
4481
- return axe3.commons.text.accessibleText(node);
4482
- }
4483
- function getAccessibleDescription(node) {
4484
- return axe3.commons.dom.idrefs(node, "aria-describedby").filter((ref) => ref != null).map((ref) => axe3.commons.text.accessibleText(ref)).join(" ");
4485
- }
4486
- function getPropertyValuesMatching(node, regex) {
4487
- const dictionary = {};
4488
- if (node.hasAttributes()) {
4489
- const attrs = node.attributes;
4490
- for (let i = 0; i < attrs.length; i++) {
4491
- const name = attrs[i].name;
4492
- if (regex.test(name)) {
4493
- dictionary[name] = node.getAttribute(name);
4494
- }
4495
- }
4496
- }
4497
- return dictionary;
4498
- }
4499
- function getAttributes(node, attributes) {
4500
- const retDict = {};
4501
- attributes.filter((attributeName) => node.hasAttribute(attributeName)).forEach((attributeName) => {
4502
- const attributeValue = node.getAttribute(attributeName);
4503
- retDict[attributeName] = attributeValue.length > 0 ? attributeValue : null;
4504
- });
4505
- return retDict;
4506
- }
4507
- function hasCustomWidgetMarkup(node) {
4508
- const tabIndex = node.getAttribute("tabindex");
4509
- const ariaValues = getPropertyValuesMatching(node, /^aria-/);
4510
- const hasRole = node.hasAttribute("role");
4511
- return tabIndex === "-1" || Object.keys(ariaValues).length > 0 || hasRole;
4512
- }
4513
- function getImageCodedAs(node) {
4514
- const role = node.getAttribute("role");
4515
- const alt = node.getAttribute("alt");
4516
- if (role === "none" || role === "presentation" || alt === "") {
4517
- return "Decorative";
4518
- }
4519
- if (node.tagName.toLowerCase() !== "img" && role !== "img") {
4520
- return "Decorative";
4521
- }
4522
- if (getAccessibleText(node) !== "" || isWhiteSpace(alt)) {
4523
- return "Meaningful";
4524
- }
4525
- return null;
4526
- }
4527
- function isWhiteSpace(text) {
4528
- return text != null && text.length > 0 && text.trim() === "";
4529
- }
4530
- function hasBackgoundImage(node) {
4531
- const computedBackgroundImage = window.getComputedStyle(node).getPropertyValue("background-image");
4532
- return computedBackgroundImage !== "none";
4533
- }
4534
- function getImageType(node) {
4535
- let imageType = null;
4536
- if (node.tagName.toLowerCase() === "img") {
4537
- imageType = "<img>";
4538
- } else if (node.tagName.toLowerCase() === "i") {
4539
- imageType = "icon fonts (empty <i> elements)";
4540
- } else if (node.getAttribute("role") === "img") {
4541
- imageType = 'Role="img"';
4542
- } else if (hasBackgoundImage(node)) {
4543
- imageType = "CSS background-image";
4544
- }
4545
- return imageType;
4546
- }
4547
-
4548
4971
  // src/scanner/cues.ts
4549
4972
  var htmlCues = ["readonly", "disabled", "required"];
4550
4973
  var ariaCues = ["aria-readonly", "aria-disabled", "aria-required"];
@@ -4556,20 +4979,23 @@ function generateARIACuesDictionary(node) {
4556
4979
  }
4557
4980
 
4558
4981
  // src/scanner/role-utils.ts
4559
- import * as axe4 from "axe-core";
4982
+ var axe6 = __toESM(require("axe-core"));
4560
4983
  var RoleUtils = class {
4561
4984
  static isValidRoleIfPresent(node, options, virtualNode, context) {
4562
4985
  const role = node.getAttribute("role");
4563
4986
  if (role === null) {
4564
4987
  return true;
4565
4988
  }
4566
- return axe4.commons.aria.lookupTable.role[role] !== void 0;
4989
+ return axe6.commons.aria.lookupTable.role[role] !== void 0;
4567
4990
  }
4568
4991
  };
4569
4992
 
4570
4993
  // src/scanner/custom-rules/native-widgets-default.ts
4571
4994
  var nativeWidgetSelector = 'button, input[list], input[type]:not([type="hidden"]), select, textarea';
4572
- var nativeWidgetsDefaultConfiguration = createNativeWidgetConfiguration("native-widgets-default", "native-widgets-default-collector");
4995
+ var nativeWidgetsDefaultConfiguration = createNativeWidgetConfiguration(
4996
+ "native-widgets-default",
4997
+ "native-widgets-default-collector"
4998
+ );
4573
4999
  function createNativeWidgetConfiguration(ruleId, checkId4, evaluate2, matches6) {
4574
5000
  return {
4575
5001
  checks: [
@@ -4613,7 +5039,11 @@ function getNativeWidgetElementType(node) {
4613
5039
  }
4614
5040
 
4615
5041
  // src/scanner/custom-rules/cues-rule.ts
4616
- var cuesConfiguration = createNativeWidgetConfiguration("cues", "cues-collector", evaluateCues);
5042
+ var cuesConfiguration = createNativeWidgetConfiguration(
5043
+ "cues",
5044
+ "cues-collector",
5045
+ evaluateCues
5046
+ );
4617
5047
  function evaluateCues(node) {
4618
5048
  this.data({
4619
5049
  element: getNativeWidgetElementType(node),
@@ -4768,7 +5198,7 @@ function evaluateCodedHeadings(node, options) {
4768
5198
  }
4769
5199
 
4770
5200
  // src/scanner/custom-rules/image-rule.ts
4771
- import * as axe5 from "axe-core";
5201
+ var axe7 = __toESM(require("axe-core"));
4772
5202
  var imageConfiguration = {
4773
5203
  checks: [
4774
5204
  {
@@ -4787,7 +5217,7 @@ var imageConfiguration = {
4787
5217
  };
4788
5218
  function isImage(node) {
4789
5219
  const selector = "img, [role=img], svg";
4790
- if (axe5.utils.matchesSelector(node, selector)) {
5220
+ if (axe7.utils.matchesSelector(node, selector)) {
4791
5221
  return true;
4792
5222
  }
4793
5223
  if (node.tagName.toLowerCase() === "i" && node.innerHTML === "") {
@@ -4998,7 +5428,13 @@ var textContrastConfiguration = {
4998
5428
  }
4999
5429
  };
5000
5430
  function evaluateTextContrast(node, options, virtualNode, context) {
5001
- const checkResult = getEvaluateFromCheck("color-contrast").call(this, node, options, virtualNode, context);
5431
+ const checkResult = getEvaluateFromCheck("color-contrast").call(
5432
+ this,
5433
+ node,
5434
+ options,
5435
+ virtualNode,
5436
+ context
5437
+ );
5002
5438
  const nodeStyle = window.getComputedStyle(node);
5003
5439
  const fontSize = parseFloat(nodeStyle.getPropertyValue("font-size"));
5004
5440
  const fontWeight = nodeStyle.getPropertyValue("font-weight");
@@ -5033,7 +5469,7 @@ var textSpacingConfiguration = {
5033
5469
  };
5034
5470
 
5035
5471
  // src/scanner/custom-rules/unique-landmark.ts
5036
- import * as axe6 from "axe-core";
5472
+ var axe8 = __toESM(require("axe-core"));
5037
5473
  var id = "unique-landmark";
5038
5474
  var passMessage = "Landmarks must have a unique role or role/label combination (aria-label OR aria-labelledby)";
5039
5475
  var failMessage = "The landmarks do not have a unique role or role/label combination (use aria-label OR aria-labelledby to make landmarks distinguishable)";
@@ -5055,7 +5491,7 @@ var uniqueLandmarkConfiguration = {
5055
5491
  selector: "[role=banner], [role=complementary], [role=contentinfo], [role=main], [role=navigation], [role=region], [role=search], [role=form], form, footer, header, aside, main, nav, section",
5056
5492
  any: [id],
5057
5493
  matches: function matches5(node) {
5058
- return isLandmark(node) && axe6.commons.dom.isVisible(node, true);
5494
+ return isLandmark(node) && axe8.commons.dom.isVisible(node, true);
5059
5495
  },
5060
5496
  ...descriptionHelp,
5061
5497
  helpUrl: "/insights.html#/content/rules/uniqueLandmark",
@@ -5066,12 +5502,12 @@ var uniqueLandmarkRuleContent = {
5066
5502
  [id]: descriptionHelp
5067
5503
  };
5068
5504
  function isLandmark(element) {
5069
- const landmarkRoles = axe6.commons.aria.getRolesByType("landmark");
5505
+ const landmarkRoles = axe8.commons.aria.getRolesByType("landmark");
5070
5506
  const role = getObservedRoleForElement(element);
5071
5507
  return role && landmarkRoles.indexOf(role) >= 0 || role === "region";
5072
5508
  }
5073
5509
  function getRoleSelectors(roleId) {
5074
- const role = axe6.commons.aria.lookupTable.role[roleId];
5510
+ const role = axe8.commons.aria.lookupTable.role[roleId];
5075
5511
  let selectors = [];
5076
5512
  if (role && role.implicit) {
5077
5513
  selectors = selectors.concat(role.implicit);
@@ -5083,7 +5519,7 @@ function getObservedRoleForElement(element) {
5083
5519
  let role = element.getAttribute("role");
5084
5520
  role = role ? role.trim() : role;
5085
5521
  if (!role) {
5086
- role = axe6.commons.aria.implicitRole(element);
5522
+ role = axe8.commons.aria.implicitRole(element);
5087
5523
  const tagName = element.tagName.toLowerCase();
5088
5524
  if (tagName === "header" || tagName === "footer") {
5089
5525
  let parent = element.parentNode;
@@ -5096,7 +5532,7 @@ function getObservedRoleForElement(element) {
5096
5532
  parent = parent.parentNode;
5097
5533
  }
5098
5534
  } else if (tagName === "section" || tagName === "form") {
5099
- const label = axe6.commons.aria.label(element);
5535
+ const label = axe8.commons.aria.label(element);
5100
5536
  if (!label) {
5101
5537
  role = null;
5102
5538
  }
@@ -5112,21 +5548,23 @@ function evaluate(node, options) {
5112
5548
  return false;
5113
5549
  }
5114
5550
  const role = getObservedRoleForElement(node);
5115
- let label = axe6.commons.aria.label(node);
5551
+ let label = axe8.commons.aria.label(node);
5116
5552
  let candidates = [];
5117
5553
  const selectors = getRoleSelectors(role);
5118
5554
  const selectorsLength = selectors.length;
5119
5555
  label = label ? label.toLowerCase() : null;
5120
5556
  this.data({ role, label });
5121
5557
  for (let selectorPos = 0; selectorPos < selectorsLength; selectorPos++) {
5122
- candidates = candidates.concat(axe6.utils.toArray(document.querySelectorAll(selectors[selectorPos])));
5558
+ candidates = candidates.concat(
5559
+ axe8.utils.toArray(document.querySelectorAll(selectors[selectorPos]))
5560
+ );
5123
5561
  }
5124
5562
  const candidatesLength = candidates.length;
5125
5563
  if (candidatesLength > 1) {
5126
5564
  for (let candidatePos = 0; candidatePos < candidatesLength; candidatePos++) {
5127
5565
  const candidate = candidates[candidatePos];
5128
- if (candidate !== node && isLandmark(candidate) && axe6.commons.dom.isVisible(candidate, true)) {
5129
- let candidateLabel = axe6.commons.aria.label(candidate);
5566
+ if (candidate !== node && isLandmark(candidate) && axe8.commons.dom.isVisible(candidate, true)) {
5567
+ let candidateLabel = axe8.commons.aria.label(candidate);
5130
5568
  candidateLabel = candidateLabel ? candidateLabel.toLowerCase() : null;
5131
5569
  if (label === candidateLabel) {
5132
5570
  return false;
@@ -5138,7 +5576,12 @@ function evaluate(node, options) {
5138
5576
  }
5139
5577
 
5140
5578
  // src/scanner/custom-rules/widget-function.ts
5141
- var widgetFunctionConfiguration = createNativeWidgetConfiguration("widget-function", "widget-function-collector", evaluateWidgetFunction, hasCustomWidgetMarkup);
5579
+ var widgetFunctionConfiguration = createNativeWidgetConfiguration(
5580
+ "widget-function",
5581
+ "widget-function-collector",
5582
+ evaluateWidgetFunction,
5583
+ hasCustomWidgetMarkup
5584
+ );
5142
5585
  function evaluateWidgetFunction(node) {
5143
5586
  const ariaAttributes = [
5144
5587
  "aria-autocomplete",
@@ -5180,6 +5623,7 @@ var configuration = [
5180
5623
  textContrastConfiguration,
5181
5624
  linkPurposeConfiguration,
5182
5625
  linkFunctionConfiguration,
5626
+ labelInNameConfiguration,
5183
5627
  frameTitleConfiguration,
5184
5628
  pageConfiguration,
5185
5629
  widgetFunctionConfiguration,
@@ -5191,7 +5635,8 @@ var configuration = [
5191
5635
  autocompleteRuleConfiguration,
5192
5636
  headerRuleConfiguration,
5193
5637
  textSpacingConfiguration,
5194
- headersAttributeRuleConfiguration
5638
+ headersAttributeRuleConfiguration,
5639
+ accessibleNamesConfiguration
5195
5640
  ];
5196
5641
 
5197
5642
  // src/scanner/help-url-getter.ts
@@ -5264,7 +5709,10 @@ var ResultDecorator = class {
5264
5709
  decorateAxeRuleResults(ruleResults, isInapplicable = false) {
5265
5710
  return ruleResults.reduce((filteredArray, result) => {
5266
5711
  this.messageDecorator.decorateResultWithMessages(result);
5267
- const processedResult = this.ruleProcessor.suppressChecksByMessages(result, !isInapplicable);
5712
+ const processedResult = this.ruleProcessor.suppressChecksByMessages(
5713
+ result,
5714
+ !isInapplicable
5715
+ );
5268
5716
  if (processedResult != null) {
5269
5717
  filteredArray.push({
5270
5718
  ...processedResult,
@@ -5284,7 +5732,9 @@ var RuleProcessor = class {
5284
5732
  }
5285
5733
  suppressChecksByMessages(rule, removeEmptyRules = true) {
5286
5734
  rule.nodes = rule.nodes.filter((nodeResult) => {
5287
- nodeResult.any = nodeResult.any.filter((check) => !this.shouldSuppressMessage(check.message));
5735
+ nodeResult.any = nodeResult.any.filter(
5736
+ (check) => !this.shouldSuppressMessage(check.message)
5737
+ );
5288
5738
  return nodeResult.any.length > 0 || nodeResult.none.length > 0 || nodeResult.all.length > 0;
5289
5739
  });
5290
5740
  if (removeEmptyRules && rule.nodes.length === 0) {
@@ -5305,7 +5755,7 @@ var RuleProcessor = class {
5305
5755
  };
5306
5756
 
5307
5757
  // src/common/components/fix-instruction-processor.tsx
5308
- import * as React88 from "react";
5758
+ var React88 = __toESM(require("react"));
5309
5759
 
5310
5760
  // src/common/components/cards/fix-instruction-color-box.scss
5311
5761
  var fix_instruction_color_box_default = { "fixInstructionColorBox": "fix-instruction-color-box--DQpQE", "screenReaderOnly": "screen-reader-only--6LUiO" };
@@ -5316,13 +5766,25 @@ var FixInstructionProcessor = class {
5316
5766
  constructor() {
5317
5767
  this.colorValueMatcher = `(#[0-9a-f]{6})`;
5318
5768
  this.foregroundColorText = "foreground color: ";
5319
- this.foregroundRegExp = new RegExp(`${this.foregroundColorText}${this.colorValueMatcher}`, "i");
5769
+ this.foregroundRegExp = new RegExp(
5770
+ `${this.foregroundColorText}${this.colorValueMatcher}`,
5771
+ "i"
5772
+ );
5320
5773
  this.backgroundColorText = "background color: ";
5321
- this.backgroundRegExp = new RegExp(`${this.backgroundColorText}${this.colorValueMatcher}`, "i");
5774
+ this.backgroundRegExp = new RegExp(
5775
+ `${this.backgroundColorText}${this.colorValueMatcher}`,
5776
+ "i"
5777
+ );
5322
5778
  this.foregroundRecommendedColorText = "Use foreground color: ";
5323
- this.foregroundRecommendedRegExp = new RegExp(`${this.foregroundRecommendedColorText}${this.colorValueMatcher}`, "i");
5779
+ this.foregroundRecommendedRegExp = new RegExp(
5780
+ `${this.foregroundRecommendedColorText}${this.colorValueMatcher}`,
5781
+ "i"
5782
+ );
5324
5783
  this.backgroundRecommendedColorText = "Use background color: ";
5325
- this.backgroundRecommendedRegExp = new RegExp(`${this.backgroundRecommendedColorText}${this.colorValueMatcher}`, "i");
5784
+ this.backgroundRecommendedRegExp = new RegExp(
5785
+ `${this.backgroundRecommendedColorText}${this.colorValueMatcher}`,
5786
+ "i"
5787
+ );
5326
5788
  this.contrastRatioText = "Expected contrast ratio of ";
5327
5789
  this.contrastRatioRegExp = new RegExp(`${this.contrastRatioText}`, "i");
5328
5790
  this.originalMiddleSentence = " and the original foreground color: ";
@@ -5331,7 +5793,11 @@ var FixInstructionProcessor = class {
5331
5793
  const matches6 = this.getColorMatches(fixInstruction);
5332
5794
  let recommendationSentences = [];
5333
5795
  if (matches6.length === 2 && fixInstruction != null) {
5334
- recommendationSentences = this.getColorRecommendations(fixInstruction, matches6, recommendColor);
5796
+ recommendationSentences = this.getColorRecommendations(
5797
+ fixInstruction,
5798
+ matches6,
5799
+ recommendColor
5800
+ );
5335
5801
  }
5336
5802
  return this.splitFixInstruction(fixInstruction, recommendationSentences, matches6);
5337
5803
  }
@@ -5341,10 +5807,16 @@ var FixInstructionProcessor = class {
5341
5807
  const regularExpExpectation = this.contrastRatioRegExp.exec(fixInstruction);
5342
5808
  if (regularExpExpectation != null) {
5343
5809
  const indexContrast = regularExpExpectation.index;
5344
- const contrastIndex = fixInstruction.substring(indexContrast + this.contrastRatioText.length);
5810
+ const contrastIndex = fixInstruction.substring(
5811
+ indexContrast + this.contrastRatioText.length
5812
+ );
5345
5813
  contrastRatio = parseFloat(contrastIndex.substring(0, contrastIndex.indexOf(":")));
5346
5814
  }
5347
- const recommendSentence = recommendColor.getRecommendColor(matches6[0].colorHexValue, matches6[1].colorHexValue, contrastRatio);
5815
+ const recommendSentence = recommendColor.getRecommendColor(
5816
+ matches6[0].colorHexValue,
5817
+ matches6[1].colorHexValue,
5818
+ contrastRatio
5819
+ );
5348
5820
  const recommendationSentences = recommendSentence.split(sentenceDivider);
5349
5821
  this.getRecommendedColorMatches(recommendationSentences[0], matches6);
5350
5822
  if (recommendationSentences.length === 1) {
@@ -5359,12 +5831,18 @@ var FixInstructionProcessor = class {
5359
5831
  return [foregroundMatch, backgroundMatch].filter((match) => match != null);
5360
5832
  }
5361
5833
  getRecommendedColorMatches(fixInstruction, matches6) {
5362
- const foregroundRecommededMatch = this.getColorMatch(fixInstruction, this.foregroundRecommendedRegExp);
5834
+ const foregroundRecommededMatch = this.getColorMatch(
5835
+ fixInstruction,
5836
+ this.foregroundRecommendedRegExp
5837
+ );
5363
5838
  if (foregroundRecommededMatch !== null) {
5364
5839
  matches6.push(foregroundRecommededMatch);
5365
5840
  matches6.push(this.getOriginalColorMatch(fixInstruction, foregroundRecommededMatch));
5366
5841
  }
5367
- const backgroundRecommededMatch = this.getColorMatch(fixInstruction, this.backgroundRecommendedRegExp);
5842
+ const backgroundRecommededMatch = this.getColorMatch(
5843
+ fixInstruction,
5844
+ this.backgroundRecommendedRegExp
5845
+ );
5368
5846
  if (backgroundRecommededMatch !== null) {
5369
5847
  matches6.push(backgroundRecommededMatch);
5370
5848
  matches6.push(this.getOriginalColorMatch(fixInstruction, backgroundRecommededMatch));
@@ -5408,10 +5886,16 @@ var FixInstructionProcessor = class {
5408
5886
  if (recommendationStrings.length === 0) {
5409
5887
  return /* @__PURE__ */ React88.createElement(React88.Fragment, null, results);
5410
5888
  }
5411
- const recommendationOne = this.getInstructionWithAndWithoutBoxes(recommendationMatches.slice(0, 2), recommendationStrings[0]);
5889
+ const recommendationOne = this.getInstructionWithAndWithoutBoxes(
5890
+ recommendationMatches.slice(0, 2),
5891
+ recommendationStrings[0]
5892
+ );
5412
5893
  recommendations.push(recommendationOne);
5413
5894
  if (recommendationStrings.length > 1) {
5414
- const recommendationTwo = this.getInstructionWithAndWithoutBoxes(recommendationMatches.slice(2), recommendationStrings[1]);
5895
+ const recommendationTwo = this.getInstructionWithAndWithoutBoxes(
5896
+ recommendationMatches.slice(2),
5897
+ recommendationStrings[1]
5898
+ );
5415
5899
  recommendations.push(recommendationTwo);
5416
5900
  }
5417
5901
  return this.addRecommendationsToResults(results, recommendations);
@@ -5461,7 +5945,7 @@ var FixInstructionProcessor = class {
5461
5945
  };
5462
5946
 
5463
5947
  // src/common/date-provider.ts
5464
- import { DateTime, Duration } from "luxon";
5948
+ var import_luxon = require("luxon");
5465
5949
  var DateProvider = class {
5466
5950
  static getDateFromTimestamp(timestamp) {
5467
5951
  if (DateProvider.isNumericalTimestamp(timestamp)) {
@@ -5474,11 +5958,11 @@ var DateProvider = class {
5474
5958
  return new Date();
5475
5959
  }
5476
5960
  static getUTCStringFromDate(date) {
5477
- const utcDateTime = DateTime.fromJSDate(date, { zone: "utc" });
5961
+ const utcDateTime = import_luxon.DateTime.fromJSDate(date, { zone: "utc" });
5478
5962
  return utcDateTime.toFormat("yyyy-MM-dd h:mm a z");
5479
5963
  }
5480
5964
  static getTimeStringFromSeconds(seconds) {
5481
- const duration = Duration.fromObject({ seconds });
5965
+ const duration = import_luxon.Duration.fromObject({ seconds });
5482
5966
  return duration.toFormat("hh:mm:ss");
5483
5967
  }
5484
5968
  static getDateFromDateString(timestamp) {
@@ -5493,14 +5977,14 @@ var DateProvider = class {
5493
5977
  };
5494
5978
 
5495
5979
  // src/common/fabric-icons.ts
5496
- import { initializeIcons } from "@fluentui/font-icons-mdl2";
5497
- import { registerIcons as registerIcons2, setIconOptions } from "@fluentui/style-utilities";
5980
+ var import_font_icons_mdl2 = require("@fluentui/font-icons-mdl2");
5981
+ var import_style_utilities = require("@fluentui/style-utilities");
5498
5982
  function initializeFabricIcons() {
5499
- setIconOptions({
5983
+ (0, import_style_utilities.setIconOptions)({
5500
5984
  disableWarnings: true
5501
5985
  });
5502
- initializeIcons();
5503
- registerIcons2({
5986
+ (0, import_font_icons_mdl2.initializeIcons)();
5987
+ (0, import_style_utilities.registerIcons)({
5504
5988
  style: {
5505
5989
  MozOsxFontSmoothing: "grayscale",
5506
5990
  WebkitFontSmoothing: "antialiased",
@@ -5577,14 +6061,14 @@ function initializeFabricIcons() {
5577
6061
  }
5578
6062
 
5579
6063
  // src/common/get-guidance-tags-from-guidance-links.ts
5580
- import { isArray, isObject } from "lodash";
6064
+ var import_lodash15 = require("lodash");
5581
6065
  var GetGuidanceTagsFromGuidanceLinks = (links) => {
5582
- if (isArray(links) === false) {
6066
+ if ((0, import_lodash15.isArray)(links) === false) {
5583
6067
  return [];
5584
6068
  }
5585
6069
  const tags = [];
5586
6070
  links.forEach((link2) => {
5587
- if (isObject(link2) === false || isArray(link2.tags) === false) {
6071
+ if ((0, import_lodash15.isObject)(link2) === false || (0, import_lodash15.isArray)(link2.tags) === false) {
5588
6072
  return;
5589
6073
  }
5590
6074
  link2.tags.forEach((tag) => {
@@ -5633,15 +6117,38 @@ var axeResultsReportGenerator = (parameters) => {
5633
6117
  const reactStaticRenderer = new ReactStaticRenderer();
5634
6118
  const fixInstructionProcessor = new FixInstructionProcessor();
5635
6119
  const recommendColor = new RecommendColor();
5636
- const toolData = createToolData("axe-core", axeVersion, serviceName, null, userAgent, `${windowWidth}x${windowHeight}`);
5637
- const reportHtmlGenerator = new ReportHtmlGenerator(AxeResultsReportSectionFactory, reactStaticRenderer, getDefaultAddListenerForCollapsibleSection, DateProvider.getUTCStringFromDate, GetGuidanceTagsFromGuidanceLinks, fixInstructionProcessor, recommendColor, getPropertyConfiguration, GetNextHeadingLevel);
6120
+ const toolData = createToolData(
6121
+ "axe-core",
6122
+ axeVersion,
6123
+ serviceName,
6124
+ null,
6125
+ userAgent,
6126
+ `${windowWidth}x${windowHeight}`
6127
+ );
6128
+ const reportHtmlGenerator = new ReportHtmlGenerator(
6129
+ AxeResultsReportSectionFactory,
6130
+ reactStaticRenderer,
6131
+ getDefaultAddListenerForCollapsibleSection,
6132
+ DateProvider.getUTCStringFromDate,
6133
+ GetGuidanceTagsFromGuidanceLinks,
6134
+ fixInstructionProcessor,
6135
+ recommendColor,
6136
+ getPropertyConfiguration,
6137
+ GetNextHeadingLevel
6138
+ );
5638
6139
  const titleProvider = {
5639
6140
  title: () => targetPageTitle
5640
6141
  };
5641
6142
  const messageDecorator = new MessageDecorator(configuration, new CheckMessageTransformer());
5642
6143
  const helpUrlGetter = new HelpUrlGetter(configuration, getA11yInsightsWebRuleUrl);
5643
6144
  const ruleProcessor = new RuleProcessor();
5644
- const resultDecorator = new ResultDecorator(titleProvider, messageDecorator, (ruleId, axeHelpUrl) => helpUrlGetter.getHelpUrl(ruleId, axeHelpUrl), mapAxeTagsToGuidanceLinks, ruleProcessor);
6145
+ const resultDecorator = new ResultDecorator(
6146
+ titleProvider,
6147
+ messageDecorator,
6148
+ (ruleId, axeHelpUrl) => helpUrlGetter.getHelpUrl(ruleId, axeHelpUrl),
6149
+ mapAxeTagsToGuidanceLinks,
6150
+ ruleProcessor
6151
+ );
5645
6152
  const getUnifiedResults = new ConvertScanResultsToUnifiedResults(generateUID, getFixResolution, getCheckResolution).automatedChecksConversion;
5646
6153
  const deps = {
5647
6154
  reportHtmlGenerator,
@@ -5655,8 +6162,21 @@ var axeResultsReportGenerator = (parameters) => {
5655
6162
  };
5656
6163
  var summaryResultsReportGenerator = (parameters) => {
5657
6164
  const { serviceName, axeVersion, userAgent, browserResolution } = parameters;
5658
- const toolData = createToolData("axe-core", axeVersion, serviceName, null, userAgent, browserResolution);
5659
- const reportHtmlGenerator = new SummaryReportHtmlGenerator(SummaryReportSectionFactory, new ReactStaticRenderer(), getDefaultAddListenerForCollapsibleSection, DateProvider.getUTCStringFromDate, DateProvider.getTimeStringFromSeconds);
6165
+ const toolData = createToolData(
6166
+ "axe-core",
6167
+ axeVersion,
6168
+ serviceName,
6169
+ null,
6170
+ userAgent,
6171
+ browserResolution
6172
+ );
6173
+ const reportHtmlGenerator = new SummaryReportHtmlGenerator(
6174
+ SummaryReportSectionFactory,
6175
+ new ReactStaticRenderer(),
6176
+ getDefaultAddListenerForCollapsibleSection,
6177
+ DateProvider.getUTCStringFromDate,
6178
+ DateProvider.getTimeStringFromSeconds
6179
+ );
5660
6180
  const deps = {
5661
6181
  reportHtmlGenerator
5662
6182
  };
@@ -5664,10 +6184,27 @@ var summaryResultsReportGenerator = (parameters) => {
5664
6184
  };
5665
6185
  var combinedResultsReportGenerator = (parameters) => {
5666
6186
  const { serviceName, axeVersion, userAgent, browserResolution } = parameters;
5667
- const toolData = createToolData("axe-core", axeVersion, serviceName, null, userAgent, browserResolution);
6187
+ const toolData = createToolData(
6188
+ "axe-core",
6189
+ axeVersion,
6190
+ serviceName,
6191
+ null,
6192
+ userAgent,
6193
+ browserResolution
6194
+ );
5668
6195
  const fixInstructionProcessor = new FixInstructionProcessor();
5669
6196
  const recommendColor = new RecommendColor();
5670
- const reportHtmlGenerator = new CombinedReportHtmlGenerator(CombinedReportSectionFactory, new ReactStaticRenderer(), getDefaultAddListenerForCollapsibleSection, DateProvider.getUTCStringFromDate, DateProvider.getTimeStringFromSeconds, GetGuidanceTagsFromGuidanceLinks, fixInstructionProcessor, recommendColor, getPropertyConfiguration);
6197
+ const reportHtmlGenerator = new CombinedReportHtmlGenerator(
6198
+ CombinedReportSectionFactory,
6199
+ new ReactStaticRenderer(),
6200
+ getDefaultAddListenerForCollapsibleSection,
6201
+ DateProvider.getUTCStringFromDate,
6202
+ DateProvider.getTimeStringFromSeconds,
6203
+ GetGuidanceTagsFromGuidanceLinks,
6204
+ fixInstructionProcessor,
6205
+ recommendColor,
6206
+ getPropertyConfiguration
6207
+ );
5671
6208
  const deps = {
5672
6209
  reportHtmlGenerator
5673
6210
  };
@@ -5678,14 +6215,21 @@ var combinedResultsReportGenerator = (parameters) => {
5678
6215
  resultsHighlightStatus: {}
5679
6216
  };
5680
6217
  const helpUrlGetter = new HelpUrlGetter(configuration, getA11yInsightsWebRuleUrl);
5681
- const resultsToCardsConverter = new CombinedResultsToCardsModelConverter(mapAxeTagsToGuidanceLinks, cardSelectionViewData, generateUID, helpUrlGetter, getFixResolution);
6218
+ const resultsToCardsConverter = new CombinedResultsToCardsModelConverter(
6219
+ mapAxeTagsToGuidanceLinks,
6220
+ cardSelectionViewData,
6221
+ generateUID,
6222
+ helpUrlGetter,
6223
+ getFixResolution
6224
+ );
5682
6225
  return new CombinedResultsReport(deps, parameters, toolData, resultsToCardsConverter);
5683
6226
  };
5684
6227
  initializeFabricIcons();
5685
6228
  var reporterFactory = () => {
5686
- return new Reporter(axeResultsReportGenerator, summaryResultsReportGenerator, combinedResultsReportGenerator);
5687
- };
5688
- export {
5689
- reporterFactory
6229
+ return new Reporter(
6230
+ axeResultsReportGenerator,
6231
+ summaryResultsReportGenerator,
6232
+ combinedResultsReportGenerator
6233
+ );
5690
6234
  };
5691
6235
  //# sourceMappingURL=report.bundle.js.map