@trebco/treb 25.0.0-rc2 → 25.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,26 +1,14 @@
1
1
 
2
- // legacy
3
-
4
2
  @import './grid.scss';
5
3
  @import './theme-defaults.scss';
6
4
  @import './dark-theme.scss';
7
-
8
- // not scoped to treb-layout, but has its own scope; also,
9
- // no imports & relatively clean
10
-
11
5
  @import 'treb-charts/style/charts.scss';
12
-
13
- // relatively clean, also no imports
14
-
15
6
  @import './dialog.scss';
16
7
  @import './spinner.scss';
17
-
18
- // local, new (or scrubbed)
19
-
20
8
  @import './treb-icons.scss';
21
9
  @import './toolbar.scss';
22
10
 
23
- .treb-layout {
11
+ .treb-main {
24
12
 
25
13
  /*============================================================================
26
14
  *
@@ -50,10 +38,9 @@
50
38
  * why it does not. in any event the fix _seems_ to be setting that property
51
39
  * on contenteditable elements. I say _seems_ because it is working, but we
52
40
  * should keep an eye out for stability issues.
53
- *
54
- * it looks like there might be something similar happening on firefox
55
- * because we lost the cursor (again -- what do they have against cursors?)
56
- * needs some investigating.
41
+ *
42
+ * [update] firefox has the same issue, same fix but with a -moz prefix.
43
+ * weird how that works.
57
44
  *
58
45
  *===========================================================================*/
59
46
 
@@ -66,7 +53,7 @@
66
53
  // more specific about what we unset in order to avoid any
67
54
  // unexpected side effects.
68
55
 
69
- all: revert;
56
+ // all: revert;
70
57
  box-sizing: border-box;
71
58
 
72
59
  }
@@ -86,10 +73,11 @@
86
73
  }
87
74
 
88
75
  /**
89
- * fix for chrome (webkit?)
76
+ * fix for chrome (webkit?) and also firefox
90
77
  */
91
78
  [contenteditable] {
92
79
  -webkit-user-modify: read-write;
80
+ -moz-user-modify: read-write;
93
81
  }
94
82
 
95
83
  // ---------------------------------------------------------------------------
@@ -100,13 +88,8 @@
100
88
 
101
89
  font-style: normal;
102
90
  font-weight: normal;
103
- // color: #333;
104
91
  color: inherit;
105
- font-size: 12pt;
106
-
107
- // FIXME: use stack, var
108
- // font: 14px sans-serif;
109
- // color: #333;
92
+ font-size: 14px; // ?
110
93
 
111
94
  height: 100%;
112
95
  width: 100%;
@@ -169,9 +152,11 @@
169
152
  display: flex;
170
153
  flex-direction: row;
171
154
  gap: 1em;
172
- overflow: hidden;
173
155
  transition: opacity .2s ease;
174
156
 
157
+ // why was this here?
158
+ // overflow: hidden;
159
+
175
160
  // FIXME: move up (or not needed?)
176
161
  // line-height: normal;
177
162
  // text-align: left;
@@ -184,13 +169,26 @@
184
169
  display: grid;
185
170
  grid-template-columns: minmax(0, 1fr);
186
171
  grid-template-rows: auto minmax(0, 1fr) auto;
187
- overflow: hidden;
188
172
  flex: 1 1 0px;
189
-
190
- .treb-spreadsheet-body {
173
+
174
+ // why was this here?
175
+ // overflow: hidden;
176
+
177
+ .treb-spreadsheet-backdrop {
178
+ grid-row: 2;
179
+ grid-column: 1;
180
+ z-index: 2;
191
181
  box-shadow: 0 4px 6px -4px rgba(0, 0, 0, .4);
192
182
  }
193
183
 
184
+ .treb-spreadsheet-body {
185
+ z-index: 4;
186
+ }
187
+
188
+ .treb-spreadsheet-footer {
189
+ z-index: 3;
190
+ }
191
+
194
192
  .treb-layout-resize-handle {
195
193
  display: none;
196
194
  }
@@ -239,21 +237,24 @@
239
237
 
240
238
  .treb-layout-sidebar {
241
239
 
240
+ // we're using fixed sizes for buttons, but then ems for spacing.
241
+ // that is not good.
242
+
242
243
  grid-row: 2;
243
244
  grid-column: 2;
244
245
 
245
- padding-top: 1em;
246
+ padding-top: 1rem;
246
247
  grid-row: 2;
247
248
  grid-column: 2;
248
249
  display: flex;
249
250
  flex-direction: column;
250
- gap: .75em;
251
+ gap: .75rem;
251
252
  justify-content: flex-start;
252
253
  overflow: hidden;
253
254
  width: 2.5rem;
254
255
 
255
- padding-top: 3em;
256
- width: 3em;
256
+ padding-top: 3rem;
257
+ width: 3rem;
257
258
 
258
259
  align-items: center;
259
260
 
@@ -361,36 +362,6 @@
361
362
 
362
363
  }
363
364
 
364
- /*
365
- .treb-resize-handle {
366
-
367
- // FIXME: use the stack, but (at least firefox) needs a z-index on this
368
- z-index: 20;
369
-
370
- border: .5rem solid var(--treb-resize-handle-color, blue);
371
- border-top-color: transparent;
372
- border-left-color: transparent;
373
- position: absolute;
374
- bottom: 0px;
375
- right: 0px;
376
- cursor: nw-resize;
377
-
378
- // the opacity change is just annoying, don't bother
379
- / *
380
- opacity: .35;
381
- transition: opacity var(--treb-resize-transition, .1s ease-in-out);
382
- &:hover, &.retain-opacity {
383
- opacity: 1;
384
- }
385
- * /
386
-
387
- &.disabled {
388
- display: none;
389
- }
390
-
391
- }
392
- */
393
-
394
365
  }
395
366
 
396
367
  // these are (atm) outside of the container because we want them
@@ -19,7 +19,7 @@
19
19
  *
20
20
  */
21
21
 
22
- .treb-layout {
22
+ .treb-main {
23
23
 
24
24
  /**
25
25
  * event mask for mouse drag. currently this is added _within_ node
@@ -19,7 +19,7 @@
19
19
  *
20
20
  */
21
21
 
22
- .treb-layout {
22
+ .treb-main {
23
23
 
24
24
  // are these exactly the same? clearly we copied-and-pasted
25
25
  // at first. seems like we could consolidate.
@@ -19,7 +19,7 @@
19
19
  *
20
20
  */
21
21
 
22
- .treb-layout {
22
+ .treb-main {
23
23
 
24
24
  .treb-grid {
25
25
 
@@ -19,7 +19,7 @@
19
19
  *
20
20
  */
21
21
 
22
- .treb-layout {
22
+ .treb-main {
23
23
 
24
24
  .treb-spinner {
25
25
 
@@ -19,7 +19,7 @@
19
19
  *
20
20
  */
21
21
 
22
- .treb-layout {
22
+ .treb-main {
23
23
 
24
24
  .treb-spreadsheet-footer {
25
25
 
@@ -19,7 +19,7 @@
19
19
  *
20
20
  */
21
21
 
22
- .treb-layout {
22
+ .treb-main {
23
23
 
24
24
  .treb-sort-button {
25
25
 
@@ -19,10 +19,6 @@
19
19
  *
20
20
  */
21
21
 
22
- /**
23
- * new theme! should add a class name (use treb-main?)
24
- */
25
-
26
22
  /**
27
23
  * we're using variables for selection colors because the colors are used
28
24
  * in more than one place; that's a drawback of using CSS, but I think overall
@@ -54,23 +50,21 @@ $text-reference-color-3: rgb(182, 109, 13);
54
50
  $text-reference-color-4: rgb(33, 118, 174);
55
51
  $text-reference-color-5: rgb(254, 47, 1);
56
52
 
57
- .treb-layout {
53
+ .treb-main {
58
54
 
59
- /**
60
- * move primary selection focus color to focus-within on the top-level
61
- * node, and use a (new) unfocused selection color. name?
62
- *
63
- * this has to be as specific as the inside version
64
- */
65
- .treb-container:focus-within {
66
- // .treb-main {
67
- .treb-grid-selection .primary-selection, .treb-header-overlay {
55
+ /**
56
+ * move primary selection focus color to focus-within on the top-level
57
+ * node, and use a (new) unfocused selection color. name?
58
+ *
59
+ * this has to be as specific as the inside version
60
+ */
61
+ &:focus-within {
62
+
63
+ .treb-grid-selection .primary-selection,
64
+ .treb-header-overlay {
68
65
  color: var(--treb-selection-color, $primary-selection-color);
69
66
  }
70
- // }
71
-
72
- }
73
-
67
+ }
74
68
 
75
69
  /*
76
70
 
@@ -80,16 +74,45 @@ $text-reference-color-5: rgb(254, 47, 1);
80
74
 
81
75
  */
82
76
 
83
- .theme-color-1 { color: var(--treb-theme-color-1, #E7E6E6); }
84
- .theme-color-2 { color: var(--treb-theme-color-2, #44546A); }
85
- .theme-color-3 { color: var(--treb-theme-color-3, #4472C4); }
86
- .theme-color-4 { color: var(--treb-theme-color-4, #ED7D31); }
87
- .theme-color-5 { color: var(--treb-theme-color-5, #A5A5A5); }
88
- .theme-color-6 { color: var(--treb-theme-color-6, #FFC000); }
89
- .theme-color-7 { color: var(--treb-theme-color-7, #5B9BD5); }
90
- .theme-color-8 { color: var(--treb-theme-color-8, #70AD47); }
91
- .theme-color-9 { color: var(--treb-theme-color-9, #0563C1); }
92
- .theme-color-10 { color: var(--treb-theme-color-10, #954F72); }
77
+ .theme-color-1 {
78
+ color: var(--treb-theme-color-1, #E7E6E6);
79
+ }
80
+
81
+ .theme-color-2 {
82
+ color: var(--treb-theme-color-2, #44546A);
83
+ }
84
+
85
+ .theme-color-3 {
86
+ color: var(--treb-theme-color-3, #4472C4);
87
+ }
88
+
89
+ .theme-color-4 {
90
+ color: var(--treb-theme-color-4, #ED7D31);
91
+ }
92
+
93
+ .theme-color-5 {
94
+ color: var(--treb-theme-color-5, #A5A5A5);
95
+ }
96
+
97
+ .theme-color-6 {
98
+ color: var(--treb-theme-color-6, #FFC000);
99
+ }
100
+
101
+ .theme-color-7 {
102
+ color: var(--treb-theme-color-7, #5B9BD5);
103
+ }
104
+
105
+ .theme-color-8 {
106
+ color: var(--treb-theme-color-8, #70AD47);
107
+ }
108
+
109
+ .theme-color-9 {
110
+ color: var(--treb-theme-color-9, #0563C1);
111
+ }
112
+
113
+ .theme-color-10 {
114
+ color: var(--treb-theme-color-10, #954F72);
115
+ }
93
116
 
94
117
  /*
95
118
 
@@ -110,16 +133,20 @@ $text-reference-color-5: rgb(254, 47, 1);
110
133
  */
111
134
 
112
135
  /** offset dark is the DARK color applied against LIGHT backgrounds */
113
- .treb-offset-dark { color: #000; }
136
+ .treb-offset-dark {
137
+ color: #000;
138
+ }
114
139
 
115
140
  /** offset light is the LIGHT color applied against DARK backgrounds */
116
- .treb-offset-light { color: #fff; }
141
+ .treb-offset-light {
142
+ color: #fff;
143
+ }
117
144
 
118
145
  /**
119
146
  * highlight in the corner of a cell when there's a comment. this is painted.
120
147
  */
121
148
  .note-marker {
122
- background: var(--treb-note-marker-color, #6FAB20);
149
+ background: var(--treb-note-marker-color, #6FAB20); // lovely color
123
150
  }
124
151
 
125
152
  /**
@@ -127,15 +154,15 @@ $text-reference-color-5: rgb(254, 47, 1);
127
154
  * instead of applied.
128
155
  */
129
156
  .grid-headers {
130
- font-family: var(--treb-grid-header-font-family, inherit);
131
- font-size: var(--treb-grid-header-font-size, 10pt);
132
- font-weight: var(--treb-grid-header-font-weight, normal);
133
- font-style: var(--treb-grid-header-font-style, normal);
134
- background: var(--treb-grid-header-background, rgb(238, 238, 242));
157
+ font-family: var(--treb-grid-header-font-family, inherit);
158
+ font-size: var(--treb-grid-header-font-size, 10pt); // how does this look on ubuntu/android?
159
+ font-weight: var(--treb-grid-header-font-weight, normal);
160
+ font-style: var(--treb-grid-header-font-style, normal);
161
+ background: var(--treb-grid-header-background, rgb(238, 238, 242));
135
162
 
136
163
  // for these two fall back to grid values, then defaults
137
- color: var(--treb-grid-header-color, var(--treb-grid-default-color, #666));
138
- stroke: var(--treb-grid-header-grid-color, var(--treb-grid-grid-color, rgb(204, 204, 212)));
164
+ color: var(--treb-grid-header-color, var(--treb-grid-default-color, #666));
165
+ stroke: var(--treb-grid-header-grid-color, var(--treb-grid-grid-color, rgb(204, 204, 212)));
139
166
  }
140
167
 
141
168
  /**
@@ -148,11 +175,11 @@ $text-reference-color-5: rgb(254, 47, 1);
148
175
  * section, but it seems superfluous.
149
176
  */
150
177
  .grid-cells {
151
- font-family: var(--treb-grid-font-family, inherit);
152
- font-size: var(--treb-grid-font-size, 14px);
153
- color: var(--treb-grid-default-color, inherit);
154
- stroke: var(--treb-grid-grid-color, rgb(204, 204, 212));
155
- background: var(--treb-grid-background, #fff);
178
+ font-family: var(--treb-grid-font-family, inherit);
179
+ font-size: var(--treb-grid-font-size, 14px);
180
+ color: var(--treb-grid-default-color, inherit);
181
+ stroke: var(--treb-grid-grid-color, rgb(204, 204, 212));
182
+ background: var(--treb-grid-background, #fff);
156
183
  }
157
184
 
158
185
  .grid-background {
@@ -165,8 +192,10 @@ $text-reference-color-5: rgb(254, 47, 1);
165
192
  .frozen-selection {
166
193
  &.highlight-area {
167
194
  background: rgba(87, 184, 255, .25);
168
- border-left-color: rgba(33, 118, 174, 1); /* not using */
169
- border-bottom-color: rgba(33, 118, 174, 1); /* not using */
195
+ border-left-color: rgba(33, 118, 174, 1);
196
+ /* not using */
197
+ border-bottom-color: rgba(33, 118, 174, 1);
198
+ /* not using */
170
199
  }
171
200
  }
172
201
 
@@ -176,21 +205,22 @@ $text-reference-color-5: rgb(254, 47, 1);
176
205
  */
177
206
  .treb-autocomplete-tooltip {
178
207
 
179
- font-size: 14px; /* FIXME: relative */
208
+ font-size: 14px;
209
+ /* FIXME: relative */
180
210
  border-radius: 2px;
181
211
 
182
- background: var(--treb-autocomplete-tooltip-background, #fffbb5);
183
- color: var(--treb-autocomplete-tooltip-color, inherit);
212
+ background: var(--treb-autocomplete-tooltip-background, #fffbb5);
213
+ color: var(--treb-autocomplete-tooltip-color, inherit);
184
214
  border: 1px solid var(--treb-autocomplete-tooltip-border-color, unset);
185
-
215
+
186
216
  & .active-argument {
187
217
  font-weight: 700;
188
218
  }
189
-
219
+
190
220
  & .function-description {
191
221
  font-style: italic;
192
222
  }
193
-
223
+
194
224
  padding: 3px 8px;
195
225
  margin: 4px 0px;
196
226
  line-height: normal;
@@ -202,7 +232,8 @@ $text-reference-color-5: rgb(254, 47, 1);
202
232
  */
203
233
  .treb-autocomplete {
204
234
 
205
- font-size: 14px; /* FIXME: relative? could be larger, actually */
235
+ font-size: 14px;
236
+ /* FIXME: relative? could be larger, actually */
206
237
  background: var(--treb-autocomplete-background, #fff);
207
238
  border-radius: 2px;
208
239
  border: 1px solid var(--treb-autocomplete-border-color, var(--treb-ui-border-color, #ccc));
@@ -210,6 +241,7 @@ $text-reference-color-5: rgb(254, 47, 1);
210
241
 
211
242
  li {
212
243
  color: var(--treb-autocomplete-entry-color, #333);
244
+
213
245
  a.selected {
214
246
  // background: #339966;
215
247
  background: var(--treb-autocomplete-selected-entry-background, #2e8dd6);
@@ -226,7 +258,8 @@ $text-reference-color-5: rgb(254, 47, 1);
226
258
  color: var(--treb-selection-color-unfocused, var(--treb-selection-color, $primary-selection-color));
227
259
 
228
260
  .treb-overlay {
229
- fill: rgb(0, 0, 0); /* FIXME: use color? */
261
+ fill: rgb(0, 0, 0);
262
+ /* FIXME: use color? */
230
263
  stroke: none;
231
264
  opacity: 0.05;
232
265
  }
@@ -243,7 +276,8 @@ $text-reference-color-5: rgb(254, 47, 1);
243
276
  * be useful).
244
277
  */
245
278
 
246
- .treb-editor-container > div, .treb-overlay-editor {
279
+ .treb-editor-container>div,
280
+ .treb-overlay-editor {
247
281
 
248
282
  /* span:nth-of-type(1n) { */
249
283
  span.highlight-1 {
@@ -252,16 +286,16 @@ $text-reference-color-5: rgb(254, 47, 1);
252
286
 
253
287
  /* span:nth-of-type(2n) { */
254
288
  span.highlight-2 {
255
- color: $text-reference-color-2;
289
+ color: $text-reference-color-2;
256
290
  }
257
291
 
258
292
  /* span:nth-of-type(3n) { */
259
293
  span.highlight-3 {
260
- color: $text-reference-color-3;
294
+ color: $text-reference-color-3;
261
295
  }
262
296
 
263
297
  /* span:nth-of-type(4n) { */
264
- span.highlight-4 {
298
+ span.highlight-4 {
265
299
  color: $text-reference-color-4;
266
300
  }
267
301
 
@@ -275,15 +309,18 @@ $text-reference-color-5: rgb(254, 47, 1);
275
309
  /**
276
310
  * selections
277
311
  */
278
- .treb-grid-selection, .frozen-selection {
312
+ .treb-grid-selection,
313
+ .frozen-selection {
279
314
 
280
315
  /** common */
281
316
  .selection {
282
317
  stroke-width: var(--treb-selection-stroke-width, 2px);
318
+
283
319
  .outline {
284
320
  stroke: currentColor;
285
321
  fill: none;
286
322
  }
323
+
287
324
  .fill {
288
325
  stroke: none;
289
326
  fill: currentColor;
@@ -322,7 +359,7 @@ $text-reference-color-5: rgb(254, 47, 1);
322
359
  */
323
360
  .primary-selection {
324
361
  color: var(--treb-selection-color-unfocused, var(--treb-selection-color, $primary-selection-color));
325
-
362
+
326
363
  .nub {
327
364
  stroke: #fff; // <-- ? maybe grid background color?
328
365
  fill: currentColor;
@@ -337,11 +374,13 @@ $text-reference-color-5: rgb(254, 47, 1);
337
374
  */
338
375
  .treb-tooltip {
339
376
 
340
- font-size: 11pt; /** FIXME: relative */
377
+ font-size: 11pt;
378
+ /** FIXME: relative */
341
379
 
342
- background: var(--treb-resize-tooltip-background, rgba(0, 0, 0, .8));
343
- color: var(--treb-resize-tooltip-color, #fff);
344
- border-color: var(--treb-resize-tooltip-background, rgba(0, 0, 0, .8)); /* for arrow */
380
+ background: var(--treb-resize-tooltip-background, rgba(0, 0, 0, .8));
381
+ color: var(--treb-resize-tooltip-color, #fff);
382
+ border-color: var(--treb-resize-tooltip-background, rgba(0, 0, 0, .8));
383
+ /* for arrow */
345
384
 
346
385
  }
347
386
 
@@ -351,9 +390,11 @@ $text-reference-color-5: rgb(254, 47, 1);
351
390
  */
352
391
  .treb-spreadsheet-footer {
353
392
 
354
- font-size: 14px; /* FIXME: could be relative? */
393
+ // font-size: 14px;
394
+ /* FIXME: could be relative? */
355
395
 
356
- .treb-spreadsheet-tabs > li, .treb-add-tab {
396
+ .treb-spreadsheet-tabs>li,
397
+ .treb-add-tab {
357
398
  background: var(--treb-tab-bar-tab-background, rgb(238, 238, 242));
358
399
  color: var(--treb-tab-bar-tab-color, var(--treb-ui-color, inherit));
359
400
 
@@ -373,7 +414,9 @@ $text-reference-color-5: rgb(254, 47, 1);
373
414
  * should centralize here. TODO/WIP.
374
415
  */
375
416
  .treb-formula-bar {
376
- .treb-address-label, .treb-editor-container {
417
+
418
+ .treb-address-label,
419
+ .treb-editor-container {
377
420
  background: var(--treb-formula-bar-background, transparent);
378
421
  color: var(--treb-formula-bar-color, var(--treb-ui-color, inherit));
379
422
 
@@ -413,7 +456,7 @@ $text-reference-color-5: rgb(254, 47, 1);
413
456
  mask-size: 12px 12px;
414
457
  -webkit-mask-size: 12px 12px;
415
458
 
416
-
459
+
417
460
 
418
461
  }
419
462
 
@@ -425,20 +468,19 @@ $text-reference-color-5: rgb(254, 47, 1);
425
468
 
426
469
 
427
470
 
428
- /**
429
- * special override for windows, using calibri (which is too small).
430
- * you should still be able to override with a regular theme style,
431
- * or (potentially) also override for windows specifically. fancy!
432
- */
433
- .treb-ua-windows .grid-cells {
434
- font-size: var(--treb-grid-font-size-windows, var(--treb-grid-font-size, 12pt));
435
- font-family: var(--treb-grid-font-family-windows, var(--treb-grid-font-family, "Calibri", $font-stack)); // does this actually work? is this included? (...)
436
- }
437
-
438
- .treb-ua-osx .grid-cells {
439
- font-size: var(--treb-grid-font-size-osx, var(--treb-grid-font-size, 10pt)); // slightly smaller default
440
- font-family: var(--treb-grid-font-family-osx, var(--treb-grid-font-family, inherit));
441
- }
471
+ /**
472
+ * special override for windows, using calibri (which is too small).
473
+ * you should still be able to override with a regular theme style,
474
+ * or (potentially) also override for windows specifically. fancy!
475
+ */
476
+ &.treb-ua-windows .grid-cells {
477
+ font-size: var(--treb-grid-font-size-windows, var(--treb-grid-font-size, 12pt));
478
+ font-family: var(--treb-grid-font-family-windows, var(--treb-grid-font-family, "Calibri", $font-stack)); // does this actually work? is this included? (...)
479
+ }
442
480
 
443
- }
481
+ &.treb-ua-osx .grid-cells {
482
+ font-size: var(--treb-grid-font-size-osx, var(--treb-grid-font-size, 10pt)); // slightly smaller default
483
+ font-family: var(--treb-grid-font-family-osx, var(--treb-grid-font-family, inherit));
484
+ }
444
485
 
486
+ }