@crewlethq/ui 0.18.0 → 0.20.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 +40 -4
- package/dist/AccessDeniedCard/index.js +2 -2
- package/dist/AppShell/index.js +2 -2
- package/dist/ArrangeBoard/ArrangeBoard.d.ts +32 -0
- package/dist/ArrangeBoard/index.d.ts +3 -0
- package/dist/ArrangeBoard/index.js +2 -0
- package/dist/ArrangeBoard-MQE35P6Z.css +80 -0
- package/dist/ArrangeFrame/ArrangeFrame.d.ts +82 -0
- package/dist/ArrangeFrame/index.d.ts +5 -0
- package/dist/ArrangeFrame/index.js +5 -0
- package/dist/ArrangeFrame/useGridResize.d.ts +66 -0
- package/dist/ArrangeFrame-3PLZAG22.css +329 -0
- package/dist/ArrangeGroup/ArrangeGroup.d.ts +42 -0
- package/dist/ArrangeGroup/index.d.ts +3 -0
- package/dist/ArrangeGroup/index.js +4 -0
- package/dist/ArrangeGroup-SHFHA7BE.css +170 -0
- package/dist/ArrangeList/ArrangeList.d.ts +64 -0
- package/dist/ArrangeList/index.d.ts +3 -0
- package/dist/ArrangeList/index.js +10 -0
- package/dist/ArrangeList-NNRTDFI5.css +94 -0
- package/dist/ArtifactCard/index.js +2 -2
- package/dist/AuthLayout/index.js +2 -2
- package/dist/AvatarPicker/index.js +4 -4
- package/dist/Canvas/index.js +2 -2
- package/dist/Card/index.js +1 -1
- package/dist/Checkbox/index.js +3 -3
- package/dist/Combobox/index.js +4 -4
- package/dist/CommandPalette/index.js +6 -6
- package/dist/CommentThread/CommentThread.d.ts +85 -0
- package/dist/CommentThread/index.d.ts +3 -0
- package/dist/CommentThread/index.js +16 -0
- package/dist/CommentThread-7VXOFTZO.css +90 -0
- package/dist/Composer/index.js +3 -3
- package/dist/ConfirmField/index.js +3 -3
- package/dist/ConflictNote/ConflictNote.d.ts +42 -0
- package/dist/ConflictNote/index.d.ts +3 -0
- package/dist/ConflictNote/index.js +4 -0
- package/dist/ConflictNote-DH77PYF7.css +27 -0
- package/dist/DataTable/index.js +8 -8
- package/dist/DataView/index.js +13 -13
- package/dist/DateTimePicker/index.js +3 -3
- package/dist/DiffView/DiffView.d.ts +59 -0
- package/dist/DiffView/diff.d.ts +97 -0
- package/dist/DiffView/index.d.ts +5 -0
- package/dist/DiffView/index.js +3 -0
- package/dist/DiffView-RVLIHTKG.css +91 -0
- package/dist/Divider/Divider.d.ts +15 -0
- package/dist/Divider/index.d.ts +3 -0
- package/dist/Divider/index.js +2 -0
- package/dist/Divider-3Z77ZAJH.css +37 -0
- package/dist/HuePicker/HuePicker.d.ts +16 -4
- package/dist/HuePicker/index.js +2 -2
- package/dist/{HuePicker-5QIUR6L7.css → HuePicker-PAIGH6LR.css} +6 -0
- package/dist/IconTile/IconTile.d.ts +23 -0
- package/dist/IconTile/index.d.ts +3 -0
- package/dist/IconTile/index.js +2 -0
- package/dist/IconTile-4GNWTLAW.css +30 -0
- package/dist/Input/index.js +2 -2
- package/dist/LinkInterstitial/index.js +4 -4
- package/dist/ListInput/index.js +5 -5
- package/dist/MarkdownEditor/index.js +2 -2
- package/dist/Menu/index.js +2 -2
- package/dist/Modal/Modal.d.ts +20 -0
- package/dist/Modal/index.js +3 -3
- package/dist/{Modal-RQAYGG4L.css → Modal-XOSV6FAH.css} +14 -0
- package/dist/Note/Note.d.ts +23 -0
- package/dist/Note/index.d.ts +3 -0
- package/dist/Note/index.js +2 -0
- package/dist/Note-RT4L6VUT.css +58 -0
- package/dist/OrgTable/index.js +5 -5
- package/dist/PeopleRail/PeopleRail.d.ts +52 -0
- package/dist/PeopleRail/index.d.ts +3 -0
- package/dist/PeopleRail/index.js +11 -0
- package/dist/PeopleRail-R64WVOSH.css +75 -0
- package/dist/PinTile/PinTile.d.ts +37 -0
- package/dist/PinTile/index.d.ts +3 -0
- package/dist/PinTile/index.js +4 -0
- package/dist/PinTile-IIA25MNZ.css +141 -0
- package/dist/PresenceStack/index.js +1 -1
- package/dist/PrincipalPicker/index.js +5 -5
- package/dist/Reorder/index.d.ts +2 -0
- package/dist/Reorder/index.js +4 -0
- package/dist/Reorder/useReorder.d.ts +138 -0
- package/dist/ShareDialog/index.js +7 -7
- package/dist/SheetGrid/index.js +5 -5
- package/dist/StatGroup/StatGroup.d.ts +7 -1
- package/dist/StatGroup/index.js +1 -1
- package/dist/{StatGroup-HVG6O62W.css → StatGroup-PADTJCUQ.css} +7 -0
- package/dist/Switcher/index.js +8 -8
- package/dist/TableCells/TableCells.d.ts +153 -0
- package/dist/TableCells/index.d.ts +3 -0
- package/dist/TableCells/index.js +10 -0
- package/dist/TableCells-3VN5N2M3.css +104 -0
- package/dist/TagsInput/index.js +3 -3
- package/dist/TimeWindowPicker/index.js +5 -5
- package/dist/TreeCanvas/index.js +3 -3
- package/dist/TreeGrid/index.js +2 -2
- package/dist/VersionCompare/VersionCompare.d.ts +70 -0
- package/dist/VersionCompare/index.d.ts +3 -0
- package/dist/VersionCompare/index.js +11 -0
- package/dist/VersionCompare-UUZOPTQO.css +68 -0
- package/dist/chunk-35XVR5JQ.js +81 -0
- package/dist/chunk-63WJLRB2.js +24 -0
- package/dist/{chunk-L4ZLXYPO.js → chunk-6A7P6II6.js} +1 -1
- package/dist/chunk-6KWNXIDE.js +18 -0
- package/dist/chunk-6MIXD6IW.js +49 -0
- package/dist/chunk-73QBUUYX.js +102 -0
- package/dist/{chunk-NZY77ZDU.js → chunk-7FQEUNHX.js} +4 -4
- package/dist/{chunk-2TZATTIU.js → chunk-7IJARUIF.js} +18 -5
- package/dist/{chunk-A7EBCHEG.js → chunk-A4VMJMXJ.js} +1 -1
- package/dist/chunk-AIVZVKYZ.js +126 -0
- package/dist/{chunk-76FXDZAZ.js → chunk-AJESMWJS.js} +4 -4
- package/dist/chunk-BVWSLXTY.js +187 -0
- package/dist/chunk-DEJHAOC5.js +279 -0
- package/dist/{chunk-ERV5BUS3.js → chunk-EIGEIT4O.js} +3 -3
- package/dist/chunk-EZBLOUWX.js +176 -0
- package/dist/chunk-FFMCMSJB.js +1 -0
- package/dist/{chunk-LFZ45HV2.js → chunk-G3EEUNZQ.js} +1 -1
- package/dist/{chunk-2YR5ZPQ3.js → chunk-HTCJSUIZ.js} +3 -3
- package/dist/{chunk-75CLJNDQ.js → chunk-I6NZKJGK.js} +1 -1
- package/dist/chunk-IXJHTFXG.js +17 -0
- package/dist/{chunk-3UAA4IWJ.js → chunk-JEDWC3GI.js} +1 -1
- package/dist/{chunk-QVAFL2LE.js → chunk-JXRI5YD2.js} +3 -3
- package/dist/{chunk-ZFH7H7GS.js → chunk-LOLELDBW.js} +1 -1
- package/dist/chunk-MUGM7SEG.js +88 -0
- package/dist/chunk-N4GFRW5C.js +96 -0
- package/dist/{chunk-KVT3TJVG.js → chunk-OIMAK5AE.js} +6 -6
- package/dist/chunk-QO7QEQKV.js +24 -0
- package/dist/{chunk-BOW2VUCH.js → chunk-T7ICFXEC.js} +1 -1
- package/dist/{chunk-2OLCUNG7.js → chunk-TBIZSQHB.js} +1 -1
- package/dist/{chunk-4U3GQ7D2.js → chunk-TODND5AD.js} +1 -1
- package/dist/chunk-UO7JZVCO.js +35 -0
- package/dist/{chunk-IFKBDRNJ.js → chunk-UXELEORU.js} +3 -3
- package/dist/{chunk-6NIMZ5XC.js → chunk-VJLYGPPE.js} +1 -1
- package/dist/{chunk-7QFAORCY.js → chunk-WHZFDS62.js} +1 -1
- package/dist/chunk-XJ2QEBMM.js +277 -0
- package/dist/{chunk-PA4CYTBY.js → chunk-XU4ZUGLE.js} +19 -4
- package/dist/{chunk-T3ZWBZ65.js → chunk-YSJYWQSP.js} +2 -2
- package/dist/{chunk-CXBAIVYZ.js → chunk-YSY6UJ4F.js} +1 -1
- package/dist/{chunk-EG6NYWVK.js → chunk-YZCJ63JF.js} +1 -1
- package/dist/generated/index.d.ts +15 -0
- package/dist/generated/index.js +89 -74
- package/dist/index.js +89 -74
- package/dist/styles.css +1533 -70
- package/package.json +3 -3
- package/dist/chunk-EXHQ2QVW.js +0 -1
- package/dist/{chunk-AQCV62K6.js → chunk-7ZNKEPLN.js} +1 -1
- package/dist/{chunk-OYOQU7O5.js → chunk-EDGCPVVD.js} +1 -1
- package/dist/{chunk-FYXRWBJJ.js → chunk-J2G4HGQM.js} +1 -1
- package/dist/{chunk-NS7BVLL3.js → chunk-JULMZNGT.js} +1 -1
- package/dist/{chunk-5NVKTB6E.js → chunk-L4H7SSWF.js} +1 -1
- package/dist/{chunk-ESKP3TXM.js → chunk-MSSZHDZI.js} +0 -0
- package/dist/{chunk-4GB57WIT.js → chunk-Q55TXPA3.js} +1 -1
- package/dist/{chunk-B2Z2CDM5.js → chunk-T5TFZ2JB.js} +1 -1
- package/dist/{chunk-AMH67MLM.js → chunk-TXAFKH2A.js} +1 -1
package/dist/styles.css
CHANGED
|
@@ -1267,6 +1267,691 @@ a.crewlet-account-row__who:focus-visible {
|
|
|
1267
1267
|
}
|
|
1268
1268
|
|
|
1269
1269
|
|
|
1270
|
+
/* ArrangeBoard-MQE35P6Z.css */
|
|
1271
|
+
/*
|
|
1272
|
+
* ArrangeBoard: the ground under a page being arranged. Two layers, both
|
|
1273
|
+
* under every block (the board is its own stacking context, so they sit above
|
|
1274
|
+
* its background and below its content): the hatch on `::after`, and the
|
|
1275
|
+
* column lanes on `::before`, shown only while a block is carried or resized.
|
|
1276
|
+
*/
|
|
1277
|
+
|
|
1278
|
+
.crewlet-arrange-board {
|
|
1279
|
+
--crewlet-arrange-board-gap: var(--spacing-4);
|
|
1280
|
+
/* The hatch, as one value: the ground below and the notes standing on it
|
|
1281
|
+
draw the same lines. */
|
|
1282
|
+
--crewlet-arrange-board-hatch: repeating-linear-gradient(
|
|
1283
|
+
-45deg,
|
|
1284
|
+
var(--color-border-hatch) 0 1px,
|
|
1285
|
+
transparent 1px var(--spacing-2)
|
|
1286
|
+
);
|
|
1287
|
+
|
|
1288
|
+
min-width: 0;
|
|
1289
|
+
}
|
|
1290
|
+
|
|
1291
|
+
.crewlet-arrange-board.is-editing {
|
|
1292
|
+
position: relative;
|
|
1293
|
+
isolation: isolate;
|
|
1294
|
+
margin-inline: calc(var(--spacing-3) * -1);
|
|
1295
|
+
padding: var(--spacing-5) var(--spacing-3);
|
|
1296
|
+
border-radius: var(--radius-xl);
|
|
1297
|
+
}
|
|
1298
|
+
|
|
1299
|
+
/* Room to land below the last block while one is carried out of a group:
|
|
1300
|
+
a page made only of groups otherwise has no bare stretch of its own. */
|
|
1301
|
+
.crewlet-arrange-board.is-editing:has(.crewlet-arrange-group__body [data-reorder='dragging']) {
|
|
1302
|
+
padding-bottom: var(--spacing-11);
|
|
1303
|
+
}
|
|
1304
|
+
|
|
1305
|
+
/* The hatch: its own ink, the strong hairline's held back to 60%, one
|
|
1306
|
+
diagonal every half step, so the cards standing on it stay the loudest
|
|
1307
|
+
thing on the page. */
|
|
1308
|
+
.crewlet-arrange-board.is-editing::after {
|
|
1309
|
+
content: '';
|
|
1310
|
+
position: absolute;
|
|
1311
|
+
inset: 0;
|
|
1312
|
+
z-index: -1;
|
|
1313
|
+
border-radius: inherit;
|
|
1314
|
+
background: var(--crewlet-arrange-board-hatch);
|
|
1315
|
+
pointer-events: none;
|
|
1316
|
+
}
|
|
1317
|
+
|
|
1318
|
+
/* A note is an annotation on the ground, not a card on it: while the page is
|
|
1319
|
+
arranged its paper shows the hatch through, inside a group as well, where
|
|
1320
|
+
the group's own surface hides the ground. */
|
|
1321
|
+
.crewlet-arrange-board.is-editing .crewlet-note {
|
|
1322
|
+
background: var(--crewlet-arrange-board-hatch), var(--crewlet-note-paper);
|
|
1323
|
+
}
|
|
1324
|
+
|
|
1325
|
+
/* The lanes: one tile per column and its gap, as wide as the grid, so the
|
|
1326
|
+
twelfth tile's gap falls outside the board and is not drawn. */
|
|
1327
|
+
.crewlet-arrange-board.is-editing::before {
|
|
1328
|
+
content: '';
|
|
1329
|
+
position: absolute;
|
|
1330
|
+
inset: 0 var(--spacing-3);
|
|
1331
|
+
background: linear-gradient(
|
|
1332
|
+
to right,
|
|
1333
|
+
var(--color-brand-accent-soft) 0 calc(100% - var(--crewlet-arrange-board-gap)),
|
|
1334
|
+
transparent 0
|
|
1335
|
+
)
|
|
1336
|
+
0 0 / calc((100% + var(--crewlet-arrange-board-gap)) / var(--crewlet-arrange-board-columns)) 100%
|
|
1337
|
+
repeat-x;
|
|
1338
|
+
opacity: 0;
|
|
1339
|
+
pointer-events: none;
|
|
1340
|
+
transition: opacity var(--motion-duration-base) var(--motion-easing-default);
|
|
1341
|
+
}
|
|
1342
|
+
.crewlet-arrange-board.is-editing:has([data-reorder='dragging'], .crewlet-arrange-frame.is-resizing)::before {
|
|
1343
|
+
opacity: 1;
|
|
1344
|
+
}
|
|
1345
|
+
|
|
1346
|
+
@media (prefers-reduced-motion: reduce) {
|
|
1347
|
+
.crewlet-arrange-board.is-editing::before {
|
|
1348
|
+
transition: none;
|
|
1349
|
+
}
|
|
1350
|
+
}
|
|
1351
|
+
|
|
1352
|
+
|
|
1353
|
+
/* ArrangeFrame-3PLZAG22.css */
|
|
1354
|
+
/*
|
|
1355
|
+
* ArrangeFrame: a block of a page being arranged.
|
|
1356
|
+
*
|
|
1357
|
+
* Off, the frame is layout only. Editing, the block keeps its own look at
|
|
1358
|
+
* rest; hovered or focused, one accent ring is drawn over its own edge and
|
|
1359
|
+
* its toolbar and resize handle appear. Every piece of chrome floats, so a
|
|
1360
|
+
* block is the same size while arranging as afterwards.
|
|
1361
|
+
*/
|
|
1362
|
+
|
|
1363
|
+
.crewlet-arrange-frame {
|
|
1364
|
+
/* The corner every ring and bracket follows: a card's own. */
|
|
1365
|
+
--crewlet-arrange-frame-radius: var(--radius-lg);
|
|
1366
|
+
/* How far outside the block its ring is drawn; the chrome sits on the ring. */
|
|
1367
|
+
--crewlet-arrange-frame-outset: 0px;
|
|
1368
|
+
|
|
1369
|
+
position: relative;
|
|
1370
|
+
display: flex;
|
|
1371
|
+
flex-direction: column;
|
|
1372
|
+
min-width: 0;
|
|
1373
|
+
border-radius: var(--crewlet-arrange-frame-radius);
|
|
1374
|
+
}
|
|
1375
|
+
|
|
1376
|
+
.crewlet-arrange-frame__content {
|
|
1377
|
+
display: flex;
|
|
1378
|
+
flex: 1 1 auto;
|
|
1379
|
+
flex-direction: column;
|
|
1380
|
+
min-width: 0;
|
|
1381
|
+
min-height: 0;
|
|
1382
|
+
}
|
|
1383
|
+
.crewlet-arrange-frame__content > * {
|
|
1384
|
+
flex: 1 1 auto;
|
|
1385
|
+
min-height: 0;
|
|
1386
|
+
}
|
|
1387
|
+
|
|
1388
|
+
/* A height of the reader's: the content scrolls inside it. */
|
|
1389
|
+
.crewlet-arrange-frame.is-fixed-height .crewlet-arrange-frame__content > * {
|
|
1390
|
+
overflow: auto;
|
|
1391
|
+
overscroll-behavior: contain;
|
|
1392
|
+
}
|
|
1393
|
+
|
|
1394
|
+
/* ---- Editing ---------------------------------------------------------- */
|
|
1395
|
+
|
|
1396
|
+
/* The block itself is what moves: focused, its ring is its focus mark. The
|
|
1397
|
+
transparent outline is the one forced-colors mode paints in its place. */
|
|
1398
|
+
.crewlet-arrange-frame.is-editing:focus-visible {
|
|
1399
|
+
outline: 2px solid transparent;
|
|
1400
|
+
}
|
|
1401
|
+
|
|
1402
|
+
/* The surface is what a pointer moves a block by. */
|
|
1403
|
+
.crewlet-arrange-frame.is-editing:not(.is-container) {
|
|
1404
|
+
cursor: grab;
|
|
1405
|
+
}
|
|
1406
|
+
.crewlet-arrange-frame.is-editing:not(.is-container):active {
|
|
1407
|
+
cursor: grabbing;
|
|
1408
|
+
}
|
|
1409
|
+
.crewlet-arrange-frame.is-editing:not(.is-container) > .crewlet-arrange-frame__content {
|
|
1410
|
+
user-select: none;
|
|
1411
|
+
}
|
|
1412
|
+
|
|
1413
|
+
/*
|
|
1414
|
+
* THE ONE RING, over the block's own edge, on the innermost block the
|
|
1415
|
+
* pointer or the focus is in. A hairline drawn exactly over the block's own
|
|
1416
|
+
* 1px border, so the border turns to the accent rather than a second, heavier
|
|
1417
|
+
* line appearing around it.
|
|
1418
|
+
*
|
|
1419
|
+
* IT IS A LAYER OF ITS OWN, above the content. An outline is painted with the
|
|
1420
|
+
* block, under any content that is positioned or scrolls (a card with a fixed
|
|
1421
|
+
* height scrolls its list), and that content covered it. Positioned after the
|
|
1422
|
+
* content with no depth of its own, it paints over the content and under the
|
|
1423
|
+
* toolbar and the handle, which are raised.
|
|
1424
|
+
*/
|
|
1425
|
+
.crewlet-arrange-frame.is-editing::after {
|
|
1426
|
+
content: '';
|
|
1427
|
+
position: absolute;
|
|
1428
|
+
inset: calc(var(--crewlet-arrange-frame-outset) * -1);
|
|
1429
|
+
box-sizing: border-box;
|
|
1430
|
+
border: 1px solid transparent;
|
|
1431
|
+
border-radius: inherit;
|
|
1432
|
+
pointer-events: none;
|
|
1433
|
+
}
|
|
1434
|
+
.crewlet-arrange-frame.is-editing:is(:hover, :focus-visible, :has(:focus-visible)):not(
|
|
1435
|
+
:has(.crewlet-arrange-frame:is(:hover, :focus-visible, :has(:focus-visible)))
|
|
1436
|
+
)::after,
|
|
1437
|
+
.crewlet-arrange-frame.is-selected::after,
|
|
1438
|
+
.crewlet-arrange-frame.is-resizing::after {
|
|
1439
|
+
border-color: var(--color-brand-accent);
|
|
1440
|
+
}
|
|
1441
|
+
|
|
1442
|
+
/* A block with no surface of its own takes its ring a step outside it. */
|
|
1443
|
+
.crewlet-arrange-frame.is-bare {
|
|
1444
|
+
--crewlet-arrange-frame-radius: var(--radius-md);
|
|
1445
|
+
--crewlet-arrange-frame-outset: var(--spacing-1);
|
|
1446
|
+
}
|
|
1447
|
+
|
|
1448
|
+
/* Carried, the block is the hole it leaves. */
|
|
1449
|
+
.crewlet-arrange-frame.is-editing[data-reorder='dragging']::after {
|
|
1450
|
+
border-style: dashed;
|
|
1451
|
+
border-color: var(--color-brand-accent);
|
|
1452
|
+
}
|
|
1453
|
+
.crewlet-arrange-frame[data-reorder='dragging'] > .crewlet-arrange-frame__content {
|
|
1454
|
+
opacity: 0.3;
|
|
1455
|
+
}
|
|
1456
|
+
|
|
1457
|
+
/* Where a block from another list will land: a bar of the accent in the gap
|
|
1458
|
+
before the block it will precede. */
|
|
1459
|
+
.crewlet-arrange-frame[data-reorder-target='before']::before {
|
|
1460
|
+
content: '';
|
|
1461
|
+
position: absolute;
|
|
1462
|
+
top: 0;
|
|
1463
|
+
bottom: 0;
|
|
1464
|
+
left: calc(var(--spacing-2) * -1 - 2px);
|
|
1465
|
+
width: 3px;
|
|
1466
|
+
border-radius: var(--radius-pill);
|
|
1467
|
+
background: var(--color-brand-accent);
|
|
1468
|
+
}
|
|
1469
|
+
|
|
1470
|
+
/* ...or after the last block, when it will land at the end. */
|
|
1471
|
+
.crewlet-arrange-frame[data-reorder-target='after']::before {
|
|
1472
|
+
content: '';
|
|
1473
|
+
position: absolute;
|
|
1474
|
+
top: 0;
|
|
1475
|
+
right: calc(var(--spacing-2) * -1 - 2px);
|
|
1476
|
+
bottom: 0;
|
|
1477
|
+
width: 3px;
|
|
1478
|
+
border-radius: var(--radius-pill);
|
|
1479
|
+
background: var(--color-brand-accent);
|
|
1480
|
+
}
|
|
1481
|
+
|
|
1482
|
+
/* Beside a block that spans its row, the bar runs along the gap above it,
|
|
1483
|
+
or below it when it is the last. */
|
|
1484
|
+
.crewlet-arrange-frame[data-reorder-line='horizontal'][data-reorder-target]::before {
|
|
1485
|
+
top: auto;
|
|
1486
|
+
right: 0;
|
|
1487
|
+
bottom: auto;
|
|
1488
|
+
left: 0;
|
|
1489
|
+
width: auto;
|
|
1490
|
+
height: 3px;
|
|
1491
|
+
}
|
|
1492
|
+
.crewlet-arrange-frame[data-reorder-line='horizontal'][data-reorder-target='before']::before {
|
|
1493
|
+
top: calc(var(--spacing-2) * -1 - 2px);
|
|
1494
|
+
}
|
|
1495
|
+
.crewlet-arrange-frame[data-reorder-line='horizontal'][data-reorder-target='after']::before {
|
|
1496
|
+
bottom: calc(var(--spacing-2) * -1 - 2px);
|
|
1497
|
+
}
|
|
1498
|
+
|
|
1499
|
+
/* Just added: one pulse of the accent around it. */
|
|
1500
|
+
.crewlet-arrange-frame.is-fresh {
|
|
1501
|
+
animation: crewlet-arrange-frame-fresh calc(var(--motion-duration-slow) * 4) var(--motion-easing-out) 1;
|
|
1502
|
+
}
|
|
1503
|
+
@keyframes crewlet-arrange-frame-fresh {
|
|
1504
|
+
0%,
|
|
1505
|
+
40% {
|
|
1506
|
+
box-shadow: 0 0 0 4px var(--color-brand-accent-soft);
|
|
1507
|
+
}
|
|
1508
|
+
100% {
|
|
1509
|
+
box-shadow: 0 0 0 0 transparent;
|
|
1510
|
+
}
|
|
1511
|
+
}
|
|
1512
|
+
|
|
1513
|
+
/* ---- The toolbar -------------------------------------------------------- */
|
|
1514
|
+
|
|
1515
|
+
/* On the block's top edge, half outside it: clear of a card's own header
|
|
1516
|
+
links, and of the block above, which is a row gap away. */
|
|
1517
|
+
.crewlet-arrange-frame__bar {
|
|
1518
|
+
position: absolute;
|
|
1519
|
+
top: calc(var(--crewlet-arrange-frame-outset) * -1);
|
|
1520
|
+
right: var(--spacing-3);
|
|
1521
|
+
z-index: var(--z-index-raised);
|
|
1522
|
+
display: flex;
|
|
1523
|
+
align-items: center;
|
|
1524
|
+
gap: 2px;
|
|
1525
|
+
padding: 2px;
|
|
1526
|
+
border: 1px solid var(--color-border-default);
|
|
1527
|
+
border-radius: var(--radius-md);
|
|
1528
|
+
background: var(--color-surface-elevated);
|
|
1529
|
+
box-shadow: var(--shadow-md);
|
|
1530
|
+
transform: translateY(-50%);
|
|
1531
|
+
}
|
|
1532
|
+
|
|
1533
|
+
.crewlet-arrange-frame__sep:first-child {
|
|
1534
|
+
display: none;
|
|
1535
|
+
}
|
|
1536
|
+
.crewlet-arrange-frame__sep {
|
|
1537
|
+
align-self: stretch;
|
|
1538
|
+
width: 1px;
|
|
1539
|
+
margin: 3px 2px;
|
|
1540
|
+
background: var(--color-border-default);
|
|
1541
|
+
}
|
|
1542
|
+
|
|
1543
|
+
/* ---- Resize handles ------------------------------------------------------- */
|
|
1544
|
+
|
|
1545
|
+
.crewlet-arrange-frame__resize {
|
|
1546
|
+
position: absolute;
|
|
1547
|
+
z-index: var(--z-index-raised);
|
|
1548
|
+
padding: 0;
|
|
1549
|
+
border: 0;
|
|
1550
|
+
background: none;
|
|
1551
|
+
color: var(--color-text-tertiary);
|
|
1552
|
+
touch-action: none;
|
|
1553
|
+
}
|
|
1554
|
+
.crewlet-arrange-frame__grip {
|
|
1555
|
+
position: absolute;
|
|
1556
|
+
transition: background-color var(--motion-duration-fast) var(--motion-easing-default),
|
|
1557
|
+
border-color var(--motion-duration-fast) var(--motion-easing-default);
|
|
1558
|
+
}
|
|
1559
|
+
.crewlet-arrange-frame__resize:hover,
|
|
1560
|
+
.crewlet-arrange-frame__resize:focus-visible,
|
|
1561
|
+
.crewlet-arrange-frame.is-resizing .crewlet-arrange-frame__resize {
|
|
1562
|
+
color: var(--color-brand-accent);
|
|
1563
|
+
}
|
|
1564
|
+
.crewlet-arrange-frame__resize:focus-visible {
|
|
1565
|
+
outline: 2px solid var(--color-focus);
|
|
1566
|
+
outline-offset: 0;
|
|
1567
|
+
border-radius: var(--radius-sm);
|
|
1568
|
+
}
|
|
1569
|
+
|
|
1570
|
+
/* BOTH WAYS: a bracket in the corner, following the card's own radius. */
|
|
1571
|
+
.crewlet-arrange-frame__resize.is-corner {
|
|
1572
|
+
right: calc(var(--crewlet-arrange-frame-outset) * -1);
|
|
1573
|
+
bottom: calc(var(--crewlet-arrange-frame-outset) * -1);
|
|
1574
|
+
width: 22px;
|
|
1575
|
+
height: 22px;
|
|
1576
|
+
cursor: nwse-resize;
|
|
1577
|
+
}
|
|
1578
|
+
.crewlet-arrange-frame__resize.is-corner > .crewlet-arrange-frame__grip {
|
|
1579
|
+
right: 4px;
|
|
1580
|
+
bottom: 4px;
|
|
1581
|
+
width: 10px;
|
|
1582
|
+
height: 10px;
|
|
1583
|
+
border-right: 2px solid currentColor;
|
|
1584
|
+
border-bottom: 2px solid currentColor;
|
|
1585
|
+
border-bottom-right-radius: calc(var(--crewlet-arrange-frame-radius) - 4px);
|
|
1586
|
+
}
|
|
1587
|
+
|
|
1588
|
+
/* WIDTH ONLY: a grip on the right edge, the handle of a column splitter,
|
|
1589
|
+
in the corner bracket's colour and ringed in the page's ground so it reads
|
|
1590
|
+
over the card's border. */
|
|
1591
|
+
.crewlet-arrange-frame__resize.is-edge {
|
|
1592
|
+
top: 50%;
|
|
1593
|
+
right: calc(-7px - var(--crewlet-arrange-frame-outset));
|
|
1594
|
+
width: 14px;
|
|
1595
|
+
height: 36px;
|
|
1596
|
+
cursor: ew-resize;
|
|
1597
|
+
transform: translateY(-50%);
|
|
1598
|
+
}
|
|
1599
|
+
.crewlet-arrange-frame__resize.is-edge > .crewlet-arrange-frame__grip {
|
|
1600
|
+
top: 4px;
|
|
1601
|
+
bottom: 4px;
|
|
1602
|
+
left: 4px;
|
|
1603
|
+
width: 6px;
|
|
1604
|
+
border-radius: var(--radius-pill);
|
|
1605
|
+
background: currentColor;
|
|
1606
|
+
box-shadow: 0 0 0 2px var(--color-surface-background);
|
|
1607
|
+
}
|
|
1608
|
+
|
|
1609
|
+
/* ---- What shows when ---------------------------------------------------- */
|
|
1610
|
+
|
|
1611
|
+
/* The toolbar and the handle belong to the innermost block hovered or
|
|
1612
|
+
focused, and stay while its menu is open or it is being resized. */
|
|
1613
|
+
.crewlet-arrange-frame__bar,
|
|
1614
|
+
.crewlet-arrange-frame__resize {
|
|
1615
|
+
opacity: 0;
|
|
1616
|
+
pointer-events: none;
|
|
1617
|
+
transition: opacity var(--motion-duration-fast) var(--motion-easing-default);
|
|
1618
|
+
}
|
|
1619
|
+
.crewlet-arrange-frame.is-editing:is(:hover, :focus-visible, :has(:focus-visible)):not(
|
|
1620
|
+
:has(.crewlet-arrange-frame:is(:hover, :focus-visible, :has(:focus-visible)))
|
|
1621
|
+
)
|
|
1622
|
+
> :is(.crewlet-arrange-frame__bar, .crewlet-arrange-frame__resize),
|
|
1623
|
+
.crewlet-arrange-frame.is-editing > .crewlet-arrange-frame__bar:has([aria-expanded='true']),
|
|
1624
|
+
.crewlet-arrange-frame.is-editing:has(> .crewlet-arrange-frame__bar [aria-expanded='true'])
|
|
1625
|
+
> .crewlet-arrange-frame__resize,
|
|
1626
|
+
.crewlet-arrange-frame.is-resizing > :is(.crewlet-arrange-frame__bar, .crewlet-arrange-frame__resize) {
|
|
1627
|
+
opacity: 1;
|
|
1628
|
+
pointer-events: auto;
|
|
1629
|
+
}
|
|
1630
|
+
/* A touch screen has no hover to reveal them with. */
|
|
1631
|
+
@media (hover: none) {
|
|
1632
|
+
.crewlet-arrange-frame.is-editing > :is(.crewlet-arrange-frame__bar, .crewlet-arrange-frame__resize) {
|
|
1633
|
+
opacity: 1;
|
|
1634
|
+
pointer-events: auto;
|
|
1635
|
+
}
|
|
1636
|
+
}
|
|
1637
|
+
|
|
1638
|
+
/* ---- While resizing ------------------------------------------------------- */
|
|
1639
|
+
|
|
1640
|
+
/* The columns of the grid the block sits on, across its row. */
|
|
1641
|
+
.crewlet-arrange-frame__guides {
|
|
1642
|
+
position: absolute;
|
|
1643
|
+
top: 0;
|
|
1644
|
+
bottom: 0;
|
|
1645
|
+
z-index: var(--z-index-raised);
|
|
1646
|
+
display: grid;
|
|
1647
|
+
pointer-events: none;
|
|
1648
|
+
}
|
|
1649
|
+
.crewlet-arrange-frame__guides > span {
|
|
1650
|
+
border-inline: 1px dashed var(--color-brand-accent);
|
|
1651
|
+
background: var(--color-brand-accent-soft);
|
|
1652
|
+
opacity: 0.3;
|
|
1653
|
+
}
|
|
1654
|
+
|
|
1655
|
+
/* The size it will land at, over the middle of the block. */
|
|
1656
|
+
.crewlet-arrange-frame__size {
|
|
1657
|
+
position: absolute;
|
|
1658
|
+
top: 50%;
|
|
1659
|
+
left: 50%;
|
|
1660
|
+
z-index: calc(var(--z-index-raised) + 1);
|
|
1661
|
+
padding: var(--spacing-1) var(--spacing-3);
|
|
1662
|
+
border-radius: var(--radius-pill);
|
|
1663
|
+
background: var(--color-surface-inverse);
|
|
1664
|
+
color: var(--color-text-inverse);
|
|
1665
|
+
font-size: var(--font-size-xs);
|
|
1666
|
+
font-weight: var(--font-weight-medium);
|
|
1667
|
+
font-variant-numeric: tabular-nums;
|
|
1668
|
+
white-space: nowrap;
|
|
1669
|
+
transform: translate(-50%, -50%);
|
|
1670
|
+
pointer-events: none;
|
|
1671
|
+
}
|
|
1672
|
+
|
|
1673
|
+
@media (prefers-reduced-motion: reduce) {
|
|
1674
|
+
.crewlet-arrange-frame__bar,
|
|
1675
|
+
.crewlet-arrange-frame__resize,
|
|
1676
|
+
.crewlet-arrange-frame__grip {
|
|
1677
|
+
transition: none;
|
|
1678
|
+
}
|
|
1679
|
+
.crewlet-arrange-frame.is-fresh {
|
|
1680
|
+
animation: none;
|
|
1681
|
+
}
|
|
1682
|
+
}
|
|
1683
|
+
|
|
1684
|
+
|
|
1685
|
+
/* ArrangeGroup-SHFHA7BE.css */
|
|
1686
|
+
/*
|
|
1687
|
+
* ArrangeGroup: a titled band of blocks. The hue is the header's; the body
|
|
1688
|
+
* stays the page's ground, so the cards inside keep their own contrast.
|
|
1689
|
+
*/
|
|
1690
|
+
|
|
1691
|
+
.crewlet-arrange-group {
|
|
1692
|
+
--crewlet-arrange-group-band: var(--color-surface-subtle);
|
|
1693
|
+
--crewlet-arrange-group-line: var(--color-border-default);
|
|
1694
|
+
--crewlet-arrange-group-ink: var(--color-text-primary);
|
|
1695
|
+
--crewlet-arrange-group-mark: var(--color-border-strong);
|
|
1696
|
+
|
|
1697
|
+
display: flex;
|
|
1698
|
+
flex-direction: column;
|
|
1699
|
+
min-width: 0;
|
|
1700
|
+
border: 1px solid var(--crewlet-arrange-group-line);
|
|
1701
|
+
border-radius: var(--radius-lg);
|
|
1702
|
+
background: var(--color-surface-background);
|
|
1703
|
+
overflow: clip;
|
|
1704
|
+
}
|
|
1705
|
+
|
|
1706
|
+
.crewlet-arrange-group--purple { --crewlet-arrange-group-band: var(--color-node-purple-fill); --crewlet-arrange-group-line: var(--color-node-purple-line); --crewlet-arrange-group-ink: var(--color-node-purple-ink); --crewlet-arrange-group-mark: var(--color-node-purple); }
|
|
1707
|
+
.crewlet-arrange-group--cyan { --crewlet-arrange-group-band: var(--color-node-cyan-fill); --crewlet-arrange-group-line: var(--color-node-cyan-line); --crewlet-arrange-group-ink: var(--color-node-cyan-ink); --crewlet-arrange-group-mark: var(--color-node-cyan); }
|
|
1708
|
+
.crewlet-arrange-group--green { --crewlet-arrange-group-band: var(--color-node-green-fill); --crewlet-arrange-group-line: var(--color-node-green-line); --crewlet-arrange-group-ink: var(--color-node-green-ink); --crewlet-arrange-group-mark: var(--color-node-green); }
|
|
1709
|
+
.crewlet-arrange-group--amber { --crewlet-arrange-group-band: var(--color-node-amber-fill); --crewlet-arrange-group-line: var(--color-node-amber-line); --crewlet-arrange-group-ink: var(--color-node-amber-ink); --crewlet-arrange-group-mark: var(--color-node-amber); }
|
|
1710
|
+
.crewlet-arrange-group--rose { --crewlet-arrange-group-band: var(--color-node-rose-fill); --crewlet-arrange-group-line: var(--color-node-rose-line); --crewlet-arrange-group-ink: var(--color-node-rose-ink); --crewlet-arrange-group-mark: var(--color-node-rose); }
|
|
1711
|
+
.crewlet-arrange-group--blue { --crewlet-arrange-group-band: var(--color-node-blue-fill); --crewlet-arrange-group-line: var(--color-node-blue-line); --crewlet-arrange-group-ink: var(--color-node-blue-ink); --crewlet-arrange-group-mark: var(--color-node-blue); }
|
|
1712
|
+
|
|
1713
|
+
.crewlet-arrange-group__head {
|
|
1714
|
+
display: flex;
|
|
1715
|
+
align-items: center;
|
|
1716
|
+
gap: var(--spacing-2);
|
|
1717
|
+
min-height: var(--size-row-lg);
|
|
1718
|
+
padding: var(--spacing-1) var(--spacing-3) var(--spacing-1) var(--spacing-2);
|
|
1719
|
+
border-bottom: 1px solid var(--crewlet-arrange-group-line);
|
|
1720
|
+
background: var(--crewlet-arrange-group-band);
|
|
1721
|
+
}
|
|
1722
|
+
.crewlet-arrange-group.is-collapsed .crewlet-arrange-group__head {
|
|
1723
|
+
border-bottom-color: transparent;
|
|
1724
|
+
}
|
|
1725
|
+
|
|
1726
|
+
.crewlet-arrange-group__toggle {
|
|
1727
|
+
display: inline-flex;
|
|
1728
|
+
flex: 0 1 auto;
|
|
1729
|
+
align-items: center;
|
|
1730
|
+
gap: var(--spacing-2);
|
|
1731
|
+
min-width: 0;
|
|
1732
|
+
min-height: var(--size-row-sm);
|
|
1733
|
+
padding: 0 var(--spacing-2);
|
|
1734
|
+
border: 0;
|
|
1735
|
+
border-radius: var(--radius-sm);
|
|
1736
|
+
background: none;
|
|
1737
|
+
color: var(--crewlet-arrange-group-ink);
|
|
1738
|
+
font: inherit;
|
|
1739
|
+
cursor: pointer;
|
|
1740
|
+
}
|
|
1741
|
+
/* Editing, the toggle is the chevron alone, a square of its own, so its
|
|
1742
|
+
hover never runs into the name field beside it. */
|
|
1743
|
+
.crewlet-arrange-group__toggle.is-icon {
|
|
1744
|
+
flex: 0 0 auto;
|
|
1745
|
+
justify-content: center;
|
|
1746
|
+
width: var(--size-row-sm);
|
|
1747
|
+
padding: 0;
|
|
1748
|
+
}
|
|
1749
|
+
.crewlet-arrange-group__toggle:hover {
|
|
1750
|
+
background: var(--color-surface-hover);
|
|
1751
|
+
}
|
|
1752
|
+
.crewlet-arrange-group__toggle:focus-visible {
|
|
1753
|
+
outline: 2px solid var(--color-focus);
|
|
1754
|
+
outline-offset: 0;
|
|
1755
|
+
}
|
|
1756
|
+
|
|
1757
|
+
.crewlet-arrange-group__chevron {
|
|
1758
|
+
flex-shrink: 0;
|
|
1759
|
+
transition: transform var(--motion-duration-fast) var(--motion-easing-default);
|
|
1760
|
+
}
|
|
1761
|
+
.crewlet-arrange-group.is-collapsed .crewlet-arrange-group__chevron {
|
|
1762
|
+
transform: rotate(-90deg);
|
|
1763
|
+
}
|
|
1764
|
+
|
|
1765
|
+
.crewlet-arrange-group__title,
|
|
1766
|
+
.crewlet-arrange-group__title-field {
|
|
1767
|
+
overflow: hidden;
|
|
1768
|
+
font-size: var(--font-size-md);
|
|
1769
|
+
font-weight: var(--font-weight-semibold);
|
|
1770
|
+
letter-spacing: var(--font-letter-spacing-tight);
|
|
1771
|
+
color: var(--crewlet-arrange-group-ink);
|
|
1772
|
+
text-overflow: ellipsis;
|
|
1773
|
+
white-space: nowrap;
|
|
1774
|
+
}
|
|
1775
|
+
|
|
1776
|
+
/* Editing, the name is typed where it is read: the title itself, which
|
|
1777
|
+
shows it is a field on hover and takes a ring when focused. */
|
|
1778
|
+
.crewlet-arrange-group__title-field {
|
|
1779
|
+
/* As wide as the name, so the count sits just after it. */
|
|
1780
|
+
field-sizing: content;
|
|
1781
|
+
min-width: 3ch;
|
|
1782
|
+
max-width: 100%;
|
|
1783
|
+
height: var(--size-row-sm);
|
|
1784
|
+
padding: 0 var(--spacing-2);
|
|
1785
|
+
border: 1px dashed transparent;
|
|
1786
|
+
border-radius: var(--radius-sm);
|
|
1787
|
+
background: transparent;
|
|
1788
|
+
font-family: inherit;
|
|
1789
|
+
cursor: text;
|
|
1790
|
+
transition: border-color var(--motion-duration-fast) var(--motion-easing-default),
|
|
1791
|
+
background-color var(--motion-duration-fast) var(--motion-easing-default);
|
|
1792
|
+
}
|
|
1793
|
+
.crewlet-arrange-group__title-field:hover {
|
|
1794
|
+
border-color: var(--crewlet-arrange-group-mark);
|
|
1795
|
+
}
|
|
1796
|
+
/* The ring is drawn over the field's own edge, never beside it. */
|
|
1797
|
+
.crewlet-arrange-group__title-field:focus-visible {
|
|
1798
|
+
outline: 2px solid var(--color-focus);
|
|
1799
|
+
outline-offset: -1px;
|
|
1800
|
+
border-style: solid;
|
|
1801
|
+
border-color: var(--color-focus);
|
|
1802
|
+
background: var(--color-surface-background);
|
|
1803
|
+
}
|
|
1804
|
+
.crewlet-arrange-group__title-field::placeholder {
|
|
1805
|
+
color: var(--color-text-tertiary);
|
|
1806
|
+
font-weight: var(--font-weight-regular);
|
|
1807
|
+
}
|
|
1808
|
+
|
|
1809
|
+
.crewlet-arrange-group__count {
|
|
1810
|
+
flex-shrink: 0;
|
|
1811
|
+
}
|
|
1812
|
+
|
|
1813
|
+
.crewlet-arrange-group__actions {
|
|
1814
|
+
display: inline-flex;
|
|
1815
|
+
align-items: center;
|
|
1816
|
+
gap: var(--spacing-1);
|
|
1817
|
+
margin-inline-start: auto;
|
|
1818
|
+
}
|
|
1819
|
+
|
|
1820
|
+
.crewlet-arrange-group__body {
|
|
1821
|
+
display: grid;
|
|
1822
|
+
grid-template-columns: repeat(var(--crewlet-arrange-columns, 12), minmax(0, 1fr));
|
|
1823
|
+
gap: var(--spacing-4);
|
|
1824
|
+
align-items: stretch;
|
|
1825
|
+
padding: var(--spacing-4);
|
|
1826
|
+
min-height: 5rem;
|
|
1827
|
+
}
|
|
1828
|
+
.crewlet-arrange-group__body[data-reorder-over='true'] {
|
|
1829
|
+
background: var(--color-brand-accent-soft);
|
|
1830
|
+
}
|
|
1831
|
+
|
|
1832
|
+
.crewlet-arrange-group__empty {
|
|
1833
|
+
display: flex;
|
|
1834
|
+
grid-column: 1 / -1;
|
|
1835
|
+
align-items: center;
|
|
1836
|
+
justify-content: center;
|
|
1837
|
+
min-height: 4rem;
|
|
1838
|
+
border: 1px dashed var(--color-border-strong);
|
|
1839
|
+
border-radius: var(--radius-md);
|
|
1840
|
+
font-size: var(--font-size-sm);
|
|
1841
|
+
color: var(--color-text-tertiary);
|
|
1842
|
+
pointer-events: none;
|
|
1843
|
+
}
|
|
1844
|
+
|
|
1845
|
+
@media (prefers-reduced-motion: reduce) {
|
|
1846
|
+
.crewlet-arrange-group__chevron,
|
|
1847
|
+
.crewlet-arrange-group__title-field {
|
|
1848
|
+
transition: none;
|
|
1849
|
+
}
|
|
1850
|
+
}
|
|
1851
|
+
|
|
1852
|
+
/* Arranging, the header is what a pointer moves the group by. */
|
|
1853
|
+
.crewlet-arrange-frame[draggable='true'] > .crewlet-arrange-frame__content > .crewlet-arrange-group > .crewlet-arrange-group__head {
|
|
1854
|
+
cursor: grab;
|
|
1855
|
+
}
|
|
1856
|
+
|
|
1857
|
+
|
|
1858
|
+
/* ArrangeList-NNRTDFI5.css */
|
|
1859
|
+
/*
|
|
1860
|
+
* ArrangeList: rows a reader puts in order and switches on and off.
|
|
1861
|
+
*
|
|
1862
|
+
* The row is a quiet inset band rather than a card: a panel holding eight of
|
|
1863
|
+
* them is a list, and eight bordered boxes read as eight separate objects.
|
|
1864
|
+
*/
|
|
1865
|
+
|
|
1866
|
+
.crewlet-arrange-list {
|
|
1867
|
+
display: flex;
|
|
1868
|
+
flex-direction: column;
|
|
1869
|
+
gap: var(--spacing-1);
|
|
1870
|
+
margin: 0;
|
|
1871
|
+
padding: 0;
|
|
1872
|
+
list-style: none;
|
|
1873
|
+
}
|
|
1874
|
+
|
|
1875
|
+
.crewlet-arrange-list__item {
|
|
1876
|
+
display: flex;
|
|
1877
|
+
align-items: center;
|
|
1878
|
+
gap: var(--spacing-2);
|
|
1879
|
+
min-height: var(--size-row-lg);
|
|
1880
|
+
padding: var(--spacing-1) var(--spacing-2) var(--spacing-1) var(--spacing-1);
|
|
1881
|
+
border: 1px solid transparent;
|
|
1882
|
+
border-radius: var(--radius-md);
|
|
1883
|
+
background: var(--color-surface-subtle);
|
|
1884
|
+
transition: background-color var(--motion-duration-fast) var(--motion-easing-default),
|
|
1885
|
+
border-color var(--motion-duration-fast) var(--motion-easing-default);
|
|
1886
|
+
}
|
|
1887
|
+
|
|
1888
|
+
.crewlet-arrange-list__item:hover {
|
|
1889
|
+
border-color: var(--color-border-default);
|
|
1890
|
+
}
|
|
1891
|
+
|
|
1892
|
+
/* The row being carried is a gap in the list, outlined where it will land. */
|
|
1893
|
+
.crewlet-arrange-list__item[data-reorder='dragging'] {
|
|
1894
|
+
border-style: dashed;
|
|
1895
|
+
border-color: var(--color-border-strong);
|
|
1896
|
+
background: transparent;
|
|
1897
|
+
}
|
|
1898
|
+
.crewlet-arrange-list__item[data-reorder='dragging'] > * {
|
|
1899
|
+
opacity: 0.4;
|
|
1900
|
+
}
|
|
1901
|
+
|
|
1902
|
+
.crewlet-arrange-list__handle {
|
|
1903
|
+
flex-shrink: 0;
|
|
1904
|
+
cursor: grab;
|
|
1905
|
+
color: var(--color-text-tertiary);
|
|
1906
|
+
}
|
|
1907
|
+
.crewlet-arrange-list__handle:active {
|
|
1908
|
+
cursor: grabbing;
|
|
1909
|
+
}
|
|
1910
|
+
|
|
1911
|
+
.crewlet-arrange-list__label {
|
|
1912
|
+
display: inline-flex;
|
|
1913
|
+
align-items: center;
|
|
1914
|
+
gap: var(--spacing-2);
|
|
1915
|
+
}
|
|
1916
|
+
|
|
1917
|
+
.crewlet-arrange-list__icon {
|
|
1918
|
+
display: inline-flex;
|
|
1919
|
+
flex-shrink: 0;
|
|
1920
|
+
color: var(--color-text-secondary);
|
|
1921
|
+
}
|
|
1922
|
+
|
|
1923
|
+
/* The toggle takes the row's width, so its label is the row's target. */
|
|
1924
|
+
.crewlet-arrange-list__toggle {
|
|
1925
|
+
flex: 1 1 auto;
|
|
1926
|
+
min-width: 0;
|
|
1927
|
+
}
|
|
1928
|
+
|
|
1929
|
+
/* Off, the words step back; the switch itself already says off. */
|
|
1930
|
+
.crewlet-arrange-list__item.is-off .crewlet-arrange-list__icon,
|
|
1931
|
+
.crewlet-arrange-list__item.is-off .crewlet-switch__label,
|
|
1932
|
+
.crewlet-arrange-list__item.is-off .crewlet-checkbox__label {
|
|
1933
|
+
color: var(--color-text-tertiary);
|
|
1934
|
+
}
|
|
1935
|
+
|
|
1936
|
+
.crewlet-arrange-list__trailing {
|
|
1937
|
+
display: inline-flex;
|
|
1938
|
+
flex-shrink: 0;
|
|
1939
|
+
align-items: center;
|
|
1940
|
+
}
|
|
1941
|
+
|
|
1942
|
+
.crewlet-arrange-list__moves {
|
|
1943
|
+
display: inline-flex;
|
|
1944
|
+
flex-shrink: 0;
|
|
1945
|
+
gap: 2px;
|
|
1946
|
+
}
|
|
1947
|
+
|
|
1948
|
+
@media (prefers-reduced-motion: reduce) {
|
|
1949
|
+
.crewlet-arrange-list__item {
|
|
1950
|
+
transition: none;
|
|
1951
|
+
}
|
|
1952
|
+
}
|
|
1953
|
+
|
|
1954
|
+
|
|
1270
1955
|
/* ArtifactCard-EXVAEBV6.css */
|
|
1271
1956
|
/*
|
|
1272
1957
|
* A card in a gallery: the preview on top at a fixed ratio, so a grid of them
|
|
@@ -5522,6 +6207,99 @@ a.crewlet-breadcrumb__crumb:focus-visible {
|
|
|
5522
6207
|
}
|
|
5523
6208
|
|
|
5524
6209
|
|
|
6210
|
+
/* CommentThread-7VXOFTZO.css */
|
|
6211
|
+
/* CommentThread: a document's remarks, one per row with a hairline between,
|
|
6212
|
+
then the field to add one. */
|
|
6213
|
+
.crewlet-comment-thread {
|
|
6214
|
+
display: flex;
|
|
6215
|
+
flex-direction: column;
|
|
6216
|
+
gap: var(--spacing-3);
|
|
6217
|
+
min-width: 0;
|
|
6218
|
+
}
|
|
6219
|
+
|
|
6220
|
+
.crewlet-comment-thread__heading {
|
|
6221
|
+
display: flex;
|
|
6222
|
+
align-items: center;
|
|
6223
|
+
gap: var(--spacing-2);
|
|
6224
|
+
margin: 0;
|
|
6225
|
+
color: var(--color-text-primary);
|
|
6226
|
+
font-size: var(--font-size-sm);
|
|
6227
|
+
font-weight: var(--font-weight-semibold);
|
|
6228
|
+
}
|
|
6229
|
+
|
|
6230
|
+
.crewlet-comment-thread__empty,
|
|
6231
|
+
.crewlet-comment-thread__hint {
|
|
6232
|
+
margin: 0;
|
|
6233
|
+
color: var(--color-text-tertiary);
|
|
6234
|
+
font-size: var(--font-size-compact);
|
|
6235
|
+
}
|
|
6236
|
+
|
|
6237
|
+
.crewlet-comment-thread__list {
|
|
6238
|
+
display: flex;
|
|
6239
|
+
flex-direction: column;
|
|
6240
|
+
margin: 0;
|
|
6241
|
+
padding: 0;
|
|
6242
|
+
list-style: none;
|
|
6243
|
+
}
|
|
6244
|
+
|
|
6245
|
+
.crewlet-comment-thread__comment {
|
|
6246
|
+
display: flex;
|
|
6247
|
+
flex-direction: column;
|
|
6248
|
+
gap: var(--spacing-2);
|
|
6249
|
+
min-width: 0;
|
|
6250
|
+
padding: var(--spacing-3) 0;
|
|
6251
|
+
border-bottom: 1px solid var(--color-border-default);
|
|
6252
|
+
}
|
|
6253
|
+
|
|
6254
|
+
.crewlet-comment-thread__head {
|
|
6255
|
+
display: flex;
|
|
6256
|
+
flex-wrap: wrap;
|
|
6257
|
+
align-items: center;
|
|
6258
|
+
gap: var(--spacing-2);
|
|
6259
|
+
min-width: 0;
|
|
6260
|
+
}
|
|
6261
|
+
|
|
6262
|
+
.crewlet-comment-thread__author {
|
|
6263
|
+
display: inline-flex;
|
|
6264
|
+
align-items: center;
|
|
6265
|
+
gap: var(--spacing-2);
|
|
6266
|
+
min-width: 0;
|
|
6267
|
+
}
|
|
6268
|
+
|
|
6269
|
+
.crewlet-comment-thread__name {
|
|
6270
|
+
overflow: hidden;
|
|
6271
|
+
color: var(--color-text-primary);
|
|
6272
|
+
font-weight: var(--font-weight-semibold);
|
|
6273
|
+
text-overflow: ellipsis;
|
|
6274
|
+
white-space: nowrap;
|
|
6275
|
+
}
|
|
6276
|
+
|
|
6277
|
+
.crewlet-comment-thread__meta {
|
|
6278
|
+
color: var(--color-text-tertiary);
|
|
6279
|
+
font-size: var(--font-size-xs);
|
|
6280
|
+
}
|
|
6281
|
+
|
|
6282
|
+
/* Reply sits at the row's far end, wherever the head wraps. */
|
|
6283
|
+
.crewlet-comment-thread__reply {
|
|
6284
|
+
margin-inline-start: auto;
|
|
6285
|
+
}
|
|
6286
|
+
|
|
6287
|
+
.crewlet-comment-thread__compose {
|
|
6288
|
+
display: flex;
|
|
6289
|
+
flex-direction: column;
|
|
6290
|
+
gap: var(--spacing-2);
|
|
6291
|
+
}
|
|
6292
|
+
|
|
6293
|
+
.crewlet-comment-thread__replying {
|
|
6294
|
+
display: flex;
|
|
6295
|
+
flex-wrap: wrap;
|
|
6296
|
+
align-items: center;
|
|
6297
|
+
gap: var(--spacing-2);
|
|
6298
|
+
color: var(--color-text-tertiary);
|
|
6299
|
+
font-size: var(--font-size-xs);
|
|
6300
|
+
}
|
|
6301
|
+
|
|
6302
|
+
|
|
5525
6303
|
/* Composer-ABGJIAIR.css */
|
|
5526
6304
|
/*
|
|
5527
6305
|
* A message written in place: the field and its footer strip in one box. The
|
|
@@ -5613,6 +6391,36 @@ a.crewlet-breadcrumb__crumb:focus-visible {
|
|
|
5613
6391
|
}
|
|
5614
6392
|
|
|
5615
6393
|
|
|
6394
|
+
/* ConflictNote-DH77PYF7.css */
|
|
6395
|
+
/* ConflictNote: a refused write's sentence in the danger ink, with its glyph
|
|
6396
|
+
so the colour is never the only carrier, and its controls beside it. */
|
|
6397
|
+
.crewlet-conflict-note {
|
|
6398
|
+
display: flex;
|
|
6399
|
+
flex-wrap: wrap;
|
|
6400
|
+
align-items: center;
|
|
6401
|
+
gap: var(--spacing-1) var(--spacing-2);
|
|
6402
|
+
max-width: 40rem;
|
|
6403
|
+
color: var(--color-feedback-danger-ink);
|
|
6404
|
+
font-size: var(--font-size-compact);
|
|
6405
|
+
overflow-wrap: anywhere;
|
|
6406
|
+
}
|
|
6407
|
+
|
|
6408
|
+
.crewlet-conflict-note__glyph {
|
|
6409
|
+
flex: none;
|
|
6410
|
+
}
|
|
6411
|
+
|
|
6412
|
+
.crewlet-conflict-note__text {
|
|
6413
|
+
flex: 1 1 16rem;
|
|
6414
|
+
min-width: 0;
|
|
6415
|
+
}
|
|
6416
|
+
|
|
6417
|
+
.crewlet-conflict-note__actions {
|
|
6418
|
+
display: inline-flex;
|
|
6419
|
+
flex-wrap: wrap;
|
|
6420
|
+
gap: var(--spacing-1);
|
|
6421
|
+
}
|
|
6422
|
+
|
|
6423
|
+
|
|
5616
6424
|
/* Container-3TSKMGNI.css */
|
|
5617
6425
|
/*
|
|
5618
6426
|
* Container, the centred content measure. One max-width scale shared by every
|
|
@@ -8754,6 +9562,100 @@ svg.crewlet-datetime__chevron {
|
|
|
8754
9562
|
}
|
|
8755
9563
|
|
|
8756
9564
|
|
|
9565
|
+
/* DiffView-RVLIHTKG.css */
|
|
9566
|
+
/* DiffView: a line diff, monospace and line-numbered on both sides.
|
|
9567
|
+
|
|
9568
|
+
A changed line is marked three ways, a tint, a drawn mark and a word read
|
|
9569
|
+
in its place, because colour alone is not a signal and a printed or
|
|
9570
|
+
forced-colours render loses the tint entirely. The tint is the soft step of
|
|
9571
|
+
the state and the mark the matching ink step, the pairing the palette suite
|
|
9572
|
+
measures. */
|
|
9573
|
+
.crewlet-diff-view {
|
|
9574
|
+
overflow: hidden;
|
|
9575
|
+
border: 1px solid var(--color-border-default);
|
|
9576
|
+
border-radius: var(--radius-sm);
|
|
9577
|
+
font-family: var(--font-family-mono);
|
|
9578
|
+
font-size: var(--font-size-xs);
|
|
9579
|
+
line-height: var(--font-line-height-normal);
|
|
9580
|
+
}
|
|
9581
|
+
|
|
9582
|
+
.crewlet-diff-view__section + .crewlet-diff-view__section,
|
|
9583
|
+
.crewlet-diff-view__skip + .crewlet-diff-view__line {
|
|
9584
|
+
border-top: 1px solid var(--color-border-default);
|
|
9585
|
+
}
|
|
9586
|
+
|
|
9587
|
+
/* A GAP SAYS WHAT IT STANDS FOR. Silently closed, a document edited at both
|
|
9588
|
+
ends looks like one rewritten in the middle. */
|
|
9589
|
+
.crewlet-diff-view__skip {
|
|
9590
|
+
padding: var(--spacing-1) var(--spacing-3);
|
|
9591
|
+
background: var(--color-surface-elevated);
|
|
9592
|
+
color: var(--color-text-tertiary);
|
|
9593
|
+
font-family: var(--font-family-sans);
|
|
9594
|
+
font-size: var(--font-size-xs);
|
|
9595
|
+
}
|
|
9596
|
+
|
|
9597
|
+
.crewlet-diff-view__line {
|
|
9598
|
+
display: grid;
|
|
9599
|
+
grid-template-columns: 3.5ch 3.5ch 2ch minmax(0, 1fr);
|
|
9600
|
+
gap: var(--spacing-2);
|
|
9601
|
+
padding: calc(var(--spacing-1) / 4) var(--spacing-3) calc(var(--spacing-1) / 4) var(--spacing-2);
|
|
9602
|
+
}
|
|
9603
|
+
|
|
9604
|
+
.crewlet-diff-view__number {
|
|
9605
|
+
color: var(--color-text-tertiary);
|
|
9606
|
+
text-align: right;
|
|
9607
|
+
user-select: none;
|
|
9608
|
+
font-variant-numeric: tabular-nums;
|
|
9609
|
+
}
|
|
9610
|
+
|
|
9611
|
+
.crewlet-diff-view__mark {
|
|
9612
|
+
text-align: center;
|
|
9613
|
+
user-select: none;
|
|
9614
|
+
}
|
|
9615
|
+
|
|
9616
|
+
.crewlet-diff-view__text {
|
|
9617
|
+
white-space: pre-wrap;
|
|
9618
|
+
overflow-wrap: anywhere;
|
|
9619
|
+
}
|
|
9620
|
+
|
|
9621
|
+
.crewlet-diff-view__line--add {
|
|
9622
|
+
background: var(--color-feedback-success-soft);
|
|
9623
|
+
}
|
|
9624
|
+
|
|
9625
|
+
.crewlet-diff-view__line--add .crewlet-diff-view__mark {
|
|
9626
|
+
color: var(--color-feedback-success-ink);
|
|
9627
|
+
}
|
|
9628
|
+
|
|
9629
|
+
.crewlet-diff-view__line--remove {
|
|
9630
|
+
background: var(--color-feedback-danger-soft);
|
|
9631
|
+
}
|
|
9632
|
+
|
|
9633
|
+
.crewlet-diff-view__line--remove .crewlet-diff-view__mark {
|
|
9634
|
+
color: var(--color-feedback-danger-ink);
|
|
9635
|
+
}
|
|
9636
|
+
|
|
9637
|
+
/* DiffSummary: the size of the change, in the same inks as its lines. */
|
|
9638
|
+
.crewlet-diff-summary {
|
|
9639
|
+
margin: 0;
|
|
9640
|
+
color: var(--color-text-secondary);
|
|
9641
|
+
font-size: var(--font-size-compact);
|
|
9642
|
+
}
|
|
9643
|
+
|
|
9644
|
+
.crewlet-diff-summary__added,
|
|
9645
|
+
.crewlet-diff-summary__removed {
|
|
9646
|
+
font-family: var(--font-family-mono);
|
|
9647
|
+
font-variant-numeric: tabular-nums;
|
|
9648
|
+
}
|
|
9649
|
+
|
|
9650
|
+
.crewlet-diff-summary__added {
|
|
9651
|
+
color: var(--color-feedback-success-ink);
|
|
9652
|
+
}
|
|
9653
|
+
|
|
9654
|
+
.crewlet-diff-summary__removed {
|
|
9655
|
+
color: var(--color-feedback-danger-ink);
|
|
9656
|
+
}
|
|
9657
|
+
|
|
9658
|
+
|
|
8757
9659
|
/* Disclosure-VKBJJIZ7.css */
|
|
8758
9660
|
/*
|
|
8759
9661
|
* The disclosure anatomy, declared once for every expander in the package.
|
|
@@ -8933,6 +9835,46 @@ svg.crewlet-datetime__chevron {
|
|
|
8933
9835
|
}
|
|
8934
9836
|
|
|
8935
9837
|
|
|
9838
|
+
/* Divider-3Z77ZAJH.css */
|
|
9839
|
+
/* Divider: a rule across its space, with its name at its start or in its middle. */
|
|
9840
|
+
|
|
9841
|
+
.crewlet-divider {
|
|
9842
|
+
display: flex;
|
|
9843
|
+
align-items: center;
|
|
9844
|
+
gap: var(--spacing-3);
|
|
9845
|
+
min-height: var(--size-row-sm);
|
|
9846
|
+
min-width: 0;
|
|
9847
|
+
}
|
|
9848
|
+
.crewlet-divider::before,
|
|
9849
|
+
.crewlet-divider::after {
|
|
9850
|
+
content: '';
|
|
9851
|
+
flex: 1 1 auto;
|
|
9852
|
+
border-top: 1px solid var(--color-border-strong);
|
|
9853
|
+
}
|
|
9854
|
+
/* One rule unless the words sit in the middle of it. */
|
|
9855
|
+
.crewlet-divider:not(.crewlet-divider--center)::before {
|
|
9856
|
+
display: none;
|
|
9857
|
+
}
|
|
9858
|
+
.crewlet-divider:not(.crewlet-divider--labelled)::before {
|
|
9859
|
+
display: block;
|
|
9860
|
+
}
|
|
9861
|
+
.crewlet-divider:not(.crewlet-divider--labelled)::after {
|
|
9862
|
+
display: none;
|
|
9863
|
+
}
|
|
9864
|
+
|
|
9865
|
+
.crewlet-divider__label {
|
|
9866
|
+
flex: 0 1 auto;
|
|
9867
|
+
overflow: hidden;
|
|
9868
|
+
font-size: var(--font-size-xs);
|
|
9869
|
+
font-weight: var(--font-weight-medium);
|
|
9870
|
+
letter-spacing: var(--font-letter-spacing-wide);
|
|
9871
|
+
color: var(--color-text-tertiary);
|
|
9872
|
+
text-transform: uppercase;
|
|
9873
|
+
text-overflow: ellipsis;
|
|
9874
|
+
white-space: nowrap;
|
|
9875
|
+
}
|
|
9876
|
+
|
|
9877
|
+
|
|
8936
9878
|
/* Document-PQGXJHB7.css */
|
|
8937
9879
|
/*
|
|
8938
9880
|
* Rendered markdown, set as a document (Document.tsx).
|
|
@@ -9698,7 +10640,7 @@ svg.crewlet-datetime__chevron {
|
|
|
9698
10640
|
}
|
|
9699
10641
|
|
|
9700
10642
|
|
|
9701
|
-
/* HuePicker-
|
|
10643
|
+
/* HuePicker-PAIGH6LR.css */
|
|
9702
10644
|
/*
|
|
9703
10645
|
* A hue's swatch: the hue itself, as a dot beside its name. The name carries
|
|
9704
10646
|
* the choice; the dot is there so the row can be scanned for a colour.
|
|
@@ -9718,6 +10660,12 @@ svg.crewlet-datetime__chevron {
|
|
|
9718
10660
|
.crewlet-hue-picker__swatch--rose { background: var(--color-node-rose); }
|
|
9719
10661
|
.crewlet-hue-picker__swatch--blue { background: var(--color-node-blue); }
|
|
9720
10662
|
|
|
10663
|
+
/* No hue: a ring in the hairline, so the row still reads as swatches. */
|
|
10664
|
+
.crewlet-hue-picker__swatch--none {
|
|
10665
|
+
box-sizing: border-box;
|
|
10666
|
+
border: 1px solid var(--color-border-strong);
|
|
10667
|
+
}
|
|
10668
|
+
|
|
9721
10669
|
|
|
9722
10670
|
/* IconButton-VYWP6SGW.css */
|
|
9723
10671
|
/*
|
|
@@ -9895,6 +10843,39 @@ svg.crewlet-datetime__chevron {
|
|
|
9895
10843
|
}
|
|
9896
10844
|
|
|
9897
10845
|
|
|
10846
|
+
/* IconTile-4GNWTLAW.css */
|
|
10847
|
+
/*
|
|
10848
|
+
* IconTile: a glyph on a tinted square. Each hue pairs its fill and its ink
|
|
10849
|
+
* from one measured family (`--color-node-*`); left out, the brand accent's
|
|
10850
|
+
* soft fill and ink. No edge: the tile sits inside a card that has one.
|
|
10851
|
+
*/
|
|
10852
|
+
.crewlet-icon-tile {
|
|
10853
|
+
--crewlet-icon-tile-fill: var(--color-brand-accent-soft);
|
|
10854
|
+
--crewlet-icon-tile-ink: var(--color-brand-accent-ink);
|
|
10855
|
+
--crewlet-icon-tile-size: var(--size-row-md);
|
|
10856
|
+
|
|
10857
|
+
display: inline-flex;
|
|
10858
|
+
flex: none;
|
|
10859
|
+
align-items: center;
|
|
10860
|
+
justify-content: center;
|
|
10861
|
+
width: var(--crewlet-icon-tile-size);
|
|
10862
|
+
height: var(--crewlet-icon-tile-size);
|
|
10863
|
+
border-radius: var(--radius-md);
|
|
10864
|
+
background: var(--crewlet-icon-tile-fill);
|
|
10865
|
+
color: var(--crewlet-icon-tile-ink);
|
|
10866
|
+
}
|
|
10867
|
+
|
|
10868
|
+
.crewlet-icon-tile--sm { --crewlet-icon-tile-size: var(--size-row-sm); }
|
|
10869
|
+
.crewlet-icon-tile--lg { --crewlet-icon-tile-size: var(--size-row-lg); border-radius: var(--radius-lg); }
|
|
10870
|
+
|
|
10871
|
+
.crewlet-icon-tile--purple { --crewlet-icon-tile-fill: var(--color-node-purple-fill); --crewlet-icon-tile-ink: var(--color-node-purple-ink); }
|
|
10872
|
+
.crewlet-icon-tile--cyan { --crewlet-icon-tile-fill: var(--color-node-cyan-fill); --crewlet-icon-tile-ink: var(--color-node-cyan-ink); }
|
|
10873
|
+
.crewlet-icon-tile--green { --crewlet-icon-tile-fill: var(--color-node-green-fill); --crewlet-icon-tile-ink: var(--color-node-green-ink); }
|
|
10874
|
+
.crewlet-icon-tile--amber { --crewlet-icon-tile-fill: var(--color-node-amber-fill); --crewlet-icon-tile-ink: var(--color-node-amber-ink); }
|
|
10875
|
+
.crewlet-icon-tile--rose { --crewlet-icon-tile-fill: var(--color-node-rose-fill); --crewlet-icon-tile-ink: var(--color-node-rose-ink); }
|
|
10876
|
+
.crewlet-icon-tile--blue { --crewlet-icon-tile-fill: var(--color-node-blue-fill); --crewlet-icon-tile-ink: var(--color-node-blue-ink); }
|
|
10877
|
+
|
|
10878
|
+
|
|
9898
10879
|
/* ImageUpload-NVGMN7DP.css */
|
|
9899
10880
|
/*
|
|
9900
10881
|
* ImageUpload, the click-to-upload affordance built on Avatar.
|
|
@@ -12670,7 +13651,7 @@ svg.crewlet-datetime__chevron {
|
|
|
12670
13651
|
}
|
|
12671
13652
|
|
|
12672
13653
|
|
|
12673
|
-
/* Modal-
|
|
13654
|
+
/* Modal-XOSV6FAH.css */
|
|
12674
13655
|
/*
|
|
12675
13656
|
* The modal surface: the veil, the frame, and the three bands inside it.
|
|
12676
13657
|
*
|
|
@@ -12730,6 +13711,12 @@ svg.crewlet-datetime__chevron {
|
|
|
12730
13711
|
}
|
|
12731
13712
|
|
|
12732
13713
|
/* Inside a LayerHost the overlay covers the host, not the window. */
|
|
13714
|
+
/* The page behind stays as it is: see `backdrop` in Modal.tsx. */
|
|
13715
|
+
.crewlet-modal-overlay--clear {
|
|
13716
|
+
background: transparent;
|
|
13717
|
+
backdrop-filter: none;
|
|
13718
|
+
}
|
|
13719
|
+
|
|
12733
13720
|
.crewlet-modal-overlay--in-host {
|
|
12734
13721
|
position: absolute;
|
|
12735
13722
|
}
|
|
@@ -13049,6 +14036,14 @@ svg.crewlet-datetime__chevron {
|
|
|
13049
14036
|
margin: calc(var(--spacing-1) * -1);
|
|
13050
14037
|
}
|
|
13051
14038
|
|
|
14039
|
+
/* The step back leads the head, its glyph on the title's inline start, as
|
|
14040
|
+
the close control's sits on the head's end. */
|
|
14041
|
+
.crewlet-modal__back {
|
|
14042
|
+
flex-shrink: 0;
|
|
14043
|
+
margin-inline-start: calc(var(--spacing-2) * -1);
|
|
14044
|
+
margin-block: calc(var(--spacing-1) * -1);
|
|
14045
|
+
}
|
|
14046
|
+
|
|
13052
14047
|
.crewlet-modal__body {
|
|
13053
14048
|
flex: 1 1 auto;
|
|
13054
14049
|
min-height: 0;
|
|
@@ -13276,6 +14271,67 @@ svg.crewlet-datetime__chevron {
|
|
|
13276
14271
|
}
|
|
13277
14272
|
|
|
13278
14273
|
|
|
14274
|
+
/* Note-RT4L6VUT.css */
|
|
14275
|
+
/*
|
|
14276
|
+
* Note: words on a coloured paper. Each hue pairs its fill with its own ink.
|
|
14277
|
+
*/
|
|
14278
|
+
|
|
14279
|
+
.crewlet-note {
|
|
14280
|
+
--crewlet-note-paper: var(--color-surface-subtle);
|
|
14281
|
+
--crewlet-note-edge: var(--color-border-default);
|
|
14282
|
+
--crewlet-note-ink: var(--color-text-primary);
|
|
14283
|
+
|
|
14284
|
+
box-sizing: border-box;
|
|
14285
|
+
min-width: 0;
|
|
14286
|
+
min-height: 0;
|
|
14287
|
+
padding: var(--spacing-4);
|
|
14288
|
+
overflow: auto;
|
|
14289
|
+
border: 1px solid var(--crewlet-note-edge);
|
|
14290
|
+
border-radius: var(--radius-lg);
|
|
14291
|
+
background: var(--crewlet-note-paper);
|
|
14292
|
+
color: var(--crewlet-note-ink);
|
|
14293
|
+
font-size: var(--font-size-sm);
|
|
14294
|
+
line-height: var(--font-line-height-normal);
|
|
14295
|
+
overflow-wrap: anywhere;
|
|
14296
|
+
}
|
|
14297
|
+
|
|
14298
|
+
.crewlet-note--purple { --crewlet-note-paper: var(--color-node-purple-fill); --crewlet-note-edge: var(--color-node-purple-line); --crewlet-note-ink: var(--color-node-purple-ink); }
|
|
14299
|
+
.crewlet-note--cyan { --crewlet-note-paper: var(--color-node-cyan-fill); --crewlet-note-edge: var(--color-node-cyan-line); --crewlet-note-ink: var(--color-node-cyan-ink); }
|
|
14300
|
+
.crewlet-note--green { --crewlet-note-paper: var(--color-node-green-fill); --crewlet-note-edge: var(--color-node-green-line); --crewlet-note-ink: var(--color-node-green-ink); }
|
|
14301
|
+
.crewlet-note--amber { --crewlet-note-paper: var(--color-node-amber-fill); --crewlet-note-edge: var(--color-node-amber-line); --crewlet-note-ink: var(--color-node-amber-ink); }
|
|
14302
|
+
.crewlet-note--rose { --crewlet-note-paper: var(--color-node-rose-fill); --crewlet-note-edge: var(--color-node-rose-line); --crewlet-note-ink: var(--color-node-rose-ink); }
|
|
14303
|
+
.crewlet-note--blue { --crewlet-note-paper: var(--color-node-blue-fill); --crewlet-note-edge: var(--color-node-blue-line); --crewlet-note-ink: var(--color-node-blue-ink); }
|
|
14304
|
+
|
|
14305
|
+
.crewlet-note--center {
|
|
14306
|
+
display: flex;
|
|
14307
|
+
flex-direction: column;
|
|
14308
|
+
justify-content: center;
|
|
14309
|
+
text-align: center;
|
|
14310
|
+
}
|
|
14311
|
+
|
|
14312
|
+
.crewlet-note--lg {
|
|
14313
|
+
font-size: var(--font-size-lg);
|
|
14314
|
+
font-weight: var(--font-weight-medium);
|
|
14315
|
+
letter-spacing: var(--font-letter-spacing-tight);
|
|
14316
|
+
}
|
|
14317
|
+
|
|
14318
|
+
/* Prose inside takes the note's ink, links included. */
|
|
14319
|
+
.crewlet-note :is(p, li, h2, h3, h4, strong, em) {
|
|
14320
|
+
color: inherit;
|
|
14321
|
+
}
|
|
14322
|
+
.crewlet-note a {
|
|
14323
|
+
color: inherit;
|
|
14324
|
+
text-decoration: underline;
|
|
14325
|
+
text-underline-offset: 2px;
|
|
14326
|
+
}
|
|
14327
|
+
.crewlet-note > :first-child {
|
|
14328
|
+
margin-top: 0;
|
|
14329
|
+
}
|
|
14330
|
+
.crewlet-note > :last-child {
|
|
14331
|
+
margin-bottom: 0;
|
|
14332
|
+
}
|
|
14333
|
+
|
|
14334
|
+
|
|
13279
14335
|
/* ObjectHeader-UNVYM2KD.css */
|
|
13280
14336
|
/*
|
|
13281
14337
|
* The header of an object: its eyebrow, its head row and its fact line.
|
|
@@ -14512,94 +15568,316 @@ svg.crewlet-datetime__chevron {
|
|
|
14512
15568
|
}
|
|
14513
15569
|
|
|
14514
15570
|
|
|
14515
|
-
/* PageHeader-6EYWQXRE.css */
|
|
14516
|
-
/*
|
|
14517
|
-
* The head of a screen.
|
|
14518
|
-
*
|
|
14519
|
-
* THE OPERATOR'S TITLE, NOT THE MARKETING ONE. It was the 32px display step
|
|
14520
|
-
* over a 16px sentence, which is the type a landing page opens with: on a
|
|
14521
|
-
* screen whose job is to show a table it took a third of the first fold and
|
|
14522
|
-
* pushed the rows a reader came for below it, and it said the screen's name
|
|
14523
|
-
* twice as loudly as the shell's own bar says it. The 20px step over the
|
|
14524
|
-
* compact sentence is the head every screen on the dashboard wears, and it
|
|
14525
|
-
* leaves the content the largest thing on the page.
|
|
14526
|
-
*/
|
|
14527
|
-
|
|
14528
|
-
.crewlet-page-header {
|
|
14529
|
-
display: flex;
|
|
14530
|
-
align-items: flex-end;
|
|
14531
|
-
justify-content: space-between;
|
|
14532
|
-
gap: var(--spacing-3);
|
|
14533
|
-
flex-wrap: wrap;
|
|
14534
|
-
min-width: 0;
|
|
15571
|
+
/* PageHeader-6EYWQXRE.css */
|
|
15572
|
+
/*
|
|
15573
|
+
* The head of a screen.
|
|
15574
|
+
*
|
|
15575
|
+
* THE OPERATOR'S TITLE, NOT THE MARKETING ONE. It was the 32px display step
|
|
15576
|
+
* over a 16px sentence, which is the type a landing page opens with: on a
|
|
15577
|
+
* screen whose job is to show a table it took a third of the first fold and
|
|
15578
|
+
* pushed the rows a reader came for below it, and it said the screen's name
|
|
15579
|
+
* twice as loudly as the shell's own bar says it. The 20px step over the
|
|
15580
|
+
* compact sentence is the head every screen on the dashboard wears, and it
|
|
15581
|
+
* leaves the content the largest thing on the page.
|
|
15582
|
+
*/
|
|
15583
|
+
|
|
15584
|
+
.crewlet-page-header {
|
|
15585
|
+
display: flex;
|
|
15586
|
+
align-items: flex-end;
|
|
15587
|
+
justify-content: space-between;
|
|
15588
|
+
gap: var(--spacing-3);
|
|
15589
|
+
flex-wrap: wrap;
|
|
15590
|
+
min-width: 0;
|
|
15591
|
+
}
|
|
15592
|
+
|
|
15593
|
+
.crewlet-page-header__lead {
|
|
15594
|
+
display: flex;
|
|
15595
|
+
flex-direction: column;
|
|
15596
|
+
/* One step. The title and the sentence under it are ONE block: at the
|
|
15597
|
+
8px step they read as a heading with a caption parked below it. */
|
|
15598
|
+
gap: var(--spacing-1);
|
|
15599
|
+
min-width: 0;
|
|
15600
|
+
/* Takes the row, so the actions wrap under the title rather than squeezing
|
|
15601
|
+
a long screen name into two words and an ellipsis. */
|
|
15602
|
+
flex: 1 1 auto;
|
|
15603
|
+
}
|
|
15604
|
+
|
|
15605
|
+
.crewlet-page-header__titles {
|
|
15606
|
+
display: flex;
|
|
15607
|
+
align-items: center;
|
|
15608
|
+
gap: var(--spacing-2);
|
|
15609
|
+
flex-wrap: wrap;
|
|
15610
|
+
min-width: 0;
|
|
15611
|
+
}
|
|
15612
|
+
|
|
15613
|
+
/*
|
|
15614
|
+
* THE TITLE KEEPS THE PAGE'S OWN LEADING. It is a heading element, and the
|
|
15615
|
+
* document baseline sets every heading at the tight step, which is the right
|
|
15616
|
+
* answer for a stack of headings in prose and the wrong one here: this is one
|
|
15617
|
+
* line above one sentence, and at 1.2 the two sit closer than the gap between
|
|
15618
|
+
* them, so the head reads as three lines of something rather than a title with
|
|
15619
|
+
* a caption. Declared here rather than left to the baseline because a screen
|
|
15620
|
+
* that renders the title in a `div` would otherwise draw a different head from
|
|
15621
|
+
* the one that renders it in an `h1`.
|
|
15622
|
+
*/
|
|
15623
|
+
.crewlet-page-header__title {
|
|
15624
|
+
margin: 0;
|
|
15625
|
+
font-family: var(--font-family-display);
|
|
15626
|
+
font-size: var(--font-size-xl);
|
|
15627
|
+
font-weight: var(--font-weight-semibold);
|
|
15628
|
+
line-height: var(--font-line-height-normal);
|
|
15629
|
+
letter-spacing: var(--font-letter-spacing-tight);
|
|
15630
|
+
color: var(--color-text-primary);
|
|
15631
|
+
min-width: 0;
|
|
15632
|
+
}
|
|
15633
|
+
|
|
15634
|
+
.crewlet-page-header__badges {
|
|
15635
|
+
display: flex;
|
|
15636
|
+
align-items: center;
|
|
15637
|
+
gap: var(--spacing-2);
|
|
15638
|
+
flex-wrap: wrap;
|
|
15639
|
+
}
|
|
15640
|
+
|
|
15641
|
+
.crewlet-page-header__description {
|
|
15642
|
+
margin: 0;
|
|
15643
|
+
max-width: var(--size-measure);
|
|
15644
|
+
font-family: var(--font-family-sans);
|
|
15645
|
+
/* A sentence that answers "what is this screen for", read once. It is not
|
|
15646
|
+
body copy, and at the body step it competed with the table under it. */
|
|
15647
|
+
font-size: var(--font-size-compact);
|
|
15648
|
+
line-height: var(--font-line-height-normal);
|
|
15649
|
+
color: var(--color-text-tertiary);
|
|
15650
|
+
}
|
|
15651
|
+
|
|
15652
|
+
/* One step between actions, which is what keeps a run of buttons reading as
|
|
15653
|
+
one cluster at the end of the row rather than as three separate controls. */
|
|
15654
|
+
.crewlet-page-header__actions {
|
|
15655
|
+
display: flex;
|
|
15656
|
+
align-items: center;
|
|
15657
|
+
gap: var(--spacing-1);
|
|
15658
|
+
flex-wrap: wrap;
|
|
15659
|
+
}
|
|
15660
|
+
|
|
15661
|
+
|
|
15662
|
+
/* PeopleRail-R64WVOSH.css */
|
|
15663
|
+
/* PeopleRail: a raised column of everybody present, one row a person, the
|
|
15664
|
+
name over what they are doing and the controls at the row's end. */
|
|
15665
|
+
.crewlet-people-rail {
|
|
15666
|
+
display: flex;
|
|
15667
|
+
flex-direction: column;
|
|
15668
|
+
gap: var(--spacing-3);
|
|
15669
|
+
min-width: 0;
|
|
15670
|
+
padding: var(--spacing-3);
|
|
15671
|
+
border: 1px solid var(--color-border-default);
|
|
15672
|
+
border-radius: var(--radius-md);
|
|
15673
|
+
background: var(--color-surface-elevated);
|
|
15674
|
+
}
|
|
15675
|
+
|
|
15676
|
+
.crewlet-people-rail__head {
|
|
15677
|
+
display: flex;
|
|
15678
|
+
align-items: center;
|
|
15679
|
+
justify-content: space-between;
|
|
15680
|
+
gap: var(--spacing-2);
|
|
15681
|
+
}
|
|
15682
|
+
|
|
15683
|
+
.crewlet-people-rail__title {
|
|
15684
|
+
margin: 0;
|
|
15685
|
+
color: var(--color-text-primary);
|
|
15686
|
+
font-size: var(--font-size-sm);
|
|
15687
|
+
font-weight: var(--font-weight-semibold);
|
|
15688
|
+
}
|
|
15689
|
+
|
|
15690
|
+
.crewlet-people-rail__list {
|
|
15691
|
+
display: flex;
|
|
15692
|
+
flex-direction: column;
|
|
15693
|
+
gap: var(--spacing-2);
|
|
15694
|
+
margin: 0;
|
|
15695
|
+
padding: 0;
|
|
15696
|
+
list-style: none;
|
|
15697
|
+
}
|
|
15698
|
+
|
|
15699
|
+
.crewlet-people-rail__person {
|
|
15700
|
+
display: flex;
|
|
15701
|
+
align-items: center;
|
|
15702
|
+
gap: var(--spacing-2);
|
|
15703
|
+
min-width: 0;
|
|
15704
|
+
}
|
|
15705
|
+
|
|
15706
|
+
.crewlet-people-rail__text {
|
|
15707
|
+
display: flex;
|
|
15708
|
+
flex: 1;
|
|
15709
|
+
flex-direction: column;
|
|
15710
|
+
min-width: 0;
|
|
15711
|
+
}
|
|
15712
|
+
|
|
15713
|
+
.crewlet-people-rail__name {
|
|
15714
|
+
overflow: hidden;
|
|
15715
|
+
color: var(--color-text-primary);
|
|
15716
|
+
text-overflow: ellipsis;
|
|
15717
|
+
white-space: nowrap;
|
|
15718
|
+
}
|
|
15719
|
+
|
|
15720
|
+
.crewlet-people-rail__where {
|
|
15721
|
+
color: var(--color-text-tertiary);
|
|
15722
|
+
font-size: var(--font-size-compact);
|
|
15723
|
+
overflow-wrap: anywhere;
|
|
15724
|
+
}
|
|
15725
|
+
|
|
15726
|
+
.crewlet-people-rail__actions {
|
|
15727
|
+
display: flex;
|
|
15728
|
+
flex-wrap: wrap;
|
|
15729
|
+
justify-content: flex-end;
|
|
15730
|
+
gap: var(--spacing-1);
|
|
15731
|
+
}
|
|
15732
|
+
|
|
15733
|
+
.crewlet-people-rail__note {
|
|
15734
|
+
margin: 0;
|
|
15735
|
+
color: var(--color-text-tertiary);
|
|
15736
|
+
font-size: var(--font-size-compact);
|
|
15737
|
+
}
|
|
15738
|
+
|
|
15739
|
+
|
|
15740
|
+
/* PinTile-IIA25MNZ.css */
|
|
15741
|
+
/*
|
|
15742
|
+
* PinTile: one pinned thing, a link with its facts.
|
|
15743
|
+
*
|
|
15744
|
+
* A raised row rather than a card with a header: a shelf holds six of them,
|
|
15745
|
+
* and six headed cards are six sections where the reader wanted six links.
|
|
15746
|
+
*/
|
|
15747
|
+
|
|
15748
|
+
.crewlet-pin-tile {
|
|
15749
|
+
position: relative;
|
|
15750
|
+
display: flex;
|
|
15751
|
+
align-items: center;
|
|
15752
|
+
gap: var(--spacing-3);
|
|
15753
|
+
min-width: 0;
|
|
15754
|
+
min-height: 56px;
|
|
15755
|
+
padding: var(--spacing-2) var(--spacing-2) var(--spacing-2) var(--spacing-3);
|
|
15756
|
+
border: 1px solid var(--color-border-default);
|
|
15757
|
+
border-radius: var(--radius-lg);
|
|
15758
|
+
background: var(--color-surface-elevated);
|
|
15759
|
+
transition: border-color var(--motion-duration-fast) var(--motion-easing-default),
|
|
15760
|
+
background-color var(--motion-duration-fast) var(--motion-easing-default);
|
|
15761
|
+
}
|
|
15762
|
+
.crewlet-pin-tile:hover {
|
|
15763
|
+
border-color: var(--color-border-hover);
|
|
15764
|
+
background: var(--color-surface-hover);
|
|
15765
|
+
}
|
|
15766
|
+
.crewlet-pin-tile:has(.crewlet-pin-tile__handle) {
|
|
15767
|
+
padding-inline-start: var(--spacing-1);
|
|
15768
|
+
}
|
|
15769
|
+
|
|
15770
|
+
.crewlet-pin-tile[data-reorder='dragging'] {
|
|
15771
|
+
border-style: dashed;
|
|
15772
|
+
border-color: var(--color-brand-accent);
|
|
15773
|
+
background: var(--color-brand-accent-soft);
|
|
15774
|
+
}
|
|
15775
|
+
.crewlet-pin-tile[data-reorder='dragging'] > * {
|
|
15776
|
+
opacity: 0.35;
|
|
15777
|
+
}
|
|
15778
|
+
|
|
15779
|
+
.crewlet-pin-tile__handle {
|
|
15780
|
+
position: relative;
|
|
15781
|
+
z-index: var(--z-index-raised);
|
|
15782
|
+
flex-shrink: 0;
|
|
15783
|
+
cursor: grab;
|
|
15784
|
+
color: var(--color-text-tertiary);
|
|
15785
|
+
}
|
|
15786
|
+
|
|
15787
|
+
.crewlet-pin-tile__leading {
|
|
15788
|
+
display: inline-flex;
|
|
15789
|
+
flex-shrink: 0;
|
|
15790
|
+
color: var(--color-text-secondary);
|
|
14535
15791
|
}
|
|
14536
15792
|
|
|
14537
|
-
.crewlet-
|
|
15793
|
+
.crewlet-pin-tile__body {
|
|
14538
15794
|
display: flex;
|
|
15795
|
+
flex: 1 1 auto;
|
|
14539
15796
|
flex-direction: column;
|
|
14540
|
-
|
|
14541
|
-
8px step they read as a heading with a caption parked below it. */
|
|
14542
|
-
gap: var(--spacing-1);
|
|
15797
|
+
gap: 2px;
|
|
14543
15798
|
min-width: 0;
|
|
14544
|
-
/* Takes the row, so the actions wrap under the title rather than squeezing
|
|
14545
|
-
a long screen name into two words and an ellipsis. */
|
|
14546
|
-
flex: 1 1 auto;
|
|
14547
15799
|
}
|
|
14548
15800
|
|
|
14549
|
-
.crewlet-
|
|
15801
|
+
.crewlet-pin-tile__head {
|
|
14550
15802
|
display: flex;
|
|
14551
15803
|
align-items: center;
|
|
14552
15804
|
gap: var(--spacing-2);
|
|
14553
|
-
flex-wrap: wrap;
|
|
14554
15805
|
min-width: 0;
|
|
14555
15806
|
}
|
|
14556
15807
|
|
|
14557
|
-
|
|
14558
|
-
|
|
14559
|
-
|
|
14560
|
-
|
|
14561
|
-
* line above one sentence, and at 1.2 the two sit closer than the gap between
|
|
14562
|
-
* them, so the head reads as three lines of something rather than a title with
|
|
14563
|
-
* a caption. Declared here rather than left to the baseline because a screen
|
|
14564
|
-
* that renders the title in a `div` would otherwise draw a different head from
|
|
14565
|
-
* the one that renders it in an `h1`.
|
|
14566
|
-
*/
|
|
14567
|
-
.crewlet-page-header__title {
|
|
14568
|
-
margin: 0;
|
|
14569
|
-
font-family: var(--font-family-display);
|
|
14570
|
-
font-size: var(--font-size-xl);
|
|
14571
|
-
font-weight: var(--font-weight-semibold);
|
|
14572
|
-
line-height: var(--font-line-height-normal);
|
|
14573
|
-
letter-spacing: var(--font-letter-spacing-tight);
|
|
15808
|
+
.crewlet-pin-tile__link {
|
|
15809
|
+
overflow: hidden;
|
|
15810
|
+
font-size: var(--font-size-sm);
|
|
15811
|
+
font-weight: var(--font-weight-medium);
|
|
14574
15812
|
color: var(--color-text-primary);
|
|
14575
|
-
|
|
15813
|
+
text-decoration: none;
|
|
15814
|
+
text-overflow: ellipsis;
|
|
15815
|
+
white-space: nowrap;
|
|
15816
|
+
}
|
|
15817
|
+
/* The tile's whole area, as the link's. */
|
|
15818
|
+
.crewlet-pin-tile__link::after {
|
|
15819
|
+
content: '';
|
|
15820
|
+
position: absolute;
|
|
15821
|
+
inset: 0;
|
|
15822
|
+
border-radius: inherit;
|
|
15823
|
+
}
|
|
15824
|
+
.crewlet-pin-tile__link:focus-visible {
|
|
15825
|
+
outline: 2px solid transparent;
|
|
15826
|
+
}
|
|
15827
|
+
/* The tile's ring, over its own edge, for the link that is its target. */
|
|
15828
|
+
.crewlet-pin-tile:has(.crewlet-pin-tile__link:focus-visible) {
|
|
15829
|
+
outline: 2px solid var(--color-focus);
|
|
15830
|
+
outline-offset: -1px;
|
|
14576
15831
|
}
|
|
14577
15832
|
|
|
14578
|
-
.crewlet-
|
|
14579
|
-
display: flex;
|
|
14580
|
-
|
|
14581
|
-
gap: var(--spacing-2);
|
|
14582
|
-
flex-wrap: wrap;
|
|
15833
|
+
.crewlet-pin-tile__status {
|
|
15834
|
+
display: inline-flex;
|
|
15835
|
+
flex-shrink: 0;
|
|
14583
15836
|
}
|
|
14584
15837
|
|
|
14585
|
-
.crewlet-
|
|
14586
|
-
|
|
14587
|
-
|
|
14588
|
-
|
|
14589
|
-
|
|
14590
|
-
|
|
14591
|
-
|
|
14592
|
-
|
|
15838
|
+
.crewlet-pin-tile__meta {
|
|
15839
|
+
overflow: hidden;
|
|
15840
|
+
font-size: var(--font-size-xs);
|
|
15841
|
+
color: var(--color-text-secondary);
|
|
15842
|
+
text-overflow: ellipsis;
|
|
15843
|
+
white-space: nowrap;
|
|
15844
|
+
}
|
|
15845
|
+
.crewlet-pin-tile__kind {
|
|
14593
15846
|
color: var(--color-text-tertiary);
|
|
14594
15847
|
}
|
|
14595
15848
|
|
|
14596
|
-
|
|
14597
|
-
|
|
14598
|
-
|
|
14599
|
-
|
|
14600
|
-
|
|
14601
|
-
|
|
14602
|
-
|
|
15849
|
+
.crewlet-pin-tile__figure {
|
|
15850
|
+
flex-shrink: 0;
|
|
15851
|
+
font-size: var(--font-size-sm);
|
|
15852
|
+
font-weight: var(--font-weight-semibold);
|
|
15853
|
+
font-variant-numeric: tabular-nums;
|
|
15854
|
+
color: var(--color-text-primary);
|
|
15855
|
+
}
|
|
15856
|
+
|
|
15857
|
+
/* Above the stretched link, so it takes its own press. */
|
|
15858
|
+
.crewlet-pin-tile__unpin {
|
|
15859
|
+
position: relative;
|
|
15860
|
+
z-index: var(--z-index-raised);
|
|
15861
|
+
flex-shrink: 0;
|
|
15862
|
+
color: var(--color-brand-accent-ink);
|
|
15863
|
+
opacity: 0.55;
|
|
15864
|
+
transition: opacity var(--motion-duration-fast) var(--motion-easing-default);
|
|
15865
|
+
}
|
|
15866
|
+
.crewlet-pin-tile:hover .crewlet-pin-tile__unpin,
|
|
15867
|
+
.crewlet-pin-tile:focus-within .crewlet-pin-tile__unpin {
|
|
15868
|
+
opacity: 1;
|
|
15869
|
+
}
|
|
15870
|
+
@media (hover: none) {
|
|
15871
|
+
.crewlet-pin-tile__unpin {
|
|
15872
|
+
opacity: 1;
|
|
15873
|
+
}
|
|
15874
|
+
}
|
|
15875
|
+
|
|
15876
|
+
@media (prefers-reduced-motion: reduce) {
|
|
15877
|
+
.crewlet-pin-tile,
|
|
15878
|
+
.crewlet-pin-tile__unpin {
|
|
15879
|
+
transition: none;
|
|
15880
|
+
}
|
|
14603
15881
|
}
|
|
14604
15882
|
|
|
14605
15883
|
|
|
@@ -18410,7 +19688,7 @@ svg.crewlet-select__chevron {
|
|
|
18410
19688
|
.crewlet-statcard--info .crewlet-statcard__value { color: var(--color-feedback-info-ink); }
|
|
18411
19689
|
|
|
18412
19690
|
|
|
18413
|
-
/* StatGroup-
|
|
19691
|
+
/* StatGroup-PADTJCUQ.css */
|
|
18414
19692
|
/*
|
|
18415
19693
|
* A row of stat tiles.
|
|
18416
19694
|
*
|
|
@@ -18433,6 +19711,13 @@ svg.crewlet-select__chevron {
|
|
|
18433
19711
|
overflow: hidden;
|
|
18434
19712
|
}
|
|
18435
19713
|
|
|
19714
|
+
/* Inside another card: the card's surface and edge are the row's. */
|
|
19715
|
+
.crewlet-stat-group--flush {
|
|
19716
|
+
background: transparent;
|
|
19717
|
+
border: 0;
|
|
19718
|
+
border-radius: var(--radius-none);
|
|
19719
|
+
}
|
|
19720
|
+
|
|
18436
19721
|
/*
|
|
18437
19722
|
* A tile inside the row brings no surface of its own, whether or not its
|
|
18438
19723
|
* caller remembered `flush`. The group draws one card and the hairlines
|
|
@@ -19556,6 +20841,113 @@ b.crewlet-switcher__match {
|
|
|
19556
20841
|
}
|
|
19557
20842
|
|
|
19558
20843
|
|
|
20844
|
+
/* TableCells-3VN5N2M3.css */
|
|
20845
|
+
/* The read-only table cells. Each one holds a single line and shrinks inside
|
|
20846
|
+
its column (`min-width: 0`), so a long value is cut with an ellipsis and
|
|
20847
|
+
its whole text on the title rather than standing the row two lines tall. */
|
|
20848
|
+
|
|
20849
|
+
.crewlet-table-cell__truncate {
|
|
20850
|
+
min-width: 0;
|
|
20851
|
+
overflow: hidden;
|
|
20852
|
+
text-overflow: ellipsis;
|
|
20853
|
+
white-space: nowrap;
|
|
20854
|
+
}
|
|
20855
|
+
|
|
20856
|
+
/* AN IDENTIFIER IS ONE LINE, cut with its value on the title rather than
|
|
20857
|
+
broken at whichever character the column ran out on. Named with the link's
|
|
20858
|
+
class as well, so a linked identifier keeps the block box whatever order
|
|
20859
|
+
the two stylesheets load in. */
|
|
20860
|
+
.crewlet-table-cell__key,
|
|
20861
|
+
.crewlet-link.crewlet-table-cell__key {
|
|
20862
|
+
display: block;
|
|
20863
|
+
min-width: 0;
|
|
20864
|
+
overflow: hidden;
|
|
20865
|
+
text-overflow: ellipsis;
|
|
20866
|
+
white-space: nowrap;
|
|
20867
|
+
font-family: var(--font-family-mono);
|
|
20868
|
+
}
|
|
20869
|
+
|
|
20870
|
+
.crewlet-table-cell__number {
|
|
20871
|
+
font-variant-numeric: tabular-nums;
|
|
20872
|
+
white-space: nowrap;
|
|
20873
|
+
}
|
|
20874
|
+
|
|
20875
|
+
.crewlet-table-cell__date {
|
|
20876
|
+
color: var(--color-text-tertiary);
|
|
20877
|
+
white-space: nowrap;
|
|
20878
|
+
}
|
|
20879
|
+
|
|
20880
|
+
.crewlet-table-cell__entity,
|
|
20881
|
+
.crewlet-link.crewlet-table-cell__entity,
|
|
20882
|
+
.crewlet-table-cell__status,
|
|
20883
|
+
.crewlet-table-cell__text {
|
|
20884
|
+
display: inline-flex;
|
|
20885
|
+
align-items: center;
|
|
20886
|
+
gap: var(--spacing-2);
|
|
20887
|
+
min-width: 0;
|
|
20888
|
+
max-width: 100%;
|
|
20889
|
+
}
|
|
20890
|
+
|
|
20891
|
+
.crewlet-table-cell__status,
|
|
20892
|
+
.crewlet-table-cell__text {
|
|
20893
|
+
gap: calc(var(--spacing-1) * 1.5);
|
|
20894
|
+
}
|
|
20895
|
+
|
|
20896
|
+
.crewlet-table-cell__badge,
|
|
20897
|
+
.crewlet-table-cell__icon {
|
|
20898
|
+
display: inline-flex;
|
|
20899
|
+
flex: none;
|
|
20900
|
+
}
|
|
20901
|
+
|
|
20902
|
+
.crewlet-table-cell__icon {
|
|
20903
|
+
color: var(--color-text-tertiary);
|
|
20904
|
+
}
|
|
20905
|
+
|
|
20906
|
+
.crewlet-table-cell__glyph {
|
|
20907
|
+
display: inline-flex;
|
|
20908
|
+
flex: none;
|
|
20909
|
+
font-size: var(--font-size-xs);
|
|
20910
|
+
line-height: 1;
|
|
20911
|
+
/* The quiet state is still a mark, so it takes the tertiary step: the
|
|
20912
|
+
decoration step does not clear 3:1 on every ground. */
|
|
20913
|
+
color: var(--color-text-tertiary);
|
|
20914
|
+
}
|
|
20915
|
+
|
|
20916
|
+
.crewlet-table-cell__status--info .crewlet-table-cell__glyph {
|
|
20917
|
+
color: var(--color-feedback-info);
|
|
20918
|
+
}
|
|
20919
|
+
|
|
20920
|
+
.crewlet-table-cell__status--success .crewlet-table-cell__glyph {
|
|
20921
|
+
color: var(--color-feedback-success);
|
|
20922
|
+
}
|
|
20923
|
+
|
|
20924
|
+
.crewlet-table-cell__status--warning .crewlet-table-cell__glyph {
|
|
20925
|
+
color: var(--color-feedback-warning);
|
|
20926
|
+
}
|
|
20927
|
+
|
|
20928
|
+
.crewlet-table-cell__status--danger .crewlet-table-cell__glyph {
|
|
20929
|
+
color: var(--color-feedback-danger);
|
|
20930
|
+
}
|
|
20931
|
+
|
|
20932
|
+
.crewlet-table-cell__status--brand .crewlet-table-cell__glyph {
|
|
20933
|
+
color: var(--color-brand-accent);
|
|
20934
|
+
}
|
|
20935
|
+
|
|
20936
|
+
.crewlet-table-cell__tags {
|
|
20937
|
+
display: inline-flex;
|
|
20938
|
+
flex-wrap: wrap;
|
|
20939
|
+
align-items: center;
|
|
20940
|
+
gap: var(--spacing-1);
|
|
20941
|
+
min-width: 0;
|
|
20942
|
+
}
|
|
20943
|
+
|
|
20944
|
+
.crewlet-table-cell__more {
|
|
20945
|
+
color: var(--color-text-secondary);
|
|
20946
|
+
font-size: var(--font-size-xs);
|
|
20947
|
+
font-variant-numeric: tabular-nums;
|
|
20948
|
+
}
|
|
20949
|
+
|
|
20950
|
+
|
|
19559
20951
|
/* Tabs-ITJYJFMU.css */
|
|
19560
20952
|
/*
|
|
19561
20953
|
* The pill register: Tabs and SegmentedControl.
|
|
@@ -23615,6 +25007,77 @@ svg.crewlet-time-window__tick {
|
|
|
23615
25007
|
}
|
|
23616
25008
|
|
|
23617
25009
|
|
|
25010
|
+
/* VersionCompare-UUZOPTQO.css */
|
|
25011
|
+
/* VersionCompare: a head naming the two versions with the lens switch at its
|
|
25012
|
+
end, then the changes or the two versions. */
|
|
25013
|
+
.crewlet-version-compare {
|
|
25014
|
+
display: flex;
|
|
25015
|
+
flex-direction: column;
|
|
25016
|
+
gap: var(--spacing-3);
|
|
25017
|
+
min-width: 0;
|
|
25018
|
+
}
|
|
25019
|
+
|
|
25020
|
+
.crewlet-version-compare__head {
|
|
25021
|
+
display: flex;
|
|
25022
|
+
flex-wrap: wrap;
|
|
25023
|
+
align-items: center;
|
|
25024
|
+
gap: var(--spacing-2) var(--spacing-3);
|
|
25025
|
+
}
|
|
25026
|
+
|
|
25027
|
+
.crewlet-version-compare__titles {
|
|
25028
|
+
display: flex;
|
|
25029
|
+
flex: 1 1 16rem;
|
|
25030
|
+
flex-direction: column;
|
|
25031
|
+
gap: var(--spacing-1);
|
|
25032
|
+
min-width: 0;
|
|
25033
|
+
}
|
|
25034
|
+
|
|
25035
|
+
.crewlet-version-compare__title {
|
|
25036
|
+
margin: 0;
|
|
25037
|
+
color: var(--color-text-primary);
|
|
25038
|
+
font-size: var(--font-size-sm);
|
|
25039
|
+
font-weight: var(--font-weight-semibold);
|
|
25040
|
+
}
|
|
25041
|
+
|
|
25042
|
+
.crewlet-version-compare__description,
|
|
25043
|
+
.crewlet-version-compare__note {
|
|
25044
|
+
margin: 0;
|
|
25045
|
+
color: var(--color-text-tertiary);
|
|
25046
|
+
font-size: var(--font-size-compact);
|
|
25047
|
+
}
|
|
25048
|
+
|
|
25049
|
+
.crewlet-version-compare__changes,
|
|
25050
|
+
.crewlet-version-compare__versions {
|
|
25051
|
+
display: flex;
|
|
25052
|
+
flex-direction: column;
|
|
25053
|
+
gap: var(--spacing-3);
|
|
25054
|
+
min-width: 0;
|
|
25055
|
+
}
|
|
25056
|
+
|
|
25057
|
+
/* SIDE BY SIDE where there is room for two readable columns, and one above
|
|
25058
|
+
the other where there is not, decided by the width the panes are given
|
|
25059
|
+
rather than by the viewport, so a comparison in a side pane stacks too. */
|
|
25060
|
+
.crewlet-version-compare__panes {
|
|
25061
|
+
display: grid;
|
|
25062
|
+
grid-template-columns: repeat(auto-fit, minmax(min(100%, 20rem), 1fr));
|
|
25063
|
+
gap: var(--spacing-4);
|
|
25064
|
+
}
|
|
25065
|
+
|
|
25066
|
+
.crewlet-version-compare__pane {
|
|
25067
|
+
display: flex;
|
|
25068
|
+
flex-direction: column;
|
|
25069
|
+
gap: var(--spacing-2);
|
|
25070
|
+
min-width: 0;
|
|
25071
|
+
}
|
|
25072
|
+
|
|
25073
|
+
.crewlet-version-compare__pane-title {
|
|
25074
|
+
margin: 0;
|
|
25075
|
+
color: var(--color-text-primary);
|
|
25076
|
+
font-size: var(--font-size-sm);
|
|
25077
|
+
font-weight: var(--font-weight-semibold);
|
|
25078
|
+
}
|
|
25079
|
+
|
|
25080
|
+
|
|
23618
25081
|
/* VersionTimeline-EBJ6MIPJ.css */
|
|
23619
25082
|
/*
|
|
23620
25083
|
* A version list beside the version on show. The row's main line is the
|