photon-grid-core 2.0.1 → 2.0.5
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/README.md +3 -3
- package/cell-selection/cell-selection-engine.d.ts +14 -0
- package/cell-selection/cell-selection-engine.d.ts.map +1 -1
- package/cell-selection/cell-selection-engine.js +63 -9
- package/cell-selection/cell-selection-engine.js.map +1 -1
- package/chart/range-chart-controller.d.ts +10 -0
- package/chart/range-chart-controller.d.ts.map +1 -1
- package/chart/range-chart-controller.js +22 -2
- package/chart/range-chart-controller.js.map +1 -1
- package/column-groups/column-group-drag-handler.d.ts.map +1 -1
- package/column-groups/column-group-drag-handler.js +64 -25
- package/column-groups/column-group-drag-handler.js.map +1 -1
- package/column-groups/column-group-header-builder.d.ts.map +1 -1
- package/column-groups/column-group-header-builder.js +7 -5
- package/column-groups/column-group-header-builder.js.map +1 -1
- package/column-groups/display-group-drag-handler.d.ts +7 -3
- package/column-groups/display-group-drag-handler.d.ts.map +1 -1
- package/column-groups/display-group-drag-handler.js +46 -7
- package/column-groups/display-group-drag-handler.js.map +1 -1
- package/column-groups/display-group-header-builder.d.ts +1 -1
- package/column-groups/display-group-header-builder.d.ts.map +1 -1
- package/column-groups/display-group-header-builder.js +9 -7
- package/column-groups/display-group-header-builder.js.map +1 -1
- package/core/column-model.d.ts +88 -5
- package/core/column-model.d.ts.map +1 -1
- package/core/column-model.js +215 -3
- package/core/column-model.js.map +1 -1
- package/core/grid-api.d.ts +34 -2
- package/core/grid-api.d.ts.map +1 -1
- package/core/grid-api.js +40 -0
- package/core/grid-api.js.map +1 -1
- package/core/grid-core.d.ts +7 -0
- package/core/grid-core.d.ts.map +1 -1
- package/core/grid-core.js +42 -12
- package/core/grid-core.js.map +1 -1
- package/core/grid-store.d.ts +5 -5
- package/core/grid-store.d.ts.map +1 -1
- package/core/pointer-utils.d.ts +59 -0
- package/core/pointer-utils.d.ts.map +1 -0
- package/core/pointer-utils.js +59 -0
- package/core/pointer-utils.js.map +1 -0
- package/drag-drop/drag-drop-engine.d.ts.map +1 -1
- package/drag-drop/drag-drop-engine.js +8 -8
- package/drag-drop/drag-drop-engine.js.map +1 -1
- package/engines/editing/cell-editor-engine.js +1 -1
- package/engines/editing/cell-editor-engine.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 +8 -4
- package/index.d.ts.map +1 -1
- package/index.js +4 -1
- package/index.js.map +1 -1
- package/package.json +1 -1
- package/photon-ai/index.d.ts +2 -0
- package/photon-ai/index.d.ts.map +1 -1
- package/photon-ai/index.js +2 -0
- package/photon-ai/index.js.map +1 -1
- package/photon-ai/photon-ai-panel.d.ts +40 -0
- package/photon-ai/photon-ai-panel.d.ts.map +1 -1
- package/photon-ai/photon-ai-panel.js +163 -8
- package/photon-ai/photon-ai-panel.js.map +1 -1
- package/photon-ai/photon-ai-service.d.ts +38 -1
- package/photon-ai/photon-ai-service.d.ts.map +1 -1
- package/photon-ai/photon-ai-service.js +72 -1
- package/photon-ai/photon-ai-service.js.map +1 -1
- package/photon-ai/provider/ai-provider.types.d.ts +174 -0
- package/photon-ai/provider/ai-provider.types.d.ts.map +1 -0
- package/photon-ai/provider/ai-provider.types.js +42 -0
- package/photon-ai/provider/ai-provider.types.js.map +1 -0
- package/photon-ai/provider/command-normalizer.d.ts +36 -0
- package/photon-ai/provider/command-normalizer.d.ts.map +1 -0
- package/photon-ai/provider/command-normalizer.js +120 -0
- package/photon-ai/provider/command-normalizer.js.map +1 -0
- package/photon-ai/provider/grid-context-builder.d.ts +37 -0
- package/photon-ai/provider/grid-context-builder.d.ts.map +1 -0
- package/photon-ai/provider/grid-context-builder.js +96 -0
- package/photon-ai/provider/grid-context-builder.js.map +1 -0
- package/photon-ai/provider/http-ai-provider.d.ts +42 -0
- package/photon-ai/provider/http-ai-provider.d.ts.map +1 -0
- package/photon-ai/provider/http-ai-provider.js +125 -0
- package/photon-ai/provider/http-ai-provider.js.map +1 -0
- package/photon-ai/provider/index.d.ts +30 -0
- package/photon-ai/provider/index.d.ts.map +1 -0
- package/photon-ai/provider/index.js +42 -0
- package/photon-ai/provider/index.js.map +1 -0
- package/photon-ai/provider/presets.d.ts +29 -0
- package/photon-ai/provider/presets.d.ts.map +1 -0
- package/photon-ai/provider/presets.js +110 -0
- package/photon-ai/provider/presets.js.map +1 -0
- package/photon-ai/provider/response-parsing.d.ts +22 -0
- package/photon-ai/provider/response-parsing.d.ts.map +1 -0
- package/photon-ai/provider/response-parsing.js +79 -0
- package/photon-ai/provider/response-parsing.js.map +1 -0
- package/photon-ai/provider/system-prompt.d.ts +26 -0
- package/photon-ai/provider/system-prompt.d.ts.map +1 -0
- package/photon-ai/provider/system-prompt.js +82 -0
- package/photon-ai/provider/system-prompt.js.map +1 -0
- package/photon-grid.min.js +697 -488
- package/renderer/body-renderer.d.ts.map +1 -1
- package/renderer/body-renderer.js +34 -9
- package/renderer/body-renderer.js.map +1 -1
- package/renderer/column-chooser.d.ts +82 -0
- package/renderer/column-chooser.d.ts.map +1 -0
- package/renderer/column-chooser.js +335 -0
- package/renderer/column-chooser.js.map +1 -0
- package/renderer/column-menu.d.ts.map +1 -1
- package/renderer/column-menu.js +32 -20
- package/renderer/column-menu.js.map +1 -1
- package/renderer/column-style-manager.d.ts +17 -0
- package/renderer/column-style-manager.d.ts.map +1 -1
- package/renderer/column-style-manager.js +28 -0
- package/renderer/column-style-manager.js.map +1 -1
- package/renderer/detail-row-renderer.d.ts.map +1 -1
- package/renderer/detail-row-renderer.js +9 -7
- package/renderer/detail-row-renderer.js.map +1 -1
- package/renderer/grid-renderer.d.ts +23 -1
- package/renderer/grid-renderer.d.ts.map +1 -1
- package/renderer/grid-renderer.js +66 -8
- package/renderer/grid-renderer.js.map +1 -1
- package/renderer/group-drop-zone.js +14 -14
- package/renderer/group-drop-zone.js.map +1 -1
- package/renderer/header-renderer.d.ts +70 -0
- package/renderer/header-renderer.d.ts.map +1 -1
- package/renderer/header-renderer.js +361 -52
- 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 +96 -20
- package/renderer/row-animator.js.map +1 -1
- package/renderer/row-drag-renderer.js +6 -6
- package/renderer/row-drag-renderer.js.map +1 -1
- package/renderer/scroll-controller.d.ts +40 -0
- package/renderer/scroll-controller.d.ts.map +1 -1
- package/renderer/scroll-controller.js +215 -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-chooser.css.d.ts +13 -0
- package/styles/base/column-chooser.css.d.ts.map +1 -0
- package/styles/base/column-chooser.css.js +241 -0
- package/styles/base/column-chooser.css.js.map +1 -0
- 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 +29 -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 +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 +8 -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 +7 -7
- 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 +23 -0
- package/styles/base/header.css.js.map +1 -1
- package/styles/base/photon-ai.css.d.ts +1 -1
- package/styles/base/photon-ai.css.d.ts.map +1 -1
- package/styles/base/photon-ai.css.js +65 -0
- package/styles/base/photon-ai.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 +4 -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 +56 -7
- 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/touch.css.d.ts +23 -0
- package/styles/base/touch.css.d.ts.map +1 -0
- package/styles/base/touch.css.js +85 -0
- package/styles/base/touch.css.js.map +1 -0
- package/styles/base-styles.d.ts.map +1 -1
- package/styles/base-styles.js +9 -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 +35 -43
- 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 +63 -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/types/column.types.d.ts +78 -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 +92 -3
- package/types/grid.types.d.ts.map +1 -1
- package/types/photon-ai.types.d.ts +125 -5
- package/types/photon-ai.types.d.ts.map +1 -1
- package/types/photon-ai.types.js +18 -1
- package/types/photon-ai.types.js.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 -216
- package/styles/themes/theme-dark.js.map +0 -1
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Photon Grid base styles — touch / coarse-pointer section.
|
|
3
|
+
*
|
|
4
|
+
* Auto-split style module (see base-styles.ts). Everything here supports touch
|
|
5
|
+
* input:
|
|
6
|
+
*
|
|
7
|
+
* 1. `touch-action` declarations that let the JS pointer handlers own their
|
|
8
|
+
* gestures instead of the browser's native scroll/zoom. The grid scrolls via
|
|
9
|
+
* transform (not native overflow), so finger panning is synthesized in
|
|
10
|
+
* `ScrollController`; `touch-action: none` on the scroll surfaces stops the
|
|
11
|
+
* browser from hijacking the drag and cancelling the pointer stream.
|
|
12
|
+
* 2. `@media (pointer: coarse)` overrides that grow the resize / drag / fill
|
|
13
|
+
* handles from mouse-sized (2–6px) targets to finger-sized ones.
|
|
14
|
+
*
|
|
15
|
+
* `touch-action` is intentionally scoped to the header and the cell panel bodies
|
|
16
|
+
* (`.pg-panel__body`) — NOT the whole `.pg-grid__body`. Overlay children that
|
|
17
|
+
* scroll natively (the AI panel, editor dropdowns) are siblings of the panels,
|
|
18
|
+
* so this leaves their native scrolling intact.
|
|
19
|
+
*
|
|
20
|
+
* All colors come from theme tokens; no hardcoded palette values.
|
|
21
|
+
*/
|
|
22
|
+
export declare const touchCss = "/* \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 Touch / coarse pointer \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n\n/* Scroll surfaces: suppress native pan/zoom so JS panning owns the gesture. */\n.pg-grid__header,\n.pg-panel__body { touch-action: none; }\n\n/* Interactive handles own their own drag \u2014 never let a touch on them scroll. */\n.pg-th__resize-handle,\n.pg-th__resize-handle--group,\n[data-row-drag],\n[data-detail-resize-handle],\n.pg-fill-handle { touch-action: none; }\n\n/* Column header \"picked up\" via long-press (touch reorder). */\n.pg-th--drag-armed {\n background: var(--pg-colors-row-selected, rgba(37, 99, 235, 0.08));\n cursor: grabbing;\n}\n\n/* \u2500\u2500 Finger-sized hit targets \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\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n Coarse pointers (touch) get enlarged, transparent hit areas; the visible\n affordance (a thin line / small square) is preserved via ::after or the\n existing box so the look is unchanged on desktop. */\n@media (pointer: coarse) {\n /* Column resize handle: widen the invisible grab zone, keep a thin visual line. */\n .pg-th__resize-handle {\n width: 18px;\n right: -9px;\n background: transparent;\n }\n .pg-th--pinned-right .pg-th__resize-handle {\n left: -9px;\n right: auto;\n }\n .pg-th__resize-handle::after {\n content: '';\n position: absolute;\n top: 0;\n bottom: 0;\n left: 50%;\n width: 2px;\n transform: translateX(-50%);\n background: var(--pg-colors-resize-handle-color, #d9d9db);\n }\n\n /* Row drag handle: larger and more visible for fingers. */\n .pg-row-drag-handle {\n width: 32px;\n opacity: 0.6;\n }\n\n /* Fill handle: grow the corner target so it can be grabbed with a finger. */\n .pg-fill-handle {\n width: 14px;\n height: 14px;\n }\n\n /* Master/Detail bottom-edge resize handle: taller grab strip. */\n [data-detail-resize-handle] {\n min-height: 16px;\n }\n}\n";
|
|
23
|
+
//# sourceMappingURL=touch.css.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"touch.css.d.ts","sourceRoot":"","sources":["../../../src/styles/base/touch.css.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,QAAQ,gxEA8DpB,CAAC"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Photon Grid base styles — touch / coarse-pointer section.
|
|
3
|
+
*
|
|
4
|
+
* Auto-split style module (see base-styles.ts). Everything here supports touch
|
|
5
|
+
* input:
|
|
6
|
+
*
|
|
7
|
+
* 1. `touch-action` declarations that let the JS pointer handlers own their
|
|
8
|
+
* gestures instead of the browser's native scroll/zoom. The grid scrolls via
|
|
9
|
+
* transform (not native overflow), so finger panning is synthesized in
|
|
10
|
+
* `ScrollController`; `touch-action: none` on the scroll surfaces stops the
|
|
11
|
+
* browser from hijacking the drag and cancelling the pointer stream.
|
|
12
|
+
* 2. `@media (pointer: coarse)` overrides that grow the resize / drag / fill
|
|
13
|
+
* handles from mouse-sized (2–6px) targets to finger-sized ones.
|
|
14
|
+
*
|
|
15
|
+
* `touch-action` is intentionally scoped to the header and the cell panel bodies
|
|
16
|
+
* (`.pg-panel__body`) — NOT the whole `.pg-grid__body`. Overlay children that
|
|
17
|
+
* scroll natively (the AI panel, editor dropdowns) are siblings of the panels,
|
|
18
|
+
* so this leaves their native scrolling intact.
|
|
19
|
+
*
|
|
20
|
+
* All colors come from theme tokens; no hardcoded palette values.
|
|
21
|
+
*/
|
|
22
|
+
export const touchCss = `/* ──────────────────── Touch / coarse pointer ──────────────────── */
|
|
23
|
+
|
|
24
|
+
/* Scroll surfaces: suppress native pan/zoom so JS panning owns the gesture. */
|
|
25
|
+
.pg-grid__header,
|
|
26
|
+
.pg-panel__body { touch-action: none; }
|
|
27
|
+
|
|
28
|
+
/* Interactive handles own their own drag — never let a touch on them scroll. */
|
|
29
|
+
.pg-th__resize-handle,
|
|
30
|
+
.pg-th__resize-handle--group,
|
|
31
|
+
[data-row-drag],
|
|
32
|
+
[data-detail-resize-handle],
|
|
33
|
+
.pg-fill-handle { touch-action: none; }
|
|
34
|
+
|
|
35
|
+
/* Column header "picked up" via long-press (touch reorder). */
|
|
36
|
+
.pg-th--drag-armed {
|
|
37
|
+
background: var(--pg-colors-row-selected, rgba(37, 99, 235, 0.08));
|
|
38
|
+
cursor: grabbing;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
/* ── Finger-sized hit targets ─────────────────────────────────────────────
|
|
42
|
+
Coarse pointers (touch) get enlarged, transparent hit areas; the visible
|
|
43
|
+
affordance (a thin line / small square) is preserved via ::after or the
|
|
44
|
+
existing box so the look is unchanged on desktop. */
|
|
45
|
+
@media (pointer: coarse) {
|
|
46
|
+
/* Column resize handle: widen the invisible grab zone, keep a thin visual line. */
|
|
47
|
+
.pg-th__resize-handle {
|
|
48
|
+
width: 18px;
|
|
49
|
+
right: -9px;
|
|
50
|
+
background: transparent;
|
|
51
|
+
}
|
|
52
|
+
.pg-th--pinned-right .pg-th__resize-handle {
|
|
53
|
+
left: -9px;
|
|
54
|
+
right: auto;
|
|
55
|
+
}
|
|
56
|
+
.pg-th__resize-handle::after {
|
|
57
|
+
content: '';
|
|
58
|
+
position: absolute;
|
|
59
|
+
top: 0;
|
|
60
|
+
bottom: 0;
|
|
61
|
+
left: 50%;
|
|
62
|
+
width: 2px;
|
|
63
|
+
transform: translateX(-50%);
|
|
64
|
+
background: var(--pg-colors-resize-handle-color, #d9d9db);
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
/* Row drag handle: larger and more visible for fingers. */
|
|
68
|
+
.pg-row-drag-handle {
|
|
69
|
+
width: 32px;
|
|
70
|
+
opacity: 0.6;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
/* Fill handle: grow the corner target so it can be grabbed with a finger. */
|
|
74
|
+
.pg-fill-handle {
|
|
75
|
+
width: 14px;
|
|
76
|
+
height: 14px;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
/* Master/Detail bottom-edge resize handle: taller grab strip. */
|
|
80
|
+
[data-detail-resize-handle] {
|
|
81
|
+
min-height: 16px;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
`;
|
|
85
|
+
//# sourceMappingURL=touch.css.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"touch.css.js","sourceRoot":"","sources":["../../../src/styles/base/touch.css.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8DvB,CAAC"}
|
|
@@ -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
|
|
@@ -33,6 +32,8 @@ import { photonAiCss } from './base/photon-ai.css';
|
|
|
33
32
|
import { tooltipCss } from './base/tooltip.css';
|
|
34
33
|
import { chartConfigCss } from './base/chart-config.css';
|
|
35
34
|
import { chartControlsCss } from './base/chart-controls.css';
|
|
35
|
+
import { columnChooserCss } from './base/column-chooser.css';
|
|
36
|
+
import { touchCss } from './base/touch.css';
|
|
36
37
|
const STYLE_ID = 'photon-grid-base-styles';
|
|
37
38
|
// Joined with '' (not '\n') so the output is byte-identical to the original
|
|
38
39
|
// single template: each module already carries its own leading/trailing
|
|
@@ -63,8 +64,14 @@ const baseCss = [
|
|
|
63
64
|
tooltipCss,
|
|
64
65
|
chartConfigCss,
|
|
65
66
|
chartControlsCss,
|
|
67
|
+
columnChooserCss,
|
|
68
|
+
touchCss,
|
|
66
69
|
].join('');
|
|
67
|
-
|
|
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');
|
|
68
75
|
export function injectBaseStyles() {
|
|
69
76
|
if (document.getElementById(STYLE_ID))
|
|
70
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":"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"}
|
|
@@ -1,2 +1,10 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* pg-alpine-theme — clean, minimal (emerald accent).
|
|
3
|
+
*
|
|
4
|
+
* Cosmetic variant layered on the active mode (light/dark). Overrides only
|
|
5
|
+
* density, radii, typography, accent and motion; base colors come from the
|
|
6
|
+
* mode tokens so it works in both light and dark. See {@link themeQuartzCss}
|
|
7
|
+
* for the shared design rationale.
|
|
8
|
+
*/
|
|
9
|
+
export declare const themeAlpineCss = "\n\n/* \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 pg-alpine-theme: structural + accent tokens \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n.pg-alpine-theme .pg-grid {\n --pg-colors-primary: #16a34a;\n\n --pg-typography-font-family: -apple-system, BlinkMacSystemFont, 'Inter', 'Segoe UI', sans-serif;\n --pg-typography-font-size-md: 0.8rem;\n --pg-typography-font-size-sm: 12px;\n --pg-typography-font-size-xs: 11px;\n --pg-typography-font-weight-medium: 400;\n --pg-typography-font-weight-semi-bold: 600;\n --pg-typography-letter-spacing-wide: 0em;\n\n --pg-header-row-height: 42px;\n --pg-row-height: 40px;\n\n --pg-borders-radius-md: 4px;\n --pg-borders-radius-sm: 2px;\n --pg-borders-radius-pill: 9999px;\n --pg-sizing-checkbox-size: 15px;\n\n --pg-transitions-duration-fast: 100ms;\n}\n\n/* Alpine header \u2014 no uppercase, clean weight; color follows the mode. */\n.pg-alpine-theme .pg-th {\n text-transform: none;\n font-size: 13px;\n font-weight: 600;\n letter-spacing: 0em;\n color: var(--pg-colors-header-text);\n}\n.pg-alpine-theme .pg-th--sorted { color: var(--pg-colors-primary); }\n.pg-alpine-theme .pg-grid__header { border-bottom: 2px solid var(--pg-colors-header-border); }\n\n/* Alpine rows \u2014 thin full-width divider */\n.pg-alpine-theme .pg-row { border-bottom: 1px solid var(--pg-colors-border); }\n\n/* Alpine icon tones \u2014 mode-aware */\n.pg-alpine-theme .pg-icon { color: var(--pg-colors-text-secondary); }\n.pg-alpine-theme .pg-th--sorted .pg-icon { color: var(--pg-colors-primary); }\n.pg-alpine-theme .pg-row-drag-handle { color: var(--pg-colors-text-disabled); }\n\n/* Alpine checkbox \u2014 15px, 2px-radius, slim accent outline \u2192 fill */\n.pg-alpine-theme .pg-checkbox {\n appearance: none;\n -webkit-appearance: none;\n width: 15px;\n height: 15px;\n border: 1.5px solid var(--pg-colors-checkbox-border);\n border-radius: 2px;\n background: var(--pg-colors-checkbox-background);\n cursor: pointer;\n position: relative;\n flex-shrink: 0;\n transition: background 100ms linear, border-color 100ms linear;\n}\n.pg-alpine-theme .pg-checkbox:hover { border-color: var(--pg-colors-primary); }\n.pg-alpine-theme .pg-checkbox:focus-visible {\n outline: none;\n box-shadow: 0 0 0 2px color-mix(in srgb, var(--pg-colors-primary) 30%, transparent);\n}\n.pg-alpine-theme .pg-checkbox:checked {\n background: var(--pg-colors-primary);\n border-color: var(--pg-colors-primary);\n}\n.pg-alpine-theme .pg-checkbox:checked::after {\n content: '';\n position: absolute;\n left: 3px;\n top: 1px;\n width: 5px;\n height: 8px;\n border: 1.5px solid var(--pg-colors-primary-text);\n border-top: none;\n border-left: none;\n transform: rotate(45deg);\n}\n.pg-alpine-theme .pg-checkbox:indeterminate {\n background: var(--pg-colors-primary);\n border-color: var(--pg-colors-primary);\n}\n.pg-alpine-theme .pg-checkbox:indeterminate::after {\n content: '';\n position: absolute;\n left: 2px;\n top: 50%;\n width: 7px;\n height: 1.5px;\n background: var(--pg-colors-primary-text);\n transform: translateY(-50%);\n}\n\n/* Alpine selection \u2014 clean accent left bar */\n.pg-alpine-theme .pg-row--selected { box-shadow: inset 2px 0 0 var(--pg-colors-primary); }\n\n/* Alpine row-drag animation \u2014 snappy, fast linear */\n.pg-alpine-theme .pg-grid--row-dragging .pg-row {\n transition: background 100ms linear, top 100ms ease-out;\n}\n";
|
|
2
10
|
//# sourceMappingURL=theme-alpine.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme-alpine.d.ts","sourceRoot":"","sources":["../../../src/styles/themes/theme-alpine.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"theme-alpine.d.ts","sourceRoot":"","sources":["../../../src/styles/themes/theme-alpine.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,y5GAqG1B,CAAC"}
|
|
@@ -1,27 +1,16 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* pg-alpine-theme — clean, minimal (emerald accent).
|
|
3
|
+
*
|
|
4
|
+
* Cosmetic variant layered on the active mode (light/dark). Overrides only
|
|
5
|
+
* density, radii, typography, accent and motion; base colors come from the
|
|
6
|
+
* mode tokens so it works in both light and dark. See {@link themeQuartzCss}
|
|
7
|
+
* for the shared design rationale.
|
|
8
|
+
*/
|
|
2
9
|
export const themeAlpineCss = `
|
|
3
10
|
|
|
4
|
-
/* ──────────── pg-alpine-theme
|
|
11
|
+
/* ──────────── pg-alpine-theme: structural + accent tokens ──────────── */
|
|
5
12
|
.pg-alpine-theme .pg-grid {
|
|
6
|
-
--pg-colors-border: #e5e7eb;
|
|
7
|
-
--pg-colors-header-background: #ffffff;
|
|
8
|
-
--pg-colors-header-border: #e5e7eb;
|
|
9
|
-
--pg-colors-header-text: #374151;
|
|
10
|
-
--pg-colors-row-background: #ffffff;
|
|
11
|
-
--pg-colors-row-alt-background: #fafafa;
|
|
12
|
-
--pg-colors-row-hover: #f0fdf4;
|
|
13
|
-
--pg-colors-row-selected: #dcfce7;
|
|
14
|
-
--pg-colors-row-selected-hover: #bbf7d0;
|
|
15
|
-
--pg-colors-text-primary: #111827;
|
|
16
|
-
--pg-colors-text-secondary: #6b7280;
|
|
17
|
-
--pg-colors-text-muted: #9ca3af;
|
|
18
|
-
--pg-colors-text-disabled: #d1d5db;
|
|
19
13
|
--pg-colors-primary: #16a34a;
|
|
20
|
-
--pg-colors-filter-background: #ffffff;
|
|
21
|
-
--pg-colors-scrollbar-bg: #f9fafb;
|
|
22
|
-
--pg-colors-badge-background: #dcfce7;
|
|
23
|
-
--pg-colors-badge-text: #166534;
|
|
24
|
-
--pg-colors-resize-handle-color: #d1d5db;
|
|
25
14
|
|
|
26
15
|
--pg-typography-font-family: -apple-system, BlinkMacSystemFont, 'Inter', 'Segoe UI', sans-serif;
|
|
27
16
|
--pg-typography-font-size-md: 0.8rem;
|
|
@@ -33,54 +22,56 @@ export const themeAlpineCss = `
|
|
|
33
22
|
|
|
34
23
|
--pg-header-row-height: 42px;
|
|
35
24
|
--pg-row-height: 40px;
|
|
25
|
+
|
|
36
26
|
--pg-borders-radius-md: 4px;
|
|
37
27
|
--pg-borders-radius-sm: 2px;
|
|
38
28
|
--pg-borders-radius-pill: 9999px;
|
|
39
|
-
--pg-transitions-duration-fast: 100ms;
|
|
40
29
|
--pg-sizing-checkbox-size: 15px;
|
|
30
|
+
|
|
31
|
+
--pg-transitions-duration-fast: 100ms;
|
|
41
32
|
}
|
|
42
33
|
|
|
43
|
-
/* Alpine header — no uppercase, clean weight */
|
|
34
|
+
/* Alpine header — no uppercase, clean weight; color follows the mode. */
|
|
44
35
|
.pg-alpine-theme .pg-th {
|
|
45
36
|
text-transform: none;
|
|
46
37
|
font-size: 13px;
|
|
47
38
|
font-weight: 600;
|
|
48
39
|
letter-spacing: 0em;
|
|
49
|
-
color:
|
|
40
|
+
color: var(--pg-colors-header-text);
|
|
50
41
|
}
|
|
51
|
-
.pg-alpine-theme .pg-th--sorted { color:
|
|
52
|
-
.pg-alpine-theme .pg-grid__header { border-bottom: 2px solid
|
|
42
|
+
.pg-alpine-theme .pg-th--sorted { color: var(--pg-colors-primary); }
|
|
43
|
+
.pg-alpine-theme .pg-grid__header { border-bottom: 2px solid var(--pg-colors-header-border); }
|
|
53
44
|
|
|
54
45
|
/* Alpine rows — thin full-width divider */
|
|
55
|
-
.pg-alpine-theme .pg-row { border-bottom: 1px solid
|
|
46
|
+
.pg-alpine-theme .pg-row { border-bottom: 1px solid var(--pg-colors-border); }
|
|
56
47
|
|
|
57
|
-
/* Alpine icon tones */
|
|
58
|
-
.pg-alpine-theme .pg-icon { color:
|
|
59
|
-
.pg-alpine-theme .pg-th--sorted .pg-icon { color:
|
|
60
|
-
.pg-alpine-theme .pg-row-drag-handle { color:
|
|
48
|
+
/* Alpine icon tones — mode-aware */
|
|
49
|
+
.pg-alpine-theme .pg-icon { color: var(--pg-colors-text-secondary); }
|
|
50
|
+
.pg-alpine-theme .pg-th--sorted .pg-icon { color: var(--pg-colors-primary); }
|
|
51
|
+
.pg-alpine-theme .pg-row-drag-handle { color: var(--pg-colors-text-disabled); }
|
|
61
52
|
|
|
62
|
-
/* Alpine checkbox — 15px, 2px-radius, slim
|
|
53
|
+
/* Alpine checkbox — 15px, 2px-radius, slim accent outline → fill */
|
|
63
54
|
.pg-alpine-theme .pg-checkbox {
|
|
64
55
|
appearance: none;
|
|
65
56
|
-webkit-appearance: none;
|
|
66
57
|
width: 15px;
|
|
67
58
|
height: 15px;
|
|
68
|
-
border: 1.5px solid
|
|
59
|
+
border: 1.5px solid var(--pg-colors-checkbox-border);
|
|
69
60
|
border-radius: 2px;
|
|
70
|
-
background:
|
|
61
|
+
background: var(--pg-colors-checkbox-background);
|
|
71
62
|
cursor: pointer;
|
|
72
63
|
position: relative;
|
|
73
64
|
flex-shrink: 0;
|
|
74
65
|
transition: background 100ms linear, border-color 100ms linear;
|
|
75
66
|
}
|
|
76
|
-
.pg-alpine-theme .pg-checkbox:hover { border-color:
|
|
67
|
+
.pg-alpine-theme .pg-checkbox:hover { border-color: var(--pg-colors-primary); }
|
|
77
68
|
.pg-alpine-theme .pg-checkbox:focus-visible {
|
|
78
69
|
outline: none;
|
|
79
|
-
box-shadow: 0 0 0 2px
|
|
70
|
+
box-shadow: 0 0 0 2px color-mix(in srgb, var(--pg-colors-primary) 30%, transparent);
|
|
80
71
|
}
|
|
81
72
|
.pg-alpine-theme .pg-checkbox:checked {
|
|
82
|
-
background:
|
|
83
|
-
border-color:
|
|
73
|
+
background: var(--pg-colors-primary);
|
|
74
|
+
border-color: var(--pg-colors-primary);
|
|
84
75
|
}
|
|
85
76
|
.pg-alpine-theme .pg-checkbox:checked::after {
|
|
86
77
|
content: '';
|
|
@@ -89,14 +80,14 @@ export const themeAlpineCss = `
|
|
|
89
80
|
top: 1px;
|
|
90
81
|
width: 5px;
|
|
91
82
|
height: 8px;
|
|
92
|
-
border: 1.5px solid
|
|
83
|
+
border: 1.5px solid var(--pg-colors-primary-text);
|
|
93
84
|
border-top: none;
|
|
94
85
|
border-left: none;
|
|
95
86
|
transform: rotate(45deg);
|
|
96
87
|
}
|
|
97
88
|
.pg-alpine-theme .pg-checkbox:indeterminate {
|
|
98
|
-
background:
|
|
99
|
-
border-color:
|
|
89
|
+
background: var(--pg-colors-primary);
|
|
90
|
+
border-color: var(--pg-colors-primary);
|
|
100
91
|
}
|
|
101
92
|
.pg-alpine-theme .pg-checkbox:indeterminate::after {
|
|
102
93
|
content: '';
|
|
@@ -105,12 +96,12 @@ export const themeAlpineCss = `
|
|
|
105
96
|
top: 50%;
|
|
106
97
|
width: 7px;
|
|
107
98
|
height: 1.5px;
|
|
108
|
-
background:
|
|
99
|
+
background: var(--pg-colors-primary-text);
|
|
109
100
|
transform: translateY(-50%);
|
|
110
101
|
}
|
|
111
102
|
|
|
112
|
-
/* Alpine selection — clean
|
|
113
|
-
.pg-alpine-theme .pg-row--selected { box-shadow: inset 2px 0 0
|
|
103
|
+
/* Alpine selection — clean accent left bar */
|
|
104
|
+
.pg-alpine-theme .pg-row--selected { box-shadow: inset 2px 0 0 var(--pg-colors-primary); }
|
|
114
105
|
|
|
115
106
|
/* Alpine row-drag animation — snappy, fast linear */
|
|
116
107
|
.pg-alpine-theme .pg-grid--row-dragging .pg-row {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme-alpine.js","sourceRoot":"","sources":["../../../src/styles/themes/theme-alpine.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"theme-alpine.js","sourceRoot":"","sources":["../../../src/styles/themes/theme-alpine.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqG7B,CAAC"}
|
|
@@ -1,2 +1,10 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* pg-balham-theme — compact, professional (amber accent).
|
|
3
|
+
*
|
|
4
|
+
* Cosmetic variant layered on the active mode (light/dark). Overrides only
|
|
5
|
+
* density, radii, typography, accent and motion; base colors come from the
|
|
6
|
+
* mode tokens so it works in both light and dark. See {@link themeQuartzCss}
|
|
7
|
+
* for the shared design rationale.
|
|
8
|
+
*/
|
|
9
|
+
export declare const themeBalhamCss = "\n\n/* \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 pg-balham-theme: structural + accent tokens \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n.pg-balham-theme .pg-grid {\n --pg-colors-primary: #d97706;\n\n --pg-typography-font-family: 'Segoe UI', system-ui, -apple-system, sans-serif;\n --pg-typography-font-size-sm: 11px;\n --pg-typography-font-size-xs: 10px;\n --pg-typography-font-weight-medium: 400;\n --pg-typography-font-weight-semi-bold: 600;\n --pg-typography-letter-spacing-wide: 0.04em;\n\n --pg-header-row-height: 36px;\n --pg-row-height: 32px;\n\n --pg-borders-radius-md: 2px;\n --pg-borders-radius-sm: 0px;\n --pg-borders-radius-pill: 2px;\n --pg-sizing-checkbox-size: 14px;\n\n --pg-transitions-duration-fast: 80ms;\n}\n\n/* Balham header \u2014 dense, uppercase, pronounced border; color follows the mode. */\n.pg-balham-theme .pg-th {\n text-transform: uppercase;\n font-size: 10px;\n font-weight: 700;\n letter-spacing: 0.06em;\n color: var(--pg-colors-header-text);\n}\n.pg-balham-theme .pg-th--sorted { color: var(--pg-colors-primary); }\n.pg-balham-theme .pg-grid__header { border-bottom: 2px solid var(--pg-colors-header-border); }\n\n/* Balham rows \u2014 full row border, classic spreadsheet look */\n.pg-balham-theme .pg-row { border-bottom: 1px solid var(--pg-colors-border); }\n\n/* Balham icon tones \u2014 mode-aware */\n.pg-balham-theme .pg-icon { color: var(--pg-colors-text-secondary); }\n.pg-balham-theme .pg-th--sorted .pg-icon { color: var(--pg-colors-primary); }\n.pg-balham-theme .pg-row-drag-handle { color: var(--pg-colors-text-disabled); }\n\n/* Balham checkbox \u2014 14px, square (0 radius), flat accent fill */\n.pg-balham-theme .pg-checkbox {\n appearance: none;\n -webkit-appearance: none;\n width: 14px;\n height: 14px;\n border: 1px solid var(--pg-colors-checkbox-border);\n border-radius: 0px;\n background: var(--pg-colors-checkbox-background);\n cursor: pointer;\n position: relative;\n flex-shrink: 0;\n transition: background 80ms linear, border-color 80ms linear;\n}\n.pg-balham-theme .pg-checkbox:hover { border-color: var(--pg-colors-primary); }\n.pg-balham-theme .pg-checkbox:focus-visible {\n outline: 1px solid var(--pg-colors-primary);\n outline-offset: 1px;\n}\n.pg-balham-theme .pg-checkbox:checked {\n background: var(--pg-colors-primary);\n border-color: var(--pg-colors-primary);\n}\n.pg-balham-theme .pg-checkbox:checked::after {\n content: '';\n position: absolute;\n left: 3px;\n top: 1px;\n width: 5px;\n height: 8px;\n border: 2px solid var(--pg-colors-primary-text);\n border-top: none;\n border-left: none;\n transform: rotate(45deg);\n}\n.pg-balham-theme .pg-checkbox:indeterminate {\n background: var(--pg-colors-primary);\n border-color: var(--pg-colors-primary);\n}\n.pg-balham-theme .pg-checkbox:indeterminate::after {\n content: '';\n position: absolute;\n left: 2px;\n top: 50%;\n width: 8px;\n height: 2px;\n background: var(--pg-colors-primary-text);\n transform: translateY(-50%);\n}\n\n/* Balham selection \u2014 amber left accent bar */\n.pg-balham-theme .pg-row--selected { box-shadow: inset 3px 0 0 var(--pg-colors-primary); }\n\n/* Balham row-drag \u2014 very fast, minimal */\n.pg-balham-theme .pg-grid--row-dragging .pg-row {\n transition: background 80ms linear, top 80ms linear;\n}\n";
|
|
2
10
|
//# sourceMappingURL=theme-balham.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme-balham.d.ts","sourceRoot":"","sources":["../../../src/styles/themes/theme-balham.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"theme-balham.d.ts","sourceRoot":"","sources":["../../../src/styles/themes/theme-balham.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,+zGAoG1B,CAAC"}
|
|
@@ -1,27 +1,16 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* pg-balham-theme — compact, professional (amber accent).
|
|
3
|
+
*
|
|
4
|
+
* Cosmetic variant layered on the active mode (light/dark). Overrides only
|
|
5
|
+
* density, radii, typography, accent and motion; base colors come from the
|
|
6
|
+
* mode tokens so it works in both light and dark. See {@link themeQuartzCss}
|
|
7
|
+
* for the shared design rationale.
|
|
8
|
+
*/
|
|
2
9
|
export const themeBalhamCss = `
|
|
3
10
|
|
|
4
|
-
/* ──────────── pg-balham-theme
|
|
11
|
+
/* ──────────── pg-balham-theme: structural + accent tokens ──────────── */
|
|
5
12
|
.pg-balham-theme .pg-grid {
|
|
6
|
-
--pg-colors-border: #d1d5db;
|
|
7
|
-
--pg-colors-header-background: #f3f4f6;
|
|
8
|
-
--pg-colors-header-border: #d1d5db;
|
|
9
|
-
--pg-colors-header-text: #374151;
|
|
10
|
-
--pg-colors-row-background: #ffffff;
|
|
11
|
-
--pg-colors-row-alt-background: #f9fafb;
|
|
12
|
-
--pg-colors-row-hover: #fef3c7;
|
|
13
|
-
--pg-colors-row-selected: #fffbeb;
|
|
14
|
-
--pg-colors-row-selected-hover: #fef08a;
|
|
15
|
-
--pg-colors-text-primary: #111827;
|
|
16
|
-
--pg-colors-text-secondary: #6b7280;
|
|
17
|
-
--pg-colors-text-muted: #9ca3af;
|
|
18
|
-
--pg-colors-text-disabled: #d1d5db;
|
|
19
13
|
--pg-colors-primary: #d97706;
|
|
20
|
-
--pg-colors-filter-background: #ffffff;
|
|
21
|
-
--pg-colors-scrollbar-bg: #f3f4f6;
|
|
22
|
-
--pg-colors-badge-background: #fef3c7;
|
|
23
|
-
--pg-colors-badge-text: #92400e;
|
|
24
|
-
--pg-colors-resize-handle-color: #d1d5db;
|
|
25
14
|
|
|
26
15
|
--pg-typography-font-family: 'Segoe UI', system-ui, -apple-system, sans-serif;
|
|
27
16
|
--pg-typography-font-size-sm: 11px;
|
|
@@ -32,54 +21,56 @@ export const themeBalhamCss = `
|
|
|
32
21
|
|
|
33
22
|
--pg-header-row-height: 36px;
|
|
34
23
|
--pg-row-height: 32px;
|
|
24
|
+
|
|
35
25
|
--pg-borders-radius-md: 2px;
|
|
36
26
|
--pg-borders-radius-sm: 0px;
|
|
37
27
|
--pg-borders-radius-pill: 2px;
|
|
38
|
-
--pg-transitions-duration-fast: 80ms;
|
|
39
28
|
--pg-sizing-checkbox-size: 14px;
|
|
29
|
+
|
|
30
|
+
--pg-transitions-duration-fast: 80ms;
|
|
40
31
|
}
|
|
41
32
|
|
|
42
|
-
/* Balham header — dense, uppercase, pronounced border */
|
|
33
|
+
/* Balham header — dense, uppercase, pronounced border; color follows the mode. */
|
|
43
34
|
.pg-balham-theme .pg-th {
|
|
44
35
|
text-transform: uppercase;
|
|
45
36
|
font-size: 10px;
|
|
46
37
|
font-weight: 700;
|
|
47
38
|
letter-spacing: 0.06em;
|
|
48
|
-
color:
|
|
39
|
+
color: var(--pg-colors-header-text);
|
|
49
40
|
}
|
|
50
|
-
.pg-balham-theme .pg-th--sorted { color:
|
|
51
|
-
.pg-balham-theme .pg-grid__header { border-bottom: 2px solid
|
|
41
|
+
.pg-balham-theme .pg-th--sorted { color: var(--pg-colors-primary); }
|
|
42
|
+
.pg-balham-theme .pg-grid__header { border-bottom: 2px solid var(--pg-colors-header-border); }
|
|
52
43
|
|
|
53
44
|
/* Balham rows — full row border, classic spreadsheet look */
|
|
54
|
-
.pg-balham-theme .pg-row { border-bottom: 1px solid
|
|
45
|
+
.pg-balham-theme .pg-row { border-bottom: 1px solid var(--pg-colors-border); }
|
|
55
46
|
|
|
56
|
-
/* Balham icon tones —
|
|
57
|
-
.pg-balham-theme .pg-icon { color:
|
|
58
|
-
.pg-balham-theme .pg-th--sorted .pg-icon { color:
|
|
59
|
-
.pg-balham-theme .pg-row-drag-handle { color:
|
|
47
|
+
/* Balham icon tones — mode-aware */
|
|
48
|
+
.pg-balham-theme .pg-icon { color: var(--pg-colors-text-secondary); }
|
|
49
|
+
.pg-balham-theme .pg-th--sorted .pg-icon { color: var(--pg-colors-primary); }
|
|
50
|
+
.pg-balham-theme .pg-row-drag-handle { color: var(--pg-colors-text-disabled); }
|
|
60
51
|
|
|
61
|
-
/* Balham checkbox — 14px, square (0 radius), flat
|
|
52
|
+
/* Balham checkbox — 14px, square (0 radius), flat accent fill */
|
|
62
53
|
.pg-balham-theme .pg-checkbox {
|
|
63
54
|
appearance: none;
|
|
64
55
|
-webkit-appearance: none;
|
|
65
56
|
width: 14px;
|
|
66
57
|
height: 14px;
|
|
67
|
-
border: 1px solid
|
|
58
|
+
border: 1px solid var(--pg-colors-checkbox-border);
|
|
68
59
|
border-radius: 0px;
|
|
69
|
-
background:
|
|
60
|
+
background: var(--pg-colors-checkbox-background);
|
|
70
61
|
cursor: pointer;
|
|
71
62
|
position: relative;
|
|
72
63
|
flex-shrink: 0;
|
|
73
64
|
transition: background 80ms linear, border-color 80ms linear;
|
|
74
65
|
}
|
|
75
|
-
.pg-balham-theme .pg-checkbox:hover { border-color:
|
|
66
|
+
.pg-balham-theme .pg-checkbox:hover { border-color: var(--pg-colors-primary); }
|
|
76
67
|
.pg-balham-theme .pg-checkbox:focus-visible {
|
|
77
|
-
outline: 1px solid
|
|
68
|
+
outline: 1px solid var(--pg-colors-primary);
|
|
78
69
|
outline-offset: 1px;
|
|
79
70
|
}
|
|
80
71
|
.pg-balham-theme .pg-checkbox:checked {
|
|
81
|
-
background:
|
|
82
|
-
border-color:
|
|
72
|
+
background: var(--pg-colors-primary);
|
|
73
|
+
border-color: var(--pg-colors-primary);
|
|
83
74
|
}
|
|
84
75
|
.pg-balham-theme .pg-checkbox:checked::after {
|
|
85
76
|
content: '';
|
|
@@ -88,14 +79,14 @@ export const themeBalhamCss = `
|
|
|
88
79
|
top: 1px;
|
|
89
80
|
width: 5px;
|
|
90
81
|
height: 8px;
|
|
91
|
-
border: 2px solid
|
|
82
|
+
border: 2px solid var(--pg-colors-primary-text);
|
|
92
83
|
border-top: none;
|
|
93
84
|
border-left: none;
|
|
94
85
|
transform: rotate(45deg);
|
|
95
86
|
}
|
|
96
87
|
.pg-balham-theme .pg-checkbox:indeterminate {
|
|
97
|
-
background:
|
|
98
|
-
border-color:
|
|
88
|
+
background: var(--pg-colors-primary);
|
|
89
|
+
border-color: var(--pg-colors-primary);
|
|
99
90
|
}
|
|
100
91
|
.pg-balham-theme .pg-checkbox:indeterminate::after {
|
|
101
92
|
content: '';
|
|
@@ -104,12 +95,12 @@ export const themeBalhamCss = `
|
|
|
104
95
|
top: 50%;
|
|
105
96
|
width: 8px;
|
|
106
97
|
height: 2px;
|
|
107
|
-
background:
|
|
98
|
+
background: var(--pg-colors-primary-text);
|
|
108
99
|
transform: translateY(-50%);
|
|
109
100
|
}
|
|
110
101
|
|
|
111
102
|
/* Balham selection — amber left accent bar */
|
|
112
|
-
.pg-balham-theme .pg-row--selected { box-shadow: inset 3px 0 0
|
|
103
|
+
.pg-balham-theme .pg-row--selected { box-shadow: inset 3px 0 0 var(--pg-colors-primary); }
|
|
113
104
|
|
|
114
105
|
/* Balham row-drag — very fast, minimal */
|
|
115
106
|
.pg-balham-theme .pg-grid--row-dragging .pg-row {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme-balham.js","sourceRoot":"","sources":["../../../src/styles/themes/theme-balham.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"theme-balham.js","sourceRoot":"","sources":["../../../src/styles/themes/theme-balham.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoG7B,CAAC"}
|
|
@@ -1,2 +1,10 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* pg-material-theme — Material Design 3 (indigo accent).
|
|
3
|
+
*
|
|
4
|
+
* Cosmetic variant layered on the active mode (light/dark). Overrides only
|
|
5
|
+
* density, radii, typography, accent, elevation and motion; base colors come
|
|
6
|
+
* from the mode tokens so it works in both light and dark. See
|
|
7
|
+
* {@link themeQuartzCss} for the shared design rationale.
|
|
8
|
+
*/
|
|
9
|
+
export declare const themeMaterialCss = "\n\n/* \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 pg-material-theme: structural + accent tokens \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n.pg-material-theme .pg-grid {\n /* Material uses elevation instead of a hard border. */\n border-radius: 4px;\n border-color: transparent;\n box-shadow: 0 2px 1px -1px rgba(0,0,0,.2), 0 1px 1px 0 rgba(0,0,0,.14), 0 1px 3px 0 rgba(0,0,0,.12);\n\n --pg-colors-primary: #1976d2;\n\n --pg-typography-font-family: Roboto, 'Helvetica Neue', Arial, sans-serif;\n --pg-typography-font-size-sm: 12px;\n --pg-typography-font-size-xs: 11px;\n --pg-typography-font-weight-medium: 400;\n --pg-typography-font-weight-semi-bold: 500;\n --pg-typography-letter-spacing-wide: 0.04em;\n\n --pg-header-row-height: 56px;\n --pg-row-height: 52px;\n\n --pg-borders-radius-md: 4px;\n --pg-borders-radius-sm: 2px;\n --pg-borders-radius-pill: 4px;\n --pg-sizing-checkbox-size: 18px;\n\n --pg-transitions-duration-fast: 200ms;\n}\n\n/* Material header \u2014 no uppercase, medium weight; color follows the mode. */\n.pg-material-theme .pg-th {\n text-transform: none;\n font-size: 12px;\n font-weight: 500;\n letter-spacing: 0.04em;\n color: var(--pg-colors-header-text);\n}\n.pg-material-theme .pg-th--sorted { color: var(--pg-colors-primary); }\n.pg-material-theme .pg-grid__header { border-bottom: 1px solid var(--pg-colors-header-border); }\n\n/* Material rows \u2014 thin divider lines */\n.pg-material-theme .pg-row { border-bottom: 1px solid var(--pg-colors-border); }\n.pg-material-theme .pg-cell--v-border { border-right-color: var(--pg-colors-border); }\n\n/* Material filter row */\n.pg-material-theme .pg-filter-row { border-top-color: var(--pg-colors-border); }\n\n/* Material icon tones \u2014 mode-aware */\n.pg-material-theme .pg-icon { color: var(--pg-colors-text-secondary); }\n.pg-material-theme .pg-th--sorted .pg-icon { color: var(--pg-colors-primary); }\n.pg-material-theme .pg-row-drag-handle { color: var(--pg-colors-text-disabled); }\n\n/* Material checkbox \u2014 18px, 2px radius, accent, Material motion + ripple */\n.pg-material-theme .pg-checkbox {\n appearance: none;\n -webkit-appearance: none;\n width: 18px;\n height: 18px;\n border: 2px solid var(--pg-colors-checkbox-border);\n border-radius: 2px;\n background: transparent;\n cursor: pointer;\n position: relative;\n flex-shrink: 0;\n transition: background 200ms cubic-bezier(0.4,0,0.2,1),\n border-color 200ms cubic-bezier(0.4,0,0.2,1),\n box-shadow 200ms cubic-bezier(0.4,0,0.2,1);\n}\n.pg-material-theme .pg-checkbox:hover {\n border-color: var(--pg-colors-primary);\n box-shadow: 0 0 0 8px color-mix(in srgb, var(--pg-colors-primary) 10%, transparent);\n}\n.pg-material-theme .pg-checkbox:focus-visible {\n outline: none;\n box-shadow: 0 0 0 8px color-mix(in srgb, var(--pg-colors-primary) 20%, transparent);\n}\n.pg-material-theme .pg-checkbox:checked {\n background: var(--pg-colors-primary);\n border-color: var(--pg-colors-primary);\n}\n.pg-material-theme .pg-checkbox:checked::after {\n content: '';\n position: absolute;\n left: 4px;\n top: 1px;\n width: 7px;\n height: 11px;\n border: 2px solid var(--pg-colors-primary-text);\n border-top: none;\n border-left: none;\n transform: rotate(45deg);\n}\n.pg-material-theme .pg-checkbox:indeterminate {\n background: var(--pg-colors-primary);\n border-color: var(--pg-colors-primary);\n}\n.pg-material-theme .pg-checkbox:indeterminate::after {\n content: '';\n position: absolute;\n left: 2px;\n top: 50%;\n width: 10px;\n height: 2px;\n background: var(--pg-colors-primary-text);\n transform: translateY(-50%);\n}\n\n/* Material selection \u2014 no left bar, full-row tint only */\n.pg-material-theme .pg-row--selected { box-shadow: none; }\n\n/* Material row-drag animation \u2014 Material motion curve */\n.pg-material-theme .pg-grid--row-dragging .pg-row {\n transition: background 200ms cubic-bezier(0.4,0,0.2,1),\n top 200ms cubic-bezier(0.4,0,0.2,1);\n}\n";
|
|
2
10
|
//# sourceMappingURL=theme-material.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme-material.d.ts","sourceRoot":"","sources":["../../../src/styles/themes/theme-material.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"theme-material.d.ts","sourceRoot":"","sources":["../../../src/styles/themes/theme-material.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB,s/HAmH5B,CAAC"}
|