@tamagui/core 1.0.1-beta.152 → 1.0.1-beta.155
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/cjs/createComponent.js +13 -11
- package/dist/cjs/createComponent.js.map +2 -2
- package/dist/cjs/helpers/getSplitStyles.js.map +1 -1
- package/dist/cjs/helpers/getStylesAtomic.js.map +1 -1
- package/dist/cjs/helpers/getThemeCSSRules.js +2 -1
- package/dist/cjs/helpers/getThemeCSSRules.js.map +2 -2
- package/dist/cjs/helpers/mergeTransform.js.map +1 -1
- package/dist/cjs/styled.js +5 -4
- package/dist/cjs/styled.js.map +2 -2
- package/dist/esm/createComponent.js +14 -12
- package/dist/esm/createComponent.js.map +2 -2
- package/dist/esm/helpers/getSplitStyles.js.map +1 -1
- package/dist/esm/helpers/getStylesAtomic.js.map +1 -1
- package/dist/esm/helpers/getThemeCSSRules.js +2 -1
- package/dist/esm/helpers/getThemeCSSRules.js.map +2 -2
- package/dist/esm/helpers/mergeTransform.js.map +1 -1
- package/dist/esm/styled.js +5 -4
- package/dist/esm/styled.js.map +2 -2
- package/package.json +11 -11
- package/src/createComponent.tsx +17 -14
- package/src/helpers/getSplitStyles.tsx +1 -1
- package/src/helpers/getStylesAtomic.ts +1 -1
- package/src/helpers/getThemeCSSRules.ts +2 -2
- package/src/helpers/mergeTransform.ts +1 -1
- package/src/styled.tsx +5 -5
- package/types/helpers/getSplitStyles.d.ts +1 -1
- package/types/helpers/getStylesAtomic.d.ts +1 -1
- package/types/helpers/mergeTransform.d.ts +1 -1
- package/dist/cjs/conf.js +0 -70
- package/dist/cjs/conf.js.map +0 -7
- package/dist/cjs/createComponent.server.js +0 -431
- package/dist/cjs/createComponent.server.js.map +0 -7
- package/dist/cjs/helpers/cssHash.js +0 -51
- package/dist/cjs/helpers/cssHash.js.map +0 -7
- package/dist/cjs/helpers/useAnimationDriver.js +0 -2
- package/dist/cjs/helpers/useAnimationDriver.js.map +0 -7
- package/dist/cjs/hooks/useAnimationDriver.js +0 -2
- package/dist/cjs/hooks/useAnimationDriver.js.map +0 -7
- package/dist/cjs/hooks/useFeatures.js +0 -89
- package/dist/cjs/hooks/useFeatures.js.map +0 -7
- package/dist/cjs/hooks/useServerContext.js +0 -21
- package/dist/cjs/hooks/useServerContext.js.map +0 -7
- package/dist/esm/conf.js +0 -39
- package/dist/esm/conf.js.map +0 -7
- package/dist/esm/createComponent.server.js +0 -408
- package/dist/esm/createComponent.server.js.map +0 -7
- package/dist/esm/helpers/cssHash.js +0 -27
- package/dist/esm/helpers/cssHash.js.map +0 -7
- package/dist/esm/helpers/useAnimationDriver.js +0 -1
- package/dist/esm/helpers/useAnimationDriver.js.map +0 -7
- package/dist/esm/hooks/useAnimationDriver.js +0 -1
- package/dist/esm/hooks/useAnimationDriver.js.map +0 -7
- package/dist/esm/hooks/useFeatures.js +0 -62
- package/dist/esm/hooks/useFeatures.js.map +0 -7
- package/dist/esm/hooks/useServerContext.js +0 -4
- package/dist/esm/hooks/useServerContext.js.map +0 -7
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
import { useIsomorphicLayoutEffect } from "../constants/platform";
|
|
3
|
-
import { addMediaQueryListener, mediaState, removeMediaQueryListener } from "./useMedia";
|
|
4
|
-
const createDefinition = ({
|
|
5
|
-
Component,
|
|
6
|
-
propNames
|
|
7
|
-
}) => ({
|
|
8
|
-
isEnabled: (props) => propNames.some((name) => !!props[name]),
|
|
9
|
-
Component
|
|
10
|
-
});
|
|
11
|
-
let featureDefinitions = null;
|
|
12
|
-
const useFeatures = (props, utils) => {
|
|
13
|
-
if (!featureDefinitions) {
|
|
14
|
-
featureDefinitions = loadFeatures();
|
|
15
|
-
}
|
|
16
|
-
const elements = [];
|
|
17
|
-
const enabled = {};
|
|
18
|
-
for (const name in featureDefinitions) {
|
|
19
|
-
const { isEnabled, Component } = featureDefinitions[name];
|
|
20
|
-
if (isEnabled(props) && Component) {
|
|
21
|
-
enabled[name] = true;
|
|
22
|
-
elements.push(/* @__PURE__ */ React.createElement(Component, {
|
|
23
|
-
key: name,
|
|
24
|
-
...props,
|
|
25
|
-
_utils: utils
|
|
26
|
-
}));
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
return {
|
|
30
|
-
elements,
|
|
31
|
-
enabled
|
|
32
|
-
};
|
|
33
|
-
};
|
|
34
|
-
function loadFeatures() {
|
|
35
|
-
return {
|
|
36
|
-
mediaQuery: loadMediaQueryFeature()
|
|
37
|
-
};
|
|
38
|
-
}
|
|
39
|
-
function loadMediaQueryFeature() {
|
|
40
|
-
const mediaPropNames = Object.keys(mediaState);
|
|
41
|
-
return createDefinition({
|
|
42
|
-
Component: (props) => {
|
|
43
|
-
const mediaKeys = mediaPropNames.filter((x) => x in props);
|
|
44
|
-
useIsomorphicLayoutEffect(() => {
|
|
45
|
-
for (const key of mediaKeys) {
|
|
46
|
-
addMediaQueryListener(key, props._utils.forceUpdate);
|
|
47
|
-
}
|
|
48
|
-
return () => {
|
|
49
|
-
for (const key of mediaKeys) {
|
|
50
|
-
removeMediaQueryListener(key, props._utils.forceUpdate);
|
|
51
|
-
}
|
|
52
|
-
};
|
|
53
|
-
}, [mediaKeys.join(",")]);
|
|
54
|
-
return null;
|
|
55
|
-
},
|
|
56
|
-
propNames: mediaPropNames
|
|
57
|
-
});
|
|
58
|
-
}
|
|
59
|
-
export {
|
|
60
|
-
useFeatures
|
|
61
|
-
};
|
|
62
|
-
//# sourceMappingURL=useFeatures.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/hooks/useFeatures.tsx"],
|
|
4
|
-
"sourcesContent": ["import React from 'react'\nimport { RefObject } from 'react'\nimport { View, ViewStyle } from 'react-native'\n\nimport { useIsomorphicLayoutEffect } from '../constants/platform'\nimport {\n PseudoStyles,\n SplitStyleState,\n StaticConfigParsed,\n TamaguiComponentState,\n UseAnimationHook,\n} from '../types'\nimport { addMediaQueryListener, mediaState, removeMediaQueryListener } from './useMedia'\n\ntype FeatureDefinition = {\n isEnabled: (props: any) => boolean\n Component: any\n}\n\ntype FeatureUtils = {\n forceUpdate: Function\n state: SplitStyleState\n setStateShallow: (next: Partial<TamaguiComponentState>) => void\n useAnimations?: UseAnimationHook\n pseudos: PseudoStyles\n style: ViewStyle | null | undefined\n staticConfig: StaticConfigParsed\n theme: any\n onDidAnimate?: () => void\n hostRef: RefObject<HTMLElement | View>\n}\n\nconst createDefinition = ({\n Component,\n propNames,\n}: {\n Component: (props: { _utils: FeatureUtils; [key: string]: any }) => void\n propNames: string[]\n}): FeatureDefinition => ({\n isEnabled: (props: any) => propNames.some((name) => !!props[name]),\n Component,\n})\n\nlet featureDefinitions: Record<string, FeatureDefinition> | null = null\n\ntype FeatureKeys = keyof ReturnType<typeof loadFeatures>\n\nexport const useFeatures = (props: any, utils?: FeatureUtils) => {\n if (!featureDefinitions) {\n featureDefinitions = loadFeatures()\n }\n const elements: JSX.Element[] = []\n const enabled: { [key in FeatureKeys]?: boolean } = {}\n for (const name in featureDefinitions) {\n const { isEnabled, Component } = featureDefinitions[name]\n if (isEnabled(props) && Component) {\n enabled[name] = true\n elements.push(<Component key={name} {...props} _utils={utils} />)\n }\n }\n return {\n elements,\n enabled,\n }\n}\n\nfunction loadFeatures() {\n return {\n // loads animations and sets state with the results\n // animation: loadAnimationFeature(),\n\n // will update the parent whenever media query changes\n // no need on web, media queries are inserted and run in css\n mediaQuery: loadMediaQueryFeature(),\n } as const\n}\n\nfunction loadMediaQueryFeature() {\n const mediaPropNames = Object.keys(mediaState)\n\n return createDefinition({\n Component: (props: any) => {\n const mediaKeys = mediaPropNames.filter((x) => x in props)\n\n useIsomorphicLayoutEffect(() => {\n for (const key of mediaKeys) {\n addMediaQueryListener(key, props._utils.forceUpdate)\n }\n return () => {\n for (const key of mediaKeys) {\n removeMediaQueryListener(key, props._utils.forceUpdate)\n }\n }\n }, [mediaKeys.join(',')])\n\n return null\n },\n propNames: mediaPropNames,\n })\n}\n"],
|
|
5
|
-
"mappings": "AAAA;AAIA;AAQA;AAoBA,MAAM,mBAAmB,CAAC;AAAA,EACxB;AAAA,EACA;AAAA,MAIwB;AAAA,EACxB,WAAW,CAAC,UAAe,UAAU,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM,KAAK;AAAA,EACjE;AACF;AAEA,IAAI,qBAA+D;AAI5D,MAAM,cAAc,CAAC,OAAY,UAAyB;AAC/D,MAAI,CAAC,oBAAoB;AACvB,yBAAqB,aAAa;AAAA,EACpC;AACA,QAAM,WAA0B,CAAC;AACjC,QAAM,UAA8C,CAAC;AACrD,aAAW,QAAQ,oBAAoB;AACrC,UAAM,EAAE,WAAW,cAAc,mBAAmB;AACpD,QAAI,UAAU,KAAK,KAAK,WAAW;AACjC,cAAQ,QAAQ;AAChB,eAAS,KAAK,oCAAC;AAAA,QAAU,KAAK;AAAA,QAAO,GAAG;AAAA,QAAO,QAAQ;AAAA,OAAO,CAAE;AAAA,IAClE;AAAA,EACF;AACA,SAAO;AAAA,IACL;AAAA,IACA;AAAA,EACF;AACF;AAEA,wBAAwB;AACtB,SAAO;AAAA,IAML,YAAY,sBAAsB;AAAA,EACpC;AACF;AAEA,iCAAiC;AAC/B,QAAM,iBAAiB,OAAO,KAAK,UAAU;AAE7C,SAAO,iBAAiB;AAAA,IACtB,WAAW,CAAC,UAAe;AACzB,YAAM,YAAY,eAAe,OAAO,CAAC,MAAM,KAAK,KAAK;AAEzD,gCAA0B,MAAM;AAC9B,mBAAW,OAAO,WAAW;AAC3B,gCAAsB,KAAK,MAAM,OAAO,WAAW;AAAA,QACrD;AACA,eAAO,MAAM;AACX,qBAAW,OAAO,WAAW;AAC3B,qCAAyB,KAAK,MAAM,OAAO,WAAW;AAAA,UACxD;AAAA,QACF;AAAA,MACF,GAAG,CAAC,UAAU,KAAK,GAAG,CAAC,CAAC;AAExB,aAAO;AAAA,IACT;AAAA,IACA,WAAW;AAAA,EACb,CAAC;AACH;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/hooks/useServerContext.tsx"],
|
|
4
|
-
"sourcesContent": ["import * as React from 'react'\n\nconsole.log('ok', React['createServerContext'])\n\n// @ts-ignore\nconst isRSC = import.meta.env.SSR\n"],
|
|
5
|
-
"mappings": "AAAA;AAEA,QAAQ,IAAI,MAAM,MAAM,sBAAsB;AAG9C,MAAM,QAAQ,YAAY,IAAI;",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|