@plitzi/sdk-dev-tools 0.37.9 → 0.38.1

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 (190) hide show
  1. package/CHANGELOG.md +621 -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/VariablesStyleList.mjs +7 -10
  116. package/dist/components/DevToolsPanel/tabs/VariablesViewer/VariablesViewer.mjs +12 -12
  117. package/dist/highlight/index.d.ts +2 -0
  118. package/dist/highlight/index.mjs +5 -0
  119. package/dist/highlight/useHighlightElement.d.ts +6 -0
  120. package/dist/{components/DevToolsPanel/tabs/TracingViewer → highlight}/useHighlightElement.mjs +1 -1
  121. package/dist/qa/QaContext.d.ts +29 -0
  122. package/dist/qa/QaContext.mjs +73 -0
  123. package/dist/qa/QaLayer.d.ts +9 -0
  124. package/dist/qa/QaLayer.mjs +69 -0
  125. package/dist/qa/checks/contrast.d.ts +6 -0
  126. package/dist/qa/checks/contrast.mjs +23 -0
  127. package/dist/qa/checks/dom.d.ts +15 -0
  128. package/dist/qa/checks/dom.mjs +4 -0
  129. package/dist/qa/checks/headings.d.ts +6 -0
  130. package/dist/qa/checks/headings.mjs +28 -0
  131. package/dist/qa/checks/images.d.ts +6 -0
  132. package/dist/qa/checks/images.mjs +20 -0
  133. package/dist/qa/checks/index.d.ts +15 -0
  134. package/dist/qa/checks/index.mjs +47 -0
  135. package/dist/qa/checks/names.d.ts +9 -0
  136. package/dist/qa/checks/names.mjs +27 -0
  137. package/dist/qa/checks/overflow.d.ts +3 -0
  138. package/dist/qa/checks/overflow.mjs +24 -0
  139. package/dist/qa/checks/targets.d.ts +8 -0
  140. package/dist/qa/checks/targets.mjs +17 -0
  141. package/dist/qa/findings.d.ts +5 -0
  142. package/dist/qa/findings.mjs +11 -0
  143. package/dist/qa/inspect/colour.d.ts +33 -0
  144. package/dist/qa/inspect/colour.mjs +111 -0
  145. package/dist/qa/inspect/describe.d.ts +32 -0
  146. package/dist/qa/inspect/describe.mjs +42 -0
  147. package/dist/qa/inspect/measure.d.ts +20 -0
  148. package/dist/qa/inspect/measure.mjs +23 -0
  149. package/dist/qa/inspect/rules.d.ts +12 -0
  150. package/dist/qa/inspect/rules.mjs +29 -0
  151. package/dist/qa/overlays/QaBoxModel.d.ts +9 -0
  152. package/dist/qa/overlays/QaBoxModel.mjs +49 -0
  153. package/dist/qa/overlays/QaContrastBadge.d.ts +7 -0
  154. package/dist/qa/overlays/QaContrastBadge.mjs +13 -0
  155. package/dist/qa/overlays/QaGrid.d.ts +10 -0
  156. package/dist/qa/overlays/QaGrid.mjs +24 -0
  157. package/dist/qa/overlays/QaInspector.d.ts +7 -0
  158. package/dist/qa/overlays/QaInspector.mjs +50 -0
  159. package/dist/qa/overlays/QaMeasure.d.ts +7 -0
  160. package/dist/qa/overlays/QaMeasure.mjs +39 -0
  161. package/dist/qa/overlays/QaSwatch.d.ts +6 -0
  162. package/dist/qa/overlays/QaSwatch.mjs +11 -0
  163. package/dist/qa/overlays/QaTabOrder.d.ts +6 -0
  164. package/dist/qa/overlays/QaTabOrder.mjs +39 -0
  165. package/dist/qa/overlays/QaTooltip.d.ts +6 -0
  166. package/dist/qa/overlays/QaTooltip.mjs +65 -0
  167. package/dist/qa/overlays/QaViewport.d.ts +10 -0
  168. package/dist/qa/overlays/QaViewport.mjs +27 -0
  169. package/dist/qa/qaCss.d.ts +12 -0
  170. package/dist/qa/qaCss.mjs +45 -0
  171. package/dist/qa/qaSettings.d.ts +38 -0
  172. package/dist/qa/qaSettings.mjs +28 -0
  173. package/dist/qa/tabOrder.d.ts +2 -0
  174. package/dist/qa/tabOrder.mjs +8 -0
  175. package/dist/qa/usePageBox.d.ts +13 -0
  176. package/dist/qa/usePageBox.mjs +23 -0
  177. package/package.json +373 -33
  178. package/dist/components/DevToolsPanel/tabs/ElementsViewer/DetailsAttributes.mjs +0 -19
  179. package/dist/components/DevToolsPanel/tabs/ElementsViewer/DetailsDefinition.mjs +0 -20
  180. package/dist/components/DevToolsPanel/tabs/ElementsViewer/DetailsValue.d.ts +0 -10
  181. package/dist/components/DevToolsPanel/tabs/ElementsViewer/DetailsValue.mjs +0 -31
  182. package/dist/components/DevToolsPanel/tabs/ElementsViewer/ElementDetails.d.ts +0 -8
  183. package/dist/components/DevToolsPanel/tabs/ElementsViewer/ElementDetails.mjs +0 -21
  184. package/dist/components/DevToolsPanel/tabs/ElementsViewer/ElementsList.d.ts +0 -8
  185. package/dist/components/DevToolsPanel/tabs/ElementsViewer/ElementsList.mjs +0 -42
  186. package/dist/components/DevToolsPanel/tabs/ElementsViewer/ElementsListItem.d.ts +0 -9
  187. package/dist/components/DevToolsPanel/tabs/ElementsViewer/ElementsListItem.mjs +0 -24
  188. package/dist/components/DevToolsPanel/tabs/TracingViewer/useHighlightElement.d.ts +0 -2
  189. /package/dist/components/DevToolsPanel/tabs/ElementsViewer/{DetailsAttributes.d.ts → components/DetailsAttributes/DetailsAttributes.d.ts} +0 -0
  190. /package/dist/components/DevToolsPanel/tabs/ElementsViewer/{DetailsDefinition.d.ts → components/DetailsDefinition/DetailsDefinition.d.ts} +0 -0
@@ -0,0 +1,135 @@
1
+ import e from "../../../../qa/QaContext.mjs";
2
+ import t from "../../../../qa/overlays/QaContrastBadge.mjs";
3
+ import n from "../../../../qa/overlays/QaSwatch.mjs";
4
+ import { summarize as r } from "../../../../qa/inspect/describe.mjs";
5
+ import i from "./QaProperty.mjs";
6
+ import a from "./QaRuleItem.mjs";
7
+ import { matchedRules as o } from "../../../../qa/inspect/rules.mjs";
8
+ import { use as s, useCallback as c, useMemo as l } from "react";
9
+ import { jsx as u, jsxs as d } from "react/jsx-runtime";
10
+ //#region src/components/DevToolsPanel/tabs/QaViewer/QaInspectorDetails.tsx
11
+ var f = ({ element: f }) => {
12
+ let { setPinned: p } = s(e), m = l(() => r(f), [f]), h = l(() => o(f), [f]), g = c(() => f.scrollIntoView({
13
+ block: "center",
14
+ behavior: "smooth"
15
+ }), [f]), _ = c(() => p(void 0), [p]);
16
+ return m ? /* @__PURE__ */ d("div", {
17
+ className: "flex min-w-0 flex-col gap-2",
18
+ children: [
19
+ /* @__PURE__ */ d("div", {
20
+ className: "flex items-center gap-2",
21
+ children: [
22
+ /* @__PURE__ */ u("span", {
23
+ className: "min-w-0 truncate font-mono font-semibold text-violet-700 dark:text-violet-300",
24
+ children: m.name
25
+ }),
26
+ /* @__PURE__ */ d("span", {
27
+ className: "shrink-0 font-mono text-zinc-400",
28
+ children: [
29
+ m.width,
30
+ " × ",
31
+ m.height
32
+ ]
33
+ }),
34
+ /* @__PURE__ */ u("button", {
35
+ type: "button",
36
+ className: "ml-auto shrink-0 rounded px-1.5 py-0.5 hover:bg-zinc-100 dark:hover:bg-zinc-800",
37
+ title: "Scroll the page to it",
38
+ onClick: g,
39
+ children: /* @__PURE__ */ u("i", { className: "fa-solid fa-crosshairs" })
40
+ }),
41
+ /* @__PURE__ */ u("button", {
42
+ type: "button",
43
+ className: "shrink-0 rounded px-1.5 py-0.5 hover:bg-zinc-100 dark:hover:bg-zinc-800",
44
+ title: "Let it go",
45
+ onClick: _,
46
+ children: /* @__PURE__ */ u("i", { className: "fa-solid fa-xmark" })
47
+ })
48
+ ]
49
+ }),
50
+ /* @__PURE__ */ d("div", {
51
+ className: "grid grid-cols-1 gap-x-4 rounded border border-zinc-200 px-2.5 py-1.5 @lg:grid-cols-2 dark:border-zinc-700",
52
+ children: [
53
+ /* @__PURE__ */ d(i, {
54
+ name: "display",
55
+ children: [
56
+ m.display,
57
+ " · ",
58
+ m.position
59
+ ]
60
+ }),
61
+ /* @__PURE__ */ u(i, {
62
+ name: "font",
63
+ children: m.font
64
+ }),
65
+ /* @__PURE__ */ u(i, {
66
+ name: "padding",
67
+ children: m.padding
68
+ }),
69
+ /* @__PURE__ */ d(i, {
70
+ name: "line / track",
71
+ children: [
72
+ m.lineHeight,
73
+ " · ",
74
+ m.letterSpacing
75
+ ]
76
+ }),
77
+ /* @__PURE__ */ u(i, {
78
+ name: "margin",
79
+ children: m.margin
80
+ }),
81
+ /* @__PURE__ */ u(i, {
82
+ name: "colour",
83
+ children: /* @__PURE__ */ u(n, { colour: m.colour })
84
+ }),
85
+ /* @__PURE__ */ d(i, {
86
+ name: "border",
87
+ children: [
88
+ m.border,
89
+ " · r ",
90
+ m.radius
91
+ ]
92
+ }),
93
+ /* @__PURE__ */ u(i, {
94
+ name: "background",
95
+ children: m.background && /* @__PURE__ */ u(n, { colour: m.background })
96
+ }),
97
+ /* @__PURE__ */ d(i, {
98
+ name: "gap · z",
99
+ children: [
100
+ m.gap || "—",
101
+ " · ",
102
+ m.zIndex
103
+ ]
104
+ }),
105
+ /* @__PURE__ */ u(i, {
106
+ name: "contrast",
107
+ children: m.contrast && /* @__PURE__ */ u(t, {
108
+ ratio: m.contrast.ratio,
109
+ needs: m.contrast.needs
110
+ })
111
+ })
112
+ ]
113
+ }),
114
+ m.classes.length > 0 && /* @__PURE__ */ u("div", {
115
+ className: "flex flex-wrap gap-1",
116
+ children: m.classes.map((e) => /* @__PURE__ */ d("span", {
117
+ className: "rounded bg-zinc-100 px-1.5 py-0.5 font-mono text-[11px] dark:bg-zinc-800",
118
+ children: [".", e]
119
+ }, e))
120
+ }),
121
+ /* @__PURE__ */ d("div", {
122
+ className: "flex flex-col",
123
+ children: [/* @__PURE__ */ d("span", {
124
+ className: "mb-1 text-[10px] font-semibold tracking-wider text-zinc-400 uppercase dark:text-zinc-500",
125
+ children: ["CSS that reaches it · ", h.length]
126
+ }), /* @__PURE__ */ u("div", {
127
+ className: "overflow-hidden rounded border border-zinc-200 dark:border-zinc-700",
128
+ children: h.map((e, t) => /* @__PURE__ */ u(a, { rule: e }, `${e.selector}-${String(t)}`))
129
+ })]
130
+ })
131
+ ]
132
+ }) : null;
133
+ };
134
+ //#endregion
135
+ export { f as default };
@@ -0,0 +1,3 @@
1
+ /** What the inspector side says before anything is picked. */
2
+ declare const QaInspectorEmpty: () => import('react').JSX.Element;
3
+ export default QaInspectorEmpty;
@@ -0,0 +1,17 @@
1
+ import { jsx as e, jsxs as t } from "react/jsx-runtime";
2
+ //#region src/components/DevToolsPanel/tabs/QaViewer/QaInspectorEmpty.tsx
3
+ var n = () => /* @__PURE__ */ t("div", {
4
+ className: "flex flex-col gap-1.5 rounded border border-dashed border-zinc-200 p-3 text-zinc-500 dark:border-zinc-700 dark:text-zinc-400",
5
+ children: [/* @__PURE__ */ e("span", {
6
+ className: "font-medium text-zinc-700 dark:text-zinc-200",
7
+ children: "Nothing inspected yet"
8
+ }), /* @__PURE__ */ t("span", { children: [
9
+ "Turn on ",
10
+ /* @__PURE__ */ e("b", { children: "Inspect" }),
11
+ " and point at anything on the page: its box, type, colours and contrast show by the pointer. Click it to keep it here, with the CSS that reaches it. With one kept, hold ",
12
+ /* @__PURE__ */ e("b", { children: "Alt" }),
13
+ " over another to measure the distance between them."
14
+ ] })]
15
+ });
16
+ //#endregion
17
+ export { n as default };
@@ -0,0 +1,3 @@
1
+ /** The inspector's side of the tab: the element kept with a click, or how to keep one. */
2
+ declare const QaInspectorPanel: () => import('react').JSX.Element;
3
+ export default QaInspectorPanel;
@@ -0,0 +1,22 @@
1
+ import e from "../../../../qa/QaContext.mjs";
2
+ import t from "./QaInspectorDetails.mjs";
3
+ import n from "./QaInspectorEmpty.mjs";
4
+ import { use as r } from "react";
5
+ import { jsx as i, jsxs as a } from "react/jsx-runtime";
6
+ //#region src/components/DevToolsPanel/tabs/QaViewer/QaInspectorPanel.tsx
7
+ var o = () => {
8
+ let { pinned: o, round: s } = r(e), c = o?.isConnected ? o : void 0;
9
+ return /* @__PURE__ */ a("section", {
10
+ className: "flex min-w-0 flex-col gap-1.5",
11
+ children: [
12
+ /* @__PURE__ */ a("div", {
13
+ className: "flex items-center gap-2 text-[10px] font-semibold tracking-wider text-zinc-400 uppercase dark:text-zinc-500",
14
+ children: [/* @__PURE__ */ i("i", { className: "fa-solid fa-magnifying-glass" }), "Inspector"]
15
+ }),
16
+ c && /* @__PURE__ */ i(t, { element: c }, s),
17
+ !c && /* @__PURE__ */ i(n, {})
18
+ ]
19
+ });
20
+ };
21
+ //#endregion
22
+ export { o as default };
@@ -0,0 +1,8 @@
1
+ import { ReactNode } from 'react';
2
+ export type QaPropertyProps = {
3
+ name: string;
4
+ children: ReactNode;
5
+ };
6
+ /** One computed property of the inspected element. */
7
+ declare const QaProperty: ({ name, children }: QaPropertyProps) => import('react').JSX.Element;
8
+ export default QaProperty;
@@ -0,0 +1,14 @@
1
+ import { jsx as e, jsxs as t } from "react/jsx-runtime";
2
+ //#region src/components/DevToolsPanel/tabs/QaViewer/QaProperty.tsx
3
+ var n = ({ name: n, children: r }) => /* @__PURE__ */ t("div", {
4
+ className: "grid grid-cols-[88px_minmax(0,1fr)] items-baseline gap-2 py-0.5",
5
+ children: [/* @__PURE__ */ e("span", {
6
+ className: "text-zinc-400 dark:text-zinc-500",
7
+ children: n
8
+ }), /* @__PURE__ */ e("span", {
9
+ className: "min-w-0 truncate font-mono text-zinc-800 dark:text-zinc-200",
10
+ children: r
11
+ })]
12
+ });
13
+ //#endregion
14
+ export { n as default };
@@ -0,0 +1,3 @@
1
+ /** Has the checks look again — after opening a menu, say, or switching a tab on the page. */
2
+ declare const QaRescanButton: () => import('react').JSX.Element;
3
+ export default QaRescanButton;
@@ -0,0 +1,15 @@
1
+ import e from "../../../../qa/QaContext.mjs";
2
+ import { use as t, useCallback as n } from "react";
3
+ import { jsx as r } from "react/jsx-runtime";
4
+ //#region src/components/DevToolsPanel/tabs/QaViewer/QaRescanButton.tsx
5
+ var i = () => {
6
+ let { rescan: i } = t(e), a = n(() => i(), [i]);
7
+ return /* @__PURE__ */ r("button", {
8
+ type: "button",
9
+ className: "rounded px-1.5 py-0.5 font-medium normal-case hover:bg-zinc-100 dark:hover:bg-zinc-800",
10
+ onClick: a,
11
+ children: "Look again"
12
+ });
13
+ };
14
+ //#endregion
15
+ export { i as default };
@@ -0,0 +1,7 @@
1
+ import { MatchedRule } from '../../../../qa/inspect/rules';
2
+ export type QaRuleItemProps = {
3
+ rule: MatchedRule;
4
+ };
5
+ /** A rule that reaches the element, as written: its selector, its media query, its declarations — and a copy of it. */
6
+ declare const QaRuleItem: ({ rule: { selector, declarations, media } }: QaRuleItemProps) => import('react').JSX.Element;
7
+ export default QaRuleItem;
@@ -0,0 +1,38 @@
1
+ import { useCallback as e, useState as t } from "react";
2
+ import { jsx as n, jsxs as r } from "react/jsx-runtime";
3
+ //#region src/components/DevToolsPanel/tabs/QaViewer/QaRuleItem.tsx
4
+ var i = 1200, a = ({ rule: { selector: a, declarations: o, media: s } }) => {
5
+ let [c, l] = t(!1), u = c ? "Copied" : "Copy", d = e(() => {
6
+ navigator.clipboard.writeText(`${a} { ${o} }`).then(() => {
7
+ l(!0), setTimeout(() => l(!1), i);
8
+ });
9
+ }, [a, o]);
10
+ return /* @__PURE__ */ r("div", {
11
+ className: "group border-b border-zinc-100 px-2.5 py-1.5 last:border-b-0 dark:border-zinc-800",
12
+ children: [/* @__PURE__ */ r("div", {
13
+ className: "flex items-center gap-2",
14
+ children: [
15
+ /* @__PURE__ */ n("span", {
16
+ className: "min-w-0 truncate font-mono text-violet-700 dark:text-violet-300",
17
+ title: a,
18
+ children: a
19
+ }),
20
+ s && /* @__PURE__ */ r("span", {
21
+ className: "shrink-0 font-mono text-[10px] text-amber-600 dark:text-amber-400",
22
+ children: ["@media ", s]
23
+ }),
24
+ /* @__PURE__ */ n("button", {
25
+ type: "button",
26
+ className: "ml-auto shrink-0 rounded px-1 text-[10px] text-zinc-400 opacity-0 group-hover:opacity-100 hover:bg-zinc-100 hover:text-zinc-700 dark:hover:bg-zinc-800 dark:hover:text-zinc-200",
27
+ onClick: d,
28
+ children: u
29
+ })
30
+ ]
31
+ }), /* @__PURE__ */ n("div", {
32
+ className: "mt-0.5 font-mono text-[11px] leading-relaxed break-words text-zinc-600 dark:text-zinc-400",
33
+ children: o
34
+ })]
35
+ });
36
+ };
37
+ //#endregion
38
+ export { a as default };
@@ -0,0 +1,13 @@
1
+ import { QaSwitch } from '../../../../qa/qaSettings';
2
+ export type QaToolChipProps = {
3
+ setting: QaSwitch;
4
+ label: string;
5
+ icon: string;
6
+ /** What it shows, said on hover. */
7
+ title: string;
8
+ /** The one tool the bar leads with. */
9
+ primary?: boolean;
10
+ };
11
+ /** One tool in the bar, on or off. */
12
+ declare const QaToolChip: ({ setting, label, icon, title, primary }: QaToolChipProps) => import('react').JSX.Element;
13
+ export default QaToolChip;
@@ -0,0 +1,27 @@
1
+ import e from "../../../../qa/QaContext.mjs";
2
+ import t from "clsx";
3
+ import { use as n, useCallback as r } from "react";
4
+ import { jsx as i, jsxs as a } from "react/jsx-runtime";
5
+ //#region src/components/DevToolsPanel/tabs/QaViewer/QaToolChip.tsx
6
+ var o = ({ setting: o, label: s, icon: c, title: l, primary: u = !1 }) => {
7
+ let { settings: d, setSetting: f } = n(e), p = d[o], m = r(() => f(o, !p), [
8
+ f,
9
+ o,
10
+ p
11
+ ]);
12
+ return /* @__PURE__ */ a("button", {
13
+ type: "button",
14
+ "aria-pressed": p,
15
+ title: l,
16
+ className: t("flex h-6 shrink-0 cursor-pointer items-center gap-1.5 rounded-md border px-2 font-medium whitespace-nowrap transition-colors", {
17
+ "border-violet-500 bg-violet-500 text-white": p && u,
18
+ "border-violet-400/60 bg-violet-500/10 text-violet-700 dark:text-violet-300": p && !u,
19
+ "border-violet-300 text-violet-700 hover:bg-violet-500/10 dark:border-violet-500/50 dark:text-violet-300": !p && u,
20
+ "border-zinc-200 text-zinc-600 hover:bg-zinc-100 dark:border-zinc-700 dark:text-zinc-300 dark:hover:bg-zinc-800": !p && !u
21
+ }),
22
+ onClick: m,
23
+ children: [/* @__PURE__ */ i("i", { className: t(c, "text-[10px]") }), s]
24
+ });
25
+ };
26
+ //#endregion
27
+ export { o as default };
@@ -0,0 +1,3 @@
1
+ /** Every tool that draws over the page, in one row that wraps: the inspector first, then layout, motion and colour. */
2
+ declare const QaToolbar: () => import('react').JSX.Element;
3
+ export default QaToolbar;
@@ -0,0 +1,58 @@
1
+ import e from "./QaDivider.mjs";
2
+ import t from "./QaToolChip.mjs";
3
+ import n from "./QaVisionSelect.mjs";
4
+ import { jsx as r, jsxs as i } from "react/jsx-runtime";
5
+ //#region src/components/DevToolsPanel/tabs/QaViewer/QaToolbar.tsx
6
+ var a = () => /* @__PURE__ */ i("div", {
7
+ className: "flex shrink-0 flex-wrap items-center gap-1.5 border-b border-zinc-200 px-3 py-2 dark:border-zinc-700",
8
+ children: [
9
+ /* @__PURE__ */ r(t, {
10
+ setting: "inspect",
11
+ label: "Inspect",
12
+ icon: "fa-solid fa-arrow-pointer",
13
+ title: "Point at an element for its box and style; click to keep it here; hold Alt over another to measure. Esc stops.",
14
+ primary: !0
15
+ }),
16
+ /* @__PURE__ */ r(e, {}),
17
+ /* @__PURE__ */ r(t, {
18
+ setting: "grid",
19
+ label: "Grid",
20
+ icon: "fa-solid fa-table-columns",
21
+ title: "The page's 12, 8 or 4 columns"
22
+ }),
23
+ /* @__PURE__ */ r(t, {
24
+ setting: "outlines",
25
+ label: "Outlines",
26
+ icon: "fa-regular fa-square",
27
+ title: "Every element's box"
28
+ }),
29
+ /* @__PURE__ */ r(t, {
30
+ setting: "tabOrder",
31
+ label: "Tab order",
32
+ icon: "fa-solid fa-arrow-right-to-bracket",
33
+ title: "The order the Tab key walks the controls in"
34
+ }),
35
+ /* @__PURE__ */ r(t, {
36
+ setting: "viewport",
37
+ label: "Viewport",
38
+ icon: "fa-solid fa-ruler-horizontal",
39
+ title: "The window's size and the breakpoint showing"
40
+ }),
41
+ /* @__PURE__ */ r(e, {}),
42
+ /* @__PURE__ */ r(t, {
43
+ setting: "paused",
44
+ label: "Pause",
45
+ icon: "fa-solid fa-pause",
46
+ title: "Hold every animation where it is"
47
+ }),
48
+ /* @__PURE__ */ r(t, {
49
+ setting: "reducedMotion",
50
+ label: "Reduced motion",
51
+ icon: "fa-solid fa-person-walking",
52
+ title: "The page as a visitor who asked for less motion gets it"
53
+ }),
54
+ /* @__PURE__ */ r(n, {})
55
+ ]
56
+ });
57
+ //#endregion
58
+ export { a as default };
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Tools for checking a build in the browser it will be used in — a pre-production deployment, say — rather than in the
3
+ * builder: an inspector for any element, what lines things up, motion, colour, and the checks a tester runs on every
4
+ * page. The bar on top; the checks and the inspector side by side below, one over the other when the panel is narrow.
5
+ * All of it stays on while the panel is folded away, and in this browser only.
6
+ */
7
+ declare const QaViewer: () => import('react').JSX.Element;
8
+ export default QaViewer;
@@ -0,0 +1,14 @@
1
+ import e from "./QaChecks.mjs";
2
+ import t from "./QaInspectorPanel.mjs";
3
+ import n from "./QaToolbar.mjs";
4
+ import { jsx as r, jsxs as i } from "react/jsx-runtime";
5
+ //#region src/components/DevToolsPanel/tabs/QaViewer/QaViewer.tsx
6
+ var a = () => /* @__PURE__ */ i("div", {
7
+ className: "@container flex h-full min-h-0 w-full flex-col",
8
+ children: [/* @__PURE__ */ r(n, {}), /* @__PURE__ */ i("div", {
9
+ className: "grid min-h-0 grow grid-cols-1 content-start gap-3 overflow-y-auto p-3 @3xl:grid-cols-[minmax(0,0.85fr)_minmax(0,1.15fr)]",
10
+ children: [/* @__PURE__ */ r(e, {}), /* @__PURE__ */ r(t, {})]
11
+ })]
12
+ });
13
+ //#endregion
14
+ export { a as default };
@@ -0,0 +1,3 @@
1
+ /** The page as somebody who sees it differently does — whether a state still reads without its colour. */
2
+ declare const QaVisionSelect: () => import('react').JSX.Element;
3
+ export default QaVisionSelect;
@@ -0,0 +1,50 @@
1
+ import e from "../../../../qa/QaContext.mjs";
2
+ import t from "clsx";
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/QaVisionSelect.tsx
6
+ var a = [
7
+ {
8
+ mode: "none",
9
+ label: "Vision: as it is"
10
+ },
11
+ {
12
+ mode: "grayscale",
13
+ label: "No colour"
14
+ },
15
+ {
16
+ mode: "protanopia",
17
+ label: "Protanopia (red)"
18
+ },
19
+ {
20
+ mode: "deuteranopia",
21
+ label: "Deuteranopia (green)"
22
+ },
23
+ {
24
+ mode: "tritanopia",
25
+ label: "Tritanopia (blue)"
26
+ },
27
+ {
28
+ mode: "blurred",
29
+ label: "Low vision (blur)"
30
+ }
31
+ ], o = (e) => a.some(({ mode: t }) => t === e), s = () => {
32
+ let { settings: s, setSetting: c } = n(e), l = r((e) => {
33
+ o(e.target.value) && c("vision", e.target.value);
34
+ }, [c]);
35
+ return /* @__PURE__ */ i("select", {
36
+ value: s.vision,
37
+ title: "See the page without one kind of colour, or out of focus",
38
+ onChange: l,
39
+ className: t("h-6 shrink-0 rounded-md border bg-white py-0 pr-6 pl-2 text-[11px] leading-[22px] dark:bg-zinc-900", {
40
+ "border-violet-400/60 text-violet-700 dark:text-violet-300": s.vision !== "none",
41
+ "border-zinc-200 text-zinc-600 dark:border-zinc-700 dark:text-zinc-300": s.vision === "none"
42
+ }),
43
+ children: a.map(({ mode: e, label: t }) => /* @__PURE__ */ i("option", {
44
+ value: e,
45
+ children: t
46
+ }, e))
47
+ });
48
+ };
49
+ //#endregion
50
+ export { s as default };
@@ -0,0 +1,3 @@
1
+ import { default as QaViewer } from './QaViewer';
2
+ export * from './QaViewer';
3
+ export default QaViewer;
@@ -0,0 +1,5 @@
1
+ import e from "./QaViewer.mjs";
2
+ //#region src/components/DevToolsPanel/tabs/QaViewer/index.ts
3
+ var t = e;
4
+ //#endregion
5
+ export { t as default };
@@ -1,18 +1,18 @@
1
- import { buildFlameModel as e, commitOrigin as t } from "./helpers.mjs";
2
- import n from "./components/CommitStrip/CommitStrip.mjs";
3
- import r from "./components/Flamegraph/Flamegraph.mjs";
4
- import i from "./components/HotspotsList/HotspotsList.mjs";
5
- import a from "./components/RankedList/RankedList.mjs";
6
- import o from "./components/TracingToolbar/TracingToolbar.mjs";
7
- import s from "./useHighlightElement.mjs";
1
+ import e from "../../../../highlight/index.mjs";
2
+ import { buildFlameModel as t, commitOrigin as n } from "./helpers.mjs";
3
+ import r from "./components/CommitStrip/CommitStrip.mjs";
4
+ import i from "./components/Flamegraph/Flamegraph.mjs";
5
+ import a from "./components/HotspotsList/HotspotsList.mjs";
6
+ import o from "./components/RankedList/RankedList.mjs";
7
+ import s from "./components/TracingToolbar/TracingToolbar.mjs";
8
8
  import c from "@plitzi/plitzi-ui/hooks/useStorage";
9
9
  import { useCallback as l, useEffect as u, useMemo as d, useRef as f, useState as p } from "react";
10
- import { jsx as m, jsxs as h } from "react/jsx-runtime";
11
- import { useCommonStore as g } from "@plitzi/sdk-shared/store";
10
+ import { useCommonStore as m } from "@plitzi/sdk-shared/store";
11
+ import { jsx as h, jsxs as g } from "react/jsx-runtime";
12
12
  import { useTracing as _ } from "@plitzi/sdk-shared/store/tracing";
13
13
  //#region src/components/DevToolsPanel/tabs/TracingViewer/TracingViewer.tsx
14
14
  var v = () => {
15
- let { enabled: v, hydrated: y, commits: b, tree: x, clear: S } = _(), [[C, w]] = g(["schema.flat", "navigation.currentPageId"]), [T, E] = c("plitzi-sdk.dev-tools.tracing.view", "ranked"), [D, O] = c("plitzi-sdk.dev-tools.tracing.persist", !1), [k, A] = c("plitzi-sdk.dev-tools.tracing.sidebar-open", !1), [j, M] = p(), [N, P] = p(), F = f(w);
15
+ let { enabled: v, hydrated: y, commits: b, tree: x, clear: S } = _(), [[C, w]] = m(["schema.flat", "navigation.currentPageId"]), [T, E] = c("plitzi-sdk.dev-tools.tracing.view", "ranked"), [D, O] = c("plitzi-sdk.dev-tools.tracing.persist", !1), [k, A] = c("plitzi-sdk.dev-tools.tracing.sidebar-open", !1), [j, M] = p(), [N, P] = p(), F = f(w);
16
16
  u(() => {
17
17
  F.current !== w && (F.current = w, D || (S(), M(void 0), P(void 0)));
18
18
  }, [
@@ -37,14 +37,14 @@ var v = () => {
37
37
  if (L.length === 0) return -1;
38
38
  let e = L.findIndex((e) => e.commitId === j);
39
39
  return e === -1 ? L.length - 1 : e;
40
- }, [L, j]), B = z === -1 ? void 0 : L[z], V = B?.commitId === 0, H = d(() => B && !V ? e(B, x, C) : void 0, [
40
+ }, [L, j]), B = z === -1 ? void 0 : L[z], V = B?.commitId === 0, H = d(() => B && !V ? t(B, x, C) : void 0, [
41
41
  B,
42
42
  V,
43
43
  x,
44
44
  C
45
45
  ]), U = d(() => H?.nodes.find((e) => e.id === N) ?? H?.nodes.find((e) => e.elementId === N), [H, N]);
46
- s(U?.elementId ?? N);
47
- let W = d(() => B ? t(B, y, B.commitId === R) : "update", [
46
+ e(U?.elementId ?? N);
47
+ let W = d(() => B ? n(B, y, B.commitId === R) : "update", [
48
48
  B,
49
49
  y,
50
50
  R
@@ -58,11 +58,11 @@ var v = () => {
58
58
  }, [L, z]), Y = l((e) => {
59
59
  (e.key === "ArrowLeft" || e.key === "ArrowRight") && (e.preventDefault(), J(e.key === "ArrowLeft" ? -1 : 1));
60
60
  }, [J]);
61
- return v ? B ? /* @__PURE__ */ h("div", {
61
+ return v ? B ? /* @__PURE__ */ g("div", {
62
62
  className: "flex h-full min-h-0 w-full flex-col",
63
63
  onKeyDown: Y,
64
64
  children: [
65
- /* @__PURE__ */ m(o, {
65
+ /* @__PURE__ */ h(s, {
66
66
  view: T,
67
67
  persist: D,
68
68
  commitCount: b.length,
@@ -70,41 +70,41 @@ var v = () => {
70
70
  onViewChange: E,
71
71
  onPersistChange: O
72
72
  }),
73
- T !== "hotspots" && /* @__PURE__ */ m(n, {
73
+ T !== "hotspots" && /* @__PURE__ */ h(r, {
74
74
  commits: L,
75
75
  selectedIndex: z,
76
76
  hydrated: y,
77
77
  onSelect: G
78
78
  }),
79
- T !== "hotspots" && V && /* @__PURE__ */ h("div", {
79
+ T !== "hotspots" && V && /* @__PURE__ */ g("div", {
80
80
  className: "flex grow flex-col items-center justify-center gap-3 px-6 text-center text-zinc-500 dark:text-zinc-400",
81
81
  children: [
82
- /* @__PURE__ */ m("i", { className: "fa-solid fa-server text-3xl opacity-30" }),
83
- /* @__PURE__ */ m("span", {
82
+ /* @__PURE__ */ h("i", { className: "fa-solid fa-server text-3xl opacity-30" }),
83
+ /* @__PURE__ */ h("span", {
84
84
  className: "text-sm font-medium text-zinc-600 dark:text-zinc-300",
85
85
  children: "Server render (SSR)"
86
86
  }),
87
- /* @__PURE__ */ h("span", {
87
+ /* @__PURE__ */ g("span", {
88
88
  className: "max-w-md text-xs leading-relaxed",
89
89
  children: [
90
90
  "This page was rendered on the server first. React's Profiler doesn't run during server rendering, so there's no per-element timing for it — this commit marks that baseline. Commit\xA0#",
91
91
  R,
92
92
  " ",
93
93
  "is the client ",
94
- /* @__PURE__ */ m("span", {
94
+ /* @__PURE__ */ h("span", {
95
95
  className: "font-medium text-violet-600 dark:text-violet-400",
96
96
  children: "hydration"
97
97
  }),
98
98
  " of this tree."
99
99
  ]
100
100
  }),
101
- /* @__PURE__ */ h("span", {
101
+ /* @__PURE__ */ g("span", {
102
102
  className: "text-[11px] opacity-70",
103
103
  children: [B.elementCount, " elements in the rendered tree"]
104
104
  })
105
105
  ]
106
106
  }),
107
- T === "ranked" && H && /* @__PURE__ */ m(a, {
107
+ T === "ranked" && H && /* @__PURE__ */ h(o, {
108
108
  commit: B,
109
109
  model: H,
110
110
  active: U,
@@ -113,7 +113,7 @@ var v = () => {
113
113
  onSelectElement: K,
114
114
  onToggleSidebar: q
115
115
  }),
116
- T === "flamegraph" && H && /* @__PURE__ */ m(r, {
116
+ T === "flamegraph" && H && /* @__PURE__ */ h(i, {
117
117
  commit: B,
118
118
  model: H,
119
119
  active: U,
@@ -122,7 +122,7 @@ var v = () => {
122
122
  onSelectElement: K,
123
123
  onToggleSidebar: q
124
124
  }),
125
- T === "hotspots" && /* @__PURE__ */ m(i, {
125
+ T === "hotspots" && /* @__PURE__ */ h(a, {
126
126
  commits: b,
127
127
  tree: x,
128
128
  flat: C,
@@ -130,25 +130,25 @@ var v = () => {
130
130
  onSelectElement: K
131
131
  })
132
132
  ]
133
- }) : /* @__PURE__ */ h("div", {
133
+ }) : /* @__PURE__ */ g("div", {
134
134
  className: "flex h-full min-h-0 w-full flex-col",
135
- children: [/* @__PURE__ */ m(o, {
135
+ children: [/* @__PURE__ */ h(s, {
136
136
  view: T,
137
137
  persist: D,
138
138
  commitCount: b.length,
139
139
  onClear: S,
140
140
  onViewChange: E,
141
141
  onPersistChange: O
142
- }), /* @__PURE__ */ h("div", {
142
+ }), /* @__PURE__ */ g("div", {
143
143
  className: "flex grow flex-col items-center justify-center gap-2 text-zinc-400 dark:text-zinc-500",
144
- children: [/* @__PURE__ */ m("i", { className: "fa-solid fa-chart-column text-3xl opacity-20" }), /* @__PURE__ */ m("span", {
144
+ children: [/* @__PURE__ */ h("i", { className: "fa-solid fa-chart-column text-3xl opacity-20" }), /* @__PURE__ */ h("span", {
145
145
  className: "text-xs",
146
146
  children: "No commits recorded yet — interact with the page"
147
147
  })]
148
148
  })]
149
- }) : /* @__PURE__ */ h("div", {
149
+ }) : /* @__PURE__ */ g("div", {
150
150
  className: "flex h-full w-full flex-col items-center justify-center gap-2 text-zinc-400 dark:text-zinc-500",
151
- children: [/* @__PURE__ */ m("i", { className: "fa-solid fa-gauge-high text-3xl opacity-20" }), /* @__PURE__ */ m("span", {
151
+ children: [/* @__PURE__ */ h("i", { className: "fa-solid fa-gauge-high text-3xl opacity-20" }), /* @__PURE__ */ h("span", {
152
152
  className: "text-xs",
153
153
  children: "Enable debugMode to record render tracing"
154
154
  })]