@crewlethq/ui 0.72.0 → 0.73.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 +9 -1
- package/dist/DeepWorkCard/index.js +2 -2
- package/dist/RecordChip/RecordChip.d.ts +46 -0
- package/dist/RecordChip/RecordChipList.d.ts +17 -0
- package/dist/RecordChip/index.d.ts +5 -0
- package/dist/RecordChip/index.js +6 -0
- package/dist/RecordChip-53J66RA6.css +184 -0
- package/dist/ResultTableCard/index.js +2 -2
- package/dist/Table/Table.d.ts +29 -2
- package/dist/Table/index.js +1 -1
- package/dist/{Table-RUYMMWXT.css → Table-MN3FIA2O.css} +28 -0
- package/dist/chunk-75NQV4R4.js +72 -0
- package/dist/chunk-BFM5G2Z6.js +60 -0
- package/dist/{chunk-SO5SXSTP.js → chunk-JXJNX7QQ.js} +1 -1
- package/dist/generated/index.d.ts +1 -0
- package/dist/generated/index.js +27 -26
- package/dist/index.js +27 -26
- package/dist/styles.css +216 -1
- package/package.json +3 -3
- package/dist/chunk-5DJMFRSZ.js +0 -58
- package/dist/{chunk-ABZC3NLM.js → chunk-ABGLGAFJ.js} +0 -0
- package/dist/{chunk-P64MIA7C.js → chunk-JKMBC4NB.js} +1 -1
package/README.md
CHANGED
|
@@ -47,7 +47,7 @@ import { Button } from '@crewlethq/ui/Button'; // 8 KB of CSS, not 182 KB
|
|
|
47
47
|
| List screens | `DataView`, and its parts on their own: `DataViewToolbar`, `FilterAxisBar`, `FilterAxisChip`, `FilterPill`, plus the filter model (`filterDefsFromColumns`, `applyColumnFilters`, `filterPredicate`, `blankFilterValue`) |
|
|
48
48
|
| Feedback and overlays | `Callout`, `ConflictNote`, `EditingStatus`, `Toaster`, `Modal` (with `variant="sheet"`), `ConfirmModal`, `CommandPalette`, `Tooltip`, `Popover`, `Announcer` |
|
|
49
49
|
| Documents and review | `DiffView` and `DiffSummary` with the line diff they draw (`diffLines`, `diffStat`, `collapseDiff`, `firstChangedLines`, `splitLines`, `MAX_DIFF_LINES`, with no React in it), `DiffList`, `VersionCompare`, `CommentThread` |
|
|
50
|
-
| Conversations and the assistant | `ChatThread` (with `ChatThreadHandle`), `MessageBubble`, `RunChip`, `StepList` and `StepStateMark`, `ProposalCard`, `ChangeList` (with `shortenUnchanged`), `StatusCard`, `ReceiptStrip`, `RefusalStrip`, `ResultTableCard`, `OpenInAppCard`, `BriefCard`, `EntityList`, `RefusalCard`, `SuggestionRow` and `SuggestionList`, `SendButton` |
|
|
50
|
+
| Conversations and the assistant | `ChatThread` (with `ChatThreadHandle`), `MessageBubble`, `RunChip`, `StepList` and `StepStateMark`, `ProposalCard`, `ChangeList` (with `shortenUnchanged`), `StatusCard`, `ReceiptStrip`, `RefusalStrip`, `ResultTableCard`, `OpenInAppCard`, `BriefCard`, `EntityList`, `RecordChip` and `RecordChipList` (a record named in a sentence, opening a peek, and the Also read line), `RefusalCard`, `SuggestionRow` and `SuggestionList`, `SendButton` |
|
|
51
51
|
| Charts | `Legend`, `BarList`, `StackedBar`, `StackedColumns`, `ActivityStrip`, `TimeSeries`, `Sparkline`, the reading layer they share (`ChartTooltip`, `useChartHover`), and the ramp (`DATA_COLORS`, `DATA_COLOR_OTHER`, `dataColor`) |
|
|
52
52
|
| Marks | `Count`, `StatusDot`, `Spinner`, `EmptyValue`, `VisuallyHidden` |
|
|
53
53
|
| Hooks and seams | `useModalLayer`, `usePopupLayer`, `LayerHost`, `useListbox`, `useOptionKeys`, `useHighlightRest` and `HIGHLIGHT_REST_MS`, `useClipboard`, `useDownload`, `downloadText`, `downloadBlob`, `safeFilename`, `toCsv`, `elementToPng` and `ElementToPngError`, `useOutcome`, `useAnnouncer`, `useNow`, `formatRelative`, `HeadingLevelProvider`, `cx`, the node hues (`NODE_HUES`, `NODE_HUE_NAMES`, `isNodeHue`) |
|
|
@@ -205,6 +205,14 @@ places:
|
|
|
205
205
|
- A surface that pans or zooms dispatches `LAYER_REPOSITION_EVENT` on its host
|
|
206
206
|
when the content beneath it moves, and every panel anchored inside follows.
|
|
207
207
|
|
|
208
|
+
## Changes in 0.73.0
|
|
209
|
+
|
|
210
|
+
**`RecordChip`, a record named inside a sentence.** A button at the text's own size on its baseline, exactly one line of the text it sits in tall (`line-height: calc(1lh - 2px)` with its hairline, standing at the line's top so a key's mono text never moves the line), drawing the record's key in mono (`code`) or its name (`label`), with an optional kind glyph. It opens a **peek**: a `Popover` dialog named after the record (its key, then its name), with one line of context (`meta`), a body for its facts or rows (`children`) and a foot for the host's own link and downloads (`actions`). Focus moves into the peek; Escape, Tab out or a control that closes it returns focus to the chip, and a press outside closes it. A `code` chip's accessible name is the key and then the record's name ("GOP-11, Android 12 crash ..."); a `label` chip is named by its label alone, and carries its whole text as its `title`, so a pointer reader can read one cut at the line's end.
|
|
211
|
+
|
|
212
|
+
**`RecordChipList`, the Also read line.** A caption-register lead (`label`, "Also read") and its `RecordChip` children on a wrapping row; the row is a list named by the lead. It draws nothing when it holds no chip.
|
|
213
|
+
|
|
214
|
+
**`Table` sizes columns by their words.** `columns="content"` gives each column the room its words ask for rather than an equal share: a sentence wraps between words, a token longer than the table (a digest, a URL) wraps anywhere instead of pushing the table sideways, and `end` columns never wrap. With it, `nowrap` (by column index) holds a column of short tokens, such as a task's key, to one line. `nowrap` is offered only with `columns="content"`, by the type and at runtime: under the default even columns a held cell would run into the next one.
|
|
215
|
+
|
|
208
216
|
## Changes in 0.72.0
|
|
209
217
|
|
|
210
218
|
**`BriefCard` says whether the reader has anything to do, once, and says the rest in fewer lines.** The head's Tag is the verdict, derived from the rows: "Nothing needs you" in the success tone, or "1 thing needs you", "2 things need you" in the tone of the loudest row (danger when any row is danger, otherwise warning). The body no longer repeats it as "Nothing needs you." under a "Needs you" label. One line says what the page is about (`about`, which wraps anywhere, so a URL, a branch or a hash stays inside the card). The rows are ranked and the first is the recommendation, with the primary button, marked "Do first" on the accent's softest ground when there are two or more rows to rank; the separate recommendation that used to repeat it is gone. A quiet `context` line under the rows holds a fact to know, and the follow-ups are a list named "Ask next". THE HOST RANKS AND CAPS: the card draws at most `BRIEF_CARD_MAX_NEEDS` (3) rows and `BRIEF_CARD_MAX_FOLLOW_UPS` (2) follow-ups, and outside production it warns in the console when handed more, because a row it drops is one the verdict does not count. To move:
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export { DEEP_WORK_CARD_LABELS, DEEP_WORK_STATES, DEEP_WORK_STATE_LABELS, DeepWorkCard } from '../chunk-
|
|
1
|
+
export { DEEP_WORK_CARD_LABELS, DEEP_WORK_STATES, DEEP_WORK_STATE_LABELS, DeepWorkCard } from '../chunk-JKMBC4NB.js';
|
|
2
2
|
import '../chunk-HJBHP66O.js';
|
|
3
|
-
import '../chunk-ZWCK4N4L.js';
|
|
4
3
|
import '../chunk-RQFRRPV6.js';
|
|
4
|
+
import '../chunk-ZWCK4N4L.js';
|
|
5
5
|
import '../chunk-NTQPJJAN.js';
|
|
6
6
|
import '../chunk-I5OIKDX2.js';
|
|
7
7
|
import '../chunk-WIATRXEJ.js';
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
export interface RecordChipProps {
|
|
3
|
+
/** The record's short key, set in mono: "GOP-11". */
|
|
4
|
+
code?: string | undefined;
|
|
5
|
+
/**
|
|
6
|
+
* What the chip says where the record has no key ("QA", "Decisions waiting
|
|
7
|
+
* on you"). With a key, the key is what the chip says.
|
|
8
|
+
*/
|
|
9
|
+
label?: string | undefined;
|
|
10
|
+
/** The record's full name, at the head of the peek: "Android 12 crash when lesson audio starts". */
|
|
11
|
+
title: string;
|
|
12
|
+
/** The record's kind as a glyph, before the key. Decoration. */
|
|
13
|
+
glyph?: ReactNode;
|
|
14
|
+
/** What the peek holds under the name: a few facts, a short table. */
|
|
15
|
+
children?: ReactNode;
|
|
16
|
+
/** The peek's controls, at its foot: the way to the record, a download. */
|
|
17
|
+
actions?: ReactNode;
|
|
18
|
+
/** One line of context in the peek's head, under the name: "Task · In progress". */
|
|
19
|
+
meta?: ReactNode;
|
|
20
|
+
className?: string | undefined;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* A record named inside a sentence, as a chip that opens a PEEK: its name, a
|
|
24
|
+
* few facts and the way to it, without leaving the sentence.
|
|
25
|
+
*
|
|
26
|
+
* WHY IT EXISTS. An answer that names GOP-11 and also draws a card for it says
|
|
27
|
+
* the same record twice, the card a long way under the sentence that needed
|
|
28
|
+
* it. The chip puts the record where the words already are, and costs the
|
|
29
|
+
* line no height: it is the text's own size, on its baseline, exactly one of
|
|
30
|
+
* the line's own lines tall, hairline included.
|
|
31
|
+
*
|
|
32
|
+
* WHAT IT MAY POINT AT. The host draws a chip only for a record it read and
|
|
33
|
+
* resolved itself; the words around it are prose, and a chip is never made
|
|
34
|
+
* from a key the prose merely spells.
|
|
35
|
+
*
|
|
36
|
+
* A BUTTON THAT OPENS A DIALOG. The peek is a named `Popover` dialog, so focus
|
|
37
|
+
* moves into it when it opens. Escape, Tab out of it, or a control inside it
|
|
38
|
+
* that closes it hands focus back to the chip; a press outside closes it and
|
|
39
|
+
* leaves focus where that press put it. A key chip's name is the key and the
|
|
40
|
+
* record's name after it, so a reader moving by control hears what it opens;
|
|
41
|
+
* a label chip's name is its label, which already names the record.
|
|
42
|
+
*
|
|
43
|
+
* A LONG LABEL IS CUT AT THE LINE'S END and carries its whole text as the
|
|
44
|
+
* chip's title, so a pointer reader can still read it.
|
|
45
|
+
*/
|
|
46
|
+
export declare function RecordChip({ code, label, title, glyph, children, actions, meta, className }: RecordChipProps): import("react").JSX.Element;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { type HTMLAttributes, type ReactNode } from 'react';
|
|
2
|
+
export interface RecordChipListProps extends Omit<HTMLAttributes<HTMLDivElement>, 'children'> {
|
|
3
|
+
/** The line's lead, which also names the list: "Also read". */
|
|
4
|
+
label: string;
|
|
5
|
+
/** The records, each a `RecordChip`. */
|
|
6
|
+
children: ReactNode;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Records named on one quiet line under what they support, as chips: what an
|
|
10
|
+
* answer read but never named in its words ("Also read GOP-2 QA").
|
|
11
|
+
*
|
|
12
|
+
* A LIST NAMED BY ITS LEAD, so a screen reader hears "Also read, list, 3
|
|
13
|
+
* items" and then each chip, and the lead is drawn once rather than said
|
|
14
|
+
* again by every chip. The chips wrap onto further lines at a narrow width;
|
|
15
|
+
* the line is in the caption register, a step quieter than the text above it.
|
|
16
|
+
*/
|
|
17
|
+
export declare function RecordChipList({ label, children, className, ...rest }: RecordChipListProps): import("react").JSX.Element | null;
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* A record inside a sentence. The text's own size on the text's own
|
|
3
|
+
* baseline, so a line holding one is no taller than a line without: a quiet
|
|
4
|
+
* hairline, the inset ground, and the key in mono.
|
|
5
|
+
*/
|
|
6
|
+
.crewlet-record-chip {
|
|
7
|
+
display: inline-flex;
|
|
8
|
+
align-items: center;
|
|
9
|
+
gap: var(--spacing-1);
|
|
10
|
+
max-width: 100%;
|
|
11
|
+
margin: 0 1px;
|
|
12
|
+
padding: 0 var(--spacing-1);
|
|
13
|
+
border: 1px solid var(--color-border-default);
|
|
14
|
+
border-radius: var(--radius-xs);
|
|
15
|
+
background: var(--color-surface-inset);
|
|
16
|
+
color: var(--color-text-primary);
|
|
17
|
+
font: inherit;
|
|
18
|
+
font-weight: var(--font-weight-medium);
|
|
19
|
+
/*
|
|
20
|
+
* EXACTLY ONE OF THE LINE'S OWN LINES, hairline included: `1lh` is the
|
|
21
|
+
* line-height the chip inherits, and the two pixels are its top and bottom
|
|
22
|
+
* border. At the snug step a label chip stood 20.2px in a 19.5px line and
|
|
23
|
+
* moved every line it sat on by a pixel.
|
|
24
|
+
*/
|
|
25
|
+
line-height: calc(1lh - 2px);
|
|
26
|
+
/*
|
|
27
|
+
* TOP, NOT BASELINE: a key chip's text is mono at the micro step under the
|
|
28
|
+
* parent's absolute leading, and on the baseline it sat about a pixel off
|
|
29
|
+
* its neighbours' and pushed its line to 20.5px. At the line's top it is
|
|
30
|
+
* the line's own height (19.5px in a 19.5px line) with the key within half
|
|
31
|
+
* a pixel of the surrounding baseline.
|
|
32
|
+
*/
|
|
33
|
+
vertical-align: top;
|
|
34
|
+
cursor: pointer;
|
|
35
|
+
transition:
|
|
36
|
+
background var(--motion-duration-fast) var(--motion-easing-default),
|
|
37
|
+
border-color var(--motion-duration-fast) var(--motion-easing-default);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
.crewlet-record-chip:hover,
|
|
41
|
+
.crewlet-record-chip[data-open] {
|
|
42
|
+
border-color: var(--color-border-hover);
|
|
43
|
+
background: var(--color-surface-hover);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
/* The chip draws its own hairline, so the ring lands on it rather than standing off it. */
|
|
47
|
+
.crewlet-record-chip:focus-visible {
|
|
48
|
+
outline: 2px solid var(--color-focus);
|
|
49
|
+
outline-offset: var(--size-focus-ring-inset-offset);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
.crewlet-record-chip--code .crewlet-record-chip__text {
|
|
53
|
+
font-family: var(--font-family-mono);
|
|
54
|
+
font-size: var(--font-size-xs);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
.crewlet-record-chip__text {
|
|
58
|
+
min-width: 0;
|
|
59
|
+
overflow: hidden;
|
|
60
|
+
text-overflow: ellipsis;
|
|
61
|
+
white-space: nowrap;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
.crewlet-record-chip__glyph {
|
|
65
|
+
display: inline-flex;
|
|
66
|
+
flex: none;
|
|
67
|
+
color: var(--color-text-tertiary);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
/* THE PEEK: a name, a few facts and the way to it, at the panel's own inset. */
|
|
71
|
+
.crewlet-popover.crewlet-record-chip__peek {
|
|
72
|
+
display: flex;
|
|
73
|
+
flex-direction: column;
|
|
74
|
+
gap: var(--spacing-2);
|
|
75
|
+
max-height: min(420px, 70vh);
|
|
76
|
+
padding: var(--spacing-3);
|
|
77
|
+
font-size: var(--font-size-compact);
|
|
78
|
+
color: var(--color-text-primary);
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
.crewlet-record-chip__head {
|
|
82
|
+
display: flex;
|
|
83
|
+
align-items: flex-start;
|
|
84
|
+
gap: var(--spacing-2);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
.crewlet-record-chip__head-glyph {
|
|
88
|
+
display: inline-flex;
|
|
89
|
+
flex: none;
|
|
90
|
+
align-items: center;
|
|
91
|
+
height: 1lh;
|
|
92
|
+
color: var(--color-text-tertiary);
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
.crewlet-record-chip__head-words {
|
|
96
|
+
display: flex;
|
|
97
|
+
flex-direction: column;
|
|
98
|
+
gap: 2px;
|
|
99
|
+
min-width: 0;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
.crewlet-record-chip__name {
|
|
103
|
+
margin: 0;
|
|
104
|
+
font-weight: var(--font-weight-medium);
|
|
105
|
+
line-height: var(--font-line-height-normal);
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
.crewlet-record-chip__name-code {
|
|
109
|
+
font-family: var(--font-family-mono);
|
|
110
|
+
font-size: var(--font-size-xs);
|
|
111
|
+
font-weight: var(--font-weight-regular);
|
|
112
|
+
color: var(--color-text-secondary);
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
.crewlet-record-chip__meta {
|
|
116
|
+
margin: 0;
|
|
117
|
+
font-size: var(--font-size-xs);
|
|
118
|
+
color: var(--color-text-tertiary);
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
.crewlet-record-chip__body {
|
|
122
|
+
display: flex;
|
|
123
|
+
flex-direction: column;
|
|
124
|
+
gap: var(--spacing-2);
|
|
125
|
+
min-width: 0;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
/* Utilities start on the text edge, a ghost button's padding pulled into the gutter. */
|
|
129
|
+
.crewlet-record-chip__actions {
|
|
130
|
+
display: flex;
|
|
131
|
+
flex-wrap: wrap;
|
|
132
|
+
align-items: center;
|
|
133
|
+
gap: var(--spacing-1);
|
|
134
|
+
margin-inline-start: calc(-1 * (var(--spacing-2) + 1px));
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
@media (prefers-reduced-motion: reduce) {
|
|
138
|
+
.crewlet-record-chip {
|
|
139
|
+
transition: none;
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
/* THE ALSO READ LINE: a caption-register lead and the chips after it, wrapping. */
|
|
144
|
+
.crewlet-record-chip-list {
|
|
145
|
+
display: flex;
|
|
146
|
+
flex-wrap: wrap;
|
|
147
|
+
align-items: baseline;
|
|
148
|
+
gap: var(--spacing-1) var(--spacing-2);
|
|
149
|
+
min-width: 0;
|
|
150
|
+
font-size: var(--font-size-xs);
|
|
151
|
+
line-height: var(--font-line-height-normal);
|
|
152
|
+
color: var(--color-text-secondary);
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
.crewlet-record-chip-list__label {
|
|
156
|
+
flex: none;
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
/*
|
|
160
|
+
* THE LIST IS THE WRAPPING ROW. Not `display: contents`, which older WebKit
|
|
161
|
+
* and Chromium drop from the accessibility tree along with the list's name,
|
|
162
|
+
* so "Also read, list, 3 items" was never said.
|
|
163
|
+
*/
|
|
164
|
+
.crewlet-record-chip-list__items {
|
|
165
|
+
display: flex;
|
|
166
|
+
flex: 1 1 auto;
|
|
167
|
+
flex-wrap: wrap;
|
|
168
|
+
align-items: baseline;
|
|
169
|
+
gap: var(--spacing-1) var(--spacing-2);
|
|
170
|
+
min-width: 0;
|
|
171
|
+
margin: 0;
|
|
172
|
+
padding: 0;
|
|
173
|
+
list-style: none;
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
.crewlet-record-chip-list__item {
|
|
177
|
+
display: inline-flex;
|
|
178
|
+
min-width: 0;
|
|
179
|
+
max-width: 100%;
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
.crewlet-record-chip-list .crewlet-record-chip {
|
|
183
|
+
margin: 0;
|
|
184
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { RESULT_TABLE_CARD_LABELS, RESULT_TABLE_COLLAPSED_ROWS, RESULT_TABLE_MAX_ROWS, ResultTableCard } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
1
|
+
export { RESULT_TABLE_CARD_LABELS, RESULT_TABLE_COLLAPSED_ROWS, RESULT_TABLE_MAX_ROWS, ResultTableCard } from '../chunk-JXJNX7QQ.js';
|
|
2
|
+
import '../chunk-75NQV4R4.js';
|
|
3
3
|
import '../chunk-EHFQMY3B.js';
|
|
4
4
|
import '../chunk-YNRKVY7X.js';
|
|
5
5
|
import '../chunk-DTIW4CHZ.js';
|
package/dist/Table/Table.d.ts
CHANGED
|
@@ -24,7 +24,7 @@ export interface TableActionButton {
|
|
|
24
24
|
}
|
|
25
25
|
/** Which edge a column's cells stand against: `start` for words, `end` for figures. */
|
|
26
26
|
export type TableColumnAlign = 'start' | 'end';
|
|
27
|
-
|
|
27
|
+
interface TableBaseProps {
|
|
28
28
|
headers: ReactNode[];
|
|
29
29
|
/** One array per row, in the header's own order. Cells may be any node. */
|
|
30
30
|
data: ReactNode[][];
|
|
@@ -69,4 +69,31 @@ export interface TableProps {
|
|
|
69
69
|
maxHeight?: string;
|
|
70
70
|
className?: string;
|
|
71
71
|
}
|
|
72
|
-
|
|
72
|
+
/**
|
|
73
|
+
* How the columns share the width. NOWRAP NEEDS COLUMNS SIZED BY THEIR WORDS:
|
|
74
|
+
* under the grid's equal columns a cell held to one line runs into the next
|
|
75
|
+
* one, so the type offers `nowrap` only with `columns="content"`, where the
|
|
76
|
+
* column grows to hold it.
|
|
77
|
+
*/
|
|
78
|
+
type TableColumnsProps = {
|
|
79
|
+
/** `even` (the default): the grid's equal columns. */
|
|
80
|
+
columns?: 'even' | undefined;
|
|
81
|
+
nowrap?: undefined;
|
|
82
|
+
} | {
|
|
83
|
+
/**
|
|
84
|
+
* `content`: each column takes the room its words ask for, as a result
|
|
85
|
+
* read beside an answer wants. A sentence wraps between words, a token
|
|
86
|
+
* longer than the table wraps anywhere rather than push the table
|
|
87
|
+
* sideways, and the figures (`end` columns) never wrap.
|
|
88
|
+
*/
|
|
89
|
+
columns: 'content';
|
|
90
|
+
/**
|
|
91
|
+
* Columns whose cells never wrap, by index: a short token such as a
|
|
92
|
+
* task's key ("GOP-11"), which a line would otherwise break at its
|
|
93
|
+
* hyphen.
|
|
94
|
+
*/
|
|
95
|
+
nowrap?: readonly boolean[] | undefined;
|
|
96
|
+
};
|
|
97
|
+
export type TableProps = TableBaseProps & TableColumnsProps;
|
|
98
|
+
export declare const Table: ({ headers, data, caption, captionHidden, emptyMessage, actionButton, maxHeight, align, footer, framed, columns, nowrap, className, }: TableProps) => import("react").JSX.Element;
|
|
99
|
+
export {};
|
package/dist/Table/index.js
CHANGED
|
@@ -216,3 +216,31 @@
|
|
|
216
216
|
transition: none;
|
|
217
217
|
}
|
|
218
218
|
}
|
|
219
|
+
|
|
220
|
+
/*
|
|
221
|
+
* COLUMNS SIZED BY THEIR WORDS (`columns="content"`), for a result read
|
|
222
|
+
* beside an answer. Each column takes the room its words ask for, so a short
|
|
223
|
+
* key keeps its line and the longest text takes the most and wraps between
|
|
224
|
+
* words. A token longer than the table (a digest, a URL) wraps ANYWHERE: with
|
|
225
|
+
* `break-word` it did not, because under an auto layout a word's whole width
|
|
226
|
+
* is the column's minimum, and a sha256 in a 350px table pushed it to 606px.
|
|
227
|
+
* `anywhere` lets the minimum shrink to a character. The figures (`end`
|
|
228
|
+
* columns) and the nowrap columns never wrap, and the figures stay tabular.
|
|
229
|
+
*/
|
|
230
|
+
.crewlet-table--content .crewlet-table__table {
|
|
231
|
+
table-layout: auto;
|
|
232
|
+
font-variant-numeric: tabular-nums;
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
.crewlet-table--content td:not(.crewlet-table__cell--nowrap, .crewlet-table__cell--end) {
|
|
236
|
+
overflow-wrap: anywhere;
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
.crewlet-table--content .crewlet-table__cell--end {
|
|
240
|
+
white-space: nowrap;
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
/* A column of short tokens (a task's key) keeps each on one line; only content columns offer it. */
|
|
244
|
+
.crewlet-table--content .crewlet-table__cell--nowrap {
|
|
245
|
+
white-space: nowrap;
|
|
246
|
+
}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { VisuallyHidden } from './chunk-UT6CW3C7.js';
|
|
2
|
+
import { cx } from './chunk-ODEQTPFM.js';
|
|
3
|
+
import './Table-MN3FIA2O.css';
|
|
4
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
5
|
+
|
|
6
|
+
var Table = ({
|
|
7
|
+
headers,
|
|
8
|
+
data,
|
|
9
|
+
caption,
|
|
10
|
+
captionHidden = false,
|
|
11
|
+
emptyMessage = "No data available",
|
|
12
|
+
actionButton,
|
|
13
|
+
maxHeight,
|
|
14
|
+
align,
|
|
15
|
+
footer,
|
|
16
|
+
framed = true,
|
|
17
|
+
columns = "even",
|
|
18
|
+
nowrap,
|
|
19
|
+
className = ""
|
|
20
|
+
}) => {
|
|
21
|
+
const columnCount = Math.max(1, headers.length);
|
|
22
|
+
const held = columns === "content" ? nowrap : void 0;
|
|
23
|
+
const edge = (index) => cx(align?.[index] === "end" && "crewlet-table__cell--end", held?.[index] === true && "crewlet-table__cell--nowrap") || void 0;
|
|
24
|
+
return /* @__PURE__ */ jsxs(
|
|
25
|
+
"div",
|
|
26
|
+
{
|
|
27
|
+
className: cx(
|
|
28
|
+
"crewlet-table",
|
|
29
|
+
!framed && "crewlet-table--flush",
|
|
30
|
+
columns === "content" && "crewlet-table--content",
|
|
31
|
+
className
|
|
32
|
+
),
|
|
33
|
+
children: [
|
|
34
|
+
/* @__PURE__ */ jsx(
|
|
35
|
+
"div",
|
|
36
|
+
{
|
|
37
|
+
className: "crewlet-table__container",
|
|
38
|
+
style: (
|
|
39
|
+
// Only the height: the stylesheet scrolls both axes unconditionally,
|
|
40
|
+
// because with `overflow-x: auto` declared beside it a `visible`
|
|
41
|
+
// vertical axis was never reachable. See Table.css.
|
|
42
|
+
maxHeight ? { "--crewlet-table-max-height": maxHeight } : void 0
|
|
43
|
+
),
|
|
44
|
+
children: /* @__PURE__ */ jsxs("table", { className: "crewlet-table__table", children: [
|
|
45
|
+
caption != null && (captionHidden ? /* @__PURE__ */ jsx("caption", { children: /* @__PURE__ */ jsx(VisuallyHidden, { children: caption }) }) : /* @__PURE__ */ jsx("caption", { className: "crewlet-table__caption", children: caption })),
|
|
46
|
+
/* @__PURE__ */ jsx("thead", { children: /* @__PURE__ */ jsx("tr", { className: "crewlet-table__header", children: headers.map((header, index) => (
|
|
47
|
+
// The index is the key because a header is a position: the
|
|
48
|
+
// columns of one table do not reorder between renders.
|
|
49
|
+
/* @__PURE__ */ jsx("th", { scope: "col", className: edge(index), children: header }, index)
|
|
50
|
+
)) }) }),
|
|
51
|
+
/* @__PURE__ */ jsx("tbody", { children: data && data.length > 0 ? data.map((row, rowIndex) => /* @__PURE__ */ jsx("tr", { className: "crewlet-table__row", children: row.map((cell, cellIndex) => /* @__PURE__ */ jsx("td", { className: edge(cellIndex), children: cell }, cellIndex)) }, rowIndex)) : /* @__PURE__ */ jsx("tr", { children: /* @__PURE__ */ jsx("td", { className: "crewlet-table__empty", colSpan: columnCount, children: emptyMessage }) }) }),
|
|
52
|
+
footer && footer.length > 0 ? /* @__PURE__ */ jsx("tfoot", { children: /* @__PURE__ */ jsx("tr", { className: "crewlet-table__footer", children: footer.map(
|
|
53
|
+
(cell, index) => index === 0 ? /* @__PURE__ */ jsx("th", { scope: "row", className: edge(index), children: cell }, index) : /* @__PURE__ */ jsx("td", { className: edge(index), children: cell }, index)
|
|
54
|
+
) }) }) : null
|
|
55
|
+
] })
|
|
56
|
+
}
|
|
57
|
+
),
|
|
58
|
+
actionButton && /* @__PURE__ */ jsx(
|
|
59
|
+
"button",
|
|
60
|
+
{
|
|
61
|
+
type: "button",
|
|
62
|
+
className: "crewlet-table__action-btn",
|
|
63
|
+
onClick: actionButton.onClick,
|
|
64
|
+
children: /* @__PURE__ */ jsx("span", { className: "crewlet-table__action-text", children: actionButton.label })
|
|
65
|
+
}
|
|
66
|
+
)
|
|
67
|
+
]
|
|
68
|
+
}
|
|
69
|
+
);
|
|
70
|
+
};
|
|
71
|
+
|
|
72
|
+
export { Table };
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { Popover } from './chunk-KHJIEPZV.js';
|
|
2
|
+
import { cx } from './chunk-ODEQTPFM.js';
|
|
3
|
+
import './RecordChip-53J66RA6.css';
|
|
4
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
5
|
+
import { useId, Children, isValidElement } from 'react';
|
|
6
|
+
|
|
7
|
+
function RecordChip({ code, label, title, glyph, children, actions, meta, className }) {
|
|
8
|
+
const said = code ?? label ?? title;
|
|
9
|
+
const hasBody = !(children === void 0 || children === null || children === false);
|
|
10
|
+
const hasActions = !(actions === void 0 || actions === null || actions === false);
|
|
11
|
+
return /* @__PURE__ */ jsxs(
|
|
12
|
+
Popover,
|
|
13
|
+
{
|
|
14
|
+
label: code ? `${code} ${title}` : title,
|
|
15
|
+
align: "start",
|
|
16
|
+
className: "crewlet-record-chip__peek",
|
|
17
|
+
trigger: (open, toggle) => /* @__PURE__ */ jsxs(
|
|
18
|
+
"button",
|
|
19
|
+
{
|
|
20
|
+
type: "button",
|
|
21
|
+
className: cx("crewlet-record-chip", code ? "crewlet-record-chip--code" : null, className),
|
|
22
|
+
"data-open": open || void 0,
|
|
23
|
+
"aria-label": code ? `${code}, ${title}` : void 0,
|
|
24
|
+
title: code ? void 0 : said,
|
|
25
|
+
onClick: toggle,
|
|
26
|
+
children: [
|
|
27
|
+
glyph === void 0 || glyph === null ? null : /* @__PURE__ */ jsx("span", { className: "crewlet-record-chip__glyph", "aria-hidden": "true", children: glyph }),
|
|
28
|
+
/* @__PURE__ */ jsx("span", { className: "crewlet-record-chip__text", children: said })
|
|
29
|
+
]
|
|
30
|
+
}
|
|
31
|
+
),
|
|
32
|
+
children: [
|
|
33
|
+
/* @__PURE__ */ jsxs("div", { className: "crewlet-record-chip__head", children: [
|
|
34
|
+
glyph === void 0 || glyph === null ? null : /* @__PURE__ */ jsx("span", { className: "crewlet-record-chip__head-glyph", "aria-hidden": "true", children: glyph }),
|
|
35
|
+
/* @__PURE__ */ jsxs("div", { className: "crewlet-record-chip__head-words", children: [
|
|
36
|
+
/* @__PURE__ */ jsxs("p", { className: "crewlet-record-chip__name", children: [
|
|
37
|
+
code ? /* @__PURE__ */ jsx("span", { className: "crewlet-record-chip__name-code", children: code }) : null,
|
|
38
|
+
code ? " " : null,
|
|
39
|
+
title
|
|
40
|
+
] }),
|
|
41
|
+
meta === void 0 || meta === null ? null : /* @__PURE__ */ jsx("p", { className: "crewlet-record-chip__meta", children: meta })
|
|
42
|
+
] })
|
|
43
|
+
] }),
|
|
44
|
+
hasBody ? /* @__PURE__ */ jsx("div", { className: "crewlet-record-chip__body", children }) : null,
|
|
45
|
+
hasActions ? /* @__PURE__ */ jsx("div", { className: "crewlet-record-chip__actions", children: actions }) : null
|
|
46
|
+
]
|
|
47
|
+
}
|
|
48
|
+
);
|
|
49
|
+
}
|
|
50
|
+
function RecordChipList({ label, children, className, ...rest }) {
|
|
51
|
+
const id = useId();
|
|
52
|
+
const items = Children.toArray(children).filter(isValidElement);
|
|
53
|
+
if (items.length === 0) return null;
|
|
54
|
+
return /* @__PURE__ */ jsxs("div", { ...rest, className: cx("crewlet-record-chip-list", className), children: [
|
|
55
|
+
/* @__PURE__ */ jsx("span", { id, className: "crewlet-record-chip-list__label", children: label }),
|
|
56
|
+
/* @__PURE__ */ jsx("ul", { role: "list", "aria-labelledby": id, className: "crewlet-record-chip-list__items", children: items.map((item, i) => /* @__PURE__ */ jsx("li", { className: "crewlet-record-chip-list__item", children: item }, item.key ?? i)) })
|
|
57
|
+
] });
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
export { RecordChip, RecordChipList };
|
|
@@ -157,6 +157,7 @@ export * from '../Prose/index.js';
|
|
|
157
157
|
export * from '../QrCode/index.js';
|
|
158
158
|
export * from '../ReadingPane/index.js';
|
|
159
159
|
export * from '../ReceiptStrip/index.js';
|
|
160
|
+
export * from '../RecordChip/index.js';
|
|
160
161
|
export * from '../RefusalCard/index.js';
|
|
161
162
|
export * from '../RelatedRow/index.js';
|
|
162
163
|
export * from '../RelativeTime/index.js';
|
package/dist/generated/index.js
CHANGED
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
import '../chunk-
|
|
1
|
+
import '../chunk-ABGLGAFJ.js';
|
|
2
|
+
export { StatCard } from '../chunk-G5IZGAWS.js';
|
|
2
3
|
export { ElementToPngError, elementToPng, parseCsv, serializeElement, toCsv } from '../chunk-FEJANUZK.js';
|
|
3
|
-
export { TreeCanvas } from '../chunk-JQEXAH7G.js';
|
|
4
4
|
export { TypeSpecimen } from '../chunk-JKAFEFFC.js';
|
|
5
5
|
export { REFERENCE_NAME_PATTERN, ValueField, completeReference, isWholeReference, rankReferences, referenceAt, urlSchemeOf } from '../chunk-YAL6VBRK.js';
|
|
6
6
|
export { VERSION_COMPARE_LABELS, VERSION_COMPARE_LENSES, VersionCompare } from '../chunk-EOXI3CRG.js';
|
|
7
7
|
export { VersionTimeline } from '../chunk-O3HCFM3D.js';
|
|
8
|
+
export { TABLE_TAGS_CELL_LABELS, TableDateCell, TableEntityCell, TableKeyCell, TableNumberCell, TableStatusCell, TableTagsCell, TableTextCell } from '../chunk-AGLONIVV.js';
|
|
8
9
|
export { WidgetFrame } from '../chunk-S5QJZOPL.js';
|
|
9
|
-
export { TileGrid } from '../chunk-Q6CQMS6R.js';
|
|
10
10
|
export { TIME_RANGE_CUSTOM, TIME_RANGE_PICKER_LABELS, TimeRangePicker, timeRangeFieldKey, timeRangeProblem } from '../chunk-H6S6NRZL.js';
|
|
11
11
|
export { DEFAULT_TIME_WINDOW_LABELS, TIME_WINDOW_SPANS, TimeWindowPicker, describeTimeWindow, isTimeWindowSet, parseTimeWindowDuration, resolveTimeWindow, timeWindowMatchesPreset } from '../chunk-I7YQNRTQ.js';
|
|
12
12
|
export { ToastProvider, Toaster, readingDuration, toasterInsetStyle, useToast } from '../chunk-JIBWNHTC.js';
|
|
13
|
+
export { TreeCanvas } from '../chunk-JQEXAH7G.js';
|
|
13
14
|
export { TagsInput } from '../chunk-5VMAJAVF.js';
|
|
14
15
|
export { ThemeGallery } from '../chunk-LWFOX3PB.js';
|
|
15
16
|
export { ThemeSwatch } from '../chunk-3XQUEF5C.js';
|
|
16
|
-
export { ThemeToggle } from '../chunk-IPMJGK2Q.js';
|
|
17
|
-
export { ThinkingIndicator } from '../chunk-M73MMEZY.js';
|
|
18
17
|
export { DensitySwitcher, ThemeSwitcher } from '../chunk-VWMB3CJN.js';
|
|
18
|
+
export { ThemeToggle } from '../chunk-IPMJGK2Q.js';
|
|
19
19
|
export { applyStoredPreferences, resolveTheme, useDensityPreference, useSystemTheme, useThemePreference } from '../chunk-Z24ZUSTX.js';
|
|
20
|
+
export { ThinkingIndicator } from '../chunk-M73MMEZY.js';
|
|
21
|
+
export { TileGrid } from '../chunk-Q6CQMS6R.js';
|
|
20
22
|
export { Switcher } from '../chunk-F5QBQP63.js';
|
|
21
|
-
export { TABLE_TAGS_CELL_LABELS, TableDateCell, TableEntityCell, TableKeyCell, TableNumberCell, TableStatusCell, TableTagsCell, TableTextCell } from '../chunk-AGLONIVV.js';
|
|
22
23
|
export { SOURCE_EDITOR_KEYS, SourceEditor, lineStart } from '../chunk-4TMBAOXK.js';
|
|
23
|
-
export { StatCard } from '../chunk-G5IZGAWS.js';
|
|
24
24
|
export { StatGroup } from '../chunk-OUD75UB2.js';
|
|
25
25
|
export { Statement } from '../chunk-MZJKPTA5.js';
|
|
26
26
|
export { matchesShortcut, useShortcut } from '../chunk-AYHIF6DH.js';
|
|
@@ -34,39 +34,39 @@ export { SettingsTable, SettingsTableRow } from '../chunk-4RKTZSEW.js';
|
|
|
34
34
|
export { SetupWizard } from '../chunk-SBHAKX2T.js';
|
|
35
35
|
export { ARTIFACT_ROLES, SHAREABLE_ROLES, ShareDialog, roleAtLeast } from '../chunk-73SAOOR5.js';
|
|
36
36
|
export { SHEET_COLUMN_EDITOR_LABELS, SheetColumnEditor, SheetColumnTypeGlyph } from '../chunk-AWQQ5I34.js';
|
|
37
|
+
export { Select } from '../chunk-VK45YJLH.js';
|
|
37
38
|
export { CellDisplay, CellEditor, CheckboxCell, DateCell, LongTextCell, MultiSelectCell, NumberCell, PersonCell, RatingCell, SelectCell, SheetCell, SheetGrid, StatusCell, TextCell, UrlCell } from '../chunk-EN4UJQ63.js';
|
|
38
39
|
export { TagGroup } from '../chunk-UEOEBOBR.js';
|
|
40
|
+
export { RichEditor, preloadRichEditor } from '../chunk-BW6MQO2B.js';
|
|
41
|
+
export { RICH_EDITOR_LABELS, richEditorLabels } from '../chunk-CSQTDGTS.js';
|
|
39
42
|
export { RUN_STATES, RunChip } from '../chunk-PIAGTZY3.js';
|
|
40
43
|
export { FRAME_HELLO_TIMEOUT_MS, FRAME_LOAD_GRACE_MS, SandboxedFrame, SandboxedFrameNotice, SandboxedFramePlaceholder } from '../chunk-DGSK4LLS.js';
|
|
41
44
|
export { SearchTrigger } from '../chunk-ERNT3UTB.js';
|
|
42
45
|
export { SectionFrame, SectionFrameBody, SectionFrameNav } from '../chunk-G4CGDUCP.js';
|
|
43
46
|
export { NavGroup, NavItem, SidebarNav } from '../chunk-WCDPFTJZ.js';
|
|
44
47
|
export { SegmentedMeter, segmentedMeterLabel } from '../chunk-4AK52VHB.js';
|
|
45
|
-
export {
|
|
48
|
+
export { RecordChip, RecordChipList } from '../chunk-BFM5G2Z6.js';
|
|
46
49
|
export { REFUSAL_CARD_LABELS, RefusalCard } from '../chunk-RQHN4J5P.js';
|
|
47
50
|
export { RelatedRow } from '../chunk-CNEHFH2A.js';
|
|
48
51
|
export { Text } from '../chunk-QP2P6GDQ.js';
|
|
49
|
-
export { RESULT_TABLE_CARD_LABELS, RESULT_TABLE_COLLAPSED_ROWS, RESULT_TABLE_MAX_ROWS, ResultTableCard } from '../chunk-
|
|
50
|
-
export { Table } from '../chunk-
|
|
52
|
+
export { RESULT_TABLE_CARD_LABELS, RESULT_TABLE_COLLAPSED_ROWS, RESULT_TABLE_MAX_ROWS, ResultTableCard } from '../chunk-JXJNX7QQ.js';
|
|
53
|
+
export { Table } from '../chunk-75NQV4R4.js';
|
|
51
54
|
export { ReviewList } from '../chunk-DO4J4TBZ.js';
|
|
52
|
-
export { RichEditor, preloadRichEditor } from '../chunk-BW6MQO2B.js';
|
|
53
|
-
export { RICH_EDITOR_LABELS, richEditorLabels } from '../chunk-CSQTDGTS.js';
|
|
54
55
|
export { canonicalMarkdown, roundTripMarkdown } from '../chunk-SWD4QBL6.js';
|
|
55
56
|
import '../chunk-QH6VYJ3X.js';
|
|
56
|
-
export { PropertyList } from '../chunk-HIWPPWNY.js';
|
|
57
57
|
export { PrincipalPicker } from '../chunk-IXPC5D36.js';
|
|
58
|
+
export { PropertyList } from '../chunk-HIWPPWNY.js';
|
|
58
59
|
export { PROPOSAL_CARD_LABELS, PROPOSAL_FAILURE_OUTCOMES, PROPOSAL_STATES, PROPOSAL_TONES, ProposalCard } from '../chunk-OSMR6TSC.js';
|
|
59
60
|
export { Prose } from '../chunk-DVVP27OD.js';
|
|
60
61
|
export { QR_DARK, QR_LIGHT, QR_QUIET_ZONE, QrCode, qrModulePath, qrModules } from '../chunk-Y56FM3K4.js';
|
|
61
62
|
export { ReadingPane, ReadingPaneByline, ReadingPaneLead, ReadingPaneOutcome, ReadingPaneQuote, ReadingPaneReasoning, ReadingPaneSection, ReadingPaneTitle } from '../chunk-ZAJHGDAW.js';
|
|
63
|
+
export { MERGE_CONFLICTS_LABELS, MergeConflicts } from '../chunk-3WN5HUAK.js';
|
|
62
64
|
export { PinTile } from '../chunk-LJ3KWQLP.js';
|
|
63
|
-
export { PEEK_RAIL_LABELS, PEEK_RAIL_MAX_WIDTH, PEEK_RAIL_MIN_WIDTH, PEEK_RAIL_WIDTH, PeekHost, PeekNeighbours, PeekRail, isPlainPress, peekClickHandler, peekRowActivation, usePeekNeighbours, usePeekOrder, usePeekStep } from '../chunk-CDNZTCP2.js';
|
|
64
65
|
export { PresenceStack } from '../chunk-EVXXY75R.js';
|
|
65
66
|
export { PresenterView, formatStopwatch } from '../chunk-PRN5IP2R.js';
|
|
66
67
|
export { SLIDE_NAV_LABELS, SlideNav } from '../chunk-5AJR6X75.js';
|
|
67
68
|
export { SLIDE_HEIGHT, SLIDE_WIDTH, SlideStage, useSlideKeys } from '../chunk-RMEBFYL7.js';
|
|
68
69
|
export { PricingCard } from '../chunk-ZKIEOWR6.js';
|
|
69
|
-
export { OPEN_IN_APP_CARD_LABELS, OpenInAppCard } from '../chunk-G4QZWVAB.js';
|
|
70
70
|
export { OrgNodeDisclosure, OrgNodeLabel, OrgNodeLead } from '../chunk-RUBKDJAQ.js';
|
|
71
71
|
export { OrgTable, OrgTableActions, OrgTableAdd, OrgTableName } from '../chunk-FWUX3F6Q.js';
|
|
72
72
|
export { TreeGrid } from '../chunk-IL3XLDW7.js';
|
|
@@ -74,18 +74,19 @@ export { SIZE_EPSILON, TYPE_AHEAD_RESET_MS, createTreeModel, isTypeAheadKey, lay
|
|
|
74
74
|
export { OrgLabel } from '../chunk-ONQKKHON.js';
|
|
75
75
|
export { Outline, scrollToHeading, useActiveHeading } from '../chunk-A5YKNRG6.js';
|
|
76
76
|
export { PageNote } from '../chunk-CV4NES3P.js';
|
|
77
|
+
export { PEEK_RAIL_LABELS, PEEK_RAIL_MAX_WIDTH, PEEK_RAIL_MIN_WIDTH, PEEK_RAIL_WIDTH, PeekHost, PeekNeighbours, PeekRail, isPlainPress, peekClickHandler, peekRowActivation, usePeekNeighbours, usePeekOrder, usePeekStep } from '../chunk-CDNZTCP2.js';
|
|
77
78
|
export { PEOPLE_RAIL_LABELS, PeopleRail, peopleRailKey } from '../chunk-SMZPUHBL.js';
|
|
78
79
|
import '../chunk-CENOOTAV.js';
|
|
79
|
-
export { MERGE_CONFLICTS_LABELS, MergeConflicts } from '../chunk-3WN5HUAK.js';
|
|
80
80
|
export { MessageBubble } from '../chunk-KAQ2L74F.js';
|
|
81
81
|
export { NewItemsNotice } from '../chunk-463DNZXI.js';
|
|
82
82
|
export { FactLine, ObjectHeader, SetByLine } from '../chunk-S7WG53JB.js';
|
|
83
|
+
export { OPEN_IN_APP_CARD_LABELS, OpenInAppCard } from '../chunk-G4QZWVAB.js';
|
|
83
84
|
export { LIVE_CURSOR_HIDE_MS, LIVE_CURSOR_REST_MS, LiveCursor } from '../chunk-DPNVKWJX.js';
|
|
84
85
|
export { LIVE_PREVIEW_DWELL_MS, LIVE_PREVIEW_MARGIN, LIVE_PREVIEW_MAX, LIVE_PREVIEW_MAX_FRAMES, LIVE_PREVIEW_RENDER_MS, LIVE_PREVIEW_STILLS_KEPT, LivePreview, LivePreviewBudgetProvider, PREVIEW_FILL_MAX_CUT, PreviewScale, createLivePreviewBudget, createLivePreviewStills, immediately, perFrame, useLivePreview } from '../chunk-CQFQGAZI.js';
|
|
85
86
|
export { LockedLabel } from '../chunk-TEV5REGB.js';
|
|
86
87
|
export { MARKDOWN_CALLOUT_NAMES, MARKDOWN_CALLOUT_TONES, markdownBreaks, markdownClosesFence, markdownCodeText, markdownFenceOf, markdownHeadingOf, markdownInline, markdownLines, parseMarkdown, parseMarkdownSpans, safeHref } from '../chunk-BAKPMH3S.js';
|
|
87
|
-
export { LogoSlot, LogoSlotGroup } from '../chunk-YUHKRRWO.js';
|
|
88
88
|
export { MARKDOWN_FORMATS, MarkdownEditor, formatMarkdown, insertMarkdown, markdownWords } from '../chunk-ERFXYGRF.js';
|
|
89
|
+
export { LogoSlot, LogoSlotGroup } from '../chunk-YUHKRRWO.js';
|
|
89
90
|
export { LAYERS_LIST_LABELS, LayersList } from '../chunk-VUYNNILP.js';
|
|
90
91
|
export { AutoGrid, Inline, Spacer, Stack } from '../chunk-ZAC7SKUN.js';
|
|
91
92
|
export { Link } from '../chunk-QF5UNP4T.js';
|
|
@@ -95,8 +96,8 @@ export { ListDetail } from '../chunk-YBC2CYPD.js';
|
|
|
95
96
|
export { ListInput, withDraft } from '../chunk-52D5EFHL.js';
|
|
96
97
|
export { IconTile } from '../chunk-3LI4TRUR.js';
|
|
97
98
|
export { InboxGroup, InboxList, InboxMore, InboxRow, InboxToggle } from '../chunk-QPHD4UUG.js';
|
|
98
|
-
export { IndicatorAnchor } from '../chunk-27MJPU7G.js';
|
|
99
99
|
export { INLINE_EDITOR_LABELS, InlineEditor } from '../chunk-4DL2BQJE.js';
|
|
100
|
+
export { IndicatorAnchor } from '../chunk-27MJPU7G.js';
|
|
100
101
|
export { FollowBanner } from '../chunk-JT7WRPZ6.js';
|
|
101
102
|
export { DEFAULT_FRAME_THEME, EXTERNAL_URL_MAX, FRAME_BRIDGE, FRAME_MESSAGE, FRAME_ORIGIN_MODES, FRAME_SANDBOX_TOKENS, applyFrameTheme, checkFrameSandbox, externalUrl, frameFragment, frameOriginMatches, frameThemeMessage, httpOrigin, isFocusExit, isFrameNonce, negotiateBridge, parseFrameFragment, portTargetOrigin, readFrameHello, readFramePortMessage, readFrameTheme, readOpenLink } from '../chunk-F6V2PTN6.js';
|
|
102
103
|
export { DENSITY_PREFERENCES, PALETTE_ID, THEME_PREFERENCES, applyDensity, applyPalette, applyTheme, isDensityPreference, isPaletteId, isThemePreference } from '../chunk-ZXXDZJQN.js';
|
|
@@ -105,23 +106,23 @@ export { Highlight, highlightRanges, highlightTerms } from '../chunk-H6VKCIWV.js
|
|
|
105
106
|
import '../chunk-MICRGE3J.js';
|
|
106
107
|
import '../chunk-FFMCMSJB.js';
|
|
107
108
|
export { ImageUpload } from '../chunk-56IFLQGF.js';
|
|
108
|
-
export { Eyebrow } from '../chunk-RK4XPHVG.js';
|
|
109
109
|
export { FactList } from '../chunk-CSXJIIO4.js';
|
|
110
|
+
export { ErrorBoundary } from '../chunk-IJ7KLXUZ.js';
|
|
110
111
|
export { FileDrop, FilePickButton, droppedFiles, pickedFiles } from '../chunk-KQWJWTED.js';
|
|
111
112
|
export { FileList } from '../chunk-5WRWBDML.js';
|
|
112
113
|
export { FILTER_CHIP_ATTRIBUTE, FilterChip, FilterChipGroup } from '../chunk-IWZG7NPV.js';
|
|
113
|
-
export { FindingList } from '../chunk-LSRQ2A6B.js';
|
|
114
114
|
export { FolderTile, describeFolderContents, folderContentsParts } from '../chunk-WTXCK46H.js';
|
|
115
|
+
export { FindingList } from '../chunk-LSRQ2A6B.js';
|
|
115
116
|
export { DownloadButton } from '../chunk-EHFQMY3B.js';
|
|
116
117
|
export { downloadBlob, downloadText, safeFilename, useDownload } from '../chunk-YNRKVY7X.js';
|
|
117
118
|
export { EditingStatus } from '../chunk-VLGGLLKH.js';
|
|
118
119
|
export { EntityChip } from '../chunk-OSKJZNBT.js';
|
|
119
120
|
export { EntityList } from '../chunk-7IW3P6FH.js';
|
|
120
|
-
export {
|
|
121
|
-
export { DEEP_WORK_CARD_LABELS, DEEP_WORK_STATES, DEEP_WORK_STATE_LABELS, DeepWorkCard } from '../chunk-
|
|
121
|
+
export { Eyebrow } from '../chunk-RK4XPHVG.js';
|
|
122
|
+
export { DEEP_WORK_CARD_LABELS, DEEP_WORK_STATES, DEEP_WORK_STATE_LABELS, DeepWorkCard } from '../chunk-JKMBC4NB.js';
|
|
122
123
|
export { STEP_STATES, STEP_STATE_LABELS, StepList, StepStateMark, Stepper, stepDetailPieces } from '../chunk-HJBHP66O.js';
|
|
123
|
-
export { REFUSAL_STRIP_LABELS, ReceiptStrip, RefusalStrip } from '../chunk-ZWCK4N4L.js';
|
|
124
124
|
export { DEFAULT_METER_THRESHOLDS, METER_STATES, Meter, meterState, meterStateTone, meterTone, progressTone } from '../chunk-RQFRRPV6.js';
|
|
125
|
+
export { REFUSAL_STRIP_LABELS, ReceiptStrip, RefusalStrip } from '../chunk-ZWCK4N4L.js';
|
|
125
126
|
export { DescriptionList, DescriptionListItem } from '../chunk-MFS6F2P7.js';
|
|
126
127
|
export { DIFF_SUMMARY_LABELS, DIFF_VIEW_LABELS, DiffSummary, DiffView, MAX_DIFF_LINES, collapseDiff, diffLines, diffStat, firstChangedLines, splitLines } from '../chunk-AOFVXE6V.js';
|
|
127
128
|
export { DirectoryList } from '../chunk-SRDNGGZE.js';
|
|
@@ -163,16 +164,16 @@ export { ChangeMark } from '../chunk-Z2MZTI3H.js';
|
|
|
163
164
|
export { LONGTEXT_MAX_DEFAULT, RATING_MAX_CEILING, RATING_MAX_DEFAULT, SHEET_COLUMN_BOUNDS, SHEET_COLUMN_TYPES, SHEET_COLUMN_WIDTHS, SHEET_FIT_SAMPLES, SHEET_LABELS, SHEET_ROW_HEIGHT, SHEET_ROW_NUMBER_WIDTH, SheetPendingEdits, TEXT_MAX_DEFAULT, URL_MAX, cellDescription, cellKey, cellSpeech, changeText, changeTime, checkValue, columnOffsets, columnWidth, compareValues, displayText, drawnColumns, editText, editorSide, findOption, findPerson, fitSamples, fittedWidth, flagText, hasPrevious, inRange, isEmptyValue, isMod, isMultiCell, isSheetColumnType, isTypingKey, liveOptions, moveFrom, nextSort, normalizeValue, optionHue, parseOptionList, parseTSV, parseText, planClear, planPaste, presenceByCell, presenceByColumn, presenceByRow, rangeOf, ratingMax, refusalText, retypeColumn, rowName, sameValue, scrollToRow, sheetLabels, sortRows, spokenText, statusTone, textMax, toTSV, visibleRows } from '../chunk-LFSIKGRQ.js';
|
|
164
165
|
export { PRESENCE_ACTIVITIES, PRESENCE_HUES, PRESENCE_LABELS, assignPresenceHues, collapseSessions, joinNames, presenceLabels, presenceOrder } from '../chunk-Z7JYG5TF.js';
|
|
165
166
|
import '../chunk-3L5NHASN.js';
|
|
166
|
-
export { ActivityStrip, BarList, ChartEmpty, ChartTooltip, DATA_COLORS, DATA_COLOR_OTHER, Histogram, Legend, Sparkline, StackedBar, StackedColumns, TimeSeries, dataColor, histogramTicks, niceScale, useChartHover } from '../chunk-YWVT7B6N.js';
|
|
167
167
|
export { CHAT_THREAD_FOLLOW_WITHIN, CHAT_THREAD_LABELS, ChatThread } from '../chunk-R5OATXWU.js';
|
|
168
|
+
export { ActivityStrip, BarList, ChartEmpty, ChartTooltip, DATA_COLORS, DATA_COLOR_OTHER, Histogram, Legend, Sparkline, StackedBar, StackedColumns, TimeSeries, dataColor, histogramTicks, niceScale, useChartHover } from '../chunk-YWVT7B6N.js';
|
|
168
169
|
export { BRIEF_CARD_LABELS, BRIEF_CARD_MAX_FOLLOW_UPS, BRIEF_CARD_MAX_NEEDS, BriefCard } from '../chunk-4KSCGXLJ.js';
|
|
169
170
|
export { SuggestionList, SuggestionRow } from '../chunk-Y7PVLEZJ.js';
|
|
170
171
|
export { StatusCard } from '../chunk-NTQPJJAN.js';
|
|
171
172
|
export { CalendarGrid, compareDays, daysInMonth, sameDay, shiftDay, shiftMonth, today } from '../chunk-EE3DJMSQ.js';
|
|
172
173
|
export { Callout } from '../chunk-BPCY7ZID.js';
|
|
174
|
+
export { CanvasSchematic } from '../chunk-NBWNLYWZ.js';
|
|
173
175
|
export { BOARD_NAME_MIN_CHARS, CANVAS_BOARD_MAX_LIVE, CANVAS_BOARD_MIN_LIVE_WIDTH, CANVAS_BOARD_MIN_ZOOM, CANVAS_NOTE_COLORS, CanvasBoard, TITLE_GLYPH_EM, boardName, boardRoom, liveBoards, titleSize } from '../chunk-FQI62PIZ.js';
|
|
174
176
|
export { Note } from '../chunk-5SZGKSGL.js';
|
|
175
|
-
export { CanvasSchematic } from '../chunk-NBWNLYWZ.js';
|
|
176
177
|
export { CanvasToolbar, toolForKey } from '../chunk-KL6A7JGH.js';
|
|
177
178
|
export { Toolbar, ToolbarOverflow, ToolbarWide } from '../chunk-NR4CPM4T.js';
|
|
178
179
|
export { CANVAS_COMPOSE_CONTEXT, CANVAS_FIT_MAX_ZOOM, CANVAS_FIT_PADDING, CANVAS_FOCUS_CONTEXT, CANVAS_MAX_ZOOM, CANVAS_MIN_ZOOM, CANVAS_PAN_MARGIN, CANVAS_PAN_STEP, CANVAS_REVEAL_PADDING, CANVAS_TAP_SLOP, CANVAS_WHEEL_LINE_PX, CANVAS_WHEEL_ZOOM_PER_PIXEL, CANVAS_ZOOM_CEILING, CANVAS_ZOOM_LIMITS, CANVAS_ZOOM_STEP, Canvas, IDENTITY_VIEW, ShortcutTip, anchorView, beyondSlop, clampPan, clampZoom, fitView, gridOf, panBy, pinchView, regionView, revealView, screenRect, toScreen, toWorld, wheelPixels, wheelZoomFactor, zoomAt, zoomLimits } from '../chunk-OBPINJNO.js';
|
|
@@ -191,8 +192,8 @@ import '../chunk-5SGHW42B.js';
|
|
|
191
192
|
import '../chunk-7W3LYIOC.js';
|
|
192
193
|
export { Breadcrumb } from '../chunk-M52HLPOG.js';
|
|
193
194
|
export { KeyChip } from '../chunk-HBDA76EZ.js';
|
|
194
|
-
export { ArtifactMakeRow } from '../chunk-37U3Z65B.js';
|
|
195
195
|
export { ArtifactNameCell } from '../chunk-4MRFLHJC.js';
|
|
196
|
+
export { ArtifactMakeRow } from '../chunk-37U3Z65B.js';
|
|
196
197
|
export { AsideLayout } from '../chunk-QOXLP5PE.js';
|
|
197
198
|
export { ATTACHMENT_CHIP_LABELS, AttachmentChip } from '../chunk-3N36CYTU.js';
|
|
198
199
|
export { Tag } from '../chunk-I5OIKDX2.js';
|
package/dist/index.js
CHANGED
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
import './chunk-
|
|
1
|
+
import './chunk-ABGLGAFJ.js';
|
|
2
|
+
export { StatCard } from './chunk-G5IZGAWS.js';
|
|
2
3
|
export { ElementToPngError, elementToPng, parseCsv, serializeElement, toCsv } from './chunk-FEJANUZK.js';
|
|
3
|
-
export { TreeCanvas } from './chunk-JQEXAH7G.js';
|
|
4
4
|
export { TypeSpecimen } from './chunk-JKAFEFFC.js';
|
|
5
5
|
export { REFERENCE_NAME_PATTERN, ValueField, completeReference, isWholeReference, rankReferences, referenceAt, urlSchemeOf } from './chunk-YAL6VBRK.js';
|
|
6
6
|
export { VERSION_COMPARE_LABELS, VERSION_COMPARE_LENSES, VersionCompare } from './chunk-EOXI3CRG.js';
|
|
7
7
|
export { VersionTimeline } from './chunk-O3HCFM3D.js';
|
|
8
|
+
export { TABLE_TAGS_CELL_LABELS, TableDateCell, TableEntityCell, TableKeyCell, TableNumberCell, TableStatusCell, TableTagsCell, TableTextCell } from './chunk-AGLONIVV.js';
|
|
8
9
|
export { WidgetFrame } from './chunk-S5QJZOPL.js';
|
|
9
|
-
export { TileGrid } from './chunk-Q6CQMS6R.js';
|
|
10
10
|
export { TIME_RANGE_CUSTOM, TIME_RANGE_PICKER_LABELS, TimeRangePicker, timeRangeFieldKey, timeRangeProblem } from './chunk-H6S6NRZL.js';
|
|
11
11
|
export { DEFAULT_TIME_WINDOW_LABELS, TIME_WINDOW_SPANS, TimeWindowPicker, describeTimeWindow, isTimeWindowSet, parseTimeWindowDuration, resolveTimeWindow, timeWindowMatchesPreset } from './chunk-I7YQNRTQ.js';
|
|
12
12
|
export { ToastProvider, Toaster, readingDuration, toasterInsetStyle, useToast } from './chunk-JIBWNHTC.js';
|
|
13
|
+
export { TreeCanvas } from './chunk-JQEXAH7G.js';
|
|
13
14
|
export { TagsInput } from './chunk-5VMAJAVF.js';
|
|
14
15
|
export { ThemeGallery } from './chunk-LWFOX3PB.js';
|
|
15
16
|
export { ThemeSwatch } from './chunk-3XQUEF5C.js';
|
|
16
|
-
export { ThemeToggle } from './chunk-IPMJGK2Q.js';
|
|
17
|
-
export { ThinkingIndicator } from './chunk-M73MMEZY.js';
|
|
18
17
|
export { DensitySwitcher, ThemeSwitcher } from './chunk-VWMB3CJN.js';
|
|
18
|
+
export { ThemeToggle } from './chunk-IPMJGK2Q.js';
|
|
19
19
|
export { applyStoredPreferences, resolveTheme, useDensityPreference, useSystemTheme, useThemePreference } from './chunk-Z24ZUSTX.js';
|
|
20
|
+
export { ThinkingIndicator } from './chunk-M73MMEZY.js';
|
|
21
|
+
export { TileGrid } from './chunk-Q6CQMS6R.js';
|
|
20
22
|
export { Switcher } from './chunk-F5QBQP63.js';
|
|
21
|
-
export { TABLE_TAGS_CELL_LABELS, TableDateCell, TableEntityCell, TableKeyCell, TableNumberCell, TableStatusCell, TableTagsCell, TableTextCell } from './chunk-AGLONIVV.js';
|
|
22
23
|
export { SOURCE_EDITOR_KEYS, SourceEditor, lineStart } from './chunk-4TMBAOXK.js';
|
|
23
|
-
export { StatCard } from './chunk-G5IZGAWS.js';
|
|
24
24
|
export { StatGroup } from './chunk-OUD75UB2.js';
|
|
25
25
|
export { Statement } from './chunk-MZJKPTA5.js';
|
|
26
26
|
export { matchesShortcut, useShortcut } from './chunk-AYHIF6DH.js';
|
|
@@ -34,39 +34,39 @@ export { SettingsTable, SettingsTableRow } from './chunk-4RKTZSEW.js';
|
|
|
34
34
|
export { SetupWizard } from './chunk-SBHAKX2T.js';
|
|
35
35
|
export { ARTIFACT_ROLES, SHAREABLE_ROLES, ShareDialog, roleAtLeast } from './chunk-73SAOOR5.js';
|
|
36
36
|
export { SHEET_COLUMN_EDITOR_LABELS, SheetColumnEditor, SheetColumnTypeGlyph } from './chunk-AWQQ5I34.js';
|
|
37
|
+
export { Select } from './chunk-VK45YJLH.js';
|
|
37
38
|
export { CellDisplay, CellEditor, CheckboxCell, DateCell, LongTextCell, MultiSelectCell, NumberCell, PersonCell, RatingCell, SelectCell, SheetCell, SheetGrid, StatusCell, TextCell, UrlCell } from './chunk-EN4UJQ63.js';
|
|
38
39
|
export { TagGroup } from './chunk-UEOEBOBR.js';
|
|
40
|
+
export { RichEditor, preloadRichEditor } from './chunk-BW6MQO2B.js';
|
|
41
|
+
export { RICH_EDITOR_LABELS, richEditorLabels } from './chunk-CSQTDGTS.js';
|
|
39
42
|
export { RUN_STATES, RunChip } from './chunk-PIAGTZY3.js';
|
|
40
43
|
export { FRAME_HELLO_TIMEOUT_MS, FRAME_LOAD_GRACE_MS, SandboxedFrame, SandboxedFrameNotice, SandboxedFramePlaceholder } from './chunk-DGSK4LLS.js';
|
|
41
44
|
export { SearchTrigger } from './chunk-ERNT3UTB.js';
|
|
42
45
|
export { SectionFrame, SectionFrameBody, SectionFrameNav } from './chunk-G4CGDUCP.js';
|
|
43
46
|
export { NavGroup, NavItem, SidebarNav } from './chunk-WCDPFTJZ.js';
|
|
44
47
|
export { SegmentedMeter, segmentedMeterLabel } from './chunk-4AK52VHB.js';
|
|
45
|
-
export {
|
|
48
|
+
export { RecordChip, RecordChipList } from './chunk-BFM5G2Z6.js';
|
|
46
49
|
export { REFUSAL_CARD_LABELS, RefusalCard } from './chunk-RQHN4J5P.js';
|
|
47
50
|
export { RelatedRow } from './chunk-CNEHFH2A.js';
|
|
48
51
|
export { Text } from './chunk-QP2P6GDQ.js';
|
|
49
|
-
export { RESULT_TABLE_CARD_LABELS, RESULT_TABLE_COLLAPSED_ROWS, RESULT_TABLE_MAX_ROWS, ResultTableCard } from './chunk-
|
|
50
|
-
export { Table } from './chunk-
|
|
52
|
+
export { RESULT_TABLE_CARD_LABELS, RESULT_TABLE_COLLAPSED_ROWS, RESULT_TABLE_MAX_ROWS, ResultTableCard } from './chunk-JXJNX7QQ.js';
|
|
53
|
+
export { Table } from './chunk-75NQV4R4.js';
|
|
51
54
|
export { ReviewList } from './chunk-DO4J4TBZ.js';
|
|
52
|
-
export { RichEditor, preloadRichEditor } from './chunk-BW6MQO2B.js';
|
|
53
|
-
export { RICH_EDITOR_LABELS, richEditorLabels } from './chunk-CSQTDGTS.js';
|
|
54
55
|
export { canonicalMarkdown, roundTripMarkdown } from './chunk-SWD4QBL6.js';
|
|
55
56
|
import './chunk-QH6VYJ3X.js';
|
|
56
|
-
export { PropertyList } from './chunk-HIWPPWNY.js';
|
|
57
57
|
export { PrincipalPicker } from './chunk-IXPC5D36.js';
|
|
58
|
+
export { PropertyList } from './chunk-HIWPPWNY.js';
|
|
58
59
|
export { PROPOSAL_CARD_LABELS, PROPOSAL_FAILURE_OUTCOMES, PROPOSAL_STATES, PROPOSAL_TONES, ProposalCard } from './chunk-OSMR6TSC.js';
|
|
59
60
|
export { Prose } from './chunk-DVVP27OD.js';
|
|
60
61
|
export { QR_DARK, QR_LIGHT, QR_QUIET_ZONE, QrCode, qrModulePath, qrModules } from './chunk-Y56FM3K4.js';
|
|
61
62
|
export { ReadingPane, ReadingPaneByline, ReadingPaneLead, ReadingPaneOutcome, ReadingPaneQuote, ReadingPaneReasoning, ReadingPaneSection, ReadingPaneTitle } from './chunk-ZAJHGDAW.js';
|
|
63
|
+
export { MERGE_CONFLICTS_LABELS, MergeConflicts } from './chunk-3WN5HUAK.js';
|
|
62
64
|
export { PinTile } from './chunk-LJ3KWQLP.js';
|
|
63
|
-
export { PEEK_RAIL_LABELS, PEEK_RAIL_MAX_WIDTH, PEEK_RAIL_MIN_WIDTH, PEEK_RAIL_WIDTH, PeekHost, PeekNeighbours, PeekRail, isPlainPress, peekClickHandler, peekRowActivation, usePeekNeighbours, usePeekOrder, usePeekStep } from './chunk-CDNZTCP2.js';
|
|
64
65
|
export { PresenceStack } from './chunk-EVXXY75R.js';
|
|
65
66
|
export { PresenterView, formatStopwatch } from './chunk-PRN5IP2R.js';
|
|
66
67
|
export { SLIDE_NAV_LABELS, SlideNav } from './chunk-5AJR6X75.js';
|
|
67
68
|
export { SLIDE_HEIGHT, SLIDE_WIDTH, SlideStage, useSlideKeys } from './chunk-RMEBFYL7.js';
|
|
68
69
|
export { PricingCard } from './chunk-ZKIEOWR6.js';
|
|
69
|
-
export { OPEN_IN_APP_CARD_LABELS, OpenInAppCard } from './chunk-G4QZWVAB.js';
|
|
70
70
|
export { OrgNodeDisclosure, OrgNodeLabel, OrgNodeLead } from './chunk-RUBKDJAQ.js';
|
|
71
71
|
export { OrgTable, OrgTableActions, OrgTableAdd, OrgTableName } from './chunk-FWUX3F6Q.js';
|
|
72
72
|
export { TreeGrid } from './chunk-IL3XLDW7.js';
|
|
@@ -74,18 +74,19 @@ export { SIZE_EPSILON, TYPE_AHEAD_RESET_MS, createTreeModel, isTypeAheadKey, lay
|
|
|
74
74
|
export { OrgLabel } from './chunk-ONQKKHON.js';
|
|
75
75
|
export { Outline, scrollToHeading, useActiveHeading } from './chunk-A5YKNRG6.js';
|
|
76
76
|
export { PageNote } from './chunk-CV4NES3P.js';
|
|
77
|
+
export { PEEK_RAIL_LABELS, PEEK_RAIL_MAX_WIDTH, PEEK_RAIL_MIN_WIDTH, PEEK_RAIL_WIDTH, PeekHost, PeekNeighbours, PeekRail, isPlainPress, peekClickHandler, peekRowActivation, usePeekNeighbours, usePeekOrder, usePeekStep } from './chunk-CDNZTCP2.js';
|
|
77
78
|
export { PEOPLE_RAIL_LABELS, PeopleRail, peopleRailKey } from './chunk-SMZPUHBL.js';
|
|
78
79
|
import './chunk-CENOOTAV.js';
|
|
79
|
-
export { MERGE_CONFLICTS_LABELS, MergeConflicts } from './chunk-3WN5HUAK.js';
|
|
80
80
|
export { MessageBubble } from './chunk-KAQ2L74F.js';
|
|
81
81
|
export { NewItemsNotice } from './chunk-463DNZXI.js';
|
|
82
82
|
export { FactLine, ObjectHeader, SetByLine } from './chunk-S7WG53JB.js';
|
|
83
|
+
export { OPEN_IN_APP_CARD_LABELS, OpenInAppCard } from './chunk-G4QZWVAB.js';
|
|
83
84
|
export { LIVE_CURSOR_HIDE_MS, LIVE_CURSOR_REST_MS, LiveCursor } from './chunk-DPNVKWJX.js';
|
|
84
85
|
export { LIVE_PREVIEW_DWELL_MS, LIVE_PREVIEW_MARGIN, LIVE_PREVIEW_MAX, LIVE_PREVIEW_MAX_FRAMES, LIVE_PREVIEW_RENDER_MS, LIVE_PREVIEW_STILLS_KEPT, LivePreview, LivePreviewBudgetProvider, PREVIEW_FILL_MAX_CUT, PreviewScale, createLivePreviewBudget, createLivePreviewStills, immediately, perFrame, useLivePreview } from './chunk-CQFQGAZI.js';
|
|
85
86
|
export { LockedLabel } from './chunk-TEV5REGB.js';
|
|
86
87
|
export { MARKDOWN_CALLOUT_NAMES, MARKDOWN_CALLOUT_TONES, markdownBreaks, markdownClosesFence, markdownCodeText, markdownFenceOf, markdownHeadingOf, markdownInline, markdownLines, parseMarkdown, parseMarkdownSpans, safeHref } from './chunk-BAKPMH3S.js';
|
|
87
|
-
export { LogoSlot, LogoSlotGroup } from './chunk-YUHKRRWO.js';
|
|
88
88
|
export { MARKDOWN_FORMATS, MarkdownEditor, formatMarkdown, insertMarkdown, markdownWords } from './chunk-ERFXYGRF.js';
|
|
89
|
+
export { LogoSlot, LogoSlotGroup } from './chunk-YUHKRRWO.js';
|
|
89
90
|
export { LAYERS_LIST_LABELS, LayersList } from './chunk-VUYNNILP.js';
|
|
90
91
|
export { AutoGrid, Inline, Spacer, Stack } from './chunk-ZAC7SKUN.js';
|
|
91
92
|
export { Link } from './chunk-QF5UNP4T.js';
|
|
@@ -95,8 +96,8 @@ export { ListDetail } from './chunk-YBC2CYPD.js';
|
|
|
95
96
|
export { ListInput, withDraft } from './chunk-52D5EFHL.js';
|
|
96
97
|
export { IconTile } from './chunk-3LI4TRUR.js';
|
|
97
98
|
export { InboxGroup, InboxList, InboxMore, InboxRow, InboxToggle } from './chunk-QPHD4UUG.js';
|
|
98
|
-
export { IndicatorAnchor } from './chunk-27MJPU7G.js';
|
|
99
99
|
export { INLINE_EDITOR_LABELS, InlineEditor } from './chunk-4DL2BQJE.js';
|
|
100
|
+
export { IndicatorAnchor } from './chunk-27MJPU7G.js';
|
|
100
101
|
export { FollowBanner } from './chunk-JT7WRPZ6.js';
|
|
101
102
|
export { DEFAULT_FRAME_THEME, EXTERNAL_URL_MAX, FRAME_BRIDGE, FRAME_MESSAGE, FRAME_ORIGIN_MODES, FRAME_SANDBOX_TOKENS, applyFrameTheme, checkFrameSandbox, externalUrl, frameFragment, frameOriginMatches, frameThemeMessage, httpOrigin, isFocusExit, isFrameNonce, negotiateBridge, parseFrameFragment, portTargetOrigin, readFrameHello, readFramePortMessage, readFrameTheme, readOpenLink } from './chunk-F6V2PTN6.js';
|
|
102
103
|
export { DENSITY_PREFERENCES, PALETTE_ID, THEME_PREFERENCES, applyDensity, applyPalette, applyTheme, isDensityPreference, isPaletteId, isThemePreference } from './chunk-ZXXDZJQN.js';
|
|
@@ -105,23 +106,23 @@ export { Highlight, highlightRanges, highlightTerms } from './chunk-H6VKCIWV.js'
|
|
|
105
106
|
import './chunk-MICRGE3J.js';
|
|
106
107
|
import './chunk-FFMCMSJB.js';
|
|
107
108
|
export { ImageUpload } from './chunk-56IFLQGF.js';
|
|
108
|
-
export { Eyebrow } from './chunk-RK4XPHVG.js';
|
|
109
109
|
export { FactList } from './chunk-CSXJIIO4.js';
|
|
110
|
+
export { ErrorBoundary } from './chunk-IJ7KLXUZ.js';
|
|
110
111
|
export { FileDrop, FilePickButton, droppedFiles, pickedFiles } from './chunk-KQWJWTED.js';
|
|
111
112
|
export { FileList } from './chunk-5WRWBDML.js';
|
|
112
113
|
export { FILTER_CHIP_ATTRIBUTE, FilterChip, FilterChipGroup } from './chunk-IWZG7NPV.js';
|
|
113
|
-
export { FindingList } from './chunk-LSRQ2A6B.js';
|
|
114
114
|
export { FolderTile, describeFolderContents, folderContentsParts } from './chunk-WTXCK46H.js';
|
|
115
|
+
export { FindingList } from './chunk-LSRQ2A6B.js';
|
|
115
116
|
export { DownloadButton } from './chunk-EHFQMY3B.js';
|
|
116
117
|
export { downloadBlob, downloadText, safeFilename, useDownload } from './chunk-YNRKVY7X.js';
|
|
117
118
|
export { EditingStatus } from './chunk-VLGGLLKH.js';
|
|
118
119
|
export { EntityChip } from './chunk-OSKJZNBT.js';
|
|
119
120
|
export { EntityList } from './chunk-7IW3P6FH.js';
|
|
120
|
-
export {
|
|
121
|
-
export { DEEP_WORK_CARD_LABELS, DEEP_WORK_STATES, DEEP_WORK_STATE_LABELS, DeepWorkCard } from './chunk-
|
|
121
|
+
export { Eyebrow } from './chunk-RK4XPHVG.js';
|
|
122
|
+
export { DEEP_WORK_CARD_LABELS, DEEP_WORK_STATES, DEEP_WORK_STATE_LABELS, DeepWorkCard } from './chunk-JKMBC4NB.js';
|
|
122
123
|
export { STEP_STATES, STEP_STATE_LABELS, StepList, StepStateMark, Stepper, stepDetailPieces } from './chunk-HJBHP66O.js';
|
|
123
|
-
export { REFUSAL_STRIP_LABELS, ReceiptStrip, RefusalStrip } from './chunk-ZWCK4N4L.js';
|
|
124
124
|
export { DEFAULT_METER_THRESHOLDS, METER_STATES, Meter, meterState, meterStateTone, meterTone, progressTone } from './chunk-RQFRRPV6.js';
|
|
125
|
+
export { REFUSAL_STRIP_LABELS, ReceiptStrip, RefusalStrip } from './chunk-ZWCK4N4L.js';
|
|
125
126
|
export { DescriptionList, DescriptionListItem } from './chunk-MFS6F2P7.js';
|
|
126
127
|
export { DIFF_SUMMARY_LABELS, DIFF_VIEW_LABELS, DiffSummary, DiffView, MAX_DIFF_LINES, collapseDiff, diffLines, diffStat, firstChangedLines, splitLines } from './chunk-AOFVXE6V.js';
|
|
127
128
|
export { DirectoryList } from './chunk-SRDNGGZE.js';
|
|
@@ -163,16 +164,16 @@ export { ChangeMark } from './chunk-Z2MZTI3H.js';
|
|
|
163
164
|
export { LONGTEXT_MAX_DEFAULT, RATING_MAX_CEILING, RATING_MAX_DEFAULT, SHEET_COLUMN_BOUNDS, SHEET_COLUMN_TYPES, SHEET_COLUMN_WIDTHS, SHEET_FIT_SAMPLES, SHEET_LABELS, SHEET_ROW_HEIGHT, SHEET_ROW_NUMBER_WIDTH, SheetPendingEdits, TEXT_MAX_DEFAULT, URL_MAX, cellDescription, cellKey, cellSpeech, changeText, changeTime, checkValue, columnOffsets, columnWidth, compareValues, displayText, drawnColumns, editText, editorSide, findOption, findPerson, fitSamples, fittedWidth, flagText, hasPrevious, inRange, isEmptyValue, isMod, isMultiCell, isSheetColumnType, isTypingKey, liveOptions, moveFrom, nextSort, normalizeValue, optionHue, parseOptionList, parseTSV, parseText, planClear, planPaste, presenceByCell, presenceByColumn, presenceByRow, rangeOf, ratingMax, refusalText, retypeColumn, rowName, sameValue, scrollToRow, sheetLabels, sortRows, spokenText, statusTone, textMax, toTSV, visibleRows } from './chunk-LFSIKGRQ.js';
|
|
164
165
|
export { PRESENCE_ACTIVITIES, PRESENCE_HUES, PRESENCE_LABELS, assignPresenceHues, collapseSessions, joinNames, presenceLabels, presenceOrder } from './chunk-Z7JYG5TF.js';
|
|
165
166
|
import './chunk-3L5NHASN.js';
|
|
166
|
-
export { ActivityStrip, BarList, ChartEmpty, ChartTooltip, DATA_COLORS, DATA_COLOR_OTHER, Histogram, Legend, Sparkline, StackedBar, StackedColumns, TimeSeries, dataColor, histogramTicks, niceScale, useChartHover } from './chunk-YWVT7B6N.js';
|
|
167
167
|
export { CHAT_THREAD_FOLLOW_WITHIN, CHAT_THREAD_LABELS, ChatThread } from './chunk-R5OATXWU.js';
|
|
168
|
+
export { ActivityStrip, BarList, ChartEmpty, ChartTooltip, DATA_COLORS, DATA_COLOR_OTHER, Histogram, Legend, Sparkline, StackedBar, StackedColumns, TimeSeries, dataColor, histogramTicks, niceScale, useChartHover } from './chunk-YWVT7B6N.js';
|
|
168
169
|
export { BRIEF_CARD_LABELS, BRIEF_CARD_MAX_FOLLOW_UPS, BRIEF_CARD_MAX_NEEDS, BriefCard } from './chunk-4KSCGXLJ.js';
|
|
169
170
|
export { SuggestionList, SuggestionRow } from './chunk-Y7PVLEZJ.js';
|
|
170
171
|
export { StatusCard } from './chunk-NTQPJJAN.js';
|
|
171
172
|
export { CalendarGrid, compareDays, daysInMonth, sameDay, shiftDay, shiftMonth, today } from './chunk-EE3DJMSQ.js';
|
|
172
173
|
export { Callout } from './chunk-BPCY7ZID.js';
|
|
174
|
+
export { CanvasSchematic } from './chunk-NBWNLYWZ.js';
|
|
173
175
|
export { BOARD_NAME_MIN_CHARS, CANVAS_BOARD_MAX_LIVE, CANVAS_BOARD_MIN_LIVE_WIDTH, CANVAS_BOARD_MIN_ZOOM, CANVAS_NOTE_COLORS, CanvasBoard, TITLE_GLYPH_EM, boardName, boardRoom, liveBoards, titleSize } from './chunk-FQI62PIZ.js';
|
|
174
176
|
export { Note } from './chunk-5SZGKSGL.js';
|
|
175
|
-
export { CanvasSchematic } from './chunk-NBWNLYWZ.js';
|
|
176
177
|
export { CanvasToolbar, toolForKey } from './chunk-KL6A7JGH.js';
|
|
177
178
|
export { Toolbar, ToolbarOverflow, ToolbarWide } from './chunk-NR4CPM4T.js';
|
|
178
179
|
export { CANVAS_COMPOSE_CONTEXT, CANVAS_FIT_MAX_ZOOM, CANVAS_FIT_PADDING, CANVAS_FOCUS_CONTEXT, CANVAS_MAX_ZOOM, CANVAS_MIN_ZOOM, CANVAS_PAN_MARGIN, CANVAS_PAN_STEP, CANVAS_REVEAL_PADDING, CANVAS_TAP_SLOP, CANVAS_WHEEL_LINE_PX, CANVAS_WHEEL_ZOOM_PER_PIXEL, CANVAS_ZOOM_CEILING, CANVAS_ZOOM_LIMITS, CANVAS_ZOOM_STEP, Canvas, IDENTITY_VIEW, ShortcutTip, anchorView, beyondSlop, clampPan, clampZoom, fitView, gridOf, panBy, pinchView, regionView, revealView, screenRect, toScreen, toWorld, wheelPixels, wheelZoomFactor, zoomAt, zoomLimits } from './chunk-OBPINJNO.js';
|
|
@@ -191,8 +192,8 @@ import './chunk-5SGHW42B.js';
|
|
|
191
192
|
import './chunk-7W3LYIOC.js';
|
|
192
193
|
export { Breadcrumb } from './chunk-M52HLPOG.js';
|
|
193
194
|
export { KeyChip } from './chunk-HBDA76EZ.js';
|
|
194
|
-
export { ArtifactMakeRow } from './chunk-37U3Z65B.js';
|
|
195
195
|
export { ArtifactNameCell } from './chunk-4MRFLHJC.js';
|
|
196
|
+
export { ArtifactMakeRow } from './chunk-37U3Z65B.js';
|
|
196
197
|
export { AsideLayout } from './chunk-QOXLP5PE.js';
|
|
197
198
|
export { ATTACHMENT_CHIP_LABELS, AttachmentChip } from './chunk-3N36CYTU.js';
|
|
198
199
|
export { Tag } from './chunk-I5OIKDX2.js';
|
package/dist/styles.css
CHANGED
|
@@ -28040,6 +28040,193 @@ button.crewlet-presence-stack__member:focus-visible {
|
|
|
28040
28040
|
}
|
|
28041
28041
|
|
|
28042
28042
|
|
|
28043
|
+
/* RecordChip-53J66RA6.css */
|
|
28044
|
+
/*
|
|
28045
|
+
* A record inside a sentence. The text's own size on the text's own
|
|
28046
|
+
* baseline, so a line holding one is no taller than a line without: a quiet
|
|
28047
|
+
* hairline, the inset ground, and the key in mono.
|
|
28048
|
+
*/
|
|
28049
|
+
.crewlet-record-chip {
|
|
28050
|
+
display: inline-flex;
|
|
28051
|
+
align-items: center;
|
|
28052
|
+
gap: var(--spacing-1);
|
|
28053
|
+
max-width: 100%;
|
|
28054
|
+
margin: 0 1px;
|
|
28055
|
+
padding: 0 var(--spacing-1);
|
|
28056
|
+
border: 1px solid var(--color-border-default);
|
|
28057
|
+
border-radius: var(--radius-xs);
|
|
28058
|
+
background: var(--color-surface-inset);
|
|
28059
|
+
color: var(--color-text-primary);
|
|
28060
|
+
font: inherit;
|
|
28061
|
+
font-weight: var(--font-weight-medium);
|
|
28062
|
+
/*
|
|
28063
|
+
* EXACTLY ONE OF THE LINE'S OWN LINES, hairline included: `1lh` is the
|
|
28064
|
+
* line-height the chip inherits, and the two pixels are its top and bottom
|
|
28065
|
+
* border. At the snug step a label chip stood 20.2px in a 19.5px line and
|
|
28066
|
+
* moved every line it sat on by a pixel.
|
|
28067
|
+
*/
|
|
28068
|
+
line-height: calc(1lh - 2px);
|
|
28069
|
+
/*
|
|
28070
|
+
* TOP, NOT BASELINE: a key chip's text is mono at the micro step under the
|
|
28071
|
+
* parent's absolute leading, and on the baseline it sat about a pixel off
|
|
28072
|
+
* its neighbours' and pushed its line to 20.5px. At the line's top it is
|
|
28073
|
+
* the line's own height (19.5px in a 19.5px line) with the key within half
|
|
28074
|
+
* a pixel of the surrounding baseline.
|
|
28075
|
+
*/
|
|
28076
|
+
vertical-align: top;
|
|
28077
|
+
cursor: pointer;
|
|
28078
|
+
transition:
|
|
28079
|
+
background var(--motion-duration-fast) var(--motion-easing-default),
|
|
28080
|
+
border-color var(--motion-duration-fast) var(--motion-easing-default);
|
|
28081
|
+
}
|
|
28082
|
+
|
|
28083
|
+
.crewlet-record-chip:hover,
|
|
28084
|
+
.crewlet-record-chip[data-open] {
|
|
28085
|
+
border-color: var(--color-border-hover);
|
|
28086
|
+
background: var(--color-surface-hover);
|
|
28087
|
+
}
|
|
28088
|
+
|
|
28089
|
+
/* The chip draws its own hairline, so the ring lands on it rather than standing off it. */
|
|
28090
|
+
.crewlet-record-chip:focus-visible {
|
|
28091
|
+
outline: 2px solid var(--color-focus);
|
|
28092
|
+
outline-offset: var(--size-focus-ring-inset-offset);
|
|
28093
|
+
}
|
|
28094
|
+
|
|
28095
|
+
.crewlet-record-chip--code .crewlet-record-chip__text {
|
|
28096
|
+
font-family: var(--font-family-mono);
|
|
28097
|
+
font-size: var(--font-size-xs);
|
|
28098
|
+
}
|
|
28099
|
+
|
|
28100
|
+
.crewlet-record-chip__text {
|
|
28101
|
+
min-width: 0;
|
|
28102
|
+
overflow: hidden;
|
|
28103
|
+
text-overflow: ellipsis;
|
|
28104
|
+
white-space: nowrap;
|
|
28105
|
+
}
|
|
28106
|
+
|
|
28107
|
+
.crewlet-record-chip__glyph {
|
|
28108
|
+
display: inline-flex;
|
|
28109
|
+
flex: none;
|
|
28110
|
+
color: var(--color-text-tertiary);
|
|
28111
|
+
}
|
|
28112
|
+
|
|
28113
|
+
/* THE PEEK: a name, a few facts and the way to it, at the panel's own inset. */
|
|
28114
|
+
.crewlet-popover.crewlet-record-chip__peek {
|
|
28115
|
+
display: flex;
|
|
28116
|
+
flex-direction: column;
|
|
28117
|
+
gap: var(--spacing-2);
|
|
28118
|
+
max-height: min(420px, 70vh);
|
|
28119
|
+
padding: var(--spacing-3);
|
|
28120
|
+
font-size: var(--font-size-compact);
|
|
28121
|
+
color: var(--color-text-primary);
|
|
28122
|
+
}
|
|
28123
|
+
|
|
28124
|
+
.crewlet-record-chip__head {
|
|
28125
|
+
display: flex;
|
|
28126
|
+
align-items: flex-start;
|
|
28127
|
+
gap: var(--spacing-2);
|
|
28128
|
+
}
|
|
28129
|
+
|
|
28130
|
+
.crewlet-record-chip__head-glyph {
|
|
28131
|
+
display: inline-flex;
|
|
28132
|
+
flex: none;
|
|
28133
|
+
align-items: center;
|
|
28134
|
+
height: 1lh;
|
|
28135
|
+
color: var(--color-text-tertiary);
|
|
28136
|
+
}
|
|
28137
|
+
|
|
28138
|
+
.crewlet-record-chip__head-words {
|
|
28139
|
+
display: flex;
|
|
28140
|
+
flex-direction: column;
|
|
28141
|
+
gap: 2px;
|
|
28142
|
+
min-width: 0;
|
|
28143
|
+
}
|
|
28144
|
+
|
|
28145
|
+
.crewlet-record-chip__name {
|
|
28146
|
+
margin: 0;
|
|
28147
|
+
font-weight: var(--font-weight-medium);
|
|
28148
|
+
line-height: var(--font-line-height-normal);
|
|
28149
|
+
}
|
|
28150
|
+
|
|
28151
|
+
.crewlet-record-chip__name-code {
|
|
28152
|
+
font-family: var(--font-family-mono);
|
|
28153
|
+
font-size: var(--font-size-xs);
|
|
28154
|
+
font-weight: var(--font-weight-regular);
|
|
28155
|
+
color: var(--color-text-secondary);
|
|
28156
|
+
}
|
|
28157
|
+
|
|
28158
|
+
.crewlet-record-chip__meta {
|
|
28159
|
+
margin: 0;
|
|
28160
|
+
font-size: var(--font-size-xs);
|
|
28161
|
+
color: var(--color-text-tertiary);
|
|
28162
|
+
}
|
|
28163
|
+
|
|
28164
|
+
.crewlet-record-chip__body {
|
|
28165
|
+
display: flex;
|
|
28166
|
+
flex-direction: column;
|
|
28167
|
+
gap: var(--spacing-2);
|
|
28168
|
+
min-width: 0;
|
|
28169
|
+
}
|
|
28170
|
+
|
|
28171
|
+
/* Utilities start on the text edge, a ghost button's padding pulled into the gutter. */
|
|
28172
|
+
.crewlet-record-chip__actions {
|
|
28173
|
+
display: flex;
|
|
28174
|
+
flex-wrap: wrap;
|
|
28175
|
+
align-items: center;
|
|
28176
|
+
gap: var(--spacing-1);
|
|
28177
|
+
margin-inline-start: calc(-1 * (var(--spacing-2) + 1px));
|
|
28178
|
+
}
|
|
28179
|
+
|
|
28180
|
+
@media (prefers-reduced-motion: reduce) {
|
|
28181
|
+
.crewlet-record-chip {
|
|
28182
|
+
transition: none;
|
|
28183
|
+
}
|
|
28184
|
+
}
|
|
28185
|
+
|
|
28186
|
+
/* THE ALSO READ LINE: a caption-register lead and the chips after it, wrapping. */
|
|
28187
|
+
.crewlet-record-chip-list {
|
|
28188
|
+
display: flex;
|
|
28189
|
+
flex-wrap: wrap;
|
|
28190
|
+
align-items: baseline;
|
|
28191
|
+
gap: var(--spacing-1) var(--spacing-2);
|
|
28192
|
+
min-width: 0;
|
|
28193
|
+
font-size: var(--font-size-xs);
|
|
28194
|
+
line-height: var(--font-line-height-normal);
|
|
28195
|
+
color: var(--color-text-secondary);
|
|
28196
|
+
}
|
|
28197
|
+
|
|
28198
|
+
.crewlet-record-chip-list__label {
|
|
28199
|
+
flex: none;
|
|
28200
|
+
}
|
|
28201
|
+
|
|
28202
|
+
/*
|
|
28203
|
+
* THE LIST IS THE WRAPPING ROW. Not `display: contents`, which older WebKit
|
|
28204
|
+
* and Chromium drop from the accessibility tree along with the list's name,
|
|
28205
|
+
* so "Also read, list, 3 items" was never said.
|
|
28206
|
+
*/
|
|
28207
|
+
.crewlet-record-chip-list__items {
|
|
28208
|
+
display: flex;
|
|
28209
|
+
flex: 1 1 auto;
|
|
28210
|
+
flex-wrap: wrap;
|
|
28211
|
+
align-items: baseline;
|
|
28212
|
+
gap: var(--spacing-1) var(--spacing-2);
|
|
28213
|
+
min-width: 0;
|
|
28214
|
+
margin: 0;
|
|
28215
|
+
padding: 0;
|
|
28216
|
+
list-style: none;
|
|
28217
|
+
}
|
|
28218
|
+
|
|
28219
|
+
.crewlet-record-chip-list__item {
|
|
28220
|
+
display: inline-flex;
|
|
28221
|
+
min-width: 0;
|
|
28222
|
+
max-width: 100%;
|
|
28223
|
+
}
|
|
28224
|
+
|
|
28225
|
+
.crewlet-record-chip-list .crewlet-record-chip {
|
|
28226
|
+
margin: 0;
|
|
28227
|
+
}
|
|
28228
|
+
|
|
28229
|
+
|
|
28043
28230
|
/* RefusalCard-UM67F5HB.css */
|
|
28044
28231
|
/* The first sentence carries the weight; "Nothing changed." closes in the secondary ink. */
|
|
28045
28232
|
.crewlet-refusal-card__heading {
|
|
@@ -36303,7 +36490,7 @@ b.crewlet-switcher__match {
|
|
|
36303
36490
|
}
|
|
36304
36491
|
|
|
36305
36492
|
|
|
36306
|
-
/* Table-
|
|
36493
|
+
/* Table-MN3FIA2O.css */
|
|
36307
36494
|
/*
|
|
36308
36495
|
* Table: the operator's table, on the elements a table is made of.
|
|
36309
36496
|
*
|
|
@@ -36523,6 +36710,34 @@ b.crewlet-switcher__match {
|
|
|
36523
36710
|
}
|
|
36524
36711
|
}
|
|
36525
36712
|
|
|
36713
|
+
/*
|
|
36714
|
+
* COLUMNS SIZED BY THEIR WORDS (`columns="content"`), for a result read
|
|
36715
|
+
* beside an answer. Each column takes the room its words ask for, so a short
|
|
36716
|
+
* key keeps its line and the longest text takes the most and wraps between
|
|
36717
|
+
* words. A token longer than the table (a digest, a URL) wraps ANYWHERE: with
|
|
36718
|
+
* `break-word` it did not, because under an auto layout a word's whole width
|
|
36719
|
+
* is the column's minimum, and a sha256 in a 350px table pushed it to 606px.
|
|
36720
|
+
* `anywhere` lets the minimum shrink to a character. The figures (`end`
|
|
36721
|
+
* columns) and the nowrap columns never wrap, and the figures stay tabular.
|
|
36722
|
+
*/
|
|
36723
|
+
.crewlet-table--content .crewlet-table__table {
|
|
36724
|
+
table-layout: auto;
|
|
36725
|
+
font-variant-numeric: tabular-nums;
|
|
36726
|
+
}
|
|
36727
|
+
|
|
36728
|
+
.crewlet-table--content td:not(.crewlet-table__cell--nowrap, .crewlet-table__cell--end) {
|
|
36729
|
+
overflow-wrap: anywhere;
|
|
36730
|
+
}
|
|
36731
|
+
|
|
36732
|
+
.crewlet-table--content .crewlet-table__cell--end {
|
|
36733
|
+
white-space: nowrap;
|
|
36734
|
+
}
|
|
36735
|
+
|
|
36736
|
+
/* A column of short tokens (a task's key) keeps each on one line; only content columns offer it. */
|
|
36737
|
+
.crewlet-table--content .crewlet-table__cell--nowrap {
|
|
36738
|
+
white-space: nowrap;
|
|
36739
|
+
}
|
|
36740
|
+
|
|
36526
36741
|
|
|
36527
36742
|
/* TableCells-TKSNLRK3.css */
|
|
36528
36743
|
/* The read-only table cells. Each one holds a single line and shrinks inside
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@crewlethq/ui",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.73.0",
|
|
4
4
|
"description": "Crewlet shared React components built on @crewlethq/tokens and @crewlethq/icons.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -42,8 +42,8 @@
|
|
|
42
42
|
"clean": "rm -rf dist src/generated"
|
|
43
43
|
},
|
|
44
44
|
"dependencies": {
|
|
45
|
-
"@crewlethq/icons": "0.
|
|
46
|
-
"@crewlethq/tokens": "0.
|
|
45
|
+
"@crewlethq/icons": "0.73.0",
|
|
46
|
+
"@crewlethq/tokens": "0.73.0",
|
|
47
47
|
"prosemirror-commands": "1.7.2",
|
|
48
48
|
"prosemirror-gapcursor": "1.4.1",
|
|
49
49
|
"prosemirror-history": "1.5.1",
|
package/dist/chunk-5DJMFRSZ.js
DELETED
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import { VisuallyHidden } from './chunk-UT6CW3C7.js';
|
|
2
|
-
import { cx } from './chunk-ODEQTPFM.js';
|
|
3
|
-
import './Table-RUYMMWXT.css';
|
|
4
|
-
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
5
|
-
|
|
6
|
-
var Table = ({
|
|
7
|
-
headers,
|
|
8
|
-
data,
|
|
9
|
-
caption,
|
|
10
|
-
captionHidden = false,
|
|
11
|
-
emptyMessage = "No data available",
|
|
12
|
-
actionButton,
|
|
13
|
-
maxHeight,
|
|
14
|
-
align,
|
|
15
|
-
footer,
|
|
16
|
-
framed = true,
|
|
17
|
-
className = ""
|
|
18
|
-
}) => {
|
|
19
|
-
const columnCount = Math.max(1, headers.length);
|
|
20
|
-
const edge = (index) => align?.[index] === "end" ? "crewlet-table__cell--end" : void 0;
|
|
21
|
-
return /* @__PURE__ */ jsxs("div", { className: cx("crewlet-table", !framed && "crewlet-table--flush", className), children: [
|
|
22
|
-
/* @__PURE__ */ jsx(
|
|
23
|
-
"div",
|
|
24
|
-
{
|
|
25
|
-
className: "crewlet-table__container",
|
|
26
|
-
style: (
|
|
27
|
-
// Only the height: the stylesheet scrolls both axes unconditionally,
|
|
28
|
-
// because with `overflow-x: auto` declared beside it a `visible`
|
|
29
|
-
// vertical axis was never reachable. See Table.css.
|
|
30
|
-
maxHeight ? { "--crewlet-table-max-height": maxHeight } : void 0
|
|
31
|
-
),
|
|
32
|
-
children: /* @__PURE__ */ jsxs("table", { className: "crewlet-table__table", children: [
|
|
33
|
-
caption != null && (captionHidden ? /* @__PURE__ */ jsx("caption", { children: /* @__PURE__ */ jsx(VisuallyHidden, { children: caption }) }) : /* @__PURE__ */ jsx("caption", { className: "crewlet-table__caption", children: caption })),
|
|
34
|
-
/* @__PURE__ */ jsx("thead", { children: /* @__PURE__ */ jsx("tr", { className: "crewlet-table__header", children: headers.map((header, index) => (
|
|
35
|
-
// The index is the key because a header is a position: the
|
|
36
|
-
// columns of one table do not reorder between renders.
|
|
37
|
-
/* @__PURE__ */ jsx("th", { scope: "col", className: edge(index), children: header }, index)
|
|
38
|
-
)) }) }),
|
|
39
|
-
/* @__PURE__ */ jsx("tbody", { children: data && data.length > 0 ? data.map((row, rowIndex) => /* @__PURE__ */ jsx("tr", { className: "crewlet-table__row", children: row.map((cell, cellIndex) => /* @__PURE__ */ jsx("td", { className: edge(cellIndex), children: cell }, cellIndex)) }, rowIndex)) : /* @__PURE__ */ jsx("tr", { children: /* @__PURE__ */ jsx("td", { className: "crewlet-table__empty", colSpan: columnCount, children: emptyMessage }) }) }),
|
|
40
|
-
footer && footer.length > 0 ? /* @__PURE__ */ jsx("tfoot", { children: /* @__PURE__ */ jsx("tr", { className: "crewlet-table__footer", children: footer.map(
|
|
41
|
-
(cell, index) => index === 0 ? /* @__PURE__ */ jsx("th", { scope: "row", className: edge(index), children: cell }, index) : /* @__PURE__ */ jsx("td", { className: edge(index), children: cell }, index)
|
|
42
|
-
) }) }) : null
|
|
43
|
-
] })
|
|
44
|
-
}
|
|
45
|
-
),
|
|
46
|
-
actionButton && /* @__PURE__ */ jsx(
|
|
47
|
-
"button",
|
|
48
|
-
{
|
|
49
|
-
type: "button",
|
|
50
|
-
className: "crewlet-table__action-btn",
|
|
51
|
-
onClick: actionButton.onClick,
|
|
52
|
-
children: /* @__PURE__ */ jsx("span", { className: "crewlet-table__action-text", children: actionButton.label })
|
|
53
|
-
}
|
|
54
|
-
)
|
|
55
|
-
] });
|
|
56
|
-
};
|
|
57
|
-
|
|
58
|
-
export { Table };
|
|
File without changes
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { StepList } from './chunk-HJBHP66O.js';
|
|
2
|
-
import { ReceiptStrip } from './chunk-ZWCK4N4L.js';
|
|
3
2
|
import { Meter } from './chunk-RQFRRPV6.js';
|
|
3
|
+
import { ReceiptStrip } from './chunk-ZWCK4N4L.js';
|
|
4
4
|
import { StatusCard } from './chunk-NTQPJJAN.js';
|
|
5
5
|
import { Disclosure } from './chunk-222VILSP.js';
|
|
6
6
|
import { Spinner } from './chunk-XSPCITPN.js';
|