@crewlethq/ui 0.35.0 → 0.36.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 +77 -0
- package/dist/AgentHandoffPanel/AgentHandoffPanel.d.ts +99 -0
- package/dist/AgentHandoffPanel/index.d.ts +3 -0
- package/dist/AgentHandoffPanel/index.js +16 -0
- package/dist/AgentHandoffPanel-JWSW62GU.css +151 -0
- package/dist/ArrangeFrame/index.js +1 -1
- package/dist/{ArrangeFrame-3PLZAG22.css → ArrangeFrame-QXOQTFAH.css} +22 -5
- package/dist/ArrangeList/index.js +4 -3
- package/dist/ArtifactBar/ArtifactBar.d.ts +2 -1
- package/dist/ArtifactBar/index.js +2 -2
- package/dist/{ArtifactBar-HV5AT4RG.css → ArtifactBar-FWPBBKQ5.css} +8 -0
- package/dist/ArtifactCard/index.js +3 -3
- package/dist/ArtifactCover/index.js +3 -2
- package/dist/ArtifactKindIllustration/ArtifactKindIllustration.d.ts +16 -7
- package/dist/ArtifactKindIllustration/index.js +1 -1
- package/dist/{ArtifactKindIllustration-5FPRJQ3P.css → ArtifactKindIllustration-5KTP43QS.css} +36 -0
- package/dist/ArtifactMakeRow/ArtifactMakeRow.d.ts +39 -0
- package/dist/ArtifactMakeRow/index.d.ts +4 -0
- package/dist/ArtifactMakeRow/index.js +4 -0
- package/dist/ArtifactMakeRow-RWUTS5MC.css +167 -0
- package/dist/ArtifactPanel/ArtifactPanel.d.ts +8 -1
- package/dist/ArtifactPanel/index.js +1 -1
- package/dist/{ArtifactPanel-HW3SU7CP.css → ArtifactPanel-KKUUIPEU.css} +9 -0
- package/dist/AuthLayout/index.js +2 -2
- package/dist/AvatarPicker/index.js +2 -2
- package/dist/Canvas/index.js +2 -2
- package/dist/CanvasBoard/CanvasBoard.d.ts +27 -13
- package/dist/CanvasBoard/index.d.ts +1 -1
- package/dist/CanvasBoard/index.js +4 -4
- package/dist/{CanvasBoard-5NNSKY6A.css → CanvasBoard-TS4P356F.css} +13 -6
- package/dist/CanvasToolbar/index.js +3 -3
- package/dist/Card/index.js +1 -1
- package/dist/{Card-KJOYHDTJ.css → Card-QOVASQNU.css} +17 -12
- package/dist/ChangeMark/index.js +2 -2
- package/dist/Checkbox/index.js +3 -2
- package/dist/ChoiceButtons/index.js +1 -1
- package/dist/{ChoiceButtons-DJ5EOGUA.css → ChoiceButtons-FLIFXFFS.css} +10 -0
- package/dist/ChoiceList/index.js +1 -1
- package/dist/{ChoiceList-RBL7FNQL.css → ChoiceList-EA2W6MOS.css} +36 -5
- package/dist/Combobox/index.js +3 -2
- package/dist/CommandPalette/index.js +3 -2
- package/dist/CommentThread/index.js +6 -5
- package/dist/Composer/Composer.d.ts +4 -0
- package/dist/Composer/index.js +3 -2
- package/dist/{Composer-ABGJIAIR.css → Composer-PXITWNEK.css} +26 -15
- package/dist/ConfirmField/index.js +3 -2
- package/dist/DataTable/index.js +5 -4
- package/dist/DataView/index.js +9 -8
- package/dist/DatasetSource/DatasetSource.d.ts +4 -0
- package/dist/DatasetSource/index.js +1 -1
- package/dist/{DatasetSource-XFPZBRXL.css → DatasetSource-SMGX4PS5.css} +38 -4
- package/dist/DateTimePicker/index.js +2 -1
- package/dist/{DateTimePicker-HG2KQXQ6.css → DateTimePicker-2IVTKFV2.css} +15 -2
- package/dist/DocTabsEditor/index.js +4 -3
- package/dist/Document/Document.d.ts +15 -3
- package/dist/Document/index.js +2 -1
- package/dist/{Document-JUGCSQ4L.css → Document-YFWTWXJP.css} +34 -2
- package/dist/{Editor-BVQHBF7L.js → Editor-HORWMUM3.js} +2 -1
- package/dist/FilterChip/index.js +1 -1
- package/dist/{FilterChip-EZ4QMW4E.css → FilterChip-VL33P3JL.css} +5 -1
- package/dist/Input/index.js +2 -1
- package/dist/{Input-GBZSFXLU.css → Input-ABGOFENS.css} +46 -10
- package/dist/LayersList/index.js +1 -1
- package/dist/{LayersList-NQZEIPZB.css → LayersList-TBNF4XGL.css} +16 -3
- package/dist/LinkInterstitial/index.js +2 -2
- package/dist/ListInput/index.js +4 -3
- package/dist/LivePreview/LivePreview.d.ts +105 -25
- package/dist/LivePreview/budget.d.ts +64 -20
- package/dist/LivePreview/index.d.ts +5 -3
- package/dist/LivePreview/index.js +1 -1
- package/dist/LivePreview/stills.d.ts +57 -0
- package/dist/LivePreview-BROGKR4N.css +113 -0
- package/dist/PresenterView/index.js +2 -2
- package/dist/PrincipalPicker/index.js +4 -3
- package/dist/RichEditor/index.js +1 -1
- package/dist/Select/index.js +2 -1
- package/dist/{Select-A54YS5EP.css → Select-W3CHTZXP.css} +18 -2
- package/dist/ShareDialog/index.js +5 -4
- package/dist/SheetColumnEditor/index.js +7 -6
- package/dist/SheetGrid/index.js +6 -6
- package/dist/SheetModel/columns.d.ts +19 -0
- package/dist/SheetModel/index.d.ts +1 -0
- package/dist/SheetModel/index.js +1 -1
- package/dist/SlideCompare/index.js +2 -2
- package/dist/SlideFilmstrip/index.js +3 -3
- package/dist/{SlideFilmstrip-4ITZLMO4.css → SlideFilmstrip-PAT7P4OG.css} +26 -7
- package/dist/SlideGrid/index.js +2 -2
- package/dist/{SlideGrid-S4LTJ4UU.css → SlideGrid-FJA33DV4.css} +11 -1
- package/dist/SlideStage/index.js +1 -1
- package/dist/{SlideStage-S2FISF4C.css → SlideStage-ZTTEQSS2.css} +4 -2
- package/dist/SourceEditor/index.js +2 -1
- package/dist/{SourceEditor-G2C3STPX.css → SourceEditor-QAYE2JS6.css} +19 -12
- package/dist/Switcher/index.js +5 -4
- package/dist/TagsInput/index.js +3 -2
- package/dist/{TagsInput-XMXTI5Q4.css → TagsInput-7EGBBXHS.css} +7 -1
- package/dist/ThemeGallery/index.js +1 -1
- package/dist/{ThemeGallery-HSUKBDWY.css → ThemeGallery-X35Y25EX.css} +26 -5
- package/dist/TimeWindowPicker/index.js +4 -3
- package/dist/{TimeWindowPicker-T763GLXH.css → TimeWindowPicker-DEFDV77Z.css} +15 -2
- package/dist/TreeCanvas/index.js +3 -3
- package/dist/VersionTimeline/index.js +2 -2
- package/dist/{chunk-V43UVX4H.js → chunk-27GD7LVR.js} +1 -1
- package/dist/{chunk-CCLNGVCM.js → chunk-2DV4THNQ.js} +2 -2
- package/dist/{chunk-2CQLNML5.js → chunk-3PTUDKSR.js} +4 -2
- package/dist/{chunk-ONL54WMH.js → chunk-46RL3E54.js} +1 -1
- package/dist/{chunk-HAKTRTRP.js → chunk-47JQAGRV.js} +1 -1
- package/dist/{chunk-UHJQDFKQ.js → chunk-4ZJLOKSS.js} +1 -1
- package/dist/{chunk-ACA27MZH.js → chunk-5QXRI35B.js} +1 -1
- package/dist/{chunk-LL5AFXU7.js → chunk-5RT5O4JR.js} +1 -1
- package/dist/chunk-66ADEPFB.js +51 -0
- package/dist/{chunk-3Y56GQPM.js → chunk-7VAUGG6B.js} +1 -1
- package/dist/{chunk-NKZCJRKO.js → chunk-APDKUGSH.js} +2 -2
- package/dist/{chunk-YSJC7AZC.js → chunk-BWOIUOO3.js} +1 -1
- package/dist/{chunk-PI7HKLIT.js → chunk-D7GNNID2.js} +3 -1
- package/dist/{chunk-THROPJZC.js → chunk-DEMALFHY.js} +1 -1
- package/dist/chunk-EOQFPZEE.js +138 -0
- package/dist/{chunk-QFNWMWWY.js → chunk-ES4RKQ7B.js} +4 -4
- package/dist/{chunk-MAD6WPER.js → chunk-FG4O64DV.js} +5 -6
- package/dist/{chunk-E35CMI5D.js → chunk-FHHYXZSP.js} +31 -13
- package/dist/{chunk-AYB6AYNH.js → chunk-GMLAKNFY.js} +1 -1
- package/dist/{chunk-ZB5O3ELS.js → chunk-GRYZ5EP3.js} +4 -2
- package/dist/{chunk-ILAEBSLJ.js → chunk-H5NOLRGH.js} +2 -2
- package/dist/{chunk-W3UVOZKL.js → chunk-IPAU6FLH.js} +6 -2
- package/dist/{chunk-Z6VW6CXX.js → chunk-IQH3DDZ2.js} +2 -2
- package/dist/{chunk-6QFAK2WV.js → chunk-IUYUS2SO.js} +4 -1
- package/dist/{chunk-AXBRWRGV.js → chunk-JQLS3MZB.js} +1 -1
- package/dist/{chunk-FGYET26P.js → chunk-KJW2AS57.js} +1 -1
- package/dist/{chunk-QIXMNOBD.js → chunk-KYZMN6I6.js} +2 -2
- package/dist/{chunk-73A7D5CE.js → chunk-L4WZSVMT.js} +3 -1
- package/dist/{chunk-OOMXLJ3S.js → chunk-LFSIKGRQ.js} +13 -1
- package/dist/{chunk-W7QBBKUE.js → chunk-MJW6SQYB.js} +7 -3
- package/dist/{chunk-GMU6SQ6B.js → chunk-MRMHZ437.js} +3 -3
- package/dist/{chunk-ULPL26BU.js → chunk-N5SKHIAP.js} +1 -1
- package/dist/{chunk-LV4APO72.js → chunk-NQGPD6NX.js} +1 -1
- package/dist/{chunk-7UYONN6K.js → chunk-OSZDHN5Z.js} +2 -2
- package/dist/chunk-P6WFZDKS.js +111 -0
- package/dist/{chunk-CPEPST4S.js → chunk-PJIPUEJ3.js} +1 -1
- package/dist/{chunk-QS4ZGTEU.js → chunk-PPFX6GRK.js} +1 -1
- package/dist/{chunk-7DZDSSJS.js → chunk-RH2NCQBZ.js} +5 -4
- package/dist/{chunk-3VD3G3IL.js → chunk-T5RQGI6O.js} +1 -1
- package/dist/{chunk-F2KY4RLI.js → chunk-TVRBQMIX.js} +5 -3
- package/dist/{chunk-QEFHYUCY.js → chunk-UWGUKMBK.js} +1 -1
- package/dist/{chunk-5YLON2PW.js → chunk-UYZZV4DZ.js} +1 -1
- package/dist/{chunk-BQ7AKL2N.js → chunk-VKKUGZ3G.js} +3 -1
- package/dist/{chunk-5VCG26CV.js → chunk-W3HYWD63.js} +4 -4
- package/dist/{chunk-DEJHAOC5.js → chunk-WMXAX6VA.js} +1 -1
- package/dist/{chunk-6JVRY5DQ.js → chunk-WNAYQQ6Y.js} +2 -2
- package/dist/{chunk-VDPJGP4Q.js → chunk-WX2NIG4G.js} +1 -1
- package/dist/{chunk-ZU3DUXD2.js → chunk-WZGYIVYH.js} +1 -1
- package/dist/chunk-XGBLRDSU.js +446 -0
- package/dist/{chunk-22CQQDFW.js → chunk-XMRTFPWX.js} +2 -2
- package/dist/{chunk-HUVG2FFT.js → chunk-Y5BD4MTE.js} +4 -2
- package/dist/chunk-YSGLEHND.js +56 -0
- package/dist/generated/index.d.ts +2 -0
- package/dist/generated/index.js +93 -90
- package/dist/index.js +93 -90
- package/dist/styles.css +862 -130
- package/dist/utils/focusModality.d.ts +41 -0
- package/dist/utils/index.d.ts +2 -0
- package/dist/utils/index.js +2 -1
- package/package.json +3 -3
- package/dist/LivePreview-SRO7KHO4.css +0 -65
- package/dist/chunk-KF6YGL4B.js +0 -160
- package/dist/chunk-TYKQ33CL.js +0 -35
- package/dist/{chunk-3P4Y5RX6.js → chunk-4BYHAOHH.js} +1 -1
- package/dist/{chunk-3WCNHYXE.js → chunk-5BP6IS3N.js} +0 -0
- package/dist/{chunk-KD2IRYCT.js → chunk-5WDXPHEW.js} +1 -1
- package/dist/{chunk-OSFA5ROT.js → chunk-FEJANUZK.js} +0 -0
- package/dist/{chunk-FJJHD73S.js → chunk-GYBDPCRC.js} +1 -1
- package/dist/{chunk-VHZ3AXJD.js → chunk-NQCY44B3.js} +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { VisuallyHidden } from './chunk-BZFWDIV6.js';
|
|
2
2
|
import { cx } from './chunk-ODEQTPFM.js';
|
|
3
|
-
import './ChoiceButtons-
|
|
3
|
+
import './ChoiceButtons-FLIFXFFS.css';
|
|
4
4
|
import { useId } from 'react';
|
|
5
5
|
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
6
6
|
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
import { useFocusModality } from './chunk-YSGLEHND.js';
|
|
1
2
|
import { VisuallyHidden } from './chunk-BZFWDIV6.js';
|
|
2
3
|
import { cx } from './chunk-ODEQTPFM.js';
|
|
3
|
-
import './SourceEditor-
|
|
4
|
+
import './SourceEditor-QAYE2JS6.css';
|
|
4
5
|
import { forwardRef, useRef, useId, useState, useImperativeHandle, useLayoutEffect } from 'react';
|
|
5
6
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
6
7
|
|
|
@@ -37,6 +38,7 @@ var SourceEditor = forwardRef(
|
|
|
37
38
|
"aria-describedby": describedBy,
|
|
38
39
|
...rest
|
|
39
40
|
}, ref) {
|
|
41
|
+
useFocusModality();
|
|
40
42
|
const field = useRef(null);
|
|
41
43
|
const tabLeaves = useRef(false);
|
|
42
44
|
const keysId = useId();
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
+
import { SlideStage, SLIDE_WIDTH, SLIDE_HEIGHT } from './chunk-NQGPD6NX.js';
|
|
1
2
|
import { SlideNav } from './chunk-6VOS2GMB.js';
|
|
2
|
-
import { SlideStage, SLIDE_WIDTH, SLIDE_HEIGHT } from './chunk-LV4APO72.js';
|
|
3
3
|
import { Eyebrow } from './chunk-RK4XPHVG.js';
|
|
4
4
|
import { Button } from './chunk-OG6CL3EB.js';
|
|
5
5
|
import { cx } from './chunk-ODEQTPFM.js';
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
import { Timeline } from './chunk-AUQPBL4O.js';
|
|
2
|
+
import { Section } from './chunk-3TFDQLW3.js';
|
|
3
|
+
import { Disclosure } from './chunk-MICH6QSJ.js';
|
|
4
|
+
import { Composer } from './chunk-RH2NCQBZ.js';
|
|
5
|
+
import { ArtifactPanel } from './chunk-Y5BD4MTE.js';
|
|
6
|
+
import { Button } from './chunk-OG6CL3EB.js';
|
|
7
|
+
import { cx } from './chunk-ODEQTPFM.js';
|
|
8
|
+
import './AgentHandoffPanel-JWSW62GU.css';
|
|
9
|
+
import { useId, useRef, useEffect } from 'react';
|
|
10
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
11
|
+
|
|
12
|
+
var AGENT_HANDOFF_LABELS = {
|
|
13
|
+
title: "Ask an agent",
|
|
14
|
+
brief: "Brief",
|
|
15
|
+
starters: "Start from",
|
|
16
|
+
agent: "Who builds it",
|
|
17
|
+
carried: "Goes with it",
|
|
18
|
+
task: "The task as it is filed",
|
|
19
|
+
next: "What happens next",
|
|
20
|
+
step: "Step"
|
|
21
|
+
};
|
|
22
|
+
function AgentHandoffPanel({
|
|
23
|
+
onClose,
|
|
24
|
+
icon,
|
|
25
|
+
focusOnOpen,
|
|
26
|
+
intro,
|
|
27
|
+
brief,
|
|
28
|
+
onBriefChange,
|
|
29
|
+
briefLabel,
|
|
30
|
+
briefPlaceholder,
|
|
31
|
+
briefHelper,
|
|
32
|
+
briefMaxLength,
|
|
33
|
+
briefRef,
|
|
34
|
+
starters = [],
|
|
35
|
+
onStarter,
|
|
36
|
+
children,
|
|
37
|
+
agent,
|
|
38
|
+
carried = [],
|
|
39
|
+
task,
|
|
40
|
+
steps = [],
|
|
41
|
+
notice,
|
|
42
|
+
send,
|
|
43
|
+
labels,
|
|
44
|
+
className
|
|
45
|
+
}) {
|
|
46
|
+
const words = { ...AGENT_HANDOFF_LABELS, ...labels };
|
|
47
|
+
const briefId = useId();
|
|
48
|
+
const helperId = useId();
|
|
49
|
+
const held = send.disabledReason !== void 0 || send.busy === true;
|
|
50
|
+
const press = () => {
|
|
51
|
+
if (!held) send.onSend();
|
|
52
|
+
};
|
|
53
|
+
const body = useRef(null);
|
|
54
|
+
const sendNow = useRef(press);
|
|
55
|
+
sendNow.current = press;
|
|
56
|
+
useEffect(() => {
|
|
57
|
+
const root = body.current;
|
|
58
|
+
if (!root) return void 0;
|
|
59
|
+
const doc = root.ownerDocument;
|
|
60
|
+
const onKeyDown = (event) => {
|
|
61
|
+
if (event.defaultPrevented || event.isComposing) return;
|
|
62
|
+
if (event.key !== "Enter" || !(event.metaKey || event.ctrlKey)) return;
|
|
63
|
+
if (!(event.target instanceof Node) || !root.contains(event.target)) return;
|
|
64
|
+
event.preventDefault();
|
|
65
|
+
sendNow.current();
|
|
66
|
+
};
|
|
67
|
+
doc.addEventListener("keydown", onKeyDown);
|
|
68
|
+
return () => doc.removeEventListener("keydown", onKeyDown);
|
|
69
|
+
}, []);
|
|
70
|
+
return /* @__PURE__ */ jsx(
|
|
71
|
+
ArtifactPanel,
|
|
72
|
+
{
|
|
73
|
+
title: words.title,
|
|
74
|
+
icon,
|
|
75
|
+
onClose,
|
|
76
|
+
focusOnOpen,
|
|
77
|
+
className: cx("crewlet-agent-handoff", className),
|
|
78
|
+
footer: /* @__PURE__ */ jsxs("div", { className: "crewlet-agent-handoff__foot", children: [
|
|
79
|
+
send.disabledReason && !send.busy ? /* @__PURE__ */ jsx("p", { className: "crewlet-agent-handoff__reason", children: send.disabledReason }) : null,
|
|
80
|
+
/* @__PURE__ */ jsx(
|
|
81
|
+
Button,
|
|
82
|
+
{
|
|
83
|
+
className: "crewlet-agent-handoff__send",
|
|
84
|
+
variant: "primary",
|
|
85
|
+
block: true,
|
|
86
|
+
leadingIcon: send.media ? /* @__PURE__ */ jsx("span", { className: "crewlet-agent-handoff__media", "aria-hidden": true, children: send.media }) : void 0,
|
|
87
|
+
loading: send.busy,
|
|
88
|
+
disabledReason: send.busy ? void 0 : send.disabledReason,
|
|
89
|
+
onClick: press,
|
|
90
|
+
children: send.label
|
|
91
|
+
}
|
|
92
|
+
)
|
|
93
|
+
] }),
|
|
94
|
+
children: /* @__PURE__ */ jsxs("div", { ref: body, className: "crewlet-agent-handoff__body", children: [
|
|
95
|
+
intro ? /* @__PURE__ */ jsx("p", { className: "crewlet-agent-handoff__intro", children: intro }) : null,
|
|
96
|
+
/* @__PURE__ */ jsxs("div", { className: "crewlet-agent-handoff__brief", children: [
|
|
97
|
+
/* @__PURE__ */ jsx("label", { className: "crewlet-agent-handoff__label", htmlFor: briefId, children: briefLabel ?? words.brief }),
|
|
98
|
+
/* @__PURE__ */ jsx(
|
|
99
|
+
Composer,
|
|
100
|
+
{
|
|
101
|
+
ref: briefRef,
|
|
102
|
+
id: briefId,
|
|
103
|
+
label: briefLabel ?? words.brief,
|
|
104
|
+
"aria-describedby": briefHelper ? helperId : void 0,
|
|
105
|
+
value: brief,
|
|
106
|
+
onChange: onBriefChange,
|
|
107
|
+
onSubmit: press,
|
|
108
|
+
placeholder: briefPlaceholder,
|
|
109
|
+
maxLength: briefMaxLength,
|
|
110
|
+
rows: 4
|
|
111
|
+
}
|
|
112
|
+
),
|
|
113
|
+
briefHelper ? /* @__PURE__ */ jsx("p", { id: helperId, className: "crewlet-agent-handoff__helper", children: briefHelper }) : null,
|
|
114
|
+
starters.length > 0 && onStarter && brief.trim() === "" ? /* @__PURE__ */ jsx("div", { className: "crewlet-agent-handoff__starters", role: "group", "aria-label": words.starters, children: starters.map((s) => /* @__PURE__ */ jsx(Button, { size: "small", variant: "secondary", onClick: () => onStarter(s.key), children: s.label }, s.key)) }) : null
|
|
115
|
+
] }),
|
|
116
|
+
children,
|
|
117
|
+
/* @__PURE__ */ jsx(Section, { title: words.agent, className: "crewlet-agent-handoff__section", children: agent }),
|
|
118
|
+
carried.length > 0 || task ? /* @__PURE__ */ jsxs(Section, { title: words.carried, className: "crewlet-agent-handoff__section", children: [
|
|
119
|
+
carried.length > 0 ? /* @__PURE__ */ jsx("ul", { className: "crewlet-agent-handoff__carried", children: carried.map((item) => /* @__PURE__ */ jsxs("li", { className: "crewlet-agent-handoff__item", children: [
|
|
120
|
+
item.icon ? /* @__PURE__ */ jsx("span", { className: "crewlet-agent-handoff__item-icon", "aria-hidden": true, children: item.icon }) : null,
|
|
121
|
+
/* @__PURE__ */ jsxs("span", { className: "crewlet-agent-handoff__item-words", children: [
|
|
122
|
+
/* @__PURE__ */ jsx("span", { className: "crewlet-agent-handoff__item-label", children: item.label }),
|
|
123
|
+
item.detail ? /* @__PURE__ */ jsx("span", { className: "crewlet-agent-handoff__item-detail", children: item.detail }) : null
|
|
124
|
+
] })
|
|
125
|
+
] }, item.key)) }) : null,
|
|
126
|
+
task ? /* @__PURE__ */ jsx(Disclosure, { title: words.task, size: "compact", headingLevel: "none", lazy: true, children: /* @__PURE__ */ jsxs("div", { className: "crewlet-agent-handoff__task", children: [
|
|
127
|
+
/* @__PURE__ */ jsx("p", { className: "crewlet-agent-handoff__task-title", children: task.title }),
|
|
128
|
+
/* @__PURE__ */ jsx("pre", { className: "crewlet-agent-handoff__task-body", children: task.body })
|
|
129
|
+
] }) }) : null
|
|
130
|
+
] }) : null,
|
|
131
|
+
steps.length > 0 ? /* @__PURE__ */ jsx(Section, { title: words.next, className: "crewlet-agent-handoff__section", children: /* @__PURE__ */ jsx(Timeline, { itemLabel: words.step, children: steps.map((step, i) => /* @__PURE__ */ jsx(Timeline.Item, { children: step }, i)) }) }) : null,
|
|
132
|
+
notice
|
|
133
|
+
] })
|
|
134
|
+
}
|
|
135
|
+
);
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
export { AGENT_HANDOFF_LABELS, AgentHandoffPanel };
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { PageHeader } from './chunk-HOXGBLEY.js';
|
|
2
|
-
import { DataTable } from './chunk-
|
|
3
|
-
import { DateTimePicker } from './chunk-
|
|
2
|
+
import { DataTable } from './chunk-XMRTFPWX.js';
|
|
3
|
+
import { DateTimePicker } from './chunk-L4WZSVMT.js';
|
|
4
4
|
import { useListbox, useOptionKeys } from './chunk-F73MC7EZ.js';
|
|
5
5
|
import { Toolbar } from './chunk-PGRPNDWM.js';
|
|
6
6
|
import { Popover } from './chunk-K3IJQNB7.js';
|
|
7
|
-
import { Input } from './chunk-6QFAK2WV.js';
|
|
8
|
-
import { Kbd } from './chunk-SMBKXWML.js';
|
|
9
7
|
import { RelativeTime } from './chunk-3CZ7XAVY.js';
|
|
8
|
+
import { Input } from './chunk-IUYUS2SO.js';
|
|
9
|
+
import { Kbd } from './chunk-SMBKXWML.js';
|
|
10
10
|
import { Count } from './chunk-BHHIIK3M.js';
|
|
11
11
|
import { Menu } from './chunk-BUVCV3WI.js';
|
|
12
12
|
import { Button } from './chunk-OG6CL3EB.js';
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { Select } from './chunk-
|
|
2
|
-
import { SHEET_LABELS, SHEET_COLUMN_TYPES, optionHue } from './chunk-
|
|
1
|
+
import { Select } from './chunk-VKKUGZ3G.js';
|
|
2
|
+
import { SHEET_LABELS, SHEET_COLUMN_TYPES, optionHue, retypeColumn } from './chunk-LFSIKGRQ.js';
|
|
3
3
|
import { HueSwatch } from './chunk-SUXP4OBT.js';
|
|
4
4
|
import { NODE_HUES, NODE_HUE_NAMES } from './chunk-AYKXMIOR.js';
|
|
5
|
-
import { Checkbox } from './chunk-
|
|
6
|
-
import { FormField, Input } from './chunk-
|
|
5
|
+
import { Checkbox } from './chunk-PJIPUEJ3.js';
|
|
6
|
+
import { FormField, Input } from './chunk-IUYUS2SO.js';
|
|
7
7
|
import { Kbd } from './chunk-SMBKXWML.js';
|
|
8
8
|
import { Menu } from './chunk-BUVCV3WI.js';
|
|
9
9
|
import { Button } from './chunk-OG6CL3EB.js';
|
|
@@ -132,8 +132,7 @@ function SheetColumnEditor({
|
|
|
132
132
|
const change = (patch) => onChange({ ...column, ...patch });
|
|
133
133
|
const setType = (type) => {
|
|
134
134
|
if (type === column.type) return;
|
|
135
|
-
const
|
|
136
|
-
const next = { ...rest, type };
|
|
135
|
+
const next = retypeColumn(column, type);
|
|
137
136
|
if (hasChoices(type)) {
|
|
138
137
|
const kept = hasChoices(column.type) ? options : [];
|
|
139
138
|
next.options = type === "status" ? kept.length > 0 ? kept.map((option) => ({ ...option, category: option.category ?? "todo" })) : starters(labels.statusStarters, optionId) : kept.map(({ category: _category, ...option }) => ({ ...option, color: option.color ?? nextHue(kept) }));
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { Note } from './chunk-5SZGKSGL.js';
|
|
2
|
-
import { CanvasToolbar, toolForKey } from './chunk-
|
|
3
|
-
import { IDENTITY_VIEW, Canvas } from './chunk-
|
|
2
|
+
import { CanvasToolbar, toolForKey } from './chunk-7VAUGG6B.js';
|
|
3
|
+
import { IDENTITY_VIEW, Canvas } from './chunk-4BYHAOHH.js';
|
|
4
4
|
import { IconButton } from './chunk-4FQT6ZAY.js';
|
|
5
5
|
import { cx } from './chunk-ODEQTPFM.js';
|
|
6
|
-
import './CanvasBoard-
|
|
6
|
+
import './CanvasBoard-TS4P356F.css';
|
|
7
7
|
import { useState, useRef, useImperativeHandle, useCallback, useMemo, useEffect } from 'react';
|
|
8
8
|
import { MaximizeGlyph, PencilGlyph, TrashGlyph, MousePointer2Glyph, HandGlyph, FrameGlyph, TypeGlyph, StickyNoteGlyph } from '@crewlethq/icons/glyphs';
|
|
9
9
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
@@ -207,12 +207,23 @@ function useFrameGestures(zoom, minSide, maxSide, commit) {
|
|
|
207
207
|
}
|
|
208
208
|
var sameSelection = (a, b) => a === b || a !== null && b !== null && a.kind === b.kind && a.id === b.id;
|
|
209
209
|
function boardRoom(width, height) {
|
|
210
|
-
|
|
211
|
-
if (width >=
|
|
212
|
-
|
|
213
|
-
return { title, lines: 0 };
|
|
210
|
+
if (width >= PLACEHOLDER_FULL.width && height >= PLACEHOLDER_FULL.height) return { lines: 2 };
|
|
211
|
+
if (width >= PLACEHOLDER_SIZE.width && height >= PLACEHOLDER_SIZE.height) return { lines: 1 };
|
|
212
|
+
return { lines: 0 };
|
|
214
213
|
}
|
|
215
|
-
|
|
214
|
+
function boardName(title, position, room) {
|
|
215
|
+
const letters = Array.from(title).length;
|
|
216
|
+
if (room >= (Math.min(letters, BOARD_NAME_MIN_CHARS) + 1) * NAME_GLYPH_PX) {
|
|
217
|
+
return { text: title, whole: room >= letters * NAME_GLYPH_PX };
|
|
218
|
+
}
|
|
219
|
+
const number = String(position);
|
|
220
|
+
if (room >= number.length * NAME_GLYPH_PX) return { text: number, whole: false };
|
|
221
|
+
return null;
|
|
222
|
+
}
|
|
223
|
+
var BOARD_NAME_MIN_CHARS = 3;
|
|
224
|
+
var NAME_GLYPH_PX = 9;
|
|
225
|
+
var HANDLE_END = 9;
|
|
226
|
+
var OPEN_CONTROL = 30;
|
|
216
227
|
var PLACEHOLDER_SIZE = { width: 96, height: 32 };
|
|
217
228
|
var PLACEHOLDER_FULL = { width: 200, height: 64 };
|
|
218
229
|
var TYPING = "input, textarea, select, [contenteditable='true']";
|
|
@@ -412,16 +423,21 @@ function CanvasBoard({
|
|
|
412
423
|
},
|
|
413
424
|
ref: canvas,
|
|
414
425
|
children: /* @__PURE__ */ jsxs("div", { className: "crewlet-canvas-board__layer", style: zoomVar, children: [
|
|
415
|
-
drawnBoards.map((b) => {
|
|
426
|
+
drawnBoards.map((b, index) => {
|
|
416
427
|
const isLive = live.has(b.id);
|
|
417
428
|
const isActive = !editable && active === b.id && isLive;
|
|
418
429
|
const chosen = isSelected("board", b.id);
|
|
419
430
|
const room = boardRoom(b.w * view.k, b.h * view.k);
|
|
431
|
+
const name = boardName(
|
|
432
|
+
b.title,
|
|
433
|
+
index + 1,
|
|
434
|
+
b.w * view.k - (editable ? HANDLE_END : 0) - (onOpen ? OPEN_CONTROL : 0)
|
|
435
|
+
);
|
|
420
436
|
return /* @__PURE__ */ jsxs(
|
|
421
437
|
"section",
|
|
422
438
|
{
|
|
423
439
|
className: "crewlet-canvas-board__board",
|
|
424
|
-
"data-untitled": !
|
|
440
|
+
"data-untitled": !name || void 0,
|
|
425
441
|
"data-live": isLive || void 0,
|
|
426
442
|
"data-active": isActive || void 0,
|
|
427
443
|
"data-selected": chosen || void 0,
|
|
@@ -436,9 +452,10 @@ function CanvasBoard({
|
|
|
436
452
|
className: "crewlet-canvas-board__title crewlet-canvas-board__handle",
|
|
437
453
|
"aria-label": text.move(b.title),
|
|
438
454
|
"aria-pressed": chosen,
|
|
455
|
+
title: name?.whole === false ? b.title : void 0,
|
|
439
456
|
onFocus: () => setSelected({ kind: "board", id: b.id }),
|
|
440
457
|
...boardGestures.handle(b.id, "move", b),
|
|
441
|
-
children: b.title
|
|
458
|
+
children: name?.text ?? b.title
|
|
442
459
|
}
|
|
443
460
|
) : (
|
|
444
461
|
// The name selects its board, as a press on the board
|
|
@@ -449,8 +466,9 @@ function CanvasBoard({
|
|
|
449
466
|
"span",
|
|
450
467
|
{
|
|
451
468
|
className: "crewlet-canvas-board__title",
|
|
469
|
+
title: name?.whole === false ? b.title : void 0,
|
|
452
470
|
onClick: () => setSelected({ kind: "board", id: b.id }),
|
|
453
|
-
children: b.title
|
|
471
|
+
children: name?.text ?? b.title
|
|
454
472
|
}
|
|
455
473
|
)
|
|
456
474
|
),
|
|
@@ -680,4 +698,4 @@ function NoteView({
|
|
|
680
698
|
return /* @__PURE__ */ jsx("div", { className: "crewlet-canvas-board__note", "data-kind": "title", style: frame, ...paper, children: body });
|
|
681
699
|
}
|
|
682
700
|
|
|
683
|
-
export {
|
|
701
|
+
export { BOARD_NAME_MIN_CHARS, CANVAS_BOARD_MAX_LIVE, CANVAS_BOARD_MIN_LIVE_WIDTH, CANVAS_BOARD_MIN_ZOOM, CANVAS_NOTE_COLORS, CanvasBoard, TITLE_GLYPH_EM, boardName, boardRoom, liveBoards, titleSize };
|
|
@@ -2,7 +2,7 @@ import { Tag } from './chunk-GFV4LJHH.js';
|
|
|
2
2
|
import { RelativeTime } from './chunk-3CZ7XAVY.js';
|
|
3
3
|
import { VisuallyHidden } from './chunk-BZFWDIV6.js';
|
|
4
4
|
import { cx } from './chunk-ODEQTPFM.js';
|
|
5
|
-
import './DatasetSource-
|
|
5
|
+
import './DatasetSource-SMGX4PS5.css';
|
|
6
6
|
import { useId, Children, isValidElement } from 'react';
|
|
7
7
|
import { ClockGlyph } from '@crewlethq/icons/glyphs';
|
|
8
8
|
import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
|
|
@@ -40,6 +40,7 @@ function DatasetSource({
|
|
|
40
40
|
const text = { ...LABELS, ...labels, kinds: { ...LABELS.kinds, ...labels?.kinds } };
|
|
41
41
|
const titleId = useId();
|
|
42
42
|
const blocked = status === "refused" || status === "failed";
|
|
43
|
+
const open = selected && children !== void 0 && children !== null && children !== false;
|
|
43
44
|
const state = status === "loading" ? /* @__PURE__ */ jsx("span", { className: "crewlet-dataset-source__state", children: text.loading }) : blocked ? /* @__PURE__ */ jsx("span", { className: "crewlet-dataset-source__state crewlet-dataset-source__state--blocked", children: detail ?? (status === "refused" ? text.refused : text.failed) }) : status === "live" ? /* @__PURE__ */ jsx("span", { className: "crewlet-dataset-source__state", children: text.live }) : asOf !== void 0 && asOf !== null ? /* @__PURE__ */ jsxs("span", { className: "crewlet-dataset-source__state", children: [
|
|
44
45
|
text.asOf,
|
|
45
46
|
" ",
|
|
@@ -87,12 +88,13 @@ function DatasetSource({
|
|
|
87
88
|
"crewlet-dataset-source",
|
|
88
89
|
`crewlet-dataset-source--${status}`,
|
|
89
90
|
selected && "crewlet-dataset-source--selected",
|
|
91
|
+
open && "crewlet-dataset-source--open",
|
|
90
92
|
className
|
|
91
93
|
),
|
|
92
94
|
"aria-busy": status === "loading" || void 0,
|
|
93
95
|
children: [
|
|
94
96
|
onSelect ? /* @__PURE__ */ jsx("button", { type: "button", className: "crewlet-dataset-source__summary", "aria-pressed": selected, onClick: onSelect, children: summary }) : /* @__PURE__ */ jsx("div", { className: "crewlet-dataset-source__summary", children: summary }),
|
|
95
|
-
|
|
97
|
+
open ? /* @__PURE__ */ jsx("div", { className: "crewlet-dataset-source__preview", role: "group", "aria-labelledby": titleId, children }) : null
|
|
96
98
|
]
|
|
97
99
|
}
|
|
98
100
|
);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { SlideStage } from './chunk-
|
|
1
|
+
import { SlideStage } from './chunk-NQGPD6NX.js';
|
|
2
2
|
import { cx } from './chunk-ODEQTPFM.js';
|
|
3
|
-
import './SlideGrid-
|
|
3
|
+
import './SlideGrid-FJA33DV4.css';
|
|
4
4
|
import { EyeOffGlyph } from '@crewlethq/icons/glyphs';
|
|
5
5
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
6
6
|
|
|
@@ -2,9 +2,10 @@ import { ThemeSwatch } from './chunk-MNFU2RNT.js';
|
|
|
2
2
|
import { useHighlightRest } from './chunk-F73MC7EZ.js';
|
|
3
3
|
import { useRoving, tabStop } from './chunk-RKKO7QHH.js';
|
|
4
4
|
import { cx } from './chunk-ODEQTPFM.js';
|
|
5
|
-
import './ThemeGallery-
|
|
5
|
+
import './ThemeGallery-X35Y25EX.css';
|
|
6
6
|
import { useId } from 'react';
|
|
7
7
|
import { themeGroups, themeRegistry } from '@crewlethq/tokens';
|
|
8
|
+
import { CheckGlyph } from '@crewlethq/icons/glyphs';
|
|
8
9
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
9
10
|
|
|
10
11
|
function ThemeGallery({
|
|
@@ -79,7 +80,10 @@ function ThemeGallery({
|
|
|
79
80
|
onMouseEnter: () => preview.rest(theme.id),
|
|
80
81
|
children: [
|
|
81
82
|
renderPreview ? /* @__PURE__ */ jsx("span", { className: "crewlet-theme-gallery__preview", "aria-hidden": "true", children: renderPreview(theme) }) : theme.swatch ? /* @__PURE__ */ jsx(ThemeSwatch, { swatch: theme.swatch, size: "card" }) : null,
|
|
82
|
-
/* @__PURE__ */
|
|
83
|
+
/* @__PURE__ */ jsxs("span", { className: "crewlet-theme-gallery__label", children: [
|
|
84
|
+
/* @__PURE__ */ jsx("span", { className: "crewlet-theme-gallery__name", children: theme.name }),
|
|
85
|
+
chosen ? /* @__PURE__ */ jsx(CheckGlyph, { size: "xs", className: "crewlet-theme-gallery__check", "aria-hidden": "true" }) : null
|
|
86
|
+
] })
|
|
83
87
|
]
|
|
84
88
|
},
|
|
85
89
|
theme.id
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { FormField, Textarea, Input } from './chunk-
|
|
1
|
+
import { FormField, Textarea, Input } from './chunk-IUYUS2SO.js';
|
|
2
2
|
import { Kbd } from './chunk-SMBKXWML.js';
|
|
3
|
-
import { isComposing } from './chunk-R25RGPUB.js';
|
|
4
3
|
import { announce } from './chunk-RSAQOKH3.js';
|
|
4
|
+
import { isComposing } from './chunk-R25RGPUB.js';
|
|
5
5
|
import { IconButton } from './chunk-4FQT6ZAY.js';
|
|
6
6
|
import './ListInput-O7LJKOIG.css';
|
|
7
7
|
import { useState, useRef, useLayoutEffect } from 'react';
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
+
import { useFocusModality } from './chunk-YSGLEHND.js';
|
|
1
2
|
import { useHeadingLevel, headingTag, HeadingLevelProvider, nextHeadingLevel } from './chunk-PQADV6P6.js';
|
|
2
3
|
import { IconButton } from './chunk-4FQT6ZAY.js';
|
|
3
4
|
import { VisuallyHidden } from './chunk-BZFWDIV6.js';
|
|
4
5
|
import { cx } from './chunk-ODEQTPFM.js';
|
|
5
|
-
import './Input-
|
|
6
|
+
import './Input-ABGOFENS.css';
|
|
6
7
|
import { forwardRef, useRef, useState, useImperativeHandle, useEffect, useId } from 'react';
|
|
7
8
|
import { XGlyph } from '@crewlethq/icons/glyphs';
|
|
8
9
|
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
@@ -21,6 +22,7 @@ var Input = forwardRef(function Input2({
|
|
|
21
22
|
disabled,
|
|
22
23
|
...rest
|
|
23
24
|
}, ref) {
|
|
25
|
+
useFocusModality();
|
|
24
26
|
const field = useRef(null);
|
|
25
27
|
const [typed, setTyped] = useState(() => String(rest.defaultValue ?? "") !== "");
|
|
26
28
|
const controlled = rest.value !== void 0;
|
|
@@ -80,6 +82,7 @@ function InputAffix({ text, id, sentence }) {
|
|
|
80
82
|
] });
|
|
81
83
|
}
|
|
82
84
|
var Textarea = forwardRef(function Textarea2({ error = false, autoResize = false, trailing, className = "", value, disabled, ...rest }, ref) {
|
|
85
|
+
useFocusModality();
|
|
83
86
|
const localRef = useRef(null);
|
|
84
87
|
useImperativeHandle(ref, () => localRef.current);
|
|
85
88
|
useEffect(() => {
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { SlideStage } from './chunk-
|
|
1
|
+
import { SlideStage } from './chunk-NQGPD6NX.js';
|
|
2
2
|
import { useReorder } from './chunk-XJ2QEBMM.js';
|
|
3
3
|
import { Kbd, isApplePlatform } from './chunk-SMBKXWML.js';
|
|
4
4
|
import { Menu } from './chunk-BUVCV3WI.js';
|
|
5
5
|
import { VisuallyHidden } from './chunk-BZFWDIV6.js';
|
|
6
6
|
import { cx } from './chunk-ODEQTPFM.js';
|
|
7
|
-
import './SlideFilmstrip-
|
|
7
|
+
import './SlideFilmstrip-PAT7P4OG.css';
|
|
8
8
|
import { useRef, useLayoutEffect, useState } from 'react';
|
|
9
9
|
import { EyeOffGlyph, GripVerticalGlyph, EllipsisGlyph, CopyGlyph, TrashGlyph } from '@crewlethq/icons/glyphs';
|
|
10
10
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { today, CalendarGrid, shiftMonth, compareDays } from './chunk-GXQ3B46I.js';
|
|
2
2
|
import { Popover } from './chunk-K3IJQNB7.js';
|
|
3
|
+
import { useFocusModality } from './chunk-YSGLEHND.js';
|
|
3
4
|
import { Button } from './chunk-OG6CL3EB.js';
|
|
4
5
|
import { IconButton } from './chunk-4FQT6ZAY.js';
|
|
5
6
|
import { cx } from './chunk-ODEQTPFM.js';
|
|
6
|
-
import './DateTimePicker-
|
|
7
|
+
import './DateTimePicker-2IVTKFV2.css';
|
|
7
8
|
import { useMemo, useState, useEffect } from 'react';
|
|
8
9
|
import { CalendarGlyph, ChevronDownGlyph, ChevronsLeftGlyph, ChevronLeftGlyph, ChevronRightGlyph, ChevronsRightGlyph } from '@crewlethq/icons/glyphs';
|
|
9
10
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
@@ -94,6 +95,7 @@ function DateTimePicker({
|
|
|
94
95
|
size = "md",
|
|
95
96
|
labels: labelOverrides
|
|
96
97
|
}) {
|
|
98
|
+
useFocusModality();
|
|
97
99
|
const labels = useMemo(
|
|
98
100
|
() => labelOverrides ? { ...DEFAULT_DATE_TIME_PICKER_LABELS, ...labelOverrides } : DEFAULT_DATE_TIME_PICKER_LABELS,
|
|
99
101
|
[labelOverrides]
|
|
@@ -17,6 +17,18 @@ var SHEET_COLUMN_TYPES = [
|
|
|
17
17
|
];
|
|
18
18
|
var isSheetColumnType = (value) => typeof value === "string" && SHEET_COLUMN_TYPES.includes(value);
|
|
19
19
|
|
|
20
|
+
// src/SheetModel/columns.ts
|
|
21
|
+
var capsLength = (type) => type === "text" || type === "longtext";
|
|
22
|
+
function retypeColumn(column, type) {
|
|
23
|
+
const next = { field: column.field, label: column.label, type };
|
|
24
|
+
if (column.width !== void 0) next.width = column.width;
|
|
25
|
+
if (column.frozen !== void 0) next.frozen = column.frozen;
|
|
26
|
+
if (column.readOnly !== void 0) next.readOnly = column.readOnly;
|
|
27
|
+
if (column.required !== void 0) next.required = column.required;
|
|
28
|
+
if (column.maxLength !== void 0 && capsLength(column.type) && capsLength(type)) next.maxLength = column.maxLength;
|
|
29
|
+
return next;
|
|
30
|
+
}
|
|
31
|
+
|
|
20
32
|
// src/SheetModel/labels.ts
|
|
21
33
|
var TYPE_NAMES = {
|
|
22
34
|
text: "Text",
|
|
@@ -886,4 +898,4 @@ function cellSpeech(column, row, context) {
|
|
|
886
898
|
return spokenText(column, normalizeValue(column, row.values[column.field]), context);
|
|
887
899
|
}
|
|
888
900
|
|
|
889
|
-
export { LONGTEXT_MAX_DEFAULT, RATING_MAX_CEILING, RATING_MAX_DEFAULT, SHEET_COLUMN_BOUNDS, SHEET_COLUMN_TYPES, SHEET_COLUMN_WIDTHS, SHEET_FIT_SAMPLES, SHEET_LABELS, SHEET_ROW_HEIGHT, SHEET_ROW_NUMBER_WIDTH, SheetPendingEdits, TEXT_MAX_DEFAULT, URL_MAX, cellDescription, cellKey, cellSpeech, changeText, changeTime, checkValue, columnOffsets, columnWidth, compareValues, displayText, drawnColumns, editText, editorSide, findOption, findPerson, fitSamples, fittedWidth, flagText, hasPrevious, inRange, isEmptyValue, isMod, isMultiCell, isSheetColumnType, isTypingKey, liveOptions, moveFrom, nextSort, normalizeValue, optionHue, parseOptionList, parseTSV, parseText, planClear, planPaste, presenceByCell, presenceByColumn, presenceByRow, rangeOf, ratingMax, refusalText, rowName, sameValue, scrollToRow, sheetLabels, sortRows, spokenText, statusTone, textMax, toTSV, visibleRows };
|
|
901
|
+
export { LONGTEXT_MAX_DEFAULT, RATING_MAX_CEILING, RATING_MAX_DEFAULT, SHEET_COLUMN_BOUNDS, SHEET_COLUMN_TYPES, SHEET_COLUMN_WIDTHS, SHEET_FIT_SAMPLES, SHEET_LABELS, SHEET_ROW_HEIGHT, SHEET_ROW_NUMBER_WIDTH, SheetPendingEdits, TEXT_MAX_DEFAULT, URL_MAX, cellDescription, cellKey, cellSpeech, changeText, changeTime, checkValue, columnOffsets, columnWidth, compareValues, displayText, drawnColumns, editText, editorSide, findOption, findPerson, fitSamples, fittedWidth, flagText, hasPrevious, inRange, isEmptyValue, isMod, isMultiCell, isSheetColumnType, isTypingKey, liveOptions, moveFrom, nextSort, normalizeValue, optionHue, parseOptionList, parseTSV, parseText, planClear, planPaste, presenceByCell, presenceByColumn, presenceByRow, rangeOf, ratingMax, refusalText, retypeColumn, rowName, sameValue, scrollToRow, sheetLabels, sortRows, spokenText, statusTone, textMax, toTSV, visibleRows };
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { VisuallyHidden } from './chunk-BZFWDIV6.js';
|
|
2
2
|
import { cx } from './chunk-ODEQTPFM.js';
|
|
3
3
|
import './ArtifactKinds-CVD3FCYO.css';
|
|
4
|
-
import './ArtifactKindIllustration-
|
|
4
|
+
import './ArtifactKindIllustration-5KTP43QS.css';
|
|
5
5
|
import { useId } from 'react';
|
|
6
|
+
import { CheckGlyph } from '@crewlethq/icons/glyphs';
|
|
6
7
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
7
8
|
|
|
8
9
|
function ArtifactKindIllustration({ kind, className }) {
|
|
@@ -100,6 +101,7 @@ function ArtifactKindTile({
|
|
|
100
101
|
label,
|
|
101
102
|
href,
|
|
102
103
|
onSelect,
|
|
104
|
+
selected,
|
|
103
105
|
face,
|
|
104
106
|
detail,
|
|
105
107
|
badge,
|
|
@@ -113,7 +115,8 @@ function ArtifactKindTile({
|
|
|
113
115
|
/* @__PURE__ */ jsx("span", { className: "crewlet-kind-tile__frame", children: /* @__PURE__ */ jsx(ArtifactKindGround, { kind, className: "crewlet-kind-tile__ground", children: face }) }),
|
|
114
116
|
/* @__PURE__ */ jsxs("span", { className: "crewlet-kind-tile__label", children: [
|
|
115
117
|
/* @__PURE__ */ jsx("span", { className: "crewlet-kind-tile__name", children: label }),
|
|
116
|
-
badge ? /* @__PURE__ */ jsx("span", { className: "crewlet-kind-tile__badge", children: badge }) : null
|
|
118
|
+
badge ? /* @__PURE__ */ jsx("span", { className: "crewlet-kind-tile__badge", children: badge }) : null,
|
|
119
|
+
selected && href === void 0 ? /* @__PURE__ */ jsx(CheckGlyph, { size: "xs", className: "crewlet-kind-tile__check", "aria-hidden": "true" }) : null
|
|
117
120
|
] }),
|
|
118
121
|
detail ? /* @__PURE__ */ jsx("span", { id: detailId, className: "crewlet-kind-tile__detail", children: detail }) : null
|
|
119
122
|
] });
|
|
@@ -144,7 +147,8 @@ function ArtifactKindTile({
|
|
|
144
147
|
type: "button",
|
|
145
148
|
"aria-label": name,
|
|
146
149
|
"aria-describedby": describedBy,
|
|
147
|
-
|
|
150
|
+
"aria-pressed": selected,
|
|
151
|
+
className: cx("crewlet-kind-tile", "crewlet-kind-tile--button", selected && "is-selected", className),
|
|
148
152
|
onClick: onSelect,
|
|
149
153
|
children: body
|
|
150
154
|
}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { Modal } from './chunk-XEGZHHRH.js';
|
|
2
2
|
import { useListbox, useOptionKeys } from './chunk-F73MC7EZ.js';
|
|
3
|
-
import { Popover } from './chunk-K3IJQNB7.js';
|
|
4
3
|
import { KeyChip, highlightMatch } from './chunk-FYTIJM2T.js';
|
|
5
|
-
import {
|
|
4
|
+
import { Popover } from './chunk-K3IJQNB7.js';
|
|
6
5
|
import { Skeleton } from './chunk-TEUQWOWZ.js';
|
|
6
|
+
import { Input } from './chunk-IUYUS2SO.js';
|
|
7
|
+
import { announce } from './chunk-RSAQOKH3.js';
|
|
7
8
|
import { useMediaMatch } from './chunk-RTPQDNW3.js';
|
|
8
9
|
import { focusables, isComposing } from './chunk-R25RGPUB.js';
|
|
9
|
-
import { announce } from './chunk-RSAQOKH3.js';
|
|
10
10
|
import { VisuallyHidden } from './chunk-BZFWDIV6.js';
|
|
11
11
|
import { cx } from './chunk-ODEQTPFM.js';
|
|
12
12
|
import './Switcher-K3EPA2RB.css';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Modal } from './chunk-XEGZHHRH.js';
|
|
2
2
|
import { useListbox, useHighlightRest } from './chunk-F73MC7EZ.js';
|
|
3
|
-
import { Input } from './chunk-
|
|
3
|
+
import { Input } from './chunk-IUYUS2SO.js';
|
|
4
4
|
import { Kbd } from './chunk-SMBKXWML.js';
|
|
5
5
|
import { Count } from './chunk-BHHIIK3M.js';
|
|
6
6
|
import { isComposing } from './chunk-R25RGPUB.js';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { isComposing } from './chunk-R25RGPUB.js';
|
|
2
2
|
import { cx } from './chunk-ODEQTPFM.js';
|
|
3
|
-
import './SlideStage-
|
|
3
|
+
import './SlideStage-ZTTEQSS2.css';
|
|
4
4
|
import { useRef, useState, useLayoutEffect, useEffect } from 'react';
|
|
5
5
|
import { jsx } from 'react/jsx-runtime';
|
|
6
6
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Skeleton } from './chunk-TEUQWOWZ.js';
|
|
2
2
|
import { PrincipalAvatar } from './chunk-CI3VPIJN.js';
|
|
3
3
|
import { RelativeTime } from './chunk-3CZ7XAVY.js';
|
|
4
|
-
import { ArtifactKindGround } from './chunk-
|
|
5
|
-
import { Card } from './chunk-
|
|
4
|
+
import { ArtifactKindGround } from './chunk-MJW6SQYB.js';
|
|
5
|
+
import { Card } from './chunk-5QXRI35B.js';
|
|
6
6
|
import { AvatarStack } from './chunk-5AQBPHZD.js';
|
|
7
7
|
import { ArtifactKindGlyph } from './chunk-CE2THTQR.js';
|
|
8
8
|
import { VisuallyHidden } from './chunk-BZFWDIV6.js';
|