@ponchia/ui 0.4.1 → 0.6.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 (153) hide show
  1. package/CHANGELOG.md +552 -8
  2. package/MIGRATIONS.json +106 -0
  3. package/README.md +34 -8
  4. package/annotations/index.d.ts +402 -0
  5. package/annotations/index.d.ts.map +1 -0
  6. package/annotations/index.js +792 -0
  7. package/behaviors/carousel.js +198 -0
  8. package/behaviors/combobox.js +226 -0
  9. package/behaviors/command.js +190 -0
  10. package/behaviors/connectors.js +95 -0
  11. package/behaviors/crosshair.js +57 -0
  12. package/behaviors/dialog.js +74 -0
  13. package/behaviors/disclosure.js +26 -0
  14. package/behaviors/dismissible.js +25 -0
  15. package/behaviors/forms.js +186 -0
  16. package/behaviors/glyph.js +108 -0
  17. package/behaviors/index.d.ts +79 -0
  18. package/behaviors/index.js +18 -1409
  19. package/behaviors/internal.js +97 -0
  20. package/behaviors/legend.js +67 -0
  21. package/behaviors/menu.js +47 -0
  22. package/behaviors/popover.js +179 -0
  23. package/behaviors/spotlight.js +52 -0
  24. package/behaviors/table.js +136 -0
  25. package/behaviors/tabs.js +103 -0
  26. package/behaviors/theme.js +84 -0
  27. package/behaviors/toast.js +164 -0
  28. package/classes/classes.json +1857 -0
  29. package/classes/index.d.ts +306 -13
  30. package/classes/index.js +339 -12
  31. package/classes/vscode.css-custom-data.json +12 -0
  32. package/connectors/index.d.ts +191 -0
  33. package/connectors/index.d.ts.map +1 -0
  34. package/connectors/index.js +275 -0
  35. package/css/analytical.css +21 -0
  36. package/css/annotations.css +292 -0
  37. package/css/app.css +43 -13
  38. package/css/base.css +15 -10
  39. package/css/command.css +97 -0
  40. package/css/connectors.css +110 -0
  41. package/css/content.css +7 -1
  42. package/css/crosshair.css +100 -0
  43. package/css/dataviz.css +5 -1
  44. package/css/disclosure.css +38 -6
  45. package/css/dots.css +57 -0
  46. package/css/feedback.css +111 -2
  47. package/css/fonts.css +11 -7
  48. package/css/forms.css +42 -1
  49. package/css/generated.css +117 -0
  50. package/css/legend.css +272 -0
  51. package/css/marks.css +174 -0
  52. package/css/motion.css +24 -44
  53. package/css/navigation.css +7 -0
  54. package/css/overlay.css +31 -1
  55. package/css/primitives.css +109 -5
  56. package/css/report.css +39 -81
  57. package/css/selection.css +46 -0
  58. package/css/site.css +16 -2
  59. package/css/sources.css +221 -0
  60. package/css/spotlight.css +104 -0
  61. package/css/state.css +121 -0
  62. package/css/tokens.css +60 -37
  63. package/css/workbench.css +83 -0
  64. package/dist/bronto.css +1 -1
  65. package/dist/css/analytical.css +1 -0
  66. package/dist/css/annotations.css +1 -0
  67. package/dist/css/app.css +1 -1
  68. package/dist/css/base.css +1 -1
  69. package/dist/css/command.css +1 -0
  70. package/dist/css/connectors.css +1 -0
  71. package/dist/css/content.css +1 -1
  72. package/dist/css/crosshair.css +1 -0
  73. package/dist/css/disclosure.css +1 -1
  74. package/dist/css/dots.css +1 -1
  75. package/dist/css/feedback.css +1 -1
  76. package/dist/css/fonts.css +1 -1
  77. package/dist/css/forms.css +1 -1
  78. package/dist/css/generated.css +1 -0
  79. package/dist/css/legend.css +1 -0
  80. package/dist/css/marks.css +1 -0
  81. package/dist/css/motion.css +1 -1
  82. package/dist/css/navigation.css +1 -1
  83. package/dist/css/overlay.css +1 -1
  84. package/dist/css/primitives.css +1 -1
  85. package/dist/css/report.css +1 -1
  86. package/dist/css/selection.css +1 -0
  87. package/dist/css/site.css +1 -1
  88. package/dist/css/sources.css +1 -0
  89. package/dist/css/spotlight.css +1 -0
  90. package/dist/css/state.css +1 -0
  91. package/dist/css/tokens.css +1 -1
  92. package/dist/css/workbench.css +1 -0
  93. package/docs/adr/0003-theme-model.md +7 -4
  94. package/docs/annotations.md +425 -0
  95. package/docs/architecture.md +246 -0
  96. package/docs/command.md +95 -0
  97. package/docs/connectors.md +91 -0
  98. package/docs/contrast.md +116 -92
  99. package/docs/crosshair.md +63 -0
  100. package/docs/d2.md +195 -0
  101. package/docs/generated.md +91 -0
  102. package/docs/legends.md +184 -0
  103. package/docs/marks.md +93 -0
  104. package/docs/mermaid.md +152 -0
  105. package/docs/reference.md +385 -23
  106. package/docs/reporting.md +436 -63
  107. package/docs/selection.md +40 -0
  108. package/docs/sources.md +137 -0
  109. package/docs/spotlight.md +78 -0
  110. package/docs/stability.md +24 -2
  111. package/docs/state.md +85 -0
  112. package/docs/usage.md +123 -4
  113. package/docs/vega.md +225 -0
  114. package/docs/workbench.md +78 -0
  115. package/fonts/doto-400.woff2 +0 -0
  116. package/fonts/doto-500.woff2 +0 -0
  117. package/fonts/doto-600.woff2 +0 -0
  118. package/fonts/doto-700.woff2 +0 -0
  119. package/fonts/doto-800.woff2 +0 -0
  120. package/fonts/doto-900.woff2 +0 -0
  121. package/glyphs/glyphs.js +6 -4
  122. package/llms.txt +362 -14
  123. package/package.json +115 -12
  124. package/qwik/index.d.ts +42 -54
  125. package/qwik/index.d.ts.map +1 -0
  126. package/qwik/index.js +75 -3
  127. package/react/index.d.ts +39 -56
  128. package/react/index.d.ts.map +1 -0
  129. package/react/index.js +67 -3
  130. package/solid/index.d.ts +64 -56
  131. package/solid/index.d.ts.map +1 -0
  132. package/solid/index.js +70 -3
  133. package/tokens/d2.d.ts +38 -0
  134. package/tokens/d2.js +71 -0
  135. package/tokens/d2.json +43 -0
  136. package/tokens/index.d.ts +5 -5
  137. package/tokens/index.js +23 -5
  138. package/tokens/index.json +9 -0
  139. package/tokens/mermaid.d.ts +23 -0
  140. package/tokens/mermaid.js +181 -0
  141. package/tokens/mermaid.json +163 -0
  142. package/tokens/resolved.json +45 -1
  143. package/tokens/skins.js +3 -2
  144. package/tokens/tokens.dtcg.json +26 -0
  145. package/tokens/vega.d.ts +34 -0
  146. package/tokens/vega.js +155 -0
  147. package/tokens/vega.json +179 -0
  148. package/fonts/doto-400.ttf +0 -0
  149. package/fonts/doto-500.ttf +0 -0
  150. package/fonts/doto-600.ttf +0 -0
  151. package/fonts/doto-700.ttf +0 -0
  152. package/fonts/doto-800.ttf +0 -0
  153. package/fonts/doto-900.ttf +0 -0
package/tokens/index.json CHANGED
@@ -1,4 +1,5 @@
1
1
  {
2
+ "$comment": "GENERATED from tokens/index.js — do not edit by hand. Run `npm run tokens:build`; drift-checked by check:fresh. A build artifact for non-JS tooling (Style Dictionary, Figma, other languages).",
2
3
  "cssVars": {
3
4
  "global": {
4
5
  "--radius-xl": "4px",
@@ -17,6 +18,8 @@
17
18
  "--sans": "'Inter', 'SF Pro Text', -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif",
18
19
  "--dot-font": "'Doto', var(--mono)",
19
20
  "--display": "var(--dot-font)",
21
+ "--display-weight": "700",
22
+ "--display-weight-strong": "800",
20
23
  "--text-2xs": "0.68rem",
21
24
  "--text-xs": "0.76rem",
22
25
  "--text-sm": "0.86rem",
@@ -87,6 +90,7 @@
87
90
  "--accent-ramp-end": "#ffffff",
88
91
  "--accent-strong": "color-mix(in srgb, var(--accent) 83%, #000)",
89
92
  "--accent-text": "var(--accent-strong)",
93
+ "--on-accent": "var(--button-text)",
90
94
  "--accent-soft": "color-mix(in srgb, var(--accent) 10%, transparent)",
91
95
  "--success": "#2f7d4f",
92
96
  "--success-soft": "rgb(47, 125, 79, 0.12)",
@@ -121,6 +125,7 @@
121
125
  "--accent-ramp-end": "#000000",
122
126
  "--accent-strong": "color-mix(in srgb, var(--accent) 84%, #fff)",
123
127
  "--accent-text": "var(--accent-strong)",
128
+ "--on-accent": "var(--button-text)",
124
129
  "--accent-soft": "color-mix(in srgb, var(--accent) 14%, transparent)",
125
130
  "--success": "#4ec27e",
126
131
  "--success-soft": "rgb(78, 194, 126, 0.14)",
@@ -158,6 +163,8 @@
158
163
  "sans": "'Inter', 'SF Pro Text', -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif",
159
164
  "dot-font": "'Doto', var(--mono)",
160
165
  "display": "var(--dot-font)",
166
+ "display-weight": "700",
167
+ "display-weight-strong": "800",
161
168
  "text-2xs": "0.68rem",
162
169
  "text-xs": "0.76rem",
163
170
  "text-sm": "0.86rem",
@@ -229,6 +236,7 @@
229
236
  "accent-ramp-end": "#ffffff",
230
237
  "accent-strong": "color-mix(in srgb, var(--accent) 83%, #000)",
231
238
  "accent-text": "var(--accent-strong)",
239
+ "on-accent": "var(--button-text)",
232
240
  "accent-soft": "color-mix(in srgb, var(--accent) 10%, transparent)",
233
241
  "success": "#2f7d4f",
234
242
  "success-soft": "rgb(47, 125, 79, 0.12)",
@@ -263,6 +271,7 @@
263
271
  "accent-ramp-end": "#000000",
264
272
  "accent-strong": "color-mix(in srgb, var(--accent) 84%, #fff)",
265
273
  "accent-text": "var(--accent-strong)",
274
+ "on-accent": "var(--button-text)",
266
275
  "accent-soft": "color-mix(in srgb, var(--accent) 14%, transparent)",
267
276
  "success": "#4ec27e",
268
277
  "success-soft": "rgb(78, 194, 126, 0.14)",
@@ -0,0 +1,23 @@
1
+ /** @ponchia/ui — GENERATED from the token source by scripts/gen-mermaid.mjs.
2
+ * Do not edit by hand; run `npm run mermaid:build`. Drift-checked in CI. */
3
+
4
+ /** A resolved Mermaid `base` theme: `darkMode` plus colour-valued
5
+ * themeVariables (hex/rgba). For the per-key contract see docs/mermaid.md. */
6
+ export interface MermaidThemeVariables {
7
+ darkMode: boolean;
8
+ fontFamily: string;
9
+ [key: string]: string | boolean;
10
+ }
11
+
12
+ /** Resolved Mermaid `base` themeVariables for each bronto theme. */
13
+ export declare const mermaid: { light: MermaidThemeVariables; dark: MermaidThemeVariables };
14
+
15
+ /** Ready-to-spread Mermaid config (`{ theme: 'base', themeVariables }`) for a
16
+ * bronto theme. Unknown/omitted falls back to light. */
17
+ export declare function brontoMermaidTheme(theme?: 'light' | 'dark'): {
18
+ theme: 'base';
19
+ themeVariables: MermaidThemeVariables;
20
+ };
21
+
22
+ declare const _default: typeof brontoMermaidTheme;
23
+ export default _default;
@@ -0,0 +1,181 @@
1
+ /** @ponchia/ui — GENERATED from the token source by scripts/gen-mermaid.mjs.
2
+ * Do not edit by hand; run `npm run mermaid:build`. Drift-checked in CI.
3
+ *
4
+ * An on-brand Mermaid theme, resolved to static colours per theme. Mermaid
5
+ * is the consumer's renderer — this is config only, we never import it.
6
+ * Values are resolved hex/rgba on purpose: Mermaid's theming engine derives
7
+ * shades and cannot read `var(--x)`. See docs/mermaid.md. */
8
+
9
+ /** Resolved Mermaid `base` themeVariables for each bronto theme. */
10
+ export const mermaid = {
11
+ light: {
12
+ darkMode: false,
13
+ background: '#f4f4f2',
14
+ fontFamily:
15
+ "'Inter', 'SF Pro Text', -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif",
16
+ primaryColor: '#ffffff',
17
+ primaryTextColor: '#0a0a0a',
18
+ primaryBorderColor: '#a8a8a2',
19
+ secondaryColor: '#ececea',
20
+ secondaryTextColor: '#0a0a0a',
21
+ secondaryBorderColor: '#d8d8d4',
22
+ tertiaryColor: '#fbfbfa',
23
+ tertiaryTextColor: '#0a0a0a',
24
+ tertiaryBorderColor: '#d8d8d4',
25
+ lineColor: '#a8a8a2',
26
+ textColor: '#0a0a0a',
27
+ mainBkg: '#ffffff',
28
+ nodeBorder: '#a8a8a2',
29
+ nodeTextColor: '#0a0a0a',
30
+ titleColor: '#0a0a0a',
31
+ edgeLabelBackground: '#f4f4f2',
32
+ clusterBkg: '#fbfbfa',
33
+ clusterBorder: '#d8d8d4',
34
+ labelColor: '#0a0a0a',
35
+ noteBkgColor: '#ececea',
36
+ noteTextColor: '#0a0a0a',
37
+ noteBorderColor: '#d71921',
38
+ errorBkgColor: 'rgba(192, 22, 34, 0.1)',
39
+ errorTextColor: '#c01622',
40
+ actorBkg: '#ffffff',
41
+ actorBorder: '#a8a8a2',
42
+ actorTextColor: '#0a0a0a',
43
+ actorLineColor: '#d8d8d4',
44
+ signalColor: '#0a0a0a',
45
+ signalTextColor: '#0a0a0a',
46
+ labelBoxBkgColor: '#ececea',
47
+ labelBoxBorderColor: '#d8d8d4',
48
+ labelTextColor: '#0a0a0a',
49
+ loopTextColor: '#0a0a0a',
50
+ activationBorderColor: '#a8a8a2',
51
+ activationBkgColor: '#ffffff',
52
+ sequenceNumberColor: '#ffffff',
53
+ pieTitleTextColor: '#0a0a0a',
54
+ pieSectionTextColor: '#0a0a0a',
55
+ pieLegendTextColor: '#0a0a0a',
56
+ pieStrokeColor: '#f4f4f2',
57
+ pieOuterStrokeColor: '#a8a8a2',
58
+ commitLabelColor: '#0a0a0a',
59
+ commitLabelBackground: '#fbfbfa',
60
+ tagLabelColor: '#0a0a0a',
61
+ tagLabelBackground: '#ececea',
62
+ tagLabelBorder: '#d8d8d4',
63
+ pie1: '#d71921',
64
+ pie2: '#e69f00',
65
+ pie3: '#56b4e9',
66
+ pie4: '#009e73',
67
+ pie5: '#f0e442',
68
+ pie6: '#0072b2',
69
+ pie7: '#cc79a7',
70
+ pie8: '#4d5358',
71
+ pie9: '#d71921',
72
+ pie10: '#e69f00',
73
+ pie11: '#56b4e9',
74
+ pie12: '#009e73',
75
+ git0: '#d71921',
76
+ git1: '#e69f00',
77
+ git2: '#56b4e9',
78
+ git3: '#009e73',
79
+ git4: '#f0e442',
80
+ git5: '#0072b2',
81
+ git6: '#cc79a7',
82
+ git7: '#4d5358',
83
+ fillType0: '#d71921',
84
+ fillType1: '#e69f00',
85
+ fillType2: '#56b4e9',
86
+ fillType3: '#009e73',
87
+ fillType4: '#f0e442',
88
+ fillType5: '#0072b2',
89
+ fillType6: '#cc79a7',
90
+ fillType7: '#4d5358',
91
+ },
92
+ dark: {
93
+ darkMode: true,
94
+ background: '#121212',
95
+ fontFamily:
96
+ "'Inter', 'SF Pro Text', -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif",
97
+ primaryColor: '#1c1c1c',
98
+ primaryTextColor: '#e6e6e6',
99
+ primaryBorderColor: '#555555',
100
+ secondaryColor: '#242424',
101
+ secondaryTextColor: '#e6e6e6',
102
+ secondaryBorderColor: '#383838',
103
+ tertiaryColor: '#181818',
104
+ tertiaryTextColor: '#e6e6e6',
105
+ tertiaryBorderColor: '#383838',
106
+ lineColor: '#555555',
107
+ textColor: '#e6e6e6',
108
+ mainBkg: '#1c1c1c',
109
+ nodeBorder: '#555555',
110
+ nodeTextColor: '#e6e6e6',
111
+ titleColor: '#e6e6e6',
112
+ edgeLabelBackground: '#121212',
113
+ clusterBkg: '#181818',
114
+ clusterBorder: '#383838',
115
+ labelColor: '#e6e6e6',
116
+ noteBkgColor: '#242424',
117
+ noteTextColor: '#e6e6e6',
118
+ noteBorderColor: '#ff3b41',
119
+ errorBkgColor: 'rgba(255, 77, 84, 0.15)',
120
+ errorTextColor: '#ff4d54',
121
+ actorBkg: '#1c1c1c',
122
+ actorBorder: '#555555',
123
+ actorTextColor: '#e6e6e6',
124
+ actorLineColor: '#383838',
125
+ signalColor: '#e6e6e6',
126
+ signalTextColor: '#e6e6e6',
127
+ labelBoxBkgColor: '#242424',
128
+ labelBoxBorderColor: '#383838',
129
+ labelTextColor: '#e6e6e6',
130
+ loopTextColor: '#e6e6e6',
131
+ activationBorderColor: '#555555',
132
+ activationBkgColor: '#222222',
133
+ sequenceNumberColor: '#000000',
134
+ pieTitleTextColor: '#e6e6e6',
135
+ pieSectionTextColor: '#e6e6e6',
136
+ pieLegendTextColor: '#e6e6e6',
137
+ pieStrokeColor: '#121212',
138
+ pieOuterStrokeColor: '#555555',
139
+ commitLabelColor: '#e6e6e6',
140
+ commitLabelBackground: '#181818',
141
+ tagLabelColor: '#e6e6e6',
142
+ tagLabelBackground: '#242424',
143
+ tagLabelBorder: '#383838',
144
+ pie1: '#ff3b41',
145
+ pie2: '#e69f00',
146
+ pie3: '#56b4e9',
147
+ pie4: '#009e73',
148
+ pie5: '#f0e442',
149
+ pie6: '#0072b2',
150
+ pie7: '#cc79a7',
151
+ pie8: '#4d5358',
152
+ pie9: '#ff3b41',
153
+ pie10: '#e69f00',
154
+ pie11: '#56b4e9',
155
+ pie12: '#009e73',
156
+ git0: '#ff3b41',
157
+ git1: '#e69f00',
158
+ git2: '#56b4e9',
159
+ git3: '#009e73',
160
+ git4: '#f0e442',
161
+ git5: '#0072b2',
162
+ git6: '#cc79a7',
163
+ git7: '#4d5358',
164
+ fillType0: '#ff3b41',
165
+ fillType1: '#e69f00',
166
+ fillType2: '#56b4e9',
167
+ fillType3: '#009e73',
168
+ fillType4: '#f0e442',
169
+ fillType5: '#0072b2',
170
+ fillType6: '#cc79a7',
171
+ fillType7: '#4d5358',
172
+ },
173
+ };
174
+
175
+ /** Ready-to-spread Mermaid config for a bronto theme (default `light`):
176
+ * `mermaid.initialize(brontoMermaidTheme(document.documentElement.dataset.theme))`. */
177
+ export function brontoMermaidTheme(theme = 'light') {
178
+ return { theme: 'base', themeVariables: mermaid[theme === 'dark' ? 'dark' : 'light'] };
179
+ }
180
+
181
+ export default brontoMermaidTheme;
@@ -0,0 +1,163 @@
1
+ {
2
+ "$comment": "@ponchia/ui Mermaid `base` themeVariables resolved to static colours per theme. Pass as mermaid.initialize({ theme: 'base', themeVariables }). Monochrome surfaces + one rationed accent; the categorical palette (pie/git/journey) is the CVD-safe charts set. Generated from the token source — do not edit by hand; run `npm run mermaid:build`. Drift-checked in CI.",
3
+ "light": {
4
+ "darkMode": false,
5
+ "background": "#f4f4f2",
6
+ "fontFamily": "'Inter', 'SF Pro Text', -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif",
7
+ "primaryColor": "#ffffff",
8
+ "primaryTextColor": "#0a0a0a",
9
+ "primaryBorderColor": "#a8a8a2",
10
+ "secondaryColor": "#ececea",
11
+ "secondaryTextColor": "#0a0a0a",
12
+ "secondaryBorderColor": "#d8d8d4",
13
+ "tertiaryColor": "#fbfbfa",
14
+ "tertiaryTextColor": "#0a0a0a",
15
+ "tertiaryBorderColor": "#d8d8d4",
16
+ "lineColor": "#a8a8a2",
17
+ "textColor": "#0a0a0a",
18
+ "mainBkg": "#ffffff",
19
+ "nodeBorder": "#a8a8a2",
20
+ "nodeTextColor": "#0a0a0a",
21
+ "titleColor": "#0a0a0a",
22
+ "edgeLabelBackground": "#f4f4f2",
23
+ "clusterBkg": "#fbfbfa",
24
+ "clusterBorder": "#d8d8d4",
25
+ "labelColor": "#0a0a0a",
26
+ "noteBkgColor": "#ececea",
27
+ "noteTextColor": "#0a0a0a",
28
+ "noteBorderColor": "#d71921",
29
+ "errorBkgColor": "rgba(192, 22, 34, 0.1)",
30
+ "errorTextColor": "#c01622",
31
+ "actorBkg": "#ffffff",
32
+ "actorBorder": "#a8a8a2",
33
+ "actorTextColor": "#0a0a0a",
34
+ "actorLineColor": "#d8d8d4",
35
+ "signalColor": "#0a0a0a",
36
+ "signalTextColor": "#0a0a0a",
37
+ "labelBoxBkgColor": "#ececea",
38
+ "labelBoxBorderColor": "#d8d8d4",
39
+ "labelTextColor": "#0a0a0a",
40
+ "loopTextColor": "#0a0a0a",
41
+ "activationBorderColor": "#a8a8a2",
42
+ "activationBkgColor": "#ffffff",
43
+ "sequenceNumberColor": "#ffffff",
44
+ "pieTitleTextColor": "#0a0a0a",
45
+ "pieSectionTextColor": "#0a0a0a",
46
+ "pieLegendTextColor": "#0a0a0a",
47
+ "pieStrokeColor": "#f4f4f2",
48
+ "pieOuterStrokeColor": "#a8a8a2",
49
+ "commitLabelColor": "#0a0a0a",
50
+ "commitLabelBackground": "#fbfbfa",
51
+ "tagLabelColor": "#0a0a0a",
52
+ "tagLabelBackground": "#ececea",
53
+ "tagLabelBorder": "#d8d8d4",
54
+ "pie1": "#d71921",
55
+ "pie2": "#e69f00",
56
+ "pie3": "#56b4e9",
57
+ "pie4": "#009e73",
58
+ "pie5": "#f0e442",
59
+ "pie6": "#0072b2",
60
+ "pie7": "#cc79a7",
61
+ "pie8": "#4d5358",
62
+ "pie9": "#d71921",
63
+ "pie10": "#e69f00",
64
+ "pie11": "#56b4e9",
65
+ "pie12": "#009e73",
66
+ "git0": "#d71921",
67
+ "git1": "#e69f00",
68
+ "git2": "#56b4e9",
69
+ "git3": "#009e73",
70
+ "git4": "#f0e442",
71
+ "git5": "#0072b2",
72
+ "git6": "#cc79a7",
73
+ "git7": "#4d5358",
74
+ "fillType0": "#d71921",
75
+ "fillType1": "#e69f00",
76
+ "fillType2": "#56b4e9",
77
+ "fillType3": "#009e73",
78
+ "fillType4": "#f0e442",
79
+ "fillType5": "#0072b2",
80
+ "fillType6": "#cc79a7",
81
+ "fillType7": "#4d5358"
82
+ },
83
+ "dark": {
84
+ "darkMode": true,
85
+ "background": "#121212",
86
+ "fontFamily": "'Inter', 'SF Pro Text', -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif",
87
+ "primaryColor": "#1c1c1c",
88
+ "primaryTextColor": "#e6e6e6",
89
+ "primaryBorderColor": "#555555",
90
+ "secondaryColor": "#242424",
91
+ "secondaryTextColor": "#e6e6e6",
92
+ "secondaryBorderColor": "#383838",
93
+ "tertiaryColor": "#181818",
94
+ "tertiaryTextColor": "#e6e6e6",
95
+ "tertiaryBorderColor": "#383838",
96
+ "lineColor": "#555555",
97
+ "textColor": "#e6e6e6",
98
+ "mainBkg": "#1c1c1c",
99
+ "nodeBorder": "#555555",
100
+ "nodeTextColor": "#e6e6e6",
101
+ "titleColor": "#e6e6e6",
102
+ "edgeLabelBackground": "#121212",
103
+ "clusterBkg": "#181818",
104
+ "clusterBorder": "#383838",
105
+ "labelColor": "#e6e6e6",
106
+ "noteBkgColor": "#242424",
107
+ "noteTextColor": "#e6e6e6",
108
+ "noteBorderColor": "#ff3b41",
109
+ "errorBkgColor": "rgba(255, 77, 84, 0.15)",
110
+ "errorTextColor": "#ff4d54",
111
+ "actorBkg": "#1c1c1c",
112
+ "actorBorder": "#555555",
113
+ "actorTextColor": "#e6e6e6",
114
+ "actorLineColor": "#383838",
115
+ "signalColor": "#e6e6e6",
116
+ "signalTextColor": "#e6e6e6",
117
+ "labelBoxBkgColor": "#242424",
118
+ "labelBoxBorderColor": "#383838",
119
+ "labelTextColor": "#e6e6e6",
120
+ "loopTextColor": "#e6e6e6",
121
+ "activationBorderColor": "#555555",
122
+ "activationBkgColor": "#222222",
123
+ "sequenceNumberColor": "#000000",
124
+ "pieTitleTextColor": "#e6e6e6",
125
+ "pieSectionTextColor": "#e6e6e6",
126
+ "pieLegendTextColor": "#e6e6e6",
127
+ "pieStrokeColor": "#121212",
128
+ "pieOuterStrokeColor": "#555555",
129
+ "commitLabelColor": "#e6e6e6",
130
+ "commitLabelBackground": "#181818",
131
+ "tagLabelColor": "#e6e6e6",
132
+ "tagLabelBackground": "#242424",
133
+ "tagLabelBorder": "#383838",
134
+ "pie1": "#ff3b41",
135
+ "pie2": "#e69f00",
136
+ "pie3": "#56b4e9",
137
+ "pie4": "#009e73",
138
+ "pie5": "#f0e442",
139
+ "pie6": "#0072b2",
140
+ "pie7": "#cc79a7",
141
+ "pie8": "#4d5358",
142
+ "pie9": "#ff3b41",
143
+ "pie10": "#e69f00",
144
+ "pie11": "#56b4e9",
145
+ "pie12": "#009e73",
146
+ "git0": "#ff3b41",
147
+ "git1": "#e69f00",
148
+ "git2": "#56b4e9",
149
+ "git3": "#009e73",
150
+ "git4": "#f0e442",
151
+ "git5": "#0072b2",
152
+ "git6": "#cc79a7",
153
+ "git7": "#4d5358",
154
+ "fillType0": "#ff3b41",
155
+ "fillType1": "#e69f00",
156
+ "fillType2": "#56b4e9",
157
+ "fillType3": "#009e73",
158
+ "fillType4": "#f0e442",
159
+ "fillType5": "#0072b2",
160
+ "fillType6": "#cc79a7",
161
+ "fillType7": "#4d5358"
162
+ }
163
+ }
@@ -1,5 +1,5 @@
1
1
  {
2
- "$comment": "@ponchia/ui colour tokens resolved to static values per theme (var() + sRGB/OKLCH color-mix() evaluated at build). For non-CSS render targets: MapLibre/canvas/WebGL/SVG. Generated from tokens/index.js — do not edit by hand; run `npm run resolved:build`. Drift-checked in CI.",
2
+ "$comment": "@ponchia/ui tokens resolved to static values for non-CSS render targets (MapLibre/canvas/WebGL/SVG/server image gen). `light`/`dark` hold every colour token with var() + sRGB/OKLCH color-mix() evaluated to #rrggbb/rgba(). `scale` holds the theme-independent non-colour scales (spacing/radius/type/z/motion), var() chains flattened. Generated from tokens/index.js — do not edit by hand; run `npm run resolved:build`. Drift-checked in CI.",
3
3
  "light": {
4
4
  "--accent-1": "#ffefed",
5
5
  "--accent-2": "#ffe0db",
@@ -47,6 +47,7 @@
47
47
  "--accent-ramp-end": "#ffffff",
48
48
  "--accent-strong": "#b2151b",
49
49
  "--accent-text": "#b2151b",
50
+ "--on-accent": "#ffffff",
50
51
  "--accent-soft": "rgba(215, 25, 33, 0.1)",
51
52
  "--success": "#2f7d4f",
52
53
  "--success-soft": "rgba(47, 125, 79, 0.12)",
@@ -110,6 +111,7 @@
110
111
  "--accent-ramp-end": "#000000",
111
112
  "--accent-strong": "#ff5a5f",
112
113
  "--accent-text": "#ff5a5f",
114
+ "--on-accent": "#000000",
113
115
  "--accent-soft": "rgba(255, 59, 65, 0.14)",
114
116
  "--success": "#4ec27e",
115
117
  "--success-soft": "rgba(78, 194, 126, 0.14)",
@@ -125,5 +127,47 @@
125
127
  "--field-dot-hot": "rgba(242, 242, 242, 0.36)",
126
128
  "--field-dot-accent": "rgba(255, 59, 65, 0.82)",
127
129
  "--focus-ring": "#ff3b41"
130
+ },
131
+ "scale": {
132
+ "--radius-xl": "4px",
133
+ "--radius-lg": "3px",
134
+ "--radius-md": "2px",
135
+ "--radius-sm": "1px",
136
+ "--radius-pill": "999px",
137
+ "--space-2xs": "0.25rem",
138
+ "--space-xs": "0.5rem",
139
+ "--space-sm": "0.75rem",
140
+ "--space-md": "1rem",
141
+ "--space-lg": "1.35rem",
142
+ "--space-xl": "1.75rem",
143
+ "--space-2xl": "2.5rem",
144
+ "--mono": "'JetBrains Mono', 'Fira Code', 'Cascadia Code', 'SF Mono', ui-monospace, monospace",
145
+ "--sans": "'Inter', 'SF Pro Text', -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif",
146
+ "--dot-font": "'Doto', 'JetBrains Mono', 'Fira Code', 'Cascadia Code', 'SF Mono', ui-monospace, monospace",
147
+ "--display": "'Doto', 'JetBrains Mono', 'Fira Code', 'Cascadia Code', 'SF Mono', ui-monospace, monospace",
148
+ "--display-weight": "700",
149
+ "--display-weight-strong": "800",
150
+ "--text-2xs": "0.68rem",
151
+ "--text-xs": "0.76rem",
152
+ "--text-sm": "0.86rem",
153
+ "--text-base": "0.95rem",
154
+ "--text-lg": "1.15rem",
155
+ "--text-xl": "1.45rem",
156
+ "--tracking-wide": "0.14em",
157
+ "--tracking-wider": "0.22em",
158
+ "--ease-standard": "cubic-bezier(0.2, 0.8, 0.2, 1)",
159
+ "--ease-spring": "cubic-bezier(0.16, 1, 0.3, 1)",
160
+ "--ease-out": "cubic-bezier(0.33, 1, 0.68, 1)",
161
+ "--duration-fast": "130ms",
162
+ "--duration-base": "200ms",
163
+ "--duration-slow": "360ms",
164
+ "--dot-size": "2px",
165
+ "--dot-gap": "14px",
166
+ "--z-base": "0",
167
+ "--z-raised": "10",
168
+ "--z-sticky": "20",
169
+ "--z-overlay": "30",
170
+ "--z-popover": "50",
171
+ "--z-toast": "60"
128
172
  }
129
173
  }
package/tokens/skins.js CHANGED
@@ -10,8 +10,9 @@
10
10
  *
11
11
  * Accents are authored in **OKLCH** (ADR-0001 step 5 — "OKLCH for new work
12
12
  * first"): perceptually-uniform lightness makes the light/dark pair easy to
13
- * reason about, and it is within the package browser floor (Chrome 111+,
14
- * Safari 16.4+, Firefox 121+ all support `oklch()` and `color-mix()`).
13
+ * reason about, and it is comfortably within the package browser floor
14
+ * (Chrome 125+ / Safari 18+ / Firefox 129+ per ADR-0002 `oklch()` and
15
+ * `color-mix()` in fact landed even earlier, Chrome 111 / Safari 16.4 / FF 121).
15
16
  *
16
17
  * Each skin gives a per-theme accent because — exactly like the core red
17
18
  * (#d71921 light / #ff3b41 dark) — one hue cannot stay AA against both a white
@@ -104,6 +104,14 @@
104
104
  "$extensions": {
105
105
  "com.ponchia.css": "var(--dot-font)"
106
106
  }
107
+ },
108
+ "weight": {
109
+ "$type": "fontWeight",
110
+ "$value": "700"
111
+ },
112
+ "weight-strong": {
113
+ "$type": "fontWeight",
114
+ "$value": "800"
107
115
  }
108
116
  },
109
117
  "text": {
@@ -534,6 +542,15 @@
534
542
  }
535
543
  }
536
544
  },
545
+ "on": {
546
+ "accent": {
547
+ "$type": "color",
548
+ "$value": null,
549
+ "$extensions": {
550
+ "com.ponchia.css": "var(--button-text)"
551
+ }
552
+ }
553
+ },
537
554
  "success": {
538
555
  "DEFAULT": {
539
556
  "$type": "color",
@@ -713,6 +730,15 @@
713
730
  }
714
731
  }
715
732
  },
733
+ "on": {
734
+ "accent": {
735
+ "$type": "color",
736
+ "$value": null,
737
+ "$extensions": {
738
+ "com.ponchia.css": "var(--button-text)"
739
+ }
740
+ }
741
+ },
716
742
  "success": {
717
743
  "DEFAULT": {
718
744
  "$type": "color",
@@ -0,0 +1,34 @@
1
+ /** @ponchia/ui — GENERATED from the token source by scripts/gen-vega.mjs.
2
+ * Do not edit by hand; run `npm run vega:build`. Drift-checked in CI. */
3
+
4
+ /** A resolved Vega-Lite `config`: colour-valued chrome slots (hex), font
5
+ * stacks, and `range.*` palette arrays. Pass as a spec's `config` (or
6
+ * vega-embed's `config`). For the per-slot contract see docs/vega.md. */
7
+ export interface VegaConfig {
8
+ background: string;
9
+ range: {
10
+ category: string[];
11
+ ordinal: string[];
12
+ ramp: string[];
13
+ heatmap: string[];
14
+ diverging: string[];
15
+ };
16
+ [key: string]: unknown;
17
+ }
18
+
19
+ /** Resolved Vega-Lite `config` for each bronto theme. */
20
+ export declare const vega: { light: VegaConfig; dark: VegaConfig };
21
+
22
+ /** The on-brand Vega-Lite `config` for a bronto theme. Unknown/omitted falls
23
+ * back to light. Spread into a spec's `config`, or pass to vega-embed. */
24
+ export declare function brontoVegaConfig(theme?: 'light' | 'dark'): VegaConfig;
25
+
26
+ /** The live accent hex (series 1 of `range.category`) for a theme — to spend the
27
+ * accent on one emphasised mark without hard-coding the palette index. */
28
+ export declare function brontoVegaAccent(theme?: 'light' | 'dark'): string;
29
+
30
+ /** The neutral series hex (last of `range.category`) for a theme. */
31
+ export declare function brontoVegaNeutral(theme?: 'light' | 'dark'): string;
32
+
33
+ declare const _default: typeof brontoVegaConfig;
34
+ export default _default;