@liberation-data/desk 0.4.0 → 0.6.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/README.md +31 -1
- package/dist/core/desk.d.ts +13 -0
- package/dist/core/desk.d.ts.map +1 -1
- package/dist/core/desk.js +55 -1
- package/dist/core/desk.js.map +1 -1
- package/dist/core/index.d.ts +1 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/css/apps.css +57 -0
- package/dist/css/controls.css +975 -0
- package/dist/css/conversation.css +232 -0
- package/dist/css/dock.css +272 -0
- package/dist/css/menus.css +204 -0
- package/dist/css/overlays.css +237 -0
- package/dist/css/search.css +149 -0
- package/dist/css/setup.css +284 -0
- package/dist/css/tokens.css +90 -0
- package/dist/css/windows.css +321 -0
- package/dist/desk.css +1080 -1070
- package/dist/react/Desktop.d.ts.map +1 -1
- package/dist/react/Desktop.js +66 -17
- package/dist/react/Desktop.js.map +1 -1
- package/llms.txt +6 -0
- package/package.json +4 -3
- package/src/core/desk.ts +67 -1
- package/src/core/index.ts +1 -1
- package/src/css/apps.css +56 -0
- package/src/css/controls.css +974 -0
- package/src/css/conversation.css +231 -0
- package/src/css/dock.css +271 -0
- package/src/css/menus.css +203 -0
- package/src/css/overlays.css +236 -0
- package/src/css/search.css +148 -0
- package/src/css/setup.css +283 -0
- package/src/css/tokens.css +89 -0
- package/src/css/windows.css +320 -0
- package/src/react/Desktop.tsx +69 -20
- package/src/desk.css +0 -2820
package/dist/desk.css
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/* @liberation-data/desk — tokens.css */
|
|
1
2
|
/*
|
|
2
3
|
* desk — the stage and its windows. Every value reads a --desk-* token, so an
|
|
3
4
|
* app restyles the desk by redefining tokens, never by overriding selectors.
|
|
@@ -88,6 +89,7 @@
|
|
|
88
89
|
--desk-field-bg: rgb(0 0 0 / 35%);
|
|
89
90
|
}
|
|
90
91
|
|
|
92
|
+
/* @liberation-data/desk — windows.css */
|
|
91
93
|
.desk-stage {
|
|
92
94
|
position: relative;
|
|
93
95
|
box-sizing: border-box;
|
|
@@ -350,6 +352,66 @@
|
|
|
350
352
|
right: var(--desk-padding);
|
|
351
353
|
}
|
|
352
354
|
|
|
355
|
+
/* ── The inside of a window: controls that stay, content that scrolls ── */
|
|
356
|
+
|
|
357
|
+
.desk-pane {
|
|
358
|
+
display: flex;
|
|
359
|
+
flex-direction: column;
|
|
360
|
+
height: 100%;
|
|
361
|
+
min-height: 0;
|
|
362
|
+
}
|
|
363
|
+
|
|
364
|
+
.desk-pane-header,
|
|
365
|
+
.desk-pane-footer {
|
|
366
|
+
flex: none;
|
|
367
|
+
}
|
|
368
|
+
|
|
369
|
+
/* The only part that scrolls, so the toolbar never leaves with the content. */
|
|
370
|
+
.desk-pane-body {
|
|
371
|
+
flex: 1;
|
|
372
|
+
min-height: 0;
|
|
373
|
+
overflow: auto;
|
|
374
|
+
}
|
|
375
|
+
|
|
376
|
+
.desk-pane-body:focus-visible {
|
|
377
|
+
outline: 2px solid var(--desk-accent);
|
|
378
|
+
outline-offset: -2px;
|
|
379
|
+
}
|
|
380
|
+
|
|
381
|
+
/* A window whose whole content is a pane does not scroll itself: the pane's middle does. */
|
|
382
|
+
.desk-body:has(> .desk-pane) {
|
|
383
|
+
overflow: hidden;
|
|
384
|
+
}
|
|
385
|
+
|
|
386
|
+
.desk-toolbar {
|
|
387
|
+
display: flex;
|
|
388
|
+
align-items: center;
|
|
389
|
+
flex-wrap: wrap;
|
|
390
|
+
gap: var(--desk-space-2);
|
|
391
|
+
/* One centre line for everything in the row, whatever each control's own height is. */
|
|
392
|
+
min-height: calc(var(--desk-control-height) + var(--desk-space-2) * 2);
|
|
393
|
+
padding: var(--desk-space-2) var(--desk-space-3);
|
|
394
|
+
border-bottom: 1px solid var(--desk-rule);
|
|
395
|
+
}
|
|
396
|
+
|
|
397
|
+
.desk-toolbar > *,
|
|
398
|
+
.desk-toolbar-trailing > * {
|
|
399
|
+
flex: none;
|
|
400
|
+
}
|
|
401
|
+
|
|
402
|
+
.desk-toolbar .desk-grow {
|
|
403
|
+
flex: 1 1 140px;
|
|
404
|
+
min-width: 0;
|
|
405
|
+
}
|
|
406
|
+
|
|
407
|
+
.desk-toolbar-trailing {
|
|
408
|
+
margin-left: auto;
|
|
409
|
+
display: flex;
|
|
410
|
+
align-items: center;
|
|
411
|
+
gap: var(--desk-space-2);
|
|
412
|
+
}
|
|
413
|
+
|
|
414
|
+
/* @liberation-data/desk — dock.css */
|
|
353
415
|
/* ── Dock ── */
|
|
354
416
|
|
|
355
417
|
.desk-dock {
|
|
@@ -612,6 +674,17 @@
|
|
|
612
674
|
color: var(--desk-muted);
|
|
613
675
|
}
|
|
614
676
|
|
|
677
|
+
/* Something carried to the dock: the dock lights up, and a kept item shows where it would go in front. */
|
|
678
|
+
.desk-dock-item[data-desk-drop][data-ready] {
|
|
679
|
+
outline: none;
|
|
680
|
+
background: var(--desk-dock-icon);
|
|
681
|
+
}
|
|
682
|
+
|
|
683
|
+
.desk-dock-item[data-desk-drop][data-over] {
|
|
684
|
+
box-shadow: -6px 0 0 -2px var(--desk-accent);
|
|
685
|
+
}
|
|
686
|
+
|
|
687
|
+
/* @liberation-data/desk — menus.css */
|
|
615
688
|
/* ── Menu bar ── */
|
|
616
689
|
|
|
617
690
|
.desk-menubar {
|
|
@@ -816,6 +889,7 @@
|
|
|
816
889
|
}
|
|
817
890
|
}
|
|
818
891
|
|
|
892
|
+
/* @liberation-data/desk — controls.css */
|
|
819
893
|
/* ── Controls ── */
|
|
820
894
|
|
|
821
895
|
.desk-button {
|
|
@@ -1087,486 +1161,519 @@
|
|
|
1087
1161
|
}
|
|
1088
1162
|
}
|
|
1089
1163
|
|
|
1090
|
-
/* ──
|
|
1164
|
+
/* ── Checkbox and slider ── */
|
|
1091
1165
|
|
|
1092
|
-
.desk-
|
|
1093
|
-
|
|
1094
|
-
|
|
1166
|
+
.desk-check-row {
|
|
1167
|
+
display: flex;
|
|
1168
|
+
align-items: flex-start;
|
|
1169
|
+
gap: var(--desk-space-2);
|
|
1170
|
+
padding: var(--desk-space-1) 0;
|
|
1095
1171
|
}
|
|
1096
1172
|
|
|
1097
|
-
.desk-
|
|
1098
|
-
|
|
1099
|
-
|
|
1100
|
-
|
|
1101
|
-
|
|
1173
|
+
.desk-checkbox {
|
|
1174
|
+
width: 16px;
|
|
1175
|
+
height: 16px;
|
|
1176
|
+
margin: 2px 0 0;
|
|
1177
|
+
accent-color: var(--desk-accent);
|
|
1178
|
+
flex: none;
|
|
1179
|
+
}
|
|
1180
|
+
|
|
1181
|
+
.desk-check-text {
|
|
1182
|
+
display: flex;
|
|
1183
|
+
flex-direction: column;
|
|
1184
|
+
gap: 2px;
|
|
1185
|
+
}
|
|
1186
|
+
|
|
1187
|
+
.desk-check-label {
|
|
1188
|
+
font-size: 13px;
|
|
1189
|
+
}
|
|
1190
|
+
|
|
1191
|
+
.desk-checkbox:focus-visible,
|
|
1192
|
+
.desk-slider-track:focus-visible {
|
|
1193
|
+
outline: 2px solid var(--desk-accent);
|
|
1194
|
+
outline-offset: 2px;
|
|
1195
|
+
}
|
|
1196
|
+
|
|
1197
|
+
.desk-choices {
|
|
1198
|
+
margin: 0;
|
|
1199
|
+
padding: 0;
|
|
1200
|
+
border: 0;
|
|
1201
|
+
display: flex;
|
|
1202
|
+
flex-direction: column;
|
|
1203
|
+
gap: var(--desk-space-2);
|
|
1204
|
+
}
|
|
1205
|
+
|
|
1206
|
+
.desk-choice {
|
|
1207
|
+
display: flex;
|
|
1208
|
+
align-items: flex-start;
|
|
1209
|
+
gap: var(--desk-space-3);
|
|
1102
1210
|
padding: var(--desk-space-3);
|
|
1103
1211
|
border: 1px solid var(--desk-rule);
|
|
1104
1212
|
border-radius: 12px;
|
|
1105
1213
|
background: var(--desk-surface);
|
|
1106
|
-
|
|
1107
|
-
animation: desk-menu-in .14s var(--desk-ease);
|
|
1214
|
+
cursor: pointer;
|
|
1108
1215
|
}
|
|
1109
1216
|
|
|
1110
|
-
.desk-
|
|
1111
|
-
|
|
1217
|
+
.desk-choice:hover:not([data-disabled]) {
|
|
1218
|
+
border-color: color-mix(in srgb, var(--desk-accent) 50%, var(--desk-rule));
|
|
1112
1219
|
}
|
|
1113
1220
|
|
|
1114
|
-
.desk-
|
|
1115
|
-
|
|
1221
|
+
.desk-choice[data-chosen] {
|
|
1222
|
+
border-color: var(--desk-accent);
|
|
1223
|
+
box-shadow: 0 0 0 1px var(--desk-accent);
|
|
1116
1224
|
}
|
|
1117
1225
|
|
|
1118
|
-
.desk-
|
|
1119
|
-
|
|
1226
|
+
.desk-choice[data-disabled] {
|
|
1227
|
+
opacity: .45;
|
|
1228
|
+
cursor: not-allowed;
|
|
1120
1229
|
}
|
|
1121
1230
|
|
|
1122
|
-
.desk-
|
|
1123
|
-
|
|
1231
|
+
.desk-choice:has(:focus-visible) {
|
|
1232
|
+
outline: 2px solid var(--desk-accent);
|
|
1233
|
+
outline-offset: 2px;
|
|
1124
1234
|
}
|
|
1125
1235
|
|
|
1126
|
-
|
|
1127
|
-
.desk-sheet-scrim,
|
|
1128
|
-
.desk-alert-scrim {
|
|
1236
|
+
.desk-choice-input {
|
|
1129
1237
|
position: absolute;
|
|
1130
|
-
|
|
1131
|
-
|
|
1132
|
-
display: grid;
|
|
1133
|
-
background: rgb(0 0 0 / 35%);
|
|
1134
|
-
animation: desk-fade .16s var(--desk-ease);
|
|
1135
|
-
}
|
|
1136
|
-
|
|
1137
|
-
.desk-sheet-scrim {
|
|
1138
|
-
place-items: start center;
|
|
1139
|
-
padding: var(--desk-space-4);
|
|
1238
|
+
opacity: 0;
|
|
1239
|
+
pointer-events: none;
|
|
1140
1240
|
}
|
|
1141
1241
|
|
|
1142
|
-
.desk-
|
|
1143
|
-
|
|
1144
|
-
|
|
1242
|
+
.desk-choice-mark {
|
|
1243
|
+
flex: none;
|
|
1244
|
+
display: grid;
|
|
1145
1245
|
place-items: center;
|
|
1146
|
-
|
|
1147
|
-
|
|
1148
|
-
|
|
1149
|
-
|
|
1150
|
-
|
|
1151
|
-
from {
|
|
1152
|
-
opacity: 0;
|
|
1153
|
-
}
|
|
1246
|
+
width: 16px;
|
|
1247
|
+
height: 16px;
|
|
1248
|
+
margin-top: 2px;
|
|
1249
|
+
border: 1.5px solid var(--desk-rule);
|
|
1250
|
+
border-radius: 50%;
|
|
1154
1251
|
}
|
|
1155
1252
|
|
|
1156
|
-
.desk-
|
|
1157
|
-
|
|
1158
|
-
box-sizing: border-box;
|
|
1159
|
-
width: min(440px, 100%);
|
|
1160
|
-
padding: var(--desk-space-4);
|
|
1161
|
-
border: 1px solid var(--desk-rule);
|
|
1162
|
-
border-radius: 14px;
|
|
1163
|
-
background: var(--desk-surface);
|
|
1164
|
-
color: var(--desk-ink);
|
|
1165
|
-
box-shadow: var(--desk-shadow-floating);
|
|
1166
|
-
font-family: var(--desk-font);
|
|
1253
|
+
.desk-choice[data-chosen] .desk-choice-mark {
|
|
1254
|
+
border-color: var(--desk-accent);
|
|
1167
1255
|
}
|
|
1168
1256
|
|
|
1169
|
-
.desk-
|
|
1170
|
-
|
|
1257
|
+
.desk-choice[data-chosen] .desk-choice-mark::after {
|
|
1258
|
+
content: "";
|
|
1259
|
+
width: 8px;
|
|
1260
|
+
height: 8px;
|
|
1261
|
+
border-radius: 50%;
|
|
1262
|
+
background: var(--desk-accent);
|
|
1171
1263
|
}
|
|
1172
1264
|
|
|
1173
|
-
.desk-
|
|
1174
|
-
|
|
1175
|
-
|
|
1176
|
-
|
|
1265
|
+
.desk-choice-icon {
|
|
1266
|
+
flex: none;
|
|
1267
|
+
display: grid;
|
|
1268
|
+
place-items: center;
|
|
1269
|
+
width: 36px;
|
|
1270
|
+
height: 36px;
|
|
1271
|
+
border: 1px solid var(--desk-rule);
|
|
1272
|
+
border-radius: 10px;
|
|
1273
|
+
color: var(--desk-muted);
|
|
1177
1274
|
}
|
|
1178
1275
|
|
|
1179
|
-
|
|
1180
|
-
|
|
1181
|
-
|
|
1182
|
-
opacity: 0;
|
|
1183
|
-
}
|
|
1276
|
+
.desk-choice-icon svg {
|
|
1277
|
+
width: 18px;
|
|
1278
|
+
height: 18px;
|
|
1184
1279
|
}
|
|
1185
1280
|
|
|
1186
|
-
|
|
1187
|
-
|
|
1188
|
-
|
|
1189
|
-
|
|
1190
|
-
|
|
1281
|
+
.desk-choice-text {
|
|
1282
|
+
flex: 1;
|
|
1283
|
+
min-width: 0;
|
|
1284
|
+
display: flex;
|
|
1285
|
+
flex-direction: column;
|
|
1286
|
+
gap: 2px;
|
|
1191
1287
|
}
|
|
1192
1288
|
|
|
1193
|
-
.desk-
|
|
1194
|
-
.desk-alert-title {
|
|
1195
|
-
margin: 0 0 var(--desk-space-1);
|
|
1196
|
-
font-size: 15px;
|
|
1289
|
+
.desk-choice-label {
|
|
1197
1290
|
font-weight: 600;
|
|
1198
1291
|
}
|
|
1199
1292
|
|
|
1200
|
-
.desk-
|
|
1201
|
-
|
|
1202
|
-
|
|
1293
|
+
.desk-choice-tag {
|
|
1294
|
+
margin-left: var(--desk-space-2);
|
|
1295
|
+
font-weight: 400;
|
|
1203
1296
|
color: var(--desk-muted);
|
|
1204
|
-
font-size: 13px;
|
|
1205
|
-
line-height: 1.5;
|
|
1206
1297
|
}
|
|
1207
1298
|
|
|
1208
|
-
.desk-
|
|
1209
|
-
.desk-alert-actions {
|
|
1299
|
+
.desk-checklist {
|
|
1210
1300
|
display: flex;
|
|
1211
|
-
|
|
1212
|
-
gap: var(--desk-space-
|
|
1213
|
-
margin-top: var(--desk-space-4);
|
|
1214
|
-
}
|
|
1215
|
-
|
|
1216
|
-
.desk-alert-actions {
|
|
1217
|
-
justify-content: center;
|
|
1301
|
+
flex-direction: column;
|
|
1302
|
+
gap: var(--desk-space-3);
|
|
1218
1303
|
}
|
|
1219
1304
|
|
|
1220
|
-
.desk-
|
|
1221
|
-
|
|
1222
|
-
|
|
1223
|
-
|
|
1224
|
-
|
|
1225
|
-
display: flex;
|
|
1226
|
-
flex-direction: column;
|
|
1227
|
-
gap: var(--desk-space-2);
|
|
1228
|
-
max-width: min(420px, calc(100vw - 32px));
|
|
1305
|
+
.desk-progress {
|
|
1306
|
+
height: 5px;
|
|
1307
|
+
border-radius: 3px;
|
|
1308
|
+
background: var(--desk-rule);
|
|
1309
|
+
overflow: hidden;
|
|
1229
1310
|
}
|
|
1230
1311
|
|
|
1231
|
-
.desk-
|
|
1232
|
-
display:
|
|
1233
|
-
|
|
1234
|
-
|
|
1235
|
-
|
|
1236
|
-
border: 1px solid var(--desk-rule);
|
|
1237
|
-
border-radius: 10px;
|
|
1238
|
-
background: var(--desk-surface);
|
|
1239
|
-
box-shadow: var(--desk-shadow-floating);
|
|
1240
|
-
font-family: var(--desk-font);
|
|
1241
|
-
font-size: 13px;
|
|
1242
|
-
animation: desk-toast-in .2s var(--desk-ease);
|
|
1312
|
+
.desk-progress i {
|
|
1313
|
+
display: block;
|
|
1314
|
+
height: 100%;
|
|
1315
|
+
background: var(--desk-accent);
|
|
1316
|
+
transition: width .4s var(--desk-ease);
|
|
1243
1317
|
}
|
|
1244
1318
|
|
|
1245
|
-
|
|
1246
|
-
|
|
1247
|
-
|
|
1248
|
-
|
|
1249
|
-
|
|
1319
|
+
.desk-tasks {
|
|
1320
|
+
margin: 0;
|
|
1321
|
+
padding: 0;
|
|
1322
|
+
list-style: none;
|
|
1323
|
+
border: 1px solid var(--desk-rule);
|
|
1324
|
+
border-radius: 12px;
|
|
1250
1325
|
}
|
|
1251
1326
|
|
|
1252
|
-
.desk-
|
|
1253
|
-
|
|
1327
|
+
.desk-task {
|
|
1328
|
+
display: flex;
|
|
1329
|
+
align-items: center;
|
|
1330
|
+
gap: var(--desk-space-3);
|
|
1331
|
+
padding: var(--desk-space-2) var(--desk-space-3);
|
|
1254
1332
|
}
|
|
1255
1333
|
|
|
1256
|
-
.desk-
|
|
1257
|
-
border-
|
|
1334
|
+
.desk-task + .desk-task {
|
|
1335
|
+
border-top: 1px solid var(--desk-rule);
|
|
1258
1336
|
}
|
|
1259
1337
|
|
|
1260
|
-
.desk-
|
|
1261
|
-
flex:
|
|
1262
|
-
|
|
1338
|
+
.desk-task-mark {
|
|
1339
|
+
flex: none;
|
|
1340
|
+
display: grid;
|
|
1341
|
+
place-items: center;
|
|
1342
|
+
box-sizing: border-box;
|
|
1343
|
+
width: 20px;
|
|
1344
|
+
height: 20px;
|
|
1345
|
+
border-radius: 50%;
|
|
1346
|
+
font-size: 12px;
|
|
1347
|
+
border: 1.5px dashed var(--desk-rule);
|
|
1263
1348
|
}
|
|
1264
1349
|
|
|
1265
|
-
|
|
1266
|
-
|
|
1267
|
-
|
|
1268
|
-
|
|
1269
|
-
.desk-sheet,
|
|
1270
|
-
.desk-alert,
|
|
1271
|
-
.desk-toast,
|
|
1272
|
-
.desk-sheet-scrim,
|
|
1273
|
-
.desk-alert-scrim {
|
|
1274
|
-
animation: none;
|
|
1275
|
-
}
|
|
1350
|
+
.desk-task[data-state="working"] .desk-task-mark {
|
|
1351
|
+
border: 2px solid var(--desk-rule);
|
|
1352
|
+
border-top-color: var(--desk-accent);
|
|
1353
|
+
animation: desk-spin .8s linear infinite;
|
|
1276
1354
|
}
|
|
1277
1355
|
|
|
1278
|
-
|
|
1356
|
+
.desk-task[data-state="done"] .desk-task-mark {
|
|
1357
|
+
border: 0;
|
|
1358
|
+
background: color-mix(in srgb, var(--desk-ok) 18%, transparent);
|
|
1359
|
+
color: var(--desk-ok);
|
|
1360
|
+
}
|
|
1279
1361
|
|
|
1280
|
-
.desk-
|
|
1281
|
-
|
|
1282
|
-
|
|
1283
|
-
|
|
1284
|
-
|
|
1285
|
-
height: 100%;
|
|
1286
|
-
font-family: var(--desk-font);
|
|
1362
|
+
.desk-task[data-state="failed"] .desk-task-mark {
|
|
1363
|
+
border: 0;
|
|
1364
|
+
background: color-mix(in srgb, var(--desk-bad) 18%, transparent);
|
|
1365
|
+
color: var(--desk-bad);
|
|
1366
|
+
font-weight: 700;
|
|
1287
1367
|
}
|
|
1288
1368
|
|
|
1289
|
-
|
|
1290
|
-
|
|
1291
|
-
|
|
1292
|
-
|
|
1293
|
-
display: flex;
|
|
1294
|
-
flex-direction: column;
|
|
1295
|
-
gap: var(--desk-space-1);
|
|
1296
|
-
padding: var(--desk-space-4);
|
|
1369
|
+
@keyframes desk-spin {
|
|
1370
|
+
to {
|
|
1371
|
+
transform: rotate(360deg);
|
|
1372
|
+
}
|
|
1297
1373
|
}
|
|
1298
1374
|
|
|
1299
|
-
.desk-
|
|
1375
|
+
.desk-task-text {
|
|
1376
|
+
flex: 1;
|
|
1377
|
+
min-width: 0;
|
|
1300
1378
|
display: flex;
|
|
1301
1379
|
flex-direction: column;
|
|
1302
|
-
align-items: flex-start;
|
|
1303
|
-
max-width: min(80%, 60ch);
|
|
1304
1380
|
}
|
|
1305
1381
|
|
|
1306
|
-
.desk-
|
|
1307
|
-
|
|
1308
|
-
|
|
1382
|
+
.desk-task-name {
|
|
1383
|
+
font-size: 13px;
|
|
1384
|
+
font-weight: 600;
|
|
1309
1385
|
}
|
|
1310
1386
|
|
|
1311
|
-
|
|
1312
|
-
.desk-
|
|
1313
|
-
|
|
1387
|
+
.desk-task-detail,
|
|
1388
|
+
.desk-task-error {
|
|
1389
|
+
font-size: 12px;
|
|
1390
|
+
color: var(--desk-muted);
|
|
1314
1391
|
}
|
|
1315
1392
|
|
|
1316
|
-
.desk-
|
|
1317
|
-
|
|
1393
|
+
.desk-task-error {
|
|
1394
|
+
color: var(--desk-bad);
|
|
1318
1395
|
}
|
|
1319
1396
|
|
|
1320
|
-
|
|
1321
|
-
|
|
1322
|
-
|
|
1323
|
-
|
|
1324
|
-
font-weight: 600;
|
|
1325
|
-
color: var(--desk-muted);
|
|
1397
|
+
@media (prefers-reduced-motion: reduce) {
|
|
1398
|
+
.desk-task[data-state="working"] .desk-task-mark {
|
|
1399
|
+
animation: none;
|
|
1400
|
+
}
|
|
1326
1401
|
}
|
|
1327
1402
|
|
|
1328
|
-
.desk-
|
|
1329
|
-
|
|
1330
|
-
|
|
1331
|
-
border
|
|
1332
|
-
|
|
1333
|
-
|
|
1334
|
-
|
|
1335
|
-
white-space: pre-wrap;
|
|
1336
|
-
overflow-wrap: anywhere;
|
|
1403
|
+
.desk-radiogroup {
|
|
1404
|
+
margin: 0;
|
|
1405
|
+
padding: 0;
|
|
1406
|
+
border: 0;
|
|
1407
|
+
display: flex;
|
|
1408
|
+
flex-direction: column;
|
|
1409
|
+
gap: var(--desk-space-1);
|
|
1337
1410
|
}
|
|
1338
1411
|
|
|
1339
|
-
.desk-
|
|
1340
|
-
|
|
1341
|
-
|
|
1342
|
-
color: var(--desk-on-accent);
|
|
1343
|
-
border-bottom-right-radius: 5px;
|
|
1412
|
+
.desk-radiogroup legend {
|
|
1413
|
+
padding: 0;
|
|
1414
|
+
margin-bottom: var(--desk-space-1);
|
|
1344
1415
|
}
|
|
1345
1416
|
|
|
1346
|
-
.desk-
|
|
1347
|
-
|
|
1417
|
+
.desk-radio {
|
|
1418
|
+
width: 16px;
|
|
1419
|
+
height: 16px;
|
|
1420
|
+
margin: 2px 0 0;
|
|
1421
|
+
accent-color: var(--desk-accent);
|
|
1422
|
+
flex: none;
|
|
1348
1423
|
}
|
|
1349
1424
|
|
|
1350
|
-
.desk-
|
|
1351
|
-
|
|
1425
|
+
.desk-radio:focus-visible {
|
|
1426
|
+
outline: 2px solid var(--desk-accent);
|
|
1427
|
+
outline-offset: 2px;
|
|
1352
1428
|
}
|
|
1353
1429
|
|
|
1354
|
-
.desk-
|
|
1355
|
-
|
|
1430
|
+
.desk-slider {
|
|
1431
|
+
display: flex;
|
|
1432
|
+
flex-direction: column;
|
|
1433
|
+
gap: var(--desk-space-1);
|
|
1356
1434
|
}
|
|
1357
1435
|
|
|
1358
|
-
.desk-
|
|
1436
|
+
.desk-slider-head {
|
|
1359
1437
|
display: flex;
|
|
1360
|
-
align-items:
|
|
1438
|
+
align-items: baseline;
|
|
1439
|
+
justify-content: space-between;
|
|
1361
1440
|
gap: var(--desk-space-2);
|
|
1362
|
-
padding: 2px var(--desk-space-1) 0;
|
|
1363
|
-
font-size: 11px;
|
|
1364
|
-
color: var(--desk-muted);
|
|
1365
1441
|
}
|
|
1366
1442
|
|
|
1367
|
-
.desk-
|
|
1368
|
-
|
|
1443
|
+
.desk-slider-value {
|
|
1444
|
+
font-size: 12px;
|
|
1445
|
+
font-variant-numeric: tabular-nums;
|
|
1446
|
+
color: var(--desk-ink);
|
|
1369
1447
|
}
|
|
1370
1448
|
|
|
1371
|
-
.desk-
|
|
1372
|
-
|
|
1449
|
+
.desk-slider-track {
|
|
1450
|
+
width: 100%;
|
|
1451
|
+
accent-color: var(--desk-accent);
|
|
1373
1452
|
}
|
|
1374
1453
|
|
|
1375
|
-
|
|
1376
|
-
|
|
1377
|
-
|
|
1378
|
-
|
|
1379
|
-
border: 1px solid var(--desk-rule);
|
|
1380
|
-
border-radius: 14px;
|
|
1381
|
-
border-bottom-left-radius: 5px;
|
|
1382
|
-
background: var(--desk-surface);
|
|
1454
|
+
/* ── Pop-up button ── */
|
|
1455
|
+
|
|
1456
|
+
.desk-popup-anchor {
|
|
1457
|
+
position: relative;
|
|
1383
1458
|
}
|
|
1384
1459
|
|
|
1385
|
-
.desk-
|
|
1460
|
+
.desk-popup-button {
|
|
1386
1461
|
display: flex;
|
|
1387
|
-
|
|
1462
|
+
align-items: center;
|
|
1463
|
+
gap: var(--desk-space-2);
|
|
1464
|
+
width: 100%;
|
|
1465
|
+
min-height: var(--desk-control-height);
|
|
1466
|
+
padding: 0 var(--desk-space-2) 0 var(--desk-space-3);
|
|
1467
|
+
border: 1px solid var(--desk-rule);
|
|
1468
|
+
border-radius: var(--desk-control-radius);
|
|
1469
|
+
background: var(--desk-field-bg);
|
|
1470
|
+
color: var(--desk-ink);
|
|
1471
|
+
font-family: var(--desk-font);
|
|
1472
|
+
font-size: 13px;
|
|
1473
|
+
text-align: left;
|
|
1474
|
+
cursor: pointer;
|
|
1388
1475
|
}
|
|
1389
1476
|
|
|
1390
|
-
.desk-
|
|
1391
|
-
|
|
1392
|
-
|
|
1393
|
-
border-radius: 50%;
|
|
1394
|
-
background: var(--desk-muted);
|
|
1395
|
-
animation: desk-typing 1.2s var(--desk-ease) infinite;
|
|
1477
|
+
.desk-popup-button[data-size="small"] {
|
|
1478
|
+
min-height: var(--desk-control-height-small);
|
|
1479
|
+
font-size: 12px;
|
|
1396
1480
|
}
|
|
1397
1481
|
|
|
1398
|
-
.desk-
|
|
1399
|
-
|
|
1482
|
+
.desk-popup-button:focus-visible {
|
|
1483
|
+
outline: 2px solid var(--desk-accent);
|
|
1484
|
+
outline-offset: 2px;
|
|
1400
1485
|
}
|
|
1401
1486
|
|
|
1402
|
-
.desk-
|
|
1403
|
-
|
|
1487
|
+
.desk-popup-button:disabled {
|
|
1488
|
+
opacity: .45;
|
|
1489
|
+
cursor: not-allowed;
|
|
1404
1490
|
}
|
|
1405
1491
|
|
|
1406
|
-
|
|
1407
|
-
|
|
1408
|
-
|
|
1409
|
-
|
|
1410
|
-
|
|
1411
|
-
|
|
1412
|
-
}
|
|
1492
|
+
.desk-popup-value {
|
|
1493
|
+
flex: 1;
|
|
1494
|
+
min-width: 0;
|
|
1495
|
+
overflow: hidden;
|
|
1496
|
+
text-overflow: ellipsis;
|
|
1497
|
+
white-space: nowrap;
|
|
1413
1498
|
}
|
|
1414
1499
|
|
|
1415
|
-
.desk-
|
|
1416
|
-
|
|
1417
|
-
left: 50%;
|
|
1418
|
-
bottom: var(--desk-space-3);
|
|
1419
|
-
transform: translateX(-50%);
|
|
1420
|
-
box-shadow: var(--desk-shadow);
|
|
1500
|
+
.desk-popup-value[data-placeholder] {
|
|
1501
|
+
color: var(--desk-muted);
|
|
1421
1502
|
}
|
|
1422
1503
|
|
|
1423
|
-
.desk-
|
|
1424
|
-
|
|
1425
|
-
|
|
1426
|
-
|
|
1427
|
-
|
|
1428
|
-
padding: var(--desk-space-3) var(--desk-space-4);
|
|
1429
|
-
border-top: 1px solid var(--desk-rule);
|
|
1504
|
+
.desk-popup-icon {
|
|
1505
|
+
display: grid;
|
|
1506
|
+
place-items: center;
|
|
1507
|
+
width: 16px;
|
|
1508
|
+
height: 16px;
|
|
1430
1509
|
}
|
|
1431
1510
|
|
|
1432
|
-
.desk-
|
|
1433
|
-
|
|
1434
|
-
|
|
1435
|
-
|
|
1511
|
+
.desk-popup-chevron {
|
|
1512
|
+
color: var(--desk-muted);
|
|
1513
|
+
line-height: 1;
|
|
1514
|
+
}
|
|
1515
|
+
|
|
1516
|
+
.desk-popup-list {
|
|
1517
|
+
position: absolute;
|
|
1518
|
+
z-index: 1200;
|
|
1519
|
+
top: calc(100% + 4px);
|
|
1520
|
+
left: 0;
|
|
1521
|
+
min-width: 100%;
|
|
1436
1522
|
max-height: 40vh;
|
|
1437
|
-
|
|
1523
|
+
margin: 0;
|
|
1524
|
+
padding: 4px;
|
|
1525
|
+
list-style: none;
|
|
1526
|
+
overflow-y: auto;
|
|
1438
1527
|
border: 1px solid var(--desk-rule);
|
|
1439
|
-
border-radius:
|
|
1440
|
-
background: var(--desk-
|
|
1441
|
-
|
|
1442
|
-
|
|
1443
|
-
font-size: 13.5px;
|
|
1444
|
-
line-height: 20px;
|
|
1445
|
-
resize: none;
|
|
1528
|
+
border-radius: 10px;
|
|
1529
|
+
background: var(--desk-surface);
|
|
1530
|
+
box-shadow: var(--desk-shadow-floating);
|
|
1531
|
+
animation: desk-menu-in .12s var(--desk-ease);
|
|
1446
1532
|
}
|
|
1447
1533
|
|
|
1448
|
-
.desk-
|
|
1449
|
-
outline:
|
|
1450
|
-
outline-offset: 2px;
|
|
1534
|
+
.desk-popup-list:focus {
|
|
1535
|
+
outline: none;
|
|
1451
1536
|
}
|
|
1452
1537
|
|
|
1453
|
-
.desk-
|
|
1454
|
-
|
|
1538
|
+
.desk-popup-option {
|
|
1539
|
+
display: flex;
|
|
1540
|
+
align-items: flex-start;
|
|
1541
|
+
gap: var(--desk-space-1);
|
|
1542
|
+
padding: var(--desk-space-1) var(--desk-space-2);
|
|
1543
|
+
border-radius: 6px;
|
|
1544
|
+
font-size: 13px;
|
|
1545
|
+
cursor: default;
|
|
1455
1546
|
}
|
|
1456
1547
|
|
|
1457
|
-
|
|
1458
|
-
|
|
1459
|
-
|
|
1460
|
-
}
|
|
1548
|
+
.desk-popup-option[data-active] {
|
|
1549
|
+
background: var(--desk-accent);
|
|
1550
|
+
color: var(--desk-on-accent);
|
|
1461
1551
|
}
|
|
1462
1552
|
|
|
1463
|
-
|
|
1553
|
+
.desk-popup-option[data-active] .desk-help {
|
|
1554
|
+
color: rgb(255 255 255 / 80%);
|
|
1555
|
+
}
|
|
1464
1556
|
|
|
1465
|
-
.desk-
|
|
1466
|
-
|
|
1467
|
-
inset: 0;
|
|
1468
|
-
z-index: 1450;
|
|
1469
|
-
display: grid;
|
|
1470
|
-
justify-items: center;
|
|
1471
|
-
align-content: center;
|
|
1472
|
-
padding: var(--desk-space-4);
|
|
1473
|
-
background: rgb(0 0 0 / 30%);
|
|
1474
|
-
animation: desk-fade .14s var(--desk-ease);
|
|
1557
|
+
.desk-popup-option[aria-disabled] {
|
|
1558
|
+
opacity: .5;
|
|
1475
1559
|
}
|
|
1476
1560
|
|
|
1477
|
-
.desk-
|
|
1478
|
-
|
|
1561
|
+
.desk-popup-check {
|
|
1562
|
+
width: 14px;
|
|
1563
|
+
flex: none;
|
|
1564
|
+
text-align: center;
|
|
1479
1565
|
}
|
|
1480
1566
|
|
|
1481
|
-
.desk-
|
|
1482
|
-
|
|
1483
|
-
|
|
1484
|
-
border: 1px solid var(--desk-rule);
|
|
1485
|
-
border-radius: 14px;
|
|
1486
|
-
background: var(--desk-dock-glass);
|
|
1487
|
-
backdrop-filter: blur(28px) saturate(170%);
|
|
1488
|
-
-webkit-backdrop-filter: blur(28px) saturate(170%);
|
|
1489
|
-
box-shadow: var(--desk-shadow-floating);
|
|
1567
|
+
.desk-popup-text {
|
|
1568
|
+
display: flex;
|
|
1569
|
+
flex-direction: column;
|
|
1490
1570
|
}
|
|
1491
1571
|
|
|
1492
|
-
|
|
1493
|
-
|
|
1494
|
-
|
|
1572
|
+
/* ── Table ── */
|
|
1573
|
+
|
|
1574
|
+
.desk-table-wrap {
|
|
1575
|
+
overflow: auto;
|
|
1495
1576
|
}
|
|
1496
1577
|
|
|
1497
|
-
.desk-
|
|
1498
|
-
|
|
1499
|
-
|
|
1578
|
+
.desk-table {
|
|
1579
|
+
width: 100%;
|
|
1580
|
+
border-collapse: collapse;
|
|
1500
1581
|
font-family: var(--desk-font);
|
|
1582
|
+
font-size: 13px;
|
|
1583
|
+
}
|
|
1584
|
+
|
|
1585
|
+
.desk-table th {
|
|
1586
|
+
position: sticky;
|
|
1587
|
+
top: 0;
|
|
1588
|
+
z-index: 1;
|
|
1589
|
+
padding: var(--desk-space-1) var(--desk-space-2);
|
|
1590
|
+
border-bottom: 1px solid var(--desk-rule);
|
|
1591
|
+
background: var(--desk-surface);
|
|
1501
1592
|
font-size: 11px;
|
|
1593
|
+
font-weight: 600;
|
|
1594
|
+
letter-spacing: .06em;
|
|
1595
|
+
text-transform: uppercase;
|
|
1502
1596
|
color: var(--desk-muted);
|
|
1597
|
+
text-align: left;
|
|
1598
|
+
white-space: nowrap;
|
|
1503
1599
|
}
|
|
1504
1600
|
|
|
1505
|
-
.desk-
|
|
1506
|
-
|
|
1601
|
+
.desk-table th[data-align="end"],
|
|
1602
|
+
.desk-table td[data-align="end"] {
|
|
1603
|
+
text-align: right;
|
|
1604
|
+
}
|
|
1605
|
+
|
|
1606
|
+
.desk-table-sort {
|
|
1607
|
+
display: inline-flex;
|
|
1608
|
+
align-items: center;
|
|
1609
|
+
gap: 4px;
|
|
1610
|
+
padding: 0;
|
|
1611
|
+
border: 0;
|
|
1612
|
+
background: none;
|
|
1613
|
+
color: inherit;
|
|
1614
|
+
font: inherit;
|
|
1615
|
+
letter-spacing: inherit;
|
|
1616
|
+
text-transform: inherit;
|
|
1617
|
+
cursor: pointer;
|
|
1618
|
+
}
|
|
1619
|
+
|
|
1620
|
+
.desk-table-sort:hover {
|
|
1507
1621
|
color: var(--desk-ink);
|
|
1508
1622
|
}
|
|
1509
1623
|
|
|
1510
|
-
|
|
1624
|
+
.desk-table td {
|
|
1625
|
+
padding: var(--desk-space-2);
|
|
1626
|
+
border-bottom: 1px solid var(--desk-rule);
|
|
1627
|
+
}
|
|
1511
1628
|
|
|
1512
|
-
.desk-
|
|
1513
|
-
|
|
1514
|
-
inset: 0;
|
|
1515
|
-
z-index: 1450;
|
|
1516
|
-
display: grid;
|
|
1517
|
-
justify-items: center;
|
|
1518
|
-
align-content: start;
|
|
1519
|
-
padding: 12vh var(--desk-space-4) var(--desk-space-4);
|
|
1520
|
-
background: rgb(0 0 0 / 35%);
|
|
1521
|
-
animation: desk-fade .14s var(--desk-ease);
|
|
1629
|
+
.desk-table td[data-numeric] {
|
|
1630
|
+
font-variant-numeric: tabular-nums;
|
|
1522
1631
|
}
|
|
1523
1632
|
|
|
1524
|
-
.desk-
|
|
1525
|
-
|
|
1526
|
-
width: min(620px, 100%);
|
|
1527
|
-
max-height: 70vh;
|
|
1528
|
-
display: flex;
|
|
1529
|
-
flex-direction: column;
|
|
1530
|
-
border: 1px solid var(--desk-rule);
|
|
1531
|
-
border-radius: 14px;
|
|
1532
|
-
background: var(--desk-surface);
|
|
1533
|
-
box-shadow: var(--desk-shadow-floating);
|
|
1534
|
-
font-family: var(--desk-font);
|
|
1535
|
-
overflow: hidden;
|
|
1536
|
-
animation: desk-alert-in .16s var(--desk-ease);
|
|
1633
|
+
.desk-table tbody tr {
|
|
1634
|
+
cursor: default;
|
|
1537
1635
|
}
|
|
1538
1636
|
|
|
1539
|
-
.desk-
|
|
1540
|
-
|
|
1541
|
-
padding: var(--desk-space-3) var(--desk-space-4);
|
|
1542
|
-
border-bottom: 1px solid var(--desk-rule);
|
|
1637
|
+
.desk-table tbody tr:hover {
|
|
1638
|
+
background: color-mix(in srgb, var(--desk-ink) 5%, transparent);
|
|
1543
1639
|
}
|
|
1544
1640
|
|
|
1545
|
-
.desk-
|
|
1546
|
-
|
|
1547
|
-
border: 0;
|
|
1548
|
-
background: none;
|
|
1549
|
-
color: var(--desk-ink);
|
|
1550
|
-
font-family: var(--desk-font);
|
|
1551
|
-
font-size: 17px;
|
|
1552
|
-
outline: none;
|
|
1641
|
+
.desk-table tbody tr[data-selected] {
|
|
1642
|
+
background: color-mix(in srgb, var(--desk-accent) 16%, transparent);
|
|
1553
1643
|
}
|
|
1554
1644
|
|
|
1555
|
-
.desk-
|
|
1645
|
+
.desk-table tbody tr:focus-visible {
|
|
1646
|
+
outline: 2px solid var(--desk-accent);
|
|
1647
|
+
outline-offset: -2px;
|
|
1648
|
+
}
|
|
1649
|
+
|
|
1650
|
+
.desk-table-empty {
|
|
1651
|
+
padding: var(--desk-space-6) var(--desk-space-4);
|
|
1652
|
+
text-align: center;
|
|
1556
1653
|
color: var(--desk-muted);
|
|
1654
|
+
font-family: var(--desk-font);
|
|
1655
|
+
font-size: 13px;
|
|
1557
1656
|
}
|
|
1558
1657
|
|
|
1559
|
-
|
|
1560
|
-
|
|
1561
|
-
|
|
1658
|
+
/* ── Sidebar ── */
|
|
1659
|
+
|
|
1660
|
+
.desk-sidebar {
|
|
1661
|
+
display: flex;
|
|
1662
|
+
flex-direction: column;
|
|
1663
|
+
gap: var(--desk-space-3);
|
|
1664
|
+
padding: var(--desk-space-2);
|
|
1665
|
+
font-family: var(--desk-font);
|
|
1666
|
+
overflow-y: auto;
|
|
1667
|
+
}
|
|
1668
|
+
|
|
1669
|
+
.desk-sidebar ul {
|
|
1562
1670
|
margin: 0;
|
|
1563
|
-
padding:
|
|
1671
|
+
padding: 0;
|
|
1564
1672
|
list-style: none;
|
|
1565
|
-
overflow-y: auto;
|
|
1566
1673
|
}
|
|
1567
1674
|
|
|
1568
|
-
.desk-
|
|
1569
|
-
margin: var(--desk-space-
|
|
1675
|
+
.desk-sidebar-heading {
|
|
1676
|
+
margin: 0 0 var(--desk-space-1);
|
|
1570
1677
|
padding: 0 var(--desk-space-2);
|
|
1571
1678
|
font-size: 11px;
|
|
1572
1679
|
font-weight: 700;
|
|
@@ -1575,782 +1682,912 @@
|
|
|
1575
1682
|
color: var(--desk-muted);
|
|
1576
1683
|
}
|
|
1577
1684
|
|
|
1578
|
-
.desk-
|
|
1685
|
+
.desk-sidebar-item {
|
|
1579
1686
|
display: flex;
|
|
1580
1687
|
align-items: center;
|
|
1581
|
-
gap: var(--desk-space-
|
|
1582
|
-
|
|
1583
|
-
|
|
1584
|
-
|
|
1585
|
-
}
|
|
1586
|
-
|
|
1587
|
-
.desk-search-row[data-active] {
|
|
1588
|
-
background: var(--desk-accent);
|
|
1589
|
-
color: var(--desk-on-accent);
|
|
1590
|
-
}
|
|
1591
|
-
|
|
1592
|
-
.desk-search-icon {
|
|
1593
|
-
display: grid;
|
|
1594
|
-
place-items: center;
|
|
1595
|
-
width: 28px;
|
|
1596
|
-
height: 28px;
|
|
1597
|
-
flex: none;
|
|
1598
|
-
border: 1px solid var(--desk-rule);
|
|
1688
|
+
gap: var(--desk-space-2);
|
|
1689
|
+
width: 100%;
|
|
1690
|
+
padding: var(--desk-space-1) var(--desk-space-2);
|
|
1691
|
+
border: 0;
|
|
1599
1692
|
border-radius: 7px;
|
|
1693
|
+
background: none;
|
|
1694
|
+
color: var(--desk-ink);
|
|
1695
|
+
font-family: inherit;
|
|
1696
|
+
font-size: 13px;
|
|
1697
|
+
text-align: left;
|
|
1698
|
+
cursor: pointer;
|
|
1600
1699
|
}
|
|
1601
1700
|
|
|
1602
|
-
.desk-
|
|
1603
|
-
|
|
1604
|
-
height: 15px;
|
|
1701
|
+
.desk-sidebar-item:hover:not(:disabled) {
|
|
1702
|
+
background: color-mix(in srgb, var(--desk-ink) 7%, transparent);
|
|
1605
1703
|
}
|
|
1606
1704
|
|
|
1607
|
-
.desk-
|
|
1608
|
-
|
|
1609
|
-
|
|
1705
|
+
.desk-sidebar-item[data-current] {
|
|
1706
|
+
background: color-mix(in srgb, var(--desk-accent) 18%, transparent);
|
|
1707
|
+
font-weight: 500;
|
|
1610
1708
|
}
|
|
1611
1709
|
|
|
1612
|
-
.desk-
|
|
1613
|
-
|
|
1614
|
-
|
|
1710
|
+
.desk-sidebar-item:focus-visible {
|
|
1711
|
+
outline: 2px solid var(--desk-accent);
|
|
1712
|
+
outline-offset: -2px;
|
|
1615
1713
|
}
|
|
1616
1714
|
|
|
1617
|
-
.desk-
|
|
1618
|
-
|
|
1619
|
-
|
|
1620
|
-
font-weight: 500;
|
|
1715
|
+
.desk-sidebar-item:disabled {
|
|
1716
|
+
opacity: .45;
|
|
1717
|
+
cursor: not-allowed;
|
|
1621
1718
|
}
|
|
1622
1719
|
|
|
1623
|
-
.desk-
|
|
1624
|
-
|
|
1625
|
-
|
|
1720
|
+
.desk-sidebar-icon {
|
|
1721
|
+
display: grid;
|
|
1722
|
+
place-items: center;
|
|
1723
|
+
width: 16px;
|
|
1724
|
+
height: 16px;
|
|
1725
|
+
flex: none;
|
|
1626
1726
|
color: var(--desk-muted);
|
|
1627
1727
|
}
|
|
1628
1728
|
|
|
1629
|
-
.desk-
|
|
1630
|
-
|
|
1729
|
+
.desk-sidebar-item[data-current] .desk-sidebar-icon {
|
|
1730
|
+
color: var(--desk-accent);
|
|
1631
1731
|
}
|
|
1632
1732
|
|
|
1633
|
-
.desk-
|
|
1733
|
+
.desk-sidebar-label {
|
|
1734
|
+
flex: 1;
|
|
1735
|
+
min-width: 0;
|
|
1736
|
+
overflow: hidden;
|
|
1737
|
+
text-overflow: ellipsis;
|
|
1738
|
+
white-space: nowrap;
|
|
1739
|
+
}
|
|
1740
|
+
|
|
1741
|
+
.desk-sidebar-badge {
|
|
1634
1742
|
flex: none;
|
|
1635
|
-
|
|
1636
|
-
|
|
1743
|
+
min-width: 18px;
|
|
1744
|
+
padding: 0 5px;
|
|
1745
|
+
border-radius: 9px;
|
|
1746
|
+
background: color-mix(in srgb, var(--desk-ink) 12%, transparent);
|
|
1747
|
+
font-size: 11px;
|
|
1748
|
+
font-variant-numeric: tabular-nums;
|
|
1749
|
+
text-align: center;
|
|
1637
1750
|
}
|
|
1638
1751
|
|
|
1639
|
-
.desk-
|
|
1640
|
-
|
|
1641
|
-
|
|
1752
|
+
.desk-sidebar-footer {
|
|
1753
|
+
margin-top: auto;
|
|
1754
|
+
padding: var(--desk-space-2);
|
|
1755
|
+
border-top: 1px solid var(--desk-rule);
|
|
1642
1756
|
}
|
|
1643
1757
|
|
|
1644
|
-
.
|
|
1758
|
+
/* Icon view: a Finder's icons, in rows that follow the window's width. */
|
|
1759
|
+
.desk-icon-view {
|
|
1760
|
+
list-style: none;
|
|
1645
1761
|
margin: 0;
|
|
1646
|
-
padding:
|
|
1762
|
+
padding: 12px;
|
|
1763
|
+
display: grid;
|
|
1764
|
+
grid-template-columns: repeat(auto-fill, minmax(104px, 1fr));
|
|
1765
|
+
align-content: start;
|
|
1766
|
+
gap: 8px;
|
|
1767
|
+
}
|
|
1768
|
+
|
|
1769
|
+
.desk-icon-cell {
|
|
1770
|
+
display: grid;
|
|
1771
|
+
justify-items: center;
|
|
1772
|
+
align-content: start;
|
|
1773
|
+
gap: 4px;
|
|
1774
|
+
padding: 10px 6px;
|
|
1775
|
+
border-radius: 10px;
|
|
1647
1776
|
text-align: center;
|
|
1648
|
-
|
|
1649
|
-
|
|
1777
|
+
cursor: default;
|
|
1778
|
+
user-select: none;
|
|
1779
|
+
outline: none;
|
|
1650
1780
|
}
|
|
1651
1781
|
|
|
1652
|
-
|
|
1653
|
-
.
|
|
1654
|
-
.desk-search-scrim {
|
|
1655
|
-
animation: none;
|
|
1656
|
-
}
|
|
1782
|
+
.desk-icon-cell[aria-disabled="true"] {
|
|
1783
|
+
opacity: .45;
|
|
1657
1784
|
}
|
|
1658
1785
|
|
|
1659
|
-
|
|
1786
|
+
.desk-icon-cell:focus-visible {
|
|
1787
|
+
box-shadow: 0 0 0 2px var(--desk-accent);
|
|
1788
|
+
}
|
|
1660
1789
|
|
|
1661
|
-
.desk-
|
|
1662
|
-
|
|
1663
|
-
|
|
1664
|
-
|
|
1665
|
-
|
|
1790
|
+
.desk-icon-glyph {
|
|
1791
|
+
position: relative;
|
|
1792
|
+
display: grid;
|
|
1793
|
+
place-items: center;
|
|
1794
|
+
width: 56px;
|
|
1795
|
+
height: 56px;
|
|
1666
1796
|
border-radius: 14px;
|
|
1667
|
-
|
|
1668
|
-
|
|
1669
|
-
-webkit-backdrop-filter: blur(28px) saturate(170%);
|
|
1670
|
-
box-shadow: var(--desk-shadow-floating), 0 0 30px color-mix(in srgb, var(--desk-accent) 20%, transparent);
|
|
1671
|
-
font-family: var(--desk-font);
|
|
1797
|
+
border: 1px solid var(--desk-rule);
|
|
1798
|
+
background: var(--desk-dock-icon);
|
|
1672
1799
|
color: var(--desk-ink);
|
|
1673
1800
|
}
|
|
1674
1801
|
|
|
1675
|
-
.desk-
|
|
1676
|
-
|
|
1677
|
-
|
|
1678
|
-
|
|
1679
|
-
|
|
1802
|
+
.desk-icon-glyph > svg,
|
|
1803
|
+
.desk-icon-glyph > img {
|
|
1804
|
+
width: 55%;
|
|
1805
|
+
height: 55%;
|
|
1806
|
+
object-fit: contain;
|
|
1680
1807
|
}
|
|
1681
1808
|
|
|
1682
|
-
.desk-
|
|
1683
|
-
|
|
1684
|
-
|
|
1685
|
-
|
|
1809
|
+
.desk-icon-badge {
|
|
1810
|
+
position: absolute;
|
|
1811
|
+
top: -5px;
|
|
1812
|
+
right: -5px;
|
|
1813
|
+
min-width: 18px;
|
|
1814
|
+
padding: 0 5px;
|
|
1815
|
+
border-radius: 9px;
|
|
1816
|
+
background: var(--desk-accent);
|
|
1817
|
+
color: #fff;
|
|
1818
|
+
font-size: 11px;
|
|
1819
|
+
line-height: 18px;
|
|
1686
1820
|
}
|
|
1687
1821
|
|
|
1688
|
-
.desk-
|
|
1689
|
-
|
|
1822
|
+
.desk-icon-label {
|
|
1823
|
+
max-width: 100%;
|
|
1824
|
+
padding: 1px 6px;
|
|
1825
|
+
border-radius: 5px;
|
|
1826
|
+
font-size: 12.5px;
|
|
1827
|
+
line-height: 1.3;
|
|
1828
|
+
overflow-wrap: anywhere;
|
|
1829
|
+
display: -webkit-box;
|
|
1830
|
+
-webkit-line-clamp: 2;
|
|
1831
|
+
-webkit-box-orient: vertical;
|
|
1832
|
+
overflow: hidden;
|
|
1690
1833
|
}
|
|
1691
1834
|
|
|
1692
|
-
.desk-
|
|
1693
|
-
|
|
1694
|
-
|
|
1695
|
-
|
|
1696
|
-
background: var(--desk-rule);
|
|
1835
|
+
.desk-icon-subtitle {
|
|
1836
|
+
max-width: 100%;
|
|
1837
|
+
font-size: 11px;
|
|
1838
|
+
color: var(--desk-muted);
|
|
1697
1839
|
overflow: hidden;
|
|
1840
|
+
text-overflow: ellipsis;
|
|
1841
|
+
white-space: nowrap;
|
|
1698
1842
|
}
|
|
1699
1843
|
|
|
1700
|
-
.desk-
|
|
1701
|
-
|
|
1702
|
-
|
|
1844
|
+
.desk-icon-cell[aria-selected="true"] .desk-icon-glyph {
|
|
1845
|
+
background: color-mix(in srgb, var(--desk-accent) 16%, transparent);
|
|
1846
|
+
}
|
|
1847
|
+
|
|
1848
|
+
.desk-icon-cell[aria-selected="true"] .desk-icon-label {
|
|
1703
1849
|
background: var(--desk-accent);
|
|
1704
|
-
|
|
1850
|
+
color: #fff;
|
|
1705
1851
|
}
|
|
1706
1852
|
|
|
1707
|
-
.desk-
|
|
1708
|
-
|
|
1709
|
-
|
|
1710
|
-
|
|
1853
|
+
.desk-icon-view-empty {
|
|
1854
|
+
display: grid;
|
|
1855
|
+
place-items: center;
|
|
1856
|
+
padding: 32px 16px;
|
|
1857
|
+
color: var(--desk-muted);
|
|
1858
|
+
text-align: center;
|
|
1711
1859
|
}
|
|
1712
1860
|
|
|
1713
|
-
.desk-
|
|
1714
|
-
|
|
1715
|
-
|
|
1716
|
-
|
|
1861
|
+
.desk-icon-drag {
|
|
1862
|
+
display: grid;
|
|
1863
|
+
place-items: center;
|
|
1864
|
+
width: 40px;
|
|
1865
|
+
height: 40px;
|
|
1717
1866
|
}
|
|
1718
1867
|
|
|
1719
|
-
|
|
1720
|
-
|
|
1868
|
+
/* @liberation-data/desk — overlays.css */
|
|
1869
|
+
/* ── Overlays ── */
|
|
1870
|
+
|
|
1871
|
+
.desk-popover-anchor {
|
|
1872
|
+
position: relative;
|
|
1873
|
+
display: inline-flex;
|
|
1721
1874
|
}
|
|
1722
1875
|
|
|
1723
|
-
.desk-
|
|
1724
|
-
|
|
1725
|
-
|
|
1726
|
-
|
|
1876
|
+
.desk-popover {
|
|
1877
|
+
position: absolute;
|
|
1878
|
+
z-index: 1200;
|
|
1879
|
+
min-width: 220px;
|
|
1880
|
+
max-width: min(360px, calc(100vw - 24px));
|
|
1881
|
+
padding: var(--desk-space-3);
|
|
1882
|
+
border: 1px solid var(--desk-rule);
|
|
1883
|
+
border-radius: 12px;
|
|
1884
|
+
background: var(--desk-surface);
|
|
1885
|
+
box-shadow: var(--desk-shadow-floating);
|
|
1886
|
+
animation: desk-menu-in .14s var(--desk-ease);
|
|
1727
1887
|
}
|
|
1728
1888
|
|
|
1729
|
-
.desk-
|
|
1730
|
-
|
|
1889
|
+
.desk-popover[data-placement="below"] {
|
|
1890
|
+
top: calc(100% + 6px);
|
|
1731
1891
|
}
|
|
1732
1892
|
|
|
1733
|
-
|
|
1734
|
-
|
|
1735
|
-
position: relative;
|
|
1736
|
-
z-index: 3;
|
|
1737
|
-
outline: 2px solid var(--desk-accent);
|
|
1738
|
-
outline-offset: 3px;
|
|
1739
|
-
border-radius: 6px;
|
|
1740
|
-
animation: desk-tour-pulse 1.6s var(--desk-ease) 2;
|
|
1893
|
+
.desk-popover[data-placement="above"] {
|
|
1894
|
+
bottom: calc(100% + 6px);
|
|
1741
1895
|
}
|
|
1742
1896
|
|
|
1743
|
-
|
|
1744
|
-
0
|
|
1745
|
-
box-shadow: 0 0 0 0 color-mix(in srgb, var(--desk-accent) 0%, transparent);
|
|
1746
|
-
}
|
|
1747
|
-
40% {
|
|
1748
|
-
box-shadow: 0 0 0 4px color-mix(in srgb, var(--desk-accent) 45%, transparent);
|
|
1749
|
-
}
|
|
1897
|
+
.desk-popover[data-align="start"] {
|
|
1898
|
+
left: 0;
|
|
1750
1899
|
}
|
|
1751
1900
|
|
|
1752
|
-
|
|
1753
|
-
|
|
1754
|
-
|
|
1755
|
-
}
|
|
1901
|
+
.desk-popover[data-align="end"] {
|
|
1902
|
+
right: 0;
|
|
1903
|
+
}
|
|
1756
1904
|
|
|
1757
|
-
|
|
1758
|
-
|
|
1905
|
+
/* A sheet belongs to its window: the scrim covers that window and nothing else. */
|
|
1906
|
+
.desk-sheet-scrim,
|
|
1907
|
+
.desk-alert-scrim {
|
|
1908
|
+
position: absolute;
|
|
1909
|
+
inset: 0;
|
|
1910
|
+
z-index: 1300;
|
|
1911
|
+
display: grid;
|
|
1912
|
+
background: rgb(0 0 0 / 35%);
|
|
1913
|
+
animation: desk-fade .16s var(--desk-ease);
|
|
1914
|
+
}
|
|
1915
|
+
|
|
1916
|
+
.desk-sheet-scrim {
|
|
1917
|
+
place-items: start center;
|
|
1918
|
+
padding: var(--desk-space-4);
|
|
1919
|
+
}
|
|
1920
|
+
|
|
1921
|
+
.desk-alert-scrim {
|
|
1922
|
+
position: fixed;
|
|
1923
|
+
z-index: 1400;
|
|
1924
|
+
place-items: center;
|
|
1925
|
+
padding: var(--desk-space-4);
|
|
1926
|
+
background: rgb(0 0 0 / 45%);
|
|
1927
|
+
}
|
|
1928
|
+
|
|
1929
|
+
@keyframes desk-fade {
|
|
1930
|
+
from {
|
|
1931
|
+
opacity: 0;
|
|
1759
1932
|
}
|
|
1760
1933
|
}
|
|
1761
1934
|
|
|
1762
|
-
|
|
1935
|
+
.desk-sheet,
|
|
1936
|
+
.desk-alert {
|
|
1937
|
+
box-sizing: border-box;
|
|
1938
|
+
width: min(440px, 100%);
|
|
1939
|
+
padding: var(--desk-space-4);
|
|
1940
|
+
border: 1px solid var(--desk-rule);
|
|
1941
|
+
border-radius: 14px;
|
|
1942
|
+
background: var(--desk-surface);
|
|
1943
|
+
color: var(--desk-ink);
|
|
1944
|
+
box-shadow: var(--desk-shadow-floating);
|
|
1945
|
+
font-family: var(--desk-font);
|
|
1946
|
+
}
|
|
1763
1947
|
|
|
1764
|
-
.desk-
|
|
1765
|
-
|
|
1766
|
-
align-items: flex-start;
|
|
1767
|
-
gap: var(--desk-space-2);
|
|
1768
|
-
padding: var(--desk-space-1) 0;
|
|
1948
|
+
.desk-sheet {
|
|
1949
|
+
animation: desk-sheet-in .22s var(--desk-ease);
|
|
1769
1950
|
}
|
|
1770
1951
|
|
|
1771
|
-
.desk-
|
|
1772
|
-
width:
|
|
1773
|
-
|
|
1774
|
-
|
|
1775
|
-
|
|
1776
|
-
|
|
1952
|
+
.desk-alert {
|
|
1953
|
+
width: min(380px, 100%);
|
|
1954
|
+
text-align: center;
|
|
1955
|
+
animation: desk-alert-in .16s var(--desk-ease);
|
|
1956
|
+
}
|
|
1957
|
+
|
|
1958
|
+
@keyframes desk-sheet-in {
|
|
1959
|
+
from {
|
|
1960
|
+
transform: translateY(-12px);
|
|
1961
|
+
opacity: 0;
|
|
1962
|
+
}
|
|
1963
|
+
}
|
|
1964
|
+
|
|
1965
|
+
@keyframes desk-alert-in {
|
|
1966
|
+
from {
|
|
1967
|
+
transform: scale(.97);
|
|
1968
|
+
opacity: 0;
|
|
1969
|
+
}
|
|
1970
|
+
}
|
|
1971
|
+
|
|
1972
|
+
.desk-sheet-title,
|
|
1973
|
+
.desk-alert-title {
|
|
1974
|
+
margin: 0 0 var(--desk-space-1);
|
|
1975
|
+
font-size: 15px;
|
|
1976
|
+
font-weight: 600;
|
|
1777
1977
|
}
|
|
1778
1978
|
|
|
1779
|
-
.desk-
|
|
1780
|
-
|
|
1781
|
-
|
|
1782
|
-
|
|
1979
|
+
.desk-sheet-description,
|
|
1980
|
+
.desk-alert-message {
|
|
1981
|
+
margin: 0 0 var(--desk-space-3);
|
|
1982
|
+
color: var(--desk-muted);
|
|
1983
|
+
font-size: 13px;
|
|
1984
|
+
line-height: 1.5;
|
|
1783
1985
|
}
|
|
1784
1986
|
|
|
1785
|
-
.desk-
|
|
1786
|
-
|
|
1987
|
+
.desk-sheet-actions,
|
|
1988
|
+
.desk-alert-actions {
|
|
1989
|
+
display: flex;
|
|
1990
|
+
justify-content: flex-end;
|
|
1991
|
+
gap: var(--desk-space-2);
|
|
1992
|
+
margin-top: var(--desk-space-4);
|
|
1787
1993
|
}
|
|
1788
1994
|
|
|
1789
|
-
.desk-
|
|
1790
|
-
|
|
1791
|
-
outline: 2px solid var(--desk-accent);
|
|
1792
|
-
outline-offset: 2px;
|
|
1995
|
+
.desk-alert-actions {
|
|
1996
|
+
justify-content: center;
|
|
1793
1997
|
}
|
|
1794
1998
|
|
|
1795
|
-
.desk-
|
|
1796
|
-
|
|
1797
|
-
|
|
1798
|
-
|
|
1999
|
+
.desk-toasts {
|
|
2000
|
+
position: fixed;
|
|
2001
|
+
z-index: 1500;
|
|
2002
|
+
right: var(--desk-space-4);
|
|
2003
|
+
bottom: var(--desk-space-4);
|
|
1799
2004
|
display: flex;
|
|
1800
2005
|
flex-direction: column;
|
|
1801
2006
|
gap: var(--desk-space-2);
|
|
2007
|
+
max-width: min(420px, calc(100vw - 32px));
|
|
1802
2008
|
}
|
|
1803
2009
|
|
|
1804
|
-
.desk-
|
|
2010
|
+
.desk-toast {
|
|
1805
2011
|
display: flex;
|
|
1806
|
-
align-items:
|
|
1807
|
-
gap: var(--desk-space-
|
|
1808
|
-
padding: var(--desk-space-3);
|
|
2012
|
+
align-items: center;
|
|
2013
|
+
gap: var(--desk-space-2);
|
|
2014
|
+
padding: var(--desk-space-2) var(--desk-space-2) var(--desk-space-2) var(--desk-space-3);
|
|
1809
2015
|
border: 1px solid var(--desk-rule);
|
|
1810
|
-
border-radius:
|
|
2016
|
+
border-radius: 10px;
|
|
1811
2017
|
background: var(--desk-surface);
|
|
1812
|
-
|
|
2018
|
+
box-shadow: var(--desk-shadow-floating);
|
|
2019
|
+
font-family: var(--desk-font);
|
|
2020
|
+
font-size: 13px;
|
|
2021
|
+
animation: desk-toast-in .2s var(--desk-ease);
|
|
1813
2022
|
}
|
|
1814
2023
|
|
|
1815
|
-
|
|
1816
|
-
|
|
2024
|
+
@keyframes desk-toast-in {
|
|
2025
|
+
from {
|
|
2026
|
+
transform: translateY(8px);
|
|
2027
|
+
opacity: 0;
|
|
2028
|
+
}
|
|
1817
2029
|
}
|
|
1818
2030
|
|
|
1819
|
-
.desk-
|
|
1820
|
-
border-color: var(--desk-
|
|
1821
|
-
box-shadow: 0 0 0 1px var(--desk-accent);
|
|
2031
|
+
.desk-toast[data-tone="ok"] {
|
|
2032
|
+
border-color: color-mix(in srgb, var(--desk-ok) 45%, var(--desk-rule));
|
|
1822
2033
|
}
|
|
1823
2034
|
|
|
1824
|
-
.desk-
|
|
1825
|
-
|
|
1826
|
-
cursor: not-allowed;
|
|
2035
|
+
.desk-toast[data-tone="bad"] {
|
|
2036
|
+
border-color: color-mix(in srgb, var(--desk-bad) 45%, var(--desk-rule));
|
|
1827
2037
|
}
|
|
1828
2038
|
|
|
1829
|
-
.desk-
|
|
1830
|
-
|
|
1831
|
-
|
|
2039
|
+
.desk-toast-message {
|
|
2040
|
+
flex: 1;
|
|
2041
|
+
min-width: 0;
|
|
1832
2042
|
}
|
|
1833
2043
|
|
|
1834
|
-
|
|
1835
|
-
|
|
1836
|
-
|
|
1837
|
-
|
|
2044
|
+
@media (prefers-reduced-motion: reduce) {
|
|
2045
|
+
.desk-inputbar,
|
|
2046
|
+
.desk-inputbar-scrim,
|
|
2047
|
+
.desk-popover,
|
|
2048
|
+
.desk-sheet,
|
|
2049
|
+
.desk-alert,
|
|
2050
|
+
.desk-toast,
|
|
2051
|
+
.desk-sheet-scrim,
|
|
2052
|
+
.desk-alert-scrim {
|
|
2053
|
+
animation: none;
|
|
2054
|
+
}
|
|
1838
2055
|
}
|
|
1839
2056
|
|
|
1840
|
-
|
|
2057
|
+
/* ── An (i): what a view would explain if asked ── */
|
|
2058
|
+
|
|
2059
|
+
.desk-infotip {
|
|
1841
2060
|
flex: none;
|
|
1842
|
-
display: grid;
|
|
2061
|
+
display: inline-grid;
|
|
1843
2062
|
place-items: center;
|
|
1844
|
-
width:
|
|
1845
|
-
height:
|
|
1846
|
-
|
|
1847
|
-
|
|
2063
|
+
width: 18px;
|
|
2064
|
+
height: 18px;
|
|
2065
|
+
padding: 0;
|
|
2066
|
+
/* The title bar's own green, the one the zoom control wears: a muted grey (i) sat in a muted
|
|
2067
|
+
trailing edge and went unseen, which defeats the point of having one place to ask. */
|
|
2068
|
+
border: 1px solid color-mix(in srgb, var(--desk-info) 55%, transparent);
|
|
1848
2069
|
border-radius: 50%;
|
|
2070
|
+
background: color-mix(in srgb, var(--desk-info) 14%, transparent);
|
|
2071
|
+
color: var(--desk-info);
|
|
2072
|
+
font-family: var(--desk-font);
|
|
2073
|
+
font-size: 11px;
|
|
2074
|
+
font-style: italic;
|
|
2075
|
+
font-weight: 700;
|
|
2076
|
+
line-height: 1;
|
|
2077
|
+
cursor: pointer;
|
|
1849
2078
|
}
|
|
1850
2079
|
|
|
1851
|
-
.desk-
|
|
1852
|
-
|
|
2080
|
+
.desk-infotip:hover,
|
|
2081
|
+
.desk-infotip[data-open] {
|
|
2082
|
+
border-color: var(--desk-info);
|
|
2083
|
+
background: color-mix(in srgb, var(--desk-info) 26%, transparent);
|
|
1853
2084
|
}
|
|
1854
2085
|
|
|
1855
|
-
.desk-
|
|
1856
|
-
|
|
1857
|
-
|
|
1858
|
-
height: 8px;
|
|
1859
|
-
border-radius: 50%;
|
|
1860
|
-
background: var(--desk-accent);
|
|
2086
|
+
.desk-infotip:focus-visible {
|
|
2087
|
+
outline: 2px solid var(--desk-info);
|
|
2088
|
+
outline-offset: 2px;
|
|
1861
2089
|
}
|
|
1862
2090
|
|
|
1863
|
-
.desk-
|
|
1864
|
-
|
|
1865
|
-
|
|
1866
|
-
|
|
1867
|
-
width: 36px;
|
|
1868
|
-
height: 36px;
|
|
1869
|
-
border: 1px solid var(--desk-rule);
|
|
1870
|
-
border-radius: 10px;
|
|
2091
|
+
.desk-infotip-body {
|
|
2092
|
+
max-width: 34ch;
|
|
2093
|
+
font-size: 12.5px;
|
|
2094
|
+
line-height: 1.45;
|
|
1871
2095
|
color: var(--desk-muted);
|
|
1872
2096
|
}
|
|
1873
2097
|
|
|
1874
|
-
.desk-
|
|
1875
|
-
|
|
1876
|
-
height: 18px;
|
|
1877
|
-
}
|
|
1878
|
-
|
|
1879
|
-
.desk-choice-text {
|
|
1880
|
-
flex: 1;
|
|
1881
|
-
min-width: 0;
|
|
1882
|
-
display: flex;
|
|
1883
|
-
flex-direction: column;
|
|
1884
|
-
gap: 2px;
|
|
2098
|
+
.desk-infotip-body > :first-child {
|
|
2099
|
+
margin-top: 0;
|
|
1885
2100
|
}
|
|
1886
2101
|
|
|
1887
|
-
.desk-
|
|
1888
|
-
|
|
2102
|
+
.desk-infotip-body > :last-child {
|
|
2103
|
+
margin-bottom: 0;
|
|
1889
2104
|
}
|
|
1890
2105
|
|
|
1891
|
-
|
|
1892
|
-
|
|
1893
|
-
font-weight: 400;
|
|
1894
|
-
color: var(--desk-muted);
|
|
1895
|
-
}
|
|
2106
|
+
/* @liberation-data/desk — conversation.css */
|
|
2107
|
+
/* ── Conversation ── */
|
|
1896
2108
|
|
|
1897
|
-
.desk-
|
|
2109
|
+
.desk-thread {
|
|
2110
|
+
position: relative;
|
|
1898
2111
|
display: flex;
|
|
1899
2112
|
flex-direction: column;
|
|
1900
|
-
|
|
1901
|
-
}
|
|
1902
|
-
|
|
1903
|
-
.desk-progress {
|
|
1904
|
-
height: 5px;
|
|
1905
|
-
border-radius: 3px;
|
|
1906
|
-
background: var(--desk-rule);
|
|
1907
|
-
overflow: hidden;
|
|
1908
|
-
}
|
|
1909
|
-
|
|
1910
|
-
.desk-progress i {
|
|
1911
|
-
display: block;
|
|
2113
|
+
min-height: 0;
|
|
1912
2114
|
height: 100%;
|
|
1913
|
-
|
|
1914
|
-
transition: width .4s var(--desk-ease);
|
|
1915
|
-
}
|
|
1916
|
-
|
|
1917
|
-
.desk-tasks {
|
|
1918
|
-
margin: 0;
|
|
1919
|
-
padding: 0;
|
|
1920
|
-
list-style: none;
|
|
1921
|
-
border: 1px solid var(--desk-rule);
|
|
1922
|
-
border-radius: 12px;
|
|
2115
|
+
font-family: var(--desk-font);
|
|
1923
2116
|
}
|
|
1924
2117
|
|
|
1925
|
-
.desk-
|
|
2118
|
+
.desk-thread-scroll {
|
|
2119
|
+
flex: 1;
|
|
2120
|
+
min-height: 0;
|
|
2121
|
+
overflow-y: auto;
|
|
1926
2122
|
display: flex;
|
|
1927
|
-
|
|
1928
|
-
gap: var(--desk-space-
|
|
1929
|
-
padding: var(--desk-space-
|
|
1930
|
-
}
|
|
1931
|
-
|
|
1932
|
-
.desk-task + .desk-task {
|
|
1933
|
-
border-top: 1px solid var(--desk-rule);
|
|
2123
|
+
flex-direction: column;
|
|
2124
|
+
gap: var(--desk-space-1);
|
|
2125
|
+
padding: var(--desk-space-4);
|
|
1934
2126
|
}
|
|
1935
2127
|
|
|
1936
|
-
.desk-
|
|
1937
|
-
|
|
1938
|
-
|
|
1939
|
-
|
|
1940
|
-
|
|
1941
|
-
width: 20px;
|
|
1942
|
-
height: 20px;
|
|
1943
|
-
border-radius: 50%;
|
|
1944
|
-
font-size: 12px;
|
|
1945
|
-
border: 1.5px dashed var(--desk-rule);
|
|
2128
|
+
.desk-message {
|
|
2129
|
+
display: flex;
|
|
2130
|
+
flex-direction: column;
|
|
2131
|
+
align-items: flex-start;
|
|
2132
|
+
max-width: min(80%, 60ch);
|
|
1946
2133
|
}
|
|
1947
2134
|
|
|
1948
|
-
.desk-
|
|
1949
|
-
|
|
1950
|
-
|
|
1951
|
-
animation: desk-spin .8s linear infinite;
|
|
2135
|
+
.desk-message[data-mine] {
|
|
2136
|
+
align-self: flex-end;
|
|
2137
|
+
align-items: flex-end;
|
|
1952
2138
|
}
|
|
1953
2139
|
|
|
1954
|
-
|
|
1955
|
-
|
|
1956
|
-
|
|
1957
|
-
color: var(--desk-ok);
|
|
2140
|
+
/* A new run of messages from the same person gets air; the rest stay close. */
|
|
2141
|
+
.desk-message[data-run-start] {
|
|
2142
|
+
margin-top: var(--desk-space-3);
|
|
1958
2143
|
}
|
|
1959
2144
|
|
|
1960
|
-
.desk-
|
|
1961
|
-
|
|
1962
|
-
background: color-mix(in srgb, var(--desk-bad) 18%, transparent);
|
|
1963
|
-
color: var(--desk-bad);
|
|
1964
|
-
font-weight: 700;
|
|
2145
|
+
.desk-message:first-child {
|
|
2146
|
+
margin-top: 0;
|
|
1965
2147
|
}
|
|
1966
2148
|
|
|
1967
|
-
|
|
1968
|
-
|
|
1969
|
-
|
|
1970
|
-
|
|
2149
|
+
.desk-message-author {
|
|
2150
|
+
margin-bottom: 2px;
|
|
2151
|
+
padding: 0 var(--desk-space-1);
|
|
2152
|
+
font-size: 11.5px;
|
|
2153
|
+
font-weight: 600;
|
|
2154
|
+
color: var(--desk-muted);
|
|
1971
2155
|
}
|
|
1972
2156
|
|
|
1973
|
-
.desk-
|
|
1974
|
-
|
|
1975
|
-
|
|
1976
|
-
|
|
1977
|
-
|
|
2157
|
+
.desk-bubble {
|
|
2158
|
+
padding: var(--desk-space-2) var(--desk-space-3);
|
|
2159
|
+
border: 1px solid var(--desk-rule);
|
|
2160
|
+
border-radius: 14px;
|
|
2161
|
+
background: var(--desk-surface);
|
|
2162
|
+
font-size: 13.5px;
|
|
2163
|
+
line-height: 1.5;
|
|
2164
|
+
white-space: pre-wrap;
|
|
2165
|
+
overflow-wrap: anywhere;
|
|
1978
2166
|
}
|
|
1979
2167
|
|
|
1980
|
-
.desk-
|
|
1981
|
-
|
|
1982
|
-
|
|
2168
|
+
.desk-message[data-mine] .desk-bubble {
|
|
2169
|
+
border-color: transparent;
|
|
2170
|
+
background: var(--desk-accent);
|
|
2171
|
+
color: var(--desk-on-accent);
|
|
2172
|
+
border-bottom-right-radius: 5px;
|
|
1983
2173
|
}
|
|
1984
2174
|
|
|
1985
|
-
.desk-
|
|
1986
|
-
|
|
1987
|
-
font-size: 12px;
|
|
1988
|
-
color: var(--desk-muted);
|
|
2175
|
+
.desk-message:not([data-mine]) .desk-bubble {
|
|
2176
|
+
border-bottom-left-radius: 5px;
|
|
1989
2177
|
}
|
|
1990
2178
|
|
|
1991
|
-
.desk-
|
|
1992
|
-
|
|
2179
|
+
.desk-message[data-state="sending"] .desk-bubble {
|
|
2180
|
+
opacity: .6;
|
|
1993
2181
|
}
|
|
1994
2182
|
|
|
1995
|
-
|
|
1996
|
-
|
|
1997
|
-
animation: none;
|
|
1998
|
-
}
|
|
2183
|
+
.desk-message[data-state="failed"] .desk-bubble {
|
|
2184
|
+
border-color: var(--desk-bad);
|
|
1999
2185
|
}
|
|
2000
2186
|
|
|
2001
|
-
.desk-
|
|
2002
|
-
margin: 0;
|
|
2003
|
-
padding: 0;
|
|
2004
|
-
border: 0;
|
|
2187
|
+
.desk-message-foot {
|
|
2005
2188
|
display: flex;
|
|
2006
|
-
|
|
2007
|
-
gap: var(--desk-space-
|
|
2189
|
+
align-items: center;
|
|
2190
|
+
gap: var(--desk-space-2);
|
|
2191
|
+
padding: 2px var(--desk-space-1) 0;
|
|
2192
|
+
font-size: 11px;
|
|
2193
|
+
color: var(--desk-muted);
|
|
2008
2194
|
}
|
|
2009
2195
|
|
|
2010
|
-
.desk-
|
|
2011
|
-
|
|
2012
|
-
margin-bottom: var(--desk-space-1);
|
|
2196
|
+
.desk-message-foot:empty {
|
|
2197
|
+
display: none;
|
|
2013
2198
|
}
|
|
2014
2199
|
|
|
2015
|
-
.desk-
|
|
2016
|
-
|
|
2017
|
-
height: 16px;
|
|
2018
|
-
margin: 2px 0 0;
|
|
2019
|
-
accent-color: var(--desk-accent);
|
|
2020
|
-
flex: none;
|
|
2200
|
+
.desk-message-failed {
|
|
2201
|
+
color: var(--desk-bad);
|
|
2021
2202
|
}
|
|
2022
2203
|
|
|
2023
|
-
.desk-
|
|
2024
|
-
|
|
2025
|
-
|
|
2204
|
+
.desk-typing {
|
|
2205
|
+
align-self: flex-start;
|
|
2206
|
+
margin-top: var(--desk-space-2);
|
|
2207
|
+
padding: var(--desk-space-2) var(--desk-space-3);
|
|
2208
|
+
border: 1px solid var(--desk-rule);
|
|
2209
|
+
border-radius: 14px;
|
|
2210
|
+
border-bottom-left-radius: 5px;
|
|
2211
|
+
background: var(--desk-surface);
|
|
2026
2212
|
}
|
|
2027
2213
|
|
|
2028
|
-
.desk-
|
|
2214
|
+
.desk-typing-dots {
|
|
2029
2215
|
display: flex;
|
|
2030
|
-
|
|
2031
|
-
gap: var(--desk-space-1);
|
|
2216
|
+
gap: 4px;
|
|
2032
2217
|
}
|
|
2033
2218
|
|
|
2034
|
-
.desk-
|
|
2035
|
-
|
|
2036
|
-
|
|
2037
|
-
|
|
2038
|
-
|
|
2219
|
+
.desk-typing-dots i {
|
|
2220
|
+
width: 5px;
|
|
2221
|
+
height: 5px;
|
|
2222
|
+
border-radius: 50%;
|
|
2223
|
+
background: var(--desk-muted);
|
|
2224
|
+
animation: desk-typing 1.2s var(--desk-ease) infinite;
|
|
2039
2225
|
}
|
|
2040
2226
|
|
|
2041
|
-
.desk-
|
|
2042
|
-
|
|
2043
|
-
font-variant-numeric: tabular-nums;
|
|
2044
|
-
color: var(--desk-ink);
|
|
2227
|
+
.desk-typing-dots i:nth-child(2) {
|
|
2228
|
+
animation-delay: .15s;
|
|
2045
2229
|
}
|
|
2046
2230
|
|
|
2047
|
-
.desk-
|
|
2048
|
-
|
|
2049
|
-
accent-color: var(--desk-accent);
|
|
2231
|
+
.desk-typing-dots i:nth-child(3) {
|
|
2232
|
+
animation-delay: .3s;
|
|
2050
2233
|
}
|
|
2051
2234
|
|
|
2052
|
-
|
|
2235
|
+
@keyframes desk-typing {
|
|
2236
|
+
0%, 60%, 100% {
|
|
2237
|
+
opacity: .3;
|
|
2238
|
+
}
|
|
2239
|
+
30% {
|
|
2240
|
+
opacity: 1;
|
|
2241
|
+
}
|
|
2242
|
+
}
|
|
2053
2243
|
|
|
2054
|
-
.desk-
|
|
2055
|
-
position:
|
|
2244
|
+
.desk-thread-jump {
|
|
2245
|
+
position: absolute;
|
|
2246
|
+
left: 50%;
|
|
2247
|
+
bottom: var(--desk-space-3);
|
|
2248
|
+
transform: translateX(-50%);
|
|
2249
|
+
box-shadow: var(--desk-shadow);
|
|
2056
2250
|
}
|
|
2057
2251
|
|
|
2058
|
-
.desk-
|
|
2252
|
+
.desk-composer {
|
|
2253
|
+
flex: none;
|
|
2059
2254
|
display: flex;
|
|
2060
|
-
align-items:
|
|
2255
|
+
align-items: flex-end;
|
|
2061
2256
|
gap: var(--desk-space-2);
|
|
2062
|
-
|
|
2257
|
+
padding: var(--desk-space-3) var(--desk-space-4);
|
|
2258
|
+
border-top: 1px solid var(--desk-rule);
|
|
2259
|
+
}
|
|
2260
|
+
|
|
2261
|
+
.desk-composer-field {
|
|
2262
|
+
flex: 1;
|
|
2263
|
+
min-width: 0;
|
|
2063
2264
|
min-height: var(--desk-control-height);
|
|
2064
|
-
|
|
2265
|
+
max-height: 40vh;
|
|
2266
|
+
padding: var(--desk-space-2) var(--desk-space-3);
|
|
2065
2267
|
border: 1px solid var(--desk-rule);
|
|
2066
2268
|
border-radius: var(--desk-control-radius);
|
|
2067
2269
|
background: var(--desk-field-bg);
|
|
2068
2270
|
color: var(--desk-ink);
|
|
2069
2271
|
font-family: var(--desk-font);
|
|
2070
|
-
font-size:
|
|
2071
|
-
|
|
2072
|
-
|
|
2073
|
-
}
|
|
2074
|
-
|
|
2075
|
-
.desk-popup-button[data-size="small"] {
|
|
2076
|
-
min-height: var(--desk-control-height-small);
|
|
2077
|
-
font-size: 12px;
|
|
2272
|
+
font-size: 13.5px;
|
|
2273
|
+
line-height: 20px;
|
|
2274
|
+
resize: none;
|
|
2078
2275
|
}
|
|
2079
2276
|
|
|
2080
|
-
.desk-
|
|
2277
|
+
.desk-composer-field:focus-visible {
|
|
2081
2278
|
outline: 2px solid var(--desk-accent);
|
|
2082
2279
|
outline-offset: 2px;
|
|
2083
2280
|
}
|
|
2084
2281
|
|
|
2085
|
-
.desk-
|
|
2086
|
-
|
|
2087
|
-
cursor: not-allowed;
|
|
2282
|
+
.desk-composer-field::placeholder {
|
|
2283
|
+
color: var(--desk-muted);
|
|
2088
2284
|
}
|
|
2089
2285
|
|
|
2090
|
-
|
|
2091
|
-
|
|
2092
|
-
|
|
2093
|
-
|
|
2094
|
-
text-overflow: ellipsis;
|
|
2095
|
-
white-space: nowrap;
|
|
2286
|
+
@media (prefers-reduced-motion: reduce) {
|
|
2287
|
+
.desk-typing-dots i {
|
|
2288
|
+
animation: none;
|
|
2289
|
+
}
|
|
2096
2290
|
}
|
|
2097
2291
|
|
|
2098
|
-
|
|
2099
|
-
color: var(--desk-muted);
|
|
2100
|
-
}
|
|
2292
|
+
/* ── Input bar: one place to type, which reaches the key window ── */
|
|
2101
2293
|
|
|
2102
|
-
.desk-
|
|
2294
|
+
.desk-inputbar-scrim {
|
|
2295
|
+
position: fixed;
|
|
2296
|
+
inset: 0;
|
|
2297
|
+
z-index: 1450;
|
|
2103
2298
|
display: grid;
|
|
2104
|
-
|
|
2105
|
-
|
|
2106
|
-
|
|
2299
|
+
justify-items: center;
|
|
2300
|
+
align-content: center;
|
|
2301
|
+
padding: var(--desk-space-4);
|
|
2302
|
+
background: rgb(0 0 0 / 30%);
|
|
2303
|
+
animation: desk-fade .14s var(--desk-ease);
|
|
2107
2304
|
}
|
|
2108
2305
|
|
|
2109
|
-
.desk-
|
|
2110
|
-
|
|
2111
|
-
line-height: 1;
|
|
2306
|
+
.desk-inputbar[data-mode="summoned"] {
|
|
2307
|
+
animation: desk-alert-in .16s var(--desk-ease);
|
|
2112
2308
|
}
|
|
2113
2309
|
|
|
2114
|
-
.desk-
|
|
2115
|
-
|
|
2116
|
-
|
|
2117
|
-
top: calc(100% + 4px);
|
|
2118
|
-
left: 0;
|
|
2119
|
-
min-width: 100%;
|
|
2120
|
-
max-height: 40vh;
|
|
2121
|
-
margin: 0;
|
|
2122
|
-
padding: 4px;
|
|
2123
|
-
list-style: none;
|
|
2124
|
-
overflow-y: auto;
|
|
2310
|
+
.desk-inputbar {
|
|
2311
|
+
box-sizing: border-box;
|
|
2312
|
+
width: min(720px, 100%);
|
|
2125
2313
|
border: 1px solid var(--desk-rule);
|
|
2126
|
-
border-radius:
|
|
2127
|
-
background: var(--desk-
|
|
2314
|
+
border-radius: 14px;
|
|
2315
|
+
background: var(--desk-dock-glass);
|
|
2316
|
+
backdrop-filter: blur(28px) saturate(170%);
|
|
2317
|
+
-webkit-backdrop-filter: blur(28px) saturate(170%);
|
|
2128
2318
|
box-shadow: var(--desk-shadow-floating);
|
|
2129
|
-
animation: desk-menu-in .12s var(--desk-ease);
|
|
2130
2319
|
}
|
|
2131
2320
|
|
|
2132
|
-
.desk-
|
|
2133
|
-
|
|
2321
|
+
.desk-inputbar .desk-composer {
|
|
2322
|
+
border-top: 0;
|
|
2323
|
+
padding: var(--desk-space-2);
|
|
2134
2324
|
}
|
|
2135
2325
|
|
|
2136
|
-
.desk-
|
|
2137
|
-
display:
|
|
2138
|
-
|
|
2139
|
-
|
|
2140
|
-
|
|
2141
|
-
|
|
2142
|
-
font-size: 13px;
|
|
2143
|
-
cursor: default;
|
|
2326
|
+
.desk-inputbar-target {
|
|
2327
|
+
display: block;
|
|
2328
|
+
padding: 0 var(--desk-space-3) var(--desk-space-2);
|
|
2329
|
+
font-family: var(--desk-font);
|
|
2330
|
+
font-size: 11px;
|
|
2331
|
+
color: var(--desk-muted);
|
|
2144
2332
|
}
|
|
2145
2333
|
|
|
2146
|
-
.desk-
|
|
2147
|
-
|
|
2148
|
-
color: var(--desk-
|
|
2334
|
+
.desk-inputbar-target b {
|
|
2335
|
+
font-weight: 600;
|
|
2336
|
+
color: var(--desk-ink);
|
|
2149
2337
|
}
|
|
2150
2338
|
|
|
2151
|
-
|
|
2152
|
-
|
|
2153
|
-
}
|
|
2339
|
+
/* @liberation-data/desk — search.css */
|
|
2340
|
+
/* ── Search ── */
|
|
2154
2341
|
|
|
2155
|
-
.desk-
|
|
2156
|
-
|
|
2342
|
+
.desk-search-scrim {
|
|
2343
|
+
position: fixed;
|
|
2344
|
+
inset: 0;
|
|
2345
|
+
z-index: 1450;
|
|
2346
|
+
display: grid;
|
|
2347
|
+
justify-items: center;
|
|
2348
|
+
align-content: start;
|
|
2349
|
+
padding: 12vh var(--desk-space-4) var(--desk-space-4);
|
|
2350
|
+
background: rgb(0 0 0 / 35%);
|
|
2351
|
+
animation: desk-fade .14s var(--desk-ease);
|
|
2157
2352
|
}
|
|
2158
2353
|
|
|
2159
|
-
.desk-
|
|
2160
|
-
|
|
2161
|
-
|
|
2162
|
-
|
|
2354
|
+
.desk-search {
|
|
2355
|
+
box-sizing: border-box;
|
|
2356
|
+
width: min(620px, 100%);
|
|
2357
|
+
max-height: 70vh;
|
|
2358
|
+
display: flex;
|
|
2359
|
+
flex-direction: column;
|
|
2360
|
+
border: 1px solid var(--desk-rule);
|
|
2361
|
+
border-radius: 14px;
|
|
2362
|
+
background: var(--desk-surface);
|
|
2363
|
+
box-shadow: var(--desk-shadow-floating);
|
|
2364
|
+
font-family: var(--desk-font);
|
|
2365
|
+
overflow: hidden;
|
|
2366
|
+
animation: desk-alert-in .16s var(--desk-ease);
|
|
2163
2367
|
}
|
|
2164
2368
|
|
|
2165
|
-
.desk-
|
|
2166
|
-
|
|
2167
|
-
|
|
2369
|
+
.desk-search-bar {
|
|
2370
|
+
flex: none;
|
|
2371
|
+
padding: var(--desk-space-3) var(--desk-space-4);
|
|
2372
|
+
border-bottom: 1px solid var(--desk-rule);
|
|
2168
2373
|
}
|
|
2169
2374
|
|
|
2170
|
-
|
|
2375
|
+
.desk-search-field {
|
|
2376
|
+
width: 100%;
|
|
2377
|
+
border: 0;
|
|
2378
|
+
background: none;
|
|
2379
|
+
color: var(--desk-ink);
|
|
2380
|
+
font-family: var(--desk-font);
|
|
2381
|
+
font-size: 17px;
|
|
2382
|
+
outline: none;
|
|
2383
|
+
}
|
|
2171
2384
|
|
|
2172
|
-
.desk-
|
|
2173
|
-
|
|
2385
|
+
.desk-search-field::placeholder {
|
|
2386
|
+
color: var(--desk-muted);
|
|
2174
2387
|
}
|
|
2175
2388
|
|
|
2176
|
-
.desk-
|
|
2177
|
-
|
|
2178
|
-
|
|
2179
|
-
|
|
2180
|
-
|
|
2389
|
+
.desk-search-results {
|
|
2390
|
+
flex: 1;
|
|
2391
|
+
min-height: 0;
|
|
2392
|
+
margin: 0;
|
|
2393
|
+
padding: var(--desk-space-1);
|
|
2394
|
+
list-style: none;
|
|
2395
|
+
overflow-y: auto;
|
|
2181
2396
|
}
|
|
2182
2397
|
|
|
2183
|
-
.desk-
|
|
2184
|
-
|
|
2185
|
-
|
|
2186
|
-
z-index: 1;
|
|
2187
|
-
padding: var(--desk-space-1) var(--desk-space-2);
|
|
2188
|
-
border-bottom: 1px solid var(--desk-rule);
|
|
2189
|
-
background: var(--desk-surface);
|
|
2398
|
+
.desk-search-group {
|
|
2399
|
+
margin: var(--desk-space-2) 0 2px;
|
|
2400
|
+
padding: 0 var(--desk-space-2);
|
|
2190
2401
|
font-size: 11px;
|
|
2191
|
-
font-weight:
|
|
2192
|
-
letter-spacing: .
|
|
2402
|
+
font-weight: 700;
|
|
2403
|
+
letter-spacing: .08em;
|
|
2193
2404
|
text-transform: uppercase;
|
|
2194
2405
|
color: var(--desk-muted);
|
|
2195
|
-
text-align: left;
|
|
2196
|
-
white-space: nowrap;
|
|
2197
2406
|
}
|
|
2198
2407
|
|
|
2199
|
-
.desk-
|
|
2200
|
-
|
|
2201
|
-
|
|
2408
|
+
.desk-search-row {
|
|
2409
|
+
display: flex;
|
|
2410
|
+
align-items: center;
|
|
2411
|
+
gap: var(--desk-space-3);
|
|
2412
|
+
padding: var(--desk-space-2);
|
|
2413
|
+
border-radius: 8px;
|
|
2414
|
+
cursor: default;
|
|
2202
2415
|
}
|
|
2203
2416
|
|
|
2204
|
-
.desk-
|
|
2205
|
-
|
|
2206
|
-
|
|
2207
|
-
gap: 4px;
|
|
2208
|
-
padding: 0;
|
|
2209
|
-
border: 0;
|
|
2210
|
-
background: none;
|
|
2211
|
-
color: inherit;
|
|
2212
|
-
font: inherit;
|
|
2213
|
-
letter-spacing: inherit;
|
|
2214
|
-
text-transform: inherit;
|
|
2215
|
-
cursor: pointer;
|
|
2417
|
+
.desk-search-row[data-active] {
|
|
2418
|
+
background: var(--desk-accent);
|
|
2419
|
+
color: var(--desk-on-accent);
|
|
2216
2420
|
}
|
|
2217
2421
|
|
|
2218
|
-
.desk-
|
|
2219
|
-
|
|
2422
|
+
.desk-search-icon {
|
|
2423
|
+
display: grid;
|
|
2424
|
+
place-items: center;
|
|
2425
|
+
width: 28px;
|
|
2426
|
+
height: 28px;
|
|
2427
|
+
flex: none;
|
|
2428
|
+
border: 1px solid var(--desk-rule);
|
|
2429
|
+
border-radius: 7px;
|
|
2220
2430
|
}
|
|
2221
2431
|
|
|
2222
|
-
.desk-
|
|
2223
|
-
|
|
2224
|
-
|
|
2432
|
+
.desk-search-icon svg {
|
|
2433
|
+
width: 15px;
|
|
2434
|
+
height: 15px;
|
|
2225
2435
|
}
|
|
2226
2436
|
|
|
2227
|
-
.desk-
|
|
2228
|
-
|
|
2437
|
+
.desk-search-row[data-active] .desk-search-icon {
|
|
2438
|
+
border-color: transparent;
|
|
2439
|
+
background: rgb(255 255 255 / 18%);
|
|
2229
2440
|
}
|
|
2230
2441
|
|
|
2231
|
-
.desk-
|
|
2232
|
-
|
|
2442
|
+
.desk-search-text {
|
|
2443
|
+
flex: 1;
|
|
2444
|
+
min-width: 0;
|
|
2233
2445
|
}
|
|
2234
2446
|
|
|
2235
|
-
.desk-
|
|
2236
|
-
|
|
2447
|
+
.desk-search-title {
|
|
2448
|
+
display: block;
|
|
2449
|
+
font-size: 13.5px;
|
|
2450
|
+
font-weight: 500;
|
|
2237
2451
|
}
|
|
2238
2452
|
|
|
2239
|
-
.desk-
|
|
2240
|
-
|
|
2453
|
+
.desk-search-subtitle,
|
|
2454
|
+
.desk-search-kind {
|
|
2455
|
+
font-size: 11.5px;
|
|
2456
|
+
color: var(--desk-muted);
|
|
2241
2457
|
}
|
|
2242
2458
|
|
|
2243
|
-
.desk-
|
|
2244
|
-
|
|
2245
|
-
outline-offset: -2px;
|
|
2459
|
+
.desk-search-subtitle {
|
|
2460
|
+
display: block;
|
|
2246
2461
|
}
|
|
2247
2462
|
|
|
2248
|
-
.desk-
|
|
2249
|
-
|
|
2463
|
+
.desk-search-kind {
|
|
2464
|
+
flex: none;
|
|
2465
|
+
font-family: var(--desk-font-mono);
|
|
2466
|
+
font-size: 10.5px;
|
|
2467
|
+
}
|
|
2468
|
+
|
|
2469
|
+
.desk-search-row[data-active] .desk-search-subtitle,
|
|
2470
|
+
.desk-search-row[data-active] .desk-search-kind {
|
|
2471
|
+
color: rgb(255 255 255 / 80%);
|
|
2472
|
+
}
|
|
2473
|
+
|
|
2474
|
+
.desk-search-empty {
|
|
2475
|
+
margin: 0;
|
|
2476
|
+
padding: var(--desk-space-5) var(--desk-space-4);
|
|
2250
2477
|
text-align: center;
|
|
2251
2478
|
color: var(--desk-muted);
|
|
2252
|
-
font-family: var(--desk-font);
|
|
2253
2479
|
font-size: 13px;
|
|
2254
2480
|
}
|
|
2255
2481
|
|
|
2256
|
-
|
|
2257
|
-
|
|
2258
|
-
.desk-
|
|
2259
|
-
|
|
2260
|
-
|
|
2261
|
-
gap: var(--desk-space-3);
|
|
2262
|
-
padding: var(--desk-space-2);
|
|
2263
|
-
font-family: var(--desk-font);
|
|
2264
|
-
overflow-y: auto;
|
|
2482
|
+
@media (prefers-reduced-motion: reduce) {
|
|
2483
|
+
.desk-search,
|
|
2484
|
+
.desk-search-scrim {
|
|
2485
|
+
animation: none;
|
|
2486
|
+
}
|
|
2265
2487
|
}
|
|
2266
2488
|
|
|
2267
|
-
|
|
2268
|
-
|
|
2269
|
-
padding: 0;
|
|
2270
|
-
list-style: none;
|
|
2271
|
-
}
|
|
2489
|
+
/* @liberation-data/desk — setup.css */
|
|
2490
|
+
/* ── Tour ── */
|
|
2272
2491
|
|
|
2273
|
-
.desk-
|
|
2274
|
-
|
|
2275
|
-
|
|
2276
|
-
|
|
2277
|
-
|
|
2278
|
-
|
|
2279
|
-
|
|
2280
|
-
|
|
2492
|
+
.desk-tour {
|
|
2493
|
+
box-sizing: border-box;
|
|
2494
|
+
width: min(620px, 100%);
|
|
2495
|
+
padding: var(--desk-space-3);
|
|
2496
|
+
border: 1px solid color-mix(in srgb, var(--desk-accent) 45%, var(--desk-rule));
|
|
2497
|
+
border-radius: 14px;
|
|
2498
|
+
background: var(--desk-dock-glass);
|
|
2499
|
+
backdrop-filter: blur(28px) saturate(170%);
|
|
2500
|
+
-webkit-backdrop-filter: blur(28px) saturate(170%);
|
|
2501
|
+
box-shadow: var(--desk-shadow-floating), 0 0 30px color-mix(in srgb, var(--desk-accent) 20%, transparent);
|
|
2502
|
+
font-family: var(--desk-font);
|
|
2503
|
+
color: var(--desk-ink);
|
|
2281
2504
|
}
|
|
2282
2505
|
|
|
2283
|
-
.desk-
|
|
2506
|
+
.desk-tour-head {
|
|
2284
2507
|
display: flex;
|
|
2285
2508
|
align-items: center;
|
|
2286
2509
|
gap: var(--desk-space-2);
|
|
2287
|
-
width: 100%;
|
|
2288
|
-
padding: var(--desk-space-1) var(--desk-space-2);
|
|
2289
|
-
border: 0;
|
|
2290
|
-
border-radius: 7px;
|
|
2291
|
-
background: none;
|
|
2292
|
-
color: var(--desk-ink);
|
|
2293
|
-
font-family: inherit;
|
|
2294
2510
|
font-size: 13px;
|
|
2295
|
-
text-align: left;
|
|
2296
|
-
cursor: pointer;
|
|
2297
2511
|
}
|
|
2298
2512
|
|
|
2299
|
-
.desk-
|
|
2300
|
-
|
|
2513
|
+
.desk-tour-count {
|
|
2514
|
+
color: var(--desk-muted);
|
|
2515
|
+
font-size: 11.5px;
|
|
2516
|
+
font-variant-numeric: tabular-nums;
|
|
2301
2517
|
}
|
|
2302
2518
|
|
|
2303
|
-
.desk-
|
|
2304
|
-
|
|
2305
|
-
font-weight: 500;
|
|
2519
|
+
.desk-tour-head .desk-button {
|
|
2520
|
+
margin-left: auto;
|
|
2306
2521
|
}
|
|
2307
2522
|
|
|
2308
|
-
.desk-
|
|
2309
|
-
|
|
2310
|
-
|
|
2523
|
+
.desk-tour-progress {
|
|
2524
|
+
height: 3px;
|
|
2525
|
+
margin: var(--desk-space-2) 0;
|
|
2526
|
+
border-radius: 2px;
|
|
2527
|
+
background: var(--desk-rule);
|
|
2528
|
+
overflow: hidden;
|
|
2311
2529
|
}
|
|
2312
2530
|
|
|
2313
|
-
.desk-
|
|
2314
|
-
|
|
2315
|
-
|
|
2531
|
+
.desk-tour-progress i {
|
|
2532
|
+
display: block;
|
|
2533
|
+
height: 100%;
|
|
2534
|
+
background: var(--desk-accent);
|
|
2535
|
+
transition: width .3s var(--desk-ease);
|
|
2316
2536
|
}
|
|
2317
2537
|
|
|
2318
|
-
.desk-
|
|
2319
|
-
|
|
2320
|
-
|
|
2321
|
-
|
|
2322
|
-
height: 16px;
|
|
2323
|
-
flex: none;
|
|
2324
|
-
color: var(--desk-muted);
|
|
2538
|
+
.desk-tour-caption {
|
|
2539
|
+
margin: 0 0 var(--desk-space-2);
|
|
2540
|
+
font-size: 13.5px;
|
|
2541
|
+
line-height: 1.45;
|
|
2325
2542
|
}
|
|
2326
2543
|
|
|
2327
|
-
.desk-
|
|
2328
|
-
|
|
2544
|
+
.desk-tour-turn {
|
|
2545
|
+
margin-right: var(--desk-space-1);
|
|
2546
|
+
color: var(--desk-warn);
|
|
2547
|
+
font-weight: 700;
|
|
2329
2548
|
}
|
|
2330
2549
|
|
|
2331
|
-
.desk-
|
|
2550
|
+
.desk-tour-turn::after {
|
|
2551
|
+
content: " ·";
|
|
2552
|
+
}
|
|
2553
|
+
|
|
2554
|
+
.desk-tour-actions {
|
|
2555
|
+
display: flex;
|
|
2556
|
+
align-items: center;
|
|
2557
|
+
gap: var(--desk-space-2);
|
|
2558
|
+
}
|
|
2559
|
+
|
|
2560
|
+
.desk-tour-spacer {
|
|
2332
2561
|
flex: 1;
|
|
2333
|
-
min-width: 0;
|
|
2334
|
-
overflow: hidden;
|
|
2335
|
-
text-overflow: ellipsis;
|
|
2336
|
-
white-space: nowrap;
|
|
2337
2562
|
}
|
|
2338
2563
|
|
|
2339
|
-
.
|
|
2340
|
-
|
|
2341
|
-
|
|
2342
|
-
|
|
2343
|
-
|
|
2344
|
-
|
|
2345
|
-
|
|
2346
|
-
|
|
2347
|
-
|
|
2564
|
+
/* What the tour is pointing at. */
|
|
2565
|
+
[data-desk-tour-pointed] {
|
|
2566
|
+
position: relative;
|
|
2567
|
+
z-index: 3;
|
|
2568
|
+
outline: 2px solid var(--desk-accent);
|
|
2569
|
+
outline-offset: 3px;
|
|
2570
|
+
border-radius: 6px;
|
|
2571
|
+
animation: desk-tour-pulse 1.6s var(--desk-ease) 2;
|
|
2572
|
+
}
|
|
2573
|
+
|
|
2574
|
+
@keyframes desk-tour-pulse {
|
|
2575
|
+
0%, 100% {
|
|
2576
|
+
box-shadow: 0 0 0 0 color-mix(in srgb, var(--desk-accent) 0%, transparent);
|
|
2577
|
+
}
|
|
2578
|
+
40% {
|
|
2579
|
+
box-shadow: 0 0 0 4px color-mix(in srgb, var(--desk-accent) 45%, transparent);
|
|
2580
|
+
}
|
|
2348
2581
|
}
|
|
2349
2582
|
|
|
2350
|
-
|
|
2351
|
-
|
|
2352
|
-
|
|
2353
|
-
|
|
2583
|
+
@media (prefers-reduced-motion: reduce) {
|
|
2584
|
+
.desk-tour-progress i {
|
|
2585
|
+
transition: none;
|
|
2586
|
+
}
|
|
2587
|
+
|
|
2588
|
+
[data-desk-tour-pointed] {
|
|
2589
|
+
animation: none;
|
|
2590
|
+
}
|
|
2354
2591
|
}
|
|
2355
2592
|
|
|
2356
2593
|
/* ── Wizard ── */
|
|
@@ -2534,6 +2771,7 @@
|
|
|
2534
2771
|
}
|
|
2535
2772
|
}
|
|
2536
2773
|
|
|
2774
|
+
/* @liberation-data/desk — apps.css */
|
|
2537
2775
|
/* ── Dragging between windows ── */
|
|
2538
2776
|
|
|
2539
2777
|
.desk-drag-preview {
|
|
@@ -2590,231 +2828,3 @@
|
|
|
2590
2828
|
border: 0;
|
|
2591
2829
|
background: var(--desk-surface);
|
|
2592
2830
|
}
|
|
2593
|
-
|
|
2594
|
-
/* Icon view: a Finder's icons, in rows that follow the window's width. */
|
|
2595
|
-
.desk-icon-view {
|
|
2596
|
-
list-style: none;
|
|
2597
|
-
margin: 0;
|
|
2598
|
-
padding: 12px;
|
|
2599
|
-
display: grid;
|
|
2600
|
-
grid-template-columns: repeat(auto-fill, minmax(104px, 1fr));
|
|
2601
|
-
align-content: start;
|
|
2602
|
-
gap: 8px;
|
|
2603
|
-
}
|
|
2604
|
-
|
|
2605
|
-
.desk-icon-cell {
|
|
2606
|
-
display: grid;
|
|
2607
|
-
justify-items: center;
|
|
2608
|
-
align-content: start;
|
|
2609
|
-
gap: 4px;
|
|
2610
|
-
padding: 10px 6px;
|
|
2611
|
-
border-radius: 10px;
|
|
2612
|
-
text-align: center;
|
|
2613
|
-
cursor: default;
|
|
2614
|
-
user-select: none;
|
|
2615
|
-
outline: none;
|
|
2616
|
-
}
|
|
2617
|
-
|
|
2618
|
-
.desk-icon-cell[aria-disabled="true"] {
|
|
2619
|
-
opacity: .45;
|
|
2620
|
-
}
|
|
2621
|
-
|
|
2622
|
-
.desk-icon-cell:focus-visible {
|
|
2623
|
-
box-shadow: 0 0 0 2px var(--desk-accent);
|
|
2624
|
-
}
|
|
2625
|
-
|
|
2626
|
-
.desk-icon-glyph {
|
|
2627
|
-
position: relative;
|
|
2628
|
-
display: grid;
|
|
2629
|
-
place-items: center;
|
|
2630
|
-
width: 56px;
|
|
2631
|
-
height: 56px;
|
|
2632
|
-
border-radius: 14px;
|
|
2633
|
-
border: 1px solid var(--desk-rule);
|
|
2634
|
-
background: var(--desk-dock-icon);
|
|
2635
|
-
color: var(--desk-ink);
|
|
2636
|
-
}
|
|
2637
|
-
|
|
2638
|
-
.desk-icon-glyph > svg,
|
|
2639
|
-
.desk-icon-glyph > img {
|
|
2640
|
-
width: 55%;
|
|
2641
|
-
height: 55%;
|
|
2642
|
-
object-fit: contain;
|
|
2643
|
-
}
|
|
2644
|
-
|
|
2645
|
-
.desk-icon-badge {
|
|
2646
|
-
position: absolute;
|
|
2647
|
-
top: -5px;
|
|
2648
|
-
right: -5px;
|
|
2649
|
-
min-width: 18px;
|
|
2650
|
-
padding: 0 5px;
|
|
2651
|
-
border-radius: 9px;
|
|
2652
|
-
background: var(--desk-accent);
|
|
2653
|
-
color: #fff;
|
|
2654
|
-
font-size: 11px;
|
|
2655
|
-
line-height: 18px;
|
|
2656
|
-
}
|
|
2657
|
-
|
|
2658
|
-
.desk-icon-label {
|
|
2659
|
-
max-width: 100%;
|
|
2660
|
-
padding: 1px 6px;
|
|
2661
|
-
border-radius: 5px;
|
|
2662
|
-
font-size: 12.5px;
|
|
2663
|
-
line-height: 1.3;
|
|
2664
|
-
overflow-wrap: anywhere;
|
|
2665
|
-
display: -webkit-box;
|
|
2666
|
-
-webkit-line-clamp: 2;
|
|
2667
|
-
-webkit-box-orient: vertical;
|
|
2668
|
-
overflow: hidden;
|
|
2669
|
-
}
|
|
2670
|
-
|
|
2671
|
-
.desk-icon-subtitle {
|
|
2672
|
-
max-width: 100%;
|
|
2673
|
-
font-size: 11px;
|
|
2674
|
-
color: var(--desk-muted);
|
|
2675
|
-
overflow: hidden;
|
|
2676
|
-
text-overflow: ellipsis;
|
|
2677
|
-
white-space: nowrap;
|
|
2678
|
-
}
|
|
2679
|
-
|
|
2680
|
-
.desk-icon-cell[aria-selected="true"] .desk-icon-glyph {
|
|
2681
|
-
background: color-mix(in srgb, var(--desk-accent) 16%, transparent);
|
|
2682
|
-
}
|
|
2683
|
-
|
|
2684
|
-
.desk-icon-cell[aria-selected="true"] .desk-icon-label {
|
|
2685
|
-
background: var(--desk-accent);
|
|
2686
|
-
color: #fff;
|
|
2687
|
-
}
|
|
2688
|
-
|
|
2689
|
-
.desk-icon-view-empty {
|
|
2690
|
-
display: grid;
|
|
2691
|
-
place-items: center;
|
|
2692
|
-
padding: 32px 16px;
|
|
2693
|
-
color: var(--desk-muted);
|
|
2694
|
-
text-align: center;
|
|
2695
|
-
}
|
|
2696
|
-
|
|
2697
|
-
.desk-icon-drag {
|
|
2698
|
-
display: grid;
|
|
2699
|
-
place-items: center;
|
|
2700
|
-
width: 40px;
|
|
2701
|
-
height: 40px;
|
|
2702
|
-
}
|
|
2703
|
-
|
|
2704
|
-
/* Something carried to the dock: the dock lights up, and a kept item shows where it would go in front. */
|
|
2705
|
-
.desk-dock-item[data-desk-drop][data-ready] {
|
|
2706
|
-
outline: none;
|
|
2707
|
-
background: var(--desk-dock-icon);
|
|
2708
|
-
}
|
|
2709
|
-
|
|
2710
|
-
.desk-dock-item[data-desk-drop][data-over] {
|
|
2711
|
-
box-shadow: -6px 0 0 -2px var(--desk-accent);
|
|
2712
|
-
}
|
|
2713
|
-
|
|
2714
|
-
/* ── The inside of a window: controls that stay, content that scrolls ── */
|
|
2715
|
-
|
|
2716
|
-
.desk-pane {
|
|
2717
|
-
display: flex;
|
|
2718
|
-
flex-direction: column;
|
|
2719
|
-
height: 100%;
|
|
2720
|
-
min-height: 0;
|
|
2721
|
-
}
|
|
2722
|
-
|
|
2723
|
-
.desk-pane-header,
|
|
2724
|
-
.desk-pane-footer {
|
|
2725
|
-
flex: none;
|
|
2726
|
-
}
|
|
2727
|
-
|
|
2728
|
-
/* The only part that scrolls, so the toolbar never leaves with the content. */
|
|
2729
|
-
.desk-pane-body {
|
|
2730
|
-
flex: 1;
|
|
2731
|
-
min-height: 0;
|
|
2732
|
-
overflow: auto;
|
|
2733
|
-
}
|
|
2734
|
-
|
|
2735
|
-
.desk-pane-body:focus-visible {
|
|
2736
|
-
outline: 2px solid var(--desk-accent);
|
|
2737
|
-
outline-offset: -2px;
|
|
2738
|
-
}
|
|
2739
|
-
|
|
2740
|
-
/* A window whose whole content is a pane does not scroll itself: the pane's middle does. */
|
|
2741
|
-
.desk-body:has(> .desk-pane) {
|
|
2742
|
-
overflow: hidden;
|
|
2743
|
-
}
|
|
2744
|
-
|
|
2745
|
-
.desk-toolbar {
|
|
2746
|
-
display: flex;
|
|
2747
|
-
align-items: center;
|
|
2748
|
-
flex-wrap: wrap;
|
|
2749
|
-
gap: var(--desk-space-2);
|
|
2750
|
-
/* One centre line for everything in the row, whatever each control's own height is. */
|
|
2751
|
-
min-height: calc(var(--desk-control-height) + var(--desk-space-2) * 2);
|
|
2752
|
-
padding: var(--desk-space-2) var(--desk-space-3);
|
|
2753
|
-
border-bottom: 1px solid var(--desk-rule);
|
|
2754
|
-
}
|
|
2755
|
-
|
|
2756
|
-
.desk-toolbar > *,
|
|
2757
|
-
.desk-toolbar-trailing > * {
|
|
2758
|
-
flex: none;
|
|
2759
|
-
}
|
|
2760
|
-
|
|
2761
|
-
.desk-toolbar .desk-grow {
|
|
2762
|
-
flex: 1 1 140px;
|
|
2763
|
-
min-width: 0;
|
|
2764
|
-
}
|
|
2765
|
-
|
|
2766
|
-
.desk-toolbar-trailing {
|
|
2767
|
-
margin-left: auto;
|
|
2768
|
-
display: flex;
|
|
2769
|
-
align-items: center;
|
|
2770
|
-
gap: var(--desk-space-2);
|
|
2771
|
-
}
|
|
2772
|
-
|
|
2773
|
-
/* ── An (i): what a view would explain if asked ── */
|
|
2774
|
-
|
|
2775
|
-
.desk-infotip {
|
|
2776
|
-
flex: none;
|
|
2777
|
-
display: inline-grid;
|
|
2778
|
-
place-items: center;
|
|
2779
|
-
width: 18px;
|
|
2780
|
-
height: 18px;
|
|
2781
|
-
padding: 0;
|
|
2782
|
-
/* The title bar's own green, the one the zoom control wears: a muted grey (i) sat in a muted
|
|
2783
|
-
trailing edge and went unseen, which defeats the point of having one place to ask. */
|
|
2784
|
-
border: 1px solid color-mix(in srgb, var(--desk-info) 55%, transparent);
|
|
2785
|
-
border-radius: 50%;
|
|
2786
|
-
background: color-mix(in srgb, var(--desk-info) 14%, transparent);
|
|
2787
|
-
color: var(--desk-info);
|
|
2788
|
-
font-family: var(--desk-font);
|
|
2789
|
-
font-size: 11px;
|
|
2790
|
-
font-style: italic;
|
|
2791
|
-
font-weight: 700;
|
|
2792
|
-
line-height: 1;
|
|
2793
|
-
cursor: pointer;
|
|
2794
|
-
}
|
|
2795
|
-
|
|
2796
|
-
.desk-infotip:hover,
|
|
2797
|
-
.desk-infotip[data-open] {
|
|
2798
|
-
border-color: var(--desk-info);
|
|
2799
|
-
background: color-mix(in srgb, var(--desk-info) 26%, transparent);
|
|
2800
|
-
}
|
|
2801
|
-
|
|
2802
|
-
.desk-infotip:focus-visible {
|
|
2803
|
-
outline: 2px solid var(--desk-info);
|
|
2804
|
-
outline-offset: 2px;
|
|
2805
|
-
}
|
|
2806
|
-
|
|
2807
|
-
.desk-infotip-body {
|
|
2808
|
-
max-width: 34ch;
|
|
2809
|
-
font-size: 12.5px;
|
|
2810
|
-
line-height: 1.45;
|
|
2811
|
-
color: var(--desk-muted);
|
|
2812
|
-
}
|
|
2813
|
-
|
|
2814
|
-
.desk-infotip-body > :first-child {
|
|
2815
|
-
margin-top: 0;
|
|
2816
|
-
}
|
|
2817
|
-
|
|
2818
|
-
.desk-infotip-body > :last-child {
|
|
2819
|
-
margin-bottom: 0;
|
|
2820
|
-
}
|