@jobber/components 9.16.6 → 9.16.7-JOB-119706-67b5332.3
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.
|
@@ -3,16 +3,45 @@
|
|
|
3
3
|
var React = require('react');
|
|
4
4
|
var DataList_const = require('./DataList.const-cjs.js');
|
|
5
5
|
|
|
6
|
+
const queryStores = new Map();
|
|
7
|
+
function getQueryStore(query) {
|
|
8
|
+
let store = queryStores.get(query);
|
|
9
|
+
if (!store) {
|
|
10
|
+
const mql = window.matchMedia(query);
|
|
11
|
+
const newStore = {
|
|
12
|
+
mql,
|
|
13
|
+
subscribers: new Set(),
|
|
14
|
+
matches: mql.matches,
|
|
15
|
+
onChange: event => {
|
|
16
|
+
newStore.matches = event.matches;
|
|
17
|
+
newStore.subscribers.forEach(notify => notify());
|
|
18
|
+
},
|
|
19
|
+
};
|
|
20
|
+
store = newStore;
|
|
21
|
+
queryStores.set(query, store);
|
|
22
|
+
}
|
|
23
|
+
return store;
|
|
24
|
+
}
|
|
6
25
|
const mediaQueryStore = {
|
|
7
26
|
subscribe(onChange, query) {
|
|
8
|
-
const
|
|
9
|
-
|
|
27
|
+
const store = getQueryStore(query);
|
|
28
|
+
if (store.subscribers.size === 0) {
|
|
29
|
+
store.matches = store.mql.matches;
|
|
30
|
+
store.mql.addEventListener("change", store.onChange);
|
|
31
|
+
}
|
|
32
|
+
store.subscribers.add(onChange);
|
|
10
33
|
return () => {
|
|
11
|
-
|
|
34
|
+
store.subscribers.delete(onChange);
|
|
35
|
+
if (store.subscribers.size === 0) {
|
|
36
|
+
store.mql.removeEventListener("change", store.onChange);
|
|
37
|
+
if (queryStores.get(query) === store) {
|
|
38
|
+
queryStores.delete(query);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
12
41
|
};
|
|
13
42
|
},
|
|
14
43
|
getSnapshot(query) {
|
|
15
|
-
return () =>
|
|
44
|
+
return () => getQueryStore(query).matches;
|
|
16
45
|
},
|
|
17
46
|
};
|
|
18
47
|
function useMediaQuery(query) {
|
|
@@ -1,16 +1,45 @@
|
|
|
1
1
|
import { useCallback, useSyncExternalStore } from 'react';
|
|
2
2
|
import { f as BREAKPOINT_SIZES } from './DataList.const-es.js';
|
|
3
3
|
|
|
4
|
+
const queryStores = new Map();
|
|
5
|
+
function getQueryStore(query) {
|
|
6
|
+
let store = queryStores.get(query);
|
|
7
|
+
if (!store) {
|
|
8
|
+
const mql = window.matchMedia(query);
|
|
9
|
+
const newStore = {
|
|
10
|
+
mql,
|
|
11
|
+
subscribers: new Set(),
|
|
12
|
+
matches: mql.matches,
|
|
13
|
+
onChange: event => {
|
|
14
|
+
newStore.matches = event.matches;
|
|
15
|
+
newStore.subscribers.forEach(notify => notify());
|
|
16
|
+
},
|
|
17
|
+
};
|
|
18
|
+
store = newStore;
|
|
19
|
+
queryStores.set(query, store);
|
|
20
|
+
}
|
|
21
|
+
return store;
|
|
22
|
+
}
|
|
4
23
|
const mediaQueryStore = {
|
|
5
24
|
subscribe(onChange, query) {
|
|
6
|
-
const
|
|
7
|
-
|
|
25
|
+
const store = getQueryStore(query);
|
|
26
|
+
if (store.subscribers.size === 0) {
|
|
27
|
+
store.matches = store.mql.matches;
|
|
28
|
+
store.mql.addEventListener("change", store.onChange);
|
|
29
|
+
}
|
|
30
|
+
store.subscribers.add(onChange);
|
|
8
31
|
return () => {
|
|
9
|
-
|
|
32
|
+
store.subscribers.delete(onChange);
|
|
33
|
+
if (store.subscribers.size === 0) {
|
|
34
|
+
store.mql.removeEventListener("change", store.onChange);
|
|
35
|
+
if (queryStores.get(query) === store) {
|
|
36
|
+
queryStores.delete(query);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
10
39
|
};
|
|
11
40
|
},
|
|
12
41
|
getSnapshot(query) {
|
|
13
|
-
return () =>
|
|
42
|
+
return () => getQueryStore(query).matches;
|
|
14
43
|
},
|
|
15
44
|
};
|
|
16
45
|
function useMediaQuery(query) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jobber/components",
|
|
3
|
-
"version": "9.16.
|
|
3
|
+
"version": "9.16.7-JOB-119706-67b5332.3+67b53324",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.cjs",
|
|
@@ -502,7 +502,7 @@
|
|
|
502
502
|
"@apollo/client": "^3.7.10",
|
|
503
503
|
"@csstools/postcss-global-data": "^1.0.3",
|
|
504
504
|
"@jobber/design": "0.121.0",
|
|
505
|
-
"@jobber/hooks": "2.21.
|
|
505
|
+
"@jobber/hooks": "2.21.2-JOB-119706-67b5332.139+67b53324",
|
|
506
506
|
"@rollup/plugin-alias": "^5.1.0",
|
|
507
507
|
"@rollup/plugin-commonjs": "^25.0.7",
|
|
508
508
|
"@rollup/plugin-node-resolve": "15.2.3",
|
|
@@ -553,5 +553,5 @@
|
|
|
553
553
|
"> 1%",
|
|
554
554
|
"IE 10"
|
|
555
555
|
],
|
|
556
|
-
"gitHead": "
|
|
556
|
+
"gitHead": "67b533245da1db2e5765f4dcab98e03677064f01"
|
|
557
557
|
}
|