From 8d3d12c802e9dfc5a07aef2c75a882688a068f9b Mon Sep 17 00:00:00 2001 From: Jorge Mendez Ortega Date: Mon, 24 Aug 2026 11:35:59 -0600 Subject: [PATCH] feat(app): nmas-006 uso de templates --- src/components/index.js | 1 + src/components/pr6/Template.js | 85 ++++++++++++++++++++++++++++++++++ src/index.html | 5 ++ 3 files changed, 91 insertions(+) create mode 100644 src/components/pr6/Template.js diff --git a/src/components/index.js b/src/components/index.js index 1bc2c4d..d90825d 100644 --- a/src/components/index.js +++ b/src/components/index.js @@ -2,3 +2,4 @@ import "./pr1/Badge.js"; import "./pr2/Card.js"; import "./pr3/Dynamic.js"; import "./pr5/Button.js"; +import "./pr6/Template.js"; diff --git a/src/components/pr6/Template.js b/src/components/pr6/Template.js new file mode 100644 index 0000000..e97a018 --- /dev/null +++ b/src/components/pr6/Template.js @@ -0,0 +1,85 @@ +const TEMPLATE = document.createElement('template'); + +TEMPLATE.innerHTML = ` + +
+
+

+ Header +

+
+
+

+ +

+
+
+ +
+
+`; + + + +class Template extends HTMLElement { + constructor() { + super(); + this.attachShadow({ mode: 'open' }); + } + + connectedCallback() { + this.render(); + } + + render() { + this.shadowRoot.appendChild(TEMPLATE.content.cloneNode(true)); + } +} + +window.customElements.define('wc-template', Template); diff --git a/src/index.html b/src/index.html index f9b8077..d233611 100644 --- a/src/index.html +++ b/src/index.html @@ -13,6 +13,11 @@ Danger gakusei Primary gakusei Default gakusei + +
Header content
+
Main content
+
Footer content
+