@blueprint-chart/ui 1.4.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/index.d.ts +2 -0
- package/dist/index.js +1686 -1557
- 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 -1
- package/dist/styles/eyebrow.scss +5 -3
- package/dist/styles/tokens.css +1 -1
- package/dist/styles/tokens.scss +90 -29
- package/package.json +4 -2
package/dist/styles/tokens.scss
CHANGED
|
@@ -43,8 +43,11 @@ $success: #2D8659 !default;
|
|
|
43
43
|
$info: $prussian-300 !default;
|
|
44
44
|
$warning: #D4A63A !default;
|
|
45
45
|
$danger: #C94044 !default;
|
|
46
|
-
|
|
47
|
-
|
|
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;
|
|
48
51
|
|
|
49
52
|
// Borders
|
|
50
53
|
$border-color: #dcdce0 !default;
|
|
@@ -52,11 +55,11 @@ $border-color-dark: #2e2e2e !default;
|
|
|
52
55
|
|
|
53
56
|
// Surface hierarchy (void > tile > elevated)
|
|
54
57
|
$body-bg: #f3f3f4 !default;
|
|
55
|
-
$body-bg-dark: #
|
|
58
|
+
$body-bg-dark: #000000 !default;
|
|
56
59
|
$body-secondary-bg: #ffffff !default;
|
|
57
|
-
$body-secondary-bg-dark: #
|
|
60
|
+
$body-secondary-bg-dark: #0e0e0e !default;
|
|
58
61
|
$body-tertiary-bg: #f8f8fa !default;
|
|
59
|
-
$body-tertiary-bg-dark: #
|
|
62
|
+
$body-tertiary-bg-dark: #161616 !default;
|
|
60
63
|
|
|
61
64
|
// Links
|
|
62
65
|
$link-color: $primary !default;
|
|
@@ -142,11 +145,48 @@ $spacer-xs: 0.25rem !default;
|
|
|
142
145
|
--bc-hairline: rgba(0, 0, 0, 0.08);
|
|
143
146
|
--bc-hairline-strong: rgba(0, 0, 0, 0.14);
|
|
144
147
|
|
|
145
|
-
//
|
|
146
|
-
//
|
|
147
|
-
// on buttons, links, focus, or selection (those stay Prussian). See DESIGN.md.
|
|
148
|
+
// The marker. Interactive emphasis (CTA/hover/selection/focus expression) and
|
|
149
|
+
// editorial emphasis. Always rides a non-color signal (fill/shape/pool). ~4%.
|
|
148
150
|
--bc-accent: #{$accent};
|
|
149
|
-
--bc-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
|
+
);
|
|
150
190
|
|
|
151
191
|
// Framed-canvas system (flat: hairline border, no shadow).
|
|
152
192
|
--bc-frame-border: var(--bc-hairline);
|
|
@@ -203,19 +243,16 @@ $spacer-xs: 0.25rem !default;
|
|
|
203
243
|
--bc-grid-color: #444;
|
|
204
244
|
--bc-text-color: #aaa;
|
|
205
245
|
|
|
206
|
-
//
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
--bc-canvas-
|
|
211
|
-
|
|
212
|
-
--bc-
|
|
213
|
-
--bc-
|
|
214
|
-
|
|
215
|
-
--bc-
|
|
216
|
-
--bc-content-bg: #0f0f0f;
|
|
217
|
-
--bc-tile-bg: #1a1a1a;
|
|
218
|
-
--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;
|
|
219
256
|
--bc-canvas-glow: none;
|
|
220
257
|
|
|
221
258
|
--bc-wash-soft: rgba(255, 255, 255, 0.03);
|
|
@@ -223,15 +260,39 @@ $spacer-xs: 0.25rem !default;
|
|
|
223
260
|
--bc-wash-input: rgba(255, 255, 255, 0.03);
|
|
224
261
|
--bc-wash-input-hover: rgba(255, 255, 255, 0.05);
|
|
225
262
|
|
|
226
|
-
--bc-hairline: rgba(255, 255, 255, 0.
|
|
227
|
-
--bc-hairline-strong: rgba(255, 255, 255, 0.
|
|
228
|
-
|
|
229
|
-
--bc-accent: #{$accent
|
|
230
|
-
--bc-accent-
|
|
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)};
|
|
231
292
|
|
|
232
293
|
--bc-shadow-overlay:
|
|
233
|
-
0 8px 24px rgba(0, 0, 0, 0.
|
|
234
|
-
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);
|
|
235
296
|
}
|
|
236
297
|
|
|
237
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",
|
|
@@ -35,6 +35,8 @@
|
|
|
35
35
|
"./styles/tokens.scss": "./dist/styles/tokens.scss",
|
|
36
36
|
"./styles/eyebrow.css": "./dist/styles/eyebrow.css",
|
|
37
37
|
"./styles/eyebrow.scss": "./dist/styles/eyebrow.scss",
|
|
38
|
+
"./styles/effects.css": "./dist/styles/effects.css",
|
|
39
|
+
"./styles/effects.scss": "./dist/styles/effects.scss",
|
|
38
40
|
"./style.css": "./dist/style.css"
|
|
39
41
|
},
|
|
40
42
|
"files": [
|
|
@@ -80,7 +82,7 @@
|
|
|
80
82
|
"vitest": "^3",
|
|
81
83
|
"vue": "^3.5",
|
|
82
84
|
"vue-router": "^4.6.4",
|
|
83
|
-
"@blueprint-chart/lib": "1.
|
|
85
|
+
"@blueprint-chart/lib": "1.5.0"
|
|
84
86
|
},
|
|
85
87
|
"scripts": {
|
|
86
88
|
"build": "vite build",
|