@hanzogui/react-native-media-driver 2.0.0
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 +30 -0
- package/dist/cjs/createMedia.native.js +33 -0
- package/dist/cjs/createMedia.native.js.map +1 -0
- package/dist/cjs/index.cjs +19 -0
- package/dist/cjs/index.native.js +22 -0
- package/dist/cjs/index.native.js.map +1 -0
- package/dist/cjs/matchMedia.cjs +26 -0
- package/dist/cjs/matchMedia.native.js +32 -0
- package/dist/cjs/matchMedia.native.js.map +1 -0
- package/dist/cjs/matchQuery.cjs +141 -0
- package/dist/cjs/matchQuery.native.js +150 -0
- package/dist/cjs/matchQuery.native.js.map +1 -0
- package/dist/cjs/mediaQueryList.cjs +73 -0
- package/dist/cjs/mediaQueryList.native.js +113 -0
- package/dist/cjs/mediaQueryList.native.js.map +1 -0
- package/dist/esm/createMedia.mjs +7 -0
- package/dist/esm/createMedia.mjs.map +1 -0
- package/dist/esm/createMedia.native.js +7 -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 +117 -0
- package/dist/esm/matchQuery.mjs.map +1 -0
- package/dist/esm/matchQuery.native.js +123 -0
- package/dist/esm/matchQuery.native.js.map +1 -0
- package/dist/esm/mediaQueryList.mjs +50 -0
- package/dist/esm/mediaQueryList.mjs.map +1 -0
- package/dist/esm/mediaQueryList.native.js +87 -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,113 @@
|
|
|
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: !0
|
|
11
|
+
});
|
|
12
|
+
},
|
|
13
|
+
__copyProps = (to, from, except, desc) => {
|
|
14
|
+
if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
|
|
15
|
+
get: () => from[key],
|
|
16
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
17
|
+
});
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
21
|
+
value: !0
|
|
22
|
+
}), mod);
|
|
23
|
+
var mediaQueryList_exports = {};
|
|
24
|
+
__export(mediaQueryList_exports, {
|
|
25
|
+
NativeMediaQueryList: () => NativeMediaQueryList
|
|
26
|
+
});
|
|
27
|
+
module.exports = __toCommonJS(mediaQueryList_exports);
|
|
28
|
+
var import_react_native = require("react-native"),
|
|
29
|
+
import_matchQuery = require("./matchQuery.native.js");
|
|
30
|
+
function _class_call_check(instance, Constructor) {
|
|
31
|
+
if (!(instance instanceof Constructor)) throw new TypeError("Cannot call a class as a function");
|
|
32
|
+
}
|
|
33
|
+
function _defineProperties(target, props) {
|
|
34
|
+
for (var i = 0; i < props.length; i++) {
|
|
35
|
+
var descriptor = props[i];
|
|
36
|
+
descriptor.enumerable = descriptor.enumerable || !1, descriptor.configurable = !0, "value" in descriptor && (descriptor.writable = !0), Object.defineProperty(target, descriptor.key, descriptor);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
function _create_class(Constructor, protoProps, staticProps) {
|
|
40
|
+
return protoProps && _defineProperties(Constructor.prototype, protoProps), staticProps && _defineProperties(Constructor, staticProps), Constructor;
|
|
41
|
+
}
|
|
42
|
+
function _define_property(obj, key, value) {
|
|
43
|
+
return key in obj ? Object.defineProperty(obj, key, {
|
|
44
|
+
value,
|
|
45
|
+
enumerable: !0,
|
|
46
|
+
configurable: !0,
|
|
47
|
+
writable: !0
|
|
48
|
+
}) : obj[key] = value, obj;
|
|
49
|
+
}
|
|
50
|
+
var NativeMediaQueryList = /* @__PURE__ */function () {
|
|
51
|
+
"use strict";
|
|
52
|
+
|
|
53
|
+
function NativeMediaQueryList2(query) {
|
|
54
|
+
var _this = this;
|
|
55
|
+
_class_call_check(this, NativeMediaQueryList2), _define_property(this, "query", void 0), _define_property(this, "listeners", void 0), this.query = query, this.listeners = [], this.notify(), import_react_native.Dimensions.addEventListener("change", function () {
|
|
56
|
+
_this.notify();
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
return _create_class(NativeMediaQueryList2, [{
|
|
60
|
+
key: "orientation",
|
|
61
|
+
get: function () {
|
|
62
|
+
var windowDimensions = import_react_native.Dimensions.get("window");
|
|
63
|
+
return windowDimensions.height > windowDimensions.width ? "portrait" : "landscape";
|
|
64
|
+
}
|
|
65
|
+
}, {
|
|
66
|
+
key: "notify",
|
|
67
|
+
value: function () {
|
|
68
|
+
var _this = this;
|
|
69
|
+
this.listeners.forEach(function (listener) {
|
|
70
|
+
listener(_this.orientation);
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
}, {
|
|
74
|
+
key: "addListener",
|
|
75
|
+
value: function (listener) {
|
|
76
|
+
this.listeners.push(listener);
|
|
77
|
+
}
|
|
78
|
+
}, {
|
|
79
|
+
key: "removeListener",
|
|
80
|
+
value: function (listener) {
|
|
81
|
+
var index = this.listeners.indexOf(listener);
|
|
82
|
+
index !== -1 && this.listeners.splice(index, 1);
|
|
83
|
+
}
|
|
84
|
+
}, {
|
|
85
|
+
key: "match",
|
|
86
|
+
value: function (query, param) {
|
|
87
|
+
var {
|
|
88
|
+
width,
|
|
89
|
+
height
|
|
90
|
+
} = param;
|
|
91
|
+
return (0, import_matchQuery.matchQuery)(query, {
|
|
92
|
+
type: "screen",
|
|
93
|
+
orientation: height > width ? "portrait" : "landscape",
|
|
94
|
+
"device-width": width,
|
|
95
|
+
"device-height": height
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
}, {
|
|
99
|
+
key: "matches",
|
|
100
|
+
get: function () {
|
|
101
|
+
var windowDimensions = import_react_native.Dimensions.get("window"),
|
|
102
|
+
matches = (0, import_matchQuery.matchQuery)(this.query, {
|
|
103
|
+
type: "screen",
|
|
104
|
+
orientation: this.orientation,
|
|
105
|
+
...windowDimensions,
|
|
106
|
+
"device-width": windowDimensions.width,
|
|
107
|
+
"device-height": windowDimensions.height
|
|
108
|
+
});
|
|
109
|
+
return matches;
|
|
110
|
+
}
|
|
111
|
+
}]), NativeMediaQueryList2;
|
|
112
|
+
}();
|
|
113
|
+
//# 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","get","windowDimensions","height","width","forEach","listener"],"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,sBAE3B;AAMO,IAAAK,mBAAM,GAAAC,OAA+C;EAAAC,iBAAA,GAAAD,OAAA;AAAA,SAQ1DE,iBAAmCA,CAAAC,QAAA,EAAAC,WAAA;EAAf,MAAAD,QAAA,YAAAC,WAAA,GAClB,MAAK,IAAAC,SACL,oCAAW;AACT;AAAY,SACbC,kBAAAC,MAAA,EAAAC,KAAA;EACH,SAAAC,CAAA,MAAAA,CAAA,GAAAD,KAAA,CAAAE,MAAA,EAAAD,CAAA;IAZQ,IAAAE,UAAyB,GAAAH,KAAA,CAAAC,CAAA;IAEjCE,UAAY,CAAAC,UAA2B,GAAAD,UAAA,CAAAC,UAAA,QAAAD,UAAA,CAAAE,YAAA,kBAAAF,UAAA,KAAAA,UAAA,CAAAG,QAAA,QAAAC,MAAA,CAAAC,cAAA,CAAAT,MAAA,EAAAI,UAAA,CAAAM,GAAA,EAAAN,UAAA;EACrC;AACA;AAAuE,SACzEO,cAAAd,WAAA,EAAAe,UAAA,EAAAC,WAAA;EASQ,OAAAD,UAAS,IAAAb,iBAAA,CAAAF,WAAA,CAAAiB,SAAA,EAAAF,UAAA,GAAAC,WAAA,IAAAd,iBAAA,CAAAF,WAAA,EAAAgB,WAAA,GAAAhB,WAAA;AACf;AACE,SAAAkB,gBAAcA,CAAAC,GAAA,EAAWN,GAAA,EAAAxB,KAAA;EAAA,OAC1BwB,GAAA,IAAAM,GAAA,GAAAR,MAAA,CAAAC,cAAA,CAAAO,GAAA,EAAAN,GAAA;IACHxB,KAAA;IAEAmB,UAAY;IACVC,YAAK,GAAU;IACjBC,QAAA;EAEA,KAAAS,GAAA,CAAAN,GAAA,IAAexB,KAAA,EAAA8B,GAA0B;AACvC;AACA,IAAI3B,oBAAc,GAAK,eAAiB,YAAQ;EAClD;;EAEA,SAAM4B,qBAA+BA,CAAAC,KAA+C;IAClF,IAAAC,KAAA,GAAO;IAAkBxB,iBACjB,OAAAsB,qBAAA,GAAAF,gBAAA,yBAAAA,gBAAA,kCAAAG,KAAA,GAAAA,KAAA,OAAAE,SAAA,YAAAC,MAAA,IAAA7B,mBAAA,CAAA8B,UAAA,CAAAC,gBAAA;MACNJ,KAAA,CAAAE,MAAA,CAAa;IAA8B,EAC3C;EAAgB;EACC,OAClBV,aAAA,CAAAM,qBAAA,GACH;IAEIP,GAAA,eAAmB;IACrBc,GAAA,EAAM,SAAAA,CAAA;MAQN,IAAAC,gBAPgB,GAAAjC,mBAAgB,CAAA8B,UAAO,CAAAE,GAAA;MACrC,OAAMC,gBAAA,CAAAC,MAAA,GAAAD,gBAAA,CAAAE,KAAA;IACN;EAAkB,GACf;IAEHjB,GAAA;IACDxB,KAAA,WAAAA,CAAA;MAEH,IAAAiC,KAAA;MACF,KAAAC,SAAA,CAAAQ,OAAA,WAAAC,QAAA","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;EAGb,OAAAH,eAAA,CAAgBC,UAAU,GACnBE,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;EAGb,OAAAH,eAAA,CAAgBC,UAAU,GACnBE,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,CAAWD,UAAA","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,117 @@
|
|
|
1
|
+
const RE_MEDIA_QUERY = /(?:(only|not)?\s*([^\s()]+)(?:\s*and)?\s*)?(.+)?/i,
|
|
2
|
+
RE_MQ_EXPRESSION = /\(\s*([^\s:)]+)\s*(?::\s*([^\s)]+))?\s*\)/,
|
|
3
|
+
RE_MQ_FEATURE = /^(?:(min|max)-)?(.+)/,
|
|
4
|
+
RE_LENGTH_UNIT = /(em|rem|px|cm|mm|in|pt|pc)?$/,
|
|
5
|
+
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
|
+
typeMatch = query.type === "all" || values.type === query.type;
|
|
11
|
+
if (typeMatch && inverse || !(typeMatch || inverse)) return !1;
|
|
12
|
+
const expressionsMatch = query.expressions.every(expression => {
|
|
13
|
+
const feature = expression.feature,
|
|
14
|
+
modifier = expression.modifier;
|
|
15
|
+
let expValue = expression.value,
|
|
16
|
+
value = values[feature];
|
|
17
|
+
if (!value) return !1;
|
|
18
|
+
switch (feature) {
|
|
19
|
+
case "orientation":
|
|
20
|
+
case "scan":
|
|
21
|
+
return value.toLowerCase() === expValue.toLowerCase();
|
|
22
|
+
case "width":
|
|
23
|
+
case "height":
|
|
24
|
+
case "device-width":
|
|
25
|
+
case "device-height":
|
|
26
|
+
expValue = toPx(expValue), value = toPx(value);
|
|
27
|
+
break;
|
|
28
|
+
case "resolution":
|
|
29
|
+
expValue = toDpi(expValue), value = toDpi(value);
|
|
30
|
+
break;
|
|
31
|
+
case "aspect-ratio":
|
|
32
|
+
case "device-aspect-ratio":
|
|
33
|
+
case /* Deprecated */
|
|
34
|
+
"device-pixel-ratio":
|
|
35
|
+
expValue = toDecimal(expValue), value = toDecimal(value);
|
|
36
|
+
break;
|
|
37
|
+
case "grid":
|
|
38
|
+
case "color":
|
|
39
|
+
case "color-index":
|
|
40
|
+
case "monochrome":
|
|
41
|
+
expValue = Number.parseInt(expValue, 10) || 1, value = Number.parseInt(value, 10) || 0;
|
|
42
|
+
break;
|
|
43
|
+
}
|
|
44
|
+
switch (modifier) {
|
|
45
|
+
case "min":
|
|
46
|
+
return value >= expValue;
|
|
47
|
+
case "max":
|
|
48
|
+
return value <= expValue;
|
|
49
|
+
default:
|
|
50
|
+
return value === expValue;
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
return expressionsMatch && !inverse || !expressionsMatch && inverse;
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
function parseQuery(mediaQuery) {
|
|
57
|
+
return mediaQuery.split(",").map(query => {
|
|
58
|
+
query = query.trim();
|
|
59
|
+
const captures = query.match(RE_MEDIA_QUERY);
|
|
60
|
+
if (!captures) return null;
|
|
61
|
+
const modifier = captures[1],
|
|
62
|
+
type = captures[2],
|
|
63
|
+
expressions = (captures[3] || "").match(/\([^)]+\)/g) || [];
|
|
64
|
+
return {
|
|
65
|
+
inverse: !!modifier && modifier.toLowerCase() === "not",
|
|
66
|
+
type: type ? type.toLowerCase() : "all",
|
|
67
|
+
expressions: expressions.map(expression => {
|
|
68
|
+
const captures2 = expression.match(RE_MQ_EXPRESSION),
|
|
69
|
+
feature = captures2[1].toLowerCase().match(RE_MQ_FEATURE);
|
|
70
|
+
return {
|
|
71
|
+
modifier: feature[1],
|
|
72
|
+
feature: feature[2],
|
|
73
|
+
value: captures2[2]
|
|
74
|
+
};
|
|
75
|
+
})
|
|
76
|
+
};
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
function toDecimal(ratio) {
|
|
80
|
+
let decimal = Number(ratio),
|
|
81
|
+
numbers;
|
|
82
|
+
return decimal || (numbers = ratio.match(/^(\d+)\s*\/\s*(\d+)$/), decimal = numbers[1] / numbers[2]), decimal;
|
|
83
|
+
}
|
|
84
|
+
function toDpi(resolution) {
|
|
85
|
+
const value = Number.parseFloat(resolution);
|
|
86
|
+
switch (String(resolution).match(RE_RESOLUTION_UNIT)?.[1]) {
|
|
87
|
+
case "dpcm":
|
|
88
|
+
return value / 2.54;
|
|
89
|
+
case "dppx":
|
|
90
|
+
return value * 96;
|
|
91
|
+
default:
|
|
92
|
+
return value;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
function toPx(length) {
|
|
96
|
+
const value = Number.parseFloat(length);
|
|
97
|
+
switch (String(length).match(RE_LENGTH_UNIT)?.[1]) {
|
|
98
|
+
case "em":
|
|
99
|
+
return value * 16;
|
|
100
|
+
case "rem":
|
|
101
|
+
return value * 16;
|
|
102
|
+
case "cm":
|
|
103
|
+
return value * 96 / 2.54;
|
|
104
|
+
case "mm":
|
|
105
|
+
return value * 96 / 2.54 / 10;
|
|
106
|
+
case "in":
|
|
107
|
+
return value * 96;
|
|
108
|
+
case "pt":
|
|
109
|
+
return value * 72;
|
|
110
|
+
case "pc":
|
|
111
|
+
return value * 72 / 12;
|
|
112
|
+
default:
|
|
113
|
+
return value;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
export { matchQuery, parseQuery };
|
|
117
|
+
//# 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","captures2","ratio","decimal","numbers","resolution","parseFloat","String","length"],"sources":["../../src/matchQuery.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
var RE_MEDIA_QUERY = /(?:(only|not)?\s*([^\s()]+)(?:\s*and)?\s*)?(.+)?/i,
|
|
2
|
+
RE_MQ_EXPRESSION = /\(\s*([^\s:)]+)\s*(?::\s*([^\s)]+))?\s*\)/,
|
|
3
|
+
RE_MQ_FEATURE = /^(?:(min|max)-)?(.+)/,
|
|
4
|
+
RE_LENGTH_UNIT = /(em|rem|px|cm|mm|in|pt|pc)?$/,
|
|
5
|
+
RE_RESOLUTION_UNIT = /(dpi|dpcm|dppx)?$/;
|
|
6
|
+
function matchQuery(mediaQuery, values) {
|
|
7
|
+
return parseQuery(mediaQuery).some(function (query) {
|
|
8
|
+
if (query) {
|
|
9
|
+
var inverse = query.inverse,
|
|
10
|
+
typeMatch = query.type === "all" || values.type === query.type;
|
|
11
|
+
if (typeMatch && inverse || !(typeMatch || inverse)) return !1;
|
|
12
|
+
var expressionsMatch = query.expressions.every(function (expression) {
|
|
13
|
+
var feature = expression.feature,
|
|
14
|
+
modifier = expression.modifier,
|
|
15
|
+
expValue = expression.value,
|
|
16
|
+
value = values[feature];
|
|
17
|
+
if (!value) return !1;
|
|
18
|
+
switch (feature) {
|
|
19
|
+
case "orientation":
|
|
20
|
+
case "scan":
|
|
21
|
+
return value.toLowerCase() === expValue.toLowerCase();
|
|
22
|
+
case "width":
|
|
23
|
+
case "height":
|
|
24
|
+
case "device-width":
|
|
25
|
+
case "device-height":
|
|
26
|
+
expValue = toPx(expValue), value = toPx(value);
|
|
27
|
+
break;
|
|
28
|
+
case "resolution":
|
|
29
|
+
expValue = toDpi(expValue), value = toDpi(value);
|
|
30
|
+
break;
|
|
31
|
+
case "aspect-ratio":
|
|
32
|
+
case "device-aspect-ratio":
|
|
33
|
+
case /* Deprecated */
|
|
34
|
+
"device-pixel-ratio":
|
|
35
|
+
expValue = toDecimal(expValue), value = toDecimal(value);
|
|
36
|
+
break;
|
|
37
|
+
case "grid":
|
|
38
|
+
case "color":
|
|
39
|
+
case "color-index":
|
|
40
|
+
case "monochrome":
|
|
41
|
+
expValue = Number.parseInt(expValue, 10) || 1, value = Number.parseInt(value, 10) || 0;
|
|
42
|
+
break;
|
|
43
|
+
}
|
|
44
|
+
switch (modifier) {
|
|
45
|
+
case "min":
|
|
46
|
+
return value >= expValue;
|
|
47
|
+
case "max":
|
|
48
|
+
return value <= expValue;
|
|
49
|
+
default:
|
|
50
|
+
return value === expValue;
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
return expressionsMatch && !inverse || !expressionsMatch && inverse;
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
function parseQuery(mediaQuery) {
|
|
58
|
+
return mediaQuery.split(",").map(function (query) {
|
|
59
|
+
query = query.trim();
|
|
60
|
+
var captures = query.match(RE_MEDIA_QUERY);
|
|
61
|
+
if (!captures) return null;
|
|
62
|
+
var modifier = captures[1],
|
|
63
|
+
type = captures[2],
|
|
64
|
+
expressionsCapture = captures[3] || "",
|
|
65
|
+
expressions = expressionsCapture.match(/\([^)]+\)/g) || [];
|
|
66
|
+
return {
|
|
67
|
+
inverse: !!modifier && modifier.toLowerCase() === "not",
|
|
68
|
+
type: type ? type.toLowerCase() : "all",
|
|
69
|
+
expressions: expressions.map(function (expression) {
|
|
70
|
+
var captures2 = expression.match(RE_MQ_EXPRESSION),
|
|
71
|
+
feature = captures2[1].toLowerCase().match(RE_MQ_FEATURE);
|
|
72
|
+
return {
|
|
73
|
+
modifier: feature[1],
|
|
74
|
+
feature: feature[2],
|
|
75
|
+
value: captures2[2]
|
|
76
|
+
};
|
|
77
|
+
})
|
|
78
|
+
};
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
function toDecimal(ratio) {
|
|
82
|
+
var decimal = Number(ratio),
|
|
83
|
+
numbers;
|
|
84
|
+
return decimal || (numbers = ratio.match(/^(\d+)\s*\/\s*(\d+)$/), decimal = numbers[1] / numbers[2]), decimal;
|
|
85
|
+
}
|
|
86
|
+
function toDpi(resolution) {
|
|
87
|
+
var _String_match,
|
|
88
|
+
value = Number.parseFloat(resolution),
|
|
89
|
+
units = (_String_match = String(resolution).match(RE_RESOLUTION_UNIT)) === null || _String_match === void 0 ? void 0 : _String_match[1];
|
|
90
|
+
switch (units) {
|
|
91
|
+
case "dpcm":
|
|
92
|
+
return value / 2.54;
|
|
93
|
+
case "dppx":
|
|
94
|
+
return value * 96;
|
|
95
|
+
default:
|
|
96
|
+
return value;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
function toPx(length) {
|
|
100
|
+
var _String_match,
|
|
101
|
+
value = Number.parseFloat(length),
|
|
102
|
+
units = (_String_match = String(length).match(RE_LENGTH_UNIT)) === null || _String_match === void 0 ? void 0 : _String_match[1];
|
|
103
|
+
switch (units) {
|
|
104
|
+
case "em":
|
|
105
|
+
return value * 16;
|
|
106
|
+
case "rem":
|
|
107
|
+
return value * 16;
|
|
108
|
+
case "cm":
|
|
109
|
+
return value * 96 / 2.54;
|
|
110
|
+
case "mm":
|
|
111
|
+
return value * 96 / 2.54 / 10;
|
|
112
|
+
case "in":
|
|
113
|
+
return value * 96;
|
|
114
|
+
case "pt":
|
|
115
|
+
return value * 72;
|
|
116
|
+
case "pc":
|
|
117
|
+
return value * 72 / 12;
|
|
118
|
+
default:
|
|
119
|
+
return value;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
export { matchQuery, parseQuery };
|
|
123
|
+
//# 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,50 @@
|
|
|
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(), Dimensions.addEventListener("change", () => {
|
|
7
|
+
this.notify();
|
|
8
|
+
});
|
|
9
|
+
}
|
|
10
|
+
listeners = [];
|
|
11
|
+
get orientation() {
|
|
12
|
+
const windowDimensions = Dimensions.get("window");
|
|
13
|
+
return windowDimensions.height > windowDimensions.width ? "portrait" : "landscape";
|
|
14
|
+
}
|
|
15
|
+
notify() {
|
|
16
|
+
this.listeners.forEach(listener => {
|
|
17
|
+
listener(this.orientation);
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
addListener(listener) {
|
|
21
|
+
this.listeners.push(listener);
|
|
22
|
+
}
|
|
23
|
+
removeListener(listener) {
|
|
24
|
+
const index = this.listeners.indexOf(listener);
|
|
25
|
+
index !== -1 && this.listeners.splice(index, 1);
|
|
26
|
+
}
|
|
27
|
+
match(query, {
|
|
28
|
+
width,
|
|
29
|
+
height
|
|
30
|
+
}) {
|
|
31
|
+
return matchQuery(query, {
|
|
32
|
+
type: "screen",
|
|
33
|
+
orientation: height > width ? "portrait" : "landscape",
|
|
34
|
+
"device-width": width,
|
|
35
|
+
"device-height": height
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
get matches() {
|
|
39
|
+
const windowDimensions = Dimensions.get("window");
|
|
40
|
+
return matchQuery(this.query, {
|
|
41
|
+
type: "screen",
|
|
42
|
+
orientation: this.orientation,
|
|
43
|
+
...windowDimensions,
|
|
44
|
+
"device-width": windowDimensions.width,
|
|
45
|
+
"device-height": windowDimensions.height
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
export { NativeMediaQueryList };
|
|
50
|
+
//# 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,GACZL,UAAA,CAAWM,gBAAA,CAAiB,UAAU,MAAM;MAC1C,KAAKD,MAAA,CAAO;IACd,CAAC;EACH;EAZQE,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;IACzCI,KAAA,KAAU,MAAI,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;IAQhD,OAPgBT,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;EAEH;AACF","ignoreList":[]}
|
|
@@ -0,0 +1,87 @@
|
|
|
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)) throw new TypeError("Cannot call a class as a function");
|
|
5
|
+
}
|
|
6
|
+
function _defineProperties(target, props) {
|
|
7
|
+
for (var i = 0; i < props.length; i++) {
|
|
8
|
+
var descriptor = props[i];
|
|
9
|
+
descriptor.enumerable = descriptor.enumerable || !1, descriptor.configurable = !0, "value" in descriptor && (descriptor.writable = !0), Object.defineProperty(target, descriptor.key, descriptor);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
function _create_class(Constructor, protoProps, staticProps) {
|
|
13
|
+
return protoProps && _defineProperties(Constructor.prototype, protoProps), staticProps && _defineProperties(Constructor, staticProps), Constructor;
|
|
14
|
+
}
|
|
15
|
+
function _define_property(obj, key, value) {
|
|
16
|
+
return key in obj ? Object.defineProperty(obj, key, {
|
|
17
|
+
value,
|
|
18
|
+
enumerable: !0,
|
|
19
|
+
configurable: !0,
|
|
20
|
+
writable: !0
|
|
21
|
+
}) : obj[key] = value, obj;
|
|
22
|
+
}
|
|
23
|
+
var NativeMediaQueryList = /* @__PURE__ */function () {
|
|
24
|
+
"use strict";
|
|
25
|
+
|
|
26
|
+
function NativeMediaQueryList2(query) {
|
|
27
|
+
var _this = this;
|
|
28
|
+
_class_call_check(this, NativeMediaQueryList2), _define_property(this, "query", void 0), _define_property(this, "listeners", void 0), this.query = query, this.listeners = [], this.notify(), Dimensions.addEventListener("change", function () {
|
|
29
|
+
_this.notify();
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
return _create_class(NativeMediaQueryList2, [{
|
|
33
|
+
key: "orientation",
|
|
34
|
+
get: function () {
|
|
35
|
+
var windowDimensions = Dimensions.get("window");
|
|
36
|
+
return windowDimensions.height > windowDimensions.width ? "portrait" : "landscape";
|
|
37
|
+
}
|
|
38
|
+
}, {
|
|
39
|
+
key: "notify",
|
|
40
|
+
value: function () {
|
|
41
|
+
var _this = this;
|
|
42
|
+
this.listeners.forEach(function (listener) {
|
|
43
|
+
listener(_this.orientation);
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
}, {
|
|
47
|
+
key: "addListener",
|
|
48
|
+
value: function (listener) {
|
|
49
|
+
this.listeners.push(listener);
|
|
50
|
+
}
|
|
51
|
+
}, {
|
|
52
|
+
key: "removeListener",
|
|
53
|
+
value: function (listener) {
|
|
54
|
+
var index = this.listeners.indexOf(listener);
|
|
55
|
+
index !== -1 && this.listeners.splice(index, 1);
|
|
56
|
+
}
|
|
57
|
+
}, {
|
|
58
|
+
key: "match",
|
|
59
|
+
value: function (query, param) {
|
|
60
|
+
var {
|
|
61
|
+
width,
|
|
62
|
+
height
|
|
63
|
+
} = param;
|
|
64
|
+
return matchQuery(query, {
|
|
65
|
+
type: "screen",
|
|
66
|
+
orientation: height > width ? "portrait" : "landscape",
|
|
67
|
+
"device-width": width,
|
|
68
|
+
"device-height": height
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
}, {
|
|
72
|
+
key: "matches",
|
|
73
|
+
get: function () {
|
|
74
|
+
var windowDimensions = Dimensions.get("window"),
|
|
75
|
+
matches = matchQuery(this.query, {
|
|
76
|
+
type: "screen",
|
|
77
|
+
orientation: this.orientation,
|
|
78
|
+
...windowDimensions,
|
|
79
|
+
"device-width": windowDimensions.width,
|
|
80
|
+
"device-height": windowDimensions.height
|
|
81
|
+
});
|
|
82
|
+
return matches;
|
|
83
|
+
}
|
|
84
|
+
}]), NativeMediaQueryList2;
|
|
85
|
+
}();
|
|
86
|
+
export { NativeMediaQueryList };
|
|
87
|
+
//# sourceMappingURL=mediaQueryList.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Dimensions","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","value","NativeMediaQueryList","NativeMediaQueryList2","query","_this","listeners","notify","addEventListener","get","windowDimensions","height","width","forEach","listener","orientation"],"sources":["../../src/mediaQueryList.ts"],"sourcesContent":[null],"mappings":"AACA,SAASA,UAAA,QAAkB;AAE3B,SAASC,UAAA,QAAkB;AAMpB,SAAMC,kBAA+CC,QAAA,EAAAC,WAAA;EAQ1D,MAAAD,QAAoB,YAAeC,WAAA,GAAf,UAAAC,SAAA;AAClB;AAEE,SAAAC,iBAAYA,CAAAC,MAAA,EAAAC,KAAA;EAAA,KACb,IAAAC,CAAA,MAAAA,CAAA,GAAAD,KAAA,CAAAE,MAAA,EAAAD,CAAA;IACH,IAAAE,UAAA,GAAAH,KAAA,CAAAC,CAAA;IAZQE,UAAwB,CAACC,UAAA,GAAAD,UAAA,CAAAC,UAAA,QAAAD,UAAA,CAAAE,YAAA,kBAAAF,UAAA,KAAAA,UAAA,CAAAG,QAAA,QAAAC,MAAA,CAAAC,cAAA,CAAAT,MAAA,EAAAI,UAAA,CAAAM,GAAA,EAAAN,UAAA;EAEjC;AACE;AACA,SAAAO,aAAOA,CAAAd,WAAiB,EAAAe,UAAS,EAAAC,WAAiB;EACpD,OAAAD,UAAA,IAAAb,iBAAA,CAAAF,WAAA,CAAAiB,SAAA,EAAAF,UAAA,GAAAC,WAAA,IAAAd,iBAAA,CAAAF,WAAA,EAAAgB,WAAA,GAAAhB,WAAA;AAAA;AAUE,SAAKkB,gBAAUA,CAAAC,GAAS,EAAAN,GAAA,EAAAO,KAAa;EACnC,OAAAP,GAAA,IAASM,GAAA,GAAKR,MAAA,CAAAC,cAAW,CAAAO,GAAA,EAAAN,GAAA;IAC3BO,KAAC;IACHZ,UAAA;IAEAC,YAAY;IACVC,QAAK;EACP,KAAAS,GAAA,CAAAN,GAAA,IAAAO,KAAA,EAAAD,GAAA;AAAA;AAGE,IAAAE,oBAAmB,kBAAkB,YAAQ;EAC7C,YAAc;;EAChB,SAAAC,sBAAAC,KAAA;IAEA,IAAMC,KAAA,GAAe,IAAE;IACrB1B,iBAAO,CAAW,MAAAwB,qBAAO,GAAAJ,gBAAA,yBAAAA,gBAAA,kCAAAK,KAAA,GAAAA,KAAA,OAAAE,SAAA,YAAAC,MAAA,IAAA9B,UAAA,CAAA+B,gBAAA;MACvBH,KAAA,CAAME,MAAA;IAAA,EACN;EAA2C;EAC3B,OAChBZ,aAAA,CAAiBQ,qBAAA,GACnB;IACFT,GAAA;IAEIe,GAAA,WAAAA,CAAA,EAAmB;MACrB,IAAMC,gBAAA,GAAmBjC,UAAW,CAAAgC,GAAI,SAAQ;MAQhD,OAPgBC,gBAAgB,CAAAC,MAAO,GAAAD,gBAAA,CAAAE,KAAA;IACrC;EAAM,GACY;IAElBlB,GAAA;IACAO,KAAA,WAAAA,CAAA,EAAiB;MAClB,IAAAI,KAAA;MAEH,KAAAC,SAAA,CAAAO,OAAA,WAAAC,QAAA;QACFA,QAAA,CAAAT,KAAA,CAAAU,WAAA","ignoreList":[]}
|
package/package.json
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@hanzogui/react-native-media-driver",
|
|
3
|
+
"version": "2.0.0",
|
|
4
|
+
"license": "MIT",
|
|
5
|
+
"source": "src/index.ts",
|
|
6
|
+
"files": [
|
|
7
|
+
"src",
|
|
8
|
+
"types",
|
|
9
|
+
"dist"
|
|
10
|
+
],
|
|
11
|
+
"type": "module",
|
|
12
|
+
"sideEffects": false,
|
|
13
|
+
"main": "dist/cjs",
|
|
14
|
+
"module": "dist/esm",
|
|
15
|
+
"types": "./types/index.d.ts",
|
|
16
|
+
"exports": {
|
|
17
|
+
"./package.json": "./package.json",
|
|
18
|
+
".": {
|
|
19
|
+
"types": "./types/index.d.ts",
|
|
20
|
+
"react-native": "./dist/esm/index.native.js",
|
|
21
|
+
"browser": "./dist/esm/index.mjs",
|
|
22
|
+
"module": "./dist/esm/index.mjs",
|
|
23
|
+
"import": "./dist/esm/index.mjs",
|
|
24
|
+
"require": "./dist/cjs/index.cjs",
|
|
25
|
+
"default": "./dist/esm/index.mjs"
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
"publishConfig": {
|
|
29
|
+
"access": "public"
|
|
30
|
+
},
|
|
31
|
+
"scripts": {
|
|
32
|
+
"build": "hanzo-gui-build",
|
|
33
|
+
"watch": "hanzo-gui-build --watch",
|
|
34
|
+
"clean": "hanzo-gui-build clean",
|
|
35
|
+
"clean:build": "hanzo-gui-build clean:build"
|
|
36
|
+
},
|
|
37
|
+
"dependencies": {
|
|
38
|
+
"@hanzogui/web": "workspace:*"
|
|
39
|
+
},
|
|
40
|
+
"devDependencies": {
|
|
41
|
+
"@hanzogui/build": "workspace:*",
|
|
42
|
+
"react-native": "0.83.2"
|
|
43
|
+
},
|
|
44
|
+
"peerDependencies": {
|
|
45
|
+
"react-native": "*"
|
|
46
|
+
}
|
|
47
|
+
}
|