@crewlethq/ui 0.95.0 → 0.96.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.
@@ -1,11 +1,32 @@
1
1
  import type { HTMLAttributes, ReactNode } from 'react';
2
+ /** The room the layout is drawn in: a whole page, or a detail pane beside a list. */
3
+ export type AsideLayoutFit = 'page' | 'pane';
4
+ /**
5
+ * The layout's own width, in rem, from which the aside stands beside the main
6
+ * column, by `fit`. The stylesheet's container queries split at these widths.
7
+ */
8
+ export declare const ASIDE_LAYOUT_SPLIT_REM: Readonly<Record<AsideLayoutFit, number>>;
2
9
  export interface AsideLayoutProps extends Omit<HTMLAttributes<HTMLDivElement>, 'children'> {
3
10
  /** The page's main column: what the page is about. */
4
11
  children: ReactNode;
5
- /** The column beside it: facts about the subject, how it is used, related places. */
6
- aside: ReactNode;
12
+ /**
13
+ * The column beside it: facts about the subject, how it is used, related
14
+ * places. Left out (or null), the main column stands alone at the full width.
15
+ */
16
+ aside?: ReactNode;
7
17
  /** What the aside is, for a screen reader's landmark: "About the company". */
8
18
  asideLabel: string;
19
+ /**
20
+ * `page` (the default): the aside stands beside the main column from 56rem,
21
+ * 18rem wide. `pane`: from 44rem, 16rem wide and 16px apart, for a detail
22
+ * pane beside a list, such as setup steps beside the form they explain.
23
+ */
24
+ fit?: AsideLayoutFit | undefined;
25
+ /**
26
+ * Beside the main column, the aside's content stays at the scroller's top
27
+ * while the main column scrolls past. For an aside shorter than its scroller.
28
+ */
29
+ sticky?: boolean | undefined;
9
30
  }
10
31
  /**
11
32
  * A page's main column with an aside beside it, each a stack of blocks one
@@ -13,12 +34,15 @@ export interface AsideLayoutProps extends Omit<HTMLAttributes<HTMLDivElement>, '
13
34
  *
14
35
  * THE COLUMNS FOLLOW THE ROOM THE PAGE HAS, NOT THE WINDOW. It is a container
15
36
  * query on its own width, because a page beside a navigation rail is narrow
16
- * on a wide screen too: from 56rem the aside stands beside the main column at
17
- * `--crewlet-aside-layout-aside` (18rem by default), and below that it
18
- * follows the main column under one hairline, so a phone reads the subject
19
- * first and its facts after it.
37
+ * on a wide screen too: from 56rem (44rem in a `pane`) the aside stands beside
38
+ * the main column at `--crewlet-aside-layout-aside` (18rem by default, 16rem
39
+ * in a pane), and below that it follows the main column under one hairline,
40
+ * so a phone reads the subject first and its facts after it.
41
+ *
42
+ * THE MAIN COLUMN IS ALWAYS THE FIRST CHILD, so it stays the same element as
43
+ * an aside comes and goes, and nothing in it is drawn afresh.
20
44
  *
21
45
  * THE ASIDE IS A COMPLEMENTARY LANDMARK named by `asideLabel`, so a screen
22
46
  * reader can skip to it or past it.
23
47
  */
24
- export declare function AsideLayout({ children, aside, asideLabel, className, ...rest }: AsideLayoutProps): import("react").JSX.Element;
48
+ export declare function AsideLayout({ children, aside, asideLabel, fit, sticky, className, ...rest }: AsideLayoutProps): import("react").JSX.Element;
@@ -1,3 +1,3 @@
1
1
  import './AsideLayout.css';
2
- export { AsideLayout } from './AsideLayout.js';
3
- export type { AsideLayoutProps } from './AsideLayout.js';
2
+ export { ASIDE_LAYOUT_SPLIT_REM, AsideLayout } from './AsideLayout.js';
3
+ export type { AsideLayoutFit, AsideLayoutProps } from './AsideLayout.js';
@@ -1,2 +1,2 @@
1
- export { AsideLayout } from '../chunk-QOXLP5PE.js';
1
+ export { ASIDE_LAYOUT_SPLIT_REM, AsideLayout } from '../chunk-7UQQEUOT.js';
2
2
  import '../chunk-ODEQTPFM.js';
@@ -0,0 +1,93 @@
1
+ /*
2
+ * AsideLayout: a main column with an aside beside it from 56rem of its own
3
+ * width (44rem in a pane), and after it below that (AsideLayout.tsx).
4
+ */
5
+
6
+ .crewlet-aside-layout {
7
+ container-type: inline-size;
8
+ min-width: 0;
9
+ }
10
+
11
+ .crewlet-aside-layout__columns {
12
+ --crewlet-aside-layout-gap: var(--spacing-7);
13
+
14
+ display: grid;
15
+ grid-template-columns: minmax(0, 1fr);
16
+ align-items: start;
17
+ gap: var(--crewlet-aside-layout-gap);
18
+ }
19
+
20
+ /* EACH COLUMN IS A STACK one step apart, so the blocks in it stand apart
21
+ evenly without each carrying a margin of its own. */
22
+ .crewlet-aside-layout__main,
23
+ .crewlet-aside-layout__aside {
24
+ display: flex;
25
+ flex-direction: column;
26
+ gap: var(--spacing-6);
27
+ min-width: 0;
28
+ }
29
+
30
+ /* FOLLOWING THE MAIN COLUMN, the aside is set off by one hairline, so its
31
+ facts read as about the page rather than as more of it. The hairline sits
32
+ midway: the aside takes the gap's own step under it, where the stack's
33
+ smaller step left it 32px under the main column and 24px over the aside. */
34
+ .crewlet-aside-layout__aside {
35
+ --crewlet-aside-layout-stick: static;
36
+
37
+ padding-top: var(--crewlet-aside-layout-gap);
38
+ border-top: 1px solid var(--color-border-default);
39
+ }
40
+
41
+ @container (min-width: 56rem) {
42
+ .crewlet-aside-layout__columns {
43
+ grid-template-columns: minmax(0, 1fr) var(--crewlet-aside-layout-aside, 18rem);
44
+ gap: var(--spacing-8);
45
+ }
46
+
47
+ .crewlet-aside-layout__aside {
48
+ --crewlet-aside-layout-stick: sticky;
49
+
50
+ padding-top: 0;
51
+ border-top: 0;
52
+ }
53
+ }
54
+
55
+ /* A PANE (`fit="pane"`) is narrower than a page by the list beside it: it
56
+ splits sooner, at a narrower aside, one step apart. */
57
+ .crewlet-aside-layout--pane .crewlet-aside-layout__columns {
58
+ --crewlet-aside-layout-gap: var(--spacing-6);
59
+ }
60
+
61
+ @container (min-width: 44rem) {
62
+ .crewlet-aside-layout--pane .crewlet-aside-layout__columns {
63
+ grid-template-columns: minmax(0, 1fr) var(--crewlet-aside-layout-aside, 16rem);
64
+ gap: var(--spacing-4);
65
+ }
66
+
67
+ .crewlet-aside-layout--pane .crewlet-aside-layout__aside {
68
+ --crewlet-aside-layout-stick: sticky;
69
+
70
+ padding-top: 0;
71
+ border-top: 0;
72
+ }
73
+ }
74
+
75
+ /* STICKY (`sticky`): the aside's content as one stack, as tall as itself, so
76
+ it has the aside's length to stick along. Only a split sets the aside's
77
+ `--crewlet-aside-layout-stick`, so it sticks beside the main column alone. */
78
+ .crewlet-aside-layout--sticky > .crewlet-aside-layout__columns {
79
+ align-items: stretch;
80
+ }
81
+
82
+ .crewlet-aside-layout__stick {
83
+ position: var(--crewlet-aside-layout-stick);
84
+ top: 0;
85
+ display: flex;
86
+ flex-direction: column;
87
+ gap: var(--spacing-6);
88
+ }
89
+
90
+ /* ALONE (no aside), the main column is the whole width at every size. */
91
+ .crewlet-aside-layout--alone > .crewlet-aside-layout__columns {
92
+ grid-template-columns: minmax(0, 1fr);
93
+ }
@@ -1,7 +1,7 @@
1
- export { DEEP_WORK_CARD_LABELS, DEEP_WORK_STATES, DEEP_WORK_STATE_LABELS, DeepWorkCard } from '../chunk-XJOTW2FB.js';
1
+ export { DEEP_WORK_CARD_LABELS, DEEP_WORK_STATES, DEEP_WORK_STATE_LABELS, DeepWorkCard } from '../chunk-5U6XAUYM.js';
2
2
  import '../chunk-KUMHQY2B.js';
3
- import '../chunk-RQFRRPV6.js';
4
3
  import '../chunk-ZWCK4N4L.js';
4
+ import '../chunk-RQFRRPV6.js';
5
5
  import '../chunk-4BEMS6Q7.js';
6
6
  import '../chunk-SJ3EUCFD.js';
7
7
  import '../chunk-U2IQNDDR.js';
@@ -1,4 +1,4 @@
1
- export { RichEditor, preloadRichEditor } from '../chunk-3P7XS5VT.js';
1
+ export { RichEditor, preloadRichEditor } from '../chunk-LWYGCXRL.js';
2
2
  export { RICH_EDITOR_LABELS, richEditorLabels } from '../chunk-2DMTW2Y3.js';
3
3
  import '../chunk-KOJPDCGQ.js';
4
4
  import '../chunk-KBZO4B33.js';
@@ -0,0 +1,35 @@
1
+ import { cx } from './chunk-ODEQTPFM.js';
2
+ import './AsideLayout-SJO7VLPQ.css';
3
+ import { jsx, jsxs } from 'react/jsx-runtime';
4
+
5
+ var ASIDE_LAYOUT_SPLIT_REM = { page: 56, pane: 44 };
6
+ function AsideLayout({
7
+ children,
8
+ aside,
9
+ asideLabel,
10
+ fit = "page",
11
+ sticky = false,
12
+ className,
13
+ ...rest
14
+ }) {
15
+ const alone = aside === null || aside === void 0 || aside === false;
16
+ return /* @__PURE__ */ jsx(
17
+ "div",
18
+ {
19
+ ...rest,
20
+ className: cx(
21
+ "crewlet-aside-layout",
22
+ fit === "pane" && "crewlet-aside-layout--pane",
23
+ sticky && "crewlet-aside-layout--sticky",
24
+ alone && "crewlet-aside-layout--alone",
25
+ className
26
+ ),
27
+ children: /* @__PURE__ */ jsxs("div", { className: "crewlet-aside-layout__columns", children: [
28
+ /* @__PURE__ */ jsx("div", { className: "crewlet-aside-layout__main", children }),
29
+ alone ? null : /* @__PURE__ */ jsx("aside", { className: "crewlet-aside-layout__aside", "aria-label": asideLabel, children: sticky ? /* @__PURE__ */ jsx("div", { className: "crewlet-aside-layout__stick", children: aside }) : aside })
30
+ ] })
31
+ }
32
+ );
33
+ }
34
+
35
+ export { ASIDE_LAYOUT_SPLIT_REM, AsideLayout };
@@ -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-63L5QQDN.js').then(
12
+ loading ??= import('./Editor-G3VEDILS.js').then(
13
13
  (module) => {
14
14
  engine = module.Editor;
15
15
  return engine;
@@ -9,8 +9,8 @@ export { VERSION_COMPARE_LABELS, VERSION_COMPARE_LENSES, VersionCompare } from '
9
9
  export { ThemeToggle } from '../chunk-IPMJGK2Q.js';
10
10
  export { THREAD_SUMMARY_LABELS, ThreadSummary } from '../chunk-JXDJVUWN.js';
11
11
  export { TileGrid } from '../chunk-UFID3DSP.js';
12
- export { DEFAULT_TIME_WINDOW_LABELS, TIME_WINDOW_SPANS, TimeWindowPicker, describeTimeWindow, isTimeWindowSet, parseTimeWindowDuration, resolveTimeWindow, timeWindowMatchesPreset } from '../chunk-2BZ2W2YU.js';
13
12
  export { TIME_RANGE_CUSTOM, TIME_RANGE_PICKER_LABELS, TimeRangePicker, timeRangeFieldKey, timeRangeProblem } from '../chunk-T5HZ5AYW.js';
13
+ export { DEFAULT_TIME_WINDOW_LABELS, TIME_WINDOW_SPANS, TimeWindowPicker, describeTimeWindow, isTimeWindowSet, parseTimeWindowDuration, resolveTimeWindow, timeWindowMatchesPreset } from '../chunk-2BZ2W2YU.js';
14
14
  export { ToastProvider, Toaster, readingDuration, toasterInsetStyle, useToast } from '../chunk-JIBWNHTC.js';
15
15
  export { TagsInput } from '../chunk-3LKOXQWZ.js';
16
16
  export { ThemeGallery } from '../chunk-4TAMRAUQ.js';
@@ -22,8 +22,8 @@ export { TABLE_TAGS_CELL_LABELS, TableDateCell, TableEntityCell, TableKeyCell, T
22
22
  export { SlideGrid } from '../chunk-6M2N6ETA.js';
23
23
  export { SOURCE_EDITOR_KEYS, SourceEditor, lineStart } from '../chunk-PW57R4BN.js';
24
24
  export { StatCard } from '../chunk-G5IZGAWS.js';
25
- export { Statement } from '../chunk-MZJKPTA5.js';
26
25
  export { StatGroup } from '../chunk-OUD75UB2.js';
26
+ export { Statement } from '../chunk-MZJKPTA5.js';
27
27
  export { CellDisplay, CellEditor, CheckboxCell, DateCell, LongTextCell, MultiSelectCell, NumberCell, PersonCell, RatingCell, SelectCell, SheetCell, SheetGrid, StatusCell, TextCell, UrlCell } from '../chunk-ZDMZP5H4.js';
28
28
  export { TagGroup } from '../chunk-UEOEBOBR.js';
29
29
  export { matchesShortcut, useShortcut } from '../chunk-LZNPL266.js';
@@ -37,8 +37,8 @@ export { SettingsTable, SettingsTableRow } from '../chunk-SOYPCCSJ.js';
37
37
  export { SetupWizard } from '../chunk-IX6CHGM4.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 { canonicalMarkdown, roundTripMarkdown } from '../chunk-GBASM5EV.js';
41
- import '../chunk-7CSTEH5I.js';
40
+ export { RichEditor, preloadRichEditor } from '../chunk-LWYGCXRL.js';
41
+ export { RICH_EDITOR_LABELS, richEditorLabels } from '../chunk-2DMTW2Y3.js';
42
42
  export { RoomRow } from '../chunk-Z34W5TM6.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';
@@ -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 { RichEditor, preloadRichEditor } from '../chunk-3P7XS5VT.js';
54
- export { RICH_EDITOR_LABELS, richEditorLabels } from '../chunk-2DMTW2Y3.js';
53
+ export { canonicalMarkdown, roundTripMarkdown } from '../chunk-GBASM5EV.js';
54
+ import '../chunk-7CSTEH5I.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';
@@ -60,15 +60,15 @@ export { RAIL_LIST_LABELS, RailList } from '../chunk-M576OESX.js';
60
60
  export { Select } from '../chunk-3IWZVEXA.js';
61
61
  export { NavGroup, NavItem, SidebarNav } from '../chunk-BRK3HXGZ.js';
62
62
  export { Text } from '../chunk-O5CEG7TQ.js';
63
- export { READING_PANE_ENTER, ReadingPane, ReadingPaneByline, ReadingPaneLead, ReadingPaneOutcome, ReadingPaneQuote, ReadingPaneReasoning, ReadingPaneSection, ReadingPaneTitle } from '../chunk-64JNKLLP.js';
64
63
  export { AddReaction, REACTION_BAR_LABELS, ReactionBar, reactionWho } from '../chunk-B3BJ66GQ.js';
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';
66
67
  export { PresenterView, formatStopwatch } from '../chunk-LMEMH6DO.js';
67
68
  export { SLIDE_NAV_LABELS, SlideNav } from '../chunk-5AJR6X75.js';
68
69
  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 { Outline, scrollToHeading, useActiveHeading } from '../chunk-7QCSISHM.js';
71
+ export { MessageBubble } from '../chunk-KAQ2L74F.js';
72
72
  export { PageNote } from '../chunk-CV4NES3P.js';
73
73
  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';
74
74
  export { PEOPLE_RAIL_LABELS, PeopleRail, peopleRailKey } from '../chunk-QGEDXYLB.js';
@@ -82,32 +82,32 @@ export { OrgTable, OrgTableActions, OrgTableAdd, OrgTableName } from '../chunk-I
82
82
  export { TreeGrid } from '../chunk-ZDWAIVWL.js';
83
83
  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';
84
84
  export { OrgLabel } from '../chunk-5YXMKZUA.js';
85
+ export { Outline, scrollToHeading, useActiveHeading } from '../chunk-7QCSISHM.js';
86
+ export { MEMBER_PICKER_LABELS, MemberPicker, chosenMembers } from '../chunk-SDHLAW3G.js';
85
87
  export { MentionChip } from '../chunk-PX5BOALQ.js';
86
88
  export { MENTION_MENU_LABELS, MentionMenu, mentionQuery } from '../chunk-G7SAFRSJ.js';
87
89
  export { PersonRow } from '../chunk-6TD2PCZB.js';
88
90
  export { MERGE_CONFLICTS_LABELS, MergeConflicts } from '../chunk-H4WQWCHP.js';
89
91
  export { ActionDivider, MessageAction, MessageActions, QuickReaction } from '../chunk-3NO5GRZY.js';
90
92
  import '../chunk-TDFLCUBE.js';
91
- export { MessageBubble } from '../chunk-KAQ2L74F.js';
92
93
  export { LIVE_CURSOR_HIDE_MS, LIVE_CURSOR_REST_MS, LiveCursor } from '../chunk-DPNVKWJX.js';
93
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';
94
95
  export { LogoSlot, LogoSlotGroup } from '../chunk-LAZ72JOP.js';
95
96
  export { MARKDOWN_FORMATS, MARKDOWN_TEXT_FORMATS, MarkdownEditor, formatMarkdown, insertMarkdown, markdownWords } from '../chunk-XSJSDNRR.js';
96
- export { MEMBER_PICKER_LABELS, MemberPicker, chosenMembers } from '../chunk-SDHLAW3G.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';
100
99
  export { LinkCard } from '../chunk-O3MYBNRO.js';
101
100
  import '../chunk-KOJPDCGQ.js';
101
+ export { Link } from '../chunk-QF5UNP4T.js';
102
+ export { LinkInterstitial, openExternal } from '../chunk-OC6BMY3C.js';
102
103
  export { List, ListItem } from '../chunk-A7UOYLK3.js';
103
104
  export { ListDetail } from '../chunk-P33VNG7Q.js';
104
- export { LinkInterstitial, openExternal } from '../chunk-OC6BMY3C.js';
105
105
  export { ListInput, withDraft } from '../chunk-PICHV3PC.js';
106
106
  export { INLINE_EDITOR_LABELS, InlineEditor } from '../chunk-CFJ7FQZI.js';
107
107
  export { InlineRef } from '../chunk-JGDCVLD4.js';
108
108
  export { MARKDOWN_CALLOUT_NAMES, MARKDOWN_CALLOUT_TONES, markdownBreaks, markdownClosesFence, markdownCodeText, markdownFenceOf, markdownHeadingOf, markdownInline, markdownLines, parseMarkdown, parseMarkdownSpans, safeHref } from '../chunk-KBZO4B33.js';
109
109
  export { KeyValueRows, keyValueRowsLabels } from '../chunk-SRHLFQ4J.js';
110
- export { IDLE_AFTER_MS, useFullscreen, useIdle } from '../chunk-W5XCNEZC.js';
110
+ export { Highlight, highlightRanges, highlightTerms } from '../chunk-H6VKCIWV.js';
111
111
  import '../chunk-MICRGE3J.js';
112
112
  import '../chunk-FFMCMSJB.js';
113
113
  export { IconTile } from '../chunk-3LI4TRUR.js';
@@ -121,26 +121,26 @@ export { FolderTile, describeFolderContents, folderContentsParts } from '../chun
121
121
  export { FollowBanner } from '../chunk-NTRKC2JV.js';
122
122
  export { DEFAULT_FRAME_THEME, EXTERNAL_URL_MAX, FRAME_BRIDGE, FRAME_MESSAGE, FRAME_ORIGIN_MODES, FRAME_SANDBOX_TOKENS, applyFrameTheme, checkFrameSandbox, externalUrl, frameFragment, frameOriginMatches, frameThemeMessage, httpOrigin, isFocusExit, isFrameNonce, negotiateBridge, parseFrameFragment, portTargetOrigin, readFrameHello, readFramePortMessage, readFrameTheme, readOpenLink } from '../chunk-F6V2PTN6.js';
123
123
  export { DENSITY_PREFERENCES, PALETTE_ID, THEME_PREFERENCES, applyDensity, applyPalette, applyTheme, isDensityPreference, isPaletteId, isThemePreference } from '../chunk-ZXXDZJQN.js';
124
- export { Highlight, highlightRanges, highlightTerms } from '../chunk-H6VKCIWV.js';
124
+ export { IDLE_AFTER_MS, useFullscreen, useIdle } from '../chunk-W5XCNEZC.js';
125
125
  export { EntityChip } from '../chunk-65RFU7LF.js';
126
126
  export { EntityList } from '../chunk-TN3BH3Q4.js';
127
127
  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 { Divider } from '../chunk-6KWNXIDE.js';
132
131
  export { DOC_TABS_EDITOR_LABELS, DocTabsEditor } from '../chunk-2HBY3FOZ.js';
132
+ export { Divider } from '../chunk-6KWNXIDE.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 { DEEP_WORK_CARD_LABELS, DEEP_WORK_STATES, DEEP_WORK_STATE_LABELS, DeepWorkCard } from '../chunk-XJOTW2FB.js';
139
+ export { DELIVERY_RECEIPT_LABELS, DeliveryReceipt } from '../chunk-NGJWRR7E.js';
140
+ export { DEEP_WORK_CARD_LABELS, DEEP_WORK_STATES, DEEP_WORK_STATE_LABELS, DeepWorkCard } from '../chunk-5U6XAUYM.js';
140
141
  export { STEP_STATES, STEP_STATE_LABELS, StepList, StepStateMark, Stepper, stepDetailPieces } from '../chunk-KUMHQY2B.js';
141
- export { DEFAULT_METER_THRESHOLDS, METER_STATES, Meter, meterState, meterStateTone, meterTone, progressTone } from '../chunk-RQFRRPV6.js';
142
142
  export { REFUSAL_STRIP_LABELS, ReceiptStrip, RefusalStrip } from '../chunk-ZWCK4N4L.js';
143
- export { DELIVERY_RECEIPT_LABELS, DeliveryReceipt } from '../chunk-NGJWRR7E.js';
143
+ export { DEFAULT_METER_THRESHOLDS, METER_STATES, Meter, meterState, meterStateTone, meterTone, progressTone } from '../chunk-RQFRRPV6.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 { ChoiceCards } from '../chunk-CFCJ3P7B.js';
171
170
  export { ChoiceList } from '../chunk-XU7RQNT6.js';
171
+ export { ChoiceCards } from '../chunk-CFCJ3P7B.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';
@@ -208,7 +208,7 @@ export { CalendarGrid, compareDays, daysInMonth, sameDay, shiftDay, shiftMonth,
208
208
  export { Callout } from '../chunk-BPCY7ZID.js';
209
209
  export { CANVAS_COMPOSE_CONTEXT, CANVAS_FIT_MAX_ZOOM, CANVAS_FIT_PADDING, CANVAS_FOCUS_CONTEXT, CANVAS_MAX_ZOOM, CANVAS_MIN_ZOOM, CANVAS_PAN_MARGIN, CANVAS_PAN_STEP, CANVAS_REVEAL_PADDING, CANVAS_TAP_SLOP, CANVAS_WHEEL_LINE_PX, CANVAS_WHEEL_ZOOM_PER_PIXEL, CANVAS_ZOOM_CEILING, CANVAS_ZOOM_LIMITS, CANVAS_ZOOM_STEP, Canvas, IDENTITY_VIEW, ShortcutTip, anchorView, beyondSlop, clampPan, clampZoom, fitView, gridOf, panBy, pinchView, regionView, revealView, screenRect, toScreen, toWorld, wheelPixels, wheelZoomFactor, zoomAt, zoomLimits } from '../chunk-NCUSI4ZU.js';
210
210
  import '../chunk-LM3ISVJA.js';
211
- export { AsideLayout } from '../chunk-QOXLP5PE.js';
211
+ export { ASIDE_LAYOUT_SPLIT_REM, AsideLayout } from '../chunk-7UQQEUOT.js';
212
212
  export { ATTACHMENT_CHIP_LABELS, AttachmentChip } from '../chunk-MTDISM7I.js';
213
213
  export { Tag } from '../chunk-SJ3EUCFD.js';
214
214
  export { ATTENTION_LIST_LABELS, AttentionList } from '../chunk-AELKT34H.js';
package/dist/index.js CHANGED
@@ -9,8 +9,8 @@ export { VERSION_COMPARE_LABELS, VERSION_COMPARE_LENSES, VersionCompare } from '
9
9
  export { ThemeToggle } from './chunk-IPMJGK2Q.js';
10
10
  export { THREAD_SUMMARY_LABELS, ThreadSummary } from './chunk-JXDJVUWN.js';
11
11
  export { TileGrid } from './chunk-UFID3DSP.js';
12
- export { DEFAULT_TIME_WINDOW_LABELS, TIME_WINDOW_SPANS, TimeWindowPicker, describeTimeWindow, isTimeWindowSet, parseTimeWindowDuration, resolveTimeWindow, timeWindowMatchesPreset } from './chunk-2BZ2W2YU.js';
13
12
  export { TIME_RANGE_CUSTOM, TIME_RANGE_PICKER_LABELS, TimeRangePicker, timeRangeFieldKey, timeRangeProblem } from './chunk-T5HZ5AYW.js';
13
+ export { DEFAULT_TIME_WINDOW_LABELS, TIME_WINDOW_SPANS, TimeWindowPicker, describeTimeWindow, isTimeWindowSet, parseTimeWindowDuration, resolveTimeWindow, timeWindowMatchesPreset } from './chunk-2BZ2W2YU.js';
14
14
  export { ToastProvider, Toaster, readingDuration, toasterInsetStyle, useToast } from './chunk-JIBWNHTC.js';
15
15
  export { TagsInput } from './chunk-3LKOXQWZ.js';
16
16
  export { ThemeGallery } from './chunk-4TAMRAUQ.js';
@@ -22,8 +22,8 @@ export { TABLE_TAGS_CELL_LABELS, TableDateCell, TableEntityCell, TableKeyCell, T
22
22
  export { SlideGrid } from './chunk-6M2N6ETA.js';
23
23
  export { SOURCE_EDITOR_KEYS, SourceEditor, lineStart } from './chunk-PW57R4BN.js';
24
24
  export { StatCard } from './chunk-G5IZGAWS.js';
25
- export { Statement } from './chunk-MZJKPTA5.js';
26
25
  export { StatGroup } from './chunk-OUD75UB2.js';
26
+ export { Statement } from './chunk-MZJKPTA5.js';
27
27
  export { CellDisplay, CellEditor, CheckboxCell, DateCell, LongTextCell, MultiSelectCell, NumberCell, PersonCell, RatingCell, SelectCell, SheetCell, SheetGrid, StatusCell, TextCell, UrlCell } from './chunk-ZDMZP5H4.js';
28
28
  export { TagGroup } from './chunk-UEOEBOBR.js';
29
29
  export { matchesShortcut, useShortcut } from './chunk-LZNPL266.js';
@@ -37,8 +37,8 @@ export { SettingsTable, SettingsTableRow } from './chunk-SOYPCCSJ.js';
37
37
  export { SetupWizard } from './chunk-IX6CHGM4.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 { canonicalMarkdown, roundTripMarkdown } from './chunk-GBASM5EV.js';
41
- import './chunk-7CSTEH5I.js';
40
+ export { RichEditor, preloadRichEditor } from './chunk-LWYGCXRL.js';
41
+ export { RICH_EDITOR_LABELS, richEditorLabels } from './chunk-2DMTW2Y3.js';
42
42
  export { RoomRow } from './chunk-Z34W5TM6.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';
@@ -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 { RichEditor, preloadRichEditor } from './chunk-3P7XS5VT.js';
54
- export { RICH_EDITOR_LABELS, richEditorLabels } from './chunk-2DMTW2Y3.js';
53
+ export { canonicalMarkdown, roundTripMarkdown } from './chunk-GBASM5EV.js';
54
+ import './chunk-7CSTEH5I.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';
@@ -60,15 +60,15 @@ export { RAIL_LIST_LABELS, RailList } from './chunk-M576OESX.js';
60
60
  export { Select } from './chunk-3IWZVEXA.js';
61
61
  export { NavGroup, NavItem, SidebarNav } from './chunk-BRK3HXGZ.js';
62
62
  export { Text } from './chunk-O5CEG7TQ.js';
63
- export { READING_PANE_ENTER, ReadingPane, ReadingPaneByline, ReadingPaneLead, ReadingPaneOutcome, ReadingPaneQuote, ReadingPaneReasoning, ReadingPaneSection, ReadingPaneTitle } from './chunk-64JNKLLP.js';
64
63
  export { AddReaction, REACTION_BAR_LABELS, ReactionBar, reactionWho } from './chunk-B3BJ66GQ.js';
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';
66
67
  export { PresenterView, formatStopwatch } from './chunk-LMEMH6DO.js';
67
68
  export { SLIDE_NAV_LABELS, SlideNav } from './chunk-5AJR6X75.js';
68
69
  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 { Outline, scrollToHeading, useActiveHeading } from './chunk-7QCSISHM.js';
71
+ export { MessageBubble } from './chunk-KAQ2L74F.js';
72
72
  export { PageNote } from './chunk-CV4NES3P.js';
73
73
  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';
74
74
  export { PEOPLE_RAIL_LABELS, PeopleRail, peopleRailKey } from './chunk-QGEDXYLB.js';
@@ -82,32 +82,32 @@ export { OrgTable, OrgTableActions, OrgTableAdd, OrgTableName } from './chunk-I4
82
82
  export { TreeGrid } from './chunk-ZDWAIVWL.js';
83
83
  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';
84
84
  export { OrgLabel } from './chunk-5YXMKZUA.js';
85
+ export { Outline, scrollToHeading, useActiveHeading } from './chunk-7QCSISHM.js';
86
+ export { MEMBER_PICKER_LABELS, MemberPicker, chosenMembers } from './chunk-SDHLAW3G.js';
85
87
  export { MentionChip } from './chunk-PX5BOALQ.js';
86
88
  export { MENTION_MENU_LABELS, MentionMenu, mentionQuery } from './chunk-G7SAFRSJ.js';
87
89
  export { PersonRow } from './chunk-6TD2PCZB.js';
88
90
  export { MERGE_CONFLICTS_LABELS, MergeConflicts } from './chunk-H4WQWCHP.js';
89
91
  export { ActionDivider, MessageAction, MessageActions, QuickReaction } from './chunk-3NO5GRZY.js';
90
92
  import './chunk-TDFLCUBE.js';
91
- export { MessageBubble } from './chunk-KAQ2L74F.js';
92
93
  export { LIVE_CURSOR_HIDE_MS, LIVE_CURSOR_REST_MS, LiveCursor } from './chunk-DPNVKWJX.js';
93
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';
94
95
  export { LogoSlot, LogoSlotGroup } from './chunk-LAZ72JOP.js';
95
96
  export { MARKDOWN_FORMATS, MARKDOWN_TEXT_FORMATS, MarkdownEditor, formatMarkdown, insertMarkdown, markdownWords } from './chunk-XSJSDNRR.js';
96
- export { MEMBER_PICKER_LABELS, MemberPicker, chosenMembers } from './chunk-SDHLAW3G.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';
100
99
  export { LinkCard } from './chunk-O3MYBNRO.js';
101
100
  import './chunk-KOJPDCGQ.js';
101
+ export { Link } from './chunk-QF5UNP4T.js';
102
+ export { LinkInterstitial, openExternal } from './chunk-OC6BMY3C.js';
102
103
  export { List, ListItem } from './chunk-A7UOYLK3.js';
103
104
  export { ListDetail } from './chunk-P33VNG7Q.js';
104
- export { LinkInterstitial, openExternal } from './chunk-OC6BMY3C.js';
105
105
  export { ListInput, withDraft } from './chunk-PICHV3PC.js';
106
106
  export { INLINE_EDITOR_LABELS, InlineEditor } from './chunk-CFJ7FQZI.js';
107
107
  export { InlineRef } from './chunk-JGDCVLD4.js';
108
108
  export { MARKDOWN_CALLOUT_NAMES, MARKDOWN_CALLOUT_TONES, markdownBreaks, markdownClosesFence, markdownCodeText, markdownFenceOf, markdownHeadingOf, markdownInline, markdownLines, parseMarkdown, parseMarkdownSpans, safeHref } from './chunk-KBZO4B33.js';
109
109
  export { KeyValueRows, keyValueRowsLabels } from './chunk-SRHLFQ4J.js';
110
- export { IDLE_AFTER_MS, useFullscreen, useIdle } from './chunk-W5XCNEZC.js';
110
+ export { Highlight, highlightRanges, highlightTerms } from './chunk-H6VKCIWV.js';
111
111
  import './chunk-MICRGE3J.js';
112
112
  import './chunk-FFMCMSJB.js';
113
113
  export { IconTile } from './chunk-3LI4TRUR.js';
@@ -121,26 +121,26 @@ export { FolderTile, describeFolderContents, folderContentsParts } from './chunk
121
121
  export { FollowBanner } from './chunk-NTRKC2JV.js';
122
122
  export { DEFAULT_FRAME_THEME, EXTERNAL_URL_MAX, FRAME_BRIDGE, FRAME_MESSAGE, FRAME_ORIGIN_MODES, FRAME_SANDBOX_TOKENS, applyFrameTheme, checkFrameSandbox, externalUrl, frameFragment, frameOriginMatches, frameThemeMessage, httpOrigin, isFocusExit, isFrameNonce, negotiateBridge, parseFrameFragment, portTargetOrigin, readFrameHello, readFramePortMessage, readFrameTheme, readOpenLink } from './chunk-F6V2PTN6.js';
123
123
  export { DENSITY_PREFERENCES, PALETTE_ID, THEME_PREFERENCES, applyDensity, applyPalette, applyTheme, isDensityPreference, isPaletteId, isThemePreference } from './chunk-ZXXDZJQN.js';
124
- export { Highlight, highlightRanges, highlightTerms } from './chunk-H6VKCIWV.js';
124
+ export { IDLE_AFTER_MS, useFullscreen, useIdle } from './chunk-W5XCNEZC.js';
125
125
  export { EntityChip } from './chunk-65RFU7LF.js';
126
126
  export { EntityList } from './chunk-TN3BH3Q4.js';
127
127
  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 { Divider } from './chunk-6KWNXIDE.js';
132
131
  export { DOC_TABS_EDITOR_LABELS, DocTabsEditor } from './chunk-2HBY3FOZ.js';
132
+ export { Divider } from './chunk-6KWNXIDE.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 { DEEP_WORK_CARD_LABELS, DEEP_WORK_STATES, DEEP_WORK_STATE_LABELS, DeepWorkCard } from './chunk-XJOTW2FB.js';
139
+ export { DELIVERY_RECEIPT_LABELS, DeliveryReceipt } from './chunk-NGJWRR7E.js';
140
+ export { DEEP_WORK_CARD_LABELS, DEEP_WORK_STATES, DEEP_WORK_STATE_LABELS, DeepWorkCard } from './chunk-5U6XAUYM.js';
140
141
  export { STEP_STATES, STEP_STATE_LABELS, StepList, StepStateMark, Stepper, stepDetailPieces } from './chunk-KUMHQY2B.js';
141
- export { DEFAULT_METER_THRESHOLDS, METER_STATES, Meter, meterState, meterStateTone, meterTone, progressTone } from './chunk-RQFRRPV6.js';
142
142
  export { REFUSAL_STRIP_LABELS, ReceiptStrip, RefusalStrip } from './chunk-ZWCK4N4L.js';
143
- export { DELIVERY_RECEIPT_LABELS, DeliveryReceipt } from './chunk-NGJWRR7E.js';
143
+ export { DEFAULT_METER_THRESHOLDS, METER_STATES, Meter, meterState, meterStateTone, meterTone, progressTone } from './chunk-RQFRRPV6.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 { ChoiceCards } from './chunk-CFCJ3P7B.js';
171
170
  export { ChoiceList } from './chunk-XU7RQNT6.js';
171
+ export { ChoiceCards } from './chunk-CFCJ3P7B.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';
@@ -208,7 +208,7 @@ export { CalendarGrid, compareDays, daysInMonth, sameDay, shiftDay, shiftMonth,
208
208
  export { Callout } from './chunk-BPCY7ZID.js';
209
209
  export { CANVAS_COMPOSE_CONTEXT, CANVAS_FIT_MAX_ZOOM, CANVAS_FIT_PADDING, CANVAS_FOCUS_CONTEXT, CANVAS_MAX_ZOOM, CANVAS_MIN_ZOOM, CANVAS_PAN_MARGIN, CANVAS_PAN_STEP, CANVAS_REVEAL_PADDING, CANVAS_TAP_SLOP, CANVAS_WHEEL_LINE_PX, CANVAS_WHEEL_ZOOM_PER_PIXEL, CANVAS_ZOOM_CEILING, CANVAS_ZOOM_LIMITS, CANVAS_ZOOM_STEP, Canvas, IDENTITY_VIEW, ShortcutTip, anchorView, beyondSlop, clampPan, clampZoom, fitView, gridOf, panBy, pinchView, regionView, revealView, screenRect, toScreen, toWorld, wheelPixels, wheelZoomFactor, zoomAt, zoomLimits } from './chunk-NCUSI4ZU.js';
210
210
  import './chunk-LM3ISVJA.js';
211
- export { AsideLayout } from './chunk-QOXLP5PE.js';
211
+ export { ASIDE_LAYOUT_SPLIT_REM, AsideLayout } from './chunk-7UQQEUOT.js';
212
212
  export { ATTACHMENT_CHIP_LABELS, AttachmentChip } from './chunk-MTDISM7I.js';
213
213
  export { Tag } from './chunk-SJ3EUCFD.js';
214
214
  export { ATTENTION_LIST_LABELS, AttentionList } from './chunk-AELKT34H.js';
package/dist/styles.css CHANGED
@@ -4938,10 +4938,10 @@ a.crewlet-make-row__item:active {
4938
4938
  }
4939
4939
 
4940
4940
 
4941
- /* AsideLayout-AA3DEJKN.css */
4941
+ /* AsideLayout-SJO7VLPQ.css */
4942
4942
  /*
4943
4943
  * AsideLayout: a main column with an aside beside it from 56rem of its own
4944
- * width, and after it below that (AsideLayout.tsx).
4944
+ * width (44rem in a pane), and after it below that (AsideLayout.tsx).
4945
4945
  */
4946
4946
 
4947
4947
  .crewlet-aside-layout {
@@ -4973,6 +4973,8 @@ a.crewlet-make-row__item:active {
4973
4973
  midway: the aside takes the gap's own step under it, where the stack's
4974
4974
  smaller step left it 32px under the main column and 24px over the aside. */
4975
4975
  .crewlet-aside-layout__aside {
4976
+ --crewlet-aside-layout-stick: static;
4977
+
4976
4978
  padding-top: var(--crewlet-aside-layout-gap);
4977
4979
  border-top: 1px solid var(--color-border-default);
4978
4980
  }
@@ -4984,11 +4986,53 @@ a.crewlet-make-row__item:active {
4984
4986
  }
4985
4987
 
4986
4988
  .crewlet-aside-layout__aside {
4989
+ --crewlet-aside-layout-stick: sticky;
4990
+
4991
+ padding-top: 0;
4992
+ border-top: 0;
4993
+ }
4994
+ }
4995
+
4996
+ /* A PANE (`fit="pane"`) is narrower than a page by the list beside it: it
4997
+ splits sooner, at a narrower aside, one step apart. */
4998
+ .crewlet-aside-layout--pane .crewlet-aside-layout__columns {
4999
+ --crewlet-aside-layout-gap: var(--spacing-6);
5000
+ }
5001
+
5002
+ @container (min-width: 44rem) {
5003
+ .crewlet-aside-layout--pane .crewlet-aside-layout__columns {
5004
+ grid-template-columns: minmax(0, 1fr) var(--crewlet-aside-layout-aside, 16rem);
5005
+ gap: var(--spacing-4);
5006
+ }
5007
+
5008
+ .crewlet-aside-layout--pane .crewlet-aside-layout__aside {
5009
+ --crewlet-aside-layout-stick: sticky;
5010
+
4987
5011
  padding-top: 0;
4988
5012
  border-top: 0;
4989
5013
  }
4990
5014
  }
4991
5015
 
5016
+ /* STICKY (`sticky`): the aside's content as one stack, as tall as itself, so
5017
+ it has the aside's length to stick along. Only a split sets the aside's
5018
+ `--crewlet-aside-layout-stick`, so it sticks beside the main column alone. */
5019
+ .crewlet-aside-layout--sticky > .crewlet-aside-layout__columns {
5020
+ align-items: stretch;
5021
+ }
5022
+
5023
+ .crewlet-aside-layout__stick {
5024
+ position: var(--crewlet-aside-layout-stick);
5025
+ top: 0;
5026
+ display: flex;
5027
+ flex-direction: column;
5028
+ gap: var(--spacing-6);
5029
+ }
5030
+
5031
+ /* ALONE (no aside), the main column is the whole width at every size. */
5032
+ .crewlet-aside-layout--alone > .crewlet-aside-layout__columns {
5033
+ grid-template-columns: minmax(0, 1fr);
5034
+ }
5035
+
4992
5036
 
4993
5037
  /* AttachmentChip-RZ6ZCB43.css */
4994
5038
  /*
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@crewlethq/ui",
3
- "version": "0.95.0",
3
+ "version": "0.96.0",
4
4
  "description": "Crewlet shared React components built on @crewlethq/tokens and @crewlethq/icons.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -42,8 +42,8 @@
42
42
  "clean": "rm -rf dist src/generated"
43
43
  },
44
44
  "dependencies": {
45
- "@crewlethq/icons": "0.95.0",
46
- "@crewlethq/tokens": "0.95.0",
45
+ "@crewlethq/icons": "0.96.0",
46
+ "@crewlethq/tokens": "0.96.0",
47
47
  "prosemirror-commands": "1.7.2",
48
48
  "prosemirror-gapcursor": "1.4.1",
49
49
  "prosemirror-history": "1.5.1",
@@ -1,49 +0,0 @@
1
- /*
2
- * AsideLayout: a main column with an aside beside it from 56rem of its own
3
- * width, and after it below that (AsideLayout.tsx).
4
- */
5
-
6
- .crewlet-aside-layout {
7
- container-type: inline-size;
8
- min-width: 0;
9
- }
10
-
11
- .crewlet-aside-layout__columns {
12
- --crewlet-aside-layout-gap: var(--spacing-7);
13
-
14
- display: grid;
15
- grid-template-columns: minmax(0, 1fr);
16
- align-items: start;
17
- gap: var(--crewlet-aside-layout-gap);
18
- }
19
-
20
- /* EACH COLUMN IS A STACK one step apart, so the blocks in it stand apart
21
- evenly without each carrying a margin of its own. */
22
- .crewlet-aside-layout__main,
23
- .crewlet-aside-layout__aside {
24
- display: flex;
25
- flex-direction: column;
26
- gap: var(--spacing-6);
27
- min-width: 0;
28
- }
29
-
30
- /* FOLLOWING THE MAIN COLUMN, the aside is set off by one hairline, so its
31
- facts read as about the page rather than as more of it. The hairline sits
32
- midway: the aside takes the gap's own step under it, where the stack's
33
- smaller step left it 32px under the main column and 24px over the aside. */
34
- .crewlet-aside-layout__aside {
35
- padding-top: var(--crewlet-aside-layout-gap);
36
- border-top: 1px solid var(--color-border-default);
37
- }
38
-
39
- @container (min-width: 56rem) {
40
- .crewlet-aside-layout__columns {
41
- grid-template-columns: minmax(0, 1fr) var(--crewlet-aside-layout-aside, 18rem);
42
- gap: var(--spacing-8);
43
- }
44
-
45
- .crewlet-aside-layout__aside {
46
- padding-top: 0;
47
- border-top: 0;
48
- }
49
- }
@@ -1,12 +0,0 @@
1
- import { cx } from './chunk-ODEQTPFM.js';
2
- import './AsideLayout-AA3DEJKN.css';
3
- import { jsx, jsxs } from 'react/jsx-runtime';
4
-
5
- function AsideLayout({ children, aside, asideLabel, className, ...rest }) {
6
- return /* @__PURE__ */ jsx("div", { ...rest, className: cx("crewlet-aside-layout", className), children: /* @__PURE__ */ jsxs("div", { className: "crewlet-aside-layout__columns", children: [
7
- /* @__PURE__ */ jsx("div", { className: "crewlet-aside-layout__main", children }),
8
- /* @__PURE__ */ jsx("aside", { className: "crewlet-aside-layout__aside", "aria-label": asideLabel, children: aside })
9
- ] }) });
10
- }
11
-
12
- export { AsideLayout };
@@ -1,5 +1,5 @@
1
- import { schema, readMarkdown, writeMarkdown } from './chunk-7CSTEH5I.js';
2
1
  import { richEditorLabels } from './chunk-2DMTW2Y3.js';
2
+ import { schema, readMarkdown, writeMarkdown } from './chunk-7CSTEH5I.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,6 +1,6 @@
1
1
  import { StepList } from './chunk-KUMHQY2B.js';
2
- import { Meter } from './chunk-RQFRRPV6.js';
3
2
  import { ReceiptStrip } from './chunk-ZWCK4N4L.js';
3
+ import { Meter } from './chunk-RQFRRPV6.js';
4
4
  import { StatusCard } from './chunk-4BEMS6Q7.js';
5
5
  import { Disclosure } from './chunk-NAHA62WD.js';
6
6
  import { Spinner } from './chunk-XSPCITPN.js';