scb-wc 0.1.41 → 0.1.43
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/README.md +16 -0
- package/bin/scb-wc.mjs +274 -1
- package/icons.json +178 -0
- package/index.js +8 -8
- package/mvc/components/scb-card/scb-card.js +0 -1
- package/mvc/components/scb-collapse/scb-collapse.js +30 -24
- package/mvc/components/scb-drawer/scb-drawer.js +1 -1
- package/mvc/components/scb-footer/scb-footer.js +1 -0
- package/mvc/components/scb-grid/scb-grid-item.js +4 -1
- package/mvc/components/scb-header/scb-header.js +48 -39
- package/mvc/components/scb-menu/scb-menu-item.js +58 -11
- package/mvc/components/scb-menu/scb-menu.js +4 -4
- package/mvc/components/scb-toc/scb-toc-item.js +3 -21
- package/mvc/scb-wc-core.css +1 -0
- package/mvc/scb-wc-selfhost.css +29 -0
- package/package.json +5 -2
- package/scb-card/scb-card.js +0 -1
- package/scb-collapse/scb-collapse.js +145 -90
- package/scb-components/scb-collapse/scb-collapse.d.ts +0 -2
- package/scb-components/scb-header/scb-header.d.ts +7 -0
- package/scb-components/scb-menu/scb-menu-item.d.ts +5 -0
- package/scb-components/scb-menu/scb-menu.d.ts +24 -0
- package/scb-footer/scb-footer.js +1 -0
- package/scb-grid/scb-grid-item.js +4 -1
- package/scb-header/scb-header.js +73 -40
- package/scb-menu/scb-menu-item.js +94 -28
- package/scb-menu/scb-menu.js +126 -3
- package/scb-toc/scb-toc-item.js +2 -21
- package/scb-wc-core.css +1 -0
- package/scb-wc.bundle.js +951 -905
package/README.md
CHANGED
|
@@ -87,6 +87,22 @@ import 'scb-wc/scb-wc-selfhost.css';
|
|
|
87
87
|
|
|
88
88
|
Då används paketets egna fontfiler under `node_modules/scb-wc/fonts/`.
|
|
89
89
|
|
|
90
|
+
### Optimera Material Symbols med eget ikon-subset
|
|
91
|
+
|
|
92
|
+
Vill du selfhosta bara de Material Symbols-ikoner din app använder kan du generera en liten ikonfont i din app:
|
|
93
|
+
|
|
94
|
+
```sh
|
|
95
|
+
npx scb-wc subset-icons --icons ./src/scb-icons.json --out ./public/scb-icons
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
Om `--icons` utelämnas används paketets standardlista `icons.json`. Kommandot skapar `scb-wc-icons.css`, en lokal fontfil och en kopia av ikonlistan i målmappen. Ladda då den fontlösa bas-CSS:en plus den genererade ikon-CSS:en:
|
|
99
|
+
|
|
100
|
+
```js
|
|
101
|
+
import 'scb-wc/scb-wc-core.css';
|
|
102
|
+
import '/scb-icons/scb-wc-icons.css';
|
|
103
|
+
import 'scb-wc/scb-typography.css';
|
|
104
|
+
```
|
|
105
|
+
|
|
90
106
|
---
|
|
91
107
|
|
|
92
108
|
## Alternativ 2: Använd i MVC/MPA via `<script type="module">`
|
package/bin/scb-wc.mjs
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
|
|
3
3
|
import fs from 'node:fs';
|
|
4
|
+
import http from 'node:http';
|
|
5
|
+
import https from 'node:https';
|
|
4
6
|
import path from 'node:path';
|
|
5
7
|
import { fileURLToPath } from 'node:url';
|
|
6
8
|
|
|
@@ -10,7 +12,30 @@ const packageRoot = path.resolve(__dirname, '..');
|
|
|
10
12
|
const packageJson = JSON.parse(fs.readFileSync(path.join(packageRoot, 'package.json'), 'utf8'));
|
|
11
13
|
const starterRoot = path.join(packageRoot, 'starters');
|
|
12
14
|
const templates = new Set(['html', 'html-service', 'react', 'react-service', 'blazor', 'blazor-service']);
|
|
13
|
-
const usage =
|
|
15
|
+
const usage = [
|
|
16
|
+
'npx scb-wc init <html|html-service|react|react-service|blazor|blazor-service> [mapp]',
|
|
17
|
+
'npx scb-wc subset-icons [--icons icons.json] [--out public/scb-icons] [--css-file scb-wc-icons.css]',
|
|
18
|
+
].join('\n');
|
|
19
|
+
|
|
20
|
+
const defaultSubsetOutDir = 'public/scb-icons';
|
|
21
|
+
const defaultSubsetCssFile = 'scb-wc-icons.css';
|
|
22
|
+
const defaultSubsetFontBase = 'material-symbols-outlined-subset';
|
|
23
|
+
const materialSymbolsCssUrl = 'https://fonts.googleapis.com/css2';
|
|
24
|
+
const materialSymbolsFamilyQuery = 'Material Symbols Outlined:opsz,wght,FILL,GRAD@24,400,0,0';
|
|
25
|
+
const requiredIconNames = [
|
|
26
|
+
'arrow_back',
|
|
27
|
+
'arrow_forward',
|
|
28
|
+
'check',
|
|
29
|
+
'chevron_left',
|
|
30
|
+
'chevron_right',
|
|
31
|
+
'close',
|
|
32
|
+
'expand_less',
|
|
33
|
+
'expand_more',
|
|
34
|
+
'keyboard_arrow_down',
|
|
35
|
+
'keyboard_arrow_up',
|
|
36
|
+
'menu',
|
|
37
|
+
'search',
|
|
38
|
+
];
|
|
14
39
|
|
|
15
40
|
function fail(message) {
|
|
16
41
|
console.error(message);
|
|
@@ -66,8 +91,256 @@ function copyStarter(sourceDir, targetDir, targetName) {
|
|
|
66
91
|
}
|
|
67
92
|
}
|
|
68
93
|
|
|
94
|
+
function parseFlags(args) {
|
|
95
|
+
const flags = {};
|
|
96
|
+
|
|
97
|
+
for (let index = 0; index < args.length; index += 1) {
|
|
98
|
+
const arg = args[index];
|
|
99
|
+
|
|
100
|
+
if (!arg.startsWith('--')) {
|
|
101
|
+
fail(`Okänt argument: ${arg}`);
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
const [rawKey, inlineValue] = arg.slice(2).split(/=(.*)/s, 2);
|
|
105
|
+
const key = rawKey.trim();
|
|
106
|
+
|
|
107
|
+
if (!key) {
|
|
108
|
+
fail(`Ogiltigt argument: ${arg}`);
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
if (key === 'dry-run' || key === 'help') {
|
|
112
|
+
flags[key] = true;
|
|
113
|
+
continue;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
const value = inlineValue ?? args[index + 1];
|
|
117
|
+
if (!value || value.startsWith('--')) {
|
|
118
|
+
fail(`Saknar värde för --${key}.`);
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
flags[key] = value;
|
|
122
|
+
if (inlineValue === undefined) {
|
|
123
|
+
index += 1;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
return flags;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
function resolveDefaultIconsPath() {
|
|
131
|
+
const candidates = [
|
|
132
|
+
path.join(packageRoot, 'icons.json'),
|
|
133
|
+
path.join(packageRoot, 'scripts', 'icons.json'),
|
|
134
|
+
];
|
|
135
|
+
|
|
136
|
+
return candidates.find((candidate) => fs.existsSync(candidate));
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
function readIconList(iconsPath) {
|
|
140
|
+
if (!iconsPath) {
|
|
141
|
+
fail('Saknar standardlista for ikoner.');
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
const absolutePath = path.resolve(process.cwd(), iconsPath);
|
|
145
|
+
if (!fs.existsSync(absolutePath)) {
|
|
146
|
+
fail(`Hittar inte ikonfilen: ${absolutePath}`);
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
let parsed;
|
|
150
|
+
try {
|
|
151
|
+
parsed = JSON.parse(fs.readFileSync(absolutePath, 'utf8'));
|
|
152
|
+
} catch (error) {
|
|
153
|
+
fail(`Kunde inte lasa ikonfilen ${absolutePath}: ${error.message}`);
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
const list = Array.isArray(parsed) ? parsed : parsed?.icons;
|
|
157
|
+
if (!Array.isArray(list)) {
|
|
158
|
+
fail('Ikonfilen ska vara en JSON-array eller ett objekt med egenskapen "icons".');
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
return list.map((icon) => String(icon ?? '').trim()).filter(Boolean);
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
function normalizeIconNames(iconNames) {
|
|
165
|
+
const normalized = Array.from(new Set([...requiredIconNames, ...iconNames]))
|
|
166
|
+
.map((icon) => icon.trim())
|
|
167
|
+
.filter(Boolean)
|
|
168
|
+
.sort((a, b) => a.localeCompare(b));
|
|
169
|
+
|
|
170
|
+
const invalid = normalized.filter((icon) => !/^[a-z0-9_]+$/.test(icon));
|
|
171
|
+
if (invalid.length) {
|
|
172
|
+
fail(`Ogiltiga ikon-namn: ${invalid.join(', ')}`);
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
return normalized;
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
function buildMaterialSymbolsUrl(iconNames, display) {
|
|
179
|
+
const params = new URLSearchParams({
|
|
180
|
+
family: materialSymbolsFamilyQuery,
|
|
181
|
+
icon_names: iconNames.join(','),
|
|
182
|
+
display,
|
|
183
|
+
});
|
|
184
|
+
return `${materialSymbolsCssUrl}?${params.toString()}`;
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
function requestUrl(url, redirects = 5) {
|
|
188
|
+
return new Promise((resolve, reject) => {
|
|
189
|
+
const client = url.startsWith('http:') ? http : https;
|
|
190
|
+
const request = client.get(
|
|
191
|
+
url,
|
|
192
|
+
{
|
|
193
|
+
headers: {
|
|
194
|
+
'User-Agent': `${packageJson.name}/${packageJson.version} subset-icons`,
|
|
195
|
+
},
|
|
196
|
+
},
|
|
197
|
+
(response) => {
|
|
198
|
+
const statusCode = response.statusCode ?? 0;
|
|
199
|
+
const location = response.headers.location;
|
|
200
|
+
|
|
201
|
+
if ([301, 302, 303, 307, 308].includes(statusCode) && location) {
|
|
202
|
+
response.resume();
|
|
203
|
+
if (redirects <= 0) {
|
|
204
|
+
reject(new Error(`For manga redirects for ${url}`));
|
|
205
|
+
return;
|
|
206
|
+
}
|
|
207
|
+
resolve(requestUrl(new URL(location, url).href, redirects - 1));
|
|
208
|
+
return;
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
if (statusCode < 200 || statusCode >= 300) {
|
|
212
|
+
response.resume();
|
|
213
|
+
reject(new Error(`HTTP ${statusCode} for ${url}`));
|
|
214
|
+
return;
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
const chunks = [];
|
|
218
|
+
response.on('data', (chunk) => chunks.push(Buffer.from(chunk)));
|
|
219
|
+
response.on('end', () => {
|
|
220
|
+
resolve({
|
|
221
|
+
buffer: Buffer.concat(chunks),
|
|
222
|
+
contentType: response.headers['content-type'] ?? '',
|
|
223
|
+
});
|
|
224
|
+
});
|
|
225
|
+
},
|
|
226
|
+
);
|
|
227
|
+
|
|
228
|
+
request.on('error', reject);
|
|
229
|
+
});
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
async function fetchText(url) {
|
|
233
|
+
const { buffer } = await requestUrl(url);
|
|
234
|
+
return buffer.toString('utf8');
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
async function fetchBuffer(url) {
|
|
238
|
+
const { buffer } = await requestUrl(url);
|
|
239
|
+
return buffer;
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
function fontExtensionForFormat(format) {
|
|
243
|
+
switch (format) {
|
|
244
|
+
case 'woff2':
|
|
245
|
+
return 'woff2';
|
|
246
|
+
case 'woff':
|
|
247
|
+
return 'woff';
|
|
248
|
+
case 'opentype':
|
|
249
|
+
return 'otf';
|
|
250
|
+
case 'truetype':
|
|
251
|
+
default:
|
|
252
|
+
return 'ttf';
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
function findFontSources(cssText) {
|
|
257
|
+
const matches = Array.from(
|
|
258
|
+
cssText.matchAll(/url\((https:\/\/fonts\.gstatic\.com\/[^)]+)\)\s*format\(['"]([^'"]+)['"]\)/g),
|
|
259
|
+
);
|
|
260
|
+
|
|
261
|
+
return matches.map((match) => ({
|
|
262
|
+
url: match[1],
|
|
263
|
+
format: match[2],
|
|
264
|
+
}));
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
async function writeSubsetFiles({ cssText, iconNames, outDir, cssFile }) {
|
|
268
|
+
const sources = findFontSources(cssText);
|
|
269
|
+
if (!sources.length) {
|
|
270
|
+
fail('Google Fonts-svaret innehöll inga fontfiler att ladda ner.');
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
fs.mkdirSync(outDir, { recursive: true });
|
|
274
|
+
|
|
275
|
+
let localCss = cssText;
|
|
276
|
+
for (const [index, source] of sources.entries()) {
|
|
277
|
+
const ext = fontExtensionForFormat(source.format);
|
|
278
|
+
const suffix = sources.length > 1 ? `-${index + 1}` : '';
|
|
279
|
+
const fileName = `${defaultSubsetFontBase}${suffix}.${ext}`;
|
|
280
|
+
const fontBuffer = await fetchBuffer(source.url);
|
|
281
|
+
fs.writeFileSync(path.join(outDir, fileName), fontBuffer);
|
|
282
|
+
localCss = localCss.split(source.url).join(`./${fileName}`);
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
const header = [
|
|
286
|
+
'/* Generated by `npx scb-wc subset-icons`. */',
|
|
287
|
+
`/* Icons: ${iconNames.join(', ')} */`,
|
|
288
|
+
'',
|
|
289
|
+
].join('\n');
|
|
290
|
+
|
|
291
|
+
fs.writeFileSync(path.join(outDir, cssFile), `${header}${localCss.trim()}\n`, 'utf8');
|
|
292
|
+
fs.writeFileSync(path.join(outDir, 'icons.json'), `${JSON.stringify(iconNames, null, 2)}\n`, 'utf8');
|
|
293
|
+
}
|
|
294
|
+
|
|
295
|
+
async function runSubsetIcons(args) {
|
|
296
|
+
const flags = parseFlags(args);
|
|
297
|
+
if (flags.help) {
|
|
298
|
+
console.log(usage);
|
|
299
|
+
return;
|
|
300
|
+
}
|
|
301
|
+
|
|
302
|
+
const iconsPath = flags.icons ?? resolveDefaultIconsPath();
|
|
303
|
+
const outDir = path.resolve(process.cwd(), flags.out ?? defaultSubsetOutDir);
|
|
304
|
+
const cssFile = flags['css-file'] ?? defaultSubsetCssFile;
|
|
305
|
+
const display = flags.display ?? 'swap';
|
|
306
|
+
|
|
307
|
+
if (!/^[a-z0-9._-]+\.css$/i.test(cssFile)) {
|
|
308
|
+
fail('--css-file måste vara ett css-filnamn, till exempel scb-wc-icons.css.');
|
|
309
|
+
}
|
|
310
|
+
|
|
311
|
+
if (!['auto', 'block', 'swap', 'fallback', 'optional'].includes(display)) {
|
|
312
|
+
fail('--display måste vara auto, block, swap, fallback eller optional.');
|
|
313
|
+
}
|
|
314
|
+
|
|
315
|
+
const iconNames = normalizeIconNames(readIconList(iconsPath));
|
|
316
|
+
const cssUrl = buildMaterialSymbolsUrl(iconNames, display);
|
|
317
|
+
|
|
318
|
+
if (flags['dry-run']) {
|
|
319
|
+
console.log(`Skulle skapa Material Symbols-subset med ${iconNames.length} ikoner.`);
|
|
320
|
+
console.log(`Källa: ${path.resolve(process.cwd(), iconsPath)}`);
|
|
321
|
+
console.log(`Mål: ${outDir}`);
|
|
322
|
+
console.log(`CSS: ${cssFile}`);
|
|
323
|
+
return;
|
|
324
|
+
}
|
|
325
|
+
|
|
326
|
+
const cssText = await fetchText(cssUrl);
|
|
327
|
+
await writeSubsetFiles({ cssText, iconNames, outDir, cssFile });
|
|
328
|
+
console.log(`Skapade ikon-subset med ${iconNames.length} ikoner i ${outDir}`);
|
|
329
|
+
console.log(`Ladda CSS-filen: ${path.join(outDir, cssFile)}`);
|
|
330
|
+
}
|
|
331
|
+
|
|
69
332
|
const [, , command, template, targetArg] = process.argv;
|
|
70
333
|
|
|
334
|
+
if (!command || command === '--help' || command === 'help') {
|
|
335
|
+
console.log(usage);
|
|
336
|
+
process.exit(0);
|
|
337
|
+
}
|
|
338
|
+
|
|
339
|
+
if (command === 'subset-icons') {
|
|
340
|
+
await runSubsetIcons(process.argv.slice(3));
|
|
341
|
+
process.exit(0);
|
|
342
|
+
}
|
|
343
|
+
|
|
71
344
|
if (command !== 'init') {
|
|
72
345
|
fail('Okänt kommando.');
|
|
73
346
|
}
|
package/icons.json
ADDED
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
[
|
|
2
|
+
"add",
|
|
3
|
+
"remove",
|
|
4
|
+
"add_circle",
|
|
5
|
+
"remove_circle",
|
|
6
|
+
"expand_more",
|
|
7
|
+
"expand_less",
|
|
8
|
+
"chevron_right",
|
|
9
|
+
"chevron_left",
|
|
10
|
+
"unfold_more",
|
|
11
|
+
"unfold_less",
|
|
12
|
+
"info",
|
|
13
|
+
"warning",
|
|
14
|
+
"menu",
|
|
15
|
+
"code",
|
|
16
|
+
"more_horiz",
|
|
17
|
+
"more_vert",
|
|
18
|
+
"check_circle",
|
|
19
|
+
"check",
|
|
20
|
+
"check_small",
|
|
21
|
+
"close",
|
|
22
|
+
"border_color",
|
|
23
|
+
"error",
|
|
24
|
+
"edit",
|
|
25
|
+
"edit_square",
|
|
26
|
+
"refresh",
|
|
27
|
+
"print",
|
|
28
|
+
"group",
|
|
29
|
+
"person_add",
|
|
30
|
+
"person",
|
|
31
|
+
"download",
|
|
32
|
+
"mobile_arrow_down",
|
|
33
|
+
"upload",
|
|
34
|
+
"mail",
|
|
35
|
+
"calendar_month",
|
|
36
|
+
"calendar_today",
|
|
37
|
+
"volume_up",
|
|
38
|
+
"description",
|
|
39
|
+
"folder",
|
|
40
|
+
"play_arrow",
|
|
41
|
+
"grain",
|
|
42
|
+
"check_box",
|
|
43
|
+
"help",
|
|
44
|
+
"check_box_outline_blank",
|
|
45
|
+
"indeterminate_check_box",
|
|
46
|
+
"radio_button_checked",
|
|
47
|
+
"radio_button_unchecked",
|
|
48
|
+
"face",
|
|
49
|
+
"male",
|
|
50
|
+
"female",
|
|
51
|
+
"grid_on",
|
|
52
|
+
"label",
|
|
53
|
+
"delete",
|
|
54
|
+
"pin",
|
|
55
|
+
"location_on",
|
|
56
|
+
"straighten",
|
|
57
|
+
"compare_arrows",
|
|
58
|
+
"swap_horiz",
|
|
59
|
+
"filter_vintage",
|
|
60
|
+
"deceased",
|
|
61
|
+
"apartment",
|
|
62
|
+
"eco",
|
|
63
|
+
"texture",
|
|
64
|
+
"table_chart",
|
|
65
|
+
"bar_chart",
|
|
66
|
+
"bid_landscape",
|
|
67
|
+
"show_chart",
|
|
68
|
+
"ssid_chart",
|
|
69
|
+
"bubble_chart",
|
|
70
|
+
"touch_app",
|
|
71
|
+
"near_me",
|
|
72
|
+
"toggle_off",
|
|
73
|
+
"toggle_on",
|
|
74
|
+
"cancel",
|
|
75
|
+
"book",
|
|
76
|
+
"public",
|
|
77
|
+
"style",
|
|
78
|
+
"restore",
|
|
79
|
+
"payment",
|
|
80
|
+
"shopping_cart",
|
|
81
|
+
"list",
|
|
82
|
+
"ballot",
|
|
83
|
+
"list_alt",
|
|
84
|
+
"view_list",
|
|
85
|
+
"format_list_bulleted",
|
|
86
|
+
"database",
|
|
87
|
+
"database_search",
|
|
88
|
+
"data_table",
|
|
89
|
+
"share",
|
|
90
|
+
"home",
|
|
91
|
+
"arrow_back",
|
|
92
|
+
"arrow_forward",
|
|
93
|
+
"arrow_upward",
|
|
94
|
+
"arrow_downward",
|
|
95
|
+
"arrow_outward",
|
|
96
|
+
"call_made",
|
|
97
|
+
"arrow_back_ios",
|
|
98
|
+
"arrow_forward_ios",
|
|
99
|
+
"favorite",
|
|
100
|
+
"filter_list",
|
|
101
|
+
"sort",
|
|
102
|
+
"view_module",
|
|
103
|
+
"hearing",
|
|
104
|
+
"event_note",
|
|
105
|
+
"image",
|
|
106
|
+
"language",
|
|
107
|
+
"repeat",
|
|
108
|
+
"insert_chart",
|
|
109
|
+
"insert_chart_filled",
|
|
110
|
+
"leaderboard",
|
|
111
|
+
"article",
|
|
112
|
+
"reorder",
|
|
113
|
+
"subject",
|
|
114
|
+
"visibility",
|
|
115
|
+
"visibility_off",
|
|
116
|
+
"arrow_right",
|
|
117
|
+
"arrow_drop_down",
|
|
118
|
+
"tune",
|
|
119
|
+
"settings",
|
|
120
|
+
"manufacturing",
|
|
121
|
+
"preview",
|
|
122
|
+
"mic",
|
|
123
|
+
"laptop_windows",
|
|
124
|
+
"mobile",
|
|
125
|
+
"tablet",
|
|
126
|
+
"table",
|
|
127
|
+
"sell",
|
|
128
|
+
"shoppingmode",
|
|
129
|
+
"lightbulb",
|
|
130
|
+
"content_copy",
|
|
131
|
+
"colors",
|
|
132
|
+
"link",
|
|
133
|
+
"format_bold",
|
|
134
|
+
"format_color_text",
|
|
135
|
+
"format_align_left",
|
|
136
|
+
"fiber_manual_record",
|
|
137
|
+
"breaking_news",
|
|
138
|
+
"release_alert",
|
|
139
|
+
"person_play",
|
|
140
|
+
"comment",
|
|
141
|
+
"mode_comment",
|
|
142
|
+
"fullscreen",
|
|
143
|
+
"fullscreen_exit",
|
|
144
|
+
"filter_alt",
|
|
145
|
+
"open_in_new",
|
|
146
|
+
"search",
|
|
147
|
+
"support",
|
|
148
|
+
"location_searching",
|
|
149
|
+
"explore",
|
|
150
|
+
"assistant_direction",
|
|
151
|
+
"mouse",
|
|
152
|
+
"thumb_up",
|
|
153
|
+
"checklist",
|
|
154
|
+
"progress_activity",
|
|
155
|
+
"reply",
|
|
156
|
+
"percent",
|
|
157
|
+
"space_bar",
|
|
158
|
+
"graph_7",
|
|
159
|
+
"verified",
|
|
160
|
+
"deployed_code",
|
|
161
|
+
"build",
|
|
162
|
+
"code_blocks",
|
|
163
|
+
"inventory",
|
|
164
|
+
"save",
|
|
165
|
+
"data_info_alert",
|
|
166
|
+
"auto_stories",
|
|
167
|
+
"menu_book",
|
|
168
|
+
"book_2",
|
|
169
|
+
"import_contacts",
|
|
170
|
+
"nature",
|
|
171
|
+
"spa",
|
|
172
|
+
"contact_support",
|
|
173
|
+
"work",
|
|
174
|
+
"person_4",
|
|
175
|
+
"price_change",
|
|
176
|
+
"keyboard_arrow_down",
|
|
177
|
+
"keyboard_arrow_up"
|
|
178
|
+
]
|
package/index.js
CHANGED
|
@@ -53,13 +53,13 @@ import { ScbHeaderMenuGroup as Z } from "./scb-header/scb-header-menu-group.js";
|
|
|
53
53
|
import { ScbHeaderMenuItem as Q } from "./scb-header/scb-header-menu-item.js";
|
|
54
54
|
import { ScbHeaderTab as $ } from "./scb-header/scb-header-tab.js";
|
|
55
55
|
import { ScbHeaderUtility as ee } from "./scb-header/scb-header-utility.js";
|
|
56
|
-
import {
|
|
57
|
-
import {
|
|
58
|
-
import {
|
|
59
|
-
import {
|
|
60
|
-
import {
|
|
61
|
-
import {
|
|
62
|
-
import {
|
|
56
|
+
import { ScbSkeleton as te } from "./scb-skeleton/scb-skeleton.js";
|
|
57
|
+
import { ScbHeader as ne } from "./scb-header/scb-header.js";
|
|
58
|
+
import { ScbKeyFigureCard as re } from "./scb-keyfigure-card/scb-keyfigure-card.js";
|
|
59
|
+
import { ScbMenuItem as ie } from "./scb-menu/scb-menu-item.js";
|
|
60
|
+
import { ScbmenuSection as ae } from "./scb-menu/scb-menu-section.js";
|
|
61
|
+
import { ScbSubmenu as oe } from "./scb-menu/scb-sub-menu.js";
|
|
62
|
+
import { ScbMenu as se } from "./scb-menu/scb-menu.js";
|
|
63
63
|
import { ScbNavItem as ce } from "./scb-nav/scb-nav-item.js";
|
|
64
64
|
import { ScbNav as le } from "./scb-nav/scb-nav.js";
|
|
65
65
|
import { ScbNotificationCard as ue } from "./scb-notification-card/scb-notification-card.js";
|
|
@@ -90,4 +90,4 @@ import { appendScbVizSeriesDifferentiationPatternMarks as qe, getScbVizSeriesDif
|
|
|
90
90
|
import { clearScbVizSeriesDifferentiationColorClass as $e, clearScbVizSeriesDifferentiationMetadata as et, ensureScbVizGroupedSeriesDifferentiationStore as tt, ensureScbVizStyledModeSeriesPattern as nt, getScbVizGroupedSeriesDifferentiationKey as rt, getScbVizGroupedSeriesDifferentiationVariant as it, getScbVizGroupedSeriesDifferentiationVariantIndex as at, getScbVizHighchartsColorClassName as ot, getScbVizHighchartsSvgElement as st, getScbVizHighchartsSvgRoot as ct, getScbVizLegendSeriesDifferentiationTargets as lt, getScbVizSeriesDifferentiationColorIndex as ut, getScbVizSeriesDifferentiationVariantByIndex as dt, isScbVizGroupedSeriesDifferentiationChart as ft, isScbVizHighchartsStyledMode as pt, setScbVizSeriesDifferentiationColorClass as mt, setScbVizSeriesDifferentiationMetadata as ht, shouldShowScbVizSeriesDifferentiationAction as gt, usesScbVizGroupedPointDifferentiation as _t } from "./scb-viz/scb-viz-series-differentiation-runtime.js";
|
|
91
91
|
import { buildScbVizResolvedTableView as vt, createScbVizCsvRows as yt, inferScbVizTableAlignments as bt, normalizeScbVizRenderableCell as xt, readScbVizTableDataFromSlot as St } from "./scb-viz/scb-viz-table-runtime.js";
|
|
92
92
|
import { ScbViz as Ct } from "./scb-viz/scb-viz.js";
|
|
93
|
-
export { f as SCBBreadcrumb, d as SCBBreadcrumbItem, n as ScbAccordion, e as ScbAccordionItem, E as ScbActionCard, c as ScbAppBar, s as ScbAvatar, l as ScbBadge, t as ScbButton, C as ScbCalendar, w as ScbCalendarCard, p as ScbCalendarEvent, D as ScbCard, _ as ScbCheckbox, g as ScbCheckboxGroup, x as ScbChip, M as ScbCollapse, O as ScbContainerCard, N as ScbCookiesConsent, S as ScbDialog, m as ScbDivider, P as ScbDrawer, F as ScbDropZone, z as ScbDropdown, B as ScbFab, H as ScbFactCard, V as ScbFactCardContent, q as ScbFooter, U as ScbFooterSection, X as ScbGalleryGrid, K as ScbGrid, W as ScbGridItem,
|
|
93
|
+
export { f as SCBBreadcrumb, d as SCBBreadcrumbItem, n as ScbAccordion, e as ScbAccordionItem, E as ScbActionCard, c as ScbAppBar, s as ScbAvatar, l as ScbBadge, t as ScbButton, C as ScbCalendar, w as ScbCalendarCard, p as ScbCalendarEvent, D as ScbCard, _ as ScbCheckbox, g as ScbCheckboxGroup, x as ScbChip, M as ScbCollapse, O as ScbContainerCard, N as ScbCookiesConsent, S as ScbDialog, m as ScbDivider, P as ScbDrawer, F as ScbDropZone, z as ScbDropdown, B as ScbFab, H as ScbFactCard, V as ScbFactCardContent, q as ScbFooter, U as ScbFooterSection, X as ScbGalleryGrid, K as ScbGrid, W as ScbGridItem, ne as ScbHeader, Z as ScbHeaderMenuGroup, Q as ScbHeaderMenuItem, $ as ScbHeaderTab, ee as ScbHeaderUtility, J as ScbHorizontalScroller, r as ScbIconButton, re as ScbKeyFigureCard, u as ScbLink, k as ScbLinkCard, a as ScbList, A as ScbListCard, i as ScbListItem, se as ScbMenu, ie as ScbMenuItem, le as ScbNav, ce as ScbNavItem, ue as ScbNotificationCard, R as ScbOptionsMenu, I as ScbOptionsMenuItem, L as ScbOptionsSubMenu, Y as ScbOverlay, de as ScbPagination, De as ScbPrimaryTab, fe as ScbProgressIndicator, pe as ScbProgressStep, me as ScbProgressStepper, y as ScbRadioButton, v as ScbRadioGroup, he as ScbScrollspy, o as ScbSearch, Oe as ScbSecondaryTab, _e as ScbSegmentedButton, ge as ScbSegmentedItem, ye as ScbSelect, ve as ScbSelectOption, te as ScbSkeleton, be as ScbSlider, xe as ScbSnackbar, j as ScbSocialCard, G as ScbStack, Se as ScbStatusPill, Ce as ScbStep, we as ScbStepper, oe as ScbSubmenu, b as ScbSwitch, Te as ScbTable, Ee as ScbTableAdvanced, ke as ScbTabs, h as ScbTextField, je as ScbToc, Ae as ScbTocItem, T as ScbTooltip, Ct as ScbViz, ae as ScbmenuSection, qe as appendScbVizSeriesDifferentiationPatternMarks, Me as buildScbVizExportFileName, We as buildScbVizPrintDocumentHtml, Ge as buildScbVizPrintableFooterHtml, Ke as buildScbVizPrintableTableHtml, vt as buildScbVizResolvedTableView, $e as clearScbVizSeriesDifferentiationColorClass, et as clearScbVizSeriesDifferentiationMetadata, Ne as createScbVizCsvBlob, yt as createScbVizCsvRows, Pe as createScbVizRasterBlobFromElement, Fe as createScbVizRasterDataUrlFromElement, Ie as downloadScbVizBlob, tt as ensureScbVizGroupedSeriesDifferentiationStore, nt as ensureScbVizStyledModeSeriesPattern, Le as getScbVizCurrentFullscreenElement, Re as getScbVizExportBaseFileName, ze as getScbVizFullscreenDocument, rt as getScbVizGroupedSeriesDifferentiationKey, it as getScbVizGroupedSeriesDifferentiationVariant, at as getScbVizGroupedSeriesDifferentiationVariantIndex, ot as getScbVizHighchartsColorClassName, st as getScbVizHighchartsSvgElement, ct as getScbVizHighchartsSvgRoot, lt as getScbVizLegendSeriesDifferentiationTargets, ut as getScbVizSeriesDifferentiationColorIndex, Je as getScbVizSeriesDifferentiationPatternDefinition, Ye as getScbVizSeriesDifferentiationPatternKinds, Xe as getScbVizSeriesDifferentiationRegistry, Ze as getScbVizSeriesDifferentiationVariant, dt as getScbVizSeriesDifferentiationVariantByIndex, bt as inferScbVizTableAlignments, Be as isScbVizFullscreenSupported, ft as isScbVizGroupedSeriesDifferentiationChart, pt as isScbVizHighchartsStyledMode, xt as normalizeScbVizRenderableCell, Ve as openScbVizPrintFrame, St as readScbVizTableDataFromSlot, He as runWithScbVizForcedPrintLightMode, Qe as scbVizSeriesDifferentiationRegistry, mt as setScbVizSeriesDifferentiationColorClass, ht as setScbVizSeriesDifferentiationMetadata, gt as shouldShowScbVizSeriesDifferentiationAction, Ue as toggleScbVizFullscreen, _t as usesScbVizGroupedPointDifferentiation };
|