@tamagui/core 1.0.0-alpha.2 → 1.0.0-alpha.7
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/dist/createComponent.js +43 -29
- package/dist/createComponent.js.map +2 -2
- package/dist/createFont.js +4 -0
- package/dist/createFont.js.map +2 -2
- package/dist/createTamagui.js +7 -0
- package/dist/createTamagui.js.map +2 -2
- package/dist/createTokens.js +4 -0
- package/dist/createTokens.js.map +2 -2
- package/dist/createVariable.js +3 -0
- package/dist/createVariable.js.map +2 -2
- package/dist/helpers/getSplitStyles.js +1 -13
- package/dist/helpers/getSplitStyles.js.map +2 -2
- package/dist/helpers/isComponent.js +10 -0
- package/dist/helpers/isComponent.js.map +7 -0
- package/dist/helpers/isTamaguiComponent.js +10 -0
- package/dist/helpers/isTamaguiComponent.js.map +7 -0
- package/dist/helpers/isTamaguiElement.js +10 -0
- package/dist/helpers/isTamaguiElement.js.map +7 -0
- package/dist/helpers/validate.js +60 -0
- package/dist/helpers/validate.js.map +7 -0
- package/dist/helpers/validateConfig.js +46 -0
- package/dist/helpers/validateConfig.js.map +7 -0
- package/dist/helpers/validateTokens.js +29 -0
- package/dist/helpers/validateTokens.js.map +7 -0
- package/dist/hooks/useMedia.js +1 -1
- package/dist/hooks/useMedia.js.map +2 -2
- package/dist/hooks/useTheme.js +1 -1
- package/dist/hooks/useTheme.js.map +2 -2
- package/dist/index.cjs +223 -137
- package/dist/index.cjs.map +3 -3
- package/dist/index.js +1 -2
- package/dist/index.js.map +2 -2
- package/dist/views/Theme.js +16 -7
- package/dist/views/Theme.js.map +2 -2
- package/dist/views/ThemeInverse.js +0 -1
- package/dist/views/ThemeInverse.js.map +2 -2
- package/dist/views/ThemeManagerContext.js +7 -1
- package/dist/views/ThemeManagerContext.js.map +2 -2
- package/package.json +12 -5
- package/src/createComponent.tsx +49 -38
- package/src/createFont.ts +5 -0
- package/src/createTamagui.ts +8 -0
- package/src/createTokens.ts +6 -1
- package/src/createVariable.ts +4 -0
- package/src/helpers/getSplitStyles.tsx +3 -16
- package/src/helpers/isTamaguiElement.tsx +5 -0
- package/src/helpers/validate.ts +59 -0
- package/src/hooks/useMedia.tsx +1 -1
- package/src/hooks/useTheme.tsx +1 -1
- package/src/index.ts +1 -2
- package/src/types.tsx +1 -0
- package/src/views/Theme.tsx +26 -9
- package/src/views/ThemeInverse.tsx +0 -1
- package/src/views/ThemeManagerContext.tsx +11 -1
- package/types.d.ts +3 -5
- package/.ultra.cache.json +0 -1
- package/_/constants/constants.js +0 -14
- package/_/constants/constants.js.map +0 -7
- package/_/constants/platform.js +0 -20
- package/_/constants/platform.js.map +0 -7
- package/_/constants/pseudos.js +0 -18
- package/_/constants/pseudos.js.map +0 -7
- package/_/constants/rnw.js +0 -22
- package/_/constants/rnw.js.map +0 -7
- package/_/createComponent.js +0 -427
- package/_/createComponent.js.map +0 -7
- package/_/createShorthands.js +0 -10
- package/_/createShorthands.js.map +0 -7
- package/_/createTamagui.js +0 -122
- package/_/createTamagui.js.map +0 -7
- package/_/createTheme.js +0 -20
- package/_/createTheme.js.map +0 -7
- package/_/createTokens.js +0 -29
- package/_/createTokens.js.map +0 -7
- package/_/createVariable.js +0 -22
- package/_/createVariable.js.map +0 -7
- package/_/helpers/addStylesUsingClassname.js +0 -32
- package/_/helpers/addStylesUsingClassname.js.map +0 -7
- package/_/helpers/createMediaStyle.js +0 -34
- package/_/helpers/createMediaStyle.js.map +0 -7
- package/_/helpers/createTamaguiProvider.js +0 -42
- package/_/helpers/createTamaguiProvider.js.map +0 -7
- package/_/helpers/extendStaticConfig.js +0 -176
- package/_/helpers/extendStaticConfig.js.map +0 -7
- package/_/helpers/fixNativeShadow.js +0 -8
- package/_/helpers/fixNativeShadow.js.map +0 -7
- package/_/helpers/fixNativeShadow.native.js +0 -30
- package/_/helpers/fixNativeShadow.native.js.map +0 -7
- package/_/helpers/getSplitStyles.js +0 -160
- package/_/helpers/getSplitStyles.js.map +0 -7
- package/_/helpers/getStylesAtomic.js +0 -84
- package/_/helpers/getStylesAtomic.js.map +0 -7
- package/_/helpers/getStylesAtomic.native.js +0 -10
- package/_/helpers/getStylesAtomic.native.js.map +0 -7
- package/_/helpers/insertStyleRule.js +0 -24
- package/_/helpers/insertStyleRule.js.map +0 -7
- package/_/helpers/matchMedia.js +0 -15
- package/_/helpers/matchMedia.js.map +0 -7
- package/_/helpers/matchMedia.native.js +0 -8
- package/_/helpers/matchMedia.native.js.map +0 -7
- package/_/helpers/themeable.js +0 -26
- package/_/helpers/themeable.js.map +0 -7
- package/_/hooks/useConstant.js +0 -15
- package/_/hooks/useConstant.js.map +0 -7
- package/_/hooks/useFeatures.js +0 -75
- package/_/hooks/useFeatures.js.map +0 -7
- package/_/hooks/useForceUpdate.js +0 -28
- package/_/hooks/useForceUpdate.js.map +0 -7
- package/_/hooks/useMedia.js +0 -173
- package/_/hooks/useMedia.js.map +0 -7
- package/_/hooks/usePressable.js +0 -14
- package/_/hooks/usePressable.js.map +0 -7
- package/_/hooks/useTheme.js +0 -94
- package/_/hooks/useTheme.js.map +0 -7
- package/_/index.js +0 -30
- package/_/index.js.map +0 -7
- package/_/static/postProcessStyles.js +0 -18
- package/_/static/postProcessStyles.js.map +0 -7
- package/_/static.js +0 -12
- package/_/static.js.map +0 -7
- package/_/styled.js +0 -21
- package/_/styled.js.map +0 -7
- package/_/types.js +0 -1
- package/_/types.js.map +0 -7
- package/_/views/Animated.js +0 -79
- package/_/views/Animated.js.map +0 -7
- package/_/views/Stack.js +0 -12
- package/_/views/Stack.js.map +0 -7
- package/_/views/Text.js +0 -60
- package/_/views/Text.js.map +0 -7
- package/_/views/TextAncestorContext.js +0 -19
- package/_/views/TextAncestorContext.js.map +0 -7
- package/_/views/Theme.js +0 -57
- package/_/views/Theme.js.map +0 -7
- package/_/views/ThemeContext.js +0 -6
- package/_/views/ThemeContext.js.map +0 -7
- package/_/views/ThemeInverse.js +0 -27
- package/_/views/ThemeInverse.js.map +0 -7
- package/_/views/ThemeManagerContext.js +0 -56
- package/_/views/ThemeManagerContext.js.map +0 -7
- package/_/views/ThemeProvider.js +0 -45
- package/_/views/ThemeProvider.js.map +0 -7
- package/src/hooks/useForceUpdate.tsx +0 -26
- package/src/views/SafeAreaProvider.tsx +0 -33
- package/tsconfig.json +0 -8
package/dist/index.cjs
CHANGED
|
@@ -56,7 +56,6 @@ var __toModule = (module2) => {
|
|
|
56
56
|
__export(exports, {
|
|
57
57
|
AnimatedStack: () => AnimatedStack,
|
|
58
58
|
GET_DEFAULT_THEME: () => GET_DEFAULT_THEME,
|
|
59
|
-
SafeAreaProvider: () => SafeAreaProvider,
|
|
60
59
|
Spacer: () => Spacer,
|
|
61
60
|
Stack: () => Stack,
|
|
62
61
|
Text: () => Text2,
|
|
@@ -83,6 +82,7 @@ __export(exports, {
|
|
|
83
82
|
isChrome: () => isChrome,
|
|
84
83
|
isObj: () => isObj,
|
|
85
84
|
isSSR: () => isSSR,
|
|
85
|
+
isTamaguiElement: () => isTamaguiElement,
|
|
86
86
|
isTouchDevice: () => isTouchDevice,
|
|
87
87
|
isVariable: () => isVariable,
|
|
88
88
|
isWeb: () => isWeb,
|
|
@@ -104,7 +104,6 @@ __export(exports, {
|
|
|
104
104
|
themeable: () => themeable,
|
|
105
105
|
useConstant: () => useConstant,
|
|
106
106
|
useDefaultThemeName: () => useDefaultThemeName,
|
|
107
|
-
useForceUpdate: () => useForceUpdate,
|
|
108
107
|
useIsomorphicLayoutEffect: () => useIsomorphicLayoutEffect,
|
|
109
108
|
useMedia: () => useMedia,
|
|
110
109
|
useTheme: () => useTheme,
|
|
@@ -113,7 +112,8 @@ __export(exports, {
|
|
|
113
112
|
|
|
114
113
|
// src/createComponent.tsx
|
|
115
114
|
var import_helpers4 = __toModule(require("@tamagui/helpers"));
|
|
116
|
-
var
|
|
115
|
+
var import_use_force_update2 = __toModule(require("@tamagui/use-force-update"));
|
|
116
|
+
var import_react11 = __toModule(require("react"));
|
|
117
117
|
var import_react_native3 = __toModule(require("react-native"));
|
|
118
118
|
|
|
119
119
|
// src/constants/platform.ts
|
|
@@ -166,6 +166,9 @@ var Variable = class {
|
|
|
166
166
|
this.name = name;
|
|
167
167
|
this.variable = isWeb ? `var(--${name})` : this.val;
|
|
168
168
|
}
|
|
169
|
+
toString() {
|
|
170
|
+
return isWeb ? this.variable : this.val;
|
|
171
|
+
}
|
|
169
172
|
};
|
|
170
173
|
__name(Variable, "Variable");
|
|
171
174
|
var createVariable = /* @__PURE__ */ __name((props) => new Variable(props), "createVariable");
|
|
@@ -216,16 +219,22 @@ var import_react5 = __toModule(require("react"));
|
|
|
216
219
|
var ThemeManager = class {
|
|
217
220
|
constructor() {
|
|
218
221
|
this.name = "light";
|
|
222
|
+
this.parentName = null;
|
|
219
223
|
this.keys = new Map();
|
|
220
224
|
this.listeners = new Map();
|
|
221
225
|
this.callbacks = new Set();
|
|
222
226
|
this.theme = null;
|
|
223
227
|
}
|
|
224
|
-
setActiveTheme(
|
|
228
|
+
setActiveTheme({
|
|
229
|
+
name,
|
|
230
|
+
theme,
|
|
231
|
+
parentName
|
|
232
|
+
}) {
|
|
225
233
|
if (name === this.name)
|
|
226
234
|
return;
|
|
227
235
|
this.name = name;
|
|
228
236
|
this.theme = theme;
|
|
237
|
+
this.parentName = parentName || null;
|
|
229
238
|
this.update();
|
|
230
239
|
}
|
|
231
240
|
track(uuid, keys) {
|
|
@@ -269,28 +278,37 @@ var Theme = /* @__PURE__ */ __name((props) => {
|
|
|
269
278
|
const themes = (0, import_react6.useContext)(ThemeContext);
|
|
270
279
|
const [parentName, setParentName] = (0, import_react6.useState)(parent.name || "light");
|
|
271
280
|
if (!themes) {
|
|
272
|
-
console.warn("no themes
|
|
281
|
+
console.warn("Error, no themes in context", props);
|
|
273
282
|
return props.children;
|
|
274
283
|
}
|
|
275
284
|
const name = props.name;
|
|
276
|
-
const
|
|
285
|
+
const nextNameParent = `${name}-${parentName}`;
|
|
286
|
+
const nextNameParentParent = `${name}-${parent.parentName}`;
|
|
287
|
+
const activeName = !name ? null : name in themes ? name : nextNameParent in themes ? nextNameParent : nextNameParentParent in themes ? nextNameParentParent : null;
|
|
288
|
+
const theme = activeName ? themes[activeName] : null;
|
|
277
289
|
const themeManager = useConstant(() => {
|
|
290
|
+
if (!theme) {
|
|
291
|
+
return null;
|
|
292
|
+
}
|
|
278
293
|
const manager = new ThemeManager();
|
|
279
294
|
if (name) {
|
|
280
|
-
manager.setActiveTheme(name, themes[name]);
|
|
295
|
+
manager.setActiveTheme({ name, theme: themes[name], parentName });
|
|
281
296
|
}
|
|
282
297
|
return manager;
|
|
283
298
|
});
|
|
284
299
|
useIsomorphicLayoutEffect(() => {
|
|
285
|
-
themeManager
|
|
300
|
+
if (!themeManager) {
|
|
301
|
+
return;
|
|
302
|
+
}
|
|
303
|
+
themeManager.setActiveTheme({ name: activeName, theme, parentName });
|
|
286
304
|
return parent.onChangeTheme((next) => {
|
|
287
305
|
if (next) {
|
|
288
|
-
themeManager.setActiveTheme(next, themes[next]);
|
|
306
|
+
themeManager.setActiveTheme({ name: next, theme: themes[next], parentName });
|
|
289
307
|
setParentName(next);
|
|
290
308
|
}
|
|
291
309
|
});
|
|
292
|
-
}, [themes,
|
|
293
|
-
if (!name) {
|
|
310
|
+
}, [themes, activeName, parentName]);
|
|
311
|
+
if (!name || !theme) {
|
|
294
312
|
return props.children;
|
|
295
313
|
}
|
|
296
314
|
const contents = themeManager ? /* @__PURE__ */ import_react6.default.createElement(ThemeManagerContext.Provider, {
|
|
@@ -363,8 +381,63 @@ function createTamaguiProvider(themeProps) {
|
|
|
363
381
|
}
|
|
364
382
|
__name(createTamaguiProvider, "createTamaguiProvider");
|
|
365
383
|
|
|
384
|
+
// src/helpers/validate.ts
|
|
385
|
+
var import_ow = __toModule(require("@tamagui/ow"));
|
|
386
|
+
var validateConfig = /* @__PURE__ */ __name((conf3) => {
|
|
387
|
+
if (!conf3) {
|
|
388
|
+
console.warn("no conf?");
|
|
389
|
+
return;
|
|
390
|
+
}
|
|
391
|
+
try {
|
|
392
|
+
(0, import_ow.default)(conf3, validConfig);
|
|
393
|
+
} catch (err) {
|
|
394
|
+
console.log("Given config:\n", JSON.stringify(conf3, null, 2));
|
|
395
|
+
throw err;
|
|
396
|
+
}
|
|
397
|
+
}, "validateConfig");
|
|
398
|
+
var validConfig = import_ow.default.object.exactShape({
|
|
399
|
+
defaultTheme: import_ow.default.optional.string,
|
|
400
|
+
disableRootThemeClass: import_ow.default.optional.boolean,
|
|
401
|
+
shorthands: import_ow.default.optional.object.valuesOfType(import_ow.default.string),
|
|
402
|
+
themes: import_ow.default.object.valuesOfType(import_ow.default.object),
|
|
403
|
+
tokens: import_ow.default.object.valuesOfType(import_ow.default.object),
|
|
404
|
+
media: import_ow.default.object.valuesOfType(import_ow.default.object)
|
|
405
|
+
});
|
|
406
|
+
var validFont = import_ow.default.object.exactShape({
|
|
407
|
+
family: import_ow.default.string,
|
|
408
|
+
size: import_ow.default.object.nonEmpty.valuesOfType(import_ow.default.number),
|
|
409
|
+
lineHeight: import_ow.default.object.nonEmpty.valuesOfType(import_ow.default.number),
|
|
410
|
+
weight: import_ow.default.object.nonEmpty.valuesOfType(import_ow.default.string),
|
|
411
|
+
letterSpacing: import_ow.default.object.nonEmpty.valuesOfType(import_ow.default.number)
|
|
412
|
+
});
|
|
413
|
+
var validTokens = import_ow.default.object.exactShape({
|
|
414
|
+
font: import_ow.default.object.valuesOfType(validFont),
|
|
415
|
+
size: import_ow.default.object.nonEmpty.valuesOfType(import_ow.default.number),
|
|
416
|
+
space: import_ow.default.object.nonEmpty.valuesOfType(import_ow.default.number),
|
|
417
|
+
zIndex: import_ow.default.object.nonEmpty.valuesOfType(import_ow.default.number),
|
|
418
|
+
radius: import_ow.default.object.nonEmpty.valuesOfType(import_ow.default.number),
|
|
419
|
+
color: import_ow.default.object.nonEmpty.valuesOfType(import_ow.default.string)
|
|
420
|
+
});
|
|
421
|
+
var validateTokens = /* @__PURE__ */ __name((tokens) => {
|
|
422
|
+
try {
|
|
423
|
+
(0, import_ow.default)(tokens, validTokens);
|
|
424
|
+
} catch (err) {
|
|
425
|
+
console.log("Given tokens:\n", JSON.stringify(tokens, null, 2));
|
|
426
|
+
throw err;
|
|
427
|
+
}
|
|
428
|
+
}, "validateTokens");
|
|
429
|
+
var validateFont = /* @__PURE__ */ __name((font) => {
|
|
430
|
+
try {
|
|
431
|
+
(0, import_ow.default)(font, validFont);
|
|
432
|
+
} catch (err) {
|
|
433
|
+
console.log("Given font:\n", JSON.stringify(font, null, 2));
|
|
434
|
+
throw err;
|
|
435
|
+
}
|
|
436
|
+
}, "validateFont");
|
|
437
|
+
|
|
366
438
|
// src/hooks/useMedia.tsx
|
|
367
|
-
var
|
|
439
|
+
var import_use_force_update = __toModule(require("@tamagui/use-force-update"));
|
|
440
|
+
var import_react8 = __toModule(require("react"));
|
|
368
441
|
|
|
369
442
|
// src/helpers/matchMedia.ts
|
|
370
443
|
var matchMedia = typeof window !== "undefined" && window.matchMedia || /* @__PURE__ */ __name(function matchMediaFallback(query) {
|
|
@@ -377,30 +450,6 @@ var matchMedia = typeof window !== "undefined" && window.matchMedia || /* @__PUR
|
|
|
377
450
|
};
|
|
378
451
|
}, "matchMediaFallback");
|
|
379
452
|
|
|
380
|
-
// src/hooks/useForceUpdate.tsx
|
|
381
|
-
var import_react8 = __toModule(require("react"));
|
|
382
|
-
function useForceUpdate() {
|
|
383
|
-
const setState = (0, import_react8.useState)(0)[1];
|
|
384
|
-
const internal = (0, import_react8.useRef)();
|
|
385
|
-
if (!internal.current) {
|
|
386
|
-
internal.current = {
|
|
387
|
-
isMounted: true,
|
|
388
|
-
update: () => {
|
|
389
|
-
if (internal.current.isMounted) {
|
|
390
|
-
setState(Math.random());
|
|
391
|
-
}
|
|
392
|
-
}
|
|
393
|
-
};
|
|
394
|
-
}
|
|
395
|
-
(0, import_react8.useEffect)(() => {
|
|
396
|
-
return () => {
|
|
397
|
-
internal.current.isMounted = false;
|
|
398
|
-
};
|
|
399
|
-
}, []);
|
|
400
|
-
return internal.current.update;
|
|
401
|
-
}
|
|
402
|
-
__name(useForceUpdate, "useForceUpdate");
|
|
403
|
-
|
|
404
453
|
// src/hooks/useMedia.tsx
|
|
405
454
|
var mediaState = {};
|
|
406
455
|
var mediaQueryListeners = {};
|
|
@@ -477,8 +526,8 @@ var configureMedia = /* @__PURE__ */ __name(({
|
|
|
477
526
|
}
|
|
478
527
|
}, "configureMedia");
|
|
479
528
|
var useMedia = /* @__PURE__ */ __name(() => {
|
|
480
|
-
const forceUpdate = useForceUpdate();
|
|
481
|
-
const state = (0,
|
|
529
|
+
const forceUpdate = (0, import_use_force_update.useForceUpdate)();
|
|
530
|
+
const state = (0, import_react8.useRef)();
|
|
482
531
|
if (!state.current) {
|
|
483
532
|
state.current = {
|
|
484
533
|
selections: {},
|
|
@@ -567,6 +616,11 @@ var onConfiguredOnce = /* @__PURE__ */ __name((cb) => {
|
|
|
567
616
|
}, "onConfiguredOnce");
|
|
568
617
|
var PREFIX = `theme--`;
|
|
569
618
|
function createTamagui(config) {
|
|
619
|
+
if (process.env.NODE_ENV === "development") {
|
|
620
|
+
if (!config["parsed"]) {
|
|
621
|
+
validateConfig(config);
|
|
622
|
+
}
|
|
623
|
+
}
|
|
570
624
|
if (conf2) {
|
|
571
625
|
console.warn("Called createTamagui twice! Should never do so");
|
|
572
626
|
}
|
|
@@ -653,6 +707,7 @@ ${vars}
|
|
|
653
707
|
themeConfig,
|
|
654
708
|
themeParsed,
|
|
655
709
|
tokensParsed,
|
|
710
|
+
parsed: true,
|
|
656
711
|
getCSS() {
|
|
657
712
|
return `${themeConfig.css}
|
|
658
713
|
${[...(0, import_helpers.getStyleRules)()].join("\n")}`;
|
|
@@ -700,7 +755,7 @@ var parseTokens = /* @__PURE__ */ __name((tokens) => {
|
|
|
700
755
|
}, "parseTokens");
|
|
701
756
|
|
|
702
757
|
// src/helpers/addStylesUsingClassname.tsx
|
|
703
|
-
var
|
|
758
|
+
var import_react9 = __toModule(require("react"));
|
|
704
759
|
|
|
705
760
|
// src/helpers/getStylesAtomic.ts
|
|
706
761
|
var import_helpers2 = __toModule(require("@tamagui/helpers"));
|
|
@@ -817,7 +872,7 @@ __name(insertStyleRule, "insertStyleRule");
|
|
|
817
872
|
// src/helpers/addStylesUsingClassname.tsx
|
|
818
873
|
var added = new Set();
|
|
819
874
|
function useStylesAsClassname(styles) {
|
|
820
|
-
if (!
|
|
875
|
+
if (!import_react9.useInsertionEffect) {
|
|
821
876
|
return addStylesUsingClassname(styles);
|
|
822
877
|
} else {
|
|
823
878
|
const insertions = [];
|
|
@@ -826,7 +881,7 @@ function useStylesAsClassname(styles) {
|
|
|
826
881
|
insertions.push(rule);
|
|
827
882
|
}
|
|
828
883
|
});
|
|
829
|
-
(0,
|
|
884
|
+
(0, import_react9.useInsertionEffect)(() => {
|
|
830
885
|
for (const ruleset of insertions) {
|
|
831
886
|
insertStyleRule(ruleset);
|
|
832
887
|
}
|
|
@@ -1090,7 +1145,6 @@ var getSplitStyles = /* @__PURE__ */ __name((props, staticConfig, theme, isSplit
|
|
|
1090
1145
|
const validStyleProps = staticConfig.isText ? import_helpers3.stylePropsText : import_helpers3.validStyles;
|
|
1091
1146
|
const viewProps = {};
|
|
1092
1147
|
const style = [];
|
|
1093
|
-
const blacklistProps = isSplittingDefaultProps ? blacklistDefaultProps : blacklistFinalProps;
|
|
1094
1148
|
let pseudos2 = null;
|
|
1095
1149
|
let cur = null;
|
|
1096
1150
|
let classNames = null;
|
|
@@ -1169,7 +1223,7 @@ var getSplitStyles = /* @__PURE__ */ __name((props, staticConfig, theme, isSplit
|
|
|
1169
1223
|
cur[key] = val;
|
|
1170
1224
|
continue;
|
|
1171
1225
|
}
|
|
1172
|
-
if (!
|
|
1226
|
+
if (!staticConfig.variants || !(key in staticConfig.variants)) {
|
|
1173
1227
|
viewProps[key] = val;
|
|
1174
1228
|
}
|
|
1175
1229
|
}
|
|
@@ -1207,13 +1261,6 @@ var getSubStyle = /* @__PURE__ */ __name((styleIn, staticConfig, theme, props) =
|
|
|
1207
1261
|
fixNativeShadow(styleOut);
|
|
1208
1262
|
return styleOut;
|
|
1209
1263
|
}, "getSubStyle");
|
|
1210
|
-
var blacklistDefaultProps = __spreadValues(__spreadValues({}, import_helpers3.validStyles), import_helpers3.stylePropsText);
|
|
1211
|
-
var blacklistFinalProps = __spreadProps(__spreadValues({}, blacklistDefaultProps), {
|
|
1212
|
-
tag: true,
|
|
1213
|
-
debug: true,
|
|
1214
|
-
space: true,
|
|
1215
|
-
hitSlop: true
|
|
1216
|
-
});
|
|
1217
1264
|
var mapTransformKeys = {
|
|
1218
1265
|
x: "translateX",
|
|
1219
1266
|
y: "translateY"
|
|
@@ -1225,7 +1272,7 @@ var mergeTransform = /* @__PURE__ */ __name((obj, key, val) => {
|
|
|
1225
1272
|
}, "mergeTransform");
|
|
1226
1273
|
|
|
1227
1274
|
// src/hooks/useFeatures.tsx
|
|
1228
|
-
var
|
|
1275
|
+
var import_react10 = __toModule(require("react"));
|
|
1229
1276
|
var createDefinition = /* @__PURE__ */ __name(({ Component, propNames }) => ({
|
|
1230
1277
|
isEnabled: (props) => propNames.some((name) => !!props[name]),
|
|
1231
1278
|
Component
|
|
@@ -1283,7 +1330,7 @@ var useFeatures = /* @__PURE__ */ __name((props, utils) => {
|
|
|
1283
1330
|
const name = featureNames[i];
|
|
1284
1331
|
const { isEnabled, Component } = featureDefinitions[name];
|
|
1285
1332
|
if (isEnabled(props) && Component) {
|
|
1286
|
-
features.push(/* @__PURE__ */
|
|
1333
|
+
features.push(/* @__PURE__ */ import_react10.default.createElement(Component, __spreadProps(__spreadValues({
|
|
1287
1334
|
key: name
|
|
1288
1335
|
}, props), {
|
|
1289
1336
|
_utils: utils
|
|
@@ -1325,9 +1372,41 @@ function createComponent(configIn) {
|
|
|
1325
1372
|
let defaultsStyle;
|
|
1326
1373
|
let defaultsClassName = "";
|
|
1327
1374
|
let initialTheme;
|
|
1328
|
-
const component = (0,
|
|
1329
|
-
var
|
|
1375
|
+
const component = (0, import_react11.forwardRef)((props, forwardedRef) => {
|
|
1376
|
+
var _b2;
|
|
1377
|
+
const forceUpdate = (0, import_use_force_update2.useForceUpdate)();
|
|
1378
|
+
const features = useFeatures(props, { forceUpdate });
|
|
1379
|
+
const manager = (0, import_react11.useContext)(ThemeManagerContext);
|
|
1380
|
+
const [state, set_] = (0, import_react11.useState)(() => ({
|
|
1381
|
+
hover: false,
|
|
1382
|
+
press: false,
|
|
1383
|
+
pressIn: false,
|
|
1384
|
+
theme: manager.name
|
|
1385
|
+
}));
|
|
1386
|
+
const set = /* @__PURE__ */ __name((next) => set_((prev) => {
|
|
1387
|
+
for (const key in next) {
|
|
1388
|
+
if (prev[key] !== next[key]) {
|
|
1389
|
+
return __spreadValues(__spreadValues({}, prev), next);
|
|
1390
|
+
}
|
|
1391
|
+
}
|
|
1392
|
+
return prev;
|
|
1393
|
+
}), "set");
|
|
1394
|
+
if (process.env.NODE_ENV === "development" && !isText && isWeb) {
|
|
1395
|
+
import_react11.Children.toArray(props.children).forEach((item) => {
|
|
1396
|
+
if (typeof item === "string") {
|
|
1397
|
+
console.error(`Unexpected text node: ${item}. A text node cannot be a child of a <View>.`);
|
|
1398
|
+
}
|
|
1399
|
+
});
|
|
1400
|
+
}
|
|
1401
|
+
const hasTextAncestor = isWeb ? (0, import_react11.useContext)(TextAncestorContext) : false;
|
|
1402
|
+
const hostRef = (0, import_react11.useRef)(null);
|
|
1330
1403
|
const {
|
|
1404
|
+
viewProps: viewPropsIn,
|
|
1405
|
+
pseudos: pseudos2,
|
|
1406
|
+
style,
|
|
1407
|
+
classNames
|
|
1408
|
+
} = getSplitStyles(props, staticConfig, manager.theme || initialTheme);
|
|
1409
|
+
const _a4 = viewPropsIn, {
|
|
1331
1410
|
tag,
|
|
1332
1411
|
hitSlop,
|
|
1333
1412
|
children,
|
|
@@ -1360,34 +1439,52 @@ function createComponent(configIn) {
|
|
|
1360
1439
|
onStartShouldSetResponderCapture,
|
|
1361
1440
|
onMouseDown,
|
|
1362
1441
|
onClick,
|
|
1442
|
+
accessible,
|
|
1443
|
+
accessibilityRole,
|
|
1363
1444
|
onLayout
|
|
1364
|
-
} =
|
|
1365
|
-
|
|
1366
|
-
|
|
1367
|
-
|
|
1368
|
-
|
|
1369
|
-
|
|
1370
|
-
|
|
1371
|
-
|
|
1372
|
-
|
|
1373
|
-
|
|
1374
|
-
|
|
1375
|
-
|
|
1376
|
-
|
|
1377
|
-
|
|
1378
|
-
|
|
1379
|
-
|
|
1380
|
-
|
|
1381
|
-
|
|
1382
|
-
|
|
1383
|
-
|
|
1384
|
-
|
|
1385
|
-
|
|
1386
|
-
|
|
1387
|
-
|
|
1445
|
+
} = _a4, viewProps = __objRest(_a4, [
|
|
1446
|
+
"tag",
|
|
1447
|
+
"hitSlop",
|
|
1448
|
+
"children",
|
|
1449
|
+
"pointerEvents",
|
|
1450
|
+
"onPress",
|
|
1451
|
+
"onPressIn",
|
|
1452
|
+
"onPressOut",
|
|
1453
|
+
"onHoverIn",
|
|
1454
|
+
"onHoverOut",
|
|
1455
|
+
"space",
|
|
1456
|
+
"disabled",
|
|
1457
|
+
"onMouseEnter",
|
|
1458
|
+
"onMouseLeave",
|
|
1459
|
+
"hrefAttrs",
|
|
1460
|
+
"onMoveShouldSetResponder",
|
|
1461
|
+
"onMoveShouldSetResponderCapture",
|
|
1462
|
+
"onResponderEnd",
|
|
1463
|
+
"onResponderGrant",
|
|
1464
|
+
"onResponderMove",
|
|
1465
|
+
"onResponderReject",
|
|
1466
|
+
"onResponderRelease",
|
|
1467
|
+
"onResponderStart",
|
|
1468
|
+
"onResponderTerminate",
|
|
1469
|
+
"onResponderTerminationRequest",
|
|
1470
|
+
"onScrollShouldSetResponder",
|
|
1471
|
+
"onScrollShouldSetResponderCapture",
|
|
1472
|
+
"onSelectionChangeShouldSetResponder",
|
|
1473
|
+
"onSelectionChangeShouldSetResponderCapture",
|
|
1474
|
+
"onStartShouldSetResponder",
|
|
1475
|
+
"onStartShouldSetResponderCapture",
|
|
1476
|
+
"onMouseDown",
|
|
1477
|
+
"onClick",
|
|
1478
|
+
"accessible",
|
|
1479
|
+
"accessibilityRole",
|
|
1480
|
+
"onLayout"
|
|
1481
|
+
]);
|
|
1482
|
+
if (!isWeb) {
|
|
1483
|
+
if (accessible)
|
|
1484
|
+
viewProps.accessible = accessible;
|
|
1485
|
+
if (accessibilityRole)
|
|
1486
|
+
viewProps.accessibilityRole = accessibilityRole;
|
|
1388
1487
|
}
|
|
1389
|
-
const hasTextAncestor = isWeb ? (0, import_react12.useContext)(TextAncestorContext) : false;
|
|
1390
|
-
const hostRef = (0, import_react12.useRef)(null);
|
|
1391
1488
|
if (isWeb) {
|
|
1392
1489
|
rnw.useResponderEvents(hostRef, {
|
|
1393
1490
|
onMoveShouldSetResponder,
|
|
@@ -1408,15 +1505,14 @@ function createComponent(configIn) {
|
|
|
1408
1505
|
onStartShouldSetResponderCapture
|
|
1409
1506
|
});
|
|
1410
1507
|
}
|
|
1411
|
-
const isTracking = (0,
|
|
1412
|
-
const
|
|
1413
|
-
const internal = (0, import_react12.useRef)();
|
|
1508
|
+
const isTracking = (0, import_react11.useRef)(false);
|
|
1509
|
+
const internal = (0, import_react11.useRef)();
|
|
1414
1510
|
if (!internal.current) {
|
|
1415
1511
|
internal.current = {
|
|
1416
1512
|
isMounted: true
|
|
1417
1513
|
};
|
|
1418
1514
|
}
|
|
1419
|
-
(0,
|
|
1515
|
+
(0, import_react11.useEffect)(() => {
|
|
1420
1516
|
internal.current.isMounted = true;
|
|
1421
1517
|
const dispose = manager == null ? void 0 : manager.onChangeTheme((name) => {
|
|
1422
1518
|
if (isTracking.current) {
|
|
@@ -1489,7 +1585,7 @@ function createComponent(configIn) {
|
|
|
1489
1585
|
if (shouldAttach) {
|
|
1490
1586
|
internal.current.hasEverHadEvents = true;
|
|
1491
1587
|
}
|
|
1492
|
-
const unPress = (0,
|
|
1588
|
+
const unPress = (0, import_react11.useCallback)(() => {
|
|
1493
1589
|
if (!internal.current.isMounted)
|
|
1494
1590
|
return;
|
|
1495
1591
|
set({
|
|
@@ -1575,27 +1671,27 @@ function createComponent(configIn) {
|
|
|
1575
1671
|
const className = domProps.className && domProps.className !== viewProps.className ? `${domProps.className} ${viewProps.className}` : viewProps.className;
|
|
1576
1672
|
Object.assign(viewProps, domProps);
|
|
1577
1673
|
viewProps.className = className;
|
|
1578
|
-
content = (0,
|
|
1674
|
+
content = (0, import_react11.createElement)(ViewComponent, viewProps, childEls);
|
|
1579
1675
|
} else {
|
|
1580
|
-
content = (0,
|
|
1676
|
+
content = (0, import_react11.createElement)(ViewComponent, viewProps, childEls);
|
|
1581
1677
|
}
|
|
1582
1678
|
const shouldWrapTextAncestor = isWeb && isText && !hasTextAncestor;
|
|
1583
1679
|
if (shouldWrapTextAncestor) {
|
|
1584
|
-
content = (0,
|
|
1680
|
+
content = (0, import_react11.createElement)(TextAncestorContext.Provider, { value: true }, content);
|
|
1585
1681
|
}
|
|
1586
1682
|
if (process.env.NODE_ENV === "development") {
|
|
1587
1683
|
if (props["debug"]) {
|
|
1588
1684
|
viewProps["debug"] = true;
|
|
1589
1685
|
console.log("\u{1F95A} props in:", props);
|
|
1590
1686
|
console.log("\u{1F95A} props out:", viewProps);
|
|
1591
|
-
console.log((
|
|
1687
|
+
console.log((_b2 = props.onClick) == null ? void 0 : _b2.toString());
|
|
1592
1688
|
console.log("\u{1F95A} etc:", { shouldAttach, ViewComponent, viewProps, styles, pseudos: pseudos2, content, childEls });
|
|
1593
1689
|
if (isWeb) {
|
|
1594
1690
|
console.log("\u{1F95A} component info", { staticConfig, tamaguiConfig });
|
|
1595
1691
|
}
|
|
1596
1692
|
}
|
|
1597
1693
|
}
|
|
1598
|
-
return /* @__PURE__ */
|
|
1694
|
+
return /* @__PURE__ */ import_react11.default.createElement(import_react11.default.Fragment, null, features, content);
|
|
1599
1695
|
});
|
|
1600
1696
|
onConfiguredOnce((conf3) => {
|
|
1601
1697
|
var _a4;
|
|
@@ -1669,7 +1765,7 @@ function spacedChildren({
|
|
|
1669
1765
|
if (!space && !isZStack) {
|
|
1670
1766
|
return children;
|
|
1671
1767
|
}
|
|
1672
|
-
const childrenList =
|
|
1768
|
+
const childrenList = import_react11.Children.toArray(children);
|
|
1673
1769
|
const len = childrenList.length;
|
|
1674
1770
|
if (len === 1) {
|
|
1675
1771
|
return children;
|
|
@@ -1680,15 +1776,15 @@ function spacedChildren({
|
|
|
1680
1776
|
continue;
|
|
1681
1777
|
}
|
|
1682
1778
|
const key = `${(child == null ? void 0 : child["key"]) ?? index}`;
|
|
1683
|
-
next.push(/* @__PURE__ */
|
|
1779
|
+
next.push(/* @__PURE__ */ import_react11.default.createElement(import_react11.Fragment, {
|
|
1684
1780
|
key
|
|
1685
|
-
}, isZStack ? /* @__PURE__ */
|
|
1781
|
+
}, isZStack ? /* @__PURE__ */ import_react11.default.createElement(Absolute, null, child) : child));
|
|
1686
1782
|
if ((_a4 = child == null ? void 0 : child["type"]) == null ? void 0 : _a4["isVisuallyHidden"]) {
|
|
1687
1783
|
continue;
|
|
1688
1784
|
}
|
|
1689
1785
|
if (index !== len - 1) {
|
|
1690
1786
|
if (space) {
|
|
1691
|
-
next.push(/* @__PURE__ */
|
|
1787
|
+
next.push(/* @__PURE__ */ import_react11.default.createElement(Spacer, {
|
|
1692
1788
|
key: `${key}_spacer`,
|
|
1693
1789
|
direction: flexDirection === "row" || flexDirection === "row-reverse" ? "horizontal" : "vertical",
|
|
1694
1790
|
size: space
|
|
@@ -1699,7 +1795,7 @@ function spacedChildren({
|
|
|
1699
1795
|
return next;
|
|
1700
1796
|
}
|
|
1701
1797
|
__name(spacedChildren, "spacedChildren");
|
|
1702
|
-
var Absolute = /* @__PURE__ */ __name(({ children }) => /* @__PURE__ */
|
|
1798
|
+
var Absolute = /* @__PURE__ */ __name(({ children }) => /* @__PURE__ */ import_react11.default.createElement(import_react_native3.View, {
|
|
1703
1799
|
style: sheet.fullscreen
|
|
1704
1800
|
}, children), "Absolute");
|
|
1705
1801
|
var sheet = import_react_native3.StyleSheet.create({
|
|
@@ -1735,6 +1831,9 @@ var createTheme = /* @__PURE__ */ __name((theme) => {
|
|
|
1735
1831
|
|
|
1736
1832
|
// src/createFont.ts
|
|
1737
1833
|
var createFont = /* @__PURE__ */ __name((font) => {
|
|
1834
|
+
if (process.env.NODE_ENV === "development") {
|
|
1835
|
+
validateFont(font);
|
|
1836
|
+
}
|
|
1738
1837
|
const sizeKeys = Object.keys(font.size);
|
|
1739
1838
|
for (const key in font) {
|
|
1740
1839
|
if (key === "size" || key === "family")
|
|
@@ -1755,6 +1854,9 @@ var createFont = /* @__PURE__ */ __name((font) => {
|
|
|
1755
1854
|
|
|
1756
1855
|
// src/createTokens.ts
|
|
1757
1856
|
function createTokens(tokens) {
|
|
1857
|
+
if (process.env.NODE_ENV === "development") {
|
|
1858
|
+
validateTokens(tokens);
|
|
1859
|
+
}
|
|
1758
1860
|
return setupTokens(tokens);
|
|
1759
1861
|
}
|
|
1760
1862
|
__name(createTokens, "createTokens");
|
|
@@ -1792,13 +1894,14 @@ function styled(Component, options, staticExtractionOptions) {
|
|
|
1792
1894
|
__name(styled, "styled");
|
|
1793
1895
|
|
|
1794
1896
|
// src/helpers/themeable.tsx
|
|
1795
|
-
var
|
|
1897
|
+
var import_react14 = __toModule(require("react"));
|
|
1796
1898
|
|
|
1797
1899
|
// src/views/ThemeInverse.tsx
|
|
1798
|
-
var
|
|
1900
|
+
var import_react13 = __toModule(require("react"));
|
|
1799
1901
|
|
|
1800
1902
|
// src/hooks/useTheme.tsx
|
|
1801
|
-
var
|
|
1903
|
+
var import_use_force_update3 = __toModule(require("@tamagui/use-force-update"));
|
|
1904
|
+
var import_react12 = __toModule(require("react"));
|
|
1802
1905
|
var areEqualSets = /* @__PURE__ */ __name((a, b) => {
|
|
1803
1906
|
if (a.size !== b.size)
|
|
1804
1907
|
return false;
|
|
@@ -1810,9 +1913,9 @@ var areEqualSets = /* @__PURE__ */ __name((a, b) => {
|
|
|
1810
1913
|
return true;
|
|
1811
1914
|
}, "areEqualSets");
|
|
1812
1915
|
var useThemeName = /* @__PURE__ */ __name(() => {
|
|
1813
|
-
const parent = (0,
|
|
1814
|
-
const [name, setName] = (0,
|
|
1815
|
-
(0,
|
|
1916
|
+
const parent = (0, import_react12.useContext)(ThemeManagerContext);
|
|
1917
|
+
const [name, setName] = (0, import_react12.useState)(parent.name);
|
|
1918
|
+
(0, import_react12.useEffect)(() => {
|
|
1816
1919
|
return parent.onChangeTheme((next) => {
|
|
1817
1920
|
setName((prev) => {
|
|
1818
1921
|
if (prev === next)
|
|
@@ -1824,13 +1927,13 @@ var useThemeName = /* @__PURE__ */ __name(() => {
|
|
|
1824
1927
|
return name || "light";
|
|
1825
1928
|
}, "useThemeName");
|
|
1826
1929
|
var useDefaultThemeName = /* @__PURE__ */ __name(() => {
|
|
1827
|
-
return (0,
|
|
1930
|
+
return (0, import_react12.useContext)(ThemeContext)[GET_DEFAULT_THEME];
|
|
1828
1931
|
}, "useDefaultThemeName");
|
|
1829
1932
|
var useTheme = /* @__PURE__ */ __name(() => {
|
|
1830
|
-
const forceUpdate = useForceUpdate();
|
|
1831
|
-
const manager = (0,
|
|
1832
|
-
const themes = (0,
|
|
1833
|
-
const state = (0,
|
|
1933
|
+
const forceUpdate = (0, import_use_force_update3.useForceUpdate)();
|
|
1934
|
+
const manager = (0, import_react12.useContext)(ThemeManagerContext);
|
|
1935
|
+
const themes = (0, import_react12.useContext)(ThemeContext);
|
|
1936
|
+
const state = (0, import_react12.useRef)();
|
|
1834
1937
|
if (!state.current) {
|
|
1835
1938
|
state.current = {
|
|
1836
1939
|
uuid: {},
|
|
@@ -1847,11 +1950,11 @@ var useTheme = /* @__PURE__ */ __name(() => {
|
|
|
1847
1950
|
manager.track(st.uuid, st.keys);
|
|
1848
1951
|
}
|
|
1849
1952
|
});
|
|
1850
|
-
(0,
|
|
1953
|
+
(0, import_react12.useEffect)(() => {
|
|
1851
1954
|
return manager.onUpdate(state.current.uuid, forceUpdate);
|
|
1852
1955
|
}, []);
|
|
1853
1956
|
const theme = (manager.name ? themes[manager.name] : themes.light) ?? themes.light;
|
|
1854
|
-
return (0,
|
|
1957
|
+
return (0, import_react12.useMemo)(() => {
|
|
1855
1958
|
return new Proxy(theme, {
|
|
1856
1959
|
get(_, key) {
|
|
1857
1960
|
const name = manager.name;
|
|
@@ -1891,22 +1994,21 @@ var ThemeInverse = /* @__PURE__ */ __name((props) => {
|
|
|
1891
1994
|
const themeName = useThemeName();
|
|
1892
1995
|
const defaultTheme = useDefaultThemeName();
|
|
1893
1996
|
const name = inversions[themeName] || inversions[defaultTheme] || null;
|
|
1894
|
-
|
|
1895
|
-
return /* @__PURE__ */ import_react14.default.createElement(Theme, {
|
|
1997
|
+
return /* @__PURE__ */ import_react13.default.createElement(Theme, {
|
|
1896
1998
|
name
|
|
1897
1999
|
}, props.children);
|
|
1898
2000
|
}, "ThemeInverse");
|
|
1899
2001
|
|
|
1900
2002
|
// src/helpers/themeable.tsx
|
|
1901
2003
|
var themeable = /* @__PURE__ */ __name(function graphql(component) {
|
|
1902
|
-
const withThemeComponent = (0,
|
|
2004
|
+
const withThemeComponent = (0, import_react14.forwardRef)(/* @__PURE__ */ __name(function WithTheme(_a4, ref) {
|
|
1903
2005
|
var _b2 = _a4, { themeInverse } = _b2, rest = __objRest(_b2, ["themeInverse"]);
|
|
1904
|
-
const el =
|
|
2006
|
+
const el = import_react14.default.createElement(component, __spreadProps(__spreadValues({}, rest), { ref }));
|
|
1905
2007
|
if (themeInverse) {
|
|
1906
|
-
return /* @__PURE__ */
|
|
2008
|
+
return /* @__PURE__ */ import_react14.default.createElement(ThemeInverse, null, el);
|
|
1907
2009
|
}
|
|
1908
2010
|
if (rest.theme) {
|
|
1909
|
-
return /* @__PURE__ */
|
|
2011
|
+
return /* @__PURE__ */ import_react14.default.createElement(Theme, {
|
|
1910
2012
|
name: rest.theme || null
|
|
1911
2013
|
}, el);
|
|
1912
2014
|
}
|
|
@@ -1917,6 +2019,13 @@ var themeable = /* @__PURE__ */ __name(function graphql(component) {
|
|
|
1917
2019
|
return withTheme;
|
|
1918
2020
|
}, "graphql");
|
|
1919
2021
|
|
|
2022
|
+
// src/helpers/isTamaguiElement.tsx
|
|
2023
|
+
var import_react15 = __toModule(require("react"));
|
|
2024
|
+
var isTamaguiElement = /* @__PURE__ */ __name((child) => {
|
|
2025
|
+
var _a4;
|
|
2026
|
+
return (0, import_react15.isValidElement)(child) && !!((_a4 = child.type["staticConfig"]) == null ? void 0 : _a4.parsed);
|
|
2027
|
+
}, "isTamaguiElement");
|
|
2028
|
+
|
|
1920
2029
|
// src/views/Animated.tsx
|
|
1921
2030
|
var import_react16 = __toModule(require("react"));
|
|
1922
2031
|
var import_react_native4 = __toModule(require("react-native"));
|
|
@@ -2099,27 +2208,4 @@ var Text2 = createComponent({
|
|
|
2099
2208
|
cursor: true
|
|
2100
2209
|
})
|
|
2101
2210
|
});
|
|
2102
|
-
|
|
2103
|
-
// src/views/SafeAreaProvider.tsx
|
|
2104
|
-
var import_react17 = __toModule(require("react"));
|
|
2105
|
-
var import_react_native5 = __toModule(require("react-native"));
|
|
2106
|
-
var import_react_native_safe_area_context = __toModule(require("react-native-safe-area-context"));
|
|
2107
|
-
var defaultMetrics = null;
|
|
2108
|
-
var SafeAreaProvider = /* @__PURE__ */ __name(({
|
|
2109
|
-
initialWindowMetrics,
|
|
2110
|
-
children
|
|
2111
|
-
}) => {
|
|
2112
|
-
if (!initialWindowMetrics && !defaultMetrics) {
|
|
2113
|
-
defaultMetrics = import_react_native5.Platform.select({
|
|
2114
|
-
web: {
|
|
2115
|
-
frame: { x: 0, y: 0, width: 0, height: 0 },
|
|
2116
|
-
insets: { top: 0, left: 0, right: 0, bottom: 0 }
|
|
2117
|
-
},
|
|
2118
|
-
default: import_react_native_safe_area_context.initialWindowMetrics
|
|
2119
|
-
});
|
|
2120
|
-
}
|
|
2121
|
-
return /* @__PURE__ */ import_react17.default.createElement(import_react_native_safe_area_context.SafeAreaProvider, {
|
|
2122
|
-
initialMetrics: initialWindowMetrics ?? defaultMetrics
|
|
2123
|
-
}, children);
|
|
2124
|
-
}, "SafeAreaProvider");
|
|
2125
2211
|
//# sourceMappingURL=index.cjs.map
|