Skip to content

Need the ability to open demos in an iframe/new-route #102

Description

@NullVoxPopuli

This request is partially for debugging/development purposes, partially for style isolation without a shadowdom (which removes all styles of the parent context).

For this change to be uniformly implemented, the inline-demos in markdown files would need to be extracted to components during build time, rather than line-by-line inlined in the hbs output. This would allow passing a dynamic-segment to some route for dynamically loading the component for the above development scenario. With embroider+vite, this would also lead to much faster rebuild times, as all the surrounding UI wouldn't need to be built/rendered.

I think at build time, an object like this would need to be generated:

import { importSync } from '@embroider/macros';

const DEMO_MAP = {
  [some-key]: importSync('some-demo-component')
  // ...
}

// ...

async model({ componentName }) {
  let demoComponent = DEMO_MAP[componentName];
  
  return { demoComponent };
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions