vasille-css 7.0.0-rc.1 → 7.0.0-rc.2
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/lib/dev.js +0 -7
- package/lib/index.js +21 -8
- package/lib/lib.js +5 -1
- package/package.json +1 -1
- package/types/dev.d.ts +0 -5
- package/types/index.d.ts +4 -0
- package/types/lib.d.ts +1 -0
package/lib/dev.js
CHANGED
|
@@ -8,10 +8,3 @@ export class DevCssStyleInjector extends CssStyleInjector {
|
|
|
8
8
|
return `${super.generateClassName()}-${this.key}`;
|
|
9
9
|
}
|
|
10
10
|
}
|
|
11
|
-
export function devStyleSheet(styles) {
|
|
12
|
-
const result = {};
|
|
13
|
-
for (const key in styles) {
|
|
14
|
-
result[key] = new DevCssStyleInjector(key, styles[key]);
|
|
15
|
-
}
|
|
16
|
-
return result;
|
|
17
|
-
}
|
package/lib/index.js
CHANGED
|
@@ -12,13 +12,7 @@ export class CssStyleInjector {
|
|
|
12
12
|
}
|
|
13
13
|
const className = this.generateClassName();
|
|
14
14
|
for (const item of this.styles) {
|
|
15
|
-
|
|
16
|
-
const [target, rule] = item;
|
|
17
|
-
insertRule(target, rule.replace("{}", className));
|
|
18
|
-
}
|
|
19
|
-
else {
|
|
20
|
-
insertRule(0, item.replace("{}", className));
|
|
21
|
-
}
|
|
15
|
+
this.insertRule(item, className);
|
|
22
16
|
}
|
|
23
17
|
this.styles.splice(0);
|
|
24
18
|
return (this.className = className);
|
|
@@ -26,6 +20,25 @@ export class CssStyleInjector {
|
|
|
26
20
|
generateClassName() {
|
|
27
21
|
return `vasille-${++index}`;
|
|
28
22
|
}
|
|
23
|
+
insertRule(rule, className) {
|
|
24
|
+
if (rule instanceof Array) {
|
|
25
|
+
insertRule(rule[0], rule[1].replace("{}", className));
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
insertRule(0, rule.replace("{}", className));
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
export class SafeCssStyleInjector extends CssStyleInjector {
|
|
33
|
+
insertRule(rule, className) {
|
|
34
|
+
try {
|
|
35
|
+
super.insertRule(rule, className);
|
|
36
|
+
}
|
|
37
|
+
catch (e) {
|
|
38
|
+
// ignore any style related errors
|
|
39
|
+
void e;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
29
42
|
}
|
|
30
43
|
/**
|
|
31
44
|
* Inserts stylesheet to document
|
|
@@ -34,7 +47,7 @@ export class CssStyleInjector {
|
|
|
34
47
|
export function styleSheet(styles) {
|
|
35
48
|
const result = {};
|
|
36
49
|
for (const key in styles) {
|
|
37
|
-
result[key] = new
|
|
50
|
+
result[key] = new SafeCssStyleInjector(styles[key]);
|
|
38
51
|
}
|
|
39
52
|
return result;
|
|
40
53
|
}
|
package/lib/lib.js
CHANGED
|
@@ -22,7 +22,7 @@ function createStyleSheet(media) {
|
|
|
22
22
|
document.head.append(style);
|
|
23
23
|
return style.sheet;
|
|
24
24
|
}
|
|
25
|
-
export function
|
|
25
|
+
export function getStyleSheet(target) {
|
|
26
26
|
let sheet;
|
|
27
27
|
switch (target) {
|
|
28
28
|
case 0:
|
|
@@ -68,6 +68,10 @@ export function insertRule(target, rule) {
|
|
|
68
68
|
sheet = light;
|
|
69
69
|
break;
|
|
70
70
|
}
|
|
71
|
+
return sheet;
|
|
72
|
+
}
|
|
73
|
+
export function insertRule(target, rule) {
|
|
74
|
+
const sheet = getStyleSheet(target);
|
|
71
75
|
/* istanbul ignore else */
|
|
72
76
|
if (sheet) {
|
|
73
77
|
sheet.insertRule(rule, sheet.cssRules.length);
|
package/package.json
CHANGED
package/types/dev.d.ts
CHANGED
|
@@ -4,8 +4,3 @@ export declare class DevCssStyleInjector extends CssStyleInjector {
|
|
|
4
4
|
constructor(key: string, styles: (string | [number, string])[]);
|
|
5
5
|
protected generateClassName(): string;
|
|
6
6
|
}
|
|
7
|
-
export declare function devStyleSheet<T extends {
|
|
8
|
-
[k: string]: (string | [number, string])[];
|
|
9
|
-
}>(styles: T): {
|
|
10
|
-
[K in keyof T]: DevCssStyleInjector;
|
|
11
|
-
};
|
package/types/index.d.ts
CHANGED
|
@@ -5,6 +5,10 @@ export declare class CssStyleInjector {
|
|
|
5
5
|
constructor(styles: (string | [number, string])[]);
|
|
6
6
|
inject(): string;
|
|
7
7
|
protected generateClassName(): string;
|
|
8
|
+
protected insertRule(rule: string | [number, string], className: string): void;
|
|
9
|
+
}
|
|
10
|
+
export declare class SafeCssStyleInjector extends CssStyleInjector {
|
|
11
|
+
protected insertRule(rule: string | [number, string], className: string): void;
|
|
8
12
|
}
|
|
9
13
|
/**
|
|
10
14
|
* Inserts stylesheet to document
|
package/types/lib.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export declare function setMobileMaxWidth(value: number): void;
|
|
2
2
|
export declare function setTabletMaxWidth(value: number): void;
|
|
3
3
|
export declare function setLaptopMaxWidth(value: number): void;
|
|
4
|
+
export declare function getStyleSheet(target: number): CSSStyleSheet | undefined;
|
|
4
5
|
export declare function insertRule(target: number, rule: string): void;
|