@gobizweb/core 0.0.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (211) hide show
  1. package/README.md +56 -0
  2. package/assets/icons/arrow_left.svg +1 -0
  3. package/assets/icons/right_pointing.svg +1 -0
  4. package/assets/icons/thumb-up.svg +1 -0
  5. package/assets/images/server_error_dino.svg +1 -0
  6. package/assets/images/spot_hero_empty_list.svg +1 -0
  7. package/lib/bootstrap.js +39 -0
  8. package/lib/components/AccordionSelect/AccordionSelect.component.js +131 -0
  9. package/lib/components/AccordionSelect/AccordionSelect.styled.js +18 -0
  10. package/lib/components/AccordionSelect/index.js +13 -0
  11. package/lib/components/AlertBox/AlertBox.component.js +54 -0
  12. package/lib/components/AlertBox/AlertBox.styled.js +32 -0
  13. package/lib/components/AlertBox/index.js +13 -0
  14. package/lib/components/AlertDialog/AlertDialog.js +66 -0
  15. package/lib/components/AlertDialog/AlertDialog.styled.js +13 -0
  16. package/lib/components/AlertDialog/index.js +13 -0
  17. package/lib/components/Asphalt/Input.component.js +59 -0
  18. package/lib/components/Asphalt/index.js +13 -0
  19. package/lib/components/AsphaltPolyfill/AsphaltPolyfill.component.js +26 -0
  20. package/lib/components/AsphaltPolyfill/AsphaltPolyfill.loader.js +8 -0
  21. package/lib/components/AsphaltPolyfill/index.js +13 -0
  22. package/lib/components/Box/index.js +51 -0
  23. package/lib/components/Breakpoint/Breakpoint.component.js +63 -0
  24. package/lib/components/Breakpoint/index.js +13 -0
  25. package/lib/components/Button/Button.js +109 -0
  26. package/lib/components/Button/index.js +13 -0
  27. package/lib/components/Card/Card.js +75 -0
  28. package/lib/components/Card/Card.styled.js +60 -0
  29. package/lib/components/Card/index.js +13 -0
  30. package/lib/components/CardList/CardList.component.js +55 -0
  31. package/lib/components/CardList/index.js +13 -0
  32. package/lib/components/Checkbox/Checkbox.js +60 -0
  33. package/lib/components/Checkbox/index.js +13 -0
  34. package/lib/components/Container/Container.js +74 -0
  35. package/lib/components/Container/index.js +13 -0
  36. package/lib/components/DatePicker/Datepicker.component.js +57 -0
  37. package/lib/components/DatePicker/index.js +13 -0
  38. package/lib/components/Dropdown/Dropdown.component.js +63 -0
  39. package/lib/components/Dropdown/index.js +13 -0
  40. package/lib/components/EmptyState/EmptyState.component.js +47 -0
  41. package/lib/components/EmptyState/index.js +13 -0
  42. package/lib/components/ErrorModal/ErrorModal.component.js +41 -0
  43. package/lib/components/ErrorModal/ErrorModal.store.js +43 -0
  44. package/lib/components/ErrorModal/index.js +14 -0
  45. package/lib/components/ErrorScreen/ErrorScreen.js +19 -0
  46. package/lib/components/ErrorScreen/index.js +13 -0
  47. package/lib/components/FilterModal/FilterModal.js +41 -0
  48. package/lib/components/FilterModal/FilterModal.state.js +139 -0
  49. package/lib/components/FilterModal/index.js +13 -0
  50. package/lib/components/GlobalFilter/GlobalFilter.component.js +32 -0
  51. package/lib/components/GlobalFilter/GlobalFilter.component.state.js +116 -0
  52. package/lib/components/GlobalFilter/GlobalFilter.constant.js +17 -0
  53. package/lib/components/GlobalFilter/GlobalFilter.date.component.js +34 -0
  54. package/lib/components/GlobalFilter/GlobalFilter.interface.js +2 -0
  55. package/lib/components/GlobalFilter/GlobalFilter.provider.js +169 -0
  56. package/lib/components/GlobalFilter/GlobalFilter.styled.js +16 -0
  57. package/lib/components/GlobalFilter/index.js +16 -0
  58. package/lib/components/Guard/Guard.component.js +18 -0
  59. package/lib/components/Guard/index.js +13 -0
  60. package/lib/components/IframeLoader/IframeLoader.js +47 -0
  61. package/lib/components/IframeLoader/index.js +13 -0
  62. package/lib/components/Input/Input.component.js +167 -0
  63. package/lib/components/Input/index.js +13 -0
  64. package/lib/components/LanguageSwitcher/LanguageSwitcher.component.js +78 -0
  65. package/lib/components/LanguageSwitcher/LanguageSwitcher.state.js +20 -0
  66. package/lib/components/LanguageSwitcher/LanguageSwitcher.styled.js +40 -0
  67. package/lib/components/LanguageSwitcher/index.js +13 -0
  68. package/lib/components/List/List.js +46 -0
  69. package/lib/components/List/index.js +13 -0
  70. package/lib/components/ListSelector/ListSelector.component.js +22 -0
  71. package/lib/components/ListSelector/ListSelector.state.js +11 -0
  72. package/lib/components/ListSelector/ListSelector.styled.js +15 -0
  73. package/lib/components/ListSelector/index.js +13 -0
  74. package/lib/components/Loading/Loading.js +52 -0
  75. package/lib/components/Loading/Loading.styled.js +45 -0
  76. package/lib/components/Loading/index.js +13 -0
  77. package/lib/components/LoadingModule/LoadingModule.component.js +49 -0
  78. package/lib/components/LoadingModule/index.js +13 -0
  79. package/lib/components/MobileAppBar/MobileAppBar.js +90 -0
  80. package/lib/components/MobileAppBar/MobileAppBar.styled.js +36 -0
  81. package/lib/components/MobileAppBar/WithMobileAppBar.js +43 -0
  82. package/lib/components/MobileAppBar/index.js +14 -0
  83. package/lib/components/Modal/Modal.js +149 -0
  84. package/lib/components/Modal/ModalManager.context.js +6 -0
  85. package/lib/components/Modal/ModalManager.js +118 -0
  86. package/lib/components/Modal/index.js +15 -0
  87. package/lib/components/Navigation/Navigation.component.js +25 -0
  88. package/lib/components/Navigation/Navigation.provider.js +69 -0
  89. package/lib/components/Navigation/Navigation.styled.js +33 -0
  90. package/lib/components/Navigation/index.js +14 -0
  91. package/lib/components/PageTitle/PageTitle.component.js +47 -0
  92. package/lib/components/PageTitle/index.js +13 -0
  93. package/lib/components/Pagination/Pagination.component.js +49 -0
  94. package/lib/components/Pagination/index.js +13 -0
  95. package/lib/components/Radio/Radio.component.js +69 -0
  96. package/lib/components/Radio/Radio.styled.js +44 -0
  97. package/lib/components/Radio/RadioGroup.component.js +24 -0
  98. package/lib/components/Radio/RadioGroup.context.js +6 -0
  99. package/lib/components/Radio/index.js +15 -0
  100. package/lib/components/Separator/Separator.component.js +59 -0
  101. package/lib/components/Separator/index.js +13 -0
  102. package/lib/components/Skeleton/SkeletonApp.component.js +90 -0
  103. package/lib/components/Skeleton/SkeletonTable.component.js +36 -0
  104. package/lib/components/Skeleton/SkeletonText.component.js +62 -0
  105. package/lib/components/Skeleton/SkeletonWrapper.component.js +46 -0
  106. package/lib/components/Skeleton/index.js +16 -0
  107. package/lib/components/Stepper/Stepper.component.js +126 -0
  108. package/lib/components/Stepper/WithStepper.js +65 -0
  109. package/lib/components/Stepper/index.js +16 -0
  110. package/lib/components/Table/Table.component.js +71 -0
  111. package/lib/components/Table/Table.styled.js +51 -0
  112. package/lib/components/Table/index.js +13 -0
  113. package/lib/components/TableContainer/TableContainer.js +32 -0
  114. package/lib/components/TableContainer/index.js +13 -0
  115. package/lib/components/Text/Text.component.js +90 -0
  116. package/lib/components/Text/index.js +13 -0
  117. package/lib/components/Toast/Toast.component.js +65 -0
  118. package/lib/components/Toast/Toast.interface.js +2 -0
  119. package/lib/components/Toast/Toast.manager.js +61 -0
  120. package/lib/components/Toast/Toast.provider.js +85 -0
  121. package/lib/components/Toast/Toast.styled.js +18 -0
  122. package/lib/components/Toast/index.js +15 -0
  123. package/lib/components/Tours/index.js +100 -0
  124. package/lib/components/index.js +51 -0
  125. package/lib/constants/AndroidVersions.js +6 -0
  126. package/lib/constants/AppNames.js +10 -0
  127. package/lib/constants/AsphaltTheme.js +43 -0
  128. package/lib/constants/GobizApp.js +11 -0
  129. package/lib/constants/MediaQueries.js +30 -0
  130. package/lib/constants/PostalCodes.js +8382 -0
  131. package/lib/constants/PubsubEvents.js +12 -0
  132. package/lib/constants/TnCFiles.js +77 -0
  133. package/lib/constants/ValidationRegex.js +6 -0
  134. package/lib/constants/cookies.js +38 -0
  135. package/lib/constants/datetime.js +103 -0
  136. package/lib/constants/index.js +24 -0
  137. package/lib/constants/roles.js +17 -0
  138. package/lib/contexts/AppTheme.js +221 -0
  139. package/lib/decorators/utility-classes.js +78 -0
  140. package/lib/decorators/withStyles.js +73 -0
  141. package/lib/helpers/BrowserEnvironment.js +22 -0
  142. package/lib/helpers/ESQuery.js +98 -0
  143. package/lib/helpers/chart.js +251 -0
  144. package/lib/helpers/cleanObject.js +15 -0
  145. package/lib/helpers/conversion.js +4 -0
  146. package/lib/helpers/cookies.js +54 -0
  147. package/lib/helpers/copywrite.js +15 -0
  148. package/lib/helpers/currency.js +73 -0
  149. package/lib/helpers/dateFormat.js +47 -0
  150. package/lib/helpers/datePresets.js +77 -0
  151. package/lib/helpers/debounce.js +31 -0
  152. package/lib/helpers/deepMerge.js +81 -0
  153. package/lib/helpers/downloadURL.js +11 -0
  154. package/lib/helpers/enumReverseMap.js +12 -0
  155. package/lib/helpers/env.js +18 -0
  156. package/lib/helpers/fileDownloader.js +33 -0
  157. package/lib/helpers/formatNumber.js +10 -0
  158. package/lib/helpers/formatPercentage.js +13 -0
  159. package/lib/helpers/gobizApp.js +27 -0
  160. package/lib/helpers/identityValidator.js +6 -0
  161. package/lib/helpers/index.js +50 -0
  162. package/lib/helpers/json.js +17 -0
  163. package/lib/helpers/logger.js +93 -0
  164. package/lib/helpers/maskAccount.js +26 -0
  165. package/lib/helpers/numbers.js +6 -0
  166. package/lib/helpers/path.js +27 -0
  167. package/lib/helpers/paymentTypeHuman.js +62 -0
  168. package/lib/helpers/refreshConfig.js +12 -0
  169. package/lib/helpers/refreshToken.js +108 -0
  170. package/lib/helpers/safeParse.js +31 -0
  171. package/lib/helpers/scrollToTop.js +9 -0
  172. package/lib/helpers/shortID.js +17 -0
  173. package/lib/helpers/textParser.js +10 -0
  174. package/lib/helpers/time.js +54 -0
  175. package/lib/helpers/tour.js +38 -0
  176. package/lib/helpers/transform.js +24 -0
  177. package/lib/helpers/url.js +30 -0
  178. package/lib/helpers/wildcardToRegEx.js +15 -0
  179. package/lib/hooks/index.js +26 -0
  180. package/lib/hooks/useBreakpoint.js +35 -0
  181. package/lib/hooks/useCurrency.js +27 -0
  182. package/lib/hooks/useDatesFromTimeRange.js +40 -0
  183. package/lib/hooks/useEventListener.js +24 -0
  184. package/lib/hooks/useFormValidator.js +38 -0
  185. package/lib/hooks/useHttpOptions.js +104 -0
  186. package/lib/hooks/useLogger.js +57 -0
  187. package/lib/hooks/useNavigation.js +16 -0
  188. package/lib/hooks/usePhone.js +14 -0
  189. package/lib/hooks/useQueryInit.js +21 -0
  190. package/lib/hooks/useQueryParams.js +95 -0
  191. package/lib/hooks/useShowGlobalFilter.js +101 -0
  192. package/lib/hooks/useWebview.js +48 -0
  193. package/lib/hooks/useWindow.js +19 -0
  194. package/lib/models/AuthUser.model.js +159 -0
  195. package/lib/models/Outlet.model.js +274 -0
  196. package/lib/models/User.model.js +106 -0
  197. package/lib/models/index.js +15 -0
  198. package/lib/providers/Alert.provider.js +65 -0
  199. package/lib/providers/AppTheme.provider.js +75 -0
  200. package/lib/providers/Auth.provider.js +239 -0
  201. package/lib/providers/Clevertap.provider.js +117 -0
  202. package/lib/providers/GoogleAnalytics.provider.js +113 -0
  203. package/lib/providers/Host.provider.js +71 -0
  204. package/lib/providers/Language.provider.js +127 -0
  205. package/lib/providers/Logger.provider.js +32 -0
  206. package/lib/providers/MicroApp.provider.js +63 -0
  207. package/lib/providers/Outlets.provider.js +180 -0
  208. package/lib/providers/Token.provider.js +101 -0
  209. package/lib/providers/Translation.provider.js +56 -0
  210. package/lib/providers/index.js +24 -0
  211. package/package.json +47 -0
@@ -0,0 +1,239 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
16
+ }) : (function(o, m, k, k2) {
17
+ if (k2 === undefined) k2 = k;
18
+ o[k2] = m[k];
19
+ }));
20
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
21
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
22
+ }) : function(o, v) {
23
+ o["default"] = v;
24
+ });
25
+ var __importStar = (this && this.__importStar) || function (mod) {
26
+ if (mod && mod.__esModule) return mod;
27
+ var result = {};
28
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
29
+ __setModuleDefault(result, mod);
30
+ return result;
31
+ };
32
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
33
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
34
+ return new (P || (P = Promise))(function (resolve, reject) {
35
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
36
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
37
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
38
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
39
+ });
40
+ };
41
+ var __generator = (this && this.__generator) || function (thisArg, body) {
42
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
43
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
44
+ function verb(n) { return function (v) { return step([n, v]); }; }
45
+ function step(op) {
46
+ if (f) throw new TypeError("Generator is already executing.");
47
+ while (_) try {
48
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
49
+ if (y = 0, t) op = [op[0] & 2, t.value];
50
+ switch (op[0]) {
51
+ case 0: case 1: t = op; break;
52
+ case 4: _.label++; return { value: op[1], done: false };
53
+ case 5: _.label++; y = op[1]; op = [0]; continue;
54
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
55
+ default:
56
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
57
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
58
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
59
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
60
+ if (t[2]) _.ops.pop();
61
+ _.trys.pop(); continue;
62
+ }
63
+ op = body.call(thisArg, _);
64
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
65
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
66
+ }
67
+ };
68
+ var __rest = (this && this.__rest) || function (s, e) {
69
+ var t = {};
70
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
71
+ t[p] = s[p];
72
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
73
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
74
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
75
+ t[p[i]] = s[p[i]];
76
+ }
77
+ return t;
78
+ };
79
+ var __importDefault = (this && this.__importDefault) || function (mod) {
80
+ return (mod && mod.__esModule) ? mod : { "default": mod };
81
+ };
82
+ Object.defineProperty(exports, "__esModule", { value: true });
83
+ exports.AuthProvider = exports.useAuth = exports.AuthContext = void 0;
84
+ var query_string_1 = __importDefault(require("query-string"));
85
+ var react_router_1 = require("react-router");
86
+ var use_http_1 = __importStar(require("use-http"));
87
+ var useMount_1 = __importDefault(require("react-use/lib/useMount"));
88
+ var useCookie_1 = __importDefault(require("react-use/lib/useCookie"));
89
+ var react_1 = __importStar(require("react"));
90
+ var env_1 = require("../helpers/env");
91
+ var wildcardToRegEx_1 = require("../helpers/wildcardToRegEx");
92
+ var AuthUser_model_1 = require("../models/AuthUser.model");
93
+ var Outlet_model_1 = require("../models/Outlet.model");
94
+ var MicroApp_provider_1 = require("./MicroApp.provider");
95
+ var cookies_1 = require("../helpers/cookies");
96
+ var LoadingModule_1 = require("../components/LoadingModule");
97
+ var PubsubEvents_1 = require("../constants/PubsubEvents");
98
+ exports.AuthContext = react_1.createContext({});
99
+ exports.useAuth = function () { return react_1.useContext(exports.AuthContext); };
100
+ exports.AuthProvider = function (props) {
101
+ var _a;
102
+ var authErrorScreen = props.authErrorScreen, onAuthError = props.onAuthError, asMicroApp = props.asMicroApp, others = __rest(props, ["authErrorScreen", "onAuthError", "asMicroApp"]);
103
+ var _b = react_router_1.useHistory(), replace = _b.replace, location = _b.location;
104
+ var resolveUrl = MicroApp_provider_1.useMicroApp().resolveUrl;
105
+ var _c = useCookie_1.default("access_token"), accessTokenCookie = _c[0], setAccessTokenCookie = _c[1];
106
+ var queryParams = query_string_1.default.parse(window.location.search);
107
+ var accessTokenFromQuery = (queryParams.access_token ||
108
+ queryParams.token);
109
+ /**
110
+ * access token read priority:
111
+ * - URL params ?access_token=xxx
112
+ * - URL params ?token=xxx
113
+ * - cookie
114
+ */
115
+ var token = (_a = accessTokenFromQuery !== null && accessTokenFromQuery !== void 0 ? accessTokenFromQuery : accessTokenCookie) !== null && _a !== void 0 ? _a : "";
116
+ var _d = react_1.useState(false), authorized = _d[0], setAuthorized = _d[1];
117
+ var _e = react_1.useState(true), initialLoading = _e[0], setInitialLoading = _e[1];
118
+ var _f = react_1.useState({}), config = _f[0], setConfig = _f[1];
119
+ var _g = react_1.useState(new AuthUser_model_1.AuthUser()), authUser = _g[0], setAuthUser = _g[1];
120
+ var _h = react_1.useState(new Outlet_model_1.Outlet()), defaultOutlet = _h[0], setDefaultOutlet = _h[1];
121
+ var headers = {
122
+ authorization: "Bearer " + token,
123
+ "Authentication-Type": "go-id",
124
+ };
125
+ var _j = use_http_1.default(env_1.env("REACT_APP_MARS_API_HOST") + "/goresto/v4/public/users/config", {
126
+ cachePolicy: use_http_1.CachePolicies.NO_CACHE,
127
+ headers: headers,
128
+ }), getConfig = _j.get, configResponse = _j.response, configError = _j.error;
129
+ var _k = use_http_1.default(env_1.env("REACT_APP_MARS_API_HOST") + "/v1/users/me", {
130
+ cachePolicy: use_http_1.CachePolicies.NO_CACHE,
131
+ headers: headers,
132
+ }), getHermesUser = _k.get, hermesResponse = _k.response, hermesError = _k.error;
133
+ var _l = use_http_1.default(env_1.env("REACT_APP_MARS_API_HOST") + "/v1/merchants", {
134
+ cachePolicy: use_http_1.CachePolicies.NO_CACHE,
135
+ headers: headers,
136
+ }), getOutletByID = _l.get, outletResponse = _l.response, outletError = _l.error;
137
+ var fetchConfig = function () { return __awaiter(void 0, void 0, void 0, function () {
138
+ var _authUser, requestError;
139
+ return __generator(this, function (_a) {
140
+ switch (_a.label) {
141
+ case 0: return [4 /*yield*/, getConfig()];
142
+ case 1:
143
+ _a.sent();
144
+ return [4 /*yield*/, getHermesUser()];
145
+ case 2:
146
+ _a.sent();
147
+ if (!(hermesResponse.ok && configResponse.ok && configResponse.data)) return [3 /*break*/, 4];
148
+ cookies_1.CookieConfig.userId = Number(configResponse === null || configResponse === void 0 ? void 0 : configResponse.data.user.id);
149
+ setConfig(configResponse.data);
150
+ _authUser = AuthUser_model_1.AuthUser.fromJSON(configResponse.data.user, hermesResponse.data.user);
151
+ setAuthUser(_authUser);
152
+ return [4 /*yield*/, getOutletByID(hermesResponse.data.user.merchant_id)];
153
+ case 3:
154
+ _a.sent();
155
+ if (outletResponse.ok && outletResponse.data) {
156
+ setDefaultOutlet(Outlet_model_1.Outlet.fromJSON(outletResponse.data));
157
+ }
158
+ else if (outletError) {
159
+ onAuthError === null || onAuthError === void 0 ? void 0 : onAuthError(outletError);
160
+ }
161
+ _a.label = 4;
162
+ case 4:
163
+ requestError = configError || hermesError;
164
+ if (requestError) {
165
+ onAuthError === null || onAuthError === void 0 ? void 0 : onAuthError(requestError);
166
+ }
167
+ return [2 /*return*/];
168
+ }
169
+ });
170
+ }); };
171
+ var isPermitted = function (access, actions) {
172
+ var userPermissions = authUser.permissions || {};
173
+ var actualKey = Object.keys(userPermissions).find(function (permission) {
174
+ return wildcardToRegEx_1.wildcardTest(permission, access);
175
+ });
176
+ return (!!actualKey &&
177
+ []
178
+ .concat(actions)
179
+ .every(function (value) { return userPermissions[actualKey].includes(value); }));
180
+ };
181
+ var onPubSubEvent = function (data) {
182
+ setConfig(data.config);
183
+ setAuthUser(data.authUser);
184
+ setDefaultOutlet(data.outlet);
185
+ };
186
+ react_1.useEffect(function () {
187
+ var _a, _b;
188
+ if (!asMicroApp)
189
+ return;
190
+ (_a = window.$pubsubSubscribe) === null || _a === void 0 ? void 0 : _a.call(window, PubsubEvents_1.AUTH_MF, onPubSubEvent);
191
+ setAuthorized(true);
192
+ setInitialLoading(false);
193
+ (_b = window.$pubsubPublish) === null || _b === void 0 ? void 0 : _b.call(window, PubsubEvents_1.AUTH_PF, { hasSubscribed: true });
194
+ return function () {
195
+ var _a;
196
+ (_a = window.$pubsubUnsubscribe) === null || _a === void 0 ? void 0 : _a.call(window, PubsubEvents_1.AUTH_MF, onPubSubEvent);
197
+ };
198
+ // eslint-disable-next-line react-hooks/exhaustive-deps
199
+ }, []);
200
+ useMount_1.default(function () { return __awaiter(void 0, void 0, void 0, function () {
201
+ var params, newParams;
202
+ return __generator(this, function (_a) {
203
+ switch (_a.label) {
204
+ case 0:
205
+ if (asMicroApp)
206
+ return [2 /*return*/];
207
+ setAccessTokenCookie(token);
208
+ if (accessTokenFromQuery) {
209
+ params = __assign(__assign({}, queryParams), { access_token: undefined, token: undefined });
210
+ newParams = query_string_1.default.stringify(params);
211
+ // const routePrefix = env("REACT_APP_ROUTE_PREFIX")
212
+ replace(resolveUrl(location.pathname + "?" + newParams));
213
+ }
214
+ return [4 /*yield*/, fetchConfig()];
215
+ case 1:
216
+ _a.sent();
217
+ setAuthorized(configResponse.status !== 401);
218
+ setInitialLoading(false);
219
+ return [2 /*return*/];
220
+ }
221
+ });
222
+ }); });
223
+ if (initialLoading) {
224
+ return react_1.default.createElement(LoadingModule_1.LoadingModule, null);
225
+ }
226
+ if (!authorized) {
227
+ return authErrorScreen !== null && authErrorScreen !== void 0 ? authErrorScreen : react_1.default.createElement("p", null, "Unauthorized");
228
+ }
229
+ var context = {
230
+ accessToken: token,
231
+ config: config,
232
+ authUser: authUser,
233
+ defaultOutlet: defaultOutlet,
234
+ refreshConfig: fetchConfig,
235
+ isPermitted: isPermitted,
236
+ };
237
+ return (react_1.default.createElement(use_http_1.Provider, { options: { headers: headers } },
238
+ react_1.default.createElement(exports.AuthContext.Provider, __assign({}, others, { value: context }))));
239
+ };
@@ -0,0 +1,117 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
16
+ }) : (function(o, m, k, k2) {
17
+ if (k2 === undefined) k2 = k;
18
+ o[k2] = m[k];
19
+ }));
20
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
21
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
22
+ }) : function(o, v) {
23
+ o["default"] = v;
24
+ });
25
+ var __importStar = (this && this.__importStar) || function (mod) {
26
+ if (mod && mod.__esModule) return mod;
27
+ var result = {};
28
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
29
+ __setModuleDefault(result, mod);
30
+ return result;
31
+ };
32
+ Object.defineProperty(exports, "__esModule", { value: true });
33
+ exports.ClevertapProvider = exports.useClevertap = void 0;
34
+ var react_1 = __importStar(require("react"));
35
+ var Auth_provider_1 = require("./Auth.provider");
36
+ var logger_1 = require("../helpers/logger");
37
+ var jsCtEventPusher = function (event, properties) {
38
+ clevertap.event.push(event, properties);
39
+ };
40
+ var androidCtEventPusher = function (event, properties) {
41
+ // Android JS Interface expect properties in stringify json
42
+ AndroidClevertap.ctInstance().pushEvent(event, JSON.stringify(properties));
43
+ };
44
+ window.clevertap = {
45
+ event: [],
46
+ profile: [],
47
+ account: [],
48
+ onUserLogin: [],
49
+ notifications: [],
50
+ privacy: [{ optOut: false }, { useIP: false }],
51
+ };
52
+ var androidCtPresent = window.AndroidClevertap !== undefined &&
53
+ typeof window.AndroidClevertap.ctInstance === "function";
54
+ var activeCtPusher = androidCtPresent
55
+ ? androidCtEventPusher
56
+ : jsCtEventPusher;
57
+ var ClevertapContext = react_1.createContext({
58
+ sendCtEvent: function () { },
59
+ });
60
+ exports.useClevertap = function () { return react_1.useContext(ClevertapContext); };
61
+ // State of CT script so it's only loaded once in the browser
62
+ var clevertapLoaded = false;
63
+ exports.ClevertapProvider = function (_a) {
64
+ var _b;
65
+ var apiKey = _a.apiKey, children = _a.children, _c = _a.appType, appType = _c === void 0 ? "POS" : _c, pristine = _a.pristine;
66
+ var _d = Auth_provider_1.useAuth(), authUser = _d.authUser, config = _d.config;
67
+ var commonProperties = pristine
68
+ ? {}
69
+ : {
70
+ AppType: appType,
71
+ Country: authUser.country,
72
+ SaudagarId: config.merchants[0].saudagar_id,
73
+ UserId: (_b = authUser.id) === null || _b === void 0 ? void 0 : _b.toString(),
74
+ UserPhone: authUser.phone,
75
+ };
76
+ react_1.useEffect(function () {
77
+ if (clevertapLoaded) {
78
+ // Only load and initialise CT once
79
+ return;
80
+ }
81
+ clevertapLoaded = true;
82
+ // Only initiate if there is no Clevertap Instance from Android
83
+ if (!androidCtPresent) {
84
+ (function () {
85
+ var wzrk = document.createElement("script");
86
+ wzrk.type = "text/javascript";
87
+ wzrk.async = true;
88
+ wzrk.src =
89
+ ("https:" === document.location.protocol
90
+ ? "https://d2r1yp2w7bby2u.cloudfront.net"
91
+ : "http://static.clevertap.com") + "/js/a.js";
92
+ var s = document.getElementsByTagName("script")[0];
93
+ s.parentNode.insertBefore(wzrk, s);
94
+ })();
95
+ // Initialise CT API and CT user
96
+ clevertap.account.push({ id: apiKey });
97
+ !pristine &&
98
+ clevertap.profile.push({
99
+ Site: {
100
+ Identity: authUser.id,
101
+ },
102
+ });
103
+ }
104
+ // eslint-disable-next-line react-hooks/exhaustive-deps
105
+ }, []);
106
+ var context = {
107
+ sendCtEvent: function (event, properties) {
108
+ if (properties === void 0) { properties = {}; }
109
+ if (!apiKey) {
110
+ return logger_1.Logger.warn("This module does not have a Clevertap API set up");
111
+ }
112
+ var combinedProperties = __assign(__assign({}, commonProperties), properties);
113
+ activeCtPusher === null || activeCtPusher === void 0 ? void 0 : activeCtPusher(event, combinedProperties);
114
+ },
115
+ };
116
+ return (react_1.default.createElement(ClevertapContext.Provider, { value: context }, children));
117
+ };
@@ -0,0 +1,113 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ exports.GoogleAnalyticsProvider = exports.useGoogleAnalytics = exports.GoogleAnalyticsContext = exports.sendToGoogleAnalytics = void 0;
23
+ var react_1 = __importStar(require("react"));
24
+ var react_router_dom_1 = require("react-router-dom");
25
+ var ReactGA = __importStar(require("react-ga"));
26
+ var web_vitals_1 = require("web-vitals");
27
+ var logger_1 = require("../helpers/logger");
28
+ exports.sendToGoogleAnalytics = function (_a) {
29
+ var name = _a.name, delta = _a.delta, id = _a.id;
30
+ ReactGA.event({
31
+ category: "Web Vitals",
32
+ action: name,
33
+ label: id,
34
+ value: Math.round(name === "CLS" ? delta * 1000 : delta),
35
+ nonInteraction: true,
36
+ transport: "beacon",
37
+ });
38
+ };
39
+ exports.GoogleAnalyticsContext = react_1.createContext({
40
+ gaKey: "",
41
+ dimensions: {},
42
+ sendEvent: function () { },
43
+ sendCustomEvent: function () { },
44
+ overrideCategory: function () { },
45
+ });
46
+ exports.useGoogleAnalytics = function () { return react_1.useContext(exports.GoogleAnalyticsContext); };
47
+ exports.GoogleAnalyticsProvider = function (props) {
48
+ var _a = react_router_dom_1.useHistory(), location = _a.location, listen = _a.listen;
49
+ var parentContext = exports.useGoogleAnalytics();
50
+ var _b = props.gaKey, gaKey = _b === void 0 ? parentContext.gaKey : _b, _category = props.category, _c = props.trackPages, trackPages = _c === void 0 ? parentContext.trackPages : _c, _d = props.dimensions, dimensions = _d === void 0 ? parentContext.dimensions : _d, _e = props.sendWebVitals, sendWebVitals = _e === void 0 ? parentContext.sendWebVitals : _e, children = props.children;
51
+ var _f = react_1.useState(_category), category = _f[0], setCategory = _f[1];
52
+ var _g = react_1.useState(false), initiated = _g[0], setInitiated = _g[1];
53
+ react_1.useEffect(function () {
54
+ if (gaKey) {
55
+ ReactGA.initialize(gaKey);
56
+ if (typeof dimensions === "object" && Object.keys(dimensions).length) {
57
+ ReactGA.set(dimensions);
58
+ }
59
+ if (trackPages) {
60
+ ReactGA.pageview(location.pathname);
61
+ }
62
+ if (sendWebVitals) {
63
+ web_vitals_1.getCLS(exports.sendToGoogleAnalytics);
64
+ web_vitals_1.getFID(exports.sendToGoogleAnalytics);
65
+ web_vitals_1.getLCP(exports.sendToGoogleAnalytics);
66
+ }
67
+ }
68
+ else {
69
+ logger_1.Logger.warn("Google Analytics key is missing, so it will be disabled");
70
+ }
71
+ setInitiated(true);
72
+ // eslint-disable-next-line react-hooks/exhaustive-deps
73
+ }, []);
74
+ var onLocationChange = function (location) {
75
+ var page = location.pathname;
76
+ var track = gaKey && initiated && trackPages;
77
+ if (track) {
78
+ ReactGA.set({ page: page });
79
+ ReactGA.pageview(page);
80
+ }
81
+ };
82
+ react_1.useEffect(function () {
83
+ return listen(onLocationChange);
84
+ // eslint-disable-next-line react-hooks/exhaustive-deps
85
+ }, [location.pathname, initiated]);
86
+ if (!initiated) {
87
+ return null;
88
+ }
89
+ var context = {
90
+ gaKey: gaKey,
91
+ category: category,
92
+ trackPages: trackPages,
93
+ dimensions: dimensions,
94
+ sendEvent: function (action, label) {
95
+ if (label === void 0) { label = ""; }
96
+ ReactGA.event({
97
+ category: category,
98
+ action: action,
99
+ label: label,
100
+ });
101
+ },
102
+ sendCustomEvent: function (category, action, label) {
103
+ if (label === void 0) { label = ""; }
104
+ ReactGA.event({
105
+ category: category,
106
+ action: action,
107
+ label: label,
108
+ });
109
+ },
110
+ overrideCategory: function (category) { return setCategory(category); },
111
+ };
112
+ return (react_1.default.createElement(exports.GoogleAnalyticsContext.Provider, { value: context }, children));
113
+ };
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
16
+ }) : (function(o, m, k, k2) {
17
+ if (k2 === undefined) k2 = k;
18
+ o[k2] = m[k];
19
+ }));
20
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
21
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
22
+ }) : function(o, v) {
23
+ o["default"] = v;
24
+ });
25
+ var __importStar = (this && this.__importStar) || function (mod) {
26
+ if (mod && mod.__esModule) return mod;
27
+ var result = {};
28
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
29
+ __setModuleDefault(result, mod);
30
+ return result;
31
+ };
32
+ var __rest = (this && this.__rest) || function (s, e) {
33
+ var t = {};
34
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
35
+ t[p] = s[p];
36
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
37
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
38
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
39
+ t[p[i]] = s[p[i]];
40
+ }
41
+ return t;
42
+ };
43
+ Object.defineProperty(exports, "__esModule", { value: true });
44
+ exports.HostProvider = exports.useHost = exports.HostContext = void 0;
45
+ var react_1 = __importStar(require("react"));
46
+ var env_1 = require("../helpers/env");
47
+ var _1 = require(".");
48
+ exports.HostContext = react_1.createContext({});
49
+ exports.useHost = function () { return react_1.useContext(exports.HostContext); };
50
+ exports.HostProvider = function (props) {
51
+ var auth = _1.useAuth();
52
+ var _a = props.authUser, authUser = _a === void 0 ? auth.authUser : _a, other = __rest(props, ["authUser"]);
53
+ var country = authUser.country;
54
+ var getApiHost = function (countryCode) {
55
+ return countryCode.toLowerCase() === "id"
56
+ ? env_1.env("REACT_APP_MARS_API_HOST")
57
+ : env_1.env("REACT_APP_GOBIZ_API_HOST");
58
+ };
59
+ // TODO: adjust host config by country if there is different config between id and vietnam
60
+ var getCosmoHost = function (countryCode) {
61
+ return countryCode.toLowerCase() === "id"
62
+ ? env_1.env("REACT_APP_COSMO_HOST")
63
+ : env_1.env("REACT_APP_COSMO_HOST");
64
+ };
65
+ var contextValue = {
66
+ getApiHost: getApiHost,
67
+ cosmoHost: getCosmoHost(country),
68
+ apiHost: getApiHost(country),
69
+ };
70
+ return react_1.default.createElement(exports.HostContext.Provider, __assign({ value: contextValue }, other));
71
+ };
@@ -0,0 +1,127 @@
1
+ "use strict";
2
+ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
3
+ if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
4
+ return cooked;
5
+ };
6
+ var __assign = (this && this.__assign) || function () {
7
+ __assign = Object.assign || function(t) {
8
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
9
+ s = arguments[i];
10
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
11
+ t[p] = s[p];
12
+ }
13
+ return t;
14
+ };
15
+ return __assign.apply(this, arguments);
16
+ };
17
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
18
+ if (k2 === undefined) k2 = k;
19
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
20
+ }) : (function(o, m, k, k2) {
21
+ if (k2 === undefined) k2 = k;
22
+ o[k2] = m[k];
23
+ }));
24
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
25
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
26
+ }) : function(o, v) {
27
+ o["default"] = v;
28
+ });
29
+ var __importStar = (this && this.__importStar) || function (mod) {
30
+ if (mod && mod.__esModule) return mod;
31
+ var result = {};
32
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
33
+ __setModuleDefault(result, mod);
34
+ return result;
35
+ };
36
+ var __rest = (this && this.__rest) || function (s, e) {
37
+ var t = {};
38
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
39
+ t[p] = s[p];
40
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
41
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
42
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
43
+ t[p[i]] = s[p[i]];
44
+ }
45
+ return t;
46
+ };
47
+ var __importDefault = (this && this.__importDefault) || function (mod) {
48
+ return (mod && mod.__esModule) ? mod : { "default": mod };
49
+ };
50
+ Object.defineProperty(exports, "__esModule", { value: true });
51
+ exports.LanguageProvider = exports.useLanguage = exports.LanguageContext = exports.COUNTRY_TO_LANGUAGE = exports.LANGUAGE_LABEL = void 0;
52
+ var react_1 = __importStar(require("react"));
53
+ var moment_1 = __importDefault(require("moment"));
54
+ require("moment/locale/id");
55
+ require("moment/locale/vi");
56
+ var query_string_1 = __importDefault(require("query-string"));
57
+ var useCookie_1 = __importDefault(require("react-use/lib/useCookie"));
58
+ var styled_components_1 = require("styled-components");
59
+ var cookies_1 = require("../constants/cookies");
60
+ exports.LANGUAGE_LABEL = {
61
+ en: "English",
62
+ id: "Bahasa Indonesia",
63
+ vi: "Vietnamese",
64
+ };
65
+ exports.COUNTRY_TO_LANGUAGE = {
66
+ ID: ["id", "en"],
67
+ VN: ["vi", "en"],
68
+ };
69
+ exports.LanguageContext = react_1.createContext({});
70
+ exports.useLanguage = function () { return react_1.useContext(exports.LanguageContext); };
71
+ var flattenLanguage = Object.keys(exports.COUNTRY_TO_LANGUAGE)
72
+ .map(function (country) { return exports.COUNTRY_TO_LANGUAGE[country]; })
73
+ .flat();
74
+ var isValidLanguageCode = function (lang) {
75
+ return flattenLanguage.includes(lang);
76
+ };
77
+ var NotoSansStyle = styled_components_1.createGlobalStyle(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n * {\n font-family: \"Noto Sans\", sans-serif !important;\n }\n"], ["\n * {\n font-family: \"Noto Sans\", sans-serif !important;\n }\n"])));
78
+ exports.LanguageProvider = function (_a) {
79
+ var _b = _a.asMicroApp, asMicroApp = _b === void 0 ? false : _b, _c = _a.defaultLanguage, fallbackLanguage = _c === void 0 ? "en" : _c, others = __rest(_a, ["asMicroApp", "defaultLanguage"]);
80
+ var _d = useCookie_1.default(cookies_1.CookieNames.Language), languageCookie = _d[0], setLanguageCookie = _d[1];
81
+ var queryParams = query_string_1.default.parse(window.location.search);
82
+ var fromQueryOrCookie = (queryParams.language ||
83
+ languageCookie);
84
+ var defaultLanguage = isValidLanguageCode(fromQueryOrCookie)
85
+ ? fromQueryOrCookie
86
+ : fallbackLanguage;
87
+ var _e = react_1.useState(defaultLanguage), language = _e[0], setLanguage = _e[1];
88
+ var _setLanguage = function (language) {
89
+ setLanguageCookie(language);
90
+ setLanguage(language);
91
+ };
92
+ var onPubSubEvent = function (data) {
93
+ if (isValidLanguageCode(data.language)) {
94
+ _setLanguage(data.language);
95
+ }
96
+ };
97
+ var getCountryLanguage = function (country) {
98
+ if (country === void 0) { country = "ID"; }
99
+ var languages = exports.COUNTRY_TO_LANGUAGE[country === null || country === void 0 ? void 0 : country.toUpperCase()];
100
+ return languages === null || languages === void 0 ? void 0 : languages.map(function (language) { return ({
101
+ value: language,
102
+ label: exports.LANGUAGE_LABEL[language],
103
+ }); });
104
+ };
105
+ react_1.useEffect(function () {
106
+ var _a;
107
+ if (asMicroApp) {
108
+ (_a = window.$pubsubSubscribe) === null || _a === void 0 ? void 0 : _a.call(window, "$__pubsub", onPubSubEvent);
109
+ return function () { var _a; return (_a = window.$pubsubUnsubscribe) === null || _a === void 0 ? void 0 : _a.call(window, "$__pubsub", onPubSubEvent); };
110
+ }
111
+ // eslint-disable-next-line react-hooks/exhaustive-deps
112
+ }, []);
113
+ react_1.useEffect(function () {
114
+ if (!!language)
115
+ moment_1.default.locale(language);
116
+ }, [language]);
117
+ var context = {
118
+ language: language,
119
+ setLanguage: _setLanguage,
120
+ languageLabel: exports.LANGUAGE_LABEL[language],
121
+ getCountryLanguage: getCountryLanguage,
122
+ };
123
+ return (react_1.default.createElement(react_1.default.Fragment, null,
124
+ language === "vi" && react_1.default.createElement(NotoSansStyle, null),
125
+ react_1.default.createElement(exports.LanguageContext.Provider, __assign({}, others, { value: context }))));
126
+ };
127
+ var templateObject_1;