@oddkin/workbench 1.0.0-beta.0 → 1.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (113) hide show
  1. package/README.md +33 -3
  2. package/dist/app/card-previews.d.ts +14 -0
  3. package/dist/app/card-previews.d.ts.map +1 -0
  4. package/dist/app/card-previews.js +140 -0
  5. package/dist/app/card-previews.js.map +1 -0
  6. package/dist/app/copy.d.ts +6 -1
  7. package/dist/app/copy.d.ts.map +1 -1
  8. package/dist/app/copy.js +6 -1
  9. package/dist/app/copy.js.map +1 -1
  10. package/dist/app/details.d.ts.map +1 -1
  11. package/dist/app/details.js +2 -1
  12. package/dist/app/details.js.map +1 -1
  13. package/dist/app/routes.d.ts +1 -1
  14. package/dist/app/routes.d.ts.map +1 -1
  15. package/dist/app/routes.js +5 -3
  16. package/dist/app/routes.js.map +1 -1
  17. package/dist/app/shell.d.ts +1 -1
  18. package/dist/app/shell.d.ts.map +1 -1
  19. package/dist/app/shell.js +46 -3
  20. package/dist/app/shell.js.map +1 -1
  21. package/dist/app/styles.d.ts.map +1 -1
  22. package/dist/app/styles.js +9 -26
  23. package/dist/app/styles.js.map +1 -1
  24. package/dist/app/views.d.ts +4 -0
  25. package/dist/app/views.d.ts.map +1 -1
  26. package/dist/app/views.js +47 -25
  27. package/dist/app/views.js.map +1 -1
  28. package/dist/data/build.d.ts.map +1 -1
  29. package/dist/data/build.js +13 -1
  30. package/dist/data/build.js.map +1 -1
  31. package/dist/data/import-map.d.ts +6 -0
  32. package/dist/data/import-map.d.ts.map +1 -1
  33. package/dist/data/import-map.js +35 -0
  34. package/dist/data/import-map.js.map +1 -1
  35. package/dist/data/theme-studio.d.ts.map +1 -1
  36. package/dist/data/theme-studio.js +2 -6
  37. package/dist/data/theme-studio.js.map +1 -1
  38. package/dist/data/types.d.ts +18 -0
  39. package/dist/data/types.d.ts.map +1 -1
  40. package/dist/frame/index.d.ts.map +1 -1
  41. package/dist/frame/index.js +78 -64
  42. package/dist/frame/index.js.map +1 -1
  43. package/dist/node/example-modules.d.ts +8 -0
  44. package/dist/node/example-modules.d.ts.map +1 -0
  45. package/dist/node/example-modules.js +28 -0
  46. package/dist/node/example-modules.js.map +1 -0
  47. package/dist/node/html.js +1 -1
  48. package/dist/node/index.d.ts +1 -1
  49. package/dist/node/index.d.ts.map +1 -1
  50. package/dist/node/index.js +1 -1
  51. package/dist/node/index.js.map +1 -1
  52. package/dist/node/inputs.d.ts +2 -0
  53. package/dist/node/inputs.d.ts.map +1 -1
  54. package/dist/node/inputs.js +26 -3
  55. package/dist/node/inputs.js.map +1 -1
  56. package/dist/node/server.d.ts.map +1 -1
  57. package/dist/node/server.js +56 -15
  58. package/dist/node/server.js.map +1 -1
  59. package/dist/node/static.d.ts +10 -0
  60. package/dist/node/static.d.ts.map +1 -1
  61. package/dist/node/static.js +35 -19
  62. package/dist/node/static.js.map +1 -1
  63. package/dist/node/workbench.d.ts.map +1 -1
  64. package/dist/node/workbench.js +25 -4
  65. package/dist/node/workbench.js.map +1 -1
  66. package/dist/pages/build.js +2 -2
  67. package/dist/pages/build.js.map +1 -1
  68. package/dist/pages/defaults.js +3 -3
  69. package/dist/pages/defaults.js.map +1 -1
  70. package/dist/pages/types.d.ts +5 -0
  71. package/dist/pages/types.d.ts.map +1 -1
  72. package/dist/panels/catalog-layout-styles.d.ts +2 -0
  73. package/dist/panels/catalog-layout-styles.d.ts.map +1 -0
  74. package/dist/panels/catalog-layout-styles.js +54 -0
  75. package/dist/panels/catalog-layout-styles.js.map +1 -0
  76. package/dist/panels/catalog-styles.d.ts +2 -0
  77. package/dist/panels/catalog-styles.d.ts.map +1 -0
  78. package/dist/panels/catalog-styles.js +106 -0
  79. package/dist/panels/catalog-styles.js.map +1 -0
  80. package/dist/panels/catalog.d.ts +7 -3
  81. package/dist/panels/catalog.d.ts.map +1 -1
  82. package/dist/panels/catalog.js +24 -4
  83. package/dist/panels/catalog.js.map +1 -1
  84. package/dist/panels/component-detail.d.ts +3 -0
  85. package/dist/panels/component-detail.d.ts.map +1 -1
  86. package/dist/panels/component-detail.js +488 -256
  87. package/dist/panels/component-detail.js.map +1 -1
  88. package/dist/panels/example-styles.d.ts +2 -0
  89. package/dist/panels/example-styles.d.ts.map +1 -0
  90. package/dist/panels/example-styles.js +343 -0
  91. package/dist/panels/example-styles.js.map +1 -0
  92. package/dist/panels/model.d.ts +11 -0
  93. package/dist/panels/model.d.ts.map +1 -1
  94. package/dist/panels/model.js +44 -18
  95. package/dist/panels/model.js.map +1 -1
  96. package/dist/panels/styles.d.ts.map +1 -1
  97. package/dist/panels/styles.js +2 -53
  98. package/dist/panels/styles.js.map +1 -1
  99. package/dist/panels/theme-model.d.ts +20 -0
  100. package/dist/panels/theme-model.d.ts.map +1 -1
  101. package/dist/panels/theme-model.js +20 -0
  102. package/dist/panels/theme-model.js.map +1 -1
  103. package/dist/panels/theme-studio.d.ts.map +1 -1
  104. package/dist/panels/theme-studio.js +64 -1
  105. package/dist/panels/theme-studio.js.map +1 -1
  106. package/dist/preview/frame.d.ts.map +1 -1
  107. package/dist/preview/frame.js +46 -36
  108. package/dist/preview/frame.js.map +1 -1
  109. package/dist/protocol/index.d.ts +15 -0
  110. package/dist/protocol/index.d.ts.map +1 -1
  111. package/dist/protocol/index.js +12 -1
  112. package/dist/protocol/index.js.map +1 -1
  113. package/package.json +7 -7
@@ -1,4 +1,4 @@
1
- import { isJsonValue } from '../protocol/index.js';
1
+ import { isCustomPropertyName, isJsonValue, } from '../protocol/index.js';
2
2
  const isRecord = (value) => typeof value === 'object' && value !== null && !Array.isArray(value);
3
3
  const text = (value) => typeof value === 'string' && value.trim() ? value : undefined;
4
4
  const list = (value) => Array.isArray(value) ? value.filter(isRecord) : [];
@@ -123,8 +123,16 @@ export function componentFacts(page) {
123
123
  if (name === undefined)
124
124
  return [];
125
125
  const description = text(entry['description']);
126
- const type = text(isRecord(entry['type']) ? entry['type']['text'] : undefined);
127
- return [{ name, ...(description ? { description } : {}), ...(type ? { type } : {}) }];
126
+ const type = text(isRecord(entry['type']) ? entry['type']['text'] : undefined) ?? text(entry['syntax']);
127
+ const fallback = text(entry['default']);
128
+ return [
129
+ {
130
+ name,
131
+ ...(description ? { description } : {}),
132
+ ...(type ? { type } : {}),
133
+ ...(fallback ? { default: fallback } : {}),
134
+ },
135
+ ];
128
136
  });
129
137
  const methods = named(list(declaration['members']).filter((m) => m['kind'] === 'method' &&
130
138
  m['static'] !== true &&
@@ -187,7 +195,9 @@ export function presets(page) {
187
195
  if (!name || !id)
188
196
  return [];
189
197
  const definition = isRecord(example['definition']) ? example['definition'] : undefined;
190
- const requiresFixture = definition?.['hasFixture'] === true;
198
+ const fixture = definition?.['hasFixture'] === true;
199
+ // A frame runs the fixture from the example module, when the page names one.
200
+ const requiresFixture = fixture && !page.exampleModule;
191
201
  const state = definition && !requiresFixture ? stateFrom(name, definition) : undefined;
192
202
  const incorrect = isRecord(definition?.['incorrect'])
193
203
  ? definition['incorrect']
@@ -206,6 +216,7 @@ export function presets(page) {
206
216
  ...(state ? { state } : {}),
207
217
  preset: definition?.['preset'] === true,
208
218
  requiresFixture,
219
+ fixture,
209
220
  ...(guidance ? { guidance } : {}),
210
221
  ...(incorrect
211
222
  ? {
@@ -254,7 +265,12 @@ export function usagePairs(page) {
254
265
  });
255
266
  }
256
267
  const EXAMPLES_SOURCE = 'an example set (defineExamples)';
257
- const REGISTRATION_SOURCE = 'the registration entry in oddkin.metadata.json';
268
+ const REGISTRATION_SOURCE = 'the registration entry in oddkin.metadata.json, or a custom-element-definition export in custom-elements.json';
269
+ /** The module that registers the element: the Oddkin enrichment's, else the standard CEM's. */
270
+ export function registrationOf(page) {
271
+ const value = page.enrichment?.['registration'];
272
+ return typeof value === 'string' ? value : page.registration;
273
+ }
258
274
  /**
259
275
  * Every item a component's detail page shows, in page order, and how it is shown. The panel
260
276
  * renders from this, and the coverage check walks it for every component (workbench-pages.md §7).
@@ -264,35 +280,37 @@ export function pageCoverage(page) {
264
280
  const entries = presets(page);
265
281
  const { useFor, notFor } = intendedUse(page);
266
282
  const enrichment = page.enrichment ?? {};
267
- const registered = typeof enrichment['registration'] === 'string';
283
+ const registered = registrationOf(page) !== undefined;
268
284
  const description = text(page.declaration['description']);
269
285
  const items = [];
270
- const item = (id, state, extra = {}) => items.push({ id, section: id.slice(0, id.indexOf('/')), state, ...extra });
286
+ const item = (id, state, extra = {}, section = id.slice(0, id.indexOf('/'))) => items.push({ id, section, state, ...extra });
271
287
  const documented = (id, present, source, subject) => item(id, present ? 'documented' : 'missing', {
272
288
  ...(present ? {} : { source }),
273
289
  ...(subject ? { subject } : {}),
274
290
  });
275
- const declared = (id, list, empty) => {
291
+ const declared = (id, list, empty, section) => {
276
292
  const undocumented = list
277
293
  .filter((entry) => !entry.description)
278
294
  .map((entry) => 'name' in entry ? entry.name || '(default)' : (entry.property ?? entry.attribute ?? ''));
279
295
  item(id, list.length ? 'documented' : 'none', {
280
296
  ...(list.length ? {} : { empty }),
281
297
  ...(undocumented.length ? { undocumented } : {}),
282
- });
298
+ }, section);
283
299
  };
284
300
  documented('overview/description', Boolean(description), 'a JSDoc description on the class');
285
- documented('overview/imports', registered, REGISTRATION_SOURCE);
286
301
  documented('interactive-example/presets', entries.some((p) => p.state && !p.incorrect), EXAMPLES_SOURCE, 'Presets');
287
302
  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.');
303
+ // The editable controls render in the interactive example (its "Controls and API").
304
+ declared('api/properties', facts.rows, 'No properties or attributes are declared.', 'interactive-example');
305
+ declared('api/slots', facts.slots, 'No slots are declared.', 'interactive-example');
306
+ declared('api/css-properties', facts.cssProperties, 'No CSS custom properties are declared.', 'interactive-example');
307
+ item('source/module', 'documented');
308
+ documented('source/register', registered, REGISTRATION_SOURCE);
309
+ documented('examples/examples', entries.length > 0, EXAMPLES_SOURCE);
290
310
  declared('api/events', facts.events, 'None declared.');
291
- declared('api/methods', facts.methods, 'None declared.');
292
311
  declared('api/parts', facts.parts, 'None declared.');
293
- declared('api/css-properties', facts.cssProperties, 'None declared.');
312
+ declared('api/methods', facts.methods, 'None declared.');
294
313
  declared('api/css-states', facts.cssStates, 'None declared.');
295
- documented('examples/examples', entries.length > 0, EXAMPLES_SOURCE);
296
314
  const mappings = list(enrichment['styleMappings']);
297
315
  item('tokens/style-mappings', mappings.length ? 'documented' : 'none', {
298
316
  ...(mappings.length ? {} : { empty: 'No style mappings are declared.' }),
@@ -308,7 +326,6 @@ export function pageCoverage(page) {
308
326
  documented('guidance/use-for', useFor.length > 0, '@useFor');
309
327
  documented('guidance/not-for', notFor.length > 0, '@notFor');
310
328
  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
329
  const limitations = authoredValues(enrichment['limitations']);
313
330
  item('known-limitations/limitations', limitations.length ? 'documented' : 'none', {
314
331
  ...(limitations.length ? {} : { empty: 'None documented.' }),
@@ -321,7 +338,7 @@ const escapeHtml = (value) => value.replace(/&/g, '&amp;').replace(/</g, '&lt;')
321
338
  * property assignments by script, slot content, declared-event listeners, and preview scopes.
322
339
  */
323
340
  export function snippet(page, state, options = {}) {
324
- const registration = text(page.enrichment?.['registration']);
341
+ const registration = registrationOf(page);
325
342
  const attrs = Object.entries(state.attributes).map(([name, value]) => value === '' ? ` ${name}` : ` ${name}="${escapeHtml(value)}"`);
326
343
  const scope = [];
327
344
  if (options.settings?.mode)
@@ -345,12 +362,17 @@ export function snippet(page, state, options = {}) {
345
362
  lines.push(` import '${registration}';`);
346
363
  else
347
364
  lines.push(` // No registration entry is published for <${page.tag}>; import its define module.`);
365
+ if (presets(page).some((p) => p.name === state.preset && p.fixture))
366
+ lines.push(` // The "${state.preset}" example also runs setup code: its fixture in defineExamples.`);
348
367
  const properties = Object.entries(state.properties);
368
+ const styles = Object.entries(state.styles ?? {});
349
369
  const events = options.events ?? componentFacts(page).events.map((e) => e.name);
350
- if (properties.length || events.length) {
370
+ if (properties.length || styles.length || events.length) {
351
371
  lines.push('', ` const element = document.querySelector('${page.tag}');`);
352
372
  for (const [name, value] of properties)
353
373
  lines.push(` element.${name} = ${JSON.stringify(value)};`);
374
+ for (const [name, value] of styles)
375
+ lines.push(` element.style.setProperty(${JSON.stringify(name)}, ${JSON.stringify(value)});`);
354
376
  for (const name of events)
355
377
  lines.push(` element.addEventListener('${name}', (event) => console.log(event.type, event.detail));`);
356
378
  }
@@ -386,6 +408,7 @@ export function sharePayload(tag, state, preview) {
386
408
  ...(Object.keys(state.properties).length ? { props: state.properties } : {}),
387
409
  ...(Object.keys(state.attributes).length ? { attributes: state.attributes } : {}),
388
410
  ...(Object.keys(slots).length ? { slots } : {}),
411
+ ...(Object.keys(state.styles ?? {}).length ? { styles: state.styles } : {}),
389
412
  ...(preview ? { preview } : {}),
390
413
  };
391
414
  }
@@ -412,6 +435,7 @@ export function decodeShare(page, encoded) {
412
435
  const properties = new Set(facts.rows.flatMap((r) => r.property && r.control !== 'readonly' && r.control !== 'fixture' ? [r.property] : []));
413
436
  const attributes = new Set(facts.rows.flatMap((r) => (r.attribute ? [r.attribute] : [])));
414
437
  const slots = new Set(facts.slots.map((s) => s.name || 'default'));
438
+ const cssProperties = new Set(facts.cssProperties.map((p) => p.name).filter((name) => isCustomPropertyName(name)));
415
439
  const problems = [];
416
440
  const pick = (source, allowed, check, kind) => {
417
441
  const out = {};
@@ -430,12 +454,14 @@ export function decodeShare(page, encoded) {
430
454
  for (const [name, text] of Object.entries(pick(value['slots'], slots, isString, 'slot')))
431
455
  slotText[name === 'default' ? '' : name] = text;
432
456
  const preview = isRecord(value['preview']) ? sanitizePreview(value['preview']) : undefined;
457
+ const styles = pick(value['styles'], cssProperties, isString, 'CSS custom property');
433
458
  return {
434
459
  state: {
435
460
  preset: typeof value['preset'] === 'string' ? value['preset'] : 'default',
436
461
  attributes: pick(value['attributes'], attributes, isString, 'attribute'),
437
462
  properties: pick(value['props'], properties, isJsonValue, 'property'),
438
463
  slots: slotText,
464
+ ...(Object.keys(styles).length ? { styles } : {}),
439
465
  },
440
466
  ...(preview ? { preview } : {}),
441
467
  problems,
@@ -1 +1 @@
1
- {"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/panels/model.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,WAAW,EAAsC,MAAM,sBAAsB,CAAC;AAmEvF,MAAM,QAAQ,GAAG,CAAC,KAAc,EAAoC,EAAE,CACpE,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAEvE,MAAM,IAAI,GAAG,CAAC,KAAc,EAAsB,EAAE,CAClD,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AAEhE,MAAM,IAAI,GAAG,CAAC,KAAc,EAAsC,EAAE,CAClE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAErD,8FAA8F;AAC9F,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,KAAK,GAAG,EAAE,CAAC;IACf,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;QACxB,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,IAAI,KAAK,KAAK;gBAAE,KAAK,GAAG,EAAE,CAAC;QACjC,CAAC;aAAM,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG;YAAE,KAAK,GAAG,IAAI,CAAC;aACjE,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,KAAK,EAAE,CAAC;aACnC,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,KAAK,EAAE,CAAC;aACnC,IAAI,IAAI,KAAK,GAAG,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;YACrC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;YAC3B,OAAO,GAAG,EAAE,CAAC;YACb,SAAS;QACX,CAAC;QACD,OAAO,IAAI,IAAI,CAAC;IAClB,CAAC;IACD,IAAI,OAAO,CAAC,IAAI,EAAE;QAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAC/C,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,OAAO,GAAG,gBAAgB,CAAC;AAEjC,gGAAgG;AAChG,MAAM,UAAU,YAAY,CAAC,IAAY;IAKvC,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACnC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC1C,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,MAAM,IAAI,CAAC,KAAK,WAAW,CAAC,CAAC;IACtE,IAAI,CAAC,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;IAC1D,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACvD,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC;QACxC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAoB,EAAE,QAAQ,EAAE,CAAC;IACrE,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAW,CAAC;QAC/B,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;QAChE,IAAI,IAAI,KAAK,QAAQ;YAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;QAC9D,IAAI,IAAI,KAAK,QAAQ;YAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;QAC9D,IAAI,6CAA6C,CAAC,IAAI,CAAC,IAAI,CAAC;YAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;IACzC,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;AAC1C,CAAC;AAED,+FAA+F;AAC/F,MAAM,UAAU,cAAc,CAAC,IAAuB;IACpD,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;IACrC,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC;IACzC,MAAM,YAAY,GAAG,IAAI,GAAG,CAC1B,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QACjD,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;QACnC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACnD,CAAC,CAAC,CACH,CAAC;IACF,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;QAClD,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,OAAO,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,IAAI;YAAE,SAAS;QACtE,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,WAAW;YAAE,SAAS;QACnF,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QAClC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,SAAS;QACpE,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC;QAC9F,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;QAC5C,IAAI,SAAS;YAAE,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACtC,MAAM,UAAU,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QACtC,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC;QAC7C,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;QAC7C,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;QAChD,IAAI,CAAC,IAAI,CAAC;YACR,EAAE,EAAE,YAAY,IAAI,CAAC,GAAG,IAAI,IAAI,EAAE;YAClC,QAAQ,EAAE,IAAI;YACd,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnC,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC,KAAK,IAAI;YACrC,IAAI;YACJ,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO;YACnD,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3D,QAAQ,EAAE,UAAU,CAAC,QAAQ;YAC7B,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAClD,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvC,YAAY,EAAE,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC;SACrC,CAAC,CAAC;IACL,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;QACnD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAChC,IAAI,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAAE,SAAS;QACpE,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,QAAQ,CAAC;QACzF,MAAM,UAAU,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QACtC,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;QAC3C,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;QAC9C,IAAI,CAAC,IAAI,CAAC;YACR,EAAE,EAAE,YAAY,IAAI,CAAC,GAAG,IAAI,IAAI,EAAE;YAClC,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,KAAK;YACf,IAAI;YACJ,yDAAyD;YACzD,OAAO,EACL,UAAU,CAAC,OAAO,KAAK,SAAS,IAAI,UAAU,CAAC,OAAO,KAAK,MAAM;gBAC/D,CAAC,CAAC,UAAU,CAAC,OAAO;gBACpB,CAAC,CAAC,QAAQ;YACd,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3D,QAAQ,EAAE,KAAK;YACf,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAClD,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvC,YAAY,EAAE,KAAK;SACpB,CAAC,CAAC;IACL,CAAC;IACD,MAAM,KAAK,GAAG,CAAC,KAAc,EAAgB,EAAE,CAC7C,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QAC5B,MAAM,IAAI,GAAG,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC3E,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO,EAAE,CAAC;QAClC,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;QAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC/E,OAAO,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACxF,CAAC,CAAC,CAAC;IACL,MAAM,OAAO,GAAG,KAAK,CACnB,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CACjC,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,MAAM,CAAC,KAAK,QAAQ;QACtB,CAAC,CAAC,QAAQ,CAAC,KAAK,IAAI;QACpB,CAAC,CAAC,SAAS,CAAC,KAAK,SAAS;QAC1B,CAAC,CAAC,SAAS,CAAC,KAAK,WAAW,CAC/B,CACF,CAAC;IACF,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QAC/D,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;QACxC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QAClC,OAAO,QAAQ,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACxD,CAAC,CAAC,CAAC;IACH,OAAO;QACL,IAAI;QACJ,MAAM,EAAE,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QACpC,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAClC,OAAO;QACP,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QACrC,aAAa,EAAE,KAAK,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;QAClD,SAAS,EAAE,KAAK,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QAC1C,SAAS;KACV,CAAC;AACJ,CAAC;AAED,sGAAsG;AACtG,MAAM,UAAU,gBAAgB,CAAC,GAAW;IAC1C,IAAI,CAAC,GAAG,CAAC,QAAQ;QAAE,OAAO,WAAW,CAAC;IACtC,IAAI,CAAC,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,YAAY,IAAI,GAAG,CAAC,OAAO,KAAK,MAAM;QAAE,OAAO,UAAU,CAAC;IACpF,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,MAAM,WAAW,GAAiB,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;AAEnG,SAAS,SAAS,CAAC,IAAY,EAAE,MAA+B;IAC9D,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/D,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9E,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/D,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC1C,MAAM,gBAAgB,GAA2B,EAAE,CAAC;IACpD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC;QACnD,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,gBAAgB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAC/D,MAAM,WAAW,GAA2B,EAAE,CAAC;IAC/C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;QAC9C,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,WAAW,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACnF,OAAO;QACL,MAAM,EAAE,IAAI;QACZ,UAAU,EAAE,gBAAgB;QAC5B,UAAU,EAAE,KAAkC;QAC9C,KAAK,EAAE,WAAW;KACnB,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,OAAO,CAAC,IAAuB;IAC7C,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAmB,EAAiB,EAAE;QAClE,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;QACnC,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/B,IAAI,CAAC,IAAI,IAAI,CAAC,EAAE;YAAE,OAAO,EAAE,CAAC;QAC5B,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACvF,MAAM,eAAe,GAAG,UAAU,EAAE,CAAC,YAAY,CAAC,KAAK,IAAI,CAAC;QAC5D,MAAM,KAAK,GAAG,UAAU,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACvF,MAAM,SAAS,GAAG,QAAQ,CAAC,UAAU,EAAE,CAAC,WAAW,CAAC,CAAC;YACnD,CAAC,CAAE,UAAU,CAAC,WAAW,CAA6B;YACtD,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;gBAC9B,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC;gBACtB,CAAC,CAAC,SAAS,CAAC;QAChB,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,IAAI,CAAC;QAClD,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;QAChD,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;QACrD,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;QAC7C,OAAO;YACL;gBACE,IAAI;gBACJ,EAAE;gBACF,KAAK;gBACL,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3B,MAAM,EAAE,UAAU,EAAE,CAAC,QAAQ,CAAC,KAAK,IAAI;gBACvC,eAAe;gBACf,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjC,GAAG,CAAC,SAAS;oBACX,CAAC,CAAC;wBACE,SAAS,EAAE;4BACT,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;4BACvC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;yBAChC;qBACF;oBACH,CAAC,CAAC,EAAE,CAAC;aACR;SACF,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,iGAAiG;AACjG,MAAM,UAAU,YAAY,CAAC,IAAuB;IAClD,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,MAAM,KAAK,GACT,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,KAAK,CAAC;QACpD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC;IAC3D,OAAO,KAAK,EAAE,KAAK,IAAI,WAAW,CAAC;AACrC,CAAC;AAED,2FAA2F;AAC3F,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAc,EAAY,EAAE,CACzD,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;IAClB,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CACtB,OAAO,KAAK,KAAK,QAAQ;QACvB,CAAC,CAAC,CAAC,KAAK,CAAC;QACT,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,QAAQ;YACrD,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAClB,CAAC,CAAC,EAAE,CACT;IACH,CAAC,CAAC,EAAE,CAAC;AAET,mGAAmG;AACnG,MAAM,UAAU,WAAW,CAAC,IAAuB;IAIjD,OAAO;QACL,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,IAAI,cAAc,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,QAAQ,CAAC,CAAC;QAC5E,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,IAAI,cAAc,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,QAAQ,CAAC,CAAC;KAC7E,CAAC;AACJ,CAAC;AAQD,MAAM,UAAU,UAAU,CAAC,IAAuB;IAChD,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;QACnC,IAAI,CAAC,SAAS,CAAC,SAAS;YAAE,OAAO,EAAE,CAAC;QACpC,MAAM,GAAG,GAAG,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC;QACxC,MAAM,OAAO,GAAG,GAAG;YACjB,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,IAAI,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC;YACvE,CAAC,CAAC,SAAS,CAAC;QACd,OAAO,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;AACL,CAAC;AAwBD,MAAM,eAAe,GAAG,iCAAiC,CAAC;AAC1D,MAAM,mBAAmB,GAAG,gDAAgD,CAAC;AAE7E;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,IAAuB;IAClD,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IACnC,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC;IACzC,MAAM,UAAU,GAAG,OAAO,UAAU,CAAC,cAAc,CAAC,KAAK,QAAQ,CAAC;IAClE,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC;IAC1D,MAAM,KAAK,GAAmB,EAAE,CAAC;IACjC,MAAM,IAAI,GAAG,CACX,EAAU,EACV,KAAoB,EACpB,KAAK,GAAmD,EAAE,EAC1D,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;IAChF,MAAM,UAAU,GAAG,CAAC,EAAU,EAAE,OAAgB,EAAE,MAAc,EAAE,OAAgB,EAAE,EAAE,CACpF,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,EAAE;QAC3C,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;QAC9B,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAChC,CAAC,CAAC;IACL,MAAM,QAAQ,GAAG,CAAC,EAAU,EAAE,IAAsC,EAAE,KAAa,EAAE,EAAE;QACrF,MAAM,YAAY,GAAG,IAAI;aACtB,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC;aACrC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CACb,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC,CACxF,CAAC;QACJ,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,EAAE;YAC5C,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;YACjC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACjD,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,UAAU,CAAC,sBAAsB,EAAE,OAAO,CAAC,WAAW,CAAC,EAAE,kCAAkC,CAAC,CAAC;IAC7F,UAAU,CAAC,kBAAkB,EAAE,UAAU,EAAE,mBAAmB,CAAC,CAAC;IAChE,UAAU,CACR,6BAA6B,EAC7B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,EAC5C,eAAe,EACf,SAAS,CACV,CAAC;IACF,UAAU,CAAC,6BAA6B,EAAE,UAAU,EAAE,mBAAmB,EAAE,SAAS,CAAC,CAAC;IACtF,QAAQ,CAAC,gBAAgB,EAAE,KAAK,CAAC,IAAI,EAAE,2CAA2C,CAAC,CAAC;IACpF,QAAQ,CAAC,WAAW,EAAE,KAAK,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;IACrD,QAAQ,CAAC,YAAY,EAAE,KAAK,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IACvD,QAAQ,CAAC,aAAa,EAAE,KAAK,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;IACzD,QAAQ,CAAC,WAAW,EAAE,KAAK,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;IACrD,QAAQ,CAAC,oBAAoB,EAAE,KAAK,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC;IACtE,QAAQ,CAAC,gBAAgB,EAAE,KAAK,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;IAC9D,UAAU,CAAC,mBAAmB,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,eAAe,CAAC,CAAC;IACrE,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC;IACnD,IAAI,CAAC,uBAAuB,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,EAAE;QACrE,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,iCAAiC,EAAE,CAAC;KACzE,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC;IAC7C,IAAI,CAAC,oBAAoB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,EAAE;QAC/D,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,8BAA8B,EAAE,CAAC;KACnE,CAAC,CAAC;IACH,UAAU,CACR,iCAAiC,EACjC,cAAc,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,EAC7C,OAAO,CACR,CAAC;IACF,UAAU,CACR,qCAAqC,EACrC,cAAc,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,EACjD,WAAW,CACZ,CAAC;IACF,IAAI,IAAI,CAAC,QAAQ,EAAE,QAAQ;QAAE,IAAI,CAAC,mBAAmB,EAAE,YAAY,CAAC,CAAC;IACrE,UAAU,CAAC,kBAAkB,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,SAAS,CAAC,CAAC;IAC7D,UAAU,CAAC,kBAAkB,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,SAAS,CAAC,CAAC;IAC7D,UAAU,CACR,sBAAsB,EACtB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,EAChC,iFAAiF,CAClF,CAAC;IACF,IAAI,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;IACpC,MAAM,WAAW,GAAG,cAAc,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC;IAC9D,IAAI,CAAC,+BAA+B,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,EAAE;QAChF,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC;KAC7D,CAAC,CAAC;IACH,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,GAAG,CAAC,KAAa,EAAE,EAAE,CACnC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AAEnG;;;GAGG;AACH,MAAM,UAAU,OAAO,CACrB,IAAuB,EACvB,KAAmB,EACnB,OAAO,GAA+E,EAAE;IAExF,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;IAC7D,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CACnE,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,KAAK,UAAU,CAAC,KAAK,CAAC,GAAG,CAC9D,CAAC;IACF,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,OAAO,CAAC,QAAQ,EAAE,IAAI;QAAE,KAAK,CAAC,IAAI,CAAC,mBAAmB,OAAO,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC;IACpF,IAAI,OAAO,CAAC,QAAQ,EAAE,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,QAAQ,CAAC,SAAS,GAAG,CAAC,CAAC;IACpF,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CACjE,IAAI;QACF,CAAC,CAAC,iBAAiB,UAAU,CAAC,IAAI,CAAC,KAAK,UAAU,CAAC,KAAK,CAAC,SAAS;QAClE,CAAC,CAAC,KAAK,UAAU,CAAC,KAAK,CAAC,EAAE,CAC7B,CAAC;IACF,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM;QAC7B,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,GAAG,GAAG;QAC1E,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,GAAG,CAAC;IACnD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM;QACzB,CAAC,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,OAAO;aAC/B,KAAK,CAAC,IAAI,CAAC;aACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC;aAC1B,IAAI,CAAC,IAAI,CAAC,UAAU;QACzB,CAAC,CAAC,OAAO,CAAC;IACZ,MAAM,KAAK,GAAa,CAAC,wBAAwB,CAAC,CAAC;IACnD,IAAI,YAAY;QAAE,KAAK,CAAC,IAAI,CAAC,aAAa,YAAY,IAAI,CAAC,CAAC;;QAE1D,KAAK,CAAC,IAAI,CACR,gDAAgD,IAAI,CAAC,GAAG,8BAA8B,CACvF,CAAC;IACJ,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACpD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAChF,IAAI,UAAU,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QACvC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,6CAA6C,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;QAC3E,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,UAAU;YACpC,KAAK,CAAC,IAAI,CAAC,aAAa,IAAI,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC9D,KAAK,MAAM,IAAI,IAAI,MAAM;YACvB,KAAK,CAAC,IAAI,CACR,+BAA+B,IAAI,uDAAuD,CAC3F,CAAC;IACN,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACxB,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,MAAM,IAAI,CAAC;AAC5C,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC;AAC/B,MAAM,CAAC,MAAM,WAAW,GAAG,SAAS,CAAC;AACrC,+EAA+E;AAC/E,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,CAAC;AACnC,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAC;AAuBpC,MAAM,WAAW,GAAG,CAAC,KAAa,EAAE,EAAE;IACpC,MAAM,KAAK,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC9C,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,KAAK,MAAM,IAAI,IAAI,KAAK;QAAE,MAAM,IAAI,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAC9D,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AACjF,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,KAAa,EAAE,EAAE;IACtC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;IACjE,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnF,CAAC,CAAC;AAEF,yDAAyD;AACzD,MAAM,UAAU,YAAY,CAC1B,GAAW,EACX,KAAmB,EACnB,OAAsB;IAEtB,MAAM,KAAK,GAA2B,EAAE,CAAC;IACzC,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC;QAAE,KAAK,CAAC,IAAI,IAAI,SAAS,CAAC,GAAG,IAAI,CAAC;IACxF,OAAO;QACL,CAAC,EAAE,aAAa;QAChB,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,GAAG;QACd,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5E,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjF,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/C,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAChC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,OAAqB;IAC/C,OAAO,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;AAC9C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW,CACzB,IAAuB,EACvB,OAAe;IAEf,IAAI,KAAc,CAAC;IACnB,IAAI,CAAC;QACH,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;IAC7C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,QAAQ,EAAE,CAAC,gCAAgC,CAAC,EAAE,CAAC;IAC1D,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,aAAa,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,WAAW;QACnF,OAAO,EAAE,QAAQ,EAAE,CAAC,+CAA+C,CAAC,EAAE,CAAC;IACzE,IAAI,KAAK,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC,GAAG;QACjC,OAAO,EAAE,QAAQ,EAAE,CAAC,4CAA4C,CAAC,EAAE,CAAC;IACtE,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IACnC,MAAM,UAAU,GAAG,IAAI,GAAG,CACxB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CACvB,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,OAAO,KAAK,UAAU,IAAI,CAAC,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CACtF,CACF,CAAC;IACF,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1F,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,SAAS,CAAC,CAAC,CAAC;IACnE,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,IAAI,GAAG,CACX,MAAe,EACf,OAAoB,EACpB,KAA6B,EAC7B,IAAY,EACO,EAAE;QACrB,MAAM,GAAG,GAAsB,EAAE,CAAC;QAClC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,OAAO,GAAG,CAAC;QAClC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAClD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;gBAAE,QAAQ,CAAC,IAAI,CAAC,WAAW,IAAI,KAAK,GAAG,IAAI,CAAC,CAAC;;gBAC9E,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACxB,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC,CAAC;IACF,MAAM,QAAQ,GAAG,CAAC,CAAU,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;IACpE,MAAM,QAAQ,GAA2B,EAAE,CAAC;IAC5C,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QACtF,QAAQ,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAClD,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3F,OAAO;QACL,KAAK,EAAE;YACL,MAAM,EAAE,OAAO,KAAK,CAAC,QAAQ,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;YACzE,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,CAAC;YACxE,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,CAAC;YACrE,KAAK,EAAE,QAAQ;SAChB;QACD,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/B,QAAQ;KACT,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,OAAgC;IACvD,MAAM,GAAG,GAA6D,EAAE,CAAC;IACzE,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,MAAM;QAAE,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1F,IAAI,OAAO,CAAC,WAAW,CAAC,KAAK,KAAK,IAAI,OAAO,CAAC,WAAW,CAAC,KAAK,KAAK;QAClE,GAAG,CAAC,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IACvC,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/B,IAAI,KAAK,KAAK,MAAM;QAAE,GAAG,CAAC,KAAK,GAAG,MAAM,CAAC;SACpC,IACH,OAAO,KAAK,KAAK,QAAQ;QACzB,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC;QACvB,KAAK,IAAI,eAAe;QACxB,KAAK,IAAI,eAAe;QAExB,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC;IACpB,IAAI,OAAO,CAAC,YAAY,CAAC,KAAK,IAAI;QAAE,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC;IAC1D,OAAO,GAAG,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/panels/model.ts"],"names":[],"mappings":"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"}
@@ -1 +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"}
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,yCAwPzB,CAAC"}
@@ -53,7 +53,8 @@ export const contentStyles = css `
53
53
  border-radius: var(--odd-radius-sm);
54
54
  cursor: pointer;
55
55
  }
56
- .wb-content > section + section {
56
+ /* Space between the sections shown: a host's tabs may hide some (the panel's sections property). */
57
+ .wb-content > section:not([hidden]) ~ section {
57
58
  margin-block-start: var(--odd-space-2xl);
58
59
  }
59
60
  .wb-content h2 {
@@ -146,7 +147,6 @@ export const contentStyles = css `
146
147
  }
147
148
  }
148
149
 
149
- /* Interactive example */
150
150
  .wb-content .wb-toolbar {
151
151
  display: flex;
152
152
  flex-wrap: wrap;
@@ -256,57 +256,6 @@ export const contentStyles = css `
256
256
  background: var(--odd-color-action-default);
257
257
  border-radius: var(--odd-radius-sm);
258
258
  }
259
-
260
- /* Catalog */
261
- .wb-content .wb-catalog-filters {
262
- display: flex;
263
- flex-wrap: wrap;
264
- align-items: end;
265
- gap: var(--odd-space-md);
266
- margin-block-end: var(--odd-space-lg);
267
- }
268
- .wb-content .wb-catalog-filters label {
269
- display: grid;
270
- gap: var(--odd-space-2xs);
271
- color: var(--odd-color-text-secondary);
272
- font-size: var(--odd-font-size-sm);
273
- }
274
- .wb-content .wb-catalog-filters p {
275
- margin: 0;
276
- }
277
- .wb-content .wb-group + .wb-group {
278
- margin-block-start: var(--odd-space-2xl);
279
- }
280
- .wb-content .wb-cards {
281
- display: grid;
282
- grid-template-columns: minmax(0, 1fr);
283
- gap: var(--odd-space-md);
284
- margin: 0;
285
- padding: 0;
286
- list-style: none;
287
- }
288
- .wb-content .wb-card {
289
- block-size: 100%;
290
- }
291
- .wb-content .wb-card h2,
292
- .wb-content .wb-card h3 {
293
- margin: 0;
294
- font-size: var(--odd-font-size-lg);
295
- font-weight: var(--odd-font-weight-semibold);
296
- }
297
- .wb-content .wb-card p {
298
- margin: var(--odd-space-xs) 0 0;
299
- }
300
- @container wb-content (width >= 32rem) {
301
- .wb-content .wb-cards {
302
- grid-template-columns: repeat(2, minmax(0, 1fr));
303
- }
304
- }
305
- @container wb-content (width >= 52rem) {
306
- .wb-content .wb-cards {
307
- grid-template-columns: repeat(3, minmax(0, 1fr));
308
- }
309
- }
310
259
  @media (forced-colors: active) {
311
260
  .wb-content .wb-bar {
312
261
  background: CanvasText;
@@ -1 +1 @@
1
- {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../src/panels/styles.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAE1C,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,CAAA;;;;;;;;CAQjC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2S/B,CAAC"}
1
+ {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../src/panels/styles.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAE1C,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,CAAA;;;;;;;;CAQjC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwP/B,CAAC"}
@@ -45,5 +45,25 @@ export interface DraftParse {
45
45
  }
46
46
  /** The JSON editor's text as a draft; a syntax error never replaces the current draft. */
47
47
  export declare function parseDraft(text: string): DraftParse;
48
+ /** Export file names for a draft loaded from `source`: `./oddkin.theme.json` → `oddkin.theme.*`. */
49
+ export declare function exportNames(source: string | undefined): {
50
+ config: string;
51
+ css: string;
52
+ };
53
+ /**
54
+ * Why the draft cannot be exported now, or '' when it can. An export is always the draft shown,
55
+ * once the generator has accepted it: never an older draft presented as the latest.
56
+ */
57
+ export declare function exportBlocked(state: {
58
+ readonly generator: boolean;
59
+ /** The JSON editor's text does not parse, so the draft is not what it shows. */
60
+ readonly jsonError: boolean;
61
+ /** Why generation is unavailable, or ''. */
62
+ readonly unavailable: string;
63
+ /** A newer draft than the last result is being generated. */
64
+ readonly pending: boolean;
65
+ /** The last result's validity; undefined before the first. */
66
+ readonly ok: boolean | undefined;
67
+ }): string;
48
68
  export {};
49
69
  //# sourceMappingURL=theme-model.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"theme-model.d.ts","sourceRoot":"","sources":["../../src/panels/theme-model.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,MAAM,UAAU,GAAG,SAAS,MAAM,EAAE,CAAC;AAC3C,KAAK,IAAI,GAAG,IAAI,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,EAAE,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC;AAEhF,wDAAwD;AACxD,MAAM,MAAM,WAAW,GAAG,kBAAkB,GAAG,mBAAmB,CAAC;AAEnE,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAC;IAClE,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;CAC7C;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,+DAA+D;IAC/D,QAAQ,CAAC,KAAK,EAAE,SAAS,UAAU,EAAE,CAAC;CACvC;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,SAAS,UAAU,EAAE,CAAC;IACvC,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,WAAW,EAAE,CAAC;IACvC,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACpC;AAKD,wBAAgB,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAOjE;AAED,qGAAqG;AACrG,wBAAgB,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAShF;AAED,eAAO,MAAM,QAAQ,SAAU,UAAU,WAAyB,CAAC;AA+BnE,8FAA8F;AAC9F,wBAAgB,WAAW,CAAC,MAAM,EAAE,OAAO,GAAG,eAAe,EAAE,CAqE9D;AAED,+EAA+E;AAC/E,wBAAgB,UAAU,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAQxF;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC;IACtB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,0FAA0F;AAC1F,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CASnD"}
1
+ {"version":3,"file":"theme-model.d.ts","sourceRoot":"","sources":["../../src/panels/theme-model.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,MAAM,UAAU,GAAG,SAAS,MAAM,EAAE,CAAC;AAC3C,KAAK,IAAI,GAAG,IAAI,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,EAAE,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC;AAEhF,wDAAwD;AACxD,MAAM,MAAM,WAAW,GAAG,kBAAkB,GAAG,mBAAmB,CAAC;AAEnE,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAC;IAClE,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;CAC7C;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,+DAA+D;IAC/D,QAAQ,CAAC,KAAK,EAAE,SAAS,UAAU,EAAE,CAAC;CACvC;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,SAAS,UAAU,EAAE,CAAC;IACvC,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,WAAW,EAAE,CAAC;IACvC,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACpC;AAKD,wBAAgB,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAOjE;AAED,qGAAqG;AACrG,wBAAgB,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAShF;AAED,eAAO,MAAM,QAAQ,SAAU,UAAU,WAAyB,CAAC;AA+BnE,8FAA8F;AAC9F,wBAAgB,WAAW,CAAC,MAAM,EAAE,OAAO,GAAG,eAAe,EAAE,CAqE9D;AAED,+EAA+E;AAC/E,wBAAgB,UAAU,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAQxF;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC;IACtB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,0FAA0F;AAC1F,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CASnD;AAED,oGAAoG;AACpG,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAGvF;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE;IACnC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,gFAAgF;IAChF,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,4CAA4C;IAC5C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,6DAA6D;IAC7D,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,EAAE,OAAO,GAAG,SAAS,CAAC;CAClC,GAAG,MAAM,CAMT"}
@@ -143,4 +143,24 @@ export function parseDraft(text) {
143
143
  return { ok: false, message: error instanceof Error ? error.message : String(error) };
144
144
  }
145
145
  }
146
+ /** Export file names for a draft loaded from `source`: `./oddkin.theme.json` → `oddkin.theme.*`. */
147
+ export function exportNames(source) {
148
+ const stem = (source?.split(/[\\/]/).pop() ?? '').replace(/\.(?:json|[cm]?[jt]s)$/i, '');
149
+ return { config: `${stem || 'theme'}.json`, css: `${stem || 'theme'}.css` };
150
+ }
151
+ /**
152
+ * Why the draft cannot be exported now, or '' when it can. An export is always the draft shown,
153
+ * once the generator has accepted it: never an older draft presented as the latest.
154
+ */
155
+ export function exportBlocked(state) {
156
+ if (!state.generator)
157
+ return 'Export needs the theme generator (see Method and limits).';
158
+ if (state.jsonError)
159
+ return 'The JSON has an error: fix it to export the draft shown.';
160
+ if (state.unavailable)
161
+ return `Generation unavailable: ${state.unavailable}`;
162
+ if (state.pending || state.ok === undefined)
163
+ return 'Generating the latest draft…';
164
+ return state.ok ? '' : 'This draft is invalid: fix it to export.';
165
+ }
146
166
  //# sourceMappingURL=theme-model.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"theme-model.js","sourceRoot":"","sources":["../../src/panels/theme-model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"theme-model.js","sourceRoot":"","sources":["../../src/panels/theme-model.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"theme-studio.d.ts","sourceRoot":"","sources":["../../src/panels/theme-studio.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,aAAa,EAAQ,MAAM,sBAAsB,CAAC;AAG3D,OAAO,EAAe,KAAK,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAyB,KAAK,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAClF,OAAO,EAGL,KAAK,eAAe,EACrB,MAAM,gCAAgC,CAAC;;;;;AAcxC,qBAAa,kBAAmB,SAAQ,uBAMtC;;IACA,OAAgB,MAAM,EAAE,UAAU,CAAoC;IAiBtE,cAGC;IAED,uEAAuE;IACvE,IAAI,KAAK,IAAI,OAAO,CAEnB;IAED,qDAAqD;IACrD,IAAI,QAAQ,IAAI,SAAS,eAAe,EAAE,CAEzC;IAED,2EAA2E;IAC3E,IAAI,UAAU,IAAI,eAAe,CAAC,OAAO,CAAC,GAAG,SAAS,CAErD;IAED,UAAmB,SAAS,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAc/C;IAgID,UAAmB,MAAM,mDAoLxB;CACF"}
1
+ {"version":3,"file":"theme-studio.d.ts","sourceRoot":"","sources":["../../src/panels/theme-studio.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,aAAa,EAAQ,MAAM,sBAAsB,CAAC;AAG3D,OAAO,EAAe,KAAK,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAyB,KAAK,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAClF,OAAO,EAGL,KAAK,eAAe,EACrB,MAAM,gCAAgC,CAAC;;;;;AAgBxC,qBAAa,kBAAmB,SAAQ,uBAMtC;;IACA,OAAgB,MAAM,EAAE,UAAU,CAAoC;IAsBtE,cAGC;IAED,uEAAuE;IACvE,IAAI,KAAK,IAAI,OAAO,CAEnB;IAED,qDAAqD;IACrD,IAAI,QAAQ,IAAI,SAAS,eAAe,EAAE,CAEzC;IAED,2EAA2E;IAC3E,IAAI,UAAU,IAAI,eAAe,CAAC,OAAO,CAAC,GAAG,SAAS,CAErD;IAED,UAAmB,SAAS,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAc/C;IA4LD,UAAmB,MAAM,mDAqLxB;CACF"}
@@ -13,7 +13,7 @@ import { html, nothing, repeat } from '@oddkin/core/template';
13
13
  import { createIsolatedPreview } from '../preview/frame.js';
14
14
  import { createThemeGeneration, } from '../preview/theme-generation.js';
15
15
  import { contentStyles, panelHostStyles } from './styles.js';
16
- import { fieldValue, parseDraft, pathText, setPath, themeFields, } from './theme-model.js';
16
+ import { exportBlocked, exportNames, fieldValue, parseDraft, pathText, setPath, themeFields, } from './theme-model.js';
17
17
  const MODES = ['light', 'dark'];
18
18
  export class ThemeStudioElement extends OddkinElement.with({
19
19
  page: prop.object({ description: 'The Theme Studio page data.' }),
@@ -31,6 +31,11 @@ export class ThemeStudioElement extends OddkinElement.with({
31
31
  text: '',
32
32
  alert: false,
33
33
  });
34
+ /** From a draft's request until its result: a delivered result is always the newest draft's. */
35
+ #pending = signal(false);
36
+ /** Why the generator cannot run, or ''. */
37
+ #unavailable = signal('');
38
+ #exported = signal('');
34
39
  #hosts;
35
40
  #previews = [];
36
41
  #generation;
@@ -86,15 +91,20 @@ export class ThemeStudioElement extends OddkinElement.with({
86
91
  this.#jsonError.value = '';
87
92
  this.#result.value = undefined;
88
93
  this.#status.value = { text: '', alert: false };
94
+ this.#pending.value = false;
95
+ this.#unavailable.value = '';
96
+ this.#exported.value = '';
89
97
  if (!page || !studio?.config || !studio.worker)
90
98
  return;
91
99
  const scope = createScope({ name: 'workbench-theme-studio' });
92
100
  this.#studioScope = scope;
93
101
  this.#generation = createThemeGeneration(studio.worker, scope, (result) => this.#apply(result), (message) => {
102
+ this.#unavailable.value = message;
94
103
  this.#status.value = { text: `Generation unavailable: ${message}`, alert: true };
95
104
  });
96
105
  if (frameUrl && studio.roles.length)
97
106
  this.#specimens(scope, page, frameUrl);
107
+ this.#pending.value = true;
98
108
  this.#generation.request(studio.config);
99
109
  }
100
110
  #specimens(scope, page, frameUrl) {
@@ -135,6 +145,7 @@ export class ThemeStudioElement extends OddkinElement.with({
135
145
  }
136
146
  /** A valid result replaces the specimens' theme sheet; an invalid one keeps the last valid. */
137
147
  #apply(result) {
148
+ this.#pending.value = false;
138
149
  this.#result.value = result;
139
150
  if (!result.ok || result.css === undefined)
140
151
  return;
@@ -150,8 +161,59 @@ export class ThemeStudioElement extends OddkinElement.with({
150
161
  this.#json.value = JSON.stringify(draft, null, 2);
151
162
  this.#jsonError.value = '';
152
163
  }
164
+ this.#exported.value = '';
165
+ if (this.#generation)
166
+ this.#pending.value = true;
153
167
  this.#generation?.request(draft);
154
168
  }
169
+ #blocked() {
170
+ return exportBlocked({
171
+ generator: !!this.page?.studio.worker,
172
+ jsonError: !!this.#jsonError.value,
173
+ unavailable: this.#unavailable.value,
174
+ pending: this.#pending.value,
175
+ ok: this.#result.value?.ok,
176
+ });
177
+ }
178
+ /** Download the draft shown: its configuration, or the CSS generated from it. */
179
+ #export(kind) {
180
+ const css = this.#result.peek()?.css;
181
+ if (this.#blocked() || css === undefined)
182
+ return;
183
+ const names = exportNames(this.page?.studio.source);
184
+ const [name, type, text] = kind === 'config'
185
+ ? [names.config, 'application/json', `${JSON.stringify(this.#draft.peek(), null, 2)}\n`]
186
+ : [names.css, 'text/css', css];
187
+ const doc = this.ownerDocument;
188
+ const link = doc.createElement('a');
189
+ link.href = URL.createObjectURL(new Blob([text], { type }));
190
+ link.download = name;
191
+ doc.body.append(link);
192
+ link.click();
193
+ link.remove();
194
+ setTimeout(() => URL.revokeObjectURL(link.href), 1000);
195
+ this.#exported.value = `Downloaded ${name}.`;
196
+ }
197
+ #exportSection(source) {
198
+ const blocked = this.#blocked();
199
+ const names = exportNames(source);
200
+ const button = (kind, name) => html `<button
201
+ type="button"
202
+ ?disabled=${!!blocked}
203
+ aria-describedby="ts-export-note"
204
+ @click=${() => this.#export(kind)}
205
+ >
206
+ Download ${name}
207
+ </button>`;
208
+ return html `<section id="export" aria-labelledby="export-title">
209
+ <h2 id="export-title">Export</h2>
210
+ <div class="wb-toolbar">${button('config', names.config)} ${button('css', names.css)}</div>
211
+ <p id="ts-export-note" class="wb-muted">
212
+ ${blocked || 'The draft shown: its configuration, and the CSS generated from it.'}
213
+ </p>
214
+ <p class="wb-status" role="status">${this.#exported.value}</p>
215
+ </section>`;
216
+ }
155
217
  #field(field) {
156
218
  const id = `ts-${field.path.join('-')}`;
157
219
  const swatch = field.kind === 'color' &&
@@ -286,6 +348,7 @@ export class ThemeStudioElement extends OddkinElement.with({
286
348
  </p>`
287
349
  : nothing}
288
350
  </section>
351
+ ${draft === undefined ? nothing : this.#exportSection(studio.source)}
289
352
  <section id="method" aria-labelledby="method-title">
290
353
  <h2 id="method-title">Method and limits</h2>
291
354
  <p>