@crewlethq/ui 0.38.0 → 0.40.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 +79 -3
- package/dist/AgentHandoffPanel/index.js +3 -3
- package/dist/AppShell/AppShell.d.ts +13 -2
- package/dist/AppShell/index.js +1 -1
- package/dist/{AppShell-NDU4XMGF.css → AppShell-NPSWZ3XW.css} +45 -4
- package/dist/ArtifactBar/index.js +6 -5
- package/dist/{ArtifactBar-FWPBBKQ5.css → ArtifactBar-6PGWGKN2.css} +13 -1
- package/dist/ArtifactCard/index.js +2 -2
- package/dist/AuthLayout/index.js +2 -2
- package/dist/AvatarPicker/index.js +10 -6
- package/dist/Card/Card.d.ts +14 -2
- package/dist/Card/index.js +1 -1
- package/dist/{Card-G2ZGT5Z6.css → Card-JR2UPQH7.css} +20 -0
- package/dist/CatalogTile/CatalogTile.d.ts +47 -0
- package/dist/CatalogTile/index.d.ts +3 -0
- package/dist/CatalogTile/index.js +3 -0
- package/dist/CatalogTile-XL4XLFUH.css +135 -0
- package/dist/CharacterPicker/index.js +2 -2
- package/dist/Charts/Histogram.d.ts +71 -0
- package/dist/Charts/index.d.ts +2 -0
- package/dist/Charts/index.js +1 -1
- package/dist/{Charts-MBJG72BS.css → Charts-TZ744HT6.css} +118 -0
- package/dist/CodeBlock/index.js +1 -1
- package/dist/{CodeBlock-GYNJ2HI6.css → CodeBlock-N5ETJF24.css} +13 -0
- package/dist/CommandPalette/index.js +3 -3
- package/dist/CommentThread/index.js +3 -3
- package/dist/Composer/index.js +2 -2
- package/dist/DataGrid/DataGrid.d.ts +267 -0
- package/dist/DataGrid/index.d.ts +3 -0
- package/dist/DataGrid/index.js +7 -0
- package/dist/DataGrid-AQKPJD7W.css +482 -0
- package/dist/DataTable/index.js +2 -2
- package/dist/DataView/index.js +4 -4
- package/dist/DatasetSource/DatasetSource.d.ts +7 -1
- package/dist/DatasetSource/index.js +1 -1
- package/dist/HuePicker/index.js +11 -4
- package/dist/LayersList/index.js +2 -2
- package/dist/LinkInterstitial/index.js +2 -2
- package/dist/List/List.d.ts +8 -0
- package/dist/List/index.js +1 -1
- package/dist/{List-MYJIV6MP.css → List-YHLIZFK4.css} +46 -0
- package/dist/ListInput/ListInput.d.ts +9 -1
- package/dist/ListInput/index.js +2 -2
- package/dist/LockedLabel/LockedLabel.d.ts +34 -0
- package/dist/LockedLabel/index.d.ts +3 -0
- package/dist/LockedLabel/index.js +3 -0
- package/dist/LockedLabel-VQEGEB7G.css +16 -0
- package/dist/MarkdownEditor/index.js +8 -5
- package/dist/MergeConflicts/index.js +11 -5
- package/dist/Modal/index.js +1 -1
- package/dist/{Modal-7MWRCWAI.css → Modal-TOEWHDCQ.css} +5 -0
- package/dist/ObjectHeader/index.js +1 -1
- package/dist/{ObjectHeader-D7GU7QNI.css → ObjectHeader-ZOS22FKX.css} +7 -8
- package/dist/PageNote/PageNote.d.ts +14 -0
- package/dist/PageNote/index.d.ts +3 -0
- package/dist/PageNote/index.js +2 -0
- package/dist/PageNote-RHLXH3ML.css +12 -0
- package/dist/PropertyList/PropertyList.d.ts +88 -0
- package/dist/PropertyList/index.d.ts +3 -0
- package/dist/PropertyList/index.js +7 -0
- package/dist/PropertyList-SCYM66LL.css +96 -0
- package/dist/RelatedRow/RelatedRow.d.ts +27 -0
- package/dist/RelatedRow/index.d.ts +3 -0
- package/dist/RelatedRow/index.js +9 -0
- package/dist/RelatedRow-2FVS6QQA.css +6 -0
- package/dist/RichEditor/index.js +1 -1
- package/dist/SectionFrame/SectionFrame.d.ts +76 -0
- package/dist/SectionFrame/index.d.ts +3 -0
- package/dist/SectionFrame/index.js +7 -0
- package/dist/SectionFrame-M62UUVFQ.css +164 -0
- package/dist/SegmentedControl/index.js +11 -4
- package/dist/SettingsTable/SettingsTable.d.ts +66 -0
- package/dist/SettingsTable/index.d.ts +3 -0
- package/dist/SettingsTable/index.js +3 -0
- package/dist/SettingsTable-6DUFAFXG.css +160 -0
- package/dist/ShareDialog/index.js +2 -2
- package/dist/SheetColumnEditor/index.js +7 -6
- package/dist/SheetGrid/index.js +3 -3
- package/dist/SidebarNav/SidebarNav.d.ts +35 -2
- package/dist/SidebarNav/index.js +2 -1
- package/dist/{SidebarNav-7SGUZYKK.css → SidebarNav-YI74SPDC.css} +10 -0
- package/dist/StatCard/index.js +1 -1
- package/dist/{StatCard-4T7TMWMN.css → StatCard-HAA3F5GX.css} +8 -3
- package/dist/StatGroup/index.js +1 -1
- package/dist/{StatGroup-DOFHX5QJ.css → StatGroup-ZMW7VQWP.css} +27 -0
- package/dist/Switcher/index.js +2 -2
- package/dist/Tabs/Tabs.d.ts +55 -1
- package/dist/Tabs/fold.d.ts +54 -0
- package/dist/Tabs/index.d.ts +1 -1
- package/dist/Tabs/index.js +9 -2
- package/dist/Tabs/roving.d.ts +3 -3
- package/dist/{Tabs-WIF7457H.css → Tabs-S7F4RWAN.css} +77 -0
- package/dist/TagsInput/index.js +1 -1
- package/dist/ThemeGallery/index.js +2 -2
- package/dist/ThemeSwitcher/index.js +12 -5
- package/dist/TileGrid/TileGrid.d.ts +33 -0
- package/dist/TileGrid/index.d.ts +3 -0
- package/dist/TileGrid/index.js +2 -0
- package/dist/TileGrid-I6LNYD2H.css +52 -0
- package/dist/VersionCompare/index.js +12 -5
- package/dist/{chunk-B5J23C73.js → chunk-2PEXZ7L4.js} +1 -1
- package/dist/{chunk-S27UBCVX.js → chunk-2VOHUGUA.js} +2 -2
- package/dist/{chunk-XBURIXHO.js → chunk-3TXY3PJZ.js} +1 -1
- package/dist/{chunk-2QZ2VPHR.js → chunk-4OK4DX3V.js} +2 -2
- package/dist/chunk-4RKTZSEW.js +64 -0
- package/dist/{chunk-ECGGQX2H.js → chunk-A44YHLCQ.js} +2 -2
- package/dist/{chunk-F4LPQA4E.js → chunk-BA32AVKS.js} +1 -1
- package/dist/chunk-CV4NES3P.js +9 -0
- package/dist/{chunk-PPHTIKZO.js → chunk-E4BOVKNJ.js} +1 -1
- package/dist/{chunk-W7PAIVAP.js → chunk-E7QLG3PG.js} +30 -9
- package/dist/{chunk-RKKO7QHH.js → chunk-EGMQURBR.js} +5 -4
- package/dist/{chunk-GMW4ZHST.js → chunk-EX22Q5SH.js} +2 -2
- package/dist/{chunk-A23KDROH.js → chunk-FXBGEANQ.js} +1 -1
- package/dist/{chunk-4L2BWSHR.js → chunk-GFYQKMQZ.js} +2 -2
- package/dist/{chunk-HG5VF3TZ.js → chunk-HMVQQEHW.js} +91 -2
- package/dist/{chunk-IPWU6ERC.js → chunk-HQJ24WPM.js} +4 -2
- package/dist/{chunk-SVGARBDY.js → chunk-IAGYPTEJ.js} +2 -2
- package/dist/{chunk-ZK3VYY7L.js → chunk-INHXF2CL.js} +24 -11
- package/dist/chunk-INVSUFJK.js +71 -0
- package/dist/{chunk-6NNY5WBF.js → chunk-JKAGN4V4.js} +1 -1
- package/dist/{chunk-4LRAJXHL.js → chunk-JSWOXRRE.js} +1 -1
- package/dist/{chunk-DYB66CNM.js → chunk-KKNHMXTE.js} +6 -3
- package/dist/{chunk-UWRBD2YO.js → chunk-KNHUBHFX.js} +1 -1
- package/dist/{chunk-ZMDYQ2HH.js → chunk-KWWP3D7M.js} +1 -1
- package/dist/{chunk-46RL3E54.js → chunk-M6NQ4XGK.js} +1 -1
- package/dist/{chunk-PT6WKXKW.js → chunk-MMPKN7WV.js} +1 -1
- package/dist/{chunk-NRBAXRWE.js → chunk-N3TFYBN3.js} +1 -1
- package/dist/chunk-NNTO3TNC.js +9 -0
- package/dist/{chunk-DS2C73RJ.js → chunk-NZWX27J7.js} +2 -2
- package/dist/{chunk-VGE3G3T4.js → chunk-ODOJJGXH.js} +1 -1
- package/dist/chunk-OHGH7O6T.js +19 -0
- package/dist/{chunk-4ISUIS6F.js → chunk-OOC7Q67K.js} +1 -1
- package/dist/{chunk-BT5H2THK.js → chunk-OUD75UB2.js} +1 -1
- package/dist/chunk-PCT47E7O.js +48 -0
- package/dist/{chunk-X3UYTAOG.js → chunk-PFZOFAQ6.js} +1 -1
- package/dist/{chunk-YQG4PZGC.js → chunk-QRKT4XTT.js} +2 -2
- package/dist/{chunk-BJI3RFXG.js → chunk-S4DREXGM.js} +1 -1
- package/dist/{chunk-GDDE4UM7.js → chunk-SEC2GR2V.js} +1 -1
- package/dist/{chunk-YEVG2X5R.js → chunk-SNQRGH4A.js} +1 -1
- package/dist/chunk-T6MXORP5.js +116 -0
- package/dist/{chunk-OTCXRJ7D.js → chunk-U2XAJONO.js} +1 -1
- package/dist/{chunk-3ZUINC7C.js → chunk-WYYCPV46.js} +6 -1
- package/dist/chunk-X4IXXLWM.js +306 -0
- package/dist/{chunk-PAQXOP2M.js → chunk-XGBUUQDU.js} +2 -2
- package/dist/chunk-XIDD7PJO.js +416 -0
- package/dist/{chunk-XO7PUL4F.js → chunk-YPTTSJPM.js} +1 -1
- package/dist/chunk-ZUTUI27P.js +21 -0
- package/dist/generated/index.d.ts +9 -0
- package/dist/generated/index.js +83 -74
- package/dist/index.js +83 -74
- package/dist/styles.css +1627 -104
- package/package.json +3 -3
- package/dist/chunk-7SDUKCNW.js +0 -141
- package/dist/{Editor-QV4JP242.js → Editor-IRDQ3JDZ.js} +1 -1
- package/dist/{chunk-JZPK4IXR.js → chunk-3PR65I3H.js} +2 -2
- package/dist/{chunk-ETVEGR2Y.js → chunk-ISA2O2BK.js} +1 -1
- /package/dist/{chunk-4QQ3MND5.js → chunk-S3QTFUJX.js} +0 -0
|
@@ -0,0 +1,482 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* DataGrid: a list as columns, one track list on the grid.
|
|
3
|
+
*
|
|
4
|
+
* THE GRID MAKES NO SCROLLPORT OF ITS OWN. `overflow: clip` rounds the rows off
|
|
5
|
+
* at the corner exactly as `hidden` would, and it is the difference between a
|
|
6
|
+
* sticky head that works and one that cannot: `hidden` makes a scroll
|
|
7
|
+
* container, a sticky box is confined to its nearest scrollport, and this one
|
|
8
|
+
* grows to its rows, so its offset is always 0. The head sticks against the
|
|
9
|
+
* page's own scroller; an application whose scroller carries a sticky bar of
|
|
10
|
+
* its own sets `--crewlet-data-grid-sticky-top` to that bar's height.
|
|
11
|
+
*
|
|
12
|
+
* THE COLUMNS BELONG TO THE GRID, NOT TO A ROW. The tracks are declared once,
|
|
13
|
+
* on the grid (its inline `grid-template-columns`), and the head, the body,
|
|
14
|
+
* the bands and the rows are `subgrid` passthroughs, so a head cell and a cell
|
|
15
|
+
* twenty rows down size the same track. Everything that is not a row of cells
|
|
16
|
+
* spans the whole width.
|
|
17
|
+
*/
|
|
18
|
+
|
|
19
|
+
.crewlet-data-grid {
|
|
20
|
+
display: grid;
|
|
21
|
+
min-width: 0;
|
|
22
|
+
border: 1px solid var(--color-border-hover);
|
|
23
|
+
border-radius: var(--radius-md);
|
|
24
|
+
overflow: clip;
|
|
25
|
+
background: var(--color-surface-subtle);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
/*
|
|
29
|
+
* A CARD'S BODY (`flush`, and every grid straight in a Card or its body, told
|
|
30
|
+
* or not): the card is the frame, so the grid draws none of its own and one
|
|
31
|
+
* rule parts it from the card's head. Under the card's header, the header's
|
|
32
|
+
* own rule is that one.
|
|
33
|
+
*/
|
|
34
|
+
.crewlet-data-grid[data-flush],
|
|
35
|
+
.crewlet-card > .crewlet-data-grid,
|
|
36
|
+
.crewlet-card__body > .crewlet-data-grid {
|
|
37
|
+
border: 0;
|
|
38
|
+
border-top: 1px solid var(--color-border-default);
|
|
39
|
+
border-radius: var(--radius-none);
|
|
40
|
+
background: transparent;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
.crewlet-card__header + .crewlet-data-grid {
|
|
44
|
+
border-top: 0;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
/* A full-width band by default: the head, the body, the foot, the reset and
|
|
48
|
+
the empty state, which is the one child when the grid carries no tracks. */
|
|
49
|
+
.crewlet-data-grid > * {
|
|
50
|
+
grid-column: 1 / -1;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
.crewlet-data-grid__head,
|
|
54
|
+
.crewlet-data-grid__body,
|
|
55
|
+
.crewlet-data-grid__band,
|
|
56
|
+
.crewlet-data-grid__row {
|
|
57
|
+
display: grid;
|
|
58
|
+
grid-template-columns: subgrid;
|
|
59
|
+
grid-column: 1 / -1;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
.crewlet-data-grid__band-head,
|
|
63
|
+
.crewlet-data-grid__band-foot {
|
|
64
|
+
grid-column: 1 / -1;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
/*
|
|
68
|
+
* The head: a floor at the row height (density shrinks the padding, not the
|
|
69
|
+
* label), on the raised ground, sticky at the application's offset.
|
|
70
|
+
*/
|
|
71
|
+
.crewlet-data-grid__head {
|
|
72
|
+
align-items: center;
|
|
73
|
+
min-height: var(--size-row-md);
|
|
74
|
+
border-bottom: 1px solid var(--color-border-hover);
|
|
75
|
+
background: var(--color-surface-elevated);
|
|
76
|
+
position: sticky;
|
|
77
|
+
top: var(--crewlet-data-grid-sticky-top, var(--spacing-0));
|
|
78
|
+
z-index: var(--z-index-sticky);
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
/*
|
|
82
|
+
* THE LIST TABLE'S HEAD: the micro-label register every table takes, 11/500
|
|
83
|
+
* uppercase. A sortable head is a button with its chrome reset; the reset
|
|
84
|
+
* takes the focus ring with it, so the ring is restated below.
|
|
85
|
+
*/
|
|
86
|
+
.crewlet-data-grid__th {
|
|
87
|
+
display: flex;
|
|
88
|
+
align-items: center;
|
|
89
|
+
gap: var(--spacing-1);
|
|
90
|
+
padding: var(--spacing-2) var(--spacing-3);
|
|
91
|
+
font-size: var(--font-size-2xs);
|
|
92
|
+
font-weight: var(--font-weight-medium);
|
|
93
|
+
text-transform: uppercase;
|
|
94
|
+
letter-spacing: var(--font-letter-spacing-wide);
|
|
95
|
+
color: var(--color-text-tertiary);
|
|
96
|
+
cursor: pointer;
|
|
97
|
+
min-width: 0;
|
|
98
|
+
transition: color var(--motion-duration-fast) var(--motion-easing-default);
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
.crewlet-data-grid__th--plain {
|
|
102
|
+
cursor: default;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
/* A sortable head's control fills the head: the whole cell is the target. */
|
|
106
|
+
.crewlet-data-grid__sort {
|
|
107
|
+
all: unset;
|
|
108
|
+
display: flex;
|
|
109
|
+
align-items: center;
|
|
110
|
+
gap: var(--spacing-1);
|
|
111
|
+
flex: 1 1 auto;
|
|
112
|
+
min-width: 0;
|
|
113
|
+
margin: calc(-1 * var(--spacing-2)) calc(-1 * var(--spacing-3));
|
|
114
|
+
padding: var(--spacing-2) var(--spacing-3);
|
|
115
|
+
cursor: pointer;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
.crewlet-data-grid__th--right .crewlet-data-grid__sort {
|
|
119
|
+
justify-content: flex-end;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
.crewlet-data-grid__th:not(.crewlet-data-grid__th--plain):hover,
|
|
123
|
+
.crewlet-data-grid__th--sorted {
|
|
124
|
+
color: var(--color-text-primary);
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
.crewlet-data-grid__th--right {
|
|
128
|
+
justify-content: flex-end;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
.crewlet-data-grid__sort:focus-visible,
|
|
132
|
+
.crewlet-data-grid__cols-reset:focus-visible {
|
|
133
|
+
outline: 2px solid var(--color-focus);
|
|
134
|
+
outline-offset: var(--size-focus-ring-inset-offset);
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
.crewlet-data-grid__body {
|
|
138
|
+
min-width: 0;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
.crewlet-data-grid__row {
|
|
142
|
+
align-items: center;
|
|
143
|
+
min-height: var(--size-row-md);
|
|
144
|
+
border-bottom: 1px solid var(--color-border-default);
|
|
145
|
+
color: inherit;
|
|
146
|
+
cursor: pointer;
|
|
147
|
+
/* The containing block for the row's link. */
|
|
148
|
+
position: relative;
|
|
149
|
+
transition: background var(--motion-duration-fast) var(--motion-easing-default);
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
/* THE ROW'S OWN LINK, STRETCHED OVER IT, out of flow so it takes no track. */
|
|
153
|
+
.crewlet-data-grid__row-link {
|
|
154
|
+
position: absolute;
|
|
155
|
+
inset: 0;
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
/* A button overlay (a row that acts and has no address) gives up the chrome a
|
|
159
|
+
button brings, and draws the focus ring inside the row. */
|
|
160
|
+
button.crewlet-data-grid__row-link {
|
|
161
|
+
all: unset;
|
|
162
|
+
position: absolute;
|
|
163
|
+
inset: 0;
|
|
164
|
+
cursor: pointer;
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
.crewlet-data-grid__row-link:focus-visible {
|
|
168
|
+
outline: 2px solid var(--color-focus);
|
|
169
|
+
outline-offset: var(--size-focus-ring-inset-offset);
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
/*
|
|
173
|
+
* AND THE CELLS' OWN CONTROLS SIT ABOVE IT: positioned and later in the
|
|
174
|
+
* document than the overlay, they win the hit test in the same stacking
|
|
175
|
+
* context, with no z-index to reason about against the sticky head. A cell's
|
|
176
|
+
* element that is not a link or a button but must take its own clicks (a
|
|
177
|
+
* refusal sentence a reader selects) carries `data-above-row`.
|
|
178
|
+
*/
|
|
179
|
+
.crewlet-data-grid__row a:not(.crewlet-data-grid__row-link),
|
|
180
|
+
.crewlet-data-grid__row button:not(.crewlet-data-grid__row-link),
|
|
181
|
+
.crewlet-data-grid__row [data-above-row] {
|
|
182
|
+
position: relative;
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
.crewlet-data-grid__row:last-child {
|
|
186
|
+
border-bottom: none;
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
.crewlet-data-grid__row:hover {
|
|
190
|
+
background: var(--color-surface-hover);
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
.crewlet-data-grid__row--selected,
|
|
194
|
+
.crewlet-data-grid__row--selected:hover {
|
|
195
|
+
background: var(--color-brand-accent-soft);
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
.crewlet-data-grid__row--cursor {
|
|
199
|
+
box-shadow: inset 2px 0 0 var(--color-brand-accent);
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
/* A FAILED ROW IS MARKED ON ITS EDGE, not tinted: the status column already
|
|
203
|
+
says so, and two signals for one fact teach a reader to trust neither. */
|
|
204
|
+
.crewlet-data-grid__row--failed {
|
|
205
|
+
box-shadow: inset 2px 0 0 var(--color-feedback-danger-ink);
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
.crewlet-data-grid__cell {
|
|
209
|
+
padding: var(--spacing-1) var(--spacing-3);
|
|
210
|
+
font-size: var(--font-size-compact);
|
|
211
|
+
min-width: 0;
|
|
212
|
+
display: flex;
|
|
213
|
+
align-items: center;
|
|
214
|
+
gap: var(--spacing-2);
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
/*
|
|
218
|
+
* A SHRINK COLUMN does not wrap inside its capped track, and does not paint
|
|
219
|
+
* outside it: a nowrap cell narrower than its content would spill over the
|
|
220
|
+
* column beside it. `clip`, since a scrollport here would cut the sticky head.
|
|
221
|
+
*/
|
|
222
|
+
.crewlet-data-grid__th--shrink,
|
|
223
|
+
.crewlet-data-grid__cell--shrink {
|
|
224
|
+
white-space: nowrap;
|
|
225
|
+
overflow: clip;
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
.crewlet-data-grid__cell--right {
|
|
229
|
+
justify-content: flex-end;
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
.crewlet-data-grid__truncate {
|
|
233
|
+
min-width: 0;
|
|
234
|
+
overflow: hidden;
|
|
235
|
+
text-overflow: ellipsis;
|
|
236
|
+
white-space: nowrap;
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
.crewlet-data-grid__band + .crewlet-data-grid__band {
|
|
240
|
+
border-top: 1px solid var(--color-border-hover);
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
.crewlet-data-grid__band-head,
|
|
244
|
+
.crewlet-data-grid__band-foot {
|
|
245
|
+
display: flex;
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
/* The band row's one cell lays its parts out on the row's own flex line. */
|
|
249
|
+
.crewlet-data-grid__band-cell {
|
|
250
|
+
display: contents;
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
.crewlet-data-grid__band-head {
|
|
254
|
+
display: flex;
|
|
255
|
+
align-items: center;
|
|
256
|
+
gap: var(--spacing-2);
|
|
257
|
+
padding: var(--spacing-2) var(--spacing-3);
|
|
258
|
+
background: var(--color-surface-elevated);
|
|
259
|
+
font-size: var(--font-size-xs);
|
|
260
|
+
font-weight: var(--font-weight-semibold);
|
|
261
|
+
position: sticky;
|
|
262
|
+
/* Under the column heads, which are a row tall and parked at the offset;
|
|
263
|
+
confined to its own band, so it leaves with the band. Above the rows
|
|
264
|
+
(positioned for the row link) and below the heads. */
|
|
265
|
+
top: calc(var(--crewlet-data-grid-sticky-top, var(--spacing-0)) + var(--size-row-md));
|
|
266
|
+
z-index: var(--z-index-raised);
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
/* A SECOND AXIS IS A BAND INSIDE A BAND, inset and quieter, so it does not
|
|
270
|
+
read as its parent's sibling; and it draws no rule above itself. */
|
|
271
|
+
.crewlet-data-grid__band .crewlet-data-grid__band > .crewlet-data-grid__band-head {
|
|
272
|
+
padding-left: calc(var(--spacing-3) + var(--spacing-4));
|
|
273
|
+
background: var(--color-surface-subtle);
|
|
274
|
+
font-weight: var(--font-weight-medium);
|
|
275
|
+
color: var(--color-text-tertiary);
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
.crewlet-data-grid__band .crewlet-data-grid__band + .crewlet-data-grid__band {
|
|
279
|
+
border-top: none;
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
.crewlet-data-grid__band-count {
|
|
283
|
+
margin-left: auto;
|
|
284
|
+
color: var(--color-text-tertiary);
|
|
285
|
+
font-weight: var(--font-weight-regular);
|
|
286
|
+
font-variant-numeric: tabular-nums;
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
.crewlet-data-grid__band-foot {
|
|
290
|
+
padding: var(--spacing-1) var(--spacing-3);
|
|
291
|
+
font-size: var(--font-size-2xs);
|
|
292
|
+
color: var(--color-text-tertiary);
|
|
293
|
+
background: var(--color-surface-elevated);
|
|
294
|
+
}
|
|
295
|
+
|
|
296
|
+
.crewlet-data-grid__band-foot a {
|
|
297
|
+
color: var(--color-brand-accent-ink);
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
.crewlet-data-grid__band-foot a:hover {
|
|
301
|
+
color: var(--color-text-primary);
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
.crewlet-data-grid__foot {
|
|
305
|
+
display: flex;
|
|
306
|
+
align-items: center;
|
|
307
|
+
gap: var(--spacing-2);
|
|
308
|
+
padding: var(--spacing-2) var(--spacing-3);
|
|
309
|
+
border-top: 1px solid var(--color-border-hover);
|
|
310
|
+
background: var(--color-surface-elevated);
|
|
311
|
+
font-size: var(--font-size-xs);
|
|
312
|
+
}
|
|
313
|
+
|
|
314
|
+
.crewlet-data-grid__foot-spacer {
|
|
315
|
+
flex: 1 1 auto;
|
|
316
|
+
}
|
|
317
|
+
|
|
318
|
+
.crewlet-data-grid__note {
|
|
319
|
+
font-size: var(--font-size-xs);
|
|
320
|
+
color: var(--color-text-tertiary);
|
|
321
|
+
}
|
|
322
|
+
|
|
323
|
+
.crewlet-data-grid__cols-reset {
|
|
324
|
+
all: unset;
|
|
325
|
+
/* After the reset, which takes `grid-column` too. */
|
|
326
|
+
grid-column: 1 / -1;
|
|
327
|
+
padding: var(--spacing-1) var(--spacing-3);
|
|
328
|
+
font-size: var(--font-size-2xs);
|
|
329
|
+
color: var(--color-brand-accent-ink);
|
|
330
|
+
cursor: pointer;
|
|
331
|
+
text-align: left;
|
|
332
|
+
}
|
|
333
|
+
|
|
334
|
+
/* ---- The column chooser ------------------------------------------------ */
|
|
335
|
+
|
|
336
|
+
.crewlet-column-chooser__label {
|
|
337
|
+
font-size: var(--font-size-2xs);
|
|
338
|
+
font-weight: var(--font-weight-medium);
|
|
339
|
+
letter-spacing: var(--font-letter-spacing-wide);
|
|
340
|
+
text-transform: uppercase;
|
|
341
|
+
color: var(--color-text-tertiary);
|
|
342
|
+
}
|
|
343
|
+
|
|
344
|
+
/* TWO COLUMNS: a single file of short words makes a menu as tall as the grid
|
|
345
|
+
has columns. */
|
|
346
|
+
.crewlet-column-chooser__choices {
|
|
347
|
+
display: grid;
|
|
348
|
+
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
349
|
+
gap: var(--spacing-1) var(--spacing-3);
|
|
350
|
+
}
|
|
351
|
+
|
|
352
|
+
/* The pointer target is the row, not the 13px box. */
|
|
353
|
+
.crewlet-column-chooser__choice {
|
|
354
|
+
display: flex;
|
|
355
|
+
align-items: center;
|
|
356
|
+
gap: var(--spacing-2);
|
|
357
|
+
min-height: var(--size-target-min);
|
|
358
|
+
font-size: var(--font-size-compact);
|
|
359
|
+
color: var(--color-text-secondary);
|
|
360
|
+
cursor: pointer;
|
|
361
|
+
}
|
|
362
|
+
|
|
363
|
+
@media (prefers-reduced-motion: reduce) {
|
|
364
|
+
.crewlet-data-grid__th,
|
|
365
|
+
.crewlet-data-grid__row {
|
|
366
|
+
transition: none;
|
|
367
|
+
}
|
|
368
|
+
}
|
|
369
|
+
|
|
370
|
+
/* ---- A ROW IS A CARD ON A PHONE -----------------------------------------
|
|
371
|
+
A GRID IS COLUMNS, AND A PHONE DOES NOT HAVE THEM: the grid clips (for its
|
|
372
|
+
sticky head), so the columns past the edge were cut off with nothing to
|
|
373
|
+
scroll to, and a sideways scroller resolves every flexible track to zero. So
|
|
374
|
+
the head goes and each cell draws its own name beside its value
|
|
375
|
+
(`data-label`); the subgrid chain is unwound to blocks and each cell is a
|
|
376
|
+
flex line, label then value. A cell with nothing in it is no line
|
|
377
|
+
(`:empty`), and a cell that draws a marked absence has content and stays.
|
|
378
|
+
The sort is in the application's state, so a sorted list still arrives
|
|
379
|
+
sorted. */
|
|
380
|
+
@media (width < 640px) {
|
|
381
|
+
.crewlet-data-grid {
|
|
382
|
+
display: block;
|
|
383
|
+
}
|
|
384
|
+
|
|
385
|
+
.crewlet-data-grid__head {
|
|
386
|
+
display: none;
|
|
387
|
+
}
|
|
388
|
+
|
|
389
|
+
.crewlet-data-grid__body,
|
|
390
|
+
.crewlet-data-grid__band {
|
|
391
|
+
display: block;
|
|
392
|
+
}
|
|
393
|
+
|
|
394
|
+
.crewlet-data-grid__row {
|
|
395
|
+
display: block;
|
|
396
|
+
padding: var(--spacing-2) var(--spacing-3);
|
|
397
|
+
min-height: 0;
|
|
398
|
+
}
|
|
399
|
+
|
|
400
|
+
/* A FIXED BASIS lines the names up without a track, and the name wraps
|
|
401
|
+
inside it rather than pushing its value past every other card line. */
|
|
402
|
+
.crewlet-data-grid__cell {
|
|
403
|
+
display: flex;
|
|
404
|
+
align-items: baseline;
|
|
405
|
+
gap: var(--spacing-3);
|
|
406
|
+
padding: 1px 0;
|
|
407
|
+
min-width: 0;
|
|
408
|
+
}
|
|
409
|
+
|
|
410
|
+
.crewlet-data-grid__cell:empty {
|
|
411
|
+
display: none;
|
|
412
|
+
}
|
|
413
|
+
|
|
414
|
+
.crewlet-data-grid__cell[data-label]::before {
|
|
415
|
+
content: attr(data-label);
|
|
416
|
+
flex: 0 0 7rem;
|
|
417
|
+
overflow-wrap: anywhere;
|
|
418
|
+
font-size: var(--font-size-2xs);
|
|
419
|
+
text-transform: uppercase;
|
|
420
|
+
letter-spacing: var(--font-letter-spacing-wide);
|
|
421
|
+
color: var(--color-text-tertiary);
|
|
422
|
+
}
|
|
423
|
+
|
|
424
|
+
/* `shrink` and `right` are column shapes, and there are no columns here. */
|
|
425
|
+
.crewlet-data-grid__cell--shrink,
|
|
426
|
+
.crewlet-data-grid__cell--right {
|
|
427
|
+
white-space: normal;
|
|
428
|
+
justify-content: flex-start;
|
|
429
|
+
}
|
|
430
|
+
|
|
431
|
+
.crewlet-data-grid__cell .crewlet-data-grid__truncate {
|
|
432
|
+
white-space: normal;
|
|
433
|
+
overflow: visible;
|
|
434
|
+
text-overflow: clip;
|
|
435
|
+
overflow-wrap: anywhere;
|
|
436
|
+
}
|
|
437
|
+
|
|
438
|
+
/* ---- THE COMPACT ROW (`phoneRows="compact"`) ---------------------------
|
|
439
|
+
TWO LINES, NO LABELS: what the row is, then its marks. One flex run that
|
|
440
|
+
breaks once: the lead cells first, a zero-height full-width `::after`
|
|
441
|
+
between them and the rest, then every other cell in column order. */
|
|
442
|
+
.crewlet-data-grid[data-phone-rows='compact'] .crewlet-data-grid__row {
|
|
443
|
+
display: flex;
|
|
444
|
+
flex-wrap: wrap;
|
|
445
|
+
align-items: center;
|
|
446
|
+
gap: var(--spacing-1) var(--spacing-2);
|
|
447
|
+
}
|
|
448
|
+
|
|
449
|
+
.crewlet-data-grid[data-phone-rows='compact'] .crewlet-data-grid__row::after {
|
|
450
|
+
content: '';
|
|
451
|
+
order: 1;
|
|
452
|
+
flex-basis: 100%;
|
|
453
|
+
height: 0;
|
|
454
|
+
}
|
|
455
|
+
|
|
456
|
+
.crewlet-data-grid[data-phone-rows='compact'] .crewlet-data-grid__cell {
|
|
457
|
+
order: 2;
|
|
458
|
+
padding: 0;
|
|
459
|
+
align-items: center;
|
|
460
|
+
gap: var(--spacing-1);
|
|
461
|
+
}
|
|
462
|
+
|
|
463
|
+
.crewlet-data-grid[data-phone-rows='compact'] .crewlet-data-grid__cell[data-lead] {
|
|
464
|
+
order: 0;
|
|
465
|
+
}
|
|
466
|
+
|
|
467
|
+
/* The title takes the rest of the first line, beside the key. */
|
|
468
|
+
.crewlet-data-grid[data-phone-rows='compact']
|
|
469
|
+
.crewlet-data-grid__cell[data-lead]:not(.crewlet-data-grid__cell--shrink) {
|
|
470
|
+
flex: 1 1 0;
|
|
471
|
+
min-width: 0;
|
|
472
|
+
font-weight: var(--font-weight-medium);
|
|
473
|
+
}
|
|
474
|
+
|
|
475
|
+
.crewlet-data-grid[data-phone-rows='compact'] .crewlet-data-grid__cell[data-label]::before {
|
|
476
|
+
content: none;
|
|
477
|
+
}
|
|
478
|
+
|
|
479
|
+
.crewlet-data-grid[data-phone-rows='compact'] .crewlet-data-grid__cell[data-phone-omit] {
|
|
480
|
+
display: none;
|
|
481
|
+
}
|
|
482
|
+
}
|
package/dist/DataTable/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export { ALL_ITEMS, CopyableCell, DATA_TABLE_LABELS, DataTable, RowActionsMenu } from '../chunk-
|
|
1
|
+
export { ALL_ITEMS, CopyableCell, DATA_TABLE_LABELS, DataTable, RowActionsMenu } from '../chunk-FXBGEANQ.js';
|
|
2
2
|
import '../chunk-STJ7QBC3.js';
|
|
3
3
|
import '../chunk-DTIW4CHZ.js';
|
|
4
|
-
import '../chunk-
|
|
4
|
+
import '../chunk-IAGYPTEJ.js';
|
|
5
5
|
import '../chunk-AXS6MBNH.js';
|
|
6
6
|
import '../chunk-EUCC37WY.js';
|
|
7
7
|
import '../chunk-AV2DXAEL.js';
|
package/dist/DataView/index.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
export { DATA_VIEW_TOOLBAR_LABELS, DataView, DataViewToolbar, FILTER_AXIS_LABELS, FilterAxisBar, FilterAxisChip, applyColumnFilters, applyFilters, blankFilterValue, defaultOperator, filterDefsFromColumns, filterHasValue, filterPredicate, formatFilterValue, operatorOf, tableColumns } from '../chunk-
|
|
1
|
+
export { DATA_VIEW_TOOLBAR_LABELS, DataView, DataViewToolbar, FILTER_AXIS_LABELS, FilterAxisBar, FilterAxisChip, applyColumnFilters, applyFilters, blankFilterValue, defaultOperator, filterDefsFromColumns, filterHasValue, filterPredicate, formatFilterValue, operatorOf, tableColumns } from '../chunk-QRKT4XTT.js';
|
|
2
2
|
import '../chunk-HOXGBLEY.js';
|
|
3
|
-
import '../chunk-A23KDROH.js';
|
|
4
3
|
import '../chunk-UB6MLXUL.js';
|
|
4
|
+
import '../chunk-FXBGEANQ.js';
|
|
5
5
|
import '../chunk-STJ7QBC3.js';
|
|
6
6
|
import '../chunk-DTIW4CHZ.js';
|
|
7
|
-
import '../chunk-
|
|
7
|
+
import '../chunk-IAGYPTEJ.js';
|
|
8
8
|
import '../chunk-7KHM2FZH.js';
|
|
9
9
|
import '../chunk-KHJIEPZV.js';
|
|
10
10
|
import '../chunk-GXQ3B46I.js';
|
|
@@ -13,8 +13,8 @@ import '../chunk-AXS6MBNH.js';
|
|
|
13
13
|
import '../chunk-3CZ7XAVY.js';
|
|
14
14
|
import '../chunk-EUCC37WY.js';
|
|
15
15
|
import '../chunk-AV2DXAEL.js';
|
|
16
|
-
import '../chunk-SMBKXWML.js';
|
|
17
16
|
import '../chunk-TYONQSOK.js';
|
|
17
|
+
import '../chunk-SMBKXWML.js';
|
|
18
18
|
import '../chunk-BHHIIK3M.js';
|
|
19
19
|
import '../chunk-PQADV6P6.js';
|
|
20
20
|
import '../chunk-D6FEHY5G.js';
|
|
@@ -26,7 +26,13 @@ export interface DatasetSourceLabels {
|
|
|
26
26
|
export interface DatasetSourceProps extends Omit<HTMLAttributes<HTMLDivElement>, 'title' | 'children' | 'onSelect'> {
|
|
27
27
|
/** The dataset's title, which every figure drawn from it cites. */
|
|
28
28
|
title: string;
|
|
29
|
-
|
|
29
|
+
/**
|
|
30
|
+
* Where the dataset reads from, drawn as a tag beside the title. Left out
|
|
31
|
+
* where every entry of a list reads from one place (a picker of the
|
|
32
|
+
* engine's own sources, grouped under headings of their own), since the
|
|
33
|
+
* same tag on every row is a column a reader learns to skip.
|
|
34
|
+
*/
|
|
35
|
+
kind?: DatasetSourceKind | undefined;
|
|
30
36
|
/** What the dataset reads, in the author's terms: "tracker.items, scope mine". */
|
|
31
37
|
definition: ReactNode;
|
|
32
38
|
/** How it is kept current, in words: "Live", "Every 2 min", "On change". */
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { DATASET_SOURCE_KINDS, DatasetSource, DatasetSourceList } from '../chunk-
|
|
1
|
+
export { DATASET_SOURCE_KINDS, DatasetSource, DatasetSourceList } from '../chunk-HQJ24WPM.js';
|
|
2
2
|
import '../chunk-KYIAFNU7.js';
|
|
3
3
|
import '../chunk-WIATRXEJ.js';
|
|
4
4
|
import '../chunk-3CZ7XAVY.js';
|
package/dist/HuePicker/index.js
CHANGED
|
@@ -1,10 +1,17 @@
|
|
|
1
1
|
import '../chunk-FFMCMSJB.js';
|
|
2
|
-
export { HuePicker, HueSwatch } from '../chunk-
|
|
2
|
+
export { HuePicker, HueSwatch } from '../chunk-BA32AVKS.js';
|
|
3
3
|
import '../chunk-AYKXMIOR.js';
|
|
4
|
-
import '../chunk-
|
|
5
|
-
import '../chunk-
|
|
6
|
-
import '../chunk-
|
|
4
|
+
import '../chunk-4OK4DX3V.js';
|
|
5
|
+
import '../chunk-X4IXXLWM.js';
|
|
6
|
+
import '../chunk-WIATRXEJ.js';
|
|
7
|
+
import '../chunk-EGMQURBR.js';
|
|
7
8
|
import '../chunk-BHHIIK3M.js';
|
|
9
|
+
import '../chunk-D6FEHY5G.js';
|
|
10
|
+
import '../chunk-OMV5W53A.js';
|
|
11
|
+
import '../chunk-H5XTJ7GJ.js';
|
|
8
12
|
import '../chunk-2YTOOH3A.js';
|
|
13
|
+
import '../chunk-OG6CL3EB.js';
|
|
14
|
+
import '../chunk-4FQT6ZAY.js';
|
|
15
|
+
import '../chunk-NUZHC6MM.js';
|
|
9
16
|
import '../chunk-BZFWDIV6.js';
|
|
10
17
|
import '../chunk-ODEQTPFM.js';
|
package/dist/LayersList/index.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { LAYERS_LIST_LABELS, LayersList } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
1
|
+
export { LAYERS_LIST_LABELS, LayersList } from '../chunk-M6NQ4XGK.js';
|
|
2
|
+
import '../chunk-EGMQURBR.js';
|
|
3
3
|
import '../chunk-ODEQTPFM.js';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { LinkInterstitial, openExternal } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
1
|
+
export { LinkInterstitial, openExternal } from '../chunk-N3TFYBN3.js';
|
|
2
|
+
import '../chunk-IAGYPTEJ.js';
|
|
3
3
|
import '../chunk-5CLW2CXT.js';
|
|
4
4
|
import '../chunk-SZZRIHGT.js';
|
|
5
5
|
import '../chunk-PQADV6P6.js';
|
package/dist/List/List.d.ts
CHANGED
|
@@ -9,6 +9,14 @@ export type ListVariant =
|
|
|
9
9
|
| 'bulleted'
|
|
10
10
|
/** A number per row: an order somebody follows. */
|
|
11
11
|
| 'numbered'
|
|
12
|
+
/**
|
|
13
|
+
* A number per row in a column of its own, with a hairline between rows:
|
|
14
|
+
* statements a reader counts and cites by number (a company's standing
|
|
15
|
+
* policies), each of which may run to several lines. The numbers are the
|
|
16
|
+
* list's own (an `ol`), drawn in tabular figures so a tenth row's number
|
|
17
|
+
* stands where the first one's does.
|
|
18
|
+
*/
|
|
19
|
+
| 'numbered-divided'
|
|
12
20
|
/**
|
|
13
21
|
* A hairline between rows: a feed, a set of results, a conversation. THE
|
|
14
22
|
* DEFAULT, because it is the list every screen in the product draws: rows a
|
package/dist/List/index.js
CHANGED
|
@@ -120,6 +120,52 @@
|
|
|
120
120
|
padding-inline: 0;
|
|
121
121
|
}
|
|
122
122
|
|
|
123
|
+
/*
|
|
124
|
+
* NUMBERED AND DIVIDED: the divided list's hairlines, with the number in a
|
|
125
|
+
* column of its own rather than in the margin, so a statement that runs to a
|
|
126
|
+
* second line wraps under its own first word and not under its number. The
|
|
127
|
+
* row grows with its text (no row height), at the body's leading, and the
|
|
128
|
+
* number stands on the first line's baseline.
|
|
129
|
+
*
|
|
130
|
+
* The number is the list's counter, drawn by the row. The `ol` already
|
|
131
|
+
* announces each item's position, so the drawn figure is given empty
|
|
132
|
+
* alternative text and is not read a second time.
|
|
133
|
+
*/
|
|
134
|
+
.crewlet-list--numbered-divided {
|
|
135
|
+
counter-reset: crewlet-list-item;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
.crewlet-list--numbered-divided .crewlet-list__item {
|
|
139
|
+
counter-increment: crewlet-list-item;
|
|
140
|
+
border-bottom: 1px solid var(--color-border-default);
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
.crewlet-list--numbered-divided .crewlet-list__item:last-child {
|
|
144
|
+
border-bottom: none;
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
.crewlet-list--numbered-divided .crewlet-list__row {
|
|
148
|
+
align-items: baseline;
|
|
149
|
+
min-height: 0;
|
|
150
|
+
/* At a card's own inset, since a card is where these stand: the numbers
|
|
151
|
+
line up under the card head's glyph rather than 4px left of it. */
|
|
152
|
+
padding: var(--spacing-3) var(--spacing-4);
|
|
153
|
+
border-radius: 0;
|
|
154
|
+
line-height: var(--font-line-height-body);
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
.crewlet-list--numbered-divided .crewlet-list__row::before {
|
|
158
|
+
content: counter(crewlet-list-item);
|
|
159
|
+
content: counter(crewlet-list-item) / '';
|
|
160
|
+
flex: none;
|
|
161
|
+
min-width: 2ch;
|
|
162
|
+
text-align: end;
|
|
163
|
+
font-size: var(--font-size-xs);
|
|
164
|
+
font-weight: var(--font-weight-medium);
|
|
165
|
+
font-variant-numeric: tabular-nums;
|
|
166
|
+
color: var(--color-text-tertiary);
|
|
167
|
+
}
|
|
168
|
+
|
|
123
169
|
/* ---- States ------------------------------------------------------------ */
|
|
124
170
|
|
|
125
171
|
/*
|
|
@@ -21,6 +21,14 @@ export interface ListInputProps {
|
|
|
21
21
|
optional?: boolean | undefined;
|
|
22
22
|
/** Draws the Enter keycap inside the new-item box, which is what adds one. */
|
|
23
23
|
enterHint?: boolean | undefined;
|
|
24
|
+
/**
|
|
25
|
+
* Puts the focus in the new-item box when the list mounts, for a form
|
|
26
|
+
* opened to change THIS list ("Edit policies"): the reader lands where the
|
|
27
|
+
* next item is written rather than on the form's first field. It is taken
|
|
28
|
+
* during mount, so a dialog the list opens in keeps it rather than moving
|
|
29
|
+
* focus to its own first control. Named as `TagsInput`'s is.
|
|
30
|
+
*/
|
|
31
|
+
focusOnMount?: boolean | undefined;
|
|
24
32
|
/** The name of the control beside the legend that appends what the box holds. */
|
|
25
33
|
addLabel?: ((itemName: string) => string) | undefined;
|
|
26
34
|
itemLabel?: ((name: string, position: string) => string) | undefined;
|
|
@@ -67,4 +75,4 @@ export interface ListInputProps {
|
|
|
67
75
|
*
|
|
68
76
|
* Ported from the engine dashboard's `ui/ListField.tsx`.
|
|
69
77
|
*/
|
|
70
|
-
export declare function ListInput({ label, itemName, value, onChange, multiline, helper, helperOnFocus, error, placeholder, disabled, optional, enterHint, addLabel, itemLabel, newItemLabel, moveUpLabel, moveDownLabel, removeLabel, addedMessage, removedMessage, movedMessage, }: ListInputProps): import("react").JSX.Element;
|
|
78
|
+
export declare function ListInput({ label, itemName, value, onChange, multiline, helper, helperOnFocus, error, placeholder, disabled, optional, enterHint, focusOnMount, addLabel, itemLabel, newItemLabel, moveUpLabel, moveDownLabel, removeLabel, addedMessage, removedMessage, movedMessage, }: ListInputProps): import("react").JSX.Element;
|
package/dist/ListInput/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export { ListInput } from '../chunk-
|
|
2
|
-
import '../chunk-SMBKXWML.js';
|
|
1
|
+
export { ListInput } from '../chunk-WYYCPV46.js';
|
|
3
2
|
import '../chunk-TYONQSOK.js';
|
|
3
|
+
import '../chunk-SMBKXWML.js';
|
|
4
4
|
import '../chunk-PQADV6P6.js';
|
|
5
5
|
import '../chunk-RSAQOKH3.js';
|
|
6
6
|
import '../chunk-OMV5W53A.js';
|