@deepseek-ai/dsh-client-ui-primitives 0.2.0-rc.2 → 0.2.1-alpha.1
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 +6 -6
- package/README.md +6 -5
- package/README.zh.md +6 -5
- package/lib/InlineEditor.module.css +23 -0
- package/lib/index.js +328 -261
- package/lib/types/InlineEditor.d.ts +23 -0
- package/lib/types/index.d.ts +1 -0
- package/package.json +6 -6
package/lib/index.js
CHANGED
|
@@ -14,23 +14,24 @@ import css$8 from "./Switch.module.css";
|
|
|
14
14
|
import css$9 from "./SegmentedControl.module.css";
|
|
15
15
|
import css$10 from "./Checkbox.module.css";
|
|
16
16
|
import css$11 from "./Input.module.css";
|
|
17
|
+
import css$12 from "./InlineEditor.module.css";
|
|
17
18
|
import { createPortal } from "react-dom";
|
|
18
|
-
import css$
|
|
19
|
-
import css$
|
|
20
|
-
import css$
|
|
21
|
-
import css$
|
|
22
|
-
import css$
|
|
23
|
-
import css$
|
|
24
|
-
import css$
|
|
25
|
-
import css$
|
|
26
|
-
import css$
|
|
27
|
-
import css$
|
|
19
|
+
import css$13 from "./ShortcutKeys.module.css";
|
|
20
|
+
import css$14 from "./MenuSurface.module.css";
|
|
21
|
+
import css$15 from "./Menu.module.css";
|
|
22
|
+
import css$16 from "./MenuGroup.module.css";
|
|
23
|
+
import css$17 from "./Tooltip.module.css";
|
|
24
|
+
import css$18 from "./HoverCard.module.css";
|
|
25
|
+
import css$19 from "./Modal.module.css";
|
|
26
|
+
import css$20 from "./RiskConfirmation.module.css";
|
|
27
|
+
import css$21 from "./ConnectionIndicator.module.css";
|
|
28
|
+
import css$22 from "./FileTypeIcon.module.css";
|
|
28
29
|
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";
|
|
29
|
-
import css$
|
|
30
|
+
import css$23 from "./user-text.module.css";
|
|
30
31
|
import markdownCss from "./markdown/MarkdownText.module.css";
|
|
31
|
-
import css$
|
|
32
|
-
import css$
|
|
33
|
-
import css$
|
|
32
|
+
import css$24 from "./Toast.module.css";
|
|
33
|
+
import css$25 from "./settings-form/SettingsForm.module.css";
|
|
34
|
+
import css$26 from "./settings-form/fields.module.css";
|
|
34
35
|
import { createSnapshotStore } from "@deepseek-ai/dsh-client-store";
|
|
35
36
|
import { createCssVariablesTheme, createHighlighterCoreSync } from "shiki/core";
|
|
36
37
|
import { createJavaScriptRegexEngine, defaultJavaScriptRegexConstructor } from "shiki/engine/javascript";
|
|
@@ -38,14 +39,14 @@ import langTs from "@shikijs/langs/typescript";
|
|
|
38
39
|
import langBash from "@shikijs/langs/shellscript";
|
|
39
40
|
import langJson from "@shikijs/langs/json";
|
|
40
41
|
import { CODE_HIGHLIGHT_EXTENSIONS, languageForPath } from "@deepseek-ai/dsh-util-code-language";
|
|
41
|
-
import css$
|
|
42
|
+
import css$27 from "./JsonTree.module.css";
|
|
42
43
|
import Anser from "anser";
|
|
43
|
-
import css$
|
|
44
|
+
import css$28 from "./TerminalBlock.module.css";
|
|
44
45
|
import cardCss from "./CodeCard.module.css";
|
|
45
|
-
import css$
|
|
46
|
+
import css$29 from "./ReadBlock.module.css";
|
|
46
47
|
import { structuredPatch } from "diff";
|
|
47
|
-
import css$
|
|
48
|
-
import css$
|
|
48
|
+
import css$30 from "./DiffBlock.module.css";
|
|
49
|
+
import css$31 from "./SearchBlock.module.css";
|
|
49
50
|
import { fromMarkdown } from "mdast-util-from-markdown";
|
|
50
51
|
import { gfmFromMarkdown } from "mdast-util-gfm";
|
|
51
52
|
import { mathFromMarkdown } from "mdast-util-math";
|
|
@@ -57,13 +58,13 @@ import { classifyCharacter } from "micromark-util-classify-character";
|
|
|
57
58
|
import { codes, constants, types } from "micromark-util-symbol";
|
|
58
59
|
import { factorySpace } from "micromark-factory-space";
|
|
59
60
|
import { normalizeUri } from "micromark-util-sanitize-uri";
|
|
60
|
-
import css$
|
|
61
|
+
import css$32 from "./markdown/CodeBlock.module.css";
|
|
61
62
|
import katex from "katex";
|
|
62
|
-
import css$
|
|
63
|
-
import css$
|
|
63
|
+
import css$33 from "./ImageLightbox.module.css";
|
|
64
|
+
import css$34 from "./ImagePreview.module.css";
|
|
64
65
|
import "katex/dist/katex.min.css";
|
|
65
|
-
import css$
|
|
66
|
-
import css$
|
|
66
|
+
import css$35 from "./WebBlock.module.css";
|
|
67
|
+
import css$36 from "./markdown/JsonBlock.module.css";
|
|
67
68
|
//#region lib/types/icons/shared-artwork.js
|
|
68
69
|
/**
|
|
69
70
|
* Render new-conversation geometry — the bubble around a plus — for product icons.
|
|
@@ -3040,12 +3041,24 @@ const IconMicrophoneOutlineMedium = (props) => jsx(IconMicrophoneOutlineArtwork,
|
|
|
3040
3041
|
//#region lib/types/StateDot.js
|
|
3041
3042
|
/**
|
|
3042
3043
|
* Pin the loader's CSS animations to document time zero. A CSS animation starts
|
|
3043
|
-
* when its element is inserted
|
|
3044
|
-
*
|
|
3044
|
+
* when its element is inserted and restarts when the element is moved or shown
|
|
3045
|
+
* again, so loaders started at different moments rotate out of phase; one shared
|
|
3046
|
+
* start time keeps every visible loader in step. Mount pins the first start; the
|
|
3047
|
+
* element's own `animationstart` listener pins each restart.
|
|
3045
3048
|
* @param element - the mounted loader, or null on unmount.
|
|
3046
3049
|
*/
|
|
3047
3050
|
function syncSpinner(element) {
|
|
3048
3051
|
if (element === null) return;
|
|
3052
|
+
pinSpinner(element);
|
|
3053
|
+
element.addEventListener("animationstart", () => {
|
|
3054
|
+
pinSpinner(element);
|
|
3055
|
+
});
|
|
3056
|
+
}
|
|
3057
|
+
/**
|
|
3058
|
+
* Set every CSS animation in the loader's subtree to start at document time zero.
|
|
3059
|
+
* @param element - the mounted loader.
|
|
3060
|
+
*/
|
|
3061
|
+
function pinSpinner(element) {
|
|
3049
3062
|
const spinner = element;
|
|
3050
3063
|
for (const animation of spinner.getAnimations?.({ subtree: true }) ?? []) animation.startTime = 0;
|
|
3051
3064
|
}
|
|
@@ -3540,6 +3553,60 @@ const Input = forwardRef(function Input({ icon, className, ...rest }, ref) {
|
|
|
3540
3553
|
});
|
|
3541
3554
|
});
|
|
3542
3555
|
//#endregion
|
|
3556
|
+
//#region lib/types/InlineEditor.js
|
|
3557
|
+
/** Multi-line inline editor for short saved-on-Enter drafts such as queued messages and goals. */
|
|
3558
|
+
/**
|
|
3559
|
+
* Render an autofocused textarea that grows with its text up to six lines, then scrolls.
|
|
3560
|
+
* A textarea rather than an input: HTML strips newlines from single-line input values.
|
|
3561
|
+
* Enter saves, Shift+Enter breaks the line, Enter during IME composition does nothing,
|
|
3562
|
+
* and Escape cancels.
|
|
3563
|
+
* @param props.value - current draft text.
|
|
3564
|
+
* @param props.label - localized accessible name.
|
|
3565
|
+
* @param props.onChange - receives the edited text.
|
|
3566
|
+
* @param props.onSave - called for a plain Enter.
|
|
3567
|
+
* @param props.onCancel - called for Escape.
|
|
3568
|
+
* @param props.className - extra class for the editor's placement.
|
|
3569
|
+
* @returns the textarea.
|
|
3570
|
+
*/
|
|
3571
|
+
function InlineEditor({ value, label, onChange, onSave, onCancel, className }) {
|
|
3572
|
+
const ref = useRef(null);
|
|
3573
|
+
useLayoutEffect(() => {
|
|
3574
|
+
const node = ref.current;
|
|
3575
|
+
const fit = () => {
|
|
3576
|
+
node.style.height = "auto";
|
|
3577
|
+
node.style.height = `${node.scrollHeight + node.offsetHeight - node.clientHeight}px`;
|
|
3578
|
+
};
|
|
3579
|
+
fit();
|
|
3580
|
+
const observer = new ResizeObserver(fit);
|
|
3581
|
+
observer.observe(node);
|
|
3582
|
+
return () => {
|
|
3583
|
+
observer.disconnect();
|
|
3584
|
+
};
|
|
3585
|
+
}, [value]);
|
|
3586
|
+
const onKeyDown = (event) => {
|
|
3587
|
+
if (event.key === "Escape") {
|
|
3588
|
+
onCancel();
|
|
3589
|
+
return;
|
|
3590
|
+
}
|
|
3591
|
+
const composing = event.nativeEvent.isComposing || Reflect.get(event.nativeEvent, "keyCode") === 229;
|
|
3592
|
+
if (event.key !== "Enter" || event.shiftKey || composing) return;
|
|
3593
|
+
event.preventDefault();
|
|
3594
|
+
onSave();
|
|
3595
|
+
};
|
|
3596
|
+
return jsx("textarea", {
|
|
3597
|
+
ref,
|
|
3598
|
+
autoFocus: true,
|
|
3599
|
+
rows: 1,
|
|
3600
|
+
className: clsx(css$12.editor, className),
|
|
3601
|
+
"aria-label": label,
|
|
3602
|
+
value,
|
|
3603
|
+
onChange: (event) => {
|
|
3604
|
+
onChange(event.currentTarget.value);
|
|
3605
|
+
},
|
|
3606
|
+
onKeyDown
|
|
3607
|
+
});
|
|
3608
|
+
}
|
|
3609
|
+
//#endregion
|
|
3543
3610
|
//#region lib/types/overlay-top-margin.js
|
|
3544
3611
|
/** Shared viewport inset for overlays, derived from the desktop frame's reserved top strip. */
|
|
3545
3612
|
/**
|
|
@@ -3762,9 +3829,9 @@ function useModalLayer(dialog, open, onClose) {
|
|
|
3762
3829
|
*/
|
|
3763
3830
|
function ShortcutKeys({ keys, variant = "plain", className }) {
|
|
3764
3831
|
return jsx("span", {
|
|
3765
|
-
className: clsx(css$
|
|
3832
|
+
className: clsx(css$13.keys, variant === "tooltip" && css$13.tooltip, variant === "tooltip" && keys.includes("+") && css$13.joined, className),
|
|
3766
3833
|
children: keys.map((key, index) => jsx("kbd", {
|
|
3767
|
-
className: key === "+" ? css$
|
|
3834
|
+
className: key === "+" ? css$13.separator : css$13.key,
|
|
3768
3835
|
children: key
|
|
3769
3836
|
}, index))
|
|
3770
3837
|
});
|
|
@@ -3790,20 +3857,20 @@ const MenuSurface = forwardRef(function MenuSurface({ compact = false, className
|
|
|
3790
3857
|
...props,
|
|
3791
3858
|
ref,
|
|
3792
3859
|
"data-menu-material": "translucent",
|
|
3793
|
-
className: clsx(css$
|
|
3860
|
+
className: clsx(css$14.surface, compact && css$14.compact, className),
|
|
3794
3861
|
style: {
|
|
3795
3862
|
...style,
|
|
3796
3863
|
...anchorStyle
|
|
3797
3864
|
},
|
|
3798
3865
|
children: [jsx("div", {
|
|
3799
3866
|
"aria-hidden": "true",
|
|
3800
|
-
className: css$
|
|
3867
|
+
className: css$14.material
|
|
3801
3868
|
}), children]
|
|
3802
3869
|
}), createPortal(jsx("div", {
|
|
3803
3870
|
ref: backingRef,
|
|
3804
3871
|
"aria-hidden": "true",
|
|
3805
3872
|
"data-menu-backing": "",
|
|
3806
|
-
className: clsx(css$
|
|
3873
|
+
className: clsx(css$14.backing, compact && css$14.compact),
|
|
3807
3874
|
style: {
|
|
3808
3875
|
...anchorStyle,
|
|
3809
3876
|
visibility: style?.visibility
|
|
@@ -3829,32 +3896,32 @@ const MenuSurface = forwardRef(function MenuSurface({ compact = false, className
|
|
|
3829
3896
|
*/
|
|
3830
3897
|
function MenuItemButton({ children, shortcut, icon, disabled = false, danger = false, separatorBefore = false, onSelect }) {
|
|
3831
3898
|
return jsxs("div", {
|
|
3832
|
-
className: css$
|
|
3899
|
+
className: css$15.itemWrap,
|
|
3833
3900
|
children: [separatorBefore && jsx("div", {
|
|
3834
|
-
className: css$
|
|
3901
|
+
className: css$15.separator,
|
|
3835
3902
|
role: "separator"
|
|
3836
3903
|
}), jsxs("button", {
|
|
3837
3904
|
type: "button",
|
|
3838
3905
|
role: "menuitem",
|
|
3839
|
-
className: clsx(css$
|
|
3906
|
+
className: clsx(css$15.item, danger && css$15.danger),
|
|
3840
3907
|
disabled,
|
|
3841
3908
|
"aria-keyshortcuts": shortcut?.aria,
|
|
3842
3909
|
onClick: onSelect,
|
|
3843
3910
|
children: [
|
|
3844
3911
|
icon !== void 0 && jsx("span", {
|
|
3845
|
-
className: css$
|
|
3912
|
+
className: css$15.itemIcon,
|
|
3846
3913
|
children: icon
|
|
3847
3914
|
}),
|
|
3848
3915
|
jsx("span", {
|
|
3849
|
-
className: css$
|
|
3916
|
+
className: css$15.itemLabel,
|
|
3850
3917
|
children
|
|
3851
3918
|
}),
|
|
3852
3919
|
shortcut !== void 0 && jsx("span", {
|
|
3853
3920
|
"aria-hidden": "true",
|
|
3854
|
-
className: css$
|
|
3921
|
+
className: css$15.shortcut,
|
|
3855
3922
|
children: jsx(ShortcutKeys, {
|
|
3856
3923
|
keys: shortcut.keys,
|
|
3857
|
-
className: css$
|
|
3924
|
+
className: css$15.shortcutKeys
|
|
3858
3925
|
})
|
|
3859
3926
|
})
|
|
3860
3927
|
]
|
|
@@ -4141,11 +4208,11 @@ function Menu({ open, anchor, items = [], children, selectedId, selectedIds, onS
|
|
|
4141
4208
|
const scrollable = !items.some((entry) => !isSeparator(entry) && !isLabel(entry) && entry.submenu !== void 0 && entry.submenu.length > 0);
|
|
4142
4209
|
const renderEntry = (entry) => {
|
|
4143
4210
|
if (isSeparator(entry)) return jsx("div", {
|
|
4144
|
-
className: css$
|
|
4211
|
+
className: css$15.separator,
|
|
4145
4212
|
role: "separator"
|
|
4146
4213
|
}, entry.id);
|
|
4147
4214
|
if (isLabel(entry)) return jsx("div", {
|
|
4148
|
-
className: css$
|
|
4215
|
+
className: css$15.label,
|
|
4149
4216
|
role: "presentation",
|
|
4150
4217
|
children: entry.text
|
|
4151
4218
|
}, entry.id);
|
|
@@ -4153,7 +4220,7 @@ function Menu({ open, anchor, items = [], children, selectedId, selectedIds, onS
|
|
|
4153
4220
|
const subOpen = hasSub && openSubmenuId === entry.id;
|
|
4154
4221
|
const selected = entry.id === selectedId || selectedIds?.includes(entry.id) === true;
|
|
4155
4222
|
return jsxs("div", {
|
|
4156
|
-
className: css$
|
|
4223
|
+
className: css$15.itemWrap,
|
|
4157
4224
|
onMouseEnter: hasSub ? () => {
|
|
4158
4225
|
setOpenSubmenuId(entry.id);
|
|
4159
4226
|
} : void 0,
|
|
@@ -4163,7 +4230,7 @@ function Menu({ open, anchor, items = [], children, selectedId, selectedIds, onS
|
|
|
4163
4230
|
children: [jsxs("button", {
|
|
4164
4231
|
type: "button",
|
|
4165
4232
|
role: "menuitem",
|
|
4166
|
-
className: clsx(css$
|
|
4233
|
+
className: clsx(css$15.item, selected && (selection === "fill" ? css$15.selectedFill : css$15.selected), entry.danger === true && css$15.danger),
|
|
4167
4234
|
disabled: entry.disabled,
|
|
4168
4235
|
"aria-keyshortcuts": entry.shortcut?.aria,
|
|
4169
4236
|
"aria-haspopup": hasSub ? "menu" : void 0,
|
|
@@ -4180,31 +4247,31 @@ function Menu({ open, anchor, items = [], children, selectedId, selectedIds, onS
|
|
|
4180
4247
|
},
|
|
4181
4248
|
children: [
|
|
4182
4249
|
entry.icon !== void 0 && jsx("span", {
|
|
4183
|
-
className: css$
|
|
4250
|
+
className: css$15.itemIcon,
|
|
4184
4251
|
children: entry.icon
|
|
4185
4252
|
}),
|
|
4186
4253
|
jsx("span", {
|
|
4187
|
-
className: css$
|
|
4254
|
+
className: css$15.itemLabel,
|
|
4188
4255
|
children: entry.label
|
|
4189
4256
|
}),
|
|
4190
4257
|
entry.shortcut !== void 0 && jsx("span", {
|
|
4191
4258
|
"aria-hidden": "true",
|
|
4192
|
-
className: css$
|
|
4259
|
+
className: css$15.shortcut,
|
|
4193
4260
|
children: jsx(ShortcutKeys, {
|
|
4194
4261
|
keys: entry.shortcut.keys,
|
|
4195
|
-
className: css$
|
|
4262
|
+
className: css$15.shortcutKeys
|
|
4196
4263
|
})
|
|
4197
4264
|
}),
|
|
4198
|
-
selected && selection === "check" && jsx(IconCheckOutlineRegular, { className: css$
|
|
4265
|
+
selected && selection === "check" && jsx(IconCheckOutlineRegular, { className: css$15.check })
|
|
4199
4266
|
]
|
|
4200
4267
|
}), subOpen && entry.submenu !== void 0 && jsx(MenuSurface, {
|
|
4201
4268
|
compact,
|
|
4202
|
-
className: clsx(css$
|
|
4269
|
+
className: clsx(css$15.submenu, compact && css$15.compactList),
|
|
4203
4270
|
role: "menu",
|
|
4204
4271
|
children: entry.submenu.map((sub) => jsxs("button", {
|
|
4205
4272
|
type: "button",
|
|
4206
4273
|
role: "menuitem",
|
|
4207
|
-
className: css$
|
|
4274
|
+
className: css$15.item,
|
|
4208
4275
|
disabled: sub.disabled,
|
|
4209
4276
|
"aria-keyshortcuts": sub.shortcut?.aria,
|
|
4210
4277
|
onClick: () => {
|
|
@@ -4213,19 +4280,19 @@ function Menu({ open, anchor, items = [], children, selectedId, selectedIds, onS
|
|
|
4213
4280
|
},
|
|
4214
4281
|
children: [
|
|
4215
4282
|
sub.icon !== void 0 && jsx("span", {
|
|
4216
|
-
className: css$
|
|
4283
|
+
className: css$15.itemIcon,
|
|
4217
4284
|
children: sub.icon
|
|
4218
4285
|
}),
|
|
4219
4286
|
jsx("span", {
|
|
4220
|
-
className: css$
|
|
4287
|
+
className: css$15.itemLabel,
|
|
4221
4288
|
children: sub.label
|
|
4222
4289
|
}),
|
|
4223
4290
|
sub.shortcut !== void 0 && jsx("span", {
|
|
4224
4291
|
"aria-hidden": "true",
|
|
4225
|
-
className: css$
|
|
4292
|
+
className: css$15.shortcut,
|
|
4226
4293
|
children: jsx(ShortcutKeys, {
|
|
4227
4294
|
keys: sub.shortcut.keys,
|
|
4228
|
-
className: css$
|
|
4295
|
+
className: css$15.shortcutKeys
|
|
4229
4296
|
})
|
|
4230
4297
|
})
|
|
4231
4298
|
]
|
|
@@ -4242,7 +4309,7 @@ function Menu({ open, anchor, items = [], children, selectedId, selectedIds, onS
|
|
|
4242
4309
|
const list = open && jsxs(MenuSurface, {
|
|
4243
4310
|
compact,
|
|
4244
4311
|
ref: listRef,
|
|
4245
|
-
className: clsx(css$
|
|
4312
|
+
className: clsx(css$15.list, listClassName, dense && css$15.denseList, compact && css$15.compactList, scrollable && css$15.scrollable, portal && css$15.portal, side === "top" && !portal && css$15.sideTop, align === "end" && !portal && css$15.alignEnd),
|
|
4246
4313
|
style: portal ? fixedPos ?? MEASURE_STYLE : void 0,
|
|
4247
4314
|
role: "menu",
|
|
4248
4315
|
onClick: (e) => {
|
|
@@ -4253,18 +4320,18 @@ function Menu({ open, anchor, items = [], children, selectedId, selectedIds, onS
|
|
|
4253
4320
|
onMouseOver: collapseSubmenuFrom,
|
|
4254
4321
|
onFocus: collapseSubmenuFrom,
|
|
4255
4322
|
children: [jsxs("div", {
|
|
4256
|
-
className: css$
|
|
4323
|
+
className: css$15.viewport,
|
|
4257
4324
|
role: "presentation",
|
|
4258
4325
|
children: [items.map(renderEntry), children]
|
|
4259
4326
|
}), footer !== void 0 && footer.length > 0 && jsx("div", {
|
|
4260
|
-
className: css$
|
|
4327
|
+
className: css$15.footer,
|
|
4261
4328
|
role: "presentation",
|
|
4262
4329
|
children: footer.map(renderEntry)
|
|
4263
4330
|
})]
|
|
4264
4331
|
});
|
|
4265
4332
|
return jsxs("span", {
|
|
4266
4333
|
ref: rootRef,
|
|
4267
|
-
className: clsx(css$
|
|
4334
|
+
className: clsx(css$15.root, className),
|
|
4268
4335
|
onPointerEnter: closeOnPointerLeave ? cancelClose : void 0,
|
|
4269
4336
|
onPointerLeave: closeOnPointerLeave ? () => {
|
|
4270
4337
|
if (open) armClose();
|
|
@@ -4286,17 +4353,17 @@ function MenuGroup({ label, children }) {
|
|
|
4286
4353
|
role: "group",
|
|
4287
4354
|
"aria-labelledby": headingId,
|
|
4288
4355
|
"data-menu-group": "",
|
|
4289
|
-
className: css$
|
|
4356
|
+
className: css$16.group,
|
|
4290
4357
|
children: [
|
|
4291
4358
|
jsx("span", {
|
|
4292
4359
|
"aria-hidden": "true",
|
|
4293
4360
|
"data-menu-group-start": "",
|
|
4294
|
-
className: css$
|
|
4361
|
+
className: css$16.start
|
|
4295
4362
|
}),
|
|
4296
4363
|
jsx("div", {
|
|
4297
4364
|
id: headingId,
|
|
4298
4365
|
"data-menu-group-heading": "",
|
|
4299
|
-
className: css$
|
|
4366
|
+
className: css$16.heading,
|
|
4300
4367
|
children: label
|
|
4301
4368
|
}),
|
|
4302
4369
|
children
|
|
@@ -4826,7 +4893,7 @@ function Tooltip({ label, shortcutKeys, side = "right", align = "center", delayM
|
|
|
4826
4893
|
const content = visible && !suppressed && jsxs("span", {
|
|
4827
4894
|
ref: bubble,
|
|
4828
4895
|
id: openOnClick ? id : void 0,
|
|
4829
|
-
className: css$
|
|
4896
|
+
className: css$17.bubble,
|
|
4830
4897
|
"data-side": side,
|
|
4831
4898
|
"data-portal": portal || void 0,
|
|
4832
4899
|
"data-pinned": pinned || void 0,
|
|
@@ -4841,7 +4908,7 @@ function Tooltip({ label, shortcutKeys, side = "right", align = "center", delayM
|
|
|
4841
4908
|
role: "tooltip",
|
|
4842
4909
|
"aria-label": shortcutKeys?.length ? [resolvedLabel, shortcutKeys.join(" ")].filter(Boolean).join(" ") : void 0,
|
|
4843
4910
|
children: [resolvedLabel && jsx("span", {
|
|
4844
|
-
className: css$
|
|
4911
|
+
className: css$17.label,
|
|
4845
4912
|
children: resolvedLabel
|
|
4846
4913
|
}), shortcutKeys !== void 0 && shortcutKeys.length > 0 && jsx(ShortcutKeys, {
|
|
4847
4914
|
keys: shortcutKeys,
|
|
@@ -5109,7 +5176,7 @@ function HoverCard({ anchor, content, openDelayMs = 500, disabled = false, copyT
|
|
|
5109
5176
|
};
|
|
5110
5177
|
const card = open && pos !== null && !suppressed && jsx("div", {
|
|
5111
5178
|
ref: cardRef,
|
|
5112
|
-
className: clsx(css$
|
|
5179
|
+
className: clsx(css$18.card, variant === "preview" && css$18.preview, inline && css$18.media, copyable && css$18.copyable, copied && css$18.feedback),
|
|
5113
5180
|
"data-closing": closing || void 0,
|
|
5114
5181
|
style: {
|
|
5115
5182
|
...pos,
|
|
@@ -5132,14 +5199,14 @@ function HoverCard({ anchor, content, openDelayMs = 500, disabled = false, copyT
|
|
|
5132
5199
|
copy(copyText);
|
|
5133
5200
|
} : void 0,
|
|
5134
5201
|
children: copied ? jsx("span", {
|
|
5135
|
-
className: css$
|
|
5202
|
+
className: css$18.copied,
|
|
5136
5203
|
"aria-hidden": "true",
|
|
5137
5204
|
children: copiedLabel
|
|
5138
5205
|
}) : content
|
|
5139
5206
|
});
|
|
5140
5207
|
return jsxs("span", {
|
|
5141
5208
|
ref: rootRef,
|
|
5142
|
-
className: clsx(css$
|
|
5209
|
+
className: clsx(css$18.root, inline && css$18.inline),
|
|
5143
5210
|
onFocus: inline ? (event) => {
|
|
5144
5211
|
if (!disabled && event.target.matches(":focus-visible")) {
|
|
5145
5212
|
cancelClose();
|
|
@@ -5177,7 +5244,7 @@ function HoverCard({ anchor, content, openDelayMs = 500, disabled = false, copyT
|
|
|
5177
5244
|
children: anchor
|
|
5178
5245
|
}),
|
|
5179
5246
|
open && !suppressed && copyable && jsx("span", {
|
|
5180
|
-
className: css$
|
|
5247
|
+
className: css$18.status,
|
|
5181
5248
|
role: "status",
|
|
5182
5249
|
children: copied ? copiedLabel : ""
|
|
5183
5250
|
}),
|
|
@@ -5212,11 +5279,11 @@ function Modal({ open, onClose, title, closeLabel, description, children, footer
|
|
|
5212
5279
|
useModalLayer(dialog, open, onClose);
|
|
5213
5280
|
if (!open) return null;
|
|
5214
5281
|
return createPortal(jsxs("div", {
|
|
5215
|
-
className: css$
|
|
5282
|
+
className: css$19.root,
|
|
5216
5283
|
role: "presentation",
|
|
5217
5284
|
onKeyDownCapture,
|
|
5218
5285
|
children: [jsx("div", {
|
|
5219
|
-
className: css$
|
|
5286
|
+
className: css$19.mask,
|
|
5220
5287
|
style: backdropBlur ? void 0 : { backdropFilter: "none" },
|
|
5221
5288
|
"aria-hidden": "true",
|
|
5222
5289
|
onClick: onClose
|
|
@@ -5224,37 +5291,37 @@ function Modal({ open, onClose, title, closeLabel, description, children, footer
|
|
|
5224
5291
|
ref: dialog,
|
|
5225
5292
|
tabIndex: -1,
|
|
5226
5293
|
"data-shortcut-modal": shortcutModal,
|
|
5227
|
-
className: clsx(css$
|
|
5294
|
+
className: clsx(css$19.dialog, className),
|
|
5228
5295
|
role: "dialog",
|
|
5229
5296
|
"aria-modal": "true",
|
|
5230
5297
|
"aria-label": title,
|
|
5231
5298
|
children: headless ? children : jsxs(Fragment, { children: [jsxs("div", {
|
|
5232
|
-
className: clsx(css$
|
|
5299
|
+
className: clsx(css$19.content, contentClassName),
|
|
5233
5300
|
children: [
|
|
5234
5301
|
jsxs("div", {
|
|
5235
|
-
className: css$
|
|
5302
|
+
className: css$19.header,
|
|
5236
5303
|
children: [jsx("h2", {
|
|
5237
|
-
className: css$
|
|
5304
|
+
className: css$19.title,
|
|
5238
5305
|
children: title
|
|
5239
5306
|
}), jsx("button", {
|
|
5240
5307
|
type: "button",
|
|
5241
|
-
className: css$
|
|
5308
|
+
className: css$19.close,
|
|
5242
5309
|
"aria-label": closeLabel,
|
|
5243
5310
|
onClick: onClose,
|
|
5244
5311
|
children: jsx(IconCloseOutlineRegular, { size: 14 })
|
|
5245
5312
|
})]
|
|
5246
5313
|
}),
|
|
5247
5314
|
description !== void 0 && description !== "" && jsx("p", {
|
|
5248
|
-
className: css$
|
|
5315
|
+
className: css$19.description,
|
|
5249
5316
|
children: description
|
|
5250
5317
|
}),
|
|
5251
5318
|
children !== void 0 && jsx("div", {
|
|
5252
|
-
className: css$
|
|
5319
|
+
className: css$19.body,
|
|
5253
5320
|
children
|
|
5254
5321
|
})
|
|
5255
5322
|
]
|
|
5256
5323
|
}), footer !== void 0 && jsx("div", {
|
|
5257
|
-
className: css$
|
|
5324
|
+
className: css$19.footer,
|
|
5258
5325
|
children: footer
|
|
5259
5326
|
})] })
|
|
5260
5327
|
})]
|
|
@@ -5276,28 +5343,28 @@ function RiskConfirmation({ open, title, description, acknowledgeLabel, cancelLa
|
|
|
5276
5343
|
onClose: onCancel,
|
|
5277
5344
|
title,
|
|
5278
5345
|
closeLabel,
|
|
5279
|
-
className: css$
|
|
5280
|
-
contentClassName: css$
|
|
5346
|
+
className: css$20.confirmation ?? "",
|
|
5347
|
+
contentClassName: css$20.confirmationContent ?? "",
|
|
5281
5348
|
footer: jsxs(Fragment, { children: [jsx(Button, {
|
|
5282
5349
|
variant: "outline",
|
|
5283
|
-
className: css$
|
|
5350
|
+
className: css$20.modalAction,
|
|
5284
5351
|
onClick: onCancel,
|
|
5285
5352
|
children: cancelLabel
|
|
5286
5353
|
}), jsx(Button, {
|
|
5287
5354
|
variant: "primary",
|
|
5288
|
-
className: css$
|
|
5355
|
+
className: css$20.confirmAction,
|
|
5289
5356
|
disabled: disabled || !acknowledged,
|
|
5290
5357
|
onClick: onConfirm,
|
|
5291
5358
|
children: confirmLabel
|
|
5292
5359
|
})] }),
|
|
5293
5360
|
children: [jsxs("div", {
|
|
5294
|
-
className: css$
|
|
5361
|
+
className: css$20.warning,
|
|
5295
5362
|
children: [jsx(IconWarningOutlineRegular, {
|
|
5296
5363
|
size: 18,
|
|
5297
|
-
className: css$
|
|
5364
|
+
className: css$20.warningIcon
|
|
5298
5365
|
}), jsx("p", { children: description })]
|
|
5299
5366
|
}), jsxs("label", {
|
|
5300
|
-
className: css$
|
|
5367
|
+
className: css$20.acknowledgement,
|
|
5301
5368
|
children: [jsx("input", {
|
|
5302
5369
|
type: "checkbox",
|
|
5303
5370
|
checked: acknowledged,
|
|
@@ -5345,44 +5412,44 @@ function ConnectionIndicator({ state, disconnectedLabel, connectingLabel, recove
|
|
|
5345
5412
|
};
|
|
5346
5413
|
}, [state, rendered]);
|
|
5347
5414
|
if (rendered === void 0) return null;
|
|
5348
|
-
const leavingClass = leaving ? ` ${css$
|
|
5415
|
+
const leavingClass = leaving ? ` ${css$21.leaving}` : "";
|
|
5349
5416
|
if (rendered === "recovered") return jsxs("div", {
|
|
5350
|
-
className: `${css$
|
|
5417
|
+
className: `${css$21.indicator} ${css$21.success}${leavingClass}`,
|
|
5351
5418
|
role: "status",
|
|
5352
5419
|
"aria-label": recoveredLabel,
|
|
5353
5420
|
children: [jsx("span", {
|
|
5354
|
-
className: css$
|
|
5421
|
+
className: css$21.icon,
|
|
5355
5422
|
"aria-hidden": "true",
|
|
5356
5423
|
children: jsx(IconCheckOutlineRegular, { size: 14 })
|
|
5357
5424
|
}), jsx("span", {
|
|
5358
|
-
className: css$
|
|
5425
|
+
className: css$21.label,
|
|
5359
5426
|
children: recoveredLabel
|
|
5360
5427
|
})]
|
|
5361
5428
|
});
|
|
5362
5429
|
const connecting = rendered === "connecting";
|
|
5363
5430
|
return jsxs("button", {
|
|
5364
5431
|
type: "button",
|
|
5365
|
-
className: `${css$
|
|
5432
|
+
className: `${css$21.indicator} ${css$21.warning}${leavingClass}`,
|
|
5366
5433
|
"data-phase": rendered,
|
|
5367
5434
|
"aria-label": connecting ? restartActionLabel : reconnectActionLabel,
|
|
5368
5435
|
onClick: onReconnect,
|
|
5369
5436
|
children: [jsx("span", {
|
|
5370
|
-
className: css$
|
|
5437
|
+
className: css$21.icon,
|
|
5371
5438
|
"aria-hidden": "true",
|
|
5372
5439
|
children: connecting ? jsx(StateDot, { state: "ongoing" }) : jsx(IconRefreshOutlineRegular, { size: 14 })
|
|
5373
5440
|
}), jsx("span", {
|
|
5374
|
-
className: css$
|
|
5441
|
+
className: css$21.label,
|
|
5375
5442
|
children: connecting ? jsxs(Fragment, { children: [connectingLabel, jsxs("span", {
|
|
5376
|
-
className: css$
|
|
5443
|
+
className: css$21.dots,
|
|
5377
5444
|
"aria-hidden": "true",
|
|
5378
5445
|
children: [
|
|
5379
5446
|
jsx("span", { children: "." }),
|
|
5380
5447
|
jsx("span", {
|
|
5381
|
-
className: css$
|
|
5448
|
+
className: css$21.secondDot,
|
|
5382
5449
|
children: "."
|
|
5383
5450
|
}),
|
|
5384
5451
|
jsx("span", {
|
|
5385
|
-
className: css$
|
|
5452
|
+
className: css$21.thirdDot,
|
|
5386
5453
|
children: "."
|
|
5387
5454
|
})
|
|
5388
5455
|
]
|
|
@@ -6413,7 +6480,7 @@ function FileTypeIcon(props) {
|
|
|
6413
6480
|
type: resolvedType,
|
|
6414
6481
|
size,
|
|
6415
6482
|
className
|
|
6416
|
-
}) : glyph(resolvedType, size, clsx(css$
|
|
6483
|
+
}) : glyph(resolvedType, size, clsx(css$22.icon, css$22[resolvedType], className));
|
|
6417
6484
|
}
|
|
6418
6485
|
//#endregion
|
|
6419
6486
|
//#region lib/types/SiteGlyph.js
|
|
@@ -6742,7 +6809,7 @@ function projectUserText(text, sessionLabels, slashNames = [], slashKind = "skil
|
|
|
6742
6809
|
let cursor = 0;
|
|
6743
6810
|
const pushPlain = (from, to) => {
|
|
6744
6811
|
parts.push(jsx("span", {
|
|
6745
|
-
className: css$
|
|
6812
|
+
className: css$23.plainRun,
|
|
6746
6813
|
children: text.slice(from, to)
|
|
6747
6814
|
}, `t${from}`));
|
|
6748
6815
|
};
|
|
@@ -6755,14 +6822,14 @@ function projectUserText(text, sessionLabels, slashNames = [], slashKind = "skil
|
|
|
6755
6822
|
const contents = jsxs(Fragment, { children: [referenceKind !== void 0 && jsx(ReferenceIconRegular, {
|
|
6756
6823
|
kind: referenceKind,
|
|
6757
6824
|
size: 16,
|
|
6758
|
-
className: css$
|
|
6825
|
+
className: css$23.refIcon
|
|
6759
6826
|
}), displayLabel] });
|
|
6760
6827
|
const open = references === void 0 ? void 0 : referenceKind === "file" ? () => {
|
|
6761
6828
|
references.openFile(label.slice(1).replace(/^"|"$/gu, ""));
|
|
6762
6829
|
} : referenceKind === void 0 && slashKind === "skill" ? () => {
|
|
6763
6830
|
references.openSkill(label.slice(1));
|
|
6764
6831
|
} : void 0;
|
|
6765
|
-
const className = clsx(css$
|
|
6832
|
+
const className = clsx(css$23.refChip, referenceKind === void 0 && css$23.slashChip);
|
|
6766
6833
|
parts.push(open === void 0 ? jsx("span", {
|
|
6767
6834
|
className,
|
|
6768
6835
|
"data-ref-chip": referenceKind ?? slashKind,
|
|
@@ -6782,7 +6849,7 @@ function projectUserText(text, sessionLabels, slashNames = [], slashKind = "skil
|
|
|
6782
6849
|
cursor = end;
|
|
6783
6850
|
}
|
|
6784
6851
|
if (parts.length === 0) return jsx("span", {
|
|
6785
|
-
className: css$
|
|
6852
|
+
className: css$23.plainRun,
|
|
6786
6853
|
children: text
|
|
6787
6854
|
});
|
|
6788
6855
|
if (cursor < text.length) pushPlain(cursor, text.length);
|
|
@@ -6855,25 +6922,25 @@ function Toast({ text, icon, tone, anchor, holdMs = HOLD_MS, actions, onDone })
|
|
|
6855
6922
|
};
|
|
6856
6923
|
}, [anchor]);
|
|
6857
6924
|
return createPortal(jsxs("div", {
|
|
6858
|
-
className: css$
|
|
6925
|
+
className: css$24.toast,
|
|
6859
6926
|
role: "alert",
|
|
6860
6927
|
style: {
|
|
6861
6928
|
...left === null ? {} : { left },
|
|
6862
6929
|
"--dsh-toast-hold": `${String(holdMs)}ms`
|
|
6863
6930
|
},
|
|
6864
6931
|
children: [tone === "success" ? jsx("span", {
|
|
6865
|
-
className: `${css$
|
|
6932
|
+
className: `${css$24.icon} ${css$24.success}`,
|
|
6866
6933
|
"aria-hidden": true,
|
|
6867
6934
|
children: jsx(IconCheckCircleOutlineRegular, {})
|
|
6868
6935
|
}) : icon !== void 0 && jsx("span", {
|
|
6869
|
-
className: css$
|
|
6936
|
+
className: css$24.icon,
|
|
6870
6937
|
"aria-hidden": true,
|
|
6871
6938
|
children: icon
|
|
6872
6939
|
}), jsxs("span", {
|
|
6873
|
-
className: css$
|
|
6940
|
+
className: css$24.text,
|
|
6874
6941
|
children: [text, actions?.map((action) => jsxs(Fragment$1, { children: [action.prefix, jsx("button", {
|
|
6875
6942
|
type: "button",
|
|
6876
|
-
className: css$
|
|
6943
|
+
className: css$24.action,
|
|
6877
6944
|
onClick: action.onClick,
|
|
6878
6945
|
children: action.label
|
|
6879
6946
|
})] }, action.label))]
|
|
@@ -6923,29 +6990,29 @@ function SettingsForm(props) {
|
|
|
6923
6990
|
discard.current();
|
|
6924
6991
|
}, []);
|
|
6925
6992
|
if (!state.available) return jsx("p", {
|
|
6926
|
-
className: css$
|
|
6993
|
+
className: css$25.unavailable,
|
|
6927
6994
|
role: "status",
|
|
6928
6995
|
children: labels.unavailable
|
|
6929
6996
|
});
|
|
6930
6997
|
const blocked = !state.dirty || state.invalid || state.saving;
|
|
6931
6998
|
return jsxs("div", {
|
|
6932
|
-
className: css$
|
|
6999
|
+
className: css$25.form,
|
|
6933
7000
|
children: [
|
|
6934
7001
|
!state.writable ? jsx("p", {
|
|
6935
|
-
className: css$
|
|
7002
|
+
className: css$25.readOnly,
|
|
6936
7003
|
role: "status",
|
|
6937
7004
|
children: labels.readOnly
|
|
6938
7005
|
}) : null,
|
|
6939
7006
|
props.children,
|
|
6940
7007
|
jsxs("div", {
|
|
6941
|
-
className: css$
|
|
7008
|
+
className: css$25.footer,
|
|
6942
7009
|
children: [state.failed ? jsx("p", {
|
|
6943
|
-
className: css$
|
|
7010
|
+
className: css$25.failed,
|
|
6944
7011
|
role: "status",
|
|
6945
7012
|
children: labels.saveFailed
|
|
6946
7013
|
}) : null, jsx("button", {
|
|
6947
7014
|
type: "button",
|
|
6948
|
-
className: css$
|
|
7015
|
+
className: css$25.save,
|
|
6949
7016
|
disabled: blocked,
|
|
6950
7017
|
onClick: props.onSave,
|
|
6951
7018
|
children: state.saving ? labels.saving : labels.save
|
|
@@ -6977,19 +7044,19 @@ function SettingsValueField(props) {
|
|
|
6977
7044
|
const hasMessage = props.invalid || Boolean(props.hint);
|
|
6978
7045
|
const description = [hasMessage ? messageId : "", helpOpen ? helpId : ""].filter(Boolean).join(" ");
|
|
6979
7046
|
return jsxs("div", {
|
|
6980
|
-
className: css$
|
|
7047
|
+
className: css$26.field,
|
|
6981
7048
|
children: [
|
|
6982
7049
|
jsxs("div", {
|
|
6983
|
-
className: css$
|
|
7050
|
+
className: css$26.head,
|
|
6984
7051
|
children: [jsxs("div", {
|
|
6985
|
-
className: css$
|
|
7052
|
+
className: css$26.labelGroup,
|
|
6986
7053
|
children: [jsx("label", {
|
|
6987
|
-
className: css$
|
|
7054
|
+
className: css$26.label,
|
|
6988
7055
|
htmlFor: props.id,
|
|
6989
7056
|
children: props.label
|
|
6990
7057
|
}), props.help !== void 0 ? jsx("button", {
|
|
6991
7058
|
type: "button",
|
|
6992
|
-
className: css$
|
|
7059
|
+
className: css$26.helpButton,
|
|
6993
7060
|
"aria-label": props.help.label,
|
|
6994
7061
|
"aria-expanded": helpOpen,
|
|
6995
7062
|
"aria-controls": helpId,
|
|
@@ -6999,13 +7066,13 @@ function SettingsValueField(props) {
|
|
|
6999
7066
|
children: jsx(IconInfoOutlineRegular, { size: 12 })
|
|
7000
7067
|
}) : null]
|
|
7001
7068
|
}), props.overridden ? jsxs("span", {
|
|
7002
|
-
className: css$
|
|
7069
|
+
className: css$26.badges,
|
|
7003
7070
|
children: [jsx(Tag, {
|
|
7004
7071
|
tone: "neutral",
|
|
7005
7072
|
children: props.overriddenLabel
|
|
7006
7073
|
}), jsx("button", {
|
|
7007
7074
|
type: "button",
|
|
7008
|
-
className: css$
|
|
7075
|
+
className: css$26.reset,
|
|
7009
7076
|
disabled: props.disabled,
|
|
7010
7077
|
onClick: props.onReset,
|
|
7011
7078
|
children: props.resetLabel
|
|
@@ -7014,7 +7081,7 @@ function SettingsValueField(props) {
|
|
|
7014
7081
|
}),
|
|
7015
7082
|
jsx("input", {
|
|
7016
7083
|
id: props.id,
|
|
7017
|
-
className: css$
|
|
7084
|
+
className: css$26.input,
|
|
7018
7085
|
type: "text",
|
|
7019
7086
|
...props.numeric === true ? { inputMode: "numeric" } : {},
|
|
7020
7087
|
...props.invalid ? { "aria-invalid": true } : {},
|
|
@@ -7028,12 +7095,12 @@ function SettingsValueField(props) {
|
|
|
7028
7095
|
}),
|
|
7029
7096
|
hasMessage ? jsx("p", {
|
|
7030
7097
|
id: messageId,
|
|
7031
|
-
className: props.invalid ? css$
|
|
7098
|
+
className: props.invalid ? css$26.invalid : css$26.hint,
|
|
7032
7099
|
children: props.invalid ? props.invalidLabel : props.hint
|
|
7033
7100
|
}) : null,
|
|
7034
7101
|
props.help !== void 0 && helpOpen ? jsx("div", {
|
|
7035
7102
|
id: helpId,
|
|
7036
|
-
className: css$
|
|
7103
|
+
className: css$26.help,
|
|
7037
7104
|
role: "region",
|
|
7038
7105
|
"aria-label": props.help.label,
|
|
7039
7106
|
children: props.help.content
|
|
@@ -7051,16 +7118,16 @@ function SettingsValueField(props) {
|
|
|
7051
7118
|
*/
|
|
7052
7119
|
function SettingsSecretField(props) {
|
|
7053
7120
|
return jsxs("div", {
|
|
7054
|
-
className: css$
|
|
7121
|
+
className: css$26.field,
|
|
7055
7122
|
children: [
|
|
7056
7123
|
jsxs("div", {
|
|
7057
|
-
className: css$
|
|
7124
|
+
className: css$26.head,
|
|
7058
7125
|
children: [jsx("label", {
|
|
7059
|
-
className: css$
|
|
7126
|
+
className: css$26.label,
|
|
7060
7127
|
htmlFor: props.id,
|
|
7061
7128
|
children: props.label
|
|
7062
7129
|
}), jsx("span", {
|
|
7063
|
-
className: css$
|
|
7130
|
+
className: css$26.badges,
|
|
7064
7131
|
children: jsx(Tag, {
|
|
7065
7132
|
tone: props.configured ? "neutral" : "quiet",
|
|
7066
7133
|
children: props.stateLabel
|
|
@@ -7069,7 +7136,7 @@ function SettingsSecretField(props) {
|
|
|
7069
7136
|
}),
|
|
7070
7137
|
jsx("input", {
|
|
7071
7138
|
id: props.id,
|
|
7072
|
-
className: css$
|
|
7139
|
+
className: css$26.input,
|
|
7073
7140
|
type: "password",
|
|
7074
7141
|
autoComplete: "new-password",
|
|
7075
7142
|
value: props.text,
|
|
@@ -7079,7 +7146,7 @@ function SettingsSecretField(props) {
|
|
|
7079
7146
|
}
|
|
7080
7147
|
}),
|
|
7081
7148
|
jsx("p", {
|
|
7082
|
-
className: css$
|
|
7149
|
+
className: css$26.hint,
|
|
7083
7150
|
children: props.hint
|
|
7084
7151
|
})
|
|
7085
7152
|
]
|
|
@@ -8145,7 +8212,7 @@ function JsonCopyAction({ store, target, persistent, labels, onCopy, onClose })
|
|
|
8145
8212
|
const object = typeof target.value === "object" && target.value !== null;
|
|
8146
8213
|
const copyTitle = state === "copied" ? labels.copied : state === "failed" ? labels.copyFailed : object ? labels.copyPrettyJson : labels.copyValue;
|
|
8147
8214
|
return jsx("span", {
|
|
8148
|
-
className: css$
|
|
8215
|
+
className: css$27.copySlot,
|
|
8149
8216
|
children: (persistent || snapshot !== void 0) && jsx(Menu, {
|
|
8150
8217
|
open: snapshot?.menuOpen === true,
|
|
8151
8218
|
compact: true,
|
|
@@ -8154,7 +8221,7 @@ function JsonCopyAction({ store, target, persistent, labels, onCopy, onClose })
|
|
|
8154
8221
|
anchor: jsx("button", {
|
|
8155
8222
|
ref: buttonRef,
|
|
8156
8223
|
type: "button",
|
|
8157
|
-
className: css$
|
|
8224
|
+
className: css$27.actionButton,
|
|
8158
8225
|
"data-json-copy-button": true,
|
|
8159
8226
|
"data-state": state,
|
|
8160
8227
|
"aria-label": copyTitle,
|
|
@@ -8193,35 +8260,35 @@ function bracketOf(value) {
|
|
|
8193
8260
|
}
|
|
8194
8261
|
function previewPrimitive(value) {
|
|
8195
8262
|
if (value === null) return jsx("span", {
|
|
8196
|
-
className: css$
|
|
8263
|
+
className: css$27.keywordValue,
|
|
8197
8264
|
children: "null"
|
|
8198
8265
|
});
|
|
8199
8266
|
if (typeof value === "string") return jsx("span", {
|
|
8200
|
-
className: css$
|
|
8267
|
+
className: css$27.stringValue,
|
|
8201
8268
|
children: JSON.stringify(value)
|
|
8202
8269
|
});
|
|
8203
8270
|
if (typeof value === "number") return jsx("span", {
|
|
8204
|
-
className: css$
|
|
8271
|
+
className: css$27.numberValue,
|
|
8205
8272
|
children: String(value)
|
|
8206
8273
|
});
|
|
8207
8274
|
if (typeof value === "boolean") return jsx("span", {
|
|
8208
|
-
className: css$
|
|
8275
|
+
className: css$27.keywordValue,
|
|
8209
8276
|
children: String(value)
|
|
8210
8277
|
});
|
|
8211
8278
|
if (typeof value === "bigint") return jsx("span", {
|
|
8212
|
-
className: css$
|
|
8279
|
+
className: css$27.otherValue,
|
|
8213
8280
|
children: value.toString()
|
|
8214
8281
|
});
|
|
8215
8282
|
if (typeof value === "undefined") return jsx("span", {
|
|
8216
|
-
className: css$
|
|
8283
|
+
className: css$27.otherValue,
|
|
8217
8284
|
children: "undefined"
|
|
8218
8285
|
});
|
|
8219
8286
|
if (typeof value === "symbol") return jsx("span", {
|
|
8220
|
-
className: css$
|
|
8287
|
+
className: css$27.otherValue,
|
|
8221
8288
|
children: value.description ?? "Symbol"
|
|
8222
8289
|
});
|
|
8223
8290
|
if (typeof value === "function") return jsx("span", {
|
|
8224
|
-
className: css$
|
|
8291
|
+
className: css$27.otherValue,
|
|
8225
8292
|
children: value.name || "Function"
|
|
8226
8293
|
});
|
|
8227
8294
|
return null;
|
|
@@ -8235,71 +8302,71 @@ function previewValue(value, depth) {
|
|
|
8235
8302
|
const [open, close] = bracketOf(value);
|
|
8236
8303
|
return jsxs(Fragment, { children: [
|
|
8237
8304
|
jsx("span", {
|
|
8238
|
-
className: css$
|
|
8305
|
+
className: css$27.punctuation,
|
|
8239
8306
|
children: open
|
|
8240
8307
|
}),
|
|
8241
8308
|
depth >= PREVIEW_DEPTH_LIMIT ? jsx("span", {
|
|
8242
|
-
className: css$
|
|
8309
|
+
className: css$27.previewEllipsis,
|
|
8243
8310
|
children: "…"
|
|
8244
8311
|
}) : visible.map(([key, item], index) => jsxs("span", { children: [
|
|
8245
8312
|
index > 0 && jsx("span", {
|
|
8246
|
-
className: css$
|
|
8313
|
+
className: css$27.punctuation,
|
|
8247
8314
|
children: ", "
|
|
8248
8315
|
}),
|
|
8249
8316
|
!array && jsxs(Fragment, { children: [jsx("span", {
|
|
8250
|
-
className: css$
|
|
8317
|
+
className: css$27.previewProperty,
|
|
8251
8318
|
children: key
|
|
8252
8319
|
}), jsx("span", {
|
|
8253
|
-
className: css$
|
|
8320
|
+
className: css$27.punctuation,
|
|
8254
8321
|
children: ": "
|
|
8255
8322
|
})] }),
|
|
8256
8323
|
previewValue(item, depth + 1)
|
|
8257
8324
|
] }, key)),
|
|
8258
8325
|
depth < PREVIEW_DEPTH_LIMIT && entries.length > limit && jsx("span", {
|
|
8259
|
-
className: css$
|
|
8326
|
+
className: css$27.previewEllipsis,
|
|
8260
8327
|
children: ", …"
|
|
8261
8328
|
}),
|
|
8262
8329
|
jsx("span", {
|
|
8263
|
-
className: css$
|
|
8330
|
+
className: css$27.punctuation,
|
|
8264
8331
|
children: close
|
|
8265
8332
|
})
|
|
8266
8333
|
] });
|
|
8267
8334
|
}
|
|
8268
8335
|
function primitiveValue(value) {
|
|
8269
8336
|
if (value === null) return jsx("span", {
|
|
8270
|
-
className: css$
|
|
8337
|
+
className: css$27.keywordValue,
|
|
8271
8338
|
children: "null"
|
|
8272
8339
|
});
|
|
8273
8340
|
if (typeof value === "string") return jsx("span", {
|
|
8274
|
-
className: css$
|
|
8341
|
+
className: css$27.stringValue,
|
|
8275
8342
|
children: JSON.stringify(value)
|
|
8276
8343
|
});
|
|
8277
8344
|
if (typeof value === "boolean") return jsx("span", {
|
|
8278
|
-
className: css$
|
|
8345
|
+
className: css$27.keywordValue,
|
|
8279
8346
|
children: String(value)
|
|
8280
8347
|
});
|
|
8281
8348
|
if (typeof value === "number") return jsx("span", {
|
|
8282
|
-
className: css$
|
|
8349
|
+
className: css$27.numberValue,
|
|
8283
8350
|
children: String(value)
|
|
8284
8351
|
});
|
|
8285
8352
|
if (typeof value === "bigint") return jsx("span", {
|
|
8286
|
-
className: css$
|
|
8353
|
+
className: css$27.numberValue,
|
|
8287
8354
|
children: `${value.toString()}n`
|
|
8288
8355
|
});
|
|
8289
8356
|
if (value instanceof Date) return jsx("span", {
|
|
8290
|
-
className: css$
|
|
8357
|
+
className: css$27.otherValue,
|
|
8291
8358
|
children: value.toISOString()
|
|
8292
8359
|
});
|
|
8293
8360
|
if (typeof value === "function") return jsxs("span", {
|
|
8294
|
-
className: css$
|
|
8361
|
+
className: css$27.otherValue,
|
|
8295
8362
|
children: ["function() ", "{ }"]
|
|
8296
8363
|
});
|
|
8297
8364
|
if (typeof value === "undefined") return jsx("span", {
|
|
8298
|
-
className: css$
|
|
8365
|
+
className: css$27.otherValue,
|
|
8299
8366
|
children: "undefined"
|
|
8300
8367
|
});
|
|
8301
8368
|
return jsx("span", {
|
|
8302
|
-
className: css$
|
|
8369
|
+
className: css$27.otherValue,
|
|
8303
8370
|
children: value.toString()
|
|
8304
8371
|
});
|
|
8305
8372
|
}
|
|
@@ -8327,7 +8394,7 @@ function moveFocus(button, direction) {
|
|
|
8327
8394
|
function NodeField({ field, expandable, onToggle }) {
|
|
8328
8395
|
if (field === void 0) return null;
|
|
8329
8396
|
return jsxs("span", {
|
|
8330
|
-
className: clsx(css$
|
|
8397
|
+
className: clsx(css$27.label, expandable && css$27.clickableLabel),
|
|
8331
8398
|
onClick: expandable ? onToggle : void 0,
|
|
8332
8399
|
children: [fieldText(field), ":"]
|
|
8333
8400
|
});
|
|
@@ -8364,7 +8431,7 @@ function JsonString({ collapsedStringLines, stringWrapping, field, labels, lastE
|
|
|
8364
8431
|
if (!expanded) return;
|
|
8365
8432
|
const raw = rawRef.current;
|
|
8366
8433
|
const clips = [];
|
|
8367
|
-
const tree = raw.closest(`.${css$
|
|
8434
|
+
const tree = raw.closest(`.${css$27.root}`);
|
|
8368
8435
|
for (let parent = tree.parentElement; parent !== null; parent = parent.parentElement) if (/auto|scroll|hidden|clip/.test(getComputedStyle(parent).overflowY)) clips.push(parent);
|
|
8369
8436
|
const measure = () => {
|
|
8370
8437
|
let top = 0;
|
|
@@ -8393,33 +8460,33 @@ function JsonString({ collapsedStringLines, stringWrapping, field, labels, lastE
|
|
|
8393
8460
|
if (expanded) {
|
|
8394
8461
|
const fieldId = `${contentsId}-field`;
|
|
8395
8462
|
return jsxs("div", {
|
|
8396
|
-
className: css$
|
|
8463
|
+
className: css$27.stringField,
|
|
8397
8464
|
"data-expanded": true,
|
|
8398
8465
|
children: [
|
|
8399
8466
|
field !== void 0 && jsxs("span", {
|
|
8400
8467
|
id: fieldId,
|
|
8401
|
-
className: css$
|
|
8468
|
+
className: css$27.label,
|
|
8402
8469
|
children: [fieldText(field), ":"]
|
|
8403
8470
|
}),
|
|
8404
8471
|
jsx("pre", {
|
|
8405
8472
|
ref: rawRef,
|
|
8406
8473
|
id: contentsId,
|
|
8407
|
-
className: css$
|
|
8474
|
+
className: css$27.stringRaw,
|
|
8408
8475
|
"data-wrap": wrapped,
|
|
8409
8476
|
tabIndex: 0,
|
|
8410
8477
|
"aria-labelledby": field === void 0 ? void 0 : fieldId,
|
|
8411
8478
|
children: value
|
|
8412
8479
|
}),
|
|
8413
8480
|
!lastElement && jsx("span", {
|
|
8414
|
-
className: css$
|
|
8481
|
+
className: css$27.punctuation,
|
|
8415
8482
|
children: ","
|
|
8416
8483
|
}),
|
|
8417
8484
|
jsxs("div", {
|
|
8418
|
-
className: css$
|
|
8485
|
+
className: css$27.stringActions,
|
|
8419
8486
|
children: [
|
|
8420
8487
|
stringWrapping !== void 0 && jsx("button", {
|
|
8421
8488
|
type: "button",
|
|
8422
|
-
className: css$
|
|
8489
|
+
className: css$27.actionButton,
|
|
8423
8490
|
"aria-label": stringWrapping.label,
|
|
8424
8491
|
title: stringWrapping.label,
|
|
8425
8492
|
"aria-pressed": wrapped,
|
|
@@ -8433,7 +8500,7 @@ function JsonString({ collapsedStringLines, stringWrapping, field, labels, lastE
|
|
|
8433
8500
|
}),
|
|
8434
8501
|
jsx("button", {
|
|
8435
8502
|
type: "button",
|
|
8436
|
-
className: css$
|
|
8503
|
+
className: css$27.actionButton,
|
|
8437
8504
|
"aria-label": labels.collapseNode,
|
|
8438
8505
|
title: labels.collapseNode,
|
|
8439
8506
|
"aria-expanded": true,
|
|
@@ -8458,18 +8525,18 @@ function JsonString({ collapsedStringLines, stringWrapping, field, labels, lastE
|
|
|
8458
8525
|
});
|
|
8459
8526
|
}
|
|
8460
8527
|
return jsxs(Fragment, { children: [renderCopy?.(), jsx("span", {
|
|
8461
|
-
className: css$
|
|
8528
|
+
className: css$27.stringField,
|
|
8462
8529
|
"data-expanded": expanded,
|
|
8463
8530
|
children: jsxs("span", {
|
|
8464
8531
|
ref: contentRef,
|
|
8465
8532
|
id: contentsId,
|
|
8466
|
-
className: css$
|
|
8533
|
+
className: css$27.stringText,
|
|
8467
8534
|
children: [
|
|
8468
8535
|
truncated && jsx("span", {
|
|
8469
|
-
className: css$
|
|
8536
|
+
className: css$27.stringToggleSlot,
|
|
8470
8537
|
children: jsxs("button", {
|
|
8471
8538
|
type: "button",
|
|
8472
|
-
className: css$
|
|
8539
|
+
className: css$27.stringToggle,
|
|
8473
8540
|
"aria-label": labels.expandNode,
|
|
8474
8541
|
"aria-expanded": false,
|
|
8475
8542
|
"aria-controls": contentsId,
|
|
@@ -8484,12 +8551,12 @@ function JsonString({ collapsedStringLines, stringWrapping, field, labels, lastE
|
|
|
8484
8551
|
})
|
|
8485
8552
|
}),
|
|
8486
8553
|
field !== void 0 && jsxs("span", {
|
|
8487
|
-
className: css$
|
|
8554
|
+
className: css$27.label,
|
|
8488
8555
|
children: [fieldText(field), ":"]
|
|
8489
8556
|
}),
|
|
8490
8557
|
primitiveValue(value),
|
|
8491
8558
|
!lastElement && jsx("span", {
|
|
8492
|
-
className: css$
|
|
8559
|
+
className: css$27.punctuation,
|
|
8493
8560
|
children: ","
|
|
8494
8561
|
})
|
|
8495
8562
|
]
|
|
@@ -8520,7 +8587,7 @@ function JsonTreeNode({ collapsedStringLines, stringWrapping, field, initialExpa
|
|
|
8520
8587
|
}
|
|
8521
8588
|
};
|
|
8522
8589
|
const row = (children, ariaExpanded) => jsxs("div", {
|
|
8523
|
-
className: css$
|
|
8590
|
+
className: css$27.row,
|
|
8524
8591
|
role: "treeitem",
|
|
8525
8592
|
"aria-expanded": ariaExpanded,
|
|
8526
8593
|
onMouseOver: (event) => {
|
|
@@ -8555,7 +8622,7 @@ function JsonTreeNode({ collapsedStringLines, stringWrapping, field, initialExpa
|
|
|
8555
8622
|
}),
|
|
8556
8623
|
primitiveValue(value),
|
|
8557
8624
|
!lastElement && jsx("span", {
|
|
8558
|
-
className: css$
|
|
8625
|
+
className: css$27.punctuation,
|
|
8559
8626
|
children: ","
|
|
8560
8627
|
})
|
|
8561
8628
|
] }));
|
|
@@ -8567,22 +8634,22 @@ function JsonTreeNode({ collapsedStringLines, stringWrapping, field, initialExpa
|
|
|
8567
8634
|
onToggle: toggle
|
|
8568
8635
|
}),
|
|
8569
8636
|
jsx("span", {
|
|
8570
|
-
className: css$
|
|
8637
|
+
className: css$27.punctuation,
|
|
8571
8638
|
children: open
|
|
8572
8639
|
}),
|
|
8573
8640
|
jsx("span", {
|
|
8574
|
-
className: css$
|
|
8641
|
+
className: css$27.punctuation,
|
|
8575
8642
|
children: close
|
|
8576
8643
|
}),
|
|
8577
8644
|
!lastElement && jsx("span", {
|
|
8578
|
-
className: css$
|
|
8645
|
+
className: css$27.punctuation,
|
|
8579
8646
|
children: ","
|
|
8580
8647
|
})
|
|
8581
8648
|
] }));
|
|
8582
8649
|
return row(jsxs(Fragment, { children: [
|
|
8583
8650
|
jsx("span", {
|
|
8584
8651
|
ref: expanderRef,
|
|
8585
|
-
className: clsx(css$
|
|
8652
|
+
className: clsx(css$27.expander, expanded ? css$27.collapseIcon : css$27.expandIcon),
|
|
8586
8653
|
"data-json-expander": true,
|
|
8587
8654
|
role: "button",
|
|
8588
8655
|
"aria-label": expanded ? labels.collapseNode : labels.expandNode,
|
|
@@ -8596,7 +8663,7 @@ function JsonTreeNode({ collapsedStringLines, stringWrapping, field, initialExpa
|
|
|
8596
8663
|
onKeyDown: onExpanderKeyDown
|
|
8597
8664
|
}),
|
|
8598
8665
|
jsxs("span", {
|
|
8599
|
-
className: css$
|
|
8666
|
+
className: css$27.summary,
|
|
8600
8667
|
children: [
|
|
8601
8668
|
jsx(NodeField, {
|
|
8602
8669
|
field,
|
|
@@ -8604,11 +8671,11 @@ function JsonTreeNode({ collapsedStringLines, stringWrapping, field, initialExpa
|
|
|
8604
8671
|
onToggle: toggle
|
|
8605
8672
|
}),
|
|
8606
8673
|
jsx("span", {
|
|
8607
|
-
className: css$
|
|
8674
|
+
className: css$27.preview,
|
|
8608
8675
|
children: previewValue(value, 0)
|
|
8609
8676
|
}),
|
|
8610
8677
|
!lastElement && jsx("span", {
|
|
8611
|
-
className: css$
|
|
8678
|
+
className: css$27.punctuation,
|
|
8612
8679
|
children: ","
|
|
8613
8680
|
})
|
|
8614
8681
|
]
|
|
@@ -8616,7 +8683,7 @@ function JsonTreeNode({ collapsedStringLines, stringWrapping, field, initialExpa
|
|
|
8616
8683
|
expanded && jsx("ul", {
|
|
8617
8684
|
id: contentsId,
|
|
8618
8685
|
role: "group",
|
|
8619
|
-
className: css$
|
|
8686
|
+
className: css$27.children,
|
|
8620
8687
|
children: entries.map(([key, item], index) => jsx(JsonTreeNode, {
|
|
8621
8688
|
collapsedStringLines,
|
|
8622
8689
|
stringWrapping,
|
|
@@ -8748,17 +8815,17 @@ function JsonTree({ data, label, className, collapsedStringLines = 3, stringWrap
|
|
|
8748
8815
|
onClose: clearCopyTarget
|
|
8749
8816
|
}) : void 0;
|
|
8750
8817
|
return jsx("div", {
|
|
8751
|
-
className: clsx(css$
|
|
8818
|
+
className: clsx(css$27.root, className),
|
|
8752
8819
|
style: { "--json-tree-collapsed-lines": collapsedStringLines },
|
|
8753
8820
|
onMouseOver: handleRootMouseOver,
|
|
8754
8821
|
onMouseLeave: () => {
|
|
8755
8822
|
if (!copyStore.get()?.menuOpen) clearCopyTarget();
|
|
8756
8823
|
},
|
|
8757
8824
|
children: expandTopLevel ? jsxs("div", {
|
|
8758
|
-
className: css$
|
|
8825
|
+
className: css$27.expandedTopLevel,
|
|
8759
8826
|
children: [
|
|
8760
8827
|
jsxs("div", {
|
|
8761
|
-
className: clsx(css$
|
|
8828
|
+
className: clsx(css$27.row, css$27.topLevelBracket),
|
|
8762
8829
|
"data-json-root-row": true,
|
|
8763
8830
|
onMouseOver: (event) => {
|
|
8764
8831
|
event.stopPropagation();
|
|
@@ -8771,13 +8838,13 @@ function JsonTree({ data, label, className, collapsedStringLines = 3, stringWrap
|
|
|
8771
8838
|
path: [],
|
|
8772
8839
|
value: data
|
|
8773
8840
|
}), jsx("span", {
|
|
8774
|
-
className: css$
|
|
8841
|
+
className: css$27.punctuation,
|
|
8775
8842
|
children: rootOpen
|
|
8776
8843
|
})]
|
|
8777
8844
|
}),
|
|
8778
8845
|
jsx("div", {
|
|
8779
8846
|
"aria-label": label,
|
|
8780
|
-
className: clsx(css$
|
|
8847
|
+
className: clsx(css$27.container, css$27.expandedTopLevelContainer),
|
|
8781
8848
|
role: "tree",
|
|
8782
8849
|
children: rootEntries.map(([key, value], index) => jsx(JsonTreeNode, {
|
|
8783
8850
|
collapsedStringLines,
|
|
@@ -8795,16 +8862,16 @@ function JsonTree({ data, label, className, collapsedStringLines = 3, stringWrap
|
|
|
8795
8862
|
}, key))
|
|
8796
8863
|
}),
|
|
8797
8864
|
jsx("div", {
|
|
8798
|
-
className: clsx(css$
|
|
8865
|
+
className: clsx(css$27.row, css$27.topLevelBracket),
|
|
8799
8866
|
children: jsx("span", {
|
|
8800
|
-
className: css$
|
|
8867
|
+
className: css$27.punctuation,
|
|
8801
8868
|
children: rootClose
|
|
8802
8869
|
})
|
|
8803
8870
|
})
|
|
8804
8871
|
]
|
|
8805
8872
|
}) : jsx("div", {
|
|
8806
8873
|
"aria-label": label,
|
|
8807
|
-
className: css$
|
|
8874
|
+
className: css$27.container,
|
|
8808
8875
|
role: "tree",
|
|
8809
8876
|
children: jsx(JsonTreeNode, {
|
|
8810
8877
|
collapsedStringLines,
|
|
@@ -9367,67 +9434,67 @@ function TerminalBlock({ command, cwd, home, output, exitCode, signal, running =
|
|
|
9367
9434
|
const { hidden, capped, headLines, tailLines } = headTailCap(lines.length, maxLines, expanded);
|
|
9368
9435
|
const body = !running || !empty;
|
|
9369
9436
|
return jsxs("div", {
|
|
9370
|
-
className: clsx(css$
|
|
9437
|
+
className: clsx(css$28.block, className),
|
|
9371
9438
|
"data-terminal": "",
|
|
9372
9439
|
"data-running": running ? "" : void 0,
|
|
9373
9440
|
"data-body": body ? "" : void 0,
|
|
9374
9441
|
children: [jsxs("div", {
|
|
9375
|
-
className: css$
|
|
9442
|
+
className: css$28.header,
|
|
9376
9443
|
children: [
|
|
9377
9444
|
jsxs("div", {
|
|
9378
|
-
className: css$
|
|
9445
|
+
className: css$28.prompt,
|
|
9379
9446
|
children: [runStateDot && jsx("span", {
|
|
9380
|
-
className: css$
|
|
9447
|
+
className: css$28.runStateLabel,
|
|
9381
9448
|
children: state.label
|
|
9382
9449
|
}), commandLines.map((line, index) => jsxs("div", {
|
|
9383
|
-
className: css$
|
|
9450
|
+
className: css$28.promptLine,
|
|
9384
9451
|
children: [
|
|
9385
9452
|
index === 0 && runStateDot && jsx(StateDot, {
|
|
9386
9453
|
state: state.state,
|
|
9387
|
-
className: css$
|
|
9454
|
+
className: css$28.runState
|
|
9388
9455
|
}),
|
|
9389
9456
|
jsx("span", {
|
|
9390
|
-
className: css$
|
|
9457
|
+
className: css$28.cwd,
|
|
9391
9458
|
children: index > 0 || cwd === void 0 ? "$" : promptLabel(cwd, home)
|
|
9392
9459
|
}),
|
|
9393
9460
|
jsx("span", {
|
|
9394
|
-
className: css$
|
|
9461
|
+
className: css$28.command,
|
|
9395
9462
|
children: line
|
|
9396
9463
|
})
|
|
9397
9464
|
]
|
|
9398
9465
|
}, index))]
|
|
9399
9466
|
}),
|
|
9400
9467
|
status !== void 0 && jsx(Pill, {
|
|
9401
|
-
className: css$
|
|
9468
|
+
className: css$28.status,
|
|
9402
9469
|
children: status
|
|
9403
9470
|
}),
|
|
9404
9471
|
(copyText !== void 0 || !running && !empty) && jsx("button", {
|
|
9405
9472
|
type: "button",
|
|
9406
|
-
className: css$
|
|
9473
|
+
className: css$28.copyButton,
|
|
9407
9474
|
onClick: onCopy,
|
|
9408
9475
|
children: copied ? copy.copied : copy.copy
|
|
9409
9476
|
})
|
|
9410
9477
|
]
|
|
9411
9478
|
}), body && (empty ? jsx("div", {
|
|
9412
|
-
className: css$
|
|
9479
|
+
className: css$28.empty,
|
|
9413
9480
|
children: copy.noOutput
|
|
9414
9481
|
}) : jsxs("div", {
|
|
9415
|
-
className: css$
|
|
9482
|
+
className: css$28.output,
|
|
9416
9483
|
children: [
|
|
9417
9484
|
(capped ? lines.slice(0, headLines) : lines).map((line, index) => jsx("div", {
|
|
9418
|
-
className: css$
|
|
9485
|
+
className: css$28.line,
|
|
9419
9486
|
children: renderLine$1(line)
|
|
9420
9487
|
}, index)),
|
|
9421
9488
|
hidden > 0 && jsx("button", {
|
|
9422
9489
|
type: "button",
|
|
9423
|
-
className: css$
|
|
9490
|
+
className: css$28.expand,
|
|
9424
9491
|
"aria-expanded": expanded,
|
|
9425
9492
|
"aria-label": expanded ? copy.collapseAria : copy.expandAria(hidden),
|
|
9426
9493
|
onClick: onToggle,
|
|
9427
9494
|
children: expanded ? copy.collapse : copy.expand(hidden)
|
|
9428
9495
|
}),
|
|
9429
9496
|
capped && lines.slice(lines.length - tailLines).map((line, index) => jsx("div", {
|
|
9430
|
-
className: css$
|
|
9497
|
+
className: css$28.line,
|
|
9431
9498
|
children: renderLine$1(line)
|
|
9432
9499
|
}, index))
|
|
9433
9500
|
]
|
|
@@ -9630,13 +9697,13 @@ function ReadBlock({ label, labels, lines, totalLines, lang, maxLines = 16, clas
|
|
|
9630
9697
|
const tailLines = maxLines - headLines;
|
|
9631
9698
|
const windowed = lines.length < totalLines;
|
|
9632
9699
|
const rows = (slice) => slice.map(([line, spans]) => jsxs("div", {
|
|
9633
|
-
className: css$
|
|
9700
|
+
className: css$29.line,
|
|
9634
9701
|
children: [jsx("span", {
|
|
9635
|
-
className: css$
|
|
9702
|
+
className: css$29.gutter,
|
|
9636
9703
|
"aria-hidden": true,
|
|
9637
9704
|
children: line.number
|
|
9638
9705
|
}), jsx("span", {
|
|
9639
|
-
className: css$
|
|
9706
|
+
className: css$29.content,
|
|
9640
9707
|
children: spans === void 0 ? line.text : renderSpans(spans)
|
|
9641
9708
|
})]
|
|
9642
9709
|
}, line.number));
|
|
@@ -9644,7 +9711,7 @@ function ReadBlock({ label, labels, lines, totalLines, lang, maxLines = 16, clas
|
|
|
9644
9711
|
const paired = lines.map((line, index) => [line, highlighted?.[index]]);
|
|
9645
9712
|
return jsxs("div", {
|
|
9646
9713
|
ref: rootRef,
|
|
9647
|
-
className: clsx(cardCss.card, css$
|
|
9714
|
+
className: clsx(cardCss.card, css$29.block, className),
|
|
9648
9715
|
"data-read": "",
|
|
9649
9716
|
"data-code-wrap": wrapped,
|
|
9650
9717
|
style: gutterStyle,
|
|
@@ -9666,7 +9733,7 @@ function ReadBlock({ label, labels, lines, totalLines, lang, maxLines = 16, clas
|
|
|
9666
9733
|
children: [
|
|
9667
9734
|
rows(capped ? paired.slice(0, headLines) : paired),
|
|
9668
9735
|
hidden > 0 && jsx(FoldToggle, {
|
|
9669
|
-
className: css$
|
|
9736
|
+
className: css$29.expand,
|
|
9670
9737
|
expanded,
|
|
9671
9738
|
hidden,
|
|
9672
9739
|
labels,
|
|
@@ -9688,11 +9755,11 @@ function assertNever(value) {
|
|
|
9688
9755
|
}
|
|
9689
9756
|
/** The dim class per row kind (path/gap chrome vs the diff's own +/- colors). */
|
|
9690
9757
|
const ROW_CLASS = {
|
|
9691
|
-
path: css$
|
|
9692
|
-
del: css$
|
|
9693
|
-
add: css$
|
|
9694
|
-
context: css$
|
|
9695
|
-
gap: css$
|
|
9758
|
+
path: css$30.path,
|
|
9759
|
+
del: css$30.del,
|
|
9760
|
+
add: css$30.add,
|
|
9761
|
+
context: css$30.context,
|
|
9762
|
+
gap: css$30.gap
|
|
9696
9763
|
};
|
|
9697
9764
|
/** Bound synchronous edit-graph search; one replacement consumes two edits. */
|
|
9698
9765
|
const MAX_DIFF_EDIT_LENGTH = 256;
|
|
@@ -9826,7 +9893,7 @@ function DiffBlock({ diffs, labels, maxLines = 16, className }) {
|
|
|
9826
9893
|
const head = capped ? rows.slice(0, headLines) : rows;
|
|
9827
9894
|
const tail = capped ? rows.slice(rows.length - tailLines) : [];
|
|
9828
9895
|
return jsxs("div", {
|
|
9829
|
-
className: clsx(cardCss.card, css$
|
|
9896
|
+
className: clsx(cardCss.card, css$30.block, className),
|
|
9830
9897
|
"data-diff": "",
|
|
9831
9898
|
"data-code-wrap": wrapped,
|
|
9832
9899
|
children: [jsx(CodeToolbar, {
|
|
@@ -9841,21 +9908,21 @@ function DiffBlock({ diffs, labels, maxLines = 16, className }) {
|
|
|
9841
9908
|
setWrapped((value) => !value);
|
|
9842
9909
|
}
|
|
9843
9910
|
}), jsxs("div", {
|
|
9844
|
-
className: css$
|
|
9911
|
+
className: css$30.body,
|
|
9845
9912
|
children: [
|
|
9846
9913
|
head.map((row, index) => jsx("div", {
|
|
9847
|
-
className: clsx(css$
|
|
9914
|
+
className: clsx(css$30.line, ROW_CLASS[row.kind]),
|
|
9848
9915
|
children: row.text
|
|
9849
9916
|
}, index)),
|
|
9850
9917
|
hidden > 0 && jsx(FoldToggle, {
|
|
9851
|
-
className: css$
|
|
9918
|
+
className: css$30.expand,
|
|
9852
9919
|
expanded,
|
|
9853
9920
|
hidden,
|
|
9854
9921
|
labels,
|
|
9855
9922
|
onToggle
|
|
9856
9923
|
}),
|
|
9857
9924
|
tail.map((row, index) => jsx("div", {
|
|
9858
|
-
className: clsx(css$
|
|
9925
|
+
className: clsx(css$30.line, ROW_CLASS[row.kind]),
|
|
9859
9926
|
children: row.text
|
|
9860
9927
|
}, index))
|
|
9861
9928
|
]
|
|
@@ -9985,56 +10052,56 @@ function SearchBlock(props) {
|
|
|
9985
10052
|
const tail = tailHeader === void 0 ? naturalTail : naturalTail.slice(1);
|
|
9986
10053
|
const renderRow = (row) => {
|
|
9987
10054
|
if (row.type === "path") return jsx("div", {
|
|
9988
|
-
className: css$
|
|
10055
|
+
className: css$31.line,
|
|
9989
10056
|
children: row.path
|
|
9990
10057
|
});
|
|
9991
10058
|
if (row.type === "match") return jsxs("div", {
|
|
9992
|
-
className: css$
|
|
10059
|
+
className: css$31.line,
|
|
9993
10060
|
children: [jsxs("span", {
|
|
9994
|
-
className: css$
|
|
10061
|
+
className: css$31.lineNumber,
|
|
9995
10062
|
children: [row.lineNumber, ": "]
|
|
9996
10063
|
}), row.line]
|
|
9997
10064
|
});
|
|
9998
10065
|
return jsxs("button", {
|
|
9999
10066
|
type: "button",
|
|
10000
|
-
className: css$
|
|
10067
|
+
className: css$31.fileHeader,
|
|
10001
10068
|
"aria-expanded": !row.collapsed,
|
|
10002
10069
|
onClick: () => {
|
|
10003
10070
|
toggleFile(row.index);
|
|
10004
10071
|
},
|
|
10005
10072
|
children: [jsx("span", {
|
|
10006
|
-
className: css$
|
|
10073
|
+
className: css$31.filePath,
|
|
10007
10074
|
children: row.path
|
|
10008
10075
|
}), jsx("span", {
|
|
10009
|
-
className: css$
|
|
10076
|
+
className: css$31.fileCount,
|
|
10010
10077
|
children: row.count
|
|
10011
10078
|
})]
|
|
10012
10079
|
});
|
|
10013
10080
|
};
|
|
10014
10081
|
return jsxs("div", {
|
|
10015
|
-
className: clsx(css$
|
|
10082
|
+
className: clsx(css$31.block, className),
|
|
10016
10083
|
"data-search": props.kind,
|
|
10017
10084
|
children: [jsxs("div", {
|
|
10018
|
-
className: css$
|
|
10085
|
+
className: css$31.header,
|
|
10019
10086
|
children: [jsx("span", {
|
|
10020
|
-
className: css$
|
|
10087
|
+
className: css$31.summary,
|
|
10021
10088
|
children: summaryText(props, shown, truncated, total)
|
|
10022
10089
|
}), !empty && jsx("button", {
|
|
10023
10090
|
type: "button",
|
|
10024
|
-
className: css$
|
|
10091
|
+
className: css$31.copyButton,
|
|
10025
10092
|
onClick: onCopy,
|
|
10026
10093
|
children: copied ? props.labels.copied : props.labels.copy
|
|
10027
10094
|
})]
|
|
10028
10095
|
}), empty ? jsx("div", {
|
|
10029
|
-
className: css$
|
|
10096
|
+
className: css$31.empty,
|
|
10030
10097
|
children: props.labels.noResults
|
|
10031
10098
|
}) : jsxs("div", {
|
|
10032
|
-
className: css$
|
|
10099
|
+
className: css$31.body,
|
|
10033
10100
|
children: [
|
|
10034
10101
|
head.map((row) => jsx("div", { children: renderRow(row) }, rowKey(row))),
|
|
10035
10102
|
hidden > 0 && jsx("button", {
|
|
10036
10103
|
type: "button",
|
|
10037
|
-
className: css$
|
|
10104
|
+
className: css$31.expand,
|
|
10038
10105
|
"aria-expanded": expanded,
|
|
10039
10106
|
"aria-label": expanded ? props.labels.collapseAria : props.labels.expandAria(hidden),
|
|
10040
10107
|
onClick: onToggle,
|
|
@@ -10864,7 +10931,7 @@ function CodeBlock({ code, lang, streaming, className, contentRef, lineNumbers =
|
|
|
10864
10931
|
});
|
|
10865
10932
|
}, [copied, trimmed]);
|
|
10866
10933
|
const body = streamedBody !== void 0 ? streamedBody : html === void 0 ? jsx("pre", {
|
|
10867
|
-
className: css$
|
|
10934
|
+
className: css$32.plain,
|
|
10868
10935
|
children: jsx("code", { children: sourceLines === void 0 ? trimmed : sourceLines.map((line, index) => jsxs(Fragment$1, { children: [index > 0 && "\n", jsx("span", {
|
|
10869
10936
|
className: "line",
|
|
10870
10937
|
children: line
|
|
@@ -10872,12 +10939,12 @@ function CodeBlock({ code, lang, streaming, className, contentRef, lineNumbers =
|
|
|
10872
10939
|
}) : jsx("div", { dangerouslySetInnerHTML: { __html: html } });
|
|
10873
10940
|
return jsxs("div", {
|
|
10874
10941
|
ref: rootRef,
|
|
10875
|
-
className: clsx(css$
|
|
10942
|
+
className: clsx(css$32.block, "md-code-block", lineNumbers && css$32.numbered, toolbarLabels !== void 0 && css$32.card, className),
|
|
10876
10943
|
"data-line-numbers": lineNumbers || void 0,
|
|
10877
10944
|
"data-code-wrap": toolbarLabels === void 0 ? void 0 : wrapped,
|
|
10878
10945
|
style: sourceLines === void 0 ? void 0 : { "--dsl-code-block-line-number-width": `${Math.max(2, String(sourceLines.length).length)}ch` },
|
|
10879
10946
|
children: [showHeader && jsx("div", {
|
|
10880
|
-
className: css$
|
|
10947
|
+
className: css$32.bannerWrap,
|
|
10881
10948
|
children: toolbarLabels !== void 0 ? jsx(CodeToolbar, {
|
|
10882
10949
|
lang,
|
|
10883
10950
|
labels: toolbarLabels,
|
|
@@ -10890,16 +10957,16 @@ function CodeBlock({ code, lang, streaming, className, contentRef, lineNumbers =
|
|
|
10890
10957
|
setWrapped((value) => !value);
|
|
10891
10958
|
} : void 0
|
|
10892
10959
|
}) : jsxs("div", {
|
|
10893
|
-
className: css$
|
|
10960
|
+
className: css$32.banner,
|
|
10894
10961
|
"data-code-block-banner": true,
|
|
10895
10962
|
children: [jsx("div", {
|
|
10896
|
-
className: css$
|
|
10963
|
+
className: css$32.infostring,
|
|
10897
10964
|
children: lang ?? ""
|
|
10898
10965
|
}), jsx("div", {
|
|
10899
|
-
className: css$
|
|
10966
|
+
className: css$32.action,
|
|
10900
10967
|
children: jsx("button", {
|
|
10901
10968
|
type: "button",
|
|
10902
|
-
className: css$
|
|
10969
|
+
className: css$32.copyButton,
|
|
10903
10970
|
onClick: onCopy,
|
|
10904
10971
|
children: copied ? copiedLabel : copyLabel
|
|
10905
10972
|
})
|
|
@@ -10907,7 +10974,7 @@ function CodeBlock({ code, lang, streaming, className, contentRef, lineNumbers =
|
|
|
10907
10974
|
})
|
|
10908
10975
|
}), jsx("div", {
|
|
10909
10976
|
ref: contentRef,
|
|
10910
|
-
className: css$
|
|
10977
|
+
className: css$32.content,
|
|
10911
10978
|
"data-code-block-content": true,
|
|
10912
10979
|
children: body
|
|
10913
10980
|
})]
|
|
@@ -11097,25 +11164,25 @@ function ImageLightbox({ src, alt, labels, onClose }) {
|
|
|
11097
11164
|
};
|
|
11098
11165
|
}, [onClose]);
|
|
11099
11166
|
return createPortal(jsxs("div", {
|
|
11100
|
-
className: css$
|
|
11167
|
+
className: css$33.backdrop,
|
|
11101
11168
|
role: "dialog",
|
|
11102
11169
|
"aria-modal": "true",
|
|
11103
11170
|
"aria-label": labels.dialog,
|
|
11104
11171
|
children: [
|
|
11105
11172
|
jsx("div", {
|
|
11106
|
-
className: css$
|
|
11173
|
+
className: css$33.mask,
|
|
11107
11174
|
"aria-hidden": "true",
|
|
11108
11175
|
onMouseDown: onClose
|
|
11109
11176
|
}),
|
|
11110
11177
|
jsx("img", {
|
|
11111
|
-
className: css$
|
|
11178
|
+
className: css$33.image,
|
|
11112
11179
|
src,
|
|
11113
11180
|
alt
|
|
11114
11181
|
}),
|
|
11115
11182
|
jsx("button", {
|
|
11116
11183
|
ref: closeRef,
|
|
11117
11184
|
type: "button",
|
|
11118
|
-
className: css$
|
|
11185
|
+
className: css$33.close,
|
|
11119
11186
|
"aria-label": labels.close,
|
|
11120
11187
|
onClick: onClose,
|
|
11121
11188
|
children: jsx(IconCloseOutlineRegular, { size: 16 })
|
|
@@ -11142,14 +11209,14 @@ function ImagePreview({ src, alt, loadingLabel, failedLabel }) {
|
|
|
11142
11209
|
function Preview({ src, alt, loadingLabel, failedLabel }) {
|
|
11143
11210
|
const [state, setState] = useState("loading");
|
|
11144
11211
|
return jsxs("span", {
|
|
11145
|
-
className: css$
|
|
11212
|
+
className: css$34.frame,
|
|
11146
11213
|
children: [state !== "failed" && jsx("img", {
|
|
11147
11214
|
src,
|
|
11148
11215
|
alt,
|
|
11149
11216
|
loading: "lazy",
|
|
11150
11217
|
decoding: "async",
|
|
11151
11218
|
referrerPolicy: "no-referrer",
|
|
11152
|
-
className: css$
|
|
11219
|
+
className: css$34.image,
|
|
11153
11220
|
"data-ready": state === "ready" || void 0,
|
|
11154
11221
|
onLoad: () => {
|
|
11155
11222
|
setState("ready");
|
|
@@ -11158,7 +11225,7 @@ function Preview({ src, alt, loadingLabel, failedLabel }) {
|
|
|
11158
11225
|
setState("failed");
|
|
11159
11226
|
}
|
|
11160
11227
|
}), state !== "ready" && jsxs("span", {
|
|
11161
|
-
className: css$
|
|
11228
|
+
className: css$34.status,
|
|
11162
11229
|
role: "status",
|
|
11163
11230
|
children: [state === "loading" && jsx(IconLoadingOutlineRegular, { size: 16 }), jsx("span", { children: state === "loading" ? loadingLabel : failedLabel })]
|
|
11164
11231
|
})]
|
|
@@ -11897,7 +11964,7 @@ function SafeLink({ url, label, className }) {
|
|
|
11897
11964
|
children: [jsx(LinkIconMedium, {
|
|
11898
11965
|
kind: "url",
|
|
11899
11966
|
href,
|
|
11900
|
-
className: css$
|
|
11967
|
+
className: css$35.linkIcon
|
|
11901
11968
|
}), label]
|
|
11902
11969
|
});
|
|
11903
11970
|
}
|
|
@@ -11912,20 +11979,20 @@ function SafeLink({ url, label, className }) {
|
|
|
11912
11979
|
*/
|
|
11913
11980
|
function SourceItem({ source, ordinal }) {
|
|
11914
11981
|
return jsxs("li", {
|
|
11915
|
-
className: css$
|
|
11982
|
+
className: css$35.source,
|
|
11916
11983
|
value: ordinal,
|
|
11917
11984
|
children: [
|
|
11918
11985
|
jsx(SafeLink, {
|
|
11919
11986
|
url: source.url,
|
|
11920
11987
|
label: linkLabel(source.url, source.title),
|
|
11921
|
-
className: css$
|
|
11988
|
+
className: css$35.sourceLink
|
|
11922
11989
|
}),
|
|
11923
11990
|
source.snippet !== void 0 && source.snippet !== "" && jsx("div", {
|
|
11924
|
-
className: css$
|
|
11991
|
+
className: css$35.snippet,
|
|
11925
11992
|
children: source.snippet
|
|
11926
11993
|
}),
|
|
11927
11994
|
source.publishedAt !== void 0 && source.publishedAt !== "" && jsx("div", {
|
|
11928
|
-
className: css$
|
|
11995
|
+
className: css$35.published,
|
|
11929
11996
|
children: source.publishedAt
|
|
11930
11997
|
})
|
|
11931
11998
|
]
|
|
@@ -11940,28 +12007,28 @@ function SourceItem({ source, ordinal }) {
|
|
|
11940
12007
|
function WebSearchBlock({ answer, sources, truncated, labels, className }) {
|
|
11941
12008
|
const empty = (answer === void 0 || answer === "") && sources.length === 0;
|
|
11942
12009
|
return jsxs("div", {
|
|
11943
|
-
className: clsx(css$
|
|
12010
|
+
className: clsx(css$35.block, className),
|
|
11944
12011
|
"data-web": "search",
|
|
11945
12012
|
children: [
|
|
11946
12013
|
answer !== void 0 && answer !== "" && jsx("div", {
|
|
11947
|
-
className: css$
|
|
12014
|
+
className: css$35.answer,
|
|
11948
12015
|
children: jsx(MarkdownText, {
|
|
11949
12016
|
text: answer,
|
|
11950
12017
|
labels: labels.markdown
|
|
11951
12018
|
})
|
|
11952
12019
|
}),
|
|
11953
12020
|
empty ? jsx("div", {
|
|
11954
|
-
className: css$
|
|
12021
|
+
className: css$35.empty,
|
|
11955
12022
|
children: labels.noResults
|
|
11956
12023
|
}) : jsx("ol", {
|
|
11957
|
-
className: css$
|
|
12024
|
+
className: css$35.sources,
|
|
11958
12025
|
children: sources.map((source, index) => jsx(SourceItem, {
|
|
11959
12026
|
source,
|
|
11960
12027
|
ordinal: index + 1
|
|
11961
12028
|
}, index))
|
|
11962
12029
|
}),
|
|
11963
12030
|
truncated && jsx("div", {
|
|
11964
|
-
className: css$
|
|
12031
|
+
className: css$35.truncated,
|
|
11965
12032
|
children: labels.sourcesTruncated
|
|
11966
12033
|
})
|
|
11967
12034
|
]
|
|
@@ -11974,23 +12041,23 @@ function WebSearchBlock({ answer, sources, truncated, labels, className }) {
|
|
|
11974
12041
|
*/
|
|
11975
12042
|
function WebFetchBlock({ url, statusCode, truncated, labels, className }) {
|
|
11976
12043
|
return jsxs("div", {
|
|
11977
|
-
className: clsx(css$
|
|
12044
|
+
className: clsx(css$35.block, css$35.fetch, className),
|
|
11978
12045
|
"data-web": "fetch",
|
|
11979
12046
|
children: [jsx(SafeLink, {
|
|
11980
12047
|
url,
|
|
11981
12048
|
label: url,
|
|
11982
|
-
className: css$
|
|
12049
|
+
className: css$35.fetchUrl
|
|
11983
12050
|
}), jsxs("div", {
|
|
11984
|
-
className: css$
|
|
12051
|
+
className: css$35.fetchMeta,
|
|
11985
12052
|
children: [jsxs("span", {
|
|
11986
|
-
className: css$
|
|
12053
|
+
className: css$35.status,
|
|
11987
12054
|
children: [
|
|
11988
12055
|
labels.http,
|
|
11989
12056
|
" ",
|
|
11990
12057
|
statusCode
|
|
11991
12058
|
]
|
|
11992
12059
|
}), truncated && jsx("span", {
|
|
11993
|
-
className: css$
|
|
12060
|
+
className: css$35.truncated,
|
|
11994
12061
|
children: labels.contentTruncated
|
|
11995
12062
|
})]
|
|
11996
12063
|
})]
|
|
@@ -12024,10 +12091,10 @@ function JsonBlock({ label, payload, defaultOpen = false, truncatedLabel }) {
|
|
|
12024
12091
|
truncatedLabel
|
|
12025
12092
|
]);
|
|
12026
12093
|
return jsxs("div", {
|
|
12027
|
-
className: css$
|
|
12094
|
+
className: css$36.root,
|
|
12028
12095
|
children: [jsxs("button", {
|
|
12029
12096
|
type: "button",
|
|
12030
|
-
className: css$
|
|
12097
|
+
className: css$36.toggle,
|
|
12031
12098
|
onClick: () => {
|
|
12032
12099
|
setOpen((v) => !v);
|
|
12033
12100
|
},
|
|
@@ -12037,7 +12104,7 @@ function JsonBlock({ label, payload, defaultOpen = false, truncatedLabel }) {
|
|
|
12037
12104
|
label
|
|
12038
12105
|
]
|
|
12039
12106
|
}), open && jsx("pre", {
|
|
12040
|
-
className: css$
|
|
12107
|
+
className: css$36.body,
|
|
12041
12108
|
children: body
|
|
12042
12109
|
})]
|
|
12043
12110
|
});
|
|
@@ -12378,6 +12445,6 @@ function GuideArtworkFiles({ size = 36, className }) {
|
|
|
12378
12445
|
});
|
|
12379
12446
|
}
|
|
12380
12447
|
//#endregion
|
|
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 };
|
|
12448
|
+
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, InlineEditor, 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 };
|
|
12382
12449
|
|
|
12383
12450
|
//# sourceMappingURL=index.js.map
|