@design.estate/wcctools 5.1.0 → 6.1.0
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/.smartconfig.json +7 -3
- package/changelog.md +28 -0
- package/cli.js +3 -0
- package/dist_shell/bundle.js +2970 -0
- package/dist_shell/bundle.js.map +1 -0
- package/dist_shell/bundle.js.third-party-notices.json +1722 -0
- package/dist_shell/bundle.js.third-party-notices.txt +4195 -0
- package/dist_shell/index.html +21 -0
- package/dist_ts/00_commitinfo_data.d.ts +8 -0
- package/dist_ts/00_commitinfo_data.js +9 -0
- package/dist_ts/classes.devapi.d.ts +11 -0
- package/dist_ts/classes.devapi.js +21 -0
- package/dist_ts/classes.devserver.d.ts +49 -0
- package/dist_ts/classes.devserver.js +142 -0
- package/dist_ts/cli.d.ts +6 -0
- package/dist_ts/cli.js +51 -0
- package/dist_ts/index.d.ts +3 -0
- package/dist_ts/index.js +4 -0
- package/dist_ts/paths.d.ts +4 -0
- package/dist_ts/paths.js +6 -0
- package/dist_ts/plugins.d.ts +20 -0
- package/dist_ts/plugins.js +27 -0
- package/dist_ts/shellcontent.d.ts +9 -0
- package/dist_ts/shellcontent.js +42 -0
- package/dist_ts/standards/baselines.d.ts +27 -0
- package/dist_ts/standards/baselines.js +83 -0
- package/dist_ts/standards/checker.d.ts +21 -0
- package/dist_ts/standards/checker.js +88 -0
- package/dist_ts/standards/classes.gitrepo.d.ts +13 -0
- package/dist_ts/standards/classes.gitrepo.js +43 -0
- package/dist_ts/standards/classes.sourceedits.d.ts +15 -0
- package/dist_ts/standards/classes.sourceedits.js +54 -0
- package/dist_ts/standards/classes.standardfixer.d.ts +40 -0
- package/dist_ts/standards/classes.standardfixer.js +210 -0
- package/dist_ts/standards/classes.standardproject.d.ts +80 -0
- package/dist_ts/standards/classes.standardproject.js +195 -0
- package/dist_ts/standards/classes.standardtree.d.ts +56 -0
- package/dist_ts/standards/classes.standardtree.js +207 -0
- package/dist_ts/standards/cli.d.ts +7 -0
- package/dist_ts/standards/cli.js +89 -0
- package/dist_ts/standards/config.d.ts +33 -0
- package/dist_ts/standards/config.js +139 -0
- package/dist_ts/standards/errors.d.ts +9 -0
- package/dist_ts/standards/errors.js +17 -0
- package/dist_ts/standards/helpers.ast.d.ts +56 -0
- package/dist_ts/standards/helpers.ast.js +172 -0
- package/dist_ts/standards/helpers.paths.d.ts +36 -0
- package/dist_ts/standards/helpers.paths.js +86 -0
- package/dist_ts/standards/index.d.ts +14 -0
- package/dist_ts/standards/index.js +15 -0
- package/dist_ts/standards/output.d.ts +7 -0
- package/dist_ts/standards/output.js +57 -0
- package/dist_ts/standards/ratchet.d.ts +15 -0
- package/dist_ts/standards/ratchet.js +45 -0
- package/dist_ts/standards/rule.d.ts +50 -0
- package/dist_ts/standards/rule.js +9 -0
- package/dist_ts/standards/rules/barrel.element-index.d.ts +7 -0
- package/dist_ts/standards/rules/barrel.element-index.js +108 -0
- package/dist_ts/standards/rules/barrel.no-demo-export.d.ts +3 -0
- package/dist_ts/standards/rules/barrel.no-demo-export.js +29 -0
- package/dist_ts/standards/rules/demo.fixture-not-exported.d.ts +3 -0
- package/dist_ts/standards/rules/demo.fixture-not-exported.js +29 -0
- package/dist_ts/standards/rules/demo.groups.d.ts +6 -0
- package/dist_ts/standards/rules/demo.groups.js +72 -0
- package/dist_ts/standards/rules/demo.required.d.ts +3 -0
- package/dist_ts/standards/rules/demo.required.js +48 -0
- package/dist_ts/standards/rules/demo.separate-file.d.ts +3 -0
- package/dist_ts/standards/rules/demo.separate-file.js +38 -0
- package/dist_ts/standards/rules/demo.shape.d.ts +3 -0
- package/dist_ts/standards/rules/demo.shape.js +38 -0
- package/dist_ts/standards/rules/docs.component-index.d.ts +8 -0
- package/dist_ts/standards/rules/docs.component-index.js +84 -0
- package/dist_ts/standards/rules/element.exported.d.ts +3 -0
- package/dist_ts/standards/rules/element.exported.js +33 -0
- package/dist_ts/standards/rules/element.literal-tag.d.ts +3 -0
- package/dist_ts/standards/rules/element.literal-tag.js +30 -0
- package/dist_ts/standards/rules/element.reachable.d.ts +3 -0
- package/dist_ts/standards/rules/element.reachable.js +48 -0
- package/dist_ts/standards/rules/element.tag-map.d.ts +3 -0
- package/dist_ts/standards/rules/element.tag-map.js +83 -0
- package/dist_ts/standards/rules/i18n.literals.d.ts +3 -0
- package/dist_ts/standards/rules/i18n.literals.js +52 -0
- package/dist_ts/standards/rules/index.d.ts +12 -0
- package/dist_ts/standards/rules/index.js +83 -0
- package/dist_ts/standards/rules/layout.element-folder.d.ts +3 -0
- package/dist_ts/standards/rules/layout.element-folder.js +47 -0
- package/dist_ts/standards/rules/layout.entry-file-name.d.ts +3 -0
- package/dist_ts/standards/rules/layout.entry-file-name.js +71 -0
- package/dist_ts/standards/rules/layout.entry.d.ts +3 -0
- package/dist_ts/standards/rules/layout.entry.js +38 -0
- package/dist_ts/standards/rules/layout.group-folder.d.ts +3 -0
- package/dist_ts/standards/rules/layout.group-folder.js +22 -0
- package/dist_ts/standards/rules/layout.shared-00.d.ts +3 -0
- package/dist_ts/standards/rules/layout.shared-00.js +36 -0
- package/dist_ts/standards/rules/naming.class-matches-tag.d.ts +3 -0
- package/dist_ts/standards/rules/naming.class-matches-tag.js +26 -0
- package/dist_ts/standards/rules/naming.lowercase-files.d.ts +3 -0
- package/dist_ts/standards/rules/naming.lowercase-files.js +26 -0
- package/dist_ts/standards/rules/naming.tag-prefix.d.ts +3 -0
- package/dist_ts/standards/rules/naming.tag-prefix.js +23 -0
- package/dist_ts/standards/rules/props.accessor.d.ts +3 -0
- package/dist_ts/standards/rules/props.accessor.js +35 -0
- package/dist_ts/standards/rules/props.object-no-attribute.d.ts +3 -0
- package/dist_ts/standards/rules/props.object-no-attribute.js +42 -0
- package/dist_ts/standards/rules/props.reflect-primitive.d.ts +5 -0
- package/dist_ts/standards/rules/props.reflect-primitive.js +41 -0
- package/dist_ts/standards/rules/props.typed.d.ts +6 -0
- package/dist_ts/standards/rules/props.typed.js +64 -0
- package/dist_ts/standards/rules/shared.d.ts +38 -0
- package/dist_ts/standards/rules/shared.js +103 -0
- package/dist_ts/standards/rules/style.bdtheme.d.ts +5 -0
- package/dist_ts/standards/rules/style.bdtheme.js +28 -0
- package/dist_ts_interfaces/bridge.d.ts +88 -0
- package/dist_ts_interfaces/bridge.js +2 -0
- package/dist_ts_interfaces/catalog.d.ts +32 -0
- package/dist_ts_interfaces/catalog.js +6 -0
- package/dist_ts_interfaces/index.d.ts +4 -0
- package/dist_ts_interfaces/index.js +5 -0
- package/dist_ts_interfaces/plugins.d.ts +2 -0
- package/dist_ts_interfaces/plugins.js +3 -0
- package/dist_ts_interfaces/requests.d.ts +15 -0
- package/dist_ts_interfaces/requests.js +2 -0
- package/dist_ts_interfaces/standard.d.ts +93 -0
- package/dist_ts_interfaces/standard.js +6 -0
- package/dist_ts_shared/index.d.ts +1 -0
- package/dist_ts_shared/index.js +2 -0
- package/dist_ts_shared/plugins.d.ts +2 -0
- package/dist_ts_shared/plugins.js +3 -0
- package/dist_ts_shared/previewroute.d.ts +18 -0
- package/dist_ts_shared/previewroute.js +47 -0
- package/{dist_ts_web → dist_ts_shell}/elements/wcc-contextmenu.js +1 -1
- package/dist_ts_shell/elements/wcc-preview-frame.d.ts +23 -0
- package/dist_ts_shell/elements/wcc-preview-frame.js +197 -0
- package/dist_ts_shell/elements/wcc-properties.d.ts +49 -0
- package/{dist_ts_web → dist_ts_shell}/elements/wcc-properties.js +149 -216
- package/{dist_ts_web → dist_ts_shell}/elements/wcc-record-button.js +1 -1
- package/{dist_ts_web → dist_ts_shell}/elements/wcc-recording-panel.d.ts +2 -2
- package/{dist_ts_web → dist_ts_shell}/elements/wcc-recording-panel.js +12 -16
- package/dist_ts_shell/elements/wcc-shell.d.ts +87 -0
- package/dist_ts_shell/elements/wcc-shell.js +524 -0
- package/{dist_ts_web → dist_ts_shell}/elements/wcc-sidebar.d.ts +12 -10
- package/{dist_ts_web → dist_ts_shell}/elements/wcc-sidebar.js +137 -183
- package/dist_ts_shell/index.d.ts +4 -0
- package/dist_ts_shell/index.js +5 -0
- package/dist_ts_shell/plugins.d.ts +4 -0
- package/dist_ts_shell/plugins.js +5 -0
- package/dist_ts_shell/previewconnection.d.ts +30 -0
- package/dist_ts_shell/previewconnection.js +86 -0
- package/dist_ts_shell/services/recorder.service.js +353 -0
- package/dist_ts_web/00_commitinfo_data.js +2 -2
- package/dist_ts_web/catalog.d.ts +45 -0
- package/dist_ts_web/catalog.js +153 -0
- package/dist_ts_web/elementproperties.d.ts +15 -0
- package/dist_ts_web/elementproperties.js +89 -0
- package/dist_ts_web/elements/wcc-preview.d.ts +19 -0
- package/dist_ts_web/elements/wcc-preview.js +164 -0
- package/dist_ts_web/elements/wcc-standalone-notice.d.ts +14 -0
- package/dist_ts_web/elements/wcc-standalone-notice.js +110 -0
- package/dist_ts_web/elements/wcctools.helpers.d.ts +2 -6
- package/dist_ts_web/elements/wcctools.helpers.js +1 -7
- package/dist_ts_web/index.d.ts +2 -5
- package/dist_ts_web/index.js +38 -17
- package/dist_ts_web/previewbridge.d.ts +39 -0
- package/dist_ts_web/previewbridge.js +153 -0
- package/dist_ts_web/renderedtree.d.ts +5 -0
- package/dist_ts_web/renderedtree.js +37 -0
- package/dist_ts_web/wcctools.interfaces.d.ts +3 -6
- package/dist_ts_web/wcctools.interfaces.js +1 -1
- package/dist_ts_web/wcctools.plugins.d.ts +3 -1
- package/dist_ts_web/wcctools.plugins.js +4 -2
- package/package.json +17 -7
- package/readme.md +93 -28
- package/ts/00_commitinfo_data.ts +8 -0
- package/ts/classes.devapi.ts +25 -0
- package/ts/classes.devserver.ts +161 -0
- package/ts/cli.ts +53 -0
- package/ts/index.ts +3 -0
- package/ts/paths.ts +7 -0
- package/ts/plugins.ts +37 -0
- package/ts/shellcontent.ts +42 -0
- package/ts/standards/baselines.ts +100 -0
- package/ts/standards/checker.ts +114 -0
- package/ts/standards/classes.gitrepo.ts +48 -0
- package/ts/standards/classes.sourceedits.ts +58 -0
- package/ts/standards/classes.standardfixer.ts +234 -0
- package/ts/standards/classes.standardproject.ts +250 -0
- package/ts/standards/classes.standardtree.ts +220 -0
- package/ts/standards/cli.ts +86 -0
- package/ts/standards/config.ts +160 -0
- package/ts/standards/errors.ts +18 -0
- package/ts/standards/helpers.ast.ts +208 -0
- package/ts/standards/helpers.paths.ts +119 -0
- package/ts/standards/index.ts +22 -0
- package/ts/standards/output.ts +65 -0
- package/ts/standards/ratchet.ts +63 -0
- package/ts/standards/rule.ts +58 -0
- package/ts/standards/rules/barrel.element-index.ts +112 -0
- package/ts/standards/rules/barrel.no-demo-export.ts +30 -0
- package/ts/standards/rules/demo.fixture-not-exported.ts +30 -0
- package/ts/standards/rules/demo.groups.ts +74 -0
- package/ts/standards/rules/demo.required.ts +49 -0
- package/ts/standards/rules/demo.separate-file.ts +40 -0
- package/ts/standards/rules/demo.shape.ts +42 -0
- package/ts/standards/rules/docs.component-index.ts +88 -0
- package/ts/standards/rules/element.exported.ts +35 -0
- package/ts/standards/rules/element.literal-tag.ts +30 -0
- package/ts/standards/rules/element.reachable.ts +49 -0
- package/ts/standards/rules/element.tag-map.ts +87 -0
- package/ts/standards/rules/i18n.literals.ts +58 -0
- package/ts/standards/rules/index.ts +87 -0
- package/ts/standards/rules/layout.element-folder.ts +49 -0
- package/ts/standards/rules/layout.entry-file-name.ts +73 -0
- package/ts/standards/rules/layout.entry.ts +40 -0
- package/ts/standards/rules/layout.group-folder.ts +23 -0
- package/ts/standards/rules/layout.shared-00.ts +37 -0
- package/ts/standards/rules/naming.class-matches-tag.ts +27 -0
- package/ts/standards/rules/naming.lowercase-files.ts +27 -0
- package/ts/standards/rules/naming.tag-prefix.ts +24 -0
- package/ts/standards/rules/props.accessor.ts +37 -0
- package/ts/standards/rules/props.object-no-attribute.ts +45 -0
- package/ts/standards/rules/props.reflect-primitive.ts +44 -0
- package/ts/standards/rules/props.typed.ts +70 -0
- package/ts/standards/rules/shared.ts +127 -0
- package/ts/standards/rules/style.bdtheme.ts +31 -0
- package/ts_web/00_commitinfo_data.ts +1 -1
- package/ts_web/catalog.ts +194 -0
- package/ts_web/elementproperties.ts +96 -0
- package/ts_web/elements/wcc-preview.ts +111 -0
- package/ts_web/elements/wcc-standalone-notice.ts +65 -0
- package/ts_web/elements/wcctools.helpers.ts +2 -10
- package/ts_web/index.ts +38 -19
- package/ts_web/previewbridge.ts +189 -0
- package/ts_web/readme.md +26 -85
- package/ts_web/renderedtree.ts +43 -0
- package/ts_web/wcctools.interfaces.ts +4 -7
- package/ts_web/wcctools.plugins.ts +6 -1
- package/dist_bundle/bundle.js +0 -92419
- package/dist_bundle/bundle.js.map +0 -1
- package/dist_ts_web/elements/wcc-dashboard.d.ts +0 -119
- package/dist_ts_web/elements/wcc-dashboard.js +0 -700
- package/dist_ts_web/elements/wcc-frame.d.ts +0 -22
- package/dist_ts_web/elements/wcc-frame.js +0 -256
- package/dist_ts_web/elements/wcc-properties.d.ts +0 -43
- package/dist_ts_web/pages/index.d.ts +0 -1
- package/dist_ts_web/pages/index.js +0 -2
- package/dist_ts_web/services/recorder.service.js +0 -353
- package/ts_web/elements/wcc-contextmenu.ts +0 -291
- package/ts_web/elements/wcc-dashboard.ts +0 -672
- package/ts_web/elements/wcc-frame.ts +0 -189
- package/ts_web/elements/wcc-properties.ts +0 -1089
- package/ts_web/elements/wcc-record-button.ts +0 -108
- package/ts_web/elements/wcc-recording-panel.ts +0 -1010
- package/ts_web/elements/wcc-sidebar.ts +0 -1470
- package/ts_web/pages/index.ts +0 -1
- package/ts_web/services/recorder.service.ts +0 -451
- package/ts_web/types/dom-mediacapture-stub/index.d.ts +0 -12
- package/ts_web/types/dom-mediacapture-stub/package.json +0 -6
- package/ts_web/types/dom-webcodecs-stub/index.d.ts +0 -2
- package/ts_web/types/dom-webcodecs-stub/package.json +0 -6
- /package/{dist_ts_web → dist_ts_shell}/elements/wcc-contextmenu.d.ts +0 -0
- /package/{dist_ts_web → dist_ts_shell}/elements/wcc-record-button.d.ts +0 -0
- /package/{dist_ts_web → dist_ts_shell}/services/recorder.service.d.ts +0 -0
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
import * as plugins from './wcctools.plugins.js';
|
|
2
|
+
import { classifyCatalogEntry, getDemoAtIndex, getDemoCount, getElementDemoGroups, getElementTagName, } from './elements/wcctools.helpers.js';
|
|
3
|
+
const applySectionFilterAndSort = (section, entries, fallbackSort) => {
|
|
4
|
+
let result = entries;
|
|
5
|
+
if (section.filter) {
|
|
6
|
+
const filterFn = section.filter;
|
|
7
|
+
result = result.filter(([name, item]) => filterFn(name, item));
|
|
8
|
+
}
|
|
9
|
+
const sortFn = section.sort ?? fallbackSort;
|
|
10
|
+
if (sortFn) {
|
|
11
|
+
result = [...result].sort(sortFn);
|
|
12
|
+
}
|
|
13
|
+
return result;
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* The navigable entries of a section, after classification and the section's own filter and sort.
|
|
17
|
+
* Elements sections keep only custom element classes with a usable static `demo`;
|
|
18
|
+
* pages sections keep only template factories.
|
|
19
|
+
*/
|
|
20
|
+
export const getSectionItems = (section) => {
|
|
21
|
+
const entries = Object.entries(section.items).filter(([, item]) => section.type === 'elements'
|
|
22
|
+
? classifyCatalogEntry(item) === 'demo'
|
|
23
|
+
: typeof item === 'function');
|
|
24
|
+
return applySectionFilterAndSort(section, entries);
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* Registered custom elements of an elements section that have no usable demo.
|
|
28
|
+
* They are listed (not navigable) in the sidebar's "Without demo" group.
|
|
29
|
+
*/
|
|
30
|
+
export const getSectionItemsWithoutDemo = (section) => {
|
|
31
|
+
if (section.type !== 'elements') {
|
|
32
|
+
return [];
|
|
33
|
+
}
|
|
34
|
+
const entries = Object.entries(section.items).filter(([, item]) => classifyCatalogEntry(item) === 'no-demo');
|
|
35
|
+
return applySectionFilterAndSort(section, entries, ([a], [b]) => a.localeCompare(b));
|
|
36
|
+
};
|
|
37
|
+
/**
|
|
38
|
+
* The catalog of one `setupWccTools` call: classifies its sections, describes them as a
|
|
39
|
+
* data-only manifest and resolves selections to template factories.
|
|
40
|
+
*/
|
|
41
|
+
export class WccCatalog {
|
|
42
|
+
sections;
|
|
43
|
+
constructor(configArg) {
|
|
44
|
+
this.sections = configArg.sections;
|
|
45
|
+
}
|
|
46
|
+
getManifest() {
|
|
47
|
+
return {
|
|
48
|
+
sections: this.sections.map((section) => ({
|
|
49
|
+
name: section.name,
|
|
50
|
+
type: section.type,
|
|
51
|
+
...(section.icon ? { icon: section.icon } : {}),
|
|
52
|
+
...(section.collapsed ? { collapsed: true } : {}),
|
|
53
|
+
entries: getSectionItems(section).map(([name, item]) => ({
|
|
54
|
+
name,
|
|
55
|
+
tagName: getElementTagName(item),
|
|
56
|
+
demoCount: section.type === 'elements' ? getDemoCount(item.demo) : 1,
|
|
57
|
+
demoGroups: getElementDemoGroups(item),
|
|
58
|
+
})),
|
|
59
|
+
entriesWithoutDemo: getSectionItemsWithoutDemo(section).map(([name, item]) => ({
|
|
60
|
+
name,
|
|
61
|
+
tagName: getElementTagName(item),
|
|
62
|
+
})),
|
|
63
|
+
})),
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
resolve(selectionArg) {
|
|
67
|
+
if (!selectionArg) {
|
|
68
|
+
return {
|
|
69
|
+
kind: 'empty',
|
|
70
|
+
reason: 'nothing-selected',
|
|
71
|
+
emptyState: {
|
|
72
|
+
title: 'Nothing selected',
|
|
73
|
+
detail: 'Choose an element or page in the sidebar to preview it here.',
|
|
74
|
+
},
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
const { sectionName, itemName, demoIndex } = selectionArg;
|
|
78
|
+
const resolved = this.resolveEntry(sectionName, itemName);
|
|
79
|
+
if (resolved.kind !== 'listed') {
|
|
80
|
+
return { kind: 'empty', reason: resolved.kind, emptyState: this.getUnavailableEmptyState(resolved, sectionName, itemName) };
|
|
81
|
+
}
|
|
82
|
+
if (resolved.section.type === 'pages') {
|
|
83
|
+
return { kind: 'page', factory: resolved.item };
|
|
84
|
+
}
|
|
85
|
+
const elementClass = resolved.item;
|
|
86
|
+
const demo = elementClass.demo;
|
|
87
|
+
const factory = getDemoAtIndex(demo, demoIndex);
|
|
88
|
+
if (!factory) {
|
|
89
|
+
const count = getDemoCount(demo);
|
|
90
|
+
return {
|
|
91
|
+
kind: 'empty',
|
|
92
|
+
reason: 'no-such-demo',
|
|
93
|
+
emptyState: {
|
|
94
|
+
title: `${itemName} has no demo ${demoIndex + 1}`,
|
|
95
|
+
detail: `This element defines ${count} ${count === 1 ? 'demo' : 'demos'}.`,
|
|
96
|
+
},
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
return { kind: 'element', factory, elementClass };
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Resolve a section/item pair to a listed entry, or to the reason it cannot be previewed.
|
|
103
|
+
* The section names `element` and `page` of links from before sections existed search every section.
|
|
104
|
+
*/
|
|
105
|
+
resolveEntry(sectionNameArg, itemNameArg) {
|
|
106
|
+
const section = this.sections.find((sectionArg) => sectionArg.name === sectionNameArg) ?? null;
|
|
107
|
+
const isLegacyName = !section && (sectionNameArg === 'element' || sectionNameArg === 'page');
|
|
108
|
+
const candidates = section ? [section] : isLegacyName ? this.sections : [];
|
|
109
|
+
for (const candidate of candidates) {
|
|
110
|
+
const listed = getSectionItems(candidate).find(([name]) => name === itemNameArg);
|
|
111
|
+
if (listed) {
|
|
112
|
+
return { kind: 'listed', section: candidate, item: listed[1] };
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
for (const candidate of candidates) {
|
|
116
|
+
if (getSectionItemsWithoutDemo(candidate).some(([name]) => name === itemNameArg)) {
|
|
117
|
+
return { kind: 'no-demo', section: candidate };
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
for (const candidate of candidates) {
|
|
121
|
+
if (Object.prototype.hasOwnProperty.call(candidate.items, itemNameArg)) {
|
|
122
|
+
const item = candidate.items[itemNameArg];
|
|
123
|
+
const notDemoable = candidate.type === 'elements'
|
|
124
|
+
? classifyCatalogEntry(item) === 'ignored'
|
|
125
|
+
: typeof item !== 'function';
|
|
126
|
+
return { kind: notDemoable ? 'ignored' : 'missing', section: candidate };
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
return { kind: 'missing', section };
|
|
130
|
+
}
|
|
131
|
+
getUnavailableEmptyState(resolvedArg, sectionNameArg, itemNameArg) {
|
|
132
|
+
switch (resolvedArg.kind) {
|
|
133
|
+
case 'no-demo': {
|
|
134
|
+
const tagName = getElementTagName(resolvedArg.section?.items[itemNameArg]);
|
|
135
|
+
return {
|
|
136
|
+
title: `${itemNameArg} has no demo`,
|
|
137
|
+
detail: `${tagName ? `<${tagName}>` : 'This element'} is a registered custom element without a static demo. It is listed under "Without demo".`,
|
|
138
|
+
};
|
|
139
|
+
}
|
|
140
|
+
case 'ignored':
|
|
141
|
+
return {
|
|
142
|
+
title: `${itemNameArg} cannot be previewed`,
|
|
143
|
+
detail: 'This export is not a custom element with a demo, so the catalog does not list it.',
|
|
144
|
+
};
|
|
145
|
+
case 'missing':
|
|
146
|
+
return {
|
|
147
|
+
title: `${itemNameArg} was not found`,
|
|
148
|
+
detail: `No entry with this name exists in "${sectionNameArg}".`,
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0YWxvZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzX3dlYi9jYXRhbG9nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sdUJBQXVCLENBQUM7QUFDakQsT0FBTyxFQUNMLG9CQUFvQixFQUNwQixjQUFjLEVBQ2QsWUFBWSxFQUNaLG9CQUFvQixFQUNwQixpQkFBaUIsR0FJbEIsTUFBTSxnQ0FBZ0MsQ0FBQztBQUt4QyxNQUFNLHlCQUF5QixHQUFHLENBQ2hDLE9BQW9CLEVBQ3BCLE9BQXdCLEVBQ3hCLFlBQTZELEVBQzVDLEVBQUU7SUFDbkIsSUFBSSxNQUFNLEdBQUcsT0FBTyxDQUFDO0lBQ3JCLElBQUksT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ25CLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUM7UUFDaEMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFDRCxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsSUFBSSxJQUFJLFlBQVksQ0FBQztJQUM1QyxJQUFJLE1BQU0sRUFBRSxDQUFDO1FBQ1gsTUFBTSxHQUFHLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUNELE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUMsQ0FBQztBQUVGOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsQ0FBQyxPQUFvQixFQUFtQixFQUFFO0lBQ3ZFLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLENBQ2hFLE9BQU8sQ0FBQyxJQUFJLEtBQUssVUFBVTtRQUN6QixDQUFDLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLEtBQUssTUFBTTtRQUN2QyxDQUFDLENBQUMsT0FBTyxJQUFJLEtBQUssVUFBVSxDQUMvQixDQUFDO0lBQ0YsT0FBTyx5QkFBeUIsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFDckQsQ0FBQyxDQUFDO0FBRUY7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUcsQ0FBQyxPQUFvQixFQUFtQixFQUFFO0lBQ2xGLElBQUksT0FBTyxDQUFDLElBQUksS0FBSyxVQUFVLEVBQUUsQ0FBQztRQUNoQyxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFDRCxNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxLQUFLLFNBQVMsQ0FBQyxDQUFDO0lBQzdHLE9BQU8seUJBQXlCLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3ZGLENBQUMsQ0FBQztBQVlGOzs7R0FHRztBQUNILE1BQU0sT0FBTyxVQUFVO0lBQ0osUUFBUSxDQUFnQjtJQUV6QyxZQUFZLFNBQXFCO1FBQy9CLElBQUksQ0FBQyxRQUFRLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBQztJQUNyQyxDQUFDO0lBRU0sV0FBVztRQUNoQixPQUFPO1lBQ0wsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUN4QyxJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUk7Z0JBQ2xCLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSTtnQkFDbEIsR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUMvQyxHQUFHLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDakQsT0FBTyxFQUFFLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztvQkFDdkQsSUFBSTtvQkFDSixPQUFPLEVBQUUsaUJBQWlCLENBQUMsSUFBSSxDQUFDO29CQUNoQyxTQUFTLEVBQUUsT0FBTyxDQUFDLElBQUksS0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBdUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUN2RixVQUFVLEVBQUUsb0JBQW9CLENBQUMsSUFBSSxDQUFDO2lCQUN2QyxDQUFDLENBQUM7Z0JBQ0gsa0JBQWtCLEVBQUUsMEJBQTBCLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7b0JBQzdFLElBQUk7b0JBQ0osT0FBTyxFQUFFLGlCQUFpQixDQUFDLElBQUksQ0FBQztpQkFDakMsQ0FBQyxDQUFDO2FBQ0osQ0FBQyxDQUFDO1NBQ0osQ0FBQztJQUNKLENBQUM7SUFFTSxPQUFPLENBQUMsWUFBcUQ7UUFDbEUsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ2xCLE9BQU87Z0JBQ0wsSUFBSSxFQUFFLE9BQU87Z0JBQ2IsTUFBTSxFQUFFLGtCQUFrQjtnQkFDMUIsVUFBVSxFQUFFO29CQUNWLEtBQUssRUFBRSxrQkFBa0I7b0JBQ3pCLE1BQU0sRUFBRSw4REFBOEQ7aUJBQ3ZFO2FBQ0YsQ0FBQztRQUNKLENBQUM7UUFDRCxNQUFNLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsR0FBRyxZQUFZLENBQUM7UUFDMUQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDMUQsSUFBSSxRQUFRLENBQUMsSUFBSSxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQy9CLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxRQUFRLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsd0JBQXdCLENBQUMsUUFBUSxFQUFFLFdBQVcsRUFBRSxRQUFRLENBQUMsRUFBRSxDQUFDO1FBQzlILENBQUM7UUFDRCxJQUFJLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxLQUFLLE9BQU8sRUFBRSxDQUFDO1lBQ3RDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxRQUFRLENBQUMsSUFBd0IsRUFBRSxDQUFDO1FBQ3RFLENBQUM7UUFDRCxNQUFNLFlBQVksR0FBRyxRQUFRLENBQUMsSUFBa0MsQ0FBQztRQUNqRSxNQUFNLElBQUksR0FBRyxZQUFZLENBQUMsSUFBdUIsQ0FBQztRQUNsRCxNQUFNLE9BQU8sR0FBRyxjQUFjLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQ2hELElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNiLE1BQU0sS0FBSyxHQUFHLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNqQyxPQUFPO2dCQUNMLElBQUksRUFBRSxPQUFPO2dCQUNiLE1BQU0sRUFBRSxjQUFjO2dCQUN0QixVQUFVLEVBQUU7b0JBQ1YsS0FBSyxFQUFFLEdBQUcsUUFBUSxnQkFBZ0IsU0FBUyxHQUFHLENBQUMsRUFBRTtvQkFDakQsTUFBTSxFQUFFLHdCQUF3QixLQUFLLElBQUksS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFPLEdBQUc7aUJBQzNFO2FBQ0YsQ0FBQztRQUNKLENBQUM7UUFDRCxPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLENBQUM7SUFDcEQsQ0FBQztJQUVEOzs7T0FHRztJQUNLLFlBQVksQ0FBQyxjQUFzQixFQUFFLFdBQW1CO1FBQzlELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxLQUFLLGNBQWMsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUMvRixNQUFNLFlBQVksR0FBRyxDQUFDLE9BQU8sSUFBSSxDQUFDLGNBQWMsS0FBSyxTQUFTLElBQUksY0FBYyxLQUFLLE1BQU0sQ0FBQyxDQUFDO1FBQzdGLE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFFM0UsS0FBSyxNQUFNLFNBQVMsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNuQyxNQUFNLE1BQU0sR0FBRyxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxLQUFLLFdBQVcsQ0FBQyxDQUFDO1lBQ2pGLElBQUksTUFBTSxFQUFFLENBQUM7Z0JBQ1gsT0FBTyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDakUsQ0FBQztRQUNILENBQUM7UUFDRCxLQUFLLE1BQU0sU0FBUyxJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQ25DLElBQUksMEJBQTBCLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxLQUFLLFdBQVcsQ0FBQyxFQUFFLENBQUM7Z0JBQ2pGLE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsQ0FBQztZQUNqRCxDQUFDO1FBQ0gsQ0FBQztRQUNELEtBQUssTUFBTSxTQUFTLElBQUksVUFBVSxFQUFFLENBQUM7WUFDbkMsSUFBSSxNQUFNLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsRUFBRSxDQUFDO2dCQUN2RSxNQUFNLElBQUksR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO2dCQUMxQyxNQUFNLFdBQVcsR0FBRyxTQUFTLENBQUMsSUFBSSxLQUFLLFVBQVU7b0JBQy9DLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxTQUFTO29CQUMxQyxDQUFDLENBQUMsT0FBTyxJQUFJLEtBQUssVUFBVSxDQUFDO2dCQUMvQixPQUFPLEVBQUUsSUFBSSxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxDQUFDO1lBQzNFLENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVPLHdCQUF3QixDQUM5QixXQUF3RCxFQUN4RCxjQUFzQixFQUN0QixXQUFtQjtRQUVuQixRQUFRLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUN6QixLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUM7Z0JBQ2YsTUFBTSxPQUFPLEdBQUcsaUJBQWlCLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztnQkFDM0UsT0FBTztvQkFDTCxLQUFLLEVBQUUsR0FBRyxXQUFXLGNBQWM7b0JBQ25DLE1BQU0sRUFBRSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxPQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUMsY0FBYywyRkFBMkY7aUJBQ2hKLENBQUM7WUFDSixDQUFDO1lBQ0QsS0FBSyxTQUFTO2dCQUNaLE9BQU87b0JBQ0wsS0FBSyxFQUFFLEdBQUcsV0FBVyxzQkFBc0I7b0JBQzNDLE1BQU0sRUFBRSxtRkFBbUY7aUJBQzVGLENBQUM7WUFDSixLQUFLLFNBQVM7Z0JBQ1osT0FBTztvQkFDTCxLQUFLLEVBQUUsR0FBRyxXQUFXLGdCQUFnQjtvQkFDckMsTUFBTSxFQUFFLHNDQUFzQyxjQUFjLElBQUk7aUJBQ2pFLENBQUM7UUFDTixDQUFDO0lBQ0gsQ0FBQztDQUNGIn0=
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import * as plugins from './wcctools.plugins.js';
|
|
2
|
+
/**
|
|
3
|
+
* The editable properties an element class declares and the values its instance holds.
|
|
4
|
+
* It runs in the realm that defined the class, so Lit's `type: String` declarations compare
|
|
5
|
+
* against the same `String` and the values never cross into another document's realm.
|
|
6
|
+
*/
|
|
7
|
+
export declare class WccElementProperties {
|
|
8
|
+
private readonly elementClass;
|
|
9
|
+
private readonly instance;
|
|
10
|
+
constructor(elementClass: unknown, instance: HTMLElement);
|
|
11
|
+
describe(): plugins.interfaces.IWccPropertyDescriptor[] | null;
|
|
12
|
+
set(nameArg: string, valueArg: plugins.interfaces.TWccPropertyScalar): plugins.interfaces.TWccPropertyEditResult;
|
|
13
|
+
setJson(nameArg: string, jsonArg: string): plugins.interfaces.TWccPropertyEditResult;
|
|
14
|
+
private getKind;
|
|
15
|
+
}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import * as plugins from './wcctools.plugins.js';
|
|
2
|
+
import { determinePropertyType } from './elements/wcctools.helpers.js';
|
|
3
|
+
const skippedPropertyNames = new Set(['goBright', 'domtools']);
|
|
4
|
+
const scalarKinds = new Set(['String', 'Number', 'Boolean', 'Enum']);
|
|
5
|
+
const getDeclarations = (elementClassArg) => {
|
|
6
|
+
const declarations = elementClassArg.elementProperties;
|
|
7
|
+
return declarations instanceof Map ? declarations : null;
|
|
8
|
+
};
|
|
9
|
+
const toScalar = (valueArg) => {
|
|
10
|
+
if (typeof valueArg === 'string' || typeof valueArg === 'number' || typeof valueArg === 'boolean') {
|
|
11
|
+
return valueArg;
|
|
12
|
+
}
|
|
13
|
+
return null;
|
|
14
|
+
};
|
|
15
|
+
const toJson = (valueArg) => {
|
|
16
|
+
try {
|
|
17
|
+
return JSON.stringify(valueArg ?? null, null, 2);
|
|
18
|
+
}
|
|
19
|
+
catch {
|
|
20
|
+
return undefined;
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* The editable properties an element class declares and the values its instance holds.
|
|
25
|
+
* It runs in the realm that defined the class, so Lit's `type: String` declarations compare
|
|
26
|
+
* against the same `String` and the values never cross into another document's realm.
|
|
27
|
+
*/
|
|
28
|
+
export class WccElementProperties {
|
|
29
|
+
elementClass;
|
|
30
|
+
instance;
|
|
31
|
+
constructor(elementClass, instance) {
|
|
32
|
+
this.elementClass = elementClass;
|
|
33
|
+
this.instance = instance;
|
|
34
|
+
}
|
|
35
|
+
describe() {
|
|
36
|
+
const declarations = getDeclarations(this.elementClass);
|
|
37
|
+
if (!declarations) {
|
|
38
|
+
return null;
|
|
39
|
+
}
|
|
40
|
+
const descriptors = [];
|
|
41
|
+
for (const [key, declaration] of declarations) {
|
|
42
|
+
if (typeof key !== 'string' || key.startsWith('#') || skippedPropertyNames.has(key)) {
|
|
43
|
+
continue;
|
|
44
|
+
}
|
|
45
|
+
const kind = determinePropertyType(declaration);
|
|
46
|
+
if (!kind) {
|
|
47
|
+
continue;
|
|
48
|
+
}
|
|
49
|
+
const value = this.instance[key];
|
|
50
|
+
if (scalarKinds.has(kind)) {
|
|
51
|
+
descriptors.push(kind === 'Enum'
|
|
52
|
+
? { name: key, kind, value: toScalar(value), enumValues: Object.keys(declaration.type) }
|
|
53
|
+
: { name: key, kind, value: toScalar(value) });
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
descriptors.push({ name: key, kind, json: toJson(value) });
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
return descriptors;
|
|
60
|
+
}
|
|
61
|
+
set(nameArg, valueArg) {
|
|
62
|
+
const kind = this.getKind(nameArg);
|
|
63
|
+
if (!kind || !scalarKinds.has(kind)) {
|
|
64
|
+
return { ok: false, error: `${nameArg} is not an editable scalar property` };
|
|
65
|
+
}
|
|
66
|
+
this.instance[nameArg] = valueArg;
|
|
67
|
+
return { ok: true };
|
|
68
|
+
}
|
|
69
|
+
setJson(nameArg, jsonArg) {
|
|
70
|
+
const kind = this.getKind(nameArg);
|
|
71
|
+
if (kind !== 'Object' && kind !== 'Array') {
|
|
72
|
+
return { ok: false, error: `${nameArg} is not an Object or Array property` };
|
|
73
|
+
}
|
|
74
|
+
let value;
|
|
75
|
+
try {
|
|
76
|
+
value = JSON.parse(jsonArg);
|
|
77
|
+
}
|
|
78
|
+
catch (error) {
|
|
79
|
+
return { ok: false, error: `Invalid JSON: ${error.message}` };
|
|
80
|
+
}
|
|
81
|
+
this.instance[nameArg] = value;
|
|
82
|
+
return { ok: true };
|
|
83
|
+
}
|
|
84
|
+
getKind(nameArg) {
|
|
85
|
+
const declaration = getDeclarations(this.elementClass)?.get(nameArg);
|
|
86
|
+
return declaration && !skippedPropertyNames.has(nameArg) ? determinePropertyType(declaration) : null;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudHByb3BlcnRpZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90c193ZWIvZWxlbWVudHByb3BlcnRpZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE9BQU8sTUFBTSx1QkFBdUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUscUJBQXFCLEVBQXFDLE1BQU0sZ0NBQWdDLENBQUM7QUFLMUcsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFDO0FBRS9ELE1BQU0sV0FBVyxHQUFHLElBQUksR0FBRyxDQUFzQyxDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7QUFFMUcsTUFBTSxlQUFlLEdBQUcsQ0FBQyxlQUF3QixFQUFnQyxFQUFFO0lBQ2pGLE1BQU0sWUFBWSxHQUFJLGVBQW1ELENBQUMsaUJBQWlCLENBQUM7SUFDNUYsT0FBTyxZQUFZLFlBQVksR0FBRyxDQUFDLENBQUMsQ0FBQyxZQUFxQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7QUFDcEYsQ0FBQyxDQUFDO0FBRUYsTUFBTSxRQUFRLEdBQUcsQ0FBQyxRQUFpQixFQUF5QyxFQUFFO0lBQzVFLElBQUksT0FBTyxRQUFRLEtBQUssUUFBUSxJQUFJLE9BQU8sUUFBUSxLQUFLLFFBQVEsSUFBSSxPQUFPLFFBQVEsS0FBSyxTQUFTLEVBQUUsQ0FBQztRQUNsRyxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBQ0QsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDLENBQUM7QUFFRixNQUFNLE1BQU0sR0FBRyxDQUFDLFFBQWlCLEVBQXNCLEVBQUU7SUFDdkQsSUFBSSxDQUFDO1FBQ0gsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsSUFBSSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFB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
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { DeesElement, type TemplateResult } from '@design.estate/dees-element';
|
|
2
|
+
import * as plugins from '../wcctools.plugins.js';
|
|
3
|
+
declare global {
|
|
4
|
+
interface HTMLElementTagNameMap {
|
|
5
|
+
'wcc-preview': WccPreview;
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* The surface a preview document renders demos and pages into. The preview document is as
|
|
10
|
+
* wide as the selected viewport, so width media queries and the `wccToolsViewport` container
|
|
11
|
+
* queries of the rendered elements both follow it.
|
|
12
|
+
*/
|
|
13
|
+
export declare class WccPreview extends DeesElement {
|
|
14
|
+
accessor emptyState: plugins.interfaces.IWccEmptyState | null;
|
|
15
|
+
static styles: import("@design.estate/dees-element").CSSResult[];
|
|
16
|
+
render(): TemplateResult;
|
|
17
|
+
/** The element demos and pages render into; available once the first update completed. */
|
|
18
|
+
getViewportElement(): Promise<HTMLElement>;
|
|
19
|
+
}
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
|
|
2
|
+
function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
|
|
3
|
+
var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
|
|
4
|
+
var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
|
|
5
|
+
var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
|
|
6
|
+
var _, done = false;
|
|
7
|
+
for (var i = decorators.length - 1; i >= 0; i--) {
|
|
8
|
+
var context = {};
|
|
9
|
+
for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
|
|
10
|
+
for (var p in contextIn.access) context.access[p] = contextIn.access[p];
|
|
11
|
+
context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
|
|
12
|
+
var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
|
|
13
|
+
if (kind === "accessor") {
|
|
14
|
+
if (result === void 0) continue;
|
|
15
|
+
if (result === null || typeof result !== "object") throw new TypeError("Object expected");
|
|
16
|
+
if (_ = accept(result.get)) descriptor.get = _;
|
|
17
|
+
if (_ = accept(result.set)) descriptor.set = _;
|
|
18
|
+
if (_ = accept(result.init)) initializers.unshift(_);
|
|
19
|
+
}
|
|
20
|
+
else if (_ = accept(result)) {
|
|
21
|
+
if (kind === "field") initializers.unshift(_);
|
|
22
|
+
else descriptor[key] = _;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
if (target) Object.defineProperty(target, contextIn.name, descriptor);
|
|
26
|
+
done = true;
|
|
27
|
+
};
|
|
28
|
+
var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
|
|
29
|
+
var useValue = arguments.length > 2;
|
|
30
|
+
for (var i = 0; i < initializers.length; i++) {
|
|
31
|
+
value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
|
|
32
|
+
}
|
|
33
|
+
return useValue ? value : void 0;
|
|
34
|
+
};
|
|
35
|
+
import { DeesElement, property, html, customElement, css } from '@design.estate/dees-element';
|
|
36
|
+
import * as plugins from '../wcctools.plugins.js';
|
|
37
|
+
/**
|
|
38
|
+
* The surface a preview document renders demos and pages into. The preview document is as
|
|
39
|
+
* wide as the selected viewport, so width media queries and the `wccToolsViewport` container
|
|
40
|
+
* queries of the rendered elements both follow it.
|
|
41
|
+
*/
|
|
42
|
+
let WccPreview = (() => {
|
|
43
|
+
let _classDecorators = [customElement('wcc-preview')];
|
|
44
|
+
let _classDescriptor;
|
|
45
|
+
let _classExtraInitializers = [];
|
|
46
|
+
let _classThis;
|
|
47
|
+
let _classSuper = DeesElement;
|
|
48
|
+
let _emptyState_decorators;
|
|
49
|
+
let _emptyState_initializers = [];
|
|
50
|
+
let _emptyState_extraInitializers = [];
|
|
51
|
+
var WccPreview = class extends _classSuper {
|
|
52
|
+
static { _classThis = this; }
|
|
53
|
+
static {
|
|
54
|
+
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
55
|
+
_emptyState_decorators = [property({ attribute: false })];
|
|
56
|
+
__esDecorate(this, null, _emptyState_decorators, { kind: "accessor", name: "emptyState", static: false, private: false, access: { has: obj => "emptyState" in obj, get: obj => obj.emptyState, set: (obj, value) => { obj.emptyState = value; } }, metadata: _metadata }, _emptyState_initializers, _emptyState_extraInitializers);
|
|
57
|
+
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
58
|
+
WccPreview = _classThis = _classDescriptor.value;
|
|
59
|
+
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
60
|
+
}
|
|
61
|
+
#emptyState_accessor_storage = __runInitializers(this, _emptyState_initializers, null);
|
|
62
|
+
get emptyState() { return this.#emptyState_accessor_storage; }
|
|
63
|
+
set emptyState(value) { this.#emptyState_accessor_storage = value; }
|
|
64
|
+
static styles = [
|
|
65
|
+
css `
|
|
66
|
+
:host {
|
|
67
|
+
display: block;
|
|
68
|
+
position: relative;
|
|
69
|
+
min-height: 100vh;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
.viewport {
|
|
73
|
+
box-sizing: border-box;
|
|
74
|
+
container-type: inline-size;
|
|
75
|
+
container-name: wccToolsViewport;
|
|
76
|
+
position: relative;
|
|
77
|
+
min-height: 100vh;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
.empty-state {
|
|
81
|
+
position: absolute;
|
|
82
|
+
inset: 0;
|
|
83
|
+
display: flex;
|
|
84
|
+
align-items: center;
|
|
85
|
+
justify-content: center;
|
|
86
|
+
padding: 24px;
|
|
87
|
+
pointer-events: none;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
.empty-state-card {
|
|
91
|
+
pointer-events: auto;
|
|
92
|
+
max-width: 420px;
|
|
93
|
+
padding: 20px 24px;
|
|
94
|
+
border-radius: 8px;
|
|
95
|
+
border: 1px solid rgba(255, 255, 255, 0.08);
|
|
96
|
+
background: rgba(10, 10, 10, 0.88);
|
|
97
|
+
backdrop-filter: blur(8px);
|
|
98
|
+
color: #e5e5e5;
|
|
99
|
+
font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', sans-serif;
|
|
100
|
+
text-align: center;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
.empty-state-title {
|
|
104
|
+
margin: 0 0 6px;
|
|
105
|
+
font-size: 15px;
|
|
106
|
+
font-weight: 600;
|
|
107
|
+
overflow-wrap: anywhere;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
.empty-state-detail {
|
|
111
|
+
margin: 0;
|
|
112
|
+
font-size: 13px;
|
|
113
|
+
line-height: 1.5;
|
|
114
|
+
color: #a3a3a3;
|
|
115
|
+
overflow-wrap: anywhere;
|
|
116
|
+
}
|
|
117
|
+
`,
|
|
118
|
+
];
|
|
119
|
+
render() {
|
|
120
|
+
const pattern = this.goBright
|
|
121
|
+
? { dot: '#CCCCCC', base: '#eeeeee' }
|
|
122
|
+
: { dot: '#444444', base: '#222222' };
|
|
123
|
+
return html `
|
|
124
|
+
<style>
|
|
125
|
+
.viewport {
|
|
126
|
+
background:
|
|
127
|
+
radial-gradient(${pattern.dot} 3px, transparent 4px),
|
|
128
|
+
radial-gradient(${pattern.dot} 3px, transparent 4px),
|
|
129
|
+
linear-gradient(${pattern.base} 4px, transparent 0),
|
|
130
|
+
linear-gradient(45deg, transparent 74px, transparent 75px, ${pattern.dot} 75px, ${pattern.dot} 76px, transparent 77px, transparent 109px),
|
|
131
|
+
linear-gradient(-45deg, transparent 75px, transparent 76px, ${pattern.dot} 76px, ${pattern.dot} 77px, transparent 78px, transparent 109px),
|
|
132
|
+
${pattern.base};
|
|
133
|
+
background-size: 109px 109px, 109px 109px, 100% 6px, 109px 109px, 109px 109px;
|
|
134
|
+
background-position: 54px 55px, 0px 0px, 0px 0px, 0px 0px, 0px 0px;
|
|
135
|
+
}
|
|
136
|
+
</style>
|
|
137
|
+
<div class="viewport"></div>
|
|
138
|
+
${this.emptyState ? html `
|
|
139
|
+
<div class="empty-state">
|
|
140
|
+
<div class="empty-state-card" role="status">
|
|
141
|
+
<h2 class="empty-state-title">${this.emptyState.title}</h2>
|
|
142
|
+
<p class="empty-state-detail">${this.emptyState.detail}</p>
|
|
143
|
+
</div>
|
|
144
|
+
</div>
|
|
145
|
+
` : null}
|
|
146
|
+
`;
|
|
147
|
+
}
|
|
148
|
+
/** The element demos and pages render into; available once the first update completed. */
|
|
149
|
+
async getViewportElement() {
|
|
150
|
+
await this.updateComplete;
|
|
151
|
+
return this.shadowRoot.querySelector('.viewport');
|
|
152
|
+
}
|
|
153
|
+
constructor() {
|
|
154
|
+
super(...arguments);
|
|
155
|
+
__runInitializers(this, _emptyState_extraInitializers);
|
|
156
|
+
}
|
|
157
|
+
static {
|
|
158
|
+
__runInitializers(_classThis, _classExtraInitializers);
|
|
159
|
+
}
|
|
160
|
+
};
|
|
161
|
+
return WccPreview = _classThis;
|
|
162
|
+
})();
|
|
163
|
+
export { WccPreview };
|
|
164
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2NjLXByZXZpZXcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90c193ZWIvZWxlbWVudHMvd2NjLXByZXZpZXcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxhQUFhLEVBQXVCLEdBQUcsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ25ILE9BQU8sS0FBSyxPQUFPLE1BQU0sd0JBQXdCLENBQUM7QUFRbEQ7Ozs7R0FJRztJQUVVLFVBQVU7NEJBRHRCLGFBQWEsQ0FBQyxhQUFhLENBQUM7Ozs7c0JBQ0csV0FBVzs7OzswQkFBbkIsU0FBUSxXQUFXOzs7O3NDQUN4QyxRQUFRLENBQUMsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUM7WUFDL0IsbUxBQVMsVUFBVSw2QkFBVixVQUFVLCtGQUFrRDtZQUZ2RSw2S0ErRkM7Ozs7UUE3RkMsaUZBQWdFLElBQUksRUFBQztRQUFyRSxJQUFTLFVBQVUsZ0RBQWtEO1FBQXJFLElBQVMsVUFBVSxzREFBa0Q7UUFFOUQsTUFBTSxDQUFDLE1BQU0sR0FBRztZQUNyQixHQUFHLENBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7S0FvREY7U0FDRixDQUFDO1FBRUssTUFBTTtZQUNYLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRO2dCQUMzQixDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUU7Z0JBQ3JDLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxDQUFDO1lBQ3hDLE9BQU8sSUFBSSxDQUFBOzs7OzhCQUllLE9BQU8sQ0FBQyxHQUFHOzhCQUNYLE9BQU8sQ0FBQyxHQUFHOzhCQUNYLE9BQU8sQ0FBQyxJQUFJO3lFQUMrQixPQUFPLENBQUMsR0FBRyxVQUFVLE9BQU8sQ0FBQyxHQUFHOzBFQUMvQixPQUFPLENBQUMsR0FBRyxVQUFVLE9BQU8sQ0FBQyxHQUFHO2NBQzVGLE9BQU8sQ0FBQyxJQUFJOzs7Ozs7UUFNbEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFBOzs7NENBR2MsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLOzRDQUNyQixJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU07OztPQUczRCxDQUFDLENBQUMsQ0FBQyxJQUFJO0tBQ1QsQ0FBQztRQUNKLENBQUM7UUFFRCwwRkFBMEY7UUFDbkYsS0FBSyxDQUFDLGtCQUFrQjtZQUM3QixNQUFNLElBQUksQ0FBQyxjQUFjLENBQUM7WUFDMUIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQWdCLENBQUM7UUFDbkUsQ0FBQzs7Ozs7O1lBOUZVLHVEQUFVOzs7OztTQUFWLFVBQVUifQ==
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { DeesElement, type TemplateResult } from '@design.estate/dees-element';
|
|
2
|
+
declare global {
|
|
3
|
+
interface HTMLElementTagNameMap {
|
|
4
|
+
'wcc-standalone-notice': WccStandaloneNotice;
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Shown when a catalog bundle is opened outside `wcctools dev`: the catalog UI lives in the
|
|
9
|
+
* wcctools shell, which loads this document into its preview frame.
|
|
10
|
+
*/
|
|
11
|
+
export declare class WccStandaloneNotice extends DeesElement {
|
|
12
|
+
static styles: import("@design.estate/dees-element").CSSResult[];
|
|
13
|
+
render(): TemplateResult;
|
|
14
|
+
}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
|
|
2
|
+
function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
|
|
3
|
+
var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
|
|
4
|
+
var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
|
|
5
|
+
var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
|
|
6
|
+
var _, done = false;
|
|
7
|
+
for (var i = decorators.length - 1; i >= 0; i--) {
|
|
8
|
+
var context = {};
|
|
9
|
+
for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
|
|
10
|
+
for (var p in contextIn.access) context.access[p] = contextIn.access[p];
|
|
11
|
+
context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
|
|
12
|
+
var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
|
|
13
|
+
if (kind === "accessor") {
|
|
14
|
+
if (result === void 0) continue;
|
|
15
|
+
if (result === null || typeof result !== "object") throw new TypeError("Object expected");
|
|
16
|
+
if (_ = accept(result.get)) descriptor.get = _;
|
|
17
|
+
if (_ = accept(result.set)) descriptor.set = _;
|
|
18
|
+
if (_ = accept(result.init)) initializers.unshift(_);
|
|
19
|
+
}
|
|
20
|
+
else if (_ = accept(result)) {
|
|
21
|
+
if (kind === "field") initializers.unshift(_);
|
|
22
|
+
else descriptor[key] = _;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
if (target) Object.defineProperty(target, contextIn.name, descriptor);
|
|
26
|
+
done = true;
|
|
27
|
+
};
|
|
28
|
+
var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
|
|
29
|
+
var useValue = arguments.length > 2;
|
|
30
|
+
for (var i = 0; i < initializers.length; i++) {
|
|
31
|
+
value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
|
|
32
|
+
}
|
|
33
|
+
return useValue ? value : void 0;
|
|
34
|
+
};
|
|
35
|
+
import { DeesElement, html, customElement, css } from '@design.estate/dees-element';
|
|
36
|
+
/**
|
|
37
|
+
* Shown when a catalog bundle is opened outside `wcctools dev`: the catalog UI lives in the
|
|
38
|
+
* wcctools shell, which loads this document into its preview frame.
|
|
39
|
+
*/
|
|
40
|
+
let WccStandaloneNotice = (() => {
|
|
41
|
+
let _classDecorators = [customElement('wcc-standalone-notice')];
|
|
42
|
+
let _classDescriptor;
|
|
43
|
+
let _classExtraInitializers = [];
|
|
44
|
+
let _classThis;
|
|
45
|
+
let _classSuper = DeesElement;
|
|
46
|
+
var WccStandaloneNotice = class extends _classSuper {
|
|
47
|
+
static { _classThis = this; }
|
|
48
|
+
static {
|
|
49
|
+
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
50
|
+
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
51
|
+
WccStandaloneNotice = _classThis = _classDescriptor.value;
|
|
52
|
+
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
53
|
+
}
|
|
54
|
+
static styles = [
|
|
55
|
+
css `
|
|
56
|
+
:host {
|
|
57
|
+
position: fixed;
|
|
58
|
+
inset: 0;
|
|
59
|
+
display: flex;
|
|
60
|
+
align-items: center;
|
|
61
|
+
justify-content: center;
|
|
62
|
+
padding: 24px;
|
|
63
|
+
background: #0a0a0a;
|
|
64
|
+
color: #e5e5e5;
|
|
65
|
+
font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', sans-serif;
|
|
66
|
+
}
|
|
67
|
+
.card {
|
|
68
|
+
max-width: 480px;
|
|
69
|
+
padding: 24px 28px;
|
|
70
|
+
border: 1px solid rgba(255, 255, 255, 0.08);
|
|
71
|
+
border-radius: 8px;
|
|
72
|
+
background: #0f0f0f;
|
|
73
|
+
}
|
|
74
|
+
h1 {
|
|
75
|
+
margin: 0 0 8px;
|
|
76
|
+
font-size: 16px;
|
|
77
|
+
font-weight: 600;
|
|
78
|
+
}
|
|
79
|
+
p {
|
|
80
|
+
margin: 0 0 12px;
|
|
81
|
+
font-size: 13px;
|
|
82
|
+
line-height: 1.5;
|
|
83
|
+
color: #a3a3a3;
|
|
84
|
+
}
|
|
85
|
+
code {
|
|
86
|
+
padding: 2px 6px;
|
|
87
|
+
border-radius: 4px;
|
|
88
|
+
background: #1a1a1a;
|
|
89
|
+
color: #e5e5e5;
|
|
90
|
+
font-size: 12px;
|
|
91
|
+
}
|
|
92
|
+
`,
|
|
93
|
+
];
|
|
94
|
+
render() {
|
|
95
|
+
return html `
|
|
96
|
+
<div class="card" role="status">
|
|
97
|
+
<h1>This catalog runs in wcctools dev</h1>
|
|
98
|
+
<p>The page you opened is the catalog's preview document. The catalog UI loads it into its preview frame.</p>
|
|
99
|
+
<p>Start it with <code>pnpm exec wcctools dev</code> and open the address it prints.</p>
|
|
100
|
+
</div>
|
|
101
|
+
`;
|
|
102
|
+
}
|
|
103
|
+
static {
|
|
104
|
+
__runInitializers(_classThis, _classExtraInitializers);
|
|
105
|
+
}
|
|
106
|
+
};
|
|
107
|
+
return WccStandaloneNotice = _classThis;
|
|
108
|
+
})();
|
|
109
|
+
export { WccStandaloneNotice };
|
|
110
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2NjLXN0YW5kYWxvbmUtbm90aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vdHNfd2ViL2VsZW1lbnRzL3djYy1zdGFuZGFsb25lLW5vdGljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUF1QixHQUFHLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQVF6Rzs7O0dBR0c7SUFFVSxtQkFBbUI7NEJBRC9CLGFBQWEsQ0FBQyx1QkFBdUIsQ0FBQzs7OztzQkFDRSxXQUFXO21DQUFuQixTQUFRLFdBQVc7Ozs7WUFBcEQsNktBbURDOzs7O1FBbERRLE1BQU0sQ0FBQyxNQUFNLEdBQUc7WUFDckIsR0FBRyxDQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0tBcUNGO1NBQ0YsQ0FBQztRQUVLLE1BQU07WUFDWCxPQUFPLElBQUksQ0FBQTs7Ozs7O0tBTVYsQ0FBQztRQUNKLENBQUM7O1lBbERVLHVEQUFtQjs7Ozs7U0FBbkIsbUJBQW1CIn0=
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { TemplateResult } from 'lit';
|
|
2
|
+
import type * as plugins from '../wcctools.plugins.js';
|
|
2
3
|
export type TTemplateFactory = () => TemplateResult | Promise<TemplateResult>;
|
|
3
4
|
/** Find the nearest matching instance through light DOM and open shadow roots. */
|
|
4
5
|
export declare const findElementInstance: <T extends HTMLElement>(containerArg: Element | ShadowRoot, elementClassArg: new (...args: any[]) => T) => T | null;
|
|
@@ -25,12 +26,11 @@ export declare const classifyCatalogEntry: (itemArg: unknown) => TCatalogEntryKi
|
|
|
25
26
|
export declare const getElementTagName: (itemArg: unknown) => string | null;
|
|
26
27
|
/** The demo groups an element declares, normalized to an array. */
|
|
27
28
|
export declare const getElementDemoGroups: (itemArg: unknown) => string[];
|
|
28
|
-
export type TPropertyType = 'String' | 'Number' | 'Boolean' | 'Object' | 'Enum' | 'Array';
|
|
29
29
|
export interface IReactivePropertyDeclaration {
|
|
30
30
|
state?: boolean;
|
|
31
31
|
type?: unknown;
|
|
32
32
|
}
|
|
33
|
-
export declare const determinePropertyType: (propertyArg: IReactivePropertyDeclaration) =>
|
|
33
|
+
export declare const determinePropertyType: (propertyArg: IReactivePropertyDeclaration) => plugins.interfaces.TWccPropertyKind | null;
|
|
34
34
|
export declare const resolveTemplateFactory: (factoryArg: TTemplateFactory) => Promise<TemplateResult>;
|
|
35
35
|
/**
|
|
36
36
|
* Get the number of demos for an element
|
|
@@ -40,7 +40,3 @@ export declare const getDemoCount: (demo: TDemoDefinition) => number;
|
|
|
40
40
|
* Get a specific demo by index (0-based internally, displayed as 1-based)
|
|
41
41
|
*/
|
|
42
42
|
export declare const getDemoAtIndex: (demo: TDemoDefinition, index: number) => TTemplateFactory | null;
|
|
43
|
-
/**
|
|
44
|
-
* Check if an element has multiple demos
|
|
45
|
-
*/
|
|
46
|
-
export declare const hasMultipleDemos: (demo: TDemoDefinition) => boolean;
|
|
@@ -97,10 +97,4 @@ export const getDemoAtIndex = (demo, index) => {
|
|
|
97
97
|
// Single demo - only index 0 is valid
|
|
98
98
|
return index === 0 ? demo : null;
|
|
99
99
|
};
|
|
100
|
-
|
|
101
|
-
* Check if an element has multiple demos
|
|
102
|
-
*/
|
|
103
|
-
export const hasMultipleDemos = (demo) => {
|
|
104
|
-
return Array.isArray(demo) && demo.length > 1;
|
|
105
|
-
};
|
|
106
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2NjdG9vbHMuaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzX3dlYi9lbGVtZW50cy93Y2N0b29scy5oZWxwZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLGtGQUFrRjtBQUNsRixNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxDQUNqQyxZQUFrQyxFQUNsQyxlQUEwQyxFQUNoQyxFQUFFO0lBQ1osTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDbEQsS0FBSyxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUUsS0FBSyxHQUFHLE9BQU8sQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQztRQUNwRCxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDL0IsSUFBSSxPQUFPLFlBQVksZUFBZTtZQUFFLE9BQU8sT0FBTyxDQUFDO1FBQ3ZELE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDbEMsSUFBSSxPQUFPLENBQUMsVUFBVTtZQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFDRCxPQUFPLElBQUksQ0FBQztBQUNkLENBQUMsQ0FBQztBQW1CRixpRkFBaUY7QUFDakYsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxPQUFnQixFQUE4QixFQUFFO0lBQy9FLElBQUksT0FBTyxPQUFPLEtBQUssVUFBVSxFQUFFLENBQUM7UUFDbEMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBQ0QsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQztXQUN4QixPQUFPLENBQUMsTUFBTSxHQUFHLENBQUM7V0FDbEIsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsT0FBTyxVQUFVLEtBQUssVUFBVSxDQUFDLENBQUM7QUFDdkUsQ0FBQyxDQUFDO0FBRUYsb0VBQW9FO0FBQ3BFLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLENBQUMsT0FBZ0IsRUFBeUMsRUFBRTtJQUM5RixPQUFPLE9BQU8sV0FBVyxLQUFLLFdBQVc7V0FDcEMsT0FBTyxPQUFPLEtBQUssVUFBVTtXQUM3QixPQUFPLENBQUMsU0FBUyxZQUFZLFdBQVcsQ0FBQztBQUNoRCxDQUFDLENBQUM7QUFFRixrREFBa0Q7QUFDbEQsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsQ0FBQyxPQUFnQixFQUFxQixFQUFFO0lBQzFFLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQ25DLE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFDRCxJQUFJLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQ25DLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFDRCxPQUFPLGNBQWMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0FBQ2pFLENBQUMsQ0FBQztBQUVGLGlFQUFpRTtBQUNqRSxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLE9BQWdCLEVBQWlCLEVBQUU7SUFDbkUsT0FBTyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0FBQ2hGLENBQUMsQ0FBQztBQUVGLG1FQUFtRTtBQUNuRSxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxDQUFDLE9BQWdCLEVBQVksRUFBRTtJQUNqRSxJQUFJLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUNuQyxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFDRCxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDO0lBQ2xDLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN2RCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLEVBQXNCLEVBQUUsQ0FBQyxPQUFPLFFBQVEsS0FBSyxRQUFRLElBQUksUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztBQUM1RyxDQUFDLENBQUM7QUFTRixNQUFNLGlCQUFpQixHQUFHLENBQUMsT0FBZ0IsRUFBVyxFQUFFO0lBQ3RELElBQUksQ0FBQyxPQUFPLElBQUksT0FBTyxPQUFPLEtBQUssUUFBUSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUN0RSxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3RDLE9BQU8sTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQ3BELE9BQU8sUUFBUSxLQUFLLFFBQVEsSUFBSSxPQUFPLFFBQVEsS0FBSyxRQUFRLENBQzdELENBQUM7QUFDSixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxDQUNuQyxXQUF5QyxFQUNuQixFQUFFO0lBQ3hCLElBQUksQ0FBQyxXQUFXLElBQUksT0FBTyxXQUFXLEtBQUssUUFBUSxJQUFJLFdBQVcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUN6RSxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxRQUFRLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN6QixLQUFLLE1BQU07WUFDVCxPQUFPLFFBQVEsQ0FBQztRQUNsQixLQUFLLE1BQU07WUFDVCxPQUFPLFFBQVEsQ0FBQztRQUNsQixLQUFLLE9BQU87WUFDVixPQUFPLFNBQVMsQ0FBQztRQUNuQixLQUFLLE1BQU07WUFDVCxPQUFPLFFBQVEsQ0FBQztRQUNsQixLQUFLLEtBQUs7WUFDUixPQUFPLE9BQU8sQ0FBQztRQUNqQjtZQUNFLE9BQU8saUJBQWlCLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUMvRCxDQUFDO0FBQ0gsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsS0FBSyxFQUN6QyxVQUE0QixFQUNILEVBQUU7SUFDM0IsT0FBTyxNQUFNLE9BQU8sQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQztBQUM3QyxDQUFDLENBQUM7QUFFRjs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxDQUFDLElBQXFCLEVBQVUsRUFBRTtJQUM1RCxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUN4QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUNELE9BQU8sQ0FBQyxDQUFDO0FBQ1gsQ0FBQyxDQUFDO0FBRUY7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsQ0FBQyxJQUFxQixFQUFFLEtBQWEsRUFBMkIsRUFBRTtJQUM5RixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUN4QixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUM7SUFDN0IsQ0FBQztJQUNELHNDQUFzQztJQUN0QyxPQUFPLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0FBQ25DLENBQUMsQ0FBQztBQUVGOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxJQUFxQixFQUFXLEVBQUU7SUFDakUsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0FBQ2hELENBQUMsQ0FBQyJ9
|
|
100
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2NjdG9vbHMuaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3RzX3dlYi9lbGVtZW50cy93Y2N0b29scy5oZWxwZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBLGtGQUFrRjtBQUNsRixNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxDQUNqQyxZQUFrQyxFQUNsQyxlQUEwQyxFQUNoQyxFQUFFO0lBQ1osTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDbEQsS0FBSyxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUUsS0FBSyxHQUFHLE9BQU8sQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQztRQUNwRCxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDL0IsSUFBSSxPQUFPLFlBQVksZUFBZTtZQUFFLE9BQU8sT0FBTyxDQUFDO1FBQ3ZELE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDbEMsSUFBSSxPQUFPLENBQUMsVUFBVTtZQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFDRCxPQUFPLElBQUksQ0FBQztBQUNkLENBQUMsQ0FBQztBQW1CRixpRkFBaUY7QUFDakYsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxPQUFnQixFQUE4QixFQUFFO0lBQy9FLElBQUksT0FBTyxPQUFPLEtBQUssVUFBVSxFQUFFLENBQUM7UUFDbEMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBQ0QsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQztXQUN4QixPQUFPLENBQUMsTUFBTSxHQUFHLENBQUM7V0FDbEIsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLFVB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
|