@blade-hq/agent-react 2612.0.0-beta.32 → 2612.0.0-beta.34
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/dist/chat/markdown/ExternalAnchor.d.ts +2 -2
- package/dist/{chunk-XTYNDVUV.js → chunk-6PSSFMTQ.js} +307 -230
- package/dist/chunk-6PSSFMTQ.js.map +1 -0
- package/dist/chunk-MHXY4KAY.js +577 -0
- package/dist/chunk-MHXY4KAY.js.map +1 -0
- package/dist/{chunk-M5NAFIU4.js → chunk-PQZC5LMU.js} +437 -413
- package/dist/{chunk-M5NAFIU4.js.map → chunk-PQZC5LMU.js.map} +1 -1
- package/dist/components/AccountConnectors.d.ts +13 -0
- package/dist/components/BrowserConnectionDialog.d.ts +7 -0
- package/dist/components/SessionPluginConfigForm.d.ts +3 -1
- package/dist/components/plugin-connector.d.ts +1 -0
- package/dist/embed/entry.d.ts +1 -0
- package/dist/index.js +2 -2
- package/dist/internal.d.ts +2 -0
- package/dist/internal.js +7 -3
- package/dist/internal.js.map +1 -1
- package/dist/rich-input.js +2 -2
- package/dist/style.full.css +1 -1
- package/package.json +2 -2
- package/dist/chunk-PHWYZP6F.js +0 -253
- package/dist/chunk-PHWYZP6F.js.map +0 -1
- package/dist/chunk-XTYNDVUV.js.map +0 -1
|
@@ -2302,6 +2302,14 @@ var RefreshCcw = createLucideIcon("RefreshCcw", [
|
|
|
2302
2302
|
["path", { d: "M16 16h5v5", key: "ccwih5" }]
|
|
2303
2303
|
]);
|
|
2304
2304
|
|
|
2305
|
+
// ../../node_modules/.pnpm/lucide-react@0.468.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/refresh-cw.js
|
|
2306
|
+
var RefreshCw = createLucideIcon("RefreshCw", [
|
|
2307
|
+
["path", { d: "M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8", key: "v9h5vc" }],
|
|
2308
|
+
["path", { d: "M21 3v5h-5", key: "1q7to0" }],
|
|
2309
|
+
["path", { d: "M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16", key: "3uifl3" }],
|
|
2310
|
+
["path", { d: "M8 16H3v5", key: "1cv678" }]
|
|
2311
|
+
]);
|
|
2312
|
+
|
|
2305
2313
|
// ../../node_modules/.pnpm/lucide-react@0.468.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/rocket.js
|
|
2306
2314
|
var Rocket = createLucideIcon("Rocket", [
|
|
2307
2315
|
[
|
|
@@ -2420,6 +2428,22 @@ var TriangleAlert = createLucideIcon("TriangleAlert", [
|
|
|
2420
2428
|
["path", { d: "M12 17h.01", key: "p32p05" }]
|
|
2421
2429
|
]);
|
|
2422
2430
|
|
|
2431
|
+
// ../../node_modules/.pnpm/lucide-react@0.468.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/unplug.js
|
|
2432
|
+
var Unplug = createLucideIcon("Unplug", [
|
|
2433
|
+
["path", { d: "m19 5 3-3", key: "yk6iyv" }],
|
|
2434
|
+
["path", { d: "m2 22 3-3", key: "19mgm9" }],
|
|
2435
|
+
[
|
|
2436
|
+
"path",
|
|
2437
|
+
{ d: "M6.3 20.3a2.4 2.4 0 0 0 3.4 0L12 18l-6-6-2.3 2.3a2.4 2.4 0 0 0 0 3.4Z", key: "goz73y" }
|
|
2438
|
+
],
|
|
2439
|
+
["path", { d: "M7.5 13.5 10 11", key: "7xgeeb" }],
|
|
2440
|
+
["path", { d: "M10.5 16.5 13 14", key: "10btkg" }],
|
|
2441
|
+
[
|
|
2442
|
+
"path",
|
|
2443
|
+
{ d: "m12 6 6 6 2.3-2.3a2.4 2.4 0 0 0 0-3.4l-2.6-2.6a2.4 2.4 0 0 0-3.4 0Z", key: "1snsnr" }
|
|
2444
|
+
]
|
|
2445
|
+
]);
|
|
2446
|
+
|
|
2423
2447
|
// ../../node_modules/.pnpm/lucide-react@0.468.0_react@19.2.4/node_modules/lucide-react/dist/esm/icons/wrench.js
|
|
2424
2448
|
var Wrench = createLucideIcon("Wrench", [
|
|
2425
2449
|
[
|
|
@@ -6100,6 +6124,49 @@ async function getPluginSuggestionItems(client, session, query, pendingPlugins =
|
|
|
6100
6124
|
}
|
|
6101
6125
|
}
|
|
6102
6126
|
|
|
6127
|
+
// src/components/BrowserConnectionDialog.tsx
|
|
6128
|
+
import { useEffect as useEffect2, useRef as useRef2 } from "react";
|
|
6129
|
+
import { jsx as jsx3, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
6130
|
+
function BrowserConnectionDialog({ client, name, label = "\u4E1A\u52A1\u8D26\u53F7", onClose }) {
|
|
6131
|
+
const dialog = useRef2(null);
|
|
6132
|
+
const frame = useRef2(null);
|
|
6133
|
+
const url = new URL(client.connectors.browserAuthorizationUrl(name), window.location.href);
|
|
6134
|
+
url.searchParams.set("embedded", "1");
|
|
6135
|
+
const origin = url.origin;
|
|
6136
|
+
useEffect2(() => {
|
|
6137
|
+
const element = dialog.current;
|
|
6138
|
+
element?.showModal();
|
|
6139
|
+
return () => element?.close();
|
|
6140
|
+
}, []);
|
|
6141
|
+
useEffect2(() => {
|
|
6142
|
+
if (!frame.current) return;
|
|
6143
|
+
return client.connectors.bindBrowserAuthorizationFrame(frame.current, name);
|
|
6144
|
+
}, [client, name]);
|
|
6145
|
+
useEffect2(() => {
|
|
6146
|
+
const receive = (event) => {
|
|
6147
|
+
if (event.origin === origin && event.source === frame.current?.contentWindow && event.data?.type === "blade:connector-auth-close") onClose();
|
|
6148
|
+
};
|
|
6149
|
+
window.addEventListener("message", receive);
|
|
6150
|
+
return () => window.removeEventListener("message", receive);
|
|
6151
|
+
}, [origin, onClose]);
|
|
6152
|
+
return /* @__PURE__ */ jsx3("dialog", { ref: dialog, "aria-label": `\u8FDE\u63A5 ${label}`, onCancel: (event) => {
|
|
6153
|
+
event.preventDefault();
|
|
6154
|
+
onClose();
|
|
6155
|
+
}, className: "fixed inset-0 m-auto h-[min(820px,90dvh)] max-h-none w-[min(960px,calc(100%_-_32px))] max-w-none overflow-hidden rounded-2xl border border-[hsl(var(--border))] bg-[hsl(var(--background))] p-0 text-[hsl(var(--foreground))] shadow-xl backdrop:bg-black/45", children: /* @__PURE__ */ jsxs2("div", { className: "flex h-full min-h-0 flex-col", children: [
|
|
6156
|
+
/* @__PURE__ */ jsxs2("header", { className: "flex shrink-0 items-center justify-between gap-3 border-b border-[hsl(var(--border))] px-4 py-3", children: [
|
|
6157
|
+
/* @__PURE__ */ jsxs2("h2", { className: "text-sm font-medium", children: [
|
|
6158
|
+
"\u8FDE\u63A5 ",
|
|
6159
|
+
label
|
|
6160
|
+
] }),
|
|
6161
|
+
/* @__PURE__ */ jsxs2("button", { type: "button", className: "inline-flex h-8 shrink-0 items-center justify-center gap-1.5 rounded-lg border border-[hsl(var(--border))] bg-[hsl(var(--background))] px-3 text-xs font-medium hover:bg-[hsl(var(--accent))]", onClick: onClose, children: [
|
|
6162
|
+
/* @__PURE__ */ jsx3(X, { size: 14, "aria-hidden": "true" }),
|
|
6163
|
+
"\u8FD4\u56DE\u8FDE\u63A5\u5668"
|
|
6164
|
+
] })
|
|
6165
|
+
] }),
|
|
6166
|
+
/* @__PURE__ */ jsx3("iframe", { ref: frame, title: `${label}\u767B\u5F55\u9875\u9762`, className: "min-h-0 w-full flex-1 border-0" })
|
|
6167
|
+
] }) });
|
|
6168
|
+
}
|
|
6169
|
+
|
|
6103
6170
|
// ../../node_modules/.pnpm/@cfworker+json-schema@4.1.1/node_modules/@cfworker/json-schema/dist/esm/deep-compare-strict.js
|
|
6104
6171
|
function deepCompareStrict(a, b) {
|
|
6105
6172
|
const typeofa = typeof a;
|
|
@@ -11838,7 +11905,7 @@ function toFieldPathId(fieldPath, globalFormOptions, parentPath, isMultiValue) {
|
|
|
11838
11905
|
|
|
11839
11906
|
// ../../node_modules/.pnpm/@rjsf+utils@6.10.0_react@19.2.4/node_modules/@rjsf/utils/lib/useAltDateWidgetProps.js
|
|
11840
11907
|
import { jsx as _jsx3 } from "react/jsx-runtime";
|
|
11841
|
-
import { useCallback, useEffect as
|
|
11908
|
+
import { useCallback, useEffect as useEffect3, useMemo, useState as useState2 } from "react";
|
|
11842
11909
|
function readyForChange(state) {
|
|
11843
11910
|
return Object.values(state).every((value) => value !== -1);
|
|
11844
11911
|
}
|
|
@@ -11852,7 +11919,7 @@ function DateElement(props) {
|
|
|
11852
11919
|
function useAltDateWidgetProps(props) {
|
|
11853
11920
|
const { time: time2 = false, disabled = false, readonly = false, options, onChange, value } = props;
|
|
11854
11921
|
const [state, setState] = useState2(parseDateString(value, time2));
|
|
11855
|
-
|
|
11922
|
+
useEffect3(() => {
|
|
11856
11923
|
setState(parseDateString(value, time2));
|
|
11857
11924
|
}, [time2, value]);
|
|
11858
11925
|
const handleChange = useCallback((property, newValue) => {
|
|
@@ -11886,9 +11953,9 @@ function useAltDateWidgetProps(props) {
|
|
|
11886
11953
|
}
|
|
11887
11954
|
|
|
11888
11955
|
// ../../node_modules/.pnpm/@rjsf+utils@6.10.0_react@19.2.4/node_modules/@rjsf/utils/lib/useDeepCompareMemo.js
|
|
11889
|
-
import { useRef as
|
|
11956
|
+
import { useRef as useRef3 } from "react";
|
|
11890
11957
|
function useDeepCompareMemo(newValue) {
|
|
11891
|
-
const valueRef =
|
|
11958
|
+
const valueRef = useRef3(newValue);
|
|
11892
11959
|
if (!deepEquals_default(newValue, valueRef.current)) {
|
|
11893
11960
|
valueRef.current = newValue;
|
|
11894
11961
|
}
|
|
@@ -12082,7 +12149,7 @@ var TranslatableString;
|
|
|
12082
12149
|
|
|
12083
12150
|
// ../../node_modules/.pnpm/@rjsf+core@6.10.0_@rjsf+utils@6.10.0_react@19.2.4__react@19.2.4_vue@3.5.40_typescript@5.9.3_/node_modules/@rjsf/core/lib/components/fields/ArrayField.js
|
|
12084
12151
|
import { jsx as _jsx4 } from "react/jsx-runtime";
|
|
12085
|
-
import { memo, useCallback as useCallback3, useMemo as useMemo3, useRef as
|
|
12152
|
+
import { memo, useCallback as useCallback3, useMemo as useMemo3, useRef as useRef4, useState as useState3 } from "react";
|
|
12086
12153
|
var rowIdCounter = 0;
|
|
12087
12154
|
function generateRowId() {
|
|
12088
12155
|
rowIdCounter += 1;
|
|
@@ -12435,9 +12502,9 @@ function ArrayField(props) {
|
|
|
12435
12502
|
const { schema, uiSchema, errorSchema, fieldPathId, registry, formData, onChange } = props;
|
|
12436
12503
|
const { globalFormOptions, schemaUtils, translateString } = registry;
|
|
12437
12504
|
const { keyedFormData, updateKeyedFormData } = useKeyedFormData(formData);
|
|
12438
|
-
const keyedFormDataRef =
|
|
12505
|
+
const keyedFormDataRef = useRef4(keyedFormData);
|
|
12439
12506
|
keyedFormDataRef.current = keyedFormData;
|
|
12440
|
-
const errorSchemaRef =
|
|
12507
|
+
const errorSchemaRef = useRef4(errorSchema);
|
|
12441
12508
|
errorSchemaRef.current = errorSchema;
|
|
12442
12509
|
const childFieldPathId = props.childFieldPathId ?? fieldPathId;
|
|
12443
12510
|
const handleAddItem = useCallback3((event, index2) => {
|
|
@@ -13051,7 +13118,7 @@ function LayoutHeaderField(props) {
|
|
|
13051
13118
|
|
|
13052
13119
|
// ../../node_modules/.pnpm/@rjsf+core@6.10.0_@rjsf+utils@6.10.0_react@19.2.4__react@19.2.4_vue@3.5.40_typescript@5.9.3_/node_modules/@rjsf/core/lib/components/fields/LayoutMultiSchemaField.js
|
|
13053
13120
|
import { jsx as _jsx10 } from "react/jsx-runtime";
|
|
13054
|
-
import { useState as useState6, useEffect as
|
|
13121
|
+
import { useState as useState6, useEffect as useEffect4 } from "react";
|
|
13055
13122
|
function getSelectedOption(options, selectorField, value) {
|
|
13056
13123
|
const defaultValue = "!@#!@$@#$!@$#";
|
|
13057
13124
|
const schemaOptions = options.map(({ schema }) => schema);
|
|
@@ -13087,7 +13154,7 @@ function LayoutMultiSchemaField(props) {
|
|
|
13087
13154
|
const optionsHash = hashObject(options);
|
|
13088
13155
|
const uiSchemaHash = uiSchema ? hashObject(uiSchema) : "";
|
|
13089
13156
|
const formDataHash = formData ? hashObject(formData) : "";
|
|
13090
|
-
|
|
13157
|
+
useEffect4(() => {
|
|
13091
13158
|
setEnumOptions(computeEnumOptions(schema, options, schemaUtils, uiSchema, formData));
|
|
13092
13159
|
}, [schemaHash, optionsHash, schemaUtils, uiSchemaHash, formDataHash]);
|
|
13093
13160
|
const { widget = discriminator ? "radio" : "select", title = "", placeholder = "", optionsSchemaSelector: selectorField = discriminator, hideError: uiSchemaHideError, ...uiOptions } = getUiOptions(uiSchema);
|
|
@@ -13126,7 +13193,7 @@ function LayoutMultiSchemaField(props) {
|
|
|
13126
13193
|
|
|
13127
13194
|
// ../../node_modules/.pnpm/@rjsf+core@6.10.0_@rjsf+utils@6.10.0_react@19.2.4__react@19.2.4_vue@3.5.40_typescript@5.9.3_/node_modules/@rjsf/core/lib/components/fields/MultiSchemaField.js
|
|
13128
13195
|
import { jsx as _jsx11 } from "react/jsx-runtime";
|
|
13129
|
-
import { useCallback as useCallback5, useEffect as
|
|
13196
|
+
import { useCallback as useCallback5, useEffect as useEffect5, useMemo as useMemo5, useRef as useRef5, useState as useState7 } from "react";
|
|
13130
13197
|
function AnyOfField(props) {
|
|
13131
13198
|
const { name, disabled = false, errorSchema, formData, fieldPathId, onBlur, onChange, onFocus, options, readonly, registry, required = false, schema, uiSchema } = props;
|
|
13132
13199
|
const { schemaUtils } = registry;
|
|
@@ -13140,10 +13207,10 @@ function AnyOfField(props) {
|
|
|
13140
13207
|
const discriminator = getDiscriminatorFieldFromSchema(schema);
|
|
13141
13208
|
return schemaUtils.getClosestMatchingOption(formData, retrievedOptions, 0, discriminator);
|
|
13142
13209
|
});
|
|
13143
|
-
const skipNextOptionRecalculation =
|
|
13144
|
-
const prevFormDataRef =
|
|
13145
|
-
const prevFieldIdRef =
|
|
13146
|
-
|
|
13210
|
+
const skipNextOptionRecalculation = useRef5(false);
|
|
13211
|
+
const prevFormDataRef = useRef5(formData);
|
|
13212
|
+
const prevFieldIdRef = useRef5(fieldPathId.$id);
|
|
13213
|
+
useEffect5(() => {
|
|
13147
13214
|
const prevFormData = prevFormDataRef.current;
|
|
13148
13215
|
const prevFieldId = prevFieldIdRef.current;
|
|
13149
13216
|
prevFormDataRef.current = formData;
|
|
@@ -13241,10 +13308,10 @@ function AnyOfField(props) {
|
|
|
13241
13308
|
var MultiSchemaField_default = AnyOfField;
|
|
13242
13309
|
|
|
13243
13310
|
// ../../node_modules/.pnpm/@rjsf+core@6.10.0_@rjsf+utils@6.10.0_react@19.2.4__react@19.2.4_vue@3.5.40_typescript@5.9.3_/node_modules/@rjsf/core/lib/components/fields/NullField.js
|
|
13244
|
-
import { useEffect as
|
|
13311
|
+
import { useEffect as useEffect6 } from "react";
|
|
13245
13312
|
function NullField(props) {
|
|
13246
13313
|
const { formData, onChange, fieldPathId } = props;
|
|
13247
|
-
|
|
13314
|
+
useEffect6(() => {
|
|
13248
13315
|
if (formData === void 0) {
|
|
13249
13316
|
onChange(null, fieldPathId.path);
|
|
13250
13317
|
}
|
|
@@ -13295,7 +13362,7 @@ var NumberField_default = NumberField;
|
|
|
13295
13362
|
|
|
13296
13363
|
// ../../node_modules/.pnpm/@rjsf+core@6.10.0_@rjsf+utils@6.10.0_react@19.2.4__react@19.2.4_vue@3.5.40_typescript@5.9.3_/node_modules/@rjsf/core/lib/components/fields/ObjectField.js
|
|
13297
13364
|
import { jsx as _jsx13, jsxs as _jsxs } from "react/jsx-runtime";
|
|
13298
|
-
import { memo as memo2, useCallback as useCallback7, useMemo as useMemo7, useRef as
|
|
13365
|
+
import { memo as memo2, useCallback as useCallback7, useMemo as useMemo7, useRef as useRef7, useState as useState9 } from "react";
|
|
13299
13366
|
|
|
13300
13367
|
// ../../node_modules/.pnpm/markdown-to-jsx@9.10.2_react@19.2.4_vue@3.5.40_typescript@5.9.3_/node_modules/markdown-to-jsx/dist/react.js
|
|
13301
13368
|
import * as i0 from "react";
|
|
@@ -16461,13 +16528,13 @@ function ObjectField(props) {
|
|
|
16461
16528
|
const { schema: rawSchema, uiSchema = {}, formData, errorSchema, fieldPathId, name, required = false, disabled, readonly, hideError, onBlur, onFocus, onChange, registry, title } = props;
|
|
16462
16529
|
const { fields: fields2, schemaUtils, translateString, globalUiOptions } = registry;
|
|
16463
16530
|
const { OptionalDataControlsField: OptionalDataControlsField2 } = fields2;
|
|
16464
|
-
const formDataRef =
|
|
16531
|
+
const formDataRef = useRef7(formData);
|
|
16465
16532
|
formDataRef.current = formData;
|
|
16466
16533
|
const schema = useMemo7(() => schemaUtils.retrieveSchema(rawSchema, formData, true), [schemaUtils, rawSchema, formData]);
|
|
16467
16534
|
const uiOptions = useMemo7(() => getUiOptions(uiSchema, globalUiOptions), [uiSchema, globalUiOptions]);
|
|
16468
16535
|
const schemaProperties = useMemo7(() => schema.properties ?? {}, [schema.properties]);
|
|
16469
16536
|
const childFieldPathId = props.childFieldPathId ?? fieldPathId;
|
|
16470
|
-
const lastRenamedProperty =
|
|
16537
|
+
const lastRenamedProperty = useRef7({ previousKey: "", currentKey: void 0 });
|
|
16471
16538
|
const [additionalPropertyOrder, setAdditionalPropertyOrder] = useState9(() => getAdditionalPropertyOrder(schemaProperties));
|
|
16472
16539
|
const definedPropertyOrder = useMemo7(() => {
|
|
16473
16540
|
const additionalPropertySet = new Set(getAdditionalPropertyOrder(schemaProperties));
|
|
@@ -18618,7 +18685,7 @@ function configDraftOperations(initial, values, retained, removed) {
|
|
|
18618
18685
|
}
|
|
18619
18686
|
|
|
18620
18687
|
// src/components/SessionPluginConfigForm.tsx
|
|
18621
|
-
import { Fragment as Fragment2, jsx as
|
|
18688
|
+
import { Fragment as Fragment2, jsx as jsx4, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
18622
18689
|
var defaults = getDefaultRegistry();
|
|
18623
18690
|
var validator = {
|
|
18624
18691
|
isValid(schema, data, rootSchema) {
|
|
@@ -18674,8 +18741,8 @@ function presentationSchema(schema) {
|
|
|
18674
18741
|
return result;
|
|
18675
18742
|
}
|
|
18676
18743
|
function ConfigMultiSchemaField(props) {
|
|
18677
|
-
return /* @__PURE__ */
|
|
18678
|
-
/* @__PURE__ */
|
|
18744
|
+
return /* @__PURE__ */ jsxs3("div", { className: "rjsf-field", children: [
|
|
18745
|
+
/* @__PURE__ */ jsx4("label", { htmlFor: isValidElement(props.selector) ? props.selector.props.id : void 0, children: "\u914D\u7F6E\u65B9\u5F0F" }),
|
|
18679
18746
|
props.selector,
|
|
18680
18747
|
props.optionSchemaField
|
|
18681
18748
|
] });
|
|
@@ -18703,12 +18770,12 @@ function ConfigSchemaField(inputProps) {
|
|
|
18703
18770
|
const pointer = pointerOf(originalConfigPath(fieldPathId.path, context.removed));
|
|
18704
18771
|
const originalMarker = [...context.retained].find(([, path2]) => path2 === pointer)?.[0];
|
|
18705
18772
|
if (schema.const !== void 0 && schema.writeOnly !== true)
|
|
18706
|
-
return /* @__PURE__ */
|
|
18773
|
+
return /* @__PURE__ */ jsx4(Fragment2, { children: context.errors.filter((error) => error.path === pointer).map((error) => /* @__PURE__ */ jsx4("p", { role: "alert", children: error.message }, error.message)) });
|
|
18707
18774
|
if (schema.writeOnly === true) {
|
|
18708
18775
|
const kept = typeof formData === "string" && context.retained.has(formData);
|
|
18709
|
-
return /* @__PURE__ */
|
|
18710
|
-
Array.isArray(schema.type) && schema.type.includes("null") ? /* @__PURE__ */
|
|
18711
|
-
/* @__PURE__ */
|
|
18776
|
+
return /* @__PURE__ */ jsxs3("div", { className: "rjsf-field", children: [
|
|
18777
|
+
Array.isArray(schema.type) && schema.type.includes("null") ? /* @__PURE__ */ jsxs3("label", { children: [
|
|
18778
|
+
/* @__PURE__ */ jsx4(
|
|
18712
18779
|
"input",
|
|
18713
18780
|
{
|
|
18714
18781
|
type: "checkbox",
|
|
@@ -18720,8 +18787,8 @@ function ConfigSchemaField(inputProps) {
|
|
|
18720
18787
|
schema.title ?? props.name,
|
|
18721
18788
|
"\uFF1A\u7F6E\u4E3A\u7A7A\u503C"
|
|
18722
18789
|
] }) : null,
|
|
18723
|
-
/* @__PURE__ */
|
|
18724
|
-
/* @__PURE__ */
|
|
18790
|
+
/* @__PURE__ */ jsx4("label", { htmlFor: fieldPathId.$id, "data-required": props.required, children: schema.title ?? props.name }),
|
|
18791
|
+
/* @__PURE__ */ jsx4(
|
|
18725
18792
|
"input",
|
|
18726
18793
|
{
|
|
18727
18794
|
id: fieldPathId.$id,
|
|
@@ -18734,8 +18801,8 @@ function ConfigSchemaField(inputProps) {
|
|
|
18734
18801
|
onChange: (event) => onChange(event.target.value || originalMarker, fieldPathId.path)
|
|
18735
18802
|
}
|
|
18736
18803
|
),
|
|
18737
|
-
kept ? /* @__PURE__ */
|
|
18738
|
-
formData !== void 0 ? /* @__PURE__ */
|
|
18804
|
+
kept ? /* @__PURE__ */ jsx4("p", { children: "\u5DF2\u4FDD\u5B58\uFF0C\u7559\u7A7A\u4FDD\u6301\u4E0D\u53D8" }) : null,
|
|
18805
|
+
formData !== void 0 ? /* @__PURE__ */ jsx4(
|
|
18739
18806
|
"button",
|
|
18740
18807
|
{
|
|
18741
18808
|
type: "button",
|
|
@@ -18744,17 +18811,17 @@ function ConfigSchemaField(inputProps) {
|
|
|
18744
18811
|
children: "\u6E05\u9664\u5DF2\u4FDD\u5B58\u7684\u503C"
|
|
18745
18812
|
}
|
|
18746
18813
|
) : null,
|
|
18747
|
-
schema.description ? /* @__PURE__ */
|
|
18748
|
-
context.errors.filter((error) => error.path === pointer).map((error) => /* @__PURE__ */
|
|
18814
|
+
schema.description ? /* @__PURE__ */ jsx4("p", { children: schema.description }) : null,
|
|
18815
|
+
context.errors.filter((error) => error.path === pointer).map((error) => /* @__PURE__ */ jsx4("p", { role: "alert", children: error.message }, error.message))
|
|
18749
18816
|
] });
|
|
18750
18817
|
}
|
|
18751
18818
|
const types = Array.isArray(schema.type) ? schema.type : [schema.type];
|
|
18752
18819
|
if (types.includes("null")) {
|
|
18753
18820
|
const nonNull = types.filter((type) => type !== "null");
|
|
18754
18821
|
const inner = { ...schema, type: nonNull[0] };
|
|
18755
|
-
return /* @__PURE__ */
|
|
18756
|
-
/* @__PURE__ */
|
|
18757
|
-
/* @__PURE__ */
|
|
18822
|
+
return /* @__PURE__ */ jsxs3("div", { className: "rjsf-field", children: [
|
|
18823
|
+
/* @__PURE__ */ jsxs3("label", { children: [
|
|
18824
|
+
/* @__PURE__ */ jsx4(
|
|
18758
18825
|
"input",
|
|
18759
18826
|
{
|
|
18760
18827
|
type: "checkbox",
|
|
@@ -18769,28 +18836,28 @@ function ConfigSchemaField(inputProps) {
|
|
|
18769
18836
|
schema.title ?? props.name,
|
|
18770
18837
|
"\uFF1A\u7F6E\u4E3A\u7A7A\u503C"
|
|
18771
18838
|
] }),
|
|
18772
|
-
nonNull.length && formData !== null ? /* @__PURE__ */
|
|
18839
|
+
nonNull.length && formData !== null ? /* @__PURE__ */ jsx4(defaults.fields.SchemaField, { ...props, schema: inner }) : null
|
|
18773
18840
|
] });
|
|
18774
18841
|
}
|
|
18775
|
-
return /* @__PURE__ */
|
|
18842
|
+
return /* @__PURE__ */ jsx4(defaults.fields.SchemaField, { ...props });
|
|
18776
18843
|
}
|
|
18777
18844
|
function ConfigFieldTemplate(props) {
|
|
18778
18845
|
const pointer = pointerOf(
|
|
18779
18846
|
originalConfigPath(props.fieldPathId.path, props.registry.formContext.removed)
|
|
18780
18847
|
);
|
|
18781
|
-
return /* @__PURE__ */
|
|
18782
|
-
props.displayLabel ? /* @__PURE__ */
|
|
18848
|
+
return /* @__PURE__ */ jsxs3("div", { className: props.classNames, hidden: props.hidden, children: [
|
|
18849
|
+
props.displayLabel ? /* @__PURE__ */ jsx4("label", { htmlFor: props.id, "data-required": props.required, children: props.label }) : null,
|
|
18783
18850
|
props.displayLabel ? props.description : null,
|
|
18784
18851
|
props.children,
|
|
18785
18852
|
props.help,
|
|
18786
|
-
props.registry.formContext.errors.filter((error) => error.path === pointer).map((error) => /* @__PURE__ */
|
|
18853
|
+
props.registry.formContext.errors.filter((error) => error.path === pointer).map((error) => /* @__PURE__ */ jsx4("p", { role: "alert", children: error.message }, error.message))
|
|
18787
18854
|
] });
|
|
18788
18855
|
}
|
|
18789
18856
|
function ConfigArrayItem(props) {
|
|
18790
18857
|
const { buttonsProps: buttons, registry } = props;
|
|
18791
|
-
return /* @__PURE__ */
|
|
18858
|
+
return /* @__PURE__ */ jsxs3("div", { className: "rjsf-array-item", children: [
|
|
18792
18859
|
props.children,
|
|
18793
|
-
buttons.hasRemove ? /* @__PURE__ */
|
|
18860
|
+
buttons.hasRemove ? /* @__PURE__ */ jsx4(
|
|
18794
18861
|
"button",
|
|
18795
18862
|
{
|
|
18796
18863
|
type: "button",
|
|
@@ -18805,7 +18872,7 @@ function ConfigArrayItem(props) {
|
|
|
18805
18872
|
if (previous !== void 0) registry.formContext.removed.add(pointerOf(path));
|
|
18806
18873
|
buttons.onRemoveItem(event);
|
|
18807
18874
|
},
|
|
18808
|
-
children: /* @__PURE__ */
|
|
18875
|
+
children: /* @__PURE__ */ jsx4(Trash2, { size: 14 })
|
|
18809
18876
|
}
|
|
18810
18877
|
) : null
|
|
18811
18878
|
] });
|
|
@@ -18816,7 +18883,9 @@ function SessionPluginConfigForm({
|
|
|
18816
18883
|
errors,
|
|
18817
18884
|
failure,
|
|
18818
18885
|
onSubmit,
|
|
18819
|
-
onCancel
|
|
18886
|
+
onCancel,
|
|
18887
|
+
submitLabel = "\u4FDD\u5B58",
|
|
18888
|
+
submittingLabel = "\u4FDD\u5B58\u4E2D\u2026"
|
|
18820
18889
|
}) {
|
|
18821
18890
|
const [initial] = useState10(() => createConfigDraft(config));
|
|
18822
18891
|
const [values, setValues] = useState10(initial.values);
|
|
@@ -18839,12 +18908,12 @@ function SessionPluginConfigForm({
|
|
|
18839
18908
|
changeRoot: setValues
|
|
18840
18909
|
};
|
|
18841
18910
|
if (!schema || support)
|
|
18842
|
-
return /* @__PURE__ */
|
|
18843
|
-
/* @__PURE__ */
|
|
18844
|
-
/* @__PURE__ */
|
|
18911
|
+
return /* @__PURE__ */ jsxs3("div", { className: "space-y-3 text-xs", children: [
|
|
18912
|
+
/* @__PURE__ */ jsx4("p", { children: support ?? "\u914D\u7F6E\u58F0\u660E\u7684\u7EC4\u5408\u65E0\u6CD5\u5448\u73B0\uFF0C\u8BF7\u8054\u7CFB\u63D2\u4EF6\u63D0\u4F9B\u65B9" }),
|
|
18913
|
+
/* @__PURE__ */ jsx4("button", { type: "button", onClick: onCancel, children: "\u5173\u95ED" })
|
|
18845
18914
|
] });
|
|
18846
|
-
return /* @__PURE__ */
|
|
18847
|
-
/* @__PURE__ */
|
|
18915
|
+
return /* @__PURE__ */ jsxs3("div", { className: "blade-plugin-config text-xs", children: [
|
|
18916
|
+
/* @__PURE__ */ jsx4("style", { children: `
|
|
18848
18917
|
.blade-plugin-config .rjsf-field, .blade-plugin-config fieldset { min-width:0; margin:0 0 10px; padding:0; border:0 }
|
|
18849
18918
|
.blade-plugin-config label, .blade-plugin-config legend { display:block; font-size:12px; font-weight:500; overflow-wrap:anywhere; margin-bottom:4px }
|
|
18850
18919
|
.blade-plugin-config label[data-required=true]::after { content:' *'; color:hsl(var(--destructive)) }
|
|
@@ -18857,8 +18926,8 @@ function SessionPluginConfigForm({
|
|
|
18857
18926
|
.blade-plugin-config button:disabled { opacity:.5 }
|
|
18858
18927
|
.blade-plugin-config .control-label { display:block }
|
|
18859
18928
|
` }),
|
|
18860
|
-
failure || draftFailure ? /* @__PURE__ */
|
|
18861
|
-
/* @__PURE__ */
|
|
18929
|
+
failure || draftFailure ? /* @__PURE__ */ jsx4("p", { role: "alert", children: failure ?? draftFailure }) : null,
|
|
18930
|
+
/* @__PURE__ */ jsx4(
|
|
18862
18931
|
Form,
|
|
18863
18932
|
{
|
|
18864
18933
|
schema,
|
|
@@ -18872,7 +18941,7 @@ function SessionPluginConfigForm({
|
|
|
18872
18941
|
MultiSchemaFieldTemplate: ConfigMultiSchemaField,
|
|
18873
18942
|
ButtonTemplates: {
|
|
18874
18943
|
...defaults.templates.ButtonTemplates,
|
|
18875
|
-
AddButton: (props) => /* @__PURE__ */
|
|
18944
|
+
AddButton: (props) => /* @__PURE__ */ jsx4(
|
|
18876
18945
|
"button",
|
|
18877
18946
|
{
|
|
18878
18947
|
type: "button",
|
|
@@ -18880,7 +18949,7 @@ function SessionPluginConfigForm({
|
|
|
18880
18949
|
"aria-label": "\u6DFB\u52A0\u4E00\u9879",
|
|
18881
18950
|
disabled: props.disabled,
|
|
18882
18951
|
onClick: props.onClick,
|
|
18883
|
-
children: /* @__PURE__ */
|
|
18952
|
+
children: /* @__PURE__ */ jsx4(Plus, { size: 14 })
|
|
18884
18953
|
}
|
|
18885
18954
|
)
|
|
18886
18955
|
}
|
|
@@ -18921,9 +18990,9 @@ function SessionPluginConfigForm({
|
|
|
18921
18990
|
setDraftFailure(error.message);
|
|
18922
18991
|
}
|
|
18923
18992
|
},
|
|
18924
|
-
children: /* @__PURE__ */
|
|
18925
|
-
/* @__PURE__ */
|
|
18926
|
-
/* @__PURE__ */
|
|
18993
|
+
children: /* @__PURE__ */ jsxs3("div", { className: "flex justify-end gap-2", children: [
|
|
18994
|
+
/* @__PURE__ */ jsx4("button", { type: "button", onClick: onCancel, children: "\u53D6\u6D88" }),
|
|
18995
|
+
/* @__PURE__ */ jsx4("button", { type: "submit", disabled: submitting, children: submitting ? submittingLabel : submitLabel })
|
|
18927
18996
|
] })
|
|
18928
18997
|
}
|
|
18929
18998
|
)
|
|
@@ -18931,8 +19000,8 @@ function SessionPluginConfigForm({
|
|
|
18931
19000
|
}
|
|
18932
19001
|
|
|
18933
19002
|
// src/components/SessionPluginIcon.tsx
|
|
18934
|
-
import { useEffect as
|
|
18935
|
-
import { jsx as
|
|
19003
|
+
import { useEffect as useEffect7, useState as useState11 } from "react";
|
|
19004
|
+
import { jsx as jsx5 } from "react/jsx-runtime";
|
|
18936
19005
|
function sessionPluginLabel(plugin) {
|
|
18937
19006
|
const display = typeof plugin.display_name === "string" ? plugin.display_name.trim() : "";
|
|
18938
19007
|
return display || plugin.name;
|
|
@@ -18959,7 +19028,7 @@ function iconBlob(client, sessionId, name, token) {
|
|
|
18959
19028
|
function SessionPluginIcon({ client, sessionId, plugin, size: size4 = 20, shape = "rounded", className }) {
|
|
18960
19029
|
const [url, setUrl] = useState11(null);
|
|
18961
19030
|
const token = plugin.icon;
|
|
18962
|
-
|
|
19031
|
+
useEffect7(() => {
|
|
18963
19032
|
setUrl(null);
|
|
18964
19033
|
if (!token) return;
|
|
18965
19034
|
let alive = true;
|
|
@@ -18977,14 +19046,14 @@ function SessionPluginIcon({ client, sessionId, plugin, size: size4 = 20, shape
|
|
|
18977
19046
|
const frame = `flex shrink-0 items-center justify-center overflow-hidden ${shape === "circle" ? "rounded-full" : "rounded"} ${className ?? ""}`;
|
|
18978
19047
|
const frameStyle = { width: size4, height: size4 };
|
|
18979
19048
|
if (!url) {
|
|
18980
|
-
return /* @__PURE__ */
|
|
19049
|
+
return /* @__PURE__ */ jsx5("span", { className: `${frame} bg-[hsl(var(--muted))] text-[hsl(var(--muted-foreground))]`, style: frameStyle, "data-plugin-icon": "placeholder", children: /* @__PURE__ */ jsx5(Puzzle, { "aria-hidden": true, size: Math.round(size4 * 0.7) }) });
|
|
18981
19050
|
}
|
|
18982
|
-
return /* @__PURE__ */
|
|
19051
|
+
return /* @__PURE__ */ jsx5("span", { className: frame, style: frameStyle, "data-plugin-icon": "image", children: /* @__PURE__ */ jsx5("img", { src: url, alt: "", "aria-hidden": true, className: "h-full w-full object-cover", onError: () => setUrl(null) }) });
|
|
18983
19052
|
}
|
|
18984
19053
|
|
|
18985
19054
|
// src/components/SessionPluginConfigDialog.tsx
|
|
18986
|
-
import { useEffect as
|
|
18987
|
-
import { Fragment as Fragment3, jsx as
|
|
19055
|
+
import { useEffect as useEffect8, useRef as useRef8, useState as useState12 } from "react";
|
|
19056
|
+
import { Fragment as Fragment3, jsx as jsx6, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
18988
19057
|
async function readFailure(error) {
|
|
18989
19058
|
const response = error?.response;
|
|
18990
19059
|
if (!response || typeof response.json !== "function") {
|
|
@@ -19011,7 +19080,7 @@ function SessionPluginConfigDialog({
|
|
|
19011
19080
|
plugin,
|
|
19012
19081
|
...props
|
|
19013
19082
|
}) {
|
|
19014
|
-
return /* @__PURE__ */
|
|
19083
|
+
return /* @__PURE__ */ jsx6(
|
|
19015
19084
|
ConfigDialogState,
|
|
19016
19085
|
{
|
|
19017
19086
|
client,
|
|
@@ -19033,7 +19102,7 @@ function ConfigDialogState({
|
|
|
19033
19102
|
const [restarting, setRestarting] = useState12(false);
|
|
19034
19103
|
const [scope, setScope] = useState12("personal");
|
|
19035
19104
|
const waitingForHost = host?.state === "starting" || host?.state === "updating";
|
|
19036
|
-
|
|
19105
|
+
useEffect8(() => {
|
|
19037
19106
|
if (!waitingForHost) return;
|
|
19038
19107
|
const abort = new AbortController();
|
|
19039
19108
|
let timer;
|
|
@@ -19059,10 +19128,10 @@ function ConfigDialogState({
|
|
|
19059
19128
|
const [failure, setFailure] = useState12(null);
|
|
19060
19129
|
const [fieldErrors, setFieldErrors] = useState12([]);
|
|
19061
19130
|
const [formVersion, setFormVersion] = useState12(0);
|
|
19062
|
-
const alive =
|
|
19063
|
-
const generation2 =
|
|
19064
|
-
const dialog =
|
|
19065
|
-
|
|
19131
|
+
const alive = useRef8(true);
|
|
19132
|
+
const generation2 = useRef8(0);
|
|
19133
|
+
const dialog = useRef8(null);
|
|
19134
|
+
useEffect8(() => {
|
|
19066
19135
|
const element = dialog.current;
|
|
19067
19136
|
if (!element || element.open) return;
|
|
19068
19137
|
if (typeof element.showModal === "function") element.showModal();
|
|
@@ -19088,7 +19157,7 @@ function ConfigDialogState({
|
|
|
19088
19157
|
if (alive.current && generation2.current === current) setLoading(false);
|
|
19089
19158
|
}
|
|
19090
19159
|
};
|
|
19091
|
-
|
|
19160
|
+
useEffect8(() => {
|
|
19092
19161
|
alive.current = true;
|
|
19093
19162
|
setConfig(null);
|
|
19094
19163
|
setFailure(null);
|
|
@@ -19132,9 +19201,9 @@ function ConfigDialogState({
|
|
|
19132
19201
|
if (alive.current) setSaving(false);
|
|
19133
19202
|
}
|
|
19134
19203
|
};
|
|
19135
|
-
return /* @__PURE__ */
|
|
19136
|
-
/* @__PURE__ */
|
|
19137
|
-
/* @__PURE__ */
|
|
19204
|
+
return /* @__PURE__ */ jsxs4(Fragment3, { children: [
|
|
19205
|
+
/* @__PURE__ */ jsx6("style", { children: ".blade-plugin-dialog::backdrop { background: rgb(0 0 0 / 40%); }" }),
|
|
19206
|
+
/* @__PURE__ */ jsxs4(
|
|
19138
19207
|
"dialog",
|
|
19139
19208
|
{
|
|
19140
19209
|
ref: dialog,
|
|
@@ -19159,9 +19228,9 @@ function ConfigDialogState({
|
|
|
19159
19228
|
},
|
|
19160
19229
|
className: "blade-plugin-dialog max-h-[80vh] overflow-y-auto rounded-lg border border-[hsl(var(--border))] bg-[hsl(var(--popover))] p-4 text-[hsl(var(--popover-foreground))] shadow-lg",
|
|
19161
19230
|
children: [
|
|
19162
|
-
/* @__PURE__ */
|
|
19163
|
-
/* @__PURE__ */
|
|
19164
|
-
/* @__PURE__ */
|
|
19231
|
+
/* @__PURE__ */ jsxs4("div", { className: "mb-3 flex items-center gap-2", children: [
|
|
19232
|
+
/* @__PURE__ */ jsx6(SessionPluginIcon, { client, sessionId, plugin }),
|
|
19233
|
+
/* @__PURE__ */ jsx6(
|
|
19165
19234
|
"span",
|
|
19166
19235
|
{
|
|
19167
19236
|
className: "min-w-0 flex-1 truncate text-sm font-medium",
|
|
@@ -19169,7 +19238,7 @@ function ConfigDialogState({
|
|
|
19169
19238
|
children: sessionPluginLabel(plugin)
|
|
19170
19239
|
}
|
|
19171
19240
|
),
|
|
19172
|
-
/* @__PURE__ */
|
|
19241
|
+
/* @__PURE__ */ jsx6(
|
|
19173
19242
|
"button",
|
|
19174
19243
|
{
|
|
19175
19244
|
type: "button",
|
|
@@ -19180,44 +19249,44 @@ function ConfigDialogState({
|
|
|
19180
19249
|
}
|
|
19181
19250
|
)
|
|
19182
19251
|
] }),
|
|
19183
|
-
canConfigureGlobal ? /* @__PURE__ */
|
|
19184
|
-
/* @__PURE__ */
|
|
19185
|
-
/* @__PURE__ */
|
|
19252
|
+
canConfigureGlobal ? /* @__PURE__ */ jsxs4("div", { className: "mb-3 flex gap-2 text-xs", children: [
|
|
19253
|
+
/* @__PURE__ */ jsx6("button", { type: "button", disabled: saving, "aria-pressed": scope === "personal", onClick: () => setScope("personal"), children: "\u6211\u7684\u767B\u5F55" }),
|
|
19254
|
+
/* @__PURE__ */ jsx6("button", { type: "button", disabled: saving, "aria-pressed": scope === "global", onClick: () => setScope("global"), children: "\u7EC4\u7EC7\u5171\u4EAB\u914D\u7F6E" })
|
|
19186
19255
|
] }) : null,
|
|
19187
|
-
host ? /* @__PURE__ */
|
|
19188
|
-
/* @__PURE__ */
|
|
19256
|
+
host ? /* @__PURE__ */ jsxs4("div", { className: "mb-3 space-y-1 text-xs", children: [
|
|
19257
|
+
/* @__PURE__ */ jsxs4("p", { children: [
|
|
19189
19258
|
"\u670D\u52A1\uFF1A",
|
|
19190
19259
|
host.reason,
|
|
19191
19260
|
" \xB7 \u5DF2\u6062\u590D ",
|
|
19192
19261
|
host.restarts,
|
|
19193
19262
|
" \u6B21"
|
|
19194
19263
|
] }),
|
|
19195
|
-
canConfigureGlobal ? /* @__PURE__ */
|
|
19196
|
-
/* @__PURE__ */
|
|
19264
|
+
canConfigureGlobal ? /* @__PURE__ */ jsxs4(Fragment3, { children: [
|
|
19265
|
+
/* @__PURE__ */ jsxs4("p", { className: "break-all text-[hsl(var(--muted-foreground))]", children: [
|
|
19197
19266
|
"\u5305\u6458\u8981\uFF1A",
|
|
19198
19267
|
host.digest,
|
|
19199
19268
|
" \xB7 \u914D\u7F6E\uFF1A",
|
|
19200
19269
|
host.revision
|
|
19201
19270
|
] }),
|
|
19202
|
-
/* @__PURE__ */
|
|
19271
|
+
/* @__PURE__ */ jsx6("button", { type: "button", disabled: restarting || saving, onClick: () => {
|
|
19203
19272
|
setRestarting(true);
|
|
19204
19273
|
void client.sessions.restartSessionPluginHost(sessionId, plugin.name).then(() => load()).catch(() => setFailure("\u670D\u52A1\u6682\u65F6\u4E0D\u53EF\u7528\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5")).finally(() => {
|
|
19205
19274
|
if (alive.current) setRestarting(false);
|
|
19206
19275
|
});
|
|
19207
19276
|
}, children: restarting ? "\u6B63\u5728\u91CD\u542F\u2026" : "\u91CD\u542F\u670D\u52A1" }),
|
|
19208
|
-
host.recent?.length ? /* @__PURE__ */
|
|
19209
|
-
/* @__PURE__ */
|
|
19210
|
-
host.recent.map((line, index2) => /* @__PURE__ */
|
|
19277
|
+
host.recent?.length ? /* @__PURE__ */ jsxs4("details", { children: [
|
|
19278
|
+
/* @__PURE__ */ jsx6("summary", { children: "\u6700\u8FD1\u6D3B\u52A8" }),
|
|
19279
|
+
host.recent.map((line, index2) => /* @__PURE__ */ jsx6("p", { children: line }, `${index2}-${line}`))
|
|
19211
19280
|
] }) : null
|
|
19212
19281
|
] }) : null
|
|
19213
19282
|
] }) : null,
|
|
19214
|
-
scope === "personal" && config?.auth_status === "expired" ? /* @__PURE__ */
|
|
19215
|
-
scope === "personal" && config?.global_ready === false ? /* @__PURE__ */
|
|
19216
|
-
scope === "global" ? /* @__PURE__ */
|
|
19217
|
-
loading ? /* @__PURE__ */
|
|
19218
|
-
loadFailure ? /* @__PURE__ */
|
|
19219
|
-
/* @__PURE__ */
|
|
19220
|
-
/* @__PURE__ */
|
|
19283
|
+
scope === "personal" && config?.auth_status === "expired" ? /* @__PURE__ */ jsx6("p", { className: "mb-2 text-xs", children: "\u767B\u5F55\u5DF2\u8FC7\u671F\uFF0C\u8BF7\u91CD\u65B0\u586B\u5199" }) : null,
|
|
19284
|
+
scope === "personal" && config?.global_ready === false ? /* @__PURE__ */ jsx6("p", { className: "mb-2 text-xs", children: "\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458\u586B\u5199\u5171\u4EAB\u914D\u7F6E" }) : null,
|
|
19285
|
+
scope === "global" ? /* @__PURE__ */ jsx6("p", { className: "mb-2 text-xs", children: "\u5171\u4EAB\u5BC6\u94A5\u7528\u4E8E\u63D2\u4EF6\u670D\u52A1\u3002\u547D\u4EE4\u7C7B\u63D2\u4EF6\u7684\u6C99\u76D2\u4EE3\u7801\u53EF\u4EE5\u8BFB\u53D6\u5B83\uFF1B\u9700\u4FDD\u5BC6\u65F6\u8BF7\u4F7F\u7528\u6258\u7BA1\u670D\u52A1\u3002" }) : null,
|
|
19286
|
+
loading ? /* @__PURE__ */ jsx6("p", { className: "text-xs text-[hsl(var(--muted-foreground))]", children: "\u6B63\u5728\u8BFB\u53D6\u914D\u7F6E\u2026" }) : null,
|
|
19287
|
+
loadFailure ? /* @__PURE__ */ jsxs4("div", { className: "space-y-2 text-xs", children: [
|
|
19288
|
+
/* @__PURE__ */ jsx6("p", { children: loadFailure }),
|
|
19289
|
+
/* @__PURE__ */ jsx6(
|
|
19221
19290
|
"button",
|
|
19222
19291
|
{
|
|
19223
19292
|
type: "button",
|
|
@@ -19227,7 +19296,7 @@ function ConfigDialogState({
|
|
|
19227
19296
|
}
|
|
19228
19297
|
)
|
|
19229
19298
|
] }) : null,
|
|
19230
|
-
config && !loading ? /* @__PURE__ */
|
|
19299
|
+
config && !loading ? /* @__PURE__ */ jsx6(
|
|
19231
19300
|
SessionPluginConfigForm,
|
|
19232
19301
|
{
|
|
19233
19302
|
config,
|
|
@@ -19246,7 +19315,7 @@ function ConfigDialogState({
|
|
|
19246
19315
|
}
|
|
19247
19316
|
|
|
19248
19317
|
// src/components/PluginConnectorList.tsx
|
|
19249
|
-
import { jsx as
|
|
19318
|
+
import { jsx as jsx7, jsxs as jsxs5 } from "react/jsx-runtime";
|
|
19250
19319
|
function PluginSwitch({
|
|
19251
19320
|
label,
|
|
19252
19321
|
checked,
|
|
@@ -19255,7 +19324,7 @@ function PluginSwitch({
|
|
|
19255
19324
|
draft = false,
|
|
19256
19325
|
onToggle
|
|
19257
19326
|
}) {
|
|
19258
|
-
return /* @__PURE__ */
|
|
19327
|
+
return /* @__PURE__ */ jsx7(
|
|
19259
19328
|
"button",
|
|
19260
19329
|
{
|
|
19261
19330
|
type: "button",
|
|
@@ -19265,12 +19334,12 @@ function PluginSwitch({
|
|
|
19265
19334
|
disabled,
|
|
19266
19335
|
onClick: () => onToggle(!checked),
|
|
19267
19336
|
className: `relative inline-flex h-[18px] w-8 shrink-0 cursor-pointer items-center rounded-full border transition-colors disabled:cursor-not-allowed disabled:opacity-50 ${checked ? "border-transparent bg-[hsl(213_94%_55%)]" : "border-[hsl(var(--border))] bg-[hsl(var(--muted))]"}`,
|
|
19268
|
-
children: /* @__PURE__ */
|
|
19337
|
+
children: /* @__PURE__ */ jsx7(
|
|
19269
19338
|
"span",
|
|
19270
19339
|
{
|
|
19271
19340
|
"aria-hidden": "true",
|
|
19272
19341
|
className: `pointer-events-none flex h-3.5 w-3.5 items-center justify-center rounded-full bg-white shadow transition-transform ${checked ? "translate-x-[16px]" : "translate-x-[2px]"}`,
|
|
19273
|
-
children: pending ? /* @__PURE__ */
|
|
19342
|
+
children: pending ? /* @__PURE__ */ jsx7(LoaderCircle, { size: 9, className: "animate-spin text-[hsl(var(--muted-foreground))]" }) : null
|
|
19274
19343
|
}
|
|
19275
19344
|
)
|
|
19276
19345
|
}
|
|
@@ -19295,17 +19364,17 @@ function PluginConnectorList({
|
|
|
19295
19364
|
draft = false
|
|
19296
19365
|
}) {
|
|
19297
19366
|
const configuringItem = configuring ? items.find((item) => item.name === configuring.name) ?? null : null;
|
|
19298
|
-
return /* @__PURE__ */
|
|
19299
|
-
disabledReason ? /* @__PURE__ */
|
|
19300
|
-
items.length === 0 ? /* @__PURE__ */
|
|
19367
|
+
return /* @__PURE__ */ jsxs5("div", { className: "py-0.5", children: [
|
|
19368
|
+
disabledReason ? /* @__PURE__ */ jsx7("div", { className: "px-3 py-1.5 text-[11px] text-[hsl(var(--muted-foreground))]", children: disabledReason }) : null,
|
|
19369
|
+
items.length === 0 ? /* @__PURE__ */ jsx7("div", { className: "px-3 py-1.5 text-[11px] text-[hsl(var(--muted-foreground))]", children: unavailableText ?? emptyText }) : null,
|
|
19301
19370
|
items.map((item) => {
|
|
19302
19371
|
const label = sessionPluginLabel(item);
|
|
19303
19372
|
const actionable = !disabledReason && item.installed !== false || item.active;
|
|
19304
19373
|
const pending = Boolean(inFlight[item.name]);
|
|
19305
19374
|
const checked = item.active;
|
|
19306
|
-
return /* @__PURE__ */
|
|
19307
|
-
/* @__PURE__ */
|
|
19308
|
-
/* @__PURE__ */
|
|
19375
|
+
return /* @__PURE__ */ jsxs5("div", { className: "group px-3 py-1", children: [
|
|
19376
|
+
/* @__PURE__ */ jsxs5("div", { className: "flex items-center gap-2", children: [
|
|
19377
|
+
/* @__PURE__ */ jsx7(
|
|
19309
19378
|
SessionPluginIcon,
|
|
19310
19379
|
{
|
|
19311
19380
|
client,
|
|
@@ -19313,9 +19382,9 @@ function PluginConnectorList({
|
|
|
19313
19382
|
plugin: item
|
|
19314
19383
|
}
|
|
19315
19384
|
),
|
|
19316
|
-
/* @__PURE__ */
|
|
19317
|
-
item.auth_status === "expired" || item.auth_status === "login_required" || item.auth_status === "unavailable" ? /* @__PURE__ */
|
|
19318
|
-
!draft && item.config === "configured" ? /* @__PURE__ */
|
|
19385
|
+
/* @__PURE__ */ jsx7("span", { className: "min-w-0 flex-1 truncate text-[11px]", title: label, children: label }),
|
|
19386
|
+
item.auth_status === "expired" || item.auth_status === "login_required" || item.auth_status === "unavailable" ? /* @__PURE__ */ jsx7("button", { type: "button", disabled: !sessionId || busy, onClick: () => onEditConfig(item), className: "shrink-0 text-[10px] underline", children: item.auth_status === "expired" ? "\u767B\u5F55\u5DF2\u8FC7\u671F" : item.auth_status === "unavailable" ? "\u6682\u65F6\u4E0D\u53EF\u7528" : "\u672A\u767B\u5F55" }) : null,
|
|
19387
|
+
!draft && item.config === "configured" ? /* @__PURE__ */ jsx7(
|
|
19319
19388
|
"button",
|
|
19320
19389
|
{
|
|
19321
19390
|
type: "button",
|
|
@@ -19326,7 +19395,7 @@ function PluginConnectorList({
|
|
|
19326
19395
|
children: "\u66F4\u65B0\u914D\u7F6E"
|
|
19327
19396
|
}
|
|
19328
19397
|
) : null,
|
|
19329
|
-
!draft && (item.config === "required" || item.config === "error") ? /* @__PURE__ */
|
|
19398
|
+
!draft && (item.config === "required" || item.config === "error") ? /* @__PURE__ */ jsx7(
|
|
19330
19399
|
"button",
|
|
19331
19400
|
{
|
|
19332
19401
|
type: "button",
|
|
@@ -19337,7 +19406,7 @@ function PluginConnectorList({
|
|
|
19337
19406
|
children: "\u586B\u5199\u914D\u7F6E"
|
|
19338
19407
|
}
|
|
19339
19408
|
) : null,
|
|
19340
|
-
/* @__PURE__ */
|
|
19409
|
+
/* @__PURE__ */ jsx7(
|
|
19341
19410
|
PluginSwitch,
|
|
19342
19411
|
{
|
|
19343
19412
|
label,
|
|
@@ -19349,9 +19418,9 @@ function PluginConnectorList({
|
|
|
19349
19418
|
}
|
|
19350
19419
|
)
|
|
19351
19420
|
] }),
|
|
19352
|
-
!draft && item.active && item.status !== "valid" && item.status !== "required" ? /* @__PURE__ */
|
|
19353
|
-
/* @__PURE__ */
|
|
19354
|
-
/* @__PURE__ */
|
|
19421
|
+
!draft && item.active && item.status !== "valid" && item.status !== "required" ? /* @__PURE__ */ jsxs5("div", { className: "mt-0.5 flex items-center gap-2 pl-7 text-[10px] text-[hsl(var(--muted-foreground))]", children: [
|
|
19422
|
+
/* @__PURE__ */ jsx7("span", { children: item.reason || "\u63D2\u4EF6\u6682\u4E0D\u53EF\u7528" }),
|
|
19423
|
+
/* @__PURE__ */ jsx7(
|
|
19355
19424
|
"button",
|
|
19356
19425
|
{
|
|
19357
19426
|
type: "button",
|
|
@@ -19364,8 +19433,8 @@ function PluginConnectorList({
|
|
|
19364
19433
|
] }) : null
|
|
19365
19434
|
] }, item.name);
|
|
19366
19435
|
}),
|
|
19367
|
-
mutationError ? /* @__PURE__ */
|
|
19368
|
-
configuring && configuringItem && sessionId ? /* @__PURE__ */
|
|
19436
|
+
mutationError ? /* @__PURE__ */ jsx7("div", { className: "px-3 pt-1 text-[10px] text-[hsl(var(--destructive))]", children: "\u64CD\u4F5C\u672A\u5B8C\u6210\uFF0C\u8BF7\u91CD\u8BD5" }) : null,
|
|
19437
|
+
configuring && configuringItem && sessionId ? /* @__PURE__ */ jsx7(
|
|
19369
19438
|
SessionPluginConfigDialog,
|
|
19370
19439
|
{
|
|
19371
19440
|
client,
|
|
@@ -19386,6 +19455,7 @@ function catalogToConnectorItems(catalog) {
|
|
|
19386
19455
|
icon: entry.icon,
|
|
19387
19456
|
iconSource: "account",
|
|
19388
19457
|
installed: entry.installed,
|
|
19458
|
+
connector: entry.connector,
|
|
19389
19459
|
auth_status: entry.auth_status,
|
|
19390
19460
|
active: false,
|
|
19391
19461
|
status: "not_prepared",
|
|
@@ -19416,6 +19486,7 @@ function mergeConnectorItems(sessionPlugins, catalog) {
|
|
|
19416
19486
|
icon: entry.icon,
|
|
19417
19487
|
iconSource: "account",
|
|
19418
19488
|
installed: entry.installed,
|
|
19489
|
+
connector: entry.connector,
|
|
19419
19490
|
auth_status: entry.auth_status,
|
|
19420
19491
|
active: plugin.active,
|
|
19421
19492
|
status: plugin.status,
|
|
@@ -19434,7 +19505,8 @@ function filterConnectorItems(items, query) {
|
|
|
19434
19505
|
}
|
|
19435
19506
|
|
|
19436
19507
|
// src/components/use-session-plugin-activation.ts
|
|
19437
|
-
import {
|
|
19508
|
+
import { isLocalConnectorName } from "@blade-hq/agent-client/internal";
|
|
19509
|
+
import { useCallback as useCallback19, useEffect as useEffect9, useMemo as useMemo9, useRef as useRef9, useState as useState13 } from "react";
|
|
19438
19510
|
function useSessionPluginActivation({
|
|
19439
19511
|
client,
|
|
19440
19512
|
sessionId,
|
|
@@ -19447,15 +19519,15 @@ function useSessionPluginActivation({
|
|
|
19447
19519
|
const [mutationError, setMutationError] = useState13(false);
|
|
19448
19520
|
const [inFlight, setInFlight] = useState13({});
|
|
19449
19521
|
const [configuring, setConfiguring] = useState13(null);
|
|
19450
|
-
const alive =
|
|
19451
|
-
const generation2 =
|
|
19452
|
-
const mutationGenerations =
|
|
19453
|
-
const desiredActivations =
|
|
19454
|
-
const pendingMutations =
|
|
19455
|
-
const submittedActivations =
|
|
19456
|
-
const serverActive =
|
|
19457
|
-
const lifetime =
|
|
19458
|
-
const request =
|
|
19522
|
+
const alive = useRef9(true);
|
|
19523
|
+
const generation2 = useRef9(0);
|
|
19524
|
+
const mutationGenerations = useRef9(/* @__PURE__ */ new Map());
|
|
19525
|
+
const desiredActivations = useRef9(/* @__PURE__ */ new Map());
|
|
19526
|
+
const pendingMutations = useRef9(/* @__PURE__ */ new Map());
|
|
19527
|
+
const submittedActivations = useRef9(/* @__PURE__ */ new Set());
|
|
19528
|
+
const serverActive = useRef9(/* @__PURE__ */ new Set());
|
|
19529
|
+
const lifetime = useRef9(0);
|
|
19530
|
+
const request = useRef9(null);
|
|
19459
19531
|
const [desiredVersion, setDesiredVersion] = useState13(0);
|
|
19460
19532
|
const setDesired = useCallback19((name, value) => {
|
|
19461
19533
|
if (value === null) {
|
|
@@ -19486,7 +19558,7 @@ function useSessionPluginActivation({
|
|
|
19486
19558
|
return rest;
|
|
19487
19559
|
});
|
|
19488
19560
|
}, []);
|
|
19489
|
-
|
|
19561
|
+
useEffect9(() => {
|
|
19490
19562
|
alive.current = true;
|
|
19491
19563
|
setPlugins([]);
|
|
19492
19564
|
setCatalog(null);
|
|
@@ -19518,7 +19590,7 @@ function useSessionPluginActivation({
|
|
|
19518
19590
|
const result = await client.sessions.listSessionPlugins(sessionId, { signal: controller.signal });
|
|
19519
19591
|
const withConfig = await Promise.all(
|
|
19520
19592
|
result.plugins.map(async (item) => {
|
|
19521
|
-
if (item.config !== void 0 && item.config !== "unchecked") return item;
|
|
19593
|
+
if (isLocalConnectorName(item.name) || item.config !== void 0 && item.config !== "unchecked") return item;
|
|
19522
19594
|
try {
|
|
19523
19595
|
const { config } = await client.sessions.getSessionPluginConfig(sessionId, item.name, {
|
|
19524
19596
|
signal: controller.signal
|
|
@@ -19715,14 +19787,14 @@ import { createInitialSessionState } from "@blade-hq/agent-client/internal";
|
|
|
19715
19787
|
import {
|
|
19716
19788
|
createContext as createContext3,
|
|
19717
19789
|
useContext as useContext3,
|
|
19718
|
-
useEffect as
|
|
19790
|
+
useEffect as useEffect10,
|
|
19719
19791
|
useLayoutEffect,
|
|
19720
19792
|
useMemo as useMemo10,
|
|
19721
|
-
useRef as
|
|
19793
|
+
useRef as useRef10,
|
|
19722
19794
|
useState as useState14,
|
|
19723
19795
|
useSyncExternalStore
|
|
19724
19796
|
} from "react";
|
|
19725
|
-
import { jsx as
|
|
19797
|
+
import { jsx as jsx8 } from "react/jsx-runtime";
|
|
19726
19798
|
var EMPTY_SOURCE = {
|
|
19727
19799
|
subscribe: () => () => {
|
|
19728
19800
|
},
|
|
@@ -19732,7 +19804,7 @@ var EMPTY_SOURCE = {
|
|
|
19732
19804
|
};
|
|
19733
19805
|
var SessionSourceContext = createContext3(EMPTY_SOURCE);
|
|
19734
19806
|
function SessionSourceProvider({ source, children }) {
|
|
19735
|
-
return /* @__PURE__ */
|
|
19807
|
+
return /* @__PURE__ */ jsx8(SessionSourceContext.Provider, { value: source, children });
|
|
19736
19808
|
}
|
|
19737
19809
|
function useSessionSource() {
|
|
19738
19810
|
return useContext3(SessionSourceContext);
|
|
@@ -19781,7 +19853,7 @@ function useSingleSessionSource(session, loading) {
|
|
|
19781
19853
|
useLayoutEffect(() => {
|
|
19782
19854
|
source.update(session, loading);
|
|
19783
19855
|
}, [source, session, loading]);
|
|
19784
|
-
|
|
19856
|
+
useEffect10(() => session ? source.watchPlan(session) : void 0, [source, session]);
|
|
19785
19857
|
return source;
|
|
19786
19858
|
}
|
|
19787
19859
|
var EMPTY_STATE = createInitialSessionState("");
|
|
@@ -19797,7 +19869,7 @@ function useSessionHandle(sessionId) {
|
|
|
19797
19869
|
}
|
|
19798
19870
|
function useSessionState(sessionId, selector) {
|
|
19799
19871
|
const session = useSessionHandle(sessionId);
|
|
19800
|
-
const selectorRef =
|
|
19872
|
+
const selectorRef = useRef10(selector);
|
|
19801
19873
|
selectorRef.current = selector;
|
|
19802
19874
|
const store = useMemo10(() => {
|
|
19803
19875
|
let lastState = null;
|
|
@@ -19839,7 +19911,7 @@ function usePlanRevealRevision(sessionId) {
|
|
|
19839
19911
|
}
|
|
19840
19912
|
var CurrentChatSessionContext = createContext3(null);
|
|
19841
19913
|
function CurrentChatSessionProvider({ sessionId, children }) {
|
|
19842
|
-
return /* @__PURE__ */
|
|
19914
|
+
return /* @__PURE__ */ jsx8(CurrentChatSessionContext.Provider, { value: sessionId, children });
|
|
19843
19915
|
}
|
|
19844
19916
|
function useCurrentChatSessionId() {
|
|
19845
19917
|
return useContext3(CurrentChatSessionContext);
|
|
@@ -19847,11 +19919,11 @@ function useCurrentChatSessionId() {
|
|
|
19847
19919
|
|
|
19848
19920
|
// src/chat/runtime/environment.tsx
|
|
19849
19921
|
import { createContext as createContext4, useContext as useContext4, useMemo as useMemo11 } from "react";
|
|
19850
|
-
import { jsx as
|
|
19922
|
+
import { jsx as jsx9 } from "react/jsx-runtime";
|
|
19851
19923
|
var EMPTY_ENVIRONMENT = {};
|
|
19852
19924
|
var ChatEnvironmentContext = createContext4(EMPTY_ENVIRONMENT);
|
|
19853
19925
|
function ChatEnvironmentProvider({ value, children }) {
|
|
19854
|
-
return /* @__PURE__ */
|
|
19926
|
+
return /* @__PURE__ */ jsx9(ChatEnvironmentContext.Provider, { value, children });
|
|
19855
19927
|
}
|
|
19856
19928
|
function useChatEnvironment() {
|
|
19857
19929
|
return useContext4(ChatEnvironmentContext);
|
|
@@ -20046,13 +20118,13 @@ function useComposedRefs(...refs) {
|
|
|
20046
20118
|
|
|
20047
20119
|
// ../../node_modules/.pnpm/@radix-ui+react-context@1.1.2_@types+react@19.2.14_react@19.2.4/node_modules/@radix-ui/react-context/dist/index.mjs
|
|
20048
20120
|
import * as React2 from "react";
|
|
20049
|
-
import { jsx as
|
|
20121
|
+
import { jsx as jsx10 } from "react/jsx-runtime";
|
|
20050
20122
|
function createContext22(rootComponentName, defaultContext) {
|
|
20051
20123
|
const Context = React2.createContext(defaultContext);
|
|
20052
20124
|
const Provider2 = (props) => {
|
|
20053
20125
|
const { children, ...context } = props;
|
|
20054
20126
|
const value = React2.useMemo(() => context, Object.values(context));
|
|
20055
|
-
return /* @__PURE__ */
|
|
20127
|
+
return /* @__PURE__ */ jsx10(Context.Provider, { value, children });
|
|
20056
20128
|
};
|
|
20057
20129
|
Provider2.displayName = rootComponentName + "Provider";
|
|
20058
20130
|
function useContext22(consumerName) {
|
|
@@ -20073,7 +20145,7 @@ function createContextScope(scopeName, createContextScopeDeps = []) {
|
|
|
20073
20145
|
const { scope, children, ...context } = props;
|
|
20074
20146
|
const Context = scope?.[scopeName]?.[index2] || BaseContext;
|
|
20075
20147
|
const value = React2.useMemo(() => context, Object.values(context));
|
|
20076
|
-
return /* @__PURE__ */
|
|
20148
|
+
return /* @__PURE__ */ jsx10(Context.Provider, { value, children });
|
|
20077
20149
|
};
|
|
20078
20150
|
Provider2.displayName = rootComponentName + "Provider";
|
|
20079
20151
|
function useContext22(consumerName, scope) {
|
|
@@ -20130,7 +20202,7 @@ import * as ReactDOM from "react-dom";
|
|
|
20130
20202
|
|
|
20131
20203
|
// ../../node_modules/.pnpm/@radix-ui+react-slot@1.2.3_@types+react@19.2.14_react@19.2.4/node_modules/@radix-ui/react-slot/dist/index.mjs
|
|
20132
20204
|
import * as React3 from "react";
|
|
20133
|
-
import { Fragment as Fragment22, jsx as
|
|
20205
|
+
import { Fragment as Fragment22, jsx as jsx11 } from "react/jsx-runtime";
|
|
20134
20206
|
// @__NO_SIDE_EFFECTS__
|
|
20135
20207
|
function createSlot(ownerName) {
|
|
20136
20208
|
const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);
|
|
@@ -20148,9 +20220,9 @@ function createSlot(ownerName) {
|
|
|
20148
20220
|
return child;
|
|
20149
20221
|
}
|
|
20150
20222
|
});
|
|
20151
|
-
return /* @__PURE__ */
|
|
20223
|
+
return /* @__PURE__ */ jsx11(SlotClone, { ...slotProps, ref: forwardedRef, children: React3.isValidElement(newElement) ? React3.cloneElement(newElement, void 0, newChildren) : null });
|
|
20152
20224
|
}
|
|
20153
|
-
return /* @__PURE__ */
|
|
20225
|
+
return /* @__PURE__ */ jsx11(SlotClone, { ...slotProps, ref: forwardedRef, children });
|
|
20154
20226
|
});
|
|
20155
20227
|
Slot22.displayName = `${ownerName}.Slot`;
|
|
20156
20228
|
return Slot22;
|
|
@@ -20176,7 +20248,7 @@ var SLOTTABLE_IDENTIFIER = /* @__PURE__ */ Symbol("radix.slottable");
|
|
|
20176
20248
|
// @__NO_SIDE_EFFECTS__
|
|
20177
20249
|
function createSlottable(ownerName) {
|
|
20178
20250
|
const Slottable2 = ({ children }) => {
|
|
20179
|
-
return /* @__PURE__ */
|
|
20251
|
+
return /* @__PURE__ */ jsx11(Fragment22, { children });
|
|
20180
20252
|
};
|
|
20181
20253
|
Slottable2.displayName = `${ownerName}.Slottable`;
|
|
20182
20254
|
Slottable2.__radixId = SLOTTABLE_IDENTIFIER;
|
|
@@ -20224,7 +20296,7 @@ function getElementRef(element) {
|
|
|
20224
20296
|
}
|
|
20225
20297
|
|
|
20226
20298
|
// ../../node_modules/.pnpm/@radix-ui+react-primitive@2.1.3_@types+react-dom@19.2.3_@types+react@19.2.14__@types+re_1181ea5061ec9212248424669240e4ec/node_modules/@radix-ui/react-primitive/dist/index.mjs
|
|
20227
|
-
import { jsx as
|
|
20299
|
+
import { jsx as jsx12 } from "react/jsx-runtime";
|
|
20228
20300
|
var NODES = [
|
|
20229
20301
|
"a",
|
|
20230
20302
|
"button",
|
|
@@ -20252,7 +20324,7 @@ var Primitive = NODES.reduce((primitive, node) => {
|
|
|
20252
20324
|
if (typeof window !== "undefined") {
|
|
20253
20325
|
window[/* @__PURE__ */ Symbol.for("radix-ui")] = true;
|
|
20254
20326
|
}
|
|
20255
|
-
return /* @__PURE__ */
|
|
20327
|
+
return /* @__PURE__ */ jsx12(Comp, { ...primitiveProps, ref: forwardedRef });
|
|
20256
20328
|
});
|
|
20257
20329
|
Node2.displayName = `Primitive.${node}`;
|
|
20258
20330
|
return { ...primitive, [node]: Node2 };
|
|
@@ -20287,7 +20359,7 @@ function useEscapeKeydown(onEscapeKeyDownProp, ownerDocument = globalThis?.docum
|
|
|
20287
20359
|
}
|
|
20288
20360
|
|
|
20289
20361
|
// ../../node_modules/.pnpm/@radix-ui+react-dismissable-layer@1.1.11_@types+react-dom@19.2.3_@types+react@19.2.14___3d3960154a4c07d09bb90cb341135fc5/node_modules/@radix-ui/react-dismissable-layer/dist/index.mjs
|
|
20290
|
-
import { jsx as
|
|
20362
|
+
import { jsx as jsx13 } from "react/jsx-runtime";
|
|
20291
20363
|
var DISMISSABLE_LAYER_NAME = "DismissableLayer";
|
|
20292
20364
|
var CONTEXT_UPDATE = "dismissableLayer.update";
|
|
20293
20365
|
var POINTER_DOWN_OUTSIDE = "dismissableLayer.pointerDownOutside";
|
|
@@ -20375,7 +20447,7 @@ var DismissableLayer = React7.forwardRef(
|
|
|
20375
20447
|
document.addEventListener(CONTEXT_UPDATE, handleUpdate);
|
|
20376
20448
|
return () => document.removeEventListener(CONTEXT_UPDATE, handleUpdate);
|
|
20377
20449
|
}, []);
|
|
20378
|
-
return /* @__PURE__ */
|
|
20450
|
+
return /* @__PURE__ */ jsx13(
|
|
20379
20451
|
Primitive.div,
|
|
20380
20452
|
{
|
|
20381
20453
|
...layerProps,
|
|
@@ -20409,7 +20481,7 @@ var DismissableLayerBranch = React7.forwardRef((props, forwardedRef) => {
|
|
|
20409
20481
|
};
|
|
20410
20482
|
}
|
|
20411
20483
|
}, [context.branches]);
|
|
20412
|
-
return /* @__PURE__ */
|
|
20484
|
+
return /* @__PURE__ */ jsx13(Primitive.div, { ...props, ref: composedRefs });
|
|
20413
20485
|
});
|
|
20414
20486
|
DismissableLayerBranch.displayName = BRANCH_NAME;
|
|
20415
20487
|
function usePointerDownOutside(onPointerDownOutside, ownerDocument = globalThis?.document) {
|
|
@@ -20521,7 +20593,7 @@ function createFocusGuard() {
|
|
|
20521
20593
|
|
|
20522
20594
|
// ../../node_modules/.pnpm/@radix-ui+react-focus-scope@1.1.7_@types+react-dom@19.2.3_@types+react@19.2.14__@types+_f62f3af4ca2ba305a7aecf04c8534604/node_modules/@radix-ui/react-focus-scope/dist/index.mjs
|
|
20523
20595
|
import * as React9 from "react";
|
|
20524
|
-
import { jsx as
|
|
20596
|
+
import { jsx as jsx14 } from "react/jsx-runtime";
|
|
20525
20597
|
var AUTOFOCUS_ON_MOUNT = "focusScope.autoFocusOnMount";
|
|
20526
20598
|
var AUTOFOCUS_ON_UNMOUNT = "focusScope.autoFocusOnUnmount";
|
|
20527
20599
|
var EVENT_OPTIONS = { bubbles: false, cancelable: true };
|
|
@@ -20640,7 +20712,7 @@ var FocusScope = React9.forwardRef((props, forwardedRef) => {
|
|
|
20640
20712
|
},
|
|
20641
20713
|
[loop, trapped, focusScope.paused]
|
|
20642
20714
|
);
|
|
20643
|
-
return /* @__PURE__ */
|
|
20715
|
+
return /* @__PURE__ */ jsx14(Primitive.div, { tabIndex: -1, ...scopeProps, ref: composedRefs, onKeyDown: handleKeyDown });
|
|
20644
20716
|
});
|
|
20645
20717
|
FocusScope.displayName = FOCUS_SCOPE_NAME;
|
|
20646
20718
|
function focusFirst(candidates, { select = false } = {}) {
|
|
@@ -22675,11 +22747,11 @@ var arrow3 = (options, deps) => {
|
|
|
22675
22747
|
|
|
22676
22748
|
// ../../node_modules/.pnpm/@radix-ui+react-arrow@1.1.7_@types+react-dom@19.2.3_@types+react@19.2.14__@types+react@_e05f2c19a58a99fddf374207b5e3778c/node_modules/@radix-ui/react-arrow/dist/index.mjs
|
|
22677
22749
|
import * as React13 from "react";
|
|
22678
|
-
import { jsx as
|
|
22750
|
+
import { jsx as jsx15 } from "react/jsx-runtime";
|
|
22679
22751
|
var NAME = "Arrow";
|
|
22680
22752
|
var Arrow = React13.forwardRef((props, forwardedRef) => {
|
|
22681
22753
|
const { children, width = 10, height = 5, ...arrowProps } = props;
|
|
22682
|
-
return /* @__PURE__ */
|
|
22754
|
+
return /* @__PURE__ */ jsx15(
|
|
22683
22755
|
Primitive.svg,
|
|
22684
22756
|
{
|
|
22685
22757
|
...arrowProps,
|
|
@@ -22688,7 +22760,7 @@ var Arrow = React13.forwardRef((props, forwardedRef) => {
|
|
|
22688
22760
|
height,
|
|
22689
22761
|
viewBox: "0 0 30 10",
|
|
22690
22762
|
preserveAspectRatio: "none",
|
|
22691
|
-
children: props.asChild ? children : /* @__PURE__ */
|
|
22763
|
+
children: props.asChild ? children : /* @__PURE__ */ jsx15("polygon", { points: "0,0 30,0 15,10" })
|
|
22692
22764
|
}
|
|
22693
22765
|
);
|
|
22694
22766
|
});
|
|
@@ -22733,14 +22805,14 @@ function useSize(element) {
|
|
|
22733
22805
|
}
|
|
22734
22806
|
|
|
22735
22807
|
// ../../node_modules/.pnpm/@radix-ui+react-popper@1.2.8_@types+react-dom@19.2.3_@types+react@19.2.14__@types+react_13e0521d8aea7ebfbfb8bee1fb615c05/node_modules/@radix-ui/react-popper/dist/index.mjs
|
|
22736
|
-
import { jsx as
|
|
22808
|
+
import { jsx as jsx16 } from "react/jsx-runtime";
|
|
22737
22809
|
var POPPER_NAME = "Popper";
|
|
22738
22810
|
var [createPopperContext, createPopperScope] = createContextScope(POPPER_NAME);
|
|
22739
22811
|
var [PopperProvider, usePopperContext] = createPopperContext(POPPER_NAME);
|
|
22740
22812
|
var Popper = (props) => {
|
|
22741
22813
|
const { __scopePopper, children } = props;
|
|
22742
22814
|
const [anchor, setAnchor] = React15.useState(null);
|
|
22743
|
-
return /* @__PURE__ */
|
|
22815
|
+
return /* @__PURE__ */ jsx16(PopperProvider, { scope: __scopePopper, anchor, onAnchorChange: setAnchor, children });
|
|
22744
22816
|
};
|
|
22745
22817
|
Popper.displayName = POPPER_NAME;
|
|
22746
22818
|
var ANCHOR_NAME = "PopperAnchor";
|
|
@@ -22758,7 +22830,7 @@ var PopperAnchor = React15.forwardRef(
|
|
|
22758
22830
|
context.onAnchorChange(anchorRef.current);
|
|
22759
22831
|
}
|
|
22760
22832
|
});
|
|
22761
|
-
return virtualRef ? null : /* @__PURE__ */
|
|
22833
|
+
return virtualRef ? null : /* @__PURE__ */ jsx16(Primitive.div, { ...anchorProps, ref: composedRefs });
|
|
22762
22834
|
}
|
|
22763
22835
|
);
|
|
22764
22836
|
PopperAnchor.displayName = ANCHOR_NAME;
|
|
@@ -22851,7 +22923,7 @@ var PopperContent = React15.forwardRef(
|
|
|
22851
22923
|
useLayoutEffect22(() => {
|
|
22852
22924
|
if (content) setContentZIndex(window.getComputedStyle(content).zIndex);
|
|
22853
22925
|
}, [content]);
|
|
22854
|
-
return /* @__PURE__ */
|
|
22926
|
+
return /* @__PURE__ */ jsx16(
|
|
22855
22927
|
"div",
|
|
22856
22928
|
{
|
|
22857
22929
|
ref: refs.setFloating,
|
|
@@ -22875,7 +22947,7 @@ var PopperContent = React15.forwardRef(
|
|
|
22875
22947
|
}
|
|
22876
22948
|
},
|
|
22877
22949
|
dir: props.dir,
|
|
22878
|
-
children: /* @__PURE__ */
|
|
22950
|
+
children: /* @__PURE__ */ jsx16(
|
|
22879
22951
|
PopperContentProvider,
|
|
22880
22952
|
{
|
|
22881
22953
|
scope: __scopePopper,
|
|
@@ -22884,7 +22956,7 @@ var PopperContent = React15.forwardRef(
|
|
|
22884
22956
|
arrowX,
|
|
22885
22957
|
arrowY,
|
|
22886
22958
|
shouldHideArrow: cannotCenterArrow,
|
|
22887
|
-
children: /* @__PURE__ */
|
|
22959
|
+
children: /* @__PURE__ */ jsx16(
|
|
22888
22960
|
Primitive.div,
|
|
22889
22961
|
{
|
|
22890
22962
|
"data-side": placedSide,
|
|
@@ -22921,7 +22993,7 @@ var PopperArrow = React15.forwardRef(function PopperArrow2(props, forwardedRef)
|
|
|
22921
22993
|
// we have to use an extra wrapper because `ResizeObserver` (used by `useSize`)
|
|
22922
22994
|
// doesn't report size as we'd expect on SVG elements.
|
|
22923
22995
|
// it reports their bounding box which is effectively the largest path inside the SVG.
|
|
22924
|
-
/* @__PURE__ */
|
|
22996
|
+
/* @__PURE__ */ jsx16(
|
|
22925
22997
|
"span",
|
|
22926
22998
|
{
|
|
22927
22999
|
ref: contentContext.onArrowChange,
|
|
@@ -22944,7 +23016,7 @@ var PopperArrow = React15.forwardRef(function PopperArrow2(props, forwardedRef)
|
|
|
22944
23016
|
}[contentContext.placedSide],
|
|
22945
23017
|
visibility: contentContext.shouldHideArrow ? "hidden" : void 0
|
|
22946
23018
|
},
|
|
22947
|
-
children: /* @__PURE__ */
|
|
23019
|
+
children: /* @__PURE__ */ jsx16(
|
|
22948
23020
|
Root,
|
|
22949
23021
|
{
|
|
22950
23022
|
...arrowProps,
|
|
@@ -23007,14 +23079,14 @@ var Arrow2 = PopperArrow;
|
|
|
23007
23079
|
// ../../node_modules/.pnpm/@radix-ui+react-portal@1.1.9_@types+react-dom@19.2.3_@types+react@19.2.14__@types+react_7668895bec2444446faa4e0f4eb5244b/node_modules/@radix-ui/react-portal/dist/index.mjs
|
|
23008
23080
|
import * as React16 from "react";
|
|
23009
23081
|
import ReactDOM3 from "react-dom";
|
|
23010
|
-
import { jsx as
|
|
23082
|
+
import { jsx as jsx17 } from "react/jsx-runtime";
|
|
23011
23083
|
var PORTAL_NAME = "Portal";
|
|
23012
23084
|
var Portal = React16.forwardRef((props, forwardedRef) => {
|
|
23013
23085
|
const { container: containerProp, ...portalProps } = props;
|
|
23014
23086
|
const [mounted, setMounted] = React16.useState(false);
|
|
23015
23087
|
useLayoutEffect22(() => setMounted(true), []);
|
|
23016
23088
|
const container = containerProp || mounted && globalThis?.document?.body;
|
|
23017
|
-
return container ? ReactDOM3.createPortal(/* @__PURE__ */
|
|
23089
|
+
return container ? ReactDOM3.createPortal(/* @__PURE__ */ jsx17(Primitive.div, { ...portalProps, ref: forwardedRef }), container) : null;
|
|
23018
23090
|
});
|
|
23019
23091
|
Portal.displayName = PORTAL_NAME;
|
|
23020
23092
|
|
|
@@ -24054,7 +24126,7 @@ ReactRemoveScroll.classNames = RemoveScroll.classNames;
|
|
|
24054
24126
|
var Combination_default = ReactRemoveScroll;
|
|
24055
24127
|
|
|
24056
24128
|
// ../../node_modules/.pnpm/@radix-ui+react-popover@1.1.15_@types+react-dom@19.2.3_@types+react@19.2.14__@types+rea_8b5332f8e883134e9d9ab2856fc4395d/node_modules/@radix-ui/react-popover/dist/index.mjs
|
|
24057
|
-
import { jsx as
|
|
24129
|
+
import { jsx as jsx18 } from "react/jsx-runtime";
|
|
24058
24130
|
var POPOVER_NAME = "Popover";
|
|
24059
24131
|
var [createPopoverContext, createPopoverScope] = createContextScope(POPOVER_NAME, [
|
|
24060
24132
|
createPopperScope
|
|
@@ -24079,7 +24151,7 @@ var Popover = (props) => {
|
|
|
24079
24151
|
onChange: onOpenChange,
|
|
24080
24152
|
caller: POPOVER_NAME
|
|
24081
24153
|
});
|
|
24082
|
-
return /* @__PURE__ */
|
|
24154
|
+
return /* @__PURE__ */ jsx18(Root2, { ...popperScope, children: /* @__PURE__ */ jsx18(
|
|
24083
24155
|
PopoverProvider,
|
|
24084
24156
|
{
|
|
24085
24157
|
scope: __scopePopover,
|
|
@@ -24108,7 +24180,7 @@ var PopoverAnchor = React28.forwardRef(
|
|
|
24108
24180
|
onCustomAnchorAdd();
|
|
24109
24181
|
return () => onCustomAnchorRemove();
|
|
24110
24182
|
}, [onCustomAnchorAdd, onCustomAnchorRemove]);
|
|
24111
|
-
return /* @__PURE__ */
|
|
24183
|
+
return /* @__PURE__ */ jsx18(Anchor, { ...popperScope, ...anchorProps, ref: forwardedRef });
|
|
24112
24184
|
}
|
|
24113
24185
|
);
|
|
24114
24186
|
PopoverAnchor.displayName = ANCHOR_NAME2;
|
|
@@ -24119,7 +24191,7 @@ var PopoverTrigger = React28.forwardRef(
|
|
|
24119
24191
|
const context = usePopoverContext(TRIGGER_NAME, __scopePopover);
|
|
24120
24192
|
const popperScope = usePopperScope(__scopePopover);
|
|
24121
24193
|
const composedTriggerRef = useComposedRefs(forwardedRef, context.triggerRef);
|
|
24122
|
-
const trigger = /* @__PURE__ */
|
|
24194
|
+
const trigger = /* @__PURE__ */ jsx18(
|
|
24123
24195
|
Primitive.button,
|
|
24124
24196
|
{
|
|
24125
24197
|
type: "button",
|
|
@@ -24132,7 +24204,7 @@ var PopoverTrigger = React28.forwardRef(
|
|
|
24132
24204
|
onClick: composeEventHandlers(props.onClick, context.onOpenToggle)
|
|
24133
24205
|
}
|
|
24134
24206
|
);
|
|
24135
|
-
return context.hasCustomAnchor ? trigger : /* @__PURE__ */
|
|
24207
|
+
return context.hasCustomAnchor ? trigger : /* @__PURE__ */ jsx18(Anchor, { asChild: true, ...popperScope, children: trigger });
|
|
24136
24208
|
}
|
|
24137
24209
|
);
|
|
24138
24210
|
PopoverTrigger.displayName = TRIGGER_NAME;
|
|
@@ -24143,7 +24215,7 @@ var [PortalProvider, usePortalContext] = createPopoverContext(PORTAL_NAME2, {
|
|
|
24143
24215
|
var PopoverPortal = (props) => {
|
|
24144
24216
|
const { __scopePopover, forceMount, children, container } = props;
|
|
24145
24217
|
const context = usePopoverContext(PORTAL_NAME2, __scopePopover);
|
|
24146
|
-
return /* @__PURE__ */
|
|
24218
|
+
return /* @__PURE__ */ jsx18(PortalProvider, { scope: __scopePopover, forceMount, children: /* @__PURE__ */ jsx18(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx18(Portal, { asChild: true, container, children }) }) });
|
|
24147
24219
|
};
|
|
24148
24220
|
PopoverPortal.displayName = PORTAL_NAME2;
|
|
24149
24221
|
var CONTENT_NAME2 = "PopoverContent";
|
|
@@ -24152,7 +24224,7 @@ var PopoverContent = React28.forwardRef(
|
|
|
24152
24224
|
const portalContext = usePortalContext(CONTENT_NAME2, props.__scopePopover);
|
|
24153
24225
|
const { forceMount = portalContext.forceMount, ...contentProps } = props;
|
|
24154
24226
|
const context = usePopoverContext(CONTENT_NAME2, props.__scopePopover);
|
|
24155
|
-
return /* @__PURE__ */
|
|
24227
|
+
return /* @__PURE__ */ jsx18(Presence, { present: forceMount || context.open, children: context.modal ? /* @__PURE__ */ jsx18(PopoverContentModal, { ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ jsx18(PopoverContentNonModal, { ...contentProps, ref: forwardedRef }) });
|
|
24156
24228
|
}
|
|
24157
24229
|
);
|
|
24158
24230
|
PopoverContent.displayName = CONTENT_NAME2;
|
|
@@ -24167,7 +24239,7 @@ var PopoverContentModal = React28.forwardRef(
|
|
|
24167
24239
|
const content = contentRef.current;
|
|
24168
24240
|
if (content) return hideOthers(content);
|
|
24169
24241
|
}, []);
|
|
24170
|
-
return /* @__PURE__ */
|
|
24242
|
+
return /* @__PURE__ */ jsx18(Combination_default, { as: Slot, allowPinchZoom: true, children: /* @__PURE__ */ jsx18(
|
|
24171
24243
|
PopoverContentImpl,
|
|
24172
24244
|
{
|
|
24173
24245
|
...props,
|
|
@@ -24202,7 +24274,7 @@ var PopoverContentNonModal = React28.forwardRef(
|
|
|
24202
24274
|
const context = usePopoverContext(CONTENT_NAME2, props.__scopePopover);
|
|
24203
24275
|
const hasInteractedOutsideRef = React28.useRef(false);
|
|
24204
24276
|
const hasPointerDownOutsideRef = React28.useRef(false);
|
|
24205
|
-
return /* @__PURE__ */
|
|
24277
|
+
return /* @__PURE__ */ jsx18(
|
|
24206
24278
|
PopoverContentImpl,
|
|
24207
24279
|
{
|
|
24208
24280
|
...props,
|
|
@@ -24254,7 +24326,7 @@ var PopoverContentImpl = React28.forwardRef(
|
|
|
24254
24326
|
const context = usePopoverContext(CONTENT_NAME2, __scopePopover);
|
|
24255
24327
|
const popperScope = usePopperScope(__scopePopover);
|
|
24256
24328
|
useFocusGuards();
|
|
24257
|
-
return /* @__PURE__ */
|
|
24329
|
+
return /* @__PURE__ */ jsx18(
|
|
24258
24330
|
FocusScope,
|
|
24259
24331
|
{
|
|
24260
24332
|
asChild: true,
|
|
@@ -24262,7 +24334,7 @@ var PopoverContentImpl = React28.forwardRef(
|
|
|
24262
24334
|
trapped: trapFocus,
|
|
24263
24335
|
onMountAutoFocus: onOpenAutoFocus,
|
|
24264
24336
|
onUnmountAutoFocus: onCloseAutoFocus,
|
|
24265
|
-
children: /* @__PURE__ */
|
|
24337
|
+
children: /* @__PURE__ */ jsx18(
|
|
24266
24338
|
DismissableLayer,
|
|
24267
24339
|
{
|
|
24268
24340
|
asChild: true,
|
|
@@ -24272,7 +24344,7 @@ var PopoverContentImpl = React28.forwardRef(
|
|
|
24272
24344
|
onPointerDownOutside,
|
|
24273
24345
|
onFocusOutside,
|
|
24274
24346
|
onDismiss: () => context.onOpenChange(false),
|
|
24275
|
-
children: /* @__PURE__ */
|
|
24347
|
+
children: /* @__PURE__ */ jsx18(
|
|
24276
24348
|
Content,
|
|
24277
24349
|
{
|
|
24278
24350
|
"data-state": getState(context.open),
|
|
@@ -24305,7 +24377,7 @@ var PopoverClose = React28.forwardRef(
|
|
|
24305
24377
|
(props, forwardedRef) => {
|
|
24306
24378
|
const { __scopePopover, ...closeProps } = props;
|
|
24307
24379
|
const context = usePopoverContext(CLOSE_NAME, __scopePopover);
|
|
24308
|
-
return /* @__PURE__ */
|
|
24380
|
+
return /* @__PURE__ */ jsx18(
|
|
24309
24381
|
Primitive.button,
|
|
24310
24382
|
{
|
|
24311
24383
|
type: "button",
|
|
@@ -24322,7 +24394,7 @@ var PopoverArrow = React28.forwardRef(
|
|
|
24322
24394
|
(props, forwardedRef) => {
|
|
24323
24395
|
const { __scopePopover, ...arrowProps } = props;
|
|
24324
24396
|
const popperScope = usePopperScope(__scopePopover);
|
|
24325
|
-
return /* @__PURE__ */
|
|
24397
|
+
return /* @__PURE__ */ jsx18(Arrow2, { ...popperScope, ...arrowProps, ref: forwardedRef });
|
|
24326
24398
|
}
|
|
24327
24399
|
);
|
|
24328
24400
|
PopoverArrow.displayName = ARROW_NAME2;
|
|
@@ -24358,7 +24430,7 @@ import * as React30 from "react";
|
|
|
24358
24430
|
|
|
24359
24431
|
// ../../node_modules/.pnpm/@radix-ui+react-visually-hidden@1.2.3_@types+react-dom@19.2.3_@types+react@19.2.14__@ty_fa89646d7248b32d1762bf88948f6339/node_modules/@radix-ui/react-visually-hidden/dist/index.mjs
|
|
24360
24432
|
import * as React29 from "react";
|
|
24361
|
-
import { jsx as
|
|
24433
|
+
import { jsx as jsx19 } from "react/jsx-runtime";
|
|
24362
24434
|
var VISUALLY_HIDDEN_STYLES = Object.freeze({
|
|
24363
24435
|
// See: https://github.com/twbs/bootstrap/blob/main/scss/mixins/_visually-hidden.scss
|
|
24364
24436
|
position: "absolute",
|
|
@@ -24375,7 +24447,7 @@ var VISUALLY_HIDDEN_STYLES = Object.freeze({
|
|
|
24375
24447
|
var NAME2 = "VisuallyHidden";
|
|
24376
24448
|
var VisuallyHidden = React29.forwardRef(
|
|
24377
24449
|
(props, forwardedRef) => {
|
|
24378
|
-
return /* @__PURE__ */
|
|
24450
|
+
return /* @__PURE__ */ jsx19(
|
|
24379
24451
|
Primitive.span,
|
|
24380
24452
|
{
|
|
24381
24453
|
...props,
|
|
@@ -24389,7 +24461,7 @@ VisuallyHidden.displayName = NAME2;
|
|
|
24389
24461
|
var Root3 = VisuallyHidden;
|
|
24390
24462
|
|
|
24391
24463
|
// ../../node_modules/.pnpm/@radix-ui+react-tooltip@1.2.8_@types+react-dom@19.2.3_@types+react@19.2.14__@types+reac_9074d9fb06315b089b2bee17c4c65951/node_modules/@radix-ui/react-tooltip/dist/index.mjs
|
|
24392
|
-
import { jsx as
|
|
24464
|
+
import { jsx as jsx20, jsxs as jsxs6 } from "react/jsx-runtime";
|
|
24393
24465
|
var [createTooltipContext, createTooltipScope] = createContextScope("Tooltip", [
|
|
24394
24466
|
createPopperScope
|
|
24395
24467
|
]);
|
|
@@ -24413,7 +24485,7 @@ var TooltipProvider = (props) => {
|
|
|
24413
24485
|
const skipDelayTimer = skipDelayTimerRef.current;
|
|
24414
24486
|
return () => window.clearTimeout(skipDelayTimer);
|
|
24415
24487
|
}, []);
|
|
24416
|
-
return /* @__PURE__ */
|
|
24488
|
+
return /* @__PURE__ */ jsx20(
|
|
24417
24489
|
TooltipProviderContextProvider,
|
|
24418
24490
|
{
|
|
24419
24491
|
scope: __scopeTooltip,
|
|
@@ -24504,7 +24576,7 @@ var Tooltip = (props) => {
|
|
|
24504
24576
|
}
|
|
24505
24577
|
};
|
|
24506
24578
|
}, []);
|
|
24507
|
-
return /* @__PURE__ */
|
|
24579
|
+
return /* @__PURE__ */ jsx20(Root2, { ...popperScope, children: /* @__PURE__ */ jsx20(
|
|
24508
24580
|
TooltipContextProvider,
|
|
24509
24581
|
{
|
|
24510
24582
|
scope: __scopeTooltip,
|
|
@@ -24548,7 +24620,7 @@ var TooltipTrigger = React30.forwardRef(
|
|
|
24548
24620
|
React30.useEffect(() => {
|
|
24549
24621
|
return () => document.removeEventListener("pointerup", handlePointerUp);
|
|
24550
24622
|
}, [handlePointerUp]);
|
|
24551
|
-
return /* @__PURE__ */
|
|
24623
|
+
return /* @__PURE__ */ jsx20(Anchor, { asChild: true, ...popperScope, children: /* @__PURE__ */ jsx20(
|
|
24552
24624
|
Primitive.button,
|
|
24553
24625
|
{
|
|
24554
24626
|
"aria-describedby": context.open ? context.contentId : void 0,
|
|
@@ -24590,7 +24662,7 @@ var [PortalProvider2, usePortalContext2] = createTooltipContext(PORTAL_NAME3, {
|
|
|
24590
24662
|
var TooltipPortal = (props) => {
|
|
24591
24663
|
const { __scopeTooltip, forceMount, children, container } = props;
|
|
24592
24664
|
const context = useTooltipContext(PORTAL_NAME3, __scopeTooltip);
|
|
24593
|
-
return /* @__PURE__ */
|
|
24665
|
+
return /* @__PURE__ */ jsx20(PortalProvider2, { scope: __scopeTooltip, forceMount, children: /* @__PURE__ */ jsx20(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx20(Portal, { asChild: true, container, children }) }) });
|
|
24594
24666
|
};
|
|
24595
24667
|
TooltipPortal.displayName = PORTAL_NAME3;
|
|
24596
24668
|
var CONTENT_NAME3 = "TooltipContent";
|
|
@@ -24599,7 +24671,7 @@ var TooltipContent = React30.forwardRef(
|
|
|
24599
24671
|
const portalContext = usePortalContext2(CONTENT_NAME3, props.__scopeTooltip);
|
|
24600
24672
|
const { forceMount = portalContext.forceMount, side = "top", ...contentProps } = props;
|
|
24601
24673
|
const context = useTooltipContext(CONTENT_NAME3, props.__scopeTooltip);
|
|
24602
|
-
return /* @__PURE__ */
|
|
24674
|
+
return /* @__PURE__ */ jsx20(Presence, { present: forceMount || context.open, children: context.disableHoverableContent ? /* @__PURE__ */ jsx20(TooltipContentImpl, { side, ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ jsx20(TooltipContentHoverable, { side, ...contentProps, ref: forwardedRef }) });
|
|
24603
24675
|
}
|
|
24604
24676
|
);
|
|
24605
24677
|
var TooltipContentHoverable = React30.forwardRef((props, forwardedRef) => {
|
|
@@ -24661,7 +24733,7 @@ var TooltipContentHoverable = React30.forwardRef((props, forwardedRef) => {
|
|
|
24661
24733
|
return () => document.removeEventListener("pointermove", handleTrackPointerGrace);
|
|
24662
24734
|
}
|
|
24663
24735
|
}, [trigger, content, pointerGraceArea, onClose, handleRemoveGraceArea]);
|
|
24664
|
-
return /* @__PURE__ */
|
|
24736
|
+
return /* @__PURE__ */ jsx20(TooltipContentImpl, { ...props, ref: composedRefs });
|
|
24665
24737
|
});
|
|
24666
24738
|
var [VisuallyHiddenContentContextProvider, useVisuallyHiddenContentContext] = createTooltipContext(TOOLTIP_NAME, { isInside: false });
|
|
24667
24739
|
var Slottable = createSlottable("TooltipContent");
|
|
@@ -24692,7 +24764,7 @@ var TooltipContentImpl = React30.forwardRef(
|
|
|
24692
24764
|
return () => window.removeEventListener("scroll", handleScroll2, { capture: true });
|
|
24693
24765
|
}
|
|
24694
24766
|
}, [context.trigger, onClose]);
|
|
24695
|
-
return /* @__PURE__ */
|
|
24767
|
+
return /* @__PURE__ */ jsx20(
|
|
24696
24768
|
DismissableLayer,
|
|
24697
24769
|
{
|
|
24698
24770
|
asChild: true,
|
|
@@ -24701,7 +24773,7 @@ var TooltipContentImpl = React30.forwardRef(
|
|
|
24701
24773
|
onPointerDownOutside,
|
|
24702
24774
|
onFocusOutside: (event) => event.preventDefault(),
|
|
24703
24775
|
onDismiss: onClose,
|
|
24704
|
-
children: /* @__PURE__ */
|
|
24776
|
+
children: /* @__PURE__ */ jsxs6(
|
|
24705
24777
|
Content,
|
|
24706
24778
|
{
|
|
24707
24779
|
"data-state": context.stateAttribute,
|
|
@@ -24720,8 +24792,8 @@ var TooltipContentImpl = React30.forwardRef(
|
|
|
24720
24792
|
}
|
|
24721
24793
|
},
|
|
24722
24794
|
children: [
|
|
24723
|
-
/* @__PURE__ */
|
|
24724
|
-
/* @__PURE__ */
|
|
24795
|
+
/* @__PURE__ */ jsx20(Slottable, { children }),
|
|
24796
|
+
/* @__PURE__ */ jsx20(VisuallyHiddenContentContextProvider, { scope: __scopeTooltip, isInside: true, children: /* @__PURE__ */ jsx20(Root3, { id: context.contentId, role: "tooltip", children: ariaLabel || children }) })
|
|
24725
24797
|
]
|
|
24726
24798
|
}
|
|
24727
24799
|
)
|
|
@@ -24739,7 +24811,7 @@ var TooltipArrow = React30.forwardRef(
|
|
|
24739
24811
|
ARROW_NAME3,
|
|
24740
24812
|
__scopeTooltip
|
|
24741
24813
|
);
|
|
24742
|
-
return visuallyHiddenContentContext.isInside ? null : /* @__PURE__ */
|
|
24814
|
+
return visuallyHiddenContentContext.isInside ? null : /* @__PURE__ */ jsx20(Arrow2, { ...popperScope, ...arrowProps, ref: forwardedRef });
|
|
24743
24815
|
}
|
|
24744
24816
|
);
|
|
24745
24817
|
TooltipArrow.displayName = ARROW_NAME3;
|
|
@@ -24877,7 +24949,7 @@ __export(dist_exports6, {
|
|
|
24877
24949
|
createCollapsibleScope: () => createCollapsibleScope
|
|
24878
24950
|
});
|
|
24879
24951
|
import * as React31 from "react";
|
|
24880
|
-
import { jsx as
|
|
24952
|
+
import { jsx as jsx21 } from "react/jsx-runtime";
|
|
24881
24953
|
var COLLAPSIBLE_NAME = "Collapsible";
|
|
24882
24954
|
var [createCollapsibleContext, createCollapsibleScope] = createContextScope(COLLAPSIBLE_NAME);
|
|
24883
24955
|
var [CollapsibleProvider, useCollapsibleContext] = createCollapsibleContext(COLLAPSIBLE_NAME);
|
|
@@ -24897,7 +24969,7 @@ var Collapsible = React31.forwardRef(
|
|
|
24897
24969
|
onChange: onOpenChange,
|
|
24898
24970
|
caller: COLLAPSIBLE_NAME
|
|
24899
24971
|
});
|
|
24900
|
-
return /* @__PURE__ */
|
|
24972
|
+
return /* @__PURE__ */ jsx21(
|
|
24901
24973
|
CollapsibleProvider,
|
|
24902
24974
|
{
|
|
24903
24975
|
scope: __scopeCollapsible,
|
|
@@ -24905,7 +24977,7 @@ var Collapsible = React31.forwardRef(
|
|
|
24905
24977
|
contentId: useId(),
|
|
24906
24978
|
open,
|
|
24907
24979
|
onOpenToggle: React31.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen]),
|
|
24908
|
-
children: /* @__PURE__ */
|
|
24980
|
+
children: /* @__PURE__ */ jsx21(
|
|
24909
24981
|
Primitive.div,
|
|
24910
24982
|
{
|
|
24911
24983
|
"data-state": getState2(open),
|
|
@@ -24924,7 +24996,7 @@ var CollapsibleTrigger = React31.forwardRef(
|
|
|
24924
24996
|
(props, forwardedRef) => {
|
|
24925
24997
|
const { __scopeCollapsible, ...triggerProps } = props;
|
|
24926
24998
|
const context = useCollapsibleContext(TRIGGER_NAME3, __scopeCollapsible);
|
|
24927
|
-
return /* @__PURE__ */
|
|
24999
|
+
return /* @__PURE__ */ jsx21(
|
|
24928
25000
|
Primitive.button,
|
|
24929
25001
|
{
|
|
24930
25002
|
type: "button",
|
|
@@ -24946,7 +25018,7 @@ var CollapsibleContent = React31.forwardRef(
|
|
|
24946
25018
|
(props, forwardedRef) => {
|
|
24947
25019
|
const { forceMount, ...contentProps } = props;
|
|
24948
25020
|
const context = useCollapsibleContext(CONTENT_NAME4, props.__scopeCollapsible);
|
|
24949
|
-
return /* @__PURE__ */
|
|
25021
|
+
return /* @__PURE__ */ jsx21(Presence, { present: forceMount || context.open, children: ({ present }) => /* @__PURE__ */ jsx21(CollapsibleContentImpl, { ...contentProps, ref: forwardedRef, present }) });
|
|
24950
25022
|
}
|
|
24951
25023
|
);
|
|
24952
25024
|
CollapsibleContent.displayName = CONTENT_NAME4;
|
|
@@ -24986,7 +25058,7 @@ var CollapsibleContentImpl = React31.forwardRef((props, forwardedRef) => {
|
|
|
24986
25058
|
setIsPresent(present);
|
|
24987
25059
|
}
|
|
24988
25060
|
}, [context.open, present]);
|
|
24989
|
-
return /* @__PURE__ */
|
|
25061
|
+
return /* @__PURE__ */ jsx21(
|
|
24990
25062
|
Primitive.div,
|
|
24991
25063
|
{
|
|
24992
25064
|
"data-state": getState2(context.open),
|
|
@@ -25034,7 +25106,7 @@ __export(dist_exports7, {
|
|
|
25034
25106
|
createDialogScope: () => createDialogScope
|
|
25035
25107
|
});
|
|
25036
25108
|
import * as React32 from "react";
|
|
25037
|
-
import { Fragment as Fragment7, jsx as
|
|
25109
|
+
import { Fragment as Fragment7, jsx as jsx22, jsxs as jsxs7 } from "react/jsx-runtime";
|
|
25038
25110
|
var DIALOG_NAME = "Dialog";
|
|
25039
25111
|
var [createDialogContext, createDialogScope] = createContextScope(DIALOG_NAME);
|
|
25040
25112
|
var [DialogProvider, useDialogContext] = createDialogContext(DIALOG_NAME);
|
|
@@ -25055,7 +25127,7 @@ var Dialog = (props) => {
|
|
|
25055
25127
|
onChange: onOpenChange,
|
|
25056
25128
|
caller: DIALOG_NAME
|
|
25057
25129
|
});
|
|
25058
|
-
return /* @__PURE__ */
|
|
25130
|
+
return /* @__PURE__ */ jsx22(
|
|
25059
25131
|
DialogProvider,
|
|
25060
25132
|
{
|
|
25061
25133
|
scope: __scopeDialog,
|
|
@@ -25079,7 +25151,7 @@ var DialogTrigger = React32.forwardRef(
|
|
|
25079
25151
|
const { __scopeDialog, ...triggerProps } = props;
|
|
25080
25152
|
const context = useDialogContext(TRIGGER_NAME4, __scopeDialog);
|
|
25081
25153
|
const composedTriggerRef = useComposedRefs(forwardedRef, context.triggerRef);
|
|
25082
|
-
return /* @__PURE__ */
|
|
25154
|
+
return /* @__PURE__ */ jsx22(
|
|
25083
25155
|
Primitive.button,
|
|
25084
25156
|
{
|
|
25085
25157
|
type: "button",
|
|
@@ -25102,7 +25174,7 @@ var [PortalProvider3, usePortalContext3] = createDialogContext(PORTAL_NAME4, {
|
|
|
25102
25174
|
var DialogPortal = (props) => {
|
|
25103
25175
|
const { __scopeDialog, forceMount, children, container } = props;
|
|
25104
25176
|
const context = useDialogContext(PORTAL_NAME4, __scopeDialog);
|
|
25105
|
-
return /* @__PURE__ */
|
|
25177
|
+
return /* @__PURE__ */ jsx22(PortalProvider3, { scope: __scopeDialog, forceMount, children: React32.Children.map(children, (child) => /* @__PURE__ */ jsx22(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx22(Portal, { asChild: true, container, children: child }) })) });
|
|
25106
25178
|
};
|
|
25107
25179
|
DialogPortal.displayName = PORTAL_NAME4;
|
|
25108
25180
|
var OVERLAY_NAME = "DialogOverlay";
|
|
@@ -25111,7 +25183,7 @@ var DialogOverlay = React32.forwardRef(
|
|
|
25111
25183
|
const portalContext = usePortalContext3(OVERLAY_NAME, props.__scopeDialog);
|
|
25112
25184
|
const { forceMount = portalContext.forceMount, ...overlayProps } = props;
|
|
25113
25185
|
const context = useDialogContext(OVERLAY_NAME, props.__scopeDialog);
|
|
25114
|
-
return context.modal ? /* @__PURE__ */
|
|
25186
|
+
return context.modal ? /* @__PURE__ */ jsx22(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx22(DialogOverlayImpl, { ...overlayProps, ref: forwardedRef }) }) : null;
|
|
25115
25187
|
}
|
|
25116
25188
|
);
|
|
25117
25189
|
DialogOverlay.displayName = OVERLAY_NAME;
|
|
@@ -25123,7 +25195,7 @@ var DialogOverlayImpl = React32.forwardRef(
|
|
|
25123
25195
|
return (
|
|
25124
25196
|
// Make sure `Content` is scrollable even when it doesn't live inside `RemoveScroll`
|
|
25125
25197
|
// ie. when `Overlay` and `Content` are siblings
|
|
25126
|
-
/* @__PURE__ */
|
|
25198
|
+
/* @__PURE__ */ jsx22(Combination_default, { as: Slot2, allowPinchZoom: true, shards: [context.contentRef], children: /* @__PURE__ */ jsx22(
|
|
25127
25199
|
Primitive.div,
|
|
25128
25200
|
{
|
|
25129
25201
|
"data-state": getState3(context.open),
|
|
@@ -25141,7 +25213,7 @@ var DialogContent = React32.forwardRef(
|
|
|
25141
25213
|
const portalContext = usePortalContext3(CONTENT_NAME5, props.__scopeDialog);
|
|
25142
25214
|
const { forceMount = portalContext.forceMount, ...contentProps } = props;
|
|
25143
25215
|
const context = useDialogContext(CONTENT_NAME5, props.__scopeDialog);
|
|
25144
|
-
return /* @__PURE__ */
|
|
25216
|
+
return /* @__PURE__ */ jsx22(Presence, { present: forceMount || context.open, children: context.modal ? /* @__PURE__ */ jsx22(DialogContentModal, { ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ jsx22(DialogContentNonModal, { ...contentProps, ref: forwardedRef }) });
|
|
25145
25217
|
}
|
|
25146
25218
|
);
|
|
25147
25219
|
DialogContent.displayName = CONTENT_NAME5;
|
|
@@ -25154,7 +25226,7 @@ var DialogContentModal = React32.forwardRef(
|
|
|
25154
25226
|
const content = contentRef.current;
|
|
25155
25227
|
if (content) return hideOthers(content);
|
|
25156
25228
|
}, []);
|
|
25157
|
-
return /* @__PURE__ */
|
|
25229
|
+
return /* @__PURE__ */ jsx22(
|
|
25158
25230
|
DialogContentImpl,
|
|
25159
25231
|
{
|
|
25160
25232
|
...props,
|
|
@@ -25184,7 +25256,7 @@ var DialogContentNonModal = React32.forwardRef(
|
|
|
25184
25256
|
const context = useDialogContext(CONTENT_NAME5, props.__scopeDialog);
|
|
25185
25257
|
const hasInteractedOutsideRef = React32.useRef(false);
|
|
25186
25258
|
const hasPointerDownOutsideRef = React32.useRef(false);
|
|
25187
|
-
return /* @__PURE__ */
|
|
25259
|
+
return /* @__PURE__ */ jsx22(
|
|
25188
25260
|
DialogContentImpl,
|
|
25189
25261
|
{
|
|
25190
25262
|
...props,
|
|
@@ -25226,8 +25298,8 @@ var DialogContentImpl = React32.forwardRef(
|
|
|
25226
25298
|
const contentRef = React32.useRef(null);
|
|
25227
25299
|
const composedRefs = useComposedRefs(forwardedRef, contentRef);
|
|
25228
25300
|
useFocusGuards();
|
|
25229
|
-
return /* @__PURE__ */
|
|
25230
|
-
/* @__PURE__ */
|
|
25301
|
+
return /* @__PURE__ */ jsxs7(Fragment7, { children: [
|
|
25302
|
+
/* @__PURE__ */ jsx22(
|
|
25231
25303
|
FocusScope,
|
|
25232
25304
|
{
|
|
25233
25305
|
asChild: true,
|
|
@@ -25235,7 +25307,7 @@ var DialogContentImpl = React32.forwardRef(
|
|
|
25235
25307
|
trapped: trapFocus,
|
|
25236
25308
|
onMountAutoFocus: onOpenAutoFocus,
|
|
25237
25309
|
onUnmountAutoFocus: onCloseAutoFocus,
|
|
25238
|
-
children: /* @__PURE__ */
|
|
25310
|
+
children: /* @__PURE__ */ jsx22(
|
|
25239
25311
|
DismissableLayer,
|
|
25240
25312
|
{
|
|
25241
25313
|
role: "dialog",
|
|
@@ -25250,9 +25322,9 @@ var DialogContentImpl = React32.forwardRef(
|
|
|
25250
25322
|
)
|
|
25251
25323
|
}
|
|
25252
25324
|
),
|
|
25253
|
-
/* @__PURE__ */
|
|
25254
|
-
/* @__PURE__ */
|
|
25255
|
-
/* @__PURE__ */
|
|
25325
|
+
/* @__PURE__ */ jsxs7(Fragment7, { children: [
|
|
25326
|
+
/* @__PURE__ */ jsx22(TitleWarning, { titleId: context.titleId }),
|
|
25327
|
+
/* @__PURE__ */ jsx22(DescriptionWarning, { contentRef, descriptionId: context.descriptionId })
|
|
25256
25328
|
] })
|
|
25257
25329
|
] });
|
|
25258
25330
|
}
|
|
@@ -25262,7 +25334,7 @@ var DialogTitle = React32.forwardRef(
|
|
|
25262
25334
|
(props, forwardedRef) => {
|
|
25263
25335
|
const { __scopeDialog, ...titleProps } = props;
|
|
25264
25336
|
const context = useDialogContext(TITLE_NAME, __scopeDialog);
|
|
25265
|
-
return /* @__PURE__ */
|
|
25337
|
+
return /* @__PURE__ */ jsx22(Primitive.h2, { id: context.titleId, ...titleProps, ref: forwardedRef });
|
|
25266
25338
|
}
|
|
25267
25339
|
);
|
|
25268
25340
|
DialogTitle.displayName = TITLE_NAME;
|
|
@@ -25271,7 +25343,7 @@ var DialogDescription = React32.forwardRef(
|
|
|
25271
25343
|
(props, forwardedRef) => {
|
|
25272
25344
|
const { __scopeDialog, ...descriptionProps } = props;
|
|
25273
25345
|
const context = useDialogContext(DESCRIPTION_NAME, __scopeDialog);
|
|
25274
|
-
return /* @__PURE__ */
|
|
25346
|
+
return /* @__PURE__ */ jsx22(Primitive.p, { id: context.descriptionId, ...descriptionProps, ref: forwardedRef });
|
|
25275
25347
|
}
|
|
25276
25348
|
);
|
|
25277
25349
|
DialogDescription.displayName = DESCRIPTION_NAME;
|
|
@@ -25280,7 +25352,7 @@ var DialogClose = React32.forwardRef(
|
|
|
25280
25352
|
(props, forwardedRef) => {
|
|
25281
25353
|
const { __scopeDialog, ...closeProps } = props;
|
|
25282
25354
|
const context = useDialogContext(CLOSE_NAME2, __scopeDialog);
|
|
25283
|
-
return /* @__PURE__ */
|
|
25355
|
+
return /* @__PURE__ */ jsx22(
|
|
25284
25356
|
Primitive.button,
|
|
25285
25357
|
{
|
|
25286
25358
|
type: "button",
|
|
@@ -26529,16 +26601,16 @@ var cn2 = /* @__PURE__ */ wrapClsx(instance.mergeString, instance);
|
|
|
26529
26601
|
var twMerge2 = instance.merge;
|
|
26530
26602
|
|
|
26531
26603
|
// ../ui/src/components/dialog.tsx
|
|
26532
|
-
import { jsx as
|
|
26604
|
+
import { jsx as jsx23, jsxs as jsxs8 } from "react/jsx-runtime";
|
|
26533
26605
|
function Dialog2({
|
|
26534
26606
|
...props
|
|
26535
26607
|
}) {
|
|
26536
|
-
return /* @__PURE__ */
|
|
26608
|
+
return /* @__PURE__ */ jsx23(dist_exports7.Root, { "data-slot": "dialog", ...props });
|
|
26537
26609
|
}
|
|
26538
26610
|
function DialogClose2({
|
|
26539
26611
|
...props
|
|
26540
26612
|
}) {
|
|
26541
|
-
return /* @__PURE__ */
|
|
26613
|
+
return /* @__PURE__ */ jsx23(dist_exports7.Close, { "data-slot": "dialog-close", ...props });
|
|
26542
26614
|
}
|
|
26543
26615
|
|
|
26544
26616
|
// ../ui/src/composites/dialog.tsx
|
|
@@ -26578,9 +26650,9 @@ function loopTabInShadowRoot(event) {
|
|
|
26578
26650
|
}
|
|
26579
26651
|
|
|
26580
26652
|
// ../ui/src/composites/dialog.tsx
|
|
26581
|
-
import { jsx as
|
|
26653
|
+
import { jsx as jsx24, jsxs as jsxs9 } from "react/jsx-runtime";
|
|
26582
26654
|
var DialogOverlay2 = forwardRef17(function DialogOverlay3({ className, ...props }, ref) {
|
|
26583
|
-
return /* @__PURE__ */
|
|
26655
|
+
return /* @__PURE__ */ jsx24(
|
|
26584
26656
|
dist_exports7.Overlay,
|
|
26585
26657
|
{
|
|
26586
26658
|
ref,
|
|
@@ -26602,9 +26674,9 @@ function DialogContent2({
|
|
|
26602
26674
|
...props
|
|
26603
26675
|
}) {
|
|
26604
26676
|
const overlayRoot = useOverlayRoot();
|
|
26605
|
-
return /* @__PURE__ */
|
|
26606
|
-
/* @__PURE__ */
|
|
26607
|
-
/* @__PURE__ */
|
|
26677
|
+
return /* @__PURE__ */ jsxs9(dist_exports7.Portal, { "data-slot": "dialog-portal", container: overlayRoot, children: [
|
|
26678
|
+
/* @__PURE__ */ jsx24(DialogOverlay2, { className: overlayClassName }),
|
|
26679
|
+
/* @__PURE__ */ jsxs9(
|
|
26608
26680
|
dist_exports7.Content,
|
|
26609
26681
|
{
|
|
26610
26682
|
onKeyDown: (event) => {
|
|
@@ -26619,14 +26691,14 @@ function DialogContent2({
|
|
|
26619
26691
|
...props,
|
|
26620
26692
|
children: [
|
|
26621
26693
|
children,
|
|
26622
|
-
showCloseButton && /* @__PURE__ */
|
|
26694
|
+
showCloseButton && /* @__PURE__ */ jsxs9(
|
|
26623
26695
|
dist_exports7.Close,
|
|
26624
26696
|
{
|
|
26625
26697
|
"data-slot": "dialog-close",
|
|
26626
26698
|
className: "absolute top-4 right-4 rounded-[8px] p-2 text-[hsl(var(--muted-foreground))] opacity-90 transition-colors hover:bg-[hsl(var(--accent))] hover:opacity-100 focus:outline-none disabled:pointer-events-none",
|
|
26627
26699
|
children: [
|
|
26628
|
-
/* @__PURE__ */
|
|
26629
|
-
/* @__PURE__ */
|
|
26700
|
+
/* @__PURE__ */ jsx24(X, { size: 16 }),
|
|
26701
|
+
/* @__PURE__ */ jsx24("span", { className: "sr-only", children: "\u5173\u95ED" })
|
|
26630
26702
|
]
|
|
26631
26703
|
}
|
|
26632
26704
|
)
|
|
@@ -26636,7 +26708,7 @@ function DialogContent2({
|
|
|
26636
26708
|
] });
|
|
26637
26709
|
}
|
|
26638
26710
|
function DialogTitle2({ className, ...props }) {
|
|
26639
|
-
return /* @__PURE__ */
|
|
26711
|
+
return /* @__PURE__ */ jsx24(
|
|
26640
26712
|
dist_exports7.Title,
|
|
26641
26713
|
{
|
|
26642
26714
|
"data-slot": "dialog-title",
|
|
@@ -26649,7 +26721,7 @@ function DialogDescription2({
|
|
|
26649
26721
|
className,
|
|
26650
26722
|
...props
|
|
26651
26723
|
}) {
|
|
26652
|
-
return /* @__PURE__ */
|
|
26724
|
+
return /* @__PURE__ */ jsx24(
|
|
26653
26725
|
dist_exports7.Description,
|
|
26654
26726
|
{
|
|
26655
26727
|
"data-slot": "dialog-description",
|
|
@@ -26762,6 +26834,7 @@ export {
|
|
|
26762
26834
|
Plug,
|
|
26763
26835
|
Plus,
|
|
26764
26836
|
RefreshCcw,
|
|
26837
|
+
RefreshCw,
|
|
26765
26838
|
Rocket,
|
|
26766
26839
|
RotateCcw,
|
|
26767
26840
|
Scissors,
|
|
@@ -26774,6 +26847,7 @@ export {
|
|
|
26774
26847
|
Terminal,
|
|
26775
26848
|
Trash2,
|
|
26776
26849
|
TriangleAlert,
|
|
26850
|
+
Unplug,
|
|
26777
26851
|
Wrench,
|
|
26778
26852
|
X,
|
|
26779
26853
|
Zap,
|
|
@@ -26827,6 +26901,7 @@ export {
|
|
|
26827
26901
|
Portal3 as Portal,
|
|
26828
26902
|
Content22 as Content2,
|
|
26829
26903
|
dist_exports4 as dist_exports3,
|
|
26904
|
+
BrowserConnectionDialog,
|
|
26830
26905
|
useOverlayRoot,
|
|
26831
26906
|
usePortalContainer,
|
|
26832
26907
|
cn2,
|
|
@@ -26925,6 +27000,7 @@ lucide-react/dist/esm/icons/plug.js:
|
|
|
26925
27000
|
lucide-react/dist/esm/icons/plus.js:
|
|
26926
27001
|
lucide-react/dist/esm/icons/puzzle.js:
|
|
26927
27002
|
lucide-react/dist/esm/icons/refresh-ccw.js:
|
|
27003
|
+
lucide-react/dist/esm/icons/refresh-cw.js:
|
|
26928
27004
|
lucide-react/dist/esm/icons/rocket.js:
|
|
26929
27005
|
lucide-react/dist/esm/icons/rotate-ccw.js:
|
|
26930
27006
|
lucide-react/dist/esm/icons/scissors.js:
|
|
@@ -26937,6 +27013,7 @@ lucide-react/dist/esm/icons/square.js:
|
|
|
26937
27013
|
lucide-react/dist/esm/icons/terminal.js:
|
|
26938
27014
|
lucide-react/dist/esm/icons/trash-2.js:
|
|
26939
27015
|
lucide-react/dist/esm/icons/triangle-alert.js:
|
|
27016
|
+
lucide-react/dist/esm/icons/unplug.js:
|
|
26940
27017
|
lucide-react/dist/esm/icons/wrench.js:
|
|
26941
27018
|
lucide-react/dist/esm/icons/x.js:
|
|
26942
27019
|
lucide-react/dist/esm/icons/zap.js:
|
|
@@ -26948,4 +27025,4 @@ lucide-react/dist/esm/lucide-react.js:
|
|
|
26948
27025
|
* See the LICENSE file in the root directory of this source tree.
|
|
26949
27026
|
*)
|
|
26950
27027
|
*/
|
|
26951
|
-
//# sourceMappingURL=chunk-
|
|
27028
|
+
//# sourceMappingURL=chunk-6PSSFMTQ.js.map
|