@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,559 @@
1
+ [**Kabel Project Docs v1.0.6**](../README.md)
2
+
3
+ ***
4
+
5
+ [Kabel Project Docs](../globals.md) / TextField
6
+
7
+ # Class: TextField
8
+
9
+ Defined in: [src/field.ts:365](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/field.ts#L365)
10
+
11
+ Field storing a string value
12
+
13
+ ## Extends
14
+
15
+ - [`Field`](Field.md)\<`string`\>
16
+
17
+ ## Constructors
18
+
19
+ ### Constructor
20
+
21
+ > **new TextField**(): `TextField`
22
+
23
+ Defined in: [src/field.ts:366](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/field.ts#L366)
24
+
25
+ #### Returns
26
+
27
+ `TextField`
28
+
29
+ #### Overrides
30
+
31
+ [`Field`](Field.md).[`constructor`](Field.md#constructor)
32
+
33
+ ## Properties
34
+
35
+ ### editable
36
+
37
+ > **editable**: `boolean`
38
+
39
+ Defined in: [src/field.ts:49](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/field.ts#L49)
40
+
41
+ #### Inherited from
42
+
43
+ [`Field`](Field.md).[`editable`](Field.md#editable)
44
+
45
+ ***
46
+
47
+ ### label
48
+
49
+ > **label**: `string`
50
+
51
+ Defined in: [src/field.ts:45](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/field.ts#L45)
52
+
53
+ #### Inherited from
54
+
55
+ [`Field`](Field.md).[`label`](Field.md#label)
56
+
57
+ ***
58
+
59
+ ### name
60
+
61
+ > **name**: `string`
62
+
63
+ Defined in: [src/field.ts:46](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/field.ts#L46)
64
+
65
+ #### Inherited from
66
+
67
+ [`Field`](Field.md).[`name`](Field.md#name)
68
+
69
+ ***
70
+
71
+ ### node?
72
+
73
+ > `optional` **node**: [`NodeSvg`](NodeSvg.md)
74
+
75
+ Defined in: [src/field.ts:48](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/field.ts#L48)
76
+
77
+ #### Inherited from
78
+
79
+ [`Field`](Field.md).[`node`](Field.md#node)
80
+
81
+ ***
82
+
83
+ ### svgGroup?
84
+
85
+ > `optional` **svgGroup**: `G`
86
+
87
+ Defined in: [src/field.ts:50](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/field.ts#L50)
88
+
89
+ #### Inherited from
90
+
91
+ [`Field`](Field.md).[`svgGroup`](Field.md#svggroup)
92
+
93
+ ***
94
+
95
+ ### type
96
+
97
+ > **type**: `string`
98
+
99
+ Defined in: [src/field.ts:47](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/field.ts#L47)
100
+
101
+ #### Inherited from
102
+
103
+ [`Field`](Field.md).[`type`](Field.md#type)
104
+
105
+ ***
106
+
107
+ ### value
108
+
109
+ > `protected` **value**: `string` \| `null`
110
+
111
+ Defined in: [src/field.ts:51](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/field.ts#L51)
112
+
113
+ #### Inherited from
114
+
115
+ [`Field`](Field.md).[`value`](Field.md#value)
116
+
117
+ ## Methods
118
+
119
+ ### canEdit()
120
+
121
+ > **canEdit**(): `boolean`
122
+
123
+ Defined in: [src/field.ts:80](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/field.ts#L80)
124
+
125
+ Ask whether or not we can edit this field.
126
+
127
+ #### Returns
128
+
129
+ `boolean`
130
+
131
+ #### Inherited from
132
+
133
+ [`Field`](Field.md).[`canEdit`](Field.md#canedit)
134
+
135
+ ***
136
+
137
+ ### canEditConnector()
138
+
139
+ > **canEditConnector**(): `boolean`
140
+
141
+ Defined in: [src/field.ts:64](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/field.ts#L64)
142
+
143
+ #### Returns
144
+
145
+ `boolean`
146
+
147
+ #### Inherited from
148
+
149
+ [`Field`](Field.md).[`canEditConnector`](Field.md#caneditconnector)
150
+
151
+ ***
152
+
153
+ ### drawMyself()
154
+
155
+ > **drawMyself**(`fieldVisualInfo`): `void`
156
+
157
+ Defined in: [src/field.ts:139](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/field.ts#L139)
158
+
159
+ Make the input's custom look.
160
+
161
+ #### Parameters
162
+
163
+ ##### fieldVisualInfo
164
+
165
+ [`FieldVisualInfo`](../interfaces/FieldVisualInfo.md)
166
+
167
+ The visual info of the field, mutate this if needed.
168
+
169
+ #### Returns
170
+
171
+ `void`
172
+
173
+ #### Inherited from
174
+
175
+ [`Field`](Field.md).[`drawMyself`](Field.md#drawmyself)
176
+
177
+ ***
178
+
179
+ ### fromJson()
180
+
181
+ > **fromJson**(`json`): `void`
182
+
183
+ Defined in: [src/field.ts:369](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/field.ts#L369)
184
+
185
+ Initialize the field from JSON options.
186
+
187
+ #### Parameters
188
+
189
+ ##### json
190
+
191
+ [`FieldOptions`](../interfaces/FieldOptions.md)
192
+
193
+ FieldOptions object
194
+
195
+ #### Returns
196
+
197
+ `void`
198
+
199
+ #### Overrides
200
+
201
+ [`Field`](Field.md).[`fromJson`](Field.md#fromjson)
202
+
203
+ ***
204
+
205
+ ### getDisplayValue()
206
+
207
+ > **getDisplayValue**(): `string` \| `null`
208
+
209
+ Defined in: [src/field.ts:160](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/field.ts#L160)
210
+
211
+ #### Returns
212
+
213
+ `string` \| `null`
214
+
215
+ The value as it should be displayed (can differ from internal value)
216
+
217
+ #### Inherited from
218
+
219
+ [`Field`](Field.md).[`getDisplayValue`](Field.md#getdisplayvalue)
220
+
221
+ ***
222
+
223
+ ### getLabel()
224
+
225
+ > **getLabel**(): `string`
226
+
227
+ Defined in: [src/field.ts:109](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/field.ts#L109)
228
+
229
+ #### Returns
230
+
231
+ `string`
232
+
233
+ The human-readable label
234
+
235
+ #### Inherited from
236
+
237
+ [`Field`](Field.md).[`getLabel`](Field.md#getlabel)
238
+
239
+ ***
240
+
241
+ ### getName()
242
+
243
+ > **getName**(): `string`
244
+
245
+ Defined in: [src/field.ts:104](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/field.ts#L104)
246
+
247
+ #### Returns
248
+
249
+ `string`
250
+
251
+ The field's name/key
252
+
253
+ #### Inherited from
254
+
255
+ [`Field`](Field.md).[`getName`](Field.md#getname)
256
+
257
+ ***
258
+
259
+ ### getValue()
260
+
261
+ > **getValue**(): `string` \| `null`
262
+
263
+ Defined in: [src/field.ts:147](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/field.ts#L147)
264
+
265
+ #### Returns
266
+
267
+ `string` \| `null`
268
+
269
+ The stored value
270
+
271
+ #### Inherited from
272
+
273
+ [`Field`](Field.md).[`getValue`](Field.md#getvalue)
274
+
275
+ ***
276
+
277
+ ### hasConnectable()
278
+
279
+ > **hasConnectable**(): `boolean`
280
+
281
+ Defined in: [src/field.ts:128](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/field.ts#L128)
282
+
283
+ #### Returns
284
+
285
+ `boolean`
286
+
287
+ Whether this field supports connections
288
+
289
+ #### Inherited from
290
+
291
+ [`Field`](Field.md).[`hasConnectable`](Field.md#hasconnectable)
292
+
293
+ ***
294
+
295
+ ### hasRaw()
296
+
297
+ > **hasRaw**(): `boolean`
298
+
299
+ Defined in: [src/field.ts:123](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/field.ts#L123)
300
+
301
+ #### Returns
302
+
303
+ `boolean`
304
+
305
+ Whether this field is a raw value field (text/number)
306
+
307
+ #### Inherited from
308
+
309
+ [`Field`](Field.md).[`hasRaw`](Field.md#hasraw)
310
+
311
+ ***
312
+
313
+ ### isCustomEditor()
314
+
315
+ > **isCustomEditor**(): `boolean`
316
+
317
+ Defined in: [src/field.ts:132](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/field.ts#L132)
318
+
319
+ #### Returns
320
+
321
+ `boolean`
322
+
323
+ Whether we have a custom editor/input look
324
+
325
+ #### Inherited from
326
+
327
+ [`Field`](Field.md).[`isCustomEditor`](Field.md#iscustomeditor)
328
+
329
+ ***
330
+
331
+ ### measureMyself()
332
+
333
+ > **measureMyself**(): `object`
334
+
335
+ Defined in: [src/field.ts:143](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/field.ts#L143)
336
+
337
+ Return width & height of your field's custom editor
338
+
339
+ #### Returns
340
+
341
+ `object`
342
+
343
+ ##### height
344
+
345
+ > **height**: `null` = `null`
346
+
347
+ ##### width
348
+
349
+ > **width**: `null` = `null`
350
+
351
+ #### Inherited from
352
+
353
+ [`Field`](Field.md).[`measureMyself`](Field.md#measuremyself)
354
+
355
+ ***
356
+
357
+ ### onDraw()
358
+
359
+ > **onDraw**(`rawBox?`, `connectionBubble?`): `void`
360
+
361
+ Defined in: [src/field.ts:61](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/field.ts#L61)
362
+
363
+ #### Parameters
364
+
365
+ ##### rawBox?
366
+
367
+ [`FieldRawBoxData`](../interfaces/FieldRawBoxData.md)
368
+
369
+ ##### connectionBubble?
370
+
371
+ [`FieldConnectionData`](../interfaces/FieldConnectionData.md)
372
+
373
+ #### Returns
374
+
375
+ `void`
376
+
377
+ #### Inherited from
378
+
379
+ [`Field`](Field.md).[`onDraw`](Field.md#ondraw)
380
+
381
+ ***
382
+
383
+ ### setEditable()
384
+
385
+ > **setEditable**(`val`): `void`
386
+
387
+ Defined in: [src/field.ts:71](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/field.ts#L71)
388
+
389
+ Set whether or not you can edit this field.
390
+
391
+ #### Parameters
392
+
393
+ ##### val
394
+
395
+ `boolean`
396
+
397
+ The value to set to.
398
+
399
+ #### Returns
400
+
401
+ `void`
402
+
403
+ #### Inherited from
404
+
405
+ [`Field`](Field.md).[`setEditable`](Field.md#seteditable)
406
+
407
+ ***
408
+
409
+ ### setLabel()
410
+
411
+ > **setLabel**(`label`): `string`
412
+
413
+ Defined in: [src/field.ts:118](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/field.ts#L118)
414
+
415
+ Set the human-readable label
416
+
417
+ #### Parameters
418
+
419
+ ##### label
420
+
421
+ `string`
422
+
423
+ New label
424
+
425
+ #### Returns
426
+
427
+ `string`
428
+
429
+ The updated label
430
+
431
+ #### Inherited from
432
+
433
+ [`Field`](Field.md).[`setLabel`](Field.md#setlabel)
434
+
435
+ ***
436
+
437
+ ### setName()
438
+
439
+ > **setName**(`name`): `string`
440
+
441
+ Defined in: [src/field.ts:88](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/field.ts#L88)
442
+
443
+ Set field name to something else.
444
+
445
+ #### Parameters
446
+
447
+ ##### name
448
+
449
+ `string`
450
+
451
+ string
452
+
453
+ #### Returns
454
+
455
+ `string`
456
+
457
+ the new name.
458
+
459
+ #### Inherited from
460
+
461
+ [`Field`](Field.md).[`setName`](Field.md#setname)
462
+
463
+ ***
464
+
465
+ ### setValue()
466
+
467
+ > **setValue**(`val`): `void`
468
+
469
+ Defined in: [src/field.ts:373](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/field.ts#L373)
470
+
471
+ Set the stored value
472
+
473
+ #### Parameters
474
+
475
+ ##### val
476
+
477
+ `string`
478
+
479
+ New value
480
+
481
+ #### Returns
482
+
483
+ `void`
484
+
485
+ #### Overrides
486
+
487
+ [`Field`](Field.md).[`setValue`](Field.md#setvalue)
488
+
489
+ ***
490
+
491
+ ### toJson()
492
+
493
+ > **toJson**(`deep`, `alreadyProcessed`): [`FieldOptions`](../interfaces/FieldOptions.md)
494
+
495
+ Defined in: [src/field.ts:163](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/field.ts#L163)
496
+
497
+ #### Parameters
498
+
499
+ ##### deep
500
+
501
+ `boolean`
502
+
503
+ ##### alreadyProcessed
504
+
505
+ #### Returns
506
+
507
+ [`FieldOptions`](../interfaces/FieldOptions.md)
508
+
509
+ #### Inherited from
510
+
511
+ [`Field`](Field.md).[`toJson`](Field.md#tojson)
512
+
513
+ ***
514
+
515
+ ### register()
516
+
517
+ > `static` **register**(`name`, `cls`): `void`
518
+
519
+ Defined in: [src/field.ts:52](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/field.ts#L52)
520
+
521
+ #### Parameters
522
+
523
+ ##### name
524
+
525
+ `string`
526
+
527
+ ##### cls
528
+
529
+ `Function`
530
+
531
+ #### Returns
532
+
533
+ `void`
534
+
535
+ #### Inherited from
536
+
537
+ [`Field`](Field.md).[`register`](Field.md#register)
538
+
539
+ ***
540
+
541
+ ### unregister()
542
+
543
+ > `static` **unregister**(`name`): `void`
544
+
545
+ Defined in: [src/field.ts:53](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/field.ts#L53)
546
+
547
+ #### Parameters
548
+
549
+ ##### name
550
+
551
+ `string`
552
+
553
+ #### Returns
554
+
555
+ `void`
556
+
557
+ #### Inherited from
558
+
559
+ [`Field`](Field.md).[`unregister`](Field.md#unregister)
@@ -0,0 +1,172 @@
1
+ [**Kabel Project Docs v1.0.6**](../README.md)
2
+
3
+ ***
4
+
5
+ [Kabel Project Docs](../globals.md) / Toolbox
6
+
7
+ # Class: Toolbox
8
+
9
+ Defined in: [src/toolbox.ts:10](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/toolbox.ts#L10)
10
+
11
+ Represents the toolbox in a Kabel workspace.
12
+ The toolbox can be either a flyout or a category-based toolbox.
13
+
14
+ ## Constructors
15
+
16
+ ### Constructor
17
+
18
+ > **new Toolbox**(`workspace`): `Toolbox`
19
+
20
+ Defined in: [src/toolbox.ts:36](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/toolbox.ts#L36)
21
+
22
+ Creates a new Toolbox instance attached to a workspace.
23
+
24
+ #### Parameters
25
+
26
+ ##### workspace
27
+
28
+ [`WorkspaceSvg`](WorkspaceSvg.md)
29
+
30
+ The workspace instance to attach this toolbox to
31
+
32
+ #### Returns
33
+
34
+ `Toolbox`
35
+
36
+ ## Properties
37
+
38
+ ### \_categories
39
+
40
+ > **\_categories**: `Category`[] = `[]`
41
+
42
+ Defined in: [src/toolbox.ts:30](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/toolbox.ts#L30)
43
+
44
+ List of categories (if using a category toolbox)
45
+
46
+ ***
47
+
48
+ ### \_contents
49
+
50
+ > **\_contents**: [`TblxNodeStruct`](../interfaces/TblxNodeStruct.md)[] \| [`TblxCategoryStruct`](../interfaces/TblxCategoryStruct.md)[]
51
+
52
+ Defined in: [src/toolbox.ts:24](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/toolbox.ts#L24)
53
+
54
+ Contents of the toolbox (nodes or categories)
55
+
56
+ ***
57
+
58
+ ### \_flyout
59
+
60
+ > **\_flyout**: `Flyout`
61
+
62
+ Defined in: [src/toolbox.ts:21](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/toolbox.ts#L21)
63
+
64
+ Flyout instance for node display
65
+
66
+ ***
67
+
68
+ ### container
69
+
70
+ > **container**: `HTMLDivElement`
71
+
72
+ Defined in: [src/toolbox.ts:27](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/toolbox.ts#L27)
73
+
74
+ DOM container element for the toolbox
75
+
76
+ ***
77
+
78
+ ### type
79
+
80
+ > **type**: `1` \| `2`
81
+
82
+ Defined in: [src/toolbox.ts:12](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/toolbox.ts#L12)
83
+
84
+ Toolbox type: 1 = category toolbox, 2 = flyout toolbox
85
+
86
+ ***
87
+
88
+ ### workspace
89
+
90
+ > **workspace**: [`WorkspaceSvg`](WorkspaceSvg.md)
91
+
92
+ Defined in: [src/toolbox.ts:15](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/toolbox.ts#L15)
93
+
94
+ Reference to the workspace this toolbox belongs to
95
+
96
+ ***
97
+
98
+ ### wsOptions
99
+
100
+ > **wsOptions**: [`InjectOptions`](../interfaces/InjectOptions.md)
101
+
102
+ Defined in: [src/toolbox.ts:18](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/toolbox.ts#L18)
103
+
104
+ Workspace options for initialization
105
+
106
+ ## Methods
107
+
108
+ ### getOptions()
109
+
110
+ > **getOptions**(): [`InjectOptions`](../interfaces/InjectOptions.md)
111
+
112
+ Defined in: [src/toolbox.ts:95](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/toolbox.ts#L95)
113
+
114
+ Retrieves the workspace options.
115
+
116
+ #### Returns
117
+
118
+ [`InjectOptions`](../interfaces/InjectOptions.md)
119
+
120
+ The workspace's InjectOptions
121
+
122
+ ***
123
+
124
+ ### initCategoryToolbox()
125
+
126
+ > **initCategoryToolbox**(): `void`
127
+
128
+ Defined in: [src/toolbox.ts:103](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/toolbox.ts#L103)
129
+
130
+ Initializes a category-based toolbox.
131
+ Converts the toolbox contents into Category instances and attaches them.
132
+
133
+ #### Returns
134
+
135
+ `void`
136
+
137
+ ***
138
+
139
+ ### initFlyoutToolbox()
140
+
141
+ > **initFlyoutToolbox**(): `void`
142
+
143
+ Defined in: [src/toolbox.ts:118](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/toolbox.ts#L118)
144
+
145
+ Initializes a flyout toolbox.
146
+ Fills the flyout with the node definitions from the toolbox contents.
147
+
148
+ #### Returns
149
+
150
+ `void`
151
+
152
+ ***
153
+
154
+ ### updateStyles()
155
+
156
+ > **updateStyles**(`theme`): `void`
157
+
158
+ Defined in: [src/toolbox.ts:67](https://github.com/FentFentFent/Kabel/blob/6a658c7afa967c18ecfb5cdff24af90b7d7319c3/src/toolbox.ts#L67)
159
+
160
+ Applies a WSTheme to the toolbox and flyout elements.
161
+
162
+ #### Parameters
163
+
164
+ ##### theme
165
+
166
+ `WSTheme`
167
+
168
+ The workspace theme to apply
169
+
170
+ #### Returns
171
+
172
+ `void`