u2ui 1.5.2 → 1.5.3

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "u2ui",
3
- "version": "1.5.2",
3
+ "version": "1.5.3",
4
4
  "description": "HTML Advanced: More Capabilities, Same Feel, Same Simplicity",
5
5
  "keywords": ["web-components","pattern-library","component-library","ui-toolkit","design-system"],
6
6
  "author": "Tobias Buschor",
package/u2/Element.js CHANGED
@@ -1,5 +1,3 @@
1
- import { sheet } from './utils.js';
2
-
3
1
  const base = new URL('../', import.meta.url).href; // this copy of u2
4
2
 
5
3
  /** Base class for u2 elements — keeps a subtree on one u2 version.
@@ -35,3 +33,17 @@ function use(el, category, name, {css = category !== 'attr', js = category !== '
35
33
  registry.get(tag) || registry.define(tag, mod.default);
36
34
  }, warn);
37
35
  }
36
+
37
+
38
+ const sheets = new Map();
39
+ /** One parsed CSSStyleSheet per url, shared by every root that adopts it — enhance uses it too. */
40
+ export function sheet(url) {
41
+ if (!sheets.has(url)) {
42
+ sheets.set(url, fetch(url).then(r => r.text()).then(css => {
43
+ const s = new CSSStyleSheet();
44
+ s.replaceSync(css); // u2 css has no relative url() and no @import
45
+ return s;
46
+ }));
47
+ }
48
+ return sheets.get(url);
49
+ }
package/u2/enhance.js CHANGED
@@ -9,7 +9,8 @@ document it stays a <link>, so the page keeps its say over u2's own rules.
9
9
  See ./plan-scoped-refactoring.md */
10
10
 
11
11
  import { repos } from './u2.js';
12
- import { importCss, sheet } from './utils.js';
12
+ import { importCss } from './utils.js';
13
+ import { sheet } from './Element.js';
13
14
 
14
15
  const base = new URL('../', import.meta.url).href; // this copy of u2 — another root may run another
15
16
  const scoped = 'customElementRegistry' in ShadowRoot.prototype;
@@ -263,9 +263,6 @@ Erst ab **Phase 3** relevant:
263
263
 
264
264
  ## Offen / später
265
265
 
266
- - **Die übrigen 36 Elemente auf `U2Element`.** Solange eines `extends HTMLElement` bleibt, fällt
267
- sein Shadow auf `window.customElements` zurück, sobald es doch mal ein u2-Element rendert.
268
- Mechanisch, aber 36 Dateien.
269
266
  - **Attribute sind kein Registry-Problem.** Sie kollidieren nicht über Namen, sie
270
267
  *installieren sich doppelt*, wenn zwei u2-Kopien laufen. Alle 10 hängen ihre Listener an
271
268
  `document`, vier davon (`confirm`, `dropzone`, `draghandle`, `movable`) benutzen
@@ -309,7 +306,9 @@ Sheet eintrifft. Solange der Vater ein Tree-`<style>` hat, muss er die Kind-Rege
309
306
  **überspezifizieren**. Ein echter Fall bestand: `fields` überschrieb `u2-responsive {display:block}`
310
307
  mit `u2-responsive {display:grid}` — Gleichstand, jetzt `#container`.
311
308
 
312
- Die sechs Module, die u2-Elemente in ihr *eigenes* Shadow rendern:
309
+ `U2Element` ist keine Migration, sondern eine Regel: **wer ein u2-Element in sein eigenes Shadow
310
+ rendert, erbt davon.** Das sind heute genau diese sechs — die übrigen 35 öffnen entweder kein
311
+ Shadow oder rendern nichts von u2 hinein und brauchen die Basisklasse nicht.
313
312
 
314
313
  | Modul | Kind |
315
314
  |---|---|
package/u2/utils.js CHANGED
@@ -60,19 +60,3 @@ function rootGetStyleWrapper(root) {
60
60
  return styleWrapper;
61
61
  }
62
62
 
63
-
64
- ///////////////////////////
65
- // stylesheets
66
-
67
- const sheets = new Map();
68
- /** One parsed CSSStyleSheet per url, shared by every root that adopts it. */
69
- export function sheet(url) {
70
- if (!sheets.has(url)) {
71
- sheets.set(url, fetch(url).then(r => r.text()).then(css => {
72
- const s = new CSSStyleSheet();
73
- s.replaceSync(css); // u2 css has no relative url() and no @import
74
- return s;
75
- }));
76
- }
77
- return sheets.get(url);
78
- }