{"version":3,"file":"koalarx-ui-shared-utils.mjs","sources":["../../projects/koala-ui/shared/utils/is-empty.ts","../../projects/koala-ui/shared/utils/generate-query-selector.ts","../../projects/koala-ui/shared/utils/http-error-feedback-alert.ts","../../projects/koala-ui/shared/utils/koalarx-ui-shared-utils.ts"],"sourcesContent":["export function isEmpty(value: any) {\n  return value === null || value === undefined || value === ''\n}\n","export function generateQuerySelector(elem: HTMLElement): string {\n  const { tagName, id, className, parentElement } = elem;\n\n  let str = '';\n\n  if (id !== '' && id.match(/^[a-z].*/)) {\n    str += `#${id}`;\n    return str;\n  }\n\n  str = tagName.toLowerCase();\n\n  if (className) {\n    str +=\n      '.' +\n      className\n        .replace(/(^\\s)/gm, '')\n        .replace(/(\\s{2,})/gm, ' ')\n        .split(/\\s/)\n        .filter((c) => !/[[,\\],:]/.test(c))\n        .join('.');\n  }\n\n  const needNthPart = (el: HTMLElement): boolean => {\n    let sib = el.previousElementSibling;\n\n    if (!el.className) {\n      return true;\n    }\n\n    while (sib) {\n      if (el.className !== sib.className) {\n        return false;\n      }\n\n      sib = sib.previousElementSibling;\n    }\n\n    return false;\n  };\n\n  const getNthPart = (el: HTMLElement): string => {\n    let childIndex = 1;\n\n    let sib = el.previousElementSibling;\n    while (sib) {\n      childIndex++;\n      sib = sib.previousElementSibling;\n    }\n\n    return `:nth-child(${childIndex})`;\n  };\n\n  if (needNthPart(elem)) {\n    str += getNthPart(elem);\n  }\n\n  if (!parentElement) {\n    return str;\n  }\n\n  return `${generateQuerySelector(parentElement)} > ${str}`;\n}\n","import { HttpErrorResponse } from '@angular/common/http';\r\nimport { inject, Injectable } from '@angular/core';\r\nimport { AppConfig } from '@koalarx/ui/core/config';\r\nimport { Snackbar } from '@koalarx/ui/shared/components/snackbar';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class HttpErrorFeedbackAlert {\r\n  private readonly snackbar = inject(Snackbar);\r\n  private readonly appConfig = inject(AppConfig);\r\n\r\n  tapError(error: HttpErrorResponse) {\r\n    const httpClientErrorsMiddleware =\r\n      this.appConfig.httpClientErrorsMiddleware;\r\n    const translations = this.appConfig.translation.feedbackRequestInterceptor;\r\n    const statusCode = error.status.toString();\r\n\r\n    if (statusCode.charAt(0) === '4') {\r\n      console.warn(error);\r\n\r\n      this.snackbar.warning(\r\n        httpClientErrorsMiddleware?.handleError(error) ??\r\n          (translations as any)[statusCode]\r\n      );\r\n      return;\r\n    } else if (statusCode.charAt(0) === '5') {\r\n      console.error(error);\r\n\r\n      this.snackbar.error(\r\n        httpClientErrorsMiddleware?.handleError(error) ??\r\n          (translations as any)[statusCode]\r\n      );\r\n      return;\r\n    } else {\r\n      console.info(error);\r\n\r\n      this.snackbar.info(\r\n        httpClientErrorsMiddleware?.handleError(error) ??\r\n          translations.unknowError\r\n      );\r\n      return;\r\n    }\r\n  }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}