jsl-ui 10.0.0 → 10.0.2

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/lib/grid.css CHANGED
@@ -1,3665 +1,1107 @@
1
- @media (prefers-reduced-motion: reduce) {
2
- .jsl-button {
3
- transition: none;
4
- }
1
+ .slick-header.ui-state-default, .slick-headerrow.ui-state-default, .slick-footerrow.ui-state-default, .slick-top-panel-scroller.ui-state-default, .slick-group-header.ui-state-default {
2
+ background: var(--jsl-color-surface);
3
+ width: 100%;
4
+ position: relative;
5
+ overflow: auto;
6
+ border-left: 0 !important;
5
7
  }
6
8
 
7
- html {
8
- -webkit-text-size-adjust: 100%;
9
- -ms-text-size-adjust: 100%;
9
+ .slick-header.ui-state-default {
10
+ overflow: inherit;
10
11
  }
11
12
 
12
- hr {
13
- box-sizing: content-box;
14
- height: 0;
15
- overflow: visible;
13
+ .slick-header::-webkit-scrollbar {
14
+ display: none;
16
15
  }
17
16
 
18
- pre, code {
19
- font-family: monospace;
20
- font-size: 1em;
17
+ .slick-headerrow::-webkit-scrollbar {
18
+ display: none;
21
19
  }
22
20
 
23
- a {
24
- -webkit-text-decoration-skip: objects;
21
+ .slick-footerrow::-webkit-scrollbar {
22
+ display: none;
25
23
  }
26
24
 
27
- sub, sup {
28
- vertical-align: baseline;
29
- font-size: 75%;
30
- line-height: 0;
25
+ .slick-header-columns, .slick-headerrow-columns, .slick-footerrow-columns, .slick-group-header-columns {
26
+ white-space: nowrap;
27
+ cursor: default;
31
28
  position: relative;
29
+ overflow: hidden;
32
30
  }
33
31
 
34
- sub {
35
- bottom: -.25em;
32
+ .slick-header-column.ui-state-default, .slick-group-header-column.ui-state-default {
33
+ text-overflow: ellipsis;
34
+ border-right: 1px solid var(--jsl-color-border-subtle);
35
+ border-top: 1px solid var(--jsl-color-border-subtle);
36
+ float: left;
37
+ height: 20px;
38
+ margin: 0;
39
+ padding: 4px;
40
+ line-height: 20px;
41
+ position: relative;
42
+ overflow: hidden;
43
+ box-sizing: content-box !important;
44
+ border-bottom: 0 !important;
45
+ border-left: 0 !important;
36
46
  }
37
47
 
38
- sup {
39
- top: -.5em;
48
+ .slick-header-column.ui-state-default {
49
+ height: var(--jsl-grid-header-height, 40px);
50
+ line-height: var(--jsl-grid-header-height, 40px);
40
51
  }
41
52
 
42
- input, optgroup, select, textarea {
43
- text-transform: none;
53
+ .slick-footerrow-column.ui-state-default {
54
+ text-overflow: ellipsis;
55
+ border-right: 1px solid var(--jsl-color-border-subtle);
56
+ float: left;
57
+ vertical-align: middle;
58
+ border-top: 0;
59
+ border-bottom: 0;
60
+ border-left: 0;
61
+ align-content: center;
62
+ height: auto;
44
63
  margin: 0;
45
- font-size: 100%;
46
- line-height: 1.15;
64
+ padding: 4px;
65
+ line-height: 20px;
66
+ top: 0;
67
+ bottom: 0;
47
68
  }
48
69
 
49
- button, input {
50
- overflow: visible;
70
+ .slick-headerrow-column.ui-state-default, .slick-footerrow-column.ui-state-default {
71
+ padding: 4px;
51
72
  }
52
73
 
53
- button, html [type="button"], [type="reset"], [type="submit"] {
54
- -webkit-appearance: button;
74
+ .slick-header-column-sorted {
75
+ font-style: inherit;
55
76
  }
56
77
 
57
- button::-moz-focus-inner {
58
- border-style: none;
59
- padding: 0;
78
+ .slick-sort-indicator {
79
+ float: left;
80
+ width: 8px;
81
+ height: 5px;
82
+ margin-top: 6px;
83
+ margin-left: 4px;
60
84
  }
61
85
 
62
- [type="button"]::-moz-focus-inner {
63
- border-style: none;
64
- padding: 0;
86
+ .slick-sort-indicator-numbered {
87
+ float: left;
88
+ width: 8px;
89
+ height: 5px;
90
+ color: var(--jsl-color-text-secondary);
91
+ margin-top: 0;
92
+ margin-left: 4px;
93
+ font-style: normal;
94
+ font-weight: bold;
95
+ line-height: 20px;
65
96
  }
66
97
 
67
- [type="reset"]::-moz-focus-inner {
68
- border-style: none;
69
- padding: 0;
98
+ .grid-canvas {
99
+ outline: 0;
100
+ position: relative;
70
101
  }
71
102
 
72
- [type="submit"]::-moz-focus-inner {
73
- border-style: none;
74
- padding: 0;
103
+ .slick-row.ui-widget-content, .slick-row.ui-state-active {
104
+ border: 0;
105
+ width: 100%;
106
+ position: absolute;
75
107
  }
76
108
 
77
- button:-moz-focusring {
78
- outline: 1px dotted buttontext;
109
+ .slick-cell, .slick-headerrow-column, .slick-footerrow-column {
110
+ border: 1px solid #0000;
111
+ border-right: 1px dotted var(--jsl-color-border-subtle);
112
+ text-overflow: ellipsis;
113
+ vertical-align: middle;
114
+ z-index: 1;
115
+ white-space: nowrap;
116
+ cursor: default;
117
+ margin: 0;
118
+ padding: 1px 2px 1px 1px;
119
+ position: absolute;
120
+ overflow: hidden;
121
+ box-sizing: content-box !important;
79
122
  }
80
123
 
81
- [type="button"]:-moz-focusring {
82
- outline: 1px dotted buttontext;
124
+ .slick-headerrow-column {
125
+ border-bottom-color: var(--jsl-color-border-subtle);
83
126
  }
84
127
 
85
- [type="reset"]:-moz-focusring {
86
- outline: 1px dotted buttontext;
128
+ .slick-footerrow-column {
129
+ border-top-color: var(--jsl-color-border-subtle);
87
130
  }
88
131
 
89
- [type="submit"]:-moz-focusring {
90
- outline: 1px dotted buttontext;
132
+ .slick-group-toggle {
133
+ display: inline-block;
91
134
  }
92
135
 
93
- textarea {
94
- overflow: auto;
136
+ .slick-cell.highlighted {
137
+ background: var(--jsl-color-surface-selected);
138
+ -o-transition: all .5s;
139
+ transition: all .5s;
95
140
  }
96
141
 
97
- .right {
98
- text-align: right;
142
+ .slick-cell.flashing {
143
+ border: 1px solid var(--jsl-color-danger) !important;
99
144
  }
100
145
 
101
- .center {
102
- text-align: center;
146
+ .slick-cell.editable {
147
+ z-index: 11;
148
+ overflow: visible;
103
149
  }
104
150
 
105
- div.jsl-fill {
106
- box-sizing: border-box;
107
- height: 100%;
108
- position: relative;
151
+ .slick-cell:focus {
152
+ outline: none;
109
153
  }
110
154
 
111
- .resizable {
112
- position: relative;
155
+ .slick-reorder-proxy {
156
+ background: var(--jsl-color-accent);
157
+ opacity: .15;
158
+ filter: alpha(opacity = 15);
159
+ cursor: move;
160
+ display: inline-block;
113
161
  }
114
162
 
115
- .resizable > .rs-r {
116
- box-sizing: border-box;
117
- cursor: w-resize;
118
- background: #14141433;
119
- width: .5rem;
120
- position: absolute;
121
- top: 0;
122
- bottom: 0;
123
- right: 0;
163
+ .slick-reorder-guide {
164
+ background: var(--jsl-color-accent);
165
+ opacity: .7;
166
+ height: 2px;
167
+ filter: alpha(opacity = 70);
168
+ display: inline-block;
124
169
  }
125
170
 
126
- .resizable > .rs-b {
127
- box-sizing: border-box;
128
- cursor: n-resize;
129
- background: #14141433;
130
- height: .5rem;
171
+ .slick-selection {
172
+ z-index: 10;
173
+ border: 2px dashed var(--jsl-color-focus);
131
174
  position: absolute;
132
- bottom: 0;
133
- left: 0;
134
- right: 0;
135
- }
136
-
137
- .resizable > .rs-r.rs-b {
138
- top: initial;
139
- left: initial;
140
- cursor: nw-resize;
141
- bottom: 0;
142
- right: 0;
143
- }
144
-
145
- .dp-below, .dp-modal, .dp-permanent {
146
- box-sizing: border-box;
147
- color: var(--jsl-color-text);
148
- font: inherit;
149
- font-size: .875rem;
150
- line-height: 1.4;
151
175
  }
152
176
 
153
- .dp-below *, .dp-modal *, .dp-permanent * {
154
- box-sizing: border-box;
177
+ .slick-pane {
178
+ outline: 0;
179
+ width: 100%;
180
+ position: absolute;
181
+ overflow: hidden;
155
182
  }
156
183
 
157
- .dp {
158
- border: 1px solid var(--jsl-color-border);
159
- background: var(--jsl-color-surface);
160
- border-radius: .875rem;
161
- width: 19rem;
162
- max-width: calc(100vw - 1rem);
163
- max-height: calc(100dvh - 1rem);
164
- overflow: auto;
165
- box-shadow: 0 12px 32px #00000024, 0 2px 6px #0000000f;
184
+ .slick-pane-header {
185
+ display: block;
166
186
  }
167
187
 
168
- .dp-below {
169
- z-index: 2200;
170
- width: max-content;
171
- position: fixed;
188
+ .slick-header, .slick-headerrow, .slick-top-panel-scroller {
189
+ position: relative;
190
+ overflow: hidden;
172
191
  }
173
192
 
174
- .dp-modal {
175
- z-index: 2300;
176
- background: var(--jsl-color-overlay);
177
- place-items: center;
178
- padding: .5rem;
179
- display: grid;
180
- position: fixed;
181
- inset: 0;
193
+ .slick-top-panel {
194
+ width: 10000px;
182
195
  }
183
196
 
184
- .dp-permanent {
185
- max-width: 100%;
186
- display: inline-block;
197
+ .slick-viewport {
198
+ background: var(--jsl-color-surface);
199
+ outline: 0;
200
+ width: 100%;
201
+ position: relative;
187
202
  }
188
203
 
189
- .dp-permanent .dp {
190
- box-shadow: none;
191
- max-width: 100%;
204
+ .slick-wrap {
205
+ white-space: normal;
192
206
  }
193
207
 
194
- .dp button {
195
- appearance: none;
196
- color: inherit;
197
- font: inherit;
198
- cursor: pointer;
199
- text-align: center;
208
+ input.editor-text, textarea.editor-text {
209
+ resize: none;
200
210
  background: none;
201
211
  border: 0;
202
- border-radius: .4rem;
212
+ outline: 0;
213
+ width: 100%;
214
+ height: 100%;
203
215
  margin: 0;
204
- padding: .5rem;
205
- line-height: 1.4;
216
+ padding: 0;
206
217
  }
207
218
 
208
- .dp button:hover:not(:disabled) {
209
- background: var(--jsl-color-surface-hover);
219
+ .slick-cell .jsl-container {
220
+ position: absolute;
221
+ inset: 0;
210
222
  }
211
223
 
212
- .dp button:focus-visible {
213
- outline: 2px solid var(--jsl-color-focus);
214
- outline-offset: -2px;
215
- z-index: 1;
216
- position: relative;
224
+ .slick-cell .jsl-container .jsl-selected {
225
+ padding: 0;
217
226
  }
218
227
 
219
- .dp button:disabled {
220
- color: var(--jsl-color-disabled-text);
221
- cursor: not-allowed;
222
- opacity: .4;
228
+ .slickgrid {
229
+ box-sizing: border-box;
230
+ border: solid 1px var(--jsl-color-border);
231
+ border-radius: 3px;
223
232
  }
224
233
 
225
- .dp-cal-header {
226
- grid-template-columns: 2rem 1fr auto 2rem;
227
- align-items: center;
228
- gap: .125rem;
229
- padding: .75rem .625rem .5rem;
230
- display: grid;
234
+ .slick-col-ghost {
235
+ box-sizing: content-box;
236
+ pointer-events: none;
237
+ position: absolute;
231
238
  }
232
239
 
233
- .dp-cal-header button {
234
- font-weight: 600;
240
+ .slick-ghost-content {
241
+ border: solid 2px var(--jsl-color-border);
242
+ background: var(--jsl-color-surface-selected);
243
+ position: absolute;
244
+ left: 0;
245
+ right: 0;
235
246
  }
236
247
 
237
- .dp .dp-prev, .dp .dp-next {
238
- padding: .35rem;
239
- font-size: 1.375rem;
240
- line-height: 1;
248
+ .editor-text {
249
+ font-size: 100%;
241
250
  }
242
251
 
243
- .dp-days {
244
- grid-template-columns: repeat(7, minmax(0, 1fr));
245
- gap: .125rem;
246
- padding: 0 .625rem .625rem;
247
- display: grid;
252
+ .slick-filtered-header {
253
+ color: var(--jsl-color-accent);
254
+ background: var(--jsl-color-surface-selected);
248
255
  }
249
256
 
250
- .dp-col-header {
251
- color: var(--jsl-color-text-muted);
257
+ .slick-preheader-panel .slick-column-name {
252
258
  text-align: center;
253
- padding: .5rem 0;
254
- font-size: .6875rem;
255
- font-weight: 500;
256
- }
257
-
258
- .dp .dp-day {
259
- font-variant-numeric: tabular-nums;
260
- min-height: 2.125rem;
261
- padding: .45rem 0;
262
- font-size: .8125rem;
263
- position: relative;
259
+ float: none;
264
260
  }
265
261
 
266
- .dp .dp-edge-day {
267
- color: var(--jsl-color-text-muted);
262
+ .slick-header-column.resizable > .rs-r {
263
+ background: none;
268
264
  }
269
265
 
270
- .dp .dp-current:not(.dp-selected) {
271
- background: var(--jsl-color-surface-selected);
266
+ .js-touch .slick-header-column > .slick-header-menubutton {
267
+ display: inline-block;
272
268
  }
273
269
 
274
- .dp .dp-selected, .dp .dp-selected:hover:not(:disabled) {
275
- background: var(--jsl-color-accent);
276
- color: var(--jsl-color-on-accent);
277
- font-weight: 600;
278
- }
279
-
280
- .dp-day-today:after {
281
- content: "";
282
- background: currentColor;
283
- border-radius: 50%;
284
- width: 3px;
285
- height: 3px;
286
- position: absolute;
287
- bottom: 3px;
288
- left: calc(50% - 1.5px);
289
- }
290
-
291
- .dp-cal-footer {
292
- border-top: 1px solid var(--jsl-color-border-subtle);
293
- grid-template-columns: repeat(3, 1fr);
294
- gap: .25rem;
295
- padding: .5rem .625rem;
296
- display: grid;
297
- }
298
-
299
- .dp-cal-footer button {
300
- font-size: .75rem;
301
- font-weight: 500;
302
- }
303
-
304
- .dp-months {
305
- grid-template-columns: repeat(3, 1fr);
306
- align-content: center;
307
- gap: .375rem;
308
- min-height: 15rem;
309
- padding: .75rem;
310
- display: grid;
311
- }
312
-
313
- .dp-months button {
314
- padding: .875rem .25rem;
315
- font-size: .75rem;
316
- }
317
-
318
- .dp-years {
319
- gap: .25rem;
320
- height: 19rem;
321
- padding: .75rem;
322
- display: grid;
323
- overflow-y: auto;
324
- }
325
-
326
- .dp-years button {
327
- width: 100%;
328
- padding: .625rem;
329
- display: block;
330
- }
331
-
332
- @media (forced-colors: active) {
333
- .dp .dp-selected {
334
- outline: 2px solid highlight;
335
- }
336
- }
337
-
338
- .jsl-button {
339
- --jsl-button-height: 2rem;
340
- --jsl-button-padding: .875rem;
341
- box-sizing: border-box;
342
- height: var(--jsl-button-height);
343
- padding: 0 var(--jsl-button-padding);
344
- vertical-align: middle;
345
- border-radius: var(--jsl-button-radius, .375rem);
346
- background: var(--jsl-button-primary, var(--jsl-color-accent));
347
- color: var(--jsl-button-on-primary, var(--jsl-color-on-accent));
348
- font: inherit;
349
- letter-spacing: normal;
350
- text-align: center;
351
- white-space: nowrap;
352
- cursor: pointer;
353
- border: 1px solid #0000;
354
- justify-content: center;
355
- align-items: center;
356
- gap: .5rem;
357
- font-size: .875rem;
358
- font-weight: 500;
359
- line-height: 1.25;
360
- text-decoration: none;
361
- transition: background-color .12s, border-color .12s, box-shadow .12s;
362
- display: inline-flex;
363
- position: relative;
364
- }
365
-
366
- .jsl-button:where(:hover) {
367
- background: var(--jsl-button-primary-hover, var(--jsl-color-accent-hover));
368
- }
369
-
370
- .jsl-button:where(:active, .active, [aria-pressed="true"]) {
371
- background: var(--jsl-button-primary-active, var(--jsl-color-accent-active));
372
- box-shadow: inset 0 0 0 1px;
373
- }
374
-
375
- .jsl-button.jsl-button-outline {
376
- border-color: var(--jsl-button-border, var(--jsl-color-border));
377
- background: var(--jsl-button-surface, var(--jsl-color-surface));
378
- color: var(--jsl-button-text, var(--jsl-color-text));
379
- }
380
-
381
- .jsl-button.jsl-button-ghost {
382
- color: var(--jsl-button-text, var(--jsl-color-text));
383
- background: none;
384
- }
385
-
386
- .jsl-button.jsl-button-outline:where(:hover), .jsl-button.jsl-button-ghost:where(:hover) {
387
- background: var(--jsl-button-hover-surface, var(--jsl-color-surface-hover));
388
- border-color: var(--jsl-button-border, var(--jsl-color-border));
389
- }
390
-
391
- .jsl-button.jsl-button-outline:where(:active, .active, [aria-pressed="true"]), .jsl-button.jsl-button-ghost:where(:active, .active, [aria-pressed="true"]) {
392
- background: var(--jsl-button-selected-surface, var(--jsl-color-surface-selected));
393
- border-color: var(--jsl-button-primary, var(--jsl-color-accent));
394
- color: var(--jsl-button-selected-text, var(--jsl-color-text));
395
- box-shadow: none;
396
- }
397
-
398
- .jsl-button:focus-visible {
399
- outline: 2px solid var(--jsl-button-focus, var(--jsl-color-focus));
400
- outline-offset: 3px;
401
- }
402
-
403
- .jsl-button.jsl-button-small {
404
- --jsl-button-height: 1.75rem;
405
- --jsl-button-padding: .625rem;
406
- gap: .375rem;
407
- font-size: .8125rem;
408
- }
409
-
410
- .jsl-button.jsl-button-large {
411
- --jsl-button-height: 2.5rem;
412
- --jsl-button-padding: 1rem;
413
- font-size: .9375rem;
414
- }
415
-
416
- .jsl-button.jsl-button-icon-only {
417
- width: var(--jsl-button-height);
418
- flex-shrink: 0;
419
- padding: 0;
420
- }
421
-
422
- .jsl-button-icon {
423
- pointer-events: none;
424
- flex: none;
425
- justify-content: center;
426
- align-items: center;
427
- width: 1.125em;
428
- height: 1.125em;
429
- line-height: 1;
430
- display: inline-flex;
431
- }
432
-
433
- .jsl-button-icon > img, .jsl-button-icon > svg {
434
- object-fit: contain;
435
- width: 100%;
436
- height: 100%;
437
- display: block;
438
- }
439
-
440
- .jsl-button-label-hidden {
441
- clip-path: inset(50%);
442
- white-space: nowrap;
443
- border: 0;
444
- width: 1px;
445
- height: 1px;
446
- margin: -1px;
447
- padding: 0;
448
- position: absolute;
449
- overflow: hidden;
450
- }
451
-
452
- .jsl-button:disabled, .jsl-button.disabled {
453
- background: var(--jsl-button-disabled-surface, var(--jsl-color-disabled-surface));
454
- border-color: var(--jsl-button-disabled-border, var(--jsl-color-border-subtle));
455
- color: var(--jsl-button-disabled-text, var(--jsl-color-disabled-text));
456
- box-shadow: none;
457
- cursor: not-allowed;
458
- }
459
-
460
- @media (prefers-reduced-motion: reduce) {
461
- .jsl-button {
462
- transition: none;
463
- }
464
- }
465
-
466
- .jsl-dialog-overlay {
467
- z-index: var(--jsl-dialog-z-index, 2001);
468
- background: var(--jsl-dialog-backdrop, var(--jsl-color-overlay));
469
- position: fixed;
470
- inset: 0;
471
- }
472
-
473
- .jsl-dialog {
474
- box-sizing: border-box;
475
- border: 1px solid var(--jsl-dialog-border, var(--jsl-color-border-subtle));
476
- border-radius: var(--jsl-dialog-radius, .75rem);
477
- background: var(--jsl-dialog-surface, var(--jsl-color-surface));
478
- width: 32rem;
479
- max-width: calc(100% - 2rem);
480
- max-height: calc(100% - 2rem);
481
- color: var(--jsl-color-text);
482
- box-shadow: var(--jsl-dialog-shadow, var(--jsl-shadow-dialog));
483
- font: inherit;
484
- pointer-events: auto;
485
- isolation: isolate;
486
- flex-direction: column;
487
- line-height: 1.5;
488
- display: flex;
489
- position: absolute;
490
- top: 50%;
491
- left: 50%;
492
- transform: translate(-50%, -50%);
493
- }
494
-
495
- .jsl-dialog:focus {
496
- outline: none;
497
- }
498
-
499
- .jsl-dialog.resizable {
500
- position: absolute;
501
- }
502
-
503
- .jsl-dialog:focus-visible {
504
- outline: 2px solid var(--jsl-color-focus);
505
- outline-offset: 3px;
506
- }
507
-
508
- .jsl-dialog > .dlg-header {
509
- box-sizing: border-box;
510
- border-bottom: 1px solid var(--jsl-color-border-subtle);
511
- border-radius: var(--jsl-dialog-radius, .75rem) var(--jsl-dialog-radius, .75rem) 0 0;
512
- flex: none;
513
- align-items: center;
514
- gap: 1rem;
515
- min-width: 0;
516
- padding: 1.125rem 1.5rem;
517
- font-size: 1rem;
518
- font-weight: 600;
519
- line-height: 1.5;
520
- display: flex;
521
- }
522
-
523
- .jsl-dialog .dlg-title {
524
- overflow-wrap: anywhere;
525
- flex: 1;
526
- min-width: 0;
527
- }
528
-
529
- .jsl-dialog-moveable > .dlg-header {
530
- cursor: move;
531
- touch-action: none;
532
- }
533
-
534
- .jsl-dialog .dlg-close-btn {
535
- box-sizing: border-box;
536
- width: 2rem;
537
- height: 2rem;
538
- color: var(--jsl-color-text-secondary);
539
- font: inherit;
540
- cursor: pointer;
541
- background: none;
542
- border: 1px solid #0000;
543
- border-radius: .375rem;
544
- flex: none;
545
- justify-content: center;
546
- align-items: center;
547
- margin: -.25rem -.5rem -.25rem auto;
548
- padding: 0;
549
- display: inline-flex;
550
- position: relative;
551
- }
552
-
553
- .jsl-dialog .dlg-close-btn:before, .jsl-dialog .dlg-close-btn:after {
554
- content: "";
555
- background: currentColor;
556
- border-radius: 1px;
557
- width: .875rem;
558
- height: 1.5px;
559
- position: absolute;
560
- transform: rotate(45deg);
561
- }
562
-
563
- .jsl-dialog .dlg-close-btn:after {
564
- transform: rotate(-45deg);
565
- }
566
-
567
- .jsl-dialog .dlg-close-btn:hover {
568
- background: var(--jsl-color-surface-hover);
569
- color: var(--jsl-color-text);
570
- }
571
-
572
- .jsl-dialog .dlg-close-btn:focus-visible {
573
- outline: 2px solid var(--jsl-color-focus);
574
- outline-offset: 2px;
575
- }
576
-
577
- .jsl-dialog > .dlg-body {
578
- box-sizing: border-box;
579
- overflow-wrap: anywhere;
580
- overscroll-behavior: contain;
581
- flex: auto;
582
- min-width: 0;
583
- min-height: 0;
584
- padding: 1.5rem;
585
- overflow: auto;
586
- }
587
-
588
- .jsl-dialog > .dlg-footer {
589
- box-sizing: border-box;
590
- border-top: 1px solid var(--jsl-color-border-subtle);
591
- border-radius: 0 0 var(--jsl-dialog-radius, .75rem) var(--jsl-dialog-radius, .75rem);
592
- background: var(--jsl-color-surface-subtle);
593
- text-align: end;
594
- flex: none;
595
- padding: 1rem 1.5rem;
596
- }
597
-
598
- .jsl-dialog > .dlg-footer > div, .jsl-dialog > .dlg-footer > form {
599
- flex-wrap: wrap;
600
- justify-content: flex-end;
601
- align-items: center;
602
- gap: .5rem;
603
- display: flex;
604
- }
605
-
606
- .jsl-dialog > .dlg-footer > button + button {
607
- margin-inline-start: .5rem;
608
- }
609
-
610
- .jsl-dialog > .dlg-header[hidden], .jsl-dialog > .dlg-footer[hidden] {
611
- display: none;
612
- }
613
-
614
- .jsl-dialog .slickgrid {
615
- border-radius: 0;
616
- }
617
-
618
- .jsl-dialog.resizable > .dlg-res-handle.rs-r.rs-b {
619
- cursor: nwse-resize;
620
- touch-action: none;
621
- background: none;
622
- width: 1rem;
623
- height: 1rem;
624
- bottom: .125rem;
625
- right: .125rem;
626
- }
627
-
628
- .jsl-dialog .dlg-res-handle:after {
629
- content: "";
630
- border-right: 1px solid var(--jsl-color-text-muted);
631
- border-bottom: 1px solid var(--jsl-color-text-muted);
632
- width: .4rem;
633
- height: .4rem;
634
- position: absolute;
635
- bottom: .2rem;
636
- right: .2rem;
637
- }
638
-
639
- @media (width <= 480px) {
640
- .jsl-dialog {
641
- max-width: calc(100% - 1.5rem);
642
- max-height: calc(100% - 1.5rem);
643
- }
644
-
645
- .jsl-dialog > .dlg-header {
646
- padding: 1rem 1.125rem;
647
- }
648
-
649
- .jsl-dialog > .dlg-body {
650
- padding: 1.125rem;
651
- }
652
-
653
- .jsl-dialog > .dlg-footer {
654
- padding: .875rem 1.125rem;
655
- }
656
- }
657
-
658
- .jsl-number {
659
- text-align: right;
660
- }
661
-
662
- .jsl-notification-container {
663
- z-index: 3020;
664
- box-sizing: border-box;
665
- width: 25rem;
666
- max-width: 100vw;
667
- max-height: 100dvh;
668
- box-shadow: none;
669
- pointer-events: none;
670
- scrollbar-width: thin;
671
- background: none;
672
- border: 0;
673
- border-radius: 1.75rem;
674
- padding: 1rem;
675
- position: fixed;
676
- top: 0;
677
- right: 0;
678
- overflow-y: auto;
679
- }
680
-
681
- .jsl-notification-container > div {
682
- flex-direction: column;
683
- gap: .75rem;
684
- display: flex;
685
- }
686
-
687
- .jsl-notification {
688
- --jsl-notification-tone: var(--jsl-color-text-secondary);
689
- box-sizing: border-box;
690
- border: 1px solid var(--jsl-color-border);
691
- background: var(--jsl-color-surface);
692
- width: 100%;
693
- color: var(--jsl-color-text);
694
- font: inherit;
695
- pointer-events: auto;
696
- border-radius: .75rem;
697
- grid-template-columns: 1.25rem minmax(0, 1fr) auto;
698
- align-items: start;
699
- gap: .75rem;
700
- padding: 1rem;
701
- font-size: .8125rem;
702
- line-height: 1.5;
703
- animation: .16s ease-out jsl-notification-appear;
704
- display: grid;
705
- position: relative;
706
- box-shadow: 0 8px 24px #0000001a, 0 1px 4px #0000000a;
707
- }
708
-
709
- .jsl-notification[hidden] {
710
- display: none;
711
- }
712
-
713
- .jsl-notification--info {
714
- --jsl-notification-tone: var(--jsl-color-info);
715
- }
716
-
717
- .jsl-notification--success {
718
- --jsl-notification-tone: var(--jsl-color-success);
719
- }
720
-
721
- .jsl-notification--warning {
722
- --jsl-notification-tone: var(--jsl-color-warning);
723
- }
724
-
725
- .jsl-notification--error {
726
- --jsl-notification-tone: var(--jsl-color-danger);
727
- }
728
-
729
- .jsl-notification-icon {
730
- box-sizing: border-box;
731
- width: 1.125rem;
732
- height: 1.125rem;
733
- color: var(--jsl-notification-tone);
734
- border: 1.5px solid;
735
- border-radius: 50%;
736
- place-items: center;
737
- margin-top: .125rem;
738
- font-size: .6875rem;
739
- font-weight: 700;
740
- line-height: 1;
741
- display: grid;
742
- }
743
-
744
- .jsl-notification--success .jsl-notification-icon {
745
- font-size: .75rem;
746
- }
747
-
748
- .jsl-notification-copy {
749
- overflow-wrap: anywhere;
750
- min-width: 0;
751
- }
752
-
753
- .jsl-notification-title {
754
- color: var(--jsl-color-text);
755
- margin-bottom: .25rem;
756
- font-weight: 600;
757
- }
758
-
759
- .jsl-notification-title[hidden] {
760
- display: none;
761
- }
762
-
763
- .jsl-notification-close {
764
- appearance: none;
765
- width: 1.5rem;
766
- height: 1.5rem;
767
- color: var(--jsl-color-text-muted);
768
- font: inherit;
769
- cursor: pointer;
770
- background: none;
771
- border: 0;
772
- border-radius: .25rem;
773
- place-items: center;
774
- margin: -.125rem -.25rem 0 0;
775
- padding: 0;
776
- font-size: 1.125rem;
777
- line-height: 1;
778
- display: grid;
779
- }
780
-
781
- .jsl-notification-close[hidden] {
782
- display: none;
783
- }
784
-
785
- .jsl-notification-progress {
786
- background: var(--jsl-color-border-subtle);
787
- pointer-events: none;
788
- border-radius: 999px;
789
- height: 3px;
790
- position: absolute;
791
- inset: auto 1rem .375rem;
792
- overflow: hidden;
793
- }
794
-
795
- .jsl-notification-progress-fill {
796
- background: var(--jsl-color-accent);
797
- transform-origin: 0;
798
- height: 100%;
799
- display: block;
800
- }
801
-
802
- .jsl-notification-close:hover {
803
- background: var(--jsl-color-surface-hover);
804
- color: var(--jsl-color-text);
805
- }
806
-
807
- .jsl-notification-close:focus-visible, .jsl-notification:focus-visible {
808
- outline: 2px solid var(--jsl-color-focus);
809
- outline-offset: 2px;
810
- }
811
-
812
- @keyframes jsl-notification-appear {
813
- from {
814
- opacity: 0;
815
- transform: translateY(-4px);
816
- }
817
-
818
- to {
819
- opacity: 1;
820
- transform: translateY(0);
821
- }
822
- }
823
-
824
- @media (prefers-reduced-motion: reduce) {
825
- .jsl-notification {
826
- animation: none;
827
- }
828
- }
829
-
830
- .slick-header.ui-state-default, .slick-headerrow.ui-state-default, .slick-footerrow.ui-state-default, .slick-top-panel-scroller.ui-state-default, .slick-group-header.ui-state-default {
831
- background: var(--jsl-color-surface);
832
- width: 100%;
833
- position: relative;
834
- overflow: auto;
835
- border-left: 0 !important;
836
- }
837
-
838
- .slick-header.ui-state-default {
839
- overflow: inherit;
840
- }
841
-
842
- .slick-header::-webkit-scrollbar {
843
- display: none;
844
- }
845
-
846
- .slick-headerrow::-webkit-scrollbar {
847
- display: none;
848
- }
849
-
850
- .slick-footerrow::-webkit-scrollbar {
851
- display: none;
852
- }
853
-
854
- .slick-header-columns, .slick-headerrow-columns, .slick-footerrow-columns, .slick-group-header-columns {
855
- white-space: nowrap;
856
- cursor: default;
857
- position: relative;
858
- overflow: hidden;
859
- }
860
-
861
- .slick-header-column.ui-state-default, .slick-group-header-column.ui-state-default {
862
- text-overflow: ellipsis;
863
- border-right: 1px solid var(--jsl-color-border-subtle);
864
- border-top: 1px solid var(--jsl-color-border-subtle);
865
- float: left;
866
- height: 20px;
867
- margin: 0;
868
- padding: 4px;
869
- line-height: 20px;
870
- position: relative;
871
- overflow: hidden;
872
- box-sizing: content-box !important;
873
- border-bottom: 0 !important;
874
- border-left: 0 !important;
875
- }
876
-
877
- .slick-header-column.ui-state-default {
878
- height: var(--jsl-grid-header-height, 26px);
879
- line-height: var(--jsl-grid-header-height, 26px);
880
- }
881
-
882
- .slick-footerrow-column.ui-state-default {
883
- text-overflow: ellipsis;
884
- border-right: 1px solid var(--jsl-color-border-subtle);
885
- float: left;
886
- vertical-align: middle;
887
- border-top: 0;
888
- border-bottom: 0;
889
- border-left: 0;
890
- align-content: center;
891
- height: auto;
892
- margin: 0;
893
- padding: 4px;
894
- line-height: 20px;
895
- top: 0;
896
- bottom: 0;
897
- }
898
-
899
- .slick-headerrow-column.ui-state-default, .slick-footerrow-column.ui-state-default {
900
- padding: 4px;
901
- }
902
-
903
- .slick-header-column-sorted {
904
- font-style: inherit;
905
- }
906
-
907
- .slick-sort-indicator {
908
- float: left;
909
- width: 8px;
910
- height: 5px;
911
- margin-top: 6px;
912
- margin-left: 4px;
913
- }
914
-
915
- .slick-sort-indicator-numbered {
916
- float: left;
917
- width: 8px;
918
- height: 5px;
919
- color: var(--jsl-color-text-secondary);
920
- margin-top: 0;
921
- margin-left: 4px;
922
- font-style: normal;
923
- font-weight: bold;
924
- line-height: 20px;
925
- }
926
-
927
- .grid-canvas {
928
- outline: 0;
929
- position: relative;
930
- }
931
-
932
- .slick-row.ui-widget-content, .slick-row.ui-state-active {
933
- border: 0;
934
- width: 100%;
935
- position: absolute;
936
- }
937
-
938
- .slick-cell, .slick-headerrow-column, .slick-footerrow-column {
939
- border: 1px solid #0000;
940
- border-right: 1px dotted var(--jsl-color-border-subtle);
941
- text-overflow: ellipsis;
942
- vertical-align: middle;
943
- z-index: 1;
944
- white-space: nowrap;
945
- cursor: default;
946
- margin: 0;
947
- padding: 1px 2px 1px 1px;
948
- position: absolute;
949
- overflow: hidden;
950
- box-sizing: content-box !important;
951
- }
952
-
953
- .slick-headerrow-column {
954
- border-bottom-color: var(--jsl-color-border-subtle);
955
- }
956
-
957
- .slick-footerrow-column {
958
- border-top-color: var(--jsl-color-border-subtle);
959
- }
960
-
961
- .slick-group-toggle {
962
- display: inline-block;
963
- }
964
-
965
- .slick-cell.highlighted {
966
- background: var(--jsl-color-surface-selected);
967
- -o-transition: all .5s;
968
- transition: all .5s;
969
- }
970
-
971
- .slick-cell.flashing {
972
- border: 1px solid var(--jsl-color-danger) !important;
973
- }
974
-
975
- .slick-cell.editable {
976
- z-index: 11;
977
- overflow: visible;
978
- }
979
-
980
- .slick-cell:focus {
981
- outline: none;
982
- }
983
-
984
- .slick-reorder-proxy {
985
- background: var(--jsl-color-accent);
986
- opacity: .15;
987
- filter: alpha(opacity = 15);
988
- cursor: move;
989
- display: inline-block;
990
- }
991
-
992
- .slick-reorder-guide {
993
- background: var(--jsl-color-accent);
994
- opacity: .7;
995
- height: 2px;
996
- filter: alpha(opacity = 70);
997
- display: inline-block;
998
- }
999
-
1000
- .slick-selection {
1001
- z-index: 10;
1002
- border: 2px dashed var(--jsl-color-focus);
1003
- position: absolute;
1004
- }
1005
-
1006
- .slick-pane {
1007
- outline: 0;
1008
- width: 100%;
1009
- position: absolute;
1010
- overflow: hidden;
1011
- }
1012
-
1013
- .slick-pane-header {
1014
- display: block;
1015
- }
1016
-
1017
- .slick-header, .slick-headerrow, .slick-top-panel-scroller {
1018
- position: relative;
1019
- overflow: hidden;
1020
- }
1021
-
1022
- .slick-top-panel {
1023
- width: 10000px;
1024
- }
1025
-
1026
- .slick-viewport {
1027
- background: var(--jsl-color-surface);
1028
- outline: 0;
1029
- width: 100%;
1030
- position: relative;
1031
- }
1032
-
1033
- .slick-wrap {
1034
- white-space: normal;
1035
- }
1036
-
1037
- input.editor-text, textarea.editor-text {
1038
- resize: none;
1039
- background: none;
1040
- border: 0;
1041
- outline: 0;
1042
- width: 100%;
1043
- height: 100%;
1044
- margin: 0;
1045
- padding: 0;
1046
- }
1047
-
1048
- .slick-cell .jsl-container {
1049
- position: absolute;
1050
- inset: 0;
1051
- }
1052
-
1053
- .slick-cell .jsl-container .jsl-selected {
1054
- padding: 0;
1055
- }
1056
-
1057
- .slickgrid {
1058
- box-sizing: border-box;
1059
- border: solid 1px var(--jsl-color-border);
1060
- border-radius: 3px;
1061
- }
1062
-
1063
- .slick-col-ghost {
1064
- box-sizing: content-box;
1065
- pointer-events: none;
1066
- position: absolute;
1067
- }
1068
-
1069
- .slick-ghost-content {
1070
- border: solid 2px var(--jsl-color-border);
1071
- background: var(--jsl-color-surface-selected);
1072
- position: absolute;
1073
- left: 0;
1074
- right: 0;
1075
- }
1076
-
1077
- .editor-text {
1078
- font-size: 100%;
1079
- }
1080
-
1081
- .slick-filtered-header {
1082
- color: var(--jsl-color-accent);
1083
- background: var(--jsl-color-surface-selected);
1084
- }
1085
-
1086
- .slick-preheader-panel .slick-column-name {
1087
- text-align: center;
1088
- float: none;
1089
- }
1090
-
1091
- .slick-header-column.resizable > .rs-r {
1092
- background: none;
1093
- }
1094
-
1095
- .js-touch .slick-header-column > .slick-header-menubutton {
1096
- display: inline-block;
1097
- }
1098
-
1099
- .js-touch .slick-header-column.resizable > .rs-r {
1100
- background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsIAAA7CARUoSoAAAAMNSURBVEhLxVY7i1NBGM3NwzyMINiIjSKoC9tIBEG02FgkIeSxpJBlS7sV1s5fIRZqYWFhtYssEggJ5IEaFxERYdXWam1EkQVh82Lz8pzJl3jvzb1JjK8DA/lOZuacO/PNN+Po9/tT29LSktuKt2vov4B2xeo/c3M6piASiawHg8G9eDweEmoi2A/936G9wNg1oW2h0YUdKB4IBO45nU5Ht9s9ACLFYnFb/h4DxT0ez2uXy3WIca/XczQajZuVSuW+6mABWwPRaPSa3+9/DHFNKEe73a7XarWj1Wq1I5QByWQyBwMpCRVoAubL4K9ns9nPQo9guQVW4pwIK7BuJ05AZK3T6exIqMDVAx8Fn89kMieEHmHMQCwWuwrxTbM4l7JcLj8SyhL8QrfbncRKbXGMHuBDMLFtNmHYAor7fL4KxF1CKWDCcj6fj0k4EyR/7uo/hICJXZi5PNyO0Qowgbxeb8ksjgEfuH8SzgwmXrPZXMFKGJIM4qeQE+/T6fRJxmoFwuHwcRybjxA6onoJzG7ngeQTt9TwYcin3Xq9fkZLJBLnEL+C02MQG/wLaJr2HYMWf0d8CJyON5jrooQK/HC0r1oqlarh3B4W/p/D+T/Fiaml+G9jZIB7guwctT8NzNnTz48E5/Het80BZOnbQqFgSJx5wMIDsWdI8AWhFCiOsn6WK7AIR3sD+icwIIQjlJFwLoh43iyOE9eFgWWU9S/OXC73CdwFmPg2+HsAnluc3yc8x0L9MiBymx8ioQLFW61WpFQqPWescoAmsA3nWXgYDwETGi8lllWhZgbfAphzVUIFVkVUx9WhOGG4C2TJXsL1aaEUMJCJs4lKeWuWwmRzm1J8BRfallAKY+8B3b6NvYDA74BPTjKBCy2OC61gEudtegP3wwOhRhirA5ycIrwBOVAPmgL/UEJLYJU2LMT5KhoTJywLEU3w+uVAvQn8ZvbekdASWKVlbNeBhNy68qQnmaWBITiQJiBK4Y4+e+3ANyP6XkLbR3s69SqXW2li4xN71mf2sKG/z4o3tr7jB/mDdb4DhXtsAAAAAElFTkSuQmCC") 100% / .5em .3em no-repeat;
1101
- width: 1.2rem;
1102
- }
1103
-
1104
- .js-touch .slick-header-menubutton.resize-offset {
1105
- width: 1.2rem;
1106
- right: 1.2rem;
1107
- }
1108
-
1109
- .slick-header-columns {
1110
- border-bottom: 2px solid var(--jsl-color-border-subtle);
1111
- background: var(--jsl-color-surface-subtle);
1112
- }
1113
-
1114
- .slick-header-column {
1115
- border-right: 1px solid var(--jsl-color-border-subtle);
1116
- text-align: inherit;
1117
- font-weight: 600;
1118
- }
1119
-
1120
- .slick-header-column:hover, .slick-header-column-active {
1121
- background: var(--jsl-color-surface-hover);
1122
- color: var(--jsl-color-text);
1123
- }
1124
-
1125
- .slick-header-column > .slick-header-menubutton:hover {
1126
- background-color: var(--jsl-color-surface-selected);
1127
- }
1128
-
1129
- .slick-headerrow {
1130
- background: var(--jsl-color-surface-subtle);
1131
- }
1132
-
1133
- .slick-headerrow-column {
1134
- background: var(--jsl-color-surface-subtle);
1135
- border-bottom: 0;
1136
- height: 100%;
1137
- }
1138
-
1139
- .slick-row {
1140
- background: var(--jsl-color-surface);
1141
- line-height: inherit;
1142
- border: 0;
1143
- align-items: center;
1144
- display: flex;
1145
- position: absolute;
1146
- }
1147
-
1148
- .slick-row.selected {
1149
- z-index: 10;
1150
- background: var(--jsl-color-surface-selected);
1151
- }
1152
-
1153
- .slick-cell {
1154
- align-content: center;
1155
- padding-left: 4px;
1156
- padding-right: 4px;
1157
- }
1158
-
1159
- .slick-group {
1160
- border-bottom: 2px solid var(--jsl-color-border-subtle);
1161
- }
1162
-
1163
- .slick-group .slick-cell {
1164
- background: var(--jsl-color-surface-selected);
1165
- align-items: center;
1166
- display: flex;
1167
- }
1168
-
1169
- .slick-group-toggle {
1170
- vertical-align: middle;
1171
- flex-shrink: 0;
1172
- width: 20px;
1173
- height: 20px;
1174
- margin-right: 5px;
1175
- }
1176
-
1177
- .slick-group-toggle.expanded {
1178
- background-color: currentColor;
1179
- mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 122.88 119.8'%3E%3Cpath d='M23.59,0h75.7a23.63,23.63,0,0,1,23.59,23.59V96.21A23.64,23.64,0,0,1,99.29,119.8H23.59a23.53,23.53,0,0,1-16.67-6.93l-.38-.42A23.49,23.49,0,0,1,0,96.21V23.59A23.63,23.63,0,0,1,23.59,0Zm59.7,53.51a6.39,6.39,0,1,1,0,12.77H39.59a6.39,6.39,0,1,1,0-12.77Zm16-40.74H23.59A10.86,10.86,0,0,0,12.77,23.59V96.21a10.77,10.77,0,0,0,2.9,7.37l.28.26A10.76,10.76,0,0,0,23.59,107h75.7a10.87,10.87,0,0,0,10.82-10.82V23.59A10.86,10.86,0,0,0,99.29,12.77Z'/%3E%3C/svg%3E") center / contain no-repeat;
1180
- }
1181
-
1182
- .slick-group-toggle.collapsed {
1183
- background-color: currentColor;
1184
- mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' x='0px' y='0px' viewBox='0 0 122.88 119.72' style='enable-background:new 0 0 122.88 119.72' xml:space='preserve'%3E%3Cg%3E%3Cpath d='M22.72,0h77.45c6.25,0,11.93,2.56,16.05,6.67c4.11,4.11,6.67,9.79,6.67,16.05v74.29c0,6.25-2.56,11.93-6.67,16.05 l-0.32,0.29c-4.09,3.94-9.64,6.38-15.73,6.38H22.72c-6.25,0-11.93-2.56-16.05-6.67l-0.3-0.32C2.43,108.64,0,103.09,0,97.01V22.71 c0-6.25,2.55-11.93,6.67-16.05C10.78,2.55,16.46,0,22.72,0L22.72,0z M55.47,38.34c0-3.3,2.67-5.97,5.97-5.97 c3.3,0,5.97,2.67,5.97,5.97v15.55h15.55c3.3,0,5.97,2.67,5.97,5.97c0,3.3-2.67,5.97-5.97,5.97H67.41v15.55 c0,3.3-2.67,5.97-5.97,5.97c-3.3,0-5.97-2.67-5.97-5.97V65.83H39.91c-3.3,0-5.97-2.67-5.97-5.97c0-3.3,2.67-5.97,5.97-5.97h15.55 V38.34L55.47,38.34z M100.16,10.24H22.72c-3.43,0-6.54,1.41-8.81,3.67c-2.26,2.26-3.67,5.38-3.67,8.81v74.29 c0,3.33,1.31,6.35,3.43,8.59l0.24,0.22c2.26,2.26,5.38,3.67,8.81,3.67h77.45c3.32,0,6.35-1.31,8.59-3.44l0.21-0.23 c2.26-2.26,3.67-5.38,3.67-8.81V22.71c0-3.42-1.41-6.54-3.67-8.81C106.71,11.65,103.59,10.24,100.16,10.24L100.16,10.24z'/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat;
1185
- }
1186
-
1187
- .slick-group-totals {
1188
- color: var(--jsl-color-text-secondary);
1189
- background: var(--jsl-color-surface);
1190
- }
1191
-
1192
- .slick-group-select-checkbox {
1193
- width: 13px;
1194
- height: 13px;
1195
- margin: 3px 10px 0 0;
1196
- display: inline-block;
1197
- }
1198
-
1199
- .slick-cell.selected {
1200
- background-color: var(--jsl-color-surface-selected);
1201
- }
1202
-
1203
- .slick-cell.active {
1204
- border-color: var(--jsl-color-focus);
1205
- border-style: solid;
1206
- }
1207
-
1208
- .slick-sortable-placeholder {
1209
- background: var(--jsl-color-surface-selected) !important;
1210
- }
1211
-
1212
- .slick-row.odd {
1213
- background: var(--jsl-color-surface-subtle);
1214
- }
1215
-
1216
- .slick-row.ui-state-active {
1217
- background: var(--jsl-color-surface-selected);
1218
- }
1219
-
1220
- .slick-row.loading {
1221
- opacity: .5;
1222
- filter: alpha(opacity = 50);
1223
- }
1224
-
1225
- .slick-cell.invalid {
1226
- border-color: var(--jsl-color-danger);
1227
- animation-name: slickgrid-invalid-hilite;
1228
- animation-duration: .2s;
1229
- }
1230
-
1231
- @keyframes slickgrid-invalid-hilite {
1232
- from {
1233
- box-shadow: 0 0 6px var(--jsl-color-danger);
1234
- }
1235
-
1236
- to {
1237
- box-shadow: none;
1238
- }
1239
- }
1240
-
1241
- .new-row .slick-cell {
1242
- border-top: solid 1px var(--jsl-color-border);
1243
- background: var(--jsl-color-surface-selected);
1244
- }
1245
-
1246
- .slickgrid {
1247
- font: inherit;
1248
- color: var(--jsl-color-text);
1249
- background: var(--jsl-color-surface);
1250
- }
1251
-
1252
- .slick-row:not(.slick-group):not(.slick-group-totals) > .slick-cell:not(.active):not(.invalid):not(.flashing) {
1253
- border-right-color: #0000;
1254
- }
1255
-
1256
- .slickgrid .right {
1257
- text-align: right;
1258
- }
1259
-
1260
- .slickgrid .center {
1261
- text-align: center;
1262
- }
1263
-
1264
- .slickgrid .tabular-nums {
1265
- font-variant-numeric: tabular-nums;
1266
- }
1267
-
1268
- .slick-header-column .slick-column-name {
1269
- float: none;
1270
- text-overflow: ellipsis;
1271
- vertical-align: top;
1272
- max-width: 100%;
1273
- margin-bottom: 0;
1274
- display: inline-block;
1275
- overflow: hidden;
1276
- }
1277
-
1278
- .slick-header-sortable .slick-column-name {
1279
- max-width: calc(100% - 1.25rem);
1280
- }
1281
-
1282
- .slick-header-column .slick-sort-indicator, .slick-header-column .slick-sort-indicator-numbered {
1283
- float: none;
1284
- vertical-align: top;
1285
- height: var(--jsl-grid-header-height, 26px);
1286
- line-height: var(--jsl-grid-header-height, 26px);
1287
- color: var(--jsl-color-accent);
1288
- margin: 0 0 0 .375rem;
1289
- display: inline-block;
1290
- position: relative;
1291
- }
1292
-
1293
- .slick-header-column .slick-sort-indicator {
1294
- width: .65rem;
1295
- }
1296
-
1297
- .slick-header-column.right .slick-sort-indicator, .slick-header-column.right .slick-sort-indicator-numbered {
1298
- float: left;
1299
- margin-left: 0;
1300
- margin-right: .375rem;
1301
- }
1302
-
1303
- .slick-sort-indicator-asc:before, .slick-sort-indicator-desc:before {
1304
- content: "";
1305
- background: currentColor;
1306
- width: 8px;
1307
- height: 5px;
1308
- position: absolute;
1309
- top: 50%;
1310
- left: 0;
1311
- transform: translateY(-50%);
1312
- }
1313
-
1314
- .slick-sort-indicator-asc:before {
1315
- clip-path: polygon(50% 0, 100% 100%, 0 100%);
1316
- }
1317
-
1318
- .slick-sort-indicator-desc:before {
1319
- clip-path: polygon(0 0, 100% 0, 50% 100%);
1320
- }
1321
-
1322
- .slick-header-column .slick-sort-indicator-numbered {
1323
- width: auto;
1324
- min-width: .65rem;
1325
- font-size: .8em;
1326
- }
1327
-
1328
- .slick-header-column .slick-sort-indicator.slick-sort-indicator-numbered {
1329
- min-width: 1.5rem;
1330
- padding-left: .75rem;
1331
- }
1332
-
1333
- .slickgrid:has(.slick-header-column.frozen) > .slick-pane-left:after {
1334
- content: "";
1335
- background: var(--jsl-color-border);
1336
- pointer-events: none;
1337
- z-index: 20;
1338
- width: 1px;
1339
- position: absolute;
1340
- top: 0;
1341
- bottom: 0;
1342
- right: 0;
1343
- box-shadow: -2px 0 4px #00000014;
1344
- }
1345
-
1346
- .slick-header-menubutton {
1347
- cursor: pointer;
1348
- background-image: url("data:image/gif;base64,R0lGODlhDgAOAIABADtKYwAAACH5BAEAAAEALAAAAAAOAA4AAAISjI+py+0PHZgUsGobhTn6DxoFADs=");
1349
- background-position: 0;
1350
- background-repeat: no-repeat;
1351
- border-left: thin ridge silver;
1352
- width: 14px;
1353
- display: none;
1354
- position: absolute;
1355
- top: 0;
1356
- bottom: 0;
1357
- right: 0;
1358
- }
1359
-
1360
- .slick-header-menubutton.resize-offset {
1361
- right: .5rem;
1362
- }
1363
-
1364
- .slick-header-column:hover > .slick-header-menubutton, .slick-header-column-active .slick-header-menubutton {
1365
- display: inline-block;
1366
- }
1367
-
1368
- .slick-header-menu {
1369
- cursor: default;
1370
- margin: 0;
1371
- padding: 2px;
1372
- display: inline-block;
1373
- position: absolute;
1374
- }
1375
-
1376
- .slick-header-menuitem {
1377
- cursor: pointer;
1378
- margin: 0;
1379
- padding: 0;
1380
- list-style: none;
1381
- }
1382
-
1383
- .slick-header-menuicon {
1384
- vertical-align: middle;
1385
- background-position: center;
1386
- background-repeat: no-repeat;
1387
- width: 16px;
1388
- height: 16px;
1389
- margin-right: 4px;
1390
- display: inline-block;
1391
- }
1392
-
1393
- .slick-header-menucontent {
1394
- vertical-align: middle;
1395
- display: inline-block;
1396
- }
1397
-
1398
- .slick-header-menuitem-disabled {
1399
- color: silver;
1400
- }
1401
-
1402
- .slick-header-menuitem.slick-header-menuitem-divider {
1403
- cursor: default;
1404
- background-color: #cecece;
1405
- border: none;
1406
- height: 1px;
1407
- margin: 8px 2px;
1408
- padding: 0;
1409
- overflow: hidden;
1410
- }
1411
-
1412
- .slick-header-menuitem-divider.slick-header-menuitem:hover {
1413
- background-color: #cecece;
1414
- }
1415
-
1416
- .slick-header-menu {
1417
- z-index: 20;
1418
- background: #fff;
1419
- border: 1px solid #bebebe;
1420
- padding: 2px;
1421
- box-shadow: 2px 2px 2px silver;
1422
- }
1423
-
1424
- .slick-header-menuitem {
1425
- border-radius: 3px;
1426
- padding: 2px 4px;
1427
- }
1428
-
1429
- .slick-header-menuitem:hover {
1430
- color: #fff;
1431
- background: #3b99ff;
1432
- }
1433
-
1434
- .slick-header-menuitem-disabled {
1435
- background: inherit !important;
1436
- border-color: #0000 !important;
1437
- }
1438
-
1439
- .slick-column-name, .slick-sort-indicator {
1440
- float: left;
1441
- margin-bottom: 100px;
1442
- display: inline-block;
1443
- }
1444
-
1445
- .slick-header-button {
1446
- float: right;
1447
- vertical-align: top;
1448
- cursor: pointer;
1449
- background-position: center;
1450
- background-repeat: no-repeat;
1451
- width: 15px;
1452
- height: 15px;
1453
- margin: 1px 2rem 100px 1px;
1454
- display: inline-block;
1455
- }
1456
-
1457
- .slick-header-button-hidden {
1458
- width: 0;
1459
- transition: width .2s;
1460
- }
1461
-
1462
- .slick-header-column:hover > .slick-header-button {
1463
- width: 15px;
1464
- }
1465
-
1466
- .v-r-comp, .v-r-comp .v-r-child > * {
1467
- height: 100%;
1468
- }
1469
-
1470
- .cell-reorder {
1471
- cursor: move;
1472
- background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAMAAABhq6zVAAADAFBMVEUAAACWlpbY2NgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADmpIfcAAABAHRSTlP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AU/cHJQAAABlJREFUCNdj+I8EGFA5jHAA5DDBAW2VIQEAmyRUB6U7kZIAAAAASUVORK5CYII=");
1473
- background-position: center;
1474
- background-repeat: no-repeat;
1475
- }
1476
-
1477
- .header-overlay {
1478
- background-color: #217346;
1479
- }
1480
-
1481
- .cell-overlay, .selection-cell-overlay {
1482
- z-index: 20;
1483
- background-color: #217346;
1484
- display: block;
1485
- position: absolute;
1486
- }
1487
-
1488
- .handle-overlay {
1489
- z-index: 20;
1490
- cursor: crosshair;
1491
- background-color: #217346;
1492
- border: 1px solid #fff;
1493
- width: 2px;
1494
- height: 2px;
1495
- padding: 3px;
1496
- position: absolute;
1497
- }
1498
-
1499
- .overlay-handle-decorator {
1500
- z-index: 20;
1501
- border: 2px solid #217346;
1502
- }
1503
-
1504
- .select-comp {
1505
- box-sizing: border-box;
1506
- vertical-align: middle;
1507
- width: 14rem;
1508
- min-width: 0;
1509
- max-width: 100%;
1510
- min-height: 2.5rem;
1511
- color: var(--jsl-color-text);
1512
- font: inherit;
1513
- font-size: .875rem;
1514
- display: inline-flex;
1515
- position: relative;
1516
- }
1517
-
1518
- .select-comp *, .sel-comp-dd * {
1519
- box-sizing: border-box;
1520
- }
1521
-
1522
- .select-comp .sel-expander {
1523
- appearance: none;
1524
- width: 100%;
1525
- min-width: 0;
1526
- min-height: inherit;
1527
- border: 1px solid var(--jsl-color-border);
1528
- background: var(--jsl-color-surface);
1529
- color: inherit;
1530
- font: inherit;
1531
- text-align: left;
1532
- cursor: pointer;
1533
- border-radius: .5rem;
1534
- align-items: center;
1535
- gap: .625rem;
1536
- padding: .5rem .75rem;
1537
- line-height: 1.4;
1538
- transition: border-color .15s;
1539
- display: flex;
1540
- }
1541
-
1542
- .select-comp:has(.clear-btn:not([hidden])) .sel-expander {
1543
- padding-right: 3.5rem;
1544
- }
1545
-
1546
- .select-comp .sel-expander:hover:not(:disabled) {
1547
- border-color: var(--jsl-color-text-muted);
1548
- }
1549
-
1550
- .select-comp.expanded .sel-expander {
1551
- border-color: var(--jsl-color-accent);
1552
- }
1553
-
1554
- .select-comp .sel-expander:focus-visible, .select-comp .clear-btn:focus-visible {
1555
- outline: 2px solid var(--jsl-color-focus);
1556
- outline-offset: 2px;
1557
- }
1558
-
1559
- .select-comp .sel-result {
1560
- text-overflow: ellipsis;
1561
- white-space: nowrap;
1562
- flex: 1;
1563
- min-width: 0;
1564
- overflow: hidden;
1565
- }
1566
-
1567
- .select-comp .sel-placeholder {
1568
- color: var(--jsl-color-text-muted);
1569
- }
1570
-
1571
- .select-comp .sel-result > .sel-dd-item {
1572
- text-overflow: ellipsis;
1573
- display: block;
1574
- overflow: hidden;
1575
- }
1576
-
1577
- .select-comp .sel-chevron {
1578
- border: solid var(--jsl-color-text-muted);
1579
- border-width: 0 1.5px 1.5px 0;
1580
- flex: 0 0 7px;
1581
- width: 7px;
1582
- height: 7px;
1583
- margin-left: auto;
1584
- transform: rotate(45deg) translateY(-2px);
1585
- }
1586
-
1587
- .select-comp.expanded .sel-chevron {
1588
- transform: rotate(225deg) translate(-2px, -1px);
1589
- }
1590
-
1591
- .select-comp:has(.clear-btn:not([hidden])) .sel-chevron {
1592
- position: absolute;
1593
- right: .875rem;
1594
- }
1595
-
1596
- .select-comp .clear-btn {
1597
- appearance: none;
1598
- width: 1.5rem;
1599
- height: 1.5rem;
1600
- font: inherit;
1601
- color: var(--jsl-color-text-muted);
1602
- cursor: pointer;
1603
- background: none;
1604
- border: 0;
1605
- border-radius: .25rem;
1606
- place-items: center;
1607
- padding: 0;
1608
- font-size: 1.125rem;
1609
- line-height: 1;
1610
- display: grid;
1611
- position: absolute;
1612
- top: 50%;
1613
- right: 1.875rem;
1614
- transform: translateY(-50%);
1615
- }
1616
-
1617
- .select-comp .clear-btn:hover:not(:disabled) {
1618
- background: var(--jsl-color-surface-hover);
1619
- color: var(--jsl-color-text);
1620
- }
1621
-
1622
- .select-comp .clear-btn[hidden] {
1623
- display: none;
1624
- }
1625
-
1626
- .select-comp:is(.disabled, :has( > .sel-expander:disabled)) .sel-expander {
1627
- background: var(--jsl-color-disabled-surface);
1628
- color: var(--jsl-color-disabled-text);
1629
- cursor: not-allowed;
1630
- }
1631
-
1632
- .select-comp:is(.disabled, :has( > .sel-expander:disabled)) .clear-btn {
1633
- color: var(--jsl-color-disabled-text);
1634
- cursor: not-allowed;
1635
- }
1636
-
1637
- .select-comp:is(.disabled, :has( > .sel-expander:disabled)) .sel-result, .select-comp:is(.disabled, :has( > .sel-expander:disabled)) .sel-chevron {
1638
- opacity: .65;
1639
- }
1640
-
1641
- .select-comp.multiple .sel-result:not(.sel-placeholder) {
1642
- white-space: normal;
1643
- flex-wrap: wrap;
1644
- gap: .25rem;
1645
- display: flex;
1646
- }
1647
-
1648
- .select-comp.multiple .sel-expander {
1649
- padding-top: .375rem;
1650
- padding-bottom: .375rem;
1651
- }
1652
-
1653
- .sel-chip {
1654
- background: var(--jsl-color-surface-selected);
1655
- min-width: 0;
1656
- max-width: 100%;
1657
- color: var(--jsl-color-text-secondary);
1658
- text-overflow: ellipsis;
1659
- white-space: nowrap;
1660
- border-radius: .25rem;
1661
- padding: .125rem .4375rem;
1662
- font-size: .75rem;
1663
- line-height: 1.5;
1664
- display: inline-block;
1665
- overflow: hidden;
1666
- }
1667
-
1668
- .sel-chip-count {
1669
- color: var(--jsl-color-text-muted);
1670
- background: var(--jsl-color-surface-hover);
1671
- }
1672
-
1673
- .sel-comp-dd {
1674
- z-index: 2200;
1675
- box-sizing: border-box;
1676
- border: 1px solid var(--jsl-color-border);
1677
- background: var(--jsl-color-surface);
1678
- color: var(--jsl-color-text);
1679
- font: inherit;
1680
- border-radius: .625rem;
1681
- padding: 4px;
1682
- font-size: .875rem;
1683
- position: absolute;
1684
- overflow: hidden;
1685
- box-shadow: 0 12px 32px #0000001f, 0 2px 6px #0000000f;
1686
- }
1687
-
1688
- .sel-dd-panel {
1689
- flex-direction: column;
1690
- height: 100%;
1691
- min-height: 0;
1692
- display: flex;
1693
- }
1694
-
1695
- .sel-search {
1696
- flex: 0 0 44px;
1697
- padding: 3px 4px 7px;
1698
- }
1699
-
1700
- .sel-search[hidden] {
1701
- display: none;
1702
- }
1703
-
1704
- .sel-search input {
1705
- appearance: none;
1706
- border: 1px solid var(--jsl-color-border-subtle);
1707
- background: var(--jsl-color-surface-subtle);
1708
- width: 100%;
1709
- height: 34px;
1710
- color: var(--jsl-color-text);
1711
- font: inherit;
1712
- background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%2371717a' stroke-width='1.5' stroke-linecap='round'%3E%3Ccircle cx='7' cy='7' r='4.5'/%3E%3Cpath d='m10.5 10.5 3 3'/%3E%3C/svg%3E");
1713
- background-position: .625rem;
1714
- background-repeat: no-repeat;
1715
- border-radius: .375rem;
1716
- padding: .375rem .625rem .375rem 2rem;
1717
- font-size: .8125rem;
1718
- line-height: 1.4;
1719
- }
1720
-
1721
- .sel-search input::placeholder {
1722
- color: var(--jsl-color-text-muted);
1723
- }
1724
-
1725
- .sel-search input:focus {
1726
- border-color: var(--jsl-color-focus);
1727
- outline: 0;
1728
- }
1729
-
1730
- .sel-listbox {
1731
- outline: none;
1732
- flex: 1;
1733
- min-height: 0;
1734
- position: relative;
1735
- }
1736
-
1737
- .sel-comp-dd .sel-dd-items {
1738
- overscroll-behavior: contain;
1739
- scrollbar-width: thin;
1740
- }
1741
-
1742
- .sel-comp-dd .sel-dd-item {
1743
- text-overflow: ellipsis;
1744
- white-space: nowrap;
1745
- cursor: pointer;
1746
- border-radius: .375rem;
1747
- align-items: center;
1748
- height: 100%;
1749
- padding: 0 2rem 0 .625rem;
1750
- font-size: .8125rem;
1751
- line-height: 1.4;
1752
- display: flex;
1753
- position: relative;
1754
- overflow: hidden;
1755
- }
1756
-
1757
- .sel-comp-dd .sel-dd-item:hover:not(.sel-dd-group) {
1758
- background: var(--jsl-color-surface-hover);
1759
- }
1760
-
1761
- .sel-comp-dd .sel-dd-item.selected {
1762
- background: var(--jsl-color-surface-selected);
1763
- }
1764
-
1765
- .sel-comp-dd .sel-dd-item.focused {
1766
- outline: 1px solid var(--jsl-color-focus);
1767
- outline-offset: -2px;
1768
- }
1769
-
1770
- .sel-comp-dd .sel-dd-item.selected:after {
1771
- content: "";
1772
- border: solid var(--jsl-color-text);
1773
- border-width: 0 1.5px 1.5px 0;
1774
- width: 5px;
1775
- height: 9px;
1776
- position: absolute;
1777
- right: .875rem;
1778
- transform: rotate(45deg) translateY(-2px);
1779
- }
1780
-
1781
- .sel-comp-dd .multiple .sel-dd-item:not(.sel-dd-group) {
1782
- padding-left: 2rem;
1783
- padding-right: .625rem;
1784
- }
1785
-
1786
- .sel-comp-dd .multiple .sel-dd-item:not(.sel-dd-group):before {
1787
- content: "";
1788
- border: 1px solid var(--jsl-color-border);
1789
- background: var(--jsl-color-surface);
1790
- border-radius: .25rem;
1791
- width: 14px;
1792
- height: 14px;
1793
- position: absolute;
1794
- left: .625rem;
1795
- }
1796
-
1797
- .sel-comp-dd .multiple .sel-dd-item.selected:before {
1798
- border-color: var(--jsl-color-accent);
1799
- background: var(--jsl-color-accent);
1800
- }
1801
-
1802
- .sel-comp-dd .multiple .sel-dd-item.selected:after {
1803
- border-color: var(--jsl-color-on-accent);
1804
- width: 4px;
1805
- height: 7px;
1806
- left: .875rem;
1807
- right: auto;
1808
- }
1809
-
1810
- .sel-comp-dd .sel-dd-group {
1811
- color: var(--jsl-color-text-muted);
1812
- cursor: default;
1813
- padding: 0 .625rem;
1814
- font-size: .6875rem;
1815
- font-weight: 600;
1816
- }
1817
-
1818
- .sel-empty {
1819
- color: var(--jsl-color-text-muted);
1820
- text-align: center;
1821
- padding: 1.25rem .625rem;
1822
- font-size: .8125rem;
1823
- }
1824
-
1825
- .sel-empty[hidden] {
1826
- display: none;
1827
- }
1828
-
1829
- .sel-dd-animate {
1830
- animation: .12s ease-out jsl-select-appear;
1831
- }
1832
-
1833
- @keyframes jsl-select-appear {
1834
- from {
1835
- opacity: 0;
1836
- }
1837
-
1838
- to {
1839
- opacity: 1;
1840
- }
1841
- }
1842
-
1843
- @media (prefers-reduced-motion: reduce) {
1844
- .sel-dd-animate {
1845
- animation: none;
1846
- }
1847
-
1848
- .select-comp .sel-expander {
1849
- transition: none;
1850
- }
1851
- }
1852
-
1853
- @media (forced-colors: active) {
1854
- .sel-comp-dd .sel-dd-item.selected {
1855
- outline-offset: -2px;
1856
- outline: 2px solid highlight;
1857
- }
1858
-
1859
- .sel-chip {
1860
- border: 1px solid buttontext;
1861
- }
1862
- }
1863
-
1864
- .autocomplete-suggestions {
1865
- z-index: 2200;
1866
- box-sizing: border-box;
1867
- border: 1px solid var(--jsl-color-border);
1868
- background: var(--jsl-color-surface);
1869
- max-height: min(16rem, 100dvh - 1rem);
1870
- color: var(--jsl-color-text);
1871
- font: inherit;
1872
- text-align: left;
1873
- border-radius: .625rem;
1874
- padding: 4px;
1875
- font-size: .8125rem;
1876
- display: none;
1877
- position: absolute;
1878
- overflow-y: auto;
1879
- box-shadow: 0 12px 32px #0000001f, 0 2px 6px #0000000f;
1880
- }
1881
-
1882
- .autocomplete-suggestion {
1883
- white-space: nowrap;
1884
- text-overflow: ellipsis;
1885
- cursor: pointer;
1886
- border-radius: .375rem;
1887
- padding: .5rem .625rem;
1888
- line-height: 1.4;
1889
- position: relative;
1890
- overflow: hidden;
1891
- }
1892
-
1893
- .autocomplete-suggestion b {
1894
- color: inherit;
1895
- font-weight: 600;
1896
- }
1897
-
1898
- .autocomplete-suggestion.selected, .autocomplete-suggestion:hover {
1899
- background: var(--jsl-color-surface-selected);
1900
- }
1901
-
1902
- @media (prefers-reduced-motion: reduce) {
1903
- .jsl-input, .jsl-date-input {
1904
- transition: none;
1905
- }
1906
- }
1907
-
1908
- .progress-comp {
1909
- background: var(--jsl-color-border-subtle);
1910
- border-radius: 999px;
1911
- height: .5rem;
1912
- position: relative;
1913
- overflow: hidden;
1914
- }
1915
-
1916
- .progress-comp.has-label {
1917
- height: 1.25rem;
1918
- }
1919
-
1920
- .progress-comp .bar {
1921
- background: var(--jsl-color-accent);
1922
- border-radius: inherit;
1923
- height: 100%;
1924
- }
1925
-
1926
- .progress-comp .progress-label {
1927
- color: var(--jsl-color-text);
1928
- text-shadow: 0 0 3px var(--jsl-color-surface);
1929
- place-items: center;
1930
- font: 600 .75rem / 1.25rem sans-serif;
1931
- display: grid;
1932
- position: absolute;
1933
- inset: 0;
1934
- }
1935
-
1936
- .jsl-input, .jsl-date-input {
1937
- box-sizing: border-box;
1938
- border: 1px solid var(--jsl-color-border);
1939
- background-color: var(--jsl-color-surface);
1940
- width: 14rem;
1941
- min-width: 0;
1942
- max-width: 100%;
1943
- height: 2.5rem;
1944
- color: var(--jsl-color-text);
1945
- font: inherit;
1946
- border-radius: .5rem;
1947
- padding: .5rem .75rem;
1948
- font-size: .875rem;
1949
- line-height: 1.4;
1950
- transition: border-color .15s;
1951
- }
1952
-
1953
- .jsl-input:hover:not(:disabled), .jsl-date-input:hover:not(:disabled) {
1954
- border-color: var(--jsl-color-text-muted);
1955
- }
1956
-
1957
- .jsl-input:focus, .jsl-date-input:focus {
1958
- outline: 2px solid var(--jsl-color-focus);
1959
- outline-offset: 2px;
1960
- border-color: var(--jsl-color-accent);
1961
- }
1962
-
1963
- .jsl-input::placeholder, .jsl-date-input::placeholder {
1964
- color: var(--jsl-color-text-muted);
1965
- opacity: 1;
1966
- }
1967
-
1968
- .jsl-input:disabled, .jsl-date-input:disabled {
1969
- cursor: not-allowed;
1970
- background-color: var(--jsl-color-disabled-surface);
1971
- color: var(--jsl-color-disabled-text);
1972
- }
1973
-
1974
- .jsl-input[aria-invalid="true"] {
1975
- border-color: var(--jsl-color-danger);
1976
- }
1977
-
1978
- textarea.jsl-input {
1979
- resize: vertical;
1980
- height: auto;
1981
- min-height: 6rem;
1982
- }
1983
-
1984
- .jsl-input[type="color"] {
1985
- cursor: pointer;
1986
- width: 4rem;
1987
- padding: .25rem;
1988
- }
1989
-
1990
- .jsl-input[type="number"], .jsl-input.jsl-number {
1991
- font-variant-numeric: tabular-nums;
1992
- }
1993
-
1994
- @media (prefers-reduced-motion: reduce) {
1995
- .jsl-input, .jsl-date-input {
1996
- transition: none;
1997
- }
1998
- }
1999
-
2000
- .jsl-date-input {
2001
- font-variant-numeric: tabular-nums;
2002
- width: 11rem;
2003
- }
2004
-
2005
- .date-comp {
2006
- background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='none' stroke='%2371717a' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2.5' y='4' width='13' height='12' rx='2'/%3E%3Cpath d='M6 2v4M12 2v4M3 8h12'/%3E%3C/svg%3E");
2007
- background-position: right .7rem center;
2008
- background-repeat: no-repeat;
2009
- padding-right: 2.4rem;
2010
- }
2011
-
2012
- .jsl-date-input:disabled {
2013
- opacity: .75;
2014
- }
2015
-
2016
- .jsl-date-input[aria-invalid="true"] {
2017
- border-style: dashed;
2018
- border-width: 2px;
2019
- }
2020
-
2021
- .time-comp {
2022
- text-align: center;
2023
- width: 6rem;
2024
- }
2025
-
2026
- .time-comp-seconds {
2027
- width: 7.5rem;
2028
- }
2029
-
2030
- .date-time-comp {
2031
- flex-wrap: wrap;
2032
- align-items: center;
2033
- gap: .5rem;
2034
- max-width: 100%;
2035
- display: inline-flex;
2036
- }
2037
-
2038
- .date-time-comp .date-comp {
2039
- flex: 10rem;
2040
- }
2041
-
2042
- .date-time-comp .time-comp {
2043
- flex: 0 0 6rem;
2044
- }
2045
-
2046
- .date-time-comp .time-comp-seconds {
2047
- flex-basis: 7.5rem;
2048
- }
2049
-
2050
- .expander-comp {
2051
- box-sizing: border-box;
2052
- border: 1px solid var(--jsl-color-border-subtle);
2053
- background: var(--jsl-color-surface);
2054
- max-width: 100%;
2055
- color: var(--jsl-color-text);
2056
- font: inherit;
2057
- border-radius: .625rem;
2058
- font-size: .875rem;
2059
- line-height: 1.5;
2060
- }
2061
-
2062
- .expander-comp > .header {
2063
- border-radius: inherit;
2064
- align-items: center;
2065
- gap: .5rem;
2066
- min-height: 3rem;
2067
- padding: .5rem .875rem .5rem .625rem;
2068
- display: flex;
2069
- }
2070
-
2071
- .expander-comp.toggle-on-header > .header {
2072
- cursor: pointer;
2073
- }
2074
-
2075
- .expander-comp.toggle-on-header:not(.disabled) > .header:hover {
2076
- background: var(--jsl-color-surface-hover);
2077
- }
2078
-
2079
- .expander-comp > .header > .toggler {
2080
- appearance: none;
2081
- min-width: 2rem;
2082
- min-height: 2rem;
2083
- color: var(--jsl-color-text-secondary);
2084
- font: inherit;
2085
- cursor: pointer;
2086
- background: none;
2087
- border: 0;
2088
- border-radius: .375rem;
2089
- flex: none;
2090
- place-items: center;
2091
- margin: 0;
2092
- padding: .25rem;
2093
- line-height: 1;
2094
- display: inline-grid;
2095
- }
2096
-
2097
- .expander-comp > .header > .toggler:hover:not(:disabled) {
2098
- background: var(--jsl-color-surface-selected);
2099
- }
2100
-
2101
- .expander-comp > .header > .toggler:focus-visible {
2102
- outline: 2px solid var(--jsl-color-focus);
2103
- outline-offset: 2px;
2104
- }
2105
-
2106
- .expander-comp > .header > .content {
2107
- overflow-wrap: anywhere;
2108
- flex: 1;
2109
- min-width: 0;
2110
- font-weight: 500;
2111
- }
2112
-
2113
- .expander-icon, .expand-collapse-icon {
2114
- place-items: center;
2115
- display: inline-grid;
2116
- }
2117
-
2118
- .expand-collapse-icon {
2119
- width: 1rem;
2120
- height: 1rem;
2121
- }
2122
-
2123
- .expander-chevron {
2124
- border: 1.5px solid;
2125
- border-width: 0 1.5px 1.5px 0;
2126
- width: 37.5%;
2127
- height: 37.5%;
2128
- display: block;
2129
- transform: rotate(-45deg);
2130
- }
2131
-
2132
- .expand-collapse-icon.is-expanded .expander-chevron {
2133
- transform: rotate(45deg) translate(-1px, -1px);
2134
- }
2135
-
2136
- .expander-comp > .body {
2137
- border-top: 1px solid var(--jsl-color-border-subtle);
2138
- overflow-wrap: anywhere;
2139
- padding: 1rem 1.125rem;
2140
- }
2141
-
2142
- .expander-comp > .body[hidden] {
2143
- display: none;
2144
- }
2145
-
2146
- .expander-comp.expanded > .body {
2147
- animation: .14s ease-out jsl-expander-appear;
2148
- }
2149
-
2150
- .expander-comp.disabled > .header {
2151
- color: var(--jsl-color-disabled-text);
2152
- cursor: default;
2153
- background: var(--jsl-color-disabled-surface);
2154
- }
2155
-
2156
- .expander-comp > .header > .toggler:disabled {
2157
- color: var(--jsl-color-disabled-text);
2158
- cursor: not-allowed;
2159
- }
2160
-
2161
- @keyframes jsl-expander-appear {
2162
- from {
2163
- opacity: 0;
2164
- }
2165
-
2166
- to {
2167
- opacity: 1;
2168
- }
2169
- }
2170
-
2171
- @media (prefers-reduced-motion: reduce) {
2172
- .expander-comp.expanded > .body {
2173
- animation: none;
2174
- }
2175
- }
2176
-
2177
- .jsl-loading {
2178
- max-width: 100%;
2179
- color: var(--jsl-color-text-secondary);
2180
- font: inherit;
2181
- vertical-align: middle;
2182
- justify-content: center;
2183
- align-items: center;
2184
- gap: .625rem;
2185
- display: inline-flex;
2186
- }
2187
-
2188
- .lds-dual-ring {
2189
- width: var(--jsl-loading-size, 1em);
2190
- height: var(--jsl-loading-size, 1em);
2191
- flex-shrink: 0;
2192
- max-width: 100%;
2193
- display: inline-block;
2194
- position: relative;
2195
- }
2196
-
2197
- .lds-dual-ring:after {
2198
- content: "";
2199
- box-sizing: border-box;
2200
- border: max(2px, calc(var(--jsl-loading-size, 1em) * .08)) solid var(--jsl-color-border-subtle);
2201
- border-top-color: var(--jsl-loading-color, var(--jsl-color-accent));
2202
- border-right-color: var(--jsl-loading-color, var(--jsl-color-accent));
2203
- border-radius: 50%;
2204
- animation: .85s linear infinite jsl-loading-spin;
2205
- position: absolute;
2206
- inset: 0;
2207
- }
2208
-
2209
- .jsl-loading-label {
2210
- font-size: .8125rem;
2211
- line-height: 1.5;
2212
- }
2213
-
2214
- .jsl-loading-label-hidden {
2215
- clip-path: inset(50%);
2216
- white-space: nowrap;
2217
- border: 0;
2218
- width: 1px;
2219
- height: 1px;
2220
- margin: -1px;
2221
- padding: 0;
2222
- position: absolute;
2223
- overflow: hidden;
2224
- }
2225
-
2226
- @keyframes jsl-loading-spin {
2227
- to {
2228
- transform: rotate(360deg);
2229
- }
2230
- }
2231
-
2232
- @media (prefers-reduced-motion: reduce) {
2233
- .lds-dual-ring:after {
2234
- animation: none;
2235
- }
2236
- }
2237
-
2238
- .form-field {
2239
- min-width: 0;
2240
- max-width: 100%;
2241
- color: var(--jsl-color-text);
2242
- font: inherit;
2243
- flex-direction: column;
2244
- gap: .375rem;
2245
- margin: 0 0 1rem;
2246
- font-size: .875rem;
2247
- display: flex;
2248
- position: relative;
2249
- }
2250
-
2251
- .form-field__label {
2252
- color: var(--jsl-color-text-secondary);
2253
- font-size: .75rem;
2254
- font-weight: 500;
2255
- line-height: 1.5;
2256
- display: block;
2257
- }
2258
-
2259
- .form-field__required {
2260
- color: var(--jsl-color-text-muted);
2261
- }
2262
-
2263
- .form-field__required[hidden] {
2264
- display: none;
2265
- }
2266
-
2267
- .form-field__control {
2268
- border: 0;
2269
- min-width: 0;
2270
- margin: 0;
2271
- padding: 0;
2272
- display: block;
2273
- }
2274
-
2275
- .form-field__control > .jsl-input, .form-field__control > .jsl-date-input, .form-field__control > .select-comp, .form-field__control > .date-time-comp {
2276
- width: 100%;
2277
- }
2278
-
2279
- .form-field__description, .form-field__error {
2280
- color: var(--jsl-color-text-muted);
2281
- font-size: .75rem;
2282
- line-height: 1.5;
2283
- }
2284
-
2285
- .form-field__error {
2286
- color: var(--jsl-color-danger);
2287
- }
2288
-
2289
- .form-field__description[hidden], .form-field__error[hidden] {
2290
- display: none;
2291
- }
2292
-
2293
- .form-field--invalid > .form-field__label {
2294
- color: var(--jsl-color-danger);
2295
- }
2296
-
2297
- .form-field--invalid > .form-field__control .sel-expander {
2298
- border-color: var(--jsl-color-danger);
2299
- }
2300
-
2301
- .form-field--floating {
2302
- padding-top: .5rem;
2303
- }
2304
-
2305
- .form-field--floating > .form-field__label {
2306
- z-index: 1;
2307
- background: var(--jsl-color-surface);
2308
- max-width: calc(100% - 1.25rem);
2309
- padding: 0 .25rem;
2310
- position: absolute;
2311
- top: 0;
2312
- left: .625rem;
2313
- }
2314
-
2315
- .form-field:has(.form-field__control:disabled) > .form-field__label {
2316
- color: var(--jsl-color-disabled-text);
2317
- }
2318
-
2319
- .treeview-comp {
2320
- color: var(--jsl-color-text);
2321
- font: inherit;
2322
- font-size: .875rem;
2323
- line-height: 1.5;
2324
- }
2325
-
2326
- .treeview-comp .tv-ul {
2327
- margin: 0;
2328
- padding: 0;
2329
- list-style: none;
2330
- }
2331
-
2332
- .treeview-comp .tv-ul .tv-ul {
2333
- border-left: 1px solid var(--jsl-color-border-subtle);
2334
- margin-left: 1rem;
2335
- padding-left: .5rem;
2336
- }
2337
-
2338
- .treeview-comp [hidden] {
2339
- display: none;
2340
- }
2341
-
2342
- .tv-row {
2343
- cursor: pointer;
2344
- overflow-wrap: anywhere;
2345
- border-radius: .375rem;
2346
- align-items: center;
2347
- gap: .625rem;
2348
- padding: .375rem .625rem;
2349
- display: flex;
2350
- }
2351
-
2352
- .tv-row:hover {
2353
- background: var(--jsl-color-surface-hover);
2354
- }
2355
-
2356
- .tv-row.is-selected {
2357
- background: var(--jsl-color-surface-selected);
2358
- }
2359
-
2360
- .tv-row:focus-visible {
2361
- outline: 2px solid var(--jsl-color-focus);
2362
- outline-offset: -2px;
2363
- }
2364
-
2365
- .tv-chevron {
2366
- border-right: 1.5px solid var(--jsl-color-text-muted);
2367
- border-bottom: 1.5px solid var(--jsl-color-text-muted);
2368
- flex: 0 0 .375rem;
2369
- width: .375rem;
2370
- height: .375rem;
2371
- margin-right: .25rem;
2372
- transform: rotate(-45deg);
2373
- }
2374
-
2375
- .tv-row[aria-expanded="true"] > .tv-chevron {
2376
- transform: translateY(-.125rem) rotate(45deg);
2377
- }
2378
-
2379
- .tv-leaf {
2380
- border-color: #0000;
2381
- }
2382
-
2383
- .stabcomponent {
2384
- min-width: 0;
2385
- max-width: 100%;
2386
- color: var(--jsl-color-text);
2387
- }
2388
-
2389
- .stabcomponent > .tab-header-row {
2390
- overscroll-behavior-inline: contain;
2391
- scrollbar-width: thin;
2392
- border-bottom: 1px solid var(--jsl-tabs-border, var(--jsl-color-border-subtle));
2393
- align-items: stretch;
2394
- gap: .25rem;
2395
- min-width: 0;
2396
- display: flex;
2397
- overflow-x: auto;
2398
- }
2399
-
2400
- .stabcomponent > .tab-header-row > .tab-item {
2401
- color: var(--jsl-tabs-text, var(--jsl-color-text-secondary));
2402
- background: none;
2403
- border: 0;
2404
- border-bottom: 2px solid #0000;
2405
- border-radius: .375rem .375rem 0 0;
2406
- flex: none;
2407
- align-items: center;
2408
- gap: .125rem;
2409
- margin: 0;
2410
- padding: 0;
2411
- display: flex;
2412
- position: relative;
2413
- }
2414
-
2415
- .stabcomponent > .tab-header-row > .tab-item:hover {
2416
- background: var(--jsl-tabs-hover-surface, var(--jsl-color-surface-hover));
2417
- color: var(--jsl-color-text);
2418
- }
2419
-
2420
- .stabcomponent > .tab-header-row > .tab-item.active {
2421
- border-bottom-color: var(--jsl-tabs-accent, var(--jsl-color-accent));
2422
- color: var(--jsl-tabs-active-text, var(--jsl-color-text));
2423
- }
2424
-
2425
- .stabcomponent > .tab-header-row > .tab-item.disabled {
2426
- color: var(--jsl-color-disabled-text);
2427
- cursor: not-allowed;
2428
- background: none;
2429
- border-bottom-color: #0000;
2430
- }
2431
-
2432
- .stabcomponent .tab-trigger {
2433
- box-sizing: border-box;
2434
- min-width: 0;
2435
- min-height: 2.5rem;
2436
- color: inherit;
2437
- font: inherit;
2438
- text-align: start;
2439
- cursor: pointer;
2440
- background: none;
2441
- border: 0;
2442
- border-radius: .375rem;
2443
- justify-content: center;
2444
- align-items: center;
2445
- gap: .5rem;
2446
- margin: 0;
2447
- padding: .625rem .875rem;
2448
- font-size: .875rem;
2449
- font-weight: 500;
2450
- line-height: 1.5;
2451
- text-decoration: none;
2452
- display: inline-flex;
2453
- }
2454
-
2455
- .stabcomponent .tab-trigger:disabled {
2456
- cursor: not-allowed;
2457
- }
2458
-
2459
- .stabcomponent .tab-trigger:focus-visible, .stabcomponent > .tab-header-row > .tab-item > .close-button:focus-visible, .stabcomponent > .tab-header-row:focus-visible {
2460
- outline: 2px solid var(--jsl-color-focus);
2461
- outline-offset: -3px;
2462
- }
2463
-
2464
- .stabcomponent .tab-label {
2465
- white-space: nowrap;
2466
- align-items: center;
2467
- gap: .5rem;
2468
- display: inline-flex;
270
+ .js-touch .slick-header-column.resizable > .rs-r {
271
+ background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsIAAA7CARUoSoAAAAMNSURBVEhLxVY7i1NBGM3NwzyMINiIjSKoC9tIBEG02FgkIeSxpJBlS7sV1s5fIRZqYWFhtYssEggJ5IEaFxERYdXWam1EkQVh82Lz8pzJl3jvzb1JjK8DA/lOZuacO/PNN+Po9/tT29LSktuKt2vov4B2xeo/c3M6piASiawHg8G9eDweEmoi2A/936G9wNg1oW2h0YUdKB4IBO45nU5Ht9s9ACLFYnFb/h4DxT0ez2uXy3WIca/XczQajZuVSuW+6mABWwPRaPSa3+9/DHFNKEe73a7XarWj1Wq1I5QByWQyBwMpCRVoAubL4K9ns9nPQo9guQVW4pwIK7BuJ05AZK3T6exIqMDVAx8Fn89kMieEHmHMQCwWuwrxTbM4l7JcLj8SyhL8QrfbncRKbXGMHuBDMLFtNmHYAor7fL4KxF1CKWDCcj6fj0k4EyR/7uo/hICJXZi5PNyO0Qowgbxeb8ksjgEfuH8SzgwmXrPZXMFKGJIM4qeQE+/T6fRJxmoFwuHwcRybjxA6onoJzG7ngeQTt9TwYcin3Xq9fkZLJBLnEL+C02MQG/wLaJr2HYMWf0d8CJyON5jrooQK/HC0r1oqlarh3B4W/p/D+T/Fiaml+G9jZIB7guwctT8NzNnTz48E5/Het80BZOnbQqFgSJx5wMIDsWdI8AWhFCiOsn6WK7AIR3sD+icwIIQjlJFwLoh43iyOE9eFgWWU9S/OXC73CdwFmPg2+HsAnluc3yc8x0L9MiBymx8ioQLFW61WpFQqPWescoAmsA3nWXgYDwETGi8lllWhZgbfAphzVUIFVkVUx9WhOGG4C2TJXsL1aaEUMJCJs4lKeWuWwmRzm1J8BRfallAKY+8B3b6NvYDA74BPTjKBCy2OC61gEudtegP3wwOhRhirA5ycIrwBOVAPmgL/UEJLYJU2LMT5KhoTJywLEU3w+uVAvQn8ZvbekdASWKVlbNeBhNy68qQnmaWBITiQJiBK4Y4+e+3ANyP6XkLbR3s69SqXW2li4xN71mf2sKG/z4o3tr7jB/mDdb4DhXtsAAAAAElFTkSuQmCC") 100% / .5em .3em no-repeat;
272
+ width: 1.2rem;
2469
273
  }
2470
274
 
2471
- .stabcomponent > .tab-header-row > .tab-item > .close-button {
2472
- box-sizing: border-box;
2473
- width: 1.5rem;
2474
- height: 1.5rem;
2475
- color: var(--jsl-color-text-muted);
2476
- cursor: pointer;
2477
- background: none;
2478
- border: 0;
2479
- border-radius: .25rem;
2480
- flex: none;
2481
- justify-content: center;
2482
- align-items: center;
2483
- margin: 0 .5rem 0 -.375rem;
2484
- padding: 0;
2485
- display: inline-flex;
2486
- position: relative;
275
+ .js-touch .slick-header-menubutton.resize-offset {
276
+ width: 1.2rem;
277
+ right: 1.2rem;
2487
278
  }
2488
279
 
2489
- .stabcomponent > .tab-header-row > .tab-item > .close-button:before, .stabcomponent > .tab-header-row > .tab-item > .close-button:after {
2490
- content: "";
2491
- background: currentColor;
2492
- border-radius: 1px;
2493
- width: .625rem;
2494
- height: 1.5px;
2495
- position: absolute;
2496
- transform: rotate(45deg);
280
+ .slick-header-columns {
281
+ border-bottom: 2px solid var(--jsl-color-border-subtle);
282
+ background: var(--jsl-color-surface-subtle);
2497
283
  }
2498
284
 
2499
- .stabcomponent > .tab-header-row > .tab-item > .close-button:after {
2500
- transform: rotate(-45deg);
285
+ .slick-header-column {
286
+ border-right: 1px solid var(--jsl-color-border-subtle);
287
+ text-align: inherit;
288
+ font-weight: 600;
2501
289
  }
2502
290
 
2503
- .stabcomponent > .tab-header-row > .tab-item > .close-button:hover {
2504
- background: var(--jsl-color-surface-selected);
291
+ .slick-header-column:hover, .slick-header-column-active {
292
+ background: var(--jsl-color-surface-hover);
2505
293
  color: var(--jsl-color-text);
2506
294
  }
2507
295
 
2508
- .stabcomponent > .tab-header-row > .tab-item > .close-button:disabled {
2509
- color: var(--jsl-color-disabled-text);
2510
- cursor: not-allowed;
2511
- background: none;
2512
- }
2513
-
2514
- .stabcomponent > .tab-panels {
2515
- background: var(--jsl-tabs-surface, var(--jsl-color-surface));
2516
- min-width: 0;
2517
- }
2518
-
2519
- .stabcomponent > .tab-panels > .tab-content {
2520
- box-sizing: border-box;
2521
- overflow-wrap: anywhere;
2522
- overscroll-behavior: contain;
2523
- min-width: 0;
2524
- padding: 1rem;
2525
- line-height: 1.6;
2526
- overflow: auto;
2527
- }
2528
-
2529
- .stabcomponent > .tab-panels > .tab-content:focus-visible {
2530
- outline: 2px solid var(--jsl-color-focus);
2531
- outline-offset: -2px;
296
+ .slick-header-column > .slick-header-menubutton:hover {
297
+ background-color: var(--jsl-color-surface-selected);
2532
298
  }
2533
299
 
2534
- .stabcomponent > .tab-panels > .tab-content.tab-hidden, .stabcomponent > .tab-panels > .tab-content[hidden] {
2535
- display: none;
300
+ .slick-headerrow {
301
+ background: var(--jsl-color-surface-subtle);
2536
302
  }
2537
303
 
2538
- .jsl-checkbox {
2539
- max-width: 100%;
2540
- color: var(--jsl-color-text);
2541
- font: inherit;
2542
- vertical-align: middle;
2543
- align-items: flex-start;
2544
- gap: .625rem;
2545
- font-size: .875rem;
2546
- line-height: 1.5;
2547
- display: inline-flex;
304
+ .slick-headerrow-column {
305
+ background: var(--jsl-color-surface-subtle);
306
+ border-bottom: 0;
307
+ height: 100%;
2548
308
  }
2549
309
 
2550
- .checkbox-comp {
2551
- appearance: none;
2552
- box-sizing: border-box;
2553
- border: 1px solid var(--jsl-color-border);
310
+ .slick-row {
2554
311
  background: var(--jsl-color-surface);
2555
- width: 1.125rem;
2556
- height: 1.125rem;
2557
- color: var(--jsl-color-on-accent);
2558
- font: inherit;
2559
- cursor: pointer;
2560
- border-radius: .25rem;
2561
- flex: 0 0 1.125rem;
2562
- place-content: center;
2563
- margin: calc(.75em - .5625rem) 0 0;
2564
- transition: background-color .12s, border-color .12s;
2565
- display: inline-grid;
2566
- position: relative;
2567
- }
2568
-
2569
- .checkbox-comp:after {
2570
- content: "";
2571
- opacity: 0;
2572
- border: 1.5px solid;
2573
- border-width: 0 1.5px 1.5px 0;
2574
- width: 4px;
2575
- height: 8px;
2576
- margin-top: -2px;
2577
- transform: rotate(45deg);
2578
- }
2579
-
2580
- .checkbox-comp:checked, .checkbox-comp:indeterminate {
2581
- border-color: var(--jsl-color-accent);
2582
- background: var(--jsl-color-accent);
2583
- }
2584
-
2585
- .checkbox-comp:checked:after, .checkbox-comp:indeterminate:after {
2586
- opacity: 1;
2587
- }
2588
-
2589
- .checkbox-comp:indeterminate:after {
2590
- border-width: 0 0 2px;
2591
- width: 8px;
2592
- height: 0;
2593
- margin-top: 0;
2594
- transform: none;
2595
- }
2596
-
2597
- .checkbox-comp:focus-visible {
2598
- outline: 2px solid var(--jsl-color-focus);
2599
- outline-offset: 3px;
2600
- }
2601
-
2602
- .jsl-checkbox:has(.checkbox-comp:not(:disabled)):hover .checkbox-comp {
2603
- border-color: var(--jsl-color-text-muted);
2604
- }
2605
-
2606
- .jsl-checkbox:has(.checkbox-comp:checked:not(:disabled)):hover .checkbox-comp, .jsl-checkbox:has(.checkbox-comp:indeterminate:not(:disabled)):hover .checkbox-comp {
2607
- border-color: var(--jsl-color-accent-hover);
2608
- background: var(--jsl-color-accent-hover);
2609
- }
2610
-
2611
- .checkbox-copy {
2612
- min-width: 0;
2613
- }
2614
-
2615
- .checkbox-label {
2616
- cursor: pointer;
2617
- overflow-wrap: anywhere;
2618
- display: block;
2619
- }
2620
-
2621
- .checkbox-description {
2622
- color: var(--jsl-color-text-muted);
2623
- margin-top: .1875rem;
2624
- font-size: .75rem;
2625
- line-height: 1.5;
2626
- display: block;
2627
- }
2628
-
2629
- .checkbox-description[hidden] {
2630
- display: none;
2631
- }
2632
-
2633
- .checkbox-comp:disabled {
2634
- background: var(--jsl-color-disabled-surface);
2635
- border-color: var(--jsl-color-border-subtle);
2636
- cursor: not-allowed;
2637
- }
2638
-
2639
- .checkbox-comp:disabled:checked, .checkbox-comp:disabled:indeterminate {
2640
- background: var(--jsl-color-disabled-text);
2641
- border-color: var(--jsl-color-disabled-text);
2642
- color: var(--jsl-color-disabled-surface);
2643
- opacity: .65;
2644
- }
2645
-
2646
- .jsl-checkbox.disabled .checkbox-label {
2647
- color: var(--jsl-color-disabled-text);
2648
- cursor: not-allowed;
2649
- }
2650
-
2651
- @media (prefers-reduced-motion: reduce) {
2652
- .checkbox-comp {
2653
- transition: none;
2654
- }
2655
- }
2656
-
2657
- @media (forced-colors: active) {
2658
- .checkbox-comp {
2659
- appearance: auto;
2660
- }
2661
-
2662
- .checkbox-comp:after {
2663
- display: none;
2664
- }
2665
- }
2666
-
2667
- .stackpanel-comp {
2668
- box-sizing: border-box;
2669
- min-width: 0;
2670
- min-height: 0;
312
+ line-height: inherit;
313
+ border: 0;
314
+ align-items: center;
2671
315
  display: flex;
2672
- }
2673
-
2674
- .stackpanel-comp.hstackpanel {
2675
- flex-direction: row;
2676
- width: 100%;
2677
- }
2678
-
2679
- .stackpanel-comp.vstackpanel {
2680
- flex-direction: column;
2681
- }
2682
-
2683
- .stackpanel-comp.wrap {
2684
- flex-wrap: wrap;
2685
- }
2686
-
2687
- .stackpanel-comp > div:not(.split-comp) {
2688
- box-sizing: border-box;
2689
- min-width: 0;
2690
- min-height: 0;
2691
- }
2692
-
2693
- @media (width <= 70em) {
2694
- .stackpanel-comp.hstackpanel.responsive {
2695
- flex-direction: column;
2696
- }
2697
-
2698
- .stackpanel-comp.hstackpanel.responsive > div:not(.split-comp) {
2699
- flex: none !important;
2700
- width: auto !important;
2701
- }
2702
-
2703
- .stackpanel-comp.hstackpanel.responsive > .split-comp {
2704
- display: none;
2705
- }
2706
- }
2707
-
2708
- .stackpanel-comp > .split-comp {
2709
- background: var(--jsl-color-surface-subtle);
2710
- touch-action: none;
2711
- -webkit-user-select: none;
2712
- user-select: none;
2713
- outline-offset: -2px;
2714
- flex: 0 0 12px;
2715
- align-self: stretch;
2716
- position: relative;
2717
- }
2718
-
2719
- .split-comp:before {
2720
- content: "";
2721
- background: var(--jsl-color-border);
2722
- border-radius: 999px;
2723
316
  position: absolute;
2724
317
  }
2725
318
 
2726
- .hstackpanel > .split-comp {
2727
- cursor: col-resize;
2728
- }
2729
-
2730
- .hstackpanel > .split-comp:before {
2731
- width: 3px;
2732
- height: 32px;
2733
- max-height: 80%;
2734
- top: 50%;
2735
- left: 50%;
2736
- transform: translate(-50%, -50%);
2737
- }
2738
-
2739
- .vstackpanel > .split-comp {
2740
- cursor: row-resize;
2741
- }
2742
-
2743
- .vstackpanel > .split-comp:before {
2744
- width: 32px;
2745
- max-width: 80%;
2746
- height: 3px;
2747
- top: 50%;
2748
- left: 50%;
2749
- transform: translate(-50%, -50%);
2750
- }
2751
-
2752
- .split-comp:hover:before, .split-comp:focus-visible:before {
2753
- background: var(--jsl-color-accent);
2754
- }
2755
-
2756
- .split-comp:focus-visible {
2757
- outline: 2px solid var(--jsl-color-focus);
2758
- }
2759
-
2760
- .date-range-comp {
2761
- width: 25rem;
2762
- max-width: 100%;
2763
- color: var(--jsl-color-text);
2764
- display: inline-block;
2765
- }
2766
-
2767
- .date-range-fields {
2768
- grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
2769
- align-items: end;
2770
- gap: .625rem;
2771
- display: grid;
2772
- }
2773
-
2774
- .date-range-field {
2775
- min-width: 0;
2776
- }
2777
-
2778
- .date-range-field label {
2779
- color: var(--jsl-color-text-secondary);
2780
- font: inherit;
2781
- margin-bottom: .375rem;
2782
- font-size: .75rem;
2783
- font-weight: 500;
2784
- display: block;
2785
- }
2786
-
2787
- .date-range-field input {
2788
- width: 100%;
2789
- }
2790
-
2791
- .date-range-separator {
2792
- color: var(--jsl-color-text-muted);
2793
- line-height: 2.5rem;
2794
- }
2795
-
2796
- .date-range-track {
2797
- padding: 1.5rem .625rem .875rem;
2798
- }
2799
-
2800
- .date-range-limits {
2801
- color: var(--jsl-color-text-muted);
2802
- font-variant-numeric: tabular-nums;
2803
- justify-content: space-between;
2804
- gap: .5rem;
2805
- font-size: .6875rem;
2806
- display: flex;
2807
- }
2808
-
2809
- @media (width <= 380px) {
2810
- .date-range-fields {
2811
- gap: .375rem;
2812
- }
2813
-
2814
- .date-range-field input {
2815
- background-position: right .3rem center;
2816
- background-size: 15px;
2817
- padding-left: .5rem;
2818
- padding-right: 1.75rem;
2819
- font-size: .75rem;
2820
- }
2821
- }
2822
-
2823
- .noUi-target, .noUi-target * {
2824
- -webkit-touch-callout: none;
2825
- -webkit-tap-highlight-color: #0000;
2826
- -webkit-user-select: none;
2827
- user-select: none;
2828
- -ms-touch-action: none;
2829
- touch-action: none;
2830
- box-sizing: border-box;
2831
- }
2832
-
2833
- .noUi-target {
2834
- position: relative;
2835
- }
2836
-
2837
- .noUi-base, .noUi-connects {
2838
- z-index: 1;
2839
- width: 100%;
2840
- height: 100%;
2841
- position: relative;
319
+ .slick-row.selected {
320
+ z-index: 10;
321
+ background: var(--jsl-color-surface-selected);
2842
322
  }
2843
323
 
2844
- .noUi-connects {
2845
- z-index: 0;
2846
- overflow: hidden;
324
+ .slick-cell {
325
+ align-content: center;
326
+ padding-left: 4px;
327
+ padding-right: 4px;
2847
328
  }
2848
329
 
2849
- .noUi-connect, .noUi-origin {
2850
- will-change: transform;
2851
- z-index: 1;
2852
- transform-origin: 0 0;
2853
- -webkit-transform-style: preserve-3d;
2854
- transform-style: flat;
2855
- position: absolute;
2856
- top: 0;
2857
- right: 0;
330
+ .slick-cell.editable .select-comp {
331
+ max-width: none;
332
+ height: 100%;
333
+ min-height: 0;
334
+ display: flex;
2858
335
  }
2859
336
 
2860
- .noUi-connect {
2861
- width: 100%;
337
+ .slick-cell.editable .select-comp > .sel-expander {
338
+ border-radius: .25rem;
2862
339
  height: 100%;
340
+ min-height: 0;
341
+ padding: 0 .5rem;
2863
342
  }
2864
343
 
2865
- .noUi-origin {
2866
- width: 10%;
2867
- height: 10%;
344
+ .slick-cell.editable .select-comp.multiple > .sel-expander {
345
+ padding-top: 0;
346
+ padding-bottom: 0;
2868
347
  }
2869
348
 
2870
- .noUi-txt-dir-rtl.noUi-horizontal .noUi-origin {
2871
- left: 0;
2872
- right: auto;
349
+ .slick-cell.editable .select-comp .sel-chip {
350
+ padding: .0625rem .375rem;
351
+ font-size: .6875rem;
2873
352
  }
2874
353
 
2875
- .noUi-vertical .noUi-origin {
2876
- width: 0;
354
+ .slick-group {
355
+ border-bottom: 2px solid var(--jsl-color-border-subtle);
2877
356
  }
2878
357
 
2879
- .noUi-horizontal .noUi-origin {
2880
- height: 0;
358
+ .slick-group .slick-cell {
359
+ background: var(--jsl-color-surface-selected);
360
+ align-items: center;
361
+ display: flex;
2881
362
  }
2882
363
 
2883
- .noUi-handle {
2884
- backface-visibility: hidden;
2885
- position: absolute;
364
+ .slick-group-toggle {
365
+ vertical-align: middle;
366
+ flex-shrink: 0;
367
+ width: 20px;
368
+ height: 20px;
369
+ margin-right: 5px;
2886
370
  }
2887
371
 
2888
- .noUi-touch-area {
2889
- width: 100%;
2890
- height: 100%;
372
+ .slick-group-toggle.expanded {
373
+ background-color: currentColor;
374
+ mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 122.88 119.8'%3E%3Cpath d='M23.59,0h75.7a23.63,23.63,0,0,1,23.59,23.59V96.21A23.64,23.64,0,0,1,99.29,119.8H23.59a23.53,23.53,0,0,1-16.67-6.93l-.38-.42A23.49,23.49,0,0,1,0,96.21V23.59A23.63,23.63,0,0,1,23.59,0Zm59.7,53.51a6.39,6.39,0,1,1,0,12.77H39.59a6.39,6.39,0,1,1,0-12.77Zm16-40.74H23.59A10.86,10.86,0,0,0,12.77,23.59V96.21a10.77,10.77,0,0,0,2.9,7.37l.28.26A10.76,10.76,0,0,0,23.59,107h75.7a10.87,10.87,0,0,0,10.82-10.82V23.59A10.86,10.86,0,0,0,99.29,12.77Z'/%3E%3C/svg%3E") center / contain no-repeat;
2891
375
  }
2892
376
 
2893
- .noUi-state-tap .noUi-connect, .noUi-state-tap .noUi-origin {
2894
- transition: transform .3s;
377
+ .slick-group-toggle.collapsed {
378
+ background-color: currentColor;
379
+ mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' x='0px' y='0px' viewBox='0 0 122.88 119.72' style='enable-background:new 0 0 122.88 119.72' xml:space='preserve'%3E%3Cg%3E%3Cpath d='M22.72,0h77.45c6.25,0,11.93,2.56,16.05,6.67c4.11,4.11,6.67,9.79,6.67,16.05v74.29c0,6.25-2.56,11.93-6.67,16.05 l-0.32,0.29c-4.09,3.94-9.64,6.38-15.73,6.38H22.72c-6.25,0-11.93-2.56-16.05-6.67l-0.3-0.32C2.43,108.64,0,103.09,0,97.01V22.71 c0-6.25,2.55-11.93,6.67-16.05C10.78,2.55,16.46,0,22.72,0L22.72,0z M55.47,38.34c0-3.3,2.67-5.97,5.97-5.97 c3.3,0,5.97,2.67,5.97,5.97v15.55h15.55c3.3,0,5.97,2.67,5.97,5.97c0,3.3-2.67,5.97-5.97,5.97H67.41v15.55 c0,3.3-2.67,5.97-5.97,5.97c-3.3,0-5.97-2.67-5.97-5.97V65.83H39.91c-3.3,0-5.97-2.67-5.97-5.97c0-3.3,2.67-5.97,5.97-5.97h15.55 V38.34L55.47,38.34z M100.16,10.24H22.72c-3.43,0-6.54,1.41-8.81,3.67c-2.26,2.26-3.67,5.38-3.67,8.81v74.29 c0,3.33,1.31,6.35,3.43,8.59l0.24,0.22c2.26,2.26,5.38,3.67,8.81,3.67h77.45c3.32,0,6.35-1.31,8.59-3.44l0.21-0.23 c2.26-2.26,3.67-5.38,3.67-8.81V22.71c0-3.42-1.41-6.54-3.67-8.81C106.71,11.65,103.59,10.24,100.16,10.24L100.16,10.24z'/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat;
2895
380
  }
2896
381
 
2897
- .noUi-state-drag * {
2898
- cursor: inherit !important;
382
+ .slick-group-totals {
383
+ color: var(--jsl-color-text-secondary);
384
+ background: var(--jsl-color-surface);
2899
385
  }
2900
386
 
2901
- .noUi-horizontal {
2902
- height: 6px;
387
+ .slick-group-select-checkbox {
388
+ width: 13px;
389
+ height: 13px;
390
+ margin: 3px 10px 0 0;
391
+ display: inline-block;
2903
392
  }
2904
393
 
2905
- .noUi-horizontal .noUi-handle {
2906
- width: 18px;
2907
- height: 18px;
2908
- top: -6px;
2909
- right: -9px;
394
+ .slick-cell.selected {
395
+ background-color: var(--jsl-color-surface-selected);
2910
396
  }
2911
397
 
2912
- .noUi-vertical {
2913
- width: 6px;
398
+ .slick-cell.active {
399
+ border-color: var(--jsl-color-focus);
400
+ border-style: solid;
2914
401
  }
2915
402
 
2916
- .noUi-vertical .noUi-handle {
2917
- width: 18px;
2918
- height: 18px;
2919
- top: -9px;
2920
- right: -6px;
403
+ .slick-sortable-placeholder {
404
+ background: var(--jsl-color-surface-selected) !important;
2921
405
  }
2922
406
 
2923
- .noUi-txt-dir-rtl.noUi-horizontal .noUi-handle {
2924
- left: -9px;
2925
- right: auto;
407
+ .slick-row.odd {
408
+ background: var(--jsl-color-surface-subtle);
2926
409
  }
2927
410
 
2928
- .noUi-target {
2929
- background: var(--jsl-slider-track, var(--jsl-color-border-subtle));
2930
- box-shadow: none;
2931
- border: 0;
2932
- border-radius: 999px;
411
+ .slick-row.ui-state-active {
412
+ background: var(--jsl-color-surface-selected);
2933
413
  }
2934
414
 
2935
- .noUi-connects {
2936
- border-radius: 3px;
415
+ .slick-row.loading {
416
+ opacity: .5;
417
+ filter: alpha(opacity = 50);
2937
418
  }
2938
419
 
2939
- .noUi-connect {
2940
- background: var(--jsl-slider-connect, var(--jsl-color-accent));
420
+ .slick-cell.invalid {
421
+ border-color: var(--jsl-color-danger);
422
+ animation-name: slickgrid-invalid-hilite;
423
+ animation-duration: .2s;
2941
424
  }
2942
425
 
2943
- .noUi-draggable {
2944
- cursor: ew-resize;
426
+ @keyframes slickgrid-invalid-hilite {
427
+ from {
428
+ box-shadow: 0 0 6px var(--jsl-color-danger);
429
+ }
430
+
431
+ to {
432
+ box-shadow: none;
433
+ }
2945
434
  }
2946
435
 
2947
- .noUi-vertical .noUi-draggable {
2948
- cursor: ns-resize;
436
+ .new-row .slick-cell {
437
+ border-top: solid 1px var(--jsl-color-border);
438
+ background: var(--jsl-color-surface-selected);
2949
439
  }
2950
440
 
2951
- .noUi-handle {
2952
- border: 2px solid var(--jsl-color-accent);
441
+ .slickgrid {
442
+ font: inherit;
443
+ color: var(--jsl-color-text);
2953
444
  background: var(--jsl-color-surface);
2954
- cursor: default;
2955
- border-radius: 50%;
2956
- box-shadow: 0 1px 4px #00000029;
2957
445
  }
2958
446
 
2959
- .noUi-active {
2960
- border-color: var(--jsl-color-accent);
447
+ .slick-row:not(.slick-group):not(.slick-group-totals) > .slick-cell:not(.active):not(.invalid):not(.flashing) {
448
+ border-right-color: #0000;
2961
449
  }
2962
450
 
2963
- [disabled] .noUi-connect {
2964
- background: var(--jsl-color-disabled-text);
451
+ .slickgrid .right {
452
+ text-align: right;
2965
453
  }
2966
454
 
2967
- [disabled].noUi-target, [disabled].noUi-handle, [disabled] .noUi-handle {
2968
- cursor: not-allowed;
455
+ .slickgrid .center {
456
+ text-align: center;
2969
457
  }
2970
458
 
2971
- .noUi-pips, .noUi-pips * {
2972
- box-sizing: border-box;
459
+ .slickgrid .tabular-nums {
460
+ font-variant-numeric: tabular-nums;
2973
461
  }
2974
462
 
2975
- .noUi-pips {
2976
- color: var(--jsl-color-text-muted);
2977
- position: absolute;
463
+ .slick-header-column .slick-column-name {
464
+ float: none;
465
+ text-overflow: ellipsis;
466
+ white-space: normal;
467
+ vertical-align: middle;
468
+ max-width: 100%;
469
+ max-height: 2.4em;
470
+ margin-bottom: 0;
471
+ line-height: 1.2;
472
+ display: inline-block;
473
+ overflow: hidden;
2978
474
  }
2979
475
 
2980
- .noUi-value {
2981
- white-space: nowrap;
2982
- text-align: center;
2983
- position: absolute;
476
+ .slick-header-sortable .slick-column-name {
477
+ max-width: calc(100% - 1.25rem);
2984
478
  }
2985
479
 
2986
- .noUi-value-sub {
2987
- color: var(--jsl-color-text-muted);
2988
- font-size: 10px;
480
+ .slick-header-column .slick-sort-indicator, .slick-header-column .slick-sort-indicator-numbered {
481
+ float: none;
482
+ vertical-align: top;
483
+ height: var(--jsl-grid-header-height, 40px);
484
+ line-height: var(--jsl-grid-header-height, 40px);
485
+ color: var(--jsl-color-accent);
486
+ margin: 0 0 0 .375rem;
487
+ display: inline-block;
488
+ position: relative;
2989
489
  }
2990
490
 
2991
- .noUi-marker {
2992
- background: var(--jsl-color-border);
2993
- position: absolute;
491
+ .slick-header-column .slick-sort-indicator {
492
+ width: .65rem;
2994
493
  }
2995
494
 
2996
- .noUi-marker-sub, .noUi-marker-large {
2997
- background: var(--jsl-color-border);
495
+ .slick-header-column.right .slick-sort-indicator, .slick-header-column.right .slick-sort-indicator-numbered {
496
+ float: left;
497
+ margin-left: 0;
498
+ margin-right: .375rem;
2998
499
  }
2999
500
 
3000
- .noUi-pips-horizontal {
3001
- width: 100%;
3002
- height: 80px;
3003
- padding: 10px 0;
3004
- top: 100%;
501
+ .slick-sort-indicator-asc:before, .slick-sort-indicator-desc:before {
502
+ content: "";
503
+ background: currentColor;
504
+ width: 8px;
505
+ height: 5px;
506
+ position: absolute;
507
+ top: 50%;
3005
508
  left: 0;
509
+ transform: translateY(-50%);
3006
510
  }
3007
511
 
3008
- .noUi-value-horizontal {
3009
- transform: translate(-50%, 50%);
512
+ .slick-sort-indicator-asc:before {
513
+ clip-path: polygon(50% 0, 100% 100%, 0 100%);
3010
514
  }
3011
515
 
3012
- .noUi-rtl .noUi-value-horizontal {
3013
- transform: translate(50%, 50%);
516
+ .slick-sort-indicator-desc:before {
517
+ clip-path: polygon(0 0, 100% 0, 50% 100%);
3014
518
  }
3015
519
 
3016
- .noUi-marker-horizontal.noUi-marker {
3017
- width: 2px;
3018
- height: 5px;
3019
- margin-left: -1px;
520
+ .slick-header-column .slick-sort-indicator-numbered {
521
+ width: auto;
522
+ min-width: .65rem;
523
+ font-size: .8em;
3020
524
  }
3021
525
 
3022
- .noUi-marker-horizontal.noUi-marker-sub {
3023
- height: 10px;
526
+ .slick-header-column .slick-sort-indicator.slick-sort-indicator-numbered {
527
+ min-width: 1.5rem;
528
+ padding-left: .75rem;
3024
529
  }
3025
530
 
3026
- .noUi-marker-horizontal.noUi-marker-large {
3027
- height: 15px;
531
+ .slickgrid:has(.slick-header-column.frozen) > .slick-pane-left:after {
532
+ content: "";
533
+ background: var(--jsl-color-border);
534
+ pointer-events: none;
535
+ z-index: 20;
536
+ width: 1px;
537
+ position: absolute;
538
+ top: 0;
539
+ bottom: 0;
540
+ right: 0;
541
+ box-shadow: -2px 0 4px #00000014;
3028
542
  }
3029
543
 
3030
- .noUi-pips-vertical {
3031
- height: 100%;
3032
- padding: 0 10px;
3033
- top: 0;
3034
- left: 100%;
544
+ .resizable {
545
+ position: relative;
3035
546
  }
3036
547
 
3037
- .noUi-value-vertical {
3038
- padding-left: 25px;
3039
- transform: translate(0, -50%);
548
+ .resizable > .rs-r {
549
+ box-sizing: border-box;
550
+ cursor: w-resize;
551
+ background: #14141433;
552
+ width: .5rem;
553
+ position: absolute;
554
+ top: 0;
555
+ bottom: 0;
556
+ right: 0;
3040
557
  }
3041
558
 
3042
- .noUi-rtl .noUi-value-vertical {
3043
- transform: translate(0, 50%);
559
+ .resizable > .rs-b {
560
+ box-sizing: border-box;
561
+ cursor: n-resize;
562
+ background: #14141433;
563
+ height: .5rem;
564
+ position: absolute;
565
+ bottom: 0;
566
+ left: 0;
567
+ right: 0;
3044
568
  }
3045
569
 
3046
- .noUi-marker-vertical.noUi-marker {
3047
- width: 5px;
3048
- height: 2px;
3049
- margin-top: -1px;
570
+ .resizable > .rs-r.rs-b {
571
+ top: initial;
572
+ left: initial;
573
+ cursor: nw-resize;
574
+ bottom: 0;
575
+ right: 0;
3050
576
  }
3051
577
 
3052
- .noUi-marker-vertical.noUi-marker-sub {
3053
- width: 10px;
578
+ .slick-header-menubutton {
579
+ cursor: pointer;
580
+ background-image: url("data:image/gif;base64,R0lGODlhDgAOAIABADtKYwAAACH5BAEAAAEALAAAAAAOAA4AAAISjI+py+0PHZgUsGobhTn6DxoFADs=");
581
+ background-position: 0;
582
+ background-repeat: no-repeat;
583
+ border-left: thin ridge silver;
584
+ width: 14px;
585
+ display: none;
586
+ position: absolute;
587
+ top: 0;
588
+ bottom: 0;
589
+ right: 0;
3054
590
  }
3055
591
 
3056
- .noUi-marker-vertical.noUi-marker-large {
3057
- width: 15px;
592
+ .slick-header-menubutton.resize-offset {
593
+ right: .5rem;
3058
594
  }
3059
595
 
3060
- .noUi-tooltip {
3061
- border: 1px solid var(--jsl-color-border);
3062
- background: var(--jsl-color-surface);
3063
- color: var(--jsl-color-text);
3064
- text-align: center;
3065
- white-space: nowrap;
3066
- border-radius: 3px;
3067
- padding: 5px;
3068
- display: block;
3069
- position: absolute;
596
+ .slick-header-column:hover > .slick-header-menubutton, .slick-header-column-active .slick-header-menubutton {
597
+ display: inline-block;
3070
598
  }
3071
599
 
3072
- .noUi-horizontal .noUi-tooltip {
3073
- bottom: 120%;
3074
- left: 50%;
3075
- transform: translate(-50%);
600
+ .slick-header-menu {
601
+ cursor: default;
602
+ margin: 0;
603
+ padding: 2px;
604
+ display: inline-block;
605
+ position: absolute;
3076
606
  }
3077
607
 
3078
- .noUi-vertical .noUi-tooltip {
3079
- top: 50%;
3080
- right: 120%;
3081
- transform: translate(0, -50%);
608
+ .slick-header-menuitem {
609
+ cursor: pointer;
610
+ margin: 0;
611
+ padding: 0;
612
+ list-style: none;
3082
613
  }
3083
614
 
3084
- .noUi-horizontal .noUi-origin > .noUi-tooltip {
3085
- bottom: 10px;
3086
- left: auto;
3087
- transform: translate(50%);
615
+ .slick-header-menuicon {
616
+ vertical-align: middle;
617
+ background-position: center;
618
+ background-repeat: no-repeat;
619
+ width: 16px;
620
+ height: 16px;
621
+ margin-right: 4px;
622
+ display: inline-block;
3088
623
  }
3089
624
 
3090
- .noUi-vertical .noUi-origin > .noUi-tooltip {
3091
- top: auto;
3092
- right: 28px;
3093
- transform: translate(0, -18px);
625
+ .slick-header-menucontent {
626
+ vertical-align: middle;
627
+ display: inline-block;
3094
628
  }
3095
629
 
3096
- .noUi-touch-area {
3097
- width: auto;
3098
- height: auto;
3099
- position: absolute;
3100
- inset: -6px;
630
+ .slick-header-menuitem-disabled {
631
+ color: silver;
3101
632
  }
3102
633
 
3103
- .noUi-base:before {
3104
- content: "";
3105
- position: absolute;
3106
- inset: -10px 0;
634
+ .slick-header-menuitem.slick-header-menuitem-divider {
635
+ cursor: default;
636
+ background-color: #cecece;
637
+ border: none;
638
+ height: 1px;
639
+ margin: 8px 2px;
640
+ padding: 0;
641
+ overflow: hidden;
3107
642
  }
3108
643
 
3109
- .noUi-vertical .noUi-base:before {
3110
- inset: 0 -10px;
644
+ .slick-header-menuitem-divider.slick-header-menuitem:hover {
645
+ background-color: #cecece;
3111
646
  }
3112
647
 
3113
- .noUi-handle {
3114
- cursor: grab;
648
+ .slick-header-menu {
649
+ z-index: 20;
650
+ background: #fff;
651
+ border: 1px solid #bebebe;
652
+ padding: 2px;
653
+ box-shadow: 2px 2px 2px silver;
3115
654
  }
3116
655
 
3117
- .noUi-handle:active {
3118
- cursor: grabbing;
656
+ .slick-header-menuitem {
657
+ border-radius: 3px;
658
+ padding: 2px 4px;
3119
659
  }
3120
660
 
3121
- .noUi-handle:focus-visible {
3122
- outline: 2px solid var(--jsl-color-focus);
3123
- outline-offset: 3px;
661
+ .slick-header-menuitem:hover {
662
+ color: #fff;
663
+ background: #3b99ff;
3124
664
  }
3125
665
 
3126
- [disabled] .noUi-handle, .noUi-handle[disabled] {
3127
- border-color: var(--jsl-color-disabled-text);
3128
- background: var(--jsl-color-disabled-surface);
666
+ .slick-header-menuitem-disabled {
667
+ background: inherit !important;
668
+ border-color: #0000 !important;
3129
669
  }
3130
670
 
3131
- .noUi-tooltip {
3132
- font: inherit;
3133
- border-radius: .375rem;
3134
- padding: 4px 8px;
3135
- font-size: .75rem;
671
+ .slick-column-name, .slick-sort-indicator {
672
+ float: left;
673
+ margin-bottom: 100px;
674
+ display: inline-block;
3136
675
  }
3137
676
 
3138
- .slick-cell .jsl-toggle {
3139
- color: #888;
3140
- box-sizing: border-box;
677
+ .slick-header-button {
678
+ float: right;
679
+ vertical-align: top;
3141
680
  cursor: pointer;
3142
- width: 1.2em;
3143
- height: 100%;
681
+ background-position: center;
682
+ background-repeat: no-repeat;
683
+ width: 15px;
684
+ height: 15px;
685
+ margin: 1px 2rem 100px 1px;
3144
686
  display: inline-block;
3145
687
  }
3146
688
 
3147
- .slick-cell .jsl-toggle-spacer {
3148
- box-sizing: border-box;
3149
- min-width: 1.2em;
3150
- display: inline-block;
689
+ .slick-header-button-hidden {
690
+ width: 0;
691
+ transition: width .2s;
3151
692
  }
3152
693
 
3153
- .slick-cell .jsl-indent {
3154
- display: inline-block;
3155
- position: relative;
694
+ .slick-header-column:hover > .slick-header-button {
695
+ width: 15px;
3156
696
  }
3157
697
 
3158
- .jsl-navigation {
3159
- width: 100%;
3160
- color: var(--jsl-color-text);
3161
- background: var(--jsl-color-surface);
3162
- border-block: 1px solid var(--jsl-color-border-subtle);
698
+ :where(:root) {
699
+ --jsl-color-canvas: #f7f7f8;
700
+ --jsl-color-surface: #fff;
701
+ --jsl-color-surface-subtle: #fafafa;
702
+ --jsl-color-surface-hover: #f0f0f2;
703
+ --jsl-color-surface-selected: #e8e8eb;
704
+ --jsl-color-border: #d4d4d8;
705
+ --jsl-color-border-subtle: #e4e4e7;
706
+ --jsl-color-text: #27272a;
707
+ --jsl-color-text-secondary: #52525b;
708
+ --jsl-color-text-muted: #71717a;
709
+ --jsl-color-accent: #3f3f46;
710
+ --jsl-color-accent-hover: #27272a;
711
+ --jsl-color-accent-active: #18181b;
712
+ --jsl-color-on-accent: #fff;
713
+ --jsl-color-focus: #52525b;
714
+ --jsl-color-danger: #b42318;
715
+ --jsl-color-success: #15803d;
716
+ --jsl-color-warning: #b45309;
717
+ --jsl-color-info: #2563eb;
718
+ --jsl-color-disabled-surface: #f4f4f5;
719
+ --jsl-color-disabled-text: #71717a;
720
+ --jsl-color-overlay: #18181b73;
721
+ --jsl-shadow-dialog: 0 24px 64px #0000002e, 0 4px 16px #00000014;
722
+ }
723
+
724
+ .jsl-button, .jsl-button:any-link {
725
+ --jsl-button-height: 2rem;
726
+ --jsl-button-padding: .875rem;
3163
727
  box-sizing: border-box;
728
+ height: var(--jsl-button-height);
729
+ padding: 0 var(--jsl-button-padding);
730
+ vertical-align: middle;
731
+ border-radius: var(--jsl-button-radius, .375rem);
732
+ background: var(--jsl-button-primary, var(--jsl-color-accent));
733
+ color: var(--jsl-button-on-primary, var(--jsl-color-on-accent));
3164
734
  font: inherit;
735
+ letter-spacing: normal;
736
+ text-align: center;
737
+ text-transform: none;
738
+ white-space: nowrap;
739
+ cursor: pointer;
740
+ border: 1px solid #0000;
741
+ justify-content: center;
742
+ align-items: center;
743
+ gap: .5rem;
744
+ margin: 0;
3165
745
  font-size: .875rem;
3166
- line-height: 1.4;
746
+ font-weight: 500;
747
+ line-height: 1.25;
748
+ text-decoration: none;
749
+ transition: background-color .12s, border-color .12s, box-shadow .12s;
750
+ display: inline-flex;
3167
751
  position: relative;
3168
752
  }
3169
753
 
3170
- .jsl-navigation *, .jsl-navigation :before, .jsl-navigation :after {
3171
- box-sizing: border-box;
754
+ .jsl-button, button.jsl-button[type] {
755
+ appearance: none;
3172
756
  }
3173
757
 
3174
- .jsl-navigation--fixed, .jsl-navigation--fixed-bottom {
3175
- z-index: 1010;
3176
- position: fixed;
3177
- inset-inline: 0;
3178
- box-shadow: 0 2px 8px #0000000a;
758
+ .jsl-button:where(:hover), .jsl-button:any-link:where(:hover) {
759
+ background: var(--jsl-button-primary-hover, var(--jsl-color-accent-hover));
3179
760
  }
3180
761
 
3181
- .jsl-navigation--fixed {
3182
- top: 0;
762
+ .jsl-button:where(:active, .active, [aria-pressed="true"]), .jsl-button:any-link:where(:active, .active, [aria-pressed="true"]) {
763
+ background: var(--jsl-button-primary-active, var(--jsl-color-accent-active));
764
+ box-shadow: inset 0 0 0 1px;
3183
765
  }
3184
766
 
3185
- .jsl-navigation--fixed-bottom {
3186
- bottom: 0;
767
+ .jsl-button.jsl-button-outline {
768
+ border-color: var(--jsl-button-border, var(--jsl-color-border));
769
+ background: var(--jsl-button-surface, var(--jsl-color-surface));
770
+ color: var(--jsl-button-text, var(--jsl-color-text));
3187
771
  }
3188
772
 
3189
- .jsl-navigation [hidden] {
3190
- display: none !important;
773
+ .jsl-button.jsl-button-ghost {
774
+ color: var(--jsl-button-text, var(--jsl-color-text));
775
+ background: none;
3191
776
  }
3192
777
 
3193
- .jsl-navigation button, .jsl-navigation a {
3194
- -webkit-tap-highlight-color: transparent;
778
+ .jsl-button.jsl-button-outline:where(:hover), .jsl-button.jsl-button-ghost:where(:hover) {
779
+ background: var(--jsl-button-hover-surface, var(--jsl-color-surface-hover));
780
+ border-color: var(--jsl-button-border, var(--jsl-color-border));
3195
781
  }
3196
782
 
3197
- .jsl-navigation button {
3198
- font: inherit;
783
+ .jsl-button.jsl-button-outline:where(:active, .active, [aria-pressed="true"]), .jsl-button.jsl-button-ghost:where(:active, .active, [aria-pressed="true"]) {
784
+ background: var(--jsl-button-selected-surface, var(--jsl-color-surface-selected));
785
+ border-color: var(--jsl-button-primary, var(--jsl-color-accent));
786
+ color: var(--jsl-button-selected-text, var(--jsl-color-text));
787
+ box-shadow: none;
3199
788
  }
3200
789
 
3201
- .jsl-navigation button:focus-visible, .jsl-navigation a:focus-visible {
3202
- outline: 2px solid var(--jsl-color-focus);
3203
- outline-offset: 2px;
3204
- z-index: 1;
790
+ .jsl-button:focus-visible {
791
+ outline: 2px solid var(--jsl-button-focus, var(--jsl-color-focus));
792
+ outline-offset: 3px;
3205
793
  }
3206
794
 
3207
- .jsl-nav-bar {
3208
- flex-wrap: wrap;
3209
- align-items: center;
3210
- gap: .5rem 1.5rem;
3211
- min-height: 3.5rem;
3212
- padding: .625rem 1rem;
3213
- display: flex;
3214
- container-type: inline-size;
795
+ .jsl-button.jsl-button-small {
796
+ --jsl-button-height: 1.75rem;
797
+ --jsl-button-padding: .625rem;
798
+ gap: .375rem;
799
+ font-size: .8125rem;
3215
800
  }
3216
801
 
3217
- .jsl-nav-brand {
3218
- color: inherit;
3219
- overflow-wrap: anywhere;
3220
- align-items: center;
3221
- gap: .5rem;
3222
- min-width: 0;
3223
- font-size: 1rem;
3224
- font-weight: 650;
3225
- text-decoration: none;
3226
- display: flex;
802
+ .jsl-button.jsl-button-large {
803
+ --jsl-button-height: 2.5rem;
804
+ --jsl-button-padding: 1rem;
805
+ font-size: .9375rem;
3227
806
  }
3228
807
 
3229
- .jsl-nav-items, .jsl-nav-submenu {
3230
- margin: 0;
808
+ .jsl-button.jsl-button-icon-only {
809
+ width: var(--jsl-button-height);
810
+ flex-shrink: 0;
3231
811
  padding: 0;
3232
- list-style: none;
3233
- }
3234
-
3235
- .jsl-nav-items {
3236
- flex-wrap: wrap;
3237
- align-items: center;
3238
- gap: .25rem;
3239
- min-width: 0;
3240
- display: flex;
3241
- }
3242
-
3243
- .jsl-nav-bar--right > .jsl-nav-items {
3244
- margin-inline-start: auto;
3245
- }
3246
-
3247
- .jsl-nav-item {
3248
- min-width: 0;
3249
- position: relative;
3250
- }
3251
-
3252
- .jsl-nav-row {
3253
- border-radius: .375rem;
3254
- align-items: stretch;
3255
- display: flex;
3256
812
  }
3257
813
 
3258
- .jsl-nav-link, .jsl-nav-submenu-toggle, .jsl-nav-toggle {
3259
- color: var(--jsl-color-text-secondary);
3260
- cursor: pointer;
3261
- background: none;
3262
- border: 0;
3263
- border-radius: .375rem;
814
+ .jsl-button-icon {
815
+ pointer-events: none;
816
+ flex: none;
3264
817
  justify-content: center;
3265
818
  align-items: center;
3266
- gap: .625rem;
3267
- min-height: 2.25rem;
3268
- padding: .5rem .75rem;
3269
- line-height: 1.4;
3270
- text-decoration: none;
819
+ width: 1.125em;
820
+ height: 1.125em;
821
+ line-height: 1;
3271
822
  display: inline-flex;
3272
823
  }
3273
824
 
3274
- .jsl-nav-link {
3275
- text-align: start;
3276
- overflow-wrap: anywhere;
3277
- flex: 1;
3278
- justify-content: flex-start;
3279
- min-width: 0;
825
+ .jsl-button-icon > img, .jsl-button-icon > svg {
826
+ object-fit: contain;
827
+ width: 100%;
828
+ height: 100%;
829
+ display: block;
3280
830
  }
3281
831
 
3282
- .jsl-nav-link > img, .jsl-nav-brand img {
3283
- width: auto;
3284
- max-height: 1.5rem;
832
+ .jsl-button-label-hidden {
833
+ clip-path: inset(50%);
834
+ white-space: nowrap;
835
+ border: 0;
836
+ width: 1px;
837
+ height: 1px;
838
+ margin: -1px;
839
+ padding: 0;
840
+ position: absolute;
841
+ overflow: hidden;
3285
842
  }
3286
843
 
3287
- .jsl-nav-submenu-toggle {
3288
- padding-inline: .5rem;
844
+ .jsl-button:disabled, .jsl-button.disabled, .jsl-button[aria-disabled="true"] {
845
+ background: var(--jsl-button-disabled-surface, var(--jsl-color-disabled-surface));
846
+ border-color: var(--jsl-button-disabled-border, var(--jsl-color-border-subtle));
847
+ color: var(--jsl-button-disabled-text, var(--jsl-color-disabled-text));
848
+ box-shadow: none;
849
+ cursor: not-allowed;
3289
850
  }
3290
851
 
3291
- .jsl-nav-link:hover, .jsl-nav-submenu-toggle:hover, .jsl-nav-toggle:hover {
3292
- background: var(--jsl-color-surface-hover);
3293
- color: var(--jsl-color-text);
852
+ @media (prefers-reduced-motion: reduce) {
853
+ .jsl-button {
854
+ transition: none;
855
+ }
3294
856
  }
3295
857
 
3296
- .jsl-nav-item.is-active > .jsl-nav-row {
3297
- background: var(--jsl-color-surface-selected);
858
+ .jsl-dialog-overlay {
859
+ z-index: var(--jsl-dialog-z-index, 2001);
860
+ background: var(--jsl-dialog-backdrop, var(--jsl-color-overlay));
861
+ position: fixed;
862
+ inset: 0;
3298
863
  }
3299
864
 
3300
- .jsl-nav-item.is-active > .jsl-nav-row > .jsl-nav-link {
865
+ .jsl-dialog {
866
+ box-sizing: border-box;
867
+ border: 1px solid var(--jsl-dialog-border, var(--jsl-color-border-subtle));
868
+ border-radius: var(--jsl-dialog-radius, .75rem);
869
+ background: var(--jsl-dialog-surface, var(--jsl-color-surface));
870
+ width: 32rem;
871
+ max-width: calc(100% - 2rem);
872
+ max-height: calc(100% - 2rem);
3301
873
  color: var(--jsl-color-text);
3302
- font-weight: 600;
874
+ box-shadow: var(--jsl-dialog-shadow, var(--jsl-shadow-dialog));
875
+ font: inherit;
876
+ pointer-events: auto;
877
+ isolation: isolate;
878
+ flex-direction: column;
879
+ line-height: 1.5;
880
+ display: flex;
881
+ position: absolute;
882
+ top: 50%;
883
+ left: 50%;
884
+ transform: translate(-50%, -50%);
3303
885
  }
3304
886
 
3305
- .jsl-navigation :disabled, .jsl-navigation [aria-disabled="true"] {
3306
- color: var(--jsl-color-disabled-text);
3307
- cursor: default;
3308
- opacity: .6;
3309
- background: none;
887
+ .jsl-dialog:focus {
888
+ outline: none;
3310
889
  }
3311
890
 
3312
- .jsl-nav-chevron {
3313
- border-bottom: 1.5px solid;
3314
- border-right: 1.5px solid;
3315
- flex-shrink: 0;
3316
- width: .4rem;
3317
- height: .4rem;
3318
- margin: .125rem;
3319
- transform: translateY(-.1rem) rotate(45deg);
891
+ .jsl-dialog.resizable {
892
+ position: absolute;
3320
893
  }
3321
894
 
3322
- [aria-expanded="true"] > .jsl-nav-chevron {
3323
- transform: translateY(.1rem) rotate(225deg);
895
+ .jsl-dialog:focus-visible {
896
+ outline: 2px solid var(--jsl-color-focus);
897
+ outline-offset: 3px;
3324
898
  }
3325
899
 
3326
- .jsl-nav-submenu {
3327
- z-index: 1020;
3328
- background: var(--jsl-color-surface);
3329
- border: 1px solid var(--jsl-color-border-subtle);
3330
- top: calc(100% + .375rem);
3331
- border-radius: .625rem;
3332
- width: max-content;
3333
- min-width: 12rem;
3334
- max-width: min(22rem, 100vw - 2rem);
3335
- max-height: min(28rem, 65dvh);
3336
- padding: .375rem;
3337
- position: absolute;
3338
- inset-inline-end: 0;
3339
- overflow: auto;
3340
- box-shadow: 0 8px 24px #0000001a;
900
+ .jsl-dialog > .dlg-header {
901
+ box-sizing: border-box;
902
+ border-bottom: 1px solid var(--jsl-color-border-subtle);
903
+ border-radius: var(--jsl-dialog-radius, .75rem) var(--jsl-dialog-radius, .75rem) 0 0;
904
+ flex: none;
905
+ align-items: center;
906
+ gap: 1rem;
907
+ min-width: 0;
908
+ padding: 1.125rem 1.5rem;
909
+ font-size: 1rem;
910
+ font-weight: 600;
911
+ line-height: 1.5;
912
+ display: flex;
3341
913
  }
3342
914
 
3343
- .jsl-nav-submenu .jsl-nav-submenu {
3344
- border: 0;
3345
- border-inline-start: 1px solid var(--jsl-color-border);
3346
- width: auto;
915
+ .jsl-dialog .dlg-title {
916
+ overflow-wrap: anywhere;
917
+ flex: 1;
3347
918
  min-width: 0;
3348
- max-height: none;
3349
- box-shadow: none;
3350
- border-radius: 0;
3351
- margin: .25rem .5rem .375rem .75rem;
3352
- padding: 0 0 0 .5rem;
3353
- position: static;
3354
919
  }
3355
920
 
3356
- .jsl-navigation--fixed-bottom > .jsl-nav-bar > .jsl-nav-items > li > .jsl-nav-submenu {
3357
- top: auto;
3358
- bottom: calc(100% + .375rem);
3359
- }
3360
-
3361
- .jsl-nav-toggle {
3362
- width: 2.25rem;
3363
- margin-inline-start: auto;
3364
- padding: .5rem;
3365
- display: none;
921
+ .jsl-dialog-moveable > .dlg-header {
922
+ cursor: move;
923
+ touch-action: none;
3366
924
  }
3367
925
 
3368
- .jsl-nav-menu-icon, .jsl-nav-menu-icon:before, .jsl-nav-menu-icon:after {
3369
- background: currentColor;
3370
- width: 1rem;
3371
- height: 1.5px;
3372
- display: block;
926
+ .jsl-dialog .dlg-close-btn {
927
+ box-sizing: border-box;
928
+ width: 2rem;
929
+ height: 2rem;
930
+ color: var(--jsl-color-text-secondary);
931
+ font: inherit;
932
+ cursor: pointer;
933
+ background: none;
934
+ border: 1px solid #0000;
935
+ border-radius: .375rem;
936
+ flex: none;
937
+ justify-content: center;
938
+ align-items: center;
939
+ margin: -.25rem -.5rem -.25rem auto;
940
+ padding: 0;
941
+ display: inline-flex;
3373
942
  position: relative;
3374
943
  }
3375
944
 
3376
- .jsl-nav-menu-icon:before, .jsl-nav-menu-icon:after {
945
+ .jsl-dialog .dlg-close-btn:before, .jsl-dialog .dlg-close-btn:after {
3377
946
  content: "";
947
+ background: currentColor;
948
+ border-radius: 1px;
949
+ width: .875rem;
950
+ height: 1.5px;
3378
951
  position: absolute;
3379
- top: -.3125rem;
3380
- left: 0;
3381
- }
3382
-
3383
- .jsl-nav-menu-icon:after {
3384
- top: .3125rem;
3385
- }
3386
-
3387
- .is-open > .jsl-nav-toggle .jsl-nav-menu-icon {
3388
- background: none;
3389
- }
3390
-
3391
- .is-open > .jsl-nav-toggle .jsl-nav-menu-icon:before {
3392
- top: 0;
3393
952
  transform: rotate(45deg);
3394
953
  }
3395
954
 
3396
- .is-open > .jsl-nav-toggle .jsl-nav-menu-icon:after {
3397
- top: 0;
955
+ .jsl-dialog .dlg-close-btn:after {
3398
956
  transform: rotate(-45deg);
3399
957
  }
3400
958
 
3401
- @container (width <= 40rem) {
3402
- .jsl-nav-toggle {
3403
- display: inline-flex;
3404
- }
3405
-
3406
- .jsl-nav-brand {
3407
- max-width: calc(100% - 4rem);
3408
- }
3409
-
3410
- .jsl-nav-items {
3411
- border-top: 1px solid var(--jsl-color-border-subtle);
3412
- width: 100%;
3413
- max-height: 65dvh;
3414
- margin-inline-start: 0;
3415
- padding-top: .5rem;
3416
- display: none;
3417
- overflow: auto;
3418
- }
3419
-
3420
- .is-open > .jsl-nav-items {
3421
- display: block;
3422
- }
3423
-
3424
- .jsl-nav-item + .jsl-nav-item {
3425
- margin-top: .125rem;
3426
- }
3427
-
3428
- .jsl-nav-items .jsl-nav-submenu {
3429
- border: 0;
3430
- border-inline-start: 1px solid var(--jsl-color-border);
3431
- width: auto;
3432
- min-width: 0;
3433
- max-width: none;
3434
- max-height: none;
3435
- box-shadow: none;
3436
- border-radius: 0;
3437
- margin: .25rem .5rem .375rem .75rem;
3438
- padding: 0 0 0 .5rem;
3439
- position: static;
3440
- }
959
+ .jsl-dialog .dlg-close-btn:hover {
960
+ background: var(--jsl-color-surface-hover);
961
+ color: var(--jsl-color-text);
3441
962
  }
3442
963
 
3443
- @media (width <= 767px) {
3444
- .jsl-nav-toggle {
3445
- display: inline-flex;
3446
- }
3447
-
3448
- .jsl-nav-brand {
3449
- max-width: calc(100% - 4rem);
3450
- }
3451
-
3452
- .jsl-nav-items {
3453
- border-top: 1px solid var(--jsl-color-border-subtle);
3454
- width: 100%;
3455
- max-height: 65dvh;
3456
- margin-inline-start: 0;
3457
- padding-top: .5rem;
3458
- display: none;
3459
- overflow: auto;
3460
- }
3461
-
3462
- .is-open > .jsl-nav-items {
3463
- display: block;
3464
- }
3465
-
3466
- .jsl-nav-item + .jsl-nav-item {
3467
- margin-top: .125rem;
3468
- }
3469
-
3470
- .jsl-nav-items .jsl-nav-submenu {
3471
- border: 0;
3472
- border-inline-start: 1px solid var(--jsl-color-border);
3473
- width: auto;
3474
- min-width: 0;
3475
- max-width: none;
3476
- max-height: none;
3477
- box-shadow: none;
3478
- border-radius: 0;
3479
- margin: .25rem .5rem .375rem .75rem;
3480
- padding: 0 0 0 .5rem;
3481
- position: static;
3482
- }
964
+ .jsl-dialog .dlg-close-btn:focus-visible {
965
+ outline: 2px solid var(--jsl-color-focus);
966
+ outline-offset: 2px;
3483
967
  }
3484
968
 
3485
- .ribbon-menu-comp {
3486
- background: var(--jsl-color-surface-subtle);
3487
- color: var(--jsl-color-text);
3488
- border: 1px solid var(--jsl-color-border-subtle);
969
+ .jsl-dialog > .dlg-body {
3489
970
  box-sizing: border-box;
3490
- border-radius: 0;
3491
- flex-wrap: wrap;
3492
- align-items: stretch;
3493
- gap: .75rem;
3494
- margin: 0;
3495
- padding: .75rem;
3496
- display: flex;
3497
- }
3498
-
3499
- .ribbon-menu-comp .ribbon-group {
3500
- border-inline-end: 1px solid var(--jsl-color-border-subtle);
3501
- flex-direction: column;
3502
- gap: .5rem;
971
+ overflow-wrap: anywhere;
972
+ overscroll-behavior: contain;
973
+ flex: auto;
3503
974
  min-width: 0;
3504
- padding-inline-end: .75rem;
3505
- display: flex;
975
+ min-height: 0;
976
+ padding: 1.5rem;
977
+ overflow: auto;
3506
978
  }
3507
979
 
3508
- .ribbon-menu-comp .ribbon-group:last-child {
3509
- border-inline-end: 0;
3510
- padding-inline-end: 0;
980
+ .jsl-dialog > .dlg-footer {
981
+ box-sizing: border-box;
982
+ border-top: 1px solid var(--jsl-color-border-subtle);
983
+ border-radius: 0 0 var(--jsl-dialog-radius, .75rem) var(--jsl-dialog-radius, .75rem);
984
+ background: var(--jsl-color-surface-subtle);
985
+ text-align: end;
986
+ flex: none;
987
+ padding: 1rem 1.5rem;
3511
988
  }
3512
989
 
3513
- .ribbon-actions {
990
+ .jsl-dialog > .dlg-footer > div, .jsl-dialog > .dlg-footer > form {
3514
991
  flex-wrap: wrap;
3515
- flex: 1;
992
+ justify-content: flex-end;
3516
993
  align-items: center;
3517
- gap: .375rem;
994
+ gap: .5rem;
3518
995
  display: flex;
3519
996
  }
3520
997
 
3521
- .ribbon-menu-comp .ribbon-legend {
3522
- color: var(--jsl-color-text-muted);
3523
- text-align: center;
3524
- font-size: .6875rem;
3525
- }
3526
-
3527
- :where(:root) {
3528
- --jsl-color-canvas: #f7f7f8;
3529
- --jsl-color-surface: #fff;
3530
- --jsl-color-surface-subtle: #fafafa;
3531
- --jsl-color-surface-hover: #f0f0f2;
3532
- --jsl-color-surface-selected: #e8e8eb;
3533
- --jsl-color-border: #d4d4d8;
3534
- --jsl-color-border-subtle: #e4e4e7;
3535
- --jsl-color-text: #27272a;
3536
- --jsl-color-text-secondary: #52525b;
3537
- --jsl-color-text-muted: #71717a;
3538
- --jsl-color-accent: #3f3f46;
3539
- --jsl-color-accent-hover: #27272a;
3540
- --jsl-color-accent-active: #18181b;
3541
- --jsl-color-on-accent: #fff;
3542
- --jsl-color-focus: #52525b;
3543
- --jsl-color-danger: #b42318;
3544
- --jsl-color-success: #15803d;
3545
- --jsl-color-warning: #b45309;
3546
- --jsl-color-info: #2563eb;
3547
- --jsl-color-disabled-surface: #f4f4f5;
3548
- --jsl-color-disabled-text: #71717a;
3549
- --jsl-color-overlay: #18181b73;
3550
- --jsl-shadow-dialog: 0 24px 64px #0000002e, 0 4px 16px #00000014;
998
+ .jsl-dialog > .dlg-footer > button + button {
999
+ margin-inline-start: .5rem;
3551
1000
  }
3552
1001
 
3553
- .jsl-overlay-overlay {
3554
- color: var(--jsl-color-text);
3555
- width: fit-content;
3556
- max-width: 100vw;
3557
- height: fit-content;
3558
- max-height: 100dvh;
3559
- font: inherit;
3560
- background: none;
3561
- border: 0;
3562
- margin: 0;
3563
- padding: 0;
3564
- position: fixed;
3565
- inset: 0;
3566
- overflow: visible;
1002
+ .jsl-dialog > .dlg-header[hidden], .jsl-dialog > .dlg-footer[hidden] {
1003
+ display: none;
3567
1004
  }
3568
1005
 
3569
- .jsl-overlay-overlay:has(.overl-body-top) {
3570
- width: 100%;
1006
+ .jsl-dialog .slickgrid {
1007
+ border-radius: 0;
3571
1008
  }
3572
1009
 
3573
- .jsl-overlay-overlay::backdrop {
3574
- background: var(--jsl-color-overlay);
1010
+ .jsl-dialog.resizable > .dlg-res-handle.rs-r.rs-b {
1011
+ cursor: nwse-resize;
1012
+ touch-action: none;
1013
+ background: none;
1014
+ width: 1rem;
1015
+ height: 1rem;
1016
+ bottom: .125rem;
1017
+ right: .125rem;
3575
1018
  }
3576
1019
 
3577
- .jsl-overlay-overlay[hidden] {
3578
- display: none;
1020
+ .jsl-dialog .dlg-res-handle:after {
1021
+ content: "";
1022
+ border-right: 1px solid var(--jsl-color-text-muted);
1023
+ border-bottom: 1px solid var(--jsl-color-text-muted);
1024
+ width: .4rem;
1025
+ height: .4rem;
1026
+ position: absolute;
1027
+ bottom: .2rem;
1028
+ right: .2rem;
3579
1029
  }
3580
1030
 
3581
- .overl-body {
3582
- box-sizing: border-box;
3583
- background: var(--jsl-color-surface);
3584
- box-shadow: var(--jsl-shadow-dialog);
3585
- flex-direction: column;
3586
- display: flex;
3587
- overflow: auto;
3588
- }
1031
+ @media (width <= 480px) {
1032
+ .jsl-dialog {
1033
+ max-width: calc(100% - 1.5rem);
1034
+ max-height: calc(100% - 1.5rem);
1035
+ }
3589
1036
 
3590
- .overl-body-left {
3591
- width: var(--jsl-overlay-size);
3592
- border-radius: 0 .75rem .75rem 0;
3593
- max-width: 100vw;
3594
- height: 100dvh;
3595
- }
1037
+ .jsl-dialog > .dlg-header {
1038
+ padding: 1rem 1.125rem;
1039
+ }
3596
1040
 
3597
- .overl-body-top {
3598
- height: var(--jsl-overlay-size);
3599
- border-radius: 0 0 .75rem .75rem;
3600
- width: 100vw;
3601
- max-height: 100dvh;
3602
- }
1041
+ .jsl-dialog > .dlg-body {
1042
+ padding: 1.125rem;
1043
+ }
3603
1044
 
3604
- .overl-header {
3605
- justify-content: flex-end;
3606
- padding: .75rem .75rem 0;
3607
- display: flex;
1045
+ .jsl-dialog > .dlg-footer {
1046
+ padding: .875rem 1.125rem;
1047
+ }
3608
1048
  }
3609
1049
 
3610
- .overl-content {
3611
- padding: 1.25rem;
3612
- overflow: auto;
1050
+ .v-r-comp, .v-r-comp .v-r-child > * {
1051
+ height: 100%;
3613
1052
  }
3614
1053
 
3615
- .overl-close-btn {
3616
- width: 2rem;
3617
- height: 2rem;
3618
- color: var(--jsl-color-text-muted);
3619
- font: inherit;
3620
- cursor: pointer;
3621
- background: none;
3622
- border: 0;
3623
- border-radius: .375rem;
3624
- place-items: center;
3625
- padding: 0;
3626
- font-size: 1.5rem;
3627
- display: grid;
1054
+ .cell-reorder {
1055
+ cursor: move;
1056
+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAMAAABhq6zVAAADAFBMVEUAAACWlpbY2NgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADmpIfcAAABAHRSTlP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AU/cHJQAAABlJREFUCNdj+I8EGFA5jHAA5DDBAW2VIQEAmyRUB6U7kZIAAAAASUVORK5CYII=");
1057
+ background-position: center;
1058
+ background-repeat: no-repeat;
3628
1059
  }
3629
1060
 
3630
- .overl-close-btn:hover {
3631
- background: var(--jsl-color-surface-hover);
3632
- color: var(--jsl-color-text);
1061
+ .header-overlay {
1062
+ background-color: #217346;
3633
1063
  }
3634
1064
 
3635
- .overl-close-btn:focus-visible {
3636
- outline: 2px solid var(--jsl-color-focus);
3637
- outline-offset: 2px;
1065
+ .cell-overlay, .selection-cell-overlay {
1066
+ z-index: 20;
1067
+ background-color: #217346;
1068
+ display: block;
1069
+ position: absolute;
3638
1070
  }
3639
1071
 
3640
- .overl-body-left.overl-animate {
3641
- animation: .18s ease-out jsl-panel-left;
1072
+ .handle-overlay {
1073
+ z-index: 20;
1074
+ cursor: crosshair;
1075
+ background-color: #217346;
1076
+ border: 1px solid #fff;
1077
+ width: 2px;
1078
+ height: 2px;
1079
+ padding: 3px;
1080
+ position: absolute;
3642
1081
  }
3643
1082
 
3644
- .overl-body-top.overl-animate {
3645
- animation: .18s ease-out jsl-panel-top;
1083
+ .overlay-handle-decorator {
1084
+ z-index: 20;
1085
+ border: 2px solid #217346;
3646
1086
  }
3647
1087
 
3648
- @keyframes jsl-panel-left {
3649
- from {
3650
- transform: translateX(-100%);
3651
- }
1088
+ .slick-cell .jsl-toggle {
1089
+ color: #888;
1090
+ box-sizing: border-box;
1091
+ cursor: pointer;
1092
+ width: 1.2em;
1093
+ height: 100%;
1094
+ display: inline-block;
3652
1095
  }
3653
1096
 
3654
- @keyframes jsl-panel-top {
3655
- from {
3656
- transform: translateY(-100%);
3657
- }
1097
+ .slick-cell .jsl-toggle-spacer {
1098
+ box-sizing: border-box;
1099
+ min-width: 1.2em;
1100
+ display: inline-block;
3658
1101
  }
3659
1102
 
3660
- @media (prefers-reduced-motion: reduce) {
3661
- .overl-animate {
3662
- animation: none !important;
3663
- }
1103
+ .slick-cell .jsl-indent {
1104
+ display: inline-block;
1105
+ position: relative;
3664
1106
  }
3665
1107
  /*# sourceMappingURL=index.css.map */