@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,300 @@
1
+ [**Kabel Project Docs v1.0.6**](../README.md)
2
+
3
+ ***
4
+
5
+ [Kabel Project Docs](../globals.md) / DropdownContainer
6
+
7
+ # Class: DropdownContainer
8
+
9
+ Defined in: [src/dropdown-menu.ts:42](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/dropdown-menu.ts#L42)
10
+
11
+ Dropdown container for NodeSvg or Field elements.
12
+ Supports singleton behavior (only one dropdown visible at a time).
13
+
14
+ ## Constructors
15
+
16
+ ### Constructor
17
+
18
+ > **new DropdownContainer**(): `DropdownContainer`
19
+
20
+ Defined in: [src/dropdown-menu.ts:53](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/dropdown-menu.ts#L53)
21
+
22
+ Creates the dropdown container and attaches it to the DOM.
23
+
24
+ #### Returns
25
+
26
+ `DropdownContainer`
27
+
28
+ ## Properties
29
+
30
+ ### constraint
31
+
32
+ > `private` **constraint**: `object`
33
+
34
+ Defined in: [src/dropdown-menu.ts:47](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/dropdown-menu.ts#L47)
35
+
36
+ #### height
37
+
38
+ > **height**: `number`
39
+
40
+ #### width
41
+
42
+ > **width**: `number`
43
+
44
+ #### x
45
+
46
+ > **x**: `number`
47
+
48
+ #### y
49
+
50
+ > **y**: `number`
51
+
52
+ ***
53
+
54
+ ### currentRemoveListener
55
+
56
+ > `private` **currentRemoveListener**: () => `void` \| `null` = `null`
57
+
58
+ Defined in: [src/dropdown-menu.ts:49](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/dropdown-menu.ts#L49)
59
+
60
+ ***
61
+
62
+ ### offset
63
+
64
+ > `private` **offset**: `object`
65
+
66
+ Defined in: [src/dropdown-menu.ts:48](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/dropdown-menu.ts#L48)
67
+
68
+ #### dx
69
+
70
+ > **dx**: `number`
71
+
72
+ #### dy
73
+
74
+ > **dy**: `number`
75
+
76
+ ***
77
+
78
+ ### options
79
+
80
+ > `private` **options**: `DropdownOptions` \| `null` = `null`
81
+
82
+ Defined in: [src/dropdown-menu.ts:46](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/dropdown-menu.ts#L46)
83
+
84
+ ***
85
+
86
+ ### owner
87
+
88
+ > `private` **owner**: `AllowedOwner` \| `null` = `null`
89
+
90
+ Defined in: [src/dropdown-menu.ts:44](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/dropdown-menu.ts#L44)
91
+
92
+ ***
93
+
94
+ ### rootEl
95
+
96
+ > `private` **rootEl**: `HTMLDivElement`
97
+
98
+ Defined in: [src/dropdown-menu.ts:45](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/dropdown-menu.ts#L45)
99
+
100
+ ***
101
+
102
+ ### current
103
+
104
+ > `private` `static` **current**: `DropdownContainer` \| `null` = `null`
105
+
106
+ Defined in: [src/dropdown-menu.ts:43](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/dropdown-menu.ts#L43)
107
+
108
+ ## Methods
109
+
110
+ ### appendChild()
111
+
112
+ > **appendChild**(`element`): `Element`
113
+
114
+ Defined in: [src/dropdown-menu.ts:98](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/dropdown-menu.ts#L98)
115
+
116
+ Append an element as a child to the dropdown.
117
+
118
+ #### Parameters
119
+
120
+ ##### element
121
+
122
+ `Element`
123
+
124
+ Element to append
125
+
126
+ #### Returns
127
+
128
+ `Element`
129
+
130
+ The appended element
131
+
132
+ ***
133
+
134
+ ### getOwner()
135
+
136
+ > **getOwner**(): `AllowedOwner` \| `null`
137
+
138
+ Defined in: [src/dropdown-menu.ts:202](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/dropdown-menu.ts#L202)
139
+
140
+ #### Returns
141
+
142
+ `AllowedOwner` \| `null`
143
+
144
+ The current owner of the dropdown, or null if none
145
+
146
+ ***
147
+
148
+ ### hide()
149
+
150
+ > **hide**(): `void`
151
+
152
+ Defined in: [src/dropdown-menu.ts:175](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/dropdown-menu.ts#L175)
153
+
154
+ Hide this dropdown.
155
+
156
+ #### Returns
157
+
158
+ `void`
159
+
160
+ ***
161
+
162
+ ### hideIfOwner()
163
+
164
+ > **hideIfOwner**(`owner`): `void`
165
+
166
+ Defined in: [src/dropdown-menu.ts:190](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/dropdown-menu.ts#L190)
167
+
168
+ Hide this dropdown if the given owner currently owns it.
169
+
170
+ #### Parameters
171
+
172
+ ##### owner
173
+
174
+ `AllowedOwner`
175
+
176
+ The owner to check
177
+
178
+ #### Returns
179
+
180
+ `void`
181
+
182
+ ***
183
+
184
+ ### isVisible()
185
+
186
+ > **isVisible**(): `boolean`
187
+
188
+ Defined in: [src/dropdown-menu.ts:197](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/dropdown-menu.ts#L197)
189
+
190
+ #### Returns
191
+
192
+ `boolean`
193
+
194
+ True if the dropdown is currently visible
195
+
196
+ ***
197
+
198
+ ### move()
199
+
200
+ > **move**(`dx`, `dy`): `void`
201
+
202
+ Defined in: [src/dropdown-menu.ts:69](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/dropdown-menu.ts#L69)
203
+
204
+ Move the dropdown by an offset.
205
+
206
+ #### Parameters
207
+
208
+ ##### dx
209
+
210
+ `number`
211
+
212
+ horizontal offset
213
+
214
+ ##### dy
215
+
216
+ `number`
217
+
218
+ vertical offset
219
+
220
+ #### Returns
221
+
222
+ `void`
223
+
224
+ ***
225
+
226
+ ### setContent()
227
+
228
+ > **setContent**(`html`): `void`
229
+
230
+ Defined in: [src/dropdown-menu.ts:89](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/dropdown-menu.ts#L89)
231
+
232
+ Set inner HTML content of the dropdown.
233
+
234
+ #### Parameters
235
+
236
+ ##### html
237
+
238
+ `string`
239
+
240
+ HTML string
241
+
242
+ #### Returns
243
+
244
+ `void`
245
+
246
+ ***
247
+
248
+ ### show()
249
+
250
+ > **show**(`owner`, `options`): `void`
251
+
252
+ Defined in: [src/dropdown-menu.ts:108](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/dropdown-menu.ts#L108)
253
+
254
+ Show the dropdown for a given owner.
255
+
256
+ #### Parameters
257
+
258
+ ##### owner
259
+
260
+ `AllowedOwner`
261
+
262
+ NodeSvg or Field that owns this dropdown
263
+
264
+ ##### options
265
+
266
+ `DropdownOptions`
267
+
268
+ Dropdown configuration options
269
+
270
+ #### Returns
271
+
272
+ `void`
273
+
274
+ ***
275
+
276
+ ### updatePosition()
277
+
278
+ > `private` **updatePosition**(): `void`
279
+
280
+ Defined in: [src/dropdown-menu.ts:78](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/dropdown-menu.ts#L78)
281
+
282
+ Update the dropdown position based on constraint and offset.
283
+
284
+ #### Returns
285
+
286
+ `void`
287
+
288
+ ***
289
+
290
+ ### getCurrent()
291
+
292
+ > `static` **getCurrent**(): `DropdownContainer` \| `null`
293
+
294
+ Defined in: [src/dropdown-menu.ts:207](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/dropdown-menu.ts#L207)
295
+
296
+ #### Returns
297
+
298
+ `DropdownContainer` \| `null`
299
+
300
+ The currently visible dropdown container singleton
@@ -0,0 +1,393 @@
1
+ [**Kabel Project Docs v1.0.6**](../README.md)
2
+
3
+ ***
4
+
5
+ [Kabel Project Docs](../globals.md) / DummyField
6
+
7
+ # Class: DummyField
8
+
9
+ Defined in: [src/field.ts:175](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/field.ts#L175)
10
+
11
+ Used when you want just a label with no actual value. Any value related methods are no-op.
12
+
13
+ ## Constructors
14
+
15
+ ### Constructor
16
+
17
+ > **new DummyField**(): `DummyField`
18
+
19
+ Defined in: [src/field.ts:183](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/field.ts#L183)
20
+
21
+ #### Returns
22
+
23
+ `DummyField`
24
+
25
+ ## Properties
26
+
27
+ ### editable
28
+
29
+ > **editable**: `boolean`
30
+
31
+ Defined in: [src/field.ts:180](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/field.ts#L180)
32
+
33
+ ***
34
+
35
+ ### label
36
+
37
+ > **label**: `string`
38
+
39
+ Defined in: [src/field.ts:176](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/field.ts#L176)
40
+
41
+ ***
42
+
43
+ ### name
44
+
45
+ > **name**: `string`
46
+
47
+ Defined in: [src/field.ts:177](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/field.ts#L177)
48
+
49
+ ***
50
+
51
+ ### node?
52
+
53
+ > `optional` **node**: [`NodeSvg`](NodeSvg.md)
54
+
55
+ Defined in: [src/field.ts:179](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/field.ts#L179)
56
+
57
+ ***
58
+
59
+ ### svgGroup?
60
+
61
+ > `optional` **svgGroup**: `G`
62
+
63
+ Defined in: [src/field.ts:181](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/field.ts#L181)
64
+
65
+ ***
66
+
67
+ ### type
68
+
69
+ > **type**: `string`
70
+
71
+ Defined in: [src/field.ts:178](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/field.ts#L178)
72
+
73
+ ## Methods
74
+
75
+ ### canEdit()
76
+
77
+ > **canEdit**(): `boolean`
78
+
79
+ Defined in: [src/field.ts:208](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/field.ts#L208)
80
+
81
+ Ask whether or not we can edit this field.
82
+
83
+ #### Returns
84
+
85
+ `boolean`
86
+
87
+ ***
88
+
89
+ ### canEditConnector()
90
+
91
+ > **canEditConnector**(): `boolean`
92
+
93
+ Defined in: [src/field.ts:192](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/field.ts#L192)
94
+
95
+ #### Returns
96
+
97
+ `boolean`
98
+
99
+ ***
100
+
101
+ ### drawMyself()
102
+
103
+ > **drawMyself**(`fieldVisualInfo`): `void`
104
+
105
+ Defined in: [src/field.ts:262](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/field.ts#L262)
106
+
107
+ Make the input's custom look.
108
+
109
+ #### Parameters
110
+
111
+ ##### fieldVisualInfo
112
+
113
+ [`FieldVisualInfo`](../interfaces/FieldVisualInfo.md)
114
+
115
+ The visual info of the field, mutate this if needed.
116
+
117
+ #### Returns
118
+
119
+ `void`
120
+
121
+ ***
122
+
123
+ ### fromJson()
124
+
125
+ > **fromJson**(`json`): `void`
126
+
127
+ Defined in: [src/field.ts:223](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/field.ts#L223)
128
+
129
+ Initialize the field from JSON options.
130
+
131
+ #### Parameters
132
+
133
+ ##### json
134
+
135
+ [`FieldOptions`](../interfaces/FieldOptions.md)
136
+
137
+ FieldOptions object
138
+
139
+ #### Returns
140
+
141
+ `void`
142
+
143
+ ***
144
+
145
+ ### getDisplayValue()
146
+
147
+ > **getDisplayValue**(): `null`
148
+
149
+ Defined in: [src/field.ts:281](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/field.ts#L281)
150
+
151
+ #### Returns
152
+
153
+ `null`
154
+
155
+ The value as it should be displayed (can differ from internal value)
156
+
157
+ ***
158
+
159
+ ### getLabel()
160
+
161
+ > **getLabel**(): `string`
162
+
163
+ Defined in: [src/field.ts:243](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/field.ts#L243)
164
+
165
+ #### Returns
166
+
167
+ `string`
168
+
169
+ The human-readable label
170
+
171
+ ***
172
+
173
+ ### getName()
174
+
175
+ > **getName**(): `string`
176
+
177
+ Defined in: [src/field.ts:238](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/field.ts#L238)
178
+
179
+ #### Returns
180
+
181
+ `string`
182
+
183
+ The field's name/key
184
+
185
+ ***
186
+
187
+ ### getValue()
188
+
189
+ > **getValue**(): `null`
190
+
191
+ Defined in: [src/field.ts:273](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/field.ts#L273)
192
+
193
+ Dummy fields have no value.
194
+
195
+ #### Returns
196
+
197
+ `null`
198
+
199
+ ***
200
+
201
+ ### hasConnectable()
202
+
203
+ > **hasConnectable**(): `boolean`
204
+
205
+ Defined in: [src/field.ts:234](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/field.ts#L234)
206
+
207
+ #### Returns
208
+
209
+ `boolean`
210
+
211
+ Whether this field supports connections
212
+
213
+ ***
214
+
215
+ ### hasRaw()
216
+
217
+ > **hasRaw**(): `boolean`
218
+
219
+ Defined in: [src/field.ts:229](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/field.ts#L229)
220
+
221
+ #### Returns
222
+
223
+ `boolean`
224
+
225
+ Whether this field is a raw value field (text/number)
226
+
227
+ ***
228
+
229
+ ### isCustomEditor()
230
+
231
+ > **isCustomEditor**(): `boolean`
232
+
233
+ Defined in: [src/field.ts:255](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/field.ts#L255)
234
+
235
+ #### Returns
236
+
237
+ `boolean`
238
+
239
+ Whether we have a custom editor/input look
240
+
241
+ ***
242
+
243
+ ### measureMyself()
244
+
245
+ > **measureMyself**(): `object`
246
+
247
+ Defined in: [src/field.ts:266](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/field.ts#L266)
248
+
249
+ Return width & height of your field's custom editor
250
+
251
+ #### Returns
252
+
253
+ `object`
254
+
255
+ ##### height
256
+
257
+ > **height**: `number` = `0`
258
+
259
+ ##### width
260
+
261
+ > **width**: `number` = `0`
262
+
263
+ ***
264
+
265
+ ### onDraw()
266
+
267
+ > **onDraw**(`rawBox?`, `connectionBubble?`): `void`
268
+
269
+ Defined in: [src/field.ts:189](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/field.ts#L189)
270
+
271
+ #### Parameters
272
+
273
+ ##### rawBox?
274
+
275
+ [`FieldRawBoxData`](../interfaces/FieldRawBoxData.md)
276
+
277
+ ##### connectionBubble?
278
+
279
+ [`FieldConnectionData`](../interfaces/FieldConnectionData.md)
280
+
281
+ #### Returns
282
+
283
+ `void`
284
+
285
+ ***
286
+
287
+ ### setEditable()
288
+
289
+ > **setEditable**(`val`): `void`
290
+
291
+ Defined in: [src/field.ts:199](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/field.ts#L199)
292
+
293
+ Set whether or not you can edit this field.
294
+
295
+ #### Parameters
296
+
297
+ ##### val
298
+
299
+ `boolean`
300
+
301
+ The value to set to.
302
+
303
+ #### Returns
304
+
305
+ `void`
306
+
307
+ ***
308
+
309
+ ### setLabel()
310
+
311
+ > **setLabel**(`label`): `string`
312
+
313
+ Defined in: [src/field.ts:251](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/field.ts#L251)
314
+
315
+ Set the human-readable label
316
+
317
+ #### Parameters
318
+
319
+ ##### label
320
+
321
+ `string`
322
+
323
+ New label
324
+
325
+ #### Returns
326
+
327
+ `string`
328
+
329
+ The updated label
330
+
331
+ ***
332
+
333
+ ### setName()
334
+
335
+ > **setName**(`name`): `string`
336
+
337
+ Defined in: [src/field.ts:216](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/field.ts#L216)
338
+
339
+ Set field name to something else.
340
+
341
+ #### Parameters
342
+
343
+ ##### name
344
+
345
+ `string`
346
+
347
+ string
348
+
349
+ #### Returns
350
+
351
+ `string`
352
+
353
+ the new name.
354
+
355
+ ***
356
+
357
+ ### setValue()
358
+
359
+ > **setValue**(`_`): `void`
360
+
361
+ Defined in: [src/field.ts:279](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/field.ts#L279)
362
+
363
+ No-op for dummy fields
364
+
365
+ #### Parameters
366
+
367
+ ##### \_
368
+
369
+ `any`
370
+
371
+ #### Returns
372
+
373
+ `void`
374
+
375
+ ***
376
+
377
+ ### toJson()
378
+
379
+ > **toJson**(`deep`, `alreadyProcessed`): [`FieldOptions`](../interfaces/FieldOptions.md)
380
+
381
+ Defined in: [src/field.ts:284](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/field.ts#L284)
382
+
383
+ #### Parameters
384
+
385
+ ##### deep
386
+
387
+ `boolean`
388
+
389
+ ##### alreadyProcessed
390
+
391
+ #### Returns
392
+
393
+ [`FieldOptions`](../interfaces/FieldOptions.md)