@crewlethq/ui 0.83.0 → 0.84.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 +34 -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 +2 -2
- 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/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/CompactNav/CompactNav.d.ts +10 -6
- package/dist/CompactNav/index.js +1 -1
- package/dist/DataView/index.js +1 -1
- package/dist/DirectoryList/index.js +1 -1
- package/dist/{DirectoryList-XZOWYOA3.css → DirectoryList-IXQIMNFS.css} +8 -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/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/RichEditor/index.js +1 -1
- package/dist/SectionFrame/index.js +2 -2
- package/dist/ShareDialog/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/{chunk-AUSFKGKL.js → chunk-3AMWXJQX.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-25JQNHTC.js → chunk-BRK3HXGZ.js} +8 -2
- package/dist/{chunk-QM3432PH.js → chunk-C4JTX25K.js} +2 -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-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/generated/index.js +31 -30
- package/dist/index.js +31 -30
- package/dist/styles.css +294 -88
- package/dist/utils/developing.d.ts +10 -0
- package/package.json +3 -3
- package/dist/ActionCard-47WSZ2O5.css +0 -110
- package/dist/{Editor-5D5Z3LBQ.js → Editor-VGNB35NJ.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 */
|
|
@@ -8678,7 +8738,7 @@ a.crewlet-breadcrumb__crumb:focus-visible {
|
|
|
8678
8738
|
}
|
|
8679
8739
|
|
|
8680
8740
|
|
|
8681
|
-
/* CatalogTile-
|
|
8741
|
+
/* CatalogTile-TMOSGSV3.css */
|
|
8682
8742
|
/*
|
|
8683
8743
|
* CatalogTile: mark, name and state, one sentence, and a foot with a quiet
|
|
8684
8744
|
* fact and one action.
|
|
@@ -8760,9 +8820,10 @@ a.crewlet-breadcrumb__crumb:focus-visible {
|
|
|
8760
8820
|
overflow-wrap: anywhere;
|
|
8761
8821
|
}
|
|
8762
8822
|
|
|
8763
|
-
/*
|
|
8764
|
-
|
|
8765
|
-
and on a 16px page "Connected" stood
|
|
8823
|
+
/* THE STATE, the tone's dot and its word, at the caption step the fact
|
|
8824
|
+
beside it takes, so a compact tile's line reads name, state, fact at one
|
|
8825
|
+
height. It inherited the page's size, and on a 16px page "Connected" stood
|
|
8826
|
+
taller than the name before it. */
|
|
8766
8827
|
.crewlet-catalog-tile__status {
|
|
8767
8828
|
display: inline-flex;
|
|
8768
8829
|
font-size: var(--font-size-xs);
|
|
@@ -19032,7 +19093,7 @@ svg.crewlet-datetime__chevron {
|
|
|
19032
19093
|
}
|
|
19033
19094
|
|
|
19034
19095
|
|
|
19035
|
-
/* DirectoryList-
|
|
19096
|
+
/* DirectoryList-IXQIMNFS.css */
|
|
19036
19097
|
/*
|
|
19037
19098
|
* DirectoryList: named groups of links, each line a mark, a label and a state,
|
|
19038
19099
|
* and one foot that holds the bottom (DirectoryList.tsx).
|
|
@@ -19052,7 +19113,12 @@ svg.crewlet-datetime__chevron {
|
|
|
19052
19113
|
font-family: var(--font-family-sans);
|
|
19053
19114
|
}
|
|
19054
19115
|
|
|
19055
|
-
/* The groups take the room and scroll on their own, so the foot stays put.
|
|
19116
|
+
/* The groups take the room and scroll on their own, so the foot stays put.
|
|
19117
|
+
|
|
19118
|
+
THEIR INSET IS INSIDE THE SCROLLER. The gutter is reserved whether or not
|
|
19119
|
+
they scroll, and the lines end a step before it: a line's state pill stood
|
|
19120
|
+
against the scrollbar, and moved by its width when the list grew long
|
|
19121
|
+
enough to scroll. */
|
|
19056
19122
|
.crewlet-directory__groups {
|
|
19057
19123
|
display: flex;
|
|
19058
19124
|
flex: 1 1 auto;
|
|
@@ -19061,7 +19127,9 @@ svg.crewlet-datetime__chevron {
|
|
|
19061
19127
|
under it rather than a band between two runs of them. */
|
|
19062
19128
|
gap: var(--spacing-3);
|
|
19063
19129
|
min-height: 0;
|
|
19130
|
+
padding-right: var(--spacing-2);
|
|
19064
19131
|
overflow-y: auto;
|
|
19132
|
+
scrollbar-gutter: stable;
|
|
19065
19133
|
}
|
|
19066
19134
|
|
|
19067
19135
|
.crewlet-directory__group {
|
|
@@ -22296,7 +22364,7 @@ a.crewlet-icon-btn {
|
|
|
22296
22364
|
}
|
|
22297
22365
|
|
|
22298
22366
|
|
|
22299
|
-
/* InboxList-
|
|
22367
|
+
/* InboxList-X5Q5WWAI.css */
|
|
22300
22368
|
/*
|
|
22301
22369
|
* The inbox's column: groups of rows, each row a control with the task it is
|
|
22302
22370
|
* about under it, and the quiet toggles at the end.
|
|
@@ -22325,6 +22393,9 @@ a.crewlet-icon-btn {
|
|
|
22325
22393
|
|
|
22326
22394
|
/* The heading's own line box is the label's, so the label sits where it is drawn. */
|
|
22327
22395
|
.crewlet-inbox-list__label {
|
|
22396
|
+
/* The arrival's wash stands behind the label's words, inside it. */
|
|
22397
|
+
position: relative;
|
|
22398
|
+
isolation: isolate;
|
|
22328
22399
|
margin: 0;
|
|
22329
22400
|
padding: var(--spacing-3) var(--spacing-2) var(--spacing-1);
|
|
22330
22401
|
font: inherit;
|
|
@@ -22332,6 +22403,32 @@ a.crewlet-icon-btn {
|
|
|
22332
22403
|
line-height: var(--font-line-height-snug);
|
|
22333
22404
|
}
|
|
22334
22405
|
|
|
22406
|
+
/*
|
|
22407
|
+
* A ROW ARRIVED: a wash of the accent that fades back to the ground, over the
|
|
22408
|
+
* row itself, or over a group's label and count where the row landed in a
|
|
22409
|
+
* closed group. The row's keyframes name no last step, so the wash returns
|
|
22410
|
+
* to whatever the row draws of its own (hover, selected).
|
|
22411
|
+
*/
|
|
22412
|
+
.crewlet-inbox-list__arrival {
|
|
22413
|
+
position: absolute;
|
|
22414
|
+
inset: 0;
|
|
22415
|
+
z-index: -1;
|
|
22416
|
+
border-radius: var(--radius-xs);
|
|
22417
|
+
pointer-events: none;
|
|
22418
|
+
animation: crewlet-inbox-arrive calc(var(--motion-duration-moderate) * 8) var(--motion-easing-out) both;
|
|
22419
|
+
}
|
|
22420
|
+
|
|
22421
|
+
.crewlet-inbox-row--arrived {
|
|
22422
|
+
animation: crewlet-inbox-arrive calc(var(--motion-duration-moderate) * 8) var(--motion-easing-out);
|
|
22423
|
+
}
|
|
22424
|
+
|
|
22425
|
+
@keyframes crewlet-inbox-arrive {
|
|
22426
|
+
0%,
|
|
22427
|
+
40% {
|
|
22428
|
+
background: var(--color-brand-accent-soft-strong);
|
|
22429
|
+
}
|
|
22430
|
+
}
|
|
22431
|
+
|
|
22335
22432
|
/* The count after a label, in the quiet ink and the label's own register. */
|
|
22336
22433
|
.crewlet-inbox-list__count {
|
|
22337
22434
|
margin-inline-start: var(--spacing-1);
|
|
@@ -22406,12 +22503,38 @@ a.crewlet-icon-btn {
|
|
|
22406
22503
|
* a selected row takes no hover on top of it: both are a background on the
|
|
22407
22504
|
* same element, and a composite of the two is a colour nothing has measured.
|
|
22408
22505
|
*/
|
|
22506
|
+
/* ONE TRACK, so a leaving row can close its height (below). */
|
|
22409
22507
|
.crewlet-inbox-row {
|
|
22508
|
+
display: grid;
|
|
22509
|
+
grid-template-rows: 1fr;
|
|
22410
22510
|
min-width: 0;
|
|
22411
22511
|
border-radius: var(--radius-md);
|
|
22412
22512
|
transition: background var(--motion-duration-fast) var(--motion-easing-default);
|
|
22413
22513
|
}
|
|
22414
22514
|
|
|
22515
|
+
.crewlet-inbox-row__body {
|
|
22516
|
+
min-width: 0;
|
|
22517
|
+
min-height: 0;
|
|
22518
|
+
}
|
|
22519
|
+
|
|
22520
|
+
/*
|
|
22521
|
+
* A ROW LEAVING closes its one track to nothing and fades, on the slow step
|
|
22522
|
+
* with the emphasized curve, the motion a column opens and shuts by, so the
|
|
22523
|
+
* rows under it slide up into its place. The shell's presence waits on the
|
|
22524
|
+
* track's transition (`INBOX_ROW_LEAVE`), and the row is inert all the while.
|
|
22525
|
+
*/
|
|
22526
|
+
.crewlet-inbox-row--leaving {
|
|
22527
|
+
grid-template-rows: 0fr;
|
|
22528
|
+
opacity: 0;
|
|
22529
|
+
transition:
|
|
22530
|
+
grid-template-rows var(--motion-duration-slow) var(--motion-easing-emphasized),
|
|
22531
|
+
opacity var(--motion-duration-moderate) var(--motion-easing-out);
|
|
22532
|
+
}
|
|
22533
|
+
|
|
22534
|
+
.crewlet-inbox-row--leaving .crewlet-inbox-row__body {
|
|
22535
|
+
overflow: hidden;
|
|
22536
|
+
}
|
|
22537
|
+
|
|
22415
22538
|
.crewlet-inbox-row:hover {
|
|
22416
22539
|
background: var(--color-surface-hover);
|
|
22417
22540
|
}
|
|
@@ -22648,7 +22771,7 @@ a.crewlet-icon-btn {
|
|
|
22648
22771
|
}
|
|
22649
22772
|
|
|
22650
22773
|
/* 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))
|
|
22774
|
+
.crewlet-inbox-row:not(:has(.crewlet-inbox-row__leading)) .crewlet-inbox-row__aside {
|
|
22652
22775
|
padding-inline-start: var(--spacing-2);
|
|
22653
22776
|
}
|
|
22654
22777
|
|
|
@@ -22684,10 +22807,16 @@ a.crewlet-icon-btn {
|
|
|
22684
22807
|
}
|
|
22685
22808
|
|
|
22686
22809
|
@media (prefers-reduced-motion: reduce) {
|
|
22687
|
-
.crewlet-inbox-row
|
|
22810
|
+
.crewlet-inbox-row,
|
|
22811
|
+
.crewlet-inbox-row--leaving {
|
|
22688
22812
|
transition: none;
|
|
22689
22813
|
}
|
|
22690
22814
|
|
|
22815
|
+
.crewlet-inbox-row--arrived,
|
|
22816
|
+
.crewlet-inbox-list__arrival {
|
|
22817
|
+
animation: none;
|
|
22818
|
+
}
|
|
22819
|
+
|
|
22691
22820
|
.crewlet-inbox-list__toggle,
|
|
22692
22821
|
.crewlet-inbox-list__chevron {
|
|
22693
22822
|
transition: none;
|
|
@@ -24910,7 +25039,7 @@ a.crewlet-link-card:hover .crewlet-link-card__title {
|
|
|
24910
25039
|
}
|
|
24911
25040
|
|
|
24912
25041
|
|
|
24913
|
-
/* ListDetail-
|
|
25042
|
+
/* ListDetail-JGESKTR7.css */
|
|
24914
25043
|
/*
|
|
24915
25044
|
* ListDetail: a list beside the detail of what is chosen in it, each scrolling
|
|
24916
25045
|
* on its own in the height it is given, one pane where it is narrow
|
|
@@ -24923,6 +25052,17 @@ a.crewlet-link-card:hover .crewlet-link-card__title {
|
|
|
24923
25052
|
* drew the detail 130px wide beside a 17rem list. The phone rule below is the
|
|
24924
25053
|
* one decision that stays the window's: on a phone the page scrolls as a
|
|
24925
25054
|
* whole rather than each pane on its own.
|
|
25055
|
+
*
|
|
25056
|
+
* ON A SCREEN THAT FILLS THE WINDOW, THE PANE THAT SCROLLS IS ITS OUTERMOST
|
|
25057
|
+
* BOX, and its inset is padding inside it. Standing directly in the fill
|
|
25058
|
+
* column, the ListDetail reaches past the column's end pad to the sheet's
|
|
25059
|
+
* edge (below), so the scrollbar is the sheet's last pixel; the detail then
|
|
25060
|
+
* reserves its scrollbar's gutter whether or not it scrolls, and keeps the
|
|
25061
|
+
* screen's side inset between its content and that gutter, so a trailing
|
|
25062
|
+
* control (a header's Disconnect, a tile's Open) never touches the scrollbar,
|
|
25063
|
+
* does not move when the detail grows long enough to scroll, and ends under
|
|
25064
|
+
* the bar's last control. Anywhere else (a scrolling or a flush screen, or
|
|
25065
|
+
* outside a shell) it is as wide as its box, with nothing reserved.
|
|
24926
25066
|
*/
|
|
24927
25067
|
|
|
24928
25068
|
/* THE HAIRLINE STANDS MIDWAY between the two panes: the list's inset before it
|
|
@@ -24930,6 +25070,9 @@ a.crewlet-link-card:hover .crewlet-link-card__title {
|
|
|
24930
25070
|
the list than to the detail it divides it from; the two still add to 64. */
|
|
24931
25071
|
.crewlet-list-detail {
|
|
24932
25072
|
--crewlet-list-detail-gutter: var(--spacing-7);
|
|
25073
|
+
/* The inset at a scrolling pane's end: the screen's own side inset in a
|
|
25074
|
+
shell, so the page's two edges match. */
|
|
25075
|
+
--crewlet-list-detail-end: var(--crewlet-app-shell-inset, var(--spacing-5));
|
|
24933
25076
|
|
|
24934
25077
|
container: crewlet-list-detail / inline-size;
|
|
24935
25078
|
display: flex;
|
|
@@ -24940,6 +25083,21 @@ a.crewlet-link-card:hover .crewlet-link-card__title {
|
|
|
24940
25083
|
min-height: 0;
|
|
24941
25084
|
}
|
|
24942
25085
|
|
|
25086
|
+
/* STANDING IN A FILL SCREEN'S COLUMN, IT TAKES THE COLUMN'S END PAD BACK: the
|
|
25087
|
+
inset and the scrollbar's width, which the shell publishes for exactly
|
|
25088
|
+
this (`--crewlet-app-shell-bleed-end`, AppShell.css). The detail keeps the
|
|
25089
|
+
same inset inside itself, and reserves its gutter, there and only there. */
|
|
25090
|
+
:where(.crewlet-app-shell--fill:not(.crewlet-app-shell--fill-flush) .crewlet-app-shell__content) > .crewlet-list-detail {
|
|
25091
|
+
margin-right: calc(var(--crewlet-app-shell-bleed-end, 0px) * -1);
|
|
25092
|
+
}
|
|
25093
|
+
|
|
25094
|
+
:where(.crewlet-app-shell--fill:not(.crewlet-app-shell--fill-flush) .crewlet-app-shell__content)
|
|
25095
|
+
> .crewlet-list-detail
|
|
25096
|
+
.crewlet-list-detail__detail {
|
|
25097
|
+
padding-right: var(--crewlet-list-detail-end);
|
|
25098
|
+
scrollbar-gutter: stable;
|
|
25099
|
+
}
|
|
25100
|
+
|
|
24943
25101
|
.crewlet-list-detail__panes {
|
|
24944
25102
|
display: grid;
|
|
24945
25103
|
flex: 1 1 auto;
|
|
@@ -24981,6 +25139,15 @@ a.crewlet-link-card:hover .crewlet-link-card__title {
|
|
|
24981
25139
|
overflow-y: auto;
|
|
24982
25140
|
}
|
|
24983
25141
|
|
|
25142
|
+
/* The list is the pane that scrolls now, and takes the detail's end where
|
|
25143
|
+
the ListDetail reaches the sheet. */
|
|
25144
|
+
:where(.crewlet-app-shell--fill:not(.crewlet-app-shell--fill-flush) .crewlet-app-shell__content)
|
|
25145
|
+
> .crewlet-list-detail
|
|
25146
|
+
.crewlet-list-detail__list {
|
|
25147
|
+
padding-right: var(--crewlet-list-detail-end);
|
|
25148
|
+
scrollbar-gutter: stable;
|
|
25149
|
+
}
|
|
25150
|
+
|
|
24984
25151
|
.crewlet-list-detail--showing-list .crewlet-list-detail__detail,
|
|
24985
25152
|
.crewlet-list-detail--showing-detail .crewlet-list-detail__list {
|
|
24986
25153
|
display: none;
|
|
@@ -31110,7 +31277,7 @@ button.crewlet-presence-stack__member:focus-visible {
|
|
|
31110
31277
|
}
|
|
31111
31278
|
|
|
31112
31279
|
|
|
31113
|
-
/* ReadingPane-
|
|
31280
|
+
/* ReadingPane-VFTRDPC5.css */
|
|
31114
31281
|
/*
|
|
31115
31282
|
* One item read in full, in one column.
|
|
31116
31283
|
*
|
|
@@ -31145,6 +31312,25 @@ button.crewlet-presence-stack__member:focus-visible {
|
|
|
31145
31312
|
}
|
|
31146
31313
|
}
|
|
31147
31314
|
|
|
31315
|
+
/* A NEW ITEM PLAYS IN (`contentKey`): a short fade and rise, so the reader
|
|
31316
|
+
sees the pane move on rather than its words change under them. */
|
|
31317
|
+
.crewlet-reading-pane__column--entering {
|
|
31318
|
+
animation: crewlet-reading-pane-enter var(--motion-duration-moderate) var(--motion-easing-out);
|
|
31319
|
+
}
|
|
31320
|
+
|
|
31321
|
+
@keyframes crewlet-reading-pane-enter {
|
|
31322
|
+
from {
|
|
31323
|
+
opacity: 0;
|
|
31324
|
+
transform: translateY(var(--spacing-2));
|
|
31325
|
+
}
|
|
31326
|
+
}
|
|
31327
|
+
|
|
31328
|
+
@media (prefers-reduced-motion: reduce) {
|
|
31329
|
+
.crewlet-reading-pane__column--entering {
|
|
31330
|
+
animation: none;
|
|
31331
|
+
}
|
|
31332
|
+
}
|
|
31333
|
+
|
|
31148
31334
|
/* ---- The byline -------------------------------------------------------- */
|
|
31149
31335
|
|
|
31150
31336
|
.crewlet-reading-pane__byline {
|
|
@@ -36174,7 +36360,7 @@ svg.crewlet-select__chevron {
|
|
|
36174
36360
|
}
|
|
36175
36361
|
|
|
36176
36362
|
|
|
36177
|
-
/* SidebarNav-
|
|
36363
|
+
/* SidebarNav-IKBKGXW4.css */
|
|
36178
36364
|
/*
|
|
36179
36365
|
* The rail's navigation.
|
|
36180
36366
|
*
|
|
@@ -36592,6 +36778,26 @@ svg.crewlet-select__chevron {
|
|
|
36592
36778
|
line-height: 1;
|
|
36593
36779
|
}
|
|
36594
36780
|
|
|
36781
|
+
/*
|
|
36782
|
+
* A QUIET BADGE keeps the pill, its size and its place at the row's end, and
|
|
36783
|
+
* takes the quiet count's grey: a neutral wash (`--color-fill-soft`, the
|
|
36784
|
+
* ground of a quiet label at rest) carrying the secondary ink, for work that
|
|
36785
|
+
* is the reader's own and waiting, but not calling. The secondary ink rather
|
|
36786
|
+
* than the count's tertiary, because on a wash over a hovered row the
|
|
36787
|
+
* tertiary measured 4.41:1 in light; it is the ink the compact rail's quiet
|
|
36788
|
+
* figure takes, so the two shapes draw the same grey. On the reader's own row
|
|
36789
|
+
* its ink lifts to the row's, as the count's does; the suite measures the
|
|
36790
|
+
* pair on every ground a row can have.
|
|
36791
|
+
*/
|
|
36792
|
+
.crewlet-nav-item__badge--quiet {
|
|
36793
|
+
background: var(--color-fill-soft);
|
|
36794
|
+
color: var(--color-text-secondary);
|
|
36795
|
+
}
|
|
36796
|
+
|
|
36797
|
+
.crewlet-nav-item__row[aria-current='page'] .crewlet-nav-item__badge--quiet {
|
|
36798
|
+
color: inherit;
|
|
36799
|
+
}
|
|
36800
|
+
|
|
36595
36801
|
/* Beside a count the badge is the second figure, not a second push to the
|
|
36596
36802
|
end: two auto margins would split the room between them and float the
|
|
36597
36803
|
count into the middle of the row. */
|