@perspective-dev/viewer-datagrid 4.3.0 → 4.4.1

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 (87) hide show
  1. package/dist/cdn/perspective-viewer-datagrid.js +4 -22
  2. package/dist/cdn/perspective-viewer-datagrid.js.map +4 -4
  3. package/dist/css/perspective-viewer-datagrid-toolbar.css +1 -1
  4. package/dist/css/perspective-viewer-datagrid.css +1 -1
  5. package/dist/esm/color_utils.d.ts +22 -0
  6. package/dist/esm/custom_elements/datagrid.d.ts +5 -5
  7. package/dist/esm/data_listener/format_cell.d.ts +1 -1
  8. package/dist/esm/data_listener/formatter_cache.d.ts +1 -1
  9. package/dist/esm/data_listener/index.d.ts +3 -2
  10. package/dist/esm/event_handlers/click/edit_click.d.ts +3 -2
  11. package/dist/esm/event_handlers/click.d.ts +4 -6
  12. package/dist/esm/event_handlers/dispatch_click.d.ts +3 -2
  13. package/dist/esm/event_handlers/expand_collapse.d.ts +1 -1
  14. package/dist/esm/event_handlers/focus.d.ts +4 -5
  15. package/dist/esm/event_handlers/header_click.d.ts +5 -3
  16. package/dist/esm/event_handlers/keydown/edit_keydown.d.ts +3 -4
  17. package/dist/esm/event_handlers/select_region.d.ts +3 -1
  18. package/dist/esm/event_handlers/sort.d.ts +8 -7
  19. package/dist/esm/model/create.d.ts +1 -1
  20. package/dist/esm/perspective-viewer-datagrid.js +3 -3
  21. package/dist/esm/perspective-viewer-datagrid.js.map +4 -4
  22. package/dist/esm/plugin/activate.d.ts +1 -1
  23. package/dist/esm/plugin/column_style_controls.d.ts +1 -1
  24. package/dist/esm/style_handlers/body.d.ts +3 -3
  25. package/dist/esm/style_handlers/column_header.d.ts +4 -3
  26. package/dist/esm/style_handlers/consolidated.d.ts +3 -47
  27. package/dist/esm/style_handlers/editable.d.ts +3 -2
  28. package/dist/esm/style_handlers/focus.d.ts +4 -4
  29. package/dist/esm/style_handlers/group_header.d.ts +1 -1
  30. package/dist/esm/style_handlers/table_cell/boolean.d.ts +1 -1
  31. package/dist/esm/style_handlers/table_cell/cell_flash.d.ts +1 -1
  32. package/dist/esm/style_handlers/table_cell/datetime.d.ts +6 -2
  33. package/dist/esm/style_handlers/table_cell/numeric.d.ts +1 -1
  34. package/dist/esm/style_handlers/table_cell/row_header.d.ts +1 -1
  35. package/dist/esm/style_handlers/table_cell/string.d.ts +1 -1
  36. package/dist/esm/style_handlers/types.d.ts +0 -4
  37. package/dist/esm/types.d.ts +10 -17
  38. package/package.json +3 -5
  39. package/src/css/mitered-headers.css +64 -0
  40. package/src/css/perspective-viewer-datagrid.css +6 -0
  41. package/src/{less/pro.less → css/pro.css} +32 -31
  42. package/src/css/regular_table.css +589 -0
  43. package/src/{less/row-hover.less → css/row-hover.css} +48 -29
  44. package/src/{less/scrollbar.less → css/scrollbar.css} +16 -15
  45. package/src/{less/sub-cell-scroll.less → css/sub-cell-scroll.css} +14 -13
  46. package/src/{less/toolbar.less → css/toolbar.css} +57 -39
  47. package/src/ts/color_utils.ts +144 -16
  48. package/src/ts/custom_elements/datagrid.ts +11 -12
  49. package/src/ts/custom_elements/toolbar.ts +4 -5
  50. package/src/ts/data_listener/format_cell.ts +28 -9
  51. package/src/ts/data_listener/formatter_cache.ts +1 -1
  52. package/src/ts/data_listener/index.ts +4 -8
  53. package/src/ts/event_handlers/click/edit_click.ts +7 -6
  54. package/src/ts/event_handlers/click.ts +39 -68
  55. package/src/ts/event_handlers/dispatch_click.ts +24 -25
  56. package/src/ts/event_handlers/expand_collapse.ts +7 -7
  57. package/src/ts/event_handlers/focus.ts +38 -35
  58. package/src/ts/event_handlers/header_click.ts +101 -62
  59. package/src/ts/event_handlers/keydown/edit_keydown.ts +49 -52
  60. package/src/ts/event_handlers/select_region.ts +144 -133
  61. package/src/ts/event_handlers/sort.ts +16 -24
  62. package/src/ts/model/column_overrides.ts +13 -4
  63. package/src/ts/model/create.ts +55 -59
  64. package/src/ts/model/toolbar.ts +23 -7
  65. package/src/ts/plugin/activate.ts +120 -92
  66. package/src/ts/plugin/column_style_controls.ts +1 -1
  67. package/src/ts/plugin/save.ts +1 -0
  68. package/src/ts/style_handlers/body.ts +56 -61
  69. package/src/ts/style_handlers/column_header.ts +16 -19
  70. package/src/ts/style_handlers/consolidated.ts +22 -123
  71. package/src/ts/style_handlers/editable.ts +10 -8
  72. package/src/ts/style_handlers/focus.ts +5 -5
  73. package/src/ts/style_handlers/group_header.ts +3 -2
  74. package/src/ts/style_handlers/table_cell/boolean.ts +3 -3
  75. package/src/ts/style_handlers/table_cell/cell_flash.ts +11 -11
  76. package/src/ts/style_handlers/table_cell/datetime.ts +14 -11
  77. package/src/ts/style_handlers/table_cell/numeric.ts +24 -25
  78. package/src/ts/style_handlers/table_cell/row_header.ts +2 -2
  79. package/src/ts/style_handlers/table_cell/string.ts +20 -18
  80. package/src/ts/style_handlers/types.ts +0 -10
  81. package/src/ts/types.ts +28 -20
  82. package/dist/esm/event_handlers/deselect_all.d.ts +0 -5
  83. package/dist/esm/event_handlers/row_select_click.d.ts +0 -4
  84. package/src/less/mitered-headers.less +0 -65
  85. package/src/less/regular_table.less +0 -526
  86. package/src/ts/event_handlers/deselect_all.ts +0 -28
  87. package/src/ts/event_handlers/row_select_click.ts +0 -92
@@ -0,0 +1,589 @@
1
+ /* ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
2
+ * ┃ ██████ ██████ ██████ █ █ █ █ █ █▄ ▀███ █ ┃
3
+ * ┃ ▄▄▄▄▄█ █▄▄▄▄▄ ▄▄▄▄▄█ ▀▀▀▀▀█▀▀▀▀▀ █ ▀▀▀▀▀█ ████████▌▐███ ███▄ ▀█ █ ▀▀▀▀▀ ┃
4
+ * ┃ █▀▀▀▀▀ █▀▀▀▀▀ █▀██▀▀ ▄▄▄▄▄ █ ▄▄▄▄▄█ ▄▄▄▄▄█ ████████▌▐███ █████▄ █ ▄▄▄▄▄ ┃
5
+ * ┃ █ ██████ █ ▀█▄ █ ██████ █ ███▌▐███ ███████▄ █ ┃
6
+ * ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
7
+ * ┃ Copyright (c) 2017, the Perspective Authors. ┃
8
+ * ┃ ╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌ ┃
9
+ * ┃ This file is part of the Perspective library, distributed under the terms ┃
10
+ * ┃ of the [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0). ┃
11
+ * ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
12
+ */
13
+ /*
14
+
15
+ /* Row Selection */
16
+
17
+ /* // TODO this makes the UI flash a CSS layout for a millsiecond when toggling */
18
+ /* // settings butit could be fixed. */
19
+
20
+ /* perspective-viewer:not([settings]) { */
21
+ /* @include settings-not-open; */
22
+ /* } */
23
+
24
+ /* :host-context(perspective-viewer:not([settings])) { */
25
+ /* @include settings-not-open; */
26
+ /* } */
27
+
28
+ /* @mixin settings-not-open { */
29
+ /* regular-table table tr.rt-autosize + tr th { */
30
+ /* height: 0px; */
31
+ /* span { */
32
+ /* display: none; */
33
+ /* } */
34
+ /* } */
35
+ /* } */
36
+
37
+ perspective-viewer,
38
+ :host {
39
+ .psp-menu-enabled {
40
+ padding: 0 6px;
41
+ font-size: 8px;
42
+ border-radius: 3px 3px 0 0;
43
+ }
44
+
45
+ .psp-menu-enabled:hover,
46
+ tr:not(.rt-autosize) th.psp-menu-open {
47
+ color: var(--psp--background-color);
48
+ background-color: var(--psp--color);
49
+ border-bottom-color: var(--psp--color);
50
+ cursor: pointer;
51
+ }
52
+
53
+ tr:not(.rt-autosize) th.psp-menu-open {
54
+ &:before {
55
+ background-repeat: no-repeat;
56
+ background-color: var(--psp--color);
57
+ content: "";
58
+ display: inline-block;
59
+ -webkit-mask-size: cover;
60
+ mask-size: cover;
61
+ height: 8px;
62
+ width: 10px;
63
+ -webkit-mask-image: var(--psp-icon--column-settings--mask-image);
64
+ mask-image: var(--psp-icon--column-settings--mask-image);
65
+ margin-right: 4px;
66
+ background-color: var(--psp--background-color);
67
+ }
68
+ }
69
+
70
+ td.psp-menu-open {
71
+ box-shadow:
72
+ inset -2px 0px 0px var(--psp--color),
73
+ inset 2px 0px 0px var(--psp--color);
74
+ }
75
+
76
+ tr:first-child td.psp-menu-open {
77
+ border-top-color: var(--psp--color) !important;
78
+ }
79
+
80
+ tr:last-child td.psp-menu-open {
81
+ box-shadow:
82
+ inset -2px 0px 0px var(--psp--color),
83
+ inset 2px 0px 0px var(--psp--color),
84
+ inset 0px -2px 0px var(--psp--color);
85
+ }
86
+ }
87
+
88
+ perspective-viewer,
89
+ :host-context(perspective-viewer) {
90
+ regular-table table thead tr:last-child th {
91
+ border-bottom-width: 1px;
92
+ border-bottom-color: var(--psp-inactive--border-color, #8b868045);
93
+ }
94
+ }
95
+
96
+ .psp-sort-enabled:hover {
97
+ cursor: pointer;
98
+ }
99
+
100
+ regular-table.flat-group-rollup-mode.vertical-row-headers
101
+ th.psp-tree-label:not(:last-of-type) {
102
+ writing-mode: vertical-lr;
103
+ }
104
+
105
+ .psp-select-region-inactive,
106
+ :hover .psp-select-region-inactive,
107
+ :hover th.psp-tree-leaf.psp-select-region-inactive,
108
+ :hover th.psp-tree-label.psp-select-region-inactive {
109
+ background-color: var(--psp-inactive--color) !important;
110
+ color: var(--psp--background-color) !important;
111
+ border-color: var(--psp--background-color) !important;
112
+ }
113
+
114
+ .psp-error {
115
+ color: red;
116
+ }
117
+
118
+ td:focus {
119
+ outline: #666;
120
+ outline-style: dotted;
121
+ outline-width: 1px;
122
+ }
123
+
124
+ perspective-viewer.dragging,
125
+ :host-context(perspective-viewer.dragging) {
126
+ regular-table {
127
+ pointer-events: none;
128
+ }
129
+ }
130
+
131
+ .psp-header-border:last-child {
132
+ border-right-width: 0px;
133
+ }
134
+
135
+ .psp-header-sort-desc:after {
136
+ background-repeat: no-repeat;
137
+ background-color: var(--psp--color);
138
+ content: "";
139
+ display: inline-block;
140
+ -webkit-mask-size: cover;
141
+ mask-size: cover;
142
+ width: 14px;
143
+ height: 11px;
144
+ margin-left: 4px;
145
+ -webkit-mask-image: var(--psp-icon--sort-desc--mask-image);
146
+ mask-image: var(--psp-icon--sort-desc--mask-image);
147
+ }
148
+
149
+ .psp-header-sort-asc:after {
150
+ background-repeat: no-repeat;
151
+ background-color: var(--psp--color);
152
+ content: "";
153
+ display: inline-block;
154
+ -webkit-mask-size: cover;
155
+ mask-size: cover;
156
+ width: 14px;
157
+ height: 11px;
158
+ margin-left: 4px;
159
+ -webkit-mask-image: var(--psp-icon--sort-asc--mask-image);
160
+ mask-image: var(--psp-icon--sort-asc--mask-image);
161
+ }
162
+
163
+ .psp-header-sort-col-desc:after {
164
+ background-repeat: no-repeat;
165
+ background-color: var(--psp--color);
166
+ content: "";
167
+ display: inline-block;
168
+ -webkit-mask-size: cover;
169
+ mask-size: cover;
170
+ width: 14px;
171
+ height: 11px;
172
+ margin-left: 4px;
173
+ -webkit-mask-image: var(--psp-icon--sort-col-desc--mask-image);
174
+ mask-image: var(--psp-icon--sort-col-desc--mask-image);
175
+ }
176
+
177
+ .psp-header-sort-col-asc:after {
178
+ background-repeat: no-repeat;
179
+ background-color: var(--psp--color);
180
+ content: "";
181
+ display: inline-block;
182
+ -webkit-mask-size: cover;
183
+ mask-size: cover;
184
+ width: 14px;
185
+ height: 11px;
186
+ margin-left: 4px;
187
+ -webkit-mask-image: var(--psp-icon--sort-col-asc--mask-image);
188
+ mask-image: var(--psp-icon--sort-col-asc--mask-image);
189
+ }
190
+
191
+ .psp-header-sort-abs-desc:after {
192
+ background-repeat: no-repeat;
193
+ background-color: var(--psp--color);
194
+ content: "";
195
+ display: inline-block;
196
+ -webkit-mask-size: cover;
197
+ mask-size: cover;
198
+ width: 14px;
199
+ height: 11px;
200
+ margin-left: 4px;
201
+ -webkit-mask-image: var(--psp-icon--sort-abs-desc--mask-image);
202
+ mask-image: var(--psp-icon--sort-abs-desc--mask-image);
203
+ }
204
+
205
+ .psp-header-sort-abs-asc:after {
206
+ background-repeat: no-repeat;
207
+ background-color: var(--psp--color);
208
+ content: "";
209
+ display: inline-block;
210
+ -webkit-mask-size: cover;
211
+ mask-size: cover;
212
+ width: 14px;
213
+ height: 11px;
214
+ margin-left: 4px;
215
+ -webkit-mask-image: var(--psp-icon--sort-abs-asc--mask-image);
216
+ mask-image: var(--psp-icon--sort-abs-asc--mask-image);
217
+ }
218
+
219
+ .psp-header-sort-abs-col-desc:after {
220
+ background-repeat: no-repeat;
221
+ background-color: var(--psp--color);
222
+ content: "";
223
+ display: inline-block;
224
+ -webkit-mask-size: cover;
225
+ mask-size: cover;
226
+ width: 14px;
227
+ height: 11px;
228
+ margin-left: 4px;
229
+ -webkit-mask-image: var(--psp-icon--sort-abs-col-desc--mask-image);
230
+ mask-image: var(--psp-icon--sort-abs-col-desc--mask-image);
231
+ }
232
+
233
+ .psp-header-sort-abs-col-asc:after {
234
+ background-repeat: no-repeat;
235
+ background-color: var(--psp--color);
236
+ content: "";
237
+ display: inline-block;
238
+ -webkit-mask-size: cover;
239
+ mask-size: cover;
240
+ width: 14px;
241
+ height: 11px;
242
+ margin-left: 4px;
243
+ -webkit-mask-image: var(--psp-icon--sort-abs-col-asc--mask-image);
244
+ mask-image: var(--psp-icon--sort-abs-col-asc--mask-image);
245
+ }
246
+
247
+ tbody th:last-of-type {
248
+ border-right: 1px solid var(--psp-inactive--border-color, #8b868045);
249
+ overflow: hidden;
250
+ text-overflow: ellipsis;
251
+ }
252
+
253
+ tbody th:empty {
254
+ background-image: linear-gradient(
255
+ to right,
256
+ transparent 9px,
257
+ var(--psp-inactive--border-color, #eee) 10px,
258
+ transparent 11px
259
+ );
260
+ background-repeat: no-repeat;
261
+ min-width: 20px;
262
+ max-width: 20px;
263
+ pointer-events: none;
264
+ }
265
+
266
+ regular-table:not(.flat-group-rollup-mode) {
267
+ .psp-tree-label {
268
+ max-width: 0px;
269
+ min-width: 0px;
270
+ }
271
+
272
+ .psp-tree-label:before {
273
+ color: var(--psp--color);
274
+ font-family: var(--psp-button--font-family, inherit);
275
+ padding-right: 11px;
276
+ }
277
+
278
+ .psp-tree-label-expand:before {
279
+ content: var(--psp-label--tree-expand--content, "+");
280
+ }
281
+
282
+ .psp-tree-label-collapse:before {
283
+ content: var(--psp-label--tree-collapse--content, "-");
284
+ }
285
+
286
+ .psp-tree-label-expand,
287
+ .psp-tree-label-collapse {
288
+ cursor: pointer;
289
+ }
290
+
291
+ .psp-tree-label:hover:before {
292
+ color: var(--psp-active--color);
293
+ text-shadow: 0px 0px 5px var(--psp-active--color);
294
+ }
295
+ }
296
+
297
+ .psp-tree-leaf {
298
+ padding-left: 24px;
299
+ }
300
+
301
+ .psp-align-right {
302
+ text-align: right;
303
+ }
304
+
305
+ .psp-color-mode-bar {
306
+ padding: 0 2px;
307
+ }
308
+
309
+ .psp-color-mode-label-bar {
310
+ position: relative;
311
+ padding: 0 2px;
312
+
313
+ .psp-bar {
314
+ isolation: isolate;
315
+ position: unset;
316
+ }
317
+
318
+ .psp-bar:before {
319
+ color: transparent;
320
+ pointer-events: none;
321
+ content: var(--label);
322
+ display: inline-flex;
323
+ justify-content: flex-end;
324
+ align-items: center;
325
+ padding: 0 3px;
326
+ }
327
+
328
+ .psp-bar:after {
329
+ color: var(--psp-label-bar-bg);
330
+ content: var(--label);
331
+ mix-blend-mode: difference;
332
+ position: absolute;
333
+ top: 0;
334
+ bottom: 0;
335
+ left: 0;
336
+ right: 0;
337
+ display: inline-flex;
338
+ justify-content: flex-end;
339
+ align-items: center;
340
+ padding: 0 5px;
341
+ }
342
+ }
343
+
344
+ .psp-label-bar {
345
+ inset: 0;
346
+ pointer-events: none;
347
+ display: flex;
348
+ align-items: center;
349
+ justify-content: flex-end;
350
+ padding: 0px;
351
+ }
352
+
353
+ .psp-label-bar-fill {
354
+ position: absolute;
355
+ top: 10%;
356
+ height: 80%;
357
+ background: var(--psp-label-bar-color);
358
+ pointer-events: none;
359
+ }
360
+
361
+ .psp-label-bar-text {
362
+ position: relative;
363
+ color: var(--psp-label-bar-bg);
364
+ mix-blend-mode: difference;
365
+ pointer-events: none;
366
+ }
367
+
368
+ .psp-align-left {
369
+ text-align: left;
370
+ }
371
+
372
+ .psp-positive:not(:focus) {
373
+ color: var(--psp-datagrid--pos-cell--color);
374
+ }
375
+
376
+ .psp-negative:not(:focus) {
377
+ color: var(--psp-datagrid--neg-cell--color);
378
+ }
379
+
380
+ regular-table table tbody td {
381
+ min-width: 52px !important;
382
+ }
383
+
384
+ .psp-is-width-override .rt-column-resize,
385
+ .rt-column-resize:hover {
386
+ border: 1px dashed #999;
387
+ border-bottom-width: 0px;
388
+ border-left-width: 0px;
389
+ }
390
+
391
+ .boolean-editable {
392
+ cursor: pointer;
393
+ }
394
+
395
+ regular-table table {
396
+ font-size: 1em;
397
+ user-select: none;
398
+ color: inherit;
399
+ border-collapse: separate;
400
+
401
+ th {
402
+ font-weight: 400;
403
+ }
404
+
405
+ td,
406
+ th {
407
+ border-color: var(--psp-inactive--border-color, #8b868045);
408
+ height: var(--psp-datagrid--row--height, 23px);
409
+ }
410
+
411
+ .psp-header-group {
412
+ text-overflow: ellipsis;
413
+ }
414
+
415
+ th.psp-header-leaf {
416
+ border-bottom-width: 0px;
417
+
418
+ span {
419
+ height: var(--psp-datagrid--row--height, 23px);
420
+ min-height: var(--psp-datagrid--row--height, 23px);
421
+ }
422
+ }
423
+
424
+ td,
425
+ th.psp-tree-label,
426
+ th.psp-tree-label,
427
+ th.psp-tree-leaf,
428
+ tbody tr:first-child th {
429
+ border-style: solid;
430
+ border-width: 0px;
431
+ border-top-width: 1px;
432
+ }
433
+
434
+ tbody th:empty {
435
+ background-position: 0px -10px;
436
+ }
437
+
438
+ td.psp-select-region,
439
+ th.psp-select-region {
440
+ /* transition: background-color 0.5s, color 0.5s, border-color 0.5s; */
441
+ background-color: var(--psp--color) !important;
442
+ color: var(--psp--background-color) !important;
443
+ border-color: var(--psp--background-color) !important;
444
+ }
445
+ }
446
+
447
+ regular-table
448
+ tbody
449
+ tr:hover
450
+ td.psp-select-region:not(.psp-select-region-inactive),
451
+ regular-table
452
+ tbody
453
+ tr:hover
454
+ + tr
455
+ td.psp-select-region:not(.psp-select-region-inactive) {
456
+ border-color: var(--psp--background-color) !important;
457
+ }
458
+
459
+ regular-table tbody tr:hover {
460
+ td.psp-select-region.psp-menu-open {
461
+ &:not(.psp-select-region-inactive) {
462
+ box-shadow:
463
+ inset -2px 0px 0px var(--psp--background-color),
464
+ inset 2px 0px 0px var(--psp--background-color);
465
+ }
466
+ }
467
+ }
468
+
469
+ :host-context(perspective-viewer[settings]) td.psp-select-region.psp-menu-open {
470
+ box-shadow:
471
+ inset -2px 0px 0px var(--psp--background-color),
472
+ inset 2px 0px 0px var(--psp--background-color);
473
+ }
474
+
475
+ /* This is a design/architecture bug. When the datagrid draws during a sidepanel */
476
+ /* collapse/uncollapse, the `settings` attribute is set to the _previous_ state */
477
+ /* as this collapse takes a while and we dont want the new state CSS to apply */
478
+ /* until the drawing is done. However, this causes the datagrid to draw its */
479
+ /* _first_ frame as if its in the wrong state, as it detects sidepanel state */
480
+ /* via HTML attribute checking. */
481
+ regular-table
482
+ #psp-column-edit-buttons
483
+ th:not(.rt-group-corner)
484
+ span:not(.rt-column-resize):before {
485
+ content: var(--psp-datagrid--column-edit-button--content, "Edit");
486
+ }
487
+
488
+ perspective-viewer:not([settings]),
489
+ :host-context(perspective-viewer:not([settings])) {
490
+ regular-table #psp-column-edit-buttons:after {
491
+ content: none;
492
+ }
493
+ }
494
+
495
+ /* Style the last row of the `<thead>` so that is has a bottom border. */
496
+ regular-table table thead tr:last-child:after {
497
+ width: 10000px;
498
+ box-sizing: border-box;
499
+ display: block;
500
+ height: var(--psp-datagrid--row--height, 23px);
501
+ content: " ";
502
+ border-bottom: 1px solid var(--psp-inactive--border-color);
503
+ }
504
+
505
+ /* Extend every row to the right edge of the page with a fake column. */
506
+ regular-table table tbody tr:after {
507
+ width: 10000px;
508
+ box-sizing: border-box;
509
+ display: block;
510
+ height: var(--psp-datagrid--row--height, 23px);
511
+ content: " ";
512
+ border-top: 1px solid transparent;
513
+ }
514
+
515
+ regular-table table tbody tr:not(:first-child):after {
516
+ border-top: 1px solid var(--psp-inactive--border-color);
517
+ }
518
+
519
+ regular-table table tbody tr:hover:not(:first-child):after {
520
+ border-top: 1px solid var(--psp-datagrid--hover--border-color);
521
+ }
522
+
523
+ regular-table table tbody tr:hover + tr:after {
524
+ border-top: 1px solid var(--psp-datagrid--hover--border-color);
525
+ }
526
+
527
+ @keyframes pulse_pos {
528
+ 0% {
529
+ background-color: var(
530
+ --pulse--background-color-start,
531
+ rgba(0, 128, 255, 0.5)
532
+ );
533
+ }
534
+
535
+ 100% {
536
+ background-color: var(
537
+ --pulse--background-color-end,
538
+ rgba(0, 128, 255, 0)
539
+ );
540
+ }
541
+ }
542
+
543
+ @keyframes pulse_pos2 {
544
+ 0% {
545
+ background-color: var(
546
+ --pulse--background-color-start,
547
+ rgba(0, 128, 255, 0.5)
548
+ );
549
+ }
550
+
551
+ 100% {
552
+ background-color: var(
553
+ --pulse--background-color-end,
554
+ rgba(0, 128, 255, 0)
555
+ );
556
+ }
557
+ }
558
+
559
+ @keyframes pulse_neg {
560
+ 0% {
561
+ background-color: var(
562
+ --pulse--background-color-start,
563
+ rgba(255, 25, 0, 0.5)
564
+ );
565
+ }
566
+
567
+ 100% {
568
+ background-color: var(
569
+ --pulse--background-color-end,
570
+ rgba(255, 25, 0, 0)
571
+ );
572
+ }
573
+ }
574
+
575
+ @keyframes pulse_neg2 {
576
+ 0% {
577
+ background-color: var(
578
+ --pulse--background-color-start,
579
+ rgba(255, 25, 0, 0.5)
580
+ );
581
+ }
582
+
583
+ 100% {
584
+ background-color: var(
585
+ --pulse--background-color-end,
586
+ rgba(255, 25, 0, 0)
587
+ );
588
+ }
589
+ }
@@ -1,50 +1,68 @@
1
- // ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
2
- // ┃ ██████ ██████ ██████ █ █ █ █ █ █▄ ▀███ █ ┃
3
- // ┃ ▄▄▄▄▄█ █▄▄▄▄▄ ▄▄▄▄▄█ ▀▀▀▀▀█▀▀▀▀▀ █ ▀▀▀▀▀█ ████████▌▐███ ███▄ ▀█ █ ▀▀▀▀▀ ┃
4
- // ┃ █▀▀▀▀▀ █▀▀▀▀▀ █▀██▀▀ ▄▄▄▄▄ █ ▄▄▄▄▄█ ▄▄▄▄▄█ ████████▌▐███ █████▄ █ ▄▄▄▄▄ ┃
5
- // ┃ █ ██████ █ ▀█▄ █ ██████ █ ███▌▐███ ███████▄ █ ┃
6
- // ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
7
- // ┃ Copyright (c) 2017, the Perspective Authors. ┃
8
- // ┃ ╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌ ┃
9
- // ┃ This file is part of the Perspective library, distributed under the terms ┃
10
- // ┃ of the [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0). ┃
11
- // ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
1
+ /* ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
2
+ * ┃ ██████ ██████ ██████ █ █ █ █ █ █▄ ▀███ █ ┃
3
+ * ┃ ▄▄▄▄▄█ █▄▄▄▄▄ ▄▄▄▄▄█ ▀▀▀▀▀█▀▀▀▀▀ █ ▀▀▀▀▀█ ████████▌▐███ ███▄ ▀█ █ ▀▀▀▀▀ ┃
4
+ * ┃ █▀▀▀▀▀ █▀▀▀▀▀ █▀██▀▀ ▄▄▄▄▄ █ ▄▄▄▄▄█ ▄▄▄▄▄█ ████████▌▐███ █████▄ █ ▄▄▄▄▄ ┃
5
+ * ┃ █ ██████ █ ▀█▄ █ ██████ █ ███▌▐███ ███████▄ █ ┃
6
+ * ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫
7
+ * ┃ Copyright (c) 2017, the Perspective Authors. ┃
8
+ * ┃ ╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌ ┃
9
+ * ┃ This file is part of the Perspective library, distributed under the terms ┃
10
+ * ┃ of the [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0). ┃
11
+ * ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
12
+ */
12
13
 
13
14
  regular-table {
14
15
  tbody {
15
16
  tr:hover
16
- th.psp-tree-leaf:not(.psp-row-selected):not(.psp-row-subselected),
17
+ th.psp-tree-leaf:not(.psp-select-region):not(
18
+ .psp-select-region-inactive
19
+ ),
17
20
  tr:hover
18
- th.psp-tree-label:not(.psp-row-selected):not(.psp-row-subselected),
19
- tr:hover td:not(.psp-row-selected):not(.psp-row-subselected),
21
+ th.psp-tree-label:not(.psp-select-region):not(
22
+ .psp-select-region-inactive
23
+ ),
24
+ tr:hover td:not(.psp-select-region):not(.psp-select-region-inactive),
20
25
  tr:hover:after {
21
- border-color: var(--rt-hover--border-color, #c5c9d080) !important;
22
- box-shadow: 0px 1px 0px var(--rt-hover--border-color, #c5c9d080);
26
+ border-color: var(
27
+ --psp-datagrid--hover--border-color,
28
+ #c5c9d080
29
+ ) !important;
30
+ box-shadow: 0px 1px 0px
31
+ var(--psp-datagrid--hover--border-color, #c5c9d080);
23
32
 
24
33
  &.psp-menu-open {
25
34
  box-shadow:
26
- inset -2px 0px 0px var(--icon--color),
27
- inset 2px 0px 0px var(--icon--color),
28
- 0px 1px 0px var(--rt-hover--border-color, #c5c9d080);
35
+ inset -2px 0px 0px var(--psp--color),
36
+ inset 2px 0px 0px var(--psp--color),
37
+ 0px 1px 0px
38
+ var(--psp-datagrid--hover--border-color, #c5c9d080);
29
39
  }
30
40
  }
31
41
 
32
42
  tr:last-child:hover
33
- td:not(.psp-row-selected):not(.psp-row-subselected).psp-menu-open {
43
+ td:not(.psp-select-region):not(
44
+ .psp-select-region-inactive
45
+ ).psp-menu-open {
34
46
  box-shadow:
35
- inset -2px 0px 0px var(--icon--color),
36
- inset 2px 0px 0px var(--icon--color),
37
- inset 0px -2px 0px var(--icon--color),
38
- 0px 1px 0px var(--rt-hover--border-color, #c5c9d080);
47
+ inset -2px 0px 0px var(--psp--color),
48
+ inset 2px 0px 0px var(--psp--color),
49
+ inset 0px -2px 0px var(--psp--color),
50
+ 0px 1px 0px var(--psp-datagrid--hover--border-color, #c5c9d080);
39
51
  }
40
52
 
41
53
  tr:hover
42
54
  + tr
43
- th.psp-tree-leaf:not(.psp-row-selected):not(.psp-row-subselected),
55
+ th.psp-tree-leaf:not(.psp-select-region):not(
56
+ .psp-select-region-inactive
57
+ ),
44
58
  tr:hover
45
59
  + tr
46
- th.psp-tree-label:not(.psp-row-selected):not(.psp-row-subselected),
47
- tr:hover + tr td:not(.psp-row-selected):not(.psp-row-subselected) {
60
+ th.psp-tree-label:not(.psp-select-region):not(
61
+ .psp-select-region-inactive
62
+ ),
63
+ tr:hover
64
+ + tr
65
+ td:not(.psp-select-region):not(.psp-select-region-inactive) {
48
66
  border-top-color: transparent;
49
67
  }
50
68
 
@@ -66,12 +84,13 @@ regular-table {
66
84
 
67
85
  tr:hover {
68
86
  color: inherit;
87
+
69
88
  th:first-child:not(:empty),
70
89
  th:first-child:empty + th:not(:empty),
71
90
  th:first-child:empty ~ th:empty + th:not(:empty),
72
91
  td:first-child {
73
92
  border-left-color: var(
74
- --rt-hover--border-color,
93
+ --psp-datagrid--hover--border-color,
75
94
  #c5c9d080
76
95
  ) !important;
77
96
  }
@@ -79,7 +98,7 @@ regular-table {
79
98
  th:last-child,
80
99
  td:last-child {
81
100
  border-right-color: var(
82
- --rt-hover--border-color,
101
+ --psp-datagrid--hover--border-color,
83
102
  #c5c9d080
84
103
  ) !important;
85
104
  }