react-native-unistyles 3.0.0-alpha.21 → 3.0.0-alpha.23
Sign up to get free protection for your applications and to get access to all the features.
- package/cxx/core/UnistylesRegistry.cpp +26 -0
- package/cxx/core/UnistylesRegistry.h +1 -0
- package/cxx/hybridObjects/HybridStyleSheet.cpp +11 -5
- package/cxx/hybridObjects/HybridStyleSheet.h +1 -1
- package/cxx/parser/Parser.cpp +27 -1
- package/cxx/parser/Parser.h +1 -1
- package/lib/commonjs/web/convert/boxShadow.js +13 -13
- package/lib/commonjs/web/convert/boxShadow.js.map +1 -1
- package/lib/commonjs/web/convert/index.js +9 -11
- package/lib/commonjs/web/convert/index.js.map +1 -1
- package/lib/commonjs/web/convert/pseudo.js.map +1 -0
- package/lib/commonjs/web/convert/style.js +11 -7
- package/lib/commonjs/web/convert/style.js.map +1 -1
- package/lib/commonjs/web/convert/textShadow.js +12 -12
- package/lib/commonjs/web/convert/textShadow.js.map +1 -1
- package/lib/commonjs/web/convert/transform.js +5 -5
- package/lib/commonjs/web/convert/transform.js.map +1 -1
- package/lib/commonjs/web/{listener/listener.js → listener.js} +2 -2
- package/lib/commonjs/web/listener.js.map +1 -0
- package/lib/commonjs/web/mq.js.map +1 -1
- package/lib/commonjs/web/registry.js +159 -21
- package/lib/commonjs/web/registry.js.map +1 -1
- package/lib/commonjs/web/shadowRegistry.js +50 -48
- package/lib/commonjs/web/shadowRegistry.js.map +1 -1
- package/lib/commonjs/web/state.js +8 -16
- package/lib/commonjs/web/state.js.map +1 -1
- package/lib/commonjs/web/{utils.js → utils/common.js} +9 -47
- package/lib/commonjs/web/utils/common.js.map +1 -0
- package/lib/commonjs/web/utils/index.js +28 -0
- package/lib/commonjs/web/utils/index.js.map +1 -0
- package/lib/commonjs/web/utils/unistyle.js +82 -0
- package/lib/commonjs/web/utils/unistyle.js.map +1 -0
- package/lib/module/web/convert/boxShadow.js +13 -13
- package/lib/module/web/convert/boxShadow.js.map +1 -1
- package/lib/module/web/convert/index.js +7 -9
- package/lib/module/web/convert/index.js.map +1 -1
- package/lib/module/web/convert/pseudo.js.map +1 -0
- package/lib/module/web/convert/style.js +11 -7
- package/lib/module/web/convert/style.js.map +1 -1
- package/lib/module/web/convert/textShadow.js +12 -12
- package/lib/module/web/convert/textShadow.js.map +1 -1
- package/lib/module/web/convert/transform.js +5 -5
- package/lib/module/web/convert/transform.js.map +1 -1
- package/lib/module/web/{listener/listener.js → listener.js} +2 -2
- package/lib/module/web/listener.js.map +1 -0
- package/lib/module/web/mq.js.map +1 -1
- package/lib/module/web/registry.js +160 -22
- package/lib/module/web/registry.js.map +1 -1
- package/lib/module/web/shadowRegistry.js +51 -49
- package/lib/module/web/shadowRegistry.js.map +1 -1
- package/lib/module/web/state.js +8 -16
- package/lib/module/web/state.js.map +1 -1
- package/lib/module/web/{utils.js → utils/common.js} +7 -39
- package/lib/module/web/utils/common.js.map +1 -0
- package/lib/module/web/utils/index.js +5 -0
- package/lib/module/web/utils/index.js.map +1 -0
- package/lib/module/web/utils/unistyle.js +69 -0
- package/lib/module/web/utils/unistyle.js.map +1 -0
- package/lib/typescript/src/specs/StyleSheet/UnistylesStyleSheet.nitro.d.ts +1 -1
- package/lib/typescript/src/specs/StyleSheet/UnistylesStyleSheet.nitro.d.ts.map +1 -1
- package/lib/typescript/src/types/stylesheet.d.ts +1 -1
- package/lib/typescript/src/types/stylesheet.d.ts.map +1 -1
- package/lib/typescript/src/web/convert/boxShadow.d.ts +7 -2
- package/lib/typescript/src/web/convert/boxShadow.d.ts.map +1 -1
- package/lib/typescript/src/web/convert/index.d.ts +1 -2
- package/lib/typescript/src/web/convert/index.d.ts.map +1 -1
- package/lib/typescript/src/web/convert/pseudo.d.ts.map +1 -0
- package/lib/typescript/src/web/convert/style.d.ts +1 -2
- package/lib/typescript/src/web/convert/style.d.ts.map +1 -1
- package/lib/typescript/src/web/convert/textShadow.d.ts +7 -2
- package/lib/typescript/src/web/convert/textShadow.d.ts.map +1 -1
- package/lib/typescript/src/web/convert/transform.d.ts +1 -2
- package/lib/typescript/src/web/convert/transform.d.ts.map +1 -1
- package/lib/typescript/src/web/{listener/listener.d.ts → listener.d.ts} +1 -1
- package/lib/typescript/src/web/listener.d.ts.map +1 -0
- package/lib/typescript/src/web/mq.d.ts +6 -2
- package/lib/typescript/src/web/mq.d.ts.map +1 -1
- package/lib/typescript/src/web/registry.d.ts +21 -8
- package/lib/typescript/src/web/registry.d.ts.map +1 -1
- package/lib/typescript/src/web/shadowRegistry.d.ts +3 -4
- package/lib/typescript/src/web/shadowRegistry.d.ts.map +1 -1
- package/lib/typescript/src/web/state.d.ts +2 -2
- package/lib/typescript/src/web/state.d.ts.map +1 -1
- package/lib/typescript/src/web/{utils.d.ts → utils/common.d.ts} +2 -20
- package/lib/typescript/src/web/utils/common.d.ts.map +1 -0
- package/lib/typescript/src/web/utils/index.d.ts +3 -0
- package/lib/typescript/src/web/utils/index.d.ts.map +1 -0
- package/lib/typescript/src/web/utils/unistyle.d.ts +20 -0
- package/lib/typescript/src/web/utils/unistyle.d.ts.map +1 -0
- package/nitrogen/generated/android/c++/JColorScheme.hpp +1 -1
- package/nitrogen/generated/android/c++/JFunc_void_std__vector_UnistyleDependency_.hpp +8 -8
- package/nitrogen/generated/android/c++/JHybridNativePlatformSpec.cpp +22 -22
- package/nitrogen/generated/android/c++/JOrientation.hpp +1 -1
- package/nitrogen/generated/android/c++/JUnistyleDependency.hpp +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/unistyles/HybridNativePlatformSpec.kt +2 -2
- package/nitrogen/generated/android/{UnistylesOnLoad.cpp → unistylesOnLoad.cpp} +2 -2
- package/nitrogen/generated/android/{UnistylesOnLoad.hpp → unistylesOnLoad.hpp} +1 -1
- package/nitrogen/generated/ios/Unistyles+autolinking.rb +5 -3
- package/nitrogen/generated/ios/Unistyles-Swift-Cxx-Bridge.cpp +25 -0
- package/nitrogen/generated/ios/Unistyles-Swift-Cxx-Bridge.hpp +32 -32
- package/nitrogen/generated/ios/Unistyles-Swift-Cxx-Umbrella.hpp +0 -29
- package/nitrogen/generated/ios/swift/HybridNativePlatformSpec.swift +0 -12
- package/nitrogen/generated/ios/swift/HybridNativePlatformSpecCxx.swift +134 -110
- package/nitrogen/generated/shared/c++/ColorScheme.hpp +2 -2
- package/nitrogen/generated/shared/c++/HybridUnistylesStyleSheetSpec.cpp +1 -1
- package/nitrogen/generated/shared/c++/HybridUnistylesStyleSheetSpec.hpp +1 -1
- package/nitrogen/generated/shared/c++/Orientation.hpp +2 -2
- package/package.json +4 -15
- package/src/specs/StyleSheet/UnistylesStyleSheet.nitro.ts +1 -1
- package/src/types/stylesheet.ts +1 -1
- package/src/web/convert/boxShadow.ts +14 -15
- package/src/web/convert/index.ts +6 -13
- package/src/web/convert/style.ts +61 -10
- package/src/web/convert/textShadow.ts +13 -14
- package/src/web/convert/transform.ts +7 -8
- package/src/web/{listener/listener.ts → listener.ts} +2 -2
- package/src/web/mq.ts +1 -3
- package/src/web/registry.ts +202 -23
- package/src/web/shadowRegistry.ts +49 -49
- package/src/web/state.ts +13 -23
- package/src/web/{utils.ts → utils/common.ts} +6 -68
- package/src/web/utils/index.ts +2 -0
- package/src/web/utils/unistyle.ts +104 -0
- package/lib/commonjs/web/convert/breakpoint.js +0 -25
- package/lib/commonjs/web/convert/breakpoint.js.map +0 -1
- package/lib/commonjs/web/createUnistylesComponent.js +0 -61
- package/lib/commonjs/web/createUnistylesComponent.js.map +0 -1
- package/lib/commonjs/web/listener/index.js +0 -20
- package/lib/commonjs/web/listener/index.js.map +0 -1
- package/lib/commonjs/web/listener/listenToDependencies.js +0 -38
- package/lib/commonjs/web/listener/listenToDependencies.js.map +0 -1
- package/lib/commonjs/web/listener/listener.js.map +0 -1
- package/lib/commonjs/web/pseudo.js.map +0 -1
- package/lib/commonjs/web/utils.js.map +0 -1
- package/lib/module/web/convert/breakpoint.js +0 -20
- package/lib/module/web/convert/breakpoint.js.map +0 -1
- package/lib/module/web/createUnistylesComponent.js +0 -54
- package/lib/module/web/createUnistylesComponent.js.map +0 -1
- package/lib/module/web/listener/index.js +0 -5
- package/lib/module/web/listener/index.js.map +0 -1
- package/lib/module/web/listener/listenToDependencies.js +0 -33
- package/lib/module/web/listener/listenToDependencies.js.map +0 -1
- package/lib/module/web/listener/listener.js.map +0 -1
- package/lib/module/web/pseudo.js.map +0 -1
- package/lib/module/web/utils.js.map +0 -1
- package/lib/typescript/src/web/convert/breakpoint.d.ts +0 -3
- package/lib/typescript/src/web/convert/breakpoint.d.ts.map +0 -1
- package/lib/typescript/src/web/createUnistylesComponent.d.ts +0 -3
- package/lib/typescript/src/web/createUnistylesComponent.d.ts.map +0 -1
- package/lib/typescript/src/web/listener/index.d.ts +0 -3
- package/lib/typescript/src/web/listener/index.d.ts.map +0 -1
- package/lib/typescript/src/web/listener/listenToDependencies.d.ts +0 -12
- package/lib/typescript/src/web/listener/listenToDependencies.d.ts.map +0 -1
- package/lib/typescript/src/web/listener/listener.d.ts.map +0 -1
- package/lib/typescript/src/web/pseudo.d.ts.map +0 -1
- package/lib/typescript/src/web/utils.d.ts.map +0 -1
- package/src/web/convert/breakpoint.ts +0 -21
- package/src/web/createUnistylesComponent.tsx +0 -54
- package/src/web/listener/index.ts +0 -2
- package/src/web/listener/listenToDependencies.ts +0 -45
- /package/lib/commonjs/web/{pseudo.js → convert/pseudo.js} +0 -0
- /package/lib/module/web/{pseudo.js → convert/pseudo.js} +0 -0
- /package/lib/typescript/src/web/{pseudo.d.ts → convert/pseudo.d.ts} +0 -0
- /package/nitrogen/generated/android/{UnistylesOnLoad.kt → unistylesOnLoad.kt} +0 -0
- /package/src/web/{pseudo.ts → convert/pseudo.ts} +0 -0
@@ -0,0 +1,82 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.schemeToTheme = exports.isInDocument = exports.hexToRGBA = exports.getStyles = exports.getMediaQuery = exports.extractUnistyleDependencies = exports.extractSecrets = exports.extractMediaQueryValue = exports.assignSecrets = void 0;
|
7
|
+
var _types = require("../../specs/types");
|
8
|
+
var _mq = require("../mq");
|
9
|
+
var _state = require("../state");
|
10
|
+
var _common = require("./common");
|
11
|
+
const schemeToTheme = scheme => {
|
12
|
+
switch (scheme) {
|
13
|
+
case _types.ColorScheme.Dark:
|
14
|
+
return 'dark';
|
15
|
+
case _types.ColorScheme.Light:
|
16
|
+
default:
|
17
|
+
return 'light';
|
18
|
+
}
|
19
|
+
};
|
20
|
+
exports.schemeToTheme = schemeToTheme;
|
21
|
+
const hexToRGBA = (hex, opacity) => hex.replace('#', '').split(/(?=(?:..)*$)/).map(x => parseInt(x, 16)).filter(num => !isNaN(num)).reduce((acc, color) => `${acc}${color},`, 'rgba(').concat(`${opacity})`);
|
22
|
+
exports.hexToRGBA = hexToRGBA;
|
23
|
+
const assignSecrets = (object, secrets) => {
|
24
|
+
// @ts-expect-error - assign secrets to object
|
25
|
+
object[`__uni__secrets__${Math.random().toString(16).slice(2)}`] = secrets;
|
26
|
+
return object;
|
27
|
+
};
|
28
|
+
exports.assignSecrets = assignSecrets;
|
29
|
+
const extractSecrets = object => {
|
30
|
+
const secrets = Object.entries(object).reduce((acc, [key, value]) => {
|
31
|
+
if (key.startsWith('__uni__secrets__')) {
|
32
|
+
acc.push(value);
|
33
|
+
}
|
34
|
+
return acc;
|
35
|
+
}, []);
|
36
|
+
return secrets;
|
37
|
+
};
|
38
|
+
exports.extractSecrets = extractSecrets;
|
39
|
+
const getStyles = values => {
|
40
|
+
const returnValue = {};
|
41
|
+
Object.defineProperties(returnValue, (0, _common.reduceObject)(values, value => ({
|
42
|
+
value,
|
43
|
+
enumerable: false,
|
44
|
+
configurable: true
|
45
|
+
})));
|
46
|
+
return returnValue;
|
47
|
+
};
|
48
|
+
exports.getStyles = getStyles;
|
49
|
+
const isInDocument = element => document.body.contains(element);
|
50
|
+
exports.isInDocument = isInDocument;
|
51
|
+
const extractMediaQueryValue = query => {
|
52
|
+
const [_, px] = query.match(/(\d+)px/) ?? [];
|
53
|
+
if (!px) {
|
54
|
+
return undefined;
|
55
|
+
}
|
56
|
+
const value = Number(px);
|
57
|
+
return isNaN(value) ? undefined : value;
|
58
|
+
};
|
59
|
+
exports.extractMediaQueryValue = extractMediaQueryValue;
|
60
|
+
const getMediaQuery = query => {
|
61
|
+
if (Object.values(_types.Orientation).includes(query)) {
|
62
|
+
return `(orientation: ${query})`;
|
63
|
+
}
|
64
|
+
if ((0, _mq.isUnistylesMq)(query)) {
|
65
|
+
const {
|
66
|
+
minWidth,
|
67
|
+
maxWidth,
|
68
|
+
minHeight,
|
69
|
+
maxHeight
|
70
|
+
} = (0, _mq.parseMq)(query);
|
71
|
+
return [minWidth ? `(min-width: ${minWidth}px)` : undefined, maxWidth ? `(max-width: ${maxWidth}px)` : undefined, minHeight ? `(min-height: ${minHeight}px)` : undefined, maxHeight ? `(max-height: ${maxHeight}px)` : undefined].filter(Boolean).join(' and ');
|
72
|
+
}
|
73
|
+
const minWidth = _state.UnistylesState.breakpoints && (0, _common.keyInObject)(_state.UnistylesState.breakpoints, query) ? _state.UnistylesState.breakpoints[query] : undefined;
|
74
|
+
return `(min-width: ${minWidth ?? 0}px)`;
|
75
|
+
};
|
76
|
+
exports.getMediaQuery = getMediaQuery;
|
77
|
+
const extractUnistyleDependencies = value => {
|
78
|
+
const dependencies = (0, _common.keyInObject)(value, 'uni__dependencies') ? value.uni__dependencies : [];
|
79
|
+
return dependencies;
|
80
|
+
};
|
81
|
+
exports.extractUnistyleDependencies = extractUnistyleDependencies;
|
82
|
+
//# sourceMappingURL=unistyle.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["_types","require","_mq","_state","_common","schemeToTheme","scheme","ColorScheme","Dark","Light","exports","hexToRGBA","hex","opacity","replace","split","map","x","parseInt","filter","num","isNaN","reduce","acc","color","concat","assignSecrets","object","secrets","Math","random","toString","slice","extractSecrets","Object","entries","key","value","startsWith","push","getStyles","values","returnValue","defineProperties","reduceObject","enumerable","configurable","isInDocument","element","document","body","contains","extractMediaQueryValue","query","_","px","match","undefined","Number","getMediaQuery","Orientation","includes","isUnistylesMq","minWidth","maxWidth","minHeight","maxHeight","parseMq","Boolean","join","UnistylesState","breakpoints","keyInObject","extractUnistyleDependencies","dependencies","uni__dependencies"],"sourceRoot":"../../../../src","sources":["web/utils/unistyle.ts"],"mappings":"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","ignoreList":[]}
|
@@ -1,9 +1,7 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
|
-
import { media } from 'typestyle';
|
4
3
|
import { deepMergeObjects, warn } from '../utils';
|
5
4
|
import { validateShadow } from './shadow';
|
6
|
-
import { convertBreakpoint } from './breakpoint';
|
7
5
|
import { BOX_SHADOW_STYLES } from './types';
|
8
6
|
import { extractShadowValue, normalizeColor, normalizeNumericValue } from './utils';
|
9
7
|
const createBoxShadowValue = style => {
|
@@ -53,17 +51,19 @@ export const getBoxShadowStyle = styles => {
|
|
53
51
|
} = extractShadowValue('shadowOffset', breakpoint, styles);
|
54
52
|
const radius = extractShadowValue('shadowRadius', breakpoint, styles);
|
55
53
|
const opacity = extractShadowValue('shadowOpacity', breakpoint, styles);
|
56
|
-
return
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
54
|
+
return {
|
55
|
+
[breakpoint]: {
|
56
|
+
boxShadow: createBoxShadowValue({
|
57
|
+
shadowColor: color,
|
58
|
+
shadowOffset: {
|
59
|
+
width,
|
60
|
+
height
|
61
|
+
},
|
62
|
+
shadowRadius: radius,
|
63
|
+
shadowOpacity: opacity
|
64
|
+
})
|
65
|
+
}
|
66
|
+
};
|
67
67
|
});
|
68
68
|
|
69
69
|
// Merge all breakpoints styles into one
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["
|
1
|
+
{"version":3,"names":["deepMergeObjects","warn","validateShadow","BOX_SHADOW_STYLES","extractShadowValue","normalizeColor","normalizeNumericValue","createBoxShadowValue","style","shadowColor","shadowOffset","shadowOpacity","shadowRadius","offsetX","width","offsetY","height","radius","color","getBoxShadowStyle","styles","missingStyles","filter","key","length","join","breakpointsSet","Set","error","breakpoints","Array","from","boxShadow","breakpointStyles","map","breakpoint","opacity"],"sourceRoot":"../../../../src","sources":["web/convert/boxShadow.ts"],"mappings":";;AAAA,SAASA,gBAAgB,EAAEC,IAAI,QAAQ,UAAU;AACjD,SAASC,cAAc,QAAQ,UAAU;AACzC,SAASC,iBAAiB,QAAwB,SAAS;AAC3D,SAASC,kBAAkB,EAAEC,cAAc,EAAEC,qBAAqB,QAAQ,SAAS;AAEnF,MAAMC,oBAAoB,GAAIC,KAAgB,IAAK;EAC/C;EACA,MAAM;IAAEC,WAAW;IAAEC,YAAY;IAAEC,aAAa;IAAEC;EAAa,CAAC,GAAGJ,KAAK;EACxE,MAAMK,OAAO,GAAGP,qBAAqB,CAACI,YAAY,CAACI,KAAK,CAAC;EACzD,MAAMC,OAAO,GAAGT,qBAAqB,CAACI,YAAY,CAACM,MAAM,CAAC;EAC1D,MAAMC,MAAM,GAAGX,qBAAqB,CAACM,YAAY,CAAC;EAClD,MAAMM,KAAK,GAAGb,cAAc,CAACI,WAAW,EAAYE,aAAuB,CAAC;EAE5E,OAAO,GAAGE,OAAO,IAAIE,OAAO,IAAIE,MAAM,IAAIC,KAAK,EAAE;AACrD,CAAC;AAED,OAAO,MAAMC,iBAAiB,GAAIC,MAA2B,IAAK;EAC9D,MAAMC,aAAa,GAAGlB,iBAAiB,CAACmB,MAAM,CAACC,GAAG,IAAI,EAAEA,GAAG,IAAIH,MAAM,CAAC,CAAC;EAEvE,IAAIC,aAAa,CAACG,MAAM,EAAE;IACtBvB,IAAI,CAAC,wDAAwDoB,aAAa,CAACI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IAExF,OAAO,CAAC,CAAC;EACb;EAEA,MAAMC,cAAc,GAAG,IAAIC,GAAG,CAAS,CAAC;EAExC,IAAI;IACAzB,cAAc,CAACC,iBAAiB,EAAEiB,MAAM,EAAEM,cAAc,CAAC;EAC7D,CAAC,CAAC,OAAOE,KAAK,EAAE;IACZ,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;MAC3B3B,IAAI,CAAC2B,KAAK,CAAC;IACf;IAEA,OAAO,CAAC,CAAC;EACb;EAEA,MAAMC,WAAW,GAAGC,KAAK,CAACC,IAAI,CAACL,cAAc,CAAC;;EAE9C;EACA,IAAIG,WAAW,CAACL,MAAM,KAAK,CAAC,EAAE;IAC1B,OAAO;MACHQ,SAAS,EAAEzB,oBAAoB,CAACa,MAAmB;IACvD,CAAC;EACL;;EAEA;EACA,MAAMa,gBAAgB,GAAGJ,WAAW,CAACK,GAAG,CAACC,UAAU,IAAI;IACnD,MAAMjB,KAAK,GAAGd,kBAAkB,CAAC,aAAa,EAAE+B,UAAU,EAAEf,MAAM,CAAC;IACnE,MAAM;MAAEN,KAAK;MAAEE;IAAO,CAAC,GAAGZ,kBAAkB,CAAC,cAAc,EAAE+B,UAAU,EAAEf,MAAM,CAAC;IAChF,MAAMH,MAAM,GAAGb,kBAAkB,CAAC,cAAc,EAAE+B,UAAU,EAAEf,MAAM,CAAC;IACrE,MAAMgB,OAAO,GAAGhC,kBAAkB,CAAC,eAAe,EAAE+B,UAAU,EAAEf,MAAM,CAAC;IAEvE,OAAO;MACH,CAACe,UAAU,GAAG;QACVH,SAAS,EAAEzB,oBAAoB,CAAC;UAC5BE,WAAW,EAAES,KAAK;UAClBR,YAAY,EAAE;YACVI,KAAK;YACLE;UACJ,CAAC;UACDJ,YAAY,EAAEK,MAAM;UACpBN,aAAa,EAAEyB;QACnB,CAAC;MACL;IACJ,CAAC;EACL,CAAC,CAAC;;EAEF;EACA,OAAOpC,gBAAgB,CAAC,GAAGiC,gBAAgB,CAAC;AAChD,CAAC","ignoreList":[]}
|
@@ -1,15 +1,13 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
|
-
import {
|
4
|
-
import { isPseudo } from '../pseudo';
|
5
|
-
import { convertBreakpoint } from './breakpoint';
|
3
|
+
import { isPseudo } from './pseudo';
|
6
4
|
import { getStyle } from './style';
|
7
5
|
import { deepMergeObjects } from '../utils';
|
8
6
|
import { getTransformStyle } from './transform';
|
9
7
|
import { isBoxShadow, isTextShadow, isTransform } from './utils';
|
10
8
|
import { getTextShadowStyle } from './textShadow';
|
11
9
|
import { getBoxShadowStyle } from './boxShadow';
|
12
|
-
export const
|
10
|
+
export const convertUnistyles = value => {
|
13
11
|
// Flag to mark if textShadow is already created
|
14
12
|
let hasTextShadow = false;
|
15
13
|
// Flag to mark if boxShadow is already created
|
@@ -25,11 +23,9 @@ export const convertToTypeStyle = value => {
|
|
25
23
|
|
26
24
|
// Pseudo classes :hover, :before etc.
|
27
25
|
if (isPseudo(unistylesKey)) {
|
28
|
-
const
|
26
|
+
const flattenValues = convertUnistyles(unistylesValue);
|
29
27
|
return {
|
30
|
-
|
31
|
-
[unistylesKey.replace('_', '&:')]: typestyleValues
|
32
|
-
}
|
28
|
+
[unistylesKey]: flattenValues
|
33
29
|
};
|
34
30
|
}
|
35
31
|
|
@@ -59,7 +55,9 @@ export const convertToTypeStyle = value => {
|
|
59
55
|
// Breakpoints
|
60
56
|
if (typeof unistylesValue === 'object' && unistylesValue !== null) {
|
61
57
|
return Object.entries(unistylesValue).map(([breakpointKey, breakpointValue]) => {
|
62
|
-
return
|
58
|
+
return {
|
59
|
+
[breakpointKey]: getStyle(unistylesKey, breakpointValue)
|
60
|
+
};
|
63
61
|
});
|
64
62
|
}
|
65
63
|
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["
|
1
|
+
{"version":3,"names":["isPseudo","getStyle","deepMergeObjects","getTransformStyle","isBoxShadow","isTextShadow","isTransform","getTextShadowStyle","getBoxShadowStyle","convertUnistyles","value","hasTextShadow","hasBoxShadow","stylesArray","Object","entries","_web","flatMap","unistylesKey","unistylesValue","includes","startsWith","flattenValues","map","breakpointKey","breakpointValue"],"sourceRoot":"../../../../src","sources":["web/convert/index.ts"],"mappings":";;AACA,SAASA,QAAQ,QAAQ,UAAU;AACnC,SAASC,QAAQ,QAAQ,SAAS;AAClC,SAASC,gBAAgB,QAAQ,UAAU;AAC3C,SAASC,iBAAiB,QAAQ,aAAa;AAC/C,SAASC,WAAW,EAAEC,YAAY,EAAEC,WAAW,QAAQ,SAAS;AAChE,SAASC,kBAAkB,QAAQ,cAAc;AACjD,SAASC,iBAAiB,QAAQ,aAAa;AAE/C,OAAO,MAAMC,gBAAgB,GAAIC,KAAsB,IAAK;EACxD;EACA,IAAIC,aAAa,GAAG,KAAK;EACzB;EACA,IAAIC,YAAY,GAAG,KAAK;EAExB,MAAMC,WAAW,GAAGC,MAAM,CAACC,OAAO,CAAC;IAC/B,GAAGL,KAAK;IACR,GAAGA,KAAK,CAACM;EACb,CAAC,CAAC,CAACC,OAAO,CAAC,CAAC,CAACC,YAAY,EAAEC,cAAc,CAAC,KAAK;IAC3C;IACA,IAAI,CAAC,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,uBAAuB,CAAC,CAACC,QAAQ,CAACF,YAAY,CAAC,IAAIA,YAAY,CAACG,UAAU,CAAC,UAAU,CAAC,EAAE;MACrK,OAAO,EAAE;IACb;;IAEA;IACA,IAAIrB,QAAQ,CAACkB,YAAY,CAAC,EAAE;MACxB,MAAMI,aAAa,GAAGb,gBAAgB,CAACU,cAAiC,CAAC;MAEzE,OAAO;QAAE,CAACD,YAAY,GAAGI;MAAc,CAAC;IAC5C;;IAEA;IACA,IAAIjB,YAAY,CAACa,YAAY,CAAC,EAAE;MAC5B,IAAIP,aAAa,EAAE;QACf,OAAO,EAAE;MACb;MAEAA,aAAa,GAAG,IAAI;MAEpB,OAAOJ,kBAAkB,CAACG,KAAK,CAAC;IACpC;;IAEA;IACA,IAAIN,WAAW,CAACc,YAAY,CAAC,EAAE;MAC3B,IAAIN,YAAY,EAAE;QACd,OAAO,EAAE;MACb;MAEAA,YAAY,GAAG,IAAI;MAEnB,OAAOJ,iBAAiB,CAACE,KAAK,CAAC;IACnC;;IAEA;IACA,IAAIJ,WAAW,CAACY,YAAY,EAAEC,cAAc,CAAC,EAAE;MAC3C,OAAOhB,iBAAiB,CAACgB,cAAc,CAAC;IAC5C;;IAEA;IACA,IAAI,OAAOA,cAAc,KAAK,QAAQ,IAAIA,cAAc,KAAK,IAAI,EAAE;MAC/D,OAAOL,MAAM,CAACC,OAAO,CAACI,cAAc,CAAC,CAACI,GAAG,CAAC,CAAC,CAACC,aAAa,EAAEC,eAAe,CAAC,KAAK;QAC5E,OAAO;UAAE,CAACD,aAAa,GAAGvB,QAAQ,CAACiB,YAAY,EAAEO,eAAe;QAAE,CAAC;MACvE,CAAC,CAAC;IACN;;IAEA;IACA,OAAOxB,QAAQ,CAACiB,YAAY,EAAEC,cAAc,CAAC;EACjD,CAAC,CAA+B;EAEhC,OAAOjB,gBAAgB,CAAC,GAAGW,WAAW,CAAC;AAC3C,CAAC","ignoreList":[]}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["pseudos","isPseudo","selector","some","pseudo","startsWith"],"sourceRoot":"../../../../src","sources":["web/convert/pseudo.ts"],"mappings":";;AAAA,OAAO,MAAMA,OAAO,GAAG,CACnB,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EAClB,uBAAuB,EACvB,uBAAuB,EACvB,wBAAwB,EACxB,iBAAiB,EACjB,eAAe,EACf,uBAAuB,EACvB,uBAAuB,EACvB,uBAAuB,EACvB,sBAAsB,EACtB,kBAAkB,EAClB,qBAAqB,EACrB,uBAAuB,EACvB,SAAS,EACT,WAAW,EACX,WAAW,EACX,QAAQ,EACR,YAAY,EACZ,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,OAAO,EACP,WAAW,EACX,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,cAAc,EACd,gBAAgB,EAChB,QAAQ,EACR,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,SAAS,EACT,OAAO,EACP,OAAO,EACP,gBAAgB,EAChB,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,gBAAgB,EAChB,UAAU,EACV,MAAM,EACN,QAAQ,EACR,aAAa,EACb,eAAe,EACf,OAAO,EACP,OAAO,EACP,aAAa,EACb,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,aAAa,EACb,kBAAkB,EAClB,oBAAoB,EACpB,eAAe,EACf,aAAa,EACb,eAAe,EACf,WAAW,EACX,eAAe,EACf,OAAO,EACP,SAAS,EACT,qBAAqB,EACrB,oBAAoB,EACpB,UAAU,EACV,eAAe,EACf,YAAY,EACZ,aAAa,EACb,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,UAAU,EACV,SAAS,EACT,SAAS,EACT,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,QAAQ,EACR,UAAU,EACV,gBAAgB,EAChB,SAAS,EACT,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,EACnB,4BAA4B,EAC5B,8BAA8B,EAC9B,qCAAqC,EACrC,8BAA8B,EAC9B,8BAA8B,EAC9B,iCAAiC,EACjC,uBAAuB,EACvB,iCAAiC,EACjC,yBAAyB,EACzB,oBAAoB,EACpB,+BAA+B,EAC/B,gCAAgC,EAChC,gCAAgC,EAChC,uBAAuB,EACvB,QAAQ,EACR,WAAW,EACX,SAAS,EACT,MAAM,EACN,uBAAuB,EACvB,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,SAAS,EACT,QAAQ,EACR,cAAc,EACd,YAAY,EACZ,WAAW,EACX,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,wBAAwB,EACxB,6BAA6B,EAC7B,sBAAsB,EACtB,sBAAsB,CAChB;AAEV,OAAO,MAAMC,QAAQ,GAAIC,QAAgB,IAAKF,OAAO,CAACG,IAAI,CAACC,MAAM,IAAIF,QAAQ,CAACG,UAAU,CAACD,MAAM,CAAC,CAAC","ignoreList":[]}
|
@@ -1,7 +1,8 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
3
|
import { keyInObject } from '../utils';
|
4
|
-
const
|
4
|
+
const SKIP_STYLES = ['borderCurve', 'elevation', 'textAlignVertical', 'includeFontPadding', 'overlayColor', 'tintColor'];
|
5
|
+
const CSS_NUMBER_KEYS = ['animationIterationCount', 'borderImageOutset', 'borderImageSlice', 'borderImageWidth', 'boxFlex', 'boxFlexGroup', 'boxOrdinalGroup', 'columnCount', 'columns', 'counterIncrement', 'counterReset', 'flex', 'flexGrow', 'flexPositive', 'flexShrink', 'flexNegative', 'flexOrder', 'fontWeight', 'gridArea', 'gridColumn', 'gridColumnEnd', 'gridColumnSpan', 'gridColumnStart', 'gridRow', 'gridRowEnd', 'gridRowSpan', 'gridRowStart', 'line-clamp', 'line-height', 'opacity', 'order', 'orphans', 'tabSize', 'widows', 'zIndex', 'zoom', 'fillOpacity', 'floodOpacity', 'stopOpacity', 'strokeDasharray', 'strokeDashoffset', 'strokeMiterlimit', 'strokeOpacity', 'strokeWidth'];
|
5
6
|
const convertMap = {
|
6
7
|
marginHorizontal: value => ({
|
7
8
|
marginInline: value
|
@@ -65,20 +66,23 @@ const convertMap = {
|
|
65
66
|
}),
|
66
67
|
resizeMode: value => ({
|
67
68
|
backgroundSize: value
|
68
|
-
}),
|
69
|
-
lineHeight: value => ({
|
70
|
-
lineHeight: `${value}px`
|
71
69
|
})
|
72
70
|
};
|
71
|
+
const convertNumber = (key, value) => {
|
72
|
+
if (typeof value === 'number') {
|
73
|
+
return CSS_NUMBER_KEYS.includes(key, value) ? value : `${value}px`;
|
74
|
+
}
|
75
|
+
return value;
|
76
|
+
};
|
73
77
|
export const getStyle = (key, value) => {
|
74
|
-
if (
|
78
|
+
if (SKIP_STYLES.includes(key)) {
|
75
79
|
return {};
|
76
80
|
}
|
77
81
|
if (keyInObject(convertMap, key)) {
|
78
|
-
return convertMap[key]?.(value) ?? {};
|
82
|
+
return convertMap[key]?.(convertNumber(key, value)) ?? {};
|
79
83
|
}
|
80
84
|
return {
|
81
|
-
[key]: value
|
85
|
+
[key]: convertNumber(key, value)
|
82
86
|
};
|
83
87
|
};
|
84
88
|
//# sourceMappingURL=style.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["keyInObject","
|
1
|
+
{"version":3,"names":["keyInObject","SKIP_STYLES","CSS_NUMBER_KEYS","convertMap","marginHorizontal","value","marginInline","marginVertical","marginBlock","paddingHorizontal","paddingInline","paddingVertical","paddingBlock","writingDirection","direction","borderBottomEndRadius","borderBottomRightRadius","borderBottomStartRadius","borderBottomLeftRadius","borderEndColor","borderInlineEndColor","borderStartColor","borderInlineStartColor","borderTopEndRadius","borderTopRightRadius","borderTopStartRadius","borderTopLeftRadius","borderEndWidth","borderInlineEndWidth","borderStartWidth","borderInlineStartWidth","end","right","start","left","marginEnd","marginRight","marginStart","marginLeft","paddingEnd","paddingRight","paddingStart","paddingLeft","transformMatrix","transform","join","resizeMode","backgroundSize","convertNumber","key","includes","getStyle"],"sourceRoot":"../../../../src","sources":["web/convert/style.ts"],"mappings":"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","ignoreList":[]}
|
@@ -1,9 +1,7 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
|
-
import { media } from 'typestyle';
|
4
3
|
import { deepMergeObjects, warn } from '../utils';
|
5
4
|
import { validateShadow } from './shadow';
|
6
|
-
import { convertBreakpoint } from './breakpoint';
|
7
5
|
import { TEXT_SHADOW_STYLES } from './types';
|
8
6
|
import { extractShadowValue, normalizeColor, normalizeNumericValue } from './utils';
|
9
7
|
const createTextShadowValue = style => {
|
@@ -50,16 +48,18 @@ export const getTextShadowStyle = styles => {
|
|
50
48
|
height
|
51
49
|
} = extractShadowValue('textShadowOffset', breakpoint, styles);
|
52
50
|
const radius = extractShadowValue('textShadowRadius', breakpoint, styles);
|
53
|
-
return
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
51
|
+
return {
|
52
|
+
[breakpoint]: {
|
53
|
+
textShadow: createTextShadowValue({
|
54
|
+
textShadowColor: color,
|
55
|
+
textShadowOffset: {
|
56
|
+
width,
|
57
|
+
height
|
58
|
+
},
|
59
|
+
textShadowRadius: radius
|
60
|
+
})
|
61
|
+
}
|
62
|
+
};
|
63
63
|
});
|
64
64
|
|
65
65
|
// Merge all breakpoints styles into one
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["
|
1
|
+
{"version":3,"names":["deepMergeObjects","warn","validateShadow","TEXT_SHADOW_STYLES","extractShadowValue","normalizeColor","normalizeNumericValue","createTextShadowValue","style","textShadowColor","textShadowOffset","textShadowRadius","offsetX","width","offsetY","height","radius","color","getTextShadowStyle","styles","missingStyles","filter","key","length","join","breakpointsSet","Set","error","breakpoints","Array","from","textShadow","breakpointStyles","map","breakpoint"],"sourceRoot":"../../../../src","sources":["web/convert/textShadow.ts"],"mappings":";;AAAA,SAASA,gBAAgB,EAAEC,IAAI,QAAQ,UAAU;AACjD,SAASC,cAAc,QAAQ,UAAU;AACzC,SAASC,kBAAkB,QAAyB,SAAS;AAC7D,SAASC,kBAAkB,EAAEC,cAAc,EAAEC,qBAAqB,QAAQ,SAAS;AAEnF,MAAMC,qBAAqB,GAAIC,KAAiB,IAAK;EACjD,MAAM;IAAEC,eAAe;IAAEC,gBAAgB;IAAEC;EAAiB,CAAC,GAAGH,KAAK;EACrE,MAAMI,OAAO,GAAGN,qBAAqB,CAACI,gBAAgB,CAACG,KAAK,CAAC;EAC7D,MAAMC,OAAO,GAAGR,qBAAqB,CAACI,gBAAgB,CAACK,MAAM,CAAC;EAC9D,MAAMC,MAAM,GAAGV,qBAAqB,CAACK,gBAAgB,CAAC;EACtD,MAAMM,KAAK,GAAGZ,cAAc,CAACI,eAAyB,CAAC;EAEvD,OAAO,GAAGG,OAAO,IAAIE,OAAO,IAAIE,MAAM,IAAIC,KAAK,EAAE;AACrD,CAAC;AAED,OAAO,MAAMC,kBAAkB,GAAIC,MAA2B,IAAK;EAC/D,MAAMC,aAAa,GAAGjB,kBAAkB,CAACkB,MAAM,CAACC,GAAG,IAAI,EAAEA,GAAG,IAAIH,MAAM,CAAC,CAAC;EAExE,IAAIC,aAAa,CAACG,MAAM,EAAE;IACtBtB,IAAI,CAAC,yDAAyDmB,aAAa,CAACI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IAEzF,OAAO,CAAC,CAAC;EACb;EAEA,MAAMC,cAAc,GAAG,IAAIC,GAAG,CAAS,CAAC;EAExC,IAAI;IACAxB,cAAc,CAACC,kBAAkB,EAAEgB,MAAM,EAAEM,cAAc,CAAC;EAC9D,CAAC,CAAC,OAAOE,KAAK,EAAE;IACZ,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;MAC3B1B,IAAI,CAAC0B,KAAK,CAAC;IACf;IAEA,OAAO,CAAC,CAAC;EACb;EAEA,MAAMC,WAAW,GAAGC,KAAK,CAACC,IAAI,CAACL,cAAc,CAAC;;EAE9C;EACA,IAAIG,WAAW,CAACL,MAAM,KAAK,CAAC,EAAE;IAC1B,OAAO;MACHQ,UAAU,EAAExB,qBAAqB,CAACY,MAAoB;IAC1D,CAAC;EACL;;EAEA;EACA,MAAMa,gBAAgB,GAAGJ,WAAW,CAACK,GAAG,CAACC,UAAU,IAAI;IACnD,MAAMjB,KAAK,GAAGb,kBAAkB,CAAC,iBAAiB,EAAE8B,UAAU,EAAEf,MAAM,CAAC;IACvE,MAAM;MAAEN,KAAK;MAAEE;IAAO,CAAC,GAAGX,kBAAkB,CAAC,kBAAkB,EAAE8B,UAAU,EAAEf,MAAM,CAAC;IACpF,MAAMH,MAAM,GAAGZ,kBAAkB,CAAC,kBAAkB,EAAE8B,UAAU,EAAEf,MAAM,CAAC;IAEzE,OAAO;MACH,CAACe,UAAU,GAAG;QACVH,UAAU,EAAExB,qBAAqB,CAAC;UAC9BE,eAAe,EAAEQ,KAAK;UACtBP,gBAAgB,EAAE;YACdG,KAAK;YACLE;UACJ,CAAC;UACDJ,gBAAgB,EAAEK;QACtB,CAAC;MACL;IACJ,CAAC;EACL,CAAC,CAAC;;EAEF;EACA,OAAOhB,gBAAgB,CAAC,GAAGgC,gBAAgB,CAAC;AAChD,CAAC","ignoreList":[]}
|
@@ -1,9 +1,7 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
|
-
import { media } from 'typestyle';
|
4
3
|
import { deepMergeObjects, keyInObject } from '../utils';
|
5
4
|
import { normalizeNumericValue } from './utils';
|
6
|
-
import { convertBreakpoint } from './breakpoint';
|
7
5
|
const normalizeTransform = (key, value) => {
|
8
6
|
if (key.includes('scale')) {
|
9
7
|
return value;
|
@@ -56,9 +54,11 @@ export const getTransformStyle = transforms => {
|
|
56
54
|
}
|
57
55
|
return [];
|
58
56
|
});
|
59
|
-
return
|
60
|
-
|
61
|
-
|
57
|
+
return [{
|
58
|
+
[breakpoint]: {
|
59
|
+
transform: createTransformValue(transformsPerBreakpoint)
|
60
|
+
}
|
61
|
+
}];
|
62
62
|
});
|
63
63
|
return deepMergeObjects({
|
64
64
|
transform: createTransformValue(normalTransforms)
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["
|
1
|
+
{"version":3,"names":["deepMergeObjects","keyInObject","normalizeNumericValue","normalizeTransform","key","value","includes","createTransformValue","transforms","map","transform","Object","keys","undefined","join","filter","Boolean","getTransformStyle","breakpoints","Set","normalTransforms","forEach","property","Array","isArray","breakpoint","add","push","breakpointTransforms","from","flatMap","transformsPerBreakpoint"],"sourceRoot":"../../../../src","sources":["web/convert/transform.ts"],"mappings":"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","ignoreList":[]}
|
@@ -1,7 +1,7 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
|
-
import { UnistyleDependency } from '
|
4
|
-
import { UnistylesRuntime } from '
|
3
|
+
import { UnistyleDependency } from '../specs/NativePlatform';
|
4
|
+
import { UnistylesRuntime } from './runtime';
|
5
5
|
class UnistylesListenerBuilder {
|
6
6
|
isInitialized = false;
|
7
7
|
listeners = Array.from({
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"names":["UnistyleDependency","UnistylesRuntime","UnistylesListenerBuilder","isInitialized","listeners","Array","from","length","Object","keys","Set","emitChange","dependency","forEach","listener","initListeners","darkMedia","addEventListener","ColorScheme","lightMedia","window","Orientation","Dimensions","addListeners","dependencies","add","delete","UnistylesListener"],"sourceRoot":"../../../src","sources":["web/listener.ts"],"mappings":";;AAAA,SAASA,kBAAkB,QAAQ,yBAAyB;AAC5D,SAASC,gBAAgB,QAAQ,WAAW;AAE5C,MAAMC,wBAAwB,CAAC;EACnBC,aAAa,GAAG,KAAK;EACrBC,SAAS,GAAGC,KAAK,CAACC,IAAI,CAAC;IAAEC,MAAM,EAAEC,MAAM,CAACC,IAAI,CAACT,kBAAkB,CAAC,CAACO,MAAM,GAAG;EAAE,CAAC,EAAE,MAAM,IAAIG,GAAG,CAAe,CAAC,CAAC;EAErHC,UAAU,GAAIC,UAA8B,IAAK;IAC7C,IAAI,CAACR,SAAS,CAACQ,UAAU,CAAC,EAAEC,OAAO,CAACC,QAAQ,IAAIA,QAAQ,CAAC,CAAC,CAAC;EAC/D,CAAC;EAEDC,aAAa,GAAGA,CAAA,KAAM;IAClB,IAAI,IAAI,CAACZ,aAAa,EAAE;MACpB;IACJ;IAEA,IAAI,CAACA,aAAa,GAAG,IAAI;IACzBF,gBAAgB,CAACe,SAAS,EAAEC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,IAAI,CAACN,UAAU,CAACX,kBAAkB,CAACkB,WAAW,CAAC,CAAC;IAC7GjB,gBAAgB,CAACkB,UAAU,EAAEF,gBAAgB,CAAC,QAAQ,EAAE,MAAM,IAAI,CAACN,UAAU,CAACX,kBAAkB,CAACkB,WAAW,CAAC,CAAC;IAC9GE,MAAM,CAACH,gBAAgB,CAAC,mBAAmB,EAAE,MAAM,IAAI,CAACN,UAAU,CAACX,kBAAkB,CAACqB,WAAW,CAAC,CAAC;IACnGD,MAAM,CAACH,gBAAgB,CAAC,QAAQ,EAAE,MAAM,IAAI,CAACN,UAAU,CAACX,kBAAkB,CAACsB,UAAU,CAAC,CAAC;EAC3F,CAAC;EAEDC,YAAY,GAAGA,CAACC,YAAuC,EAAEV,QAAsB,KAAK;IAChFU,YAAY,CAACX,OAAO,CAACD,UAAU,IAAI,IAAI,CAACR,SAAS,CAACQ,UAAU,CAAC,EAAEa,GAAG,CAACX,QAAQ,CAAC,CAAC;IAE7E,OAAO,MAAM;MACTU,YAAY,CAACX,OAAO,CAACD,UAAU,IAAI,IAAI,CAACR,SAAS,CAACQ,UAAU,CAAC,EAAEc,MAAM,CAACZ,QAAQ,CAAC,CAAC;IACpF,CAAC;EACL,CAAC;AACL;AAEA,OAAO,MAAMa,iBAAiB,GAAG,IAAIzB,wBAAwB,CAAC,CAAC","ignoreList":[]}
|
package/lib/module/web/mq.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["IS_UNISTYLES_REGEX","UNISTYLES_WIDTH_REGEX","UNISTYLES_HEIGHT_REGEX","parseMq","mq","width","fromW","toW","exec","height","fromH","toH","minWidth","undefined","Number","maxWidth","minHeight","maxHeight","isUnistylesMq","test"],"sourceRoot":"../../../src","sources":["web/mq.ts"],"mappings":";;
|
1
|
+
{"version":3,"names":["IS_UNISTYLES_REGEX","UNISTYLES_WIDTH_REGEX","UNISTYLES_HEIGHT_REGEX","parseMq","mq","width","fromW","toW","exec","height","fromH","toH","minWidth","undefined","Number","maxWidth","minHeight","maxHeight","isUnistylesMq","test"],"sourceRoot":"../../../src","sources":["web/mq.ts"],"mappings":";;AAAA,MAAMA,kBAAkB,GAAG,wCAAwC;AACnE,MAAMC,qBAAqB,GAAG,qCAAqC;AACnE,MAAMC,sBAAsB,GAAG,qCAAqC;AAEpE,OAAO,MAAMC,OAAO,GAAIC,EAAU,IAAK;EACnC,MAAM,GAAGC,KAAK,EAAEC,KAAK,EAAEC,GAAG,CAAC,GAAGN,qBAAqB,CAACO,IAAI,CAACJ,EAAE,CAAC,IAAI,EAAE;EAClE,MAAM,GAAGK,MAAM,EAAEC,KAAK,EAAEC,GAAG,CAAC,GAAGT,sBAAsB,CAACM,IAAI,CAACJ,EAAE,CAAC,IAAI,EAAE;EAEpE,OAAO;IACHQ,QAAQ,EAAE,CAACP,KAAK,IAAIC,KAAK,KAAK,UAAU,GAAGO,SAAS,GAAGC,MAAM,CAACR,KAAK,CAAC;IACpES,QAAQ,EAAE,CAACV,KAAK,IAAIE,GAAG,KAAK,UAAU,GAAGM,SAAS,GAAGC,MAAM,CAACP,GAAG,CAAC;IAChES,SAAS,EAAE,CAACP,MAAM,IAAIC,KAAK,KAAK,UAAU,GAAGG,SAAS,GAAGC,MAAM,CAACJ,KAAK,CAAC;IACtEO,SAAS,EAAE,CAACR,MAAM,IAAIE,GAAG,KAAK,UAAU,GAAGE,SAAS,GAAGC,MAAM,CAACH,GAAG;EACrE,CAAC;AACL,CAAC;AAED,OAAO,MAAMO,aAAa,GAAId,EAAU,IAAKJ,kBAAkB,CAACmB,IAAI,CAACf,EAAE,CAAC","ignoreList":[]}
|
@@ -1,12 +1,27 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
|
-
import { createTypeStyle } from 'typestyle';
|
4
|
-
import { convertToTypeStyle } from './convert';
|
5
3
|
import { UnistylesRuntime } from './runtime';
|
6
|
-
import { keyInObject } from './utils';
|
4
|
+
import { extractMediaQueryValue, keyInObject, getMediaQuery, generateHash, extractUnistyleDependencies } from './utils';
|
7
5
|
import { UnistylesListener } from './listener';
|
6
|
+
import { convertUnistyles } from './convert';
|
7
|
+
import { getVariants } from './variants';
|
8
8
|
class UnistylesRegistryBuilder {
|
9
9
|
stylesheets = new Map();
|
10
|
+
stylesCounter = new Map();
|
11
|
+
#styleTag = null;
|
12
|
+
disposeListenersMap = new Map();
|
13
|
+
dependenciesMap = new Map();
|
14
|
+
get styleTag() {
|
15
|
+
const tag = this.#styleTag;
|
16
|
+
if (!tag) {
|
17
|
+
const newTag = document.createElement('style');
|
18
|
+
newTag.id = 'unistyles-web';
|
19
|
+
this.#styleTag = newTag;
|
20
|
+
document.head.appendChild(newTag);
|
21
|
+
return newTag;
|
22
|
+
}
|
23
|
+
return tag;
|
24
|
+
}
|
10
25
|
getComputedStylesheet = stylesheet => {
|
11
26
|
if (typeof stylesheet !== 'function') {
|
12
27
|
return stylesheet;
|
@@ -16,30 +31,153 @@ class UnistylesRegistryBuilder {
|
|
16
31
|
return computedStylesheet;
|
17
32
|
}
|
18
33
|
const createdStylesheet = stylesheet(UnistylesRuntime.theme, UnistylesRuntime.miniRuntime);
|
19
|
-
|
20
|
-
|
21
|
-
|
34
|
+
const dependencies = Object.values(createdStylesheet).flatMap(value => extractUnistyleDependencies(value));
|
35
|
+
this.addDependenciesToStylesheet(stylesheet, dependencies);
|
36
|
+
this.stylesheets.set(stylesheet, createdStylesheet);
|
37
|
+
return createdStylesheet;
|
38
|
+
};
|
39
|
+
addDependenciesToStylesheet = (stylesheet, dependencies) => {
|
40
|
+
this.disposeListenersMap.get(stylesheet)?.();
|
41
|
+
const dependenciesMap = this.dependenciesMap.get(stylesheet) ?? new Set(dependencies);
|
42
|
+
dependencies.forEach(dependency => dependenciesMap.add(dependency));
|
43
|
+
const dispose = UnistylesListener.addListeners(Array.from(dependenciesMap), () => {
|
22
44
|
const newComputedStylesheet = stylesheet(UnistylesRuntime.theme, UnistylesRuntime.miniRuntime);
|
23
45
|
this.stylesheets.set(stylesheet, newComputedStylesheet);
|
24
46
|
});
|
25
|
-
this.
|
26
|
-
|
47
|
+
this.dependenciesMap.set(stylesheet, dependenciesMap);
|
48
|
+
this.disposeListenersMap.set(stylesheet, dispose);
|
49
|
+
};
|
50
|
+
add = ({
|
51
|
+
key,
|
52
|
+
value,
|
53
|
+
stylesheet,
|
54
|
+
args,
|
55
|
+
variants
|
56
|
+
}) => {
|
57
|
+
const hash = generateHash(value);
|
58
|
+
const existingCounter = this.stylesCounter.get(hash);
|
59
|
+
if (!existingCounter || existingCounter.size === 0) {
|
60
|
+
const counter = new Set();
|
61
|
+
const dependencies = extractUnistyleDependencies(value);
|
62
|
+
counter.add(value);
|
63
|
+
this.stylesCounter.set(hash, counter);
|
64
|
+
this.applyStyles(hash, convertUnistyles(value));
|
65
|
+
UnistylesListener.addListeners(dependencies, async () => {
|
66
|
+
// Move this callback to the end of the event loop
|
67
|
+
await Promise.resolve();
|
68
|
+
const newComputedStyleSheet = this.getComputedStylesheet(stylesheet);
|
69
|
+
const newValue = newComputedStyleSheet[key];
|
70
|
+
const result = typeof newValue === 'function' ? newValue(...args) : newValue;
|
71
|
+
const {
|
72
|
+
variantsResult
|
73
|
+
} = Object.fromEntries(getVariants({
|
74
|
+
variantsResult: result
|
75
|
+
}, variants));
|
76
|
+
const resultWithVariants = {
|
77
|
+
...result,
|
78
|
+
...variantsResult
|
79
|
+
};
|
80
|
+
this.applyStyles(hash, convertUnistyles(resultWithVariants));
|
81
|
+
});
|
82
|
+
return hash;
|
83
|
+
}
|
84
|
+
existingCounter.add(value);
|
85
|
+
return hash;
|
27
86
|
};
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
87
|
+
applyStyles = (hash, styles) => {
|
88
|
+
Object.entries(styles).forEach(([key, value]) => {
|
89
|
+
if (!this.styleTag.sheet) {
|
90
|
+
return;
|
91
|
+
}
|
92
|
+
if (typeof value === 'object' && !key.startsWith('_')) {
|
93
|
+
const mediaQuery = getMediaQuery(key);
|
94
|
+
const cssRules = Array.from(this.styleTag.sheet.cssRules);
|
95
|
+
let queryRule = cssRules.find(rule => {
|
96
|
+
if (!(rule instanceof CSSMediaRule)) {
|
97
|
+
return false;
|
98
|
+
}
|
99
|
+
return rule.media.item(0)?.includes(mediaQuery);
|
100
|
+
}) ?? null;
|
101
|
+
if (!queryRule) {
|
102
|
+
const mediaQueryValue = extractMediaQueryValue(mediaQuery);
|
103
|
+
const ruleIndex = mediaQueryValue ? cssRules.reduce((acc, rule, ruleIndex) => {
|
104
|
+
if (!(rule instanceof CSSMediaRule)) {
|
105
|
+
return acc;
|
106
|
+
}
|
107
|
+
const ruleMediaQueryValue = extractMediaQueryValue(rule.conditionText);
|
108
|
+
if (ruleMediaQueryValue === undefined) {
|
109
|
+
return;
|
110
|
+
}
|
111
|
+
return ruleMediaQueryValue > mediaQueryValue ? ruleIndex : acc;
|
112
|
+
}, cssRules.length) : undefined;
|
113
|
+
queryRule = this.styleTag.sheet.cssRules.item(this.styleTag.sheet.insertRule(`@media ${mediaQuery} {.${hash} {}}`, ruleIndex));
|
114
|
+
}
|
115
|
+
if (queryRule instanceof CSSMediaRule) {
|
116
|
+
Object.entries(value).forEach(([mqKey, mqValue]) => {
|
117
|
+
this.applyRule({
|
118
|
+
hash,
|
119
|
+
key: mqKey,
|
120
|
+
value: mqValue,
|
121
|
+
sheet: queryRule
|
122
|
+
});
|
123
|
+
});
|
124
|
+
}
|
125
|
+
return;
|
126
|
+
}
|
127
|
+
|
128
|
+
// Pseudo
|
129
|
+
if (typeof value === 'object') {
|
130
|
+
Object.entries(value).forEach(([pseudoKey, pseudoValue]) => {
|
131
|
+
this.applyRule({
|
132
|
+
hash: `${hash}${key.replace('_', ':')}`,
|
133
|
+
key: pseudoKey,
|
134
|
+
value: pseudoValue,
|
135
|
+
sheet: this.styleTag.sheet
|
136
|
+
});
|
137
|
+
});
|
138
|
+
return;
|
139
|
+
}
|
140
|
+
this.applyRule({
|
141
|
+
hash,
|
142
|
+
key,
|
143
|
+
value,
|
144
|
+
sheet: this.styleTag.sheet
|
145
|
+
});
|
146
|
+
});
|
147
|
+
};
|
148
|
+
applyRule = ({
|
149
|
+
hash,
|
150
|
+
key,
|
151
|
+
value,
|
152
|
+
sheet
|
153
|
+
}) => {
|
154
|
+
let rule = Array.from(sheet.cssRules).find(rule => {
|
155
|
+
if (!(rule instanceof CSSStyleRule)) {
|
156
|
+
return false;
|
157
|
+
}
|
158
|
+
|
159
|
+
// In unistyles pseudos are prefixed with ':' but in css some of them are prefixed with '::'
|
160
|
+
return rule.selectorText.replace('::', ':').includes(hash);
|
161
|
+
}) ?? null;
|
162
|
+
if (!rule) {
|
163
|
+
rule = sheet.cssRules.item(sheet.insertRule(`.${hash} {}`));
|
164
|
+
}
|
165
|
+
if (!(rule instanceof CSSStyleRule) || !keyInObject(rule.style, key)) {
|
166
|
+
return;
|
167
|
+
}
|
168
|
+
rule.style[key] = value;
|
38
169
|
};
|
39
|
-
|
40
|
-
const
|
41
|
-
|
42
|
-
|
170
|
+
remove = value => {
|
171
|
+
const hash = generateHash(value);
|
172
|
+
const existingStyles = this.stylesCounter.get(hash);
|
173
|
+
if (!existingStyles) {
|
174
|
+
return;
|
175
|
+
}
|
176
|
+
existingStyles.delete(value);
|
177
|
+
if (existingStyles.size === 0) {
|
178
|
+
const ruleIndex = Array.from(this.styleTag.sheet?.cssRules ?? []).findIndex(rule => rule.cssText.includes(`.${hash}`));
|
179
|
+
this.styleTag.sheet?.deleteRule(ruleIndex);
|
180
|
+
}
|
43
181
|
};
|
44
182
|
}
|
45
183
|
export const UnistylesRegistry = new UnistylesRegistryBuilder();
|