dothtml 6.0.0-beta.3 → 6.0.0-beta.31
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/build_module/css/css-props.d.ts +8 -0
- package/build_module/css/css-props.js +40 -0
- package/build_module/css/css-props.js.map +1 -0
- package/build_module/css/css.js +1 -0
- package/build_module/css/css.js.map +1 -0
- package/build_module/css/format-css-type.d.ts +5 -0
- package/build_module/css/format-css-type.js +73 -0
- package/build_module/css/format-css-type.js.map +1 -0
- package/build_module/decoration/component.d.ts +9 -20
- package/build_module/decoration/component.js +20 -17
- package/build_module/decoration/component.js.map +1 -1
- package/build_module/decoration/use-styles.d.ts +14 -0
- package/build_module/decoration/use-styles.js +19 -0
- package/build_module/decoration/use-styles.js.map +1 -0
- package/build_module/dot.js +166 -343
- package/build_module/dot.js.map +1 -1
- package/build_module/helpers/render-css.d.ts +2 -0
- package/build_module/helpers/render-css.js +20 -0
- package/build_module/helpers/render-css.js.map +1 -0
- package/build_module/helpers/render-stylesheet.d.ts +2 -0
- package/build_module/helpers/render-stylesheet.js +27 -0
- package/build_module/helpers/render-stylesheet.js.map +1 -0
- package/build_module/helpers/tools.d.ts +3 -0
- package/build_module/helpers/tools.js +50 -0
- package/build_module/helpers/tools.js.map +1 -0
- package/build_module/helpers.d.ts +1 -0
- package/build_module/helpers.js +1 -0
- package/build_module/helpers.js.map +1 -1
- package/build_module/index.js +1 -0
- package/build_module/index.js.map +1 -1
- package/build_module/reactive.d.ts +10 -1
- package/build_module/reactive.js +34 -4
- package/build_module/reactive.js.map +1 -1
- package/build_module/v-meta-nodes/attribute-v-node.d.ts +12 -0
- package/build_module/v-meta-nodes/attribute-v-node.js +48 -0
- package/build_module/v-meta-nodes/attribute-v-node.js.map +1 -0
- package/build_module/v-meta-nodes/style-v-node.d.ts +16 -0
- package/build_module/v-meta-nodes/style-v-node.js +135 -0
- package/build_module/v-meta-nodes/style-v-node.js.map +1 -0
- package/build_module/v-meta-nodes/v-meta-node.d.ts +5 -0
- package/build_module/v-meta-nodes/v-meta-node.js +3 -0
- package/build_module/v-meta-nodes/v-meta-node.js.map +1 -0
- package/build_module/v-style-nodes/base-v-style.d.ts +14 -0
- package/build_module/v-style-nodes/base-v-style.js +112 -0
- package/build_module/v-style-nodes/base-v-style.js.map +1 -0
- package/build_module/v-style-nodes/css-function-builder-v-style.d.ts +17 -0
- package/build_module/v-style-nodes/css-function-builder-v-style.js +28 -0
- package/build_module/v-style-nodes/css-function-builder-v-style.js.map +1 -0
- package/build_module/v-style-nodes/filter-v-style.d.ts +13 -0
- package/build_module/v-style-nodes/filter-v-style.js +35 -0
- package/build_module/v-style-nodes/filter-v-style.js.map +1 -0
- package/build_module/v-style-nodes/transform-v-style.d.ts +28 -0
- package/build_module/v-style-nodes/transform-v-style.js +76 -0
- package/build_module/v-style-nodes/transform-v-style.js.map +1 -0
- package/build_module/v-style-nodes/v-style.d.ts +6 -0
- package/build_module/v-style-nodes/v-style.js +6 -0
- package/build_module/v-style-nodes/v-style.js.map +1 -0
- package/build_module/vdom-nodes/collection-vdom.js +1 -1
- package/build_module/vdom-nodes/collection-vdom.js.map +1 -1
- package/build_module/vdom-nodes/component-vdom.d.ts +0 -1
- package/build_module/vdom-nodes/component-vdom.js +36 -14
- package/build_module/vdom-nodes/component-vdom.js.map +1 -1
- package/build_module/vdom-nodes/container-vdom.d.ts +2 -0
- package/build_module/vdom-nodes/container-vdom.js +12 -0
- package/build_module/vdom-nodes/container-vdom.js.map +1 -1
- package/build_module/vdom-nodes/element-vdom.d.ts +3 -0
- package/build_module/vdom-nodes/element-vdom.js +39 -0
- package/build_module/vdom-nodes/element-vdom.js.map +1 -1
- package/build_module/vdom-nodes/html-vdom.js +1 -1
- package/build_module/vdom-nodes/html-vdom.js.map +1 -1
- package/build_module/window-wrapper.d.ts +20 -0
- package/build_module/window-wrapper.js +36 -0
- package/build_module/window-wrapper.js.map +1 -0
- package/package.json +4 -3
- package/readme.md +1 -1
- package/build_module/decoration/style.js +0 -1
- package/build_module/decoration/style.js.map +0 -1
- /package/build_module/{decoration/style.d.ts → css/css.d.ts} +0 -0
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
const allProps = {
|
|
2
|
+
color: "color|background-Color|border-Bottom-Color|border-Color|border-Left-Color|border-Right-Color|border-Top-Color|text-Decoration-Color|outline-Color|column-Rule-Color",
|
|
3
|
+
length: "background-Size|block-Size|border-Bottom-Left-Radius|border-Bottom-Right-Radius|border-Bottom-Width|border-Image-Width|border-Left-Width|border-Radius|border-Right-Width|border-Top-Left-Radius|border-Top-Right-Radius|border-Top-Width|border-Width|bottom|gap|height|left|margin|margin-Bottom|margin-Left|margin-Right|margin-Top|max-Height|max-Width|min-Height|min-Width|padding|padding-Bottom|padding-Left|padding-Right|padding-Top|right|top|width|line-Height|flex-Basis|font-Size|text-Indent",
|
|
4
|
+
url: "background-Image|border-Image|list-Style-Image|content|image-Orientation",
|
|
5
|
+
transformation: "transform",
|
|
6
|
+
filter: "filter|backdrop-Filter",
|
|
7
|
+
misc: "appearance|aspect-Ratio|opacity|background|background-Attachment|background-Blend-Mode|background-Position|background-Repeat|background-Clip|background-Origin|border|border-Bottom|border-Bottom-Style|border-Image-Outset|border-Image-Repeat|border-Image-Slice|border-Image-Source|border-Left|border-Left-Style|border-Right|border-Right-Style|border-Style|border-Top|border-Top-Style|box-Decoration-Break|box-Shadow|clear|clip|display|float|overflow|box|overflow-X|overflow-Y|position|visibility|vertical-Align|z-Index|align-Content|align-Items|align-Self|flex|flex-Basis|flex-Direction|flex-Flow|flex-Grow|flex-Shrink|flex-Wrap|grid|grid-Area|grid-Auto-Columns|grid-auto-Rows|grid-Column|grid-Column-End|grid-Column-Gap|grid-Column-Start|grid-Gap|grid-Row|grid-Row-End|grid-Row-Gap|grid-Row-Start|grid-Template|grid-Template-Areas|grid-Template-Columns|grid-Template-Rows|justify-Content|order|hanging-Punctuation|hyphens|letter-Spacing|line-Break|overflow-Wrap|tab-Size|text-Align|text-Align-Last|text-Combine-Upright|text-Justify|text-Transform|white-Space|word-Break|word-Spacing|word-Wrap|text-Decoration|text-Decoration-Line|text-Decoration-Style|text-Shadow|text-Underline-Position|font|font-Family|font-Feature-Settings|font-Kerning|font-Language-Override|font-Size-Adjust|font-Stretch|font-Style|font-Synthesis|font-Variant|font-Variant-Alternates|font-Variant-Caps|font-Variant-East-Asian|font-Variant-Ligatures|font-Variant-Numeric|font-Variant-Position|font-Weight|direction|text-Orientation|text-Combine-Upright|unicode-Bidi|user-Select|writing-Mode|border-Collapse|border-Spacing|caption-Side|empty-Cells|table-Layout|counter-Increment|counter-Reset|list-Style|list-Style-Position|list-Style-Type|animation|animation-Delay|animation-Direction|animation-Duration|animation-Fill-Mode|animation-Iteration-Count|animation-Name|animation-Play-State|animation-Timing-Function|backface-Visibility|perspective2d|perspective-Origin|transform-Origin|transform-Style|transition|transition-Property|transition-Duration|transition-Timing-Function|transition-Delay|box-Sizing|cursor|ime-Mode|nav-Down|nav-Index|nav-Left|nav-Right|nav-Up|outline|outline-Offset|outline-Style|outline-Width|resize|text-Overflow|break-After|break-Before|break-Inside|column-Count|column-Fill|column-Gap|column-Rule|column-Rule-Style|column-Rule-Width|column-Span|column-Width|columns|widows|orphans|page-Break-After|page-Break-Before|page-Break-Inside|marks|quotes|image-Rendering|image-Resolution|object-Fit|object-Position|mask|mask-Type|mark|mark-After|mark-Before|phonemes|rest|rest-After|rest-Before|voice-Balance|voice-Duration|voice-Pitch|voice-Pitch-Range|voice-Rate|voice-Stress|voice-Volume|marquee-Direction|marquee-Play-Count|marquee-Speed|marquee-Style|pointer-Events"
|
|
8
|
+
};
|
|
9
|
+
const lengthSuffixes = "Cm|Mm|In|Px|Pt|Pc|Q|Cap|Ch|Em|Ex|Ic|Lh|Rem|Rlh|Vh|Vw|Vmin|Vmax|Vb|Vi|Cqw|Cqh|Cqi|Cqb|Cqmin|Cqmax|P".split("|");
|
|
10
|
+
const cssProps = {};
|
|
11
|
+
for (let cssType in allProps) {
|
|
12
|
+
let props = allProps[cssType].split("|");
|
|
13
|
+
for (let p of props) {
|
|
14
|
+
let key = p.split("-").join("");
|
|
15
|
+
switch (cssType) {
|
|
16
|
+
case "length": {
|
|
17
|
+
for (let s of lengthSuffixes) {
|
|
18
|
+
cssProps[`${key}${s}`] = {
|
|
19
|
+
dotName: key,
|
|
20
|
+
cssName: p.toLowerCase(),
|
|
21
|
+
type: cssType,
|
|
22
|
+
unit: s == "P" ? "%" : s.toLowerCase()
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
break;
|
|
26
|
+
}
|
|
27
|
+
default: {
|
|
28
|
+
break;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
cssProps[key] = {
|
|
32
|
+
dotName: key,
|
|
33
|
+
cssName: p.toLowerCase(),
|
|
34
|
+
type: cssType,
|
|
35
|
+
unit: undefined
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
export default cssProps;
|
|
40
|
+
//# sourceMappingURL=css-props.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"css-props.js","sourceRoot":"","sources":["../../src/css/css-props.ts"],"names":[],"mappings":"AAEA,MAAM,QAAQ,GAAG;IAChB,KAAK,EAAE,qKAAqK;IAC5K,MAAM,EAAE,6eAA6e;IACrf,GAAG,EAAE,0EAA0E;IAC/E,cAAc,EAAE,WAAW;IAC3B,MAAM,EAAE,wBAAwB;IAChC,IAAI,EAAE,wsFAAwsF;CAC9sF,CAAA;AAED,MAAM,cAAc,GAAG,oGAAoG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAWvI,MAAM,QAAQ,GAA4B,EAAE,CAAC;AAE7C,KAAI,IAAI,OAAO,IAAI,QAAQ,EAAC;IAC3B,IAAI,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACzC,KAAI,IAAI,CAAC,IAAI,KAAK,EAAC;QAClB,IAAI,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChC,QAAO,OAAO,EAAC;YACd,KAAK,QAAQ,CAAC,CAAC;gBACd,KAAI,IAAI,CAAC,IAAI,cAAc,EAAC;oBAC3B,QAAQ,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,GAAG;wBACxB,OAAO,EAAE,GAAG;wBACZ,OAAO,EAAE,CAAC,CAAC,WAAW,EAAE;wBACxB,IAAI,EAAE,OAAO;wBACb,IAAI,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;qBACtC,CAAC;iBACF;gBACD,MAAM;aACN;YACD,OAAO,CAAC,CAAC;gBACR,MAAM;aACN;SACD;QAED,QAAQ,CAAC,GAAG,CAAC,GAAG;YACf,OAAO,EAAE,GAAG;YACZ,OAAO,EAAE,CAAC,CAAC,WAAW,EAAE;YACxB,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,SAAS;SACf,CAAC;KACF;CACD;AAED,eAAe,QAAQ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=css.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"css.js","sourceRoot":"","sources":["../../src/css/css.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import Reactive from "../reactive";
|
|
2
|
+
export declare function formatCssLength(value: string | number | Reactive | Array<string | number | Reactive>, defaultUnits?: string): any;
|
|
3
|
+
export declare function formatCssPercentage(value: string | number | Reactive | Array<string | number | Reactive>): any;
|
|
4
|
+
export declare function formatCssColor(value: string | number): string;
|
|
5
|
+
export declare function formatCssAngle(value: string | number | Reactive | Array<string | number | Reactive>): any;
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { floatRegex } from "../helpers/tools";
|
|
2
|
+
import Reactive from "../reactive";
|
|
3
|
+
export function formatCssLength(value, defaultUnits = "px") {
|
|
4
|
+
value = value || "0px";
|
|
5
|
+
if (value instanceof Reactive)
|
|
6
|
+
value = value.getValue();
|
|
7
|
+
if (value instanceof Array) {
|
|
8
|
+
return value.map(v => formatCssLength(v, defaultUnits)).join(" ");
|
|
9
|
+
}
|
|
10
|
+
if (!isNaN(value))
|
|
11
|
+
value = Math.round(value) + defaultUnits;
|
|
12
|
+
let tokens = value.trim().split(" ");
|
|
13
|
+
if (tokens.length > 1) {
|
|
14
|
+
return tokens.map(t => formatCssLength(t, defaultUnits)).join(" ");
|
|
15
|
+
}
|
|
16
|
+
else {
|
|
17
|
+
let length = Number(value.match(floatRegex)[0]);
|
|
18
|
+
let units = value.split(floatRegex)[1] || defaultUnits;
|
|
19
|
+
return `${length}${units}`;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
export function formatCssPercentage(value) {
|
|
23
|
+
value = value || "0%";
|
|
24
|
+
if (value instanceof Reactive)
|
|
25
|
+
value = value.getValue();
|
|
26
|
+
if (value instanceof Array) {
|
|
27
|
+
return value.map(v => formatCssPercentage(v)).join(" ");
|
|
28
|
+
}
|
|
29
|
+
let tokens = value.trim().split(" ");
|
|
30
|
+
if (tokens.length > 1) {
|
|
31
|
+
return tokens.map(t => formatCssPercentage(t)).join(" ");
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
return isNaN(value) ? value : `${value}%`;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
export function formatCssColor(value) {
|
|
38
|
+
if (typeof value == "number") {
|
|
39
|
+
let r = 0;
|
|
40
|
+
let g = 0;
|
|
41
|
+
let b = 0;
|
|
42
|
+
let a = 1;
|
|
43
|
+
b = value & 0xFF;
|
|
44
|
+
value >>= 8;
|
|
45
|
+
g = value & 0xFF;
|
|
46
|
+
value >>= 8;
|
|
47
|
+
r = value & 0xFF;
|
|
48
|
+
return `rgb(${r} ${g} ${b})`;
|
|
49
|
+
}
|
|
50
|
+
else if (typeof value == "string") {
|
|
51
|
+
return value;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
export function formatCssAngle(value) {
|
|
55
|
+
value = value || "0deg";
|
|
56
|
+
if (value instanceof Reactive)
|
|
57
|
+
value = value.getValue();
|
|
58
|
+
if (value instanceof Array) {
|
|
59
|
+
return value.map(v => formatCssAngle(v)).join(" ");
|
|
60
|
+
}
|
|
61
|
+
if (!isNaN(value))
|
|
62
|
+
value = `${Math.round(value)}deg`;
|
|
63
|
+
let tokens = value.trim().split(" ");
|
|
64
|
+
if (tokens.length > 1) {
|
|
65
|
+
return tokens.map(t => formatCssAngle(t)).join(" ");
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
let angle = Number(value.match(floatRegex)[0]);
|
|
69
|
+
let units = value.split(floatRegex)[1] || "deg";
|
|
70
|
+
return `${angle}${units}`;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=format-css-type.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format-css-type.js","sourceRoot":"","sources":["../../src/css/format-css-type.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,25 +1,14 @@
|
|
|
1
|
-
import { IComponent } from "dothtml-interfaces";
|
|
2
|
-
export declare function component(Base: new (...args: Array<any>) => IComponent): {
|
|
1
|
+
import { FrameworkItems, IComponent } from "dothtml-interfaces";
|
|
2
|
+
export declare function component(Base: new (...args: Array<any>) => IComponent, styles?: Array<string>): {
|
|
3
3
|
new (...args: any[]): {
|
|
4
|
-
_:
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
tagName: string;
|
|
12
|
-
args: any[];
|
|
13
|
-
sharedStyles: CSSStyleSheet;
|
|
14
|
-
};
|
|
15
|
-
};
|
|
16
|
-
events?: string[];
|
|
17
|
-
build(...args: any[]): import("dothtml-interfaces").IDotGenericElement;
|
|
18
|
-
style?(css: import("dothtml-interfaces").IDotCss): void;
|
|
19
|
-
creating?(...args: any[]): void;
|
|
20
|
-
ready?(): void;
|
|
4
|
+
_: FrameworkItems;
|
|
5
|
+
build(): import("dothtml-interfaces").IDotDocument;
|
|
6
|
+
built?(): void;
|
|
7
|
+
mounting?(): void;
|
|
8
|
+
mounted?(): void;
|
|
9
|
+
unmounting?(): void;
|
|
10
|
+
unmounted?(): void;
|
|
21
11
|
deleting?(): void;
|
|
22
12
|
deleted?(): void;
|
|
23
|
-
built?(): void;
|
|
24
13
|
};
|
|
25
14
|
};
|
|
@@ -1,30 +1,33 @@
|
|
|
1
1
|
let tagId = 0x10000;
|
|
2
2
|
function restyle(c) {
|
|
3
|
-
if (c._.
|
|
4
|
-
|
|
3
|
+
if (c._._meta.shadowRoot && c._?._meta?.sharedStyles) {
|
|
4
|
+
c._._meta.shadowRoot.adoptedStyleSheets = c._._meta.sharedStyles;
|
|
5
5
|
}
|
|
6
6
|
}
|
|
7
|
-
|
|
7
|
+
const documentStyles = {
|
|
8
|
+
default: {}
|
|
9
|
+
};
|
|
10
|
+
export function component(Base, styles = []) {
|
|
11
|
+
if (typeof styles == "string") {
|
|
12
|
+
styles = [styles];
|
|
13
|
+
}
|
|
8
14
|
let ts = (Math.floor(performance.now() * 10000000000000)).toString(16);
|
|
9
15
|
let tId = (tagId++).toString(16);
|
|
10
16
|
let tagName = `dothtml-${tId}${component["_addTimestamp"] ? `-${ts}` : ""}`;
|
|
11
|
-
let sharedStyles = new CSSStyleSheet();
|
|
12
17
|
return class extends Base {
|
|
13
18
|
constructor(...args) {
|
|
14
|
-
super(
|
|
15
|
-
this._
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
tagName: tagName,
|
|
23
|
-
args: null,
|
|
24
|
-
sharedStyles: sharedStyles
|
|
25
|
-
}
|
|
26
|
-
};
|
|
19
|
+
super();
|
|
20
|
+
if (!this._) {
|
|
21
|
+
this._ = {};
|
|
22
|
+
}
|
|
23
|
+
this._.refs = {};
|
|
24
|
+
this._.props = args[0] || {};
|
|
25
|
+
this._.restyle = () => { restyle(this); };
|
|
26
|
+
this._._meta = this._._meta || {};
|
|
27
27
|
this._._meta.args = args;
|
|
28
|
+
this._._meta.isRendered = false;
|
|
29
|
+
this._._meta.tagName = tagName;
|
|
30
|
+
this._._meta.styles = styles;
|
|
28
31
|
}
|
|
29
32
|
};
|
|
30
33
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component.js","sourceRoot":"","sources":["../../src/decoration/component.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"component.js","sourceRoot":"","sources":["../../src/decoration/component.ts"],"names":[],"mappings":"AAGA,IAAI,KAAK,GAAG,OAAO,CAAC;AAEpB,SAAS,OAAO,CAAC,CAAa;IAC7B,IAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,YAAY,EAAC;QACnD,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,kBAAkB,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC;KAGjE;AACF,CAAC;AAED,MAAM,cAAc,GAAG;IACtB,OAAO,EAAE,EAAE;CACX,CAAC;AAKF,MAAM,UAAU,SAAS,CAAC,IAAyC,EAAE,SAAwB,EAAE;IAE9F,IAAG,OAAO,MAAM,IAAI,QAAQ,EAAC;QAC5B,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC;KAClB;IAED,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,GAAC,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IACrE,IAAI,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IACjC,IAAI,OAAO,GAAG,WAAW,GAAG,GAAG,SAAS,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IAoB5E,OAAO,KAAM,SAAQ,IAAI;QAIxB,YAAY,GAAG,IAAW;YACzB,KAAK,EAAE,CAAC;YAER,IAAG,CAAC,IAAI,CAAC,CAAC,EAAC;gBACT,IAAI,CAAC,CAAS,GAAG,EAAE,CAAC;aACrB;YACA,IAAI,CAAC,CAAC,CAAC,IAAY,GAAG,EAAE,CAAC;YACzB,IAAI,CAAC,CAAC,CAAC,KAAa,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACrC,IAAI,CAAC,CAAC,CAAC,OAAe,GAAG,GAAE,EAAE,GAAC,OAAO,CAAC,IAAI,CAAC,CAAA,CAAA,CAAC,CAAC;YAC7C,IAAI,CAAC,CAAC,CAAC,KAAa,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YAC1C,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAY,GAAG,IAAI,CAAC;YACjC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,UAAkB,GAAG,KAAK,CAAC;YACxC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,OAAe,GAAG,OAAO,CAAC;YACvC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,MAAc,GAAG,MAAM,CAAC;QAWvC,CAAC;KACD,CAAA;AACF,CAAC;AAED,SAAS,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { FrameworkItems, IComponent } from "dothtml-interfaces";
|
|
2
|
+
export declare function useStyles(styleCallback: any, document?: Document): (Base: new (...args: Array<any>) => IComponent) => {
|
|
3
|
+
new (...args: any[]): {
|
|
4
|
+
_: FrameworkItems;
|
|
5
|
+
build(): import("dothtml-interfaces").IDotDocument;
|
|
6
|
+
built?(): void;
|
|
7
|
+
mounting?(): void;
|
|
8
|
+
mounted?(): void;
|
|
9
|
+
unmounting?(): void;
|
|
10
|
+
unmounted?(): void;
|
|
11
|
+
deleting?(): void;
|
|
12
|
+
deleted?(): void;
|
|
13
|
+
};
|
|
14
|
+
};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import renderStylesheet from "../helpers/render-stylesheet";
|
|
2
|
+
export function useStyles(styleCallback, document = window.document) {
|
|
3
|
+
let sharedStyles = renderStylesheet(styleCallback, document);
|
|
4
|
+
return function (Base) {
|
|
5
|
+
return class extends Base {
|
|
6
|
+
constructor(...args) {
|
|
7
|
+
super(...args);
|
|
8
|
+
if (!this._) {
|
|
9
|
+
this._ = { _meta: {} };
|
|
10
|
+
}
|
|
11
|
+
if (!this._._meta.sharedStyles) {
|
|
12
|
+
this._._meta.sharedStyles = [];
|
|
13
|
+
}
|
|
14
|
+
this._._meta.sharedStyles.push(sharedStyles);
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=use-styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-styles.js","sourceRoot":"","sources":["../../src/decoration/use-styles.ts"],"names":[],"mappings":"AACA,OAAO,gBAAgB,MAAM,8BAA8B,CAAC;AAK5D,MAAM,UAAU,SAAS,CAAC,aAAa,EAAE,WAAqB,MAAM,CAAC,QAAQ;IAE5E,IAAI,YAAY,GAAG,gBAAgB,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;IAE7D,OAAO,UAAS,IAAyC;QAGxD,OAAO,KAAM,SAAQ,IAAI;YAIxB,YAAY,GAAG,IAAW;gBACzB,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;gBACf,IAAG,CAAC,IAAI,CAAC,CAAC,EAAC;oBACT,IAAI,CAAC,CAAS,GAAG,EAAC,KAAK,EAAE,EAAE,EAAC,CAAC;iBAC9B;gBACD,IAAG,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,EAAC;oBAC5B,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,YAAoB,GAAG,EAAE,CAAC;iBACxC;gBACD,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,YAAmB,CAAC,CAAC;YACrD,CAAC;SACD,CAAA;IACF,CAAC,CAAA;AACF,CAAC"}
|