@flowgram-vue/fixed-semi-materials 0.2.0
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/LICENSE +22 -0
- package/dist/index.cjs +0 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +0 -0
- package/dist/index.js.map +1 -0
- package/package.json +63 -0
- package/src/assets/ellipsis.ts +20 -0
- package/src/assets/icons.ts +154 -0
- package/src/assets/index.ts +17 -0
- package/src/components/adder.vue +66 -0
- package/src/components/branch-adder.vue +55 -0
- package/src/components/collapse.vue +84 -0
- package/src/components/constants.ts +7 -0
- package/src/components/drag-highlight-adder.vue +54 -0
- package/src/components/drag-node.vue +45 -0
- package/src/components/dragging-adder.vue +40 -0
- package/src/components/index.ts +32 -0
- package/src/components/metadata.ts +87 -0
- package/src/components/nodes.vue +32 -0
- package/src/components/playground-tools.vue +33 -0
- package/src/components/slot-adder.vue +44 -0
- package/src/components/slot-collapse.vue +55 -0
- package/src/components/try-catch-collapse.vue +124 -0
- package/src/composables/use-fixed-playground-tools.ts +118 -0
- package/src/env.d.ts +10 -0
- package/src/index.ts +9 -0
- package/src/styles.css +225 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 Bytedance Ltd. and/or its affiliates
|
|
4
|
+
Copyright (c) 2026 Crayon
|
|
5
|
+
|
|
6
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
7
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
8
|
+
in the Software without restriction, including without limitation the rights
|
|
9
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
10
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
11
|
+
furnished to do so, subject to the following conditions:
|
|
12
|
+
|
|
13
|
+
The above copyright notice and this permission notice shall be included in all
|
|
14
|
+
copies or substantial portions of the Software.
|
|
15
|
+
|
|
16
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
17
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
18
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
19
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
20
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
21
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
22
|
+
SOFTWARE.
|
package/dist/index.cjs
ADDED
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/styles.css","../src/assets/ellipsis.ts","../src/assets/icons.ts","../src/components/metadata.ts","../src/components/nodes.vue","../src/components/adder.vue","../src/components/branch-adder.vue","../src/components/collapse.vue","../src/components/drag-highlight-adder.vue","../src/components/drag-node.vue","../src/components/dragging-adder.vue","../src/components/slot-adder.vue","../src/components/slot-collapse.vue","../src/components/try-catch-collapse.vue","../src/composables/use-fixed-playground-tools.ts","../src/components/playground-tools.vue","../src/components/index.ts"],"names":["styleInject","h","circleColor","nanoid","_openBlock","_createElementBlock","_Fragment","_renderList","_createElementVNode","_createBlock","_resolveDynamicComponent","_toDisplayString","ref","usePlayground","useService","FlowOperationBaseService","FlowNodeTransformData","_hoisted_1","_normalizeClass","_withModifiers","_createCommentVNode","_createVNode","FlowNodeRenderData","_normalizeStyle","_createTextVNode","_toDisplayString2","_toDisplayString3","_hoisted_2","FlowDragLayer","computed","document","FlowDocument","useBaseColor","FlowRendererRegistry","FlowTextKey","_toDisplayString4","usePlaygroundContainer","HistoryService","FlowLayoutDefault","DisposableCollection","onBeforeUnmount","reactive","EditorState","_hoisted_3","_hoisted_4","FlowRendererKey"],"mappings":"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","file":"index.cjs","sourcesContent":["import styleInject from '#style-inject';styleInject(\".fg-fixed-chrome {\\n --fg-primary: hsl(252 62% 54.9%);\\n --fg-primary-09: hsl(252deg 62% 55% / 9%);\\n --fg-adder: rgb(143, 149, 158);\\n --fg-collapse: #bbbfc4;\\n --fg-collapse-active: #82a7fc;\\n --fg-line: #3370ff;\\n}\\n.fg-adder-wrap {\\n width: 6px;\\n height: 6px;\\n background-color: var(--fg-adder);\\n color: #fff;\\n border-radius: 50%;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n cursor: pointer;\\n}\\n.fg-adder-wrap.is-hovered {\\n width: 15px;\\n height: 15px;\\n}\\n.fg-icon-plus {\\n width: 14px;\\n height: 14px;\\n color: #3370ff;\\n background: #fff;\\n border-radius: 15px;\\n}\\n.fg-popover {\\n position: absolute;\\n z-index: 20;\\n left: 18px;\\n top: 50%;\\n transform: translateY(-50%);\\n background: #fff;\\n border: 1px solid #e5e6eb;\\n border-radius: 8px;\\n box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);\\n padding: 8px;\\n}\\n.fg-collapse {\\n width: 16px;\\n height: 16px;\\n font-size: 10px;\\n border-radius: 9px;\\n display: flex;\\n color: #fff;\\n cursor: pointer;\\n justify-content: center;\\n align-items: center;\\n background: var(--fg-collapse);\\n}\\n.fg-collapse.is-hovered {\\n background: var(--fg-collapse-active);\\n}\\n.fg-collapse.is-horizontal-collapse {\\n transform: rotate(-90deg);\\n}\\n.fg-branch-adder {\\n width: 28px;\\n height: 18px;\\n background: rgb(187, 191, 196);\\n display: flex;\\n border-radius: 9px;\\n justify-content: space-evenly;\\n align-items: center;\\n color: #fff;\\n font-size: 10px;\\n font-weight: bold;\\n}\\n.fg-branch-adder.is-activated {\\n background: #82a7fc;\\n}\\n.fg-branch-adder.is-horizontal {\\n transform: rotate(90deg);\\n}\\n.fg-branch-adder .fg-branch-hit {\\n flex-grow: 1;\\n text-align: center;\\n cursor: pointer;\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n}\\n.fg-branch-adder svg {\\n width: 12px;\\n height: 12px;\\n}\\n.fg-slot-adder {\\n display: flex;\\n background: #fff;\\n}\\n.fg-native-btn {\\n display: inline-flex;\\n align-items: center;\\n justify-content: center;\\n border: 1px solid #d9d9d9;\\n background: #fff;\\n border-radius: 4px;\\n height: 24px;\\n min-width: 24px;\\n padding: 0 6px;\\n cursor: pointer;\\n}\\n.fg-native-btn:hover {\\n border-color: #3370ff;\\n color: #3370ff;\\n}\\n.fg-drag-node {\\n position: relative;\\n height: 32px;\\n border-radius: 5px;\\n display: flex;\\n align-items: center;\\n cursor: pointer;\\n font-size: 19px;\\n border: 1px solid var(--fg-primary);\\n padding: 0 15px;\\n background: #fff;\\n}\\n.fg-drag-node:hover {\\n background-color: var(--fg-primary-09);\\n color: var(--fg-primary);\\n}\\n.fg-drag-counts {\\n position: absolute;\\n top: -8px;\\n right: -8px;\\n text-align: center;\\n line-height: 16px;\\n width: 16px;\\n height: 16px;\\n border-radius: 8px;\\n font-size: 12px;\\n color: #fff;\\n background-color: var(--fg-primary);\\n}\\n.fg-dragging-adder {\\n width: 16px;\\n height: 16px;\\n border-radius: 100px;\\n background-color: white;\\n border: 1px dashed #b8bcc1;\\n}\\n.fg-highlight-line {\\n display: flex;\\n align-items: center;\\n}\\n.fg-highlight-bar {\\n background: #3370ff;\\n}\\n.fg-node-wrap {\\n width: 100%;\\n height: 32px;\\n border-radius: 5px;\\n display: flex;\\n align-items: center;\\n cursor: pointer;\\n font-size: 19px;\\n padding: 0 15px;\\n}\\n.fg-node-wrap:hover {\\n background-color: var(--fg-primary-09);\\n color: var(--fg-primary);\\n}\\n.fg-node-label {\\n font-size: 12px;\\n margin-left: 10px;\\n}\\n.fg-nodes-wrap {\\n max-height: 500px;\\n overflow: auto;\\n}\\n.fg-nodes-wrap::-webkit-scrollbar {\\n display: none;\\n}\\n.fg-tools {\\n display: flex;\\n align-items: center;\\n gap: 8px;\\n}\\n.fg-tools button,\\n.fg-tools label {\\n border: 1px solid #d9d9d9;\\n background: #fff;\\n border-radius: 4px;\\n height: 28px;\\n padding: 0 8px;\\n cursor: pointer;\\n}\\n.fg-tools button:disabled {\\n opacity: 0.45;\\n cursor: not-allowed;\\n}\\n\")","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { h, type FunctionalComponent } from 'vue';\n\nexport const Ellipse: FunctionalComponent = () =>\n h('svg', { width: '8', height: '8', viewBox: '0 0 8 8', fill: 'none' }, [\n h('circle', {\n cx: '4',\n cy: '4',\n r: '3',\n fill: 'white',\n stroke: '#3370FF',\n 'stroke-width': '2',\n }),\n ]);\n\nEllipse.displayName = 'Ellipse';\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { h, type FunctionalComponent } from 'vue';\n\nexport const IconStyleBorder: FunctionalComponent = () =>\n h('svg', { width: '1em', height: '1em', viewBox: '0 0 24 24' }, [\n h(\n 'g',\n {\n fill: 'none',\n stroke: 'currentColor',\n 'stroke-linecap': 'round',\n 'stroke-linejoin': 'round',\n 'stroke-miterlimit': '1.5',\n 'stroke-width': '1.499',\n },\n [\n h('path', {\n 'stroke-dasharray': '2 2',\n d: 'M16 2H8a6 6 0 0 0-6 6v8a6 6 0 0 0 6 6h8a6 6 0 0 0 6-6V8a6 6 0 0 0-6-6Z',\n }),\n h('path', { d: 'M16 5H8a3 3 0 0 0-3 3v8a3 3 0 0 0 3 3h8a3 3 0 0 0 3-3V8a3 3 0 0 0-3-3Z' }),\n ]\n ),\n ]);\n\nexport const IconParkRightBranch: FunctionalComponent = () =>\n h('svg', { width: '1em', height: '1em', viewBox: '0 0 48 48' }, [\n h('g', { fill: 'none' }, [\n h('path', {\n stroke: 'currentColor',\n 'stroke-linecap': 'round',\n 'stroke-linejoin': 'round',\n 'stroke-width': '4',\n d: 'M22 8.01176C20.5 8.01193 16.0714 7.93811 15 13.0005C13.917 18.1177 9.85714 22.8477 8 24',\n }),\n h('path', {\n stroke: 'currentColor',\n 'stroke-linecap': 'round',\n 'stroke-linejoin': 'round',\n 'stroke-width': '4',\n d: 'M22 40C20.5 40.0003 16.0714 40.0628 15 35.0005C13.917 29.8833 9.85714 25.1522 8 23.9999',\n }),\n h('circle', { cx: '8', cy: '24', r: '4', fill: 'currentColor' }),\n h('path', {\n stroke: 'currentColor',\n 'stroke-linecap': 'round',\n 'stroke-linejoin': 'round',\n 'stroke-width': '4',\n d: 'M8 24L22 24',\n }),\n h('path', {\n stroke: 'currentColor',\n 'stroke-linecap': 'round',\n 'stroke-linejoin': 'round',\n 'stroke-width': '4',\n d: 'M30 24.001H42',\n }),\n h('path', {\n stroke: 'currentColor',\n 'stroke-linecap': 'round',\n 'stroke-linejoin': 'round',\n 'stroke-width': '4',\n d: 'M30 8.00098H42',\n }),\n h('path', {\n stroke: 'currentColor',\n 'stroke-linecap': 'round',\n 'stroke-linejoin': 'round',\n 'stroke-width': '4',\n d: 'M30 40.001H42',\n }),\n ]),\n ]);\n\nexport const PhCircleBold: FunctionalComponent = () =>\n h('svg', { width: '1em', height: '1em', viewBox: '0 0 256 256' }, [\n h('path', {\n fill: 'currentColor',\n d: 'M128 236a108 108 0 1 1 108-108a108.1 108.1 0 0 1-108 108Zm0-192a84 84 0 1 0 84 84a84.1 84.1 0 0 0-84-84Z',\n }),\n ]);\n\nexport const BiCloud: FunctionalComponent = () =>\n h('svg', { width: '1em', height: '1em', viewBox: '0 0 16 16' }, [\n h('path', {\n fill: 'currentColor',\n d: 'M4.406 3.342A5.53 5.53 0 0 1 8 2c2.69 0 4.923 2 5.166 4.579C14.758 6.804 16 8.137 16 9.773C16 11.569 14.502 13 12.687 13H3.781C1.708 13 0 11.366 0 9.318c0-1.763 1.266-3.223 2.942-3.593c.143-.863.698-1.723 1.464-2.383zm.653.757c-.757.653-1.153 1.44-1.153 2.056v.448l-.445.049C2.064 6.805 1 7.952 1 9.318C1 10.785 2.23 12 3.781 12h8.906C13.98 12 15 10.988 15 9.773c0-1.216-1.02-2.228-2.313-2.228h-.5v-.5C12.188 4.825 10.328 3 8 3a4.53 4.53 0 0 0-2.941 1.1z',\n }),\n ]);\n\nexport const BiBootstrapReboot: FunctionalComponent = () =>\n h('svg', { width: '1em', height: '1em', viewBox: '0 0 16 16' }, [\n h('g', { fill: 'currentColor' }, [\n h('path', {\n d: 'M1.161 8a6.84 6.84 0 1 0 6.842-6.84a.58.58 0 1 1 0-1.16a8 8 0 1 1-6.556 3.412l-.663-.577a.58.58 0 0 1 .227-.997l2.52-.69a.58.58 0 0 1 .728.633l-.332 2.592a.58.58 0 0 1-.956.364l-.643-.56A6.812 6.812 0 0 0 1.16 8z',\n }),\n h('path', {\n d: 'M6.641 11.671V8.843h1.57l1.498 2.828h1.314L9.377 8.665c.897-.3 1.427-1.106 1.427-2.1c0-1.37-.943-2.246-2.456-2.246H5.5v7.352h1.141zm0-3.75V5.277h1.57c.881 0 1.416.499 1.416 1.32c0 .84-.504 1.324-1.386 1.324h-1.6z',\n }),\n ]),\n ]);\n\nexport const FeAlignCenter: FunctionalComponent = () =>\n h('svg', { width: '1em', height: '1em', viewBox: '0 0 24 24' }, [\n h('path', {\n fill: '#888888',\n 'fill-rule': 'evenodd',\n d: 'M11 13v-2H6.286C5.023 11 4 10.105 4 9s1.023-2 2.286-2H11V3a1 1 0 0 1 2 0v4h4.714C18.977 7 20 7.895 20 9s-1.023 2-2.286 2H13v2h3a2 2 0 1 1 0 4h-3v4a1 1 0 0 1-2 0v-4H8a2 2 0 1 1 0-4h3Z',\n }),\n ]);\n\nexport const IconPlus: FunctionalComponent = () =>\n h(\n 'svg',\n { class: 'fg-icon-plus', width: '14', height: '14', viewBox: '0 0 24 24', fill: 'none' },\n [\n h('circle', { cx: '12', cy: '12', r: '11', fill: '#fff' }),\n h('path', {\n d: 'M12 7v10M7 12h10',\n stroke: '#3370ff',\n 'stroke-width': '2',\n 'stroke-linecap': 'round',\n }),\n ]\n );\n\nexport const IconChevronLeft: FunctionalComponent = () =>\n h('svg', { width: '12', height: '12', viewBox: '0 0 24 24', fill: 'none' }, [\n h('path', {\n d: 'M15 6l-6 6 6 6',\n stroke: 'currentColor',\n 'stroke-width': '2',\n 'stroke-linecap': 'round',\n 'stroke-linejoin': 'round',\n }),\n ]);\n\nexport function Arrow({ color, circleColor }: { color: string; circleColor: string }) {\n return h('svg', { width: '16', height: '16', viewBox: '0 0 16 16', fill: 'none' }, [\n h('circle', { cx: '8', cy: '8', r: '7', fill: circleColor }),\n h('path', {\n fill: color,\n d: 'M10.8281 9.4715C11.0883 9.21131 11.0885 8.78909 10.8291 8.52804C10.6413 8.33892 10.4536 8.14952 10.266 7.9601C9.66706 7.35551 9.06799 6.75079 8.46068 6.15496C8.20439 5.90352 7.7947 5.90352 7.53841 6.15496C6.93103 6.75085 6.33191 7.35564 5.73291 7.96029C5.5454 8.14957 5.3579 8.33884 5.17017 8.52782C4.91075 8.78895 4.91096 9.21099 5.17124 9.47127C5.43152 9.73155 5.85355 9.73176 6.11383 9.47148L7.99955 7.58576L9.88548 9.4717C10.1457 9.73189 10.5679 9.73169 10.8281 9.4715Z',\n }),\n h('path', {\n fill: color,\n d: 'M0.888672 7.99997C0.888672 4.07261 4.07242 0.888855 7.99978 0.888855C11.9271 0.888855 15.1109 4.07261 15.1109 7.99997C15.1109 11.9273 11.9271 15.1111 7.99978 15.1111C4.07242 15.1111 0.888672 11.9273 0.888672 7.99997ZM13.818 7.99997C13.818 4.78667 11.2131 2.18178 7.99978 2.18178C4.78649 2.18178 2.1816 4.78667 2.1816 7.99997C2.1816 11.2133 4.78649 13.8181 7.99978 13.8181C11.2131 13.8181 13.818 11.2133 13.818 7.99997Z',\n }),\n ]);\n}\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { h, type Component } from 'vue';\nimport { nanoid } from 'nanoid';\n\nimport {\n BiBootstrapReboot,\n BiCloud,\n FeAlignCenter,\n IconParkRightBranch,\n IconStyleBorder,\n PhCircleBold,\n} from '../assets';\n\nexport interface NodeMeta {\n type: string;\n label: string;\n icon: Component;\n schemaType?: string;\n branchEnd?: boolean;\n blocks?: () => Array<{ id: string }>;\n}\n\nconst metadata = {\n nodes: [\n {\n type: 'start',\n label: 'Start',\n icon: IconStyleBorder,\n },\n {\n type: 'dynamicSplit',\n label: 'Split Branch',\n icon: IconParkRightBranch,\n blocks() {\n return [{ id: nanoid(5) }, { id: nanoid(5) }];\n },\n },\n {\n type: 'end',\n label: 'Branch End',\n icon: FeAlignCenter,\n branchEnd: true,\n },\n {\n type: 'loop',\n schemaType: 'loop',\n label: 'Loop',\n icon: BiBootstrapReboot,\n },\n {\n type: 'tryCatch',\n schemaType: 'tryCatch',\n label: 'TryCatch',\n icon: IconParkRightBranch,\n blocks() {\n return [\n { id: `try_${nanoid(5)}` },\n { id: `catch_${nanoid(5)}` },\n { id: `catch_${nanoid(5)}` },\n ];\n },\n },\n {\n type: 'noop',\n label: 'Noop Node',\n icon: BiCloud,\n },\n {\n type: 'end',\n label: 'End',\n icon: PhCircleBold,\n },\n ] as NodeMeta[],\n find(type: string) {\n return metadata.nodes.find((m) => m.type === type);\n },\n};\n\nexport function renderMetaIcon(icon: Component) {\n return h(icon);\n}\n\nexport default metadata;\n","<script setup lang=\"ts\">\n/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\nimport type { FlowNodeEntity } from '@flowgram-vue/document';\nimport metadata from './metadata';\n\ndefineOptions({ name: 'NodesPicker' });\n\ndefineProps<{\n onSelect: (meta: (typeof metadata.nodes)[number]) => void;\n}>();\n\nconst addings = metadata.nodes.filter((node) => node.type !== 'start');\n</script>\n\n<template>\n <div class=\"fg-nodes-wrap\" :style=\"{ width: `${80 * 2 + 20}px` }\">\n <div\n v-for=\"(n, i) in addings\"\n :key=\"i\"\n class=\"fg-node-wrap\"\n @click=\"onSelect(n)\"\n >\n <div style=\"font-size: 14px\">\n <component :is=\"n.icon\" />\n </div>\n <div class=\"fg-node-label\">{{ n.label }}</div>\n </div>\n </div>\n</template>\n","<script setup lang=\"ts\">\n/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\nimport { ref } from 'vue';\nimport { nanoid } from 'nanoid';\nimport {\n FlowNodeTransformData,\n FlowOperationBaseService,\n type FlowNodeEntity,\n} from '@flowgram-vue/document';\nimport { usePlayground, useService } from '@flowgram-vue/core';\n\nimport { IconPlus } from '../assets';\nimport NodesPicker from './nodes.vue';\n\ndefineOptions({ name: 'Adder' });\n\nconst props = defineProps<{\n from: FlowNodeEntity;\n to?: FlowNodeEntity;\n hoverActivated?: boolean;\n}>();\n\nconst visible = ref(false);\nconst playground = usePlayground();\nconst flowOperationService = useService(FlowOperationBaseService);\n\nconst add = (addProps: { type: string; blocks?: () => unknown }) => {\n const block = flowOperationService.addFromNode(props.from, {\n id: addProps.type + nanoid(5),\n type: addProps.type,\n blocks: addProps.blocks ? (addProps.blocks() as never) : undefined,\n });\n setTimeout(() => {\n playground.scrollToView({\n bounds: block.getData<FlowNodeTransformData>(FlowNodeTransformData)!.bounds,\n scrollToCenter: true,\n });\n }, 10);\n visible.value = false;\n};\n\nconst onMouseDown = (e: MouseEvent) => e.stopPropagation();\n</script>\n\n<template>\n <div\n v-if=\"!playground.config.readonlyOrDisabled\"\n class=\"fg-fixed-chrome\"\n style=\"position: relative\"\n >\n <div\n class=\"fg-adder-wrap\"\n :class=\"{ 'is-hovered': props.hoverActivated }\"\n @mousedown=\"onMouseDown\"\n @click.stop=\"visible = !visible\"\n >\n <IconPlus v-if=\"props.hoverActivated\" />\n </div>\n <div v-if=\"visible\" class=\"fg-popover\" @mousedown.stop>\n <NodesPicker :on-select=\"add\" />\n </div>\n </div>\n</template>\n","<script setup lang=\"ts\">\n/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\nimport { nanoid } from 'nanoid';\nimport {\n FlowNodeRenderData,\n FlowNodeTransformData,\n FlowOperationBaseService,\n type FlowNodeEntity,\n} from '@flowgram-vue/document';\nimport { usePlayground, useService } from '@flowgram-vue/core';\n\nimport { IconPlus } from '../assets';\n\ndefineOptions({ name: 'BranchAdder' });\n\nconst props = defineProps<{\n activated?: boolean;\n node: FlowNodeEntity;\n}>();\n\nconst nodeData = props.node.firstChild?.getData<FlowNodeRenderData>(FlowNodeRenderData);\nconst playground = usePlayground();\nconst flowOperationService = useService(FlowOperationBaseService);\nconst isVertical = props.node.isVertical;\n\nfunction addBranch() {\n const block = flowOperationService.addBlock(props.node, { id: nanoid(5) });\n setTimeout(() => {\n playground.scrollToView({\n bounds: block.getData<FlowNodeTransformData>(FlowNodeTransformData)!.bounds,\n scrollToCenter: true,\n });\n }, 10);\n}\n</script>\n\n<template>\n <div\n v-if=\"!playground.config.readonlyOrDisabled\"\n class=\"fg-branch-adder\"\n :class=\"{\n 'is-activated': props.activated || nodeData?.hovered,\n 'is-horizontal': !isVertical,\n }\"\n @mouseenter=\"nodeData?.toggleMouseEnter()\"\n @mouseleave=\"nodeData?.toggleMouseLeave()\"\n >\n <div class=\"fg-branch-hit\" aria-hidden=\"true\" @click=\"addBranch\">\n <IconPlus />\n </div>\n </div>\n</template>\n","<script setup lang=\"ts\">\n/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\nimport {\n FlowNodeEntity,\n FlowNodeRenderData,\n FlowNodeTransformData,\n} from '@flowgram-vue/document';\nimport { usePlayground } from '@flowgram-vue/core';\nimport type { CSSProperties } from 'vue';\n\nimport { Arrow } from '../assets';\n\ndefineOptions({ name: 'Collapse' });\n\nconst props = defineProps<{\n node: FlowNodeEntity;\n collapseNode: FlowNodeEntity;\n activateNode?: FlowNodeEntity;\n forceVisible?: boolean;\n hoverActivated?: boolean;\n style?: CSSProperties;\n}>();\n\nconst playground = usePlayground();\nconst activateData = props.activateNode?.getData(FlowNodeRenderData);\nconst transform = props.collapseNode.getData(FlowNodeTransformData);\n\nconst scrollToActivateNode = () => {\n setTimeout(() => {\n playground.config.scrollToView({\n position: props.activateNode?.getData(FlowNodeTransformData)?.outputPoint,\n scrollToCenter: true,\n });\n }, 100);\n};\n\nconst collapseBlock = () => {\n if (!transform) {\n return;\n }\n transform.collapsed = true;\n activateData?.toggleMouseLeave();\n scrollToActivateNode();\n};\n\nconst openBlock = () => {\n if (!transform) {\n return;\n }\n transform.collapsed = false;\n scrollToActivateNode();\n};\n\nconst childCount = transform\n ? transform.collapsed\n ? props.collapseNode.allCollapsedChildren.filter(\n (child) => !child.hidden && child !== props.activateNode\n ).length\n : 0\n : 0;\n\nconst circleColor = '#fff';\nconst color = props.hoverActivated ? '#82A7FC' : '#BBBFC4';\n</script>\n\n<template>\n <div\n v-if=\"transform\"\n class=\"fg-collapse\"\n :class=\"{\n 'is-hovered': props.hoverActivated,\n 'is-horizontal-collapse': !props.activateNode?.isVertical && !transform.collapsed,\n }\"\n aria-hidden=\"true\"\n :style=\"props.style\"\n @click=\"transform.collapsed ? openBlock() : collapseBlock()\"\n >\n <template v-if=\"transform.collapsed\">{{ childCount }}</template>\n <Arrow v-else :color=\"color\" :circle-color=\"circleColor\" />\n </div>\n</template>\n","<script setup lang=\"ts\">\n/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\nimport { FlowNodeTransformData, type FlowNodeEntity } from '@flowgram-vue/document';\n\nimport { Ellipse } from '../assets';\n\ndefineOptions({ name: 'DragHighlightAdder' });\n\nconst props = defineProps<{\n node: FlowNodeEntity;\n}>();\n\nconst getMinSize = (preWidth: number, nextWidth: number): number => {\n if (!preWidth || preWidth < 0) {\n return 0;\n }\n if (!nextWidth || nextWidth < 0) {\n return preWidth;\n }\n return Math.min(preWidth, nextWidth) || 0;\n};\n\nconst transformBounds = props.node.getData<FlowNodeTransformData>(FlowNodeTransformData)?.bounds;\nconst isVertical = props.node.isVertical;\n\nlet barWidth = 0;\nlet barHeight = 0;\nif (isVertical) {\n const preWidth = (transformBounds?.width || 0) - 16;\n const nextNodeBounds =\n props.node?.next?.getData<FlowNodeTransformData>(FlowNodeTransformData)?.bounds?.width;\n const nextWidth = (nextNodeBounds || 0) - 16;\n barWidth = getMinSize(preWidth, nextWidth);\n barHeight = 2;\n} else {\n const preHeight = (transformBounds?.height || 0) - 16;\n const nextNodeBounds =\n props.node?.next?.getData<FlowNodeTransformData>(FlowNodeTransformData)?.bounds?.height;\n const nextHeight = (nextNodeBounds || 0) - 16;\n barWidth = 2;\n barHeight = getMinSize(preHeight, nextHeight);\n}\n</script>\n\n<template>\n <div class=\"fg-highlight-line\" :style=\"{ flexDirection: isVertical ? 'row' : 'column' }\">\n <Ellipse />\n <div class=\"fg-highlight-bar\" :style=\"{ width: `${barWidth}px`, height: `${barHeight}px` }\" />\n <Ellipse />\n </div>\n</template>\n","<script setup lang=\"ts\">\n/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\nimport type { FlowNodeEntity, FlowNodeJSON } from '@flowgram-vue/document';\n\ndefineOptions({ name: 'DragNode' });\n\nconst props = defineProps<{\n dragStart?: FlowNodeEntity;\n dragJSON?: FlowNodeJSON;\n dragNodes: FlowNodeEntity[];\n}>();\n\nconst dragLength = (props.dragNodes || [])\n .map((_node) =>\n _node.allCollapsedChildren.length\n ? _node.allCollapsedChildren.filter((_n) => !_n.hidden).length\n : 1\n )\n .reduce((acm, curr) => acm + curr, 0);\n\nconst label = props.dragStart?.id || props.dragJSON?.id;\n</script>\n\n<template>\n <div class=\"fg-drag-node\">\n {{ label }}\n <template v-if=\"dragLength > 1\">\n <div class=\"fg-drag-counts\">{{ dragLength }}</div>\n <div\n class=\"fg-drag-node\"\n :style=\"{\n position: 'absolute',\n top: '5px',\n right: '-5px',\n left: '5px',\n bottom: '-5px',\n opacity: 0.5,\n }\"\n />\n </template>\n </div>\n</template>\n","<script setup lang=\"ts\">\n/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\nimport { computed } from 'vue';\nimport { usePlayground } from '@flowgram-vue/core';\nimport { FlowDragLayer } from '@flowgram-vue/renderer';\nimport type { FlowNodeEntity } from '@flowgram-vue/document';\n\ndefineOptions({ name: 'DraggingAdder' });\n\nconst props = defineProps<{\n from?: FlowNodeEntity;\n}>();\n\nconst playground = usePlayground();\nconst layer = playground.getLayer(FlowDragLayer);\n\nconst canShow = computed(() => {\n if (!layer) {\n return false;\n }\n if (\n layer.options.canDrop &&\n !layer.options.canDrop({\n dragNodes: layer.dragEntities || [],\n dropNode: props.from as FlowNodeEntity,\n isBranch: false,\n })\n ) {\n return false;\n }\n return true;\n});\n</script>\n\n<template>\n <div v-if=\"canShow\" class=\"fg-dragging-adder\" />\n</template>\n","<script setup lang=\"ts\">\n/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\nimport { nanoid } from 'nanoid';\nimport {\n FlowDocument,\n FlowNodeRenderData,\n type FlowNodeEntity,\n} from '@flowgram-vue/document';\nimport { useService } from '@flowgram-vue/core';\n\nimport { IconPlus } from '../assets';\n\ndefineOptions({ name: 'SlotAdder' });\n\nconst props = defineProps<{\n node: FlowNodeEntity;\n}>();\n\nconst nodeData = props.node.firstChild?.getData<FlowNodeRenderData>(FlowNodeRenderData);\nconst document = useService(FlowDocument) as FlowDocument;\n\nfunction addPort() {\n document.addNode({\n id: nanoid(5),\n type: 'custom',\n parent: props.node,\n });\n}\n</script>\n\n<template>\n <div\n class=\"fg-slot-adder\"\n @mouseenter=\"nodeData?.toggleMouseEnter()\"\n @mouseleave=\"nodeData?.toggleMouseLeave()\"\n >\n <button type=\"button\" class=\"fg-native-btn\" @click=\"addPort\">\n <IconPlus />\n </button>\n </div>\n</template>\n","<script setup lang=\"ts\">\n/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\nimport { ref, computed } from 'vue';\nimport {\n FlowNodeRenderData,\n FlowNodeTransformData,\n type FlowNodeEntity,\n} from '@flowgram-vue/document';\n\nimport Collapse from './collapse.vue';\n\ndefineOptions({ name: 'SlotCollapse' });\n\nconst props = defineProps<{\n node: FlowNodeEntity;\n}>();\n\nconst hoverActivated = ref(false);\nconst icon = props.node.firstChild!;\nconst iconActivated = icon.getData(FlowNodeRenderData).activated;\nconst iconHeight = icon.getData(FlowNodeTransformData).size.height;\nconst isChildVisible = computed(\n () => props.node.collapsed || hoverActivated.value || iconActivated\n);\n</script>\n\n<template>\n <div\n :style=\"{\n width: '30px',\n height: `${iconHeight || 100}px`,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n }\"\n @mouseenter=\"hoverActivated = true\"\n @mouseleave=\"hoverActivated = false\"\n >\n <Collapse\n v-if=\"isChildVisible\"\n :style=\"\n !props.node.collapsed\n ? { transform: props.node.isVertical ? 'rotate(-90deg)' : 'rotate(90deg)' }\n : {}\n \"\n :node=\"props.node\"\n :activate-node=\"icon\"\n :collapse-node=\"props.node\"\n :hover-activated=\"hoverActivated\"\n />\n </div>\n</template>\n","<script setup lang=\"ts\">\n/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\nimport { ref, computed } from 'vue';\nimport {\n FlowNodeEntity,\n FlowNodeRenderData,\n FlowNodeTransformData,\n} from '@flowgram-vue/document';\nimport { FlowRendererRegistry, FlowTextKey, useBaseColor } from '@flowgram-vue/renderer';\nimport { usePlayground } from '@flowgram-vue/core';\n\nimport { IconChevronLeft } from '../assets';\n\ndefineOptions({ name: 'TryCatchCollapse' });\n\nconst props = defineProps<{\n node: FlowNodeEntity;\n}>();\n\nconst { baseColor, baseActivatedColor } = useBaseColor();\nconst playground = usePlayground();\nconst activateData = props.node.getData(FlowNodeRenderData)!;\nconst transform = props.node.getData(FlowNodeTransformData)!;\nconst hoverActivated = ref(false);\n\nconst width = transform?.parent\n ? transform.inputPoint.x - transform.parent.inputPoint.x\n : 0;\n\nconst catchText = computed(() =>\n props.node.getService(FlowRendererRegistry).getText(FlowTextKey.CATCH_TEXT)\n);\n\nconst scrollToActivateNode = () => {\n setTimeout(() => {\n playground.config.scrollToView({\n position: props.node?.getData(FlowNodeTransformData)?.inputPoint,\n scrollToCenter: true,\n });\n }, 100);\n};\n\nconst collapseBlock = () => {\n transform.collapsed = true;\n activateData.activated = false;\n scrollToActivateNode();\n};\n\nconst openBlock = () => {\n transform.collapsed = false;\n scrollToActivateNode();\n};\n\nconst handleMouseEnter = () => {\n hoverActivated.value = true;\n activateData.activated = true;\n};\n\nconst handleMouseLeave = () => {\n hoverActivated.value = false;\n activateData.activated = false;\n};\n\nconst childCount = computed(\n () =>\n props.node.allCollapsedChildren.filter((child) => !child.hidden && child !== props.node)\n .length\n);\n\nconst badgeBg = computed(() =>\n hoverActivated.value || activateData.lineActivated ? baseActivatedColor : baseColor\n);\n</script>\n\n<template>\n <div\n v-if=\"transform && transform.parent\"\n :style=\"{\n width: `${width}px`,\n height: '40px',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n gap: '6px',\n }\"\n @mouseenter=\"handleMouseEnter\"\n @mouseleave=\"handleMouseLeave\"\n >\n <div\n :data-label-id=\"props.labelId\"\n :style=\"{\n fontSize: '12px',\n color: hoverActivated || activateData.lineActivated ? baseActivatedColor : baseColor,\n textAlign: 'center',\n whiteSpace: 'nowrap',\n backgroundColor: 'var(--g-editor-background)',\n lineHeight: '20px',\n }\"\n >\n {{ catchText }}\n </div>\n <div\n v-if=\"transform.collapsed\"\n class=\"fg-collapse is-hovered\"\n :style=\"{ background: badgeBg }\"\n aria-hidden=\"true\"\n @click=\"openBlock\"\n >\n {{ childCount }}\n </div>\n <div\n v-else-if=\"hoverActivated\"\n class=\"fg-collapse is-hovered\"\n :style=\"{ background: baseActivatedColor }\"\n aria-hidden=\"true\"\n @click=\"collapseBlock\"\n >\n <IconChevronLeft />\n </div>\n </div>\n</template>\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport {\n EditorState,\n type PlaygroundInteractiveType,\n usePlayground,\n usePlaygroundContainer,\n useService,\n} from '@flowgram-vue/core';\nimport {\n FlowDocument,\n FlowLayoutDefault,\n FlowNodeRenderData,\n} from '@flowgram-vue/document';\nimport { HistoryService } from '@flowgram-vue/history';\nimport { DisposableCollection } from '@flowgram-vue/utils';\nimport { computed, onBeforeUnmount, reactive, ref } from 'vue';\n\nexport interface FixedPlaygroundTools {\n zoom: number;\n zoomin: (easing?: boolean) => void;\n zoomout: (easing?: boolean) => void;\n updateZoom: (newZoom: number, easing?: boolean, easingDuration?: number) => void;\n fitView: (easing?: boolean, easingDuration?: number, padding?: number) => Promise<void>;\n isVertical: boolean;\n changeLayout: (layout?: FlowLayoutDefault) => void;\n interactiveType: PlaygroundInteractiveType;\n setInteractiveType: (type: PlaygroundInteractiveType) => void;\n canRedo: boolean;\n canUndo: boolean;\n redo: () => void;\n undo: () => void;\n}\n\nexport function useFixedPlaygroundTools(): FixedPlaygroundTools {\n const playground = usePlayground();\n const container = usePlaygroundContainer();\n const historyService = container?.isBound?.(HistoryService)\n ? container.get(HistoryService)\n : undefined;\n const doc = useService<FlowDocument>(FlowDocument);\n\n const zoom = ref(1);\n const layoutName = ref(doc.layout.name);\n const canUndo = ref(false);\n const canRedo = ref(false);\n\n const handleFitView = (easing?: boolean, easingDuration?: number, padding?: number) => {\n padding = padding || 30;\n return playground.config.fitView(doc.root.bounds, easing, padding, easingDuration);\n };\n\n const changeLayout = (newLayout?: FlowLayoutDefault) => {\n const allNodes = doc.getAllNodes();\n newLayout =\n newLayout ||\n (doc.layout.name === FlowLayoutDefault.HORIZONTAL_FIXED_LAYOUT\n ? FlowLayoutDefault.VERTICAL_FIXED_LAYOUT\n : FlowLayoutDefault.HORIZONTAL_FIXED_LAYOUT);\n allNodes.forEach((node) => {\n const renderData = node.getData(FlowNodeRenderData);\n renderData.node.classList.add('gedit-transition-ease');\n });\n setTimeout(() => {\n handleFitView();\n }, 10);\n setTimeout(() => {\n allNodes.forEach((node) => {\n const renderData = node.getData(FlowNodeRenderData);\n renderData.node.classList.remove('gedit-transition-ease');\n });\n }, 500);\n doc.setLayout(newLayout);\n layoutName.value = doc.layout.name;\n };\n\n const dispose = new DisposableCollection();\n dispose.push(playground.onZoom((z) => (zoom.value = z)));\n if (historyService) {\n dispose.push(\n historyService.undoRedoService.onChange(() => {\n canUndo.value = historyService.canUndo();\n canRedo.value = historyService.canRedo();\n })\n );\n }\n onBeforeUnmount(() => dispose.dispose());\n\n const interactiveType = computed<PlaygroundInteractiveType>(() =>\n playground.editorState.isMouseFriendlyMode() ? 'MOUSE' : 'PAD'\n );\n\n return reactive({\n zoomin: (easing?: boolean) => playground.config.zoomin(easing),\n zoomout: (easing?: boolean) => playground.config.zoomout(easing),\n updateZoom: (value: number, easing?: boolean, easingDuration?: number) =>\n playground.config.updateZoom(value, easing, easingDuration),\n zoom,\n fitView: handleFitView,\n isVertical: computed(() => layoutName.value === FlowLayoutDefault.VERTICAL_FIXED_LAYOUT),\n changeLayout,\n canRedo,\n canUndo,\n undo: () => historyService?.undo(),\n redo: () => historyService?.redo(),\n interactiveType,\n setInteractiveType: (type: PlaygroundInteractiveType) => {\n if (type === 'MOUSE') {\n playground.editorState.changeState(EditorState.STATE_MOUSE_FRIENDLY_SELECT.id);\n } else {\n playground.editorState.changeState(EditorState.STATE_SELECT.id);\n }\n },\n }) as FixedPlaygroundTools;\n}\n","<script setup lang=\"ts\">\n/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\nimport { computed } from 'vue';\n\nimport { useFixedPlaygroundTools } from '../composables/use-fixed-playground-tools';\n\ndefineOptions({ name: 'PlaygroundTools' });\n\nconst props = defineProps<{\n layoutText?: string;\n}>();\n\nconst tools = useFixedPlaygroundTools();\nconst zoomLabel = computed(() => `${Math.floor(tools.zoom * 100)}%`);\n</script>\n\n<template>\n <div class=\"fg-tools\">\n <label>\n <input type=\"checkbox\" :checked=\"!tools.isVertical\" @change=\"tools.changeLayout()\" />\n {{ props.layoutText || 'isHorizontal' }}\n </label>\n <button type=\"button\" title=\"fit view\" @click=\"tools.fitView()\">fit</button>\n <button type=\"button\" title=\"zoom out\" @click=\"tools.zoomout()\">-</button>\n <button type=\"button\" title=\"zoom in\" @click=\"tools.zoomin()\">+</button>\n <button type=\"button\" title=\"undo\" :disabled=\"!tools.canUndo\" @click=\"tools.undo()\">undo</button>\n <button type=\"button\" title=\"redo\" :disabled=\"!tools.canRedo\" @click=\"tools.redo()\">redo</button>\n <span>{{ zoomLabel }}</span>\n </div>\n</template>\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { FlowRendererKey } from '@flowgram-vue/renderer';\n\nimport { Ellipse } from '../assets';\nimport Adder from './adder.vue';\nimport BranchAdder from './branch-adder.vue';\nimport Collapse from './collapse.vue';\nimport DragHighlightAdder from './drag-highlight-adder.vue';\nimport DragNode from './drag-node.vue';\nimport DraggingAdder from './dragging-adder.vue';\nimport SlotAdder from './slot-adder.vue';\nimport SlotCollapse from './slot-collapse.vue';\nimport TryCatchCollapse from './try-catch-collapse.vue';\n\nexport { default as PlaygroundTools } from './playground-tools.vue';\n\nexport const defaultFixedSemiMaterials = {\n [FlowRendererKey.ADDER]: Adder,\n [FlowRendererKey.COLLAPSE]: Collapse,\n [FlowRendererKey.TRY_CATCH_COLLAPSE]: TryCatchCollapse,\n [FlowRendererKey.BRANCH_ADDER]: BranchAdder,\n [FlowRendererKey.DRAG_NODE]: DragNode,\n [FlowRendererKey.DRAGGABLE_ADDER]: DraggingAdder,\n [FlowRendererKey.DRAG_HIGHLIGHT_ADDER]: DragHighlightAdder,\n [FlowRendererKey.DRAG_BRANCH_HIGHLIGHT_ADDER]: Ellipse,\n [FlowRendererKey.SLOT_COLLAPSE]: SlotCollapse,\n [FlowRendererKey.SLOT_ADDER]: SlotAdder,\n};\n"]}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '../src/index';
|
package/dist/index.js
ADDED
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/styles.css","../src/assets/ellipsis.ts","../src/assets/icons.ts","../src/components/metadata.ts","../src/components/nodes.vue","../src/components/adder.vue","../src/components/branch-adder.vue","../src/components/collapse.vue","../src/components/drag-highlight-adder.vue","../src/components/drag-node.vue","../src/components/dragging-adder.vue","../src/components/slot-adder.vue","../src/components/slot-collapse.vue","../src/components/try-catch-collapse.vue","../src/composables/use-fixed-playground-tools.ts","../src/components/playground-tools.vue","../src/components/index.ts"],"names":["h","circleColor","_openBlock","_createElementBlock","_Fragment","_renderList","_createElementVNode","_createBlock","_resolveDynamicComponent","_toDisplayString","nanoid","_hoisted_1","_normalizeClass","_withModifiers","_createCommentVNode","_createVNode","usePlayground","useService","FlowOperationBaseService","FlowNodeTransformData","FlowNodeRenderData","_normalizeStyle","_createTextVNode","_toDisplayString2","_toDisplayString3","_hoisted_2","ref","computed","_toDisplayString4","FlowDocument","_hoisted_3","_hoisted_4"],"mappings":"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","file":"index.js","sourcesContent":["import styleInject from '#style-inject';styleInject(\".fg-fixed-chrome {\\n --fg-primary: hsl(252 62% 54.9%);\\n --fg-primary-09: hsl(252deg 62% 55% / 9%);\\n --fg-adder: rgb(143, 149, 158);\\n --fg-collapse: #bbbfc4;\\n --fg-collapse-active: #82a7fc;\\n --fg-line: #3370ff;\\n}\\n.fg-adder-wrap {\\n width: 6px;\\n height: 6px;\\n background-color: var(--fg-adder);\\n color: #fff;\\n border-radius: 50%;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n cursor: pointer;\\n}\\n.fg-adder-wrap.is-hovered {\\n width: 15px;\\n height: 15px;\\n}\\n.fg-icon-plus {\\n width: 14px;\\n height: 14px;\\n color: #3370ff;\\n background: #fff;\\n border-radius: 15px;\\n}\\n.fg-popover {\\n position: absolute;\\n z-index: 20;\\n left: 18px;\\n top: 50%;\\n transform: translateY(-50%);\\n background: #fff;\\n border: 1px solid #e5e6eb;\\n border-radius: 8px;\\n box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);\\n padding: 8px;\\n}\\n.fg-collapse {\\n width: 16px;\\n height: 16px;\\n font-size: 10px;\\n border-radius: 9px;\\n display: flex;\\n color: #fff;\\n cursor: pointer;\\n justify-content: center;\\n align-items: center;\\n background: var(--fg-collapse);\\n}\\n.fg-collapse.is-hovered {\\n background: var(--fg-collapse-active);\\n}\\n.fg-collapse.is-horizontal-collapse {\\n transform: rotate(-90deg);\\n}\\n.fg-branch-adder {\\n width: 28px;\\n height: 18px;\\n background: rgb(187, 191, 196);\\n display: flex;\\n border-radius: 9px;\\n justify-content: space-evenly;\\n align-items: center;\\n color: #fff;\\n font-size: 10px;\\n font-weight: bold;\\n}\\n.fg-branch-adder.is-activated {\\n background: #82a7fc;\\n}\\n.fg-branch-adder.is-horizontal {\\n transform: rotate(90deg);\\n}\\n.fg-branch-adder .fg-branch-hit {\\n flex-grow: 1;\\n text-align: center;\\n cursor: pointer;\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n}\\n.fg-branch-adder svg {\\n width: 12px;\\n height: 12px;\\n}\\n.fg-slot-adder {\\n display: flex;\\n background: #fff;\\n}\\n.fg-native-btn {\\n display: inline-flex;\\n align-items: center;\\n justify-content: center;\\n border: 1px solid #d9d9d9;\\n background: #fff;\\n border-radius: 4px;\\n height: 24px;\\n min-width: 24px;\\n padding: 0 6px;\\n cursor: pointer;\\n}\\n.fg-native-btn:hover {\\n border-color: #3370ff;\\n color: #3370ff;\\n}\\n.fg-drag-node {\\n position: relative;\\n height: 32px;\\n border-radius: 5px;\\n display: flex;\\n align-items: center;\\n cursor: pointer;\\n font-size: 19px;\\n border: 1px solid var(--fg-primary);\\n padding: 0 15px;\\n background: #fff;\\n}\\n.fg-drag-node:hover {\\n background-color: var(--fg-primary-09);\\n color: var(--fg-primary);\\n}\\n.fg-drag-counts {\\n position: absolute;\\n top: -8px;\\n right: -8px;\\n text-align: center;\\n line-height: 16px;\\n width: 16px;\\n height: 16px;\\n border-radius: 8px;\\n font-size: 12px;\\n color: #fff;\\n background-color: var(--fg-primary);\\n}\\n.fg-dragging-adder {\\n width: 16px;\\n height: 16px;\\n border-radius: 100px;\\n background-color: white;\\n border: 1px dashed #b8bcc1;\\n}\\n.fg-highlight-line {\\n display: flex;\\n align-items: center;\\n}\\n.fg-highlight-bar {\\n background: #3370ff;\\n}\\n.fg-node-wrap {\\n width: 100%;\\n height: 32px;\\n border-radius: 5px;\\n display: flex;\\n align-items: center;\\n cursor: pointer;\\n font-size: 19px;\\n padding: 0 15px;\\n}\\n.fg-node-wrap:hover {\\n background-color: var(--fg-primary-09);\\n color: var(--fg-primary);\\n}\\n.fg-node-label {\\n font-size: 12px;\\n margin-left: 10px;\\n}\\n.fg-nodes-wrap {\\n max-height: 500px;\\n overflow: auto;\\n}\\n.fg-nodes-wrap::-webkit-scrollbar {\\n display: none;\\n}\\n.fg-tools {\\n display: flex;\\n align-items: center;\\n gap: 8px;\\n}\\n.fg-tools button,\\n.fg-tools label {\\n border: 1px solid #d9d9d9;\\n background: #fff;\\n border-radius: 4px;\\n height: 28px;\\n padding: 0 8px;\\n cursor: pointer;\\n}\\n.fg-tools button:disabled {\\n opacity: 0.45;\\n cursor: not-allowed;\\n}\\n\")","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { h, type FunctionalComponent } from 'vue';\n\nexport const Ellipse: FunctionalComponent = () =>\n h('svg', { width: '8', height: '8', viewBox: '0 0 8 8', fill: 'none' }, [\n h('circle', {\n cx: '4',\n cy: '4',\n r: '3',\n fill: 'white',\n stroke: '#3370FF',\n 'stroke-width': '2',\n }),\n ]);\n\nEllipse.displayName = 'Ellipse';\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { h, type FunctionalComponent } from 'vue';\n\nexport const IconStyleBorder: FunctionalComponent = () =>\n h('svg', { width: '1em', height: '1em', viewBox: '0 0 24 24' }, [\n h(\n 'g',\n {\n fill: 'none',\n stroke: 'currentColor',\n 'stroke-linecap': 'round',\n 'stroke-linejoin': 'round',\n 'stroke-miterlimit': '1.5',\n 'stroke-width': '1.499',\n },\n [\n h('path', {\n 'stroke-dasharray': '2 2',\n d: 'M16 2H8a6 6 0 0 0-6 6v8a6 6 0 0 0 6 6h8a6 6 0 0 0 6-6V8a6 6 0 0 0-6-6Z',\n }),\n h('path', { d: 'M16 5H8a3 3 0 0 0-3 3v8a3 3 0 0 0 3 3h8a3 3 0 0 0 3-3V8a3 3 0 0 0-3-3Z' }),\n ]\n ),\n ]);\n\nexport const IconParkRightBranch: FunctionalComponent = () =>\n h('svg', { width: '1em', height: '1em', viewBox: '0 0 48 48' }, [\n h('g', { fill: 'none' }, [\n h('path', {\n stroke: 'currentColor',\n 'stroke-linecap': 'round',\n 'stroke-linejoin': 'round',\n 'stroke-width': '4',\n d: 'M22 8.01176C20.5 8.01193 16.0714 7.93811 15 13.0005C13.917 18.1177 9.85714 22.8477 8 24',\n }),\n h('path', {\n stroke: 'currentColor',\n 'stroke-linecap': 'round',\n 'stroke-linejoin': 'round',\n 'stroke-width': '4',\n d: 'M22 40C20.5 40.0003 16.0714 40.0628 15 35.0005C13.917 29.8833 9.85714 25.1522 8 23.9999',\n }),\n h('circle', { cx: '8', cy: '24', r: '4', fill: 'currentColor' }),\n h('path', {\n stroke: 'currentColor',\n 'stroke-linecap': 'round',\n 'stroke-linejoin': 'round',\n 'stroke-width': '4',\n d: 'M8 24L22 24',\n }),\n h('path', {\n stroke: 'currentColor',\n 'stroke-linecap': 'round',\n 'stroke-linejoin': 'round',\n 'stroke-width': '4',\n d: 'M30 24.001H42',\n }),\n h('path', {\n stroke: 'currentColor',\n 'stroke-linecap': 'round',\n 'stroke-linejoin': 'round',\n 'stroke-width': '4',\n d: 'M30 8.00098H42',\n }),\n h('path', {\n stroke: 'currentColor',\n 'stroke-linecap': 'round',\n 'stroke-linejoin': 'round',\n 'stroke-width': '4',\n d: 'M30 40.001H42',\n }),\n ]),\n ]);\n\nexport const PhCircleBold: FunctionalComponent = () =>\n h('svg', { width: '1em', height: '1em', viewBox: '0 0 256 256' }, [\n h('path', {\n fill: 'currentColor',\n d: 'M128 236a108 108 0 1 1 108-108a108.1 108.1 0 0 1-108 108Zm0-192a84 84 0 1 0 84 84a84.1 84.1 0 0 0-84-84Z',\n }),\n ]);\n\nexport const BiCloud: FunctionalComponent = () =>\n h('svg', { width: '1em', height: '1em', viewBox: '0 0 16 16' }, [\n h('path', {\n fill: 'currentColor',\n d: 'M4.406 3.342A5.53 5.53 0 0 1 8 2c2.69 0 4.923 2 5.166 4.579C14.758 6.804 16 8.137 16 9.773C16 11.569 14.502 13 12.687 13H3.781C1.708 13 0 11.366 0 9.318c0-1.763 1.266-3.223 2.942-3.593c.143-.863.698-1.723 1.464-2.383zm.653.757c-.757.653-1.153 1.44-1.153 2.056v.448l-.445.049C2.064 6.805 1 7.952 1 9.318C1 10.785 2.23 12 3.781 12h8.906C13.98 12 15 10.988 15 9.773c0-1.216-1.02-2.228-2.313-2.228h-.5v-.5C12.188 4.825 10.328 3 8 3a4.53 4.53 0 0 0-2.941 1.1z',\n }),\n ]);\n\nexport const BiBootstrapReboot: FunctionalComponent = () =>\n h('svg', { width: '1em', height: '1em', viewBox: '0 0 16 16' }, [\n h('g', { fill: 'currentColor' }, [\n h('path', {\n d: 'M1.161 8a6.84 6.84 0 1 0 6.842-6.84a.58.58 0 1 1 0-1.16a8 8 0 1 1-6.556 3.412l-.663-.577a.58.58 0 0 1 .227-.997l2.52-.69a.58.58 0 0 1 .728.633l-.332 2.592a.58.58 0 0 1-.956.364l-.643-.56A6.812 6.812 0 0 0 1.16 8z',\n }),\n h('path', {\n d: 'M6.641 11.671V8.843h1.57l1.498 2.828h1.314L9.377 8.665c.897-.3 1.427-1.106 1.427-2.1c0-1.37-.943-2.246-2.456-2.246H5.5v7.352h1.141zm0-3.75V5.277h1.57c.881 0 1.416.499 1.416 1.32c0 .84-.504 1.324-1.386 1.324h-1.6z',\n }),\n ]),\n ]);\n\nexport const FeAlignCenter: FunctionalComponent = () =>\n h('svg', { width: '1em', height: '1em', viewBox: '0 0 24 24' }, [\n h('path', {\n fill: '#888888',\n 'fill-rule': 'evenodd',\n d: 'M11 13v-2H6.286C5.023 11 4 10.105 4 9s1.023-2 2.286-2H11V3a1 1 0 0 1 2 0v4h4.714C18.977 7 20 7.895 20 9s-1.023 2-2.286 2H13v2h3a2 2 0 1 1 0 4h-3v4a1 1 0 0 1-2 0v-4H8a2 2 0 1 1 0-4h3Z',\n }),\n ]);\n\nexport const IconPlus: FunctionalComponent = () =>\n h(\n 'svg',\n { class: 'fg-icon-plus', width: '14', height: '14', viewBox: '0 0 24 24', fill: 'none' },\n [\n h('circle', { cx: '12', cy: '12', r: '11', fill: '#fff' }),\n h('path', {\n d: 'M12 7v10M7 12h10',\n stroke: '#3370ff',\n 'stroke-width': '2',\n 'stroke-linecap': 'round',\n }),\n ]\n );\n\nexport const IconChevronLeft: FunctionalComponent = () =>\n h('svg', { width: '12', height: '12', viewBox: '0 0 24 24', fill: 'none' }, [\n h('path', {\n d: 'M15 6l-6 6 6 6',\n stroke: 'currentColor',\n 'stroke-width': '2',\n 'stroke-linecap': 'round',\n 'stroke-linejoin': 'round',\n }),\n ]);\n\nexport function Arrow({ color, circleColor }: { color: string; circleColor: string }) {\n return h('svg', { width: '16', height: '16', viewBox: '0 0 16 16', fill: 'none' }, [\n h('circle', { cx: '8', cy: '8', r: '7', fill: circleColor }),\n h('path', {\n fill: color,\n d: 'M10.8281 9.4715C11.0883 9.21131 11.0885 8.78909 10.8291 8.52804C10.6413 8.33892 10.4536 8.14952 10.266 7.9601C9.66706 7.35551 9.06799 6.75079 8.46068 6.15496C8.20439 5.90352 7.7947 5.90352 7.53841 6.15496C6.93103 6.75085 6.33191 7.35564 5.73291 7.96029C5.5454 8.14957 5.3579 8.33884 5.17017 8.52782C4.91075 8.78895 4.91096 9.21099 5.17124 9.47127C5.43152 9.73155 5.85355 9.73176 6.11383 9.47148L7.99955 7.58576L9.88548 9.4717C10.1457 9.73189 10.5679 9.73169 10.8281 9.4715Z',\n }),\n h('path', {\n fill: color,\n d: 'M0.888672 7.99997C0.888672 4.07261 4.07242 0.888855 7.99978 0.888855C11.9271 0.888855 15.1109 4.07261 15.1109 7.99997C15.1109 11.9273 11.9271 15.1111 7.99978 15.1111C4.07242 15.1111 0.888672 11.9273 0.888672 7.99997ZM13.818 7.99997C13.818 4.78667 11.2131 2.18178 7.99978 2.18178C4.78649 2.18178 2.1816 4.78667 2.1816 7.99997C2.1816 11.2133 4.78649 13.8181 7.99978 13.8181C11.2131 13.8181 13.818 11.2133 13.818 7.99997Z',\n }),\n ]);\n}\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { h, type Component } from 'vue';\nimport { nanoid } from 'nanoid';\n\nimport {\n BiBootstrapReboot,\n BiCloud,\n FeAlignCenter,\n IconParkRightBranch,\n IconStyleBorder,\n PhCircleBold,\n} from '../assets';\n\nexport interface NodeMeta {\n type: string;\n label: string;\n icon: Component;\n schemaType?: string;\n branchEnd?: boolean;\n blocks?: () => Array<{ id: string }>;\n}\n\nconst metadata = {\n nodes: [\n {\n type: 'start',\n label: 'Start',\n icon: IconStyleBorder,\n },\n {\n type: 'dynamicSplit',\n label: 'Split Branch',\n icon: IconParkRightBranch,\n blocks() {\n return [{ id: nanoid(5) }, { id: nanoid(5) }];\n },\n },\n {\n type: 'end',\n label: 'Branch End',\n icon: FeAlignCenter,\n branchEnd: true,\n },\n {\n type: 'loop',\n schemaType: 'loop',\n label: 'Loop',\n icon: BiBootstrapReboot,\n },\n {\n type: 'tryCatch',\n schemaType: 'tryCatch',\n label: 'TryCatch',\n icon: IconParkRightBranch,\n blocks() {\n return [\n { id: `try_${nanoid(5)}` },\n { id: `catch_${nanoid(5)}` },\n { id: `catch_${nanoid(5)}` },\n ];\n },\n },\n {\n type: 'noop',\n label: 'Noop Node',\n icon: BiCloud,\n },\n {\n type: 'end',\n label: 'End',\n icon: PhCircleBold,\n },\n ] as NodeMeta[],\n find(type: string) {\n return metadata.nodes.find((m) => m.type === type);\n },\n};\n\nexport function renderMetaIcon(icon: Component) {\n return h(icon);\n}\n\nexport default metadata;\n","<script setup lang=\"ts\">\n/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\nimport type { FlowNodeEntity } from '@flowgram-vue/document';\nimport metadata from './metadata';\n\ndefineOptions({ name: 'NodesPicker' });\n\ndefineProps<{\n onSelect: (meta: (typeof metadata.nodes)[number]) => void;\n}>();\n\nconst addings = metadata.nodes.filter((node) => node.type !== 'start');\n</script>\n\n<template>\n <div class=\"fg-nodes-wrap\" :style=\"{ width: `${80 * 2 + 20}px` }\">\n <div\n v-for=\"(n, i) in addings\"\n :key=\"i\"\n class=\"fg-node-wrap\"\n @click=\"onSelect(n)\"\n >\n <div style=\"font-size: 14px\">\n <component :is=\"n.icon\" />\n </div>\n <div class=\"fg-node-label\">{{ n.label }}</div>\n </div>\n </div>\n</template>\n","<script setup lang=\"ts\">\n/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\nimport { ref } from 'vue';\nimport { nanoid } from 'nanoid';\nimport {\n FlowNodeTransformData,\n FlowOperationBaseService,\n type FlowNodeEntity,\n} from '@flowgram-vue/document';\nimport { usePlayground, useService } from '@flowgram-vue/core';\n\nimport { IconPlus } from '../assets';\nimport NodesPicker from './nodes.vue';\n\ndefineOptions({ name: 'Adder' });\n\nconst props = defineProps<{\n from: FlowNodeEntity;\n to?: FlowNodeEntity;\n hoverActivated?: boolean;\n}>();\n\nconst visible = ref(false);\nconst playground = usePlayground();\nconst flowOperationService = useService(FlowOperationBaseService);\n\nconst add = (addProps: { type: string; blocks?: () => unknown }) => {\n const block = flowOperationService.addFromNode(props.from, {\n id: addProps.type + nanoid(5),\n type: addProps.type,\n blocks: addProps.blocks ? (addProps.blocks() as never) : undefined,\n });\n setTimeout(() => {\n playground.scrollToView({\n bounds: block.getData<FlowNodeTransformData>(FlowNodeTransformData)!.bounds,\n scrollToCenter: true,\n });\n }, 10);\n visible.value = false;\n};\n\nconst onMouseDown = (e: MouseEvent) => e.stopPropagation();\n</script>\n\n<template>\n <div\n v-if=\"!playground.config.readonlyOrDisabled\"\n class=\"fg-fixed-chrome\"\n style=\"position: relative\"\n >\n <div\n class=\"fg-adder-wrap\"\n :class=\"{ 'is-hovered': props.hoverActivated }\"\n @mousedown=\"onMouseDown\"\n @click.stop=\"visible = !visible\"\n >\n <IconPlus v-if=\"props.hoverActivated\" />\n </div>\n <div v-if=\"visible\" class=\"fg-popover\" @mousedown.stop>\n <NodesPicker :on-select=\"add\" />\n </div>\n </div>\n</template>\n","<script setup lang=\"ts\">\n/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\nimport { nanoid } from 'nanoid';\nimport {\n FlowNodeRenderData,\n FlowNodeTransformData,\n FlowOperationBaseService,\n type FlowNodeEntity,\n} from '@flowgram-vue/document';\nimport { usePlayground, useService } from '@flowgram-vue/core';\n\nimport { IconPlus } from '../assets';\n\ndefineOptions({ name: 'BranchAdder' });\n\nconst props = defineProps<{\n activated?: boolean;\n node: FlowNodeEntity;\n}>();\n\nconst nodeData = props.node.firstChild?.getData<FlowNodeRenderData>(FlowNodeRenderData);\nconst playground = usePlayground();\nconst flowOperationService = useService(FlowOperationBaseService);\nconst isVertical = props.node.isVertical;\n\nfunction addBranch() {\n const block = flowOperationService.addBlock(props.node, { id: nanoid(5) });\n setTimeout(() => {\n playground.scrollToView({\n bounds: block.getData<FlowNodeTransformData>(FlowNodeTransformData)!.bounds,\n scrollToCenter: true,\n });\n }, 10);\n}\n</script>\n\n<template>\n <div\n v-if=\"!playground.config.readonlyOrDisabled\"\n class=\"fg-branch-adder\"\n :class=\"{\n 'is-activated': props.activated || nodeData?.hovered,\n 'is-horizontal': !isVertical,\n }\"\n @mouseenter=\"nodeData?.toggleMouseEnter()\"\n @mouseleave=\"nodeData?.toggleMouseLeave()\"\n >\n <div class=\"fg-branch-hit\" aria-hidden=\"true\" @click=\"addBranch\">\n <IconPlus />\n </div>\n </div>\n</template>\n","<script setup lang=\"ts\">\n/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\nimport {\n FlowNodeEntity,\n FlowNodeRenderData,\n FlowNodeTransformData,\n} from '@flowgram-vue/document';\nimport { usePlayground } from '@flowgram-vue/core';\nimport type { CSSProperties } from 'vue';\n\nimport { Arrow } from '../assets';\n\ndefineOptions({ name: 'Collapse' });\n\nconst props = defineProps<{\n node: FlowNodeEntity;\n collapseNode: FlowNodeEntity;\n activateNode?: FlowNodeEntity;\n forceVisible?: boolean;\n hoverActivated?: boolean;\n style?: CSSProperties;\n}>();\n\nconst playground = usePlayground();\nconst activateData = props.activateNode?.getData(FlowNodeRenderData);\nconst transform = props.collapseNode.getData(FlowNodeTransformData);\n\nconst scrollToActivateNode = () => {\n setTimeout(() => {\n playground.config.scrollToView({\n position: props.activateNode?.getData(FlowNodeTransformData)?.outputPoint,\n scrollToCenter: true,\n });\n }, 100);\n};\n\nconst collapseBlock = () => {\n if (!transform) {\n return;\n }\n transform.collapsed = true;\n activateData?.toggleMouseLeave();\n scrollToActivateNode();\n};\n\nconst openBlock = () => {\n if (!transform) {\n return;\n }\n transform.collapsed = false;\n scrollToActivateNode();\n};\n\nconst childCount = transform\n ? transform.collapsed\n ? props.collapseNode.allCollapsedChildren.filter(\n (child) => !child.hidden && child !== props.activateNode\n ).length\n : 0\n : 0;\n\nconst circleColor = '#fff';\nconst color = props.hoverActivated ? '#82A7FC' : '#BBBFC4';\n</script>\n\n<template>\n <div\n v-if=\"transform\"\n class=\"fg-collapse\"\n :class=\"{\n 'is-hovered': props.hoverActivated,\n 'is-horizontal-collapse': !props.activateNode?.isVertical && !transform.collapsed,\n }\"\n aria-hidden=\"true\"\n :style=\"props.style\"\n @click=\"transform.collapsed ? openBlock() : collapseBlock()\"\n >\n <template v-if=\"transform.collapsed\">{{ childCount }}</template>\n <Arrow v-else :color=\"color\" :circle-color=\"circleColor\" />\n </div>\n</template>\n","<script setup lang=\"ts\">\n/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\nimport { FlowNodeTransformData, type FlowNodeEntity } from '@flowgram-vue/document';\n\nimport { Ellipse } from '../assets';\n\ndefineOptions({ name: 'DragHighlightAdder' });\n\nconst props = defineProps<{\n node: FlowNodeEntity;\n}>();\n\nconst getMinSize = (preWidth: number, nextWidth: number): number => {\n if (!preWidth || preWidth < 0) {\n return 0;\n }\n if (!nextWidth || nextWidth < 0) {\n return preWidth;\n }\n return Math.min(preWidth, nextWidth) || 0;\n};\n\nconst transformBounds = props.node.getData<FlowNodeTransformData>(FlowNodeTransformData)?.bounds;\nconst isVertical = props.node.isVertical;\n\nlet barWidth = 0;\nlet barHeight = 0;\nif (isVertical) {\n const preWidth = (transformBounds?.width || 0) - 16;\n const nextNodeBounds =\n props.node?.next?.getData<FlowNodeTransformData>(FlowNodeTransformData)?.bounds?.width;\n const nextWidth = (nextNodeBounds || 0) - 16;\n barWidth = getMinSize(preWidth, nextWidth);\n barHeight = 2;\n} else {\n const preHeight = (transformBounds?.height || 0) - 16;\n const nextNodeBounds =\n props.node?.next?.getData<FlowNodeTransformData>(FlowNodeTransformData)?.bounds?.height;\n const nextHeight = (nextNodeBounds || 0) - 16;\n barWidth = 2;\n barHeight = getMinSize(preHeight, nextHeight);\n}\n</script>\n\n<template>\n <div class=\"fg-highlight-line\" :style=\"{ flexDirection: isVertical ? 'row' : 'column' }\">\n <Ellipse />\n <div class=\"fg-highlight-bar\" :style=\"{ width: `${barWidth}px`, height: `${barHeight}px` }\" />\n <Ellipse />\n </div>\n</template>\n","<script setup lang=\"ts\">\n/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\nimport type { FlowNodeEntity, FlowNodeJSON } from '@flowgram-vue/document';\n\ndefineOptions({ name: 'DragNode' });\n\nconst props = defineProps<{\n dragStart?: FlowNodeEntity;\n dragJSON?: FlowNodeJSON;\n dragNodes: FlowNodeEntity[];\n}>();\n\nconst dragLength = (props.dragNodes || [])\n .map((_node) =>\n _node.allCollapsedChildren.length\n ? _node.allCollapsedChildren.filter((_n) => !_n.hidden).length\n : 1\n )\n .reduce((acm, curr) => acm + curr, 0);\n\nconst label = props.dragStart?.id || props.dragJSON?.id;\n</script>\n\n<template>\n <div class=\"fg-drag-node\">\n {{ label }}\n <template v-if=\"dragLength > 1\">\n <div class=\"fg-drag-counts\">{{ dragLength }}</div>\n <div\n class=\"fg-drag-node\"\n :style=\"{\n position: 'absolute',\n top: '5px',\n right: '-5px',\n left: '5px',\n bottom: '-5px',\n opacity: 0.5,\n }\"\n />\n </template>\n </div>\n</template>\n","<script setup lang=\"ts\">\n/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\nimport { computed } from 'vue';\nimport { usePlayground } from '@flowgram-vue/core';\nimport { FlowDragLayer } from '@flowgram-vue/renderer';\nimport type { FlowNodeEntity } from '@flowgram-vue/document';\n\ndefineOptions({ name: 'DraggingAdder' });\n\nconst props = defineProps<{\n from?: FlowNodeEntity;\n}>();\n\nconst playground = usePlayground();\nconst layer = playground.getLayer(FlowDragLayer);\n\nconst canShow = computed(() => {\n if (!layer) {\n return false;\n }\n if (\n layer.options.canDrop &&\n !layer.options.canDrop({\n dragNodes: layer.dragEntities || [],\n dropNode: props.from as FlowNodeEntity,\n isBranch: false,\n })\n ) {\n return false;\n }\n return true;\n});\n</script>\n\n<template>\n <div v-if=\"canShow\" class=\"fg-dragging-adder\" />\n</template>\n","<script setup lang=\"ts\">\n/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\nimport { nanoid } from 'nanoid';\nimport {\n FlowDocument,\n FlowNodeRenderData,\n type FlowNodeEntity,\n} from '@flowgram-vue/document';\nimport { useService } from '@flowgram-vue/core';\n\nimport { IconPlus } from '../assets';\n\ndefineOptions({ name: 'SlotAdder' });\n\nconst props = defineProps<{\n node: FlowNodeEntity;\n}>();\n\nconst nodeData = props.node.firstChild?.getData<FlowNodeRenderData>(FlowNodeRenderData);\nconst document = useService(FlowDocument) as FlowDocument;\n\nfunction addPort() {\n document.addNode({\n id: nanoid(5),\n type: 'custom',\n parent: props.node,\n });\n}\n</script>\n\n<template>\n <div\n class=\"fg-slot-adder\"\n @mouseenter=\"nodeData?.toggleMouseEnter()\"\n @mouseleave=\"nodeData?.toggleMouseLeave()\"\n >\n <button type=\"button\" class=\"fg-native-btn\" @click=\"addPort\">\n <IconPlus />\n </button>\n </div>\n</template>\n","<script setup lang=\"ts\">\n/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\nimport { ref, computed } from 'vue';\nimport {\n FlowNodeRenderData,\n FlowNodeTransformData,\n type FlowNodeEntity,\n} from '@flowgram-vue/document';\n\nimport Collapse from './collapse.vue';\n\ndefineOptions({ name: 'SlotCollapse' });\n\nconst props = defineProps<{\n node: FlowNodeEntity;\n}>();\n\nconst hoverActivated = ref(false);\nconst icon = props.node.firstChild!;\nconst iconActivated = icon.getData(FlowNodeRenderData).activated;\nconst iconHeight = icon.getData(FlowNodeTransformData).size.height;\nconst isChildVisible = computed(\n () => props.node.collapsed || hoverActivated.value || iconActivated\n);\n</script>\n\n<template>\n <div\n :style=\"{\n width: '30px',\n height: `${iconHeight || 100}px`,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n }\"\n @mouseenter=\"hoverActivated = true\"\n @mouseleave=\"hoverActivated = false\"\n >\n <Collapse\n v-if=\"isChildVisible\"\n :style=\"\n !props.node.collapsed\n ? { transform: props.node.isVertical ? 'rotate(-90deg)' : 'rotate(90deg)' }\n : {}\n \"\n :node=\"props.node\"\n :activate-node=\"icon\"\n :collapse-node=\"props.node\"\n :hover-activated=\"hoverActivated\"\n />\n </div>\n</template>\n","<script setup lang=\"ts\">\n/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\nimport { ref, computed } from 'vue';\nimport {\n FlowNodeEntity,\n FlowNodeRenderData,\n FlowNodeTransformData,\n} from '@flowgram-vue/document';\nimport { FlowRendererRegistry, FlowTextKey, useBaseColor } from '@flowgram-vue/renderer';\nimport { usePlayground } from '@flowgram-vue/core';\n\nimport { IconChevronLeft } from '../assets';\n\ndefineOptions({ name: 'TryCatchCollapse' });\n\nconst props = defineProps<{\n node: FlowNodeEntity;\n}>();\n\nconst { baseColor, baseActivatedColor } = useBaseColor();\nconst playground = usePlayground();\nconst activateData = props.node.getData(FlowNodeRenderData)!;\nconst transform = props.node.getData(FlowNodeTransformData)!;\nconst hoverActivated = ref(false);\n\nconst width = transform?.parent\n ? transform.inputPoint.x - transform.parent.inputPoint.x\n : 0;\n\nconst catchText = computed(() =>\n props.node.getService(FlowRendererRegistry).getText(FlowTextKey.CATCH_TEXT)\n);\n\nconst scrollToActivateNode = () => {\n setTimeout(() => {\n playground.config.scrollToView({\n position: props.node?.getData(FlowNodeTransformData)?.inputPoint,\n scrollToCenter: true,\n });\n }, 100);\n};\n\nconst collapseBlock = () => {\n transform.collapsed = true;\n activateData.activated = false;\n scrollToActivateNode();\n};\n\nconst openBlock = () => {\n transform.collapsed = false;\n scrollToActivateNode();\n};\n\nconst handleMouseEnter = () => {\n hoverActivated.value = true;\n activateData.activated = true;\n};\n\nconst handleMouseLeave = () => {\n hoverActivated.value = false;\n activateData.activated = false;\n};\n\nconst childCount = computed(\n () =>\n props.node.allCollapsedChildren.filter((child) => !child.hidden && child !== props.node)\n .length\n);\n\nconst badgeBg = computed(() =>\n hoverActivated.value || activateData.lineActivated ? baseActivatedColor : baseColor\n);\n</script>\n\n<template>\n <div\n v-if=\"transform && transform.parent\"\n :style=\"{\n width: `${width}px`,\n height: '40px',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n gap: '6px',\n }\"\n @mouseenter=\"handleMouseEnter\"\n @mouseleave=\"handleMouseLeave\"\n >\n <div\n :data-label-id=\"props.labelId\"\n :style=\"{\n fontSize: '12px',\n color: hoverActivated || activateData.lineActivated ? baseActivatedColor : baseColor,\n textAlign: 'center',\n whiteSpace: 'nowrap',\n backgroundColor: 'var(--g-editor-background)',\n lineHeight: '20px',\n }\"\n >\n {{ catchText }}\n </div>\n <div\n v-if=\"transform.collapsed\"\n class=\"fg-collapse is-hovered\"\n :style=\"{ background: badgeBg }\"\n aria-hidden=\"true\"\n @click=\"openBlock\"\n >\n {{ childCount }}\n </div>\n <div\n v-else-if=\"hoverActivated\"\n class=\"fg-collapse is-hovered\"\n :style=\"{ background: baseActivatedColor }\"\n aria-hidden=\"true\"\n @click=\"collapseBlock\"\n >\n <IconChevronLeft />\n </div>\n </div>\n</template>\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport {\n EditorState,\n type PlaygroundInteractiveType,\n usePlayground,\n usePlaygroundContainer,\n useService,\n} from '@flowgram-vue/core';\nimport {\n FlowDocument,\n FlowLayoutDefault,\n FlowNodeRenderData,\n} from '@flowgram-vue/document';\nimport { HistoryService } from '@flowgram-vue/history';\nimport { DisposableCollection } from '@flowgram-vue/utils';\nimport { computed, onBeforeUnmount, reactive, ref } from 'vue';\n\nexport interface FixedPlaygroundTools {\n zoom: number;\n zoomin: (easing?: boolean) => void;\n zoomout: (easing?: boolean) => void;\n updateZoom: (newZoom: number, easing?: boolean, easingDuration?: number) => void;\n fitView: (easing?: boolean, easingDuration?: number, padding?: number) => Promise<void>;\n isVertical: boolean;\n changeLayout: (layout?: FlowLayoutDefault) => void;\n interactiveType: PlaygroundInteractiveType;\n setInteractiveType: (type: PlaygroundInteractiveType) => void;\n canRedo: boolean;\n canUndo: boolean;\n redo: () => void;\n undo: () => void;\n}\n\nexport function useFixedPlaygroundTools(): FixedPlaygroundTools {\n const playground = usePlayground();\n const container = usePlaygroundContainer();\n const historyService = container?.isBound?.(HistoryService)\n ? container.get(HistoryService)\n : undefined;\n const doc = useService<FlowDocument>(FlowDocument);\n\n const zoom = ref(1);\n const layoutName = ref(doc.layout.name);\n const canUndo = ref(false);\n const canRedo = ref(false);\n\n const handleFitView = (easing?: boolean, easingDuration?: number, padding?: number) => {\n padding = padding || 30;\n return playground.config.fitView(doc.root.bounds, easing, padding, easingDuration);\n };\n\n const changeLayout = (newLayout?: FlowLayoutDefault) => {\n const allNodes = doc.getAllNodes();\n newLayout =\n newLayout ||\n (doc.layout.name === FlowLayoutDefault.HORIZONTAL_FIXED_LAYOUT\n ? FlowLayoutDefault.VERTICAL_FIXED_LAYOUT\n : FlowLayoutDefault.HORIZONTAL_FIXED_LAYOUT);\n allNodes.forEach((node) => {\n const renderData = node.getData(FlowNodeRenderData);\n renderData.node.classList.add('gedit-transition-ease');\n });\n setTimeout(() => {\n handleFitView();\n }, 10);\n setTimeout(() => {\n allNodes.forEach((node) => {\n const renderData = node.getData(FlowNodeRenderData);\n renderData.node.classList.remove('gedit-transition-ease');\n });\n }, 500);\n doc.setLayout(newLayout);\n layoutName.value = doc.layout.name;\n };\n\n const dispose = new DisposableCollection();\n dispose.push(playground.onZoom((z) => (zoom.value = z)));\n if (historyService) {\n dispose.push(\n historyService.undoRedoService.onChange(() => {\n canUndo.value = historyService.canUndo();\n canRedo.value = historyService.canRedo();\n })\n );\n }\n onBeforeUnmount(() => dispose.dispose());\n\n const interactiveType = computed<PlaygroundInteractiveType>(() =>\n playground.editorState.isMouseFriendlyMode() ? 'MOUSE' : 'PAD'\n );\n\n return reactive({\n zoomin: (easing?: boolean) => playground.config.zoomin(easing),\n zoomout: (easing?: boolean) => playground.config.zoomout(easing),\n updateZoom: (value: number, easing?: boolean, easingDuration?: number) =>\n playground.config.updateZoom(value, easing, easingDuration),\n zoom,\n fitView: handleFitView,\n isVertical: computed(() => layoutName.value === FlowLayoutDefault.VERTICAL_FIXED_LAYOUT),\n changeLayout,\n canRedo,\n canUndo,\n undo: () => historyService?.undo(),\n redo: () => historyService?.redo(),\n interactiveType,\n setInteractiveType: (type: PlaygroundInteractiveType) => {\n if (type === 'MOUSE') {\n playground.editorState.changeState(EditorState.STATE_MOUSE_FRIENDLY_SELECT.id);\n } else {\n playground.editorState.changeState(EditorState.STATE_SELECT.id);\n }\n },\n }) as FixedPlaygroundTools;\n}\n","<script setup lang=\"ts\">\n/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\nimport { computed } from 'vue';\n\nimport { useFixedPlaygroundTools } from '../composables/use-fixed-playground-tools';\n\ndefineOptions({ name: 'PlaygroundTools' });\n\nconst props = defineProps<{\n layoutText?: string;\n}>();\n\nconst tools = useFixedPlaygroundTools();\nconst zoomLabel = computed(() => `${Math.floor(tools.zoom * 100)}%`);\n</script>\n\n<template>\n <div class=\"fg-tools\">\n <label>\n <input type=\"checkbox\" :checked=\"!tools.isVertical\" @change=\"tools.changeLayout()\" />\n {{ props.layoutText || 'isHorizontal' }}\n </label>\n <button type=\"button\" title=\"fit view\" @click=\"tools.fitView()\">fit</button>\n <button type=\"button\" title=\"zoom out\" @click=\"tools.zoomout()\">-</button>\n <button type=\"button\" title=\"zoom in\" @click=\"tools.zoomin()\">+</button>\n <button type=\"button\" title=\"undo\" :disabled=\"!tools.canUndo\" @click=\"tools.undo()\">undo</button>\n <button type=\"button\" title=\"redo\" :disabled=\"!tools.canRedo\" @click=\"tools.redo()\">redo</button>\n <span>{{ zoomLabel }}</span>\n </div>\n</template>\n","/**\n * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates\n * SPDX-License-Identifier: MIT\n */\n\nimport { FlowRendererKey } from '@flowgram-vue/renderer';\n\nimport { Ellipse } from '../assets';\nimport Adder from './adder.vue';\nimport BranchAdder from './branch-adder.vue';\nimport Collapse from './collapse.vue';\nimport DragHighlightAdder from './drag-highlight-adder.vue';\nimport DragNode from './drag-node.vue';\nimport DraggingAdder from './dragging-adder.vue';\nimport SlotAdder from './slot-adder.vue';\nimport SlotCollapse from './slot-collapse.vue';\nimport TryCatchCollapse from './try-catch-collapse.vue';\n\nexport { default as PlaygroundTools } from './playground-tools.vue';\n\nexport const defaultFixedSemiMaterials = {\n [FlowRendererKey.ADDER]: Adder,\n [FlowRendererKey.COLLAPSE]: Collapse,\n [FlowRendererKey.TRY_CATCH_COLLAPSE]: TryCatchCollapse,\n [FlowRendererKey.BRANCH_ADDER]: BranchAdder,\n [FlowRendererKey.DRAG_NODE]: DragNode,\n [FlowRendererKey.DRAGGABLE_ADDER]: DraggingAdder,\n [FlowRendererKey.DRAG_HIGHLIGHT_ADDER]: DragHighlightAdder,\n [FlowRendererKey.DRAG_BRANCH_HIGHLIGHT_ADDER]: Ellipse,\n [FlowRendererKey.SLOT_COLLAPSE]: SlotCollapse,\n [FlowRendererKey.SLOT_ADDER]: SlotAdder,\n};\n"]}
|
package/package.json
ADDED
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@flowgram-vue/fixed-semi-materials",
|
|
3
|
+
"version": "0.2.0",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"homepage": "https://flowgram.ai/",
|
|
7
|
+
"repository": "https://github.com/Crayon-hua/flowgram-vue",
|
|
8
|
+
"description": "Fixed-layout canvas chrome (add/collapse) with Vue + native DOM. Semi UI dropped.",
|
|
9
|
+
"exports": {
|
|
10
|
+
".": {
|
|
11
|
+
"types": "./dist/index.d.ts",
|
|
12
|
+
"import": "./dist/index.js",
|
|
13
|
+
"require": "./dist/index.cjs"
|
|
14
|
+
},
|
|
15
|
+
"./index.css": "./index.css"
|
|
16
|
+
},
|
|
17
|
+
"main": "./dist/index.cjs",
|
|
18
|
+
"module": "./dist/index.js",
|
|
19
|
+
"types": "./dist/index.d.ts",
|
|
20
|
+
"files": [
|
|
21
|
+
"src",
|
|
22
|
+
"dist"
|
|
23
|
+
],
|
|
24
|
+
"dependencies": {
|
|
25
|
+
"inversify": "^6.0.1",
|
|
26
|
+
"nanoid": "^5.0.9",
|
|
27
|
+
"reflect-metadata": "~0.2.2",
|
|
28
|
+
"@flowgram-vue/document": "0.2.0",
|
|
29
|
+
"@flowgram-vue/renderer": "0.2.0",
|
|
30
|
+
"@flowgram-vue/core": "0.2.0",
|
|
31
|
+
"@flowgram-vue/history": "0.2.0",
|
|
32
|
+
"@flowgram-vue/utils": "0.2.0"
|
|
33
|
+
},
|
|
34
|
+
"peerDependencies": {
|
|
35
|
+
"vue": "^3.3.0"
|
|
36
|
+
},
|
|
37
|
+
"devDependencies": {
|
|
38
|
+
"@types/node": "^20",
|
|
39
|
+
"@vitejs/plugin-vue": "^6.0.1",
|
|
40
|
+
"@vue/test-utils": "^2.4.6",
|
|
41
|
+
"eslint": "^9.0.0",
|
|
42
|
+
"jsdom": "^26.1.0",
|
|
43
|
+
"typescript": "^5.8.3",
|
|
44
|
+
"vitest": "^3.2.4",
|
|
45
|
+
"vue": "^3.5.18",
|
|
46
|
+
"@flowgram-vue/ts-config": "0.2.0",
|
|
47
|
+
"@flowgram-vue/build-config": "0.2.0",
|
|
48
|
+
"@flowgram-vue/eslint-config": "0.2.0"
|
|
49
|
+
},
|
|
50
|
+
"publishConfig": {
|
|
51
|
+
"access": "public",
|
|
52
|
+
"registry": "https://registry.npmjs.org/"
|
|
53
|
+
},
|
|
54
|
+
"scripts": {
|
|
55
|
+
"build": "flowgram-build",
|
|
56
|
+
"test": "vitest run",
|
|
57
|
+
"lint": "eslint .",
|
|
58
|
+
"ts-check": "tsc --noEmit",
|
|
59
|
+
"type-check": "tsc --noEmit",
|
|
60
|
+
"build:fast": "flowgram-build --fast",
|
|
61
|
+
"build:watch": "flowgram-build --watch"
|
|
62
|
+
}
|
|
63
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2025 Bytedance Ltd. and/or its affiliates
|
|
3
|
+
* SPDX-License-Identifier: MIT
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import { h, type FunctionalComponent } from 'vue';
|
|
7
|
+
|
|
8
|
+
export const Ellipse: FunctionalComponent = () =>
|
|
9
|
+
h('svg', { width: '8', height: '8', viewBox: '0 0 8 8', fill: 'none' }, [
|
|
10
|
+
h('circle', {
|
|
11
|
+
cx: '4',
|
|
12
|
+
cy: '4',
|
|
13
|
+
r: '3',
|
|
14
|
+
fill: 'white',
|
|
15
|
+
stroke: '#3370FF',
|
|
16
|
+
'stroke-width': '2',
|
|
17
|
+
}),
|
|
18
|
+
]);
|
|
19
|
+
|
|
20
|
+
Ellipse.displayName = 'Ellipse';
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2025 Bytedance Ltd. and/or its affiliates
|
|
3
|
+
* SPDX-License-Identifier: MIT
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import { h, type FunctionalComponent } from 'vue';
|
|
7
|
+
|
|
8
|
+
export const IconStyleBorder: FunctionalComponent = () =>
|
|
9
|
+
h('svg', { width: '1em', height: '1em', viewBox: '0 0 24 24' }, [
|
|
10
|
+
h(
|
|
11
|
+
'g',
|
|
12
|
+
{
|
|
13
|
+
fill: 'none',
|
|
14
|
+
stroke: 'currentColor',
|
|
15
|
+
'stroke-linecap': 'round',
|
|
16
|
+
'stroke-linejoin': 'round',
|
|
17
|
+
'stroke-miterlimit': '1.5',
|
|
18
|
+
'stroke-width': '1.499',
|
|
19
|
+
},
|
|
20
|
+
[
|
|
21
|
+
h('path', {
|
|
22
|
+
'stroke-dasharray': '2 2',
|
|
23
|
+
d: 'M16 2H8a6 6 0 0 0-6 6v8a6 6 0 0 0 6 6h8a6 6 0 0 0 6-6V8a6 6 0 0 0-6-6Z',
|
|
24
|
+
}),
|
|
25
|
+
h('path', { d: 'M16 5H8a3 3 0 0 0-3 3v8a3 3 0 0 0 3 3h8a3 3 0 0 0 3-3V8a3 3 0 0 0-3-3Z' }),
|
|
26
|
+
]
|
|
27
|
+
),
|
|
28
|
+
]);
|
|
29
|
+
|
|
30
|
+
export const IconParkRightBranch: FunctionalComponent = () =>
|
|
31
|
+
h('svg', { width: '1em', height: '1em', viewBox: '0 0 48 48' }, [
|
|
32
|
+
h('g', { fill: 'none' }, [
|
|
33
|
+
h('path', {
|
|
34
|
+
stroke: 'currentColor',
|
|
35
|
+
'stroke-linecap': 'round',
|
|
36
|
+
'stroke-linejoin': 'round',
|
|
37
|
+
'stroke-width': '4',
|
|
38
|
+
d: 'M22 8.01176C20.5 8.01193 16.0714 7.93811 15 13.0005C13.917 18.1177 9.85714 22.8477 8 24',
|
|
39
|
+
}),
|
|
40
|
+
h('path', {
|
|
41
|
+
stroke: 'currentColor',
|
|
42
|
+
'stroke-linecap': 'round',
|
|
43
|
+
'stroke-linejoin': 'round',
|
|
44
|
+
'stroke-width': '4',
|
|
45
|
+
d: 'M22 40C20.5 40.0003 16.0714 40.0628 15 35.0005C13.917 29.8833 9.85714 25.1522 8 23.9999',
|
|
46
|
+
}),
|
|
47
|
+
h('circle', { cx: '8', cy: '24', r: '4', fill: 'currentColor' }),
|
|
48
|
+
h('path', {
|
|
49
|
+
stroke: 'currentColor',
|
|
50
|
+
'stroke-linecap': 'round',
|
|
51
|
+
'stroke-linejoin': 'round',
|
|
52
|
+
'stroke-width': '4',
|
|
53
|
+
d: 'M8 24L22 24',
|
|
54
|
+
}),
|
|
55
|
+
h('path', {
|
|
56
|
+
stroke: 'currentColor',
|
|
57
|
+
'stroke-linecap': 'round',
|
|
58
|
+
'stroke-linejoin': 'round',
|
|
59
|
+
'stroke-width': '4',
|
|
60
|
+
d: 'M30 24.001H42',
|
|
61
|
+
}),
|
|
62
|
+
h('path', {
|
|
63
|
+
stroke: 'currentColor',
|
|
64
|
+
'stroke-linecap': 'round',
|
|
65
|
+
'stroke-linejoin': 'round',
|
|
66
|
+
'stroke-width': '4',
|
|
67
|
+
d: 'M30 8.00098H42',
|
|
68
|
+
}),
|
|
69
|
+
h('path', {
|
|
70
|
+
stroke: 'currentColor',
|
|
71
|
+
'stroke-linecap': 'round',
|
|
72
|
+
'stroke-linejoin': 'round',
|
|
73
|
+
'stroke-width': '4',
|
|
74
|
+
d: 'M30 40.001H42',
|
|
75
|
+
}),
|
|
76
|
+
]),
|
|
77
|
+
]);
|
|
78
|
+
|
|
79
|
+
export const PhCircleBold: FunctionalComponent = () =>
|
|
80
|
+
h('svg', { width: '1em', height: '1em', viewBox: '0 0 256 256' }, [
|
|
81
|
+
h('path', {
|
|
82
|
+
fill: 'currentColor',
|
|
83
|
+
d: 'M128 236a108 108 0 1 1 108-108a108.1 108.1 0 0 1-108 108Zm0-192a84 84 0 1 0 84 84a84.1 84.1 0 0 0-84-84Z',
|
|
84
|
+
}),
|
|
85
|
+
]);
|
|
86
|
+
|
|
87
|
+
export const BiCloud: FunctionalComponent = () =>
|
|
88
|
+
h('svg', { width: '1em', height: '1em', viewBox: '0 0 16 16' }, [
|
|
89
|
+
h('path', {
|
|
90
|
+
fill: 'currentColor',
|
|
91
|
+
d: 'M4.406 3.342A5.53 5.53 0 0 1 8 2c2.69 0 4.923 2 5.166 4.579C14.758 6.804 16 8.137 16 9.773C16 11.569 14.502 13 12.687 13H3.781C1.708 13 0 11.366 0 9.318c0-1.763 1.266-3.223 2.942-3.593c.143-.863.698-1.723 1.464-2.383zm.653.757c-.757.653-1.153 1.44-1.153 2.056v.448l-.445.049C2.064 6.805 1 7.952 1 9.318C1 10.785 2.23 12 3.781 12h8.906C13.98 12 15 10.988 15 9.773c0-1.216-1.02-2.228-2.313-2.228h-.5v-.5C12.188 4.825 10.328 3 8 3a4.53 4.53 0 0 0-2.941 1.1z',
|
|
92
|
+
}),
|
|
93
|
+
]);
|
|
94
|
+
|
|
95
|
+
export const BiBootstrapReboot: FunctionalComponent = () =>
|
|
96
|
+
h('svg', { width: '1em', height: '1em', viewBox: '0 0 16 16' }, [
|
|
97
|
+
h('g', { fill: 'currentColor' }, [
|
|
98
|
+
h('path', {
|
|
99
|
+
d: 'M1.161 8a6.84 6.84 0 1 0 6.842-6.84a.58.58 0 1 1 0-1.16a8 8 0 1 1-6.556 3.412l-.663-.577a.58.58 0 0 1 .227-.997l2.52-.69a.58.58 0 0 1 .728.633l-.332 2.592a.58.58 0 0 1-.956.364l-.643-.56A6.812 6.812 0 0 0 1.16 8z',
|
|
100
|
+
}),
|
|
101
|
+
h('path', {
|
|
102
|
+
d: 'M6.641 11.671V8.843h1.57l1.498 2.828h1.314L9.377 8.665c.897-.3 1.427-1.106 1.427-2.1c0-1.37-.943-2.246-2.456-2.246H5.5v7.352h1.141zm0-3.75V5.277h1.57c.881 0 1.416.499 1.416 1.32c0 .84-.504 1.324-1.386 1.324h-1.6z',
|
|
103
|
+
}),
|
|
104
|
+
]),
|
|
105
|
+
]);
|
|
106
|
+
|
|
107
|
+
export const FeAlignCenter: FunctionalComponent = () =>
|
|
108
|
+
h('svg', { width: '1em', height: '1em', viewBox: '0 0 24 24' }, [
|
|
109
|
+
h('path', {
|
|
110
|
+
fill: '#888888',
|
|
111
|
+
'fill-rule': 'evenodd',
|
|
112
|
+
d: 'M11 13v-2H6.286C5.023 11 4 10.105 4 9s1.023-2 2.286-2H11V3a1 1 0 0 1 2 0v4h4.714C18.977 7 20 7.895 20 9s-1.023 2-2.286 2H13v2h3a2 2 0 1 1 0 4h-3v4a1 1 0 0 1-2 0v-4H8a2 2 0 1 1 0-4h3Z',
|
|
113
|
+
}),
|
|
114
|
+
]);
|
|
115
|
+
|
|
116
|
+
export const IconPlus: FunctionalComponent = () =>
|
|
117
|
+
h(
|
|
118
|
+
'svg',
|
|
119
|
+
{ class: 'fg-icon-plus', width: '14', height: '14', viewBox: '0 0 24 24', fill: 'none' },
|
|
120
|
+
[
|
|
121
|
+
h('circle', { cx: '12', cy: '12', r: '11', fill: '#fff' }),
|
|
122
|
+
h('path', {
|
|
123
|
+
d: 'M12 7v10M7 12h10',
|
|
124
|
+
stroke: '#3370ff',
|
|
125
|
+
'stroke-width': '2',
|
|
126
|
+
'stroke-linecap': 'round',
|
|
127
|
+
}),
|
|
128
|
+
]
|
|
129
|
+
);
|
|
130
|
+
|
|
131
|
+
export const IconChevronLeft: FunctionalComponent = () =>
|
|
132
|
+
h('svg', { width: '12', height: '12', viewBox: '0 0 24 24', fill: 'none' }, [
|
|
133
|
+
h('path', {
|
|
134
|
+
d: 'M15 6l-6 6 6 6',
|
|
135
|
+
stroke: 'currentColor',
|
|
136
|
+
'stroke-width': '2',
|
|
137
|
+
'stroke-linecap': 'round',
|
|
138
|
+
'stroke-linejoin': 'round',
|
|
139
|
+
}),
|
|
140
|
+
]);
|
|
141
|
+
|
|
142
|
+
export function Arrow({ color, circleColor }: { color: string; circleColor: string }) {
|
|
143
|
+
return h('svg', { width: '16', height: '16', viewBox: '0 0 16 16', fill: 'none' }, [
|
|
144
|
+
h('circle', { cx: '8', cy: '8', r: '7', fill: circleColor }),
|
|
145
|
+
h('path', {
|
|
146
|
+
fill: color,
|
|
147
|
+
d: 'M10.8281 9.4715C11.0883 9.21131 11.0885 8.78909 10.8291 8.52804C10.6413 8.33892 10.4536 8.14952 10.266 7.9601C9.66706 7.35551 9.06799 6.75079 8.46068 6.15496C8.20439 5.90352 7.7947 5.90352 7.53841 6.15496C6.93103 6.75085 6.33191 7.35564 5.73291 7.96029C5.5454 8.14957 5.3579 8.33884 5.17017 8.52782C4.91075 8.78895 4.91096 9.21099 5.17124 9.47127C5.43152 9.73155 5.85355 9.73176 6.11383 9.47148L7.99955 7.58576L9.88548 9.4717C10.1457 9.73189 10.5679 9.73169 10.8281 9.4715Z',
|
|
148
|
+
}),
|
|
149
|
+
h('path', {
|
|
150
|
+
fill: color,
|
|
151
|
+
d: 'M0.888672 7.99997C0.888672 4.07261 4.07242 0.888855 7.99978 0.888855C11.9271 0.888855 15.1109 4.07261 15.1109 7.99997C15.1109 11.9273 11.9271 15.1111 7.99978 15.1111C4.07242 15.1111 0.888672 11.9273 0.888672 7.99997ZM13.818 7.99997C13.818 4.78667 11.2131 2.18178 7.99978 2.18178C4.78649 2.18178 2.1816 4.78667 2.1816 7.99997C2.1816 11.2133 4.78649 13.8181 7.99978 13.8181C11.2131 13.8181 13.818 11.2133 13.818 7.99997Z',
|
|
152
|
+
}),
|
|
153
|
+
]);
|
|
154
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2025 Bytedance Ltd. and/or its affiliates
|
|
3
|
+
* SPDX-License-Identifier: MIT
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
export { Ellipse } from './ellipsis';
|
|
7
|
+
export {
|
|
8
|
+
Arrow,
|
|
9
|
+
IconStyleBorder,
|
|
10
|
+
IconParkRightBranch,
|
|
11
|
+
PhCircleBold,
|
|
12
|
+
BiCloud,
|
|
13
|
+
BiBootstrapReboot,
|
|
14
|
+
FeAlignCenter,
|
|
15
|
+
IconPlus,
|
|
16
|
+
IconChevronLeft,
|
|
17
|
+
} from './icons';
|