@oomol-lab/open-flow 0.1.0-beta.85 → 0.1.0-beta.87
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/browser/{FlowCanvas-CZoHhB1y.js → FlowCanvas-SqPUBqze.js} +3 -3
- package/dist/browser/{createResourceDialog-Bi4fUnbD.js → createResourceDialog-CB3eiK7e.js} +3 -3
- package/dist/browser/{dialog-BzoSxhXQ.js → dialog-Bi-MVTGj.js} +291 -143
- package/dist/browser/{exportPng-CXVWVlLc.js → exportPng-CLZKdNzR.js} +2 -2
- package/dist/browser/{flowChanges-C567g-Pc.js → flowChanges-azhepfr-.js} +375 -83
- package/dist/browser/{flowWorkspace-BNdBKtla.js → flowWorkspace-Cs2ZGBYK.js} +1619 -475
- package/dist/browser/fr-CNTSedYU.js +593 -0
- package/dist/browser/ja-CxQBHr2J.js +593 -0
- package/dist/browser/ko-D1Exiv1h.js +593 -0
- package/dist/browser/licenses.md +1 -1
- package/dist/browser/{markdownContent-DF39sd9T.js → markdownContent-D0BBrFcF.js} +1 -1
- package/dist/browser/preview.css +193 -191
- package/dist/browser/preview.js +1997 -624
- package/dist/browser/ru-BzLZv0B7.js +593 -0
- package/dist/browser/theme.css +3 -1
- package/dist/browser/{tooltip-DGj5pudg.js → tooltip-BZ6tpqnr.js} +58 -24
- package/dist/browser/ui.css +12 -10
- package/dist/browser/ui.d.ts +1 -0
- package/dist/browser/ui.js +110 -63
- package/dist/browser/workbench.css +193 -191
- package/dist/browser/workbench.js +86 -17
- package/dist/browser/{workbenchSelect-BIaEVTx6.js → workbenchSelect-CHOeceKA.js} +2 -2
- package/dist/browser/{wrapLayout-C4moMKgb.js → wrapLayout-BB_qwy3k.js} +1 -1
- package/dist/browser/zh-CN-Dg_xSGde.js +593 -0
- package/dist/browser/zh-TW-oxuLwsV0.js +593 -0
- package/dist/command/index.js +61 -57
- package/dist/command/licenses.md +28 -4
- package/dist/common/authoring.d.ts +5 -5
- package/dist/common/authoringExamples.d.ts +3 -2
- package/dist/common/authoringSchema.d.ts +41 -4
- package/dist/common/catalogCache.d.ts +46 -0
- package/dist/common/connector-action.js +13 -10
- package/dist/common/connector-proxy.d.ts +96 -0
- package/dist/common/connector-proxy.js +5209 -0
- package/dist/common/control-api-conformance.js +312 -46
- package/dist/common/control-api.d.ts +12 -1
- package/dist/common/control-api.js +303 -41
- package/dist/common/control-requests.d.ts +4 -3
- package/dist/common/control-requests.js +14111 -171
- package/dist/common/engine-contract.d.ts +3 -2
- package/dist/common/event-source.js +55 -23
- package/dist/common/flow-authoring-node.d.ts +2 -0
- package/dist/common/flow-authoring.js +6936 -6781
- package/dist/common/flow-change-schema.d.ts +1 -1
- package/dist/common/flow-change.d.ts +2 -2
- package/dist/common/flow-change.js +91 -36
- package/dist/common/flow-connectionUsage.d.ts +1 -1
- package/dist/common/flow-encoding.js +93 -38
- package/dist/common/flow-requestParameters.d.ts +34 -0
- package/dist/common/flow-semantics.js +9429 -9236
- package/dist/common/flow-state.js +55 -23
- package/dist/common/flow-workflowFile.d.ts +3 -1
- package/dist/common/http-request.d.ts +6 -11
- package/dist/common/http-request.js +192 -141
- package/dist/common/licenses.md +1 -1
- package/dist/common/mcp.d.ts +3 -3
- package/dist/common/mcp.js +303 -41
- package/dist/common/run-events.js +1 -0
- package/dist/common/runtime-contract.js +10 -4
- package/dist/common/runtime-nodejs-compat.js +55 -23
- package/dist/common/scheduler-checkpoint.d.ts +3 -3
- package/dist/common/scheduler-dependencies.d.ts +22 -28
- package/dist/common/scheduler-node-execution.d.ts +1 -0
- package/dist/common/scheduler.d.ts +8 -2
- package/dist/common/scheduler.js +274 -95
- package/dist/common/workflow.js +51 -19
- package/dist/common/workflowAuthoring.d.ts +411 -0
- package/dist/render/browser/licenses.md +1 -1
- package/dist/render/browser/runtime.css +12 -10
- package/dist/render/browser/runtime.js +183 -49
- package/dist/render/node/index.js +85 -30
- package/dist/render/node/licenses.md +1 -1
- package/package.json +1 -1
- package/skills/open-flow/references/flow-authoring.md +14 -13
- package/src/base/common/jsonSchema.ts +11 -0
- package/src/connector/common/actionSchema.ts +4 -11
- package/src/connector/common/proxy.ts +152 -0
- package/src/control/common/api.ts +99 -3
- package/src/control/common/authoring.ts +23 -9
- package/src/control/common/authoringExamples.ts +9 -0
- package/src/control/common/authoringSchema.ts +21 -12
- package/src/control/common/catalogCache.ts +145 -0
- package/src/control/common/conformance.ts +9 -3
- package/src/control/common/connectorQueries.ts +17 -2
- package/src/control/common/requests.ts +1 -0
- package/src/control/common/workflowAuthoring.ts +120 -0
- package/src/execution/common/checkpoint.ts +18 -12
- package/src/execution/common/dependencies.ts +132 -15
- package/src/execution/common/events.ts +3 -0
- package/src/execution/common/node-execution.ts +22 -15
- package/src/execution/common/scheduler.ts +20 -31
- package/src/flow/common/change.ts +2 -1
- package/src/flow/common/changeSchema.ts +11 -1
- package/src/flow/common/connectionUsage.ts +4 -2
- package/src/flow/common/errorHandling.ts +3 -1
- package/src/flow/common/nodeChanges.ts +35 -18
- package/src/flow/common/requestParameters.ts +120 -0
- package/src/flow/common/semantics.ts +51 -1
- package/src/flow/common/sourceField.ts +3 -2
- package/src/flow/common/workflowFile.ts +2 -2
- package/src/http/common/httpRequest.ts +28 -78
- package/src/runtime/common/engineContract.ts +6 -3
|
@@ -4250,6 +4250,7 @@ function cn(...inputs) {
|
|
|
4250
4250
|
//#region src/ui/browser/button.tsx
|
|
4251
4251
|
var buttonVariants = cva("nodrag group/button relative inline-flex shrink-0 items-center justify-center rounded-[var(--ui-control-radius,calc(var(--ui-radius)_+_2px))] border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap no-underline transition-[color,background-color,border-color,box-shadow,opacity,transform] outline-none select-none before:absolute before:inset-0 before:content-[''] motion-reduce:transition-none focus-visible:border-border focus-visible:outline-2 focus-visible:outline-solid focus-visible:ring-0 focus-visible:aria-invalid:ring-0 focus-visible:outline-offset-1 focus-visible:outline-ring focus-visible:aria-invalid:outline-destructive active:not-aria-[haspopup]:not-data-[variant=field]:translate-y-px disabled:pointer-events-none disabled:opacity-[var(--ui-disabled-opacity,0.5)] aria-disabled:pointer-events-none aria-disabled:opacity-[var(--ui-disabled-opacity,0.5)] aria-invalid:border-destructive [&_svg]:pointer-events-none [&_i[aria-hidden=true]]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", {
|
|
4252
4252
|
variants: {
|
|
4253
|
+
multiline: { true: "min-h-min whitespace-normal wrap-anywhere text-center" },
|
|
4253
4254
|
variant: {
|
|
4254
4255
|
"default": "bg-primary text-primary-foreground hover:bg-primary/80",
|
|
4255
4256
|
"outline": "border-border bg-background hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:border-input dark:bg-input/30 dark:hover:bg-[var(--ui-disabled-background,color-mix(in_srgb,var(--ui-input)_50%,transparent))]",
|
|
@@ -4278,7 +4279,7 @@ var buttonVariants = cva("nodrag group/button relative inline-flex shrink-0 item
|
|
|
4278
4279
|
size: "default"
|
|
4279
4280
|
}
|
|
4280
4281
|
});
|
|
4281
|
-
var Button = forwardRef(function Button({ className, variant = "default", size = "default", ...props }, ref) {
|
|
4282
|
+
var Button = forwardRef(function Button({ className, variant = "default", size = "default", multiline, ...props }, ref) {
|
|
4282
4283
|
return /* @__PURE__ */ jsx(Button$1, {
|
|
4283
4284
|
ref,
|
|
4284
4285
|
"data-slot": "button",
|
|
@@ -4287,6 +4288,7 @@ var Button = forwardRef(function Button({ className, variant = "default", size =
|
|
|
4287
4288
|
className: cn(buttonVariants({
|
|
4288
4289
|
variant,
|
|
4289
4290
|
size,
|
|
4291
|
+
multiline,
|
|
4290
4292
|
className
|
|
4291
4293
|
})),
|
|
4292
4294
|
...props
|
|
@@ -12652,7 +12654,7 @@ var Separator = /*#__PURE__*/ React.forwardRef(function SeparatorComponent(compo
|
|
|
12652
12654
|
});
|
|
12653
12655
|
if (process.env.NODE_ENV !== "production") Separator.displayName = "Separator";
|
|
12654
12656
|
//#endregion
|
|
12655
|
-
//#region ../../node_modules/.bun/zod@4.6.
|
|
12657
|
+
//#region ../../node_modules/.bun/zod@4.6.7/node_modules/zod/v4/core/util.js
|
|
12656
12658
|
function getEnumValues(entries) {
|
|
12657
12659
|
const numericValues = Object.values(entries).filter((v) => typeof v === "number");
|
|
12658
12660
|
return Object.entries(entries).filter(([k, _]) => numericValues.indexOf(+k) === -1).map(([_, v]) => v);
|
|
@@ -12977,6 +12979,17 @@ function prefixIssues(path, issues) {
|
|
|
12977
12979
|
function unwrapMessage(message) {
|
|
12978
12980
|
return typeof message === "string" ? message : message?.message;
|
|
12979
12981
|
}
|
|
12982
|
+
/** The leading size checks of `defChecks` that set an upper bound, each paired with it. */
|
|
12983
|
+
function sizeCaps(defChecks) {
|
|
12984
|
+
const caps = [];
|
|
12985
|
+
for (const ch of defChecks ?? []) {
|
|
12986
|
+
const d = ch._zod.def;
|
|
12987
|
+
if (!/_(length|size)$|_equals$/.test(d.check)) break;
|
|
12988
|
+
const max = d.maximum ?? d.length ?? d.size;
|
|
12989
|
+
if (max >= 0) caps.push([max, ch]);
|
|
12990
|
+
}
|
|
12991
|
+
return caps;
|
|
12992
|
+
}
|
|
12980
12993
|
function attachSchema(issues, start, inst) {
|
|
12981
12994
|
var _a;
|
|
12982
12995
|
for (let i = start; i < issues.length; i++) (_a = issues[i]).schema ?? (_a.schema = inst);
|
|
@@ -13193,7 +13206,7 @@ function constantCatch(value) {
|
|
|
13193
13206
|
return fn;
|
|
13194
13207
|
}
|
|
13195
13208
|
//#endregion
|
|
13196
|
-
//#region ../../node_modules/.bun/zod@4.6.
|
|
13209
|
+
//#region ../../node_modules/.bun/zod@4.6.7/node_modules/zod/v4/core/core.js
|
|
13197
13210
|
var _a$1;
|
|
13198
13211
|
var _zodDesc = {
|
|
13199
13212
|
value: void 0,
|
|
@@ -13299,7 +13312,7 @@ function config(newConfig) {
|
|
|
13299
13312
|
return globalConfig;
|
|
13300
13313
|
}
|
|
13301
13314
|
//#endregion
|
|
13302
|
-
//#region ../../node_modules/.bun/zod@4.6.
|
|
13315
|
+
//#region ../../node_modules/.bun/zod@4.6.7/node_modules/zod/v4/core/errors.js
|
|
13303
13316
|
function _getMessage() {
|
|
13304
13317
|
const internals = this._zod;
|
|
13305
13318
|
internals.message ?? (internals.message = JSON.stringify(internals.def, jsonStringifyReplacer, 2));
|
|
@@ -13415,7 +13428,7 @@ function formatError(error, mapper = (issue) => issue.message) {
|
|
|
13415
13428
|
return fieldErrors;
|
|
13416
13429
|
}
|
|
13417
13430
|
//#endregion
|
|
13418
|
-
//#region ../../node_modules/.bun/zod@4.6.
|
|
13431
|
+
//#region ../../node_modules/.bun/zod@4.6.7/node_modules/zod/v4/core/parse.js
|
|
13419
13432
|
function finalizeParams(callee, params) {
|
|
13420
13433
|
return {
|
|
13421
13434
|
callee: params?.callee ?? callee,
|
|
@@ -13618,7 +13631,7 @@ var _safeDecodeAsync = (_Err) => async (schema, value, _ctx) => {
|
|
|
13618
13631
|
return _safeParseAsync(_Err)(schema, value, _ctx);
|
|
13619
13632
|
};
|
|
13620
13633
|
//#endregion
|
|
13621
|
-
//#region ../../node_modules/.bun/zod@4.6.
|
|
13634
|
+
//#region ../../node_modules/.bun/zod@4.6.7/node_modules/zod/v4/core/regexes.js
|
|
13622
13635
|
/**
|
|
13623
13636
|
* @deprecated CUID v1 is deprecated by its authors due to information leakage
|
|
13624
13637
|
* (timestamps embedded in the id). Use {@link cuid2} instead.
|
|
@@ -13691,7 +13704,7 @@ var _null$2 = /^null$/i;
|
|
|
13691
13704
|
var lowercase = /^[^A-Z]*$/;
|
|
13692
13705
|
var uppercase = /^[^a-z]*$/;
|
|
13693
13706
|
//#endregion
|
|
13694
|
-
//#region ../../node_modules/.bun/zod@4.6.
|
|
13707
|
+
//#region ../../node_modules/.bun/zod@4.6.7/node_modules/zod/v4/core/checks.js
|
|
13695
13708
|
var $ZodCheck = /*@__PURE__*/ $constructor("$ZodCheck", (inst, def) => {
|
|
13696
13709
|
var _a;
|
|
13697
13710
|
inst._zod ?? (inst._zod = {});
|
|
@@ -13987,7 +14000,7 @@ var $ZodCheckOverwrite = /*@__PURE__*/ $constructor("$ZodCheckOverwrite", (inst,
|
|
|
13987
14000
|
};
|
|
13988
14001
|
});
|
|
13989
14002
|
//#endregion
|
|
13990
|
-
//#region ../../node_modules/.bun/zod@4.6.
|
|
14003
|
+
//#region ../../node_modules/.bun/zod@4.6.7/node_modules/zod/v4/core/doc.js
|
|
13991
14004
|
var Doc = class {
|
|
13992
14005
|
constructor(args = [], closed = {}) {
|
|
13993
14006
|
this.content = [];
|
|
@@ -14021,14 +14034,14 @@ var Doc = class {
|
|
|
14021
14034
|
}
|
|
14022
14035
|
};
|
|
14023
14036
|
//#endregion
|
|
14024
|
-
//#region ../../node_modules/.bun/zod@4.6.
|
|
14037
|
+
//#region ../../node_modules/.bun/zod@4.6.7/node_modules/zod/v4/core/versions.js
|
|
14025
14038
|
var version = {
|
|
14026
14039
|
major: 4,
|
|
14027
14040
|
minor: 6,
|
|
14028
|
-
patch:
|
|
14041
|
+
patch: 7
|
|
14029
14042
|
};
|
|
14030
14043
|
//#endregion
|
|
14031
|
-
//#region ../../node_modules/.bun/zod@4.6.
|
|
14044
|
+
//#region ../../node_modules/.bun/zod@4.6.7/node_modules/zod/v4/core/schemas.js
|
|
14032
14045
|
var $ZodType = /*@__PURE__*/ $constructor("$ZodType", (inst, def) => {
|
|
14033
14046
|
var _a;
|
|
14034
14047
|
inst ?? (inst = {});
|
|
@@ -14541,6 +14554,26 @@ var $ZodNever = /*@__PURE__*/ $constructor("$ZodNever", (inst, def) => {
|
|
|
14541
14554
|
return payload;
|
|
14542
14555
|
};
|
|
14543
14556
|
});
|
|
14557
|
+
function capSize(inst, size) {
|
|
14558
|
+
const caps = sizeCaps(inst._zod.def.checks);
|
|
14559
|
+
if (!caps.length) return;
|
|
14560
|
+
const cap = Math.min(...caps.map((c) => c[0]));
|
|
14561
|
+
const parse = inst._zod.parse;
|
|
14562
|
+
inst._zod.parse = (payload, ctx) => {
|
|
14563
|
+
const n = size(payload.value);
|
|
14564
|
+
if (n > cap && !ctx?.skipChecks && ctx?.direction !== "backward") {
|
|
14565
|
+
for (const [max, ch] of sizeCaps(inst._zod.def.checks)) if (n > max && ch._zod.def.when(payload)) {
|
|
14566
|
+
const start = payload.issues.length;
|
|
14567
|
+
ch._zod.check(payload);
|
|
14568
|
+
payload.issues[start].continue = false;
|
|
14569
|
+
attachSchema(payload.issues, start, inst);
|
|
14570
|
+
return payload;
|
|
14571
|
+
}
|
|
14572
|
+
}
|
|
14573
|
+
return parse(payload, ctx);
|
|
14574
|
+
};
|
|
14575
|
+
}
|
|
14576
|
+
var arraySize = (input) => Array.isArray(input) ? input.length : -1;
|
|
14544
14577
|
function handleArrayResult(result, final, index) {
|
|
14545
14578
|
if (result.issues.length) final.issues.push(...prefixIssues(index, result.issues));
|
|
14546
14579
|
final.value[index] = result.value;
|
|
@@ -14578,6 +14611,7 @@ var $ZodArray = /*@__PURE__*/ $constructor("$ZodArray", (inst, def) => {
|
|
|
14578
14611
|
if (proms.length) return Promise.all(proms).then(() => payload);
|
|
14579
14612
|
return payload;
|
|
14580
14613
|
};
|
|
14614
|
+
capSize(inst, arraySize);
|
|
14581
14615
|
});
|
|
14582
14616
|
function handlePropertyResult(result, final, key, input, optin, optout) {
|
|
14583
14617
|
const isPresent = key in input;
|
|
@@ -14686,7 +14720,7 @@ var $ZodObject = /*@__PURE__*/ $constructor("$ZodObject", (inst, def) => {
|
|
|
14686
14720
|
}
|
|
14687
14721
|
return propValues;
|
|
14688
14722
|
});
|
|
14689
|
-
const isObject$
|
|
14723
|
+
const isObject$1 = isObject;
|
|
14690
14724
|
const catchall = def.catchall;
|
|
14691
14725
|
let value;
|
|
14692
14726
|
const memo = globalConfig.memoizer;
|
|
@@ -14694,7 +14728,7 @@ var $ZodObject = /*@__PURE__*/ $constructor("$ZodObject", (inst, def) => {
|
|
|
14694
14728
|
inst._zod.parse = (payload, ctx) => {
|
|
14695
14729
|
value ?? (value = _normalized.value);
|
|
14696
14730
|
const input = payload.value;
|
|
14697
|
-
if (!isObject$
|
|
14731
|
+
if (!isObject$1(input)) {
|
|
14698
14732
|
payload.issues.push({
|
|
14699
14733
|
expected: "object",
|
|
14700
14734
|
code: "invalid_type",
|
|
@@ -14824,7 +14858,7 @@ var $ZodObjectJIT = /*@__PURE__*/ $constructor("$ZodObjectJIT", (inst, def) => {
|
|
|
14824
14858
|
return doc.compile();
|
|
14825
14859
|
};
|
|
14826
14860
|
let fastpass;
|
|
14827
|
-
const isObject$
|
|
14861
|
+
const isObject$2 = isObject;
|
|
14828
14862
|
const jit = !globalConfig.jitless;
|
|
14829
14863
|
const fastEnabled = jit && allowsEval.value;
|
|
14830
14864
|
const catchall = def.catchall;
|
|
@@ -14832,7 +14866,7 @@ var $ZodObjectJIT = /*@__PURE__*/ $constructor("$ZodObjectJIT", (inst, def) => {
|
|
|
14832
14866
|
inst._zod.parse = (payload, ctx) => {
|
|
14833
14867
|
value ?? (value = _normalized.value);
|
|
14834
14868
|
const input = payload.value;
|
|
14835
|
-
if (!isObject$
|
|
14869
|
+
if (!isObject$2(input)) {
|
|
14836
14870
|
payload.issues.push({
|
|
14837
14871
|
expected: "object",
|
|
14838
14872
|
code: "invalid_type",
|
|
@@ -15496,7 +15530,7 @@ function handleRefineResult(result, payload, input, inst) {
|
|
|
15496
15530
|
}
|
|
15497
15531
|
}
|
|
15498
15532
|
//#endregion
|
|
15499
|
-
//#region ../../node_modules/.bun/zod@4.6.
|
|
15533
|
+
//#region ../../node_modules/.bun/zod@4.6.7/node_modules/zod/v4/core/memoizer.js
|
|
15500
15534
|
var $ZodCyclicError = class extends Error {
|
|
15501
15535
|
constructor() {
|
|
15502
15536
|
super(`Cannot parse a reference cycle that closes through a transform`);
|
|
@@ -15749,7 +15783,7 @@ function isBackEdge(ctx, value) {
|
|
|
15749
15783
|
return backEdges !== void 0 && isRef(value) && backEdges.has(value);
|
|
15750
15784
|
}
|
|
15751
15785
|
//#endregion
|
|
15752
|
-
//#region ../../node_modules/.bun/zod@4.6.
|
|
15786
|
+
//#region ../../node_modules/.bun/zod@4.6.7/node_modules/zod/v4/locales/en.js
|
|
15753
15787
|
var error = () => {
|
|
15754
15788
|
const Sizable = {
|
|
15755
15789
|
string: {
|
|
@@ -15857,7 +15891,7 @@ function en_default() {
|
|
|
15857
15891
|
return { localeError: error() };
|
|
15858
15892
|
}
|
|
15859
15893
|
//#endregion
|
|
15860
|
-
//#region ../../node_modules/.bun/zod@4.6.
|
|
15894
|
+
//#region ../../node_modules/.bun/zod@4.6.7/node_modules/zod/v4/core/registries.js
|
|
15861
15895
|
var _a;
|
|
15862
15896
|
var $ZodRegistry = class {
|
|
15863
15897
|
constructor() {
|
|
@@ -15904,7 +15938,7 @@ function registry() {
|
|
|
15904
15938
|
(_a = globalThis).__zod_globalRegistry ?? (_a.__zod_globalRegistry = registry());
|
|
15905
15939
|
var globalRegistry = globalThis.__zod_globalRegistry;
|
|
15906
15940
|
//#endregion
|
|
15907
|
-
//#region ../../node_modules/.bun/zod@4.6.
|
|
15941
|
+
//#region ../../node_modules/.bun/zod@4.6.7/node_modules/zod/v4/core/api.js
|
|
15908
15942
|
function snapshotChecks(def) {
|
|
15909
15943
|
if (def.checks) def.checks = [...def.checks];
|
|
15910
15944
|
return def;
|
|
@@ -16420,7 +16454,7 @@ function _check(fn, params) {
|
|
|
16420
16454
|
return ch;
|
|
16421
16455
|
}
|
|
16422
16456
|
//#endregion
|
|
16423
|
-
//#region ../../node_modules/.bun/zod@4.6.
|
|
16457
|
+
//#region ../../node_modules/.bun/zod@4.6.7/node_modules/zod/v4/core/to-json-schema.js
|
|
16424
16458
|
function assignProps(target, ...sources) {
|
|
16425
16459
|
for (const source of sources) for (const key of Reflect.ownKeys(source)) if (Object.prototype.propertyIsEnumerable.call(source, key)) assignProp(target, key, source[key]);
|
|
16426
16460
|
return target;
|
|
@@ -16864,7 +16898,7 @@ var createStandardJSONSchemaMethod = (schema, io, processors = {}) => (params) =
|
|
|
16864
16898
|
return finalize(ctx, schema);
|
|
16865
16899
|
};
|
|
16866
16900
|
//#endregion
|
|
16867
|
-
//#region ../../node_modules/.bun/zod@4.6.
|
|
16901
|
+
//#region ../../node_modules/.bun/zod@4.6.7/node_modules/zod/v4/core/json-schema-processors.js
|
|
16868
16902
|
var narrowMin = (agg, key, value) => {
|
|
16869
16903
|
if (agg[key] === void 0 || value > agg[key]) agg[key] = value;
|
|
16870
16904
|
};
|
|
@@ -17325,7 +17359,7 @@ var lazyProcessor = (schema, ctx, _json, params) => {
|
|
|
17325
17359
|
seen.ref = innerType;
|
|
17326
17360
|
};
|
|
17327
17361
|
//#endregion
|
|
17328
|
-
//#region ../../node_modules/.bun/zod@4.6.
|
|
17362
|
+
//#region ../../node_modules/.bun/zod@4.6.7/node_modules/zod/v4/classic/errors.js
|
|
17329
17363
|
var _installedErrorProtos = /* @__PURE__ */ new WeakSet([Object.prototype, Error.prototype]);
|
|
17330
17364
|
function _lazyMethod(proto, key, make) {
|
|
17331
17365
|
Object.defineProperty(proto, key, {
|
|
@@ -17375,7 +17409,7 @@ var initializer = (inst, issues) => {
|
|
|
17375
17409
|
};
|
|
17376
17410
|
var ZodRealError = /*@__PURE__*/ $constructor("ZodError", initializer, void 0, { Parent: Error });
|
|
17377
17411
|
//#endregion
|
|
17378
|
-
//#region ../../node_modules/.bun/zod@4.6.
|
|
17412
|
+
//#region ../../node_modules/.bun/zod@4.6.7/node_modules/zod/v4/classic/parse.js
|
|
17379
17413
|
var parse = /* @__PURE__ */ _parse(ZodRealError);
|
|
17380
17414
|
var parseAsync = /* @__PURE__ */ _parseAsync(ZodRealError);
|
|
17381
17415
|
var safeParse = /* @__PURE__ */ _safeParse(ZodRealError);
|
|
@@ -17389,7 +17423,7 @@ var safeDecode = /* @__PURE__ */ _safeDecode(ZodRealError);
|
|
|
17389
17423
|
var safeEncodeAsync = /* @__PURE__ */ _safeEncodeAsync(ZodRealError);
|
|
17390
17424
|
var safeDecodeAsync = /* @__PURE__ */ _safeDecodeAsync(ZodRealError);
|
|
17391
17425
|
//#endregion
|
|
17392
|
-
//#region ../../node_modules/.bun/zod@4.6.
|
|
17426
|
+
//#region ../../node_modules/.bun/zod@4.6.7/node_modules/zod/v4/classic/schemas.js
|
|
17393
17427
|
function _ensureDefaultLocale() {
|
|
17394
17428
|
if (!globalConfig.localeError) config(en_default());
|
|
17395
17429
|
}
|
package/dist/browser/ui.css
CHANGED
|
@@ -92,7 +92,7 @@
|
|
|
92
92
|
|
|
93
93
|
.open-flow-theme {
|
|
94
94
|
--_open-flow-theme: light;
|
|
95
|
-
color-scheme:
|
|
95
|
+
color-scheme: light;
|
|
96
96
|
--_open-flow-background: var(--open-flow-background, light-dark(#fdfdfd, #1c1c1c));
|
|
97
97
|
--_open-flow-foreground: var(--open-flow-foreground, light-dark(#242424, #eee));
|
|
98
98
|
--_open-flow-card: var(--open-flow-card, light-dark(#fefefe, #242424));
|
|
@@ -131,6 +131,7 @@
|
|
|
131
131
|
|
|
132
132
|
.open-flow-theme[data-theme="dark"] {
|
|
133
133
|
--_open-flow-theme: dark;
|
|
134
|
+
color-scheme: dark;
|
|
134
135
|
}
|
|
135
136
|
|
|
136
137
|
.open-flow-theme, .open-flow-canvas-root :is(.react-flow__controls, [data-canvas-control-scope]) {
|
|
@@ -1450,6 +1451,10 @@
|
|
|
1450
1451
|
min-height: min(360px, 80dvh);
|
|
1451
1452
|
}
|
|
1452
1453
|
|
|
1454
|
+
:where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .min-h-min {
|
|
1455
|
+
min-height: min-content;
|
|
1456
|
+
}
|
|
1457
|
+
|
|
1453
1458
|
:where(.open-flow-theme, .open-flow-workbench, .open-flow-canvas-root) .w-\(--anchor-width\) {
|
|
1454
1459
|
width: var(--anchor-width);
|
|
1455
1460
|
}
|
|
@@ -6131,23 +6136,20 @@
|
|
|
6131
6136
|
}
|
|
6132
6137
|
|
|
6133
6138
|
.open-flow-navigation-menu {
|
|
6139
|
+
width: max-content;
|
|
6140
|
+
max-width: calc(100vw - 16px);
|
|
6141
|
+
max-height: var(--available-height);
|
|
6142
|
+
overscroll-behavior: contain;
|
|
6134
6143
|
border: 1px solid var(--ui-border);
|
|
6135
6144
|
border-radius: var(--ui-radius);
|
|
6136
6145
|
background: var(--ui-popover);
|
|
6137
6146
|
color: var(--ui-popover-foreground);
|
|
6138
|
-
|
|
6147
|
+
gap: 0;
|
|
6139
6148
|
padding: 4px;
|
|
6140
|
-
|
|
6141
|
-
inset: 48px 16px auto auto;
|
|
6149
|
+
overflow-y: auto;
|
|
6142
6150
|
box-shadow: 0 4px 12px #0002;
|
|
6143
6151
|
}
|
|
6144
6152
|
|
|
6145
|
-
.open-flow-navigation-menu:popover-open {
|
|
6146
|
-
flex-direction: column;
|
|
6147
|
-
align-items: stretch;
|
|
6148
|
-
display: flex;
|
|
6149
|
-
}
|
|
6150
|
-
|
|
6151
6153
|
.open-flow-navigation-menu button[aria-pressed="true"] {
|
|
6152
6154
|
background: var(--ui-muted);
|
|
6153
6155
|
}
|
package/dist/browser/ui.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { ComponentPropsWithoutRef, ComponentType, ForwardRefExoticComponent, ReactElement, ReactNode, RefAttributes, RefObject } from 'react';
|
|
2
2
|
/** Native host button contract; Base UI composition stays internal to the product. */
|
|
3
3
|
export interface ButtonProps extends ComponentPropsWithoutRef<'button'> {
|
|
4
|
+
multiline?: boolean;
|
|
4
5
|
variant?: 'default' | 'outline' | 'secondary' | 'ghost' | 'disclosure' | 'destructive' | 'link';
|
|
5
6
|
size?: 'default' | 'xs' | 'sm' | 'lg' | 'icon' | 'icon-xs' | 'icon-sm' | 'icon-lg';
|
|
6
7
|
}
|
package/dist/browser/ui.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import w, { createElement, forwardRef, useEffect,
|
|
2
|
+
import w, { createElement, forwardRef, useEffect, useImperativeHandle, useLayoutEffect, useMemo, useRef, useState } from "react";
|
|
3
3
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
4
4
|
import * as ReactDOM from "react-dom";
|
|
5
5
|
//#region \0rolldown/runtime.js
|
|
@@ -4252,6 +4252,7 @@ function cn(...inputs) {
|
|
|
4252
4252
|
//#region src/ui/browser/button.tsx
|
|
4253
4253
|
var buttonVariants = cva("nodrag group/button relative inline-flex shrink-0 items-center justify-center rounded-[var(--ui-control-radius,calc(var(--ui-radius)_+_2px))] border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap no-underline transition-[color,background-color,border-color,box-shadow,opacity,transform] outline-none select-none before:absolute before:inset-0 before:content-[''] motion-reduce:transition-none focus-visible:border-border focus-visible:outline-2 focus-visible:outline-solid focus-visible:ring-0 focus-visible:aria-invalid:ring-0 focus-visible:outline-offset-1 focus-visible:outline-ring focus-visible:aria-invalid:outline-destructive active:not-aria-[haspopup]:not-data-[variant=field]:translate-y-px disabled:pointer-events-none disabled:opacity-[var(--ui-disabled-opacity,0.5)] aria-disabled:pointer-events-none aria-disabled:opacity-[var(--ui-disabled-opacity,0.5)] aria-invalid:border-destructive [&_svg]:pointer-events-none [&_i[aria-hidden=true]]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", {
|
|
4254
4254
|
variants: {
|
|
4255
|
+
multiline: { true: "min-h-min whitespace-normal wrap-anywhere text-center" },
|
|
4255
4256
|
variant: {
|
|
4256
4257
|
"default": "bg-primary text-primary-foreground hover:bg-primary/80",
|
|
4257
4258
|
"outline": "border-border bg-background hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:border-input dark:bg-input/30 dark:hover:bg-[var(--ui-disabled-background,color-mix(in_srgb,var(--ui-input)_50%,transparent))]",
|
|
@@ -4280,7 +4281,7 @@ var buttonVariants = cva("nodrag group/button relative inline-flex shrink-0 item
|
|
|
4280
4281
|
size: "default"
|
|
4281
4282
|
}
|
|
4282
4283
|
});
|
|
4283
|
-
var Button$1 = forwardRef(function Button({ className, variant = "default", size = "default", ...props }, ref) {
|
|
4284
|
+
var Button$1 = forwardRef(function Button({ className, variant = "default", size = "default", multiline, ...props }, ref) {
|
|
4284
4285
|
return /* @__PURE__ */ jsx(Button$2, {
|
|
4285
4286
|
ref,
|
|
4286
4287
|
"data-slot": "button",
|
|
@@ -4289,6 +4290,7 @@ var Button$1 = forwardRef(function Button({ className, variant = "default", size
|
|
|
4289
4290
|
className: cn(buttonVariants({
|
|
4290
4291
|
variant,
|
|
4291
4292
|
size,
|
|
4293
|
+
multiline,
|
|
4292
4294
|
className
|
|
4293
4295
|
})),
|
|
4294
4296
|
...props
|
|
@@ -4537,7 +4539,7 @@ var maybeReactUseId = SafeReact.useId;
|
|
|
4537
4539
|
* @param idOverride
|
|
4538
4540
|
* @returns {string}
|
|
4539
4541
|
*/
|
|
4540
|
-
function useId
|
|
4542
|
+
function useId(idOverride, prefix) {
|
|
4541
4543
|
if (maybeReactUseId !== void 0) {
|
|
4542
4544
|
const reactId = maybeReactUseId();
|
|
4543
4545
|
return idOverride ?? (prefix ? `${prefix}-${reactId}` : reactId);
|
|
@@ -4552,7 +4554,7 @@ function useId$1(idOverride, prefix) {
|
|
|
4552
4554
|
* @returns {string | undefined}
|
|
4553
4555
|
*/
|
|
4554
4556
|
function useBaseUiId(idOverride) {
|
|
4555
|
-
return useId
|
|
4557
|
+
return useId(idOverride, "base-ui");
|
|
4556
4558
|
}
|
|
4557
4559
|
//#endregion
|
|
4558
4560
|
//#region ../../node_modules/.bun/@base-ui+react@1.4.1+fa6c2f29eeb10566/node_modules/@base-ui/react/esm/dialog/description/DialogDescription.js
|
|
@@ -5785,7 +5787,7 @@ var usePortalContext = () => React.useContext(PortalContext);
|
|
|
5785
5787
|
var attr = createAttribute("portal");
|
|
5786
5788
|
function useFloatingPortalNode(props = {}) {
|
|
5787
5789
|
const { ref, container: containerProp, componentProps = EMPTY_OBJECT, elementProps } = props;
|
|
5788
|
-
const uniqueId = useId
|
|
5790
|
+
const uniqueId = useId();
|
|
5789
5791
|
const parentPortalNode = usePortalContext()?.portalNode;
|
|
5790
5792
|
const [containerElement, setContainerElement] = React.useState(null);
|
|
5791
5793
|
const [portalNode, setPortalNode] = React.useState(null);
|
|
@@ -5978,7 +5980,7 @@ var useFloatingTree = (externalTree) => {
|
|
|
5978
5980
|
* @see https://floating-ui.com/docs/FloatingTree
|
|
5979
5981
|
*/
|
|
5980
5982
|
function useFloatingNodeId(externalTree) {
|
|
5981
|
-
const id = useId
|
|
5983
|
+
const id = useId();
|
|
5982
5984
|
const tree = useFloatingTree(externalTree);
|
|
5983
5985
|
const parentId = useFloatingParentNodeId();
|
|
5984
5986
|
useIsoLayoutEffect(() => {
|
|
@@ -9513,7 +9515,7 @@ var popupStoreSelectors = {
|
|
|
9513
9515
|
//#region ../../node_modules/.bun/@base-ui+react@1.4.1+fa6c2f29eeb10566/node_modules/@base-ui/react/esm/floating-ui-react/hooks/useFloatingRootContext.js
|
|
9514
9516
|
function useFloatingRootContext(options) {
|
|
9515
9517
|
const { open = false, onOpenChange, elements = {} } = options;
|
|
9516
|
-
const floatingId = useId
|
|
9518
|
+
const floatingId = useId();
|
|
9517
9519
|
const nested = useFloatingParentNodeId() != null;
|
|
9518
9520
|
if (process.env.NODE_ENV !== "production") {
|
|
9519
9521
|
const optionDomReference = elements.reference;
|
|
@@ -9671,7 +9673,7 @@ function useFloating(options = {}) {
|
|
|
9671
9673
|
*/
|
|
9672
9674
|
function useSyncedFloatingRootContext(options) {
|
|
9673
9675
|
const { popupStore, treatPopupAsFloatingElement = false, onOpenChange } = options;
|
|
9674
|
-
const floatingId = useId
|
|
9676
|
+
const floatingId = useId();
|
|
9675
9677
|
const nested = useFloatingParentNodeId() != null;
|
|
9676
9678
|
const open = popupStore.useState("open");
|
|
9677
9679
|
const referenceElement = popupStore.useState("activeTriggerElement");
|
|
@@ -10806,7 +10808,7 @@ function useRole(context, props = {}) {
|
|
|
10806
10808
|
const domReference = store.useState("domReferenceElement");
|
|
10807
10809
|
const floatingElement = store.useState("floatingElement");
|
|
10808
10810
|
const { role = "dialog" } = props;
|
|
10809
|
-
const defaultReferenceId = useId
|
|
10811
|
+
const defaultReferenceId = useId();
|
|
10810
10812
|
const referenceId = domReference?.id || defaultReferenceId;
|
|
10811
10813
|
const floatingId = React.useMemo(() => getFloatingFocusElement(floatingElement)?.id || defaultFloatingId, [floatingElement, defaultFloatingId]);
|
|
10812
10814
|
const ariaRole = componentRoleToAriaRoleMap.get(role) ?? role;
|
|
@@ -14405,7 +14407,7 @@ var MenuRoot = fastComponent(function MenuRoot(props) {
|
|
|
14405
14407
|
disabled: disabledProp,
|
|
14406
14408
|
modal: parent.type === void 0 ? modalProp : void 0,
|
|
14407
14409
|
openMethod,
|
|
14408
|
-
rootId: useId
|
|
14410
|
+
rootId: useId()
|
|
14409
14411
|
});
|
|
14410
14412
|
useImplicitActiveTrigger(store);
|
|
14411
14413
|
const { forceUnmount } = useOpenStateTransitions(open, store, () => {
|
|
@@ -15969,6 +15971,12 @@ function ClosePartProvider(props) {
|
|
|
15969
15971
|
children
|
|
15970
15972
|
});
|
|
15971
15973
|
}
|
|
15974
|
+
function useClosePartRegistration() {
|
|
15975
|
+
const context = React.useContext(ClosePartContext);
|
|
15976
|
+
useIsoLayoutEffect(() => {
|
|
15977
|
+
return context?.register();
|
|
15978
|
+
}, [context]);
|
|
15979
|
+
}
|
|
15972
15980
|
//#endregion
|
|
15973
15981
|
//#region ../../node_modules/.bun/@base-ui+react@1.4.1+fa6c2f29eeb10566/node_modules/@base-ui/react/esm/popover/popup/PopoverPopup.js
|
|
15974
15982
|
var stateAttributesMapping$1 = {
|
|
@@ -16093,6 +16101,35 @@ var PopoverTitle$2 = /*#__PURE__*/ React.forwardRef(function PopoverTitle(compon
|
|
|
16093
16101
|
});
|
|
16094
16102
|
});
|
|
16095
16103
|
if (process.env.NODE_ENV !== "production") PopoverTitle$2.displayName = "PopoverTitle";
|
|
16104
|
+
//#endregion
|
|
16105
|
+
//#region ../../node_modules/.bun/@base-ui+react@1.4.1+fa6c2f29eeb10566/node_modules/@base-ui/react/esm/popover/close/PopoverClose.js
|
|
16106
|
+
/**
|
|
16107
|
+
* A button that closes the popover.
|
|
16108
|
+
* Renders a `<button>` element.
|
|
16109
|
+
*
|
|
16110
|
+
* Documentation: [Base UI Popover](https://base-ui.com/react/components/popover)
|
|
16111
|
+
*/
|
|
16112
|
+
var PopoverClose$1 = /*#__PURE__*/ React.forwardRef(function PopoverClose(componentProps, forwardedRef) {
|
|
16113
|
+
const { render, className, disabled = false, nativeButton = true, style, ...elementProps } = componentProps;
|
|
16114
|
+
const { buttonRef, getButtonProps } = useButton({
|
|
16115
|
+
disabled,
|
|
16116
|
+
focusableWhenDisabled: false,
|
|
16117
|
+
native: nativeButton
|
|
16118
|
+
});
|
|
16119
|
+
const { store } = usePopoverRootContext();
|
|
16120
|
+
useClosePartRegistration();
|
|
16121
|
+
return useRenderElement("button", componentProps, {
|
|
16122
|
+
ref: [forwardedRef, buttonRef],
|
|
16123
|
+
props: [
|
|
16124
|
+
{ onClick(event) {
|
|
16125
|
+
store.setOpen(false, createChangeEventDetails(closePress, event.nativeEvent, event.currentTarget));
|
|
16126
|
+
} },
|
|
16127
|
+
elementProps,
|
|
16128
|
+
getButtonProps
|
|
16129
|
+
]
|
|
16130
|
+
});
|
|
16131
|
+
});
|
|
16132
|
+
if (process.env.NODE_ENV !== "production") PopoverClose$1.displayName = "PopoverClose";
|
|
16096
16133
|
var scroll_area_module_default = {
|
|
16097
16134
|
container: "scroll-area_container_07c14",
|
|
16098
16135
|
scrollbar: "scroll-area_scrollbar_07c14",
|
|
@@ -18675,6 +18712,12 @@ var PopoverTrigger$1 = React.forwardRef(function PopoverTrigger(props, ref) {
|
|
|
18675
18712
|
ref
|
|
18676
18713
|
});
|
|
18677
18714
|
});
|
|
18715
|
+
function PopoverClose(props) {
|
|
18716
|
+
return /* @__PURE__ */ jsx(PopoverClose$1, {
|
|
18717
|
+
"data-slot": "popover-close",
|
|
18718
|
+
...props
|
|
18719
|
+
});
|
|
18720
|
+
}
|
|
18678
18721
|
function PopoverContent$1({ className, positionerClassName, positionerStyle, align = "center", alignOffset = 0, anchor, collisionBoundary, collisionAvoidance, positionMethod, container, keepMounted, side = "bottom", sideOffset = 4, ...props }) {
|
|
18679
18722
|
return /* @__PURE__ */ jsx(PopoverPortal, {
|
|
18680
18723
|
container,
|
|
@@ -19624,9 +19667,9 @@ var themeIcons = {
|
|
|
19624
19667
|
var actionClassName = "rounded-full bg-foreground/3 text-foreground hover:bg-foreground/7 dark:hover:bg-foreground/7";
|
|
19625
19668
|
/** Shared host navigation; each host owns preference storage and localized labels. */
|
|
19626
19669
|
function HostNavigationActions({ className, language, onLanguageChange, theme, onThemeChange, labels }) {
|
|
19627
|
-
const
|
|
19628
|
-
const languageId = useId();
|
|
19670
|
+
const [container, setContainer] = useState(null);
|
|
19629
19671
|
return /* @__PURE__ */ jsxs("div", {
|
|
19672
|
+
ref: setContainer,
|
|
19630
19673
|
className: cn("flex items-center gap-2", className),
|
|
19631
19674
|
children: [
|
|
19632
19675
|
/* @__PURE__ */ jsx(HostTooltip, {
|
|
@@ -19648,78 +19691,82 @@ function HostNavigationActions({ className, language, onLanguageChange, theme, o
|
|
|
19648
19691
|
})
|
|
19649
19692
|
})
|
|
19650
19693
|
}),
|
|
19651
|
-
/* @__PURE__ */ jsx(HostTooltip, {
|
|
19694
|
+
/* @__PURE__ */ jsxs(Popover$1, { children: [/* @__PURE__ */ jsx(HostTooltip, {
|
|
19652
19695
|
label: labels.theme,
|
|
19653
19696
|
side: "bottom",
|
|
19654
|
-
children: /* @__PURE__ */ jsx(
|
|
19655
|
-
|
|
19656
|
-
|
|
19657
|
-
|
|
19658
|
-
|
|
19659
|
-
|
|
19660
|
-
|
|
19697
|
+
children: /* @__PURE__ */ jsx(PopoverTrigger$1, {
|
|
19698
|
+
render: /* @__PURE__ */ jsx(Button$1, {
|
|
19699
|
+
className: actionClassName,
|
|
19700
|
+
variant: "ghost",
|
|
19701
|
+
size: "icon",
|
|
19702
|
+
type: "button",
|
|
19703
|
+
"aria-label": labels.theme
|
|
19704
|
+
}),
|
|
19661
19705
|
children: /* @__PURE__ */ jsx("i", {
|
|
19662
19706
|
"aria-hidden": "true",
|
|
19663
19707
|
className: `${themeIcons[theme]} size-4`
|
|
19664
19708
|
})
|
|
19665
19709
|
})
|
|
19666
|
-
}),
|
|
19667
|
-
|
|
19668
|
-
|
|
19669
|
-
|
|
19670
|
-
|
|
19671
|
-
|
|
19672
|
-
variant: "ghost",
|
|
19673
|
-
size: "icon",
|
|
19674
|
-
type: "button",
|
|
19675
|
-
popovertarget: languageId,
|
|
19676
|
-
"aria-label": labels.language,
|
|
19677
|
-
children: /* @__PURE__ */ jsx("i", {
|
|
19678
|
-
"aria-hidden": "true",
|
|
19679
|
-
className: "i-lucide-light:languages size-4"
|
|
19680
|
-
})
|
|
19681
|
-
})
|
|
19682
|
-
}),
|
|
19683
|
-
/* @__PURE__ */ jsx("div", {
|
|
19684
|
-
id: themeId,
|
|
19685
|
-
popover: "auto",
|
|
19686
|
-
className: "open-flow-navigation-menu",
|
|
19710
|
+
}), /* @__PURE__ */ jsx(PopoverContent$1, {
|
|
19711
|
+
container,
|
|
19712
|
+
align: "end",
|
|
19713
|
+
positionMethod: "fixed",
|
|
19714
|
+
className: "open-flow-navigation-menu ring-0",
|
|
19715
|
+
"aria-label": labels.theme,
|
|
19687
19716
|
children: [
|
|
19688
19717
|
"light",
|
|
19689
19718
|
"dark",
|
|
19690
19719
|
"auto"
|
|
19691
|
-
].map((value) => /* @__PURE__ */ jsxs(
|
|
19692
|
-
|
|
19693
|
-
|
|
19694
|
-
|
|
19720
|
+
].map((value) => /* @__PURE__ */ jsxs(PopoverClose, {
|
|
19721
|
+
render: /* @__PURE__ */ jsx(Button$1, {
|
|
19722
|
+
multiline: true,
|
|
19723
|
+
className: "justify-start gap-2",
|
|
19724
|
+
variant: "ghost",
|
|
19725
|
+
size: "sm"
|
|
19726
|
+
}),
|
|
19695
19727
|
type: "button",
|
|
19696
19728
|
"aria-pressed": theme == value,
|
|
19697
|
-
onClick: (
|
|
19698
|
-
onThemeChange(value);
|
|
19699
|
-
event.currentTarget.closest("[popover]")?.hidePopover();
|
|
19700
|
-
},
|
|
19729
|
+
onClick: () => onThemeChange(value),
|
|
19701
19730
|
children: [/* @__PURE__ */ jsx("i", {
|
|
19702
19731
|
"aria-hidden": "true",
|
|
19703
|
-
className: `${themeIcons[value]} size-4`
|
|
19732
|
+
className: `${themeIcons[value]} size-4 shrink-0`
|
|
19704
19733
|
}), labels[value]]
|
|
19705
19734
|
}, value))
|
|
19706
|
-
}),
|
|
19707
|
-
/* @__PURE__ */ jsx(
|
|
19708
|
-
|
|
19709
|
-
|
|
19710
|
-
|
|
19711
|
-
|
|
19712
|
-
|
|
19713
|
-
|
|
19735
|
+
})] }),
|
|
19736
|
+
/* @__PURE__ */ jsxs(Popover$1, { children: [/* @__PURE__ */ jsx(HostTooltip, {
|
|
19737
|
+
label: labels.language,
|
|
19738
|
+
side: "bottom",
|
|
19739
|
+
children: /* @__PURE__ */ jsx(PopoverTrigger$1, {
|
|
19740
|
+
render: /* @__PURE__ */ jsx(Button$1, {
|
|
19741
|
+
className: actionClassName,
|
|
19742
|
+
variant: "ghost",
|
|
19743
|
+
size: "icon",
|
|
19744
|
+
type: "button",
|
|
19745
|
+
"aria-label": labels.language
|
|
19746
|
+
}),
|
|
19747
|
+
children: /* @__PURE__ */ jsx("i", {
|
|
19748
|
+
"aria-hidden": "true",
|
|
19749
|
+
className: "i-lucide-light:languages size-4"
|
|
19750
|
+
})
|
|
19751
|
+
})
|
|
19752
|
+
}), /* @__PURE__ */ jsx(PopoverContent$1, {
|
|
19753
|
+
container,
|
|
19754
|
+
align: "end",
|
|
19755
|
+
positionMethod: "fixed",
|
|
19756
|
+
className: "open-flow-navigation-menu ring-0",
|
|
19757
|
+
"aria-label": labels.language,
|
|
19758
|
+
children: uiLanguages.map((value) => /* @__PURE__ */ jsx(PopoverClose, {
|
|
19759
|
+
render: /* @__PURE__ */ jsx(Button$1, {
|
|
19760
|
+
multiline: true,
|
|
19761
|
+
variant: "ghost",
|
|
19762
|
+
size: "sm"
|
|
19763
|
+
}),
|
|
19714
19764
|
type: "button",
|
|
19715
19765
|
"aria-pressed": language == value,
|
|
19716
|
-
onClick: (
|
|
19717
|
-
onLanguageChange(value);
|
|
19718
|
-
event.currentTarget.closest("[popover]")?.hidePopover();
|
|
19719
|
-
},
|
|
19766
|
+
onClick: () => onLanguageChange(value),
|
|
19720
19767
|
children: uiLanguageNames[value]
|
|
19721
19768
|
}, value))
|
|
19722
|
-
})
|
|
19769
|
+
})] })
|
|
19723
19770
|
]
|
|
19724
19771
|
});
|
|
19725
19772
|
}
|