@orangesix/react 1.3.4 → 1.3.8

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 (47) hide show
  1. package/README.md +42 -0
  2. package/autocomplete/index.cjs.js.map +1 -1
  3. package/autocomplete/index.esm.js.map +1 -1
  4. package/box/index.cjs.js.map +1 -1
  5. package/box/index.esm.js.map +1 -1
  6. package/editor/index.cjs.js.map +1 -1
  7. package/editor/index.esm.js.map +1 -1
  8. package/input/index.cjs.js +1 -1
  9. package/input/index.cjs.js.map +1 -1
  10. package/input/index.esm.js +1 -1
  11. package/input/index.esm.js.map +1 -1
  12. package/inputfilter/index.cjs.js.map +1 -1
  13. package/inputfilter/index.esm.js.map +1 -1
  14. package/loading/index.cjs.js.map +1 -1
  15. package/loading/index.esm.js.map +1 -1
  16. package/message/index.cjs.js.map +1 -1
  17. package/message/index.esm.js.map +1 -1
  18. package/package.json +5 -5
  19. package/picklist/index.cjs.js.map +1 -1
  20. package/picklist/index.esm.js.map +1 -1
  21. package/radio/index.cjs.js +1 -1
  22. package/radio/index.cjs.js.map +1 -1
  23. package/radio/index.esm.js +1 -1
  24. package/radio/index.esm.js.map +1 -1
  25. package/select/index.cjs.js +1 -1
  26. package/select/index.cjs.js.map +1 -1
  27. package/select/index.esm.js +1 -1
  28. package/select/index.esm.js.map +1 -1
  29. package/switch/index.cjs.js +1 -1
  30. package/switch/index.cjs.js.map +1 -1
  31. package/switch/index.esm.js +1 -1
  32. package/switch/index.esm.js.map +1 -1
  33. package/table/index.cjs.js +1 -1
  34. package/table/index.cjs.js.map +1 -1
  35. package/table/index.d.ts +10 -0
  36. package/table/index.esm.js +1 -1
  37. package/table/index.esm.js.map +1 -1
  38. package/tablepivot/index.cjs.js.map +1 -1
  39. package/tablepivot/index.esm.js.map +1 -1
  40. package/tabview/index.cjs.js.map +1 -1
  41. package/tabview/index.esm.js.map +1 -1
  42. package/textarea/index.cjs.js +1 -1
  43. package/textarea/index.cjs.js.map +1 -1
  44. package/textarea/index.esm.js +1 -1
  45. package/textarea/index.esm.js.map +1 -1
  46. package/utils/index.cjs.js.map +1 -1
  47. package/utils/index.esm.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs.js","sources":["../../src/utils/message.ts","../../src/utils/helper.ts","../../src/utils/const.ts","../../src/utils/response.ts","../../src/utils/handle.ts","../../src/utils/request.ts"],"sourcesContent":["import Snackbar from \"node-snackbar\";\r\nimport SweetAlert, { SweetAlertOptions } from \"sweetalert2\";\r\nimport { IUtilsMessage, IUtilsMessageOptions } from \"./types\";\r\n\r\n/**\r\n * Envia a mensagem para o evento da janela\r\n */\r\nexport function sendMessage<T extends keyof IUtilsMessageOptions>(params: IUtilsMessage<T>) {\r\n let Window: Window = window.self === window.top ? window : window.parent;\r\n const { message, library, type, options } = params;\r\n Window.postMessage({\r\n type: \"message\",\r\n params: {\r\n message,\r\n options,\r\n type: type ?? \"message\",\r\n library: library ?? \"snackbar\"\r\n }\r\n }, \"*\");\r\n}\r\n\r\n/**\r\n * Retorna o objeto mensagem de acordo com os parâmetros\r\n */\r\nexport function message<T extends keyof IUtilsMessageOptions>(params: IUtilsMessage<T>) {\r\n let { message, library, type, options } = params;\r\n\r\n library = library ?? \"snackbar\";\r\n switch (library) {\r\n case \"sweetAlert\":\r\n let swal: any = {\r\n icon: message.type,\r\n title: message.title,\r\n text: message.text\r\n };\r\n if (type === \"toast\") {\r\n let config: SweetAlertOptions = options as SweetAlertOptions ?? {\r\n toast: true,\r\n position: \"top-end\",\r\n showConfirmButton: false,\r\n timer: 3000,\r\n timerProgressBar: true,\r\n didOpen: (toast) => {\r\n toast.onmouseenter = SweetAlert.stopTimer;\r\n toast.onmouseleave = SweetAlert.resumeTimer;\r\n }\r\n };\r\n const Toast = SweetAlert.mixin(config);\r\n Toast.fire(swal);\r\n } else {\r\n SweetAlert.fire({ ...swal, ...options });\r\n }\r\n break;\r\n case \"snackbar\":\r\n let config: any = options;\r\n let text: string = message.message ?? message.text ?? message.title ?? \"Não foi possível carregar a mensagem.\";\r\n Snackbar.show(config === undefined ? {\r\n pos: \"top-right\",\r\n showAction: false,\r\n customClass: message.type,\r\n text: \"<p class='d-flex m-0 align-items-center'><i class='me-2 \" + message.icon + \"'></i>\" + text + \"</p>\",\r\n } : config);\r\n break;\r\n }\r\n}","import $ from \"jquery\";\r\nimport axios from \"axios\";\r\nimport { message } from \"./message\";\r\nimport { IUtilsHelperResponse } from \"./types\";\r\n\r\n/**\r\n * Realiza a pesquisa do elemento html na DOM<br>\r\n * <meta id=\"???\" name=\"???\" content=\"your-url\">\r\n */\r\nexport function getMetaContent(id: string): string | null {\r\n let element: any = document.getElementById(id);\r\n let url: null | string = element === null ? null : (element.content).replace(\".br/\", \".br\");\r\n return url === null ? null : url.substr(-1) === \"/\" ? url.slice(0, url.length - 1) : url;\r\n}\r\n\r\n/**\r\n * Realiza a pesquisa do CEP na API pública \"https://viacep.com.br/ws/\"\r\n */\r\nexport async function getCep(value: string): Promise<IUtilsHelperResponse[\"gep_cep\"]> {\r\n let cep = value.length === 0 ? \"00000000\" : value.replace(\"-\", \"\");\r\n return await axios.get<IUtilsHelperResponse[\"gep_cep\"]>(\"https://viacep.com.br/ws/\" + cep + \"/json/\")\r\n .then(data => data.data);\r\n}\r\n\r\n/**\r\n * Realiza a pesquisa do elemento na árvore DOM\r\n */\r\nexport function getElementDOM(element?: string, preloadTimeOut?: number): Promise<null | JQuery<HTMLElement>> {\r\n return new Promise((resolve) => {\r\n // @ts-ignore\r\n let body = window.self === window.top ? $(\"body\") : $(window.frameElement).parents(\"body\");\r\n if (!element || element.length === 0) {\r\n resolve(body);\r\n }\r\n\r\n if (element === \"#\" || element === \".\") {\r\n resolve(null);\r\n }\r\n\r\n let elementFound = body.find(element);\r\n if (elementFound.length > 0) {\r\n resolve(elementFound);\r\n } else {\r\n setTimeout(() => {\r\n let iframe = body.find(\"iframe\").contents();\r\n if (iframe.length === 0) {\r\n resolve(null);\r\n }\r\n elementFound = iframe.find(element);\r\n if (elementFound.length > 0) {\r\n resolve(elementFound);\r\n }\r\n resolve(null);\r\n }, preloadTimeOut ?? 300);\r\n }\r\n });\r\n}\r\n\r\n/**\r\n * Permite à comunicação de origem cruzada entre objetos do Windows.<br>\r\n * Exemplo: Comunicação entre iframe e corpo principal\r\n */\r\nexport function windowMessageEvent(): void {\r\n window.addEventListener(\"message\", function (event: MessageEvent) {\r\n if (event.data?.type === \"message\") {\r\n let data = event.data;\r\n message<any>({ ...data.params });\r\n }\r\n });\r\n}","import { getMetaContent } from \"./helper\";\r\n\r\nexport const USER: string | null = getMetaContent(\"auth\");\r\nexport const BASE: string | null = getMetaContent(\"react-base\");\r\nexport const TOKEN: string | null = getMetaContent(\"csrf-token\");\r\n\r\nexport const MES: Array<{ id: number, name: string }> = [\r\n { id: 1, name: \"Janeiro\" },\r\n { id: 2, name: \"Fevereiro\" },\r\n { id: 3, name: \"Março\" },\r\n { id: 4, name: \"Abril\" },\r\n { id: 5, name: \"Maio\" },\r\n { id: 6, name: \"Junho\" },\r\n { id: 7, name: \"Julho\" },\r\n { id: 8, name: \"Agosto\" },\r\n { id: 9, name: \"Setembro\" },\r\n { id: 10, name: \"Outubro\" },\r\n { id: 11, name: \"Novembro\" },\r\n { id: 12, name: \"Dezembro\" },\r\n];\r\n\r\nexport const ESTADOS: Array<{ id: string, name: string }> = [\r\n { name: \"Acre\", id: \"AC\" },\r\n { name: \"Alagoas\", id: \"AL\" },\r\n { name: \"Amapá\", id: \"AP\" },\r\n { name: \"Amazonas\", id: \"AM\" },\r\n { name: \"Bahia\", id: \"BA\" },\r\n { name: \"Ceará\", id: \"CE\" },\r\n { name: \"Distrito Federal\", id: \"DF\" },\r\n { name: \"Espírito Santo\", id: \"ES\" },\r\n { name: \"Goiás\", id: \"GO\" },\r\n { name: \"Maranhão\", id: \"MA\" },\r\n { name: \"Mato Grosso\", id: \"MT\" },\r\n { name: \"Mato Grosso do Sul\", id: \"MS\" },\r\n { name: \"Minas Gerais\", id: \"MG\" },\r\n { name: \"Pará\", id: \"PA\" },\r\n { name: \"Paraíba\", id: \"PB\" },\r\n { name: \"Paraná\", id: \"PR\" },\r\n { name: \"Pernambuco\", id: \"PE\" },\r\n { name: \"Piauí\", id: \"PI\" },\r\n { name: \"Rio de Janeiro\", id: \"RJ\" },\r\n { name: \"Rio Grande do Norte\", id: \"RN\" },\r\n { name: \"Rio Grande do Sul\", id: \"RS\" },\r\n { name: \"Rondônia\", id: \"RO\" },\r\n { name: \"Roraima\", id: \"RR\" },\r\n { name: \"Santa Catarina\", id: \"SC\" },\r\n { name: \"São Paulo\", id: \"SP\" },\r\n { name: \"Sergipe\", id: \"SE\" },\r\n { name: \"Tocantins\", id: \"TO\" }\r\n];","import $ from \"jquery\";\r\nimport { sendMessage } from \"./message\";\r\nimport { getElementDOM } from \"./helper\";\r\nimport { IUtilsResponseType, IUtilsResponseError } from \"./types\";\r\n\r\n/**\r\n * Realizei o gerenciamento do objeto de resposta\r\n */\r\nexport function response<Type>(\r\n response: IUtilsResponseType<Type>,\r\n form: string = \"\"\r\n): void {\r\n let data: IUtilsResponseType<Type> = response;\r\n if (!data) {\r\n return;\r\n }\r\n\r\n if (data.redirect) {\r\n window.location.href = data.redirect;\r\n }\r\n\r\n if (data.errors) {\r\n messageField(data.errors, form.length === 0 ? \"\" : form);\r\n }\r\n\r\n if (data.accept) {\r\n messageField(data.accept, form.length === 0 ? \"\" : form, \"is-valid\");\r\n }\r\n\r\n if (data.message && data?.errors === undefined) {\r\n sendMessage<\"snackbar\">({\r\n message: { ...data.message },\r\n type: \"message\",\r\n library: \"snackbar\"\r\n });\r\n }\r\n}\r\n\r\n/**\r\n * Exibe a mensagem no campo do formulário\r\n */\r\nexport function messageField(\r\n data: IUtilsResponseError,\r\n form: string = \"\",\r\n type: string = \"is-invalid\"\r\n): void {\r\n tabViewActiveError(form, data);\r\n getElementDOM(\"#\" + form)\r\n .then(formulario => {\r\n if (formulario === null) {\r\n return;\r\n }\r\n\r\n let validationFeedbackClass: string = type === \"is-invalid\" ? \"invalid-feedback\" : \"valid-feedback\";\r\n let removeValidationFeedbackClass: string = type === \"is-invalid\" ? \"is-valid\" : \"is-invalid\";\r\n\r\n $.each(data, (key: string, value) => {\r\n let text = \"\";\r\n value.forEach(value => text += value + \"<br>\");\r\n\r\n formulario.find(\"input[name='\" + key + \"']\")\r\n .addClass(type)\r\n .parent()\r\n .find(\"#j_feedback[data-name='\" + key + \"']\")\r\n .addClass(validationFeedbackClass)\r\n .removeClass(removeValidationFeedbackClass)\r\n .html(text);\r\n\r\n formulario.find(\"input[name='\" + key + \"']\")\r\n .addClass(type)\r\n .parent()\r\n .parent()\r\n .find(\"#j_feedback[data-name='\" + key + \"']\")\r\n .addClass(validationFeedbackClass)\r\n .removeClass(removeValidationFeedbackClass)\r\n .html(text);\r\n\r\n formulario.find(\"input[name='\" + key + \"']\")\r\n .addClass(type)\r\n .parent()\r\n .parent()\r\n .parent()\r\n .find(\"#j_feedback[data-name='\" + key + \"']\")\r\n .addClass(validationFeedbackClass)\r\n .removeClass(removeValidationFeedbackClass)\r\n .html(text);\r\n\r\n formulario.find(\"select[name='\" + key + \"']\")\r\n .addClass(type)\r\n .parent()\r\n .find(\"#j_feedback[data-name='\" + key + \"']\")\r\n .addClass(validationFeedbackClass)\r\n .removeClass(removeValidationFeedbackClass)\r\n .html(text);\r\n\r\n formulario.find(\"textarea[name='\" + key + \"']\")\r\n .addClass(type)\r\n .parent()\r\n .find(\"#j_feedback[data-name='\" + key + \"']\")\r\n .addClass(validationFeedbackClass)\r\n .removeClass(removeValidationFeedbackClass)\r\n .html(text);\r\n\r\n formulario.find(\"#j_feedback[data-name='\" + key + \"']\")\r\n .addClass(type)\r\n .html(text);\r\n });\r\n });\r\n}\r\n\r\n/**\r\n * Limpar as mensagens de feedback do formulário\r\n */\r\nexport function messageFieldClear(\r\n form: string = \"\"\r\n): void {\r\n getElementDOM(\"#\" + form)\r\n .then(formulario => {\r\n if (formulario === null) {\r\n return;\r\n }\r\n\r\n let validationClass: string[] = [\"is-invalid\", \"is-valid\", \"p-invalid\"];\r\n let validationFeedbackClass: string[] = [\"invalid-feedback\", \"valid-feedback\"];\r\n\r\n $.each(formulario.find(\"input\"), function () {\r\n $(this)\r\n .removeClass(validationClass)\r\n .parent()\r\n .find(\"#j_feedback\")\r\n .removeClass(validationFeedbackClass)\r\n .html(\"\");\r\n\r\n $(this)\r\n .removeClass(validationClass)\r\n .parent()\r\n .parent()\r\n .find(\"#j_feedback\")\r\n .removeClass(validationFeedbackClass)\r\n .html(\"\");\r\n\r\n $(this)\r\n .removeClass(validationClass)\r\n .parent()\r\n .parent()\r\n .parent()\r\n .find(\"#j_feedback\")\r\n .removeClass(validationFeedbackClass)\r\n .html(\"\");\r\n });\r\n\r\n $.each(formulario.find(\"select\"), function () {\r\n $(this)\r\n .removeClass(validationClass)\r\n .parent()\r\n .find(\"#j_feedback\")\r\n .removeClass(validationFeedbackClass)\r\n .html(\"\");\r\n });\r\n\r\n $.each(formulario.find(\"textarea\"), function () {\r\n $(this)\r\n .removeClass(validationClass)\r\n .parent()\r\n .find(\"#j_feedback\")\r\n .removeClass(validationFeedbackClass)\r\n .html(\"\");\r\n });\r\n\r\n $.each(formulario.find(\"#j_feedback\"), function () {\r\n $(this).removeClass(validationClass).html(\"\");\r\n });\r\n });\r\n}\r\n\r\n/**\r\n * Ativa o TabView quando o campo apresenta erro\r\n */\r\nexport function tabViewActiveError(\r\n form: string = \"\",\r\n errors: IUtilsResponseError\r\n): void {\r\n getElementDOM(\"#\" + form)\r\n .then(TabView => {\r\n if (TabView === null) {\r\n return;\r\n }\r\n\r\n let fieldError = Object.keys(errors)[0];\r\n\r\n let TabViewSelected = TabView.find(\"*[id='\" + fieldError + \"']\").closest(\".tab-pane\");\r\n let TabViewSelectedId = TabViewSelected.attr(\"id\");\r\n let TabViewNav = TabViewSelected.parent().parent().find(\".nav\");\r\n\r\n TabViewSelected.parent(\".tab-content\").children(\".tab-pane\").each(function (_, value) {\r\n if (typeof value !== \"undefined\") {\r\n if ($(value).attr(\"id\") === TabViewSelectedId) {\r\n $(value).addClass(\"show active\");\r\n TabViewNav.find(\"button[data-bs-target='#\" + TabViewSelectedId + \"']\").addClass(\"active show\");\r\n } else {\r\n $(value).removeClass(\"show active\");\r\n TabViewNav.find(\"button[data-bs-target='#\" + $(value).attr(\"id\") + \"']\").removeClass(\"active\");\r\n }\r\n }\r\n });\r\n });\r\n}","/**\r\n * Formata um valor numérico para o formato decimal ou monetário.\r\n *\r\n * @param valor - O valor a ser formatado.\r\n * @param format - O formato desejado: \"money\" para monetário ou \"decimal\" para decimal.\r\n * @param decimals - Quantidade de casa decimal\r\n * @returns O valor formatado como string.\r\n */\r\nexport function handleNumber(\r\n valor: string,\r\n format: \"money\" | \"decimal\" = \"decimal\",\r\n decimals: number = 2\r\n): string {\r\n let value = valor.replace(/[^0-9.,]/g, \"\");\r\n if (format === \"decimal\") {\r\n if (value.length > 0) {\r\n return parseFloat(value.replace(\",\", \".\").replace(/(\\..*)\\./g, \"$1\")).toFixed(decimals);\r\n }\r\n return \"\";\r\n }\r\n return parseFloat(value.replace(\",\", \".\"))\r\n .toLocaleString(\"pt-BR\", {\r\n style: \"currency\",\r\n currency: \"BRL\"\r\n }).replace(\".\", \" \");\r\n}\r\n\r\n/**\r\n * Formata um valor de string para o formato de horas (HH:MM).\r\n *\r\n * @param valor - O valor a ser formatado.\r\n * @returns O valor formatado como string no formato de horas.\r\n */\r\nexport function handleHours(valor: string): string {\r\n let value = valor.replace(/[^\\d.]/g, \"\");\r\n const parts = value.split(\".\");\r\n\r\n if (parts.length > 1) {\r\n parts[1] = parts[1].substring(0, 2);\r\n }\r\n\r\n value = parts.join(\".\");\r\n if (value.length > 2) {\r\n value = value.substring(0, value.length - 2) + \":\" + value.substring(value.length - 2);\r\n }\r\n return value;\r\n}\r\n\r\n/**\r\n * Retonar a data do dia no formato (Y-m-d) para ser utilizado\r\n * em input do tipo Date.\r\n *\r\n * @return Data\r\n */\r\nexport function handleDateNow(): string {\r\n const hoje = new Date();\r\n const ano = hoje.getFullYear();\r\n const mes = String(hoje.getMonth() + 1).padStart(2, \"0\");\r\n const dia = String(hoje.getDate()).padStart(2, \"0\");\r\n return `${ano}-${mes}-${dia}`;\r\n}","import axios from \"axios\";\r\nimport { BASE, TOKEN } from \"./const\";\r\nimport { messageFieldClear, response } from \"./response\";\r\nimport { IUtilsRequestPostOptions, IUtilsResponseType } from \"./types\";\r\n\r\n/**\r\n * Simplifica a solicitação POST HTTP usando a biblioteca axios\r\n */\r\nexport function post<TypeDataResponse = IUtilsResponseType<any>>(\r\n route: string,\r\n body: any,\r\n form?: string,\r\n options?: IUtilsRequestPostOptions\r\n): Promise<TypeDataResponse> {\r\n return new Promise((resolve, reject) => {\r\n let url = BASE + (route.startsWith(\"/\") ? \"\" : \"/\") + route;\r\n messageFieldClear(form);\r\n handleToManyRequest(options?.url ?? url, options?.blockedToManyRequest ?? false);\r\n axios<TypeDataResponse>({\r\n method: \"post\",\r\n url: options?.url ?? url,\r\n headers: { \"X-CSRF-TOKEN\": TOKEN },\r\n data: !body ? {} : body,\r\n }).then(data => {\r\n if (data?.data !== undefined) {\r\n resolve(data.data);\r\n }\r\n if (typeof options?.blockedResponse !== \"boolean\" || options?.blockedResponse === false) {\r\n response<TypeDataResponse>((data?.data as IUtilsResponseType<TypeDataResponse>), form);\r\n }\r\n }).catch(error => {\r\n response<TypeDataResponse>(error.response?.data, form);\r\n reject(error);\r\n });\r\n });\r\n}\r\n\r\n/**\r\n * Bloqueia várias solicitações simultâneas\r\n */\r\nfunction handleToManyRequest(url: string, blocked: boolean): void {\r\n let requestCount = 0;\r\n axios.interceptors.request.use(config => {\r\n requestCount = requestCount + 1;\r\n if (requestCount > 1 && axios.getUri(config) === url && blocked) {\r\n return Promise.reject(new Error(\"Requisições bloqueadas!\"));\r\n }\r\n return config;\r\n });\r\n if (!blocked) {\r\n axios.interceptors.request.clear();\r\n }\r\n\r\n axios.interceptors.response.use(response => {\r\n requestCount = requestCount - 1;\r\n return response;\r\n }, function (error) {\r\n requestCount = requestCount - 1;\r\n return Promise.reject(error);\r\n });\r\n}"],"names":["sendMessage","params","Window","window","self","top","parent","message","library","type","options","postMessage","swal","icon","title","text","config","toast","position","showConfirmButton","timer","timerProgressBar","didOpen","onmouseenter","SweetAlert","stopTimer","onmouseleave","resumeTimer","mixin","fire","Snackbar","show","undefined","pos","showAction","customClass","getMetaContent","id","element","document","getElementById","url","replace","substr","slice","length","getElementDOM","preloadTimeOut","Promise","resolve","body","$","frameElement","parents","elementFound","find","setTimeout","iframe","contents","USER","BASE","TOKEN","response","form","data","redirect","location","href","errors","messageField","accept","tabViewActiveError","then","formulario","validationFeedbackClass","removeValidationFeedbackClass","each","key","value","forEach","addClass","removeClass","html","messageFieldClear","validationClass","this","TabView","fieldError","Object","keys","TabViewSelected","closest","TabViewSelectedId","attr","TabViewNav","children","_","name","async","cep","axios","get","hoje","Date","getFullYear","String","getMonth","padStart","getDate","valor","parts","split","substring","join","format","decimals","parseFloat","toFixed","toLocaleString","style","currency","route","reject","startsWith","blocked","requestCount","interceptors","request","use","getUri","Error","clear","error","handleToManyRequest","blockedToManyRequest","method","headers","blockedResponse","catch","addEventListener","event"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs.js","sources":["../../src/utils/message.ts","../../src/utils/helper.ts","../../src/utils/const.ts","../../src/utils/response.ts","../../src/utils/handle.ts","../../src/utils/request.ts"],"sourcesContent":["import Snackbar from \"node-snackbar\";\r\nimport SweetAlert, { SweetAlertOptions } from \"sweetalert2\";\r\nimport { IUtilsMessage, IUtilsMessageOptions } from \"./types\";\r\n\r\n/**\r\n * Envia a mensagem para o evento da janela\r\n */\r\nexport function sendMessage<T extends keyof IUtilsMessageOptions>(params: IUtilsMessage<T>) {\r\n let Window: Window = window.self === window.top ? window : window.parent;\r\n const { message, library, type, options } = params;\r\n Window.postMessage({\r\n type: \"message\",\r\n params: {\r\n message,\r\n options,\r\n type: type ?? \"message\",\r\n library: library ?? \"snackbar\"\r\n }\r\n }, \"*\");\r\n}\r\n\r\n/**\r\n * Retorna o objeto mensagem de acordo com os parâmetros\r\n */\r\nexport function message<T extends keyof IUtilsMessageOptions>(params: IUtilsMessage<T>) {\r\n let { message, library, type, options } = params;\r\n\r\n library = library ?? \"snackbar\";\r\n switch (library) {\r\n case \"sweetAlert\":\r\n let swal: any = {\r\n icon: message.type,\r\n title: message.title,\r\n text: message.text\r\n };\r\n if (type === \"toast\") {\r\n let config: SweetAlertOptions = options as SweetAlertOptions ?? {\r\n toast: true,\r\n position: \"top-end\",\r\n showConfirmButton: false,\r\n timer: 3000,\r\n timerProgressBar: true,\r\n didOpen: (toast) => {\r\n toast.onmouseenter = SweetAlert.stopTimer;\r\n toast.onmouseleave = SweetAlert.resumeTimer;\r\n }\r\n };\r\n const Toast = SweetAlert.mixin(config);\r\n Toast.fire(swal);\r\n } else {\r\n SweetAlert.fire({ ...swal, ...options });\r\n }\r\n break;\r\n case \"snackbar\":\r\n let config: any = options;\r\n let text: string = message.message ?? message.text ?? message.title ?? \"Não foi possível carregar a mensagem.\";\r\n Snackbar.show(config === undefined ? {\r\n pos: \"top-right\",\r\n showAction: false,\r\n customClass: message.type,\r\n text: \"<p class='d-flex m-0 align-items-center'><i class='me-2 \" + message.icon + \"'></i>\" + text + \"</p>\",\r\n } : config);\r\n break;\r\n }\r\n}","import $ from \"jquery\";\r\nimport axios from \"axios\";\r\nimport { message } from \"./message\";\r\nimport { IUtilsHelperResponse } from \"./types\";\r\n\r\n/**\r\n * Realiza a pesquisa do elemento html na DOM<br>\r\n * <meta id=\"???\" name=\"???\" content=\"your-url\">\r\n */\r\nexport function getMetaContent(id: string): string | null {\r\n let element: any = document.getElementById(id);\r\n let url: null | string = element === null ? null : (element.content).replace(\".br/\", \".br\");\r\n return url === null ? null : url.substr(-1) === \"/\" ? url.slice(0, url.length - 1) : url;\r\n}\r\n\r\n/**\r\n * Realiza a pesquisa do CEP na API pública \"https://viacep.com.br/ws/\"\r\n */\r\nexport async function getCep(value: string): Promise<IUtilsHelperResponse[\"gep_cep\"]> {\r\n let cep = value.length === 0 ? \"00000000\" : value.replace(\"-\", \"\");\r\n return await axios.get<IUtilsHelperResponse[\"gep_cep\"]>(\"https://viacep.com.br/ws/\" + cep + \"/json/\")\r\n .then(data => data.data);\r\n}\r\n\r\n/**\r\n * Realiza a pesquisa do elemento na árvore DOM\r\n */\r\nexport function getElementDOM(element?: string, preloadTimeOut?: number): Promise<null | JQuery<HTMLElement>> {\r\n return new Promise((resolve) => {\r\n // @ts-ignore\r\n let body = window.self === window.top ? $(\"body\") : $(window.frameElement).parents(\"body\");\r\n if (!element || element.length === 0) {\r\n resolve(body);\r\n }\r\n\r\n if (element === \"#\" || element === \".\") {\r\n resolve(null);\r\n }\r\n\r\n let elementFound = body.find(element);\r\n if (elementFound.length > 0) {\r\n resolve(elementFound);\r\n } else {\r\n setTimeout(() => {\r\n let iframe = body.find(\"iframe\").contents();\r\n if (iframe.length === 0) {\r\n resolve(null);\r\n }\r\n elementFound = iframe.find(element);\r\n if (elementFound.length > 0) {\r\n resolve(elementFound);\r\n }\r\n resolve(null);\r\n }, preloadTimeOut ?? 300);\r\n }\r\n });\r\n}\r\n\r\n/**\r\n * Permite à comunicação de origem cruzada entre objetos do Windows.<br>\r\n * Exemplo: Comunicação entre iframe e corpo principal\r\n */\r\nexport function windowMessageEvent(): void {\r\n window.addEventListener(\"message\", function (event: MessageEvent) {\r\n if (event.data?.type === \"message\") {\r\n let data = event.data;\r\n message<any>({ ...data.params });\r\n }\r\n });\r\n}","import { getMetaContent } from \"./helper\";\r\n\r\nexport const USER: string | null = getMetaContent(\"auth\");\r\nexport const BASE: string | null = getMetaContent(\"react-base\");\r\nexport const TOKEN: string | null = getMetaContent(\"csrf-token\");\r\n\r\nexport const MES: Array<{ id: number, name: string }> = [\r\n { id: 1, name: \"Janeiro\" },\r\n { id: 2, name: \"Fevereiro\" },\r\n { id: 3, name: \"Março\" },\r\n { id: 4, name: \"Abril\" },\r\n { id: 5, name: \"Maio\" },\r\n { id: 6, name: \"Junho\" },\r\n { id: 7, name: \"Julho\" },\r\n { id: 8, name: \"Agosto\" },\r\n { id: 9, name: \"Setembro\" },\r\n { id: 10, name: \"Outubro\" },\r\n { id: 11, name: \"Novembro\" },\r\n { id: 12, name: \"Dezembro\" },\r\n];\r\n\r\nexport const ESTADOS: Array<{ id: string, name: string }> = [\r\n { name: \"Acre\", id: \"AC\" },\r\n { name: \"Alagoas\", id: \"AL\" },\r\n { name: \"Amapá\", id: \"AP\" },\r\n { name: \"Amazonas\", id: \"AM\" },\r\n { name: \"Bahia\", id: \"BA\" },\r\n { name: \"Ceará\", id: \"CE\" },\r\n { name: \"Distrito Federal\", id: \"DF\" },\r\n { name: \"Espírito Santo\", id: \"ES\" },\r\n { name: \"Goiás\", id: \"GO\" },\r\n { name: \"Maranhão\", id: \"MA\" },\r\n { name: \"Mato Grosso\", id: \"MT\" },\r\n { name: \"Mato Grosso do Sul\", id: \"MS\" },\r\n { name: \"Minas Gerais\", id: \"MG\" },\r\n { name: \"Pará\", id: \"PA\" },\r\n { name: \"Paraíba\", id: \"PB\" },\r\n { name: \"Paraná\", id: \"PR\" },\r\n { name: \"Pernambuco\", id: \"PE\" },\r\n { name: \"Piauí\", id: \"PI\" },\r\n { name: \"Rio de Janeiro\", id: \"RJ\" },\r\n { name: \"Rio Grande do Norte\", id: \"RN\" },\r\n { name: \"Rio Grande do Sul\", id: \"RS\" },\r\n { name: \"Rondônia\", id: \"RO\" },\r\n { name: \"Roraima\", id: \"RR\" },\r\n { name: \"Santa Catarina\", id: \"SC\" },\r\n { name: \"São Paulo\", id: \"SP\" },\r\n { name: \"Sergipe\", id: \"SE\" },\r\n { name: \"Tocantins\", id: \"TO\" }\r\n];","import $ from \"jquery\";\r\nimport { sendMessage } from \"./message\";\r\nimport { getElementDOM } from \"./helper\";\r\nimport { IUtilsResponseType, IUtilsResponseError } from \"./types\";\r\n\r\n/**\r\n * Realizei o gerenciamento do objeto de resposta\r\n */\r\nexport function response<Type>(\r\n response: IUtilsResponseType<Type>,\r\n form: string = \"\"\r\n): void {\r\n let data: IUtilsResponseType<Type> = response;\r\n if (!data) {\r\n return;\r\n }\r\n\r\n if (data.redirect) {\r\n window.location.href = data.redirect;\r\n }\r\n\r\n if (data.errors) {\r\n messageField(data.errors, form.length === 0 ? \"\" : form);\r\n }\r\n\r\n if (data.accept) {\r\n messageField(data.accept, form.length === 0 ? \"\" : form, \"is-valid\");\r\n }\r\n\r\n if (data.message && data?.errors === undefined) {\r\n sendMessage<\"snackbar\">({\r\n message: { ...data.message },\r\n type: \"message\",\r\n library: \"snackbar\"\r\n });\r\n }\r\n}\r\n\r\n/**\r\n * Exibe a mensagem no campo do formulário\r\n */\r\nexport function messageField(\r\n data: IUtilsResponseError,\r\n form: string = \"\",\r\n type: string = \"is-invalid\"\r\n): void {\r\n tabViewActiveError(form, data);\r\n getElementDOM(\"#\" + form)\r\n .then(formulario => {\r\n if (formulario === null) {\r\n return;\r\n }\r\n\r\n let validationFeedbackClass: string = type === \"is-invalid\" ? \"invalid-feedback\" : \"valid-feedback\";\r\n let removeValidationFeedbackClass: string = type === \"is-invalid\" ? \"is-valid\" : \"is-invalid\";\r\n\r\n $.each(data, (key: string, value) => {\r\n let text = \"\";\r\n value.forEach(value => text += value + \"<br>\");\r\n\r\n formulario.find(\"input[name='\" + key + \"']\")\r\n .addClass(type)\r\n .parent()\r\n .find(\"#j_feedback[data-name='\" + key + \"']\")\r\n .addClass(validationFeedbackClass)\r\n .removeClass(removeValidationFeedbackClass)\r\n .html(text);\r\n\r\n formulario.find(\"input[name='\" + key + \"']\")\r\n .addClass(type)\r\n .parent()\r\n .parent()\r\n .find(\"#j_feedback[data-name='\" + key + \"']\")\r\n .addClass(validationFeedbackClass)\r\n .removeClass(removeValidationFeedbackClass)\r\n .html(text);\r\n\r\n formulario.find(\"input[name='\" + key + \"']\")\r\n .addClass(type)\r\n .parent()\r\n .parent()\r\n .parent()\r\n .find(\"#j_feedback[data-name='\" + key + \"']\")\r\n .addClass(validationFeedbackClass)\r\n .removeClass(removeValidationFeedbackClass)\r\n .html(text);\r\n\r\n formulario.find(\"select[name='\" + key + \"']\")\r\n .addClass(type)\r\n .parent()\r\n .find(\"#j_feedback[data-name='\" + key + \"']\")\r\n .addClass(validationFeedbackClass)\r\n .removeClass(removeValidationFeedbackClass)\r\n .html(text);\r\n\r\n formulario.find(\"textarea[name='\" + key + \"']\")\r\n .addClass(type)\r\n .parent()\r\n .find(\"#j_feedback[data-name='\" + key + \"']\")\r\n .addClass(validationFeedbackClass)\r\n .removeClass(removeValidationFeedbackClass)\r\n .html(text);\r\n\r\n formulario.find(\"#j_feedback[data-name='\" + key + \"']\")\r\n .addClass(type)\r\n .html(text);\r\n });\r\n });\r\n}\r\n\r\n/**\r\n * Limpar as mensagens de feedback do formulário\r\n */\r\nexport function messageFieldClear(\r\n form: string = \"\"\r\n): void {\r\n getElementDOM(\"#\" + form)\r\n .then(formulario => {\r\n if (formulario === null) {\r\n return;\r\n }\r\n\r\n let validationClass: string[] = [\"is-invalid\", \"is-valid\", \"p-invalid\"];\r\n let validationFeedbackClass: string[] = [\"invalid-feedback\", \"valid-feedback\"];\r\n\r\n $.each(formulario.find(\"input\"), function () {\r\n $(this)\r\n .removeClass(validationClass)\r\n .parent()\r\n .find(\"#j_feedback\")\r\n .removeClass(validationFeedbackClass)\r\n .html(\"\");\r\n\r\n $(this)\r\n .removeClass(validationClass)\r\n .parent()\r\n .parent()\r\n .find(\"#j_feedback\")\r\n .removeClass(validationFeedbackClass)\r\n .html(\"\");\r\n\r\n $(this)\r\n .removeClass(validationClass)\r\n .parent()\r\n .parent()\r\n .parent()\r\n .find(\"#j_feedback\")\r\n .removeClass(validationFeedbackClass)\r\n .html(\"\");\r\n });\r\n\r\n $.each(formulario.find(\"select\"), function () {\r\n $(this)\r\n .removeClass(validationClass)\r\n .parent()\r\n .find(\"#j_feedback\")\r\n .removeClass(validationFeedbackClass)\r\n .html(\"\");\r\n });\r\n\r\n $.each(formulario.find(\"textarea\"), function () {\r\n $(this)\r\n .removeClass(validationClass)\r\n .parent()\r\n .find(\"#j_feedback\")\r\n .removeClass(validationFeedbackClass)\r\n .html(\"\");\r\n });\r\n\r\n $.each(formulario.find(\"#j_feedback\"), function () {\r\n $(this).removeClass(validationClass).html(\"\");\r\n });\r\n });\r\n}\r\n\r\n/**\r\n * Ativa o TabView quando o campo apresenta erro\r\n */\r\nexport function tabViewActiveError(\r\n form: string = \"\",\r\n errors: IUtilsResponseError\r\n): void {\r\n getElementDOM(\"#\" + form)\r\n .then(TabView => {\r\n if (TabView === null) {\r\n return;\r\n }\r\n\r\n let fieldError = Object.keys(errors)[0];\r\n\r\n let TabViewSelected = TabView.find(\"*[id='\" + fieldError + \"']\").closest(\".tab-pane\");\r\n let TabViewSelectedId = TabViewSelected.attr(\"id\");\r\n let TabViewNav = TabViewSelected.parent().parent().find(\".nav\");\r\n\r\n TabViewSelected.parent(\".tab-content\").children(\".tab-pane\").each(function (_, value) {\r\n if (typeof value !== \"undefined\") {\r\n if ($(value).attr(\"id\") === TabViewSelectedId) {\r\n $(value).addClass(\"show active\");\r\n TabViewNav.find(\"button[data-bs-target='#\" + TabViewSelectedId + \"']\").addClass(\"active show\");\r\n } else {\r\n $(value).removeClass(\"show active\");\r\n TabViewNav.find(\"button[data-bs-target='#\" + $(value).attr(\"id\") + \"']\").removeClass(\"active\");\r\n }\r\n }\r\n });\r\n });\r\n}","/**\r\n * Formata um valor numérico para o formato decimal ou monetário.\r\n *\r\n * @param valor - O valor a ser formatado.\r\n * @param format - O formato desejado: \"money\" para monetário ou \"decimal\" para decimal.\r\n * @param decimals - Quantidade de casa decimal\r\n * @returns O valor formatado como string.\r\n */\r\nexport function handleNumber(\r\n valor: string,\r\n format: \"money\" | \"decimal\" = \"decimal\",\r\n decimals: number = 2\r\n): string {\r\n let value = valor.replace(/[^0-9.,]/g, \"\");\r\n if (format === \"decimal\") {\r\n if (value.length > 0) {\r\n return parseFloat(value.replace(\",\", \".\").replace(/(\\..*)\\./g, \"$1\")).toFixed(decimals);\r\n }\r\n return \"\";\r\n }\r\n return parseFloat(value.replace(\",\", \".\"))\r\n .toLocaleString(\"pt-BR\", {\r\n style: \"currency\",\r\n currency: \"BRL\"\r\n }).replace(\".\", \" \");\r\n}\r\n\r\n/**\r\n * Formata um valor de string para o formato de horas (HH:MM).\r\n *\r\n * @param valor - O valor a ser formatado.\r\n * @returns O valor formatado como string no formato de horas.\r\n */\r\nexport function handleHours(valor: string): string {\r\n let value = valor.replace(/[^\\d.]/g, \"\");\r\n const parts = value.split(\".\");\r\n\r\n if (parts.length > 1) {\r\n parts[1] = parts[1].substring(0, 2);\r\n }\r\n\r\n value = parts.join(\".\");\r\n if (value.length > 2) {\r\n value = value.substring(0, value.length - 2) + \":\" + value.substring(value.length - 2);\r\n }\r\n return value;\r\n}\r\n\r\n/**\r\n * Retonar a data do dia no formato (Y-m-d) para ser utilizado\r\n * em input do tipo Date.\r\n *\r\n * @return Data\r\n */\r\nexport function handleDateNow(): string {\r\n const hoje = new Date();\r\n const ano = hoje.getFullYear();\r\n const mes = String(hoje.getMonth() + 1).padStart(2, \"0\");\r\n const dia = String(hoje.getDate()).padStart(2, \"0\");\r\n return `${ano}-${mes}-${dia}`;\r\n}","import axios from \"axios\";\r\nimport { BASE, TOKEN } from \"./const\";\r\nimport { messageFieldClear, response } from \"./response\";\r\nimport { IUtilsRequestPostOptions, IUtilsResponseType } from \"./types\";\r\n\r\n/**\r\n * Simplifica a solicitação POST HTTP usando a biblioteca axios\r\n */\r\nexport function post<TypeDataResponse = IUtilsResponseType<any>>(\r\n route: string,\r\n body: any,\r\n form?: string,\r\n options?: IUtilsRequestPostOptions\r\n): Promise<TypeDataResponse> {\r\n return new Promise((resolve, reject) => {\r\n let url = BASE + (route.startsWith(\"/\") ? \"\" : \"/\") + route;\r\n messageFieldClear(form);\r\n handleToManyRequest(options?.url ?? url, options?.blockedToManyRequest ?? false);\r\n axios<TypeDataResponse>({\r\n method: \"post\",\r\n url: options?.url ?? url,\r\n headers: { \"X-CSRF-TOKEN\": TOKEN },\r\n data: !body ? {} : body,\r\n }).then(data => {\r\n if (data?.data !== undefined) {\r\n resolve(data.data);\r\n }\r\n if (typeof options?.blockedResponse !== \"boolean\" || options?.blockedResponse === false) {\r\n response<TypeDataResponse>((data?.data as IUtilsResponseType<TypeDataResponse>), form);\r\n }\r\n }).catch(error => {\r\n response<TypeDataResponse>(error.response?.data, form);\r\n reject(error);\r\n });\r\n });\r\n}\r\n\r\n/**\r\n * Bloqueia várias solicitações simultâneas\r\n */\r\nfunction handleToManyRequest(url: string, blocked: boolean): void {\r\n let requestCount = 0;\r\n axios.interceptors.request.use(config => {\r\n requestCount = requestCount + 1;\r\n if (requestCount > 1 && axios.getUri(config) === url && blocked) {\r\n return Promise.reject(new Error(\"Requisições bloqueadas!\"));\r\n }\r\n return config;\r\n });\r\n if (!blocked) {\r\n axios.interceptors.request.clear();\r\n }\r\n\r\n axios.interceptors.response.use(response => {\r\n requestCount = requestCount - 1;\r\n return response;\r\n }, function (error) {\r\n requestCount = requestCount - 1;\r\n return Promise.reject(error);\r\n });\r\n}"],"names":["sendMessage","params","Window","window","self","top","parent","message","library","type","options","postMessage","swal","icon","title","text","config","toast","position","showConfirmButton","timer","timerProgressBar","didOpen","onmouseenter","SweetAlert","stopTimer","onmouseleave","resumeTimer","mixin","fire","Snackbar","show","undefined","pos","showAction","customClass","getMetaContent","id","element","document","getElementById","url","replace","substr","slice","length","getElementDOM","preloadTimeOut","Promise","resolve","body","$","frameElement","parents","elementFound","find","setTimeout","iframe","contents","USER","BASE","TOKEN","response","form","data","redirect","location","href","errors","messageField","accept","tabViewActiveError","then","formulario","validationFeedbackClass","removeValidationFeedbackClass","each","key","value","forEach","addClass","removeClass","html","messageFieldClear","validationClass","this","TabView","fieldError","Object","keys","TabViewSelected","closest","TabViewSelectedId","attr","TabViewNav","children","_","name","async","cep","axios","get","hoje","Date","getFullYear","String","getMonth","padStart","getDate","valor","parts","split","substring","join","format","decimals","parseFloat","toFixed","toLocaleString","style","currency","route","reject","startsWith","blocked","requestCount","interceptors","request","use","getUri","Error","clear","error","handleToManyRequest","blockedToManyRequest","method","headers","blockedResponse","catch","addEventListener","event"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":["../../src/utils/message.ts","../../src/utils/helper.ts","../../src/utils/const.ts","../../src/utils/handle.ts","../../src/utils/response.ts","../../src/utils/request.ts"],"sourcesContent":["import Snackbar from \"node-snackbar\";\r\nimport SweetAlert, { SweetAlertOptions } from \"sweetalert2\";\r\nimport { IUtilsMessage, IUtilsMessageOptions } from \"./types\";\r\n\r\n/**\r\n * Envia a mensagem para o evento da janela\r\n */\r\nexport function sendMessage<T extends keyof IUtilsMessageOptions>(params: IUtilsMessage<T>) {\r\n let Window: Window = window.self === window.top ? window : window.parent;\r\n const { message, library, type, options } = params;\r\n Window.postMessage({\r\n type: \"message\",\r\n params: {\r\n message,\r\n options,\r\n type: type ?? \"message\",\r\n library: library ?? \"snackbar\"\r\n }\r\n }, \"*\");\r\n}\r\n\r\n/**\r\n * Retorna o objeto mensagem de acordo com os parâmetros\r\n */\r\nexport function message<T extends keyof IUtilsMessageOptions>(params: IUtilsMessage<T>) {\r\n let { message, library, type, options } = params;\r\n\r\n library = library ?? \"snackbar\";\r\n switch (library) {\r\n case \"sweetAlert\":\r\n let swal: any = {\r\n icon: message.type,\r\n title: message.title,\r\n text: message.text\r\n };\r\n if (type === \"toast\") {\r\n let config: SweetAlertOptions = options as SweetAlertOptions ?? {\r\n toast: true,\r\n position: \"top-end\",\r\n showConfirmButton: false,\r\n timer: 3000,\r\n timerProgressBar: true,\r\n didOpen: (toast) => {\r\n toast.onmouseenter = SweetAlert.stopTimer;\r\n toast.onmouseleave = SweetAlert.resumeTimer;\r\n }\r\n };\r\n const Toast = SweetAlert.mixin(config);\r\n Toast.fire(swal);\r\n } else {\r\n SweetAlert.fire({ ...swal, ...options });\r\n }\r\n break;\r\n case \"snackbar\":\r\n let config: any = options;\r\n let text: string = message.message ?? message.text ?? message.title ?? \"Não foi possível carregar a mensagem.\";\r\n Snackbar.show(config === undefined ? {\r\n pos: \"top-right\",\r\n showAction: false,\r\n customClass: message.type,\r\n text: \"<p class='d-flex m-0 align-items-center'><i class='me-2 \" + message.icon + \"'></i>\" + text + \"</p>\",\r\n } : config);\r\n break;\r\n }\r\n}","import $ from \"jquery\";\r\nimport axios from \"axios\";\r\nimport { message } from \"./message\";\r\nimport { IUtilsHelperResponse } from \"./types\";\r\n\r\n/**\r\n * Realiza a pesquisa do elemento html na DOM<br>\r\n * <meta id=\"???\" name=\"???\" content=\"your-url\">\r\n */\r\nexport function getMetaContent(id: string): string | null {\r\n let element: any = document.getElementById(id);\r\n let url: null | string = element === null ? null : (element.content).replace(\".br/\", \".br\");\r\n return url === null ? null : url.substr(-1) === \"/\" ? url.slice(0, url.length - 1) : url;\r\n}\r\n\r\n/**\r\n * Realiza a pesquisa do CEP na API pública \"https://viacep.com.br/ws/\"\r\n */\r\nexport async function getCep(value: string): Promise<IUtilsHelperResponse[\"gep_cep\"]> {\r\n let cep = value.length === 0 ? \"00000000\" : value.replace(\"-\", \"\");\r\n return await axios.get<IUtilsHelperResponse[\"gep_cep\"]>(\"https://viacep.com.br/ws/\" + cep + \"/json/\")\r\n .then(data => data.data);\r\n}\r\n\r\n/**\r\n * Realiza a pesquisa do elemento na árvore DOM\r\n */\r\nexport function getElementDOM(element?: string, preloadTimeOut?: number): Promise<null | JQuery<HTMLElement>> {\r\n return new Promise((resolve) => {\r\n // @ts-ignore\r\n let body = window.self === window.top ? $(\"body\") : $(window.frameElement).parents(\"body\");\r\n if (!element || element.length === 0) {\r\n resolve(body);\r\n }\r\n\r\n if (element === \"#\" || element === \".\") {\r\n resolve(null);\r\n }\r\n\r\n let elementFound = body.find(element);\r\n if (elementFound.length > 0) {\r\n resolve(elementFound);\r\n } else {\r\n setTimeout(() => {\r\n let iframe = body.find(\"iframe\").contents();\r\n if (iframe.length === 0) {\r\n resolve(null);\r\n }\r\n elementFound = iframe.find(element);\r\n if (elementFound.length > 0) {\r\n resolve(elementFound);\r\n }\r\n resolve(null);\r\n }, preloadTimeOut ?? 300);\r\n }\r\n });\r\n}\r\n\r\n/**\r\n * Permite à comunicação de origem cruzada entre objetos do Windows.<br>\r\n * Exemplo: Comunicação entre iframe e corpo principal\r\n */\r\nexport function windowMessageEvent(): void {\r\n window.addEventListener(\"message\", function (event: MessageEvent) {\r\n if (event.data?.type === \"message\") {\r\n let data = event.data;\r\n message<any>({ ...data.params });\r\n }\r\n });\r\n}","import { getMetaContent } from \"./helper\";\r\n\r\nexport const USER: string | null = getMetaContent(\"auth\");\r\nexport const BASE: string | null = getMetaContent(\"react-base\");\r\nexport const TOKEN: string | null = getMetaContent(\"csrf-token\");\r\n\r\nexport const MES: Array<{ id: number, name: string }> = [\r\n { id: 1, name: \"Janeiro\" },\r\n { id: 2, name: \"Fevereiro\" },\r\n { id: 3, name: \"Março\" },\r\n { id: 4, name: \"Abril\" },\r\n { id: 5, name: \"Maio\" },\r\n { id: 6, name: \"Junho\" },\r\n { id: 7, name: \"Julho\" },\r\n { id: 8, name: \"Agosto\" },\r\n { id: 9, name: \"Setembro\" },\r\n { id: 10, name: \"Outubro\" },\r\n { id: 11, name: \"Novembro\" },\r\n { id: 12, name: \"Dezembro\" },\r\n];\r\n\r\nexport const ESTADOS: Array<{ id: string, name: string }> = [\r\n { name: \"Acre\", id: \"AC\" },\r\n { name: \"Alagoas\", id: \"AL\" },\r\n { name: \"Amapá\", id: \"AP\" },\r\n { name: \"Amazonas\", id: \"AM\" },\r\n { name: \"Bahia\", id: \"BA\" },\r\n { name: \"Ceará\", id: \"CE\" },\r\n { name: \"Distrito Federal\", id: \"DF\" },\r\n { name: \"Espírito Santo\", id: \"ES\" },\r\n { name: \"Goiás\", id: \"GO\" },\r\n { name: \"Maranhão\", id: \"MA\" },\r\n { name: \"Mato Grosso\", id: \"MT\" },\r\n { name: \"Mato Grosso do Sul\", id: \"MS\" },\r\n { name: \"Minas Gerais\", id: \"MG\" },\r\n { name: \"Pará\", id: \"PA\" },\r\n { name: \"Paraíba\", id: \"PB\" },\r\n { name: \"Paraná\", id: \"PR\" },\r\n { name: \"Pernambuco\", id: \"PE\" },\r\n { name: \"Piauí\", id: \"PI\" },\r\n { name: \"Rio de Janeiro\", id: \"RJ\" },\r\n { name: \"Rio Grande do Norte\", id: \"RN\" },\r\n { name: \"Rio Grande do Sul\", id: \"RS\" },\r\n { name: \"Rondônia\", id: \"RO\" },\r\n { name: \"Roraima\", id: \"RR\" },\r\n { name: \"Santa Catarina\", id: \"SC\" },\r\n { name: \"São Paulo\", id: \"SP\" },\r\n { name: \"Sergipe\", id: \"SE\" },\r\n { name: \"Tocantins\", id: \"TO\" }\r\n];","/**\r\n * Formata um valor numérico para o formato decimal ou monetário.\r\n *\r\n * @param valor - O valor a ser formatado.\r\n * @param format - O formato desejado: \"money\" para monetário ou \"decimal\" para decimal.\r\n * @param decimals - Quantidade de casa decimal\r\n * @returns O valor formatado como string.\r\n */\r\nexport function handleNumber(\r\n valor: string,\r\n format: \"money\" | \"decimal\" = \"decimal\",\r\n decimals: number = 2\r\n): string {\r\n let value = valor.replace(/[^0-9.,]/g, \"\");\r\n if (format === \"decimal\") {\r\n if (value.length > 0) {\r\n return parseFloat(value.replace(\",\", \".\").replace(/(\\..*)\\./g, \"$1\")).toFixed(decimals);\r\n }\r\n return \"\";\r\n }\r\n return parseFloat(value.replace(\",\", \".\"))\r\n .toLocaleString(\"pt-BR\", {\r\n style: \"currency\",\r\n currency: \"BRL\"\r\n }).replace(\".\", \" \");\r\n}\r\n\r\n/**\r\n * Formata um valor de string para o formato de horas (HH:MM).\r\n *\r\n * @param valor - O valor a ser formatado.\r\n * @returns O valor formatado como string no formato de horas.\r\n */\r\nexport function handleHours(valor: string): string {\r\n let value = valor.replace(/[^\\d.]/g, \"\");\r\n const parts = value.split(\".\");\r\n\r\n if (parts.length > 1) {\r\n parts[1] = parts[1].substring(0, 2);\r\n }\r\n\r\n value = parts.join(\".\");\r\n if (value.length > 2) {\r\n value = value.substring(0, value.length - 2) + \":\" + value.substring(value.length - 2);\r\n }\r\n return value;\r\n}\r\n\r\n/**\r\n * Retonar a data do dia no formato (Y-m-d) para ser utilizado\r\n * em input do tipo Date.\r\n *\r\n * @return Data\r\n */\r\nexport function handleDateNow(): string {\r\n const hoje = new Date();\r\n const ano = hoje.getFullYear();\r\n const mes = String(hoje.getMonth() + 1).padStart(2, \"0\");\r\n const dia = String(hoje.getDate()).padStart(2, \"0\");\r\n return `${ano}-${mes}-${dia}`;\r\n}","import $ from \"jquery\";\r\nimport { sendMessage } from \"./message\";\r\nimport { getElementDOM } from \"./helper\";\r\nimport { IUtilsResponseType, IUtilsResponseError } from \"./types\";\r\n\r\n/**\r\n * Realizei o gerenciamento do objeto de resposta\r\n */\r\nexport function response<Type>(\r\n response: IUtilsResponseType<Type>,\r\n form: string = \"\"\r\n): void {\r\n let data: IUtilsResponseType<Type> = response;\r\n if (!data) {\r\n return;\r\n }\r\n\r\n if (data.redirect) {\r\n window.location.href = data.redirect;\r\n }\r\n\r\n if (data.errors) {\r\n messageField(data.errors, form.length === 0 ? \"\" : form);\r\n }\r\n\r\n if (data.accept) {\r\n messageField(data.accept, form.length === 0 ? \"\" : form, \"is-valid\");\r\n }\r\n\r\n if (data.message && data?.errors === undefined) {\r\n sendMessage<\"snackbar\">({\r\n message: { ...data.message },\r\n type: \"message\",\r\n library: \"snackbar\"\r\n });\r\n }\r\n}\r\n\r\n/**\r\n * Exibe a mensagem no campo do formulário\r\n */\r\nexport function messageField(\r\n data: IUtilsResponseError,\r\n form: string = \"\",\r\n type: string = \"is-invalid\"\r\n): void {\r\n tabViewActiveError(form, data);\r\n getElementDOM(\"#\" + form)\r\n .then(formulario => {\r\n if (formulario === null) {\r\n return;\r\n }\r\n\r\n let validationFeedbackClass: string = type === \"is-invalid\" ? \"invalid-feedback\" : \"valid-feedback\";\r\n let removeValidationFeedbackClass: string = type === \"is-invalid\" ? \"is-valid\" : \"is-invalid\";\r\n\r\n $.each(data, (key: string, value) => {\r\n let text = \"\";\r\n value.forEach(value => text += value + \"<br>\");\r\n\r\n formulario.find(\"input[name='\" + key + \"']\")\r\n .addClass(type)\r\n .parent()\r\n .find(\"#j_feedback[data-name='\" + key + \"']\")\r\n .addClass(validationFeedbackClass)\r\n .removeClass(removeValidationFeedbackClass)\r\n .html(text);\r\n\r\n formulario.find(\"input[name='\" + key + \"']\")\r\n .addClass(type)\r\n .parent()\r\n .parent()\r\n .find(\"#j_feedback[data-name='\" + key + \"']\")\r\n .addClass(validationFeedbackClass)\r\n .removeClass(removeValidationFeedbackClass)\r\n .html(text);\r\n\r\n formulario.find(\"input[name='\" + key + \"']\")\r\n .addClass(type)\r\n .parent()\r\n .parent()\r\n .parent()\r\n .find(\"#j_feedback[data-name='\" + key + \"']\")\r\n .addClass(validationFeedbackClass)\r\n .removeClass(removeValidationFeedbackClass)\r\n .html(text);\r\n\r\n formulario.find(\"select[name='\" + key + \"']\")\r\n .addClass(type)\r\n .parent()\r\n .find(\"#j_feedback[data-name='\" + key + \"']\")\r\n .addClass(validationFeedbackClass)\r\n .removeClass(removeValidationFeedbackClass)\r\n .html(text);\r\n\r\n formulario.find(\"textarea[name='\" + key + \"']\")\r\n .addClass(type)\r\n .parent()\r\n .find(\"#j_feedback[data-name='\" + key + \"']\")\r\n .addClass(validationFeedbackClass)\r\n .removeClass(removeValidationFeedbackClass)\r\n .html(text);\r\n\r\n formulario.find(\"#j_feedback[data-name='\" + key + \"']\")\r\n .addClass(type)\r\n .html(text);\r\n });\r\n });\r\n}\r\n\r\n/**\r\n * Limpar as mensagens de feedback do formulário\r\n */\r\nexport function messageFieldClear(\r\n form: string = \"\"\r\n): void {\r\n getElementDOM(\"#\" + form)\r\n .then(formulario => {\r\n if (formulario === null) {\r\n return;\r\n }\r\n\r\n let validationClass: string[] = [\"is-invalid\", \"is-valid\", \"p-invalid\"];\r\n let validationFeedbackClass: string[] = [\"invalid-feedback\", \"valid-feedback\"];\r\n\r\n $.each(formulario.find(\"input\"), function () {\r\n $(this)\r\n .removeClass(validationClass)\r\n .parent()\r\n .find(\"#j_feedback\")\r\n .removeClass(validationFeedbackClass)\r\n .html(\"\");\r\n\r\n $(this)\r\n .removeClass(validationClass)\r\n .parent()\r\n .parent()\r\n .find(\"#j_feedback\")\r\n .removeClass(validationFeedbackClass)\r\n .html(\"\");\r\n\r\n $(this)\r\n .removeClass(validationClass)\r\n .parent()\r\n .parent()\r\n .parent()\r\n .find(\"#j_feedback\")\r\n .removeClass(validationFeedbackClass)\r\n .html(\"\");\r\n });\r\n\r\n $.each(formulario.find(\"select\"), function () {\r\n $(this)\r\n .removeClass(validationClass)\r\n .parent()\r\n .find(\"#j_feedback\")\r\n .removeClass(validationFeedbackClass)\r\n .html(\"\");\r\n });\r\n\r\n $.each(formulario.find(\"textarea\"), function () {\r\n $(this)\r\n .removeClass(validationClass)\r\n .parent()\r\n .find(\"#j_feedback\")\r\n .removeClass(validationFeedbackClass)\r\n .html(\"\");\r\n });\r\n\r\n $.each(formulario.find(\"#j_feedback\"), function () {\r\n $(this).removeClass(validationClass).html(\"\");\r\n });\r\n });\r\n}\r\n\r\n/**\r\n * Ativa o TabView quando o campo apresenta erro\r\n */\r\nexport function tabViewActiveError(\r\n form: string = \"\",\r\n errors: IUtilsResponseError\r\n): void {\r\n getElementDOM(\"#\" + form)\r\n .then(TabView => {\r\n if (TabView === null) {\r\n return;\r\n }\r\n\r\n let fieldError = Object.keys(errors)[0];\r\n\r\n let TabViewSelected = TabView.find(\"*[id='\" + fieldError + \"']\").closest(\".tab-pane\");\r\n let TabViewSelectedId = TabViewSelected.attr(\"id\");\r\n let TabViewNav = TabViewSelected.parent().parent().find(\".nav\");\r\n\r\n TabViewSelected.parent(\".tab-content\").children(\".tab-pane\").each(function (_, value) {\r\n if (typeof value !== \"undefined\") {\r\n if ($(value).attr(\"id\") === TabViewSelectedId) {\r\n $(value).addClass(\"show active\");\r\n TabViewNav.find(\"button[data-bs-target='#\" + TabViewSelectedId + \"']\").addClass(\"active show\");\r\n } else {\r\n $(value).removeClass(\"show active\");\r\n TabViewNav.find(\"button[data-bs-target='#\" + $(value).attr(\"id\") + \"']\").removeClass(\"active\");\r\n }\r\n }\r\n });\r\n });\r\n}","import axios from \"axios\";\r\nimport { BASE, TOKEN } from \"./const\";\r\nimport { messageFieldClear, response } from \"./response\";\r\nimport { IUtilsRequestPostOptions, IUtilsResponseType } from \"./types\";\r\n\r\n/**\r\n * Simplifica a solicitação POST HTTP usando a biblioteca axios\r\n */\r\nexport function post<TypeDataResponse = IUtilsResponseType<any>>(\r\n route: string,\r\n body: any,\r\n form?: string,\r\n options?: IUtilsRequestPostOptions\r\n): Promise<TypeDataResponse> {\r\n return new Promise((resolve, reject) => {\r\n let url = BASE + (route.startsWith(\"/\") ? \"\" : \"/\") + route;\r\n messageFieldClear(form);\r\n handleToManyRequest(options?.url ?? url, options?.blockedToManyRequest ?? false);\r\n axios<TypeDataResponse>({\r\n method: \"post\",\r\n url: options?.url ?? url,\r\n headers: { \"X-CSRF-TOKEN\": TOKEN },\r\n data: !body ? {} : body,\r\n }).then(data => {\r\n if (data?.data !== undefined) {\r\n resolve(data.data);\r\n }\r\n if (typeof options?.blockedResponse !== \"boolean\" || options?.blockedResponse === false) {\r\n response<TypeDataResponse>((data?.data as IUtilsResponseType<TypeDataResponse>), form);\r\n }\r\n }).catch(error => {\r\n response<TypeDataResponse>(error.response?.data, form);\r\n reject(error);\r\n });\r\n });\r\n}\r\n\r\n/**\r\n * Bloqueia várias solicitações simultâneas\r\n */\r\nfunction handleToManyRequest(url: string, blocked: boolean): void {\r\n let requestCount = 0;\r\n axios.interceptors.request.use(config => {\r\n requestCount = requestCount + 1;\r\n if (requestCount > 1 && axios.getUri(config) === url && blocked) {\r\n return Promise.reject(new Error(\"Requisições bloqueadas!\"));\r\n }\r\n return config;\r\n });\r\n if (!blocked) {\r\n axios.interceptors.request.clear();\r\n }\r\n\r\n axios.interceptors.response.use(response => {\r\n requestCount = requestCount - 1;\r\n return response;\r\n }, function (error) {\r\n requestCount = requestCount - 1;\r\n return Promise.reject(error);\r\n });\r\n}"],"names":["sendMessage","params","Window","window","self","top","parent","message","library","type","options","postMessage","swal","icon","title","text","config","toast","position","showConfirmButton","timer","timerProgressBar","didOpen","onmouseenter","SweetAlert","stopTimer","onmouseleave","resumeTimer","mixin","fire","Snackbar","show","undefined","pos","showAction","customClass","getMetaContent","id","element","document","getElementById","url","replace","substr","slice","length","async","getCep","value","cep","axios","get","then","data","getElementDOM","preloadTimeOut","Promise","resolve","body","$","frameElement","parents","elementFound","find","setTimeout","iframe","contents","windowMessageEvent","addEventListener","event","USER","BASE","TOKEN","MES","name","ESTADOS","handleNumber","valor","format","decimals","parseFloat","toFixed","toLocaleString","style","currency","handleHours","parts","split","substring","join","handleDateNow","hoje","Date","getFullYear","String","getMonth","padStart","getDate","response","form","redirect","location","href","errors","messageField","accept","tabViewActiveError","formulario","validationFeedbackClass","removeValidationFeedbackClass","each","key","forEach","addClass","removeClass","html","messageFieldClear","validationClass","this","TabView","fieldError","Object","keys","TabViewSelected","closest","TabViewSelectedId","attr","TabViewNav","children","_","post","route","reject","startsWith","blocked","requestCount","interceptors","request","use","getUri","Error","clear","error","handleToManyRequest","blockedToManyRequest","method","headers","blockedResponse","catch"],"mappings":"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"}
1
+ {"version":3,"file":"index.esm.js","sources":["../../src/utils/message.ts","../../src/utils/helper.ts","../../src/utils/const.ts","../../src/utils/handle.ts","../../src/utils/response.ts","../../src/utils/request.ts"],"sourcesContent":["import Snackbar from \"node-snackbar\";\r\nimport SweetAlert, { SweetAlertOptions } from \"sweetalert2\";\r\nimport { IUtilsMessage, IUtilsMessageOptions } from \"./types\";\r\n\r\n/**\r\n * Envia a mensagem para o evento da janela\r\n */\r\nexport function sendMessage<T extends keyof IUtilsMessageOptions>(params: IUtilsMessage<T>) {\r\n let Window: Window = window.self === window.top ? window : window.parent;\r\n const { message, library, type, options } = params;\r\n Window.postMessage({\r\n type: \"message\",\r\n params: {\r\n message,\r\n options,\r\n type: type ?? \"message\",\r\n library: library ?? \"snackbar\"\r\n }\r\n }, \"*\");\r\n}\r\n\r\n/**\r\n * Retorna o objeto mensagem de acordo com os parâmetros\r\n */\r\nexport function message<T extends keyof IUtilsMessageOptions>(params: IUtilsMessage<T>) {\r\n let { message, library, type, options } = params;\r\n\r\n library = library ?? \"snackbar\";\r\n switch (library) {\r\n case \"sweetAlert\":\r\n let swal: any = {\r\n icon: message.type,\r\n title: message.title,\r\n text: message.text\r\n };\r\n if (type === \"toast\") {\r\n let config: SweetAlertOptions = options as SweetAlertOptions ?? {\r\n toast: true,\r\n position: \"top-end\",\r\n showConfirmButton: false,\r\n timer: 3000,\r\n timerProgressBar: true,\r\n didOpen: (toast) => {\r\n toast.onmouseenter = SweetAlert.stopTimer;\r\n toast.onmouseleave = SweetAlert.resumeTimer;\r\n }\r\n };\r\n const Toast = SweetAlert.mixin(config);\r\n Toast.fire(swal);\r\n } else {\r\n SweetAlert.fire({ ...swal, ...options });\r\n }\r\n break;\r\n case \"snackbar\":\r\n let config: any = options;\r\n let text: string = message.message ?? message.text ?? message.title ?? \"Não foi possível carregar a mensagem.\";\r\n Snackbar.show(config === undefined ? {\r\n pos: \"top-right\",\r\n showAction: false,\r\n customClass: message.type,\r\n text: \"<p class='d-flex m-0 align-items-center'><i class='me-2 \" + message.icon + \"'></i>\" + text + \"</p>\",\r\n } : config);\r\n break;\r\n }\r\n}","import $ from \"jquery\";\r\nimport axios from \"axios\";\r\nimport { message } from \"./message\";\r\nimport { IUtilsHelperResponse } from \"./types\";\r\n\r\n/**\r\n * Realiza a pesquisa do elemento html na DOM<br>\r\n * <meta id=\"???\" name=\"???\" content=\"your-url\">\r\n */\r\nexport function getMetaContent(id: string): string | null {\r\n let element: any = document.getElementById(id);\r\n let url: null | string = element === null ? null : (element.content).replace(\".br/\", \".br\");\r\n return url === null ? null : url.substr(-1) === \"/\" ? url.slice(0, url.length - 1) : url;\r\n}\r\n\r\n/**\r\n * Realiza a pesquisa do CEP na API pública \"https://viacep.com.br/ws/\"\r\n */\r\nexport async function getCep(value: string): Promise<IUtilsHelperResponse[\"gep_cep\"]> {\r\n let cep = value.length === 0 ? \"00000000\" : value.replace(\"-\", \"\");\r\n return await axios.get<IUtilsHelperResponse[\"gep_cep\"]>(\"https://viacep.com.br/ws/\" + cep + \"/json/\")\r\n .then(data => data.data);\r\n}\r\n\r\n/**\r\n * Realiza a pesquisa do elemento na árvore DOM\r\n */\r\nexport function getElementDOM(element?: string, preloadTimeOut?: number): Promise<null | JQuery<HTMLElement>> {\r\n return new Promise((resolve) => {\r\n // @ts-ignore\r\n let body = window.self === window.top ? $(\"body\") : $(window.frameElement).parents(\"body\");\r\n if (!element || element.length === 0) {\r\n resolve(body);\r\n }\r\n\r\n if (element === \"#\" || element === \".\") {\r\n resolve(null);\r\n }\r\n\r\n let elementFound = body.find(element);\r\n if (elementFound.length > 0) {\r\n resolve(elementFound);\r\n } else {\r\n setTimeout(() => {\r\n let iframe = body.find(\"iframe\").contents();\r\n if (iframe.length === 0) {\r\n resolve(null);\r\n }\r\n elementFound = iframe.find(element);\r\n if (elementFound.length > 0) {\r\n resolve(elementFound);\r\n }\r\n resolve(null);\r\n }, preloadTimeOut ?? 300);\r\n }\r\n });\r\n}\r\n\r\n/**\r\n * Permite à comunicação de origem cruzada entre objetos do Windows.<br>\r\n * Exemplo: Comunicação entre iframe e corpo principal\r\n */\r\nexport function windowMessageEvent(): void {\r\n window.addEventListener(\"message\", function (event: MessageEvent) {\r\n if (event.data?.type === \"message\") {\r\n let data = event.data;\r\n message<any>({ ...data.params });\r\n }\r\n });\r\n}","import { getMetaContent } from \"./helper\";\r\n\r\nexport const USER: string | null = getMetaContent(\"auth\");\r\nexport const BASE: string | null = getMetaContent(\"react-base\");\r\nexport const TOKEN: string | null = getMetaContent(\"csrf-token\");\r\n\r\nexport const MES: Array<{ id: number, name: string }> = [\r\n { id: 1, name: \"Janeiro\" },\r\n { id: 2, name: \"Fevereiro\" },\r\n { id: 3, name: \"Março\" },\r\n { id: 4, name: \"Abril\" },\r\n { id: 5, name: \"Maio\" },\r\n { id: 6, name: \"Junho\" },\r\n { id: 7, name: \"Julho\" },\r\n { id: 8, name: \"Agosto\" },\r\n { id: 9, name: \"Setembro\" },\r\n { id: 10, name: \"Outubro\" },\r\n { id: 11, name: \"Novembro\" },\r\n { id: 12, name: \"Dezembro\" },\r\n];\r\n\r\nexport const ESTADOS: Array<{ id: string, name: string }> = [\r\n { name: \"Acre\", id: \"AC\" },\r\n { name: \"Alagoas\", id: \"AL\" },\r\n { name: \"Amapá\", id: \"AP\" },\r\n { name: \"Amazonas\", id: \"AM\" },\r\n { name: \"Bahia\", id: \"BA\" },\r\n { name: \"Ceará\", id: \"CE\" },\r\n { name: \"Distrito Federal\", id: \"DF\" },\r\n { name: \"Espírito Santo\", id: \"ES\" },\r\n { name: \"Goiás\", id: \"GO\" },\r\n { name: \"Maranhão\", id: \"MA\" },\r\n { name: \"Mato Grosso\", id: \"MT\" },\r\n { name: \"Mato Grosso do Sul\", id: \"MS\" },\r\n { name: \"Minas Gerais\", id: \"MG\" },\r\n { name: \"Pará\", id: \"PA\" },\r\n { name: \"Paraíba\", id: \"PB\" },\r\n { name: \"Paraná\", id: \"PR\" },\r\n { name: \"Pernambuco\", id: \"PE\" },\r\n { name: \"Piauí\", id: \"PI\" },\r\n { name: \"Rio de Janeiro\", id: \"RJ\" },\r\n { name: \"Rio Grande do Norte\", id: \"RN\" },\r\n { name: \"Rio Grande do Sul\", id: \"RS\" },\r\n { name: \"Rondônia\", id: \"RO\" },\r\n { name: \"Roraima\", id: \"RR\" },\r\n { name: \"Santa Catarina\", id: \"SC\" },\r\n { name: \"São Paulo\", id: \"SP\" },\r\n { name: \"Sergipe\", id: \"SE\" },\r\n { name: \"Tocantins\", id: \"TO\" }\r\n];","/**\r\n * Formata um valor numérico para o formato decimal ou monetário.\r\n *\r\n * @param valor - O valor a ser formatado.\r\n * @param format - O formato desejado: \"money\" para monetário ou \"decimal\" para decimal.\r\n * @param decimals - Quantidade de casa decimal\r\n * @returns O valor formatado como string.\r\n */\r\nexport function handleNumber(\r\n valor: string,\r\n format: \"money\" | \"decimal\" = \"decimal\",\r\n decimals: number = 2\r\n): string {\r\n let value = valor.replace(/[^0-9.,]/g, \"\");\r\n if (format === \"decimal\") {\r\n if (value.length > 0) {\r\n return parseFloat(value.replace(\",\", \".\").replace(/(\\..*)\\./g, \"$1\")).toFixed(decimals);\r\n }\r\n return \"\";\r\n }\r\n return parseFloat(value.replace(\",\", \".\"))\r\n .toLocaleString(\"pt-BR\", {\r\n style: \"currency\",\r\n currency: \"BRL\"\r\n }).replace(\".\", \" \");\r\n}\r\n\r\n/**\r\n * Formata um valor de string para o formato de horas (HH:MM).\r\n *\r\n * @param valor - O valor a ser formatado.\r\n * @returns O valor formatado como string no formato de horas.\r\n */\r\nexport function handleHours(valor: string): string {\r\n let value = valor.replace(/[^\\d.]/g, \"\");\r\n const parts = value.split(\".\");\r\n\r\n if (parts.length > 1) {\r\n parts[1] = parts[1].substring(0, 2);\r\n }\r\n\r\n value = parts.join(\".\");\r\n if (value.length > 2) {\r\n value = value.substring(0, value.length - 2) + \":\" + value.substring(value.length - 2);\r\n }\r\n return value;\r\n}\r\n\r\n/**\r\n * Retonar a data do dia no formato (Y-m-d) para ser utilizado\r\n * em input do tipo Date.\r\n *\r\n * @return Data\r\n */\r\nexport function handleDateNow(): string {\r\n const hoje = new Date();\r\n const ano = hoje.getFullYear();\r\n const mes = String(hoje.getMonth() + 1).padStart(2, \"0\");\r\n const dia = String(hoje.getDate()).padStart(2, \"0\");\r\n return `${ano}-${mes}-${dia}`;\r\n}","import $ from \"jquery\";\r\nimport { sendMessage } from \"./message\";\r\nimport { getElementDOM } from \"./helper\";\r\nimport { IUtilsResponseType, IUtilsResponseError } from \"./types\";\r\n\r\n/**\r\n * Realizei o gerenciamento do objeto de resposta\r\n */\r\nexport function response<Type>(\r\n response: IUtilsResponseType<Type>,\r\n form: string = \"\"\r\n): void {\r\n let data: IUtilsResponseType<Type> = response;\r\n if (!data) {\r\n return;\r\n }\r\n\r\n if (data.redirect) {\r\n window.location.href = data.redirect;\r\n }\r\n\r\n if (data.errors) {\r\n messageField(data.errors, form.length === 0 ? \"\" : form);\r\n }\r\n\r\n if (data.accept) {\r\n messageField(data.accept, form.length === 0 ? \"\" : form, \"is-valid\");\r\n }\r\n\r\n if (data.message && data?.errors === undefined) {\r\n sendMessage<\"snackbar\">({\r\n message: { ...data.message },\r\n type: \"message\",\r\n library: \"snackbar\"\r\n });\r\n }\r\n}\r\n\r\n/**\r\n * Exibe a mensagem no campo do formulário\r\n */\r\nexport function messageField(\r\n data: IUtilsResponseError,\r\n form: string = \"\",\r\n type: string = \"is-invalid\"\r\n): void {\r\n tabViewActiveError(form, data);\r\n getElementDOM(\"#\" + form)\r\n .then(formulario => {\r\n if (formulario === null) {\r\n return;\r\n }\r\n\r\n let validationFeedbackClass: string = type === \"is-invalid\" ? \"invalid-feedback\" : \"valid-feedback\";\r\n let removeValidationFeedbackClass: string = type === \"is-invalid\" ? \"is-valid\" : \"is-invalid\";\r\n\r\n $.each(data, (key: string, value) => {\r\n let text = \"\";\r\n value.forEach(value => text += value + \"<br>\");\r\n\r\n formulario.find(\"input[name='\" + key + \"']\")\r\n .addClass(type)\r\n .parent()\r\n .find(\"#j_feedback[data-name='\" + key + \"']\")\r\n .addClass(validationFeedbackClass)\r\n .removeClass(removeValidationFeedbackClass)\r\n .html(text);\r\n\r\n formulario.find(\"input[name='\" + key + \"']\")\r\n .addClass(type)\r\n .parent()\r\n .parent()\r\n .find(\"#j_feedback[data-name='\" + key + \"']\")\r\n .addClass(validationFeedbackClass)\r\n .removeClass(removeValidationFeedbackClass)\r\n .html(text);\r\n\r\n formulario.find(\"input[name='\" + key + \"']\")\r\n .addClass(type)\r\n .parent()\r\n .parent()\r\n .parent()\r\n .find(\"#j_feedback[data-name='\" + key + \"']\")\r\n .addClass(validationFeedbackClass)\r\n .removeClass(removeValidationFeedbackClass)\r\n .html(text);\r\n\r\n formulario.find(\"select[name='\" + key + \"']\")\r\n .addClass(type)\r\n .parent()\r\n .find(\"#j_feedback[data-name='\" + key + \"']\")\r\n .addClass(validationFeedbackClass)\r\n .removeClass(removeValidationFeedbackClass)\r\n .html(text);\r\n\r\n formulario.find(\"textarea[name='\" + key + \"']\")\r\n .addClass(type)\r\n .parent()\r\n .find(\"#j_feedback[data-name='\" + key + \"']\")\r\n .addClass(validationFeedbackClass)\r\n .removeClass(removeValidationFeedbackClass)\r\n .html(text);\r\n\r\n formulario.find(\"#j_feedback[data-name='\" + key + \"']\")\r\n .addClass(type)\r\n .html(text);\r\n });\r\n });\r\n}\r\n\r\n/**\r\n * Limpar as mensagens de feedback do formulário\r\n */\r\nexport function messageFieldClear(\r\n form: string = \"\"\r\n): void {\r\n getElementDOM(\"#\" + form)\r\n .then(formulario => {\r\n if (formulario === null) {\r\n return;\r\n }\r\n\r\n let validationClass: string[] = [\"is-invalid\", \"is-valid\", \"p-invalid\"];\r\n let validationFeedbackClass: string[] = [\"invalid-feedback\", \"valid-feedback\"];\r\n\r\n $.each(formulario.find(\"input\"), function () {\r\n $(this)\r\n .removeClass(validationClass)\r\n .parent()\r\n .find(\"#j_feedback\")\r\n .removeClass(validationFeedbackClass)\r\n .html(\"\");\r\n\r\n $(this)\r\n .removeClass(validationClass)\r\n .parent()\r\n .parent()\r\n .find(\"#j_feedback\")\r\n .removeClass(validationFeedbackClass)\r\n .html(\"\");\r\n\r\n $(this)\r\n .removeClass(validationClass)\r\n .parent()\r\n .parent()\r\n .parent()\r\n .find(\"#j_feedback\")\r\n .removeClass(validationFeedbackClass)\r\n .html(\"\");\r\n });\r\n\r\n $.each(formulario.find(\"select\"), function () {\r\n $(this)\r\n .removeClass(validationClass)\r\n .parent()\r\n .find(\"#j_feedback\")\r\n .removeClass(validationFeedbackClass)\r\n .html(\"\");\r\n });\r\n\r\n $.each(formulario.find(\"textarea\"), function () {\r\n $(this)\r\n .removeClass(validationClass)\r\n .parent()\r\n .find(\"#j_feedback\")\r\n .removeClass(validationFeedbackClass)\r\n .html(\"\");\r\n });\r\n\r\n $.each(formulario.find(\"#j_feedback\"), function () {\r\n $(this).removeClass(validationClass).html(\"\");\r\n });\r\n });\r\n}\r\n\r\n/**\r\n * Ativa o TabView quando o campo apresenta erro\r\n */\r\nexport function tabViewActiveError(\r\n form: string = \"\",\r\n errors: IUtilsResponseError\r\n): void {\r\n getElementDOM(\"#\" + form)\r\n .then(TabView => {\r\n if (TabView === null) {\r\n return;\r\n }\r\n\r\n let fieldError = Object.keys(errors)[0];\r\n\r\n let TabViewSelected = TabView.find(\"*[id='\" + fieldError + \"']\").closest(\".tab-pane\");\r\n let TabViewSelectedId = TabViewSelected.attr(\"id\");\r\n let TabViewNav = TabViewSelected.parent().parent().find(\".nav\");\r\n\r\n TabViewSelected.parent(\".tab-content\").children(\".tab-pane\").each(function (_, value) {\r\n if (typeof value !== \"undefined\") {\r\n if ($(value).attr(\"id\") === TabViewSelectedId) {\r\n $(value).addClass(\"show active\");\r\n TabViewNav.find(\"button[data-bs-target='#\" + TabViewSelectedId + \"']\").addClass(\"active show\");\r\n } else {\r\n $(value).removeClass(\"show active\");\r\n TabViewNav.find(\"button[data-bs-target='#\" + $(value).attr(\"id\") + \"']\").removeClass(\"active\");\r\n }\r\n }\r\n });\r\n });\r\n}","import axios from \"axios\";\r\nimport { BASE, TOKEN } from \"./const\";\r\nimport { messageFieldClear, response } from \"./response\";\r\nimport { IUtilsRequestPostOptions, IUtilsResponseType } from \"./types\";\r\n\r\n/**\r\n * Simplifica a solicitação POST HTTP usando a biblioteca axios\r\n */\r\nexport function post<TypeDataResponse = IUtilsResponseType<any>>(\r\n route: string,\r\n body: any,\r\n form?: string,\r\n options?: IUtilsRequestPostOptions\r\n): Promise<TypeDataResponse> {\r\n return new Promise((resolve, reject) => {\r\n let url = BASE + (route.startsWith(\"/\") ? \"\" : \"/\") + route;\r\n messageFieldClear(form);\r\n handleToManyRequest(options?.url ?? url, options?.blockedToManyRequest ?? false);\r\n axios<TypeDataResponse>({\r\n method: \"post\",\r\n url: options?.url ?? url,\r\n headers: { \"X-CSRF-TOKEN\": TOKEN },\r\n data: !body ? {} : body,\r\n }).then(data => {\r\n if (data?.data !== undefined) {\r\n resolve(data.data);\r\n }\r\n if (typeof options?.blockedResponse !== \"boolean\" || options?.blockedResponse === false) {\r\n response<TypeDataResponse>((data?.data as IUtilsResponseType<TypeDataResponse>), form);\r\n }\r\n }).catch(error => {\r\n response<TypeDataResponse>(error.response?.data, form);\r\n reject(error);\r\n });\r\n });\r\n}\r\n\r\n/**\r\n * Bloqueia várias solicitações simultâneas\r\n */\r\nfunction handleToManyRequest(url: string, blocked: boolean): void {\r\n let requestCount = 0;\r\n axios.interceptors.request.use(config => {\r\n requestCount = requestCount + 1;\r\n if (requestCount > 1 && axios.getUri(config) === url && blocked) {\r\n return Promise.reject(new Error(\"Requisições bloqueadas!\"));\r\n }\r\n return config;\r\n });\r\n if (!blocked) {\r\n axios.interceptors.request.clear();\r\n }\r\n\r\n axios.interceptors.response.use(response => {\r\n requestCount = requestCount - 1;\r\n return response;\r\n }, function (error) {\r\n requestCount = requestCount - 1;\r\n return Promise.reject(error);\r\n });\r\n}"],"names":["sendMessage","params","Window","window","self","top","parent","message","library","type","options","postMessage","swal","icon","title","text","config","toast","position","showConfirmButton","timer","timerProgressBar","didOpen","onmouseenter","SweetAlert","stopTimer","onmouseleave","resumeTimer","mixin","fire","Snackbar","show","undefined","pos","showAction","customClass","getMetaContent","id","element","document","getElementById","url","replace","substr","slice","length","async","getCep","value","cep","axios","get","then","data","getElementDOM","preloadTimeOut","Promise","resolve","body","$","frameElement","parents","elementFound","find","setTimeout","iframe","contents","windowMessageEvent","addEventListener","event","USER","BASE","TOKEN","MES","name","ESTADOS","handleNumber","valor","format","decimals","parseFloat","toFixed","toLocaleString","style","currency","handleHours","parts","split","substring","join","handleDateNow","hoje","Date","getFullYear","String","getMonth","padStart","getDate","response","form","redirect","location","href","errors","messageField","accept","tabViewActiveError","formulario","validationFeedbackClass","removeValidationFeedbackClass","each","key","forEach","addClass","removeClass","html","messageFieldClear","validationClass","this","TabView","fieldError","Object","keys","TabViewSelected","closest","TabViewSelectedId","attr","TabViewNav","children","_","post","route","reject","startsWith","blocked","requestCount","interceptors","request","use","getUri","Error","clear","error","handleToManyRequest","blockedToManyRequest","method","headers","blockedResponse","catch"],"mappings":"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"}