@crewlethq/ui 0.79.0 → 0.81.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 +10 -0
- package/dist/ArtifactBar/index.js +3 -3
- package/dist/AvatarPicker/index.js +4 -4
- package/dist/ChangeList/ChangeList.d.ts +16 -1
- package/dist/ChangeList/index.d.ts +1 -1
- package/dist/ChangeList/index.js +1 -1
- package/dist/{ChangeList-MDFH5NPH.css → ChangeList-ITJMTVDF.css} +53 -0
- package/dist/DataTable/DataTable.d.ts +25 -1
- package/dist/DataTable/index.d.ts +1 -1
- package/dist/DataTable/index.js +1 -1
- package/dist/{DataTable-H43JSHOI.css → DataTable-GSLDFY5U.css} +38 -0
- package/dist/DataView/index.js +2 -2
- package/dist/HuePicker/index.js +3 -3
- package/dist/MarkdownEditor/index.js +3 -3
- package/dist/MergeConflicts/index.js +3 -3
- package/dist/ProposalCard/index.js +2 -2
- package/dist/RichEditor/index.js +1 -1
- package/dist/SegmentedControl/index.js +2 -2
- package/dist/SheetColumnEditor/index.js +4 -4
- package/dist/Tabs/Tabs.d.ts +5 -2
- package/dist/Tabs/index.js +1 -1
- package/dist/ThemeSwitcher/index.js +3 -3
- package/dist/TimeRangePicker/index.js +3 -3
- package/dist/VersionCompare/index.js +3 -3
- package/dist/{chunk-3G2BC4K5.js → chunk-2FMBZCFR.js} +1 -1
- package/dist/{chunk-W3VDHUJM.js → chunk-2IIHMJMZ.js} +5 -2
- package/dist/{chunk-NSCACX5Y.js → chunk-4WTLT66V.js} +1 -1
- package/dist/{chunk-BBD7PTBG.js → chunk-4XF7ENQA.js} +78 -27
- package/dist/{chunk-OZAMLQY7.js → chunk-6R334YT3.js} +1 -1
- package/dist/{chunk-MP7DGKB6.js → chunk-6X5PGHEX.js} +1 -1
- package/dist/{chunk-JNORDILD.js → chunk-7FF6CZW5.js} +2 -2
- package/dist/{chunk-DSMQTED5.js → chunk-BLGBD2D2.js} +1 -1
- package/dist/{chunk-INO2OXDB.js → chunk-BRWR3QIG.js} +27 -28
- package/dist/{chunk-HA3C53OU.js → chunk-EAIOXW2W.js} +1 -1
- package/dist/{chunk-ERB7UI3P.js → chunk-HEA6TERQ.js} +1 -1
- package/dist/{chunk-3EKXL76Z.js → chunk-LOWQK2PB.js} +1 -1
- package/dist/{chunk-Z4H3NF7U.js → chunk-O222F2IX.js} +1 -1
- package/dist/{chunk-JBA6ZDPV.js → chunk-SNIPM6K7.js} +1 -1
- package/dist/{chunk-QHQGJQV7.js → chunk-YB64PWIN.js} +1 -1
- package/dist/{chunk-YT5SWN4Q.js → chunk-Z6JKZI4E.js} +1 -1
- package/dist/generated/index.js +27 -27
- package/dist/index.js +27 -27
- package/dist/styles.css +93 -2
- package/package.json +3 -3
- package/dist/{Editor-BXOWAV46.js → Editor-IMYESOW7.js} +1 -1
package/README.md
CHANGED
|
@@ -205,6 +205,16 @@ 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.81.0
|
|
209
|
+
|
|
210
|
+
**A `Tabs` dot marker sits beside the count.** A warning or an unsaved change is drawn as its 6px dot after the tab's count rather than in its place ("Agents 5" with a warning), since how many things are behind a tab and whether one needs the reader are two facts. A danger marker, which is a count of problems, still stands in for the tab's count, so two figures never sit side by side.
|
|
211
|
+
|
|
212
|
+
## Changes in 0.80.0
|
|
213
|
+
|
|
214
|
+
**`DataTable` takes `columnSizing="content"`** (compact variant): each column as wide as what it holds, its header included, the cells' own insets apart, and the spare width given to the trailing spacer. For a short table in a wide pane (an agent, a switch, a level and a status), which the fit spread across the box until a row read as four separate facts. The browser's automatic table layout measures the columns, so no width is stated on a column the caller did not lock with `width`, the fit pass does not run, and no resize handle is drawn. Its cells stay on one line whatever Wrap lines says, since a column as wide as its content truncates nothing, while a panel or strip that spans the row wraps; a row wider than its box scrolls sideways. `fill`, the default, is the table as it was. The type is `DataTableColumnSizing`.
|
|
215
|
+
|
|
216
|
+
**`ChangeList` takes `layout="inline"`**: each row on one line, its label and then its values as chips ("Deployments: Read-only → Read and write"), the old value on an outline chip and the new one on the added tone. A pair is still said "Changed from X to Y" and an added or removed value says so, and a word diff or a block value keeps its own layout under its label. `grid`, the default, is unchanged. The type is `ChangeListLayout`.
|
|
217
|
+
|
|
208
218
|
## Changes in 0.78.0
|
|
209
219
|
|
|
210
220
|
**`Tabs` take `actions`, controls at the row's far end in a tab list too.** A screen's own buttons ("Check now", "New") stand beside its tabs, in one bar with them, and never inside the tab list: the actions are the row's next sibling, so a screen reader meets a tab list of tabs alone and then the buttons, and the keyboard reaches the tabs (one stop, the arrows inside) and then each action. In router mode they stand outside the `nav` for the same reason. The actions keep their width at every size and the row gives way first: it takes the room left beside them, and scrolls (`overflow="scroll"`) or folds into "More" (`overflow="menu"`) inside that room, where the slider and the fold are measured. A pill or chip row keeps its width while it fits and scrolls inside the bar once it does not, so no tab paints under an action. An underline row's rule runs on under the actions to the bar's edge. With `actions`, `className` lands on the bar, the outermost element (`.crewlet-tabs-bar`, the actions in `.crewlet-tabs__actions`). Actions that arrive after the row is drawn, or go, never re-parent it: every row now sits in one wrapper element, `display: contents` while there are no actions, so the focused tab keeps focus and the slider and fold measure the live row. Without actions `className` stays on the row. `trailing` is unchanged: router mode only, inside the `nav`.
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
export { ARTIFACT_BAR_LABELS, ArtifactBar, ArtifactVersionChip } from '../chunk-
|
|
1
|
+
export { ARTIFACT_BAR_LABELS, ArtifactBar, ArtifactVersionChip } from '../chunk-EAIOXW2W.js';
|
|
2
2
|
import '../chunk-36WK24AI.js';
|
|
3
3
|
import '../chunk-I33UIUZD.js';
|
|
4
|
-
import '../chunk-
|
|
5
|
-
import '../chunk-
|
|
4
|
+
import '../chunk-6R334YT3.js';
|
|
5
|
+
import '../chunk-2IIHMJMZ.js';
|
|
6
6
|
import '../chunk-EGMQURBR.js';
|
|
7
7
|
import '../chunk-AVL52EME.js';
|
|
8
8
|
import '../chunk-CYQBDZ6M.js';
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
export { AvatarPicker } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
1
|
+
export { AvatarPicker } from '../chunk-LOWQK2PB.js';
|
|
2
|
+
import '../chunk-HEA6TERQ.js';
|
|
3
3
|
import '../chunk-KHJIEPZV.js';
|
|
4
4
|
import '../chunk-AYKXMIOR.js';
|
|
5
5
|
import '../chunk-I22MUEG7.js';
|
|
6
|
-
import '../chunk-
|
|
7
|
-
import '../chunk-
|
|
6
|
+
import '../chunk-6R334YT3.js';
|
|
7
|
+
import '../chunk-2IIHMJMZ.js';
|
|
8
8
|
import '../chunk-EGMQURBR.js';
|
|
9
9
|
import '../chunk-CYQBDZ6M.js';
|
|
10
10
|
import '../chunk-KTIQSSME.js';
|
|
@@ -78,8 +78,23 @@ export interface ChangeListLabels {
|
|
|
78
78
|
showWhole: string;
|
|
79
79
|
}
|
|
80
80
|
export declare const CHANGE_LIST_LABELS: ChangeListLabels;
|
|
81
|
+
/**
|
|
82
|
+
* How the rows are laid out.
|
|
83
|
+
*
|
|
84
|
+
* - 'grid' the labels in one column and the values in the other, the
|
|
85
|
+
* values in DiffList's tints. The default: a record's fields.
|
|
86
|
+
* - 'inline' each row one line, its label and then its values as chips:
|
|
87
|
+
* "Deployments: [Read-only] → [Read and write]". For a short
|
|
88
|
+
* change read in passing, such as a level moved in a review.
|
|
89
|
+
*/
|
|
90
|
+
export type ChangeListLayout = 'grid' | 'inline';
|
|
81
91
|
export interface ChangeListProps {
|
|
82
92
|
rows: readonly ChangeListRow[];
|
|
93
|
+
/**
|
|
94
|
+
* `inline` sets each row on one line with its values as chips. A word diff
|
|
95
|
+
* and a block value keep their own layout under their label in either.
|
|
96
|
+
*/
|
|
97
|
+
layout?: ChangeListLayout | undefined;
|
|
83
98
|
/** The eyebrow over the rows: "What will change", "What will be created", "What changed". */
|
|
84
99
|
heading?: ReactNode;
|
|
85
100
|
/**
|
|
@@ -134,5 +149,5 @@ declare function BlockValue({ row, labels }: {
|
|
|
134
149
|
* values in the other, rows apart by the list's spacing rather than rules,
|
|
135
150
|
* and no box of its own inside the card that holds it.
|
|
136
151
|
*/
|
|
137
|
-
export declare function ChangeList({ rows, heading, settled, labels: overrides, diffLabels, className }: ChangeListProps): import("react").JSX.Element;
|
|
152
|
+
export declare function ChangeList({ rows, heading, layout, settled, labels: overrides, diffLabels, className, }: ChangeListProps): import("react").JSX.Element;
|
|
138
153
|
export {};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import './ChangeList.css';
|
|
2
2
|
export { CHANGE_LIST_COLLAPSE_OVER, CHANGE_LIST_LABELS, ChangeList, ChangeListItems, shortenUnchanged } from './ChangeList.js';
|
|
3
|
-
export type { ChangeListAddedRow, ChangeListChangedRow, ChangeListFactRow, ChangeListLabels, ChangeListProps, ChangeListRemovedRow, ChangeListRow, ChangeListTextRow, WordDiffPart, } from './ChangeList.js';
|
|
3
|
+
export type { ChangeListAddedRow, ChangeListChangedRow, ChangeListFactRow, ChangeListLabels, ChangeListLayout, ChangeListProps, ChangeListRemovedRow, ChangeListRow, ChangeListTextRow, WordDiffPart, } from './ChangeList.js';
|
package/dist/ChangeList/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { CHANGE_LIST_COLLAPSE_OVER, CHANGE_LIST_LABELS, ChangeList, ChangeListItems, shortenUnchanged } from '../chunk-
|
|
1
|
+
export { CHANGE_LIST_COLLAPSE_OVER, CHANGE_LIST_LABELS, ChangeList, ChangeListItems, shortenUnchanged } from '../chunk-4XF7ENQA.js';
|
|
2
2
|
import '../chunk-LR4IWUWQ.js';
|
|
3
3
|
import '../chunk-VERJCAJ4.js';
|
|
4
4
|
import '../chunk-CYQBDZ6M.js';
|
|
@@ -207,3 +207,56 @@
|
|
|
207
207
|
.crewlet-change-list--settled .crewlet-change-list__value {
|
|
208
208
|
color: var(--color-text-secondary);
|
|
209
209
|
}
|
|
210
|
+
|
|
211
|
+
/*
|
|
212
|
+
* INLINE: one line a row, the label and then its values as chips. The rows
|
|
213
|
+
* stack; a row wraps as the pair does, the arrow staying with what it points
|
|
214
|
+
* at. A word diff and a block value keep their own layout under the label.
|
|
215
|
+
*/
|
|
216
|
+
.crewlet-change-list--inline .crewlet-change-list__rows {
|
|
217
|
+
display: flex;
|
|
218
|
+
flex-direction: column;
|
|
219
|
+
gap: var(--spacing-1);
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
.crewlet-change-list--inline .crewlet-change-list__row {
|
|
223
|
+
display: flex;
|
|
224
|
+
flex-wrap: wrap;
|
|
225
|
+
align-items: center;
|
|
226
|
+
gap: var(--spacing-1) var(--spacing-2);
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
.crewlet-change-list--inline .crewlet-change-list__row--text,
|
|
230
|
+
.crewlet-change-list--inline .crewlet-change-list__row--block {
|
|
231
|
+
flex-direction: column;
|
|
232
|
+
align-items: stretch;
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
/* The label in the secondary ink at the row's own size, closed by a colon. */
|
|
236
|
+
.crewlet-change-list--inline .crewlet-change-list__label {
|
|
237
|
+
font-size: inherit;
|
|
238
|
+
color: var(--color-text-secondary);
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
.crewlet-change-list--inline .crewlet-change-list__row:not(.crewlet-change-list__row--text):not(.crewlet-change-list__row--block) > .crewlet-change-list__label::after {
|
|
242
|
+
content: ':';
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
.crewlet-change-list--inline .crewlet-change-list__pair {
|
|
246
|
+
align-items: center;
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
.crewlet-change-list--inline .crewlet-change-list__next {
|
|
250
|
+
align-items: center;
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
/* THE CHIP IS THE MARK, so the element around it draws none of its own. */
|
|
254
|
+
.crewlet-change-list__chip {
|
|
255
|
+
display: inline-flex;
|
|
256
|
+
text-decoration: none;
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
.crewlet-change-list--inline .crewlet-change-list__note {
|
|
260
|
+
flex-basis: 100%;
|
|
261
|
+
margin-top: 0;
|
|
262
|
+
}
|
|
@@ -190,6 +190,17 @@ export type DataTableItemsPerPage = number | typeof ALL_ITEMS;
|
|
|
190
190
|
* its own resizable column widths.
|
|
191
191
|
*/
|
|
192
192
|
export type DataTableDensity = 'compact' | 'comfortable';
|
|
193
|
+
/**
|
|
194
|
+
* How a compact table's columns share its width.
|
|
195
|
+
*
|
|
196
|
+
* - 'fill' every column grows in proportion until the row fills its
|
|
197
|
+
* box. The default: a list page, where the columns are the
|
|
198
|
+
* screen and a reader resizes them.
|
|
199
|
+
* - 'content' each column is as wide as what it holds, its header
|
|
200
|
+
* included, the cells' own insets apart, and the trailing
|
|
201
|
+
* spacer takes the rest.
|
|
202
|
+
*/
|
|
203
|
+
export type DataTableColumnSizing = 'fill' | 'content';
|
|
193
204
|
/**
|
|
194
205
|
* Every string the table renders on its own behalf, in one prop.
|
|
195
206
|
*
|
|
@@ -344,6 +355,19 @@ export interface DataTableProps<TRow = DataTableRow> {
|
|
|
344
355
|
* render anywhere on the table.
|
|
345
356
|
*/
|
|
346
357
|
resizable?: boolean;
|
|
358
|
+
/**
|
|
359
|
+
* How the columns share the table's width. Compact variant only.
|
|
360
|
+
*
|
|
361
|
+
* `content` IS FOR A SHORT TABLE IN A WIDE PANE: an agent, a switch, a
|
|
362
|
+
* level and a status, spread by the fit across a 900px box, sat so far
|
|
363
|
+
* apart that a row read as four facts about nothing in particular. Sized
|
|
364
|
+
* to content, the columns stand together and the spare width goes to the
|
|
365
|
+
* trailing spacer. Nothing resizes a column then, neither the fit nor a
|
|
366
|
+
* reader, so no resize handle is drawn; a column with a `width` keeps it,
|
|
367
|
+
* and a row wider than its box scrolls sideways as any table here does.
|
|
368
|
+
* `fill` (the default) is the table as it always was.
|
|
369
|
+
*/
|
|
370
|
+
columnSizing?: DataTableColumnSizing;
|
|
347
371
|
onRowAction?: ((row: TRow) => void) | null;
|
|
348
372
|
actionLabel?: string;
|
|
349
373
|
/** The action column's glyph. A component, not a name. */
|
|
@@ -637,4 +661,4 @@ export interface DataTableProps<TRow = DataTableRow> {
|
|
|
637
661
|
/** Every string the table renders itself. Merged over the English defaults. */
|
|
638
662
|
labels?: Partial<DataTableLabels>;
|
|
639
663
|
}
|
|
640
|
-
export declare const DataTable: <TRow>({ data, columns, storageKey, defaultColumnOrder, columnOrder: columnOrderProp, onColumnOrderChange, defaultItemsPerPage, itemsPerPage: itemsPerPageProp, onItemsPerPageChange, page: pageProp, onPageChange, pageCount, minColumnWidth, resizable, itemsPerPageOptions, onRowAction, actionLabel, actionIcon, getRowKey, rowKey, emptyMessage, endMessage, showActions, className, variant, density, maxBodyHeight, sort: sortProp, onSortChange, defaultSort, sortCycle, stableOrder, rowActions, archivedPredicate, archivedLabel, loading, skeletonRows, error, paginated, showSettings, onRowClick, getRowHref, rowTone, isSelected, renderAccessoryRow, renderToolbar, renderFilterBar, onClearFilters, filtersActive, clearFiltersLabel, filterKey, visibleColumns: visibleColumnsProp, onVisibleColumnsChange, renderExpandedRow, defaultExpandedKey, hasMore, onLoadMore, loadingMore, loadMoreLabel, title, ariaLabel, expandLabel, description, icon, defaultWrapLines, labels: labelOverrides, }: DataTableProps<TRow>) => React.JSX.Element;
|
|
664
|
+
export declare const DataTable: <TRow>({ data, columns, storageKey, defaultColumnOrder, columnOrder: columnOrderProp, onColumnOrderChange, defaultItemsPerPage, itemsPerPage: itemsPerPageProp, onItemsPerPageChange, page: pageProp, onPageChange, pageCount, minColumnWidth, resizable, columnSizing, itemsPerPageOptions, onRowAction, actionLabel, actionIcon, getRowKey, rowKey, emptyMessage, endMessage, showActions, className, variant, density, maxBodyHeight, sort: sortProp, onSortChange, defaultSort, sortCycle, stableOrder, rowActions, archivedPredicate, archivedLabel, loading, skeletonRows, error, paginated, showSettings, onRowClick, getRowHref, rowTone, isSelected, renderAccessoryRow, renderToolbar, renderFilterBar, onClearFilters, filtersActive, clearFiltersLabel, filterKey, visibleColumns: visibleColumnsProp, onVisibleColumnsChange, renderExpandedRow, defaultExpandedKey, hasMore, onLoadMore, loadingMore, loadMoreLabel, title, ariaLabel, expandLabel, description, icon, defaultWrapLines, labels: labelOverrides, }: DataTableProps<TRow>) => React.JSX.Element;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import './DataTable.css';
|
|
2
2
|
export { DataTable, DATA_TABLE_LABELS, ALL_ITEMS } from './DataTable.js';
|
|
3
|
-
export type { DataTableColumn, DataTableDensity, DataTableItemsPerPage, DataTableLabels, DataTableProps, DataTableRow, DataTableRowAction, DataTableRowTone, DataTableSortCycle, DataTableSortDirection, DataTableSortState, DataTableVariant, } from './DataTable.js';
|
|
3
|
+
export type { DataTableColumn, DataTableColumnSizing, DataTableDensity, DataTableItemsPerPage, DataTableLabels, DataTableProps, DataTableRow, DataTableRowAction, DataTableRowTone, DataTableSortCycle, DataTableSortDirection, DataTableSortState, DataTableVariant, } from './DataTable.js';
|
|
4
4
|
export { CopyableCell } from './CopyableCell.js';
|
|
5
5
|
export type { CopyableCellProps } from './CopyableCell.js';
|
|
6
6
|
export { RowActionsMenu } from './RowActionsMenu.js';
|
package/dist/DataTable/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { ALL_ITEMS, CopyableCell, DATA_TABLE_LABELS, DataTable, RowActionsMenu } from '../chunk-
|
|
1
|
+
export { ALL_ITEMS, CopyableCell, DATA_TABLE_LABELS, DataTable, RowActionsMenu } from '../chunk-BRWR3QIG.js';
|
|
2
2
|
import '../chunk-C667GCU7.js';
|
|
3
3
|
import '../chunk-STJ7QBC3.js';
|
|
4
4
|
import '../chunk-DTIW4CHZ.js';
|
|
@@ -797,6 +797,44 @@ body.crewlet-data-table-resizing {
|
|
|
797
797
|
width: var(--spacing-6);
|
|
798
798
|
}
|
|
799
799
|
|
|
800
|
+
/*
|
|
801
|
+
* A TABLE SIZED TO ITS CONTENT (`columnSizing="content"`) is laid out by the
|
|
802
|
+
* automatic algorithm, with no width stated on its columns. The spacer asks
|
|
803
|
+
* for the whole row, so every other column gives up all it can: down to its
|
|
804
|
+
* widest cell. What is left over is the spacer's.
|
|
805
|
+
*
|
|
806
|
+
* Its cells never wrap, Wrap lines or not. A cell that may break anywhere is
|
|
807
|
+
* a column the automatic layout squeezes to a few letters a line, which is
|
|
808
|
+
* what a name became the first time this was drawn; and with every column as
|
|
809
|
+
* wide as its content there is nothing to truncate, so the toggle has nothing
|
|
810
|
+
* to decide.
|
|
811
|
+
*
|
|
812
|
+
* After the gutter rule above and as specific, so a pinned column keeps its
|
|
813
|
+
* gutter as the spacer's floor while the spacer still takes the rest of the
|
|
814
|
+
* row. The panels that span the row wrap, as their content does at any width:
|
|
815
|
+
* kept on one line, a sentence in one would be measured as the narrowest the
|
|
816
|
+
* table may be.
|
|
817
|
+
*/
|
|
818
|
+
.crewlet-data-table--compact .crewlet-data-table__table.crewlet-data-table__table--content {
|
|
819
|
+
table-layout: auto;
|
|
820
|
+
}
|
|
821
|
+
|
|
822
|
+
.crewlet-data-table--compact .crewlet-data-table__table.crewlet-data-table__table--content td:not(.crewlet-data-table__expanded-cell):not(.crewlet-data-table__accessory-cell) {
|
|
823
|
+
white-space: nowrap;
|
|
824
|
+
overflow-wrap: normal;
|
|
825
|
+
word-break: normal;
|
|
826
|
+
}
|
|
827
|
+
|
|
828
|
+
.crewlet-data-table--compact .crewlet-data-table__table.crewlet-data-table__table--content .crewlet-data-table__th--spacer,
|
|
829
|
+
.crewlet-data-table--compact .crewlet-data-table__table.crewlet-data-table__table--content .crewlet-data-table__td--spacer {
|
|
830
|
+
width: 100%;
|
|
831
|
+
}
|
|
832
|
+
|
|
833
|
+
.crewlet-data-table__table--content td.crewlet-data-table__expanded-cell,
|
|
834
|
+
.crewlet-data-table__table--content td.crewlet-data-table__accessory-cell {
|
|
835
|
+
white-space: normal;
|
|
836
|
+
}
|
|
837
|
+
|
|
800
838
|
/*
|
|
801
839
|
* Row actions column: pinned to the viewport's right edge with
|
|
802
840
|
* position: sticky so the kebab affordance stays visible during
|
package/dist/DataView/index.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
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-4WTLT66V.js';
|
|
2
2
|
import '../chunk-FPDIHEM4.js';
|
|
3
3
|
import '../chunk-K4LZXSKZ.js';
|
|
4
4
|
import '../chunk-HPI5J6AR.js';
|
|
5
|
-
import '../chunk-
|
|
5
|
+
import '../chunk-BRWR3QIG.js';
|
|
6
6
|
import '../chunk-C667GCU7.js';
|
|
7
7
|
import '../chunk-7KHM2FZH.js';
|
|
8
8
|
import '../chunk-STJ7QBC3.js';
|
package/dist/HuePicker/index.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import '../chunk-FFMCMSJB.js';
|
|
2
|
-
export { HuePicker, HueSwatch } from '../chunk-
|
|
2
|
+
export { HuePicker, HueSwatch } from '../chunk-HEA6TERQ.js';
|
|
3
3
|
import '../chunk-AYKXMIOR.js';
|
|
4
|
-
import '../chunk-
|
|
5
|
-
import '../chunk-
|
|
4
|
+
import '../chunk-6R334YT3.js';
|
|
5
|
+
import '../chunk-2IIHMJMZ.js';
|
|
6
6
|
import '../chunk-EGMQURBR.js';
|
|
7
7
|
import '../chunk-CYQBDZ6M.js';
|
|
8
8
|
import '../chunk-MLDTLZAO.js';
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
export { MARKDOWN_FORMATS, MarkdownEditor, formatMarkdown, insertMarkdown, markdownWords } from '../chunk-
|
|
1
|
+
export { MARKDOWN_FORMATS, MarkdownEditor, formatMarkdown, insertMarkdown, markdownWords } from '../chunk-7FF6CZW5.js';
|
|
2
2
|
import '../chunk-NR4CPM4T.js';
|
|
3
3
|
import '../chunk-36WK24AI.js';
|
|
4
|
-
import '../chunk-
|
|
5
|
-
import '../chunk-
|
|
4
|
+
import '../chunk-6R334YT3.js';
|
|
5
|
+
import '../chunk-2IIHMJMZ.js';
|
|
6
6
|
import '../chunk-EGMQURBR.js';
|
|
7
7
|
import '../chunk-CYQBDZ6M.js';
|
|
8
8
|
import '../chunk-MLDTLZAO.js';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export { MERGE_CONFLICTS_LABELS, MergeConflicts } from '../chunk-
|
|
1
|
+
export { MERGE_CONFLICTS_LABELS, MergeConflicts } from '../chunk-2FMBZCFR.js';
|
|
2
2
|
import '../chunk-36WK24AI.js';
|
|
3
|
-
import '../chunk-
|
|
4
|
-
import '../chunk-
|
|
3
|
+
import '../chunk-6R334YT3.js';
|
|
4
|
+
import '../chunk-2IIHMJMZ.js';
|
|
5
5
|
import '../chunk-EGMQURBR.js';
|
|
6
6
|
import '../chunk-CYQBDZ6M.js';
|
|
7
7
|
import '../chunk-MLDTLZAO.js';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export { PROPOSAL_CARD_LABELS, PROPOSAL_FAILURE_OUTCOMES, PROPOSAL_STATES, PROPOSAL_TONES, ProposalCard } from '../chunk-
|
|
1
|
+
export { PROPOSAL_CARD_LABELS, PROPOSAL_FAILURE_OUTCOMES, PROPOSAL_STATES, PROPOSAL_TONES, ProposalCard } from '../chunk-BLGBD2D2.js';
|
|
2
2
|
import '../chunk-ZWCK4N4L.js';
|
|
3
|
-
import '../chunk-
|
|
3
|
+
import '../chunk-4XF7ENQA.js';
|
|
4
4
|
import '../chunk-LR4IWUWQ.js';
|
|
5
5
|
import '../chunk-RTMNULTL.js';
|
|
6
6
|
import '../chunk-VERJCAJ4.js';
|
package/dist/RichEditor/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { RichEditor, preloadRichEditor } from '../chunk-
|
|
1
|
+
export { RichEditor, preloadRichEditor } from '../chunk-6X5PGHEX.js';
|
|
2
2
|
export { RICH_EDITOR_LABELS, richEditorLabels } from '../chunk-2DMTW2Y3.js';
|
|
3
3
|
import '../chunk-KOJPDCGQ.js';
|
|
4
4
|
import '../chunk-KBZO4B33.js';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import '../chunk-36WK24AI.js';
|
|
2
|
-
export { SegmentedControl } from '../chunk-
|
|
3
|
-
import '../chunk-
|
|
2
|
+
export { SegmentedControl } from '../chunk-6R334YT3.js';
|
|
3
|
+
import '../chunk-2IIHMJMZ.js';
|
|
4
4
|
import '../chunk-EGMQURBR.js';
|
|
5
5
|
import '../chunk-CYQBDZ6M.js';
|
|
6
6
|
import '../chunk-MLDTLZAO.js';
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
export { SHEET_COLUMN_EDITOR_LABELS, SheetColumnEditor, SheetColumnTypeGlyph } from '../chunk-
|
|
1
|
+
export { SHEET_COLUMN_EDITOR_LABELS, SheetColumnEditor, SheetColumnTypeGlyph } from '../chunk-O222F2IX.js';
|
|
2
2
|
import '../chunk-VK45YJLH.js';
|
|
3
3
|
import '../chunk-FFMCMSJB.js';
|
|
4
4
|
import '../chunk-7KHM2FZH.js';
|
|
5
5
|
import '../chunk-LFSIKGRQ.js';
|
|
6
6
|
import '../chunk-Z7JYG5TF.js';
|
|
7
|
-
import '../chunk-
|
|
7
|
+
import '../chunk-HEA6TERQ.js';
|
|
8
8
|
import '../chunk-AYKXMIOR.js';
|
|
9
|
-
import '../chunk-
|
|
10
|
-
import '../chunk-
|
|
9
|
+
import '../chunk-6R334YT3.js';
|
|
10
|
+
import '../chunk-2IIHMJMZ.js';
|
|
11
11
|
import '../chunk-EGMQURBR.js';
|
|
12
12
|
import '../chunk-CYQBDZ6M.js';
|
|
13
13
|
import '../chunk-LMQG3VPG.js';
|
package/dist/Tabs/Tabs.d.ts
CHANGED
|
@@ -28,8 +28,11 @@ export interface TabsItem {
|
|
|
28
28
|
count?: number | string | null;
|
|
29
29
|
/**
|
|
30
30
|
* What needs the reader behind this tab, drawn after the label: problems
|
|
31
|
-
* as a danger count, a warning or an unsaved change as a 6px dot.
|
|
32
|
-
* replaces the count while it is set
|
|
31
|
+
* as a danger count, a warning or an unsaved change as a 6px dot. A danger
|
|
32
|
+
* count replaces the tab's count while it is set, since two figures side by
|
|
33
|
+
* side read as one; a dot sits after the count, since how many things are
|
|
34
|
+
* behind a tab and whether one needs the reader are two facts ("Agents 5"
|
|
35
|
+
* with a warning). `label` is what a screen reader hears.
|
|
33
36
|
*/
|
|
34
37
|
marker?: TabsMarker | undefined;
|
|
35
38
|
/**
|
package/dist/Tabs/index.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
export { DensitySwitcher, ThemeSwitcher } from '../chunk-
|
|
1
|
+
export { DensitySwitcher, ThemeSwitcher } from '../chunk-YB64PWIN.js';
|
|
2
2
|
export { applyStoredPreferences, resolveTheme, useDensityPreference, useSystemTheme, useThemePreference } from '../chunk-Z24ZUSTX.js';
|
|
3
3
|
export { DENSITY_PREFERENCES, PALETTE_ID, THEME_PREFERENCES, applyDensity, applyPalette, applyTheme, isDensityPreference, isPaletteId, isThemePreference } from '../chunk-ZXXDZJQN.js';
|
|
4
4
|
import '../chunk-36WK24AI.js';
|
|
5
|
-
import '../chunk-
|
|
6
|
-
import '../chunk-
|
|
5
|
+
import '../chunk-6R334YT3.js';
|
|
6
|
+
import '../chunk-2IIHMJMZ.js';
|
|
7
7
|
import '../chunk-EGMQURBR.js';
|
|
8
8
|
import '../chunk-CYQBDZ6M.js';
|
|
9
9
|
import '../chunk-MLDTLZAO.js';
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
export { TIME_RANGE_CUSTOM, TIME_RANGE_PICKER_LABELS, TimeRangePicker, timeRangeFieldKey, timeRangeProblem } from '../chunk-
|
|
1
|
+
export { TIME_RANGE_CUSTOM, TIME_RANGE_PICKER_LABELS, TimeRangePicker, timeRangeFieldKey, timeRangeProblem } from '../chunk-SNIPM6K7.js';
|
|
2
2
|
import '../chunk-C667GCU7.js';
|
|
3
3
|
import '../chunk-BPCY7ZID.js';
|
|
4
4
|
import '../chunk-36WK24AI.js';
|
|
5
|
-
import '../chunk-
|
|
6
|
-
import '../chunk-
|
|
5
|
+
import '../chunk-6R334YT3.js';
|
|
6
|
+
import '../chunk-2IIHMJMZ.js';
|
|
7
7
|
import '../chunk-EGMQURBR.js';
|
|
8
8
|
import '../chunk-CYQBDZ6M.js';
|
|
9
9
|
import '../chunk-FB3TCNQP.js';
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
export { VERSION_COMPARE_LABELS, VERSION_COMPARE_LENSES, VersionCompare } from '../chunk-
|
|
1
|
+
export { VERSION_COMPARE_LABELS, VERSION_COMPARE_LENSES, VersionCompare } from '../chunk-Z6JKZI4E.js';
|
|
2
2
|
import '../chunk-AOFVXE6V.js';
|
|
3
3
|
import '../chunk-36WK24AI.js';
|
|
4
|
-
import '../chunk-
|
|
5
|
-
import '../chunk-
|
|
4
|
+
import '../chunk-6R334YT3.js';
|
|
5
|
+
import '../chunk-2IIHMJMZ.js';
|
|
6
6
|
import '../chunk-EGMQURBR.js';
|
|
7
7
|
import '../chunk-CYQBDZ6M.js';
|
|
8
8
|
import '../chunk-PPUR46MK.js';
|
|
@@ -201,10 +201,13 @@ function Tabs({
|
|
|
201
201
|
item.label,
|
|
202
202
|
item.live ? /* @__PURE__ */ jsx(VisuallyHidden, { children: `, ${item.live}` }) : null
|
|
203
203
|
] }),
|
|
204
|
-
item.marker
|
|
204
|
+
item.marker?.tone === "danger" ? /* @__PURE__ */ jsxs("span", { className: "crewlet-tabs__marker crewlet-tabs__marker--danger", children: [
|
|
205
205
|
/* @__PURE__ */ jsx("span", { "aria-hidden": "true", children: item.marker.count }),
|
|
206
206
|
/* @__PURE__ */ jsx(VisuallyHidden, { children: item.marker.label })
|
|
207
|
-
] }) : /* @__PURE__ */
|
|
207
|
+
] }) : /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
208
|
+
item.count != null && item.count !== "" ? /* @__PURE__ */ jsx(Count, { value: item.count }) : null,
|
|
209
|
+
item.marker ? /* @__PURE__ */ jsx("span", { className: `crewlet-tabs__marker crewlet-tabs__marker--${item.marker.tone}`, children: /* @__PURE__ */ jsx(VisuallyHidden, { children: item.marker.label }) }) : null
|
|
210
|
+
] })
|
|
208
211
|
] });
|
|
209
212
|
const onSelect = () => {
|
|
210
213
|
if (item.disabled) return;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { PageHeader } from './chunk-FPDIHEM4.js';
|
|
2
2
|
import { FilterPill } from './chunk-K4LZXSKZ.js';
|
|
3
3
|
import { DateTimePicker } from './chunk-HPI5J6AR.js';
|
|
4
|
-
import { DataTable } from './chunk-
|
|
4
|
+
import { DataTable } from './chunk-BRWR3QIG.js';
|
|
5
5
|
import { useListbox, useOptionKeys } from './chunk-7KHM2FZH.js';
|
|
6
6
|
import { Toolbar } from './chunk-NR4CPM4T.js';
|
|
7
7
|
import { Popover } from './chunk-KHJIEPZV.js';
|
|
@@ -3,7 +3,7 @@ import { Tag } from './chunk-VERJCAJ4.js';
|
|
|
3
3
|
import { Disclosure } from './chunk-222VILSP.js';
|
|
4
4
|
import { VisuallyHidden } from './chunk-UT6CW3C7.js';
|
|
5
5
|
import { cx } from './chunk-ODEQTPFM.js';
|
|
6
|
-
import './ChangeList-
|
|
6
|
+
import './ChangeList-ITJMTVDF.css';
|
|
7
7
|
import { useId } from 'react';
|
|
8
8
|
import { ArrowRightGlyph } from '@crewlethq/icons/glyphs';
|
|
9
9
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
@@ -100,8 +100,40 @@ function BlockValue({ row, labels }) {
|
|
|
100
100
|
] });
|
|
101
101
|
}
|
|
102
102
|
}
|
|
103
|
-
function
|
|
103
|
+
function ChipValue({ row, labels }) {
|
|
104
|
+
switch (row.kind) {
|
|
105
|
+
case "fact":
|
|
106
|
+
return /* @__PURE__ */ jsx(Tag, { size: "sm", variant: "neutral", children: row.value });
|
|
107
|
+
case "changed":
|
|
108
|
+
return /* @__PURE__ */ jsxs("span", { className: "crewlet-change-list__pair", children: [
|
|
109
|
+
/* @__PURE__ */ jsx(VisuallyHidden, { children: `${labels.changedFrom} ` }),
|
|
110
|
+
/* @__PURE__ */ jsx("del", { className: "crewlet-change-list__chip", children: /* @__PURE__ */ jsx(Tag, { size: "sm", variant: "neutral", appearance: "outline", children: row.from }) }),
|
|
111
|
+
/* @__PURE__ */ jsxs("span", { className: "crewlet-change-list__next", children: [
|
|
112
|
+
/* @__PURE__ */ jsx(ArrowRightGlyph, { size: "sm", className: "crewlet-change-list__arrow" }),
|
|
113
|
+
/* @__PURE__ */ jsx(VisuallyHidden, { children: ` ${labels.to} ` }),
|
|
114
|
+
/* @__PURE__ */ jsx("ins", { className: "crewlet-change-list__chip", children: /* @__PURE__ */ jsx(Tag, { size: "sm", variant: "success", children: row.to }) })
|
|
115
|
+
] })
|
|
116
|
+
] });
|
|
117
|
+
case "added":
|
|
118
|
+
return /* @__PURE__ */ jsxs("span", { className: "crewlet-change-list__pair", children: [
|
|
119
|
+
/* @__PURE__ */ jsx(VisuallyHidden, { children: `${labels.added} ` }),
|
|
120
|
+
/* @__PURE__ */ jsx("ins", { className: "crewlet-change-list__chip", children: /* @__PURE__ */ jsx(Tag, { size: "sm", variant: "success", children: row.to }) }),
|
|
121
|
+
row.isNew ? /* @__PURE__ */ jsx(Tag, { size: "xs", variant: "success", appearance: "outline", children: labels.isNew }) : null
|
|
122
|
+
] });
|
|
123
|
+
case "removed":
|
|
124
|
+
return /* @__PURE__ */ jsxs("span", { className: "crewlet-change-list__pair", children: [
|
|
125
|
+
/* @__PURE__ */ jsx(VisuallyHidden, { children: `${labels.removed} ` }),
|
|
126
|
+
/* @__PURE__ */ jsx("del", { className: "crewlet-change-list__chip", children: /* @__PURE__ */ jsx(Tag, { size: "sm", variant: "danger", appearance: "outline", children: row.from }) })
|
|
127
|
+
] });
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
function Value({
|
|
131
|
+
row,
|
|
132
|
+
labels,
|
|
133
|
+
inline
|
|
134
|
+
}) {
|
|
104
135
|
if (row.block) return /* @__PURE__ */ jsx(BlockValue, { row, labels });
|
|
136
|
+
if (inline) return /* @__PURE__ */ jsx(ChipValue, { row, labels });
|
|
105
137
|
switch (row.kind) {
|
|
106
138
|
case "fact":
|
|
107
139
|
return /* @__PURE__ */ jsx("span", { className: "crewlet-change-list__fact", children: row.value });
|
|
@@ -130,33 +162,52 @@ function Value({ row, labels }) {
|
|
|
130
162
|
] });
|
|
131
163
|
}
|
|
132
164
|
}
|
|
133
|
-
function ChangeList({
|
|
165
|
+
function ChangeList({
|
|
166
|
+
rows,
|
|
167
|
+
heading,
|
|
168
|
+
layout = "grid",
|
|
169
|
+
settled = false,
|
|
170
|
+
labels: overrides,
|
|
171
|
+
diffLabels,
|
|
172
|
+
className
|
|
173
|
+
}) {
|
|
134
174
|
const labels = overrides ? { ...CHANGE_LIST_LABELS, ...overrides } : CHANGE_LIST_LABELS;
|
|
135
175
|
const headingId = useId();
|
|
136
|
-
return /* @__PURE__ */ jsxs(
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
children:
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
176
|
+
return /* @__PURE__ */ jsxs(
|
|
177
|
+
"div",
|
|
178
|
+
{
|
|
179
|
+
className: cx(
|
|
180
|
+
"crewlet-change-list",
|
|
181
|
+
layout === "inline" && "crewlet-change-list--inline",
|
|
182
|
+
settled && "crewlet-change-list--settled",
|
|
183
|
+
className
|
|
184
|
+
),
|
|
185
|
+
children: [
|
|
186
|
+
heading === void 0 || heading === null ? null : /* @__PURE__ */ jsx("div", { id: headingId, className: "crewlet-change-list__heading", children: heading }),
|
|
187
|
+
/* @__PURE__ */ jsx("dl", { className: "crewlet-change-list__rows", "aria-labelledby": heading === void 0 || heading === null ? void 0 : headingId, children: rows.map((row, index) => /* @__PURE__ */ jsxs(
|
|
188
|
+
"div",
|
|
189
|
+
{
|
|
190
|
+
className: cx(
|
|
191
|
+
"crewlet-change-list__row",
|
|
192
|
+
`crewlet-change-list__row--${row.kind}`,
|
|
193
|
+
row.kind !== "text" && row.block && "crewlet-change-list__row--block"
|
|
194
|
+
),
|
|
195
|
+
children: [
|
|
196
|
+
/* @__PURE__ */ jsx("dt", { className: "crewlet-change-list__label", children: row.label }),
|
|
197
|
+
/* @__PURE__ */ jsxs("dd", { className: "crewlet-change-list__value", children: [
|
|
198
|
+
row.kind === "text" ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
199
|
+
/* @__PURE__ */ jsx(WordDiff, { row, labels }),
|
|
200
|
+
row.whole && row.whole.length > 0 ? /* @__PURE__ */ jsx(Disclosure, { title: labels.showWhole, headingLevel: "none", size: "compact", className: "crewlet-change-list__whole", children: /* @__PURE__ */ jsx(DiffList, { rows: [...row.whole], layout: "auto", labels: diffLabels }) }) : null
|
|
201
|
+
] }) : /* @__PURE__ */ jsx(Value, { row, labels, inline: layout === "inline" }),
|
|
202
|
+
row.note === void 0 || row.note === null ? null : /* @__PURE__ */ jsx("span", { className: "crewlet-change-list__note", children: row.note })
|
|
203
|
+
] })
|
|
204
|
+
]
|
|
205
|
+
},
|
|
206
|
+
`${index}:${row.label}`
|
|
207
|
+
)) })
|
|
208
|
+
]
|
|
209
|
+
}
|
|
210
|
+
);
|
|
160
211
|
}
|
|
161
212
|
|
|
162
213
|
export { CHANGE_LIST_COLLAPSE_OVER, CHANGE_LIST_LABELS, ChangeList, ChangeListItems, shortenUnchanged };
|
|
@@ -9,7 +9,7 @@ import { jsx } from 'react/jsx-runtime';
|
|
|
9
9
|
var engine = null;
|
|
10
10
|
var loading = null;
|
|
11
11
|
function loadEngine() {
|
|
12
|
-
loading ??= import('./Editor-
|
|
12
|
+
loading ??= import('./Editor-IMYESOW7.js').then(
|
|
13
13
|
(module) => {
|
|
14
14
|
engine = module.Editor;
|
|
15
15
|
return engine;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Toolbar } from './chunk-NR4CPM4T.js';
|
|
2
|
-
import { SegmentedControl } from './chunk-
|
|
3
|
-
import { tabId } from './chunk-
|
|
2
|
+
import { SegmentedControl } from './chunk-6R334YT3.js';
|
|
3
|
+
import { tabId } from './chunk-2IIHMJMZ.js';
|
|
4
4
|
import { IconButton } from './chunk-UAUP6XGK.js';
|
|
5
5
|
import { cx } from './chunk-ODEQTPFM.js';
|
|
6
6
|
import './MarkdownEditor-BLCJRGDC.css';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { RefusalStrip, ReceiptStrip } from './chunk-ZWCK4N4L.js';
|
|
2
|
-
import { ChangeList } from './chunk-
|
|
2
|
+
import { ChangeList } from './chunk-4XF7ENQA.js';
|
|
3
3
|
import { StatusCard } from './chunk-RTMNULTL.js';
|
|
4
4
|
import { Checkbox } from './chunk-LMQG3VPG.js';
|
|
5
5
|
import { Disclosure } from './chunk-222VILSP.js';
|