@maxhealth.tech/prefab 0.1.2

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 (217) hide show
  1. package/CHANGELOG.md +51 -0
  2. package/LICENSE +21 -0
  3. package/README.md +340 -0
  4. package/dist/actions/client.d.ts +98 -0
  5. package/dist/actions/client.d.ts.map +1 -0
  6. package/dist/actions/client.js +188 -0
  7. package/dist/actions/client.js.map +1 -0
  8. package/dist/actions/index.d.ts +6 -0
  9. package/dist/actions/index.d.ts.map +1 -0
  10. package/dist/actions/index.js +3 -0
  11. package/dist/actions/index.js.map +1 -0
  12. package/dist/actions/mcp.d.ts +37 -0
  13. package/dist/actions/mcp.d.ts.map +1 -0
  14. package/dist/actions/mcp.js +64 -0
  15. package/dist/actions/mcp.js.map +1 -0
  16. package/dist/actions/types.d.ts +16 -0
  17. package/dist/actions/types.d.ts.map +1 -0
  18. package/dist/actions/types.js +8 -0
  19. package/dist/actions/types.js.map +1 -0
  20. package/dist/app.d.ts +65 -0
  21. package/dist/app.d.ts.map +1 -0
  22. package/dist/app.js +120 -0
  23. package/dist/app.js.map +1 -0
  24. package/dist/auto/chart.d.ts +36 -0
  25. package/dist/auto/chart.d.ts.map +1 -0
  26. package/dist/auto/chart.js +50 -0
  27. package/dist/auto/chart.js.map +1 -0
  28. package/dist/auto/comparison.d.ts +32 -0
  29. package/dist/auto/comparison.d.ts.map +1 -0
  30. package/dist/auto/comparison.js +66 -0
  31. package/dist/auto/comparison.js.map +1 -0
  32. package/dist/auto/form.d.ts +50 -0
  33. package/dist/auto/form.d.ts.map +1 -0
  34. package/dist/auto/form.js +68 -0
  35. package/dist/auto/form.js.map +1 -0
  36. package/dist/auto/index.d.ts +84 -0
  37. package/dist/auto/index.d.ts.map +1 -0
  38. package/dist/auto/index.js +240 -0
  39. package/dist/auto/index.js.map +1 -0
  40. package/dist/auto/metrics.d.ts +44 -0
  41. package/dist/auto/metrics.d.ts.map +1 -0
  42. package/dist/auto/metrics.js +55 -0
  43. package/dist/auto/metrics.js.map +1 -0
  44. package/dist/auto/progress.d.ts +38 -0
  45. package/dist/auto/progress.d.ts.map +1 -0
  46. package/dist/auto/progress.js +72 -0
  47. package/dist/auto/progress.js.map +1 -0
  48. package/dist/auto/timeline.d.ts +41 -0
  49. package/dist/auto/timeline.d.ts.map +1 -0
  50. package/dist/auto/timeline.js +72 -0
  51. package/dist/auto/timeline.js.map +1 -0
  52. package/dist/components/alert/index.d.ts +14 -0
  53. package/dist/components/alert/index.d.ts.map +1 -0
  54. package/dist/components/alert/index.js +31 -0
  55. package/dist/components/alert/index.js.map +1 -0
  56. package/dist/components/card/index.d.ts +12 -0
  57. package/dist/components/card/index.d.ts.map +1 -0
  58. package/dist/components/card/index.js +33 -0
  59. package/dist/components/card/index.js.map +1 -0
  60. package/dist/components/charts/index.d.ts +57 -0
  61. package/dist/components/charts/index.d.ts.map +1 -0
  62. package/dist/components/charts/index.js +91 -0
  63. package/dist/components/charts/index.js.map +1 -0
  64. package/dist/components/control/index.d.ts +48 -0
  65. package/dist/components/control/index.d.ts.map +1 -0
  66. package/dist/components/control/index.js +47 -0
  67. package/dist/components/control/index.js.map +1 -0
  68. package/dist/components/data/index.d.ts +53 -0
  69. package/dist/components/data/index.d.ts.map +1 -0
  70. package/dist/components/data/index.js +88 -0
  71. package/dist/components/data/index.js.map +1 -0
  72. package/dist/components/form/index.d.ts +103 -0
  73. package/dist/components/form/index.d.ts.map +1 -0
  74. package/dist/components/form/index.js +247 -0
  75. package/dist/components/form/index.js.map +1 -0
  76. package/dist/components/interactive/index.d.ts +33 -0
  77. package/dist/components/interactive/index.d.ts.map +1 -0
  78. package/dist/components/interactive/index.js +59 -0
  79. package/dist/components/interactive/index.js.map +1 -0
  80. package/dist/components/layout/index.d.ts +61 -0
  81. package/dist/components/layout/index.d.ts.map +1 -0
  82. package/dist/components/layout/index.js +86 -0
  83. package/dist/components/layout/index.js.map +1 -0
  84. package/dist/components/media/index.d.ts +17 -0
  85. package/dist/components/media/index.d.ts.map +1 -0
  86. package/dist/components/media/index.js +41 -0
  87. package/dist/components/media/index.js.map +1 -0
  88. package/dist/components/table/index.d.ts +28 -0
  89. package/dist/components/table/index.d.ts.map +1 -0
  90. package/dist/components/table/index.js +56 -0
  91. package/dist/components/table/index.js.map +1 -0
  92. package/dist/components/typography/index.d.ts +34 -0
  93. package/dist/components/typography/index.d.ts.map +1 -0
  94. package/dist/components/typography/index.js +93 -0
  95. package/dist/components/typography/index.js.map +1 -0
  96. package/dist/core/component.d.ts +67 -0
  97. package/dist/core/component.d.ts.map +1 -0
  98. package/dist/core/component.js +122 -0
  99. package/dist/core/component.js.map +1 -0
  100. package/dist/core/index.d.ts +5 -0
  101. package/dist/core/index.d.ts.map +1 -0
  102. package/dist/core/index.js +3 -0
  103. package/dist/core/index.js.map +1 -0
  104. package/dist/core/validate.d.ts +30 -0
  105. package/dist/core/validate.d.ts.map +1 -0
  106. package/dist/core/validate.js +178 -0
  107. package/dist/core/validate.js.map +1 -0
  108. package/dist/index.d.ts +48 -0
  109. package/dist/index.d.ts.map +1 -0
  110. package/dist/index.js +48 -0
  111. package/dist/index.js.map +1 -0
  112. package/dist/mcp/display.d.ts +102 -0
  113. package/dist/mcp/display.d.ts.map +1 -0
  114. package/dist/mcp/display.js +124 -0
  115. package/dist/mcp/display.js.map +1 -0
  116. package/dist/mcp/index.d.ts +7 -0
  117. package/dist/mcp/index.d.ts.map +1 -0
  118. package/dist/mcp/index.js +5 -0
  119. package/dist/mcp/index.js.map +1 -0
  120. package/dist/mcp/types.d.ts +35 -0
  121. package/dist/mcp/types.d.ts.map +1 -0
  122. package/dist/mcp/types.js +8 -0
  123. package/dist/mcp/types.js.map +1 -0
  124. package/dist/renderer/actions.d.ts +36 -0
  125. package/dist/renderer/actions.d.ts.map +1 -0
  126. package/dist/renderer/actions.js +296 -0
  127. package/dist/renderer/actions.js.map +1 -0
  128. package/dist/renderer/app.d.ts +87 -0
  129. package/dist/renderer/app.d.ts.map +1 -0
  130. package/dist/renderer/app.js +166 -0
  131. package/dist/renderer/app.js.map +1 -0
  132. package/dist/renderer/bridge.d.ts +91 -0
  133. package/dist/renderer/bridge.d.ts.map +1 -0
  134. package/dist/renderer/bridge.js +302 -0
  135. package/dist/renderer/bridge.js.map +1 -0
  136. package/dist/renderer/components/alert.d.ts +5 -0
  137. package/dist/renderer/components/alert.d.ts.map +1 -0
  138. package/dist/renderer/components/alert.js +44 -0
  139. package/dist/renderer/components/alert.js.map +1 -0
  140. package/dist/renderer/components/card.d.ts +5 -0
  141. package/dist/renderer/components/card.d.ts.map +1 -0
  142. package/dist/renderer/components/card.js +38 -0
  143. package/dist/renderer/components/card.js.map +1 -0
  144. package/dist/renderer/components/charts.d.ts +8 -0
  145. package/dist/renderer/components/charts.d.ts.map +1 -0
  146. package/dist/renderer/components/charts.js +232 -0
  147. package/dist/renderer/components/charts.js.map +1 -0
  148. package/dist/renderer/components/control.d.ts +5 -0
  149. package/dist/renderer/components/control.d.ts.map +1 -0
  150. package/dist/renderer/components/control.js +140 -0
  151. package/dist/renderer/components/control.js.map +1 -0
  152. package/dist/renderer/components/data.d.ts +5 -0
  153. package/dist/renderer/components/data.d.ts.map +1 -0
  154. package/dist/renderer/components/data.js +268 -0
  155. package/dist/renderer/components/data.js.map +1 -0
  156. package/dist/renderer/components/form.d.ts +5 -0
  157. package/dist/renderer/components/form.d.ts.map +1 -0
  158. package/dist/renderer/components/form.js +523 -0
  159. package/dist/renderer/components/form.js.map +1 -0
  160. package/dist/renderer/components/index.d.ts +5 -0
  161. package/dist/renderer/components/index.d.ts.map +1 -0
  162. package/dist/renderer/components/index.js +32 -0
  163. package/dist/renderer/components/index.js.map +1 -0
  164. package/dist/renderer/components/interactive.d.ts +5 -0
  165. package/dist/renderer/components/interactive.d.ts.map +1 -0
  166. package/dist/renderer/components/interactive.js +324 -0
  167. package/dist/renderer/components/interactive.js.map +1 -0
  168. package/dist/renderer/components/layout.d.ts +5 -0
  169. package/dist/renderer/components/layout.d.ts.map +1 -0
  170. package/dist/renderer/components/layout.js +113 -0
  171. package/dist/renderer/components/layout.js.map +1 -0
  172. package/dist/renderer/components/media.d.ts +5 -0
  173. package/dist/renderer/components/media.d.ts.map +1 -0
  174. package/dist/renderer/components/media.js +132 -0
  175. package/dist/renderer/components/media.js.map +1 -0
  176. package/dist/renderer/components/table.d.ts +5 -0
  177. package/dist/renderer/components/table.d.ts.map +1 -0
  178. package/dist/renderer/components/table.js +101 -0
  179. package/dist/renderer/components/table.js.map +1 -0
  180. package/dist/renderer/components/typography.d.ts +5 -0
  181. package/dist/renderer/components/typography.d.ts.map +1 -0
  182. package/dist/renderer/components/typography.js +90 -0
  183. package/dist/renderer/components/typography.js.map +1 -0
  184. package/dist/renderer/engine.d.ts +53 -0
  185. package/dist/renderer/engine.d.ts.map +1 -0
  186. package/dist/renderer/engine.js +112 -0
  187. package/dist/renderer/engine.js.map +1 -0
  188. package/dist/renderer/index.d.ts +94 -0
  189. package/dist/renderer/index.d.ts.map +1 -0
  190. package/dist/renderer/index.js +215 -0
  191. package/dist/renderer/index.js.map +1 -0
  192. package/dist/renderer/rx.d.ts +37 -0
  193. package/dist/renderer/rx.d.ts.map +1 -0
  194. package/dist/renderer/rx.js +360 -0
  195. package/dist/renderer/rx.js.map +1 -0
  196. package/dist/renderer/state.d.ts +34 -0
  197. package/dist/renderer/state.d.ts.map +1 -0
  198. package/dist/renderer/state.js +132 -0
  199. package/dist/renderer/state.js.map +1 -0
  200. package/dist/renderer/theme.d.ts +13 -0
  201. package/dist/renderer/theme.d.ts.map +1 -0
  202. package/dist/renderer/theme.js +69 -0
  203. package/dist/renderer/theme.js.map +1 -0
  204. package/dist/renderer/transport.d.ts +22 -0
  205. package/dist/renderer/transport.d.ts.map +1 -0
  206. package/dist/renderer/transport.js +69 -0
  207. package/dist/renderer/transport.js.map +1 -0
  208. package/dist/renderer.min.js +83 -0
  209. package/dist/rx/index.d.ts +2 -0
  210. package/dist/rx/index.d.ts.map +1 -0
  211. package/dist/rx/index.js +2 -0
  212. package/dist/rx/index.js.map +1 -0
  213. package/dist/rx/rx.d.ts +81 -0
  214. package/dist/rx/rx.d.ts.map +1 -0
  215. package/dist/rx/rx.js +196 -0
  216. package/dist/rx/rx.js.map +1 -0
  217. package/package.json +84 -0
@@ -0,0 +1,523 @@
1
+ /**
2
+ * Form component renderers — Form, Input, Button, Select, Checkbox, Switch, Slider.
3
+ */
4
+ import { registerComponent, renderChildren, renderNode, resolveStr, el, makeDispatchCtx } from '../engine.js';
5
+ import { dispatchActions } from '../actions.js';
6
+ export function registerFormComponents() {
7
+ registerComponent('Form', renderForm);
8
+ registerComponent('Input', renderInput);
9
+ registerComponent('Textarea', renderTextarea);
10
+ registerComponent('Button', renderButton);
11
+ registerComponent('ButtonGroup', renderButtonGroup);
12
+ registerComponent('Select', renderSelect);
13
+ registerComponent('SelectOption', renderSelectOption);
14
+ registerComponent('SelectGroup', renderContainerDiv('pf-select-group'));
15
+ registerComponent('SelectLabel', renderTextSpan('pf-select-label'));
16
+ registerComponent('SelectSeparator', renderSeparatorHr);
17
+ registerComponent('Checkbox', renderCheckbox);
18
+ registerComponent('Switch', renderSwitch);
19
+ registerComponent('Slider', renderSlider);
20
+ registerComponent('Radio', renderRadio);
21
+ registerComponent('RadioGroup', renderRadioGroup);
22
+ registerComponent('Combobox', renderCombobox);
23
+ registerComponent('ComboboxOption', renderComboboxOption);
24
+ registerComponent('ComboboxGroup', renderContainerDiv('pf-combobox-group'));
25
+ registerComponent('ComboboxLabel', renderTextSpan('pf-combobox-label'));
26
+ registerComponent('ComboboxSeparator', renderSeparatorHr);
27
+ registerComponent('Calendar', renderCalendar);
28
+ registerComponent('DatePicker', renderDatePicker);
29
+ registerComponent('Field', renderContainerDiv('pf-field'));
30
+ registerComponent('FieldTitle', renderTextSpan('pf-field-title'));
31
+ registerComponent('FieldDescription', renderTextSpan('pf-field-description'));
32
+ registerComponent('FieldContent', renderContainerDiv('pf-field-content'));
33
+ registerComponent('FieldError', renderTextSpan('pf-field-error'));
34
+ registerComponent('ChoiceCard', renderChoiceCard);
35
+ }
36
+ function renderForm(node, ctx) {
37
+ const form = document.createElement('form');
38
+ form.className = 'pf-form';
39
+ form.addEventListener('submit', (e) => {
40
+ e.preventDefault();
41
+ // Collect form data into state
42
+ const data = new FormData(form);
43
+ const values = {};
44
+ data.forEach((val, key) => { values[key] = val; });
45
+ // Merge form values into state before dispatching
46
+ ctx.store.merge(values);
47
+ if (node.onSubmit != null) {
48
+ const dispCtx = makeDispatchCtx(ctx);
49
+ // Resolve form field values into tool call arguments
50
+ dispCtx.scope = { ...ctx.scope, ...values };
51
+ void dispatchActions(node.onSubmit, dispCtx);
52
+ }
53
+ });
54
+ renderChildren(node, form, ctx);
55
+ return form;
56
+ }
57
+ function renderInput(node, ctx) {
58
+ const wrapper = el('div', 'pf-input-wrapper');
59
+ wrapper.style.display = 'flex';
60
+ wrapper.style.flexDirection = 'column';
61
+ wrapper.style.gap = '4px';
62
+ if (node.label != null) {
63
+ const label = document.createElement('label');
64
+ label.className = 'pf-input-label';
65
+ label.textContent = resolveStr(node.label, ctx);
66
+ if (node.name != null)
67
+ label.htmlFor = node.name;
68
+ label.style.fontSize = '14px';
69
+ label.style.fontWeight = '500';
70
+ wrapper.appendChild(label);
71
+ }
72
+ const input = document.createElement('input');
73
+ input.className = 'pf-input';
74
+ input.type = node.inputType ?? 'text';
75
+ if (node.name != null)
76
+ input.name = node.name;
77
+ if (node.name != null)
78
+ input.id = `pf-input-${node.name}`;
79
+ if (node.placeholder != null)
80
+ input.placeholder = resolveStr(node.placeholder, ctx);
81
+ if (node.required === true) {
82
+ input.required = true;
83
+ input.setAttribute('aria-required', 'true');
84
+ }
85
+ if (node.error != null)
86
+ input.setAttribute('aria-invalid', 'true');
87
+ // Bind to state
88
+ const name = node.name;
89
+ if (name) {
90
+ const stateVal = ctx.store.get(name);
91
+ if (stateVal != null)
92
+ input.value = String(stateVal);
93
+ input.addEventListener('input', () => {
94
+ ctx.store.set(name, input.value);
95
+ if (node.onChange != null) {
96
+ void dispatchActions(node.onChange, { ...makeDispatchCtx(ctx), scope: { ...ctx.scope, $event: input.value } });
97
+ }
98
+ });
99
+ }
100
+ applyInputStyle(input);
101
+ wrapper.appendChild(input);
102
+ return wrapper;
103
+ }
104
+ function renderTextarea(node, ctx) {
105
+ const wrapper = el('div', 'pf-textarea-wrapper');
106
+ const textarea = document.createElement('textarea');
107
+ textarea.className = 'pf-textarea';
108
+ if (node.name != null)
109
+ textarea.name = node.name;
110
+ if (node.name != null)
111
+ textarea.id = `pf-textarea-${node.name}`;
112
+ if (node.placeholder != null)
113
+ textarea.placeholder = resolveStr(node.placeholder, ctx);
114
+ if (node.rows != null)
115
+ textarea.rows = node.rows;
116
+ if (node.required === true)
117
+ textarea.setAttribute('aria-required', 'true');
118
+ const name = node.name;
119
+ if (name != null) {
120
+ const stateVal = ctx.store.get(name);
121
+ if (stateVal != null)
122
+ textarea.value = String(stateVal);
123
+ textarea.addEventListener('input', () => ctx.store.set(name, textarea.value));
124
+ }
125
+ applyInputStyle(textarea);
126
+ wrapper.appendChild(textarea);
127
+ return wrapper;
128
+ }
129
+ function renderButton(node, ctx) {
130
+ const btn = document.createElement('button');
131
+ btn.className = 'pf-button';
132
+ btn.type = node.submit === true ? 'submit' : 'button';
133
+ btn.textContent = resolveStr(node.label, ctx);
134
+ const variant = node.variant ?? 'default';
135
+ btn.setAttribute('data-variant', variant);
136
+ applyButtonStyle(btn, variant);
137
+ if (node.size != null)
138
+ btn.setAttribute('data-size', node.size);
139
+ if (node.disabled === true)
140
+ btn.disabled = true;
141
+ if (node.onClick != null) {
142
+ btn.addEventListener('click', () => {
143
+ void dispatchActions(node.onClick, makeDispatchCtx(ctx));
144
+ });
145
+ }
146
+ return btn;
147
+ }
148
+ function renderButtonGroup(node, ctx) {
149
+ const e = el('div', 'pf-button-group');
150
+ e.style.display = 'flex';
151
+ e.style.gap = '8px';
152
+ renderChildren(node, e, ctx);
153
+ return e;
154
+ }
155
+ function renderSelect(node, ctx) {
156
+ const wrapper = el('div', 'pf-select-wrapper');
157
+ const select = document.createElement('select');
158
+ select.className = 'pf-select';
159
+ if (node.name != null)
160
+ select.name = node.name;
161
+ applyInputStyle(select);
162
+ // Render SelectOption children
163
+ if (node.children) {
164
+ for (const child of node.children) {
165
+ if (child.type === 'SelectOption') {
166
+ const option = document.createElement('option');
167
+ option.value = child.value ?? '';
168
+ option.textContent = child.label ?? option.value;
169
+ select.appendChild(option);
170
+ }
171
+ else {
172
+ select.appendChild(renderNode(child, ctx));
173
+ }
174
+ }
175
+ }
176
+ const name = node.name;
177
+ if (name) {
178
+ const stateVal = ctx.store.get(name);
179
+ if (stateVal != null)
180
+ select.value = String(stateVal);
181
+ select.addEventListener('change', () => {
182
+ ctx.store.set(name, select.value);
183
+ if (node.onChange != null) {
184
+ void dispatchActions(node.onChange, { ...makeDispatchCtx(ctx), scope: { ...ctx.scope, $event: select.value } });
185
+ }
186
+ });
187
+ }
188
+ wrapper.appendChild(select);
189
+ return wrapper;
190
+ }
191
+ function renderSelectOption(_node, _ctx) {
192
+ // Handled inline by renderSelect
193
+ return el('span');
194
+ }
195
+ function renderCheckbox(node, ctx) {
196
+ const wrapper = el('label', 'pf-checkbox-wrapper');
197
+ wrapper.style.display = 'flex';
198
+ wrapper.style.alignItems = 'center';
199
+ wrapper.style.gap = '8px';
200
+ wrapper.style.cursor = 'pointer';
201
+ const input = document.createElement('input');
202
+ input.type = 'checkbox';
203
+ input.className = 'pf-checkbox';
204
+ if (node.name != null)
205
+ input.name = node.name;
206
+ if (node.checked === true)
207
+ input.checked = true;
208
+ const name = node.name;
209
+ if (name) {
210
+ const stateVal = ctx.store.get(name);
211
+ if (typeof stateVal === 'boolean')
212
+ input.checked = stateVal;
213
+ input.addEventListener('change', () => ctx.store.set(name, input.checked));
214
+ }
215
+ wrapper.appendChild(input);
216
+ if (node.label != null) {
217
+ const span = el('span');
218
+ span.textContent = resolveStr(node.label, ctx);
219
+ wrapper.appendChild(span);
220
+ }
221
+ return wrapper;
222
+ }
223
+ function renderSwitch(node, ctx) {
224
+ const wrapper = el('label', 'pf-switch-wrapper');
225
+ wrapper.style.display = 'flex';
226
+ wrapper.style.alignItems = 'center';
227
+ wrapper.style.gap = '8px';
228
+ wrapper.style.cursor = 'pointer';
229
+ const input = document.createElement('input');
230
+ input.type = 'checkbox';
231
+ input.className = 'pf-switch';
232
+ input.setAttribute('role', 'switch');
233
+ if (node.name != null)
234
+ input.name = node.name;
235
+ const name = node.name;
236
+ if (name) {
237
+ const stateVal = ctx.store.get(name);
238
+ if (typeof stateVal === 'boolean')
239
+ input.checked = stateVal;
240
+ input.addEventListener('change', () => ctx.store.set(name, input.checked));
241
+ }
242
+ wrapper.appendChild(input);
243
+ if (node.label != null) {
244
+ const span = el('span');
245
+ span.textContent = resolveStr(node.label, ctx);
246
+ wrapper.appendChild(span);
247
+ }
248
+ return wrapper;
249
+ }
250
+ function renderSlider(node, ctx) {
251
+ const wrapper = el('div', 'pf-slider-wrapper');
252
+ const input = document.createElement('input');
253
+ input.type = 'range';
254
+ input.className = 'pf-slider';
255
+ if (node.name != null)
256
+ input.name = node.name;
257
+ if (node.min != null)
258
+ input.min = String(node.min);
259
+ if (node.max != null)
260
+ input.max = String(node.max);
261
+ if (node.step != null)
262
+ input.step = String(node.step);
263
+ const name = node.name;
264
+ if (name) {
265
+ const stateVal = ctx.store.get(name);
266
+ if (stateVal != null)
267
+ input.value = String(stateVal);
268
+ input.addEventListener('input', () => ctx.store.set(name, Number(input.value)));
269
+ }
270
+ wrapper.appendChild(input);
271
+ return wrapper;
272
+ }
273
+ // ── Helpers ──────────────────────────────────────────────────────────────────
274
+ function applyInputStyle(e) {
275
+ e.style.padding = '8px 12px';
276
+ e.style.border = '1px solid var(--border, #d1d5db)';
277
+ e.style.borderRadius = 'var(--radius, 6px)';
278
+ e.style.fontSize = '14px';
279
+ e.style.width = '100%';
280
+ e.style.boxSizing = 'border-box';
281
+ }
282
+ function applyButtonStyle(btn, variant) {
283
+ btn.style.padding = '8px 16px';
284
+ btn.style.borderRadius = 'var(--radius, 6px)';
285
+ btn.style.fontSize = '14px';
286
+ btn.style.fontWeight = '500';
287
+ btn.style.cursor = 'pointer';
288
+ btn.style.border = 'none';
289
+ const styles = {
290
+ default: { bg: 'var(--primary, #3b82f6)', fg: '#fff' },
291
+ secondary: { bg: 'var(--secondary, #f3f4f6)', fg: 'var(--secondary-foreground, #1f2937)' },
292
+ destructive: { bg: 'var(--destructive, #ef4444)', fg: '#fff' },
293
+ outline: { bg: 'transparent', fg: 'inherit' },
294
+ ghost: { bg: 'transparent', fg: 'inherit' },
295
+ link: { bg: 'transparent', fg: 'var(--primary, #3b82f6)' },
296
+ };
297
+ const s = styles[variant] ?? styles.default;
298
+ btn.style.backgroundColor = s.bg;
299
+ btn.style.color = s.fg;
300
+ if (variant === 'outline')
301
+ btn.style.border = '1px solid var(--border, #d1d5db)';
302
+ }
303
+ // ── Generic helpers for simple container/text renderers ──────────────────────
304
+ function renderContainerDiv(className) {
305
+ return (node, ctx) => {
306
+ const e = el('div', className);
307
+ renderChildren(node, e, ctx);
308
+ return e;
309
+ };
310
+ }
311
+ function renderTextSpan(className) {
312
+ return (node, ctx) => {
313
+ const e = el('span', className);
314
+ e.textContent = resolveStr(node.content, ctx);
315
+ return e;
316
+ };
317
+ }
318
+ function renderSeparatorHr() {
319
+ const hr = document.createElement('hr');
320
+ hr.className = 'pf-separator';
321
+ hr.style.border = 'none';
322
+ hr.style.borderTop = '1px solid var(--border, #e5e7eb)';
323
+ hr.style.margin = '4px 0';
324
+ return hr;
325
+ }
326
+ // ── Radio ────────────────────────────────────────────────────────────────────
327
+ function renderRadio(node, ctx) {
328
+ const label = el('label', 'pf-radio');
329
+ label.style.display = 'flex';
330
+ label.style.alignItems = 'center';
331
+ label.style.gap = '8px';
332
+ label.style.cursor = 'pointer';
333
+ const input = document.createElement('input');
334
+ input.type = 'radio';
335
+ input.value = resolveStr(node.value, ctx);
336
+ label.appendChild(input);
337
+ if (node.label != null) {
338
+ const text = el('span', 'pf-radio-label');
339
+ text.textContent = resolveStr(node.label, ctx);
340
+ label.appendChild(text);
341
+ }
342
+ return label;
343
+ }
344
+ // ── RadioGroup ───────────────────────────────────────────────────────────────
345
+ function renderRadioGroup(node, ctx) {
346
+ const e = el('fieldset', 'pf-radio-group');
347
+ e.style.border = 'none';
348
+ e.style.padding = '0';
349
+ e.style.display = 'flex';
350
+ e.style.flexDirection = 'column';
351
+ e.style.gap = '8px';
352
+ if (node.label != null) {
353
+ const legend = document.createElement('legend');
354
+ legend.textContent = resolveStr(node.label, ctx);
355
+ legend.style.fontWeight = '500';
356
+ legend.style.marginBottom = '4px';
357
+ e.appendChild(legend);
358
+ }
359
+ renderChildren(node, e, ctx);
360
+ // Wire up name attribute on child radios
361
+ const name = resolveStr(node.name, ctx);
362
+ for (const radio of Array.from(e.querySelectorAll('input[type="radio"]'))) {
363
+ ;
364
+ radio.name = name;
365
+ }
366
+ e.addEventListener('change', (evt) => {
367
+ const target = evt.target;
368
+ if (target.type === 'radio') {
369
+ ctx.store.set(name, target.value);
370
+ if (node.onChange != null) {
371
+ void dispatchActions(node.onChange, makeDispatchCtx(ctx));
372
+ }
373
+ }
374
+ });
375
+ return e;
376
+ }
377
+ // ── Combobox ─────────────────────────────────────────────────────────────────
378
+ function renderCombobox(node, ctx) {
379
+ const e = el('div', 'pf-combobox');
380
+ const input = document.createElement('input');
381
+ input.className = 'pf-combobox-input';
382
+ input.type = 'text';
383
+ input.name = resolveStr(node.name, ctx);
384
+ if (node.placeholder != null)
385
+ input.placeholder = resolveStr(node.placeholder, ctx);
386
+ if (node.value !== undefined)
387
+ input.value = resolveStr(node.value, ctx);
388
+ input.style.padding = '6px 12px';
389
+ input.style.borderRadius = '6px';
390
+ input.style.border = '1px solid var(--border, #d1d5db)';
391
+ input.style.width = '100%';
392
+ input.style.boxSizing = 'border-box';
393
+ const dropdown = el('div', 'pf-combobox-dropdown');
394
+ dropdown.style.display = 'none';
395
+ dropdown.style.position = 'absolute';
396
+ dropdown.style.background = 'var(--popover, #fff)';
397
+ dropdown.style.border = '1px solid var(--border, #d1d5db)';
398
+ dropdown.style.borderRadius = '6px';
399
+ dropdown.style.maxHeight = '200px';
400
+ dropdown.style.overflowY = 'auto';
401
+ dropdown.style.zIndex = '50';
402
+ renderChildren(node, dropdown, ctx);
403
+ input.addEventListener('focus', () => { dropdown.style.display = 'block'; });
404
+ input.addEventListener('blur', () => {
405
+ setTimeout(() => { dropdown.style.display = 'none'; }, 150);
406
+ });
407
+ if (node.searchable !== false) {
408
+ input.addEventListener('input', () => {
409
+ const q = input.value.toLowerCase();
410
+ for (const opt of Array.from(dropdown.querySelectorAll('.pf-combobox-option'))) {
411
+ const text = opt.textContent.toLowerCase();
412
+ opt.style.display = text.includes(q) ? '' : 'none';
413
+ }
414
+ });
415
+ }
416
+ e.style.position = 'relative';
417
+ e.appendChild(input);
418
+ e.appendChild(dropdown);
419
+ return e;
420
+ }
421
+ function renderComboboxOption(node, ctx) {
422
+ const e = el('div', 'pf-combobox-option');
423
+ e.style.padding = '6px 12px';
424
+ e.style.cursor = 'pointer';
425
+ e.textContent = resolveStr(node.label ?? node.value, ctx);
426
+ e.dataset.value = resolveStr(node.value, ctx);
427
+ e.addEventListener('mousedown', () => {
428
+ const combobox = e.closest('.pf-combobox');
429
+ const input = combobox?.querySelector('input');
430
+ if (input) {
431
+ input.value = e.dataset.value ?? '';
432
+ ctx.store.set(input.name, input.value);
433
+ }
434
+ });
435
+ return e;
436
+ }
437
+ // ── Calendar ─────────────────────────────────────────────────────────────────
438
+ function renderCalendar(node, ctx) {
439
+ const e = el('div', 'pf-calendar');
440
+ const input = document.createElement('input');
441
+ input.type = 'date';
442
+ input.name = resolveStr(node.name, ctx);
443
+ if (node.value !== undefined)
444
+ input.value = resolveStr(node.value, ctx);
445
+ if (node.minDate != null)
446
+ input.min = resolveStr(node.minDate, ctx);
447
+ if (node.maxDate != null)
448
+ input.max = resolveStr(node.maxDate, ctx);
449
+ input.style.padding = '6px 12px';
450
+ input.style.borderRadius = '6px';
451
+ input.style.border = '1px solid var(--border, #d1d5db)';
452
+ input.addEventListener('change', () => {
453
+ ctx.store.set(input.name, input.value);
454
+ if (node.onChange != null) {
455
+ void dispatchActions(node.onChange, makeDispatchCtx(ctx));
456
+ }
457
+ });
458
+ e.appendChild(input);
459
+ return e;
460
+ }
461
+ // ── DatePicker ───────────────────────────────────────────────────────────────
462
+ function renderDatePicker(node, ctx) {
463
+ const e = el('div', 'pf-datepicker');
464
+ const input = document.createElement('input');
465
+ input.type = 'date';
466
+ input.name = resolveStr(node.name, ctx);
467
+ if (node.placeholder != null)
468
+ input.placeholder = resolveStr(node.placeholder, ctx);
469
+ if (node.value !== undefined)
470
+ input.value = resolveStr(node.value, ctx);
471
+ if (node.minDate != null)
472
+ input.min = resolveStr(node.minDate, ctx);
473
+ if (node.maxDate != null)
474
+ input.max = resolveStr(node.maxDate, ctx);
475
+ input.style.padding = '6px 12px';
476
+ input.style.borderRadius = '6px';
477
+ input.style.border = '1px solid var(--border, #d1d5db)';
478
+ input.style.width = '100%';
479
+ input.style.boxSizing = 'border-box';
480
+ input.addEventListener('change', () => {
481
+ ctx.store.set(input.name, input.value);
482
+ if (node.onChange != null) {
483
+ void dispatchActions(node.onChange, makeDispatchCtx(ctx));
484
+ }
485
+ });
486
+ e.appendChild(input);
487
+ return e;
488
+ }
489
+ // ── ChoiceCard ───────────────────────────────────────────────────────────────
490
+ function renderChoiceCard(node, ctx) {
491
+ const e = el('div', 'pf-choice-card');
492
+ e.style.border = '2px solid var(--border, #d1d5db)';
493
+ e.style.borderRadius = '8px';
494
+ e.style.padding = '16px';
495
+ e.style.cursor = 'pointer';
496
+ e.style.transition = 'border-color 0.2s';
497
+ e.dataset.value = resolveStr(node.value, ctx);
498
+ if (node.selected != null) {
499
+ e.style.borderColor = 'var(--primary, #3b82f6)';
500
+ e.style.backgroundColor = 'var(--accent, #eff6ff)';
501
+ }
502
+ if (node.label != null) {
503
+ const title = el('div', 'pf-choice-card-label');
504
+ title.textContent = resolveStr(node.label, ctx);
505
+ title.style.fontWeight = '600';
506
+ e.appendChild(title);
507
+ }
508
+ if (node.description != null) {
509
+ const desc = el('div', 'pf-choice-card-description');
510
+ desc.textContent = resolveStr(node.description, ctx);
511
+ desc.style.fontSize = '14px';
512
+ desc.style.color = 'var(--muted-foreground, #6b7280)';
513
+ e.appendChild(desc);
514
+ }
515
+ renderChildren(node, e, ctx);
516
+ if (node.onClick != null) {
517
+ e.addEventListener('click', () => {
518
+ void dispatchActions(node.onClick, makeDispatchCtx(ctx));
519
+ });
520
+ }
521
+ return e;
522
+ }
523
+ //# sourceMappingURL=form.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form.js","sourceRoot":"","sources":["../../../src/renderer/components/form.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Register all built-in component renderers.
3
+ */
4
+ export declare function registerAllComponents(): void;
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/renderer/components/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAgBH,wBAAgB,qBAAqB,IAAI,IAAI,CAe5C"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Register all built-in component renderers.
3
+ */
4
+ import { registerLayoutComponents } from './layout.js';
5
+ import { registerTypographyComponents } from './typography.js';
6
+ import { registerCardComponents } from './card.js';
7
+ import { registerDataComponents } from './data.js';
8
+ import { registerFormComponents } from './form.js';
9
+ import { registerInteractiveComponents } from './interactive.js';
10
+ import { registerControlComponents } from './control.js';
11
+ import { registerAlertComponents } from './alert.js';
12
+ import { registerMediaComponents } from './media.js';
13
+ import { registerChartComponents } from './charts.js';
14
+ import { registerTableComponents } from './table.js';
15
+ let registered = false;
16
+ export function registerAllComponents() {
17
+ if (registered)
18
+ return;
19
+ registered = true;
20
+ registerLayoutComponents();
21
+ registerTypographyComponents();
22
+ registerCardComponents();
23
+ registerDataComponents();
24
+ registerFormComponents();
25
+ registerInteractiveComponents();
26
+ registerControlComponents();
27
+ registerAlertComponents();
28
+ registerMediaComponents();
29
+ registerChartComponents();
30
+ registerTableComponents();
31
+ }
32
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/renderer/components/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAA;AACtD,OAAO,EAAE,4BAA4B,EAAE,MAAM,iBAAiB,CAAA;AAC9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAA;AAClD,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAA;AAClD,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAA;AAClD,OAAO,EAAE,6BAA6B,EAAE,MAAM,kBAAkB,CAAA;AAChE,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAA;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAA;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAA;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAA;AACrD,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAA;AAEpD,IAAI,UAAU,GAAG,KAAK,CAAA;AAEtB,MAAM,UAAU,qBAAqB;IACnC,IAAI,UAAU;QAAE,OAAM;IACtB,UAAU,GAAG,IAAI,CAAA;IAEjB,wBAAwB,EAAE,CAAA;IAC1B,4BAA4B,EAAE,CAAA;IAC9B,sBAAsB,EAAE,CAAA;IACxB,sBAAsB,EAAE,CAAA;IACxB,sBAAsB,EAAE,CAAA;IACxB,6BAA6B,EAAE,CAAA;IAC/B,yBAAyB,EAAE,CAAA;IAC3B,uBAAuB,EAAE,CAAA;IACzB,uBAAuB,EAAE,CAAA;IACzB,uBAAuB,EAAE,CAAA;IACzB,uBAAuB,EAAE,CAAA;AAC3B,CAAC"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Interactive component renderers — Tabs, Accordion, Dialog, Popover, Tooltip, etc.
3
+ */
4
+ export declare function registerInteractiveComponents(): void;
5
+ //# sourceMappingURL=interactive.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interactive.d.ts","sourceRoot":"","sources":["../../../src/renderer/components/interactive.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,wBAAgB,6BAA6B,IAAI,IAAI,CAUpD"}