@kubex/zinc 1.1.22 → 1.1.24

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.
Files changed (48) hide show
  1. package/custom-elements-manifest.config.js +2 -4
  2. package/dist/custom-elements.json +1172 -78
  3. package/dist/vscode.html-custom-data.json +34 -13
  4. package/dist/web-types.json +135 -26
  5. package/dist/zn.d.ts +867 -1
  6. package/dist/zn.min.js +893 -481
  7. package/docs/_includes/default.njk +1 -0
  8. package/docs/_includes/full-page.njk +38 -0
  9. package/docs/pages/components/flow-builder-demo.njk +194 -0
  10. package/docs/pages/components/flow-builder-troubleshooter-demo.njk +282 -0
  11. package/docs/pages/components/flow-builder.md +377 -0
  12. package/package.json +1 -1
  13. package/src/components/button/button.component.ts +1 -2
  14. package/src/components/button/button.scss +6 -16
  15. package/src/components/collapsible/collapsible.component.ts +11 -6
  16. package/src/components/data-table/data-table.component.ts +12 -12
  17. package/src/components/flow-builder/flow-builder.component.ts +1171 -0
  18. package/src/components/flow-builder/flow-builder.scss +489 -0
  19. package/src/components/flow-builder/flow-builder.test.ts +59 -0
  20. package/src/components/flow-builder/flow-layout.ts +139 -0
  21. package/src/components/flow-builder/flow-registry.ts +52 -0
  22. package/src/components/flow-builder/flow.types.ts +407 -0
  23. package/src/components/flow-builder/index.ts +14 -0
  24. package/src/components/flow-builder/modules/flow-canvas/flow-canvas.component.ts +1086 -0
  25. package/src/components/flow-builder/modules/flow-canvas/flow-canvas.scss +371 -0
  26. package/src/components/flow-builder/modules/flow-canvas/flow-canvas.test.ts +39 -0
  27. package/src/components/flow-builder/modules/flow-canvas/index.ts +12 -0
  28. package/src/components/flow-builder/modules/flow-node/flow-node.component.ts +174 -0
  29. package/src/components/flow-builder/modules/flow-node/flow-node.scss +180 -0
  30. package/src/components/flow-builder/modules/flow-node/flow-node.test.ts +50 -0
  31. package/src/components/flow-builder/modules/flow-node/index.ts +12 -0
  32. package/src/components/flow-builder/modules/flow-step/flow-step.component.ts +88 -0
  33. package/src/components/flow-builder/modules/flow-step/flow-step.scss +52 -0
  34. package/src/components/flow-builder/modules/flow-step/flow-step.test.ts +21 -0
  35. package/src/components/flow-builder/modules/flow-step/index.ts +12 -0
  36. package/src/components/flow-builder/modules/flow-step-group/flow-step-group.component.ts +35 -0
  37. package/src/components/flow-builder/modules/flow-step-group/flow-step-group.scss +28 -0
  38. package/src/components/flow-builder/modules/flow-step-group/flow-step-group.test.ts +20 -0
  39. package/src/components/flow-builder/modules/flow-step-group/index.ts +12 -0
  40. package/src/components/flow-builder/modules/flow-steps/flow-steps.component.ts +88 -0
  41. package/src/components/flow-builder/modules/flow-steps/flow-steps.scss +24 -0
  42. package/src/components/flow-builder/modules/flow-steps/flow-steps.test.ts +17 -0
  43. package/src/components/flow-builder/modules/flow-steps/index.ts +12 -0
  44. package/src/events/events.ts +3 -0
  45. package/src/events/zn-flow-change.ts +9 -0
  46. package/src/events/zn-flow-connect.ts +9 -0
  47. package/src/events/zn-flow-selection-change.ts +7 -0
  48. package/src/zinc.ts +4 -0
@@ -47,6 +47,79 @@
47
47
  }
48
48
  ]
49
49
  },
50
+ {
51
+ "kind": "javascript-module",
52
+ "path": "components/action-bar/action-bar.js",
53
+ "declarations": [
54
+ {
55
+ "kind": "class",
56
+ "description": "",
57
+ "name": "ZnActionBar",
58
+ "cssProperties": [
59
+ {
60
+ "description": "An example CSS custom property.",
61
+ "name": "--example"
62
+ }
63
+ ],
64
+ "cssParts": [
65
+ {
66
+ "description": "The component's base wrapper.",
67
+ "name": "base"
68
+ }
69
+ ],
70
+ "slots": [
71
+ {
72
+ "description": "The default slot.",
73
+ "name": ""
74
+ },
75
+ {
76
+ "description": "An example slot.",
77
+ "name": "example"
78
+ }
79
+ ],
80
+ "members": [
81
+ {
82
+ "kind": "field",
83
+ "name": "localize",
84
+ "privacy": "private",
85
+ "readonly": true,
86
+ "default": "new LocalizeController(this)"
87
+ }
88
+ ],
89
+ "events": [
90
+ {
91
+ "description": "Emitted as an example.",
92
+ "name": "zn-event-name"
93
+ }
94
+ ],
95
+ "superclass": {
96
+ "name": "ZincElement",
97
+ "module": "/src/internal/zinc-element"
98
+ },
99
+ "summary": "Short summary of the component's intended use.",
100
+ "tagNameWithoutPrefix": "action-bar",
101
+ "tagName": "zn-action-bar",
102
+ "customElement": true,
103
+ "jsDoc": "/**\n * @summary Short summary of the component's intended use.\n * @documentation https://zinc.style/components/action-bar\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-example\n *\n * @event zn-event-name - Emitted as an example.\n *\n * @slot - The default slot.\n * @slot example - An example slot.\n *\n * @csspart base - The component's base wrapper.\n *\n * @cssproperty --example - An example CSS custom property.\n */",
104
+ "documentation": "https://zinc.style/components/action-bar",
105
+ "status": "experimental",
106
+ "since": "1.0",
107
+ "dependencies": [
108
+ "zn-example"
109
+ ]
110
+ }
111
+ ],
112
+ "exports": [
113
+ {
114
+ "kind": "js",
115
+ "name": "default",
116
+ "declaration": {
117
+ "name": "ZnActionBar",
118
+ "module": "components/action-bar/action-bar.js"
119
+ }
120
+ }
121
+ ]
122
+ },
50
123
  {
51
124
  "kind": "javascript-module",
52
125
  "path": "components/alert/alert.js",
@@ -223,79 +296,6 @@
223
296
  }
224
297
  ]
225
298
  },
226
- {
227
- "kind": "javascript-module",
228
- "path": "components/action-bar/action-bar.js",
229
- "declarations": [
230
- {
231
- "kind": "class",
232
- "description": "",
233
- "name": "ZnActionBar",
234
- "cssProperties": [
235
- {
236
- "description": "An example CSS custom property.",
237
- "name": "--example"
238
- }
239
- ],
240
- "cssParts": [
241
- {
242
- "description": "The component's base wrapper.",
243
- "name": "base"
244
- }
245
- ],
246
- "slots": [
247
- {
248
- "description": "The default slot.",
249
- "name": ""
250
- },
251
- {
252
- "description": "An example slot.",
253
- "name": "example"
254
- }
255
- ],
256
- "members": [
257
- {
258
- "kind": "field",
259
- "name": "localize",
260
- "privacy": "private",
261
- "readonly": true,
262
- "default": "new LocalizeController(this)"
263
- }
264
- ],
265
- "events": [
266
- {
267
- "description": "Emitted as an example.",
268
- "name": "zn-event-name"
269
- }
270
- ],
271
- "superclass": {
272
- "name": "ZincElement",
273
- "module": "/src/internal/zinc-element"
274
- },
275
- "summary": "Short summary of the component's intended use.",
276
- "tagNameWithoutPrefix": "action-bar",
277
- "tagName": "zn-action-bar",
278
- "customElement": true,
279
- "jsDoc": "/**\n * @summary Short summary of the component's intended use.\n * @documentation https://zinc.style/components/action-bar\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-example\n *\n * @event zn-event-name - Emitted as an example.\n *\n * @slot - The default slot.\n * @slot example - An example slot.\n *\n * @csspart base - The component's base wrapper.\n *\n * @cssproperty --example - An example CSS custom property.\n */",
280
- "documentation": "https://zinc.style/components/action-bar",
281
- "status": "experimental",
282
- "since": "1.0",
283
- "dependencies": [
284
- "zn-example"
285
- ]
286
- }
287
- ],
288
- "exports": [
289
- {
290
- "kind": "js",
291
- "name": "default",
292
- "declaration": {
293
- "name": "ZnActionBar",
294
- "module": "components/action-bar/action-bar.js"
295
- }
296
- }
297
- ]
298
- },
299
299
  {
300
300
  "kind": "javascript-module",
301
301
  "path": "components/animated-button/animated-button.js",
@@ -1283,7 +1283,7 @@
1283
1283
  "kind": "field",
1284
1284
  "name": "color",
1285
1285
  "type": {
1286
- "text": "'default' | 'primary' | 'secondary' | 'error' | 'info' | 'success' | 'warning' |\n 'transparent' | 'star' | 'white' | (string & Record<never, never>)"
1286
+ "text": "'default' | 'primary' | 'secondary' | 'error' | 'info' | 'success' | 'warning' |\n 'transparent' | 'star' | (string & Record<never, never>)"
1287
1287
  },
1288
1288
  "default": "'default'",
1289
1289
  "attribute": "color"
@@ -1764,7 +1764,7 @@
1764
1764
  {
1765
1765
  "name": "color",
1766
1766
  "type": {
1767
- "text": "'default' | 'primary' | 'secondary' | 'error' | 'info' | 'success' | 'warning' |\n 'transparent' | 'star' | 'white' | (string & Record<never, never>)"
1767
+ "text": "'default' | 'primary' | 'secondary' | 'error' | 'info' | 'success' | 'warning' |\n 'transparent' | 'star' | (string & Record<never, never>)"
1768
1768
  },
1769
1769
  "default": "'default'",
1770
1770
  "fieldName": "color"
@@ -5336,6 +5336,16 @@
5336
5336
  "kind": "class",
5337
5337
  "description": "",
5338
5338
  "name": "ZnCollapsible",
5339
+ "cssParts": [
5340
+ {
5341
+ "description": "The header row (toggle).",
5342
+ "name": "header"
5343
+ },
5344
+ {
5345
+ "description": "The caption text.",
5346
+ "name": "caption"
5347
+ }
5348
+ ],
5339
5349
  "slots": [
5340
5350
  {
5341
5351
  "description": "Clicking will toggle the show state of the data",
@@ -5469,7 +5479,7 @@
5469
5479
  "name": "hasSlotController",
5470
5480
  "privacy": "private",
5471
5481
  "readonly": true,
5472
- "default": "new HasSlotController(this, '[default]', 'header', 'caption', 'label')"
5482
+ "default": "new HasSlotController(this, '[default]', 'header', 'caption', 'label', 'description')"
5473
5483
  },
5474
5484
  {
5475
5485
  "kind": "field",
@@ -5597,7 +5607,7 @@
5597
5607
  "tagNameWithoutPrefix": "collapsible",
5598
5608
  "tagName": "zn-collapsible",
5599
5609
  "customElement": true,
5600
- "jsDoc": "/**\n * @summary Toggles between showing and hiding content when clicked\n * @documentation https://zinc.style/components/collapsible\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-icon - The icon element\n *\n * @slot header - Clicking will toggle the show state of the data\n *\n */",
5610
+ "jsDoc": "/**\n * @summary Toggles between showing and hiding content when clicked\n * @documentation https://zinc.style/components/collapsible\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-icon - The icon element\n *\n * @slot header - Clicking will toggle the show state of the data\n *\n * @csspart header - The header row (toggle).\n * @csspart caption - The caption text.\n */",
5601
5611
  "documentation": "https://zinc.style/components/collapsible",
5602
5612
  "status": "experimental",
5603
5613
  "since": "1.0",
@@ -13125,6 +13135,1090 @@
13125
13135
  }
13126
13136
  ]
13127
13137
  },
13138
+ {
13139
+ "kind": "javascript-module",
13140
+ "path": "components/flow-builder/flow-builder.js",
13141
+ "declarations": [
13142
+ {
13143
+ "kind": "class",
13144
+ "description": "",
13145
+ "name": "ZnFlowBuilder",
13146
+ "cssParts": [
13147
+ {
13148
+ "description": "The grid wrapper.",
13149
+ "name": "base"
13150
+ },
13151
+ {
13152
+ "description": "The full-width header action bar (only rendered when header slots are filled).",
13153
+ "name": "header"
13154
+ },
13155
+ {
13156
+ "description": "The left steps panel.",
13157
+ "name": "steps"
13158
+ },
13159
+ {
13160
+ "description": "The right panel while a node or branch is selected.",
13161
+ "name": "inspector"
13162
+ }
13163
+ ],
13164
+ "slots": [
13165
+ {
13166
+ "description": "`<zn-flow-step>` type declarations; never displayed, each `group`/`category` routes the step into the right tab and collapsible grouping of the rendered panel.",
13167
+ "name": ""
13168
+ },
13169
+ {
13170
+ "description": "Actions shown on the left of the header bar (e.g. Close / Undo All Changes).",
13171
+ "name": "header-left"
13172
+ },
13173
+ {
13174
+ "description": "Actions shown on the right of the header bar (e.g. Apply Changes).",
13175
+ "name": "header-right"
13176
+ },
13177
+ {
13178
+ "description": "Extra right-panel content (status, version history), below the configuration errors.",
13179
+ "name": "sidebar"
13180
+ }
13181
+ ],
13182
+ "members": [
13183
+ {
13184
+ "kind": "field",
13185
+ "name": "dependencies",
13186
+ "type": {
13187
+ "text": "object"
13188
+ },
13189
+ "static": true,
13190
+ "default": "{ 'zn-icon': ZnIcon, 'zn-input': ZnInput, 'zn-tabs': ZnTabs, 'zn-navbar': ZnNavbar, 'zn-flow-canvas': ZnFlowCanvas, 'zn-flow-step-group': ZnFlowStepGroup, }"
13191
+ },
13192
+ {
13193
+ "kind": "field",
13194
+ "name": "nodeTypes",
13195
+ "type": {
13196
+ "text": "FlowNodeType[]"
13197
+ },
13198
+ "default": "[]",
13199
+ "description": "Node types to make available, registered into the internal registry."
13200
+ },
13201
+ {
13202
+ "kind": "field",
13203
+ "name": "heading",
13204
+ "type": {
13205
+ "text": "string"
13206
+ },
13207
+ "default": "''",
13208
+ "attribute": "heading",
13209
+ "reflects": true
13210
+ },
13211
+ {
13212
+ "kind": "field",
13213
+ "name": "subheading",
13214
+ "type": {
13215
+ "text": "string"
13216
+ },
13217
+ "default": "''",
13218
+ "attribute": "subheading",
13219
+ "reflects": true
13220
+ },
13221
+ {
13222
+ "kind": "field",
13223
+ "name": "errorNodes",
13224
+ "type": {
13225
+ "text": "string[]"
13226
+ },
13227
+ "default": "[]",
13228
+ "description": "Node ids flagged as having configuration errors (drives the red node styling)."
13229
+ },
13230
+ {
13231
+ "kind": "field",
13232
+ "name": "entrypointsHint",
13233
+ "type": {
13234
+ "text": "string"
13235
+ },
13236
+ "default": "''",
13237
+ "description": "Optional hint shown beneath each steps-panel tab.",
13238
+ "attribute": "entrypoints-hint"
13239
+ },
13240
+ {
13241
+ "kind": "field",
13242
+ "name": "triggersHint",
13243
+ "type": {
13244
+ "text": "string"
13245
+ },
13246
+ "default": "''",
13247
+ "attribute": "triggers-hint"
13248
+ },
13249
+ {
13250
+ "kind": "field",
13251
+ "name": "actionsHint",
13252
+ "type": {
13253
+ "text": "string"
13254
+ },
13255
+ "default": "''",
13256
+ "attribute": "actions-hint"
13257
+ },
13258
+ {
13259
+ "kind": "field",
13260
+ "name": "rulesHint",
13261
+ "type": {
13262
+ "text": "string"
13263
+ },
13264
+ "default": "''",
13265
+ "attribute": "rules-hint"
13266
+ },
13267
+ {
13268
+ "kind": "field",
13269
+ "name": "registry",
13270
+ "privacy": "private",
13271
+ "default": "new FlowRegistry()"
13272
+ },
13273
+ {
13274
+ "kind": "field",
13275
+ "name": "_state",
13276
+ "type": {
13277
+ "text": "FlowState"
13278
+ },
13279
+ "privacy": "private"
13280
+ },
13281
+ {
13282
+ "kind": "field",
13283
+ "name": "_selectedNodeId",
13284
+ "type": {
13285
+ "text": "string | null"
13286
+ },
13287
+ "privacy": "private",
13288
+ "default": "null"
13289
+ },
13290
+ {
13291
+ "kind": "field",
13292
+ "name": "_selectedBranch",
13293
+ "type": {
13294
+ "text": "{ nodeId: string; port: string } | null"
13295
+ },
13296
+ "privacy": "private",
13297
+ "default": "null",
13298
+ "description": "The output branch open in the branch editor, if any."
13299
+ },
13300
+ {
13301
+ "kind": "field",
13302
+ "name": "_search",
13303
+ "type": {
13304
+ "text": "string"
13305
+ },
13306
+ "privacy": "private",
13307
+ "default": "''"
13308
+ },
13309
+ {
13310
+ "kind": "field",
13311
+ "name": "_activeGroup",
13312
+ "type": {
13313
+ "text": "FlowGroup | null"
13314
+ },
13315
+ "privacy": "private",
13316
+ "default": "null",
13317
+ "description": "The steps-panel tab currently shown; the search only filters this tab."
13318
+ },
13319
+ {
13320
+ "kind": "field",
13321
+ "name": "_hasSlot",
13322
+ "privacy": "private",
13323
+ "readonly": true,
13324
+ "default": "new HasSlotController(this, 'header-left', 'header-right')"
13325
+ },
13326
+ {
13327
+ "kind": "field",
13328
+ "name": "_movingNodeId",
13329
+ "type": {
13330
+ "text": "string | null"
13331
+ },
13332
+ "privacy": "private",
13333
+ "default": "null",
13334
+ "description": "The node being relocated via the MOVE menu action, if any."
13335
+ },
13336
+ {
13337
+ "kind": "field",
13338
+ "name": "_picker",
13339
+ "type": {
13340
+ "text": "{ x: number; y: number; target: PickerTarget } | null"
13341
+ },
13342
+ "privacy": "private",
13343
+ "default": "null",
13344
+ "description": "The \"+\" picker popover target (an open output, or a wire to insert into), if open."
13345
+ },
13346
+ {
13347
+ "kind": "field",
13348
+ "name": "_draggingType",
13349
+ "type": {
13350
+ "text": "string | null"
13351
+ },
13352
+ "privacy": "private",
13353
+ "default": "null",
13354
+ "description": "The node type currently being dragged from the steps panel, for the canvas drop preview."
13355
+ },
13356
+ {
13357
+ "kind": "field",
13358
+ "name": "_history",
13359
+ "type": {
13360
+ "text": "FlowState[]"
13361
+ },
13362
+ "privacy": "private",
13363
+ "default": "[]"
13364
+ },
13365
+ {
13366
+ "kind": "field",
13367
+ "name": "_redo",
13368
+ "type": {
13369
+ "text": "FlowState[]"
13370
+ },
13371
+ "privacy": "private",
13372
+ "default": "[]"
13373
+ },
13374
+ {
13375
+ "kind": "field",
13376
+ "name": "_seq",
13377
+ "type": {
13378
+ "text": "number"
13379
+ },
13380
+ "privacy": "private",
13381
+ "default": "0"
13382
+ },
13383
+ {
13384
+ "kind": "field",
13385
+ "name": "_untangleRaf",
13386
+ "type": {
13387
+ "text": "number | null"
13388
+ },
13389
+ "privacy": "private",
13390
+ "default": "null"
13391
+ },
13392
+ {
13393
+ "kind": "field",
13394
+ "name": "_untangleSettle",
13395
+ "type": {
13396
+ "text": "(() => void) | null"
13397
+ },
13398
+ "privacy": "private",
13399
+ "default": "null",
13400
+ "description": "Applies the in-flight untangle's final positions; used when it's cut short."
13401
+ },
13402
+ {
13403
+ "kind": "field",
13404
+ "name": "_configRevision",
13405
+ "type": {
13406
+ "text": "number"
13407
+ },
13408
+ "privacy": "private",
13409
+ "default": "0",
13410
+ "description": "Bumped whenever the state is replaced wholesale (undo / redo / setState) so the\nguarded renderConfig / renderBranchConfig bodies rebuild against the fresh node\nobjects. Value edits don't bump it — the consumer's config DOM stays in place,\nwhich is what lets its inputs commit live without losing focus."
13411
+ },
13412
+ {
13413
+ "kind": "field",
13414
+ "name": "_listeners",
13415
+ "type": {
13416
+ "text": "[string, EventListener][]"
13417
+ },
13418
+ "privacy": "private",
13419
+ "readonly": true
13420
+ },
13421
+ {
13422
+ "kind": "field",
13423
+ "name": "_onKeyDown",
13424
+ "privacy": "private"
13425
+ },
13426
+ {
13427
+ "kind": "method",
13428
+ "name": "_parsePorts",
13429
+ "privacy": "private",
13430
+ "static": true,
13431
+ "return": {
13432
+ "type": {
13433
+ "text": "FlowPort[] | undefined"
13434
+ }
13435
+ },
13436
+ "parameters": [
13437
+ {
13438
+ "name": "attr",
13439
+ "type": {
13440
+ "text": "string | null"
13441
+ }
13442
+ }
13443
+ ]
13444
+ },
13445
+ {
13446
+ "kind": "method",
13447
+ "name": "_typeFromStep",
13448
+ "privacy": "private",
13449
+ "return": {
13450
+ "type": {
13451
+ "text": "FlowNodeType | null"
13452
+ }
13453
+ },
13454
+ "parameters": [
13455
+ {
13456
+ "name": "el",
13457
+ "type": {
13458
+ "text": "Element"
13459
+ }
13460
+ }
13461
+ ]
13462
+ },
13463
+ {
13464
+ "kind": "field",
13465
+ "name": "_registerSlottedTypes",
13466
+ "privacy": "private",
13467
+ "description": "Register a FlowNodeType for every slotted <zn-flow-step>."
13468
+ },
13469
+ {
13470
+ "kind": "method",
13471
+ "name": "registerNodeType",
13472
+ "return": {
13473
+ "type": {
13474
+ "text": "this"
13475
+ }
13476
+ },
13477
+ "parameters": [
13478
+ {
13479
+ "name": "type",
13480
+ "type": {
13481
+ "text": "FlowNodeType"
13482
+ }
13483
+ }
13484
+ ]
13485
+ },
13486
+ {
13487
+ "kind": "method",
13488
+ "name": "registerNodeTypes",
13489
+ "return": {
13490
+ "type": {
13491
+ "text": "this"
13492
+ }
13493
+ },
13494
+ "parameters": [
13495
+ {
13496
+ "name": "types",
13497
+ "type": {
13498
+ "text": "FlowNodeType[]"
13499
+ }
13500
+ }
13501
+ ]
13502
+ },
13503
+ {
13504
+ "kind": "method",
13505
+ "name": "getState",
13506
+ "return": {
13507
+ "type": {
13508
+ "text": "FlowState"
13509
+ }
13510
+ }
13511
+ },
13512
+ {
13513
+ "kind": "method",
13514
+ "name": "setState",
13515
+ "parameters": [
13516
+ {
13517
+ "name": "next",
13518
+ "type": {
13519
+ "text": "FlowState"
13520
+ }
13521
+ }
13522
+ ]
13523
+ },
13524
+ {
13525
+ "kind": "field",
13526
+ "name": "value",
13527
+ "type": {
13528
+ "text": "string"
13529
+ }
13530
+ },
13531
+ {
13532
+ "kind": "field",
13533
+ "name": "undo"
13534
+ },
13535
+ {
13536
+ "kind": "field",
13537
+ "name": "redo"
13538
+ },
13539
+ {
13540
+ "kind": "field",
13541
+ "name": "untangle",
13542
+ "description": "Auto-arrange the nodes into evenly spaced layers that follow the flow,\nanimating them into place (wires and pills track them since everything is\nderived from the node coordinates). Undoable as a single step."
13543
+ },
13544
+ {
13545
+ "kind": "method",
13546
+ "name": "_cancelUntangle",
13547
+ "privacy": "private"
13548
+ },
13549
+ {
13550
+ "kind": "method",
13551
+ "name": "_clone",
13552
+ "privacy": "private",
13553
+ "return": {
13554
+ "type": {
13555
+ "text": "FlowState"
13556
+ }
13557
+ },
13558
+ "parameters": [
13559
+ {
13560
+ "name": "s",
13561
+ "type": {
13562
+ "text": "FlowState"
13563
+ }
13564
+ }
13565
+ ]
13566
+ },
13567
+ {
13568
+ "kind": "method",
13569
+ "name": "_pushHistory",
13570
+ "privacy": "private"
13571
+ },
13572
+ {
13573
+ "kind": "field",
13574
+ "name": "_commit",
13575
+ "privacy": "private"
13576
+ },
13577
+ {
13578
+ "kind": "method",
13579
+ "name": "_pruneConnections",
13580
+ "privacy": "private",
13581
+ "description": "Drop connections whose endpoints reference ports that no longer exist — e.g.\nafter a user removes a node's output (branch) via its config."
13582
+ },
13583
+ {
13584
+ "kind": "method",
13585
+ "name": "_syncSelection",
13586
+ "privacy": "private"
13587
+ },
13588
+ {
13589
+ "kind": "method",
13590
+ "name": "_branchSelection",
13591
+ "privacy": "private",
13592
+ "return": {
13593
+ "type": {
13594
+ "text": "{ node: FlowNodeInstance; port: FlowPort } | null"
13595
+ }
13596
+ },
13597
+ "description": "The node + output port of the branch open in the editor, if both still exist."
13598
+ },
13599
+ {
13600
+ "kind": "method",
13601
+ "name": "_id",
13602
+ "privacy": "private",
13603
+ "return": {
13604
+ "type": {
13605
+ "text": "string"
13606
+ }
13607
+ },
13608
+ "parameters": [
13609
+ {
13610
+ "name": "prefix",
13611
+ "type": {
13612
+ "text": "string"
13613
+ }
13614
+ }
13615
+ ]
13616
+ },
13617
+ {
13618
+ "kind": "method",
13619
+ "name": "_freePosition",
13620
+ "privacy": "private",
13621
+ "return": {
13622
+ "type": {
13623
+ "text": "{ x: number; y: number }"
13624
+ }
13625
+ },
13626
+ "parameters": [
13627
+ {
13628
+ "name": "x",
13629
+ "type": {
13630
+ "text": "number"
13631
+ }
13632
+ },
13633
+ {
13634
+ "name": "y",
13635
+ "type": {
13636
+ "text": "number"
13637
+ }
13638
+ },
13639
+ {
13640
+ "name": "excludeId",
13641
+ "optional": true,
13642
+ "type": {
13643
+ "text": "string"
13644
+ }
13645
+ }
13646
+ ],
13647
+ "description": "Snap to the grid and, if another node's footprint (card or branch pills)\noccupies the spot, walk outward in grid-step rings to the nearest free one."
13648
+ },
13649
+ {
13650
+ "kind": "method",
13651
+ "name": "_addNode",
13652
+ "privacy": "private",
13653
+ "parameters": [
13654
+ {
13655
+ "name": "typeKey",
13656
+ "type": {
13657
+ "text": "string"
13658
+ }
13659
+ },
13660
+ {
13661
+ "name": "x",
13662
+ "type": {
13663
+ "text": "number"
13664
+ }
13665
+ },
13666
+ {
13667
+ "name": "y",
13668
+ "type": {
13669
+ "text": "number"
13670
+ }
13671
+ }
13672
+ ]
13673
+ },
13674
+ {
13675
+ "kind": "method",
13676
+ "name": "_deleteNode",
13677
+ "privacy": "private",
13678
+ "parameters": [
13679
+ {
13680
+ "name": "id",
13681
+ "type": {
13682
+ "text": "string"
13683
+ }
13684
+ }
13685
+ ]
13686
+ },
13687
+ {
13688
+ "kind": "method",
13689
+ "name": "_duplicateNode",
13690
+ "privacy": "private",
13691
+ "parameters": [
13692
+ {
13693
+ "name": "id",
13694
+ "type": {
13695
+ "text": "string"
13696
+ }
13697
+ }
13698
+ ]
13699
+ },
13700
+ {
13701
+ "kind": "method",
13702
+ "name": "_positionBelowOutput",
13703
+ "privacy": "private",
13704
+ "return": {
13705
+ "type": {
13706
+ "text": "{ x: number; y: number }"
13707
+ }
13708
+ },
13709
+ "parameters": [
13710
+ {
13711
+ "name": "source",
13712
+ "type": {
13713
+ "text": "FlowNodeInstance"
13714
+ }
13715
+ },
13716
+ {
13717
+ "name": "port",
13718
+ "type": {
13719
+ "text": "string"
13720
+ }
13721
+ }
13722
+ ],
13723
+ "description": "Canvas position for a node newly placed off a source node's output."
13724
+ },
13725
+ {
13726
+ "kind": "method",
13727
+ "name": "_ensureOutput",
13728
+ "privacy": "private",
13729
+ "return": {
13730
+ "type": {
13731
+ "text": "string"
13732
+ }
13733
+ },
13734
+ "parameters": [
13735
+ {
13736
+ "name": "node",
13737
+ "type": {
13738
+ "text": "FlowNodeInstance"
13739
+ }
13740
+ },
13741
+ {
13742
+ "name": "port",
13743
+ "type": {
13744
+ "text": "string"
13745
+ }
13746
+ }
13747
+ ],
13748
+ "description": "Resolve an output port id on a node: the \"new branch\" sentinel materialises a\nfresh, labelled output port (per-instance), so it exists before connecting."
13749
+ },
13750
+ {
13751
+ "kind": "method",
13752
+ "name": "_ensureBranchLabel",
13753
+ "privacy": "private",
13754
+ "parameters": [
13755
+ {
13756
+ "name": "node",
13757
+ "type": {
13758
+ "text": "FlowNodeInstance"
13759
+ }
13760
+ },
13761
+ {
13762
+ "name": "port",
13763
+ "type": {
13764
+ "text": "string"
13765
+ }
13766
+ }
13767
+ ],
13768
+ "description": "Every connected output is a configurable branch — default its name so the\npill renders, however the connection was made (arrow, drop, or move)."
13769
+ },
13770
+ {
13771
+ "kind": "method",
13772
+ "name": "_addNodeAtOutput",
13773
+ "privacy": "private",
13774
+ "parameters": [
13775
+ {
13776
+ "name": "sourceId",
13777
+ "type": {
13778
+ "text": "string"
13779
+ }
13780
+ },
13781
+ {
13782
+ "name": "port",
13783
+ "type": {
13784
+ "text": "string"
13785
+ }
13786
+ },
13787
+ {
13788
+ "name": "typeKey",
13789
+ "type": {
13790
+ "text": "string"
13791
+ }
13792
+ }
13793
+ ],
13794
+ "description": "Create a node and attach it to an open output slot of an existing node."
13795
+ },
13796
+ {
13797
+ "kind": "method",
13798
+ "name": "_linkNodeAtOutput",
13799
+ "privacy": "private",
13800
+ "parameters": [
13801
+ {
13802
+ "name": "sourceId",
13803
+ "type": {
13804
+ "text": "string"
13805
+ }
13806
+ },
13807
+ {
13808
+ "name": "port",
13809
+ "type": {
13810
+ "text": "string"
13811
+ }
13812
+ },
13813
+ {
13814
+ "name": "targetId",
13815
+ "type": {
13816
+ "text": "string"
13817
+ }
13818
+ }
13819
+ ],
13820
+ "description": "Wire an open output to an existing node — targets its first input. Fan-in\nand loops (a branch pointing back to an earlier step) are both allowed;\nonly wiring a node directly to itself is refused."
13821
+ },
13822
+ {
13823
+ "kind": "method",
13824
+ "name": "_insertNodeOnWire",
13825
+ "privacy": "private",
13826
+ "parameters": [
13827
+ {
13828
+ "name": "connectionId",
13829
+ "type": {
13830
+ "text": "string"
13831
+ }
13832
+ },
13833
+ {
13834
+ "name": "typeKey",
13835
+ "type": {
13836
+ "text": "string"
13837
+ }
13838
+ }
13839
+ ],
13840
+ "description": "Insert a new node in the middle of an existing connection (split the wire)."
13841
+ },
13842
+ {
13843
+ "kind": "method",
13844
+ "name": "_select",
13845
+ "privacy": "private",
13846
+ "parameters": [
13847
+ {
13848
+ "name": "id",
13849
+ "type": {
13850
+ "text": "string | null"
13851
+ }
13852
+ }
13853
+ ]
13854
+ },
13855
+ {
13856
+ "kind": "field",
13857
+ "name": "_onBranchPick",
13858
+ "privacy": "private"
13859
+ },
13860
+ {
13861
+ "kind": "field",
13862
+ "name": "_onBranchDelete",
13863
+ "privacy": "private",
13864
+ "description": "Remove an output branch and its wire. Undoable."
13865
+ },
13866
+ {
13867
+ "kind": "field",
13868
+ "name": "_onSelect",
13869
+ "privacy": "private"
13870
+ },
13871
+ {
13872
+ "kind": "field",
13873
+ "name": "_onNodeAction",
13874
+ "privacy": "private"
13875
+ },
13876
+ {
13877
+ "kind": "field",
13878
+ "name": "_onInteractionStart",
13879
+ "privacy": "private"
13880
+ },
13881
+ {
13882
+ "kind": "field",
13883
+ "name": "_onOutputAssign",
13884
+ "privacy": "private"
13885
+ },
13886
+ {
13887
+ "kind": "field",
13888
+ "name": "_onLinkAssign",
13889
+ "privacy": "private",
13890
+ "description": "A stray branch was attached to an existing node (fan-in)."
13891
+ },
13892
+ {
13893
+ "kind": "field",
13894
+ "name": "_onWirePick",
13895
+ "privacy": "private"
13896
+ },
13897
+ {
13898
+ "kind": "field",
13899
+ "name": "_onWireAssign",
13900
+ "privacy": "private"
13901
+ },
13902
+ {
13903
+ "kind": "field",
13904
+ "name": "_onOutputMoveTarget",
13905
+ "privacy": "private",
13906
+ "description": "Re-attach the node being moved to the chosen open output slot."
13907
+ },
13908
+ {
13909
+ "kind": "field",
13910
+ "name": "_onAddNote",
13911
+ "privacy": "private"
13912
+ },
13913
+ {
13914
+ "kind": "field",
13915
+ "name": "_onNoteChange",
13916
+ "privacy": "private"
13917
+ },
13918
+ {
13919
+ "kind": "field",
13920
+ "name": "_onNoteDelete",
13921
+ "privacy": "private"
13922
+ },
13923
+ {
13924
+ "kind": "method",
13925
+ "name": "_onDragStart",
13926
+ "privacy": "private",
13927
+ "parameters": [
13928
+ {
13929
+ "name": "e",
13930
+ "type": {
13931
+ "text": "DragEvent"
13932
+ }
13933
+ },
13934
+ {
13935
+ "name": "typeKey",
13936
+ "type": {
13937
+ "text": "string"
13938
+ }
13939
+ }
13940
+ ]
13941
+ },
13942
+ {
13943
+ "kind": "field",
13944
+ "name": "_onDragEnd",
13945
+ "privacy": "private"
13946
+ },
13947
+ {
13948
+ "kind": "field",
13949
+ "name": "_onStepDrag",
13950
+ "privacy": "private"
13951
+ },
13952
+ {
13953
+ "kind": "field",
13954
+ "name": "_onCanvasDragOver",
13955
+ "privacy": "private"
13956
+ },
13957
+ {
13958
+ "kind": "field",
13959
+ "name": "_onCanvasDrop",
13960
+ "privacy": "private"
13961
+ },
13962
+ {
13963
+ "kind": "method",
13964
+ "name": "_renderSteps",
13965
+ "privacy": "private"
13966
+ },
13967
+ {
13968
+ "kind": "method",
13969
+ "name": "_hintFor",
13970
+ "privacy": "private",
13971
+ "return": {
13972
+ "type": {
13973
+ "text": "string"
13974
+ }
13975
+ },
13976
+ "parameters": [
13977
+ {
13978
+ "name": "group",
13979
+ "type": {
13980
+ "text": "FlowGroup"
13981
+ }
13982
+ }
13983
+ ]
13984
+ },
13985
+ {
13986
+ "kind": "method",
13987
+ "name": "_renderStep",
13988
+ "privacy": "private",
13989
+ "parameters": [
13990
+ {
13991
+ "name": "type",
13992
+ "type": {
13993
+ "text": "FlowNodeType"
13994
+ }
13995
+ }
13996
+ ]
13997
+ },
13998
+ {
13999
+ "kind": "method",
14000
+ "name": "_renderStepsContent",
14001
+ "privacy": "private"
14002
+ },
14003
+ {
14004
+ "kind": "method",
14005
+ "name": "_renderStepsPanel",
14006
+ "privacy": "private",
14007
+ "parameters": [
14008
+ {
14009
+ "name": "group",
14010
+ "type": {
14011
+ "text": "FlowGroup"
14012
+ }
14013
+ },
14014
+ {
14015
+ "name": "panelId",
14016
+ "type": {
14017
+ "text": "string"
14018
+ }
14019
+ },
14020
+ {
14021
+ "name": "active",
14022
+ "type": {
14023
+ "text": "boolean"
14024
+ }
14025
+ }
14026
+ ]
14027
+ },
14028
+ {
14029
+ "kind": "method",
14030
+ "name": "_renderInspector",
14031
+ "privacy": "private",
14032
+ "parameters": [
14033
+ {
14034
+ "name": "node",
14035
+ "type": {
14036
+ "text": "FlowNodeInstance"
14037
+ }
14038
+ }
14039
+ ]
14040
+ },
14041
+ {
14042
+ "kind": "method",
14043
+ "name": "_updateBranch",
14044
+ "privacy": "private",
14045
+ "parameters": [
14046
+ {
14047
+ "name": "node",
14048
+ "type": {
14049
+ "text": "FlowNodeInstance"
14050
+ }
14051
+ },
14052
+ {
14053
+ "name": "portId",
14054
+ "type": {
14055
+ "text": "string"
14056
+ }
14057
+ },
14058
+ {
14059
+ "name": "patch",
14060
+ "type": {
14061
+ "text": "Partial<FlowPort>"
14062
+ }
14063
+ }
14064
+ ],
14065
+ "description": "Replace one of the node's output ports (per-instance override), keeping its id."
14066
+ },
14067
+ {
14068
+ "kind": "method",
14069
+ "name": "_renderBranchEditor",
14070
+ "privacy": "private",
14071
+ "parameters": [
14072
+ {
14073
+ "name": "node",
14074
+ "type": {
14075
+ "text": "FlowNodeInstance"
14076
+ }
14077
+ },
14078
+ {
14079
+ "name": "port",
14080
+ "type": {
14081
+ "text": "FlowPort"
14082
+ }
14083
+ }
14084
+ ]
14085
+ },
14086
+ {
14087
+ "kind": "method",
14088
+ "name": "_renderRightPanel",
14089
+ "privacy": "private"
14090
+ },
14091
+ {
14092
+ "kind": "method",
14093
+ "name": "_renderHeader",
14094
+ "privacy": "private"
14095
+ },
14096
+ {
14097
+ "kind": "method",
14098
+ "name": "_renderSidebar",
14099
+ "privacy": "private"
14100
+ },
14101
+ {
14102
+ "kind": "method",
14103
+ "name": "_renderPicker",
14104
+ "privacy": "private"
14105
+ },
14106
+ {
14107
+ "kind": "method",
14108
+ "name": "_pickType",
14109
+ "privacy": "private",
14110
+ "parameters": [
14111
+ {
14112
+ "name": "typeKey",
14113
+ "type": {
14114
+ "text": "string"
14115
+ }
14116
+ }
14117
+ ]
14118
+ }
14119
+ ],
14120
+ "events": [
14121
+ {
14122
+ "description": "Emitted whenever the flow state changes. `event.detail.state` is the new FlowState.",
14123
+ "name": "zn-flow-change"
14124
+ },
14125
+ {
14126
+ "description": "Emitted when the selected node changes. `event.detail.nodeId`.",
14127
+ "name": "zn-flow-selection-change"
14128
+ },
14129
+ {
14130
+ "description": "Emitted when a connection is created. `event.detail.connection`.",
14131
+ "name": "zn-flow-connect"
14132
+ }
14133
+ ],
14134
+ "attributes": [
14135
+ {
14136
+ "name": "heading",
14137
+ "type": {
14138
+ "text": "string"
14139
+ },
14140
+ "default": "''",
14141
+ "fieldName": "heading"
14142
+ },
14143
+ {
14144
+ "name": "subheading",
14145
+ "type": {
14146
+ "text": "string"
14147
+ },
14148
+ "default": "''",
14149
+ "fieldName": "subheading"
14150
+ },
14151
+ {
14152
+ "name": "entrypoints-hint",
14153
+ "type": {
14154
+ "text": "string"
14155
+ },
14156
+ "default": "''",
14157
+ "description": "Optional hint shown beneath each steps-panel tab.",
14158
+ "fieldName": "entrypointsHint"
14159
+ },
14160
+ {
14161
+ "name": "triggers-hint",
14162
+ "type": {
14163
+ "text": "string"
14164
+ },
14165
+ "default": "''",
14166
+ "fieldName": "triggersHint"
14167
+ },
14168
+ {
14169
+ "name": "actions-hint",
14170
+ "type": {
14171
+ "text": "string"
14172
+ },
14173
+ "default": "''",
14174
+ "fieldName": "actionsHint"
14175
+ },
14176
+ {
14177
+ "name": "rules-hint",
14178
+ "type": {
14179
+ "text": "string"
14180
+ },
14181
+ "default": "''",
14182
+ "fieldName": "rulesHint"
14183
+ }
14184
+ ],
14185
+ "superclass": {
14186
+ "name": "ZincElement",
14187
+ "module": "/src/internal/zinc-element"
14188
+ },
14189
+ "summary": "A drag-and-drop visual flow builder: steps panel, pan/zoom canvas, and a config inspector.",
14190
+ "tagNameWithoutPrefix": "flow-builder",
14191
+ "tagName": "zn-flow-builder",
14192
+ "customElement": true,
14193
+ "jsDoc": "/**\n * @summary A drag-and-drop visual flow builder: steps panel, pan/zoom canvas, and a config inspector.\n * @documentation https://zinc.style/components/flow-builder\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-icon\n * @dependency zn-input\n * @dependency zn-tabs\n * @dependency zn-navbar\n * @dependency zn-flow-canvas\n * @dependency zn-flow-node\n *\n * @event zn-flow-change - Emitted whenever the flow state changes. `event.detail.state` is the new FlowState.\n * @event zn-flow-selection-change - Emitted when the selected node changes. `event.detail.nodeId`.\n * @event zn-flow-connect - Emitted when a connection is created. `event.detail.connection`.\n *\n * @slot - `<zn-flow-step>` type declarations; never displayed, each `group`/`category` routes the\n * step into the right tab and collapsible grouping of the rendered panel.\n * @slot header-left - Actions shown on the left of the header bar (e.g. Close / Undo All Changes).\n * @slot header-right - Actions shown on the right of the header bar (e.g. Apply Changes).\n * @slot sidebar - Extra right-panel content (status, version history), below the configuration errors.\n *\n * @csspart base - The grid wrapper.\n * @csspart header - The full-width header action bar (only rendered when header slots are filled).\n * @csspart steps - The left steps panel.\n * @csspart inspector - The right panel while a node or branch is selected.\n */",
14194
+ "documentation": "https://zinc.style/components/flow-builder",
14195
+ "status": "experimental",
14196
+ "since": "1.0",
14197
+ "dependencies": [
14198
+ "zn-icon",
14199
+ "zn-input",
14200
+ "zn-tabs",
14201
+ "zn-navbar",
14202
+ "zn-flow-canvas",
14203
+ "zn-flow-node"
14204
+ ]
14205
+ },
14206
+ {
14207
+ "kind": "variable",
14208
+ "name": "port"
14209
+ }
14210
+ ],
14211
+ "exports": [
14212
+ {
14213
+ "kind": "js",
14214
+ "name": "default",
14215
+ "declaration": {
14216
+ "name": "ZnFlowBuilder",
14217
+ "module": "components/flow-builder/flow-builder.js"
14218
+ }
14219
+ }
14220
+ ]
14221
+ },
13128
14222
  {
13129
14223
  "kind": "javascript-module",
13130
14224
  "path": "components/form-group/form-group.js",
@@ -37177,7 +38271,7 @@
37177
38271
  "package": {
37178
38272
  "name": "@kubex/zinc",
37179
38273
  "description": "A collection of web components for building web applications based off of @shoelace-style/Shoelace",
37180
- "version": "1.1.22",
38274
+ "version": "1.1.24",
37181
38275
  "author": "",
37182
38276
  "license": "MIT"
37183
38277
  }