@reidelsaltres/pureper 0.2.18 → 0.2.20

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.
@@ -1 +1 @@
1
- {"version":3,"file":"Triplet.d.ts","sourceRoot":"","sources":["../../src/foundation/Triplet.ts"],"names":[],"mappings":"AAQA,OAAO,EAAkB,oBAAoB,EAAe,MAAM,gBAAgB,CAAC;AAEnF,eAAO,MAAM,QAAQ,EAAE,CAAC,MAAM,IAAI,CAAC,EAAO,CAAC;AAE3C,oBAAY,UAAU;IAClB,IAAI,IAAI;IACR,OAAO,IAAS;IAChB,MAAM,IAAS;IACf,IAAI,IAAmB;CAC1B;AAED,MAAM,MAAM,aAAa,GAAG,oBAAoB,GAAG;IAC/C,MAAM,CAAC,EAAE,UAAU,CAAC;CACvB,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,OAAO,OAAO,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAa;IACpC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;gBAE7B,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,EAAE,MAAM;IAO9C,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CA4FhF"}
1
+ {"version":3,"file":"Triplet.d.ts","sourceRoot":"","sources":["../../src/foundation/Triplet.ts"],"names":[],"mappings":"AAQA,OAAO,EAAkB,oBAAoB,EAAe,MAAM,gBAAgB,CAAC;AAEnF,eAAO,MAAM,QAAQ,EAAE,CAAC,MAAM,IAAI,CAAC,EAAO,CAAC;AAE3C,oBAAY,UAAU;IAClB,IAAI,IAAI;IACR,OAAO,IAAS;IAChB,MAAM,IAAS;IACf,IAAI,IAAmB;CAC1B;AAED,MAAM,MAAM,aAAa,GAAG,oBAAoB,GAAG;IAC/C,MAAM,CAAC,EAAE,UAAU,CAAC;CACvB,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,OAAO,OAAO,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAa;IACpC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;gBAE7B,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,EAAE,MAAM;IAO9C,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CA4GhF"}
@@ -52,6 +52,10 @@ export default class Triplet {
52
52
  console.info(`[Triplet]: Implementation "${this.implementation.name}" added to existing placeholder "${name}"`);
53
53
  return;
54
54
  }
55
+ const globalCss = await this.implementation.globalStyle;
56
+ if (globalCss) {
57
+ document.adoptedStyleSheets.push(await new CSSStyleSheet().replace(globalCss));
58
+ }
55
59
  // First implementation — register the placeholder shell
56
60
  if (type === "router") {
57
61
  REGISTRY.push(() => {
@@ -73,6 +77,19 @@ export default class Triplet {
73
77
  instance._placeholderName = name;
74
78
  instance._activeImplementation = impl;
75
79
  placeholder.trackInstance(instance);
80
+ instance._init = async function () {
81
+ const activeImpl = this._activeImplementation
82
+ ?? placeholder.getActive();
83
+ if (!activeImpl)
84
+ throw new Error(`[Placeholder:${routePath}]: No active implementation.`);
85
+ const markupText = await activeImpl.markup;
86
+ const holder = TemplateEngine.createHolder(markupText, Scope.from(this));
87
+ const cssText = await activeImpl.style;
88
+ if (cssText) {
89
+ document.adoptedStyleSheets.push(await new CSSStyleSheet().replace(cssText));
90
+ }
91
+ return holder;
92
+ };
76
93
  return instance;
77
94
  });
78
95
  console.info(`[Triplet]: Router route "${name}" registered as placeholder`);
@@ -107,11 +124,6 @@ export default class Triplet {
107
124
  if (cssText) {
108
125
  dmc.adoptedStyleSheets.push(await new CSSStyleSheet().replace(cssText));
109
126
  }
110
- // Apply global CSS
111
- const globalCss = await impl.globalStyle;
112
- if (globalCss) {
113
- document.adoptedStyleSheets.push(await new CSSStyleSheet().replace(globalCss));
114
- }
115
127
  return holder;
116
128
  };
117
129
  customElements.define(name, cls.prototype.constructor);
@@ -1 +1 @@
1
- {"version":3,"file":"Triplet.js","sourceRoot":"","sources":["../../src/foundation/Triplet.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Triplet.js","sourceRoot":"","sources":["../../src/foundation/Triplet.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@reidelsaltres/pureper",
3
- "version": "0.2.18",
3
+ "version": "0.2.20",
4
4
  "description": "Minimal library extracted from the Pureper SPA foundation — utilities and base classes for components/pages.",
5
5
  "type": "module",
6
6
  "main": "out/src/index.js",
@@ -66,6 +66,12 @@ export default class Triplet {
66
66
  return;
67
67
  }
68
68
 
69
+ const globalCss = await this.implementation.globalStyle;
70
+ if (globalCss) {
71
+ document.adoptedStyleSheets.push(
72
+ await new CSSStyleSheet().replace(globalCss));
73
+ }
74
+
69
75
  // First implementation — register the placeholder shell
70
76
  if (type === "router") {
71
77
  REGISTRY.push(() => {
@@ -90,6 +96,23 @@ export default class Triplet {
90
96
  (instance as any)._activeImplementation = impl;
91
97
  placeholder.trackInstance(instance);
92
98
 
99
+ (instance as any)._init = async function (): Promise<TemplateHolder> {
100
+ const activeImpl: Implementation = (this as any)._activeImplementation
101
+ ?? placeholder.getActive();
102
+ if (!activeImpl) throw new Error(`[Placeholder:${routePath}]: No active implementation.`);
103
+
104
+ const markupText = await activeImpl.markup;
105
+ const holder = TemplateEngine.createHolder(markupText, Scope.from(this));
106
+
107
+ const cssText = await activeImpl.style;
108
+ if (cssText) {
109
+ document.adoptedStyleSheets.push(
110
+ await new CSSStyleSheet().replace(cssText));
111
+ }
112
+
113
+ return holder;
114
+ };
115
+
93
116
  return instance;
94
117
  });
95
118
 
@@ -133,13 +156,6 @@ export default class Triplet {
133
156
  await new CSSStyleSheet().replace(cssText));
134
157
  }
135
158
 
136
- // Apply global CSS
137
- const globalCss = await impl.globalStyle;
138
- if (globalCss) {
139
- document.adoptedStyleSheets.push(
140
- await new CSSStyleSheet().replace(globalCss));
141
- }
142
-
143
159
  return holder;
144
160
  };
145
161