@maxhealth.tech/prefab 0.3.23 → 0.3.24

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 (76) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/dist/a2ui.min.js +1 -1
  3. package/dist/auto/chart.js +1 -1
  4. package/dist/auto/chart.js.map +1 -1
  5. package/dist/auto/comparison.js +1 -1
  6. package/dist/auto/comparison.js.map +1 -1
  7. package/dist/auto/form.d.ts +1 -1
  8. package/dist/auto/form.d.ts.map +1 -1
  9. package/dist/auto/form.js +15 -2
  10. package/dist/auto/form.js.map +1 -1
  11. package/dist/auto/index.d.ts +2 -10
  12. package/dist/auto/index.d.ts.map +1 -1
  13. package/dist/auto/index.js +5 -61
  14. package/dist/auto/index.js.map +1 -1
  15. package/dist/auto/metrics.js +1 -1
  16. package/dist/auto/metrics.js.map +1 -1
  17. package/dist/auto/progress.d.ts.map +1 -1
  18. package/dist/auto/progress.js +8 -7
  19. package/dist/auto/progress.js.map +1 -1
  20. package/dist/auto/status.d.ts +17 -0
  21. package/dist/auto/status.d.ts.map +1 -0
  22. package/dist/auto/status.js +79 -0
  23. package/dist/auto/status.js.map +1 -0
  24. package/dist/auto/timeline.d.ts.map +1 -1
  25. package/dist/auto/timeline.js +3 -14
  26. package/dist/auto/timeline.js.map +1 -1
  27. package/dist/components/form/index.d.ts +1 -1
  28. package/dist/components/form/index.d.ts.map +1 -1
  29. package/dist/components/form/index.js +7 -1
  30. package/dist/components/form/index.js.map +1 -1
  31. package/dist/components/layout/index.d.ts +7 -1
  32. package/dist/components/layout/index.d.ts.map +1 -1
  33. package/dist/components/layout/index.js +6 -2
  34. package/dist/components/layout/index.js.map +1 -1
  35. package/dist/core/version.d.ts +1 -1
  36. package/dist/core/version.js +1 -1
  37. package/dist/prefab.css +85 -2
  38. package/dist/renderer/cdn.d.ts +5 -0
  39. package/dist/renderer/cdn.d.ts.map +1 -0
  40. package/dist/renderer/cdn.js +19 -0
  41. package/dist/renderer/cdn.js.map +1 -0
  42. package/dist/renderer/components/alert.d.ts.map +1 -1
  43. package/dist/renderer/components/alert.js +2 -1
  44. package/dist/renderer/components/alert.js.map +1 -1
  45. package/dist/renderer/components/charts/helpers.d.ts.map +1 -1
  46. package/dist/renderer/components/charts/helpers.js +21 -6
  47. package/dist/renderer/components/charts/helpers.js.map +1 -1
  48. package/dist/renderer/components/charts/scatter.d.ts.map +1 -1
  49. package/dist/renderer/components/charts/scatter.js +23 -4
  50. package/dist/renderer/components/charts/scatter.js.map +1 -1
  51. package/dist/renderer/components/data.d.ts.map +1 -1
  52. package/dist/renderer/components/data.js +2 -1
  53. package/dist/renderer/components/data.js.map +1 -1
  54. package/dist/renderer/components/form.d.ts.map +1 -1
  55. package/dist/renderer/components/form.js +3 -0
  56. package/dist/renderer/components/form.js.map +1 -1
  57. package/dist/renderer/components/layout.js +28 -7
  58. package/dist/renderer/components/layout.js.map +1 -1
  59. package/dist/renderer/components/media.d.ts.map +1 -1
  60. package/dist/renderer/components/media.js +23 -8
  61. package/dist/renderer/components/media.js.map +1 -1
  62. package/dist/renderer/components/pdf.d.ts +38 -0
  63. package/dist/renderer/components/pdf.d.ts.map +1 -1
  64. package/dist/renderer/components/pdf.js +152 -174
  65. package/dist/renderer/components/pdf.js.map +1 -1
  66. package/dist/renderer/icons.d.ts +5 -0
  67. package/dist/renderer/icons.d.ts.map +1 -0
  68. package/dist/renderer/icons.generated.d.ts +3 -0
  69. package/dist/renderer/icons.generated.d.ts.map +1 -0
  70. package/dist/renderer/icons.generated.js +64 -0
  71. package/dist/renderer/icons.generated.js.map +1 -0
  72. package/dist/renderer/icons.js +23 -0
  73. package/dist/renderer/icons.js.map +1 -0
  74. package/dist/renderer.auto.min.js +9 -9
  75. package/dist/renderer.min.js +9 -9
  76. package/package.json +3 -1
@@ -1,14 +1,19 @@
1
1
  /** PdfViewer renderer: lazy-loads PDF.js from the CDN and draws one page at a time to a <canvas>, with a page toolbar. */
2
2
  import { registerComponent, resolveStr, el } from '../engine.js';
3
3
  import { isRecord, optionalString } from '../../core/guards.js';
4
- /** CDN URL for pdf.js (ES module build). */
4
+ import { importFromCdn } from '../cdn.js';
5
5
  const PDFJS_CDN = 'https://cdn.jsdelivr.net/npm/pdfjs-dist@4.9/build/pdf.min.mjs';
6
6
  const PDFJS_WORKER_CDN = 'https://cdn.jsdelivr.net/npm/pdfjs-dist@4.9/build/pdf.worker.min.mjs';
7
- /** Cached PDF.js library reference. */
8
- let pdfjsLib = null;
9
- let loadPromise = null;
10
- function isPdfjsLib(mod) {
11
- return isRecord(mod) && typeof mod.getDocument === 'function' && isRecord(mod.GlobalWorkerOptions);
7
+ const ZOOM_STEP = 1.25;
8
+ const MIN_SCALE = 0.25;
9
+ const MAX_SCALE = 5;
10
+ const CANVAS_PADDING = 32;
11
+ /** PDF.js 4 exports `GlobalWorkerOptions` as a class, so it is a function there and an object in older builds. */
12
+ export function isPdfjsLib(mod) {
13
+ if (!isRecord(mod) || typeof mod.getDocument !== 'function')
14
+ return false;
15
+ const options = mod.GlobalWorkerOptions;
16
+ return typeof options === 'function' || isRecord(options);
12
17
  }
13
18
  /** A finite number, or a string holding one; otherwise `fallback`. */
14
19
  function numberProp(value, fallback) {
@@ -18,205 +23,178 @@ function numberProp(value, fallback) {
18
23
  function zoomProp(value) {
19
24
  return value === 'fit-page' || value === 'fit-width' ? value : numberProp(value, 0) || 'fit-width';
20
25
  }
21
- /** Load PDF.js on demand. Cached after first call. */
22
26
  async function loadPdfjs() {
23
- if (pdfjsLib)
24
- return pdfjsLib;
25
- if (loadPromise)
26
- return loadPromise;
27
- loadPromise = import(/* webpackIgnore: true */ PDFJS_CDN).then((mod) => {
28
- if (!isPdfjsLib(mod))
29
- throw new Error('PDF.js did not load');
30
- const lib = mod;
31
- lib.GlobalWorkerOptions.workerSrc = PDFJS_WORKER_CDN;
32
- pdfjsLib = lib;
33
- return lib;
34
- });
35
- return loadPromise;
27
+ const mod = await importFromCdn(PDFJS_CDN);
28
+ if (!isPdfjsLib(mod))
29
+ throw new Error('PDF.js did not load');
30
+ mod.GlobalWorkerOptions.workerSrc = PDFJS_WORKER_CDN;
31
+ return mod;
36
32
  }
37
33
  export function registerPdfComponents() {
38
34
  registerComponent('PdfViewer', renderPdfViewer);
39
35
  }
40
36
  function renderPdfViewer(node, ctx) {
41
37
  const wrapper = el('div', 'pf-pdf-viewer');
42
- const src = node.src != null ? resolveStr(node.src, ctx) : undefined;
43
- const data = optionalString(node.data);
44
- const initialPage = numberProp(node.page, 1);
45
- const zoom = zoomProp(node.zoom);
46
- const showToolbar = node.toolbar !== false;
47
- const height = numberProp(node.height, 600);
48
- wrapper.style.height = `${height}px`;
49
- wrapper.style.display = 'flex';
50
- wrapper.style.flexDirection = 'column';
51
- wrapper.style.overflow = 'hidden';
52
- wrapper.style.border = '1px solid var(--color-border-primary, #e5e7eb)';
53
- wrapper.style.borderRadius = 'var(--border-radius-md, 0.375rem)';
54
- wrapper.style.background = 'var(--color-background-secondary, #f9fafb)';
55
- // Loading state
56
- const loading = el('div', 'pf-pdf-loading');
57
- loading.textContent = 'Loading PDF…';
58
- loading.style.display = 'flex';
59
- loading.style.alignItems = 'center';
60
- loading.style.justifyContent = 'center';
61
- loading.style.flex = '1';
62
- loading.style.color = 'var(--color-text-secondary, #6b7280)';
63
- wrapper.appendChild(loading);
64
- // Boot async rendering
65
- void renderPdfAsync(wrapper, loading, { src, data, initialPage, zoom, showToolbar });
66
- return wrapper;
38
+ wrapper.style.height = `${numberProp(node.height, 600)}px`;
39
+ const message = el('div', 'pf-pdf-message');
40
+ message.setAttribute('role', 'status');
41
+ message.textContent = 'Loading PDF…';
42
+ wrapper.appendChild(message);
43
+ const session = { destroyed: false, cleanup: () => undefined };
44
+ void renderPdfAsync(wrapper, message, session, {
45
+ src: node.src != null ? resolveStr(node.src, ctx) : undefined,
46
+ data: optionalString(node.data),
47
+ initialPage: numberProp(node.page, 1),
48
+ zoom: zoomProp(node.zoom),
49
+ showToolbar: node.toolbar !== false,
50
+ });
51
+ return { element: wrapper, destroy: () => { session.destroyed = true; session.cleanup(); } };
52
+ }
53
+ function decodeBase64(data) {
54
+ const binary = atob(data);
55
+ const bytes = new Uint8Array(binary.length);
56
+ for (let i = 0; i < binary.length; i++)
57
+ bytes[i] = binary.charCodeAt(i);
58
+ return bytes;
67
59
  }
68
- async function renderPdfAsync(wrapper, loading, opts) {
60
+ async function renderPdfAsync(wrapper, message, session, opts) {
69
61
  try {
62
+ if (!opts.src && !opts.data)
63
+ throw new Error('No PDF source provided');
70
64
  const lib = await loadPdfjs();
71
- let docSource;
72
- if (opts.src) {
73
- docSource = { url: opts.src };
74
- }
75
- else if (opts.data) {
76
- const binary = atob(opts.data);
77
- const bytes = new Uint8Array(binary.length);
78
- for (let i = 0; i < binary.length; i++)
79
- bytes[i] = binary.charCodeAt(i);
80
- docSource = { data: bytes };
81
- }
82
- else {
83
- loading.textContent = 'Error: No PDF source provided';
65
+ const doc = await lib.getDocument(opts.src ? { url: opts.src } : { data: decodeBase64(opts.data ?? '') }).promise;
66
+ if (session.destroyed)
84
67
  return;
85
- }
86
- const doc = await lib.getDocument(docSource).promise;
87
- loading.remove();
88
- // State
68
+ message.remove();
89
69
  let currentPage = Math.max(1, Math.min(opts.initialPage, doc.numPages));
90
- // Toolbar
91
- let pageInput = null;
92
- let pageCount = null;
93
- if (opts.showToolbar) {
94
- const toolbar = buildToolbar(doc.numPages, currentPage, {
95
- onPrev: () => { if (currentPage > 1) {
96
- currentPage--;
97
- void renderPage();
98
- } },
99
- onNext: () => { if (currentPage < doc.numPages) {
100
- currentPage++;
101
- void renderPage();
102
- } },
103
- onPageChange: (p) => {
104
- const n = Math.max(1, Math.min(p, doc.numPages));
105
- if (n !== currentPage) {
106
- currentPage = n;
107
- void renderPage();
108
- }
109
- },
110
- });
111
- pageInput = toolbar.pageInput;
112
- pageCount = toolbar.pageCount;
113
- wrapper.insertBefore(toolbar.el, wrapper.firstChild);
114
- }
115
- // Canvas container (scrollable)
70
+ let zoom = opts.zoom;
71
+ let scale = 1;
72
+ let task;
73
+ let generation = 0;
74
+ const toolbar = opts.showToolbar
75
+ ? buildToolbar(doc.numPages, {
76
+ onPage: (p) => { goTo(p); },
77
+ onZoom: (factor) => { zoom = clampScale(scale * factor); void renderPage(); },
78
+ onFit: () => { zoom = zoom === 'fit-page' ? 'fit-width' : 'fit-page'; void renderPage(); },
79
+ })
80
+ : undefined;
81
+ if (toolbar)
82
+ wrapper.appendChild(toolbar.el);
116
83
  const canvasContainer = el('div', 'pf-pdf-canvas-container');
117
- canvasContainer.style.flex = '1';
118
- canvasContainer.style.overflow = 'auto';
119
- canvasContainer.style.display = 'flex';
120
- canvasContainer.style.justifyContent = 'center';
121
- canvasContainer.style.padding = '8px';
122
- wrapper.appendChild(canvasContainer);
123
84
  const canvas = document.createElement('canvas');
124
- canvas.style.display = 'block';
125
- canvas.style.boxShadow = 'var(--shadow-md, 0 4px 6px -1px rgba(0,0,0,.1))';
85
+ canvas.className = 'pf-pdf-canvas';
126
86
  canvasContainer.appendChild(canvas);
87
+ wrapper.appendChild(canvasContainer);
88
+ function goTo(page) {
89
+ const n = Math.max(1, Math.min(page, doc.numPages));
90
+ if (n !== currentPage) {
91
+ currentPage = n;
92
+ void renderPage();
93
+ }
94
+ }
127
95
  async function renderPage() {
96
+ generation += 1;
97
+ const mine = generation;
98
+ task?.cancel();
128
99
  const page = await doc.getPage(currentPage);
129
- const containerWidth = canvasContainer.clientWidth - 16; // padding
130
- let scale;
131
- const baseViewport = page.getViewport({ scale: 1 });
132
- if (opts.zoom === 'fit-width') {
133
- scale = containerWidth / baseViewport.width;
134
- }
135
- else if (opts.zoom === 'fit-page') {
136
- const containerHeight = canvasContainer.clientHeight - 16;
137
- const scaleW = containerWidth / baseViewport.width;
138
- const scaleH = containerHeight / baseViewport.height;
139
- scale = Math.min(scaleW, scaleH);
140
- }
141
- else {
142
- scale = typeof opts.zoom === 'number' ? opts.zoom : 1;
143
- }
100
+ if (session.destroyed || mine !== generation)
101
+ return;
102
+ const base = page.getViewport({ scale: 1 });
103
+ const width = Math.max(1, canvasContainer.clientWidth - CANVAS_PADDING);
104
+ const height = Math.max(1, canvasContainer.clientHeight - CANVAS_PADDING);
105
+ scale = zoom === 'fit-width' ? width / base.width
106
+ : zoom === 'fit-page' ? Math.min(width / base.width, height / base.height)
107
+ : zoom;
144
108
  const viewport = page.getViewport({ scale });
145
- canvas.width = viewport.width;
146
- canvas.height = viewport.height;
147
- canvas.style.width = `${viewport.width}px`;
148
- canvas.style.height = `${viewport.height}px`;
109
+ const ratio = window.devicePixelRatio || 1;
110
+ canvas.width = Math.floor(viewport.width * ratio);
111
+ canvas.height = Math.floor(viewport.height * ratio);
112
+ canvas.style.width = `${Math.floor(viewport.width)}px`;
113
+ canvas.style.height = `${Math.floor(viewport.height)}px`;
149
114
  const canvasCtx = canvas.getContext('2d');
150
115
  if (!canvasCtx)
151
116
  return;
152
- await page.render({ canvasContext: canvasCtx, viewport }).promise;
153
- // Update toolbar
154
- if (pageInput)
155
- pageInput.value = String(currentPage);
156
- if (pageCount)
157
- pageCount.textContent = `/ ${doc.numPages}`;
117
+ const current = page.render({ canvasContext: canvasCtx, viewport, transform: ratio !== 1 ? [ratio, 0, 0, ratio, 0, 0] : undefined });
118
+ task = current;
119
+ try {
120
+ await current.promise;
121
+ }
122
+ catch (err) {
123
+ if (mine !== generation)
124
+ return;
125
+ throw err;
126
+ }
127
+ toolbar?.update(currentPage, scale, zoom);
128
+ }
129
+ if (typeof ResizeObserver !== 'undefined') {
130
+ let lastWidth = 0;
131
+ const observer = new ResizeObserver((entries) => {
132
+ const w = Math.round(entries[0]?.contentRect.width ?? 0);
133
+ if (typeof zoom === 'number' || w === lastWidth)
134
+ return;
135
+ lastWidth = w;
136
+ void renderPage();
137
+ });
138
+ observer.observe(canvasContainer);
139
+ session.cleanup = () => { observer.disconnect(); };
158
140
  }
159
141
  await renderPage();
160
142
  }
161
143
  catch (err) {
162
- loading.textContent = `PDF Error: ${err instanceof Error ? err.message : String(err)}`;
163
- loading.style.color = 'var(--color-text-danger, #dc2626)';
144
+ message.textContent = `Could not load PDF: ${err instanceof Error ? err.message : String(err)}`;
145
+ message.setAttribute('data-state', 'error');
164
146
  }
165
147
  }
166
- function buildToolbar(numPages, currentPage, cb) {
148
+ function clampScale(s) {
149
+ return Math.min(MAX_SCALE, Math.max(MIN_SCALE, s));
150
+ }
151
+ function toolbarButton(glyph, label, onClick) {
152
+ const btn = document.createElement('button');
153
+ btn.type = 'button';
154
+ btn.className = 'pf-pdf-btn';
155
+ btn.textContent = glyph;
156
+ btn.title = label;
157
+ btn.setAttribute('aria-label', label);
158
+ btn.addEventListener('click', onClick);
159
+ return btn;
160
+ }
161
+ function buildToolbar(numPages, cb) {
167
162
  const toolbar = el('div', 'pf-pdf-toolbar');
168
- toolbar.style.display = 'flex';
169
- toolbar.style.alignItems = 'center';
170
- toolbar.style.gap = '8px';
171
- toolbar.style.padding = '6px 12px';
172
- toolbar.style.borderBottom = '1px solid var(--color-border-primary, #e5e7eb)';
173
- toolbar.style.background = 'var(--color-background-primary, #fff)';
174
- toolbar.style.flexShrink = '0';
175
- toolbar.style.fontSize = '13px';
176
- const prevBtn = document.createElement('button');
177
- prevBtn.textContent = '‹';
178
- prevBtn.title = 'Previous page';
179
- prevBtn.className = 'pf-pdf-btn';
180
- styleButton(prevBtn);
181
- prevBtn.addEventListener('click', cb.onPrev);
182
- const nextBtn = document.createElement('button');
183
- nextBtn.textContent = '›';
184
- nextBtn.title = 'Next page';
185
- nextBtn.className = 'pf-pdf-btn';
186
- styleButton(nextBtn);
187
- nextBtn.addEventListener('click', cb.onNext);
163
+ let page = 1;
164
+ const prevBtn = toolbarButton('‹', 'Previous page', () => { cb.onPage(page - 1); });
165
+ const nextBtn = toolbarButton('›', 'Next page', () => { cb.onPage(page + 1); });
188
166
  const pageInput = document.createElement('input');
189
- pageInput.type = 'number';
190
- pageInput.min = '1';
191
- pageInput.max = String(numPages);
192
- pageInput.value = String(currentPage);
193
- pageInput.style.width = '48px';
194
- pageInput.style.textAlign = 'center';
195
- pageInput.style.border = '1px solid var(--color-border-primary, #e5e7eb)';
196
- pageInput.style.borderRadius = '4px';
197
- pageInput.style.padding = '2px 4px';
198
- pageInput.style.fontSize = '13px';
167
+ pageInput.type = 'text';
168
+ pageInput.inputMode = 'numeric';
169
+ pageInput.className = 'pf-pdf-page-input';
170
+ pageInput.setAttribute('aria-label', 'Page number');
199
171
  pageInput.addEventListener('change', () => {
200
172
  const val = parseInt(pageInput.value, 10);
201
- if (!isNaN(val))
202
- cb.onPageChange(val);
173
+ if (isNaN(val))
174
+ pageInput.value = String(page);
175
+ else
176
+ cb.onPage(val);
203
177
  });
204
- const pageCount = document.createElement('span');
205
- pageCount.textContent = `/ ${numPages}`;
206
- pageCount.style.color = 'var(--color-text-secondary, #6b7280)';
207
- toolbar.appendChild(prevBtn);
208
- toolbar.appendChild(pageInput);
209
- toolbar.appendChild(pageCount);
210
- toolbar.appendChild(nextBtn);
211
- return { el: toolbar, pageInput, pageCount };
212
- }
213
- function styleButton(btn) {
214
- btn.style.border = '1px solid var(--color-border-primary, #e5e7eb)';
215
- btn.style.borderRadius = '4px';
216
- btn.style.background = 'var(--color-background-primary, #fff)';
217
- btn.style.cursor = 'pointer';
218
- btn.style.padding = '2px 8px';
219
- btn.style.fontSize = '16px';
220
- btn.style.lineHeight = '1';
178
+ const pageCount = el('span', 'pf-pdf-page-count');
179
+ pageCount.textContent = `/ ${String(numPages)}`;
180
+ const spacer = el('span', 'pf-pdf-spacer');
181
+ const zoomOut = toolbarButton('−', 'Zoom out', () => { cb.onZoom(1 / ZOOM_STEP); });
182
+ const zoomLabel = el('span', 'pf-pdf-zoom-label');
183
+ const zoomIn = toolbarButton('+', 'Zoom in', () => { cb.onZoom(ZOOM_STEP); });
184
+ const fit = toolbarButton('⤢', 'Fit page / fit width', cb.onFit);
185
+ toolbar.append(prevBtn, pageInput, pageCount, nextBtn, spacer, zoomOut, zoomLabel, zoomIn, fit);
186
+ return {
187
+ el: toolbar,
188
+ update(current, scale, zoom) {
189
+ page = current;
190
+ pageInput.value = String(current);
191
+ prevBtn.disabled = current <= 1;
192
+ nextBtn.disabled = current >= numPages;
193
+ zoomLabel.textContent = `${String(Math.round(scale * 100))}%`;
194
+ zoomOut.disabled = scale <= MIN_SCALE;
195
+ zoomIn.disabled = scale >= MAX_SCALE;
196
+ fit.setAttribute('aria-pressed', typeof zoom === 'number' ? 'false' : 'true');
197
+ },
198
+ };
221
199
  }
222
200
  //# sourceMappingURL=pdf.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pdf.js","sourceRoot":"","sources":["../../../src/renderer/components/pdf.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pdf.js","sourceRoot":"","sources":["../../../src/renderer/components/pdf.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /** Inline SVG for a Material or Lucide icon name, or undefined when prefab has no glyph for it. */
2
+ export declare function iconSvg(name: string): string | undefined;
3
+ /** Draw `name` into `host`, keeping the requested name on `data-icon`. */
4
+ export declare function fillIcon(host: HTMLElement, name: string): void;
5
+ //# sourceMappingURL=icons.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icons.d.ts","sourceRoot":"","sources":["../../src/renderer/icons.ts"],"names":[],"mappings":"AAMA,mGAAmG;AACnG,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAIxD;AAED,0EAA0E;AAC1E,wBAAgB,QAAQ,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAQ9D"}
@@ -0,0 +1,3 @@
1
+ /** SVG children of each A2UI icon, drawn on a 24×24 stroked canvas. */
2
+ export declare const ICON_GLYPHS: Readonly<Record<string, string>>;
3
+ //# sourceMappingURL=icons.generated.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icons.generated.d.ts","sourceRoot":"","sources":["../../src/renderer/icons.generated.ts"],"names":[],"mappings":"AAEA,uEAAuE;AACvE,eAAO,MAAM,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CA4DxD,CAAA"}
@@ -0,0 +1,64 @@
1
+ // Generated by scripts/gen-icons.ts from lucide-static (ISC License, https://lucide.dev). Do not edit.
2
+ /** SVG children of each A2UI icon, drawn on a 24×24 stroked canvas. */
3
+ export const ICON_GLYPHS = {
4
+ accountCircle: '<path d="M18 20a6 6 0 0 0-12 0"/><circle cx="12" cy="10" r="4"/><circle cx="12" cy="12" r="10"/>',
5
+ add: '<path d="M5 12h14"/><path d="M12 5v14"/>',
6
+ arrowBack: '<path d="m12 19-7-7 7-7"/><path d="M19 12H5"/>',
7
+ arrowForward: '<path d="M5 12h14"/><path d="m12 5 7 7-7 7"/>',
8
+ attachFile: '<path d="M13.234 20.252 21 12.3"/><path d="m16 6-8.414 8.586a2 2 0 0 0 0 2.828 2 2 0 0 0 2.828 0l8.414-8.586a4 4 0 0 0 0-5.656 4 4 0 0 0-5.656 0l-8.415 8.585a6 6 0 1 0 8.486 8.486"/>',
9
+ calendarToday: '<path d="M8 2v4"/><path d="M16 2v4"/><rect width="18" height="18" x="3" y="4" rx="2"/><path d="M3 10h18"/>',
10
+ call: '<path d="M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z"/>',
11
+ camera: '<path d="M14.5 4h-5L7 7H4a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-3l-2.5-3z"/><circle cx="12" cy="13" r="3"/>',
12
+ check: '<path d="M20 6 9 17l-5-5"/>',
13
+ close: '<path d="M18 6 6 18"/><path d="m6 6 12 12"/>',
14
+ delete: '<path d="M3 6h18"/><path d="M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6"/><path d="M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2"/><line x1="10" x2="10" y1="11" y2="17"/><line x1="14" x2="14" y1="11" y2="17"/>',
15
+ download: '<path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"/><polyline points="7 10 12 15 17 10"/><line x1="12" x2="12" y1="15" y2="3"/>',
16
+ edit: '<path d="M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z"/><path d="m15 5 4 4"/>',
17
+ event: '<path d="M8 2v4"/><path d="M16 2v4"/><rect width="18" height="18" x="3" y="4" rx="2"/><path d="M3 10h18"/><path d="M8 14h.01"/><path d="M12 14h.01"/><path d="M16 14h.01"/><path d="M8 18h.01"/><path d="M12 18h.01"/><path d="M16 18h.01"/>',
18
+ error: '<circle cx="12" cy="12" r="10"/><line x1="12" x2="12" y1="8" y2="12"/><line x1="12" x2="12.01" y1="16" y2="16"/>',
19
+ fastForward: '<polygon points="13 19 22 12 13 5 13 19"/><polygon points="2 19 11 12 2 5 2 19"/>',
20
+ favorite: '<path d="M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z"/>',
21
+ favoriteOff: '<line x1="2" y1="2" x2="22" y2="22"/><path d="M16.5 16.5 12 21l-7-7c-1.5-1.45-3-3.2-3-5.5a5.5 5.5 0 0 1 2.14-4.35"/><path d="M8.76 3.1c1.15.22 2.13.78 3.24 1.9 1.5-1.5 2.74-2 4.5-2A5.5 5.5 0 0 1 22 8.5c0 2.12-1.3 3.78-2.67 5.17"/>',
22
+ folder: '<path d="M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z"/>',
23
+ help: '<circle cx="12" cy="12" r="10"/><path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"/><path d="M12 17h.01"/>',
24
+ home: '<path d="M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8"/><path d="M3 10a2 2 0 0 1 .709-1.528l7-5.999a2 2 0 0 1 2.582 0l7 5.999A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"/>',
25
+ info: '<circle cx="12" cy="12" r="10"/><path d="M12 16v-4"/><path d="M12 8h.01"/>',
26
+ locationOn: '<path d="M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0"/><circle cx="12" cy="10" r="3"/>',
27
+ lock: '<rect width="18" height="11" x="3" y="11" rx="2" ry="2"/><path d="M7 11V7a5 5 0 0 1 10 0v4"/>',
28
+ lockOpen: '<rect width="18" height="11" x="3" y="11" rx="2" ry="2"/><path d="M7 11V7a5 5 0 0 1 9.9-1"/>',
29
+ mail: '<rect width="20" height="16" x="2" y="4" rx="2"/><path d="m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7"/>',
30
+ menu: '<line x1="4" x2="20" y1="12" y2="12"/><line x1="4" x2="20" y1="6" y2="6"/><line x1="4" x2="20" y1="18" y2="18"/>',
31
+ moreVert: '<circle cx="12" cy="12" r="1"/><circle cx="12" cy="5" r="1"/><circle cx="12" cy="19" r="1"/>',
32
+ moreHoriz: '<circle cx="12" cy="12" r="1"/><circle cx="19" cy="12" r="1"/><circle cx="5" cy="12" r="1"/>',
33
+ notificationsOff: '<path d="M10.268 21a2 2 0 0 0 3.464 0"/><path d="M17 17H4a1 1 0 0 1-.74-1.673C4.59 13.956 6 12.499 6 8a6 6 0 0 1 .258-1.742"/><path d="m2 2 20 20"/><path d="M8.668 3.01A6 6 0 0 1 18 8c0 2.687.77 4.653 1.707 6.05"/>',
34
+ notifications: '<path d="M10.268 21a2 2 0 0 0 3.464 0"/><path d="M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326"/>',
35
+ pause: '<rect x="14" y="4" width="4" height="16" rx="1"/><rect x="6" y="4" width="4" height="16" rx="1"/>',
36
+ payment: '<rect width="20" height="14" x="2" y="5" rx="2"/><line x1="2" x2="22" y1="10" y2="10"/>',
37
+ person: '<path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"/><circle cx="12" cy="7" r="4"/>',
38
+ phone: '<rect width="14" height="20" x="5" y="2" rx="2" ry="2"/><path d="M12 18h.01"/>',
39
+ photo: '<rect width="18" height="18" x="3" y="3" rx="2" ry="2"/><circle cx="9" cy="9" r="2"/><path d="m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21"/>',
40
+ play: '<polygon points="6 3 20 12 6 21 6 3"/>',
41
+ print: '<path d="M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2"/><path d="M6 9V3a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v6"/><rect x="6" y="14" width="12" height="8" rx="1"/>',
42
+ refresh: '<path d="M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8"/><path d="M21 3v5h-5"/><path d="M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16"/><path d="M8 16H3v5"/>',
43
+ rewind: '<polygon points="11 19 2 12 11 5 11 19"/><polygon points="22 19 13 12 22 5 22 19"/>',
44
+ search: '<circle cx="11" cy="11" r="8"/><path d="m21 21-4.3-4.3"/>',
45
+ send: '<path d="M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z"/><path d="m21.854 2.147-10.94 10.939"/>',
46
+ settings: '<path d="M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"/><circle cx="12" cy="12" r="3"/>',
47
+ share: '<circle cx="18" cy="5" r="3"/><circle cx="6" cy="12" r="3"/><circle cx="18" cy="19" r="3"/><line x1="8.59" x2="15.42" y1="13.51" y2="17.49"/><line x1="15.41" x2="8.59" y1="6.51" y2="10.49"/>',
48
+ shoppingCart: '<circle cx="8" cy="21" r="1"/><circle cx="19" cy="21" r="1"/><path d="M2.05 2.05h2l2.66 12.42a2 2 0 0 0 2 1.58h9.78a2 2 0 0 0 1.95-1.57l1.65-7.43H5.12"/>',
49
+ skipNext: '<polygon points="5 4 15 12 5 20 5 4"/><line x1="19" x2="19" y1="5" y2="19"/>',
50
+ skipPrevious: '<polygon points="19 20 9 12 19 4 19 20"/><line x1="5" x2="5" y1="19" y2="5"/>',
51
+ star: '<path d="M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z"/>',
52
+ starHalf: '<path d="M12 18.338a2.1 2.1 0 0 0-.987.244L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.12 2.12 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.12 2.12 0 0 0 1.597-1.16l2.309-4.679A.53.53 0 0 1 12 2"/>',
53
+ starOff: '<path d="M8.34 8.34 2 9.27l5 4.87L5.82 21 12 17.77 18.18 21l-.59-3.43"/><path d="M18.42 12.76 22 9.27l-6.91-1L12 2l-1.44 2.91"/><line x1="2" x2="22" y1="2" y2="22"/>',
54
+ stop: '<rect width="18" height="18" x="3" y="3" rx="2"/>',
55
+ upload: '<path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"/><polyline points="17 8 12 3 7 8"/><line x1="12" x2="12" y1="3" y2="15"/>',
56
+ visibility: '<path d="M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0"/><circle cx="12" cy="12" r="3"/>',
57
+ visibilityOff: '<path d="M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49"/><path d="M14.084 14.158a3 3 0 0 1-4.242-4.242"/><path d="M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143"/><path d="m2 2 20 20"/>',
58
+ volumeDown: '<path d="M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z"/><path d="M16 9a5 5 0 0 1 0 6"/>',
59
+ volumeMute: '<path d="M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z"/>',
60
+ volumeOff: '<path d="M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z"/><line x1="22" x2="16" y1="9" y2="15"/><line x1="16" x2="22" y1="9" y2="15"/>',
61
+ volumeUp: '<path d="M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z"/><path d="M16 9a5 5 0 0 1 0 6"/><path d="M19.364 18.364a9 9 0 0 0 0-12.728"/>',
62
+ warning: '<path d="m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3"/><path d="M12 9v4"/><path d="M12 17h.01"/>',
63
+ };
64
+ //# sourceMappingURL=icons.generated.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icons.generated.js","sourceRoot":"","sources":["../../src/renderer/icons.generated.ts"],"names":[],"mappings":"AAAA,uGAAuG;AAEvG,uEAAuE;AACvE,MAAM,CAAC,MAAM,WAAW,GAAqC;IAC3D,aAAa,EAAE,kGAAkG;IACjH,GAAG,EAAE,0CAA0C;IAC/C,SAAS,EAAE,gDAAgD;IAC3D,YAAY,EAAE,+CAA+C;IAC7D,UAAU,EAAE,wLAAwL;IACpM,aAAa,EAAE,4GAA4G;IAC3H,IAAI,EAAE,2SAA2S;IACjT,MAAM,EAAE,uIAAuI;IAC/I,KAAK,EAAE,6BAA6B;IACpC,KAAK,EAAE,8CAA8C;IACrD,MAAM,EAAE,kMAAkM;IAC1M,QAAQ,EAAE,kIAAkI;IAC5I,IAAI,EAAE,mKAAmK;IACzK,KAAK,EAAE,8OAA8O;IACrP,KAAK,EAAE,kHAAkH;IACzH,WAAW,EAAE,mFAAmF;IAChG,QAAQ,EAAE,sJAAsJ;IAChK,WAAW,EAAE,wOAAwO;IACrP,MAAM,EAAE,oIAAoI;IAC5I,IAAI,EAAE,wGAAwG;IAC9G,IAAI,EAAE,iLAAiL;IACvL,IAAI,EAAE,4EAA4E;IAClF,UAAU,EAAE,iJAAiJ;IAC7J,IAAI,EAAE,+FAA+F;IACrG,QAAQ,EAAE,8FAA8F;IACxG,IAAI,EAAE,wGAAwG;IAC9G,IAAI,EAAE,kHAAkH;IACxH,QAAQ,EAAE,8FAA8F;IACxG,SAAS,EAAE,8FAA8F;IACzG,gBAAgB,EAAE,wNAAwN;IAC1O,aAAa,EAAE,mLAAmL;IAClM,KAAK,EAAE,mGAAmG;IAC1G,OAAO,EAAE,yFAAyF;IAClG,MAAM,EAAE,qFAAqF;IAC7F,KAAK,EAAE,gFAAgF;IACvF,KAAK,EAAE,4IAA4I;IACnJ,IAAI,EAAE,wCAAwC;IAC9C,KAAK,EAAE,4LAA4L;IACnM,OAAO,EAAE,0KAA0K;IACnL,MAAM,EAAE,qFAAqF;IAC7F,MAAM,EAAE,2DAA2D;IACnE,IAAI,EAAE,mLAAmL;IACzL,QAAQ,EAAE,kmBAAkmB;IAC5mB,KAAK,EAAE,gMAAgM;IACvM,YAAY,EAAE,2JAA2J;IACzK,QAAQ,EAAE,8EAA8E;IACxF,YAAY,EAAE,+EAA+E;IAC7F,IAAI,EAAE,0XAA0X;IAChY,QAAQ,EAAE,4NAA4N;IACtO,OAAO,EAAE,uKAAuK;IAChL,IAAI,EAAE,mDAAmD;IACzD,MAAM,EAAE,+HAA+H;IACvI,UAAU,EAAE,kJAAkJ;IAC9J,aAAa,EAAE,0RAA0R;IACzS,UAAU,EAAE,qNAAqN;IACjO,UAAU,EAAE,sLAAsL;IAClM,SAAS,EAAE,kQAAkQ;IAC7Q,QAAQ,EAAE,kQAAkQ;IAC5Q,OAAO,EAAE,+HAA+H;CACzI,CAAA"}
@@ -0,0 +1,23 @@
1
+ import { a2uiIconName } from '../a2ui/icons.js';
2
+ import { log } from '../core/logger.js';
3
+ import { ICON_GLYPHS } from './icons.generated.js';
4
+ const SVG_OPEN = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false">';
5
+ /** Inline SVG for a Material or Lucide icon name, or undefined when prefab has no glyph for it. */
6
+ export function iconSvg(name) {
7
+ const key = a2uiIconName(name);
8
+ if (key == null || !(key in ICON_GLYPHS))
9
+ return undefined;
10
+ return `${SVG_OPEN}${ICON_GLYPHS[key]}</svg>`;
11
+ }
12
+ /** Draw `name` into `host`, keeping the requested name on `data-icon`. */
13
+ export function fillIcon(host, name) {
14
+ host.setAttribute('data-icon', name);
15
+ const svg = iconSvg(name);
16
+ if (svg === undefined) {
17
+ if (name !== '')
18
+ log.warn(`icon "${name}" has no glyph`);
19
+ return;
20
+ }
21
+ host.innerHTML = svg;
22
+ }
23
+ //# sourceMappingURL=icons.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icons.js","sourceRoot":"","sources":["../../src/renderer/icons.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAA;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAElD,MAAM,QAAQ,GAAG,qMAAqM,CAAA;AAEtN,mGAAmG;AACnG,MAAM,UAAU,OAAO,CAAC,IAAY;IAClC,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,CAAA;IAC9B,IAAI,GAAG,IAAI,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,WAAW,CAAC;QAAE,OAAO,SAAS,CAAA;IAC1D,OAAO,GAAG,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAA;AAC/C,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,QAAQ,CAAC,IAAiB,EAAE,IAAY;IACtD,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,IAAI,CAAC,CAAA;IACpC,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACzB,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,IAAI,IAAI,KAAK,EAAE;YAAE,GAAG,CAAC,IAAI,CAAC,SAAS,IAAI,gBAAgB,CAAC,CAAA;QACxD,OAAM;IACR,CAAC;IACD,IAAI,CAAC,SAAS,GAAG,GAAG,CAAA;AACtB,CAAC"}