@tamagui/web 2.3.3 → 2.4.0-1783110557100

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 (205) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/dist/cjs/Tamagui.native.js.map +1 -1
  3. package/dist/cjs/_withStableStyle.native.js.map +1 -1
  4. package/dist/cjs/animationDriverTypes.test-d.native.js.map +1 -1
  5. package/dist/cjs/config.native.js.map +1 -1
  6. package/dist/cjs/constants/constants.native.js.map +1 -1
  7. package/dist/cjs/constants/isDevTools.native.js.map +1 -1
  8. package/dist/cjs/contexts/ComponentContext.native.js.map +1 -1
  9. package/dist/cjs/contexts/GroupContext.native.js.map +1 -1
  10. package/dist/cjs/createComponent.cjs +4 -3
  11. package/dist/cjs/createComponent.native.js +7 -6
  12. package/dist/cjs/createComponent.native.js.map +1 -1
  13. package/dist/cjs/createFont.native.js.map +1 -1
  14. package/dist/cjs/createShorthands.native.js.map +1 -1
  15. package/dist/cjs/createTamagui.native.js.map +1 -1
  16. package/dist/cjs/createTokens.native.js.map +1 -1
  17. package/dist/cjs/createVariable.native.js.map +1 -1
  18. package/dist/cjs/createVariables.native.js.map +1 -1
  19. package/dist/cjs/defaultComponentState.native.js.map +1 -1
  20. package/dist/cjs/eventHandling.cjs +1 -1
  21. package/dist/cjs/eventHandling.native.js +12 -36
  22. package/dist/cjs/eventHandling.native.js.map +1 -1
  23. package/dist/cjs/helpers/createDesignSystem.native.js.map +1 -1
  24. package/dist/cjs/helpers/createMediaStyle.native.js.map +1 -1
  25. package/dist/cjs/helpers/createStyledContext.native.js.map +1 -1
  26. package/dist/cjs/helpers/defaultAnimationDriver.native.js.map +1 -1
  27. package/dist/cjs/helpers/defaultOffset.native.js.map +1 -1
  28. package/dist/cjs/helpers/expandStyle.native.js.map +1 -1
  29. package/dist/cjs/helpers/expandStyles.native.js.map +1 -1
  30. package/dist/cjs/helpers/getDefaultProps.native.js.map +1 -1
  31. package/dist/cjs/helpers/getDynamicVal.native.js.map +1 -1
  32. package/dist/cjs/helpers/getExpandedShorthands.native.js.map +1 -1
  33. package/dist/cjs/helpers/getFontLanguage.native.js.map +1 -1
  34. package/dist/cjs/helpers/getGroupPropParts.native.js.map +1 -1
  35. package/dist/cjs/helpers/getShorthandValue.native.js.map +1 -1
  36. package/dist/cjs/helpers/getSplitStyles.cjs +5 -0
  37. package/dist/cjs/helpers/getSplitStyles.native.js +9 -0
  38. package/dist/cjs/helpers/getSplitStyles.native.js.map +1 -1
  39. package/dist/cjs/helpers/getTokenForKey.native.js.map +1 -1
  40. package/dist/cjs/helpers/getVariantExtras.native.js.map +1 -1
  41. package/dist/cjs/helpers/insertStyleRule.native.js.map +1 -1
  42. package/dist/cjs/helpers/isActivePlatform.native.js.map +1 -1
  43. package/dist/cjs/helpers/isActiveTheme.native.js.map +1 -1
  44. package/dist/cjs/helpers/isObj.native.js.map +1 -1
  45. package/dist/cjs/helpers/isTamaguiComponent.native.js.map +1 -1
  46. package/dist/cjs/helpers/isTamaguiElement.native.js.map +1 -1
  47. package/dist/cjs/helpers/log.native.js.map +1 -1
  48. package/dist/cjs/helpers/mainThreadPressEvents.native.js +20 -3
  49. package/dist/cjs/helpers/mainThreadPressEvents.native.js.map +1 -1
  50. package/dist/cjs/helpers/mediaObjectToString.native.js.map +1 -1
  51. package/dist/cjs/helpers/mediaState.native.js.map +1 -1
  52. package/dist/cjs/helpers/mergeProps.native.js.map +1 -1
  53. package/dist/cjs/helpers/mergeRenderElementProps.native.js.map +1 -1
  54. package/dist/cjs/helpers/mergeSlotStyleProps.native.js.map +1 -1
  55. package/dist/cjs/helpers/mergeVariants.native.js.map +1 -1
  56. package/dist/cjs/helpers/nativeOnlyProps.native.js.map +1 -1
  57. package/dist/cjs/helpers/normalizeStyle.native.js.map +1 -1
  58. package/dist/cjs/helpers/normalizeValueWithProperty.native.js.map +1 -1
  59. package/dist/cjs/helpers/objectIdentityKey.native.js.map +1 -1
  60. package/dist/cjs/helpers/parseNativeStyle.native.js.map +1 -1
  61. package/dist/cjs/helpers/pointerEvents.native.js +26 -20
  62. package/dist/cjs/helpers/pointerEvents.native.js.map +1 -1
  63. package/dist/cjs/helpers/propMapper.native.js +40 -15
  64. package/dist/cjs/helpers/propMapper.native.js.map +1 -1
  65. package/dist/cjs/helpers/proxyThemeToParents.native.js.map +1 -1
  66. package/dist/cjs/helpers/proxyThemeVariables.native.js.map +1 -1
  67. package/dist/cjs/helpers/pseudoDescriptors.native.js.map +1 -1
  68. package/dist/cjs/helpers/pseudoTransitions.native.js.map +1 -1
  69. package/dist/cjs/helpers/registerCSSVariable.native.js.map +1 -1
  70. package/dist/cjs/helpers/resolveAnimationDriver.native.js.map +1 -1
  71. package/dist/cjs/helpers/resolveCompoundTokens.native.js.map +1 -1
  72. package/dist/cjs/helpers/skipProps.native.js.map +1 -1
  73. package/dist/cjs/helpers/sortString.native.js.map +1 -1
  74. package/dist/cjs/helpers/styleOriginalValues.native.js.map +1 -1
  75. package/dist/cjs/helpers/subscribeToContextGroup.native.js.map +1 -1
  76. package/dist/cjs/helpers/themeable.native.js.map +1 -1
  77. package/dist/cjs/helpers/themes.native.js.map +1 -1
  78. package/dist/cjs/helpers/timer.native.js.map +1 -1
  79. package/dist/cjs/helpers/transformsToString.native.js.map +1 -1
  80. package/dist/cjs/helpers/useRenderElement.native.js.map +1 -1
  81. package/dist/cjs/helpers/wrapStyleTags.native.js.map +1 -1
  82. package/dist/cjs/hooks/getThemeProxied.native.js.map +1 -1
  83. package/dist/cjs/hooks/useComponentState.cjs +25 -1
  84. package/dist/cjs/hooks/useComponentState.native.js +25 -1
  85. package/dist/cjs/hooks/useComponentState.native.js.map +1 -1
  86. package/dist/cjs/hooks/useDisableSSR.native.js.map +1 -1
  87. package/dist/cjs/hooks/useIsTouchDevice.native.js.map +1 -1
  88. package/dist/cjs/hooks/useMedia.cjs +107 -42
  89. package/dist/cjs/hooks/useMedia.native.js +149 -60
  90. package/dist/cjs/hooks/useMedia.native.js.map +1 -1
  91. package/dist/cjs/hooks/useProps.native.js.map +1 -1
  92. package/dist/cjs/hooks/useTheme.cjs +17 -4
  93. package/dist/cjs/hooks/useTheme.native.js +18 -4
  94. package/dist/cjs/hooks/useTheme.native.js.map +1 -1
  95. package/dist/cjs/hooks/useThemeName.native.js.map +1 -1
  96. package/dist/cjs/hooks/useThemeState.cjs +132 -67
  97. package/dist/cjs/hooks/useThemeState.native.js +144 -70
  98. package/dist/cjs/hooks/useThemeState.native.js.map +1 -1
  99. package/dist/cjs/index.cjs +2 -0
  100. package/dist/cjs/index.native.js +2 -0
  101. package/dist/cjs/index.native.js.map +1 -1
  102. package/dist/cjs/inject-styles.native.js.map +1 -1
  103. package/dist/cjs/insertFont.native.js.map +1 -1
  104. package/dist/cjs/interfaces/CSSColorNames.native.js.map +1 -1
  105. package/dist/cjs/interfaces/GetRef.native.js.map +1 -1
  106. package/dist/cjs/interfaces/RNExclusiveTypes.native.js.map +1 -1
  107. package/dist/cjs/interfaces/TamaguiComponentEvents.native.js.map +1 -1
  108. package/dist/cjs/interfaces/TamaguiComponentPropsBaseBase.native.js.map +1 -1
  109. package/dist/cjs/opacityModifier.test-d.native.js.map +1 -1
  110. package/dist/cjs/setupHooks.native.js.map +1 -1
  111. package/dist/cjs/setupReactNative.native.js.map +1 -1
  112. package/dist/cjs/styled.native.js.map +1 -1
  113. package/dist/cjs/styledHtml.test-d.native.js.map +1 -1
  114. package/dist/cjs/styledNonStyleProps.test-d.native.js.map +1 -1
  115. package/dist/cjs/type-utils.native.js.map +1 -1
  116. package/dist/cjs/types.native.js.map +1 -1
  117. package/dist/cjs/views/Configuration.native.js.map +1 -1
  118. package/dist/cjs/views/Slot.native.js.map +1 -1
  119. package/dist/cjs/views/TamaguiProvider.native.js.map +1 -1
  120. package/dist/cjs/views/Text.native.js.map +1 -1
  121. package/dist/cjs/views/Theme.cjs +1 -1
  122. package/dist/cjs/views/Theme.native.js +1 -1
  123. package/dist/cjs/views/Theme.native.js.map +1 -1
  124. package/dist/cjs/views/ThemeProvider.native.js.map +1 -1
  125. package/dist/cjs/views/View.native.js.map +1 -1
  126. package/dist/esm/createComponent.mjs +4 -3
  127. package/dist/esm/createComponent.mjs.map +1 -1
  128. package/dist/esm/createComponent.native.js +10 -8
  129. package/dist/esm/createComponent.native.js.map +1 -1
  130. package/dist/esm/eventHandling.mjs +1 -1
  131. package/dist/esm/eventHandling.mjs.map +1 -1
  132. package/dist/esm/eventHandling.native.js +12 -36
  133. package/dist/esm/eventHandling.native.js.map +1 -1
  134. package/dist/esm/helpers/getSplitStyles.mjs +5 -0
  135. package/dist/esm/helpers/getSplitStyles.mjs.map +1 -1
  136. package/dist/esm/helpers/getSplitStyles.native.js +9 -0
  137. package/dist/esm/helpers/getSplitStyles.native.js.map +1 -1
  138. package/dist/esm/helpers/mainThreadPressEvents.native.js +20 -3
  139. package/dist/esm/helpers/mainThreadPressEvents.native.js.map +1 -1
  140. package/dist/esm/helpers/pointerEvents.native.js +26 -20
  141. package/dist/esm/helpers/pointerEvents.native.js.map +1 -1
  142. package/dist/esm/helpers/propMapper.native.js +40 -15
  143. package/dist/esm/helpers/propMapper.native.js.map +1 -1
  144. package/dist/esm/hooks/useComponentState.mjs +26 -2
  145. package/dist/esm/hooks/useComponentState.mjs.map +1 -1
  146. package/dist/esm/hooks/useComponentState.native.js +26 -2
  147. package/dist/esm/hooks/useComponentState.native.js.map +1 -1
  148. package/dist/esm/hooks/useMedia.mjs +108 -43
  149. package/dist/esm/hooks/useMedia.mjs.map +1 -1
  150. package/dist/esm/hooks/useMedia.native.js +150 -61
  151. package/dist/esm/hooks/useMedia.native.js.map +1 -1
  152. package/dist/esm/hooks/useTheme.mjs +17 -4
  153. package/dist/esm/hooks/useTheme.mjs.map +1 -1
  154. package/dist/esm/hooks/useTheme.native.js +18 -4
  155. package/dist/esm/hooks/useTheme.native.js.map +1 -1
  156. package/dist/esm/hooks/useThemeState.mjs +133 -68
  157. package/dist/esm/hooks/useThemeState.mjs.map +1 -1
  158. package/dist/esm/hooks/useThemeState.native.js +145 -71
  159. package/dist/esm/hooks/useThemeState.native.js.map +1 -1
  160. package/dist/esm/index.js +3 -3
  161. package/dist/esm/index.js.map +1 -1
  162. package/dist/esm/index.mjs +3 -3
  163. package/dist/esm/index.mjs.map +1 -1
  164. package/dist/esm/index.native.js +3 -3
  165. package/dist/esm/index.native.js.map +1 -1
  166. package/dist/esm/views/Theme.mjs +1 -1
  167. package/dist/esm/views/Theme.mjs.map +1 -1
  168. package/dist/esm/views/Theme.native.js +1 -1
  169. package/dist/esm/views/Theme.native.js.map +1 -1
  170. package/package.json +13 -13
  171. package/src/createComponent.tsx +18 -7
  172. package/src/eventHandling.native.ts +28 -40
  173. package/src/eventHandling.ts +2 -1
  174. package/src/helpers/getSplitStyles.tsx +33 -0
  175. package/src/helpers/mainThreadPressEvents.native.ts +25 -3
  176. package/src/helpers/pointerEvents.native.ts +26 -19
  177. package/src/helpers/propMapper.ts +23 -0
  178. package/src/hooks/useComponentState.ts +39 -2
  179. package/src/hooks/useMedia.tsx +147 -42
  180. package/src/hooks/useTheme.tsx +27 -5
  181. package/src/hooks/useThemeState.ts +263 -137
  182. package/src/index.ts +7 -1
  183. package/src/types.tsx +53 -5
  184. package/src/views/Theme.tsx +4 -1
  185. package/types/createComponent.d.ts.map +1 -1
  186. package/types/eventHandling.d.ts +1 -1
  187. package/types/eventHandling.d.ts.map +1 -1
  188. package/types/eventHandling.native.d.ts +2 -2
  189. package/types/eventHandling.native.d.ts.map +1 -1
  190. package/types/helpers/getSplitStyles.d.ts.map +1 -1
  191. package/types/helpers/mainThreadPressEvents.native.d.ts.map +1 -1
  192. package/types/helpers/pointerEvents.native.d.ts.map +1 -1
  193. package/types/helpers/propMapper.d.ts.map +1 -1
  194. package/types/hooks/useComponentState.d.ts +1 -1
  195. package/types/hooks/useComponentState.d.ts.map +1 -1
  196. package/types/hooks/useMedia.d.ts.map +1 -1
  197. package/types/hooks/useTheme.d.ts +1 -1
  198. package/types/hooks/useTheme.d.ts.map +1 -1
  199. package/types/hooks/useThemeState.d.ts +1 -1
  200. package/types/hooks/useThemeState.d.ts.map +1 -1
  201. package/types/index.d.ts +2 -2
  202. package/types/index.d.ts.map +1 -1
  203. package/types/types.d.ts +3 -1
  204. package/types/types.d.ts.map +1 -1
  205. package/types/views/Theme.d.ts.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","useIsTouchDevice_exports","__export","useIsTouchDevice","module","exports","import_constants","require","import_use_did_finish_ssr","isWeb","useDidFinishSSR","isTouchable"],"sources":["../../../src/hooks/useIsTouchDevice.tsx"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,wBAAA;AAAAC,QAAA,CAAAD,wBAAA;EAAAE,gBAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAT,YAAmC,CAAAK,wBAAA;AACnC,IAAAK,gBAAA,GAAAC,OAAA,qBAAgC;AAEzB,IAAAC,yBAAyB,GAAMD,OAAA;AACpC,IAAAJ,gBAAQ,YAAAA,CAAA;EACV,QAAAG,gBAAA,CAAAG,KAAA,cAAAD,yBAAA,CAAAE,eAAA,MAAAJ,gBAAA,CAAAK,WAAA","ignoreList":[]}
1
+ {"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value","useIsTouchDevice_exports","useIsTouchDevice","module","exports","import_constants","require","import_use_did_finish_ssr","isWeb","useDidFinishSSR","isTouchable"],"sources":["useIsTouchDevice.native.js"],"sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar useIsTouchDevice_exports = {};\n__export(useIsTouchDevice_exports, {\n useIsTouchDevice: () => useIsTouchDevice\n});\nmodule.exports = __toCommonJS(useIsTouchDevice_exports);\nvar import_constants = require(\"@tamagui/constants\");\nvar import_use_did_finish_ssr = require(\"@tamagui/use-did-finish-ssr\");\nvar useIsTouchDevice = function() {\n return !import_constants.isWeb ? true : (0, import_use_did_finish_ssr.useDidFinishSSR)() ? import_constants.isTouchable : false;\n};\n//# sourceMappingURL=useIsTouchDevice.js.map\n"],"mappings":"AAAA,YAAY;;AACZ,IAAIA,SAAS,GAAGC,MAAM,CAACC,cAAc;AACrC,IAAIC,gBAAgB,GAAGF,MAAM,CAACG,wBAAwB;AACtD,IAAIC,iBAAiB,GAAGJ,MAAM,CAACK,mBAAmB;AAClD,IAAIC,YAAY,GAAGN,MAAM,CAACO,SAAS,CAACC,cAAc;AAClD,IAAIC,QAAQ,GAAGA,CAACC,MAAM,EAAEC,GAAG,KAAK;EAC9B,KAAK,IAAIC,IAAI,IAAID,GAAG,EAClBZ,SAAS,CAACW,MAAM,EAAEE,IAAI,EAAE;IAAEC,GAAG,EAAEF,GAAG,CAACC,IAAI,CAAC;IAAEE,UAAU,EAAE;EAAK,CAAC,CAAC;AACjE,CAAC;AACD,IAAIC,WAAW,GAAGA,CAACC,EAAE,EAAEC,IAAI,EAAEC,MAAM,EAAEC,IAAI,KAAK;EAC5C,IAAIF,IAAI,IAAI,OAAOA,IAAI,KAAK,QAAQ,IAAI,OAAOA,IAAI,KAAK,UAAU,EAAE;IAClE,KAAK,IAAIG,GAAG,IAAIhB,iBAAiB,CAACa,IAAI,CAAC,EACrC,IAAI,CAACX,YAAY,CAACe,IAAI,CAACL,EAAE,EAAEI,GAAG,CAAC,IAAIA,GAAG,KAAKF,MAAM,EAC/CnB,SAAS,CAACiB,EAAE,EAAEI,GAAG,EAAE;MAAEP,GAAG,EAAEA,CAAA,KAAMI,IAAI,CAACG,GAAG,CAAC;MAAEN,UAAU,EAAE,EAAEK,IAAI,GAAGjB,gBAAgB,CAACe,IAAI,EAAEG,GAAG,CAAC,CAAC,IAAID,IAAI,CAACL;IAAW,CAAC,CAAC;EACxH;EACA,OAAOE,EAAE;AACX,CAAC;AACD,IAAIM,YAAY,GAAIC,GAAG,IAAKR,WAAW,CAAChB,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE;EAAEyB,KAAK,EAAE;AAAK,CAAC,CAAC,EAAED,GAAG,CAAC;AAC1F,IAAIE,wBAAwB,GAAG,CAAC,CAAC;AACjChB,QAAQ,CAACgB,wBAAwB,EAAE;EACjCC,gBAAgB,EAAEA,CAAA,KAAMA;AAC1B,CAAC,CAAC;AACFC,MAAM,CAACC,OAAO,GAAGN,YAAY,CAACG,wBAAwB,CAAC;AACvD,IAAII,gBAAgB,GAAGC,OAAO,CAAC,oBAAoB,CAAC;AACpD,IAAIC,yBAAyB,GAAGD,OAAO,CAAC,6BAA6B,CAAC;AACtE,IAAIJ,gBAAgB,GAAG,SAAAA,CAAA,EAAW;EAChC,OAAO,CAACG,gBAAgB,CAACG,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC,EAAED,yBAAyB,CAACE,eAAe,EAAE,CAAC,GAAGJ,gBAAgB,CAACK,WAAW,GAAG,KAAK;AACjI,CAAC","ignoreList":[]}
@@ -77,6 +77,7 @@ const configureMedia = config => {
77
77
  if (!media) return;
78
78
  mediaVersion++;
79
79
  (0, import_createMediaStyle.resetMediaStyleCache)();
80
+ resetMediaTouchTracker();
80
81
  for (const key in media) {
81
82
  (0, import_mediaState.getMedia)()[key] = mediaQueryDefaultActive?.[key] || false;
82
83
  import_mediaState.mediaKeys.add(`$${key}`);
@@ -127,6 +128,33 @@ function updateMediaListeners() {
127
128
  listeners.forEach(cb => cb((0, import_mediaState.getMedia)()));
128
129
  }
129
130
  const States = /* @__PURE__ */new WeakMap();
131
+ let touchTrackerProto = null;
132
+ const refSlot = /* @__PURE__ */Symbol("mediaRefSlot");
133
+ function buildTouchTrackerProto() {
134
+ const proto = {};
135
+ for (const fullKey of import_mediaState.mediaKeys) {
136
+ const key = fullKey[0] === "$" ? fullKey.slice(1) : fullKey;
137
+ proto[key] = {
138
+ enumerable: true,
139
+ configurable: true,
140
+ get() {
141
+ const slot = this[refSlot];
142
+ if (!disableMediaTouch) {
143
+ slot.keys.add(key);
144
+ }
145
+ return slot.proxyTarget[key];
146
+ }
147
+ };
148
+ }
149
+ return Object.create(null, proto);
150
+ }
151
+ function getTouchTrackerProto() {
152
+ if (!touchTrackerProto) touchTrackerProto = buildTouchTrackerProto();
153
+ return touchTrackerProto;
154
+ }
155
+ function resetMediaTouchTracker() {
156
+ touchTrackerProto = null;
157
+ }
130
158
  function setMediaShouldUpdate(ref, enabled, keys) {
131
159
  const cur = States.get(ref);
132
160
  if (!cur || cur.enabled !== enabled || keys) {
@@ -146,60 +174,97 @@ function subscribe(subscriber) {
146
174
  function useMedia(componentContext, debug) {
147
175
  "use no memo";
148
176
 
149
- const componentState = componentContext ? States.get(componentContext) : null;
150
177
  const internalRef = (0, import_react.useRef)(null);
151
178
  if (!internalRef.current) {
152
- internalRef.current = {
179
+ const initial = (0, import_mediaState.getMedia)();
180
+ const r = {
153
181
  keys: /* @__PURE__ */new Set(),
154
- lastState: (0, import_mediaState.getMedia)()
182
+ lastState: initial,
183
+ renderVersion: 0,
184
+ proxyTarget: initial,
185
+ proxy: void 0,
186
+ getSnapshot: void 0,
187
+ componentContext,
188
+ debug
189
+ };
190
+ const tracker = Object.create(getTouchTrackerProto());
191
+ tracker[refSlot] = {
192
+ proxyTarget: initial,
193
+ keys: r.keys
194
+ };
195
+ r.proxy = tracker;
196
+ r.getSnapshot = () => {
197
+ const curKeys = r.componentContext ? States.get(r.componentContext)?.keys || r.keys : r.keys;
198
+ const {
199
+ lastState,
200
+ pendingState
201
+ } = r;
202
+ if (!curKeys.size) {
203
+ return lastState;
204
+ }
205
+ const ms = (0, import_mediaState.getMedia)();
206
+ for (const key of curKeys) {
207
+ if (ms[key] !== (pendingState || lastState)[key]) {
208
+ if (process.env.NODE_ENV === "development" && r.debug) {
209
+ console.warn(`useMedia() \u270D\uFE0F`, key, lastState[key], "=>", ms[key]);
210
+ }
211
+ if (r.componentContext?.mediaEmit) {
212
+ r.componentContext.mediaEmit(ms);
213
+ r.pendingState = ms;
214
+ return lastState;
215
+ }
216
+ r.lastState = ms;
217
+ return ms;
218
+ }
219
+ }
220
+ return lastState;
155
221
  };
222
+ internalRef.current = r;
223
+ } else {
224
+ internalRef.current.componentContext = componentContext;
225
+ internalRef.current.debug = debug;
156
226
  }
157
- if (internalRef.current.pendingState) {
158
- internalRef.current.lastState = internalRef.current.pendingState;
159
- internalRef.current.pendingState = void 0;
227
+ const ref = internalRef.current;
228
+ ref.renderVersion++;
229
+ if (ref.pendingState) {
230
+ ref.lastState = ref.pendingState;
231
+ ref.pendingState = void 0;
160
232
  }
161
- const {
162
- keys
163
- } = internalRef.current;
164
- if (keys.size) {
165
- keys.clear();
233
+ if (ref.keys.size) {
234
+ ref.keys.clear();
166
235
  }
167
- const state = (0, import_react.useSyncExternalStore)(subscribe, () => {
168
- const curKeys = componentState?.keys || keys;
169
- const {
170
- lastState,
171
- pendingState
172
- } = internalRef.current;
173
- if (!curKeys.size) {
174
- return lastState;
175
- }
176
- const ms = (0, import_mediaState.getMedia)();
177
- for (const key of curKeys) {
178
- if (ms[key] !== (pendingState || lastState)[key]) {
179
- if (process.env.NODE_ENV === "development" && debug) {
180
- console.warn(`useMedia() \u270D\uFE0F`, key, lastState[key], "=>", ms[key]);
181
- }
182
- if (componentContext?.mediaEmit) {
183
- componentContext.mediaEmit(ms);
184
- internalRef.current.pendingState = ms;
185
- return lastState;
186
- }
187
- internalRef.current.lastState = ms;
188
- return ms;
236
+ const [, forceUpdate] = (0, import_react.useReducer)(incReducer, 0);
237
+ const state = import_constants.isServer ? initState : ref.getSnapshot();
238
+ ref.proxyTarget = state;
239
+ ref.proxy[refSlot].proxyTarget = state;
240
+ (0, import_react.useEffect)(() => {
241
+ const renderVersion = ref.renderVersion;
242
+ const shouldSubscribe = !ref.componentContext || !!States.get(ref.componentContext)?.enabled;
243
+ if (shouldSubscribe) {
244
+ if (!ref.unsubscribe) {
245
+ ref.unsubscribe = subscribe(() => {
246
+ const next = ref.getSnapshot();
247
+ if (next !== ref.proxyTarget) {
248
+ ref.proxyTarget = next;
249
+ ref.proxy[refSlot].proxyTarget = next;
250
+ forceUpdate();
251
+ }
252
+ });
189
253
  }
254
+ } else if (ref.unsubscribe) {
255
+ ref.unsubscribe();
256
+ ref.unsubscribe = void 0;
190
257
  }
191
- return lastState;
192
- }, getServerSnapshot);
193
- return new Proxy(state, {
194
- get(_, key) {
195
- if (!disableMediaTouch && typeof key === "string") {
196
- keys.add(key);
258
+ return () => {
259
+ if (ref.renderVersion === renderVersion) {
260
+ ref.unsubscribe?.();
261
+ ref.unsubscribe = void 0;
197
262
  }
198
- return Reflect.get(state, key);
199
- }
263
+ };
200
264
  });
265
+ return ref.proxy;
201
266
  }
202
- const getServerSnapshot = () => initState;
267
+ const incReducer = c => c + 1;
203
268
  let disableMediaTouch = false;
204
269
  function _disableMediaTouch(val) {
205
270
  disableMediaTouch = val;
@@ -79,6 +79,7 @@ var configureMedia = function (config) {
79
79
  if (!media) return;
80
80
  mediaVersion++;
81
81
  (0, import_createMediaStyle.resetMediaStyleCache)();
82
+ resetMediaTouchTracker();
82
83
  for (var key in media) {
83
84
  (0, import_mediaState.getMedia)()[key] = (mediaQueryDefaultActive === null || mediaQueryDefaultActive === void 0 ? void 0 : mediaQueryDefaultActive[key]) || false;
84
85
  import_mediaState.mediaKeys.add(`$${key}`);
@@ -136,6 +137,53 @@ function updateMediaListeners() {
136
137
  });
137
138
  }
138
139
  var States = /* @__PURE__ */new WeakMap();
140
+ var touchTrackerProto = null;
141
+ var refSlot = /* @__PURE__ */Symbol("mediaRefSlot");
142
+ function buildTouchTrackerProto() {
143
+ var proto = {};
144
+ var _iteratorNormalCompletion = true,
145
+ _didIteratorError = false,
146
+ _iteratorError = void 0;
147
+ try {
148
+ var _loop = function () {
149
+ var fullKey = _step.value;
150
+ var key = fullKey[0] === "$" ? fullKey.slice(1) : fullKey;
151
+ proto[key] = {
152
+ enumerable: true,
153
+ configurable: true,
154
+ get() {
155
+ var slot = this[refSlot];
156
+ if (!disableMediaTouch) {
157
+ slot.keys.add(key);
158
+ }
159
+ return slot.proxyTarget[key];
160
+ }
161
+ };
162
+ };
163
+ for (var _iterator = import_mediaState.mediaKeys[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) _loop();
164
+ } catch (err) {
165
+ _didIteratorError = true;
166
+ _iteratorError = err;
167
+ } finally {
168
+ try {
169
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
170
+ _iterator.return();
171
+ }
172
+ } finally {
173
+ if (_didIteratorError) {
174
+ throw _iteratorError;
175
+ }
176
+ }
177
+ }
178
+ return Object.create(null, proto);
179
+ }
180
+ function getTouchTrackerProto() {
181
+ if (!touchTrackerProto) touchTrackerProto = buildTouchTrackerProto();
182
+ return touchTrackerProto;
183
+ }
184
+ function resetMediaTouchTracker() {
185
+ touchTrackerProto = null;
186
+ }
139
187
  function setMediaShouldUpdate(ref, enabled, keys) {
140
188
  var cur = States.get(ref);
141
189
  if (!cur || cur.enabled !== enabled || keys) {
@@ -155,80 +203,121 @@ function subscribe(subscriber) {
155
203
  function useMedia(componentContext, debug) {
156
204
  "use no memo";
157
205
 
158
- var componentState = componentContext ? States.get(componentContext) : null;
159
206
  var internalRef = (0, import_react.useRef)(null);
160
207
  if (!internalRef.current) {
161
- internalRef.current = {
208
+ var initial = (0, import_mediaState.getMedia)();
209
+ var r = {
162
210
  keys: /* @__PURE__ */new Set(),
163
- lastState: (0, import_mediaState.getMedia)()
211
+ lastState: initial,
212
+ renderVersion: 0,
213
+ proxyTarget: initial,
214
+ proxy: void 0,
215
+ getSnapshot: void 0,
216
+ componentContext,
217
+ debug
164
218
  };
165
- }
166
- if (internalRef.current.pendingState) {
167
- internalRef.current.lastState = internalRef.current.pendingState;
168
- internalRef.current.pendingState = void 0;
169
- }
170
- var {
171
- keys
172
- } = internalRef.current;
173
- if (keys.size) {
174
- keys.clear();
175
- }
176
- var state = (0, import_react.useSyncExternalStore)(subscribe, function () {
177
- var curKeys = (componentState === null || componentState === void 0 ? void 0 : componentState.keys) || keys;
178
- var {
179
- lastState,
180
- pendingState
181
- } = internalRef.current;
182
- if (!curKeys.size) {
183
- return lastState;
184
- }
185
- var ms = (0, import_mediaState.getMedia)();
186
- var _iteratorNormalCompletion = true,
187
- _didIteratorError = false,
188
- _iteratorError = void 0;
189
- try {
190
- for (var _iterator = curKeys[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
191
- var key = _step.value;
192
- if (ms[key] !== (pendingState || lastState)[key]) {
193
- if (process.env.NODE_ENV === "development" && debug) {
194
- console.warn(`useMedia() \u270D\uFE0F`, key, lastState[key], "=>", ms[key]);
195
- }
196
- if (componentContext === null || componentContext === void 0 ? void 0 : componentContext.mediaEmit) {
197
- componentContext.mediaEmit(ms);
198
- internalRef.current.pendingState = ms;
199
- return lastState;
200
- }
201
- internalRef.current.lastState = ms;
202
- return ms;
203
- }
219
+ var tracker = Object.create(getTouchTrackerProto());
220
+ tracker[refSlot] = {
221
+ proxyTarget: initial,
222
+ keys: r.keys
223
+ };
224
+ r.proxy = tracker;
225
+ r.getSnapshot = function () {
226
+ var _States_get;
227
+ var curKeys = r.componentContext ? ((_States_get = States.get(r.componentContext)) === null || _States_get === void 0 ? void 0 : _States_get.keys) || r.keys : r.keys;
228
+ var {
229
+ lastState,
230
+ pendingState
231
+ } = r;
232
+ if (!curKeys.size) {
233
+ return lastState;
204
234
  }
205
- } catch (err) {
206
- _didIteratorError = true;
207
- _iteratorError = err;
208
- } finally {
235
+ var ms = (0, import_mediaState.getMedia)();
236
+ var _iteratorNormalCompletion = true,
237
+ _didIteratorError = false,
238
+ _iteratorError = void 0;
209
239
  try {
210
- if (!_iteratorNormalCompletion && _iterator.return != null) {
211
- _iterator.return();
240
+ for (var _iterator = curKeys[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
241
+ var key = _step.value;
242
+ if (ms[key] !== (pendingState || lastState)[key]) {
243
+ var _r_componentContext;
244
+ if (process.env.NODE_ENV === "development" && r.debug) {
245
+ console.warn(`useMedia() \u270D\uFE0F`, key, lastState[key], "=>", ms[key]);
246
+ }
247
+ if ((_r_componentContext = r.componentContext) === null || _r_componentContext === void 0 ? void 0 : _r_componentContext.mediaEmit) {
248
+ r.componentContext.mediaEmit(ms);
249
+ r.pendingState = ms;
250
+ return lastState;
251
+ }
252
+ r.lastState = ms;
253
+ return ms;
254
+ }
212
255
  }
256
+ } catch (err) {
257
+ _didIteratorError = true;
258
+ _iteratorError = err;
213
259
  } finally {
214
- if (_didIteratorError) {
215
- throw _iteratorError;
260
+ try {
261
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
262
+ _iterator.return();
263
+ }
264
+ } finally {
265
+ if (_didIteratorError) {
266
+ throw _iteratorError;
267
+ }
216
268
  }
217
269
  }
218
- }
219
- return lastState;
220
- }, getServerSnapshot);
221
- return new Proxy(state, {
222
- get(_, key) {
223
- if (!disableMediaTouch && typeof key === "string") {
224
- keys.add(key);
270
+ return lastState;
271
+ };
272
+ internalRef.current = r;
273
+ } else {
274
+ internalRef.current.componentContext = componentContext;
275
+ internalRef.current.debug = debug;
276
+ }
277
+ var ref = internalRef.current;
278
+ ref.renderVersion++;
279
+ if (ref.pendingState) {
280
+ ref.lastState = ref.pendingState;
281
+ ref.pendingState = void 0;
282
+ }
283
+ if (ref.keys.size) {
284
+ ref.keys.clear();
285
+ }
286
+ var [, forceUpdate] = (0, import_react.useReducer)(incReducer, 0);
287
+ var state = import_constants.isServer ? initState : ref.getSnapshot();
288
+ ref.proxyTarget = state;
289
+ ref.proxy[refSlot].proxyTarget = state;
290
+ (0, import_react.useEffect)(function () {
291
+ var _States_get;
292
+ var renderVersion = ref.renderVersion;
293
+ var shouldSubscribe = !ref.componentContext || !!((_States_get = States.get(ref.componentContext)) === null || _States_get === void 0 ? void 0 : _States_get.enabled);
294
+ if (shouldSubscribe) {
295
+ if (!ref.unsubscribe) {
296
+ ref.unsubscribe = subscribe(function () {
297
+ var next = ref.getSnapshot();
298
+ if (next !== ref.proxyTarget) {
299
+ ref.proxyTarget = next;
300
+ ref.proxy[refSlot].proxyTarget = next;
301
+ forceUpdate();
302
+ }
303
+ });
225
304
  }
226
- return Reflect.get(state, key);
305
+ } else if (ref.unsubscribe) {
306
+ ref.unsubscribe();
307
+ ref.unsubscribe = void 0;
227
308
  }
309
+ return function () {
310
+ if (ref.renderVersion === renderVersion) {
311
+ var _ref_unsubscribe;
312
+ (_ref_unsubscribe = ref.unsubscribe) === null || _ref_unsubscribe === void 0 ? void 0 : _ref_unsubscribe.call(ref);
313
+ ref.unsubscribe = void 0;
314
+ }
315
+ };
228
316
  });
317
+ return ref.proxy;
229
318
  }
230
- var getServerSnapshot = function () {
231
- return initState;
319
+ var incReducer = function (c) {
320
+ return c + 1;
232
321
  };
233
322
  var disableMediaTouch = false;
234
323
  function _disableMediaTouch(val) {
@@ -1 +1 @@
1
- {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","useMedia_exports","__export","_disableMediaTouch","configureMedia","getMediaImportanceIfMoreImportant","getMediaKey","getMediaKeyImportance","getMediaState","isMediaKey","mediaKeyMatch","mediaKeyToQuery","setMediaShouldUpdate","setupMediaListeners","updateMediaListeners","useMedia","module","exports","import_constants","require","import_react","import_config","import_createMediaStyle","import_matchMedia","import_mediaObjectToString","import_mediaState","import_pseudoDescriptors","mediaKeyRegex","key","mediaKeys","has","test","match","initState","mediaKeysOrdered","process","env","NODE_ENV","Error","indexOf","dispose","Set","mediaVersion","config","media","mediaQueryDefaultActive","getSetting","resetMediaStyleCache","getMedia","add","Object","assign","mediaQueryConfig","keys","unlisten","forEach","cb","clear","setupVersion","_loop","key2","str","mediaObjectToString","getMatch","matchMedia","addListener","update","removeListener","next","matches","setMediaState","isWeb","isServer","IS_STATIC","listeners","States","WeakMap","ref","enabled","cur","get","set","subscribe","subscriber","delete","componentContext","debug","componentState","internalRef","useRef","current","lastState","pendingState","size","state","useSyncExternalStore","curKeys","ms","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","done","console","warn","mediaEmit","err","return","getServerSnapshot","Proxy","_","disableMediaTouch","Reflect","val","mediaGroups","layout","res","fromEntries"],"sources":["../../../src/hooks/useMedia.tsx"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,gBAAA;AAAAC,QAAA,CAAAD,gBAAA;EAAAE,kBAAA,EAAAA,CAAA,KAAAA,kBAAA;EAAAC,cAAA,EAAAA,CAAA,KAAAA,cAAA;EAAAC,iCAAA,EAAAA,CAAA,KAAAA,iCAAA;EAAAC,WAAA,EAAAA,CAAA,KAAAA,WAAA;EAAAC,qBAAA,EAAAA,CAAA,KAAAA,qBAAA;EAAAC,aAAA,EAAAA,CAAA,KAAAA,aAAA;EAAAC,UAAA,EAAAA,CAAA,KAAAA,UAAA;EAAAC,aAAA,EAAAA,CAAA,KAAAA,aAAA;EAAAC,eAAA,EAAAA,CAAA,KAAAA,eAAA;EAAAC,oBAAA,EAAAA,CAAA,KAAAA,oBAAA;EAAAC,mBAAA,EAAAA,CAAA,KAAAA,mBAAA;EAAAC,oBAAA,EAAAA,CAAA,KAAAA,oBAAA;EAAAC,QAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAArB,YAAgC,CAAAK,gBAAA;AAChC,IAAAiB,gBAA6C,GAAAC,OAAA;AAC7C,IAAAC,YAAA,GAAAD,OAA2B;AAC3B,IAAAE,aAAA,GAAAF,OAAA,sBAAqC;AACrC,IAAAG,uBAA2B,GAAAH,OAAA;AAC3B,IAAAI,iBAAA,GAAAJ,OAAA,kCAAoC;AACpC,IAAAK,0BAKO,GAAAL,OAAA;AAWP,IAAAM,iBAAA,GAAAN,OAAuC;AAEvC,IAAAO,wBAAsB,GAAAP,OAAA;AAEf,IAAAQ,aAAM,GAAc,2BAAyB;AAClD,IAAAlB,UAAS,GAAM,SAAAA,CAAKmB,GAAO;EAC3B,IAAIA,GAAA,yBAAU;EACd,IAAIH,iBAAc,CAAAI,SAAW,CAAAC,GAAA,CAAOF,GAAA;EACpC,IAAAD,aAAO,CAAAI,IAAA,CAAAH,GAAA;EACT;AAEO;AACL,IAAAtB,WAAS,GAAM,SAAAA,CAAKsB,GAAO;EAC3B,IAAIA,GAAA,yBAAU;EACd,IAAAH,iBAAkB,CAAAI,SAAM,CAAAC,GAAA,CAAAF,GAAa;EACrC,IAAII,KAAA,GAAOJ,GAAA,CAAAI,KAAO,CAAAL,aAAO;EACzB,IAAAK,KAAO,SAAAA,KAAA;EACT;AAGA;AAEA,IAAIC,SAAA;AAEG,IAAAC,gBAAM;AACX,IAAA3B,qBAAgB,YAAAA,CAAaqB,GAAA;EAC3B,IAAAO,OAAM,CAAIC,GAAA,CAAAC,QAAM,kBAAe,IAAAT,GAAA;IACjC,UAAAU,KAAA;EAKA;EACF,OAAAJ,gBAAA,CAAAK,OAAA,CAAAX,GAAA;AAEA;AAEA,IAAIY,OAAA,kBAAe,IAAAC,GAAA;AAEZ,IAAAC,YAAM;AACX,IAAAtC,cAAc,GAAI,SAAAA,CAAAuC,MAAA;EAClB;IAAMC;EAAA,IAAAD,MAAA;EACN,IAAIE,uBAAQ,OAAAxB,aAAA,CAAAyB,UAAA;EACZ,KAAAF,KAAA;EAEAF,YAAA;EACA,IAAApB,uBAAyB,CAAAyB,oBAAA;EACvB,SAAAnB,GAAA,IAAAgB,KAAA;IACA,IAAAnB,iBAAA,CAAAuB,QAAU,EAAI,EAAApB,GAAI,IAAK,CAAAiB,uBAAA,aAAAA,uBAAA,uBAAAA,uBAAA,CAAAjB,GAAA;IACzBH,iBAAA,CAAAI,SAAA,CAAAoB,GAAA,KAAArB,GAAA;EACA;EACAsB,MAAA,CAAAC,MAAY,CAAE1B,iBAAG,CAAA2B,gBAAA,EAASR,KAAE;EAC5BX,SAAA;IACA,OAAAR,iBAAoB,CAAAuB,QAAA;EACtB;EAEAd,gBAAS,GAAWgB,MAAA,CAAAG,IAAA,CAAAT,KAAA;EAClB/B,mBAAiB;AACjB;AACF,SAAAyC,SAAA;EAOAd,OAAI,CAAAe,OAAA,WAAeC,EAAA;IACZ,OAASA,EAAA;EACd;EACAhB,OAAI,CAAAiB,KAAQ;AAGZ;AACA,IAAAC,YAAA,GAAe;AAGf,SAAA7C,mBAASA,CAAA;EAET,IAAA8C,KAAA,GAAW,SAAAA,CAAOC,IAAA;IAchB,IAASC,GAAA,OAATrC,0BAAkB,CAAAsC,mBAAA,EAAArC,iBAAA,CAAA2B,gBAAA,CAAAQ,IAAA;IAChB,IAAAG,QAAM,GAAO,SAAAA,CAAA,EAAW;MACxB,OAAI,IAAAxC,iBAAS,CAAAyC,UAAA,EAAAH,GAAA,CAAS;IACtB;IACA,IAAA7B,KAAA,GAAA+B,QAAA;IACF,KAAA/B,KAAA;MAlBA,MAAM,IAAAM,KAAM;IACZ;IACAN,KAAA,CAAMiC,WAAQ,CAAAC,MAAS;IACvB1B,OAAK,CAAAS,GAAA,CAAO;MACVjB,KAAA,CAAMmC,cAAU,CAAAD,MAAA;IAClB;IAGA,SAAMA,OAAA,EAAY;MAClB,IAAAE,IAAQ,GAAI,EAAAL,QAAM,GAAAM,OAAA;MAChB,IAAAD,IAAM,SAAA3C,iBAAqB,CAAAuB,QAAA,IAAAY,IAAA;MAC5B,IAAAnC,iBAAA,CAAA6C,aAAA;QASD,GAAO,IAAA7C,iBAAA,CAAAuB,QAAA;QACT,CAAAY,IAAA,GAAAQ;MACF;MAEMtD,oBAAY;IAEX;IACLoD,MAAA,EAAU;EACZ;EAOA,IAAMhD,gBAAS,CAAAqD,KAAA,IAAArD,gBAA6B,CAAAsD,QAAA;EAErC,IAAArC,OAAS,CAAAC,GAAA,CAAAqC,SAAA;EAKd,IAAAf,YAAY,KAAOhB,YAAO;EAE1BgB,YAAY,GAAAhB,YAAI;EACdY,QAAA,CAAO;EAAS,KACd,IAAG1B,GAAA,IAAAH,iBAAA,CAAA2B,gBAAA,EAAAO,KAAA,CAAA/B,GAAA;AAAA;AACH,IAAA8C,SACA,sBAAAjC,GAAA;AAAA,SACD3B,qBAAA;EACH4D,SAAA,CAAAnB,OAAA,WAAAC,EAAA;IACF,OAAAA,EAAA,KAAA/B,iBAAA,CAAAuB,QAAA;EAEA;AACE;AACA,IAAA2B,MAAO,kBAAM,IAAAC,OAAA;AACX,SAAAhE,oBAAiBA,CAAAiE,GAAU,EAAAC,OAAA,EAAAzB,IAAA;EAC7B,IAAA0B,GAAA,GAAAJ,MAAA,CAAAK,GAAA,CAAAH,GAAA;EACF,KAAAE,GAAA,IAAAA,GAAA,CAAAD,OAAA,KAAAA,OAAA,IAAAzB,IAAA;IAEOsB,MAAS,CAAAM,GAAA,CAAAJ,GACd;MAGA,GAAAE,GAAA;MAEAD,OAAM;MAENzB;IAKA,EAAI;EACF;AAAsB;AACN,SACd6B,UAAAC,UAAW;EAAST,SACtB,CAAAzB,GAAA,CAAAkC,UAAA;EACF;IAGAT,SAAI,CAAAU,MAAY,CAAAD,UAAQ;EACtB;AACA;AAAmC,SACrCpE,SAAAsE,gBAAA,EAAAC,KAAA;EAEA,aAAa;;EAGb,IAAIC,cAAW,GAAAF,gBAAA,GAAAV,MAAA,CAAAK,GAAA,CAAAK,gBAAA;EACb,IAAAG,WAAW,OAAApE,YAAA,CAAAqE,MAAA;EACb,KAAAD,WAAA,CAAAE,OAAA;IAEAF,WAAM,CAAAE,OAAQ;MACZrC,IAAA,qBAAAZ,GAAA;MACAkD,SAAM,MAAAlE,iBAAA,CAAAuB,QAAA;IACJ;EACA;EAEA,IAAAwC,WAAK,CAAAE,OAAc,CAAAE,YAAA;IACjBJ,WAAO,CAAAE,OAAA,CAAAC,SAAA,GAAAH,WAAA,CAAAE,OAAA,CAAAE,YAAA;IAAAJ,WACT,CAAAE,OAAA,CAAAE,YAAA;EAEA;EACA;IAAAvC;EAAA,IAAWmC,WAAO,CAAAE,OAAS;EACzB,IAAArC,IAAA,CAAAwC,IAAO;IACLxC,IAAA,CAAAI,KAAI;EACF;EAAgE,IAAAqC,KAClE,OAAA1E,YAAA,CAAA2E,oBAAA,EAAAb,SAAA;IAGA,IAAAc,OAAI,IAAAT,cAAkB,aAAWA,cAAA,uBAAAA,cAAA,CAAAlC,IAAA,KAAAA,IAAA;IAC/B;MAAAsC,SAAA;MAAAC;IAAiB,IAAAJ,WAAY,CAAAE,OAAA;IAC7B,KAAAM,OAAA,CAAAH,IAAA;MACA,OAAAF,SAAO;IAAA;IAGT,IAAAM,EAAA,OAAAxE,iBAAqB,CAAAuB,QAAY;IAEjC,IAAAkD,yBAAO;MAAAC,iBAAA;MAAAC,cAAA;IAAA,IACT;MACF,SAAAC,SAAA,GAAAL,OAAA,CAAAM,MAAA,CAAAC,QAAA,KAAAC,KAAA,IAAAN,yBAAA,IAAAM,KAAA,GAAAH,SAAA,CAAAjC,IAAA,IAAAqC,IAAA,GAAAP,yBAAA;QAEA,IAAAtE,GAAO,GAAA4E,KAAA,CAAAxG,KAAA;QACT,IAAAiG,EAAA,CAAArE,GAAA,OAAAgE,YAAA,IAAAD,SAAA,EAAA/D,GAAA;UACA,IAAAO,OAAA,CAAAC,GAAA,CAAAC,QAAA,sBAAAiD,KAAA;YACFoB,OAAA,CAAAC,IAAA,4BAAA/E,GAAA,EAAA+D,SAAA,CAAA/D,GAAA,SAAAqE,EAAA,CAAArE,GAAA;UAEO;UACD,IAAGyD,gBAAK,aAAAA,gBAAA,uBAAAA,gBAAA,CAAAuB,SAAA;YACLvB,gBAAA,CAAAuB,SAAqB,CAAOX,EAAA;YAC/BT,WAAY,CAAAE,OAAA,CAAAE,YAAA,GAAAK,EAAA;YACd,OAAAN,SAAA;UACA;UACFH,WAAA,CAAAE,OAAA,CAAAC,SAAA,GAAAM,EAAA;UACD,OAAAA,EAAA;QACH;MAEM;IAEF,SAAAY,GAAA;MACGV,iBAAS,OAAmB;MACjCC,cAAA,GAAoBS,GAAA;IACtB;MAEO,IAAS;QACd,KAAAX,yBAAoB,IAAAG,SAAA,CAAAS,MAAA;UAChBT,SAAA,CAAAS,MAAA;QACA;MACF,UAAM;QACH,IAAGX,iBAAkB;UACpB,MAAQC,cAAU;QACnB;MACH;IACF;IACE,OAAAT,SAAA;EACF,GAAAoB,iBAAA;EACA,OAAO,IAAAC,KAAA,CAAAlB,KAAA;IACTd,IAAAiC,CAAA,EAAArF,GAAA;MAEa,KAAAsF,iBAAA,WAAAtF,GAAoC,KAC/C,QACA;QAIMyB,IAAA,CAAAJ,GAAA,CAAArB,GAAA,CAAa;MAGnB;MACA,OAAQuF,OAAS,CAAAnC,GAAG,CAAAc,KAAK,EAAAlE,GAAA;IAC3B;EAEA;AAEO;AACL,IAAAmF,iBACE,YAAAA,CAAA,EAAyB;EAG7B,OAAA9E,SAAA;AAEO;AAIL,IAAAiF,iBAAM,GAAe;AACrB,SAAM/G,kBAAgBA,CAAAiH,GAAK;EACzBF,iBAAM,GAAAE,GAAe;AACrB;AACA,SAAA5G,aAAgBA,CAAA6G,WAAM,EAASC,MAAO;EACtCJ,iBAAM,GAAW;EAEjB,IAAAK,GAAA;EACF,IAAC;IACDA,GAAA,GAAOrE,MAAA,CAAAsE,WAAA,EACT,GAAAH,WAAA,C","ignoreList":[]}
1
+ {"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value","useMedia_exports","_disableMediaTouch","configureMedia","getMediaImportanceIfMoreImportant","getMediaKey","getMediaKeyImportance","getMediaState","isMediaKey","mediaKeyMatch","mediaKeyToQuery","setMediaShouldUpdate","setupMediaListeners","updateMediaListeners","useMedia","module","exports","import_constants","require","import_react","import_config","import_createMediaStyle","import_matchMedia","import_mediaObjectToString","import_mediaState","import_pseudoDescriptors","mediaKeyRegex","mediaKeys","has","test","match","initState","mediaKeysOrdered","process","env","NODE_ENV","Error","indexOf","dispose","Set","mediaVersion","config","media","mediaQueryDefaultActive","getSetting","resetMediaStyleCache","resetMediaTouchTracker","getMedia","add","assign","mediaQueryConfig","keys","unlisten","forEach","cb","clear","setupVersion","_loop","key2","str","mediaObjectToString","getMatch","matchMedia","addListener","update","removeListener","next","matches","setMediaState","isWeb","isServer","IS_STATIC","listeners","States","WeakMap","touchTrackerProto","refSlot","Symbol","buildTouchTrackerProto","proto","_iteratorNormalCompletion","_didIteratorError","_iteratorError","fullKey","_step","slice","configurable","slot","disableMediaTouch","proxyTarget","_iterator","iterator","done","err","return","create","getTouchTrackerProto","ref","enabled","cur","set","subscribe","subscriber","delete","componentContext","debug","internalRef","useRef","current","initial","r","lastState","renderVersion","proxy","getSnapshot","tracker","_States_get","curKeys","pendingState","size","ms","_r_componentContext","console","warn","mediaEmit","forceUpdate","useReducer","incReducer","state","useEffect","shouldSubscribe","unsubscribe","_ref_unsubscribe","c","val","mediaGroups","layout","res","fromEntries","map","mediaKey","styleState","isSizeMedia","importance","defaultMediaImportance","usedKeys","cachedMediaKeyToQuery","dimensions","mediaQueries","result","every","query","expectedVal","isMax","startsWith","isWidth","endsWith","givenVal"],"sources":["useMedia.native.js"],"sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar useMedia_exports = {};\n__export(useMedia_exports, {\n _disableMediaTouch: () => _disableMediaTouch,\n configureMedia: () => configureMedia,\n getMediaImportanceIfMoreImportant: () => getMediaImportanceIfMoreImportant,\n getMediaKey: () => getMediaKey,\n getMediaKeyImportance: () => getMediaKeyImportance,\n getMediaState: () => getMediaState,\n isMediaKey: () => isMediaKey,\n mediaKeyMatch: () => mediaKeyMatch,\n mediaKeyToQuery: () => mediaKeyToQuery,\n setMediaShouldUpdate: () => setMediaShouldUpdate,\n setupMediaListeners: () => setupMediaListeners,\n updateMediaListeners: () => updateMediaListeners,\n useMedia: () => useMedia\n});\nmodule.exports = __toCommonJS(useMedia_exports);\nvar import_constants = require(\"@tamagui/constants\");\nvar import_react = require(\"react\");\nvar import_config = require(\"../config\");\nvar import_createMediaStyle = require(\"../helpers/createMediaStyle\");\nvar import_matchMedia = require(\"../helpers/matchMedia\");\nvar import_mediaObjectToString = require(\"../helpers/mediaObjectToString\");\nvar import_mediaState = require(\"../helpers/mediaState\");\nvar import_pseudoDescriptors = require(\"../helpers/pseudoDescriptors\");\nvar mediaKeyRegex = /\\$(platform|theme|group)-/;\nvar isMediaKey = function(key) {\n if (key[0] !== \"$\") return false;\n if (import_mediaState.mediaKeys.has(key)) return true;\n if (mediaKeyRegex.test(key)) return true;\n return false;\n};\nvar getMediaKey = function(key) {\n if (key[0] !== \"$\") return false;\n if (import_mediaState.mediaKeys.has(key)) return true;\n var match = key.match(mediaKeyRegex);\n if (match) return match[1];\n return false;\n};\nvar initState;\nvar mediaKeysOrdered;\nvar getMediaKeyImportance = function(key) {\n if (process.env.NODE_ENV === \"development\" && key[0] === \"$\") {\n throw new Error(\"use short key\");\n }\n return mediaKeysOrdered.indexOf(key) + 100;\n};\nvar dispose = /* @__PURE__ */ new Set();\nvar mediaVersion = 0;\nvar configureMedia = function(config) {\n var { media } = config;\n var mediaQueryDefaultActive = (0, import_config.getSetting)(\"mediaQueryDefaultActive\");\n if (!media) return;\n mediaVersion++;\n (0, import_createMediaStyle.resetMediaStyleCache)();\n resetMediaTouchTracker();\n for (var key in media) {\n (0, import_mediaState.getMedia)()[key] = (mediaQueryDefaultActive === null || mediaQueryDefaultActive === void 0 ? void 0 : mediaQueryDefaultActive[key]) || false;\n import_mediaState.mediaKeys.add(`$${key}`);\n }\n Object.assign(import_mediaState.mediaQueryConfig, media);\n initState = {\n ...(0, import_mediaState.getMedia)()\n };\n mediaKeysOrdered = Object.keys(media);\n setupMediaListeners();\n};\nfunction unlisten() {\n dispose.forEach(function(cb) {\n return cb();\n });\n dispose.clear();\n}\nvar setupVersion = -1;\nfunction setupMediaListeners() {\n var _loop = function(key2) {\n var str = (0, import_mediaObjectToString.mediaObjectToString)(import_mediaState.mediaQueryConfig[key2]);\n var getMatch = function() {\n return (0, import_matchMedia.matchMedia)(str);\n };\n var match = getMatch();\n if (!match) {\n throw new Error(\"\\u26A0\\uFE0F No match\");\n }\n match.addListener(update);\n dispose.add(function() {\n match.removeListener(update);\n });\n function update() {\n var next = !!getMatch().matches;\n if (next === (0, import_mediaState.getMedia)()[key2]) return;\n (0, import_mediaState.setMediaState)({\n ...(0, import_mediaState.getMedia)(),\n [key2]: next\n });\n updateMediaListeners();\n }\n update();\n };\n if (import_constants.isWeb && import_constants.isServer) return;\n if (process.env.IS_STATIC) return;\n if (setupVersion === mediaVersion) return;\n setupVersion = mediaVersion;\n unlisten();\n for (var key in import_mediaState.mediaQueryConfig) _loop(key);\n}\nvar listeners = /* @__PURE__ */ new Set();\nfunction updateMediaListeners() {\n listeners.forEach(function(cb) {\n return cb((0, import_mediaState.getMedia)());\n });\n}\nvar States = /* @__PURE__ */ new WeakMap();\nvar touchTrackerProto = null;\nvar refSlot = /* @__PURE__ */ Symbol(\"mediaRefSlot\");\nfunction buildTouchTrackerProto() {\n var proto = {};\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n var _loop = function() {\n var fullKey = _step.value;\n var key = fullKey[0] === \"$\" ? fullKey.slice(1) : fullKey;\n proto[key] = {\n enumerable: true,\n configurable: true,\n get() {\n var slot = this[refSlot];\n if (!disableMediaTouch) {\n slot.keys.add(key);\n }\n return slot.proxyTarget[key];\n }\n };\n };\n for (var _iterator = import_mediaState.mediaKeys[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) _loop();\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n return Object.create(null, proto);\n}\nfunction getTouchTrackerProto() {\n if (!touchTrackerProto) touchTrackerProto = buildTouchTrackerProto();\n return touchTrackerProto;\n}\nfunction resetMediaTouchTracker() {\n touchTrackerProto = null;\n}\nfunction setMediaShouldUpdate(ref, enabled, keys) {\n var cur = States.get(ref);\n if (!cur || cur.enabled !== enabled || keys) {\n States.set(ref, {\n ...cur,\n enabled,\n keys\n });\n }\n}\nfunction subscribe(subscriber) {\n listeners.add(subscriber);\n return function() {\n listeners.delete(subscriber);\n };\n}\nfunction useMedia(componentContext, debug) {\n \"use no memo\";\n var internalRef = (0, import_react.useRef)(null);\n if (!internalRef.current) {\n var initial = (0, import_mediaState.getMedia)();\n var r = {\n keys: /* @__PURE__ */ new Set(),\n lastState: initial,\n renderVersion: 0,\n proxyTarget: initial,\n proxy: void 0,\n getSnapshot: void 0,\n componentContext,\n debug\n };\n var tracker = Object.create(getTouchTrackerProto());\n tracker[refSlot] = {\n proxyTarget: initial,\n keys: r.keys\n };\n r.proxy = tracker;\n r.getSnapshot = function() {\n var _States_get;\n var curKeys = r.componentContext ? ((_States_get = States.get(r.componentContext)) === null || _States_get === void 0 ? void 0 : _States_get.keys) || r.keys : r.keys;\n var { lastState, pendingState } = r;\n if (!curKeys.size) {\n return lastState;\n }\n var ms = (0, import_mediaState.getMedia)();\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = curKeys[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var key = _step.value;\n if (ms[key] !== (pendingState || lastState)[key]) {\n var _r_componentContext;\n if (process.env.NODE_ENV === \"development\" && r.debug) {\n console.warn(`useMedia() \\u270D\\uFE0F`, key, lastState[key], \"=>\", ms[key]);\n }\n if ((_r_componentContext = r.componentContext) === null || _r_componentContext === void 0 ? void 0 : _r_componentContext.mediaEmit) {\n r.componentContext.mediaEmit(ms);\n r.pendingState = ms;\n return lastState;\n }\n r.lastState = ms;\n return ms;\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n return lastState;\n };\n internalRef.current = r;\n } else {\n internalRef.current.componentContext = componentContext;\n internalRef.current.debug = debug;\n }\n var ref = internalRef.current;\n ref.renderVersion++;\n if (ref.pendingState) {\n ref.lastState = ref.pendingState;\n ref.pendingState = void 0;\n }\n if (ref.keys.size) {\n ref.keys.clear();\n }\n var [, forceUpdate] = (0, import_react.useReducer)(incReducer, 0);\n var state = import_constants.isServer ? initState : ref.getSnapshot();\n ref.proxyTarget = state;\n ref.proxy[refSlot].proxyTarget = state;\n (0, import_react.useEffect)(function() {\n var _States_get;\n var renderVersion = ref.renderVersion;\n var shouldSubscribe = !ref.componentContext || !!((_States_get = States.get(ref.componentContext)) === null || _States_get === void 0 ? void 0 : _States_get.enabled);\n if (shouldSubscribe) {\n if (!ref.unsubscribe) {\n ref.unsubscribe = subscribe(function() {\n var next = ref.getSnapshot();\n if (next !== ref.proxyTarget) {\n ref.proxyTarget = next;\n ref.proxy[refSlot].proxyTarget = next;\n forceUpdate();\n }\n });\n }\n } else if (ref.unsubscribe) {\n ref.unsubscribe();\n ref.unsubscribe = void 0;\n }\n return function() {\n if (ref.renderVersion === renderVersion) {\n var _ref_unsubscribe;\n (_ref_unsubscribe = ref.unsubscribe) === null || _ref_unsubscribe === void 0 ? void 0 : _ref_unsubscribe.call(ref);\n ref.unsubscribe = void 0;\n }\n };\n });\n return ref.proxy;\n}\nvar incReducer = function(c) {\n return c + 1;\n};\nvar disableMediaTouch = false;\nfunction _disableMediaTouch(val) {\n disableMediaTouch = val;\n}\nfunction getMediaState(mediaGroups, layout) {\n disableMediaTouch = true;\n var res;\n try {\n res = Object.fromEntries([\n ...mediaGroups\n ].map(function(mediaKey) {\n return [\n mediaKey,\n mediaKeyMatch(mediaKey, layout)\n ];\n }));\n } finally {\n disableMediaTouch = false;\n }\n return res;\n}\nvar getMediaImportanceIfMoreImportant = function(mediaKey, key, styleState, isSizeMedia) {\n var importance = isSizeMedia ? getMediaKeyImportance(mediaKey) : import_pseudoDescriptors.defaultMediaImportance;\n var usedKeys = styleState.usedKeys;\n return !usedKeys[key] || importance > usedKeys[key] ? importance : null;\n};\nvar cachedMediaKeyToQuery = {};\nfunction mediaKeyToQuery(key) {\n return cachedMediaKeyToQuery[key] || (cachedMediaKeyToQuery[key] = (0, import_mediaObjectToString.mediaObjectToString)(import_mediaState.mediaQueryConfig[key]));\n}\nfunction mediaKeyMatch(key, dimensions) {\n var mediaQueries = import_mediaState.mediaQueryConfig[key];\n var result = Object.keys(mediaQueries).every(function(query) {\n var expectedVal = +mediaQueries[query];\n var isMax = query.startsWith(\"max\");\n var isWidth = query.endsWith(\"Width\");\n var givenVal = dimensions[isWidth ? \"width\" : \"height\"];\n return isMax ? givenVal < expectedVal : givenVal > expectedVal;\n });\n return result;\n}\n//# sourceMappingURL=useMedia.js.map\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","useProps_exports","__export","useProps","usePropsAndStyle","useStyle","module","exports","import_constants","require","import_react","__toESM","import_config","import_ComponentContext","import_GroupContext","import_getSplitStyles","import_subscribeToContextGroup","import_View","import_useComponentState","import_mediaState","import_useMedia","import_useTheme","props","opts","propsOut","styleOut","noExpand","noNormalize","resolveValues","_opts_forComponent","_opts_forComponent_staticConfig","staticConfig","forComponent","View","theme","themeState","useThemeWithState","componentName","name","needsUpdate","componentContext","default","useContext","ComponentContext","groupContext","GroupContext","state","disabled","setStateShallow","useComponentState","animationDriver","getConfig","mediaStateNow","noMedia","mediaState","useMedia","splitStyles","useSplitStyles","isAnimated","noSkip","noMergeStyle","noClass","mediaGroups","pseudoGroups","useIsomorphicLayoutEffect","unmounted","subscribeToContextGroup","Object","keys","join","viewProps","style"],"sources":["../../../src/hooks/useProps.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["__create","Object","create","__defProp","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__getProtoOf","getPrototypeOf","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toESM","mod","isNodeMode","__esModule","value","__toCommonJS","useProps_exports","useProps","usePropsAndStyle","useStyle","module","exports","import_constants","require","import_react","import_config","import_ComponentContext","import_GroupContext","import_getSplitStyles","import_subscribeToContextGroup","import_View","import_useComponentState","import_mediaState","import_useMedia","import_useTheme","props","opts","propsOut","styleOut","noExpand","noNormalize","resolveValues","_opts_forComponent","_opts_forComponent_staticConfig","staticConfig","forComponent","View","theme","themeState","useThemeWithState","componentName","needsUpdate","componentContext","default","useContext","ComponentContext","groupContext","GroupContext","state","disabled","setStateShallow","useComponentState","animationDriver","getConfig","mediaStateNow","noMedia","mediaState","useMedia","splitStyles","useSplitStyles","isAnimated","noSkip","noMergeStyle","noClass","mediaGroups","pseudoGroups","useIsomorphicLayoutEffect","unmounted","subscribeToContextGroup","keys","join","viewProps","style"],"sources":["useProps.native.js"],"sourcesContent":["\"use strict\";\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. \"__esModule\" has not been set), then set\n // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", { value: mod, enumerable: true }) : target,\n mod\n));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar useProps_exports = {};\n__export(useProps_exports, {\n useProps: () => useProps,\n usePropsAndStyle: () => usePropsAndStyle,\n useStyle: () => useStyle\n});\nmodule.exports = __toCommonJS(useProps_exports);\nvar import_constants = require(\"@tamagui/constants\");\nvar import_react = __toESM(require(\"react\"), 1);\nvar import_config = require(\"../config\");\nvar import_ComponentContext = require(\"../contexts/ComponentContext\");\nvar import_GroupContext = require(\"../contexts/GroupContext\");\nvar import_getSplitStyles = require(\"../helpers/getSplitStyles\");\nvar import_subscribeToContextGroup = require(\"../helpers/subscribeToContextGroup\");\nvar import_View = require(\"../views/View\");\nvar import_useComponentState = require(\"./useComponentState\");\nvar import_mediaState = require(\"../helpers/mediaState\");\nvar import_useMedia = require(\"./useMedia\");\nvar import_useTheme = require(\"./useTheme\");\nfunction useProps(props, opts) {\n var [propsOut, styleOut] = usePropsAndStyle(props, {\n ...opts,\n noExpand: true,\n noNormalize: true,\n resolveValues: \"none\"\n });\n return {\n ...propsOut,\n ...styleOut\n };\n}\nfunction useStyle(props, opts) {\n return usePropsAndStyle(props, opts)[1] || {};\n}\nfunction usePropsAndStyle(props, opts) {\n var _opts_forComponent;\n var _opts_forComponent_staticConfig;\n var staticConfig = (_opts_forComponent_staticConfig = opts === null || opts === void 0 ? void 0 : (_opts_forComponent = opts.forComponent) === null || _opts_forComponent === void 0 ? void 0 : _opts_forComponent.staticConfig) !== null && _opts_forComponent_staticConfig !== void 0 ? _opts_forComponent_staticConfig : import_View.View.staticConfig;\n var [theme, themeState] = (0, import_useTheme.useThemeWithState)({\n componentName: staticConfig.componentName,\n name: \"theme\" in props ? props.theme : void 0,\n needsUpdate() {\n return true;\n }\n });\n var componentContext = import_react.default.useContext(import_ComponentContext.ComponentContext);\n var groupContext = import_react.default.useContext(import_GroupContext.GroupContext);\n var { state, disabled, setStateShallow } = (0, import_useComponentState.useComponentState)(props, componentContext.animationDriver, staticConfig, (0, import_config.getConfig)());\n var mediaStateNow = (opts === null || opts === void 0 ? void 0 : opts.noMedia) ? (\n // not safe to use mediaState but really marginal to hit this\n import_mediaState.mediaState\n ) : (0, import_useMedia.useMedia)();\n var splitStyles = (0, import_getSplitStyles.useSplitStyles)(props, staticConfig, theme, (themeState === null || themeState === void 0 ? void 0 : themeState.name) || \"\", state, {\n isAnimated: false,\n mediaState: mediaStateNow,\n noSkip: true,\n noMergeStyle: true,\n noClass: true,\n resolveValues: \"auto\",\n ...opts\n }, null, componentContext, groupContext);\n var { mediaGroups, pseudoGroups } = splitStyles || {};\n (0, import_constants.useIsomorphicLayoutEffect)(function() {\n if (disabled) {\n return;\n }\n if (state.unmounted) {\n setStateShallow({\n unmounted: false\n });\n return;\n }\n if (groupContext) {\n return (0, import_subscribeToContextGroup.subscribeToContextGroup)({\n groupContext,\n setStateShallow,\n mediaGroups,\n pseudoGroups\n });\n }\n }, [\n disabled,\n groupContext,\n pseudoGroups ? Object.keys([\n ...pseudoGroups\n ]).join(\"\") : 0,\n mediaGroups ? Object.keys([\n ...mediaGroups\n ]).join(\"\") : 0\n ]);\n return [\n (splitStyles === null || splitStyles === void 0 ? void 0 : splitStyles.viewProps) || {},\n (splitStyles === null || splitStyles === void 0 ? void 0 : splitStyles.style) || {},\n theme,\n import_mediaState.mediaState\n ];\n}\n//# sourceMappingURL=useProps.js.map\n"],"mappings":"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","ignoreList":[]}
@@ -37,12 +37,25 @@ const useTheme = () => {
37
37
  const res = theme;
38
38
  return res;
39
39
  };
40
- const useThemeWithState = (props, isRoot = false) => {
40
+ const useThemeWithState = (props, isRoot = false, forThemeView = false) => {
41
41
  "use no memo";
42
42
 
43
- const keys = (0, import_react.useRef)(null);
44
- const schemeKeys = (0, import_react.useRef)(null);
45
- const themeState = (0, import_useThemeState.useThemeState)(props, isRoot, keys, schemeKeys);
43
+ const bag = (0, import_react.useRef)(null);
44
+ if (!bag.current) {
45
+ bag.current = {
46
+ keys: {
47
+ current: null
48
+ },
49
+ schemeKeys: {
50
+ current: null
51
+ }
52
+ };
53
+ }
54
+ const {
55
+ keys,
56
+ schemeKeys
57
+ } = bag.current;
58
+ const themeState = (0, import_useThemeState.useThemeState)(props, isRoot, keys, schemeKeys, forThemeView);
46
59
  if (process.env.NODE_ENV === "development") {
47
60
  if (!props.passThrough && !themeState?.theme) {
48
61
  if (process.env.TAMAGUI_DISABLE_NO_THEME_WARNING !== "1") {
@@ -42,10 +42,24 @@ var useTheme = function () {
42
42
  var useThemeWithState = function (props) {
43
43
  "use no memo";
44
44
 
45
- var isRoot = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false;
46
- var keys = (0, import_react.useRef)(null);
47
- var schemeKeys = (0, import_react.useRef)(null);
48
- var themeState = (0, import_useThemeState.useThemeState)(props, isRoot, keys, schemeKeys);
45
+ var isRoot = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false,
46
+ forThemeView = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : false;
47
+ var bag = (0, import_react.useRef)(null);
48
+ if (!bag.current) {
49
+ bag.current = {
50
+ keys: {
51
+ current: null
52
+ },
53
+ schemeKeys: {
54
+ current: null
55
+ }
56
+ };
57
+ }
58
+ var {
59
+ keys,
60
+ schemeKeys
61
+ } = bag.current;
62
+ var themeState = (0, import_useThemeState.useThemeState)(props, isRoot, keys, schemeKeys, forThemeView);
49
63
  if (process.env.NODE_ENV === "development") {
50
64
  if (!props.passThrough && !(themeState === null || themeState === void 0 ? void 0 : themeState.theme)) {
51
65
  if (process.env.TAMAGUI_DISABLE_NO_THEME_WARNING !== "1") {