@crewlethq/ui 0.34.1 → 0.35.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 +51 -0
- package/dist/AppShell/index.js +2 -2
- package/dist/ArtifactBar/ArtifactBar.d.ts +7 -1
- package/dist/ArtifactBar/index.d.ts +1 -0
- package/dist/ArtifactBar/index.js +4 -14
- package/dist/{ArtifactBar-C462VD4C.css → ArtifactBar-HV5AT4RG.css} +39 -2
- package/dist/ArtifactCard/ArtifactCard.d.ts +1 -10
- package/dist/ArtifactCard/index.d.ts +5 -2
- package/dist/ArtifactCard/index.js +3 -2
- package/dist/{ArtifactCard-XHRLAL7C.css → ArtifactCard-OGTMO2KI.css} +15 -16
- package/dist/ArtifactCover/index.js +2 -14
- package/dist/ArtifactIcon/ArtifactIcon.d.ts +1 -1
- package/dist/ArtifactIcon/index.js +2 -15
- package/dist/ArtifactKindGlyph/ArtifactKindGlyph.d.ts +10 -0
- package/dist/ArtifactKindGlyph/index.d.ts +2 -0
- package/dist/ArtifactKindGlyph/index.js +1 -0
- package/dist/ArtifactKindIllustration/ArtifactKindIllustration.d.ts +15 -2
- package/dist/ArtifactKindIllustration/index.d.ts +1 -0
- package/dist/ArtifactKindIllustration/index.js +1 -1
- package/dist/{ArtifactKindIllustration-4NG6IE3C.css → ArtifactKindIllustration-5FPRJQ3P.css} +32 -26
- package/dist/ArtifactKinds-CVD3FCYO.css +15 -0
- package/dist/AvatarPicker/index.js +3 -3
- package/dist/CanvasBoard/CanvasBoard.d.ts +30 -12
- package/dist/CanvasBoard/index.js +1 -1
- package/dist/ChangeMark/index.js +2 -2
- package/dist/ChoiceList/ChoiceList.d.ts +7 -1
- package/dist/ChoiceList/index.js +1 -1
- package/dist/{ChoiceList-2PQJS4DX.css → ChoiceList-RBL7FNQL.css} +39 -0
- package/dist/CommentThread/index.js +2 -2
- package/dist/DataTable/index.js +2 -2
- package/dist/DataView/index.js +5 -5
- package/dist/DateTimePicker/index.js +2 -2
- package/dist/DocTabsEditor/index.js +2 -2
- package/dist/{Editor-UUZ7XKCU.js → Editor-BVQHBF7L.js} +4 -4
- package/dist/FileDrop/FileDrop.d.ts +64 -0
- package/dist/FileDrop/index.d.ts +3 -0
- package/dist/FileDrop/index.js +4 -0
- package/dist/FileDrop-WE7BNZGV.css +80 -0
- package/dist/FindingList/FindingList.d.ts +35 -0
- package/dist/FindingList/index.d.ts +3 -0
- package/dist/FindingList/index.js +3 -0
- package/dist/FindingList-PMYA2R6Q.css +71 -0
- package/dist/HuePicker/HuePicker.d.ts +9 -0
- package/dist/HuePicker/index.d.ts +1 -1
- package/dist/HuePicker/index.js +1 -1
- package/dist/Markdown/index.js +1 -1
- package/dist/Menu/Menu.d.ts +6 -1
- package/dist/Menu/index.js +1 -1
- package/dist/OrgTable/index.js +1 -1
- package/dist/RichEditor/index.js +3 -3
- package/dist/RichEditorMarkdown/index.js +3 -3
- package/dist/SheetColumnEditor/SheetColumnEditor.d.ts +94 -0
- package/dist/SheetColumnEditor/index.d.ts +3 -0
- package/dist/SheetColumnEditor/index.js +23 -0
- package/dist/SheetColumnEditor-BO2HKFRB.css +73 -0
- package/dist/SheetGrid/SheetGrid.d.ts +19 -1
- package/dist/SheetGrid/index.js +5 -4
- package/dist/{SheetGrid-GDPCCZ4V.css → SheetGrid-YRDXTIIZ.css} +48 -0
- package/dist/SheetModel/index.js +1 -1
- package/dist/SheetModel/labels.d.ts +6 -0
- package/dist/SlideFilmstrip/SlideFilmstrip.d.ts +30 -1
- package/dist/SlideFilmstrip/index.js +5 -1
- package/dist/{SlideFilmstrip-5U6Z55GS.css → SlideFilmstrip-4ITZLMO4.css} +49 -0
- package/dist/SourceEditor/SourceEditor.d.ts +62 -0
- package/dist/SourceEditor/index.d.ts +3 -0
- package/dist/SourceEditor/index.js +3 -0
- package/dist/SourceEditor-G2C3STPX.css +160 -0
- package/dist/ThemeGallery/ThemeGallery.d.ts +10 -3
- package/dist/ThemeGallery/index.js +1 -1
- package/dist/{ThemeGallery-NITASULQ.css → ThemeGallery-HSUKBDWY.css} +9 -0
- package/dist/TimeWindowPicker/index.js +2 -2
- package/dist/{chunk-UXXJDIYE.js → chunk-22CQQDFW.js} +1 -1
- package/dist/{chunk-E4NNGC6X.js → chunk-3VD3G3IL.js} +2 -2
- package/dist/{chunk-EWAFN2IU.js → chunk-5VCG26CV.js} +281 -234
- package/dist/{chunk-XTOVADJU.js → chunk-7UYONN6K.js} +7 -18
- package/dist/{chunk-CFAJP777.js → chunk-AXBRWRGV.js} +1 -1
- package/dist/{chunk-KK5OYNAF.js → chunk-BAKPMH3S.js} +8 -4
- package/dist/{chunk-3EB2AV3H.js → chunk-BUVCV3WI.js} +1 -1
- package/dist/chunk-CE2THTQR.js +19 -0
- package/dist/{chunk-4B6LSFDS.js → chunk-CSQTDGTS.js} +1 -1
- package/dist/{chunk-WPX6A5BV.js → chunk-E35CMI5D.js} +22 -6
- package/dist/{chunk-EBCHVFCS.js → chunk-FJJHD73S.js} +2 -2
- package/dist/{chunk-SGHIAGPR.js → chunk-HAKTRTRP.js} +1 -1
- package/dist/{chunk-PLDUNXAO.js → chunk-ILDNJHRU.js} +1 -1
- package/dist/chunk-MAD6WPER.js +342 -0
- package/dist/{chunk-IUD5VA2Z.js → chunk-NKZCJRKO.js} +10 -5
- package/dist/chunk-NTB5LRRD.js +52 -0
- package/dist/{chunk-VI5FWDZW.js → chunk-OOMXLJ3S.js} +4 -1
- package/dist/{chunk-UOR7TOAU.js → chunk-OSFA5ROT.js} +86 -1
- package/dist/{chunk-T46NR3WP.js → chunk-PGZ2R3ON.js} +1 -1
- package/dist/chunk-PI7HKLIT.js +245 -0
- package/dist/{chunk-YZFLH463.js → chunk-QEFHYUCY.js} +1 -1
- package/dist/{chunk-7Q7WDXHG.js → chunk-QFNWMWWY.js} +3 -3
- package/dist/{chunk-C7DKX453.js → chunk-QH6VYJ3X.js} +1 -1
- package/dist/{chunk-XV32RKQZ.js → chunk-QIXMNOBD.js} +67 -6
- package/dist/{chunk-GPHWCK7M.js → chunk-SUXP4OBT.js} +6 -3
- package/dist/{chunk-TRQCHF2F.js → chunk-SWD4QBL6.js} +1 -1
- package/dist/chunk-THDGBD6Y.js +154 -0
- package/dist/{chunk-C2FRTWKO.js → chunk-W3UVOZKL.js} +3 -2
- package/dist/{chunk-UDQW6UK7.js → chunk-W7QBBKUE.js} +34 -7
- package/dist/{chunk-QBXZLGK2.js → chunk-ZU3DUXD2.js} +3 -2
- package/dist/generated/index.d.ts +5 -0
- package/dist/generated/index.js +73 -68
- package/dist/index.js +73 -68
- package/dist/styles.css +652 -51
- package/dist/utils/csv.d.ts +35 -0
- package/dist/utils/index.d.ts +2 -1
- package/dist/utils/index.js +1 -1
- package/package.json +3 -3
- package/dist/{chunk-YCARLYI6.js → chunk-3WCNHYXE.js} +0 -0
- package/dist/{chunk-IYO2N5ZH.js → chunk-6JVRY5DQ.js} +1 -1
- package/dist/{chunk-BY4N65PM.js → chunk-73A7D5CE.js} +1 -1
- package/dist/{chunk-AORVEG5V.js → chunk-F2KY4RLI.js} +1 -1
package/dist/styles.css
CHANGED
|
@@ -2041,7 +2041,7 @@ button.crewlet-account-row__who:focus-visible {
|
|
|
2041
2041
|
}
|
|
2042
2042
|
|
|
2043
2043
|
|
|
2044
|
-
/* ArtifactBar-
|
|
2044
|
+
/* ArtifactBar-HV5AT4RG.css */
|
|
2045
2045
|
/*
|
|
2046
2046
|
* One row, one hairline under it, the height of a large row. The lead (the
|
|
2047
2047
|
* way back, the glyph, the title, the version) takes what the end leaves it
|
|
@@ -2108,6 +2108,9 @@ button.crewlet-account-row__who:focus-visible {
|
|
|
2108
2108
|
align-items: center;
|
|
2109
2109
|
}
|
|
2110
2110
|
|
|
2111
|
+
/* THE KIND'S GLYPH IN THE KIND'S INK, as the gallery's badge and the Make
|
|
2112
|
+
row draw it, so an open artifact and a create page say what they are in the
|
|
2113
|
+
same colour the reader picked it by. */
|
|
2111
2114
|
.crewlet-artifact-bar__glyph {
|
|
2112
2115
|
display: inline-flex;
|
|
2113
2116
|
flex: none;
|
|
@@ -2115,7 +2118,7 @@ button.crewlet-account-row__who:focus-visible {
|
|
|
2115
2118
|
justify-content: center;
|
|
2116
2119
|
width: var(--size-control-sm);
|
|
2117
2120
|
height: var(--size-control-sm);
|
|
2118
|
-
color: var(--color-text-secondary);
|
|
2121
|
+
color: var(--crewlet-kind-ink, var(--color-text-secondary));
|
|
2119
2122
|
}
|
|
2120
2123
|
|
|
2121
2124
|
/* THE TITLE. Read only, it is text; renamable, its words are a button drawn
|
|
@@ -2306,7 +2309,8 @@ button.crewlet-account-row__who:focus-visible {
|
|
|
2306
2309
|
|
|
2307
2310
|
/* Both arrangements are drawn; the bar's width says which one shows. */
|
|
2308
2311
|
.crewlet-artifact-bar__narrow,
|
|
2309
|
-
.crewlet-artifact-bar__tight
|
|
2312
|
+
.crewlet-artifact-bar__tight,
|
|
2313
|
+
.crewlet-artifact-bar__word-short {
|
|
2310
2314
|
display: none;
|
|
2311
2315
|
}
|
|
2312
2316
|
|
|
@@ -2353,6 +2357,39 @@ button.crewlet-account-row__who:focus-visible {
|
|
|
2353
2357
|
display: inline-flex;
|
|
2354
2358
|
}
|
|
2355
2359
|
|
|
2360
|
+
/* A PRIMARY ACTION TAKES ITS SHORT WORD, where it has one, so "Create and
|
|
2361
|
+
ask SRE Lead" does not push the title out of a phone's bar. */
|
|
2362
|
+
.crewlet-artifact-bar__word-full {
|
|
2363
|
+
display: none;
|
|
2364
|
+
}
|
|
2365
|
+
|
|
2366
|
+
.crewlet-artifact-bar__word-short {
|
|
2367
|
+
display: inline;
|
|
2368
|
+
}
|
|
2369
|
+
|
|
2370
|
+
/* THE STATUS GIVES WAY BEFORE THE TITLE: the end may shrink, and the
|
|
2371
|
+
status is the part of it that does, cut to an ellipsis rather than drawn
|
|
2372
|
+
over the title. Its words stay whole for a screen reader. */
|
|
2373
|
+
.crewlet-artifact-bar__end {
|
|
2374
|
+
flex: 0 1 auto;
|
|
2375
|
+
min-width: 0;
|
|
2376
|
+
}
|
|
2377
|
+
|
|
2378
|
+
.crewlet-artifact-bar__end > * {
|
|
2379
|
+
flex: none;
|
|
2380
|
+
}
|
|
2381
|
+
|
|
2382
|
+
.crewlet-artifact-bar__end > .crewlet-artifact-bar__status {
|
|
2383
|
+
display: block;
|
|
2384
|
+
flex: 0 1 auto;
|
|
2385
|
+
min-width: 0;
|
|
2386
|
+
max-width: 30cqi;
|
|
2387
|
+
margin-inline-end: var(--spacing-1);
|
|
2388
|
+
overflow: hidden;
|
|
2389
|
+
text-overflow: ellipsis;
|
|
2390
|
+
white-space: nowrap;
|
|
2391
|
+
}
|
|
2392
|
+
|
|
2356
2393
|
/* The views have folded, so there is nothing to centre: the title takes
|
|
2357
2394
|
the room. */
|
|
2358
2395
|
.crewlet-artifact-bar__row--centred .crewlet-artifact-bar__end {
|
|
@@ -2414,7 +2451,7 @@ button.crewlet-account-row__who:focus-visible {
|
|
|
2414
2451
|
}
|
|
2415
2452
|
|
|
2416
2453
|
|
|
2417
|
-
/* ArtifactCard-
|
|
2454
|
+
/* ArtifactCard-OGTMO2KI.css */
|
|
2418
2455
|
/*
|
|
2419
2456
|
* A card in a gallery: the preview on top at a fixed ratio, so a grid of them
|
|
2420
2457
|
* lines up whatever each preview is, the kind's badge over its foot, then the
|
|
@@ -2536,7 +2573,12 @@ button.crewlet-account-row__who:focus-visible {
|
|
|
2536
2573
|
* A SOFT PANE WITH A GENEROUS CORNER. The card is the card rung with its
|
|
2537
2574
|
* hairline, rounded a step past a plain card's because the preview inside it
|
|
2538
2575
|
* is a picture, and a picture in a tight corner reads as a screenshot pasted
|
|
2539
|
-
* into a box.
|
|
2576
|
+
* into a box.
|
|
2577
|
+
*
|
|
2578
|
+
* HOVER IS A STEP, NEVER A MOVE: the hairline darkens and a hairline shadow
|
|
2579
|
+
* settles under the card, quickly and with the standard ease. A card that rose
|
|
2580
|
+
* and cast a wide shadow made a gallery ripple as the pointer crossed it, and
|
|
2581
|
+
* the preview inside it never moves.
|
|
2540
2582
|
*/
|
|
2541
2583
|
.crewlet-artifact-card--card {
|
|
2542
2584
|
position: relative;
|
|
@@ -2547,15 +2589,13 @@ button.crewlet-account-row__who:focus-visible {
|
|
|
2547
2589
|
border-radius: var(--radius-xl);
|
|
2548
2590
|
background: var(--color-surface-subtle);
|
|
2549
2591
|
transition:
|
|
2550
|
-
border-color var(--motion-duration-
|
|
2551
|
-
box-shadow var(--motion-duration-
|
|
2552
|
-
transform var(--motion-duration-base) var(--motion-easing-out);
|
|
2592
|
+
border-color var(--motion-duration-fast) var(--motion-easing-out),
|
|
2593
|
+
box-shadow var(--motion-duration-fast) var(--motion-easing-out);
|
|
2553
2594
|
}
|
|
2554
2595
|
|
|
2555
2596
|
.crewlet-artifact-card--card:hover {
|
|
2556
2597
|
border-color: var(--color-border-hover);
|
|
2557
|
-
box-shadow: var(--shadow-
|
|
2558
|
-
transform: translateY(-1px);
|
|
2598
|
+
box-shadow: var(--shadow-xs);
|
|
2559
2599
|
}
|
|
2560
2600
|
|
|
2561
2601
|
.crewlet-artifact-card--card:has(.crewlet-artifact-card__link:focus-visible) {
|
|
@@ -2595,7 +2635,7 @@ button.crewlet-account-row__who:focus-visible {
|
|
|
2595
2635
|
|
|
2596
2636
|
.crewlet-artifact-card--card .crewlet-artifact-card__body {
|
|
2597
2637
|
gap: var(--spacing-1);
|
|
2598
|
-
padding: 0 var(--spacing-
|
|
2638
|
+
padding: 0 var(--spacing-4) var(--spacing-4);
|
|
2599
2639
|
}
|
|
2600
2640
|
|
|
2601
2641
|
/*
|
|
@@ -2610,19 +2650,19 @@ button.crewlet-account-row__who:focus-visible {
|
|
|
2610
2650
|
align-items: center;
|
|
2611
2651
|
justify-content: center;
|
|
2612
2652
|
align-self: flex-start;
|
|
2613
|
-
width:
|
|
2614
|
-
height:
|
|
2615
|
-
margin-top: -
|
|
2653
|
+
width: 32px;
|
|
2654
|
+
height: 32px;
|
|
2655
|
+
margin-top: -18px;
|
|
2616
2656
|
margin-bottom: var(--spacing-2);
|
|
2617
2657
|
border: 1px solid var(--color-border-default);
|
|
2618
|
-
border-radius: var(--radius-
|
|
2658
|
+
border-radius: var(--radius-md);
|
|
2619
2659
|
background: var(--color-surface-background);
|
|
2620
2660
|
box-shadow: var(--shadow-sm);
|
|
2621
2661
|
color: var(--crewlet-kind-ink, var(--color-text-secondary));
|
|
2622
2662
|
}
|
|
2623
2663
|
|
|
2624
2664
|
.crewlet-artifact-card--card .crewlet-artifact-card__title {
|
|
2625
|
-
font-size: var(--font-size-
|
|
2665
|
+
font-size: var(--font-size-md);
|
|
2626
2666
|
font-weight: var(--font-weight-medium);
|
|
2627
2667
|
line-height: 1.35;
|
|
2628
2668
|
}
|
|
@@ -2691,10 +2731,6 @@ button.crewlet-account-row__who:focus-visible {
|
|
|
2691
2731
|
.crewlet-artifact-card__actions {
|
|
2692
2732
|
transition: none;
|
|
2693
2733
|
}
|
|
2694
|
-
|
|
2695
|
-
.crewlet-artifact-card--card:hover {
|
|
2696
|
-
transform: none;
|
|
2697
|
-
}
|
|
2698
2734
|
}
|
|
2699
2735
|
|
|
2700
2736
|
.crewlet-artifact-card--skeleton {
|
|
@@ -2776,22 +2812,16 @@ button.crewlet-account-row__who:focus-visible {
|
|
|
2776
2812
|
}
|
|
2777
2813
|
|
|
2778
2814
|
|
|
2779
|
-
/* ArtifactKindIllustration-
|
|
2815
|
+
/* ArtifactKindIllustration-5FPRJQ3P.css */
|
|
2780
2816
|
/*
|
|
2781
2817
|
* A kind's drawing, its tinted ground and the Make something new tile.
|
|
2782
2818
|
*
|
|
2783
2819
|
* Every colour is the kind's token, `--color-artifact-kind-<kind>` and its
|
|
2784
|
-
* Fill and Line steps, set once per kind on `--crewlet-kind-*`
|
|
2785
|
-
* every rule below, so the drawing, the
|
|
2786
|
-
* with the theme.
|
|
2820
|
+
* Fill and Line steps, set once per kind on `--crewlet-kind-*`
|
|
2821
|
+
* (`ArtifactKinds.css`) and read by every rule below, so the drawing, the
|
|
2822
|
+
* ground and the tile repaint together with the theme.
|
|
2787
2823
|
*/
|
|
2788
2824
|
|
|
2789
|
-
.crewlet-kind--doc { --crewlet-kind-hue: var(--color-artifact-kind-doc); --crewlet-kind-fill: var(--color-artifact-kind-doc-fill); --crewlet-kind-line: var(--color-artifact-kind-doc-line); --crewlet-kind-ink: var(--color-artifact-kind-doc-ink); }
|
|
2790
|
-
.crewlet-kind--slides { --crewlet-kind-hue: var(--color-artifact-kind-slides); --crewlet-kind-fill: var(--color-artifact-kind-slides-fill); --crewlet-kind-line: var(--color-artifact-kind-slides-line); --crewlet-kind-ink: var(--color-artifact-kind-slides-ink); }
|
|
2791
|
-
.crewlet-kind--design { --crewlet-kind-hue: var(--color-artifact-kind-design); --crewlet-kind-fill: var(--color-artifact-kind-design-fill); --crewlet-kind-line: var(--color-artifact-kind-design-line); --crewlet-kind-ink: var(--color-artifact-kind-design-ink); }
|
|
2792
|
-
.crewlet-kind--dashboard { --crewlet-kind-hue: var(--color-artifact-kind-dashboard); --crewlet-kind-fill: var(--color-artifact-kind-dashboard-fill); --crewlet-kind-line: var(--color-artifact-kind-dashboard-line); --crewlet-kind-ink: var(--color-artifact-kind-dashboard-ink); }
|
|
2793
|
-
.crewlet-kind--html { --crewlet-kind-hue: var(--color-artifact-kind-html); --crewlet-kind-fill: var(--color-artifact-kind-html-fill); --crewlet-kind-line: var(--color-artifact-kind-html-line); --crewlet-kind-ink: var(--color-artifact-kind-html-ink); }
|
|
2794
|
-
.crewlet-kind--sheet { --crewlet-kind-hue: var(--color-artifact-kind-sheet); --crewlet-kind-fill: var(--color-artifact-kind-sheet-fill); --crewlet-kind-line: var(--color-artifact-kind-sheet-line); --crewlet-kind-ink: var(--color-artifact-kind-sheet-ink); }
|
|
2795
2825
|
|
|
2796
2826
|
/* ---- the drawing ---- */
|
|
2797
2827
|
|
|
@@ -2914,9 +2944,7 @@ button.crewlet-account-row__who:focus-visible {
|
|
|
2914
2944
|
border: 1px solid var(--color-border-default);
|
|
2915
2945
|
border-radius: var(--radius-2xl);
|
|
2916
2946
|
background: var(--color-surface-subtle);
|
|
2917
|
-
transition:
|
|
2918
|
-
border-color var(--motion-duration-base) var(--motion-easing-out),
|
|
2919
|
-
box-shadow var(--motion-duration-base) var(--motion-easing-out);
|
|
2947
|
+
transition: border-color var(--motion-duration-fast) var(--motion-easing-out);
|
|
2920
2948
|
}
|
|
2921
2949
|
|
|
2922
2950
|
.crewlet-kind-tile__ground {
|
|
@@ -2925,10 +2953,6 @@ button.crewlet-account-row__who:focus-visible {
|
|
|
2925
2953
|
overflow: hidden;
|
|
2926
2954
|
}
|
|
2927
2955
|
|
|
2928
|
-
.crewlet-kind-tile__ground > .crewlet-kind-illustration {
|
|
2929
|
-
transition: transform var(--motion-duration-base) var(--motion-easing-out);
|
|
2930
|
-
}
|
|
2931
|
-
|
|
2932
2956
|
.crewlet-kind-tile__label {
|
|
2933
2957
|
display: flex;
|
|
2934
2958
|
align-items: center;
|
|
@@ -2956,12 +2980,35 @@ button.crewlet-account-row__who:focus-visible {
|
|
|
2956
2980
|
font-weight: var(--font-weight-medium);
|
|
2957
2981
|
}
|
|
2958
2982
|
|
|
2959
|
-
|
|
2960
|
-
|
|
2983
|
+
/* A tile that starts something in place is a button, drawn as the link is. */
|
|
2984
|
+
.crewlet-kind-tile--button {
|
|
2985
|
+
/* A button shrinks to its content where a link in a grid cell fills it. */
|
|
2986
|
+
width: 100%;
|
|
2987
|
+
padding: 0;
|
|
2988
|
+
border: 0;
|
|
2989
|
+
background: none;
|
|
2990
|
+
font: inherit;
|
|
2991
|
+
text-align: start;
|
|
2992
|
+
cursor: pointer;
|
|
2993
|
+
}
|
|
2994
|
+
|
|
2995
|
+
/* What the tile starts, under its name, in the quiet ink. */
|
|
2996
|
+
.crewlet-kind-tile__detail {
|
|
2997
|
+
margin-top: calc(-1 * var(--spacing-1));
|
|
2998
|
+
padding-inline: var(--spacing-1);
|
|
2999
|
+
overflow: hidden;
|
|
3000
|
+
color: var(--color-text-tertiary);
|
|
3001
|
+
font-size: var(--font-size-compact);
|
|
3002
|
+
line-height: 1.3;
|
|
3003
|
+
text-overflow: ellipsis;
|
|
3004
|
+
white-space: nowrap;
|
|
2961
3005
|
}
|
|
2962
3006
|
|
|
2963
|
-
|
|
2964
|
-
|
|
3007
|
+
/* HOVER IS THE FRAME'S STEP ALONE: the drawing inside stays still, as a
|
|
3008
|
+
card's preview does, so a row of tiles never ripples under the pointer. */
|
|
3009
|
+
a.crewlet-kind-tile:hover .crewlet-kind-tile__frame,
|
|
3010
|
+
.crewlet-kind-tile--button:hover .crewlet-kind-tile__frame {
|
|
3011
|
+
border-color: var(--color-border-hover);
|
|
2965
3012
|
}
|
|
2966
3013
|
|
|
2967
3014
|
.crewlet-kind-tile:focus-visible .crewlet-kind-tile__frame {
|
|
@@ -2979,17 +3026,30 @@ a.crewlet-kind-tile:hover .crewlet-kind-tile__ground > .crewlet-kind-illustratio
|
|
|
2979
3026
|
}
|
|
2980
3027
|
|
|
2981
3028
|
@media (prefers-reduced-motion: reduce) {
|
|
2982
|
-
.crewlet-kind-tile__frame
|
|
2983
|
-
.crewlet-kind-tile__ground > .crewlet-kind-illustration {
|
|
3029
|
+
.crewlet-kind-tile__frame {
|
|
2984
3030
|
transition: none;
|
|
2985
3031
|
}
|
|
2986
|
-
|
|
2987
|
-
a.crewlet-kind-tile:hover .crewlet-kind-tile__ground > .crewlet-kind-illustration {
|
|
2988
|
-
transform: none;
|
|
2989
|
-
}
|
|
2990
3032
|
}
|
|
2991
3033
|
|
|
2992
3034
|
|
|
3035
|
+
/* ArtifactKinds-CVD3FCYO.css */
|
|
3036
|
+
/*
|
|
3037
|
+
* A kind's colours, set once per kind on `--crewlet-kind-*` by its class
|
|
3038
|
+
* (`crewlet-kind--<kind>`): the hue, its Fill and Line steps and the ink a
|
|
3039
|
+
* glyph is drawn in. Every surface that tints by kind reads these, so a kind
|
|
3040
|
+
* glyph in a bar, a card's badge and a Make row's tile repaint together with
|
|
3041
|
+
* the theme, and no surface spells a kind's colour of its own. A sheet of
|
|
3042
|
+
* its own, imported by each surface that tints, because the glyph's module
|
|
3043
|
+
* carries no stylesheet (a frame that draws one glyph takes nothing else).
|
|
3044
|
+
*/
|
|
3045
|
+
.crewlet-kind--doc { --crewlet-kind-hue: var(--color-artifact-kind-doc); --crewlet-kind-fill: var(--color-artifact-kind-doc-fill); --crewlet-kind-line: var(--color-artifact-kind-doc-line); --crewlet-kind-ink: var(--color-artifact-kind-doc-ink); }
|
|
3046
|
+
.crewlet-kind--slides { --crewlet-kind-hue: var(--color-artifact-kind-slides); --crewlet-kind-fill: var(--color-artifact-kind-slides-fill); --crewlet-kind-line: var(--color-artifact-kind-slides-line); --crewlet-kind-ink: var(--color-artifact-kind-slides-ink); }
|
|
3047
|
+
.crewlet-kind--design { --crewlet-kind-hue: var(--color-artifact-kind-design); --crewlet-kind-fill: var(--color-artifact-kind-design-fill); --crewlet-kind-line: var(--color-artifact-kind-design-line); --crewlet-kind-ink: var(--color-artifact-kind-design-ink); }
|
|
3048
|
+
.crewlet-kind--dashboard { --crewlet-kind-hue: var(--color-artifact-kind-dashboard); --crewlet-kind-fill: var(--color-artifact-kind-dashboard-fill); --crewlet-kind-line: var(--color-artifact-kind-dashboard-line); --crewlet-kind-ink: var(--color-artifact-kind-dashboard-ink); }
|
|
3049
|
+
.crewlet-kind--html { --crewlet-kind-hue: var(--color-artifact-kind-html); --crewlet-kind-fill: var(--color-artifact-kind-html-fill); --crewlet-kind-line: var(--color-artifact-kind-html-line); --crewlet-kind-ink: var(--color-artifact-kind-html-ink); }
|
|
3050
|
+
.crewlet-kind--sheet { --crewlet-kind-hue: var(--color-artifact-kind-sheet); --crewlet-kind-fill: var(--color-artifact-kind-sheet-fill); --crewlet-kind-line: var(--color-artifact-kind-sheet-line); --crewlet-kind-ink: var(--color-artifact-kind-sheet-ink); }
|
|
3051
|
+
|
|
3052
|
+
|
|
2993
3053
|
/* ArtifactPanel-HW3SU7CP.css */
|
|
2994
3054
|
/*
|
|
2995
3055
|
* The workspace is a row: the artifact's body, then at most one panel. The
|
|
@@ -7388,13 +7448,15 @@ a.crewlet-breadcrumb__crumb:focus-visible {
|
|
|
7388
7448
|
}
|
|
7389
7449
|
|
|
7390
7450
|
|
|
7391
|
-
/* ChoiceList-
|
|
7451
|
+
/* ChoiceList-RBL7FNQL.css */
|
|
7392
7452
|
/*
|
|
7393
7453
|
* A short list of answers in one bordered box: a radio, the label with a line
|
|
7394
7454
|
* of detail under it, and a tag at the row's end. The selected row takes the
|
|
7395
7455
|
* accent's soft fill, so the answer reads at a glance without the radio.
|
|
7396
7456
|
*/
|
|
7397
7457
|
.crewlet-choice-list {
|
|
7458
|
+
/* The platform's radio, sized here so a panel can line up with the text beside it. */
|
|
7459
|
+
--crewlet-choice-list-radio-size: 13px;
|
|
7398
7460
|
display: grid;
|
|
7399
7461
|
gap: var(--spacing-1);
|
|
7400
7462
|
padding: var(--spacing-1);
|
|
@@ -7434,6 +7496,22 @@ a.crewlet-breadcrumb__crumb:focus-visible {
|
|
|
7434
7496
|
transition: background-color var(--motion-duration-fast) var(--motion-easing-default);
|
|
7435
7497
|
}
|
|
7436
7498
|
|
|
7499
|
+
/* A choice with a picture: the radio, the picture, the words, the tag. The
|
|
7500
|
+
picture centres on the label and its detail together. */
|
|
7501
|
+
.crewlet-choice-list__row.has-media {
|
|
7502
|
+
grid-template-columns: auto auto minmax(0, 1fr) auto;
|
|
7503
|
+
align-items: center;
|
|
7504
|
+
}
|
|
7505
|
+
|
|
7506
|
+
.crewlet-choice-list__row.has-media .crewlet-choice-list__radio {
|
|
7507
|
+
margin-top: 0;
|
|
7508
|
+
}
|
|
7509
|
+
|
|
7510
|
+
.crewlet-choice-list__media {
|
|
7511
|
+
display: inline-flex;
|
|
7512
|
+
flex: none;
|
|
7513
|
+
}
|
|
7514
|
+
|
|
7437
7515
|
.crewlet-choice-list__row:hover {
|
|
7438
7516
|
background: var(--color-surface-hover);
|
|
7439
7517
|
}
|
|
@@ -7447,6 +7525,8 @@ a.crewlet-breadcrumb__crumb:focus-visible {
|
|
|
7447
7525
|
}
|
|
7448
7526
|
|
|
7449
7527
|
.crewlet-choice-list__radio {
|
|
7528
|
+
width: var(--crewlet-choice-list-radio-size);
|
|
7529
|
+
height: var(--crewlet-choice-list-radio-size);
|
|
7450
7530
|
margin: 3px 0 0;
|
|
7451
7531
|
accent-color: var(--color-brand-accent);
|
|
7452
7532
|
cursor: inherit;
|
|
@@ -7486,6 +7566,25 @@ a.crewlet-breadcrumb__crumb:focus-visible {
|
|
|
7486
7566
|
white-space: nowrap;
|
|
7487
7567
|
}
|
|
7488
7568
|
|
|
7569
|
+
/* A SELECTED CHOICE'S PANEL is part of the choice: it continues the row's
|
|
7570
|
+
fill under it, and its content starts where the label does, not under the
|
|
7571
|
+
radio. */
|
|
7572
|
+
.crewlet-choice-list__item:has(> .crewlet-choice-list__panel) {
|
|
7573
|
+
gap: 0;
|
|
7574
|
+
}
|
|
7575
|
+
|
|
7576
|
+
.crewlet-choice-list__item:has(> .crewlet-choice-list__panel) > .crewlet-choice-list__row {
|
|
7577
|
+
border-end-start-radius: 0;
|
|
7578
|
+
border-end-end-radius: 0;
|
|
7579
|
+
}
|
|
7580
|
+
|
|
7581
|
+
.crewlet-choice-list__panel {
|
|
7582
|
+
padding: var(--spacing-1) var(--spacing-2) var(--spacing-3) calc(var(--spacing-2) + var(--crewlet-choice-list-radio-size) + var(--spacing-3));
|
|
7583
|
+
border-end-start-radius: var(--radius-sm);
|
|
7584
|
+
border-end-end-radius: var(--radius-sm);
|
|
7585
|
+
background: var(--color-brand-accent-soft);
|
|
7586
|
+
}
|
|
7587
|
+
|
|
7489
7588
|
.crewlet-choice-list__footer {
|
|
7490
7589
|
display: flex;
|
|
7491
7590
|
justify-content: flex-end;
|
|
@@ -13131,6 +13230,89 @@ svg.crewlet-datetime__chevron {
|
|
|
13131
13230
|
}
|
|
13132
13231
|
|
|
13133
13232
|
|
|
13233
|
+
/* FileDrop-WE7BNZGV.css */
|
|
13234
|
+
/*
|
|
13235
|
+
* Where files are dropped. A target of its own is a dashed, quiet area with a
|
|
13236
|
+
* heading, a hint and the pickers; a region wrapping content draws nothing
|
|
13237
|
+
* until files are held over it, then an accent overlay saying what dropping
|
|
13238
|
+
* does. The overlay takes no pointer, so the drop lands on the region.
|
|
13239
|
+
*/
|
|
13240
|
+
.crewlet-file-drop {
|
|
13241
|
+
position: relative;
|
|
13242
|
+
min-width: 0;
|
|
13243
|
+
}
|
|
13244
|
+
|
|
13245
|
+
.crewlet-file-drop.is-target {
|
|
13246
|
+
display: grid;
|
|
13247
|
+
justify-items: center;
|
|
13248
|
+
gap: var(--spacing-1);
|
|
13249
|
+
padding: var(--spacing-6) var(--spacing-4);
|
|
13250
|
+
border: 1px dashed var(--color-border-strong);
|
|
13251
|
+
border-radius: var(--radius-md);
|
|
13252
|
+
background: var(--color-surface-subtle);
|
|
13253
|
+
text-align: center;
|
|
13254
|
+
transition:
|
|
13255
|
+
border-color var(--motion-duration-fast) var(--motion-easing-default),
|
|
13256
|
+
background-color var(--motion-duration-fast) var(--motion-easing-default);
|
|
13257
|
+
}
|
|
13258
|
+
|
|
13259
|
+
.crewlet-file-drop.is-target.is-over {
|
|
13260
|
+
border-color: var(--color-brand-accent);
|
|
13261
|
+
background: var(--color-brand-accent-soft);
|
|
13262
|
+
}
|
|
13263
|
+
|
|
13264
|
+
.crewlet-file-drop.is-disabled {
|
|
13265
|
+
opacity: 0.6;
|
|
13266
|
+
}
|
|
13267
|
+
|
|
13268
|
+
.crewlet-file-drop__title {
|
|
13269
|
+
font-size: var(--font-size-sm);
|
|
13270
|
+
font-weight: var(--font-weight-medium);
|
|
13271
|
+
color: var(--color-text-primary);
|
|
13272
|
+
}
|
|
13273
|
+
|
|
13274
|
+
.crewlet-file-drop__hint {
|
|
13275
|
+
font-size: var(--font-size-xs);
|
|
13276
|
+
color: var(--color-text-tertiary);
|
|
13277
|
+
}
|
|
13278
|
+
|
|
13279
|
+
.crewlet-file-drop__actions {
|
|
13280
|
+
display: flex;
|
|
13281
|
+
flex-wrap: wrap;
|
|
13282
|
+
justify-content: center;
|
|
13283
|
+
gap: var(--spacing-2);
|
|
13284
|
+
margin-top: var(--spacing-2);
|
|
13285
|
+
}
|
|
13286
|
+
|
|
13287
|
+
.crewlet-file-drop__overlay {
|
|
13288
|
+
position: absolute;
|
|
13289
|
+
inset: 0;
|
|
13290
|
+
z-index: 1;
|
|
13291
|
+
display: grid;
|
|
13292
|
+
place-content: center;
|
|
13293
|
+
justify-items: center;
|
|
13294
|
+
gap: var(--spacing-1);
|
|
13295
|
+
border: 1px dashed var(--color-brand-accent);
|
|
13296
|
+
border-radius: var(--radius-md);
|
|
13297
|
+
/* Floats over the region's content, so it takes the frosted ground. */
|
|
13298
|
+
background: var(--color-surface-glass);
|
|
13299
|
+
backdrop-filter: blur(var(--blur-sm));
|
|
13300
|
+
pointer-events: none;
|
|
13301
|
+
text-align: center;
|
|
13302
|
+
}
|
|
13303
|
+
|
|
13304
|
+
/* The input the picker opens is never drawn or reached: the button is. */
|
|
13305
|
+
.crewlet-file-drop__input {
|
|
13306
|
+
display: none;
|
|
13307
|
+
}
|
|
13308
|
+
|
|
13309
|
+
@media (prefers-reduced-motion: reduce) {
|
|
13310
|
+
.crewlet-file-drop.is-target {
|
|
13311
|
+
transition: none;
|
|
13312
|
+
}
|
|
13313
|
+
}
|
|
13314
|
+
|
|
13315
|
+
|
|
13134
13316
|
/* FilterChip-EZ4QMW4E.css */
|
|
13135
13317
|
/*
|
|
13136
13318
|
* The filter chip: neutral until it is on, and then the accent.
|
|
@@ -13244,6 +13426,80 @@ svg.crewlet-datetime__chevron {
|
|
|
13244
13426
|
}
|
|
13245
13427
|
|
|
13246
13428
|
|
|
13429
|
+
/* FindingList-PMYA2R6Q.css */
|
|
13430
|
+
/*
|
|
13431
|
+
* What a checker found: a quiet list, one row each, the tone's glyph in its
|
|
13432
|
+
* ink, the location in mono over the sentence. A row that goes somewhere takes
|
|
13433
|
+
* the hover ground and the focus ring as a whole.
|
|
13434
|
+
*/
|
|
13435
|
+
.crewlet-finding-list {
|
|
13436
|
+
display: grid;
|
|
13437
|
+
margin: 0;
|
|
13438
|
+
padding: 0;
|
|
13439
|
+
list-style: none;
|
|
13440
|
+
}
|
|
13441
|
+
|
|
13442
|
+
.crewlet-finding-list__row {
|
|
13443
|
+
display: grid;
|
|
13444
|
+
grid-template-columns: auto minmax(0, 1fr);
|
|
13445
|
+
gap: var(--spacing-2);
|
|
13446
|
+
align-items: start;
|
|
13447
|
+
width: 100%;
|
|
13448
|
+
padding: var(--spacing-2);
|
|
13449
|
+
border: 0;
|
|
13450
|
+
border-radius: var(--radius-sm);
|
|
13451
|
+
background: transparent;
|
|
13452
|
+
color: var(--color-text-primary);
|
|
13453
|
+
font: inherit;
|
|
13454
|
+
text-align: start;
|
|
13455
|
+
}
|
|
13456
|
+
|
|
13457
|
+
button.crewlet-finding-list__row {
|
|
13458
|
+
cursor: pointer;
|
|
13459
|
+
}
|
|
13460
|
+
|
|
13461
|
+
button.crewlet-finding-list__row:hover {
|
|
13462
|
+
background: var(--color-surface-hover);
|
|
13463
|
+
}
|
|
13464
|
+
|
|
13465
|
+
button.crewlet-finding-list__row:focus-visible {
|
|
13466
|
+
outline: 2px solid var(--color-focus);
|
|
13467
|
+
outline-offset: -2px;
|
|
13468
|
+
}
|
|
13469
|
+
|
|
13470
|
+
.crewlet-finding-list__glyph {
|
|
13471
|
+
display: inline-flex;
|
|
13472
|
+
padding-top: 2px;
|
|
13473
|
+
}
|
|
13474
|
+
|
|
13475
|
+
.crewlet-finding-list__glyph.is-danger {
|
|
13476
|
+
color: var(--color-feedback-danger-ink);
|
|
13477
|
+
}
|
|
13478
|
+
|
|
13479
|
+
.crewlet-finding-list__glyph.is-warning {
|
|
13480
|
+
color: var(--color-feedback-warning-ink);
|
|
13481
|
+
}
|
|
13482
|
+
|
|
13483
|
+
.crewlet-finding-list__text {
|
|
13484
|
+
display: grid;
|
|
13485
|
+
gap: 2px;
|
|
13486
|
+
min-width: 0;
|
|
13487
|
+
}
|
|
13488
|
+
|
|
13489
|
+
.crewlet-finding-list__location {
|
|
13490
|
+
font-family: var(--font-family-mono);
|
|
13491
|
+
font-size: var(--font-size-2xs);
|
|
13492
|
+
color: var(--color-text-tertiary);
|
|
13493
|
+
overflow-wrap: anywhere;
|
|
13494
|
+
}
|
|
13495
|
+
|
|
13496
|
+
.crewlet-finding-list__message {
|
|
13497
|
+
font-size: var(--font-size-sm);
|
|
13498
|
+
line-height: var(--font-line-height-normal);
|
|
13499
|
+
overflow-wrap: anywhere;
|
|
13500
|
+
}
|
|
13501
|
+
|
|
13502
|
+
|
|
13247
13503
|
/* Highlight-DXLV2R6L.css */
|
|
13248
13504
|
/*
|
|
13249
13505
|
* Words a search matched (Highlight.tsx).
|
|
@@ -21730,7 +21986,83 @@ svg.crewlet-select__chevron {
|
|
|
21730
21986
|
}
|
|
21731
21987
|
|
|
21732
21988
|
|
|
21733
|
-
/*
|
|
21989
|
+
/* SheetColumnEditor-BO2HKFRB.css */
|
|
21990
|
+
/*
|
|
21991
|
+
* A sheet column's settings (SheetColumnEditor.tsx): a column of fields at
|
|
21992
|
+
* the compact step, the choices as rows of a swatch, a name and a remove
|
|
21993
|
+
* control, and a foot with the column's own actions at the start and Done at
|
|
21994
|
+
* the end. It sits in a popover, so it sets no surface of its own.
|
|
21995
|
+
*/
|
|
21996
|
+
|
|
21997
|
+
.crewlet-sheet-column-editor {
|
|
21998
|
+
display: flex;
|
|
21999
|
+
flex-direction: column;
|
|
22000
|
+
gap: var(--spacing-3);
|
|
22001
|
+
width: 100%;
|
|
22002
|
+
min-width: 0;
|
|
22003
|
+
}
|
|
22004
|
+
|
|
22005
|
+
/* The suggestion: a quiet line naming the type, and the press that takes it. */
|
|
22006
|
+
.crewlet-sheet-column-editor__suggestion {
|
|
22007
|
+
display: flex;
|
|
22008
|
+
align-items: center;
|
|
22009
|
+
justify-content: space-between;
|
|
22010
|
+
gap: var(--spacing-2);
|
|
22011
|
+
margin-top: calc(var(--spacing-2) * -1);
|
|
22012
|
+
color: var(--color-text-secondary);
|
|
22013
|
+
font-size: var(--font-size-xs);
|
|
22014
|
+
}
|
|
22015
|
+
|
|
22016
|
+
.crewlet-sheet-column-editor__suggestion-text {
|
|
22017
|
+
display: inline-flex;
|
|
22018
|
+
align-items: center;
|
|
22019
|
+
gap: var(--spacing-1);
|
|
22020
|
+
min-width: 0;
|
|
22021
|
+
}
|
|
22022
|
+
|
|
22023
|
+
.crewlet-sheet-column-editor__choices {
|
|
22024
|
+
display: flex;
|
|
22025
|
+
flex-direction: column;
|
|
22026
|
+
gap: var(--spacing-1);
|
|
22027
|
+
margin: 0 0 var(--spacing-1);
|
|
22028
|
+
padding: 0;
|
|
22029
|
+
list-style: none;
|
|
22030
|
+
}
|
|
22031
|
+
|
|
22032
|
+
.crewlet-sheet-column-editor__choices:empty {
|
|
22033
|
+
display: none;
|
|
22034
|
+
}
|
|
22035
|
+
|
|
22036
|
+
.crewlet-sheet-column-editor__choice {
|
|
22037
|
+
display: flex;
|
|
22038
|
+
align-items: center;
|
|
22039
|
+
gap: var(--spacing-1);
|
|
22040
|
+
min-width: 0;
|
|
22041
|
+
}
|
|
22042
|
+
|
|
22043
|
+
.crewlet-sheet-column-editor__choice > .crewlet-input {
|
|
22044
|
+
flex: 1 1 auto;
|
|
22045
|
+
min-width: 0;
|
|
22046
|
+
}
|
|
22047
|
+
|
|
22048
|
+
/* The foot: a hairline above it, the column's own actions, then Done. */
|
|
22049
|
+
.crewlet-sheet-column-editor__foot {
|
|
22050
|
+
display: flex;
|
|
22051
|
+
align-items: center;
|
|
22052
|
+
justify-content: space-between;
|
|
22053
|
+
gap: var(--spacing-2);
|
|
22054
|
+
padding-top: var(--spacing-3);
|
|
22055
|
+
border-top: 1px solid var(--color-border-default);
|
|
22056
|
+
}
|
|
22057
|
+
|
|
22058
|
+
.crewlet-sheet-column-editor__foot-start {
|
|
22059
|
+
display: flex;
|
|
22060
|
+
align-items: center;
|
|
22061
|
+
gap: var(--spacing-1);
|
|
22062
|
+
}
|
|
22063
|
+
|
|
22064
|
+
|
|
22065
|
+
/* SheetGrid-YRDXTIIZ.css */
|
|
21734
22066
|
/*
|
|
21735
22067
|
* The editable sheet (SheetGrid.tsx) and its cells (cells.tsx).
|
|
21736
22068
|
*
|
|
@@ -22159,6 +22491,54 @@ svg.crewlet-select__chevron {
|
|
|
22159
22491
|
font-size: var(--font-size-xs);
|
|
22160
22492
|
}
|
|
22161
22493
|
|
|
22494
|
+
/* A HEADER THAT OPENS ITS COLUMN'S SETTINGS reads as pressable: the pointer,
|
|
22495
|
+
and the hover tint the open header keeps while its popover is up. */
|
|
22496
|
+
.crewlet-sheet-grid__header--settings {
|
|
22497
|
+
cursor: pointer;
|
|
22498
|
+
}
|
|
22499
|
+
|
|
22500
|
+
.crewlet-sheet-grid__header--settings:hover,
|
|
22501
|
+
.crewlet-sheet-grid__header--open {
|
|
22502
|
+
background: var(--color-surface-hover);
|
|
22503
|
+
color: var(--color-text-primary);
|
|
22504
|
+
}
|
|
22505
|
+
|
|
22506
|
+
/* A COLUMN'S SETTINGS: the popover holds a short form, so it is padded as a
|
|
22507
|
+
panel and given the room a list of choices needs before it scrolls. */
|
|
22508
|
+
.crewlet-popover.crewlet-sheet-grid__column-settings {
|
|
22509
|
+
width: 300px;
|
|
22510
|
+
max-height: min(560px, 80vh);
|
|
22511
|
+
padding: var(--spacing-3);
|
|
22512
|
+
}
|
|
22513
|
+
|
|
22514
|
+
/* ADD COLUMN stands beside the header row, outside the grid's roles: the
|
|
22515
|
+
scroller lays the grid and the control side by side, the grid's last track
|
|
22516
|
+
still takes the slack up to the control, and the control sticks to the top
|
|
22517
|
+
with the header while the rows scroll under it. */
|
|
22518
|
+
.crewlet-sheet-grid__scroller--add-column {
|
|
22519
|
+
--crewlet-sheet-add-column-width: var(--size-target-min);
|
|
22520
|
+
display: flex;
|
|
22521
|
+
align-items: flex-start;
|
|
22522
|
+
}
|
|
22523
|
+
|
|
22524
|
+
.crewlet-sheet-grid__scroller--add-column > .crewlet-sheet-grid__grid {
|
|
22525
|
+
flex: 0 0 auto;
|
|
22526
|
+
min-width: calc(100% - var(--crewlet-sheet-add-column-width));
|
|
22527
|
+
}
|
|
22528
|
+
|
|
22529
|
+
.crewlet-sheet-grid__add-column {
|
|
22530
|
+
position: sticky;
|
|
22531
|
+
top: 0;
|
|
22532
|
+
z-index: var(--z-index-sticky);
|
|
22533
|
+
display: flex;
|
|
22534
|
+
flex: 0 0 var(--crewlet-sheet-add-column-width);
|
|
22535
|
+
align-items: center;
|
|
22536
|
+
justify-content: center;
|
|
22537
|
+
box-sizing: border-box;
|
|
22538
|
+
border-bottom: 1px solid var(--color-border-default);
|
|
22539
|
+
background: var(--color-surface-subtle);
|
|
22540
|
+
}
|
|
22541
|
+
|
|
22162
22542
|
.crewlet-sheet-grid__sync {
|
|
22163
22543
|
display: inline-flex;
|
|
22164
22544
|
align-items: center;
|
|
@@ -23490,7 +23870,7 @@ svg.crewlet-select__chevron {
|
|
|
23490
23870
|
}
|
|
23491
23871
|
|
|
23492
23872
|
|
|
23493
|
-
/* SlideFilmstrip-
|
|
23873
|
+
/* SlideFilmstrip-4ITZLMO4.css */
|
|
23494
23874
|
/*
|
|
23495
23875
|
* SlideFilmstrip: the column of slide thumbnails beside a deck's stage, or
|
|
23496
23876
|
* the row under it on a phone.
|
|
@@ -23661,6 +24041,55 @@ svg.crewlet-select__chevron {
|
|
|
23661
24041
|
box-shadow: var(--spacing-1) 0 0 var(--color-brand-accent);
|
|
23662
24042
|
}
|
|
23663
24043
|
|
|
24044
|
+
/* A SLIDE'S CONTROLS, beside its thumbnail: the handle over the actions menu,
|
|
24045
|
+
one column, so a thumbnail keeps the strip's full width beside them. The
|
|
24046
|
+
menu's trigger shows on the selected slide and under the pointer or focus,
|
|
24047
|
+
so a strip of twelve slides is not twelve rows of ellipses. */
|
|
24048
|
+
.crewlet-slide-filmstrip__controls {
|
|
24049
|
+
display: flex;
|
|
24050
|
+
flex-direction: column;
|
|
24051
|
+
align-items: center;
|
|
24052
|
+
gap: var(--spacing-0);
|
|
24053
|
+
}
|
|
24054
|
+
|
|
24055
|
+
.crewlet-slide-filmstrip__controls .crewlet-menu-anchor {
|
|
24056
|
+
opacity: 0;
|
|
24057
|
+
}
|
|
24058
|
+
|
|
24059
|
+
.crewlet-slide-filmstrip__item[data-selected='true'] .crewlet-menu-anchor,
|
|
24060
|
+
.crewlet-slide-filmstrip__item:hover .crewlet-menu-anchor,
|
|
24061
|
+
.crewlet-slide-filmstrip__controls .crewlet-menu-anchor:focus-within,
|
|
24062
|
+
.crewlet-slide-filmstrip__controls .crewlet-menu-anchor:has([aria-expanded='true']) {
|
|
24063
|
+
opacity: 1;
|
|
24064
|
+
}
|
|
24065
|
+
|
|
24066
|
+
@media (hover: none) {
|
|
24067
|
+
.crewlet-slide-filmstrip__controls .crewlet-menu-anchor {
|
|
24068
|
+
opacity: 1;
|
|
24069
|
+
}
|
|
24070
|
+
}
|
|
24071
|
+
|
|
24072
|
+
/* What follows the slides (a New slide control), aligned with the thumbnails
|
|
24073
|
+
rather than with the numbers beside them. */
|
|
24074
|
+
.crewlet-slide-filmstrip__footer {
|
|
24075
|
+
padding: var(--spacing-1) var(--spacing-1) var(--spacing-2) calc(var(--spacing-5) + var(--spacing-2));
|
|
24076
|
+
}
|
|
24077
|
+
|
|
24078
|
+
.crewlet-slide-filmstrip--horizontal {
|
|
24079
|
+
display: flex;
|
|
24080
|
+
align-items: flex-start;
|
|
24081
|
+
}
|
|
24082
|
+
|
|
24083
|
+
.crewlet-slide-filmstrip--horizontal .crewlet-slide-filmstrip__controls {
|
|
24084
|
+
grid-area: handle;
|
|
24085
|
+
flex-direction: row;
|
|
24086
|
+
}
|
|
24087
|
+
|
|
24088
|
+
.crewlet-slide-filmstrip--horizontal .crewlet-slide-filmstrip__footer {
|
|
24089
|
+
flex: none;
|
|
24090
|
+
padding: var(--spacing-1) var(--spacing-2);
|
|
24091
|
+
}
|
|
24092
|
+
|
|
23664
24093
|
|
|
23665
24094
|
/* SlideGrid-S4LTJ4UU.css */
|
|
23666
24095
|
/*
|
|
@@ -23881,6 +24310,169 @@ svg.crewlet-select__chevron {
|
|
|
23881
24310
|
}
|
|
23882
24311
|
|
|
23883
24312
|
|
|
24313
|
+
/* SourceEditor-G2C3STPX.css */
|
|
24314
|
+
/*
|
|
24315
|
+
* Source text written in place: a gutter of line numbers beside a real
|
|
24316
|
+
* textarea, and the marks a checker placed drawn behind the text. The gutter,
|
|
24317
|
+
* the marks and the field share one font, one line height and one top inset,
|
|
24318
|
+
* so a number and a mark always sit on the line they name; the layers follow
|
|
24319
|
+
* the field's scroll by a transform.
|
|
24320
|
+
*
|
|
24321
|
+
* The BOX takes the focus ring, as the Composer's does.
|
|
24322
|
+
*/
|
|
24323
|
+
.crewlet-source-editor {
|
|
24324
|
+
--crewlet-source-inset: var(--spacing-2);
|
|
24325
|
+
|
|
24326
|
+
position: relative;
|
|
24327
|
+
display: grid;
|
|
24328
|
+
grid-template-columns: auto minmax(0, 1fr);
|
|
24329
|
+
min-width: 0;
|
|
24330
|
+
overflow: hidden;
|
|
24331
|
+
border: 1px solid var(--color-border-strong);
|
|
24332
|
+
border-radius: var(--radius-md);
|
|
24333
|
+
background: var(--color-surface-background);
|
|
24334
|
+
font-family: var(--font-family-mono);
|
|
24335
|
+
font-size: var(--font-size-xs);
|
|
24336
|
+
line-height: var(--font-line-height-normal);
|
|
24337
|
+
transition:
|
|
24338
|
+
border-color var(--motion-duration-fast) var(--motion-easing-default),
|
|
24339
|
+
box-shadow var(--motion-duration-fast) var(--motion-easing-default);
|
|
24340
|
+
}
|
|
24341
|
+
|
|
24342
|
+
.crewlet-source-editor:hover {
|
|
24343
|
+
border-color: var(--color-border-strong-hover);
|
|
24344
|
+
}
|
|
24345
|
+
|
|
24346
|
+
.crewlet-source-editor:focus-within {
|
|
24347
|
+
border-color: var(--color-brand-accent);
|
|
24348
|
+
box-shadow: 0 0 0 2px var(--color-brand-accent-soft);
|
|
24349
|
+
}
|
|
24350
|
+
|
|
24351
|
+
.crewlet-source-editor.is-fill {
|
|
24352
|
+
height: 100%;
|
|
24353
|
+
}
|
|
24354
|
+
|
|
24355
|
+
.crewlet-source-editor__gutter {
|
|
24356
|
+
position: relative;
|
|
24357
|
+
overflow: hidden;
|
|
24358
|
+
border-right: 1px solid var(--color-border-default);
|
|
24359
|
+
background: var(--color-surface-subtle);
|
|
24360
|
+
user-select: none;
|
|
24361
|
+
}
|
|
24362
|
+
|
|
24363
|
+
.crewlet-source-editor__numbers {
|
|
24364
|
+
display: grid;
|
|
24365
|
+
padding: var(--crewlet-source-inset) 0;
|
|
24366
|
+
will-change: transform;
|
|
24367
|
+
}
|
|
24368
|
+
|
|
24369
|
+
.crewlet-source-editor__number {
|
|
24370
|
+
/* Wide enough for the longest number, so the text never shifts as lines are added. */
|
|
24371
|
+
min-width: calc(var(--crewlet-source-digits, 2) * 1ch + var(--spacing-2) * 2);
|
|
24372
|
+
padding: 0 var(--spacing-2);
|
|
24373
|
+
text-align: right;
|
|
24374
|
+
font-variant-numeric: tabular-nums;
|
|
24375
|
+
color: var(--color-text-tertiary);
|
|
24376
|
+
}
|
|
24377
|
+
|
|
24378
|
+
.crewlet-source-editor__number.is-danger {
|
|
24379
|
+
color: var(--color-feedback-danger-ink);
|
|
24380
|
+
font-weight: var(--font-weight-semibold);
|
|
24381
|
+
box-shadow: inset 2px 0 0 var(--color-feedback-danger-ink);
|
|
24382
|
+
}
|
|
24383
|
+
|
|
24384
|
+
.crewlet-source-editor__number.is-warning {
|
|
24385
|
+
color: var(--color-feedback-warning-ink);
|
|
24386
|
+
font-weight: var(--font-weight-semibold);
|
|
24387
|
+
box-shadow: inset 2px 0 0 var(--color-feedback-warning-ink);
|
|
24388
|
+
}
|
|
24389
|
+
|
|
24390
|
+
.crewlet-source-editor__body {
|
|
24391
|
+
position: relative;
|
|
24392
|
+
display: grid;
|
|
24393
|
+
min-width: 0;
|
|
24394
|
+
}
|
|
24395
|
+
|
|
24396
|
+
.crewlet-source-editor__marks {
|
|
24397
|
+
position: absolute;
|
|
24398
|
+
inset: 0;
|
|
24399
|
+
overflow: hidden;
|
|
24400
|
+
pointer-events: none;
|
|
24401
|
+
}
|
|
24402
|
+
|
|
24403
|
+
.crewlet-source-editor__marks > div {
|
|
24404
|
+
position: relative;
|
|
24405
|
+
will-change: transform;
|
|
24406
|
+
}
|
|
24407
|
+
|
|
24408
|
+
.crewlet-source-editor__mark {
|
|
24409
|
+
position: absolute;
|
|
24410
|
+
top: calc(var(--crewlet-source-inset) + var(--crewlet-source-line) * 1lh);
|
|
24411
|
+
left: 0;
|
|
24412
|
+
right: 0;
|
|
24413
|
+
height: 1lh;
|
|
24414
|
+
}
|
|
24415
|
+
|
|
24416
|
+
.crewlet-source-editor__mark.is-danger {
|
|
24417
|
+
background: var(--color-feedback-danger-soft);
|
|
24418
|
+
}
|
|
24419
|
+
|
|
24420
|
+
.crewlet-source-editor__mark.is-warning {
|
|
24421
|
+
background: var(--color-feedback-warning-soft);
|
|
24422
|
+
}
|
|
24423
|
+
|
|
24424
|
+
.crewlet-source-editor .crewlet-source-editor__field {
|
|
24425
|
+
position: relative;
|
|
24426
|
+
display: block;
|
|
24427
|
+
width: 100%;
|
|
24428
|
+
min-height: 0;
|
|
24429
|
+
margin: 0;
|
|
24430
|
+
padding: var(--crewlet-source-inset) var(--spacing-3);
|
|
24431
|
+
border: 0;
|
|
24432
|
+
border-radius: 0;
|
|
24433
|
+
background: transparent;
|
|
24434
|
+
color: var(--color-text-primary);
|
|
24435
|
+
font: inherit;
|
|
24436
|
+
white-space: pre;
|
|
24437
|
+
overflow: auto;
|
|
24438
|
+
resize: none;
|
|
24439
|
+
tab-size: 2;
|
|
24440
|
+
caret-color: var(--color-brand-accent);
|
|
24441
|
+
}
|
|
24442
|
+
|
|
24443
|
+
.crewlet-source-editor.is-fill .crewlet-source-editor__field {
|
|
24444
|
+
height: 100%;
|
|
24445
|
+
}
|
|
24446
|
+
|
|
24447
|
+
.crewlet-source-editor .crewlet-source-editor__field::placeholder {
|
|
24448
|
+
color: var(--color-text-tertiary);
|
|
24449
|
+
}
|
|
24450
|
+
|
|
24451
|
+
/* The ring is the box's, above. A transparent outline stays, because forced
|
|
24452
|
+
colors drops the box's shadow and paints an outline in its place. */
|
|
24453
|
+
.crewlet-source-editor .crewlet-source-editor__field:focus-visible {
|
|
24454
|
+
outline: 2px solid transparent;
|
|
24455
|
+
outline-offset: -2px;
|
|
24456
|
+
}
|
|
24457
|
+
|
|
24458
|
+
.crewlet-source-editor .crewlet-source-editor__field[readonly] {
|
|
24459
|
+
color: var(--color-text-secondary);
|
|
24460
|
+
}
|
|
24461
|
+
|
|
24462
|
+
@media (forced-colors: active) {
|
|
24463
|
+
.crewlet-source-editor__mark {
|
|
24464
|
+
background: Highlight;
|
|
24465
|
+
opacity: 0.25;
|
|
24466
|
+
}
|
|
24467
|
+
}
|
|
24468
|
+
|
|
24469
|
+
@media (prefers-reduced-motion: reduce) {
|
|
24470
|
+
.crewlet-source-editor {
|
|
24471
|
+
transition: none;
|
|
24472
|
+
}
|
|
24473
|
+
}
|
|
24474
|
+
|
|
24475
|
+
|
|
23884
24476
|
/* StatCard-4T7TMWMN.css */
|
|
23885
24477
|
/*
|
|
23886
24478
|
* The stat tile.
|
|
@@ -26731,7 +27323,7 @@ b.crewlet-switcher__match {
|
|
|
26731
27323
|
}
|
|
26732
27324
|
|
|
26733
27325
|
|
|
26734
|
-
/* ThemeGallery-
|
|
27326
|
+
/* ThemeGallery-HSUKBDWY.css */
|
|
26735
27327
|
/*
|
|
26736
27328
|
* The gallery of themes: each group's heading over a grid of cards.
|
|
26737
27329
|
*
|
|
@@ -26826,6 +27418,15 @@ b.crewlet-switcher__match {
|
|
|
26826
27418
|
}
|
|
26827
27419
|
}
|
|
26828
27420
|
|
|
27421
|
+
/* A THUMBNAIL THE CALLER DRAWS (`renderPreview`) fills the card's width, as
|
|
27422
|
+
the swatch does, and is clipped to the card's inner corner. */
|
|
27423
|
+
.crewlet-theme-gallery__preview {
|
|
27424
|
+
display: block;
|
|
27425
|
+
overflow: hidden;
|
|
27426
|
+
border-radius: var(--radius-sm);
|
|
27427
|
+
pointer-events: none;
|
|
27428
|
+
}
|
|
27429
|
+
|
|
26829
27430
|
|
|
26830
27431
|
/* ThemeSwatch-4DL457ZB.css */
|
|
26831
27432
|
/*
|