@kabel-project/kabel 1.0.7

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 (152) hide show
  1. package/(1.0.7)kabel.md +18 -0
  2. package/README.md +96 -0
  3. package/_READ_ME_MEDIA_/documentation/docs.md +293 -0
  4. package/_READ_ME_MEDIA_/workspace.png +0 -0
  5. package/comment-renderer/renderer.ts +228 -0
  6. package/controllers/base.ts +186 -0
  7. package/controllers/wasd.ts +132 -0
  8. package/docs/README.md +98 -0
  9. package/docs/_media/docs.md +289 -0
  10. package/docs/_media/index.html +168 -0
  11. package/docs/_media/workspace.png +0 -0
  12. package/docs/classes/CommentModel.md +271 -0
  13. package/docs/classes/CommentRenderer.md +457 -0
  14. package/docs/classes/ConnectableField.md +597 -0
  15. package/docs/classes/Connection.md +191 -0
  16. package/docs/classes/ContextMenuHTML.md +163 -0
  17. package/docs/classes/Coordinates.md +187 -0
  18. package/docs/classes/DropdownContainer.md +300 -0
  19. package/docs/classes/DummyField.md +393 -0
  20. package/docs/classes/Eventer.md +185 -0
  21. package/docs/classes/Field.md +461 -0
  22. package/docs/classes/InjectMsg.md +85 -0
  23. package/docs/classes/NodeSvg.md +1011 -0
  24. package/docs/classes/NumberField.md +559 -0
  25. package/docs/classes/OptConnectField.md +624 -0
  26. package/docs/classes/Renderer.md +1636 -0
  27. package/docs/classes/RendererConstants.md +343 -0
  28. package/docs/classes/Representer.md +95 -0
  29. package/docs/classes/RepresenterNode.md +175 -0
  30. package/docs/classes/TextField.md +559 -0
  31. package/docs/classes/Toolbox.md +172 -0
  32. package/docs/classes/WASDController.md +616 -0
  33. package/docs/classes/Widget.md +195 -0
  34. package/docs/classes/WorkspaceController.md +385 -0
  35. package/docs/classes/WorkspaceCoords.md +218 -0
  36. package/docs/classes/WorkspaceSvg.md +1380 -0
  37. package/docs/functions/clearMainWorkspace.md +20 -0
  38. package/docs/functions/getMainWorkspace.md +19 -0
  39. package/docs/functions/inject.md +35 -0
  40. package/docs/functions/setMainWorkspace.md +28 -0
  41. package/docs/globals.md +95 -0
  42. package/docs/interfaces/ColorStyle.md +43 -0
  43. package/docs/interfaces/ConnectorToFrom.md +57 -0
  44. package/docs/interfaces/DrawState.md +81 -0
  45. package/docs/interfaces/FieldConnectionData.md +25 -0
  46. package/docs/interfaces/FieldOptions.md +63 -0
  47. package/docs/interfaces/FieldRawBoxData.md +25 -0
  48. package/docs/interfaces/FieldVisualInfo.md +65 -0
  49. package/docs/interfaces/GridOptions.md +61 -0
  50. package/docs/interfaces/InjectOptions.md +133 -0
  51. package/docs/interfaces/InputFieldJson.md +50 -0
  52. package/docs/interfaces/KabelCommentRendering.md +31 -0
  53. package/docs/interfaces/KabelInterface.md +469 -0
  54. package/docs/interfaces/KabelNodeRendering.md +77 -0
  55. package/docs/interfaces/KabelUIX.md +105 -0
  56. package/docs/interfaces/KabelUtils.md +215 -0
  57. package/docs/interfaces/NodeEvents.md +42 -0
  58. package/docs/interfaces/NodeJson.md +104 -0
  59. package/docs/interfaces/NodePrototype.md +82 -0
  60. package/docs/interfaces/RegisteredEl.md +53 -0
  61. package/docs/interfaces/SerializedNode.md +128 -0
  62. package/docs/interfaces/TblxCategoryStruct.md +41 -0
  63. package/docs/interfaces/TblxFieldStruct.md +28 -0
  64. package/docs/interfaces/TblxNodeStruct.md +35 -0
  65. package/docs/interfaces/WidgetOptions.md +115 -0
  66. package/docs/interfaces/WidgetPrototypeList.md +15 -0
  67. package/docs/type-aliases/AnyField.md +13 -0
  68. package/docs/type-aliases/AnyFieldCls.md +13 -0
  69. package/docs/type-aliases/Color.md +13 -0
  70. package/docs/type-aliases/Connectable.md +13 -0
  71. package/docs/type-aliases/EventArgs.md +11 -0
  72. package/docs/type-aliases/EventSetupFn.md +25 -0
  73. package/docs/type-aliases/Hex.md +13 -0
  74. package/docs/type-aliases/RGBObject.md +37 -0
  75. package/docs/type-aliases/RGBString.md +13 -0
  76. package/docs/type-aliases/RGBTuple.md +13 -0
  77. package/docs/type-aliases/TblxObjStruct.md +52 -0
  78. package/docs/variables/CategoryColors.md +29 -0
  79. package/docs/variables/FieldMap.md +41 -0
  80. package/docs/variables/NodePrototypes.md +18 -0
  81. package/docs/variables/default.md +11 -0
  82. package/events/comment-drag-handle.ts +61 -0
  83. package/events/comment-input.ts +291 -0
  84. package/events/connection-line.ts +68 -0
  85. package/events/connector.ts +116 -0
  86. package/events/draggable.ts +119 -0
  87. package/events/events.ts +7 -0
  88. package/events/input-box.ts +213 -0
  89. package/events/node-x-btn.ts +25 -0
  90. package/index.d.ts +4 -0
  91. package/package.json +49 -0
  92. package/renderers/apollo/apollo.ts +21 -0
  93. package/renderers/apollo/constants.ts +40 -0
  94. package/renderers/apollo/renderer.ts +331 -0
  95. package/renderers/atlas/atlas.ts +15 -0
  96. package/renderers/constants.ts +87 -0
  97. package/renderers/renderer.ts +1288 -0
  98. package/renderers/representer-node.ts +52 -0
  99. package/renderers/representer.ts +25 -0
  100. package/src/category.ts +107 -0
  101. package/src/colors.ts +20 -0
  102. package/src/comment.ts +142 -0
  103. package/src/connection.ts +114 -0
  104. package/src/context-menu.ts +194 -0
  105. package/src/coordinates.ts +74 -0
  106. package/src/core.ts +202 -0
  107. package/src/ctx-menu-registry.ts +143 -0
  108. package/src/dropdown-menu.ts +215 -0
  109. package/src/field.ts +595 -0
  110. package/src/flyout.ts +165 -0
  111. package/src/fonts-manager.ts +38 -0
  112. package/src/grid.ts +162 -0
  113. package/src/headless-node.ts +27 -0
  114. package/src/index.ts +115 -0
  115. package/src/inject-headless.ts +18 -0
  116. package/src/inject.ts +213 -0
  117. package/src/main-workspace.ts +51 -0
  118. package/src/mutator.ts +40 -0
  119. package/src/node-types.ts +27 -0
  120. package/src/nodesvg.ts +756 -0
  121. package/src/prototypes.ts +9 -0
  122. package/src/renderer-map.ts +86 -0
  123. package/src/styles.css +224 -0
  124. package/src/toolbox.ts +125 -0
  125. package/src/types.ts +205 -0
  126. package/src/undo-redo.ts +87 -0
  127. package/src/visual-types.ts +29 -0
  128. package/src/widget-prototypes.ts +11 -0
  129. package/src/widget.ts +139 -0
  130. package/src/workspace-coords.ts +14 -0
  131. package/src/workspace-svg.ts +736 -0
  132. package/src/workspace.ts +155 -0
  133. package/test-server.js +61 -0
  134. package/themes/dark.ts +32 -0
  135. package/themes/default.ts +28 -0
  136. package/themes/themes.ts +9 -0
  137. package/tsconfig.json +25 -0
  138. package/typedoc.json +10 -0
  139. package/util/emitter.ts +33 -0
  140. package/util/env.ts +11 -0
  141. package/util/escape-html.ts +22 -0
  142. package/util/eventer.ts +108 -0
  143. package/util/has-prop.ts +4 -0
  144. package/util/parse-color.ts +42 -0
  145. package/util/path.ts +99 -0
  146. package/util/styler.ts +41 -0
  147. package/util/uid.ts +184 -0
  148. package/util/unescape-html.ts +22 -0
  149. package/util/user-state.ts +68 -0
  150. package/util/wait-anim-frames.ts +24 -0
  151. package/util/window-listeners.ts +62 -0
  152. package/webpack.config.js +80 -0
@@ -0,0 +1,77 @@
1
+ [**Kabel Project Docs v1.0.6**](../README.md)
2
+
3
+ ***
4
+
5
+ [Kabel Project Docs](../globals.md) / KabelNodeRendering
6
+
7
+ # Interface: KabelNodeRendering
8
+
9
+ Defined in: [src/types.ts:68](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/types.ts#L68)
10
+
11
+ Node rendering utilities and classes.
12
+
13
+ ## Properties
14
+
15
+ ### Apollo
16
+
17
+ > **Apollo**: `__module`
18
+
19
+ Defined in: [src/types.ts:72](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/types.ts#L72)
20
+
21
+ ***
22
+
23
+ ### Atlas
24
+
25
+ > **Atlas**: `__module`
26
+
27
+ Defined in: [src/types.ts:73](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/types.ts#L73)
28
+
29
+ ***
30
+
31
+ ### Renderer
32
+
33
+ > **Renderer**: *typeof* [`Renderer`](../classes/Renderer.md)
34
+
35
+ Defined in: [src/types.ts:76](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/types.ts#L76)
36
+
37
+ Node renderer class.
38
+
39
+ ***
40
+
41
+ ### RendererConstants
42
+
43
+ > **RendererConstants**: *typeof* [`RendererConstants`](../classes/RendererConstants.md)
44
+
45
+ Defined in: [src/types.ts:79](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/types.ts#L79)
46
+
47
+ Constant class to be instantiated and used in node rendering.
48
+
49
+ ***
50
+
51
+ ### rendererMap
52
+
53
+ > **rendererMap**: *typeof* `RMap`
54
+
55
+ Defined in: [src/types.ts:70](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/types.ts#L70)
56
+
57
+ Map of registered node renderers.
58
+
59
+ ***
60
+
61
+ ### Representer
62
+
63
+ > **Representer**: *typeof* [`Representer`](../classes/Representer.md)
64
+
65
+ Defined in: [src/types.ts:83](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/types.ts#L83)
66
+
67
+ used by the renderer to create RepresenterNodes for each rendered node. (node.svg API is provided by this)
68
+
69
+ ***
70
+
71
+ ### RepresenterNode
72
+
73
+ > **RepresenterNode**: *typeof* [`RepresenterNode`](../classes/RepresenterNode.md)
74
+
75
+ Defined in: [src/types.ts:87](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/types.ts#L87)
76
+
77
+ Class behind node.svg API. Represents a renderer's DrawState.
@@ -0,0 +1,105 @@
1
+ [**Kabel Project Docs v1.0.6**](../README.md)
2
+
3
+ ***
4
+
5
+ [Kabel Project Docs](../globals.md) / KabelUIX
6
+
7
+ # Interface: KabelUIX
8
+
9
+ Defined in: [src/types.ts:9](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/types.ts#L9)
10
+
11
+ Represents the UIX (UI experience utilities) portion of Kabel.
12
+
13
+ ## Properties
14
+
15
+ ### events
16
+
17
+ > **events**: [`Eventer`](../classes/Eventer.md)
18
+
19
+ Defined in: [src/types.ts:13](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/types.ts#L13)
20
+
21
+ Event system for SVG.js elements, allowing reusable functionality and event handling.
22
+
23
+ ***
24
+
25
+ ### FontManager
26
+
27
+ > **FontManager**: `__module`
28
+
29
+ Defined in: [src/types.ts:15](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/types.ts#L15)
30
+
31
+ handles loading fonts from Google fonts and possibly other CDNs in the future.
32
+
33
+ ***
34
+
35
+ ### userState
36
+
37
+ > **userState**: `UserState`
38
+
39
+ Defined in: [src/types.ts:19](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/types.ts#L19)
40
+
41
+ Stores the current state of the user.
42
+
43
+ ***
44
+
45
+ ### windowListeners
46
+
47
+ > **windowListeners**: `object`
48
+
49
+ Defined in: [src/types.ts:24](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/types.ts#L24)
50
+
51
+ window listener system.
52
+
53
+ #### addWindowListener()
54
+
55
+ > **addWindowListener**: (`type`, `fn`) => `void`
56
+
57
+ ##### Parameters
58
+
59
+ ###### type
60
+
61
+ `WindowEventKeys`
62
+
63
+ ###### fn
64
+
65
+ (`event`) => `void`
66
+
67
+ ##### Returns
68
+
69
+ `void`
70
+
71
+ #### clearWindowListeners()
72
+
73
+ > **clearWindowListeners**: (`type?`) => `void`
74
+
75
+ ##### Parameters
76
+
77
+ ###### type?
78
+
79
+ `WindowEventKeys`
80
+
81
+ ##### Returns
82
+
83
+ `void`
84
+
85
+ #### removeWindowListener()
86
+
87
+ > **removeWindowListener**: (`type`, `fn`) => `void`
88
+
89
+ ##### Parameters
90
+
91
+ ###### type
92
+
93
+ `WindowEventKeys`
94
+
95
+ ###### fn
96
+
97
+ (`event`) => `void`
98
+
99
+ ##### Returns
100
+
101
+ `void`
102
+
103
+ #### windowListeners
104
+
105
+ > **windowListeners**: `WindowListenersMap`
@@ -0,0 +1,215 @@
1
+ [**Kabel Project Docs v1.0.6**](../README.md)
2
+
3
+ ***
4
+
5
+ [Kabel Project Docs](../globals.md) / KabelUtils
6
+
7
+ # Interface: KabelUtils
8
+
9
+ Defined in: [src/types.ts:30](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/types.ts#L30)
10
+
11
+ Utility functions and classes provided by Kabel.
12
+
13
+ ## Properties
14
+
15
+ ### escapeHTML()
16
+
17
+ > **escapeHTML**: (`s`) => `string`
18
+
19
+ Defined in: [src/types.ts:59](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/types.ts#L59)
20
+
21
+ Escapes HTML for safe insertion into the DOM.
22
+
23
+ Escapes special characters in a string to their corresponding HTML entities.
24
+
25
+ Specifically, it replaces:
26
+ - `&` with `&`
27
+ - `'` with `'`
28
+ - `"` with `"`
29
+ - `<` with `&lt;`
30
+ - `>` with `&gt;`
31
+
32
+ #### Parameters
33
+
34
+ ##### s
35
+
36
+ `string`
37
+
38
+ The string to escape.
39
+
40
+ #### Returns
41
+
42
+ `string`
43
+
44
+ The escaped string with special characters replaced by HTML entities.
45
+
46
+ ***
47
+
48
+ ### EventEmitter
49
+
50
+ > **EventEmitter**: *typeof* `EventEmitter`
51
+
52
+ Defined in: [src/types.ts:47](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/types.ts#L47)
53
+
54
+ Event emitter class for custom events.
55
+
56
+ ***
57
+
58
+ ### hasProp()
59
+
60
+ > **hasProp**: (`obj`, `name`) => `boolean`
61
+
62
+ Defined in: [src/types.ts:50](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/types.ts#L50)
63
+
64
+ Checks if an object has a property.
65
+
66
+ #### Parameters
67
+
68
+ ##### obj
69
+
70
+ `object`
71
+
72
+ ##### name
73
+
74
+ `string`
75
+
76
+ #### Returns
77
+
78
+ `boolean`
79
+
80
+ ***
81
+
82
+ ### parseColor()
83
+
84
+ > **parseColor**: (`color`) => `` `#${string}` ``
85
+
86
+ Defined in: [src/types.ts:41](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/types.ts#L41)
87
+
88
+ Parses a color string into an internal format.
89
+
90
+ Parse any Color type into a hex string "#RRGGBB"
91
+
92
+ #### Parameters
93
+
94
+ ##### color
95
+
96
+ [`Color`](../type-aliases/Color.md)
97
+
98
+ #### Returns
99
+
100
+ `` `#${string}` ``
101
+
102
+ ***
103
+
104
+ ### Path
105
+
106
+ > **Path**: `__module`
107
+
108
+ Defined in: [src/types.ts:32](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/types.ts#L32)
109
+
110
+ Path manipulation utilities.
111
+
112
+ ***
113
+
114
+ ### styler
115
+
116
+ > **styler**: `Styler`
117
+
118
+ Defined in: [src/types.ts:53](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/types.ts#L53)
119
+
120
+ Styler helper functions.
121
+
122
+ ***
123
+
124
+ ### Styler
125
+
126
+ > **Styler**: *typeof* `Styler`
127
+
128
+ Defined in: [src/types.ts:56](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/types.ts#L56)
129
+
130
+ Styler class for managing styles.
131
+
132
+ ***
133
+
134
+ ### SVG
135
+
136
+ > **SVG**: `__module`
137
+
138
+ Defined in: [src/types.ts:38](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/types.ts#L38)
139
+
140
+ SVG utilities.
141
+
142
+ ***
143
+
144
+ ### UID
145
+
146
+ > **UID**: `__module`
147
+
148
+ Defined in: [src/types.ts:44](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/types.ts#L44)
149
+
150
+ Unique ID generation utilities.
151
+
152
+ ***
153
+
154
+ ### unescapeHTML()
155
+
156
+ > **unescapeHTML**: (`s`) => `string`
157
+
158
+ Defined in: [src/types.ts:62](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/types.ts#L62)
159
+
160
+ Unescapes HTML strings back to their original form.
161
+
162
+ Converts HTML-escaped characters in a string back to their literal form.
163
+
164
+ Specifically, it replaces:
165
+ - `&lt;` with `<`
166
+ - `&gt;` with `>`
167
+ - `&quot;` with `"`
168
+ - `&apos;` with `'`
169
+ - `&amp;` with `&`
170
+
171
+ #### Parameters
172
+
173
+ ##### s
174
+
175
+ `string`
176
+
177
+ The string containing HTML-escaped characters.
178
+
179
+ #### Returns
180
+
181
+ `string`
182
+
183
+ The unescaped string with HTML entities replaced by their literal characters.
184
+
185
+ ***
186
+
187
+ ### waitFrames()
188
+
189
+ > **waitFrames**: (`frames`, `callback`) => `void`
190
+
191
+ Defined in: [src/types.ts:35](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/types.ts#L35)
192
+
193
+ Wait for a number of animation frames.
194
+
195
+ Delays execution of a callback by a specified number of animation frames.
196
+
197
+ Uses `requestAnimationFrame` to count frames, then calls the provided callback.
198
+
199
+ #### Parameters
200
+
201
+ ##### frames
202
+
203
+ `number`
204
+
205
+ The number of animation frames to wait before executing the callback.
206
+
207
+ ##### callback
208
+
209
+ () => `void`
210
+
211
+ The function to execute after the specified frames have passed.
212
+
213
+ #### Returns
214
+
215
+ `void`
@@ -0,0 +1,42 @@
1
+ [**Kabel Project Docs v1.0.6**](../README.md)
2
+
3
+ ***
4
+
5
+ [Kabel Project Docs](../globals.md) / NodeEvents
6
+
7
+ # Interface: NodeEvents
8
+
9
+ Defined in: [src/nodesvg.ts:134](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/nodesvg.ts#L134)
10
+
11
+ Events emitted by NodeSvg instances.
12
+ Consumers can listen to these events to react to node lifecycle changes.
13
+
14
+ ## Properties
15
+
16
+ ### INITING
17
+
18
+ > **INITING**: `null`
19
+
20
+ Defined in: [src/nodesvg.ts:139](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/nodesvg.ts#L139)
21
+
22
+ Triggered immediately after node initialization
23
+
24
+ ***
25
+
26
+ ### NODE\_DRAG
27
+
28
+ > **NODE\_DRAG**: `null`
29
+
30
+ Defined in: [src/nodesvg.ts:142](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/nodesvg.ts#L142)
31
+
32
+ Triggered while the node is being dragged
33
+
34
+ ***
35
+
36
+ ### REMOVING
37
+
38
+ > **REMOVING**: `null`
39
+
40
+ Defined in: [src/nodesvg.ts:136](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/nodesvg.ts#L136)
41
+
42
+ Triggered before the node is removed from the workspace
@@ -0,0 +1,104 @@
1
+ [**Kabel Project Docs v1.0.6**](../README.md)
2
+
3
+ ***
4
+
5
+ [Kabel Project Docs](../globals.md) / NodeJson
6
+
7
+ # Interface: NodeJson
8
+
9
+ Defined in: [src/nodesvg.ts:42](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/nodesvg.ts#L42)
10
+
11
+ Represents a JSON structure for initializing a NodeSvg instance.
12
+ Includes colors, connections, label, fields, category, and type information.
13
+
14
+ ## Properties
15
+
16
+ ### arguments?
17
+
18
+ > `optional` **arguments**: [`InputFieldJson`](InputFieldJson.md)[]
19
+
20
+ Defined in: [src/nodesvg.ts:68](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/nodesvg.ts#L68)
21
+
22
+ Array of field definitions (InputFieldJson) to attach to this node
23
+
24
+ ***
25
+
26
+ ### category?
27
+
28
+ > `optional` **category**: `string`
29
+
30
+ Defined in: [src/nodesvg.ts:71](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/nodesvg.ts#L71)
31
+
32
+ Optional category name for color theming
33
+
34
+ ***
35
+
36
+ ### labelText?
37
+
38
+ > `optional` **labelText**: `string`
39
+
40
+ Defined in: [src/nodesvg.ts:65](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/nodesvg.ts#L65)
41
+
42
+ Optional node label text to display
43
+
44
+ ***
45
+
46
+ ### nextConnection?
47
+
48
+ > `optional` **nextConnection**: `any`
49
+
50
+ Defined in: [src/nodesvg.ts:62](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/nodesvg.ts#L62)
51
+
52
+ Optional next connection data.
53
+ Presence triggers creation of a next connection when initializing NodeSvg.
54
+
55
+ ***
56
+
57
+ ### previousConnection?
58
+
59
+ > `optional` **previousConnection**: `any`
60
+
61
+ Defined in: [src/nodesvg.ts:56](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/nodesvg.ts#L56)
62
+
63
+ Optional previous connection data.
64
+ Presence triggers creation of a previous connection when initializing NodeSvg.
65
+
66
+ ***
67
+
68
+ ### primaryColor?
69
+
70
+ > `optional` **primaryColor**: [`Color`](../type-aliases/Color.md)
71
+
72
+ Defined in: [src/nodesvg.ts:44](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/nodesvg.ts#L44)
73
+
74
+ Primary color of the node (e.g., top bar, main connections)
75
+
76
+ ***
77
+
78
+ ### secondaryColor?
79
+
80
+ > `optional` **secondaryColor**: [`Color`](../type-aliases/Color.md)
81
+
82
+ Defined in: [src/nodesvg.ts:47](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/nodesvg.ts#L47)
83
+
84
+ Secondary color of the node (e.g., field backgrounds)
85
+
86
+ ***
87
+
88
+ ### tertiaryColor?
89
+
90
+ > `optional` **tertiaryColor**: [`Color`](../type-aliases/Color.md)
91
+
92
+ Defined in: [src/nodesvg.ts:50](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/nodesvg.ts#L50)
93
+
94
+ Tertiary color of the node (e.g., outlines)
95
+
96
+ ***
97
+
98
+ ### type
99
+
100
+ > **type**: `string`
101
+
102
+ Defined in: [src/nodesvg.ts:74](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/nodesvg.ts#L74)
103
+
104
+ Node type identifier, used to look up the NodePrototype
@@ -0,0 +1,82 @@
1
+ [**Kabel Project Docs v1.0.6**](../README.md)
2
+
3
+ ***
4
+
5
+ [Kabel Project Docs](../globals.md) / NodePrototype
6
+
7
+ # Interface: NodePrototype
8
+
9
+ Defined in: [src/node-types.ts:7](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/node-types.ts#L7)
10
+
11
+ Represents a prototype definition for a NodeSvg.
12
+ Prototypes define behavior for initialization and removal of nodes.
13
+
14
+ ## Properties
15
+
16
+ ### init()
17
+
18
+ > **init**: (`this`, `prototype`, `block`) => `void`
19
+
20
+ Defined in: [src/node-types.ts:16](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/node-types.ts#L16)
21
+
22
+ Called when a node is initialized.
23
+ Use this to set up fields, connections, or any runtime state for the node.
24
+
25
+ #### Parameters
26
+
27
+ ##### this
28
+
29
+ [`NodeSvg`](../classes/NodeSvg.md)
30
+
31
+ The NodeSvg instance being initialized
32
+
33
+ ##### prototype
34
+
35
+ `NodePrototype`
36
+
37
+ The prototype object itself
38
+
39
+ ##### block
40
+
41
+ [`NodeSvg`](../classes/NodeSvg.md)
42
+
43
+ The NodeSvg instance (same as `this`) for convenience
44
+
45
+ #### Returns
46
+
47
+ `void`
48
+
49
+ ***
50
+
51
+ ### removed()
52
+
53
+ > **removed**: (`this`, `prototype`, `block`) => `void`
54
+
55
+ Defined in: [src/node-types.ts:26](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/node-types.ts#L26)
56
+
57
+ Called when a node is being removed from the workspace.
58
+ Use this to clean up references, event listeners, or related resources.
59
+
60
+ #### Parameters
61
+
62
+ ##### this
63
+
64
+ [`NodeSvg`](../classes/NodeSvg.md)
65
+
66
+ The NodeSvg instance being removed
67
+
68
+ ##### prototype
69
+
70
+ `NodePrototype`
71
+
72
+ The prototype object itself
73
+
74
+ ##### block
75
+
76
+ [`NodeSvg`](../classes/NodeSvg.md)
77
+
78
+ The NodeSvg instance (same as `this`) for convenience
79
+
80
+ #### Returns
81
+
82
+ `void`
@@ -0,0 +1,53 @@
1
+ [**Kabel Project Docs v1.0.6**](../README.md)
2
+
3
+ ***
4
+
5
+ [Kabel Project Docs](../globals.md) / RegisteredEl
6
+
7
+ # Interface: RegisteredEl
8
+
9
+ Defined in: [util/eventer.ts:7](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/util/eventer.ts#L7)
10
+
11
+ ## Properties
12
+
13
+ ### args?
14
+
15
+ > `optional` **args**: [`EventArgs`](../type-aliases/EventArgs.md)
16
+
17
+ Defined in: [util/eventer.ts:11](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/util/eventer.ts#L11)
18
+
19
+ ***
20
+
21
+ ### destroyFn()?
22
+
23
+ > `optional` **destroyFn**: () => `void`
24
+
25
+ Defined in: [util/eventer.ts:12](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/util/eventer.ts#L12)
26
+
27
+ #### Returns
28
+
29
+ `void`
30
+
31
+ ***
32
+
33
+ ### el
34
+
35
+ > **el**: `Element`
36
+
37
+ Defined in: [util/eventer.ts:9](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/util/eventer.ts#L9)
38
+
39
+ ***
40
+
41
+ ### tags
42
+
43
+ > **tags**: `string`[]
44
+
45
+ Defined in: [util/eventer.ts:8](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/util/eventer.ts#L8)
46
+
47
+ ***
48
+
49
+ ### type
50
+
51
+ > **type**: `string`
52
+
53
+ Defined in: [util/eventer.ts:10](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/util/eventer.ts#L10)