@flowgram.ai/fixed-semi-materials 0.1.0-alpha.2 → 0.1.0-alpha.20
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/esm/index.js +269 -153
- package/dist/esm/index.js.map +1 -1
- package/dist/index.d.mts +78 -5
- package/dist/index.d.ts +78 -5
- package/dist/index.js +267 -161
- package/dist/index.js.map +1 -1
- package/package.json +14 -15
package/dist/index.js
CHANGED
|
@@ -28,15 +28,15 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
28
28
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
29
|
|
|
30
30
|
// src/index.ts
|
|
31
|
-
var
|
|
32
|
-
__export(
|
|
31
|
+
var index_exports = {};
|
|
32
|
+
__export(index_exports, {
|
|
33
33
|
PlaygroundTools: () => PlaygroundTools,
|
|
34
34
|
defaultFixedSemiMaterials: () => defaultFixedSemiMaterials
|
|
35
35
|
});
|
|
36
|
-
module.exports = __toCommonJS(
|
|
36
|
+
module.exports = __toCommonJS(index_exports);
|
|
37
37
|
|
|
38
38
|
// src/components/index.tsx
|
|
39
|
-
var
|
|
39
|
+
var import_fixed_layout_editor9 = require("@flowgram.ai/fixed-layout-editor");
|
|
40
40
|
|
|
41
41
|
// src/assets/ellipsis.tsx
|
|
42
42
|
var import_react = __toESM(require("react"));
|
|
@@ -199,6 +199,8 @@ var import_fixed_layout_editor = require("@flowgram.ai/fixed-layout-editor");
|
|
|
199
199
|
var import_semi_icons = require("@douyinfe/semi-icons");
|
|
200
200
|
function TryCatchCollapse(props) {
|
|
201
201
|
const { node } = props;
|
|
202
|
+
const { baseColor, baseActivatedColor } = (0, import_fixed_layout_editor.useBaseColor)();
|
|
203
|
+
const playground = (0, import_fixed_layout_editor.usePlayground)();
|
|
202
204
|
const activateData = node.getData(import_fixed_layout_editor.FlowNodeRenderData);
|
|
203
205
|
const transform = node.getData(import_fixed_layout_editor.FlowNodeTransformData);
|
|
204
206
|
const [hoverActivated, setHoverActivated] = (0, import_react3.useState)(false);
|
|
@@ -209,7 +211,7 @@ function TryCatchCollapse(props) {
|
|
|
209
211
|
const height = 40;
|
|
210
212
|
const scrollToActivateNode = () => {
|
|
211
213
|
setTimeout(() => {
|
|
212
|
-
|
|
214
|
+
playground.config.scrollToView({
|
|
213
215
|
position: node?.getData(import_fixed_layout_editor.FlowNodeTransformData)?.inputPoint,
|
|
214
216
|
scrollToCenter: true
|
|
215
217
|
});
|
|
@@ -251,7 +253,7 @@ function TryCatchCollapse(props) {
|
|
|
251
253
|
cursor: "pointer",
|
|
252
254
|
justifyContent: "center",
|
|
253
255
|
alignItems: "center",
|
|
254
|
-
background: hoverActivated ?
|
|
256
|
+
background: hoverActivated || activateData.lineActivated ? baseActivatedColor : baseColor
|
|
255
257
|
},
|
|
256
258
|
"aria-hidden": "true"
|
|
257
259
|
},
|
|
@@ -273,7 +275,7 @@ function TryCatchCollapse(props) {
|
|
|
273
275
|
cursor: "pointer",
|
|
274
276
|
justifyContent: "center",
|
|
275
277
|
alignItems: "center",
|
|
276
|
-
background:
|
|
278
|
+
background: baseActivatedColor
|
|
277
279
|
},
|
|
278
280
|
"aria-hidden": "true"
|
|
279
281
|
},
|
|
@@ -299,28 +301,187 @@ function TryCatchCollapse(props) {
|
|
|
299
301
|
/* @__PURE__ */ import_react3.default.createElement(
|
|
300
302
|
"div",
|
|
301
303
|
{
|
|
304
|
+
"data-label-id": props.labelId,
|
|
302
305
|
style: {
|
|
303
306
|
fontSize: 12,
|
|
304
|
-
color:
|
|
307
|
+
color: hoverActivated || activateData.lineActivated ? baseActivatedColor : baseColor,
|
|
305
308
|
textAlign: "center",
|
|
306
309
|
whiteSpace: "nowrap",
|
|
307
310
|
backgroundColor: "var(--g-editor-background)",
|
|
308
311
|
lineHeight: "20px"
|
|
309
312
|
}
|
|
310
313
|
},
|
|
311
|
-
|
|
314
|
+
node.getService(import_fixed_layout_editor.FlowRendererRegistry).getText(import_fixed_layout_editor.FlowTextKey.CATCH_TEXT)
|
|
312
315
|
),
|
|
313
316
|
renderCollapse()
|
|
314
317
|
);
|
|
315
318
|
}
|
|
316
319
|
var try_catch_collapse_default = TryCatchCollapse;
|
|
317
320
|
|
|
318
|
-
// src/components/
|
|
321
|
+
// src/components/slot-collapse.tsx
|
|
322
|
+
var import_react5 = __toESM(require("react"));
|
|
323
|
+
var import_fixed_layout_editor3 = require("@flowgram.ai/fixed-layout-editor");
|
|
324
|
+
|
|
325
|
+
// src/components/collapse/index.tsx
|
|
319
326
|
var import_react4 = __toESM(require("react"));
|
|
327
|
+
var import_fixed_layout_editor2 = require("@flowgram.ai/fixed-layout-editor");
|
|
320
328
|
|
|
321
|
-
// src/components/
|
|
329
|
+
// src/components/collapse/styles.tsx
|
|
322
330
|
var import_styled_components = __toESM(require("styled-components"));
|
|
323
|
-
var
|
|
331
|
+
var Container = import_styled_components.default.div`
|
|
332
|
+
width: 16px;
|
|
333
|
+
height: 16px;
|
|
334
|
+
font-size: 10px;
|
|
335
|
+
border-radius: 9px;
|
|
336
|
+
display: flex;
|
|
337
|
+
color: #fff;
|
|
338
|
+
cursor: pointer;
|
|
339
|
+
justify-content: center;
|
|
340
|
+
align-items: center;
|
|
341
|
+
background: ${(props) => props.hoverActivated ? "#82A7FC" : "#BBBFC4"};
|
|
342
|
+
transform: ${(props) => !props.isVertical && props.isCollapse ? "rotate(-90deg)" : ""};
|
|
343
|
+
`;
|
|
344
|
+
|
|
345
|
+
// src/components/collapse/index.tsx
|
|
346
|
+
function Collapse(props) {
|
|
347
|
+
const { collapseNode, activateNode, hoverActivated, style } = props;
|
|
348
|
+
const playground = (0, import_fixed_layout_editor2.usePlayground)();
|
|
349
|
+
const activateData = activateNode?.getData(import_fixed_layout_editor2.FlowNodeRenderData);
|
|
350
|
+
const transform = collapseNode.getData(import_fixed_layout_editor2.FlowNodeTransformData);
|
|
351
|
+
if (!transform) {
|
|
352
|
+
return /* @__PURE__ */ import_react4.default.createElement(import_react4.default.Fragment, null);
|
|
353
|
+
}
|
|
354
|
+
const scrollToActivateNode = () => {
|
|
355
|
+
setTimeout(() => {
|
|
356
|
+
playground.config.scrollToView({
|
|
357
|
+
position: activateNode?.getData(import_fixed_layout_editor2.FlowNodeTransformData)?.outputPoint,
|
|
358
|
+
scrollToCenter: true
|
|
359
|
+
});
|
|
360
|
+
}, 100);
|
|
361
|
+
};
|
|
362
|
+
const collapseBlock = () => {
|
|
363
|
+
transform.collapsed = true;
|
|
364
|
+
activateData?.toggleMouseLeave();
|
|
365
|
+
scrollToActivateNode();
|
|
366
|
+
};
|
|
367
|
+
const openBlock = () => {
|
|
368
|
+
transform.collapsed = false;
|
|
369
|
+
scrollToActivateNode();
|
|
370
|
+
};
|
|
371
|
+
if (transform.collapsed) {
|
|
372
|
+
const childCount = collapseNode.allCollapsedChildren.filter(
|
|
373
|
+
(child) => !child.hidden && child !== activateNode
|
|
374
|
+
).length;
|
|
375
|
+
return /* @__PURE__ */ import_react4.default.createElement(
|
|
376
|
+
Container,
|
|
377
|
+
{
|
|
378
|
+
onClick: openBlock,
|
|
379
|
+
hoverActivated,
|
|
380
|
+
"aria-hidden": "true",
|
|
381
|
+
style
|
|
382
|
+
},
|
|
383
|
+
childCount
|
|
384
|
+
);
|
|
385
|
+
}
|
|
386
|
+
const circleColor = "var(--semi-color-white)";
|
|
387
|
+
const color = hoverActivated ? "#82A7FC" : "#BBBFC4";
|
|
388
|
+
return /* @__PURE__ */ import_react4.default.createElement(
|
|
389
|
+
Container,
|
|
390
|
+
{
|
|
391
|
+
onClick: collapseBlock,
|
|
392
|
+
hoverActivated,
|
|
393
|
+
isVertical: activateNode?.isVertical,
|
|
394
|
+
isCollapse: true,
|
|
395
|
+
style,
|
|
396
|
+
"aria-hidden": "true"
|
|
397
|
+
},
|
|
398
|
+
/* @__PURE__ */ import_react4.default.createElement(Arrow, { color, circleColor })
|
|
399
|
+
);
|
|
400
|
+
}
|
|
401
|
+
var collapse_default = Collapse;
|
|
402
|
+
|
|
403
|
+
// src/components/slot-collapse.tsx
|
|
404
|
+
function SlotCollapse({ node }) {
|
|
405
|
+
const [hoverActivated, setHoverActivated] = (0, import_react5.useState)(false);
|
|
406
|
+
const icon = node.firstChild;
|
|
407
|
+
const iconActivated = icon.getData(import_fixed_layout_editor3.FlowNodeRenderData).activated;
|
|
408
|
+
const iconHeight = icon.getData(import_fixed_layout_editor3.FlowNodeTransformData).size.height;
|
|
409
|
+
const isChildVisible = node.collapsed || hoverActivated || iconActivated;
|
|
410
|
+
return /* @__PURE__ */ import_react5.default.createElement(
|
|
411
|
+
"div",
|
|
412
|
+
{
|
|
413
|
+
style: {
|
|
414
|
+
width: 30,
|
|
415
|
+
height: iconHeight || 100,
|
|
416
|
+
display: "flex",
|
|
417
|
+
alignItems: "center",
|
|
418
|
+
justifyContent: "center"
|
|
419
|
+
},
|
|
420
|
+
onMouseEnter: () => setHoverActivated(true),
|
|
421
|
+
onMouseLeave: () => setHoverActivated(false)
|
|
422
|
+
},
|
|
423
|
+
isChildVisible && /* @__PURE__ */ import_react5.default.createElement(
|
|
424
|
+
collapse_default,
|
|
425
|
+
{
|
|
426
|
+
style: !node.collapsed ? {
|
|
427
|
+
transform: node.isVertical ? "rotate(-90deg)" : "rotate(90deg)"
|
|
428
|
+
} : {},
|
|
429
|
+
node,
|
|
430
|
+
activateNode: icon,
|
|
431
|
+
collapseNode: node,
|
|
432
|
+
hoverActivated
|
|
433
|
+
}
|
|
434
|
+
)
|
|
435
|
+
);
|
|
436
|
+
}
|
|
437
|
+
|
|
438
|
+
// src/components/slot-adder.tsx
|
|
439
|
+
var import_react6 = __toESM(require("react"));
|
|
440
|
+
var import_nanoid = require("nanoid");
|
|
441
|
+
var import_fixed_layout_editor4 = require("@flowgram.ai/fixed-layout-editor");
|
|
442
|
+
var import_semi_ui = require("@douyinfe/semi-ui");
|
|
443
|
+
var import_semi_icons2 = require("@douyinfe/semi-icons");
|
|
444
|
+
function SlotAdder(props) {
|
|
445
|
+
const { node } = props;
|
|
446
|
+
const nodeData = node.firstChild?.getData(import_fixed_layout_editor4.FlowNodeRenderData);
|
|
447
|
+
const document = (0, import_fixed_layout_editor4.useService)(import_fixed_layout_editor4.FlowDocument);
|
|
448
|
+
async function addPort() {
|
|
449
|
+
document.addNode({
|
|
450
|
+
id: (0, import_nanoid.nanoid)(5),
|
|
451
|
+
type: "custom",
|
|
452
|
+
parent: node
|
|
453
|
+
});
|
|
454
|
+
}
|
|
455
|
+
return /* @__PURE__ */ import_react6.default.createElement(
|
|
456
|
+
"div",
|
|
457
|
+
{
|
|
458
|
+
style: {
|
|
459
|
+
display: "flex",
|
|
460
|
+
background: "var(--semi-color-bg-0)"
|
|
461
|
+
},
|
|
462
|
+
onMouseEnter: () => nodeData?.toggleMouseEnter(),
|
|
463
|
+
onMouseLeave: () => nodeData?.toggleMouseLeave()
|
|
464
|
+
},
|
|
465
|
+
/* @__PURE__ */ import_react6.default.createElement(
|
|
466
|
+
import_semi_ui.Button,
|
|
467
|
+
{
|
|
468
|
+
onClick: () => {
|
|
469
|
+
addPort();
|
|
470
|
+
},
|
|
471
|
+
size: "small",
|
|
472
|
+
icon: /* @__PURE__ */ import_react6.default.createElement(import_semi_icons2.IconPlus, null)
|
|
473
|
+
}
|
|
474
|
+
)
|
|
475
|
+
);
|
|
476
|
+
}
|
|
477
|
+
|
|
478
|
+
// src/components/dragging-adder/index.tsx
|
|
479
|
+
var import_react7 = __toESM(require("react"));
|
|
480
|
+
var import_fixed_layout_editor5 = require("@flowgram.ai/fixed-layout-editor");
|
|
481
|
+
|
|
482
|
+
// src/components/dragging-adder/styles.tsx
|
|
483
|
+
var import_styled_components2 = __toESM(require("styled-components"));
|
|
484
|
+
var UIDragNodeContainer = import_styled_components2.default.div`
|
|
324
485
|
width: 16px;
|
|
325
486
|
height: 16px;
|
|
326
487
|
border-radius: 100px;
|
|
@@ -329,22 +490,32 @@ var UIDragNodeContainer = import_styled_components.default.div`
|
|
|
329
490
|
`;
|
|
330
491
|
|
|
331
492
|
// src/components/dragging-adder/index.tsx
|
|
332
|
-
function DraggingAdder() {
|
|
333
|
-
|
|
493
|
+
function DraggingAdder(props) {
|
|
494
|
+
const playground = (0, import_fixed_layout_editor5.usePlayground)();
|
|
495
|
+
const layer = playground.getLayer(import_fixed_layout_editor5.FlowDragLayer);
|
|
496
|
+
if (!layer) return /* @__PURE__ */ import_react7.default.createElement(import_react7.default.Fragment, null);
|
|
497
|
+
if (layer.options.canDrop && !layer.options.canDrop({
|
|
498
|
+
dragNodes: layer.dragEntities || [],
|
|
499
|
+
dropNode: props.from,
|
|
500
|
+
isBranch: false
|
|
501
|
+
})) {
|
|
502
|
+
return /* @__PURE__ */ import_react7.default.createElement(import_react7.default.Fragment, null);
|
|
503
|
+
}
|
|
504
|
+
return /* @__PURE__ */ import_react7.default.createElement(UIDragNodeContainer, null);
|
|
334
505
|
}
|
|
335
506
|
|
|
336
507
|
// src/components/drag-node/index.tsx
|
|
337
|
-
var
|
|
508
|
+
var import_react8 = __toESM(require("react"));
|
|
338
509
|
|
|
339
510
|
// src/components/drag-node/styles.tsx
|
|
340
|
-
var
|
|
511
|
+
var import_styled_components3 = __toESM(require("styled-components"));
|
|
341
512
|
|
|
342
513
|
// src/components/constants.tsx
|
|
343
514
|
var primary = "hsl(252 62% 54.9%)";
|
|
344
515
|
var primaryOpacity09 = "hsl(252deg 62% 55% / 9%)";
|
|
345
516
|
|
|
346
517
|
// src/components/drag-node/styles.tsx
|
|
347
|
-
var UIDragNodeContainer2 =
|
|
518
|
+
var UIDragNodeContainer2 = import_styled_components3.default.div`
|
|
348
519
|
position: relative;
|
|
349
520
|
height: 32px;
|
|
350
521
|
border-radius: 5px;
|
|
@@ -359,7 +530,7 @@ var UIDragNodeContainer2 = import_styled_components2.default.div`
|
|
|
359
530
|
color: ${primary};
|
|
360
531
|
}
|
|
361
532
|
`;
|
|
362
|
-
var UIDragCounts =
|
|
533
|
+
var UIDragCounts = import_styled_components3.default.div`
|
|
363
534
|
position: absolute;
|
|
364
535
|
top: -8px;
|
|
365
536
|
right: -8px;
|
|
@@ -375,11 +546,11 @@ var UIDragCounts = import_styled_components2.default.div`
|
|
|
375
546
|
|
|
376
547
|
// src/components/drag-node/index.tsx
|
|
377
548
|
function DragNode(props) {
|
|
378
|
-
const { dragStart, dragNodes } = props;
|
|
549
|
+
const { dragStart, dragNodes, dragJSON } = props;
|
|
379
550
|
const dragLength = (dragNodes || []).map(
|
|
380
551
|
(_node) => _node.allCollapsedChildren.length ? _node.allCollapsedChildren.filter((_n) => !_n.hidden).length : 1
|
|
381
552
|
).reduce((acm, curr) => acm + curr, 0);
|
|
382
|
-
return /* @__PURE__ */
|
|
553
|
+
return /* @__PURE__ */ import_react8.default.createElement(UIDragNodeContainer2, null, dragStart?.id || dragJSON?.id, dragLength > 1 && /* @__PURE__ */ import_react8.default.createElement(import_react8.default.Fragment, null, /* @__PURE__ */ import_react8.default.createElement(UIDragCounts, null, dragLength), /* @__PURE__ */ import_react8.default.createElement(
|
|
383
554
|
UIDragNodeContainer2,
|
|
384
555
|
{
|
|
385
556
|
style: {
|
|
@@ -395,17 +566,17 @@ function DragNode(props) {
|
|
|
395
566
|
}
|
|
396
567
|
|
|
397
568
|
// src/components/drag-highlight-adder/index.tsx
|
|
398
|
-
var
|
|
399
|
-
var
|
|
400
|
-
var
|
|
569
|
+
var import_react9 = __toESM(require("react"));
|
|
570
|
+
var import_lodash_es = require("lodash-es");
|
|
571
|
+
var import_fixed_layout_editor6 = require("@flowgram.ai/fixed-layout-editor");
|
|
401
572
|
|
|
402
573
|
// src/components/drag-highlight-adder/styles.tsx
|
|
403
|
-
var
|
|
404
|
-
var UILineContainer =
|
|
574
|
+
var import_styled_components4 = __toESM(require("styled-components"));
|
|
575
|
+
var UILineContainer = import_styled_components4.default.div`
|
|
405
576
|
display: flex;
|
|
406
577
|
align-items: center;
|
|
407
578
|
`;
|
|
408
|
-
var UILine = (width, height) =>
|
|
579
|
+
var UILine = (width, height) => import_styled_components4.default.div`
|
|
409
580
|
width: ${width}px;
|
|
410
581
|
height: ${height}px;
|
|
411
582
|
background: #3370ff;
|
|
@@ -419,97 +590,30 @@ var getMinSize = (preWidth, nextWidth) => {
|
|
|
419
590
|
if (!nextWidth || nextWidth < 0) {
|
|
420
591
|
return preWidth;
|
|
421
592
|
}
|
|
422
|
-
return (0,
|
|
593
|
+
return (0, import_lodash_es.min)([preWidth, nextWidth]) || 0;
|
|
423
594
|
};
|
|
424
595
|
function DragHighlightAdder({ node }) {
|
|
425
|
-
const transformBounds = node.getData(
|
|
596
|
+
const transformBounds = node.getData(import_fixed_layout_editor6.FlowNodeTransformData)?.bounds;
|
|
426
597
|
const { isVertical } = node;
|
|
427
598
|
if (isVertical) {
|
|
428
599
|
const preWidth = (transformBounds?.width || 0) - 16;
|
|
429
|
-
const nextNodeBounds2 = node?.next?.getData(
|
|
600
|
+
const nextNodeBounds2 = node?.next?.getData(import_fixed_layout_editor6.FlowNodeTransformData)?.bounds?.width;
|
|
430
601
|
const nextWidth = (nextNodeBounds2 || 0) - 16;
|
|
431
602
|
const LineDom2 = UILine(getMinSize(preWidth, nextWidth), 2);
|
|
432
|
-
return /* @__PURE__ */
|
|
603
|
+
return /* @__PURE__ */ import_react9.default.createElement(UILineContainer, null, /* @__PURE__ */ import_react9.default.createElement(Ellipse, null), /* @__PURE__ */ import_react9.default.createElement(LineDom2, null), /* @__PURE__ */ import_react9.default.createElement(Ellipse, null));
|
|
433
604
|
}
|
|
434
605
|
const preHeight = (transformBounds?.height || 0) - 16;
|
|
435
|
-
const nextNodeBounds = node?.next?.getData(
|
|
606
|
+
const nextNodeBounds = node?.next?.getData(import_fixed_layout_editor6.FlowNodeTransformData)?.bounds?.height;
|
|
436
607
|
const nextHeight = (nextNodeBounds || 0) - 16;
|
|
437
608
|
const LineDom = UILine(2, getMinSize(preHeight, nextHeight));
|
|
438
|
-
return /* @__PURE__ */
|
|
439
|
-
}
|
|
440
|
-
|
|
441
|
-
// src/components/collapse/index.tsx
|
|
442
|
-
var import_react7 = __toESM(require("react"));
|
|
443
|
-
var import_fixed_layout_editor3 = require("@flowgram.ai/fixed-layout-editor");
|
|
444
|
-
|
|
445
|
-
// src/components/collapse/styles.tsx
|
|
446
|
-
var import_styled_components4 = __toESM(require("styled-components"));
|
|
447
|
-
var Container = import_styled_components4.default.div`
|
|
448
|
-
width: 16px;
|
|
449
|
-
height: 16px;
|
|
450
|
-
font-size: 10px;
|
|
451
|
-
border-radius: 9px;
|
|
452
|
-
display: flex;
|
|
453
|
-
color: #fff;
|
|
454
|
-
cursor: pointer;
|
|
455
|
-
justify-content: center;
|
|
456
|
-
align-items: center;
|
|
457
|
-
background: ${(props) => props.hoverActivated ? "#82A7FC" : "#BBBFC4"};
|
|
458
|
-
transform: ${(props) => !props.isVertical && props.isCollapse ? "rotate(-90deg)" : ""};
|
|
459
|
-
`;
|
|
460
|
-
|
|
461
|
-
// src/components/collapse/index.tsx
|
|
462
|
-
function Collapse(props) {
|
|
463
|
-
const { collapseNode, activateNode, hoverActivated } = props;
|
|
464
|
-
const activateData = activateNode?.getData(import_fixed_layout_editor3.FlowNodeRenderData);
|
|
465
|
-
const transform = collapseNode.getData(import_fixed_layout_editor3.FlowNodeTransformData);
|
|
466
|
-
if (!transform) {
|
|
467
|
-
return /* @__PURE__ */ import_react7.default.createElement(import_react7.default.Fragment, null);
|
|
468
|
-
}
|
|
469
|
-
const scrollToActivateNode = () => {
|
|
470
|
-
setTimeout(() => {
|
|
471
|
-
import_fixed_layout_editor3.Playground.getLatest()?.scrollToView({
|
|
472
|
-
position: activateNode?.getData(import_fixed_layout_editor3.FlowNodeTransformData)?.outputPoint,
|
|
473
|
-
scrollToCenter: true
|
|
474
|
-
});
|
|
475
|
-
}, 100);
|
|
476
|
-
};
|
|
477
|
-
const collapseBlock = () => {
|
|
478
|
-
transform.collapsed = true;
|
|
479
|
-
activateData?.toggleMouseLeave();
|
|
480
|
-
scrollToActivateNode();
|
|
481
|
-
};
|
|
482
|
-
const openBlock = () => {
|
|
483
|
-
transform.collapsed = false;
|
|
484
|
-
scrollToActivateNode();
|
|
485
|
-
};
|
|
486
|
-
if (transform.collapsed) {
|
|
487
|
-
const childCount = collapseNode.allCollapsedChildren.filter(
|
|
488
|
-
(child) => !child.hidden && child !== activateNode
|
|
489
|
-
).length;
|
|
490
|
-
return /* @__PURE__ */ import_react7.default.createElement(Container, { onClick: openBlock, hoverActivated, "aria-hidden": "true" }, childCount);
|
|
491
|
-
}
|
|
492
|
-
const circleColor = "var(--semi-color-white)";
|
|
493
|
-
const color = hoverActivated ? "#82A7FC" : "#BBBFC4";
|
|
494
|
-
return /* @__PURE__ */ import_react7.default.createElement(
|
|
495
|
-
Container,
|
|
496
|
-
{
|
|
497
|
-
onClick: collapseBlock,
|
|
498
|
-
hoverActivated,
|
|
499
|
-
isVertical: activateNode?.isVertical,
|
|
500
|
-
isCollapse: true,
|
|
501
|
-
"aria-hidden": "true"
|
|
502
|
-
},
|
|
503
|
-
/* @__PURE__ */ import_react7.default.createElement(Arrow, { color, circleColor })
|
|
504
|
-
);
|
|
609
|
+
return /* @__PURE__ */ import_react9.default.createElement(UILineContainer, { style: { flexDirection: "column" } }, /* @__PURE__ */ import_react9.default.createElement(Ellipse, null), /* @__PURE__ */ import_react9.default.createElement(LineDom, null), /* @__PURE__ */ import_react9.default.createElement(Ellipse, null));
|
|
505
610
|
}
|
|
506
|
-
var collapse_default = Collapse;
|
|
507
611
|
|
|
508
612
|
// src/components/branch-adder/index.tsx
|
|
509
|
-
var
|
|
510
|
-
var
|
|
511
|
-
var
|
|
512
|
-
var
|
|
613
|
+
var import_react10 = __toESM(require("react"));
|
|
614
|
+
var import_nanoid2 = require("nanoid");
|
|
615
|
+
var import_fixed_layout_editor7 = require("@flowgram.ai/fixed-layout-editor");
|
|
616
|
+
var import_semi_icons3 = require("@douyinfe/semi-icons");
|
|
513
617
|
|
|
514
618
|
// src/components/branch-adder/styles.tsx
|
|
515
619
|
var import_styled_components5 = __toESM(require("styled-components"));
|
|
@@ -539,72 +643,72 @@ var Container2 = import_styled_components5.default.div`
|
|
|
539
643
|
// src/components/branch-adder/index.tsx
|
|
540
644
|
function BranchAdder(props) {
|
|
541
645
|
const { activated, node } = props;
|
|
542
|
-
const nodeData = node.firstChild?.getData(
|
|
543
|
-
const playground = (0,
|
|
544
|
-
const flowOperationService = (0,
|
|
646
|
+
const nodeData = node.firstChild?.getData(import_fixed_layout_editor7.FlowNodeRenderData);
|
|
647
|
+
const playground = (0, import_fixed_layout_editor7.usePlayground)();
|
|
648
|
+
const flowOperationService = (0, import_fixed_layout_editor7.useService)(import_fixed_layout_editor7.FlowOperationService);
|
|
545
649
|
const { isVertical } = node;
|
|
546
650
|
function addBranch() {
|
|
547
|
-
const block = flowOperationService.addBlock(node, { id: (0,
|
|
651
|
+
const block = flowOperationService.addBlock(node, { id: (0, import_nanoid2.nanoid)(5) });
|
|
548
652
|
setTimeout(() => {
|
|
549
653
|
playground.scrollToView({
|
|
550
|
-
bounds: block.getData(
|
|
654
|
+
bounds: block.getData(import_fixed_layout_editor7.FlowNodeTransformData).bounds,
|
|
551
655
|
scrollToCenter: true
|
|
552
656
|
});
|
|
553
657
|
}, 10);
|
|
554
658
|
}
|
|
555
659
|
if (playground.config.readonlyOrDisabled) return null;
|
|
556
|
-
return /* @__PURE__ */
|
|
660
|
+
return /* @__PURE__ */ import_react10.default.createElement(
|
|
557
661
|
Container2,
|
|
558
662
|
{
|
|
559
663
|
isVertical,
|
|
560
|
-
activated,
|
|
664
|
+
activated: activated || nodeData?.hovered,
|
|
561
665
|
onMouseEnter: () => nodeData?.toggleMouseEnter(),
|
|
562
666
|
onMouseLeave: () => nodeData?.toggleMouseLeave()
|
|
563
667
|
},
|
|
564
|
-
/* @__PURE__ */
|
|
668
|
+
/* @__PURE__ */ import_react10.default.createElement(
|
|
565
669
|
"div",
|
|
566
670
|
{
|
|
567
671
|
onClick: () => {
|
|
568
672
|
addBranch();
|
|
569
673
|
},
|
|
570
674
|
"aria-hidden": "true",
|
|
571
|
-
style: { flexGrow: 1, textAlign: "center" }
|
|
675
|
+
style: { flexGrow: 1, textAlign: "center", cursor: "pointer" }
|
|
572
676
|
},
|
|
573
|
-
/* @__PURE__ */
|
|
677
|
+
/* @__PURE__ */ import_react10.default.createElement(import_semi_icons3.IconPlus, null)
|
|
574
678
|
)
|
|
575
679
|
);
|
|
576
680
|
}
|
|
577
681
|
|
|
578
682
|
// src/components/adder/index.tsx
|
|
579
|
-
var
|
|
580
|
-
var
|
|
581
|
-
var
|
|
582
|
-
var
|
|
683
|
+
var import_react13 = __toESM(require("react"));
|
|
684
|
+
var import_nanoid4 = require("nanoid");
|
|
685
|
+
var import_fixed_layout_editor8 = require("@flowgram.ai/fixed-layout-editor");
|
|
686
|
+
var import_semi_ui2 = require("@douyinfe/semi-ui");
|
|
583
687
|
|
|
584
688
|
// src/components/nodes/index.tsx
|
|
585
|
-
var
|
|
689
|
+
var import_react12 = __toESM(require("react"));
|
|
586
690
|
|
|
587
691
|
// src/components/metadata.tsx
|
|
588
|
-
var
|
|
589
|
-
var
|
|
692
|
+
var import_react11 = __toESM(require("react"));
|
|
693
|
+
var import_nanoid3 = require("nanoid");
|
|
590
694
|
var metadata = {
|
|
591
695
|
nodes: [
|
|
592
696
|
{
|
|
593
697
|
type: "start",
|
|
594
698
|
label: "Start",
|
|
595
|
-
icon: /* @__PURE__ */
|
|
699
|
+
icon: /* @__PURE__ */ import_react11.default.createElement(IconStyleBorder, null)
|
|
596
700
|
},
|
|
597
701
|
{
|
|
598
702
|
type: "dynamicSplit",
|
|
599
703
|
label: "Split Branch",
|
|
600
|
-
icon: /* @__PURE__ */
|
|
704
|
+
icon: /* @__PURE__ */ import_react11.default.createElement(IconParkRightBranch, null),
|
|
601
705
|
blocks() {
|
|
602
706
|
return [
|
|
603
707
|
{
|
|
604
|
-
id: (0,
|
|
708
|
+
id: (0, import_nanoid3.nanoid)(5)
|
|
605
709
|
},
|
|
606
710
|
{
|
|
607
|
-
id: (0,
|
|
711
|
+
id: (0, import_nanoid3.nanoid)(5)
|
|
608
712
|
}
|
|
609
713
|
];
|
|
610
714
|
}
|
|
@@ -612,32 +716,32 @@ var metadata = {
|
|
|
612
716
|
{
|
|
613
717
|
type: "end",
|
|
614
718
|
label: "Branch End",
|
|
615
|
-
icon: /* @__PURE__ */
|
|
719
|
+
icon: /* @__PURE__ */ import_react11.default.createElement(FeAlignCenter, null),
|
|
616
720
|
branchEnd: true
|
|
617
721
|
},
|
|
618
722
|
{
|
|
619
723
|
type: "loop",
|
|
620
724
|
schemaType: "loop",
|
|
621
725
|
label: "Loop",
|
|
622
|
-
icon: /* @__PURE__ */
|
|
726
|
+
icon: /* @__PURE__ */ import_react11.default.createElement(BiBootstrapReboot, null)
|
|
623
727
|
},
|
|
624
728
|
{
|
|
625
729
|
type: "tryCatch",
|
|
626
730
|
schemaType: "tryCatch",
|
|
627
731
|
label: "TryCatch",
|
|
628
|
-
icon: /* @__PURE__ */
|
|
732
|
+
icon: /* @__PURE__ */ import_react11.default.createElement(IconParkRightBranch, null),
|
|
629
733
|
blocks() {
|
|
630
734
|
return [
|
|
631
735
|
{
|
|
632
|
-
id: `try_${(0,
|
|
736
|
+
id: `try_${(0, import_nanoid3.nanoid)(5)}`
|
|
633
737
|
// try branch
|
|
634
738
|
},
|
|
635
739
|
{
|
|
636
|
-
id: `catch_${(0,
|
|
740
|
+
id: `catch_${(0, import_nanoid3.nanoid)(5)}`
|
|
637
741
|
// catch branch 1
|
|
638
742
|
},
|
|
639
743
|
{
|
|
640
|
-
id: `catch_${(0,
|
|
744
|
+
id: `catch_${(0, import_nanoid3.nanoid)(5)}`
|
|
641
745
|
// catch branch 2
|
|
642
746
|
}
|
|
643
747
|
];
|
|
@@ -646,12 +750,12 @@ var metadata = {
|
|
|
646
750
|
{
|
|
647
751
|
type: "noop",
|
|
648
752
|
label: "Noop Node",
|
|
649
|
-
icon: /* @__PURE__ */
|
|
753
|
+
icon: /* @__PURE__ */ import_react11.default.createElement(BiCloud, null)
|
|
650
754
|
},
|
|
651
755
|
{
|
|
652
756
|
type: "end",
|
|
653
757
|
label: "End",
|
|
654
|
-
icon: /* @__PURE__ */
|
|
758
|
+
icon: /* @__PURE__ */ import_react11.default.createElement(PhCircleBold, null)
|
|
655
759
|
}
|
|
656
760
|
],
|
|
657
761
|
find: function find(type) {
|
|
@@ -690,19 +794,19 @@ var NodesWrap = import_styled_components6.default.div`
|
|
|
690
794
|
|
|
691
795
|
// src/components/nodes/index.tsx
|
|
692
796
|
function Node(props) {
|
|
693
|
-
return /* @__PURE__ */
|
|
797
|
+
return /* @__PURE__ */ import_react12.default.createElement(NodeWrap, { onClick: props.onClick }, /* @__PURE__ */ import_react12.default.createElement("div", { style: { fontSize: 14 } }, props.icon), /* @__PURE__ */ import_react12.default.createElement(NodeLabel, null, props.label));
|
|
694
798
|
}
|
|
695
799
|
var addings = metadata_default.nodes.filter((node) => node.type !== "start");
|
|
696
800
|
function Nodes(props) {
|
|
697
|
-
return /* @__PURE__ */
|
|
801
|
+
return /* @__PURE__ */ import_react12.default.createElement(NodesWrap, { style: { width: 80 * 2 + 20 } }, addings.map((n, i) => (
|
|
698
802
|
// eslint-disable-next-line react/no-array-index-key
|
|
699
|
-
/* @__PURE__ */
|
|
803
|
+
/* @__PURE__ */ import_react12.default.createElement(Node, { key: i, icon: n.icon, label: n.label, onClick: () => props.onSelect?.(n) })
|
|
700
804
|
)));
|
|
701
805
|
}
|
|
702
806
|
|
|
703
807
|
// src/components/adder/styles.tsx
|
|
704
808
|
var import_styled_components7 = __toESM(require("styled-components"));
|
|
705
|
-
var
|
|
809
|
+
var import_semi_icons4 = require("@douyinfe/semi-icons");
|
|
706
810
|
var AdderWrap = import_styled_components7.default.div`
|
|
707
811
|
width: ${(props) => props.hovered ? 15 : 6}px;
|
|
708
812
|
height: ${(props) => props.hovered ? 15 : 6}px;
|
|
@@ -714,7 +818,7 @@ var AdderWrap = import_styled_components7.default.div`
|
|
|
714
818
|
justify-content: center;
|
|
715
819
|
cursor: pointer;
|
|
716
820
|
`;
|
|
717
|
-
var
|
|
821
|
+
var IconPlus3 = (0, import_styled_components7.default)(import_semi_icons4.IconPlusCircle)`
|
|
718
822
|
color: #3370ff;
|
|
719
823
|
background-color: #fff;
|
|
720
824
|
border-radius: 15px;
|
|
@@ -723,36 +827,36 @@ var IconPlus2 = (0, import_styled_components7.default)(import_semi_icons3.IconPl
|
|
|
723
827
|
// src/components/adder/index.tsx
|
|
724
828
|
function Adder(props) {
|
|
725
829
|
const { from } = props;
|
|
726
|
-
const [visible, setVisible] = (0,
|
|
727
|
-
const playground = (0,
|
|
728
|
-
const flowOperationService = (0,
|
|
830
|
+
const [visible, setVisible] = (0, import_react13.useState)(false);
|
|
831
|
+
const playground = (0, import_fixed_layout_editor8.usePlayground)();
|
|
832
|
+
const flowOperationService = (0, import_fixed_layout_editor8.useService)(import_fixed_layout_editor8.FlowOperationService);
|
|
729
833
|
const add = (addProps) => {
|
|
730
834
|
const block = flowOperationService.addFromNode(from, {
|
|
731
|
-
id: addProps.type + (0,
|
|
835
|
+
id: addProps.type + (0, import_nanoid4.nanoid)(5),
|
|
732
836
|
type: addProps.type,
|
|
733
837
|
blocks: addProps.blocks ? addProps.blocks() : void 0
|
|
734
838
|
});
|
|
735
839
|
setTimeout(() => {
|
|
736
840
|
playground.scrollToView({
|
|
737
|
-
bounds: block.getData(
|
|
841
|
+
bounds: block.getData(import_fixed_layout_editor8.FlowNodeTransformData).bounds,
|
|
738
842
|
scrollToCenter: true
|
|
739
843
|
});
|
|
740
844
|
}, 10);
|
|
741
845
|
};
|
|
742
846
|
if (playground.config.readonlyOrDisabled) return null;
|
|
743
|
-
return /* @__PURE__ */
|
|
744
|
-
|
|
847
|
+
return /* @__PURE__ */ import_react13.default.createElement(
|
|
848
|
+
import_semi_ui2.Popover,
|
|
745
849
|
{
|
|
746
850
|
visible,
|
|
747
851
|
onVisibleChange: setVisible,
|
|
748
|
-
content: /* @__PURE__ */
|
|
852
|
+
content: /* @__PURE__ */ import_react13.default.createElement(Nodes, { onSelect: add }),
|
|
749
853
|
placement: "right",
|
|
750
854
|
trigger: "click",
|
|
751
855
|
overlayStyle: {
|
|
752
856
|
padding: 0
|
|
753
857
|
}
|
|
754
858
|
},
|
|
755
|
-
/* @__PURE__ */
|
|
859
|
+
/* @__PURE__ */ import_react13.default.createElement(
|
|
756
860
|
AdderWrap,
|
|
757
861
|
{
|
|
758
862
|
hovered: props.hoverActivated,
|
|
@@ -761,32 +865,34 @@ function Adder(props) {
|
|
|
761
865
|
setVisible(true);
|
|
762
866
|
}
|
|
763
867
|
},
|
|
764
|
-
props.hoverActivated ? /* @__PURE__ */
|
|
868
|
+
props.hoverActivated ? /* @__PURE__ */ import_react13.default.createElement(IconPlus3, null) : null
|
|
765
869
|
)
|
|
766
870
|
);
|
|
767
871
|
}
|
|
768
872
|
|
|
769
873
|
// src/components/index.tsx
|
|
770
874
|
var defaultFixedSemiMaterials = {
|
|
771
|
-
[
|
|
772
|
-
[
|
|
773
|
-
[
|
|
774
|
-
[
|
|
775
|
-
[
|
|
776
|
-
[
|
|
777
|
-
[
|
|
778
|
-
[
|
|
875
|
+
[import_fixed_layout_editor9.FlowRendererKey.ADDER]: Adder,
|
|
876
|
+
[import_fixed_layout_editor9.FlowRendererKey.COLLAPSE]: collapse_default,
|
|
877
|
+
[import_fixed_layout_editor9.FlowRendererKey.TRY_CATCH_COLLAPSE]: try_catch_collapse_default,
|
|
878
|
+
[import_fixed_layout_editor9.FlowRendererKey.BRANCH_ADDER]: BranchAdder,
|
|
879
|
+
[import_fixed_layout_editor9.FlowRendererKey.DRAG_NODE]: DragNode,
|
|
880
|
+
[import_fixed_layout_editor9.FlowRendererKey.DRAGGABLE_ADDER]: DraggingAdder,
|
|
881
|
+
[import_fixed_layout_editor9.FlowRendererKey.DRAG_HIGHLIGHT_ADDER]: DragHighlightAdder,
|
|
882
|
+
[import_fixed_layout_editor9.FlowRendererKey.DRAG_BRANCH_HIGHLIGHT_ADDER]: Ellipse,
|
|
883
|
+
[import_fixed_layout_editor9.FlowRendererKey.SLOT_COLLAPSE]: SlotCollapse,
|
|
884
|
+
[import_fixed_layout_editor9.FlowRendererKey.SLOT_ADDER]: SlotAdder
|
|
779
885
|
};
|
|
780
886
|
|
|
781
887
|
// src/components/tools.tsx
|
|
782
|
-
var
|
|
783
|
-
var
|
|
784
|
-
var
|
|
785
|
-
var
|
|
888
|
+
var import_react14 = __toESM(require("react"));
|
|
889
|
+
var import_fixed_layout_editor10 = require("@flowgram.ai/fixed-layout-editor");
|
|
890
|
+
var import_semi_ui3 = require("@douyinfe/semi-ui");
|
|
891
|
+
var import_semi_icons5 = require("@douyinfe/semi-icons");
|
|
786
892
|
var PlaygroundTools = ({ layoutText }) => {
|
|
787
|
-
const tools = (0,
|
|
893
|
+
const tools = (0, import_fixed_layout_editor10.usePlaygroundTools)();
|
|
788
894
|
const { zoom } = tools;
|
|
789
|
-
return /* @__PURE__ */
|
|
895
|
+
return /* @__PURE__ */ import_react14.default.createElement(import_semi_ui3.Space, null, /* @__PURE__ */ import_react14.default.createElement(import_semi_ui3.Checkbox, { onChange: () => tools.changeLayout(), checked: !tools.isVertical }, layoutText || "isHorizontal"), /* @__PURE__ */ import_react14.default.createElement(import_semi_ui3.Tooltip, { content: "fit view" }, /* @__PURE__ */ import_react14.default.createElement(import_semi_ui3.IconButton, { icon: /* @__PURE__ */ import_react14.default.createElement(import_semi_icons5.IconGridView, null), onClick: () => tools.fitView() })), /* @__PURE__ */ import_react14.default.createElement(import_semi_ui3.Tooltip, { content: "zoom out" }, /* @__PURE__ */ import_react14.default.createElement(import_semi_ui3.IconButton, { icon: /* @__PURE__ */ import_react14.default.createElement(import_semi_icons5.IconShrink, null), onClick: () => tools.zoomout() })), /* @__PURE__ */ import_react14.default.createElement(import_semi_ui3.Tooltip, { content: "zoom in" }, /* @__PURE__ */ import_react14.default.createElement(import_semi_ui3.IconButton, { icon: /* @__PURE__ */ import_react14.default.createElement(import_semi_icons5.IconExpand, null), onClick: () => tools.zoomin() })), /* @__PURE__ */ import_react14.default.createElement(import_semi_ui3.Tooltip, { content: "undo" }, /* @__PURE__ */ import_react14.default.createElement(import_semi_ui3.IconButton, { icon: /* @__PURE__ */ import_react14.default.createElement(import_semi_icons5.IconUndo, null), disabled: tools.canUndo, onClick: () => tools.undo() })), /* @__PURE__ */ import_react14.default.createElement(import_semi_ui3.Tooltip, { content: "redo" }, /* @__PURE__ */ import_react14.default.createElement(import_semi_ui3.IconButton, { icon: /* @__PURE__ */ import_react14.default.createElement(import_semi_icons5.IconRedo, null), disabled: tools.canRedo, onClick: () => tools.redo() })), /* @__PURE__ */ import_react14.default.createElement("span", null, Math.floor(zoom * 100), "%"));
|
|
790
896
|
};
|
|
791
897
|
// Annotate the CommonJS export names for ESM import in node:
|
|
792
898
|
0 && (module.exports = {
|