Skip to content

Commit d0ad7a6

Browse files
authored
Merge pull request #44 from webcomponents-preview/feature/25-configurable-plugins
Feature/25 configurable plugins
2 parents eacb0f3 + c560549 commit d0ad7a6

3 files changed

Lines changed: 14 additions & 4 deletions

File tree

src/components/root/root.component.ts

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import type { CustomElementDeclaration } from 'custom-elements-manifest/schema';
22

33
import { LitElement, type TemplateResult, html, unsafeCSS } from 'lit';
4+
import { unsafeStatic, withStatic } from 'lit/static-html.js';
45
import { customElement, property, state } from 'lit/decorators.js';
56
import { ifDefined } from 'lit/directives/if-defined.js';
67
import { map } from 'lit/directives/map.js';
@@ -181,9 +182,12 @@ export class Root extends Routable(ColorSchemable(LitElement)) {
181182
protected renderElement(tagName: string): TemplateResult {
182183
return html`
183184
<wcp-preview-frame initial-preview-tab="${ifDefined(this.initialPreviewTab)}">
184-
<wcp-preview-frame-examples .element="${this.manifest?.elements.get(tagName)}"></wcp-preview-frame-examples>
185-
<wcp-preview-frame-readme .element="${this.manifest?.elements.get(tagName)}"></wcp-preview-frame-readme>
186-
<wcp-preview-frame-viewer .element="${this.manifest?.elements.get(tagName)}"></wcp-preview-frame-viewer>
185+
${map(
186+
this.config?.previewFramePlugins ?? [],
187+
(plugin) => withStatic(html)`
188+
<${unsafeStatic(plugin)} .element="${this.manifest?.elements.get(tagName)}"></${unsafeStatic(plugin)}>
189+
`
190+
)}
187191
</wcp-preview-frame>
188192
`;
189193
}

src/config.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
"excludeElements": ["wcp-root"],
44
"initialActiveElement": "wcp-button",
55
"initialPreviewTab": "viewer",
6+
"previewFramePlugins": ["wcp-preview-frame-examples", "wcp-preview-frame-readme", "wcp-preview-frame-viewer"],
67
"additionalReadmeGroupName": "Readme",
78
"additionalReadmes": [
89
{

src/utils/config.utils.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,12 @@ export type Config = {
44
excludeElements: string[];
55
fallbackGroupName: string;
66
initialActiveElement: string;
7-
initialPreviewTab: 'examples' | 'readme' | 'viewer';
7+
initialPreviewTab: string;
8+
/**
9+
* The plugins to be used for the preview frame.
10+
* Defaults to `['wcp-preview-frame-viewer', 'wcp-preview-frame-examples', 'wcp-preview-frame-readme']`
11+
*/
12+
previewFramePlugins: string[];
813
additionalReadmeGroupName: string;
914
additionalReadmes: {
1015
name: string;

0 commit comments

Comments
 (0)