@crewlethq/ui 0.95.0 → 0.97.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -2
- package/dist/AppShell/index.js +1 -1
- package/dist/{AppShell-NX5HCD4O.css → AppShell-24IM2GC3.css} +12 -2
- package/dist/AsideLayout/AsideLayout.d.ts +31 -7
- package/dist/AsideLayout/index.d.ts +2 -2
- package/dist/AsideLayout/index.js +1 -1
- package/dist/AsideLayout-SJO7VLPQ.css +93 -0
- package/dist/DeepWorkCard/index.js +2 -2
- package/dist/List/List.d.ts +9 -1
- package/dist/List/index.js +1 -1
- package/dist/{List-ZZF6ZHRT.css → List-BNA4XGMH.css} +7 -0
- package/dist/OrgTable/index.js +2 -2
- package/dist/RoomRow/index.js +2 -2
- package/dist/Switcher/index.js +1 -1
- package/dist/{Switcher-VWQMZUTN.css → Switcher-ZGRTTVCS.css} +8 -1
- package/dist/chunk-7UQQEUOT.js +35 -0
- package/dist/{chunk-ORONAXSF.js → chunk-CWJLDCB7.js} +1 -1
- package/dist/{chunk-A7UOYLK3.js → chunk-F2ZSFDJZ.js} +3 -1
- package/dist/{chunk-ET4I3IEA.js → chunk-O3II3KJY.js} +1 -1
- package/dist/{chunk-Z34W5TM6.js → chunk-PQDQ64KY.js} +1 -1
- package/dist/generated/index.js +23 -23
- package/dist/index.js +23 -23
- package/dist/styles.css +76 -8
- package/package.json +3 -3
- package/scripts/check-css-literals.mjs +22 -1
- package/dist/AsideLayout-AA3DEJKN.css +0 -49
- package/dist/chunk-QOXLP5PE.js +0 -12
- package/dist/{chunk-XJOTW2FB.js → chunk-5U6XAUYM.js} +1 -1
- package/dist/{chunk-I46ZTLDW.js → chunk-DWQYV5AV.js} +1 -1
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
|
|
174
|
-
on a pseudo element
|
|
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
|
|
package/dist/AppShell/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { APP_SHELL_ASIDE_WIDTH, AccountRow, AppShell, AppShellRail, AppShellRailRow, AppShellRailStatus, AppShellToggle, AppShellTopbar, readStoredWidth, useAppShell, useScreenBelow, useScreenWidth, useStoredWidth } from '../chunk-
|
|
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
|
-
|
|
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
|
/*
|
|
@@ -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
|
-
/**
|
|
6
|
-
|
|
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
|
|
17
|
-
* `--crewlet-aside-layout-aside` (18rem by default
|
|
18
|
-
* follows the main column under one hairline,
|
|
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-
|
|
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-
|
|
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';
|
package/dist/List/List.d.ts
CHANGED
|
@@ -47,6 +47,14 @@ 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
|
+
/**
|
|
51
|
+
* Where a `bulleted` or `numbered` list's markers stand. `indented` (the
|
|
52
|
+
* default) gives them a gutter inside the list. `hanging` sets them in the
|
|
53
|
+
* margin before it, so the words line up with the text above and a narrow
|
|
54
|
+
* box keeps its width for them. For a container that keeps that margin free,
|
|
55
|
+
* such as a titled Callout's icon column.
|
|
56
|
+
*/
|
|
57
|
+
markers?: 'indented' | 'hanging' | undefined;
|
|
50
58
|
}
|
|
51
59
|
/**
|
|
52
60
|
* The non-tabular list: an activity feed, a set of search results, a
|
|
@@ -58,7 +66,7 @@ export interface ListProps extends HTMLAttributes<HTMLElement> {
|
|
|
58
66
|
* means nothing. What a feed does want is alignment, which `template` gives it
|
|
59
67
|
* without the promise.
|
|
60
68
|
*/
|
|
61
|
-
export declare function List({ variant, template, density, measure, className, style, children, ...rest }: ListProps): import("react").JSX.Element;
|
|
69
|
+
export declare function List({ variant, template, density, measure, markers, className, style, children, ...rest }: ListProps): import("react").JSX.Element;
|
|
62
70
|
export declare namespace List {
|
|
63
71
|
var Item: typeof ListItem;
|
|
64
72
|
}
|
package/dist/List/index.js
CHANGED
|
@@ -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;
|
package/dist/OrgTable/index.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
export { OrgTable, OrgTableActions, OrgTableAdd, OrgTableName } from '../chunk-
|
|
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';
|
package/dist/RoomRow/index.js
CHANGED
package/dist/Switcher/index.js
CHANGED
|
@@ -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
|
-
|
|
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 {
|
|
@@ -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 };
|
|
@@ -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-
|
|
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-
|
|
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-
|
|
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';
|
package/dist/generated/index.js
CHANGED
|
@@ -9,27 +9,27 @@ 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';
|
|
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-
|
|
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
|
-
export { SlideGrid } from '../chunk-6M2N6ETA.js';
|
|
23
22
|
export { SOURCE_EDITOR_KEYS, SourceEditor, lineStart } from '../chunk-PW57R4BN.js';
|
|
24
23
|
export { StatCard } from '../chunk-G5IZGAWS.js';
|
|
25
|
-
export { Statement } from '../chunk-MZJKPTA5.js';
|
|
26
24
|
export { StatGroup } from '../chunk-OUD75UB2.js';
|
|
27
|
-
export {
|
|
28
|
-
export { TagGroup } from '../chunk-UEOEBOBR.js';
|
|
25
|
+
export { Statement } from '../chunk-MZJKPTA5.js';
|
|
29
26
|
export { matchesShortcut, useShortcut } from '../chunk-LZNPL266.js';
|
|
30
27
|
import '../chunk-5AHNW5CP.js';
|
|
28
|
+
export { CellDisplay, CellEditor, CheckboxCell, DateCell, LongTextCell, MultiSelectCell, NumberCell, PersonCell, RatingCell, SelectCell, SheetCell, SheetGrid, StatusCell, TextCell, UrlCell } from '../chunk-ZDMZP5H4.js';
|
|
29
|
+
export { TagGroup } from '../chunk-UEOEBOBR.js';
|
|
31
30
|
export { SLIDE_COMPARE_LABELS, SlideCompare } from '../chunk-XJMES7AE.js';
|
|
32
31
|
export { SlideFilmstrip } from '../chunk-RO5JU6SN.js';
|
|
32
|
+
export { SlideGrid } from '../chunk-6M2N6ETA.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';
|
|
@@ -37,19 +37,19 @@ 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 {
|
|
41
|
-
import '../chunk-7CSTEH5I.js';
|
|
42
|
-
export { RoomRow } from '../chunk-Z34W5TM6.js';
|
|
40
|
+
export { RoomRow } from '../chunk-PQDQ64KY.js';
|
|
43
41
|
export { RUN_STATES, RunChip } from '../chunk-MYFSVZKZ.js';
|
|
44
42
|
export { FRAME_HELLO_TIMEOUT_MS, FRAME_LOAD_GRACE_MS, SandboxedFrame, SandboxedFrameNotice, SandboxedFramePlaceholder } from '../chunk-V6WDJUYK.js';
|
|
45
43
|
export { SearchTrigger } from '../chunk-ERNT3UTB.js';
|
|
46
44
|
export { SectionFrame, SectionFrameBody, SectionFrameNav } from '../chunk-7BDBO2NP.js';
|
|
45
|
+
export { RelatedRow } from '../chunk-CL3FWLDO.js';
|
|
47
46
|
export { RecordChip, RecordChipList } from '../chunk-ZPTKAYJK.js';
|
|
48
47
|
export { REFUSAL_CARD_LABELS, RefusalCard } from '../chunk-GKBH5JHE.js';
|
|
49
|
-
export { RelatedRow } from '../chunk-CL3FWLDO.js';
|
|
50
48
|
export { RESULT_TABLE_CARD_LABELS, RESULT_TABLE_COLLAPSED_ROWS, RESULT_TABLE_MAX_ROWS, ResultTableCard } from '../chunk-BMBQ6UMD.js';
|
|
51
49
|
export { Table } from '../chunk-75NQV4R4.js';
|
|
52
50
|
export { ReviewList } from '../chunk-AGVGX52B.js';
|
|
51
|
+
export { canonicalMarkdown, roundTripMarkdown } from '../chunk-GBASM5EV.js';
|
|
52
|
+
import '../chunk-7CSTEH5I.js';
|
|
53
53
|
export { RichEditor, preloadRichEditor } from '../chunk-3P7XS5VT.js';
|
|
54
54
|
export { RICH_EDITOR_LABELS, richEditorLabels } from '../chunk-2DMTW2Y3.js';
|
|
55
55
|
export { PropertyList } from '../chunk-OPVTNHPH.js';
|
|
@@ -60,8 +60,8 @@ 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
66
|
export { PresenterView, formatStopwatch } from '../chunk-LMEMH6DO.js';
|
|
67
67
|
export { SLIDE_NAV_LABELS, SlideNav } from '../chunk-5AJR6X75.js';
|
|
@@ -78,10 +78,11 @@ 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
80
|
export { OrgNodeDisclosure, OrgNodeLabel, OrgNodeLead } from '../chunk-NKBKHOMU.js';
|
|
81
|
-
export { OrgTable, OrgTableActions, OrgTableAdd, OrgTableName } from '../chunk-
|
|
81
|
+
export { OrgTable, OrgTableActions, OrgTableAdd, OrgTableName } from '../chunk-DWQYV5AV.js';
|
|
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 { MEMBER_PICKER_LABELS, MemberPicker, chosenMembers } from '../chunk-SDHLAW3G.js';
|
|
85
86
|
export { MentionChip } from '../chunk-PX5BOALQ.js';
|
|
86
87
|
export { MENTION_MENU_LABELS, MentionMenu, mentionQuery } from '../chunk-G7SAFRSJ.js';
|
|
87
88
|
export { PersonRow } from '../chunk-6TD2PCZB.js';
|
|
@@ -93,21 +94,20 @@ export { LIVE_CURSOR_HIDE_MS, LIVE_CURSOR_REST_MS, LiveCursor } from '../chunk-D
|
|
|
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
99
|
export { Link } from '../chunk-QF5UNP4T.js';
|
|
100
100
|
export { LinkCard } from '../chunk-O3MYBNRO.js';
|
|
101
101
|
import '../chunk-KOJPDCGQ.js';
|
|
102
|
-
export { List, ListItem } from '../chunk-A7UOYLK3.js';
|
|
103
|
-
export { ListDetail } from '../chunk-P33VNG7Q.js';
|
|
104
102
|
export { LinkInterstitial, openExternal } from '../chunk-OC6BMY3C.js';
|
|
103
|
+
export { List, ListItem } from '../chunk-F2ZSFDJZ.js';
|
|
104
|
+
export { ListDetail } from '../chunk-P33VNG7Q.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 {
|
|
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,7 +121,7 @@ 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 {
|
|
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';
|
|
@@ -136,10 +136,10 @@ export { downloadBlob, downloadText, safeFilename, useDownload } from '../chunk-
|
|
|
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-
|
|
139
|
+
export { DEEP_WORK_CARD_LABELS, DEEP_WORK_STATES, DEEP_WORK_STATE_LABELS, DeepWorkCard } from '../chunk-5U6XAUYM.js';
|
|
140
140
|
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
141
|
export { REFUSAL_STRIP_LABELS, ReceiptStrip, RefusalStrip } from '../chunk-ZWCK4N4L.js';
|
|
142
|
+
export { DEFAULT_METER_THRESHOLDS, METER_STATES, Meter, meterState, meterStateTone, meterTone, progressTone } from '../chunk-RQFRRPV6.js';
|
|
143
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';
|
|
@@ -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-
|
|
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';
|
|
@@ -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-
|
|
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';
|
|
@@ -262,9 +262,10 @@ export { attachRef, composeRefs, useComposedRef } from '../chunk-L72URIHR.js';
|
|
|
262
262
|
export { ACCESS_DENIED_REASONS, AccessDeniedCard } from '../chunk-QTMUKRTN.js';
|
|
263
263
|
export { EmptyState } from '../chunk-PPUR46MK.js';
|
|
264
264
|
export { Accordion, AccordionItem } from '../chunk-E2QPZGLG.js';
|
|
265
|
-
export { ACTION_CARD_GROUND, ActionCard, ActionCardRow } from '../chunk-OM2LABPS.js';
|
|
266
265
|
export { ActivityLine } from '../chunk-V7N5XWZ6.js';
|
|
267
266
|
export { ThinkingIndicator } from '../chunk-3OIVYHAA.js';
|
|
267
|
+
export { ACTION_CARD_GROUND, ActionCard, ActionCardRow } from '../chunk-OM2LABPS.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
|
@@ -9,27 +9,27 @@ 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';
|
|
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-
|
|
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
|
-
export { SlideGrid } from './chunk-6M2N6ETA.js';
|
|
23
22
|
export { SOURCE_EDITOR_KEYS, SourceEditor, lineStart } from './chunk-PW57R4BN.js';
|
|
24
23
|
export { StatCard } from './chunk-G5IZGAWS.js';
|
|
25
|
-
export { Statement } from './chunk-MZJKPTA5.js';
|
|
26
24
|
export { StatGroup } from './chunk-OUD75UB2.js';
|
|
27
|
-
export {
|
|
28
|
-
export { TagGroup } from './chunk-UEOEBOBR.js';
|
|
25
|
+
export { Statement } from './chunk-MZJKPTA5.js';
|
|
29
26
|
export { matchesShortcut, useShortcut } from './chunk-LZNPL266.js';
|
|
30
27
|
import './chunk-5AHNW5CP.js';
|
|
28
|
+
export { CellDisplay, CellEditor, CheckboxCell, DateCell, LongTextCell, MultiSelectCell, NumberCell, PersonCell, RatingCell, SelectCell, SheetCell, SheetGrid, StatusCell, TextCell, UrlCell } from './chunk-ZDMZP5H4.js';
|
|
29
|
+
export { TagGroup } from './chunk-UEOEBOBR.js';
|
|
31
30
|
export { SLIDE_COMPARE_LABELS, SlideCompare } from './chunk-XJMES7AE.js';
|
|
32
31
|
export { SlideFilmstrip } from './chunk-RO5JU6SN.js';
|
|
32
|
+
export { SlideGrid } from './chunk-6M2N6ETA.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';
|
|
@@ -37,19 +37,19 @@ 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 {
|
|
41
|
-
import './chunk-7CSTEH5I.js';
|
|
42
|
-
export { RoomRow } from './chunk-Z34W5TM6.js';
|
|
40
|
+
export { RoomRow } from './chunk-PQDQ64KY.js';
|
|
43
41
|
export { RUN_STATES, RunChip } from './chunk-MYFSVZKZ.js';
|
|
44
42
|
export { FRAME_HELLO_TIMEOUT_MS, FRAME_LOAD_GRACE_MS, SandboxedFrame, SandboxedFrameNotice, SandboxedFramePlaceholder } from './chunk-V6WDJUYK.js';
|
|
45
43
|
export { SearchTrigger } from './chunk-ERNT3UTB.js';
|
|
46
44
|
export { SectionFrame, SectionFrameBody, SectionFrameNav } from './chunk-7BDBO2NP.js';
|
|
45
|
+
export { RelatedRow } from './chunk-CL3FWLDO.js';
|
|
47
46
|
export { RecordChip, RecordChipList } from './chunk-ZPTKAYJK.js';
|
|
48
47
|
export { REFUSAL_CARD_LABELS, RefusalCard } from './chunk-GKBH5JHE.js';
|
|
49
|
-
export { RelatedRow } from './chunk-CL3FWLDO.js';
|
|
50
48
|
export { RESULT_TABLE_CARD_LABELS, RESULT_TABLE_COLLAPSED_ROWS, RESULT_TABLE_MAX_ROWS, ResultTableCard } from './chunk-BMBQ6UMD.js';
|
|
51
49
|
export { Table } from './chunk-75NQV4R4.js';
|
|
52
50
|
export { ReviewList } from './chunk-AGVGX52B.js';
|
|
51
|
+
export { canonicalMarkdown, roundTripMarkdown } from './chunk-GBASM5EV.js';
|
|
52
|
+
import './chunk-7CSTEH5I.js';
|
|
53
53
|
export { RichEditor, preloadRichEditor } from './chunk-3P7XS5VT.js';
|
|
54
54
|
export { RICH_EDITOR_LABELS, richEditorLabels } from './chunk-2DMTW2Y3.js';
|
|
55
55
|
export { PropertyList } from './chunk-OPVTNHPH.js';
|
|
@@ -60,8 +60,8 @@ 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
66
|
export { PresenterView, formatStopwatch } from './chunk-LMEMH6DO.js';
|
|
67
67
|
export { SLIDE_NAV_LABELS, SlideNav } from './chunk-5AJR6X75.js';
|
|
@@ -78,10 +78,11 @@ 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
80
|
export { OrgNodeDisclosure, OrgNodeLabel, OrgNodeLead } from './chunk-NKBKHOMU.js';
|
|
81
|
-
export { OrgTable, OrgTableActions, OrgTableAdd, OrgTableName } from './chunk-
|
|
81
|
+
export { OrgTable, OrgTableActions, OrgTableAdd, OrgTableName } from './chunk-DWQYV5AV.js';
|
|
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 { MEMBER_PICKER_LABELS, MemberPicker, chosenMembers } from './chunk-SDHLAW3G.js';
|
|
85
86
|
export { MentionChip } from './chunk-PX5BOALQ.js';
|
|
86
87
|
export { MENTION_MENU_LABELS, MentionMenu, mentionQuery } from './chunk-G7SAFRSJ.js';
|
|
87
88
|
export { PersonRow } from './chunk-6TD2PCZB.js';
|
|
@@ -93,21 +94,20 @@ export { LIVE_CURSOR_HIDE_MS, LIVE_CURSOR_REST_MS, LiveCursor } from './chunk-DP
|
|
|
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
99
|
export { Link } from './chunk-QF5UNP4T.js';
|
|
100
100
|
export { LinkCard } from './chunk-O3MYBNRO.js';
|
|
101
101
|
import './chunk-KOJPDCGQ.js';
|
|
102
|
-
export { List, ListItem } from './chunk-A7UOYLK3.js';
|
|
103
|
-
export { ListDetail } from './chunk-P33VNG7Q.js';
|
|
104
102
|
export { LinkInterstitial, openExternal } from './chunk-OC6BMY3C.js';
|
|
103
|
+
export { List, ListItem } from './chunk-F2ZSFDJZ.js';
|
|
104
|
+
export { ListDetail } from './chunk-P33VNG7Q.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 {
|
|
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,7 +121,7 @@ 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 {
|
|
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';
|
|
@@ -136,10 +136,10 @@ export { downloadBlob, downloadText, safeFilename, useDownload } from './chunk-Y
|
|
|
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-
|
|
139
|
+
export { DEEP_WORK_CARD_LABELS, DEEP_WORK_STATES, DEEP_WORK_STATE_LABELS, DeepWorkCard } from './chunk-5U6XAUYM.js';
|
|
140
140
|
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
141
|
export { REFUSAL_STRIP_LABELS, ReceiptStrip, RefusalStrip } from './chunk-ZWCK4N4L.js';
|
|
142
|
+
export { DEFAULT_METER_THRESHOLDS, METER_STATES, Meter, meterState, meterStateTone, meterTone, progressTone } from './chunk-RQFRRPV6.js';
|
|
143
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';
|
|
@@ -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-
|
|
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';
|
|
@@ -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-
|
|
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';
|
|
@@ -262,9 +262,10 @@ export { attachRef, composeRefs, useComposedRef } from './chunk-L72URIHR.js';
|
|
|
262
262
|
export { ACCESS_DENIED_REASONS, AccessDeniedCard } from './chunk-QTMUKRTN.js';
|
|
263
263
|
export { EmptyState } from './chunk-PPUR46MK.js';
|
|
264
264
|
export { Accordion, AccordionItem } from './chunk-E2QPZGLG.js';
|
|
265
|
-
export { ACTION_CARD_GROUND, ActionCard, ActionCardRow } from './chunk-OM2LABPS.js';
|
|
266
265
|
export { ActivityLine } from './chunk-V7N5XWZ6.js';
|
|
267
266
|
export { ThinkingIndicator } from './chunk-3OIVYHAA.js';
|
|
267
|
+
export { ACTION_CARD_GROUND, ActionCard, ActionCardRow } from './chunk-OM2LABPS.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-
|
|
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
|
-
|
|
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
|
/*
|
|
@@ -4938,10 +4948,10 @@ a.crewlet-make-row__item:active {
|
|
|
4938
4948
|
}
|
|
4939
4949
|
|
|
4940
4950
|
|
|
4941
|
-
/* AsideLayout-
|
|
4951
|
+
/* AsideLayout-SJO7VLPQ.css */
|
|
4942
4952
|
/*
|
|
4943
4953
|
* AsideLayout: a main column with an aside beside it from 56rem of its own
|
|
4944
|
-
* width, and after it below that (AsideLayout.tsx).
|
|
4954
|
+
* width (44rem in a pane), and after it below that (AsideLayout.tsx).
|
|
4945
4955
|
*/
|
|
4946
4956
|
|
|
4947
4957
|
.crewlet-aside-layout {
|
|
@@ -4973,6 +4983,8 @@ a.crewlet-make-row__item:active {
|
|
|
4973
4983
|
midway: the aside takes the gap's own step under it, where the stack's
|
|
4974
4984
|
smaller step left it 32px under the main column and 24px over the aside. */
|
|
4975
4985
|
.crewlet-aside-layout__aside {
|
|
4986
|
+
--crewlet-aside-layout-stick: static;
|
|
4987
|
+
|
|
4976
4988
|
padding-top: var(--crewlet-aside-layout-gap);
|
|
4977
4989
|
border-top: 1px solid var(--color-border-default);
|
|
4978
4990
|
}
|
|
@@ -4984,11 +4996,53 @@ a.crewlet-make-row__item:active {
|
|
|
4984
4996
|
}
|
|
4985
4997
|
|
|
4986
4998
|
.crewlet-aside-layout__aside {
|
|
4999
|
+
--crewlet-aside-layout-stick: sticky;
|
|
5000
|
+
|
|
4987
5001
|
padding-top: 0;
|
|
4988
5002
|
border-top: 0;
|
|
4989
5003
|
}
|
|
4990
5004
|
}
|
|
4991
5005
|
|
|
5006
|
+
/* A PANE (`fit="pane"`) is narrower than a page by the list beside it: it
|
|
5007
|
+
splits sooner, at a narrower aside, one step apart. */
|
|
5008
|
+
.crewlet-aside-layout--pane .crewlet-aside-layout__columns {
|
|
5009
|
+
--crewlet-aside-layout-gap: var(--spacing-6);
|
|
5010
|
+
}
|
|
5011
|
+
|
|
5012
|
+
@container (min-width: 44rem) {
|
|
5013
|
+
.crewlet-aside-layout--pane .crewlet-aside-layout__columns {
|
|
5014
|
+
grid-template-columns: minmax(0, 1fr) var(--crewlet-aside-layout-aside, 16rem);
|
|
5015
|
+
gap: var(--spacing-4);
|
|
5016
|
+
}
|
|
5017
|
+
|
|
5018
|
+
.crewlet-aside-layout--pane .crewlet-aside-layout__aside {
|
|
5019
|
+
--crewlet-aside-layout-stick: sticky;
|
|
5020
|
+
|
|
5021
|
+
padding-top: 0;
|
|
5022
|
+
border-top: 0;
|
|
5023
|
+
}
|
|
5024
|
+
}
|
|
5025
|
+
|
|
5026
|
+
/* STICKY (`sticky`): the aside's content as one stack, as tall as itself, so
|
|
5027
|
+
it has the aside's length to stick along. Only a split sets the aside's
|
|
5028
|
+
`--crewlet-aside-layout-stick`, so it sticks beside the main column alone. */
|
|
5029
|
+
.crewlet-aside-layout--sticky > .crewlet-aside-layout__columns {
|
|
5030
|
+
align-items: stretch;
|
|
5031
|
+
}
|
|
5032
|
+
|
|
5033
|
+
.crewlet-aside-layout__stick {
|
|
5034
|
+
position: var(--crewlet-aside-layout-stick);
|
|
5035
|
+
top: 0;
|
|
5036
|
+
display: flex;
|
|
5037
|
+
flex-direction: column;
|
|
5038
|
+
gap: var(--spacing-6);
|
|
5039
|
+
}
|
|
5040
|
+
|
|
5041
|
+
/* ALONE (no aside), the main column is the whole width at every size. */
|
|
5042
|
+
.crewlet-aside-layout--alone > .crewlet-aside-layout__columns {
|
|
5043
|
+
grid-template-columns: minmax(0, 1fr);
|
|
5044
|
+
}
|
|
5045
|
+
|
|
4992
5046
|
|
|
4993
5047
|
/* AttachmentChip-RZ6ZCB43.css */
|
|
4994
5048
|
/*
|
|
@@ -25257,7 +25311,7 @@ a.crewlet-link-card:hover .crewlet-link-card__title {
|
|
|
25257
25311
|
}
|
|
25258
25312
|
|
|
25259
25313
|
|
|
25260
|
-
/* List-
|
|
25314
|
+
/* List-BNA4XGMH.css */
|
|
25261
25315
|
/*
|
|
25262
25316
|
* The non-tabular list. One row recipe, four framings.
|
|
25263
25317
|
*
|
|
@@ -25387,6 +25441,13 @@ a.crewlet-link-card:hover .crewlet-link-card__title {
|
|
|
25387
25441
|
display: list-item;
|
|
25388
25442
|
}
|
|
25389
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
|
+
|
|
25390
25451
|
.crewlet-list--bulleted .crewlet-list__row,
|
|
25391
25452
|
.crewlet-list--numbered .crewlet-list__row {
|
|
25392
25453
|
min-height: 0;
|
|
@@ -41008,7 +41069,7 @@ svg.crewlet-select__chevron {
|
|
|
41008
41069
|
}
|
|
41009
41070
|
|
|
41010
41071
|
|
|
41011
|
-
/* Switcher-
|
|
41072
|
+
/* Switcher-ZGRTTVCS.css */
|
|
41012
41073
|
/*
|
|
41013
41074
|
* The switcher: a button that is the page's name, and a banded panel under it
|
|
41014
41075
|
* (a search band, a list that scrolls, and a footer that does not).
|
|
@@ -41213,7 +41274,14 @@ svg.crewlet-switcher-trigger__chevron {
|
|
|
41213
41274
|
overflow-y: auto;
|
|
41214
41275
|
overscroll-behavior: contain;
|
|
41215
41276
|
padding: var(--spacing-1);
|
|
41216
|
-
|
|
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
|
+
}
|
|
41217
41285
|
}
|
|
41218
41286
|
|
|
41219
41287
|
.crewlet-switcher__list {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@crewlethq/ui",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.97.0",
|
|
4
4
|
"description": "Crewlet shared React components built on @crewlethq/tokens and @crewlethq/icons.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -42,8 +42,8 @@
|
|
|
42
42
|
"clean": "rm -rf dist src/generated"
|
|
43
43
|
},
|
|
44
44
|
"dependencies": {
|
|
45
|
-
"@crewlethq/icons": "0.
|
|
46
|
-
"@crewlethq/tokens": "0.
|
|
45
|
+
"@crewlethq/icons": "0.97.0",
|
|
46
|
+
"@crewlethq/tokens": "0.97.0",
|
|
47
47
|
"prosemirror-commands": "1.7.2",
|
|
48
48
|
"prosemirror-gapcursor": "1.4.1",
|
|
49
49
|
"prosemirror-history": "1.5.1",
|
|
@@ -47,6 +47,10 @@
|
|
|
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` only inside
|
|
51
|
+
// `@supports not selector(::-webkit-scrollbar)`, apart from `auto` and a
|
|
52
|
+
// hidden bar's `none`. Chromium ignores every `::-webkit-scrollbar` rule on
|
|
53
|
+
// an element that sets either, and draws its native bar instead.
|
|
50
54
|
|
|
51
55
|
import { dirname, resolve } from 'node:path';
|
|
52
56
|
import { fileURLToPath } from 'node:url';
|
|
@@ -76,6 +80,16 @@ const MOTION = new Map([
|
|
|
76
80
|
/** The one query a stop is read inside: exactly this, with nothing else around it. */
|
|
77
81
|
const REDUCE = /^@media\s*\(\s*prefers-reduced-motion\s*:\s*reduce\s*\)$/;
|
|
78
82
|
|
|
83
|
+
/** The condition a scrollbar's standard properties are set under (rule 7). */
|
|
84
|
+
const WITHOUT_WEBKIT_SCROLLBAR = /^@supports not \(?\s*selector\(\s*::-webkit-scrollbar\s*\)\s*\)?$/;
|
|
85
|
+
|
|
86
|
+
/** Whether a declaration switches Chromium off the `::-webkit-scrollbar` rules. */
|
|
87
|
+
function overridesWebkitScrollbar(property, value) {
|
|
88
|
+
const bare = value.replace(/!\s*important\s*$/i, '').trim().toLowerCase();
|
|
89
|
+
if (property === 'scrollbar-width') return bare !== 'auto' && bare !== 'none';
|
|
90
|
+
return property === 'scrollbar-color' && bare !== 'auto';
|
|
91
|
+
}
|
|
92
|
+
|
|
79
93
|
function declarations(body) {
|
|
80
94
|
const found = [];
|
|
81
95
|
for (const part of body.split(';')) {
|
|
@@ -235,8 +249,10 @@ export async function findings(roots, base = packageRoot) {
|
|
|
235
249
|
for (const file of files) {
|
|
236
250
|
const at = (index) => `${file.where}:${lineOf(file.text, index)}`;
|
|
237
251
|
|
|
238
|
-
for (const
|
|
252
|
+
for (const block of rules(file.text)) {
|
|
253
|
+
const { selector, body, index, nestedDeclarations } = block;
|
|
239
254
|
const where = at(index);
|
|
255
|
+
const withoutWebkitScrollbar = conditions(block).some((head) => WITHOUT_WEBKIT_SCROLLBAR.test(head));
|
|
240
256
|
|
|
241
257
|
// Declarations resumed after a nested block carry their block's head
|
|
242
258
|
// again, and the head was read with the block.
|
|
@@ -279,6 +295,11 @@ export async function findings(roots, base = packageRoot) {
|
|
|
279
295
|
if (property === 'z-index' && /^-?\d+$/.test(bare.trim()) && Math.abs(Number(bare.trim())) > 1) {
|
|
280
296
|
problems.push(`${where}: z-index is a literal (${value.trim()}). Use a --z-index-* token, or the Layer module's own depth`);
|
|
281
297
|
}
|
|
298
|
+
if (!withoutWebkitScrollbar && overridesWebkitScrollbar(property, value)) {
|
|
299
|
+
problems.push(
|
|
300
|
+
`${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)`,
|
|
301
|
+
);
|
|
302
|
+
}
|
|
282
303
|
}
|
|
283
304
|
}
|
|
284
305
|
|
|
@@ -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
|
-
}
|
package/dist/chunk-QOXLP5PE.js
DELETED
|
@@ -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,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';
|
|
@@ -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';
|