@crewlethq/ui 0.96.0 → 0.97.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
@@ -170,8 +170,11 @@ drawn as a ligature, anything loaded from a host, a theme painted on a body
170
170
  class, the decoration step used as text, and a focus rule that turns the
171
171
  outline off without putting one back. A second, literal check refuses a colour,
172
172
  font size, radius, duration or z-index spelled out where a token belongs, a
173
- `color-mix()`, a media query off the breakpoint steps and a hover overlay drawn
174
- on a pseudo element. `npm run lint` in this package runs both over every
173
+ `color-mix()`, a media query off the breakpoint steps, a hover overlay drawn
174
+ on a pseudo element, and a `scrollbar-width` or `scrollbar-color` set outside
175
+ `@supports not selector(::-webkit-scrollbar)`, where Chromium would ignore the
176
+ slim bar `@crewlethq/tokens/css/base` draws and paint its native one (`none`
177
+ and `auto` pass). `npm run lint` in this package runs both over every
175
178
  stylesheet in `src`, and `npx crewlet-css-check <folder>` runs both over an
176
179
  application's own stylesheets.
177
180
 
@@ -1,4 +1,4 @@
1
- export { APP_SHELL_ASIDE_WIDTH, AccountRow, AppShell, AppShellRail, AppShellRailRow, AppShellRailStatus, AppShellToggle, AppShellTopbar, readStoredWidth, useAppShell, useScreenBelow, useScreenWidth, useStoredWidth } from '../chunk-ORONAXSF.js';
1
+ export { APP_SHELL_ASIDE_WIDTH, AccountRow, AppShell, AppShellRail, AppShellRailRow, AppShellRailStatus, AppShellToggle, AppShellTopbar, readStoredWidth, useAppShell, useScreenBelow, useScreenWidth, useStoredWidth } from '../chunk-CWJLDCB7.js';
2
2
  import '../chunk-PCAT2EFB.js';
3
3
  import '../chunk-JLOESTT2.js';
4
4
  import '../chunk-YJQXESOJ.js';
@@ -208,7 +208,18 @@
208
208
  flex: 1 1 auto;
209
209
  min-height: 0;
210
210
  overflow-y: auto;
211
- scrollbar-color: var(--color-scrollbar) transparent;
211
+ }
212
+
213
+ /* The rail's bar, only where `::-webkit-scrollbar` is not read: set where it
214
+ is, Chromium would draw its native bar instead of the base sheet's slim one. */
215
+ @supports not selector(::-webkit-scrollbar) {
216
+ .crewlet-app-shell__rail-body {
217
+ scrollbar-color: var(--color-scrollbar) transparent;
218
+ }
219
+
220
+ .crewlet-app-shell[data-rail='compact'] .crewlet-app-shell__rail-body {
221
+ scrollbar-width: thin;
222
+ }
212
223
  }
213
224
 
214
225
  /*
@@ -1033,7 +1044,6 @@
1033
1044
 
1034
1045
  .crewlet-app-shell[data-rail='compact'] .crewlet-app-shell__rail-body {
1035
1046
  padding: var(--spacing-1) 0;
1036
- scrollbar-width: thin;
1037
1047
  }
1038
1048
 
1039
1049
  /*
@@ -47,6 +47,8 @@ export interface ListProps extends HTMLAttributes<HTMLElement> {
47
47
  * Unset, the words take the row's width, as a feed's do.
48
48
  */
49
49
  measure?: 'normal' | 'wide' | undefined;
50
+ /** Where `bulleted` or `numbered` markers stand: in a gutter (`indented`, the default) or in the margin before the list. */
51
+ markers?: 'indented' | 'hanging' | undefined;
50
52
  }
51
53
  /**
52
54
  * The non-tabular list: an activity feed, a set of search results, a
@@ -58,7 +60,7 @@ export interface ListProps extends HTMLAttributes<HTMLElement> {
58
60
  * means nothing. What a feed does want is alignment, which `template` gives it
59
61
  * without the promise.
60
62
  */
61
- export declare function List({ variant, template, density, measure, className, style, children, ...rest }: ListProps): import("react").JSX.Element;
63
+ export declare function List({ variant, template, density, measure, markers, className, style, children, ...rest }: ListProps): import("react").JSX.Element;
62
64
  export declare namespace List {
63
65
  var Item: typeof ListItem;
64
66
  }
@@ -1,3 +1,3 @@
1
- export { List, ListItem } from '../chunk-A7UOYLK3.js';
1
+ export { List, ListItem } from '../chunk-F2ZSFDJZ.js';
2
2
  import '../chunk-UT6CW3C7.js';
3
3
  import '../chunk-ODEQTPFM.js';
@@ -127,6 +127,13 @@
127
127
  display: list-item;
128
128
  }
129
129
 
130
+ /* HANGING MARKERS stand in the margin before the list, so its words line up
131
+ with the text above rather than one gutter inside it. */
132
+ .crewlet-list--hanging.crewlet-list--bulleted,
133
+ .crewlet-list--hanging.crewlet-list--numbered {
134
+ padding-inline-start: 0;
135
+ }
136
+
130
137
  .crewlet-list--bulleted .crewlet-list__row,
131
138
  .crewlet-list--numbered .crewlet-list__row {
132
139
  min-height: 0;
@@ -1,14 +1,14 @@
1
- export { OrgTable, OrgTableActions, OrgTableAdd, OrgTableName } from '../chunk-I46ZTLDW.js';
1
+ export { OrgTable, OrgTableActions, OrgTableAdd, OrgTableName } from '../chunk-DWQYV5AV.js';
2
2
  import '../chunk-ZDWAIVWL.js';
3
3
  import '../chunk-MY374UUD.js';
4
4
  import '../chunk-5YXMKZUA.js';
5
5
  import '../chunk-LM3ISVJA.js';
6
6
  import '../chunk-YTLWOHOY.js';
7
7
  import '../chunk-XZY6S3UC.js';
8
+ import '../chunk-CVKANYHD.js';
8
9
  import '../chunk-OMV5W53A.js';
9
10
  import '../chunk-TUEM2XIW.js';
10
11
  import '../chunk-4ITETIGZ.js';
11
12
  import '../chunk-UAUP6XGK.js';
12
- import '../chunk-CVKANYHD.js';
13
13
  import '../chunk-UT6CW3C7.js';
14
14
  import '../chunk-ODEQTPFM.js';
@@ -1,4 +1,4 @@
1
- export { RichEditor, preloadRichEditor } from '../chunk-LWYGCXRL.js';
1
+ export { RichEditor, preloadRichEditor } from '../chunk-3P7XS5VT.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,4 +1,4 @@
1
- export { RoomRow } from '../chunk-Z34W5TM6.js';
2
- import '../chunk-A7UOYLK3.js';
1
+ export { RoomRow } from '../chunk-PQDQ64KY.js';
2
+ import '../chunk-F2ZSFDJZ.js';
3
3
  import '../chunk-UT6CW3C7.js';
4
4
  import '../chunk-ODEQTPFM.js';
@@ -1,4 +1,4 @@
1
- export { Switcher } from '../chunk-ET4I3IEA.js';
1
+ export { Switcher } from '../chunk-O3II3KJY.js';
2
2
  import '../chunk-ZXXZESCD.js';
3
3
  import '../chunk-YGRTX67J.js';
4
4
  import '../chunk-HBDA76EZ.js';
@@ -202,7 +202,14 @@ svg.crewlet-switcher-trigger__chevron {
202
202
  overflow-y: auto;
203
203
  overscroll-behavior: contain;
204
204
  padding: var(--spacing-1);
205
- scrollbar-width: thin;
205
+ }
206
+
207
+ /* Thin only where `::-webkit-scrollbar` is not read: set where it is, Chromium
208
+ would draw its native bar instead of the base sheet's slim one. */
209
+ @supports not selector(::-webkit-scrollbar) {
210
+ .crewlet-switcher__scroller {
211
+ scrollbar-width: thin;
212
+ }
206
213
  }
207
214
 
208
215
  .crewlet-switcher__list {
@@ -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-G3VEDILS.js').then(
12
+ loading ??= import('./Editor-63L5QQDN.js').then(
13
13
  (module) => {
14
14
  engine = module.Editor;
15
15
  return engine;
@@ -12,7 +12,7 @@ import { IconButton } from './chunk-UAUP6XGK.js';
12
12
  import { VisuallyHidden } from './chunk-UT6CW3C7.js';
13
13
  import { cx } from './chunk-ODEQTPFM.js';
14
14
  import './HitArea-QUOS6ZDJ.css';
15
- import './AppShell-NX5HCD4O.css';
15
+ import './AppShell-24IM2GC3.css';
16
16
  import './ResizeHandle-2UNSZ4ZQ.css';
17
17
  import { createContext, forwardRef, useContext, useSyncExternalStore, useCallback, useId, useState, useRef, useEffect, useLayoutEffect } from 'react';
18
18
  import { breakpoint } from '@crewlethq/tokens';
@@ -1,6 +1,6 @@
1
1
  import { VisuallyHidden } from './chunk-UT6CW3C7.js';
2
2
  import { cx } from './chunk-ODEQTPFM.js';
3
- import './List-ZZF6ZHRT.css';
3
+ import './List-BNA4XGMH.css';
4
4
  import { createContext, useContext, Children, isValidElement, cloneElement } from 'react';
5
5
  import { CircleAlertGlyph } from '@crewlethq/icons/glyphs';
6
6
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
@@ -11,6 +11,7 @@ function List({
11
11
  template,
12
12
  density = "comfortable",
13
13
  measure,
14
+ markers = "indented",
14
15
  className,
15
16
  style,
16
17
  children,
@@ -28,6 +29,7 @@ function List({
28
29
  templated && "crewlet-list--templated",
29
30
  density === "compact" && "crewlet-list--compact",
30
31
  measure && `crewlet-list--measure-${measure}`,
32
+ markers === "hanging" && "crewlet-list--hanging",
31
33
  className
32
34
  ),
33
35
  style: templated ? { ...style, "--crewlet-list-template": template } : style,
@@ -10,7 +10,7 @@ import { returnFocus } from './chunk-4ITETIGZ.js';
10
10
  import { announce } from './chunk-2G355KDJ.js';
11
11
  import { VisuallyHidden } from './chunk-UT6CW3C7.js';
12
12
  import { cx } from './chunk-ODEQTPFM.js';
13
- import './Switcher-VWQMZUTN.css';
13
+ import './Switcher-ZGRTTVCS.css';
14
14
  import { forwardRef, useId, useRef, useCallback, useMemo, useEffect } from 'react';
15
15
  import { ChevronDownGlyph, SearchGlyph } from '@crewlethq/icons/glyphs';
16
16
  import { breakpoint } from '@crewlethq/tokens';
@@ -1,4 +1,4 @@
1
- import { ListItem } from './chunk-A7UOYLK3.js';
1
+ import { ListItem } from './chunk-F2ZSFDJZ.js';
2
2
  import { cx } from './chunk-ODEQTPFM.js';
3
3
  import './ChatScale-L4SIHSKL.css';
4
4
  import './RoomRow-3OTEY6GK.css';
@@ -17,7 +17,7 @@ export { ThemeGallery } from '../chunk-4TAMRAUQ.js';
17
17
  export { ThemeSwatch } from '../chunk-3XQUEF5C.js';
18
18
  export { DensitySwitcher, ThemeSwitcher } from '../chunk-FRERGOW3.js';
19
19
  export { applyStoredPreferences, resolveTheme, useDensityPreference, useSystemTheme, useThemePreference } from '../chunk-Z24ZUSTX.js';
20
- export { Switcher } from '../chunk-ET4I3IEA.js';
20
+ export { Switcher } from '../chunk-O3II3KJY.js';
21
21
  export { TABLE_TAGS_CELL_LABELS, TableDateCell, TableEntityCell, TableKeyCell, TableNumberCell, TableStatusCell, TableTagsCell, TableTextCell, TableTwoLineCell } from '../chunk-QW4LAFTX.js';
22
22
  export { SlideGrid } from '../chunk-6M2N6ETA.js';
23
23
  export { SOURCE_EDITOR_KEYS, SourceEditor, lineStart } from '../chunk-PW57R4BN.js';
@@ -33,13 +33,13 @@ export { SlideFilmstrip } from '../chunk-RO5JU6SN.js';
33
33
  export { SegmentedMeter, segmentedMeterLabel } from '../chunk-4AK52VHB.js';
34
34
  export { SelectionBar } from '../chunk-XA2QKGBJ.js';
35
35
  export { SEND_BUTTON_LABELS, SendButton } from '../chunk-T2GC7UAP.js';
36
- export { SettingsTable, SettingsTableRow } from '../chunk-SOYPCCSJ.js';
37
36
  export { SetupWizard } from '../chunk-IX6CHGM4.js';
37
+ export { SettingsTable, SettingsTableRow } from '../chunk-SOYPCCSJ.js';
38
38
  export { ARTIFACT_ROLES, SHAREABLE_ROLES, ShareDialog, roleAtLeast } from '../chunk-Y7PPKQFQ.js';
39
39
  export { SHEET_COLUMN_EDITOR_LABELS, SheetColumnEditor, SheetColumnTypeGlyph } from '../chunk-WJZTI2WC.js';
40
- export { RichEditor, preloadRichEditor } from '../chunk-LWYGCXRL.js';
41
- export { RICH_EDITOR_LABELS, richEditorLabels } from '../chunk-2DMTW2Y3.js';
42
- export { RoomRow } from '../chunk-Z34W5TM6.js';
40
+ export { canonicalMarkdown, roundTripMarkdown } from '../chunk-GBASM5EV.js';
41
+ import '../chunk-7CSTEH5I.js';
42
+ export { RoomRow } from '../chunk-PQDQ64KY.js';
43
43
  export { RUN_STATES, RunChip } from '../chunk-MYFSVZKZ.js';
44
44
  export { FRAME_HELLO_TIMEOUT_MS, FRAME_LOAD_GRACE_MS, SandboxedFrame, SandboxedFrameNotice, SandboxedFramePlaceholder } from '../chunk-V6WDJUYK.js';
45
45
  export { SearchTrigger } from '../chunk-ERNT3UTB.js';
@@ -50,8 +50,8 @@ export { RelatedRow } from '../chunk-CL3FWLDO.js';
50
50
  export { RESULT_TABLE_CARD_LABELS, RESULT_TABLE_COLLAPSED_ROWS, RESULT_TABLE_MAX_ROWS, ResultTableCard } from '../chunk-BMBQ6UMD.js';
51
51
  export { Table } from '../chunk-75NQV4R4.js';
52
52
  export { ReviewList } from '../chunk-AGVGX52B.js';
53
- export { canonicalMarkdown, roundTripMarkdown } from '../chunk-GBASM5EV.js';
54
- import '../chunk-7CSTEH5I.js';
53
+ export { RichEditor, preloadRichEditor } from '../chunk-3P7XS5VT.js';
54
+ export { RICH_EDITOR_LABELS, richEditorLabels } from '../chunk-2DMTW2Y3.js';
55
55
  export { PropertyList } from '../chunk-OPVTNHPH.js';
56
56
  export { PROPOSAL_CARD_LABELS, PROPOSAL_FAILURE_OUTCOMES, PROPOSAL_STATES, PROPOSAL_TONES, ProposalCard } from '../chunk-TXOTL7AA.js';
57
57
  export { Prose } from '../chunk-DVVP27OD.js';
@@ -63,26 +63,25 @@ export { Text } from '../chunk-O5CEG7TQ.js';
63
63
  export { AddReaction, REACTION_BAR_LABELS, ReactionBar, reactionWho } from '../chunk-B3BJ66GQ.js';
64
64
  export { READING_PANE_ENTER, ReadingPane, ReadingPaneByline, ReadingPaneLead, ReadingPaneOutcome, ReadingPaneQuote, ReadingPaneReasoning, ReadingPaneSection, ReadingPaneTitle } from '../chunk-64JNKLLP.js';
65
65
  export { PresenceStack } from '../chunk-F7HZYTZT.js';
66
- export { PricingCard } from '../chunk-O2XAJDK6.js';
67
66
  export { PresenterView, formatStopwatch } from '../chunk-LMEMH6DO.js';
68
67
  export { SLIDE_NAV_LABELS, SlideNav } from '../chunk-5AJR6X75.js';
69
68
  export { SLIDE_HEIGHT, SLIDE_WIDTH, SlideStage, useSlideKeys } from '../chunk-O6EV6GKI.js';
69
+ export { PricingCard } from '../chunk-O2XAJDK6.js';
70
70
  export { PrincipalPicker } from '../chunk-4RLUVHYP.js';
71
- export { MessageBubble } from '../chunk-KAQ2L74F.js';
72
- export { PageNote } from '../chunk-CV4NES3P.js';
71
+ export { Outline, scrollToHeading, useActiveHeading } from '../chunk-7QCSISHM.js';
73
72
  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';
73
+ export { PageNote } from '../chunk-CV4NES3P.js';
74
74
  export { PEOPLE_RAIL_LABELS, PeopleRail, peopleRailKey } from '../chunk-QGEDXYLB.js';
75
75
  import '../chunk-CENOOTAV.js';
76
76
  export { PinTile } from '../chunk-LJ3KWQLP.js';
77
77
  export { NewItemsNotice } from '../chunk-463DNZXI.js';
78
78
  export { FactLine, ObjectHeader, SetByLine } from '../chunk-AXEXOAZQ.js';
79
79
  export { OPEN_IN_APP_CARD_LABELS, OpenInAppCard } from '../chunk-HZBXC3YD.js';
80
- export { OrgNodeDisclosure, OrgNodeLabel, OrgNodeLead } from '../chunk-NKBKHOMU.js';
81
- export { OrgTable, OrgTableActions, OrgTableAdd, OrgTableName } from '../chunk-I46ZTLDW.js';
80
+ export { OrgTable, OrgTableActions, OrgTableAdd, OrgTableName } from '../chunk-DWQYV5AV.js';
82
81
  export { TreeGrid } from '../chunk-ZDWAIVWL.js';
83
82
  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';
83
+ export { OrgNodeDisclosure, OrgNodeLabel, OrgNodeLead } from '../chunk-NKBKHOMU.js';
84
84
  export { OrgLabel } from '../chunk-5YXMKZUA.js';
85
- export { Outline, scrollToHeading, useActiveHeading } from '../chunk-7QCSISHM.js';
86
85
  export { MEMBER_PICKER_LABELS, MemberPicker, chosenMembers } from '../chunk-SDHLAW3G.js';
87
86
  export { MentionChip } from '../chunk-PX5BOALQ.js';
88
87
  export { MENTION_MENU_LABELS, MentionMenu, mentionQuery } from '../chunk-G7SAFRSJ.js';
@@ -90,19 +89,21 @@ export { PersonRow } from '../chunk-6TD2PCZB.js';
90
89
  export { MERGE_CONFLICTS_LABELS, MergeConflicts } from '../chunk-H4WQWCHP.js';
91
90
  export { ActionDivider, MessageAction, MessageActions, QuickReaction } from '../chunk-3NO5GRZY.js';
92
91
  import '../chunk-TDFLCUBE.js';
92
+ export { MessageBubble } from '../chunk-KAQ2L74F.js';
93
93
  export { LIVE_CURSOR_HIDE_MS, LIVE_CURSOR_REST_MS, LiveCursor } from '../chunk-DPNVKWJX.js';
94
94
  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';
95
95
  export { LogoSlot, LogoSlotGroup } from '../chunk-LAZ72JOP.js';
96
96
  export { MARKDOWN_FORMATS, MARKDOWN_TEXT_FORMATS, MarkdownEditor, formatMarkdown, insertMarkdown, markdownWords } from '../chunk-XSJSDNRR.js';
97
97
  export { LAYERS_LIST_LABELS, LayersList } from '../chunk-VUYNNILP.js';
98
98
  export { AutoGrid, Inline, Spacer, Stack } from '../chunk-ZAC7SKUN.js';
99
+ export { Link } from '../chunk-QF5UNP4T.js';
99
100
  export { LinkCard } from '../chunk-O3MYBNRO.js';
100
101
  import '../chunk-KOJPDCGQ.js';
101
- export { Link } from '../chunk-QF5UNP4T.js';
102
102
  export { LinkInterstitial, openExternal } from '../chunk-OC6BMY3C.js';
103
- export { List, ListItem } from '../chunk-A7UOYLK3.js';
103
+ export { List, ListItem } from '../chunk-F2ZSFDJZ.js';
104
104
  export { ListDetail } from '../chunk-P33VNG7Q.js';
105
105
  export { ListInput, withDraft } from '../chunk-PICHV3PC.js';
106
+ export { IndicatorAnchor } from '../chunk-27MJPU7G.js';
106
107
  export { INLINE_EDITOR_LABELS, InlineEditor } from '../chunk-CFJ7FQZI.js';
107
108
  export { InlineRef } from '../chunk-JGDCVLD4.js';
108
109
  export { MARKDOWN_CALLOUT_NAMES, MARKDOWN_CALLOUT_TONES, markdownBreaks, markdownClosesFence, markdownCodeText, markdownFenceOf, markdownHeadingOf, markdownInline, markdownLines, parseMarkdown, parseMarkdownSpans, safeHref } from '../chunk-KBZO4B33.js';
@@ -113,7 +114,6 @@ import '../chunk-FFMCMSJB.js';
113
114
  export { IconTile } from '../chunk-3LI4TRUR.js';
114
115
  export { ImageUpload } from '../chunk-K6Y6CDEZ.js';
115
116
  export { INBOX_ROW_LEAVE, InboxGroup, InboxList, InboxMore, InboxRow, InboxToggle } from '../chunk-VKNZQB2G.js';
116
- export { IndicatorAnchor } from '../chunk-27MJPU7G.js';
117
117
  export { FileList } from '../chunk-5WRWBDML.js';
118
118
  export { FILTER_CHIP_ATTRIBUTE, FilterChip, FilterChipGroup } from '../chunk-IWZG7NPV.js';
119
119
  export { FindingList } from '../chunk-LSRQ2A6B.js';
@@ -128,19 +128,19 @@ export { ErrorBoundary } from '../chunk-IJ7KLXUZ.js';
128
128
  export { Eyebrow } from '../chunk-RK4XPHVG.js';
129
129
  export { FactList } from '../chunk-SNQ7PH3D.js';
130
130
  export { FileDrop, FilePickButton, droppedFiles, pickedFiles } from '../chunk-KQWJWTED.js';
131
- export { DOC_TABS_EDITOR_LABELS, DocTabsEditor } from '../chunk-2HBY3FOZ.js';
132
131
  export { Divider } from '../chunk-6KWNXIDE.js';
132
+ export { DOC_TABS_EDITOR_LABELS, DocTabsEditor } from '../chunk-2HBY3FOZ.js';
133
133
  export { DockColumn } from '../chunk-5JPOFAVN.js';
134
134
  export { DownloadButton } from '../chunk-EHFQMY3B.js';
135
135
  export { downloadBlob, downloadText, safeFilename, useDownload } from '../chunk-YNRKVY7X.js';
136
136
  export { EditingStatus } from '../chunk-OU6ZSWEJ.js';
137
137
  export { EMOJI_GROUPS, EMOJI_PICKER_COLUMNS, EMOJI_PICKER_LABELS, EmojiPicker, emojiName, searchEmoji } from '../chunk-HZPUMGQV.js';
138
138
  export { DATASET_SOURCE_KINDS, DatasetSource, DatasetSourceList } from '../chunk-C2HIMGFI.js';
139
- export { DELIVERY_RECEIPT_LABELS, DeliveryReceipt } from '../chunk-NGJWRR7E.js';
140
139
  export { DEEP_WORK_CARD_LABELS, DEEP_WORK_STATES, DEEP_WORK_STATE_LABELS, DeepWorkCard } from '../chunk-5U6XAUYM.js';
141
140
  export { STEP_STATES, STEP_STATE_LABELS, StepList, StepStateMark, Stepper, stepDetailPieces } from '../chunk-KUMHQY2B.js';
142
141
  export { REFUSAL_STRIP_LABELS, ReceiptStrip, RefusalStrip } from '../chunk-ZWCK4N4L.js';
143
142
  export { DEFAULT_METER_THRESHOLDS, METER_STATES, Meter, meterState, meterStateTone, meterTone, progressTone } from '../chunk-RQFRRPV6.js';
143
+ export { DELIVERY_RECEIPT_LABELS, DeliveryReceipt } from '../chunk-NGJWRR7E.js';
144
144
  export { DescriptionList, DescriptionListItem } from '../chunk-LH4OF7FI.js';
145
145
  export { DIFF_SUMMARY_LABELS, DIFF_VIEW_LABELS, DiffSummary, DiffView, MAX_DIFF_LINES, collapseDiff, diffLines, diffStat, firstChangedLines, splitLines } from '../chunk-AOFVXE6V.js';
146
146
  export { DirectoryList } from '../chunk-5KTLQ436.js';
@@ -167,8 +167,8 @@ export { CONFLICT_NOTE_LABELS, ConflictNote } from '../chunk-B3PK2LND.js';
167
167
  export { Container } from '../chunk-HJO4WCH6.js';
168
168
  export { CHIP_FIELD_LABELS, ChipField } from '../chunk-LPQLJHLI.js';
169
169
  export { ChoiceButtons } from '../chunk-RVSNBUIU.js';
170
- export { ChoiceList } from '../chunk-XU7RQNT6.js';
171
170
  export { ChoiceCards } from '../chunk-CFCJ3P7B.js';
171
+ export { ChoiceList } from '../chunk-XU7RQNT6.js';
172
172
  export { CodeBlock } from '../chunk-4ME4J3YY.js';
173
173
  export { ColorChip } from '../chunk-C6T4VBEY.js';
174
174
  export { ColorField } from '../chunk-GNJXUNEU.js';
@@ -234,7 +234,7 @@ export { Document, DocumentTitle, DocumentTitleField } from '../chunk-I4PBFJGX.j
234
234
  export { ArtifactKindGround, ArtifactKindIllustration, ArtifactKindTile } from '../chunk-J5T5TDM2.js';
235
235
  export { ArtifactMakeRow } from '../chunk-HDEKHP65.js';
236
236
  export { ArtifactNameCell } from '../chunk-LTD7KLOU.js';
237
- export { APP_SHELL_ASIDE_WIDTH, AccountRow, AppShell, AppShellRail, AppShellRailRow, AppShellRailStatus, AppShellToggle, AppShellTopbar, readStoredWidth, useAppShell, useScreenBelow, useScreenWidth, useStoredWidth } from '../chunk-ORONAXSF.js';
237
+ export { APP_SHELL_ASIDE_WIDTH, AccountRow, AppShell, AppShellRail, AppShellRailRow, AppShellRailStatus, AppShellToggle, AppShellTopbar, readStoredWidth, useAppShell, useScreenBelow, useScreenWidth, useStoredWidth } from '../chunk-CWJLDCB7.js';
238
238
  export { afterMotion, releaseFocus, runningMotion, usePresence } from '../chunk-PCAT2EFB.js';
239
239
  import '../chunk-JLOESTT2.js';
240
240
  export { ArrangeBoard } from '../chunk-QO7QEQKV.js';
@@ -265,6 +265,7 @@ export { Accordion, AccordionItem } from '../chunk-E2QPZGLG.js';
265
265
  export { ACTION_CARD_GROUND, ActionCard, ActionCardRow } from '../chunk-OM2LABPS.js';
266
266
  export { ActivityLine } from '../chunk-V7N5XWZ6.js';
267
267
  export { ThinkingIndicator } from '../chunk-3OIVYHAA.js';
268
+ export { ADD_PILL_MS, AddPill } from '../chunk-CVKANYHD.js';
268
269
  export { AGENT_HANDOFF_LABELS, AgentHandoffPanel } from '../chunk-BHVEHAAX.js';
269
270
  export { Timeline, TimelineItem } from '../chunk-ZDJQQ4LU.js';
270
271
  export { Section } from '../chunk-WFCWPXJN.js';
@@ -287,7 +288,6 @@ export { IconButton, IconButtonLink } from '../chunk-UAUP6XGK.js';
287
288
  export { DisclosureAnatomy } from '../chunk-ULYHDP7U.js';
288
289
  export { Count } from '../chunk-D2GT3CR4.js';
289
290
  export { HeadingLevelProvider, headingTag, nextHeadingLevel, useHeadingLevel } from '../chunk-PQADV6P6.js';
290
- export { ADD_PILL_MS, AddPill } from '../chunk-CVKANYHD.js';
291
291
  export { Announcer, announce, useAnnouncer } from '../chunk-2G355KDJ.js';
292
292
  export { VisuallyHidden } from '../chunk-UT6CW3C7.js';
293
293
  export { cx } from '../chunk-ODEQTPFM.js';
package/dist/index.js CHANGED
@@ -17,7 +17,7 @@ export { ThemeGallery } from './chunk-4TAMRAUQ.js';
17
17
  export { ThemeSwatch } from './chunk-3XQUEF5C.js';
18
18
  export { DensitySwitcher, ThemeSwitcher } from './chunk-FRERGOW3.js';
19
19
  export { applyStoredPreferences, resolveTheme, useDensityPreference, useSystemTheme, useThemePreference } from './chunk-Z24ZUSTX.js';
20
- export { Switcher } from './chunk-ET4I3IEA.js';
20
+ export { Switcher } from './chunk-O3II3KJY.js';
21
21
  export { TABLE_TAGS_CELL_LABELS, TableDateCell, TableEntityCell, TableKeyCell, TableNumberCell, TableStatusCell, TableTagsCell, TableTextCell, TableTwoLineCell } from './chunk-QW4LAFTX.js';
22
22
  export { SlideGrid } from './chunk-6M2N6ETA.js';
23
23
  export { SOURCE_EDITOR_KEYS, SourceEditor, lineStart } from './chunk-PW57R4BN.js';
@@ -33,13 +33,13 @@ export { SlideFilmstrip } from './chunk-RO5JU6SN.js';
33
33
  export { SegmentedMeter, segmentedMeterLabel } from './chunk-4AK52VHB.js';
34
34
  export { SelectionBar } from './chunk-XA2QKGBJ.js';
35
35
  export { SEND_BUTTON_LABELS, SendButton } from './chunk-T2GC7UAP.js';
36
- export { SettingsTable, SettingsTableRow } from './chunk-SOYPCCSJ.js';
37
36
  export { SetupWizard } from './chunk-IX6CHGM4.js';
37
+ export { SettingsTable, SettingsTableRow } from './chunk-SOYPCCSJ.js';
38
38
  export { ARTIFACT_ROLES, SHAREABLE_ROLES, ShareDialog, roleAtLeast } from './chunk-Y7PPKQFQ.js';
39
39
  export { SHEET_COLUMN_EDITOR_LABELS, SheetColumnEditor, SheetColumnTypeGlyph } from './chunk-WJZTI2WC.js';
40
- export { RichEditor, preloadRichEditor } from './chunk-LWYGCXRL.js';
41
- export { RICH_EDITOR_LABELS, richEditorLabels } from './chunk-2DMTW2Y3.js';
42
- export { RoomRow } from './chunk-Z34W5TM6.js';
40
+ export { canonicalMarkdown, roundTripMarkdown } from './chunk-GBASM5EV.js';
41
+ import './chunk-7CSTEH5I.js';
42
+ export { RoomRow } from './chunk-PQDQ64KY.js';
43
43
  export { RUN_STATES, RunChip } from './chunk-MYFSVZKZ.js';
44
44
  export { FRAME_HELLO_TIMEOUT_MS, FRAME_LOAD_GRACE_MS, SandboxedFrame, SandboxedFrameNotice, SandboxedFramePlaceholder } from './chunk-V6WDJUYK.js';
45
45
  export { SearchTrigger } from './chunk-ERNT3UTB.js';
@@ -50,8 +50,8 @@ export { RelatedRow } from './chunk-CL3FWLDO.js';
50
50
  export { RESULT_TABLE_CARD_LABELS, RESULT_TABLE_COLLAPSED_ROWS, RESULT_TABLE_MAX_ROWS, ResultTableCard } from './chunk-BMBQ6UMD.js';
51
51
  export { Table } from './chunk-75NQV4R4.js';
52
52
  export { ReviewList } from './chunk-AGVGX52B.js';
53
- export { canonicalMarkdown, roundTripMarkdown } from './chunk-GBASM5EV.js';
54
- import './chunk-7CSTEH5I.js';
53
+ export { RichEditor, preloadRichEditor } from './chunk-3P7XS5VT.js';
54
+ export { RICH_EDITOR_LABELS, richEditorLabels } from './chunk-2DMTW2Y3.js';
55
55
  export { PropertyList } from './chunk-OPVTNHPH.js';
56
56
  export { PROPOSAL_CARD_LABELS, PROPOSAL_FAILURE_OUTCOMES, PROPOSAL_STATES, PROPOSAL_TONES, ProposalCard } from './chunk-TXOTL7AA.js';
57
57
  export { Prose } from './chunk-DVVP27OD.js';
@@ -63,26 +63,25 @@ export { Text } from './chunk-O5CEG7TQ.js';
63
63
  export { AddReaction, REACTION_BAR_LABELS, ReactionBar, reactionWho } from './chunk-B3BJ66GQ.js';
64
64
  export { READING_PANE_ENTER, ReadingPane, ReadingPaneByline, ReadingPaneLead, ReadingPaneOutcome, ReadingPaneQuote, ReadingPaneReasoning, ReadingPaneSection, ReadingPaneTitle } from './chunk-64JNKLLP.js';
65
65
  export { PresenceStack } from './chunk-F7HZYTZT.js';
66
- export { PricingCard } from './chunk-O2XAJDK6.js';
67
66
  export { PresenterView, formatStopwatch } from './chunk-LMEMH6DO.js';
68
67
  export { SLIDE_NAV_LABELS, SlideNav } from './chunk-5AJR6X75.js';
69
68
  export { SLIDE_HEIGHT, SLIDE_WIDTH, SlideStage, useSlideKeys } from './chunk-O6EV6GKI.js';
69
+ export { PricingCard } from './chunk-O2XAJDK6.js';
70
70
  export { PrincipalPicker } from './chunk-4RLUVHYP.js';
71
- export { MessageBubble } from './chunk-KAQ2L74F.js';
72
- export { PageNote } from './chunk-CV4NES3P.js';
71
+ export { Outline, scrollToHeading, useActiveHeading } from './chunk-7QCSISHM.js';
73
72
  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';
73
+ export { PageNote } from './chunk-CV4NES3P.js';
74
74
  export { PEOPLE_RAIL_LABELS, PeopleRail, peopleRailKey } from './chunk-QGEDXYLB.js';
75
75
  import './chunk-CENOOTAV.js';
76
76
  export { PinTile } from './chunk-LJ3KWQLP.js';
77
77
  export { NewItemsNotice } from './chunk-463DNZXI.js';
78
78
  export { FactLine, ObjectHeader, SetByLine } from './chunk-AXEXOAZQ.js';
79
79
  export { OPEN_IN_APP_CARD_LABELS, OpenInAppCard } from './chunk-HZBXC3YD.js';
80
- export { OrgNodeDisclosure, OrgNodeLabel, OrgNodeLead } from './chunk-NKBKHOMU.js';
81
- export { OrgTable, OrgTableActions, OrgTableAdd, OrgTableName } from './chunk-I46ZTLDW.js';
80
+ export { OrgTable, OrgTableActions, OrgTableAdd, OrgTableName } from './chunk-DWQYV5AV.js';
82
81
  export { TreeGrid } from './chunk-ZDWAIVWL.js';
83
82
  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';
83
+ export { OrgNodeDisclosure, OrgNodeLabel, OrgNodeLead } from './chunk-NKBKHOMU.js';
84
84
  export { OrgLabel } from './chunk-5YXMKZUA.js';
85
- export { Outline, scrollToHeading, useActiveHeading } from './chunk-7QCSISHM.js';
86
85
  export { MEMBER_PICKER_LABELS, MemberPicker, chosenMembers } from './chunk-SDHLAW3G.js';
87
86
  export { MentionChip } from './chunk-PX5BOALQ.js';
88
87
  export { MENTION_MENU_LABELS, MentionMenu, mentionQuery } from './chunk-G7SAFRSJ.js';
@@ -90,19 +89,21 @@ export { PersonRow } from './chunk-6TD2PCZB.js';
90
89
  export { MERGE_CONFLICTS_LABELS, MergeConflicts } from './chunk-H4WQWCHP.js';
91
90
  export { ActionDivider, MessageAction, MessageActions, QuickReaction } from './chunk-3NO5GRZY.js';
92
91
  import './chunk-TDFLCUBE.js';
92
+ export { MessageBubble } from './chunk-KAQ2L74F.js';
93
93
  export { LIVE_CURSOR_HIDE_MS, LIVE_CURSOR_REST_MS, LiveCursor } from './chunk-DPNVKWJX.js';
94
94
  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';
95
95
  export { LogoSlot, LogoSlotGroup } from './chunk-LAZ72JOP.js';
96
96
  export { MARKDOWN_FORMATS, MARKDOWN_TEXT_FORMATS, MarkdownEditor, formatMarkdown, insertMarkdown, markdownWords } from './chunk-XSJSDNRR.js';
97
97
  export { LAYERS_LIST_LABELS, LayersList } from './chunk-VUYNNILP.js';
98
98
  export { AutoGrid, Inline, Spacer, Stack } from './chunk-ZAC7SKUN.js';
99
+ export { Link } from './chunk-QF5UNP4T.js';
99
100
  export { LinkCard } from './chunk-O3MYBNRO.js';
100
101
  import './chunk-KOJPDCGQ.js';
101
- export { Link } from './chunk-QF5UNP4T.js';
102
102
  export { LinkInterstitial, openExternal } from './chunk-OC6BMY3C.js';
103
- export { List, ListItem } from './chunk-A7UOYLK3.js';
103
+ export { List, ListItem } from './chunk-F2ZSFDJZ.js';
104
104
  export { ListDetail } from './chunk-P33VNG7Q.js';
105
105
  export { ListInput, withDraft } from './chunk-PICHV3PC.js';
106
+ export { IndicatorAnchor } from './chunk-27MJPU7G.js';
106
107
  export { INLINE_EDITOR_LABELS, InlineEditor } from './chunk-CFJ7FQZI.js';
107
108
  export { InlineRef } from './chunk-JGDCVLD4.js';
108
109
  export { MARKDOWN_CALLOUT_NAMES, MARKDOWN_CALLOUT_TONES, markdownBreaks, markdownClosesFence, markdownCodeText, markdownFenceOf, markdownHeadingOf, markdownInline, markdownLines, parseMarkdown, parseMarkdownSpans, safeHref } from './chunk-KBZO4B33.js';
@@ -113,7 +114,6 @@ import './chunk-FFMCMSJB.js';
113
114
  export { IconTile } from './chunk-3LI4TRUR.js';
114
115
  export { ImageUpload } from './chunk-K6Y6CDEZ.js';
115
116
  export { INBOX_ROW_LEAVE, InboxGroup, InboxList, InboxMore, InboxRow, InboxToggle } from './chunk-VKNZQB2G.js';
116
- export { IndicatorAnchor } from './chunk-27MJPU7G.js';
117
117
  export { FileList } from './chunk-5WRWBDML.js';
118
118
  export { FILTER_CHIP_ATTRIBUTE, FilterChip, FilterChipGroup } from './chunk-IWZG7NPV.js';
119
119
  export { FindingList } from './chunk-LSRQ2A6B.js';
@@ -128,19 +128,19 @@ export { ErrorBoundary } from './chunk-IJ7KLXUZ.js';
128
128
  export { Eyebrow } from './chunk-RK4XPHVG.js';
129
129
  export { FactList } from './chunk-SNQ7PH3D.js';
130
130
  export { FileDrop, FilePickButton, droppedFiles, pickedFiles } from './chunk-KQWJWTED.js';
131
- export { DOC_TABS_EDITOR_LABELS, DocTabsEditor } from './chunk-2HBY3FOZ.js';
132
131
  export { Divider } from './chunk-6KWNXIDE.js';
132
+ export { DOC_TABS_EDITOR_LABELS, DocTabsEditor } from './chunk-2HBY3FOZ.js';
133
133
  export { DockColumn } from './chunk-5JPOFAVN.js';
134
134
  export { DownloadButton } from './chunk-EHFQMY3B.js';
135
135
  export { downloadBlob, downloadText, safeFilename, useDownload } from './chunk-YNRKVY7X.js';
136
136
  export { EditingStatus } from './chunk-OU6ZSWEJ.js';
137
137
  export { EMOJI_GROUPS, EMOJI_PICKER_COLUMNS, EMOJI_PICKER_LABELS, EmojiPicker, emojiName, searchEmoji } from './chunk-HZPUMGQV.js';
138
138
  export { DATASET_SOURCE_KINDS, DatasetSource, DatasetSourceList } from './chunk-C2HIMGFI.js';
139
- export { DELIVERY_RECEIPT_LABELS, DeliveryReceipt } from './chunk-NGJWRR7E.js';
140
139
  export { DEEP_WORK_CARD_LABELS, DEEP_WORK_STATES, DEEP_WORK_STATE_LABELS, DeepWorkCard } from './chunk-5U6XAUYM.js';
141
140
  export { STEP_STATES, STEP_STATE_LABELS, StepList, StepStateMark, Stepper, stepDetailPieces } from './chunk-KUMHQY2B.js';
142
141
  export { REFUSAL_STRIP_LABELS, ReceiptStrip, RefusalStrip } from './chunk-ZWCK4N4L.js';
143
142
  export { DEFAULT_METER_THRESHOLDS, METER_STATES, Meter, meterState, meterStateTone, meterTone, progressTone } from './chunk-RQFRRPV6.js';
143
+ export { DELIVERY_RECEIPT_LABELS, DeliveryReceipt } from './chunk-NGJWRR7E.js';
144
144
  export { DescriptionList, DescriptionListItem } from './chunk-LH4OF7FI.js';
145
145
  export { DIFF_SUMMARY_LABELS, DIFF_VIEW_LABELS, DiffSummary, DiffView, MAX_DIFF_LINES, collapseDiff, diffLines, diffStat, firstChangedLines, splitLines } from './chunk-AOFVXE6V.js';
146
146
  export { DirectoryList } from './chunk-5KTLQ436.js';
@@ -167,8 +167,8 @@ export { CONFLICT_NOTE_LABELS, ConflictNote } from './chunk-B3PK2LND.js';
167
167
  export { Container } from './chunk-HJO4WCH6.js';
168
168
  export { CHIP_FIELD_LABELS, ChipField } from './chunk-LPQLJHLI.js';
169
169
  export { ChoiceButtons } from './chunk-RVSNBUIU.js';
170
- export { ChoiceList } from './chunk-XU7RQNT6.js';
171
170
  export { ChoiceCards } from './chunk-CFCJ3P7B.js';
171
+ export { ChoiceList } from './chunk-XU7RQNT6.js';
172
172
  export { CodeBlock } from './chunk-4ME4J3YY.js';
173
173
  export { ColorChip } from './chunk-C6T4VBEY.js';
174
174
  export { ColorField } from './chunk-GNJXUNEU.js';
@@ -234,7 +234,7 @@ export { Document, DocumentTitle, DocumentTitleField } from './chunk-I4PBFJGX.js
234
234
  export { ArtifactKindGround, ArtifactKindIllustration, ArtifactKindTile } from './chunk-J5T5TDM2.js';
235
235
  export { ArtifactMakeRow } from './chunk-HDEKHP65.js';
236
236
  export { ArtifactNameCell } from './chunk-LTD7KLOU.js';
237
- export { APP_SHELL_ASIDE_WIDTH, AccountRow, AppShell, AppShellRail, AppShellRailRow, AppShellRailStatus, AppShellToggle, AppShellTopbar, readStoredWidth, useAppShell, useScreenBelow, useScreenWidth, useStoredWidth } from './chunk-ORONAXSF.js';
237
+ export { APP_SHELL_ASIDE_WIDTH, AccountRow, AppShell, AppShellRail, AppShellRailRow, AppShellRailStatus, AppShellToggle, AppShellTopbar, readStoredWidth, useAppShell, useScreenBelow, useScreenWidth, useStoredWidth } from './chunk-CWJLDCB7.js';
238
238
  export { afterMotion, releaseFocus, runningMotion, usePresence } from './chunk-PCAT2EFB.js';
239
239
  import './chunk-JLOESTT2.js';
240
240
  export { ArrangeBoard } from './chunk-QO7QEQKV.js';
@@ -265,6 +265,7 @@ export { Accordion, AccordionItem } from './chunk-E2QPZGLG.js';
265
265
  export { ACTION_CARD_GROUND, ActionCard, ActionCardRow } from './chunk-OM2LABPS.js';
266
266
  export { ActivityLine } from './chunk-V7N5XWZ6.js';
267
267
  export { ThinkingIndicator } from './chunk-3OIVYHAA.js';
268
+ export { ADD_PILL_MS, AddPill } from './chunk-CVKANYHD.js';
268
269
  export { AGENT_HANDOFF_LABELS, AgentHandoffPanel } from './chunk-BHVEHAAX.js';
269
270
  export { Timeline, TimelineItem } from './chunk-ZDJQQ4LU.js';
270
271
  export { Section } from './chunk-WFCWPXJN.js';
@@ -287,7 +288,6 @@ export { IconButton, IconButtonLink } from './chunk-UAUP6XGK.js';
287
288
  export { DisclosureAnatomy } from './chunk-ULYHDP7U.js';
288
289
  export { Count } from './chunk-D2GT3CR4.js';
289
290
  export { HeadingLevelProvider, headingTag, nextHeadingLevel, useHeadingLevel } from './chunk-PQADV6P6.js';
290
- export { ADD_PILL_MS, AddPill } from './chunk-CVKANYHD.js';
291
291
  export { Announcer, announce, useAnnouncer } from './chunk-2G355KDJ.js';
292
292
  export { VisuallyHidden } from './chunk-UT6CW3C7.js';
293
293
  export { cx } from './chunk-ODEQTPFM.js';
package/dist/styles.css CHANGED
@@ -964,7 +964,7 @@
964
964
  }
965
965
 
966
966
 
967
- /* AppShell-NX5HCD4O.css */
967
+ /* AppShell-24IM2GC3.css */
968
968
  /*
969
969
  * The application frame: a rail on the FRAME, and the screen on a SHEET that
970
970
  * floats beside it.
@@ -1175,7 +1175,18 @@
1175
1175
  flex: 1 1 auto;
1176
1176
  min-height: 0;
1177
1177
  overflow-y: auto;
1178
- scrollbar-color: var(--color-scrollbar) transparent;
1178
+ }
1179
+
1180
+ /* The rail's bar, only where `::-webkit-scrollbar` is not read: set where it
1181
+ is, Chromium would draw its native bar instead of the base sheet's slim one. */
1182
+ @supports not selector(::-webkit-scrollbar) {
1183
+ .crewlet-app-shell__rail-body {
1184
+ scrollbar-color: var(--color-scrollbar) transparent;
1185
+ }
1186
+
1187
+ .crewlet-app-shell[data-rail='compact'] .crewlet-app-shell__rail-body {
1188
+ scrollbar-width: thin;
1189
+ }
1179
1190
  }
1180
1191
 
1181
1192
  /*
@@ -2000,7 +2011,6 @@
2000
2011
 
2001
2012
  .crewlet-app-shell[data-rail='compact'] .crewlet-app-shell__rail-body {
2002
2013
  padding: var(--spacing-1) 0;
2003
- scrollbar-width: thin;
2004
2014
  }
2005
2015
 
2006
2016
  /*
@@ -25301,7 +25311,7 @@ a.crewlet-link-card:hover .crewlet-link-card__title {
25301
25311
  }
25302
25312
 
25303
25313
 
25304
- /* List-ZZF6ZHRT.css */
25314
+ /* List-BNA4XGMH.css */
25305
25315
  /*
25306
25316
  * The non-tabular list. One row recipe, four framings.
25307
25317
  *
@@ -25431,6 +25441,13 @@ a.crewlet-link-card:hover .crewlet-link-card__title {
25431
25441
  display: list-item;
25432
25442
  }
25433
25443
 
25444
+ /* HANGING MARKERS stand in the margin before the list, so its words line up
25445
+ with the text above rather than one gutter inside it. */
25446
+ .crewlet-list--hanging.crewlet-list--bulleted,
25447
+ .crewlet-list--hanging.crewlet-list--numbered {
25448
+ padding-inline-start: 0;
25449
+ }
25450
+
25434
25451
  .crewlet-list--bulleted .crewlet-list__row,
25435
25452
  .crewlet-list--numbered .crewlet-list__row {
25436
25453
  min-height: 0;
@@ -41052,7 +41069,7 @@ svg.crewlet-select__chevron {
41052
41069
  }
41053
41070
 
41054
41071
 
41055
- /* Switcher-VWQMZUTN.css */
41072
+ /* Switcher-ZGRTTVCS.css */
41056
41073
  /*
41057
41074
  * The switcher: a button that is the page's name, and a banded panel under it
41058
41075
  * (a search band, a list that scrolls, and a footer that does not).
@@ -41257,7 +41274,14 @@ svg.crewlet-switcher-trigger__chevron {
41257
41274
  overflow-y: auto;
41258
41275
  overscroll-behavior: contain;
41259
41276
  padding: var(--spacing-1);
41260
- scrollbar-width: thin;
41277
+ }
41278
+
41279
+ /* Thin only where `::-webkit-scrollbar` is not read: set where it is, Chromium
41280
+ would draw its native bar instead of the base sheet's slim one. */
41281
+ @supports not selector(::-webkit-scrollbar) {
41282
+ .crewlet-switcher__scroller {
41283
+ scrollbar-width: thin;
41284
+ }
41261
41285
  }
41262
41286
 
41263
41287
  .crewlet-switcher__list {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@crewlethq/ui",
3
- "version": "0.96.0",
3
+ "version": "0.97.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.96.0",
46
- "@crewlethq/tokens": "0.96.0",
45
+ "@crewlethq/icons": "0.97.1",
46
+ "@crewlethq/tokens": "0.97.1",
47
47
  "prosemirror-commands": "1.7.2",
48
48
  "prosemirror-gapcursor": "1.4.1",
49
49
  "prosemirror-history": "1.5.1",
@@ -47,6 +47,9 @@
47
47
  // the hover overlay, never both, because both are a background on the same
48
48
  // element and the selected state wins. Drawing the hover on a ::before is
49
49
  // the one way to stack them, and it produces a composite nothing measured.
50
+ // 7. `scrollbar-width` and `scrollbar-color` (other than `auto` or `none`)
51
+ // only inside `@supports not selector(::-webkit-scrollbar)`. Chromium
52
+ // ignores every `::-webkit-scrollbar` rule on an element that sets either.
50
53
 
51
54
  import { dirname, resolve } from 'node:path';
52
55
  import { fileURLToPath } from 'node:url';
@@ -76,6 +79,16 @@ const MOTION = new Map([
76
79
  /** The one query a stop is read inside: exactly this, with nothing else around it. */
77
80
  const REDUCE = /^@media\s*\(\s*prefers-reduced-motion\s*:\s*reduce\s*\)$/;
78
81
 
82
+ /** The condition a scrollbar's standard properties are set under (rule 7). */
83
+ const WITHOUT_WEBKIT_SCROLLBAR = /^@supports not \(?\s*selector\(\s*::-webkit-scrollbar\s*\)\s*\)?$/;
84
+
85
+ /** Whether a declaration switches Chromium off the `::-webkit-scrollbar` rules. */
86
+ function overridesWebkitScrollbar(property, value) {
87
+ const bare = value.replace(/!\s*important\s*$/i, '').trim().toLowerCase();
88
+ if (property === 'scrollbar-width') return bare !== 'auto' && bare !== 'none';
89
+ return property === 'scrollbar-color' && bare !== 'auto';
90
+ }
91
+
79
92
  function declarations(body) {
80
93
  const found = [];
81
94
  for (const part of body.split(';')) {
@@ -235,8 +248,10 @@ export async function findings(roots, base = packageRoot) {
235
248
  for (const file of files) {
236
249
  const at = (index) => `${file.where}:${lineOf(file.text, index)}`;
237
250
 
238
- for (const { selector, body, index, nestedDeclarations } of rules(file.text)) {
251
+ for (const block of rules(file.text)) {
252
+ const { selector, body, index, nestedDeclarations } = block;
239
253
  const where = at(index);
254
+ const withoutWebkitScrollbar = conditions(block).some((head) => WITHOUT_WEBKIT_SCROLLBAR.test(head));
240
255
 
241
256
  // Declarations resumed after a nested block carry their block's head
242
257
  // again, and the head was read with the block.
@@ -279,6 +294,11 @@ export async function findings(roots, base = packageRoot) {
279
294
  if (property === 'z-index' && /^-?\d+$/.test(bare.trim()) && Math.abs(Number(bare.trim())) > 1) {
280
295
  problems.push(`${where}: z-index is a literal (${value.trim()}). Use a --z-index-* token, or the Layer module's own depth`);
281
296
  }
297
+ if (!withoutWebkitScrollbar && overridesWebkitScrollbar(property, value)) {
298
+ problems.push(
299
+ `${where}: ${property} is set where Chromium reads ::-webkit-scrollbar, so it ignores those rules and draws its native bar. Set it inside @supports not selector(::-webkit-scrollbar)`,
300
+ );
301
+ }
282
302
  }
283
303
  }
284
304
 
@@ -1,5 +1,5 @@
1
- import { richEditorLabels } from './chunk-2DMTW2Y3.js';
2
1
  import { schema, readMarkdown, writeMarkdown } from './chunk-7CSTEH5I.js';
2
+ import { richEditorLabels } from './chunk-2DMTW2Y3.js';
3
3
  import './chunk-KOJPDCGQ.js';
4
4
  import { safeHref, MARKDOWN_CALLOUT_TONES } from './chunk-KBZO4B33.js';
5
5
  import { Toolbar } from './chunk-NXFTCPF6.js';
@@ -1,8 +1,8 @@
1
1
  import { TreeGrid } from './chunk-ZDWAIVWL.js';
2
2
  import { createTreeModel, treeParent } from './chunk-MY374UUD.js';
3
3
  import { OrgLabel } from './chunk-5YXMKZUA.js';
4
- import { IconButton } from './chunk-UAUP6XGK.js';
5
4
  import { AddPill } from './chunk-CVKANYHD.js';
5
+ import { IconButton } from './chunk-UAUP6XGK.js';
6
6
  import { cx } from './chunk-ODEQTPFM.js';
7
7
  import './OrgTable-JZSYTUIK.css';
8
8
  import { useMemo, useRef, useImperativeHandle, useCallback } from 'react';