@orangesix/react 1.0.10 → 1.1.0

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 (134) hide show
  1. package/api/index.d.ts +2 -2
  2. package/autocomplete/index.cjs.js +2 -0
  3. package/autocomplete/index.cjs.js.map +1 -0
  4. package/autocomplete/index.d.ts +149 -0
  5. package/autocomplete/index.esm.js +2 -0
  6. package/autocomplete/index.esm.js.map +1 -0
  7. package/autocomplete/package.json +5 -0
  8. package/box/_box.scss +0 -27
  9. package/box/index.cjs.js.map +1 -1
  10. package/box/index.d.ts +2 -2
  11. package/box/index.esm.js.map +1 -1
  12. package/editor/_editor.scss +12 -21
  13. package/editor/index.cjs.js.map +1 -1
  14. package/editor/index.esm.js.map +1 -1
  15. package/inputfilter/_inputfilter.scss +2 -7
  16. package/inputfilter/index.cjs.js.map +1 -1
  17. package/inputfilter/index.d.ts +1 -1
  18. package/inputfilter/index.esm.js.map +1 -1
  19. package/package.json +16 -23
  20. package/style/index.cjs.js +2 -0
  21. package/style/index.cjs.js.map +1 -0
  22. package/style/index.d.ts +2 -0
  23. package/style/index.esm.js +2 -0
  24. package/style/index.esm.js.map +1 -0
  25. package/style/index.ts +0 -0
  26. package/style/scss/_variables.scss +925 -0
  27. package/style/scss/bootstrap.scss +31 -0
  28. package/style/scss/components/_root.scss +110 -0
  29. package/style/scss/components/button/_button.scss +644 -0
  30. package/style/scss/components/button/_speeddial.scss +91 -0
  31. package/style/scss/components/button/_splitbutton.scss +359 -0
  32. package/style/scss/components/data/_carousel.scss +39 -0
  33. package/style/scss/components/data/_datascroller.scss +47 -0
  34. package/style/scss/components/data/_datatable.scss +414 -0
  35. package/style/scss/components/data/_dataview.scss +47 -0
  36. package/style/scss/components/data/_filter.scss +138 -0
  37. package/style/scss/components/data/_orderlist.scss +86 -0
  38. package/style/scss/components/data/_organizationchart.scss +50 -0
  39. package/style/scss/components/data/_paginator.scss +91 -0
  40. package/style/scss/components/data/_picklist.scss +74 -0
  41. package/style/scss/components/data/_timeline.scss +38 -0
  42. package/style/scss/components/data/_tree.scss +184 -0
  43. package/style/scss/components/data/_treetable.scss +431 -0
  44. package/style/scss/components/file/_fileupload.scss +41 -0
  45. package/style/scss/components/input/_autocomplete.scss +106 -0
  46. package/style/scss/components/input/_calendar.scss +251 -0
  47. package/style/scss/components/input/_cascadeselect.scss +107 -0
  48. package/style/scss/components/input/_checkbox.scss +181 -0
  49. package/style/scss/components/input/_chips.scss +102 -0
  50. package/style/scss/components/input/_colorpicker.scss +18 -0
  51. package/style/scss/components/input/_dropdown.scss +255 -0
  52. package/style/scss/components/input/_editor.scss +122 -0
  53. package/style/scss/components/input/_iconfield.scss +10 -0
  54. package/style/scss/components/input/_inputgroup.scss +74 -0
  55. package/style/scss/components/input/_inputicon.scss +15 -0
  56. package/style/scss/components/input/_inputnumber.scss +5 -0
  57. package/style/scss/components/input/_inputotp.scss +10 -0
  58. package/style/scss/components/input/_inputswitch.scss +100 -0
  59. package/style/scss/components/input/_inputtext.scss +101 -0
  60. package/style/scss/components/input/_listbox.scss +139 -0
  61. package/style/scss/components/input/_mention.scss +31 -0
  62. package/style/scss/components/input/_multiselect.scss +278 -0
  63. package/style/scss/components/input/_password.scss +33 -0
  64. package/style/scss/components/input/_radiobutton.scss +170 -0
  65. package/style/scss/components/input/_rating.scss +81 -0
  66. package/style/scss/components/input/_selectbutton.scss +50 -0
  67. package/style/scss/components/input/_slider.scss +49 -0
  68. package/style/scss/components/input/_togglebutton.scss +99 -0
  69. package/style/scss/components/input/_treeselect.scss +151 -0
  70. package/style/scss/components/input/_tristatecheckbox.scss +46 -0
  71. package/style/scss/components/menu/_breadcrumb.scss +42 -0
  72. package/style/scss/components/menu/_contextmenu.scss +39 -0
  73. package/style/scss/components/menu/_dock.scss +109 -0
  74. package/style/scss/components/menu/_megamenu.scss +141 -0
  75. package/style/scss/components/menu/_menu.scss +33 -0
  76. package/style/scss/components/menu/_menubar.scss +216 -0
  77. package/style/scss/components/menu/_panelmenu.scss +153 -0
  78. package/style/scss/components/menu/_slidemenu.scss +60 -0
  79. package/style/scss/components/menu/_steps.scss +57 -0
  80. package/style/scss/components/menu/_tabmenu.scss +50 -0
  81. package/style/scss/components/menu/_tieredmenu.scss +43 -0
  82. package/style/scss/components/messages/_inlinemessage.scss +69 -0
  83. package/style/scss/components/messages/_message.scss +107 -0
  84. package/style/scss/components/messages/_toast.scss +100 -0
  85. package/style/scss/components/misc/_avatar.scss +34 -0
  86. package/style/scss/components/misc/_badge.scss +77 -0
  87. package/style/scss/components/misc/_blockui.scss +0 -0
  88. package/style/scss/components/misc/_chip.scss +39 -0
  89. package/style/scss/components/misc/_inplace.scss +17 -0
  90. package/style/scss/components/misc/_metergroup.scss +81 -0
  91. package/style/scss/components/misc/_progressbar.scss +17 -0
  92. package/style/scss/components/misc/_scrolltop.scss +25 -0
  93. package/style/scss/components/misc/_skeleton.scss +8 -0
  94. package/style/scss/components/misc/_tag.scss +40 -0
  95. package/style/scss/components/misc/_terminal.scss +12 -0
  96. package/style/scss/components/multimedia/_galleria.scss +153 -0
  97. package/style/scss/components/multimedia/_image.scss +54 -0
  98. package/style/scss/components/overlay/_confirmpopup.scss +72 -0
  99. package/style/scss/components/overlay/_dialog.scss +78 -0
  100. package/style/scss/components/overlay/_overlaypanel.scss +64 -0
  101. package/style/scss/components/overlay/_sidebar.scss +23 -0
  102. package/style/scss/components/overlay/_tooltip.scss +33 -0
  103. package/style/scss/components/panel/_accordion.scss +118 -0
  104. package/style/scss/components/panel/_card.scss +30 -0
  105. package/style/scss/components/panel/_divider.scss +31 -0
  106. package/style/scss/components/panel/_fieldset.scss +47 -0
  107. package/style/scss/components/panel/_panel.scss +47 -0
  108. package/style/scss/components/panel/_scrollpanel.scss +10 -0
  109. package/style/scss/components/panel/_splitter.scss +23 -0
  110. package/style/scss/components/panel/_stepper.scss +136 -0
  111. package/style/scss/components/panel/_tabview.scss +148 -0
  112. package/style/scss/components/panel/_toolbar.scss +11 -0
  113. package/style/scss/core/_colors.scss +18 -0
  114. package/style/scss/core/_extensions.scss +27 -0
  115. package/style/scss/core/_mixins.scss +243 -0
  116. package/style/scss/core/_reset.scss +75 -0
  117. package/table/index.cjs.js +1 -1
  118. package/table/index.cjs.js.map +1 -1
  119. package/table/index.d.ts +3 -8
  120. package/table/index.esm.js +1 -1
  121. package/table/index.esm.js.map +1 -1
  122. package/tablepivot/_tablepivot.scss +15 -31
  123. package/tablepivot/index.cjs.js.map +1 -1
  124. package/tablepivot/index.esm.js.map +1 -1
  125. package/tabview/index.cjs.js +2 -0
  126. package/tabview/index.cjs.js.map +1 -0
  127. package/tabview/index.d.ts +137 -0
  128. package/tabview/index.esm.js +2 -0
  129. package/tabview/index.esm.js.map +1 -0
  130. package/tabview/package.json +5 -0
  131. package/utils/index.cjs.js.map +1 -1
  132. package/utils/index.esm.js.map +1 -1
  133. package/api/theme.css +0 -1
  134. package/table/_table.scss +0 -136
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":["../../src/box/box.tsx","../../src/editor/core/text.tsx","../../src/editor/core/link.tsx","../../src/editor/core/bold.tsx","../../src/editor/core/code.tsx","../../src/editor/core/color.tsx","../../src/editor/core/image.tsx","../../src/editor/core/italic.tsx","../../src/editor/core/strike.tsx","../../src/editor/core/orderlist.tsx","../../src/editor/core/underline.tsx","../../src/editor/core/highlight.tsx","../../src/editor/core/bulletlist.tsx","../../src/editor/core/index.tsx","../../src/api/input.tsx","../../src/editor/const.ts","../../src/editor/editor.tsx"],"sourcesContent":["import { BoxProps } from \"./types\";\r\nimport React, { HTMLAttributes } from \"react\";\r\nimport { classNames } from \"primereact/utils\";\r\n\r\n/**\r\n * Componente - `Box`\r\n *\r\n * Um componente versátil que pode ser utilizado para criar seções ou caixas em uma página.\r\n * Permite personalizar o estilo e o conteúdo através de propriedades.\r\n *\r\n * Exemplo de uso:\r\n * ```tsx\r\n * <Box align=\"align-items-center\"\r\n * justify=\"justify-content-end\"\r\n * size=\"25\">\r\n * ...conteúdo HTML\r\n * </Box>\r\n * ```\r\n */\r\nexport const Box = ({ children, ...props }: BoxProps) => {\r\n const css = {\r\n size: `box-size-${(props.size ?? \"100\")}`,\r\n direction: `box-direction-${props.direction ?? \"row\"}`,\r\n justify: props.justify === undefined ? \"\" : Array.isArray(props.justify) ? props.justify?.join(\" \") : props.justify,\r\n align: props.align === undefined ? \"\" : Array.isArray(props.align) ? props.align?.join(\" \") : props.align\r\n };\r\n\r\n const attr: HTMLAttributes<\"div\"> & Omit<BoxProps, \"children\"> = {\r\n className: classNames([\r\n \"box\",\r\n props.className ?? \"\",\r\n css.size,\r\n css.direction,\r\n css.justify,\r\n css.align\r\n ]),\r\n style: props.css,\r\n id: props.id\r\n };\r\n\r\n return (\r\n <div {...attr as any}>{children}</div>\r\n );\r\n};","import React from \"react\";\r\nimport { EditorCoreProps } from \"../types\";\r\n\r\n/**\r\n * Core - `Text`\r\n * Extensão para formatar o texto com tamanho específico\r\n */\r\nexport const Text = ({ editor, active }: EditorCoreProps & { active: boolean }) => {\r\n\r\n return active && (\r\n <>\r\n <a className={\"editor-menu-item\" + (editor.isActive(\"heading\", { level: 1 }) ? \" active\" : \"\")}\r\n href=\"#\"\r\n style={{ fontSize: \".975em\" }}\r\n onClick={event => {\r\n event.preventDefault();\r\n editor.chain().focus().toggleHeading({ level: 1 }).run();\r\n }}><i className=\"bi bi-type-h1\"/></a>\r\n <a className={\"editor-menu-item\" + (editor.isActive(\"heading\", { level: 2 }) ? \" active\" : \"\")}\r\n href=\"#\"\r\n style={{ fontSize: \".975em\" }}\r\n onClick={event => {\r\n event.preventDefault();\r\n editor.chain().focus().toggleHeading({ level: 2 }).run();\r\n }}><i className=\"bi bi-type-h2\"/></a>\r\n <a className={\"editor-menu-item\" + (editor.isActive(\"heading\", { level: 3 }) ? \" active\" : \"\")}\r\n href=\"#\"\r\n style={{ fontSize: \".975em\" }}\r\n onClick={event => {\r\n event.preventDefault();\r\n editor.chain().focus().toggleHeading({ level: 3 }).run();\r\n }}><i className=\"bi bi-type-h3\"/></a>\r\n </>\r\n );\r\n};","import { EditorCoreProps } from \"../types\";\r\nimport React, { useEffect, useState } from \"react\";\r\n\r\n/**\r\n * Core - `Link`\r\n * Extensão para formatar adicionar link no documento\r\n */\r\nexport const Link = ({ editor, active }: EditorCoreProps & { active: boolean }) => {\r\n const [open, setOpen] = useState<boolean>(false);\r\n const [link, setLink] = useState<string>(\"\");\r\n\r\n useEffect(() => {\r\n setLink(\"\");\r\n }, [open]);\r\n\r\n function handleLink() {\r\n if (link === \"\") {\r\n editor.chain().focus().extendMarkRange(\"link\").unsetLink().run();\r\n } else {\r\n editor.chain().focus().extendMarkRange(\"link\").setLink({ href: link }).run();\r\n }\r\n setOpen(false);\r\n }\r\n\r\n return active && (\r\n <>\r\n <a className={\"editor-menu-item\" + (editor.isActive(\"link\") ? \" active\" : \"\")}\r\n href=\"#\"\r\n onClick={event => {\r\n event.preventDefault();\r\n if (!editor.isActive(\"link\")) {\r\n setOpen(!open);\r\n } else {\r\n editor.chain().focus().unsetLink().run();\r\n }\r\n }}><i className=\"bi bi-link\"/></a>\r\n {open && <div className=\"editor-link\">\r\n <input className=\"form-control form-control-sm\"\r\n placeholder=\"https://example.com.br\"\r\n style={{ fontSize: \".8em\", flex: 1 }}\r\n type=\"text\"\r\n value={link}\r\n onChange={event => setLink(event.target.value)}/>\r\n <a className=\"text-primary ms-2\"\r\n href=\"#\"\r\n style={{ fontSize: \".8em\" }}\r\n onClick={event => {\r\n event.preventDefault();\r\n handleLink();\r\n }}><i className=\"bi bi-save me-1\"/>Save</a>\r\n </div>}\r\n </>\r\n );\r\n};","import React from \"react\";\r\nimport { EditorCoreProps } from \"../types\";\r\n\r\n/**\r\n * Core - `Bold`\r\n * Extensão para renderizar texto em negrito\r\n */\r\nexport const Bold = ({ editor, active }: EditorCoreProps & { active: boolean }) => {\r\n return active && (\r\n <a className={\"editor-menu-item\" + (editor.isActive(\"bold\") ? \" active\" : \"\")}\r\n href=\"#\"\r\n onClick={event => {\r\n event.preventDefault();\r\n editor.chain().focus().toggleBold().run();\r\n }}><i className=\"bi bi-type-bold\"/></a>\r\n );\r\n};","import React from \"react\";\r\nimport { EditorCoreProps } from \"../types\";\r\n\r\n/**\r\n * Core - `Code`\r\n * Extensão para renderizar texto em formato de código\r\n */\r\nexport const Code = ({ editor, active }: EditorCoreProps & { active: boolean }) => {\r\n return active && (\r\n <a className={\"editor-menu-item\" + (editor.isActive(\"code\") ? \" active\" : \"\")}\r\n href=\"#\"\r\n style={{ fontSize: \".975em\" }}\r\n onClick={event => {\r\n event.preventDefault();\r\n editor.chain().focus().toggleCode().run();\r\n }}><i className=\"bi bi-code-slash\"/></a>\r\n );\r\n};","import React from \"react\";\r\nimport { EditorCoreProps } from \"../types\";\r\n\r\n/**\r\n * Core - `Color`\r\n * Extensão para formatar o texto com cor especifica\r\n */\r\nexport const Color = ({ editor, active }: EditorCoreProps & { active: boolean }) => {\r\n return active && (\r\n <input\r\n style={{\r\n width: \"22px\",\r\n height: \"20px\",\r\n borderRadius: \"5px\",\r\n margin: \"auto 2.5px\",\r\n border: \"2px solid var(--editor-border-color)\",\r\n }}\r\n type=\"color\"\r\n value={editor.getAttributes(\"textStyle\").color ?? \"#000000\"}\r\n onChange={event => editor.chain().focus().setColor(event.target.value).run()}/>\r\n );\r\n};","import { EditorCoreProps } from \"../types\";\r\nimport React, { useEffect, useState } from \"react\";\r\n\r\n/**\r\n * Core - `Image`\r\n * Extensão para adicionar imagem no documento\r\n */\r\nexport const Image = ({ editor, active }: EditorCoreProps & { active: boolean }) => {\r\n const [file, setFile] = useState<any>(null);\r\n\r\n const handlePaste = (event: any) => {\r\n const items = (event.clipboardData || event.originalEvent.clipboardData).items;\r\n for (const item of items) {\r\n if (item.type.indexOf(\"image\") === 0) {\r\n const file = item.getAsFile();\r\n const reader = new FileReader();\r\n reader.onload = (event) => {\r\n editor.chain().focus().setImage({ src: event?.target?.result as string }).run();\r\n };\r\n reader.readAsDataURL(file);\r\n }\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n if (editor.view.dom.parentNode !== null && active) {\r\n editor.view.dom.parentNode.addEventListener(\"paste\", handlePaste);\r\n }\r\n return () => {\r\n editor.view.dom.parentNode?.removeEventListener(\"paste\", handlePaste);\r\n };\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (file?.name !== undefined) {\r\n const reader = new FileReader();\r\n reader.readAsDataURL(file);\r\n reader.onload = () => {\r\n editor.chain().focus().setImage({ src: reader.result as string }).run();\r\n };\r\n }\r\n }, [file]);\r\n\r\n return active && (\r\n <div className=\"editor-image\">\r\n <input accept=\"image/png, image/jpeg\"\r\n name=\"editor-image\"\r\n type=\"file\"\r\n onChange={event => setFile(event.target.files?.[0])}/>\r\n <a className={\"editor-menu-item\" + (editor.isActive(\"link\") ? \" active\" : \"\")}\r\n href=\"#\"\r\n style={{ fontSize: \".975em\" }}\r\n onClick={event => {\r\n event.preventDefault();\r\n }}><i className=\"bi bi-image\"/></a>\r\n </div>\r\n );\r\n};","import React from \"react\";\r\nimport { EditorCoreProps } from \"../types\";\r\n\r\n/**\r\n * Core - `Italic`\r\n * Extensão para renderizar texto em itálico\r\n */\r\nexport const Italic = ({ editor, active }: EditorCoreProps & { active: boolean }) => {\r\n return active && (\r\n <a className={\"editor-menu-item\" + (editor.isActive(\"italic\") ? \" active\" : \"\")}\r\n href=\"#\"\r\n onClick={event => {\r\n event.preventDefault();\r\n editor.chain().focus().toggleItalic().run();\r\n }}><i className=\"bi bi-type-italic\"/></a>\r\n );\r\n};","import React from \"react\";\r\nimport { EditorCoreProps } from \"../types\";\r\n\r\n/**\r\n * Core - `Strike`\r\n * Extensão para renderizar texto em strike text\r\n */\r\nexport const Strike = ({ editor, active }: EditorCoreProps & { active: boolean }) => {\r\n return active && (\r\n <a className={\"editor-menu-item\" + (editor.isActive(\"strike\") ? \" active\" : \"\")}\r\n href=\"#\"\r\n onClick={event => {\r\n event.preventDefault();\r\n editor.chain().focus().toggleStrike().run();\r\n }}><i className=\"bi bi-type-strikethrough\"/></a>\r\n );\r\n};","import React from \"react\";\r\nimport { EditorCoreProps } from \"../types\";\r\n\r\n/**\r\n * Core - `Orderlist`\r\n * Extensão para renderizar texto em lista ordenada\r\n */\r\nexport const Orderlist = ({ editor, active }: EditorCoreProps & { active: boolean }) => {\r\n return active && (\r\n <a className={\"editor-menu-item\" + (editor.isActive(\"orderedList\") ? \" active\" : \"\")}\r\n href=\"#\"\r\n onClick={event => {\r\n event.preventDefault();\r\n editor.chain().focus().toggleOrderedList().run();\r\n }}><i className=\"bi bi-list-ol\"/></a>\r\n );\r\n};","import React from \"react\";\r\nimport { EditorCoreProps } from \"../types\";\r\n\r\n/**\r\n * Core - `Underline`\r\n * Extensão para renderizar texto em underline text\r\n */\r\nexport const Underline = ({ editor, active }: EditorCoreProps & { active: boolean }) => {\r\n return active && (\r\n <a className={\"editor-menu-item\" + (editor.isActive(\"underline\") ? \" active\" : \"\")}\r\n href=\"#\"\r\n onClick={event => {\r\n event.preventDefault();\r\n editor.chain().focus().toggleUnderline().run();\r\n }}><i className=\"bi bi-type-underline\"/></a>\r\n );\r\n};","import React from \"react\";\r\nimport { EditorCoreProps } from \"../types\";\r\n\r\n/**\r\n * Core - `Highlight`\r\n * Extensão para marcar texto no formato de marca texto\r\n */\r\nexport const Highlight = ({ editor, active }: EditorCoreProps & { active: boolean }) => {\r\n return active && (\r\n <a className={\"editor-menu-item\" + (editor.isActive(\"highlight\") ? \" active\" : \"\")}\r\n href=\"#\"\r\n style={{ fontSize: \".975em\" }}\r\n onClick={event => {\r\n event.preventDefault();\r\n editor.chain().focus().toggleHighlight().run();\r\n }}><i className=\"bi bi-highlighter\"/></a>\r\n );\r\n};","import React from \"react\";\r\nimport { EditorCoreProps } from \"../types\";\r\n\r\n/**\r\n * Core - `Bulletlist`\r\n * Extensão para renderizar texto em lista\r\n */\r\nexport const Bulletlist = ({ editor, active }: EditorCoreProps & { active: boolean }) => {\r\n return active && (\r\n <a className={\"editor-menu-item\" + (editor.isActive(\"bulletList\") ? \" active\" : \"\")}\r\n href=\"#\"\r\n onClick={event => {\r\n event.preventDefault();\r\n editor.chain().focus().toggleBulletList().run();\r\n }}><i className=\"bi bi-list-task\"/></a>\r\n );\r\n};","import React from \"react\";\r\nimport { Text } from \"./text\";\r\nimport { Link } from \"./link\";\r\nimport { Bold } from \"./bold\";\r\nimport { Code } from \"./code\";\r\nimport { Color } from \"./color\";\r\nimport { Image } from \"./image\";\r\nimport { Italic } from \"./italic\";\r\nimport { Strike } from \"./strike\";\r\nimport { Orderlist } from \"./orderlist\";\r\nimport { Underline } from \"./underline\";\r\nimport { Highlight } from \"./highlight\";\r\nimport { Bulletlist } from \"./bulletlist\";\r\nimport { EditorCoreProps, EditorOptionsProps } from \"../types\";\r\n\r\n/**\r\n * Core - `Menu`\r\n * Componente que renderiza todas as opções de menu do componente\r\n */\r\nexport const EditorMenu = ({ editor, options }: EditorCoreProps & { options: EditorOptionsProps }) => {\r\n /*\r\n |------------------------------------------\r\n | render() - Renderização do componente\r\n |------------------------------------------\r\n */\r\n return (\r\n <div className=\"editor-menu\">\r\n <div className=\"editor-menu-group\">\r\n <Text active={options.text}\r\n editor={editor}/>\r\n <Bold active={options.bold}\r\n editor={editor}/>\r\n <Italic active={options.italic}\r\n editor={editor}/>\r\n <Color active={options.color}\r\n editor={editor}/>\r\n <Strike active={options.strike}\r\n editor={editor}/>\r\n <Underline active={options.underline}\r\n editor={editor}/>\r\n <Code active={options.code}\r\n editor={editor}/>\r\n <Highlight active={options.highlight}\r\n editor={editor}/>\r\n </div>\r\n <div className=\"editor-menu-group\">\r\n <Bulletlist active={options.bulletlist}\r\n editor={editor}/>\r\n <Orderlist active={options.orderlist}\r\n editor={editor}/>\r\n <Link active={options.link}\r\n editor={editor}/>\r\n <Image active={options.image}\r\n editor={editor}/>\r\n </div>\r\n </div>\r\n );\r\n};","import React from \"react\";\r\nimport { ApiFieldComponentProps } from \"./types\";\r\n\r\n/**\r\n * API - `InputLabel`\r\n *\r\n * Um componente utilizado como label em todos os componente de campo do pacote.\r\n * Permite personalizar o estilo e o conteúdo através de propriedades.\r\n */\r\nexport const InputLabel = ({ iconPrefix = \"bi bi-\", ...props }: ApiFieldComponentProps) => {\r\n /*\r\n |------------------------------------------\r\n | render() - Renderização do componente\r\n |------------------------------------------\r\n */\r\n return props.label\r\n && <p className='form-label'>\r\n {props.icon && <i className={iconPrefix + props.icon + \" me-1\"}/>}\r\n {props.label}\r\n {props.required && <span className=\"text-danger\">*</span>}\r\n </p>;\r\n};","import { EditorOptionsProps } from \"./types\";\r\n\r\nexport const editorBasic: EditorOptionsProps = {\r\n text: true,\r\n bold: true,\r\n italic: true,\r\n color: true,\r\n strike: false,\r\n underline: false,\r\n code: false,\r\n highlight: false,\r\n bulletlist: false,\r\n orderlist: false,\r\n link: false,\r\n image: false\r\n};\r\n\r\nexport const editorFull: EditorOptionsProps = {\r\n text: true,\r\n bold: true,\r\n italic: true,\r\n color: true,\r\n strike: true,\r\n underline: true,\r\n code: true,\r\n highlight: true,\r\n bulletlist: true,\r\n orderlist: true,\r\n link: true,\r\n image: true\r\n};","import { Box } from \"../box\";\r\nimport { EditorMenu } from \"./core\";\r\nimport { InputLabel } from \"../api\";\r\nimport { EditorProps } from \"./types\";\r\nimport Link from \"@tiptap/extension-link\";\r\nimport Image from \"@tiptap/extension-image\";\r\nimport StarterKit from \"@tiptap/starter-kit\";\r\nimport { Color } from \"@tiptap/extension-color\";\r\nimport { editorBasic, editorFull } from \"./const\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport Underline from \"@tiptap/extension-underline\";\r\nimport Highlight from \"@tiptap/extension-highlight\";\r\nimport TextStyle from \"@tiptap/extension-text-style\";\r\nimport { EditorContent as EditorTipTap, useEditor } from \"@tiptap/react\";\r\n\r\n/**\r\n * Componente - `Editor`\r\n *\r\n * Um componente versátil que pode ser utilizado para criar container de edição de texto.\r\n * Permite personalizar o estilo e o conteúdo através de propriedades.\r\n */\r\nexport const Editor = ({ options = \"basic\", iconPrefix = \"bi bi-\", ...props }: EditorProps) => {\r\n const [edition, setEdition] = useState(false);\r\n const editor = useEditor({\r\n extensions: [\r\n StarterKit,\r\n Underline,\r\n Highlight,\r\n Color,\r\n TextStyle,\r\n Link.configure({\r\n validate: (href) => /^https?:\\/\\//.test(href),\r\n HTMLAttributes: {\r\n rel: \"\"\r\n }\r\n }),\r\n Image.configure({\r\n allowBase64: true\r\n })\r\n ],\r\n editable: !props.disabled,\r\n content: props.value ?? \"\",\r\n onFocus: () => setEdition(true),\r\n onBlur: () => setEdition(false),\r\n onUpdate: ({ editor }) => {\r\n props.onChange(editor.getHTML());\r\n }\r\n });\r\n\r\n if (!editor) {\r\n console.error(\"Não foi possível realizar o carregamento do editor de texto.\");\r\n return null;\r\n }\r\n\r\n useEffect(() => {\r\n if (editor && !edition) {\r\n editor?.commands.setContent(props.value);\r\n }\r\n }, [props.value]);\r\n\r\n /*\r\n |------------------------------------------\r\n | render() - Renderização do componente\r\n |------------------------------------------\r\n */\r\n return (\r\n <Box className={props.className}\r\n css={props.css}\r\n size={props.size ?? \"100\"}>\r\n <InputLabel {...props}/>\r\n <div className=\"editor-container\">\r\n {!props.disabled\r\n && <EditorMenu editor={editor}\r\n options={options === \"basic\" ? editorBasic : options === \"full\" ? editorFull : options}/>}\r\n <EditorTipTap className=\"editor\"\r\n disabled={props.disabled}\r\n editor={editor}\r\n id={props.id}\r\n name={props.name}\r\n style={{ minHeight: (props.height ?? 100) + \"px\" }}/>\r\n </div>\r\n <div data-name={props.name}\r\n id=\"j_feedback\"/>\r\n </Box>\r\n );\r\n};\r\n\r\nexport default Editor;"],"names":["Box","children","props","css","size","direction","justify","undefined","Array","isArray","join","align","attr","className","classNames","style","id","React","createElement","Text","editor","active","Fragment","isActive","level","href","fontSize","onClick","event","preventDefault","chain","focus","toggleHeading","run","Link","open","setOpen","useState","link","setLink","useEffect","unsetLink","placeholder","flex","type","value","onChange","target","extendMarkRange","Bold","toggleBold","Code","toggleCode","Color","width","height","borderRadius","margin","border","getAttributes","color","setColor","Image","file","setFile","handlePaste","items","clipboardData","originalEvent","item","indexOf","getAsFile","reader","FileReader","onload","setImage","src","result","readAsDataURL","view","dom","parentNode","addEventListener","removeEventListener","name","accept","files","Italic","toggleItalic","Strike","toggleStrike","Orderlist","toggleOrderedList","Underline","toggleUnderline","Highlight","toggleHighlight","Bulletlist","toggleBulletList","EditorMenu","options","text","bold","italic","strike","underline","code","highlight","bulletlist","orderlist","image","InputLabel","iconPrefix","label","icon","required","editorBasic","editorFull","Editor","edition","setEdition","useEditor","extensions","StarterKit","TextStyle","configure","validate","test","HTMLAttributes","rel","allowBase64","editable","disabled","content","onFocus","onBlur","onUpdate","getHTML","commands","setContent","EditorTipTap","minHeight","console","error"],"mappings":"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"}
1
+ {"version":3,"file":"index.esm.js","sources":["../../src/box/box.tsx","../../src/editor/core/text.tsx","../../src/editor/core/link.tsx","../../src/editor/core/bold.tsx","../../src/editor/core/code.tsx","../../src/editor/core/color.tsx","../../src/editor/core/image.tsx","../../src/editor/core/italic.tsx","../../src/editor/core/strike.tsx","../../src/editor/core/orderlist.tsx","../../src/editor/core/underline.tsx","../../src/editor/core/highlight.tsx","../../src/editor/core/bulletlist.tsx","../../src/editor/core/index.tsx","../../src/api/input.tsx","../../src/editor/const.ts","../../src/editor/editor.tsx"],"sourcesContent":["import { BoxProps } from \"./types\";\r\nimport React, { HTMLAttributes } from \"react\";\r\nimport { classNames } from \"primereact/utils\";\r\n\r\n/**\r\n * Componente - `Box`\r\n *\r\n * Um componente versátil que pode ser utilizado para criar seções ou caixas em uma página.\r\n * Permite personalizar o estilo e o conteúdo através de propriedades.\r\n *\r\n * Exemplo de uso:\r\n * ```tsx\r\n * <Box align=\"align-items-center\"\r\n * justify=\"justify-content-end\"\r\n * size=\"25\">\r\n * ...conteúdo HTML\r\n * </Box>\r\n * ```\r\n */\r\nexport const Box = ({ children, ...props }: BoxProps) => {\r\n const css = {\r\n size: `box-size-${(props.size ?? \"100\")}`,\r\n direction: `box-direction-${props.direction ?? \"row\"}`,\r\n justify: props.justify === undefined ? \"\" : Array.isArray(props.justify) ? props.justify?.join(\" \") : props.justify,\r\n align: props.align === undefined ? \"\" : Array.isArray(props.align) ? props.align?.join(\" \") : props.align\r\n };\r\n\r\n const attr: HTMLAttributes<\"div\"> & Omit<BoxProps, \"children\"> = {\r\n className: classNames([\r\n \"box\",\r\n props.className ?? \"\",\r\n css.size,\r\n css.direction,\r\n css.justify,\r\n css.align\r\n ]),\r\n style: props.css,\r\n id: props.id\r\n };\r\n\r\n return (\r\n <div {...attr as any}>{children}</div>\r\n );\r\n};","import React from \"react\";\r\nimport { EditorCoreProps } from \"../types\";\r\n\r\n/**\r\n * Core - `Text`\r\n * Extensão para formatar o texto com tamanho específico\r\n */\r\nexport const Text = ({ editor, active }: EditorCoreProps & { active: boolean }) => {\r\n\r\n return active && (\r\n <>\r\n <a className={\"editor-menu-item\" + (editor.isActive(\"heading\", { level: 1 }) ? \" active\" : \"\")}\r\n href=\"#\"\r\n style={{ fontSize: \".975em\" }}\r\n onClick={event => {\r\n event.preventDefault();\r\n editor.chain().focus().toggleHeading({ level: 1 }).run();\r\n }}><i className=\"bi bi-type-h1\"/></a>\r\n <a className={\"editor-menu-item\" + (editor.isActive(\"heading\", { level: 2 }) ? \" active\" : \"\")}\r\n href=\"#\"\r\n style={{ fontSize: \".975em\" }}\r\n onClick={event => {\r\n event.preventDefault();\r\n editor.chain().focus().toggleHeading({ level: 2 }).run();\r\n }}><i className=\"bi bi-type-h2\"/></a>\r\n <a className={\"editor-menu-item\" + (editor.isActive(\"heading\", { level: 3 }) ? \" active\" : \"\")}\r\n href=\"#\"\r\n style={{ fontSize: \".975em\" }}\r\n onClick={event => {\r\n event.preventDefault();\r\n editor.chain().focus().toggleHeading({ level: 3 }).run();\r\n }}><i className=\"bi bi-type-h3\"/></a>\r\n </>\r\n );\r\n};","import { EditorCoreProps } from \"../types\";\r\nimport React, { useEffect, useState } from \"react\";\r\n\r\n/**\r\n * Core - `Link`\r\n * Extensão para formatar adicionar link no documento\r\n */\r\nexport const Link = ({ editor, active }: EditorCoreProps & { active: boolean }) => {\r\n const [open, setOpen] = useState<boolean>(false);\r\n const [link, setLink] = useState<string>(\"\");\r\n\r\n useEffect(() => {\r\n setLink(\"\");\r\n }, [open]);\r\n\r\n function handleLink() {\r\n if (link === \"\") {\r\n editor.chain().focus().extendMarkRange(\"link\").unsetLink().run();\r\n } else {\r\n editor.chain().focus().extendMarkRange(\"link\").setLink({ href: link }).run();\r\n }\r\n setOpen(false);\r\n }\r\n\r\n return active && (\r\n <>\r\n <a className={\"editor-menu-item\" + (editor.isActive(\"link\") ? \" active\" : \"\")}\r\n href=\"#\"\r\n onClick={event => {\r\n event.preventDefault();\r\n if (!editor.isActive(\"link\")) {\r\n setOpen(!open);\r\n } else {\r\n editor.chain().focus().unsetLink().run();\r\n }\r\n }}><i className=\"bi bi-link\"/></a>\r\n {open && <div className=\"editor-link\">\r\n <input className=\"form-control form-control-sm\"\r\n placeholder=\"https://example.com.br\"\r\n style={{ fontSize: \".8em\", flex: 1 }}\r\n type=\"text\"\r\n value={link}\r\n onChange={event => setLink(event.target.value)}/>\r\n <a className=\"text-primary ms-2\"\r\n href=\"#\"\r\n style={{ fontSize: \".8em\" }}\r\n onClick={event => {\r\n event.preventDefault();\r\n handleLink();\r\n }}><i className=\"bi bi-save me-1\"/>Save</a>\r\n </div>}\r\n </>\r\n );\r\n};","import React from \"react\";\r\nimport { EditorCoreProps } from \"../types\";\r\n\r\n/**\r\n * Core - `Bold`\r\n * Extensão para renderizar texto em negrito\r\n */\r\nexport const Bold = ({ editor, active }: EditorCoreProps & { active: boolean }) => {\r\n return active && (\r\n <a className={\"editor-menu-item\" + (editor.isActive(\"bold\") ? \" active\" : \"\")}\r\n href=\"#\"\r\n onClick={event => {\r\n event.preventDefault();\r\n editor.chain().focus().toggleBold().run();\r\n }}><i className=\"bi bi-type-bold\"/></a>\r\n );\r\n};","import React from \"react\";\r\nimport { EditorCoreProps } from \"../types\";\r\n\r\n/**\r\n * Core - `Code`\r\n * Extensão para renderizar texto em formato de código\r\n */\r\nexport const Code = ({ editor, active }: EditorCoreProps & { active: boolean }) => {\r\n return active && (\r\n <a className={\"editor-menu-item\" + (editor.isActive(\"code\") ? \" active\" : \"\")}\r\n href=\"#\"\r\n style={{ fontSize: \".975em\" }}\r\n onClick={event => {\r\n event.preventDefault();\r\n editor.chain().focus().toggleCode().run();\r\n }}><i className=\"bi bi-code-slash\"/></a>\r\n );\r\n};","import React from \"react\";\r\nimport { EditorCoreProps } from \"../types\";\r\n\r\n/**\r\n * Core - `Color`\r\n * Extensão para formatar o texto com cor especifica\r\n */\r\nexport const Color = ({ editor, active }: EditorCoreProps & { active: boolean }) => {\r\n return active && (\r\n <input\r\n style={{\r\n width: \"22px\",\r\n height: \"20px\",\r\n borderRadius: \"5px\",\r\n margin: \"auto 2.5px\",\r\n border: \"2px solid var(--editor-border-color)\",\r\n }}\r\n type=\"color\"\r\n value={editor.getAttributes(\"textStyle\").color ?? \"#000000\"}\r\n onChange={event => editor.chain().focus().setColor(event.target.value).run()}/>\r\n );\r\n};","import { EditorCoreProps } from \"../types\";\r\nimport React, { useEffect, useState } from \"react\";\r\n\r\n/**\r\n * Core - `Image`\r\n * Extensão para adicionar imagem no documento\r\n */\r\nexport const Image = ({ editor, active }: EditorCoreProps & { active: boolean }) => {\r\n const [file, setFile] = useState<any>(null);\r\n\r\n const handlePaste = (event: any) => {\r\n const items = (event.clipboardData || event.originalEvent.clipboardData).items;\r\n for (const item of items) {\r\n if (item.type.indexOf(\"image\") === 0) {\r\n const file = item.getAsFile();\r\n const reader = new FileReader();\r\n reader.onload = (event) => {\r\n editor.chain().focus().setImage({ src: event?.target?.result as string }).run();\r\n };\r\n reader.readAsDataURL(file);\r\n }\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n if (editor.view.dom.parentNode !== null && active) {\r\n editor.view.dom.parentNode.addEventListener(\"paste\", handlePaste);\r\n }\r\n return () => {\r\n editor.view.dom.parentNode?.removeEventListener(\"paste\", handlePaste);\r\n };\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (file?.name !== undefined) {\r\n const reader = new FileReader();\r\n reader.readAsDataURL(file);\r\n reader.onload = () => {\r\n editor.chain().focus().setImage({ src: reader.result as string }).run();\r\n };\r\n }\r\n }, [file]);\r\n\r\n return active && (\r\n <div className=\"editor-image\">\r\n <input accept=\"image/png, image/jpeg\"\r\n name=\"editor-image\"\r\n type=\"file\"\r\n onChange={event => setFile(event.target.files?.[0])}/>\r\n <a className={\"editor-menu-item\" + (editor.isActive(\"link\") ? \" active\" : \"\")}\r\n href=\"#\"\r\n style={{ fontSize: \".975em\" }}\r\n onClick={event => {\r\n event.preventDefault();\r\n }}><i className=\"bi bi-image\"/></a>\r\n </div>\r\n );\r\n};","import React from \"react\";\r\nimport { EditorCoreProps } from \"../types\";\r\n\r\n/**\r\n * Core - `Italic`\r\n * Extensão para renderizar texto em itálico\r\n */\r\nexport const Italic = ({ editor, active }: EditorCoreProps & { active: boolean }) => {\r\n return active && (\r\n <a className={\"editor-menu-item\" + (editor.isActive(\"italic\") ? \" active\" : \"\")}\r\n href=\"#\"\r\n onClick={event => {\r\n event.preventDefault();\r\n editor.chain().focus().toggleItalic().run();\r\n }}><i className=\"bi bi-type-italic\"/></a>\r\n );\r\n};","import React from \"react\";\r\nimport { EditorCoreProps } from \"../types\";\r\n\r\n/**\r\n * Core - `Strike`\r\n * Extensão para renderizar texto em strike text\r\n */\r\nexport const Strike = ({ editor, active }: EditorCoreProps & { active: boolean }) => {\r\n return active && (\r\n <a className={\"editor-menu-item\" + (editor.isActive(\"strike\") ? \" active\" : \"\")}\r\n href=\"#\"\r\n onClick={event => {\r\n event.preventDefault();\r\n editor.chain().focus().toggleStrike().run();\r\n }}><i className=\"bi bi-type-strikethrough\"/></a>\r\n );\r\n};","import React from \"react\";\r\nimport { EditorCoreProps } from \"../types\";\r\n\r\n/**\r\n * Core - `Orderlist`\r\n * Extensão para renderizar texto em lista ordenada\r\n */\r\nexport const Orderlist = ({ editor, active }: EditorCoreProps & { active: boolean }) => {\r\n return active && (\r\n <a className={\"editor-menu-item\" + (editor.isActive(\"orderedList\") ? \" active\" : \"\")}\r\n href=\"#\"\r\n onClick={event => {\r\n event.preventDefault();\r\n editor.chain().focus().toggleOrderedList().run();\r\n }}><i className=\"bi bi-list-ol\"/></a>\r\n );\r\n};","import React from \"react\";\r\nimport { EditorCoreProps } from \"../types\";\r\n\r\n/**\r\n * Core - `Underline`\r\n * Extensão para renderizar texto em underline text\r\n */\r\nexport const Underline = ({ editor, active }: EditorCoreProps & { active: boolean }) => {\r\n return active && (\r\n <a className={\"editor-menu-item\" + (editor.isActive(\"underline\") ? \" active\" : \"\")}\r\n href=\"#\"\r\n onClick={event => {\r\n event.preventDefault();\r\n editor.chain().focus().toggleUnderline().run();\r\n }}><i className=\"bi bi-type-underline\"/></a>\r\n );\r\n};","import React from \"react\";\r\nimport { EditorCoreProps } from \"../types\";\r\n\r\n/**\r\n * Core - `Highlight`\r\n * Extensão para marcar texto no formato de marca texto\r\n */\r\nexport const Highlight = ({ editor, active }: EditorCoreProps & { active: boolean }) => {\r\n return active && (\r\n <a className={\"editor-menu-item\" + (editor.isActive(\"highlight\") ? \" active\" : \"\")}\r\n href=\"#\"\r\n style={{ fontSize: \".975em\" }}\r\n onClick={event => {\r\n event.preventDefault();\r\n editor.chain().focus().toggleHighlight().run();\r\n }}><i className=\"bi bi-highlighter\"/></a>\r\n );\r\n};","import React from \"react\";\r\nimport { EditorCoreProps } from \"../types\";\r\n\r\n/**\r\n * Core - `Bulletlist`\r\n * Extensão para renderizar texto em lista\r\n */\r\nexport const Bulletlist = ({ editor, active }: EditorCoreProps & { active: boolean }) => {\r\n return active && (\r\n <a className={\"editor-menu-item\" + (editor.isActive(\"bulletList\") ? \" active\" : \"\")}\r\n href=\"#\"\r\n onClick={event => {\r\n event.preventDefault();\r\n editor.chain().focus().toggleBulletList().run();\r\n }}><i className=\"bi bi-list-task\"/></a>\r\n );\r\n};","import React from \"react\";\r\nimport { Text } from \"./text\";\r\nimport { Link } from \"./link\";\r\nimport { Bold } from \"./bold\";\r\nimport { Code } from \"./code\";\r\nimport { Color } from \"./color\";\r\nimport { Image } from \"./image\";\r\nimport { Italic } from \"./italic\";\r\nimport { Strike } from \"./strike\";\r\nimport { Orderlist } from \"./orderlist\";\r\nimport { Underline } from \"./underline\";\r\nimport { Highlight } from \"./highlight\";\r\nimport { Bulletlist } from \"./bulletlist\";\r\nimport { EditorCoreProps, EditorOptionsProps } from \"../types\";\r\n\r\n/**\r\n * Core - `Menu`\r\n * Componente que renderiza todas as opções de menu do componente\r\n */\r\nexport const EditorMenu = ({ editor, options }: EditorCoreProps & { options: EditorOptionsProps }) => {\r\n /*\r\n |------------------------------------------\r\n | render() - Renderização do componente\r\n |------------------------------------------\r\n */\r\n return (\r\n <div className=\"editor-menu\">\r\n <div className=\"editor-menu-group\">\r\n <Text active={options.text}\r\n editor={editor}/>\r\n <Bold active={options.bold}\r\n editor={editor}/>\r\n <Italic active={options.italic}\r\n editor={editor}/>\r\n <Color active={options.color}\r\n editor={editor}/>\r\n <Strike active={options.strike}\r\n editor={editor}/>\r\n <Underline active={options.underline}\r\n editor={editor}/>\r\n <Code active={options.code}\r\n editor={editor}/>\r\n <Highlight active={options.highlight}\r\n editor={editor}/>\r\n </div>\r\n <div className=\"editor-menu-group\">\r\n <Bulletlist active={options.bulletlist}\r\n editor={editor}/>\r\n <Orderlist active={options.orderlist}\r\n editor={editor}/>\r\n <Link active={options.link}\r\n editor={editor}/>\r\n <Image active={options.image}\r\n editor={editor}/>\r\n </div>\r\n </div>\r\n );\r\n};","import React from \"react\";\r\nimport { ApiFieldComponentProps } from \"./types\";\r\n\r\n/**\r\n * API - `InputLabel`\r\n *\r\n * Um componente utilizado como label em todos os componente de campo do pacote.\r\n * Permite personalizar o estilo e o conteúdo através de propriedades.\r\n */\r\nexport const InputLabel = ({ iconPrefix = \"bi bi-\", ...props }: ApiFieldComponentProps) => {\r\n /*\r\n |------------------------------------------\r\n | render() - Renderização do componente\r\n |------------------------------------------\r\n */\r\n return props.label\r\n && <p className='form-label'>\r\n {props.icon && <i className={iconPrefix + props.icon + \" me-1\"}/>}\r\n {props.label}\r\n {props.required && <span className=\"text-danger\">*</span>}\r\n </p>;\r\n};","import { EditorOptionsProps } from \"./types\";\r\n\r\nexport const editorBasic: EditorOptionsProps = {\r\n text: true,\r\n bold: true,\r\n italic: true,\r\n color: true,\r\n strike: false,\r\n underline: false,\r\n code: false,\r\n highlight: false,\r\n bulletlist: false,\r\n orderlist: false,\r\n link: false,\r\n image: false\r\n};\r\n\r\nexport const editorFull: EditorOptionsProps = {\r\n text: true,\r\n bold: true,\r\n italic: true,\r\n color: true,\r\n strike: true,\r\n underline: true,\r\n code: true,\r\n highlight: true,\r\n bulletlist: true,\r\n orderlist: true,\r\n link: true,\r\n image: true\r\n};","import { Box } from \"../box\";\r\nimport { EditorMenu } from \"./core\";\r\nimport { InputLabel } from \"../api\";\r\nimport { EditorProps } from \"./types\";\r\nimport Link from \"@tiptap/extension-link\";\r\nimport Image from \"@tiptap/extension-image\";\r\nimport StarterKit from \"@tiptap/starter-kit\";\r\nimport { Color } from \"@tiptap/extension-color\";\r\nimport { editorBasic, editorFull } from \"./const\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport Underline from \"@tiptap/extension-underline\";\r\nimport Highlight from \"@tiptap/extension-highlight\";\r\nimport TextStyle from \"@tiptap/extension-text-style\";\r\nimport { EditorContent as EditorTipTap, useEditor } from \"@tiptap/react\";\r\n\r\n/**\r\n * Componente - `Editor`\r\n *\r\n * Um componente versátil que pode ser utilizado para criar container de edição de texto.\r\n * Permite personalizar o estilo e o conteúdo através de propriedades.\r\n */\r\nexport const Editor = ({ options = \"basic\", iconPrefix = \"bi bi-\", ...props }: EditorProps) => {\r\n const [edition, setEdition] = useState(false);\r\n const editor = useEditor({\r\n extensions: [\r\n StarterKit,\r\n Underline,\r\n Highlight,\r\n Color,\r\n TextStyle,\r\n Link.configure({\r\n validate: (href) => /^https?:\\/\\//.test(href),\r\n HTMLAttributes: {\r\n rel: \"\"\r\n }\r\n }),\r\n Image.configure({\r\n allowBase64: true\r\n })\r\n ],\r\n editable: !props.disabled,\r\n content: props.value ?? \"\",\r\n onFocus: () => setEdition(true),\r\n onBlur: () => setEdition(false),\r\n onUpdate: ({ editor }) => {\r\n props.onChange(editor.getHTML());\r\n }\r\n });\r\n\r\n if (!editor) {\r\n console.error(\"Não foi possível realizar o carregamento do editor de texto.\");\r\n return null;\r\n }\r\n\r\n useEffect(() => {\r\n if (editor && !edition) {\r\n editor?.commands.setContent(props.value);\r\n }\r\n }, [props.value]);\r\n\r\n /*\r\n |------------------------------------------\r\n | render() - Renderização do componente\r\n |------------------------------------------\r\n */\r\n return (\r\n <Box className={props.className}\r\n css={props.css}\r\n size={props.size ?? \"100\"}>\r\n <InputLabel {...props}/>\r\n <div className=\"editor-container\">\r\n {!props.disabled\r\n && <EditorMenu editor={editor}\r\n options={options === \"basic\" ? editorBasic : options === \"full\" ? editorFull : options}/>}\r\n <EditorTipTap className=\"editor\"\r\n disabled={props.disabled}\r\n editor={editor}\r\n id={props.id}\r\n name={props.name}\r\n style={{ minHeight: (props.height ?? 100) + \"px\" }}/>\r\n </div>\r\n <div data-name={props.name}\r\n id=\"j_feedback\"/>\r\n </Box>\r\n );\r\n};\r\n\r\nexport default Editor;"],"names":["Box","children","props","css","size","direction","justify","undefined","Array","isArray","join","align","attr","className","classNames","style","id","React","createElement","Text","editor","active","Fragment","isActive","level","href","fontSize","onClick","event","preventDefault","chain","focus","toggleHeading","run","Link","open","setOpen","useState","link","setLink","useEffect","unsetLink","placeholder","flex","type","value","onChange","target","extendMarkRange","Bold","toggleBold","Code","toggleCode","Color","width","height","borderRadius","margin","border","getAttributes","color","setColor","Image","file","setFile","handlePaste","items","clipboardData","originalEvent","item","indexOf","getAsFile","reader","FileReader","onload","setImage","src","result","readAsDataURL","view","dom","parentNode","addEventListener","removeEventListener","name","accept","files","Italic","toggleItalic","Strike","toggleStrike","Orderlist","toggleOrderedList","Underline","toggleUnderline","Highlight","toggleHighlight","Bulletlist","toggleBulletList","EditorMenu","options","text","bold","italic","strike","underline","code","highlight","bulletlist","orderlist","image","InputLabel","iconPrefix","label","icon","required","editorBasic","editorFull","Editor","edition","setEdition","useEditor","extensions","StarterKit","TextStyle","configure","validate","test","HTMLAttributes","rel","allowBase64","editable","disabled","content","onFocus","onBlur","onUpdate","getHTML","commands","setContent","EditorTipTap","minHeight","console","error"],"mappings":"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"}
@@ -1,11 +1,6 @@
1
- :root {
2
- --input-filter-border-color: var(--gray-400, #ccc);
3
- --input-filter-border-radius: var(--input-border-radius, 5px);
4
- }
5
-
6
1
  .input-filter-container {
7
- border-radius: var(--input-filter-border-radius);
8
- border: 1px dashed var(--input-filter-border-color);
2
+ border-radius: $borderRadius;
3
+ border: 1px dashed #{$shade300};
9
4
  }
10
5
 
11
6
  .input-filter-content {
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs.js","sources":["../../src/utils/helper.ts","../../src/utils/const.ts","../../src/utils/handle.ts","../../src/inputfilter/const.ts","../../src/inputfilter/legend.ts","../../src/box/box.tsx","../../src/inputfilter/function/validate.ts","../../src/inputfilter/function/handle.ts","../../src/inputfilter/core/text.tsx","../../src/inputfilter/core/date.tsx","../../src/api/input.tsx","../../src/inputfilter/core/number.tsx","../../src/inputfilter/core/autocomplete.tsx","../../src/inputfilter/inputfilter.tsx"],"sourcesContent":["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 { InputFilterOptionsMap, InputFilterOptionsProps } from \"./types\";\r\n\r\nexport const optionsDefault: Array<InputFilterOptionsMap[\"text\"]> = [\"=\", \"!=\", \"%\", \"!%\"];\r\n\r\nexport const optionsLabel: Array<{\r\n options: InputFilterOptionsProps,\r\n label: string\r\n}> = [\r\n { options: \"=\", label: \"Igual a\" },\r\n { options: \"!=\", label: \"Diferente de\" },\r\n { options: \"<\", label: \"Menor do que\" },\r\n { options: \">\", label: \"Maior do que\" },\r\n { options: \"<=\", label: \"Menor ou igual a\" },\r\n { options: \">=\", label: \"Maior ou igual a\" },\r\n { options: \"{}\", label: \"Intervalo\" },\r\n { options: \"%\", label: \"Contém o que\" },\r\n { options: \"!%\", label: \"Não contém o que\" },\r\n];","import { MES } from \"../utils\";\r\nimport { optionsLabel } from \"./const\";\r\n\r\n/**\r\n * Retorna a legenda de acordo com operador na string\r\n * @param value - Valor a ser tratado\r\n */\r\nexport function filterLegend(value: string | undefined): string | null {\r\n if (!value) {\r\n return null;\r\n }\r\n let optsRegex = /(=|!=|<|>|<=|>=|%|!%|\\{\\})/;\r\n let optsMatch = value?.match(optsRegex);\r\n let opts = value.charAt(value.length - 1);\r\n let option = optsMatch?.[0];\r\n\r\n if (optsMatch?.[0] !== opts && isNaN(parseInt(opts)) && option?.slice(-1) !== opts) {\r\n option = optsMatch?.[0] + opts;\r\n }\r\n return optionsLabel.filter(item => item.options === option)[0]?.label ?? null;\r\n}\r\n\r\n/**\r\n * Realiza o tratamento das informações para retorna a legenda do tipo `Date`\r\n * @param value - Valor a ser tratado\r\n */\r\nexport function filterLegendData(value: string | undefined): string {\r\n let legend = filterLegend(value);\r\n if (legend === null) {\r\n return \"Não encontramos legenda definida.\";\r\n }\r\n\r\n let interval = value?.split(\"{}\");\r\n let date = value?.split(\"/\");\r\n\r\n const handleLegend = (date: any): string => {\r\n let dia = parseInt(date[0]);\r\n let mes = parseInt(date[1], 10);\r\n let ano = parseInt(date[2]);\r\n\r\n return `\r\n ${(dia > 0 ? `${mes == 0 ? \"dia\" : \"\"} ${dia}` : \"\")} \r\n ${mes > 0 ? `${dia > 0 ? \"de\" : \"\"} ${MES[mes - 1]?.name}` : \"\"} \r\n ${ano > 0 ? `${dia > 0 || mes > 0 ? \"de\" : \"\"} ${ano}` : \"\"}\r\n `.replace(/\\s+/g, \" \").trim();\r\n };\r\n let result = interval?.[1] === undefined\r\n ? handleLegend(date)\r\n : handleLegend(interval[0].split(\"/\")) + \" à \" + handleLegend(interval[1].split(\"/\"));\r\n return legend + \": \" + result;\r\n}\r\n\r\n/**\r\n * Realiza o tratamento das informações para retorna a legenda do tipo `Text`\r\n * @param value - Valor a ser tratado\r\n */\r\nexport function filterLegendText(value: string | undefined): string {\r\n let legend = filterLegend(value);\r\n if (legend === null) {\r\n return \"Não encontramos legenda definida.\";\r\n }\r\n return legend + \": \" + (value?.replace(/(=|!=|<|>|<=|>=|%|!%|\\{\\})/g, \"\") ?? \"\");\r\n}\r\n\r\n/**\r\n * Realiza o tratamento das informações para retorna a legando do tipo `autocomplete`\r\n * @param value - Valor a ser tratado\r\n * @param dto - Array de objeto para ser pesquisado a legenda\r\n * @param word - Limite de palavras para a legenda\r\n */\r\nexport function filterLegendAutocomplete(value: string | undefined, dto: any[] = [], word: number = 30): string {\r\n let legend = filterLegend(value);\r\n if (legend === null || dto.length === 0) {\r\n return \"Não encontramos legenda definida.\";\r\n }\r\n let ids: any[] = value?.split(\";\").map(item => parseInt(item)) ?? [];\r\n let values = dto\r\n .filter(obj => ids.includes(obj.id))\r\n .map(item => item.label).join(\", \");\r\n let text = values.substring(0, word);\r\n return legend + \": \" + text + (text.length !== values.length ? \"...\" : \"\");\r\n}","import { BoxProps } from \"./types\";\r\nimport React, { HTMLAttributes } from \"react\";\r\nimport { classNames } from \"primereact/utils\";\r\n\r\n/**\r\n * Componente - `Box`\r\n *\r\n * Um componente versátil que pode ser utilizado para criar seções ou caixas em uma página.\r\n * Permite personalizar o estilo e o conteúdo através de propriedades.\r\n *\r\n * Exemplo de uso:\r\n * ```tsx\r\n * <Box align=\"align-items-center\"\r\n * justify=\"justify-content-end\"\r\n * size=\"25\">\r\n * ...conteúdo HTML\r\n * </Box>\r\n * ```\r\n */\r\nexport const Box = ({ children, ...props }: BoxProps) => {\r\n const css = {\r\n size: `box-size-${(props.size ?? \"100\")}`,\r\n direction: `box-direction-${props.direction ?? \"row\"}`,\r\n justify: props.justify === undefined ? \"\" : Array.isArray(props.justify) ? props.justify?.join(\" \") : props.justify,\r\n align: props.align === undefined ? \"\" : Array.isArray(props.align) ? props.align?.join(\" \") : props.align\r\n };\r\n\r\n const attr: HTMLAttributes<\"div\"> & Omit<BoxProps, \"children\"> = {\r\n className: classNames([\r\n \"box\",\r\n props.className ?? \"\",\r\n css.size,\r\n css.direction,\r\n css.justify,\r\n css.align\r\n ]),\r\n style: props.css,\r\n id: props.id\r\n };\r\n\r\n return (\r\n <div {...attr as any}>{children}</div>\r\n );\r\n};","/**\r\n * Valida e ajusta uma data fornecida como um array de números.\r\n *\r\n * @param date - Um array de números representando [dia, mês, ano].\r\n * @returns Um array de números representando a data validada e ajustada.\r\n */\r\nexport function validateDate(date: number[]): number[] {\r\n const [day, month, year] = date;\r\n\r\n const isMonthValid = month >= 1 && month <= 12;\r\n const isYearValid = year > 0 && year < 99999;\r\n const isDayValid = day >= 1 && day <= 31;\r\n\r\n if (isYearValid && !isMonthValid && !isDayValid) {\r\n return [0, 0, year];\r\n }\r\n\r\n if (isYearValid && isMonthValid && !isDayValid) {\r\n return [0, month, year];\r\n }\r\n\r\n if (isYearValid && isMonthValid && isDayValid) {\r\n let currentDate = new Date(year, month, 0);\r\n if (currentDate.getDate() < day) {\r\n return [currentDate.getDate(), month, year];\r\n }\r\n return date;\r\n }\r\n\r\n if (!isYearValid && isMonthValid && !isDayValid) {\r\n return [0, month, 0];\r\n }\r\n\r\n if (!isYearValid && isMonthValid && isDayValid) {\r\n return [day, month, 0];\r\n }\r\n\r\n if (!isYearValid && !isMonthValid && isDayValid) {\r\n return [day, 0, 0];\r\n }\r\n\r\n if (isYearValid && !isMonthValid && isDayValid) {\r\n return [day, 0, year];\r\n }\r\n\r\n return [0, 0, 0];\r\n}","import { validateDate } from \"./validate\";\r\nimport { handleNumber } from \"../../utils\";\r\nimport { InputFilterOptionsMap } from \"../types\";\r\n\r\n/**\r\n * Obtém a opção de filtro correspondente ao valor fornecido.\r\n *\r\n * @param value - O valor para buscar uma opção correspondente.\r\n * @param options - Um array de opções de filtro disponíveis.\r\n * @returns A opção de filtro correspondente ou a primeira opção se nenhuma correspondência for encontrada.\r\n */\r\nexport function handleGetOption<T extends keyof InputFilterOptionsMap>(\r\n value: string | undefined,\r\n options: Array<InputFilterOptionsMap[T]>\r\n): string {\r\n let exists = options.filter(option => value?.includes(option));\r\n return exists[exists.length - 1] ?? options[0];\r\n}\r\n\r\n/**\r\n * Retorna apenas o valor sem os operadores filtro tipo `Text`.\r\n *\r\n * @param value - O valor completo, incluindo a opção de filtro.\r\n * @param options - Um array de opções de filtro disponíveis.\r\n * @returns O valor sem as opções de filtro.\r\n */\r\nexport function handleGetValueText(\r\n value: string | undefined,\r\n options: Array<InputFilterOptionsMap[\"text\"]>\r\n): string | null {\r\n let str = value;\r\n let exists = options\r\n .slice()\r\n .reverse()\r\n .find(item => str?.endsWith(item));\r\n if (exists && str !== undefined) {\r\n return str.slice(0, -exists.length);\r\n }\r\n return str ?? null;\r\n}\r\n\r\n/**\r\n * Retorna apenas o valor sem os operadores filtro tipo `Date`.\r\n *\r\n * @param value - O valor completo, incluindo a opção de filtro.\r\n * @param options - Um array de opções de filtro disponíveis.\r\n * @param select - Seletor do tipo de filtro\r\n * @returns O valor sem as opções de filtro.\r\n */\r\nexport function handleGetValueDate(\r\n value: string | undefined,\r\n options: Array<InputFilterOptionsMap[\"date\"]>,\r\n select: null | string = null\r\n): Array<number | string> {\r\n let str = value;\r\n let optsRegex = /(=|!=|<|>|<=|>=|\\{\\})/;\r\n let optsMatch = value?.match(optsRegex);\r\n let opts = optsMatch ? optsMatch[0].trim() : options[0];\r\n\r\n let parts: any[] = [];\r\n let interval = str?.split(\"{}\") ?? [];\r\n\r\n interval.forEach((value, index) => {\r\n let clean = value.replace(optsRegex, \"\").trim();\r\n\r\n if (clean.includes(\"/\")) {\r\n parts[index] = clean.split(\"/\").map(item => parseInt(item));\r\n } else {\r\n let number = parseInt(clean);\r\n parts[index] = [isNaN(number) ? 0 : number];\r\n }\r\n\r\n while (parts[index].length < 3) {\r\n parts[index].unshift(0);\r\n }\r\n });\r\n\r\n if (parts[1] && opts === \"{}\") {\r\n return [...validateDate(parts[0]), select ?? opts].concat(...validateDate(parts[1]));\r\n }\r\n return parts.length === 0\r\n ? [0, 0, 0, opts]\r\n : [...validateDate(parts[0]), select ?? opts];\r\n}\r\n\r\n/**\r\n * Atualiza um valor de data em uma posição específica e retorna a data formatada.\r\n *\r\n * @param value - O novo valor a ser inserido na data\r\n * @param position - A posição do valor a ser atualizado (0 para dia, 1 para mês, 2 para ano)\r\n * @param date - O array da data atual, incluindo as opções\r\n * @returns A data atualizada e formatada como string\r\n */\r\nexport function handleSetValueDate(\r\n value: string,\r\n position: number | null,\r\n date: (number | string)[]\r\n): string {\r\n if (position !== null) {\r\n date[position] = parseInt(value);\r\n }\r\n\r\n let opts = date[3];\r\n let firstDate = date.slice(0, 3);\r\n firstDate = validateDate(firstDate as number[]);\r\n\r\n if (opts !== \"{}\") {\r\n return `${firstDate[0]}/${firstDate[1]}/${firstDate[2]}${opts}`;\r\n }\r\n\r\n let lastDate = isNaN(parseInt(date[date.length - 1] as string)) && position === null\r\n ? [0, 0, 0]\r\n : date.slice(-3);\r\n lastDate = validateDate(lastDate as number[]);\r\n return `${firstDate[0]}/${firstDate[1]}/${firstDate[2]}${opts}${lastDate[0]}/${lastDate[1]}/${lastDate[2]}`;\r\n}\r\n\r\n/**\r\n * Obtém os valores selecionados do autocomplete a partir da string de valor e dos dados disponíveis.\r\n *\r\n * @param value - String contendo os IDs dos itens selecionados, separados por ponto e vírgula.\r\n * @param options - Array de opções de filtro disponíveis para o autocomplete.\r\n * @param data - Array de objetos contendo os dados disponíveis para seleção.\r\n * @returns Array de objetos correspondentes aos IDs selecionados.\r\n */\r\nexport function handleGetValueAutocomplete(\r\n value: string | undefined,\r\n options: Array<InputFilterOptionsMap[\"autocomplete\"]>,\r\n data: Array<{ id: number, label: string }>\r\n) {\r\n let values: any[] = value?.split(\";\").map(item => parseInt(item)) ?? [];\r\n return data.filter(item => values.includes(item.id));\r\n}\r\n\r\n/**\r\n * Converte os valores selecionados do autocomplete em uma string formatada para o filtro.\r\n *\r\n * @param value - Array de objetos selecionados no autocomplete.\r\n * @param select - String representando a opção de filtro selecionada.\r\n * @returns String formatada com os IDs dos itens selecionados e a opção de filtro.\r\n */\r\nexport function handleSetValueAutocomplete(\r\n value: Array<{ id: number, label: string }>,\r\n select: string,\r\n): string | null {\r\n let ids = value.map(item => item.id);\r\n return ids.length === 0 ? null : ids.join(\";\") + select;\r\n}\r\n\r\n/**\r\n * Retorna apenas o valor sem os operadores filtro tipo `Number`.\r\n *\r\n * @param value - O valor completo, incluindo a opção de filtro.\r\n * @param options - Um array de opções de filtro disponíveis.\r\n * @returns O valor sem as opções de filtro.\r\n */\r\nexport function handleGetValueNumber(\r\n value: string | undefined,\r\n options: Array<InputFilterOptionsMap[\"text\"]>\r\n): string {\r\n let str = value;\r\n let exists = options\r\n .slice()\r\n .reverse()\r\n .find(item => str?.endsWith(item));\r\n if (exists && str !== undefined) {\r\n return handleNumber(str.slice(0, -exists.length), \"decimal\");\r\n }\r\n return handleNumber(str ?? \"\", \"decimal\");\r\n}","import React from \"react\";\r\nimport { handleGetValueText } from \"../function/handle\";\r\nimport { InputFilterCoreProps, InputFilterOptionsMap } from \"../types\";\r\n\r\n/**\r\n * Core - `Text`\r\n * Campo do filtro tipo texto\r\n */\r\nexport function Text<T extends keyof InputFilterOptionsMap>(props: InputFilterCoreProps<T>) {\r\n return (\r\n <input className=\"form-control input-filter-field\"\r\n disabled={props.disabled}\r\n id={(props.id ?? \"input-filter\") + \"-text\"}\r\n name={(props.name ?? \"input-filter\") + \"-text\"}\r\n placeholder={props.placeholder}\r\n value={handleGetValueText(props.value, props.options) ?? \"\"}\r\n onChange={event => props.onChange(event.target.value + props.select)}/>\r\n );\r\n}","import React from \"react\";\r\nimport { InputFilterCoreProps, InputFilterOptionsMap } from \"../types\";\r\nimport { handleGetValueDate, handleSetValueDate } from \"../function/handle\";\r\n\r\n/**\r\n * Core - `Date`\r\n * Campo do filtro tipo data\r\n */\r\nexport function Date<T extends keyof InputFilterOptionsMap>(props: InputFilterCoreProps<T>) {\r\n let date = handleGetValueDate(props.value, props.options, props.select);\r\n\r\n function handleChangeValue(value: string) {\r\n if (props.select === \"{}\" && value === \"0/0/0{}0/0/0\") {\r\n props.onChange(null);\r\n } else {\r\n if ((date[0] == 0 || isNaN(date[0] as number)) &&\r\n (date[1] == 0 || isNaN(date[1] as number)) &&\r\n (date[2] == 0 || isNaN(date[2] as number))) {\r\n props.onChange(null);\r\n } else {\r\n props.onChange(value);\r\n }\r\n }\r\n }\r\n\r\n return (\r\n <div className=\"d-flex w-100 flex-column\">\r\n <div className=\"w-100 d-flex gap-2\">\r\n {date.map((item, index) => {\r\n if (index <= 2) {\r\n return (\r\n <input className={\"form-control input-filter-field-date\" + (index == 2 ? \" year\" : \"\")}\r\n disabled={props.disabled}\r\n id={(props.id ?? \"input-filter\") + \"-\" + index}\r\n key={index}\r\n name={(props.name ?? \"input-filter\") + \"-\" + index}\r\n placeholder={props.placeholder}\r\n value={item === 0 ? \"\" : item}\r\n onChange={event => handleChangeValue(handleSetValueDate(event.target.value, index, date))}/>\r\n );\r\n }\r\n })}\r\n </div>\r\n {props.select === \"{}\" && date.length > 4\r\n && <div className=\"w-100 d-flex gap-2 mt-2\">\r\n {date.map((item, index) => {\r\n if (index >= 4) {\r\n return (\r\n <input className={\"form-control input-filter-field-date\" + (index == 6 ? \" year\" : \"\")}\r\n disabled={props.disabled}\r\n id={(props.id ?? \"input-filter\") + \"-\" + index}\r\n key={index}\r\n name={(props.name ?? \"input-filter\") + \"-\" + index}\r\n placeholder={props.placeholder}\r\n value={item === 0 ? \"\" : item}\r\n onChange={event => handleChangeValue(handleSetValueDate(event.target.value, index, date))}/>\r\n );\r\n }\r\n })}\r\n </div>}\r\n </div>\r\n );\r\n}","import React from \"react\";\r\nimport { ApiFieldComponentProps } from \"./types\";\r\n\r\n/**\r\n * API - `InputLabel`\r\n *\r\n * Um componente utilizado como label em todos os componente de campo do pacote.\r\n * Permite personalizar o estilo e o conteúdo através de propriedades.\r\n */\r\nexport const InputLabel = ({ iconPrefix = \"bi bi-\", ...props }: ApiFieldComponentProps) => {\r\n /*\r\n |------------------------------------------\r\n | render() - Renderização do componente\r\n |------------------------------------------\r\n */\r\n return props.label\r\n && <p className='form-label'>\r\n {props.icon && <i className={iconPrefix + props.icon + \" me-1\"}/>}\r\n {props.label}\r\n {props.required && <span className=\"text-danger\">*</span>}\r\n </p>;\r\n};","import React from \"react\";\r\nimport { handleNumber } from \"../../utils\";\r\nimport { handleGetValueNumber } from \"../function/handle\";\r\nimport { InputFilterCoreProps, InputFilterOptionsMap } from \"../types\";\r\n\r\n/**\r\n * Core - `Number`\r\n * Campo do filtro tipo numero\r\n */\r\nexport function Number<T extends keyof InputFilterOptionsMap>(props: InputFilterCoreProps<T>) {\r\n return (\r\n <input className=\"form-control input-filter-field\"\r\n disabled={props.disabled}\r\n id={(props.id ?? \"input-filter\") + \"-number\"}\r\n name={(props.name ?? \"input-filter\") + \"-number\"}\r\n placeholder={props.placeholder}\r\n value={handleGetValueNumber(props.value, props.options ?? \"\")}\r\n onChange={event => props.onChange(handleNumber(event.target.value, \"decimal\") + props.select)}/>\r\n );\r\n}","import React from \"react\";\r\nimport { InputFilterCoreProps, InputFilterOptionsMap } from \"../types\";\r\nimport { AutoComplete as AutocompletePrimeReact } from \"primereact/autocomplete\";\r\nimport { handleGetValueAutocomplete, handleSetValueAutocomplete } from \"../function/handle\";\r\n\r\n/**\r\n * Core - `Autocomplete`\r\n * Campo do filtro tipo autocomplete\r\n */\r\nexport function Autocomplete<T extends keyof InputFilterOptionsMap>(props: InputFilterCoreProps<\"autocomplete\">) {\r\n const value = handleGetValueAutocomplete(props.value, props.options, props.data);\r\n\r\n return (\r\n <AutocompletePrimeReact multiple\r\n completeMethod={event => {\r\n let ids = value.map(item => item.id);\r\n props.onSearch(event.query, ids);\r\n }}\r\n appendTo=\"self\"\r\n className=\"w-100\"\r\n disabled={props.disabled}\r\n emptyMessage=\"Não encontramos dados.\"\r\n field=\"label\"\r\n id={(props.id ?? \"input-filter\") + \"-\" + \"autocomplete\"}\r\n inputClassName=\"form-control\"\r\n name={(props.name ?? \"input-filter\") + \"-\" + \"autocomplete\"}\r\n panelClassName=\"input-filter-autocomplete-panel\"\r\n placeholder={props.placeholder}\r\n required={props.required}\r\n scrollHeight={props.autocompleteScrollHeight}\r\n selectionLimit={props.autocompleteSelectLimit}\r\n suggestions={props.data}\r\n value={value}\r\n onChange={event => props.onChange(handleSetValueAutocomplete(event.value, props.select))}/>\r\n );\r\n}","import { Box } from \"../box\";\r\nimport { Text } from \"./core/text\";\r\nimport { Date } from \"./core/date\";\r\nimport { InputLabel } from \"../api\";\r\nimport { Number } from \"./core/number\";\r\nimport * as handle from \"./function/handle\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport { Autocomplete } from \"./core/autocomplete\";\r\nimport React, { useState, useEffect } from \"react\";\r\nimport { optionsDefault, optionsLabel } from \"./const\";\r\nimport { InputFilterOptionsMap, InputFilterProps } from \"./types\";\r\n\r\n/**\r\n * Componente - `InputFilter`\r\n *\r\n * Um componente utilizado para montar o objeto de pesquisa de dados.\r\n * Permite alterar o seu tipo através do type: `text`, `date`, `autocomplete`.\r\n */\r\nexport function InputFilter<T extends keyof InputFilterOptionsMap = \"text\">({ ...props }: InputFilterProps<T>) {\r\n\r\n const options: any[] = (props.options ?? optionsDefault).sort((a, b) => a.length - b.length);\r\n const selectOptions = optionsLabel.filter(item => options?.includes(item.options as any));\r\n const [select, setSelect] = useState<string>(handle.handleGetOption<T>(props.value, options));\r\n\r\n useEffect(() => {\r\n if (!props.type || props.type === \"text\") {\r\n let value = handle.handleGetValueText(props.value, options);\r\n if (value !== null) {\r\n props.onChange(value + select);\r\n } else {\r\n props.onChange(null);\r\n }\r\n } else if (props.type === \"date\") {\r\n let date = handle.handleGetValueDate(props.value, options, select);\r\n let setDate = handle.handleSetValueDate(\"0\", null, date);\r\n\r\n if (select === \"{}\" && setDate === \"0/0/0{}0/0/0\") {\r\n props.onChange(null);\r\n } else {\r\n if (date[0] == 0 && date[1] == 0 && date[2] == 0) {\r\n props.onChange(null);\r\n } else {\r\n props.onChange(setDate);\r\n }\r\n }\r\n } else if (props.type === \"autocomplete\") {\r\n let value = handle.handleGetValueAutocomplete(props.value, options, props.data);\r\n props.onChange(handle.handleSetValueAutocomplete(value, select));\r\n } else if (props.type === \"number\") {\r\n let value = handle.handleGetValueNumber(props.value, options);\r\n if (value !== \"\") {\r\n props.onChange(value + select);\r\n } else {\r\n props.onChange(null);\r\n }\r\n }\r\n }, [select]);\r\n\r\n /*\r\n |------------------------------------------\r\n | render() - Renderização do componente\r\n |------------------------------------------\r\n */\r\n return (\r\n <Box {...props}\r\n className={classNames([props.className, \"input-filter-container\"])}>\r\n <InputLabel {...props}/>\r\n <div className=\"input-filter-content\"\r\n id={props.id ?? \"input-filter\"}>\r\n <select className=\"form-select input-filter-select\"\r\n disabled={props.disabled}\r\n id={(props.id ?? \"input-filter\") + \"-select\"}\r\n name={(props.name ?? \"input-filter\") + \"-select\"}\r\n value={select}\r\n onChange={event => setSelect(event.target.value)}>\r\n {selectOptions?.map(item => (\r\n <option key={item.options}\r\n value={item.options}>{item.label}</option>\r\n ))}\r\n </select>\r\n {(!props.type || props.type === \"text\")\r\n && <Text<\"text\"> {...props as InputFilterProps<\"text\">}\r\n options={options}\r\n select={select}/>}\r\n {props.type === \"date\"\r\n && <Date<\"date\"> {...props as InputFilterProps<\"date\">}\r\n options={options}\r\n select={select}/>}\r\n {props.type === \"autocomplete\"\r\n && <Autocomplete<\"autocomplete\"> {...props as InputFilterProps<\"autocomplete\">}\r\n options={options}\r\n select={select}/>}\r\n {props.type === \"number\"\r\n && <Number<\"number\"> {...props}\r\n options={options}\r\n select={select}/>}\r\n </div>\r\n </Box>\r\n );\r\n}"],"names":["getMetaContent","id","element","document","getElementById","url","replace","substr","slice","length","MES","name","handleNumber","valor","format","value","parseFloat","toLocaleString","style","currency","optionsDefault","optionsLabel","options","label","filterLegend","optsMatch","match","opts","charAt","option","isNaN","parseInt","filter","item","Box","children","props","css","size","direction","justify","undefined","Array","isArray","join","align","attr","className","classNames","React","createElement","validateDate","date","day","month","year","isMonthValid","isYearValid","isDayValid","currentDate","Date","getDate","handleGetValueText","str","exists","reverse","find","endsWith","handleGetValueDate","select","optsRegex","trim","parts","split","forEach","index","clean","includes","map","number","unshift","concat","handleSetValueDate","position","firstDate","lastDate","handleGetValueAutocomplete","data","values","handleSetValueAutocomplete","ids","handleGetValueNumber","Text","disabled","placeholder","onChange","event","target","handleChangeValue","key","InputLabel","iconPrefix","icon","required","Number","Autocomplete","AutocompletePrimeReact","AutoComplete","multiple","completeMethod","onSearch","query","appendTo","emptyMessage","field","inputClassName","panelClassName","scrollHeight","autocompleteScrollHeight","selectionLimit","autocompleteSelectLimit","suggestions","sort","a","b","selectOptions","setSelect","useState","handle.handleGetOption","useEffect","type","handle.handleGetValueDate","setDate","handle.handleSetValueDate","handle.handleGetValueAutocomplete","handle.handleSetValueAutocomplete","handle.handleGetValueNumber","handle.handleGetValueText","dto","word","legend","obj","text","substring","interval","handleLegend","dia","mes","ano"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs.js","sources":["../../src/utils/helper.ts","../../src/utils/const.ts","../../src/utils/handle.ts","../../src/inputfilter/const.ts","../../src/inputfilter/legend.ts","../../src/box/box.tsx","../../src/inputfilter/function/validate.ts","../../src/inputfilter/function/handle.ts","../../src/inputfilter/core/text.tsx","../../src/inputfilter/core/date.tsx","../../src/api/input.tsx","../../src/inputfilter/core/number.tsx","../../src/inputfilter/core/autocomplete.tsx","../../src/inputfilter/inputfilter.tsx"],"sourcesContent":["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 { InputFilterOptionsMap, InputFilterOptionsProps } from \"./types\";\r\n\r\nexport const optionsDefault: Array<InputFilterOptionsMap[\"text\"]> = [\"=\", \"!=\", \"%\", \"!%\"];\r\n\r\nexport const optionsLabel: Array<{\r\n options: InputFilterOptionsProps,\r\n label: string\r\n}> = [\r\n { options: \"=\", label: \"Igual a\" },\r\n { options: \"!=\", label: \"Diferente de\" },\r\n { options: \"<\", label: \"Menor do que\" },\r\n { options: \">\", label: \"Maior do que\" },\r\n { options: \"<=\", label: \"Menor ou igual a\" },\r\n { options: \">=\", label: \"Maior ou igual a\" },\r\n { options: \"{}\", label: \"Intervalo\" },\r\n { options: \"%\", label: \"Contém o que\" },\r\n { options: \"!%\", label: \"Não contém o que\" },\r\n];","import { MES } from \"../utils\";\r\nimport { optionsLabel } from \"./const\";\r\n\r\n/**\r\n * Retorna a legenda de acordo com operador na string\r\n * @param value - Valor a ser tratado\r\n */\r\nexport function filterLegend(value: string | undefined): string | null {\r\n if (!value) {\r\n return null;\r\n }\r\n let optsRegex = /(=|!=|<|>|<=|>=|%|!%|\\{\\})/;\r\n let optsMatch = value?.match(optsRegex);\r\n let opts = value.charAt(value.length - 1);\r\n let option = optsMatch?.[0];\r\n\r\n if (optsMatch?.[0] !== opts && isNaN(parseInt(opts)) && option?.slice(-1) !== opts) {\r\n option = optsMatch?.[0] + opts;\r\n }\r\n return optionsLabel.filter(item => item.options === option)[0]?.label ?? null;\r\n}\r\n\r\n/**\r\n * Realiza o tratamento das informações para retorna a legenda do tipo `Date`\r\n * @param value - Valor a ser tratado\r\n */\r\nexport function filterLegendData(value: string | undefined): string {\r\n let legend = filterLegend(value);\r\n if (legend === null) {\r\n return \"Não encontramos legenda definida.\";\r\n }\r\n\r\n let interval = value?.split(\"{}\");\r\n let date = value?.split(\"/\");\r\n\r\n const handleLegend = (date: any): string => {\r\n let dia = parseInt(date[0]);\r\n let mes = parseInt(date[1], 10);\r\n let ano = parseInt(date[2]);\r\n\r\n return `\r\n ${(dia > 0 ? `${mes == 0 ? \"dia\" : \"\"} ${dia}` : \"\")} \r\n ${mes > 0 ? `${dia > 0 ? \"de\" : \"\"} ${MES[mes - 1]?.name}` : \"\"} \r\n ${ano > 0 ? `${dia > 0 || mes > 0 ? \"de\" : \"\"} ${ano}` : \"\"}\r\n `.replace(/\\s+/g, \" \").trim();\r\n };\r\n let result = interval?.[1] === undefined\r\n ? handleLegend(date)\r\n : handleLegend(interval[0].split(\"/\")) + \" à \" + handleLegend(interval[1].split(\"/\"));\r\n return legend + \": \" + result;\r\n}\r\n\r\n/**\r\n * Realiza o tratamento das informações para retorna a legenda do tipo `Text`\r\n * @param value - Valor a ser tratado\r\n */\r\nexport function filterLegendText(value: string | undefined): string {\r\n let legend = filterLegend(value);\r\n if (legend === null) {\r\n return \"Não encontramos legenda definida.\";\r\n }\r\n return legend + \": \" + (value?.replace(/(=|!=|<|>|<=|>=|%|!%|\\{\\})/g, \"\") ?? \"\");\r\n}\r\n\r\n/**\r\n * Realiza o tratamento das informações para retorna a legando do tipo `autocomplete`\r\n * @param value - Valor a ser tratado\r\n * @param dto - Array de objeto para ser pesquisado a legenda\r\n * @param word - Limite de palavras para a legenda\r\n */\r\nexport function filterLegendAutocomplete(value: string | undefined, dto: any[] = [], word: number = 30): string {\r\n let legend = filterLegend(value);\r\n if (legend === null || dto.length === 0) {\r\n return \"Não encontramos legenda definida.\";\r\n }\r\n let ids: any[] = value?.split(\";\").map(item => parseInt(item)) ?? [];\r\n let values = dto\r\n .filter(obj => ids.includes(obj.id))\r\n .map(item => item.label).join(\", \");\r\n let text = values.substring(0, word);\r\n return legend + \": \" + text + (text.length !== values.length ? \"...\" : \"\");\r\n}","import { BoxProps } from \"./types\";\r\nimport React, { HTMLAttributes } from \"react\";\r\nimport { classNames } from \"primereact/utils\";\r\n\r\n/**\r\n * Componente - `Box`\r\n *\r\n * Um componente versátil que pode ser utilizado para criar seções ou caixas em uma página.\r\n * Permite personalizar o estilo e o conteúdo através de propriedades.\r\n *\r\n * Exemplo de uso:\r\n * ```tsx\r\n * <Box align=\"align-items-center\"\r\n * justify=\"justify-content-end\"\r\n * size=\"25\">\r\n * ...conteúdo HTML\r\n * </Box>\r\n * ```\r\n */\r\nexport const Box = ({ children, ...props }: BoxProps) => {\r\n const css = {\r\n size: `box-size-${(props.size ?? \"100\")}`,\r\n direction: `box-direction-${props.direction ?? \"row\"}`,\r\n justify: props.justify === undefined ? \"\" : Array.isArray(props.justify) ? props.justify?.join(\" \") : props.justify,\r\n align: props.align === undefined ? \"\" : Array.isArray(props.align) ? props.align?.join(\" \") : props.align\r\n };\r\n\r\n const attr: HTMLAttributes<\"div\"> & Omit<BoxProps, \"children\"> = {\r\n className: classNames([\r\n \"box\",\r\n props.className ?? \"\",\r\n css.size,\r\n css.direction,\r\n css.justify,\r\n css.align\r\n ]),\r\n style: props.css,\r\n id: props.id\r\n };\r\n\r\n return (\r\n <div {...attr as any}>{children}</div>\r\n );\r\n};","/**\r\n * Valida e ajusta uma data fornecida como um array de números.\r\n *\r\n * @param date - Um array de números representando [dia, mês, ano].\r\n * @returns Um array de números representando a data validada e ajustada.\r\n */\r\nexport function validateDate(date: number[]): number[] {\r\n const [day, month, year] = date;\r\n\r\n const isMonthValid = month >= 1 && month <= 12;\r\n const isYearValid = year > 0 && year < 99999;\r\n const isDayValid = day >= 1 && day <= 31;\r\n\r\n if (isYearValid && !isMonthValid && !isDayValid) {\r\n return [0, 0, year];\r\n }\r\n\r\n if (isYearValid && isMonthValid && !isDayValid) {\r\n return [0, month, year];\r\n }\r\n\r\n if (isYearValid && isMonthValid && isDayValid) {\r\n let currentDate = new Date(year, month, 0);\r\n if (currentDate.getDate() < day) {\r\n return [currentDate.getDate(), month, year];\r\n }\r\n return date;\r\n }\r\n\r\n if (!isYearValid && isMonthValid && !isDayValid) {\r\n return [0, month, 0];\r\n }\r\n\r\n if (!isYearValid && isMonthValid && isDayValid) {\r\n return [day, month, 0];\r\n }\r\n\r\n if (!isYearValid && !isMonthValid && isDayValid) {\r\n return [day, 0, 0];\r\n }\r\n\r\n if (isYearValid && !isMonthValid && isDayValid) {\r\n return [day, 0, year];\r\n }\r\n\r\n return [0, 0, 0];\r\n}","import { validateDate } from \"./validate\";\r\nimport { handleNumber } from \"../../utils\";\r\nimport { InputFilterOptionsMap } from \"../types\";\r\n\r\n/**\r\n * Obtém a opção de filtro correspondente ao valor fornecido.\r\n *\r\n * @param value - O valor para buscar uma opção correspondente.\r\n * @param options - Um array de opções de filtro disponíveis.\r\n * @returns A opção de filtro correspondente ou a primeira opção se nenhuma correspondência for encontrada.\r\n */\r\nexport function handleGetOption<T extends keyof InputFilterOptionsMap>(\r\n value: string | undefined,\r\n options: Array<InputFilterOptionsMap[T]>\r\n): string {\r\n let exists = options.filter(option => value?.includes(option));\r\n return exists[exists.length - 1] ?? options[0];\r\n}\r\n\r\n/**\r\n * Retorna apenas o valor sem os operadores filtro tipo `Text`.\r\n *\r\n * @param value - O valor completo, incluindo a opção de filtro.\r\n * @param options - Um array de opções de filtro disponíveis.\r\n * @returns O valor sem as opções de filtro.\r\n */\r\nexport function handleGetValueText(\r\n value: string | undefined,\r\n options: Array<InputFilterOptionsMap[\"text\"]>\r\n): string | null {\r\n let str = value;\r\n let exists = options\r\n .slice()\r\n .reverse()\r\n .find(item => str?.endsWith(item));\r\n if (exists && str !== undefined) {\r\n return str.slice(0, -exists.length);\r\n }\r\n return str ?? null;\r\n}\r\n\r\n/**\r\n * Retorna apenas o valor sem os operadores filtro tipo `Date`.\r\n *\r\n * @param value - O valor completo, incluindo a opção de filtro.\r\n * @param options - Um array de opções de filtro disponíveis.\r\n * @param select - Seletor do tipo de filtro\r\n * @returns O valor sem as opções de filtro.\r\n */\r\nexport function handleGetValueDate(\r\n value: string | undefined,\r\n options: Array<InputFilterOptionsMap[\"date\"]>,\r\n select: null | string = null\r\n): Array<number | string> {\r\n let str = value;\r\n let optsRegex = /(=|!=|<|>|<=|>=|\\{\\})/;\r\n let optsMatch = value?.match(optsRegex);\r\n let opts = optsMatch ? optsMatch[0].trim() : options[0];\r\n\r\n let parts: any[] = [];\r\n let interval = str?.split(\"{}\") ?? [];\r\n\r\n interval.forEach((value, index) => {\r\n let clean = value.replace(optsRegex, \"\").trim();\r\n\r\n if (clean.includes(\"/\")) {\r\n parts[index] = clean.split(\"/\").map(item => parseInt(item));\r\n } else {\r\n let number = parseInt(clean);\r\n parts[index] = [isNaN(number) ? 0 : number];\r\n }\r\n\r\n while (parts[index].length < 3) {\r\n parts[index].unshift(0);\r\n }\r\n });\r\n\r\n if (parts[1] && opts === \"{}\") {\r\n return [...validateDate(parts[0]), select ?? opts].concat(...validateDate(parts[1]));\r\n }\r\n return parts.length === 0\r\n ? [0, 0, 0, opts]\r\n : [...validateDate(parts[0]), select ?? opts];\r\n}\r\n\r\n/**\r\n * Atualiza um valor de data em uma posição específica e retorna a data formatada.\r\n *\r\n * @param value - O novo valor a ser inserido na data\r\n * @param position - A posição do valor a ser atualizado (0 para dia, 1 para mês, 2 para ano)\r\n * @param date - O array da data atual, incluindo as opções\r\n * @returns A data atualizada e formatada como string\r\n */\r\nexport function handleSetValueDate(\r\n value: string,\r\n position: number | null,\r\n date: (number | string)[]\r\n): string {\r\n if (position !== null) {\r\n date[position] = parseInt(value);\r\n }\r\n\r\n let opts = date[3];\r\n let firstDate = date.slice(0, 3);\r\n firstDate = validateDate(firstDate as number[]);\r\n\r\n if (opts !== \"{}\") {\r\n return `${firstDate[0]}/${firstDate[1]}/${firstDate[2]}${opts}`;\r\n }\r\n\r\n let lastDate = isNaN(parseInt(date[date.length - 1] as string)) && position === null\r\n ? [0, 0, 0]\r\n : date.slice(-3);\r\n lastDate = validateDate(lastDate as number[]);\r\n return `${firstDate[0]}/${firstDate[1]}/${firstDate[2]}${opts}${lastDate[0]}/${lastDate[1]}/${lastDate[2]}`;\r\n}\r\n\r\n/**\r\n * Obtém os valores selecionados do autocomplete a partir da string de valor e dos dados disponíveis.\r\n *\r\n * @param value - String contendo os IDs dos itens selecionados, separados por ponto e vírgula.\r\n * @param options - Array de opções de filtro disponíveis para o autocomplete.\r\n * @param data - Array de objetos contendo os dados disponíveis para seleção.\r\n * @returns Array de objetos correspondentes aos IDs selecionados.\r\n */\r\nexport function handleGetValueAutocomplete(\r\n value: string | undefined,\r\n options: Array<InputFilterOptionsMap[\"autocomplete\"]>,\r\n data: Array<{ id: number, label: string }>\r\n) {\r\n let values: any[] = value?.split(\";\").map(item => parseInt(item)) ?? [];\r\n return data.filter(item => values.includes(item.id));\r\n}\r\n\r\n/**\r\n * Converte os valores selecionados do autocomplete em uma string formatada para o filtro.\r\n *\r\n * @param value - Array de objetos selecionados no autocomplete.\r\n * @param select - String representando a opção de filtro selecionada.\r\n * @returns String formatada com os IDs dos itens selecionados e a opção de filtro.\r\n */\r\nexport function handleSetValueAutocomplete(\r\n value: Array<{ id: number, label: string }>,\r\n select: string,\r\n): string | null {\r\n let ids = value.map(item => item.id);\r\n return ids.length === 0 ? null : ids.join(\";\") + select;\r\n}\r\n\r\n/**\r\n * Retorna apenas o valor sem os operadores filtro tipo `Number`.\r\n *\r\n * @param value - O valor completo, incluindo a opção de filtro.\r\n * @param options - Um array de opções de filtro disponíveis.\r\n * @returns O valor sem as opções de filtro.\r\n */\r\nexport function handleGetValueNumber(\r\n value: string | undefined,\r\n options: Array<InputFilterOptionsMap[\"text\"]>\r\n): string {\r\n let str = value;\r\n let exists = options\r\n .slice()\r\n .reverse()\r\n .find(item => str?.endsWith(item));\r\n if (exists && str !== undefined) {\r\n return handleNumber(str.slice(0, -exists.length), \"decimal\");\r\n }\r\n return handleNumber(str ?? \"\", \"decimal\");\r\n}","import React from \"react\";\r\nimport { handleGetValueText } from \"../function/handle\";\r\nimport { InputFilterCoreProps, InputFilterOptionsMap } from \"../types\";\r\n\r\n/**\r\n * Core - `Text`\r\n * Campo do filtro tipo texto\r\n */\r\nexport function Text<T extends keyof InputFilterOptionsMap>(props: InputFilterCoreProps<T>) {\r\n return (\r\n <input className=\"form-control input-filter-field\"\r\n disabled={props.disabled}\r\n id={(props.id ?? \"input-filter\") + \"-text\"}\r\n name={(props.name ?? \"input-filter\") + \"-text\"}\r\n placeholder={props.placeholder}\r\n value={handleGetValueText(props.value, props.options) ?? \"\"}\r\n onChange={event => props.onChange(event.target.value + props.select)}/>\r\n );\r\n}","import React from \"react\";\r\nimport { InputFilterCoreProps, InputFilterOptionsMap } from \"../types\";\r\nimport { handleGetValueDate, handleSetValueDate } from \"../function/handle\";\r\n\r\n/**\r\n * Core - `Date`\r\n * Campo do filtro tipo data\r\n */\r\nexport function Date<T extends keyof InputFilterOptionsMap>(props: InputFilterCoreProps<T>) {\r\n let date = handleGetValueDate(props.value, props.options, props.select);\r\n\r\n function handleChangeValue(value: string) {\r\n if (props.select === \"{}\" && value === \"0/0/0{}0/0/0\") {\r\n props.onChange(null);\r\n } else {\r\n if ((date[0] == 0 || isNaN(date[0] as number)) &&\r\n (date[1] == 0 || isNaN(date[1] as number)) &&\r\n (date[2] == 0 || isNaN(date[2] as number))) {\r\n props.onChange(null);\r\n } else {\r\n props.onChange(value);\r\n }\r\n }\r\n }\r\n\r\n return (\r\n <div className=\"d-flex w-100 flex-column\">\r\n <div className=\"w-100 d-flex gap-2\">\r\n {date.map((item, index) => {\r\n if (index <= 2) {\r\n return (\r\n <input className={\"form-control input-filter-field-date\" + (index == 2 ? \" year\" : \"\")}\r\n disabled={props.disabled}\r\n id={(props.id ?? \"input-filter\") + \"-\" + index}\r\n key={index}\r\n name={(props.name ?? \"input-filter\") + \"-\" + index}\r\n placeholder={props.placeholder}\r\n value={item === 0 ? \"\" : item}\r\n onChange={event => handleChangeValue(handleSetValueDate(event.target.value, index, date))}/>\r\n );\r\n }\r\n })}\r\n </div>\r\n {props.select === \"{}\" && date.length > 4\r\n && <div className=\"w-100 d-flex gap-2 mt-2\">\r\n {date.map((item, index) => {\r\n if (index >= 4) {\r\n return (\r\n <input className={\"form-control input-filter-field-date\" + (index == 6 ? \" year\" : \"\")}\r\n disabled={props.disabled}\r\n id={(props.id ?? \"input-filter\") + \"-\" + index}\r\n key={index}\r\n name={(props.name ?? \"input-filter\") + \"-\" + index}\r\n placeholder={props.placeholder}\r\n value={item === 0 ? \"\" : item}\r\n onChange={event => handleChangeValue(handleSetValueDate(event.target.value, index, date))}/>\r\n );\r\n }\r\n })}\r\n </div>}\r\n </div>\r\n );\r\n}","import React from \"react\";\r\nimport { ApiFieldComponentProps } from \"./types\";\r\n\r\n/**\r\n * API - `InputLabel`\r\n *\r\n * Um componente utilizado como label em todos os componente de campo do pacote.\r\n * Permite personalizar o estilo e o conteúdo através de propriedades.\r\n */\r\nexport const InputLabel = ({ iconPrefix = \"bi bi-\", ...props }: ApiFieldComponentProps) => {\r\n /*\r\n |------------------------------------------\r\n | render() - Renderização do componente\r\n |------------------------------------------\r\n */\r\n return props.label\r\n && <p className='form-label'>\r\n {props.icon && <i className={iconPrefix + props.icon + \" me-1\"}/>}\r\n {props.label}\r\n {props.required && <span className=\"text-danger\">*</span>}\r\n </p>;\r\n};","import React from \"react\";\r\nimport { handleNumber } from \"../../utils\";\r\nimport { handleGetValueNumber } from \"../function/handle\";\r\nimport { InputFilterCoreProps, InputFilterOptionsMap } from \"../types\";\r\n\r\n/**\r\n * Core - `Number`\r\n * Campo do filtro tipo numero\r\n */\r\nexport function Number<T extends keyof InputFilterOptionsMap>(props: InputFilterCoreProps<T>) {\r\n return (\r\n <input className=\"form-control input-filter-field\"\r\n disabled={props.disabled}\r\n id={(props.id ?? \"input-filter\") + \"-number\"}\r\n name={(props.name ?? \"input-filter\") + \"-number\"}\r\n placeholder={props.placeholder}\r\n value={handleGetValueNumber(props.value, props.options ?? \"\")}\r\n onChange={event => props.onChange(handleNumber(event.target.value, \"decimal\") + props.select)}/>\r\n );\r\n}","import React from \"react\";\r\nimport { InputFilterCoreProps, InputFilterOptionsMap } from \"../types\";\r\nimport { AutoComplete as AutocompletePrimeReact } from \"primereact/autocomplete\";\r\nimport { handleGetValueAutocomplete, handleSetValueAutocomplete } from \"../function/handle\";\r\n\r\n/**\r\n * Core - `Autocomplete`\r\n * Campo do filtro tipo autocomplete\r\n */\r\nexport function Autocomplete<T extends keyof InputFilterOptionsMap>(props: InputFilterCoreProps<\"autocomplete\">) {\r\n const value = handleGetValueAutocomplete(props.value, props.options, props.data);\r\n\r\n return (\r\n <AutocompletePrimeReact multiple\r\n completeMethod={event => {\r\n let ids = value.map(item => item.id);\r\n props.onSearch(event.query, ids);\r\n }}\r\n appendTo=\"self\"\r\n className=\"w-100\"\r\n disabled={props.disabled}\r\n emptyMessage=\"Não encontramos dados.\"\r\n field=\"label\"\r\n id={(props.id ?? \"input-filter\") + \"-\" + \"autocomplete\"}\r\n inputClassName=\"form-control\"\r\n name={(props.name ?? \"input-filter\") + \"-\" + \"autocomplete\"}\r\n panelClassName=\"input-filter-autocomplete-panel\"\r\n placeholder={props.placeholder}\r\n required={props.required}\r\n scrollHeight={props.autocompleteScrollHeight}\r\n selectionLimit={props.autocompleteSelectLimit}\r\n suggestions={props.data}\r\n value={value}\r\n onChange={event => props.onChange(handleSetValueAutocomplete(event.value, props.select))}/>\r\n );\r\n}","import { Box } from \"../box\";\r\nimport { Text } from \"./core/text\";\r\nimport { Date } from \"./core/date\";\r\nimport { InputLabel } from \"../api\";\r\nimport { Number } from \"./core/number\";\r\nimport * as handle from \"./function/handle\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport { Autocomplete } from \"./core/autocomplete\";\r\nimport React, { useState, useEffect } from \"react\";\r\nimport { optionsDefault, optionsLabel } from \"./const\";\r\nimport { InputFilterOptionsMap, InputFilterProps } from \"./types\";\r\n\r\n/**\r\n * Componente - `InputFilter`\r\n *\r\n * Um componente utilizado para montar o objeto de pesquisa de dados.\r\n * Permite alterar o seu tipo através do type: `text`, `date`, `autocomplete`.\r\n */\r\nexport function InputFilter<T extends keyof InputFilterOptionsMap = \"text\">({ ...props }: InputFilterProps<T>) {\r\n\r\n const options: any[] = (props.options ?? optionsDefault).sort((a, b) => a.length - b.length);\r\n const selectOptions = optionsLabel.filter(item => options?.includes(item.options as any));\r\n const [select, setSelect] = useState<string>(handle.handleGetOption<T>(props.value, options));\r\n\r\n useEffect(() => {\r\n if (!props.type || props.type === \"text\") {\r\n let value = handle.handleGetValueText(props.value, options);\r\n if (value !== null) {\r\n props.onChange(value + select);\r\n } else {\r\n props.onChange(null);\r\n }\r\n } else if (props.type === \"date\") {\r\n let date = handle.handleGetValueDate(props.value, options, select);\r\n let setDate = handle.handleSetValueDate(\"0\", null, date);\r\n\r\n if (select === \"{}\" && setDate === \"0/0/0{}0/0/0\") {\r\n props.onChange(null);\r\n } else {\r\n if (date[0] == 0 && date[1] == 0 && date[2] == 0) {\r\n props.onChange(null);\r\n } else {\r\n props.onChange(setDate);\r\n }\r\n }\r\n } else if (props.type === \"autocomplete\") {\r\n let value = handle.handleGetValueAutocomplete(props.value, options, props.data);\r\n props.onChange(handle.handleSetValueAutocomplete(value, select));\r\n } else if (props.type === \"number\") {\r\n let value = handle.handleGetValueNumber(props.value, options);\r\n if (value !== \"\") {\r\n props.onChange(value + select);\r\n } else {\r\n props.onChange(null);\r\n }\r\n }\r\n }, [select]);\r\n\r\n /*\r\n |------------------------------------------\r\n | render() - Renderização do componente\r\n |------------------------------------------\r\n */\r\n return (\r\n <Box {...props}\r\n className={classNames([props.className, \"input-filter-container\"])}>\r\n <InputLabel {...props}/>\r\n <div className=\"input-filter-content\"\r\n id={props.id ?? \"input-filter\"}>\r\n <select className=\"form-select input-filter-select\"\r\n disabled={props.disabled}\r\n id={(props.id ?? \"input-filter\") + \"-select\"}\r\n name={(props.name ?? \"input-filter\") + \"-select\"}\r\n value={select}\r\n onChange={event => setSelect(event.target.value)}>\r\n {selectOptions?.map(item => (\r\n <option key={item.options}\r\n value={item.options}>{item.label}</option>\r\n ))}\r\n </select>\r\n {(!props.type || props.type === \"text\")\r\n && <Text<\"text\"> {...props as InputFilterProps<\"text\">}\r\n options={options}\r\n select={select}/>}\r\n {props.type === \"date\"\r\n && <Date<\"date\"> {...props as InputFilterProps<\"date\">}\r\n options={options}\r\n select={select}/>}\r\n {props.type === \"autocomplete\"\r\n && <Autocomplete<\"autocomplete\"> {...props as InputFilterProps<\"autocomplete\">}\r\n options={options}\r\n select={select}/>}\r\n {props.type === \"number\"\r\n && <Number<\"number\"> {...props}\r\n options={options}\r\n select={select}/>}\r\n </div>\r\n </Box>\r\n );\r\n}"],"names":["getMetaContent","id","element","document","getElementById","url","replace","substr","slice","length","MES","name","handleNumber","valor","format","value","parseFloat","toLocaleString","style","currency","optionsDefault","optionsLabel","options","label","filterLegend","optsMatch","match","opts","charAt","option","isNaN","parseInt","filter","item","Box","children","props","css","size","direction","justify","undefined","Array","isArray","join","align","attr","className","classNames","React","createElement","validateDate","date","day","month","year","isMonthValid","isYearValid","isDayValid","currentDate","Date","getDate","handleGetValueText","str","exists","reverse","find","endsWith","handleGetValueDate","select","optsRegex","trim","parts","split","forEach","index","clean","includes","map","number","unshift","concat","handleSetValueDate","position","firstDate","lastDate","handleGetValueAutocomplete","data","values","handleSetValueAutocomplete","ids","handleGetValueNumber","Text","disabled","placeholder","onChange","event","target","handleChangeValue","key","InputLabel","iconPrefix","icon","required","Number","Autocomplete","AutocompletePrimeReact","AutoComplete","multiple","completeMethod","onSearch","query","appendTo","emptyMessage","field","inputClassName","panelClassName","scrollHeight","autocompleteScrollHeight","selectionLimit","autocompleteSelectLimit","suggestions","sort","a","b","selectOptions","setSelect","useState","handle.handleGetOption","useEffect","type","handle.handleGetValueDate","setDate","handle.handleSetValueDate","handle.handleGetValueAutocomplete","handle.handleSetValueAutocomplete","handle.handleGetValueNumber","handle.handleGetValueText","dto","word","legend","obj","text","substring","interval","handleLegend","dia","mes","ano"],"mappings":"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"}
@@ -148,7 +148,7 @@ type InputFilterOptionsMap = {
148
148
  date: "=" | "!=" | "<" | ">" | "<=" | ">=" | "{}"
149
149
  autocomplete: "=" | "!=" | "%" | "!%"
150
150
  number: "=" | "!=" | "<" | ">" | "<=" | ">="
151
- }
151
+ };
152
152
 
153
153
  /**
154
154
  * Componente - `InputFilter`