@bigbinary/neeto-commons-frontend 3.0.7 → 3.0.10

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 (54) hide show
  1. package/cjs/configs/babel.js +50 -0
  2. package/cjs/configs/eslint/globals.js +14 -0
  3. package/cjs/configs/eslint/helpers/index.js +74 -0
  4. package/cjs/configs/eslint/imports/enforced.js +29 -0
  5. package/cjs/configs/eslint/imports/order.js +65 -0
  6. package/cjs/configs/eslint/index.js +171 -0
  7. package/cjs/configs/eslint/overrides.js +26 -0
  8. package/cjs/configs/eslint/promise.js +8 -0
  9. package/cjs/configs/eslint/react.js +92 -0
  10. package/cjs/configs/nanos/eslint/imports/order.js +25 -0
  11. package/cjs/configs/nanos/eslint/index.js +28 -0
  12. package/cjs/configs/nanos/tailwind.js +11 -0
  13. package/cjs/configs/nanos/webpack/resolve.js +48 -0
  14. package/cjs/configs/nextjs/eslint/imports/order.js +25 -0
  15. package/cjs/configs/nextjs/eslint/index.js +22 -0
  16. package/cjs/configs/nextjs/webpack/resolve.js +1 -0
  17. package/cjs/configs/prettier.js +16 -0
  18. package/cjs/configs/scripts/dead-code-eliminator/constants.js +12 -0
  19. package/cjs/configs/scripts/dead-code-eliminator/index.js +266 -0
  20. package/cjs/configs/scripts/getPkgTranslations.js +45 -0
  21. package/cjs/configs/scripts/jsdoc-builder/constants.mjs +42 -0
  22. package/cjs/configs/scripts/jsdoc-builder/index.mjs +67 -0
  23. package/cjs/configs/scripts/jsdoc-builder/utils.mjs +219 -0
  24. package/cjs/configs/scripts/remove-unused-translation-keys/constants.js +11 -0
  25. package/cjs/configs/scripts/remove-unused-translation-keys/index.js +186 -0
  26. package/cjs/configs/tailwind.js +13 -0
  27. package/cjs/configs/webpack/helpers/customize-default-rules.js +54 -0
  28. package/cjs/configs/webpack/index.js +59 -0
  29. package/cjs/configs/webpack/resolve.js +53 -0
  30. package/cjs/configs/webpack/rules.js +34 -0
  31. package/cjs/cypress-configs/initializer.js +32 -0
  32. package/cjs/cypress-configs/plugins.js +105 -0
  33. package/cjs/cypress-configs/resolve.js +17 -0
  34. package/cjs/cypress-configs/webpack.config.js +19 -0
  35. package/cjs/initializers/axios/index.js +1 -2
  36. package/cjs/initializers/axios/index.js.map +1 -1
  37. package/cjs/initializers/constants.js +9 -3
  38. package/cjs/initializers/constants.js.map +1 -1
  39. package/cjs/initializers/i18n.js +8 -2
  40. package/cjs/initializers/i18n.js.map +1 -1
  41. package/cjs/initializers/utils/customFormatters.js +17 -8
  42. package/cjs/initializers/utils/customFormatters.js.map +1 -1
  43. package/cjs/translations/en.json +100 -0
  44. package/configs/eslint/overrides.js +3 -7
  45. package/configs/webpack/index.js +1 -0
  46. package/initializers/axios/index.js +2 -3
  47. package/initializers/axios/index.js.map +1 -1
  48. package/initializers/constants.js +6 -1
  49. package/initializers/constants.js.map +1 -1
  50. package/initializers/i18n.js +9 -3
  51. package/initializers/i18n.js.map +1 -1
  52. package/initializers/utils/customFormatters.js +16 -7
  53. package/initializers/utils/customFormatters.js.map +1 -1
  54. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["axios","i18next","keysToCamelCase","matches","serializeKeysToSnakeCase","useErrorDisplayStore","resetAuthTokens","Toastr","evolve","omit","values","setParamsSerializer","HEADERS_KEYS","shouldNot","skip","_typeof","shouldShowToastr","response","notice","noticeCode","setAuthHeaders","_document$querySelect","_axios$defaults$heade","defaults","headers","_defineProperty","accept","contentType","xCsrfToken","document","querySelector","getAttribute","createPipe","functions","data","reduce","acc","fn","transformResponseKeysToCamelCase","_response$config$tran","config","transformResponseCase","transformErrorKeysToCamelCase","error","_error$config","_error$response","_ref","_ref$transformRespons","showSuccessToastr","_response$config$show","showToastr","showThumbsUpToastr","success","icon","className","pullDataFromResponse","_response$config$incl","includeMetadataInResponse","buildSuccessResponseHandler","interceptors","transformCase","push","handleUnauthorizedErrorResponse","_error$response2","_error$config2","status","_ref2","_ref2$redirectOnError","redirectOnError","setTimeout","redirectTo","window","location","pathname","concat","encodeURIComponent","href","showErrorToastr","_error$config3","_error$response3","_ref3","_ref3$showToastr","message","t","includes","isCancel","getUrlPathName","url","URL","_unused","handle404ErrorResponse","_error$config4","_error$response4","_ref4","_ref4$show404ErrorPag","show404ErrorPage","_ref4$show403ErrorPag","show403ErrorPage","_error$request","fullUrl","request","responseURL","setState","showErrorPage","statusCode","failedApiUrl","failedApiPath","buildErrorResponseHandler","logoutOn401","Promise","reject","bind","cleanupCredentialsForCrossOrigin","hostname","transformDataToSnakeCase","_request$transformReq","transformRequestCase","params","addRequestInterceptors","cleanCredentialsForCrossOrigin","use","addResponseInterceptors","registerIntercepts","initializeAxios","baseURL","authHeaders","paramsSerializer"],"sources":["../../../src/initializers/axios/index.js"],"sourcesContent":["import axios from \"axios\";\nimport i18next from \"i18next\";\nimport { keysToCamelCase, matches, serializeKeysToSnakeCase } from \"neetocist\";\nimport { useErrorDisplayStore } from \"neetocommons/react-utils\";\nimport { resetAuthTokens } from \"neetocommons/utils\";\nimport { Toastr } from \"neetoui\";\nimport { evolve, omit, values } from \"ramda\";\n\nimport setParamsSerializer from \"./paramsSerializer\";\n\nimport { HEADERS_KEYS } from \"../constants\";\n\nconst shouldNot = skip => typeof skip === \"object\" || !skip;\n\nconst shouldShowToastr = response =>\n typeof response === \"string\" ||\n (typeof response === \"object\" && (response?.notice || response?.noticeCode));\n\nconst setAuthHeaders = () => {\n // @ts-ignore\n axios.defaults.headers = {\n [HEADERS_KEYS.accept]: \"application/json\",\n [HEADERS_KEYS.contentType]: \"application/json\",\n [HEADERS_KEYS.xCsrfToken]: document\n .querySelector('[name=\"csrf-token\"]')\n ?.getAttribute(\"content\"),\n };\n};\n\n// pipe function from ramda doesn't accept array of functions.\n// We can't use spread operator too. So this is a workaround.\nconst createPipe = functions => data =>\n functions.reduce((acc, fn) => fn(acc), data);\n\nconst transformResponseKeysToCamelCase = response => {\n const { transformResponseCase = true } = response.config;\n\n if (response.data && transformResponseCase) {\n response.data = keysToCamelCase(response.data);\n }\n\n return response;\n};\n\nconst transformErrorKeysToCamelCase = error => {\n const { transformResponseCase = true } = error.config ?? {};\n\n if (error.response?.data && transformResponseCase) {\n error.response.data = keysToCamelCase(error.response.data);\n }\n\n return error;\n};\n\nconst showSuccessToastr = response => {\n const { showToastr = true } = response.config;\n if (!showToastr) return response;\n\n if (matches({ showThumbsUpToastr: true }, response.data)) {\n // @ts-ignore\n Toastr.success(\"\", { icon: \"👍\", className: \"w-20\" });\n } else if (matches({ noticeCode: \"thumbs_up\" }, response.data)) {\n // @ts-ignore\n Toastr.success(\"\", { icon: \"👍\", className: \"w-20\" });\n } else if (shouldShowToastr(response.data)) {\n Toastr.success(response.data);\n }\n\n return response;\n};\n\nconst pullDataFromResponse = response => {\n const { includeMetadataInResponse = false } = response.config;\n\n return includeMetadataInResponse ? response : response.data;\n};\n\nconst buildSuccessResponseHandler = skip => {\n const interceptors = [];\n if (!skip?.transformCase) interceptors.push(transformResponseKeysToCamelCase);\n\n if (!skip?.showToastr) interceptors.push(showSuccessToastr);\n\n if (!skip?.pullDataFromResponse) interceptors.push(pullDataFromResponse);\n\n return createPipe(interceptors);\n};\n\nconst handleUnauthorizedErrorResponse = error => {\n if (error.response?.status !== 401) return error;\n\n resetAuthTokens();\n\n const { redirectOnError = true } = error.config ?? {};\n if (redirectOnError) {\n setTimeout(() => {\n const redirectTo =\n window.location.pathname === \"/login\"\n ? \"/login\"\n : `/login?redirect_uri=${encodeURIComponent(window.location.href)}`;\n // eslint-disable-next-line xss/no-location-href-assign\n window.location.href = redirectTo;\n }, 300);\n }\n\n return error;\n};\n\nconst showErrorToastr = error => {\n const { showToastr = true } = error.config ?? {};\n if (!showToastr) return error;\n\n if (error.message === \"Network Error\") {\n // @ts-ignore\n Toastr.error(i18next.t(\"neetoCommons.toastr.error.networkError\"));\n } else if (\n ![403, 404].includes(error.response?.status) &&\n !axios.isCancel(error)\n ) {\n // we already display a page in case of 403 & 404 and we don't want to show a toastr for cancelled requests.\n Toastr.error(error);\n }\n\n return error;\n};\n\nconst getUrlPathName = url => {\n try {\n return new URL(url).pathname;\n } catch {\n return url;\n }\n};\n\nconst handle404ErrorResponse = error => {\n const { show404ErrorPage = true, show403ErrorPage = true } =\n error.config ?? {};\n\n const status = error.response?.status;\n if (\n (status === 404 && show404ErrorPage) ||\n (status === 403 && show403ErrorPage)\n ) {\n const fullUrl = error.request?.responseURL || error.config.url;\n useErrorDisplayStore.setState({\n showErrorPage: true,\n statusCode: status,\n failedApiUrl: fullUrl,\n failedApiPath: getUrlPathName(fullUrl),\n });\n }\n\n return error;\n};\n\nconst buildErrorResponseHandler = skip => {\n const interceptors = [];\n if (!skip?.transformCase) interceptors.push(transformErrorKeysToCamelCase);\n\n if (!skip?.show404ErrorPage) interceptors.push(handle404ErrorResponse);\n\n if (!skip?.logoutOn401) interceptors.push(handleUnauthorizedErrorResponse);\n\n if (!skip?.showToastr) interceptors.push(showErrorToastr);\n\n interceptors.push(Promise.reject.bind(Promise));\n\n return createPipe(interceptors);\n};\n\nconst cleanupCredentialsForCrossOrigin = request => {\n if (!request.url.includes(\"://\")) return request;\n\n if (request.url.includes(window.location.hostname)) return request;\n\n return evolve({ headers: omit(values(HEADERS_KEYS)) })(request);\n};\n\nconst transformDataToSnakeCase = request => {\n const { transformRequestCase = true } = request;\n\n if (!transformRequestCase) return request;\n\n return evolve(\n { data: serializeKeysToSnakeCase, params: serializeKeysToSnakeCase },\n request\n );\n};\n\nconst addRequestInterceptors = skip => {\n if (!skip?.cleanCredentialsForCrossOrigin) {\n axios.interceptors.request.use(cleanupCredentialsForCrossOrigin);\n }\n\n if (!skip?.transformCase) {\n axios.interceptors.request.use(transformDataToSnakeCase);\n }\n};\n\nconst addResponseInterceptors = skip => {\n axios.interceptors.response.use(\n buildSuccessResponseHandler(skip),\n buildErrorResponseHandler(skip)\n );\n};\n\nconst registerIntercepts = skip => {\n if (shouldNot(skip?.request)) addRequestInterceptors(skip?.request);\n\n if (shouldNot(skip?.response)) addResponseInterceptors(skip?.response);\n};\n\nexport default function initializeAxios(skip) {\n if (!skip?.baseURL) axios.defaults.baseURL = \"/\";\n\n if (!skip?.authHeaders) setAuthHeaders();\n\n if (!skip?.paramsSerializer) setParamsSerializer();\n\n if (shouldNot(skip?.interceptors)) registerIntercepts(skip?.interceptors);\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["axios","i18next","keysToCamelCase","matches","serializeKeysToSnakeCase","useErrorDisplayStore","resetAuthTokens","Toastr","evolve","omit","setParamsSerializer","HEADERS_KEYS","shouldNot","skip","_typeof","shouldShowToastr","response","notice","noticeCode","setAuthHeaders","_document$querySelect","_axios$defaults$heade","defaults","headers","_defineProperty","accept","contentType","xCsrfToken","document","querySelector","getAttribute","createPipe","functions","data","reduce","acc","fn","transformResponseKeysToCamelCase","_response$config$tran","config","transformResponseCase","transformErrorKeysToCamelCase","error","_error$config","_error$response","_ref","_ref$transformRespons","showSuccessToastr","_response$config$show","showToastr","showThumbsUpToastr","success","icon","className","pullDataFromResponse","_response$config$incl","includeMetadataInResponse","buildSuccessResponseHandler","interceptors","transformCase","push","handleUnauthorizedErrorResponse","_error$response2","_error$config2","status","_ref2","_ref2$redirectOnError","redirectOnError","setTimeout","redirectTo","window","location","pathname","concat","encodeURIComponent","href","showErrorToastr","_error$config3","_error$response3","_ref3","_ref3$showToastr","message","t","includes","isCancel","getUrlPathName","url","URL","_unused","handle404ErrorResponse","_error$config4","_error$response4","_ref4","_ref4$show404ErrorPag","show404ErrorPage","_ref4$show403ErrorPag","show403ErrorPage","_error$request","fullUrl","request","responseURL","setState","showErrorPage","statusCode","failedApiUrl","failedApiPath","buildErrorResponseHandler","logoutOn401","Promise","reject","bind","cleanupCredentialsForCrossOrigin","hostname","transformDataToSnakeCase","_request$transformReq","transformRequestCase","params","addRequestInterceptors","cleanCredentialsForCrossOrigin","use","addResponseInterceptors","registerIntercepts","initializeAxios","baseURL","authHeaders","paramsSerializer"],"sources":["../../../src/initializers/axios/index.js"],"sourcesContent":["import axios from \"axios\";\nimport i18next from \"i18next\";\nimport { keysToCamelCase, matches, serializeKeysToSnakeCase } from \"neetocist\";\nimport { useErrorDisplayStore } from \"neetocommons/react-utils\";\nimport { resetAuthTokens } from \"neetocommons/utils\";\nimport { Toastr } from \"neetoui\";\nimport { evolve, omit } from \"ramda\";\n\nimport setParamsSerializer from \"./paramsSerializer\";\n\nimport { HEADERS_KEYS } from \"../constants\";\n\nconst shouldNot = skip => typeof skip === \"object\" || !skip;\n\nconst shouldShowToastr = response =>\n typeof response === \"string\" ||\n (typeof response === \"object\" && (response?.notice || response?.noticeCode));\n\nconst setAuthHeaders = () => {\n // @ts-ignore\n axios.defaults.headers = {\n [HEADERS_KEYS.accept]: \"application/json\",\n [HEADERS_KEYS.contentType]: \"application/json\",\n [HEADERS_KEYS.xCsrfToken]: document\n .querySelector('[name=\"csrf-token\"]')\n ?.getAttribute(\"content\"),\n };\n};\n\n// pipe function from ramda doesn't accept array of functions.\n// We can't use spread operator too. So this is a workaround.\nconst createPipe = functions => data =>\n functions.reduce((acc, fn) => fn(acc), data);\n\nconst transformResponseKeysToCamelCase = response => {\n const { transformResponseCase = true } = response.config;\n\n if (response.data && transformResponseCase) {\n response.data = keysToCamelCase(response.data);\n }\n\n return response;\n};\n\nconst transformErrorKeysToCamelCase = error => {\n const { transformResponseCase = true } = error.config ?? {};\n\n if (error.response?.data && transformResponseCase) {\n error.response.data = keysToCamelCase(error.response.data);\n }\n\n return error;\n};\n\nconst showSuccessToastr = response => {\n const { showToastr = true } = response.config;\n if (!showToastr) return response;\n\n if (matches({ showThumbsUpToastr: true }, response.data)) {\n // @ts-ignore\n Toastr.success(\"\", { icon: \"👍\", className: \"w-20\" });\n } else if (matches({ noticeCode: \"thumbs_up\" }, response.data)) {\n // @ts-ignore\n Toastr.success(\"\", { icon: \"👍\", className: \"w-20\" });\n } else if (shouldShowToastr(response.data)) {\n Toastr.success(response.data);\n }\n\n return response;\n};\n\nconst pullDataFromResponse = response => {\n const { includeMetadataInResponse = false } = response.config;\n\n return includeMetadataInResponse ? response : response.data;\n};\n\nconst buildSuccessResponseHandler = skip => {\n const interceptors = [];\n if (!skip?.transformCase) interceptors.push(transformResponseKeysToCamelCase);\n\n if (!skip?.showToastr) interceptors.push(showSuccessToastr);\n\n if (!skip?.pullDataFromResponse) interceptors.push(pullDataFromResponse);\n\n return createPipe(interceptors);\n};\n\nconst handleUnauthorizedErrorResponse = error => {\n if (error.response?.status !== 401) return error;\n\n resetAuthTokens();\n\n const { redirectOnError = true } = error.config ?? {};\n if (redirectOnError) {\n setTimeout(() => {\n const redirectTo =\n window.location.pathname === \"/login\"\n ? \"/login\"\n : `/login?redirect_uri=${encodeURIComponent(window.location.href)}`;\n\n window.location.href = redirectTo;\n }, 300);\n }\n\n return error;\n};\n\nconst showErrorToastr = error => {\n const { showToastr = true } = error.config ?? {};\n if (!showToastr) return error;\n\n if (error.message === \"Network Error\") {\n // @ts-ignore\n Toastr.error(i18next.t(\"neetoCommons.toastr.error.networkError\"));\n } else if (\n ![403, 404].includes(error.response?.status) &&\n !axios.isCancel(error)\n ) {\n // we already display a page in case of 403 & 404 and we don't want to show a toastr for cancelled requests.\n Toastr.error(error);\n }\n\n return error;\n};\n\nconst getUrlPathName = url => {\n try {\n return new URL(url).pathname;\n } catch {\n return url;\n }\n};\n\nconst handle404ErrorResponse = error => {\n const { show404ErrorPage = true, show403ErrorPage = true } =\n error.config ?? {};\n\n const status = error.response?.status;\n if (\n (status === 404 && show404ErrorPage) ||\n (status === 403 && show403ErrorPage)\n ) {\n const fullUrl = error.request?.responseURL || error.config.url;\n useErrorDisplayStore.setState({\n showErrorPage: true,\n statusCode: status,\n failedApiUrl: fullUrl,\n failedApiPath: getUrlPathName(fullUrl),\n });\n }\n\n return error;\n};\n\nconst buildErrorResponseHandler = skip => {\n const interceptors = [];\n if (!skip?.transformCase) interceptors.push(transformErrorKeysToCamelCase);\n\n if (!skip?.show404ErrorPage) interceptors.push(handle404ErrorResponse);\n\n if (!skip?.logoutOn401) interceptors.push(handleUnauthorizedErrorResponse);\n\n if (!skip?.showToastr) interceptors.push(showErrorToastr);\n\n interceptors.push(Promise.reject.bind(Promise));\n\n return createPipe(interceptors);\n};\n\nconst cleanupCredentialsForCrossOrigin = request => {\n if (!request.url.includes(\"://\")) return request;\n\n if (request.url.includes(window.location.hostname)) return request;\n\n return evolve({ headers: omit([HEADERS_KEYS.xCsrfToken]) })(request);\n};\n\nconst transformDataToSnakeCase = request => {\n const { transformRequestCase = true } = request;\n\n if (!transformRequestCase) return request;\n\n return evolve(\n { data: serializeKeysToSnakeCase, params: serializeKeysToSnakeCase },\n request\n );\n};\n\nconst addRequestInterceptors = skip => {\n if (!skip?.cleanCredentialsForCrossOrigin) {\n axios.interceptors.request.use(cleanupCredentialsForCrossOrigin);\n }\n\n if (!skip?.transformCase) {\n axios.interceptors.request.use(transformDataToSnakeCase);\n }\n};\n\nconst addResponseInterceptors = skip => {\n axios.interceptors.response.use(\n buildSuccessResponseHandler(skip),\n buildErrorResponseHandler(skip)\n );\n};\n\nconst registerIntercepts = skip => {\n if (shouldNot(skip?.request)) addRequestInterceptors(skip?.request);\n\n if (shouldNot(skip?.response)) addResponseInterceptors(skip?.response);\n};\n\nexport default function initializeAxios(skip) {\n if (!skip?.baseURL) axios.defaults.baseURL = \"/\";\n\n if (!skip?.authHeaders) setAuthHeaders();\n\n if (!skip?.paramsSerializer) setParamsSerializer();\n\n if (shouldNot(skip?.interceptors)) registerIntercepts(skip?.interceptors);\n}\n"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,OAAO,MAAM,SAAS;AAC7B,SAASC,eAAe,EAAEC,OAAO,EAAEC,wBAAwB;AAC3D,SAASC,oBAAoB;AAC7B,SAASC,eAAe;AACxB,SAASC,MAAM;AACf,SAASC,MAAM,EAAEC,IAAI,QAAQ,OAAO;AAEpC,OAAOC,mBAAmB;AAE1B,SAASC,YAAY;AAErB,IAAMC,SAAS,GAAG,SAAZA,SAASA,CAAGC,IAAI;EAAA,OAAIC,OAAA,CAAOD,IAAI,MAAK,QAAQ,IAAI,CAACA,IAAI;AAAA;AAE3D,IAAME,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAGC,QAAQ;EAAA,OAC/B,OAAOA,QAAQ,KAAK,QAAQ,IAC3BF,OAAA,CAAOE,QAAQ,MAAK,QAAQ,KAAK,CAAAA,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEC,MAAM,MAAID,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEE,UAAU,EAAE;AAAA;AAE9E,IAAMC,cAAc,GAAG,SAAjBA,cAAcA,CAAA,EAAS;EAAA,IAAAC,qBAAA,EAAAC,qBAAA;EAC3B;EACArB,KAAK,CAACsB,QAAQ,CAACC,OAAO,IAAAF,qBAAA,OAAAG,eAAA,CAAAH,qBAAA,EACnBV,YAAY,CAACc,MAAM,EAAG,kBAAkB,GAAAD,eAAA,CAAAH,qBAAA,EACxCV,YAAY,CAACe,WAAW,EAAG,kBAAkB,GAAAF,eAAA,CAAAH,qBAAA,EAC7CV,YAAY,CAACgB,UAAU,GAAAP,qBAAA,GAAGQ,QAAQ,CAChCC,aAAa,CAAC,qBAAqB,CAAC,cAAAT,qBAAA,uBADZA,qBAAA,CAEvBU,YAAY,CAAC,SAAS,CAAC,GAAAT,qBAAA,CAC5B;AACH,CAAC;;AAED;AACA;AACA,IAAMU,UAAU,GAAG,SAAbA,UAAUA,CAAGC,SAAS;EAAA,OAAI,UAAAC,IAAI;IAAA,OAClCD,SAAS,CAACE,MAAM,CAAC,UAACC,GAAG,EAAEC,EAAE;MAAA,OAAKA,EAAE,CAACD,GAAG,CAAC;IAAA,GAAEF,IAAI,CAAC;EAAA;AAAA;AAE9C,IAAMI,gCAAgC,GAAG,SAAnCA,gCAAgCA,CAAGrB,QAAQ,EAAI;EACnD,IAAAsB,qBAAA,GAAyCtB,QAAQ,CAACuB,MAAM,CAAhDC,qBAAqB;IAArBA,qBAAqB,GAAAF,qBAAA,cAAG,IAAI,GAAAA,qBAAA;EAEpC,IAAItB,QAAQ,CAACiB,IAAI,IAAIO,qBAAqB,EAAE;IAC1CxB,QAAQ,CAACiB,IAAI,GAAG/B,eAAe,CAACc,QAAQ,CAACiB,IAAI,CAAC;EAChD;EAEA,OAAOjB,QAAQ;AACjB,CAAC;AAED,IAAMyB,6BAA6B,GAAG,SAAhCA,6BAA6BA,CAAGC,KAAK,EAAI;EAAA,IAAAC,aAAA,EAAAC,eAAA;EAC7C,IAAAC,IAAA,IAAAF,aAAA,GAAyCD,KAAK,CAACH,MAAM,cAAAI,aAAA,cAAAA,aAAA,GAAI,CAAC,CAAC;IAAAG,qBAAA,GAAAD,IAAA,CAAnDL,qBAAqB;IAArBA,qBAAqB,GAAAM,qBAAA,cAAG,IAAI,GAAAA,qBAAA;EAEpC,IAAI,CAAAF,eAAA,GAAAF,KAAK,CAAC1B,QAAQ,cAAA4B,eAAA,eAAdA,eAAA,CAAgBX,IAAI,IAAIO,qBAAqB,EAAE;IACjDE,KAAK,CAAC1B,QAAQ,CAACiB,IAAI,GAAG/B,eAAe,CAACwC,KAAK,CAAC1B,QAAQ,CAACiB,IAAI,CAAC;EAC5D;EAEA,OAAOS,KAAK;AACd,CAAC;AAED,IAAMK,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAG/B,QAAQ,EAAI;EACpC,IAAAgC,qBAAA,GAA8BhC,QAAQ,CAACuB,MAAM,CAArCU,UAAU;IAAVA,UAAU,GAAAD,qBAAA,cAAG,IAAI,GAAAA,qBAAA;EACzB,IAAI,CAACC,UAAU,EAAE,OAAOjC,QAAQ;EAEhC,IAAIb,OAAO,CAAC;IAAE+C,kBAAkB,EAAE;EAAK,CAAC,EAAElC,QAAQ,CAACiB,IAAI,CAAC,EAAE;IACxD;IACA1B,MAAM,CAAC4C,OAAO,CAAC,EAAE,EAAE;MAAEC,IAAI,EAAE,IAAI;MAAEC,SAAS,EAAE;IAAO,CAAC,CAAC;EACvD,CAAC,MAAM,IAAIlD,OAAO,CAAC;IAAEe,UAAU,EAAE;EAAY,CAAC,EAAEF,QAAQ,CAACiB,IAAI,CAAC,EAAE;IAC9D;IACA1B,MAAM,CAAC4C,OAAO,CAAC,EAAE,EAAE;MAAEC,IAAI,EAAE,IAAI;MAAEC,SAAS,EAAE;IAAO,CAAC,CAAC;EACvD,CAAC,MAAM,IAAItC,gBAAgB,CAACC,QAAQ,CAACiB,IAAI,CAAC,EAAE;IAC1C1B,MAAM,CAAC4C,OAAO,CAACnC,QAAQ,CAACiB,IAAI,CAAC;EAC/B;EAEA,OAAOjB,QAAQ;AACjB,CAAC;AAED,IAAMsC,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAGtC,QAAQ,EAAI;EACvC,IAAAuC,qBAAA,GAA8CvC,QAAQ,CAACuB,MAAM,CAArDiB,yBAAyB;IAAzBA,yBAAyB,GAAAD,qBAAA,cAAG,KAAK,GAAAA,qBAAA;EAEzC,OAAOC,yBAAyB,GAAGxC,QAAQ,GAAGA,QAAQ,CAACiB,IAAI;AAC7D,CAAC;AAED,IAAMwB,2BAA2B,GAAG,SAA9BA,2BAA2BA,CAAG5C,IAAI,EAAI;EAC1C,IAAM6C,YAAY,GAAG,EAAE;EACvB,IAAI,EAAC7C,IAAI,aAAJA,IAAI,eAAJA,IAAI,CAAE8C,aAAa,GAAED,YAAY,CAACE,IAAI,CAACvB,gCAAgC,CAAC;EAE7E,IAAI,EAACxB,IAAI,aAAJA,IAAI,eAAJA,IAAI,CAAEoC,UAAU,GAAES,YAAY,CAACE,IAAI,CAACb,iBAAiB,CAAC;EAE3D,IAAI,EAAClC,IAAI,aAAJA,IAAI,eAAJA,IAAI,CAAEyC,oBAAoB,GAAEI,YAAY,CAACE,IAAI,CAACN,oBAAoB,CAAC;EAExE,OAAOvB,UAAU,CAAC2B,YAAY,CAAC;AACjC,CAAC;AAED,IAAMG,+BAA+B,GAAG,SAAlCA,+BAA+BA,CAAGnB,KAAK,EAAI;EAAA,IAAAoB,gBAAA,EAAAC,cAAA;EAC/C,IAAI,EAAAD,gBAAA,GAAApB,KAAK,CAAC1B,QAAQ,cAAA8C,gBAAA,uBAAdA,gBAAA,CAAgBE,MAAM,MAAK,GAAG,EAAE,OAAOtB,KAAK;EAEhDpC,eAAe,EAAE;EAEjB,IAAA2D,KAAA,IAAAF,cAAA,GAAmCrB,KAAK,CAACH,MAAM,cAAAwB,cAAA,cAAAA,cAAA,GAAI,CAAC,CAAC;IAAAG,qBAAA,GAAAD,KAAA,CAA7CE,eAAe;IAAfA,eAAe,GAAAD,qBAAA,cAAG,IAAI,GAAAA,qBAAA;EAC9B,IAAIC,eAAe,EAAE;IACnBC,UAAU,CAAC,YAAM;MACf,IAAMC,UAAU,GACdC,MAAM,CAACC,QAAQ,CAACC,QAAQ,KAAK,QAAQ,GACjC,QAAQ,0BAAAC,MAAA,CACeC,kBAAkB,CAACJ,MAAM,CAACC,QAAQ,CAACI,IAAI,CAAC,CAAE;MAEvEL,MAAM,CAACC,QAAQ,CAACI,IAAI,GAAGN,UAAU;IACnC,CAAC,EAAE,GAAG,CAAC;EACT;EAEA,OAAO3B,KAAK;AACd,CAAC;AAED,IAAMkC,eAAe,GAAG,SAAlBA,eAAeA,CAAGlC,KAAK,EAAI;EAAA,IAAAmC,cAAA,EAAAC,gBAAA;EAC/B,IAAAC,KAAA,IAAAF,cAAA,GAA8BnC,KAAK,CAACH,MAAM,cAAAsC,cAAA,cAAAA,cAAA,GAAI,CAAC,CAAC;IAAAG,gBAAA,GAAAD,KAAA,CAAxC9B,UAAU;IAAVA,UAAU,GAAA+B,gBAAA,cAAG,IAAI,GAAAA,gBAAA;EACzB,IAAI,CAAC/B,UAAU,EAAE,OAAOP,KAAK;EAE7B,IAAIA,KAAK,CAACuC,OAAO,KAAK,eAAe,EAAE;IACrC;IACA1E,MAAM,CAACmC,KAAK,CAACzC,OAAO,CAACiF,CAAC,CAAC,wCAAwC,CAAC,CAAC;EACnE,CAAC,MAAM,IACL,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAACC,QAAQ,EAAAL,gBAAA,GAACpC,KAAK,CAAC1B,QAAQ,cAAA8D,gBAAA,uBAAdA,gBAAA,CAAgBd,MAAM,CAAC,IAC5C,CAAChE,KAAK,CAACoF,QAAQ,CAAC1C,KAAK,CAAC,EACtB;IACA;IACAnC,MAAM,CAACmC,KAAK,CAACA,KAAK,CAAC;EACrB;EAEA,OAAOA,KAAK;AACd,CAAC;AAED,IAAM2C,cAAc,GAAG,SAAjBA,cAAcA,CAAGC,GAAG,EAAI;EAC5B,IAAI;IACF,OAAO,IAAIC,GAAG,CAACD,GAAG,CAAC,CAACd,QAAQ;EAC9B,CAAC,CAAC,OAAAgB,OAAA,EAAM;IACN,OAAOF,GAAG;EACZ;AACF,CAAC;AAED,IAAMG,sBAAsB,GAAG,SAAzBA,sBAAsBA,CAAG/C,KAAK,EAAI;EAAA,IAAAgD,cAAA,EAAAC,gBAAA;EACtC,IAAAC,KAAA,IAAAF,cAAA,GACEhD,KAAK,CAACH,MAAM,cAAAmD,cAAA,cAAAA,cAAA,GAAI,CAAC,CAAC;IAAAG,qBAAA,GAAAD,KAAA,CADZE,gBAAgB;IAAhBA,gBAAgB,GAAAD,qBAAA,cAAG,IAAI,GAAAA,qBAAA;IAAAE,qBAAA,GAAAH,KAAA,CAAEI,gBAAgB;IAAhBA,gBAAgB,GAAAD,qBAAA,cAAG,IAAI,GAAAA,qBAAA;EAGxD,IAAM/B,MAAM,IAAA2B,gBAAA,GAAGjD,KAAK,CAAC1B,QAAQ,cAAA2E,gBAAA,uBAAdA,gBAAA,CAAgB3B,MAAM;EACrC,IACGA,MAAM,KAAK,GAAG,IAAI8B,gBAAgB,IAClC9B,MAAM,KAAK,GAAG,IAAIgC,gBAAiB,EACpC;IAAA,IAAAC,cAAA;IACA,IAAMC,OAAO,GAAG,EAAAD,cAAA,GAAAvD,KAAK,CAACyD,OAAO,cAAAF,cAAA,uBAAbA,cAAA,CAAeG,WAAW,KAAI1D,KAAK,CAACH,MAAM,CAAC+C,GAAG;IAC9DjF,oBAAoB,CAACgG,QAAQ,CAAC;MAC5BC,aAAa,EAAE,IAAI;MACnBC,UAAU,EAAEvC,MAAM;MAClBwC,YAAY,EAAEN,OAAO;MACrBO,aAAa,EAAEpB,cAAc,CAACa,OAAO;IACvC,CAAC,CAAC;EACJ;EAEA,OAAOxD,KAAK;AACd,CAAC;AAED,IAAMgE,yBAAyB,GAAG,SAA5BA,yBAAyBA,CAAG7F,IAAI,EAAI;EACxC,IAAM6C,YAAY,GAAG,EAAE;EACvB,IAAI,EAAC7C,IAAI,aAAJA,IAAI,eAAJA,IAAI,CAAE8C,aAAa,GAAED,YAAY,CAACE,IAAI,CAACnB,6BAA6B,CAAC;EAE1E,IAAI,EAAC5B,IAAI,aAAJA,IAAI,eAAJA,IAAI,CAAEiF,gBAAgB,GAAEpC,YAAY,CAACE,IAAI,CAAC6B,sBAAsB,CAAC;EAEtE,IAAI,EAAC5E,IAAI,aAAJA,IAAI,eAAJA,IAAI,CAAE8F,WAAW,GAAEjD,YAAY,CAACE,IAAI,CAACC,+BAA+B,CAAC;EAE1E,IAAI,EAAChD,IAAI,aAAJA,IAAI,eAAJA,IAAI,CAAEoC,UAAU,GAAES,YAAY,CAACE,IAAI,CAACgB,eAAe,CAAC;EAEzDlB,YAAY,CAACE,IAAI,CAACgD,OAAO,CAACC,MAAM,CAACC,IAAI,CAACF,OAAO,CAAC,CAAC;EAE/C,OAAO7E,UAAU,CAAC2B,YAAY,CAAC;AACjC,CAAC;AAED,IAAMqD,gCAAgC,GAAG,SAAnCA,gCAAgCA,CAAGZ,OAAO,EAAI;EAClD,IAAI,CAACA,OAAO,CAACb,GAAG,CAACH,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAOgB,OAAO;EAEhD,IAAIA,OAAO,CAACb,GAAG,CAACH,QAAQ,CAACb,MAAM,CAACC,QAAQ,CAACyC,QAAQ,CAAC,EAAE,OAAOb,OAAO;EAElE,OAAO3F,MAAM,CAAC;IAAEe,OAAO,EAAEd,IAAI,CAAC,CAACE,YAAY,CAACgB,UAAU,CAAC;EAAE,CAAC,CAAC,CAACwE,OAAO,CAAC;AACtE,CAAC;AAED,IAAMc,wBAAwB,GAAG,SAA3BA,wBAAwBA,CAAGd,OAAO,EAAI;EAC1C,IAAAe,qBAAA,GAAwCf,OAAO,CAAvCgB,oBAAoB;IAApBA,oBAAoB,GAAAD,qBAAA,cAAG,IAAI,GAAAA,qBAAA;EAEnC,IAAI,CAACC,oBAAoB,EAAE,OAAOhB,OAAO;EAEzC,OAAO3F,MAAM,CACX;IAAEyB,IAAI,EAAE7B,wBAAwB;IAAEgH,MAAM,EAAEhH;EAAyB,CAAC,EACpE+F,OAAO,CACR;AACH,CAAC;AAED,IAAMkB,sBAAsB,GAAG,SAAzBA,sBAAsBA,CAAGxG,IAAI,EAAI;EACrC,IAAI,EAACA,IAAI,aAAJA,IAAI,eAAJA,IAAI,CAAEyG,8BAA8B,GAAE;IACzCtH,KAAK,CAAC0D,YAAY,CAACyC,OAAO,CAACoB,GAAG,CAACR,gCAAgC,CAAC;EAClE;EAEA,IAAI,EAAClG,IAAI,aAAJA,IAAI,eAAJA,IAAI,CAAE8C,aAAa,GAAE;IACxB3D,KAAK,CAAC0D,YAAY,CAACyC,OAAO,CAACoB,GAAG,CAACN,wBAAwB,CAAC;EAC1D;AACF,CAAC;AAED,IAAMO,uBAAuB,GAAG,SAA1BA,uBAAuBA,CAAG3G,IAAI,EAAI;EACtCb,KAAK,CAAC0D,YAAY,CAAC1C,QAAQ,CAACuG,GAAG,CAC7B9D,2BAA2B,CAAC5C,IAAI,CAAC,EACjC6F,yBAAyB,CAAC7F,IAAI,CAAC,CAChC;AACH,CAAC;AAED,IAAM4G,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAG5G,IAAI,EAAI;EACjC,IAAID,SAAS,CAACC,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEsF,OAAO,CAAC,EAAEkB,sBAAsB,CAACxG,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEsF,OAAO,CAAC;EAEnE,IAAIvF,SAAS,CAACC,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEG,QAAQ,CAAC,EAAEwG,uBAAuB,CAAC3G,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEG,QAAQ,CAAC;AACxE,CAAC;AAED,eAAe,SAAS0G,eAAeA,CAAC7G,IAAI,EAAE;EAC5C,IAAI,EAACA,IAAI,aAAJA,IAAI,eAAJA,IAAI,CAAE8G,OAAO,GAAE3H,KAAK,CAACsB,QAAQ,CAACqG,OAAO,GAAG,GAAG;EAEhD,IAAI,EAAC9G,IAAI,aAAJA,IAAI,eAAJA,IAAI,CAAE+G,WAAW,GAAEzG,cAAc,EAAE;EAExC,IAAI,EAACN,IAAI,aAAJA,IAAI,eAAJA,IAAI,CAAEgH,gBAAgB,GAAEnH,mBAAmB,EAAE;EAElD,IAAIE,SAAS,CAACC,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAE6C,YAAY,CAAC,EAAE+D,kBAAkB,CAAC5G,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAE6C,YAAY,CAAC;AAC3E"}
@@ -4,5 +4,10 @@ export var HEADERS_KEYS = {
4
4
  accept: "Accept"
5
5
  };
6
6
  export var LOWERCASED = "__LOWERCASED__";
7
- export var ANY_CASE = "anyCase";
7
+ export var FORMATS = {
8
+ boldList: "boldList",
9
+ list: "list",
10
+ anyCase: "anyCase"
11
+ };
12
+ export var LIST_FORMATS = [FORMATS.boldList, FORMATS.list];
8
13
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","names":["HEADERS_KEYS","xCsrfToken","contentType","accept","LOWERCASED","ANY_CASE"],"sources":["../../src/initializers/constants.js"],"sourcesContent":["export const HEADERS_KEYS = {\n xCsrfToken: \"X-CSRF-TOKEN\",\n contentType: \"Content-Type\",\n accept: \"Accept\",\n};\n\nexport const LOWERCASED = \"__LOWERCASED__\";\nexport const ANY_CASE = \"anyCase\";\n"],"mappings":"AAAA,OAAO,IAAMA,YAAY,GAAG;EAC1BC,UAAU,EAAE,cAAc;EAC1BC,WAAW,EAAE,cAAc;EAC3BC,MAAM,EAAE;AACV,CAAC;AAED,OAAO,IAAMC,UAAU,GAAG,gBAAgB;AAC1C,OAAO,IAAMC,QAAQ,GAAG,SAAS"}
1
+ {"version":3,"file":"constants.js","names":["HEADERS_KEYS","xCsrfToken","contentType","accept","LOWERCASED","FORMATS","boldList","list","anyCase","LIST_FORMATS"],"sources":["../../src/initializers/constants.js"],"sourcesContent":["export const HEADERS_KEYS = {\n xCsrfToken: \"X-CSRF-TOKEN\",\n contentType: \"Content-Type\",\n accept: \"Accept\",\n};\n\nexport const LOWERCASED = \"__LOWERCASED__\";\n\nexport const FORMATS = {\n boldList: \"boldList\",\n list: \"list\",\n anyCase: \"anyCase\",\n};\nexport const LIST_FORMATS = [FORMATS.boldList, FORMATS.list];\n"],"mappings":"AAAA,OAAO,IAAMA,YAAY,GAAG;EAC1BC,UAAU,EAAE,cAAc;EAC1BC,WAAW,EAAE,cAAc;EAC3BC,MAAM,EAAE;AACV,CAAC;AAED,OAAO,IAAMC,UAAU,GAAG,gBAAgB;AAE1C,OAAO,IAAMC,OAAO,GAAG;EACrBC,QAAQ,EAAE,UAAU;EACpBC,IAAI,EAAE,MAAM;EACZC,OAAO,EAAE;AACX,CAAC;AACD,OAAO,IAAMC,YAAY,GAAG,CAACJ,OAAO,CAACC,QAAQ,EAAED,OAAO,CAACE,IAAI,CAAC"}
@@ -2,8 +2,9 @@ import i18n from "i18next";
2
2
  import LanguageDetector from "i18next-browser-languagedetector";
3
3
  import { mergeDeepLeft } from "ramda";
4
4
  import { initReactI18next } from "react-i18next";
5
+ import { LIST_FORMATS } from "./constants";
5
6
  import { replaceNullValuesWithGetter } from "./utils";
6
- import { boldListFormatter, lowerCaseDynamicTextFormatter } from "./utils/customFormatters";
7
+ import { listFormatter, lowerCaseDynamicTextFormatter } from "./utils/customFormatters";
7
8
  import { sentenceCaseProcessor } from "./utils/customPostProcessors";
8
9
  import commonsEn from "../translations/en.json";
9
10
 
@@ -40,8 +41,13 @@ var initializeI18n = function initializeI18n(hostTranslations) {
40
41
  alwaysFormat: true,
41
42
  format: function format(value, _format, lng, options) {
42
43
  var newValue = value;
43
- if (_format === "boldList") {
44
- newValue = boldListFormatter(newValue, lng, options);
44
+ if (LIST_FORMATS.includes(_format)) {
45
+ newValue = listFormatter({
46
+ value: newValue,
47
+ format: _format,
48
+ lng: lng,
49
+ options: options
50
+ });
45
51
  return newValue;
46
52
  }
47
53
  return lowerCaseDynamicTextFormatter(newValue, _format);
@@ -1 +1 @@
1
- {"version":3,"file":"i18n.js","names":["i18n","LanguageDetector","mergeDeepLeft","initReactI18next","replaceNullValuesWithGetter","boldListFormatter","lowerCaseDynamicTextFormatter","sentenceCaseProcessor","commonsEn","taxonomies","initializeI18n","hostTranslations","_window$globalProps","packageTranslations","preval","require","commonsTranslations","en","translation","resources","reduce","defaultTaxonomyKeys","Object","keys","taxonomyDefaultLabels","defaultTaxonomies","fromEntries","map","key","singular","plural","hostTaxonomies","window","globalProps","use","init","fallbackLng","interpolation","defaultVariables","escapeValue","skipOnVariables","alwaysFormat","format","value","lng","options","newValue","postProcess","name","detection","order","caches","lookupQuerystring","lookupCookie"],"sources":["../../src/initializers/i18n.js"],"sourcesContent":["import i18n from \"i18next\";\nimport LanguageDetector from \"i18next-browser-languagedetector\";\nimport { mergeDeepLeft } from \"ramda\";\nimport { initReactI18next } from \"react-i18next\";\n\nimport { replaceNullValuesWithGetter } from \"./utils\";\nimport {\n boldListFormatter,\n lowerCaseDynamicTextFormatter,\n} from \"./utils/customFormatters\";\nimport { sentenceCaseProcessor } from \"./utils/customPostProcessors\";\n\nimport commonsEn from \"../translations/en.json\";\n\n// eslint-disable-next-line import/no-mutable-exports\nlet taxonomies = {};\n\nconst initializeI18n = hostTranslations => {\n // eslint-disable-next-line no-undef\n const packageTranslations = preval.require(\n \"../configs/scripts/getPkgTranslations.js\"\n );\n\n const commonsTranslations = { en: { translation: commonsEn } };\n\n const resources = [\n hostTranslations,\n commonsTranslations,\n packageTranslations,\n ].reduce(mergeDeepLeft);\n\n const defaultTaxonomyKeys = Object.keys(\n resources.en.translation.taxonomyDefaultLabels || {}\n );\n\n const defaultTaxonomies = Object.fromEntries(\n defaultTaxonomyKeys.map(key => [key, { singular: null, plural: null }])\n );\n\n const hostTaxonomies = window.globalProps?.taxonomies || {};\n\n taxonomies = replaceNullValuesWithGetter(\n mergeDeepLeft(hostTaxonomies, defaultTaxonomies)\n );\n\n i18n\n .use(LanguageDetector)\n .use(initReactI18next)\n .use(sentenceCaseProcessor)\n .init({\n resources,\n fallbackLng: \"en\",\n interpolation: {\n defaultVariables: { taxonomies },\n escapeValue: false,\n skipOnVariables: false,\n alwaysFormat: true,\n format: (value, format, lng, options) => {\n let newValue = value;\n if (format === \"boldList\") {\n newValue = boldListFormatter(newValue, lng, options);\n\n return newValue;\n }\n\n return lowerCaseDynamicTextFormatter(newValue, format);\n },\n },\n postProcess: [sentenceCaseProcessor.name],\n detection: {\n order: [\"querystring\", \"cookie\", \"navigator\", \"path\"],\n caches: [\"cookie\"],\n lookupQuerystring: \"lang\",\n lookupCookie: \"lang\",\n },\n });\n};\n\nexport { taxonomies };\n\nexport default initializeI18n;\n"],"mappings":"AAAA,OAAOA,IAAI,MAAM,SAAS;AAC1B,OAAOC,gBAAgB,MAAM,kCAAkC;AAC/D,SAASC,aAAa,QAAQ,OAAO;AACrC,SAASC,gBAAgB,QAAQ,eAAe;AAEhD,SAASC,2BAA2B;AACpC,SACEC,iBAAiB,EACjBC,6BAA6B;AAE/B,SAASC,qBAAqB;AAE9B,OAAOC,SAAS;;AAEhB;AACA,IAAIC,UAAU,GAAG,CAAC,CAAC;AAEnB,IAAMC,cAAc,GAAG,SAAjBA,cAAcA,CAAGC,gBAAgB,EAAI;EAAA,IAAAC,mBAAA;EACzC;EACA,IAAMC,mBAAmB,GAAGC,MAAM,CAACC,OAAO,CACxC,0CAA0C,CAC3C;EAED,IAAMC,mBAAmB,GAAG;IAAEC,EAAE,EAAE;MAAEC,WAAW,EAAEV;IAAU;EAAE,CAAC;EAE9D,IAAMW,SAAS,GAAG,CAChBR,gBAAgB,EAChBK,mBAAmB,EACnBH,mBAAmB,CACpB,CAACO,MAAM,CAAClB,aAAa,CAAC;EAEvB,IAAMmB,mBAAmB,GAAGC,MAAM,CAACC,IAAI,CACrCJ,SAAS,CAACF,EAAE,CAACC,WAAW,CAACM,qBAAqB,IAAI,CAAC,CAAC,CACrD;EAED,IAAMC,iBAAiB,GAAGH,MAAM,CAACI,WAAW,CAC1CL,mBAAmB,CAACM,GAAG,CAAC,UAAAC,GAAG;IAAA,OAAI,CAACA,GAAG,EAAE;MAAEC,QAAQ,EAAE,IAAI;MAAEC,MAAM,EAAE;IAAK,CAAC,CAAC;EAAA,EAAC,CACxE;EAED,IAAMC,cAAc,GAAG,EAAAnB,mBAAA,GAAAoB,MAAM,CAACC,WAAW,cAAArB,mBAAA,uBAAlBA,mBAAA,CAAoBH,UAAU,KAAI,CAAC,CAAC;EAE3DA,UAAU,GAAGL,2BAA2B,CACtCF,aAAa,CAAC6B,cAAc,EAAEN,iBAAiB,CAAC,CACjD;EAEDzB,IAAI,CACDkC,GAAG,CAACjC,gBAAgB,CAAC,CACrBiC,GAAG,CAAC/B,gBAAgB,CAAC,CACrB+B,GAAG,CAAC3B,qBAAqB,CAAC,CAC1B4B,IAAI,CAAC;IACJhB,SAAS,EAATA,SAAS;IACTiB,WAAW,EAAE,IAAI;IACjBC,aAAa,EAAE;MACbC,gBAAgB,EAAE;QAAE7B,UAAU,EAAVA;MAAW,CAAC;MAChC8B,WAAW,EAAE,KAAK;MAClBC,eAAe,EAAE,KAAK;MACtBC,YAAY,EAAE,IAAI;MAClBC,MAAM,EAAE,SAAAA,OAACC,KAAK,EAAED,OAAM,EAAEE,GAAG,EAAEC,OAAO,EAAK;QACvC,IAAIC,QAAQ,GAAGH,KAAK;QACpB,IAAID,OAAM,KAAK,UAAU,EAAE;UACzBI,QAAQ,GAAGzC,iBAAiB,CAACyC,QAAQ,EAAEF,GAAG,EAAEC,OAAO,CAAC;UAEpD,OAAOC,QAAQ;QACjB;QAEA,OAAOxC,6BAA6B,CAACwC,QAAQ,EAAEJ,OAAM,CAAC;MACxD;IACF,CAAC;IACDK,WAAW,EAAE,CAACxC,qBAAqB,CAACyC,IAAI,CAAC;IACzCC,SAAS,EAAE;MACTC,KAAK,EAAE,CAAC,aAAa,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,CAAC;MACrDC,MAAM,EAAE,CAAC,QAAQ,CAAC;MAClBC,iBAAiB,EAAE,MAAM;MACzBC,YAAY,EAAE;IAChB;EACF,CAAC,CAAC;AACN,CAAC;AAED,SAAS5C,UAAU;AAEnB,eAAeC,cAAc"}
1
+ {"version":3,"file":"i18n.js","names":["i18n","LanguageDetector","mergeDeepLeft","initReactI18next","LIST_FORMATS","replaceNullValuesWithGetter","listFormatter","lowerCaseDynamicTextFormatter","sentenceCaseProcessor","commonsEn","taxonomies","initializeI18n","hostTranslations","_window$globalProps","packageTranslations","preval","require","commonsTranslations","en","translation","resources","reduce","defaultTaxonomyKeys","Object","keys","taxonomyDefaultLabels","defaultTaxonomies","fromEntries","map","key","singular","plural","hostTaxonomies","window","globalProps","use","init","fallbackLng","interpolation","defaultVariables","escapeValue","skipOnVariables","alwaysFormat","format","value","lng","options","newValue","includes","postProcess","name","detection","order","caches","lookupQuerystring","lookupCookie"],"sources":["../../src/initializers/i18n.js"],"sourcesContent":["import i18n from \"i18next\";\nimport LanguageDetector from \"i18next-browser-languagedetector\";\nimport { mergeDeepLeft } from \"ramda\";\nimport { initReactI18next } from \"react-i18next\";\n\nimport { LIST_FORMATS } from \"./constants\";\nimport { replaceNullValuesWithGetter } from \"./utils\";\nimport {\n listFormatter,\n lowerCaseDynamicTextFormatter,\n} from \"./utils/customFormatters\";\nimport { sentenceCaseProcessor } from \"./utils/customPostProcessors\";\n\nimport commonsEn from \"../translations/en.json\";\n\n// eslint-disable-next-line import/no-mutable-exports\nlet taxonomies = {};\n\nconst initializeI18n = hostTranslations => {\n // eslint-disable-next-line no-undef\n const packageTranslations = preval.require(\n \"../configs/scripts/getPkgTranslations.js\"\n );\n\n const commonsTranslations = { en: { translation: commonsEn } };\n\n const resources = [\n hostTranslations,\n commonsTranslations,\n packageTranslations,\n ].reduce(mergeDeepLeft);\n\n const defaultTaxonomyKeys = Object.keys(\n resources.en.translation.taxonomyDefaultLabels || {}\n );\n\n const defaultTaxonomies = Object.fromEntries(\n defaultTaxonomyKeys.map(key => [key, { singular: null, plural: null }])\n );\n\n const hostTaxonomies = window.globalProps?.taxonomies || {};\n\n taxonomies = replaceNullValuesWithGetter(\n mergeDeepLeft(hostTaxonomies, defaultTaxonomies)\n );\n\n i18n\n .use(LanguageDetector)\n .use(initReactI18next)\n .use(sentenceCaseProcessor)\n .init({\n resources,\n fallbackLng: \"en\",\n interpolation: {\n defaultVariables: { taxonomies },\n escapeValue: false,\n skipOnVariables: false,\n alwaysFormat: true,\n format: (value, format, lng, options) => {\n let newValue = value;\n\n if (LIST_FORMATS.includes(format)) {\n newValue = listFormatter({ value: newValue, format, lng, options });\n\n return newValue;\n }\n\n return lowerCaseDynamicTextFormatter(newValue, format);\n },\n },\n postProcess: [sentenceCaseProcessor.name],\n detection: {\n order: [\"querystring\", \"cookie\", \"navigator\", \"path\"],\n caches: [\"cookie\"],\n lookupQuerystring: \"lang\",\n lookupCookie: \"lang\",\n },\n });\n};\n\nexport { taxonomies };\n\nexport default initializeI18n;\n"],"mappings":"AAAA,OAAOA,IAAI,MAAM,SAAS;AAC1B,OAAOC,gBAAgB,MAAM,kCAAkC;AAC/D,SAASC,aAAa,QAAQ,OAAO;AACrC,SAASC,gBAAgB,QAAQ,eAAe;AAEhD,SAASC,YAAY;AACrB,SAASC,2BAA2B;AACpC,SACEC,aAAa,EACbC,6BAA6B;AAE/B,SAASC,qBAAqB;AAE9B,OAAOC,SAAS;;AAEhB;AACA,IAAIC,UAAU,GAAG,CAAC,CAAC;AAEnB,IAAMC,cAAc,GAAG,SAAjBA,cAAcA,CAAGC,gBAAgB,EAAI;EAAA,IAAAC,mBAAA;EACzC;EACA,IAAMC,mBAAmB,GAAGC,MAAM,CAACC,OAAO,CACxC,0CAA0C,CAC3C;EAED,IAAMC,mBAAmB,GAAG;IAAEC,EAAE,EAAE;MAAEC,WAAW,EAAEV;IAAU;EAAE,CAAC;EAE9D,IAAMW,SAAS,GAAG,CAChBR,gBAAgB,EAChBK,mBAAmB,EACnBH,mBAAmB,CACpB,CAACO,MAAM,CAACnB,aAAa,CAAC;EAEvB,IAAMoB,mBAAmB,GAAGC,MAAM,CAACC,IAAI,CACrCJ,SAAS,CAACF,EAAE,CAACC,WAAW,CAACM,qBAAqB,IAAI,CAAC,CAAC,CACrD;EAED,IAAMC,iBAAiB,GAAGH,MAAM,CAACI,WAAW,CAC1CL,mBAAmB,CAACM,GAAG,CAAC,UAAAC,GAAG;IAAA,OAAI,CAACA,GAAG,EAAE;MAAEC,QAAQ,EAAE,IAAI;MAAEC,MAAM,EAAE;IAAK,CAAC,CAAC;EAAA,EAAC,CACxE;EAED,IAAMC,cAAc,GAAG,EAAAnB,mBAAA,GAAAoB,MAAM,CAACC,WAAW,cAAArB,mBAAA,uBAAlBA,mBAAA,CAAoBH,UAAU,KAAI,CAAC,CAAC;EAE3DA,UAAU,GAAGL,2BAA2B,CACtCH,aAAa,CAAC8B,cAAc,EAAEN,iBAAiB,CAAC,CACjD;EAED1B,IAAI,CACDmC,GAAG,CAAClC,gBAAgB,CAAC,CACrBkC,GAAG,CAAChC,gBAAgB,CAAC,CACrBgC,GAAG,CAAC3B,qBAAqB,CAAC,CAC1B4B,IAAI,CAAC;IACJhB,SAAS,EAATA,SAAS;IACTiB,WAAW,EAAE,IAAI;IACjBC,aAAa,EAAE;MACbC,gBAAgB,EAAE;QAAE7B,UAAU,EAAVA;MAAW,CAAC;MAChC8B,WAAW,EAAE,KAAK;MAClBC,eAAe,EAAE,KAAK;MACtBC,YAAY,EAAE,IAAI;MAClBC,MAAM,EAAE,SAAAA,OAACC,KAAK,EAAED,OAAM,EAAEE,GAAG,EAAEC,OAAO,EAAK;QACvC,IAAIC,QAAQ,GAAGH,KAAK;QAEpB,IAAIxC,YAAY,CAAC4C,QAAQ,CAACL,OAAM,CAAC,EAAE;UACjCI,QAAQ,GAAGzC,aAAa,CAAC;YAAEsC,KAAK,EAAEG,QAAQ;YAAEJ,MAAM,EAANA,OAAM;YAAEE,GAAG,EAAHA,GAAG;YAAEC,OAAO,EAAPA;UAAQ,CAAC,CAAC;UAEnE,OAAOC,QAAQ;QACjB;QAEA,OAAOxC,6BAA6B,CAACwC,QAAQ,EAAEJ,OAAM,CAAC;MACxD;IACF,CAAC;IACDM,WAAW,EAAE,CAACzC,qBAAqB,CAAC0C,IAAI,CAAC;IACzCC,SAAS,EAAE;MACTC,KAAK,EAAE,CAAC,aAAa,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,CAAC;MACrDC,MAAM,EAAE,CAAC,QAAQ,CAAC;MAClBC,iBAAiB,EAAE,MAAM;MACzBC,YAAY,EAAE;IAChB;EACF,CAAC,CAAC;AACN,CAAC;AAED,SAAS7C,UAAU;AAEnB,eAAeC,cAAc"}
@@ -1,5 +1,5 @@
1
1
  import DOMPurify from "dompurify";
2
- import { LOWERCASED, ANY_CASE } from "../constants";
2
+ import { LOWERCASED, FORMATS } from "../constants";
3
3
  var sanitizer = function sanitizer(array) {
4
4
  return DOMPurify.sanitize(array, {
5
5
  USE_PROFILES: {
@@ -18,17 +18,26 @@ var fetchCachedOrInvoke = function fetchCachedOrInvoke(func, lng, options) {
18
18
  return cache;
19
19
  };
20
20
  export var lowerCaseDynamicTextFormatter = function lowerCaseDynamicTextFormatter(value, format) {
21
- if (!value || format === ANY_CASE || typeof value !== "string") return value;
21
+ if (!value || format === FORMATS.anyCase || typeof value !== "string") {
22
+ return value;
23
+ }
22
24
  return LOWERCASED + value.toLocaleLowerCase();
23
25
  };
24
- export var boldListFormatter = function boldListFormatter(array, lng, options) {
26
+ export var listFormatter = function listFormatter(_ref) {
27
+ var value = _ref.value,
28
+ format = _ref.format,
29
+ lng = _ref.lng,
30
+ options = _ref.options;
25
31
  var formatter = fetchCachedOrInvoke(function (lng, options) {
26
32
  return new Intl.ListFormat(lng, options);
27
33
  }, lng, options);
28
- var boldItems = array.map(function (item) {
29
- return "<strong>".concat(item, "</strong>");
30
- });
31
- var sanitizedItems = sanitizer(boldItems).split(",");
34
+ var newValue = value;
35
+ if (format === FORMATS.boldList) {
36
+ newValue = value.map(function (item) {
37
+ return "<strong>".concat(item, "</strong>");
38
+ });
39
+ }
40
+ var sanitizedItems = sanitizer(newValue).split(",");
32
41
  return formatter.format(sanitizedItems);
33
42
  };
34
43
  //# sourceMappingURL=customFormatters.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"customFormatters.js","names":["DOMPurify","LOWERCASED","ANY_CASE","sanitizer","array","sanitize","USE_PROFILES","html","cacheStore","Map","fetchCachedOrInvoke","func","lng","options","_cacheStore$get","cache","get","lngCache","set","lowerCaseDynamicTextFormatter","value","format","toLocaleLowerCase","boldListFormatter","formatter","Intl","ListFormat","boldItems","map","item","concat","sanitizedItems","split"],"sources":["../../../src/initializers/utils/customFormatters.js"],"sourcesContent":["import DOMPurify from \"dompurify\";\n\nimport { LOWERCASED, ANY_CASE } from \"../constants\";\n\nconst sanitizer = array =>\n DOMPurify.sanitize(array, { USE_PROFILES: { html: true } });\n\nconst cacheStore = new Map();\n\nconst fetchCachedOrInvoke = (func, lng, options) => {\n let cache = cacheStore.get(lng)?.get(options);\n if (cache) return cache;\n\n cache = func(lng, options);\n const lngCache = cacheStore.get(lng);\n if (lngCache) lngCache.set(options, cache);\n else cacheStore.set(lng, new Map([[options, cache]]));\n\n return cache;\n};\n\nexport const lowerCaseDynamicTextFormatter = (value, format) => {\n if (!value || format === ANY_CASE || typeof value !== \"string\") return value;\n\n return LOWERCASED + value.toLocaleLowerCase();\n};\n\nexport const boldListFormatter = (array, lng, options) => {\n const formatter = fetchCachedOrInvoke(\n (lng, options) => new Intl.ListFormat(lng, options),\n lng,\n options\n );\n const boldItems = array.map(item => `<strong>${item}</strong>`);\n const sanitizedItems = sanitizer(boldItems).split(\",\");\n\n return formatter.format(sanitizedItems);\n};\n"],"mappings":"AAAA,OAAOA,SAAS,MAAM,WAAW;AAEjC,SAASC,UAAU,EAAEC,QAAQ;AAE7B,IAAMC,SAAS,GAAG,SAAZA,SAASA,CAAGC,KAAK;EAAA,OACrBJ,SAAS,CAACK,QAAQ,CAACD,KAAK,EAAE;IAAEE,YAAY,EAAE;MAAEC,IAAI,EAAE;IAAK;EAAE,CAAC,CAAC;AAAA;AAE7D,IAAMC,UAAU,GAAG,IAAIC,GAAG,EAAE;AAE5B,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAIC,IAAI,EAAEC,GAAG,EAAEC,OAAO,EAAK;EAAA,IAAAC,eAAA;EAClD,IAAIC,KAAK,IAAAD,eAAA,GAAGN,UAAU,CAACQ,GAAG,CAACJ,GAAG,CAAC,cAAAE,eAAA,uBAAnBA,eAAA,CAAqBE,GAAG,CAACH,OAAO,CAAC;EAC7C,IAAIE,KAAK,EAAE,OAAOA,KAAK;EAEvBA,KAAK,GAAGJ,IAAI,CAACC,GAAG,EAAEC,OAAO,CAAC;EAC1B,IAAMI,QAAQ,GAAGT,UAAU,CAACQ,GAAG,CAACJ,GAAG,CAAC;EACpC,IAAIK,QAAQ,EAAEA,QAAQ,CAACC,GAAG,CAACL,OAAO,EAAEE,KAAK,CAAC,CAAC,KACtCP,UAAU,CAACU,GAAG,CAACN,GAAG,EAAE,IAAIH,GAAG,CAAC,CAAC,CAACI,OAAO,EAAEE,KAAK,CAAC,CAAC,CAAC,CAAC;EAErD,OAAOA,KAAK;AACd,CAAC;AAED,OAAO,IAAMI,6BAA6B,GAAG,SAAhCA,6BAA6BA,CAAIC,KAAK,EAAEC,MAAM,EAAK;EAC9D,IAAI,CAACD,KAAK,IAAIC,MAAM,KAAKnB,QAAQ,IAAI,OAAOkB,KAAK,KAAK,QAAQ,EAAE,OAAOA,KAAK;EAE5E,OAAOnB,UAAU,GAAGmB,KAAK,CAACE,iBAAiB,EAAE;AAC/C,CAAC;AAED,OAAO,IAAMC,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAInB,KAAK,EAAEQ,GAAG,EAAEC,OAAO,EAAK;EACxD,IAAMW,SAAS,GAAGd,mBAAmB,CACnC,UAACE,GAAG,EAAEC,OAAO;IAAA,OAAK,IAAIY,IAAI,CAACC,UAAU,CAACd,GAAG,EAAEC,OAAO,CAAC;EAAA,GACnDD,GAAG,EACHC,OAAO,CACR;EACD,IAAMc,SAAS,GAAGvB,KAAK,CAACwB,GAAG,CAAC,UAAAC,IAAI;IAAA,kBAAAC,MAAA,CAAeD,IAAI;EAAA,CAAW,CAAC;EAC/D,IAAME,cAAc,GAAG5B,SAAS,CAACwB,SAAS,CAAC,CAACK,KAAK,CAAC,GAAG,CAAC;EAEtD,OAAOR,SAAS,CAACH,MAAM,CAACU,cAAc,CAAC;AACzC,CAAC"}
1
+ {"version":3,"file":"customFormatters.js","names":["DOMPurify","LOWERCASED","FORMATS","sanitizer","array","sanitize","USE_PROFILES","html","cacheStore","Map","fetchCachedOrInvoke","func","lng","options","_cacheStore$get","cache","get","lngCache","set","lowerCaseDynamicTextFormatter","value","format","anyCase","toLocaleLowerCase","listFormatter","_ref","formatter","Intl","ListFormat","newValue","boldList","map","item","concat","sanitizedItems","split"],"sources":["../../../src/initializers/utils/customFormatters.js"],"sourcesContent":["import DOMPurify from \"dompurify\";\n\nimport { LOWERCASED, FORMATS } from \"../constants\";\n\nconst sanitizer = array =>\n DOMPurify.sanitize(array, { USE_PROFILES: { html: true } });\n\nconst cacheStore = new Map();\n\nconst fetchCachedOrInvoke = (func, lng, options) => {\n let cache = cacheStore.get(lng)?.get(options);\n if (cache) return cache;\n\n cache = func(lng, options);\n const lngCache = cacheStore.get(lng);\n if (lngCache) lngCache.set(options, cache);\n else cacheStore.set(lng, new Map([[options, cache]]));\n\n return cache;\n};\n\nexport const lowerCaseDynamicTextFormatter = (value, format) => {\n if (!value || format === FORMATS.anyCase || typeof value !== \"string\") {\n return value;\n }\n\n return LOWERCASED + value.toLocaleLowerCase();\n};\n\nexport const listFormatter = ({ value, format, lng, options }) => {\n const formatter = fetchCachedOrInvoke(\n (lng, options) => new Intl.ListFormat(lng, options),\n lng,\n options\n );\n\n let newValue = value;\n if (format === FORMATS.boldList) {\n newValue = value.map(item => `<strong>${item}</strong>`);\n }\n const sanitizedItems = sanitizer(newValue).split(\",\");\n\n return formatter.format(sanitizedItems);\n};\n"],"mappings":"AAAA,OAAOA,SAAS,MAAM,WAAW;AAEjC,SAASC,UAAU,EAAEC,OAAO;AAE5B,IAAMC,SAAS,GAAG,SAAZA,SAASA,CAAGC,KAAK;EAAA,OACrBJ,SAAS,CAACK,QAAQ,CAACD,KAAK,EAAE;IAAEE,YAAY,EAAE;MAAEC,IAAI,EAAE;IAAK;EAAE,CAAC,CAAC;AAAA;AAE7D,IAAMC,UAAU,GAAG,IAAIC,GAAG,EAAE;AAE5B,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAIC,IAAI,EAAEC,GAAG,EAAEC,OAAO,EAAK;EAAA,IAAAC,eAAA;EAClD,IAAIC,KAAK,IAAAD,eAAA,GAAGN,UAAU,CAACQ,GAAG,CAACJ,GAAG,CAAC,cAAAE,eAAA,uBAAnBA,eAAA,CAAqBE,GAAG,CAACH,OAAO,CAAC;EAC7C,IAAIE,KAAK,EAAE,OAAOA,KAAK;EAEvBA,KAAK,GAAGJ,IAAI,CAACC,GAAG,EAAEC,OAAO,CAAC;EAC1B,IAAMI,QAAQ,GAAGT,UAAU,CAACQ,GAAG,CAACJ,GAAG,CAAC;EACpC,IAAIK,QAAQ,EAAEA,QAAQ,CAACC,GAAG,CAACL,OAAO,EAAEE,KAAK,CAAC,CAAC,KACtCP,UAAU,CAACU,GAAG,CAACN,GAAG,EAAE,IAAIH,GAAG,CAAC,CAAC,CAACI,OAAO,EAAEE,KAAK,CAAC,CAAC,CAAC,CAAC;EAErD,OAAOA,KAAK;AACd,CAAC;AAED,OAAO,IAAMI,6BAA6B,GAAG,SAAhCA,6BAA6BA,CAAIC,KAAK,EAAEC,MAAM,EAAK;EAC9D,IAAI,CAACD,KAAK,IAAIC,MAAM,KAAKnB,OAAO,CAACoB,OAAO,IAAI,OAAOF,KAAK,KAAK,QAAQ,EAAE;IACrE,OAAOA,KAAK;EACd;EAEA,OAAOnB,UAAU,GAAGmB,KAAK,CAACG,iBAAiB,EAAE;AAC/C,CAAC;AAED,OAAO,IAAMC,aAAa,GAAG,SAAhBA,aAAaA,CAAAC,IAAA,EAAwC;EAAA,IAAlCL,KAAK,GAAAK,IAAA,CAALL,KAAK;IAAEC,MAAM,GAAAI,IAAA,CAANJ,MAAM;IAAET,GAAG,GAAAa,IAAA,CAAHb,GAAG;IAAEC,OAAO,GAAAY,IAAA,CAAPZ,OAAO;EACzD,IAAMa,SAAS,GAAGhB,mBAAmB,CACnC,UAACE,GAAG,EAAEC,OAAO;IAAA,OAAK,IAAIc,IAAI,CAACC,UAAU,CAAChB,GAAG,EAAEC,OAAO,CAAC;EAAA,GACnDD,GAAG,EACHC,OAAO,CACR;EAED,IAAIgB,QAAQ,GAAGT,KAAK;EACpB,IAAIC,MAAM,KAAKnB,OAAO,CAAC4B,QAAQ,EAAE;IAC/BD,QAAQ,GAAGT,KAAK,CAACW,GAAG,CAAC,UAAAC,IAAI;MAAA,kBAAAC,MAAA,CAAeD,IAAI;IAAA,CAAW,CAAC;EAC1D;EACA,IAAME,cAAc,GAAG/B,SAAS,CAAC0B,QAAQ,CAAC,CAACM,KAAK,CAAC,GAAG,CAAC;EAErD,OAAOT,SAAS,CAACL,MAAM,CAACa,cAAc,CAAC;AACzC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bigbinary/neeto-commons-frontend",
3
- "version": "3.0.7",
3
+ "version": "3.0.10",
4
4
  "description": "A package encapsulating common code across neeto projects including initializers, utility functions, common components and hooks and so on.",
5
5
  "repository": "git@github.com:bigbinary/neeto-commons-frontend.git",
6
6
  "author": "Amaljith K <amaljith.k@bigbinary.com>",