@orbe-agro/client-core 5.6.247 → 5.6.248

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.
@@ -3,7 +3,7 @@ import Container from "../shared/Container.js";
3
3
  import classNames from "../../utils/classNames.js";
4
4
  import { APP_NAME } from "../../constants/app.constant.js";
5
5
  import { PAGE_CONTAINER_GUTTER_X } from "../../constants/theme.constant.js";
6
- const version = true ? "5.6.247" : "0.0.0";
6
+ const version = true ? "5.6.248" : "0.0.0";
7
7
  const FooterContent = () => {
8
8
  return /* @__PURE__ */ jsxs("div", { className: "flex w-full flex-auto items-center justify-between", children: [
9
9
  /* @__PURE__ */ jsxs("span", { children: [
@@ -106,7 +106,7 @@ const Upload = (props) => {
106
106
  return /* @__PURE__ */ jsx(Button, { disabled, onClick: (e) => e.preventDefault(), children: "Upload" });
107
107
  }
108
108
  if (draggable && !children) {
109
- return /* @__PURE__ */ jsx("span", { children: "Choose a file or drag and drop here" });
109
+ return /* @__PURE__ */ jsx("span", { children: "Escolha um arquivo ou arraste-o aqui" });
110
110
  }
111
111
  return children;
112
112
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Upload.js","sources":["../../../../../lib/@ecme/components/ui/Upload/Upload.tsx"],"sourcesContent":["import { useRef, useState, useCallback, useEffect } from 'react'\nimport classNames from '../utils/classNames'\nimport cloneDeep from 'lodash/cloneDeep'\nimport FileItem from './FileItem'\nimport Button from '../Button/Button'\nimport CloseButton from '../CloseButton'\nimport Notification from '../Notification/Notification'\nimport toast from '../toast/toast'\nimport type { CommonProps } from '../@types/common'\nimport type { ReactNode, ChangeEvent, MouseEvent, Ref } from 'react'\n\nexport interface UploadProps extends CommonProps {\n accept?: string\n beforeUpload?: (file: FileList | null, fileList: File[]) => boolean | string\n disabled?: boolean\n draggable?: boolean\n fileList?: File[]\n fileListClass?: string\n fileItemClass?: string\n multiple?: boolean\n onChange?: (file: File[], fileList: File[]) => void\n onFileRemove?: (file: File[]) => void\n ref?: Ref<HTMLDivElement>\n showList?: boolean\n tip?: string | ReactNode\n uploadLimit?: number\n}\n\nconst filesToArray = (files: File[]) =>\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Object.keys(files).map((key) => files[key as any])\n\nconst Upload = (props: UploadProps) => {\n const {\n accept,\n beforeUpload,\n disabled = false,\n draggable = false,\n fileList = [],\n fileListClass,\n fileItemClass,\n multiple,\n onChange,\n onFileRemove,\n ref,\n showList = true,\n tip,\n uploadLimit,\n children,\n className,\n ...rest\n } = props\n\n const fileInputField = useRef<HTMLInputElement>(null)\n const [files, setFiles] = useState(fileList)\n const [dragOver, setDragOver] = useState(false)\n\n useEffect(() => {\n if (JSON.stringify(files) !== JSON.stringify(fileList)) {\n setFiles(fileList)\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [JSON.stringify(fileList)])\n\n const triggerMessage = (msg: string | ReactNode = '') => {\n toast.push(\n <Notification type=\"danger\" duration={2000}>\n {msg || 'Upload Failed!'}\n </Notification>,\n {\n placement: 'top-center',\n },\n )\n }\n\n const pushFile = (newFiles: FileList | null, file: File[]) => {\n if (newFiles) {\n for (const f of newFiles) {\n file.push(f)\n }\n }\n\n return file\n }\n\n const addNewFiles = (newFiles: FileList | null) => {\n let file = cloneDeep(files)\n if (typeof uploadLimit === 'number' && uploadLimit !== 0) {\n if (Object.keys(file).length >= uploadLimit) {\n if (uploadLimit === 1) {\n file.shift()\n file = pushFile(newFiles, file)\n }\n\n return filesToArray({ ...file })\n }\n }\n file = pushFile(newFiles, file)\n return filesToArray({ ...file })\n }\n\n const onNewFileUpload = (e: ChangeEvent<HTMLInputElement>) => {\n const { files: newFiles } = e.target\n let result: boolean | string = true\n\n if (beforeUpload) {\n result = beforeUpload(newFiles, files)\n\n if (result === false) {\n triggerMessage()\n return\n }\n\n if (typeof result === 'string' && result.length > 0) {\n triggerMessage(result)\n return\n }\n }\n\n if (result) {\n const updatedFiles = addNewFiles(newFiles)\n setFiles(updatedFiles)\n onChange?.(updatedFiles, files)\n }\n }\n\n const removeFile = (fileIndex: number) => {\n const deletedFileList = files.filter((_, index) => index !== fileIndex)\n setFiles(deletedFileList)\n onFileRemove?.(deletedFileList)\n }\n\n const triggerUpload = (e: MouseEvent<HTMLDivElement>) => {\n if (!disabled) {\n fileInputField.current?.click()\n }\n e.stopPropagation()\n }\n\n const renderChildren = () => {\n if (!draggable && !children) {\n return (\n <Button disabled={disabled} onClick={(e) => e.preventDefault()}>\n Upload\n </Button>\n )\n }\n\n if (draggable && !children) {\n return <span>Choose a file or drag and drop here</span>\n }\n\n return children\n }\n\n const handleDragLeave = useCallback(() => {\n if (draggable) {\n setDragOver(false)\n }\n }, [draggable])\n\n const handleDragOver = useCallback(() => {\n if (draggable && !disabled) {\n setDragOver(true)\n }\n }, [draggable, disabled])\n\n const handleDrop = useCallback(() => {\n if (draggable) {\n setDragOver(false)\n }\n }, [draggable])\n\n const draggableProp = {\n onDragLeave: handleDragLeave,\n onDragOver: handleDragOver,\n onDrop: handleDrop,\n }\n\n const draggableEventFeedbackClass = `border-primary`\n\n const uploadClass = classNames(\n 'upload',\n draggable && `upload-draggable`,\n draggable && !disabled && `hover:${draggableEventFeedbackClass}`,\n draggable && disabled && 'disabled',\n dragOver && draggableEventFeedbackClass,\n className,\n )\n\n const uploadInputClass = classNames(\n 'upload-input',\n draggable && `draggable`,\n )\n\n return (\n <>\n <div\n ref={ref}\n className={uploadClass}\n {...(draggable ? draggableProp : { onClick: triggerUpload })}\n {...rest}\n >\n <input\n ref={fileInputField}\n className={uploadInputClass}\n type=\"file\"\n disabled={disabled}\n multiple={multiple}\n accept={accept}\n title=\"\"\n value=\"\"\n onChange={onNewFileUpload}\n {...rest}\n ></input>\n {renderChildren()}\n </div>\n {tip}\n {showList && (\n <div className={classNames('upload-file-list', fileListClass)}>\n {files.map((file, index) => (\n <FileItem\n key={file.name + index}\n file={file}\n className={fileItemClass}\n >\n <CloseButton\n className=\"upload-file-remove\"\n onClick={() => removeFile(index)}\n />\n </FileItem>\n ))}\n </div>\n )}\n </>\n )\n}\n\nexport default Upload\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Upload.js","sources":["../../../../../lib/@ecme/components/ui/Upload/Upload.tsx"],"sourcesContent":["import { useRef, useState, useCallback, useEffect } from 'react'\nimport classNames from '../utils/classNames'\nimport cloneDeep from 'lodash/cloneDeep'\nimport FileItem from './FileItem'\nimport Button from '../Button/Button'\nimport CloseButton from '../CloseButton'\nimport Notification from '../Notification/Notification'\nimport toast from '../toast/toast'\nimport type { CommonProps } from '../@types/common'\nimport type { ReactNode, ChangeEvent, MouseEvent, Ref } from 'react'\n\nexport interface UploadProps extends CommonProps {\n accept?: string\n beforeUpload?: (file: FileList | null, fileList: File[]) => boolean | string\n disabled?: boolean\n draggable?: boolean\n fileList?: File[]\n fileListClass?: string\n fileItemClass?: string\n multiple?: boolean\n onChange?: (file: File[], fileList: File[]) => void\n onFileRemove?: (file: File[]) => void\n ref?: Ref<HTMLDivElement>\n showList?: boolean\n tip?: string | ReactNode\n uploadLimit?: number\n}\n\nconst filesToArray = (files: File[]) =>\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Object.keys(files).map((key) => files[key as any])\n\nconst Upload = (props: UploadProps) => {\n const {\n accept,\n beforeUpload,\n disabled = false,\n draggable = false,\n fileList = [],\n fileListClass,\n fileItemClass,\n multiple,\n onChange,\n onFileRemove,\n ref,\n showList = true,\n tip,\n uploadLimit,\n children,\n className,\n ...rest\n } = props\n\n const fileInputField = useRef<HTMLInputElement>(null)\n const [files, setFiles] = useState(fileList)\n const [dragOver, setDragOver] = useState(false)\n\n useEffect(() => {\n if (JSON.stringify(files) !== JSON.stringify(fileList)) {\n setFiles(fileList)\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [JSON.stringify(fileList)])\n\n const triggerMessage = (msg: string | ReactNode = '') => {\n toast.push(\n <Notification type=\"danger\" duration={2000}>\n {msg || 'Upload Failed!'}\n </Notification>,\n {\n placement: 'top-center',\n },\n )\n }\n\n const pushFile = (newFiles: FileList | null, file: File[]) => {\n if (newFiles) {\n for (const f of newFiles) {\n file.push(f)\n }\n }\n\n return file\n }\n\n const addNewFiles = (newFiles: FileList | null) => {\n let file = cloneDeep(files)\n if (typeof uploadLimit === 'number' && uploadLimit !== 0) {\n if (Object.keys(file).length >= uploadLimit) {\n if (uploadLimit === 1) {\n file.shift()\n file = pushFile(newFiles, file)\n }\n\n return filesToArray({ ...file })\n }\n }\n file = pushFile(newFiles, file)\n return filesToArray({ ...file })\n }\n\n const onNewFileUpload = (e: ChangeEvent<HTMLInputElement>) => {\n const { files: newFiles } = e.target\n let result: boolean | string = true\n\n if (beforeUpload) {\n result = beforeUpload(newFiles, files)\n\n if (result === false) {\n triggerMessage()\n return\n }\n\n if (typeof result === 'string' && result.length > 0) {\n triggerMessage(result)\n return\n }\n }\n\n if (result) {\n const updatedFiles = addNewFiles(newFiles)\n setFiles(updatedFiles)\n onChange?.(updatedFiles, files)\n }\n }\n\n const removeFile = (fileIndex: number) => {\n const deletedFileList = files.filter((_, index) => index !== fileIndex)\n setFiles(deletedFileList)\n onFileRemove?.(deletedFileList)\n }\n\n const triggerUpload = (e: MouseEvent<HTMLDivElement>) => {\n if (!disabled) {\n fileInputField.current?.click()\n }\n e.stopPropagation()\n }\n\n const renderChildren = () => {\n if (!draggable && !children) {\n return (\n <Button disabled={disabled} onClick={(e) => e.preventDefault()}>\n Upload\n </Button>\n )\n }\n\n if (draggable && !children) {\n return <span>Escolha um arquivo ou arraste-o aqui</span>\n }\n\n return children\n }\n\n const handleDragLeave = useCallback(() => {\n if (draggable) {\n setDragOver(false)\n }\n }, [draggable])\n\n const handleDragOver = useCallback(() => {\n if (draggable && !disabled) {\n setDragOver(true)\n }\n }, [draggable, disabled])\n\n const handleDrop = useCallback(() => {\n if (draggable) {\n setDragOver(false)\n }\n }, [draggable])\n\n const draggableProp = {\n onDragLeave: handleDragLeave,\n onDragOver: handleDragOver,\n onDrop: handleDrop,\n }\n\n const draggableEventFeedbackClass = `border-primary`\n\n const uploadClass = classNames(\n 'upload',\n draggable && `upload-draggable`,\n draggable && !disabled && `hover:${draggableEventFeedbackClass}`,\n draggable && disabled && 'disabled',\n dragOver && draggableEventFeedbackClass,\n className,\n )\n\n const uploadInputClass = classNames(\n 'upload-input',\n draggable && `draggable`,\n )\n\n return (\n <>\n <div\n ref={ref}\n className={uploadClass}\n {...(draggable ? draggableProp : { onClick: triggerUpload })}\n {...rest}\n >\n <input\n ref={fileInputField}\n className={uploadInputClass}\n type=\"file\"\n disabled={disabled}\n multiple={multiple}\n accept={accept}\n title=\"\"\n value=\"\"\n onChange={onNewFileUpload}\n {...rest}\n ></input>\n {renderChildren()}\n </div>\n {tip}\n {showList && (\n <div className={classNames('upload-file-list', fileListClass)}>\n {files.map((file, index) => (\n <FileItem\n key={file.name + index}\n file={file}\n className={fileItemClass}\n >\n <CloseButton\n className=\"upload-file-remove\"\n onClick={() => removeFile(index)}\n />\n </FileItem>\n ))}\n </div>\n )}\n </>\n )\n}\n\nexport default Upload\n"],"names":[],"mappings":"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"}
@@ -61,7 +61,7 @@ const UploadCustom = (props) => {
61
61
  return /* @__PURE__ */ jsx(Button, { disabled, onClick: (e) => e.preventDefault(), children: "Upload" });
62
62
  }
63
63
  if (draggable && !children) {
64
- return /* @__PURE__ */ jsx("span", { children: "Choose a file or drag and drop here" });
64
+ return /* @__PURE__ */ jsx("span", { children: "Escolha um arquivo ou arraste-o aqui" });
65
65
  }
66
66
  return children;
67
67
  };
@@ -1 +1 @@
1
- {"version":3,"file":"UploadCustom.js","sources":["../../../../../lib/@ecme/components/ui/UploadCustom/UploadCustom.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { useRef, useState, useCallback } from 'react'\nimport classNames from '../utils/classNames'\nimport Button from '../Button/Button'\nimport Notification from '../Notification/Notification'\nimport toast from '../toast/toast'\nimport type { CommonProps } from '../@types/common'\nimport type { ReactNode, ChangeEvent, MouseEvent, Ref } from 'react'\n\nexport interface UploadCustomProps extends CommonProps {\n accept?: string\n beforeUpload?: (file: FileList | null) => boolean | string\n disabled?: boolean\n draggable?: boolean\n multiple?: boolean\n onChange?: (files: File[]) => void\n ref?: Ref<HTMLDivElement>\n tip?: string | ReactNode\n}\n\nconst UploadCustom = (props: UploadCustomProps) => {\n const {\n accept,\n beforeUpload,\n disabled = false,\n draggable = false,\n multiple,\n onChange,\n ref,\n tip,\n children,\n className,\n ...rest\n } = props\n\n const fileInputField = useRef<HTMLInputElement>(null)\n const [dragOver, setDragOver] = useState(false)\n\n const triggerMessage = (msg: string | ReactNode = '') => {\n toast.push(\n <Notification type=\"danger\" duration={2000}>\n {msg || 'Upload Failed!'}\n </Notification>,\n {\n placement: 'top-center',\n },\n )\n }\n\n const onNewFileUpload = (e: ChangeEvent<HTMLInputElement>) => {\n const { files: newFiles } = e.target\n let result: boolean | string = true\n\n if (beforeUpload) {\n result = beforeUpload(newFiles)\n\n if (result === false) {\n triggerMessage()\n return\n }\n\n if (typeof result === 'string' && result.length > 0) {\n triggerMessage(result)\n return\n }\n }\n\n if (result && newFiles) {\n // Converte FileList para Array e passa apenas os novos arquivos\n const filesArray = Array.from(newFiles)\n onChange?.(filesArray)\n }\n\n // Limpa o input para permitir selecionar o mesmo arquivo novamente\n if (fileInputField.current) {\n fileInputField.current.value = ''\n }\n }\n\n const triggerUpload = (e: MouseEvent<HTMLDivElement>) => {\n if (!disabled) {\n fileInputField.current?.click()\n }\n e.stopPropagation()\n }\n\n const renderChildren = () => {\n if (!draggable && !children) {\n return (\n <Button disabled={disabled} onClick={(e) => e.preventDefault()}>\n Upload\n </Button>\n )\n }\n\n if (draggable && !children) {\n return <span>Choose a file or drag and drop here</span>\n }\n\n return children\n }\n\n const handleDragLeave = useCallback(() => {\n if (draggable) {\n setDragOver(false)\n }\n }, [draggable])\n\n const handleDragOver = useCallback(() => {\n if (draggable && !disabled) {\n setDragOver(true)\n }\n }, [draggable, disabled])\n\n const handleDrop = useCallback(() => {\n if (draggable) {\n setDragOver(false)\n }\n }, [draggable])\n\n const draggableProp = {\n onDragLeave: handleDragLeave,\n onDragOver: handleDragOver,\n onDrop: handleDrop,\n }\n\n const draggableEventFeedbackClass = `border-primary`\n\n const uploadClass = classNames(\n 'upload',\n draggable && `upload-draggable`,\n draggable && !disabled && `hover:${draggableEventFeedbackClass}`,\n draggable && disabled && 'disabled',\n dragOver && draggableEventFeedbackClass,\n className,\n )\n\n const uploadInputClass = classNames(\n 'upload-input',\n draggable && `draggable`,\n )\n\n return (\n <>\n <div\n ref={ref}\n className={uploadClass}\n {...(draggable ? draggableProp : { onClick: triggerUpload })}\n {...(rest as any)}\n >\n <input\n ref={fileInputField}\n className={uploadInputClass}\n type=\"file\"\n disabled={disabled}\n multiple={multiple}\n accept={accept}\n title=\"\"\n value=\"\"\n onChange={onNewFileUpload}\n ></input>\n {renderChildren()}\n </div>\n {tip}\n </>\n )\n}\n\nexport default UploadCustom\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"UploadCustom.js","sources":["../../../../../lib/@ecme/components/ui/UploadCustom/UploadCustom.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { useRef, useState, useCallback } from 'react'\nimport classNames from '../utils/classNames'\nimport Button from '../Button/Button'\nimport Notification from '../Notification/Notification'\nimport toast from '../toast/toast'\nimport type { CommonProps } from '../@types/common'\nimport type { ReactNode, ChangeEvent, MouseEvent, Ref } from 'react'\n\nexport interface UploadCustomProps extends CommonProps {\n accept?: string\n beforeUpload?: (file: FileList | null) => boolean | string\n disabled?: boolean\n draggable?: boolean\n multiple?: boolean\n onChange?: (files: File[]) => void\n ref?: Ref<HTMLDivElement>\n tip?: string | ReactNode\n}\n\nconst UploadCustom = (props: UploadCustomProps) => {\n const {\n accept,\n beforeUpload,\n disabled = false,\n draggable = false,\n multiple,\n onChange,\n ref,\n tip,\n children,\n className,\n ...rest\n } = props\n\n const fileInputField = useRef<HTMLInputElement>(null)\n const [dragOver, setDragOver] = useState(false)\n\n const triggerMessage = (msg: string | ReactNode = '') => {\n toast.push(\n <Notification type=\"danger\" duration={2000}>\n {msg || 'Upload Failed!'}\n </Notification>,\n {\n placement: 'top-center',\n },\n )\n }\n\n const onNewFileUpload = (e: ChangeEvent<HTMLInputElement>) => {\n const { files: newFiles } = e.target\n let result: boolean | string = true\n\n if (beforeUpload) {\n result = beforeUpload(newFiles)\n\n if (result === false) {\n triggerMessage()\n return\n }\n\n if (typeof result === 'string' && result.length > 0) {\n triggerMessage(result)\n return\n }\n }\n\n if (result && newFiles) {\n // Converte FileList para Array e passa apenas os novos arquivos\n const filesArray = Array.from(newFiles)\n onChange?.(filesArray)\n }\n\n // Limpa o input para permitir selecionar o mesmo arquivo novamente\n if (fileInputField.current) {\n fileInputField.current.value = ''\n }\n }\n\n const triggerUpload = (e: MouseEvent<HTMLDivElement>) => {\n if (!disabled) {\n fileInputField.current?.click()\n }\n e.stopPropagation()\n }\n\n const renderChildren = () => {\n if (!draggable && !children) {\n return (\n <Button disabled={disabled} onClick={(e) => e.preventDefault()}>\n Upload\n </Button>\n )\n }\n\n if (draggable && !children) {\n return <span>Escolha um arquivo ou arraste-o aqui</span>\n }\n\n return children\n }\n\n const handleDragLeave = useCallback(() => {\n if (draggable) {\n setDragOver(false)\n }\n }, [draggable])\n\n const handleDragOver = useCallback(() => {\n if (draggable && !disabled) {\n setDragOver(true)\n }\n }, [draggable, disabled])\n\n const handleDrop = useCallback(() => {\n if (draggable) {\n setDragOver(false)\n }\n }, [draggable])\n\n const draggableProp = {\n onDragLeave: handleDragLeave,\n onDragOver: handleDragOver,\n onDrop: handleDrop,\n }\n\n const draggableEventFeedbackClass = `border-primary`\n\n const uploadClass = classNames(\n 'upload',\n draggable && `upload-draggable`,\n draggable && !disabled && `hover:${draggableEventFeedbackClass}`,\n draggable && disabled && 'disabled',\n dragOver && draggableEventFeedbackClass,\n className,\n )\n\n const uploadInputClass = classNames(\n 'upload-input',\n draggable && `draggable`,\n )\n\n return (\n <>\n <div\n ref={ref}\n className={uploadClass}\n {...(draggable ? draggableProp : { onClick: triggerUpload })}\n {...(rest as any)}\n >\n <input\n ref={fileInputField}\n className={uploadInputClass}\n type=\"file\"\n disabled={disabled}\n multiple={multiple}\n accept={accept}\n title=\"\"\n value=\"\"\n onChange={onNewFileUpload}\n ></input>\n {renderChildren()}\n </div>\n {tip}\n </>\n )\n}\n\nexport default UploadCustom\n"],"names":[],"mappings":"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"}
@@ -147,7 +147,7 @@ const Upload = (props: UploadProps) => {
147
147
  }
148
148
 
149
149
  if (draggable && !children) {
150
- return <span>Choose a file or drag and drop here</span>
150
+ return <span>Escolha um arquivo ou arraste-o aqui</span>
151
151
  }
152
152
 
153
153
  return children
@@ -94,7 +94,7 @@ const UploadCustom = (props: UploadCustomProps) => {
94
94
  }
95
95
 
96
96
  if (draggable && !children) {
97
- return <span>Choose a file or drag and drop here</span>
97
+ return <span>Escolha um arquivo ou arraste-o aqui</span>
98
98
  }
99
99
 
100
100
  return children
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@orbe-agro/client-core",
3
- "version": "5.6.247",
3
+ "version": "5.6.248",
4
4
  "description": "Biblioteca principal de componentes e utilidades para os microfrontends do Orbe Agro.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",