acsi-core 0.1.39 → 0.1.41

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.
@@ -1,7 +1,7 @@
1
1
  import { createBrowserHistory } from 'history';
2
2
  import { createAction, createReducer, configureStore } from '@reduxjs/toolkit';
3
3
  import React, { useState, useCallback, useEffect, Fragment, useRef } from 'react';
4
- import { Row, Col, Form, Modal, ModalHeader, ModalBody, ModalFooter, Button, Pagination, PaginationItem, PaginationLink, FormGroup, Input, Label, Tooltip } from 'reactstrap';
4
+ import { Row, Col, Modal, ModalHeader, ModalBody, ModalFooter, Button, Pagination, PaginationItem, PaginationLink, FormGroup, Input, Label, Tooltip } from 'reactstrap';
5
5
  import axios from 'axios';
6
6
  import moment from 'moment';
7
7
  import { Link } from 'react-router-dom';
@@ -83,7 +83,7 @@ var COLORS = {
83
83
  var ORGANIZATION_TENANT = "ORGANIZATION_TENANT";
84
84
  var ORGANIZATION_TEAM = "ORGANIZATION_TEAM";
85
85
 
86
- var styleGlobal = {"signup_wrap":"_1KLz9","box-signin":"_2Jo1o","signin_title":"_3egBO","signup_link":"_1DoIT","google_button":"_34hK_","box-field":"_2e9xO","box-input":"_3zXRp","box-button-email":"_21FPk","box-signin-container":"_1QERu","box-signin-text":"_2-znH","box-signin-logo":"_1aB2m","box-right":"_3qndF","box-right-body":"_JzdCr","box-right-footer":"_19aCA","pr-30":"_2HB5r"};
86
+ var styleGlobal = {"signup_wrap":"_1KLz9","box-signin":"_2Jo1o","signin_title":"_3egBO","signup_link":"_1DoIT","google_button":"_34hK_","box-field":"_2e9xO","box-input":"_3zXRp","box-text":"_8NJga","box-button-email":"_21FPk","box-signin-container":"_1QERu","box-signin-text":"_2-znH","box-signin-logo":"_1aB2m","box-right":"_3qndF","box-right-body":"_JzdCr","box-right-footer":"_19aCA","pr-30":"_2HB5r"};
87
87
 
88
88
  var api = axios.create({
89
89
  baseURL: BASE_URL,
@@ -133,12 +133,28 @@ var apiUpload = axios.create({
133
133
  var apiLoginGoogle = function apiLoginGoogle(body) {
134
134
  return api.post(BASE_URL + "/api/Auth/login", body);
135
135
  };
136
+ var apiSendEmailCode = function apiSendEmailCode(body) {
137
+ return api.post(BASE_URL + "/api/Auth/send-code-email", body);
138
+ };
139
+ var apiCheckEmailCode = function apiCheckEmailCode(params) {
140
+ return api.get(BASE_URL + "/api/Auth/check-code-email", {
141
+ params: params
142
+ });
143
+ };
136
144
 
137
145
  var itemLogin = ['Seamless lesson planning', 'Flexibility and customization', 'Data protection and security', 'Standards alignment', 'AI smart assist'];
138
146
 
139
147
  var BlockLogin = function BlockLogin(_ref) {
140
148
  var onNavigate = _ref.onNavigate,
141
- role = _ref.role;
149
+ role = _ref.role,
150
+ email = _ref.email,
151
+ setEmail = _ref.setEmail,
152
+ loginWithEmail = _ref.loginWithEmail,
153
+ code = _ref.code,
154
+ setCode = _ref.setCode,
155
+ isScreenCode = _ref.isScreenCode,
156
+ formatTime = _ref.formatTime,
157
+ loginWithEmailCode = _ref.loginWithEmailCode;
142
158
  var dispatch = useDispatch();
143
159
  var googleLogin = useGoogleLogin({
144
160
  onSuccess: function (tokenResponse) {
@@ -151,7 +167,7 @@ var BlockLogin = function BlockLogin(_ref) {
151
167
  return function () {
152
168
  if (userInfo && userInfo.data) {
153
169
  var _userInfo$data = userInfo.data,
154
- email = _userInfo$data.email,
170
+ _email = _userInfo$data.email,
155
171
  picture = _userInfo$data.picture,
156
172
  family_name = _userInfo$data.family_name,
157
173
  given_name = _userInfo$data.given_name,
@@ -163,7 +179,7 @@ var BlockLogin = function BlockLogin(_ref) {
163
179
  fullName: name,
164
180
  firstName: family_name,
165
181
  lastName: given_name,
166
- email: email,
182
+ email: _email,
167
183
  token: accessToken,
168
184
  googleId: sub,
169
185
  role: role
@@ -237,13 +253,40 @@ var BlockLogin = function BlockLogin(_ref) {
237
253
  src: "/images/icons/Google__G__logo.png"
238
254
  }), "Sign in with Google")), role != "Admin" && React.createElement(React.Fragment, null, React.createElement("span", {
239
255
  className: "" + styleGlobal["box-field"]
240
- }, "OR"), React.createElement(Form, null, React.createElement("div", {
256
+ }, "OR"), isScreenCode ? React.createElement(React.Fragment, null, React.createElement("div", {
257
+ className: "" + styleGlobal["box-input"]
258
+ }, React.createElement("input", {
259
+ type: "text",
260
+ placeholder: "Code OTP",
261
+ value: code,
262
+ onChange: function onChange(event) {
263
+ setCode(event.target.value);
264
+ }
265
+ }), React.createElement("p", {
266
+ className: styleGlobal["box-text"]
267
+ }, "Your code will expire: ", React.createElement("span", null, formatTime()))), React.createElement("button", {
268
+ onClick: function onClick() {
269
+ return loginWithEmailCode();
270
+ },
271
+ className: "" + styleGlobal["box-button-email"]
272
+ }, React.createElement("img", {
273
+ width: 20,
274
+ height: 20,
275
+ alt: "Email sign-in",
276
+ src: "/images/icons/Login_icon.png"
277
+ }), "Login")) : React.createElement(React.Fragment, null, React.createElement("div", {
241
278
  className: "" + styleGlobal["box-input"]
242
279
  }, React.createElement("input", {
243
280
  type: "email",
244
- placeholder: "Email"
281
+ placeholder: "Email",
282
+ value: email,
283
+ onChange: function onChange(event) {
284
+ setEmail(event.target.value.trim());
285
+ }
245
286
  })), React.createElement("button", {
246
- type: "submit",
287
+ onClick: function onClick() {
288
+ !!email && loginWithEmail();
289
+ },
247
290
  className: "" + styleGlobal["box-button-email"]
248
291
  }, React.createElement("img", {
249
292
  width: 20,
@@ -308,66 +351,183 @@ var BlockLogin = function BlockLogin(_ref) {
308
351
  }))))))));
309
352
  };
310
353
 
354
+ // A type of promise-like that resolves synchronously and supports only one observer
355
+
356
+ const _iteratorSymbol = /*#__PURE__*/ typeof Symbol !== "undefined" ? (Symbol.iterator || (Symbol.iterator = Symbol("Symbol.iterator"))) : "@@iterator";
357
+
358
+ const _asyncIteratorSymbol = /*#__PURE__*/ typeof Symbol !== "undefined" ? (Symbol.asyncIterator || (Symbol.asyncIterator = Symbol("Symbol.asyncIterator"))) : "@@asyncIterator";
359
+
360
+ // Asynchronously call a function and send errors to recovery continuation
361
+ function _catch(body, recover) {
362
+ try {
363
+ var result = body();
364
+ } catch(e) {
365
+ return recover(e);
366
+ }
367
+ if (result && result.then) {
368
+ return result.then(void 0, recover);
369
+ }
370
+ return result;
371
+ }
372
+
311
373
  var defaultInfo = {
312
374
  email: "",
313
375
  password: "",
314
376
  captcha: "",
315
377
  rememberMe: false
316
378
  };
317
- var useLogin = function useLogin() {
379
+ var minutes = 15;
380
+ var useLogin = function useLogin(onNavigate) {
318
381
  var _useState = useState(false),
319
382
  openLogin = _useState[0],
320
383
  setOpenLogin = _useState[1];
321
384
  var _useState2 = useState(),
322
385
  infoUser = _useState2[0],
323
386
  setInfoUser = _useState2[1];
387
+ var dispatch = useDispatch();
324
388
  var toggle = useCallback(function () {
325
389
  setOpenLogin(!openLogin);
326
390
  }, [openLogin]);
327
- var _useState3 = useState(false),
328
- isShowPassword = _useState3[0],
329
- setIsShowPassword = _useState3[1];
391
+ var _useState3 = useState(""),
392
+ email = _useState3[0],
393
+ setEmail = _useState3[1];
394
+ var _useState4 = useState(""),
395
+ code = _useState4[0],
396
+ setCode = _useState4[1];
397
+ var _useState5 = useState(false),
398
+ isScreenCode = _useState5[0],
399
+ setIsScreenCode = _useState5[1];
400
+ var _useState6 = useState(minutes * 60),
401
+ timeLeft = _useState6[0],
402
+ setTimeLeft = _useState6[1];
403
+ var loginWithEmail = function loginWithEmail() {
404
+ try {
405
+ var _temp2 = function _temp2() {
406
+ dispatch(setLoading(false));
407
+ };
408
+ dispatch(setLoading(true));
409
+ var _temp = _catch(function () {
410
+ return Promise.resolve(apiSendEmailCode(email)).then(function (res) {
411
+ var data = res.data;
412
+ if (data.status == 1) {
413
+ if (data.data.token != null) {
414
+ var tokenJWT = data.data.token;
415
+ localStorage.setItem(ACCESS_TOKEN, tokenJWT);
416
+ onNavigate("/dashboard");
417
+ } else {
418
+ setIsScreenCode(true);
419
+ }
420
+ } else {
421
+ dispatch(setLoading(false));
422
+ alert("Please contact admin.");
423
+ }
424
+ });
425
+ }, function (e) {
426
+ console.log(e);
427
+ });
428
+ return Promise.resolve(_temp && _temp.then ? _temp.then(_temp2) : _temp2(_temp));
429
+ } catch (e) {
430
+ return Promise.reject(e);
431
+ }
432
+ };
433
+ var loginWithEmailCode = function loginWithEmailCode() {
434
+ try {
435
+ var _temp4 = function _temp4() {
436
+ dispatch(setLoading(false));
437
+ };
438
+ dispatch(setLoading(true));
439
+ var _temp3 = _catch(function () {
440
+ return Promise.resolve(apiCheckEmailCode({
441
+ email: email,
442
+ code: code
443
+ })).then(function (res) {
444
+ var data = res.data;
445
+ if (data.status == 1) {
446
+ var tokenJWT = data.data.token;
447
+ localStorage.setItem(ACCESS_TOKEN, tokenJWT);
448
+ onNavigate("/dashboard");
449
+ } else {
450
+ dispatch(setLoading(false));
451
+ alert("The code is not accurate. Please check again.");
452
+ }
453
+ });
454
+ }, function (e) {
455
+ console.log(e);
456
+ });
457
+ return Promise.resolve(_temp3 && _temp3.then ? _temp3.then(_temp4) : _temp4(_temp3));
458
+ } catch (e) {
459
+ return Promise.reject(e);
460
+ }
461
+ };
462
+ var formatTime = function formatTime() {
463
+ var m = Math.floor(timeLeft / 60);
464
+ var s = timeLeft % 60;
465
+ return m.toString().padStart(2, '0') + ":" + s.toString().padStart(2, '0');
466
+ };
467
+ useEffect(function () {
468
+ if (isScreenCode) {
469
+ var timer = setInterval(function () {
470
+ setTimeLeft(function (prev) {
471
+ if (prev <= 1) {
472
+ clearInterval(timer);
473
+ return 0;
474
+ }
475
+ return prev - 1;
476
+ });
477
+ }, 1000);
478
+ return function () {
479
+ return clearInterval(timer);
480
+ };
481
+ }
482
+ return;
483
+ }, [isScreenCode]);
330
484
  return {
331
485
  defaultInfo: defaultInfo,
332
486
  openLogin: openLogin,
333
487
  toggle: toggle,
334
- isShowPassword: isShowPassword,
335
- setIsShowPassword: setIsShowPassword,
488
+ email: email,
489
+ setEmail: setEmail,
490
+ loginWithEmail: loginWithEmail,
336
491
  infoUser: infoUser,
337
- setInfoUser: setInfoUser
492
+ setInfoUser: setInfoUser,
493
+ code: code,
494
+ setCode: setCode,
495
+ isScreenCode: isScreenCode,
496
+ formatTime: formatTime,
497
+ loginWithEmailCode: loginWithEmailCode
338
498
  };
339
499
  };
340
500
 
341
501
  var Login = function Login(props) {
342
502
  var onNavigate = props.onNavigate,
343
503
  role = props.role;
344
- var _useLogin = useLogin(),
345
- defaultInfo = _useLogin.defaultInfo;
504
+ var _useLogin = useLogin(onNavigate),
505
+ defaultInfo = _useLogin.defaultInfo,
506
+ email = _useLogin.email,
507
+ setEmail = _useLogin.setEmail,
508
+ loginWithEmail = _useLogin.loginWithEmail,
509
+ code = _useLogin.code,
510
+ setCode = _useLogin.setCode,
511
+ isScreenCode = _useLogin.isScreenCode,
512
+ formatTime = _useLogin.formatTime,
513
+ loginWithEmailCode = _useLogin.loginWithEmailCode;
346
514
  return React.createElement("div", {
347
515
  className: styleGlobal["signup_wrap"] + " container-fluid font-family-lato"
348
516
  }, React.createElement(BlockLogin, {
349
517
  defaultInfo: defaultInfo,
518
+ email: email,
519
+ setEmail: setEmail,
520
+ loginWithEmail: loginWithEmail,
521
+ code: code,
522
+ setCode: setCode,
523
+ formatTime: formatTime,
524
+ isScreenCode: isScreenCode,
350
525
  onNavigate: onNavigate,
526
+ loginWithEmailCode: loginWithEmailCode,
351
527
  role: role
352
528
  }));
353
529
  };
354
530
 
355
- var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
356
-
357
- function unwrapExports (x) {
358
- return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
359
- }
360
-
361
- function createCommonjsModule(fn, module) {
362
- return module = { exports: {} }, fn(module, module.exports), module.exports;
363
- }
364
-
365
- var reduxLogger = createCommonjsModule(function (module, exports) {
366
- !function(e,t){t(exports);}(commonjsGlobal,function(e){function t(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}});}function r(e,t){Object.defineProperty(this,"kind",{value:e,enumerable:!0}),t&&t.length&&Object.defineProperty(this,"path",{value:t,enumerable:!0});}function n(e,t,r){n.super_.call(this,"E",e),Object.defineProperty(this,"lhs",{value:t,enumerable:!0}),Object.defineProperty(this,"rhs",{value:r,enumerable:!0});}function o(e,t){o.super_.call(this,"N",e),Object.defineProperty(this,"rhs",{value:t,enumerable:!0});}function i(e,t){i.super_.call(this,"D",e),Object.defineProperty(this,"lhs",{value:t,enumerable:!0});}function a(e,t,r){a.super_.call(this,"A",e),Object.defineProperty(this,"index",{value:t,enumerable:!0}),Object.defineProperty(this,"item",{value:r,enumerable:!0});}function f(e,t,r){var n=e.slice((r||t)+1||e.length);return e.length=t<0?e.length+t:t,e.push.apply(e,n),e}function u(e){var t="undefined"==typeof e?"undefined":N(e);return "object"!==t?t:e===Math?"math":null===e?"null":Array.isArray(e)?"array":"[object Date]"===Object.prototype.toString.call(e)?"date":"function"==typeof e.toString&&/^\/.*\//.test(e.toString())?"regexp":"object"}function l(e,t,r,c,s,d,p){s=s||[],p=p||[];var g=s.slice(0);if("undefined"!=typeof d){if(c){if("function"==typeof c&&c(g,d))return;if("object"===("undefined"==typeof c?"undefined":N(c))){if(c.prefilter&&c.prefilter(g,d))return;if(c.normalize){var h=c.normalize(g,d,e,t);h&&(e=h[0],t=h[1]);}}}g.push(d);}"regexp"===u(e)&&"regexp"===u(t)&&(e=e.toString(),t=t.toString());var y="undefined"==typeof e?"undefined":N(e),v="undefined"==typeof t?"undefined":N(t),b="undefined"!==y||p&&p[p.length-1].lhs&&p[p.length-1].lhs.hasOwnProperty(d),m="undefined"!==v||p&&p[p.length-1].rhs&&p[p.length-1].rhs.hasOwnProperty(d);if(!b&&m)r(new o(g,t));else if(!m&&b)r(new i(g,e));else if(u(e)!==u(t))r(new n(g,e,t));else if("date"===u(e)&&e-t!==0)r(new n(g,e,t));else if("object"===y&&null!==e&&null!==t)if(p.filter(function(t){return t.lhs===e}).length)e!==t&&r(new n(g,e,t));else {if(p.push({lhs:e,rhs:t}),Array.isArray(e)){var w;for(w=0;w<e.length;w++)w>=t.length?r(new a(g,w,new i(void 0,e[w]))):l(e[w],t[w],r,c,g,w,p);for(;w<t.length;)r(new a(g,w,new o(void 0,t[w++])));}else {var x=Object.keys(e),S=Object.keys(t);x.forEach(function(n,o){var i=S.indexOf(n);i>=0?(l(e[n],t[n],r,c,g,n,p),S=f(S,i)):l(e[n],void 0,r,c,g,n,p);}),S.forEach(function(e){l(void 0,t[e],r,c,g,e,p);});}p.length=p.length-1;}else e!==t&&("number"===y&&isNaN(e)&&isNaN(t)||r(new n(g,e,t)));}function c(e,t,r,n){return n=n||[],l(e,t,function(e){e&&n.push(e);},r),n.length?n:void 0}function s(e,t,r){if(r.path&&r.path.length){var n,o=e[t],i=r.path.length-1;for(n=0;n<i;n++)o=o[r.path[n]];switch(r.kind){case"A":s(o[r.path[n]],r.index,r.item);break;case"D":delete o[r.path[n]];break;case"E":case"N":o[r.path[n]]=r.rhs;}}else switch(r.kind){case"A":s(e[t],r.index,r.item);break;case"D":e=f(e,t);break;case"E":case"N":e[t]=r.rhs;}return e}function d(e,t,r){if(e&&t&&r&&r.kind){for(var n=e,o=-1,i=r.path?r.path.length-1:0;++o<i;)"undefined"==typeof n[r.path[o]]&&(n[r.path[o]]="number"==typeof r.path[o]?[]:{}),n=n[r.path[o]];switch(r.kind){case"A":s(r.path?n[r.path[o]]:n,r.index,r.item);break;case"D":delete n[r.path[o]];break;case"E":case"N":n[r.path[o]]=r.rhs;}}}function p(e,t,r){if(r.path&&r.path.length){var n,o=e[t],i=r.path.length-1;for(n=0;n<i;n++)o=o[r.path[n]];switch(r.kind){case"A":p(o[r.path[n]],r.index,r.item);break;case"D":o[r.path[n]]=r.lhs;break;case"E":o[r.path[n]]=r.lhs;break;case"N":delete o[r.path[n]];}}else switch(r.kind){case"A":p(e[t],r.index,r.item);break;case"D":e[t]=r.lhs;break;case"E":e[t]=r.lhs;break;case"N":e=f(e,t);}return e}function g(e,t,r){if(e&&t&&r&&r.kind){var n,o,i=e;for(o=r.path.length-1,n=0;n<o;n++)"undefined"==typeof i[r.path[n]]&&(i[r.path[n]]={}),i=i[r.path[n]];switch(r.kind){case"A":p(i[r.path[n]],r.index,r.item);break;case"D":i[r.path[n]]=r.lhs;break;case"E":i[r.path[n]]=r.lhs;break;case"N":delete i[r.path[n]];}}}function h(e,t,r){if(e&&t){var n=function(n){r&&!r(e,t,n)||d(e,t,n);};l(e,t,n);}}function y(e){return "color: "+F[e].color+"; font-weight: bold"}function v(e){var t=e.kind,r=e.path,n=e.lhs,o=e.rhs,i=e.index,a=e.item;switch(t){case"E":return [r.join("."),n,"→",o];case"N":return [r.join("."),o];case"D":return [r.join(".")];case"A":return [r.join(".")+"["+i+"]",a];default:return []}}function b(e,t,r,n){var o=c(e,t);try{n?r.groupCollapsed("diff"):r.group("diff");}catch(e){r.log("diff");}o?o.forEach(function(e){var t=e.kind,n=v(e);r.log.apply(r,["%c "+F[t].text,y(t)].concat(P(n)));}):r.log("—— no diff ——");try{r.groupEnd();}catch(e){r.log("—— diff end —— ");}}function m(e,t,r,n){switch("undefined"==typeof e?"undefined":N(e)){case"object":return "function"==typeof e[n]?e[n].apply(e,P(r)):e[n];case"function":return e(t);default:return e}}function w(e){var t=e.timestamp,r=e.duration;return function(e,n,o){var i=["action"];return i.push("%c"+String(e.type)),t&&i.push("%c@ "+n),r&&i.push("%c(in "+o.toFixed(2)+" ms)"),i.join(" ")}}function x(e,t){var r=t.logger,n=t.actionTransformer,o=t.titleFormatter,i=void 0===o?w(t):o,a=t.collapsed,f=t.colors,u=t.level,l=t.diff,c="undefined"==typeof t.titleFormatter;e.forEach(function(o,s){var d=o.started,p=o.startedTime,g=o.action,h=o.prevState,y=o.error,v=o.took,w=o.nextState,x=e[s+1];x&&(w=x.prevState,v=x.started-d);var S=n(g),k="function"==typeof a?a(function(){return w},g,o):a,j=D(p),E=f.title?"color: "+f.title(S)+";":"",A=["color: gray; font-weight: lighter;"];A.push(E),t.timestamp&&A.push("color: gray; font-weight: lighter;"),t.duration&&A.push("color: gray; font-weight: lighter;");var O=i(S,j,v);try{k?f.title&&c?r.groupCollapsed.apply(r,["%c "+O].concat(A)):r.groupCollapsed(O):f.title&&c?r.group.apply(r,["%c "+O].concat(A)):r.group(O);}catch(e){r.log(O);}var N=m(u,S,[h],"prevState"),P=m(u,S,[S],"action"),C=m(u,S,[y,h],"error"),F=m(u,S,[w],"nextState");if(N)if(f.prevState){var L="color: "+f.prevState(h)+"; font-weight: bold";r[N]("%c prev state",L,h);}else r[N]("prev state",h);if(P)if(f.action){var T="color: "+f.action(S)+"; font-weight: bold";r[P]("%c action ",T,S);}else r[P]("action ",S);if(y&&C)if(f.error){var M="color: "+f.error(y,h)+"; font-weight: bold;";r[C]("%c error ",M,y);}else r[C]("error ",y);if(F)if(f.nextState){var _="color: "+f.nextState(w)+"; font-weight: bold";r[F]("%c next state",_,w);}else r[F]("next state",w);l&&b(h,w,r,k);try{r.groupEnd();}catch(e){r.log("—— log end ——");}});}function S(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=Object.assign({},L,e),r=t.logger,n=t.stateTransformer,o=t.errorTransformer,i=t.predicate,a=t.logErrors,f=t.diffPredicate;if("undefined"==typeof r)return function(){return function(e){return function(t){return e(t)}}};if(e.getState&&e.dispatch)return console.error("[redux-logger] redux-logger not installed. Make sure to pass logger instance as middleware:\n// Logger with default options\nimport { logger } from 'redux-logger'\nconst store = createStore(\n reducer,\n applyMiddleware(logger)\n)\n// Or you can create your own logger with custom options http://bit.ly/redux-logger-options\nimport createLogger from 'redux-logger'\nconst logger = createLogger({\n // ...options\n});\nconst store = createStore(\n reducer,\n applyMiddleware(logger)\n)\n"),function(){return function(e){return function(t){return e(t)}}};var u=[];return function(e){var r=e.getState;return function(e){return function(l){if("function"==typeof i&&!i(r,l))return e(l);var c={};u.push(c),c.started=O.now(),c.startedTime=new Date,c.prevState=n(r()),c.action=l;var s=void 0;if(a)try{s=e(l);}catch(e){c.error=o(e);}else s=e(l);c.took=O.now()-c.started,c.nextState=n(r());var d=t.diff&&"function"==typeof f?f(r,l):t.diff;if(x(u,Object.assign({},t,{diff:d})),u.length=0,c.error)throw c.error;return s}}}}var k,j,E=function(e,t){return new Array(t+1).join(e)},A=function(e,t){return E("0",t-e.toString().length)+e},D=function(e){return A(e.getHours(),2)+":"+A(e.getMinutes(),2)+":"+A(e.getSeconds(),2)+"."+A(e.getMilliseconds(),3)},O="undefined"!=typeof performance&&null!==performance&&"function"==typeof performance.now?performance:Date,N="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},P=function(e){if(Array.isArray(e)){for(var t=0,r=Array(e.length);t<e.length;t++)r[t]=e[t];return r}return Array.from(e)},C=[];k="object"===("undefined"==typeof commonjsGlobal?"undefined":N(commonjsGlobal))&&commonjsGlobal?commonjsGlobal:"undefined"!=typeof window?window:{},j=k.DeepDiff,j&&C.push(function(){"undefined"!=typeof j&&k.DeepDiff===c&&(k.DeepDiff=j,j=void 0);}),t(n,r),t(o,r),t(i,r),t(a,r),Object.defineProperties(c,{diff:{value:c,enumerable:!0},observableDiff:{value:l,enumerable:!0},applyDiff:{value:h,enumerable:!0},applyChange:{value:d,enumerable:!0},revertChange:{value:g,enumerable:!0},isConflict:{value:function(){return "undefined"!=typeof j},enumerable:!0},noConflict:{value:function(){return C&&(C.forEach(function(e){e();}),C=null),c},enumerable:!0}});var F={E:{color:"#2196F3",text:"CHANGED:"},N:{color:"#4CAF50",text:"ADDED:"},D:{color:"#F44336",text:"DELETED:"},A:{color:"#2196F3",text:"ARRAY:"}},L={level:"log",logger:console,logErrors:!0,collapsed:void 0,predicate:void 0,duration:!1,timestamp:!0,stateTransformer:function(e){return e},actionTransformer:function(e){return e},errorTransformer:function(e){return e},colors:{title:function(){return "inherit"},prevState:function(){return "#9E9E9E"},action:function(){return "#03A9F4"},nextState:function(){return "#4CAF50"},error:function(){return "#F20404"}},diff:!1,diffPredicate:void 0,transformer:void 0},T=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.dispatch,r=e.getState;return "function"==typeof t||"function"==typeof r?S()({dispatch:t,getState:r}):void console.error("\n[redux-logger v3] BREAKING CHANGE\n[redux-logger v3] Since 3.0.0 redux-logger exports by default logger with default settings.\n[redux-logger v3] Change\n[redux-logger v3] import createLogger from 'redux-logger'\n[redux-logger v3] to\n[redux-logger v3] import { createLogger } from 'redux-logger'\n")};e.defaults=L,e.createLogger=S,e.logger=T,e.default=T,Object.defineProperty(e,"__esModule",{value:!0});});
367
- });
368
-
369
- var logger = unwrapExports(reduxLogger);
370
-
371
531
  // src/utils/formatProdErrorMessage.ts
372
532
  function formatProdErrorMessage(code) {
373
533
  return `Minified Redux error #${code}; visit https://redux.js.org/Errors?code=${code} for the full message or use the non-minified dev environment for full errors. `;
@@ -595,7 +755,7 @@ var store = configureStore({
595
755
  middleware: function middleware(getDefaultMiddleware) {
596
756
  return getDefaultMiddleware({
597
757
  serializableCheck: false
598
- }).concat(logger);
758
+ });
599
759
  }
600
760
  });
601
761
 
@@ -607,25 +767,6 @@ var getAccessToken$1 = (function () {
607
767
  }
608
768
  });
609
769
 
610
- // A type of promise-like that resolves synchronously and supports only one observer
611
-
612
- const _iteratorSymbol = /*#__PURE__*/ typeof Symbol !== "undefined" ? (Symbol.iterator || (Symbol.iterator = Symbol("Symbol.iterator"))) : "@@iterator";
613
-
614
- const _asyncIteratorSymbol = /*#__PURE__*/ typeof Symbol !== "undefined" ? (Symbol.asyncIterator || (Symbol.asyncIterator = Symbol("Symbol.asyncIterator"))) : "@@asyncIterator";
615
-
616
- // Asynchronously call a function and send errors to recovery continuation
617
- function _catch(body, recover) {
618
- try {
619
- var result = body();
620
- } catch(e) {
621
- return recover(e);
622
- }
623
- if (result && result.then) {
624
- return result.then(void 0, recover);
625
- }
626
- return result;
627
- }
628
-
629
770
  var encodeParams$1 = (function (params) {
630
771
  return Object.keys(params).filter(function (key) {
631
772
  return params[key] || params[key] === 0 || params[key] === false;
@@ -1882,6 +2023,52 @@ var CoreTitleInput = function CoreTitleInput(props) {
1882
2023
  }));
1883
2024
  };
1884
2025
 
2026
+ var styles$d = {"core-tooltip":"_1Bmhs"};
2027
+
2028
+ var CoreTooltip = function CoreTooltip(props) {
2029
+ var id = props.id,
2030
+ content = props.content,
2031
+ children = props.children,
2032
+ placement = props.placement,
2033
+ isDelay = props.isDelay,
2034
+ _props$timeDelay = props.timeDelay,
2035
+ timeDelay = _props$timeDelay === void 0 ? 1500 : _props$timeDelay,
2036
+ innerClassName = props.innerClassName;
2037
+ var timeoutRef = useRef(null);
2038
+ var _useState = useState(false),
2039
+ isOpenTooltip = _useState[0],
2040
+ setIsOpenTooltip = _useState[1];
2041
+ var handleMouseEnter = function handleMouseEnter() {
2042
+ if (isDelay) {
2043
+ timeoutRef.current = setTimeout(function () {
2044
+ setIsOpenTooltip(true);
2045
+ }, timeDelay);
2046
+ } else {
2047
+ setIsOpenTooltip(true);
2048
+ }
2049
+ };
2050
+ var handleMouseLeave = function handleMouseLeave() {
2051
+ if (timeoutRef.current) {
2052
+ clearTimeout(timeoutRef.current);
2053
+ timeoutRef.current = null;
2054
+ }
2055
+ setIsOpenTooltip(false);
2056
+ };
2057
+ return React.createElement("div", {
2058
+ id: id,
2059
+ className: styles$d["core-tooltip"],
2060
+ onMouseEnter: handleMouseEnter,
2061
+ onMouseLeave: handleMouseLeave
2062
+ }, React.createElement("div", {
2063
+ className: styles$d["icon"]
2064
+ }, children), content && React.createElement(Tooltip, {
2065
+ target: id,
2066
+ isOpen: isOpenTooltip,
2067
+ placement: placement,
2068
+ innerClassName: innerClassName
2069
+ }, content));
2070
+ };
2071
+
1885
2072
  var getErrorMessage = function getErrorMessage(error, defaultErrorMessage) {
1886
2073
  var _error$response, _error$response$data, _error$response2, _error$response3, _error$response3$data;
1887
2074
  var errorMessage = error === null || error === void 0 ? void 0 : (_error$response = error.response) === null || _error$response === void 0 ? void 0 : (_error$response$data = _error$response.data) === null || _error$response$data === void 0 ? void 0 : _error$response$data.title;
@@ -2084,5 +2271,5 @@ var CustomSelectOption = function CustomSelectOption(_ref) {
2084
2271
 
2085
2272
  var historyCore = createBrowserHistory();
2086
2273
 
2087
- export { ACCESS_TOKEN, BASE_URL, CommonDialog, ConfirmDialog, CoreButton, CoreInput$1 as CoreCheckbox, CoreError, CoreInput, CoreInputCompact, CoreModal, CoreRadio, CoreRange, CoreSearch, CoreSelect, CoreSelectCompact, CoreTextArea, CoreTitleInput, CustomAsyncSelect, CustomCreatable, CustomPagination, CustomSelect, CustomSelectOption, DATE_TIME_MIN_VALUE, LayoutContext, Loading, Login, NotFound, OPENSALT_BASE_URL, ORGANIZATION_TEAM, ORGANIZATION_TENANT, Role, api$1 as api, apiUpload$1 as apiUpload, firstCheckToken, getAccessToken$1 as getAccessToken, getErrorMessage, historyCore, setAddTenant, setAlert, setIsRefetchSidebar, setLoading, setLoadingPage, setMenuCollapse, setTeam, setTenant, setUser, store, useGoogleSignOut };
2274
+ export { ACCESS_TOKEN, BASE_URL, CommonDialog, ConfirmDialog, CoreButton, CoreInput$1 as CoreCheckbox, CoreError, CoreInput, CoreInputCompact, CoreModal, CoreRadio, CoreRange, CoreSearch, CoreSelect, CoreSelectCompact, CoreTextArea, CoreTitleInput, CoreTooltip, CustomAsyncSelect, CustomCreatable, CustomPagination, CustomSelect, CustomSelectOption, DATE_TIME_MIN_VALUE, LayoutContext, Loading, Login, NotFound, OPENSALT_BASE_URL, ORGANIZATION_TEAM, ORGANIZATION_TENANT, Role, api$1 as api, apiUpload$1 as apiUpload, firstCheckToken, getAccessToken$1 as getAccessToken, getErrorMessage, historyCore, setAddTenant, setAlert, setIsRefetchSidebar, setLoading, setLoadingPage, setMenuCollapse, setTeam, setTenant, setUser, store, useGoogleSignOut };
2088
2275
  //# sourceMappingURL=index.modern.js.map