@reidelsaltres/pureper 0.1.143 → 0.1.144

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.
@@ -29,14 +29,17 @@ export default class Triplet {
29
29
  private readonly access;
30
30
  private uni?;
31
31
  private lightCssApplied;
32
+ private componentCssTextPromise?;
32
33
  private componentCssSheetPromise?;
33
34
  constructor(struct: TripletStruct);
34
35
  private getMarkupText;
35
36
  private getLightCssText;
37
+ private getComponentCssText;
36
38
  private getComponentCssSheet;
39
+ private static canUseConstructableStylesheets;
40
+ private static ensureInlineStyle;
37
41
  init(): Promise<boolean>;
38
42
  cache(): Promise<void>;
39
- private createLink;
40
43
  register(type: "router" | "markup", name: string): Promise<boolean>;
41
44
  private createInjectedClass;
42
45
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Triplet.d.ts","sourceRoot":"","sources":["../../src/foundation/Triplet.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,4BAA4B,CAAC;AAKjD,OAAO,EAAE,cAAc,EAAe,MAAM,gCAAgC,CAAC;AAM7E,oBAAY,UAAU;IAClB,IAAI,IAAI;IACR,OAAO,IAAS;IAChB,MAAM,IAAS;IACf,IAAI,IAAmB;CAC1B;AACD,MAAM,MAAM,aAAa,GAAG;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,KAAK,CAAC,EAAG,cAAc,CAAC,OAAO,CAAC,CAAC;CACpC,CAAA;AACD,MAAM,CAAC,OAAO,OAAO,OAAO;IACxB,SAAgB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChC,SAAgB,GAAG,CAAC,EAAE,MAAM,CAAC;IAC7B,SAAgB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClC,SAAgB,EAAE,CAAC,EAAE,MAAM,CAAC;IAE5B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAS;IAEhC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAa;IAEpC,OAAO,CAAC,GAAG,CAAC,CAA0B;IAEtC,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,wBAAwB,CAAC,CAAgC;gBAE9C,MAAM,EAAE,aAAa;YAgB1B,aAAa;YAMb,eAAe;YAMf,oBAAoB;IAerB,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC;IAcxB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAInC,OAAO,CAAC,UAAU;IAUL,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA2DhF,OAAO,CAAC,mBAAmB;CA0B9B"}
1
+ {"version":3,"file":"Triplet.d.ts","sourceRoot":"","sources":["../../src/foundation/Triplet.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,4BAA4B,CAAC;AAKjD,OAAO,EAAE,cAAc,EAAe,MAAM,gCAAgC,CAAC;AAM7E,oBAAY,UAAU;IAClB,IAAI,IAAI;IACR,OAAO,IAAS;IAChB,MAAM,IAAS;IACf,IAAI,IAAmB;CAC1B;AACD,MAAM,MAAM,aAAa,GAAG;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,KAAK,CAAC,EAAG,cAAc,CAAC,OAAO,CAAC,CAAC;CACpC,CAAA;AACD,MAAM,CAAC,OAAO,OAAO,OAAO;IACxB,SAAgB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChC,SAAgB,GAAG,CAAC,EAAE,MAAM,CAAC;IAC7B,SAAgB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClC,SAAgB,EAAE,CAAC,EAAE,MAAM,CAAC;IAE5B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAS;IAEhC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAa;IAEpC,OAAO,CAAC,GAAG,CAAC,CAA0B;IAEtC,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,uBAAuB,CAAC,CAA8B;IAC9D,OAAO,CAAC,wBAAwB,CAAC,CAAgC;gBAE9C,MAAM,EAAE,aAAa;YAgB1B,aAAa;YAMb,eAAe;YAMf,mBAAmB;YAQnB,oBAAoB;IAelC,OAAO,CAAC,MAAM,CAAC,8BAA8B;IAa7C,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAenB,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC;IAcxB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAItB,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAiEhF,OAAO,CAAC,mBAAmB;CA2C9B"}
@@ -23,6 +23,7 @@ export default class Triplet {
23
23
  access;
24
24
  uni;
25
25
  lightCssApplied = false;
26
+ componentCssTextPromise;
26
27
  componentCssSheetPromise;
27
28
  constructor(struct) {
28
29
  this.markup = struct.markup;
@@ -50,11 +51,19 @@ export default class Triplet {
50
51
  return Fetcher.fetchText(this.ltCssURL);
51
52
  return undefined;
52
53
  }
54
+ async getComponentCssText() {
55
+ if (this.css)
56
+ return this.css;
57
+ if (!this.cssURL)
58
+ return undefined;
59
+ this.componentCssTextPromise = this.componentCssTextPromise ?? Fetcher.fetchText(this.cssURL);
60
+ return this.componentCssTextPromise;
61
+ }
53
62
  async getComponentCssSheet() {
54
63
  if (this.componentCssSheetPromise)
55
64
  return this.componentCssSheetPromise;
56
65
  this.componentCssSheetPromise = (async () => {
57
- const cssText = this.css ?? (this.cssURL ? await Fetcher.fetchText(this.cssURL) : undefined);
66
+ const cssText = await this.getComponentCssText();
58
67
  if (!cssText)
59
68
  return null;
60
69
  const sheet = new CSSStyleSheet();
@@ -63,6 +72,30 @@ export default class Triplet {
63
72
  })();
64
73
  return this.componentCssSheetPromise;
65
74
  }
75
+ static canUseConstructableStylesheets(target) {
76
+ try {
77
+ return (typeof CSSStyleSheet !== "undefined" &&
78
+ typeof CSSStyleSheet.prototype?.replace === "function" &&
79
+ typeof target.adoptedStyleSheets !== "undefined" &&
80
+ Array.isArray(target.adoptedStyleSheets));
81
+ }
82
+ catch {
83
+ return false;
84
+ }
85
+ }
86
+ static ensureInlineStyle(target, key, cssText) {
87
+ const container = (target instanceof Document)
88
+ ? (target.head ?? target.documentElement)
89
+ : target;
90
+ const selector = `style[data-triplet-css="${CSS.escape(key)}"]`;
91
+ const existing = container.querySelector?.(selector);
92
+ if (existing)
93
+ return;
94
+ const styleEl = document.createElement("style");
95
+ styleEl.setAttribute("data-triplet-css", key);
96
+ styleEl.textContent = cssText;
97
+ container.appendChild(styleEl);
98
+ }
66
99
  async init() {
67
100
  const isOnline = await ServiceWorker.isOnline();
68
101
  if (this.access === AccessType.NONE)
@@ -81,14 +114,6 @@ export default class Triplet {
81
114
  async cache() {
82
115
  //
83
116
  }
84
- createLink(cssPath) {
85
- const link = document.createElement('link');
86
- link.rel = 'stylesheet';
87
- ///
88
- link.href = cssPath;
89
- ///
90
- return link;
91
- }
92
117
  async register(type, name) {
93
118
  if (!this.uni) {
94
119
  switch (type) {
@@ -103,12 +128,18 @@ export default class Triplet {
103
128
  if (!this.lightCssApplied) {
104
129
  const lightCssText = await this.getLightCssText();
105
130
  if (lightCssText) {
106
- const style = new CSSStyleSheet();
107
- await style.replace(lightCssText);
108
- document.adoptedStyleSheets = [
109
- ...document.adoptedStyleSheets,
110
- style
111
- ];
131
+ const key = this.ltCssURL ?? "light-inline";
132
+ if (Triplet.canUseConstructableStylesheets(document)) {
133
+ const style = new CSSStyleSheet();
134
+ await style.replace(lightCssText);
135
+ document.adoptedStyleSheets = [
136
+ ...document.adoptedStyleSheets,
137
+ style
138
+ ];
139
+ }
140
+ else {
141
+ Triplet.ensureInlineStyle(document, key, lightCssText);
142
+ }
112
143
  }
113
144
  this.lightCssApplied = true;
114
145
  }
@@ -159,10 +190,22 @@ export default class Triplet {
159
190
  return parser.parseToDOM(markupText, this);
160
191
  };
161
192
  proto._postInit = async function (preHtml) {
162
- var dmc = this.shadowRoot ?? document;
163
- const cssSheet = await that.getComponentCssSheet();
164
- if (cssSheet) {
165
- dmc.adoptedStyleSheets = [...dmc.adoptedStyleSheets, cssSheet];
193
+ const dmc = this.shadowRoot ?? document;
194
+ const cssText = await that.getComponentCssText();
195
+ if (cssText) {
196
+ const key = that.cssURL ?? "component-inline";
197
+ if (Triplet.canUseConstructableStylesheets(dmc)) {
198
+ const cssSheet = await that.getComponentCssSheet();
199
+ if (cssSheet) {
200
+ const sheets = dmc.adoptedStyleSheets;
201
+ if (!sheets.includes(cssSheet)) {
202
+ dmc.adoptedStyleSheets = [...sheets, cssSheet];
203
+ }
204
+ }
205
+ }
206
+ else {
207
+ Triplet.ensureInlineStyle(dmc, key, cssText);
208
+ }
166
209
  }
167
210
  parser.hydrate(preHtml, this);
168
211
  return preHtml;
@@ -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.1.143",
3
+ "version": "0.1.144",
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",
@@ -47,6 +47,7 @@ export default class Triplet {
47
47
  private uni?: AnyConstructor<UniHtml>;
48
48
 
49
49
  private lightCssApplied: boolean = false;
50
+ private componentCssTextPromise?: Promise<string | undefined>;
50
51
  private componentCssSheetPromise?: Promise<CSSStyleSheet | null>;
51
52
 
52
53
  public constructor(struct: TripletStruct) {
@@ -77,11 +78,19 @@ export default class Triplet {
77
78
  return undefined;
78
79
  }
79
80
 
81
+ private async getComponentCssText(): Promise<string | undefined> {
82
+ if (this.css) return this.css;
83
+ if (!this.cssURL) return undefined;
84
+
85
+ this.componentCssTextPromise = this.componentCssTextPromise ?? Fetcher.fetchText(this.cssURL);
86
+ return this.componentCssTextPromise;
87
+ }
88
+
80
89
  private async getComponentCssSheet(): Promise<CSSStyleSheet | null> {
81
90
  if (this.componentCssSheetPromise) return this.componentCssSheetPromise;
82
91
 
83
92
  this.componentCssSheetPromise = (async () => {
84
- const cssText = this.css ?? (this.cssURL ? await Fetcher.fetchText(this.cssURL) : undefined);
93
+ const cssText = await this.getComponentCssText();
85
94
  if (!cssText) return null;
86
95
 
87
96
  const sheet = new CSSStyleSheet();
@@ -92,6 +101,34 @@ export default class Triplet {
92
101
  return this.componentCssSheetPromise;
93
102
  }
94
103
 
104
+ private static canUseConstructableStylesheets(target: Document | ShadowRoot): boolean {
105
+ try {
106
+ return (
107
+ typeof CSSStyleSheet !== "undefined" &&
108
+ typeof (CSSStyleSheet as any).prototype?.replace === "function" &&
109
+ typeof (target as any).adoptedStyleSheets !== "undefined" &&
110
+ Array.isArray((target as any).adoptedStyleSheets)
111
+ );
112
+ } catch {
113
+ return false;
114
+ }
115
+ }
116
+
117
+ private static ensureInlineStyle(target: Document | ShadowRoot, key: string, cssText: string): void {
118
+ const container: ParentNode = (target instanceof Document)
119
+ ? (target.head ?? target.documentElement)
120
+ : target;
121
+
122
+ const selector = `style[data-triplet-css="${CSS.escape(key)}"]`;
123
+ const existing = (container as ParentNode).querySelector?.(selector);
124
+ if (existing) return;
125
+
126
+ const styleEl = document.createElement("style");
127
+ styleEl.setAttribute("data-triplet-css", key);
128
+ styleEl.textContent = cssText;
129
+ (container as any).appendChild(styleEl);
130
+ }
131
+
95
132
  public async init(): Promise<boolean> {
96
133
  const isOnline: boolean = await ServiceWorker.isOnline();
97
134
 
@@ -110,16 +147,6 @@ export default class Triplet {
110
147
  //
111
148
  }
112
149
 
113
- private createLink(cssPath: string): HTMLLinkElement {
114
- const link = document.createElement('link');
115
- link.rel = 'stylesheet';
116
- ///
117
- link.href = cssPath;
118
- ///
119
- return link;
120
- }
121
-
122
-
123
150
  public async register(type: "router" | "markup", name: string): Promise<boolean> {
124
151
  if (!this.uni) {
125
152
  switch (type) {
@@ -134,12 +161,17 @@ export default class Triplet {
134
161
  if (!this.lightCssApplied) {
135
162
  const lightCssText = await this.getLightCssText();
136
163
  if (lightCssText) {
137
- const style = new CSSStyleSheet();
138
- await style.replace(lightCssText);
139
- document.adoptedStyleSheets = [
140
- ...document.adoptedStyleSheets,
141
- style
142
- ];
164
+ const key = this.ltCssURL ?? "light-inline";
165
+ if (Triplet.canUseConstructableStylesheets(document)) {
166
+ const style = new CSSStyleSheet();
167
+ await style.replace(lightCssText);
168
+ document.adoptedStyleSheets = [
169
+ ...document.adoptedStyleSheets,
170
+ style
171
+ ];
172
+ } else {
173
+ Triplet.ensureInlineStyle(document, key, lightCssText);
174
+ }
143
175
  }
144
176
  this.lightCssApplied = true;
145
177
  }
@@ -179,6 +211,7 @@ export default class Triplet {
179
211
  }
180
212
  return Promise.resolve(false);
181
213
  }
214
+
182
215
  private createInjectedClass(c: AnyConstructor<UniHtml>, type: "router" | "markup"): any {
183
216
  let that = this;
184
217
  let ori = class extends c {
@@ -188,20 +221,37 @@ export default class Triplet {
188
221
  };
189
222
  let proto = ori.prototype as any;
190
223
  const parser = new HMLEParserReborn();
224
+
191
225
  proto._init = async function (): Promise<DocumentFragment> {
192
226
  const markupText = await that.getMarkupText();
193
227
  if (!markupText) return new DocumentFragment();
194
228
  return parser.parseToDOM(markupText, this);
195
229
  }
230
+
196
231
  proto._postInit = async function (preHtml: DocumentFragment): Promise<DocumentFragment> {
197
- var dmc = this.shadowRoot ?? document;
198
- const cssSheet = await that.getComponentCssSheet();
199
- if (cssSheet) {
200
- dmc.adoptedStyleSheets = [...dmc.adoptedStyleSheets, cssSheet];
232
+ const dmc: Document | ShadowRoot = this.shadowRoot ?? document;
233
+
234
+ const cssText = await that.getComponentCssText();
235
+ if (cssText) {
236
+ const key = that.cssURL ?? "component-inline";
237
+
238
+ if (Triplet.canUseConstructableStylesheets(dmc)) {
239
+ const cssSheet = await that.getComponentCssSheet();
240
+ if (cssSheet) {
241
+ const sheets = (dmc as any).adoptedStyleSheets as CSSStyleSheet[];
242
+ if (!sheets.includes(cssSheet)) {
243
+ (dmc as any).adoptedStyleSheets = [...sheets, cssSheet];
244
+ }
245
+ }
246
+ } else {
247
+ Triplet.ensureInlineStyle(dmc, key, cssText);
248
+ }
201
249
  }
250
+
202
251
  parser.hydrate(preHtml, this);
203
252
  return preHtml;
204
253
  }
254
+
205
255
  return ori;
206
256
  }
207
257