@livenetworks/ashlar 2.1.13 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/COMPONENTS.md +80 -80
- package/components/ln-api-connector/ln-api-connector.schema.json +105 -105
- package/components/ln-chart/ln-chart-dev.scss +0 -4
- package/components/ln-core/README.md +21 -21
- package/components/ln-core/ln-core.schema.json +120 -120
- package/components/ln-core/query.js +113 -113
- package/components/ln-data-coordinator/README.md +2 -0
- package/components/ln-data-coordinator/ln-data-coordinator.js +1 -1
- package/components/ln-data-coordinator/ln-data-coordinator.schema.json +196 -196
- package/components/ln-data-coordinator/src/ln-data-coordinator.js +457 -432
- package/components/ln-data-store/ln-data-store.schema.json +92 -92
- package/components/ln-date/ln-date.js +1 -1
- package/components/ln-date/src/ln-date.js +1 -1
- package/components/ln-debug/ln-debug.js +1 -1
- package/components/ln-debug/ln-debug.schema.json +28 -28
- package/components/ln-debug/src/generated-attributes.js +304 -302
- package/components/ln-dropdown/ln-dropdown.schema.json +90 -90
- package/components/ln-external-links/README.md +19 -19
- package/components/ln-external-links/ln-external-links.js +1 -1
- package/components/ln-external-links/ln-external-links.schema.json +9 -0
- package/components/ln-external-links/ln-external-links.scss +12 -0
- package/components/ln-external-links/src/ln-external-links.js +3 -2
- package/components/ln-filter/README.md +2 -1
- package/components/ln-filter/ln-filter.js +1 -1
- package/components/ln-filter/ln-filter.schema.json +157 -169
- package/components/ln-filter/src/ln-filter.js +1 -3
- package/components/ln-form/ln-form.schema.json +57 -57
- package/components/ln-key/ln-key.js +1 -1
- package/components/ln-key/ln-key.schema.json +8 -0
- package/components/ln-key/src/ln-key.js +8 -5
- package/components/ln-obfuscator/ln-obfuscator.js +1 -1
- package/components/ln-obfuscator/ln-obfuscator.schema.json +6 -0
- package/components/ln-obfuscator/src/ln-obfuscator.js +2 -2
- package/components/ln-options/ln-options.schema.json +47 -47
- package/components/ln-popover/ln-popover.schema.json +82 -82
- package/components/ln-progress/ln-progress.schema.json +0 -13
- package/components/ln-search/ln-search.schema.json +111 -111
- package/components/ln-sort/README.md +1 -0
- package/components/ln-sort/ln-sort.js +1 -1
- package/components/ln-sort/ln-sort.schema.json +100 -112
- package/components/ln-sort/src/sort-model.js +1 -6
- package/components/ln-sortable/ln-sortable.schema.json +38 -38
- package/components/ln-sortable/ln-sortable.scss +25 -25
- package/components/ln-table/README.md +8 -1
- package/components/ln-table/ln-table.js +1 -1
- package/components/ln-table/ln-table.schema.json +195 -195
- package/components/ln-table/src/ln-table.js +43 -7
- package/components/ln-table-coordinator/ln-table-coordinator.js +1 -1
- package/components/ln-table-coordinator/ln-table-coordinator.schema.json +18 -0
- package/components/ln-table-coordinator/src/ln-table-coordinator.js +104 -2
- package/components/ln-toast/README.md +1 -1
- package/components/ln-toast/ln-toast.js +1 -1
- package/components/ln-toast/ln-toast.schema.json +6 -0
- package/components/ln-toast/src/ln-toast.js +1 -1
- package/components/ln-validate/README.md +6 -6
- package/components/ln-validate/ln-validate-dev.scss +0 -5
- package/components/ln-validate/ln-validate.js +1 -1
- package/components/ln-validate/ln-validate.schema.json +0 -6
- package/components/ln-validate/src/ln-validate.js +48 -29
- package/ln-ashlar.html-data.json +1824 -1814
- package/package.json +95 -95
- package/theme/README.md +7 -6
- package/theme/base/_global.scss +2 -2
- package/theme/base/_reset.scss +11 -0
- package/theme/components/_app-shell.scss +0 -8
- package/theme/components/_form.scss +6 -6
- package/theme/components/_ln-table.scss +6 -3
- package/theme/components/_scrollbar.scss +5 -4
- package/theme/components/_sortable.scss +19 -19
- package/theme/components/_stat-card.scss +1 -0
- package/theme/components/_table.scss +10 -33
- package/theme/config/_density.scss +236 -104
- package/theme/config/_palette.scss +71 -49
- package/theme/config/_theme.scss +27 -31
- package/theme/config/_tokens.scss +28 -26
- package/theme/config/mixins/_app-shell.scss +17 -21
- package/theme/config/mixins/_btn.scss +4 -2
- package/theme/config/mixins/_card.scss +87 -67
- package/theme/config/mixins/_colors.scss +2 -1
- package/theme/config/mixins/_display.scss +12 -0
- package/theme/config/mixins/_footer.scss +3 -1
- package/theme/config/mixins/_form.scss +48 -16
- package/theme/config/mixins/_layout.scss +9 -0
- package/theme/config/mixins/_ln-table.scss +22 -15
- package/theme/config/mixins/_modal.scss +3 -0
- package/theme/config/mixins/_nav.scss +27 -4
- package/theme/config/mixins/_sidebar.scss +2 -1
- package/theme/config/mixins/_stat-card.scss +33 -2
- package/theme/config/mixins/_status-badge.scss +1 -0
- package/theme/config/mixins/_table.scss +81 -39
- package/theme/config/mixins/_tabs.scss +31 -0
- package/theme/config/mixins/_toast.scss +0 -1
- package/theme/designs/relaxed/_card.scss +12 -0
- package/theme/designs/relaxed/_layout.scss +24 -0
- package/theme/ln-ashlar-core.scss +1 -0
- package/theme/ln-ashlar-dev.scss +0 -1
- package/theme/ln-ashlar-relaxed.scss +67 -0
- package/theme/tailwind/components.css +561 -24
- package/theme/utilities/_utilities.scss +1 -11
- package/web-types.json +2351 -2337
- package/components/ln-progress/ln-progress-dev.scss +0 -8
|
@@ -147,6 +147,18 @@ body:has(.app-wrapper) {
|
|
|
147
147
|
position: relative;
|
|
148
148
|
}
|
|
149
149
|
|
|
150
|
+
.app-header .header-actions button:has(> .ln-icon:only-child),
|
|
151
|
+
.app-header .header-actions button:has(> .ln-icon):not(:has(span)),
|
|
152
|
+
.app-header .menu-toggle {
|
|
153
|
+
width: 2.25rem;
|
|
154
|
+
height: 2.25rem;
|
|
155
|
+
padding: 0;
|
|
156
|
+
display: inline-flex;
|
|
157
|
+
align-items: center;
|
|
158
|
+
justify-content: center;
|
|
159
|
+
border-radius: 0.5rem;
|
|
160
|
+
}
|
|
161
|
+
|
|
150
162
|
/* Main inner viewport */
|
|
151
163
|
.app-main {
|
|
152
164
|
display: flex;
|
|
@@ -214,6 +226,7 @@ body:has(.app-wrapper) {
|
|
|
214
226
|
padding: 1rem;
|
|
215
227
|
gap: 1rem;
|
|
216
228
|
overflow-y: auto;
|
|
229
|
+
transform: translateX(-100%);
|
|
217
230
|
transition: transform 0.2s ease;
|
|
218
231
|
}
|
|
219
232
|
|
|
@@ -223,18 +236,49 @@ body:has(.app-wrapper) {
|
|
|
223
236
|
border-right-color: #1e293b;
|
|
224
237
|
}
|
|
225
238
|
|
|
239
|
+
.app-sidebar[data-ln-toggle="open"],
|
|
240
|
+
aside.app-sidebar[data-ln-toggle="open"] {
|
|
241
|
+
transform: translateX(0);
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
.app-sidebar[data-ln-toggle="close"],
|
|
245
|
+
aside.app-sidebar[data-ln-toggle="close"] {
|
|
246
|
+
transform: translateX(-100%);
|
|
247
|
+
}
|
|
248
|
+
|
|
226
249
|
@media (max-width: 767px) {
|
|
227
|
-
.app-sidebar
|
|
228
|
-
aside.app-sidebar
|
|
229
|
-
|
|
250
|
+
.app-sidebar,
|
|
251
|
+
aside.app-sidebar {
|
|
252
|
+
z-index: 45;
|
|
230
253
|
}
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
/* Scrim overlay for mobile drawer */
|
|
257
|
+
.app-scrim {
|
|
258
|
+
position: fixed;
|
|
259
|
+
inset: 0;
|
|
260
|
+
background-color: rgba(0, 0, 0, 0.4);
|
|
261
|
+
z-index: 40;
|
|
262
|
+
opacity: 0;
|
|
263
|
+
pointer-events: none;
|
|
264
|
+
transition: opacity 0.2s ease;
|
|
265
|
+
cursor: pointer;
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
aside[data-ln-toggle="open"] ~ .app-scrim,
|
|
269
|
+
.app-sidebar[data-ln-toggle="open"] ~ .app-scrim {
|
|
270
|
+
opacity: 1;
|
|
271
|
+
pointer-events: auto;
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
@media (min-width: 768px) {
|
|
275
|
+
.app-scrim {
|
|
276
|
+
display: none;
|
|
234
277
|
}
|
|
235
278
|
}
|
|
236
279
|
|
|
237
280
|
.app-sidebar header {
|
|
281
|
+
position: relative;
|
|
238
282
|
display: flex;
|
|
239
283
|
flex-direction: column;
|
|
240
284
|
gap: 0.75rem;
|
|
@@ -242,6 +286,38 @@ body:has(.app-wrapper) {
|
|
|
242
286
|
border-bottom: 1px solid #e2e8f0;
|
|
243
287
|
}
|
|
244
288
|
|
|
289
|
+
.app-sidebar header [data-ln-toggle-action="close"] {
|
|
290
|
+
position: absolute;
|
|
291
|
+
top: 0;
|
|
292
|
+
right: 0;
|
|
293
|
+
width: 1.75rem;
|
|
294
|
+
height: 1.75rem;
|
|
295
|
+
padding: 0;
|
|
296
|
+
display: inline-flex;
|
|
297
|
+
align-items: center;
|
|
298
|
+
justify-content: center;
|
|
299
|
+
background: transparent;
|
|
300
|
+
border: none;
|
|
301
|
+
border-radius: 0.375rem;
|
|
302
|
+
color: #64748b;
|
|
303
|
+
cursor: pointer;
|
|
304
|
+
box-shadow: none;
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
.app-sidebar header [data-ln-toggle-action="close"]:hover {
|
|
308
|
+
background-color: #f1f5f9;
|
|
309
|
+
color: #0f172a;
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
[data-mode="dark"] .app-sidebar header [data-ln-toggle-action="close"] {
|
|
313
|
+
color: #94a3b8;
|
|
314
|
+
}
|
|
315
|
+
|
|
316
|
+
[data-mode="dark"] .app-sidebar header [data-ln-toggle-action="close"]:hover {
|
|
317
|
+
background-color: #1e293b;
|
|
318
|
+
color: #f8fafc;
|
|
319
|
+
}
|
|
320
|
+
|
|
245
321
|
[data-mode="dark"] .app-sidebar header {
|
|
246
322
|
border-bottom-color: #1e293b;
|
|
247
323
|
}
|
|
@@ -272,12 +348,15 @@ body:has(.app-wrapper) {
|
|
|
272
348
|
.app-sidebar header label.search {
|
|
273
349
|
display: flex;
|
|
274
350
|
align-items: center;
|
|
275
|
-
gap: 0.
|
|
351
|
+
gap: 0.375rem;
|
|
276
352
|
padding: 0.375rem 0.625rem;
|
|
277
353
|
background-color: #f1f5f9; /* slate-100 */
|
|
278
354
|
border: 1px solid #e2e8f0;
|
|
279
355
|
border-radius: 0.5rem;
|
|
280
356
|
color: #64748b;
|
|
357
|
+
width: 100%;
|
|
358
|
+
box-sizing: border-box;
|
|
359
|
+
transition: all 0.15s ease-in-out;
|
|
281
360
|
}
|
|
282
361
|
|
|
283
362
|
[data-mode="dark"] .app-sidebar header search,
|
|
@@ -287,13 +366,31 @@ body:has(.app-wrapper) {
|
|
|
287
366
|
color: #94a3b8;
|
|
288
367
|
}
|
|
289
368
|
|
|
369
|
+
.app-sidebar header search:focus-within,
|
|
370
|
+
.app-sidebar header label.search:focus-within {
|
|
371
|
+
border-color: #4f46e5;
|
|
372
|
+
background-color: #ffffff;
|
|
373
|
+
box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.15);
|
|
374
|
+
}
|
|
375
|
+
|
|
376
|
+
[data-mode="dark"] .app-sidebar header search:focus-within,
|
|
377
|
+
[data-mode="dark"] .app-sidebar header label.search:focus-within {
|
|
378
|
+
border-color: #818cf8;
|
|
379
|
+
background-color: #0f172a;
|
|
380
|
+
box-shadow: 0 0 0 3px rgba(129, 140, 248, 0.2);
|
|
381
|
+
}
|
|
382
|
+
|
|
290
383
|
.app-sidebar header search input {
|
|
291
|
-
border: none;
|
|
292
|
-
background: transparent;
|
|
293
|
-
font-size: 0.8125rem;
|
|
294
|
-
outline: none;
|
|
295
|
-
|
|
296
|
-
|
|
384
|
+
border: none !important;
|
|
385
|
+
background: transparent !important;
|
|
386
|
+
font-size: 0.8125rem !important;
|
|
387
|
+
outline: none !important;
|
|
388
|
+
box-shadow: none !important;
|
|
389
|
+
flex: 1 1 0% !important;
|
|
390
|
+
min-width: 0 !important;
|
|
391
|
+
width: 100% !important;
|
|
392
|
+
color: inherit !important;
|
|
393
|
+
padding: 0 !important;
|
|
297
394
|
}
|
|
298
395
|
|
|
299
396
|
.app-sidebar footer {
|
|
@@ -844,12 +941,15 @@ table thead, [data-ln-table] thead {
|
|
|
844
941
|
}
|
|
845
942
|
|
|
846
943
|
table th, [data-ln-table] th {
|
|
944
|
+
position: relative;
|
|
847
945
|
padding: 0.75rem 1rem;
|
|
848
946
|
font-size: 0.75rem;
|
|
849
947
|
font-weight: 600;
|
|
850
948
|
text-transform: uppercase;
|
|
851
949
|
letter-spacing: 0.05em;
|
|
852
950
|
color: #64748b;
|
|
951
|
+
vertical-align: middle;
|
|
952
|
+
white-space: nowrap;
|
|
853
953
|
}
|
|
854
954
|
|
|
855
955
|
[data-mode="dark"] table th,
|
|
@@ -857,6 +957,194 @@ table th, [data-ln-table] th {
|
|
|
857
957
|
color: #94a3b8;
|
|
858
958
|
}
|
|
859
959
|
|
|
960
|
+
/* Allocate header space when sort and/or filter controls are present */
|
|
961
|
+
table th:has(:is([data-ln-sort], [data-ln-table-col-filter])),
|
|
962
|
+
[data-ln-table] th:has(:is([data-ln-sort], [data-ln-table-col-filter])) {
|
|
963
|
+
min-width: 6.25rem;
|
|
964
|
+
padding-inline-end: 2.75rem;
|
|
965
|
+
}
|
|
966
|
+
|
|
967
|
+
table th:has([data-ln-sort]):has([data-ln-table-col-filter]),
|
|
968
|
+
[data-ln-table] th:has([data-ln-sort]):has([data-ln-table-col-filter]) {
|
|
969
|
+
min-width: 8.5rem;
|
|
970
|
+
padding-inline-end: 4.5rem;
|
|
971
|
+
}
|
|
972
|
+
|
|
973
|
+
/* Position action buttons inside th */
|
|
974
|
+
table th [data-ln-table-col-filter],
|
|
975
|
+
table th [data-ln-sort],
|
|
976
|
+
[data-ln-table] th [data-ln-table-col-filter],
|
|
977
|
+
[data-ln-table] th [data-ln-sort] {
|
|
978
|
+
position: absolute;
|
|
979
|
+
top: 50%;
|
|
980
|
+
transform: translateY(-50%);
|
|
981
|
+
right: 0.75rem;
|
|
982
|
+
margin: 0;
|
|
983
|
+
}
|
|
984
|
+
|
|
985
|
+
/* When both sort and filter exist: sort button sits to the left of the filter button */
|
|
986
|
+
table th:has([data-ln-table-col-filter]) [data-ln-sort],
|
|
987
|
+
[data-ln-table] th:has([data-ln-table-col-filter]) [data-ln-sort] {
|
|
988
|
+
right: 2.5rem;
|
|
989
|
+
}
|
|
990
|
+
|
|
991
|
+
/* --------------------------------------------------------------------------
|
|
992
|
+
Table Column Sort ([data-ln-sort])
|
|
993
|
+
-------------------------------------------------------------------------- */
|
|
994
|
+
[data-ln-sort] {
|
|
995
|
+
display: inline-flex;
|
|
996
|
+
align-items: center;
|
|
997
|
+
list-style: none !important;
|
|
998
|
+
list-style-type: none !important;
|
|
999
|
+
margin: 0;
|
|
1000
|
+
padding: 0;
|
|
1001
|
+
vertical-align: middle;
|
|
1002
|
+
}
|
|
1003
|
+
|
|
1004
|
+
[data-ln-sort] li {
|
|
1005
|
+
list-style: none !important;
|
|
1006
|
+
list-style-type: none !important;
|
|
1007
|
+
margin: 0;
|
|
1008
|
+
padding: 0;
|
|
1009
|
+
display: contents;
|
|
1010
|
+
}
|
|
1011
|
+
|
|
1012
|
+
/* Base sort button styling — hidden by default so only active trigger shows */
|
|
1013
|
+
[data-ln-sort] button {
|
|
1014
|
+
display: none;
|
|
1015
|
+
width: 1.75rem;
|
|
1016
|
+
height: 1.75rem;
|
|
1017
|
+
padding: 0;
|
|
1018
|
+
border: none;
|
|
1019
|
+
background: transparent;
|
|
1020
|
+
box-shadow: none;
|
|
1021
|
+
border-radius: 9999px;
|
|
1022
|
+
cursor: pointer;
|
|
1023
|
+
color: #64748b;
|
|
1024
|
+
opacity: 0.45;
|
|
1025
|
+
transition: all 0.15s ease-in-out;
|
|
1026
|
+
align-items: center;
|
|
1027
|
+
justify-content: center;
|
|
1028
|
+
}
|
|
1029
|
+
|
|
1030
|
+
[data-mode="dark"] [data-ln-sort] button {
|
|
1031
|
+
color: #94a3b8;
|
|
1032
|
+
}
|
|
1033
|
+
|
|
1034
|
+
/* Hover reveals sort trigger button clearly */
|
|
1035
|
+
th:hover [data-ln-sort] button,
|
|
1036
|
+
[data-ln-table] th:hover [data-ln-sort] button {
|
|
1037
|
+
opacity: 0.75;
|
|
1038
|
+
}
|
|
1039
|
+
|
|
1040
|
+
[data-ln-sort] button:hover {
|
|
1041
|
+
opacity: 1 !important;
|
|
1042
|
+
background-color: rgba(79, 70, 229, 0.1);
|
|
1043
|
+
color: #4f46e5;
|
|
1044
|
+
}
|
|
1045
|
+
|
|
1046
|
+
[data-mode="dark"] [data-ln-sort] button:hover {
|
|
1047
|
+
background-color: rgba(129, 140, 248, 0.15);
|
|
1048
|
+
color: #818cf8;
|
|
1049
|
+
}
|
|
1050
|
+
|
|
1051
|
+
/* Active 3-trigger cycle display rules (circular cycle: none -> asc -> desc -> none) */
|
|
1052
|
+
[data-ln-sort]:not([data-ln-sort-state]) [data-ln-sort-dir="asc"],
|
|
1053
|
+
[data-ln-sort][data-ln-sort-state="none"] [data-ln-sort-dir="asc"],
|
|
1054
|
+
[data-ln-sort][data-ln-sort-state="asc"] [data-ln-sort-dir="desc"],
|
|
1055
|
+
[data-ln-sort][data-ln-sort-state="desc"] [data-ln-sort-dir="none"] {
|
|
1056
|
+
display: inline-flex;
|
|
1057
|
+
}
|
|
1058
|
+
|
|
1059
|
+
/* When column is sorted (asc or desc), highlight the button */
|
|
1060
|
+
[data-ln-sort][data-ln-sort-state="asc"] button,
|
|
1061
|
+
[data-ln-sort][data-ln-sort-state="desc"] button {
|
|
1062
|
+
opacity: 1;
|
|
1063
|
+
color: #4f46e5;
|
|
1064
|
+
}
|
|
1065
|
+
|
|
1066
|
+
[data-mode="dark"] [data-ln-sort][data-ln-sort-state="asc"] button,
|
|
1067
|
+
[data-mode="dark"] [data-ln-sort][data-ln-sort-state="desc"] button {
|
|
1068
|
+
color: #818cf8;
|
|
1069
|
+
}
|
|
1070
|
+
|
|
1071
|
+
[data-ln-sort] .ln-icon {
|
|
1072
|
+
width: 1.125rem;
|
|
1073
|
+
height: 1.125rem;
|
|
1074
|
+
}
|
|
1075
|
+
|
|
1076
|
+
/* --------------------------------------------------------------------------
|
|
1077
|
+
Table Column Filter Button ([data-ln-table-col-filter])
|
|
1078
|
+
-------------------------------------------------------------------------- */
|
|
1079
|
+
[data-ln-table-col-filter] {
|
|
1080
|
+
width: 1.75rem;
|
|
1081
|
+
height: 1.75rem;
|
|
1082
|
+
display: inline-flex;
|
|
1083
|
+
align-items: center;
|
|
1084
|
+
justify-content: center;
|
|
1085
|
+
padding: 0;
|
|
1086
|
+
border: none;
|
|
1087
|
+
background: transparent;
|
|
1088
|
+
box-shadow: none;
|
|
1089
|
+
border-radius: 9999px;
|
|
1090
|
+
cursor: pointer;
|
|
1091
|
+
color: #64748b;
|
|
1092
|
+
opacity: 0.45;
|
|
1093
|
+
transition: all 0.15s ease-in-out;
|
|
1094
|
+
vertical-align: middle;
|
|
1095
|
+
position: relative;
|
|
1096
|
+
}
|
|
1097
|
+
|
|
1098
|
+
[data-mode="dark"] [data-ln-table-col-filter] {
|
|
1099
|
+
color: #94a3b8;
|
|
1100
|
+
}
|
|
1101
|
+
|
|
1102
|
+
th:hover [data-ln-table-col-filter],
|
|
1103
|
+
[data-ln-table] th:hover [data-ln-table-col-filter] {
|
|
1104
|
+
opacity: 0.75;
|
|
1105
|
+
}
|
|
1106
|
+
|
|
1107
|
+
[data-ln-table-col-filter]:hover {
|
|
1108
|
+
opacity: 1 !important;
|
|
1109
|
+
background-color: rgba(79, 70, 229, 0.1);
|
|
1110
|
+
color: #4f46e5;
|
|
1111
|
+
}
|
|
1112
|
+
|
|
1113
|
+
[data-mode="dark"] [data-ln-table-col-filter]:hover {
|
|
1114
|
+
background-color: rgba(129, 140, 248, 0.15);
|
|
1115
|
+
color: #818cf8;
|
|
1116
|
+
}
|
|
1117
|
+
|
|
1118
|
+
/* Active filter state indicator */
|
|
1119
|
+
[data-ln-table-col-filter].ln-filter-active {
|
|
1120
|
+
opacity: 1;
|
|
1121
|
+
color: #4f46e5;
|
|
1122
|
+
}
|
|
1123
|
+
|
|
1124
|
+
[data-mode="dark"] [data-ln-table-col-filter].ln-filter-active {
|
|
1125
|
+
color: #818cf8;
|
|
1126
|
+
}
|
|
1127
|
+
|
|
1128
|
+
[data-ln-table-col-filter].ln-filter-active::after {
|
|
1129
|
+
content: '';
|
|
1130
|
+
position: absolute;
|
|
1131
|
+
top: 0.125rem;
|
|
1132
|
+
right: 0.125rem;
|
|
1133
|
+
width: 0.375rem;
|
|
1134
|
+
height: 0.375rem;
|
|
1135
|
+
border-radius: 9999px;
|
|
1136
|
+
background-color: #4f46e5;
|
|
1137
|
+
}
|
|
1138
|
+
|
|
1139
|
+
[data-mode="dark"] [data-ln-table-col-filter].ln-filter-active::after {
|
|
1140
|
+
background-color: #818cf8;
|
|
1141
|
+
}
|
|
1142
|
+
|
|
1143
|
+
[data-ln-table-col-filter] .ln-icon {
|
|
1144
|
+
width: 1.125rem;
|
|
1145
|
+
height: 1.125rem;
|
|
1146
|
+
}
|
|
1147
|
+
|
|
860
1148
|
table td, [data-ln-table] td {
|
|
861
1149
|
padding: 0.875rem 1rem;
|
|
862
1150
|
border-bottom: 1px solid #f1f5f9;
|
|
@@ -879,6 +1167,60 @@ table tbody tr:hover td,
|
|
|
879
1167
|
background-color: rgba(30, 41, 59, 0.5);
|
|
880
1168
|
}
|
|
881
1169
|
|
|
1170
|
+
/* Table Checkbox & Row Selection */
|
|
1171
|
+
table input[type="checkbox"],
|
|
1172
|
+
[data-ln-table] input[type="checkbox"] {
|
|
1173
|
+
accent-color: #4f46e5;
|
|
1174
|
+
cursor: pointer;
|
|
1175
|
+
width: 1rem;
|
|
1176
|
+
height: 1rem;
|
|
1177
|
+
border-radius: 0.25rem;
|
|
1178
|
+
vertical-align: middle;
|
|
1179
|
+
}
|
|
1180
|
+
|
|
1181
|
+
table tbody tr.selected td,
|
|
1182
|
+
table tbody tr.ln-row-selected td,
|
|
1183
|
+
table tbody tr:has(input[type="checkbox"]:checked) td,
|
|
1184
|
+
[data-ln-table] tbody tr.selected td,
|
|
1185
|
+
[data-ln-table] tbody tr.ln-row-selected td,
|
|
1186
|
+
[data-ln-table] tbody tr:has(input[type="checkbox"]:checked) td {
|
|
1187
|
+
background-color: rgba(79, 70, 229, 0.08);
|
|
1188
|
+
}
|
|
1189
|
+
|
|
1190
|
+
[data-mode="dark"] table tbody tr.selected td,
|
|
1191
|
+
[data-mode="dark"] table tbody tr.ln-row-selected td,
|
|
1192
|
+
[data-mode="dark"] table tbody tr:has(input[type="checkbox"]:checked) td,
|
|
1193
|
+
[data-mode="dark"] [data-ln-table] tbody tr.selected td,
|
|
1194
|
+
[data-mode="dark"] [data-ln-table] tbody tr.ln-row-selected td,
|
|
1195
|
+
[data-mode="dark"] [data-ln-table] tbody tr:has(input[type="checkbox"]:checked) td {
|
|
1196
|
+
background-color: rgba(129, 140, 248, 0.15);
|
|
1197
|
+
}
|
|
1198
|
+
|
|
1199
|
+
/* Table Row Actions */
|
|
1200
|
+
td:has(.table-row-actions) {
|
|
1201
|
+
position: relative;
|
|
1202
|
+
}
|
|
1203
|
+
|
|
1204
|
+
.table-row-actions {
|
|
1205
|
+
display: flex;
|
|
1206
|
+
align-items: center;
|
|
1207
|
+
gap: 0.5rem;
|
|
1208
|
+
position: absolute;
|
|
1209
|
+
right: 1rem;
|
|
1210
|
+
top: 50%;
|
|
1211
|
+
transform: translateY(-50%);
|
|
1212
|
+
opacity: 0;
|
|
1213
|
+
pointer-events: none;
|
|
1214
|
+
visibility: hidden;
|
|
1215
|
+
transition: opacity 0.15s ease-in-out, visibility 0.15s;
|
|
1216
|
+
}
|
|
1217
|
+
|
|
1218
|
+
tr:hover .table-row-actions {
|
|
1219
|
+
opacity: 1;
|
|
1220
|
+
pointer-events: auto;
|
|
1221
|
+
visibility: visible;
|
|
1222
|
+
}
|
|
1223
|
+
|
|
882
1224
|
.ln-table__toolbar,
|
|
883
1225
|
[data-ln-table] > header {
|
|
884
1226
|
display: flex;
|
|
@@ -887,28 +1229,154 @@ table tbody tr:hover td,
|
|
|
887
1229
|
gap: 0.75rem;
|
|
888
1230
|
padding: 0.75rem 1rem;
|
|
889
1231
|
border-bottom: 1px solid #e2e8f0;
|
|
1232
|
+
background-color: #ffffff;
|
|
890
1233
|
}
|
|
891
1234
|
|
|
892
1235
|
[data-mode="dark"] .ln-table__toolbar,
|
|
893
1236
|
[data-mode="dark"] [data-ln-table] > header {
|
|
894
1237
|
border-bottom-color: #334155;
|
|
1238
|
+
background-color: #0f172a;
|
|
895
1239
|
}
|
|
896
1240
|
|
|
897
|
-
|
|
898
|
-
|
|
1241
|
+
/* Unified search pill/box for search inputs in table toolbar */
|
|
1242
|
+
/* Unified search pill/box for search inputs in table toolbar */
|
|
1243
|
+
.ln-table__toolbar search,
|
|
1244
|
+
.ln-table__toolbar label:has(> input[type="search"]) {
|
|
899
1245
|
display: inline-flex;
|
|
900
1246
|
align-items: center;
|
|
901
|
-
gap: 0.
|
|
902
|
-
|
|
903
|
-
|
|
1247
|
+
gap: 0.375rem;
|
|
1248
|
+
padding: 0.3125rem 0.625rem;
|
|
1249
|
+
background-color: #ffffff;
|
|
1250
|
+
border: 1px solid #cbd5e1;
|
|
1251
|
+
border-radius: 0.5rem;
|
|
1252
|
+
box-shadow: 0 1px 2px #0000000d;
|
|
1253
|
+
transition: all 0.15s ease-in-out;
|
|
1254
|
+
color: #64748b;
|
|
1255
|
+
width: 16rem;
|
|
1256
|
+
max-width: 24rem;
|
|
1257
|
+
box-sizing: border-box;
|
|
904
1258
|
}
|
|
905
1259
|
|
|
906
|
-
.ln-table__toolbar
|
|
907
|
-
.ln-table__toolbar input[type="search"]
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
|
|
1260
|
+
[data-mode="dark"] .ln-table__toolbar search,
|
|
1261
|
+
[data-mode="dark"] .ln-table__toolbar label:has(> input[type="search"]) {
|
|
1262
|
+
background-color: #0f172a;
|
|
1263
|
+
border-color: #334155;
|
|
1264
|
+
color: #94a3b8;
|
|
1265
|
+
}
|
|
1266
|
+
|
|
1267
|
+
.ln-table__toolbar search:focus-within {
|
|
1268
|
+
border-color: #4f46e5;
|
|
1269
|
+
box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.15);
|
|
1270
|
+
}
|
|
1271
|
+
|
|
1272
|
+
[data-mode="dark"] .ln-table__toolbar search:focus-within {
|
|
1273
|
+
border-color: #818cf8;
|
|
1274
|
+
box-shadow: 0 0 0 3px rgba(129, 140, 248, 0.2);
|
|
1275
|
+
}
|
|
1276
|
+
|
|
1277
|
+
.ln-table__toolbar search > .ln-icon,
|
|
1278
|
+
search:has(> input[type="search"]) > .ln-icon {
|
|
1279
|
+
width: 1rem;
|
|
1280
|
+
height: 1rem;
|
|
1281
|
+
flex-shrink: 0;
|
|
1282
|
+
color: #64748b;
|
|
1283
|
+
}
|
|
1284
|
+
|
|
1285
|
+
[data-mode="dark"] .ln-table__toolbar search > .ln-icon,
|
|
1286
|
+
[data-mode="dark"] search:has(> input[type="search"]) > .ln-icon {
|
|
1287
|
+
color: #94a3b8;
|
|
1288
|
+
}
|
|
1289
|
+
|
|
1290
|
+
.ln-table__toolbar search > input,
|
|
1291
|
+
.ln-table__toolbar search input[type="search"],
|
|
1292
|
+
search:has(> input[type="search"]) > input {
|
|
1293
|
+
border: none !important;
|
|
1294
|
+
outline: none !important;
|
|
1295
|
+
background: transparent !important;
|
|
1296
|
+
box-shadow: none !important;
|
|
1297
|
+
padding: 0.125rem 0.25rem !important;
|
|
1298
|
+
font-size: 0.8125rem !important;
|
|
1299
|
+
color: #0f172a !important;
|
|
1300
|
+
flex: 1 1 0% !important;
|
|
1301
|
+
min-width: 0 !important;
|
|
1302
|
+
width: 100% !important;
|
|
1303
|
+
}
|
|
1304
|
+
|
|
1305
|
+
[data-mode="dark"] .ln-table__toolbar search > input,
|
|
1306
|
+
[data-mode="dark"] .ln-table__toolbar search input[type="search"],
|
|
1307
|
+
[data-mode="dark"] search:has(> input[type="search"]) > input {
|
|
1308
|
+
color: #f8fafc !important;
|
|
1309
|
+
}
|
|
1310
|
+
|
|
1311
|
+
/* Clear search button inside search */
|
|
1312
|
+
search button[data-ln-search-clear],
|
|
1313
|
+
.app-sidebar header search button[data-ln-search-clear],
|
|
1314
|
+
.ln-table__toolbar button[data-ln-search-clear] {
|
|
1315
|
+
display: inline-flex;
|
|
1316
|
+
align-items: center;
|
|
1317
|
+
justify-content: center;
|
|
1318
|
+
width: 1.25rem;
|
|
1319
|
+
height: 1.25rem;
|
|
1320
|
+
padding: 0;
|
|
1321
|
+
border: none;
|
|
1322
|
+
background: transparent;
|
|
1323
|
+
box-shadow: none;
|
|
1324
|
+
border-radius: 9999px;
|
|
1325
|
+
color: #94a3b8;
|
|
1326
|
+
cursor: pointer;
|
|
1327
|
+
flex-shrink: 0;
|
|
1328
|
+
margin-left: auto;
|
|
1329
|
+
transition: all 0.15s;
|
|
1330
|
+
}
|
|
1331
|
+
|
|
1332
|
+
search button[data-ln-search-clear]:hover,
|
|
1333
|
+
.app-sidebar header search button[data-ln-search-clear]:hover,
|
|
1334
|
+
.ln-table__toolbar button[data-ln-search-clear]:hover {
|
|
1335
|
+
color: #0f172a;
|
|
1336
|
+
background-color: #e2e8f0;
|
|
1337
|
+
}
|
|
1338
|
+
|
|
1339
|
+
[data-mode="dark"] search button[data-ln-search-clear]:hover,
|
|
1340
|
+
[data-mode="dark"] .app-sidebar header search button[data-ln-search-clear]:hover,
|
|
1341
|
+
[data-mode="dark"] .ln-table__toolbar button[data-ln-search-clear]:hover {
|
|
1342
|
+
color: #f8fafc;
|
|
1343
|
+
background-color: #334155;
|
|
1344
|
+
}
|
|
1345
|
+
|
|
1346
|
+
search button[data-ln-search-clear] .ln-icon,
|
|
1347
|
+
.app-sidebar header search button[data-ln-search-clear] .ln-icon,
|
|
1348
|
+
.ln-table__toolbar button[data-ln-search-clear] .ln-icon {
|
|
1349
|
+
width: 0.875rem;
|
|
1350
|
+
height: 0.875rem;
|
|
1351
|
+
}
|
|
1352
|
+
|
|
1353
|
+
/* Hide clear button when input is empty / placeholder is shown */
|
|
1354
|
+
search:has(> input:placeholder-shown) button[data-ln-search-clear],
|
|
1355
|
+
search > input:placeholder-shown ~ button[data-ln-search-clear],
|
|
1356
|
+
.app-sidebar header search > input:placeholder-shown ~ button[data-ln-search-clear] {
|
|
1357
|
+
visibility: hidden;
|
|
1358
|
+
opacity: 0;
|
|
1359
|
+
pointer-events: none;
|
|
1360
|
+
}
|
|
1361
|
+
|
|
1362
|
+
/* Table footer */
|
|
1363
|
+
.ln-table__footer,
|
|
1364
|
+
[data-ln-table] > footer {
|
|
1365
|
+
display: flex;
|
|
1366
|
+
align-items: center;
|
|
1367
|
+
justify-content: space-between;
|
|
1368
|
+
padding: 0.75rem 1rem;
|
|
1369
|
+
border-top: 1px solid #e2e8f0;
|
|
1370
|
+
background-color: #f8fafc;
|
|
1371
|
+
font-size: 0.8125rem;
|
|
1372
|
+
color: #64748b;
|
|
1373
|
+
}
|
|
1374
|
+
|
|
1375
|
+
[data-mode="dark"] .ln-table__footer,
|
|
1376
|
+
[data-mode="dark"] [data-ln-table] > footer {
|
|
1377
|
+
border-top-color: #334155;
|
|
1378
|
+
background-color: #1e293b;
|
|
1379
|
+
color: #94a3b8;
|
|
912
1380
|
}
|
|
913
1381
|
|
|
914
1382
|
/* --------------------------------------------------------------------------
|
|
@@ -1310,6 +1778,75 @@ ul[data-ln-toast] li[data-ln-toast-item],
|
|
|
1310
1778
|
background-color: #1e293b;
|
|
1311
1779
|
}
|
|
1312
1780
|
|
|
1781
|
+
/* Popover Filter List Items & Labels */
|
|
1782
|
+
[data-ln-popover] ul[data-ln-filter],
|
|
1783
|
+
[data-ln-dropdown] ul[data-ln-filter] {
|
|
1784
|
+
min-width: 10rem;
|
|
1785
|
+
}
|
|
1786
|
+
|
|
1787
|
+
[data-ln-popover] ul[data-ln-filter] li,
|
|
1788
|
+
[data-ln-dropdown] ul[data-ln-filter] li {
|
|
1789
|
+
margin: 0;
|
|
1790
|
+
padding: 0;
|
|
1791
|
+
}
|
|
1792
|
+
|
|
1793
|
+
[data-ln-popover] label,
|
|
1794
|
+
[data-ln-dropdown] label {
|
|
1795
|
+
display: flex;
|
|
1796
|
+
align-items: center;
|
|
1797
|
+
gap: 0.5rem;
|
|
1798
|
+
padding: 0.375rem 0.625rem;
|
|
1799
|
+
border-radius: 0.375rem;
|
|
1800
|
+
font-size: 0.8125rem;
|
|
1801
|
+
font-weight: 500;
|
|
1802
|
+
color: #475569;
|
|
1803
|
+
cursor: pointer;
|
|
1804
|
+
margin-bottom: 0;
|
|
1805
|
+
transition: all 0.15s;
|
|
1806
|
+
user-select: none;
|
|
1807
|
+
}
|
|
1808
|
+
|
|
1809
|
+
[data-ln-popover] label:hover,
|
|
1810
|
+
[data-ln-dropdown] label:hover {
|
|
1811
|
+
background-color: #f1f5f9;
|
|
1812
|
+
color: #0f172a;
|
|
1813
|
+
}
|
|
1814
|
+
|
|
1815
|
+
[data-mode="dark"] [data-ln-popover] label,
|
|
1816
|
+
[data-mode="dark"] [data-ln-dropdown] label {
|
|
1817
|
+
color: #94a3b8;
|
|
1818
|
+
}
|
|
1819
|
+
|
|
1820
|
+
[data-mode="dark"] [data-ln-popover] label:hover,
|
|
1821
|
+
[data-mode="dark"] [data-ln-dropdown] label:hover {
|
|
1822
|
+
background-color: #1e293b;
|
|
1823
|
+
color: #f8fafc;
|
|
1824
|
+
}
|
|
1825
|
+
|
|
1826
|
+
[data-ln-popover] label:has(> input:checked),
|
|
1827
|
+
[data-ln-dropdown] label:has(> input:checked) {
|
|
1828
|
+
background-color: #eef2ff;
|
|
1829
|
+
color: #4f46e5;
|
|
1830
|
+
font-weight: 600;
|
|
1831
|
+
}
|
|
1832
|
+
|
|
1833
|
+
[data-mode="dark"] [data-ln-popover] label:has(> input:checked),
|
|
1834
|
+
[data-mode="dark"] [data-ln-dropdown] label:has(> input:checked) {
|
|
1835
|
+
background-color: rgba(79, 70, 229, 0.2);
|
|
1836
|
+
color: #818cf8;
|
|
1837
|
+
}
|
|
1838
|
+
|
|
1839
|
+
[data-ln-popover] input[type="checkbox"],
|
|
1840
|
+
[data-ln-dropdown] input[type="checkbox"] {
|
|
1841
|
+
accent-color: #4f46e5;
|
|
1842
|
+
width: 1rem;
|
|
1843
|
+
height: 1rem;
|
|
1844
|
+
border-radius: 0.25rem;
|
|
1845
|
+
cursor: pointer;
|
|
1846
|
+
vertical-align: middle;
|
|
1847
|
+
margin: 0;
|
|
1848
|
+
}
|
|
1849
|
+
|
|
1313
1850
|
/* --------------------------------------------------------------------------
|
|
1314
1851
|
13. Code Inspector Collapsible Panel
|
|
1315
1852
|
-------------------------------------------------------------------------- */
|
|
@@ -1,17 +1,7 @@
|
|
|
1
1
|
@use '../config/mixins' as *;
|
|
2
2
|
@use '../config/breakpoints' as *;
|
|
3
3
|
|
|
4
|
-
.sr-only {
|
|
5
|
-
position: absolute;
|
|
6
|
-
width: 1px;
|
|
7
|
-
height: 1px;
|
|
8
|
-
padding: 0;
|
|
9
|
-
margin: -1px;
|
|
10
|
-
overflow: hidden;
|
|
11
|
-
clip: rect(0, 0, 0, 0);
|
|
12
|
-
white-space: nowrap;
|
|
13
|
-
border-width: 0;
|
|
14
|
-
}
|
|
4
|
+
.sr-only { @include sr-only; }
|
|
15
5
|
|
|
16
6
|
.hidden { @include hidden; }
|
|
17
7
|
|