@tamagui/web 2.3.2 → 2.3.3-1782462397214
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.turbo/turbo-build.log +1 -1
- package/dist/cjs/createComponent.cjs +16 -6
- package/dist/cjs/createComponent.native.js +17 -7
- package/dist/cjs/createComponent.native.js.map +1 -1
- package/dist/cjs/helpers/getSplitStyles.cjs +5 -0
- package/dist/cjs/helpers/getSplitStyles.native.js +9 -0
- package/dist/cjs/helpers/getSplitStyles.native.js.map +1 -1
- package/dist/cjs/helpers/pointerEvents.native.js +26 -20
- package/dist/cjs/helpers/pointerEvents.native.js.map +1 -1
- package/dist/cjs/hooks/useMedia.cjs +107 -42
- package/dist/cjs/hooks/useMedia.native.js +149 -60
- package/dist/cjs/hooks/useMedia.native.js.map +1 -1
- package/dist/cjs/hooks/useTheme.cjs +17 -4
- package/dist/cjs/hooks/useTheme.native.js +18 -4
- package/dist/cjs/hooks/useTheme.native.js.map +1 -1
- package/dist/cjs/hooks/useThemeState.cjs +129 -63
- package/dist/cjs/hooks/useThemeState.native.js +142 -66
- package/dist/cjs/hooks/useThemeState.native.js.map +1 -1
- package/dist/cjs/index.cjs +2 -0
- package/dist/cjs/index.native.js +2 -0
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/views/Theme.cjs +1 -1
- package/dist/cjs/views/Theme.native.js +1 -1
- package/dist/cjs/views/Theme.native.js.map +1 -1
- package/dist/esm/createComponent.mjs +16 -6
- package/dist/esm/createComponent.mjs.map +1 -1
- package/dist/esm/createComponent.native.js +19 -9
- package/dist/esm/createComponent.native.js.map +1 -1
- package/dist/esm/helpers/getSplitStyles.mjs +5 -0
- package/dist/esm/helpers/getSplitStyles.mjs.map +1 -1
- package/dist/esm/helpers/getSplitStyles.native.js +9 -0
- package/dist/esm/helpers/getSplitStyles.native.js.map +1 -1
- package/dist/esm/helpers/pointerEvents.native.js +26 -20
- package/dist/esm/helpers/pointerEvents.native.js.map +1 -1
- package/dist/esm/hooks/useMedia.mjs +108 -43
- package/dist/esm/hooks/useMedia.mjs.map +1 -1
- package/dist/esm/hooks/useMedia.native.js +150 -61
- package/dist/esm/hooks/useMedia.native.js.map +1 -1
- package/dist/esm/hooks/useTheme.mjs +17 -4
- package/dist/esm/hooks/useTheme.mjs.map +1 -1
- package/dist/esm/hooks/useTheme.native.js +18 -4
- package/dist/esm/hooks/useTheme.native.js.map +1 -1
- package/dist/esm/hooks/useThemeState.mjs +130 -64
- package/dist/esm/hooks/useThemeState.mjs.map +1 -1
- package/dist/esm/hooks/useThemeState.native.js +143 -67
- package/dist/esm/hooks/useThemeState.native.js.map +1 -1
- package/dist/esm/index.js +3 -3
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/index.mjs +3 -3
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/index.native.js +3 -3
- package/dist/esm/index.native.js.map +1 -1
- package/dist/esm/views/Theme.mjs +1 -1
- package/dist/esm/views/Theme.mjs.map +1 -1
- package/dist/esm/views/Theme.native.js +1 -1
- package/dist/esm/views/Theme.native.js.map +1 -1
- package/package.json +13 -13
- package/src/createComponent.tsx +48 -5
- package/src/helpers/getSplitStyles.tsx +33 -0
- package/src/helpers/pointerEvents.native.ts +26 -19
- package/src/hooks/useMedia.tsx +147 -42
- package/src/hooks/useTheme.tsx +27 -5
- package/src/hooks/useThemeState.ts +255 -127
- package/src/index.ts +7 -1
- package/src/types.tsx +49 -5
- package/src/views/Theme.tsx +4 -1
- package/types/createComponent.d.ts.map +1 -1
- package/types/helpers/getSplitStyles.d.ts.map +1 -1
- package/types/helpers/pointerEvents.native.d.ts.map +1 -1
- package/types/hooks/useMedia.d.ts.map +1 -1
- package/types/hooks/useTheme.d.ts +1 -1
- package/types/hooks/useTheme.d.ts.map +1 -1
- package/types/hooks/useThemeState.d.ts +1 -1
- package/types/hooks/useThemeState.d.ts.map +1 -1
- package/types/index.d.ts +2 -2
- package/types/index.d.ts.map +1 -1
- package/types/types.d.ts +2 -1
- package/types/types.d.ts.map +1 -1
- package/types/views/Theme.d.ts.map +1 -1
|
@@ -39,13 +39,19 @@ function usePointerEvents(props, viewProps) {
|
|
|
39
39
|
onPointerLeave
|
|
40
40
|
} = props;
|
|
41
41
|
var hasPointerEvents = onPointerDown || onPointerUp || onPointerMove || onPointerCancel || onPointerEnter || onPointerLeave;
|
|
42
|
-
var
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
42
|
+
var ref = (0, import_react.useRef)(null);
|
|
43
|
+
if (!ref.current) {
|
|
44
|
+
ref.current = {
|
|
45
|
+
isInside: false,
|
|
46
|
+
layout: {
|
|
47
|
+
width: 0,
|
|
48
|
+
height: 0
|
|
49
|
+
},
|
|
50
|
+
isCaptured: false
|
|
51
|
+
};
|
|
52
|
+
}
|
|
48
53
|
if (!hasPointerEvents) return;
|
|
54
|
+
var bag = ref.current;
|
|
49
55
|
var createNormalizedEvent = function (e) {
|
|
50
56
|
var touch = e.nativeEvent;
|
|
51
57
|
var _touch_identifier;
|
|
@@ -62,10 +68,10 @@ function usePointerEvents(props, viewProps) {
|
|
|
62
68
|
nativeEvent: touch,
|
|
63
69
|
target: {
|
|
64
70
|
setPointerCapture: function (_pointerId) {
|
|
65
|
-
|
|
71
|
+
bag.isCaptured = true;
|
|
66
72
|
},
|
|
67
73
|
releasePointerCapture: function (_pointerId) {
|
|
68
|
-
|
|
74
|
+
bag.isCaptured = false;
|
|
69
75
|
}
|
|
70
76
|
}
|
|
71
77
|
};
|
|
@@ -78,7 +84,7 @@ function usePointerEvents(props, viewProps) {
|
|
|
78
84
|
}
|
|
79
85
|
if (onPointerUp) {
|
|
80
86
|
viewProps.onTouchEnd = (0, import_helpers.composeEventHandlers)(viewProps.onTouchEnd, function (e) {
|
|
81
|
-
|
|
87
|
+
bag.isCaptured = false;
|
|
82
88
|
onPointerUp(createNormalizedEvent(e));
|
|
83
89
|
});
|
|
84
90
|
}
|
|
@@ -91,22 +97,22 @@ function usePointerEvents(props, viewProps) {
|
|
|
91
97
|
var {
|
|
92
98
|
width,
|
|
93
99
|
height
|
|
94
|
-
} =
|
|
100
|
+
} = bag.layout;
|
|
95
101
|
var isInBounds = locationX >= 0 && locationX <= width && locationY >= 0 && locationY <= height;
|
|
96
|
-
if (
|
|
102
|
+
if (bag.isCaptured || isInBounds) {
|
|
97
103
|
onPointerMove(createNormalizedEvent(e));
|
|
98
104
|
}
|
|
99
105
|
});
|
|
100
106
|
}
|
|
101
107
|
if (onPointerCancel) {
|
|
102
108
|
viewProps.onTouchCancel = (0, import_helpers.composeEventHandlers)(viewProps.onTouchCancel, function (e) {
|
|
103
|
-
|
|
109
|
+
bag.isCaptured = false;
|
|
104
110
|
onPointerCancel(createNormalizedEvent(e));
|
|
105
111
|
});
|
|
106
112
|
}
|
|
107
113
|
if (onPointerEnter || onPointerLeave || onPointerMove) {
|
|
108
114
|
viewProps.onLayout = (0, import_helpers.composeEventHandlers)(viewProps.onLayout, function (e) {
|
|
109
|
-
|
|
115
|
+
bag.layout = {
|
|
110
116
|
width: e.nativeEvent.layout.width,
|
|
111
117
|
height: e.nativeEvent.layout.height
|
|
112
118
|
};
|
|
@@ -121,9 +127,9 @@ function usePointerEvents(props, viewProps) {
|
|
|
121
127
|
var {
|
|
122
128
|
width,
|
|
123
129
|
height
|
|
124
|
-
} =
|
|
130
|
+
} = bag.layout;
|
|
125
131
|
if (locationX >= 0 && locationX <= width && locationY >= 0 && locationY <= height) {
|
|
126
|
-
|
|
132
|
+
bag.isInside = true;
|
|
127
133
|
onPointerEnter(createNormalizedEvent(e));
|
|
128
134
|
}
|
|
129
135
|
});
|
|
@@ -137,16 +143,16 @@ function usePointerEvents(props, viewProps) {
|
|
|
137
143
|
var {
|
|
138
144
|
width,
|
|
139
145
|
height
|
|
140
|
-
} =
|
|
146
|
+
} = bag.layout;
|
|
141
147
|
var isInside = locationX >= 0 && locationX <= width && locationY >= 0 && locationY <= height;
|
|
142
|
-
if (
|
|
143
|
-
|
|
148
|
+
if (bag.isInside && !isInside) {
|
|
149
|
+
bag.isInside = false;
|
|
144
150
|
onPointerLeave(createNormalizedEvent(e));
|
|
145
151
|
}
|
|
146
152
|
});
|
|
147
153
|
viewProps.onTouchEnd = (0, import_helpers.composeEventHandlers)(viewProps.onTouchEnd, function (e) {
|
|
148
|
-
if (
|
|
149
|
-
|
|
154
|
+
if (bag.isInside) {
|
|
155
|
+
bag.isInside = false;
|
|
150
156
|
onPointerLeave(createNormalizedEvent(e));
|
|
151
157
|
}
|
|
152
158
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["pointerEvents_native_exports","__export","usePointerEvents","module","exports","__toCommonJS","import_react","require","import_helpers","props","viewProps","onPointerDown","onPointerUp","onPointerMove","onPointerCancel","onPointerEnter","onPointerLeave","hasPointerEvents","
|
|
1
|
+
{"version":3,"names":["pointerEvents_native_exports","__export","usePointerEvents","module","exports","__toCommonJS","import_react","require","import_helpers","props","viewProps","onPointerDown","onPointerUp","onPointerMove","onPointerCancel","onPointerEnter","onPointerLeave","hasPointerEvents","ref","useRef","current","isInside","layout","width","height","isCaptured","bag","createNormalizedEvent","e","touch","nativeEvent","_touch_identifier","normalized","clientX","pageX","clientY","pageY","offsetX","locationX","offsetY","locationY","pointerType","pointerId","identifier","target","setPointerCapture","_pointerId","releasePointerCapture","onTouchStart","composeEventHandlers","onTouchEnd","onTouchMove","isInBounds","onTouchCancel","onLayout"],"sources":["../../../src/helpers/pointerEvents.native.ts"],"sourcesContent":[null],"mappings":"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","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
|
-
|
|
179
|
+
const initial = (0, import_mediaState.getMedia)();
|
|
180
|
+
const r = {
|
|
153
181
|
keys: /* @__PURE__ */new Set(),
|
|
154
|
-
lastState:
|
|
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
|
-
|
|
158
|
-
|
|
159
|
-
|
|
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
|
-
|
|
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
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
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
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
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
|
-
|
|
199
|
-
}
|
|
263
|
+
};
|
|
200
264
|
});
|
|
265
|
+
return ref.proxy;
|
|
201
266
|
}
|
|
202
|
-
const
|
|
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
|
-
|
|
208
|
+
var initial = (0, import_mediaState.getMedia)();
|
|
209
|
+
var r = {
|
|
162
210
|
keys: /* @__PURE__ */new Set(),
|
|
163
|
-
lastState:
|
|
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
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
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
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
235
|
+
var ms = (0, import_mediaState.getMedia)();
|
|
236
|
+
var _iteratorNormalCompletion = true,
|
|
237
|
+
_didIteratorError = false,
|
|
238
|
+
_iteratorError = void 0;
|
|
209
239
|
try {
|
|
210
|
-
|
|
211
|
-
|
|
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
|
-
|
|
215
|
-
|
|
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
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
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
|
-
|
|
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
|
|
231
|
-
return
|
|
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","
|
|
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","resetMediaTouchTracker","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","touchTrackerProto","refSlot","Symbol","buildTouchTrackerProto","proto","_iteratorNormalCompletion","_didIteratorError","_iteratorError","fullKey","_step","slice","enumerable","configurable","get","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"],"sources":["../../../src/hooks/useMedia.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|