@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.
Files changed (31) hide show
  1. package/dist/cjs/helpers/getGroupPropParts.cjs +12 -5
  2. package/dist/cjs/helpers/getGroupPropParts.js +12 -3
  3. package/dist/cjs/helpers/getGroupPropParts.js.map +1 -1
  4. package/dist/cjs/helpers/getGroupPropParts.native.js +13 -4
  5. package/dist/cjs/helpers/getGroupPropParts.native.js.map +1 -1
  6. package/dist/cjs/helpers/mainThreadPressEvents.cjs +1 -19
  7. package/dist/cjs/helpers/mainThreadPressEvents.js +1 -16
  8. package/dist/cjs/helpers/mainThreadPressEvents.js.map +1 -1
  9. package/dist/cjs/helpers/mainThreadPressEvents.native.js +4 -4
  10. package/dist/cjs/helpers/mainThreadPressEvents.native.js.map +1 -1
  11. package/dist/esm/helpers/getGroupPropParts.js +12 -2
  12. package/dist/esm/helpers/getGroupPropParts.js.map +1 -1
  13. package/dist/esm/helpers/getGroupPropParts.mjs +11 -4
  14. package/dist/esm/helpers/getGroupPropParts.mjs.map +1 -1
  15. package/dist/esm/helpers/getGroupPropParts.native.js +12 -3
  16. package/dist/esm/helpers/getGroupPropParts.native.js.map +1 -1
  17. package/dist/esm/helpers/mainThreadPressEvents.js +1 -16
  18. package/dist/esm/helpers/mainThreadPressEvents.js.map +1 -1
  19. package/dist/esm/helpers/mainThreadPressEvents.mjs +1 -19
  20. package/dist/esm/helpers/mainThreadPressEvents.mjs.map +1 -1
  21. package/dist/esm/helpers/mainThreadPressEvents.native.js +1 -1
  22. package/dist/esm/helpers/mainThreadPressEvents.native.js.map +1 -1
  23. package/package.json +13 -13
  24. package/src/helpers/getGroupPropParts.ts +27 -2
  25. package/src/helpers/mainThreadPressEvents.native.ts +40 -0
  26. package/src/helpers/mainThreadPressEvents.ts +6 -40
  27. package/types/helpers/getGroupPropParts.d.ts.map +1 -1
  28. package/types/helpers/mainThreadPressEvents.d.ts +1 -9
  29. package/types/helpers/mainThreadPressEvents.d.ts.map +1 -1
  30. package/types/helpers/mainThreadPressEvents.native.d.ts +10 -0
  31. 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
- pseudo = media ? media === m2 ? c : b ? `${b}${c ? `-${c}` : ""}` : void 0 : a ? `${a}${b ? `-${b}` : ""}${c ? `-${c}` : ""}` : void 0;
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, pseudo = media ? media === m2 ? c : b ? `${b}${c ? `-${c}` : ""}` : void 0 : a ? `${a}${b ? `-${b}` : ""}${c ? `-${c}` : ""}` : void 0;
23
- return { name, pseudo, media };
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;AAIlB,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,QACvD,SAAS,QACX,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;AACN,SAAO,EAAE,MAAM,QAAQ,MAAM;AAC/B;",
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
- pseudo = media ? media === m2 ? c : b ? `${b}${c ? `-${c}` : ""}` : void 0 : a ? `${a}${b ? `-${b}` : ""}${c ? `-${c}` : ""}` : void 0;
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","groupProp","m","getMedia","_","name","a","b","c","split","m2","media","pseudo"],"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,yBAAA;AAIlB,IAAAK,eAAS,GAAAC,OAAkB,8BAA+B;AAC/D,SAAMJ,iBAAIA,CAAAK,SAAA;EAcV,IAAAC,CAAA,GAAO,CAAE,GAAAH,eAAc,CAAAI,QAAM;IAAA,CAAAC,CAAA,EAAAC,IAAA,EAAAC,CAAA,EAAAC,CAAA,EAAAC,CAAA,IAAAP,SAAA,CAAAQ,KAAA;IAAAC,EAAA,GAAAJ,CAAA,IAAAC,CAAA,MAAAD,CAAA,IAAAC,CAAA;IAAAI,KAAA,GAAAD,EAAA,IAAAA,EAAA,IAAAR,CAAA,IAAAQ,EAAA,IAAAJ,CAAA,IAAAA,CAAA,IAAAJ,CAAA,IAAAI,CAAA;IAAAM,MAAA,GAAAD,KAAA,GAAAA,KAAA,KAAAD,EAAA,GAAAF,CAAA,GAAAD,CAAA,MAAAA,CAAA,GAAAC,CAAA,OAAAA,CAAA,qBAAAF,CAAA,MAAAA,CAAA,GAAAC,CAAA,OAAAA,CAAA,UAAAC,CAAA,OAAAA,CAAA;EAC/B","ignoreList":[]}
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
- var import_helpers = require("@tamagui/helpers");
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
- var import_helpers = require("@tamagui/helpers");
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;AASA,qBAAqC;AAErC,MAAM,8BAAuD;AAAA,EAC3D,QAAQ;AAAA,EACR,SAAS;AACX,GAGM,cAAc,CAAC;AAErB,IAAI,kBAAuB;AAEpB,SAAS,yBAAyB,QAAa,WAAgB,UAAU,IAAM;AACpF,sBACE,QAAQ,qDAAqD,EAAE;AAGjE,QAAM,eAAe,gBAAgB,UAAU,SAAS,WAAW;AAEnE,MAAI,WAAW,cAAc;AAC3B,IAAI,UAAU,YACZ,OAAO,UAAU,UAAU;AAE7B,eAAW,OAAO,cAAc;AAC9B,YAAM,KAAK,UAAU,GAAG,GAClB,MAAM,aAAa,GAAG;AAC5B,gBAAU,GAAG,IACX,MAAM,CAAC,4BAA4B,GAAG,QAAI,qCAAqB,IAAI,GAAG,IAAI;AAAA,IAC9E;AAAA,EACF;AACF;",
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 mainThreadPressEvents_exports = {};
24
- __export(mainThreadPressEvents_exports, {
23
+ var mainThreadPressEvents_native_exports = {};
24
+ __export(mainThreadPressEvents_native_exports, {
25
25
  useMainThreadPressEvents: () => useMainThreadPressEvents
26
26
  });
27
- module.exports = __toCommonJS(mainThreadPressEvents_exports);
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":["__toCommonJS","mod","__copyProps","__defProp","value","mainThreadPressEvents_exports","__export","useMainThreadPressEvents","module","exports","import_helpers","require","dontComposePressabilityKeys","onBlur","onFocus","emptyConfig","usePressability","events","viewProps","enabled","arguments","length","default","pressability","hitSlop","key","og","val","composeEventHandlers"],"sources":["../../../src/helpers/mainThreadPressEvents.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,6BAAA;AAAAC,QAAA,CAAAD,6BAAA;EAAAE,wBAAA,EAAAA,CAAA,KAAAA;AAAA;AASAC,MAAA,CAAAC,OAAA,GAAAT,YAAqC,CAAAK,6BAAA;AAErC,IAAAK,cAAM,GAAAC,OAAA,mBAAuD;EAAAC,2BAAA;IAC3DC,MAAA,EAAQ;IACRC,OAAA,EAAS;EACX;EAGMC,WAAA,GAAc,CAAC;EAAAC,eAAA;AAErB,SAAIT,wBAAuBA,CAAAU,MAAA,EAAAC,SAAA;EAEpB,IAAAC,OAAS,GAAAC,SAAA,CAAAC,MAAA,GAAyB,KAAAD,SAAa,QAAgB,MAAU,GAAAA,SAAM;EACpFJ,eAAA,KACEA,eAAQ,GAAAL,OAAA,sDAAuD,EAAAW,OAAA;EAGjE,IAAAC,YAAM,GAAAP,eAAe,CAAAG,OAAgB,GAAAF,MAAU,GAAAF,WAAS;EAExD,IAAII,OAAA,IAAWI,YAAA,EAAc;IACvBL,SAAA,CAAUM,OAAA,KACZP,MAAA,CAAOO,OAAA,GAAUN,SAAA,CAAUM,OAAA;IAE7B,SAAAC,GAAW,IAAAF,YAAO;MAChB,IAAAG,EAAM,GAAAR,SAAK,CAAAO,GAAU;QAAGE,GAClB,GAAAJ,YAAM,CAAAE,GAAa;MACzBP,SAAA,CAAUO,GAAG,IACXC,EAAA,IAAM,CAACd,2BAAA,CAA4Ba,GAAG,QAAIf,cAAA,CAAAkB,oBAAA,EAAqBF,EAAA,EAAIC,GAAG,IAAIA,GAAA;IAC9E;EACF;AACF","ignoreList":[]}
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, pseudo = media ? media === m2 ? c : b ? `${b}${c ? `-${c}` : ""}` : void 0 : a ? `${a}${b ? `-${b}` : ""}${c ? `-${c}` : ""}` : void 0;
4
- return { name, pseudo, media };
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;AAIlB,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,QACvD,SAAS,QACX,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;AACN,SAAO,EAAE,MAAM,QAAQ,MAAM;AAC/B;",
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
- pseudo = media ? media === m2 ? c : b ? `${b}${c ? `-${c}` : ""}` : void 0 : a ? `${a}${b ? `-${b}` : ""}${c ? `-${c}` : ""}` : void 0;
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","getGroupPropParts","groupProp","m","_","name","a","b","c","split","m2","media","pseudo"],"sources":["../../../src/helpers/getGroupPropParts.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,QAAA,QAAgB;AAIlB,SAASC,kBAAkBC,SAAA,EAA+B;EAC/D,MAAMC,CAAA,GAAIH,QAAA,CAAS;IACb,CAACI,CAAA,EAAGC,IAAA,EAAMC,CAAA,EAAGC,CAAA,EAAGC,CAAC,IAAIN,SAAA,CAAUO,KAAA,CAAM,GAAG;IAExCC,EAAA,GAAKJ,CAAA,IAAKC,CAAA,GAAI,GAAGD,CAAC,IAAIC,CAAC,KAAK;IAC5BI,KAAA,GAASD,EAAA,IAAMA,EAAA,IAAMP,CAAA,IAAKO,EAAA,IAAQJ,CAAA,IAAKA,CAAA,IAAKH,CAAA,IAAKG,CAAA,IAAM;IACvDM,MAAA,GAASD,KAAA,GACXA,KAAA,KAAUD,EAAA,GACRF,CAAA,GACAD,CAAA,GACE,GAAGA,CAAC,GAAGC,CAAA,GAAI,IAAIA,CAAC,KAAK,EAAE,KACvB,SACJF,CAAA,GACE,GAAGA,CAAC,GAAGC,CAAA,GAAI,IAAIA,CAAC,KAAK,EAAE,GAAGC,CAAA,GAAI,IAAIA,CAAC,KAAK,EAAE,KAC1C;EACN,OAAO;IAAEH,IAAA;IAAMO,MAAA;IAAQD;EAAM;AAC/B","ignoreList":[]}
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
- pseudo = media ? media === m2 ? c : b ? `${b}${c ? `-${c}` : ""}` : void 0 : a ? `${a}${b ? `-${b}` : ""}${c ? `-${c}` : ""}` : void 0;
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","getGroupPropParts","groupProp","m","_","name","a","b","c","split","m2","media","pseudo"],"sources":["../../../src/helpers/getGroupPropParts.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,QAAA,QAAgB;AAIlB,SAASC,kBAAkBC,SAAA,EAA+B;EAC/D,IAAAC,CAAA,GAAMH,QAAI;IAAS,CAAAI,CACb,EAACC,IAAG,EAAAC,CAAA,EAAMC,CAAA,EAAGC,CAAA,CAAG,GAACN,SAAI,CAAAO,KAAU,IAAM;IAAGC,EAExC,GAAAJ,CAAA,IAAKC,CAAA,GAAK,GAAID,CAAA,IAAIC,CAAA,EAAK,KAAK;IAAAI,KAC5B,GAAAD,EAAS,IAAAA,EAAM,IAAAP,CAAA,IAAMO,EAAK,IAAAJ,CAAA,IAAQA,CAAA,IAAKH,CAAA,IAAKG,CAAA,IAAK,KAAM;IAAAM,MACvD,GAAAD,KAAS,GAAAA,KACX,KAAAD,EAAU,GAAAF,CAAA,GACRD,CAAA,GACA,GACEA,CAAA,GAAIC,CAAA,GAAG,IAAIA,CAAA,EAAK,KAAK,EAAE,QACvB,IAAAF,CAAA,GACJ,GACEA,CAAA,GAAIC,CAAA,GAAG,IAAIA,CAAA,EAAK,KAAK,GAAEC,CAAA,GAAG,IAAIA,CAAA,EAAK,KAAK,EAAE,QAC1C;EACN,OAAO;IACTH,IAAA","ignoreList":[]}
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
- import { composeEventHandlers } from "@tamagui/helpers";
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": "AASA,SAAS,4BAA4B;AAErC,MAAM,8BAAuD;AAAA,EAC3D,QAAQ;AAAA,EACR,SAAS;AACX,GAGM,cAAc,CAAC;AAErB,IAAI,kBAAuB;AAEpB,SAAS,yBAAyB,QAAa,WAAgB,UAAU,IAAM;AACpF,sBACE,QAAQ,qDAAqD,EAAE;AAGjE,QAAM,eAAe,gBAAgB,UAAU,SAAS,WAAW;AAEnE,MAAI,WAAW,cAAc;AAC3B,IAAI,UAAU,YACZ,OAAO,UAAU,UAAU;AAE7B,eAAW,OAAO,cAAc;AAC9B,YAAM,KAAK,UAAU,GAAG,GAClB,MAAM,aAAa,GAAG;AAC5B,gBAAU,GAAG,IACX,MAAM,CAAC,4BAA4B,GAAG,IAAI,qBAAqB,IAAI,GAAG,IAAI;AAAA,IAC9E;AAAA,EACF;AACF;",
4
+ "mappings": "AACO,SAAS,yBACd,SACA,YACA,UACA;AAAC;",
5
5
  "names": []
6
6
  }
@@ -1,21 +1,3 @@
1
- import { composeEventHandlers } from "@tamagui/helpers";
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":["composeEventHandlers","dontComposePressabilityKeys","onBlur","onFocus","emptyConfig","usePressability","useMainThreadPressEvents","events","viewProps","enabled","require","default","pressability","hitSlop","key","og","val"],"sources":["../../../src/helpers/mainThreadPressEvents.ts"],"sourcesContent":[null],"mappings":"AASA,SAASA,oBAAA,QAA4B;AAErC,MAAMC,2BAAA,GAAuD;IAC3DC,MAAA,EAAQ;IACRC,OAAA,EAAS;EACX;EAGMC,WAAA,GAAc,CAAC;AAErB,IAAIC,eAAA,GAAuB;AAEpB,SAASC,yBAAyBC,MAAA,EAAaC,SAAA,EAAgBC,OAAA,GAAU,IAAM;EACpFJ,eAAA,KACEK,OAAA,CAAQ,qDAAqD,EAAEC,OAAA;EAGjE,MAAMC,YAAA,GAAeP,eAAA,CAAgBI,OAAA,GAAUF,MAAA,GAASH,WAAW;EAEnE,IAAIK,OAAA,IAAWG,YAAA,EAAc;IACvBJ,SAAA,CAAUK,OAAA,KACZN,MAAA,CAAOM,OAAA,GAAUL,SAAA,CAAUK,OAAA;IAE7B,WAAWC,GAAA,IAAOF,YAAA,EAAc;MAC9B,MAAMG,EAAA,GAAKP,SAAA,CAAUM,GAAG;QAClBE,GAAA,GAAMJ,YAAA,CAAaE,GAAG;MAC5BN,SAAA,CAAUM,GAAG,IACXC,EAAA,IAAM,CAACd,2BAAA,CAA4Ba,GAAG,IAAId,oBAAA,CAAqBe,EAAA,EAAIC,GAAG,IAAIA,GAAA;IAC9E;EACF;AACF","ignoreList":[]}
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":"AASA,SAASA,oBAAA,QAA4B;AAErC,IAAAC,2BAAM;IACJC,MAAA,EAAQ;IACRC,OAAA,EAAS;EACX;EAGMC,WAAA,GAAc,CAAC;EAAAC,eAAA;AAErB,SAAIC,wBAAuBA,CAAAC,MAAA,EAAAC,SAAA;EAEpB,IAAAC,OAAS,GAAAC,SAAA,CAAAC,MAAA,GAAyB,KAAAD,SAAa,QAAgB,MAAU,GAAAA,SAAM;EACpFL,eAAA,KACEA,eAAQ,GAAAO,OAAA,sDAAuD,EAAAC,OAAA;EAGjE,IAAAC,YAAM,GAAAT,eAAe,CAAAI,OAAgB,GAAAF,MAAU,GAAAH,WAAS;EAExD,IAAIK,OAAA,IAAWK,YAAA,EAAc;IACvBN,SAAA,CAAUO,OAAA,KACZR,MAAA,CAAOQ,OAAA,GAAUP,SAAA,CAAUO,OAAA;IAE7B,SAAAC,GAAW,IAAAF,YAAO;MAChB,IAAAG,EAAM,GAAAT,SAAK,CAAAQ,GAAU;QAAGE,GAClB,GAAAJ,YAAM,CAAAE,GAAa;MACzBR,SAAA,CAAUQ,GAAG,IACXC,EAAA,IAAM,CAAChB,2BAAA,CAA4Be,GAAG,IAAIhB,oBAAA,CAAqBiB,EAAA,EAAIC,GAAG,IAAIA,GAAA;IAC9E;EACF;AACF","ignoreList":[]}
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
- const pseudo = media
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
- return { name, pseudo, media }
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
- * 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) {
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":"AAEA,MAAM,MAAM,UAAU,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AAE1E,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,UAAU,CAgB/D"}
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":"AAAA;;;;;;;GAOG;AAcH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,OAAO,UAAO,QAkBnF"}
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"}