@bigbinary/neeto-commons-frontend 4.13.91 → 4.13.92-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (102) hide show
  1. package/README.md +1 -0
  2. package/configs/esbuild/index.js +4 -0
  3. package/configs/esbuild/plugins/packageTranslations.js +16 -0
  4. package/configs/esbuild/plugins/preval.js +16 -6
  5. package/configs/scripts/buildTranslationImports.js +22 -0
  6. package/configs/scripts/getEnglishTranslation.js +17 -0
  7. package/configs/utils/packageTranslations.js +90 -0
  8. package/configs/vite/index.js +5 -0
  9. package/configs/vite/plugins/packageTranslations.js +14 -0
  10. package/configs/vite/plugins/preval.js +32 -10
  11. package/dist/cjs/initializers/i18n.js +39 -130
  12. package/dist/cjs/initializers/i18n.js.map +1 -1
  13. package/dist/cjs/initializers/index.js +38 -19
  14. package/dist/cjs/initializers/index.js.map +1 -1
  15. package/dist/cjs/react-utils/AppContainer/AppContainer.js +2 -2
  16. package/dist/cjs/react-utils/HoneybadgerErrorBoundary/FallbackComponent.js +2 -2
  17. package/dist/cjs/react-utils/index.js +6 -0
  18. package/dist/cjs/react-utils/index.js.map +1 -1
  19. package/dist/cjs/react-utils/lazyWithRetry/index.js +10 -0
  20. package/dist/cjs/react-utils/lazyWithRetry/index.js.map +1 -0
  21. package/dist/cjs/react-utils/lazyWithRetry/lazyWithRetry.js +15 -0
  22. package/dist/cjs/react-utils/lazyWithRetry/lazyWithRetry.js.map +1 -0
  23. package/dist/cjs/react-utils/mount/index.js +15 -0
  24. package/dist/cjs/react-utils/mount/index.js.map +1 -0
  25. package/dist/cjs/react-utils/mount/mount.js +86 -0
  26. package/dist/cjs/react-utils/mount/mount.js.map +1 -0
  27. package/dist/cjs/react-utils/useBreakpoints/index.js +2 -2
  28. package/dist/cjs/react-utils/useColumnConfig/useColumnConfig.js +2 -2
  29. package/dist/cjs/react-utils/useDebounce/useDebounce.js +3 -3
  30. package/dist/cjs/react-utils/useFieldSubmit/useFieldSubmit.js +4 -4
  31. package/dist/cjs/react-utils/useFuncDebounce/useFuncDebounce.js +2 -2
  32. package/dist/cjs/react-utils/useIsElementVisibleInDom/useForceUpdate.js +2 -2
  33. package/dist/cjs/react-utils/useIsElementVisibleInDom/useIsElementVisibleInDom.js +3 -3
  34. package/dist/cjs/react-utils/useLocalStorage/useLocalStorage.js +2 -2
  35. package/dist/cjs/react-utils/useOnClickOutside/useOnClickOutside.js +2 -2
  36. package/dist/cjs/react-utils/usePersistedQuery/usePersistedQuery.js +2 -2
  37. package/dist/cjs/react-utils/usePrevious/usePrevious.js +3 -3
  38. package/dist/cjs/react-utils/useRegisterNavigationCheckpoint/useRegisterNavigationCheckpoint.js +2 -2
  39. package/dist/cjs/react-utils/useRestoreScrollPosition/useRestoreScrollPosition.js +2 -2
  40. package/dist/cjs/react-utils/useStateWithDependency/useStateWithDependency.js +3 -3
  41. package/dist/cjs/react-utils/useTimer/useTimer.js +3 -3
  42. package/dist/cjs/react-utils/useUpdateEffect/useUpdateEffect.js +3 -3
  43. package/dist/cjs/utils/datetime.js +22 -13
  44. package/dist/cjs/utils/datetime.js.map +1 -1
  45. package/dist/cjs/utils/retryImport.js +37 -0
  46. package/dist/cjs/utils/retryImport.js.map +1 -0
  47. package/dist/initializers/i18n.js +39 -130
  48. package/dist/initializers/i18n.js.map +1 -1
  49. package/dist/initializers/index.js +38 -19
  50. package/dist/initializers/index.js.map +1 -1
  51. package/dist/react-utils/index.js +4 -0
  52. package/dist/react-utils/index.js.map +1 -1
  53. package/dist/react-utils/lazyWithRetry/index.js +4 -0
  54. package/dist/react-utils/lazyWithRetry/index.js.map +1 -0
  55. package/dist/react-utils/lazyWithRetry/lazyWithRetry.js +13 -0
  56. package/dist/react-utils/lazyWithRetry/lazyWithRetry.js.map +1 -0
  57. package/dist/react-utils/mount/index.js +9 -0
  58. package/dist/react-utils/mount/index.js.map +1 -0
  59. package/dist/react-utils/mount/mount.js +84 -0
  60. package/dist/react-utils/mount/mount.js.map +1 -0
  61. package/dist/utils/datetime.js +22 -13
  62. package/dist/utils/datetime.js.map +1 -1
  63. package/dist/utils/retryImport.js +35 -0
  64. package/dist/utils/retryImport.js.map +1 -0
  65. package/package.json +10 -6
  66. package/react-utils.d.ts +73 -1
  67. package/src/translations/ar.json +111 -0
  68. package/src/translations/bg.json +111 -0
  69. package/src/translations/ca.json +111 -0
  70. package/src/translations/cs.json +111 -0
  71. package/src/translations/da.json +111 -0
  72. package/src/translations/de.json +111 -0
  73. package/src/translations/en.json +111 -0
  74. package/src/translations/es-MX.json +111 -0
  75. package/src/translations/es.json +111 -0
  76. package/src/translations/et.json +111 -0
  77. package/src/translations/fi.json +111 -0
  78. package/src/translations/fil.json +111 -0
  79. package/src/translations/fr.json +111 -0
  80. package/src/translations/he.json +111 -0
  81. package/src/translations/hi.json +111 -0
  82. package/src/translations/hr.json +111 -0
  83. package/src/translations/id.json +111 -0
  84. package/src/translations/it.json +111 -0
  85. package/src/translations/ja.json +111 -0
  86. package/src/translations/ko.json +111 -0
  87. package/src/translations/nl.json +111 -0
  88. package/src/translations/pl.json +111 -0
  89. package/src/translations/pt-BR.json +111 -0
  90. package/src/translations/pt.json +111 -0
  91. package/src/translations/ro.json +111 -0
  92. package/src/translations/ru.json +111 -0
  93. package/src/translations/sk.json +111 -0
  94. package/src/translations/sl.json +111 -0
  95. package/src/translations/sv.json +111 -0
  96. package/src/translations/th.json +111 -0
  97. package/src/translations/tr.json +111 -0
  98. package/src/translations/uk.json +111 -0
  99. package/src/translations/vi.json +111 -0
  100. package/src/translations/zh-CN.json +111 -0
  101. package/src/translations/zh-TW.json +111 -0
  102. package/configs/scripts/getPkgTranslations.js +0 -45
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retryImport.js","sources":["../../../src/utils/retryImport.js"],"sourcesContent":["/* eslint-disable promise/catch-or-return */\n/* eslint-disable promise/prefer-await-to-then */\nconst extractModuleName = importFn => {\n const code = importFn.toString();\n const match = code.match(/import\\((['\"])(.*?)\\1/);\n\n const rawPath = match ? match[2] : \"unknown_chunk\";\n\n return rawPath\n .replace(/^\\.\\//, \"\")\n .replace(/\\.\\.\\//g, \"\")\n .replace(/[/.]+/g, \"_\");\n};\n\nconst retryImport = (importFn, moduleName, retriesLeft = 3, delay = 1000) => {\n const resolvedModuleName = moduleName || extractModuleName(importFn);\n\n return new Promise((resolve, reject) =>\n importFn()\n .then(resolve)\n .catch(error => {\n setTimeout(() => {\n if (retriesLeft === 1) {\n const reloadKey = `reload_${resolvedModuleName}`;\n const hasReloaded = sessionStorage.getItem(reloadKey);\n\n if (!hasReloaded) {\n sessionStorage.setItem(reloadKey, \"true\");\n window.location.reload();\n } else {\n sessionStorage.removeItem(reloadKey);\n reject(error);\n }\n\n return;\n }\n\n retryImport(\n importFn,\n resolvedModuleName,\n retriesLeft - 1,\n delay\n ).then(resolve, reject);\n }, delay);\n })\n );\n};\n\nexport default retryImport;\n"],"names":["extractModuleName","importFn","code","toString","match","rawPath","replace","retryImport","moduleName","retriesLeft","arguments","length","undefined","delay","resolvedModuleName","Promise","resolve","reject","then","error","setTimeout","reloadKey","concat","hasReloaded","sessionStorage","getItem","setItem","window","location","reload","removeItem"],"mappings":";;AAAA;AACA;AACA,IAAMA,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAGC,QAAQ,EAAI;AACpC,EAAA,IAAMC,IAAI,GAAGD,QAAQ,CAACE,QAAQ,EAAE;AAChC,EAAA,IAAMC,KAAK,GAAGF,IAAI,CAACE,KAAK,CAAC,uBAAuB,CAAC;EAEjD,IAAMC,OAAO,GAAGD,KAAK,GAAGA,KAAK,CAAC,CAAC,CAAC,GAAG,eAAe;EAElD,OAAOC,OAAO,CACXC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CACpBA,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CACtBA,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC;AAC3B,CAAC;AAEKC,IAAAA,YAAW,GAAG,SAAdA,WAAWA,CAAIN,QAAQ,EAAEO,UAAU,EAAoC;AAAA,EAAA,IAAlCC,WAAW,GAAAC,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAG,CAAC;AAAA,EAAA,IAAEG,KAAK,GAAAH,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAG,IAAI;AACtE,EAAA,IAAMI,kBAAkB,GAAGN,UAAU,IAAIR,iBAAiB,CAACC,QAAQ,CAAC;AAEpE,EAAA,OAAO,IAAIc,OAAO,CAAC,UAACC,OAAO,EAAEC,MAAM,EAAA;AAAA,IAAA,OACjChB,QAAQ,EAAE,CACPiB,IAAI,CAACF,OAAO,CAAC,CACR,OAAA,CAAA,CAAC,UAAAG,KAAK,EAAI;AACdC,MAAAA,UAAU,CAAC,YAAM;QACf,IAAIX,WAAW,KAAK,CAAC,EAAE;AACrB,UAAA,IAAMY,SAAS,GAAA,SAAA,CAAAC,MAAA,CAAaR,kBAAkB,CAAE;AAChD,UAAA,IAAMS,WAAW,GAAGC,cAAc,CAACC,OAAO,CAACJ,SAAS,CAAC;UAErD,IAAI,CAACE,WAAW,EAAE;AAChBC,YAAAA,cAAc,CAACE,OAAO,CAACL,SAAS,EAAE,MAAM,CAAC;AACzCM,YAAAA,MAAM,CAACC,QAAQ,CAACC,MAAM,EAAE;AAC1B,WAAC,MAAM;AACLL,YAAAA,cAAc,CAACM,UAAU,CAACT,SAAS,CAAC;YACpCJ,MAAM,CAACE,KAAK,CAAC;AACf;AAEA,UAAA;AACF;AAEAZ,QAAAA,YAAW,CACTN,QAAQ,EACRa,kBAAkB,EAClBL,WAAW,GAAG,CAAC,EACfI,KACF,CAAC,CAACK,IAAI,CAACF,OAAO,EAAEC,MAAM,CAAC;OACxB,EAAEJ,KAAK,CAAC;AACX,KAAC,CAAC;AAAA,GACN,CAAC;AACH;;;;"}
@@ -1,6 +1,7 @@
1
1
  import i18next from 'i18next';
2
2
  import { mergeDeepLeft } from 'ramda';
3
3
  import { initReactI18next } from 'react-i18next';
4
+ import _retryImport from '../utils/retryImport.js';
4
5
  import { LIST_FORMATS } from './constants.js';
5
6
  import { listFormatter, lowerCaseDynamicTextFormatter } from './utils/customFormatters.js';
6
7
  import { sentenceCaseProcessor } from './utils/customPostProcessors.js';
@@ -423,147 +424,52 @@ var Browser = /*#__PURE__*/function () {
423
424
  }();
424
425
  Browser.type = 'languageDetector';
425
426
 
426
- var generic = {
427
- error: "Something went wrong. Please try again later."
428
- };
429
- var authentication = {
430
- notLoggedIn: "Could not authenticate, please login to continue!",
431
- couldNotAuth: "Could not authenticate with the provided {{parameter}}.",
432
- incorrectPassword: "Current password is incorrect. Please try again.",
433
- incorrectEmailPassword: "Incorrect email or password. Please try again."
434
- };
435
- var authorization = {
436
- unauthorized: "You are not authorized to perform this action."
437
- };
438
- var resource = {
439
- add_one: "{{entity}} has been added successfully.",
440
- add_other: "{{entity}} have been added successfully.",
441
- save: "{{entity}} has been saved successfully.",
442
- save_one: "{{entity}} has been saved successfully.",
443
- save_other: "{{entity}} have been saved successfully.",
444
- update: "{{entity}} has been updated successfully.",
445
- update_one: "{{entity}} has been updated successfully.",
446
- update_other: "{{entity}} have been updated successfully.",
447
- delete_one: "{{entity}} has been deleted successfully.",
448
- delete_other: "{{entity}} have been deleted successfully.",
449
- clone: "{{entity}} has been cloned successfully.",
450
- notFound: "{{entity}} does not exist.",
451
- remove_one: "{{entity}} has been removed successfully.",
452
- remove_other: "{{entity}} have been removed successfully.",
453
- sent: "{{entity}} sent successfully.",
454
- merged: "{{entity}} have been successfully merged.",
455
- disconnected: "{{entity}} has been successfully disconnected."
456
- };
457
- var otp = {
458
- sent: "OTP has been sent successfully.",
459
- invalid: "Invalid OTP",
460
- verified: "OTP has been verified successfully."
461
- };
462
- var upload = {
463
- error: "An error occurred while uploading the file"
464
- };
465
- var image = {
466
- profile: {
467
- removalFailed: "Failed to remove profile picture",
468
- removalSuccess: "Profile picture successfully removed"
469
- },
470
- contentTypeInvalid: "Other than jpg, png, svg are not supported",
471
- sizeOutOfRange: "Should not be more than {{maxSize, number}} MB"
472
- };
473
- var userRole = {
474
- deactivateActiveAdmin: "You cannot deactivate active admin from the workspace!"
475
- };
476
- var activeRecord = {
477
- error: {
478
- blankName: "Name can't be blank",
479
- blankDescription: "Description can't be blank",
480
- blankValue: "Value can't be blank",
481
- prefixType: "Prefix type {{value}} is not valid",
482
- minimumEntryLimit: "Minimum entry limit must be less than or equal to {{maximumEntryLimit, number}}",
483
- maximumEntryLimit: "Maximum entry limit must be greater than or equal to {{minimumEntryLimit, number}}"
484
- }
485
- };
486
- var sessions = {
487
- expiry: "Your session has expired. Please login again."
488
- };
489
- var payment = {
490
- error: {
491
- incomplete: "Your payment could not be completed"
492
- }
493
- };
494
- var invitations = {
495
- deleted_one: "Invitation has been deleted successfully",
496
- deleted_other: "{{count, number}} Invitations have been deleted successfully",
497
- sent_one: "Invitation has been sent successfully",
498
- sent_other: "{{count, number}} Invitations have been sent successfully",
499
- notFound: "{{email}} was not invited to test this website."
500
- };
501
- var github = {
502
- error: {
503
- webhookPermissionDenied: "Permission denied. Ensure you have permission to create webhooks for the repository.",
504
- primaryNonDeletable: "Primary Github account cannot be deleted."
505
- }
506
- };
507
- var neetoCommons = {
508
- fallbackComponent: {
509
- somethingWentWrong: "Sorry, something went wrong.",
510
- description: "Please try <reloading>reloading</reloading> the page.<br> If the problem persists, <contactus>contact us</contactus>."
511
- },
512
- toastr: {
513
- success: {
514
- copiedToClipboard: "Copied to clipboard!"
515
- },
516
- error: {
517
- noInternetConnection: "No Internet Connection.",
518
- networkError: "Network error. Please check your connection and try again."
519
- }
520
- },
521
- notice: {
522
- errorOccurred: "Some error occurred."
523
- },
524
- validators: {
525
- isRequired: "{{what}} is required.",
526
- mustNotContainCapitalLetters: "{{what}} must not contain capital letters.",
527
- mustNotContainSpaces: "{{what}} must not contain spaces.",
528
- mustNotContainSpecialCharactersExceptHyphen: "{{what}} must not contain any special characters, except '-'",
529
- mustNotStartOrEndWithSpecialCharacters: "{{what}} must not start or end with special characters."
530
- },
531
- copyToClipboard: {
532
- failed: "Failed to copy to clipboard"
533
- }
534
- };
535
- var commonsEn = {
536
- generic: generic,
537
- authentication: authentication,
538
- authorization: authorization,
539
- resource: resource,
540
- otp: otp,
541
- upload: upload,
542
- image: image,
543
- userRole: userRole,
544
- activeRecord: activeRecord,
545
- sessions: sessions,
546
- payment: payment,
547
- invitations: invitations,
548
- github: github,
549
- neetoCommons: neetoCommons
427
+ var resourcesToBackend = function resourcesToBackend(res) {
428
+ return {
429
+ type: 'backend',
430
+ init: function init(services, backendOptions, i18nextOptions) {},
431
+ read: function read(language, namespace, callback) {
432
+ if (typeof res === 'function') {
433
+ if (res.length < 3) {
434
+ try {
435
+ var r = res(language, namespace);
436
+ if (r && typeof r.then === 'function') {
437
+ r.then(function (data) {
438
+ return callback(null, data && data.default || data);
439
+ }).catch(callback);
440
+ } else {
441
+ callback(null, r);
442
+ }
443
+ } catch (err) {
444
+ callback(err);
445
+ }
446
+ return;
447
+ }
448
+ res(language, namespace, callback);
449
+ return;
450
+ }
451
+ callback(null, res && res[language] && res[language][namespace]);
452
+ }
453
+ };
550
454
  };
551
455
 
552
456
  // eslint-disable-next-line import/no-mutable-exports
553
457
  var taxonomies = {};
554
- var initializeI18n = function initializeI18n(hostTranslations) {
458
+ var initializeI18n = function initializeI18n() {
555
459
  var _window$globalProps, _window$globalProps2;
460
+ var hostTranslations = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
556
461
  var enableDirAttribute = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
557
462
  document.documentElement.removeAttribute("lang");
558
463
  var userLanguage = (_window$globalProps = window.globalProps) === null || _window$globalProps === void 0 || (_window$globalProps = _window$globalProps.user) === null || _window$globalProps === void 0 ? void 0 : _window$globalProps.language;
559
464
  if (userLanguage) document.documentElement.setAttribute("lang", userLanguage);
560
- var packageTranslations = preval.require("../../configs/scripts/getPkgTranslations.js");
561
- var commonsTranslations = {
465
+ var translationImports = preval.require("../../configs/scripts/buildTranslationImports.js");
466
+ var englishTranslations = preval.require("../../configs/scripts/getEnglishTranslation.js");
467
+ var englishResource = {
562
468
  en: {
563
- translation: commonsEn
469
+ translation: englishTranslations || {}
564
470
  }
565
471
  };
566
- var resources = [hostTranslations, commonsTranslations, packageTranslations].reduce(mergeDeepLeft);
472
+ var resources = mergeDeepLeft(hostTranslations, englishResource);
567
473
  var defaultTaxonomyKeys = Object.keys(resources.en.translation.taxonomyDefaultLabels || {});
568
474
  var defaultTaxonomies = Object.fromEntries(defaultTaxonomyKeys.map(function (key) {
569
475
  return [key, {
@@ -573,8 +479,11 @@ var initializeI18n = function initializeI18n(hostTranslations) {
573
479
  }));
574
480
  var hostTaxonomies = ((_window$globalProps2 = window.globalProps) === null || _window$globalProps2 === void 0 ? void 0 : _window$globalProps2.taxonomies) || {};
575
481
  taxonomies = _replaceNullValuesWithGetter(mergeDeepLeft(hostTaxonomies, defaultTaxonomies));
576
- i18next.use(Browser).use(initReactI18next).use(sentenceCaseProcessor).init({
482
+ i18next.use(Browser).use(initReactI18next).use(sentenceCaseProcessor).use(resourcesToBackend(function (language) {
483
+ return _retryImport(translationImports === null || translationImports === void 0 ? void 0 : translationImports[language]);
484
+ })).init({
577
485
  resources: resources,
486
+ partialBundledLanguages: true,
578
487
  fallbackLng: "en",
579
488
  interpolation: {
580
489
  defaultVariables: {