@grupalia/rn-ui-kit 0.24.0 → 0.25.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/lib/commonjs/UIKitProvider.js +1 -0
- package/lib/commonjs/UIKitProvider.js.map +1 -1
- package/lib/commonjs/hooks/index.js +11 -0
- package/lib/commonjs/hooks/index.js.map +1 -1
- package/lib/commonjs/hooks/useAppUpdateCheck.js +101 -0
- package/lib/commonjs/hooks/useAppUpdateCheck.js.map +1 -0
- package/lib/module/UIKitProvider.js +1 -0
- package/lib/module/UIKitProvider.js.map +1 -1
- package/lib/module/hooks/index.js +1 -0
- package/lib/module/hooks/index.js.map +1 -1
- package/lib/module/hooks/useAppUpdateCheck.js +96 -0
- package/lib/module/hooks/useAppUpdateCheck.js.map +1 -0
- package/lib/typescript/commonjs/UIKitProvider.d.ts +2 -0
- package/lib/typescript/commonjs/UIKitProvider.d.ts.map +1 -1
- package/lib/typescript/commonjs/hooks/index.d.ts +1 -0
- package/lib/typescript/commonjs/hooks/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/hooks/useAppUpdateCheck.d.ts +16 -0
- package/lib/typescript/commonjs/hooks/useAppUpdateCheck.d.ts.map +1 -0
- package/lib/typescript/module/UIKitProvider.d.ts +2 -0
- package/lib/typescript/module/UIKitProvider.d.ts.map +1 -1
- package/lib/typescript/module/hooks/index.d.ts +1 -0
- package/lib/typescript/module/hooks/index.d.ts.map +1 -1
- package/lib/typescript/module/hooks/useAppUpdateCheck.d.ts +16 -0
- package/lib/typescript/module/hooks/useAppUpdateCheck.d.ts.map +1 -0
- package/package.json +1 -1
|
@@ -12,6 +12,7 @@ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r
|
|
|
12
12
|
const UIKitContext = /*#__PURE__*/(0, _react.createContext)({
|
|
13
13
|
config: {
|
|
14
14
|
internetConnection: undefined,
|
|
15
|
+
appVersionCheck: undefined,
|
|
15
16
|
timezone: 'America/Mexico_City'
|
|
16
17
|
}
|
|
17
18
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","UIKitContext","createContext","config","internetConnection","undefined","timezone","UIKitProvider","children","contextValue","React","useMemo","jsx","Provider","value","useUIKitConfig","context","useContext","Error","useTimezone"],"sourceRoot":"../../src","sources":["UIKitProvider.tsx"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAAoE,IAAAC,WAAA,GAAAD,OAAA;AAAA,SAAAD,wBAAAG,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAL,uBAAA,YAAAA,CAAAG,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","UIKitContext","createContext","config","internetConnection","undefined","appVersionCheck","timezone","UIKitProvider","children","contextValue","React","useMemo","jsx","Provider","value","useUIKitConfig","context","useContext","Error","useTimezone"],"sourceRoot":"../../src","sources":["UIKitProvider.tsx"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAAoE,IAAAC,WAAA,GAAAD,OAAA;AAAA,SAAAD,wBAAAG,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAL,uBAAA,YAAAA,CAAAG,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAepE,MAAMkB,YAAY,gBAAG,IAAAC,oBAAa,EAAmB;EACnDC,MAAM,EAAE;IACNC,kBAAkB,EAAEC,SAAS;IAC7BC,eAAe,EAAED,SAAS;IAC1BE,QAAQ,EAAE;EACZ;AACF,CAAC,CAAC;AAOK,SAASC,aAAaA,CAAC;EAAEC,QAAQ;EAAEN;AAA2B,CAAC,EAAE;EACtE,MAAMO,YAAY,GAAGC,cAAK,CAACC,OAAO,CAAC,OAAO;IAAET;EAAO,CAAC,CAAC,EAAE,CAACA,MAAM,CAAC,CAAC;EAEhE,oBACE,IAAAtB,WAAA,CAAAgC,GAAA,EAACZ,YAAY,CAACa,QAAQ;IAACC,KAAK,EAAEL,YAAa;IAAAD,QAAA,EACxCA;EAAQ,CACY,CAAC;AAE5B;AAEO,SAASO,cAAcA,CAAA,EAAgB;EAC5C,MAAMC,OAAO,GAAG,IAAAC,iBAAU,EAACjB,YAAY,CAAC;EACxC,IAAI,CAACgB,OAAO,EAAE;IACZ,MAAM,IAAIE,KAAK,CAAC,oDAAoD,CAAC;EACvE;EACA,OAAOF,OAAO,CAACd,MAAM;AACvB;AAEO,SAASiB,WAAWA,CAAA,EAAW;EACpC,MAAMjB,MAAM,GAAGa,cAAc,CAAC,CAAC;EAE/B,OAAOb,MAAM,CAACI,QAAQ;AACxB","ignoreList":[]}
|
|
@@ -47,4 +47,15 @@ Object.keys(_useTimezonedDate).forEach(function (key) {
|
|
|
47
47
|
}
|
|
48
48
|
});
|
|
49
49
|
});
|
|
50
|
+
var _useAppUpdateCheck = require("./useAppUpdateCheck");
|
|
51
|
+
Object.keys(_useAppUpdateCheck).forEach(function (key) {
|
|
52
|
+
if (key === "default" || key === "__esModule") return;
|
|
53
|
+
if (key in exports && exports[key] === _useAppUpdateCheck[key]) return;
|
|
54
|
+
Object.defineProperty(exports, key, {
|
|
55
|
+
enumerable: true,
|
|
56
|
+
get: function () {
|
|
57
|
+
return _useAppUpdateCheck[key];
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
});
|
|
50
61
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_useBreakpoints","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_useIsAboveBreakpoint","_useInternetConnectionStatus","_useTimezonedDate"],"sourceRoot":"../../../src","sources":["hooks/index.ts"],"mappings":";;;;;AAAA,IAAAA,eAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,eAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,eAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,eAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,qBAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,qBAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,qBAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,qBAAA,CAAAL,GAAA;IAAA;EAAA;AAAA;AACA,IAAAM,4BAAA,GAAAV,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAQ,4BAAA,EAAAP,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAM,4BAAA,CAAAN,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAE,4BAAA,CAAAN,GAAA;IAAA;EAAA;AAAA;AACA,IAAAO,iBAAA,GAAAX,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAS,iBAAA,EAAAR,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAO,iBAAA,CAAAP,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAG,iBAAA,CAAAP,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_useBreakpoints","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_useIsAboveBreakpoint","_useInternetConnectionStatus","_useTimezonedDate","_useAppUpdateCheck"],"sourceRoot":"../../../src","sources":["hooks/index.ts"],"mappings":";;;;;AAAA,IAAAA,eAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,eAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,eAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,eAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,qBAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,qBAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,qBAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,qBAAA,CAAAL,GAAA;IAAA;EAAA;AAAA;AACA,IAAAM,4BAAA,GAAAV,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAQ,4BAAA,EAAAP,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAM,4BAAA,CAAAN,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAE,4BAAA,CAAAN,GAAA;IAAA;EAAA;AAAA;AACA,IAAAO,iBAAA,GAAAX,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAS,iBAAA,EAAAR,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAO,iBAAA,CAAAP,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAG,iBAAA,CAAAP,GAAA;IAAA;EAAA;AAAA;AACA,IAAAQ,kBAAA,GAAAZ,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAU,kBAAA,EAAAT,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAQ,kBAAA,CAAAR,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAI,kBAAA,CAAAR,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
exports.useAppUpdateCheck = useAppUpdateCheck;
|
|
8
|
+
var _react = require("react");
|
|
9
|
+
var _UIKitProvider = require("../UIKitProvider");
|
|
10
|
+
function shouldForceUpdate(current, latest) {
|
|
11
|
+
const toSemver = v => {
|
|
12
|
+
const [majorStr = '0', minorStr = '0', patchStr = '0'] = v.split('.');
|
|
13
|
+
const major = Number.parseInt(majorStr, 10);
|
|
14
|
+
const minor = Number.parseInt(minorStr, 10);
|
|
15
|
+
const patch = Number.parseInt(patchStr, 10);
|
|
16
|
+
return {
|
|
17
|
+
major,
|
|
18
|
+
minor,
|
|
19
|
+
patch
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
const currentSemver = toSemver(current);
|
|
23
|
+
const latestSemver = toSemver(latest);
|
|
24
|
+
if (latestSemver.major > currentSemver.major) return true;
|
|
25
|
+
if (latestSemver.major < currentSemver.major) return false;
|
|
26
|
+
if (latestSemver.minor > currentSemver.minor) return true;
|
|
27
|
+
if (latestSemver.minor < currentSemver.minor) return false;
|
|
28
|
+
return latestSemver.patch > currentSemver.patch;
|
|
29
|
+
}
|
|
30
|
+
function useAppUpdateCheck(config) {
|
|
31
|
+
const uiKitConfig = (0, _UIKitProvider.useUIKitConfig)();
|
|
32
|
+
const selectedConfig = config ?? uiKitConfig.appVersionCheck;
|
|
33
|
+
if (!selectedConfig) {
|
|
34
|
+
throw new Error(`useAppUpdateCheck requires either a 'config' prop or 'appVersion' in UIKitProvider config.
|
|
35
|
+
Please provide one of them to use this hook. Example:
|
|
36
|
+
|
|
37
|
+
const config = {
|
|
38
|
+
getCurrentVersion: () => '1.2.3',
|
|
39
|
+
getLatestVersion: async (platform) => {
|
|
40
|
+
const response = await fetch('https://api.example.com/app_versions/check', {
|
|
41
|
+
headers: { 'X-App': 'your.app.id', 'X-OS': platform },
|
|
42
|
+
});
|
|
43
|
+
const json = await response.json();
|
|
44
|
+
return { version: json?.data?.version ?? null };
|
|
45
|
+
},
|
|
46
|
+
checkInterval: 180000, // 3 minutes
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
const status = useAppUpdateCheck(config);
|
|
50
|
+
`);
|
|
51
|
+
}
|
|
52
|
+
const {
|
|
53
|
+
getCurrentVersion,
|
|
54
|
+
getLatestVersion,
|
|
55
|
+
checkInterval
|
|
56
|
+
} = selectedConfig;
|
|
57
|
+
const [needsUpdate, setNeedsUpdate] = (0, _react.useState)(false);
|
|
58
|
+
const [currentVersion, setCurrentVersion] = (0, _react.useState)(null);
|
|
59
|
+
const [latestVersion, setLatestVersion] = (0, _react.useState)(null);
|
|
60
|
+
const intervalRef = (0, _react.useRef)(null);
|
|
61
|
+
const performCheck = (0, _react.useCallback)(async () => {
|
|
62
|
+
try {
|
|
63
|
+
const [current, latestInfo] = await Promise.all([Promise.resolve(getCurrentVersion()), getLatestVersion()]);
|
|
64
|
+
const latest = latestInfo?.version;
|
|
65
|
+
setCurrentVersion(current);
|
|
66
|
+
setLatestVersion(latest);
|
|
67
|
+
if (current && latest) {
|
|
68
|
+
setNeedsUpdate(shouldForceUpdate(current, latest));
|
|
69
|
+
} else {
|
|
70
|
+
setNeedsUpdate(false);
|
|
71
|
+
}
|
|
72
|
+
} catch {
|
|
73
|
+
setNeedsUpdate(false);
|
|
74
|
+
}
|
|
75
|
+
}, [getCurrentVersion, getLatestVersion]);
|
|
76
|
+
(0, _react.useEffect)(() => {
|
|
77
|
+
if (intervalRef.current) {
|
|
78
|
+
clearInterval(intervalRef.current);
|
|
79
|
+
intervalRef.current = null;
|
|
80
|
+
}
|
|
81
|
+
performCheck();
|
|
82
|
+
if (checkInterval > 0) {
|
|
83
|
+
intervalRef.current = setInterval(() => {
|
|
84
|
+
performCheck();
|
|
85
|
+
}, checkInterval);
|
|
86
|
+
}
|
|
87
|
+
return () => {
|
|
88
|
+
if (intervalRef.current) {
|
|
89
|
+
clearInterval(intervalRef.current);
|
|
90
|
+
intervalRef.current = null;
|
|
91
|
+
}
|
|
92
|
+
};
|
|
93
|
+
}, [performCheck, checkInterval]);
|
|
94
|
+
return (0, _react.useMemo)(() => ({
|
|
95
|
+
needsUpdate,
|
|
96
|
+
currentVersion,
|
|
97
|
+
latestVersion
|
|
98
|
+
}), [needsUpdate, currentVersion, latestVersion]);
|
|
99
|
+
}
|
|
100
|
+
var _default = exports.default = useAppUpdateCheck;
|
|
101
|
+
//# sourceMappingURL=useAppUpdateCheck.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","require","_UIKitProvider","shouldForceUpdate","current","latest","toSemver","v","majorStr","minorStr","patchStr","split","major","Number","parseInt","minor","patch","currentSemver","latestSemver","useAppUpdateCheck","config","uiKitConfig","useUIKitConfig","selectedConfig","appVersionCheck","Error","getCurrentVersion","getLatestVersion","checkInterval","needsUpdate","setNeedsUpdate","useState","currentVersion","setCurrentVersion","latestVersion","setLatestVersion","intervalRef","useRef","performCheck","useCallback","latestInfo","Promise","all","resolve","version","useEffect","clearInterval","setInterval","useMemo","_default","exports","default"],"sourceRoot":"../../../src","sources":["hooks/useAppUpdateCheck.ts"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAQA,IAAAC,cAAA,GAAAD,OAAA;AAkBA,SAASE,iBAAiBA,CAACC,OAAe,EAAEC,MAAc,EAAW;EACnE,MAAMC,QAAQ,GAAIC,CAAS,IAAK;IAC9B,MAAM,CAACC,QAAQ,GAAG,GAAG,EAAEC,QAAQ,GAAG,GAAG,EAAEC,QAAQ,GAAG,GAAG,CAAC,GAAGH,CAAC,CAACI,KAAK,CAAC,GAAG,CAAC;IACrE,MAAMC,KAAK,GAAGC,MAAM,CAACC,QAAQ,CAACN,QAAQ,EAAE,EAAE,CAAC;IAC3C,MAAMO,KAAK,GAAGF,MAAM,CAACC,QAAQ,CAACL,QAAQ,EAAE,EAAE,CAAC;IAC3C,MAAMO,KAAK,GAAGH,MAAM,CAACC,QAAQ,CAACJ,QAAQ,EAAE,EAAE,CAAC;IAC3C,OAAO;MAAEE,KAAK;MAAEG,KAAK;MAAEC;IAAM,CAAC;EAChC,CAAC;EAED,MAAMC,aAAa,GAAGX,QAAQ,CAACF,OAAO,CAAC;EACvC,MAAMc,YAAY,GAAGZ,QAAQ,CAACD,MAAM,CAAC;EAErC,IAAIa,YAAY,CAACN,KAAK,GAAGK,aAAa,CAACL,KAAK,EAAE,OAAO,IAAI;EACzD,IAAIM,YAAY,CAACN,KAAK,GAAGK,aAAa,CAACL,KAAK,EAAE,OAAO,KAAK;EAC1D,IAAIM,YAAY,CAACH,KAAK,GAAGE,aAAa,CAACF,KAAK,EAAE,OAAO,IAAI;EACzD,IAAIG,YAAY,CAACH,KAAK,GAAGE,aAAa,CAACF,KAAK,EAAE,OAAO,KAAK;EAC1D,OAAOG,YAAY,CAACF,KAAK,GAAGC,aAAa,CAACD,KAAK;AACjD;AAEO,SAASG,iBAAiBA,CAACC,MAA8B,EAAmB;EACjF,MAAMC,WAAW,GAAG,IAAAC,6BAAc,EAAC,CAAC;EACpC,MAAMC,cAAc,GAAGH,MAAM,IAAIC,WAAW,CAACG,eAAe;EAE5D,IAAI,CAACD,cAAc,EAAE;IACnB,MAAM,IAAIE,KAAK,CACb;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KACI,CAAC;EACH;EAEA,MAAM;IACJC,iBAAiB;IACjBC,gBAAgB;IAChBC;EACF,CAAC,GAAGL,cAAuC;EAE3C,MAAM,CAACM,WAAW,EAAEC,cAAc,CAAC,GAAG,IAAAC,eAAQ,EAAC,KAAK,CAAC;EACrD,MAAM,CAACC,cAAc,EAAEC,iBAAiB,CAAC,GAAG,IAAAF,eAAQ,EAAgB,IAAI,CAAC;EACzE,MAAM,CAACG,aAAa,EAAEC,gBAAgB,CAAC,GAAG,IAAAJ,eAAQ,EAAgB,IAAI,CAAC;EAEvE,MAAMK,WAAW,GAAG,IAAAC,aAAM,EAAwB,IAAI,CAAC;EAEvD,MAAMC,YAAY,GAAG,IAAAC,kBAAW,EAAC,YAAY;IAC3C,IAAI;MACF,MAAM,CAACnC,OAAO,EAAEoC,UAAU,CAAC,GAAG,MAAMC,OAAO,CAACC,GAAG,CAAC,CAC9CD,OAAO,CAACE,OAAO,CAACjB,iBAAiB,CAAC,CAAC,CAAC,EACpCC,gBAAgB,CAAC,CAAC,CACnB,CAAC;MAEF,MAAMtB,MAAM,GAAGmC,UAAU,EAAEI,OAAO;MAElCX,iBAAiB,CAAC7B,OAAO,CAAC;MAC1B+B,gBAAgB,CAAC9B,MAAM,CAAC;MAExB,IAAID,OAAO,IAAIC,MAAM,EAAE;QACrByB,cAAc,CAAC3B,iBAAiB,CAACC,OAAO,EAAEC,MAAM,CAAC,CAAC;MACpD,CAAC,MAAM;QACLyB,cAAc,CAAC,KAAK,CAAC;MACvB;IACF,CAAC,CAAC,MAAM;MACNA,cAAc,CAAC,KAAK,CAAC;IACvB;EACF,CAAC,EAAE,CAACJ,iBAAiB,EAAEC,gBAAgB,CAAC,CAAC;EAEzC,IAAAkB,gBAAS,EAAC,MAAM;IACd,IAAIT,WAAW,CAAChC,OAAO,EAAE;MACvB0C,aAAa,CAACV,WAAW,CAAChC,OAAO,CAAC;MAClCgC,WAAW,CAAChC,OAAO,GAAG,IAAI;IAC5B;IAEAkC,YAAY,CAAC,CAAC;IAEd,IAAIV,aAAa,GAAG,CAAC,EAAE;MACrBQ,WAAW,CAAChC,OAAO,GAAG2C,WAAW,CAAC,MAAM;QACtCT,YAAY,CAAC,CAAC;MAChB,CAAC,EAAEV,aAAa,CAAC;IACnB;IAEA,OAAO,MAAM;MACX,IAAIQ,WAAW,CAAChC,OAAO,EAAE;QACvB0C,aAAa,CAACV,WAAW,CAAChC,OAAO,CAAC;QAClCgC,WAAW,CAAChC,OAAO,GAAG,IAAI;MAC5B;IACF,CAAC;EACH,CAAC,EAAE,CAACkC,YAAY,EAAEV,aAAa,CAAC,CAAC;EAEjC,OAAO,IAAAoB,cAAO,EAAC,OACb;IAAEnB,WAAW;IAAEG,cAAc;IAAEE;EAAc,CAAC,CAC/C,EAAE,CAACL,WAAW,EAAEG,cAAc,EAAEE,aAAa,CAAC,CAAC;AAClD;AAAC,IAAAe,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEchC,iBAAiB","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","createContext","useContext","jsx","_jsx","UIKitContext","config","internetConnection","undefined","timezone","UIKitProvider","children","contextValue","useMemo","Provider","value","useUIKitConfig","context","Error","useTimezone"],"sourceRoot":"../../src","sources":["UIKitProvider.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,aAAa,EAAEC,UAAU,QAAmB,OAAO;AAAC,SAAAC,GAAA,IAAAC,IAAA;
|
|
1
|
+
{"version":3,"names":["React","createContext","useContext","jsx","_jsx","UIKitContext","config","internetConnection","undefined","appVersionCheck","timezone","UIKitProvider","children","contextValue","useMemo","Provider","value","useUIKitConfig","context","Error","useTimezone"],"sourceRoot":"../../src","sources":["UIKitProvider.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,aAAa,EAAEC,UAAU,QAAmB,OAAO;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAepE,MAAMC,YAAY,gBAAGJ,aAAa,CAAmB;EACnDK,MAAM,EAAE;IACNC,kBAAkB,EAAEC,SAAS;IAC7BC,eAAe,EAAED,SAAS;IAC1BE,QAAQ,EAAE;EACZ;AACF,CAAC,CAAC;AAOF,OAAO,SAASC,aAAaA,CAAC;EAAEC,QAAQ;EAAEN;AAA2B,CAAC,EAAE;EACtE,MAAMO,YAAY,GAAGb,KAAK,CAACc,OAAO,CAAC,OAAO;IAAER;EAAO,CAAC,CAAC,EAAE,CAACA,MAAM,CAAC,CAAC;EAEhE,oBACEF,IAAA,CAACC,YAAY,CAACU,QAAQ;IAACC,KAAK,EAAEH,YAAa;IAAAD,QAAA,EACxCA;EAAQ,CACY,CAAC;AAE5B;AAEA,OAAO,SAASK,cAAcA,CAAA,EAAgB;EAC5C,MAAMC,OAAO,GAAGhB,UAAU,CAACG,YAAY,CAAC;EACxC,IAAI,CAACa,OAAO,EAAE;IACZ,MAAM,IAAIC,KAAK,CAAC,oDAAoD,CAAC;EACvE;EACA,OAAOD,OAAO,CAACZ,MAAM;AACvB;AAEA,OAAO,SAASc,WAAWA,CAAA,EAAW;EACpC,MAAMd,MAAM,GAAGW,cAAc,CAAC,CAAC;EAE/B,OAAOX,MAAM,CAACI,QAAQ;AACxB","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["hooks/index.ts"],"mappings":";;AAAA,cAAc,qBAAkB;AAChC,cAAc,2BAAwB;AACtC,cAAc,kCAA+B;AAC7C,cAAc,uBAAoB","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["hooks/index.ts"],"mappings":";;AAAA,cAAc,qBAAkB;AAChC,cAAc,2BAAwB;AACtC,cAAc,kCAA+B;AAC7C,cAAc,uBAAoB;AAClC,cAAc,wBAAqB","ignoreList":[]}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
|
|
4
|
+
import { useUIKitConfig } from "../UIKitProvider.js";
|
|
5
|
+
function shouldForceUpdate(current, latest) {
|
|
6
|
+
const toSemver = v => {
|
|
7
|
+
const [majorStr = '0', minorStr = '0', patchStr = '0'] = v.split('.');
|
|
8
|
+
const major = Number.parseInt(majorStr, 10);
|
|
9
|
+
const minor = Number.parseInt(minorStr, 10);
|
|
10
|
+
const patch = Number.parseInt(patchStr, 10);
|
|
11
|
+
return {
|
|
12
|
+
major,
|
|
13
|
+
minor,
|
|
14
|
+
patch
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
const currentSemver = toSemver(current);
|
|
18
|
+
const latestSemver = toSemver(latest);
|
|
19
|
+
if (latestSemver.major > currentSemver.major) return true;
|
|
20
|
+
if (latestSemver.major < currentSemver.major) return false;
|
|
21
|
+
if (latestSemver.minor > currentSemver.minor) return true;
|
|
22
|
+
if (latestSemver.minor < currentSemver.minor) return false;
|
|
23
|
+
return latestSemver.patch > currentSemver.patch;
|
|
24
|
+
}
|
|
25
|
+
export function useAppUpdateCheck(config) {
|
|
26
|
+
const uiKitConfig = useUIKitConfig();
|
|
27
|
+
const selectedConfig = config ?? uiKitConfig.appVersionCheck;
|
|
28
|
+
if (!selectedConfig) {
|
|
29
|
+
throw new Error(`useAppUpdateCheck requires either a 'config' prop or 'appVersion' in UIKitProvider config.
|
|
30
|
+
Please provide one of them to use this hook. Example:
|
|
31
|
+
|
|
32
|
+
const config = {
|
|
33
|
+
getCurrentVersion: () => '1.2.3',
|
|
34
|
+
getLatestVersion: async (platform) => {
|
|
35
|
+
const response = await fetch('https://api.example.com/app_versions/check', {
|
|
36
|
+
headers: { 'X-App': 'your.app.id', 'X-OS': platform },
|
|
37
|
+
});
|
|
38
|
+
const json = await response.json();
|
|
39
|
+
return { version: json?.data?.version ?? null };
|
|
40
|
+
},
|
|
41
|
+
checkInterval: 180000, // 3 minutes
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
const status = useAppUpdateCheck(config);
|
|
45
|
+
`);
|
|
46
|
+
}
|
|
47
|
+
const {
|
|
48
|
+
getCurrentVersion,
|
|
49
|
+
getLatestVersion,
|
|
50
|
+
checkInterval
|
|
51
|
+
} = selectedConfig;
|
|
52
|
+
const [needsUpdate, setNeedsUpdate] = useState(false);
|
|
53
|
+
const [currentVersion, setCurrentVersion] = useState(null);
|
|
54
|
+
const [latestVersion, setLatestVersion] = useState(null);
|
|
55
|
+
const intervalRef = useRef(null);
|
|
56
|
+
const performCheck = useCallback(async () => {
|
|
57
|
+
try {
|
|
58
|
+
const [current, latestInfo] = await Promise.all([Promise.resolve(getCurrentVersion()), getLatestVersion()]);
|
|
59
|
+
const latest = latestInfo?.version;
|
|
60
|
+
setCurrentVersion(current);
|
|
61
|
+
setLatestVersion(latest);
|
|
62
|
+
if (current && latest) {
|
|
63
|
+
setNeedsUpdate(shouldForceUpdate(current, latest));
|
|
64
|
+
} else {
|
|
65
|
+
setNeedsUpdate(false);
|
|
66
|
+
}
|
|
67
|
+
} catch {
|
|
68
|
+
setNeedsUpdate(false);
|
|
69
|
+
}
|
|
70
|
+
}, [getCurrentVersion, getLatestVersion]);
|
|
71
|
+
useEffect(() => {
|
|
72
|
+
if (intervalRef.current) {
|
|
73
|
+
clearInterval(intervalRef.current);
|
|
74
|
+
intervalRef.current = null;
|
|
75
|
+
}
|
|
76
|
+
performCheck();
|
|
77
|
+
if (checkInterval > 0) {
|
|
78
|
+
intervalRef.current = setInterval(() => {
|
|
79
|
+
performCheck();
|
|
80
|
+
}, checkInterval);
|
|
81
|
+
}
|
|
82
|
+
return () => {
|
|
83
|
+
if (intervalRef.current) {
|
|
84
|
+
clearInterval(intervalRef.current);
|
|
85
|
+
intervalRef.current = null;
|
|
86
|
+
}
|
|
87
|
+
};
|
|
88
|
+
}, [performCheck, checkInterval]);
|
|
89
|
+
return useMemo(() => ({
|
|
90
|
+
needsUpdate,
|
|
91
|
+
currentVersion,
|
|
92
|
+
latestVersion
|
|
93
|
+
}), [needsUpdate, currentVersion, latestVersion]);
|
|
94
|
+
}
|
|
95
|
+
export default useAppUpdateCheck;
|
|
96
|
+
//# sourceMappingURL=useAppUpdateCheck.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useCallback","useEffect","useMemo","useRef","useState","useUIKitConfig","shouldForceUpdate","current","latest","toSemver","v","majorStr","minorStr","patchStr","split","major","Number","parseInt","minor","patch","currentSemver","latestSemver","useAppUpdateCheck","config","uiKitConfig","selectedConfig","appVersionCheck","Error","getCurrentVersion","getLatestVersion","checkInterval","needsUpdate","setNeedsUpdate","currentVersion","setCurrentVersion","latestVersion","setLatestVersion","intervalRef","performCheck","latestInfo","Promise","all","resolve","version","clearInterval","setInterval"],"sourceRoot":"../../../src","sources":["hooks/useAppUpdateCheck.ts"],"mappings":";;AAAA,SACEA,WAAW,EACXC,SAAS,EACTC,OAAO,EACPC,MAAM,EACNC,QAAQ,QACH,OAAO;AAEd,SAASC,cAAc,QAAQ,qBAAkB;AAkBjD,SAASC,iBAAiBA,CAACC,OAAe,EAAEC,MAAc,EAAW;EACnE,MAAMC,QAAQ,GAAIC,CAAS,IAAK;IAC9B,MAAM,CAACC,QAAQ,GAAG,GAAG,EAAEC,QAAQ,GAAG,GAAG,EAAEC,QAAQ,GAAG,GAAG,CAAC,GAAGH,CAAC,CAACI,KAAK,CAAC,GAAG,CAAC;IACrE,MAAMC,KAAK,GAAGC,MAAM,CAACC,QAAQ,CAACN,QAAQ,EAAE,EAAE,CAAC;IAC3C,MAAMO,KAAK,GAAGF,MAAM,CAACC,QAAQ,CAACL,QAAQ,EAAE,EAAE,CAAC;IAC3C,MAAMO,KAAK,GAAGH,MAAM,CAACC,QAAQ,CAACJ,QAAQ,EAAE,EAAE,CAAC;IAC3C,OAAO;MAAEE,KAAK;MAAEG,KAAK;MAAEC;IAAM,CAAC;EAChC,CAAC;EAED,MAAMC,aAAa,GAAGX,QAAQ,CAACF,OAAO,CAAC;EACvC,MAAMc,YAAY,GAAGZ,QAAQ,CAACD,MAAM,CAAC;EAErC,IAAIa,YAAY,CAACN,KAAK,GAAGK,aAAa,CAACL,KAAK,EAAE,OAAO,IAAI;EACzD,IAAIM,YAAY,CAACN,KAAK,GAAGK,aAAa,CAACL,KAAK,EAAE,OAAO,KAAK;EAC1D,IAAIM,YAAY,CAACH,KAAK,GAAGE,aAAa,CAACF,KAAK,EAAE,OAAO,IAAI;EACzD,IAAIG,YAAY,CAACH,KAAK,GAAGE,aAAa,CAACF,KAAK,EAAE,OAAO,KAAK;EAC1D,OAAOG,YAAY,CAACF,KAAK,GAAGC,aAAa,CAACD,KAAK;AACjD;AAEA,OAAO,SAASG,iBAAiBA,CAACC,MAA8B,EAAmB;EACjF,MAAMC,WAAW,GAAGnB,cAAc,CAAC,CAAC;EACpC,MAAMoB,cAAc,GAAGF,MAAM,IAAIC,WAAW,CAACE,eAAe;EAE5D,IAAI,CAACD,cAAc,EAAE;IACnB,MAAM,IAAIE,KAAK,CACb;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KACI,CAAC;EACH;EAEA,MAAM;IACJC,iBAAiB;IACjBC,gBAAgB;IAChBC;EACF,CAAC,GAAGL,cAAuC;EAE3C,MAAM,CAACM,WAAW,EAAEC,cAAc,CAAC,GAAG5B,QAAQ,CAAC,KAAK,CAAC;EACrD,MAAM,CAAC6B,cAAc,EAAEC,iBAAiB,CAAC,GAAG9B,QAAQ,CAAgB,IAAI,CAAC;EACzE,MAAM,CAAC+B,aAAa,EAAEC,gBAAgB,CAAC,GAAGhC,QAAQ,CAAgB,IAAI,CAAC;EAEvE,MAAMiC,WAAW,GAAGlC,MAAM,CAAwB,IAAI,CAAC;EAEvD,MAAMmC,YAAY,GAAGtC,WAAW,CAAC,YAAY;IAC3C,IAAI;MACF,MAAM,CAACO,OAAO,EAAEgC,UAAU,CAAC,GAAG,MAAMC,OAAO,CAACC,GAAG,CAAC,CAC9CD,OAAO,CAACE,OAAO,CAACd,iBAAiB,CAAC,CAAC,CAAC,EACpCC,gBAAgB,CAAC,CAAC,CACnB,CAAC;MAEF,MAAMrB,MAAM,GAAG+B,UAAU,EAAEI,OAAO;MAElCT,iBAAiB,CAAC3B,OAAO,CAAC;MAC1B6B,gBAAgB,CAAC5B,MAAM,CAAC;MAExB,IAAID,OAAO,IAAIC,MAAM,EAAE;QACrBwB,cAAc,CAAC1B,iBAAiB,CAACC,OAAO,EAAEC,MAAM,CAAC,CAAC;MACpD,CAAC,MAAM;QACLwB,cAAc,CAAC,KAAK,CAAC;MACvB;IACF,CAAC,CAAC,MAAM;MACNA,cAAc,CAAC,KAAK,CAAC;IACvB;EACF,CAAC,EAAE,CAACJ,iBAAiB,EAAEC,gBAAgB,CAAC,CAAC;EAEzC5B,SAAS,CAAC,MAAM;IACd,IAAIoC,WAAW,CAAC9B,OAAO,EAAE;MACvBqC,aAAa,CAACP,WAAW,CAAC9B,OAAO,CAAC;MAClC8B,WAAW,CAAC9B,OAAO,GAAG,IAAI;IAC5B;IAEA+B,YAAY,CAAC,CAAC;IAEd,IAAIR,aAAa,GAAG,CAAC,EAAE;MACrBO,WAAW,CAAC9B,OAAO,GAAGsC,WAAW,CAAC,MAAM;QACtCP,YAAY,CAAC,CAAC;MAChB,CAAC,EAAER,aAAa,CAAC;IACnB;IAEA,OAAO,MAAM;MACX,IAAIO,WAAW,CAAC9B,OAAO,EAAE;QACvBqC,aAAa,CAACP,WAAW,CAAC9B,OAAO,CAAC;QAClC8B,WAAW,CAAC9B,OAAO,GAAG,IAAI;MAC5B;IACF,CAAC;EACH,CAAC,EAAE,CAAC+B,YAAY,EAAER,aAAa,CAAC,CAAC;EAEjC,OAAO5B,OAAO,CAAC,OACb;IAAE6B,WAAW;IAAEE,cAAc;IAAEE;EAAc,CAAC,CAC/C,EAAE,CAACJ,WAAW,EAAEE,cAAc,EAAEE,aAAa,CAAC,CAAC;AAClD;AAEA,eAAeb,iBAAiB","ignoreList":[]}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import React, { ReactNode } from 'react';
|
|
2
|
+
import { AppVersionCheckConfig } from './hooks/useAppUpdateCheck';
|
|
2
3
|
import { InternetConnectionStatusConfig } from './hooks/useInternetConnectionStatus';
|
|
3
4
|
export interface UIKitConfig {
|
|
4
5
|
internetConnection?: InternetConnectionStatusConfig;
|
|
6
|
+
appVersionCheck?: AppVersionCheckConfig;
|
|
5
7
|
timezone: string;
|
|
6
8
|
}
|
|
7
9
|
interface UIKitProviderProps {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UIKitProvider.d.ts","sourceRoot":"","sources":["../../../src/UIKitProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAA6B,SAAS,EAAE,MAAM,OAAO,CAAC;AAEpE,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;AAErF,MAAM,WAAW,WAAW;IAC1B,kBAAkB,CAAC,EAAE,8BAA8B,CAAC;IACpD,QAAQ,EAAE,MAAM,CAAC;CAClB;
|
|
1
|
+
{"version":3,"file":"UIKitProvider.d.ts","sourceRoot":"","sources":["../../../src/UIKitProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAA6B,SAAS,EAAE,MAAM,OAAO,CAAC;AAEpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;AAErF,MAAM,WAAW,WAAW;IAC1B,kBAAkB,CAAC,EAAE,8BAA8B,CAAC;IACpD,eAAe,CAAC,EAAE,qBAAqB,CAAC;IACxC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAcD,UAAU,kBAAkB;IAC1B,QAAQ,EAAE,SAAS,CAAC;IACpB,MAAM,EAAE,WAAW,CAAC;CACrB;AAED,wBAAgB,aAAa,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,kBAAkB,qBAQrE;AAED,wBAAgB,cAAc,IAAI,WAAW,CAM5C;AAED,wBAAgB,WAAW,IAAI,MAAM,CAIpC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export interface AppVersionInfo {
|
|
2
|
+
version: string | null;
|
|
3
|
+
}
|
|
4
|
+
export interface AppVersionCheckConfig {
|
|
5
|
+
checkInterval: number;
|
|
6
|
+
getCurrentVersion: () => string | null | Promise<string | null>;
|
|
7
|
+
getLatestVersion: () => Promise<AppVersionInfo>;
|
|
8
|
+
}
|
|
9
|
+
export interface AppUpdateStatus {
|
|
10
|
+
needsUpdate: boolean;
|
|
11
|
+
currentVersion: string | null;
|
|
12
|
+
latestVersion: string | null;
|
|
13
|
+
}
|
|
14
|
+
export declare function useAppUpdateCheck(config?: AppVersionCheckConfig): AppUpdateStatus;
|
|
15
|
+
export default useAppUpdateCheck;
|
|
16
|
+
//# sourceMappingURL=useAppUpdateCheck.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAppUpdateCheck.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useAppUpdateCheck.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED,MAAM,WAAW,qBAAqB;IACpC,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAChE,gBAAgB,EAAE,MAAM,OAAO,CAAC,cAAc,CAAC,CAAC;CACjD;AAED,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,OAAO,CAAC;IACrB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAqBD,wBAAgB,iBAAiB,CAAC,MAAM,CAAC,EAAE,qBAAqB,GAAG,eAAe,CAqFjF;AAED,eAAe,iBAAiB,CAAC"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import React, { ReactNode } from 'react';
|
|
2
|
+
import { AppVersionCheckConfig } from './hooks/useAppUpdateCheck';
|
|
2
3
|
import { InternetConnectionStatusConfig } from './hooks/useInternetConnectionStatus';
|
|
3
4
|
export interface UIKitConfig {
|
|
4
5
|
internetConnection?: InternetConnectionStatusConfig;
|
|
6
|
+
appVersionCheck?: AppVersionCheckConfig;
|
|
5
7
|
timezone: string;
|
|
6
8
|
}
|
|
7
9
|
interface UIKitProviderProps {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UIKitProvider.d.ts","sourceRoot":"","sources":["../../../src/UIKitProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAA6B,SAAS,EAAE,MAAM,OAAO,CAAC;AAEpE,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;AAErF,MAAM,WAAW,WAAW;IAC1B,kBAAkB,CAAC,EAAE,8BAA8B,CAAC;IACpD,QAAQ,EAAE,MAAM,CAAC;CAClB;
|
|
1
|
+
{"version":3,"file":"UIKitProvider.d.ts","sourceRoot":"","sources":["../../../src/UIKitProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAA6B,SAAS,EAAE,MAAM,OAAO,CAAC;AAEpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;AAErF,MAAM,WAAW,WAAW;IAC1B,kBAAkB,CAAC,EAAE,8BAA8B,CAAC;IACpD,eAAe,CAAC,EAAE,qBAAqB,CAAC;IACxC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAcD,UAAU,kBAAkB;IAC1B,QAAQ,EAAE,SAAS,CAAC;IACpB,MAAM,EAAE,WAAW,CAAC;CACrB;AAED,wBAAgB,aAAa,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,kBAAkB,qBAQrE;AAED,wBAAgB,cAAc,IAAI,WAAW,CAM5C;AAED,wBAAgB,WAAW,IAAI,MAAM,CAIpC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export interface AppVersionInfo {
|
|
2
|
+
version: string | null;
|
|
3
|
+
}
|
|
4
|
+
export interface AppVersionCheckConfig {
|
|
5
|
+
checkInterval: number;
|
|
6
|
+
getCurrentVersion: () => string | null | Promise<string | null>;
|
|
7
|
+
getLatestVersion: () => Promise<AppVersionInfo>;
|
|
8
|
+
}
|
|
9
|
+
export interface AppUpdateStatus {
|
|
10
|
+
needsUpdate: boolean;
|
|
11
|
+
currentVersion: string | null;
|
|
12
|
+
latestVersion: string | null;
|
|
13
|
+
}
|
|
14
|
+
export declare function useAppUpdateCheck(config?: AppVersionCheckConfig): AppUpdateStatus;
|
|
15
|
+
export default useAppUpdateCheck;
|
|
16
|
+
//# sourceMappingURL=useAppUpdateCheck.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAppUpdateCheck.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useAppUpdateCheck.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED,MAAM,WAAW,qBAAqB;IACpC,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAChE,gBAAgB,EAAE,MAAM,OAAO,CAAC,cAAc,CAAC,CAAC;CACjD;AAED,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,OAAO,CAAC;IACrB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAqBD,wBAAgB,iBAAiB,CAAC,MAAM,CAAC,EAAE,qBAAqB,GAAG,eAAe,CAqFjF;AAED,eAAe,iBAAiB,CAAC"}
|