@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.
Files changed (57) hide show
  1. package/LICENSE +21 -0
  2. package/dist/cjs/createMedia.cjs +30 -0
  3. package/dist/cjs/createMedia.native.js +33 -0
  4. package/dist/cjs/createMedia.native.js.map +1 -0
  5. package/dist/cjs/index.cjs +19 -0
  6. package/dist/cjs/index.native.js +22 -0
  7. package/dist/cjs/index.native.js.map +1 -0
  8. package/dist/cjs/matchMedia.cjs +26 -0
  9. package/dist/cjs/matchMedia.native.js +32 -0
  10. package/dist/cjs/matchMedia.native.js.map +1 -0
  11. package/dist/cjs/matchQuery.cjs +141 -0
  12. package/dist/cjs/matchQuery.native.js +150 -0
  13. package/dist/cjs/matchQuery.native.js.map +1 -0
  14. package/dist/cjs/mediaQueryList.cjs +73 -0
  15. package/dist/cjs/mediaQueryList.native.js +113 -0
  16. package/dist/cjs/mediaQueryList.native.js.map +1 -0
  17. package/dist/esm/createMedia.mjs +7 -0
  18. package/dist/esm/createMedia.mjs.map +1 -0
  19. package/dist/esm/createMedia.native.js +7 -0
  20. package/dist/esm/createMedia.native.js.map +1 -0
  21. package/dist/esm/index.js +3 -0
  22. package/dist/esm/index.js.map +1 -0
  23. package/dist/esm/index.mjs +3 -0
  24. package/dist/esm/index.mjs.map +1 -0
  25. package/dist/esm/index.native.js +3 -0
  26. package/dist/esm/index.native.js.map +1 -0
  27. package/dist/esm/matchMedia.mjs +3 -0
  28. package/dist/esm/matchMedia.mjs.map +1 -0
  29. package/dist/esm/matchMedia.native.js +6 -0
  30. package/dist/esm/matchMedia.native.js.map +1 -0
  31. package/dist/esm/matchQuery.mjs +117 -0
  32. package/dist/esm/matchQuery.mjs.map +1 -0
  33. package/dist/esm/matchQuery.native.js +123 -0
  34. package/dist/esm/matchQuery.native.js.map +1 -0
  35. package/dist/esm/mediaQueryList.mjs +50 -0
  36. package/dist/esm/mediaQueryList.mjs.map +1 -0
  37. package/dist/esm/mediaQueryList.native.js +87 -0
  38. package/dist/esm/mediaQueryList.native.js.map +1 -0
  39. package/package.json +47 -0
  40. package/src/createMedia.ts +19 -0
  41. package/src/index.ts +2 -0
  42. package/src/matchMedia.native.ts +7 -0
  43. package/src/matchMedia.ts +5 -0
  44. package/src/matchQuery.ts +176 -0
  45. package/src/mediaQueryList.ts +60 -0
  46. package/types/createMedia.d.ts +10 -0
  47. package/types/createMedia.d.ts.map +11 -0
  48. package/types/index.d.ts +4 -0
  49. package/types/index.d.ts.map +11 -0
  50. package/types/matchMedia.d.ts +4 -0
  51. package/types/matchMedia.d.ts.map +11 -0
  52. package/types/matchMedia.native.d.ts +4 -0
  53. package/types/matchMedia.native.d.ts.map +11 -0
  54. package/types/matchQuery.d.ts +12 -0
  55. package/types/matchQuery.d.ts.map +11 -0
  56. package/types/mediaQueryList.d.ts +20 -0
  57. 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,7 @@
1
+ import { setupMatchMedia } from "@hanzogui/web";
2
+ import { matchMedia } from "./matchMedia.mjs";
3
+ function createMedia(media) {
4
+ return setupMatchMedia(matchMedia), media;
5
+ }
6
+ export { createMedia };
7
+ //# sourceMappingURL=createMedia.mjs.map
@@ -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,7 @@
1
+ import { setupMatchMedia } from "@hanzogui/web";
2
+ import { matchMedia } from "./matchMedia.native.js";
3
+ function createMedia(media) {
4
+ return setupMatchMedia(matchMedia), media;
5
+ }
6
+ export { createMedia };
7
+ //# sourceMappingURL=createMedia.native.js.map
@@ -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,3 @@
1
+ export * from "./createMedia.mjs";
2
+ export * from "./matchMedia.mjs";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,cAAc;AACd,cAAc","ignoreList":[]}
@@ -0,0 +1,3 @@
1
+ export * from "./createMedia.mjs";
2
+ export * from "./matchMedia.mjs";
3
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,cAAc;AACd,cAAc","ignoreList":[]}
@@ -0,0 +1,3 @@
1
+ export * from "./createMedia.native.js";
2
+ export * from "./matchMedia.native.js";
3
+ //# sourceMappingURL=index.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,cAAc;AACd,cAAc","ignoreList":[]}
@@ -0,0 +1,3 @@
1
+ const matchMedia = globalThis.matchMedia;
2
+ export { matchMedia };
3
+ //# sourceMappingURL=matchMedia.mjs.map
@@ -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,6 @@
1
+ import { NativeMediaQueryList } from "./mediaQueryList.native.js";
2
+ var matchMedia = function (query) {
3
+ return new NativeMediaQueryList(query);
4
+ };
5
+ export { matchMedia };
6
+ //# sourceMappingURL=matchMedia.native.js.map
@@ -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
+ }