@crewlethq/ui 0.52.2 → 0.54.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 +26 -0
- package/dist/AgentHandoffPanel/index.js +5 -5
- package/dist/AppShell/index.js +3 -3
- package/dist/{AppShell-BIUFNT3J.css → AppShell-5LPXYUV3.css} +19 -3
- package/dist/ArrangeList/index.js +5 -5
- package/dist/ArtifactBar/index.js +5 -5
- package/dist/ArtifactCard/index.js +5 -5
- package/dist/AvatarPicker/index.js +7 -7
- package/dist/Canvas/index.js +2 -2
- package/dist/CanvasBoard/index.js +4 -4
- package/dist/CanvasToolbar/index.js +3 -3
- package/dist/Checkbox/index.js +4 -4
- package/dist/ColorField/index.js +4 -4
- package/dist/Combobox/index.js +4 -4
- package/dist/CommandPalette/index.js +4 -4
- package/dist/CommentThread/index.js +5 -5
- package/dist/Composer/index.js +4 -4
- package/dist/ConfirmField/index.js +4 -4
- package/dist/ContrastHelp/index.js +1 -1
- package/dist/DataGrid/index.js +5 -5
- package/dist/DataTable/index.js +6 -6
- package/dist/DataView/index.js +8 -8
- package/dist/DateTimePicker/index.js +2 -2
- package/dist/DocTabsEditor/index.js +5 -5
- package/dist/{Editor-FEKMRFBK.js → Editor-RMM3NQJ2.js} +4 -4
- package/dist/FolderTile/FolderTile.d.ts +20 -13
- package/dist/FolderTile/index.d.ts +1 -1
- package/dist/FolderTile/index.js +1 -1
- package/dist/{FolderTile-MIUEB7SO.css → FolderTile-NM7CRTVH.css} +168 -29
- package/dist/HuePicker/index.js +5 -5
- package/dist/Input/index.js +3 -3
- package/dist/LinkInterstitial/index.js +1 -1
- package/dist/ListInput/index.js +4 -4
- package/dist/MarkdownEditor/index.js +5 -5
- package/dist/Menu/index.js +2 -2
- package/dist/MergeConflicts/index.js +5 -5
- package/dist/Modal/index.js +1 -1
- package/dist/OrgTable/index.js +1 -1
- package/dist/PresenterView/index.js +1 -1
- package/dist/PrincipalPicker/index.js +5 -5
- package/dist/ReviewList/ReviewList.d.ts +58 -0
- package/dist/ReviewList/index.d.ts +3 -0
- package/dist/ReviewList/index.js +6 -0
- package/dist/ReviewList-TIN6C2JN.css +116 -0
- package/dist/RichEditor/index.js +1 -1
- package/dist/SegmentedControl/index.js +4 -4
- package/dist/SelectionBar/index.js +2 -2
- package/dist/SetupWizard/SetupWizard.d.ts +17 -11
- package/dist/SetupWizard/index.js +1 -1
- package/dist/{SetupWizard-GZK5UDKC.css → SetupWizard-Z54H6RYW.css} +86 -15
- package/dist/ShareDialog/index.js +1 -1
- package/dist/SheetColumnEditor/index.js +9 -9
- package/dist/SheetGrid/index.js +4 -4
- package/dist/SlideFilmstrip/index.js +4 -4
- package/dist/Switcher/index.js +4 -4
- package/dist/Tabs/index.js +3 -3
- package/dist/TagsInput/index.js +3 -3
- package/dist/ThemeSwitcher/index.js +5 -5
- package/dist/TimeWindowPicker/index.js +4 -4
- package/dist/TreeCanvas/index.js +3 -3
- package/dist/TreeGrid/index.js +1 -1
- package/dist/VersionCompare/index.js +5 -5
- package/dist/{chunk-D6MTBXAJ.js → chunk-4QIGQC6Y.js} +2 -2
- package/dist/{chunk-CQEYF3UW.js → chunk-6PEALINJ.js} +2 -2
- package/dist/{chunk-2GIWL7IS.js → chunk-BR4FA2NG.js} +1 -1
- package/dist/{chunk-VP2ODUCC.js → chunk-CNTBUK24.js} +2 -2
- package/dist/{chunk-J53T2QAH.js → chunk-CONCQJ2X.js} +4 -4
- package/dist/{chunk-GRKGLZFM.js → chunk-DTCX5KCL.js} +4 -4
- package/dist/{chunk-EZ43L6T7.js → chunk-DU5AHR5B.js} +1 -1
- package/dist/{chunk-3NXWH5NC.js → chunk-E2X2MXVK.js} +1 -1
- package/dist/{chunk-G5SUSCWL.js → chunk-EMC2QD76.js} +1 -1
- package/dist/{chunk-SS4XCUUJ.js → chunk-F45VSK2M.js} +2 -2
- package/dist/{chunk-ILFEWRLG.js → chunk-GKRPPSWY.js} +1 -1
- package/dist/{chunk-7PE56HHD.js → chunk-GM2LN24I.js} +1 -1
- package/dist/{chunk-5O72FSOK.js → chunk-HEBW53YG.js} +2 -2
- package/dist/{chunk-VN47PYUF.js → chunk-IRAS2CZ5.js} +3 -3
- package/dist/{chunk-CUL5XV6O.js → chunk-JM5AN3CF.js} +1 -1
- package/dist/{chunk-SQ4JFHO7.js → chunk-K2FNW3MK.js} +1 -1
- package/dist/{chunk-3QSKDZR5.js → chunk-LHKIP4ZP.js} +2 -2
- package/dist/{chunk-VVOPDWLX.js → chunk-LVFG2RER.js} +1 -1
- package/dist/{chunk-SEPSXOGJ.js → chunk-LXCRHVMZ.js} +1 -1
- package/dist/{chunk-GPZXBJFU.js → chunk-M5LON3CU.js} +2 -2
- package/dist/{chunk-CAVWDJF4.js → chunk-MZ3QFQDL.js} +1 -1
- package/dist/{chunk-WXOYHVWG.js → chunk-N224FUS3.js} +1 -1
- package/dist/{chunk-X4NIE7CI.js → chunk-NILOJV62.js} +1 -1
- package/dist/chunk-OBUQVGEG.js +38 -0
- package/dist/{chunk-C6Z3MLSA.js → chunk-PZQK7DWI.js} +1 -1
- package/dist/{chunk-XS2FJVMT.js → chunk-PZZHO6OS.js} +1 -1
- package/dist/{chunk-SSHDQBHR.js → chunk-QEVW4DIN.js} +1 -1
- package/dist/{chunk-RQI43UJ7.js → chunk-QRA2GOK2.js} +1 -1
- package/dist/{chunk-34RMTXDZ.js → chunk-RBUA7ZNK.js} +1 -1
- package/dist/{chunk-6FVGSWLS.js → chunk-SMVWDO72.js} +1 -1
- package/dist/{chunk-FXHWOXGD.js → chunk-TFIINTEU.js} +17 -9
- package/dist/{chunk-5WYPSVRX.js → chunk-UD76FCAO.js} +1 -1
- package/dist/{chunk-RFPCHMSX.js → chunk-VBEMIZIJ.js} +1 -1
- package/dist/{chunk-NMR7AJSB.js → chunk-VEXOODVM.js} +1 -1
- package/dist/{chunk-DTSZUH6H.js → chunk-WXWMHYKW.js} +1 -1
- package/dist/{chunk-FNPZ3LLQ.js → chunk-XNKARRTG.js} +2 -2
- package/dist/{chunk-UJ4VVK7R.js → chunk-XS7HRQVY.js} +1 -1
- package/dist/{chunk-6VQA2LZC.js → chunk-ZBZUTUE7.js} +2 -2
- package/dist/generated/index.d.ts +1 -0
- package/dist/generated/index.js +68 -67
- package/dist/index.js +68 -67
- package/dist/styles.css +395 -50
- package/package.json +3 -3
- package/dist/{chunk-SXBJMBSV.js → chunk-25S5YROP.js} +2 -2
- package/dist/{chunk-TMM32U7D.js → chunk-3JIZ2A6K.js} +1 -1
- package/dist/{chunk-P432I5DQ.js → chunk-55MPFB2U.js} +0 -0
- package/dist/{chunk-OCRVY42T.js → chunk-F6CKQX5D.js} +1 -1
- package/dist/{chunk-ZFM5L7M4.js → chunk-I6NNUIIT.js} +1 -1
- package/dist/{chunk-D7Q5MQRF.js → chunk-ICPQIAD6.js} +1 -1
- package/dist/{chunk-LJHH4WWB.js → chunk-QLEJPU5R.js} +2 -2
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import './FolderTile.css';
|
|
2
|
-
export { FolderTile, describeFolderContents } from './FolderTile.js';
|
|
2
|
+
export { FolderTile, describeFolderContents, folderContentsParts } from './FolderTile.js';
|
|
3
3
|
export type { FolderContents, FolderContentsLabels, FolderTileLabels, FolderTileProps, FolderTileSize } from './FolderTile.js';
|
package/dist/FolderTile/index.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/*
|
|
2
2
|
* A folder in a gallery: a short tile on Card (no preview), the folder glyph
|
|
3
|
-
* on a neutral tint over the name and one quiet
|
|
4
|
-
*
|
|
5
|
-
* takes, and a tile becomes one under the phone breakpoint.
|
|
3
|
+
* on a neutral tint over the name and one quiet run of facts, and a More menu
|
|
4
|
+
* level with the glyph, outside the link. `row` is the full width row a phone
|
|
5
|
+
* takes (44px at least), and a tile becomes one under the phone breakpoint.
|
|
6
6
|
*
|
|
7
7
|
* ON TOP OF CARD, so every rule that changes Card's own layout carries Card's
|
|
8
8
|
* class too: the two sheets meet at equal weight and the bundle orders them by
|
|
@@ -10,10 +10,11 @@
|
|
|
10
10
|
*/
|
|
11
11
|
|
|
12
12
|
/*
|
|
13
|
-
* THE ARTIFACT CARD'S CORNER, so a folder tile and the cards below
|
|
14
|
-
* one gallery
|
|
15
|
-
*
|
|
16
|
-
*
|
|
13
|
+
* THE ARTIFACT CARD'S CORNER AND HOVER, so a folder tile and the cards below
|
|
14
|
+
* it read as one gallery: under the pointer the hairline darkens and a
|
|
15
|
+
* hairline shadow settles under the tile, quickly and with the standard ease,
|
|
16
|
+
* exactly as a card's does. Nothing lifts or moves. The chosen state is
|
|
17
|
+
* Card's (`selected`): the selected edge over the selected fill.
|
|
17
18
|
*/
|
|
18
19
|
.crewlet-card.crewlet-folder-tile {
|
|
19
20
|
/*
|
|
@@ -26,6 +27,7 @@
|
|
|
26
27
|
--crewlet-folder-tile-pad-inline: var(--spacing-4);
|
|
27
28
|
--crewlet-folder-tile-floor: auto;
|
|
28
29
|
--crewlet-folder-tile-glyph: 40px;
|
|
30
|
+
--crewlet-folder-tile-glyph-icon: 20px;
|
|
29
31
|
--crewlet-folder-tile-glyph-radius: var(--radius-md);
|
|
30
32
|
/*
|
|
31
33
|
* THE WORDS ARE SET AS THE CARDS BESIDE THEM: a tile's name at a gallery
|
|
@@ -54,13 +56,36 @@
|
|
|
54
56
|
--crewlet-folder-tile-actions-shift: 0;
|
|
55
57
|
--crewlet-folder-tile-reserve-link: 0px;
|
|
56
58
|
|
|
59
|
+
/*
|
|
60
|
+
* THE CARD'S SEPARATOR between two facts, a quiet dot with a step of air on
|
|
61
|
+
* each side: the width each fact after the first opens with.
|
|
62
|
+
*/
|
|
63
|
+
--crewlet-folder-tile-separator: var(--spacing-5);
|
|
64
|
+
/* Who can see it is a glyph and its word; the row keeps the glyph alone. */
|
|
65
|
+
--crewlet-folder-tile-word-position: static;
|
|
66
|
+
--crewlet-folder-tile-word-size: auto;
|
|
67
|
+
--crewlet-folder-tile-word-clip: none;
|
|
68
|
+
|
|
57
69
|
flex-direction: row;
|
|
58
70
|
align-items: stretch;
|
|
59
71
|
min-width: 0;
|
|
60
72
|
border-radius: var(--crewlet-folder-tile-radius);
|
|
61
73
|
}
|
|
62
74
|
|
|
63
|
-
/*
|
|
75
|
+
/* The card's quick step, over Card's slower interactive one. */
|
|
76
|
+
.crewlet-card.crewlet-folder-tile.is-interactive {
|
|
77
|
+
transition:
|
|
78
|
+
border-color var(--motion-duration-fast) var(--motion-easing-out),
|
|
79
|
+
box-shadow var(--motion-duration-fast) var(--motion-easing-out);
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
.crewlet-card.crewlet-folder-tile:hover {
|
|
83
|
+
box-shadow: var(--shadow-xs);
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
/* ---- the row: a phone's, full width and 44px at least ----
|
|
87
|
+
The glyph and its tint keep the tile's proportion (the glyph half the
|
|
88
|
+
tint), at the list name cell's 32px tint. */
|
|
64
89
|
|
|
65
90
|
.crewlet-card.crewlet-folder-tile--row {
|
|
66
91
|
--crewlet-folder-tile-radius: var(--radius-lg);
|
|
@@ -68,8 +93,9 @@
|
|
|
68
93
|
--crewlet-folder-tile-pad-block: var(--spacing-1);
|
|
69
94
|
--crewlet-folder-tile-pad-inline: var(--spacing-3);
|
|
70
95
|
--crewlet-folder-tile-floor: var(--size-control-lg);
|
|
71
|
-
--crewlet-folder-tile-glyph:
|
|
72
|
-
--crewlet-folder-tile-glyph-
|
|
96
|
+
--crewlet-folder-tile-glyph: 32px;
|
|
97
|
+
--crewlet-folder-tile-glyph-icon: 16px;
|
|
98
|
+
--crewlet-folder-tile-glyph-radius: var(--radius-md);
|
|
73
99
|
--crewlet-folder-tile-words-gap: 2px;
|
|
74
100
|
--crewlet-folder-tile-actions-inset: var(--spacing-2);
|
|
75
101
|
--crewlet-folder-tile-direction: row;
|
|
@@ -77,6 +103,9 @@
|
|
|
77
103
|
--crewlet-folder-tile-actions-top: 50%;
|
|
78
104
|
--crewlet-folder-tile-actions-shift: -50%;
|
|
79
105
|
--crewlet-folder-tile-reserve-link: calc(var(--size-control-sm) + var(--spacing-1));
|
|
106
|
+
--crewlet-folder-tile-word-position: absolute;
|
|
107
|
+
--crewlet-folder-tile-word-size: 1px;
|
|
108
|
+
--crewlet-folder-tile-word-clip: inset(50%);
|
|
80
109
|
}
|
|
81
110
|
|
|
82
111
|
/* UNDER THE PHONE BREAKPOINT A TILE IS THE ROW, strictly under, as the
|
|
@@ -88,8 +117,9 @@
|
|
|
88
117
|
--crewlet-folder-tile-pad-block: var(--spacing-1);
|
|
89
118
|
--crewlet-folder-tile-pad-inline: var(--spacing-3);
|
|
90
119
|
--crewlet-folder-tile-floor: var(--size-control-lg);
|
|
91
|
-
--crewlet-folder-tile-glyph:
|
|
92
|
-
--crewlet-folder-tile-glyph-
|
|
120
|
+
--crewlet-folder-tile-glyph: 32px;
|
|
121
|
+
--crewlet-folder-tile-glyph-icon: 16px;
|
|
122
|
+
--crewlet-folder-tile-glyph-radius: var(--radius-md);
|
|
93
123
|
--crewlet-folder-tile-words-gap: 2px;
|
|
94
124
|
--crewlet-folder-tile-actions-inset: var(--spacing-2);
|
|
95
125
|
--crewlet-folder-tile-direction: row;
|
|
@@ -97,19 +127,41 @@
|
|
|
97
127
|
--crewlet-folder-tile-actions-top: 50%;
|
|
98
128
|
--crewlet-folder-tile-actions-shift: -50%;
|
|
99
129
|
--crewlet-folder-tile-reserve-link: calc(var(--size-control-sm) + var(--spacing-1));
|
|
130
|
+
--crewlet-folder-tile-word-position: absolute;
|
|
131
|
+
--crewlet-folder-tile-word-size: 1px;
|
|
132
|
+
--crewlet-folder-tile-word-clip: inset(50%);
|
|
100
133
|
}
|
|
101
134
|
}
|
|
102
135
|
|
|
136
|
+
/*
|
|
137
|
+
* THE STATES OUTLAST THE POINTER. Card's hover step darkens the hairline at
|
|
138
|
+
* the same weight as a state's edge, and Card's sheet comes after this one, so
|
|
139
|
+
* each state restates its edge under the pointer too: a chosen tile keeps the
|
|
140
|
+
* selected edge, and a drop target, which is under the pointer by definition,
|
|
141
|
+
* keeps its accent.
|
|
142
|
+
*/
|
|
143
|
+
.crewlet-card.crewlet-folder-tile.is-selected,
|
|
144
|
+
.crewlet-card.crewlet-folder-tile.is-selected:hover {
|
|
145
|
+
border-color: var(--color-border-selected);
|
|
146
|
+
}
|
|
147
|
+
|
|
103
148
|
/*
|
|
104
149
|
* SOMETHING HELD OVER IT WOULD LAND IN IT: the accent edge over the accent's
|
|
105
150
|
* soft fill, the same pair a file drop target takes while files are over it,
|
|
106
|
-
* so "let go here" reads one way across the package.
|
|
151
|
+
* so "let go here" reads one way across the package. The glyph's tint takes
|
|
152
|
+
* the accent's hairline and ink, so the folder itself says it is open to it.
|
|
107
153
|
*/
|
|
108
|
-
.crewlet-card.crewlet-folder-tile.is-drop-target
|
|
154
|
+
.crewlet-card.crewlet-folder-tile.is-drop-target,
|
|
155
|
+
.crewlet-card.crewlet-folder-tile.is-drop-target:hover {
|
|
109
156
|
border-color: var(--color-brand-accent);
|
|
110
157
|
background-color: var(--color-brand-accent-soft);
|
|
111
158
|
}
|
|
112
159
|
|
|
160
|
+
.crewlet-folder-tile.is-drop-target .crewlet-folder-tile__glyph {
|
|
161
|
+
box-shadow: inset 0 0 0 1px var(--color-brand-accent);
|
|
162
|
+
color: var(--color-brand-accent-ink);
|
|
163
|
+
}
|
|
164
|
+
|
|
113
165
|
.crewlet-card.crewlet-folder-tile:has(.crewlet-folder-tile__link:focus-visible) {
|
|
114
166
|
outline: 2px solid var(--color-focus);
|
|
115
167
|
outline-offset: var(--size-focus-ring-inset-offset);
|
|
@@ -140,7 +192,11 @@
|
|
|
140
192
|
padding-inline-end: calc(var(--crewlet-folder-tile-pad-inline) + var(--crewlet-folder-tile-reserve-link));
|
|
141
193
|
}
|
|
142
194
|
|
|
143
|
-
/*
|
|
195
|
+
/*
|
|
196
|
+
* A NEUTRAL TINT, never a kind's: a folder is not a kind. Its hairline steps
|
|
197
|
+
* up with the tile's under the pointer, as a folder's mark does on a list
|
|
198
|
+
* row, so the one drawn thing on the tile answers too.
|
|
199
|
+
*/
|
|
144
200
|
.crewlet-folder-tile__glyph {
|
|
145
201
|
display: inline-flex;
|
|
146
202
|
flex: none;
|
|
@@ -153,6 +209,17 @@
|
|
|
153
209
|
background: var(--color-surface-inset);
|
|
154
210
|
box-shadow: inset 0 0 0 1px var(--color-border-default);
|
|
155
211
|
color: var(--color-text-secondary);
|
|
212
|
+
transition: box-shadow var(--motion-duration-fast) var(--motion-easing-out);
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
.crewlet-folder-tile:hover .crewlet-folder-tile__glyph {
|
|
216
|
+
box-shadow: inset 0 0 0 1px var(--color-border-hover);
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
/* The glyph is drawn at the shape's size, whatever size the markup asks. */
|
|
220
|
+
.crewlet-folder-tile__glyph > svg {
|
|
221
|
+
width: var(--crewlet-folder-tile-glyph-icon);
|
|
222
|
+
height: var(--crewlet-folder-tile-glyph-icon);
|
|
156
223
|
}
|
|
157
224
|
|
|
158
225
|
.crewlet-folder-tile__body {
|
|
@@ -174,35 +241,105 @@
|
|
|
174
241
|
}
|
|
175
242
|
|
|
176
243
|
/*
|
|
177
|
-
* THE FACTS
|
|
178
|
-
*
|
|
179
|
-
*
|
|
180
|
-
*
|
|
181
|
-
* the
|
|
182
|
-
*
|
|
244
|
+
* THE FACTS ARE ONE RUN, WRAPPED AND NEVER CUT. "Everyone · 12 artifacts · 2
|
|
245
|
+
* folders" is the card's run: each fact after the first opens with the card's
|
|
246
|
+
* quiet dot. Four tiles across a laptop's page have no room for "Only you ·
|
|
247
|
+
* Nothing you can open yet" on one line, so the run breaks between who can
|
|
248
|
+
* see the folder and what is inside rather than losing its end to an
|
|
249
|
+
* ellipsis, and the count moves as one.
|
|
250
|
+
*
|
|
251
|
+
* A LINE NEVER OPENS ON A DOT. Every fact carries its dot in the separator's
|
|
252
|
+
* width before it, and the run is drawn that width to the left of the facts'
|
|
253
|
+
* own edge, which clips the overhang: the first fact of every line, the very
|
|
254
|
+
* first and any the run broke onto a new line, lays its dot in the clipped
|
|
255
|
+
* strip. The clip is horizontal only, so nothing above or below is cut.
|
|
256
|
+
*
|
|
257
|
+
* ONE QUIET INK for the run: who can see the folder takes the facts' tertiary
|
|
258
|
+
* step rather than the access label's stronger word, so the line reads as one
|
|
259
|
+
* calm caption beside the name, as a card's facts do.
|
|
183
260
|
*/
|
|
184
261
|
.crewlet-folder-tile__facts {
|
|
185
|
-
display:
|
|
186
|
-
flex-wrap: wrap;
|
|
187
|
-
align-items: center;
|
|
188
|
-
gap: 2px var(--spacing-3);
|
|
262
|
+
display: block;
|
|
189
263
|
min-width: 0;
|
|
264
|
+
overflow-x: clip;
|
|
190
265
|
color: var(--color-text-tertiary);
|
|
191
266
|
font-size: var(--crewlet-folder-tile-facts);
|
|
192
267
|
line-height: 1.35;
|
|
193
268
|
}
|
|
194
269
|
|
|
195
|
-
.crewlet-folder-
|
|
196
|
-
display:
|
|
197
|
-
flex:
|
|
270
|
+
.crewlet-folder-tile__run {
|
|
271
|
+
display: flex;
|
|
272
|
+
flex-wrap: wrap;
|
|
198
273
|
align-items: center;
|
|
274
|
+
row-gap: 2px;
|
|
275
|
+
min-width: 0;
|
|
276
|
+
margin-inline-start: calc(-1 * var(--crewlet-folder-tile-separator));
|
|
199
277
|
}
|
|
200
278
|
|
|
201
|
-
.crewlet-folder-
|
|
279
|
+
.crewlet-folder-tile__fact {
|
|
280
|
+
position: relative;
|
|
281
|
+
display: block;
|
|
202
282
|
min-width: 0;
|
|
283
|
+
max-width: 100%;
|
|
284
|
+
padding-inline-start: var(--crewlet-folder-tile-separator);
|
|
203
285
|
overflow-wrap: anywhere;
|
|
204
286
|
}
|
|
205
287
|
|
|
288
|
+
.crewlet-folder-tile__fact::before {
|
|
289
|
+
position: absolute;
|
|
290
|
+
inset-inline-start: 0;
|
|
291
|
+
width: var(--crewlet-folder-tile-separator);
|
|
292
|
+
text-align: center;
|
|
293
|
+
}
|
|
294
|
+
|
|
295
|
+
.crewlet-folder-tile__fact::before,
|
|
296
|
+
.crewlet-folder-tile__count-dot::before {
|
|
297
|
+
content: '·';
|
|
298
|
+
content: '·' / '';
|
|
299
|
+
}
|
|
300
|
+
|
|
301
|
+
/*
|
|
302
|
+
* INSIDE THE COUNT the same dot in the same width, carried at the end of the
|
|
303
|
+
* part before it. Each part is one piece on the line, so "3 artifacts · 3
|
|
304
|
+
* folders" moves to its own line as one fact, a count too long even for that
|
|
305
|
+
* breaks only after a dot, and a part wraps within itself only when it alone
|
|
306
|
+
* is wider than the tile.
|
|
307
|
+
*/
|
|
308
|
+
.crewlet-folder-tile__count-part {
|
|
309
|
+
display: inline-block;
|
|
310
|
+
max-width: 100%;
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
.crewlet-folder-tile__count-dot {
|
|
314
|
+
display: inline;
|
|
315
|
+
padding-inline: calc((var(--crewlet-folder-tile-separator) - 0.3em) / 2);
|
|
316
|
+
}
|
|
317
|
+
|
|
318
|
+
.crewlet-folder-tile__visibility {
|
|
319
|
+
display: flex;
|
|
320
|
+
align-items: center;
|
|
321
|
+
}
|
|
322
|
+
|
|
323
|
+
.crewlet-folder-tile__visibility > .crewlet-artifact-access {
|
|
324
|
+
color: inherit;
|
|
325
|
+
}
|
|
326
|
+
|
|
327
|
+
/*
|
|
328
|
+
* ON A ROW, WHO CAN SEE IT IS ITS GLYPH, as a gallery card's facts draw an
|
|
329
|
+
* artifact's access: a phone's row has room for one line of facts, and "Only
|
|
330
|
+
* you · Nothing you can open yet" beside a glyph and a menu broke onto a
|
|
331
|
+
* second, leaving rows of two heights. The word is still there, hidden from
|
|
332
|
+
* the eye only (the package's visually hidden recipe, switched by the shape),
|
|
333
|
+
* so the tile's description keeps saying "Everyone", and the label's title
|
|
334
|
+
* names it under the pointer.
|
|
335
|
+
*/
|
|
336
|
+
.crewlet-folder-tile__visibility .crewlet-artifact-access__word {
|
|
337
|
+
position: var(--crewlet-folder-tile-word-position);
|
|
338
|
+
width: var(--crewlet-folder-tile-word-size);
|
|
339
|
+
height: var(--crewlet-folder-tile-word-size);
|
|
340
|
+
clip-path: var(--crewlet-folder-tile-word-clip);
|
|
341
|
+
}
|
|
342
|
+
|
|
206
343
|
/*
|
|
207
344
|
* THE TILE'S OWN CONTROLS, at its trailing edge and outside the link: hidden
|
|
208
345
|
* until the tile is hovered or holds focus, so a gallery rests as names, and
|
|
@@ -232,6 +369,8 @@
|
|
|
232
369
|
}
|
|
233
370
|
|
|
234
371
|
@media (prefers-reduced-motion: reduce) {
|
|
372
|
+
.crewlet-card.crewlet-folder-tile.is-interactive,
|
|
373
|
+
.crewlet-folder-tile__glyph,
|
|
235
374
|
.crewlet-folder-tile__actions {
|
|
236
375
|
transition: none;
|
|
237
376
|
}
|
package/dist/HuePicker/index.js
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import '../chunk-FFMCMSJB.js';
|
|
2
|
-
export { HuePicker, HueSwatch } from '../chunk-
|
|
2
|
+
export { HuePicker, HueSwatch } from '../chunk-RBUA7ZNK.js';
|
|
3
3
|
import '../chunk-AYKXMIOR.js';
|
|
4
|
-
import '../chunk-
|
|
5
|
-
import '../chunk-
|
|
4
|
+
import '../chunk-SMVWDO72.js';
|
|
5
|
+
import '../chunk-GKRPPSWY.js';
|
|
6
6
|
import '../chunk-WIATRXEJ.js';
|
|
7
7
|
import '../chunk-EGMQURBR.js';
|
|
8
8
|
import '../chunk-BHHIIK3M.js';
|
|
9
|
-
import '../chunk-
|
|
9
|
+
import '../chunk-3JIZ2A6K.js';
|
|
10
10
|
import '../chunk-OMV5W53A.js';
|
|
11
11
|
import '../chunk-2YTOOH3A.js';
|
|
12
12
|
import '../chunk-OG6CL3EB.js';
|
|
13
13
|
import '../chunk-H5XTJ7GJ.js';
|
|
14
|
-
import '../chunk-LACA4JGC.js';
|
|
15
14
|
import '../chunk-NUZHC6MM.js';
|
|
15
|
+
import '../chunk-LACA4JGC.js';
|
|
16
16
|
import '../chunk-BZFWDIV6.js';
|
|
17
17
|
import '../chunk-ODEQTPFM.js';
|
package/dist/Input/index.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
export { FormField, FormRow, FormSection, Input, InputAffix, Label, ReadOnlyField, Textarea, foldLineBreaks } from '../chunk-
|
|
1
|
+
export { FormField, FormRow, FormSection, Input, InputAffix, Label, ReadOnlyField, Textarea, foldLineBreaks } from '../chunk-QLEJPU5R.js';
|
|
2
2
|
import '../chunk-XCUUI7E7.js';
|
|
3
3
|
import '../chunk-PQADV6P6.js';
|
|
4
|
-
import '../chunk-RSAQOKH3.js';
|
|
5
4
|
import '../chunk-H5XTJ7GJ.js';
|
|
6
|
-
import '../chunk-LACA4JGC.js';
|
|
7
5
|
import '../chunk-NUZHC6MM.js';
|
|
6
|
+
import '../chunk-RSAQOKH3.js';
|
|
7
|
+
import '../chunk-LACA4JGC.js';
|
|
8
8
|
import '../chunk-BZFWDIV6.js';
|
|
9
9
|
import '../chunk-ODEQTPFM.js';
|
|
@@ -6,7 +6,7 @@ import '../chunk-PQADV6P6.js';
|
|
|
6
6
|
import '../chunk-OMV5W53A.js';
|
|
7
7
|
import '../chunk-OG6CL3EB.js';
|
|
8
8
|
import '../chunk-H5XTJ7GJ.js';
|
|
9
|
-
import '../chunk-LACA4JGC.js';
|
|
10
9
|
import '../chunk-NUZHC6MM.js';
|
|
10
|
+
import '../chunk-LACA4JGC.js';
|
|
11
11
|
import '../chunk-BZFWDIV6.js';
|
|
12
12
|
import '../chunk-ODEQTPFM.js';
|
package/dist/ListInput/index.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
export { ListInput, withDraft } from '../chunk-
|
|
1
|
+
export { ListInput, withDraft } from '../chunk-6PEALINJ.js';
|
|
2
2
|
import '../chunk-XJ2QEBMM.js';
|
|
3
3
|
import '../chunk-SMBKXWML.js';
|
|
4
|
-
import '../chunk-
|
|
4
|
+
import '../chunk-QLEJPU5R.js';
|
|
5
5
|
import '../chunk-XCUUI7E7.js';
|
|
6
6
|
import '../chunk-PQADV6P6.js';
|
|
7
|
-
import '../chunk-RSAQOKH3.js';
|
|
8
7
|
import '../chunk-OMV5W53A.js';
|
|
9
8
|
import '../chunk-OG6CL3EB.js';
|
|
10
9
|
import '../chunk-H5XTJ7GJ.js';
|
|
11
|
-
import '../chunk-LACA4JGC.js';
|
|
12
10
|
import '../chunk-NUZHC6MM.js';
|
|
11
|
+
import '../chunk-RSAQOKH3.js';
|
|
12
|
+
import '../chunk-LACA4JGC.js';
|
|
13
13
|
import '../chunk-BZFWDIV6.js';
|
|
14
14
|
import '../chunk-ODEQTPFM.js';
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
export { MARKDOWN_FORMATS, MarkdownEditor, formatMarkdown, insertMarkdown, markdownWords } from '../chunk-
|
|
1
|
+
export { MARKDOWN_FORMATS, MarkdownEditor, formatMarkdown, insertMarkdown, markdownWords } from '../chunk-F45VSK2M.js';
|
|
2
2
|
import '../chunk-NR4CPM4T.js';
|
|
3
3
|
import '../chunk-OOC7Q67K.js';
|
|
4
|
-
import '../chunk-
|
|
5
|
-
import '../chunk-
|
|
4
|
+
import '../chunk-SMVWDO72.js';
|
|
5
|
+
import '../chunk-GKRPPSWY.js';
|
|
6
6
|
import '../chunk-WIATRXEJ.js';
|
|
7
7
|
import '../chunk-EGMQURBR.js';
|
|
8
8
|
import '../chunk-BHHIIK3M.js';
|
|
9
|
-
import '../chunk-
|
|
9
|
+
import '../chunk-3JIZ2A6K.js';
|
|
10
10
|
import '../chunk-OMV5W53A.js';
|
|
11
11
|
import '../chunk-2YTOOH3A.js';
|
|
12
12
|
import '../chunk-OG6CL3EB.js';
|
|
13
13
|
import '../chunk-H5XTJ7GJ.js';
|
|
14
|
-
import '../chunk-LACA4JGC.js';
|
|
15
14
|
import '../chunk-NUZHC6MM.js';
|
|
15
|
+
import '../chunk-LACA4JGC.js';
|
|
16
16
|
import '../chunk-BZFWDIV6.js';
|
|
17
17
|
import '../chunk-ODEQTPFM.js';
|
package/dist/Menu/index.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
export { Menu } from '../chunk-
|
|
1
|
+
export { Menu } from '../chunk-3JIZ2A6K.js';
|
|
2
2
|
import '../chunk-OMV5W53A.js';
|
|
3
3
|
import '../chunk-OG6CL3EB.js';
|
|
4
4
|
import '../chunk-H5XTJ7GJ.js';
|
|
5
|
-
import '../chunk-LACA4JGC.js';
|
|
6
5
|
import '../chunk-NUZHC6MM.js';
|
|
6
|
+
import '../chunk-LACA4JGC.js';
|
|
7
7
|
import '../chunk-BZFWDIV6.js';
|
|
8
8
|
import '../chunk-ODEQTPFM.js';
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
export { MERGE_CONFLICTS_LABELS, MergeConflicts } from '../chunk-
|
|
1
|
+
export { MERGE_CONFLICTS_LABELS, MergeConflicts } from '../chunk-PZZHO6OS.js';
|
|
2
2
|
import '../chunk-OOC7Q67K.js';
|
|
3
|
-
import '../chunk-
|
|
4
|
-
import '../chunk-
|
|
3
|
+
import '../chunk-SMVWDO72.js';
|
|
4
|
+
import '../chunk-GKRPPSWY.js';
|
|
5
5
|
import '../chunk-WIATRXEJ.js';
|
|
6
6
|
import '../chunk-EGMQURBR.js';
|
|
7
7
|
import '../chunk-BHHIIK3M.js';
|
|
8
|
-
import '../chunk-
|
|
8
|
+
import '../chunk-3JIZ2A6K.js';
|
|
9
9
|
import '../chunk-OMV5W53A.js';
|
|
10
10
|
import '../chunk-2YTOOH3A.js';
|
|
11
11
|
import '../chunk-OG6CL3EB.js';
|
|
12
12
|
import '../chunk-H5XTJ7GJ.js';
|
|
13
|
-
import '../chunk-LACA4JGC.js';
|
|
14
13
|
import '../chunk-NUZHC6MM.js';
|
|
14
|
+
import '../chunk-LACA4JGC.js';
|
|
15
15
|
import '../chunk-BZFWDIV6.js';
|
|
16
16
|
import '../chunk-ODEQTPFM.js';
|
package/dist/Modal/index.js
CHANGED
|
@@ -3,7 +3,7 @@ import '../chunk-PQADV6P6.js';
|
|
|
3
3
|
import '../chunk-OMV5W53A.js';
|
|
4
4
|
import '../chunk-OG6CL3EB.js';
|
|
5
5
|
import '../chunk-H5XTJ7GJ.js';
|
|
6
|
-
import '../chunk-LACA4JGC.js';
|
|
7
6
|
import '../chunk-NUZHC6MM.js';
|
|
7
|
+
import '../chunk-LACA4JGC.js';
|
|
8
8
|
import '../chunk-BZFWDIV6.js';
|
|
9
9
|
import '../chunk-ODEQTPFM.js';
|
package/dist/OrgTable/index.js
CHANGED
|
@@ -8,7 +8,7 @@ import '../chunk-PZKHBB7D.js';
|
|
|
8
8
|
import '../chunk-TROLVEZY.js';
|
|
9
9
|
import '../chunk-OMV5W53A.js';
|
|
10
10
|
import '../chunk-H5XTJ7GJ.js';
|
|
11
|
-
import '../chunk-LACA4JGC.js';
|
|
12
11
|
import '../chunk-NUZHC6MM.js';
|
|
12
|
+
import '../chunk-LACA4JGC.js';
|
|
13
13
|
import '../chunk-BZFWDIV6.js';
|
|
14
14
|
import '../chunk-ODEQTPFM.js';
|
|
@@ -5,7 +5,7 @@ import '../chunk-RK4XPHVG.js';
|
|
|
5
5
|
import '../chunk-OMV5W53A.js';
|
|
6
6
|
import '../chunk-OG6CL3EB.js';
|
|
7
7
|
import '../chunk-H5XTJ7GJ.js';
|
|
8
|
-
import '../chunk-LACA4JGC.js';
|
|
9
8
|
import '../chunk-NUZHC6MM.js';
|
|
9
|
+
import '../chunk-LACA4JGC.js';
|
|
10
10
|
import '../chunk-BZFWDIV6.js';
|
|
11
11
|
import '../chunk-ODEQTPFM.js';
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
export { PrincipalPicker } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
1
|
+
export { PrincipalPicker } from '../chunk-EMC2QD76.js';
|
|
2
|
+
import '../chunk-PZQK7DWI.js';
|
|
3
3
|
import '../chunk-7KHM2FZH.js';
|
|
4
4
|
import '../chunk-CI3VPIJN.js';
|
|
5
5
|
import '../chunk-5AQBPHZD.js';
|
|
6
6
|
import '../chunk-PZKHBB7D.js';
|
|
7
|
-
import '../chunk-
|
|
7
|
+
import '../chunk-QLEJPU5R.js';
|
|
8
8
|
import '../chunk-XCUUI7E7.js';
|
|
9
9
|
import '../chunk-PQADV6P6.js';
|
|
10
|
-
import '../chunk-RSAQOKH3.js';
|
|
11
10
|
import '../chunk-2YTOOH3A.js';
|
|
12
11
|
import '../chunk-H5XTJ7GJ.js';
|
|
13
|
-
import '../chunk-LACA4JGC.js';
|
|
14
12
|
import '../chunk-NUZHC6MM.js';
|
|
13
|
+
import '../chunk-RSAQOKH3.js';
|
|
14
|
+
import '../chunk-LACA4JGC.js';
|
|
15
15
|
import '../chunk-BZFWDIV6.js';
|
|
16
16
|
import '../chunk-ODEQTPFM.js';
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { type HTMLAttributes, type ReactNode } from 'react';
|
|
2
|
+
/** The tones a part's state is said in: done, leaning on defaults, needing a look, or holding the finish. */
|
|
3
|
+
export type ReviewListTone = 'success' | 'neutral' | 'warning' | 'danger';
|
|
4
|
+
/** A part's state, as its pill says it: "Complete", "Uses defaults", "Missing required". */
|
|
5
|
+
export interface ReviewListStatus {
|
|
6
|
+
label: string;
|
|
7
|
+
tone: ReviewListTone;
|
|
8
|
+
}
|
|
9
|
+
export interface ReviewListProps extends Omit<HTMLAttributes<HTMLUListElement>, 'children'> {
|
|
10
|
+
/** What the list reviews, for assistive technology: "Brand summary". */
|
|
11
|
+
label: string;
|
|
12
|
+
/** The parts: `ReviewList.Item` elements, in the order the setup walks them. */
|
|
13
|
+
children?: ReactNode;
|
|
14
|
+
}
|
|
15
|
+
export interface ReviewListItemProps extends Omit<HTMLAttributes<HTMLLIElement>, 'title' | 'children'> {
|
|
16
|
+
/** The part's glyph, drawn on a tile at the start of its row. Decorative: the title names the part. */
|
|
17
|
+
icon?: ReactNode;
|
|
18
|
+
/** The part's name, as a heading one level under where the list sits: "Logos". */
|
|
19
|
+
title: ReactNode;
|
|
20
|
+
/** The part's state, as a pill beside its title. */
|
|
21
|
+
status?: ReviewListStatus | undefined;
|
|
22
|
+
/** What changes the part, at the end of its row: an Edit button that names the part. */
|
|
23
|
+
action?: ReactNode;
|
|
24
|
+
/**
|
|
25
|
+
* What keeps the part from being finished, in one sentence, said under its
|
|
26
|
+
* values in the danger ink: "Add the primary logo to adopt." It is an alert,
|
|
27
|
+
* so it is read as it appears; show it once a finish was tried, not before.
|
|
28
|
+
*/
|
|
29
|
+
error?: ReactNode;
|
|
30
|
+
/** The part's values, SHOWN rather than described: the logos, the swatches, the faces. */
|
|
31
|
+
children?: ReactNode;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* A review of a setup's parts before it is finished: one row a part, each with
|
|
35
|
+
* its glyph, its name, its state and the way back to it, over the values it
|
|
36
|
+
* holds.
|
|
37
|
+
*
|
|
38
|
+
* ONE BOX, ONE ROW A PART. The parts share one bordered box with a hairline
|
|
39
|
+
* between them, so five parts read as one summary and every row starts its
|
|
40
|
+
* title, its state and its values on the same lines, whatever each holds. A
|
|
41
|
+
* card a part, laid out in a grid, gave every card the height of its own
|
|
42
|
+
* values: a tall row of logos beside a one-line name left holes in the grid
|
|
43
|
+
* and a summary that read as five scattered objects.
|
|
44
|
+
*
|
|
45
|
+
* THE VALUES UNDER THE TITLE, at the title's start, so the row's glyph stands
|
|
46
|
+
* alone in its column and the eye runs down the titles. Under 28rem of the
|
|
47
|
+
* list's own width the values take the whole row, as a phone needs.
|
|
48
|
+
*
|
|
49
|
+
* A HEADING A PART, one level under where the list sits, so a screen reader
|
|
50
|
+
* moves part to part by heading; the state and the action follow the heading
|
|
51
|
+
* in reading order, and the error closes the row it is about.
|
|
52
|
+
*/
|
|
53
|
+
export declare function ReviewList({ label, className, children, ...rest }: ReviewListProps): import("react").JSX.Element;
|
|
54
|
+
export declare namespace ReviewList {
|
|
55
|
+
var Item: typeof ReviewListItem;
|
|
56
|
+
}
|
|
57
|
+
declare function ReviewListItem({ icon, title, status, action, error, className, children, ...rest }: ReviewListItemProps): import("react").JSX.Element;
|
|
58
|
+
export {};
|