@arcanejs/toolkit 6.0.1 → 7.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/README.md +156 -12
  2. package/dist/backend/components/base.d.mts +1 -1
  3. package/dist/backend/components/base.d.ts +1 -1
  4. package/dist/backend/components/button.d.mts +1 -1
  5. package/dist/backend/components/button.d.ts +1 -1
  6. package/dist/backend/components/button.js +2 -2
  7. package/dist/backend/components/button.mjs +1 -1
  8. package/dist/backend/components/group.d.mts +1 -1
  9. package/dist/backend/components/group.d.ts +1 -1
  10. package/dist/backend/components/group.js +2 -2
  11. package/dist/backend/components/group.mjs +1 -1
  12. package/dist/backend/components/label.d.mts +2 -2
  13. package/dist/backend/components/label.d.ts +2 -2
  14. package/dist/backend/components/label.js +2 -2
  15. package/dist/backend/components/label.mjs +1 -1
  16. package/dist/backend/components/rect.d.mts +2 -2
  17. package/dist/backend/components/rect.d.ts +2 -2
  18. package/dist/backend/components/rect.js +2 -2
  19. package/dist/backend/components/rect.mjs +1 -1
  20. package/dist/backend/components/slider-button.d.mts +2 -2
  21. package/dist/backend/components/slider-button.d.ts +2 -2
  22. package/dist/backend/components/slider-button.js +2 -2
  23. package/dist/backend/components/slider-button.mjs +1 -1
  24. package/dist/backend/components/switch.d.mts +2 -2
  25. package/dist/backend/components/switch.d.ts +2 -2
  26. package/dist/backend/components/switch.js +2 -2
  27. package/dist/backend/components/switch.mjs +1 -1
  28. package/dist/backend/components/tabs.d.mts +3 -3
  29. package/dist/backend/components/tabs.d.ts +3 -3
  30. package/dist/backend/components/tabs.js +2 -2
  31. package/dist/backend/components/tabs.mjs +1 -1
  32. package/dist/backend/components/text-input.d.mts +2 -2
  33. package/dist/backend/components/text-input.d.ts +2 -2
  34. package/dist/backend/components/text-input.js +2 -2
  35. package/dist/backend/components/text-input.mjs +1 -1
  36. package/dist/backend/components/timeline.d.mts +2 -2
  37. package/dist/backend/components/timeline.d.ts +2 -2
  38. package/dist/backend/components/timeline.js +2 -2
  39. package/dist/backend/components/timeline.mjs +1 -1
  40. package/dist/{chunk-53EOA4UE.js → chunk-2K4UT5QB.js} +1 -1
  41. package/dist/{chunk-4OCRZD4F.js → chunk-4AGKM5NT.js} +1 -1
  42. package/dist/{chunk-QAH2OSHR.js → chunk-5B65Q7RL.js} +1 -1
  43. package/dist/{chunk-3TXBS2UN.mjs → chunk-6PS3Q66F.mjs} +1 -1
  44. package/dist/{chunk-LK6MGXYC.mjs → chunk-7MQHRTBE.mjs} +1 -1
  45. package/dist/{chunk-U6FSQBQ3.js → chunk-A3RWE7HZ.js} +6 -4
  46. package/dist/{chunk-NL3W4M7J.js → chunk-CVY55KAR.js} +1 -1
  47. package/dist/{chunk-WDB3IMOP.mjs → chunk-GXJ3JRRK.mjs} +1 -1
  48. package/dist/{chunk-HTCWMJUA.js → chunk-IV3AE3CW.js} +1 -1
  49. package/dist/{chunk-UQWCTVMC.mjs → chunk-JHWFQLLE.mjs} +1 -1
  50. package/dist/{chunk-QB2WPBWV.mjs → chunk-K6V55JTG.mjs} +1 -1
  51. package/dist/{chunk-PG5EAV5X.mjs → chunk-MHSAHTVN.mjs} +1 -1
  52. package/dist/{chunk-KMEDXCBI.mjs → chunk-R5OA7LLZ.mjs} +6 -4
  53. package/dist/{chunk-6ELB27LK.mjs → chunk-RJLYYTZ6.mjs} +1 -1
  54. package/dist/{chunk-3GTEUTFT.js → chunk-TF7N4O5G.js} +1 -1
  55. package/dist/{chunk-E6FGU7DA.mjs → chunk-TULW7CRV.mjs} +4 -4
  56. package/dist/{chunk-6QWYIJLM.js → chunk-UHEZQR2Q.js} +1 -1
  57. package/dist/{chunk-7JIC2XBC.js → chunk-XSKWLJOQ.js} +4 -4
  58. package/dist/frontend/entrypoint.css +836 -0
  59. package/dist/frontend/entrypoint.css.map +7 -0
  60. package/dist/frontend/entrypoint.js +26048 -26682
  61. package/dist/frontend/entrypoint.js.map +4 -4
  62. package/dist/frontend/index.d.mts +4 -6
  63. package/dist/frontend/index.d.ts +4 -6
  64. package/dist/frontend/index.js +82 -300
  65. package/dist/frontend/index.mjs +89 -307
  66. package/dist/index.d.mts +1 -1
  67. package/dist/index.d.ts +1 -1
  68. package/dist/index.js +280 -98
  69. package/dist/index.mjs +250 -68
  70. package/dist/{toolkit-CohVRj6u.d.mts → toolkit-BPqxbDbk.d.mts} +82 -19
  71. package/dist/{toolkit-C_2Y8N9R.d.ts → toolkit-Bglbv3ix.d.ts} +82 -19
  72. package/package.json +15 -20
package/README.md CHANGED
@@ -2,18 +2,162 @@
2
2
 
3
3
  [![NPM Version](https://img.shields.io/npm/v/%40arcanejs%2Ftoolkit)](https://www.npmjs.com/package/@arcanejs/toolkit)
4
4
 
5
- This package provides the core functionality behind the ArcaneJS framework,
6
- allowing you to quickly build single-process Node.js apps with
7
- real-time interactive control panels that are exposed as web pages.
5
+ Core server/runtime package for ArcaneJS control panels.
8
6
 
9
- This library provides a tree-like API for creating & updating control panels,
10
- and responding to user input.
7
+ `@arcanejs/toolkit` provides:
11
8
 
12
- We highly-recommend that rather than integrating with this library directly,
13
- you make use of the
14
- [`@arcanejs/react-toolkit`](https://www.npmjs.com/package/@arcanejs/react-toolkit)
15
- library, that allows you to compose your control panels using server-side react.
9
+ - A server-side component tree (`Group`, `Button`, `Switch`, etc.)
10
+ - HTTP + WebSocket transport for syncing state to browsers
11
+ - Per-connection tree sync (`tree-full` + `tree-diff`)
12
+ - Routing for fire-and-forget messages and request/response calls
16
13
 
17
- For more details,
18
- please see the main documentation on our GitHub repository:
19
- [github.com/ArcaneWizards/arcanejs](https://github.com/ArcaneWizards/arcanejs#arcanejs)
14
+ Most users should pair this with [`@arcanejs/react-toolkit`](https://www.npmjs.com/package/@arcanejs/react-toolkit), but this package can also be used directly.
15
+
16
+ ## Install
17
+
18
+ ```bash
19
+ npm install @arcanejs/toolkit
20
+ ```
21
+
22
+ If you use the default Arcane frontend renderer, install React peers:
23
+
24
+ ```bash
25
+ npm install react@^19.2.0 react-dom@^19.2.0
26
+ ```
27
+
28
+ ## Quick Start (Without React)
29
+
30
+ ```ts
31
+ import { Toolkit, Group, Button, Label } from '@arcanejs/toolkit';
32
+
33
+ const toolkit = new Toolkit({
34
+ title: 'My Control Panel',
35
+ path: '/',
36
+ });
37
+
38
+ toolkit.start({
39
+ mode: 'automatic',
40
+ port: 3000,
41
+ });
42
+
43
+ const root = new Group({ direction: 'vertical', title: 'Controls' });
44
+ const status = new Label({ text: 'Idle' });
45
+ const trigger = new Button({
46
+ text: 'Run',
47
+ onClick: async () => {
48
+ status.setText('Running...');
49
+ await doWork();
50
+ status.setText('Done');
51
+ },
52
+ });
53
+
54
+ root.appendChildren(status, trigger);
55
+ toolkit.setRoot(root);
56
+ ```
57
+
58
+ ## Public API
59
+
60
+ ### Top-level exports
61
+
62
+ - `Toolkit`
63
+ - Components: `Button`, `Group`, `GroupHeader`, `Label`, `Rect`, `SliderButton`, `Switch`, `Tab`, `Tabs`, `TextInput`, `Timeline`
64
+ - Types: `ToolkitOptions`, `ToolkitConnection`, `ToolkitRenderContext`, `ToolkitServerListenerOptions`, `ToolkitServerListener`, `AnyComponent`
65
+
66
+ ### Subpath exports
67
+
68
+ - `@arcanejs/toolkit/components/*`: component classes and types
69
+ - `@arcanejs/toolkit/components/base`: `Base`, `BaseParent`, `EventEmitter`, related types
70
+ - `@arcanejs/toolkit/frontend`: browser entrypoint helpers (`startArcaneFrontend`)
71
+ - `@arcanejs/toolkit/util`: utility exports like `HUE_GRADIENT` and `IDMap`
72
+
73
+ `startArcaneFrontend(...)` supports:
74
+
75
+ - `renderers`: frontend component renderer list
76
+ - `themeRootProps?: React.HTMLAttributes<HTMLDivElement>` (root theme container props)
77
+ - `loadingState?: () => ReactNode` (custom render output while waiting for initial websocket metadata/tree sync)
78
+
79
+ Theme switching is handled by Arcane via root classes (`theme-auto`, `theme-dark`, `theme-light`). Theme customization is CSS-only by overriding Arcane CSS variables in your entrypoint stylesheet.
80
+
81
+ ## Toolkit Lifecycle
82
+
83
+ `Toolkit.start(...)` supports three modes:
84
+
85
+ - `automatic`: creates internal HTTP + WebSocket server on a port
86
+ - `express`: attaches websocket handling + route mounting to existing Express/HTTP server
87
+ - `manual`: gives direct access to `Server` for custom integration
88
+
89
+ `Toolkit.listen(...)` is also available when you want direct lifecycle control and a closable listener handle.
90
+
91
+ ## Toolkit Options
92
+
93
+ `new Toolkit(options)` supports:
94
+
95
+ - `title?: string`: page title
96
+ - `path: string` (default: `/`): route prefix where Arcane UI is served
97
+ - `log?: Logger`: optional logger (`debug`, `info`, `warn`, `error`)
98
+ - `entrypointJsFile?: string`: custom frontend bundle path for custom namespaces/components. ArcaneJS expects a same-basename stylesheet (`.css`) to exist for this entrypoint so styles can be served automatically. Source maps (`.js.map`, `.css.map`) are optional and exposed when present.
99
+ - `materialIconsFontFile?: string`: explicit path to `material-symbols-outlined.woff2` when auto-resolution is not possible
100
+ - `additionalFiles?: Record<string, () => Promise<{ contentType: string; content: Buffer }>>`: additional static files served from the toolkit path. Keys are relative request paths (for example `styles/app.css` -> `/your-path/styles/app.css`), and must not start with `/`.
101
+ - `htmlPage?: (context) => string | Promise<string>`: custom HTML renderer for the root route. Context includes:
102
+ - `coreAssets`: URLs for built-in toolkit static assets (`materialSymbolsOutlined`, `entrypointJs`, `entrypointJsMap`, `entrypointCss`, `entrypointCssMap`)
103
+ - `assetUrls`: URL mapping for all static assets by relative path (core + `additionalFiles`)
104
+ - `title`, `path`
105
+ - `clockSync?: false | { pingIntervalMs: number }`: optional browser/server clock synchronization. When enabled via object options, frontend stage context exposes `timeDifferenceMs` and `lastPingMs`.
106
+
107
+ Important constraint:
108
+
109
+ - `path` must start and end with `/` (for example: `/`, `/control/`)
110
+
111
+ ## Building Custom Frontend Entrypoints
112
+
113
+ When using `entrypointJsFile`, build your browser bundle with
114
+ [`@arcanejs/build-utils`](https://www.npmjs.com/package/@arcanejs/build-utils):
115
+
116
+ ```bash
117
+ arcane-build-frontend \
118
+ --entry src/frontend.tsx \
119
+ --outfile dist/custom-entrypoint.js \
120
+ --sourcemap
121
+ ```
122
+
123
+ Import `@arcanejs/toolkit-frontend/styles/core.css` in the entrypoint so Arcane
124
+ core styles are included in the emitted `.css` sidecar.
125
+
126
+ ## Events and Connections
127
+
128
+ `Toolkit` emits:
129
+
130
+ - `new-connection`: when a browser connects
131
+ - `closed-connection`: when a browser disconnects
132
+
133
+ Use `toolkit.getConnections()` to inspect active connections. Each connection has a stable `uuid`.
134
+
135
+ ## Component Notes
136
+
137
+ Core components are stateful server objects. Notable interaction behavior:
138
+
139
+ - `Button` uses request/response call flow (`press` action)
140
+ - `Switch` and `SliderButton` support controlled and uncontrolled usage
141
+ - `TextInput` updates value from browser messages
142
+ - `Group` supports editable titles and collapsible defaults (`open`, `closed`, `auto`)
143
+ - `Tabs` only accepts `Tab` children
144
+
145
+ ## Architectural Constraints
146
+
147
+ - Single-process architecture by design
148
+ - No built-in authentication/authorization
149
+ - `Toolkit.setRoot(...)` can only be called once
150
+ - Tree updates are throttled internally and rendered per active connection
151
+
152
+ ## Related Packages
153
+
154
+ - [`@arcanejs/react-toolkit`](https://www.npmjs.com/package/@arcanejs/react-toolkit): React renderer for composing server-side component trees
155
+ - [`@arcanejs/toolkit-frontend`](https://www.npmjs.com/package/@arcanejs/toolkit-frontend): browser renderer components and stage context
156
+ - [`@arcanejs/protocol`](https://www.npmjs.com/package/@arcanejs/protocol): wire protocol types
157
+ - [`@arcanejs/diff`](https://www.npmjs.com/package/@arcanejs/diff): JSON diff/patch engine
158
+
159
+ ## Examples
160
+
161
+ - React examples: <https://github.com/ArcaneWizards/arcanejs/tree/main/examples/react>
162
+ - Core API examples (no React renderer): <https://github.com/ArcaneWizards/arcanejs/tree/main/examples/core>
163
+ - Custom namespace end-to-end example: <https://github.com/ArcaneWizards/arcanejs/tree/main/examples/custom-components>
@@ -1,7 +1,7 @@
1
1
  import '@arcanejs/protocol';
2
2
  import '../../id-map-DxQ3_gyA.mjs';
3
3
  import '@arcanejs/protocol/logging';
4
- export { A as AnyComponent, f as Base, g as BaseParent, E as EventEmitter, L as Listenable, P as Parent } from '../../toolkit-CohVRj6u.mjs';
4
+ export { A as AnyComponent, m as Base, n as BaseParent, E as EventEmitter, L as Listenable, P as Parent } from '../../toolkit-BPqxbDbk.mjs';
5
5
  import 'lodash';
6
6
  import 'http';
7
7
  import 'express';
@@ -1,7 +1,7 @@
1
1
  import '@arcanejs/protocol';
2
2
  import '../../id-map-DxQ3_gyA.js';
3
3
  import '@arcanejs/protocol/logging';
4
- export { A as AnyComponent, f as Base, g as BaseParent, E as EventEmitter, L as Listenable, P as Parent } from '../../toolkit-C_2Y8N9R.js';
4
+ export { A as AnyComponent, m as Base, n as BaseParent, E as EventEmitter, L as Listenable, P as Parent } from '../../toolkit-Bglbv3ix.js';
5
5
  import 'lodash';
6
6
  import 'http';
7
7
  import 'express';
@@ -1,6 +1,6 @@
1
1
  import '@arcanejs/protocol/core';
2
2
  import '../../id-map-DxQ3_gyA.mjs';
3
- export { B as Button, i as ButtonMode, h as Events, I as InternalProps, j as Props } from '../../toolkit-CohVRj6u.mjs';
3
+ export { B as Button, p as ButtonMode, o as Events, I as InternalProps, q as Props } from '../../toolkit-BPqxbDbk.mjs';
4
4
  import '@arcanejs/protocol';
5
5
  import '@arcanejs/protocol/logging';
6
6
  import 'lodash';
@@ -1,6 +1,6 @@
1
1
  import '@arcanejs/protocol/core';
2
2
  import '../../id-map-DxQ3_gyA.js';
3
- export { B as Button, i as ButtonMode, h as Events, I as InternalProps, j as Props } from '../../toolkit-C_2Y8N9R.js';
3
+ export { B as Button, p as ButtonMode, o as Events, I as InternalProps, q as Props } from '../../toolkit-Bglbv3ix.js';
4
4
  import '@arcanejs/protocol';
5
5
  import '@arcanejs/protocol/logging';
6
6
  import 'lodash';
@@ -1,8 +1,8 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunk4OCRZD4Fjs = require('../../chunk-4OCRZD4F.js');
3
+ var _chunk4AGKM5NTjs = require('../../chunk-4AGKM5NT.js');
4
4
  require('../../chunk-WN3GXVUE.js');
5
5
  require('../../chunk-3RG5ZIWI.js');
6
6
 
7
7
 
8
- exports.Button = _chunk4OCRZD4Fjs.Button;
8
+ exports.Button = _chunk4AGKM5NTjs.Button;
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  Button
3
- } from "../../chunk-LK6MGXYC.mjs";
3
+ } from "../../chunk-7MQHRTBE.mjs";
4
4
  import "../../chunk-GONHNB6V.mjs";
5
5
  import "../../chunk-Y6FXYEAI.mjs";
6
6
  export {
@@ -1,7 +1,7 @@
1
1
  import '@arcanejs/protocol/core';
2
2
  import '@arcanejs/protocol/styles';
3
3
  import '../../id-map-DxQ3_gyA.mjs';
4
- export { k as Events, G as Group, e as GroupHeader, l as InternalProps, m as Props } from '../../toolkit-CohVRj6u.mjs';
4
+ export { r as Events, G as Group, l as GroupHeader, s as InternalProps, t as Props } from '../../toolkit-BPqxbDbk.mjs';
5
5
  import '@arcanejs/protocol';
6
6
  import '@arcanejs/protocol/logging';
7
7
  import 'lodash';
@@ -1,7 +1,7 @@
1
1
  import '@arcanejs/protocol/core';
2
2
  import '@arcanejs/protocol/styles';
3
3
  import '../../id-map-DxQ3_gyA.js';
4
- export { k as Events, G as Group, e as GroupHeader, l as InternalProps, m as Props } from '../../toolkit-C_2Y8N9R.js';
4
+ export { r as Events, G as Group, l as GroupHeader, s as InternalProps, t as Props } from '../../toolkit-Bglbv3ix.js';
5
5
  import '@arcanejs/protocol';
6
6
  import '@arcanejs/protocol/logging';
7
7
  import 'lodash';
@@ -1,10 +1,10 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
3
 
4
- var _chunk7JIC2XBCjs = require('../../chunk-7JIC2XBC.js');
4
+ var _chunkXSKWLJOQjs = require('../../chunk-XSKWLJOQ.js');
5
5
  require('../../chunk-WN3GXVUE.js');
6
6
  require('../../chunk-3RG5ZIWI.js');
7
7
 
8
8
 
9
9
 
10
- exports.Group = _chunk7JIC2XBCjs.Group; exports.GroupHeader = _chunk7JIC2XBCjs.GroupHeader;
10
+ exports.Group = _chunkXSKWLJOQjs.Group; exports.GroupHeader = _chunkXSKWLJOQjs.GroupHeader;
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  Group,
3
3
  GroupHeader
4
- } from "../../chunk-E6FGU7DA.mjs";
4
+ } from "../../chunk-TULW7CRV.mjs";
5
5
  import "../../chunk-GONHNB6V.mjs";
6
6
  import "../../chunk-Y6FXYEAI.mjs";
7
7
  export {
@@ -1,7 +1,7 @@
1
1
  import * as proto from '@arcanejs/protocol/core';
2
2
  import { LabelComponentStyle } from '@arcanejs/protocol/styles';
3
3
  import { I as IDMap } from '../../id-map-DxQ3_gyA.mjs';
4
- import { f as Base } from '../../toolkit-CohVRj6u.mjs';
4
+ import { m as Base, b as ToolkitRenderContext } from '../../toolkit-BPqxbDbk.mjs';
5
5
  import '@arcanejs/protocol/logging';
6
6
  import 'lodash';
7
7
  import 'http';
@@ -22,7 +22,7 @@ type Props = InternalProps;
22
22
  declare class Label extends Base<proto.CoreNamespace, proto.LabelComponent, InternalProps> {
23
23
  constructor(props?: Props);
24
24
  /** @hidden */
25
- getProtoInfo(idMap: IDMap): proto.LabelComponent;
25
+ getProtoInfo(idMap: IDMap, _context: ToolkitRenderContext): proto.LabelComponent;
26
26
  setText(text: string): Label;
27
27
  }
28
28
 
@@ -1,7 +1,7 @@
1
1
  import * as proto from '@arcanejs/protocol/core';
2
2
  import { LabelComponentStyle } from '@arcanejs/protocol/styles';
3
3
  import { I as IDMap } from '../../id-map-DxQ3_gyA.js';
4
- import { f as Base } from '../../toolkit-C_2Y8N9R.js';
4
+ import { m as Base, b as ToolkitRenderContext } from '../../toolkit-Bglbv3ix.js';
5
5
  import '@arcanejs/protocol/logging';
6
6
  import 'lodash';
7
7
  import 'http';
@@ -22,7 +22,7 @@ type Props = InternalProps;
22
22
  declare class Label extends Base<proto.CoreNamespace, proto.LabelComponent, InternalProps> {
23
23
  constructor(props?: Props);
24
24
  /** @hidden */
25
- getProtoInfo(idMap: IDMap): proto.LabelComponent;
25
+ getProtoInfo(idMap: IDMap, _context: ToolkitRenderContext): proto.LabelComponent;
26
26
  setText(text: string): Label;
27
27
  }
28
28
 
@@ -1,8 +1,8 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunk3GTEUTFTjs = require('../../chunk-3GTEUTFT.js');
3
+ var _chunkTF7N4O5Gjs = require('../../chunk-TF7N4O5G.js');
4
4
  require('../../chunk-WN3GXVUE.js');
5
5
  require('../../chunk-3RG5ZIWI.js');
6
6
 
7
7
 
8
- exports.Label = _chunk3GTEUTFTjs.Label;
8
+ exports.Label = _chunkTF7N4O5Gjs.Label;
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  Label
3
- } from "../../chunk-UQWCTVMC.mjs";
3
+ } from "../../chunk-JHWFQLLE.mjs";
4
4
  import "../../chunk-GONHNB6V.mjs";
5
5
  import "../../chunk-Y6FXYEAI.mjs";
6
6
  export {
@@ -1,6 +1,6 @@
1
1
  import * as proto from '@arcanejs/protocol/core';
2
2
  import { I as IDMap } from '../../id-map-DxQ3_gyA.mjs';
3
- import { f as Base } from '../../toolkit-CohVRj6u.mjs';
3
+ import { m as Base, b as ToolkitRenderContext } from '../../toolkit-BPqxbDbk.mjs';
4
4
  import '@arcanejs/protocol/logging';
5
5
  import 'lodash';
6
6
  import 'http';
@@ -19,7 +19,7 @@ type Props = Partial<InternalProps>;
19
19
  declare class Rect extends Base<proto.CoreNamespace, proto.CoreComponent, InternalProps> {
20
20
  constructor(props?: Props);
21
21
  /** @hidden */
22
- getProtoInfo(idMap: IDMap): proto.CoreComponent;
22
+ getProtoInfo(idMap: IDMap, _context: ToolkitRenderContext): proto.CoreComponent;
23
23
  setColor(color: string): Rect;
24
24
  }
25
25
 
@@ -1,6 +1,6 @@
1
1
  import * as proto from '@arcanejs/protocol/core';
2
2
  import { I as IDMap } from '../../id-map-DxQ3_gyA.js';
3
- import { f as Base } from '../../toolkit-C_2Y8N9R.js';
3
+ import { m as Base, b as ToolkitRenderContext } from '../../toolkit-Bglbv3ix.js';
4
4
  import '@arcanejs/protocol/logging';
5
5
  import 'lodash';
6
6
  import 'http';
@@ -19,7 +19,7 @@ type Props = Partial<InternalProps>;
19
19
  declare class Rect extends Base<proto.CoreNamespace, proto.CoreComponent, InternalProps> {
20
20
  constructor(props?: Props);
21
21
  /** @hidden */
22
- getProtoInfo(idMap: IDMap): proto.CoreComponent;
22
+ getProtoInfo(idMap: IDMap, _context: ToolkitRenderContext): proto.CoreComponent;
23
23
  setColor(color: string): Rect;
24
24
  }
25
25
 
@@ -1,8 +1,8 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunkQAH2OSHRjs = require('../../chunk-QAH2OSHR.js');
3
+ var _chunk5B65Q7RLjs = require('../../chunk-5B65Q7RL.js');
4
4
  require('../../chunk-WN3GXVUE.js');
5
5
  require('../../chunk-3RG5ZIWI.js');
6
6
 
7
7
 
8
- exports.Rect = _chunkQAH2OSHRjs.Rect;
8
+ exports.Rect = _chunk5B65Q7RLjs.Rect;
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  Rect
3
- } from "../../chunk-6ELB27LK.mjs";
3
+ } from "../../chunk-RJLYYTZ6.mjs";
4
4
  import "../../chunk-GONHNB6V.mjs";
5
5
  import "../../chunk-Y6FXYEAI.mjs";
6
6
  export {
@@ -1,6 +1,6 @@
1
1
  import * as proto from '@arcanejs/protocol/core';
2
2
  import { I as IDMap } from '../../id-map-DxQ3_gyA.mjs';
3
- import { a as ToolkitConnection, f as Base, L as Listenable } from '../../toolkit-CohVRj6u.mjs';
3
+ import { a as ToolkitConnection, m as Base, L as Listenable, b as ToolkitRenderContext } from '../../toolkit-BPqxbDbk.mjs';
4
4
  import { AnyClientComponentMessage } from '@arcanejs/protocol';
5
5
  import '@arcanejs/protocol/logging';
6
6
  import 'lodash';
@@ -31,7 +31,7 @@ declare class SliderButton extends Base<proto.CoreNamespace, proto.CoreComponent
31
31
  addListener: <T extends "change">(type: T, listener: Events[T]) => void;
32
32
  removeListener: <T extends "change">(type: T, listener: Events[T]) => void;
33
33
  /** @hidden */
34
- getProtoInfo(idMap: IDMap): proto.CoreComponent;
34
+ getProtoInfo(idMap: IDMap, _context: ToolkitRenderContext): proto.CoreComponent;
35
35
  /** @hidden */
36
36
  handleMessage(message: AnyClientComponentMessage, connection: ToolkitConnection): void;
37
37
  setValue(value: number): void;
@@ -1,6 +1,6 @@
1
1
  import * as proto from '@arcanejs/protocol/core';
2
2
  import { I as IDMap } from '../../id-map-DxQ3_gyA.js';
3
- import { a as ToolkitConnection, f as Base, L as Listenable } from '../../toolkit-C_2Y8N9R.js';
3
+ import { a as ToolkitConnection, m as Base, L as Listenable, b as ToolkitRenderContext } from '../../toolkit-Bglbv3ix.js';
4
4
  import { AnyClientComponentMessage } from '@arcanejs/protocol';
5
5
  import '@arcanejs/protocol/logging';
6
6
  import 'lodash';
@@ -31,7 +31,7 @@ declare class SliderButton extends Base<proto.CoreNamespace, proto.CoreComponent
31
31
  addListener: <T extends "change">(type: T, listener: Events[T]) => void;
32
32
  removeListener: <T extends "change">(type: T, listener: Events[T]) => void;
33
33
  /** @hidden */
34
- getProtoInfo(idMap: IDMap): proto.CoreComponent;
34
+ getProtoInfo(idMap: IDMap, _context: ToolkitRenderContext): proto.CoreComponent;
35
35
  /** @hidden */
36
36
  handleMessage(message: AnyClientComponentMessage, connection: ToolkitConnection): void;
37
37
  setValue(value: number): void;
@@ -1,8 +1,8 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunkNL3W4M7Jjs = require('../../chunk-NL3W4M7J.js');
3
+ var _chunkCVY55KARjs = require('../../chunk-CVY55KAR.js');
4
4
  require('../../chunk-WN3GXVUE.js');
5
5
  require('../../chunk-3RG5ZIWI.js');
6
6
 
7
7
 
8
- exports.SliderButton = _chunkNL3W4M7Jjs.SliderButton;
8
+ exports.SliderButton = _chunkCVY55KARjs.SliderButton;
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SliderButton
3
- } from "../../chunk-QB2WPBWV.mjs";
3
+ } from "../../chunk-K6V55JTG.mjs";
4
4
  import "../../chunk-GONHNB6V.mjs";
5
5
  import "../../chunk-Y6FXYEAI.mjs";
6
6
  export {
@@ -1,6 +1,6 @@
1
1
  import * as proto from '@arcanejs/protocol/core';
2
2
  import { I as IDMap } from '../../id-map-DxQ3_gyA.mjs';
3
- import { a as ToolkitConnection, f as Base, L as Listenable } from '../../toolkit-CohVRj6u.mjs';
3
+ import { a as ToolkitConnection, m as Base, L as Listenable, b as ToolkitRenderContext } from '../../toolkit-BPqxbDbk.mjs';
4
4
  import { AnyClientComponentMessage } from '@arcanejs/protocol';
5
5
  import '@arcanejs/protocol/logging';
6
6
  import 'lodash';
@@ -30,7 +30,7 @@ declare class Switch extends Base<proto.CoreNamespace, proto.CoreComponent, Inte
30
30
  addListener: <T extends "change">(type: T, listener: Events[T]) => void;
31
31
  removeListener: <T extends "change">(type: T, listener: Events[T]) => void;
32
32
  /** @hidden */
33
- getProtoInfo(idMap: IDMap): proto.CoreComponent;
33
+ getProtoInfo(idMap: IDMap, _context: ToolkitRenderContext): proto.CoreComponent;
34
34
  /** @hidden */
35
35
  handleMessage(message: AnyClientComponentMessage, connection: ToolkitConnection): void;
36
36
  setValue(state: 'on' | 'off'): void;
@@ -1,6 +1,6 @@
1
1
  import * as proto from '@arcanejs/protocol/core';
2
2
  import { I as IDMap } from '../../id-map-DxQ3_gyA.js';
3
- import { a as ToolkitConnection, f as Base, L as Listenable } from '../../toolkit-C_2Y8N9R.js';
3
+ import { a as ToolkitConnection, m as Base, L as Listenable, b as ToolkitRenderContext } from '../../toolkit-Bglbv3ix.js';
4
4
  import { AnyClientComponentMessage } from '@arcanejs/protocol';
5
5
  import '@arcanejs/protocol/logging';
6
6
  import 'lodash';
@@ -30,7 +30,7 @@ declare class Switch extends Base<proto.CoreNamespace, proto.CoreComponent, Inte
30
30
  addListener: <T extends "change">(type: T, listener: Events[T]) => void;
31
31
  removeListener: <T extends "change">(type: T, listener: Events[T]) => void;
32
32
  /** @hidden */
33
- getProtoInfo(idMap: IDMap): proto.CoreComponent;
33
+ getProtoInfo(idMap: IDMap, _context: ToolkitRenderContext): proto.CoreComponent;
34
34
  /** @hidden */
35
35
  handleMessage(message: AnyClientComponentMessage, connection: ToolkitConnection): void;
36
36
  setValue(state: 'on' | 'off'): void;
@@ -1,8 +1,8 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunk53EOA4UEjs = require('../../chunk-53EOA4UE.js');
3
+ var _chunk2K4UT5QBjs = require('../../chunk-2K4UT5QB.js');
4
4
  require('../../chunk-WN3GXVUE.js');
5
5
  require('../../chunk-3RG5ZIWI.js');
6
6
 
7
7
 
8
- exports.Switch = _chunk53EOA4UEjs.Switch;
8
+ exports.Switch = _chunk2K4UT5QBjs.Switch;
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  Switch
3
- } from "../../chunk-PG5EAV5X.mjs";
3
+ } from "../../chunk-MHSAHTVN.mjs";
4
4
  import "../../chunk-GONHNB6V.mjs";
5
5
  import "../../chunk-Y6FXYEAI.mjs";
6
6
  export {
@@ -1,6 +1,6 @@
1
1
  import * as proto from '@arcanejs/protocol/core';
2
2
  import { I as IDMap } from '../../id-map-DxQ3_gyA.mjs';
3
- import { g as BaseParent, A as AnyComponent } from '../../toolkit-CohVRj6u.mjs';
3
+ import { n as BaseParent, A as AnyComponent, b as ToolkitRenderContext } from '../../toolkit-BPqxbDbk.mjs';
4
4
  import '@arcanejs/protocol/logging';
5
5
  import 'lodash';
6
6
  import 'http';
@@ -20,7 +20,7 @@ type TabProps = InternalTabProps;
20
20
  declare class Tab extends BaseParent<proto.CoreNamespace, proto.CoreComponent, InternalTabProps> {
21
21
  validateChildren: (children: AnyComponent[]) => void;
22
22
  /** @hidden */
23
- getProtoInfo: (idMap: IDMap) => proto.TabComponent;
23
+ getProtoInfo: (idMap: IDMap, context: ToolkitRenderContext) => proto.TabComponent;
24
24
  }
25
25
  type InternalTabsProps = Record<never, never>;
26
26
  type TabsProps = InternalTabsProps;
@@ -30,7 +30,7 @@ declare class Tabs extends BaseParent<proto.CoreNamespace, proto.CoreComponent,
30
30
  addTabs(...tabs: TabDefinition[]): void;
31
31
  addTab<C extends AnyComponent>(name: string, component: C): C;
32
32
  /** @hidden */
33
- getProtoInfo(idMap: IDMap): proto.TabsComponent;
33
+ getProtoInfo(idMap: IDMap, context: ToolkitRenderContext): proto.TabsComponent;
34
34
  }
35
35
 
36
36
  export { Tab, type TabProps, Tabs, type TabsProps };
@@ -1,6 +1,6 @@
1
1
  import * as proto from '@arcanejs/protocol/core';
2
2
  import { I as IDMap } from '../../id-map-DxQ3_gyA.js';
3
- import { g as BaseParent, A as AnyComponent } from '../../toolkit-C_2Y8N9R.js';
3
+ import { n as BaseParent, A as AnyComponent, b as ToolkitRenderContext } from '../../toolkit-Bglbv3ix.js';
4
4
  import '@arcanejs/protocol/logging';
5
5
  import 'lodash';
6
6
  import 'http';
@@ -20,7 +20,7 @@ type TabProps = InternalTabProps;
20
20
  declare class Tab extends BaseParent<proto.CoreNamespace, proto.CoreComponent, InternalTabProps> {
21
21
  validateChildren: (children: AnyComponent[]) => void;
22
22
  /** @hidden */
23
- getProtoInfo: (idMap: IDMap) => proto.TabComponent;
23
+ getProtoInfo: (idMap: IDMap, context: ToolkitRenderContext) => proto.TabComponent;
24
24
  }
25
25
  type InternalTabsProps = Record<never, never>;
26
26
  type TabsProps = InternalTabsProps;
@@ -30,7 +30,7 @@ declare class Tabs extends BaseParent<proto.CoreNamespace, proto.CoreComponent,
30
30
  addTabs(...tabs: TabDefinition[]): void;
31
31
  addTab<C extends AnyComponent>(name: string, component: C): C;
32
32
  /** @hidden */
33
- getProtoInfo(idMap: IDMap): proto.TabsComponent;
33
+ getProtoInfo(idMap: IDMap, context: ToolkitRenderContext): proto.TabsComponent;
34
34
  }
35
35
 
36
36
  export { Tab, type TabProps, Tabs, type TabsProps };
@@ -1,10 +1,10 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
3
 
4
- var _chunkU6FSQBQ3js = require('../../chunk-U6FSQBQ3.js');
4
+ var _chunkA3RWE7HZjs = require('../../chunk-A3RWE7HZ.js');
5
5
  require('../../chunk-WN3GXVUE.js');
6
6
  require('../../chunk-3RG5ZIWI.js');
7
7
 
8
8
 
9
9
 
10
- exports.Tab = _chunkU6FSQBQ3js.Tab; exports.Tabs = _chunkU6FSQBQ3js.Tabs;
10
+ exports.Tab = _chunkA3RWE7HZjs.Tab; exports.Tabs = _chunkA3RWE7HZjs.Tabs;
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  Tab,
3
3
  Tabs
4
- } from "../../chunk-KMEDXCBI.mjs";
4
+ } from "../../chunk-R5OA7LLZ.mjs";
5
5
  import "../../chunk-GONHNB6V.mjs";
6
6
  import "../../chunk-Y6FXYEAI.mjs";
7
7
  export {
@@ -1,6 +1,6 @@
1
1
  import * as proto from '@arcanejs/protocol/core';
2
2
  import { I as IDMap } from '../../id-map-DxQ3_gyA.mjs';
3
- import { a as ToolkitConnection, f as Base, L as Listenable } from '../../toolkit-CohVRj6u.mjs';
3
+ import { a as ToolkitConnection, m as Base, L as Listenable, b as ToolkitRenderContext } from '../../toolkit-BPqxbDbk.mjs';
4
4
  import { AnyClientComponentMessage } from '@arcanejs/protocol';
5
5
  import '@arcanejs/protocol/logging';
6
6
  import 'lodash';
@@ -24,7 +24,7 @@ declare class TextInput extends Base<proto.CoreNamespace, proto.CoreComponent, I
24
24
  addListener: <T extends "change">(type: T, listener: Events[T]) => void;
25
25
  removeListener: <T extends "change">(type: T, listener: Events[T]) => void;
26
26
  /** @hidden */
27
- getProtoInfo: (idMap: IDMap) => proto.CoreComponent;
27
+ getProtoInfo: (idMap: IDMap, _context: ToolkitRenderContext) => proto.CoreComponent;
28
28
  /** @hidden */
29
29
  handleMessage: (message: AnyClientComponentMessage, connection: ToolkitConnection) => void;
30
30
  getValue: () => string | null;
@@ -1,6 +1,6 @@
1
1
  import * as proto from '@arcanejs/protocol/core';
2
2
  import { I as IDMap } from '../../id-map-DxQ3_gyA.js';
3
- import { a as ToolkitConnection, f as Base, L as Listenable } from '../../toolkit-C_2Y8N9R.js';
3
+ import { a as ToolkitConnection, m as Base, L as Listenable, b as ToolkitRenderContext } from '../../toolkit-Bglbv3ix.js';
4
4
  import { AnyClientComponentMessage } from '@arcanejs/protocol';
5
5
  import '@arcanejs/protocol/logging';
6
6
  import 'lodash';
@@ -24,7 +24,7 @@ declare class TextInput extends Base<proto.CoreNamespace, proto.CoreComponent, I
24
24
  addListener: <T extends "change">(type: T, listener: Events[T]) => void;
25
25
  removeListener: <T extends "change">(type: T, listener: Events[T]) => void;
26
26
  /** @hidden */
27
- getProtoInfo: (idMap: IDMap) => proto.CoreComponent;
27
+ getProtoInfo: (idMap: IDMap, _context: ToolkitRenderContext) => proto.CoreComponent;
28
28
  /** @hidden */
29
29
  handleMessage: (message: AnyClientComponentMessage, connection: ToolkitConnection) => void;
30
30
  getValue: () => string | null;
@@ -1,8 +1,8 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
- var _chunkHTCWMJUAjs = require('../../chunk-HTCWMJUA.js');
3
+ var _chunkIV3AE3CWjs = require('../../chunk-IV3AE3CW.js');
4
4
  require('../../chunk-WN3GXVUE.js');
5
5
  require('../../chunk-3RG5ZIWI.js');
6
6
 
7
7
 
8
- exports.TextInput = _chunkHTCWMJUAjs.TextInput;
8
+ exports.TextInput = _chunkIV3AE3CWjs.TextInput;