@blueprint-chart/ui 1.3.0 → 1.5.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.
- package/dist/components/Effect/BcRing/BcRing.vue.d.ts +19 -0
- package/dist/components/Effect/StippleDefs/StippleDefs.vue.d.ts +2 -0
- package/dist/components/Section/SectionTitle/SectionTitle.vue.d.ts +5 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.js +1522 -1375
- package/dist/style.css +1 -1
- package/dist/styles/effects.css +1 -0
- package/dist/styles/effects.scss +82 -0
- package/dist/styles/eyebrow.css +1 -0
- package/dist/styles/eyebrow.scss +28 -0
- package/dist/styles/tokens.css +1 -1
- package/dist/styles/tokens.scss +97 -21
- package/package.json +6 -2
package/dist/styles/tokens.scss
CHANGED
|
@@ -44,17 +44,22 @@ $info: $prussian-300 !default;
|
|
|
44
44
|
$warning: #D4A63A !default;
|
|
45
45
|
$danger: #C94044 !default;
|
|
46
46
|
|
|
47
|
+
// Accent - the marker. One hex, two gestures (pen on dark, ground on light).
|
|
48
|
+
// No darkened-for-white variant: chartreuse on white is forbidden, not missing.
|
|
49
|
+
$chartreuse-400: #DDF247 !default;
|
|
50
|
+
$accent: $chartreuse-400 !default;
|
|
51
|
+
|
|
47
52
|
// Borders
|
|
48
53
|
$border-color: #dcdce0 !default;
|
|
49
54
|
$border-color-dark: #2e2e2e !default;
|
|
50
55
|
|
|
51
56
|
// Surface hierarchy (void > tile > elevated)
|
|
52
57
|
$body-bg: #f3f3f4 !default;
|
|
53
|
-
$body-bg-dark: #
|
|
58
|
+
$body-bg-dark: #000000 !default;
|
|
54
59
|
$body-secondary-bg: #ffffff !default;
|
|
55
|
-
$body-secondary-bg-dark: #
|
|
60
|
+
$body-secondary-bg-dark: #0e0e0e !default;
|
|
56
61
|
$body-tertiary-bg: #f8f8fa !default;
|
|
57
|
-
$body-tertiary-bg-dark: #
|
|
62
|
+
$body-tertiary-bg-dark: #161616 !default;
|
|
58
63
|
|
|
59
64
|
// Links
|
|
60
65
|
$link-color: $primary !default;
|
|
@@ -127,7 +132,7 @@ $spacer-xs: 0.25rem !default;
|
|
|
127
132
|
--bc-canvas-dimension-color: rgba(255, 255, 255, 0.55);
|
|
128
133
|
|
|
129
134
|
--bc-chrome-bg: #ffffff;
|
|
130
|
-
--bc-content-bg: #
|
|
135
|
+
--bc-content-bg: #E9EBEF;
|
|
131
136
|
--bc-tile-bg: #ffffff;
|
|
132
137
|
--bc-tile-bg-elevated: #f5f5f7;
|
|
133
138
|
--bc-canvas-glow: none;
|
|
@@ -140,6 +145,53 @@ $spacer-xs: 0.25rem !default;
|
|
|
140
145
|
--bc-hairline: rgba(0, 0, 0, 0.08);
|
|
141
146
|
--bc-hairline-strong: rgba(0, 0, 0, 0.14);
|
|
142
147
|
|
|
148
|
+
// The marker. Interactive emphasis (CTA/hover/selection/focus expression) and
|
|
149
|
+
// editorial emphasis. Always rides a non-color signal (fill/shape/pool). ~4%.
|
|
150
|
+
--bc-accent: #{$accent};
|
|
151
|
+
--bc-accent-ink: #{$prussian-600}; // only text color on accent fills
|
|
152
|
+
|
|
153
|
+
// Grid pool (see _effects.scss). Ink reads on any surface, not just canvas.
|
|
154
|
+
--bc-pool-r: 100px;
|
|
155
|
+
--bc-pool-ink: #{rgba($prussian-300, 0.33)}; // drafting-blue grid on light
|
|
156
|
+
|
|
157
|
+
// Light ink for forced-dark marketing islands (hero, closing band). These are
|
|
158
|
+
// island constants: the same value in both themes, so they are not overridden
|
|
159
|
+
// in the dark block.
|
|
160
|
+
--bc-marketing-ink: #EAF2FA;
|
|
161
|
+
--bc-marketing-ink-dim: #{$prussian-100};
|
|
162
|
+
|
|
163
|
+
// Island constant: the default Prussian focus ring is only ~1.4:1 on the
|
|
164
|
+
// #000000 marketing field, below the 3:1 focus-indicator floor. This
|
|
165
|
+
// brighter Prussian tint reads at roughly 3.5:1+ on black and is used only
|
|
166
|
+
// on the dark marketing islands (see .btn-bc-primary:focus-visible below).
|
|
167
|
+
--bc-focus-ring-marketing: 0 0 0 3px #{rgba($prussian-300, 0.9)};
|
|
168
|
+
|
|
169
|
+
// Editorial mark ink: chartreuse can't be a thin figure on white, so small
|
|
170
|
+
// marks (eyebrow #/dot) fall back to Prussian on light, chartreuse on dark.
|
|
171
|
+
--bc-mark: #{$prussian-500};
|
|
172
|
+
--bc-mark-quiet: #{rgba($prussian-500, 0.14)};
|
|
173
|
+
|
|
174
|
+
// Primary button fill/ink pair. Flips per theme so .btn-bc-primary always
|
|
175
|
+
// resolves at the nearest theme (see _effects.scss), instead of a
|
|
176
|
+
// theme-scoped selector outranking the base rule inside a forced-dark
|
|
177
|
+
// island. Light: navy fill on paper. Dark: chartreuse fill on the field.
|
|
178
|
+
--bc-btn-primary-bg: #{$prussian-600};
|
|
179
|
+
--bc-btn-primary-fg: #{$accent};
|
|
180
|
+
|
|
181
|
+
// Highlighter swipe (FIG.03). Defined once here so .bc-highlight and the
|
|
182
|
+
// landing emphasis rules share one gradient (DRY). Ground on light.
|
|
183
|
+
--bc-swipe: linear-gradient(
|
|
184
|
+
180deg,
|
|
185
|
+
transparent 45%,
|
|
186
|
+
var(--bc-accent) 45%,
|
|
187
|
+
var(--bc-accent) 92%,
|
|
188
|
+
transparent 92%
|
|
189
|
+
);
|
|
190
|
+
|
|
191
|
+
// Framed-canvas system (flat: hairline border, no shadow).
|
|
192
|
+
--bc-frame-border: var(--bc-hairline);
|
|
193
|
+
--bc-frame-radius: var(--bc-radius-lg);
|
|
194
|
+
|
|
143
195
|
--bc-radius-pill: 999px;
|
|
144
196
|
--bc-radius-xs: 4px;
|
|
145
197
|
--bc-radius-sm: 6px;
|
|
@@ -191,19 +243,16 @@ $spacer-xs: 0.25rem !default;
|
|
|
191
243
|
--bc-grid-color: #444;
|
|
192
244
|
--bc-text-color: #aaa;
|
|
193
245
|
|
|
194
|
-
//
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
--bc-canvas-
|
|
199
|
-
|
|
200
|
-
--bc-
|
|
201
|
-
--bc-
|
|
202
|
-
|
|
203
|
-
--bc-
|
|
204
|
-
--bc-content-bg: #0f0f0f;
|
|
205
|
-
--bc-tile-bg: #1a1a1a;
|
|
206
|
-
--bc-tile-bg-elevated: #232323;
|
|
246
|
+
// Dark canvas is true black; the white grid lines carry the blueprint.
|
|
247
|
+
--bc-canvas-bg: #000000;
|
|
248
|
+
--bc-canvas-grid-color: rgba(255, 255, 255, 0.05);
|
|
249
|
+
--bc-canvas-grid-color-major: rgba(255, 255, 255, 0.12);
|
|
250
|
+
--bc-canvas-dimension-color: rgba(255, 255, 255, 0.45);
|
|
251
|
+
|
|
252
|
+
--bc-chrome-bg: #000000;
|
|
253
|
+
--bc-content-bg: #000000;
|
|
254
|
+
--bc-tile-bg: #0e0e0e;
|
|
255
|
+
--bc-tile-bg-elevated: #161616;
|
|
207
256
|
--bc-canvas-glow: none;
|
|
208
257
|
|
|
209
258
|
--bc-wash-soft: rgba(255, 255, 255, 0.03);
|
|
@@ -211,12 +260,39 @@ $spacer-xs: 0.25rem !default;
|
|
|
211
260
|
--bc-wash-input: rgba(255, 255, 255, 0.03);
|
|
212
261
|
--bc-wash-input-hover: rgba(255, 255, 255, 0.05);
|
|
213
262
|
|
|
214
|
-
--bc-hairline: rgba(255, 255, 255, 0.
|
|
215
|
-
--bc-hairline-strong: rgba(255, 255, 255, 0.
|
|
263
|
+
--bc-hairline: rgba(255, 255, 255, 0.09);
|
|
264
|
+
--bc-hairline-strong: rgba(255, 255, 255, 0.15);
|
|
265
|
+
|
|
266
|
+
--bc-accent: #{$accent}; // same hex; gesture differs, not value
|
|
267
|
+
--bc-accent-ink: #{$prussian-600}; // navy on chartreuse in both themes
|
|
268
|
+
--bc-pool-ink: #{rgba($prussian-100, 0.32)}; // paper-blue grid on true black
|
|
269
|
+
--bc-mark: #{$accent}; // chartreuse is ink on dark
|
|
270
|
+
--bc-mark-quiet: #{rgba($accent, 0.18)};
|
|
271
|
+
|
|
272
|
+
// On dark, chartreuse is ink (text) so the swipe stays a translucent ground
|
|
273
|
+
// behind normal text rather than a bold block. Alpha 0.4 makes the band
|
|
274
|
+
// clearly read on true black while keeping white/near-white text over it
|
|
275
|
+
// above the 4.5:1 floor (~5.9:1 on #EAF2FA, ~5.1:1 on --bs-body-color).
|
|
276
|
+
--bc-swipe: linear-gradient(
|
|
277
|
+
180deg,
|
|
278
|
+
transparent 45%,
|
|
279
|
+
#{rgba($chartreuse-400, 0.4)} 45%,
|
|
280
|
+
#{rgba($chartreuse-400, 0.4)} 92%,
|
|
281
|
+
transparent 92%
|
|
282
|
+
);
|
|
283
|
+
|
|
284
|
+
// Primary button fill/ink pair, flipped: chartreuse fill on the field,
|
|
285
|
+
// navy ink. See the light block above for the pairing rationale.
|
|
286
|
+
--bc-btn-primary-bg: #{$accent};
|
|
287
|
+
--bc-btn-primary-fg: #{$prussian-600};
|
|
288
|
+
|
|
289
|
+
// Brighter Prussian so the focus ring clears the 3:1 floor on the #000 field
|
|
290
|
+
// (mirrors what --bc-focus-ring-marketing already does for primary buttons).
|
|
291
|
+
--bc-focus-ring: 0 0 0 2px #{rgba($prussian-300, 0.6)};
|
|
216
292
|
|
|
217
293
|
--bc-shadow-overlay:
|
|
218
|
-
0 8px 24px rgba(0, 0, 0, 0.
|
|
219
|
-
0 1px 2px rgba(0, 0, 0, 0.
|
|
294
|
+
0 8px 24px rgba(0, 0, 0, 0.6),
|
|
295
|
+
0 1px 2px rgba(0, 0, 0, 0.4);
|
|
220
296
|
}
|
|
221
297
|
|
|
222
298
|
@media (prefers-reduced-motion: reduce) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@blueprint-chart/ui",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.5.0",
|
|
4
4
|
"description": "Vue 3 component library for Blueprint Chart editors and apps.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"vue",
|
|
@@ -33,6 +33,10 @@
|
|
|
33
33
|
},
|
|
34
34
|
"./styles/tokens.css": "./dist/styles/tokens.css",
|
|
35
35
|
"./styles/tokens.scss": "./dist/styles/tokens.scss",
|
|
36
|
+
"./styles/eyebrow.css": "./dist/styles/eyebrow.css",
|
|
37
|
+
"./styles/eyebrow.scss": "./dist/styles/eyebrow.scss",
|
|
38
|
+
"./styles/effects.css": "./dist/styles/effects.css",
|
|
39
|
+
"./styles/effects.scss": "./dist/styles/effects.scss",
|
|
36
40
|
"./style.css": "./dist/style.css"
|
|
37
41
|
},
|
|
38
42
|
"files": [
|
|
@@ -78,7 +82,7 @@
|
|
|
78
82
|
"vitest": "^3",
|
|
79
83
|
"vue": "^3.5",
|
|
80
84
|
"vue-router": "^4.6.4",
|
|
81
|
-
"@blueprint-chart/lib": "1.
|
|
85
|
+
"@blueprint-chart/lib": "1.5.0"
|
|
82
86
|
},
|
|
83
87
|
"scripts": {
|
|
84
88
|
"build": "vite build",
|