lastriko 0.1.4 → 0.1.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 (54) hide show
  1. package/README.md +1 -1
  2. package/dist/__tests__/integration/ws-flow.integration.test.js +38 -140
  3. package/dist/__tests__/integration/ws-flow.integration.test.js.map +1 -1
  4. package/dist/client/events.js +91 -63
  5. package/dist/client/events.js.map +1 -1
  6. package/dist/client/swap.d.ts +14 -1
  7. package/dist/client/swap.js +185 -7
  8. package/dist/client/swap.js.map +1 -1
  9. package/dist/client/ws.d.ts +1 -0
  10. package/dist/client/ws.js +127 -40
  11. package/dist/client/ws.js.map +1 -1
  12. package/dist/client/ws.test.js +5 -309
  13. package/dist/client/ws.test.js.map +1 -1
  14. package/dist/components/context.d.ts +13 -1
  15. package/dist/components/context.js +312 -1
  16. package/dist/components/context.js.map +1 -1
  17. package/dist/components/context.test.js +73 -116
  18. package/dist/components/context.test.js.map +1 -1
  19. package/dist/components/registry.d.ts +2 -2
  20. package/dist/components/registry.js +52 -4
  21. package/dist/components/registry.js.map +1 -1
  22. package/dist/components/types.d.ts +175 -3
  23. package/dist/engine/executor.js +11 -0
  24. package/dist/engine/executor.js.map +1 -1
  25. package/dist/engine/executor.test.js +19 -10
  26. package/dist/engine/executor.test.js.map +1 -1
  27. package/dist/engine/messages.d.ts +9 -1
  28. package/dist/engine/messages.js.map +1 -1
  29. package/dist/engine/messages.test.d.ts +1 -0
  30. package/dist/engine/messages.test.js +39 -0
  31. package/dist/engine/messages.test.js.map +1 -0
  32. package/dist/engine/renderer.js +211 -7
  33. package/dist/engine/renderer.js.map +1 -1
  34. package/dist/engine/renderer.test.js +218 -234
  35. package/dist/engine/renderer.test.js.map +1 -1
  36. package/dist/engine/server.d.ts +1 -0
  37. package/dist/engine/server.js +41 -5
  38. package/dist/engine/server.js.map +1 -1
  39. package/dist/engine/server.test.js +62 -4
  40. package/dist/engine/server.test.js.map +1 -1
  41. package/dist/engine/watcher.d.ts +17 -1
  42. package/dist/engine/watcher.js +42 -5
  43. package/dist/engine/watcher.js.map +1 -1
  44. package/dist/engine/watcher.test.d.ts +1 -0
  45. package/dist/engine/watcher.test.js +62 -0
  46. package/dist/engine/watcher.test.js.map +1 -0
  47. package/dist/engine/websocket.hub.test.js +24 -0
  48. package/dist/engine/websocket.hub.test.js.map +1 -1
  49. package/dist/engine/websocket.js +0 -1
  50. package/dist/engine/websocket.js.map +1 -1
  51. package/dist/index.d.ts +3 -1
  52. package/dist/index.js +1 -0
  53. package/dist/index.js.map +1 -1
  54. package/package.json +2 -1
package/README.md CHANGED
@@ -35,7 +35,7 @@ Run with `tsx` or `bun`; open the URL printed in the console (default port **350
35
35
 
36
36
  - [Project manifest & roadmap](https://github.com/aixpose/lastriko/blob/main/MANIFEST.md)
37
37
  - [API reference](https://github.com/aixpose/lastriko/blob/main/docs/API-REFERENCE.md)
38
- - [Phase 2 (MVP) scope](https://github.com/aixpose/lastriko/blob/main/docs/phases/PHASE-2.md)
38
+ - [Current phase plan (Phase 3)](https://github.com/aixpose/lastriko/blob/main/docs/phases/PHASE-3.md)
39
39
 
40
40
  ## Examples in this repo
41
41
 
@@ -11,16 +11,21 @@ function createSocket() {
11
11
  sent,
12
12
  };
13
13
  }
14
- function byType(sent, type) {
15
- return sent
16
- .map((item) => JSON.parse(item))
17
- .filter((msg) => msg.type === type);
14
+ function parseAll(sent) {
15
+ return sent.map((item) => JSON.parse(item));
16
+ }
17
+ function ofType(sent, type) {
18
+ return parseAll(sent).filter((msg) => msg.type === type);
19
+ }
20
+ function batchedEntries(sent) {
21
+ const batches = ofType(sent, 'BATCH');
22
+ return batches.flatMap((batch) => batch.payload.messages);
18
23
  }
19
24
  describe('websocket integration flow', () => {
20
- it('ready emits RENDER and button click emits FRAGMENT', () => {
25
+ it('ready emits RENDER and button click emits FRAGMENT via BATCH', async () => {
21
26
  const { socket, sent } = createSocket();
22
27
  const runtime = createWebSocketHub({
23
- title: 'Phase2',
28
+ title: 'Phase3',
24
29
  callback: (ui) => {
25
30
  const text = ui.text('before');
26
31
  ui.button('go', () => {
@@ -33,7 +38,7 @@ describe('websocket integration flow', () => {
33
38
  type: 'READY',
34
39
  payload: { viewport: { width: 100, height: 100 }, theme: 'dark' },
35
40
  }));
36
- const render = byType(sent, 'RENDER')[0];
41
+ const render = ofType(sent, 'RENDER')[0];
37
42
  expect(render).toBeDefined();
38
43
  expect(render?.payload.html).toContain('before');
39
44
  const buttonId = render?.payload.html.match(/data-lk-id="(button-[^"]+)"/)?.[1];
@@ -42,10 +47,15 @@ describe('websocket integration flow', () => {
42
47
  type: 'EVENT',
43
48
  payload: { id: buttonId, event: 'click' },
44
49
  }));
45
- const fragment = byType(sent, 'FRAGMENT').at(-1);
46
- expect(fragment?.payload.html).toContain('after');
50
+ await new Promise((resolve) => setTimeout(resolve, 25));
51
+ const fragment = batchedEntries(sent)
52
+ .find((entry) => entry.type === 'FRAGMENT' && entry.payload.id === 'text-1');
53
+ expect(fragment).toBeDefined();
54
+ if (fragment?.type !== 'FRAGMENT')
55
+ throw new Error('Expected FRAGMENT entry');
56
+ expect(fragment.payload.html).toContain('after');
47
57
  });
48
- it('change EVENT updates input value and pushes FRAGMENT', () => {
58
+ it('change EVENT updates input value and emits batched FRAGMENT', async () => {
49
59
  const { socket, sent } = createSocket();
50
60
  const runtime = createWebSocketHub({
51
61
  title: 'Inputs',
@@ -58,18 +68,22 @@ describe('websocket integration flow', () => {
58
68
  type: 'READY',
59
69
  payload: { viewport: { width: 100, height: 100 }, theme: null },
60
70
  }));
61
- const render = byType(sent, 'RENDER')[0];
71
+ const render = ofType(sent, 'RENDER')[0];
62
72
  const inputId = render.payload.html.match(/data-lk-id="(textInput-[^"]+)"/)?.[1];
63
73
  expect(inputId).toBeDefined();
64
74
  runtime.handleRawMessage(socket, JSON.stringify({
65
75
  type: 'EVENT',
66
76
  payload: { id: inputId, event: 'change', value: 'updated' },
67
77
  }));
68
- const fragment = byType(sent, 'FRAGMENT').at(-1);
69
- expect(fragment?.payload.id).toBe(inputId);
70
- expect(fragment?.payload.html).toContain('updated');
78
+ await new Promise((resolve) => setTimeout(resolve, 25));
79
+ const fragment = batchedEntries(sent)
80
+ .find((entry) => entry.type === 'FRAGMENT' && entry.payload.id === inputId);
81
+ expect(fragment).toBeDefined();
82
+ if (fragment?.type !== 'FRAGMENT')
83
+ throw new Error('Expected FRAGMENT entry');
84
+ expect(fragment.payload.html).toContain('updated');
71
85
  });
72
- it('streamText append emits STREAM_CHUNK messages in order', () => {
86
+ it('streamText append emits batched STREAM_CHUNK entries in order', async () => {
73
87
  const { socket, sent } = createSocket();
74
88
  const runtime = createWebSocketHub({
75
89
  title: 'Streaming',
@@ -87,19 +101,20 @@ describe('websocket integration flow', () => {
87
101
  type: 'READY',
88
102
  payload: { viewport: { width: 100, height: 100 }, theme: null },
89
103
  }));
90
- const render = byType(sent, 'RENDER')[0];
104
+ const render = ofType(sent, 'RENDER')[0];
91
105
  const buttonId = render.payload.html.match(/data-lk-id="(button-[^"]+)"/)?.[1];
92
106
  runtime.handleRawMessage(socket, JSON.stringify({
93
107
  type: 'EVENT',
94
108
  payload: { id: buttonId, event: 'click' },
95
109
  }));
96
- const chunks = byType(sent, 'STREAM_CHUNK');
110
+ await new Promise((resolve) => setTimeout(resolve, 25));
111
+ const chunks = batchedEntries(sent).filter((entry) => entry.type === 'STREAM_CHUNK');
97
112
  expect(chunks).toHaveLength(3);
98
- expect(chunks[0]?.payload.chunk).toBe('a');
99
- expect(chunks[1]?.payload.chunk).toBe('b');
100
- expect(chunks[2]?.payload.done).toBe(true);
113
+ expect(chunks[0]?.type === 'STREAM_CHUNK' ? chunks[0].payload.chunk : '').toBe('a');
114
+ expect(chunks[1]?.type === 'STREAM_CHUNK' ? chunks[1].payload.chunk : '').toBe('b');
115
+ expect(chunks[2]?.type === 'STREAM_CHUNK' ? chunks[2].payload.done : false).toBe(true);
101
116
  });
102
- it('table row click EVENT dispatches onRowClick handler', () => {
117
+ it('table row click EVENT dispatches onRowClick handler', async () => {
103
118
  const { socket, sent } = createSocket();
104
119
  const clicks = [];
105
120
  const runtime = createWebSocketHub({
@@ -116,7 +131,7 @@ describe('websocket integration flow', () => {
116
131
  type: 'READY',
117
132
  payload: { viewport: { width: 120, height: 80 }, theme: null },
118
133
  }));
119
- const render = byType(sent, 'RENDER')[0];
134
+ const render = ofType(sent, 'RENDER')[0];
120
135
  const tableId = render.payload.html.match(/data-lk-id="(table-[^"]+)"/)?.[1];
121
136
  const rowId = render.payload.html.match(/data-lk-table-row-id="([^"]+)"/)?.[1];
122
137
  expect(tableId).toBeDefined();
@@ -125,125 +140,8 @@ describe('websocket integration flow', () => {
125
140
  type: 'EVENT',
126
141
  payload: { id: tableId, event: 'click', value: rowId },
127
142
  }));
143
+ await new Promise((resolve) => setTimeout(resolve, 0));
128
144
  expect(clicks).toEqual(['row-1']);
129
145
  });
130
- it('tracks READY viewport/theme and handles THEME_CHANGE', () => {
131
- const { socket, sent } = createSocket();
132
- const runtime = createWebSocketHub({
133
- title: 'Scope',
134
- callback: (ui) => {
135
- ui.text(`viewport-${ui.viewport.width}x${ui.viewport.height}-${ui.theme}`);
136
- },
137
- });
138
- const scope = runtime.addConnection(socket);
139
- runtime.handleRawMessage(socket, JSON.stringify({
140
- type: 'READY',
141
- payload: { viewport: { width: 10, height: 20 }, theme: 'dark' },
142
- }));
143
- expect(scope.viewport).toEqual({ width: 10, height: 20 });
144
- expect(scope.theme).toBe('dark');
145
- runtime.handleRawMessage(socket, JSON.stringify({
146
- type: 'THEME_CHANGE',
147
- payload: { mode: 'light' },
148
- }));
149
- const themeMsg = byType(sent, 'THEME').at(-1);
150
- expect(themeMsg?.payload.mode).toBe('light');
151
- });
152
- it('numberInput and toggle change EVENT update values and emit FRAGMENT', () => {
153
- const { socket, sent } = createSocket();
154
- const runtime = createWebSocketHub({
155
- title: 'More inputs',
156
- callback: (ui) => {
157
- ui.numberInput('N', { default: 1 });
158
- ui.toggle('T', { default: false });
159
- },
160
- });
161
- runtime.addConnection(socket);
162
- runtime.handleRawMessage(socket, JSON.stringify({
163
- type: 'READY',
164
- payload: { viewport: { width: 100, height: 100 }, theme: null },
165
- }));
166
- const render = byType(sent, 'RENDER')[0];
167
- const numId = render.payload.html.match(/data-lk-id="(numberInput-[^"]+)"/)?.[1];
168
- const toggleId = render.payload.html.match(/data-lk-id="(toggle-[^"]+)"/)?.[1];
169
- expect(numId).toBeDefined();
170
- expect(toggleId).toBeDefined();
171
- runtime.handleRawMessage(socket, JSON.stringify({
172
- type: 'EVENT',
173
- payload: { id: numId, event: 'change', value: 42 },
174
- }));
175
- const fragNum = byType(sent, 'FRAGMENT').at(-1);
176
- expect(fragNum?.payload.id).toBe(numId);
177
- expect(fragNum?.payload.html).toContain('value="42"');
178
- runtime.handleRawMessage(socket, JSON.stringify({
179
- type: 'EVENT',
180
- payload: { id: toggleId, event: 'change', value: true },
181
- }));
182
- const fragToggle = byType(sent, 'FRAGMENT').at(-1);
183
- expect(fragToggle?.payload.id).toBe(toggleId);
184
- expect(fragToggle?.payload.html).toContain('checked');
185
- });
186
- it('cross-region: sidebar button updates header metric via shared scope', () => {
187
- const { socket, sent } = createSocket();
188
- const runtime = createWebSocketHub({
189
- title: 'Shell',
190
- callback: (ui) => {
191
- let metric;
192
- ui.shell({
193
- header: (h) => {
194
- metric = h.metric('Count', '0');
195
- },
196
- main: () => { },
197
- sidebar: (s) => {
198
- s.button('inc', () => {
199
- metric?.update('1');
200
- });
201
- },
202
- });
203
- },
204
- });
205
- runtime.addConnection(socket);
206
- runtime.handleRawMessage(socket, JSON.stringify({
207
- type: 'READY',
208
- payload: { viewport: { width: 200, height: 200 }, theme: null },
209
- }));
210
- const render = byType(sent, 'RENDER')[0];
211
- const buttonId = render.payload.html.match(/data-lk-id="(button-[^"]+)"/)?.[1];
212
- expect(buttonId).toBeDefined();
213
- expect(render.payload.html).toContain('lk-metric-value');
214
- runtime.handleRawMessage(socket, JSON.stringify({
215
- type: 'EVENT',
216
- payload: { id: buttonId, event: 'click' },
217
- }));
218
- const lastMetricFrag = [...byType(sent, 'FRAGMENT')]
219
- .filter((f) => f.payload.html.includes('lk-metric'))
220
- .at(-1);
221
- expect(lastMetricFrag?.payload.html).toContain('1');
222
- });
223
- it('keeps scopes isolated across connections', () => {
224
- const a = createSocket();
225
- const b = createSocket();
226
- const runtime = createWebSocketHub({
227
- title: 'Isolation',
228
- callback: (ui) => {
229
- ui.text(`scope-${ui.scope.id}`);
230
- },
231
- });
232
- const scopeA = runtime.addConnection(a.socket);
233
- const scopeB = runtime.addConnection(b.socket);
234
- runtime.handleRawMessage(a.socket, JSON.stringify({
235
- type: 'READY',
236
- payload: { viewport: { width: 10, height: 10 }, theme: null },
237
- }));
238
- runtime.handleRawMessage(b.socket, JSON.stringify({
239
- type: 'READY',
240
- payload: { viewport: { width: 20, height: 20 }, theme: null },
241
- }));
242
- const aRender = byType(a.sent, 'RENDER')[0];
243
- const bRender = byType(b.sent, 'RENDER')[0];
244
- expect(aRender.payload.html).toContain(`scope-${scopeA.id}`);
245
- expect(bRender.payload.html).toContain(`scope-${scopeB.id}`);
246
- expect(scopeA.id).not.toBe(scopeB.id);
247
- });
248
146
  });
249
147
  //# sourceMappingURL=ws-flow.integration.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ws-flow.integration.test.js","sourceRoot":"","sources":["../../../src/__tests__/integration/ws-flow.integration.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ws-flow.integration.test.js","sourceRoot":"","sources":["../../../src/__tests__/integration/ws-flow.integration.test.ts"],"names":[],"mappings":"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"}
@@ -13,11 +13,19 @@ function coerceValue(target) {
13
13
  return Number(target.value);
14
14
  return target.value;
15
15
  }
16
- if (target instanceof HTMLSelectElement || target instanceof HTMLTextAreaElement) {
16
+ if (target instanceof HTMLSelectElement || target instanceof HTMLTextAreaElement)
17
17
  return target.value;
18
- }
19
18
  return undefined;
20
19
  }
20
+ function coerceMultiSelectValue(root) {
21
+ const values = [];
22
+ for (const box of Array.from(root.querySelectorAll('input[type="checkbox"][data-lk-multi-option]'))) {
23
+ if (box.checked) {
24
+ values.push(box.value);
25
+ }
26
+ }
27
+ return values;
28
+ }
21
29
  function resolveComponentId(target) {
22
30
  if (!(target instanceof Element))
23
31
  return null;
@@ -41,48 +49,45 @@ function closestWithEventToken(target, token) {
41
49
  }
42
50
  return null;
43
51
  }
44
- export function bindEventDelegation(root, channel) {
52
+ function sendEvent(channel, id, event, value) {
53
+ channel.send({
54
+ type: 'EVENT',
55
+ payload: { id, event, value },
56
+ });
57
+ }
58
+ function bindTabs(root, channel) {
45
59
  root.addEventListener('click', (event) => {
46
60
  if (!(event.target instanceof Element))
47
61
  return;
48
62
  const tabBtn = event.target.closest('.lk-tab[data-lk-tab-target]');
49
- if (tabBtn && !tabBtn.disabled) {
50
- const tabsRoot = tabBtn.closest('.lk-tabs');
51
- const target = tabBtn.dataset.lkTabTarget;
52
- if (tabsRoot && target) {
53
- for (const b of Array.from(tabsRoot.querySelectorAll('.lk-tab[data-lk-tab-target]'))) {
54
- b.classList.toggle('is-active', b.dataset.lkTabTarget === target);
55
- }
56
- for (const panel of Array.from(tabsRoot.querySelectorAll('.lk-tab-panel'))) {
57
- const match = panel.dataset.lkTabPanel === target;
58
- if (match) {
59
- panel.removeAttribute('hidden');
60
- }
61
- else {
62
- panel.setAttribute('hidden', '');
63
- }
64
- }
65
- const id = resolveComponentId(tabsRoot);
66
- if (id) {
67
- channel.send({
68
- type: 'EVENT',
69
- payload: { id, event: 'change', value: target },
70
- });
71
- }
72
- }
73
- }
74
- });
75
- root.addEventListener('click', (event) => {
76
- if (!(event.target instanceof Element))
63
+ if (!tabBtn || tabBtn.disabled)
77
64
  return;
78
- const clickable = closestWithEventToken(event.target, 'click');
79
- if (!clickable)
65
+ const tabsRoot = tabBtn.closest('.lk-tabs');
66
+ const target = tabBtn.dataset.lkTabTarget;
67
+ if (!tabsRoot || !target)
80
68
  return;
81
- const id = resolveComponentId(clickable);
69
+ for (const b of Array.from(tabsRoot.querySelectorAll('.lk-tab[data-lk-tab-target]'))) {
70
+ const active = b.dataset.lkTabTarget === target;
71
+ b.classList.toggle('is-active', active);
72
+ b.setAttribute('aria-selected', active ? 'true' : 'false');
73
+ b.tabIndex = active ? 0 : -1;
74
+ }
75
+ for (const panel of Array.from(tabsRoot.querySelectorAll('.lk-tab-panel'))) {
76
+ const match = panel.dataset.lkTabPanel === target;
77
+ if (match) {
78
+ panel.removeAttribute('hidden');
79
+ }
80
+ else {
81
+ panel.setAttribute('hidden', '');
82
+ }
83
+ }
84
+ const id = resolveComponentId(tabsRoot);
82
85
  if (!id)
83
86
  return;
84
- channel.send({ type: 'EVENT', payload: { id, event: 'click' } });
87
+ sendEvent(channel, id, 'change', target);
85
88
  });
89
+ }
90
+ function bindTableClicks(root, channel) {
86
91
  root.addEventListener('click', (event) => {
87
92
  if (!(event.target instanceof Element))
88
93
  return;
@@ -94,8 +99,23 @@ export function bindEventDelegation(root, channel) {
94
99
  const rowId = tableRow.dataset.lkTableRowId;
95
100
  if (!id || !rowId)
96
101
  return;
97
- channel.send({ type: 'EVENT', payload: { id, event: 'click', value: rowId } });
102
+ sendEvent(channel, id, 'click', rowId);
103
+ });
104
+ }
105
+ function bindGenericClicks(root, channel) {
106
+ root.addEventListener('click', (event) => {
107
+ if (!(event.target instanceof Element))
108
+ return;
109
+ const clickable = closestWithEventToken(event.target, 'click');
110
+ if (!clickable)
111
+ return;
112
+ const id = resolveComponentId(clickable);
113
+ if (!id)
114
+ return;
115
+ sendEvent(channel, id, 'click');
98
116
  });
117
+ }
118
+ function bindChanges(root, channel) {
99
119
  root.addEventListener('change', (event) => {
100
120
  if (!(event.target instanceof Element))
101
121
  return;
@@ -105,11 +125,15 @@ export function bindEventDelegation(root, channel) {
105
125
  const id = resolveComponentId(changeable);
106
126
  if (!id)
107
127
  return;
108
- channel.send({
109
- type: 'EVENT',
110
- payload: { id, event: 'change', value: coerceValue(event.target) },
111
- });
128
+ const holder = changeable.closest('[data-lk-kind="multiSelect"]');
129
+ if (holder) {
130
+ sendEvent(channel, id, 'change', coerceMultiSelectValue(holder));
131
+ return;
132
+ }
133
+ sendEvent(channel, id, 'change', coerceValue(event.target));
112
134
  });
135
+ }
136
+ function bindLiveInput(root, channel) {
113
137
  root.addEventListener('input', (event) => {
114
138
  if (!(event.target instanceof Element))
115
139
  return;
@@ -121,11 +145,10 @@ export function bindEventDelegation(root, channel) {
121
145
  const id = resolveComponentId(liveInput);
122
146
  if (!id)
123
147
  return;
124
- channel.send({
125
- type: 'EVENT',
126
- payload: { id, event: 'change', value: coerceValue(event.target) },
127
- });
148
+ sendEvent(channel, id, 'change', coerceValue(event.target));
128
149
  });
150
+ }
151
+ function bindNumberClamp(root, channel) {
129
152
  root.addEventListener('blur', (event) => {
130
153
  if (!(event.target instanceof HTMLInputElement))
131
154
  return;
@@ -148,11 +171,10 @@ export function bindEventDelegation(root, channel) {
148
171
  const id = resolveComponentId(clamped);
149
172
  if (!id)
150
173
  return;
151
- channel.send({
152
- type: 'EVENT',
153
- payload: { id, event: 'change', value: next },
154
- });
174
+ sendEvent(channel, id, 'change', next);
155
175
  }, true);
176
+ }
177
+ function bindCopyCode(root) {
156
178
  root.addEventListener('click', async (event) => {
157
179
  if (!(event.target instanceof Element))
158
180
  return;
@@ -177,6 +199,8 @@ export function bindEventDelegation(root, channel) {
177
199
  // ignore clipboard errors in unsupported contexts
178
200
  }
179
201
  });
202
+ }
203
+ function bindFileUpload(root, channel) {
180
204
  root.addEventListener('change', async (event) => {
181
205
  if (!(event.target instanceof HTMLInputElement))
182
206
  return;
@@ -188,7 +212,7 @@ export function bindEventDelegation(root, channel) {
188
212
  return;
189
213
  const files = event.target.files ? Array.from(event.target.files) : [];
190
214
  if (files.length === 0) {
191
- channel.send({ type: 'EVENT', payload: { id, event: 'change', value: null } });
215
+ sendEvent(channel, id, 'change', null);
192
216
  return;
193
217
  }
194
218
  const formData = new FormData();
@@ -197,36 +221,40 @@ export function bindEventDelegation(root, channel) {
197
221
  }
198
222
  try {
199
223
  const connectionId = String(window.localStorage.getItem('lk-connection-id') ?? '');
224
+ const maxSize = holder.dataset.lkMaxSize;
200
225
  const search = connectionId ? `?connectionId=${encodeURIComponent(connectionId)}` : '';
201
226
  const uploadUrl = `/upload${search}`;
202
227
  if (isDebugWs()) {
203
228
  console.debug('[lastriko] fetch →', uploadUrl, 'POST', '(multipart)');
204
229
  }
205
- const response = await fetch(uploadUrl, { method: 'POST', body: formData });
230
+ const headers = new Headers();
231
+ if (maxSize) {
232
+ headers.set('x-lastriko-upload-max-size', maxSize);
233
+ }
234
+ const response = await fetch(uploadUrl, { method: 'POST', body: formData, headers });
206
235
  if (isDebugWs()) {
207
236
  console.debug('[lastriko] fetch ←', uploadUrl, response.status, response.statusText);
208
237
  }
209
- if (!response.ok) {
238
+ if (!response.ok)
210
239
  return;
211
- }
212
240
  const payload = await response.json();
213
- const uploaded = Array.isArray(payload)
214
- ? payload
215
- : payload.file;
216
- channel.send({
217
- type: 'EVENT',
218
- payload: {
219
- id,
220
- event: 'change',
221
- value: uploaded ?? null,
222
- },
223
- });
241
+ sendEvent(channel, id, 'change', payload ?? null);
224
242
  }
225
243
  catch {
226
244
  // best effort
227
245
  }
228
246
  });
229
247
  }
248
+ export function bindEventDelegation(root, channel) {
249
+ bindTabs(root, channel);
250
+ bindGenericClicks(root, channel);
251
+ bindTableClicks(root, channel);
252
+ bindChanges(root, channel);
253
+ bindLiveInput(root, channel);
254
+ bindNumberClamp(root, channel);
255
+ bindCopyCode(root);
256
+ bindFileUpload(root, channel);
257
+ }
230
258
  export function bindThemeToggle(root, channel) {
231
259
  const toggle = root.getElementById('lk-theme-toggle');
232
260
  if (!toggle)
@@ -1 +1 @@
1
- {"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/client/events.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/client/events.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,17 @@
1
- import type { RenderMessage } from '../engine/messages';
1
+ import type { BatchMessage, RenderMessage } from '../engine/messages';
2
+ export interface HotReloadSnapshot {
3
+ inputs: Record<string, unknown>;
4
+ tabs: Record<string, string>;
5
+ scrollY: number;
6
+ containerScroll: Record<string, number>;
7
+ }
8
+ export declare function saveHotReloadSnapshot(): void;
9
+ export declare function restoreHotReloadSnapshot(): void;
10
+ export declare function ensureReconnectBanner(): HTMLElement;
11
+ export declare function hideReconnectBanner(): void;
12
+ export declare function applyErrorOverlay(message: string, stack?: string): void;
13
+ export declare function clearErrorOverlay(): void;
2
14
  export declare function applyRender(payload: RenderMessage['payload']): void;
3
15
  export declare function applyFragmentSwap(id: string, html: string): void;
4
16
  export declare function applyStreamChunk(id: string, chunk: string, done: boolean, format: 'plain' | 'markdown'): void;
17
+ export declare function applyBatch(payload: BatchMessage['payload']): void;