@crewlethq/ui 0.83.0 → 0.84.1
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 +38 -0
- package/dist/ActionCard/ActionCard.d.ts +7 -7
- package/dist/ActionCard/index.js +1 -1
- package/dist/ActionCard-YZKL3CKR.css +130 -0
- package/dist/AppShell/AppShell.d.ts +14 -11
- package/dist/AppShell/index.js +1 -1
- package/dist/{AppShell-U7D2MUUF.css → AppShell-NX5HCD4O.css} +84 -44
- package/dist/ArtifactBar/index.js +1 -1
- package/dist/ArtifactCard/index.js +3 -3
- package/dist/ArtifactKindIllustration/index.js +1 -1
- package/dist/{ArtifactKinds-3EH4KR3F.css → ArtifactKinds-27TE3KJL.css} +7 -7
- package/dist/ArtifactMakeRow/index.js +1 -1
- package/dist/ArtifactNameCell/index.js +1 -1
- package/dist/Avatar/index.js +1 -1
- package/dist/{Avatar-MNE3WBZO.css → Avatar-CRSLRUVT.css} +11 -10
- package/dist/BriefCard/index.js +2 -1
- package/dist/CatalogTile/CatalogTile.d.ts +23 -5
- package/dist/CatalogTile/index.d.ts +1 -1
- package/dist/CatalogTile/index.js +2 -1
- package/dist/{CatalogTile-6VF36JWA.css → CatalogTile-TMOSGSV3.css} +4 -3
- package/dist/CommentThread/index.js +1 -1
- package/dist/CompactNav/CompactNav.d.ts +10 -6
- package/dist/CompactNav/index.js +1 -1
- package/dist/DeepWorkCard/index.js +2 -2
- package/dist/DirectoryList/index.js +1 -1
- package/dist/{DirectoryList-XZOWYOA3.css → DirectoryList-IXQIMNFS.css} +8 -1
- package/dist/EntityChip/index.js +1 -1
- package/dist/ImageUpload/index.js +1 -1
- package/dist/InboxList/InboxList.d.ts +28 -2
- package/dist/InboxList/index.d.ts +1 -1
- package/dist/InboxList/index.js +6 -1
- package/dist/{InboxList-OFGSX5IH.css → InboxList-X5Q5WWAI.css} +63 -2
- package/dist/ListDetail/ListDetail.d.ts +6 -0
- package/dist/ListDetail/index.js +1 -1
- package/dist/{ListDetail-N3L7PB46.css → ListDetail-JGESKTR7.css} +38 -0
- package/dist/OrgLabel/index.js +1 -1
- package/dist/OrgNode/index.js +1 -1
- package/dist/OrgTable/index.js +1 -1
- package/dist/PeopleRail/index.js +1 -1
- package/dist/PresenceStack/index.js +1 -1
- package/dist/Principal/index.js +1 -1
- package/dist/PrincipalPicker/index.js +1 -1
- package/dist/ReadingPane/ReadingPane.d.ts +17 -1
- package/dist/ReadingPane/index.d.ts +1 -1
- package/dist/ReadingPane/index.js +2 -1
- package/dist/{ReadingPane-VLYOWMCM.css → ReadingPane-VFTRDPC5.css} +19 -0
- package/dist/SectionFrame/index.js +2 -2
- package/dist/ShareDialog/index.js +1 -1
- package/dist/SheetGrid/index.js +1 -1
- package/dist/SidebarNav/SidebarNav.d.ts +18 -2
- package/dist/SidebarNav/index.d.ts +1 -1
- package/dist/SidebarNav/index.js +1 -1
- package/dist/{SidebarNav-E7PZGGA6.css → SidebarNav-IKBKGXW4.css} +20 -0
- package/dist/TableCells/index.js +1 -1
- package/dist/ThreadSummary/index.js +2 -2
- package/dist/VersionTimeline/index.js +1 -1
- package/dist/{chunk-Q7N2ATMC.js → chunk-64JNKLLP.js} +57 -9
- package/dist/chunk-6C7GQOBV.js +10 -0
- package/dist/{chunk-YRNNUCQP.js → chunk-7BDBO2NP.js} +1 -1
- package/dist/{chunk-QM3432PH.js → chunk-7IWZN5Q2.js} +3 -3
- package/dist/{chunk-25JQNHTC.js → chunk-BRK3HXGZ.js} +8 -2
- package/dist/{chunk-QE4OIE3Q.js → chunk-DJIWCW5Z.js} +6 -4
- package/dist/{chunk-QPHD4UUG.js → chunk-F6ZUM66S.js} +160 -25
- package/dist/{chunk-MVMVMHYI.js → chunk-HDEKHP65.js} +1 -1
- package/dist/{chunk-BXGBGYKH.js → chunk-HKUZ2GYX.js} +1 -1
- package/dist/{chunk-ZB3E2Z4Y.js → chunk-J5T5TDM2.js} +1 -1
- package/dist/{chunk-C46DDVTK.js → chunk-LTD7KLOU.js} +1 -1
- package/dist/{chunk-YBC2CYPD.js → chunk-O4VTQMEF.js} +1 -1
- package/dist/{chunk-HTBTAIH6.js → chunk-OM2LABPS.js} +2 -2
- package/dist/{chunk-PGBKZSSQ.js → chunk-ORONAXSF.js} +10 -7
- package/dist/{chunk-YP2FS6SH.js → chunk-QPYGJ7R7.js} +1 -1
- package/dist/{chunk-ICE3D63E.js → chunk-QWRAWKB2.js} +50 -9
- package/dist/{chunk-SRDNGGZE.js → chunk-RKIJAXQA.js} +1 -1
- package/dist/{chunk-CF4M6N6A.js → chunk-XYSSFI5C.js} +1 -7
- package/dist/{chunk-IRONPJB4.js → chunk-YTLWOHOY.js} +1 -1
- package/dist/generated/index.js +33 -32
- package/dist/index.js +33 -32
- package/dist/styles.css +306 -99
- package/dist/utils/developing.d.ts +10 -0
- package/package.json +3 -3
- package/dist/ActionCard-47WSZ2O5.css +0 -110
- package/dist/{chunk-CV2LU2T2.js → chunk-IYI6HWKN.js} +1 -1
package/dist/styles.css
CHANGED
|
@@ -109,13 +109,15 @@
|
|
|
109
109
|
}
|
|
110
110
|
|
|
111
111
|
|
|
112
|
-
/* ActionCard-
|
|
112
|
+
/* ActionCard-YZKL3CKR.css */
|
|
113
113
|
/*
|
|
114
|
-
* ActionCard: a first step offered as a picture, on
|
|
115
|
-
*
|
|
116
|
-
*
|
|
117
|
-
*
|
|
118
|
-
*
|
|
114
|
+
* ActionCard: a first step offered as a picture, on a CALM TINT of an
|
|
115
|
+
* artifact kind's hue. The ground is the kind's own Ground steps
|
|
116
|
+
* (ArtifactKinds.css): the card rung tinted by a share of the hue's chroma,
|
|
117
|
+
* never a slab of it, which the palette suite holds to 4.5:1 for the primary
|
|
118
|
+
* text in every palette and both modes and to a chroma ceiling. The edge is
|
|
119
|
+
* the kind's hue stepped toward the ink until it clears 3:1, a step further
|
|
120
|
+
* under the pointer, and a soft halo of the hue stands behind the drawing.
|
|
119
121
|
*/
|
|
120
122
|
|
|
121
123
|
/*
|
|
@@ -143,6 +145,7 @@
|
|
|
143
145
|
|
|
144
146
|
.crewlet-action-card {
|
|
145
147
|
--crewlet-action-card-ground: var(--crewlet-kind-ground);
|
|
148
|
+
--crewlet-action-card-edge: var(--crewlet-kind-edge);
|
|
146
149
|
position: relative;
|
|
147
150
|
display: flex;
|
|
148
151
|
flex: none;
|
|
@@ -153,30 +156,41 @@
|
|
|
153
156
|
box-sizing: border-box;
|
|
154
157
|
overflow: hidden;
|
|
155
158
|
padding: var(--spacing-3) var(--spacing-3) 0;
|
|
156
|
-
/*
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
159
|
+
/* THE KIND'S OWN EDGE: its hue stepped toward the ink until it clears 3:1
|
|
160
|
+
on the sheet and on the card's tint (`--color-artifact-kind-<kind>-edge`,
|
|
161
|
+
derived by the tokens build and held by its suite). The Line step, the
|
|
162
|
+
hue at 0.38, did not clear it, and a neutral grey outline read as a card
|
|
163
|
+
from another family. */
|
|
164
|
+
border: 1px solid var(--crewlet-action-card-edge);
|
|
165
|
+
/* The edge scale: the extra-large corner a tall card of its own takes, and
|
|
166
|
+
the smallest shadow, so the card sits on the page rather than in it. */
|
|
167
|
+
border-radius: var(--radius-xl);
|
|
160
168
|
background-color: var(--color-surface-subtle);
|
|
161
169
|
background-image:
|
|
162
|
-
radial-gradient(
|
|
170
|
+
radial-gradient(90% 56% at 50% 100%, var(--crewlet-kind-glow) 0%, transparent 72%),
|
|
163
171
|
linear-gradient(180deg, var(--crewlet-action-card-ground) 0%, var(--crewlet-kind-ground-end) 100%);
|
|
172
|
+
box-shadow: var(--shadow-xs);
|
|
164
173
|
color: var(--color-text-primary);
|
|
165
174
|
font: inherit;
|
|
166
175
|
text-align: left;
|
|
167
176
|
cursor: pointer;
|
|
168
177
|
scroll-snap-align: start;
|
|
169
|
-
transition:
|
|
178
|
+
transition:
|
|
179
|
+
box-shadow var(--motion-duration-fast) var(--motion-easing-default),
|
|
180
|
+
border-color var(--motion-duration-fast) var(--motion-easing-default);
|
|
170
181
|
}
|
|
171
182
|
|
|
172
|
-
/* A QUIET HOVER: the
|
|
173
|
-
card off the page. Nothing moves
|
|
183
|
+
/* A QUIET HOVER: the tint deepens a step, the edge takes a stronger step of
|
|
184
|
+
the hue, and a small shadow lifts the card off the page. Nothing moves, so
|
|
185
|
+
a row of cards stays still under a pointer passing over it. */
|
|
174
186
|
.crewlet-action-card:hover {
|
|
175
187
|
--crewlet-action-card-ground: var(--crewlet-kind-ground-strong);
|
|
188
|
+
--crewlet-action-card-edge: var(--crewlet-kind-edge-strong);
|
|
176
189
|
box-shadow: var(--shadow-sm);
|
|
177
190
|
}
|
|
178
191
|
|
|
179
|
-
/* The card draws its own edge, so the ring is drawn over it
|
|
192
|
+
/* The card draws its own edge, so the ring is drawn over it, on the same
|
|
193
|
+
corner. */
|
|
180
194
|
.crewlet-action-card:focus-visible {
|
|
181
195
|
outline: 2px solid var(--color-focus);
|
|
182
196
|
outline-offset: var(--size-focus-ring-inset-offset);
|
|
@@ -192,23 +206,29 @@
|
|
|
192
206
|
text-wrap: balance;
|
|
193
207
|
}
|
|
194
208
|
|
|
195
|
-
/*
|
|
209
|
+
/*
|
|
210
|
+
* THE DRAWING STANDS ON THE CARD'S FOOT, still, the card's own width less its
|
|
211
|
+
* inset. Every kind's drawing is one canvas (160 by 120), so each takes the
|
|
212
|
+
* same box whatever its shape, a tall page and a wide slide alike, where a
|
|
213
|
+
* fixed width and a height cap drew a page half the size of a slide. It is
|
|
214
|
+
* set a step into the foot, so it stands on the edge rather than floating
|
|
215
|
+
* above it, on a soft shadow of the kind's Fill.
|
|
216
|
+
*/
|
|
196
217
|
.crewlet-action-card__art {
|
|
197
218
|
display: flex;
|
|
198
219
|
align-items: flex-end;
|
|
199
220
|
justify-content: center;
|
|
200
|
-
|
|
201
|
-
margin: 0 calc(var(--spacing-3) * -1);
|
|
221
|
+
margin-bottom: calc(var(--spacing-2) * -1);
|
|
202
222
|
}
|
|
203
223
|
|
|
204
224
|
.crewlet-action-card__art .crewlet-kind-illustration {
|
|
205
|
-
width:
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
filter: drop-shadow(0 6px 12px var(--crewlet-kind-line));
|
|
225
|
+
width: 100%;
|
|
226
|
+
height: auto;
|
|
227
|
+
filter: drop-shadow(0 4px 10px var(--crewlet-kind-fill));
|
|
209
228
|
}
|
|
210
229
|
|
|
211
|
-
/* FORCED COLORS drops the ground
|
|
230
|
+
/* FORCED COLORS drops the ground and the hue; the edge is drawn in the
|
|
231
|
+
system's text colour, so the card keeps its outline. */
|
|
212
232
|
@media (forced-colors: active) {
|
|
213
233
|
.crewlet-action-card {
|
|
214
234
|
border-color: CanvasText;
|
|
@@ -944,7 +964,7 @@
|
|
|
944
964
|
}
|
|
945
965
|
|
|
946
966
|
|
|
947
|
-
/* AppShell-
|
|
967
|
+
/* AppShell-NX5HCD4O.css */
|
|
948
968
|
/*
|
|
949
969
|
* The application frame: a rail on the FRAME, and the screen on a SHEET that
|
|
950
970
|
* floats beside it.
|
|
@@ -973,6 +993,11 @@
|
|
|
973
993
|
.crewlet-app-shell {
|
|
974
994
|
--crewlet-app-shell-rail: var(--size-shell-rail);
|
|
975
995
|
--crewlet-app-shell-topbar: var(--size-shell-topbar);
|
|
996
|
+
/* THE SHEET'S SIDE INSET, ONE LENGTH: the bar's, the content column's, and
|
|
997
|
+
the inset a box that reaches past the column to the sheet's edge keeps
|
|
998
|
+
inside itself (a `ListDetail` on a fill screen), one step narrower on a
|
|
999
|
+
narrow window. */
|
|
1000
|
+
--crewlet-app-shell-inset: var(--spacing-5);
|
|
976
1001
|
/* What stands on the frame to the sheet's left: the rail's column, or
|
|
977
1002
|
nothing where there is no rail or the rail is a drawer. */
|
|
978
1003
|
--crewlet-app-shell-beside: var(--crewlet-app-shell-rail);
|
|
@@ -1575,7 +1600,8 @@
|
|
|
1575
1600
|
gap: var(--spacing-3);
|
|
1576
1601
|
flex: none;
|
|
1577
1602
|
height: var(--crewlet-app-shell-topbar);
|
|
1578
|
-
padding: 0 calc(var(--
|
|
1603
|
+
padding: 0 calc(var(--crewlet-app-shell-inset) + var(--crewlet-app-shell-gutter, 0px)) 0
|
|
1604
|
+
var(--crewlet-app-shell-inset);
|
|
1579
1605
|
border-bottom: 1px solid var(--color-border-default);
|
|
1580
1606
|
background: var(--color-surface-background);
|
|
1581
1607
|
}
|
|
@@ -1665,46 +1691,76 @@
|
|
|
1665
1691
|
gap: var(--spacing-5);
|
|
1666
1692
|
max-width: var(--size-content-max);
|
|
1667
1693
|
margin: 0 auto;
|
|
1668
|
-
padding: var(--
|
|
1694
|
+
padding: var(--crewlet-app-shell-inset);
|
|
1669
1695
|
padding-bottom: var(--crewlet-app-shell-content-end);
|
|
1670
1696
|
min-width: 0;
|
|
1671
1697
|
}
|
|
1672
1698
|
|
|
1673
|
-
/*
|
|
1674
|
-
|
|
1675
|
-
|
|
1676
|
-
|
|
1677
|
-
|
|
1678
|
-
|
|
1679
|
-
|
|
1680
|
-
|
|
1681
|
-
|
|
1682
|
-
|
|
1699
|
+
/*
|
|
1700
|
+
* A screen that draws to the bottom of the window: the scroller stops
|
|
1701
|
+
* scrolling and the content column takes the height that is left, and the
|
|
1702
|
+
* whole width, since a screen that fills the window is a frame for panes
|
|
1703
|
+
* rather than a page of prose (prose inside it keeps its own measure).
|
|
1704
|
+
*
|
|
1705
|
+
* THE SCROLLER RESERVES NO GUTTER; THE COLUMN PADS BY IT INSTEAD. Nothing
|
|
1706
|
+
* scrolls here, so the strip a scrolling screen keeps for its scrollbar is
|
|
1707
|
+
* only there to hold the content where the bar's controls expect it (the
|
|
1708
|
+
* bar's end inset counts the gutter). A reserved strip did that, and also
|
|
1709
|
+
* stood between the sheet's edge and every pane that scrolls on its own: a
|
|
1710
|
+
* list's detail drew its scrollbar 31px inside the sheet, beside an empty
|
|
1711
|
+
* strip, and nothing in the screen could paint over a reserved gutter. The
|
|
1712
|
+
* same length as padding holds the content exactly where it stood, and a box
|
|
1713
|
+
* standing in the column can reach past padding: the column publishes it as
|
|
1714
|
+
* `--crewlet-app-shell-bleed-end`, and a `ListDetail` takes it back so its
|
|
1715
|
+
* scrollbar is the sheet's last pixel. The scrollbar's width is read off the
|
|
1716
|
+
* shell's gauge here (AppShell.tsx), so the bar keeps its place between a
|
|
1717
|
+
* fill screen and a scrolling one.
|
|
1718
|
+
*/
|
|
1683
1719
|
.crewlet-app-shell--fill .crewlet-app-shell__main {
|
|
1684
1720
|
overflow: hidden;
|
|
1721
|
+
scrollbar-gutter: auto;
|
|
1685
1722
|
}
|
|
1686
1723
|
|
|
1687
1724
|
.crewlet-app-shell--fill .crewlet-app-shell__content {
|
|
1688
1725
|
--crewlet-app-shell-content-end: var(--spacing-5);
|
|
1726
|
+
--crewlet-app-shell-bleed-end: calc(var(--crewlet-app-shell-inset) + var(--crewlet-app-shell-gutter, 0px));
|
|
1689
1727
|
|
|
1690
1728
|
height: 100%;
|
|
1729
|
+
max-width: none;
|
|
1730
|
+
padding-right: var(--crewlet-app-shell-bleed-end);
|
|
1691
1731
|
}
|
|
1692
1732
|
|
|
1693
1733
|
/*
|
|
1694
|
-
*
|
|
1695
|
-
*
|
|
1696
|
-
*
|
|
1697
|
-
*
|
|
1698
|
-
*
|
|
1734
|
+
* THE GAUGE: an empty scroller, never seen, that always draws its scrollbar,
|
|
1735
|
+
* so the shell can read the scrollbar's width on a fill screen, where the
|
|
1736
|
+
* screen's own scroller reserves none. It is a row of no height in the
|
|
1737
|
+
* sheet's column, clipped, so it takes no room and moves nothing; the ruler
|
|
1738
|
+
* inside it has a height of its own, because a scroller of no height draws
|
|
1739
|
+
* no scrollbar in Firefox and measured 0 there.
|
|
1699
1740
|
*/
|
|
1700
|
-
.crewlet-app-
|
|
1701
|
-
|
|
1741
|
+
.crewlet-app-shell__gauge {
|
|
1742
|
+
flex: none;
|
|
1743
|
+
height: 0;
|
|
1744
|
+
overflow: hidden;
|
|
1745
|
+
visibility: hidden;
|
|
1702
1746
|
}
|
|
1703
1747
|
|
|
1748
|
+
.crewlet-app-shell__gauge-ruler {
|
|
1749
|
+
height: var(--size-target-min);
|
|
1750
|
+
overflow-y: scroll;
|
|
1751
|
+
}
|
|
1752
|
+
|
|
1753
|
+
/*
|
|
1754
|
+
* A FLUSH SCREEN draws its own frame to the sheet's edges: the column gives up
|
|
1755
|
+
* its pad and its gap as well, so there is nothing for a box in it to reach
|
|
1756
|
+
* past. The column is the containing block for a `LayerHost` the screen
|
|
1757
|
+
* keeps, so its layers fill the screen rather than the window.
|
|
1758
|
+
*/
|
|
1704
1759
|
.crewlet-app-shell--fill-flush .crewlet-app-shell__content {
|
|
1760
|
+
--crewlet-app-shell-bleed-end: 0px;
|
|
1761
|
+
|
|
1705
1762
|
position: relative;
|
|
1706
1763
|
gap: 0;
|
|
1707
|
-
max-width: none;
|
|
1708
1764
|
padding: 0;
|
|
1709
1765
|
}
|
|
1710
1766
|
|
|
@@ -1869,22 +1925,26 @@
|
|
|
1869
1925
|
}
|
|
1870
1926
|
|
|
1871
1927
|
/*
|
|
1872
|
-
* THE FOLD CONTROL stands
|
|
1873
|
-
* it never moves under the pointer that pressed it:
|
|
1874
|
-
*
|
|
1875
|
-
*
|
|
1876
|
-
*
|
|
1877
|
-
*
|
|
1928
|
+
* THE FOLD CONTROL stands on the head's row, before the brand's mark, in both
|
|
1929
|
+
* shapes, so it never moves under the pointer that pressed it: chevrons
|
|
1930
|
+
* pointing left to fold the rail and right to unfold it.
|
|
1931
|
+
*
|
|
1932
|
+
* THE CONTROL AND THE MARK ARE ONE PAIR: the control at the target floor
|
|
1933
|
+
* (`--size-target-min`, at every density), a step (`--spacing-1`), then the
|
|
1934
|
+
* mark, which is a target's size too, the pair centred in the compact column
|
|
1935
|
+
* so the 76px column holds both (12 + 24 + 4 + 24 + 12). The control is
|
|
1936
|
+
* centred on the bar's line as the mark is: the inset, then half of what the
|
|
1937
|
+
* bar leaves round it. The mark's inset below is the same arithmetic from the
|
|
1938
|
+
* other side.
|
|
1878
1939
|
*
|
|
1879
1940
|
* Quiet until the rail is pointed at: the tertiary ink, which holds 3:1 on
|
|
1880
1941
|
* the frame, then the secondary, and the ghost's own primary under the
|
|
1881
|
-
* pointer. Its ring is drawn inside its own box,
|
|
1882
|
-
* stands in is the window's, and a ring outside it would be cut there.
|
|
1942
|
+
* pointer. Its ring is drawn inside its own box, clear of the mark beside it.
|
|
1883
1943
|
*/
|
|
1884
1944
|
.crewlet-app-shell__fold {
|
|
1885
1945
|
position: absolute;
|
|
1886
|
-
top:
|
|
1887
|
-
left:
|
|
1946
|
+
top: calc(var(--size-shell-inset) + (var(--crewlet-app-shell-topbar) - var(--size-target-min)) / 2);
|
|
1947
|
+
left: calc((var(--size-shell-rail-compact) - 2 * var(--size-target-min) - var(--spacing-1)) / 2);
|
|
1888
1948
|
z-index: 1;
|
|
1889
1949
|
display: inline-flex;
|
|
1890
1950
|
}
|
|
@@ -1904,13 +1964,20 @@
|
|
|
1904
1964
|
}
|
|
1905
1965
|
|
|
1906
1966
|
/*
|
|
1907
|
-
* THE MARK STANDS WHERE THE COMPACT RAIL'S DOES, in both shapes
|
|
1908
|
-
*
|
|
1909
|
-
*
|
|
1967
|
+
* THE MARK STANDS WHERE THE COMPACT RAIL'S DOES, in both shapes. With no fold
|
|
1968
|
+
* control it is centred over the compact column; beside the fold control it
|
|
1969
|
+
* is the second of the pair (above), a step after the control, which is half
|
|
1970
|
+
* the column and half the step in. Full, the name follows it; compact, the
|
|
1971
|
+
* name is not drawn (the link keeps it as its name and title), and the
|
|
1972
|
+
* lockup's end inset is given up, so the mark is all the column holds.
|
|
1910
1973
|
*/
|
|
1911
|
-
.crewlet-app-shell--foldable .crewlet-app-shell__rail-head > .crewlet-brand,
|
|
1912
1974
|
.crewlet-app-shell[data-rail='compact'] .crewlet-app-shell__rail-head > .crewlet-brand {
|
|
1913
1975
|
padding-left: calc((var(--size-shell-rail-compact) - var(--crewlet-brand-mark)) / 2);
|
|
1976
|
+
padding-right: 0;
|
|
1977
|
+
}
|
|
1978
|
+
|
|
1979
|
+
.crewlet-app-shell--foldable[data-rail] .crewlet-app-shell__rail-head > .crewlet-brand {
|
|
1980
|
+
padding-left: calc((var(--size-shell-rail-compact) + var(--spacing-1)) / 2);
|
|
1914
1981
|
}
|
|
1915
1982
|
|
|
1916
1983
|
.crewlet-app-shell[data-rail='compact'] .crewlet-brand__name,
|
|
@@ -2034,6 +2101,9 @@
|
|
|
2034
2101
|
@media (width < 1024px) {
|
|
2035
2102
|
.crewlet-app-shell {
|
|
2036
2103
|
--crewlet-app-shell-beside: 0px;
|
|
2104
|
+
/* 16px: the content's 12px stood every page's first line 4px left of
|
|
2105
|
+
the bar's title and the controls over it. */
|
|
2106
|
+
--crewlet-app-shell-inset: var(--spacing-4);
|
|
2037
2107
|
grid-template-columns: minmax(0, 1fr);
|
|
2038
2108
|
}
|
|
2039
2109
|
|
|
@@ -2116,18 +2186,8 @@
|
|
|
2116
2186
|
display: inline-flex;
|
|
2117
2187
|
}
|
|
2118
2188
|
|
|
2119
|
-
/* THE TOP BAR'S GUTTER, 16px: the content's 12px stood every page's first
|
|
2120
|
-
line 4px left of the title and the controls over it. The bar and the
|
|
2121
|
-
content take it together. */
|
|
2122
|
-
.crewlet-app-shell__topbar {
|
|
2123
|
-
padding: 0 calc(var(--spacing-4) + var(--crewlet-app-shell-gutter, 0px)) 0 var(--spacing-4);
|
|
2124
|
-
}
|
|
2125
|
-
|
|
2126
2189
|
.crewlet-app-shell__content {
|
|
2127
2190
|
--crewlet-app-shell-content-end: var(--spacing-9);
|
|
2128
|
-
|
|
2129
|
-
padding: var(--spacing-4) var(--spacing-4);
|
|
2130
|
-
padding-bottom: var(--crewlet-app-shell-content-end);
|
|
2131
2191
|
}
|
|
2132
2192
|
}
|
|
2133
2193
|
|
|
@@ -4465,7 +4525,7 @@ a.crewlet-kind-tile:hover .crewlet-kind-tile__frame,
|
|
|
4465
4525
|
}
|
|
4466
4526
|
|
|
4467
4527
|
|
|
4468
|
-
/* ArtifactKinds-
|
|
4528
|
+
/* ArtifactKinds-27TE3KJL.css */
|
|
4469
4529
|
/*
|
|
4470
4530
|
* A kind's colours, set once per kind on `--crewlet-kind-*` by its class
|
|
4471
4531
|
* (`crewlet-kind--<kind>`): the hue, its Fill and Line steps, the ink a
|
|
@@ -4477,13 +4537,13 @@ a.crewlet-kind-tile:hover .crewlet-kind-tile__frame,
|
|
|
4477
4537
|
* its own, imported by each surface that tints, because the glyph's module
|
|
4478
4538
|
* carries no stylesheet (a frame that draws one glyph takes nothing else).
|
|
4479
4539
|
*/
|
|
4480
|
-
.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); --crewlet-kind-ground: var(--color-artifact-kind-doc-ground); --crewlet-kind-ground-strong: var(--color-artifact-kind-doc-ground-strong); --crewlet-kind-ground-end: var(--color-artifact-kind-doc-ground-end); --crewlet-kind-glow: var(--color-artifact-kind-doc-glow); }
|
|
4481
|
-
.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); --crewlet-kind-ground: var(--color-artifact-kind-slides-ground); --crewlet-kind-ground-strong: var(--color-artifact-kind-slides-ground-strong); --crewlet-kind-ground-end: var(--color-artifact-kind-slides-ground-end); --crewlet-kind-glow: var(--color-artifact-kind-slides-glow); }
|
|
4482
|
-
.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); --crewlet-kind-ground: var(--color-artifact-kind-design-ground); --crewlet-kind-ground-strong: var(--color-artifact-kind-design-ground-strong); --crewlet-kind-ground-end: var(--color-artifact-kind-design-ground-end); --crewlet-kind-glow: var(--color-artifact-kind-design-glow); }
|
|
4483
|
-
.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); --crewlet-kind-ground: var(--color-artifact-kind-dashboard-ground); --crewlet-kind-ground-strong: var(--color-artifact-kind-dashboard-ground-strong); --crewlet-kind-ground-end: var(--color-artifact-kind-dashboard-ground-end); --crewlet-kind-glow: var(--color-artifact-kind-dashboard-glow); }
|
|
4484
|
-
.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); --crewlet-kind-ground: var(--color-artifact-kind-html-ground); --crewlet-kind-ground-strong: var(--color-artifact-kind-html-ground-strong); --crewlet-kind-ground-end: var(--color-artifact-kind-html-ground-end); --crewlet-kind-glow: var(--color-artifact-kind-html-glow); }
|
|
4485
|
-
.crewlet-kind--brand { --crewlet-kind-hue: var(--color-artifact-kind-brand); --crewlet-kind-fill: var(--color-artifact-kind-brand-fill); --crewlet-kind-line: var(--color-artifact-kind-brand-line); --crewlet-kind-ink: var(--color-artifact-kind-brand-ink); --crewlet-kind-ground: var(--color-artifact-kind-brand-ground); --crewlet-kind-ground-strong: var(--color-artifact-kind-brand-ground-strong); --crewlet-kind-ground-end: var(--color-artifact-kind-brand-ground-end); --crewlet-kind-glow: var(--color-artifact-kind-brand-glow); }
|
|
4486
|
-
.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); --crewlet-kind-ground: var(--color-artifact-kind-sheet-ground); --crewlet-kind-ground-strong: var(--color-artifact-kind-sheet-ground-strong); --crewlet-kind-ground-end: var(--color-artifact-kind-sheet-ground-end); --crewlet-kind-glow: var(--color-artifact-kind-sheet-glow); }
|
|
4540
|
+
.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); --crewlet-kind-ground: var(--color-artifact-kind-doc-ground); --crewlet-kind-ground-strong: var(--color-artifact-kind-doc-ground-strong); --crewlet-kind-ground-end: var(--color-artifact-kind-doc-ground-end); --crewlet-kind-glow: var(--color-artifact-kind-doc-glow); --crewlet-kind-edge: var(--color-artifact-kind-doc-edge); --crewlet-kind-edge-strong: var(--color-artifact-kind-doc-edge-strong); }
|
|
4541
|
+
.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); --crewlet-kind-ground: var(--color-artifact-kind-slides-ground); --crewlet-kind-ground-strong: var(--color-artifact-kind-slides-ground-strong); --crewlet-kind-ground-end: var(--color-artifact-kind-slides-ground-end); --crewlet-kind-glow: var(--color-artifact-kind-slides-glow); --crewlet-kind-edge: var(--color-artifact-kind-slides-edge); --crewlet-kind-edge-strong: var(--color-artifact-kind-slides-edge-strong); }
|
|
4542
|
+
.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); --crewlet-kind-ground: var(--color-artifact-kind-design-ground); --crewlet-kind-ground-strong: var(--color-artifact-kind-design-ground-strong); --crewlet-kind-ground-end: var(--color-artifact-kind-design-ground-end); --crewlet-kind-glow: var(--color-artifact-kind-design-glow); --crewlet-kind-edge: var(--color-artifact-kind-design-edge); --crewlet-kind-edge-strong: var(--color-artifact-kind-design-edge-strong); }
|
|
4543
|
+
.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); --crewlet-kind-ground: var(--color-artifact-kind-dashboard-ground); --crewlet-kind-ground-strong: var(--color-artifact-kind-dashboard-ground-strong); --crewlet-kind-ground-end: var(--color-artifact-kind-dashboard-ground-end); --crewlet-kind-glow: var(--color-artifact-kind-dashboard-glow); --crewlet-kind-edge: var(--color-artifact-kind-dashboard-edge); --crewlet-kind-edge-strong: var(--color-artifact-kind-dashboard-edge-strong); }
|
|
4544
|
+
.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); --crewlet-kind-ground: var(--color-artifact-kind-html-ground); --crewlet-kind-ground-strong: var(--color-artifact-kind-html-ground-strong); --crewlet-kind-ground-end: var(--color-artifact-kind-html-ground-end); --crewlet-kind-glow: var(--color-artifact-kind-html-glow); --crewlet-kind-edge: var(--color-artifact-kind-html-edge); --crewlet-kind-edge-strong: var(--color-artifact-kind-html-edge-strong); }
|
|
4545
|
+
.crewlet-kind--brand { --crewlet-kind-hue: var(--color-artifact-kind-brand); --crewlet-kind-fill: var(--color-artifact-kind-brand-fill); --crewlet-kind-line: var(--color-artifact-kind-brand-line); --crewlet-kind-ink: var(--color-artifact-kind-brand-ink); --crewlet-kind-ground: var(--color-artifact-kind-brand-ground); --crewlet-kind-ground-strong: var(--color-artifact-kind-brand-ground-strong); --crewlet-kind-ground-end: var(--color-artifact-kind-brand-ground-end); --crewlet-kind-glow: var(--color-artifact-kind-brand-glow); --crewlet-kind-edge: var(--color-artifact-kind-brand-edge); --crewlet-kind-edge-strong: var(--color-artifact-kind-brand-edge-strong); }
|
|
4546
|
+
.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); --crewlet-kind-ground: var(--color-artifact-kind-sheet-ground); --crewlet-kind-ground-strong: var(--color-artifact-kind-sheet-ground-strong); --crewlet-kind-ground-end: var(--color-artifact-kind-sheet-ground-end); --crewlet-kind-glow: var(--color-artifact-kind-sheet-glow); --crewlet-kind-edge: var(--color-artifact-kind-sheet-edge); --crewlet-kind-edge-strong: var(--color-artifact-kind-sheet-edge-strong); }
|
|
4487
4547
|
|
|
4488
4548
|
|
|
4489
4549
|
/* ArtifactMakeRow-6UX2LTF7.css */
|
|
@@ -5023,7 +5083,7 @@ a.crewlet-make-row__item:active {
|
|
|
5023
5083
|
}
|
|
5024
5084
|
|
|
5025
5085
|
|
|
5026
|
-
/* Avatar-
|
|
5086
|
+
/* Avatar-CRSLRUVT.css */
|
|
5027
5087
|
/*
|
|
5028
5088
|
* The identity badge.
|
|
5029
5089
|
*
|
|
@@ -5365,18 +5425,19 @@ a.crewlet-make-row__item:active {
|
|
|
5365
5425
|
* room one without takes: the corner badge hangs past it rather than growing
|
|
5366
5426
|
* it, and a row lays out the same either way.
|
|
5367
5427
|
*
|
|
5368
|
-
* THE BADGE WHERE A READER LOOKS FOR PRESENCE:
|
|
5369
|
-
* of the box), hanging a
|
|
5370
|
-
* with the notch (a gap of the ground round it) kept. At
|
|
5371
|
-
* badge set 2px past the corner, the size and place of a
|
|
5372
|
-
*
|
|
5373
|
-
*
|
|
5374
|
-
*
|
|
5428
|
+
* THE BADGE WHERE A READER LOOKS FOR PRESENCE: a quarter of the face (0.25
|
|
5429
|
+
* of the box), hanging a twenty-fifth of the box past its bottom-right
|
|
5430
|
+
* corner, with the notch (a gap of the ground round it) kept. At 40px that is
|
|
5431
|
+
* a 10px badge set under 2px past the corner, the size and place of a
|
|
5432
|
+
* presence dot. It never drops under 8px, the smallest its glyph still reads
|
|
5433
|
+
* as a shape, and always hangs at least a pixel past the corner. The floor
|
|
5434
|
+
* used to be 10px and the share 0.3, which made the badge half of a 20px face
|
|
5435
|
+
* and a third of a 32px one: a second face beside the first, not a dot on it.
|
|
5375
5436
|
*/
|
|
5376
5437
|
.crewlet-avatar-frame {
|
|
5377
|
-
--crewlet-avatar-status-size: max(
|
|
5378
|
-
--crewlet-avatar-status-overhang: max(1px, calc(var(--crewlet-avatar-size) * 0.
|
|
5379
|
-
--crewlet-avatar-status-gap:
|
|
5438
|
+
--crewlet-avatar-status-size: max(8px, calc(var(--crewlet-avatar-size) * 0.25));
|
|
5439
|
+
--crewlet-avatar-status-overhang: max(1px, calc(var(--crewlet-avatar-size) * 0.04));
|
|
5440
|
+
--crewlet-avatar-status-gap: 1.5px;
|
|
5380
5441
|
position: relative;
|
|
5381
5442
|
display: inline-flex;
|
|
5382
5443
|
flex: none;
|
|
@@ -8678,7 +8739,7 @@ a.crewlet-breadcrumb__crumb:focus-visible {
|
|
|
8678
8739
|
}
|
|
8679
8740
|
|
|
8680
8741
|
|
|
8681
|
-
/* CatalogTile-
|
|
8742
|
+
/* CatalogTile-TMOSGSV3.css */
|
|
8682
8743
|
/*
|
|
8683
8744
|
* CatalogTile: mark, name and state, one sentence, and a foot with a quiet
|
|
8684
8745
|
* fact and one action.
|
|
@@ -8760,9 +8821,10 @@ a.crewlet-breadcrumb__crumb:focus-visible {
|
|
|
8760
8821
|
overflow-wrap: anywhere;
|
|
8761
8822
|
}
|
|
8762
8823
|
|
|
8763
|
-
/*
|
|
8764
|
-
|
|
8765
|
-
and on a 16px page "Connected" stood
|
|
8824
|
+
/* THE STATE, the tone's dot and its word, at the caption step the fact
|
|
8825
|
+
beside it takes, so a compact tile's line reads name, state, fact at one
|
|
8826
|
+
height. It inherited the page's size, and on a 16px page "Connected" stood
|
|
8827
|
+
taller than the name before it. */
|
|
8766
8828
|
.crewlet-catalog-tile__status {
|
|
8767
8829
|
display: inline-flex;
|
|
8768
8830
|
font-size: var(--font-size-xs);
|
|
@@ -19032,7 +19094,7 @@ svg.crewlet-datetime__chevron {
|
|
|
19032
19094
|
}
|
|
19033
19095
|
|
|
19034
19096
|
|
|
19035
|
-
/* DirectoryList-
|
|
19097
|
+
/* DirectoryList-IXQIMNFS.css */
|
|
19036
19098
|
/*
|
|
19037
19099
|
* DirectoryList: named groups of links, each line a mark, a label and a state,
|
|
19038
19100
|
* and one foot that holds the bottom (DirectoryList.tsx).
|
|
@@ -19052,7 +19114,12 @@ svg.crewlet-datetime__chevron {
|
|
|
19052
19114
|
font-family: var(--font-family-sans);
|
|
19053
19115
|
}
|
|
19054
19116
|
|
|
19055
|
-
/* The groups take the room and scroll on their own, so the foot stays put.
|
|
19117
|
+
/* The groups take the room and scroll on their own, so the foot stays put.
|
|
19118
|
+
|
|
19119
|
+
THEIR INSET IS INSIDE THE SCROLLER. The gutter is reserved whether or not
|
|
19120
|
+
they scroll, and the lines end a step before it: a line's state pill stood
|
|
19121
|
+
against the scrollbar, and moved by its width when the list grew long
|
|
19122
|
+
enough to scroll. */
|
|
19056
19123
|
.crewlet-directory__groups {
|
|
19057
19124
|
display: flex;
|
|
19058
19125
|
flex: 1 1 auto;
|
|
@@ -19061,7 +19128,9 @@ svg.crewlet-datetime__chevron {
|
|
|
19061
19128
|
under it rather than a band between two runs of them. */
|
|
19062
19129
|
gap: var(--spacing-3);
|
|
19063
19130
|
min-height: 0;
|
|
19131
|
+
padding-right: var(--spacing-2);
|
|
19064
19132
|
overflow-y: auto;
|
|
19133
|
+
scrollbar-gutter: stable;
|
|
19065
19134
|
}
|
|
19066
19135
|
|
|
19067
19136
|
.crewlet-directory__group {
|
|
@@ -22296,7 +22365,7 @@ a.crewlet-icon-btn {
|
|
|
22296
22365
|
}
|
|
22297
22366
|
|
|
22298
22367
|
|
|
22299
|
-
/* InboxList-
|
|
22368
|
+
/* InboxList-X5Q5WWAI.css */
|
|
22300
22369
|
/*
|
|
22301
22370
|
* The inbox's column: groups of rows, each row a control with the task it is
|
|
22302
22371
|
* about under it, and the quiet toggles at the end.
|
|
@@ -22325,6 +22394,9 @@ a.crewlet-icon-btn {
|
|
|
22325
22394
|
|
|
22326
22395
|
/* The heading's own line box is the label's, so the label sits where it is drawn. */
|
|
22327
22396
|
.crewlet-inbox-list__label {
|
|
22397
|
+
/* The arrival's wash stands behind the label's words, inside it. */
|
|
22398
|
+
position: relative;
|
|
22399
|
+
isolation: isolate;
|
|
22328
22400
|
margin: 0;
|
|
22329
22401
|
padding: var(--spacing-3) var(--spacing-2) var(--spacing-1);
|
|
22330
22402
|
font: inherit;
|
|
@@ -22332,6 +22404,32 @@ a.crewlet-icon-btn {
|
|
|
22332
22404
|
line-height: var(--font-line-height-snug);
|
|
22333
22405
|
}
|
|
22334
22406
|
|
|
22407
|
+
/*
|
|
22408
|
+
* A ROW ARRIVED: a wash of the accent that fades back to the ground, over the
|
|
22409
|
+
* row itself, or over a group's label and count where the row landed in a
|
|
22410
|
+
* closed group. The row's keyframes name no last step, so the wash returns
|
|
22411
|
+
* to whatever the row draws of its own (hover, selected).
|
|
22412
|
+
*/
|
|
22413
|
+
.crewlet-inbox-list__arrival {
|
|
22414
|
+
position: absolute;
|
|
22415
|
+
inset: 0;
|
|
22416
|
+
z-index: -1;
|
|
22417
|
+
border-radius: var(--radius-xs);
|
|
22418
|
+
pointer-events: none;
|
|
22419
|
+
animation: crewlet-inbox-arrive calc(var(--motion-duration-moderate) * 8) var(--motion-easing-out) both;
|
|
22420
|
+
}
|
|
22421
|
+
|
|
22422
|
+
.crewlet-inbox-row--arrived {
|
|
22423
|
+
animation: crewlet-inbox-arrive calc(var(--motion-duration-moderate) * 8) var(--motion-easing-out);
|
|
22424
|
+
}
|
|
22425
|
+
|
|
22426
|
+
@keyframes crewlet-inbox-arrive {
|
|
22427
|
+
0%,
|
|
22428
|
+
40% {
|
|
22429
|
+
background: var(--color-brand-accent-soft-strong);
|
|
22430
|
+
}
|
|
22431
|
+
}
|
|
22432
|
+
|
|
22335
22433
|
/* The count after a label, in the quiet ink and the label's own register. */
|
|
22336
22434
|
.crewlet-inbox-list__count {
|
|
22337
22435
|
margin-inline-start: var(--spacing-1);
|
|
@@ -22406,12 +22504,38 @@ a.crewlet-icon-btn {
|
|
|
22406
22504
|
* a selected row takes no hover on top of it: both are a background on the
|
|
22407
22505
|
* same element, and a composite of the two is a colour nothing has measured.
|
|
22408
22506
|
*/
|
|
22507
|
+
/* ONE TRACK, so a leaving row can close its height (below). */
|
|
22409
22508
|
.crewlet-inbox-row {
|
|
22509
|
+
display: grid;
|
|
22510
|
+
grid-template-rows: 1fr;
|
|
22410
22511
|
min-width: 0;
|
|
22411
22512
|
border-radius: var(--radius-md);
|
|
22412
22513
|
transition: background var(--motion-duration-fast) var(--motion-easing-default);
|
|
22413
22514
|
}
|
|
22414
22515
|
|
|
22516
|
+
.crewlet-inbox-row__body {
|
|
22517
|
+
min-width: 0;
|
|
22518
|
+
min-height: 0;
|
|
22519
|
+
}
|
|
22520
|
+
|
|
22521
|
+
/*
|
|
22522
|
+
* A ROW LEAVING closes its one track to nothing and fades, on the slow step
|
|
22523
|
+
* with the emphasized curve, the motion a column opens and shuts by, so the
|
|
22524
|
+
* rows under it slide up into its place. The shell's presence waits on the
|
|
22525
|
+
* track's transition (`INBOX_ROW_LEAVE`), and the row is inert all the while.
|
|
22526
|
+
*/
|
|
22527
|
+
.crewlet-inbox-row--leaving {
|
|
22528
|
+
grid-template-rows: 0fr;
|
|
22529
|
+
opacity: 0;
|
|
22530
|
+
transition:
|
|
22531
|
+
grid-template-rows var(--motion-duration-slow) var(--motion-easing-emphasized),
|
|
22532
|
+
opacity var(--motion-duration-moderate) var(--motion-easing-out);
|
|
22533
|
+
}
|
|
22534
|
+
|
|
22535
|
+
.crewlet-inbox-row--leaving .crewlet-inbox-row__body {
|
|
22536
|
+
overflow: hidden;
|
|
22537
|
+
}
|
|
22538
|
+
|
|
22415
22539
|
.crewlet-inbox-row:hover {
|
|
22416
22540
|
background: var(--color-surface-hover);
|
|
22417
22541
|
}
|
|
@@ -22648,7 +22772,7 @@ a.crewlet-icon-btn {
|
|
|
22648
22772
|
}
|
|
22649
22773
|
|
|
22650
22774
|
/* A row with no leading slot: the words start at the control's own pad, and so does the task. */
|
|
22651
|
-
.crewlet-inbox-row:not(:has(.crewlet-inbox-row__leading))
|
|
22775
|
+
.crewlet-inbox-row:not(:has(.crewlet-inbox-row__leading)) .crewlet-inbox-row__aside {
|
|
22652
22776
|
padding-inline-start: var(--spacing-2);
|
|
22653
22777
|
}
|
|
22654
22778
|
|
|
@@ -22684,10 +22808,16 @@ a.crewlet-icon-btn {
|
|
|
22684
22808
|
}
|
|
22685
22809
|
|
|
22686
22810
|
@media (prefers-reduced-motion: reduce) {
|
|
22687
|
-
.crewlet-inbox-row
|
|
22811
|
+
.crewlet-inbox-row,
|
|
22812
|
+
.crewlet-inbox-row--leaving {
|
|
22688
22813
|
transition: none;
|
|
22689
22814
|
}
|
|
22690
22815
|
|
|
22816
|
+
.crewlet-inbox-row--arrived,
|
|
22817
|
+
.crewlet-inbox-list__arrival {
|
|
22818
|
+
animation: none;
|
|
22819
|
+
}
|
|
22820
|
+
|
|
22691
22821
|
.crewlet-inbox-list__toggle,
|
|
22692
22822
|
.crewlet-inbox-list__chevron {
|
|
22693
22823
|
transition: none;
|
|
@@ -24910,7 +25040,7 @@ a.crewlet-link-card:hover .crewlet-link-card__title {
|
|
|
24910
25040
|
}
|
|
24911
25041
|
|
|
24912
25042
|
|
|
24913
|
-
/* ListDetail-
|
|
25043
|
+
/* ListDetail-JGESKTR7.css */
|
|
24914
25044
|
/*
|
|
24915
25045
|
* ListDetail: a list beside the detail of what is chosen in it, each scrolling
|
|
24916
25046
|
* on its own in the height it is given, one pane where it is narrow
|
|
@@ -24923,6 +25053,17 @@ a.crewlet-link-card:hover .crewlet-link-card__title {
|
|
|
24923
25053
|
* drew the detail 130px wide beside a 17rem list. The phone rule below is the
|
|
24924
25054
|
* one decision that stays the window's: on a phone the page scrolls as a
|
|
24925
25055
|
* whole rather than each pane on its own.
|
|
25056
|
+
*
|
|
25057
|
+
* ON A SCREEN THAT FILLS THE WINDOW, THE PANE THAT SCROLLS IS ITS OUTERMOST
|
|
25058
|
+
* BOX, and its inset is padding inside it. Standing directly in the fill
|
|
25059
|
+
* column, the ListDetail reaches past the column's end pad to the sheet's
|
|
25060
|
+
* edge (below), so the scrollbar is the sheet's last pixel; the detail then
|
|
25061
|
+
* reserves its scrollbar's gutter whether or not it scrolls, and keeps the
|
|
25062
|
+
* screen's side inset between its content and that gutter, so a trailing
|
|
25063
|
+
* control (a header's Disconnect, a tile's Open) never touches the scrollbar,
|
|
25064
|
+
* does not move when the detail grows long enough to scroll, and ends under
|
|
25065
|
+
* the bar's last control. Anywhere else (a scrolling or a flush screen, or
|
|
25066
|
+
* outside a shell) it is as wide as its box, with nothing reserved.
|
|
24926
25067
|
*/
|
|
24927
25068
|
|
|
24928
25069
|
/* THE HAIRLINE STANDS MIDWAY between the two panes: the list's inset before it
|
|
@@ -24930,6 +25071,9 @@ a.crewlet-link-card:hover .crewlet-link-card__title {
|
|
|
24930
25071
|
the list than to the detail it divides it from; the two still add to 64. */
|
|
24931
25072
|
.crewlet-list-detail {
|
|
24932
25073
|
--crewlet-list-detail-gutter: var(--spacing-7);
|
|
25074
|
+
/* The inset at a scrolling pane's end: the screen's own side inset in a
|
|
25075
|
+
shell, so the page's two edges match. */
|
|
25076
|
+
--crewlet-list-detail-end: var(--crewlet-app-shell-inset, var(--spacing-5));
|
|
24933
25077
|
|
|
24934
25078
|
container: crewlet-list-detail / inline-size;
|
|
24935
25079
|
display: flex;
|
|
@@ -24940,6 +25084,21 @@ a.crewlet-link-card:hover .crewlet-link-card__title {
|
|
|
24940
25084
|
min-height: 0;
|
|
24941
25085
|
}
|
|
24942
25086
|
|
|
25087
|
+
/* STANDING IN A FILL SCREEN'S COLUMN, IT TAKES THE COLUMN'S END PAD BACK: the
|
|
25088
|
+
inset and the scrollbar's width, which the shell publishes for exactly
|
|
25089
|
+
this (`--crewlet-app-shell-bleed-end`, AppShell.css). The detail keeps the
|
|
25090
|
+
same inset inside itself, and reserves its gutter, there and only there. */
|
|
25091
|
+
:where(.crewlet-app-shell--fill:not(.crewlet-app-shell--fill-flush) .crewlet-app-shell__content) > .crewlet-list-detail {
|
|
25092
|
+
margin-right: calc(var(--crewlet-app-shell-bleed-end, 0px) * -1);
|
|
25093
|
+
}
|
|
25094
|
+
|
|
25095
|
+
:where(.crewlet-app-shell--fill:not(.crewlet-app-shell--fill-flush) .crewlet-app-shell__content)
|
|
25096
|
+
> .crewlet-list-detail
|
|
25097
|
+
.crewlet-list-detail__detail {
|
|
25098
|
+
padding-right: var(--crewlet-list-detail-end);
|
|
25099
|
+
scrollbar-gutter: stable;
|
|
25100
|
+
}
|
|
25101
|
+
|
|
24943
25102
|
.crewlet-list-detail__panes {
|
|
24944
25103
|
display: grid;
|
|
24945
25104
|
flex: 1 1 auto;
|
|
@@ -24981,6 +25140,15 @@ a.crewlet-link-card:hover .crewlet-link-card__title {
|
|
|
24981
25140
|
overflow-y: auto;
|
|
24982
25141
|
}
|
|
24983
25142
|
|
|
25143
|
+
/* The list is the pane that scrolls now, and takes the detail's end where
|
|
25144
|
+
the ListDetail reaches the sheet. */
|
|
25145
|
+
:where(.crewlet-app-shell--fill:not(.crewlet-app-shell--fill-flush) .crewlet-app-shell__content)
|
|
25146
|
+
> .crewlet-list-detail
|
|
25147
|
+
.crewlet-list-detail__list {
|
|
25148
|
+
padding-right: var(--crewlet-list-detail-end);
|
|
25149
|
+
scrollbar-gutter: stable;
|
|
25150
|
+
}
|
|
25151
|
+
|
|
24984
25152
|
.crewlet-list-detail--showing-list .crewlet-list-detail__detail,
|
|
24985
25153
|
.crewlet-list-detail--showing-detail .crewlet-list-detail__list {
|
|
24986
25154
|
display: none;
|
|
@@ -31110,7 +31278,7 @@ button.crewlet-presence-stack__member:focus-visible {
|
|
|
31110
31278
|
}
|
|
31111
31279
|
|
|
31112
31280
|
|
|
31113
|
-
/* ReadingPane-
|
|
31281
|
+
/* ReadingPane-VFTRDPC5.css */
|
|
31114
31282
|
/*
|
|
31115
31283
|
* One item read in full, in one column.
|
|
31116
31284
|
*
|
|
@@ -31145,6 +31313,25 @@ button.crewlet-presence-stack__member:focus-visible {
|
|
|
31145
31313
|
}
|
|
31146
31314
|
}
|
|
31147
31315
|
|
|
31316
|
+
/* A NEW ITEM PLAYS IN (`contentKey`): a short fade and rise, so the reader
|
|
31317
|
+
sees the pane move on rather than its words change under them. */
|
|
31318
|
+
.crewlet-reading-pane__column--entering {
|
|
31319
|
+
animation: crewlet-reading-pane-enter var(--motion-duration-moderate) var(--motion-easing-out);
|
|
31320
|
+
}
|
|
31321
|
+
|
|
31322
|
+
@keyframes crewlet-reading-pane-enter {
|
|
31323
|
+
from {
|
|
31324
|
+
opacity: 0;
|
|
31325
|
+
transform: translateY(var(--spacing-2));
|
|
31326
|
+
}
|
|
31327
|
+
}
|
|
31328
|
+
|
|
31329
|
+
@media (prefers-reduced-motion: reduce) {
|
|
31330
|
+
.crewlet-reading-pane__column--entering {
|
|
31331
|
+
animation: none;
|
|
31332
|
+
}
|
|
31333
|
+
}
|
|
31334
|
+
|
|
31148
31335
|
/* ---- The byline -------------------------------------------------------- */
|
|
31149
31336
|
|
|
31150
31337
|
.crewlet-reading-pane__byline {
|
|
@@ -36174,7 +36361,7 @@ svg.crewlet-select__chevron {
|
|
|
36174
36361
|
}
|
|
36175
36362
|
|
|
36176
36363
|
|
|
36177
|
-
/* SidebarNav-
|
|
36364
|
+
/* SidebarNav-IKBKGXW4.css */
|
|
36178
36365
|
/*
|
|
36179
36366
|
* The rail's navigation.
|
|
36180
36367
|
*
|
|
@@ -36592,6 +36779,26 @@ svg.crewlet-select__chevron {
|
|
|
36592
36779
|
line-height: 1;
|
|
36593
36780
|
}
|
|
36594
36781
|
|
|
36782
|
+
/*
|
|
36783
|
+
* A QUIET BADGE keeps the pill, its size and its place at the row's end, and
|
|
36784
|
+
* takes the quiet count's grey: a neutral wash (`--color-fill-soft`, the
|
|
36785
|
+
* ground of a quiet label at rest) carrying the secondary ink, for work that
|
|
36786
|
+
* is the reader's own and waiting, but not calling. The secondary ink rather
|
|
36787
|
+
* than the count's tertiary, because on a wash over a hovered row the
|
|
36788
|
+
* tertiary measured 4.41:1 in light; it is the ink the compact rail's quiet
|
|
36789
|
+
* figure takes, so the two shapes draw the same grey. On the reader's own row
|
|
36790
|
+
* its ink lifts to the row's, as the count's does; the suite measures the
|
|
36791
|
+
* pair on every ground a row can have.
|
|
36792
|
+
*/
|
|
36793
|
+
.crewlet-nav-item__badge--quiet {
|
|
36794
|
+
background: var(--color-fill-soft);
|
|
36795
|
+
color: var(--color-text-secondary);
|
|
36796
|
+
}
|
|
36797
|
+
|
|
36798
|
+
.crewlet-nav-item__row[aria-current='page'] .crewlet-nav-item__badge--quiet {
|
|
36799
|
+
color: inherit;
|
|
36800
|
+
}
|
|
36801
|
+
|
|
36595
36802
|
/* Beside a count the badge is the second figure, not a second push to the
|
|
36596
36803
|
end: two auto margins would split the room between them and float the
|
|
36597
36804
|
count into the middle of the row. */
|