@crewlethq/ui 0.40.0 → 0.40.1

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 CHANGED
@@ -204,6 +204,10 @@ places:
204
204
  - A surface that pans or zooms dispatches `LAYER_REPOSITION_EVENT` on its host
205
205
  when the content beneath it moves, and every panel anchored inside follows.
206
206
 
207
+ ## Changes in 0.40.1
208
+
209
+ **The rail's foot stands on the compact step.** What a reader reaches for rarely (a settings link, a status row, who they are) takes less of the rail's height: the foot's rows are 26px (`--size-control-sm`, through `--crewlet-rail-foot-row`) where they were the nav's 30px, the foot's gap is 2px and its inset 4px where they were 4px and 8px, and the account row spends 2px around its name and detail where it spent 8px. A foot of Settings, an engine row and the account row is 101px tall where it was 133px. Only heights change: every row keeps its order, its columns, its glyphs and its words, the rows above the foot keep their 30px step, and every target still clears 24px, with the targets of neighbouring rows meeting across the gap.
210
+
207
211
  ## Changes in 0.40.0
208
212
 
209
213
  The engine dashboard's own lists, page parts and navigation pieces, moved into the kit so every application draws them from one place.
@@ -1,4 +1,4 @@
1
- export { AccountRow, AppShell, AppShellRail, AppShellRailRow, AppShellToggle, AppShellTopbar, useAppShell } from '../chunk-KKNHMXTE.js';
1
+ export { AccountRow, AppShell, AppShellRail, AppShellRailRow, AppShellToggle, AppShellTopbar, useAppShell } from '../chunk-GR4YM7HT.js';
2
2
  import '../chunk-RTPQDNW3.js';
3
3
  import '../chunk-D6FEHY5G.js';
4
4
  import '../chunk-OMV5W53A.js';
@@ -171,14 +171,22 @@
171
171
  }
172
172
 
173
173
  /* The same gutter the nav takes, so what the foot says lines up with the rows
174
- above it rather than sitting further out. */
174
+ above it rather than sitting further out.
175
+
176
+ THE FOOT IS THE COMPACT STEP. It holds what a reader reaches for rarely (a
177
+ settings link, the engine's state, who they are), so its rows stand on the
178
+ small control step (`--crewlet-rail-foot-row`, 26px, never under the 24px
179
+ target) on a half-step gap and a one-step inset, where the nav above keeps
180
+ its 30px rows. Only heights change: every row keeps its order, columns,
181
+ glyphs and words. */
175
182
  .crewlet-app-shell__rail-foot {
176
- --crewlet-rail-foot-gap: var(--spacing-1);
183
+ --crewlet-rail-foot-gap: calc(var(--spacing-1) / 2);
184
+ --crewlet-rail-foot-row: var(--size-control-sm);
177
185
  flex: none;
178
186
  display: flex;
179
187
  flex-direction: column;
180
188
  gap: var(--crewlet-rail-foot-gap);
181
- padding: var(--spacing-2) var(--size-nav-gutter);
189
+ padding: var(--spacing-1) var(--size-nav-gutter);
182
190
  border-top: 1px solid var(--color-border-default);
183
191
  }
184
192
 
@@ -279,6 +287,14 @@
279
287
  min-width: 14px;
280
288
  }
281
289
 
290
+ /* The foot's own step (see `.crewlet-app-shell__rail-foot`), for its rows and
291
+ for a navigation dropped into it, whose rows keep the rail's columns. */
292
+ .crewlet-app-shell__rail-foot > .crewlet-app-shell__rail-row--action:not(.crewlet-app-shell__rail-row--block),
293
+ .crewlet-app-shell__rail-foot > .crewlet-btn,
294
+ .crewlet-app-shell__rail-foot .crewlet-nav-item__row {
295
+ min-height: var(--crewlet-rail-foot-row);
296
+ }
297
+
282
298
  /*
283
299
  * OPEN IS POINTED AT. The row a panel is open from keeps the hover's lift for
284
300
  * as long as the panel is open, drawn from `aria-expanded` so the picture and
@@ -731,9 +747,16 @@
731
747
  * whatever size of badge a caller hands the row, it is centred where a glyph
732
748
  * is, and the row takes the nav row's pad and its glyph-to-word gap.
733
749
  */
750
+ .crewlet-app-shell__rail-foot .crewlet-account-row {
751
+ --crewlet-account-row-pad: var(--spacing-0);
752
+ }
753
+
734
754
  .crewlet-app-shell__rail-foot .crewlet-account-row__who {
735
755
  --crewlet-hit-area-block-start: calc(var(--crewlet-rail-foot-gap) / 2 + var(--crewlet-account-row-pad));
736
756
  gap: calc(var(--spacing-2) + var(--spacing-1) / 2);
757
+ /* On the foot's compact step: the two lines of name and detail with half a
758
+ step above and below them, which still clears the avatar. */
759
+ padding-block: calc(var(--spacing-1) / 2);
737
760
  padding-inline-start: var(--size-nav-row-pad);
738
761
  }
739
762
 
@@ -1,4 +1,4 @@
1
- export { RichEditor, preloadRichEditor } from '../chunk-PFZOFAQ6.js';
1
+ export { RichEditor, preloadRichEditor } from '../chunk-X3UYTAOG.js';
2
2
  export { RICH_EDITOR_LABELS, richEditorLabels } from '../chunk-CSQTDGTS.js';
3
3
  import '../chunk-BAKPMH3S.js';
4
4
  import '../chunk-SZZRIHGT.js';
@@ -1,9 +1,9 @@
1
- export { CellDisplay, CellEditor, CheckboxCell, DateCell, LongTextCell, MultiSelectCell, NumberCell, PersonCell, RatingCell, SelectCell, SheetCell, SheetGrid, StatusCell, TextCell, UrlCell } from '../chunk-3PR65I3H.js';
1
+ export { CellDisplay, CellEditor, CheckboxCell, DateCell, LongTextCell, MultiSelectCell, NumberCell, PersonCell, RatingCell, SelectCell, SheetCell, SheetGrid, StatusCell, TextCell, UrlCell } from '../chunk-DKNBGL26.js';
2
2
  import '../chunk-O2EGEONV.js';
3
3
  import '../chunk-CENOOTAV.js';
4
- import '../chunk-KYIAFNU7.js';
5
4
  import '../chunk-3BYIWOTV.js';
6
5
  import '../chunk-I6POAB4V.js';
6
+ import '../chunk-KYIAFNU7.js';
7
7
  import '../chunk-66X5WDKE.js';
8
8
  import '../chunk-LFSIKGRQ.js';
9
9
  import '../chunk-Z7JYG5TF.js';
@@ -6,7 +6,7 @@ import { IconButton } from './chunk-4FQT6ZAY.js';
6
6
  import { VisuallyHidden } from './chunk-BZFWDIV6.js';
7
7
  import { cx } from './chunk-ODEQTPFM.js';
8
8
  import './HitArea-QUOS6ZDJ.css';
9
- import './AppShell-NPSWZ3XW.css';
9
+ import './AppShell-VE2MAV42.css';
10
10
  import { createContext, forwardRef, useContext, useId, useState, useRef, useCallback, useEffect, useLayoutEffect } from 'react';
11
11
  import { breakpoint } from '@crewlethq/tokens';
12
12
  import { ChevronUpGlyph, ChevronsUpDownGlyph, ChevronRightGlyph, MenuGlyph } from '@crewlethq/icons/glyphs';
@@ -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-IRDQ3JDZ.js').then(
12
+ loading ??= import('./Editor-QV4JP242.js').then(
13
13
  (module) => {
14
14
  engine = module.Editor;
15
15
  return engine;
@@ -1,15 +1,15 @@
1
1
  import '../chunk-S3QTFUJX.js';
2
- export { VersionTimeline } from '../chunk-NQCY44B3.js';
3
- export { matchesShortcut, useShortcut } from '../chunk-AYHIF6DH.js';
4
2
  export { WidgetFrame } from '../chunk-DFK5EQTU.js';
3
+ export { Prose } from '../chunk-JCSA3XVH.js';
5
4
  export { ElementToPngError, elementToPng, parseCsv, serializeElement, toCsv } from '../chunk-FEJANUZK.js';
6
5
  export { ToastProvider, Toaster, useToast } from '../chunk-AC22RZKC.js';
7
6
  export { TreeCanvas } from '../chunk-5BUOMF6N.js';
8
7
  export { VERSION_COMPARE_LABELS, VERSION_COMPARE_LENSES, VersionCompare } from '../chunk-JSWOXRRE.js';
8
+ export { VersionTimeline } from '../chunk-NQCY44B3.js';
9
9
  export { ThemeGallery } from '../chunk-E4BOVKNJ.js';
10
10
  export { ThemeSwatch } from '../chunk-MNFU2RNT.js';
11
- export { DensitySwitcher, ThemeSwitcher } from '../chunk-KWWP3D7M.js';
12
11
  export { ThemeToggle } from '../chunk-NP2C4Y4E.js';
12
+ export { DensitySwitcher, ThemeSwitcher } from '../chunk-KWWP3D7M.js';
13
13
  export { applyStoredPreferences, resolveTheme, useDensityPreference, useSystemTheme, useThemePreference } from '../chunk-Z24ZUSTX.js';
14
14
  export { TileGrid } from '../chunk-NNTO3TNC.js';
15
15
  export { DEFAULT_TIME_WINDOW_LABELS, TIME_WINDOW_SPANS, TimeWindowPicker, describeTimeWindow, isTimeWindowSet, parseTimeWindowDuration, resolveTimeWindow, timeWindowMatchesPreset } from '../chunk-YPMGP2X4.js';
@@ -19,43 +19,43 @@ export { TABLE_TAGS_CELL_LABELS, TableDateCell, TableEntityCell, TableKeyCell, T
19
19
  export { TagsInput } from '../chunk-BH52LIY6.js';
20
20
  export { SlideGrid } from '../chunk-3V5T5K5H.js';
21
21
  export { SOURCE_EDITOR_KEYS, SourceEditor, lineStart } from '../chunk-D3EJSLCL.js';
22
- export { StatGroup } from '../chunk-OUD75UB2.js';
23
22
  export { StatCard } from '../chunk-YPTTSJPM.js';
23
+ export { StatGroup } from '../chunk-OUD75UB2.js';
24
24
  export { Stepper } from '../chunk-5QWIJSQM.js';
25
- export { ARTIFACT_ROLES, SHAREABLE_ROLES, ShareDialog, roleAtLeast } from '../chunk-KNHUBHFX.js';
26
25
  export { SHEET_COLUMN_EDITOR_LABELS, SheetColumnEditor, SheetColumnTypeGlyph } from '../chunk-GFYQKMQZ.js';
27
- export { CellDisplay, CellEditor, CheckboxCell, DateCell, LongTextCell, MultiSelectCell, NumberCell, PersonCell, RatingCell, SelectCell, SheetCell, SheetGrid, StatusCell, TextCell, UrlCell } from '../chunk-3PR65I3H.js';
26
+ export { CellDisplay, CellEditor, CheckboxCell, DateCell, LongTextCell, MultiSelectCell, NumberCell, PersonCell, RatingCell, SelectCell, SheetCell, SheetGrid, StatusCell, TextCell, UrlCell } from '../chunk-DKNBGL26.js';
28
27
  export { TagGroup } from '../chunk-O2EGEONV.js';
28
+ export { matchesShortcut, useShortcut } from '../chunk-AYHIF6DH.js';
29
29
  export { SLIDE_COMPARE_LABELS, SlideCompare } from '../chunk-7CGPPAYR.js';
30
30
  export { SlideFilmstrip } from '../chunk-FBW3Q2OY.js';
31
- export { FRAME_HELLO_TIMEOUT_MS, FRAME_LOAD_GRACE_MS, SandboxedFrame, SandboxedFrameNotice, SandboxedFramePlaceholder } from '../chunk-356JNSER.js';
32
31
  export { SearchTrigger } from '../chunk-6DRDCT22.js';
33
32
  export { SectionFrame, SectionFrameBody, SectionFrameNav } from '../chunk-INVSUFJK.js';
34
33
  export { NavGroup, NavItem, SidebarNav } from '../chunk-E7QLG3PG.js';
35
34
  export { SegmentedMeter, segmentedMeterLabel } from '../chunk-4AK52VHB.js';
36
- export { Select } from '../chunk-XQZ6EWOE.js';
37
35
  export { SettingsTable, SettingsTableRow } from '../chunk-4RKTZSEW.js';
38
- export { Prose } from '../chunk-JCSA3XVH.js';
36
+ export { ARTIFACT_ROLES, SHAREABLE_ROLES, ShareDialog, roleAtLeast } from '../chunk-KNHUBHFX.js';
37
+ export { Select } from '../chunk-XQZ6EWOE.js';
39
38
  export { QR_DARK, QR_LIGHT, QR_QUIET_ZONE, QrCode, qrModulePath, qrModules } from '../chunk-Y56FM3K4.js';
40
39
  export { ReadingPane, ReadingPaneByline, ReadingPaneLead, ReadingPaneOutcome, ReadingPaneQuote, ReadingPaneReasoning, ReadingPaneSection, ReadingPaneTitle } from '../chunk-ZAJHGDAW.js';
41
40
  export { RelatedRow } from '../chunk-ZUTUI27P.js';
42
41
  export { Text } from '../chunk-IKBK4A5O.js';
43
- export { RichEditor, preloadRichEditor } from '../chunk-PFZOFAQ6.js';
44
- export { RICH_EDITOR_LABELS, richEditorLabels } from '../chunk-CSQTDGTS.js';
45
42
  export { canonicalMarkdown, roundTripMarkdown } from '../chunk-SWD4QBL6.js';
46
43
  import '../chunk-QH6VYJ3X.js';
47
- export { PresenceStack } from '../chunk-3LYWD3BO.js';
44
+ export { RichEditor, preloadRichEditor } from '../chunk-X3UYTAOG.js';
45
+ export { RICH_EDITOR_LABELS, richEditorLabels } from '../chunk-CSQTDGTS.js';
46
+ export { FRAME_HELLO_TIMEOUT_MS, FRAME_LOAD_GRACE_MS, SandboxedFrame, SandboxedFrameNotice, SandboxedFramePlaceholder } from '../chunk-356JNSER.js';
48
47
  export { PresenterView, formatStopwatch } from '../chunk-UXYEOWG5.js';
49
48
  export { SLIDE_NAV_LABELS, SlideNav } from '../chunk-6VOS2GMB.js';
50
49
  export { SLIDE_HEIGHT, SLIDE_WIDTH, SlideStage, useSlideKeys } from '../chunk-RMEBFYL7.js';
50
+ export { PresenceStack } from '../chunk-3LYWD3BO.js';
51
51
  export { PricingCard } from '../chunk-U3ILLCR2.js';
52
52
  export { PrincipalPicker } from '../chunk-D2OL3ZSS.js';
53
53
  export { PropertyList } from '../chunk-T6MXORP5.js';
54
54
  export { OrgNodeDisclosure, OrgNodeLabel, OrgNodeLead } from '../chunk-YA3AWELW.js';
55
+ export { Outline, scrollToHeading, useActiveHeading } from '../chunk-A5YKNRG6.js';
55
56
  export { OrgTable, OrgTableActions, OrgTableAdd, OrgTableName } from '../chunk-CFGGE3HO.js';
56
57
  export { TreeGrid } from '../chunk-3KYVFG47.js';
57
58
  export { SIZE_EPSILON, TYPE_AHEAD_RESET_MS, createTreeModel, isTypeAheadKey, layoutConnectors, layoutForest, placeGroups, treeAllExpandable, treeAncestors, treeCollapseOrAscend, treeExpandOrDescend, treeExpandTo, treeExpandable, treeFirst, treeFirstChild, treeItemAction, treeLast, treeLevel, treeNext, treeParent, treePosInSet, treePrevious, treeSetSize, treeStep, treeTypeAhead, treeVisible, typeAheadBuffer, useLayoutAnchor, useMeasuredSizes, useTreeState } from '../chunk-MY374UUD.js';
58
- export { Outline, scrollToHeading, useActiveHeading } from '../chunk-A5YKNRG6.js';
59
59
  export { PageNote } from '../chunk-CV4NES3P.js';
60
60
  export { PEOPLE_RAIL_LABELS, PeopleRail, peopleRailKey } from '../chunk-GPWJCP3U.js';
61
61
  import '../chunk-CENOOTAV.js';
@@ -63,19 +63,19 @@ export { PinTile } from '../chunk-6MIXD6IW.js';
63
63
  export { MERGE_CONFLICTS_LABELS, MergeConflicts } from '../chunk-2PEXZ7L4.js';
64
64
  export { DEFAULT_METER_THRESHOLDS, METER_STATES, Meter, meterState, meterStateTone, meterTone, progressTone } from '../chunk-UGNUUVRI.js';
65
65
  export { NewItemsNotice } from '../chunk-PXU6HOZB.js';
66
- export { FactLine, ObjectHeader, SetByLine } from '../chunk-ODOJJGXH.js';
67
66
  export { OrgLabel } from '../chunk-ONQKKHON.js';
68
- export { ListInput } from '../chunk-WYYCPV46.js';
67
+ export { FactLine, ObjectHeader, SetByLine } from '../chunk-ODOJJGXH.js';
68
+ export { List, ListItem } from '../chunk-NZWX27J7.js';
69
69
  export { LIVE_CURSOR_HIDE_MS, LIVE_CURSOR_REST_MS, LiveCursor } from '../chunk-5XACKNYR.js';
70
70
  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';
71
71
  export { LockedLabel } from '../chunk-OHGH7O6T.js';
72
72
  export { MARKDOWN_CALLOUT_NAMES, MARKDOWN_CALLOUT_TONES, markdownBreaks, markdownClosesFence, markdownCodeText, markdownFenceOf, markdownHeadingOf, markdownInline, markdownLines, parseMarkdown, parseMarkdownSpans, safeHref } from '../chunk-BAKPMH3S.js';
73
73
  export { MARKDOWN_FORMATS, MarkdownEditor, formatMarkdown, insertMarkdown, markdownWords } from '../chunk-EX22Q5SH.js';
74
- export { LAYERS_LIST_LABELS, LayersList } from '../chunk-M6NQ4XGK.js';
75
74
  export { AutoGrid, Inline, Spacer, Stack } from '../chunk-ZAC7SKUN.js';
76
75
  export { Link } from '../chunk-FBSEJO2C.js';
77
76
  export { LinkInterstitial, openExternal } from '../chunk-N3TFYBN3.js';
78
- export { List, ListItem } from '../chunk-NZWX27J7.js';
77
+ export { LAYERS_LIST_LABELS, LayersList } from '../chunk-M6NQ4XGK.js';
78
+ export { ListInput } from '../chunk-WYYCPV46.js';
79
79
  import '../chunk-MICRGE3J.js';
80
80
  import '../chunk-FFMCMSJB.js';
81
81
  export { IconTile } from '../chunk-IXJHTFXG.js';
@@ -90,28 +90,28 @@ export { DEFAULT_FRAME_THEME, EXTERNAL_URL_MAX, FRAME_BRIDGE, FRAME_MESSAGE, FRA
90
90
  export { DENSITY_PREFERENCES, PALETTE_ID, THEME_PREFERENCES, applyDensity, applyPalette, applyTheme, isDensityPreference, isPaletteId, isThemePreference } from '../chunk-ZXXDZJQN.js';
91
91
  export { IDLE_AFTER_MS, useFullscreen, useIdle } from '../chunk-W5XCNEZC.js';
92
92
  export { Highlight, highlightRanges, highlightTerms } from '../chunk-H6VKCIWV.js';
93
- export { DOC_TABS_EDITOR_LABELS, DocTabsEditor } from '../chunk-SYBYFQTY.js';
94
93
  export { DownloadButton } from '../chunk-BEHFTRMZ.js';
95
94
  export { downloadBlob, downloadText, safeFilename, useDownload } from '../chunk-IW55G7XG.js';
96
95
  export { EditingStatus } from '../chunk-TC7DJTXI.js';
97
96
  export { EntityChip } from '../chunk-OSKJZNBT.js';
98
97
  export { ErrorBoundary } from '../chunk-XX2VQE55.js';
99
98
  export { Eyebrow } from '../chunk-RK4XPHVG.js';
100
- export { DATASET_SOURCE_KINDS, DatasetSource, DatasetSourceList } from '../chunk-HQJ24WPM.js';
101
- export { Tag } from '../chunk-KYIAFNU7.js';
99
+ export { DATA_VIEW_TOOLBAR_LABELS, DataView, DataViewToolbar, FILTER_AXIS_LABELS, FilterAxisBar, FilterAxisChip, applyColumnFilters, applyFilters, blankFilterValue, defaultOperator, filterDefsFromColumns, filterHasValue, filterPredicate, formatFilterValue, operatorOf, tableColumns } from '../chunk-QRKT4XTT.js';
100
+ export { PageHeader } from '../chunk-HOXGBLEY.js';
101
+ export { DEFAULT_DATE_TIME_PICKER_LABELS, DateTimePicker } from '../chunk-UB6MLXUL.js';
102
102
  export { DescriptionList, DescriptionListItem } from '../chunk-MFS6F2P7.js';
103
103
  export { DIFF_LIST_LABELS, DiffList } from '../chunk-LFHCXZO5.js';
104
104
  export { DIFF_SUMMARY_LABELS, DIFF_VIEW_LABELS, DiffSummary, DiffView, MAX_DIFF_LINES, collapseDiff, diffLines, diffStat, firstChangedLines, splitLines } from '../chunk-BVWSLXTY.js';
105
+ export { DOC_TABS_EDITOR_LABELS, DocTabsEditor } from '../chunk-SYBYFQTY.js';
105
106
  export { Divider } from '../chunk-6KWNXIDE.js';
106
107
  export { CONFLICT_NOTE_LABELS, ConflictNote } from '../chunk-UO7JZVCO.js';
107
108
  export { Container } from '../chunk-HJO4WCH6.js';
108
109
  export { CursorFlag } from '../chunk-3BYIWOTV.js';
109
110
  export { PresenceRing, presenceHueClass } from '../chunk-I6POAB4V.js';
110
111
  export { ChooserList, ColumnChooser, DataGrid, columnChoicesOf, fitGridColumns, parseGridSort } from '../chunk-XIDD7PJO.js';
111
- export { DATA_VIEW_TOOLBAR_LABELS, DataView, DataViewToolbar, FILTER_AXIS_LABELS, FilterAxisBar, FilterAxisChip, applyColumnFilters, applyFilters, blankFilterValue, defaultOperator, filterDefsFromColumns, filterHasValue, filterPredicate, formatFilterValue, operatorOf, tableColumns } from '../chunk-QRKT4XTT.js';
112
- export { PageHeader } from '../chunk-HOXGBLEY.js';
113
- export { DEFAULT_DATE_TIME_PICKER_LABELS, DateTimePicker } from '../chunk-UB6MLXUL.js';
114
112
  export { ALL_ITEMS, CopyableCell, DATA_TABLE_LABELS, DataTable, RowActionsMenu } from '../chunk-FXBGEANQ.js';
113
+ export { DATASET_SOURCE_KINDS, DatasetSource, DatasetSourceList } from '../chunk-HQJ24WPM.js';
114
+ export { Tag } from '../chunk-KYIAFNU7.js';
115
115
  export { ChoiceButtons } from '../chunk-BWOIUOO3.js';
116
116
  export { ChoiceList } from '../chunk-EAQLI2SO.js';
117
117
  export { CodeBlock } from '../chunk-SEC2GR2V.js';
@@ -196,7 +196,8 @@ export { DisclosureAnatomy } from '../chunk-FZVJDJFN.js';
196
196
  export { Count } from '../chunk-BHHIIK3M.js';
197
197
  export { HeadingLevelProvider, headingTag, nextHeadingLevel, useHeadingLevel } from '../chunk-PQADV6P6.js';
198
198
  export { Announcer, announce, useAnnouncer } from '../chunk-RSAQOKH3.js';
199
- export { AccountRow, AppShell, AppShellRail, AppShellRailRow, AppShellToggle, AppShellTopbar, useAppShell } from '../chunk-KKNHMXTE.js';
199
+ export { ArrangeBoard } from '../chunk-QO7QEQKV.js';
200
+ export { AccountRow, AppShell, AppShellRail, AppShellRailRow, AppShellToggle, AppShellTopbar, useAppShell } from '../chunk-GR4YM7HT.js';
200
201
  export { useMediaMatch } from '../chunk-RTPQDNW3.js';
201
202
  export { Menu } from '../chunk-D6FEHY5G.js';
202
203
  export { LAYER_GAP, LAYER_REPOSITION_EVENT, LayerHost, anchorGone, outsideBounds, placePopup, useLayerContainer, viewportBounds } from '../chunk-OMV5W53A.js';
@@ -206,5 +207,4 @@ export { Button, ButtonLink } from '../chunk-OG6CL3EB.js';
206
207
  export { IconButton } from '../chunk-4FQT6ZAY.js';
207
208
  export { FOCUS_MODALITY_ATTRIBUTE, FOCUS_RETURNED_ATTRIBUTE, returnFocus, trackFocusModality, useFocusModality } from '../chunk-NUZHC6MM.js';
208
209
  export { VisuallyHidden } from '../chunk-BZFWDIV6.js';
209
- export { ArrangeBoard } from '../chunk-QO7QEQKV.js';
210
210
  export { cx } from '../chunk-ODEQTPFM.js';
package/dist/index.js CHANGED
@@ -1,15 +1,15 @@
1
1
  import './chunk-S3QTFUJX.js';
2
- export { VersionTimeline } from './chunk-NQCY44B3.js';
3
- export { matchesShortcut, useShortcut } from './chunk-AYHIF6DH.js';
4
2
  export { WidgetFrame } from './chunk-DFK5EQTU.js';
3
+ export { Prose } from './chunk-JCSA3XVH.js';
5
4
  export { ElementToPngError, elementToPng, parseCsv, serializeElement, toCsv } from './chunk-FEJANUZK.js';
6
5
  export { ToastProvider, Toaster, useToast } from './chunk-AC22RZKC.js';
7
6
  export { TreeCanvas } from './chunk-5BUOMF6N.js';
8
7
  export { VERSION_COMPARE_LABELS, VERSION_COMPARE_LENSES, VersionCompare } from './chunk-JSWOXRRE.js';
8
+ export { VersionTimeline } from './chunk-NQCY44B3.js';
9
9
  export { ThemeGallery } from './chunk-E4BOVKNJ.js';
10
10
  export { ThemeSwatch } from './chunk-MNFU2RNT.js';
11
- export { DensitySwitcher, ThemeSwitcher } from './chunk-KWWP3D7M.js';
12
11
  export { ThemeToggle } from './chunk-NP2C4Y4E.js';
12
+ export { DensitySwitcher, ThemeSwitcher } from './chunk-KWWP3D7M.js';
13
13
  export { applyStoredPreferences, resolveTheme, useDensityPreference, useSystemTheme, useThemePreference } from './chunk-Z24ZUSTX.js';
14
14
  export { TileGrid } from './chunk-NNTO3TNC.js';
15
15
  export { DEFAULT_TIME_WINDOW_LABELS, TIME_WINDOW_SPANS, TimeWindowPicker, describeTimeWindow, isTimeWindowSet, parseTimeWindowDuration, resolveTimeWindow, timeWindowMatchesPreset } from './chunk-YPMGP2X4.js';
@@ -19,43 +19,43 @@ export { TABLE_TAGS_CELL_LABELS, TableDateCell, TableEntityCell, TableKeyCell, T
19
19
  export { TagsInput } from './chunk-BH52LIY6.js';
20
20
  export { SlideGrid } from './chunk-3V5T5K5H.js';
21
21
  export { SOURCE_EDITOR_KEYS, SourceEditor, lineStart } from './chunk-D3EJSLCL.js';
22
- export { StatGroup } from './chunk-OUD75UB2.js';
23
22
  export { StatCard } from './chunk-YPTTSJPM.js';
23
+ export { StatGroup } from './chunk-OUD75UB2.js';
24
24
  export { Stepper } from './chunk-5QWIJSQM.js';
25
- export { ARTIFACT_ROLES, SHAREABLE_ROLES, ShareDialog, roleAtLeast } from './chunk-KNHUBHFX.js';
26
25
  export { SHEET_COLUMN_EDITOR_LABELS, SheetColumnEditor, SheetColumnTypeGlyph } from './chunk-GFYQKMQZ.js';
27
- export { CellDisplay, CellEditor, CheckboxCell, DateCell, LongTextCell, MultiSelectCell, NumberCell, PersonCell, RatingCell, SelectCell, SheetCell, SheetGrid, StatusCell, TextCell, UrlCell } from './chunk-3PR65I3H.js';
26
+ export { CellDisplay, CellEditor, CheckboxCell, DateCell, LongTextCell, MultiSelectCell, NumberCell, PersonCell, RatingCell, SelectCell, SheetCell, SheetGrid, StatusCell, TextCell, UrlCell } from './chunk-DKNBGL26.js';
28
27
  export { TagGroup } from './chunk-O2EGEONV.js';
28
+ export { matchesShortcut, useShortcut } from './chunk-AYHIF6DH.js';
29
29
  export { SLIDE_COMPARE_LABELS, SlideCompare } from './chunk-7CGPPAYR.js';
30
30
  export { SlideFilmstrip } from './chunk-FBW3Q2OY.js';
31
- export { FRAME_HELLO_TIMEOUT_MS, FRAME_LOAD_GRACE_MS, SandboxedFrame, SandboxedFrameNotice, SandboxedFramePlaceholder } from './chunk-356JNSER.js';
32
31
  export { SearchTrigger } from './chunk-6DRDCT22.js';
33
32
  export { SectionFrame, SectionFrameBody, SectionFrameNav } from './chunk-INVSUFJK.js';
34
33
  export { NavGroup, NavItem, SidebarNav } from './chunk-E7QLG3PG.js';
35
34
  export { SegmentedMeter, segmentedMeterLabel } from './chunk-4AK52VHB.js';
36
- export { Select } from './chunk-XQZ6EWOE.js';
37
35
  export { SettingsTable, SettingsTableRow } from './chunk-4RKTZSEW.js';
38
- export { Prose } from './chunk-JCSA3XVH.js';
36
+ export { ARTIFACT_ROLES, SHAREABLE_ROLES, ShareDialog, roleAtLeast } from './chunk-KNHUBHFX.js';
37
+ export { Select } from './chunk-XQZ6EWOE.js';
39
38
  export { QR_DARK, QR_LIGHT, QR_QUIET_ZONE, QrCode, qrModulePath, qrModules } from './chunk-Y56FM3K4.js';
40
39
  export { ReadingPane, ReadingPaneByline, ReadingPaneLead, ReadingPaneOutcome, ReadingPaneQuote, ReadingPaneReasoning, ReadingPaneSection, ReadingPaneTitle } from './chunk-ZAJHGDAW.js';
41
40
  export { RelatedRow } from './chunk-ZUTUI27P.js';
42
41
  export { Text } from './chunk-IKBK4A5O.js';
43
- export { RichEditor, preloadRichEditor } from './chunk-PFZOFAQ6.js';
44
- export { RICH_EDITOR_LABELS, richEditorLabels } from './chunk-CSQTDGTS.js';
45
42
  export { canonicalMarkdown, roundTripMarkdown } from './chunk-SWD4QBL6.js';
46
43
  import './chunk-QH6VYJ3X.js';
47
- export { PresenceStack } from './chunk-3LYWD3BO.js';
44
+ export { RichEditor, preloadRichEditor } from './chunk-X3UYTAOG.js';
45
+ export { RICH_EDITOR_LABELS, richEditorLabels } from './chunk-CSQTDGTS.js';
46
+ export { FRAME_HELLO_TIMEOUT_MS, FRAME_LOAD_GRACE_MS, SandboxedFrame, SandboxedFrameNotice, SandboxedFramePlaceholder } from './chunk-356JNSER.js';
48
47
  export { PresenterView, formatStopwatch } from './chunk-UXYEOWG5.js';
49
48
  export { SLIDE_NAV_LABELS, SlideNav } from './chunk-6VOS2GMB.js';
50
49
  export { SLIDE_HEIGHT, SLIDE_WIDTH, SlideStage, useSlideKeys } from './chunk-RMEBFYL7.js';
50
+ export { PresenceStack } from './chunk-3LYWD3BO.js';
51
51
  export { PricingCard } from './chunk-U3ILLCR2.js';
52
52
  export { PrincipalPicker } from './chunk-D2OL3ZSS.js';
53
53
  export { PropertyList } from './chunk-T6MXORP5.js';
54
54
  export { OrgNodeDisclosure, OrgNodeLabel, OrgNodeLead } from './chunk-YA3AWELW.js';
55
+ export { Outline, scrollToHeading, useActiveHeading } from './chunk-A5YKNRG6.js';
55
56
  export { OrgTable, OrgTableActions, OrgTableAdd, OrgTableName } from './chunk-CFGGE3HO.js';
56
57
  export { TreeGrid } from './chunk-3KYVFG47.js';
57
58
  export { SIZE_EPSILON, TYPE_AHEAD_RESET_MS, createTreeModel, isTypeAheadKey, layoutConnectors, layoutForest, placeGroups, treeAllExpandable, treeAncestors, treeCollapseOrAscend, treeExpandOrDescend, treeExpandTo, treeExpandable, treeFirst, treeFirstChild, treeItemAction, treeLast, treeLevel, treeNext, treeParent, treePosInSet, treePrevious, treeSetSize, treeStep, treeTypeAhead, treeVisible, typeAheadBuffer, useLayoutAnchor, useMeasuredSizes, useTreeState } from './chunk-MY374UUD.js';
58
- export { Outline, scrollToHeading, useActiveHeading } from './chunk-A5YKNRG6.js';
59
59
  export { PageNote } from './chunk-CV4NES3P.js';
60
60
  export { PEOPLE_RAIL_LABELS, PeopleRail, peopleRailKey } from './chunk-GPWJCP3U.js';
61
61
  import './chunk-CENOOTAV.js';
@@ -63,19 +63,19 @@ export { PinTile } from './chunk-6MIXD6IW.js';
63
63
  export { MERGE_CONFLICTS_LABELS, MergeConflicts } from './chunk-2PEXZ7L4.js';
64
64
  export { DEFAULT_METER_THRESHOLDS, METER_STATES, Meter, meterState, meterStateTone, meterTone, progressTone } from './chunk-UGNUUVRI.js';
65
65
  export { NewItemsNotice } from './chunk-PXU6HOZB.js';
66
- export { FactLine, ObjectHeader, SetByLine } from './chunk-ODOJJGXH.js';
67
66
  export { OrgLabel } from './chunk-ONQKKHON.js';
68
- export { ListInput } from './chunk-WYYCPV46.js';
67
+ export { FactLine, ObjectHeader, SetByLine } from './chunk-ODOJJGXH.js';
68
+ export { List, ListItem } from './chunk-NZWX27J7.js';
69
69
  export { LIVE_CURSOR_HIDE_MS, LIVE_CURSOR_REST_MS, LiveCursor } from './chunk-5XACKNYR.js';
70
70
  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';
71
71
  export { LockedLabel } from './chunk-OHGH7O6T.js';
72
72
  export { MARKDOWN_CALLOUT_NAMES, MARKDOWN_CALLOUT_TONES, markdownBreaks, markdownClosesFence, markdownCodeText, markdownFenceOf, markdownHeadingOf, markdownInline, markdownLines, parseMarkdown, parseMarkdownSpans, safeHref } from './chunk-BAKPMH3S.js';
73
73
  export { MARKDOWN_FORMATS, MarkdownEditor, formatMarkdown, insertMarkdown, markdownWords } from './chunk-EX22Q5SH.js';
74
- export { LAYERS_LIST_LABELS, LayersList } from './chunk-M6NQ4XGK.js';
75
74
  export { AutoGrid, Inline, Spacer, Stack } from './chunk-ZAC7SKUN.js';
76
75
  export { Link } from './chunk-FBSEJO2C.js';
77
76
  export { LinkInterstitial, openExternal } from './chunk-N3TFYBN3.js';
78
- export { List, ListItem } from './chunk-NZWX27J7.js';
77
+ export { LAYERS_LIST_LABELS, LayersList } from './chunk-M6NQ4XGK.js';
78
+ export { ListInput } from './chunk-WYYCPV46.js';
79
79
  import './chunk-MICRGE3J.js';
80
80
  import './chunk-FFMCMSJB.js';
81
81
  export { IconTile } from './chunk-IXJHTFXG.js';
@@ -90,28 +90,28 @@ export { DEFAULT_FRAME_THEME, EXTERNAL_URL_MAX, FRAME_BRIDGE, FRAME_MESSAGE, FRA
90
90
  export { DENSITY_PREFERENCES, PALETTE_ID, THEME_PREFERENCES, applyDensity, applyPalette, applyTheme, isDensityPreference, isPaletteId, isThemePreference } from './chunk-ZXXDZJQN.js';
91
91
  export { IDLE_AFTER_MS, useFullscreen, useIdle } from './chunk-W5XCNEZC.js';
92
92
  export { Highlight, highlightRanges, highlightTerms } from './chunk-H6VKCIWV.js';
93
- export { DOC_TABS_EDITOR_LABELS, DocTabsEditor } from './chunk-SYBYFQTY.js';
94
93
  export { DownloadButton } from './chunk-BEHFTRMZ.js';
95
94
  export { downloadBlob, downloadText, safeFilename, useDownload } from './chunk-IW55G7XG.js';
96
95
  export { EditingStatus } from './chunk-TC7DJTXI.js';
97
96
  export { EntityChip } from './chunk-OSKJZNBT.js';
98
97
  export { ErrorBoundary } from './chunk-XX2VQE55.js';
99
98
  export { Eyebrow } from './chunk-RK4XPHVG.js';
100
- export { DATASET_SOURCE_KINDS, DatasetSource, DatasetSourceList } from './chunk-HQJ24WPM.js';
101
- export { Tag } from './chunk-KYIAFNU7.js';
99
+ export { DATA_VIEW_TOOLBAR_LABELS, DataView, DataViewToolbar, FILTER_AXIS_LABELS, FilterAxisBar, FilterAxisChip, applyColumnFilters, applyFilters, blankFilterValue, defaultOperator, filterDefsFromColumns, filterHasValue, filterPredicate, formatFilterValue, operatorOf, tableColumns } from './chunk-QRKT4XTT.js';
100
+ export { PageHeader } from './chunk-HOXGBLEY.js';
101
+ export { DEFAULT_DATE_TIME_PICKER_LABELS, DateTimePicker } from './chunk-UB6MLXUL.js';
102
102
  export { DescriptionList, DescriptionListItem } from './chunk-MFS6F2P7.js';
103
103
  export { DIFF_LIST_LABELS, DiffList } from './chunk-LFHCXZO5.js';
104
104
  export { DIFF_SUMMARY_LABELS, DIFF_VIEW_LABELS, DiffSummary, DiffView, MAX_DIFF_LINES, collapseDiff, diffLines, diffStat, firstChangedLines, splitLines } from './chunk-BVWSLXTY.js';
105
+ export { DOC_TABS_EDITOR_LABELS, DocTabsEditor } from './chunk-SYBYFQTY.js';
105
106
  export { Divider } from './chunk-6KWNXIDE.js';
106
107
  export { CONFLICT_NOTE_LABELS, ConflictNote } from './chunk-UO7JZVCO.js';
107
108
  export { Container } from './chunk-HJO4WCH6.js';
108
109
  export { CursorFlag } from './chunk-3BYIWOTV.js';
109
110
  export { PresenceRing, presenceHueClass } from './chunk-I6POAB4V.js';
110
111
  export { ChooserList, ColumnChooser, DataGrid, columnChoicesOf, fitGridColumns, parseGridSort } from './chunk-XIDD7PJO.js';
111
- export { DATA_VIEW_TOOLBAR_LABELS, DataView, DataViewToolbar, FILTER_AXIS_LABELS, FilterAxisBar, FilterAxisChip, applyColumnFilters, applyFilters, blankFilterValue, defaultOperator, filterDefsFromColumns, filterHasValue, filterPredicate, formatFilterValue, operatorOf, tableColumns } from './chunk-QRKT4XTT.js';
112
- export { PageHeader } from './chunk-HOXGBLEY.js';
113
- export { DEFAULT_DATE_TIME_PICKER_LABELS, DateTimePicker } from './chunk-UB6MLXUL.js';
114
112
  export { ALL_ITEMS, CopyableCell, DATA_TABLE_LABELS, DataTable, RowActionsMenu } from './chunk-FXBGEANQ.js';
113
+ export { DATASET_SOURCE_KINDS, DatasetSource, DatasetSourceList } from './chunk-HQJ24WPM.js';
114
+ export { Tag } from './chunk-KYIAFNU7.js';
115
115
  export { ChoiceButtons } from './chunk-BWOIUOO3.js';
116
116
  export { ChoiceList } from './chunk-EAQLI2SO.js';
117
117
  export { CodeBlock } from './chunk-SEC2GR2V.js';
@@ -196,7 +196,8 @@ export { DisclosureAnatomy } from './chunk-FZVJDJFN.js';
196
196
  export { Count } from './chunk-BHHIIK3M.js';
197
197
  export { HeadingLevelProvider, headingTag, nextHeadingLevel, useHeadingLevel } from './chunk-PQADV6P6.js';
198
198
  export { Announcer, announce, useAnnouncer } from './chunk-RSAQOKH3.js';
199
- export { AccountRow, AppShell, AppShellRail, AppShellRailRow, AppShellToggle, AppShellTopbar, useAppShell } from './chunk-KKNHMXTE.js';
199
+ export { ArrangeBoard } from './chunk-QO7QEQKV.js';
200
+ export { AccountRow, AppShell, AppShellRail, AppShellRailRow, AppShellToggle, AppShellTopbar, useAppShell } from './chunk-GR4YM7HT.js';
200
201
  export { useMediaMatch } from './chunk-RTPQDNW3.js';
201
202
  export { Menu } from './chunk-D6FEHY5G.js';
202
203
  export { LAYER_GAP, LAYER_REPOSITION_EVENT, LayerHost, anchorGone, outsideBounds, placePopup, useLayerContainer, viewportBounds } from './chunk-OMV5W53A.js';
@@ -206,5 +207,4 @@ export { Button, ButtonLink } from './chunk-OG6CL3EB.js';
206
207
  export { IconButton } from './chunk-4FQT6ZAY.js';
207
208
  export { FOCUS_MODALITY_ATTRIBUTE, FOCUS_RETURNED_ATTRIBUTE, returnFocus, trackFocusModality, useFocusModality } from './chunk-NUZHC6MM.js';
208
209
  export { VisuallyHidden } from './chunk-BZFWDIV6.js';
209
- export { ArrangeBoard } from './chunk-QO7QEQKV.js';
210
210
  export { cx } from './chunk-ODEQTPFM.js';
package/dist/styles.css CHANGED
@@ -702,7 +702,7 @@
702
702
  }
703
703
 
704
704
 
705
- /* AppShell-NPSWZ3XW.css */
705
+ /* AppShell-VE2MAV42.css */
706
706
  /*
707
707
  * The application frame: a rail on the FRAME, and the screen on a SHEET that
708
708
  * floats beside it.
@@ -876,14 +876,22 @@
876
876
  }
877
877
 
878
878
  /* The same gutter the nav takes, so what the foot says lines up with the rows
879
- above it rather than sitting further out. */
879
+ above it rather than sitting further out.
880
+
881
+ THE FOOT IS THE COMPACT STEP. It holds what a reader reaches for rarely (a
882
+ settings link, the engine's state, who they are), so its rows stand on the
883
+ small control step (`--crewlet-rail-foot-row`, 26px, never under the 24px
884
+ target) on a half-step gap and a one-step inset, where the nav above keeps
885
+ its 30px rows. Only heights change: every row keeps its order, columns,
886
+ glyphs and words. */
880
887
  .crewlet-app-shell__rail-foot {
881
- --crewlet-rail-foot-gap: var(--spacing-1);
888
+ --crewlet-rail-foot-gap: calc(var(--spacing-1) / 2);
889
+ --crewlet-rail-foot-row: var(--size-control-sm);
882
890
  flex: none;
883
891
  display: flex;
884
892
  flex-direction: column;
885
893
  gap: var(--crewlet-rail-foot-gap);
886
- padding: var(--spacing-2) var(--size-nav-gutter);
894
+ padding: var(--spacing-1) var(--size-nav-gutter);
887
895
  border-top: 1px solid var(--color-border-default);
888
896
  }
889
897
 
@@ -984,6 +992,14 @@
984
992
  min-width: 14px;
985
993
  }
986
994
 
995
+ /* The foot's own step (see `.crewlet-app-shell__rail-foot`), for its rows and
996
+ for a navigation dropped into it, whose rows keep the rail's columns. */
997
+ .crewlet-app-shell__rail-foot > .crewlet-app-shell__rail-row--action:not(.crewlet-app-shell__rail-row--block),
998
+ .crewlet-app-shell__rail-foot > .crewlet-btn,
999
+ .crewlet-app-shell__rail-foot .crewlet-nav-item__row {
1000
+ min-height: var(--crewlet-rail-foot-row);
1001
+ }
1002
+
987
1003
  /*
988
1004
  * OPEN IS POINTED AT. The row a panel is open from keeps the hover's lift for
989
1005
  * as long as the panel is open, drawn from `aria-expanded` so the picture and
@@ -1436,9 +1452,16 @@
1436
1452
  * whatever size of badge a caller hands the row, it is centred where a glyph
1437
1453
  * is, and the row takes the nav row's pad and its glyph-to-word gap.
1438
1454
  */
1455
+ .crewlet-app-shell__rail-foot .crewlet-account-row {
1456
+ --crewlet-account-row-pad: var(--spacing-0);
1457
+ }
1458
+
1439
1459
  .crewlet-app-shell__rail-foot .crewlet-account-row__who {
1440
1460
  --crewlet-hit-area-block-start: calc(var(--crewlet-rail-foot-gap) / 2 + var(--crewlet-account-row-pad));
1441
1461
  gap: calc(var(--spacing-2) + var(--spacing-1) / 2);
1462
+ /* On the foot's compact step: the two lines of name and detail with half a
1463
+ step above and below them, which still clears the avatar. */
1464
+ padding-block: calc(var(--spacing-1) / 2);
1442
1465
  padding-inline-start: var(--size-nav-row-pad);
1443
1466
  }
1444
1467
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@crewlethq/ui",
3
- "version": "0.40.0",
3
+ "version": "0.40.1",
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.40.0",
46
- "@crewlethq/tokens": "0.40.0",
45
+ "@crewlethq/icons": "0.40.1",
46
+ "@crewlethq/tokens": "0.40.1",
47
47
  "prosemirror-commands": "1.7.2",
48
48
  "prosemirror-gapcursor": "1.4.1",
49
49
  "prosemirror-history": "1.5.1",
@@ -1,5 +1,5 @@
1
- import { richEditorLabels } from './chunk-CSQTDGTS.js';
2
1
  import { schema, readMarkdown, writeMarkdown } from './chunk-QH6VYJ3X.js';
2
+ import { richEditorLabels } from './chunk-CSQTDGTS.js';
3
3
  import { safeHref, MARKDOWN_CALLOUT_TONES } from './chunk-BAKPMH3S.js';
4
4
  import { Toolbar } from './chunk-NR4CPM4T.js';
5
5
  import { FormField, Input } from './chunk-TYONQSOK.js';
@@ -1,7 +1,7 @@
1
1
  import { TagGroup } from './chunk-O2EGEONV.js';
2
- import { Tag } from './chunk-KYIAFNU7.js';
3
2
  import { CursorFlag } from './chunk-3BYIWOTV.js';
4
3
  import { presenceHueClass } from './chunk-I6POAB4V.js';
4
+ import { Tag } from './chunk-KYIAFNU7.js';
5
5
  import { ChangeMark } from './chunk-66X5WDKE.js';
6
6
  import { isEmptyValue, displayText, ratingMax, findPerson, findOption, statusTone, editText, textMax, sheetLabels, normalizeValue, sameValue, spokenText, drawnColumns, fitSamples, fittedWidth, columnWidth, SHEET_COLUMN_BOUNDS, sortRows, SHEET_ROW_HEIGHT, cellKey, columnOffsets, SHEET_ROW_NUMBER_WIDTH, rangeOf, presenceByCell, presenceByRow, presenceByColumn, scrollToRow, planClear, visibleRows, cellDescription, nextSort, rowName, inRange, hasPrevious, flagText, toTSV, planPaste, parseTSV, isMod, moveFrom, isTypingKey, editorSide, optionHue, parseText, liveOptions, checkValue } from './chunk-LFSIKGRQ.js';
7
7
  import { presenceLabels } from './chunk-Z7JYG5TF.js';