@hanzogui/react-native-media-driver 2.0.0-rc.41-hanzoai.5
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/LICENSE +21 -0
- package/dist/cjs/createMedia.cjs +33 -0
- package/dist/cjs/createMedia.native.js +36 -0
- package/dist/cjs/createMedia.native.js.map +1 -0
- package/dist/cjs/index.cjs +21 -0
- package/dist/cjs/index.native.js +24 -0
- package/dist/cjs/index.native.js.map +1 -0
- package/dist/cjs/matchMedia.cjs +28 -0
- package/dist/cjs/matchMedia.native.js +34 -0
- package/dist/cjs/matchMedia.native.js.map +1 -0
- package/dist/cjs/matchQuery.cjs +158 -0
- package/dist/cjs/matchQuery.native.js +163 -0
- package/dist/cjs/matchQuery.native.js.map +1 -0
- package/dist/cjs/mediaQueryList.cjs +78 -0
- package/dist/cjs/mediaQueryList.native.js +134 -0
- package/dist/cjs/mediaQueryList.native.js.map +1 -0
- package/dist/esm/createMedia.mjs +8 -0
- package/dist/esm/createMedia.mjs.map +1 -0
- package/dist/esm/createMedia.native.js +8 -0
- package/dist/esm/createMedia.native.js.map +1 -0
- package/dist/esm/index.js +3 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/index.mjs +3 -0
- package/dist/esm/index.mjs.map +1 -0
- package/dist/esm/index.native.js +3 -0
- package/dist/esm/index.native.js.map +1 -0
- package/dist/esm/matchMedia.mjs +3 -0
- package/dist/esm/matchMedia.mjs.map +1 -0
- package/dist/esm/matchMedia.native.js +6 -0
- package/dist/esm/matchMedia.native.js.map +1 -0
- package/dist/esm/matchQuery.mjs +132 -0
- package/dist/esm/matchQuery.mjs.map +1 -0
- package/dist/esm/matchQuery.native.js +134 -0
- package/dist/esm/matchQuery.native.js.map +1 -0
- package/dist/esm/mediaQueryList.mjs +53 -0
- package/dist/esm/mediaQueryList.mjs.map +1 -0
- package/dist/esm/mediaQueryList.native.js +106 -0
- package/dist/esm/mediaQueryList.native.js.map +1 -0
- package/package.json +47 -0
- package/src/createMedia.ts +19 -0
- package/src/index.ts +2 -0
- package/src/matchMedia.native.ts +7 -0
- package/src/matchMedia.ts +5 -0
- package/src/matchQuery.ts +176 -0
- package/src/mediaQueryList.ts +60 -0
- package/types/createMedia.d.ts +10 -0
- package/types/createMedia.d.ts.map +11 -0
- package/types/index.d.ts +4 -0
- package/types/index.d.ts.map +11 -0
- package/types/matchMedia.d.ts +4 -0
- package/types/matchMedia.d.ts.map +11 -0
- package/types/matchMedia.native.d.ts +4 -0
- package/types/matchMedia.native.d.ts.map +11 -0
- package/types/matchQuery.d.ts +12 -0
- package/types/matchQuery.d.ts.map +11 -0
- package/types/mediaQueryList.d.ts +20 -0
- package/types/mediaQueryList.d.ts.map +11 -0
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all) __defProp(target, name, {
|
|
9
|
+
get: all[name],
|
|
10
|
+
enumerable: true
|
|
11
|
+
});
|
|
12
|
+
};
|
|
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;
|
|
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);
|
|
30
|
+
var import_react_native = require("react-native");
|
|
31
|
+
var import_matchQuery = require("./matchQuery.native.js");
|
|
32
|
+
function _class_call_check(instance, Constructor) {
|
|
33
|
+
if (!(instance instanceof Constructor)) {
|
|
34
|
+
throw new TypeError("Cannot call a class as a function");
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
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
|
+
}
|
|
45
|
+
}
|
|
46
|
+
function _create_class(Constructor, protoProps, staticProps) {
|
|
47
|
+
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
48
|
+
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
49
|
+
return Constructor;
|
|
50
|
+
}
|
|
51
|
+
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;
|
|
63
|
+
}
|
|
64
|
+
var NativeMediaQueryList = /* @__PURE__ */function () {
|
|
65
|
+
"use strict";
|
|
66
|
+
|
|
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
|
+
//# sourceMappingURL=mediaQueryList.native.js.map
|
|
@@ -0,0 +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":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["setupMatchMedia","matchMedia","createMedia","media"],"sources":["../../src/createMedia.ts"],"sourcesContent":[null],"mappings":"AACA,SAASA,eAAA,QAAuB;AAEhC,SAASC,UAAA,QAAkB;AAMpB,SAASC,YAIdC,KAAA,EAAa;EAGbH,eAAA,CAAgBC,UAAU;EAC1B,OAAOE,KAAA;AACT","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["setupMatchMedia","matchMedia","createMedia","media"],"sources":["../../src/createMedia.ts"],"sourcesContent":[null],"mappings":"AACA,SAASA,eAAA,QAAuB;AAEhC,SAASC,UAAA,QAAkB;AAMpB,SAASC,YAIdC,KAAA,EAAa;EAGbH,eAAA,CAAgBC,UAAU;EAC1B,OAAOE,KAAA;AACT","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,cAAc;AACd,cAAc","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,cAAc;AACd,cAAc","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,cAAc;AACd,cAAc","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["matchMedia","globalThis"],"sources":["../../src/matchMedia.ts"],"sourcesContent":[null],"mappings":"AAIO,MAAMA,UAAA,GAAyBC,UAAA,CAAW,YAAY","ignoreList":[]}
|
|
@@ -0,0 +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":[]}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
const RE_MEDIA_QUERY = /(?:(only|not)?\s*([^\s()]+)(?:\s*and)?\s*)?(.+)?/i;
|
|
2
|
+
const RE_MQ_EXPRESSION = /\(\s*([^\s:)]+)\s*(?::\s*([^\s)]+))?\s*\)/;
|
|
3
|
+
const RE_MQ_FEATURE = /^(?:(min|max)-)?(.+)/;
|
|
4
|
+
const RE_LENGTH_UNIT = /(em|rem|px|cm|mm|in|pt|pc)?$/;
|
|
5
|
+
const RE_RESOLUTION_UNIT = /(dpi|dpcm|dppx)?$/;
|
|
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
|
+
});
|
|
63
|
+
}
|
|
64
|
+
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
|
+
});
|
|
87
|
+
}
|
|
88
|
+
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;
|
|
96
|
+
}
|
|
97
|
+
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
|
+
}
|
|
108
|
+
}
|
|
109
|
+
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
|
+
}
|
|
130
|
+
}
|
|
131
|
+
export { matchQuery, parseQuery };
|
|
132
|
+
//# sourceMappingURL=matchQuery.mjs.map
|
|
@@ -0,0 +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","captures2","ratio","decimal","numbers","resolution","parseFloat","units","String","length"],"sources":["../../src/matchQuery.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
var RE_MEDIA_QUERY = /(?:(only|not)?\s*([^\s()]+)(?:\s*and)?\s*)?(.+)?/i;
|
|
2
|
+
var RE_MQ_EXPRESSION = /\(\s*([^\s:)]+)\s*(?::\s*([^\s)]+))?\s*\)/;
|
|
3
|
+
var RE_MQ_FEATURE = /^(?:(min|max)-)?(.+)/;
|
|
4
|
+
var RE_LENGTH_UNIT = /(em|rem|px|cm|mm|in|pt|pc)?$/;
|
|
5
|
+
var RE_RESOLUTION_UNIT = /(dpi|dpcm|dppx)?$/;
|
|
6
|
+
function matchQuery(mediaQuery, values) {
|
|
7
|
+
return parseQuery(mediaQuery).some(function (query) {
|
|
8
|
+
if (!query) return;
|
|
9
|
+
var inverse = query.inverse;
|
|
10
|
+
var typeMatch = query.type === "all" || values.type === query.type;
|
|
11
|
+
if (typeMatch && inverse || !(typeMatch || inverse)) {
|
|
12
|
+
return false;
|
|
13
|
+
}
|
|
14
|
+
var expressionsMatch = query.expressions.every(function (expression) {
|
|
15
|
+
var feature = expression.feature;
|
|
16
|
+
var modifier = expression.modifier;
|
|
17
|
+
var expValue = expression.value;
|
|
18
|
+
var 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
|
+
});
|
|
63
|
+
}
|
|
64
|
+
function parseQuery(mediaQuery) {
|
|
65
|
+
return mediaQuery.split(",").map(function (query) {
|
|
66
|
+
query = query.trim();
|
|
67
|
+
var captures = query.match(RE_MEDIA_QUERY);
|
|
68
|
+
if (!captures) return null;
|
|
69
|
+
var modifier = captures[1];
|
|
70
|
+
var type = captures[2];
|
|
71
|
+
var expressionsCapture = captures[3] || "";
|
|
72
|
+
var expressions = expressionsCapture.match(/\([^)]+\)/g) || [];
|
|
73
|
+
return {
|
|
74
|
+
inverse: !!modifier && modifier.toLowerCase() === "not",
|
|
75
|
+
type: type ? type.toLowerCase() : "all",
|
|
76
|
+
expressions: expressions.map(function (expression) {
|
|
77
|
+
var captures2 = expression.match(RE_MQ_EXPRESSION);
|
|
78
|
+
var 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
|
+
});
|
|
87
|
+
}
|
|
88
|
+
function toDecimal(ratio) {
|
|
89
|
+
var decimal = Number(ratio);
|
|
90
|
+
var numbers;
|
|
91
|
+
if (!decimal) {
|
|
92
|
+
numbers = ratio.match(/^(\d+)\s*\/\s*(\d+)$/);
|
|
93
|
+
decimal = numbers[1] / numbers[2];
|
|
94
|
+
}
|
|
95
|
+
return decimal;
|
|
96
|
+
}
|
|
97
|
+
function toDpi(resolution) {
|
|
98
|
+
var _String_match;
|
|
99
|
+
var value = Number.parseFloat(resolution);
|
|
100
|
+
var units = (_String_match = String(resolution).match(RE_RESOLUTION_UNIT)) === null || _String_match === void 0 ? void 0 : _String_match[1];
|
|
101
|
+
switch (units) {
|
|
102
|
+
case "dpcm":
|
|
103
|
+
return value / 2.54;
|
|
104
|
+
case "dppx":
|
|
105
|
+
return value * 96;
|
|
106
|
+
default:
|
|
107
|
+
return value;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
function toPx(length) {
|
|
111
|
+
var _String_match;
|
|
112
|
+
var value = Number.parseFloat(length);
|
|
113
|
+
var units = (_String_match = String(length).match(RE_LENGTH_UNIT)) === null || _String_match === void 0 ? void 0 : _String_match[1];
|
|
114
|
+
switch (units) {
|
|
115
|
+
case "em":
|
|
116
|
+
return value * 16;
|
|
117
|
+
case "rem":
|
|
118
|
+
return value * 16;
|
|
119
|
+
case "cm":
|
|
120
|
+
return value * 96 / 2.54;
|
|
121
|
+
case "mm":
|
|
122
|
+
return value * 96 / 2.54 / 10;
|
|
123
|
+
case "in":
|
|
124
|
+
return value * 96;
|
|
125
|
+
case "pt":
|
|
126
|
+
return value * 72;
|
|
127
|
+
case "pc":
|
|
128
|
+
return value * 72 / 12;
|
|
129
|
+
default:
|
|
130
|
+
return value;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
export { matchQuery, parseQuery };
|
|
134
|
+
//# sourceMappingURL=matchQuery.native.js.map
|
|
@@ -0,0 +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","captures2","ratio","decimal","numbers","resolution","_String_match","parseFloat","units","String","length"],"sources":["../../src/matchQuery.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { Dimensions } from "react-native-web";
|
|
2
|
+
import { matchQuery } from "./matchQuery.mjs";
|
|
3
|
+
class NativeMediaQueryList {
|
|
4
|
+
constructor(query) {
|
|
5
|
+
this.query = query;
|
|
6
|
+
this.notify();
|
|
7
|
+
Dimensions.addEventListener("change", () => {
|
|
8
|
+
this.notify();
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
query;
|
|
12
|
+
listeners = [];
|
|
13
|
+
get orientation() {
|
|
14
|
+
const windowDimensions = Dimensions.get("window");
|
|
15
|
+
return windowDimensions.height > windowDimensions.width ? "portrait" : "landscape";
|
|
16
|
+
}
|
|
17
|
+
notify() {
|
|
18
|
+
this.listeners.forEach(listener => {
|
|
19
|
+
listener(this.orientation);
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
addListener(listener) {
|
|
23
|
+
this.listeners.push(listener);
|
|
24
|
+
}
|
|
25
|
+
removeListener(listener) {
|
|
26
|
+
const index = this.listeners.indexOf(listener);
|
|
27
|
+
if (index !== -1) this.listeners.splice(index, 1);
|
|
28
|
+
}
|
|
29
|
+
match(query, {
|
|
30
|
+
width,
|
|
31
|
+
height
|
|
32
|
+
}) {
|
|
33
|
+
return matchQuery(query, {
|
|
34
|
+
type: "screen",
|
|
35
|
+
orientation: height > width ? "portrait" : "landscape",
|
|
36
|
+
"device-width": width,
|
|
37
|
+
"device-height": height
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
get matches() {
|
|
41
|
+
const windowDimensions = Dimensions.get("window");
|
|
42
|
+
const matches = matchQuery(this.query, {
|
|
43
|
+
type: "screen",
|
|
44
|
+
orientation: this.orientation,
|
|
45
|
+
...windowDimensions,
|
|
46
|
+
"device-width": windowDimensions.width,
|
|
47
|
+
"device-height": windowDimensions.height
|
|
48
|
+
});
|
|
49
|
+
return matches;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
export { NativeMediaQueryList };
|
|
53
|
+
//# sourceMappingURL=mediaQueryList.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Dimensions","matchQuery","NativeMediaQueryList","constructor","query","notify","addEventListener","listeners","orientation","windowDimensions","get","height","width","forEach","listener","addListener","push","removeListener","index","indexOf","splice","match","type","matches"],"sources":["../../src/mediaQueryList.ts"],"sourcesContent":[null],"mappings":"AACA,SAASA,UAAA,QAAkB;AAE3B,SAASC,UAAA,QAAkB;AAMpB,MAAMC,oBAAA,CAA+C;EAQ1DC,YAAoBC,KAAA,EAAe;IAAf,KAAAA,KAAA,GAAAA,KAAA;IAClB,KAAKC,MAAA,CAAO;IACZL,UAAA,CAAWM,gBAAA,CAAiB,UAAU,MAAM;MAC1C,KAAKD,MAAA,CAAO;IACd,CAAC;EACH;EALoBD,KAAA;EAPZG,SAAA,GAAwB,EAAC;EAEjC,IAAYC,YAAA,EAA2B;IACrC,MAAMC,gBAAA,GAAmBT,UAAA,CAAWU,GAAA,CAAI,QAAQ;IAChD,OAAOD,gBAAA,CAAiBE,MAAA,GAASF,gBAAA,CAAiBG,KAAA,GAAQ,aAAa;EACzE;EASQP,OAAA,EAAS;IACf,KAAKE,SAAA,CAAUM,OAAA,CAASC,QAAA,IAAa;MACnCA,QAAA,CAAS,KAAKN,WAAW;IAC3B,CAAC;EACH;EAEAO,YAAYD,QAAA,EAA0B;IACpC,KAAKP,SAAA,CAAUS,IAAA,CAAKF,QAAQ;EAC9B;EAEAG,eAAeH,QAAA,EAA0B;IACvC,MAAMI,KAAA,GAAQ,KAAKX,SAAA,CAAUY,OAAA,CAAQL,QAAQ;IAC7C,IAAII,KAAA,KAAU,IAAI,KAAKX,SAAA,CAAUa,MAAA,CAAOF,KAAA,EAAO,CAAC;EAClD;EAEAG,MAAMjB,KAAA,EAAe;IAAEQ,KAAA;IAAOD;EAAO,GAA+C;IAClF,OAAOV,UAAA,CAAWG,KAAA,EAAO;MACvBkB,IAAA,EAAM;MACNd,WAAA,EAAaG,MAAA,GAASC,KAAA,GAAQ,aAAa;MAC3C,gBAAgBA,KAAA;MAChB,iBAAiBD;IACnB,CAAC;EACH;EAEA,IAAIY,QAAA,EAAmB;IACrB,MAAMd,gBAAA,GAAmBT,UAAA,CAAWU,GAAA,CAAI,QAAQ;IAChD,MAAMa,OAAA,GAAUtB,UAAA,CAAW,KAAKG,KAAA,EAAO;MACrCkB,IAAA,EAAM;MACNd,WAAA,EAAa,KAAKA,WAAA;MAClB,GAAGC,gBAAA;MACH,gBAAgBA,gBAAA,CAAiBG,KAAA;MACjC,iBAAiBH,gBAAA,CAAiBE;IACpC,CAAC;IACD,OAAOY,OAAA;EACT;AACF","ignoreList":[]}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import { Dimensions } from "react-native";
|
|
2
|
+
import { matchQuery } from "./matchQuery.native.js";
|
|
3
|
+
function _class_call_check(instance, Constructor) {
|
|
4
|
+
if (!(instance instanceof Constructor)) {
|
|
5
|
+
throw new TypeError("Cannot call a class as a function");
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
function _defineProperties(target, props) {
|
|
9
|
+
for (var i = 0; i < props.length; i++) {
|
|
10
|
+
var descriptor = props[i];
|
|
11
|
+
descriptor.enumerable = descriptor.enumerable || false;
|
|
12
|
+
descriptor.configurable = true;
|
|
13
|
+
if ("value" in descriptor) descriptor.writable = true;
|
|
14
|
+
Object.defineProperty(target, descriptor.key, descriptor);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
function _create_class(Constructor, protoProps, staticProps) {
|
|
18
|
+
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
19
|
+
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
20
|
+
return Constructor;
|
|
21
|
+
}
|
|
22
|
+
function _define_property(obj, key, value) {
|
|
23
|
+
if (key in obj) {
|
|
24
|
+
Object.defineProperty(obj, key, {
|
|
25
|
+
value,
|
|
26
|
+
enumerable: true,
|
|
27
|
+
configurable: true,
|
|
28
|
+
writable: true
|
|
29
|
+
});
|
|
30
|
+
} else {
|
|
31
|
+
obj[key] = value;
|
|
32
|
+
}
|
|
33
|
+
return obj;
|
|
34
|
+
}
|
|
35
|
+
var NativeMediaQueryList = /* @__PURE__ */function () {
|
|
36
|
+
"use strict";
|
|
37
|
+
|
|
38
|
+
function NativeMediaQueryList2(query) {
|
|
39
|
+
var _this = this;
|
|
40
|
+
_class_call_check(this, NativeMediaQueryList2);
|
|
41
|
+
_define_property(this, "query", void 0);
|
|
42
|
+
_define_property(this, "listeners", void 0);
|
|
43
|
+
this.query = query;
|
|
44
|
+
this.listeners = [];
|
|
45
|
+
this.notify();
|
|
46
|
+
Dimensions.addEventListener("change", function () {
|
|
47
|
+
_this.notify();
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
_create_class(NativeMediaQueryList2, [{
|
|
51
|
+
key: "orientation",
|
|
52
|
+
get: function get() {
|
|
53
|
+
var windowDimensions = Dimensions.get("window");
|
|
54
|
+
return windowDimensions.height > windowDimensions.width ? "portrait" : "landscape";
|
|
55
|
+
}
|
|
56
|
+
}, {
|
|
57
|
+
key: "notify",
|
|
58
|
+
value: function notify() {
|
|
59
|
+
var _this = this;
|
|
60
|
+
this.listeners.forEach(function (listener) {
|
|
61
|
+
listener(_this.orientation);
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
}, {
|
|
65
|
+
key: "addListener",
|
|
66
|
+
value: function addListener(listener) {
|
|
67
|
+
this.listeners.push(listener);
|
|
68
|
+
}
|
|
69
|
+
}, {
|
|
70
|
+
key: "removeListener",
|
|
71
|
+
value: function removeListener(listener) {
|
|
72
|
+
var index = this.listeners.indexOf(listener);
|
|
73
|
+
if (index !== -1) this.listeners.splice(index, 1);
|
|
74
|
+
}
|
|
75
|
+
}, {
|
|
76
|
+
key: "match",
|
|
77
|
+
value: function match(query, param) {
|
|
78
|
+
var {
|
|
79
|
+
width,
|
|
80
|
+
height
|
|
81
|
+
} = param;
|
|
82
|
+
return matchQuery(query, {
|
|
83
|
+
type: "screen",
|
|
84
|
+
orientation: height > width ? "portrait" : "landscape",
|
|
85
|
+
"device-width": width,
|
|
86
|
+
"device-height": height
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
}, {
|
|
90
|
+
key: "matches",
|
|
91
|
+
get: function get() {
|
|
92
|
+
var windowDimensions = Dimensions.get("window");
|
|
93
|
+
var matches = matchQuery(this.query, {
|
|
94
|
+
type: "screen",
|
|
95
|
+
orientation: this.orientation,
|
|
96
|
+
...windowDimensions,
|
|
97
|
+
"device-width": windowDimensions.width,
|
|
98
|
+
"device-height": windowDimensions.height
|
|
99
|
+
});
|
|
100
|
+
return matches;
|
|
101
|
+
}
|
|
102
|
+
}]);
|
|
103
|
+
return NativeMediaQueryList2;
|
|
104
|
+
}();
|
|
105
|
+
export { NativeMediaQueryList };
|
|
106
|
+
//# sourceMappingURL=mediaQueryList.native.js.map
|