@crewlethq/ui 0.82.0 → 0.84.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 +63 -1
- package/dist/ActionCard/ActionCard.d.ts +7 -7
- package/dist/ActionCard/index.js +1 -1
- package/dist/ActionCard-YZKL3CKR.css +130 -0
- package/dist/AppShell/AccountRow.d.ts +6 -1
- package/dist/AppShell/AppShell.d.ts +25 -13
- package/dist/AppShell/index.d.ts +1 -1
- package/dist/AppShell/index.js +8 -5
- package/dist/AppShell/railMotion.d.ts +60 -0
- package/dist/AppShell/railShape.d.ts +5 -0
- package/dist/{AppShell-F7RID4P4.css → AppShell-NX5HCD4O.css} +251 -90
- package/dist/ArrangeList/index.js +3 -2
- package/dist/ArtifactBar/index.js +7 -5
- package/dist/ArtifactCard/index.js +3 -3
- package/dist/ArtifactKindIllustration/index.js +1 -1
- package/dist/{ArtifactKinds-3EH4KR3F.css → ArtifactKinds-27TE3KJL.css} +7 -7
- package/dist/ArtifactMakeRow/index.js +1 -1
- package/dist/ArtifactNameCell/index.js +1 -1
- package/dist/AuthLayout/index.js +3 -3
- package/dist/AvatarPicker/index.js +7 -6
- package/dist/BrandLockup/index.js +2 -2
- package/dist/BriefCard/index.js +2 -1
- package/dist/Canvas/index.js +4 -2
- package/dist/CanvasBoard/index.js +6 -4
- package/dist/CanvasToolbar/index.js +5 -3
- package/dist/CatalogTile/CatalogTile.d.ts +23 -5
- package/dist/CatalogTile/index.d.ts +1 -1
- package/dist/CatalogTile/index.js +2 -1
- package/dist/{CatalogTile-6VF36JWA.css → CatalogTile-TMOSGSV3.css} +4 -3
- package/dist/ChangeMark/index.js +4 -2
- package/dist/ChatThread/index.js +2 -2
- package/dist/CommandPalette/index.js +3 -2
- package/dist/CompactNav/CompactNav.d.ts +10 -6
- package/dist/CompactNav/index.js +2 -1
- package/dist/ContrastHelp/index.js +3 -2
- package/dist/DataGrid/index.js +2 -2
- package/dist/DataTable/index.js +4 -3
- package/dist/DataView/index.js +8 -7
- package/dist/DateTimePicker/index.js +3 -2
- package/dist/DeepWorkCard/index.js +2 -2
- package/dist/DirectoryList/index.js +1 -1
- package/dist/{DirectoryList-XZOWYOA3.css → DirectoryList-IXQIMNFS.css} +8 -1
- package/dist/DocTabsEditor/index.js +5 -3
- package/dist/DockColumn/DockColumn.d.ts +68 -0
- package/dist/DockColumn/index.d.ts +3 -0
- package/dist/DockColumn/index.js +6 -0
- package/dist/DockColumn-SMJCXHS4.css +61 -0
- package/dist/{Editor-7EQWP3RN.js → Editor-VGNB35NJ.js} +2 -1
- package/dist/EmojiPicker/index.js +5 -3
- package/dist/FactList/index.js +4 -2
- package/dist/HuePicker/index.js +5 -4
- package/dist/InboxList/InboxList.d.ts +28 -2
- package/dist/InboxList/index.d.ts +1 -1
- package/dist/InboxList/index.js +6 -1
- package/dist/{InboxList-OFGSX5IH.css → InboxList-X5Q5WWAI.css} +63 -2
- package/dist/LinkInterstitial/index.js +3 -2
- package/dist/ListDetail/ListDetail.d.ts +6 -0
- package/dist/ListDetail/index.js +1 -1
- package/dist/{ListDetail-N3L7PB46.css → ListDetail-JGESKTR7.css} +38 -0
- package/dist/ListInput/index.js +3 -2
- package/dist/MarkdownEditor/index.js +5 -4
- package/dist/MediaMatch/index.d.ts +1 -1
- package/dist/MediaMatch/index.js +1 -1
- package/dist/MediaMatch/useMediaMatch.d.ts +14 -0
- package/dist/Menu/index.js +2 -1
- package/dist/MergeConflicts/index.js +5 -4
- package/dist/MessageActions/index.js +6 -4
- package/dist/Modal/index.js +2 -1
- package/dist/OpenInAppCard/index.js +2 -2
- package/dist/Outline/index.js +2 -1
- package/dist/Popover/index.js +2 -1
- package/dist/Presence/index.d.ts +2 -0
- package/dist/Presence/index.js +4 -0
- package/dist/Presence/usePresence.d.ts +109 -0
- package/dist/ReactionBar/index.js +6 -4
- package/dist/ReadingPane/ReadingPane.d.ts +17 -1
- package/dist/ReadingPane/index.d.ts +1 -1
- package/dist/ReadingPane/index.js +2 -1
- package/dist/{ReadingPane-VLYOWMCM.css → ReadingPane-VFTRDPC5.css} +19 -0
- package/dist/RecordChip/index.js +3 -2
- package/dist/Reorder/index.js +2 -1
- package/dist/RichEditor/index.js +1 -1
- package/dist/SectionFrame/index.js +2 -2
- package/dist/SegmentedControl/index.js +4 -3
- package/dist/SetupWizard/index.js +2 -2
- package/dist/ShareDialog/index.js +5 -4
- package/dist/SheetColumnEditor/index.js +6 -5
- package/dist/SheetGrid/index.js +8 -6
- package/dist/SidebarNav/SidebarNav.d.ts +18 -2
- package/dist/SidebarNav/index.d.ts +1 -1
- package/dist/SidebarNav/index.js +1 -1
- package/dist/{SidebarNav-E7PZGGA6.css → SidebarNav-IKBKGXW4.css} +20 -0
- package/dist/SlideFilmstrip/index.js +5 -3
- package/dist/Switcher/index.js +5 -4
- package/dist/Tabs/index.js +3 -2
- package/dist/ThemeSwitcher/index.js +5 -4
- package/dist/TimeRangePicker/index.js +6 -5
- package/dist/TimeWindowPicker/index.js +3 -2
- package/dist/Tooltip/index.js +3 -1
- package/dist/TreeCanvas/index.js +6 -3
- package/dist/VersionCompare/index.js +5 -4
- package/dist/{chunk-KJR5X4II.js → chunk-22CU7V4J.js} +2 -2
- package/dist/{chunk-4RYELYWG.js → chunk-2SVQBQAD.js} +2 -2
- package/dist/{chunk-N2T7Y5KR.js → chunk-3AMWXJQX.js} +1 -1
- package/dist/{chunk-HQFOZJQ4.js → chunk-46FIBJCV.js} +4 -4
- package/dist/{chunk-LQRN2XZK.js → chunk-4DEKONVJ.js} +2 -2
- package/dist/chunk-5JPOFAVN.js +58 -0
- package/dist/{chunk-C7UHDM7Y.js → chunk-5V6GW6HK.js} +1 -1
- package/dist/{chunk-Q7N2ATMC.js → chunk-64JNKLLP.js} +57 -9
- package/dist/chunk-6C7GQOBV.js +10 -0
- package/dist/{chunk-YRNNUCQP.js → chunk-7BDBO2NP.js} +1 -1
- package/dist/{chunk-XGLMPPDW.js → chunk-7K6LVM5I.js} +1 -1
- package/dist/{chunk-FKAJBN6G.js → chunk-7M7WKYOV.js} +3 -3
- package/dist/{chunk-A5YKNRG6.js → chunk-7QCSISHM.js} +2 -1
- package/dist/{chunk-3QQIGMY3.js → chunk-7ZSEUO5Q.js} +6 -30
- package/dist/{chunk-57BFL323.js → chunk-ABRWL5FJ.js} +1 -1
- package/dist/{chunk-HFOTRZFU.js → chunk-AQNP3KQU.js} +2 -2
- package/dist/{chunk-GZVAZ3LL.js → chunk-AZYE7NR4.js} +1 -1
- package/dist/{chunk-6IOQWMYJ.js → chunk-BN5FEJL5.js} +1 -1
- package/dist/{chunk-25JQNHTC.js → chunk-BRK3HXGZ.js} +8 -2
- package/dist/{chunk-MPVMB2DV.js → chunk-BVML4UVB.js} +3 -2
- package/dist/{chunk-OAHRMR4U.js → chunk-C42XW5YP.js} +1 -1
- package/dist/{chunk-2H6YDUR5.js → chunk-C4JTX25K.js} +3 -3
- package/dist/{chunk-QE4OIE3Q.js → chunk-DJIWCW5Z.js} +6 -4
- package/dist/{chunk-HA2PL7PA.js → chunk-DRFOTWJE.js} +1 -1
- package/dist/{chunk-SM4P2SHB.js → chunk-EC6EUIAD.js} +7 -4
- package/dist/{chunk-QPHD4UUG.js → chunk-F6ZUM66S.js} +160 -25
- package/dist/{chunk-AMUXSJ2A.js → chunk-FPU7AA3X.js} +4 -15
- package/dist/{chunk-KLAVEJIO.js → chunk-GLKQHN7G.js} +1 -1
- package/dist/{chunk-MVMVMHYI.js → chunk-HDEKHP65.js} +1 -1
- package/dist/{chunk-XY4O2XMR.js → chunk-HKUZ2GYX.js} +4 -4
- package/dist/chunk-HTS5RJ7S.js +6 -0
- package/dist/{chunk-ZB3E2Z4Y.js → chunk-J5T5TDM2.js} +1 -1
- package/dist/{chunk-ISQANI6Q.js → chunk-JLOESTT2.js} +2 -1
- package/dist/{chunk-C75WZMXG.js → chunk-K6RWEQ6P.js} +1 -1
- package/dist/{chunk-GVPUCEWH.js → chunk-KXWJJWBD.js} +1 -1
- package/dist/chunk-L72URIHR.js +36 -0
- package/dist/{chunk-2TOGGCDM.js → chunk-LT44RL62.js} +2 -2
- package/dist/{chunk-C46DDVTK.js → chunk-LTD7KLOU.js} +1 -1
- package/dist/{chunk-HCUECVZ3.js → chunk-MVKUE4FI.js} +1 -1
- package/dist/{chunk-6YBBQAEM.js → chunk-MYAARF4Z.js} +1 -1
- package/dist/{chunk-SEKO6P3Y.js → chunk-NCUSI4ZU.js} +1 -1
- package/dist/{chunk-YBC2CYPD.js → chunk-O4VTQMEF.js} +1 -1
- package/dist/{chunk-HTBTAIH6.js → chunk-OM2LABPS.js} +2 -2
- package/dist/{chunk-T4IEESXN.js → chunk-ORONAXSF.js} +91 -25
- package/dist/chunk-PCAT2EFB.js +104 -0
- package/dist/{chunk-GP5TNTZH.js → chunk-QWRAWKB2.js} +53 -14
- package/dist/{chunk-TGCGLKD4.js → chunk-RBQRTGXX.js} +1 -1
- package/dist/{chunk-B3X4DHRB.js → chunk-RDIQB5ZE.js} +2 -2
- package/dist/{chunk-SRDNGGZE.js → chunk-RKIJAXQA.js} +1 -1
- package/dist/{chunk-T7WESRZF.js → chunk-RO5JU6SN.js} +2 -2
- package/dist/{chunk-IUWP2LSE.js → chunk-SGMWLUYQ.js} +2 -2
- package/dist/{chunk-LSOR77RZ.js → chunk-SHH7UD5U.js} +1 -1
- package/dist/{chunk-JV6JM6W6.js → chunk-SNQ7PH3D.js} +1 -1
- package/dist/{chunk-MPYRC3GO.js → chunk-SPNTUQBV.js} +2 -2
- package/dist/{chunk-YM77TZ7Q.js → chunk-T3S3D4FC.js} +1 -1
- package/dist/{chunk-YOJAGKTS.js → chunk-TGGYSQRD.js} +3 -4
- package/dist/{chunk-2KJCUCVE.js → chunk-TQKQRS2J.js} +2 -2
- package/dist/{chunk-ONNXUS5Y.js → chunk-VB3FVKNI.js} +1 -1
- package/dist/{chunk-JHQGNFN3.js → chunk-VONEKR3J.js} +2 -2
- package/dist/{chunk-P6F3PE4V.js → chunk-WANKINXG.js} +2 -2
- package/dist/{chunk-PXLS6JKL.js → chunk-WMO722J2.js} +1 -1
- package/dist/{chunk-SYVQXMLO.js → chunk-XRWHDW6F.js} +4 -4
- package/dist/{chunk-WT3B76MG.js → chunk-XTJHMP3W.js} +1 -1
- package/dist/{chunk-CF4M6N6A.js → chunk-XYSSFI5C.js} +1 -7
- package/dist/{chunk-RTPQDNW3.js → chunk-YJQXESOJ.js} +5 -1
- package/dist/{chunk-VGOWSOUA.js → chunk-YXKSUILG.js} +1 -1
- package/dist/{chunk-G6ZFSUIH.js → chunk-ZJVLGYE3.js} +2 -2
- package/dist/{chunk-BSAU7QRW.js → chunk-ZPTKAYJK.js} +1 -1
- package/dist/{chunk-XXDB6KPV.js → chunk-ZXXZESCD.js} +3 -4
- package/dist/generated/index.d.ts +2 -0
- package/dist/generated/index.js +108 -103
- package/dist/index.js +108 -103
- package/dist/styles.css +525 -134
- package/dist/utils/composedRef.d.ts +39 -0
- package/dist/utils/developing.d.ts +10 -0
- package/dist/utils/index.d.ts +2 -0
- package/dist/utils/index.js +3 -1
- package/dist/utils/tokenMs.d.ts +6 -0
- package/package.json +5 -5
- package/dist/ActionCard-47WSZ2O5.css +0 -110
- package/dist/{chunk-IYI6HWKN.js → chunk-CV2LU2T2.js} +1 -1
- package/dist/{chunk-FVZPSTL2.js → chunk-G4EHZHKM.js} +1 -1
- /package/dist/{chunk-FEJANUZK.js → chunk-KBSD476L.js} +0 -0
- /package/dist/{chunk-KLWWNV25.js → chunk-REEZQCML.js} +0 -0
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { Select } from './chunk-3IWZVEXA.js';
|
|
2
|
-
import { Modal } from './chunk-
|
|
2
|
+
import { Modal } from './chunk-ZXXZESCD.js';
|
|
3
3
|
import { CopyButton } from './chunk-T5GBTXNC.js';
|
|
4
4
|
import { Callout } from './chunk-BPCY7ZID.js';
|
|
5
5
|
import { PrincipalAvatar } from './chunk-HF5L56YQ.js';
|
|
6
|
-
import { useMediaMatch } from './chunk-
|
|
6
|
+
import { useMediaMatch } from './chunk-YJQXESOJ.js';
|
|
7
7
|
import { Button } from './chunk-DGXZ635L.js';
|
|
8
8
|
import { IconButton } from './chunk-UAUP6XGK.js';
|
|
9
9
|
import { useHeadingLevel, headingTag } from './chunk-PQADV6P6.js';
|
|
@@ -4,7 +4,7 @@ import { HIT_AREA_CLASS } from './chunk-2YTOOH3A.js';
|
|
|
4
4
|
import { VisuallyHidden } from './chunk-UT6CW3C7.js';
|
|
5
5
|
import { cx } from './chunk-ODEQTPFM.js';
|
|
6
6
|
import './HitArea-QUOS6ZDJ.css';
|
|
7
|
-
import './SidebarNav-
|
|
7
|
+
import './SidebarNav-IKBKGXW4.css';
|
|
8
8
|
import { createContext, useId, useState, useContext } from 'react';
|
|
9
9
|
import { ChevronDownGlyph } from '@crewlethq/icons/glyphs';
|
|
10
10
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
@@ -136,7 +136,13 @@ function NavItem({
|
|
|
136
136
|
count || badge || state ? /* @__PURE__ */ jsx(VisuallyHidden, { children: `${spoken([count, badge])}${state}` }) : null
|
|
137
137
|
] }),
|
|
138
138
|
count ? /* @__PURE__ */ jsx(Figure, { figure: count, mark: count.mark, className: "crewlet-nav-item__count" }) : null,
|
|
139
|
-
badge ? /* @__PURE__ */ jsx(
|
|
139
|
+
badge ? /* @__PURE__ */ jsx(
|
|
140
|
+
Figure,
|
|
141
|
+
{
|
|
142
|
+
figure: badge,
|
|
143
|
+
className: cx("crewlet-nav-item__badge", badge.tone === "quiet" && "crewlet-nav-item__badge--quiet")
|
|
144
|
+
}
|
|
145
|
+
) : null
|
|
140
146
|
] });
|
|
141
147
|
const rowClass = cx("crewlet-nav-item__row", HIT_AREA_CLASS);
|
|
142
148
|
let row;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { prefersReducedMotion } from './chunk-YJQXESOJ.js';
|
|
1
2
|
import { announce } from './chunk-2G355KDJ.js';
|
|
2
3
|
import { useId, useState, useRef, useCallback, useLayoutEffect, useMemo } from 'react';
|
|
3
4
|
|
|
@@ -24,7 +25,7 @@ function place(lists, key, list, index) {
|
|
|
24
25
|
return next;
|
|
25
26
|
}
|
|
26
27
|
var SETTLE_MS = 200;
|
|
27
|
-
var settleMs = () =>
|
|
28
|
+
var settleMs = () => prefersReducedMotion() ? 20 : SETTLE_MS;
|
|
28
29
|
var now = () => typeof performance !== "undefined" ? performance.now() : Date.now();
|
|
29
30
|
function byRows(node, axis) {
|
|
30
31
|
if (axis === "vertical") return true;
|
|
@@ -79,7 +80,7 @@ function useReorderLists({
|
|
|
79
80
|
const last = before.current;
|
|
80
81
|
before.current = /* @__PURE__ */ new Map();
|
|
81
82
|
if (last.size === 0) return;
|
|
82
|
-
if (typeof window === "undefined" ||
|
|
83
|
+
if (typeof window === "undefined" || prefersReducedMotion()) return;
|
|
83
84
|
for (const [key, node] of nodes.current) {
|
|
84
85
|
const was = last.get(key);
|
|
85
86
|
if (!was) continue;
|
|
@@ -3,13 +3,13 @@ import { PrincipalAvatar } from './chunk-HF5L56YQ.js';
|
|
|
3
3
|
import { RelativeTime } from './chunk-EJNJMHQG.js';
|
|
4
4
|
import { Card } from './chunk-U2IQNDDR.js';
|
|
5
5
|
import { AvatarStack } from './chunk-IRONPJB4.js';
|
|
6
|
-
import { ArtifactKindGround } from './chunk-
|
|
7
|
-
import { ArtifactAccessGlyph } from './chunk-DOY3KC6I.js';
|
|
6
|
+
import { ArtifactKindGround } from './chunk-J5T5TDM2.js';
|
|
8
7
|
import { Checkbox } from './chunk-YQ7Q52XU.js';
|
|
8
|
+
import { ArtifactAccessGlyph } from './chunk-DOY3KC6I.js';
|
|
9
9
|
import { ArtifactKindGlyph } from './chunk-RSKW25Y5.js';
|
|
10
10
|
import { VisuallyHidden } from './chunk-UT6CW3C7.js';
|
|
11
11
|
import { cx } from './chunk-ODEQTPFM.js';
|
|
12
|
-
import './ArtifactKinds-
|
|
12
|
+
import './ArtifactKinds-27TE3KJL.css';
|
|
13
13
|
import './ArtifactCard-B2QE5CVL.css';
|
|
14
14
|
import { useId } from 'react';
|
|
15
15
|
import { PinGlyph } from '@crewlethq/icons/glyphs';
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
+
import { StatusDot } from './chunk-CYQBDZ6M.js';
|
|
1
2
|
import { useHeadingLevel, headingTag } from './chunk-PQADV6P6.js';
|
|
2
3
|
import { cx } from './chunk-ODEQTPFM.js';
|
|
3
|
-
import './CatalogTile-
|
|
4
|
+
import './CatalogTile-TMOSGSV3.css';
|
|
4
5
|
import { useId } from 'react';
|
|
5
|
-
import {
|
|
6
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
6
7
|
|
|
7
8
|
function CatalogTile({
|
|
8
9
|
as: Element = "article",
|
|
@@ -22,6 +23,7 @@ function CatalogTile({
|
|
|
22
23
|
const Heading = headingTag(headingLevel ?? level);
|
|
23
24
|
const titleId = useId();
|
|
24
25
|
const foot = meta !== void 0 || action !== void 0;
|
|
26
|
+
const state = status ? /* @__PURE__ */ jsx("span", { className: "crewlet-catalog-tile__status", children: /* @__PURE__ */ jsx(StatusDot, { tone: status.tone, children: status.label }) }) : null;
|
|
25
27
|
if (density === "compact") {
|
|
26
28
|
return /* @__PURE__ */ jsxs(
|
|
27
29
|
Element,
|
|
@@ -39,7 +41,7 @@ function CatalogTile({
|
|
|
39
41
|
/* @__PURE__ */ jsx("span", { className: "crewlet-catalog-tile__mark", "aria-hidden": "true", children: mark }),
|
|
40
42
|
/* @__PURE__ */ jsxs("span", { className: "crewlet-catalog-tile__title", children: [
|
|
41
43
|
/* @__PURE__ */ jsx(Heading, { id: titleId, className: "crewlet-catalog-tile__name", children: title }),
|
|
42
|
-
|
|
44
|
+
state,
|
|
43
45
|
meta === void 0 || meta === null ? null : /* @__PURE__ */ jsx("span", { className: "crewlet-catalog-tile__meta", children: meta })
|
|
44
46
|
] }),
|
|
45
47
|
action === void 0 ? null : /* @__PURE__ */ jsx("span", { className: "crewlet-catalog-tile__action", children: action })
|
|
@@ -67,7 +69,7 @@ function CatalogTile({
|
|
|
67
69
|
/* @__PURE__ */ jsx("span", { className: "crewlet-catalog-tile__mark", "aria-hidden": "true", children: mark }),
|
|
68
70
|
/* @__PURE__ */ jsxs("span", { className: "crewlet-catalog-tile__title", children: [
|
|
69
71
|
/* @__PURE__ */ jsx(Heading, { id: titleId, className: "crewlet-catalog-tile__name", children: title }),
|
|
70
|
-
|
|
72
|
+
state
|
|
71
73
|
] })
|
|
72
74
|
] }),
|
|
73
75
|
description === void 0 ? null : /* @__PURE__ */ jsx("p", { className: "crewlet-catalog-tile__description", children: description }),
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Toolbar } from './chunk-NXFTCPF6.js';
|
|
2
|
-
import { ShortcutTip } from './chunk-
|
|
2
|
+
import { ShortcutTip } from './chunk-NCUSI4ZU.js';
|
|
3
3
|
import { IconButton } from './chunk-UAUP6XGK.js';
|
|
4
4
|
import { cx } from './chunk-ODEQTPFM.js';
|
|
5
5
|
import './CanvasToolbar-EM5EVZED.css';
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { useComposedRef } from './chunk-L72URIHR.js';
|
|
1
2
|
import { useLayerContainer, viewportBounds, LAYER_GAP, anchorGone, placePopup, LAYER_REPOSITION_EVENT } from './chunk-OMV5W53A.js';
|
|
2
3
|
import { usePopupLayer, focusables } from './chunk-TUEM2XIW.js';
|
|
3
4
|
import { returnFocus } from './chunk-4ITETIGZ.js';
|
|
@@ -122,11 +123,13 @@ function Popover({
|
|
|
122
123
|
}, [close, open, setOpen]);
|
|
123
124
|
const triggerEl = trigger(open, toggle);
|
|
124
125
|
const haspopup = role === "none" ? void 0 : role;
|
|
126
|
+
const anchorRef = useComposedRef(
|
|
127
|
+
anchor,
|
|
128
|
+
layer.insideRef,
|
|
129
|
+
triggerEl.props.ref
|
|
130
|
+
);
|
|
125
131
|
const anchored = cloneElement(triggerEl, {
|
|
126
|
-
ref:
|
|
127
|
-
anchor.current = el;
|
|
128
|
-
layer.insideRef(el);
|
|
129
|
-
},
|
|
132
|
+
ref: anchorRef,
|
|
130
133
|
"aria-expanded": open,
|
|
131
134
|
"aria-haspopup": triggerEl.props["aria-haspopup"] ?? haspopup,
|
|
132
135
|
"aria-controls": open ? panelId : void 0
|
|
@@ -1,15 +1,108 @@
|
|
|
1
1
|
import { Eyebrow } from './chunk-RK4XPHVG.js';
|
|
2
|
+
import { developing } from './chunk-6C7GQOBV.js';
|
|
3
|
+
import { usePresence, releaseFocus } from './chunk-PCAT2EFB.js';
|
|
2
4
|
import { useHeadingLevel, headingTag } from './chunk-PQADV6P6.js';
|
|
3
5
|
import { VisuallyHidden } from './chunk-UT6CW3C7.js';
|
|
4
6
|
import { cx } from './chunk-ODEQTPFM.js';
|
|
5
|
-
import './InboxList-
|
|
6
|
-
import { useId, useState } from 'react';
|
|
7
|
+
import './InboxList-X5Q5WWAI.css';
|
|
8
|
+
import { useId, useState, useRef, useLayoutEffect, useEffect, useCallback, cloneElement, Children, isValidElement } from 'react';
|
|
7
9
|
import { ChevronDownGlyph } from '@crewlethq/icons/glyphs';
|
|
8
10
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
9
11
|
|
|
10
12
|
function InboxList({ label, className, children, ...rest }) {
|
|
11
13
|
return /* @__PURE__ */ jsx("nav", { ...rest, "aria-label": label, className: cx("crewlet-inbox-list", className), children });
|
|
12
14
|
}
|
|
15
|
+
var INBOX_ROW_LEAVE = { transitions: ["grid-template-rows"] };
|
|
16
|
+
function rowsOf(children) {
|
|
17
|
+
const given = [];
|
|
18
|
+
Children.forEach(children, (child) => {
|
|
19
|
+
if (isValidElement(child)) given.push(child.key !== null);
|
|
20
|
+
});
|
|
21
|
+
return Children.toArray(children).filter((child) => isValidElement(child)).map((element, index) => ({
|
|
22
|
+
key: String(element.key),
|
|
23
|
+
element,
|
|
24
|
+
keyed: given[index] === true,
|
|
25
|
+
component: typeof element.type !== "string"
|
|
26
|
+
}));
|
|
27
|
+
}
|
|
28
|
+
function sameKeys(a, b) {
|
|
29
|
+
return a.length === b.length && a.every((key, index) => key === b[index]);
|
|
30
|
+
}
|
|
31
|
+
function keepPlaces(previous, next, kept) {
|
|
32
|
+
const placed = new Set(next);
|
|
33
|
+
const order = [...next];
|
|
34
|
+
previous.forEach((key, index) => {
|
|
35
|
+
if (placed.has(key) || !kept.has(key)) return;
|
|
36
|
+
let at = 0;
|
|
37
|
+
for (let back = index - 1; back >= 0; back -= 1) {
|
|
38
|
+
if (placed.has(previous[back])) {
|
|
39
|
+
at = order.indexOf(previous[back]) + 1;
|
|
40
|
+
break;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
order.splice(at, 0, key);
|
|
44
|
+
placed.add(key);
|
|
45
|
+
});
|
|
46
|
+
return order;
|
|
47
|
+
}
|
|
48
|
+
function useLeavingRows(children) {
|
|
49
|
+
const rows = rowsOf(children);
|
|
50
|
+
const keys = rows.map((row) => row.key);
|
|
51
|
+
const [shown, setRows] = useState(() => ({
|
|
52
|
+
keys,
|
|
53
|
+
order: keys,
|
|
54
|
+
leaving: /* @__PURE__ */ new Map()
|
|
55
|
+
}));
|
|
56
|
+
const drawn = useRef(/* @__PURE__ */ new Map());
|
|
57
|
+
useLayoutEffect(() => {
|
|
58
|
+
drawn.current = new Map(rows.map((row) => [row.key, row]));
|
|
59
|
+
});
|
|
60
|
+
let now = shown;
|
|
61
|
+
if (!sameKeys(shown.keys, keys)) {
|
|
62
|
+
const present = new Set(keys);
|
|
63
|
+
const leaving = new Map([...shown.leaving].filter(([key]) => !present.has(key)));
|
|
64
|
+
for (const key of shown.keys) {
|
|
65
|
+
if (present.has(key)) continue;
|
|
66
|
+
const last = drawn.current.get(key);
|
|
67
|
+
if (last?.keyed && last.component) leaving.set(key, last.element);
|
|
68
|
+
}
|
|
69
|
+
now = { keys, order: keepPlaces(shown.order, keys, new Set(leaving.keys())), leaving };
|
|
70
|
+
setRows(now);
|
|
71
|
+
}
|
|
72
|
+
const warned = useRef(false);
|
|
73
|
+
useEffect(() => {
|
|
74
|
+
if (warned.current || !developing()) return;
|
|
75
|
+
if (rows.some((row) => row.component && !row.keyed)) {
|
|
76
|
+
warned.current = true;
|
|
77
|
+
console.warn(
|
|
78
|
+
"[crewlet] InboxGroup was handed a row without a key of its own. Give each row a stable key, such as its id: a row without one is told apart by its position, and is not kept while it leaves."
|
|
79
|
+
);
|
|
80
|
+
}
|
|
81
|
+
});
|
|
82
|
+
const drop = useCallback((key) => {
|
|
83
|
+
setRows((was) => {
|
|
84
|
+
if (!was.leaving.has(key)) return was;
|
|
85
|
+
const leaving = new Map(was.leaving);
|
|
86
|
+
leaving.delete(key);
|
|
87
|
+
return { ...was, leaving, order: was.order.filter((each) => each !== key) };
|
|
88
|
+
});
|
|
89
|
+
}, []);
|
|
90
|
+
if (now.leaving.size === 0) return rows.map((row) => row.element);
|
|
91
|
+
const live = new Map(rows.map((row) => [row.key, row.element]));
|
|
92
|
+
return now.order.map((key) => {
|
|
93
|
+
const row = live.get(key);
|
|
94
|
+
if (row) return row;
|
|
95
|
+
const last = now.leaving.get(key);
|
|
96
|
+
if (!last) return null;
|
|
97
|
+
return cloneElement(last, {
|
|
98
|
+
leaving: true,
|
|
99
|
+
onLeft: () => {
|
|
100
|
+
last.props.onLeft?.();
|
|
101
|
+
drop(key);
|
|
102
|
+
}
|
|
103
|
+
});
|
|
104
|
+
});
|
|
105
|
+
}
|
|
13
106
|
function InboxGroup({
|
|
14
107
|
label,
|
|
15
108
|
hideLabel = false,
|
|
@@ -19,10 +112,12 @@ function InboxGroup({
|
|
|
19
112
|
open: controlledOpen,
|
|
20
113
|
defaultOpen = false,
|
|
21
114
|
onOpenChange,
|
|
115
|
+
arrived,
|
|
22
116
|
className,
|
|
23
117
|
children,
|
|
24
118
|
...rest
|
|
25
119
|
}) {
|
|
120
|
+
const rows = useLeavingRows(children);
|
|
26
121
|
const level = useHeadingLevel();
|
|
27
122
|
const Heading = headingTag(headingLevel ?? level);
|
|
28
123
|
const labelId = useId();
|
|
@@ -40,6 +135,7 @@ function InboxGroup({
|
|
|
40
135
|
" ",
|
|
41
136
|
/* @__PURE__ */ jsx("span", { className: "crewlet-inbox-list__count", children: count })
|
|
42
137
|
] });
|
|
138
|
+
const arrival = arrived === void 0 ? null : /* @__PURE__ */ jsx("span", { "aria-hidden": "true", className: "crewlet-inbox-list__arrival" }, arrived);
|
|
43
139
|
return /* @__PURE__ */ jsxs(
|
|
44
140
|
"section",
|
|
45
141
|
{
|
|
@@ -54,27 +150,31 @@ function InboxGroup({
|
|
|
54
150
|
// A DISCLOSURE INSIDE THE HEADING, never a heading inside a button: a
|
|
55
151
|
// reader moving by heading still lands on the group, and the button
|
|
56
152
|
// in it says whether the rows are shown.
|
|
57
|
-
/* @__PURE__ */
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
153
|
+
/* @__PURE__ */ jsxs(Heading, { className: "crewlet-inbox-list__label", children: [
|
|
154
|
+
/* @__PURE__ */ jsxs(
|
|
155
|
+
"button",
|
|
156
|
+
{
|
|
157
|
+
type: "button",
|
|
158
|
+
id: labelId,
|
|
159
|
+
className: "crewlet-inbox-list__disclosure",
|
|
160
|
+
"aria-expanded": open,
|
|
161
|
+
"aria-controls": rowsId,
|
|
162
|
+
onClick: toggle,
|
|
163
|
+
children: [
|
|
164
|
+
/* @__PURE__ */ jsx(ChevronDownGlyph, { "aria-hidden": true, size: "sm", className: "crewlet-inbox-list__chevron" }),
|
|
165
|
+
/* @__PURE__ */ jsx(Eyebrow, { children: label }),
|
|
166
|
+
counted
|
|
167
|
+
]
|
|
168
|
+
}
|
|
169
|
+
),
|
|
170
|
+
arrival
|
|
171
|
+
] })
|
|
73
172
|
) : /* @__PURE__ */ jsxs(Heading, { id: labelId, className: "crewlet-inbox-list__label", children: [
|
|
74
173
|
/* @__PURE__ */ jsx(Eyebrow, { children: label }),
|
|
75
|
-
counted
|
|
174
|
+
counted,
|
|
175
|
+
arrival
|
|
76
176
|
] }),
|
|
77
|
-
/* @__PURE__ */ jsx("ul", { id: rowsId, className: "crewlet-inbox-list__rows", hidden: !open, children })
|
|
177
|
+
/* @__PURE__ */ jsx("ul", { id: rowsId, className: "crewlet-inbox-list__rows", hidden: !open, children: rows })
|
|
78
178
|
]
|
|
79
179
|
}
|
|
80
180
|
);
|
|
@@ -99,10 +199,29 @@ function InboxRow({
|
|
|
99
199
|
outcomeTone = "neutral",
|
|
100
200
|
href,
|
|
101
201
|
onClick,
|
|
202
|
+
leaving = false,
|
|
203
|
+
onLeft,
|
|
204
|
+
arrived = false,
|
|
102
205
|
className,
|
|
103
206
|
children,
|
|
104
207
|
...rest
|
|
105
208
|
}) {
|
|
209
|
+
const self = useRef(null);
|
|
210
|
+
const presence = usePresence(!leaving, self, INBOX_ROW_LEAVE);
|
|
211
|
+
const gone = !presence.present;
|
|
212
|
+
useLayoutEffect(() => {
|
|
213
|
+
if (presence.leaving) releaseFocus(self.current);
|
|
214
|
+
}, [presence.leaving]);
|
|
215
|
+
const told = useRef(false);
|
|
216
|
+
useEffect(() => {
|
|
217
|
+
if (!gone) {
|
|
218
|
+
told.current = false;
|
|
219
|
+
return;
|
|
220
|
+
}
|
|
221
|
+
if (told.current) return;
|
|
222
|
+
told.current = true;
|
|
223
|
+
onLeft?.();
|
|
224
|
+
}, [gone, onLeft]);
|
|
106
225
|
const contents = /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
107
226
|
leading === void 0 ? null : /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
108
227
|
/* @__PURE__ */ jsx("span", { className: "crewlet-inbox-row__leading", children: leading }),
|
|
@@ -157,10 +276,26 @@ function InboxRow({
|
|
|
157
276
|
);
|
|
158
277
|
const current = selected ? "true" : void 0;
|
|
159
278
|
const control = href !== void 0 ? /* @__PURE__ */ jsx("a", { className: controlClass, href, "aria-current": current, onClick, children: contents }) : /* @__PURE__ */ jsx("button", { type: "button", className: controlClass, "aria-current": current, onClick, children: contents });
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
279
|
+
if (gone) return null;
|
|
280
|
+
return /* @__PURE__ */ jsx(
|
|
281
|
+
"li",
|
|
282
|
+
{
|
|
283
|
+
...rest,
|
|
284
|
+
ref: self,
|
|
285
|
+
inert: presence.leaving,
|
|
286
|
+
className: cx(
|
|
287
|
+
"crewlet-inbox-row",
|
|
288
|
+
selected && "crewlet-inbox-row--selected",
|
|
289
|
+
arrived && "crewlet-inbox-row--arrived",
|
|
290
|
+
presence.leaving && "crewlet-inbox-row--leaving",
|
|
291
|
+
className
|
|
292
|
+
),
|
|
293
|
+
children: /* @__PURE__ */ jsxs("div", { className: "crewlet-inbox-row__body", children: [
|
|
294
|
+
control,
|
|
295
|
+
aside === void 0 || aside === null || aside === false ? null : /* @__PURE__ */ jsx("div", { className: "crewlet-inbox-row__aside", children: aside })
|
|
296
|
+
] })
|
|
297
|
+
}
|
|
298
|
+
);
|
|
164
299
|
}
|
|
165
300
|
function InboxMore({ className, children, ...rest }) {
|
|
166
301
|
return /* @__PURE__ */ jsx("div", { ...rest, className: cx("crewlet-inbox-list__more", className), children });
|
|
@@ -173,4 +308,4 @@ InboxList.Row = InboxRow;
|
|
|
173
308
|
InboxList.More = InboxMore;
|
|
174
309
|
InboxList.Toggle = InboxToggle;
|
|
175
310
|
|
|
176
|
-
export { InboxGroup, InboxList, InboxMore, InboxRow, InboxToggle };
|
|
311
|
+
export { INBOX_ROW_LEAVE, InboxGroup, InboxList, InboxMore, InboxRow, InboxToggle };
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { useTreeState, useMeasuredSizes, layoutForest, treeAncestors, useLayoutAnchor, treeExpandable, layoutConnectors, treeItemAction, treeStep, treePosInSet, treeSetSize, treeLevel, placeGroups } from './chunk-MY374UUD.js';
|
|
2
|
-
import { CANVAS_COMPOSE_CONTEXT, CANVAS_FIT_MAX_ZOOM, Canvas } from './chunk-
|
|
2
|
+
import { CANVAS_COMPOSE_CONTEXT, CANVAS_FIT_MAX_ZOOM, Canvas } from './chunk-NCUSI4ZU.js';
|
|
3
|
+
import { useMediaMatch, REDUCED_MOTION_QUERY } from './chunk-YJQXESOJ.js';
|
|
3
4
|
import { focusables } from './chunk-TUEM2XIW.js';
|
|
4
5
|
import { cx } from './chunk-ODEQTPFM.js';
|
|
5
6
|
import './TreeCanvas-5FPK4CII.css';
|
|
6
|
-
import { useState, useRef, useMemo, useLayoutEffect, useCallback, useImperativeHandle, useId
|
|
7
|
+
import { useState, useRef, useMemo, useLayoutEffect, useCallback, useImperativeHandle, useId } from 'react';
|
|
7
8
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
8
9
|
|
|
9
10
|
var ENTRANCE_STEP_MS = 60;
|
|
@@ -14,19 +15,7 @@ function entranceOrder(layout) {
|
|
|
14
15
|
return [...layout.nodes].sort((a, b) => row(a) - row(b) || a.x - b.x || (a.id < b.id ? -1 : 1)).map((one) => one.id);
|
|
15
16
|
}
|
|
16
17
|
function useStillness() {
|
|
17
|
-
|
|
18
|
-
const subscribe = useCallback((notify) => {
|
|
19
|
-
if (typeof window === "undefined" || typeof window.matchMedia !== "function") return () => {
|
|
20
|
-
};
|
|
21
|
-
const list = window.matchMedia(query);
|
|
22
|
-
list.addEventListener("change", notify);
|
|
23
|
-
return () => list.removeEventListener("change", notify);
|
|
24
|
-
}, []);
|
|
25
|
-
const read = useCallback(
|
|
26
|
-
() => typeof window !== "undefined" && typeof window.matchMedia === "function" ? window.matchMedia(query).matches : false,
|
|
27
|
-
[]
|
|
28
|
-
);
|
|
29
|
-
return useSyncExternalStore(subscribe, read, () => false);
|
|
18
|
+
return useMediaMatch(REDUCED_MOTION_QUERY);
|
|
30
19
|
}
|
|
31
20
|
function useEntrance(layout, still) {
|
|
32
21
|
const [shown, setShown] = useState(null);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { useReorder } from './chunk-
|
|
1
|
+
import { useReorder } from './chunk-BVML4UVB.js';
|
|
2
2
|
import { FormField, Textarea } from './chunk-O7N6W52M.js';
|
|
3
3
|
import { characterCountState, CharacterCount, countCharacters } from './chunk-PGCLHYVP.js';
|
|
4
4
|
import { Kbd } from './chunk-CMAZZY2I.js';
|
|
@@ -3,7 +3,7 @@ import { HIT_AREA_CLASS } from './chunk-2YTOOH3A.js';
|
|
|
3
3
|
import { VisuallyHidden } from './chunk-UT6CW3C7.js';
|
|
4
4
|
import { cx } from './chunk-ODEQTPFM.js';
|
|
5
5
|
import './HitArea-QUOS6ZDJ.css';
|
|
6
|
-
import './ArtifactKinds-
|
|
6
|
+
import './ArtifactKinds-27TE3KJL.css';
|
|
7
7
|
import './ArtifactMakeRow-6UX2LTF7.css';
|
|
8
8
|
import { useId } from 'react';
|
|
9
9
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { SegmentedControl } from './chunk-
|
|
1
|
+
import { SegmentedControl } from './chunk-AZYE7NR4.js';
|
|
2
2
|
import { ArtifactIcon } from './chunk-AVL52EME.js';
|
|
3
|
-
import { Tooltip } from './chunk-
|
|
4
|
-
import { Menu } from './chunk-
|
|
3
|
+
import { Tooltip } from './chunk-7ZSEUO5Q.js';
|
|
4
|
+
import { Menu } from './chunk-TGGYSQRD.js';
|
|
5
5
|
import { isApplePlatform, Kbd, ariaKeyshortcuts } from './chunk-CMAZZY2I.js';
|
|
6
6
|
import { Button } from './chunk-DGXZ635L.js';
|
|
7
7
|
import { returnFocus } from './chunk-4ITETIGZ.js';
|
|
8
8
|
import { IconButton } from './chunk-UAUP6XGK.js';
|
|
9
9
|
import { cx } from './chunk-ODEQTPFM.js';
|
|
10
|
-
import './ArtifactKinds-
|
|
10
|
+
import './ArtifactKinds-27TE3KJL.css';
|
|
11
11
|
import './ArtifactBar-X46WJNW7.css';
|
|
12
12
|
import { useId, useState, useRef, useEffect } from 'react';
|
|
13
13
|
import { ChevronLeftGlyph, EllipsisGlyph, ChevronDownGlyph } from '@crewlethq/icons/glyphs';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { VisuallyHidden } from './chunk-UT6CW3C7.js';
|
|
2
2
|
import { cx } from './chunk-ODEQTPFM.js';
|
|
3
|
-
import './ArtifactKinds-
|
|
3
|
+
import './ArtifactKinds-27TE3KJL.css';
|
|
4
4
|
import './ArtifactKindIllustration-D2J3HJMJ.css';
|
|
5
5
|
import { useId } from 'react';
|
|
6
6
|
import { CheckGlyph } from '@crewlethq/icons/glyphs';
|
|
@@ -5,5 +5,6 @@ var RailShapeContext = createContext("full");
|
|
|
5
5
|
function useRailShape() {
|
|
6
6
|
return useContext(RailShapeContext);
|
|
7
7
|
}
|
|
8
|
+
var RailLeavingContext = createContext(false);
|
|
8
9
|
|
|
9
|
-
export { RailShapeContext, useRailShape };
|
|
10
|
+
export { RailLeavingContext, RailShapeContext, useRailShape };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Stepper } from './chunk-RJWO2PC5.js';
|
|
2
2
|
import { PageHeader } from './chunk-FPDIHEM4.js';
|
|
3
|
-
import { useMediaMatch } from './chunk-
|
|
3
|
+
import { useMediaMatch } from './chunk-YJQXESOJ.js';
|
|
4
4
|
import { Disclosure } from './chunk-LVJGN5II.js';
|
|
5
5
|
import { useHeadingLevel, nextHeadingLevel, headingTag, HeadingLevelProvider } from './chunk-PQADV6P6.js';
|
|
6
6
|
import { cx } from './chunk-ODEQTPFM.js';
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { useRef } from 'react';
|
|
2
|
+
|
|
3
|
+
// src/utils/composedRef.ts
|
|
4
|
+
function attachRef(ref, element) {
|
|
5
|
+
if (typeof ref === "function") {
|
|
6
|
+
const release = ref(element);
|
|
7
|
+
return typeof release === "function" ? release : () => void ref(null);
|
|
8
|
+
}
|
|
9
|
+
if (!ref) return () => {
|
|
10
|
+
};
|
|
11
|
+
const box = ref;
|
|
12
|
+
box.current = element;
|
|
13
|
+
return () => {
|
|
14
|
+
box.current = null;
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
function composeRefs(...refs) {
|
|
18
|
+
return (element) => {
|
|
19
|
+
const releases = refs.map((ref) => attachRef(ref, element));
|
|
20
|
+
return () => {
|
|
21
|
+
for (const release of releases) release();
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
function sameRefs(a, b) {
|
|
26
|
+
return a.length === b.length && a.every((ref, index) => ref === b[index]);
|
|
27
|
+
}
|
|
28
|
+
function useComposedRef(...refs) {
|
|
29
|
+
const joined = useRef(null);
|
|
30
|
+
if (!joined.current || !sameRefs(joined.current.refs, refs)) {
|
|
31
|
+
joined.current = { refs, callback: composeRefs(...refs) };
|
|
32
|
+
}
|
|
33
|
+
return joined.current.callback;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export { attachRef, composeRefs, useComposedRef };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { heldHint } from './chunk-TDFLCUBE.js';
|
|
2
|
-
import { emojiName } from './chunk-
|
|
2
|
+
import { emojiName } from './chunk-SPNTUQBV.js';
|
|
3
3
|
import { Toolbar } from './chunk-NXFTCPF6.js';
|
|
4
|
-
import { Tooltip } from './chunk-
|
|
4
|
+
import { Tooltip } from './chunk-7ZSEUO5Q.js';
|
|
5
5
|
import { IconButton } from './chunk-UAUP6XGK.js';
|
|
6
6
|
import { cx } from './chunk-ODEQTPFM.js';
|
|
7
7
|
import './ChatScale-L4SIHSKL.css';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ArtifactKindGlyph } from './chunk-RSKW25Y5.js';
|
|
2
2
|
import { VisuallyHidden } from './chunk-UT6CW3C7.js';
|
|
3
3
|
import { cx } from './chunk-ODEQTPFM.js';
|
|
4
|
-
import './ArtifactKinds-
|
|
4
|
+
import './ArtifactKinds-27TE3KJL.css';
|
|
5
5
|
import './ArtifactNameCell-3AHLUSE5.css';
|
|
6
6
|
import { FolderGlyph, PinGlyph } from '@crewlethq/icons/glyphs';
|
|
7
7
|
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { useRoving, tabStop } from './chunk-EGMQURBR.js';
|
|
2
2
|
import { StatusDot } from './chunk-CYQBDZ6M.js';
|
|
3
|
-
import { Menu } from './chunk-
|
|
3
|
+
import { Menu } from './chunk-TGGYSQRD.js';
|
|
4
4
|
import { HIT_AREA_CLASS } from './chunk-2YTOOH3A.js';
|
|
5
5
|
import { Count } from './chunk-D2GT3CR4.js';
|
|
6
6
|
import { VisuallyHidden } from './chunk-UT6CW3C7.js';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { LayerNodeBridge } from './chunk-LM3ISVJA.js';
|
|
2
|
-
import { Tooltip } from './chunk-
|
|
2
|
+
import { Tooltip } from './chunk-7ZSEUO5Q.js';
|
|
3
3
|
import { Kbd } from './chunk-CMAZZY2I.js';
|
|
4
4
|
import { Button } from './chunk-DGXZ635L.js';
|
|
5
5
|
import { LAYER_REPOSITION_EVENT, LayerHost } from './chunk-OMV5W53A.js';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { cx } from './chunk-ODEQTPFM.js';
|
|
2
|
-
import './ArtifactKinds-
|
|
3
|
-
import './ActionCard-
|
|
2
|
+
import './ArtifactKinds-27TE3KJL.css';
|
|
3
|
+
import './ActionCard-YZKL3CKR.css';
|
|
4
4
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
5
5
|
|
|
6
6
|
var ACTION_CARD_GROUND = {
|