@orangesix/react 1.0.9 → 1.0.11
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.
- package/api/index.cjs.js +1 -1
- package/api/index.cjs.js.map +1 -1
- package/api/index.d.ts +140 -2
- package/api/index.esm.js +1 -1
- package/api/index.esm.js.map +1 -1
- package/api/theme.css +1 -378
- package/box/index.cjs.js +1 -1
- package/box/index.cjs.js.map +1 -1
- package/box/index.d.ts +6 -3
- package/box/index.esm.js +1 -1
- package/box/index.esm.js.map +1 -1
- package/editor/index.cjs.js +1 -19
- package/editor/index.cjs.js.map +1 -1
- package/editor/index.d.ts +10 -15
- package/editor/index.esm.js +1 -19
- package/editor/index.esm.js.map +1 -1
- package/inputfilter/_inputfilter.scss +64 -0
- package/inputfilter/index.cjs.js +2 -0
- package/inputfilter/index.cjs.js.map +1 -0
- package/inputfilter/index.d.ts +161 -0
- package/inputfilter/index.esm.js +2 -0
- package/inputfilter/index.esm.js.map +1 -0
- package/inputfilter/package.json +5 -0
- package/package.json +14 -13
- package/table/_table.scss +5 -0
- package/table/index.cjs.js +1 -1
- package/table/index.cjs.js.map +1 -1
- package/table/index.d.ts +56 -52
- package/table/index.esm.js +1 -1
- package/table/index.esm.js.map +1 -1
- package/tablepivot/_tablepivot.scss +101 -0
- package/tablepivot/index.cjs.js +2 -0
- package/tablepivot/index.cjs.js.map +1 -0
- package/tablepivot/index.d.ts +256 -0
- package/tablepivot/index.esm.js +2 -0
- package/tablepivot/index.esm.js.map +1 -0
- package/tablepivot/package.json +5 -0
- package/utils/index.cjs.js +1 -1
- package/utils/index.cjs.js.map +1 -1
- package/utils/index.d.ts +25 -1
- package/utils/index.esm.js +1 -1
- package/utils/index.esm.js.map +1 -1
package/utils/index.esm.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import e from"jquery";import
|
|
1
|
+
import e from"jquery";import a from"axios";import n from"node-snackbar";import t from"sweetalert2";function i(e){let a=window.self===window.top?window:window.parent;const{message:n,library:t,type:i,options:s}=e;a.postMessage({type:"message",params:{message:n,options:s,type:i??"message",library:t??"snackbar"}},"*")}function s(e){let{message:a,library:i,type:s,options:r}=e;switch(i=i??"snackbar",i){case"sweetAlert":let e={icon:a.type,title:a.title,text:a.text};if("toast"===s){let a=r??{toast:!0,position:"top-end",showConfirmButton:!1,timer:3e3,timerProgressBar:!0,didOpen:e=>{e.onmouseenter=t.stopTimer,e.onmouseleave=t.resumeTimer}};t.mixin(a).fire(e)}else t.fire({...e,...r});break;case"snackbar":let i=r,o=a.message??a.text??a.title??"Não foi possível carregar a mensagem.";n.show(void 0===i?{pos:"top-right",showAction:!1,customClass:a.type,text:"<p class='d-flex m-0 align-items-center'><i class='me-2 "+a.icon+"'></i>"+o+"</p>"}:i)}}function r(e){let a=document.getElementById(e),n=null===a?null:a.content.replace(".br/",".br");return null===n?null:"/"===n.substr(-1)?n.slice(0,n.length-1):n}async function o(e){let n=0===e.length?"00000000":e.replace("-","");return await a.get("https://viacep.com.br/ws/"+n+"/json/").then((e=>e.data))}function d(a,n){return new Promise((t=>{let i=window.self===window.top?e("body"):e(window.frameElement).parents("body");a&&0!==a.length||t(i),"#"!==a&&"."!==a||t(null);let s=i.find(a);s.length>0?t(s):setTimeout((()=>{let e=i.find("iframe").contents();0===e.length&&t(null),s=e.find(a),s.length>0&&t(s),t(null)}),n??300)}))}function l(){window.addEventListener("message",(function(e){if("message"===e.data?.type){s({...e.data.params})}}))}const m=r("auth"),c=r("react-base"),f=r("csrf-token"),p=[{id:1,name:"Janeiro"},{id:2,name:"Fevereiro"},{id:3,name:"Março"},{id:4,name:"Abril"},{id:5,name:"Maio"},{id:6,name:"Junho"},{id:7,name:"Julho"},{id:8,name:"Agosto"},{id:9,name:"Setembro"},{id:10,name:"Outubro"},{id:11,name:"Novembro"},{id:12,name:"Dezembro"}],u=[{name:"Acre",id:"AC"},{name:"Alagoas",id:"AL"},{name:"Amapá",id:"AP"},{name:"Amazonas",id:"AM"},{name:"Bahia",id:"BA"},{name:"Ceará",id:"CE"},{name:"Distrito Federal",id:"DF"},{name:"Espírito Santo",id:"ES"},{name:"Goiás",id:"GO"},{name:"Maranhão",id:"MA"},{name:"Mato Grosso",id:"MT"},{name:"Mato Grosso do Sul",id:"MS"},{name:"Minas Gerais",id:"MG"},{name:"Pará",id:"PA"},{name:"Paraíba",id:"PB"},{name:"Paraná",id:"PR"},{name:"Pernambuco",id:"PE"},{name:"Piauí",id:"PI"},{name:"Rio de Janeiro",id:"RJ"},{name:"Rio Grande do Norte",id:"RN"},{name:"Rio Grande do Sul",id:"RS"},{name:"Rondônia",id:"RO"},{name:"Roraima",id:"RR"},{name:"Santa Catarina",id:"SC"},{name:"São Paulo",id:"SP"},{name:"Sergipe",id:"SE"},{name:"Tocantins",id:"TO"}];function h(e,a="decimal"){let n=e.replace(/[^0-9.,]/g,"");return"decimal"===a?n.replace(",",".").replace(/(\..*)\./g,"$1"):parseFloat(n.replace(",",".")).toLocaleString("pt-BR",{style:"currency",currency:"BRL"}).replace("."," ")}function b(e){let a=e.replace(/[^\d.]/g,"");const n=a.split(".");return n.length>1&&(n[1]=n[1].substring(0,2)),a=n.join("."),a.length>2&&(a=a.substring(0,a.length-2)+":"+a.substring(a.length-2)),a}function v(e,a=""){let n=e;n&&(n.redirect&&(window.location.href=n.redirect),n.errors&&g(n.errors,0===a.length?"":a),n.accept&&g(n.accept,0===a.length?"":a,"is-valid"),n.message&&void 0===n?.errors&&i({message:{...n.message},type:"message",library:"snackbar"}))}function g(a,n="",t="is-invalid"){w(n,a),d("#"+n).then((n=>{if(null===n)return;let i="is-invalid"===t?"invalid-feedback":"valid-feedback",s="is-invalid"===t?"is-valid":"is-invalid";e.each(a,((e,a)=>{let r="";a.forEach((e=>r+=e+"<br>")),n.find("input[name='"+e+"']").addClass(t).parent().find("#j_feedback[data-name='"+e+"']").addClass(i).removeClass(s).html(r),n.find("input[name='"+e+"']").addClass(t).parent().parent().find("#j_feedback[data-name='"+e+"']").addClass(i).removeClass(s).html(r),n.find("input[name='"+e+"']").addClass(t).parent().parent().parent().find("#j_feedback[data-name='"+e+"']").addClass(i).removeClass(s).html(r),n.find("select[name='"+e+"']").addClass(t).parent().find("#j_feedback[data-name='"+e+"']").addClass(i).removeClass(s).html(r),n.find("textarea[name='"+e+"']").addClass(t).parent().find("#j_feedback[data-name='"+e+"']").addClass(i).removeClass(s).html(r),n.find("#j_feedback[data-name='"+e+"']").addClass(t).html(r)}))}))}function C(a=""){d("#"+a).then((a=>{if(null===a)return;let n=["is-invalid","is-valid","p-invalid"],t=["invalid-feedback","valid-feedback"];e.each(a.find("input"),(function(){e(this).removeClass(n).parent().find("#j_feedback").removeClass(t).html(""),e(this).removeClass(n).parent().parent().find("#j_feedback").removeClass(t).html(""),e(this).removeClass(n).parent().parent().parent().find("#j_feedback").removeClass(t).html("")})),e.each(a.find("select"),(function(){e(this).removeClass(n).parent().find("#j_feedback").removeClass(t).html("")})),e.each(a.find("textarea"),(function(){e(this).removeClass(n).parent().find("#j_feedback").removeClass(t).html("")})),e.each(a.find("#j_feedback"),(function(){e(this).removeClass(n).html("")}))}))}function w(a="",n){d("#"+a).then((a=>{if(null===a)return;let t=Object.keys(n)[0],i=a.find("*[id='"+t+"']").closest(".tab-pane"),s=i.attr("id"),r=i.parent().parent().find(".nav");i.parent(".tab-content").children(".tab-pane").each((function(a,n){void 0!==n&&(e(n).attr("id")===s?(e(n).addClass("show active"),r.find("button[data-bs-target='#"+s+"']").addClass("active show")):(e(n).removeClass("show active"),r.find("button[data-bs-target='#"+e(n).attr("id")+"']").removeClass("active")))}))}))}function k(e,n,t,i){return new Promise(((s,r)=>{let o=c+(e.startsWith("/")?"":"/")+e;C(t),function(e,n){let t=0;a.interceptors.request.use((i=>(t+=1,t>1&&a.getUri(i)===e&&n?Promise.reject(new Error("Requisições bloqueadas!")):i))),n||a.interceptors.request.clear();a.interceptors.response.use((e=>(t-=1,e)),(function(e){return t-=1,Promise.reject(e)}))}(i?.url??o,i?.blockedToManyRequest??!1),a({method:"post",url:i?.url??o,headers:{"X-CSRF-TOKEN":f},data:n||{}}).then((e=>{void 0!==e?.data&&s(e.data),"boolean"==typeof i?.blockedResponse&&!1!==i?.blockedResponse||v(e?.data,t)})).catch((e=>{v(e.response?.data,t),r(e)}))}))}export{c as BASE,u as ESTADOS,p as MES,f as TOKEN,m as USER,o as getCep,d as getElementDOM,r as getMetaContent,b as handleHours,h as handleNumber,s as message,g as messageField,C as messageFieldClear,k as post,v as response,i as sendMessage,w as tabViewActiveError,l as windowMessageEvent};
|
|
2
2
|
//# sourceMappingURL=index.esm.js.map
|
package/utils/index.esm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.esm.js","sources":["../../src/utils/message.ts","../../src/utils/helper.ts","../../src/utils/const.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","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","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 * @returns O valor formatado como string.\r\n */\r\nexport function handleNumber(\r\n valor: string,\r\n format: \"money\" | \"decimal\" = \"decimal\"\r\n): string {\r\n let value = valor.replace(/[^0-9.,]/g, \"\");\r\n if (format === \"decimal\") {\r\n return value.replace(\",\", \".\").replace(/(\\..*)\\./g, \"$1\");\r\n }\r\n return parseFloat(value.replace(\",\", \".\")).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}","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","parseFloat","toLocaleString","style","currency","handleHours","parts","split","substring","join","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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"}
|