photon-grid-core 2.0.4 → 2.0.6
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/cell-selection/cell-selection-engine.d.ts +49 -0
- package/cell-selection/cell-selection-engine.d.ts.map +1 -1
- package/cell-selection/cell-selection-engine.js +185 -6
- package/cell-selection/cell-selection-engine.js.map +1 -1
- package/core/grid-api.d.ts +83 -0
- package/core/grid-api.d.ts.map +1 -1
- package/core/grid-api.js +118 -1
- package/core/grid-api.js.map +1 -1
- package/core/grid-core.d.ts.map +1 -1
- package/core/grid-core.js +14 -4
- package/core/grid-core.js.map +1 -1
- package/engines/clipboard/clipboard-engine.d.ts +3 -2
- package/engines/clipboard/clipboard-engine.d.ts.map +1 -1
- package/engines/clipboard/clipboard-engine.js +4 -3
- package/engines/clipboard/clipboard-engine.js.map +1 -1
- package/engines/filter/filter-engine.d.ts +16 -0
- package/engines/filter/filter-engine.d.ts.map +1 -1
- package/engines/filter/filter-engine.js +20 -0
- package/engines/filter/filter-engine.js.map +1 -1
- package/engines/filter/filter-panel.d.ts.map +1 -1
- package/engines/filter/filter-panel.js +6 -1
- package/engines/filter/filter-panel.js.map +1 -1
- package/engines/master-detail/master-detail-engine.d.ts +4 -3
- package/engines/master-detail/master-detail-engine.d.ts.map +1 -1
- package/engines/master-detail/master-detail-engine.js +14 -5
- package/engines/master-detail/master-detail-engine.js.map +1 -1
- package/engines/selection/row-selection-engine.d.ts +41 -0
- package/engines/selection/row-selection-engine.d.ts.map +1 -1
- package/engines/selection/row-selection-engine.js +103 -0
- package/engines/selection/row-selection-engine.js.map +1 -1
- package/index.d.ts +2 -1
- package/index.d.ts.map +1 -1
- package/index.js +1 -0
- package/index.js.map +1 -1
- package/package.json +1 -1
- package/photon-ai/builtins/filter.commands.d.ts +15 -0
- package/photon-ai/builtins/filter.commands.d.ts.map +1 -1
- package/photon-ai/builtins/filter.commands.js +5 -5
- package/photon-ai/builtins/filter.commands.js.map +1 -1
- package/photon-ai/builtins/selection.commands.d.ts.map +1 -1
- package/photon-ai/builtins/selection.commands.js +161 -2
- package/photon-ai/builtins/selection.commands.js.map +1 -1
- package/photon-ai/provider/command-normalizer.d.ts.map +1 -1
- package/photon-ai/provider/command-normalizer.js +5 -1
- package/photon-ai/provider/command-normalizer.js.map +1 -1
- package/photon-ai/provider/system-prompt.d.ts.map +1 -1
- package/photon-ai/provider/system-prompt.js +3 -1
- package/photon-ai/provider/system-prompt.js.map +1 -1
- package/photon-grid.min.js +349 -498
- package/renderer/auto-scroller.d.ts +11 -1
- package/renderer/auto-scroller.d.ts.map +1 -1
- package/renderer/auto-scroller.js +34 -19
- package/renderer/auto-scroller.js.map +1 -1
- package/renderer/body-renderer.d.ts +16 -0
- package/renderer/body-renderer.d.ts.map +1 -1
- package/renderer/body-renderer.js +54 -1
- package/renderer/body-renderer.js.map +1 -1
- package/renderer/cell-renderer.d.ts +9 -1
- package/renderer/cell-renderer.d.ts.map +1 -1
- package/renderer/cell-renderer.js +16 -2
- package/renderer/cell-renderer.js.map +1 -1
- package/renderer/detail-row-renderer.d.ts.map +1 -1
- package/renderer/detail-row-renderer.js +1 -1
- package/renderer/detail-row-renderer.js.map +1 -1
- package/renderer/grid-renderer.d.ts +33 -1
- package/renderer/grid-renderer.d.ts.map +1 -1
- package/renderer/grid-renderer.js +138 -2
- package/renderer/grid-renderer.js.map +1 -1
- package/renderer/header-renderer.d.ts +44 -0
- package/renderer/header-renderer.d.ts.map +1 -1
- package/renderer/header-renderer.js +145 -19
- package/renderer/header-renderer.js.map +1 -1
- package/renderer/row-animator.d.ts +18 -1
- package/renderer/row-animator.d.ts.map +1 -1
- package/renderer/row-animator.js +93 -17
- package/renderer/row-animator.js.map +1 -1
- package/renderer/scroll-controller.d.ts.map +1 -1
- package/renderer/scroll-controller.js +31 -13
- package/renderer/scroll-controller.js.map +1 -1
- package/styles/base/cells.css.d.ts +1 -1
- package/styles/base/cells.css.d.ts.map +1 -1
- package/styles/base/cells.css.js +13 -13
- package/styles/base/column-context-menu.css.d.ts +1 -1
- package/styles/base/column-context-menu.css.d.ts.map +1 -1
- package/styles/base/column-context-menu.css.js +19 -5
- package/styles/base/column-context-menu.css.js.map +1 -1
- package/styles/base/column-group-header.css.d.ts +1 -1
- package/styles/base/column-group-header.css.d.ts.map +1 -1
- package/styles/base/column-group-header.css.js +5 -1
- package/styles/base/column-group-header.css.js.map +1 -1
- package/styles/base/context-menu.css.d.ts +1 -1
- package/styles/base/context-menu.css.d.ts.map +1 -1
- package/styles/base/context-menu.css.js +23 -0
- package/styles/base/context-menu.css.js.map +1 -1
- package/styles/base/filter.css.d.ts +1 -1
- package/styles/base/filter.css.d.ts.map +1 -1
- package/styles/base/filter.css.js +49 -8
- package/styles/base/filter.css.js.map +1 -1
- package/styles/base/group-drop-zone.css.d.ts +1 -1
- package/styles/base/group-drop-zone.css.d.ts.map +1 -1
- package/styles/base/group-drop-zone.css.js +3 -3
- package/styles/base/header.css.d.ts +1 -1
- package/styles/base/header.css.d.ts.map +1 -1
- package/styles/base/header.css.js +8 -1
- package/styles/base/header.css.js.map +1 -1
- package/styles/base/row-drag.css.d.ts +1 -1
- package/styles/base/row-drag.css.d.ts.map +1 -1
- package/styles/base/row-drag.css.js +1 -1
- package/styles/base/rows.css.d.ts +1 -1
- package/styles/base/rows.css.d.ts.map +1 -1
- package/styles/base/rows.css.js +23 -16
- package/styles/base/rows.css.js.map +1 -1
- package/styles/base/scrollbars.css.d.ts +1 -1
- package/styles/base/scrollbars.css.d.ts.map +1 -1
- package/styles/base/scrollbars.css.js +6 -3
- package/styles/base/scrollbars.css.js.map +1 -1
- package/styles/base/sparkline.css.d.ts +1 -1
- package/styles/base/sparkline.css.d.ts.map +1 -1
- package/styles/base/sparkline.css.js +6 -0
- package/styles/base/sparkline.css.js.map +1 -1
- package/styles/base/tooltip.css.d.ts +1 -1
- package/styles/base/tooltip.css.d.ts.map +1 -1
- package/styles/base/tooltip.css.js +1 -1
- package/styles/base-styles.d.ts.map +1 -1
- package/styles/base-styles.js +5 -2
- package/styles/base-styles.js.map +1 -1
- package/styles/themes/theme-alpine.d.ts +9 -1
- package/styles/themes/theme-alpine.d.ts.map +1 -1
- package/styles/themes/theme-alpine.js +34 -43
- package/styles/themes/theme-alpine.js.map +1 -1
- package/styles/themes/theme-balham.d.ts +9 -1
- package/styles/themes/theme-balham.d.ts.map +1 -1
- package/styles/themes/theme-balham.js +33 -42
- package/styles/themes/theme-balham.js.map +1 -1
- package/styles/themes/theme-material.d.ts +9 -1
- package/styles/themes/theme-material.d.ts.map +1 -1
- package/styles/themes/theme-material.js +36 -44
- package/styles/themes/theme-material.js.map +1 -1
- package/styles/themes/theme-quartz.d.ts +14 -1
- package/styles/themes/theme-quartz.d.ts.map +1 -1
- package/styles/themes/theme-quartz.js +64 -43
- package/styles/themes/theme-quartz.js.map +1 -1
- package/theme/theme-manager.d.ts +55 -7
- package/theme/theme-manager.d.ts.map +1 -1
- package/theme/theme-manager.js +139 -35
- package/theme/theme-manager.js.map +1 -1
- package/theme/themes/light-theme.js +1 -1
- package/types/column.types.d.ts +42 -0
- package/types/column.types.d.ts.map +1 -1
- package/types/column.types.js +26 -1
- package/types/column.types.js.map +1 -1
- package/types/grid.types.d.ts +90 -2
- package/types/grid.types.d.ts.map +1 -1
- package/types/theme.types.d.ts +19 -0
- package/types/theme.types.d.ts.map +1 -1
- package/types/theme.types.js +7 -1
- package/types/theme.types.js.map +1 -1
- package/styles/themes/theme-dark.d.ts +0 -2
- package/styles/themes/theme-dark.d.ts.map +0 -1
- package/styles/themes/theme-dark.js +0 -219
- package/styles/themes/theme-dark.js.map +0 -1
|
@@ -58,9 +58,13 @@ export const filterCss = `/* ─────────────────
|
|
|
58
58
|
|
|
59
59
|
.pg-filter-cell {
|
|
60
60
|
display: flex;
|
|
61
|
+
gap: 6px;
|
|
61
62
|
align-items: center;
|
|
62
63
|
flex-shrink: 0;
|
|
63
64
|
padding: 0 6px;
|
|
65
|
+
/* Column divider — themed, and gated by showVerticalBorders (removed under
|
|
66
|
+
.pg-grid--no-v-borders, same as .pg-th/.pg-cell) so the filter row's
|
|
67
|
+
vertical lines stay continuous with the header and body columns. */
|
|
64
68
|
border-right: 1px solid var(--pg-colors-border, #e2e8f0);
|
|
65
69
|
}
|
|
66
70
|
.pg-filter-cell:last-child { border-right: none; }
|
|
@@ -77,8 +81,11 @@ export const filterCss = `/* ─────────────────
|
|
|
77
81
|
flex-shrink: 0;
|
|
78
82
|
}
|
|
79
83
|
.pg-filter-input {
|
|
80
|
-
|
|
81
|
-
|
|
84
|
+
/* Grow to fill the cell but yield room for the trailing filter icon. */
|
|
85
|
+
flex: 1 1 auto;
|
|
86
|
+
width: auto !important;
|
|
87
|
+
min-width: 0 !important;
|
|
88
|
+
height: 70%;
|
|
82
89
|
padding: 0 8px;
|
|
83
90
|
border: 1px solid var(--pg-colors-border, #e2e8f0);
|
|
84
91
|
border-radius: var(--pg-borders-radius-sm, 4px);
|
|
@@ -91,6 +98,40 @@ export const filterCss = `/* ─────────────────
|
|
|
91
98
|
}
|
|
92
99
|
.pg-filter-input:focus { border-color: var(--pg-colors-border-focus, #2563eb); }
|
|
93
100
|
|
|
101
|
+
/* Set-type columns (object / array / dropdown): read-only input that looks
|
|
102
|
+
disabled and opens the checkbox filter dropdown on click. */
|
|
103
|
+
.pg-filter-input--set {
|
|
104
|
+
cursor: pointer;
|
|
105
|
+
color: var(--pg-colors-text-secondary, #64748b);
|
|
106
|
+
background: var(--pg-colors-background-alt, #f1f5f9);
|
|
107
|
+
}
|
|
108
|
+
.pg-filter-input--set::placeholder { color: var(--pg-colors-text-secondary, #64748b); }
|
|
109
|
+
|
|
110
|
+
/* Trailing filter icon inside each filter cell — opens the filter panel. */
|
|
111
|
+
.pg-filter-cell__icon {
|
|
112
|
+
display: inline-flex;
|
|
113
|
+
align-items: center;
|
|
114
|
+
justify-content: center;
|
|
115
|
+
flex-shrink: 0;
|
|
116
|
+
width: 22px;
|
|
117
|
+
height: 22px;
|
|
118
|
+
border-radius: var(--pg-borders-radius-sm, 4px);
|
|
119
|
+
color: var(--pg-colors-text-secondary, #64748b);
|
|
120
|
+
cursor: pointer;
|
|
121
|
+
transition: background var(--pg-transitions-duration-fast, 100ms),
|
|
122
|
+
color var(--pg-transitions-duration-fast, 100ms);
|
|
123
|
+
}
|
|
124
|
+
.pg-filter-cell__icon:hover {
|
|
125
|
+
background: var(--pg-colors-background-alt, #f1f5f9);
|
|
126
|
+
color: var(--pg-colors-text-primary, #1e293b);
|
|
127
|
+
}
|
|
128
|
+
.pg-filter-cell__icon:focus-visible {
|
|
129
|
+
outline: 2px solid var(--pg-colors-border-focus, #2563eb);
|
|
130
|
+
outline-offset: -1px;
|
|
131
|
+
}
|
|
132
|
+
.pg-filter-cell__icon svg { display: block; }
|
|
133
|
+
.pg-filter-cell__icon--active { color: var(--pg-colors-primary, #2563eb); }
|
|
134
|
+
|
|
94
135
|
/* ──────────────────── Filter Panel ──────────────────── */
|
|
95
136
|
.pg-filter-panel {
|
|
96
137
|
position: absolute;
|
|
@@ -104,7 +145,7 @@ export const filterCss = `/* ─────────────────
|
|
|
104
145
|
box-shadow: var(--pg-shadows-lg, 0 8px 24px rgba(0,0,0,.12));
|
|
105
146
|
overflow: hidden;
|
|
106
147
|
font-size: var(--pg-typography-font-size-sm, 13px);
|
|
107
|
-
color: var(--pg-colors-text, #1e293b);
|
|
148
|
+
color: var(--pg-colors-text-primary, #1e293b);
|
|
108
149
|
user-select: none;
|
|
109
150
|
}
|
|
110
151
|
|
|
@@ -121,7 +162,7 @@ export const filterCss = `/* ─────────────────
|
|
|
121
162
|
border: 1px solid var(--pg-colors-border, #e2e8f0);
|
|
122
163
|
border-radius: var(--pg-borders-radius-sm, 4px);
|
|
123
164
|
background: var(--pg-colors-surface, #fff);
|
|
124
|
-
color: var(--pg-colors-text, #1e293b);
|
|
165
|
+
color: var(--pg-colors-text-primary, #1e293b);
|
|
125
166
|
font-size: inherit;
|
|
126
167
|
font-family: inherit;
|
|
127
168
|
cursor: pointer;
|
|
@@ -149,7 +190,7 @@ export const filterCss = `/* ─────────────────
|
|
|
149
190
|
border: 1px solid var(--pg-colors-border, #e2e8f0);
|
|
150
191
|
border-radius: var(--pg-borders-radius-sm, 4px);
|
|
151
192
|
background: var(--pg-colors-surface, #fff);
|
|
152
|
-
color: var(--pg-colors-text, #1e293b);
|
|
193
|
+
color: var(--pg-colors-text-primary, #1e293b);
|
|
153
194
|
font-size: inherit;
|
|
154
195
|
font-family: inherit;
|
|
155
196
|
outline: none;
|
|
@@ -212,7 +253,7 @@ export const filterCss = `/* ─────────────────
|
|
|
212
253
|
border: 1px solid var(--pg-colors-border, #e2e8f0);
|
|
213
254
|
border-radius: var(--pg-borders-radius-sm, 4px);
|
|
214
255
|
background: var(--pg-colors-surface, #fff);
|
|
215
|
-
color: var(--pg-colors-text, #1e293b);
|
|
256
|
+
color: var(--pg-colors-text-primary, #1e293b);
|
|
216
257
|
font-size: inherit;
|
|
217
258
|
font-family: inherit;
|
|
218
259
|
box-sizing: border-box;
|
|
@@ -245,7 +286,7 @@ export const filterCss = `/* ─────────────────
|
|
|
245
286
|
.pg-filter-set__item--select-all {
|
|
246
287
|
position: static;
|
|
247
288
|
font-weight: 500;
|
|
248
|
-
color: var(--pg-colors-text, #1e293b);
|
|
289
|
+
color: var(--pg-colors-text-primary, #1e293b);
|
|
249
290
|
}
|
|
250
291
|
.pg-filter-set__item-label {
|
|
251
292
|
overflow: hidden;
|
|
@@ -305,7 +346,7 @@ export const filterCss = `/* ─────────────────
|
|
|
305
346
|
.pg-filter-panel__clear-btn:hover {
|
|
306
347
|
background: var(--pg-colors-background-alt, #f1f5f9);
|
|
307
348
|
border-color: var(--pg-colors-text-secondary, #475569);
|
|
308
|
-
color: var(--pg-colors-text, #1e293b);
|
|
349
|
+
color: var(--pg-colors-text-primary, #1e293b);
|
|
309
350
|
}
|
|
310
351
|
|
|
311
352
|
`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filter.css.js","sourceRoot":"","sources":["../../../src/styles/base/filter.css.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG
|
|
1
|
+
{"version":3,"file":"filter.css.js","sourceRoot":"","sources":["../../../src/styles/base/filter.css.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwVxB,CAAC"}
|
|
@@ -5,5 +5,5 @@
|
|
|
5
5
|
* base-styles.ts; edit here, not there. Order is preserved because CSS
|
|
6
6
|
* cascade depends on it.
|
|
7
7
|
*/
|
|
8
|
-
export declare const groupDropZoneCss = "/* \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 Group drop zone \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n.pg-group-drop-zone--top {\n display: flex;\n flex-direction: row;\n align-items: center;\n flex-shrink: 0;\n height: var(--pg-header-row-height, 44px);\n background: var(--pg-colors-header-background, #f8fafc);\n border-bottom: 1px solid var(--pg-colors-border, #e2e8f0);\n overflow: hidden;\n}\n.pg-group-drop-zone--left {\n display: flex;\n flex-direction: column;\n flex-shrink: 0;\n width: 160px;\n background: var(--pg-colors-header-background, #f8fafc);\n border-right: 1px solid var(--pg-colors-border, #e2e8f0);\n overflow: hidden;\n position: relative;\n}\n.pg-group-drop-zone--right {\n display: flex;\n flex-direction: column;\n flex-shrink: 0;\n width: 160px;\n background: var(--pg-colors-header-background, #f8fafc);\n border-left: 1px solid var(--pg-colors-border, #e2e8f0);\n overflow: hidden;\n position: relative;\n}\n\n/* Zone header row (grip + \"Groups\" label) */\n.pg-group-zone-header {\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 4px 10px 4px 8px;\n flex-shrink: 0;\n border-bottom: 1px solid var(--pg-colors-border, #e2e8f0);\n user-select: none;\n}\n.pg-group-zone-grip {\n display: flex;\n align-items: center;\n cursor: grab;\n opacity: 0.45;\n padding: 2px 3px;\n border-radius: 3px;\n color: var(--pg-colors-text-secondary, #64748b);\n flex-shrink: 0;\n transition: opacity 100ms, background 100ms;\n}\n.pg-group-zone-grip:hover { opacity: 0.85; background: rgba(0,0,0,0.06); }\n.pg-group-zone-grip:active { cursor: grabbing; }\n.pg-group-zone-label {\n flex: 1;\n font-size: 11px;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.04em;\n color: var(--pg-colors-text-secondary, #64748b);\n user-select: none;\n}\n\n/* Chips area (the actual drop target) */\n.pg-group-zone-chips {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n gap: 6px;\n padding: 6px 10px;\n min-height: 38px;\n flex: 1;\n overflow: auto;\n}\n.pg-group-drop-zone--left .pg-group-zone-chips,\n.pg-group-drop-zone--right .pg-group-zone-chips {\n flex-direction: column;\n align-items: flex-start;\n overflow-y: auto;\n overflow-x: hidden;\n}\n.pg-group-zone-chips--over {\n background: var(--pg-colors-group-zone-over, #eff6ff);\n outline: 1px dashed var(--pg-colors-primary, #2563eb);\n outline-offset: -2px;\n}\n\n/* Resize handle */\n.pg-group-drop-zone--top .pg-group-zone-resize {\n height: 4px;\n flex-shrink: 0;\n cursor: ns-resize;\n background: transparent;\n transition: background 100ms;\n}\n.pg-group-drop-zone--top .pg-group-zone-resize:hover { background: var(--pg-colors-primary, #2563eb); opacity: 0.35; }\n.pg-group-drop-zone--left .pg-group-zone-resize {\n position: absolute;\n top: 0; right: 0; bottom: 0;\n width: 4px;\n cursor: ew-resize;\n background: transparent;\n transition: background 100ms;\n}\n.pg-group-drop-zone--right .pg-group-zone-resize {\n position: absolute;\n top: 0; left: 0; bottom: 0;\n width: 4px;\n cursor: ew-resize;\n background: transparent;\n transition: background 100ms;\n}\n.pg-group-drop-zone--left .pg-group-zone-resize:hover,\n.pg-group-drop-zone--right .pg-group-zone-resize:hover { background: var(--pg-colors-primary, #2563eb); opacity: 0.35; }\n\n/* Hint text */\n.pg-group-drop-zone__hint {\n font-size: var(--pg-typography-font-size-sm, 12px);\n color: var(--pg-colors-text-disabled, #94a3b8);\n pointer-events: none;\n user-select: none;\n}\n\n/* Chips */\n.pg-group-chip {\n display: inline-flex;\n align-items: center;\n gap: 5px;\n padding: 3px 6px 3px 10px;\n border-radius: var(--pg-borders-radius-pill, 9999px);\n background: var(--pg-colors-chip-background, #e0e7ff);\n color: var(--pg-colors-chip-text, #1e40af);\n font-size: var(--pg-typography-font-size-sm, 12px);\n font-weight: var(--pg-typography-font-weight-medium, 500);\n user-select: none;\n white-space: nowrap;\n transition: opacity 120ms;\n}\n.pg-group-chip--ghost {\n cursor: grabbing;\n}\n.pg-group-chip__label { line-height: 1.2; }\n.pg-group-chip__close {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 16px;\n height: 16px;\n border-radius: 50%;\n cursor: pointer;\n opacity: 0.55;\n transition: opacity 100ms, background 100ms;\n flex-shrink: 0;\n}\n.pg-group-chip__close:hover { opacity: 1; background: rgba(30,64,175,0.18); }\n.pg-group-chip__sep {\n display: inline-flex;\n align-items: center;\n color: var(--pg-colors-text-disabled, #94a3b8);\n flex-shrink: 0;\n}\n\n";
|
|
8
|
+
export declare const groupDropZoneCss = "/* \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 Group drop zone \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n.pg-group-drop-zone--top {\n display: flex;\n flex-direction: row;\n align-items: center;\n flex-shrink: 0;\n height: var(--pg-header-row-height, 44px);\n background: var(--pg-colors-header-background, #f8fafc);\n border-bottom: 1px solid var(--pg-colors-border, #e2e8f0);\n overflow: hidden;\n}\n.pg-group-drop-zone--left {\n display: flex;\n flex-direction: column;\n flex-shrink: 0;\n width: 160px;\n background: var(--pg-colors-header-background, #f8fafc);\n border-right: 1px solid var(--pg-colors-border, #e2e8f0);\n overflow: hidden;\n position: relative;\n}\n.pg-group-drop-zone--right {\n display: flex;\n flex-direction: column;\n flex-shrink: 0;\n width: 160px;\n background: var(--pg-colors-header-background, #f8fafc);\n border-left: 1px solid var(--pg-colors-border, #e2e8f0);\n overflow: hidden;\n position: relative;\n}\n\n/* Zone header row (grip + \"Groups\" label) */\n.pg-group-zone-header {\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 4px 10px 4px 8px;\n flex-shrink: 0;\n border-bottom: 1px solid var(--pg-colors-border, #e2e8f0);\n user-select: none;\n}\n.pg-group-zone-grip {\n display: flex;\n align-items: center;\n cursor: grab;\n opacity: 0.45;\n padding: 2px 3px;\n border-radius: 3px;\n color: var(--pg-colors-text-secondary, #64748b);\n flex-shrink: 0;\n transition: opacity 100ms, background 100ms;\n}\n.pg-group-zone-grip:hover { opacity: 0.85; background: rgba(0,0,0,0.06); }\n.pg-group-zone-grip:active { cursor: grabbing; }\n.pg-group-zone-label {\n flex: 1;\n font-size: 11px;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.04em;\n color: var(--pg-colors-text-secondary, #64748b);\n user-select: none;\n}\n\n/* Chips area (the actual drop target) */\n.pg-group-zone-chips {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n gap: 6px;\n padding: 6px 10px;\n min-height: 38px;\n flex: 1;\n overflow: auto;\n}\n.pg-group-drop-zone--left .pg-group-zone-chips,\n.pg-group-drop-zone--right .pg-group-zone-chips {\n flex-direction: column;\n align-items: flex-start;\n overflow-y: auto;\n overflow-x: hidden;\n}\n.pg-group-zone-chips--over {\n background: var(--pg-colors-group-zone-over, var(--pg-colors-selection-background, #eff6ff));\n outline: 1px dashed var(--pg-colors-primary, #2563eb);\n outline-offset: -2px;\n}\n\n/* Resize handle */\n.pg-group-drop-zone--top .pg-group-zone-resize {\n height: 4px;\n flex-shrink: 0;\n cursor: ns-resize;\n background: transparent;\n transition: background 100ms;\n}\n.pg-group-drop-zone--top .pg-group-zone-resize:hover { background: var(--pg-colors-primary, #2563eb); opacity: 0.35; }\n.pg-group-drop-zone--left .pg-group-zone-resize {\n position: absolute;\n top: 0; right: 0; bottom: 0;\n width: 4px;\n cursor: ew-resize;\n background: transparent;\n transition: background 100ms;\n}\n.pg-group-drop-zone--right .pg-group-zone-resize {\n position: absolute;\n top: 0; left: 0; bottom: 0;\n width: 4px;\n cursor: ew-resize;\n background: transparent;\n transition: background 100ms;\n}\n.pg-group-drop-zone--left .pg-group-zone-resize:hover,\n.pg-group-drop-zone--right .pg-group-zone-resize:hover { background: var(--pg-colors-primary, #2563eb); opacity: 0.35; }\n\n/* Hint text */\n.pg-group-drop-zone__hint {\n font-size: var(--pg-typography-font-size-sm, 12px);\n color: var(--pg-colors-text-disabled, #94a3b8);\n pointer-events: none;\n user-select: none;\n}\n\n/* Chips */\n.pg-group-chip {\n display: inline-flex;\n align-items: center;\n gap: 5px;\n padding: 3px 6px 3px 10px;\n border-radius: var(--pg-borders-radius-pill, 9999px);\n background: var(--pg-colors-chip-background, var(--pg-colors-badge-background, #e0e7ff));\n color: var(--pg-colors-chip-text, var(--pg-colors-badge-text, #1e40af));\n font-size: var(--pg-typography-font-size-sm, 12px);\n font-weight: var(--pg-typography-font-weight-medium, 500);\n user-select: none;\n white-space: nowrap;\n transition: opacity 120ms;\n}\n.pg-group-chip--ghost {\n cursor: grabbing;\n}\n.pg-group-chip__label { line-height: 1.2; }\n.pg-group-chip__close {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 16px;\n height: 16px;\n border-radius: 50%;\n cursor: pointer;\n opacity: 0.55;\n transition: opacity 100ms, background 100ms;\n flex-shrink: 0;\n}\n.pg-group-chip__close:hover { opacity: 1; background: rgba(30,64,175,0.18); }\n.pg-group-chip__sep {\n display: inline-flex;\n align-items: center;\n color: var(--pg-colors-text-disabled, #94a3b8);\n flex-shrink: 0;\n}\n\n";
|
|
9
9
|
//# sourceMappingURL=group-drop-zone.css.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"group-drop-zone.css.d.ts","sourceRoot":"","sources":["../../../src/styles/base/group-drop-zone.css.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,
|
|
1
|
+
{"version":3,"file":"group-drop-zone.css.d.ts","sourceRoot":"","sources":["../../../src/styles/base/group-drop-zone.css.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,gxJAoK5B,CAAC"}
|
|
@@ -89,7 +89,7 @@ export const groupDropZoneCss = `/* ──────────────
|
|
|
89
89
|
overflow-x: hidden;
|
|
90
90
|
}
|
|
91
91
|
.pg-group-zone-chips--over {
|
|
92
|
-
background: var(--pg-colors-group-zone-over, #eff6ff);
|
|
92
|
+
background: var(--pg-colors-group-zone-over, var(--pg-colors-selection-background, #eff6ff));
|
|
93
93
|
outline: 1px dashed var(--pg-colors-primary, #2563eb);
|
|
94
94
|
outline-offset: -2px;
|
|
95
95
|
}
|
|
@@ -137,8 +137,8 @@ export const groupDropZoneCss = `/* ──────────────
|
|
|
137
137
|
gap: 5px;
|
|
138
138
|
padding: 3px 6px 3px 10px;
|
|
139
139
|
border-radius: var(--pg-borders-radius-pill, 9999px);
|
|
140
|
-
background: var(--pg-colors-chip-background, #e0e7ff);
|
|
141
|
-
color: var(--pg-colors-chip-text, #1e40af);
|
|
140
|
+
background: var(--pg-colors-chip-background, var(--pg-colors-badge-background, #e0e7ff));
|
|
141
|
+
color: var(--pg-colors-chip-text, var(--pg-colors-badge-text, #1e40af));
|
|
142
142
|
font-size: var(--pg-typography-font-size-sm, 12px);
|
|
143
143
|
font-weight: var(--pg-typography-font-weight-medium, 500);
|
|
144
144
|
user-select: none;
|
|
@@ -5,5 +5,5 @@
|
|
|
5
5
|
* base-styles.ts; edit here, not there. Order is preserved because CSS
|
|
6
6
|
* cascade depends on it.
|
|
7
7
|
*/
|
|
8
|
-
export declare const headerCss = "/* \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 Header rows \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n.pg-header-row, .pg-filter-row {\n display: flex;\n align-items: stretch;\n}\n.pg-header-row { height: var(--pg-header-row-height, 44px); }\n.pg-filter-row {\n height: var(--pg-filter-row-height, 36px);\n border-top: 1px solid var(--pg-colors-border, #e2e8f0);\n background: var(--pg-colors-filter-background, #
|
|
8
|
+
export declare const headerCss = "/* \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 Header rows \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n.pg-header-row, .pg-filter-row {\n display: flex;\n align-items: stretch;\n}\n.pg-header-row { height: var(--pg-header-row-height, 44px); }\n.pg-filter-row {\n height: var(--pg-filter-row-height, 36px);\n border-top: 1px solid var(--pg-colors-border, #e2e8f0);\n /* Filter row shares the header surface so it reads as one chrome band across\n every mode/variant. A theme may still override via --pg-colors-filter-background. */\n background: var(--pg-colors-filter-background, var(--pg-colors-header-background, #f8fafc));\n}\n.pg-th {\n display: flex;\n align-items: center;\n position: relative;\n flex-shrink: 0;\n padding: 0;\n color: var(--pg-colors-header-text, #374151);\n font-weight: var(--pg-typography-font-weight-semi-bold, 600);\n font-size: var(--pg-typography-font-size-sm, 12px);\n letter-spacing: var(--pg-typography-letter-spacing-wide, 0.025em);\n text-transform: uppercase;\n border-right: 1px solid var(--pg-colors-header-border, #e2e8f0);\n user-select: none;\n cursor: default;\n transition: background var(--pg-transitions-duration-fast, 100ms);\n overflow: hidden;\n min-width: var(--pg-sizing-column-min-width, 40px);\n}\n.pg-th:last-child { border-right: none; }\n.pg-th--sortable { cursor: pointer; }\n// .pg-th:hover, .pg-th.pg-th--sortable:hover { background: var(--pg-colors-header-hover, #f1f5f9); }\n// .pg-th.pg-th--sorted { background: var(--pg-colors-header-hover, #f1f5f9); }\n.pg-th.pg-th--sort-asc .pg-th__sort-icon,\n.pg-th.pg-th--sort-desc .pg-th__sort-icon { color: var(--pg-colors-primary, #2563eb); }\n.pg-th.pg-th--filter-active .pg-th__label { color: var(--pg-colors-primary, #2563eb); }\n.pg-th--checkbox {\n width: 44px;\n min-width: 44px;\n max-width: 44px;\n justify-content: center;\n flex-shrink: 0;\n}\n.pg-th--serial {\n width: 52px;\n min-width: 52px;\n max-width: 52px;\n justify-content: center;\n flex-shrink: 0;\n}\n.pg-th--auto-group {\n flex-shrink: 0;\n background: var(--pg-colors-header-background, #f8fafc);\n border-right: 1px solid var(--pg-colors-border, #e2e8f0);\n font-weight: var(--pg-typography-font-weight-semi-bold, 600);\n font-size: var(--pg-typography-font-size-xs, 11px);\n text-transform: uppercase;\n letter-spacing: 0.04em;\n color: var(--pg-colors-text-secondary, #64748b);\n}\n.pg-cell--auto-group-spacer {\n flex-shrink: 0;\n border-right: 1px solid var(--pg-colors-border, #e2e8f0);\n background: transparent;\n}\n.pg-th__content {\n display: flex;\n align-items: center;\n gap: 10px;\n flex: 1;\n min-width: 0;\n padding: 0 10px 0 12px;\n height: 100%;\n}\n.pg-th__label {\n flex: 0 1 auto;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.pg-th__sort-icon { flex-shrink: 0; opacity: 0; color: var(--pg-colors-text-secondary, #475569); }\n/* Aligned column headers */\n.pg-th--align-right .pg-th__label { text-align: right; }\n.pg-th--align-center .pg-th__label { text-align: center; }\n.pg-th--align-center .pg-th__content,\n.pg-th--no-group .pg-th__content {\n justify-content: center;\n}\n.pg-th--no-group .pg-th__label {\n text-align: center;\n}\n/* Reversed header layout for numeric/currency columns: icons LEFT, text RIGHT */\n.pg-th--reverse { flex-direction: row-reverse; }\n.pg-th--reverse .pg-th__content { flex-direction: row-reverse; padding: 0 12px 0 10px; }\n.pg-th--reverse .pg-th__label { flex: 1 1 auto; }\n.pg-th--reverse .pg-th__filter-btn { margin-right: 0; margin-left: 2px; }\n.pg-th--reverse .pg-th__menu-btn { margin-right: 0; margin-left: 4px; }\n.pg-th--sort-asc .pg-th__sort-icon,\n.pg-th--sort-desc .pg-th__sort-icon { opacity: 1; color: var(--pg-colors-primary, #2563eb); }\n/* \u2500\u2500\u2500 Column header filter button \u2500\u2500\u2500 */\n.pg-th__filter-btn {\n flex-shrink: 0;\n display: none;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n padding: 4px;\n margin-right: 2px;\n border-radius: var(--pg-borders-radius-sm, 4px);\n color: var(--pg-colors-text-secondary, #475569);\n opacity: 0.7;\n transition: opacity var(--pg-transitions-duration-fast, 100ms),\n color var(--pg-transitions-duration-fast, 100ms),\n background var(--pg-transitions-duration-fast, 100ms);\n}\n.pg-th:hover .pg-th__filter-btn,\n.pg-th__filter-btn--active { display: flex; }\n/* Always-visible mode \u2014 opt in via headerIcons.filter / ColumnDef.filterIconDisplay */\n.pg-th__filter-btn--always { display: flex; }\n.pg-th__filter-btn:hover { opacity: 1; background: var(--pg-colors-background-alt, #f1f5f9); }\n.pg-th__filter-btn--active {\n opacity: 1;\n color: var(--pg-colors-primary, #2563eb);\n}\n.pg-th__filter-icon { flex-shrink: 0; color: var(--pg-colors-primary, #2563eb); }\n.pg-th__menu-btn {\n flex-shrink: 0;\n display: none;\n cursor: pointer;\n padding: 6px;\n margin-right: 4px;\n border-radius: var(--pg-borders-radius-sm, 4px);\n color: var(--pg-colors-text-secondary, #475569);\n opacity: 0.6;\n transition: opacity var(--pg-transitions-duration-fast, 100ms);\n}\n.pg-th:hover .pg-th__menu-btn,\n.pg-th__menu-btn--active { display: flex; }\n/* Always-visible mode \u2014 opt in via headerIcons.menu / ColumnDef.menuIconDisplay */\n.pg-th__menu-btn--always { display: flex; }\n.pg-th__menu-btn:hover { opacity: 1; background: var(--pg-colors-background-alt, #f1f5f9); }\n.pg-th__menu-btn--active { opacity: 1; background: var(--pg-colors-border, #e2e8f0); }\n.pg-th__resize-handle {\n position: absolute;\n right: -1px;\n top: 0;\n width: 6px;\n height: 50%;\n top: 25%;\n cursor: ew-resize;\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--pg-colors-resize-handle-color, #d9d9db);\n background: transparent;\n transition: background var(--pg-transitions-duration-fast, 100ms);\n z-index: 5;\n font-size: 10px;\n user-select: none;\n background: #d6d6d6;\n width: 2px;\n}\n/* Right-pinned columns anchor their right edge to the grid border, so the\n resize handle lives on the inner (left) edge \u2014 the edge free to move. */\n.pg-th--pinned-right .pg-th__resize-handle {\n right: auto;\n left: -1px;\n}\n.pg-th__resize-handle:hover,\n.pg-th.pg-resizing .pg-th__resize-handle,\n.pg-th--resizing .pg-th__resize-handle {\n // background: var(--pg-colors-resize-handle-active-color, #2563eb);\n}\n\n/* No vertical-borders mode: completely remove the 1px border slot from both headers and cells */\n.pg-grid--no-v-borders .pg-th { border-right: none; }\n.pg-grid--no-v-borders .pg-filter-cell { border-right: none; }\n.pg-grid--no-v-borders .pg-cell { border-right: none; }\n// .pg-grid--no-v-borders .pg-th__resize-handle {\n// background: var(--pg-colors-resize-handle-color, #e2e8f0);\n// }\n.pg-grid--no-v-borders .pg-th__resize-handle:hover,\n.pg-grid--no-v-borders .pg-th.pg-resizing .pg-th__resize-handle,\n.pg-grid--no-v-borders .pg-th--resizing .pg-th__resize-handle {\n // background: var(--pg-colors-resize-handle-active-color, #2563eb);\n}\n.pg-th__drag-handle {\n position: absolute;\n left: 2px;\n top: 50%;\n transform: translateY(-50%);\n display: none;\n align-items: center;\n justify-content: center;\n width: 16px;\n height: 24px;\n cursor: grab;\n color: var(--pg-colors-text-secondary, #475569);\n z-index: 2;\n border-radius: 3px;\n}\n.pg-th:hover .pg-th__drag-handle { display: flex; opacity: 0.5; }\n.pg-th__drag-handle:hover { opacity: 1 !important; background: var(--pg-colors-background-alt, #f1f5f9); }\n.pg-th--dragging { opacity: 0.72; cursor: grabbing !important; }\n.pg-th__serial-label { font-size: 11px; opacity: 0.45; }\n.pg-header-checkbox { cursor: pointer; width: 16px; height: 16px; }\n\n/* Inline column-header rename input (column menu \u2192 Rename). */\n.pg-th__rename-input {\n flex: 1 1 auto;\n min-width: 0;\n width: 100%;\n box-sizing: border-box;\n padding: 2px 6px;\n margin: 0 4px;\n font-family: inherit;\n font-size: inherit;\n font-weight: inherit;\n color: var(--pg-colors-text-primary, #0f172a);\n background: var(--pg-colors-background, #ffffff);\n border: 1px solid var(--pg-colors-primary, #2563eb);\n border-radius: var(--pg-borders-radius-sm, 4px);\n outline: none;\n box-shadow: 0 0 0 2px var(--pg-colors-primary-soft, rgba(37, 99, 235, 0.16));\n}\n\n";
|
|
9
9
|
//# sourceMappingURL=header.css.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"header.css.d.ts","sourceRoot":"","sources":["../../../src/styles/base/header.css.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,eAAO,MAAM,SAAS
|
|
1
|
+
{"version":3,"file":"header.css.d.ts","sourceRoot":"","sources":["../../../src/styles/base/header.css.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,eAAO,MAAM,SAAS,s5QAqOrB,CAAC"}
|
|
@@ -14,7 +14,9 @@ export const headerCss = `/* ─────────────────
|
|
|
14
14
|
.pg-filter-row {
|
|
15
15
|
height: var(--pg-filter-row-height, 36px);
|
|
16
16
|
border-top: 1px solid var(--pg-colors-border, #e2e8f0);
|
|
17
|
-
|
|
17
|
+
/* Filter row shares the header surface so it reads as one chrome band across
|
|
18
|
+
every mode/variant. A theme may still override via --pg-colors-filter-background. */
|
|
19
|
+
background: var(--pg-colors-filter-background, var(--pg-colors-header-background, #f8fafc));
|
|
18
20
|
}
|
|
19
21
|
.pg-th {
|
|
20
22
|
display: flex;
|
|
@@ -123,6 +125,8 @@ export const headerCss = `/* ─────────────────
|
|
|
123
125
|
}
|
|
124
126
|
.pg-th:hover .pg-th__filter-btn,
|
|
125
127
|
.pg-th__filter-btn--active { display: flex; }
|
|
128
|
+
/* Always-visible mode — opt in via headerIcons.filter / ColumnDef.filterIconDisplay */
|
|
129
|
+
.pg-th__filter-btn--always { display: flex; }
|
|
126
130
|
.pg-th__filter-btn:hover { opacity: 1; background: var(--pg-colors-background-alt, #f1f5f9); }
|
|
127
131
|
.pg-th__filter-btn--active {
|
|
128
132
|
opacity: 1;
|
|
@@ -142,6 +146,8 @@ export const headerCss = `/* ─────────────────
|
|
|
142
146
|
}
|
|
143
147
|
.pg-th:hover .pg-th__menu-btn,
|
|
144
148
|
.pg-th__menu-btn--active { display: flex; }
|
|
149
|
+
/* Always-visible mode — opt in via headerIcons.menu / ColumnDef.menuIconDisplay */
|
|
150
|
+
.pg-th__menu-btn--always { display: flex; }
|
|
145
151
|
.pg-th__menu-btn:hover { opacity: 1; background: var(--pg-colors-background-alt, #f1f5f9); }
|
|
146
152
|
.pg-th__menu-btn--active { opacity: 1; background: var(--pg-colors-border, #e2e8f0); }
|
|
147
153
|
.pg-th__resize-handle {
|
|
@@ -178,6 +184,7 @@ export const headerCss = `/* ─────────────────
|
|
|
178
184
|
|
|
179
185
|
/* No vertical-borders mode: completely remove the 1px border slot from both headers and cells */
|
|
180
186
|
.pg-grid--no-v-borders .pg-th { border-right: none; }
|
|
187
|
+
.pg-grid--no-v-borders .pg-filter-cell { border-right: none; }
|
|
181
188
|
.pg-grid--no-v-borders .pg-cell { border-right: none; }
|
|
182
189
|
// .pg-grid--no-v-borders .pg-th__resize-handle {
|
|
183
190
|
// background: var(--pg-colors-resize-handle-color, #e2e8f0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"header.css.js","sourceRoot":"","sources":["../../../src/styles/base/header.css.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG
|
|
1
|
+
{"version":3,"file":"header.css.js","sourceRoot":"","sources":["../../../src/styles/base/header.css.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqOxB,CAAC"}
|
|
@@ -5,5 +5,5 @@
|
|
|
5
5
|
* base-styles.ts; edit here, not there. Order is preserved because CSS
|
|
6
6
|
* cascade depends on it.
|
|
7
7
|
*/
|
|
8
|
-
export declare const rowDragCss = "/* \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 Row Drag \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n.pg-grid__body { position: relative; }\n\n.pg-row-drag-handle {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 16px;\n height: 100%;\n flex-shrink: 0;\n cursor: grab;\n opacity: 0.35;\n color: var(--pg-colors-text-secondary, #475569);\n margin-right: 4px;\n}\n.pg-row-drag-handle:hover { opacity: 0.7; }\n.pg-row-drag-handle:active { cursor: grabbing; }\n\n.pg-row-drag-ghost {\n position: fixed;\n pointer-events: none;\n z-index: 9999;\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 5px 10px;\n border-radius: var(--pg-borders-radius-md, 6px);\n border: 1.5px solid var(--pg-colors-primary, #2563eb);\n background: var(--pg-colors-surface, #fff);\n color: var(--pg-colors-primary, #2563eb);\n font-size: var(--pg-typography-font-size-sm, 12px);\n font-weight: 500;\n box-shadow: 0 6px 24px rgba(37,99,235,0.13), 0 2px 8px rgba(37,99,235,0.12);\n transform: translate(12px, -50%);\n white-space: nowrap;\n max-width: 240px;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.pg-row-drag-ghost__icon { display: inline-flex; align-items: center; opacity: 0.8; }\n.pg-row-drag-ghost__icon--block { display: none; }\n.pg-row-drag-ghost__label { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; }\n\n.pg-row-drag-ghost--outside {\n border-color: var(--pg-colors-danger, #ef4444);\n box-shadow: 0 6px 24px rgba(239,68,68,0.13), 0 2px 8px rgba(239,68,68,0.12);\n color: var(--pg-colors-danger, #ef4444);\n}\n.pg-row-drag-ghost--outside .pg-row-drag-ghost__icon--drag { display: none; }\n.pg-row-drag-ghost--outside .pg-row-drag-ghost__icon--block { display: inline-flex; }\n\n.pg-row-drop-indicator {\n position: absolute;\n left: 0;\n right: 0;\n height: 2px;\n background: var(--pg-colors-primary, #2563eb);\n pointer-events: none;\n z-index: 100;\n border-radius: 1px;\n}\n.pg-row-drop-indicator::before {\n content: '';\n position: absolute;\n left: -3px;\n top: -3px;\n width: 8px;\n height: 8px;\n border-radius: 50%;\n background: var(--pg-colors-primary, #2563eb);\n}\n\n/* The dragged row: semi-transparent, moves to virtual landing position */\n.pg-row--row-dragging { opacity: 0.4; }\n\n/* During row drag: kill hover/click on all rows; animate top changes.\n Uses top (not transform) so rows stay within panel overflow:hidden bounds. */\n.pg-grid--row-dragging .pg-row {\n pointer-events: none;\n will-change: top;\n transition: background var(--pg-transitions-duration-fast, 100ms),\n top 130ms cubic-bezier(0.2, 0, 0, 1);\n}\n\n";
|
|
8
|
+
export declare const rowDragCss = "/* \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 Row Drag \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n.pg-grid__body { position: relative; transform: translateZ(10px);}\n\n.pg-row-drag-handle {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 16px;\n height: 100%;\n flex-shrink: 0;\n cursor: grab;\n opacity: 0.35;\n color: var(--pg-colors-text-secondary, #475569);\n margin-right: 4px;\n}\n.pg-row-drag-handle:hover { opacity: 0.7; }\n.pg-row-drag-handle:active { cursor: grabbing; }\n\n.pg-row-drag-ghost {\n position: fixed;\n pointer-events: none;\n z-index: 9999;\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 5px 10px;\n border-radius: var(--pg-borders-radius-md, 6px);\n border: 1.5px solid var(--pg-colors-primary, #2563eb);\n background: var(--pg-colors-surface, #fff);\n color: var(--pg-colors-primary, #2563eb);\n font-size: var(--pg-typography-font-size-sm, 12px);\n font-weight: 500;\n box-shadow: 0 6px 24px rgba(37,99,235,0.13), 0 2px 8px rgba(37,99,235,0.12);\n transform: translate(12px, -50%);\n white-space: nowrap;\n max-width: 240px;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.pg-row-drag-ghost__icon { display: inline-flex; align-items: center; opacity: 0.8; }\n.pg-row-drag-ghost__icon--block { display: none; }\n.pg-row-drag-ghost__label { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; }\n\n.pg-row-drag-ghost--outside {\n border-color: var(--pg-colors-danger, #ef4444);\n box-shadow: 0 6px 24px rgba(239,68,68,0.13), 0 2px 8px rgba(239,68,68,0.12);\n color: var(--pg-colors-danger, #ef4444);\n}\n.pg-row-drag-ghost--outside .pg-row-drag-ghost__icon--drag { display: none; }\n.pg-row-drag-ghost--outside .pg-row-drag-ghost__icon--block { display: inline-flex; }\n\n.pg-row-drop-indicator {\n position: absolute;\n left: 0;\n right: 0;\n height: 2px;\n background: var(--pg-colors-primary, #2563eb);\n pointer-events: none;\n z-index: 100;\n border-radius: 1px;\n}\n.pg-row-drop-indicator::before {\n content: '';\n position: absolute;\n left: -3px;\n top: -3px;\n width: 8px;\n height: 8px;\n border-radius: 50%;\n background: var(--pg-colors-primary, #2563eb);\n}\n\n/* The dragged row: semi-transparent, moves to virtual landing position */\n.pg-row--row-dragging { opacity: 0.4; }\n\n/* During row drag: kill hover/click on all rows; animate top changes.\n Uses top (not transform) so rows stay within panel overflow:hidden bounds. */\n.pg-grid--row-dragging .pg-row {\n pointer-events: none;\n will-change: top;\n transition: background var(--pg-transitions-duration-fast, 100ms),\n top 130ms cubic-bezier(0.2, 0, 0, 1);\n}\n\n";
|
|
9
9
|
//# sourceMappingURL=row-drag.css.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"row-drag.css.d.ts","sourceRoot":"","sources":["../../../src/styles/base/row-drag.css.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"row-drag.css.d.ts","sourceRoot":"","sources":["../../../src/styles/base/row-drag.css.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,szFAoFtB,CAAC"}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* cascade depends on it.
|
|
7
7
|
*/
|
|
8
8
|
export const rowDragCss = `/* ──────────────────── Row Drag ──────────────────── */
|
|
9
|
-
.pg-grid__body { position: relative; }
|
|
9
|
+
.pg-grid__body { position: relative; transform: translateZ(10px);}
|
|
10
10
|
|
|
11
11
|
.pg-row-drag-handle {
|
|
12
12
|
display: inline-flex;
|
|
@@ -5,5 +5,5 @@
|
|
|
5
5
|
* base-styles.ts; edit here, not there. Order is preserved because CSS
|
|
6
6
|
* cascade depends on it.
|
|
7
7
|
*/
|
|
8
|
-
export declare const rowsCss = "/* \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 Rows \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n.pg-row {\n display: flex;\n align-items: stretch;\n position: absolute;\n left: 0;\n width: 100%;\n border-bottom: 1px solid var(--pg-colors-border, #e2e8f0);\n background: var(--pg-colors-row-background, #fff);\n transition: background var(--pg-transitions-duration-fast, 100ms);\n}\n.pg-row--hover { background: var(--pg-colors-row-hover, #f0f7ff) !important; }\n.pg-row--alt { background: var(--pg-colors-row-background-alt, #f8fafc); }\n.pg-row--selected {\n background: var(--pg-colors-row-selected, #eff6ff) !important;\n outline: none;\n}\n.pg-row--selected .pg-cell { color: inherit; }\n.pg-row--group {\n background: var(--pg-colors-group-row-background, #f8fafc);\n font-weight: var(--pg-typography-font-weight-semi-bold, 600);\n // border-left: var(--pg-group-row-border-width, 3px) solid var(--pg-colors-primary, #2563eb);\n cursor: pointer;\n}\n.pg-row--group:hover,\n.pg-row--group.pg-row--hover {\n background: var(--pg-colors-group-row-hover, #eff2ff) !important;\n}\n.pg-row--group:hover .pg-row-group__toggle,\n.pg-row--group.pg-row--hover .pg-row-group__toggle {\n background: var(--pg-colors-group-toggle-hover, rgba(37, 99, 235, 0.1));\n color: var(--pg-colors-primary, #2563eb);\n}\n\n/* \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 Group footer row \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n/*\n * Appears below the last leaf child of each expanded group.\n * Shows the same aggregate values as the group header row (AG Grid groupIncludeFooter).\n * Cells are fully selectable and copyable; editing is blocked because values are computed.\n */\n.pg-row--group-footer {\n background: var(--pg-colors-group-footer-background, #eef2fa);\n font-style: italic;\n font-weight: var(--pg-typography-font-weight-semi-bold, 600);\n border-bottom: 2px solid var(--pg-colors-primary-light, #bfdbfe);\n cursor: default;\n}\n.pg-row--group-footer:hover,\n.pg-row--group-footer.pg-row--hover {\n background: var(--pg-colors-group-footer-hover, #e0e9f8) !important;\n}\n/* Level-based indentation mirrors the group header rules */\n.pg-row--group-footer[data-level=\"0\"] .pg-row-group__cell { padding-left: var(--pg-group-indent-0, 8px); }\n.pg-row--group-footer[data-level=\"1\"] .pg-row-group__cell { padding-left: var(--pg-group-indent-1, 28px); }\n.pg-row--group-footer[data-level=\"2\"] .pg-row-group__cell { padding-left: var(--pg-group-indent-2, 48px); }\n.pg-row--group-footer[data-level=\"3\"] .pg-row-group__cell { padding-left: var(--pg-group-indent-3, 68px); }\n.pg-row--group-footer[data-level=\"4\"] .pg-row-group__cell { padding-left: var(--pg-group-indent-4, 88px); }\n.pg-row--group-footer[data-level=\"5\"] .pg-row-group__cell { padding-left: var(--pg-group-indent-5, 108px); }\n.pg-row--group-footer .pg-row-group__label {\n color: var(--pg-colors-text-secondary, #475569);\n}\n
|
|
8
|
+
export declare const rowsCss = "/* \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 Rows \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n.pg-row {\n display: flex;\n align-items: stretch;\n position: absolute;\n left: 0;\n width: 100%;\n border-bottom: 1px solid var(--pg-colors-border, #e2e8f0);\n background: var(--pg-colors-row-background, #fff);\n transition: background var(--pg-transitions-duration-fast, 100ms);\n}\n.pg-row--hover { background: var(--pg-colors-row-hover, #f0f7ff) !important; }\n.pg-row--alt { background: var(--pg-colors-row-background-alt, #f8fafc); }\n.pg-row--selected {\n background: var(--pg-colors-row-selected, #eff6ff) !important;\n outline: none;\n}\n.pg-row--selected .pg-cell { color: inherit; }\n\n/* Row-selection outline \u2014 a thin primary-coloured border drawn around the\n whole selected block, mirroring the cell-range selection border. Edges are\n drawn via ::after so corners connect cleanly; JS (BodyRenderer.refreshRow-\n SelectionEdges) adds the edge classes only on the block's outer rows/parts\n (top of a run, bottom of a run, leftmost part, rightmost part) so interior\n boundaries between adjacent selected rows carry no line. */\n.pg-row--selected::after {\n content: '';\n position: absolute;\n inset: 0;\n border: 0 solid var(--pg-colors-primary, #2563eb);\n pointer-events: none;\n z-index: 3;\n}\n.pg-row--sel-top::after { border-top-width: 1px; }\n.pg-row--sel-bottom::after { border-bottom-width: 1px; }\n.pg-row--sel-edge-left::after { border-left-width: 1px; }\n.pg-row--sel-edge-right::after { border-right-width: 1px; }\n.pg-row--group {\n background: var(--pg-colors-group-row-background, #f8fafc);\n font-weight: var(--pg-typography-font-weight-semi-bold, 600);\n // border-left: var(--pg-group-row-border-width, 3px) solid var(--pg-colors-primary, #2563eb);\n cursor: pointer;\n}\n.pg-row--group:hover,\n.pg-row--group.pg-row--hover {\n background: var(--pg-colors-group-row-hover, var(--pg-colors-row-hover, #eff2ff)) !important;\n}\n.pg-row--group:hover .pg-row-group__toggle,\n.pg-row--group.pg-row--hover .pg-row-group__toggle {\n background: var(--pg-colors-group-toggle-hover, rgba(37, 99, 235, 0.1));\n color: var(--pg-colors-primary, #2563eb);\n}\n\n/* \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 Group footer row \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n/*\n * Appears below the last leaf child of each expanded group.\n * Shows the same aggregate values as the group header row (AG Grid groupIncludeFooter).\n * Cells are fully selectable and copyable; editing is blocked because values are computed.\n */\n.pg-row--group-footer {\n background: var(--pg-colors-group-footer-background, var(--pg-colors-background-alt, #eef2fa));\n font-style: italic;\n font-weight: var(--pg-typography-font-weight-semi-bold, 600);\n border-bottom: 2px solid var(--pg-colors-primary-light, var(--pg-colors-border-strong, #bfdbfe));\n cursor: default;\n}\n.pg-row--group-footer:hover,\n.pg-row--group-footer.pg-row--hover {\n background: var(--pg-colors-group-footer-hover, var(--pg-colors-row-hover, #e0e9f8)) !important;\n}\n/* Level-based indentation mirrors the group header rules */\n.pg-row--group-footer[data-level=\"0\"] .pg-row-group__cell { padding-left: var(--pg-group-indent-0, 8px); }\n.pg-row--group-footer[data-level=\"1\"] .pg-row-group__cell { padding-left: var(--pg-group-indent-1, 28px); }\n.pg-row--group-footer[data-level=\"2\"] .pg-row-group__cell { padding-left: var(--pg-group-indent-2, 48px); }\n.pg-row--group-footer[data-level=\"3\"] .pg-row-group__cell { padding-left: var(--pg-group-indent-3, 68px); }\n.pg-row--group-footer[data-level=\"4\"] .pg-row-group__cell { padding-left: var(--pg-group-indent-4, 88px); }\n.pg-row--group-footer[data-level=\"5\"] .pg-row-group__cell { padding-left: var(--pg-group-indent-5, 108px); }\n.pg-row--group-footer .pg-row-group__label {\n color: var(--pg-colors-text-secondary, #475569);\n}\n\n";
|
|
9
9
|
//# sourceMappingURL=rows.css.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rows.css.d.ts","sourceRoot":"","sources":["../../../src/styles/base/rows.css.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,eAAO,MAAM,OAAO,
|
|
1
|
+
{"version":3,"file":"rows.css.d.ts","sourceRoot":"","sources":["../../../src/styles/base/rows.css.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,eAAO,MAAM,OAAO,mqIAiFnB,CAAC"}
|
package/styles/base/rows.css.js
CHANGED
|
@@ -23,6 +23,25 @@ export const rowsCss = `/* ─────────────────
|
|
|
23
23
|
outline: none;
|
|
24
24
|
}
|
|
25
25
|
.pg-row--selected .pg-cell { color: inherit; }
|
|
26
|
+
|
|
27
|
+
/* Row-selection outline — a thin primary-coloured border drawn around the
|
|
28
|
+
whole selected block, mirroring the cell-range selection border. Edges are
|
|
29
|
+
drawn via ::after so corners connect cleanly; JS (BodyRenderer.refreshRow-
|
|
30
|
+
SelectionEdges) adds the edge classes only on the block's outer rows/parts
|
|
31
|
+
(top of a run, bottom of a run, leftmost part, rightmost part) so interior
|
|
32
|
+
boundaries between adjacent selected rows carry no line. */
|
|
33
|
+
.pg-row--selected::after {
|
|
34
|
+
content: '';
|
|
35
|
+
position: absolute;
|
|
36
|
+
inset: 0;
|
|
37
|
+
border: 0 solid var(--pg-colors-primary, #2563eb);
|
|
38
|
+
pointer-events: none;
|
|
39
|
+
z-index: 3;
|
|
40
|
+
}
|
|
41
|
+
.pg-row--sel-top::after { border-top-width: 1px; }
|
|
42
|
+
.pg-row--sel-bottom::after { border-bottom-width: 1px; }
|
|
43
|
+
.pg-row--sel-edge-left::after { border-left-width: 1px; }
|
|
44
|
+
.pg-row--sel-edge-right::after { border-right-width: 1px; }
|
|
26
45
|
.pg-row--group {
|
|
27
46
|
background: var(--pg-colors-group-row-background, #f8fafc);
|
|
28
47
|
font-weight: var(--pg-typography-font-weight-semi-bold, 600);
|
|
@@ -31,7 +50,7 @@ export const rowsCss = `/* ─────────────────
|
|
|
31
50
|
}
|
|
32
51
|
.pg-row--group:hover,
|
|
33
52
|
.pg-row--group.pg-row--hover {
|
|
34
|
-
background: var(--pg-colors-group-row-hover, #eff2ff) !important;
|
|
53
|
+
background: var(--pg-colors-group-row-hover, var(--pg-colors-row-hover, #eff2ff)) !important;
|
|
35
54
|
}
|
|
36
55
|
.pg-row--group:hover .pg-row-group__toggle,
|
|
37
56
|
.pg-row--group.pg-row--hover .pg-row-group__toggle {
|
|
@@ -46,15 +65,15 @@ export const rowsCss = `/* ─────────────────
|
|
|
46
65
|
* Cells are fully selectable and copyable; editing is blocked because values are computed.
|
|
47
66
|
*/
|
|
48
67
|
.pg-row--group-footer {
|
|
49
|
-
background: var(--pg-colors-group-footer-background, #eef2fa);
|
|
68
|
+
background: var(--pg-colors-group-footer-background, var(--pg-colors-background-alt, #eef2fa));
|
|
50
69
|
font-style: italic;
|
|
51
70
|
font-weight: var(--pg-typography-font-weight-semi-bold, 600);
|
|
52
|
-
border-bottom: 2px solid var(--pg-colors-primary-light, #bfdbfe);
|
|
71
|
+
border-bottom: 2px solid var(--pg-colors-primary-light, var(--pg-colors-border-strong, #bfdbfe));
|
|
53
72
|
cursor: default;
|
|
54
73
|
}
|
|
55
74
|
.pg-row--group-footer:hover,
|
|
56
75
|
.pg-row--group-footer.pg-row--hover {
|
|
57
|
-
background: var(--pg-colors-group-footer-hover, #e0e9f8) !important;
|
|
76
|
+
background: var(--pg-colors-group-footer-hover, var(--pg-colors-row-hover, #e0e9f8)) !important;
|
|
58
77
|
}
|
|
59
78
|
/* Level-based indentation mirrors the group header rules */
|
|
60
79
|
.pg-row--group-footer[data-level="0"] .pg-row-group__cell { padding-left: var(--pg-group-indent-0, 8px); }
|
|
@@ -66,18 +85,6 @@ export const rowsCss = `/* ─────────────────
|
|
|
66
85
|
.pg-row--group-footer .pg-row-group__label {
|
|
67
86
|
color: var(--pg-colors-text-secondary, #475569);
|
|
68
87
|
}
|
|
69
|
-
/* Dark-mode overrides */
|
|
70
|
-
.pg-grid[data-theme="dark"] .pg-row--group-footer {
|
|
71
|
-
background: var(--pg-colors-group-footer-background, rgba(37, 99, 235, 0.06));
|
|
72
|
-
border-bottom-color: rgba(96, 165, 250, 0.28);
|
|
73
|
-
}
|
|
74
|
-
.pg-grid[data-theme="dark"] .pg-row--group-footer:hover,
|
|
75
|
-
.pg-grid[data-theme="dark"] .pg-row--group-footer.pg-row--hover {
|
|
76
|
-
background: var(--pg-colors-group-footer-hover, rgba(37, 99, 235, 0.11)) !important;
|
|
77
|
-
}
|
|
78
|
-
.pg-grid[data-theme="dark"] .pg-row--group-footer .pg-row-group__label {
|
|
79
|
-
color: var(--pg-colors-text-secondary, #94a3b8);
|
|
80
|
-
}
|
|
81
88
|
|
|
82
89
|
`;
|
|
83
90
|
//# sourceMappingURL=rows.css.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rows.css.js","sourceRoot":"","sources":["../../../src/styles/base/rows.css.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG
|
|
1
|
+
{"version":3,"file":"rows.css.js","sourceRoot":"","sources":["../../../src/styles/base/rows.css.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiFtB,CAAC"}
|
|
@@ -5,5 +5,5 @@
|
|
|
5
5
|
* base-styles.ts; edit here, not there. Order is preserved because CSS
|
|
6
6
|
* cascade depends on it.
|
|
7
7
|
*/
|
|
8
|
-
export declare const scrollbarsCss = "/* \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 Scrollbars \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n\n/* Native vertical scrollbar \u2014 flex item that lives beside the center panel.\n It is NOT absolutely positioned so it never overlaps cell content; the center\n panel shrinks to make room for it, keeping every cell border fully visible. */\n.pg-scrollbar-v-native {\n flex-shrink: 0;\n overflow-y: scroll;\n overflow-x: hidden;\n background: var(--pg-colors-scrollbar-track, var(--pg-colors-scrollbar-bg, #f8fafc));\n}\n.pg-scrollbar-v-spacer {\n width: 1px;\n pointer-events: none;\n}\n/* Horizontal row: sits below the body */\n.pg-scrollbar-h-row {\n display: flex;\n flex-direction: row;\n flex-shrink: 0;\n border-top: 1px solid var(--pg-colors-border, #e2e8f0);\n}\n.pg-scrollbar-h-spacer { flex-shrink: 0; background: var(--pg-colors-scrollbar-track, var(--pg-colors-scrollbar-bg, #f8fafc)); }\n.pg-scrollbar-h-spacer--left { width: var(--pg-left-panel-width, 0px); overflow: scroll; }\n.pg-scrollbar-h-spacer--right { width: var(--pg-right-panel-width, 0px); overflow: scroll; }\n/* Aligns the h-scroll track with the narrowed center panel (
|
|
8
|
+
export declare const scrollbarsCss = "/* \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 Scrollbars \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n\n/* Native vertical scrollbar \u2014 flex item that lives beside the center panel.\n It is NOT absolutely positioned so it never overlaps cell content; the center\n panel shrinks to make room for it, keeping every cell border fully visible. */\n.pg-scrollbar-v-native {\n flex-shrink: 0;\n overflow-y: scroll;\n overflow-x: hidden;\n background: var(--pg-colors-scrollbar-track, var(--pg-colors-scrollbar-bg, #f8fafc));\n}\n.pg-scrollbar-v-spacer {\n width: 1px;\n pointer-events: none;\n}\n/* Horizontal row: sits below the body */\n.pg-scrollbar-h-row {\n display: flex;\n flex-direction: row;\n flex-shrink: 0;\n border-top: 1px solid var(--pg-colors-border, #e2e8f0);\n}\n.pg-scrollbar-h-spacer { flex-shrink: 0; background: var(--pg-colors-scrollbar-track, var(--pg-colors-scrollbar-bg, #f8fafc)); }\n.pg-scrollbar-h-spacer--left { width: var(--pg-left-panel-width, 0px); overflow: scroll; }\n.pg-scrollbar-h-spacer--right { width: var(--pg-right-panel-width, 0px); overflow: scroll; }\n/* Aligns the h-scroll track with the narrowed center panel: reserves exactly\n the vertical scrollbar's *current* width (0 when hidden) so the native\n h-scroll container's client width equals the center viewport \u2014 otherwise the\n track is wider than the panel and the body scrolls short by the scrollbar\n width, leaving the last column partly hidden. */\n.pg-scrollbar-h-spacer--vscroll {\n flex-shrink: 0;\n width: var(--pg-scrollbar-v-live-width, 0px);\n background: var(--pg-colors-scrollbar-track, var(--pg-colors-scrollbar-bg, #f8fafc));\n}\n/* Native horizontal scrollbar container */\n.pg-scrollbar-h-native {\n flex: 1 1 0;\n min-width: 0;\n overflow-x: scroll;\n overflow-y: hidden;\n background: var(--pg-colors-scrollbar-track, var(--pg-colors-scrollbar-bg, #f8fafc));\n}\n.pg-scrollbar-h-content {\n height: 1px;\n pointer-events: none;\n}\n\n/* \u2500\u2500 Themed native scrollbar (track + thumb) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n Without these the browser paints its default (light) scrollbar, so dark\n themes showed white bars. Colours come from theme tokens with light-theme\n fallbacks, so every theme \u2014 including custom ones \u2014 themes automatically.\n Firefox uses scrollbar-color; Chromium/Safari use the ::-webkit pseudos. */\n.pg-scrollbar-v-native,\n.pg-scrollbar-h-native,\n.pg-scrollbar-h-spacer--left,\n.pg-scrollbar-h-spacer--right {\n // scrollbar-width: thin;\n scrollbar-color: var(--pg-colors-scrollbar-thumb, #ffffff) var(--pg-colors-scrollbar-track, var(--pg-colors-scrollbar-bg, #f8fafc));\n}\n.pg-scrollbar-v-native::-webkit-scrollbar,\n.pg-scrollbar-h-native::-webkit-scrollbar,\n.pg-scrollbar-h-spacer--left::-webkit-scrollbar,\n.pg-scrollbar-h-spacer--right::-webkit-scrollbar {\n // width: var(--pg-scrollbar-v-width, 12px);\n // height: var(--pg-scrollbar-h-height, 12px);\n background: var(--pg-colors-scrollbar-track, var(--pg-colors-scrollbar-bg, #f8fafc));\n}\n.pg-scrollbar-v-native::-webkit-scrollbar-track,\n.pg-scrollbar-h-native::-webkit-scrollbar-track,\n.pg-scrollbar-h-spacer--left::-webkit-scrollbar-track,\n.pg-scrollbar-h-spacer--right::-webkit-scrollbar-track {\n background: var(--pg-colors-scrollbar-track, var(--pg-colors-scrollbar-bg, #f8fafc));\n}\n.pg-scrollbar-v-native::-webkit-scrollbar-thumb,\n.pg-scrollbar-h-native::-webkit-scrollbar-thumb,\n.pg-scrollbar-h-spacer--left::-webkit-scrollbar-thumb,\n.pg-scrollbar-h-spacer--right::-webkit-scrollbar-thumb {\n background: var(--pg-colors-scrollbar-thumb, #cbd5e1);\n // border-radius: 8px;\n // border: 3px solid var(--pg-colors-scrollbar-track, var(--pg-colors-scrollbar-bg, #f8fafc));\n}\n.pg-scrollbar-v-native::-webkit-scrollbar-thumb:hover,\n.pg-scrollbar-h-native::-webkit-scrollbar-thumb:hover,\n.pg-scrollbar-h-spacer--left::-webkit-scrollbar-thumb:hover,\n.pg-scrollbar-h-spacer--right::-webkit-scrollbar-thumb:hover {\n background: var(--pg-colors-scrollbar-thumb-hover, #94a3b8);\n}\n.pg-scrollbar-v-native::-webkit-scrollbar-corner,\n.pg-scrollbar-h-native::-webkit-scrollbar-corner {\n background: var(--pg-colors-scrollbar-track, var(--pg-colors-scrollbar-bg, #f8fafc));\n}\n\n/* Hidden state \u2014 applied to wraps */\n.pg-scrollbar--hidden { display: none; }\n\n";
|
|
9
9
|
//# sourceMappingURL=scrollbars.css.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scrollbars.css.d.ts","sourceRoot":"","sources":["../../../src/styles/base/scrollbars.css.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,
|
|
1
|
+
{"version":3,"file":"scrollbars.css.d.ts","sourceRoot":"","sources":["../../../src/styles/base/scrollbars.css.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,ulJAgGzB,CAAC"}
|
|
@@ -30,11 +30,14 @@ export const scrollbarsCss = `/* ───────────────
|
|
|
30
30
|
.pg-scrollbar-h-spacer { flex-shrink: 0; background: var(--pg-colors-scrollbar-track, var(--pg-colors-scrollbar-bg, #f8fafc)); }
|
|
31
31
|
.pg-scrollbar-h-spacer--left { width: var(--pg-left-panel-width, 0px); overflow: scroll; }
|
|
32
32
|
.pg-scrollbar-h-spacer--right { width: var(--pg-right-panel-width, 0px); overflow: scroll; }
|
|
33
|
-
/* Aligns the h-scroll track with the narrowed center panel
|
|
34
|
-
|
|
33
|
+
/* Aligns the h-scroll track with the narrowed center panel: reserves exactly
|
|
34
|
+
the vertical scrollbar's *current* width (0 when hidden) so the native
|
|
35
|
+
h-scroll container's client width equals the center viewport — otherwise the
|
|
36
|
+
track is wider than the panel and the body scrolls short by the scrollbar
|
|
37
|
+
width, leaving the last column partly hidden. */
|
|
35
38
|
.pg-scrollbar-h-spacer--vscroll {
|
|
36
39
|
flex-shrink: 0;
|
|
37
|
-
width: 0px;
|
|
40
|
+
width: var(--pg-scrollbar-v-live-width, 0px);
|
|
38
41
|
background: var(--pg-colors-scrollbar-track, var(--pg-colors-scrollbar-bg, #f8fafc));
|
|
39
42
|
}
|
|
40
43
|
/* Native horizontal scrollbar container */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scrollbars.css.js","sourceRoot":"","sources":["../../../src/styles/base/scrollbars.css.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG
|
|
1
|
+
{"version":3,"file":"scrollbars.css.js","sourceRoot":"","sources":["../../../src/styles/base/scrollbars.css.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgG5B,CAAC"}
|
|
@@ -5,5 +5,5 @@
|
|
|
5
5
|
* base-styles.ts; edit here, not there. Order is preserved because CSS
|
|
6
6
|
* cascade depends on it.
|
|
7
7
|
*/
|
|
8
|
-
export declare const sparklineCss = "/* \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 Context menu submenu \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n.pg-context-menu__item { display: flex; align-items: center; gap: 8px; }\n.pg-context-menu__item--has-sub { position: relative; padding-right: 28px; max-width: stretch; }\n.pg-context-menu__item--has-sub > .pg-context-menu__sub { display: none; }\n.pg-context-menu__item--has-sub:hover > .pg-context-menu__sub { display: block; }\n.pg-context-menu__sub {\n position: absolute; left: 100%; top: -4px; z-index: 10001;\n background: var(--pg-colors-surface,#fff);\n border: 1px solid var(--pg-colors-border,#e2e8f0);\n border-radius: var(--pg-borders-radius-md,6px);\n box-shadow: var(--pg-shadows-dropdown,0 8px 24px rgba(0,0,0,0.12));\n min-width: 175px; padding: 4px;\n white-space: nowrap;\n}\n.pg-context-menu__item--has-sub::after {\n content: '\u203A'; position: absolute; right: 10px; top: 50%; transform: translateY(-50%);\n font-size: 16px; color: var(--pg-colors-text-secondary,#64748b); line-height: 1;\n}\n.pg-context-menu__icon {\n display: inline-flex; align-items: center; width: 16px; flex-shrink: 0;\n color: var(--pg-colors-text-secondary,#64748b);\n}\n\n/* \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 Sparkline cell \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n\n/* Cell value wrapper \u2014 fills the inner cell area as a flex row */\n.pg-cell__value--sparkline {\n display: flex;\n align-items: stretch;\n width: 100%;\n height: 100%;\n padding: 0;\n}\n\n/* Wrapper div that stretches canvas to fill the cell */\n.pg-sparkline-wrapper {\n display: flex;\n align-items: center;\n width: 100%;\n height: 100%;\n min-width: 0;\n}\n\n/* Canvas element \u2014 fills wrapper, no border or background */\n.pg-sparkline {\n display: block;\n width: 100%;\n height: 100%;\n min-width: 0;\n cursor: crosshair;\n}\n\n/* \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 Sparkline tooltip \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n\n/* Singleton floating tooltip attached to document.body */\n.pg-sparkline-tooltip {\n position: fixed;\n z-index: 99999;\n pointer-events: none;\n background: var(--pg-colors-surface, #fff);\n border: 1px solid var(--pg-colors-border, #e2e8f0);\n border-radius: var(--pg-borders-radius-md, 6px);\n box-shadow: var(--pg-shadows-tooltip, 0 4px 14px rgba(0,0,0,0.12));\n padding: 6px 10px;\n font-size: var(--pg-typography-font-size-sm, 12px);\n font-family: var(--pg-typography-font-family, system-ui, sans-serif);\n color: var(--pg-colors-text-primary, #0f172a);\n white-space: nowrap;\n line-height: 1.5;\n min-width: 60px;\n}\n.pg-sparkline-tooltip--hidden {\n display: none;\n}\n\n/* x-axis label row (shown when data is an object array with xKey) */\n.pg-sparkline-tooltip__label {\n color: var(--pg-colors-text-secondary, #64748b);\n font-size: var(--pg-typography-font-size-xs, 11px);\n margin-bottom: 2px;\n}\n\n/* Numeric value row */\n.pg-sparkline-tooltip__value {\n font-weight: 600;\n color: var(--pg-colors-text-primary, #0f172a);\n}\n\n/* OHLC four-row layout */\n.pg-sparkline-tooltip__ohlc-row {\n display: flex;\n justify-content: space-between;\n gap: 12px;\n}\n.pg-sparkline-tooltip__ohlc-key {\n color: var(--pg-colors-text-secondary, #64748b);\n font-size: var(--pg-typography-font-size-xs, 11px);\n min-width: 12px;\n}\n\n";
|
|
8
|
+
export declare const sparklineCss = "/* \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 Context menu submenu \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n.pg-context-menu__item { display: flex; align-items: center; gap: 8px; }\n.pg-context-menu__item--has-sub { position: relative; padding-right: 28px; max-width: stretch; }\n.pg-context-menu__item--has-sub > .pg-context-menu__sub { display: none; }\n.pg-context-menu__item--has-sub:hover > .pg-context-menu__sub { display: block; }\n.pg-context-menu__sub {\n position: absolute; left: 100%; top: -4px; z-index: 10001;\n background: var(--pg-colors-surface,#fff);\n border: 1px solid var(--pg-colors-border,#e2e8f0);\n border-radius: var(--pg-borders-radius-md,6px);\n box-shadow: var(--pg-shadows-dropdown,0 8px 24px rgba(0,0,0,0.12));\n min-width: 175px; padding: 4px;\n white-space: nowrap;\n}\n/* Viewport-aware flip: when a submenu near the right edge would overflow,\n JS (positionSubmenu) adds --sub-left so the flyout opens to the left\n instead. Works at any nesting depth since every wrapper shares the class. */\n.pg-context-menu__item--has-sub.pg-context-menu__item--sub-left > .pg-context-menu__sub {\n left: auto; right: 100%;\n}\n.pg-context-menu__item--has-sub::after {\n content: '\u203A'; position: absolute; right: 10px; top: 50%; transform: translateY(-50%);\n font-size: 16px; color: var(--pg-colors-text-secondary,#64748b); line-height: 1;\n}\n.pg-context-menu__icon {\n display: inline-flex; align-items: center; width: 16px; flex-shrink: 0;\n color: var(--pg-colors-text-secondary,#64748b);\n}\n\n/* \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 Sparkline cell \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n\n/* Cell value wrapper \u2014 fills the inner cell area as a flex row */\n.pg-cell__value--sparkline {\n display: flex;\n align-items: stretch;\n width: 100%;\n height: 100%;\n padding: 0;\n}\n\n/* Wrapper div that stretches canvas to fill the cell */\n.pg-sparkline-wrapper {\n display: flex;\n align-items: center;\n width: 100%;\n height: 100%;\n min-width: 0;\n}\n\n/* Canvas element \u2014 fills wrapper, no border or background */\n.pg-sparkline {\n display: block;\n width: 100%;\n height: 100%;\n min-width: 0;\n cursor: crosshair;\n}\n\n/* \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 Sparkline tooltip \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n\n/* Singleton floating tooltip attached to document.body */\n.pg-sparkline-tooltip {\n position: fixed;\n z-index: 99999;\n pointer-events: none;\n background: var(--pg-colors-surface, #fff);\n border: 1px solid var(--pg-colors-border, #e2e8f0);\n border-radius: var(--pg-borders-radius-md, 6px);\n box-shadow: var(--pg-shadows-tooltip, 0 4px 14px rgba(0,0,0,0.12));\n padding: 6px 10px;\n font-size: var(--pg-typography-font-size-sm, 12px);\n font-family: var(--pg-typography-font-family, system-ui, sans-serif);\n color: var(--pg-colors-text-primary, #0f172a);\n white-space: nowrap;\n line-height: 1.5;\n min-width: 60px;\n}\n.pg-sparkline-tooltip--hidden {\n display: none;\n}\n\n/* x-axis label row (shown when data is an object array with xKey) */\n.pg-sparkline-tooltip__label {\n color: var(--pg-colors-text-secondary, #64748b);\n font-size: var(--pg-typography-font-size-xs, 11px);\n margin-bottom: 2px;\n}\n\n/* Numeric value row */\n.pg-sparkline-tooltip__value {\n font-weight: 600;\n color: var(--pg-colors-text-primary, #0f172a);\n}\n\n/* OHLC four-row layout */\n.pg-sparkline-tooltip__ohlc-row {\n display: flex;\n justify-content: space-between;\n gap: 12px;\n}\n.pg-sparkline-tooltip__ohlc-key {\n color: var(--pg-colors-text-secondary, #64748b);\n font-size: var(--pg-typography-font-size-xs, 11px);\n min-width: 12px;\n}\n\n";
|
|
9
9
|
//# sourceMappingURL=sparkline.css.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sparkline.css.d.ts","sourceRoot":"","sources":["../../../src/styles/base/sparkline.css.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,
|
|
1
|
+
{"version":3,"file":"sparkline.css.d.ts","sourceRoot":"","sources":["../../../src/styles/base/sparkline.css.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,6kIA0GxB,CAAC"}
|
|
@@ -19,6 +19,12 @@ export const sparklineCss = `/* ────────────────
|
|
|
19
19
|
min-width: 175px; padding: 4px;
|
|
20
20
|
white-space: nowrap;
|
|
21
21
|
}
|
|
22
|
+
/* Viewport-aware flip: when a submenu near the right edge would overflow,
|
|
23
|
+
JS (positionSubmenu) adds --sub-left so the flyout opens to the left
|
|
24
|
+
instead. Works at any nesting depth since every wrapper shares the class. */
|
|
25
|
+
.pg-context-menu__item--has-sub.pg-context-menu__item--sub-left > .pg-context-menu__sub {
|
|
26
|
+
left: auto; right: 100%;
|
|
27
|
+
}
|
|
22
28
|
.pg-context-menu__item--has-sub::after {
|
|
23
29
|
content: '›'; position: absolute; right: 10px; top: 50%; transform: translateY(-50%);
|
|
24
30
|
font-size: 16px; color: var(--pg-colors-text-secondary,#64748b); line-height: 1;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sparkline.css.js","sourceRoot":"","sources":["../../../src/styles/base/sparkline.css.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG
|
|
1
|
+
{"version":3,"file":"sparkline.css.js","sourceRoot":"","sources":["../../../src/styles/base/sparkline.css.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0G3B,CAAC"}
|
|
@@ -5,5 +5,5 @@
|
|
|
5
5
|
* base-styles.ts; edit here, not there. Order is preserved because CSS
|
|
6
6
|
* cascade depends on it.
|
|
7
7
|
*/
|
|
8
|
-
export declare const tooltipCss = "/* \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 Custom cell tooltip \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n * Only mounted/shown for columns with renderer.tooltip \u2014 plain columns keep\n * using the free native title attribute. Positioned via a transform set\n * in JS relative to .pg-grid__body so it never affects grid layout. */\n.pg-tooltip {\n position: absolute;\n top: 0;\n left: 0;\n z-index: var(--pg-z-index-tooltip, 150);\n max-width: 320px;\n padding: var(--pg-spacing-xs, 6px) var(--pg-spacing-sm, 10px);\n border-radius: var(--pg-borders-radius-sm, 4px);\n background: var(--pg-colors-tooltip-
|
|
8
|
+
export declare const tooltipCss = "/* \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 Custom cell tooltip \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n * Only mounted/shown for columns with renderer.tooltip \u2014 plain columns keep\n * using the free native title attribute. Positioned via a transform set\n * in JS relative to .pg-grid__body so it never affects grid layout. */\n.pg-tooltip {\n position: absolute;\n top: 0;\n left: 0;\n z-index: var(--pg-z-index-tooltip, 150);\n max-width: 320px;\n padding: var(--pg-spacing-xs, 6px) var(--pg-spacing-sm, 10px);\n border-radius: var(--pg-borders-radius-sm, 4px);\n background: var(--pg-colors-tooltip-background, #1f2937);\n color: var(--pg-colors-tooltip-text, #ffffff);\n font-family: var(--pg-typography-font-family, sans-serif);\n font-size: var(--pg-typography-font-size-xs, 12px);\n line-height: 1.4;\n box-shadow: var(--pg-shadows-dropdown, 0 4px 12px rgba(0, 0, 0, 0.15));\n pointer-events: none;\n opacity: 0;\n visibility: hidden;\n transition:\n opacity var(--pg-transitions-duration-fast, 100ms),\n visibility var(--pg-transitions-duration-fast, 100ms);\n}\n.pg-tooltip--visible {\n opacity: 1;\n visibility: visible;\n}\n\n";
|
|
9
9
|
//# sourceMappingURL=tooltip.css.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tooltip.css.d.ts","sourceRoot":"","sources":["../../../src/styles/base/tooltip.css.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,eAAO,MAAM,UAAU
|
|
1
|
+
{"version":3,"file":"tooltip.css.d.ts","sourceRoot":"","sources":["../../../src/styles/base/tooltip.css.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,uzCA8BtB,CAAC"}
|
|
@@ -17,7 +17,7 @@ export const tooltipCss = `/* ────────────────
|
|
|
17
17
|
max-width: 320px;
|
|
18
18
|
padding: var(--pg-spacing-xs, 6px) var(--pg-spacing-sm, 10px);
|
|
19
19
|
border-radius: var(--pg-borders-radius-sm, 4px);
|
|
20
|
-
background: var(--pg-colors-tooltip-
|
|
20
|
+
background: var(--pg-colors-tooltip-background, #1f2937);
|
|
21
21
|
color: var(--pg-colors-tooltip-text, #ffffff);
|
|
22
22
|
font-family: var(--pg-typography-font-family, sans-serif);
|
|
23
23
|
font-size: var(--pg-typography-font-size-xs, 12px);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-styles.d.ts","sourceRoot":"","sources":["../../src/styles/base-styles.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"base-styles.d.ts","sourceRoot":"","sources":["../../src/styles/base-styles.ts"],"names":[],"mappings":"AA+EA,wBAAgB,gBAAgB,IAAI,IAAI,CAMvC;AAED,wBAAgB,gBAAgB,IAAI,IAAI,CAEvC"}
|
package/styles/base-styles.js
CHANGED
|
@@ -2,7 +2,6 @@ import { themeQuartzCss } from './themes/theme-quartz';
|
|
|
2
2
|
import { themeAlpineCss } from './themes/theme-alpine';
|
|
3
3
|
import { themeBalhamCss } from './themes/theme-balham';
|
|
4
4
|
import { themeMaterialCss } from './themes/theme-material';
|
|
5
|
-
import { themeDarkCss } from './themes/theme-dark';
|
|
6
5
|
// Base styles are authored as focused per-feature modules under ./base/ for
|
|
7
6
|
// maintainability, then concatenated here in a FIXED order. The order matters:
|
|
8
7
|
// CSS cascade resolves same-specificity conflicts by source order, so these
|
|
@@ -68,7 +67,11 @@ const baseCss = [
|
|
|
68
67
|
columnChooserCss,
|
|
69
68
|
touchCss,
|
|
70
69
|
].join('');
|
|
71
|
-
|
|
70
|
+
// Variant skins are appended after the base rules. Each is a cosmetic layer
|
|
71
|
+
// (density, radii, typography, accent) that composes with either color mode;
|
|
72
|
+
// the light/dark palettes themselves are injected as tokens by ThemeManager,
|
|
73
|
+
// so no class-based dark skin is bundled here.
|
|
74
|
+
const css = [baseCss, themeQuartzCss, themeAlpineCss, themeBalhamCss, themeMaterialCss].join('\n');
|
|
72
75
|
export function injectBaseStyles() {
|
|
73
76
|
if (document.getElementById(STYLE_ID))
|
|
74
77
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-styles.js","sourceRoot":"","sources":["../../src/styles/base-styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAQ,uBAAuB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAQ,uBAAuB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAQ,uBAAuB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"base-styles.js","sourceRoot":"","sources":["../../src/styles/base-styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAQ,uBAAuB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAQ,uBAAuB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAQ,uBAAuB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,4EAA4E;AAC5E,+EAA+E;AAC/E,4EAA4E;AAC5E,+EAA+E;AAC/E,sEAAsE;AACtE,OAAO,EAAE,OAAO,EAAE,MAAmB,iBAAiB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAU,4BAA4B,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAS,6BAA6B,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAiB,mBAAmB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAiB,mBAAmB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,SAAS,EAAE,MAAiB,mBAAmB,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,MAAmB,iBAAiB,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAkB,kBAAkB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAY,yBAAyB,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAe,sBAAsB,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAmB,iBAAiB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAa,uBAAuB,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAgB,oBAAoB,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAiB,mBAAmB,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,MAAmB,iBAAiB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAgB,qBAAqB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAa,wBAAwB,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAc,sBAAsB,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAW,0BAA0B,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAe,sBAAsB,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAgB,oBAAoB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAY,yBAAyB,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAU,2BAA2B,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAU,2BAA2B,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAkB,kBAAkB,CAAC;AAExD,MAAM,QAAQ,GAAG,yBAAyB,CAAC;AAE3C,4EAA4E;AAC5E,wEAAwE;AACxE,6BAA6B;AAC7B,MAAM,OAAO,GAAG;IACd,OAAO;IACP,gBAAgB;IAChB,iBAAiB;IACjB,SAAS;IACT,SAAS;IACT,oBAAoB;IACpB,SAAS;IACT,OAAO;IACP,QAAQ;IACR,cAAc;IACd,WAAW;IACX,OAAO;IACP,aAAa;IACb,UAAU;IACV,SAAS;IACT,OAAO;IACP,UAAU;IACV,aAAa;IACb,YAAY;IACZ,oBAAoB;IACpB,eAAe;IACf,WAAW;IACX,UAAU;IACV,cAAc;IACd,gBAAgB;IAChB,gBAAgB;IAChB,QAAQ;CACT,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAEX,4EAA4E;AAC5E,6EAA6E;AAC7E,6EAA6E;AAC7E,+CAA+C;AAC/C,MAAM,GAAG,GAAG,CAAC,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,gBAAgB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEnG,MAAM,UAAU,gBAAgB;IAC9B,IAAI,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC;QAAE,OAAO;IAC9C,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAC9C,KAAK,CAAC,EAAE,GAAG,QAAQ,CAAC;IACpB,KAAK,CAAC,WAAW,GAAG,GAAG,CAAC;IACxB,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;AAC9C,CAAC"}
|