@ksp-gonogo/ui-kit 0.1.0 → 0.2.0-rc.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 (132) hide show
  1. package/LICENSE +21 -596
  2. package/README.md +151 -0
  3. package/dist/chunk-G3PMV62Z.js +36 -0
  4. package/dist/chunk-G3PMV62Z.js.map +1 -0
  5. package/dist/chunk-KPESGDJJ.js +8611 -0
  6. package/dist/chunk-KPESGDJJ.js.map +1 -0
  7. package/dist/chunk-SHAX2WJJ.js +18 -0
  8. package/dist/chunk-SHAX2WJJ.js.map +1 -0
  9. package/dist/dist-JSEJWZKX.js +546 -0
  10. package/dist/dist-JSEJWZKX.js.map +1 -0
  11. package/dist/gridUnits.d.ts +34 -0
  12. package/dist/gridUnits.js +14 -0
  13. package/dist/gridUnits.js.map +1 -0
  14. package/dist/guards.d.ts +110 -0
  15. package/dist/guards.js +171 -0
  16. package/dist/guards.js.map +1 -0
  17. package/dist/index.d.ts +9318 -25
  18. package/dist/index.js +8098 -28
  19. package/dist/index.js.map +1 -1
  20. package/dist/magic-string.es-J7BYFTTJ.js +1309 -0
  21. package/dist/magic-string.es-J7BYFTTJ.js.map +1 -0
  22. package/dist/testing.d.ts +470 -0
  23. package/dist/testing.js +16747 -0
  24. package/dist/testing.js.map +1 -0
  25. package/dist/tokens.css +1063 -29
  26. package/dist/units-Cl-8ZdJc.d.ts +270 -0
  27. package/package.json +57 -15
  28. package/dist/ActionButton.d.ts +0 -18
  29. package/dist/ActionButton.d.ts.map +0 -1
  30. package/dist/ActionButton.js +0 -56
  31. package/dist/ActionButton.js.map +0 -1
  32. package/dist/Badge.d.ts +0 -15
  33. package/dist/Badge.d.ts.map +0 -1
  34. package/dist/Badge.js +0 -60
  35. package/dist/Badge.js.map +0 -1
  36. package/dist/Box.d.ts +0 -19
  37. package/dist/Box.d.ts.map +0 -1
  38. package/dist/Box.js +0 -27
  39. package/dist/Box.js.map +0 -1
  40. package/dist/Card.d.ts +0 -11
  41. package/dist/Card.d.ts.map +0 -1
  42. package/dist/Card.js +0 -13
  43. package/dist/Card.js.map +0 -1
  44. package/dist/Cluster.d.ts +0 -18
  45. package/dist/Cluster.d.ts.map +0 -1
  46. package/dist/Cluster.js +0 -24
  47. package/dist/Cluster.js.map +0 -1
  48. package/dist/EmptyState.d.ts +0 -16
  49. package/dist/EmptyState.d.ts.map +0 -1
  50. package/dist/EmptyState.js +0 -37
  51. package/dist/EmptyState.js.map +0 -1
  52. package/dist/GonogoTokens.d.ts +0 -16
  53. package/dist/GonogoTokens.d.ts.map +0 -1
  54. package/dist/GonogoTokens.js +0 -108
  55. package/dist/GonogoTokens.js.map +0 -1
  56. package/dist/Grid.d.ts +0 -25
  57. package/dist/Grid.d.ts.map +0 -1
  58. package/dist/Grid.js +0 -23
  59. package/dist/Grid.js.map +0 -1
  60. package/dist/Inline.d.ts +0 -20
  61. package/dist/Inline.d.ts.map +0 -1
  62. package/dist/Inline.js +0 -17
  63. package/dist/Inline.js.map +0 -1
  64. package/dist/Panel.d.ts +0 -14
  65. package/dist/Panel.d.ts.map +0 -1
  66. package/dist/Panel.js +0 -145
  67. package/dist/Panel.js.map +0 -1
  68. package/dist/ProgressBar.d.ts +0 -15
  69. package/dist/ProgressBar.d.ts.map +0 -1
  70. package/dist/ProgressBar.js +0 -31
  71. package/dist/ProgressBar.js.map +0 -1
  72. package/dist/Readout.d.ts +0 -35
  73. package/dist/Readout.d.ts.map +0 -1
  74. package/dist/Readout.js +0 -114
  75. package/dist/Readout.js.map +0 -1
  76. package/dist/Row.d.ts +0 -22
  77. package/dist/Row.d.ts.map +0 -1
  78. package/dist/Row.js +0 -32
  79. package/dist/Row.js.map +0 -1
  80. package/dist/Section.d.ts +0 -15
  81. package/dist/Section.d.ts.map +0 -1
  82. package/dist/Section.js +0 -21
  83. package/dist/Section.js.map +0 -1
  84. package/dist/Spinner.d.ts +0 -18
  85. package/dist/Spinner.d.ts.map +0 -1
  86. package/dist/Spinner.js +0 -22
  87. package/dist/Spinner.js.map +0 -1
  88. package/dist/Stack.d.ts +0 -15
  89. package/dist/Stack.d.ts.map +0 -1
  90. package/dist/Stack.js +0 -17
  91. package/dist/Stack.js.map +0 -1
  92. package/dist/StatusIndicator.d.ts +0 -27
  93. package/dist/StatusIndicator.d.ts.map +0 -1
  94. package/dist/StatusIndicator.js +0 -78
  95. package/dist/StatusIndicator.js.map +0 -1
  96. package/dist/Truncate.d.ts +0 -7
  97. package/dist/Truncate.d.ts.map +0 -1
  98. package/dist/Truncate.js +0 -14
  99. package/dist/Truncate.js.map +0 -1
  100. package/dist/Value.d.ts +0 -24
  101. package/dist/Value.d.ts.map +0 -1
  102. package/dist/Value.js +0 -42
  103. package/dist/Value.js.map +0 -1
  104. package/dist/WidgetHeader.d.ts +0 -16
  105. package/dist/WidgetHeader.d.ts.map +0 -1
  106. package/dist/WidgetHeader.js +0 -40
  107. package/dist/WidgetHeader.js.map +0 -1
  108. package/dist/defaultDarkTheme.d.ts +0 -16
  109. package/dist/defaultDarkTheme.d.ts.map +0 -1
  110. package/dist/defaultDarkTheme.js +0 -96
  111. package/dist/defaultDarkTheme.js.map +0 -1
  112. package/dist/format.d.ts +0 -11
  113. package/dist/format.d.ts.map +0 -1
  114. package/dist/format.js +0 -12
  115. package/dist/format.js.map +0 -1
  116. package/dist/index.d.ts.map +0 -1
  117. package/dist/science/ScienceExperimentRow.d.ts +0 -43
  118. package/dist/science/ScienceExperimentRow.d.ts.map +0 -1
  119. package/dist/science/ScienceExperimentRow.js +0 -61
  120. package/dist/science/ScienceExperimentRow.js.map +0 -1
  121. package/dist/test/axe.d.ts +0 -3
  122. package/dist/test/axe.d.ts.map +0 -1
  123. package/dist/test/axe.js +0 -5
  124. package/dist/test/axe.js.map +0 -1
  125. package/dist/test/setup.d.ts +0 -2
  126. package/dist/test/setup.d.ts.map +0 -1
  127. package/dist/test/setup.js +0 -12
  128. package/dist/test/setup.js.map +0 -1
  129. package/dist/theme.d.ts +0 -116
  130. package/dist/theme.d.ts.map +0 -1
  131. package/dist/theme.js +0 -15
  132. package/dist/theme.js.map +0 -1
package/dist/Cluster.js DELETED
@@ -1,24 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import styled from "styled-components";
3
- const JUSTIFY_CONTENT = {
4
- between: "space-between",
5
- start: "flex-start",
6
- end: "flex-end",
7
- };
8
- /**
9
- * The single most-repeated block in the dashboard: a horizontal row with
10
- * centred items, spread-out justification, and a `min-width: 0` so a
11
- * truncating child inside actually truncates instead of overflowing the flex
12
- * item. Verbatim source: ScienceOfficer's `TitleRow` and `LabHeader`.
13
- */
14
- export function Cluster({ justify = "between", gap = "md", children, ...rest }) {
15
- return (_jsx(Cluster__Root, { "$justify": justify, "$gap": gap, ...rest, children: children }));
16
- }
17
- const Cluster__Root = styled.div `
18
- display: flex;
19
- align-items: center;
20
- justify-content: ${({ $justify }) => JUSTIFY_CONTENT[$justify]};
21
- gap: ${({ theme, $gap }) => theme.space[$gap]};
22
- min-width: 0;
23
- `;
24
- //# sourceMappingURL=Cluster.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Cluster.js","sourceRoot":"","sources":["../src/Cluster.tsx"],"names":[],"mappings":";AACA,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAavC,MAAM,eAAe,GAAmC;IACtD,OAAO,EAAE,eAAe;IACxB,KAAK,EAAE,YAAY;IACnB,GAAG,EAAE,UAAU;CAChB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,UAAU,OAAO,CAAC,EACtB,OAAO,GAAG,SAAS,EACnB,GAAG,GAAG,IAAI,EACV,QAAQ,EACR,GAAG,IAAI,EACM;IACb,OAAO,CACL,KAAC,aAAa,gBAAW,OAAO,UAAQ,GAAG,KAAM,IAAI,YAClD,QAAQ,GACK,CACjB,CAAC;AACJ,CAAC;AAED,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAG9B;;;qBAGmB,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC;SACvD,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;;CAE9C,CAAC"}
@@ -1,16 +0,0 @@
1
- import type { HTMLAttributes, ReactNode } from "react";
2
- export type EmptyStateLayout = "inline" | "fill";
3
- export interface EmptyStateProps extends HTMLAttributes<HTMLDivElement> {
4
- children?: ReactNode;
5
- layout?: EmptyStateLayout;
6
- }
7
- /**
8
- * Muted placeholder text shown when a panel has nothing to render. Replaces
9
- * the many ad-hoc `Empty = styled.div` definitions sprinkled across widgets.
10
- *
11
- * `inline` is the default — small vertical padding, sits where it's mounted
12
- * inside a panel's stack of children. `fill` centres in the available space
13
- * and is appropriate as a panel's sole child.
14
- */
15
- export declare function EmptyState({ children, layout, ...rest }: EmptyStateProps): import("react/jsx-runtime").JSX.Element;
16
- //# sourceMappingURL=EmptyState.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EmptyState.d.ts","sourceRoot":"","sources":["../src/EmptyState.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvD,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,MAAM,CAAC;AAEjD,MAAM,WAAW,eAAgB,SAAQ,cAAc,CAAC,cAAc,CAAC;IACrE,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,MAAM,CAAC,EAAE,gBAAgB,CAAC;CAC3B;AAED;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,EACzB,QAAQ,EACR,MAAiB,EACjB,GAAG,IAAI,EACR,EAAE,eAAe,2CAMjB"}
@@ -1,37 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import styled, { css } from "styled-components";
3
- /**
4
- * Muted placeholder text shown when a panel has nothing to render. Replaces
5
- * the many ad-hoc `Empty = styled.div` definitions sprinkled across widgets.
6
- *
7
- * `inline` is the default — small vertical padding, sits where it's mounted
8
- * inside a panel's stack of children. `fill` centres in the available space
9
- * and is appropriate as a panel's sole child.
10
- */
11
- export function EmptyState({ children, layout = "inline", ...rest }) {
12
- return (_jsx(EmptyState__Body, { "$layout": layout, ...rest, children: children }));
13
- }
14
- const LAYOUT_STYLES = {
15
- inline: css `
16
- padding: 8px 0;
17
- `,
18
- fill: css `
19
- width: 100%;
20
- height: 100%;
21
- flex: 1;
22
- min-height: 0;
23
- display: flex;
24
- align-items: center;
25
- justify-content: center;
26
- text-align: center;
27
- padding: 16px;
28
- `,
29
- };
30
- const EmptyState__Body = styled.div `
31
- color: var(--color-text-muted);
32
- font-size: var(--font-size-sm);
33
- letter-spacing: 0.04em;
34
-
35
- ${({ $layout }) => LAYOUT_STYLES[$layout]}
36
- `;
37
- //# sourceMappingURL=EmptyState.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EmptyState.js","sourceRoot":"","sources":["../src/EmptyState.tsx"],"names":[],"mappings":";AACA,OAAO,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAShD;;;;;;;GAOG;AACH,MAAM,UAAU,UAAU,CAAC,EACzB,QAAQ,EACR,MAAM,GAAG,QAAQ,EACjB,GAAG,IAAI,EACS;IAChB,OAAO,CACL,KAAC,gBAAgB,eAAU,MAAM,KAAM,IAAI,YACxC,QAAQ,GACQ,CACpB,CAAC;AACJ,CAAC;AAED,MAAM,aAAa,GAAG;IACpB,MAAM,EAAE,GAAG,CAAA;;GAEV;IACD,IAAI,EAAE,GAAG,CAAA;;;;;;;;;;GAUR;CACO,CAAC;AAEX,MAAM,gBAAgB,GAAG,MAAM,CAAC,GAAG,CAA+B;;;;;IAK9D,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC;CAC1C,CAAC"}
@@ -1,16 +0,0 @@
1
- /**
2
- * Design-token custom properties as a styled-components global sheet.
3
- *
4
- * Mirrors `tokens.css` exactly — the same `:root` variable block and the
5
- * coarse-pointer font-size override. Hosts that build their global styles
6
- * through styled-components (rather than importing `@ksp-gonogo/ui-kit/tokens.css`)
7
- * render `<GonogoTokens />` once near the tree root.
8
- *
9
- * Not auto-mounted: injecting a stylesheet is a side effect, and the kit stays
10
- * side-effect-free so it tree-shakes cleanly. The host opts in explicitly.
11
- *
12
- * Keep this block and `tokens.css` in sync — they are two hand-maintained
13
- * copies of the same source of truth.
14
- */
15
- export declare const GonogoTokens: import("react").NamedExoticComponent<import("styled-components").ExecutionProps & object>;
16
- //# sourceMappingURL=GonogoTokens.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"GonogoTokens.d.ts","sourceRoot":"","sources":["../src/GonogoTokens.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,YAAY,2FA2FxB,CAAC"}
@@ -1,108 +0,0 @@
1
- import { createGlobalStyle } from "styled-components";
2
- /**
3
- * Design-token custom properties as a styled-components global sheet.
4
- *
5
- * Mirrors `tokens.css` exactly — the same `:root` variable block and the
6
- * coarse-pointer font-size override. Hosts that build their global styles
7
- * through styled-components (rather than importing `@ksp-gonogo/ui-kit/tokens.css`)
8
- * render `<GonogoTokens />` once near the tree root.
9
- *
10
- * Not auto-mounted: injecting a stylesheet is a side effect, and the kit stays
11
- * side-effect-free so it tree-shakes cleanly. The host opts in explicitly.
12
- *
13
- * Keep this block and `tokens.css` in sync — they are two hand-maintained
14
- * copies of the same source of truth.
15
- */
16
- export const GonogoTokens = createGlobalStyle `
17
- :root {
18
- --font-family-mono:
19
- "JetBrains Mono", ui-monospace, "IBM Plex Mono", Menlo, Consolas, monospace;
20
- --font-size-xs: 11px;
21
- --font-size-sm: 12px;
22
- --font-size-base: 14px;
23
- --font-size-lg: 16px;
24
-
25
- --color-text-primary: #ccc;
26
- --color-text-muted: #888;
27
- --color-text-dim: #808080;
28
- --color-text-faint: #7a7a7a;
29
- --color-text-inverse: #050505;
30
-
31
- --color-surface-app: #050505;
32
- --color-surface-panel: #0d0d0d;
33
- --color-surface-raised: #1a1a1a;
34
- --color-surface-sunken: #0a0a0a;
35
-
36
- --color-border-subtle: #2a2a2a;
37
- --color-border-strong: #333;
38
-
39
- --color-accent-fg: #00ff88;
40
- --color-accent-bg: #00ff88;
41
-
42
- --color-status-go-fg: #cfe;
43
- --color-status-go-bg: #2e5a2e;
44
- --color-status-nogo-fg: #ffdede;
45
- --color-status-nogo-bg: #ff4d4d;
46
- --color-status-warning-fg: #1a1a1a;
47
- --color-status-warning-bg: #ff8c00;
48
- --color-status-info-fg: #7cf;
49
- --color-status-info-bg: #0d0d0d;
50
-
51
- --color-status-alert-muted: #4a0e0e;
52
- --color-status-warning-bg-muted: #3a2a0a;
53
- --color-status-warning-fg-muted: #ffd68a;
54
- --color-status-warning-border-muted: #8a6a28;
55
-
56
- --color-tag-blue-fg: #4488ff;
57
- --color-tag-blue-bg: #0a0a1a;
58
- --color-tag-blue-border: #1a1a3a;
59
- --color-tag-purple-fg: #cc44cc;
60
- --color-tag-purple-bg: #1a0a1a;
61
- --color-tag-purple-border: #6a3a9a;
62
- --color-tag-yellow-fg: #ffeb3b;
63
- --color-tag-yellow-bg: #3a2800;
64
- --color-tag-yellow-border: #6a5a2a;
65
- --color-tag-dark-brown-bg: #1a1000;
66
- --color-tag-dark-brown-border: #3a2800;
67
- --color-tag-cyan-fg: #00cccc;
68
- --color-tag-orange-fg: #ff6633;
69
- --color-tag-red-fg: #ff4466;
70
-
71
- --color-data-1: #6cb4ff;
72
- --color-data-2: #ff7e7e;
73
- --color-data-3: #d987ff;
74
- --color-data-4: #ffb87a;
75
- --color-data-5: #4fe6ff;
76
- --color-data-6: #ffd866;
77
- --color-data-7: #ff8eb8;
78
- --color-data-8: #7d8eff;
79
- --color-data-9: #88dd55;
80
- --color-data-10: #44dddd;
81
- --color-data-11: #c87fff;
82
- --color-data-12: #ff5cad;
83
- --color-data-13: #5fc97a;
84
- --color-data-14: #e89c5b;
85
- --color-data-15: #aa9cff;
86
- --color-data-16: #c2db4a;
87
- --color-data-17: #6fc2e5;
88
- --color-data-18: #db8b6f;
89
- --color-data-19: #b6f7d6;
90
- --color-data-20: #ffa3d6;
91
- --color-data-21: #87a6ff;
92
- --color-data-22: #ffc88e;
93
- --color-data-23: #c8a6e3;
94
- --color-data-24: #f5e07c;
95
-
96
- --color-focus: #00ff88;
97
- }
98
-
99
- @media (pointer: coarse) {
100
- :root {
101
- --font-size-xs: 12px;
102
- --font-size-sm: 13px;
103
- --font-size-base: 15px;
104
- --font-size-lg: 17px;
105
- }
106
- }
107
- `;
108
- //# sourceMappingURL=GonogoTokens.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"GonogoTokens.js","sourceRoot":"","sources":["../src/GonogoTokens.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,iBAAiB,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2F5C,CAAC"}
package/dist/Grid.d.ts DELETED
@@ -1,25 +0,0 @@
1
- import type { HTMLAttributes, ReactNode } from "react";
2
- import type { SpaceToken } from "./Stack";
3
- export interface GridProps extends HTMLAttributes<HTMLDivElement> {
4
- /**
5
- * Fixed column template (e.g. `"120px 1fr 60px"`). Takes precedence over
6
- * `minColWidth` when both are set. Extracted from the Scanning widget's
7
- * coverage row (`grid-template-columns: 120px 1fr 60px`).
8
- */
9
- cols?: string;
10
- /**
11
- * Auto-fill responsive columns: `repeat(auto-fill, minmax(minColWidth, 1fr))`.
12
- * Ignored when `cols` is set.
13
- */
14
- minColWidth?: string;
15
- /** Gap between cells, snapped to the space scale. Defaults to `sm`. */
16
- gap?: SpaceToken;
17
- children?: ReactNode;
18
- }
19
- /**
20
- * CSS grid wrapper for fixed-column rows and auto-fill card layouts — the two
21
- * grid shapes widgets hand-roll (a labelled data row, a responsive card
22
- * gallery).
23
- */
24
- export declare function Grid({ cols, minColWidth, gap, children, ...rest }: GridProps): import("react/jsx-runtime").JSX.Element;
25
- //# sourceMappingURL=Grid.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Grid.d.ts","sourceRoot":"","sources":["../src/Grid.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE1C,MAAM,WAAW,SAAU,SAAQ,cAAc,CAAC,cAAc,CAAC;IAC/D;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uEAAuE;IACvE,GAAG,CAAC,EAAE,UAAU,CAAC;IACjB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED;;;;GAIG;AACH,wBAAgB,IAAI,CAAC,EACnB,IAAI,EACJ,WAAW,EACX,GAAU,EACV,QAAQ,EACR,GAAG,IAAI,EACR,EAAE,SAAS,2CAMX"}
package/dist/Grid.js DELETED
@@ -1,23 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import styled from "styled-components";
3
- /**
4
- * CSS grid wrapper for fixed-column rows and auto-fill card layouts — the two
5
- * grid shapes widgets hand-roll (a labelled data row, a responsive card
6
- * gallery).
7
- */
8
- export function Grid({ cols, minColWidth, gap = "sm", children, ...rest }) {
9
- return (_jsx(Grid__Root, { "$cols": cols, "$minColWidth": minColWidth, "$gap": gap, ...rest, children: children }));
10
- }
11
- const Grid__Root = styled.div `
12
- display: grid;
13
- align-items: center;
14
- gap: ${({ theme, $gap }) => theme.space[$gap]};
15
- grid-template-columns: ${({ $cols, $minColWidth }) => {
16
- if ($cols)
17
- return $cols;
18
- if ($minColWidth)
19
- return `repeat(auto-fill, minmax(${$minColWidth}, 1fr))`;
20
- return "1fr";
21
- }};
22
- `;
23
- //# sourceMappingURL=Grid.js.map
package/dist/Grid.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"Grid.js","sourceRoot":"","sources":["../src/Grid.tsx"],"names":[],"mappings":";AACA,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAoBvC;;;;GAIG;AACH,MAAM,UAAU,IAAI,CAAC,EACnB,IAAI,EACJ,WAAW,EACX,GAAG,GAAG,IAAI,EACV,QAAQ,EACR,GAAG,IAAI,EACG;IACV,OAAO,CACL,KAAC,UAAU,aAAQ,IAAI,kBAAgB,WAAW,UAAQ,GAAG,KAAM,IAAI,YACpE,QAAQ,GACE,CACd,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAI3B;;;SAGO,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;2BACpB,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,EAAE;IACnD,IAAI,KAAK;QAAE,OAAO,KAAK,CAAC;IACxB,IAAI,YAAY;QAAE,OAAO,4BAA4B,YAAY,SAAS,CAAC;IAC3E,OAAO,KAAK,CAAC;AACf,CAAC;CACF,CAAC"}
package/dist/Inline.d.ts DELETED
@@ -1,20 +0,0 @@
1
- import type { HTMLAttributes, ReactNode } from "react";
2
- import type { SpaceToken } from "./Stack";
3
- export interface InlineProps extends HTMLAttributes<HTMLSpanElement> {
4
- /** Gap between children, snapped to the space scale. Defaults to `sm`. */
5
- gap?: SpaceToken;
6
- /**
7
- * Adds `margin-left: 6px` so this cluster sits apart from a preceding
8
- * sibling cluster (e.g. a badge row followed by an action-button row).
9
- * Verbatim source: ScienceOfficer's `Actions` (vs. plain `Badges`).
10
- */
11
- inset?: boolean;
12
- children?: ReactNode;
13
- }
14
- /**
15
- * Compact inline cluster for badges/action buttons that must not grow —
16
- * `flex-shrink: 0` so it never yields space to a truncating sibling.
17
- * Replaces ScienceOfficer's `Badges`/`LabBadges`/`Actions`.
18
- */
19
- export declare function Inline({ gap, inset, children, ...rest }: InlineProps): import("react/jsx-runtime").JSX.Element;
20
- //# sourceMappingURL=Inline.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Inline.d.ts","sourceRoot":"","sources":["../src/Inline.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE1C,MAAM,WAAW,WAAY,SAAQ,cAAc,CAAC,eAAe,CAAC;IAClE,0EAA0E;IAC1E,GAAG,CAAC,EAAE,UAAU,CAAC;IACjB;;;;OAIG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,EACrB,GAAU,EACV,KAAa,EACb,QAAQ,EACR,GAAG,IAAI,EACR,EAAE,WAAW,2CAMb"}
package/dist/Inline.js DELETED
@@ -1,17 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import styled from "styled-components";
3
- /**
4
- * Compact inline cluster for badges/action buttons that must not grow —
5
- * `flex-shrink: 0` so it never yields space to a truncating sibling.
6
- * Replaces ScienceOfficer's `Badges`/`LabBadges`/`Actions`.
7
- */
8
- export function Inline({ gap = "sm", inset = false, children, ...rest }) {
9
- return (_jsx(Inline__Root, { "$gap": gap, "$inset": inset, ...rest, children: children }));
10
- }
11
- const Inline__Root = styled.span `
12
- display: inline-flex;
13
- gap: ${({ theme, $gap }) => theme.space[$gap]};
14
- flex-shrink: 0;
15
- ${({ $inset }) => $inset && `margin-left: 6px;`}
16
- `;
17
- //# sourceMappingURL=Inline.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Inline.js","sourceRoot":"","sources":["../src/Inline.tsx"],"names":[],"mappings":";AACA,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAevC;;;;GAIG;AACH,MAAM,UAAU,MAAM,CAAC,EACrB,GAAG,GAAG,IAAI,EACV,KAAK,GAAG,KAAK,EACb,QAAQ,EACR,GAAG,IAAI,EACK;IACZ,OAAO,CACL,KAAC,YAAY,YAAO,GAAG,YAAU,KAAK,KAAM,IAAI,YAC7C,QAAQ,GACI,CAChB,CAAC;AACJ,CAAC;AAED,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAuC;;SAE9D,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;;IAE3C,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,IAAI,mBAAmB;CAChD,CAAC"}
package/dist/Panel.d.ts DELETED
@@ -1,14 +0,0 @@
1
- export declare const Panel: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never> & Partial<Pick<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>>> & string;
2
- export declare const PanelTitle: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLHeadingElement>, HTMLHeadingElement>, never> & Partial<Pick<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLHeadingElement>, HTMLHeadingElement>, never>>> & string;
3
- export declare const PanelSubtitle: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never> & Partial<Pick<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>>> & string;
4
- /**
5
- * Scrolling region with subtle white glow indicators at the top/bottom edges
6
- * when there's scroll content in that direction. Use anywhere an internal
7
- * region of a widget can overflow (e.g. lists, terminal output, file trees).
8
- *
9
- * Forwards its ref to the inner scroll element so consumers can imperatively
10
- * scroll. Accepts standard div props on the root; pass className via
11
- * `styled(ScrollArea)` to apply layout to the root.
12
- */
13
- export declare const ScrollArea: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
14
- //# sourceMappingURL=Panel.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Panel.d.ts","sourceRoot":"","sources":["../src/Panel.tsx"],"names":[],"mappings":"AAUA,eAAO,MAAM,KAAK,uVAkBjB,CAAC;AAEF,eAAO,MAAM,UAAU,uWAOtB,CAAC;AAEF,eAAO,MAAM,aAAa,uVAKzB,CAAC;AAyEF;;;;;;;;GAQG;AACH,eAAO,MAAM,UAAU,2MAsDrB,CAAC"}
package/dist/Panel.js DELETED
@@ -1,145 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { forwardRef, useEffect, useImperativeHandle, useRef, useState, } from "react";
3
- import styled from "styled-components";
4
- export const Panel = styled.div `
5
- /* Glow extension picked up by ScrollArea — descendant glows extend by these
6
- amounts so they sit flush with the panel chrome rather than the inner
7
- scroll-container edge. Panel's overflow:hidden clips the overhang. */
8
- --scroll-glow-pad-y: 12px;
9
- --scroll-glow-pad-x: 16px;
10
-
11
- background: var(--color-surface-panel);
12
- border: 1px solid var(--color-border-subtle);
13
- border-radius: 4px;
14
- padding: 12px 16px;
15
- width: 100%;
16
- height: 100%;
17
- box-sizing: border-box;
18
- display: flex;
19
- flex-direction: column;
20
- gap: 8px;
21
- overflow: hidden;
22
- `;
23
- export const PanelTitle = styled.h3 `
24
- margin: 0;
25
- font-size: var(--font-size-xs);
26
- font-weight: 600;
27
- letter-spacing: 0.15em;
28
- text-transform: uppercase;
29
- color: var(--color-text-dim);
30
- `;
31
- export const PanelSubtitle = styled.div `
32
- font-size: 12px;
33
- color: var(--color-text-muted);
34
- letter-spacing: 0.05em;
35
- margin-top: -4px;
36
- `;
37
- const ScrollAreaRoot = styled.div `
38
- position: relative;
39
- display: flex;
40
- flex-direction: column;
41
- /* Grow to fill the remaining height of a flex-column parent (a Panel body
42
- below a fixed-height header) so the inner element's own flex:1 can
43
- engage overflow, instead of the outer box sizing to content and
44
- spilling past the panel's overflow:hidden edge. Every real consumer
45
- wrapping this in a Body styled-component re-applies exactly these two
46
- rules, so they're the default here rather than something each widget
47
- has to remember. */
48
- flex: 1;
49
- min-height: 0;
50
- `;
51
- /**
52
- * Inner scroll element. Rendered with a stable `data-scroll-area-inner`
53
- * attribute (set inline below) so consumers can target it from
54
- * `styled(ScrollArea)\`& [data-scroll-area-inner] { ... }\`` to apply padding
55
- * or layout (display:flex/gap) to the scrolling children.
56
- */
57
- const ScrollAreaInner = styled.div `
58
- flex: 1;
59
- min-height: 0;
60
- overflow: auto;
61
- /* Hide the native scrollbar — the glow indicators communicate scroll state.
62
- Trackpads/wheels still scroll; keyboard PageUp/Down/arrows still work. */
63
- scrollbar-width: none;
64
- -ms-overflow-style: none;
65
- &::-webkit-scrollbar {
66
- width: 0;
67
- height: 0;
68
- display: none;
69
- }
70
- `;
71
- const ScrollOverflowGlow = styled.div `
72
- position: absolute;
73
- /* Extend horizontally past the scroll container so the glow sits flush with
74
- the panel chrome's left/right borders. Panel's overflow:hidden clips it. */
75
- left: calc(-1 * var(--scroll-glow-pad-x, 0px));
76
- right: calc(-1 * var(--scroll-glow-pad-x, 0px));
77
- ${({ $position }) => $position === "top"
78
- ? "top: calc(-1 * var(--scroll-glow-pad-y, 0px));"
79
- : "bottom: calc(-1 * var(--scroll-glow-pad-y, 0px));"}
80
- height: calc(16px + var(--scroll-glow-pad-y, 0px));
81
- pointer-events: none;
82
- opacity: ${({ $visible }) => ($visible ? 1 : 0)};
83
- transition: opacity 150ms ease;
84
- /* Full-width linear fade anchored on the chrome edge — brightest right at
85
- the scrollable boundary and tapering inward across the whole width. A
86
- centred radial ellipse read as a discrete glowing blob floating over the
87
- content; a full-width edge fade reads as the content itself dissolving
88
- under a soft overlay at the edge, which is the intended "there's more,
89
- scroll" affordance. */
90
- background: linear-gradient(
91
- ${({ $position }) => ($position === "top" ? "to bottom" : "to top")},
92
- rgba(255, 255, 255, 0.13),
93
- rgba(255, 255, 255, 0)
94
- );
95
- z-index: 1;
96
-
97
- @media (prefers-reduced-motion: reduce) {
98
- transition: none;
99
- }
100
- `;
101
- /**
102
- * Scrolling region with subtle white glow indicators at the top/bottom edges
103
- * when there's scroll content in that direction. Use anywhere an internal
104
- * region of a widget can overflow (e.g. lists, terminal output, file trees).
105
- *
106
- * Forwards its ref to the inner scroll element so consumers can imperatively
107
- * scroll. Accepts standard div props on the root; pass className via
108
- * `styled(ScrollArea)` to apply layout to the root.
109
- */
110
- export const ScrollArea = forwardRef(function ScrollArea({ children, ...rest }, ref) {
111
- const innerRef = useRef(null);
112
- const [overflow, setOverflow] = useState({ top: false, bottom: false });
113
- useImperativeHandle(ref, () => innerRef.current);
114
- useEffect(() => {
115
- const el = innerRef.current;
116
- if (!el)
117
- return;
118
- const update = () => {
119
- const top = el.scrollTop > 1;
120
- const bottom = el.scrollTop + el.clientHeight < el.scrollHeight - 1;
121
- setOverflow((prev) => prev.top === top && prev.bottom === bottom ? prev : { top, bottom });
122
- };
123
- update();
124
- el.addEventListener("scroll", update, { passive: true });
125
- const ro = new ResizeObserver(update);
126
- ro.observe(el);
127
- for (const child of Array.from(el.children)) {
128
- ro.observe(child);
129
- }
130
- const mo = new MutationObserver(() => {
131
- for (const child of Array.from(el.children)) {
132
- ro.observe(child);
133
- }
134
- update();
135
- });
136
- mo.observe(el, { childList: true });
137
- return () => {
138
- el.removeEventListener("scroll", update);
139
- ro.disconnect();
140
- mo.disconnect();
141
- };
142
- }, []);
143
- return (_jsxs(ScrollAreaRoot, { ...rest, children: [_jsx(ScrollAreaInner, { ref: innerRef, "data-scroll-area-inner": "", children: children }), _jsx(ScrollOverflowGlow, { "$position": "top", "$visible": overflow.top }), _jsx(ScrollOverflowGlow, { "$position": "bottom", "$visible": overflow.bottom })] }));
144
- });
145
- //# sourceMappingURL=Panel.js.map
package/dist/Panel.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"Panel.js","sourceRoot":"","sources":["../src/Panel.tsx"],"names":[],"mappings":"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"}
@@ -1,15 +0,0 @@
1
- import type { HTMLAttributes } from "react";
2
- export interface ProgressBarProps extends Omit<HTMLAttributes<HTMLDivElement>, "children"> {
3
- /** Current value, 0–100. Clamped into range before rendering. */
4
- value: number;
5
- /** Accessible label for screen readers (e.g. "Biome coverage — Kerbin"). */
6
- ariaLabel?: string;
7
- }
8
- /**
9
- * Thin track+fill progress indicator. Extracted from the Scanning widget's
10
- * coverage bar (`CoverageBar`/`CoverageFill`) — the same shape covers the
11
- * ContractManager altitude-envelope bar. Renders as a native
12
- * `role="progressbar"` so screen readers announce the percentage.
13
- */
14
- export declare function ProgressBar({ value, ariaLabel, ...rest }: Readonly<ProgressBarProps>): import("react/jsx-runtime").JSX.Element;
15
- //# sourceMappingURL=ProgressBar.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ProgressBar.d.ts","sourceRoot":"","sources":["../src/ProgressBar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAG5C,MAAM,WAAW,gBACf,SAAQ,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC;IACxD,iEAAiE;IACjE,KAAK,EAAE,MAAM,CAAC;IACd,4EAA4E;IAC5E,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,SAAS,EACT,GAAG,IAAI,EACR,EAAE,QAAQ,CAAC,gBAAgB,CAAC,2CAgB5B"}
@@ -1,31 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import styled from "styled-components";
3
- /**
4
- * Thin track+fill progress indicator. Extracted from the Scanning widget's
5
- * coverage bar (`CoverageBar`/`CoverageFill`) — the same shape covers the
6
- * ContractManager altitude-envelope bar. Renders as a native
7
- * `role="progressbar"` so screen readers announce the percentage.
8
- */
9
- export function ProgressBar({ value, ariaLabel, ...rest }) {
10
- const clamped = Number.isFinite(value)
11
- ? Math.max(0, Math.min(100, value))
12
- : 0;
13
- return (_jsx(ProgressBar__Track, { role: "progressbar", "aria-label": ariaLabel, "aria-valuenow": clamped, "aria-valuemin": 0, "aria-valuemax": 100, ...rest, children: _jsx(ProgressBar__Fill, { "$percent": clamped }) }));
14
- }
15
- const ProgressBar__Track = styled.div `
16
- height: 6px;
17
- background: var(--color-surface-raised);
18
- border-radius: 3px;
19
- overflow: hidden;
20
- `;
21
- const ProgressBar__Fill = styled.div `
22
- height: 100%;
23
- width: ${({ $percent }) => `${$percent}%`};
24
- background: var(--color-accent-fg);
25
- transition: width 250ms linear;
26
-
27
- @media (prefers-reduced-motion: reduce) {
28
- transition: none;
29
- }
30
- `;
31
- //# sourceMappingURL=ProgressBar.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ProgressBar.js","sourceRoot":"","sources":["../src/ProgressBar.tsx"],"names":[],"mappings":";AACA,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAUvC;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,EAC1B,KAAK,EACL,SAAS,EACT,GAAG,IAAI,EACoB;IAC3B,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QACpC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC,CAAC;IACN,OAAO,CACL,KAAC,kBAAkB,IACjB,IAAI,EAAC,aAAa,gBACN,SAAS,mBACN,OAAO,mBACP,CAAC,mBACD,GAAG,KACd,IAAI,YAER,KAAC,iBAAiB,gBAAW,OAAO,GAAI,GACrB,CACtB,CAAC;AACJ,CAAC;AAED,MAAM,kBAAkB,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;CAKpC,CAAC;AAEF,MAAM,iBAAiB,GAAG,MAAM,CAAC,GAAG,CAAsB;;WAE/C,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,GAAG,QAAQ,GAAG;;;;;;;CAO1C,CAAC"}
package/dist/Readout.d.ts DELETED
@@ -1,35 +0,0 @@
1
- export type ReadoutTone = "default" | "go" | "warning" | "alert";
2
- /**
3
- * Big centred readout — typical "tiny mode" hero element. Fills the remaining
4
- * panel space and centres a single dominant value (e.g. ΔV, time-to-impact,
5
- * warp rate). Use `$tone` to colour-code the readout for state-driven widgets.
6
- *
7
- * Pair with `<ReadoutCaption>` underneath for an optional sub-label.
8
- */
9
- export declare const BigReadout: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "$tone"> & {
10
- $tone?: ReadoutTone;
11
- }, never> & Partial<Pick<import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "$tone"> & {
12
- $tone?: ReadoutTone;
13
- }, never>>> & string;
14
- /**
15
- * Smaller-scale variant for "small" responsive modes — same hero treatment
16
- * but at a compact size. Doesn't fill — sits alongside other content.
17
- */
18
- export declare const Readout: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "$tone"> & {
19
- $tone?: ReadoutTone;
20
- }, never> & Partial<Pick<import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "$tone"> & {
21
- $tone?: ReadoutTone;
22
- }, never>>> & string;
23
- /** Muted secondary line for both readout sizes (e.g. units, mode tag). */
24
- export declare const ReadoutCaption: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, never> & Partial<Pick<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, never>>> & string;
25
- /**
26
- * Status pill — single-token badge ("NOMINAL", "GO", "ABORT"). Designed for
27
- * tiny-mode widgets that boil their state down to one indicator (thermal
28
- * band, ground-survey grade, gonogo state).
29
- */
30
- export declare const StatusPill: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "$tone"> & {
31
- $tone: ReadoutTone;
32
- }, never> & Partial<Pick<import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "$tone"> & {
33
- $tone: ReadoutTone;
34
- }, never>>> & string;
35
- //# sourceMappingURL=Readout.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Readout.d.ts","sourceRoot":"","sources":["../src/Readout.tsx"],"names":[],"mappings":"AAEA,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAAC;AAejE;;;;;;GAMG;AACH,eAAO,MAAM,UAAU;YAAwB,WAAW;;YAAX,WAAW;oBAczD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,OAAO;YAAwB,WAAW;;YAAX,WAAW;oBAQtD,CAAC;AAEF,0EAA0E;AAC1E,eAAO,MAAM,cAAc,2VAM1B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,UAAU;WAAuB,WAAW;;WAAX,WAAW;oBAoDxD,CAAC"}