@ksp-gonogo/ui-kit 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (111) hide show
  1. package/LICENSE +596 -0
  2. package/dist/ActionButton.d.ts +18 -0
  3. package/dist/ActionButton.d.ts.map +1 -0
  4. package/dist/ActionButton.js +56 -0
  5. package/dist/ActionButton.js.map +1 -0
  6. package/dist/Badge.d.ts +15 -0
  7. package/dist/Badge.d.ts.map +1 -0
  8. package/dist/Badge.js +60 -0
  9. package/dist/Badge.js.map +1 -0
  10. package/dist/Box.d.ts +19 -0
  11. package/dist/Box.d.ts.map +1 -0
  12. package/dist/Box.js +27 -0
  13. package/dist/Box.js.map +1 -0
  14. package/dist/Card.d.ts +11 -0
  15. package/dist/Card.d.ts.map +1 -0
  16. package/dist/Card.js +13 -0
  17. package/dist/Card.js.map +1 -0
  18. package/dist/Cluster.d.ts +18 -0
  19. package/dist/Cluster.d.ts.map +1 -0
  20. package/dist/Cluster.js +24 -0
  21. package/dist/Cluster.js.map +1 -0
  22. package/dist/EmptyState.d.ts +16 -0
  23. package/dist/EmptyState.d.ts.map +1 -0
  24. package/dist/EmptyState.js +37 -0
  25. package/dist/EmptyState.js.map +1 -0
  26. package/dist/GonogoTokens.d.ts +16 -0
  27. package/dist/GonogoTokens.d.ts.map +1 -0
  28. package/dist/GonogoTokens.js +108 -0
  29. package/dist/GonogoTokens.js.map +1 -0
  30. package/dist/Grid.d.ts +25 -0
  31. package/dist/Grid.d.ts.map +1 -0
  32. package/dist/Grid.js +23 -0
  33. package/dist/Grid.js.map +1 -0
  34. package/dist/Inline.d.ts +20 -0
  35. package/dist/Inline.d.ts.map +1 -0
  36. package/dist/Inline.js +17 -0
  37. package/dist/Inline.js.map +1 -0
  38. package/dist/Panel.d.ts +14 -0
  39. package/dist/Panel.d.ts.map +1 -0
  40. package/dist/Panel.js +145 -0
  41. package/dist/Panel.js.map +1 -0
  42. package/dist/ProgressBar.d.ts +15 -0
  43. package/dist/ProgressBar.d.ts.map +1 -0
  44. package/dist/ProgressBar.js +31 -0
  45. package/dist/ProgressBar.js.map +1 -0
  46. package/dist/Readout.d.ts +35 -0
  47. package/dist/Readout.d.ts.map +1 -0
  48. package/dist/Readout.js +114 -0
  49. package/dist/Readout.js.map +1 -0
  50. package/dist/Row.d.ts +22 -0
  51. package/dist/Row.d.ts.map +1 -0
  52. package/dist/Row.js +32 -0
  53. package/dist/Row.js.map +1 -0
  54. package/dist/Section.d.ts +15 -0
  55. package/dist/Section.d.ts.map +1 -0
  56. package/dist/Section.js +21 -0
  57. package/dist/Section.js.map +1 -0
  58. package/dist/Spinner.d.ts +18 -0
  59. package/dist/Spinner.d.ts.map +1 -0
  60. package/dist/Spinner.js +22 -0
  61. package/dist/Spinner.js.map +1 -0
  62. package/dist/Stack.d.ts +15 -0
  63. package/dist/Stack.d.ts.map +1 -0
  64. package/dist/Stack.js +17 -0
  65. package/dist/Stack.js.map +1 -0
  66. package/dist/StatusIndicator.d.ts +27 -0
  67. package/dist/StatusIndicator.d.ts.map +1 -0
  68. package/dist/StatusIndicator.js +78 -0
  69. package/dist/StatusIndicator.js.map +1 -0
  70. package/dist/Truncate.d.ts +7 -0
  71. package/dist/Truncate.d.ts.map +1 -0
  72. package/dist/Truncate.js +14 -0
  73. package/dist/Truncate.js.map +1 -0
  74. package/dist/Value.d.ts +24 -0
  75. package/dist/Value.d.ts.map +1 -0
  76. package/dist/Value.js +42 -0
  77. package/dist/Value.js.map +1 -0
  78. package/dist/WidgetHeader.d.ts +16 -0
  79. package/dist/WidgetHeader.d.ts.map +1 -0
  80. package/dist/WidgetHeader.js +40 -0
  81. package/dist/WidgetHeader.js.map +1 -0
  82. package/dist/defaultDarkTheme.d.ts +16 -0
  83. package/dist/defaultDarkTheme.d.ts.map +1 -0
  84. package/dist/defaultDarkTheme.js +96 -0
  85. package/dist/defaultDarkTheme.js.map +1 -0
  86. package/dist/format.d.ts +11 -0
  87. package/dist/format.d.ts.map +1 -0
  88. package/dist/format.js +12 -0
  89. package/dist/format.js.map +1 -0
  90. package/dist/index.d.ts +25 -0
  91. package/dist/index.d.ts.map +1 -0
  92. package/dist/index.js +29 -0
  93. package/dist/index.js.map +1 -0
  94. package/dist/science/ScienceExperimentRow.d.ts +43 -0
  95. package/dist/science/ScienceExperimentRow.d.ts.map +1 -0
  96. package/dist/science/ScienceExperimentRow.js +61 -0
  97. package/dist/science/ScienceExperimentRow.js.map +1 -0
  98. package/dist/test/axe.d.ts +3 -0
  99. package/dist/test/axe.d.ts.map +1 -0
  100. package/dist/test/axe.js +5 -0
  101. package/dist/test/axe.js.map +1 -0
  102. package/dist/test/setup.d.ts +2 -0
  103. package/dist/test/setup.d.ts.map +1 -0
  104. package/dist/test/setup.js +12 -0
  105. package/dist/test/setup.js.map +1 -0
  106. package/dist/theme.d.ts +116 -0
  107. package/dist/theme.d.ts.map +1 -0
  108. package/dist/theme.js +15 -0
  109. package/dist/theme.js.map +1 -0
  110. package/dist/tokens.css +133 -0
  111. package/package.json +57 -0
@@ -0,0 +1,12 @@
1
+ import "@testing-library/jest-dom";
2
+ // jsdom omits ResizeObserver, which ScrollArea/Tabs construct at mount to track
3
+ // overflow. A no-op stub keeps those components mountable in tests; the glow
4
+ // indicators it would drive aren't asserted here.
5
+ if (typeof globalThis.ResizeObserver === "undefined") {
6
+ globalThis.ResizeObserver = class ResizeObserver {
7
+ observe() { }
8
+ unobserve() { }
9
+ disconnect() { }
10
+ };
11
+ }
12
+ //# sourceMappingURL=setup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/test/setup.ts"],"names":[],"mappings":"AAAA,OAAO,2BAA2B,CAAC;AAEnC,gFAAgF;AAChF,6EAA6E;AAC7E,kDAAkD;AAClD,IAAI,OAAO,UAAU,CAAC,cAAc,KAAK,WAAW,EAAE,CAAC;IACrD,UAAU,CAAC,cAAc,GAAG,MAAM,cAAc;QAC9C,OAAO,KAAI,CAAC;QACZ,SAAS,KAAI,CAAC;QACd,UAAU,KAAI,CAAC;KAChB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,116 @@
1
+ /**
2
+ * Typed theme contract.
3
+ *
4
+ * Themes name the project's design tokens by role (`text.muted`, not
5
+ * `gray.500`) so future palette tweaks change the value behind the role
6
+ * instead of forcing a sweep across every consumer.
7
+ *
8
+ * Sizes and spacing are emitted as CSS-variable strings (e.g.
9
+ * `var(--font-size-base)`) so the responsive overrides in `tokens.css`
10
+ * (coarse-pointer bumps, `prefers-reduced-motion`, future
11
+ * `prefers-color-scheme`) keep working when a styled-component switches from a
12
+ * raw CSS var to `theme.typography...`.
13
+ */
14
+ export interface ThemeColors {
15
+ text: {
16
+ primary: string;
17
+ muted: string;
18
+ dim: string;
19
+ /**
20
+ * Lowest-contrast foreground tier — placeholder text, disabled labels,
21
+ * extreme captions. Fails large-text WCAG contrast on dark surfaces;
22
+ * use sparingly for non-essential content.
23
+ */
24
+ faint: string;
25
+ inverse: string;
26
+ };
27
+ surface: {
28
+ app: string;
29
+ panel: string;
30
+ raised: string;
31
+ sunken: string;
32
+ };
33
+ border: {
34
+ subtle: string;
35
+ strong: string;
36
+ };
37
+ accent: {
38
+ fg: string;
39
+ bg: string;
40
+ };
41
+ status: {
42
+ go: {
43
+ fg: string;
44
+ bg: string;
45
+ };
46
+ nogo: {
47
+ fg: string;
48
+ bg: string;
49
+ };
50
+ warning: {
51
+ fg: string;
52
+ bg: string;
53
+ };
54
+ info: {
55
+ fg: string;
56
+ bg: string;
57
+ };
58
+ };
59
+ focus: string;
60
+ }
61
+ export interface ThemeTypography {
62
+ family: {
63
+ mono: string;
64
+ };
65
+ size: {
66
+ xs: string;
67
+ sm: string;
68
+ base: string;
69
+ lg: string;
70
+ };
71
+ weight: {
72
+ regular: number;
73
+ bold: number;
74
+ };
75
+ letterSpacing: {
76
+ /** Subtle negative-to-zero tracking for dense running text. */
77
+ tight: string;
78
+ /** Wide tracking for uppercase labels and section headers. */
79
+ label: string;
80
+ /** Widest tracking for spaced-out captions and status chips. */
81
+ wide: string;
82
+ /** Neutral (no) tracking for body copy. */
83
+ body: string;
84
+ };
85
+ }
86
+ export interface ThemeSpace {
87
+ xs: string;
88
+ sm: string;
89
+ md: string;
90
+ lg: string;
91
+ xl: string;
92
+ }
93
+ export interface ThemeRadii {
94
+ /** Tightest corner — buttons and small controls. */
95
+ xs: string;
96
+ sm: string;
97
+ md: string;
98
+ /** Fully rounded — chips, avatars, toggle knobs. */
99
+ pill: string;
100
+ }
101
+ export interface ThemeBorders {
102
+ subtle: string;
103
+ strong: string;
104
+ }
105
+ export interface UiKitTheme {
106
+ colors: ThemeColors;
107
+ typography: ThemeTypography;
108
+ space: ThemeSpace;
109
+ radii: ThemeRadii;
110
+ borders: ThemeBorders;
111
+ }
112
+ declare module "styled-components" {
113
+ interface DefaultTheme extends UiKitTheme {
114
+ }
115
+ }
116
+ //# sourceMappingURL=theme.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../src/theme.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAQH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE;QACJ,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;QACd,GAAG,EAAE,MAAM,CAAC;QACZ;;;;WAIG;QACH,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,OAAO,EAAE;QACP,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,MAAM,EAAE;QACN,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,MAAM,EAAE;QACN,EAAE,EAAE,MAAM,CAAC;QACX,EAAE,EAAE,MAAM,CAAC;KACZ,CAAC;IACF,MAAM,EAAE;QACN,EAAE,EAAE;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,EAAE,EAAE,MAAM,CAAA;SAAE,CAAC;QAC/B,IAAI,EAAE;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,EAAE,EAAE,MAAM,CAAA;SAAE,CAAC;QACjC,OAAO,EAAE;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,EAAE,EAAE,MAAM,CAAA;SAAE,CAAC;QACpC,IAAI,EAAE;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,EAAE,EAAE,MAAM,CAAA;SAAE,CAAC;KAClC,CAAC;IACF,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,IAAI,EAAE;QACJ,EAAE,EAAE,MAAM,CAAC;QACX,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,EAAE,EAAE,MAAM,CAAC;KACZ,CAAC;IACF,MAAM,EAAE;QACN,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,aAAa,EAAE;QACb,+DAA+D;QAC/D,KAAK,EAAE,MAAM,CAAC;QACd,8DAA8D;QAC9D,KAAK,EAAE,MAAM,CAAC;QACd,gEAAgE;QAChE,IAAI,EAAE,MAAM,CAAC;QACb,2CAA2C;QAC3C,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;CACH;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,UAAU;IACzB,oDAAoD;IACpD,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,oDAAoD;IACpD,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,WAAW,CAAC;IACpB,UAAU,EAAE,eAAe,CAAC;IAC5B,KAAK,EAAE,UAAU,CAAC;IAClB,KAAK,EAAE,UAAU,CAAC;IAClB,OAAO,EAAE,YAAY,CAAC;CACvB;AAED,OAAO,QAAQ,mBAAmB,CAAC;IAQjC,UAAiB,YAAa,SAAQ,UAAU;KAAG;CACpD"}
package/dist/theme.js ADDED
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Typed theme contract.
3
+ *
4
+ * Themes name the project's design tokens by role (`text.muted`, not
5
+ * `gray.500`) so future palette tweaks change the value behind the role
6
+ * instead of forcing a sweep across every consumer.
7
+ *
8
+ * Sizes and spacing are emitted as CSS-variable strings (e.g.
9
+ * `var(--font-size-base)`) so the responsive overrides in `tokens.css`
10
+ * (coarse-pointer bumps, `prefers-reduced-motion`, future
11
+ * `prefers-color-scheme`) keep working when a styled-component switches from a
12
+ * raw CSS var to `theme.typography...`.
13
+ */
14
+ export {};
15
+ //# sourceMappingURL=theme.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme.js","sourceRoot":"","sources":["../src/theme.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG"}
@@ -0,0 +1,133 @@
1
+ :root {
2
+ --font-family-mono:
3
+ "JetBrains Mono", ui-monospace, "IBM Plex Mono", Menlo, Consolas, monospace;
4
+ --font-size-xs: 11px;
5
+ --font-size-sm: 12px;
6
+ --font-size-base: 14px;
7
+ --font-size-lg: 16px;
8
+
9
+ /*
10
+ * Colour tokens — names match `theme.colors.*` paths in
11
+ * `packages/ui-kit/src/defaultDarkTheme.ts`. The CSS-variable layer is
12
+ * the single source of truth; the JS theme object is a typed handle
13
+ * that reads from these vars (e.g. `var(--color-text-primary)`).
14
+ * A future light-mode or color-blind theme swaps the values here.
15
+ */
16
+ --color-text-primary: #ccc;
17
+ --color-text-muted: #888;
18
+ --color-text-dim: #808080;
19
+ --color-text-faint: #7a7a7a;
20
+ --color-text-inverse: #050505;
21
+
22
+ --color-surface-app: #050505;
23
+ --color-surface-panel: #0d0d0d;
24
+ --color-surface-raised: #1a1a1a;
25
+ --color-surface-sunken: #0a0a0a;
26
+
27
+ --color-border-subtle: #2a2a2a;
28
+ --color-border-strong: #333;
29
+
30
+ --color-accent-fg: #00ff88;
31
+ --color-accent-bg: #00ff88;
32
+
33
+ --color-status-go-fg: #cfe;
34
+ --color-status-go-bg: #2e5a2e;
35
+ --color-status-nogo-fg: #ffdede;
36
+ --color-status-nogo-bg: #ff4d4d;
37
+ --color-status-warning-fg: #1a1a1a;
38
+ --color-status-warning-bg: #ff8c00;
39
+ --color-status-info-fg: #7cf;
40
+ --color-status-info-bg: #0d0d0d;
41
+
42
+ /*
43
+ * Muted variants for status surfaces — used when the alert/warning
44
+ * state needs a *darker* fill (e.g. error-button background, banner
45
+ * inset). Distinct from the primary status colours, which are full-
46
+ * brightness. `alert-muted` covers nogo-tone darks; `warning-bg-muted`
47
+ * covers warning-tone darks (warm browns / olives).
48
+ */
49
+ --color-status-alert-muted: #4a0e0e;
50
+ --color-status-warning-bg-muted: #3a2a0a;
51
+ /*
52
+ * Warning text + border for warning chips on a *dark* surface — the
53
+ * `-fg` and `-bg` pair above is for bright orange chips (dark text on
54
+ * orange); these are the inverse case (light cream text on dark amber).
55
+ */
56
+ --color-status-warning-fg-muted: #ffd68a;
57
+ --color-status-warning-border-muted: #8a6a28;
58
+
59
+ /*
60
+ * Tag palette — used for *labeled state* with a paired fg / bg /
61
+ * border surface. Examples: a purple "prediction" chip, a blue
62
+ * station-link badge. Each tag has a fg / bg / border triple.
63
+ *
64
+ * Not for categorical data (chart series, telemetry rows, body
65
+ * markers) — use the `--color-data-*` palette below for that.
66
+ *
67
+ * Not currently typed in the theme schema — promote when a widely-
68
+ * shared widget begins consuming them programmatically.
69
+ */
70
+ --color-tag-blue-fg: #4488ff;
71
+ --color-tag-blue-bg: #0a0a1a;
72
+ --color-tag-blue-border: #1a1a3a;
73
+ --color-tag-purple-fg: #cc44cc;
74
+ --color-tag-purple-bg: #1a0a1a;
75
+ --color-tag-purple-border: #6a3a9a;
76
+ --color-tag-yellow-fg: #ffeb3b;
77
+ --color-tag-yellow-bg: #3a2800;
78
+ --color-tag-yellow-border: #6a5a2a;
79
+ --color-tag-dark-brown-bg: #1a1000;
80
+ --color-tag-dark-brown-border: #3a2800;
81
+ --color-tag-cyan-fg: #00cccc;
82
+ --color-tag-orange-fg: #ff6633;
83
+ --color-tag-red-fg: #ff4466;
84
+
85
+ /*
86
+ * Categorical data palette — used for chart series, telemetry rows,
87
+ * body markers, and anything where the role is "make this category
88
+ * visually distinct from neighbours". Cycle by index (see
89
+ * packages/components/src/shared/dataPalette.ts).
90
+ *
91
+ * Designed for the dark mission-control surface: every value lands at
92
+ * ~70%+ HSL lightness with high saturation so it reads on
93
+ * `--color-surface-app` through `--color-surface-raised`. Hues span
94
+ * ~360° with adjacent pairs visually distinct. None overlap the
95
+ * semantic palette (accent green, status orange/red/nogo) — a chart
96
+ * series should never be mistaken for a state indicator.
97
+ */
98
+ --color-data-1: #6cb4ff; /* steel blue */
99
+ --color-data-2: #ff7e7e; /* coral */
100
+ --color-data-3: #d987ff; /* orchid */
101
+ --color-data-4: #ffb87a; /* peach */
102
+ --color-data-5: #4fe6ff; /* cyan */
103
+ --color-data-6: #ffd866; /* goldenrod */
104
+ --color-data-7: #ff8eb8; /* rose */
105
+ --color-data-8: #7d8eff; /* periwinkle */
106
+ --color-data-9: #88dd55; /* spring */
107
+ --color-data-10: #44dddd; /* teal */
108
+ --color-data-11: #c87fff; /* bright purple */
109
+ --color-data-12: #ff5cad; /* hot pink */
110
+ --color-data-13: #5fc97a; /* forest */
111
+ --color-data-14: #e89c5b; /* burnt peach */
112
+ --color-data-15: #aa9cff; /* lilac */
113
+ --color-data-16: #c2db4a; /* chartreuse */
114
+ --color-data-17: #6fc2e5; /* sky */
115
+ --color-data-18: #db8b6f; /* rust */
116
+ --color-data-19: #b6f7d6; /* pale mint */
117
+ --color-data-20: #ffa3d6; /* cotton-candy */
118
+ --color-data-21: #87a6ff; /* sapphire */
119
+ --color-data-22: #ffc88e; /* apricot */
120
+ --color-data-23: #c8a6e3; /* lavender */
121
+ --color-data-24: #f5e07c; /* canary */
122
+
123
+ --color-focus: #00ff88;
124
+ }
125
+
126
+ @media (pointer: coarse) {
127
+ :root {
128
+ --font-size-xs: 12px;
129
+ --font-size-sm: 13px;
130
+ --font-size-base: 15px;
131
+ --font-size-lg: 17px;
132
+ }
133
+ }
package/package.json ADDED
@@ -0,0 +1,57 @@
1
+ {
2
+ "name": "@ksp-gonogo/ui-kit",
3
+ "description": "Export-safe design system for Gonogo mission-control widgets and third-party Uplinks",
4
+ "license": "GPL-3.0-only",
5
+ "version": "0.1.0",
6
+ "type": "module",
7
+ "repository": {
8
+ "type": "git",
9
+ "url": "git+https://github.com/ksp-gonogo/gonogo.git",
10
+ "directory": "packages/ui-kit"
11
+ },
12
+ "homepage": "https://github.com/ksp-gonogo/gonogo/tree/main/packages/ui-kit#readme",
13
+ "publishConfig": {
14
+ "access": "public"
15
+ },
16
+ "sideEffects": [
17
+ "*.css"
18
+ ],
19
+ "exports": {
20
+ ".": {
21
+ "types": "./dist/index.d.ts",
22
+ "import": "./dist/index.js"
23
+ },
24
+ "./tokens.css": "./dist/tokens.css",
25
+ "./theme": {
26
+ "types": "./dist/theme.d.ts",
27
+ "import": "./dist/theme.js"
28
+ }
29
+ },
30
+ "types": "./dist/index.d.ts",
31
+ "files": [
32
+ "dist"
33
+ ],
34
+ "devDependencies": {
35
+ "@testing-library/jest-dom": "^6.9.1",
36
+ "@testing-library/react": "^16.3.2",
37
+ "@testing-library/user-event": "^14.6.1",
38
+ "@types/jest-axe": "^3.5.9",
39
+ "@types/react": "^18.0.0",
40
+ "jest-axe": "^10.0.0",
41
+ "jsdom": "^29.0.2",
42
+ "typescript": "^5.0.0",
43
+ "vitest": "^4.1.4",
44
+ "@ksp-gonogo/sitrep-sdk": "0.0.1"
45
+ },
46
+ "peerDependencies": {
47
+ "react": "^18.0.0",
48
+ "styled-components": "^6.0.0"
49
+ },
50
+ "scripts": {
51
+ "build": "tsc -p tsconfig.json && cp src/tokens.css dist/tokens.css",
52
+ "dev": "tsc -p tsconfig.json --watch",
53
+ "lint": "tsc --noEmit",
54
+ "test": "vitest run",
55
+ "typecheck": "tsc --noEmit && tsc -p tsconfig.test-d.json"
56
+ }
57
+ }