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.
Files changed (161) hide show
  1. package/cell-selection/cell-selection-engine.d.ts +49 -0
  2. package/cell-selection/cell-selection-engine.d.ts.map +1 -1
  3. package/cell-selection/cell-selection-engine.js +185 -6
  4. package/cell-selection/cell-selection-engine.js.map +1 -1
  5. package/core/grid-api.d.ts +83 -0
  6. package/core/grid-api.d.ts.map +1 -1
  7. package/core/grid-api.js +118 -1
  8. package/core/grid-api.js.map +1 -1
  9. package/core/grid-core.d.ts.map +1 -1
  10. package/core/grid-core.js +14 -4
  11. package/core/grid-core.js.map +1 -1
  12. package/engines/clipboard/clipboard-engine.d.ts +3 -2
  13. package/engines/clipboard/clipboard-engine.d.ts.map +1 -1
  14. package/engines/clipboard/clipboard-engine.js +4 -3
  15. package/engines/clipboard/clipboard-engine.js.map +1 -1
  16. package/engines/filter/filter-engine.d.ts +16 -0
  17. package/engines/filter/filter-engine.d.ts.map +1 -1
  18. package/engines/filter/filter-engine.js +20 -0
  19. package/engines/filter/filter-engine.js.map +1 -1
  20. package/engines/filter/filter-panel.d.ts.map +1 -1
  21. package/engines/filter/filter-panel.js +6 -1
  22. package/engines/filter/filter-panel.js.map +1 -1
  23. package/engines/master-detail/master-detail-engine.d.ts +4 -3
  24. package/engines/master-detail/master-detail-engine.d.ts.map +1 -1
  25. package/engines/master-detail/master-detail-engine.js +14 -5
  26. package/engines/master-detail/master-detail-engine.js.map +1 -1
  27. package/engines/selection/row-selection-engine.d.ts +41 -0
  28. package/engines/selection/row-selection-engine.d.ts.map +1 -1
  29. package/engines/selection/row-selection-engine.js +103 -0
  30. package/engines/selection/row-selection-engine.js.map +1 -1
  31. package/index.d.ts +2 -1
  32. package/index.d.ts.map +1 -1
  33. package/index.js +1 -0
  34. package/index.js.map +1 -1
  35. package/package.json +1 -1
  36. package/photon-ai/builtins/filter.commands.d.ts +15 -0
  37. package/photon-ai/builtins/filter.commands.d.ts.map +1 -1
  38. package/photon-ai/builtins/filter.commands.js +5 -5
  39. package/photon-ai/builtins/filter.commands.js.map +1 -1
  40. package/photon-ai/builtins/selection.commands.d.ts.map +1 -1
  41. package/photon-ai/builtins/selection.commands.js +161 -2
  42. package/photon-ai/builtins/selection.commands.js.map +1 -1
  43. package/photon-ai/provider/command-normalizer.d.ts.map +1 -1
  44. package/photon-ai/provider/command-normalizer.js +5 -1
  45. package/photon-ai/provider/command-normalizer.js.map +1 -1
  46. package/photon-ai/provider/system-prompt.d.ts.map +1 -1
  47. package/photon-ai/provider/system-prompt.js +3 -1
  48. package/photon-ai/provider/system-prompt.js.map +1 -1
  49. package/photon-grid.min.js +349 -498
  50. package/renderer/auto-scroller.d.ts +11 -1
  51. package/renderer/auto-scroller.d.ts.map +1 -1
  52. package/renderer/auto-scroller.js +34 -19
  53. package/renderer/auto-scroller.js.map +1 -1
  54. package/renderer/body-renderer.d.ts +16 -0
  55. package/renderer/body-renderer.d.ts.map +1 -1
  56. package/renderer/body-renderer.js +54 -1
  57. package/renderer/body-renderer.js.map +1 -1
  58. package/renderer/cell-renderer.d.ts +9 -1
  59. package/renderer/cell-renderer.d.ts.map +1 -1
  60. package/renderer/cell-renderer.js +16 -2
  61. package/renderer/cell-renderer.js.map +1 -1
  62. package/renderer/detail-row-renderer.d.ts.map +1 -1
  63. package/renderer/detail-row-renderer.js +1 -1
  64. package/renderer/detail-row-renderer.js.map +1 -1
  65. package/renderer/grid-renderer.d.ts +33 -1
  66. package/renderer/grid-renderer.d.ts.map +1 -1
  67. package/renderer/grid-renderer.js +138 -2
  68. package/renderer/grid-renderer.js.map +1 -1
  69. package/renderer/header-renderer.d.ts +44 -0
  70. package/renderer/header-renderer.d.ts.map +1 -1
  71. package/renderer/header-renderer.js +145 -19
  72. package/renderer/header-renderer.js.map +1 -1
  73. package/renderer/row-animator.d.ts +18 -1
  74. package/renderer/row-animator.d.ts.map +1 -1
  75. package/renderer/row-animator.js +93 -17
  76. package/renderer/row-animator.js.map +1 -1
  77. package/renderer/scroll-controller.d.ts.map +1 -1
  78. package/renderer/scroll-controller.js +31 -13
  79. package/renderer/scroll-controller.js.map +1 -1
  80. package/styles/base/cells.css.d.ts +1 -1
  81. package/styles/base/cells.css.d.ts.map +1 -1
  82. package/styles/base/cells.css.js +13 -13
  83. package/styles/base/column-context-menu.css.d.ts +1 -1
  84. package/styles/base/column-context-menu.css.d.ts.map +1 -1
  85. package/styles/base/column-context-menu.css.js +19 -5
  86. package/styles/base/column-context-menu.css.js.map +1 -1
  87. package/styles/base/column-group-header.css.d.ts +1 -1
  88. package/styles/base/column-group-header.css.d.ts.map +1 -1
  89. package/styles/base/column-group-header.css.js +5 -1
  90. package/styles/base/column-group-header.css.js.map +1 -1
  91. package/styles/base/context-menu.css.d.ts +1 -1
  92. package/styles/base/context-menu.css.d.ts.map +1 -1
  93. package/styles/base/context-menu.css.js +23 -0
  94. package/styles/base/context-menu.css.js.map +1 -1
  95. package/styles/base/filter.css.d.ts +1 -1
  96. package/styles/base/filter.css.d.ts.map +1 -1
  97. package/styles/base/filter.css.js +49 -8
  98. package/styles/base/filter.css.js.map +1 -1
  99. package/styles/base/group-drop-zone.css.d.ts +1 -1
  100. package/styles/base/group-drop-zone.css.d.ts.map +1 -1
  101. package/styles/base/group-drop-zone.css.js +3 -3
  102. package/styles/base/header.css.d.ts +1 -1
  103. package/styles/base/header.css.d.ts.map +1 -1
  104. package/styles/base/header.css.js +8 -1
  105. package/styles/base/header.css.js.map +1 -1
  106. package/styles/base/row-drag.css.d.ts +1 -1
  107. package/styles/base/row-drag.css.d.ts.map +1 -1
  108. package/styles/base/row-drag.css.js +1 -1
  109. package/styles/base/rows.css.d.ts +1 -1
  110. package/styles/base/rows.css.d.ts.map +1 -1
  111. package/styles/base/rows.css.js +23 -16
  112. package/styles/base/rows.css.js.map +1 -1
  113. package/styles/base/scrollbars.css.d.ts +1 -1
  114. package/styles/base/scrollbars.css.d.ts.map +1 -1
  115. package/styles/base/scrollbars.css.js +6 -3
  116. package/styles/base/scrollbars.css.js.map +1 -1
  117. package/styles/base/sparkline.css.d.ts +1 -1
  118. package/styles/base/sparkline.css.d.ts.map +1 -1
  119. package/styles/base/sparkline.css.js +6 -0
  120. package/styles/base/sparkline.css.js.map +1 -1
  121. package/styles/base/tooltip.css.d.ts +1 -1
  122. package/styles/base/tooltip.css.d.ts.map +1 -1
  123. package/styles/base/tooltip.css.js +1 -1
  124. package/styles/base-styles.d.ts.map +1 -1
  125. package/styles/base-styles.js +5 -2
  126. package/styles/base-styles.js.map +1 -1
  127. package/styles/themes/theme-alpine.d.ts +9 -1
  128. package/styles/themes/theme-alpine.d.ts.map +1 -1
  129. package/styles/themes/theme-alpine.js +34 -43
  130. package/styles/themes/theme-alpine.js.map +1 -1
  131. package/styles/themes/theme-balham.d.ts +9 -1
  132. package/styles/themes/theme-balham.d.ts.map +1 -1
  133. package/styles/themes/theme-balham.js +33 -42
  134. package/styles/themes/theme-balham.js.map +1 -1
  135. package/styles/themes/theme-material.d.ts +9 -1
  136. package/styles/themes/theme-material.d.ts.map +1 -1
  137. package/styles/themes/theme-material.js +36 -44
  138. package/styles/themes/theme-material.js.map +1 -1
  139. package/styles/themes/theme-quartz.d.ts +14 -1
  140. package/styles/themes/theme-quartz.d.ts.map +1 -1
  141. package/styles/themes/theme-quartz.js +64 -43
  142. package/styles/themes/theme-quartz.js.map +1 -1
  143. package/theme/theme-manager.d.ts +55 -7
  144. package/theme/theme-manager.d.ts.map +1 -1
  145. package/theme/theme-manager.js +139 -35
  146. package/theme/theme-manager.js.map +1 -1
  147. package/theme/themes/light-theme.js +1 -1
  148. package/types/column.types.d.ts +42 -0
  149. package/types/column.types.d.ts.map +1 -1
  150. package/types/column.types.js +26 -1
  151. package/types/column.types.js.map +1 -1
  152. package/types/grid.types.d.ts +90 -2
  153. package/types/grid.types.d.ts.map +1 -1
  154. package/types/theme.types.d.ts +19 -0
  155. package/types/theme.types.d.ts.map +1 -1
  156. package/types/theme.types.js +7 -1
  157. package/types/theme.types.js.map +1 -1
  158. package/styles/themes/theme-dark.d.ts +0 -2
  159. package/styles/themes/theme-dark.d.ts.map +0 -1
  160. package/styles/themes/theme-dark.js +0 -219
  161. package/styles/themes/theme-dark.js.map +0 -1
@@ -1,2 +1,10 @@
1
- export declare const themeAlpineCss = "\n\n/* \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 pg-alpine-theme variables \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n.pg-alpine-theme .pg-grid {\n --pg-colors-border: #e5e7eb;\n --pg-colors-header-background: #ffffff;\n --pg-colors-header-border: #e5e7eb;\n --pg-colors-header-text: #374151;\n --pg-colors-row-background: #ffffff;\n --pg-colors-row-alt-background: #fafafa;\n --pg-colors-row-hover: #f0fdf4;\n --pg-colors-row-selected: #dcfce7;\n --pg-colors-row-selected-hover: #bbf7d0;\n --pg-colors-text-primary: #111827;\n --pg-colors-text-secondary: #6b7280;\n --pg-colors-text-muted: #9ca3af;\n --pg-colors-text-disabled: #d1d5db;\n --pg-colors-primary: #16a34a;\n --pg-colors-filter-background: #ffffff;\n --pg-colors-scrollbar-bg: #f9fafb;\n --pg-colors-badge-background: #dcfce7;\n --pg-colors-badge-text: #166534;\n --pg-colors-resize-handle-color: #d1d5db;\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 --pg-borders-radius-md: 4px;\n --pg-borders-radius-sm: 2px;\n --pg-borders-radius-pill: 9999px;\n --pg-transitions-duration-fast: 100ms;\n --pg-sizing-checkbox-size: 15px;\n}\n\n/* Alpine header \u2014 no uppercase, clean weight */\n.pg-alpine-theme .pg-th {\n text-transform: none;\n font-size: 13px;\n font-weight: 600;\n letter-spacing: 0em;\n color: #374151;\n}\n.pg-alpine-theme .pg-th--sorted { color: #16a34a; }\n.pg-alpine-theme .pg-grid__header { border-bottom: 2px solid #e5e7eb; }\n\n/* Alpine rows \u2014 thin full-width divider */\n.pg-alpine-theme .pg-row { border-bottom: 1px solid #f3f4f6; }\n\n/* Alpine icon tones */\n.pg-alpine-theme .pg-icon { color: #6b7280; }\n.pg-alpine-theme .pg-th--sorted .pg-icon { color: #16a34a; }\n.pg-alpine-theme .pg-row-drag-handle { color: #9ca3af; }\n\n/* Alpine checkbox \u2014 15px, 2px-radius, slim green 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 #d1d5db;\n border-radius: 2px;\n background: #fff;\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: #16a34a; }\n.pg-alpine-theme .pg-checkbox:focus-visible {\n outline: none;\n box-shadow: 0 0 0 2px rgba(22,163,74,0.3);\n}\n.pg-alpine-theme .pg-checkbox:checked {\n background: #16a34a;\n border-color: #16a34a;\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 #fff;\n border-top: none;\n border-left: none;\n transform: rotate(45deg);\n}\n.pg-alpine-theme .pg-checkbox:indeterminate {\n background: #16a34a;\n border-color: #16a34a;\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: #fff;\n transform: translateY(-50%);\n}\n\n/* Alpine selection \u2014 clean green underline */\n.pg-alpine-theme .pg-row--selected { box-shadow: inset 2px 0 0 #16a34a; }\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";
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":"AACA,eAAO,MAAM,cAAc,opHAqH1B,CAAC"}
1
+ {"version":3,"file":"theme-alpine.d.ts","sourceRoot":"","sources":["../../../src/styles/themes/theme-alpine.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,45GAqG1B,CAAC"}
@@ -1,27 +1,16 @@
1
- /* pg-alpine-theme — clean, minimal, emerald green */
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 variables ──────────── */
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: #374151;
40
+ color: var(--pg-colors-header-text);
50
41
  }
51
- .pg-alpine-theme .pg-th--sorted { color: #16a34a; }
52
- .pg-alpine-theme .pg-grid__header { border-bottom: 2px solid #e5e7eb; }
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 #f3f4f6; }
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: #6b7280; }
59
- .pg-alpine-theme .pg-th--sorted .pg-icon { color: #16a34a; }
60
- .pg-alpine-theme .pg-row-drag-handle { color: #9ca3af; }
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 green outline → fill */
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 #d1d5db;
59
+ border: 1.5px solid var(--pg-colors-checkbox-border);
69
60
  border-radius: 2px;
70
- background: #fff;
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: #16a34a; }
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 rgba(22,163,74,0.3);
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: #16a34a;
83
- border-color: #16a34a;
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 #fff;
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: #16a34a;
99
- border-color: #16a34a;
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: #fff;
99
+ background: var(--pg-colors-primary-text);
109
100
  transform: translateY(-50%);
110
101
  }
111
102
 
112
- /* Alpine selection — clean green underline */
113
- .pg-alpine-theme .pg-row--selected { box-shadow: inset 2px 0 0 #16a34a; }
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,qDAAqD;AACrD,MAAM,CAAC,MAAM,cAAc,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqH7B,CAAC"}
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
- export declare const themeBalhamCss = "\n\n/* \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 pg-balham-theme variables \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n.pg-balham-theme .pg-grid {\n --pg-colors-border: #d1d5db;\n --pg-colors-header-background: #f3f4f6;\n --pg-colors-header-border: #d1d5db;\n --pg-colors-header-text: #374151;\n --pg-colors-row-background: #ffffff;\n --pg-colors-row-alt-background: #f9fafb;\n --pg-colors-row-hover: #fef3c7;\n --pg-colors-row-selected: #fffbeb;\n --pg-colors-row-selected-hover: #fef08a;\n --pg-colors-text-primary: #111827;\n --pg-colors-text-secondary: #6b7280;\n --pg-colors-text-muted: #9ca3af;\n --pg-colors-text-disabled: #d1d5db;\n --pg-colors-primary: #d97706;\n --pg-colors-filter-background: #ffffff;\n --pg-colors-scrollbar-bg: #f3f4f6;\n --pg-colors-badge-background: #fef3c7;\n --pg-colors-badge-text: #92400e;\n --pg-colors-resize-handle-color: #d1d5db;\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 --pg-borders-radius-md: 2px;\n --pg-borders-radius-sm: 0px;\n --pg-borders-radius-pill: 2px;\n --pg-transitions-duration-fast: 80ms;\n --pg-sizing-checkbox-size: 14px;\n}\n\n/* Balham header \u2014 dense, uppercase, pronounced border */\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: #374151;\n}\n.pg-balham-theme .pg-th--sorted { color: #d97706; }\n.pg-balham-theme .pg-grid__header { border-bottom: 2px solid #d1d5db; }\n\n/* Balham rows \u2014 full row border, classic spreadsheet look */\n.pg-balham-theme .pg-row { border-bottom: 1px solid #e5e7eb; }\n\n/* Balham icon tones \u2014 warmer grays */\n.pg-balham-theme .pg-icon { color: #6b7280; }\n.pg-balham-theme .pg-th--sorted .pg-icon { color: #d97706; }\n.pg-balham-theme .pg-row-drag-handle { color: #9ca3af; }\n\n/* Balham checkbox \u2014 14px, square (0 radius), flat amber fill */\n.pg-balham-theme .pg-checkbox {\n appearance: none;\n -webkit-appearance: none;\n width: 14px;\n height: 14px;\n border: 1px solid #9ca3af;\n border-radius: 0px;\n background: #fff;\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: #d97706; }\n.pg-balham-theme .pg-checkbox:focus-visible {\n outline: 1px solid #d97706;\n outline-offset: 1px;\n}\n.pg-balham-theme .pg-checkbox:checked {\n background: #d97706;\n border-color: #d97706;\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 #fff;\n border-top: none;\n border-left: none;\n transform: rotate(45deg);\n}\n.pg-balham-theme .pg-checkbox:indeterminate {\n background: #d97706;\n border-color: #d97706;\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: #fff;\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 #d97706; }\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";
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":"AACA,eAAO,MAAM,cAAc,umHAoH1B,CAAC"}
1
+ {"version":3,"file":"theme-balham.d.ts","sourceRoot":"","sources":["../../../src/styles/themes/theme-balham.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,k0GAoG1B,CAAC"}
@@ -1,27 +1,16 @@
1
- /* pg-balham-theme — compact, professional, amber accent */
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 variables ──────────── */
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: #374151;
39
+ color: var(--pg-colors-header-text);
49
40
  }
50
- .pg-balham-theme .pg-th--sorted { color: #d97706; }
51
- .pg-balham-theme .pg-grid__header { border-bottom: 2px solid #d1d5db; }
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 #e5e7eb; }
45
+ .pg-balham-theme .pg-row { border-bottom: 1px solid var(--pg-colors-border); }
55
46
 
56
- /* Balham icon tones — warmer grays */
57
- .pg-balham-theme .pg-icon { color: #6b7280; }
58
- .pg-balham-theme .pg-th--sorted .pg-icon { color: #d97706; }
59
- .pg-balham-theme .pg-row-drag-handle { color: #9ca3af; }
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 amber fill */
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 #9ca3af;
58
+ border: 1px solid var(--pg-colors-checkbox-border);
68
59
  border-radius: 0px;
69
- background: #fff;
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: #d97706; }
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 #d97706;
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: #d97706;
82
- border-color: #d97706;
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 #fff;
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: #d97706;
98
- border-color: #d97706;
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: #fff;
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 #d97706; }
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,2DAA2D;AAC3D,MAAM,CAAC,MAAM,cAAc,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoH7B,CAAC"}
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
- export declare const themeMaterialCss = "\n\n/* \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 pg-material-theme variables \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n.pg-material-theme .pg-grid {\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-border: rgba(0,0,0,.12);\n --pg-colors-header-background: #ffffff;\n --pg-colors-header-border: transparent;\n --pg-colors-header-text: rgba(0,0,0,.54);\n --pg-colors-row-background: #ffffff;\n --pg-colors-row-alt-background: #fafafa;\n --pg-colors-row-hover: rgba(0,0,0,.04);\n --pg-colors-row-selected: rgba(25,118,210,.10);\n --pg-colors-row-selected-hover: rgba(25,118,210,.16);\n --pg-colors-text-primary: rgba(0,0,0,.87);\n --pg-colors-text-secondary: rgba(0,0,0,.54);\n --pg-colors-text-muted: rgba(0,0,0,.38);\n --pg-colors-text-disabled: rgba(0,0,0,.26);\n --pg-colors-primary: #1976d2;\n --pg-colors-filter-background: #ffffff;\n --pg-colors-scrollbar-bg: #fafafa;\n --pg-colors-badge-background: #e3f2fd;\n --pg-colors-badge-text: #0d47a1;\n --pg-colors-resize-handle-color: rgba(0,0,0,.20);\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 --pg-borders-radius-md: 4px;\n --pg-borders-radius-sm: 2px;\n --pg-borders-radius-pill: 4px;\n --pg-transitions-duration-fast: 200ms;\n --pg-sizing-checkbox-size: 18px;\n}\n\n/* Material header \u2014 no uppercase, medium weight, subdued */\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: rgba(0,0,0,.54);\n}\n.pg-material-theme .pg-th--sorted { color: #1976d2; }\n.pg-material-theme .pg-grid__header { border-bottom: 1px solid rgba(0,0,0,.12); }\n\n/* Material rows \u2014 thin divider lines */\n.pg-material-theme .pg-row { border-bottom: 1px solid rgba(0,0,0,.06); }\n.pg-material-theme .pg-cell--v-border { border-right-color: rgba(0,0,0,.06); }\n\n/* Material filter row */\n.pg-material-theme .pg-filter-row { border-top-color: rgba(0,0,0,.08); }\n\n/* Material icon tones */\n.pg-material-theme .pg-icon { color: rgba(0,0,0,.54); }\n.pg-material-theme .pg-th--sorted .pg-icon { color: #1976d2; }\n.pg-material-theme .pg-row-drag-handle { color: rgba(0,0,0,.38); }\n\n/* Material checkbox \u2014 18px, 2px radius, blue, Material motion */\n.pg-material-theme .pg-checkbox {\n appearance: none;\n -webkit-appearance: none;\n width: 18px;\n height: 18px;\n border: 2px solid rgba(0,0,0,.38);\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: #1976d2;\n box-shadow: 0 0 0 8px rgba(25,118,210,.1);\n}\n.pg-material-theme .pg-checkbox:focus-visible {\n outline: none;\n box-shadow: 0 0 0 8px rgba(25,118,210,.2);\n}\n.pg-material-theme .pg-checkbox:checked {\n background: #1976d2;\n border-color: #1976d2;\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 #fff;\n border-top: none;\n border-left: none;\n transform: rotate(45deg);\n}\n.pg-material-theme .pg-checkbox:indeterminate {\n background: #1976d2;\n border-color: #1976d2;\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: #fff;\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";
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":"AACA,eAAO,MAAM,gBAAgB,0zIAkI5B,CAAC"}
1
+ {"version":3,"file":"theme-material.d.ts","sourceRoot":"","sources":["../../../src/styles/themes/theme-material.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB,y/HAmH5B,CAAC"}
@@ -1,31 +1,21 @@
1
- /* pg-material-theme — Material Design 3, indigo blue */
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
+ */
2
9
  export const themeMaterialCss = `
3
10
 
4
- /* ──────────── pg-material-theme variables ──────────── */
11
+ /* ──────────── pg-material-theme: structural + accent tokens ──────────── */
5
12
  .pg-material-theme .pg-grid {
13
+ /* Material uses elevation instead of a hard border. */
6
14
  border-radius: 4px;
7
15
  border-color: transparent;
8
16
  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);
9
17
 
10
- --pg-colors-border: rgba(0,0,0,.12);
11
- --pg-colors-header-background: #ffffff;
12
- --pg-colors-header-border: transparent;
13
- --pg-colors-header-text: rgba(0,0,0,.54);
14
- --pg-colors-row-background: #ffffff;
15
- --pg-colors-row-alt-background: #fafafa;
16
- --pg-colors-row-hover: rgba(0,0,0,.04);
17
- --pg-colors-row-selected: rgba(25,118,210,.10);
18
- --pg-colors-row-selected-hover: rgba(25,118,210,.16);
19
- --pg-colors-text-primary: rgba(0,0,0,.87);
20
- --pg-colors-text-secondary: rgba(0,0,0,.54);
21
- --pg-colors-text-muted: rgba(0,0,0,.38);
22
- --pg-colors-text-disabled: rgba(0,0,0,.26);
23
18
  --pg-colors-primary: #1976d2;
24
- --pg-colors-filter-background: #ffffff;
25
- --pg-colors-scrollbar-bg: #fafafa;
26
- --pg-colors-badge-background: #e3f2fd;
27
- --pg-colors-badge-text: #0d47a1;
28
- --pg-colors-resize-handle-color: rgba(0,0,0,.20);
29
19
 
30
20
  --pg-typography-font-family: Roboto, 'Helvetica Neue', Arial, sans-serif;
31
21
  --pg-typography-font-size-sm: 12px;
@@ -36,43 +26,45 @@ export const themeMaterialCss = `
36
26
 
37
27
  --pg-header-row-height: 56px;
38
28
  --pg-row-height: 52px;
29
+
39
30
  --pg-borders-radius-md: 4px;
40
31
  --pg-borders-radius-sm: 2px;
41
32
  --pg-borders-radius-pill: 4px;
42
- --pg-transitions-duration-fast: 200ms;
43
33
  --pg-sizing-checkbox-size: 18px;
34
+
35
+ --pg-transitions-duration-fast: 200ms;
44
36
  }
45
37
 
46
- /* Material header — no uppercase, medium weight, subdued */
38
+ /* Material header — no uppercase, medium weight; color follows the mode. */
47
39
  .pg-material-theme .pg-th {
48
40
  text-transform: none;
49
41
  font-size: 12px;
50
42
  font-weight: 500;
51
43
  letter-spacing: 0.04em;
52
- color: rgba(0,0,0,.54);
44
+ color: var(--pg-colors-header-text);
53
45
  }
54
- .pg-material-theme .pg-th--sorted { color: #1976d2; }
55
- .pg-material-theme .pg-grid__header { border-bottom: 1px solid rgba(0,0,0,.12); }
46
+ .pg-material-theme .pg-th--sorted { color: var(--pg-colors-primary); }
47
+ .pg-material-theme .pg-grid__header { border-bottom: 1px solid var(--pg-colors-header-border); }
56
48
 
57
49
  /* Material rows — thin divider lines */
58
- .pg-material-theme .pg-row { border-bottom: 1px solid rgba(0,0,0,.06); }
59
- .pg-material-theme .pg-cell--v-border { border-right-color: rgba(0,0,0,.06); }
50
+ .pg-material-theme .pg-row { border-bottom: 1px solid var(--pg-colors-border); }
51
+ .pg-material-theme .pg-cell--v-border { border-right-color: var(--pg-colors-border); }
60
52
 
61
53
  /* Material filter row */
62
- .pg-material-theme .pg-filter-row { border-top-color: rgba(0,0,0,.08); }
54
+ .pg-material-theme .pg-filter-row { border-top-color: var(--pg-colors-border); }
63
55
 
64
- /* Material icon tones */
65
- .pg-material-theme .pg-icon { color: rgba(0,0,0,.54); }
66
- .pg-material-theme .pg-th--sorted .pg-icon { color: #1976d2; }
67
- .pg-material-theme .pg-row-drag-handle { color: rgba(0,0,0,.38); }
56
+ /* Material icon tones — mode-aware */
57
+ .pg-material-theme .pg-icon { color: var(--pg-colors-text-secondary); }
58
+ .pg-material-theme .pg-th--sorted .pg-icon { color: var(--pg-colors-primary); }
59
+ .pg-material-theme .pg-row-drag-handle { color: var(--pg-colors-text-disabled); }
68
60
 
69
- /* Material checkbox — 18px, 2px radius, blue, Material motion */
61
+ /* Material checkbox — 18px, 2px radius, accent, Material motion + ripple */
70
62
  .pg-material-theme .pg-checkbox {
71
63
  appearance: none;
72
64
  -webkit-appearance: none;
73
65
  width: 18px;
74
66
  height: 18px;
75
- border: 2px solid rgba(0,0,0,.38);
67
+ border: 2px solid var(--pg-colors-checkbox-border);
76
68
  border-radius: 2px;
77
69
  background: transparent;
78
70
  cursor: pointer;
@@ -83,16 +75,16 @@ export const themeMaterialCss = `
83
75
  box-shadow 200ms cubic-bezier(0.4,0,0.2,1);
84
76
  }
85
77
  .pg-material-theme .pg-checkbox:hover {
86
- border-color: #1976d2;
87
- box-shadow: 0 0 0 8px rgba(25,118,210,.1);
78
+ border-color: var(--pg-colors-primary);
79
+ box-shadow: 0 0 0 8px color-mix(in srgb, var(--pg-colors-primary) 10%, transparent);
88
80
  }
89
81
  .pg-material-theme .pg-checkbox:focus-visible {
90
82
  outline: none;
91
- box-shadow: 0 0 0 8px rgba(25,118,210,.2);
83
+ box-shadow: 0 0 0 8px color-mix(in srgb, var(--pg-colors-primary) 20%, transparent);
92
84
  }
93
85
  .pg-material-theme .pg-checkbox:checked {
94
- background: #1976d2;
95
- border-color: #1976d2;
86
+ background: var(--pg-colors-primary);
87
+ border-color: var(--pg-colors-primary);
96
88
  }
97
89
  .pg-material-theme .pg-checkbox:checked::after {
98
90
  content: '';
@@ -101,14 +93,14 @@ export const themeMaterialCss = `
101
93
  top: 1px;
102
94
  width: 7px;
103
95
  height: 11px;
104
- border: 2px solid #fff;
96
+ border: 2px solid var(--pg-colors-primary-text);
105
97
  border-top: none;
106
98
  border-left: none;
107
99
  transform: rotate(45deg);
108
100
  }
109
101
  .pg-material-theme .pg-checkbox:indeterminate {
110
- background: #1976d2;
111
- border-color: #1976d2;
102
+ background: var(--pg-colors-primary);
103
+ border-color: var(--pg-colors-primary);
112
104
  }
113
105
  .pg-material-theme .pg-checkbox:indeterminate::after {
114
106
  content: '';
@@ -117,12 +109,12 @@ export const themeMaterialCss = `
117
109
  top: 50%;
118
110
  width: 10px;
119
111
  height: 2px;
120
- background: #fff;
112
+ background: var(--pg-colors-primary-text);
121
113
  transform: translateY(-50%);
122
114
  }
123
115
 
124
116
  /* Material selection — no left bar, full-row tint only */
125
- .pg-material-theme .pg-row--selected { box-shadow: none; }
117
+ // .pg-material-theme .pg-row--selected { box-shadow: none; }
126
118
 
127
119
  /* Material row-drag animation — Material motion curve */
128
120
  .pg-material-theme .pg-grid--row-dragging .pg-row {
@@ -1 +1 @@
1
- {"version":3,"file":"theme-material.js","sourceRoot":"","sources":["../../../src/styles/themes/theme-material.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,MAAM,CAAC,MAAM,gBAAgB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkI/B,CAAC"}
1
+ {"version":3,"file":"theme-material.js","sourceRoot":"","sources":["../../../src/styles/themes/theme-material.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmH/B,CAAC"}
@@ -1,2 +1,15 @@
1
- export declare const themeQuartzCss = "\n\n/* \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 pg-quartz-theme variables \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n.pg-quartz-theme .pg-grid {\n --pg-colors-border: #ddddde;\n --pg-colors-header-background: #f8fafc;\n --pg-colors-header-border: #ddddde;\n --pg-colors-header-text: #475569;\n --pg-colors-row-background: #ffffff;\n --pg-colors-row-alt-background: #f8fafc;\n --pg-colors-row-hover: #f1f5f9;\n --pg-colors-row-selected: #eff6ff;\n --pg-colors-row-selected-hover: #dbeafe;\n --pg-colors-text-primary: #0f172a;\n --pg-colors-text-secondary: #64748b;\n --pg-colors-text-muted: #94a3b8;\n --pg-colors-text-disabled: #cbd5e1;\n --pg-colors-primary: #2563eb;\n --pg-colors-filter-background: #ffffff;\n --pg-colors-scrollbar-bg: #f8fafc;\n --pg-colors-badge-background: #dbeafe;\n --pg-colors-badge-text: #1e40af;\n\n --pg-typography-font-family: system-ui, -apple-system, BlinkMacSystemFont, '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: 0.06em;\n\n --pg-header-row-height: 40px;\n --pg-row-height: 44px;\n --pg-borders-radius-md: 6px;\n --pg-borders-radius-sm: 4px;\n --pg-borders-radius-pill: 9999px;\n --pg-transitions-duration-fast: 150ms;\n --pg-sizing-checkbox-size: 16px;\n --pg-colors-resize-handle-color: #ddddde;\n}\n\n/* Quartz header \u2014 title case, semi-bold */\n.pg-quartz-theme .pg-th {\n text-transform: capitalize;\n font-size: 13px;\n font-weight: 600;\n letter-spacing: 0;\n color: #475569;\n}\n// .pg-quartz-theme .pg-th--sorted { color: #2563eb; }\n\n/* Quartz row \u2014 bottom divider uses the theme border color */\n.pg-quartz-theme .pg-row { border-bottom: 1px solid var(--pg-colors-border); }\n\n/* Quartz icon tones */\n.pg-quartz-theme .pg-icon { color: #64748b; }\n.pg-quartz-theme .pg-th--sorted .pg-icon { color: #2563eb; }\n.pg-quartz-theme .pg-row-drag-handle { color: #94a3b8; }\n.pg-quartz-theme .pg-th--no-group { background-color: #f8fafc; }\n\n/* Quartz checkbox \u2014 16px, 4px-radius square, solid blue on check */\n.pg-quartz-theme .pg-checkbox {\n appearance: none;\n -webkit-appearance: none;\n width: 16px;\n height: 16px;\n border: 2px solid #cbd5e1;\n border-radius: 4px;\n background: #fff;\n cursor: pointer;\n position: relative;\n flex-shrink: 0;\n transition: background 150ms ease, border-color 150ms ease, box-shadow 150ms ease;\n}\n.pg-quartz-theme .pg-checkbox:hover { border-color: #2563eb; }\n.pg-quartz-theme .pg-checkbox:focus-visible {\n outline: none;\n box-shadow: 0 0 0 3px rgba(37,99,235,0.25);\n}\n.pg-quartz-theme .pg-checkbox:checked {\n background: #2563eb;\n border-color: #2563eb;\n}\n.pg-quartz-theme .pg-checkbox:checked::after {\n content: '';\n position: absolute;\n left: 4px;\n top: 1px;\n width: 5px;\n height: 9px;\n border: 2px solid #fff;\n border-top: none;\n border-left: none;\n transform: rotate(45deg);\n}\n.pg-quartz-theme .pg-checkbox:indeterminate {\n background: #2563eb;\n border-color: #2563eb;\n}\n.pg-quartz-theme .pg-checkbox:indeterminate::after {\n content: '';\n position: absolute;\n left: 2px;\n top: 50%;\n width: 8px;\n height: 2px;\n background: #fff;\n transform: translateY(-50%);\n}\n\n/* Quartz row selection highlight \u2014 blue left bar */\n.pg-quartz-theme .pg-row--selected { box-shadow: inset 3px 0 0 #2563eb; }\n\n/* Quartz row-drag animation \u2014 smooth cubic-bezier */\n.pg-quartz-theme .pg-grid--row-dragging .pg-row {\n transition: background 150ms ease, top 130ms cubic-bezier(0.2, 0, 0, 1);\n}\n";
1
+ /**
2
+ * pg-quartz-theme — clean, modern (blue accent).
3
+ *
4
+ * A cosmetic *variant* layered on top of the active color mode (light/dark).
5
+ * It only overrides structural / appearance concerns — density, radii,
6
+ * typography, accent color, checkbox shape, motion, and the distinctive quartz
7
+ * "chrome" tint. All base surface, text and border colors are inherited from
8
+ * the mode tokens (`var(--pg-colors-*)`), so this variant renders correctly in
9
+ * both light and dark.
10
+ *
11
+ * The container carries the `.pg-quartz-theme` class; `.pg-grid` is its child,
12
+ * hence the descendant selectors below.
13
+ */
14
+ export declare const themeQuartzCss = "\n\n/* \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 pg-quartz-theme: structural + accent tokens \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */\n.pg-quartz-theme .pg-grid {\n /* Accent identity \u2014 drives sorted headers, selection, checkboxes, links. */\n --pg-colors-primary: #2563eb;\n\n /* Quartz \"chrome\" surface \u2014 the flat tint shared by every non-data surface\n (header, footer/pagination, top grouping row, scrollbars, serial-number\n column). Derived from the mode's alt background so it tints correctly in\n both light and dark; defined once here so the look changes in one place. */\n --pg-quartz-chrome-background: var(--pg-colors-background-alt);\n --pg-colors-header-background: var(--pg-quartz-chrome-background);\n --pg-colors-filter-background: var(--pg-quartz-chrome-background);\n --pg-colors-footer-background: var(--pg-quartz-chrome-background);\n --pg-colors-scrollbar-bg: var(--pg-quartz-chrome-background);\n --pg-colors-scrollbar-track: var(--pg-quartz-chrome-background);\n\n /* Typography identity */\n --pg-typography-font-family: system-ui, -apple-system, BlinkMacSystemFont, '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: 0.06em;\n\n /* Density */\n --pg-header-row-height: 40px;\n --pg-row-height: 44px;\n\n /* Shape */\n --pg-borders-radius-md: 6px;\n --pg-borders-radius-sm: 4px;\n --pg-borders-radius-pill: 9999px;\n --pg-sizing-checkbox-size: 16px;\n\n /* Motion */\n --pg-transitions-duration-fast: 150ms;\n}\n\n/* Quartz header \u2014 capitalized, semi-bold; color follows the mode. */\n.pg-quartz-theme .pg-th {\n text-transform: capitalize;\n font-size: 13px;\n font-weight: 600;\n letter-spacing: 0;\n color: var(--pg-colors-header-text);\n}\n\n/* Quartz row \u2014 bottom divider uses the mode border color */\n.pg-quartz-theme .pg-row { border-bottom: 1px solid var(--pg-colors-border); }\n\n/* Quartz icon tones \u2014 mode-aware */\n.pg-quartz-theme .pg-icon { color: var(--pg-colors-text-secondary); }\n.pg-quartz-theme .pg-th--sorted .pg-icon { color: var(--pg-colors-primary); }\n.pg-quartz-theme .pg-row-drag-handle { color: var(--pg-colors-text-disabled); }\n.pg-quartz-theme .pg-th--no-group { background: var(--pg-quartz-chrome-background); }\n\n/* Quartz checkbox \u2014 16px, 4px-radius square, solid accent on check */\n.pg-quartz-theme .pg-checkbox {\n appearance: none;\n -webkit-appearance: none;\n width: 16px;\n height: 16px;\n border: 2px solid var(--pg-colors-checkbox-border);\n border-radius: 4px;\n background: var(--pg-colors-checkbox-background);\n cursor: pointer;\n position: relative;\n flex-shrink: 0;\n transition: background 150ms ease, border-color 150ms ease, box-shadow 150ms ease;\n}\n.pg-quartz-theme .pg-checkbox:hover { border-color: var(--pg-colors-primary); }\n.pg-quartz-theme .pg-checkbox:focus-visible {\n outline: none;\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--pg-colors-primary) 25%, transparent);\n}\n.pg-quartz-theme .pg-checkbox:checked {\n background: var(--pg-colors-primary);\n border-color: var(--pg-colors-primary);\n}\n.pg-quartz-theme .pg-checkbox:checked::after {\n content: '';\n position: absolute;\n left: 4px;\n top: 1px;\n width: 5px;\n height: 9px;\n border: 2px solid var(--pg-colors-primary-text);\n border-top: none;\n border-left: none;\n transform: rotate(45deg);\n}\n.pg-quartz-theme .pg-checkbox:indeterminate {\n background: var(--pg-colors-primary);\n border-color: var(--pg-colors-primary);\n}\n.pg-quartz-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/* Quartz row selection highlight \u2014 accent left bar */\n// .pg-quartz-theme .pg-row--selected { box-shadow: inset 3px 0 0 var(--pg-colors-primary); }\n\n/* Quartz row-drag animation \u2014 smooth cubic-bezier */\n.pg-quartz-theme .pg-grid--row-dragging .pg-row {\n transition: background 150ms ease, top 130ms cubic-bezier(0.2, 0, 0, 1);\n}\n\n/* \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 Quartz chrome tint \u2014 serial (row number) column \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n Header, filter and body cells of the serial column share the chrome surface\n so the number gutter reads as grid chrome rather than data. (Scrollbars and\n the header/footer/grouping surfaces are driven by the tokens above.) */\n.pg-quartz-theme .pg-th--serial,\n.pg-quartz-theme .pg-filter-cell--serial,\n.pg-quartz-theme .pg-cell--serial {\n background: var(--pg-quartz-chrome-background);\n}\n";
2
15
  //# sourceMappingURL=theme-quartz.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"theme-quartz.d.ts","sourceRoot":"","sources":["../../../src/styles/themes/theme-quartz.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,cAAc,stHAqH1B,CAAC"}
1
+ {"version":3,"file":"theme-quartz.d.ts","sourceRoot":"","sources":["../../../src/styles/themes/theme-quartz.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,cAAc,y2JA8H1B,CAAC"}