flexdesk 0.17.9 → 0.17.11

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/css/overrides.css CHANGED
@@ -130,8 +130,8 @@
130
130
  color: var(--text-bright);
131
131
  }
132
132
  .twm-btn--primary:hover:not(:disabled) {
133
- background: #1486cf;
134
- border-color: #1486cf;
133
+ background: var(--accent-bright-hover);
134
+ border-color: var(--accent-bright-hover);
135
135
  }
136
136
  /* Context menu separator (matches Ecosim's .twm-context-menu look). */
137
137
  .twm-context-menu__separator {
@@ -481,8 +481,8 @@
481
481
  font-weight: 600;
482
482
  }
483
483
  .twm-managed-window--modal .twm-modal__actions .twm-btn--primary:hover:not(:disabled) {
484
- background: #1683c4;
485
- border-color: #1683c4;
484
+ background: var(--accent-bright-hover);
485
+ border-color: var(--accent-bright-hover);
486
486
  }
487
487
  .twm-managed-window--modal .twm-modal__actions .twm-btn--danger {
488
488
  background: #8b2a2a;
@@ -748,7 +748,7 @@
748
748
  font-size: 10px;
749
749
  }
750
750
  .twm-landing__pane--focused .twm-landing__pane-head {
751
- background: rgba(17, 119, 179, 0.10);
751
+ background: color-mix(in srgb, var(--accent-hover) 10%, transparent);
752
752
  }
753
753
  .twm-landing__pane--focused .twm-landing__pane-title {
754
754
  color: var(--ea-accent);
@@ -781,7 +781,7 @@
781
781
  }
782
782
  .twm-entity-header__field select:focus {
783
783
  outline: none;
784
- border-color: var(--ea-accent, #5aa3e8);
784
+ border-color: var(--ea-accent);
785
785
  }
786
786
  .twm-entity-header__field select option { background: var(--ea-input-bg, #1e1e1e); color: var(--ea-text, #ddd); }
787
787
  .twm-landing__table table {
@@ -800,7 +800,7 @@
800
800
  so the same arrow-key affordance reads identically across modes. */
801
801
  .twm-row-cursor {
802
802
  box-shadow: inset 2px 0 0 var(--ea-accent);
803
- background: rgba(17, 119, 179, 0.12) !important;
803
+ background: color-mix(in srgb, var(--accent-hover) 12%, transparent) !important;
804
804
  }
805
805
  /* Quick-action strip — horizontal bar below the tables. Same chrome
806
806
  tone as `.twm-entity-header` so the page reads as a single stack:
@@ -840,7 +840,7 @@
840
840
  }
841
841
  .twm-action-btn:hover {
842
842
  border-color: var(--ea-accent);
843
- background: rgba(17, 119, 179, 0.08);
843
+ background: color-mix(in srgb, var(--accent-hover) 8%, transparent);
844
844
  }
845
845
  .twm-action-btn:disabled,
846
846
  .twm-action-btn[aria-disabled="true"] {
@@ -1004,7 +1004,7 @@ body.twm-dragging * { user-select: none; }
1004
1004
  }
1005
1005
  .twm-leaf--focused {
1006
1006
  border-color: var(--accent-bright);
1007
- box-shadow: 0 0 0 1px rgba(0, 122, 204, 0.25) inset;
1007
+ box-shadow: 0 0 0 1px color-mix(in srgb, var(--accent-bright) 25%, transparent) inset;
1008
1008
  }
1009
1009
  .twm-leaf__chrome {
1010
1010
  display: flex;
@@ -1106,15 +1106,15 @@ body.twm-dragging * { user-select: none; }
1106
1106
  * rather than a border, because a border changes the box and every tile in
1107
1107
  * the row would reflow by a pixel as the pointer crossed between them. */
1108
1108
  .twm-leaf--drop-target {
1109
- outline: 2px solid var(--accent-bright, #1683c4);
1109
+ outline: 2px solid var(--accent-bright);
1110
1110
  outline-offset: -2px;
1111
1111
  }
1112
1112
 
1113
1113
  /* A STRIP ARMED TO RECEIVE — the drop that adds the tab at the end of this
1114
1114
  * tile's list rather than into a zone of its body. */
1115
1115
  .twm-leaf__tabbar--drop-target {
1116
- background: color-mix(in srgb, var(--accent-bright, #1683c4) 18%, transparent);
1117
- box-shadow: inset 0 0 0 1px var(--accent-bright, #1683c4);
1116
+ background: color-mix(in srgb, var(--accent-bright) 18%, transparent);
1117
+ box-shadow: inset 0 0 0 1px var(--accent-bright);
1118
1118
  }
1119
1119
 
1120
1120
  /* THE TAB BEING CARRIED. `DragReorder` has put `.dragging` on the TOP
@@ -1195,7 +1195,7 @@ body.twm-dragging * { user-select: none; }
1195
1195
  position: absolute;
1196
1196
  inset: 0;
1197
1197
  pointer-events: none;
1198
- border-top: 1px solid var(--accent-bright, #1683c4);
1198
+ border-top: 1px solid var(--accent-bright);
1199
1199
  clip-path: polygon(8px 0, 100% 0, calc(100% - 8px) 100%, 0 100%);
1200
1200
  }
1201
1201
  .twm-leaf__tab-label {
@@ -1342,7 +1342,7 @@ body.twm-dragging * { user-select: none; }
1342
1342
  .twm-tile-tabmenu__item--cursor {
1343
1343
  /* Keyboard cursor reads slightly heavier than hover so a
1344
1344
  * mouse-cursor-on-a-different-row state is still legible. */
1345
- outline: 1px solid var(--accent-bright, #1683c4);
1345
+ outline: 1px solid var(--accent-bright);
1346
1346
  outline-offset: -1px;
1347
1347
  }
1348
1348
  .twm-tile-tabmenu__item-hint {
@@ -1421,8 +1421,8 @@ body.twm-dragging * { user-select: none; }
1421
1421
  align-items: center;
1422
1422
  gap: var(--space-xs);
1423
1423
  padding: 2px 4px 2px 8px;
1424
- background: var(--state-selected, rgba(17, 119, 179, 0.18));
1425
- border: 1px solid var(--accent-bright, #1683c4);
1424
+ background: var(--state-selected);
1425
+ border: 1px solid var(--accent-bright);
1426
1426
  border-radius: 2px;
1427
1427
  color: var(--text-bright, #fff);
1428
1428
  font-size: var(--font-size-xs);
@@ -2078,7 +2078,7 @@ tr:hover .twm-row-action { opacity: 1; }
2078
2078
  }
2079
2079
  .twm-data-table-component--compact .twm-pagination-controls .twm-pagination-btn:hover:not(:disabled) {
2080
2080
  color: var(--ea-text, #ddd) !important;
2081
- border-color: var(--ea-accent, #1177b3) !important;
2081
+ border-color: var(--ea-accent) !important;
2082
2082
  }
2083
2083
  /* Text labels inside the pager — the "Rows X–Y of Z" and "Page X of
2084
2084
  * Y" spans don't have classes (just inline style), so target every
@@ -2107,7 +2107,7 @@ tr:hover .twm-row-action { opacity: 1; }
2107
2107
  width: 28px;
2108
2108
  height: 28px;
2109
2109
  border: 2px solid rgba(255, 255, 255, 0.18);
2110
- border-top-color: var(--ea-accent, #1177b3);
2110
+ border-top-color: var(--ea-accent);
2111
2111
  border-radius: 50%;
2112
2112
  animation: data-table__spin 0.7s linear infinite;
2113
2113
  }
@@ -2284,7 +2284,7 @@ tr:hover .twm-row-action { opacity: 1; }
2284
2284
  width: 18px;
2285
2285
  height: 18px;
2286
2286
  border: 2px solid var(--ea-border, #333);
2287
- border-top-color: var(--accent, #4a90e2);
2287
+ border-top-color: var(--accent);
2288
2288
  border-radius: 50%;
2289
2289
  animation: twm-tile-loading-spin 0.7s linear infinite;
2290
2290
  }
package/css/tokens.css CHANGED
@@ -90,6 +90,18 @@
90
90
  --accent-hover: #1177bb;
91
91
  --accent-bright: #007acc; /* --layout-accent value */
92
92
 
93
+ /* Every other accent colour is DERIVED from the three above, so a
94
+ consumer that sets them (on :root) rethemes the whole accent (BUG-0044).
95
+ The light accents mix --accent-bright toward white: a slider thumb, a
96
+ sortable list's drop line and add button, a focused filter input. */
97
+ --accent-light: color-mix(in srgb, var(--accent-bright) 70%, white); /* ≈ #4da2db, was #569cd6 */
98
+ --accent-lighter: color-mix(in srgb, var(--accent-bright) 55%, white); /* ≈ #73b6e3, was #6eb3e9 */
99
+ /* BUG-0045: the other accent shades. A primary button's hover, the window
100
+ bar's hovered item; a pressed accent control; the lightest accent text. */
101
+ --accent-bright-hover: color-mix(in srgb, var(--accent-bright) 90%, white); /* ≈ #1987d1, was #1486cf / #1683c4 */
102
+ --accent-pressed: color-mix(in srgb, var(--accent-hover) 90%, black); /* ≈ #0f6ba8, was #1a6aa5 / #0f6fa8 */
103
+ --accent-lightest: color-mix(in srgb, var(--accent-bright) 36%, white); /* ≈ #a3cfed, was #9ecfff / #9fd0f0 */
104
+
93
105
  /* ── Semantic colors ───────────────────────────────────────── */
94
106
  --color-success: #3fb950;
95
107
  --color-warning: #ff9800;
@@ -100,7 +112,9 @@
100
112
  /* ── Surface state overlays ────────────────────────────────── */
101
113
  --state-hover: rgba(255, 255, 255, 0.05);
102
114
  --state-active: rgba(255, 255, 255, 0.08);
103
- --state-selected: rgba(0, 122, 204, 0.15);
115
+ --state-selected: color-mix(in srgb, var(--accent-bright) 15%, transparent); /* rgba(0, 122, 204, 0.15) */
116
+ /* A DataTable row or cell that has just arrived flashes from this to transparent. */
117
+ --twm-dt-new-bg: color-mix(in srgb, var(--accent-bright) 22%, transparent); /* rgba(0, 122, 204, 0.22) */
104
118
 
105
119
  /* ── Overlay scrollbars (installOverlayScrollbar) ─────────── */
106
120
  --scrollbar-size: 6px;
@@ -114,7 +128,7 @@
114
128
  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.3);
115
129
  --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.4);
116
130
  --shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.5);
117
- --shadow-glow: 0 0 2px rgba(0, 122, 204, 0.3);
131
+ --shadow-glow: 0 0 2px color-mix(in srgb, var(--accent-bright) 30%, transparent); /* rgba(0, 122, 204, 0.3) */
118
132
 
119
133
  /* ── Z-index layers ───────────────────────────────────────── */
120
134
  --z-base: 0;