@grafloria/element 0.1.0 → 0.2.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/esm/src/index.js +284 -0
- package/esm/src/index.js.map +1 -0
- package/esm/src/lib/dashboard-kit/dashboard.js +590 -0
- package/esm/src/lib/dashboard-kit/dashboard.js.map +1 -0
- package/esm/src/lib/dashboard-kit/grid-binder.js +1632 -0
- package/esm/src/lib/dashboard-kit/grid-binder.js.map +1 -0
- package/esm/src/lib/dashboard-kit/grid-mapping.js +164 -0
- package/esm/src/lib/dashboard-kit/grid-mapping.js.map +1 -0
- package/esm/src/lib/dashboard-kit/index.js +8 -0
- package/esm/src/lib/dashboard-kit/index.js.map +1 -0
- package/esm/src/lib/dashboard-kit/styles.js +199 -0
- package/esm/src/lib/dashboard-kit/styles.js.map +1 -0
- package/esm/src/lib/dashboard-kit/widgets.js +379 -0
- package/esm/src/lib/dashboard-kit/widgets.js.map +1 -0
- package/esm/src/lib/diagram-kit/card.js +199 -0
- package/esm/src/lib/diagram-kit/card.js.map +1 -0
- package/esm/src/lib/diagram-kit/editing.js +286 -0
- package/esm/src/lib/diagram-kit/editing.js.map +1 -0
- package/esm/src/lib/diagram-kit/er.js +160 -0
- package/esm/src/lib/diagram-kit/er.js.map +1 -0
- package/esm/src/lib/diagram-kit/handles.js +312 -0
- package/esm/src/lib/diagram-kit/handles.js.map +1 -0
- package/esm/src/lib/diagram-kit/index.js +9 -0
- package/esm/src/lib/diagram-kit/index.js.map +1 -0
- package/esm/src/lib/diagram-kit/rows.js +144 -0
- package/esm/src/lib/diagram-kit/rows.js.map +1 -0
- package/esm/src/lib/diagram-kit/styles.js +110 -0
- package/esm/src/lib/diagram-kit/styles.js.map +1 -0
- package/esm/src/lib/diagram-kit/uml.js +135 -0
- package/esm/src/lib/diagram-kit/uml.js.map +1 -0
- package/esm/src/lib/diagram-kit/update.js +244 -0
- package/esm/src/lib/diagram-kit/update.js.map +1 -0
- package/esm/src/lib/grafloria-flow-element.js +266 -0
- package/esm/src/lib/grafloria-flow-element.js.map +1 -0
- package/esm/src/lib/grafloria.js +67 -0
- package/esm/src/lib/grafloria.js.map +1 -0
- package/esm/src/lib/load.js +252 -0
- package/esm/src/lib/load.js.map +1 -0
- package/esm/src/lib/node-type-registry.js +42 -0
- package/esm/src/lib/node-type-registry.js.map +1 -0
- package/package.json +5 -4
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grid-binder.js","sourceRoot":"","sources":["../../../../../../../libs/element/src/lib/dashboard-kit/grid-binder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dashboard-kit pure math — Phase 2 of the dashboard-grid plan
|
|
3
|
+
* (`documentation/api-architecture/dashboard-grid-plan.html`).
|
|
4
|
+
*
|
|
5
|
+
* Everything here is DOM-free and instance-free so it can be table-driven from
|
|
6
|
+
* a jest spec: the cell↔pixel mapping in both sizing modes, the
|
|
7
|
+
* GridItemConfig↔GridPackItem round-trip, and the gesture commit-batch
|
|
8
|
+
* construction. The stateful binder (`grid-binder.ts`) is a thin pointer loop
|
|
9
|
+
* over these functions plus the engine's `GridPackEngine` — the engine owns
|
|
10
|
+
* ALL cell math (push/swap/gate/settle); this module owns only how cells and
|
|
11
|
+
* pixels convert into each other and into undoable commands.
|
|
12
|
+
*
|
|
13
|
+
* SIZING MODES (user decision, recorded in the plan's Section 6):
|
|
14
|
+
* 'fit' — DevExtreme-style compact. The board keeps its DESIGN height and
|
|
15
|
+
* the row height re-derives from the content's row count, so every
|
|
16
|
+
* widget always stays inside the frame — nothing can be pushed out
|
|
17
|
+
* of reach. Guarded by `minRowHeight` so a pathological row count
|
|
18
|
+
* squeezes to a floor instead of zero.
|
|
19
|
+
* 'grow' — rows keep `baseRowHeight` and the board frame extends downward
|
|
20
|
+
* to hold them (never below the design height). Camera refit after
|
|
21
|
+
* growth is the page's concern (its existing `frameTab`).
|
|
22
|
+
*/
|
|
23
|
+
import { MoveNodeCommand, ResizeNodeCommand, SetGridItemCommand, } from '@grafloria/engine';
|
|
24
|
+
/** Row height for a board currently `rows` rows tall (both modes). */
|
|
25
|
+
export function rowHeightFor(g, rows) {
|
|
26
|
+
if (g.sizing === 'grow')
|
|
27
|
+
return g.baseRowHeight;
|
|
28
|
+
const r = Math.max(1, rows);
|
|
29
|
+
// design = 2*padding + r*rowH + (r-1)*gap → solve for rowH.
|
|
30
|
+
return Math.max(g.minRowHeight, (g.designHeight - 2 * g.padding - (r - 1) * g.gap) / r);
|
|
31
|
+
}
|
|
32
|
+
/** The board frame height the mode implies for `rows` rows. */
|
|
33
|
+
export function boardHeightFor(g, rows) {
|
|
34
|
+
if (g.sizing === 'fit')
|
|
35
|
+
return g.designHeight;
|
|
36
|
+
const r = Math.max(0, rows);
|
|
37
|
+
const content = 2 * g.padding + (r === 0 ? 0 : r * g.baseRowHeight + (r - 1) * g.gap);
|
|
38
|
+
return Math.max(g.designHeight, content);
|
|
39
|
+
}
|
|
40
|
+
/** Width of one column cell for a board `width` px wide. */
|
|
41
|
+
export function columnUnitFor(g, width) {
|
|
42
|
+
return (width - 2 * g.padding - (g.columns - 1) * g.gap) / g.columns;
|
|
43
|
+
}
|
|
44
|
+
/** Width in px of a `w`-column span (the pitch identity used by both mappings). */
|
|
45
|
+
export function spanWidthPx(w, g, frameWidth) {
|
|
46
|
+
const cu = columnUnitFor(g, frameWidth);
|
|
47
|
+
return w * cu + (w - 1) * g.gap;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Project integer cells into a world rectangle inside `frame`.
|
|
51
|
+
*
|
|
52
|
+
* RTL mirrors about the board's vertical centre line: the distance from the
|
|
53
|
+
* board's RIGHT padding edge to the tile's RIGHT edge equals what the LTR
|
|
54
|
+
* distance from the left padding edge to the tile's LEFT edge would be. Only
|
|
55
|
+
* the x term changes — rows, heights and spans are direction-agnostic.
|
|
56
|
+
*/
|
|
57
|
+
export function cellToRect(cell, frame, g, rows) {
|
|
58
|
+
const cu = columnUnitFor(g, frame.width);
|
|
59
|
+
const rh = rowHeightFor(g, rows);
|
|
60
|
+
const width = cell.w * cu + (cell.w - 1) * g.gap;
|
|
61
|
+
return {
|
|
62
|
+
x: g.rtl
|
|
63
|
+
? frame.x + frame.width - g.padding - cell.x * (cu + g.gap) - width
|
|
64
|
+
: frame.x + g.padding + cell.x * (cu + g.gap),
|
|
65
|
+
y: frame.y + g.padding + cell.y * (rh + g.gap),
|
|
66
|
+
width,
|
|
67
|
+
height: cell.h * rh + (cell.h - 1) * g.gap,
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* The cell whose slot a tile TOP-LEFT at world (x, y) is closest to — the
|
|
72
|
+
* prototype's margin-adjusted midpoint rounding (`round(L / cellPitch)`).
|
|
73
|
+
* Clamping to the board is the ENGINE's job (moveCheck clamps), not ours.
|
|
74
|
+
*
|
|
75
|
+
* `spanW` is the tile's COLUMN SPAN and is used only when `g.rtl`: mirrored,
|
|
76
|
+
* the cell is decided by the tile's RIGHT edge (its leading edge), so the
|
|
77
|
+
* span is what converts the given left edge into it. LTR ignores it entirely,
|
|
78
|
+
* which is why every existing call site keeps its exact behaviour. Getting
|
|
79
|
+
* this wrong is the classic RTL drag bug — the tile lands a span away from
|
|
80
|
+
* the placeholder — so the e2e battery asserts drop-on-placeholder in RTL.
|
|
81
|
+
*/
|
|
82
|
+
export function pointToCell(x, y, frame, g, rows, spanW = 1) {
|
|
83
|
+
const cu = columnUnitFor(g, frame.width);
|
|
84
|
+
const rh = rowHeightFor(g, rows);
|
|
85
|
+
const right = x + spanWidthPx(spanW, g, frame.width);
|
|
86
|
+
return {
|
|
87
|
+
x: g.rtl
|
|
88
|
+
? Math.round((frame.x + frame.width - g.padding - right) / (cu + g.gap))
|
|
89
|
+
: Math.round((x - frame.x - g.padding) / (cu + g.gap)),
|
|
90
|
+
y: Math.round((y - frame.y - g.padding) / (rh + g.gap)),
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* The integer span a fluid pixel size rounds to — the prototype's
|
|
95
|
+
* `round((W + margin) / cellPitch)`, floored at 1×1.
|
|
96
|
+
*/
|
|
97
|
+
export function sizeToSpan(widthPx, heightPx, frame, g, rows) {
|
|
98
|
+
const cu = columnUnitFor(g, frame.width);
|
|
99
|
+
const rh = rowHeightFor(g, rows);
|
|
100
|
+
return {
|
|
101
|
+
w: Math.max(1, Math.round((widthPx + g.gap) / (cu + g.gap))),
|
|
102
|
+
h: Math.max(1, Math.round((heightPx + g.gap) / (rh + g.gap))),
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
// ---------------------------------------------------------------------------
|
|
106
|
+
// GridItemConfig ↔ engine cells.
|
|
107
|
+
//
|
|
108
|
+
// The cell state lives in the EXISTING GridItemConfig (1-based, exclusive-end
|
|
109
|
+
// line numbers — CSS grid vocabulary): columnStart/rowStart are the cell + 1,
|
|
110
|
+
// columnEnd/rowEnd are cell + span + 1. Nothing new is persisted; save/load
|
|
111
|
+
// already round-trips gridItem.
|
|
112
|
+
// ---------------------------------------------------------------------------
|
|
113
|
+
/** Engine cells → the GridItemConfig that persists them. */
|
|
114
|
+
export function gridItemFromCell(cell) {
|
|
115
|
+
return {
|
|
116
|
+
columnStart: cell.x + 1,
|
|
117
|
+
columnEnd: cell.x + cell.w + 1,
|
|
118
|
+
rowStart: cell.y + 1,
|
|
119
|
+
rowEnd: cell.y + cell.h + 1,
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* GridItemConfig → engine cells, or null when the config carries no usable
|
|
124
|
+
* placement (absent, or 'auto' lines). `fallback` fills spans a partial
|
|
125
|
+
* config omits — the first-adoption path uses metadata `columnSpan` there.
|
|
126
|
+
*/
|
|
127
|
+
export function cellFromGridItem(gi, fallback) {
|
|
128
|
+
var _a, _b;
|
|
129
|
+
if (!gi)
|
|
130
|
+
return null;
|
|
131
|
+
const num = (v) => typeof v === 'number' && Number.isFinite(v) ? v : null;
|
|
132
|
+
const cs = num(gi.columnStart);
|
|
133
|
+
const rs = num(gi.rowStart);
|
|
134
|
+
if (cs === null || rs === null)
|
|
135
|
+
return null;
|
|
136
|
+
const ce = num(gi.columnEnd);
|
|
137
|
+
const re = num(gi.rowEnd);
|
|
138
|
+
const w = ce !== null ? ce - cs : (_a = fallback === null || fallback === void 0 ? void 0 : fallback.w) !== null && _a !== void 0 ? _a : 1;
|
|
139
|
+
const h = re !== null ? re - rs : (_b = fallback === null || fallback === void 0 ? void 0 : fallback.h) !== null && _b !== void 0 ? _b : 1;
|
|
140
|
+
return { x: cs - 1, y: rs - 1, w: Math.max(1, w), h: Math.max(1, h) };
|
|
141
|
+
}
|
|
142
|
+
const cellsDiffer = (a, b) => a.x !== b.x || a.y !== b.y || a.w !== b.w || a.h !== b.h;
|
|
143
|
+
const EPS = 0.5;
|
|
144
|
+
export function buildCommitCommands(deltas) {
|
|
145
|
+
const commands = [];
|
|
146
|
+
for (const d of deltas) {
|
|
147
|
+
const cellChanged = cellsDiffer(d.cellBefore, d.cellAfter);
|
|
148
|
+
if (cellChanged && !d.isGroup) {
|
|
149
|
+
commands.push(new SetGridItemCommand(d.id, gridItemFromCell(d.cellAfter)));
|
|
150
|
+
}
|
|
151
|
+
if (d.locked || d.isGroup)
|
|
152
|
+
continue;
|
|
153
|
+
if (Math.abs(d.posAfter.x - d.posBefore.x) > EPS ||
|
|
154
|
+
Math.abs(d.posAfter.y - d.posBefore.y) > EPS) {
|
|
155
|
+
commands.push(new MoveNodeCommand(d.id, Object.assign({}, d.posAfter), Object.assign({}, d.posBefore), { mergeable: false }));
|
|
156
|
+
}
|
|
157
|
+
if (Math.abs(d.sizeAfter.width - d.sizeBefore.width) > EPS ||
|
|
158
|
+
Math.abs(d.sizeAfter.height - d.sizeBefore.height) > EPS) {
|
|
159
|
+
commands.push(new ResizeNodeCommand(d.id, Object.assign({ depth: 0 }, d.sizeAfter), Object.assign({ depth: 0 }, d.sizeBefore)));
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
return commands;
|
|
163
|
+
}
|
|
164
|
+
//# sourceMappingURL=grid-mapping.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grid-mapping.js","sourceRoot":"","sources":["../../../../../../../libs/element/src/lib/dashboard-kit/grid-mapping.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export { bindDashboardGrid, } from './grid-binder';
|
|
2
|
+
export { rowHeightFor, boardHeightFor, columnUnitFor, cellToRect, pointToCell, sizeToSpan, spanWidthPx, gridItemFromCell, cellFromGridItem, buildCommitCommands, } from './grid-mapping';
|
|
3
|
+
export { ensureDashboardKitStyles, DASHBOARD_KIT_STYLE_ID } from './styles';
|
|
4
|
+
// The DATA-FIRST authoring API (the erDiagram/umlDiagram equivalent).
|
|
5
|
+
export { dashboard, } from './dashboard';
|
|
6
|
+
// The built-in renderers behind `kind` — dashboard()'s default renderWidget.
|
|
7
|
+
export { defaultWidgetRenderer, renderKpiWidget, renderLineWidget, renderBarWidget, renderDonutWidget, renderFunnelWidget, renderTableWidget, BUILT_IN_WIDGET_KINDS, } from './widgets';
|
|
8
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../libs/element/src/lib/dashboard-kit/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,GAKlB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,YAAY,EACZ,cAAc,EACd,aAAa,EACb,UAAU,EACV,WAAW,EACX,UAAU,EACV,WAAW,EACX,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,GAKpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAE5E,sEAAsE;AACtE,OAAO,EACL,SAAS,GAOV,MAAM,aAAa,CAAC;AAErB,6EAA6E;AAC7E,OAAO,EACL,qBAAqB,EACrB,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,qBAAqB,GAStB,MAAM,WAAW,CAAC"}
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dashboard-kit stylesheet — injected once, on first `bindDashboardGrid`.
|
|
3
|
+
*
|
|
4
|
+
* Everything is prefixed `axdb-` and scoped under `.grafloria-html-layer`, so
|
|
5
|
+
* binding the kit can never restyle a host's own DOM. Four jobs:
|
|
6
|
+
*
|
|
7
|
+
* - GLIDE: the reflow transition (the pattern from commit 180a27974) that
|
|
8
|
+
* makes displaced tiles slide to their new slot while a gesture is live.
|
|
9
|
+
* The kit arms `.axdb-glide` on the html layer for the WHOLE gesture, so
|
|
10
|
+
* every accepted moveCheck/resizeCheck animates the neighbours.
|
|
11
|
+
* - GHOST: the held tile is transition-EXEMPT (it must track the pointer
|
|
12
|
+
* 1:1), floats above everything, and dims + lifts like the prototype's
|
|
13
|
+
* `.tile.drag`. When a drag leaves the board (drag-out-to-remove) the
|
|
14
|
+
* ghost dims further as the "release deletes" affordance.
|
|
15
|
+
* - PLACEHOLDER: the dashed slab that always shows the exact drop result
|
|
16
|
+
* (the prototype's `#ph`). It JUMPS — never animates — so it is always
|
|
17
|
+
* truthful about the engine's current cell.
|
|
18
|
+
* - RESIZE HANDLE: a corner affordance INSIDE each widget card, bottom-right,
|
|
19
|
+
* radius-matched via `--axdb-rs-radius`, revealed on hover. The binder
|
|
20
|
+
* injects it into each member host and re-injects if the host repaints
|
|
21
|
+
* (pages own their card innerHTML).
|
|
22
|
+
*/
|
|
23
|
+
export const DASHBOARD_KIT_STYLE_ID = 'grafloria-dashboard-kit-styles';
|
|
24
|
+
const CSS = `
|
|
25
|
+
/* ===== reflow glide (armed on the html layer for the whole gesture) ===== */
|
|
26
|
+
.grafloria-html-layer.axdb-glide > .grafloria-node-host {
|
|
27
|
+
transition: left .28s cubic-bezier(.2, 0, .2, 1), top .28s cubic-bezier(.2, 0, .2, 1),
|
|
28
|
+
width .28s cubic-bezier(.2, 0, .2, 1), height .28s cubic-bezier(.2, 0, .2, 1);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
/* ===== the held tile: transition-exempt ghost, above everything ===== */
|
|
32
|
+
.grafloria-html-layer > .grafloria-node-host.axdb-ghost,
|
|
33
|
+
.grafloria-html-layer.axdb-glide > .grafloria-node-host.axdb-ghost {
|
|
34
|
+
transition: none;
|
|
35
|
+
z-index: 30;
|
|
36
|
+
opacity: .85;
|
|
37
|
+
cursor: grabbing;
|
|
38
|
+
filter: drop-shadow(0 10px 16px rgba(16, 24, 40, .3));
|
|
39
|
+
}
|
|
40
|
+
/* Outside the board: release will REMOVE — dim the ghost to say so. */
|
|
41
|
+
.grafloria-html-layer > .grafloria-node-host.axdb-ghost.axdb-out { opacity: .35; filter: grayscale(.6); }
|
|
42
|
+
|
|
43
|
+
/* ===== the placeholder: dashed slab, truthful, never animated ===== */
|
|
44
|
+
.grafloria-html-layer > .axdb-ph {
|
|
45
|
+
position: absolute;
|
|
46
|
+
border-radius: var(--axdb-rs-radius, 12px);
|
|
47
|
+
background: rgba(30, 34, 45, .14);
|
|
48
|
+
border: 2px dashed rgba(30, 34, 45, .28);
|
|
49
|
+
box-sizing: border-box;
|
|
50
|
+
pointer-events: none;
|
|
51
|
+
z-index: 0;
|
|
52
|
+
transition: none;
|
|
53
|
+
}
|
|
54
|
+
@media (prefers-color-scheme: dark) {
|
|
55
|
+
.grafloria-html-layer > .axdb-ph { background: rgba(220, 225, 240, .12); border-color: rgba(220, 225, 240, .3); }
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
/* ===== corner resize handle (hover-revealed, radius-matched) ===== */
|
|
59
|
+
.grafloria-node-host > .axdb-rs {
|
|
60
|
+
position: absolute;
|
|
61
|
+
right: 0;
|
|
62
|
+
bottom: 0;
|
|
63
|
+
width: 18px;
|
|
64
|
+
height: 18px;
|
|
65
|
+
cursor: nwse-resize;
|
|
66
|
+
border-right: 3px solid rgba(120, 130, 148, .55);
|
|
67
|
+
border-bottom: 3px solid rgba(120, 130, 148, .55);
|
|
68
|
+
border-bottom-right-radius: var(--axdb-rs-radius, 12px);
|
|
69
|
+
opacity: 0;
|
|
70
|
+
transition: opacity .12s;
|
|
71
|
+
z-index: 5;
|
|
72
|
+
}
|
|
73
|
+
.grafloria-node-host:hover > .axdb-rs { opacity: 1; }
|
|
74
|
+
.grafloria-node-host > .axdb-rs:hover { border-color: #3b52d9; }
|
|
75
|
+
/* RTL boards grow leftwards, so the grab corner mirrors with them. */
|
|
76
|
+
.grafloria-node-host > .axdb-rs.axdb-rs--rtl {
|
|
77
|
+
right: auto;
|
|
78
|
+
left: 0;
|
|
79
|
+
cursor: nesw-resize;
|
|
80
|
+
border-right: none;
|
|
81
|
+
border-left: 3px solid rgba(120, 130, 148, .55);
|
|
82
|
+
border-bottom-right-radius: 0;
|
|
83
|
+
border-bottom-left-radius: var(--axdb-rs-radius, 12px);
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
/* ===== palette drag-in chip (screen-space clone following the cursor) ===== */
|
|
87
|
+
.axdb-drag-chip {
|
|
88
|
+
position: fixed;
|
|
89
|
+
z-index: 9999;
|
|
90
|
+
pointer-events: none;
|
|
91
|
+
opacity: .9;
|
|
92
|
+
filter: drop-shadow(0 8px 14px rgba(16, 24, 40, .3));
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
/* ===========================================================================
|
|
96
|
+
BUILT-IN WIDGET CARDS — what widgets.ts paints when a page writes no
|
|
97
|
+
renderWidget. Class-prefixed (never element selectors), so this can only
|
|
98
|
+
ever style DOM the kit itself produced. Colours are CSS variables on the
|
|
99
|
+
card, so a page re-skins every built-in widget by setting them once; the
|
|
100
|
+
corner radius follows --axdb-rs-radius, which is also the placeholder's and
|
|
101
|
+
the resize handle's, so the three can never drift apart.
|
|
102
|
+
=========================================================================== */
|
|
103
|
+
.axdb-widget {
|
|
104
|
+
--axdb-ink: #1f2430;
|
|
105
|
+
--axdb-muted: #7a8496;
|
|
106
|
+
--axdb-grid: rgba(120, 130, 148, .22);
|
|
107
|
+
--axdb-card: #fff;
|
|
108
|
+
--axdb-line: #e7eaf1;
|
|
109
|
+
--axdb-soft: rgba(120, 130, 148, .14);
|
|
110
|
+
box-sizing: border-box;
|
|
111
|
+
width: 100%;
|
|
112
|
+
height: 100%;
|
|
113
|
+
display: flex;
|
|
114
|
+
flex-direction: column;
|
|
115
|
+
overflow: hidden;
|
|
116
|
+
padding: 13px 15px 12px;
|
|
117
|
+
background: var(--axdb-card);
|
|
118
|
+
border: 1px solid var(--axdb-line);
|
|
119
|
+
border-radius: var(--axdb-rs-radius, 12px);
|
|
120
|
+
box-shadow: 0 1px 2px rgba(16, 24, 40, .05), 0 1px 3px rgba(16, 24, 40, .05);
|
|
121
|
+
font-family: system-ui, -apple-system, "Segoe UI", sans-serif;
|
|
122
|
+
color: var(--axdb-ink);
|
|
123
|
+
}
|
|
124
|
+
.axdb-widget-h {
|
|
125
|
+
display: flex;
|
|
126
|
+
align-items: center;
|
|
127
|
+
gap: 6px;
|
|
128
|
+
margin-bottom: 8px;
|
|
129
|
+
font: 600 11px/1.3 system-ui, sans-serif;
|
|
130
|
+
letter-spacing: .4px;
|
|
131
|
+
text-transform: uppercase;
|
|
132
|
+
color: var(--axdb-muted);
|
|
133
|
+
}
|
|
134
|
+
.axdb-widget-b { flex: 1; min-height: 0; position: relative; }
|
|
135
|
+
.axdb-widget-b > svg { display: block; width: 100%; height: 100%; }
|
|
136
|
+
.axdb-widget-b.axdb-scroll { overflow: auto; }
|
|
137
|
+
/* A chart WITH a legend under it: the plot yields height, the legend keeps its
|
|
138
|
+
own (without this the 100%-tall svg pushes the legend out of the card). */
|
|
139
|
+
.axdb-widget-b.axdb-has-lg { display: flex; flex-direction: column; }
|
|
140
|
+
.axdb-widget-b.axdb-has-lg > svg { flex: 1; height: auto; min-height: 0; }
|
|
141
|
+
.axdb-widget-empty {
|
|
142
|
+
display: flex; align-items: center; justify-content: center; height: 100%;
|
|
143
|
+
font: 500 11.5px/1.3 system-ui, sans-serif; color: var(--axdb-muted); opacity: .75;
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
/* kpi: value + delta stack, the spark yields its height before they do */
|
|
147
|
+
.axdb-widget-b.axdb-kpi { display: flex; flex-direction: column; }
|
|
148
|
+
.axdb-kpi-v { font: 700 30px/1.05 system-ui, sans-serif; letter-spacing: -.02em; color: var(--axdb-ink); }
|
|
149
|
+
.axdb-kpi-d { margin-top: 6px; font: 600 12px/1.2 system-ui, sans-serif; }
|
|
150
|
+
.axdb-kpi-d span { color: var(--axdb-muted); font-weight: 500; }
|
|
151
|
+
.axdb-kpi-d.up { color: #12a150; }
|
|
152
|
+
.axdb-kpi-d.down { color: #e11d48; }
|
|
153
|
+
.axdb-kpi-s { margin-top: auto; height: 34px; min-height: 0; flex: 0 1 34px; }
|
|
154
|
+
|
|
155
|
+
/* donut: ring beside its legend */
|
|
156
|
+
.axdb-widget-b.axdb-donut { display: flex; align-items: center; gap: 10px; }
|
|
157
|
+
.axdb-widget-b.axdb-donut > svg { max-width: 150px; }
|
|
158
|
+
|
|
159
|
+
/* legend chips, shared by line and donut */
|
|
160
|
+
.axdb-lg { display: flex; flex-wrap: wrap; gap: 4px 12px; margin-top: 9px; }
|
|
161
|
+
.axdb-lg--col { flex-direction: column; flex-wrap: nowrap; gap: 6px; margin-top: 0; }
|
|
162
|
+
.axdb-lg i {
|
|
163
|
+
display: inline-flex; align-items: center; gap: 5px; font-style: normal;
|
|
164
|
+
font: 500 11px/1.3 system-ui, sans-serif; color: var(--axdb-muted);
|
|
165
|
+
}
|
|
166
|
+
.axdb-lg i b { width: 9px; height: 9px; border-radius: 3px; flex: none; }
|
|
167
|
+
|
|
168
|
+
/* table */
|
|
169
|
+
.axdb-table { width: 100%; border-collapse: collapse; font-size: 12px; color: var(--axdb-ink); }
|
|
170
|
+
.axdb-table th {
|
|
171
|
+
text-align: left; padding: 4px 8px 7px; border-bottom: 1px solid var(--axdb-line);
|
|
172
|
+
font: 600 10px/1.3 system-ui, sans-serif; letter-spacing: .4px; text-transform: uppercase;
|
|
173
|
+
color: var(--axdb-muted);
|
|
174
|
+
}
|
|
175
|
+
.axdb-table td { padding: 6px 8px; border-bottom: 1px solid var(--axdb-line); white-space: nowrap; }
|
|
176
|
+
.axdb-table td.num { text-align: right; font-variant-numeric: tabular-nums; }
|
|
177
|
+
.axdb-table tr:last-child td { border-bottom: none; }
|
|
178
|
+
|
|
179
|
+
@media (prefers-color-scheme: dark) {
|
|
180
|
+
.axdb-widget {
|
|
181
|
+
--axdb-ink: #eceef4;
|
|
182
|
+
--axdb-muted: #98a1b4;
|
|
183
|
+
--axdb-grid: rgba(150, 160, 182, .2);
|
|
184
|
+
--axdb-card: #1a1d25;
|
|
185
|
+
--axdb-line: #2b3040;
|
|
186
|
+
--axdb-soft: rgba(150, 160, 182, .16);
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
`;
|
|
190
|
+
/** Idempotently inject the kit stylesheet (safe to call per binder). */
|
|
191
|
+
export function ensureDashboardKitStyles(doc = document) {
|
|
192
|
+
if (doc.getElementById(DASHBOARD_KIT_STYLE_ID))
|
|
193
|
+
return;
|
|
194
|
+
const style = doc.createElement('style');
|
|
195
|
+
style.id = DASHBOARD_KIT_STYLE_ID;
|
|
196
|
+
style.textContent = CSS;
|
|
197
|
+
doc.head.appendChild(style);
|
|
198
|
+
}
|
|
199
|
+
//# sourceMappingURL=styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../../../../../libs/element/src/lib/dashboard-kit/styles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,MAAM,CAAC,MAAM,sBAAsB,GAAG,gCAAgC,CAAC;AAEvE,MAAM,GAAG,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqKX,CAAC;AAEF,wEAAwE;AACxE,MAAM,UAAU,wBAAwB,CAAC,MAAgB,QAAQ;IAC/D,IAAI,GAAG,CAAC,cAAc,CAAC,sBAAsB,CAAC;QAAE,OAAO;IACvD,MAAM,KAAK,GAAG,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IACzC,KAAK,CAAC,EAAE,GAAG,sBAAsB,CAAC;IAClC,KAAK,CAAC,WAAW,GAAG,GAAG,CAAC;IACxB,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC"}
|