@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.
Files changed (55) hide show
  1. package/dist/cjs/index.cjs +9 -12
  2. package/dist/cjs/index.native.cjs +20 -0
  3. package/dist/cjs/index.native.js +9 -11
  4. package/dist/cjs/index.native.js.map +1 -1
  5. package/dist/cjs/matchMedia.cjs +14 -18
  6. package/dist/cjs/matchMedia.native.cjs +29 -0
  7. package/dist/cjs/matchMedia.native.js +16 -19
  8. package/dist/cjs/matchMedia.native.js.map +1 -1
  9. package/dist/cjs/matchQuery.cjs +114 -132
  10. package/dist/cjs/matchQuery.native.cjs +144 -0
  11. package/dist/cjs/matchQuery.native.js +116 -133
  12. package/dist/cjs/matchQuery.native.js.map +1 -1
  13. package/dist/cjs/mediaQueryList.native.cjs +179 -0
  14. package/dist/cjs/mediaQueryList.native.js +159 -112
  15. package/dist/cjs/mediaQueryList.native.js.map +1 -1
  16. package/dist/esm/index.js +1 -3
  17. package/dist/esm/index.mjs +1 -3
  18. package/dist/esm/index.native.js +1 -3
  19. package/dist/esm/matchMedia.mjs +1 -0
  20. package/dist/esm/matchMedia.mjs.map +1 -1
  21. package/dist/esm/matchMedia.native.js +4 -2
  22. package/dist/esm/matchMedia.native.js.map +1 -1
  23. package/dist/esm/matchQuery.mjs +100 -115
  24. package/dist/esm/matchQuery.mjs.map +1 -1
  25. package/dist/esm/matchQuery.native.js +102 -117
  26. package/dist/esm/matchQuery.native.js.map +1 -1
  27. package/dist/esm/mediaQueryList.native.js +146 -94
  28. package/dist/esm/mediaQueryList.native.js.map +1 -1
  29. package/package.json +7 -4
  30. package/src/index.ts +0 -1
  31. package/src/matchMedia.native.ts +1 -1
  32. package/src/mediaQueryList.native.ts +115 -0
  33. package/types/index.d.ts +0 -1
  34. package/types/index.d.ts.map +2 -2
  35. package/types/matchMedia.native.d.ts.map +1 -1
  36. package/types/{mediaQueryList.d.ts → mediaQueryList.native.d.ts} +3 -3
  37. package/types/mediaQueryList.native.d.ts.map +11 -0
  38. package/dist/cjs/createMedia.cjs +0 -33
  39. package/dist/cjs/createMedia.native.js +0 -36
  40. package/dist/cjs/createMedia.native.js.map +0 -1
  41. package/dist/cjs/mediaQueryList.cjs +0 -78
  42. package/dist/esm/createMedia.mjs +0 -8
  43. package/dist/esm/createMedia.mjs.map +0 -1
  44. package/dist/esm/createMedia.native.js +0 -8
  45. package/dist/esm/createMedia.native.js.map +0 -1
  46. package/dist/esm/index.js.map +0 -1
  47. package/dist/esm/index.mjs.map +0 -1
  48. package/dist/esm/index.native.js.map +0 -1
  49. package/dist/esm/mediaQueryList.mjs +0 -53
  50. package/dist/esm/mediaQueryList.mjs.map +0 -1
  51. package/src/createMedia.ts +0 -19
  52. package/src/mediaQueryList.ts +0 -60
  53. package/types/createMedia.d.ts +0 -10
  54. package/types/createMedia.d.ts.map +0 -11
  55. 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
- for (var name in all) __defProp(target, name, {
9
- get: all[name],
10
- enumerable: true
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
- 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;
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
- value: true
24
- }), mod);
25
- var mediaQueryList_exports = {};
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
- if (!(instance instanceof Constructor)) {
34
- throw new TypeError("Cannot call a class as a function");
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
- for (var i = 0; i < props.length; i++) {
39
- var descriptor = props[i];
40
- descriptor.enumerable = descriptor.enumerable || false;
41
- descriptor.configurable = true;
42
- if ("value" in descriptor) descriptor.writable = true;
43
- Object.defineProperty(target, descriptor.key, descriptor);
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
- if (protoProps) _defineProperties(Constructor.prototype, protoProps);
48
- if (staticProps) _defineProperties(Constructor, staticProps);
49
- return Constructor;
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
- if (key in obj) {
53
- Object.defineProperty(obj, key, {
54
- value,
55
- enumerable: true,
56
- configurable: true,
57
- writable: true
58
- });
59
- } else {
60
- obj[key] = value;
61
- }
62
- return obj;
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 NativeMediaQueryList = /* @__PURE__ */function () {
65
- "use strict";
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
@@ -1,3 +1 @@
1
- export * from "./createMedia.mjs";
2
- export * from "./matchMedia.mjs";
3
- //# sourceMappingURL=index.js.map
1
+ export * from "./matchMedia.mjs"
@@ -1,3 +1 @@
1
- export * from "./createMedia.mjs";
2
- export * from "./matchMedia.mjs";
3
- //# sourceMappingURL=index.mjs.map
1
+ export * from "./matchMedia.mjs"
@@ -1,3 +1 @@
1
- export * from "./createMedia.native.js";
2
- export * from "./matchMedia.native.js";
3
- //# sourceMappingURL=index.native.js.map
1
+ export * from "./matchMedia.native.js"
@@ -1,3 +1,4 @@
1
1
  const matchMedia = globalThis["matchMedia"];
2
+
2
3
  export { matchMedia };
3
4
  //# sourceMappingURL=matchMedia.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["matchMedia","globalThis"],"sources":["../../src/matchMedia.ts"],"sourcesContent":[null],"mappings":"AAIO,MAAMA,UAAA,GAAyBC,UAAA,CAAW,YAAY","ignoreList":[]}
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
- var matchMedia = function (query) {
3
- return new NativeMediaQueryList(query);
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,"names":["NativeMediaQueryList","matchMedia","query"],"sources":["../../src/matchMedia.native.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,oBAAA,QAA4B;AAC9B,IAAIC,UAAA,GAAa,SAAAA,CAASC,KAAA,EAAO;EACpC,OAAO,IAAIF,oBAAA,CAAqBE,KAAK;AACzC","ignoreList":[]}
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"}
@@ -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
- 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":
25
- return value.toLowerCase() === expValue.toLowerCase();
26
- case "width":
27
- case "height":
28
- case "device-width":
29
- case "device-height":
30
- expValue = toPx(expValue);
31
- value = toPx(value);
32
- break;
33
- case "resolution":
34
- expValue = toDpi(expValue);
35
- value = toDpi(value);
36
- break;
37
- case "aspect-ratio":
38
- case "device-aspect-ratio":
39
- case /* Deprecated */
40
- "device-pixel-ratio":
41
- expValue = toDecimal(expValue);
42
- value = toDecimal(value);
43
- break;
44
- case "grid":
45
- case "color":
46
- case "color-index":
47
- case "monochrome":
48
- expValue = Number.parseInt(expValue, 10) || 1;
49
- value = Number.parseInt(value, 10) || 0;
50
- break;
51
- }
52
- switch (modifier) {
53
- case "min":
54
- return value >= expValue;
55
- case "max":
56
- return value <= expValue;
57
- default:
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
- return mediaQuery.split(",").map(query => {
66
- query = query.trim();
67
- const captures = query.match(RE_MEDIA_QUERY);
68
- if (!captures) return null;
69
- const modifier = captures[1];
70
- const type = captures[2];
71
- const expressionsCapture = captures[3] || "";
72
- const expressions = expressionsCapture.match(/\([^)]+\)/g) || [];
73
- return {
74
- inverse: !!modifier && modifier.toLowerCase() === "not",
75
- type: type ? type.toLowerCase() : "all",
76
- expressions: expressions.map(expression => {
77
- const captures2 = expression.match(RE_MQ_EXPRESSION);
78
- const feature = captures2[1].toLowerCase().match(RE_MQ_FEATURE);
79
- return {
80
- modifier: feature[1],
81
- feature: feature[2],
82
- value: captures2[2]
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
- let decimal = Number(ratio);
90
- let numbers;
91
- if (!decimal) {
92
- numbers = ratio.match(/^(\d+)\s*\/\s*(\d+)$/);
93
- decimal = numbers[1] / numbers[2];
94
- }
95
- return decimal;
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
- const value = Number.parseFloat(resolution);
99
- const units = String(resolution).match(RE_RESOLUTION_UNIT)?.[1];
100
- switch (units) {
101
- case "dpcm":
102
- return value / 2.54;
103
- case "dppx":
104
- return value * 96;
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
- const value = Number.parseFloat(length);
111
- const units = String(length).match(RE_LENGTH_UNIT)?.[1];
112
- switch (units) {
113
- case "em":
114
- return value * 16;
115
- case "rem":
116
- return value * 16;
117
- case "cm":
118
- return value * 96 / 2.54;
119
- case "mm":
120
- return value * 96 / 2.54 / 10;
121
- case "in":
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,"names":["RE_MEDIA_QUERY","RE_MQ_EXPRESSION","RE_MQ_FEATURE","RE_LENGTH_UNIT","RE_RESOLUTION_UNIT","matchQuery","mediaQuery","values","parseQuery","some","query","inverse","typeMatch","type","expressionsMatch","expressions","every","expression","feature","modifier","expValue","value","toLowerCase","toPx","toDpi","toDecimal","Number","parseInt","split","map","trim","captures","match","expressionsCapture","ratio","decimal","numbers","resolution","parseFloat","units","String","length"],"sources":["../../src/matchQuery.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
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":";AAAA,MAAM,iBAAiB;AACvB,MAAM,mBAAmB;AACzB,MAAM,gBAAgB;AACtB,MAAM,iBAAiB;AACvB,MAAM,qBAAqB;AAC3B,SAAS,WAAW,YAAY,QAAQ;CACtC,OAAO,WAAW,UAAU,CAAC,CAAC,MAAM,UAAU;EAC5C,IAAI,CAAC,OAAO;EACZ,MAAM,UAAU,MAAM;EACtB,MAAM,YAAY,MAAM,SAAS,SAAS,OAAO,SAAS,MAAM;EAChE,IAAI,aAAa,WAAW,EAAE,aAAa,UAAU;GACnD,OAAO;EACT;EACA,MAAM,mBAAmB,MAAM,YAAY,OAAO,eAAe;GAC/D,MAAM,UAAU,WAAW;GAC3B,MAAM,WAAW,WAAW;GAC5B,IAAI,WAAW,WAAW;GAC1B,IAAI,QAAQ,OAAO;GACnB,IAAI,CAAC,OAAO;IACV,OAAO;GACT;GACA,QAAQ,SAAR;IACE,KAAK;IACL,KAAK,QACH,OAAO,MAAM,YAAY,MAAM,SAAS,YAAY;IACtD,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;KACH,WAAW,KAAK,QAAQ;KACxB,QAAQ,KAAK,KAAK;KAClB;IACF,KAAK;KACH,WAAW,MAAM,QAAQ;KACzB,QAAQ,MAAM,KAAK;KACnB;IACF,KAAK;IACL,KAAK;IACL,KACA;KACE,WAAW,UAAU,QAAQ;KAC7B,QAAQ,UAAU,KAAK;KACvB;IACF,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;KACH,WAAW,OAAO,SAAS,UAAU,EAAE,KAAK;KAC5C,QAAQ,OAAO,SAAS,OAAO,EAAE,KAAK;KACtC;GACJ;GACA,QAAQ,UAAR;IACE,KAAK,OACH,OAAO,SAAS;IAClB,KAAK,OACH,OAAO,SAAS;IAClB,SACE,OAAO,UAAU;GACrB;EACF,CAAC;EACD,OAAO,oBAAoB,CAAC,WAAW,CAAC,oBAAoB;CAC9D,CAAC;AACH;AACA,SAAS,WAAW,YAAY;CAC9B,OAAO,WAAW,MAAM,GAAG,CAAC,CAAC,KAAK,UAAU;EAC1C,QAAQ,MAAM,KAAK;EACnB,MAAM,WAAW,MAAM,MAAM,cAAc;EAC3C,IAAI,CAAC,UAAU,OAAO;EACtB,MAAM,WAAW,SAAS;EAC1B,MAAM,OAAO,SAAS;EACtB,MAAM,qBAAqB,SAAS,MAAM;EAC1C,MAAM,cAAc,mBAAmB,MAAM,YAAY,KAAK,CAAC;EAC/D,OAAO;GACL,SAAS,CAAC,CAAC,YAAY,SAAS,YAAY,MAAM;GAClD,MAAM,OAAO,KAAK,YAAY,IAAI;GAClC,aAAa,YAAY,KAAK,eAAe;IAC3C,MAAM,YAAY,WAAW,MAAM,gBAAgB;IACnD,MAAM,UAAU,UAAU,EAAE,CAAC,YAAY,CAAC,CAAC,MAAM,aAAa;IAC9D,OAAO;KACL,UAAU,QAAQ;KAClB,SAAS,QAAQ;KACjB,OAAO,UAAU;IACnB;GACF,CAAC;EACH;CACF,CAAC;AACH;AACA,SAAS,UAAU,OAAO;CACxB,IAAI,UAAU,OAAO,KAAK;CAC1B,IAAI;CACJ,IAAI,CAAC,SAAS;EACZ,UAAU,MAAM,MAAM,sBAAsB;EAC5C,UAAU,QAAQ,KAAK,QAAQ;CACjC;CACA,OAAO;AACT;AACA,SAAS,MAAM,YAAY;CACzB,MAAM,QAAQ,OAAO,WAAW,UAAU;CAC1C,MAAM,QAAQ,OAAO,UAAU,CAAC,CAAC,MAAM,kBAAkB,CAAC,GAAG;CAC7D,QAAQ,OAAR;EACE,KAAK,QACH,OAAO,QAAQ;EACjB,KAAK,QACH,OAAO,QAAQ;EACjB,SACE,OAAO;CACX;AACF;AACA,SAAS,KAAK,QAAQ;CACpB,MAAM,QAAQ,OAAO,WAAW,MAAM;CACtC,MAAM,QAAQ,OAAO,MAAM,CAAC,CAAC,MAAM,cAAc,CAAC,GAAG;CACrD,QAAQ,OAAR;EACE,KAAK,MACH,OAAO,QAAQ;EACjB,KAAK,OACH,OAAO,QAAQ;EACjB,KAAK,MACH,OAAO,QAAQ,KAAK;EACtB,KAAK,MACH,OAAO,QAAQ,KAAK,OAAO;EAC7B,KAAK,MACH,OAAO,QAAQ;EACjB,KAAK,MACH,OAAO,QAAQ;EACjB,KAAK,MACH,OAAO,QAAQ,KAAK;EACtB,SACE,OAAO;CACX;AACF"}