system-canvas 0.1.0 → 0.1.1
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/actions.d.ts +50 -0
- package/dist/actions.d.ts.map +1 -0
- package/dist/actions.js +85 -0
- package/dist/actions.js.map +1 -0
- package/dist/canvas.d.ts +40 -1
- package/dist/canvas.d.ts.map +1 -1
- package/dist/canvas.js +180 -0
- package/dist/canvas.js.map +1 -1
- package/dist/index.d.ts +12 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +15 -3
- package/dist/index.js.map +1 -1
- package/dist/lanes.d.ts +50 -0
- package/dist/lanes.d.ts.map +1 -0
- package/dist/lanes.js +129 -0
- package/dist/lanes.js.map +1 -0
- package/dist/paths.d.ts +15 -0
- package/dist/paths.d.ts.map +1 -0
- package/dist/paths.js +41 -0
- package/dist/paths.js.map +1 -0
- package/dist/rendering/index.d.ts +2 -1
- package/dist/rendering/index.d.ts.map +1 -1
- package/dist/rendering/index.js +1 -1
- package/dist/rendering/index.js.map +1 -1
- package/dist/rendering/viewport-math.d.ts +28 -0
- package/dist/rendering/viewport-math.d.ts.map +1 -1
- package/dist/rendering/viewport-math.js +49 -0
- package/dist/rendering/viewport-math.js.map +1 -1
- package/dist/rollup.d.ts +23 -0
- package/dist/rollup.d.ts.map +1 -0
- package/dist/rollup.js +56 -0
- package/dist/rollup.js.map +1 -0
- package/dist/slots.d.ts +65 -0
- package/dist/slots.d.ts.map +1 -0
- package/dist/slots.js +367 -0
- package/dist/slots.js.map +1 -0
- package/dist/themes/blueprint.d.ts.map +1 -1
- package/dist/themes/blueprint.js +13 -1
- package/dist/themes/blueprint.js.map +1 -1
- package/dist/themes/dark.d.ts.map +1 -1
- package/dist/themes/dark.js +13 -1
- package/dist/themes/dark.js.map +1 -1
- package/dist/themes/index.d.ts +1 -0
- package/dist/themes/index.d.ts.map +1 -1
- package/dist/themes/index.js +1 -0
- package/dist/themes/index.js.map +1 -1
- package/dist/themes/light.d.ts.map +1 -1
- package/dist/themes/light.js +13 -1
- package/dist/themes/light.js.map +1 -1
- package/dist/themes/midnight.d.ts.map +1 -1
- package/dist/themes/midnight.js +13 -1
- package/dist/themes/midnight.js.map +1 -1
- package/dist/themes/resolve.d.ts.map +1 -1
- package/dist/themes/resolve.js +5 -0
- package/dist/themes/resolve.js.map +1 -1
- package/dist/themes/roadmap.d.ts +13 -0
- package/dist/themes/roadmap.d.ts.map +1 -0
- package/dist/themes/roadmap.js +264 -0
- package/dist/themes/roadmap.js.map +1 -0
- package/dist/themes/warm.d.ts.map +1 -1
- package/dist/themes/warm.js +13 -1
- package/dist/themes/warm.js.map +1 -1
- package/dist/types.d.ts +419 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +13 -3
package/dist/slots.js
ADDED
|
@@ -0,0 +1,367 @@
|
|
|
1
|
+
// ---------------------------------------------------------------------------
|
|
2
|
+
// Region geometry
|
|
3
|
+
//
|
|
4
|
+
// Regions are library-owned rectangles on a node, in canvas-space. Sizes
|
|
5
|
+
// that scale with text use `em` units relative to `theme.node.fontSize`;
|
|
6
|
+
// edge thicknesses and insets are in px because they're visual details.
|
|
7
|
+
// ---------------------------------------------------------------------------
|
|
8
|
+
const CORNER_INSET = 8;
|
|
9
|
+
const CORNER_EM = 1.25;
|
|
10
|
+
const HEADER_EM = 1.0;
|
|
11
|
+
const FOOTER_EM = 1.0;
|
|
12
|
+
const HEADER_INSET_X = 14;
|
|
13
|
+
const HEADER_INSET_Y = 10;
|
|
14
|
+
const FOOTER_INSET_Y = 10;
|
|
15
|
+
/**
|
|
16
|
+
* Edge-strip thicknesses. Sized so a `progress` slot reads as a
|
|
17
|
+
* real progress bar (not a 2px hairline) while still feeling like a
|
|
18
|
+
* strip, not a bar chart.
|
|
19
|
+
*/
|
|
20
|
+
const TOP_EDGE_PX = 5;
|
|
21
|
+
const RIGHT_EDGE_PX = 4;
|
|
22
|
+
const LEFT_EDGE_PX = 4;
|
|
23
|
+
/** Bottom-edge strip gets a bit more weight so progress bars read. */
|
|
24
|
+
const BOTTOM_EDGE_MIN_PX = 6;
|
|
25
|
+
const BOTTOM_EDGE_HEIGHT_RATIO = 0.08;
|
|
26
|
+
/** Corner-tab badge — hangs off the top-right corner. */
|
|
27
|
+
const TAB_BADGE_EM = 1.4;
|
|
28
|
+
/** How far the tab badge floats above the node's top edge (in px). */
|
|
29
|
+
const TAB_BADGE_LIFT = 10;
|
|
30
|
+
/** How far the tab badge extends past the node's right edge (in px). */
|
|
31
|
+
const TAB_BADGE_OVERHANG = 8;
|
|
32
|
+
/**
|
|
33
|
+
* Compute the region rect (in canvas-space) for every slot position on a
|
|
34
|
+
* resolved node. Pure geometry — no knowledge of which slots are actually
|
|
35
|
+
* in use. Callers index by `SlotPosition`.
|
|
36
|
+
*/
|
|
37
|
+
export function computeCategorySlotRegions(node, theme, slots) {
|
|
38
|
+
const { x, y, width, height } = node;
|
|
39
|
+
const fs = theme.node.fontSize;
|
|
40
|
+
const corner = CORNER_EM * fs;
|
|
41
|
+
const header = HEADER_EM * fs;
|
|
42
|
+
const footer = FOOTER_EM * fs;
|
|
43
|
+
const tab = TAB_BADGE_EM * fs;
|
|
44
|
+
const bottomEdge = Math.max(BOTTOM_EDGE_MIN_PX, Math.round(height * BOTTOM_EDGE_HEIGHT_RATIO));
|
|
45
|
+
// Body region is the reflow-aware content rect: the full node box minus
|
|
46
|
+
// any header/footer/edge reservations contributed by other slots. We
|
|
47
|
+
// compute this from `slots` if provided, otherwise default to the full
|
|
48
|
+
// content area minus standard padding. The body region never shrinks to
|
|
49
|
+
// accommodate itself — only sibling slots influence it.
|
|
50
|
+
const bodyReservations = computeBodyReservations(node, theme, slots);
|
|
51
|
+
const bodyX = x + bodyReservations.left;
|
|
52
|
+
const bodyY = y + bodyReservations.top;
|
|
53
|
+
const bodyWidth = Math.max(0, width - bodyReservations.left - bodyReservations.right);
|
|
54
|
+
const bodyHeight = Math.max(0, height - bodyReservations.top - bodyReservations.bottom);
|
|
55
|
+
// Edge regions span the full edge of the node. The `CategorySlotsLayer`
|
|
56
|
+
// wraps edge-slot output in a clipPath that matches the node's rounded
|
|
57
|
+
// rect, so solid fills and progress bars bleed naturally under the
|
|
58
|
+
// corners instead of leaving a visible gap.
|
|
59
|
+
return {
|
|
60
|
+
topEdge: {
|
|
61
|
+
x,
|
|
62
|
+
y,
|
|
63
|
+
width,
|
|
64
|
+
height: TOP_EDGE_PX,
|
|
65
|
+
},
|
|
66
|
+
bottomEdge: {
|
|
67
|
+
x,
|
|
68
|
+
y: y + height - bottomEdge,
|
|
69
|
+
width,
|
|
70
|
+
height: bottomEdge,
|
|
71
|
+
},
|
|
72
|
+
leftEdge: {
|
|
73
|
+
x,
|
|
74
|
+
y,
|
|
75
|
+
width: LEFT_EDGE_PX,
|
|
76
|
+
height,
|
|
77
|
+
},
|
|
78
|
+
rightEdge: {
|
|
79
|
+
x: x + width - RIGHT_EDGE_PX,
|
|
80
|
+
y,
|
|
81
|
+
width: RIGHT_EDGE_PX,
|
|
82
|
+
height,
|
|
83
|
+
},
|
|
84
|
+
bodyTop: {
|
|
85
|
+
// Horizontal band sitting below the title row. When a footer slot
|
|
86
|
+
// is present it floats ~halfway between the title and the footer;
|
|
87
|
+
// otherwise it sits below the title with similar breathing room.
|
|
88
|
+
// Used for inline progress bars, divider strips, sparklines, etc.
|
|
89
|
+
x: x + HEADER_INSET_X,
|
|
90
|
+
// title baseline sits at roughly `HEADER_INSET_Y + fs + 4`, so pad
|
|
91
|
+
// another ~fs to clear the descender before the bar.
|
|
92
|
+
y: y + HEADER_INSET_Y + fs + Math.round(fs * 0.9),
|
|
93
|
+
width: Math.max(0, width - HEADER_INSET_X * 2),
|
|
94
|
+
height: Math.max(4, Math.round(fs * 0.35)),
|
|
95
|
+
},
|
|
96
|
+
topRightOuter: {
|
|
97
|
+
// Hangs off the top-right corner. The region extends past the
|
|
98
|
+
// node's right edge so the badge reads as a notification tab
|
|
99
|
+
// clinging to the outside of the corner rather than sitting on
|
|
100
|
+
// top of the node.
|
|
101
|
+
x: x + width - tab + TAB_BADGE_OVERHANG,
|
|
102
|
+
y: y - TAB_BADGE_LIFT,
|
|
103
|
+
width: tab,
|
|
104
|
+
height: tab,
|
|
105
|
+
},
|
|
106
|
+
topLeft: {
|
|
107
|
+
x: x + CORNER_INSET,
|
|
108
|
+
y: y + CORNER_INSET,
|
|
109
|
+
width: corner,
|
|
110
|
+
height: corner,
|
|
111
|
+
},
|
|
112
|
+
topRight: {
|
|
113
|
+
x: x + width - CORNER_INSET - corner,
|
|
114
|
+
y: y + CORNER_INSET,
|
|
115
|
+
width: corner,
|
|
116
|
+
height: corner,
|
|
117
|
+
},
|
|
118
|
+
bottomLeft: {
|
|
119
|
+
x: x + CORNER_INSET,
|
|
120
|
+
y: y + height - CORNER_INSET - corner,
|
|
121
|
+
width: corner,
|
|
122
|
+
height: corner,
|
|
123
|
+
},
|
|
124
|
+
bottomRight: {
|
|
125
|
+
x: x + width - CORNER_INSET - corner,
|
|
126
|
+
y: y + height - CORNER_INSET - corner,
|
|
127
|
+
width: corner,
|
|
128
|
+
height: corner,
|
|
129
|
+
},
|
|
130
|
+
header: {
|
|
131
|
+
x: x + HEADER_INSET_X,
|
|
132
|
+
y: y + HEADER_INSET_Y,
|
|
133
|
+
width: Math.max(0, width - HEADER_INSET_X * 2),
|
|
134
|
+
height: header,
|
|
135
|
+
},
|
|
136
|
+
footer: {
|
|
137
|
+
x: x + HEADER_INSET_X,
|
|
138
|
+
y: y + height - FOOTER_INSET_Y - footer,
|
|
139
|
+
width: Math.max(0, width - HEADER_INSET_X * 2),
|
|
140
|
+
height: footer,
|
|
141
|
+
},
|
|
142
|
+
body: {
|
|
143
|
+
x: bodyX,
|
|
144
|
+
y: bodyY,
|
|
145
|
+
width: bodyWidth,
|
|
146
|
+
height: bodyHeight,
|
|
147
|
+
},
|
|
148
|
+
};
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Reservations used to compute the `body` region. Mirrors
|
|
152
|
+
* `computeReflowReservations` but excludes the body slot itself from
|
|
153
|
+
* triggering the dashboard padding — the body owns the reflowed area
|
|
154
|
+
* regardless of whether decorative slots are present.
|
|
155
|
+
*/
|
|
156
|
+
function computeBodyReservations(node, theme, slots) {
|
|
157
|
+
// Fall back to standard content padding when there are no slots.
|
|
158
|
+
if (!slots) {
|
|
159
|
+
return {
|
|
160
|
+
top: HEADER_INSET_Y,
|
|
161
|
+
bottom: FOOTER_INSET_Y,
|
|
162
|
+
left: HEADER_INSET_X,
|
|
163
|
+
right: HEADER_INSET_X,
|
|
164
|
+
};
|
|
165
|
+
}
|
|
166
|
+
const r = computeReflowReservationsInternal(node, theme, slots);
|
|
167
|
+
// Always apply standard body padding so the body slot aligns with
|
|
168
|
+
// header/footer insets even when no other slots are present.
|
|
169
|
+
return {
|
|
170
|
+
top: Math.max(r.top, HEADER_INSET_Y),
|
|
171
|
+
bottom: Math.max(r.bottom, FOOTER_INSET_Y),
|
|
172
|
+
left: Math.max(r.left, HEADER_INSET_X),
|
|
173
|
+
right: Math.max(r.right, HEADER_INSET_X),
|
|
174
|
+
};
|
|
175
|
+
}
|
|
176
|
+
/** Return true for `NodeAccessor` values that are functions. */
|
|
177
|
+
function isFn(v) {
|
|
178
|
+
return typeof v === 'function';
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* Resolve an accessor against a `SlotContext`. Function accessors are
|
|
182
|
+
* called; static values are returned as-is.
|
|
183
|
+
*/
|
|
184
|
+
export function resolveAccessor(accessor, ctx) {
|
|
185
|
+
return isFn(accessor) ? accessor(ctx) : accessor;
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* Resolve an accessor with a fallback for the function case. Useful when
|
|
189
|
+
* a slot renders a default from the theme but allows per-call overrides.
|
|
190
|
+
*/
|
|
191
|
+
export function resolveAccessorOr(accessor, fallback, ctx) {
|
|
192
|
+
if (accessor === undefined)
|
|
193
|
+
return fallback;
|
|
194
|
+
return resolveAccessor(accessor, ctx);
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* Look up the slots map for a node's category. Returns undefined when the
|
|
198
|
+
* node has no category, or the category has no slots declared.
|
|
199
|
+
*/
|
|
200
|
+
export function getCategorySlots(node, theme) {
|
|
201
|
+
if (!node.category)
|
|
202
|
+
return undefined;
|
|
203
|
+
const def = theme.categories[node.category];
|
|
204
|
+
return def?.slots;
|
|
205
|
+
}
|
|
206
|
+
/**
|
|
207
|
+
* Pick a corner for the ref indicator given which slots are occupied.
|
|
208
|
+
*
|
|
209
|
+
* If the default corner is free, it wins. Otherwise we try the diagonally
|
|
210
|
+
* opposite corner, then the remaining two corners in clockwise order from
|
|
211
|
+
* the default. If all four corners are occupied we keep the default
|
|
212
|
+
* position — the caller can decide whether to log a dev warning.
|
|
213
|
+
*
|
|
214
|
+
* Corners occupied by `header` or `footer` count as occupied on *both*
|
|
215
|
+
* corners of that row: a header in the top strip blocks both `topLeft` and
|
|
216
|
+
* `topRight` (the indicator would overlap the header text strip anyway).
|
|
217
|
+
*/
|
|
218
|
+
export function pickRefIndicatorCorner(defaultCorner, slots) {
|
|
219
|
+
if (!slots)
|
|
220
|
+
return defaultCorner;
|
|
221
|
+
const occupied = (c) => {
|
|
222
|
+
if (slots[c])
|
|
223
|
+
return true;
|
|
224
|
+
if ((c === 'topLeft' || c === 'topRight') && slots.header)
|
|
225
|
+
return true;
|
|
226
|
+
if ((c === 'bottomLeft' || c === 'bottomRight') && slots.footer)
|
|
227
|
+
return true;
|
|
228
|
+
// A tab badge hanging off the top-right blocks the topRight corner.
|
|
229
|
+
if (c === 'topRight' && slots.topRightOuter)
|
|
230
|
+
return true;
|
|
231
|
+
return false;
|
|
232
|
+
};
|
|
233
|
+
if (!occupied(defaultCorner))
|
|
234
|
+
return defaultCorner;
|
|
235
|
+
// Search order: diagonal, then the remaining two in clockwise order.
|
|
236
|
+
const order = {
|
|
237
|
+
topLeft: ['bottomRight', 'topRight', 'bottomLeft'],
|
|
238
|
+
topRight: ['bottomLeft', 'bottomRight', 'topLeft'],
|
|
239
|
+
bottomLeft: ['topRight', 'topLeft', 'bottomRight'],
|
|
240
|
+
bottomRight: ['topLeft', 'bottomLeft', 'topRight'],
|
|
241
|
+
};
|
|
242
|
+
for (const c of order[defaultCorner]) {
|
|
243
|
+
if (!occupied(c))
|
|
244
|
+
return c;
|
|
245
|
+
}
|
|
246
|
+
return defaultCorner;
|
|
247
|
+
}
|
|
248
|
+
// ---------------------------------------------------------------------------
|
|
249
|
+
// Iteration helper
|
|
250
|
+
// ---------------------------------------------------------------------------
|
|
251
|
+
/**
|
|
252
|
+
* Iterate over a slots map in a deterministic order. Returns entries as
|
|
253
|
+
* `[position, spec]` pairs. Order matches the `SlotPosition` definition —
|
|
254
|
+
* stable across runs so SVG paint order is stable.
|
|
255
|
+
*/
|
|
256
|
+
export function slotEntries(slots) {
|
|
257
|
+
const positions = [
|
|
258
|
+
'topEdge',
|
|
259
|
+
'bottomEdge',
|
|
260
|
+
'leftEdge',
|
|
261
|
+
'rightEdge',
|
|
262
|
+
'header',
|
|
263
|
+
'footer',
|
|
264
|
+
'body',
|
|
265
|
+
'bodyTop',
|
|
266
|
+
'topLeft',
|
|
267
|
+
'topRight',
|
|
268
|
+
'bottomLeft',
|
|
269
|
+
'bottomRight',
|
|
270
|
+
// Outer positions paint last so they visually sit above the node's
|
|
271
|
+
// own stroke — a tab badge needs to clip into the node's corner.
|
|
272
|
+
'topRightOuter',
|
|
273
|
+
];
|
|
274
|
+
const out = [];
|
|
275
|
+
for (const p of positions) {
|
|
276
|
+
const s = slots[p];
|
|
277
|
+
if (s)
|
|
278
|
+
out.push([p, s]);
|
|
279
|
+
}
|
|
280
|
+
return out;
|
|
281
|
+
}
|
|
282
|
+
/**
|
|
283
|
+
* Compute how many pixels of the node's content box must be reserved on
|
|
284
|
+
* each side for library-owned slots so node text/icons can be reflowed
|
|
285
|
+
* without colliding with slots.
|
|
286
|
+
*
|
|
287
|
+
* - `header` → shift text down by header region height + inset
|
|
288
|
+
* - `footer` → shrink text vertical extent by footer region height + inset
|
|
289
|
+
* - `leftEdge` / `rightEdge` → inset text by the edge strip width
|
|
290
|
+
*
|
|
291
|
+
* Top/bottom edges and corner slots don't reflow text (they're thin strips
|
|
292
|
+
* or small badges that sit over the existing layout). If the node is so
|
|
293
|
+
* short that reservations would leave less than `fontSize` vertical space
|
|
294
|
+
* for text, the reflow is skipped (text stays centered).
|
|
295
|
+
*/
|
|
296
|
+
export function computeReflowReservations(node, theme, slots) {
|
|
297
|
+
return computeReflowReservationsInternal(node, theme, slots);
|
|
298
|
+
}
|
|
299
|
+
/**
|
|
300
|
+
* Shared reservation computation used by `computeReflowReservations` (for
|
|
301
|
+
* text/icon reflow) and by body-region geometry. Kept private so the
|
|
302
|
+
* public API surface stays small.
|
|
303
|
+
*/
|
|
304
|
+
function computeReflowReservationsInternal(node, theme, slots) {
|
|
305
|
+
if (!slots)
|
|
306
|
+
return { top: 0, bottom: 0, left: 0, right: 0 };
|
|
307
|
+
// Compute header/footer/edge base regions without the body inset. We
|
|
308
|
+
// deliberately pass `undefined` so this recursive call doesn't re-enter
|
|
309
|
+
// the body-region logic (which itself calls this function).
|
|
310
|
+
const regions = computeCategorySlotRegions(node, theme);
|
|
311
|
+
let top = 0;
|
|
312
|
+
let bottom = 0;
|
|
313
|
+
let left = 0;
|
|
314
|
+
let right = 0;
|
|
315
|
+
if (slots.header)
|
|
316
|
+
top = regions.header.height + HEADER_INSET_Y + 6;
|
|
317
|
+
if (slots.footer)
|
|
318
|
+
bottom = regions.footer.height + FOOTER_INSET_Y + 4;
|
|
319
|
+
if (slots.leftEdge)
|
|
320
|
+
left = regions.leftEdge.width + 4;
|
|
321
|
+
if (slots.rightEdge)
|
|
322
|
+
right = regions.rightEdge.width + 4;
|
|
323
|
+
// A `topLeft` dot reads as an inline status marker next to the title,
|
|
324
|
+
// not a corner badge — reserve enough left padding that the title
|
|
325
|
+
// clears the dot region.
|
|
326
|
+
if (slots.topLeft && slots.topLeft.kind === 'dot') {
|
|
327
|
+
left = Math.max(left, regions.topLeft.x + regions.topLeft.width - node.x + 6);
|
|
328
|
+
}
|
|
329
|
+
// Dashboard-card pattern: whenever the node has "dashboard" signals
|
|
330
|
+
// (an explicit header, a top-right pill, an inline bodyTop strip, an
|
|
331
|
+
// inline topLeft dot, or a footer row), pin the title to the top,
|
|
332
|
+
// left-align it, and apply standard body padding so the body text
|
|
333
|
+
// aligns with the header's inset.
|
|
334
|
+
const isDashboard = slots.header !== undefined ||
|
|
335
|
+
slots.topRight !== undefined ||
|
|
336
|
+
slots.bodyTop !== undefined ||
|
|
337
|
+
slots.footer !== undefined ||
|
|
338
|
+
(slots.topLeft !== undefined && slots.topLeft.kind === 'dot');
|
|
339
|
+
if (isDashboard) {
|
|
340
|
+
if (!slots.header)
|
|
341
|
+
top = Math.max(top, HEADER_INSET_Y);
|
|
342
|
+
// Baseline body padding — matches `HEADER_INSET_X` so the title,
|
|
343
|
+
// sublabel, and header text all share the same left edge. Without
|
|
344
|
+
// this, text renders flush against the node's rounded stroke.
|
|
345
|
+
left = Math.max(left, HEADER_INSET_X);
|
|
346
|
+
right = Math.max(right, HEADER_INSET_X);
|
|
347
|
+
}
|
|
348
|
+
// A topRight pill steals additional real estate from the title — on
|
|
349
|
+
// top of the baseline padding, reserve a band wide enough for a short
|
|
350
|
+
// 4-char tag ("RISK" / "ATTN" / "OK").
|
|
351
|
+
if (slots.topRight && slots.topRight.kind === 'pill') {
|
|
352
|
+
right = Math.max(right, Math.round(theme.node.fontSize * 3.6));
|
|
353
|
+
}
|
|
354
|
+
// Bail if reservations would eat all the text space.
|
|
355
|
+
const vertSpace = node.height - top - bottom;
|
|
356
|
+
if (vertSpace < theme.node.fontSize) {
|
|
357
|
+
top = 0;
|
|
358
|
+
bottom = 0;
|
|
359
|
+
}
|
|
360
|
+
const horSpace = node.width - left - right;
|
|
361
|
+
if (horSpace < theme.node.fontSize) {
|
|
362
|
+
left = 0;
|
|
363
|
+
right = 0;
|
|
364
|
+
}
|
|
365
|
+
return { top, bottom, left, right };
|
|
366
|
+
}
|
|
367
|
+
//# sourceMappingURL=slots.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slots.js","sourceRoot":"","sources":["../src/slots.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blueprint.d.ts","sourceRoot":"","sources":["../../src/themes/blueprint.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAE9C;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"blueprint.d.ts","sourceRoot":"","sources":["../../src/themes/blueprint.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAE9C;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,WA6E5B,CAAA"}
|
package/dist/themes/blueprint.js
CHANGED
|
@@ -22,7 +22,7 @@ export const blueprintTheme = {
|
|
|
22
22
|
sublabelFontSize: 8,
|
|
23
23
|
refIndicator: {
|
|
24
24
|
icon: 'expand',
|
|
25
|
-
color: 'rgba(
|
|
25
|
+
color: 'rgba(191, 219, 254, 0.95)',
|
|
26
26
|
},
|
|
27
27
|
},
|
|
28
28
|
edge: {
|
|
@@ -49,6 +49,18 @@ export const blueprintTheme = {
|
|
|
49
49
|
fontFamily: "'JetBrains Mono', monospace",
|
|
50
50
|
fontSize: 11,
|
|
51
51
|
},
|
|
52
|
+
lanes: {
|
|
53
|
+
bandFillEven: 'rgba(19, 34, 68, 0.45)',
|
|
54
|
+
bandFillOdd: 'rgba(19, 34, 68, 0.15)',
|
|
55
|
+
dividerColor: 'rgba(74, 144, 217, 0.35)',
|
|
56
|
+
dividerWidth: 1,
|
|
57
|
+
headerBackground: 'rgba(10, 22, 40, 0.92)',
|
|
58
|
+
headerTextColor: '#d4e5f7',
|
|
59
|
+
headerFontFamily: "'JetBrains Mono', monospace",
|
|
60
|
+
headerFontSize: 11,
|
|
61
|
+
headerSize: 28,
|
|
62
|
+
headerPadding: 10,
|
|
63
|
+
},
|
|
52
64
|
presetColors: {
|
|
53
65
|
'1': { fill: 'rgba(180, 60, 60, 0.25)', stroke: '#e07070' }, // blueprint red
|
|
54
66
|
'2': { fill: 'rgba(200, 130, 50, 0.25)', stroke: '#d4a050' }, // blueprint orange
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blueprint.js","sourceRoot":"","sources":["../../src/themes/blueprint.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAgB;IACzC,IAAI,EAAE,WAAW;IAEjB,UAAU,EAAE,SAAS;IAErB,IAAI,EAAE;QACJ,IAAI,EAAE,EAAE;QACR,KAAK,EAAE,SAAS;QAChB,WAAW,EAAE,GAAG;KACjB;IAED,IAAI,EAAE;QACJ,IAAI,EAAE,uBAAuB;QAC7B,MAAM,EAAE,SAAS;QACjB,WAAW,EAAE,CAAC;QACd,YAAY,EAAE,CAAC;QACf,UAAU,EAAE,SAAS;QACrB,aAAa,EAAE,SAAS;QACxB,UAAU,EAAE,4CAA4C;QACxD,QAAQ,EAAE,EAAE;QACZ,gBAAgB,EAAE,CAAC;QACnB,YAAY,EAAE;YACZ,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"blueprint.js","sourceRoot":"","sources":["../../src/themes/blueprint.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAgB;IACzC,IAAI,EAAE,WAAW;IAEjB,UAAU,EAAE,SAAS;IAErB,IAAI,EAAE;QACJ,IAAI,EAAE,EAAE;QACR,KAAK,EAAE,SAAS;QAChB,WAAW,EAAE,GAAG;KACjB;IAED,IAAI,EAAE;QACJ,IAAI,EAAE,uBAAuB;QAC7B,MAAM,EAAE,SAAS;QACjB,WAAW,EAAE,CAAC;QACd,YAAY,EAAE,CAAC;QACf,UAAU,EAAE,SAAS;QACrB,aAAa,EAAE,SAAS;QACxB,UAAU,EAAE,4CAA4C;QACxD,QAAQ,EAAE,EAAE;QACZ,gBAAgB,EAAE,CAAC;QACnB,YAAY,EAAE;YACZ,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,2BAA2B;SACnC;KACF;IAED,IAAI,EAAE;QACJ,MAAM,EAAE,SAAS;QACjB,WAAW,EAAE,CAAC;QACd,SAAS,EAAE,CAAC;QACZ,UAAU,EAAE,SAAS;QACrB,aAAa,EAAE,CAAC;KACjB;IAED,KAAK,EAAE;QACL,IAAI,EAAE,uBAAuB;QAC7B,MAAM,EAAE,SAAS;QACjB,WAAW,EAAE,GAAG;QAChB,eAAe,EAAE,MAAM;QACvB,UAAU,EAAE,SAAS;QACrB,aAAa,EAAE,EAAE;QACjB,YAAY,EAAE,CAAC;KAChB;IAED,WAAW,EAAE;QACX,UAAU,EAAE,wBAAwB;QACpC,SAAS,EAAE,SAAS;QACpB,WAAW,EAAE,SAAS;QACtB,cAAc,EAAE,SAAS;QACzB,UAAU,EAAE,6BAA6B;QACzC,QAAQ,EAAE,EAAE;KACb;IAED,KAAK,EAAE;QACL,YAAY,EAAE,wBAAwB;QACtC,WAAW,EAAE,wBAAwB;QACrC,YAAY,EAAE,0BAA0B;QACxC,YAAY,EAAE,CAAC;QACf,gBAAgB,EAAE,wBAAwB;QAC1C,eAAe,EAAE,SAAS;QAC1B,gBAAgB,EAAE,6BAA6B;QAC/C,cAAc,EAAE,EAAE;QAClB,UAAU,EAAE,EAAE;QACd,aAAa,EAAE,EAAE;KAClB;IAED,YAAY,EAAE;QACZ,GAAG,EAAE,EAAE,IAAI,EAAE,yBAAyB,EAAI,MAAM,EAAE,SAAS,EAAE,EAAG,gBAAgB;QAChF,GAAG,EAAE,EAAE,IAAI,EAAE,0BAA0B,EAAG,MAAM,EAAE,SAAS,EAAE,EAAG,mBAAmB;QACnF,GAAG,EAAE,EAAE,IAAI,EAAE,0BAA0B,EAAG,MAAM,EAAE,SAAS,EAAE,EAAG,mBAAmB;QACnF,GAAG,EAAE,EAAE,IAAI,EAAE,yBAAyB,EAAI,MAAM,EAAE,SAAS,EAAE,EAAG,kBAAkB;QAClF,GAAG,EAAE,EAAE,IAAI,EAAE,0BAA0B,EAAG,MAAM,EAAE,SAAS,EAAE,EAAG,iBAAiB;QACjF,GAAG,EAAE,EAAE,IAAI,EAAE,0BAA0B,EAAG,MAAM,EAAE,SAAS,EAAE,EAAG,mBAAmB;KACpF;IAED,UAAU,EAAE,EAAE;CACf,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dark.d.ts","sourceRoot":"","sources":["../../src/themes/dark.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAE9C;;;GAGG;AACH,eAAO,MAAM,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"dark.d.ts","sourceRoot":"","sources":["../../src/themes/dark.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAE9C;;;GAGG;AACH,eAAO,MAAM,SAAS,EAAE,WA6EvB,CAAA"}
|
package/dist/themes/dark.js
CHANGED
|
@@ -22,7 +22,7 @@ export const darkTheme = {
|
|
|
22
22
|
sublabelFontSize: 9,
|
|
23
23
|
refIndicator: {
|
|
24
24
|
icon: 'chevron',
|
|
25
|
-
color: 'rgba(
|
|
25
|
+
color: 'rgba(203, 213, 225, 0.95)', // slate-300 at 95%
|
|
26
26
|
},
|
|
27
27
|
},
|
|
28
28
|
edge: {
|
|
@@ -49,6 +49,18 @@ export const darkTheme = {
|
|
|
49
49
|
fontFamily: "'JetBrains Mono', 'Fira Code', 'SF Mono', monospace",
|
|
50
50
|
fontSize: 12,
|
|
51
51
|
},
|
|
52
|
+
lanes: {
|
|
53
|
+
bandFillEven: 'rgba(30, 41, 59, 0.18)', // slate-800 soft
|
|
54
|
+
bandFillOdd: 'rgba(30, 41, 59, 0.06)',
|
|
55
|
+
dividerColor: 'rgba(71, 85, 105, 0.35)', // slate-600 muted
|
|
56
|
+
dividerWidth: 1,
|
|
57
|
+
headerBackground: 'rgba(15, 23, 42, 0.88)',
|
|
58
|
+
headerTextColor: '#cbd5e1', // slate-300
|
|
59
|
+
headerFontFamily: "'JetBrains Mono', 'Fira Code', 'SF Mono', monospace",
|
|
60
|
+
headerFontSize: 11,
|
|
61
|
+
headerSize: 28,
|
|
62
|
+
headerPadding: 10,
|
|
63
|
+
},
|
|
52
64
|
presetColors: {
|
|
53
65
|
'1': { fill: 'rgba(136, 19, 55, 0.4)', stroke: '#fb7185' }, // rose — security/auth
|
|
54
66
|
'2': { fill: 'rgba(120, 53, 15, 0.3)', stroke: '#fb923c' }, // orange — events/messaging
|
package/dist/themes/dark.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dark.js","sourceRoot":"","sources":["../../src/themes/dark.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,CAAC,MAAM,SAAS,GAAgB;IACpC,IAAI,EAAE,MAAM;IAEZ,UAAU,EAAE,SAAS,EAAE,YAAY;IAEnC,IAAI,EAAE;QACJ,IAAI,EAAE,EAAE;QACR,KAAK,EAAE,SAAS,EAAE,YAAY;QAC9B,WAAW,EAAE,GAAG;KACjB;IAED,IAAI,EAAE;QACJ,IAAI,EAAE,uBAAuB,EAAK,gBAAgB;QAClD,MAAM,EAAE,SAAS,EAAmB,YAAY;QAChD,WAAW,EAAE,GAAG;QAChB,YAAY,EAAE,CAAC;QACf,UAAU,EAAE,SAAS;QACrB,aAAa,EAAE,SAAS,EAAY,YAAY;QAChD,UAAU,EAAE,qDAAqD;QACjE,QAAQ,EAAE,EAAE;QACZ,gBAAgB,EAAE,CAAC;QACnB,YAAY,EAAE;YACZ,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"dark.js","sourceRoot":"","sources":["../../src/themes/dark.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,CAAC,MAAM,SAAS,GAAgB;IACpC,IAAI,EAAE,MAAM;IAEZ,UAAU,EAAE,SAAS,EAAE,YAAY;IAEnC,IAAI,EAAE;QACJ,IAAI,EAAE,EAAE;QACR,KAAK,EAAE,SAAS,EAAE,YAAY;QAC9B,WAAW,EAAE,GAAG;KACjB;IAED,IAAI,EAAE;QACJ,IAAI,EAAE,uBAAuB,EAAK,gBAAgB;QAClD,MAAM,EAAE,SAAS,EAAmB,YAAY;QAChD,WAAW,EAAE,GAAG;QAChB,YAAY,EAAE,CAAC;QACf,UAAU,EAAE,SAAS;QACrB,aAAa,EAAE,SAAS,EAAY,YAAY;QAChD,UAAU,EAAE,qDAAqD;QACjE,QAAQ,EAAE,EAAE;QACZ,gBAAgB,EAAE,CAAC;QACnB,YAAY,EAAE;YACZ,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,2BAA2B,EAAE,mBAAmB;SACxD;KACF;IAED,IAAI,EAAE;QACJ,MAAM,EAAE,SAAS,EAAK,YAAY;QAClC,WAAW,EAAE,GAAG;QAChB,SAAS,EAAE,EAAE;QACb,UAAU,EAAE,SAAS,EAAE,YAAY;QACnC,aAAa,EAAE,CAAC;KACjB;IAED,KAAK,EAAE;QACL,IAAI,EAAE,wBAAwB;QAC9B,MAAM,EAAE,SAAS,EAAO,YAAY;QACpC,WAAW,EAAE,CAAC;QACd,eAAe,EAAE,KAAK;QACtB,UAAU,EAAE,SAAS,EAAG,YAAY;QACpC,aAAa,EAAE,EAAE;QACjB,YAAY,EAAE,EAAE;KACjB;IAED,WAAW,EAAE;QACX,UAAU,EAAE,uBAAuB,EAAE,mBAAmB;QACxD,SAAS,EAAE,SAAS;QACpB,WAAW,EAAE,SAAS,EAAgB,YAAY;QAClD,cAAc,EAAE,SAAS,EAAa,YAAY;QAClD,UAAU,EAAE,qDAAqD;QACjE,QAAQ,EAAE,EAAE;KACb;IAED,KAAK,EAAE;QACL,YAAY,EAAE,wBAAwB,EAAG,iBAAiB;QAC1D,WAAW,EAAE,wBAAwB;QACrC,YAAY,EAAE,yBAAyB,EAAE,kBAAkB;QAC3D,YAAY,EAAE,CAAC;QACf,gBAAgB,EAAE,wBAAwB;QAC1C,eAAe,EAAE,SAAS,EAAe,YAAY;QACrD,gBAAgB,EAAE,qDAAqD;QACvE,cAAc,EAAE,EAAE;QAClB,UAAU,EAAE,EAAE;QACd,aAAa,EAAE,EAAE;KAClB;IAED,YAAY,EAAE;QACZ,GAAG,EAAE,EAAE,IAAI,EAAE,wBAAwB,EAAI,MAAM,EAAE,SAAS,EAAE,EAAG,uBAAuB;QACtF,GAAG,EAAE,EAAE,IAAI,EAAE,wBAAwB,EAAI,MAAM,EAAE,SAAS,EAAE,EAAG,4BAA4B;QAC3F,GAAG,EAAE,EAAE,IAAI,EAAE,wBAAwB,EAAI,MAAM,EAAE,SAAS,EAAE,EAAG,sBAAsB;QACrF,GAAG,EAAE,EAAE,IAAI,EAAE,sBAAsB,EAAM,MAAM,EAAE,SAAS,EAAE,EAAG,6BAA6B;QAC5F,GAAG,EAAE,EAAE,IAAI,EAAE,sBAAsB,EAAM,MAAM,EAAE,SAAS,EAAE,EAAG,yBAAyB;QACxF,GAAG,EAAE,EAAE,IAAI,EAAE,wBAAwB,EAAI,MAAM,EAAE,SAAS,EAAE,EAAG,4BAA4B;KAC5F;IAED,UAAU,EAAE,EAAE;CACf,CAAA"}
|
package/dist/themes/index.d.ts
CHANGED
|
@@ -3,5 +3,6 @@ export { midnightTheme } from './midnight.js';
|
|
|
3
3
|
export { lightTheme } from './light.js';
|
|
4
4
|
export { blueprintTheme } from './blueprint.js';
|
|
5
5
|
export { warmTheme } from './warm.js';
|
|
6
|
+
export { roadmapTheme } from './roadmap.js';
|
|
6
7
|
export { resolveTheme, resolveColor, resolveNode } from './resolve.js';
|
|
7
8
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/themes/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AACrC,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/themes/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA"}
|
package/dist/themes/index.js
CHANGED
|
@@ -3,5 +3,6 @@ export { midnightTheme } from './midnight.js';
|
|
|
3
3
|
export { lightTheme } from './light.js';
|
|
4
4
|
export { blueprintTheme } from './blueprint.js';
|
|
5
5
|
export { warmTheme } from './warm.js';
|
|
6
|
+
export { roadmapTheme } from './roadmap.js';
|
|
6
7
|
export { resolveTheme, resolveColor, resolveNode } from './resolve.js';
|
|
7
8
|
//# sourceMappingURL=index.js.map
|
package/dist/themes/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/themes/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AACrC,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/themes/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"light.d.ts","sourceRoot":"","sources":["../../src/themes/light.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAE9C;;;GAGG;AACH,eAAO,MAAM,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"light.d.ts","sourceRoot":"","sources":["../../src/themes/light.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAE9C;;;GAGG;AACH,eAAO,MAAM,UAAU,EAAE,WA6ExB,CAAA"}
|
package/dist/themes/light.js
CHANGED
|
@@ -22,7 +22,7 @@ export const lightTheme = {
|
|
|
22
22
|
sublabelFontSize: 9,
|
|
23
23
|
refIndicator: {
|
|
24
24
|
icon: 'chevron',
|
|
25
|
-
color: 'rgba(
|
|
25
|
+
color: 'rgba(71, 85, 105, 0.9)',
|
|
26
26
|
},
|
|
27
27
|
},
|
|
28
28
|
edge: {
|
|
@@ -49,6 +49,18 @@ export const lightTheme = {
|
|
|
49
49
|
fontFamily: "'Inter', 'Helvetica Neue', sans-serif",
|
|
50
50
|
fontSize: 12,
|
|
51
51
|
},
|
|
52
|
+
lanes: {
|
|
53
|
+
bandFillEven: 'rgba(148, 163, 184, 0.10)', // slate-400 soft
|
|
54
|
+
bandFillOdd: 'rgba(148, 163, 184, 0.03)',
|
|
55
|
+
dividerColor: 'rgba(148, 163, 184, 0.4)',
|
|
56
|
+
dividerWidth: 1,
|
|
57
|
+
headerBackground: 'rgba(255, 255, 255, 0.92)',
|
|
58
|
+
headerTextColor: '#334155', // slate-700
|
|
59
|
+
headerFontFamily: "'Inter', 'Helvetica Neue', sans-serif",
|
|
60
|
+
headerFontSize: 11,
|
|
61
|
+
headerSize: 28,
|
|
62
|
+
headerPadding: 10,
|
|
63
|
+
},
|
|
52
64
|
presetColors: {
|
|
53
65
|
'1': { fill: 'rgba(254, 226, 226, 0.7)', stroke: '#ef4444' }, // red
|
|
54
66
|
'2': { fill: 'rgba(255, 237, 213, 0.7)', stroke: '#f97316' }, // orange
|
package/dist/themes/light.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"light.js","sourceRoot":"","sources":["../../src/themes/light.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,CAAC,MAAM,UAAU,GAAgB;IACrC,IAAI,EAAE,OAAO;IAEb,UAAU,EAAE,SAAS,EAAE,WAAW;IAElC,IAAI,EAAE;QACJ,IAAI,EAAE,EAAE;QACR,KAAK,EAAE,SAAS,EAAE,YAAY;QAC9B,WAAW,EAAE,GAAG;KACjB;IAED,IAAI,EAAE;QACJ,IAAI,EAAE,0BAA0B,EAAG,YAAY;QAC/C,MAAM,EAAE,SAAS,EAAmB,YAAY;QAChD,WAAW,EAAE,CAAC;QACd,YAAY,EAAE,CAAC;QACf,UAAU,EAAE,SAAS,EAAe,YAAY;QAChD,aAAa,EAAE,SAAS,EAAY,YAAY;QAChD,UAAU,EAAE,uCAAuC;QACnD,QAAQ,EAAE,EAAE;QACZ,gBAAgB,EAAE,CAAC;QACnB,YAAY,EAAE;YACZ,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"light.js","sourceRoot":"","sources":["../../src/themes/light.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,CAAC,MAAM,UAAU,GAAgB;IACrC,IAAI,EAAE,OAAO;IAEb,UAAU,EAAE,SAAS,EAAE,WAAW;IAElC,IAAI,EAAE;QACJ,IAAI,EAAE,EAAE;QACR,KAAK,EAAE,SAAS,EAAE,YAAY;QAC9B,WAAW,EAAE,GAAG;KACjB;IAED,IAAI,EAAE;QACJ,IAAI,EAAE,0BAA0B,EAAG,YAAY;QAC/C,MAAM,EAAE,SAAS,EAAmB,YAAY;QAChD,WAAW,EAAE,CAAC;QACd,YAAY,EAAE,CAAC;QACf,UAAU,EAAE,SAAS,EAAe,YAAY;QAChD,aAAa,EAAE,SAAS,EAAY,YAAY;QAChD,UAAU,EAAE,uCAAuC;QACnD,QAAQ,EAAE,EAAE;QACZ,gBAAgB,EAAE,CAAC;QACnB,YAAY,EAAE;YACZ,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,wBAAwB;SAChC;KACF;IAED,IAAI,EAAE;QACJ,MAAM,EAAE,SAAS,EAAM,YAAY;QACnC,WAAW,EAAE,GAAG;QAChB,SAAS,EAAE,EAAE;QACb,UAAU,EAAE,SAAS,EAAE,YAAY;QACnC,aAAa,EAAE,CAAC;KACjB;IAED,KAAK,EAAE;QACL,IAAI,EAAE,0BAA0B;QAChC,MAAM,EAAE,SAAS;QACjB,WAAW,EAAE,CAAC;QACd,eAAe,EAAE,KAAK;QACtB,UAAU,EAAE,SAAS;QACrB,aAAa,EAAE,EAAE;QACjB,YAAY,EAAE,EAAE;KACjB;IAED,WAAW,EAAE;QACX,UAAU,EAAE,2BAA2B;QACvC,SAAS,EAAE,SAAS;QACpB,WAAW,EAAE,SAAS;QACtB,cAAc,EAAE,SAAS;QACzB,UAAU,EAAE,uCAAuC;QACnD,QAAQ,EAAE,EAAE;KACb;IAED,KAAK,EAAE;QACL,YAAY,EAAE,2BAA2B,EAAE,iBAAiB;QAC5D,WAAW,EAAE,2BAA2B;QACxC,YAAY,EAAE,0BAA0B;QACxC,YAAY,EAAE,CAAC;QACf,gBAAgB,EAAE,2BAA2B;QAC7C,eAAe,EAAE,SAAS,EAAkB,YAAY;QACxD,gBAAgB,EAAE,uCAAuC;QACzD,cAAc,EAAE,EAAE;QAClB,UAAU,EAAE,EAAE;QACd,aAAa,EAAE,EAAE;KAClB;IAED,YAAY,EAAE;QACZ,GAAG,EAAE,EAAE,IAAI,EAAE,0BAA0B,EAAE,MAAM,EAAE,SAAS,EAAE,EAAG,MAAM;QACrE,GAAG,EAAE,EAAE,IAAI,EAAE,0BAA0B,EAAE,MAAM,EAAE,SAAS,EAAE,EAAG,SAAS;QACxE,GAAG,EAAE,EAAE,IAAI,EAAE,0BAA0B,EAAE,MAAM,EAAE,SAAS,EAAE,EAAG,SAAS;QACxE,GAAG,EAAE,EAAE,IAAI,EAAE,0BAA0B,EAAE,MAAM,EAAE,SAAS,EAAE,EAAG,QAAQ;QACvE,GAAG,EAAE,EAAE,IAAI,EAAE,0BAA0B,EAAE,MAAM,EAAE,SAAS,EAAE,EAAG,OAAO;QACtE,GAAG,EAAE,EAAE,IAAI,EAAE,0BAA0B,EAAE,MAAM,EAAE,SAAS,EAAE,EAAG,SAAS;KACzE;IAED,UAAU,EAAE,EAAE;CACf,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"midnight.d.ts","sourceRoot":"","sources":["../../src/themes/midnight.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAE9C;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"midnight.d.ts","sourceRoot":"","sources":["../../src/themes/midnight.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAE9C;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,WA6E3B,CAAA"}
|
package/dist/themes/midnight.js
CHANGED
|
@@ -22,7 +22,7 @@ export const midnightTheme = {
|
|
|
22
22
|
sublabelFontSize: 8,
|
|
23
23
|
refIndicator: {
|
|
24
24
|
icon: 'arrow',
|
|
25
|
-
color: 'rgba(
|
|
25
|
+
color: 'rgba(203, 213, 225, 0.95)',
|
|
26
26
|
},
|
|
27
27
|
},
|
|
28
28
|
edge: {
|
|
@@ -49,6 +49,18 @@ export const midnightTheme = {
|
|
|
49
49
|
fontFamily: "'JetBrains Mono', monospace",
|
|
50
50
|
fontSize: 11,
|
|
51
51
|
},
|
|
52
|
+
lanes: {
|
|
53
|
+
bandFillEven: 'rgba(17, 17, 17, 0.7)',
|
|
54
|
+
bandFillOdd: 'rgba(0, 0, 0, 0)',
|
|
55
|
+
dividerColor: 'rgba(55, 65, 81, 0.6)', // gray-700
|
|
56
|
+
dividerWidth: 1,
|
|
57
|
+
headerBackground: 'rgba(0, 0, 0, 0.92)',
|
|
58
|
+
headerTextColor: '#00ff88',
|
|
59
|
+
headerFontFamily: "'JetBrains Mono', monospace",
|
|
60
|
+
headerFontSize: 10,
|
|
61
|
+
headerSize: 26,
|
|
62
|
+
headerPadding: 10,
|
|
63
|
+
},
|
|
52
64
|
presetColors: {
|
|
53
65
|
'1': { fill: 'rgba(255, 0, 60, 0.15)', stroke: '#ff003c' }, // neon red
|
|
54
66
|
'2': { fill: 'rgba(255, 140, 0, 0.15)', stroke: '#ff8c00' }, // neon orange
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"midnight.js","sourceRoot":"","sources":["../../src/themes/midnight.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GAAgB;IACxC,IAAI,EAAE,UAAU;IAEhB,UAAU,EAAE,SAAS;IAErB,IAAI,EAAE;QACJ,IAAI,EAAE,EAAE;QACR,KAAK,EAAE,SAAS;QAChB,WAAW,EAAE,GAAG;KACjB;IAED,IAAI,EAAE;QACJ,IAAI,EAAE,uBAAuB;QAC7B,MAAM,EAAE,SAAS,EAAgB,WAAW;QAC5C,WAAW,EAAE,CAAC;QACd,YAAY,EAAE,CAAC;QACf,UAAU,EAAE,SAAS,EAAY,WAAW;QAC5C,aAAa,EAAE,SAAS,EAAS,WAAW;QAC5C,UAAU,EAAE,0CAA0C;QACtD,QAAQ,EAAE,EAAE;QACZ,gBAAgB,EAAE,CAAC;QACnB,YAAY,EAAE;YACZ,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"midnight.js","sourceRoot":"","sources":["../../src/themes/midnight.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GAAgB;IACxC,IAAI,EAAE,UAAU;IAEhB,UAAU,EAAE,SAAS;IAErB,IAAI,EAAE;QACJ,IAAI,EAAE,EAAE;QACR,KAAK,EAAE,SAAS;QAChB,WAAW,EAAE,GAAG;KACjB;IAED,IAAI,EAAE;QACJ,IAAI,EAAE,uBAAuB;QAC7B,MAAM,EAAE,SAAS,EAAgB,WAAW;QAC5C,WAAW,EAAE,CAAC;QACd,YAAY,EAAE,CAAC;QACf,UAAU,EAAE,SAAS,EAAY,WAAW;QAC5C,aAAa,EAAE,SAAS,EAAS,WAAW;QAC5C,UAAU,EAAE,0CAA0C;QACtD,QAAQ,EAAE,EAAE;QACZ,gBAAgB,EAAE,CAAC;QACnB,YAAY,EAAE;YACZ,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,2BAA2B;SACnC;KACF;IAED,IAAI,EAAE;QACJ,MAAM,EAAE,SAAS,EAAO,WAAW;QACnC,WAAW,EAAE,CAAC;QACd,SAAS,EAAE,CAAC;QACZ,UAAU,EAAE,SAAS,EAAG,WAAW;QACnC,aAAa,EAAE,CAAC;KACjB;IAED,KAAK,EAAE;QACL,IAAI,EAAE,uBAAuB;QAC7B,MAAM,EAAE,SAAS;QACjB,WAAW,EAAE,CAAC;QACd,eAAe,EAAE,KAAK;QACtB,UAAU,EAAE,SAAS;QACrB,aAAa,EAAE,EAAE;QACjB,YAAY,EAAE,CAAC;KAChB;IAED,WAAW,EAAE;QACX,UAAU,EAAE,qBAAqB;QACjC,SAAS,EAAE,SAAS;QACpB,WAAW,EAAE,SAAS;QACtB,cAAc,EAAE,SAAS;QACzB,UAAU,EAAE,6BAA6B;QACzC,QAAQ,EAAE,EAAE;KACb;IAED,KAAK,EAAE;QACL,YAAY,EAAE,uBAAuB;QACrC,WAAW,EAAE,kBAAkB;QAC/B,YAAY,EAAE,uBAAuB,EAAI,WAAW;QACpD,YAAY,EAAE,CAAC;QACf,gBAAgB,EAAE,qBAAqB;QACvC,eAAe,EAAE,SAAS;QAC1B,gBAAgB,EAAE,6BAA6B;QAC/C,cAAc,EAAE,EAAE;QAClB,UAAU,EAAE,EAAE;QACd,aAAa,EAAE,EAAE;KAClB;IAED,YAAY,EAAE;QACZ,GAAG,EAAE,EAAE,IAAI,EAAE,wBAAwB,EAAI,MAAM,EAAE,SAAS,EAAE,EAAG,WAAW;QAC1E,GAAG,EAAE,EAAE,IAAI,EAAE,yBAAyB,EAAG,MAAM,EAAE,SAAS,EAAE,EAAG,cAAc;QAC7E,GAAG,EAAE,EAAE,IAAI,EAAE,yBAAyB,EAAG,MAAM,EAAE,SAAS,EAAE,EAAG,cAAc;QAC7E,GAAG,EAAE,EAAE,IAAI,EAAE,yBAAyB,EAAG,MAAM,EAAE,SAAS,EAAE,EAAG,aAAa;QAC5E,GAAG,EAAE,EAAE,IAAI,EAAE,yBAAyB,EAAG,MAAM,EAAE,SAAS,EAAE,EAAG,YAAY;QAC3E,GAAG,EAAE,EAAE,IAAI,EAAE,yBAAyB,EAAG,MAAM,EAAE,SAAS,EAAE,EAAG,cAAc;KAC9E;IAED,UAAU,EAAE,EAAE;CACf,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../src/themes/resolve.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,UAAU,EACV,YAAY,EACZ,WAAW,EACZ,MAAM,aAAa,CAAA;AAGpB,oDAAoD;AACpD,wBAAgB,YAAY,CAC1B,OAAO,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,EAC9B,IAAI,GAAE,WAAuB,GAC5B,WAAW,
|
|
1
|
+
{"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../src/themes/resolve.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,UAAU,EACV,YAAY,EACZ,WAAW,EACZ,MAAM,aAAa,CAAA;AAGpB,oDAAoD;AACpD,wBAAgB,YAAY,CAC1B,OAAO,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,EAC9B,IAAI,GAAE,WAAuB,GAC5B,WAAW,CAmBb;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,KAAK,EAAE,WAAW,GACjB,WAAW,CAsBb;AAED;;;GAGG;AACH,wBAAgB,WAAW,CACzB,IAAI,EAAE,UAAU,EAChB,KAAK,EAAE,WAAW,GACjB,YAAY,CA0Cd"}
|
package/dist/themes/resolve.js
CHANGED
|
@@ -11,8 +11,13 @@ export function resolveTheme(partial, base = darkTheme) {
|
|
|
11
11
|
edge: { ...base.edge, ...partial.edge },
|
|
12
12
|
group: { ...base.group, ...partial.group },
|
|
13
13
|
breadcrumbs: { ...base.breadcrumbs, ...partial.breadcrumbs },
|
|
14
|
+
lanes: { ...base.lanes, ...partial.lanes },
|
|
14
15
|
presetColors: { ...base.presetColors, ...partial.presetColors },
|
|
15
16
|
categories: { ...base.categories, ...partial.categories },
|
|
17
|
+
icons: partial.icons
|
|
18
|
+
? { ...(base.icons ?? {}), ...partial.icons }
|
|
19
|
+
: base.icons,
|
|
20
|
+
nodeActions: partial.nodeActions ?? base.nodeActions,
|
|
16
21
|
};
|
|
17
22
|
}
|
|
18
23
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../src/themes/resolve.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AAErC,oDAAoD;AACpD,MAAM,UAAU,YAAY,CAC1B,OAA8B,EAC9B,OAAoB,SAAS;IAE7B,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAA;IAEzB,OAAO;QACL,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI;QAC/B,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU;QACjD,IAAI,EAAE,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE;QACvC,IAAI,EAAE,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE;QACvC,IAAI,EAAE,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE;QACvC,KAAK,EAAE,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,GAAG,OAAO,CAAC,KAAK,EAAE;QAC1C,WAAW,EAAE,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE,GAAG,OAAO,CAAC,WAAW,EAAE;QAC5D,YAAY,EAAE,EAAE,GAAG,IAAI,CAAC,YAAY,EAAE,GAAG,OAAO,CAAC,YAAY,EAAE;QAC/D,UAAU,EAAE,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,GAAG,OAAO,CAAC,UAAU,EAAE;
|
|
1
|
+
{"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../src/themes/resolve.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AAErC,oDAAoD;AACpD,MAAM,UAAU,YAAY,CAC1B,OAA8B,EAC9B,OAAoB,SAAS;IAE7B,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAA;IAEzB,OAAO;QACL,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI;QAC/B,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU;QACjD,IAAI,EAAE,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE;QACvC,IAAI,EAAE,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE;QACvC,IAAI,EAAE,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE;QACvC,KAAK,EAAE,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,GAAG,OAAO,CAAC,KAAK,EAAE;QAC1C,WAAW,EAAE,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE,GAAG,OAAO,CAAC,WAAW,EAAE;QAC5D,KAAK,EAAE,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,GAAG,OAAO,CAAC,KAAK,EAAE;QAC1C,YAAY,EAAE,EAAE,GAAG,IAAI,CAAC,YAAY,EAAE,GAAG,OAAO,CAAC,YAAY,EAAE;QAC/D,UAAU,EAAE,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,GAAG,OAAO,CAAC,UAAU,EAAE;QACzD,KAAK,EAAE,OAAO,CAAC,KAAK;YAClB,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,GAAG,OAAO,CAAC,KAAK,EAAE;YAC7C,CAAC,CAAC,IAAI,CAAC,KAAK;QACd,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW;KACrD,CAAA;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAC1B,KAAyB,EACzB,KAAkB;IAElB,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAA;IAC7D,CAAC;IAED,eAAe;IACf,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;IACxC,IAAI,MAAM;QAAE,OAAO,MAAM,CAAA;IAEzB,4DAA4D;IAC5D,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;QACzC,MAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;QACzC,MAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;QACzC,OAAO;YACL,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ;YACnC,MAAM,EAAE,KAAK;SACd,CAAA;IACH,CAAC;IAED,iCAAiC;IACjC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAA;AAC7D,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW,CACzB,IAAgB,EAChB,KAAkB;IAElB,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ;QAC/B,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC;QACjC,CAAC,CAAC,SAAS,CAAA;IAEb,qDAAqD;IACrD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,WAAW,EAAE,YAAY,IAAI,GAAG,CAAA;IAC5D,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,WAAW,EAAE,aAAa,IAAI,EAAE,CAAA;IAE9D,4DAA4D;IAC5D,IAAI,IAAY,CAAA;IAChB,IAAI,MAAc,CAAA;IAElB,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;QAChD,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAA;QACpB,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAA;IAC1B,CAAC;SAAM,IAAI,WAAW,EAAE,CAAC;QACvB,IAAI,GAAG,WAAW,CAAC,IAAI,CAAA;QACvB,MAAM,GAAG,WAAW,CAAC,MAAM,CAAA;IAC7B,CAAC;SAAM,CAAC;QACN,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAA;QACtB,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAA;IAC5B,CAAC;IAED,kDAAkD;IAClD,MAAM,YAAY,GAChB,WAAW,EAAE,YAAY,IAAI,KAAK,CAAC,IAAI,CAAC,YAAY,CAAA;IAEtD,6BAA6B;IAC7B,MAAM,IAAI,GAAG,WAAW,EAAE,IAAI,IAAI,IAAI,CAAA;IAEtC,OAAO;QACL,GAAG,IAAI;QACP,KAAK;QACL,MAAM;QACN,YAAY,EAAE,IAAI;QAClB,cAAc,EAAE,MAAM;QACtB,oBAAoB,EAAE,YAAY;QAClC,WAAW,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI;QAC7B,YAAY,EAAE,IAAI;KACnB,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { CanvasTheme } from '../types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Roadmap theme — designed for timeline/column layouts like Now/Next/Later,
|
|
4
|
+
* quarter-based planning, or swim-lane roadmaps. Soft neutral background,
|
|
5
|
+
* muted lane bands, and purpose-built categories (initiative, milestone,
|
|
6
|
+
* outcome, blocker, parking-lot).
|
|
7
|
+
*
|
|
8
|
+
* The theme is agnostic about what "columns" mean — the consumer decides
|
|
9
|
+
* whether they represent quarters, ordinal buckets, phases, or anything
|
|
10
|
+
* else. It just ships good visual defaults for roadmap-shaped work.
|
|
11
|
+
*/
|
|
12
|
+
export declare const roadmapTheme: CanvasTheme;
|
|
13
|
+
//# sourceMappingURL=roadmap.d.ts.map
|