@oddkin/workbench 0.0.0-stage → 1.0.0-beta.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/LICENSE +21 -0
- package/README.md +36 -2
- package/dist/app/copy.d.ts +43 -0
- package/dist/app/copy.d.ts.map +1 -0
- package/dist/app/copy.js +47 -0
- package/dist/app/copy.js.map +1 -0
- package/dist/app/define.d.ts +3 -0
- package/dist/app/define.d.ts.map +1 -0
- package/dist/app/define.js +10 -0
- package/dist/app/define.js.map +1 -0
- package/dist/app/details.d.ts +22 -0
- package/dist/app/details.d.ts.map +1 -0
- package/dist/app/details.js +16 -0
- package/dist/app/details.js.map +1 -0
- package/dist/app/index.d.ts +12 -0
- package/dist/app/index.d.ts.map +1 -0
- package/dist/app/index.js +9 -0
- package/dist/app/index.js.map +1 -0
- package/dist/app/routes.d.ts +26 -0
- package/dist/app/routes.d.ts.map +1 -0
- package/dist/app/routes.js +94 -0
- package/dist/app/routes.js.map +1 -0
- package/dist/app/search.d.ts +17 -0
- package/dist/app/search.d.ts.map +1 -0
- package/dist/app/search.js +52 -0
- package/dist/app/search.js.map +1 -0
- package/dist/app/shell.d.ts +29 -0
- package/dist/app/shell.d.ts.map +1 -0
- package/dist/app/shell.js +435 -0
- package/dist/app/shell.js.map +1 -0
- package/dist/app/styles.d.ts +2 -0
- package/dist/app/styles.d.ts.map +1 -0
- package/dist/app/styles.js +373 -0
- package/dist/app/styles.js.map +1 -0
- package/dist/app/theme-studio.d.ts +12 -0
- package/dist/app/theme-studio.d.ts.map +1 -0
- package/dist/app/theme-studio.js +14 -0
- package/dist/app/theme-studio.js.map +1 -0
- package/dist/app/views.d.ts +34 -0
- package/dist/app/views.d.ts.map +1 -0
- package/dist/app/views.js +230 -0
- package/dist/app/views.js.map +1 -0
- package/dist/config/index.d.ts +170 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +148 -0
- package/dist/config/index.js.map +1 -0
- package/dist/conformance/button.d.ts +2 -0
- package/dist/conformance/button.d.ts.map +1 -0
- package/dist/conformance/button.js +233 -0
- package/dist/conformance/button.js.map +1 -0
- package/dist/conformance/index.d.ts +107 -0
- package/dist/conformance/index.d.ts.map +1 -0
- package/dist/conformance/index.js +60 -0
- package/dist/conformance/index.js.map +1 -0
- package/dist/data/build.d.ts +36 -0
- package/dist/data/build.d.ts.map +1 -0
- package/dist/data/build.js +248 -0
- package/dist/data/build.js.map +1 -0
- package/dist/data/import-map.d.ts +53 -0
- package/dist/data/import-map.d.ts.map +1 -0
- package/dist/data/import-map.js +160 -0
- package/dist/data/import-map.js.map +1 -0
- package/dist/data/index.d.ts +14 -0
- package/dist/data/index.d.ts.map +1 -0
- package/dist/data/index.js +10 -0
- package/dist/data/index.js.map +1 -0
- package/dist/data/theme-studio.d.ts +21 -0
- package/dist/data/theme-studio.d.ts.map +1 -0
- package/dist/data/theme-studio.js +116 -0
- package/dist/data/theme-studio.js.map +1 -0
- package/dist/data/types.d.ts +169 -0
- package/dist/data/types.d.ts.map +1 -0
- package/dist/data/types.js +4 -0
- package/dist/data/types.js.map +1 -0
- package/dist/examples/index.d.ts +101 -0
- package/dist/examples/index.d.ts.map +1 -0
- package/dist/examples/index.js +106 -0
- package/dist/examples/index.js.map +1 -0
- package/dist/frame/index.d.ts +9 -0
- package/dist/frame/index.d.ts.map +1 -0
- package/dist/frame/index.js +468 -0
- package/dist/frame/index.js.map +1 -0
- package/dist/internal/diagnostics.d.ts +17 -0
- package/dist/internal/diagnostics.d.ts.map +1 -0
- package/dist/internal/diagnostics.js +19 -0
- package/dist/internal/diagnostics.js.map +1 -0
- package/dist/node/bin.d.ts +3 -0
- package/dist/node/bin.d.ts.map +1 -0
- package/dist/node/bin.js +12 -0
- package/dist/node/bin.js.map +1 -0
- package/dist/node/cli.d.ts +17 -0
- package/dist/node/cli.d.ts.map +1 -0
- package/dist/node/cli.js +198 -0
- package/dist/node/cli.js.map +1 -0
- package/dist/node/config.d.ts +28 -0
- package/dist/node/config.d.ts.map +1 -0
- package/dist/node/config.js +80 -0
- package/dist/node/config.js.map +1 -0
- package/dist/node/generated.d.ts +19 -0
- package/dist/node/generated.d.ts.map +1 -0
- package/dist/node/generated.js +109 -0
- package/dist/node/generated.js.map +1 -0
- package/dist/node/html.d.ts +35 -0
- package/dist/node/html.d.ts.map +1 -0
- package/dist/node/html.js +51 -0
- package/dist/node/html.js.map +1 -0
- package/dist/node/index.d.ts +24 -0
- package/dist/node/index.d.ts.map +1 -0
- package/dist/node/index.js +15 -0
- package/dist/node/index.js.map +1 -0
- package/dist/node/inputs.d.ts +24 -0
- package/dist/node/inputs.d.ts.map +1 -0
- package/dist/node/inputs.js +259 -0
- package/dist/node/inputs.js.map +1 -0
- package/dist/node/packages.d.ts +35 -0
- package/dist/node/packages.d.ts.map +1 -0
- package/dist/node/packages.js +87 -0
- package/dist/node/packages.js.map +1 -0
- package/dist/node/preload.d.ts +10 -0
- package/dist/node/preload.d.ts.map +1 -0
- package/dist/node/preload.js +61 -0
- package/dist/node/preload.js.map +1 -0
- package/dist/node/server.d.ts +42 -0
- package/dist/node/server.d.ts.map +1 -0
- package/dist/node/server.js +369 -0
- package/dist/node/server.js.map +1 -0
- package/dist/node/static.d.ts +33 -0
- package/dist/node/static.d.ts.map +1 -0
- package/dist/node/static.js +141 -0
- package/dist/node/static.js.map +1 -0
- package/dist/node/workbench.d.ts +43 -0
- package/dist/node/workbench.d.ts.map +1 -0
- package/dist/node/workbench.js +183 -0
- package/dist/node/workbench.js.map +1 -0
- package/dist/pages/build.d.ts +22 -0
- package/dist/pages/build.d.ts.map +1 -0
- package/dist/pages/build.js +363 -0
- package/dist/pages/build.js.map +1 -0
- package/dist/pages/defaults.d.ts +16 -0
- package/dist/pages/defaults.d.ts.map +1 -0
- package/dist/pages/defaults.js +88 -0
- package/dist/pages/defaults.js.map +1 -0
- package/dist/pages/index.d.ts +14 -0
- package/dist/pages/index.d.ts.map +1 -0
- package/dist/pages/index.js +10 -0
- package/dist/pages/index.js.map +1 -0
- package/dist/pages/navigation.d.ts +48 -0
- package/dist/pages/navigation.d.ts.map +1 -0
- package/dist/pages/navigation.js +83 -0
- package/dist/pages/navigation.js.map +1 -0
- package/dist/pages/types.d.ts +143 -0
- package/dist/pages/types.d.ts.map +1 -0
- package/dist/pages/types.js +3 -0
- package/dist/pages/types.js.map +1 -0
- package/dist/panels/catalog-define.d.ts +3 -0
- package/dist/panels/catalog-define.d.ts.map +1 -0
- package/dist/panels/catalog-define.js +7 -0
- package/dist/panels/catalog-define.js.map +1 -0
- package/dist/panels/catalog.d.ts +33 -0
- package/dist/panels/catalog.d.ts.map +1 -0
- package/dist/panels/catalog.js +54 -0
- package/dist/panels/catalog.js.map +1 -0
- package/dist/panels/component-define.d.ts +3 -0
- package/dist/panels/component-define.d.ts.map +1 -0
- package/dist/panels/component-define.js +6 -0
- package/dist/panels/component-define.js.map +1 -0
- package/dist/panels/component-detail.d.ts +46 -0
- package/dist/panels/component-detail.d.ts.map +1 -0
- package/dist/panels/component-detail.js +1120 -0
- package/dist/panels/component-detail.js.map +1 -0
- package/dist/panels/component.d.ts +17 -0
- package/dist/panels/component.d.ts.map +1 -0
- package/dist/panels/component.js +10 -0
- package/dist/panels/component.js.map +1 -0
- package/dist/panels/foundation-define.d.ts +3 -0
- package/dist/panels/foundation-define.d.ts.map +1 -0
- package/dist/panels/foundation-define.js +6 -0
- package/dist/panels/foundation-define.js.map +1 -0
- package/dist/panels/foundation-detail.d.ts +23 -0
- package/dist/panels/foundation-detail.d.ts.map +1 -0
- package/dist/panels/foundation-detail.js +216 -0
- package/dist/panels/foundation-detail.js.map +1 -0
- package/dist/panels/foundation.d.ts +15 -0
- package/dist/panels/foundation.d.ts.map +1 -0
- package/dist/panels/foundation.js +9 -0
- package/dist/panels/foundation.js.map +1 -0
- package/dist/panels/model.d.ts +173 -0
- package/dist/panels/model.d.ts.map +1 -0
- package/dist/panels/model.js +462 -0
- package/dist/panels/model.js.map +1 -0
- package/dist/panels/styles.d.ts +3 -0
- package/dist/panels/styles.d.ts.map +1 -0
- package/dist/panels/styles.js +316 -0
- package/dist/panels/styles.js.map +1 -0
- package/dist/panels/theme-model.d.ts +49 -0
- package/dist/panels/theme-model.d.ts.map +1 -0
- package/dist/panels/theme-model.js +146 -0
- package/dist/panels/theme-model.js.map +1 -0
- package/dist/panels/theme-studio.d.ts +32 -0
- package/dist/panels/theme-studio.d.ts.map +1 -0
- package/dist/panels/theme-studio.js +312 -0
- package/dist/panels/theme-studio.js.map +1 -0
- package/dist/preview/frame.d.ts +44 -0
- package/dist/preview/frame.d.ts.map +1 -0
- package/dist/preview/frame.js +250 -0
- package/dist/preview/frame.js.map +1 -0
- package/dist/preview/index.d.ts +26 -0
- package/dist/preview/index.d.ts.map +1 -0
- package/dist/preview/index.js +58 -0
- package/dist/preview/index.js.map +1 -0
- package/dist/preview/theme-generation.d.ts +33 -0
- package/dist/preview/theme-generation.d.ts.map +1 -0
- package/dist/preview/theme-generation.js +48 -0
- package/dist/preview/theme-generation.js.map +1 -0
- package/dist/protocol/index.d.ts +207 -0
- package/dist/protocol/index.d.ts.map +1 -0
- package/dist/protocol/index.js +261 -0
- package/dist/protocol/index.js.map +1 -0
- package/dist/testing/index.d.ts +47 -0
- package/dist/testing/index.d.ts.map +1 -0
- package/dist/testing/index.js +145 -0
- package/dist/testing/index.js.map +1 -0
- package/package.json +118 -4
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../src/panels/model.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,462 @@
|
|
|
1
|
+
import { isJsonValue } from '../protocol/index.js';
|
|
2
|
+
const isRecord = (value) => typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
3
|
+
const text = (value) => typeof value === 'string' && value.trim() ? value : undefined;
|
|
4
|
+
const list = (value) => Array.isArray(value) ? value.filter(isRecord) : [];
|
|
5
|
+
/** Split a type at top-level `|`, ignoring separators inside brackets, braces, and quotes. */
|
|
6
|
+
export function unionMembers(type) {
|
|
7
|
+
const parts = [];
|
|
8
|
+
let depth = 0;
|
|
9
|
+
let quote = '';
|
|
10
|
+
let current = '';
|
|
11
|
+
for (const char of type) {
|
|
12
|
+
if (quote) {
|
|
13
|
+
if (char === quote)
|
|
14
|
+
quote = '';
|
|
15
|
+
}
|
|
16
|
+
else if (char === '"' || char === "'" || char === '`')
|
|
17
|
+
quote = char;
|
|
18
|
+
else if ('([{<'.includes(char))
|
|
19
|
+
depth++;
|
|
20
|
+
else if (')]}>'.includes(char))
|
|
21
|
+
depth--;
|
|
22
|
+
else if (char === '|' && depth === 0) {
|
|
23
|
+
parts.push(current.trim());
|
|
24
|
+
current = '';
|
|
25
|
+
continue;
|
|
26
|
+
}
|
|
27
|
+
current += char;
|
|
28
|
+
}
|
|
29
|
+
if (current.trim())
|
|
30
|
+
parts.push(current.trim());
|
|
31
|
+
return parts;
|
|
32
|
+
}
|
|
33
|
+
const LITERAL = /^(["'])(.*)\1$/;
|
|
34
|
+
/** The control a declared type supports (workbench.md §4); unknown shapes require a fixture. */
|
|
35
|
+
export function classifyType(type) {
|
|
36
|
+
const members = unionMembers(type);
|
|
37
|
+
const nullable = members.includes('null');
|
|
38
|
+
const rest = members.filter((m) => m !== 'null' && m !== 'undefined');
|
|
39
|
+
if (!rest.length)
|
|
40
|
+
return { control: 'fixture', nullable };
|
|
41
|
+
const literals = rest.map((m) => LITERAL.exec(m)?.[2]);
|
|
42
|
+
if (literals.every((v) => v !== undefined))
|
|
43
|
+
return { control: 'enum', values: literals, nullable };
|
|
44
|
+
if (rest.length === 1) {
|
|
45
|
+
const only = rest[0];
|
|
46
|
+
if (only === 'boolean')
|
|
47
|
+
return { control: 'boolean', nullable };
|
|
48
|
+
if (only === 'string')
|
|
49
|
+
return { control: 'string', nullable };
|
|
50
|
+
if (only === 'number')
|
|
51
|
+
return { control: 'number', nullable };
|
|
52
|
+
if (/^(readonly\s+)?(string|number|boolean)\[\]$/.test(only))
|
|
53
|
+
return { control: 'json', nullable };
|
|
54
|
+
}
|
|
55
|
+
return { control: 'fixture', nullable };
|
|
56
|
+
}
|
|
57
|
+
/** Columns and controls of the editable API table, from the CEM declaration and enrichment. */
|
|
58
|
+
export function componentFacts(page) {
|
|
59
|
+
const declaration = page.declaration;
|
|
60
|
+
const enrichment = page.enrichment ?? {};
|
|
61
|
+
const propertyOnly = new Set(list(enrichment['propertyOnly']).flatMap((entry) => {
|
|
62
|
+
const id = text(entry['property']);
|
|
63
|
+
return id ? [id.slice(id.indexOf('#') + 1)] : [];
|
|
64
|
+
}));
|
|
65
|
+
const rows = [];
|
|
66
|
+
const covered = new Set();
|
|
67
|
+
for (const member of list(declaration['members'])) {
|
|
68
|
+
if (member['kind'] !== 'field' || member['static'] === true)
|
|
69
|
+
continue;
|
|
70
|
+
if (member['privacy'] === 'private' || member['privacy'] === 'protected')
|
|
71
|
+
continue;
|
|
72
|
+
const name = text(member['name']);
|
|
73
|
+
if (!name || name.startsWith('#') || name.startsWith('_'))
|
|
74
|
+
continue;
|
|
75
|
+
const type = text(isRecord(member['type']) ? member['type']['text'] : undefined) ?? 'unknown';
|
|
76
|
+
const attribute = text(member['attribute']);
|
|
77
|
+
if (attribute)
|
|
78
|
+
covered.add(attribute);
|
|
79
|
+
const classified = classifyType(type);
|
|
80
|
+
const readonly = member['readonly'] === true;
|
|
81
|
+
const defaultValue = text(member['default']);
|
|
82
|
+
const description = text(member['description']);
|
|
83
|
+
rows.push({
|
|
84
|
+
id: `property:${page.tag}#${name}`,
|
|
85
|
+
property: name,
|
|
86
|
+
...(attribute ? { attribute } : {}),
|
|
87
|
+
reflects: member['reflects'] === true,
|
|
88
|
+
type,
|
|
89
|
+
control: readonly ? 'readonly' : classified.control,
|
|
90
|
+
...(classified.values ? { values: classified.values } : {}),
|
|
91
|
+
nullable: classified.nullable,
|
|
92
|
+
...(defaultValue ? { default: defaultValue } : {}),
|
|
93
|
+
...(description ? { description } : {}),
|
|
94
|
+
propertyOnly: propertyOnly.has(name),
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
for (const attr of list(declaration['attributes'])) {
|
|
98
|
+
const name = text(attr['name']);
|
|
99
|
+
if (!name || covered.has(name) || text(attr['fieldName']))
|
|
100
|
+
continue;
|
|
101
|
+
const type = text(isRecord(attr['type']) ? attr['type']['text'] : undefined) ?? 'string';
|
|
102
|
+
const classified = classifyType(type);
|
|
103
|
+
const defaultValue = text(attr['default']);
|
|
104
|
+
const description = text(attr['description']);
|
|
105
|
+
rows.push({
|
|
106
|
+
id: `property:${page.tag}#${name}`,
|
|
107
|
+
attribute: name,
|
|
108
|
+
reflects: false,
|
|
109
|
+
type,
|
|
110
|
+
// An attribute is always a string or a boolean presence.
|
|
111
|
+
control: classified.control === 'boolean' || classified.control === 'enum'
|
|
112
|
+
? classified.control
|
|
113
|
+
: 'string',
|
|
114
|
+
...(classified.values ? { values: classified.values } : {}),
|
|
115
|
+
nullable: false,
|
|
116
|
+
...(defaultValue ? { default: defaultValue } : {}),
|
|
117
|
+
...(description ? { description } : {}),
|
|
118
|
+
propertyOnly: false,
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
const named = (value) => list(value).flatMap((entry) => {
|
|
122
|
+
const name = typeof entry['name'] === 'string' ? entry['name'] : undefined;
|
|
123
|
+
if (name === undefined)
|
|
124
|
+
return [];
|
|
125
|
+
const description = text(entry['description']);
|
|
126
|
+
const type = text(isRecord(entry['type']) ? entry['type']['text'] : undefined);
|
|
127
|
+
return [{ name, ...(description ? { description } : {}), ...(type ? { type } : {}) }];
|
|
128
|
+
});
|
|
129
|
+
const methods = named(list(declaration['members']).filter((m) => m['kind'] === 'method' &&
|
|
130
|
+
m['static'] !== true &&
|
|
131
|
+
m['privacy'] !== 'private' &&
|
|
132
|
+
m['privacy'] !== 'protected'));
|
|
133
|
+
const syncPairs = list(enrichment['syncPairs']).flatMap((pair) => {
|
|
134
|
+
const property = text(pair['property']);
|
|
135
|
+
const event = text(pair['event']);
|
|
136
|
+
return property && event ? [{ property, event }] : [];
|
|
137
|
+
});
|
|
138
|
+
return {
|
|
139
|
+
rows,
|
|
140
|
+
events: named(declaration['events']),
|
|
141
|
+
slots: named(declaration['slots']),
|
|
142
|
+
methods,
|
|
143
|
+
parts: named(declaration['cssParts']),
|
|
144
|
+
cssProperties: named(declaration['cssProperties']),
|
|
145
|
+
cssStates: named(declaration['cssStates']),
|
|
146
|
+
syncPairs,
|
|
147
|
+
};
|
|
148
|
+
}
|
|
149
|
+
/** The write a row's control uses by default: the attribute when one exists, unless property-only. */
|
|
150
|
+
export function defaultWriteMode(row) {
|
|
151
|
+
if (!row.property)
|
|
152
|
+
return 'attribute';
|
|
153
|
+
if (!row.attribute || row.propertyOnly || row.control === 'json')
|
|
154
|
+
return 'property';
|
|
155
|
+
return 'attribute';
|
|
156
|
+
}
|
|
157
|
+
const EMPTY_STATE = { preset: 'default', attributes: {}, properties: {}, slots: {} };
|
|
158
|
+
function stateFrom(name, values) {
|
|
159
|
+
const props = isRecord(values['props']) ? values['props'] : {};
|
|
160
|
+
const attributes = isRecord(values['attributes']) ? values['attributes'] : {};
|
|
161
|
+
const slots = isRecord(values['slots']) ? values['slots'] : {};
|
|
162
|
+
if (!isJsonValue(props))
|
|
163
|
+
return undefined;
|
|
164
|
+
const stringAttributes = {};
|
|
165
|
+
for (const [key, value] of Object.entries(attributes))
|
|
166
|
+
if (typeof value === 'string')
|
|
167
|
+
stringAttributes[key] = value;
|
|
168
|
+
const stringSlots = {};
|
|
169
|
+
for (const [key, value] of Object.entries(slots))
|
|
170
|
+
if (typeof value === 'string')
|
|
171
|
+
stringSlots[key === 'default' ? '' : key] = value;
|
|
172
|
+
return {
|
|
173
|
+
preset: name,
|
|
174
|
+
attributes: stringAttributes,
|
|
175
|
+
properties: props,
|
|
176
|
+
slots: stringSlots,
|
|
177
|
+
};
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* Presets from authored examples (`defineExamples`). Values come from the published example
|
|
181
|
+
* definition (`definition`); without it the example is listed but cannot be applied.
|
|
182
|
+
*/
|
|
183
|
+
export function presets(page) {
|
|
184
|
+
return page.examples.flatMap((example) => {
|
|
185
|
+
const name = text(example['name']);
|
|
186
|
+
const id = text(example['id']);
|
|
187
|
+
if (!name || !id)
|
|
188
|
+
return [];
|
|
189
|
+
const definition = isRecord(example['definition']) ? example['definition'] : undefined;
|
|
190
|
+
const requiresFixture = definition?.['hasFixture'] === true;
|
|
191
|
+
const state = definition && !requiresFixture ? stateFrom(name, definition) : undefined;
|
|
192
|
+
const incorrect = isRecord(definition?.['incorrect'])
|
|
193
|
+
? definition['incorrect']
|
|
194
|
+
: isRecord(example['incorrect'])
|
|
195
|
+
? example['incorrect']
|
|
196
|
+
: undefined;
|
|
197
|
+
const label = text(definition?.['label']) ?? name;
|
|
198
|
+
const guidance = text(definition?.['guidance']);
|
|
199
|
+
const explanation = text(incorrect?.['explanation']);
|
|
200
|
+
const correct = text(incorrect?.['correct']);
|
|
201
|
+
return [
|
|
202
|
+
{
|
|
203
|
+
name,
|
|
204
|
+
id,
|
|
205
|
+
label,
|
|
206
|
+
...(state ? { state } : {}),
|
|
207
|
+
preset: definition?.['preset'] === true,
|
|
208
|
+
requiresFixture,
|
|
209
|
+
...(guidance ? { guidance } : {}),
|
|
210
|
+
...(incorrect
|
|
211
|
+
? {
|
|
212
|
+
incorrect: {
|
|
213
|
+
...(explanation ? { explanation } : {}),
|
|
214
|
+
...(correct ? { correct } : {}),
|
|
215
|
+
},
|
|
216
|
+
}
|
|
217
|
+
: {}),
|
|
218
|
+
},
|
|
219
|
+
];
|
|
220
|
+
});
|
|
221
|
+
}
|
|
222
|
+
/** The state a page starts from: its `default` example when published, otherwise nothing set. */
|
|
223
|
+
export function initialState(page) {
|
|
224
|
+
const entries = presets(page);
|
|
225
|
+
const first = entries.find((p) => p.name === 'default' && p.state) ??
|
|
226
|
+
entries.find((p) => p.preset && !p.incorrect && p.state);
|
|
227
|
+
return first?.state ?? EMPTY_STATE;
|
|
228
|
+
}
|
|
229
|
+
/** Authored metadata values (`{ value, provenance }` records or plain strings) as text. */
|
|
230
|
+
export const authoredValues = (value) => Array.isArray(value)
|
|
231
|
+
? value.flatMap((entry) => typeof entry === 'string'
|
|
232
|
+
? [entry]
|
|
233
|
+
: isRecord(entry) && typeof entry['value'] === 'string'
|
|
234
|
+
? [entry['value']]
|
|
235
|
+
: [])
|
|
236
|
+
: [];
|
|
237
|
+
/** Intended use: authored content (`oddkin.docs.ts`) over the enrichment's `@useFor`/`@notFor`. */
|
|
238
|
+
export function intendedUse(page) {
|
|
239
|
+
return {
|
|
240
|
+
useFor: page.authored?.useFor ?? authoredValues(page.enrichment?.['useFor']),
|
|
241
|
+
notFor: page.authored?.notFor ?? authoredValues(page.enrichment?.['notFor']),
|
|
242
|
+
};
|
|
243
|
+
}
|
|
244
|
+
export function usagePairs(page) {
|
|
245
|
+
const entries = presets(page);
|
|
246
|
+
return entries.flatMap((incorrect) => {
|
|
247
|
+
if (!incorrect.incorrect)
|
|
248
|
+
return [];
|
|
249
|
+
const ref = incorrect.incorrect.correct;
|
|
250
|
+
const correct = ref
|
|
251
|
+
? entries.find((e) => !e.incorrect && (e.name === ref || e.id === ref))
|
|
252
|
+
: undefined;
|
|
253
|
+
return [{ incorrect, ...(correct ? { correct } : {}) }];
|
|
254
|
+
});
|
|
255
|
+
}
|
|
256
|
+
const EXAMPLES_SOURCE = 'an example set (defineExamples)';
|
|
257
|
+
const REGISTRATION_SOURCE = 'the registration entry in oddkin.metadata.json';
|
|
258
|
+
/**
|
|
259
|
+
* Every item a component's detail page shows, in page order, and how it is shown. The panel
|
|
260
|
+
* renders from this, and the coverage check walks it for every component (workbench-pages.md §7).
|
|
261
|
+
*/
|
|
262
|
+
export function pageCoverage(page) {
|
|
263
|
+
const facts = componentFacts(page);
|
|
264
|
+
const entries = presets(page);
|
|
265
|
+
const { useFor, notFor } = intendedUse(page);
|
|
266
|
+
const enrichment = page.enrichment ?? {};
|
|
267
|
+
const registered = typeof enrichment['registration'] === 'string';
|
|
268
|
+
const description = text(page.declaration['description']);
|
|
269
|
+
const items = [];
|
|
270
|
+
const item = (id, state, extra = {}) => items.push({ id, section: id.slice(0, id.indexOf('/')), state, ...extra });
|
|
271
|
+
const documented = (id, present, source, subject) => item(id, present ? 'documented' : 'missing', {
|
|
272
|
+
...(present ? {} : { source }),
|
|
273
|
+
...(subject ? { subject } : {}),
|
|
274
|
+
});
|
|
275
|
+
const declared = (id, list, empty) => {
|
|
276
|
+
const undocumented = list
|
|
277
|
+
.filter((entry) => !entry.description)
|
|
278
|
+
.map((entry) => 'name' in entry ? entry.name || '(default)' : (entry.property ?? entry.attribute ?? ''));
|
|
279
|
+
item(id, list.length ? 'documented' : 'none', {
|
|
280
|
+
...(list.length ? {} : { empty }),
|
|
281
|
+
...(undocumented.length ? { undocumented } : {}),
|
|
282
|
+
});
|
|
283
|
+
};
|
|
284
|
+
documented('overview/description', Boolean(description), 'a JSDoc description on the class');
|
|
285
|
+
documented('overview/imports', registered, REGISTRATION_SOURCE);
|
|
286
|
+
documented('interactive-example/presets', entries.some((p) => p.state && !p.incorrect), EXAMPLES_SOURCE, 'Presets');
|
|
287
|
+
documented('interactive-example/preview', registered, REGISTRATION_SOURCE, 'Preview');
|
|
288
|
+
declared('api/properties', facts.rows, 'No properties or attributes are declared.');
|
|
289
|
+
declared('api/slots', facts.slots, 'None declared.');
|
|
290
|
+
declared('api/events', facts.events, 'None declared.');
|
|
291
|
+
declared('api/methods', facts.methods, 'None declared.');
|
|
292
|
+
declared('api/parts', facts.parts, 'None declared.');
|
|
293
|
+
declared('api/css-properties', facts.cssProperties, 'None declared.');
|
|
294
|
+
declared('api/css-states', facts.cssStates, 'None declared.');
|
|
295
|
+
documented('examples/examples', entries.length > 0, EXAMPLES_SOURCE);
|
|
296
|
+
const mappings = list(enrichment['styleMappings']);
|
|
297
|
+
item('tokens/style-mappings', mappings.length ? 'documented' : 'none', {
|
|
298
|
+
...(mappings.length ? {} : { empty: 'No style mappings are declared.' }),
|
|
299
|
+
});
|
|
300
|
+
const reads = list(enrichment['tokenReads']);
|
|
301
|
+
item('tokens/token-reads', reads.length ? 'documented' : 'none', {
|
|
302
|
+
...(reads.length ? {} : { empty: 'No token reads are declared.' }),
|
|
303
|
+
});
|
|
304
|
+
documented('behavior-and-accessibility/a11y', authoredValues(enrichment['a11y']).length > 0, '@a11y');
|
|
305
|
+
documented('behavior-and-accessibility/keyboard', authoredValues(enrichment['keyboard']).length > 0, '@keyboard');
|
|
306
|
+
if (page.authored?.guidance)
|
|
307
|
+
item('guidance/authored', 'documented');
|
|
308
|
+
documented('guidance/use-for', useFor.length > 0, '@useFor');
|
|
309
|
+
documented('guidance/not-for', notFor.length > 0, '@notFor');
|
|
310
|
+
documented('guidance/usage-pairs', entries.some((p) => p.incorrect), 'an incorrect example that names its correct one (`incorrect` in defineExamples)');
|
|
311
|
+
item('source/module', 'documented');
|
|
312
|
+
const limitations = authoredValues(enrichment['limitations']);
|
|
313
|
+
item('known-limitations/limitations', limitations.length ? 'documented' : 'none', {
|
|
314
|
+
...(limitations.length ? {} : { empty: 'None documented.' }),
|
|
315
|
+
});
|
|
316
|
+
return items;
|
|
317
|
+
}
|
|
318
|
+
const escapeHtml = (value) => value.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"');
|
|
319
|
+
/**
|
|
320
|
+
* Plain HTML and JavaScript that reproduce a state: the public registration entry, attributes,
|
|
321
|
+
* property assignments by script, slot content, declared-event listeners, and preview scopes.
|
|
322
|
+
*/
|
|
323
|
+
export function snippet(page, state, options = {}) {
|
|
324
|
+
const registration = text(page.enrichment?.['registration']);
|
|
325
|
+
const attrs = Object.entries(state.attributes).map(([name, value]) => value === '' ? ` ${name}` : ` ${name}="${escapeHtml(value)}"`);
|
|
326
|
+
const scope = [];
|
|
327
|
+
if (options.settings?.mode)
|
|
328
|
+
scope.push(` data-odd-mode="${options.settings.mode}"`);
|
|
329
|
+
if (options.settings?.direction)
|
|
330
|
+
scope.push(` dir="${options.settings.direction}"`);
|
|
331
|
+
const children = Object.entries(state.slots).map(([name, value]) => name
|
|
332
|
+
? ` <span slot="${escapeHtml(name)}">${escapeHtml(value)}</span>`
|
|
333
|
+
: ` ${escapeHtml(value)}`);
|
|
334
|
+
const element = children.length
|
|
335
|
+
? `<${page.tag}${attrs.join('')}>\n${children.join('\n')}\n</${page.tag}>`
|
|
336
|
+
: `<${page.tag}${attrs.join('')}></${page.tag}>`;
|
|
337
|
+
const markup = scope.length
|
|
338
|
+
? `<div${scope.join('')}>\n${element
|
|
339
|
+
.split('\n')
|
|
340
|
+
.map((line) => ` ${line}`)
|
|
341
|
+
.join('\n')}\n</div>`
|
|
342
|
+
: element;
|
|
343
|
+
const lines = ['<script type="module">'];
|
|
344
|
+
if (registration)
|
|
345
|
+
lines.push(` import '${registration}';`);
|
|
346
|
+
else
|
|
347
|
+
lines.push(` // No registration entry is published for <${page.tag}>; import its define module.`);
|
|
348
|
+
const properties = Object.entries(state.properties);
|
|
349
|
+
const events = options.events ?? componentFacts(page).events.map((e) => e.name);
|
|
350
|
+
if (properties.length || events.length) {
|
|
351
|
+
lines.push('', ` const element = document.querySelector('${page.tag}');`);
|
|
352
|
+
for (const [name, value] of properties)
|
|
353
|
+
lines.push(` element.${name} = ${JSON.stringify(value)};`);
|
|
354
|
+
for (const name of events)
|
|
355
|
+
lines.push(` element.addEventListener('${name}', (event) => console.log(event.type, event.detail));`);
|
|
356
|
+
}
|
|
357
|
+
lines.push('</script>');
|
|
358
|
+
return `${lines.join('\n')}\n${markup}\n`;
|
|
359
|
+
}
|
|
360
|
+
export const SHARE_VERSION = 1;
|
|
361
|
+
export const SHARE_PARAM = 'preview';
|
|
362
|
+
/** Narrowest numeric preview width a share link carries (share-payload.v1). */
|
|
363
|
+
export const MIN_SHARE_WIDTH = 160;
|
|
364
|
+
export const MAX_SHARE_WIDTH = 4096;
|
|
365
|
+
const toBase64Url = (value) => {
|
|
366
|
+
const bytes = new TextEncoder().encode(value);
|
|
367
|
+
let binary = '';
|
|
368
|
+
for (const byte of bytes)
|
|
369
|
+
binary += String.fromCharCode(byte);
|
|
370
|
+
return btoa(binary).replace(/\+/g, '-').replace(/\//g, '_').replace(/=+$/, '');
|
|
371
|
+
};
|
|
372
|
+
const fromBase64Url = (value) => {
|
|
373
|
+
const binary = atob(value.replace(/-/g, '+').replace(/_/g, '/'));
|
|
374
|
+
return new TextDecoder().decode(Uint8Array.from(binary, (c) => c.charCodeAt(0)));
|
|
375
|
+
};
|
|
376
|
+
/** The share payload for a component's preview state. */
|
|
377
|
+
export function sharePayload(tag, state, preview) {
|
|
378
|
+
const slots = {};
|
|
379
|
+
for (const [name, text] of Object.entries(state.slots))
|
|
380
|
+
slots[name || 'default'] = text;
|
|
381
|
+
return {
|
|
382
|
+
v: SHARE_VERSION,
|
|
383
|
+
kind: 'component',
|
|
384
|
+
component: tag,
|
|
385
|
+
preset: state.preset,
|
|
386
|
+
...(Object.keys(state.properties).length ? { props: state.properties } : {}),
|
|
387
|
+
...(Object.keys(state.attributes).length ? { attributes: state.attributes } : {}),
|
|
388
|
+
...(Object.keys(slots).length ? { slots } : {}),
|
|
389
|
+
...(preview ? { preview } : {}),
|
|
390
|
+
};
|
|
391
|
+
}
|
|
392
|
+
export function encodeShare(payload) {
|
|
393
|
+
return toBase64Url(JSON.stringify(payload));
|
|
394
|
+
}
|
|
395
|
+
/**
|
|
396
|
+
* Decode and validate a share link against the page's contract. Names the component does not
|
|
397
|
+
* declare are dropped and reported, so a stale link never writes undeclared properties.
|
|
398
|
+
*/
|
|
399
|
+
export function decodeShare(page, encoded) {
|
|
400
|
+
let value;
|
|
401
|
+
try {
|
|
402
|
+
value = JSON.parse(fromBase64Url(encoded));
|
|
403
|
+
}
|
|
404
|
+
catch {
|
|
405
|
+
return { problems: ['The preview link is not valid.'] };
|
|
406
|
+
}
|
|
407
|
+
if (!isRecord(value) || value['v'] !== SHARE_VERSION || value['kind'] !== 'component')
|
|
408
|
+
return { problems: ['The preview link uses an unsupported version.'] };
|
|
409
|
+
if (value['component'] !== page.tag)
|
|
410
|
+
return { problems: ['The preview link is for another component.'] };
|
|
411
|
+
const facts = componentFacts(page);
|
|
412
|
+
const properties = new Set(facts.rows.flatMap((r) => r.property && r.control !== 'readonly' && r.control !== 'fixture' ? [r.property] : []));
|
|
413
|
+
const attributes = new Set(facts.rows.flatMap((r) => (r.attribute ? [r.attribute] : [])));
|
|
414
|
+
const slots = new Set(facts.slots.map((s) => s.name || 'default'));
|
|
415
|
+
const problems = [];
|
|
416
|
+
const pick = (source, allowed, check, kind) => {
|
|
417
|
+
const out = {};
|
|
418
|
+
if (!isRecord(source))
|
|
419
|
+
return out;
|
|
420
|
+
for (const [key, entry] of Object.entries(source)) {
|
|
421
|
+
if (!allowed.has(key) || !check(entry))
|
|
422
|
+
problems.push(`Ignored ${kind} "${key}".`);
|
|
423
|
+
else
|
|
424
|
+
out[key] = entry;
|
|
425
|
+
}
|
|
426
|
+
return out;
|
|
427
|
+
};
|
|
428
|
+
const isString = (v) => typeof v === 'string';
|
|
429
|
+
const slotText = {};
|
|
430
|
+
for (const [name, text] of Object.entries(pick(value['slots'], slots, isString, 'slot')))
|
|
431
|
+
slotText[name === 'default' ? '' : name] = text;
|
|
432
|
+
const preview = isRecord(value['preview']) ? sanitizePreview(value['preview']) : undefined;
|
|
433
|
+
return {
|
|
434
|
+
state: {
|
|
435
|
+
preset: typeof value['preset'] === 'string' ? value['preset'] : 'default',
|
|
436
|
+
attributes: pick(value['attributes'], attributes, isString, 'attribute'),
|
|
437
|
+
properties: pick(value['props'], properties, isJsonValue, 'property'),
|
|
438
|
+
slots: slotText,
|
|
439
|
+
},
|
|
440
|
+
...(preview ? { preview } : {}),
|
|
441
|
+
problems,
|
|
442
|
+
};
|
|
443
|
+
}
|
|
444
|
+
function sanitizePreview(preview) {
|
|
445
|
+
const out = {};
|
|
446
|
+
if (preview['mode'] === 'light' || preview['mode'] === 'dark')
|
|
447
|
+
out.mode = preview['mode'];
|
|
448
|
+
if (preview['direction'] === 'ltr' || preview['direction'] === 'rtl')
|
|
449
|
+
out.direction = preview['direction'];
|
|
450
|
+
const width = preview['width'];
|
|
451
|
+
if (width === 'fill')
|
|
452
|
+
out.width = 'fill';
|
|
453
|
+
else if (typeof width === 'number' &&
|
|
454
|
+
Number.isInteger(width) &&
|
|
455
|
+
width >= MIN_SHARE_WIDTH &&
|
|
456
|
+
width <= MAX_SHARE_WIDTH)
|
|
457
|
+
out.width = width;
|
|
458
|
+
if (preview['sameAsSite'] === true)
|
|
459
|
+
out.sameAsSite = true;
|
|
460
|
+
return out;
|
|
461
|
+
}
|
|
462
|
+
//# sourceMappingURL=model.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/panels/model.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../src/panels/styles.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,eAAe,yCAQ3B,CAAC;AAEF,eAAO,MAAM,aAAa,yCA2SzB,CAAC"}
|