@plitzi/sdk-dev-tools 0.37.9 → 0.37.10

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 (189) hide show
  1. package/CHANGELOG.md +591 -0
  2. package/dist/DevToolsContainer.d.ts +7 -1
  3. package/dist/DevToolsContainer.mjs +66 -60
  4. package/dist/agentInspector/flowRuns.d.ts +22 -0
  5. package/dist/agentInspector/flowRuns.mjs +26 -0
  6. package/dist/agentInspector/inspector.d.ts +27 -0
  7. package/dist/agentInspector/inspector.mjs +20 -0
  8. package/dist/agentInspector/report.d.ts +36 -0
  9. package/dist/agentInspector/report.mjs +53 -0
  10. package/dist/agentInspector/useAgentInspector.d.ts +15 -0
  11. package/dist/agentInspector/useAgentInspector.mjs +36 -0
  12. package/dist/components/DevToolsOverlay/DevToolsOverlay.d.ts +6 -1
  13. package/dist/components/DevToolsOverlay/DevToolsOverlay.mjs +25 -15
  14. package/dist/components/DevToolsPanel/DevToolsBody.d.ts +3 -1
  15. package/dist/components/DevToolsPanel/DevToolsBody.mjs +35 -31
  16. package/dist/components/DevToolsPanel/DevToolsHeader.d.ts +3 -1
  17. package/dist/components/DevToolsPanel/DevToolsHeader.mjs +20 -10
  18. package/dist/components/DevToolsPanel/DevToolsPanel.d.ts +3 -1
  19. package/dist/components/DevToolsPanel/DevToolsPanel.mjs +25 -23
  20. package/dist/components/DevToolsPanel/DevToolsSubHeader.mjs +41 -45
  21. package/dist/components/DevToolsPanel/tabs/ActionsViewer/ActionsViewer.mjs +10 -10
  22. package/dist/components/DevToolsPanel/tabs/ElementsViewer/ElementsViewer.d.ts +4 -0
  23. package/dist/components/DevToolsPanel/tabs/ElementsViewer/ElementsViewer.mjs +33 -18
  24. package/dist/components/DevToolsPanel/tabs/ElementsViewer/components/DetailsAttributes/DetailsAttributes.mjs +16 -0
  25. package/dist/components/DevToolsPanel/tabs/ElementsViewer/components/DetailsAttributes/index.d.ts +3 -0
  26. package/dist/components/DevToolsPanel/tabs/ElementsViewer/components/DetailsAttributes/index.mjs +5 -0
  27. package/dist/components/DevToolsPanel/tabs/ElementsViewer/components/DetailsDefinition/DetailsDefinition.mjs +18 -0
  28. package/dist/components/DevToolsPanel/tabs/ElementsViewer/components/DetailsDefinition/index.d.ts +3 -0
  29. package/dist/components/DevToolsPanel/tabs/ElementsViewer/components/DetailsDefinition/index.mjs +5 -0
  30. package/dist/components/DevToolsPanel/tabs/ElementsViewer/components/DetailsRow/DetailsRow.d.ts +8 -0
  31. package/dist/components/DevToolsPanel/tabs/ElementsViewer/components/DetailsRow/DetailsRow.mjs +14 -0
  32. package/dist/components/DevToolsPanel/tabs/ElementsViewer/components/DetailsRow/index.d.ts +3 -0
  33. package/dist/components/DevToolsPanel/tabs/ElementsViewer/components/DetailsRow/index.mjs +5 -0
  34. package/dist/components/DevToolsPanel/tabs/ElementsViewer/components/DetailsRuntime/DetailsRuntime.d.ts +9 -0
  35. package/dist/components/DevToolsPanel/tabs/ElementsViewer/components/DetailsRuntime/DetailsRuntime.mjs +54 -0
  36. package/dist/components/DevToolsPanel/tabs/ElementsViewer/components/DetailsRuntime/index.d.ts +3 -0
  37. package/dist/components/DevToolsPanel/tabs/ElementsViewer/components/DetailsRuntime/index.mjs +5 -0
  38. package/dist/components/DevToolsPanel/tabs/ElementsViewer/components/DetailsValue/DetailsValue.d.ts +9 -0
  39. package/dist/components/DevToolsPanel/tabs/ElementsViewer/components/DetailsValue/DetailsValue.mjs +15 -0
  40. package/dist/components/DevToolsPanel/tabs/ElementsViewer/components/DetailsValue/index.d.ts +3 -0
  41. package/dist/components/DevToolsPanel/tabs/ElementsViewer/components/DetailsValue/index.mjs +5 -0
  42. package/dist/components/DevToolsPanel/tabs/ElementsViewer/components/ElementDetails/ElementDetails.d.ts +7 -0
  43. package/dist/components/DevToolsPanel/tabs/ElementsViewer/components/ElementDetails/ElementDetails.mjs +46 -0
  44. package/dist/components/DevToolsPanel/tabs/ElementsViewer/components/ElementDetails/index.d.ts +3 -0
  45. package/dist/components/DevToolsPanel/tabs/ElementsViewer/components/ElementDetails/index.mjs +5 -0
  46. package/dist/components/DevToolsPanel/tabs/ElementsViewer/components/ElementLink/ElementLink.d.ts +7 -0
  47. package/dist/components/DevToolsPanel/tabs/ElementsViewer/components/ElementLink/ElementLink.mjs +14 -0
  48. package/dist/components/DevToolsPanel/tabs/ElementsViewer/components/ElementLink/index.d.ts +3 -0
  49. package/dist/components/DevToolsPanel/tabs/ElementsViewer/components/ElementLink/index.mjs +5 -0
  50. package/dist/components/DevToolsPanel/tabs/ElementsViewer/components/ElementsTree/ElementsTree.d.ts +12 -0
  51. package/dist/components/DevToolsPanel/tabs/ElementsViewer/components/ElementsTree/ElementsTree.mjs +39 -0
  52. package/dist/components/DevToolsPanel/tabs/ElementsViewer/components/ElementsTree/index.d.ts +3 -0
  53. package/dist/components/DevToolsPanel/tabs/ElementsViewer/components/ElementsTree/index.mjs +5 -0
  54. package/dist/components/DevToolsPanel/tabs/ElementsViewer/components/TreeRow/TreeRow.d.ts +10 -0
  55. package/dist/components/DevToolsPanel/tabs/ElementsViewer/components/TreeRow/TreeRow.mjs +36 -0
  56. package/dist/components/DevToolsPanel/tabs/ElementsViewer/components/TreeRow/index.d.ts +3 -0
  57. package/dist/components/DevToolsPanel/tabs/ElementsViewer/components/TreeRow/index.mjs +5 -0
  58. package/dist/components/DevToolsPanel/tabs/ElementsViewer/components/TreeSection/TreeSection.d.ts +13 -0
  59. package/dist/components/DevToolsPanel/tabs/ElementsViewer/components/TreeSection/TreeSection.mjs +39 -0
  60. package/dist/components/DevToolsPanel/tabs/ElementsViewer/components/TreeSection/index.d.ts +3 -0
  61. package/dist/components/DevToolsPanel/tabs/ElementsViewer/components/TreeSection/index.mjs +5 -0
  62. package/dist/components/DevToolsPanel/tabs/ElementsViewer/helpers/renderTree.d.ts +31 -0
  63. package/dist/components/DevToolsPanel/tabs/ElementsViewer/helpers/renderTree.mjs +61 -0
  64. package/dist/components/DevToolsPanel/tabs/FlagsViewer/FlagSource.d.ts +7 -0
  65. package/dist/components/DevToolsPanel/tabs/FlagsViewer/FlagSource.mjs +23 -0
  66. package/dist/components/DevToolsPanel/tabs/FlagsViewer/FlagsListItem.d.ts +11 -0
  67. package/dist/components/DevToolsPanel/tabs/FlagsViewer/FlagsListItem.mjs +66 -0
  68. package/dist/components/DevToolsPanel/tabs/FlagsViewer/FlagsViewer.d.ts +10 -0
  69. package/dist/components/DevToolsPanel/tabs/FlagsViewer/FlagsViewer.mjs +43 -0
  70. package/dist/components/DevToolsPanel/tabs/FlagsViewer/index.d.ts +3 -0
  71. package/dist/components/DevToolsPanel/tabs/FlagsViewer/index.mjs +5 -0
  72. package/dist/components/DevToolsPanel/tabs/Logs/Log.d.ts +3 -8
  73. package/dist/components/DevToolsPanel/tabs/Logs/Log.mjs +42 -31
  74. package/dist/components/DevToolsPanel/tabs/Logs/Logs.mjs +1 -6
  75. package/dist/components/DevToolsPanel/tabs/Logs/categories/LogInteraction/BodyHeader.mjs +53 -54
  76. package/dist/components/DevToolsPanel/tabs/Logs/categories/LogInteraction/LogInteraction.mjs +17 -17
  77. package/dist/components/DevToolsPanel/tabs/Logs/categories/LogNavigation/LogNavigationBody.mjs +26 -26
  78. package/dist/components/DevToolsPanel/tabs/Logs/categories/LogRealtime/LogRealtime.d.ts +10 -0
  79. package/dist/components/DevToolsPanel/tabs/Logs/categories/LogRealtime/LogRealtime.mjs +58 -0
  80. package/dist/components/DevToolsPanel/tabs/Logs/categories/LogRealtime/index.d.ts +3 -0
  81. package/dist/components/DevToolsPanel/tabs/Logs/categories/LogRealtime/index.mjs +5 -0
  82. package/dist/components/DevToolsPanel/tabs/QaViewer/QaAllChecksButton.d.ts +3 -0
  83. package/dist/components/DevToolsPanel/tabs/QaViewer/QaAllChecksButton.mjs +16 -0
  84. package/dist/components/DevToolsPanel/tabs/QaViewer/QaCheckRow.d.ts +7 -0
  85. package/dist/components/DevToolsPanel/tabs/QaViewer/QaCheckRow.mjs +47 -0
  86. package/dist/components/DevToolsPanel/tabs/QaViewer/QaChecks.d.ts +3 -0
  87. package/dist/components/DevToolsPanel/tabs/QaViewer/QaChecks.mjs +24 -0
  88. package/dist/components/DevToolsPanel/tabs/QaViewer/QaDivider.d.ts +3 -0
  89. package/dist/components/DevToolsPanel/tabs/QaViewer/QaDivider.mjs +5 -0
  90. package/dist/components/DevToolsPanel/tabs/QaViewer/QaFindingItem.d.ts +7 -0
  91. package/dist/components/DevToolsPanel/tabs/QaViewer/QaFindingItem.mjs +32 -0
  92. package/dist/components/DevToolsPanel/tabs/QaViewer/QaInspectorDetails.d.ts +9 -0
  93. package/dist/components/DevToolsPanel/tabs/QaViewer/QaInspectorDetails.mjs +135 -0
  94. package/dist/components/DevToolsPanel/tabs/QaViewer/QaInspectorEmpty.d.ts +3 -0
  95. package/dist/components/DevToolsPanel/tabs/QaViewer/QaInspectorEmpty.mjs +17 -0
  96. package/dist/components/DevToolsPanel/tabs/QaViewer/QaInspectorPanel.d.ts +3 -0
  97. package/dist/components/DevToolsPanel/tabs/QaViewer/QaInspectorPanel.mjs +22 -0
  98. package/dist/components/DevToolsPanel/tabs/QaViewer/QaProperty.d.ts +8 -0
  99. package/dist/components/DevToolsPanel/tabs/QaViewer/QaProperty.mjs +14 -0
  100. package/dist/components/DevToolsPanel/tabs/QaViewer/QaRescanButton.d.ts +3 -0
  101. package/dist/components/DevToolsPanel/tabs/QaViewer/QaRescanButton.mjs +15 -0
  102. package/dist/components/DevToolsPanel/tabs/QaViewer/QaRuleItem.d.ts +7 -0
  103. package/dist/components/DevToolsPanel/tabs/QaViewer/QaRuleItem.mjs +38 -0
  104. package/dist/components/DevToolsPanel/tabs/QaViewer/QaToolChip.d.ts +13 -0
  105. package/dist/components/DevToolsPanel/tabs/QaViewer/QaToolChip.mjs +27 -0
  106. package/dist/components/DevToolsPanel/tabs/QaViewer/QaToolbar.d.ts +3 -0
  107. package/dist/components/DevToolsPanel/tabs/QaViewer/QaToolbar.mjs +58 -0
  108. package/dist/components/DevToolsPanel/tabs/QaViewer/QaViewer.d.ts +8 -0
  109. package/dist/components/DevToolsPanel/tabs/QaViewer/QaViewer.mjs +14 -0
  110. package/dist/components/DevToolsPanel/tabs/QaViewer/QaVisionSelect.d.ts +3 -0
  111. package/dist/components/DevToolsPanel/tabs/QaViewer/QaVisionSelect.mjs +50 -0
  112. package/dist/components/DevToolsPanel/tabs/QaViewer/index.d.ts +3 -0
  113. package/dist/components/DevToolsPanel/tabs/QaViewer/index.mjs +5 -0
  114. package/dist/components/DevToolsPanel/tabs/TracingViewer/TracingViewer.mjs +31 -31
  115. package/dist/components/DevToolsPanel/tabs/VariablesViewer/VariablesViewer.mjs +12 -12
  116. package/dist/highlight/index.d.ts +2 -0
  117. package/dist/highlight/index.mjs +5 -0
  118. package/dist/highlight/useHighlightElement.d.ts +6 -0
  119. package/dist/{components/DevToolsPanel/tabs/TracingViewer → highlight}/useHighlightElement.mjs +1 -1
  120. package/dist/qa/QaContext.d.ts +29 -0
  121. package/dist/qa/QaContext.mjs +73 -0
  122. package/dist/qa/QaLayer.d.ts +9 -0
  123. package/dist/qa/QaLayer.mjs +69 -0
  124. package/dist/qa/checks/contrast.d.ts +6 -0
  125. package/dist/qa/checks/contrast.mjs +23 -0
  126. package/dist/qa/checks/dom.d.ts +15 -0
  127. package/dist/qa/checks/dom.mjs +4 -0
  128. package/dist/qa/checks/headings.d.ts +6 -0
  129. package/dist/qa/checks/headings.mjs +28 -0
  130. package/dist/qa/checks/images.d.ts +6 -0
  131. package/dist/qa/checks/images.mjs +20 -0
  132. package/dist/qa/checks/index.d.ts +15 -0
  133. package/dist/qa/checks/index.mjs +47 -0
  134. package/dist/qa/checks/names.d.ts +9 -0
  135. package/dist/qa/checks/names.mjs +27 -0
  136. package/dist/qa/checks/overflow.d.ts +3 -0
  137. package/dist/qa/checks/overflow.mjs +24 -0
  138. package/dist/qa/checks/targets.d.ts +8 -0
  139. package/dist/qa/checks/targets.mjs +17 -0
  140. package/dist/qa/findings.d.ts +5 -0
  141. package/dist/qa/findings.mjs +11 -0
  142. package/dist/qa/inspect/colour.d.ts +33 -0
  143. package/dist/qa/inspect/colour.mjs +111 -0
  144. package/dist/qa/inspect/describe.d.ts +32 -0
  145. package/dist/qa/inspect/describe.mjs +42 -0
  146. package/dist/qa/inspect/measure.d.ts +20 -0
  147. package/dist/qa/inspect/measure.mjs +23 -0
  148. package/dist/qa/inspect/rules.d.ts +12 -0
  149. package/dist/qa/inspect/rules.mjs +29 -0
  150. package/dist/qa/overlays/QaBoxModel.d.ts +9 -0
  151. package/dist/qa/overlays/QaBoxModel.mjs +49 -0
  152. package/dist/qa/overlays/QaContrastBadge.d.ts +7 -0
  153. package/dist/qa/overlays/QaContrastBadge.mjs +13 -0
  154. package/dist/qa/overlays/QaGrid.d.ts +10 -0
  155. package/dist/qa/overlays/QaGrid.mjs +24 -0
  156. package/dist/qa/overlays/QaInspector.d.ts +7 -0
  157. package/dist/qa/overlays/QaInspector.mjs +50 -0
  158. package/dist/qa/overlays/QaMeasure.d.ts +7 -0
  159. package/dist/qa/overlays/QaMeasure.mjs +39 -0
  160. package/dist/qa/overlays/QaSwatch.d.ts +6 -0
  161. package/dist/qa/overlays/QaSwatch.mjs +11 -0
  162. package/dist/qa/overlays/QaTabOrder.d.ts +6 -0
  163. package/dist/qa/overlays/QaTabOrder.mjs +39 -0
  164. package/dist/qa/overlays/QaTooltip.d.ts +6 -0
  165. package/dist/qa/overlays/QaTooltip.mjs +65 -0
  166. package/dist/qa/overlays/QaViewport.d.ts +10 -0
  167. package/dist/qa/overlays/QaViewport.mjs +27 -0
  168. package/dist/qa/qaCss.d.ts +12 -0
  169. package/dist/qa/qaCss.mjs +45 -0
  170. package/dist/qa/qaSettings.d.ts +38 -0
  171. package/dist/qa/qaSettings.mjs +28 -0
  172. package/dist/qa/tabOrder.d.ts +2 -0
  173. package/dist/qa/tabOrder.mjs +8 -0
  174. package/dist/qa/usePageBox.d.ts +13 -0
  175. package/dist/qa/usePageBox.mjs +23 -0
  176. package/package.json +371 -31
  177. package/dist/components/DevToolsPanel/tabs/ElementsViewer/DetailsAttributes.mjs +0 -19
  178. package/dist/components/DevToolsPanel/tabs/ElementsViewer/DetailsDefinition.mjs +0 -20
  179. package/dist/components/DevToolsPanel/tabs/ElementsViewer/DetailsValue.d.ts +0 -10
  180. package/dist/components/DevToolsPanel/tabs/ElementsViewer/DetailsValue.mjs +0 -31
  181. package/dist/components/DevToolsPanel/tabs/ElementsViewer/ElementDetails.d.ts +0 -8
  182. package/dist/components/DevToolsPanel/tabs/ElementsViewer/ElementDetails.mjs +0 -21
  183. package/dist/components/DevToolsPanel/tabs/ElementsViewer/ElementsList.d.ts +0 -8
  184. package/dist/components/DevToolsPanel/tabs/ElementsViewer/ElementsList.mjs +0 -42
  185. package/dist/components/DevToolsPanel/tabs/ElementsViewer/ElementsListItem.d.ts +0 -9
  186. package/dist/components/DevToolsPanel/tabs/ElementsViewer/ElementsListItem.mjs +0 -24
  187. package/dist/components/DevToolsPanel/tabs/TracingViewer/useHighlightElement.d.ts +0 -2
  188. /package/dist/components/DevToolsPanel/tabs/ElementsViewer/{DetailsAttributes.d.ts → components/DetailsAttributes/DetailsAttributes.d.ts} +0 -0
  189. /package/dist/components/DevToolsPanel/tabs/ElementsViewer/{DetailsDefinition.d.ts → components/DetailsDefinition/DetailsDefinition.d.ts} +0 -0
@@ -1,109 +1,108 @@
1
- import { useCallback as e, useMemo as t } from "react";
2
- import { get as n } from "@plitzi/plitzi-ui/helpers";
3
- import { jsx as r, jsxs as i } from "react/jsx-runtime";
4
- import { useCommonStore as a } from "@plitzi/sdk-shared/store";
5
- import { formatDate as o } from "@plitzi/sdk-shared/helpers";
1
+ import e from "../../../../../../highlight/index.mjs";
2
+ import { useCallback as t, useMemo as n, useState as r } from "react";
3
+ import { useCommonStore as i } from "@plitzi/sdk-shared/store";
4
+ import { get as a } from "@plitzi/plitzi-ui/helpers";
5
+ import { jsx as o, jsxs as s } from "react/jsx-runtime";
6
+ import { formatDate as c } from "@plitzi/sdk-shared/helpers";
6
7
  //#region src/components/DevToolsPanel/tabs/Logs/categories/LogInteraction/BodyHeader.tsx
7
- var s = ({ triggerName: s, startTime: c, endTime: l, duration: u, elementId: d, hostElementId: f }) => {
8
- let [p] = a("schema.flat"), m = t(() => d ? n(p, d) : void 0, [d, p]), h = t(() => o(c, "HH:mm:ss.SSS"), [c]), g = t(() => o(l, "HH:mm:ss.SSS"), [l]), _ = t(() => {
9
- if (typeof document < "u") return document.querySelector(`[data-id="${d}"]`);
10
- }, [d]), v = e(() => {
11
- _?.scrollIntoView({
8
+ var l = ({ triggerName: l, startTime: u, endTime: d, duration: f, elementId: p, hostElementId: m }) => {
9
+ let [h] = i("schema.flat"), g = n(() => p ? a(h, p) : void 0, [p, h]), _ = n(() => c(u, "HH:mm:ss.SSS"), [u]), v = n(() => c(d, "HH:mm:ss.SSS"), [d]), y = n(() => {
10
+ if (typeof document < "u") return document.querySelector(`[data-id="${p}"]`);
11
+ }, [p]), b = t(() => {
12
+ y?.scrollIntoView({
12
13
  behavior: "smooth",
13
14
  block: "nearest",
14
15
  inline: "nearest"
15
16
  });
16
- }, [_]), y = e(() => {
17
- _?.classList.add("devtools-element-hovered");
18
- }, [_]), b = e(() => {
19
- _?.classList.remove("devtools-element-hovered");
20
- }, [_]);
21
- return /* @__PURE__ */ i("div", {
17
+ }, [y]), [x, S] = r(!1);
18
+ e(x ? p : void 0);
19
+ let C = t(() => S(!0), []), w = t(() => S(!1), []);
20
+ return /* @__PURE__ */ s("div", {
22
21
  className: "flex justify-around gap-3",
23
22
  children: [
24
- /* @__PURE__ */ i("div", {
23
+ /* @__PURE__ */ s("div", {
25
24
  className: "flex min-w-0 grow basis-0 flex-col",
26
- children: [/* @__PURE__ */ i("div", {
25
+ children: [/* @__PURE__ */ s("div", {
27
26
  className: "mb-1 flex items-center gap-1.5 text-[10px] font-semibold tracking-wider text-zinc-400 uppercase dark:text-zinc-500",
28
- children: [/* @__PURE__ */ r("i", { className: "fa-regular fa-clock" }), "Times"]
29
- }), /* @__PURE__ */ i("div", {
27
+ children: [/* @__PURE__ */ o("i", { className: "fa-regular fa-clock" }), "Times"]
28
+ }), /* @__PURE__ */ s("div", {
30
29
  className: "flex flex-col gap-0.5 font-mono text-zinc-700 dark:text-zinc-300",
31
30
  children: [
32
- /* @__PURE__ */ i("div", {
31
+ /* @__PURE__ */ s("div", {
33
32
  className: "flex gap-1",
34
- children: [/* @__PURE__ */ r("span", {
33
+ children: [/* @__PURE__ */ o("span", {
35
34
  className: "text-zinc-400 dark:text-zinc-500",
36
35
  children: "Start"
37
- }), h]
36
+ }), _]
38
37
  }),
39
- /* @__PURE__ */ i("div", {
38
+ /* @__PURE__ */ s("div", {
40
39
  className: "flex gap-1",
41
- children: [/* @__PURE__ */ r("span", {
40
+ children: [/* @__PURE__ */ o("span", {
42
41
  className: "text-zinc-400 dark:text-zinc-500",
43
42
  children: "End"
44
- }), g]
43
+ }), v]
45
44
  }),
46
- /* @__PURE__ */ i("div", {
45
+ /* @__PURE__ */ s("div", {
47
46
  className: "flex gap-1",
48
- children: [/* @__PURE__ */ r("span", {
47
+ children: [/* @__PURE__ */ o("span", {
49
48
  className: "text-zinc-400 dark:text-zinc-500",
50
49
  children: "Duration"
51
- }), u]
50
+ }), f]
52
51
  })
53
52
  ]
54
53
  })]
55
54
  }),
56
- /* @__PURE__ */ r("div", { className: "w-px shrink-0 bg-zinc-200 dark:bg-zinc-800" }),
57
- /* @__PURE__ */ i("div", {
55
+ /* @__PURE__ */ o("div", { className: "w-px shrink-0 bg-zinc-200 dark:bg-zinc-800" }),
56
+ /* @__PURE__ */ s("div", {
58
57
  className: "flex min-w-0 grow basis-0 flex-col",
59
- children: [/* @__PURE__ */ i("div", {
58
+ children: [/* @__PURE__ */ s("div", {
60
59
  className: "mb-1 flex items-center gap-1.5 text-[10px] font-semibold tracking-wider text-zinc-400 uppercase dark:text-zinc-500",
61
- children: [/* @__PURE__ */ r("i", { className: "fa-solid fa-circle-info" }), "Details"]
62
- }), /* @__PURE__ */ i("div", {
60
+ children: [/* @__PURE__ */ o("i", { className: "fa-solid fa-circle-info" }), "Details"]
61
+ }), /* @__PURE__ */ s("div", {
63
62
  className: "flex flex-col gap-0.5 text-zinc-700 dark:text-zinc-300",
64
63
  children: [
65
- /* @__PURE__ */ i("div", {
64
+ /* @__PURE__ */ s("div", {
66
65
  className: "flex gap-1",
67
- children: [/* @__PURE__ */ r("span", {
66
+ children: [/* @__PURE__ */ o("span", {
68
67
  className: "text-zinc-400 dark:text-zinc-500",
69
68
  children: "Type"
70
- }), /* @__PURE__ */ r("span", { children: "Interaction" })]
69
+ }), /* @__PURE__ */ o("span", { children: "Interaction" })]
71
70
  }),
72
- /* @__PURE__ */ i("div", {
71
+ /* @__PURE__ */ s("div", {
73
72
  className: "flex min-w-0 gap-1",
74
- children: [/* @__PURE__ */ r("span", {
73
+ children: [/* @__PURE__ */ o("span", {
75
74
  className: "shrink-0 text-zinc-400 dark:text-zinc-500",
76
75
  children: "Trigger"
77
- }), /* @__PURE__ */ r("span", {
76
+ }), /* @__PURE__ */ o("span", {
78
77
  className: "truncate",
79
- children: s
78
+ children: l
80
79
  })]
81
80
  }),
82
- f && /* @__PURE__ */ i("div", {
81
+ m && /* @__PURE__ */ s("div", {
83
82
  className: "flex min-w-0 gap-1",
84
- children: [/* @__PURE__ */ r("span", {
83
+ children: [/* @__PURE__ */ o("span", {
85
84
  className: "shrink-0 text-zinc-400 dark:text-zinc-500",
86
85
  children: "Fired on"
87
- }), /* @__PURE__ */ r("span", {
86
+ }), /* @__PURE__ */ o("span", {
88
87
  className: "truncate font-mono",
89
- children: f
88
+ children: m
90
89
  })]
91
90
  }),
92
- /* @__PURE__ */ i("div", {
91
+ /* @__PURE__ */ s("div", {
93
92
  className: "flex min-w-0 gap-1",
94
- children: [/* @__PURE__ */ r("span", {
93
+ children: [/* @__PURE__ */ o("span", {
95
94
  className: "shrink-0 text-zinc-400 dark:text-zinc-500",
96
95
  children: "Element"
97
- }), /* @__PURE__ */ i("span", {
96
+ }), /* @__PURE__ */ s("span", {
98
97
  className: "cursor-pointer truncate text-violet-600 hover:text-violet-500 dark:text-violet-400 dark:hover:text-violet-300",
99
- onClick: v,
100
- onMouseEnter: y,
101
- onMouseLeave: b,
102
- children: [m?.definition.label, d && /* @__PURE__ */ i("span", {
98
+ onClick: b,
99
+ onMouseEnter: C,
100
+ onMouseLeave: w,
101
+ children: [g?.definition.label, p && /* @__PURE__ */ s("span", {
103
102
  className: "ml-1 font-mono text-[10px] text-zinc-400 dark:text-zinc-500",
104
103
  children: [
105
104
  "[",
106
- d,
105
+ p,
107
106
  "]"
108
107
  ]
109
108
  })]
@@ -116,4 +115,4 @@ var s = ({ triggerName: s, startTime: c, endTime: l, duration: u, elementId: d,
116
115
  });
117
116
  };
118
117
  //#endregion
119
- export { s as default };
118
+ export { l as default };
@@ -4,13 +4,13 @@ import n from "./LogInteractionHeader.mjs";
4
4
  import r from "./LogInteractionNote.mjs";
5
5
  import i from "clsx";
6
6
  import { useMemo as a } from "react";
7
- import { jsx as o, jsxs as s } from "react/jsx-runtime";
8
- import c from "@plitzi/plitzi-ui/ContainerCollapsable";
9
- import { getDurationMs as l } from "@plitzi/sdk-shared";
10
- import { isInteractionFlow as u } from "@plitzi/sdk-shared/devTools";
7
+ import { isInteractionFlow as o } from "@plitzi/sdk-shared/devTools";
8
+ import { jsx as s, jsxs as c } from "react/jsx-runtime";
9
+ import l from "@plitzi/plitzi-ui/ContainerCollapsable";
10
+ import { getDurationMs as u } from "@plitzi/sdk-shared";
11
11
  //#region src/components/DevToolsPanel/tabs/Logs/categories/LogInteraction/LogInteraction.tsx
12
- var d = /* @__PURE__ */ o("i", { className: "fa-solid fa-angle-right text-[10px]" }), f = /* @__PURE__ */ o("i", { className: "fa-solid fa-angle-down text-[10px]" }), p = ({ time: r, message: u, params: { elementId: p, hostElementId: m, status: h, node: g, nodes: _, startTime: v = 0, endTime: y = 0 } }) => {
13
- let b = a(() => `${l(v, y)}ms`, [v, y]), { failed: x, skipped: S, disabled: C } = a(() => {
12
+ var d = /* @__PURE__ */ s("i", { className: "fa-solid fa-angle-right text-[10px]" }), f = /* @__PURE__ */ s("i", { className: "fa-solid fa-angle-down text-[10px]" }), p = ({ time: r, message: o, params: { elementId: p, hostElementId: m, status: h, node: g, nodes: _, startTime: v = 0, endTime: y = 0 } }) => {
13
+ let b = a(() => `${u(v, y)}ms`, [v, y]), { failed: x, skipped: S, disabled: C } = a(() => {
14
14
  let e = Object.values(_).map(({ status: e }) => e);
15
15
  return {
16
16
  failed: e.filter((e) => e === "failed").length,
@@ -18,37 +18,37 @@ var d = /* @__PURE__ */ o("i", { className: "fa-solid fa-angle-right text-[10px]
18
18
  disabled: e.filter((e) => e === "disabled").length
19
19
  };
20
20
  }, [_]);
21
- return /* @__PURE__ */ s(c, {
21
+ return /* @__PURE__ */ c(l, {
22
22
  className: i("last:border-b-none w-full border-b border-l-2 border-b-zinc-200 px-2 py-1 transition-colors hover:bg-zinc-50 dark:border-b-zinc-700 dark:hover:bg-zinc-800/50", {
23
23
  "border-l-emerald-500": h === "completed",
24
24
  "border-l-red-500": h === "failed",
25
25
  "border-l-zinc-300 dark:border-l-zinc-600": h === "skipped"
26
26
  }),
27
27
  collapsed: !0,
28
- children: [/* @__PURE__ */ o(c.Header, {
29
- title: /* @__PURE__ */ o(n, {
28
+ children: [/* @__PURE__ */ s(l.Header, {
29
+ title: /* @__PURE__ */ s(n, {
30
30
  status: h,
31
- message: u,
31
+ message: o,
32
32
  time: r
33
33
  }),
34
34
  placement: "left",
35
35
  className: { headerTitle: "overflow-hidden" },
36
36
  iconCollapsed: d,
37
37
  iconExpanded: f,
38
- children: /* @__PURE__ */ s("div", {
38
+ children: /* @__PURE__ */ c("div", {
39
39
  className: "flex gap-3 text-zinc-400 dark:text-zinc-500",
40
40
  children: [
41
- !!x && /* @__PURE__ */ o(e, {
41
+ !!x && /* @__PURE__ */ s(e, {
42
42
  logType: "danger",
43
43
  title: "Failed",
44
44
  children: x
45
45
  }),
46
- h !== "skipped" && !!S && /* @__PURE__ */ o(e, {
46
+ h !== "skipped" && !!S && /* @__PURE__ */ s(e, {
47
47
  logType: "warning",
48
48
  title: "Skipped",
49
49
  children: S
50
50
  }),
51
- h !== "skipped" && !!C && /* @__PURE__ */ o(e, {
51
+ h !== "skipped" && !!C && /* @__PURE__ */ s(e, {
52
52
  logType: "custom",
53
53
  iconClassName: "fa-solid fa-ban",
54
54
  title: "Disabled",
@@ -57,7 +57,7 @@ var d = /* @__PURE__ */ o("i", { className: "fa-solid fa-angle-right text-[10px]
57
57
  b
58
58
  ]
59
59
  })
60
- }), /* @__PURE__ */ o(c.Content, { children: /* @__PURE__ */ o(t, {
60
+ }), /* @__PURE__ */ s(l.Content, { children: /* @__PURE__ */ s(t, {
61
61
  elementId: p,
62
62
  hostElementId: m,
63
63
  node: g,
@@ -67,11 +67,11 @@ var d = /* @__PURE__ */ o("i", { className: "fa-solid fa-angle-right text-[10px]
67
67
  duration: b
68
68
  }) })]
69
69
  });
70
- }, m = ({ time: e, message: t, params: n }) => u(n) ? /* @__PURE__ */ o(p, {
70
+ }, m = ({ time: e, message: t, params: n }) => o(n) ? /* @__PURE__ */ s(p, {
71
71
  time: e,
72
72
  message: t,
73
73
  params: n
74
- }) : /* @__PURE__ */ o(r, {
74
+ }) : /* @__PURE__ */ s(r, {
75
75
  time: e,
76
76
  message: t,
77
77
  params: n
@@ -1,60 +1,60 @@
1
1
  import { useMemo as e } from "react";
2
- import { get as t } from "@plitzi/plitzi-ui/helpers";
3
- import { jsx as n, jsxs as r } from "react/jsx-runtime";
4
- import { useCommonStore as i } from "@plitzi/sdk-shared/store";
2
+ import { useCommonStore as t } from "@plitzi/sdk-shared/store";
3
+ import { get as n } from "@plitzi/plitzi-ui/helpers";
4
+ import { jsx as r, jsxs as i } from "react/jsx-runtime";
5
5
  import { formatDate as a } from "@plitzi/sdk-shared/helpers";
6
6
  //#region src/components/DevToolsPanel/tabs/Logs/categories/LogNavigation/LogNavigationBody.tsx
7
7
  var o = ({ elementId: o, startTime: s, endTime: c, duration: l }) => {
8
- let [u] = i("schema.flat"), d = e(() => o ? t(u, o) : void 0, [o, u]);
9
- return /* @__PURE__ */ r("div", {
8
+ let [u] = t("schema.flat"), d = e(() => o ? n(u, o) : void 0, [o, u]);
9
+ return /* @__PURE__ */ i("div", {
10
10
  className: "m-2 flex justify-around gap-4",
11
11
  children: [
12
- /* @__PURE__ */ r("div", {
12
+ /* @__PURE__ */ i("div", {
13
13
  className: "flex min-w-0 grow basis-0 flex-col gap-2",
14
- children: [/* @__PURE__ */ r("div", {
14
+ children: [/* @__PURE__ */ i("div", {
15
15
  className: "flex items-center gap-1 font-bold",
16
- children: [/* @__PURE__ */ n("i", { className: "fa-regular fa-clock" }), "Times"]
17
- }), /* @__PURE__ */ r("div", {
16
+ children: [/* @__PURE__ */ r("i", { className: "fa-regular fa-clock" }), "Times"]
17
+ }), /* @__PURE__ */ i("div", {
18
18
  className: "flex flex-col",
19
19
  children: [
20
- /* @__PURE__ */ r("div", {
20
+ /* @__PURE__ */ i("div", {
21
21
  className: "flex gap-1",
22
- children: [/* @__PURE__ */ n("span", { children: "Started:" }), typeof s == "string" ? s : a(s)]
22
+ children: [/* @__PURE__ */ r("span", { children: "Started:" }), typeof s == "string" ? s : a(s)]
23
23
  }),
24
- /* @__PURE__ */ r("div", {
24
+ /* @__PURE__ */ i("div", {
25
25
  className: "flex gap-1",
26
- children: [/* @__PURE__ */ n("span", { children: "End:" }), typeof c == "string" ? c : a(c)]
26
+ children: [/* @__PURE__ */ r("span", { children: "End:" }), typeof c == "string" ? c : a(c)]
27
27
  }),
28
- /* @__PURE__ */ r("div", {
28
+ /* @__PURE__ */ i("div", {
29
29
  className: "flex gap-1",
30
- children: [/* @__PURE__ */ n("span", { children: "Duration:" }), l]
30
+ children: [/* @__PURE__ */ r("span", { children: "Duration:" }), l]
31
31
  })
32
32
  ]
33
33
  })]
34
34
  }),
35
- /* @__PURE__ */ n("div", { className: "border-r border-gray-300" }),
36
- /* @__PURE__ */ r("div", {
35
+ /* @__PURE__ */ r("div", { className: "border-r border-gray-300" }),
36
+ /* @__PURE__ */ i("div", {
37
37
  className: "flex min-w-0 grow basis-0 flex-col gap-2",
38
- children: [/* @__PURE__ */ r("div", {
38
+ children: [/* @__PURE__ */ i("div", {
39
39
  className: "flex items-center gap-1",
40
- children: [/* @__PURE__ */ n("i", { className: "fa-solid fa-circle-info" }), "Details"]
41
- }), /* @__PURE__ */ r("div", {
40
+ children: [/* @__PURE__ */ r("i", { className: "fa-solid fa-circle-info" }), "Details"]
41
+ }), /* @__PURE__ */ i("div", {
42
42
  className: "flex flex-col",
43
43
  children: [
44
- /* @__PURE__ */ r("div", {
44
+ /* @__PURE__ */ i("div", {
45
45
  className: "flex gap-1",
46
- children: [/* @__PURE__ */ n("span", { children: "Type:" }), /* @__PURE__ */ n("span", { children: "Navigation" })]
46
+ children: [/* @__PURE__ */ r("span", { children: "Type:" }), /* @__PURE__ */ r("span", { children: "Navigation" })]
47
47
  }),
48
- /* @__PURE__ */ r("div", {
48
+ /* @__PURE__ */ i("div", {
49
49
  className: "flex gap-1",
50
- children: [/* @__PURE__ */ n("span", { children: "Trigger:" }), /* @__PURE__ */ n("span", {
50
+ children: [/* @__PURE__ */ r("span", { children: "Trigger:" }), /* @__PURE__ */ r("span", {
51
51
  className: "truncate",
52
52
  children: "-"
53
53
  })]
54
54
  }),
55
- d && /* @__PURE__ */ r("div", {
55
+ d && /* @__PURE__ */ i("div", {
56
56
  className: "flex gap-1",
57
- children: [/* @__PURE__ */ n("span", { children: "Element:" }), /* @__PURE__ */ r("span", {
57
+ children: [/* @__PURE__ */ r("span", { children: "Element:" }), /* @__PURE__ */ i("span", {
58
58
  className: "cursor-pointer truncate text-blue-500",
59
59
  children: [
60
60
  d.definition.label,
@@ -0,0 +1,10 @@
1
+ import { LogRealtime as TLogRealtime, LogType } from '@plitzi/sdk-shared';
2
+ import { ReactNode } from 'react';
3
+ export type LogRealtimeProps = {
4
+ logType: LogType;
5
+ message?: ReactNode;
6
+ params: TLogRealtime['params'];
7
+ time?: string;
8
+ };
9
+ declare const LogRealtime: ({ logType, time, message, params }: LogRealtimeProps) => import('react').JSX.Element;
10
+ export default LogRealtime;
@@ -0,0 +1,58 @@
1
+ import e from "../../LogStatus.mjs";
2
+ import { jsx as t, jsxs as n } from "react/jsx-runtime";
3
+ import r from "@plitzi/plitzi-ui/ContainerCollapsable";
4
+ //#region src/components/DevToolsPanel/tabs/Logs/categories/LogRealtime/LogRealtime.tsx
5
+ var i = /* @__PURE__ */ t("i", { className: "fa-solid fa-angle-right text-[10px]" }), a = /* @__PURE__ */ t("i", { className: "fa-solid fa-angle-down text-[10px]" }), o = {
6
+ status: "Status",
7
+ received: "In",
8
+ published: "Out",
9
+ refused: "Refused"
10
+ }, s = (e) => {
11
+ switch (e.event) {
12
+ case "received": return e.message;
13
+ case "published": return {
14
+ data: e.data,
15
+ delivered: e.delivered
16
+ };
17
+ case "status": return {
18
+ topics: e.topics,
19
+ transport: e.transport
20
+ };
21
+ case "refused": return { reason: e.reason };
22
+ }
23
+ }, c = ({ logType: c, time: l, message: u, params: d }) => /* @__PURE__ */ n(r, {
24
+ className: "last:border-b-none w-full border-b border-l-2 border-b-zinc-200 border-l-sky-500 px-2 py-1 transition-colors hover:bg-zinc-50 dark:border-b-zinc-700 dark:hover:bg-zinc-800/50",
25
+ collapsed: !0,
26
+ children: [/* @__PURE__ */ t(r.Header, {
27
+ title: /* @__PURE__ */ n("div", {
28
+ className: "flex w-full items-center gap-2 overflow-hidden",
29
+ children: [
30
+ /* @__PURE__ */ t("span", {
31
+ className: "shrink-0 font-mono text-zinc-400 tabular-nums dark:text-zinc-500",
32
+ children: l
33
+ }),
34
+ /* @__PURE__ */ t(e, {
35
+ logType: c,
36
+ children: o[d.event]
37
+ }),
38
+ /* @__PURE__ */ t("div", {
39
+ className: "grow basis-0 truncate text-zinc-700 dark:text-zinc-300",
40
+ children: u
41
+ })
42
+ ]
43
+ }),
44
+ placement: "left",
45
+ className: { headerTitle: "overflow-hidden" },
46
+ iconCollapsed: i,
47
+ iconExpanded: a,
48
+ children: /* @__PURE__ */ t("span", {
49
+ className: "font-mono text-zinc-400 dark:text-zinc-500",
50
+ children: "realtime"
51
+ })
52
+ }), /* @__PURE__ */ t(r.Content, { children: /* @__PURE__ */ t("pre", {
53
+ className: "mt-1 overflow-x-auto rounded bg-zinc-50 p-2 text-[11px] text-zinc-600 dark:bg-zinc-800/60 dark:text-zinc-300",
54
+ children: JSON.stringify(s(d), null, 2)
55
+ }) })]
56
+ });
57
+ //#endregion
58
+ export { c as default };
@@ -0,0 +1,3 @@
1
+ import { default as LogRealtime } from './LogRealtime';
2
+ export * from './LogRealtime';
3
+ export default LogRealtime;
@@ -0,0 +1,5 @@
1
+ import e from "./LogRealtime.mjs";
2
+ //#region src/components/DevToolsPanel/tabs/Logs/categories/LogRealtime/index.ts
3
+ var t = e;
4
+ //#endregion
5
+ export { t as default };
@@ -0,0 +1,3 @@
1
+ /** Every check on at once — or off, when they all are. */
2
+ declare const QaAllChecksButton: () => import('react').JSX.Element;
3
+ export default QaAllChecksButton;
@@ -0,0 +1,16 @@
1
+ import { QA_CHECKS as e } from "../../../../qa/qaSettings.mjs";
2
+ import t from "../../../../qa/QaContext.mjs";
3
+ import { use as n, useCallback as r } from "react";
4
+ import { jsx as i } from "react/jsx-runtime";
5
+ //#region src/components/DevToolsPanel/tabs/QaViewer/QaAllChecksButton.tsx
6
+ var a = () => {
7
+ let { settings: a, setCheck: o } = n(t), s = e.every((e) => a.checks[e]), c = s ? "None" : "Run all", l = r(() => e.forEach((e) => o(e, !s)), [o, s]);
8
+ return /* @__PURE__ */ i("button", {
9
+ type: "button",
10
+ className: "rounded px-1.5 py-0.5 font-medium normal-case hover:bg-zinc-100 dark:hover:bg-zinc-800",
11
+ onClick: l,
12
+ children: c
13
+ });
14
+ };
15
+ //#endregion
16
+ export { a as default };
@@ -0,0 +1,7 @@
1
+ import { QaCheck } from '../../../../qa/qaSettings';
2
+ export type QaCheckRowProps = {
3
+ check: QaCheck;
4
+ };
5
+ /** A check: its switch, what it looks for, how many it found — and each of them, a way to the element on the page. */
6
+ declare const QaCheckRow: ({ check }: QaCheckRowProps) => import('react').JSX.Element;
7
+ export default QaCheckRow;
@@ -0,0 +1,47 @@
1
+ import e from "../../../../qa/QaContext.mjs";
2
+ import { CHECKS as t } from "../../../../qa/checks/index.mjs";
3
+ import n from "./QaFindingItem.mjs";
4
+ import r from "clsx";
5
+ import { use as i, useCallback as a } from "react";
6
+ import { jsx as o, jsxs as s } from "react/jsx-runtime";
7
+ //#region src/components/DevToolsPanel/tabs/QaViewer/QaCheckRow.tsx
8
+ var c = 40, l = ({ check: l }) => {
9
+ let { settings: u, setCheck: d, findings: f } = i(e), { label: p, description: m, colour: h } = t[l], g = u.checks[l], _ = f[l], v = g ? { backgroundColor: h } : { boxShadow: `inset 0 0 0 1.5px ${h}` }, y = a(() => d(l, !g), [
10
+ d,
11
+ l,
12
+ g
13
+ ]);
14
+ return /* @__PURE__ */ s("div", {
15
+ className: "border-b border-zinc-100 last:border-b-0 dark:border-zinc-800",
16
+ children: [/* @__PURE__ */ s("button", {
17
+ type: "button",
18
+ role: "switch",
19
+ "aria-checked": g,
20
+ title: m,
21
+ className: "flex w-full cursor-pointer items-center gap-2 px-2.5 py-1.5 text-left hover:bg-zinc-50 dark:hover:bg-zinc-800/60",
22
+ onClick: y,
23
+ children: [
24
+ /* @__PURE__ */ o("span", {
25
+ className: "h-2.5 w-2.5 shrink-0 rounded-full",
26
+ style: v
27
+ }),
28
+ /* @__PURE__ */ o("span", {
29
+ className: "min-w-0 truncate font-medium text-zinc-800 dark:text-zinc-200",
30
+ children: p
31
+ }),
32
+ g && /* @__PURE__ */ o("span", {
33
+ className: r("ml-auto rounded-full px-1.5 text-[10px] font-semibold", {
34
+ "bg-emerald-100 text-emerald-700 dark:bg-emerald-500/15 dark:text-emerald-400": _.length === 0,
35
+ "bg-rose-100 text-rose-700 dark:bg-rose-500/15 dark:text-rose-400": _.length > 0
36
+ }),
37
+ children: _.length
38
+ })
39
+ ]
40
+ }), g && _.length > 0 && /* @__PURE__ */ o("div", {
41
+ className: "max-h-40 overflow-y-auto pb-1",
42
+ children: _.slice(0, c).map((e, t) => /* @__PURE__ */ o(n, { finding: e }, `${l}-${String(t)}`))
43
+ })]
44
+ });
45
+ };
46
+ //#endregion
47
+ export { l as default };
@@ -0,0 +1,3 @@
1
+ /** The checks a tester runs on every page, each outlining on the page what it finds. */
2
+ declare const QaChecks: () => import('react').JSX.Element;
3
+ export default QaChecks;
@@ -0,0 +1,24 @@
1
+ import { QA_CHECKS as e } from "../../../../qa/qaSettings.mjs";
2
+ import t from "./QaAllChecksButton.mjs";
3
+ import n from "./QaCheckRow.mjs";
4
+ import r from "./QaRescanButton.mjs";
5
+ import { jsx as i, jsxs as a } from "react/jsx-runtime";
6
+ //#region src/components/DevToolsPanel/tabs/QaViewer/QaChecks.tsx
7
+ var o = () => /* @__PURE__ */ a("section", {
8
+ className: "flex min-w-0 flex-col gap-1.5",
9
+ children: [/* @__PURE__ */ a("div", {
10
+ className: "flex items-center justify-between gap-2 text-[10px] font-semibold tracking-wider text-zinc-400 uppercase dark:text-zinc-500",
11
+ children: [/* @__PURE__ */ a("span", {
12
+ className: "flex items-center gap-2",
13
+ children: [/* @__PURE__ */ i("i", { className: "fa-solid fa-list-check" }), "Checks"]
14
+ }), /* @__PURE__ */ a("span", {
15
+ className: "flex items-center gap-1",
16
+ children: [/* @__PURE__ */ i(r, {}), /* @__PURE__ */ i(t, {})]
17
+ })]
18
+ }), /* @__PURE__ */ i("div", {
19
+ className: "overflow-hidden rounded border border-zinc-200 dark:border-zinc-700",
20
+ children: e.map((e) => /* @__PURE__ */ i(n, { check: e }, e))
21
+ })]
22
+ });
23
+ //#endregion
24
+ export { o as default };
@@ -0,0 +1,3 @@
1
+ /** Between two groups of tools in the bar. */
2
+ declare const QaDivider: () => import('react').JSX.Element;
3
+ export default QaDivider;
@@ -0,0 +1,5 @@
1
+ import { jsx as e } from "react/jsx-runtime";
2
+ //#region src/components/DevToolsPanel/tabs/QaViewer/QaDivider.tsx
3
+ var t = () => /* @__PURE__ */ e("span", { className: "h-4 w-px shrink-0 bg-zinc-200 dark:bg-zinc-700" });
4
+ //#endregion
5
+ export { t as default };
@@ -0,0 +1,7 @@
1
+ import { QaFinding } from '../../../../qa/checks';
2
+ export type QaFindingItemProps = {
3
+ finding: QaFinding;
4
+ };
5
+ /** One thing a check found: what it is and what is wrong — picked, the page scrolls to it and points at it. */
6
+ declare const QaFindingItem: ({ finding: { element, note } }: QaFindingItemProps) => import('react').JSX.Element;
7
+ export default QaFindingItem;
@@ -0,0 +1,32 @@
1
+ import { useCallback as e } from "react";
2
+ import { jsx as t, jsxs as n } from "react/jsx-runtime";
3
+ //#region src/components/DevToolsPanel/tabs/QaViewer/QaFindingItem.tsx
4
+ var r = "devtools-element-hovered", i = 1600, a = ({ finding: { element: a, note: o } }) => {
5
+ let s = a.getAttribute("data-plitzi-el"), c = e(() => {
6
+ a.scrollIntoView({
7
+ block: "center",
8
+ behavior: "smooth"
9
+ }), a.classList.add(r), setTimeout(() => a.classList.remove(r), i);
10
+ }, [a]);
11
+ return /* @__PURE__ */ n("button", {
12
+ type: "button",
13
+ className: "flex w-full cursor-pointer items-center gap-2 px-3 py-1 pl-6 text-left hover:bg-zinc-50 dark:hover:bg-zinc-800/60",
14
+ onClick: c,
15
+ children: [
16
+ /* @__PURE__ */ t("span", {
17
+ className: "shrink-0 font-mono text-zinc-500 dark:text-zinc-400",
18
+ children: a.tagName.toLowerCase()
19
+ }),
20
+ s && /* @__PURE__ */ t("span", {
21
+ className: "truncate font-mono text-violet-600 dark:text-violet-400",
22
+ children: s
23
+ }),
24
+ /* @__PURE__ */ t("span", {
25
+ className: "ml-auto shrink-0 text-[11px] text-zinc-500 dark:text-zinc-400",
26
+ children: o
27
+ })
28
+ ]
29
+ });
30
+ };
31
+ //#endregion
32
+ export { a as default };
@@ -0,0 +1,9 @@
1
+ export type QaInspectorDetailsProps = {
2
+ element: Element;
3
+ };
4
+ /**
5
+ * The kept element, in full: its box, its type, its colours and their contrast, the space's classes on it, and every
6
+ * CSS rule that reaches it as written. Read once per element; the panel draws it anew on "Look again".
7
+ */
8
+ declare const QaInspectorDetails: ({ element }: QaInspectorDetailsProps) => import('react').JSX.Element | null;
9
+ export default QaInspectorDetails;