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 +1 -1
- package/u2/Element.js +14 -2
- package/u2/enhance.js +2 -1
- package/u2/plan-scoped-refactoring.md +3 -4
- package/u2/utils.js +0 -16
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "u2ui",
|
|
3
|
-
"version": "1.5.
|
|
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
|
|
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
|
-
|
|
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
|
-
}
|