@allurereport/web-classic 3.3.1 → 3.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (134) hide show
  1. package/dist/multi/333.app-4b1f7421e41558777592.js +1 -0
  2. package/dist/multi/853.app-4b1f7421e41558777592.js +1 -0
  3. package/dist/multi/app-4b1f7421e41558777592.js +2 -0
  4. package/dist/multi/manifest.json +23 -22
  5. package/dist/multi/{styles-75260d4c57aacfd128f1.css → styles-9d0f524b54c0674f3a16.css} +2 -2
  6. package/dist/single/app-9900014b342c2b08335d.js +2 -0
  7. package/dist/single/manifest.json +1 -1
  8. package/package.json +18 -36
  9. package/src/components/ArrowButton/index.tsx +1 -0
  10. package/src/components/BaseLayout/index.tsx +2 -0
  11. package/src/components/Behaviors/BehaviorsList.tsx +2 -0
  12. package/src/components/Behaviors/index.tsx +2 -0
  13. package/src/components/Categories/CategoriesList.tsx +2 -0
  14. package/src/components/Categories/index.tsx +2 -0
  15. package/src/components/Footer/FooterLogo.tsx +1 -0
  16. package/src/components/Footer/FooterVersion.tsx +2 -0
  17. package/src/components/Footer/index.tsx +3 -1
  18. package/src/components/Header/index.tsx +1 -0
  19. package/src/components/HeaderActions/Filters.tsx +2 -0
  20. package/src/components/HeaderActions/HeaderActions.tsx +3 -0
  21. package/src/components/HeaderActions/SortBy.tsx +2 -0
  22. package/src/components/LanguagePicker/index.tsx +2 -0
  23. package/src/components/MainReport/index.tsx +2 -1
  24. package/src/components/Metadata/index.tsx +2 -0
  25. package/src/components/MetadataButton/index.tsx +2 -0
  26. package/src/components/Modal/ModalView.js +3 -0
  27. package/src/components/Modal/index.tsx +2 -0
  28. package/src/components/Overview/index.tsx +2 -0
  29. package/src/components/Packages/PackagesList.tsx +2 -0
  30. package/src/components/Packages/index.tsx +2 -0
  31. package/src/components/ReportBody/Filters.tsx +2 -0
  32. package/src/components/ReportBody/HeaderActions.tsx +3 -0
  33. package/src/components/ReportBody/SortBy.tsx +2 -0
  34. package/src/components/ReportBody/index.tsx +4 -1
  35. package/src/components/ReportHeader/ReportHeaderLabelList.tsx +1 -0
  36. package/src/components/ReportHeader/ReportHeaderLogo.tsx +3 -1
  37. package/src/components/ReportHeader/ReportHeaderPie.tsx +2 -0
  38. package/src/components/ReportHeader/index.tsx +2 -0
  39. package/src/components/ReportMetadata/MetadataItem.tsx +1 -0
  40. package/src/components/ReportMetadata/MetadataSummary.tsx +3 -1
  41. package/src/components/ReportMetadata/MetadataTestType.tsx +2 -0
  42. package/src/components/ReportMetadata/MetadataWithIcon.tsx +2 -0
  43. package/src/components/ReportMetadata/index.tsx +2 -0
  44. package/src/components/SideBySide/index.tsx +1 -0
  45. package/src/components/SideNav/SideNav.tsx +2 -0
  46. package/src/components/SideNav/SideNavView.js +3 -0
  47. package/src/components/Suites/index.tsx +2 -0
  48. package/src/components/Tabs/index.tsx +2 -0
  49. package/src/components/TestResult/TestResultAttachmentsView/index.tsx +2 -0
  50. package/src/components/TestResult/TestResultDescription/index.tsx +2 -0
  51. package/src/components/TestResult/TestResultDropdown/index.tsx +2 -0
  52. package/src/components/TestResult/TestResultEmpty/index.tsx +3 -1
  53. package/src/components/TestResult/TestResultError/index.tsx +2 -0
  54. package/src/components/TestResult/TestResultHeader/index.tsx +2 -0
  55. package/src/components/TestResult/TestResultHistory/TestResultHistoryItem.tsx +3 -1
  56. package/src/components/TestResult/TestResultHistory/index.tsx +3 -0
  57. package/src/components/TestResult/TestResultInfo/TestResultInfoStatuses.tsx +2 -0
  58. package/src/components/TestResult/TestResultInfo/index.tsx +2 -0
  59. package/src/components/TestResult/TestResultLinks/index.tsx +20 -3
  60. package/src/components/TestResult/TestResultMetadata/index.tsx +2 -0
  61. package/src/components/TestResult/TestResultNavigation/index.tsx +2 -0
  62. package/src/components/TestResult/TestResultOverview.tsx +3 -1
  63. package/src/components/TestResult/TestResultParameters/index.tsx +2 -0
  64. package/src/components/TestResult/TestResultPrevStatuses/index.tsx +2 -0
  65. package/src/components/TestResult/TestResultRetriesView/TestResultRetriesItem.tsx +3 -1
  66. package/src/components/TestResult/TestResultRetriesView/index.tsx +3 -1
  67. package/src/components/TestResult/TestResultSetup/index.tsx +3 -1
  68. package/src/components/TestResult/TestResultSeverity/index.tsx +2 -0
  69. package/src/components/TestResult/TestResultStatus/index.tsx +2 -0
  70. package/src/components/TestResult/TestResultSteps/HtmlAttachmentPreview.tsx +1 -0
  71. package/src/components/TestResult/TestResultSteps/attachment.tsx +3 -1
  72. package/src/components/TestResult/TestResultSteps/attachmentCode.tsx +1 -0
  73. package/src/components/TestResult/TestResultSteps/attachmentImage.tsx +3 -1
  74. package/src/components/TestResult/TestResultSteps/index.tsx +2 -0
  75. package/src/components/TestResult/TestResultSteps/testResultAttachment.tsx +3 -1
  76. package/src/components/TestResult/TestResultSteps/testResultAttachmentInfo.tsx +3 -1
  77. package/src/components/TestResult/TestResultSteps/testResultStep.tsx +3 -1
  78. package/src/components/TestResult/TestResultSteps/testResultStepInfo.tsx +1 -0
  79. package/src/components/TestResult/TestResultSteps/wrongAttachment.tsx +2 -1
  80. package/src/components/TestResult/TestResultTabs/index.tsx +1 -0
  81. package/src/components/TestResult/TestResultTeardown/index.tsx +3 -1
  82. package/src/components/TestResult/TestResultView.js +4 -1
  83. package/src/components/TestResult/index.tsx +3 -1
  84. package/src/components/TestResultView/index.tsx +1 -0
  85. package/src/components/Tree/Tree.tsx +3 -0
  86. package/src/components/Tree/TreeHeader.tsx +2 -0
  87. package/src/components/Tree/TreeItem.tsx +2 -0
  88. package/src/components/Tree/TreeItemIcon.tsx +1 -0
  89. package/src/components/Tree/index.tsx +2 -0
  90. package/src/index.js +3 -0
  91. package/src/index.tsx +2 -0
  92. package/src/stores/behaviors.ts +1 -0
  93. package/src/stores/categories.ts +1 -0
  94. package/src/stores/chart.ts +1 -0
  95. package/src/stores/charts.ts +1 -0
  96. package/src/stores/envInfo.ts +1 -0
  97. package/src/stores/locale.ts +3 -0
  98. package/src/stores/packages.ts +1 -0
  99. package/src/stores/stats.ts +1 -0
  100. package/src/stores/testResults.ts +1 -0
  101. package/src/stores/tree.ts +1 -0
  102. package/src/stores/trend.ts +2 -1
  103. package/src/translations/ar.json +137 -0
  104. package/src/translations/az.json +50 -41
  105. package/src/translations/constants.ts +6 -0
  106. package/src/utils/time.ts +1 -0
  107. package/src/utils/treeFilters.ts +2 -0
  108. package/test/utils/treeFilters.test.ts +1 -0
  109. package/tsconfig.json +2 -2
  110. package/.eslintrc.cjs +0 -22
  111. package/dist/multi/853.app-edd437fe9a728297ccb2.js +0 -1
  112. package/dist/multi/app-edd437fe9a728297ccb2.js +0 -2
  113. package/dist/single/app-a8440cca96ec7c3e12d2.js +0 -2
  114. /package/dist/multi/{10.app-edd437fe9a728297ccb2.js → 10.app-4b1f7421e41558777592.js} +0 -0
  115. /package/dist/multi/{222.app-edd437fe9a728297ccb2.js → 222.app-4b1f7421e41558777592.js} +0 -0
  116. /package/dist/multi/{26.app-edd437fe9a728297ccb2.js → 26.app-4b1f7421e41558777592.js} +0 -0
  117. /package/dist/multi/{302.app-edd437fe9a728297ccb2.js → 302.app-4b1f7421e41558777592.js} +0 -0
  118. /package/dist/multi/{304.app-edd437fe9a728297ccb2.js → 304.app-4b1f7421e41558777592.js} +0 -0
  119. /package/dist/multi/{369.app-edd437fe9a728297ccb2.js → 369.app-4b1f7421e41558777592.js} +0 -0
  120. /package/dist/multi/{389.app-edd437fe9a728297ccb2.js → 389.app-4b1f7421e41558777592.js} +0 -0
  121. /package/dist/multi/{498.app-edd437fe9a728297ccb2.js → 498.app-4b1f7421e41558777592.js} +0 -0
  122. /package/dist/multi/{60.app-edd437fe9a728297ccb2.js → 60.app-4b1f7421e41558777592.js} +0 -0
  123. /package/dist/multi/{643.app-edd437fe9a728297ccb2.js → 643.app-4b1f7421e41558777592.js} +0 -0
  124. /package/dist/multi/{671.app-edd437fe9a728297ccb2.js → 671.app-4b1f7421e41558777592.js} +0 -0
  125. /package/dist/multi/{725.app-edd437fe9a728297ccb2.js → 725.app-4b1f7421e41558777592.js} +0 -0
  126. /package/dist/multi/{770.app-edd437fe9a728297ccb2.js → 770.app-4b1f7421e41558777592.js} +0 -0
  127. /package/dist/multi/{848.app-edd437fe9a728297ccb2.js → 848.app-4b1f7421e41558777592.js} +0 -0
  128. /package/dist/multi/{872.app-edd437fe9a728297ccb2.js → 872.app-4b1f7421e41558777592.js} +0 -0
  129. /package/dist/multi/{895.app-edd437fe9a728297ccb2.js → 895.app-4b1f7421e41558777592.js} +0 -0
  130. /package/dist/multi/{920.app-edd437fe9a728297ccb2.js → 920.app-4b1f7421e41558777592.js} +0 -0
  131. /package/dist/multi/{979.app-edd437fe9a728297ccb2.js → 979.app-4b1f7421e41558777592.js} +0 -0
  132. /package/dist/multi/{991.app-edd437fe9a728297ccb2.js → 991.app-4b1f7421e41558777592.js} +0 -0
  133. /package/dist/multi/{app-edd437fe9a728297ccb2.js.LICENSE.txt → app-4b1f7421e41558777592.js.LICENSE.txt} +0 -0
  134. /package/dist/single/{app-a8440cca96ec7c3e12d2.js.LICENSE.txt → app-9900014b342c2b08335d.js.LICENSE.txt} +0 -0
@@ -2,7 +2,9 @@ import { proseStyles, resolveCssVarDeclarations, sanitizeIframeHtml, themeStore
2
2
  import type { FunctionalComponent } from "preact";
3
3
  import { useEffect, useMemo, useState } from "preact/hooks";
4
4
  import type { ClassicTestResult } from "types";
5
+
5
6
  import { MetadataButton } from "@/components/MetadataButton";
7
+
6
8
  import * as styles from "./styles.scss";
7
9
 
8
10
  export type TestResultDescriptionProps = {
@@ -1,6 +1,8 @@
1
1
  import { Counter, SvgIcon, Text, allureIcons } from "@allurereport/web-components";
2
2
  import { type FunctionalComponent } from "preact";
3
+
3
4
  import { ArrowButton } from "@/components/ArrowButton";
5
+
4
6
  import * as styles from "./styles.scss";
5
7
 
6
8
  export const TestResultDropdown: FunctionalComponent<{
@@ -1,7 +1,9 @@
1
1
  import { SvgIcon, Text, allureIcons } from "@allurereport/web-components";
2
- import * as baseStyles from "@/components/BaseLayout/styles.scss";
2
+
3
3
  import { TestResultInfo } from "@/components/TestResult/TestResultInfo";
4
+
4
5
  import * as styles from "./styles.scss";
6
+ import * as baseStyles from "@/components/BaseLayout/styles.scss";
5
7
 
6
8
  const TestResultThumb = () => {
7
9
  return (
@@ -1,8 +1,10 @@
1
1
  import { Code, IconButton, Text, TooltipWrapper, allureIcons } from "@allurereport/web-components";
2
2
  import { type FunctionalComponent } from "preact";
3
3
  import { useState } from "preact/hooks";
4
+
4
5
  import { useI18n } from "@/stores/locale";
5
6
  import { copyToClipboard } from "@/utils/copyToClipboard";
7
+
6
8
  import * as styles from "./styles.scss";
7
9
 
8
10
  const TestResultErrorTrace = ({ trace }: { trace: string }) => {
@@ -2,9 +2,11 @@ import { IconButton, SvgIcon, Text, allureIcons } from "@allurereport/web-compon
2
2
  import clsx from "clsx";
3
3
  import type { FunctionalComponent } from "preact";
4
4
  import type { ClassicTestResult } from "types";
5
+
5
6
  import { LanguagePicker } from "@/components/LanguagePicker";
6
7
  import { ThemeButton } from "@/components/ThemeButton/ThemeButton";
7
8
  import { navigateTo } from "@/index";
9
+
8
10
  import * as styles from "./styles.scss";
9
11
 
10
12
  export type TestResultHeaderProps = {
@@ -2,14 +2,16 @@ import { type HistoryTestResult, formatDuration } from "@allurereport/core-api";
2
2
  import { IconButton, Text, TooltipWrapper, allureIcons } from "@allurereport/web-components";
3
3
  import { type FunctionalComponent } from "preact";
4
4
  import { useState } from "preact/hooks";
5
+
5
6
  import { ArrowButton } from "@/components/ArrowButton";
6
7
  import { TestResultError } from "@/components/TestResult/TestResultError";
7
- import * as styles from "@/components/TestResult/TestResultHistory/styles.scss";
8
8
  import TreeItemIcon from "@/components/Tree/TreeItemIcon";
9
9
  import { useI18n } from "@/stores";
10
10
  import { navigateTo, openInNewTab } from "@/utils/navigate";
11
11
  import { timestampToDate } from "@/utils/time";
12
12
 
13
+ import * as styles from "@/components/TestResult/TestResultHistory/styles.scss";
14
+
13
15
  export const TestResultHistoryItem: FunctionalComponent<{
14
16
  testResultItem: HistoryTestResult;
15
17
  }> = ({ testResultItem }) => {
@@ -1,7 +1,10 @@
1
1
  import type { FunctionalComponent } from "preact";
2
+
2
3
  import { TestResultHistoryItem } from "@/components/TestResult/TestResultHistory/TestResultHistoryItem";
3
4
  import { useI18n } from "@/stores";
5
+
4
6
  import { type ClassicTestResult } from "../../../../types";
7
+
5
8
  import * as styles from "./styles.scss";
6
9
 
7
10
  export type TestResultHistoryViewProps = {
@@ -1,7 +1,9 @@
1
1
  import { capitalize } from "@allurereport/core-api";
2
2
  import { SvgIcon, allureIcons } from "@allurereport/web-components";
3
3
  import { type FunctionalComponent } from "preact";
4
+
4
5
  import { useI18n } from "@/stores";
6
+
5
7
  import * as styles from "./styles.scss";
6
8
 
7
9
  const icons: Record<string, string> = {
@@ -2,6 +2,7 @@ import { formatDuration } from "@allurereport/core-api";
2
2
  import { Counter, Heading, Text, TooltipWrapper } from "@allurereport/web-components";
3
3
  import type { FunctionalComponent } from "preact";
4
4
  import type { ClassicTestResult } from "types";
5
+
5
6
  import { TestResultInfoStatuses } from "@/components/TestResult/TestResultInfo/TestResultInfoStatuses";
6
7
  import { TestResultNavigation } from "@/components/TestResult/TestResultNavigation";
7
8
  import { TestResultPrevStatuses } from "@/components/TestResult/TestResultPrevStatuses";
@@ -10,6 +11,7 @@ import { TestResultStatus } from "@/components/TestResult/TestResultStatus";
10
11
  import { TestResultTab, TestResultTabsList } from "@/components/TestResult/TestResultTabs";
11
12
  import { useI18n } from "@/stores/locale";
12
13
  import { timestampToDate } from "@/utils/time";
14
+
13
15
  import * as styles from "./styles.scss";
14
16
 
15
17
  export type TestResultInfoProps = {
@@ -1,9 +1,12 @@
1
+ import { sanitizeExternalUrl } from "@allurereport/core-api";
1
2
  import { SvgIcon, Text, allureIcons } from "@allurereport/web-components";
2
3
  import type { FunctionalComponent } from "preact";
3
4
  import { useState } from "preact/hooks";
4
5
  import type { ClassicTestResult } from "types";
6
+
5
7
  import { MetadataButton } from "@/components/MetadataButton";
6
8
  import { useI18n } from "@/stores/locale";
9
+
7
10
  import * as styles from "./styles.scss";
8
11
 
9
12
  interface TestResultLinkProps {
@@ -23,13 +26,27 @@ const TestResultLink: FunctionalComponent<{
23
26
  link: TestResultLinkProps;
24
27
  }> = ({ link }) => {
25
28
  const { url, type } = link;
29
+ const safeUrl = sanitizeExternalUrl(url);
26
30
 
27
31
  return (
28
32
  <div className={styles["test-result-link"]}>
29
33
  <SvgIcon id={linksIconMap[type] ?? allureIcons.lineGeneralLink1} />
30
- <Text tag={"a"} href={url} target={"_blank"} size={"m"} className={styles["test-result-link-text"]}>
31
- {url}
32
- </Text>
34
+ {safeUrl ? (
35
+ <Text
36
+ tag={"a"}
37
+ href={safeUrl}
38
+ target={"_blank"}
39
+ rel={"noopener noreferrer"}
40
+ size={"m"}
41
+ className={styles["test-result-link-text"]}
42
+ >
43
+ {url}
44
+ </Text>
45
+ ) : (
46
+ <Text size={"m"} className={styles["test-result-link-text"]}>
47
+ {url}
48
+ </Text>
49
+ )}
33
50
  </div>
34
51
  );
35
52
  };
@@ -1,9 +1,11 @@
1
1
  import type { FunctionalComponent } from "preact";
2
2
  import { useState } from "preact/hooks";
3
3
  import type { ClassicTestResult } from "types";
4
+
4
5
  import { TestResultMetadataList } from "@/components/Metadata";
5
6
  import { MetadataButton } from "@/components/MetadataButton";
6
7
  import { useI18n } from "@/stores/locale";
8
+
7
9
  import * as styles from "./styles.scss";
8
10
 
9
11
  export type TestResultMetadataProps = {
@@ -1,10 +1,12 @@
1
1
  import { Code, IconButton, Loadable, TooltipWrapper, allureIcons } from "@allurereport/web-components";
2
2
  import type { FunctionalComponent } from "preact";
3
3
  import type { ClassicTestResult } from "types";
4
+
4
5
  import { useI18n } from "@/stores";
5
6
  import { testResultNavStore } from "@/stores/testResults";
6
7
  import { copyToClipboard } from "@/utils/copyToClipboard";
7
8
  import { navigateTo } from "@/utils/navigate";
9
+
8
10
  import * as styles from "./styles.scss";
9
11
 
10
12
  export type TestResultNavigationProps = {
@@ -1,6 +1,6 @@
1
1
  import type { FunctionalComponent } from "preact";
2
2
  import type { ClassicTestResult } from "types";
3
- import * as styles from "@/components/BaseLayout/styles.scss";
3
+
4
4
  import { TestResultDescription } from "@/components/TestResult/TestResultDescription";
5
5
  import { TestResultError } from "@/components/TestResult/TestResultError";
6
6
  import { TestResultLinks } from "@/components/TestResult/TestResultLinks";
@@ -10,6 +10,8 @@ import { TestResultSetup } from "@/components/TestResult/TestResultSetup";
10
10
  import { TestResultSteps } from "@/components/TestResult/TestResultSteps";
11
11
  import { TestResultTeardown } from "@/components/TestResult/TestResultTeardown";
12
12
 
13
+ import * as styles from "@/components/BaseLayout/styles.scss";
14
+
13
15
  export type TestResultOverviewProps = {
14
16
  testResult?: ClassicTestResult;
15
17
  };
@@ -1,9 +1,11 @@
1
1
  import type { FunctionalComponent } from "preact";
2
2
  import { useState } from "preact/hooks";
3
3
  import type { ClassicTestResult } from "types";
4
+
4
5
  import { MetadataList } from "@/components/Metadata";
5
6
  import { MetadataButton } from "@/components/MetadataButton";
6
7
  import { useI18n } from "@/stores/locale";
8
+
7
9
  import * as styles from "./styles.scss";
8
10
 
9
11
  export type TestResultParametersProps = {
@@ -2,8 +2,10 @@ import { type HistoryTestResult, capitalize } from "@allurereport/core-api";
2
2
  import { SvgIcon, Text, TooltipWrapper, allureIcons } from "@allurereport/web-components";
3
3
  import type { FunctionalComponent } from "preact";
4
4
  import type { ClassicTestResult } from "types";
5
+
5
6
  import { useI18n } from "@/stores";
6
7
  import { timestampToDate } from "@/utils/time";
8
+
7
9
  import * as styles from "./styles.scss";
8
10
 
9
11
  const TestResultPrevStatus: FunctionalComponent<{ item: HistoryTestResult }> = ({ item }) => {
@@ -2,14 +2,16 @@ import { type TestResult, formatDuration } from "@allurereport/core-api";
2
2
  import { IconButton, Text, allureIcons } from "@allurereport/web-components";
3
3
  import { type FunctionalComponent } from "preact";
4
4
  import { useState } from "preact/hooks";
5
+
5
6
  import { ArrowButton } from "@/components/ArrowButton";
6
7
  import { TestResultError } from "@/components/TestResult/TestResultError";
7
- import * as styles from "@/components/TestResult/TestResultRetriesView/styles.scss";
8
8
  import TreeItemIcon from "@/components/Tree/TreeItemIcon";
9
9
  import { useI18n } from "@/stores";
10
10
  import { navigateTo } from "@/utils/navigate";
11
11
  import { timestampToDate } from "@/utils/time";
12
12
 
13
+ import * as styles from "@/components/TestResult/TestResultRetriesView/styles.scss";
14
+
13
15
  export type TrRetriesItemProps = {
14
16
  testResultItem: TestResult;
15
17
  attempt: number;
@@ -1,9 +1,11 @@
1
1
  import type { FunctionalComponent } from "preact";
2
2
  import type { ClassicTestResult } from "types";
3
- import * as styles from "@/components/TestResult/TestResultHistory/styles.scss";
3
+
4
4
  import { TestResultRetriesItem } from "@/components/TestResult/TestResultRetriesView/TestResultRetriesItem";
5
5
  import { useI18n } from "@/stores";
6
6
 
7
+ import * as styles from "@/components/TestResult/TestResultHistory/styles.scss";
8
+
7
9
  export const TestResultRetriesView: FunctionalComponent<{ testResult: ClassicTestResult }> = ({ testResult }) => {
8
10
  const { retries } = testResult ?? {};
9
11
  const { t } = useI18n("empty");
@@ -2,12 +2,14 @@ import { allureIcons } from "@allurereport/web-components";
2
2
  import type { FunctionalComponent } from "preact";
3
3
  import { useState } from "preact/hooks";
4
4
  import type { ClassicTestResult } from "types";
5
+
5
6
  import { TestResultDropdown } from "@/components/TestResult/TestResultDropdown";
6
- import * as styles from "@/components/TestResult/TestResultSteps/styles.scss";
7
7
  import { TestResultAttachment } from "@/components/TestResult/TestResultSteps/testResultAttachment";
8
8
  import { TestResultStep } from "@/components/TestResult/TestResultSteps/testResultStep";
9
9
  import { useI18n } from "@/stores/locale";
10
10
 
11
+ import * as styles from "@/components/TestResult/TestResultSteps/styles.scss";
12
+
11
13
  const typeMap = {
12
14
  before: TestResultStep,
13
15
  after: TestResultStep,
@@ -1,7 +1,9 @@
1
1
  import { capitalize } from "@allurereport/core-api";
2
2
  import { SvgIcon, Text, allureIcons } from "@allurereport/web-components";
3
3
  import clsx from "clsx";
4
+
4
5
  import { useI18n } from "@/stores/locale";
6
+
5
7
  import * as styles from "./styles.scss";
6
8
 
7
9
  const icons: Record<string, string> = {
@@ -2,8 +2,10 @@ import type { TestStatus } from "@allurereport/core-api";
2
2
  import { capitalize } from "@allurereport/core-api";
3
3
  import { Text } from "@allurereport/web-components";
4
4
  import clsx from "clsx";
5
+
5
6
  import TreeItemIcon from "@/components/Tree/TreeItemIcon";
6
7
  import { useI18n } from "@/stores";
8
+
7
9
  import * as styles from "./styles.scss";
8
10
 
9
11
  export const TestResultStatus = ({ status }: { status: TestStatus }) => {
@@ -1,6 +1,7 @@
1
1
  import { sanitize } from "@allurereport/web-commons";
2
2
  import type { FunctionalComponent } from "preact";
3
3
  import { useEffect, useState } from "preact/hooks";
4
+
4
5
  import * as styles from "./styles.scss";
5
6
 
6
7
  // TODO: use proper type here
@@ -2,13 +2,15 @@ import type { AttachmentTestStepResult } from "@allurereport/core-api";
2
2
  import { Spinner } from "@allurereport/web-components";
3
3
  import type { FunctionalComponent } from "preact";
4
4
  import { useEffect, useState } from "preact/hooks";
5
+
5
6
  import { modalData } from "@/components/Modal";
6
- import { HtmlAttachmentPreview } from "@/components/TestResult/TestResultSteps/HtmlAttachmentPreview";
7
7
  import { AttachmentCode } from "@/components/TestResult/TestResultSteps/attachmentCode";
8
8
  import { AttachmentImage } from "@/components/TestResult/TestResultSteps/attachmentImage";
9
9
  import { AttachmentVideo } from "@/components/TestResult/TestResultSteps/attachmentVideo";
10
+ import { HtmlAttachmentPreview } from "@/components/TestResult/TestResultSteps/HtmlAttachmentPreview";
10
11
  import { EmptyComponent } from "@/components/TestResult/TestResultSteps/wrongAttachment";
11
12
  import { type Attachments, attachmentType, fetchAttachment } from "@/utils/attachments";
13
+
12
14
  import * as styles from "./styles.scss";
13
15
 
14
16
  const componentsByAttachmentType: Record<string, any> = {
@@ -2,6 +2,7 @@ import { type AttachmentTestStepResult } from "@allurereport/core-api";
2
2
  import { type FunctionalComponent } from "preact";
3
3
  import { useEffect } from "preact/hooks";
4
4
  import Prism from "prismjs";
5
+
5
6
  import "@/assets/scss/code.scss";
6
7
 
7
8
  export const AttachmentCode: FunctionalComponent<{
@@ -1,8 +1,10 @@
1
1
  import { type FunctionalComponent } from "preact";
2
2
  import { useEffect, useState } from "preact/hooks";
3
- import * as styles from "@/components/TestResult/TestResultSteps/styles.scss";
3
+
4
4
  import { EmptyComponent } from "@/components/TestResult/TestResultSteps/wrongAttachment";
5
5
 
6
+ import * as styles from "@/components/TestResult/TestResultSteps/styles.scss";
7
+
6
8
  export const AttachmentImage: FunctionalComponent<{
7
9
  attachment: { img: string; originalFileName: string };
8
10
  }> = ({ attachment }) => {
@@ -2,10 +2,12 @@ import { allureIcons } from "@allurereport/web-components";
2
2
  import type { FunctionalComponent } from "preact";
3
3
  import { useState } from "preact/hooks";
4
4
  import type { ClassicTestResult, ClassicTestStepResult } from "types";
5
+
5
6
  import { TestResultDropdown } from "@/components/TestResult/TestResultDropdown";
6
7
  import { TestResultAttachment } from "@/components/TestResult/TestResultSteps/testResultAttachment";
7
8
  import { TestResultStep } from "@/components/TestResult/TestResultSteps/testResultStep";
8
9
  import { useI18n } from "@/stores/locale";
10
+
9
11
  import * as styles from "./styles.scss";
10
12
 
11
13
  const typeMap = {
@@ -2,12 +2,14 @@ import type { AttachmentTestStepResult } from "@allurereport/core-api";
2
2
  import { Code, SvgIcon, Text, allureIcons } from "@allurereport/web-components";
3
3
  import type { FunctionComponent } from "preact";
4
4
  import { useState } from "preact/hooks";
5
+
5
6
  import { ArrowButton } from "@/components/ArrowButton";
6
7
  import { Attachment } from "@/components/TestResult/TestResultSteps/attachment";
7
- import * as styles from "@/components/TestResult/TestResultSteps/styles.scss";
8
8
  import { TestResultAttachmentInfo } from "@/components/TestResult/TestResultSteps/testResultAttachmentInfo";
9
9
  import { attachmentType } from "@/utils/attachments";
10
10
 
11
+ import * as styles from "@/components/TestResult/TestResultSteps/styles.scss";
12
+
11
13
  const { lineImagesImage, lineFilesFileAttachment2 } = allureIcons;
12
14
 
13
15
  const iconMap: Record<string, string> = {
@@ -3,12 +3,14 @@ import { IconButton, Text, TooltipWrapper, allureIcons } from "@allurereport/web
3
3
  import { filesize } from "filesize";
4
4
  import type { FunctionalComponent } from "preact";
5
5
  import { useEffect } from "preact/hooks";
6
+
6
7
  import { isModalOpen, openModal } from "@/components/Modal";
7
8
  import { Attachment } from "@/components/TestResult/TestResultSteps/attachment";
8
- import * as styles from "@/components/TestResult/TestResultSteps/styles.scss";
9
9
  import { useI18n } from "@/stores";
10
10
  import { downloadAttachment } from "@/utils/attachments";
11
11
 
12
+ import * as styles from "@/components/TestResult/TestResultSteps/styles.scss";
13
+
12
14
  interface TestResultAttachmentInfoProps {
13
15
  item?: AttachmentTestStepResult;
14
16
  shouldExpand?: boolean;
@@ -2,14 +2,16 @@ import type { DefaultTestStepResult } from "@allurereport/core-api";
2
2
  import { Code, Text, allureIcons } from "@allurereport/web-components";
3
3
  import type { FunctionComponent } from "preact";
4
4
  import { useState } from "preact/hooks";
5
+
5
6
  import { ArrowButton } from "@/components/ArrowButton";
6
7
  import { MetadataList } from "@/components/Metadata";
7
8
  import { type MetadataItem } from "@/components/ReportMetadata";
8
- import * as styles from "@/components/TestResult/TestResultSteps/styles.scss";
9
9
  import { TestResultAttachment } from "@/components/TestResult/TestResultSteps/testResultAttachment";
10
10
  import { TestResultStepInfo } from "@/components/TestResult/TestResultSteps/testResultStepInfo";
11
11
  import TreeItemIcon from "@/components/Tree/TreeItemIcon";
12
12
 
13
+ import * as styles from "@/components/TestResult/TestResultSteps/styles.scss";
14
+
13
15
  export const TestResultStepParameters = (props: { parameters: DefaultTestStepResult["parameters"] }) => {
14
16
  const { parameters } = props;
15
17
 
@@ -1,5 +1,6 @@
1
1
  import { type DefaultTestStepResult, formatDuration } from "@allurereport/core-api";
2
2
  import { SvgIcon, Text, allureIcons } from "@allurereport/web-components";
3
+
3
4
  import * as styles from "@/components/TestResult/TestResultSteps/styles.scss";
4
5
 
5
6
  export const TestResultStepInfo = (props: { item: DefaultTestStepResult }) => {
@@ -1,6 +1,7 @@
1
- import * as styles from "@/components/TestResult/TestResultSteps/styles.scss";
2
1
  import { useI18n } from "@/stores";
3
2
 
3
+ import * as styles from "@/components/TestResult/TestResultSteps/styles.scss";
4
+
4
5
  export const EmptyComponent = () => {
5
6
  const { t } = useI18n("errors");
6
7
 
@@ -1,6 +1,7 @@
1
1
  import { Text } from "@allurereport/web-components";
2
2
  import { type ComponentChildren, createContext } from "preact";
3
3
  import { useContext, useState } from "preact/hooks";
4
+
4
5
  import * as styles from "./styles.scss";
5
6
 
6
7
  type TestResultTabsContextT = {
@@ -2,12 +2,14 @@ import { allureIcons } from "@allurereport/web-components";
2
2
  import type { FunctionalComponent } from "preact";
3
3
  import { useState } from "preact/hooks";
4
4
  import type { ClassicTestResult } from "types";
5
+
5
6
  import { TestResultDropdown } from "@/components/TestResult/TestResultDropdown";
6
- import * as styles from "@/components/TestResult/TestResultSteps/styles.scss";
7
7
  import { TestResultAttachment } from "@/components/TestResult/TestResultSteps/testResultAttachment";
8
8
  import { TestResultStep } from "@/components/TestResult/TestResultSteps/testResultStep";
9
9
  import { useI18n } from "@/stores/locale";
10
10
 
11
+ import * as styles from "@/components/TestResult/TestResultSteps/styles.scss";
12
+
11
13
  const typeMap = {
12
14
  before: TestResultStep,
13
15
  after: TestResultStep,
@@ -1,13 +1,16 @@
1
1
  import { View } from "backbone.marionette";
2
2
  import { findWhere } from "underscore";
3
- import ModalView from "@/components/Modal/ModalView.js";
3
+
4
4
  import AttachmentView from "@/components/attachment/AttachmentView.js";
5
5
  import ErrorSplashView from "@/components/error-splash/ErrorSplashView.js";
6
+ import ModalView from "@/components/Modal/ModalView.js";
6
7
  import TestResultOverviewView from "@/components/testresult-overview/TestResultOverviewView.js";
7
8
  import { behavior, className, on, regions } from "@/decorators/index.js";
8
9
  import translate from "@/helpers/t.js";
9
10
  import pluginsRegistry from "@/utils/pluginsRegistry.js";
11
+
10
12
  import template from "./TestResultView.hbs";
13
+
11
14
  import "./styles.scss";
12
15
 
13
16
  const subViews = [{ id: "", name: "testResult.overview.name", View: TestResultOverviewView }];
@@ -1,6 +1,6 @@
1
1
  import type { FunctionComponent, FunctionalComponent } from "preact";
2
2
  import type { ClassicTestResult } from "types";
3
- import * as styles from "@/components/BaseLayout/styles.scss";
3
+
4
4
  import { TestResultAttachmentView } from "@/components/TestResult/TestResultAttachmentsView";
5
5
  import TestResultEmpty from "@/components/TestResult/TestResultEmpty";
6
6
  import TestResultHistoryView from "@/components/TestResult/TestResultHistory";
@@ -9,6 +9,8 @@ import { TestResultOverview } from "@/components/TestResult/TestResultOverview";
9
9
  import { TestResultRetriesView } from "@/components/TestResult/TestResultRetriesView";
10
10
  import { TestResultTabs, useTestResultTabsContext } from "@/components/TestResult/TestResultTabs";
11
11
 
12
+ import * as styles from "@/components/BaseLayout/styles.scss";
13
+
12
14
  export type TestResultViewProps = {
13
15
  testResult?: ClassicTestResult;
14
16
  };
@@ -1,5 +1,6 @@
1
1
  import { Loadable, PageLoader } from "@allurereport/web-components";
2
2
  import { useEffect } from "preact/hooks";
3
+
3
4
  import TestResult from "@/components/TestResult";
4
5
  import TestResultEmpty from "@/components/TestResult/TestResultEmpty";
5
6
  import { route } from "@/stores/router";
@@ -3,9 +3,12 @@ import cx from "clsx";
3
3
  import type { FunctionComponent } from "preact";
4
4
  import { useState } from "preact/hooks";
5
5
  import type { ClassicRecursiveTree, ClassicStatus } from "types";
6
+
6
7
  import TreeItem from "@/components/Tree/TreeItem";
7
8
  import { route } from "@/stores/router";
9
+
8
10
  import TreeHeader from "./TreeHeader";
11
+
9
12
  import * as styles from "./styles.scss";
10
13
 
11
14
  interface TreeProps {
@@ -2,10 +2,12 @@ import { type Statistic, statusesList } from "@allurereport/core-api";
2
2
  import { Loadable, Text } from "@allurereport/web-components";
3
3
  import { clsx } from "clsx";
4
4
  import { type FunctionComponent } from "preact";
5
+
5
6
  import { ArrowButton } from "@/components/ArrowButton";
6
7
  import { statsStore } from "@/stores";
7
8
  import { route } from "@/stores/router";
8
9
  import { treeFiltersStore } from "@/stores/tree";
10
+
9
11
  import * as styles from "./styles.scss";
10
12
 
11
13
  interface TreeHeaderProps {
@@ -2,8 +2,10 @@ import { type TestStatus, formatDuration } from "@allurereport/core-api";
2
2
  import { Text } from "@allurereport/web-components";
3
3
  import clsx from "clsx";
4
4
  import type { FunctionComponent } from "preact";
5
+
5
6
  import TreeItemIcon from "@/components/Tree/TreeItemIcon";
6
7
  import { navigateTo, route } from "@/stores/router";
8
+
7
9
  import * as styles from "./styles.scss";
8
10
 
9
11
  interface TreeItemProps {
@@ -1,6 +1,7 @@
1
1
  import { SvgIcon, allureIcons } from "@allurereport/web-components";
2
2
  import { clsx } from "clsx";
3
3
  import type { FunctionalComponent } from "preact";
4
+
4
5
  import * as styles from "./styles.scss";
5
6
 
6
7
  interface TestStatusIconProps {
@@ -1,10 +1,12 @@
1
1
  import { Button, Loadable, PageLoader, Text } from "@allurereport/web-components";
2
2
  import { useEffect } from "preact/hooks";
3
3
  import type { ClassicStatus } from "types";
4
+
4
5
  import Tree from "@/components/Tree/Tree";
5
6
  import { useI18n } from "@/stores/locale";
6
7
  import { currentTab } from "@/stores/tabs";
7
8
  import { clearTreeFilters, filteredTree, noTests, noTestsFound, setTreeStatus, treeStore } from "@/stores/tree";
9
+
8
10
  import * as styles from "./styles.scss";
9
11
 
10
12
  export const TreeList = () => {
package/src/index.js CHANGED
@@ -1,8 +1,11 @@
1
1
  import { ensureReportDataReady } from "@allurereport/web-commons";
2
+
2
3
  import "highlight.js/styles/github-gist.css";
3
4
  import $ from "jquery";
5
+
4
6
  import "normalize-css/normalize.css";
5
7
  import { App } from "./app.js";
8
+
6
9
  import "./blocks/arrow/styles.scss";
7
10
  import "./blocks/executor-icon/styles.scss";
8
11
  import "./blocks/pane/styles.scss";
package/src/index.tsx CHANGED
@@ -1,7 +1,9 @@
1
1
  import { PageLoader } from "@allurereport/web-components";
2
+
2
3
  import "@allurereport/web-components/index.css";
3
4
  import { render } from "preact";
4
5
  import { useEffect, useMemo } from "preact/compat";
6
+
5
7
  import "@/assets/scss/index.scss";
6
8
  import { BaseLayout } from "@/components/BaseLayout";
7
9
  import Behaviors from "@/components/Behaviors";
@@ -1,6 +1,7 @@
1
1
  import { fetchReportJsonData } from "@allurereport/web-commons";
2
2
  import { computed, signal } from "@preact/signals";
3
3
  import type { ClassicStatus, ClassicTree, ClassicTreeGroup } from "types";
4
+
4
5
  import type { StoreSignalState } from "@/stores/types";
5
6
  import { createRecursiveTree, isRecursiveTreeEmpty } from "@/utils/treeFilters";
6
7
 
@@ -1,6 +1,7 @@
1
1
  import { fetchReportJsonData } from "@allurereport/web-commons";
2
2
  import { computed, signal } from "@preact/signals";
3
3
  import type { ClassicStatus, ClassicTree, ClassicTreeGroup } from "types";
4
+
4
5
  import type { StoreSignalState } from "@/stores/types";
5
6
  import { createRecursiveTree, isRecursiveTreeEmpty } from "@/utils/treeFilters";
6
7
 
@@ -1,5 +1,6 @@
1
1
  import { fetchReportJsonData } from "@allurereport/web-commons";
2
2
  import { signal } from "@preact/signals";
3
+
3
4
  import { StoreSignalState } from "@/stores/types";
4
5
 
5
6
  export const pieChartStore = signal<StoreSignalState<any>>({