@tamagui/react-native-media-driver 2.7.7 → 3.0.0-beta.1093.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/index.cjs +9 -12
- package/dist/cjs/index.native.cjs +20 -0
- package/dist/cjs/index.native.js +9 -11
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/matchMedia.cjs +14 -18
- package/dist/cjs/matchMedia.native.cjs +29 -0
- package/dist/cjs/matchMedia.native.js +16 -19
- package/dist/cjs/matchMedia.native.js.map +1 -1
- package/dist/cjs/matchQuery.cjs +114 -132
- package/dist/cjs/matchQuery.native.cjs +144 -0
- package/dist/cjs/matchQuery.native.js +116 -133
- package/dist/cjs/matchQuery.native.js.map +1 -1
- package/dist/cjs/mediaQueryList.native.cjs +179 -0
- package/dist/cjs/mediaQueryList.native.js +159 -112
- package/dist/cjs/mediaQueryList.native.js.map +1 -1
- package/dist/esm/index.js +1 -3
- package/dist/esm/index.mjs +1 -3
- package/dist/esm/index.native.js +1 -3
- package/dist/esm/matchMedia.mjs +1 -0
- package/dist/esm/matchMedia.mjs.map +1 -1
- package/dist/esm/matchMedia.native.js +4 -2
- package/dist/esm/matchMedia.native.js.map +1 -1
- package/dist/esm/matchQuery.mjs +100 -115
- package/dist/esm/matchQuery.mjs.map +1 -1
- package/dist/esm/matchQuery.native.js +102 -117
- package/dist/esm/matchQuery.native.js.map +1 -1
- package/dist/esm/mediaQueryList.native.js +146 -94
- package/dist/esm/mediaQueryList.native.js.map +1 -1
- package/package.json +7 -4
- package/src/index.ts +0 -1
- package/src/matchMedia.native.ts +1 -1
- package/src/mediaQueryList.native.ts +115 -0
- package/types/index.d.ts +0 -1
- package/types/index.d.ts.map +2 -2
- package/types/matchMedia.native.d.ts.map +1 -1
- package/types/{mediaQueryList.d.ts → mediaQueryList.native.d.ts} +3 -3
- package/types/mediaQueryList.native.d.ts.map +11 -0
- package/dist/cjs/createMedia.cjs +0 -33
- package/dist/cjs/createMedia.native.js +0 -36
- package/dist/cjs/createMedia.native.js.map +0 -1
- package/dist/cjs/mediaQueryList.cjs +0 -78
- package/dist/esm/createMedia.mjs +0 -8
- package/dist/esm/createMedia.mjs.map +0 -1
- package/dist/esm/createMedia.native.js +0 -8
- package/dist/esm/createMedia.native.js.map +0 -1
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/index.mjs.map +0 -1
- package/dist/esm/index.native.js.map +0 -1
- package/dist/esm/mediaQueryList.mjs +0 -53
- package/dist/esm/mediaQueryList.mjs.map +0 -1
- package/src/createMedia.ts +0 -19
- package/src/mediaQueryList.ts +0 -60
- package/types/createMedia.d.ts +0 -10
- package/types/createMedia.d.ts.map +0 -11
- package/types/mediaQueryList.d.ts.map +0 -11
|
@@ -5,130 +5,177 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
|
5
5
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
6
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
7
|
var __export = (target, all) => {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
8
|
+
for (var name in all) __defProp(target, name, {
|
|
9
|
+
get: all[name],
|
|
10
|
+
enumerable: true
|
|
11
|
+
});
|
|
12
12
|
};
|
|
13
13
|
var __copyProps = (to, from, except, desc) => {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
14
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
15
|
+
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
16
|
+
get: () => from[key],
|
|
17
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
return to;
|
|
21
21
|
};
|
|
22
|
-
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
__export(mediaQueryList_exports, {
|
|
27
|
-
NativeMediaQueryList: () => NativeMediaQueryList
|
|
28
|
-
});
|
|
29
|
-
module.exports = __toCommonJS(mediaQueryList_exports);
|
|
22
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
23
|
+
var mediaQueryList_native_exports = {};
|
|
24
|
+
__export(mediaQueryList_native_exports, { NativeMediaQueryList: () => NativeMediaQueryList });
|
|
25
|
+
module.exports = __toCommonJS(mediaQueryList_native_exports);
|
|
30
26
|
var import_react_native = require("react-native");
|
|
31
27
|
var import_matchQuery = require("./matchQuery.native.js");
|
|
32
28
|
function _class_call_check(instance, Constructor) {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
29
|
+
if (!(instance instanceof Constructor)) {
|
|
30
|
+
throw new TypeError("Cannot call a class as a function");
|
|
31
|
+
}
|
|
36
32
|
}
|
|
37
33
|
function _defineProperties(target, props) {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
34
|
+
for (var i = 0; i < props.length; i++) {
|
|
35
|
+
var descriptor = props[i];
|
|
36
|
+
descriptor.enumerable = descriptor.enumerable || false;
|
|
37
|
+
descriptor.configurable = true;
|
|
38
|
+
if ("value" in descriptor) descriptor.writable = true;
|
|
39
|
+
Object.defineProperty(target, descriptor.key, descriptor);
|
|
40
|
+
}
|
|
45
41
|
}
|
|
46
42
|
function _create_class(Constructor, protoProps, staticProps) {
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
43
|
+
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
44
|
+
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
45
|
+
return Constructor;
|
|
50
46
|
}
|
|
51
47
|
function _define_property(obj, key, value) {
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
48
|
+
if (key in obj) {
|
|
49
|
+
Object.defineProperty(obj, key, {
|
|
50
|
+
value,
|
|
51
|
+
enumerable: true,
|
|
52
|
+
configurable: true,
|
|
53
|
+
writable: true
|
|
54
|
+
});
|
|
55
|
+
} else {
|
|
56
|
+
obj[key] = value;
|
|
57
|
+
}
|
|
58
|
+
return obj;
|
|
63
59
|
}
|
|
64
|
-
var
|
|
65
|
-
|
|
60
|
+
var REDUCED_MOTION_RE = /\(\s*prefers-reduced-motion\s*:\s*([a-z-]+)\s*\)/i;
|
|
61
|
+
var reducedMotionEnabled = false;
|
|
62
|
+
var reducedMotionInitialized = false;
|
|
63
|
+
var reducedMotionListeners = /* @__PURE__ */ new Set();
|
|
64
|
+
function ensureReducedMotionSubscription() {
|
|
65
|
+
var _AccessibilityInfo_isReduceMotionEnabled, _AccessibilityInfo_addEventListener;
|
|
66
|
+
if (reducedMotionInitialized) return;
|
|
67
|
+
reducedMotionInitialized = true;
|
|
68
|
+
(_AccessibilityInfo_isReduceMotionEnabled = import_react_native.AccessibilityInfo.isReduceMotionEnabled) === null || _AccessibilityInfo_isReduceMotionEnabled === void 0 ? void 0 : _AccessibilityInfo_isReduceMotionEnabled.call(import_react_native.AccessibilityInfo).then(function(value) {
|
|
69
|
+
if (value !== reducedMotionEnabled) {
|
|
70
|
+
reducedMotionEnabled = value;
|
|
71
|
+
reducedMotionListeners.forEach(function(cb) {
|
|
72
|
+
return cb();
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
}).catch(function() {});
|
|
76
|
+
(_AccessibilityInfo_addEventListener = import_react_native.AccessibilityInfo.addEventListener) === null || _AccessibilityInfo_addEventListener === void 0 ? void 0 : _AccessibilityInfo_addEventListener.call(import_react_native.AccessibilityInfo, "reduceMotionChanged", function(value) {
|
|
77
|
+
if (value === reducedMotionEnabled) return;
|
|
78
|
+
reducedMotionEnabled = value;
|
|
79
|
+
reducedMotionListeners.forEach(function(cb) {
|
|
80
|
+
return cb();
|
|
81
|
+
});
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
var NativeMediaQueryList = /* @__PURE__ */ (function() {
|
|
85
|
+
"use strict";
|
|
86
|
+
function NativeMediaQueryList2(query) {
|
|
87
|
+
var _this = this;
|
|
88
|
+
_class_call_check(this, NativeMediaQueryList2);
|
|
89
|
+
_define_property(this, "query", void 0);
|
|
90
|
+
_define_property(this, "listeners", void 0);
|
|
91
|
+
_define_property(this, "reducedMotionExpected", void 0);
|
|
92
|
+
this.query = query;
|
|
93
|
+
this.listeners = [];
|
|
94
|
+
this.reducedMotionExpected = null;
|
|
95
|
+
var reducedMotionMatch = query.match(REDUCED_MOTION_RE);
|
|
96
|
+
if (reducedMotionMatch) {
|
|
97
|
+
this.reducedMotionExpected = reducedMotionMatch[1];
|
|
98
|
+
ensureReducedMotionSubscription();
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
this.notify();
|
|
102
|
+
import_react_native.Dimensions.addEventListener("change", function() {
|
|
103
|
+
_this.notify();
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
_create_class(NativeMediaQueryList2, [
|
|
107
|
+
{
|
|
108
|
+
key: "orientation",
|
|
109
|
+
get: function get() {
|
|
110
|
+
var windowDimensions = import_react_native.Dimensions.get("window");
|
|
111
|
+
return windowDimensions.height > windowDimensions.width ? "portrait" : "landscape";
|
|
112
|
+
}
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
key: "notify",
|
|
116
|
+
value: function notify() {
|
|
117
|
+
this.listeners.forEach(function(listener) {
|
|
118
|
+
listener();
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
key: "addListener",
|
|
124
|
+
value: function addListener(listener) {
|
|
125
|
+
if (this.reducedMotionExpected) {
|
|
126
|
+
reducedMotionListeners.add(listener);
|
|
127
|
+
this.listeners.push(listener);
|
|
128
|
+
return;
|
|
129
|
+
}
|
|
130
|
+
this.listeners.push(listener);
|
|
131
|
+
}
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
key: "removeListener",
|
|
135
|
+
value: function removeListener(listener) {
|
|
136
|
+
if (this.reducedMotionExpected) {
|
|
137
|
+
reducedMotionListeners.delete(listener);
|
|
138
|
+
}
|
|
139
|
+
var index = this.listeners.indexOf(listener);
|
|
140
|
+
if (index !== -1) this.listeners.splice(index, 1);
|
|
141
|
+
}
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
key: "match",
|
|
145
|
+
value: function match(query, param) {
|
|
146
|
+
var { width, height } = param;
|
|
147
|
+
var reducedMotionMatch = query.match(REDUCED_MOTION_RE);
|
|
148
|
+
if (reducedMotionMatch) {
|
|
149
|
+
var expected = reducedMotionMatch[1];
|
|
150
|
+
return expected === "reduce" ? reducedMotionEnabled : !reducedMotionEnabled;
|
|
151
|
+
}
|
|
152
|
+
return (0, import_matchQuery.matchQuery)(query, {
|
|
153
|
+
type: "screen",
|
|
154
|
+
orientation: height > width ? "portrait" : "landscape",
|
|
155
|
+
"device-width": width,
|
|
156
|
+
"device-height": height
|
|
157
|
+
});
|
|
158
|
+
}
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
key: "matches",
|
|
162
|
+
get: function get() {
|
|
163
|
+
if (this.reducedMotionExpected) {
|
|
164
|
+
return this.reducedMotionExpected === "reduce" ? reducedMotionEnabled : !reducedMotionEnabled;
|
|
165
|
+
}
|
|
166
|
+
var windowDimensions = import_react_native.Dimensions.get("window");
|
|
167
|
+
var matches = (0, import_matchQuery.matchQuery)(this.query, {
|
|
168
|
+
type: "screen",
|
|
169
|
+
orientation: this.orientation,
|
|
170
|
+
...windowDimensions,
|
|
171
|
+
"device-width": windowDimensions.width,
|
|
172
|
+
"device-height": windowDimensions.height
|
|
173
|
+
});
|
|
174
|
+
return matches;
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
]);
|
|
178
|
+
return NativeMediaQueryList2;
|
|
179
|
+
})();
|
|
66
180
|
|
|
67
|
-
function NativeMediaQueryList2(query) {
|
|
68
|
-
var _this = this;
|
|
69
|
-
_class_call_check(this, NativeMediaQueryList2);
|
|
70
|
-
_define_property(this, "query", void 0);
|
|
71
|
-
_define_property(this, "listeners", void 0);
|
|
72
|
-
this.query = query;
|
|
73
|
-
this.listeners = [];
|
|
74
|
-
this.notify();
|
|
75
|
-
import_react_native.Dimensions.addEventListener("change", function () {
|
|
76
|
-
_this.notify();
|
|
77
|
-
});
|
|
78
|
-
}
|
|
79
|
-
_create_class(NativeMediaQueryList2, [{
|
|
80
|
-
key: "orientation",
|
|
81
|
-
get: function get() {
|
|
82
|
-
var windowDimensions = import_react_native.Dimensions.get("window");
|
|
83
|
-
return windowDimensions.height > windowDimensions.width ? "portrait" : "landscape";
|
|
84
|
-
}
|
|
85
|
-
}, {
|
|
86
|
-
key: "notify",
|
|
87
|
-
value: function notify() {
|
|
88
|
-
var _this = this;
|
|
89
|
-
this.listeners.forEach(function (listener) {
|
|
90
|
-
listener(_this.orientation);
|
|
91
|
-
});
|
|
92
|
-
}
|
|
93
|
-
}, {
|
|
94
|
-
key: "addListener",
|
|
95
|
-
value: function addListener(listener) {
|
|
96
|
-
this.listeners.push(listener);
|
|
97
|
-
}
|
|
98
|
-
}, {
|
|
99
|
-
key: "removeListener",
|
|
100
|
-
value: function removeListener(listener) {
|
|
101
|
-
var index = this.listeners.indexOf(listener);
|
|
102
|
-
if (index !== -1) this.listeners.splice(index, 1);
|
|
103
|
-
}
|
|
104
|
-
}, {
|
|
105
|
-
key: "match",
|
|
106
|
-
value: function match(query, param) {
|
|
107
|
-
var {
|
|
108
|
-
width,
|
|
109
|
-
height
|
|
110
|
-
} = param;
|
|
111
|
-
return (0, import_matchQuery.matchQuery)(query, {
|
|
112
|
-
type: "screen",
|
|
113
|
-
orientation: height > width ? "portrait" : "landscape",
|
|
114
|
-
"device-width": width,
|
|
115
|
-
"device-height": height
|
|
116
|
-
});
|
|
117
|
-
}
|
|
118
|
-
}, {
|
|
119
|
-
key: "matches",
|
|
120
|
-
get: function get() {
|
|
121
|
-
var windowDimensions = import_react_native.Dimensions.get("window");
|
|
122
|
-
var matches = (0, import_matchQuery.matchQuery)(this.query, {
|
|
123
|
-
type: "screen",
|
|
124
|
-
orientation: this.orientation,
|
|
125
|
-
...windowDimensions,
|
|
126
|
-
"device-width": windowDimensions.width,
|
|
127
|
-
"device-height": windowDimensions.height
|
|
128
|
-
});
|
|
129
|
-
return matches;
|
|
130
|
-
}
|
|
131
|
-
}]);
|
|
132
|
-
return NativeMediaQueryList2;
|
|
133
|
-
}();
|
|
134
181
|
//# sourceMappingURL=mediaQueryList.native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","mediaQueryList_exports","__export","NativeMediaQueryList","module","exports","import_react_native","require","import_matchQuery","_class_call_check","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_create_class","protoProps","staticProps","prototype","_define_property","obj","NativeMediaQueryList2","query","_this","listeners","notify","Dimensions","addEventListener"],"sources":["../../src/mediaQueryList.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,sBAAA;AAAAC,QAAA,CAAAD,sBAAA;EAAAE,oBAAA,EAAAA,CAAA,KAAAA;AAAA;AACAC,MAAA,CAAAC,OAAA,GAAAT,YAA2B,CAAAK,sBAAA;AAE3B,IAAAK,mBAAA,GAA2BC,OAAA;AAMpB,IAAAC,iBAAM,GAAAD,OAA+C;AAAA,SAQ1DE,iBAAmCA,CAAAC,QAAA,EAAAC,WAAA;EAAf,MAAAD,QAAA,YAAAC,WAAA;IAClB,MAAK,IAAAC,SAAO;EACZ;AACE;AAAY,SACbC,kBAAAC,MAAA,EAAAC,KAAA;EACH,SAAAC,CAAA,MAAAA,CAAA,GAAAD,KAAA,CAAAE,MAAA,EAAAD,CAAA;IALoB,IAAAE,UAAA,GAAAH,KAAA,CAAAC,CAAA;IAPZE,UAAwB,CAACC,UAAA,GAAAD,UAAA,CAAAC,UAAA;IAEjCD,UAAY,CAAAE,YAA2B;IACrC,WAAM,IAAAF,UAAmB,EAAAA,UAAA,CAAAG,QAAA;IACzBC,MAAA,CAAOC,cAAA,CAAAT,MAAiB,EAAAI,UAAS,CAAAM,GAAA,EAAAN,UAAiB;EACpD;AAAA;AAUE,SAAKO,aAAUA,CAAAd,WAAS,EAAAe,UAAa,EAAAC,WAAA;EACnC,IAAAD,UAAS,EAAAb,iBAAgB,CAAAF,WAAA,CAAAiB,SAAA,EAAAF,UAAA;EAAA,IAC1BC,WAAA,EAAAd,iBAAA,CAAAF,WAAA,EAAAgB,WAAA;EACH,OAAAhB,WAAA;AAAA;AAGE,SAAKkB,gBAAeA,CAAAC,GAAA,EAAAN,GAAQ,EAAAxB,KAAA;EAC9B,IAAAwB,GAAA,IAAAM,GAAA;IAEAR,MAAA,CAAAC,cAAe,CAAAO,GAA0B,EAAAN,GAAA;MACvCxB,KAAM;MACNmB,UAAI,EAAU,IAAI;MACpBC,YAAA;MAEAC,QAAM,EAAe;IACnB;EAAyB,OACvB;IAAMS,GACN,CAAAN,GAAA,IAAAxB,KAAa;EAA8B;EAC3B,OAChB8B,GAAA;AAAiB;AAClB,IACH3B,oBAAA;EAEA,YAAI;;EACF,SAAM4B,qBAAmBA,CAAAC,KAAA;IACzB,IAAAC,KAAM;IAAiCxB,iBAC/B,OAAAsB,qBAAA;IAAAF,gBACO,KAAK;IAAAA,gBACf;IAAA,IACH,CAAAG,KAAA,GAAAA,KAAgB;IAAiB,IACjC,CAAAE,SAAA,KAAiB;IACnB,IAAC,CAAAC,MAAA;IACD7B,mBAAO,CAAA8B,UAAA,CAAAC,gBAAA;MACTJ,KAAA,CAAAE,MAAA;IACF","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"mediaQueryList.native.js","names":[],"sources":["cjs/mediaQueryList.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 mediaQueryList_native_exports = {};\n__export(mediaQueryList_native_exports, {\n NativeMediaQueryList: () => NativeMediaQueryList\n});\nmodule.exports = __toCommonJS(mediaQueryList_native_exports);\nvar import_react_native = require(\"react-native\");\nvar import_matchQuery = require(\"./matchQuery\");\nfunction _class_call_check(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nfunction _create_class(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\nfunction _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nvar REDUCED_MOTION_RE = /\\(\\s*prefers-reduced-motion\\s*:\\s*([a-z-]+)\\s*\\)/i;\nvar reducedMotionEnabled = false;\nvar reducedMotionInitialized = false;\nvar reducedMotionListeners = /* @__PURE__ */ new Set();\nfunction ensureReducedMotionSubscription() {\n var _AccessibilityInfo_isReduceMotionEnabled, _AccessibilityInfo_addEventListener;\n if (reducedMotionInitialized) return;\n reducedMotionInitialized = true;\n (_AccessibilityInfo_isReduceMotionEnabled = import_react_native.AccessibilityInfo.isReduceMotionEnabled) === null || _AccessibilityInfo_isReduceMotionEnabled === void 0 ? void 0 : _AccessibilityInfo_isReduceMotionEnabled.call(import_react_native.AccessibilityInfo).then(function(value) {\n if (value !== reducedMotionEnabled) {\n reducedMotionEnabled = value;\n reducedMotionListeners.forEach(function(cb) {\n return cb();\n });\n }\n }).catch(function() {\n });\n (_AccessibilityInfo_addEventListener = import_react_native.AccessibilityInfo.addEventListener) === null || _AccessibilityInfo_addEventListener === void 0 ? void 0 : _AccessibilityInfo_addEventListener.call(import_react_native.AccessibilityInfo, \"reduceMotionChanged\", function(value) {\n if (value === reducedMotionEnabled) return;\n reducedMotionEnabled = value;\n reducedMotionListeners.forEach(function(cb) {\n return cb();\n });\n });\n}\nvar NativeMediaQueryList = /* @__PURE__ */ (function() {\n \"use strict\";\n function NativeMediaQueryList2(query) {\n var _this = this;\n _class_call_check(this, NativeMediaQueryList2);\n _define_property(this, \"query\", void 0);\n _define_property(this, \"listeners\", void 0);\n _define_property(this, \"reducedMotionExpected\", void 0);\n this.query = query;\n this.listeners = [];\n this.reducedMotionExpected = null;\n var reducedMotionMatch = query.match(REDUCED_MOTION_RE);\n if (reducedMotionMatch) {\n this.reducedMotionExpected = reducedMotionMatch[1];\n ensureReducedMotionSubscription();\n return;\n }\n this.notify();\n import_react_native.Dimensions.addEventListener(\"change\", function() {\n _this.notify();\n });\n }\n _create_class(NativeMediaQueryList2, [\n {\n key: \"orientation\",\n get: function get() {\n var windowDimensions = import_react_native.Dimensions.get(\"window\");\n return windowDimensions.height > windowDimensions.width ? \"portrait\" : \"landscape\";\n }\n },\n {\n key: \"notify\",\n value: function notify() {\n this.listeners.forEach(function(listener) {\n listener();\n });\n }\n },\n {\n key: \"addListener\",\n value: function addListener(listener) {\n if (this.reducedMotionExpected) {\n reducedMotionListeners.add(listener);\n this.listeners.push(listener);\n return;\n }\n this.listeners.push(listener);\n }\n },\n {\n key: \"removeListener\",\n value: function removeListener(listener) {\n if (this.reducedMotionExpected) {\n reducedMotionListeners.delete(listener);\n }\n var index = this.listeners.indexOf(listener);\n if (index !== -1) this.listeners.splice(index, 1);\n }\n },\n {\n key: \"match\",\n value: function match(query, param) {\n var { width, height } = param;\n var reducedMotionMatch = query.match(REDUCED_MOTION_RE);\n if (reducedMotionMatch) {\n var expected = reducedMotionMatch[1];\n return expected === \"reduce\" ? reducedMotionEnabled : !reducedMotionEnabled;\n }\n return (0, import_matchQuery.matchQuery)(query, {\n type: \"screen\",\n orientation: height > width ? \"portrait\" : \"landscape\",\n \"device-width\": width,\n \"device-height\": height\n });\n }\n },\n {\n key: \"matches\",\n get: function get() {\n if (this.reducedMotionExpected) {\n return this.reducedMotionExpected === \"reduce\" ? reducedMotionEnabled : !reducedMotionEnabled;\n }\n var windowDimensions = import_react_native.Dimensions.get(\"window\");\n var matches = (0, import_matchQuery.matchQuery)(this.query, {\n type: \"screen\",\n orientation: this.orientation,\n ...windowDimensions,\n \"device-width\": windowDimensions.width,\n \"device-height\": windowDimensions.height\n });\n return matches;\n }\n }\n ]);\n return NativeMediaQueryList2;\n})();\n//# sourceMappingURL=mediaQueryList.native.js.map\n"],"mappings":"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"}
|
package/dist/esm/index.js
CHANGED
package/dist/esm/index.mjs
CHANGED
package/dist/esm/index.native.js
CHANGED
package/dist/esm/matchMedia.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"matchMedia.js","names":[],"sources":["esm/matchMedia.js"],"sourcesContent":["const matchMedia = globalThis[\"matchMedia\"];\nexport {\n matchMedia\n};\n//# sourceMappingURL=matchMedia.js.map\n"],"mappings":";AAAA,MAAM,aAAa,WAAW"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { NativeMediaQueryList } from "./mediaQueryList.native.js";
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
|
|
3
|
+
var matchMedia = function(query) {
|
|
4
|
+
return new NativeMediaQueryList(query);
|
|
4
5
|
};
|
|
6
|
+
|
|
5
7
|
export { matchMedia };
|
|
6
8
|
//# sourceMappingURL=matchMedia.native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"matchMedia.native.js","names":[],"sources":["esm/matchMedia.native.js"],"sourcesContent":["import { NativeMediaQueryList } from \"./mediaQueryList.native\";\nvar matchMedia = function(query) {\n return new NativeMediaQueryList(query);\n};\nexport {\n matchMedia\n};\n//# sourceMappingURL=matchMedia.native.js.map\n"],"mappings":";;;AACA,IAAI,aAAa,SAAS,OAAO;CAC/B,OAAO,IAAI,qBAAqB,KAAK;AACvC"}
|
package/dist/esm/matchQuery.mjs
CHANGED
|
@@ -4,129 +4,114 @@ const RE_MQ_FEATURE = /^(?:(min|max)-)?(.+)/;
|
|
|
4
4
|
const RE_LENGTH_UNIT = /(em|rem|px|cm|mm|in|pt|pc)?$/;
|
|
5
5
|
const RE_RESOLUTION_UNIT = /(dpi|dpcm|dppx)?$/;
|
|
6
6
|
function matchQuery(mediaQuery, values) {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
return value === expValue;
|
|
59
|
-
}
|
|
60
|
-
});
|
|
61
|
-
return expressionsMatch && !inverse || !expressionsMatch && inverse;
|
|
62
|
-
});
|
|
7
|
+
return parseQuery(mediaQuery).some((query) => {
|
|
8
|
+
if (!query) return;
|
|
9
|
+
const inverse = query.inverse;
|
|
10
|
+
const typeMatch = query.type === "all" || values.type === query.type;
|
|
11
|
+
if (typeMatch && inverse || !(typeMatch || inverse)) {
|
|
12
|
+
return false;
|
|
13
|
+
}
|
|
14
|
+
const expressionsMatch = query.expressions.every((expression) => {
|
|
15
|
+
const feature = expression.feature;
|
|
16
|
+
const modifier = expression.modifier;
|
|
17
|
+
let expValue = expression.value;
|
|
18
|
+
let value = values[feature];
|
|
19
|
+
if (!value) {
|
|
20
|
+
return false;
|
|
21
|
+
}
|
|
22
|
+
switch (feature) {
|
|
23
|
+
case "orientation":
|
|
24
|
+
case "scan": return value.toLowerCase() === expValue.toLowerCase();
|
|
25
|
+
case "width":
|
|
26
|
+
case "height":
|
|
27
|
+
case "device-width":
|
|
28
|
+
case "device-height":
|
|
29
|
+
expValue = toPx(expValue);
|
|
30
|
+
value = toPx(value);
|
|
31
|
+
break;
|
|
32
|
+
case "resolution":
|
|
33
|
+
expValue = toDpi(expValue);
|
|
34
|
+
value = toDpi(value);
|
|
35
|
+
break;
|
|
36
|
+
case "aspect-ratio":
|
|
37
|
+
case "device-aspect-ratio":
|
|
38
|
+
case "device-pixel-ratio":
|
|
39
|
+
expValue = toDecimal(expValue);
|
|
40
|
+
value = toDecimal(value);
|
|
41
|
+
break;
|
|
42
|
+
case "grid":
|
|
43
|
+
case "color":
|
|
44
|
+
case "color-index":
|
|
45
|
+
case "monochrome":
|
|
46
|
+
expValue = Number.parseInt(expValue, 10) || 1;
|
|
47
|
+
value = Number.parseInt(value, 10) || 0;
|
|
48
|
+
break;
|
|
49
|
+
}
|
|
50
|
+
switch (modifier) {
|
|
51
|
+
case "min": return value >= expValue;
|
|
52
|
+
case "max": return value <= expValue;
|
|
53
|
+
default: return value === expValue;
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
return expressionsMatch && !inverse || !expressionsMatch && inverse;
|
|
57
|
+
});
|
|
63
58
|
}
|
|
64
59
|
function parseQuery(mediaQuery) {
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
60
|
+
return mediaQuery.split(",").map((query) => {
|
|
61
|
+
query = query.trim();
|
|
62
|
+
const captures = query.match(RE_MEDIA_QUERY);
|
|
63
|
+
if (!captures) return null;
|
|
64
|
+
const modifier = captures[1];
|
|
65
|
+
const type = captures[2];
|
|
66
|
+
const expressionsCapture = captures[3] || "";
|
|
67
|
+
const expressions = expressionsCapture.match(/\([^)]+\)/g) || [];
|
|
68
|
+
return {
|
|
69
|
+
inverse: !!modifier && modifier.toLowerCase() === "not",
|
|
70
|
+
type: type ? type.toLowerCase() : "all",
|
|
71
|
+
expressions: expressions.map((expression) => {
|
|
72
|
+
const captures2 = expression.match(RE_MQ_EXPRESSION);
|
|
73
|
+
const feature = captures2[1].toLowerCase().match(RE_MQ_FEATURE);
|
|
74
|
+
return {
|
|
75
|
+
modifier: feature[1],
|
|
76
|
+
feature: feature[2],
|
|
77
|
+
value: captures2[2]
|
|
78
|
+
};
|
|
79
|
+
})
|
|
80
|
+
};
|
|
81
|
+
});
|
|
87
82
|
}
|
|
88
83
|
function toDecimal(ratio) {
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
84
|
+
let decimal = Number(ratio);
|
|
85
|
+
let numbers;
|
|
86
|
+
if (!decimal) {
|
|
87
|
+
numbers = ratio.match(/^(\d+)\s*\/\s*(\d+)$/);
|
|
88
|
+
decimal = numbers[1] / numbers[2];
|
|
89
|
+
}
|
|
90
|
+
return decimal;
|
|
96
91
|
}
|
|
97
92
|
function toDpi(resolution) {
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
default:
|
|
106
|
-
return value;
|
|
107
|
-
}
|
|
93
|
+
const value = Number.parseFloat(resolution);
|
|
94
|
+
const units = String(resolution).match(RE_RESOLUTION_UNIT)?.[1];
|
|
95
|
+
switch (units) {
|
|
96
|
+
case "dpcm": return value / 2.54;
|
|
97
|
+
case "dppx": return value * 96;
|
|
98
|
+
default: return value;
|
|
99
|
+
}
|
|
108
100
|
}
|
|
109
101
|
function toPx(length) {
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
return value * 96;
|
|
123
|
-
case "pt":
|
|
124
|
-
return value * 72;
|
|
125
|
-
case "pc":
|
|
126
|
-
return value * 72 / 12;
|
|
127
|
-
default:
|
|
128
|
-
return value;
|
|
129
|
-
}
|
|
102
|
+
const value = Number.parseFloat(length);
|
|
103
|
+
const units = String(length).match(RE_LENGTH_UNIT)?.[1];
|
|
104
|
+
switch (units) {
|
|
105
|
+
case "em": return value * 16;
|
|
106
|
+
case "rem": return value * 16;
|
|
107
|
+
case "cm": return value * 96 / 2.54;
|
|
108
|
+
case "mm": return value * 96 / 2.54 / 10;
|
|
109
|
+
case "in": return value * 96;
|
|
110
|
+
case "pt": return value * 72;
|
|
111
|
+
case "pc": return value * 72 / 12;
|
|
112
|
+
default: return value;
|
|
113
|
+
}
|
|
130
114
|
}
|
|
115
|
+
|
|
131
116
|
export { matchQuery, parseQuery };
|
|
132
117
|
//# sourceMappingURL=matchQuery.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"matchQuery.js","names":[],"sources":["esm/matchQuery.js"],"sourcesContent":["const RE_MEDIA_QUERY = /(?:(only|not)?\\s*([^\\s()]+)(?:\\s*and)?\\s*)?(.+)?/i;\nconst RE_MQ_EXPRESSION = /\\(\\s*([^\\s:)]+)\\s*(?::\\s*([^\\s)]+))?\\s*\\)/;\nconst RE_MQ_FEATURE = /^(?:(min|max)-)?(.+)/;\nconst RE_LENGTH_UNIT = /(em|rem|px|cm|mm|in|pt|pc)?$/;\nconst RE_RESOLUTION_UNIT = /(dpi|dpcm|dppx)?$/;\nfunction matchQuery(mediaQuery, values) {\n return parseQuery(mediaQuery).some((query) => {\n if (!query) return;\n const inverse = query.inverse;\n const typeMatch = query.type === \"all\" || values.type === query.type;\n if (typeMatch && inverse || !(typeMatch || inverse)) {\n return false;\n }\n const expressionsMatch = query.expressions.every((expression) => {\n const feature = expression.feature;\n const modifier = expression.modifier;\n let expValue = expression.value;\n let value = values[feature];\n if (!value) {\n return false;\n }\n switch (feature) {\n case \"orientation\":\n case \"scan\":\n return value.toLowerCase() === expValue.toLowerCase();\n case \"width\":\n case \"height\":\n case \"device-width\":\n case \"device-height\":\n expValue = toPx(expValue);\n value = toPx(value);\n break;\n case \"resolution\":\n expValue = toDpi(expValue);\n value = toDpi(value);\n break;\n case \"aspect-ratio\":\n case \"device-aspect-ratio\":\n case /* Deprecated */\n \"device-pixel-ratio\":\n expValue = toDecimal(expValue);\n value = toDecimal(value);\n break;\n case \"grid\":\n case \"color\":\n case \"color-index\":\n case \"monochrome\":\n expValue = Number.parseInt(expValue, 10) || 1;\n value = Number.parseInt(value, 10) || 0;\n break;\n }\n switch (modifier) {\n case \"min\":\n return value >= expValue;\n case \"max\":\n return value <= expValue;\n default:\n return value === expValue;\n }\n });\n return expressionsMatch && !inverse || !expressionsMatch && inverse;\n });\n}\nfunction parseQuery(mediaQuery) {\n return mediaQuery.split(\",\").map((query) => {\n query = query.trim();\n const captures = query.match(RE_MEDIA_QUERY);\n if (!captures) return null;\n const modifier = captures[1];\n const type = captures[2];\n const expressionsCapture = captures[3] || \"\";\n const expressions = expressionsCapture.match(/\\([^)]+\\)/g) || [];\n return {\n inverse: !!modifier && modifier.toLowerCase() === \"not\",\n type: type ? type.toLowerCase() : \"all\",\n expressions: expressions.map((expression) => {\n const captures2 = expression.match(RE_MQ_EXPRESSION);\n const feature = captures2[1].toLowerCase().match(RE_MQ_FEATURE);\n return {\n modifier: feature[1],\n feature: feature[2],\n value: captures2[2]\n };\n })\n };\n });\n}\nfunction toDecimal(ratio) {\n let decimal = Number(ratio);\n let numbers;\n if (!decimal) {\n numbers = ratio.match(/^(\\d+)\\s*\\/\\s*(\\d+)$/);\n decimal = numbers[1] / numbers[2];\n }\n return decimal;\n}\nfunction toDpi(resolution) {\n const value = Number.parseFloat(resolution);\n const units = String(resolution).match(RE_RESOLUTION_UNIT)?.[1];\n switch (units) {\n case \"dpcm\":\n return value / 2.54;\n case \"dppx\":\n return value * 96;\n default:\n return value;\n }\n}\nfunction toPx(length) {\n const value = Number.parseFloat(length);\n const units = String(length).match(RE_LENGTH_UNIT)?.[1];\n switch (units) {\n case \"em\":\n return value * 16;\n case \"rem\":\n return value * 16;\n case \"cm\":\n return value * 96 / 2.54;\n case \"mm\":\n return value * 96 / 2.54 / 10;\n case \"in\":\n return value * 96;\n case \"pt\":\n return value * 72;\n case \"pc\":\n return value * 72 / 12;\n default:\n return value;\n }\n}\nexport {\n matchQuery,\n parseQuery\n};\n//# sourceMappingURL=matchQuery.js.map\n"],"mappings":"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"}
|