zyzz 0.0.20 → 0.0.22
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/Zyzz.podspec +16 -0
- package/dist/Style.d.ts +10 -1
- package/dist/Style.d.ts.map +1 -1
- package/dist/Style.js +1 -5
- package/dist/Style.js.map +1 -1
- package/dist/babel/NativeJsx.d.ts.map +1 -1
- package/dist/babel/NativeJsx.js +204 -12
- package/dist/babel/NativeJsx.js.map +1 -1
- package/dist/babel/index.d.ts +6 -2
- package/dist/babel/index.d.ts.map +1 -1
- package/dist/babel/index.js +10 -1
- package/dist/babel/index.js.map +1 -1
- package/dist/compiler/Graph.d.ts +3 -0
- package/dist/compiler/Graph.d.ts.map +1 -1
- package/dist/compiler/Graph.js +108 -37
- package/dist/compiler/Graph.js.map +1 -1
- package/dist/compiler/Native.d.ts +6 -3
- package/dist/compiler/Native.d.ts.map +1 -1
- package/dist/compiler/Native.js +142 -24
- package/dist/compiler/Native.js.map +1 -1
- package/dist/compiler/Source.d.ts +6 -0
- package/dist/compiler/Source.d.ts.map +1 -1
- package/dist/compiler/Source.js +80 -11
- package/dist/compiler/Source.js.map +1 -1
- package/dist/compiler/Transform.d.ts +4 -1
- package/dist/compiler/Transform.d.ts.map +1 -1
- package/dist/compiler/Transform.js +32 -46
- package/dist/compiler/Transform.js.map +1 -1
- package/dist/compiler/internal/Catalogs.d.ts.map +1 -1
- package/dist/compiler/internal/Catalogs.js +6 -1
- package/dist/compiler/internal/Catalogs.js.map +1 -1
- package/dist/compiler/internal/Compositions.d.ts.map +1 -1
- package/dist/compiler/internal/Compositions.js +5 -0
- package/dist/compiler/internal/Compositions.js.map +1 -1
- package/dist/compiler/internal/Configurations.d.ts +2 -0
- package/dist/compiler/internal/Configurations.d.ts.map +1 -1
- package/dist/compiler/internal/Configurations.js +23 -4
- package/dist/compiler/internal/Configurations.js.map +1 -1
- package/dist/compiler/internal/Contract.d.ts +4 -1
- package/dist/compiler/internal/Contract.d.ts.map +1 -1
- package/dist/compiler/internal/Contract.js +97 -151
- package/dist/compiler/internal/Contract.js.map +1 -1
- package/dist/compiler/internal/Contributions.d.ts.map +1 -1
- package/dist/compiler/internal/Contributions.js +8 -4
- package/dist/compiler/internal/Contributions.js.map +1 -1
- package/dist/compiler/internal/Descriptors.d.ts.map +1 -1
- package/dist/compiler/internal/Descriptors.js +11 -2
- package/dist/compiler/internal/Descriptors.js.map +1 -1
- package/dist/compiler/internal/Dynamic.d.ts +1 -1
- package/dist/compiler/internal/Dynamic.d.ts.map +1 -1
- package/dist/compiler/internal/Dynamic.js +5 -5
- package/dist/compiler/internal/Dynamic.js.map +1 -1
- package/dist/compiler/internal/Names.d.ts +5 -0
- package/dist/compiler/internal/Names.d.ts.map +1 -0
- package/dist/compiler/internal/Names.js +37 -0
- package/dist/compiler/internal/Names.js.map +1 -0
- package/dist/compiler/internal/NativeBindings.d.ts +24 -26
- package/dist/compiler/internal/NativeBindings.d.ts.map +1 -1
- package/dist/compiler/internal/NativeBindings.js +61 -8
- package/dist/compiler/internal/NativeBindings.js.map +1 -1
- package/dist/compiler/internal/NativeMedia.d.ts +14 -0
- package/dist/compiler/internal/NativeMedia.d.ts.map +1 -0
- package/dist/compiler/internal/NativeMedia.js +287 -0
- package/dist/compiler/internal/NativeMedia.js.map +1 -0
- package/dist/compiler/internal/NativeVars.d.ts +28 -0
- package/dist/compiler/internal/NativeVars.d.ts.map +1 -0
- package/dist/compiler/internal/NativeVars.js +157 -0
- package/dist/compiler/internal/NativeVars.js.map +1 -0
- package/dist/compiler/internal/PackedStyles.d.ts +2 -0
- package/dist/compiler/internal/PackedStyles.d.ts.map +1 -1
- package/dist/compiler/internal/PackedStyles.js +2 -0
- package/dist/compiler/internal/PackedStyles.js.map +1 -1
- package/dist/compiler/internal/Selectors.d.ts +1 -1
- package/dist/compiler/internal/Selectors.d.ts.map +1 -1
- package/dist/compiler/internal/Selectors.js +5 -2
- package/dist/compiler/internal/Selectors.js.map +1 -1
- package/dist/compiler/internal/Stylesheets.js +2 -2
- package/dist/compiler/internal/Stylesheets.js.map +1 -1
- package/dist/compiler/internal/Themes.d.ts +22 -1
- package/dist/compiler/internal/Themes.d.ts.map +1 -1
- package/dist/compiler/internal/Themes.js +120 -4
- package/dist/compiler/internal/Themes.js.map +1 -1
- package/dist/compiler/internal/Vars.d.ts +3 -1
- package/dist/compiler/internal/Vars.d.ts.map +1 -1
- package/dist/compiler/internal/Vars.js +14 -3
- package/dist/compiler/internal/Vars.js.map +1 -1
- package/dist/default.d.ts +4 -4
- package/dist/default.d.ts.map +1 -1
- package/dist/default.js +9 -9
- package/dist/default.js.map +2 -2
- package/dist/default.js.zyzz.json +1 -1
- package/dist/internal/Authoring.d.ts.map +1 -1
- package/dist/internal/Authoring.js +8 -3
- package/dist/internal/Authoring.js.map +1 -1
- package/dist/internal/Binding.d.ts +4 -0
- package/dist/internal/Binding.d.ts.map +1 -1
- package/dist/internal/Binding.js +2 -0
- package/dist/internal/Binding.js.map +1 -1
- package/dist/internal/Completion.d.ts +1 -1
- package/dist/internal/Completion.d.ts.map +1 -1
- package/dist/internal/Configuration.d.ts +2 -2
- package/dist/internal/Configuration.d.ts.map +1 -1
- package/dist/internal/Configuration.js +4 -2
- package/dist/internal/Configuration.js.map +1 -1
- package/dist/internal/Identity.d.ts +3 -3
- package/dist/internal/Identity.d.ts.map +1 -1
- package/dist/internal/Identity.js +11 -9
- package/dist/internal/Identity.js.map +1 -1
- package/dist/internal/Targets.d.ts.map +1 -1
- package/dist/internal/Targets.js +2 -0
- package/dist/internal/Targets.js.map +1 -1
- package/dist/internal/Theme.js +2 -2
- package/dist/internal/Theme.js.map +1 -1
- package/dist/internal/Token.d.ts +3 -1
- package/dist/internal/Token.d.ts.map +1 -1
- package/dist/internal/Token.js +9 -2
- package/dist/internal/Token.js.map +1 -1
- package/dist/internal/Value.d.ts +7 -0
- package/dist/internal/Value.d.ts.map +1 -1
- package/dist/internal/Value.js.map +1 -1
- package/dist/internal/VariableSets.js +1 -1
- package/dist/internal/VariableSets.js.map +1 -1
- package/dist/metro/Graph.d.ts +22 -7
- package/dist/metro/Graph.d.ts.map +1 -1
- package/dist/metro/Graph.js +179 -42
- package/dist/metro/Graph.js.map +1 -1
- package/dist/metro/Watch.d.ts +28 -4
- package/dist/metro/Watch.d.ts.map +1 -1
- package/dist/metro/Watch.js +39 -7
- package/dist/metro/Watch.js.map +1 -1
- package/dist/metro/index.d.ts +15 -4
- package/dist/metro/index.d.ts.map +1 -1
- package/dist/metro/index.js +27 -0
- package/dist/metro/index.js.map +1 -1
- package/dist/metro/transformer.d.ts +5 -1
- package/dist/metro/transformer.d.ts.map +1 -1
- package/dist/metro/transformer.js +5 -3
- package/dist/metro/transformer.js.map +1 -1
- package/dist/node/Host.d.ts.map +1 -1
- package/dist/node/Host.js +2 -0
- package/dist/node/Host.js.map +1 -1
- package/dist/react-native/StyleSheet.d.ts +3 -2
- package/dist/react-native/StyleSheet.d.ts.map +1 -1
- package/dist/react-native/StyleSheet.js +17 -34
- package/dist/react-native/StyleSheet.js.map +1 -1
- package/dist/react-native/index.d.ts +1 -1
- package/dist/react-native/index.d.ts.map +1 -1
- package/dist/react-native/index.js +1 -1
- package/dist/react-native/index.js.map +1 -1
- package/dist/react-native/index.native.d.ts +5 -0
- package/dist/react-native/index.native.js +20 -0
- package/dist/react-native/index.native.js.map +7 -0
- package/dist/react-native/internal/Calculation.d.ts +7 -0
- package/dist/react-native/internal/Calculation.d.ts.map +1 -0
- package/dist/react-native/internal/Calculation.js +134 -0
- package/dist/react-native/internal/Calculation.js.map +1 -0
- package/dist/react-native/internal/Device.js +191 -0
- package/dist/react-native/internal/Device.js.map +7 -0
- package/dist/react-native/internal/NativeZyzz.js +7 -0
- package/dist/react-native/internal/NativeZyzz.js.map +7 -0
- package/dist/react-native/internal/Scalar.d.ts.map +1 -1
- package/dist/react-native/internal/Scalar.js +9 -2
- package/dist/react-native/internal/Scalar.js.map +1 -1
- package/dist/react-native/internal/Store.d.ts +32 -0
- package/dist/react-native/internal/Store.d.ts.map +1 -0
- package/dist/react-native/internal/Store.js +57 -0
- package/dist/react-native/internal/Store.js.map +1 -0
- package/dist/react-native/internal/Tokens.d.ts +21 -0
- package/dist/react-native/internal/Tokens.d.ts.map +1 -0
- package/dist/react-native/internal/Tokens.js +58 -0
- package/dist/react-native/internal/Tokens.js.map +1 -0
- package/dist/react-native/internal/Viewport.d.ts +6 -0
- package/dist/react-native/internal/Viewport.d.ts.map +1 -0
- package/dist/react-native/internal/Viewport.js +4 -0
- package/dist/react-native/internal/Viewport.js.map +1 -0
- package/dist/react-native/react.d.ts +74 -11
- package/dist/react-native/react.d.ts.map +1 -1
- package/dist/react-native/react.js +111 -12
- package/dist/react-native/react.js.map +1 -1
- package/dist/react-native/reanimated.d.ts +39 -0
- package/dist/react-native/reanimated.d.ts.map +1 -0
- package/dist/react-native/reanimated.js +76 -0
- package/dist/react-native/reanimated.js.map +1 -0
- package/dist/runtime/NativeContext.d.ts +10 -1
- package/dist/runtime/NativeContext.d.ts.map +1 -1
- package/dist/runtime/NativeContext.js +67 -14
- package/dist/runtime/NativeContext.js.map +1 -1
- package/dist/runtime/NativeDynamic.d.ts +3 -2
- package/dist/runtime/NativeDynamic.d.ts.map +1 -1
- package/dist/runtime/NativeDynamic.js +32 -7
- package/dist/runtime/NativeDynamic.js.map +1 -1
- package/dist/runtime/NativeStatic.d.ts +23 -0
- package/dist/runtime/NativeStatic.d.ts.map +1 -0
- package/dist/runtime/NativeStatic.js +106 -0
- package/dist/runtime/NativeStatic.js.map +1 -0
- package/dist/runtime/NativeVars.d.ts +53 -0
- package/dist/runtime/NativeVars.d.ts.map +1 -0
- package/dist/runtime/NativeVars.js +77 -0
- package/dist/runtime/NativeVars.js.map +1 -0
- package/dist/runtime/index.d.ts +4 -0
- package/dist/runtime/index.d.ts.map +1 -1
- package/dist/runtime/index.js +4 -0
- package/dist/runtime/index.js.map +1 -1
- package/dist/runtime/internal/NativeMedia.d.ts +25 -0
- package/dist/runtime/internal/NativeMedia.d.ts.map +1 -0
- package/dist/runtime/internal/NativeMedia.js +36 -0
- package/dist/runtime/internal/NativeMedia.js.map +1 -0
- package/dist/variable.js +1 -1
- package/dist/variable.js.map +1 -1
- package/dist/vite/index.d.ts.map +1 -1
- package/dist/vite/index.js +43 -47
- package/dist/vite/index.js.map +1 -1
- package/dist/web/Css.d.ts +7 -2
- package/dist/web/Css.d.ts.map +1 -1
- package/dist/web/Css.js +76 -57
- package/dist/web/Css.js.map +1 -1
- package/dist/web/internal/ClassName.d.ts +13 -2
- package/dist/web/internal/ClassName.d.ts.map +1 -1
- package/dist/web/internal/ClassName.js +17 -30
- package/dist/web/internal/ClassName.js.map +1 -1
- package/dist/web/internal/Themes.d.ts +3 -2
- package/dist/web/internal/Themes.d.ts.map +1 -1
- package/dist/web/internal/Themes.js +54 -28
- package/dist/web/internal/Themes.js.map +1 -1
- package/dist/web/page.d.ts +2 -0
- package/dist/web/page.d.ts.map +1 -1
- package/native/NativeZyzz.cpp +215 -0
- package/native/NativeZyzz.h +52 -0
- package/native/ZyzzSpecJSI.h +65 -0
- package/native/android/CMakeLists.txt +8 -0
- package/native/android/ZyzzSpec-generated.cpp +50 -0
- package/native/android/ZyzzSpec.h +31 -0
- package/native/ios/ZyzzModuleProvider.mm +13 -0
- package/package.json +39 -1
- package/react-native.config.ts +14 -0
- package/src/Style.ts +15 -9
- package/src/babel/NativeJsx.ts +305 -28
- package/src/babel/index.ts +21 -3
- package/src/compiler/Graph.ts +135 -46
- package/src/compiler/Native.ts +158 -26
- package/src/compiler/Source.ts +115 -10
- package/src/compiler/Transform.ts +42 -60
- package/src/compiler/internal/Catalogs.ts +9 -1
- package/src/compiler/internal/Compositions.ts +7 -0
- package/src/compiler/internal/Configurations.ts +27 -4
- package/src/compiler/internal/Contract.ts +130 -260
- package/src/compiler/internal/Contributions.ts +8 -6
- package/src/compiler/internal/Descriptors.ts +12 -8
- package/src/compiler/internal/Dynamic.ts +14 -9
- package/src/compiler/internal/Names.ts +48 -0
- package/src/compiler/internal/NativeBindings.ts +98 -15
- package/src/compiler/internal/NativeMedia.ts +342 -0
- package/src/compiler/internal/NativeVars.ts +228 -0
- package/src/compiler/internal/PackedStyles.ts +4 -0
- package/src/compiler/internal/Selectors.ts +6 -1
- package/src/compiler/internal/Stylesheets.ts +2 -2
- package/src/compiler/internal/Themes.ts +193 -3
- package/src/compiler/internal/Vars.ts +21 -2
- package/src/default.ts +9 -10
- package/src/internal/Authoring.ts +8 -2
- package/src/internal/Binding.ts +5 -0
- package/src/internal/Completion.ts +6 -3
- package/src/internal/Configuration.ts +7 -4
- package/src/internal/Identity.ts +14 -12
- package/src/internal/Targets.ts +2 -0
- package/src/internal/Theme.ts +2 -2
- package/src/internal/Token.ts +11 -1
- package/src/internal/Value.ts +20 -0
- package/src/internal/VariableSets.ts +1 -1
- package/src/metro/Graph.ts +235 -50
- package/src/metro/Watch.ts +95 -10
- package/src/metro/index.ts +62 -4
- package/src/metro/transformer.ts +21 -11
- package/src/node/Host.ts +3 -0
- package/src/react-native/StyleSheet.ts +28 -44
- package/src/react-native/index.native.ts +10 -0
- package/src/react-native/index.ts +1 -1
- package/src/react-native/internal/Calculation.ts +159 -0
- package/src/react-native/internal/Device.ts +231 -0
- package/src/react-native/internal/NativeZyzz.ts +20 -0
- package/src/react-native/internal/Scalar.ts +13 -2
- package/src/react-native/internal/Store.ts +78 -0
- package/src/react-native/internal/Tokens.ts +85 -0
- package/src/react-native/internal/Viewport.ts +8 -0
- package/src/react-native/react.ts +211 -19
- package/src/react-native/reanimated.ts +162 -0
- package/src/runtime/NativeContext.ts +88 -17
- package/src/runtime/NativeDynamic.ts +35 -10
- package/src/runtime/NativeStatic.ts +145 -0
- package/src/runtime/NativeVars.ts +189 -0
- package/src/runtime/index.ts +6 -0
- package/src/runtime/internal/NativeMedia.ts +63 -0
- package/src/variable.ts +1 -1
- package/src/vite/index.ts +52 -60
- package/src/web/Css.ts +123 -74
- package/src/web/internal/ClassName.ts +31 -36
- package/src/web/internal/Themes.ts +62 -39
- package/src/web/page.ts +2 -0
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
/** Resolves number/length arithmetic, rejecting relative units and incompatible dimensions. */
|
|
2
|
+
export function length(input, options) {
|
|
3
|
+
const pattern = /\s*(?:(\d+(?:\.\d+)?|\.\d+)(?:[eE]([+-]?\d+))?(px|rem)?|(calc)|([()+*/-]))/giy;
|
|
4
|
+
const positions = [];
|
|
5
|
+
const tokens = [];
|
|
6
|
+
let offset = 0;
|
|
7
|
+
while (offset < input.trimEnd().length) {
|
|
8
|
+
pattern.lastIndex = offset;
|
|
9
|
+
const match = pattern.exec(input);
|
|
10
|
+
if (!match)
|
|
11
|
+
throw new Error('Unsupported native calc expression.');
|
|
12
|
+
offset = pattern.lastIndex;
|
|
13
|
+
positions.push(match.index + match[0].search(/\S/));
|
|
14
|
+
if (positions.length > 512)
|
|
15
|
+
throw new Error('Native calc exceeds 512 tokens.');
|
|
16
|
+
if (match[1] === undefined) {
|
|
17
|
+
tokens.push(match[4]?.toLowerCase() ?? match[5]);
|
|
18
|
+
continue;
|
|
19
|
+
}
|
|
20
|
+
const unit = match[3]?.toLowerCase();
|
|
21
|
+
const scale = unit === 'rem'
|
|
22
|
+
? options.units?.rem
|
|
23
|
+
: unit === 'px'
|
|
24
|
+
? (options.units?.px ?? 1)
|
|
25
|
+
: 1;
|
|
26
|
+
if (scale === undefined)
|
|
27
|
+
throw new Error('Provide units.rem for rem lengths.');
|
|
28
|
+
tokens.push({
|
|
29
|
+
amount: Number(`${match[1]}${match[2] === undefined ? '' : `e${match[2]}`}`) *
|
|
30
|
+
scale,
|
|
31
|
+
length: unit !== undefined,
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
let cursor = 0;
|
|
35
|
+
let depth = 0;
|
|
36
|
+
function atom() {
|
|
37
|
+
if (++depth > 64)
|
|
38
|
+
throw new Error('Native calc exceeds 64 nested operations.');
|
|
39
|
+
try {
|
|
40
|
+
return readAtom();
|
|
41
|
+
}
|
|
42
|
+
finally {
|
|
43
|
+
depth--;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
function readAtom() {
|
|
47
|
+
const token = tokens[cursor++];
|
|
48
|
+
if (token === '+' || token === '-') {
|
|
49
|
+
const value = atom();
|
|
50
|
+
return { ...value, amount: token === '-' ? -value.amount : value.amount };
|
|
51
|
+
}
|
|
52
|
+
if (token === 'calc' || token === '(') {
|
|
53
|
+
if (token === 'calc' && tokens[cursor++] !== '(')
|
|
54
|
+
throw new Error('Unsupported native calc expression.');
|
|
55
|
+
const value = sum();
|
|
56
|
+
if (tokens[cursor++] !== ')')
|
|
57
|
+
throw new Error('Unsupported native calc expression.');
|
|
58
|
+
return value;
|
|
59
|
+
}
|
|
60
|
+
if (!token || typeof token === 'string')
|
|
61
|
+
throw new Error('Unsupported native calc expression.');
|
|
62
|
+
return token;
|
|
63
|
+
}
|
|
64
|
+
function product() {
|
|
65
|
+
let value = atom();
|
|
66
|
+
while (tokens[cursor] === '*' || tokens[cursor] === '/') {
|
|
67
|
+
const operator = tokens[cursor++];
|
|
68
|
+
const right = atom();
|
|
69
|
+
if ((operator === '*' && value.length && right.length) ||
|
|
70
|
+
(operator === '/' && (right.length || right.amount === 0)))
|
|
71
|
+
throw new Error('Native calc requires compatible number and length operands.');
|
|
72
|
+
value = {
|
|
73
|
+
amount: operator === '*'
|
|
74
|
+
? value.amount * right.amount
|
|
75
|
+
: value.amount / right.amount,
|
|
76
|
+
length: value.length || right.length,
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
return value;
|
|
80
|
+
}
|
|
81
|
+
function sum() {
|
|
82
|
+
let value = product();
|
|
83
|
+
while (tokens[cursor] === '+' || tokens[cursor] === '-') {
|
|
84
|
+
const position = positions[cursor];
|
|
85
|
+
if (!/\s/.test(input[position - 1] ?? '') ||
|
|
86
|
+
!/\s/.test(input[position + 1] ?? ''))
|
|
87
|
+
throw new Error('Unsupported native calc expression.');
|
|
88
|
+
const operator = tokens[cursor++];
|
|
89
|
+
const right = product();
|
|
90
|
+
if (value.length !== right.length)
|
|
91
|
+
throw new Error('Native calc requires compatible number and length operands.');
|
|
92
|
+
value = {
|
|
93
|
+
amount: operator === '+'
|
|
94
|
+
? value.amount + right.amount
|
|
95
|
+
: value.amount - right.amount,
|
|
96
|
+
length: value.length,
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
return value;
|
|
100
|
+
}
|
|
101
|
+
const value = atom();
|
|
102
|
+
if (cursor !== tokens.length ||
|
|
103
|
+
!value.length ||
|
|
104
|
+
!Number.isFinite(value.amount))
|
|
105
|
+
throw new Error('Native calc must resolve to one finite px or rem length.');
|
|
106
|
+
return value.amount;
|
|
107
|
+
}
|
|
108
|
+
/** Splits shorthand lengths while preserving spaces within calculations. */
|
|
109
|
+
export function parts(input) {
|
|
110
|
+
const result = [];
|
|
111
|
+
let depth = 0;
|
|
112
|
+
let start = 0;
|
|
113
|
+
const text = input.trim();
|
|
114
|
+
for (let index = 0; index < text.length; index++) {
|
|
115
|
+
const character = text[index];
|
|
116
|
+
if (character === '(')
|
|
117
|
+
depth++;
|
|
118
|
+
if (character === ')' && --depth < 0)
|
|
119
|
+
throw new Error('Unbalanced native calculation.');
|
|
120
|
+
if (depth > 64)
|
|
121
|
+
throw new Error('Native calc exceeds 64 nested operations.');
|
|
122
|
+
if (depth === 0 && /\s/.test(character)) {
|
|
123
|
+
if (index > start)
|
|
124
|
+
result.push(text.slice(start, index));
|
|
125
|
+
start = index + 1;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
if (depth !== 0)
|
|
129
|
+
throw new Error('Unbalanced native calculation.');
|
|
130
|
+
if (start < text.length)
|
|
131
|
+
result.push(text.slice(start));
|
|
132
|
+
return result;
|
|
133
|
+
}
|
|
134
|
+
//# sourceMappingURL=Calculation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Calculation.js","sourceRoot":"","sources":["../../../src/react-native/internal/Calculation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
import * as NativeContext from "../../runtime/NativeContext.js";
|
|
2
|
+
import NativeZyzz from "./NativeZyzz.js";
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
import * as ReactNative from "react-native";
|
|
5
|
+
import * as Store from "./Store.js";
|
|
6
|
+
import * as Subscription from "../react.js";
|
|
7
|
+
import * as Viewport from "./Viewport.js";
|
|
8
|
+
function defineConfig(options = {}) {
|
|
9
|
+
const config = Subscription.defineConfig(options);
|
|
10
|
+
return Object.freeze({
|
|
11
|
+
...config,
|
|
12
|
+
Provider: dimensions(config.Provider)
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
const Provider = dimensions(Subscription.Provider);
|
|
16
|
+
import { useStyles, useVars, withStyles } from "../react.js";
|
|
17
|
+
function dimensions(Component) {
|
|
18
|
+
return function WindowProvider(props) {
|
|
19
|
+
const window = ReactNative.useWindowDimensions();
|
|
20
|
+
const viewport = React.useMemo(
|
|
21
|
+
() => ({ height: window.height, width: window.width }),
|
|
22
|
+
[window.height, window.width]
|
|
23
|
+
);
|
|
24
|
+
return React.createElement(
|
|
25
|
+
Viewport.context.Provider,
|
|
26
|
+
{ value: viewport },
|
|
27
|
+
React.createElement(Component, props)
|
|
28
|
+
);
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
const useNativeStyles = useBindings;
|
|
32
|
+
function useBindings() {
|
|
33
|
+
const owner = React.useContext(Store.context);
|
|
34
|
+
const [fallback] = React.useState(
|
|
35
|
+
() => Store.create({
|
|
36
|
+
colorScheme: "light",
|
|
37
|
+
viewport: ReactNative.Dimensions.get("window")
|
|
38
|
+
})
|
|
39
|
+
);
|
|
40
|
+
const store = owner ?? fallback;
|
|
41
|
+
const [, render] = React.useReducer((count) => count + 1, 0);
|
|
42
|
+
const [refs] = React.useState(
|
|
43
|
+
() => /* @__PURE__ */ new Map()
|
|
44
|
+
);
|
|
45
|
+
React.useLayoutEffect(() => {
|
|
46
|
+
for (const [instance, entry] of refs) {
|
|
47
|
+
if (entry.active) continue;
|
|
48
|
+
entry.release();
|
|
49
|
+
refs.delete(instance);
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
React.useLayoutEffect(
|
|
53
|
+
() => () => {
|
|
54
|
+
for (const entry of refs.values()) entry.release();
|
|
55
|
+
refs.clear();
|
|
56
|
+
},
|
|
57
|
+
[refs]
|
|
58
|
+
);
|
|
59
|
+
return {
|
|
60
|
+
style: NativeContext.application,
|
|
61
|
+
view: (props) => {
|
|
62
|
+
const snapshot = store.getSnapshot();
|
|
63
|
+
const selected = NativeContext.resolve(props.style, snapshot);
|
|
64
|
+
const initial = NativeContext.key(props.style, snapshot);
|
|
65
|
+
return {
|
|
66
|
+
...props,
|
|
67
|
+
ref: (value) => {
|
|
68
|
+
const ref = props.ref;
|
|
69
|
+
if (!value) return;
|
|
70
|
+
let entry = refs.get(value);
|
|
71
|
+
if (entry && entry.ref !== ref) {
|
|
72
|
+
entry.release();
|
|
73
|
+
refs.delete(value);
|
|
74
|
+
entry = void 0;
|
|
75
|
+
}
|
|
76
|
+
if (!entry) {
|
|
77
|
+
const release = typeof ref === "function" ? ref(value) : void 0;
|
|
78
|
+
if (ref && typeof ref !== "function") ref.current = value;
|
|
79
|
+
entry = {
|
|
80
|
+
active: true,
|
|
81
|
+
ref,
|
|
82
|
+
release: () => {
|
|
83
|
+
if (typeof release === "function") release();
|
|
84
|
+
else if (typeof ref === "function") ref(null);
|
|
85
|
+
else if (ref) ref.current = null;
|
|
86
|
+
}
|
|
87
|
+
};
|
|
88
|
+
refs.set(value, entry);
|
|
89
|
+
}
|
|
90
|
+
entry.active = true;
|
|
91
|
+
const attached = entry;
|
|
92
|
+
const instance = value.getNativeScrollRef?.() ?? value;
|
|
93
|
+
const node = instance.__internalInstanceHandle?.stateNode?.node;
|
|
94
|
+
const detach = (() => {
|
|
95
|
+
if (!initial.length && typeof selected !== "function")
|
|
96
|
+
return () => {
|
|
97
|
+
};
|
|
98
|
+
if (!NativeZyzz || !node || !selective(selected)) {
|
|
99
|
+
const unsubscribe = store.subscribe(render);
|
|
100
|
+
if (store.getSnapshot() !== snapshot) render();
|
|
101
|
+
return unsubscribe;
|
|
102
|
+
}
|
|
103
|
+
const id = NativeZyzz.attach(node, nativeProps(selected));
|
|
104
|
+
let previous = initial;
|
|
105
|
+
const read = (context) => {
|
|
106
|
+
const keys = NativeContext.key(props.style, context);
|
|
107
|
+
if (keys.length === previous.length && keys.every((key, index) => Object.is(key, previous[index])))
|
|
108
|
+
return { commit: () => {
|
|
109
|
+
} };
|
|
110
|
+
const selected2 = NativeContext.resolve(props.style, context);
|
|
111
|
+
if (!selective(selected2)) return { commit: render };
|
|
112
|
+
return {
|
|
113
|
+
commit: () => {
|
|
114
|
+
previous = keys;
|
|
115
|
+
},
|
|
116
|
+
patch: {
|
|
117
|
+
id,
|
|
118
|
+
props: nativeProps(selected2)
|
|
119
|
+
}
|
|
120
|
+
};
|
|
121
|
+
};
|
|
122
|
+
const current = read(store.getSnapshot());
|
|
123
|
+
if (current.patch) write([current.patch]);
|
|
124
|
+
current.commit();
|
|
125
|
+
const unbind = store.bind(read, write);
|
|
126
|
+
return () => {
|
|
127
|
+
unbind();
|
|
128
|
+
NativeZyzz.detach(id);
|
|
129
|
+
};
|
|
130
|
+
})();
|
|
131
|
+
const update = () => fallback.update({
|
|
132
|
+
colorScheme: "light",
|
|
133
|
+
viewport: ReactNative.Dimensions.get("window")
|
|
134
|
+
});
|
|
135
|
+
const contextual = initial.length > 0 || typeof selected === "function";
|
|
136
|
+
const subscription = owner || !contextual ? void 0 : ReactNative.Dimensions.addEventListener("change", update);
|
|
137
|
+
if (!owner && contextual) update();
|
|
138
|
+
return () => {
|
|
139
|
+
detach();
|
|
140
|
+
subscription?.remove();
|
|
141
|
+
attached.active = false;
|
|
142
|
+
};
|
|
143
|
+
},
|
|
144
|
+
style: selected
|
|
145
|
+
};
|
|
146
|
+
}
|
|
147
|
+
};
|
|
148
|
+
}
|
|
149
|
+
function selective(style) {
|
|
150
|
+
if (typeof style === "function") return false;
|
|
151
|
+
const value = ReactNative.StyleSheet.flatten(
|
|
152
|
+
style
|
|
153
|
+
);
|
|
154
|
+
return !value || ![
|
|
155
|
+
"aspectRatio",
|
|
156
|
+
"backgroundImage",
|
|
157
|
+
"backgroundPosition",
|
|
158
|
+
"backgroundRepeat",
|
|
159
|
+
"backgroundSize",
|
|
160
|
+
"boxShadow",
|
|
161
|
+
"experimental_backgroundImage",
|
|
162
|
+
"filter",
|
|
163
|
+
"fontVariant",
|
|
164
|
+
"transform",
|
|
165
|
+
"transformOrigin"
|
|
166
|
+
].some((property) => property in value);
|
|
167
|
+
}
|
|
168
|
+
function nativeProps(style) {
|
|
169
|
+
const flattened = ReactNative.StyleSheet.flatten(
|
|
170
|
+
style
|
|
171
|
+
) ?? {};
|
|
172
|
+
const result = { ...flattened };
|
|
173
|
+
for (const [name, value] of Object.entries(result)) {
|
|
174
|
+
if (name === "color" || name.endsWith("Color"))
|
|
175
|
+
result[name] = ReactNative.processColor(value);
|
|
176
|
+
}
|
|
177
|
+
return result;
|
|
178
|
+
}
|
|
179
|
+
function write(patches) {
|
|
180
|
+
NativeZyzz.update(patches);
|
|
181
|
+
}
|
|
182
|
+
export {
|
|
183
|
+
Provider,
|
|
184
|
+
defineConfig,
|
|
185
|
+
useNativeStyles,
|
|
186
|
+
useStyles,
|
|
187
|
+
useVars,
|
|
188
|
+
withStyles
|
|
189
|
+
};
|
|
190
|
+
|
|
191
|
+
//# sourceMappingURL=Device.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/react-native/internal/Device.ts"],
|
|
4
|
+
"sourcesContent": ["/** Supplies automatic window measurements for native React consumers. @module */\nimport type * as Config from '../../Config.js'\nimport * as NativeContext from '../../runtime/NativeContext.js'\nimport NativeZyzz from './NativeZyzz.js'\nimport * as React from 'react'\nimport * as ReactNative from 'react-native'\nimport * as Store from './Store.js'\nimport * as Subscription from '../react.js'\nimport * as Viewport from './Viewport.js'\n\n/** Creates native authoring helpers and a Provider with automatic window subscriptions. */\nexport function defineConfig<const options extends Config.create.Options = {}>(\n options: options & Parameters<typeof Config.create<options>>[0] = {} as never,\n): Subscription.defineConfig.ReturnType<options> {\n const config = Subscription.defineConfig<options>(options)\n return Object.freeze({\n ...config,\n Provider: dimensions(config.Provider),\n }) as Subscription.defineConfig.ReturnType<options>\n}\n\n/** Provides selected variables, appearance, and automatic native dimensions. */\nexport const Provider = dimensions(Subscription.Provider)\n\nexport { useStyles, useVars, withStyles } from '../react.js'\n\nfunction dimensions<props extends Subscription.Provider.Props>(\n Component: React.FunctionComponent<props>,\n): React.FunctionComponent<props> {\n return function WindowProvider(props: props) {\n const window = ReactNative.useWindowDimensions()\n const viewport = React.useMemo(\n () => ({ height: window.height, width: window.width }),\n [window.height, window.width],\n )\n return React.createElement(\n Viewport.context.Provider,\n { value: viewport },\n React.createElement(Component, props),\n )\n }\n}\n\n/** Compiler-only binding path, with React subscriptions for Expo Go. */\nexport const useNativeStyles = useBindings\n\ntype Instance = {\n readonly __internalInstanceHandle?:\n | {\n readonly stateNode?: { readonly node?: object | undefined } | undefined\n }\n | undefined\n readonly getNativeScrollRef?: (() => Instance) | undefined\n}\n\nfunction useBindings() {\n const owner = React.useContext(Store.context)\n const [fallback] = React.useState(() =>\n Store.create({\n colorScheme: 'light',\n viewport: ReactNative.Dimensions.get('window'),\n }),\n )\n const store = owner ?? fallback\n const [, render] = React.useReducer((count: number) => count + 1, 0)\n const [refs] = React.useState(\n () =>\n new Map<\n Instance,\n {\n active: boolean\n ref: React.Ref<Instance> | undefined\n release: () => void\n }\n >(),\n )\n React.useLayoutEffect(() => {\n for (const [instance, entry] of refs) {\n if (entry.active) continue\n entry.release()\n refs.delete(instance)\n }\n })\n React.useLayoutEffect(\n () => () => {\n for (const entry of refs.values()) entry.release()\n refs.clear()\n },\n [refs],\n )\n return {\n style: NativeContext.application,\n view: (props: Record<string, unknown>) => {\n const snapshot = store.getSnapshot()\n const selected = NativeContext.resolve(props.style, snapshot)\n const initial = NativeContext.key(props.style, snapshot)\n\n return {\n ...props,\n ref: (value: Instance | null) => {\n const ref = props.ref as React.Ref<Instance> | undefined\n if (!value) return\n let entry = refs.get(value)\n if (entry && entry.ref !== ref) {\n entry.release()\n refs.delete(value)\n entry = undefined\n }\n if (!entry) {\n const release = typeof ref === 'function' ? ref(value) : undefined\n if (ref && typeof ref !== 'function') ref.current = value\n entry = {\n active: true,\n ref,\n release: () => {\n if (typeof release === 'function') release()\n else if (typeof ref === 'function') ref(null)\n else if (ref) ref.current = null\n },\n }\n refs.set(value, entry)\n }\n entry.active = true\n const attached = entry\n\n const instance = value.getNativeScrollRef?.() ?? value\n const node = instance.__internalInstanceHandle?.stateNode?.node\n const detach = (() => {\n if (!initial.length && typeof selected !== 'function')\n return () => {}\n if (!NativeZyzz || !node || !selective(selected)) {\n const unsubscribe = store.subscribe(render)\n if (store.getSnapshot() !== snapshot) render()\n return unsubscribe\n }\n const id = NativeZyzz!.attach(node, nativeProps(selected))\n let previous = initial\n const read = (context: NativeContext.Context) => {\n const keys = NativeContext.key(props.style, context)\n if (\n keys.length === previous.length &&\n keys.every((key, index) => Object.is(key, previous[index]))\n )\n return { commit: () => {} }\n const selected = NativeContext.resolve(props.style, context)\n if (!selective(selected)) return { commit: render }\n return {\n commit: () => {\n previous = keys\n },\n patch: {\n id,\n props: nativeProps(selected),\n },\n }\n }\n // Context can change between render and committing the host ref.\n const current = read(store.getSnapshot())\n if (current.patch) write([current.patch])\n current.commit()\n const unbind = store.bind(read, write)\n return () => {\n unbind()\n NativeZyzz!.detach(id)\n }\n })()\n const update = () =>\n fallback.update({\n colorScheme: 'light',\n viewport: ReactNative.Dimensions.get('window'),\n })\n const contextual =\n initial.length > 0 || typeof selected === 'function'\n const subscription =\n owner || !contextual\n ? undefined\n : ReactNative.Dimensions.addEventListener('change', update)\n if (!owner && contextual) update()\n return () => {\n detach()\n subscription?.remove()\n attached.active = false\n }\n },\n style: selected,\n }\n },\n }\n}\n\nfunction selective(style: unknown): boolean {\n if (typeof style === 'function') return false\n const value = ReactNative.StyleSheet.flatten(\n style as ReactNative.StyleProp<ReactNative.ViewStyle>,\n )\n // Let React Native apply its processors to caller-owned representations.\n // Only color properties are processed by the selective writer below.\n return (\n !value ||\n ![\n 'aspectRatio',\n 'backgroundImage',\n 'backgroundPosition',\n 'backgroundRepeat',\n 'backgroundSize',\n 'boxShadow',\n 'experimental_backgroundImage',\n 'filter',\n 'fontVariant',\n 'transform',\n 'transformOrigin',\n ].some((property) => property in value)\n )\n}\n\nfunction nativeProps(style: unknown): Record<string, unknown> {\n const flattened =\n ReactNative.StyleSheet.flatten(\n style as ReactNative.StyleProp<ReactNative.ViewStyle>,\n ) ?? {}\n const result: Record<string, unknown> = { ...flattened }\n for (const [name, value] of Object.entries(result)) {\n if (name === 'color' || name.endsWith('Color'))\n result[name] = ReactNative.processColor(value as ReactNative.ColorValue)\n }\n return result\n}\n\nfunction write(patches: readonly Store.Patch[]) {\n NativeZyzz!.update(patches)\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["selected"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/react-native/internal/NativeZyzz.ts"],
|
|
4
|
+
"sourcesContent": ["/** Private Fabric bridge for committed view bindings. @module */\nimport type { CodegenTypes, TurboModule } from 'react-native'\nimport { TurboModuleRegistry } from 'react-native'\n\n/** Codegen contract, consumed only by the native adapter. */\nexport interface Spec extends TurboModule {\n /** Links a mounted Fabric node and its rendered style. */\n readonly attach: (\n node: CodegenTypes.UnsafeObject,\n props: CodegenTypes.UnsafeObject,\n ) => number\n /** Releases a view binding. */\n readonly detach: (id: number) => void\n /** Reports live bindings and applied update batches. */\n readonly inspect: () => CodegenTypes.UnsafeObject\n /** Applies one batch of changed native styles. */\n readonly update: (updates: ReadonlyArray<CodegenTypes.UnsafeObject>) => void\n}\n\nexport default TurboModuleRegistry.get<Spec>('NativeZyzz')\n"],
|
|
5
|
+
"mappings": "AAEA,SAAS,2BAA2B;AAiBpC,IAAO,qBAAQ,oBAAoB,IAAU,YAAY;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Scalar.d.ts","sourceRoot":"","sources":["../../../src/react-native/internal/Scalar.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Scalar.d.ts","sourceRoot":"","sources":["../../../src/react-native/internal/Scalar.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/** Converts portable scalar values without source parsing or device state. @module */
|
|
2
2
|
import * as Color from './Color.js';
|
|
3
|
+
import * as Calculation from './Calculation.js';
|
|
3
4
|
/** Portable property domains shared by static and dynamic native conversion. */
|
|
4
5
|
export const properties = {
|
|
5
6
|
alignContent: [
|
|
@@ -168,7 +169,7 @@ export function convert(kind, value, options, path) {
|
|
|
168
169
|
fail('unsupported_value', 'Invalid native percentage.', path);
|
|
169
170
|
}
|
|
170
171
|
if (kind === 'box' || kind === 'boxSigned') {
|
|
171
|
-
const values = typeof value === 'string' ?
|
|
172
|
+
const values = typeof value === 'string' ? Calculation.parts(value) : [value];
|
|
172
173
|
if (!values.length || values.length > 4)
|
|
173
174
|
fail('unsupported_value', 'Use one to four scalar lengths.', path);
|
|
174
175
|
for (const value of values)
|
|
@@ -181,8 +182,14 @@ export function convert(kind, value, options, path) {
|
|
|
181
182
|
export function length(value, options, signed, path) {
|
|
182
183
|
if (value === 0 || value === '0')
|
|
183
184
|
return 0;
|
|
185
|
+
if (typeof value === 'string' && /^\s*calc\(/i.test(value)) {
|
|
186
|
+
const result = Calculation.length(value.trim(), options);
|
|
187
|
+
if (!signed && result < 0)
|
|
188
|
+
fail('unsupported_value', 'Converted length is outside the native property domain.', path);
|
|
189
|
+
return result;
|
|
190
|
+
}
|
|
184
191
|
const match = typeof value === 'string' &&
|
|
185
|
-
/^([+-]?(?:\d+(?:\.\d+)?|\.\d+))(px|rem)$/.exec(value);
|
|
192
|
+
/^([+-]?(?:\d+(?:\.\d+)?|\.\d+)(?:[eE][+-]?\d+)?)(px|rem)$/.exec(value);
|
|
186
193
|
if (!match)
|
|
187
194
|
fail('unsupported_value', 'Use zero, px, or rem with an explicit rem conversion.', path);
|
|
188
195
|
const scale = match[2] === 'px' ? (options.units?.px ?? 1) : options.units?.rem;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Scalar.js","sourceRoot":"","sources":["../../../src/react-native/internal/Scalar.ts"],"names":[],"mappings":"AAAA,sFAAsF;AACtF,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"Scalar.js","sourceRoot":"","sources":["../../../src/react-native/internal/Scalar.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/** Owns scoped React subscriptions and committed native style readers. @module */
|
|
2
|
+
import type * as NativeContext from '../../runtime/NativeContext.js';
|
|
3
|
+
import * as React from 'react';
|
|
4
|
+
/** Internal view update payload shared with the native bridge. */
|
|
5
|
+
export type Patch = {
|
|
6
|
+
/** Runtime-local mounted view identifier. */
|
|
7
|
+
readonly id: number;
|
|
8
|
+
/** Processed native style properties. */
|
|
9
|
+
readonly props: Record<string, unknown>;
|
|
10
|
+
};
|
|
11
|
+
type Selection = {
|
|
12
|
+
readonly commit: () => void;
|
|
13
|
+
readonly patch?: Patch | undefined;
|
|
14
|
+
};
|
|
15
|
+
type Reader = (value: NativeContext.Context) => Selection;
|
|
16
|
+
type Writer = (patches: readonly Patch[]) => void;
|
|
17
|
+
/** Nearest configuration-owned selection. */
|
|
18
|
+
export declare const context: React.Context<{
|
|
19
|
+
bind(read: Reader, write: Writer): () => void;
|
|
20
|
+
getSnapshot: () => Readonly<NativeContext.Context>;
|
|
21
|
+
subscribe(listener: () => void): () => void;
|
|
22
|
+
update(value: NativeContext.Context): void;
|
|
23
|
+
} | undefined>;
|
|
24
|
+
/** Creates subscriptions owned by a Provider or a provider-free style consumer. */
|
|
25
|
+
export declare function create(initial: NativeContext.Context): {
|
|
26
|
+
bind(read: Reader, write: Writer): () => void;
|
|
27
|
+
getSnapshot: () => Readonly<NativeContext.Context>;
|
|
28
|
+
subscribe(listener: () => void): () => void;
|
|
29
|
+
update(value: NativeContext.Context): void;
|
|
30
|
+
};
|
|
31
|
+
export {};
|
|
32
|
+
//# sourceMappingURL=Store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Store.d.ts","sourceRoot":"","sources":["../../../src/react-native/internal/Store.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAClF,OAAO,KAAK,KAAK,aAAa,MAAM,gCAAgC,CAAA;AACpE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,kEAAkE;AAClE,MAAM,MAAM,KAAK,GAAG;IAClB,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,yCAAyC;IACzC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACxC,CAAA;AAED,KAAK,SAAS,GAAG;IACf,QAAQ,CAAC,MAAM,EAAE,MAAM,IAAI,CAAA;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,SAAS,CAAA;CACnC,CAAA;AACD,KAAK,MAAM,GAAG,CAAC,KAAK,EAAE,aAAa,CAAC,OAAO,KAAK,SAAS,CAAA;AACzD,KAAK,MAAM,GAAG,CAAC,OAAO,EAAE,SAAS,KAAK,EAAE,KAAK,IAAI,CAAA;AAEjD,6CAA6C;AAC7C,eAAO,MAAM,OAAO;eAWL,MAAM,SAAS,MAAM;;wBAOZ,MAAM,IAAI;kBAOhB,aAAa,CAAC,OAAO;cAvB3B,CAAA;AAEZ,mFAAmF;AACnF,wBAAgB,MAAM,CAAC,OAAO,EAAE,aAAa,CAAC,OAAO;IAMjD,IAAI,OAAO,MAAM,SAAS,MAAM;IAMhC,WAAW;IACX,SAAS,WAAW,MAAM,IAAI;IAO9B,MAAM,QAAQ,aAAa,CAAC,OAAO;EAgCtC"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
/** Nearest configuration-owned selection. */
|
|
3
|
+
export const context = React.createContext(undefined);
|
|
4
|
+
/** Creates subscriptions owned by a Provider or a provider-free style consumer. */
|
|
5
|
+
export function create(initial) {
|
|
6
|
+
let snapshot = Object.freeze(initial);
|
|
7
|
+
const bindings = new Map();
|
|
8
|
+
const listeners = new Set();
|
|
9
|
+
return {
|
|
10
|
+
bind(read, write) {
|
|
11
|
+
bindings.set(read, write);
|
|
12
|
+
return () => {
|
|
13
|
+
bindings.delete(read);
|
|
14
|
+
};
|
|
15
|
+
},
|
|
16
|
+
getSnapshot: () => snapshot,
|
|
17
|
+
subscribe(listener) {
|
|
18
|
+
const entry = () => listener();
|
|
19
|
+
listeners.add(entry);
|
|
20
|
+
return () => {
|
|
21
|
+
listeners.delete(entry);
|
|
22
|
+
};
|
|
23
|
+
},
|
|
24
|
+
update(value) {
|
|
25
|
+
if (snapshot.colorScheme === value.colorScheme &&
|
|
26
|
+
snapshot.set === value.set &&
|
|
27
|
+
snapshot.viewport?.height === value.viewport?.height &&
|
|
28
|
+
snapshot.viewport?.width === value.viewport?.width)
|
|
29
|
+
return;
|
|
30
|
+
// Resolve every binding before applying a scope change that can fail.
|
|
31
|
+
const selections = [];
|
|
32
|
+
const batches = new Map();
|
|
33
|
+
for (const [read, write] of bindings) {
|
|
34
|
+
const selection = read(value);
|
|
35
|
+
selections.push(selection);
|
|
36
|
+
if (!selection.patch)
|
|
37
|
+
continue;
|
|
38
|
+
let batch = batches.get(write);
|
|
39
|
+
if (!batch) {
|
|
40
|
+
batch = [];
|
|
41
|
+
batches.set(write, batch);
|
|
42
|
+
}
|
|
43
|
+
batch.push(selection.patch);
|
|
44
|
+
}
|
|
45
|
+
for (const [write, patches] of batches)
|
|
46
|
+
write(patches);
|
|
47
|
+
snapshot = Object.freeze(value);
|
|
48
|
+
for (const selection of selections)
|
|
49
|
+
selection.commit();
|
|
50
|
+
// Subscriptions added during notification wait for the next change.
|
|
51
|
+
for (const listener of Array.from(listeners))
|
|
52
|
+
if (listeners.has(listener))
|
|
53
|
+
listener();
|
|
54
|
+
},
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=Store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Store.js","sourceRoot":"","sources":["../../../src/react-native/internal/Store.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAiB9B,6CAA6C;AAC7C,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,CAAC,aAAa,CAExC,SAAS,CAAC,CAAA;AAEZ,mFAAmF;AACnF,MAAM,UAAU,MAAM,CAAC,OAA8B;IACnD,IAAI,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IACrC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAA;IAC1C,MAAM,SAAS,GAAG,IAAI,GAAG,EAAc,CAAA;IAEvC,OAAO;QACL,IAAI,CAAC,IAAY,EAAE,KAAa;YAC9B,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;YACzB,OAAO,GAAG,EAAE;gBACV,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YACvB,CAAC,CAAA;QACH,CAAC;QACD,WAAW,EAAE,GAAG,EAAE,CAAC,QAAQ;QAC3B,SAAS,CAAC,QAAoB;YAC5B,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAA;YAC9B,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;YACpB,OAAO,GAAG,EAAE;gBACV,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YACzB,CAAC,CAAA;QACH,CAAC;QACD,MAAM,CAAC,KAA4B;YACjC,IACE,QAAQ,CAAC,WAAW,KAAK,KAAK,CAAC,WAAW;gBAC1C,QAAQ,CAAC,GAAG,KAAK,KAAK,CAAC,GAAG;gBAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,KAAK,KAAK,CAAC,QAAQ,EAAE,MAAM;gBACpD,QAAQ,CAAC,QAAQ,EAAE,KAAK,KAAK,KAAK,CAAC,QAAQ,EAAE,KAAK;gBAElD,OAAM;YAER,sEAAsE;YACtE,MAAM,UAAU,GAAgB,EAAE,CAAA;YAClC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAmB,CAAA;YAC1C,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,QAAQ,EAAE,CAAC;gBACrC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAA;gBAC7B,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;gBAC1B,IAAI,CAAC,SAAS,CAAC,KAAK;oBAAE,SAAQ;gBAC9B,IAAI,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;gBAC9B,IAAI,CAAC,KAAK,EAAE,CAAC;oBACX,KAAK,GAAG,EAAE,CAAA;oBACV,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;gBAC3B,CAAC;gBACD,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;YAC7B,CAAC;YACD,KAAK,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,OAAO;gBAAE,KAAK,CAAC,OAAO,CAAC,CAAA;YAEtD,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YAC/B,KAAK,MAAM,SAAS,IAAI,UAAU;gBAAE,SAAS,CAAC,MAAM,EAAE,CAAA;YACtD,oEAAoE;YACpE,KAAK,MAAM,QAAQ,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;gBAC1C,IAAI,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC;oBAAE,QAAQ,EAAE,CAAA;QAC3C,CAAC;KACF,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type * as Scalar from './Scalar.js';
|
|
2
|
+
import type * as Style from '../../Style.js';
|
|
3
|
+
import * as Token from '../../internal/Token.js';
|
|
4
|
+
/** Identifies values whose behavior requires a web target. */
|
|
5
|
+
export declare class UnsupportedError extends Error {
|
|
6
|
+
name: string;
|
|
7
|
+
}
|
|
8
|
+
/** Selects live token aliases and schemes without evaluating authored code. */
|
|
9
|
+
export declare function resolve(input: Style.Declaration['value'], options: resolve.Options): string | number;
|
|
10
|
+
/** Native token selection and explicit unit conversion. */
|
|
11
|
+
export declare namespace resolve {
|
|
12
|
+
/** Profile metadata and scheme independence shared by table preparation. */
|
|
13
|
+
type Options = Scalar.Options & {
|
|
14
|
+
readonly colorScheme: 'dark' | 'light';
|
|
15
|
+
readonly metadata: Token.Metadata | undefined;
|
|
16
|
+
readonly resolution: {
|
|
17
|
+
schemeIndependent: boolean;
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=Tokens.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Tokens.d.ts","sourceRoot":"","sources":["../../../src/react-native/internal/Tokens.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,MAAM,aAAa,CAAA;AAC1C,OAAO,KAAK,KAAK,KAAK,MAAM,gBAAgB,CAAA;AAC5C,OAAO,KAAK,KAAK,MAAM,yBAAyB,CAAA;AAEhD,8DAA8D;AAC9D,qBAAa,gBAAiB,SAAQ,KAAK;IAChC,IAAI,SAA4B;CAC1C;AAED,+EAA+E;AAC/E,wBAAgB,OAAO,CACrB,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,EACjC,OAAO,EAAE,OAAO,CAAC,OAAO,GACvB,MAAM,GAAG,MAAM,CA2DjB;AAED,2DAA2D;AAC3D,MAAM,CAAC,OAAO,WAAW,OAAO,CAAC;IAC/B,4EAA4E;IAC5E,KAAK,OAAO,GAAG,MAAM,CAAC,OAAO,GAAG;QAC9B,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAA;QACtC,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,GAAG,SAAS,CAAA;QAC7C,QAAQ,CAAC,UAAU,EAAE;YAAE,iBAAiB,EAAE,OAAO,CAAA;SAAE,CAAA;KACpD,CAAA;CACF"}
|