-
Notifications
You must be signed in to change notification settings - Fork 650
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add Example of How to Use Custom Elements in Fresh #2741
Comments
What is a "custom component"? Do you mean a Preact component? If yes, then it looks like this: function MyComponent() {
return <h1>hello world</h1>
}
// usage
<MyComponent /> But not sure if this is what you're asking. |
Steps to Use a Custom Component in a Fresh Project
<!-- my-component.html -->
<template id="my-component-template">
<style>
/* Add your CSS here */
.my-component {
color: red;
}
</style>
<div class="my-component">
<!-- Add your HTML here -->
<p>Hello, I am a custom component!</p>
</div>
</template>
<script>
class MyComponent extends HTMLElement {
constructor() {
super();
const template = document.getElementById('my-component-template').content;
this.attachShadow({ mode: 'open' }).appendChild(template.cloneNode(true));
}
}
customElements.define('my-component', MyComponent);
</script>
// types/global.d.tsx
declare module "preact" {
namespace JSX {
interface IntrinsicElements {
"my-component": {
flag?: string;
label?: string;
children?: preact.ComponentChildren;
slot?: string;
};
}
}
}
// routes/index.tsx
export default function Home() {
return (
<>
<my-component flag="example"></my-component>
</>
);
} This setup allows you to create, deploy, and use a custom component in a Fresh project. |
Oh I see, you are interested in using custom elements in fresh. |
Yes so for that i suggest to add a section in the documentation that provides a step-by-step guide on how to create and use a custom elements as a component in a Fresh project |
Hello, I have the same interest. Today I use Astro with Custom Elements, but I have appreciation for Deno Fresh, so I would like to use it, but using Custom Elements. |
Description
Currently, the Deno Fresh documentation lacks an example of how to integrate and use a custom-created component that is not built into the Deno stack. This can be challenging for developers who want to extend their Fresh applications with custom components.
Proposed Solution:
Add a section in the documentation that provides a step-by-step guide on how to create and use a custom component in a Fresh project. The example should include:
The text was updated successfully, but these errors were encountered: