@deepseek-ai/dsh-client-ui-primitives 0.2.0-rc.1 → 0.2.0-rc.2
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.i18n.yaml +4 -4
- package/README.md +10 -3
- package/README.zh.md +10 -3
- package/lib/DisclosureRow.module.css +14 -2
- package/lib/MenuGroup.module.css +37 -0
- package/lib/index.js +349 -226
- package/lib/types/DisclosureRow.d.ts +1 -1
- package/lib/types/Input.d.ts +4 -3
- package/lib/types/MenuGroup.d.ts +22 -0
- package/lib/types/index.d.ts +1 -0
- package/package.json +4 -4
package/lib/index.js
CHANGED
|
@@ -18,18 +18,19 @@ import { createPortal } from "react-dom";
|
|
|
18
18
|
import css$12 from "./ShortcutKeys.module.css";
|
|
19
19
|
import css$13 from "./MenuSurface.module.css";
|
|
20
20
|
import css$14 from "./Menu.module.css";
|
|
21
|
-
import css$15 from "./
|
|
22
|
-
import css$16 from "./
|
|
23
|
-
import css$17 from "./
|
|
24
|
-
import css$18 from "./
|
|
25
|
-
import css$19 from "./
|
|
26
|
-
import css$20 from "./
|
|
21
|
+
import css$15 from "./MenuGroup.module.css";
|
|
22
|
+
import css$16 from "./Tooltip.module.css";
|
|
23
|
+
import css$17 from "./HoverCard.module.css";
|
|
24
|
+
import css$18 from "./Modal.module.css";
|
|
25
|
+
import css$19 from "./RiskConfirmation.module.css";
|
|
26
|
+
import css$20 from "./ConnectionIndicator.module.css";
|
|
27
|
+
import css$21 from "./FileTypeIcon.module.css";
|
|
27
28
|
import { siAliexpress, siApple, siBaidu, siBilibili, siCsdn, siDuckduckgo, siEbay, siFacebook, siGithub, siGitlab, siGoogle, siInstagram, siJuejin, siMdnwebdocs, siNetflix, siNpm, siPypi, siQq, siQuora, siReddit, siSinaweibo, siSpotify, siStackoverflow, siTaobao, siTelegram, siTiktok, siV2ex, siWechat, siWhatsapp, siWikipedia, siX, siYcombinator, siYoutube, siZhihu } from "simple-icons";
|
|
28
|
-
import css$
|
|
29
|
+
import css$22 from "./user-text.module.css";
|
|
29
30
|
import markdownCss from "./markdown/MarkdownText.module.css";
|
|
30
|
-
import css$
|
|
31
|
-
import css$
|
|
32
|
-
import css$
|
|
31
|
+
import css$23 from "./Toast.module.css";
|
|
32
|
+
import css$24 from "./settings-form/SettingsForm.module.css";
|
|
33
|
+
import css$25 from "./settings-form/fields.module.css";
|
|
33
34
|
import { createSnapshotStore } from "@deepseek-ai/dsh-client-store";
|
|
34
35
|
import { createCssVariablesTheme, createHighlighterCoreSync } from "shiki/core";
|
|
35
36
|
import { createJavaScriptRegexEngine, defaultJavaScriptRegexConstructor } from "shiki/engine/javascript";
|
|
@@ -37,14 +38,14 @@ import langTs from "@shikijs/langs/typescript";
|
|
|
37
38
|
import langBash from "@shikijs/langs/shellscript";
|
|
38
39
|
import langJson from "@shikijs/langs/json";
|
|
39
40
|
import { CODE_HIGHLIGHT_EXTENSIONS, languageForPath } from "@deepseek-ai/dsh-util-code-language";
|
|
40
|
-
import css$
|
|
41
|
+
import css$26 from "./JsonTree.module.css";
|
|
41
42
|
import Anser from "anser";
|
|
42
|
-
import css$
|
|
43
|
+
import css$27 from "./TerminalBlock.module.css";
|
|
43
44
|
import cardCss from "./CodeCard.module.css";
|
|
44
|
-
import css$
|
|
45
|
+
import css$28 from "./ReadBlock.module.css";
|
|
45
46
|
import { structuredPatch } from "diff";
|
|
46
|
-
import css$
|
|
47
|
-
import css$
|
|
47
|
+
import css$29 from "./DiffBlock.module.css";
|
|
48
|
+
import css$30 from "./SearchBlock.module.css";
|
|
48
49
|
import { fromMarkdown } from "mdast-util-from-markdown";
|
|
49
50
|
import { gfmFromMarkdown } from "mdast-util-gfm";
|
|
50
51
|
import { mathFromMarkdown } from "mdast-util-math";
|
|
@@ -56,13 +57,13 @@ import { classifyCharacter } from "micromark-util-classify-character";
|
|
|
56
57
|
import { codes, constants, types } from "micromark-util-symbol";
|
|
57
58
|
import { factorySpace } from "micromark-factory-space";
|
|
58
59
|
import { normalizeUri } from "micromark-util-sanitize-uri";
|
|
59
|
-
import css$
|
|
60
|
+
import css$31 from "./markdown/CodeBlock.module.css";
|
|
60
61
|
import katex from "katex";
|
|
61
|
-
import css$
|
|
62
|
-
import css$
|
|
62
|
+
import css$32 from "./ImageLightbox.module.css";
|
|
63
|
+
import css$33 from "./ImagePreview.module.css";
|
|
63
64
|
import "katex/dist/katex.min.css";
|
|
64
|
-
import css$
|
|
65
|
-
import css$
|
|
65
|
+
import css$34 from "./WebBlock.module.css";
|
|
66
|
+
import css$35 from "./markdown/JsonBlock.module.css";
|
|
66
67
|
//#region lib/types/icons/shared-artwork.js
|
|
67
68
|
/**
|
|
68
69
|
* Render new-conversation geometry — the bubble around a plus — for product icons.
|
|
@@ -938,15 +939,15 @@ const IconThinkOutlineArtwork = ({ size = 16, className, strokeWidth }) => jsxs(
|
|
|
938
939
|
strokeWidth,
|
|
939
940
|
children: [
|
|
940
941
|
jsx("path", {
|
|
941
|
-
d: "M10.
|
|
942
|
+
d: "M10.2854 5.71481C12.9673 8.39663 14.1182 11.5938 12.8562 12.8559C11.5942 14.1179 8.39706 12.9669 5.71518 10.2851C3.03333 7.60323 1.88236 4.40608 3.14441 3.14403C4.40644 1.882 7.6036 3.03297 10.2854 5.71481Z",
|
|
942
943
|
stroke: "currentColor"
|
|
943
944
|
}),
|
|
944
945
|
jsx("path", {
|
|
945
|
-
d: "M10.
|
|
946
|
+
d: "M10.2854 10.2851C7.6036 12.9669 4.40644 14.1179 3.14441 12.8559C1.88236 11.5938 3.03333 8.39663 5.71518 5.71481C8.39706 3.03297 11.5942 1.882 12.8562 3.14403C14.1182 4.40608 12.9673 7.60323 10.2854 10.2851Z",
|
|
946
947
|
stroke: "currentColor"
|
|
947
948
|
}),
|
|
948
949
|
jsx("path", {
|
|
949
|
-
d: "M8.
|
|
950
|
+
d: "M8.86291 8.0002C8.86291 8.47549 8.47762 8.86087 8.00224 8.86087C7.52694 8.86087 7.1416 8.47549 7.1416 8.0002C7.1416 7.52485 7.52694 7.13953 8.00224 7.13953C8.47762 7.13953 8.86291 7.52485 8.86291 8.0002Z",
|
|
950
951
|
fill: "currentColor"
|
|
951
952
|
})
|
|
952
953
|
]
|
|
@@ -3183,6 +3184,7 @@ const DisclosureRow = memo(function DisclosureRow({ icon, title, open, expandabl
|
|
|
3183
3184
|
children: [expandable && !rowExpands ? jsx("button", {
|
|
3184
3185
|
type: "button",
|
|
3185
3186
|
className: clsx(css$2.leading, leadingClassName),
|
|
3187
|
+
"aria-label": title,
|
|
3186
3188
|
"aria-expanded": open,
|
|
3187
3189
|
onClick: toggleFromLeading,
|
|
3188
3190
|
children: leading
|
|
@@ -3521,20 +3523,22 @@ function Checkbox({ checked, onChange, label, disabled = false, title, className
|
|
|
3521
3523
|
/**
|
|
3522
3524
|
* Render a text input with an optional leading icon.
|
|
3523
3525
|
* @param props.icon - optional 16px leading icon node.
|
|
3526
|
+
* @param ref - the native input, cleared when it unmounts.
|
|
3524
3527
|
* @returns wrapper span containing the native input; input attributes pass through.
|
|
3525
3528
|
*/
|
|
3526
|
-
function Input({ icon, className, ...rest }) {
|
|
3529
|
+
const Input = forwardRef(function Input({ icon, className, ...rest }, ref) {
|
|
3527
3530
|
return jsxs("span", {
|
|
3528
3531
|
className: clsx(css$11.wrap, className),
|
|
3529
3532
|
children: [icon != null && jsx("span", {
|
|
3530
3533
|
className: css$11.icon,
|
|
3531
3534
|
children: icon
|
|
3532
3535
|
}), jsx("input", {
|
|
3536
|
+
ref,
|
|
3533
3537
|
className: css$11.input,
|
|
3534
3538
|
...rest
|
|
3535
3539
|
})]
|
|
3536
3540
|
});
|
|
3537
|
-
}
|
|
3541
|
+
});
|
|
3538
3542
|
//#endregion
|
|
3539
3543
|
//#region lib/types/overlay-top-margin.js
|
|
3540
3544
|
/** Shared viewport inset for overlays, derived from the desktop frame's reserved top strip. */
|
|
@@ -4269,6 +4273,125 @@ function Menu({ open, anchor, items = [], children, selectedId, selectedIds, onS
|
|
|
4269
4273
|
});
|
|
4270
4274
|
}
|
|
4271
4275
|
//#endregion
|
|
4276
|
+
//#region lib/types/MenuGroup.js
|
|
4277
|
+
/** Accessible menu groups with shared sticky-heading presentation and viewport observation. */
|
|
4278
|
+
/**
|
|
4279
|
+
* Render a named group with an instance-owned heading id and an inaccessible position sentinel.
|
|
4280
|
+
* @param props - Caller-localized label and optional menu rows.
|
|
4281
|
+
* @returns A section named by its direct heading, followed by the supplied children.
|
|
4282
|
+
*/
|
|
4283
|
+
function MenuGroup({ label, children }) {
|
|
4284
|
+
const headingId = useId();
|
|
4285
|
+
return jsxs("section", {
|
|
4286
|
+
role: "group",
|
|
4287
|
+
"aria-labelledby": headingId,
|
|
4288
|
+
"data-menu-group": "",
|
|
4289
|
+
className: css$15.group,
|
|
4290
|
+
children: [
|
|
4291
|
+
jsx("span", {
|
|
4292
|
+
"aria-hidden": "true",
|
|
4293
|
+
"data-menu-group-start": "",
|
|
4294
|
+
className: css$15.start
|
|
4295
|
+
}),
|
|
4296
|
+
jsx("div", {
|
|
4297
|
+
id: headingId,
|
|
4298
|
+
"data-menu-group-heading": "",
|
|
4299
|
+
className: css$15.heading,
|
|
4300
|
+
children: label
|
|
4301
|
+
}),
|
|
4302
|
+
children
|
|
4303
|
+
]
|
|
4304
|
+
});
|
|
4305
|
+
}
|
|
4306
|
+
/**
|
|
4307
|
+
* Update heading backgrounds asynchronously from native intersection and viewport-size observations.
|
|
4308
|
+
* Headings remain transparent until observations identify a section crossing the viewport top.
|
|
4309
|
+
* Without IntersectionObserver or ResizeObserver, CSS sticky headings remain transparent.
|
|
4310
|
+
* Group membership is captured at setup; dispose before observing changed groups or the same viewport again.
|
|
4311
|
+
* @param viewport - Unpadded, borderless scroll container with direct MenuGroup children.
|
|
4312
|
+
* @returns Cleanup owning both intersection observers and the viewport resize observer; disconnects
|
|
4313
|
+
* them, ignores queued callbacks, and clears managed data-stuck attributes. No valid groups acquires nothing.
|
|
4314
|
+
*/
|
|
4315
|
+
function observeStickyMenuGroups(viewport) {
|
|
4316
|
+
const groups = [...viewport.querySelectorAll(":scope > [data-menu-group]")].flatMap((section) => {
|
|
4317
|
+
const heading = section.querySelector(":scope > [data-menu-group-heading]");
|
|
4318
|
+
const start = section.querySelector(":scope > [data-menu-group-start]");
|
|
4319
|
+
return heading === null || start === null ? [] : [{
|
|
4320
|
+
section,
|
|
4321
|
+
heading,
|
|
4322
|
+
start,
|
|
4323
|
+
atTop: false,
|
|
4324
|
+
above: false,
|
|
4325
|
+
topTime: -Infinity,
|
|
4326
|
+
aboveTime: -Infinity
|
|
4327
|
+
}];
|
|
4328
|
+
});
|
|
4329
|
+
if (groups.length === 0 || typeof IntersectionObserver === "undefined" || typeof ResizeObserver === "undefined") return () => {};
|
|
4330
|
+
const sections = new Map(groups.map((group) => [group.section, group]));
|
|
4331
|
+
const starts = new Map(groups.map((group) => [group.start, group]));
|
|
4332
|
+
let disposed = false;
|
|
4333
|
+
let stripObserver;
|
|
4334
|
+
let viewportHeight;
|
|
4335
|
+
const render = (group) => {
|
|
4336
|
+
const stuck = group.atTop && group.above;
|
|
4337
|
+
if (group.heading.hasAttribute("data-stuck") !== stuck) group.heading.toggleAttribute("data-stuck", stuck);
|
|
4338
|
+
};
|
|
4339
|
+
const startObserver = new IntersectionObserver((entries) => {
|
|
4340
|
+
if (disposed) return;
|
|
4341
|
+
for (const entry of entries) {
|
|
4342
|
+
const group = starts.get(entry.target);
|
|
4343
|
+
if (!group || entry.rootBounds === null || entry.time < group.aboveTime) continue;
|
|
4344
|
+
group.above = entry.boundingClientRect.top < entry.rootBounds.top;
|
|
4345
|
+
group.aboveTime = entry.time;
|
|
4346
|
+
render(group);
|
|
4347
|
+
}
|
|
4348
|
+
}, {
|
|
4349
|
+
root: viewport,
|
|
4350
|
+
threshold: [0, 1]
|
|
4351
|
+
});
|
|
4352
|
+
for (const { start } of groups) startObserver.observe(start);
|
|
4353
|
+
const sizeObserver = new ResizeObserver((entries) => {
|
|
4354
|
+
if (disposed) return;
|
|
4355
|
+
for (const entry of entries) {
|
|
4356
|
+
if (entry.target !== viewport || entry.contentRect.height === viewportHeight) continue;
|
|
4357
|
+
viewportHeight = entry.contentRect.height;
|
|
4358
|
+
stripObserver?.disconnect();
|
|
4359
|
+
const observer = new IntersectionObserver((intersections) => {
|
|
4360
|
+
if (disposed || stripObserver !== observer) return;
|
|
4361
|
+
for (const intersection of intersections) {
|
|
4362
|
+
const group = sections.get(intersection.target);
|
|
4363
|
+
if (!group || intersection.rootBounds === null) continue;
|
|
4364
|
+
const top = intersection.rootBounds.top;
|
|
4365
|
+
if (intersection.time >= group.topTime) {
|
|
4366
|
+
group.atTop = intersection.isIntersecting && intersection.boundingClientRect.bottom > top;
|
|
4367
|
+
group.topTime = intersection.time;
|
|
4368
|
+
}
|
|
4369
|
+
if (intersection.time >= group.aboveTime) {
|
|
4370
|
+
group.above = intersection.boundingClientRect.top < top;
|
|
4371
|
+
group.aboveTime = intersection.time;
|
|
4372
|
+
}
|
|
4373
|
+
render(group);
|
|
4374
|
+
}
|
|
4375
|
+
}, {
|
|
4376
|
+
root: viewport,
|
|
4377
|
+
rootMargin: `0px 0px ${Math.min(1, viewportHeight) - viewportHeight}px 0px`,
|
|
4378
|
+
threshold: 0
|
|
4379
|
+
});
|
|
4380
|
+
stripObserver = observer;
|
|
4381
|
+
for (const { section } of groups) observer.observe(section);
|
|
4382
|
+
}
|
|
4383
|
+
});
|
|
4384
|
+
sizeObserver.observe(viewport);
|
|
4385
|
+
return () => {
|
|
4386
|
+
if (disposed) return;
|
|
4387
|
+
disposed = true;
|
|
4388
|
+
startObserver.disconnect();
|
|
4389
|
+
stripObserver?.disconnect();
|
|
4390
|
+
sizeObserver.disconnect();
|
|
4391
|
+
for (const { heading } of groups) if (heading.hasAttribute("data-stuck")) heading.removeAttribute("data-stuck");
|
|
4392
|
+
};
|
|
4393
|
+
}
|
|
4394
|
+
//#endregion
|
|
4272
4395
|
//#region lib/types/useAnchoredMaxHeight.js
|
|
4273
4396
|
/**
|
|
4274
4397
|
* Viewport-fit hook for bottom-anchored overlays (slash menu, popupSelect):
|
|
@@ -4703,7 +4826,7 @@ function Tooltip({ label, shortcutKeys, side = "right", align = "center", delayM
|
|
|
4703
4826
|
const content = visible && !suppressed && jsxs("span", {
|
|
4704
4827
|
ref: bubble,
|
|
4705
4828
|
id: openOnClick ? id : void 0,
|
|
4706
|
-
className: css$
|
|
4829
|
+
className: css$16.bubble,
|
|
4707
4830
|
"data-side": side,
|
|
4708
4831
|
"data-portal": portal || void 0,
|
|
4709
4832
|
"data-pinned": pinned || void 0,
|
|
@@ -4718,7 +4841,7 @@ function Tooltip({ label, shortcutKeys, side = "right", align = "center", delayM
|
|
|
4718
4841
|
role: "tooltip",
|
|
4719
4842
|
"aria-label": shortcutKeys?.length ? [resolvedLabel, shortcutKeys.join(" ")].filter(Boolean).join(" ") : void 0,
|
|
4720
4843
|
children: [resolvedLabel && jsx("span", {
|
|
4721
|
-
className: css$
|
|
4844
|
+
className: css$16.label,
|
|
4722
4845
|
children: resolvedLabel
|
|
4723
4846
|
}), shortcutKeys !== void 0 && shortcutKeys.length > 0 && jsx(ShortcutKeys, {
|
|
4724
4847
|
keys: shortcutKeys,
|
|
@@ -4986,7 +5109,7 @@ function HoverCard({ anchor, content, openDelayMs = 500, disabled = false, copyT
|
|
|
4986
5109
|
};
|
|
4987
5110
|
const card = open && pos !== null && !suppressed && jsx("div", {
|
|
4988
5111
|
ref: cardRef,
|
|
4989
|
-
className: clsx(css$
|
|
5112
|
+
className: clsx(css$17.card, variant === "preview" && css$17.preview, inline && css$17.media, copyable && css$17.copyable, copied && css$17.feedback),
|
|
4990
5113
|
"data-closing": closing || void 0,
|
|
4991
5114
|
style: {
|
|
4992
5115
|
...pos,
|
|
@@ -5009,14 +5132,14 @@ function HoverCard({ anchor, content, openDelayMs = 500, disabled = false, copyT
|
|
|
5009
5132
|
copy(copyText);
|
|
5010
5133
|
} : void 0,
|
|
5011
5134
|
children: copied ? jsx("span", {
|
|
5012
|
-
className: css$
|
|
5135
|
+
className: css$17.copied,
|
|
5013
5136
|
"aria-hidden": "true",
|
|
5014
5137
|
children: copiedLabel
|
|
5015
5138
|
}) : content
|
|
5016
5139
|
});
|
|
5017
5140
|
return jsxs("span", {
|
|
5018
5141
|
ref: rootRef,
|
|
5019
|
-
className: clsx(css$
|
|
5142
|
+
className: clsx(css$17.root, inline && css$17.inline),
|
|
5020
5143
|
onFocus: inline ? (event) => {
|
|
5021
5144
|
if (!disabled && event.target.matches(":focus-visible")) {
|
|
5022
5145
|
cancelClose();
|
|
@@ -5054,7 +5177,7 @@ function HoverCard({ anchor, content, openDelayMs = 500, disabled = false, copyT
|
|
|
5054
5177
|
children: anchor
|
|
5055
5178
|
}),
|
|
5056
5179
|
open && !suppressed && copyable && jsx("span", {
|
|
5057
|
-
className: css$
|
|
5180
|
+
className: css$17.status,
|
|
5058
5181
|
role: "status",
|
|
5059
5182
|
children: copied ? copiedLabel : ""
|
|
5060
5183
|
}),
|
|
@@ -5089,11 +5212,11 @@ function Modal({ open, onClose, title, closeLabel, description, children, footer
|
|
|
5089
5212
|
useModalLayer(dialog, open, onClose);
|
|
5090
5213
|
if (!open) return null;
|
|
5091
5214
|
return createPortal(jsxs("div", {
|
|
5092
|
-
className: css$
|
|
5215
|
+
className: css$18.root,
|
|
5093
5216
|
role: "presentation",
|
|
5094
5217
|
onKeyDownCapture,
|
|
5095
5218
|
children: [jsx("div", {
|
|
5096
|
-
className: css$
|
|
5219
|
+
className: css$18.mask,
|
|
5097
5220
|
style: backdropBlur ? void 0 : { backdropFilter: "none" },
|
|
5098
5221
|
"aria-hidden": "true",
|
|
5099
5222
|
onClick: onClose
|
|
@@ -5101,37 +5224,37 @@ function Modal({ open, onClose, title, closeLabel, description, children, footer
|
|
|
5101
5224
|
ref: dialog,
|
|
5102
5225
|
tabIndex: -1,
|
|
5103
5226
|
"data-shortcut-modal": shortcutModal,
|
|
5104
|
-
className: clsx(css$
|
|
5227
|
+
className: clsx(css$18.dialog, className),
|
|
5105
5228
|
role: "dialog",
|
|
5106
5229
|
"aria-modal": "true",
|
|
5107
5230
|
"aria-label": title,
|
|
5108
5231
|
children: headless ? children : jsxs(Fragment, { children: [jsxs("div", {
|
|
5109
|
-
className: clsx(css$
|
|
5232
|
+
className: clsx(css$18.content, contentClassName),
|
|
5110
5233
|
children: [
|
|
5111
5234
|
jsxs("div", {
|
|
5112
|
-
className: css$
|
|
5235
|
+
className: css$18.header,
|
|
5113
5236
|
children: [jsx("h2", {
|
|
5114
|
-
className: css$
|
|
5237
|
+
className: css$18.title,
|
|
5115
5238
|
children: title
|
|
5116
5239
|
}), jsx("button", {
|
|
5117
5240
|
type: "button",
|
|
5118
|
-
className: css$
|
|
5241
|
+
className: css$18.close,
|
|
5119
5242
|
"aria-label": closeLabel,
|
|
5120
5243
|
onClick: onClose,
|
|
5121
5244
|
children: jsx(IconCloseOutlineRegular, { size: 14 })
|
|
5122
5245
|
})]
|
|
5123
5246
|
}),
|
|
5124
5247
|
description !== void 0 && description !== "" && jsx("p", {
|
|
5125
|
-
className: css$
|
|
5248
|
+
className: css$18.description,
|
|
5126
5249
|
children: description
|
|
5127
5250
|
}),
|
|
5128
5251
|
children !== void 0 && jsx("div", {
|
|
5129
|
-
className: css$
|
|
5252
|
+
className: css$18.body,
|
|
5130
5253
|
children
|
|
5131
5254
|
})
|
|
5132
5255
|
]
|
|
5133
5256
|
}), footer !== void 0 && jsx("div", {
|
|
5134
|
-
className: css$
|
|
5257
|
+
className: css$18.footer,
|
|
5135
5258
|
children: footer
|
|
5136
5259
|
})] })
|
|
5137
5260
|
})]
|
|
@@ -5153,28 +5276,28 @@ function RiskConfirmation({ open, title, description, acknowledgeLabel, cancelLa
|
|
|
5153
5276
|
onClose: onCancel,
|
|
5154
5277
|
title,
|
|
5155
5278
|
closeLabel,
|
|
5156
|
-
className: css$
|
|
5157
|
-
contentClassName: css$
|
|
5279
|
+
className: css$19.confirmation ?? "",
|
|
5280
|
+
contentClassName: css$19.confirmationContent ?? "",
|
|
5158
5281
|
footer: jsxs(Fragment, { children: [jsx(Button, {
|
|
5159
5282
|
variant: "outline",
|
|
5160
|
-
className: css$
|
|
5283
|
+
className: css$19.modalAction,
|
|
5161
5284
|
onClick: onCancel,
|
|
5162
5285
|
children: cancelLabel
|
|
5163
5286
|
}), jsx(Button, {
|
|
5164
5287
|
variant: "primary",
|
|
5165
|
-
className: css$
|
|
5288
|
+
className: css$19.confirmAction,
|
|
5166
5289
|
disabled: disabled || !acknowledged,
|
|
5167
5290
|
onClick: onConfirm,
|
|
5168
5291
|
children: confirmLabel
|
|
5169
5292
|
})] }),
|
|
5170
5293
|
children: [jsxs("div", {
|
|
5171
|
-
className: css$
|
|
5294
|
+
className: css$19.warning,
|
|
5172
5295
|
children: [jsx(IconWarningOutlineRegular, {
|
|
5173
5296
|
size: 18,
|
|
5174
|
-
className: css$
|
|
5297
|
+
className: css$19.warningIcon
|
|
5175
5298
|
}), jsx("p", { children: description })]
|
|
5176
5299
|
}), jsxs("label", {
|
|
5177
|
-
className: css$
|
|
5300
|
+
className: css$19.acknowledgement,
|
|
5178
5301
|
children: [jsx("input", {
|
|
5179
5302
|
type: "checkbox",
|
|
5180
5303
|
checked: acknowledged,
|
|
@@ -5222,44 +5345,44 @@ function ConnectionIndicator({ state, disconnectedLabel, connectingLabel, recove
|
|
|
5222
5345
|
};
|
|
5223
5346
|
}, [state, rendered]);
|
|
5224
5347
|
if (rendered === void 0) return null;
|
|
5225
|
-
const leavingClass = leaving ? ` ${css$
|
|
5348
|
+
const leavingClass = leaving ? ` ${css$20.leaving}` : "";
|
|
5226
5349
|
if (rendered === "recovered") return jsxs("div", {
|
|
5227
|
-
className: `${css$
|
|
5350
|
+
className: `${css$20.indicator} ${css$20.success}${leavingClass}`,
|
|
5228
5351
|
role: "status",
|
|
5229
5352
|
"aria-label": recoveredLabel,
|
|
5230
5353
|
children: [jsx("span", {
|
|
5231
|
-
className: css$
|
|
5354
|
+
className: css$20.icon,
|
|
5232
5355
|
"aria-hidden": "true",
|
|
5233
5356
|
children: jsx(IconCheckOutlineRegular, { size: 14 })
|
|
5234
5357
|
}), jsx("span", {
|
|
5235
|
-
className: css$
|
|
5358
|
+
className: css$20.label,
|
|
5236
5359
|
children: recoveredLabel
|
|
5237
5360
|
})]
|
|
5238
5361
|
});
|
|
5239
5362
|
const connecting = rendered === "connecting";
|
|
5240
5363
|
return jsxs("button", {
|
|
5241
5364
|
type: "button",
|
|
5242
|
-
className: `${css$
|
|
5365
|
+
className: `${css$20.indicator} ${css$20.warning}${leavingClass}`,
|
|
5243
5366
|
"data-phase": rendered,
|
|
5244
5367
|
"aria-label": connecting ? restartActionLabel : reconnectActionLabel,
|
|
5245
5368
|
onClick: onReconnect,
|
|
5246
5369
|
children: [jsx("span", {
|
|
5247
|
-
className: css$
|
|
5370
|
+
className: css$20.icon,
|
|
5248
5371
|
"aria-hidden": "true",
|
|
5249
5372
|
children: connecting ? jsx(StateDot, { state: "ongoing" }) : jsx(IconRefreshOutlineRegular, { size: 14 })
|
|
5250
5373
|
}), jsx("span", {
|
|
5251
|
-
className: css$
|
|
5374
|
+
className: css$20.label,
|
|
5252
5375
|
children: connecting ? jsxs(Fragment, { children: [connectingLabel, jsxs("span", {
|
|
5253
|
-
className: css$
|
|
5376
|
+
className: css$20.dots,
|
|
5254
5377
|
"aria-hidden": "true",
|
|
5255
5378
|
children: [
|
|
5256
5379
|
jsx("span", { children: "." }),
|
|
5257
5380
|
jsx("span", {
|
|
5258
|
-
className: css$
|
|
5381
|
+
className: css$20.secondDot,
|
|
5259
5382
|
children: "."
|
|
5260
5383
|
}),
|
|
5261
5384
|
jsx("span", {
|
|
5262
|
-
className: css$
|
|
5385
|
+
className: css$20.thirdDot,
|
|
5263
5386
|
children: "."
|
|
5264
5387
|
})
|
|
5265
5388
|
]
|
|
@@ -6290,7 +6413,7 @@ function FileTypeIcon(props) {
|
|
|
6290
6413
|
type: resolvedType,
|
|
6291
6414
|
size,
|
|
6292
6415
|
className
|
|
6293
|
-
}) : glyph(resolvedType, size, clsx(css$
|
|
6416
|
+
}) : glyph(resolvedType, size, clsx(css$21.icon, css$21[resolvedType], className));
|
|
6294
6417
|
}
|
|
6295
6418
|
//#endregion
|
|
6296
6419
|
//#region lib/types/SiteGlyph.js
|
|
@@ -6619,7 +6742,7 @@ function projectUserText(text, sessionLabels, slashNames = [], slashKind = "skil
|
|
|
6619
6742
|
let cursor = 0;
|
|
6620
6743
|
const pushPlain = (from, to) => {
|
|
6621
6744
|
parts.push(jsx("span", {
|
|
6622
|
-
className: css$
|
|
6745
|
+
className: css$22.plainRun,
|
|
6623
6746
|
children: text.slice(from, to)
|
|
6624
6747
|
}, `t${from}`));
|
|
6625
6748
|
};
|
|
@@ -6632,14 +6755,14 @@ function projectUserText(text, sessionLabels, slashNames = [], slashKind = "skil
|
|
|
6632
6755
|
const contents = jsxs(Fragment, { children: [referenceKind !== void 0 && jsx(ReferenceIconRegular, {
|
|
6633
6756
|
kind: referenceKind,
|
|
6634
6757
|
size: 16,
|
|
6635
|
-
className: css$
|
|
6758
|
+
className: css$22.refIcon
|
|
6636
6759
|
}), displayLabel] });
|
|
6637
6760
|
const open = references === void 0 ? void 0 : referenceKind === "file" ? () => {
|
|
6638
6761
|
references.openFile(label.slice(1).replace(/^"|"$/gu, ""));
|
|
6639
6762
|
} : referenceKind === void 0 && slashKind === "skill" ? () => {
|
|
6640
6763
|
references.openSkill(label.slice(1));
|
|
6641
6764
|
} : void 0;
|
|
6642
|
-
const className = clsx(css$
|
|
6765
|
+
const className = clsx(css$22.refChip, referenceKind === void 0 && css$22.slashChip);
|
|
6643
6766
|
parts.push(open === void 0 ? jsx("span", {
|
|
6644
6767
|
className,
|
|
6645
6768
|
"data-ref-chip": referenceKind ?? slashKind,
|
|
@@ -6659,7 +6782,7 @@ function projectUserText(text, sessionLabels, slashNames = [], slashKind = "skil
|
|
|
6659
6782
|
cursor = end;
|
|
6660
6783
|
}
|
|
6661
6784
|
if (parts.length === 0) return jsx("span", {
|
|
6662
|
-
className: css$
|
|
6785
|
+
className: css$22.plainRun,
|
|
6663
6786
|
children: text
|
|
6664
6787
|
});
|
|
6665
6788
|
if (cursor < text.length) pushPlain(cursor, text.length);
|
|
@@ -6732,25 +6855,25 @@ function Toast({ text, icon, tone, anchor, holdMs = HOLD_MS, actions, onDone })
|
|
|
6732
6855
|
};
|
|
6733
6856
|
}, [anchor]);
|
|
6734
6857
|
return createPortal(jsxs("div", {
|
|
6735
|
-
className: css$
|
|
6858
|
+
className: css$23.toast,
|
|
6736
6859
|
role: "alert",
|
|
6737
6860
|
style: {
|
|
6738
6861
|
...left === null ? {} : { left },
|
|
6739
6862
|
"--dsh-toast-hold": `${String(holdMs)}ms`
|
|
6740
6863
|
},
|
|
6741
6864
|
children: [tone === "success" ? jsx("span", {
|
|
6742
|
-
className: `${css$
|
|
6865
|
+
className: `${css$23.icon} ${css$23.success}`,
|
|
6743
6866
|
"aria-hidden": true,
|
|
6744
6867
|
children: jsx(IconCheckCircleOutlineRegular, {})
|
|
6745
6868
|
}) : icon !== void 0 && jsx("span", {
|
|
6746
|
-
className: css$
|
|
6869
|
+
className: css$23.icon,
|
|
6747
6870
|
"aria-hidden": true,
|
|
6748
6871
|
children: icon
|
|
6749
6872
|
}), jsxs("span", {
|
|
6750
|
-
className: css$
|
|
6873
|
+
className: css$23.text,
|
|
6751
6874
|
children: [text, actions?.map((action) => jsxs(Fragment$1, { children: [action.prefix, jsx("button", {
|
|
6752
6875
|
type: "button",
|
|
6753
|
-
className: css$
|
|
6876
|
+
className: css$23.action,
|
|
6754
6877
|
onClick: action.onClick,
|
|
6755
6878
|
children: action.label
|
|
6756
6879
|
})] }, action.label))]
|
|
@@ -6800,29 +6923,29 @@ function SettingsForm(props) {
|
|
|
6800
6923
|
discard.current();
|
|
6801
6924
|
}, []);
|
|
6802
6925
|
if (!state.available) return jsx("p", {
|
|
6803
|
-
className: css$
|
|
6926
|
+
className: css$24.unavailable,
|
|
6804
6927
|
role: "status",
|
|
6805
6928
|
children: labels.unavailable
|
|
6806
6929
|
});
|
|
6807
6930
|
const blocked = !state.dirty || state.invalid || state.saving;
|
|
6808
6931
|
return jsxs("div", {
|
|
6809
|
-
className: css$
|
|
6932
|
+
className: css$24.form,
|
|
6810
6933
|
children: [
|
|
6811
6934
|
!state.writable ? jsx("p", {
|
|
6812
|
-
className: css$
|
|
6935
|
+
className: css$24.readOnly,
|
|
6813
6936
|
role: "status",
|
|
6814
6937
|
children: labels.readOnly
|
|
6815
6938
|
}) : null,
|
|
6816
6939
|
props.children,
|
|
6817
6940
|
jsxs("div", {
|
|
6818
|
-
className: css$
|
|
6941
|
+
className: css$24.footer,
|
|
6819
6942
|
children: [state.failed ? jsx("p", {
|
|
6820
|
-
className: css$
|
|
6943
|
+
className: css$24.failed,
|
|
6821
6944
|
role: "status",
|
|
6822
6945
|
children: labels.saveFailed
|
|
6823
6946
|
}) : null, jsx("button", {
|
|
6824
6947
|
type: "button",
|
|
6825
|
-
className: css$
|
|
6948
|
+
className: css$24.save,
|
|
6826
6949
|
disabled: blocked,
|
|
6827
6950
|
onClick: props.onSave,
|
|
6828
6951
|
children: state.saving ? labels.saving : labels.save
|
|
@@ -6854,19 +6977,19 @@ function SettingsValueField(props) {
|
|
|
6854
6977
|
const hasMessage = props.invalid || Boolean(props.hint);
|
|
6855
6978
|
const description = [hasMessage ? messageId : "", helpOpen ? helpId : ""].filter(Boolean).join(" ");
|
|
6856
6979
|
return jsxs("div", {
|
|
6857
|
-
className: css$
|
|
6980
|
+
className: css$25.field,
|
|
6858
6981
|
children: [
|
|
6859
6982
|
jsxs("div", {
|
|
6860
|
-
className: css$
|
|
6983
|
+
className: css$25.head,
|
|
6861
6984
|
children: [jsxs("div", {
|
|
6862
|
-
className: css$
|
|
6985
|
+
className: css$25.labelGroup,
|
|
6863
6986
|
children: [jsx("label", {
|
|
6864
|
-
className: css$
|
|
6987
|
+
className: css$25.label,
|
|
6865
6988
|
htmlFor: props.id,
|
|
6866
6989
|
children: props.label
|
|
6867
6990
|
}), props.help !== void 0 ? jsx("button", {
|
|
6868
6991
|
type: "button",
|
|
6869
|
-
className: css$
|
|
6992
|
+
className: css$25.helpButton,
|
|
6870
6993
|
"aria-label": props.help.label,
|
|
6871
6994
|
"aria-expanded": helpOpen,
|
|
6872
6995
|
"aria-controls": helpId,
|
|
@@ -6876,13 +6999,13 @@ function SettingsValueField(props) {
|
|
|
6876
6999
|
children: jsx(IconInfoOutlineRegular, { size: 12 })
|
|
6877
7000
|
}) : null]
|
|
6878
7001
|
}), props.overridden ? jsxs("span", {
|
|
6879
|
-
className: css$
|
|
7002
|
+
className: css$25.badges,
|
|
6880
7003
|
children: [jsx(Tag, {
|
|
6881
7004
|
tone: "neutral",
|
|
6882
7005
|
children: props.overriddenLabel
|
|
6883
7006
|
}), jsx("button", {
|
|
6884
7007
|
type: "button",
|
|
6885
|
-
className: css$
|
|
7008
|
+
className: css$25.reset,
|
|
6886
7009
|
disabled: props.disabled,
|
|
6887
7010
|
onClick: props.onReset,
|
|
6888
7011
|
children: props.resetLabel
|
|
@@ -6891,7 +7014,7 @@ function SettingsValueField(props) {
|
|
|
6891
7014
|
}),
|
|
6892
7015
|
jsx("input", {
|
|
6893
7016
|
id: props.id,
|
|
6894
|
-
className: css$
|
|
7017
|
+
className: css$25.input,
|
|
6895
7018
|
type: "text",
|
|
6896
7019
|
...props.numeric === true ? { inputMode: "numeric" } : {},
|
|
6897
7020
|
...props.invalid ? { "aria-invalid": true } : {},
|
|
@@ -6905,12 +7028,12 @@ function SettingsValueField(props) {
|
|
|
6905
7028
|
}),
|
|
6906
7029
|
hasMessage ? jsx("p", {
|
|
6907
7030
|
id: messageId,
|
|
6908
|
-
className: props.invalid ? css$
|
|
7031
|
+
className: props.invalid ? css$25.invalid : css$25.hint,
|
|
6909
7032
|
children: props.invalid ? props.invalidLabel : props.hint
|
|
6910
7033
|
}) : null,
|
|
6911
7034
|
props.help !== void 0 && helpOpen ? jsx("div", {
|
|
6912
7035
|
id: helpId,
|
|
6913
|
-
className: css$
|
|
7036
|
+
className: css$25.help,
|
|
6914
7037
|
role: "region",
|
|
6915
7038
|
"aria-label": props.help.label,
|
|
6916
7039
|
children: props.help.content
|
|
@@ -6928,16 +7051,16 @@ function SettingsValueField(props) {
|
|
|
6928
7051
|
*/
|
|
6929
7052
|
function SettingsSecretField(props) {
|
|
6930
7053
|
return jsxs("div", {
|
|
6931
|
-
className: css$
|
|
7054
|
+
className: css$25.field,
|
|
6932
7055
|
children: [
|
|
6933
7056
|
jsxs("div", {
|
|
6934
|
-
className: css$
|
|
7057
|
+
className: css$25.head,
|
|
6935
7058
|
children: [jsx("label", {
|
|
6936
|
-
className: css$
|
|
7059
|
+
className: css$25.label,
|
|
6937
7060
|
htmlFor: props.id,
|
|
6938
7061
|
children: props.label
|
|
6939
7062
|
}), jsx("span", {
|
|
6940
|
-
className: css$
|
|
7063
|
+
className: css$25.badges,
|
|
6941
7064
|
children: jsx(Tag, {
|
|
6942
7065
|
tone: props.configured ? "neutral" : "quiet",
|
|
6943
7066
|
children: props.stateLabel
|
|
@@ -6946,7 +7069,7 @@ function SettingsSecretField(props) {
|
|
|
6946
7069
|
}),
|
|
6947
7070
|
jsx("input", {
|
|
6948
7071
|
id: props.id,
|
|
6949
|
-
className: css$
|
|
7072
|
+
className: css$25.input,
|
|
6950
7073
|
type: "password",
|
|
6951
7074
|
autoComplete: "new-password",
|
|
6952
7075
|
value: props.text,
|
|
@@ -6956,7 +7079,7 @@ function SettingsSecretField(props) {
|
|
|
6956
7079
|
}
|
|
6957
7080
|
}),
|
|
6958
7081
|
jsx("p", {
|
|
6959
|
-
className: css$
|
|
7082
|
+
className: css$25.hint,
|
|
6960
7083
|
children: props.hint
|
|
6961
7084
|
})
|
|
6962
7085
|
]
|
|
@@ -8022,7 +8145,7 @@ function JsonCopyAction({ store, target, persistent, labels, onCopy, onClose })
|
|
|
8022
8145
|
const object = typeof target.value === "object" && target.value !== null;
|
|
8023
8146
|
const copyTitle = state === "copied" ? labels.copied : state === "failed" ? labels.copyFailed : object ? labels.copyPrettyJson : labels.copyValue;
|
|
8024
8147
|
return jsx("span", {
|
|
8025
|
-
className: css$
|
|
8148
|
+
className: css$26.copySlot,
|
|
8026
8149
|
children: (persistent || snapshot !== void 0) && jsx(Menu, {
|
|
8027
8150
|
open: snapshot?.menuOpen === true,
|
|
8028
8151
|
compact: true,
|
|
@@ -8031,7 +8154,7 @@ function JsonCopyAction({ store, target, persistent, labels, onCopy, onClose })
|
|
|
8031
8154
|
anchor: jsx("button", {
|
|
8032
8155
|
ref: buttonRef,
|
|
8033
8156
|
type: "button",
|
|
8034
|
-
className: css$
|
|
8157
|
+
className: css$26.actionButton,
|
|
8035
8158
|
"data-json-copy-button": true,
|
|
8036
8159
|
"data-state": state,
|
|
8037
8160
|
"aria-label": copyTitle,
|
|
@@ -8070,35 +8193,35 @@ function bracketOf(value) {
|
|
|
8070
8193
|
}
|
|
8071
8194
|
function previewPrimitive(value) {
|
|
8072
8195
|
if (value === null) return jsx("span", {
|
|
8073
|
-
className: css$
|
|
8196
|
+
className: css$26.keywordValue,
|
|
8074
8197
|
children: "null"
|
|
8075
8198
|
});
|
|
8076
8199
|
if (typeof value === "string") return jsx("span", {
|
|
8077
|
-
className: css$
|
|
8200
|
+
className: css$26.stringValue,
|
|
8078
8201
|
children: JSON.stringify(value)
|
|
8079
8202
|
});
|
|
8080
8203
|
if (typeof value === "number") return jsx("span", {
|
|
8081
|
-
className: css$
|
|
8204
|
+
className: css$26.numberValue,
|
|
8082
8205
|
children: String(value)
|
|
8083
8206
|
});
|
|
8084
8207
|
if (typeof value === "boolean") return jsx("span", {
|
|
8085
|
-
className: css$
|
|
8208
|
+
className: css$26.keywordValue,
|
|
8086
8209
|
children: String(value)
|
|
8087
8210
|
});
|
|
8088
8211
|
if (typeof value === "bigint") return jsx("span", {
|
|
8089
|
-
className: css$
|
|
8212
|
+
className: css$26.otherValue,
|
|
8090
8213
|
children: value.toString()
|
|
8091
8214
|
});
|
|
8092
8215
|
if (typeof value === "undefined") return jsx("span", {
|
|
8093
|
-
className: css$
|
|
8216
|
+
className: css$26.otherValue,
|
|
8094
8217
|
children: "undefined"
|
|
8095
8218
|
});
|
|
8096
8219
|
if (typeof value === "symbol") return jsx("span", {
|
|
8097
|
-
className: css$
|
|
8220
|
+
className: css$26.otherValue,
|
|
8098
8221
|
children: value.description ?? "Symbol"
|
|
8099
8222
|
});
|
|
8100
8223
|
if (typeof value === "function") return jsx("span", {
|
|
8101
|
-
className: css$
|
|
8224
|
+
className: css$26.otherValue,
|
|
8102
8225
|
children: value.name || "Function"
|
|
8103
8226
|
});
|
|
8104
8227
|
return null;
|
|
@@ -8112,71 +8235,71 @@ function previewValue(value, depth) {
|
|
|
8112
8235
|
const [open, close] = bracketOf(value);
|
|
8113
8236
|
return jsxs(Fragment, { children: [
|
|
8114
8237
|
jsx("span", {
|
|
8115
|
-
className: css$
|
|
8238
|
+
className: css$26.punctuation,
|
|
8116
8239
|
children: open
|
|
8117
8240
|
}),
|
|
8118
8241
|
depth >= PREVIEW_DEPTH_LIMIT ? jsx("span", {
|
|
8119
|
-
className: css$
|
|
8242
|
+
className: css$26.previewEllipsis,
|
|
8120
8243
|
children: "…"
|
|
8121
8244
|
}) : visible.map(([key, item], index) => jsxs("span", { children: [
|
|
8122
8245
|
index > 0 && jsx("span", {
|
|
8123
|
-
className: css$
|
|
8246
|
+
className: css$26.punctuation,
|
|
8124
8247
|
children: ", "
|
|
8125
8248
|
}),
|
|
8126
8249
|
!array && jsxs(Fragment, { children: [jsx("span", {
|
|
8127
|
-
className: css$
|
|
8250
|
+
className: css$26.previewProperty,
|
|
8128
8251
|
children: key
|
|
8129
8252
|
}), jsx("span", {
|
|
8130
|
-
className: css$
|
|
8253
|
+
className: css$26.punctuation,
|
|
8131
8254
|
children: ": "
|
|
8132
8255
|
})] }),
|
|
8133
8256
|
previewValue(item, depth + 1)
|
|
8134
8257
|
] }, key)),
|
|
8135
8258
|
depth < PREVIEW_DEPTH_LIMIT && entries.length > limit && jsx("span", {
|
|
8136
|
-
className: css$
|
|
8259
|
+
className: css$26.previewEllipsis,
|
|
8137
8260
|
children: ", …"
|
|
8138
8261
|
}),
|
|
8139
8262
|
jsx("span", {
|
|
8140
|
-
className: css$
|
|
8263
|
+
className: css$26.punctuation,
|
|
8141
8264
|
children: close
|
|
8142
8265
|
})
|
|
8143
8266
|
] });
|
|
8144
8267
|
}
|
|
8145
8268
|
function primitiveValue(value) {
|
|
8146
8269
|
if (value === null) return jsx("span", {
|
|
8147
|
-
className: css$
|
|
8270
|
+
className: css$26.keywordValue,
|
|
8148
8271
|
children: "null"
|
|
8149
8272
|
});
|
|
8150
8273
|
if (typeof value === "string") return jsx("span", {
|
|
8151
|
-
className: css$
|
|
8274
|
+
className: css$26.stringValue,
|
|
8152
8275
|
children: JSON.stringify(value)
|
|
8153
8276
|
});
|
|
8154
8277
|
if (typeof value === "boolean") return jsx("span", {
|
|
8155
|
-
className: css$
|
|
8278
|
+
className: css$26.keywordValue,
|
|
8156
8279
|
children: String(value)
|
|
8157
8280
|
});
|
|
8158
8281
|
if (typeof value === "number") return jsx("span", {
|
|
8159
|
-
className: css$
|
|
8282
|
+
className: css$26.numberValue,
|
|
8160
8283
|
children: String(value)
|
|
8161
8284
|
});
|
|
8162
8285
|
if (typeof value === "bigint") return jsx("span", {
|
|
8163
|
-
className: css$
|
|
8286
|
+
className: css$26.numberValue,
|
|
8164
8287
|
children: `${value.toString()}n`
|
|
8165
8288
|
});
|
|
8166
8289
|
if (value instanceof Date) return jsx("span", {
|
|
8167
|
-
className: css$
|
|
8290
|
+
className: css$26.otherValue,
|
|
8168
8291
|
children: value.toISOString()
|
|
8169
8292
|
});
|
|
8170
8293
|
if (typeof value === "function") return jsxs("span", {
|
|
8171
|
-
className: css$
|
|
8294
|
+
className: css$26.otherValue,
|
|
8172
8295
|
children: ["function() ", "{ }"]
|
|
8173
8296
|
});
|
|
8174
8297
|
if (typeof value === "undefined") return jsx("span", {
|
|
8175
|
-
className: css$
|
|
8298
|
+
className: css$26.otherValue,
|
|
8176
8299
|
children: "undefined"
|
|
8177
8300
|
});
|
|
8178
8301
|
return jsx("span", {
|
|
8179
|
-
className: css$
|
|
8302
|
+
className: css$26.otherValue,
|
|
8180
8303
|
children: value.toString()
|
|
8181
8304
|
});
|
|
8182
8305
|
}
|
|
@@ -8204,7 +8327,7 @@ function moveFocus(button, direction) {
|
|
|
8204
8327
|
function NodeField({ field, expandable, onToggle }) {
|
|
8205
8328
|
if (field === void 0) return null;
|
|
8206
8329
|
return jsxs("span", {
|
|
8207
|
-
className: clsx(css$
|
|
8330
|
+
className: clsx(css$26.label, expandable && css$26.clickableLabel),
|
|
8208
8331
|
onClick: expandable ? onToggle : void 0,
|
|
8209
8332
|
children: [fieldText(field), ":"]
|
|
8210
8333
|
});
|
|
@@ -8241,7 +8364,7 @@ function JsonString({ collapsedStringLines, stringWrapping, field, labels, lastE
|
|
|
8241
8364
|
if (!expanded) return;
|
|
8242
8365
|
const raw = rawRef.current;
|
|
8243
8366
|
const clips = [];
|
|
8244
|
-
const tree = raw.closest(`.${css$
|
|
8367
|
+
const tree = raw.closest(`.${css$26.root}`);
|
|
8245
8368
|
for (let parent = tree.parentElement; parent !== null; parent = parent.parentElement) if (/auto|scroll|hidden|clip/.test(getComputedStyle(parent).overflowY)) clips.push(parent);
|
|
8246
8369
|
const measure = () => {
|
|
8247
8370
|
let top = 0;
|
|
@@ -8270,33 +8393,33 @@ function JsonString({ collapsedStringLines, stringWrapping, field, labels, lastE
|
|
|
8270
8393
|
if (expanded) {
|
|
8271
8394
|
const fieldId = `${contentsId}-field`;
|
|
8272
8395
|
return jsxs("div", {
|
|
8273
|
-
className: css$
|
|
8396
|
+
className: css$26.stringField,
|
|
8274
8397
|
"data-expanded": true,
|
|
8275
8398
|
children: [
|
|
8276
8399
|
field !== void 0 && jsxs("span", {
|
|
8277
8400
|
id: fieldId,
|
|
8278
|
-
className: css$
|
|
8401
|
+
className: css$26.label,
|
|
8279
8402
|
children: [fieldText(field), ":"]
|
|
8280
8403
|
}),
|
|
8281
8404
|
jsx("pre", {
|
|
8282
8405
|
ref: rawRef,
|
|
8283
8406
|
id: contentsId,
|
|
8284
|
-
className: css$
|
|
8407
|
+
className: css$26.stringRaw,
|
|
8285
8408
|
"data-wrap": wrapped,
|
|
8286
8409
|
tabIndex: 0,
|
|
8287
8410
|
"aria-labelledby": field === void 0 ? void 0 : fieldId,
|
|
8288
8411
|
children: value
|
|
8289
8412
|
}),
|
|
8290
8413
|
!lastElement && jsx("span", {
|
|
8291
|
-
className: css$
|
|
8414
|
+
className: css$26.punctuation,
|
|
8292
8415
|
children: ","
|
|
8293
8416
|
}),
|
|
8294
8417
|
jsxs("div", {
|
|
8295
|
-
className: css$
|
|
8418
|
+
className: css$26.stringActions,
|
|
8296
8419
|
children: [
|
|
8297
8420
|
stringWrapping !== void 0 && jsx("button", {
|
|
8298
8421
|
type: "button",
|
|
8299
|
-
className: css$
|
|
8422
|
+
className: css$26.actionButton,
|
|
8300
8423
|
"aria-label": stringWrapping.label,
|
|
8301
8424
|
title: stringWrapping.label,
|
|
8302
8425
|
"aria-pressed": wrapped,
|
|
@@ -8310,7 +8433,7 @@ function JsonString({ collapsedStringLines, stringWrapping, field, labels, lastE
|
|
|
8310
8433
|
}),
|
|
8311
8434
|
jsx("button", {
|
|
8312
8435
|
type: "button",
|
|
8313
|
-
className: css$
|
|
8436
|
+
className: css$26.actionButton,
|
|
8314
8437
|
"aria-label": labels.collapseNode,
|
|
8315
8438
|
title: labels.collapseNode,
|
|
8316
8439
|
"aria-expanded": true,
|
|
@@ -8335,18 +8458,18 @@ function JsonString({ collapsedStringLines, stringWrapping, field, labels, lastE
|
|
|
8335
8458
|
});
|
|
8336
8459
|
}
|
|
8337
8460
|
return jsxs(Fragment, { children: [renderCopy?.(), jsx("span", {
|
|
8338
|
-
className: css$
|
|
8461
|
+
className: css$26.stringField,
|
|
8339
8462
|
"data-expanded": expanded,
|
|
8340
8463
|
children: jsxs("span", {
|
|
8341
8464
|
ref: contentRef,
|
|
8342
8465
|
id: contentsId,
|
|
8343
|
-
className: css$
|
|
8466
|
+
className: css$26.stringText,
|
|
8344
8467
|
children: [
|
|
8345
8468
|
truncated && jsx("span", {
|
|
8346
|
-
className: css$
|
|
8469
|
+
className: css$26.stringToggleSlot,
|
|
8347
8470
|
children: jsxs("button", {
|
|
8348
8471
|
type: "button",
|
|
8349
|
-
className: css$
|
|
8472
|
+
className: css$26.stringToggle,
|
|
8350
8473
|
"aria-label": labels.expandNode,
|
|
8351
8474
|
"aria-expanded": false,
|
|
8352
8475
|
"aria-controls": contentsId,
|
|
@@ -8361,12 +8484,12 @@ function JsonString({ collapsedStringLines, stringWrapping, field, labels, lastE
|
|
|
8361
8484
|
})
|
|
8362
8485
|
}),
|
|
8363
8486
|
field !== void 0 && jsxs("span", {
|
|
8364
|
-
className: css$
|
|
8487
|
+
className: css$26.label,
|
|
8365
8488
|
children: [fieldText(field), ":"]
|
|
8366
8489
|
}),
|
|
8367
8490
|
primitiveValue(value),
|
|
8368
8491
|
!lastElement && jsx("span", {
|
|
8369
|
-
className: css$
|
|
8492
|
+
className: css$26.punctuation,
|
|
8370
8493
|
children: ","
|
|
8371
8494
|
})
|
|
8372
8495
|
]
|
|
@@ -8397,7 +8520,7 @@ function JsonTreeNode({ collapsedStringLines, stringWrapping, field, initialExpa
|
|
|
8397
8520
|
}
|
|
8398
8521
|
};
|
|
8399
8522
|
const row = (children, ariaExpanded) => jsxs("div", {
|
|
8400
|
-
className: css$
|
|
8523
|
+
className: css$26.row,
|
|
8401
8524
|
role: "treeitem",
|
|
8402
8525
|
"aria-expanded": ariaExpanded,
|
|
8403
8526
|
onMouseOver: (event) => {
|
|
@@ -8432,7 +8555,7 @@ function JsonTreeNode({ collapsedStringLines, stringWrapping, field, initialExpa
|
|
|
8432
8555
|
}),
|
|
8433
8556
|
primitiveValue(value),
|
|
8434
8557
|
!lastElement && jsx("span", {
|
|
8435
|
-
className: css$
|
|
8558
|
+
className: css$26.punctuation,
|
|
8436
8559
|
children: ","
|
|
8437
8560
|
})
|
|
8438
8561
|
] }));
|
|
@@ -8444,22 +8567,22 @@ function JsonTreeNode({ collapsedStringLines, stringWrapping, field, initialExpa
|
|
|
8444
8567
|
onToggle: toggle
|
|
8445
8568
|
}),
|
|
8446
8569
|
jsx("span", {
|
|
8447
|
-
className: css$
|
|
8570
|
+
className: css$26.punctuation,
|
|
8448
8571
|
children: open
|
|
8449
8572
|
}),
|
|
8450
8573
|
jsx("span", {
|
|
8451
|
-
className: css$
|
|
8574
|
+
className: css$26.punctuation,
|
|
8452
8575
|
children: close
|
|
8453
8576
|
}),
|
|
8454
8577
|
!lastElement && jsx("span", {
|
|
8455
|
-
className: css$
|
|
8578
|
+
className: css$26.punctuation,
|
|
8456
8579
|
children: ","
|
|
8457
8580
|
})
|
|
8458
8581
|
] }));
|
|
8459
8582
|
return row(jsxs(Fragment, { children: [
|
|
8460
8583
|
jsx("span", {
|
|
8461
8584
|
ref: expanderRef,
|
|
8462
|
-
className: clsx(css$
|
|
8585
|
+
className: clsx(css$26.expander, expanded ? css$26.collapseIcon : css$26.expandIcon),
|
|
8463
8586
|
"data-json-expander": true,
|
|
8464
8587
|
role: "button",
|
|
8465
8588
|
"aria-label": expanded ? labels.collapseNode : labels.expandNode,
|
|
@@ -8473,7 +8596,7 @@ function JsonTreeNode({ collapsedStringLines, stringWrapping, field, initialExpa
|
|
|
8473
8596
|
onKeyDown: onExpanderKeyDown
|
|
8474
8597
|
}),
|
|
8475
8598
|
jsxs("span", {
|
|
8476
|
-
className: css$
|
|
8599
|
+
className: css$26.summary,
|
|
8477
8600
|
children: [
|
|
8478
8601
|
jsx(NodeField, {
|
|
8479
8602
|
field,
|
|
@@ -8481,11 +8604,11 @@ function JsonTreeNode({ collapsedStringLines, stringWrapping, field, initialExpa
|
|
|
8481
8604
|
onToggle: toggle
|
|
8482
8605
|
}),
|
|
8483
8606
|
jsx("span", {
|
|
8484
|
-
className: css$
|
|
8607
|
+
className: css$26.preview,
|
|
8485
8608
|
children: previewValue(value, 0)
|
|
8486
8609
|
}),
|
|
8487
8610
|
!lastElement && jsx("span", {
|
|
8488
|
-
className: css$
|
|
8611
|
+
className: css$26.punctuation,
|
|
8489
8612
|
children: ","
|
|
8490
8613
|
})
|
|
8491
8614
|
]
|
|
@@ -8493,7 +8616,7 @@ function JsonTreeNode({ collapsedStringLines, stringWrapping, field, initialExpa
|
|
|
8493
8616
|
expanded && jsx("ul", {
|
|
8494
8617
|
id: contentsId,
|
|
8495
8618
|
role: "group",
|
|
8496
|
-
className: css$
|
|
8619
|
+
className: css$26.children,
|
|
8497
8620
|
children: entries.map(([key, item], index) => jsx(JsonTreeNode, {
|
|
8498
8621
|
collapsedStringLines,
|
|
8499
8622
|
stringWrapping,
|
|
@@ -8625,17 +8748,17 @@ function JsonTree({ data, label, className, collapsedStringLines = 3, stringWrap
|
|
|
8625
8748
|
onClose: clearCopyTarget
|
|
8626
8749
|
}) : void 0;
|
|
8627
8750
|
return jsx("div", {
|
|
8628
|
-
className: clsx(css$
|
|
8751
|
+
className: clsx(css$26.root, className),
|
|
8629
8752
|
style: { "--json-tree-collapsed-lines": collapsedStringLines },
|
|
8630
8753
|
onMouseOver: handleRootMouseOver,
|
|
8631
8754
|
onMouseLeave: () => {
|
|
8632
8755
|
if (!copyStore.get()?.menuOpen) clearCopyTarget();
|
|
8633
8756
|
},
|
|
8634
8757
|
children: expandTopLevel ? jsxs("div", {
|
|
8635
|
-
className: css$
|
|
8758
|
+
className: css$26.expandedTopLevel,
|
|
8636
8759
|
children: [
|
|
8637
8760
|
jsxs("div", {
|
|
8638
|
-
className: clsx(css$
|
|
8761
|
+
className: clsx(css$26.row, css$26.topLevelBracket),
|
|
8639
8762
|
"data-json-root-row": true,
|
|
8640
8763
|
onMouseOver: (event) => {
|
|
8641
8764
|
event.stopPropagation();
|
|
@@ -8648,13 +8771,13 @@ function JsonTree({ data, label, className, collapsedStringLines = 3, stringWrap
|
|
|
8648
8771
|
path: [],
|
|
8649
8772
|
value: data
|
|
8650
8773
|
}), jsx("span", {
|
|
8651
|
-
className: css$
|
|
8774
|
+
className: css$26.punctuation,
|
|
8652
8775
|
children: rootOpen
|
|
8653
8776
|
})]
|
|
8654
8777
|
}),
|
|
8655
8778
|
jsx("div", {
|
|
8656
8779
|
"aria-label": label,
|
|
8657
|
-
className: clsx(css$
|
|
8780
|
+
className: clsx(css$26.container, css$26.expandedTopLevelContainer),
|
|
8658
8781
|
role: "tree",
|
|
8659
8782
|
children: rootEntries.map(([key, value], index) => jsx(JsonTreeNode, {
|
|
8660
8783
|
collapsedStringLines,
|
|
@@ -8672,16 +8795,16 @@ function JsonTree({ data, label, className, collapsedStringLines = 3, stringWrap
|
|
|
8672
8795
|
}, key))
|
|
8673
8796
|
}),
|
|
8674
8797
|
jsx("div", {
|
|
8675
|
-
className: clsx(css$
|
|
8798
|
+
className: clsx(css$26.row, css$26.topLevelBracket),
|
|
8676
8799
|
children: jsx("span", {
|
|
8677
|
-
className: css$
|
|
8800
|
+
className: css$26.punctuation,
|
|
8678
8801
|
children: rootClose
|
|
8679
8802
|
})
|
|
8680
8803
|
})
|
|
8681
8804
|
]
|
|
8682
8805
|
}) : jsx("div", {
|
|
8683
8806
|
"aria-label": label,
|
|
8684
|
-
className: css$
|
|
8807
|
+
className: css$26.container,
|
|
8685
8808
|
role: "tree",
|
|
8686
8809
|
children: jsx(JsonTreeNode, {
|
|
8687
8810
|
collapsedStringLines,
|
|
@@ -9244,67 +9367,67 @@ function TerminalBlock({ command, cwd, home, output, exitCode, signal, running =
|
|
|
9244
9367
|
const { hidden, capped, headLines, tailLines } = headTailCap(lines.length, maxLines, expanded);
|
|
9245
9368
|
const body = !running || !empty;
|
|
9246
9369
|
return jsxs("div", {
|
|
9247
|
-
className: clsx(css$
|
|
9370
|
+
className: clsx(css$27.block, className),
|
|
9248
9371
|
"data-terminal": "",
|
|
9249
9372
|
"data-running": running ? "" : void 0,
|
|
9250
9373
|
"data-body": body ? "" : void 0,
|
|
9251
9374
|
children: [jsxs("div", {
|
|
9252
|
-
className: css$
|
|
9375
|
+
className: css$27.header,
|
|
9253
9376
|
children: [
|
|
9254
9377
|
jsxs("div", {
|
|
9255
|
-
className: css$
|
|
9378
|
+
className: css$27.prompt,
|
|
9256
9379
|
children: [runStateDot && jsx("span", {
|
|
9257
|
-
className: css$
|
|
9380
|
+
className: css$27.runStateLabel,
|
|
9258
9381
|
children: state.label
|
|
9259
9382
|
}), commandLines.map((line, index) => jsxs("div", {
|
|
9260
|
-
className: css$
|
|
9383
|
+
className: css$27.promptLine,
|
|
9261
9384
|
children: [
|
|
9262
9385
|
index === 0 && runStateDot && jsx(StateDot, {
|
|
9263
9386
|
state: state.state,
|
|
9264
|
-
className: css$
|
|
9387
|
+
className: css$27.runState
|
|
9265
9388
|
}),
|
|
9266
9389
|
jsx("span", {
|
|
9267
|
-
className: css$
|
|
9390
|
+
className: css$27.cwd,
|
|
9268
9391
|
children: index > 0 || cwd === void 0 ? "$" : promptLabel(cwd, home)
|
|
9269
9392
|
}),
|
|
9270
9393
|
jsx("span", {
|
|
9271
|
-
className: css$
|
|
9394
|
+
className: css$27.command,
|
|
9272
9395
|
children: line
|
|
9273
9396
|
})
|
|
9274
9397
|
]
|
|
9275
9398
|
}, index))]
|
|
9276
9399
|
}),
|
|
9277
9400
|
status !== void 0 && jsx(Pill, {
|
|
9278
|
-
className: css$
|
|
9401
|
+
className: css$27.status,
|
|
9279
9402
|
children: status
|
|
9280
9403
|
}),
|
|
9281
9404
|
(copyText !== void 0 || !running && !empty) && jsx("button", {
|
|
9282
9405
|
type: "button",
|
|
9283
|
-
className: css$
|
|
9406
|
+
className: css$27.copyButton,
|
|
9284
9407
|
onClick: onCopy,
|
|
9285
9408
|
children: copied ? copy.copied : copy.copy
|
|
9286
9409
|
})
|
|
9287
9410
|
]
|
|
9288
9411
|
}), body && (empty ? jsx("div", {
|
|
9289
|
-
className: css$
|
|
9412
|
+
className: css$27.empty,
|
|
9290
9413
|
children: copy.noOutput
|
|
9291
9414
|
}) : jsxs("div", {
|
|
9292
|
-
className: css$
|
|
9415
|
+
className: css$27.output,
|
|
9293
9416
|
children: [
|
|
9294
9417
|
(capped ? lines.slice(0, headLines) : lines).map((line, index) => jsx("div", {
|
|
9295
|
-
className: css$
|
|
9418
|
+
className: css$27.line,
|
|
9296
9419
|
children: renderLine$1(line)
|
|
9297
9420
|
}, index)),
|
|
9298
9421
|
hidden > 0 && jsx("button", {
|
|
9299
9422
|
type: "button",
|
|
9300
|
-
className: css$
|
|
9423
|
+
className: css$27.expand,
|
|
9301
9424
|
"aria-expanded": expanded,
|
|
9302
9425
|
"aria-label": expanded ? copy.collapseAria : copy.expandAria(hidden),
|
|
9303
9426
|
onClick: onToggle,
|
|
9304
9427
|
children: expanded ? copy.collapse : copy.expand(hidden)
|
|
9305
9428
|
}),
|
|
9306
9429
|
capped && lines.slice(lines.length - tailLines).map((line, index) => jsx("div", {
|
|
9307
|
-
className: css$
|
|
9430
|
+
className: css$27.line,
|
|
9308
9431
|
children: renderLine$1(line)
|
|
9309
9432
|
}, index))
|
|
9310
9433
|
]
|
|
@@ -9507,13 +9630,13 @@ function ReadBlock({ label, labels, lines, totalLines, lang, maxLines = 16, clas
|
|
|
9507
9630
|
const tailLines = maxLines - headLines;
|
|
9508
9631
|
const windowed = lines.length < totalLines;
|
|
9509
9632
|
const rows = (slice) => slice.map(([line, spans]) => jsxs("div", {
|
|
9510
|
-
className: css$
|
|
9633
|
+
className: css$28.line,
|
|
9511
9634
|
children: [jsx("span", {
|
|
9512
|
-
className: css$
|
|
9635
|
+
className: css$28.gutter,
|
|
9513
9636
|
"aria-hidden": true,
|
|
9514
9637
|
children: line.number
|
|
9515
9638
|
}), jsx("span", {
|
|
9516
|
-
className: css$
|
|
9639
|
+
className: css$28.content,
|
|
9517
9640
|
children: spans === void 0 ? line.text : renderSpans(spans)
|
|
9518
9641
|
})]
|
|
9519
9642
|
}, line.number));
|
|
@@ -9521,7 +9644,7 @@ function ReadBlock({ label, labels, lines, totalLines, lang, maxLines = 16, clas
|
|
|
9521
9644
|
const paired = lines.map((line, index) => [line, highlighted?.[index]]);
|
|
9522
9645
|
return jsxs("div", {
|
|
9523
9646
|
ref: rootRef,
|
|
9524
|
-
className: clsx(cardCss.card, css$
|
|
9647
|
+
className: clsx(cardCss.card, css$28.block, className),
|
|
9525
9648
|
"data-read": "",
|
|
9526
9649
|
"data-code-wrap": wrapped,
|
|
9527
9650
|
style: gutterStyle,
|
|
@@ -9543,7 +9666,7 @@ function ReadBlock({ label, labels, lines, totalLines, lang, maxLines = 16, clas
|
|
|
9543
9666
|
children: [
|
|
9544
9667
|
rows(capped ? paired.slice(0, headLines) : paired),
|
|
9545
9668
|
hidden > 0 && jsx(FoldToggle, {
|
|
9546
|
-
className: css$
|
|
9669
|
+
className: css$28.expand,
|
|
9547
9670
|
expanded,
|
|
9548
9671
|
hidden,
|
|
9549
9672
|
labels,
|
|
@@ -9565,11 +9688,11 @@ function assertNever(value) {
|
|
|
9565
9688
|
}
|
|
9566
9689
|
/** The dim class per row kind (path/gap chrome vs the diff's own +/- colors). */
|
|
9567
9690
|
const ROW_CLASS = {
|
|
9568
|
-
path: css$
|
|
9569
|
-
del: css$
|
|
9570
|
-
add: css$
|
|
9571
|
-
context: css$
|
|
9572
|
-
gap: css$
|
|
9691
|
+
path: css$29.path,
|
|
9692
|
+
del: css$29.del,
|
|
9693
|
+
add: css$29.add,
|
|
9694
|
+
context: css$29.context,
|
|
9695
|
+
gap: css$29.gap
|
|
9573
9696
|
};
|
|
9574
9697
|
/** Bound synchronous edit-graph search; one replacement consumes two edits. */
|
|
9575
9698
|
const MAX_DIFF_EDIT_LENGTH = 256;
|
|
@@ -9703,7 +9826,7 @@ function DiffBlock({ diffs, labels, maxLines = 16, className }) {
|
|
|
9703
9826
|
const head = capped ? rows.slice(0, headLines) : rows;
|
|
9704
9827
|
const tail = capped ? rows.slice(rows.length - tailLines) : [];
|
|
9705
9828
|
return jsxs("div", {
|
|
9706
|
-
className: clsx(cardCss.card, css$
|
|
9829
|
+
className: clsx(cardCss.card, css$29.block, className),
|
|
9707
9830
|
"data-diff": "",
|
|
9708
9831
|
"data-code-wrap": wrapped,
|
|
9709
9832
|
children: [jsx(CodeToolbar, {
|
|
@@ -9718,21 +9841,21 @@ function DiffBlock({ diffs, labels, maxLines = 16, className }) {
|
|
|
9718
9841
|
setWrapped((value) => !value);
|
|
9719
9842
|
}
|
|
9720
9843
|
}), jsxs("div", {
|
|
9721
|
-
className: css$
|
|
9844
|
+
className: css$29.body,
|
|
9722
9845
|
children: [
|
|
9723
9846
|
head.map((row, index) => jsx("div", {
|
|
9724
|
-
className: clsx(css$
|
|
9847
|
+
className: clsx(css$29.line, ROW_CLASS[row.kind]),
|
|
9725
9848
|
children: row.text
|
|
9726
9849
|
}, index)),
|
|
9727
9850
|
hidden > 0 && jsx(FoldToggle, {
|
|
9728
|
-
className: css$
|
|
9851
|
+
className: css$29.expand,
|
|
9729
9852
|
expanded,
|
|
9730
9853
|
hidden,
|
|
9731
9854
|
labels,
|
|
9732
9855
|
onToggle
|
|
9733
9856
|
}),
|
|
9734
9857
|
tail.map((row, index) => jsx("div", {
|
|
9735
|
-
className: clsx(css$
|
|
9858
|
+
className: clsx(css$29.line, ROW_CLASS[row.kind]),
|
|
9736
9859
|
children: row.text
|
|
9737
9860
|
}, index))
|
|
9738
9861
|
]
|
|
@@ -9862,56 +9985,56 @@ function SearchBlock(props) {
|
|
|
9862
9985
|
const tail = tailHeader === void 0 ? naturalTail : naturalTail.slice(1);
|
|
9863
9986
|
const renderRow = (row) => {
|
|
9864
9987
|
if (row.type === "path") return jsx("div", {
|
|
9865
|
-
className: css$
|
|
9988
|
+
className: css$30.line,
|
|
9866
9989
|
children: row.path
|
|
9867
9990
|
});
|
|
9868
9991
|
if (row.type === "match") return jsxs("div", {
|
|
9869
|
-
className: css$
|
|
9992
|
+
className: css$30.line,
|
|
9870
9993
|
children: [jsxs("span", {
|
|
9871
|
-
className: css$
|
|
9994
|
+
className: css$30.lineNumber,
|
|
9872
9995
|
children: [row.lineNumber, ": "]
|
|
9873
9996
|
}), row.line]
|
|
9874
9997
|
});
|
|
9875
9998
|
return jsxs("button", {
|
|
9876
9999
|
type: "button",
|
|
9877
|
-
className: css$
|
|
10000
|
+
className: css$30.fileHeader,
|
|
9878
10001
|
"aria-expanded": !row.collapsed,
|
|
9879
10002
|
onClick: () => {
|
|
9880
10003
|
toggleFile(row.index);
|
|
9881
10004
|
},
|
|
9882
10005
|
children: [jsx("span", {
|
|
9883
|
-
className: css$
|
|
10006
|
+
className: css$30.filePath,
|
|
9884
10007
|
children: row.path
|
|
9885
10008
|
}), jsx("span", {
|
|
9886
|
-
className: css$
|
|
10009
|
+
className: css$30.fileCount,
|
|
9887
10010
|
children: row.count
|
|
9888
10011
|
})]
|
|
9889
10012
|
});
|
|
9890
10013
|
};
|
|
9891
10014
|
return jsxs("div", {
|
|
9892
|
-
className: clsx(css$
|
|
10015
|
+
className: clsx(css$30.block, className),
|
|
9893
10016
|
"data-search": props.kind,
|
|
9894
10017
|
children: [jsxs("div", {
|
|
9895
|
-
className: css$
|
|
10018
|
+
className: css$30.header,
|
|
9896
10019
|
children: [jsx("span", {
|
|
9897
|
-
className: css$
|
|
10020
|
+
className: css$30.summary,
|
|
9898
10021
|
children: summaryText(props, shown, truncated, total)
|
|
9899
10022
|
}), !empty && jsx("button", {
|
|
9900
10023
|
type: "button",
|
|
9901
|
-
className: css$
|
|
10024
|
+
className: css$30.copyButton,
|
|
9902
10025
|
onClick: onCopy,
|
|
9903
10026
|
children: copied ? props.labels.copied : props.labels.copy
|
|
9904
10027
|
})]
|
|
9905
10028
|
}), empty ? jsx("div", {
|
|
9906
|
-
className: css$
|
|
10029
|
+
className: css$30.empty,
|
|
9907
10030
|
children: props.labels.noResults
|
|
9908
10031
|
}) : jsxs("div", {
|
|
9909
|
-
className: css$
|
|
10032
|
+
className: css$30.body,
|
|
9910
10033
|
children: [
|
|
9911
10034
|
head.map((row) => jsx("div", { children: renderRow(row) }, rowKey(row))),
|
|
9912
10035
|
hidden > 0 && jsx("button", {
|
|
9913
10036
|
type: "button",
|
|
9914
|
-
className: css$
|
|
10037
|
+
className: css$30.expand,
|
|
9915
10038
|
"aria-expanded": expanded,
|
|
9916
10039
|
"aria-label": expanded ? props.labels.collapseAria : props.labels.expandAria(hidden),
|
|
9917
10040
|
onClick: onToggle,
|
|
@@ -10741,7 +10864,7 @@ function CodeBlock({ code, lang, streaming, className, contentRef, lineNumbers =
|
|
|
10741
10864
|
});
|
|
10742
10865
|
}, [copied, trimmed]);
|
|
10743
10866
|
const body = streamedBody !== void 0 ? streamedBody : html === void 0 ? jsx("pre", {
|
|
10744
|
-
className: css$
|
|
10867
|
+
className: css$31.plain,
|
|
10745
10868
|
children: jsx("code", { children: sourceLines === void 0 ? trimmed : sourceLines.map((line, index) => jsxs(Fragment$1, { children: [index > 0 && "\n", jsx("span", {
|
|
10746
10869
|
className: "line",
|
|
10747
10870
|
children: line
|
|
@@ -10749,12 +10872,12 @@ function CodeBlock({ code, lang, streaming, className, contentRef, lineNumbers =
|
|
|
10749
10872
|
}) : jsx("div", { dangerouslySetInnerHTML: { __html: html } });
|
|
10750
10873
|
return jsxs("div", {
|
|
10751
10874
|
ref: rootRef,
|
|
10752
|
-
className: clsx(css$
|
|
10875
|
+
className: clsx(css$31.block, "md-code-block", lineNumbers && css$31.numbered, toolbarLabels !== void 0 && css$31.card, className),
|
|
10753
10876
|
"data-line-numbers": lineNumbers || void 0,
|
|
10754
10877
|
"data-code-wrap": toolbarLabels === void 0 ? void 0 : wrapped,
|
|
10755
10878
|
style: sourceLines === void 0 ? void 0 : { "--dsl-code-block-line-number-width": `${Math.max(2, String(sourceLines.length).length)}ch` },
|
|
10756
10879
|
children: [showHeader && jsx("div", {
|
|
10757
|
-
className: css$
|
|
10880
|
+
className: css$31.bannerWrap,
|
|
10758
10881
|
children: toolbarLabels !== void 0 ? jsx(CodeToolbar, {
|
|
10759
10882
|
lang,
|
|
10760
10883
|
labels: toolbarLabels,
|
|
@@ -10767,16 +10890,16 @@ function CodeBlock({ code, lang, streaming, className, contentRef, lineNumbers =
|
|
|
10767
10890
|
setWrapped((value) => !value);
|
|
10768
10891
|
} : void 0
|
|
10769
10892
|
}) : jsxs("div", {
|
|
10770
|
-
className: css$
|
|
10893
|
+
className: css$31.banner,
|
|
10771
10894
|
"data-code-block-banner": true,
|
|
10772
10895
|
children: [jsx("div", {
|
|
10773
|
-
className: css$
|
|
10896
|
+
className: css$31.infostring,
|
|
10774
10897
|
children: lang ?? ""
|
|
10775
10898
|
}), jsx("div", {
|
|
10776
|
-
className: css$
|
|
10899
|
+
className: css$31.action,
|
|
10777
10900
|
children: jsx("button", {
|
|
10778
10901
|
type: "button",
|
|
10779
|
-
className: css$
|
|
10902
|
+
className: css$31.copyButton,
|
|
10780
10903
|
onClick: onCopy,
|
|
10781
10904
|
children: copied ? copiedLabel : copyLabel
|
|
10782
10905
|
})
|
|
@@ -10784,7 +10907,7 @@ function CodeBlock({ code, lang, streaming, className, contentRef, lineNumbers =
|
|
|
10784
10907
|
})
|
|
10785
10908
|
}), jsx("div", {
|
|
10786
10909
|
ref: contentRef,
|
|
10787
|
-
className: css$
|
|
10910
|
+
className: css$31.content,
|
|
10788
10911
|
"data-code-block-content": true,
|
|
10789
10912
|
children: body
|
|
10790
10913
|
})]
|
|
@@ -10974,25 +11097,25 @@ function ImageLightbox({ src, alt, labels, onClose }) {
|
|
|
10974
11097
|
};
|
|
10975
11098
|
}, [onClose]);
|
|
10976
11099
|
return createPortal(jsxs("div", {
|
|
10977
|
-
className: css$
|
|
11100
|
+
className: css$32.backdrop,
|
|
10978
11101
|
role: "dialog",
|
|
10979
11102
|
"aria-modal": "true",
|
|
10980
11103
|
"aria-label": labels.dialog,
|
|
10981
11104
|
children: [
|
|
10982
11105
|
jsx("div", {
|
|
10983
|
-
className: css$
|
|
11106
|
+
className: css$32.mask,
|
|
10984
11107
|
"aria-hidden": "true",
|
|
10985
11108
|
onMouseDown: onClose
|
|
10986
11109
|
}),
|
|
10987
11110
|
jsx("img", {
|
|
10988
|
-
className: css$
|
|
11111
|
+
className: css$32.image,
|
|
10989
11112
|
src,
|
|
10990
11113
|
alt
|
|
10991
11114
|
}),
|
|
10992
11115
|
jsx("button", {
|
|
10993
11116
|
ref: closeRef,
|
|
10994
11117
|
type: "button",
|
|
10995
|
-
className: css$
|
|
11118
|
+
className: css$32.close,
|
|
10996
11119
|
"aria-label": labels.close,
|
|
10997
11120
|
onClick: onClose,
|
|
10998
11121
|
children: jsx(IconCloseOutlineRegular, { size: 16 })
|
|
@@ -11019,14 +11142,14 @@ function ImagePreview({ src, alt, loadingLabel, failedLabel }) {
|
|
|
11019
11142
|
function Preview({ src, alt, loadingLabel, failedLabel }) {
|
|
11020
11143
|
const [state, setState] = useState("loading");
|
|
11021
11144
|
return jsxs("span", {
|
|
11022
|
-
className: css$
|
|
11145
|
+
className: css$33.frame,
|
|
11023
11146
|
children: [state !== "failed" && jsx("img", {
|
|
11024
11147
|
src,
|
|
11025
11148
|
alt,
|
|
11026
11149
|
loading: "lazy",
|
|
11027
11150
|
decoding: "async",
|
|
11028
11151
|
referrerPolicy: "no-referrer",
|
|
11029
|
-
className: css$
|
|
11152
|
+
className: css$33.image,
|
|
11030
11153
|
"data-ready": state === "ready" || void 0,
|
|
11031
11154
|
onLoad: () => {
|
|
11032
11155
|
setState("ready");
|
|
@@ -11035,7 +11158,7 @@ function Preview({ src, alt, loadingLabel, failedLabel }) {
|
|
|
11035
11158
|
setState("failed");
|
|
11036
11159
|
}
|
|
11037
11160
|
}), state !== "ready" && jsxs("span", {
|
|
11038
|
-
className: css$
|
|
11161
|
+
className: css$33.status,
|
|
11039
11162
|
role: "status",
|
|
11040
11163
|
children: [state === "loading" && jsx(IconLoadingOutlineRegular, { size: 16 }), jsx("span", { children: state === "loading" ? loadingLabel : failedLabel })]
|
|
11041
11164
|
})]
|
|
@@ -11774,7 +11897,7 @@ function SafeLink({ url, label, className }) {
|
|
|
11774
11897
|
children: [jsx(LinkIconMedium, {
|
|
11775
11898
|
kind: "url",
|
|
11776
11899
|
href,
|
|
11777
|
-
className: css$
|
|
11900
|
+
className: css$34.linkIcon
|
|
11778
11901
|
}), label]
|
|
11779
11902
|
});
|
|
11780
11903
|
}
|
|
@@ -11789,20 +11912,20 @@ function SafeLink({ url, label, className }) {
|
|
|
11789
11912
|
*/
|
|
11790
11913
|
function SourceItem({ source, ordinal }) {
|
|
11791
11914
|
return jsxs("li", {
|
|
11792
|
-
className: css$
|
|
11915
|
+
className: css$34.source,
|
|
11793
11916
|
value: ordinal,
|
|
11794
11917
|
children: [
|
|
11795
11918
|
jsx(SafeLink, {
|
|
11796
11919
|
url: source.url,
|
|
11797
11920
|
label: linkLabel(source.url, source.title),
|
|
11798
|
-
className: css$
|
|
11921
|
+
className: css$34.sourceLink
|
|
11799
11922
|
}),
|
|
11800
11923
|
source.snippet !== void 0 && source.snippet !== "" && jsx("div", {
|
|
11801
|
-
className: css$
|
|
11924
|
+
className: css$34.snippet,
|
|
11802
11925
|
children: source.snippet
|
|
11803
11926
|
}),
|
|
11804
11927
|
source.publishedAt !== void 0 && source.publishedAt !== "" && jsx("div", {
|
|
11805
|
-
className: css$
|
|
11928
|
+
className: css$34.published,
|
|
11806
11929
|
children: source.publishedAt
|
|
11807
11930
|
})
|
|
11808
11931
|
]
|
|
@@ -11817,28 +11940,28 @@ function SourceItem({ source, ordinal }) {
|
|
|
11817
11940
|
function WebSearchBlock({ answer, sources, truncated, labels, className }) {
|
|
11818
11941
|
const empty = (answer === void 0 || answer === "") && sources.length === 0;
|
|
11819
11942
|
return jsxs("div", {
|
|
11820
|
-
className: clsx(css$
|
|
11943
|
+
className: clsx(css$34.block, className),
|
|
11821
11944
|
"data-web": "search",
|
|
11822
11945
|
children: [
|
|
11823
11946
|
answer !== void 0 && answer !== "" && jsx("div", {
|
|
11824
|
-
className: css$
|
|
11947
|
+
className: css$34.answer,
|
|
11825
11948
|
children: jsx(MarkdownText, {
|
|
11826
11949
|
text: answer,
|
|
11827
11950
|
labels: labels.markdown
|
|
11828
11951
|
})
|
|
11829
11952
|
}),
|
|
11830
11953
|
empty ? jsx("div", {
|
|
11831
|
-
className: css$
|
|
11954
|
+
className: css$34.empty,
|
|
11832
11955
|
children: labels.noResults
|
|
11833
11956
|
}) : jsx("ol", {
|
|
11834
|
-
className: css$
|
|
11957
|
+
className: css$34.sources,
|
|
11835
11958
|
children: sources.map((source, index) => jsx(SourceItem, {
|
|
11836
11959
|
source,
|
|
11837
11960
|
ordinal: index + 1
|
|
11838
11961
|
}, index))
|
|
11839
11962
|
}),
|
|
11840
11963
|
truncated && jsx("div", {
|
|
11841
|
-
className: css$
|
|
11964
|
+
className: css$34.truncated,
|
|
11842
11965
|
children: labels.sourcesTruncated
|
|
11843
11966
|
})
|
|
11844
11967
|
]
|
|
@@ -11851,23 +11974,23 @@ function WebSearchBlock({ answer, sources, truncated, labels, className }) {
|
|
|
11851
11974
|
*/
|
|
11852
11975
|
function WebFetchBlock({ url, statusCode, truncated, labels, className }) {
|
|
11853
11976
|
return jsxs("div", {
|
|
11854
|
-
className: clsx(css$
|
|
11977
|
+
className: clsx(css$34.block, css$34.fetch, className),
|
|
11855
11978
|
"data-web": "fetch",
|
|
11856
11979
|
children: [jsx(SafeLink, {
|
|
11857
11980
|
url,
|
|
11858
11981
|
label: url,
|
|
11859
|
-
className: css$
|
|
11982
|
+
className: css$34.fetchUrl
|
|
11860
11983
|
}), jsxs("div", {
|
|
11861
|
-
className: css$
|
|
11984
|
+
className: css$34.fetchMeta,
|
|
11862
11985
|
children: [jsxs("span", {
|
|
11863
|
-
className: css$
|
|
11986
|
+
className: css$34.status,
|
|
11864
11987
|
children: [
|
|
11865
11988
|
labels.http,
|
|
11866
11989
|
" ",
|
|
11867
11990
|
statusCode
|
|
11868
11991
|
]
|
|
11869
11992
|
}), truncated && jsx("span", {
|
|
11870
|
-
className: css$
|
|
11993
|
+
className: css$34.truncated,
|
|
11871
11994
|
children: labels.contentTruncated
|
|
11872
11995
|
})]
|
|
11873
11996
|
})]
|
|
@@ -11901,10 +12024,10 @@ function JsonBlock({ label, payload, defaultOpen = false, truncatedLabel }) {
|
|
|
11901
12024
|
truncatedLabel
|
|
11902
12025
|
]);
|
|
11903
12026
|
return jsxs("div", {
|
|
11904
|
-
className: css$
|
|
12027
|
+
className: css$35.root,
|
|
11905
12028
|
children: [jsxs("button", {
|
|
11906
12029
|
type: "button",
|
|
11907
|
-
className: css$
|
|
12030
|
+
className: css$35.toggle,
|
|
11908
12031
|
onClick: () => {
|
|
11909
12032
|
setOpen((v) => !v);
|
|
11910
12033
|
},
|
|
@@ -11914,7 +12037,7 @@ function JsonBlock({ label, payload, defaultOpen = false, truncatedLabel }) {
|
|
|
11914
12037
|
label
|
|
11915
12038
|
]
|
|
11916
12039
|
}), open && jsx("pre", {
|
|
11917
|
-
className: css$
|
|
12040
|
+
className: css$35.body,
|
|
11918
12041
|
children: body
|
|
11919
12042
|
})]
|
|
11920
12043
|
});
|
|
@@ -12255,6 +12378,6 @@ function GuideArtworkFiles({ size = 36, className }) {
|
|
|
12255
12378
|
});
|
|
12256
12379
|
}
|
|
12257
12380
|
//#endregion
|
|
12258
|
-
export { BrandWordmark, Button, CODE_HIGHLIGHT_EXTENSIONS, Checkbox, CodeBlock, ConnectionIndicator, DEFAULT_DIFF_MAX_LINES, DEFAULT_READ_MAX_LINES, DEFAULT_SEARCH_MAX_LINES, DEFAULT_TERMINAL_MAX_LINES, DiffBlock, DisclosureRow, FISH_LOGO_PATH, FISH_LOGO_VIEWBOX, FileTypeIcon, FishLogo, GuideArtworkBrowser, GuideArtworkFiles, HoverCard, ICON_MEDIUM_STROKE, ICON_REGULAR_STROKE, IconAgentPresetOutlineMedium, IconAgentPresetOutlineRegular, IconAlarmClockOutlineMedium, IconAlarmClockOutlineRegular, IconApiOutlineMedium, IconApiOutlineRegular, IconArchiveCheckOutlineMedium, IconArchiveCheckOutlineRegular, IconArchiveOffOutlineMedium, IconArchiveOffOutlineRegular, IconArchiveOutlineMedium, IconArchiveOutlineRegular, IconBranchOutlineMedium, IconBranchOutlineRegular, IconBrowseOutlineMedium, IconBrowseOutlineRegular, IconCheckCircleFillMedium, IconCheckCircleFillRegular, IconCheckCircleOutlineMedium, IconCheckCircleOutlineRegular, IconCheckOutlineMedium, IconCheckOutlineRegular, IconChecklistOutlineMedium, IconChecklistOutlineRegular, IconChevronDownOutlineMedium, IconChevronDownOutlineRegular, IconChevronLeftOutlineMedium, IconChevronLeftOutlineRegular, IconChevronRightOutlineMedium, IconChevronRightOutlineRegular, IconChevronUpOutlineMedium, IconChevronUpOutlineRegular, IconChevronsUpDownOutlineMedium, IconChevronsUpDownOutlineRegular, IconClockOutlineMedium, IconClockOutlineRegular, IconCloseCircleFillMedium, IconCloseCircleFillRegular, IconCloseFillMedium, IconCloseFillRegular, IconCloseOutlineMedium, IconCloseOutlineRegular, IconCodeOutlineMedium, IconCodeOutlineRegular, IconCompactOutlineMedium, IconCompactOutlineRegular, IconCompareSplitOutlineMedium, IconCompareSplitOutlineRegular, IconContextInjectionOutlineMedium, IconContextInjectionOutlineRegular, IconCopyOutlineMedium, IconCopyOutlineRegular, IconCordisPluginOutlineMedium, IconCordisPluginOutlineRegular, IconDarkOutlineMedium, IconDarkOutlineRegular, IconDataOutlineMedium, IconDataOutlineRegular, IconDatabaseOutlineMedium, IconDatabaseOutlineRegular, IconDeliverDocMedium, IconDeliverDocRegular, IconDislikeFillMedium, IconDislikeFillRegular, IconDislikeOutlineMedium, IconDislikeOutlineRegular, IconDownloadOutlineMedium, IconDownloadOutlineRegular, IconEditOutlineMedium, IconEditOutlineRegular, IconEllipsisOutlineMedium, IconEllipsisOutlineRegular, IconEnhanceOutlineMedium, IconEnhanceOutlineRegular, IconFlatListOutlineMedium, IconFlatListOutlineRegular, IconFolderCloseMedium, IconFolderCloseRegular, IconFolderOpenMedium, IconFolderOpenOutlineMedium, IconFolderOpenOutlineRegular, IconFolderOpenRegular, IconFollowsystemOutlineMedium, IconFollowsystemOutlineRegular, IconFullscreenOutlineMedium, IconFullscreenOutlineRegular, IconGaugeOutlineMedium, IconGaugeOutlineRegular, IconGlobeOutlineMedium, IconGlobeOutlineRegular, IconGoalOutlineMedium, IconGoalOutlineRegular, IconInfoOutlineMedium, IconInfoOutlineRegular, IconInspectOutlineMedium, IconInspectOutlineRegular, IconLightOutlineMedium, IconLightOutlineRegular, IconLikeFillMedium, IconLikeFillRegular, IconLikeOutlineMedium, IconLikeOutlineRegular, IconLinkOutlineMedium, IconLinkOutlineRegular, IconListPenOutlineMedium, IconListPenOutlineRegular, IconLoadingOutlineMedium, IconLoadingOutlineRegular, IconMicrophoneOutlineMedium, IconMicrophoneOutlineRegular, IconNewChatOutlineMedium, IconNewChatOutlineRegular, IconNowrapFillMedium, IconNowrapFillRegular, IconPanelLeftOutlineMedium, IconPanelLeftOutlineRegular, IconPaperPlaneOutlineMedium, IconPaperPlaneOutlineRegular, IconPaperclipOutlineMedium, IconPaperclipOutlineRegular, IconPauseOutlineMedium, IconPauseOutlineRegular, IconPersonalizationOutlineMedium, IconPersonalizationOutlineRegular, IconPinFillMedium, IconPinFillRegular, IconPinOutlineMedium, IconPinOutlineRegular, IconPlanOutlineMedium, IconPlanOutlineRegular, IconPlayOutlineMedium, IconPlayOutlineRegular, IconPluginPinwheelOutlineMedium, IconPluginPinwheelOutlineRegular, IconPlusOutlineMedium, IconPlusOutlineRegular, IconProjectAddOutlineMedium, IconProjectAddOutlineRegular, IconQuestionOutlineMedium, IconQuestionOutlineRegular, IconQueueOutlineMedium, IconQueueOutlineRegular, IconRefreshOutlineMedium, IconRefreshOutlineRegular, IconRightUpOutlineMedium, IconRightUpOutlineRegular, IconSearchOutlineMedium, IconSearchOutlineRegular, IconSendOutlineMedium, IconSendOutlineRegular, IconSettingsOutlineMedium, IconSettingsOutlineRegular, IconShareOutlineMedium, IconShareOutlineRegular, IconShieldOutlineMedium, IconShieldOutlineRegular, IconSkillOutlineMedium, IconSkillOutlineRegular, IconSlidersTwoOutlineMedium, IconSlidersTwoOutlineRegular, IconSparkleMedium, IconSparkleRegular, IconStopFillMedium, IconStopFillRegular, IconThinkOutlineMedium, IconThinkOutlineRegular, IconTrashOutlineMedium, IconTrashOutlineRegular, IconTreeCornerMedium, IconTreeCornerRegular, IconTriangleRightFillMedium, IconTriangleRightFillRegular, IconUnarchiveOutlineMedium, IconUnarchiveOutlineRegular, IconUserOutlineMedium, IconUserOutlineRegular, IconUsersOutlineMedium, IconUsersOutlineRegular, IconWarningOutlineMedium, IconWarningOutlineRegular, IconWarningTriangleOutlineMedium, IconWarningTriangleOutlineRegular, IconWorkspaceTreeOutlineMedium, IconWorkspaceTreeOutlineRegular, IconWrapFillMedium, IconWrapFillRegular, IconWrapLinesOutlineMedium, IconWrapLinesOutlineRegular, ImageLightbox, Input, JsonBlock, JsonTree, LinkIconMedium, LinkIconRegular, MarkdownDelegateProvider, MarkdownText, Menu, MenuItemButton, MenuSurface, Modal, PathLabel, PermissionIconFullAccessMedium, PermissionIconFullAccessRegular, PermissionIconReadOnlyMedium, PermissionIconReadOnlyRegular, PermissionIconWorkspaceWriteMedium, PermissionIconWorkspaceWriteRegular, Pill, PluginArtworkDefault, PluginArtworkLoop, PluginArtworkSearch, PluginArtworkSubagent, PluginArtworkTerminal, ReadBlock, ReferenceIconMedium, ReferenceIconRegular, RiskConfirmation, SHIELD_OUTLINE_PATH, SearchBlock, SegmentedControl, SegmentedTabs, SettingsForm, SettingsFormModel, SettingsSecretField, SettingsValueField, ShortcutKeys, StateDot, Switch, Tag, TerminalBlock, TextShimmer, Toast, Tooltip, WebBlock, classifyFileType, classifyLinkPath, closeTopModal, diffTotals, extractMarkdownPlainText, fileExtension, fileSizeText, focusWithoutRing, isBehindModal, isDarwinDesktop, languageForPath, modalSelector, observeComposition, pointerModality, projectUserText, rankByName, relativeTime, settingsNumberField, settingsTextField, useAnchoredMaxHeight, useAnchoredPosition, useCodeHighlighter, useDismissOnOutsidePointer, useModalLayer, writeClipboard };
|
|
12381
|
+
export { BrandWordmark, Button, CODE_HIGHLIGHT_EXTENSIONS, Checkbox, CodeBlock, ConnectionIndicator, DEFAULT_DIFF_MAX_LINES, DEFAULT_READ_MAX_LINES, DEFAULT_SEARCH_MAX_LINES, DEFAULT_TERMINAL_MAX_LINES, DiffBlock, DisclosureRow, FISH_LOGO_PATH, FISH_LOGO_VIEWBOX, FileTypeIcon, FishLogo, GuideArtworkBrowser, GuideArtworkFiles, HoverCard, ICON_MEDIUM_STROKE, ICON_REGULAR_STROKE, IconAgentPresetOutlineMedium, IconAgentPresetOutlineRegular, IconAlarmClockOutlineMedium, IconAlarmClockOutlineRegular, IconApiOutlineMedium, IconApiOutlineRegular, IconArchiveCheckOutlineMedium, IconArchiveCheckOutlineRegular, IconArchiveOffOutlineMedium, IconArchiveOffOutlineRegular, IconArchiveOutlineMedium, IconArchiveOutlineRegular, IconBranchOutlineMedium, IconBranchOutlineRegular, IconBrowseOutlineMedium, IconBrowseOutlineRegular, IconCheckCircleFillMedium, IconCheckCircleFillRegular, IconCheckCircleOutlineMedium, IconCheckCircleOutlineRegular, IconCheckOutlineMedium, IconCheckOutlineRegular, IconChecklistOutlineMedium, IconChecklistOutlineRegular, IconChevronDownOutlineMedium, IconChevronDownOutlineRegular, IconChevronLeftOutlineMedium, IconChevronLeftOutlineRegular, IconChevronRightOutlineMedium, IconChevronRightOutlineRegular, IconChevronUpOutlineMedium, IconChevronUpOutlineRegular, IconChevronsUpDownOutlineMedium, IconChevronsUpDownOutlineRegular, IconClockOutlineMedium, IconClockOutlineRegular, IconCloseCircleFillMedium, IconCloseCircleFillRegular, IconCloseFillMedium, IconCloseFillRegular, IconCloseOutlineMedium, IconCloseOutlineRegular, IconCodeOutlineMedium, IconCodeOutlineRegular, IconCompactOutlineMedium, IconCompactOutlineRegular, IconCompareSplitOutlineMedium, IconCompareSplitOutlineRegular, IconContextInjectionOutlineMedium, IconContextInjectionOutlineRegular, IconCopyOutlineMedium, IconCopyOutlineRegular, IconCordisPluginOutlineMedium, IconCordisPluginOutlineRegular, IconDarkOutlineMedium, IconDarkOutlineRegular, IconDataOutlineMedium, IconDataOutlineRegular, IconDatabaseOutlineMedium, IconDatabaseOutlineRegular, IconDeliverDocMedium, IconDeliverDocRegular, IconDislikeFillMedium, IconDislikeFillRegular, IconDislikeOutlineMedium, IconDislikeOutlineRegular, IconDownloadOutlineMedium, IconDownloadOutlineRegular, IconEditOutlineMedium, IconEditOutlineRegular, IconEllipsisOutlineMedium, IconEllipsisOutlineRegular, IconEnhanceOutlineMedium, IconEnhanceOutlineRegular, IconFlatListOutlineMedium, IconFlatListOutlineRegular, IconFolderCloseMedium, IconFolderCloseRegular, IconFolderOpenMedium, IconFolderOpenOutlineMedium, IconFolderOpenOutlineRegular, IconFolderOpenRegular, IconFollowsystemOutlineMedium, IconFollowsystemOutlineRegular, IconFullscreenOutlineMedium, IconFullscreenOutlineRegular, IconGaugeOutlineMedium, IconGaugeOutlineRegular, IconGlobeOutlineMedium, IconGlobeOutlineRegular, IconGoalOutlineMedium, IconGoalOutlineRegular, IconInfoOutlineMedium, IconInfoOutlineRegular, IconInspectOutlineMedium, IconInspectOutlineRegular, IconLightOutlineMedium, IconLightOutlineRegular, IconLikeFillMedium, IconLikeFillRegular, IconLikeOutlineMedium, IconLikeOutlineRegular, IconLinkOutlineMedium, IconLinkOutlineRegular, IconListPenOutlineMedium, IconListPenOutlineRegular, IconLoadingOutlineMedium, IconLoadingOutlineRegular, IconMicrophoneOutlineMedium, IconMicrophoneOutlineRegular, IconNewChatOutlineMedium, IconNewChatOutlineRegular, IconNowrapFillMedium, IconNowrapFillRegular, IconPanelLeftOutlineMedium, IconPanelLeftOutlineRegular, IconPaperPlaneOutlineMedium, IconPaperPlaneOutlineRegular, IconPaperclipOutlineMedium, IconPaperclipOutlineRegular, IconPauseOutlineMedium, IconPauseOutlineRegular, IconPersonalizationOutlineMedium, IconPersonalizationOutlineRegular, IconPinFillMedium, IconPinFillRegular, IconPinOutlineMedium, IconPinOutlineRegular, IconPlanOutlineMedium, IconPlanOutlineRegular, IconPlayOutlineMedium, IconPlayOutlineRegular, IconPluginPinwheelOutlineMedium, IconPluginPinwheelOutlineRegular, IconPlusOutlineMedium, IconPlusOutlineRegular, IconProjectAddOutlineMedium, IconProjectAddOutlineRegular, IconQuestionOutlineMedium, IconQuestionOutlineRegular, IconQueueOutlineMedium, IconQueueOutlineRegular, IconRefreshOutlineMedium, IconRefreshOutlineRegular, IconRightUpOutlineMedium, IconRightUpOutlineRegular, IconSearchOutlineMedium, IconSearchOutlineRegular, IconSendOutlineMedium, IconSendOutlineRegular, IconSettingsOutlineMedium, IconSettingsOutlineRegular, IconShareOutlineMedium, IconShareOutlineRegular, IconShieldOutlineMedium, IconShieldOutlineRegular, IconSkillOutlineMedium, IconSkillOutlineRegular, IconSlidersTwoOutlineMedium, IconSlidersTwoOutlineRegular, IconSparkleMedium, IconSparkleRegular, IconStopFillMedium, IconStopFillRegular, IconThinkOutlineMedium, IconThinkOutlineRegular, IconTrashOutlineMedium, IconTrashOutlineRegular, IconTreeCornerMedium, IconTreeCornerRegular, IconTriangleRightFillMedium, IconTriangleRightFillRegular, IconUnarchiveOutlineMedium, IconUnarchiveOutlineRegular, IconUserOutlineMedium, IconUserOutlineRegular, IconUsersOutlineMedium, IconUsersOutlineRegular, IconWarningOutlineMedium, IconWarningOutlineRegular, IconWarningTriangleOutlineMedium, IconWarningTriangleOutlineRegular, IconWorkspaceTreeOutlineMedium, IconWorkspaceTreeOutlineRegular, IconWrapFillMedium, IconWrapFillRegular, IconWrapLinesOutlineMedium, IconWrapLinesOutlineRegular, ImageLightbox, Input, JsonBlock, JsonTree, LinkIconMedium, LinkIconRegular, MarkdownDelegateProvider, MarkdownText, Menu, MenuGroup, MenuItemButton, MenuSurface, Modal, PathLabel, PermissionIconFullAccessMedium, PermissionIconFullAccessRegular, PermissionIconReadOnlyMedium, PermissionIconReadOnlyRegular, PermissionIconWorkspaceWriteMedium, PermissionIconWorkspaceWriteRegular, Pill, PluginArtworkDefault, PluginArtworkLoop, PluginArtworkSearch, PluginArtworkSubagent, PluginArtworkTerminal, ReadBlock, ReferenceIconMedium, ReferenceIconRegular, RiskConfirmation, SHIELD_OUTLINE_PATH, SearchBlock, SegmentedControl, SegmentedTabs, SettingsForm, SettingsFormModel, SettingsSecretField, SettingsValueField, ShortcutKeys, StateDot, Switch, Tag, TerminalBlock, TextShimmer, Toast, Tooltip, WebBlock, classifyFileType, classifyLinkPath, closeTopModal, diffTotals, extractMarkdownPlainText, fileExtension, fileSizeText, focusWithoutRing, isBehindModal, isDarwinDesktop, languageForPath, modalSelector, observeComposition, observeStickyMenuGroups, pointerModality, projectUserText, rankByName, relativeTime, settingsNumberField, settingsTextField, useAnchoredMaxHeight, useAnchoredPosition, useCodeHighlighter, useDismissOnOutsidePointer, useModalLayer, writeClipboard };
|
|
12259
12382
|
|
|
12260
12383
|
//# sourceMappingURL=index.js.map
|