@tamagui/web 2.0.0-rc.2 → 2.0.0-rc.2-1770298821200
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/helpers/getGroupPropParts.cjs +12 -5
- package/dist/cjs/helpers/getGroupPropParts.js +12 -3
- package/dist/cjs/helpers/getGroupPropParts.js.map +1 -1
- package/dist/cjs/helpers/getGroupPropParts.native.js +13 -4
- package/dist/cjs/helpers/getGroupPropParts.native.js.map +1 -1
- package/dist/cjs/helpers/mainThreadPressEvents.cjs +1 -19
- package/dist/cjs/helpers/mainThreadPressEvents.js +1 -16
- package/dist/cjs/helpers/mainThreadPressEvents.js.map +1 -1
- package/dist/cjs/helpers/mainThreadPressEvents.native.js +4 -4
- package/dist/cjs/helpers/mainThreadPressEvents.native.js.map +1 -1
- package/dist/esm/helpers/getGroupPropParts.js +12 -2
- package/dist/esm/helpers/getGroupPropParts.js.map +1 -1
- package/dist/esm/helpers/getGroupPropParts.mjs +11 -4
- package/dist/esm/helpers/getGroupPropParts.mjs.map +1 -1
- package/dist/esm/helpers/getGroupPropParts.native.js +12 -3
- package/dist/esm/helpers/getGroupPropParts.native.js.map +1 -1
- package/dist/esm/helpers/mainThreadPressEvents.js +1 -16
- package/dist/esm/helpers/mainThreadPressEvents.js.map +1 -1
- package/dist/esm/helpers/mainThreadPressEvents.mjs +1 -19
- package/dist/esm/helpers/mainThreadPressEvents.mjs.map +1 -1
- package/dist/esm/helpers/mainThreadPressEvents.native.js +1 -1
- package/dist/esm/helpers/mainThreadPressEvents.native.js.map +1 -1
- package/package.json +13 -13
- package/src/helpers/getGroupPropParts.ts +27 -2
- package/src/helpers/mainThreadPressEvents.native.ts +40 -0
- package/src/helpers/mainThreadPressEvents.ts +6 -40
- package/types/helpers/getGroupPropParts.d.ts.map +1 -1
- package/types/helpers/mainThreadPressEvents.d.ts +1 -9
- package/types/helpers/mainThreadPressEvents.d.ts.map +1 -1
- package/types/helpers/mainThreadPressEvents.native.d.ts +10 -0
- package/types/helpers/mainThreadPressEvents.native.d.ts.map +1 -0
|
@@ -23,16 +23,23 @@ __export(getGroupPropParts_exports, {
|
|
|
23
23
|
getGroupPropParts: () => getGroupPropParts
|
|
24
24
|
});
|
|
25
25
|
module.exports = __toCommonJS(getGroupPropParts_exports);
|
|
26
|
-
var import_useMedia = require("../hooks/useMedia.cjs")
|
|
26
|
+
var import_useMedia = require("../hooks/useMedia.cjs"),
|
|
27
|
+
import_pseudoDescriptors = require("./pseudoDescriptors.cjs");
|
|
28
|
+
function kebabToCamel(str) {
|
|
29
|
+
return str.replace(/-([a-z])/g, (_, c) => c.toUpperCase());
|
|
30
|
+
}
|
|
31
|
+
function isValidPseudo(str) {
|
|
32
|
+
return str ? kebabToCamel(str) in import_pseudoDescriptors.pseudoPriorities : !1;
|
|
33
|
+
}
|
|
27
34
|
function getGroupPropParts(groupProp) {
|
|
28
35
|
const m = (0, import_useMedia.getMedia)(),
|
|
29
36
|
[_, name, a, b, c] = groupProp.split("-"),
|
|
30
37
|
m2 = a && b ? `${a}-${b}` : "",
|
|
31
|
-
media = m2 && m2 in m && m2 || a && a in m && a || void 0
|
|
32
|
-
|
|
33
|
-
return {
|
|
38
|
+
media = m2 && m2 in m && m2 || a && a in m && a || void 0;
|
|
39
|
+
let pseudoCandidate = media ? media === m2 ? c : b ? `${b}${c ? `-${c}` : ""}` : void 0 : a ? `${a}${b ? `-${b}` : ""}${c ? `-${c}` : ""}` : void 0;
|
|
40
|
+
return pseudoCandidate && !isValidPseudo(pseudoCandidate) && (process.env.NODE_ENV === "development" && console.warn(`Unknown group prop part "${pseudoCandidate}" in "${groupProp}". If this is a media query, ensure it's defined in your tamagui config.`), pseudoCandidate = void 0), {
|
|
34
41
|
name,
|
|
35
|
-
pseudo,
|
|
42
|
+
pseudo: pseudoCandidate,
|
|
36
43
|
media
|
|
37
44
|
};
|
|
38
45
|
}
|
|
@@ -17,9 +17,18 @@ __export(getGroupPropParts_exports, {
|
|
|
17
17
|
getGroupPropParts: () => getGroupPropParts
|
|
18
18
|
});
|
|
19
19
|
module.exports = __toCommonJS(getGroupPropParts_exports);
|
|
20
|
-
var import_useMedia = require("../hooks/useMedia");
|
|
20
|
+
var import_useMedia = require("../hooks/useMedia"), import_pseudoDescriptors = require("./pseudoDescriptors");
|
|
21
|
+
function kebabToCamel(str) {
|
|
22
|
+
return str.replace(/-([a-z])/g, (_, c) => c.toUpperCase());
|
|
23
|
+
}
|
|
24
|
+
function isValidPseudo(str) {
|
|
25
|
+
return str ? kebabToCamel(str) in import_pseudoDescriptors.pseudoPriorities : !1;
|
|
26
|
+
}
|
|
21
27
|
function getGroupPropParts(groupProp) {
|
|
22
|
-
const m = (0, import_useMedia.getMedia)(), [_, name, a, b, c] = groupProp.split("-"), m2 = a && b ? `${a}-${b}` : "", media = m2 && m2 in m && m2 || a && a in m && a || void 0
|
|
23
|
-
|
|
28
|
+
const m = (0, import_useMedia.getMedia)(), [_, name, a, b, c] = groupProp.split("-"), m2 = a && b ? `${a}-${b}` : "", media = m2 && m2 in m && m2 || a && a in m && a || void 0;
|
|
29
|
+
let pseudoCandidate = media ? media === m2 ? c : b ? `${b}${c ? `-${c}` : ""}` : void 0 : a ? `${a}${b ? `-${b}` : ""}${c ? `-${c}` : ""}` : void 0;
|
|
30
|
+
return pseudoCandidate && !isValidPseudo(pseudoCandidate) && (process.env.NODE_ENV === "development" && console.warn(
|
|
31
|
+
`Unknown group prop part "${pseudoCandidate}" in "${groupProp}". If this is a media query, ensure it's defined in your tamagui config.`
|
|
32
|
+
), pseudoCandidate = void 0), { name, pseudo: pseudoCandidate, media };
|
|
24
33
|
}
|
|
25
34
|
//# sourceMappingURL=getGroupPropParts.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/helpers/getGroupPropParts.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAAyB;
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAAyB,8BACzB,2BAAiC;AAKjC,SAAS,aAAa,KAAqB;AACzC,SAAO,IAAI,QAAQ,aAAa,CAAC,GAAG,MAAM,EAAE,YAAY,CAAC;AAC3D;AAGA,SAAS,cAAc,KAAwC;AAC7D,SAAK,MAEE,aAAa,GAAG,KAAK,4CAFX;AAGnB;AAEO,SAAS,kBAAkB,WAA+B;AAC/D,QAAM,QAAI,0BAAS,GACb,CAAC,GAAG,MAAM,GAAG,GAAG,CAAC,IAAI,UAAU,MAAM,GAAG,GAExC,KAAK,KAAK,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,IAC5B,QAAS,MAAM,MAAM,KAAK,MAAQ,KAAK,KAAK,KAAK,KAAM;AAC7D,MAAI,kBAAkB,QAClB,UAAU,KACR,IACA,IACE,GAAG,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,EAAE,KACvB,SACJ,IACE,GAAG,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,IAAI,CAAC,KAAK,EAAE,KAC1C;AAIN,SAAI,mBAAmB,CAAC,cAAc,eAAe,MAC/C,QAAQ,IAAI,aAAa,iBAC3B,QAAQ;AAAA,IACN,4BAA4B,eAAe,SAAS,SAAS;AAAA,EAC/D,GAEF,kBAAkB,SAGb,EAAE,MAAM,QAAQ,iBAAiB,MAAM;AAChD;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -25,16 +25,25 @@ __export(getGroupPropParts_exports, {
|
|
|
25
25
|
getGroupPropParts: () => getGroupPropParts
|
|
26
26
|
});
|
|
27
27
|
module.exports = __toCommonJS(getGroupPropParts_exports);
|
|
28
|
-
var import_useMedia = require("../hooks/useMedia.native.js")
|
|
28
|
+
var import_useMedia = require("../hooks/useMedia.native.js"),
|
|
29
|
+
import_pseudoDescriptors = require("./pseudoDescriptors.native.js");
|
|
30
|
+
function kebabToCamel(str) {
|
|
31
|
+
return str.replace(/-([a-z])/g, function (_, c) {
|
|
32
|
+
return c.toUpperCase();
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
function isValidPseudo(str) {
|
|
36
|
+
return str ? kebabToCamel(str) in import_pseudoDescriptors.pseudoPriorities : !1;
|
|
37
|
+
}
|
|
29
38
|
function getGroupPropParts(groupProp) {
|
|
30
39
|
var m = (0, import_useMedia.getMedia)(),
|
|
31
40
|
[_, name, a, b, c] = groupProp.split("-"),
|
|
32
41
|
m2 = a && b ? `${a}-${b}` : "",
|
|
33
42
|
media = m2 && m2 in m && m2 || a && a in m && a || void 0,
|
|
34
|
-
|
|
35
|
-
return {
|
|
43
|
+
pseudoCandidate = media ? media === m2 ? c : b ? `${b}${c ? `-${c}` : ""}` : void 0 : a ? `${a}${b ? `-${b}` : ""}${c ? `-${c}` : ""}` : void 0;
|
|
44
|
+
return pseudoCandidate && !isValidPseudo(pseudoCandidate) && (process.env.NODE_ENV === "development" && console.warn(`Unknown group prop part "${pseudoCandidate}" in "${groupProp}". If this is a media query, ensure it's defined in your tamagui config.`), pseudoCandidate = void 0), {
|
|
36
45
|
name,
|
|
37
|
-
pseudo,
|
|
46
|
+
pseudo: pseudoCandidate,
|
|
38
47
|
media
|
|
39
48
|
};
|
|
40
49
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","getGroupPropParts_exports","__export","getGroupPropParts","module","exports","import_useMedia","require","
|
|
1
|
+
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","getGroupPropParts_exports","__export","getGroupPropParts","module","exports","import_useMedia","require","import_pseudoDescriptors","kebabToCamel","str","replace","_","c","toUpperCase","isValidPseudo","pseudoPriorities","groupProp","m","getMedia","name","a","b","split","m2","media","pseudoCandidate","process","env","NODE_ENV","console","warn"],"sources":["../../../src/helpers/getGroupPropParts.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,yBAAA;AAAAC,QAAA,CAAAD,yBAAA;EAAAE,iBAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAT,YAAyB,CAAAK,yBACzB;AAKA,IAAAK,eAAS,GAAaC,OAAqB;EAAAC,wBAAA,GAAAD,OAAA;AACzC,SAAOE,YAAYA,CAAAC,GAAA;EACrB,OAAAA,GAAA,CAAAC,OAAA,wBAAAC,CAAA,EAAAC,CAAA;IAGA,OAASA,CAAA,CAAAC,WAAc;EACrB;AAGF;AAEO,SAASC,cAAAL,GAAA,EAAkB;EAChC,OAAMA,GAAA,GAAAD,YAAI,CAAAC,GAAA,KAAAF,wBACS,CAAGQ,gBAAe,KAAM;AAI3C;AAYA,SAAIb,kBAAAc,SAAoB;EAEZ,IACNC,CAAA,OAAAZ,eAAA,CAAAa,QAA4B;IAAA,CAAAP,CAAA,EAAeQ,IAAA,EAAAC,CAAA,EAASC,CAAA,EAAAT,CAAA,IAAAI,SAAS,CAAAM,KAAA;IAAAC,EAAA,GAAAH,CAAA,IAAAC,CAAA,MAAAD,CAAA,IAAAC,CAAA;IAAAG,KAAA,GAAAD,EAAA,IAAAA,EAAA,IAAAN,CAAA,IAAAM,EAAA,IAAAH,CAAA,IAAAA,CAAA,IAAAH,CAAA,IAAAG,CAAA;IAAAK,eAAA,GAAAD,KAAA,GAAAA,KAAA,KAAAD,EAAA,GAAAX,CAAA,GAAAS,CAAA,MAAAA,CAAA,GAAAT,CAAA,OAAAA,CAAA,qBAAAQ,CAAA,MAAAA,CAAA,GAAAC,CAAA,OAAAA,CAAA,UAAAT,CAAA,OAAAA,CAAA;EAC/D,OAEFa,eAAkB,KAAAX,aAGL,CAAAW,eAAQ,MAAAC,OAAuB,CAAAC,GAAA,CAAAC,QAAA,sBAAAC,OAAA,CAAAC,IAAA,6BAAAL,eAAA,SAAAT,SAAA,6EAAAS,eAAA;IAChDN,IAAA","ignoreList":[]}
|
|
@@ -23,22 +23,4 @@ __export(mainThreadPressEvents_exports, {
|
|
|
23
23
|
useMainThreadPressEvents: () => useMainThreadPressEvents
|
|
24
24
|
});
|
|
25
25
|
module.exports = __toCommonJS(mainThreadPressEvents_exports);
|
|
26
|
-
|
|
27
|
-
const dontComposePressabilityKeys = {
|
|
28
|
-
onBlur: !0,
|
|
29
|
-
onFocus: !0
|
|
30
|
-
},
|
|
31
|
-
emptyConfig = {};
|
|
32
|
-
let usePressability = null;
|
|
33
|
-
function useMainThreadPressEvents(events, viewProps, enabled = !0) {
|
|
34
|
-
usePressability ||= require("react-native/Libraries/Pressability/usePressability").default;
|
|
35
|
-
const pressability = usePressability(enabled ? events : emptyConfig);
|
|
36
|
-
if (enabled && pressability) {
|
|
37
|
-
viewProps.hitSlop && (events.hitSlop = viewProps.hitSlop);
|
|
38
|
-
for (const key in pressability) {
|
|
39
|
-
const og = viewProps[key],
|
|
40
|
-
val = pressability[key];
|
|
41
|
-
viewProps[key] = og && !dontComposePressabilityKeys[key] ? (0, import_helpers.composeEventHandlers)(og, val) : val;
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
}
|
|
26
|
+
function useMainThreadPressEvents(_events, _viewProps, _enabled) {}
|
|
@@ -17,21 +17,6 @@ __export(mainThreadPressEvents_exports, {
|
|
|
17
17
|
useMainThreadPressEvents: () => useMainThreadPressEvents
|
|
18
18
|
});
|
|
19
19
|
module.exports = __toCommonJS(mainThreadPressEvents_exports);
|
|
20
|
-
|
|
21
|
-
const dontComposePressabilityKeys = {
|
|
22
|
-
onBlur: !0,
|
|
23
|
-
onFocus: !0
|
|
24
|
-
}, emptyConfig = {};
|
|
25
|
-
let usePressability = null;
|
|
26
|
-
function useMainThreadPressEvents(events, viewProps, enabled = !0) {
|
|
27
|
-
usePressability ||= require("react-native/Libraries/Pressability/usePressability").default;
|
|
28
|
-
const pressability = usePressability(enabled ? events : emptyConfig);
|
|
29
|
-
if (enabled && pressability) {
|
|
30
|
-
viewProps.hitSlop && (events.hitSlop = viewProps.hitSlop);
|
|
31
|
-
for (const key in pressability) {
|
|
32
|
-
const og = viewProps[key], val = pressability[key];
|
|
33
|
-
viewProps[key] = og && !dontComposePressabilityKeys[key] ? (0, import_helpers.composeEventHandlers)(og, val) : val;
|
|
34
|
-
}
|
|
35
|
-
}
|
|
20
|
+
function useMainThreadPressEvents(_events, _viewProps, _enabled) {
|
|
36
21
|
}
|
|
37
22
|
//# sourceMappingURL=mainThreadPressEvents.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/helpers/mainThreadPressEvents.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACO,SAAS,yBACd,SACA,YACA,UACA;AAAC;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -20,11 +20,11 @@ var __export = (target, all) => {
|
|
|
20
20
|
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
21
21
|
value: !0
|
|
22
22
|
}), mod);
|
|
23
|
-
var
|
|
24
|
-
__export(
|
|
23
|
+
var mainThreadPressEvents_native_exports = {};
|
|
24
|
+
__export(mainThreadPressEvents_native_exports, {
|
|
25
25
|
useMainThreadPressEvents: () => useMainThreadPressEvents
|
|
26
26
|
});
|
|
27
|
-
module.exports = __toCommonJS(
|
|
27
|
+
module.exports = __toCommonJS(mainThreadPressEvents_native_exports);
|
|
28
28
|
var import_helpers = require("@tamagui/helpers"),
|
|
29
29
|
dontComposePressabilityKeys = {
|
|
30
30
|
onBlur: !0,
|
|
@@ -37,7 +37,7 @@ function useMainThreadPressEvents(events, viewProps) {
|
|
|
37
37
|
usePressability || (usePressability = require("react-native/Libraries/Pressability/usePressability").default);
|
|
38
38
|
var pressability = usePressability(enabled ? events : emptyConfig);
|
|
39
39
|
if (enabled && pressability) {
|
|
40
|
-
viewProps.hitSlop && (events.hitSlop = viewProps.hitSlop);
|
|
40
|
+
viewProps.hitSlop && events && (events.hitSlop = viewProps.hitSlop);
|
|
41
41
|
for (var key in pressability) {
|
|
42
42
|
var og = viewProps[key],
|
|
43
43
|
val = pressability[key];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["mainThreadPressEvents_native_exports","__export","useMainThreadPressEvents","module","exports","__toCommonJS","import_helpers","require","dontComposePressabilityKeys","onBlur","onFocus","emptyConfig","usePressability","events","viewProps","enabled","arguments","length","default","pressability","hitSlop","key","og","val","composeEventHandlers"],"sources":["../../../src/helpers/mainThreadPressEvents.native.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,oCAAA;AAAAC,QAAA,CAAAD,oCAAA;EAAAE,wBAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAC,YAAA,CAAAL,oCAAA;AAOI,IAAAM,cAAA,GAAqCC,OAAA;EACrCC,2BAAA,GAA8B;IAC9BC,MAAA,EAAQ;IACRC,OAAA,EAAS;EACb;EAEIC,WAAA,GAAc,CAAC;EACfC,eAAA,GAAkB;AACf,SAASV,yBAAyBW,MAAA,EAAQC,SAAA,EAAW;EACxD,IAAIC,OAAA,GAAUC,SAAA,CAAUC,MAAA,GAAS,KAAKD,SAAA,CAAU,CAAC,MAAM,SAASA,SAAA,CAAU,CAAC,IAAI;EAC/EJ,eAAA,KAAoBA,eAAA,GAAkBL,OAAA,CAAQ,qDAAqD,EAAEW,OAAA;EAErG,IAAIC,YAAA,GAAeP,eAAA,CAAgBG,OAAA,GAAUF,MAAA,GAASF,WAAW;EACjE,IAAII,OAAA,IAAWI,YAAA,EAAc;IACrBL,SAAA,CAAUM,OAAA,IAAWP,MAAA,KACrBA,MAAA,CAAOO,OAAA,GAAUN,SAAA,CAAUM,OAAA;IAE/B,SAAQC,GAAA,IAAOF,YAAA,EAAa;MACxB,IAAIG,EAAA,GAAKR,SAAA,CAAUO,GAAG;QAClBE,GAAA,GAAMJ,YAAA,CAAaE,GAAG;MAC1BP,SAAA,CAAUO,GAAG,IAAIC,EAAA,IAAM,CAACd,2BAAA,CAA4Ba,GAAG,QAAIf,cAAA,CAAAkB,oBAAA,EAAqBF,EAAA,EAAIC,GAAG,IAAIA,GAAA;IAC/F;EACJ;AACJ","ignoreList":[]}
|
|
@@ -1,7 +1,17 @@
|
|
|
1
1
|
import { getMedia } from "../hooks/useMedia";
|
|
2
|
+
import { pseudoPriorities } from "./pseudoDescriptors";
|
|
3
|
+
function kebabToCamel(str) {
|
|
4
|
+
return str.replace(/-([a-z])/g, (_, c) => c.toUpperCase());
|
|
5
|
+
}
|
|
6
|
+
function isValidPseudo(str) {
|
|
7
|
+
return str ? kebabToCamel(str) in pseudoPriorities : !1;
|
|
8
|
+
}
|
|
2
9
|
function getGroupPropParts(groupProp) {
|
|
3
|
-
const m = getMedia(), [_, name, a, b, c] = groupProp.split("-"), m2 = a && b ? `${a}-${b}` : "", media = m2 && m2 in m && m2 || a && a in m && a || void 0
|
|
4
|
-
|
|
10
|
+
const m = getMedia(), [_, name, a, b, c] = groupProp.split("-"), m2 = a && b ? `${a}-${b}` : "", media = m2 && m2 in m && m2 || a && a in m && a || void 0;
|
|
11
|
+
let pseudoCandidate = media ? media === m2 ? c : b ? `${b}${c ? `-${c}` : ""}` : void 0 : a ? `${a}${b ? `-${b}` : ""}${c ? `-${c}` : ""}` : void 0;
|
|
12
|
+
return pseudoCandidate && !isValidPseudo(pseudoCandidate) && (process.env.NODE_ENV === "development" && console.warn(
|
|
13
|
+
`Unknown group prop part "${pseudoCandidate}" in "${groupProp}". If this is a media query, ensure it's defined in your tamagui config.`
|
|
14
|
+
), pseudoCandidate = void 0), { name, pseudo: pseudoCandidate, media };
|
|
5
15
|
}
|
|
6
16
|
export {
|
|
7
17
|
getGroupPropParts
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/helpers/getGroupPropParts.ts"],
|
|
4
|
-
"mappings": "AAAA,SAAS,gBAAgB;
|
|
4
|
+
"mappings": "AAAA,SAAS,gBAAgB;AACzB,SAAS,wBAAwB;AAKjC,SAAS,aAAa,KAAqB;AACzC,SAAO,IAAI,QAAQ,aAAa,CAAC,GAAG,MAAM,EAAE,YAAY,CAAC;AAC3D;AAGA,SAAS,cAAc,KAAwC;AAC7D,SAAK,MAEE,aAAa,GAAG,KAAK,mBAFX;AAGnB;AAEO,SAAS,kBAAkB,WAA+B;AAC/D,QAAM,IAAI,SAAS,GACb,CAAC,GAAG,MAAM,GAAG,GAAG,CAAC,IAAI,UAAU,MAAM,GAAG,GAExC,KAAK,KAAK,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,IAC5B,QAAS,MAAM,MAAM,KAAK,MAAQ,KAAK,KAAK,KAAK,KAAM;AAC7D,MAAI,kBAAkB,QAClB,UAAU,KACR,IACA,IACE,GAAG,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,EAAE,KACvB,SACJ,IACE,GAAG,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,IAAI,CAAC,KAAK,EAAE,KAC1C;AAIN,SAAI,mBAAmB,CAAC,cAAc,eAAe,MAC/C,QAAQ,IAAI,aAAa,iBAC3B,QAAQ;AAAA,IACN,4BAA4B,eAAe,SAAS,SAAS;AAAA,EAC/D,GAEF,kBAAkB,SAGb,EAAE,MAAM,QAAQ,iBAAiB,MAAM;AAChD;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -1,13 +1,20 @@
|
|
|
1
1
|
import { getMedia } from "../hooks/useMedia.mjs";
|
|
2
|
+
import { pseudoPriorities } from "./pseudoDescriptors.mjs";
|
|
3
|
+
function kebabToCamel(str) {
|
|
4
|
+
return str.replace(/-([a-z])/g, (_, c) => c.toUpperCase());
|
|
5
|
+
}
|
|
6
|
+
function isValidPseudo(str) {
|
|
7
|
+
return str ? kebabToCamel(str) in pseudoPriorities : !1;
|
|
8
|
+
}
|
|
2
9
|
function getGroupPropParts(groupProp) {
|
|
3
10
|
const m = getMedia(),
|
|
4
11
|
[_, name, a, b, c] = groupProp.split("-"),
|
|
5
12
|
m2 = a && b ? `${a}-${b}` : "",
|
|
6
|
-
media = m2 && m2 in m && m2 || a && a in m && a || void 0
|
|
7
|
-
|
|
8
|
-
return {
|
|
13
|
+
media = m2 && m2 in m && m2 || a && a in m && a || void 0;
|
|
14
|
+
let pseudoCandidate = media ? media === m2 ? c : b ? `${b}${c ? `-${c}` : ""}` : void 0 : a ? `${a}${b ? `-${b}` : ""}${c ? `-${c}` : ""}` : void 0;
|
|
15
|
+
return pseudoCandidate && !isValidPseudo(pseudoCandidate) && (process.env.NODE_ENV === "development" && console.warn(`Unknown group prop part "${pseudoCandidate}" in "${groupProp}". If this is a media query, ensure it's defined in your tamagui config.`), pseudoCandidate = void 0), {
|
|
9
16
|
name,
|
|
10
|
-
pseudo,
|
|
17
|
+
pseudo: pseudoCandidate,
|
|
11
18
|
media
|
|
12
19
|
};
|
|
13
20
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getMedia","
|
|
1
|
+
{"version":3,"names":["getMedia","pseudoPriorities","kebabToCamel","str","replace","_","c","toUpperCase","isValidPseudo","getGroupPropParts","groupProp","m","name","a","b","split","m2","media","pseudoCandidate","process","env","NODE_ENV","console","warn","pseudo"],"sources":["../../../src/helpers/getGroupPropParts.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,QAAA,QAAgB;AACzB,SAASC,gBAAA,QAAwB;AAKjC,SAASC,aAAaC,GAAA,EAAqB;EACzC,OAAOA,GAAA,CAAIC,OAAA,CAAQ,aAAa,CAACC,CAAA,EAAGC,CAAA,KAAMA,CAAA,CAAEC,WAAA,CAAY,CAAC;AAC3D;AAGA,SAASC,cAAcL,GAAA,EAAwC;EAC7D,OAAKA,GAAA,GAEED,YAAA,CAAaC,GAAG,KAAKF,gBAAA,GAFX;AAGnB;AAEO,SAASQ,kBAAkBC,SAAA,EAA+B;EAC/D,MAAMC,CAAA,GAAIX,QAAA,CAAS;IACb,CAACK,CAAA,EAAGO,IAAA,EAAMC,CAAA,EAAGC,CAAA,EAAGR,CAAC,IAAII,SAAA,CAAUK,KAAA,CAAM,GAAG;IAExCC,EAAA,GAAKH,CAAA,IAAKC,CAAA,GAAI,GAAGD,CAAC,IAAIC,CAAC,KAAK;IAC5BG,KAAA,GAASD,EAAA,IAAMA,EAAA,IAAML,CAAA,IAAKK,EAAA,IAAQH,CAAA,IAAKA,CAAA,IAAKF,CAAA,IAAKE,CAAA,IAAM;EAC7D,IAAIK,eAAA,GAAkBD,KAAA,GAClBA,KAAA,KAAUD,EAAA,GACRV,CAAA,GACAQ,CAAA,GACE,GAAGA,CAAC,GAAGR,CAAA,GAAI,IAAIA,CAAC,KAAK,EAAE,KACvB,SACJO,CAAA,GACE,GAAGA,CAAC,GAAGC,CAAA,GAAI,IAAIA,CAAC,KAAK,EAAE,GAAGR,CAAA,GAAI,IAAIA,CAAC,KAAK,EAAE,KAC1C;EAIN,OAAIY,eAAA,IAAmB,CAACV,aAAA,CAAcU,eAAe,MAC/CC,OAAA,CAAQC,GAAA,CAAIC,QAAA,KAAa,iBAC3BC,OAAA,CAAQC,IAAA,CACN,4BAA4BL,eAAe,SAASR,SAAS,0EAC/D,GAEFQ,eAAA,GAAkB,SAGb;IAAEN,IAAA;IAAMY,MAAA,EAAQN,eAAA;IAAiBD;EAAM;AAChD","ignoreList":[]}
|
|
@@ -1,13 +1,22 @@
|
|
|
1
1
|
import { getMedia } from "../hooks/useMedia.native.js";
|
|
2
|
+
import { pseudoPriorities } from "./pseudoDescriptors.native.js";
|
|
3
|
+
function kebabToCamel(str) {
|
|
4
|
+
return str.replace(/-([a-z])/g, function (_, c) {
|
|
5
|
+
return c.toUpperCase();
|
|
6
|
+
});
|
|
7
|
+
}
|
|
8
|
+
function isValidPseudo(str) {
|
|
9
|
+
return str ? kebabToCamel(str) in pseudoPriorities : !1;
|
|
10
|
+
}
|
|
2
11
|
function getGroupPropParts(groupProp) {
|
|
3
12
|
var m = getMedia(),
|
|
4
13
|
[_, name, a, b, c] = groupProp.split("-"),
|
|
5
14
|
m2 = a && b ? `${a}-${b}` : "",
|
|
6
15
|
media = m2 && m2 in m && m2 || a && a in m && a || void 0,
|
|
7
|
-
|
|
8
|
-
return {
|
|
16
|
+
pseudoCandidate = media ? media === m2 ? c : b ? `${b}${c ? `-${c}` : ""}` : void 0 : a ? `${a}${b ? `-${b}` : ""}${c ? `-${c}` : ""}` : void 0;
|
|
17
|
+
return pseudoCandidate && !isValidPseudo(pseudoCandidate) && (process.env.NODE_ENV === "development" && console.warn(`Unknown group prop part "${pseudoCandidate}" in "${groupProp}". If this is a media query, ensure it's defined in your tamagui config.`), pseudoCandidate = void 0), {
|
|
9
18
|
name,
|
|
10
|
-
pseudo,
|
|
19
|
+
pseudo: pseudoCandidate,
|
|
11
20
|
media
|
|
12
21
|
};
|
|
13
22
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getMedia","
|
|
1
|
+
{"version":3,"names":["getMedia","pseudoPriorities","kebabToCamel","str","replace","_","c","toUpperCase","isValidPseudo","getGroupPropParts","groupProp","m","name","a","b","split","m2","media","pseudoCandidate","process","env","NODE_ENV","console","warn","pseudo"],"sources":["../../../src/helpers/getGroupPropParts.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,QAAA,QAAgB;AACzB,SAASC,gBAAA,QAAwB;AAKjC,SAASC,aAAaC,GAAA,EAAqB;EACzC,OAAOA,GAAA,CAAIC,OAAA,CAAQ,aAAa,UAAIC,CAAM,EAAEC,CAAA;IAC9C,OAAAA,CAAA,CAAAC,WAAA;EAGA;AACE;AAGF,SAAAC,cAAAL,GAAA;EAEO,OAASA,GAAA,GAAAD,YAAkB,CAAAC,GAAA,KAAAF,gBAA+B;AAC/D;AAKA,SAAIQ,iBAAkBA,CAAAC,SAClB;EAWJ,IAAAC,CAAA,GAAIX,QAAA;IAAA,CAAAK,CAAA,EAAAO,IAAoB,EAAAC,CAAA,EAAAC,CAAA,EAAAR,CAAA,IAAcI,SAAA,CAAAK,KAAe;IAC/CC,EAAA,GAAAH,CAAA,IAAQC,CAAI,MAAAD,CAAA,IAAAC,CAAA,EAAa;IAAAG,KAAA,GAAAD,EAC3B,IAAAA,EAAA,IAAQL,CAAA,IAAAK,EAAA,IAAAH,CAAA,IAAAA,CAAA,IAAAF,CAAA,IAAAE,CAAA;IAAAK,eAAA,GAAAD,KAAA,GAAAA,KAAA,KAAAD,EAAA,GAAAV,CAAA,GAAAQ,CAAA,MAAAA,CAAA,GAAAR,CAAA,OAAAA,CAAA,qBAAAO,CAAA,MAAAA,CAAA,GAAAC,CAAA,OAAAA,CAAA,UAAAR,CAAA,OAAAA,CAAA;EAAA,OACNY,eAAA,KAAAV,aAA4B,CAAAU,eAAwB,MAAAC,OAAS,CAAAC,GAAA,CAAAC,QAAA,sBAAAC,OAAA,CAAAC,IAAA,6BAAAL,eAAA,SAAAR,SAAA,6EAAAQ,eAAA;IAC/DN,IAEF;IAIJY,MAAA,EAAAN,eAAA","ignoreList":[]}
|
|
@@ -1,19 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
const dontComposePressabilityKeys = {
|
|
3
|
-
onBlur: !0,
|
|
4
|
-
onFocus: !0
|
|
5
|
-
}, emptyConfig = {};
|
|
6
|
-
let usePressability = null;
|
|
7
|
-
function useMainThreadPressEvents(events, viewProps, enabled = !0) {
|
|
8
|
-
usePressability ||= require("react-native/Libraries/Pressability/usePressability").default;
|
|
9
|
-
const pressability = usePressability(enabled ? events : emptyConfig);
|
|
10
|
-
if (enabled && pressability) {
|
|
11
|
-
viewProps.hitSlop && (events.hitSlop = viewProps.hitSlop);
|
|
12
|
-
for (const key in pressability) {
|
|
13
|
-
const og = viewProps[key], val = pressability[key];
|
|
14
|
-
viewProps[key] = og && !dontComposePressabilityKeys[key] ? composeEventHandlers(og, val) : val;
|
|
15
|
-
}
|
|
16
|
-
}
|
|
1
|
+
function useMainThreadPressEvents(_events, _viewProps, _enabled) {
|
|
17
2
|
}
|
|
18
3
|
export {
|
|
19
4
|
useMainThreadPressEvents
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/helpers/mainThreadPressEvents.ts"],
|
|
4
|
-
"mappings": "
|
|
4
|
+
"mappings": "AACO,SAAS,yBACd,SACA,YACA,UACA;AAAC;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -1,21 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
const dontComposePressabilityKeys = {
|
|
3
|
-
onBlur: !0,
|
|
4
|
-
onFocus: !0
|
|
5
|
-
},
|
|
6
|
-
emptyConfig = {};
|
|
7
|
-
let usePressability = null;
|
|
8
|
-
function useMainThreadPressEvents(events, viewProps, enabled = !0) {
|
|
9
|
-
usePressability ||= require("react-native/Libraries/Pressability/usePressability").default;
|
|
10
|
-
const pressability = usePressability(enabled ? events : emptyConfig);
|
|
11
|
-
if (enabled && pressability) {
|
|
12
|
-
viewProps.hitSlop && (events.hitSlop = viewProps.hitSlop);
|
|
13
|
-
for (const key in pressability) {
|
|
14
|
-
const og = viewProps[key],
|
|
15
|
-
val = pressability[key];
|
|
16
|
-
viewProps[key] = og && !dontComposePressabilityKeys[key] ? composeEventHandlers(og, val) : val;
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
}
|
|
1
|
+
function useMainThreadPressEvents(_events, _viewProps, _enabled) {}
|
|
20
2
|
export { useMainThreadPressEvents };
|
|
21
3
|
//# sourceMappingURL=mainThreadPressEvents.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["useMainThreadPressEvents","_events","_viewProps","_enabled"],"sources":["../../../src/helpers/mainThreadPressEvents.ts"],"sourcesContent":[null],"mappings":"AACO,SAASA,yBACdC,OAAA,EACAC,UAAA,EACAC,QAAA,EACA,CAAC","ignoreList":[]}
|
|
@@ -10,7 +10,7 @@ function useMainThreadPressEvents(events, viewProps) {
|
|
|
10
10
|
usePressability || (usePressability = require("react-native/Libraries/Pressability/usePressability").default);
|
|
11
11
|
var pressability = usePressability(enabled ? events : emptyConfig);
|
|
12
12
|
if (enabled && pressability) {
|
|
13
|
-
viewProps.hitSlop && (events.hitSlop = viewProps.hitSlop);
|
|
13
|
+
viewProps.hitSlop && events && (events.hitSlop = viewProps.hitSlop);
|
|
14
14
|
for (var key in pressability) {
|
|
15
15
|
var og = viewProps[key],
|
|
16
16
|
val = pressability[key];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["composeEventHandlers","dontComposePressabilityKeys","onBlur","onFocus","emptyConfig","usePressability","useMainThreadPressEvents","events","viewProps","enabled","arguments","length","require","default","pressability","hitSlop","key","og","val"],"sources":["../../../src/helpers/mainThreadPressEvents.ts"],"sourcesContent":[null],"mappings":"
|
|
1
|
+
{"version":3,"names":["composeEventHandlers","dontComposePressabilityKeys","onBlur","onFocus","emptyConfig","usePressability","useMainThreadPressEvents","events","viewProps","enabled","arguments","length","require","default","pressability","hitSlop","key","og","val"],"sources":["../../../src/helpers/mainThreadPressEvents.native.ts"],"sourcesContent":[null],"mappings":"AAOI,SAASA,oBAAA,QAA4B;AACzC,IAAIC,2BAAA,GAA8B;IAC9BC,MAAA,EAAQ;IACRC,OAAA,EAAS;EACb;EAEIC,WAAA,GAAc,CAAC;EACfC,eAAA,GAAkB;AACf,SAASC,yBAAyBC,MAAA,EAAQC,SAAA,EAAW;EACxD,IAAIC,OAAA,GAAUC,SAAA,CAAUC,MAAA,GAAS,KAAKD,SAAA,CAAU,CAAC,MAAM,SAASA,SAAA,CAAU,CAAC,IAAI;EAC/EL,eAAA,KAAoBA,eAAA,GAAkBO,OAAA,CAAQ,qDAAqD,EAAEC,OAAA;EAErG,IAAIC,YAAA,GAAeT,eAAA,CAAgBI,OAAA,GAAUF,MAAA,GAASH,WAAW;EACjE,IAAIK,OAAA,IAAWK,YAAA,EAAc;IACrBN,SAAA,CAAUO,OAAA,IAAWR,MAAA,KACrBA,MAAA,CAAOQ,OAAA,GAAUP,SAAA,CAAUO,OAAA;IAE/B,SAAQC,GAAA,IAAOF,YAAA,EAAa;MACxB,IAAIG,EAAA,GAAKT,SAAA,CAAUQ,GAAG;QAClBE,GAAA,GAAMJ,YAAA,CAAaE,GAAG;MAC1BR,SAAA,CAAUQ,GAAG,IAAIC,EAAA,IAAM,CAAChB,2BAAA,CAA4Be,GAAG,IAAIhB,oBAAA,CAAqBiB,EAAA,EAAIC,GAAG,IAAIA,GAAA;IAC/F;EACJ;AACJ","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tamagui/web",
|
|
3
|
-
"version": "2.0.0-rc.2",
|
|
3
|
+
"version": "2.0.0-rc.2-1770298821200",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Nate Wienert"
|
|
@@ -57,20 +57,20 @@
|
|
|
57
57
|
"clean:build": "tamagui-build clean:build"
|
|
58
58
|
},
|
|
59
59
|
"dependencies": {
|
|
60
|
-
"@tamagui/compose-refs": "2.0.0-rc.2",
|
|
61
|
-
"@tamagui/constants": "2.0.0-rc.2",
|
|
62
|
-
"@tamagui/helpers": "2.0.0-rc.2",
|
|
63
|
-
"@tamagui/is-equal-shallow": "2.0.0-rc.2",
|
|
64
|
-
"@tamagui/native": "2.0.0-rc.2",
|
|
65
|
-
"@tamagui/normalize-css-color": "2.0.0-rc.2",
|
|
66
|
-
"@tamagui/timer": "2.0.0-rc.2",
|
|
67
|
-
"@tamagui/types": "2.0.0-rc.2",
|
|
68
|
-
"@tamagui/use-did-finish-ssr": "2.0.0-rc.2",
|
|
69
|
-
"@tamagui/use-event": "2.0.0-rc.2",
|
|
70
|
-
"@tamagui/use-force-update": "2.0.0-rc.2"
|
|
60
|
+
"@tamagui/compose-refs": "2.0.0-rc.2-1770298821200",
|
|
61
|
+
"@tamagui/constants": "2.0.0-rc.2-1770298821200",
|
|
62
|
+
"@tamagui/helpers": "2.0.0-rc.2-1770298821200",
|
|
63
|
+
"@tamagui/is-equal-shallow": "2.0.0-rc.2-1770298821200",
|
|
64
|
+
"@tamagui/native": "2.0.0-rc.2-1770298821200",
|
|
65
|
+
"@tamagui/normalize-css-color": "2.0.0-rc.2-1770298821200",
|
|
66
|
+
"@tamagui/timer": "2.0.0-rc.2-1770298821200",
|
|
67
|
+
"@tamagui/types": "2.0.0-rc.2-1770298821200",
|
|
68
|
+
"@tamagui/use-did-finish-ssr": "2.0.0-rc.2-1770298821200",
|
|
69
|
+
"@tamagui/use-event": "2.0.0-rc.2-1770298821200",
|
|
70
|
+
"@tamagui/use-force-update": "2.0.0-rc.2-1770298821200"
|
|
71
71
|
},
|
|
72
72
|
"devDependencies": {
|
|
73
|
-
"@tamagui/build": "2.0.0-rc.2",
|
|
73
|
+
"@tamagui/build": "2.0.0-rc.2-1770298821200",
|
|
74
74
|
"@testing-library/react": "^16.1.0",
|
|
75
75
|
"csstype": "^3.0.10",
|
|
76
76
|
"react": ">=19",
|
|
@@ -1,14 +1,27 @@
|
|
|
1
1
|
import { getMedia } from '../hooks/useMedia'
|
|
2
|
+
import { pseudoPriorities } from './pseudoDescriptors'
|
|
2
3
|
|
|
3
4
|
export type GroupParts = { name: string; pseudo?: string; media?: string }
|
|
4
5
|
|
|
6
|
+
// convert kebab-case to camelCase (e.g. "focus-visible" -> "focusVisible")
|
|
7
|
+
function kebabToCamel(str: string): string {
|
|
8
|
+
return str.replace(/-([a-z])/g, (_, c) => c.toUpperCase())
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
// validate that a string is a known pseudo selector
|
|
12
|
+
function isValidPseudo(str: string | undefined): str is string {
|
|
13
|
+
if (!str) return false
|
|
14
|
+
// pseudoPriorities uses camelCase keys, but parsed candidates may be kebab-case
|
|
15
|
+
return kebabToCamel(str) in pseudoPriorities
|
|
16
|
+
}
|
|
17
|
+
|
|
5
18
|
export function getGroupPropParts(groupProp: string): GroupParts {
|
|
6
19
|
const m = getMedia()
|
|
7
20
|
const [_, name, a, b, c] = groupProp.split('-')
|
|
8
21
|
// check 2-part media key first (e.g. "max-md"), then 1-part
|
|
9
22
|
const m2 = a && b ? `${a}-${b}` : ''
|
|
10
23
|
const media = (m2 && m2 in m && m2) || (a && a in m && a) || undefined
|
|
11
|
-
|
|
24
|
+
let pseudoCandidate = media
|
|
12
25
|
? media === m2
|
|
13
26
|
? c
|
|
14
27
|
: b
|
|
@@ -17,5 +30,17 @@ export function getGroupPropParts(groupProp: string): GroupParts {
|
|
|
17
30
|
: a
|
|
18
31
|
? `${a}${b ? `-${b}` : ''}${c ? `-${c}` : ''}`
|
|
19
32
|
: undefined
|
|
20
|
-
|
|
33
|
+
|
|
34
|
+
// only treat as pseudo if it's a known pseudo selector
|
|
35
|
+
// otherwise it might be an unrecognized media query
|
|
36
|
+
if (pseudoCandidate && !isValidPseudo(pseudoCandidate)) {
|
|
37
|
+
if (process.env.NODE_ENV === 'development') {
|
|
38
|
+
console.warn(
|
|
39
|
+
`Unknown group prop part "${pseudoCandidate}" in "${groupProp}". If this is a media query, ensure it's defined in your tamagui config.`
|
|
40
|
+
)
|
|
41
|
+
}
|
|
42
|
+
pseudoCandidate = undefined
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
return { name, pseudo: pseudoCandidate, media }
|
|
21
46
|
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Fallback press handling using React Native's usePressability
|
|
3
|
+
* Split into separate file to avoid deep import warnings when RNGH is enabled
|
|
4
|
+
*
|
|
5
|
+
* NOTE: This hook must be called unconditionally in the parent to avoid
|
|
6
|
+
* rules of hooks violations when disabled toggles. The `enabled` param
|
|
7
|
+
* controls whether the pressability events are actually applied.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
import { composeEventHandlers } from '@tamagui/helpers'
|
|
11
|
+
|
|
12
|
+
const dontComposePressabilityKeys: Record<string, boolean> = {
|
|
13
|
+
onBlur: true,
|
|
14
|
+
onFocus: true,
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
// empty config for when disabled - usePressability still needs to be called
|
|
18
|
+
const emptyConfig = {}
|
|
19
|
+
|
|
20
|
+
let usePressability: any = null
|
|
21
|
+
|
|
22
|
+
export function useMainThreadPressEvents(events: any, viewProps: any, enabled = true) {
|
|
23
|
+
usePressability ||=
|
|
24
|
+
require('react-native/Libraries/Pressability/usePressability').default
|
|
25
|
+
|
|
26
|
+
// always call the hook to maintain consistent hook order
|
|
27
|
+
const pressability = usePressability(enabled ? events : emptyConfig)
|
|
28
|
+
|
|
29
|
+
if (enabled && pressability) {
|
|
30
|
+
if (viewProps.hitSlop && events) {
|
|
31
|
+
events.hitSlop = viewProps.hitSlop
|
|
32
|
+
}
|
|
33
|
+
for (const key in pressability) {
|
|
34
|
+
const og = viewProps[key]
|
|
35
|
+
const val = pressability[key]
|
|
36
|
+
viewProps[key] =
|
|
37
|
+
og && !dontComposePressabilityKeys[key] ? composeEventHandlers(og, val) : val
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
@@ -1,40 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
* controls whether the pressability events are actually applied.
|
|
8
|
-
*/
|
|
9
|
-
|
|
10
|
-
import { composeEventHandlers } from '@tamagui/helpers'
|
|
11
|
-
|
|
12
|
-
const dontComposePressabilityKeys: Record<string, boolean> = {
|
|
13
|
-
onBlur: true,
|
|
14
|
-
onFocus: true,
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
// empty config for when disabled - usePressability still needs to be called
|
|
18
|
-
const emptyConfig = {}
|
|
19
|
-
|
|
20
|
-
let usePressability: any = null
|
|
21
|
-
|
|
22
|
-
export function useMainThreadPressEvents(events: any, viewProps: any, enabled = true) {
|
|
23
|
-
usePressability ||=
|
|
24
|
-
require('react-native/Libraries/Pressability/usePressability').default
|
|
25
|
-
|
|
26
|
-
// always call the hook to maintain consistent hook order
|
|
27
|
-
const pressability = usePressability(enabled ? events : emptyConfig)
|
|
28
|
-
|
|
29
|
-
if (enabled && pressability) {
|
|
30
|
-
if (viewProps.hitSlop) {
|
|
31
|
-
events.hitSlop = viewProps.hitSlop
|
|
32
|
-
}
|
|
33
|
-
for (const key in pressability) {
|
|
34
|
-
const og = viewProps[key]
|
|
35
|
-
const val = pressability[key]
|
|
36
|
-
viewProps[key] =
|
|
37
|
-
og && !dontComposePressabilityKeys[key] ? composeEventHandlers(og, val) : val
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
}
|
|
1
|
+
// web stub - mainThreadPressEvents is native-only
|
|
2
|
+
export function useMainThreadPressEvents(
|
|
3
|
+
_events: any,
|
|
4
|
+
_viewProps: any,
|
|
5
|
+
_enabled?: boolean
|
|
6
|
+
) {}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getGroupPropParts.d.ts","sourceRoot":"","sources":["../../src/helpers/getGroupPropParts.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"getGroupPropParts.d.ts","sourceRoot":"","sources":["../../src/helpers/getGroupPropParts.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,UAAU,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AAc1E,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,UAAU,CA4B/D"}
|
|
@@ -1,10 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
* Fallback press handling using React Native's usePressability
|
|
3
|
-
* Split into separate file to avoid deep import warnings when RNGH is enabled
|
|
4
|
-
*
|
|
5
|
-
* NOTE: This hook must be called unconditionally in the parent to avoid
|
|
6
|
-
* rules of hooks violations when disabled toggles. The `enabled` param
|
|
7
|
-
* controls whether the pressability events are actually applied.
|
|
8
|
-
*/
|
|
9
|
-
export declare function useMainThreadPressEvents(events: any, viewProps: any, enabled?: boolean): void;
|
|
1
|
+
export declare function useMainThreadPressEvents(_events: any, _viewProps: any, _enabled?: boolean): void;
|
|
10
2
|
//# sourceMappingURL=mainThreadPressEvents.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mainThreadPressEvents.d.ts","sourceRoot":"","sources":["../../src/helpers/mainThreadPressEvents.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mainThreadPressEvents.d.ts","sourceRoot":"","sources":["../../src/helpers/mainThreadPressEvents.ts"],"names":[],"mappings":"AACA,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,GAAG,EACZ,UAAU,EAAE,GAAG,EACf,QAAQ,CAAC,EAAE,OAAO,QAChB"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Fallback press handling using React Native's usePressability
|
|
3
|
+
* Split into separate file to avoid deep import warnings when RNGH is enabled
|
|
4
|
+
*
|
|
5
|
+
* NOTE: This hook must be called unconditionally in the parent to avoid
|
|
6
|
+
* rules of hooks violations when disabled toggles. The `enabled` param
|
|
7
|
+
* controls whether the pressability events are actually applied.
|
|
8
|
+
*/
|
|
9
|
+
export declare function useMainThreadPressEvents(events: any, viewProps: any, enabled?: boolean): void;
|
|
10
|
+
//# sourceMappingURL=mainThreadPressEvents.native.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mainThreadPressEvents.native.d.ts","sourceRoot":"","sources":["../../src/helpers/mainThreadPressEvents.native.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAcH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,UAAO,QAkBnF"}
|