@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.
- package/CHANGELOG.md +23 -0
- package/dist/a2ui.min.js +1 -1
- package/dist/auto/chart.js +1 -1
- package/dist/auto/chart.js.map +1 -1
- package/dist/auto/comparison.js +1 -1
- package/dist/auto/comparison.js.map +1 -1
- package/dist/auto/form.d.ts +1 -1
- package/dist/auto/form.d.ts.map +1 -1
- package/dist/auto/form.js +15 -2
- package/dist/auto/form.js.map +1 -1
- package/dist/auto/index.d.ts +2 -10
- package/dist/auto/index.d.ts.map +1 -1
- package/dist/auto/index.js +5 -61
- package/dist/auto/index.js.map +1 -1
- package/dist/auto/metrics.js +1 -1
- package/dist/auto/metrics.js.map +1 -1
- package/dist/auto/progress.d.ts.map +1 -1
- package/dist/auto/progress.js +8 -7
- package/dist/auto/progress.js.map +1 -1
- package/dist/auto/status.d.ts +17 -0
- package/dist/auto/status.d.ts.map +1 -0
- package/dist/auto/status.js +79 -0
- package/dist/auto/status.js.map +1 -0
- package/dist/auto/timeline.d.ts.map +1 -1
- package/dist/auto/timeline.js +3 -14
- package/dist/auto/timeline.js.map +1 -1
- package/dist/components/form/index.d.ts +1 -1
- package/dist/components/form/index.d.ts.map +1 -1
- package/dist/components/form/index.js +7 -1
- package/dist/components/form/index.js.map +1 -1
- package/dist/components/layout/index.d.ts +7 -1
- package/dist/components/layout/index.d.ts.map +1 -1
- package/dist/components/layout/index.js +6 -2
- package/dist/components/layout/index.js.map +1 -1
- package/dist/core/version.d.ts +1 -1
- package/dist/core/version.js +1 -1
- package/dist/prefab.css +85 -2
- package/dist/renderer/cdn.d.ts +5 -0
- package/dist/renderer/cdn.d.ts.map +1 -0
- package/dist/renderer/cdn.js +19 -0
- package/dist/renderer/cdn.js.map +1 -0
- package/dist/renderer/components/alert.d.ts.map +1 -1
- package/dist/renderer/components/alert.js +2 -1
- package/dist/renderer/components/alert.js.map +1 -1
- package/dist/renderer/components/charts/helpers.d.ts.map +1 -1
- package/dist/renderer/components/charts/helpers.js +21 -6
- package/dist/renderer/components/charts/helpers.js.map +1 -1
- package/dist/renderer/components/charts/scatter.d.ts.map +1 -1
- package/dist/renderer/components/charts/scatter.js +23 -4
- package/dist/renderer/components/charts/scatter.js.map +1 -1
- package/dist/renderer/components/data.d.ts.map +1 -1
- package/dist/renderer/components/data.js +2 -1
- package/dist/renderer/components/data.js.map +1 -1
- package/dist/renderer/components/form.d.ts.map +1 -1
- package/dist/renderer/components/form.js +3 -0
- package/dist/renderer/components/form.js.map +1 -1
- package/dist/renderer/components/layout.js +28 -7
- package/dist/renderer/components/layout.js.map +1 -1
- package/dist/renderer/components/media.d.ts.map +1 -1
- package/dist/renderer/components/media.js +23 -8
- package/dist/renderer/components/media.js.map +1 -1
- package/dist/renderer/components/pdf.d.ts +38 -0
- package/dist/renderer/components/pdf.d.ts.map +1 -1
- package/dist/renderer/components/pdf.js +152 -174
- package/dist/renderer/components/pdf.js.map +1 -1
- package/dist/renderer/icons.d.ts +5 -0
- package/dist/renderer/icons.d.ts.map +1 -0
- package/dist/renderer/icons.generated.d.ts +3 -0
- package/dist/renderer/icons.generated.d.ts.map +1 -0
- package/dist/renderer/icons.generated.js +64 -0
- package/dist/renderer/icons.generated.js.map +1 -0
- package/dist/renderer/icons.js +23 -0
- package/dist/renderer/icons.js.map +1 -0
- package/dist/renderer.auto.min.js +9 -9
- package/dist/renderer.min.js +9 -9
- 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
|
-
|
|
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
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
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
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
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
|
-
|
|
43
|
-
const
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
const
|
|
48
|
-
wrapper
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
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,
|
|
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
|
-
|
|
72
|
-
if (
|
|
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
|
-
|
|
91
|
-
let
|
|
92
|
-
let
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
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.
|
|
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
|
-
|
|
130
|
-
|
|
131
|
-
const
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
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
|
-
|
|
146
|
-
canvas.
|
|
147
|
-
canvas.
|
|
148
|
-
canvas.style.
|
|
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
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
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
|
-
|
|
163
|
-
|
|
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
|
|
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
|
-
|
|
169
|
-
|
|
170
|
-
|
|
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 = '
|
|
190
|
-
pageInput.
|
|
191
|
-
pageInput.
|
|
192
|
-
pageInput.
|
|
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 (
|
|
202
|
-
|
|
173
|
+
if (isNaN(val))
|
|
174
|
+
pageInput.value = String(page);
|
|
175
|
+
else
|
|
176
|
+
cb.onPage(val);
|
|
203
177
|
});
|
|
204
|
-
const pageCount =
|
|
205
|
-
pageCount.textContent = `/ ${numPages}`;
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
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":"AAAA,0HAA0H;AAE1H,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,cAAc,CAAA;AAChE,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;
|
|
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 @@
|
|
|
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"}
|