@zydon/common 2.7.78 → 2.7.79
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunk-6UWD6IZZ.js +25 -0
- package/dist/chunk-6UWD6IZZ.js.map +1 -0
- package/dist/chunk-BLVCNBTJ.js +7 -0
- package/dist/chunk-BLVCNBTJ.js.map +1 -0
- package/dist/{chunk-45OMMG7D.js → chunk-FBN7HCBY.js} +2 -2
- package/dist/chunk-FBN7HCBY.js.map +1 -0
- package/dist/{chunk-HWYA3EGC.js → chunk-HYJEAKVR.js} +2 -2
- package/dist/{chunk-ZGSSTXUO.js → chunk-LQZSZV2W.js} +2 -2
- package/dist/{chunk-5LQLLZ5L.js → chunk-PSWJSHGP.js} +2 -2
- package/dist/{chunk-IGOVBLZ2.js → chunk-QLGWOE3Q.js} +2 -2
- package/dist/chunk-QLGWOE3Q.js.map +1 -0
- package/dist/{chunk-YDLDZVF5.js → chunk-QXRGT442.js} +3 -3
- package/dist/chunk-QXRGT442.js.map +1 -0
- package/dist/{chunk-23NOJPUV.js → chunk-YHKVYGTG.js} +2 -2
- package/dist/{chunk-23NOJPUV.js.map → chunk-YHKVYGTG.js.map} +1 -1
- package/dist/{chunk-WYJV57WG.js → chunk-YKV6FK6D.js} +2 -2
- package/dist/components/Autocomplete/index.js +1 -1
- package/dist/components/AutocompleteDetailed/index.js +1 -1
- package/dist/components/Avatar/index.d.ts +1 -3
- package/dist/components/BulkEditModal/index.js +2 -2
- package/dist/components/CopyButton/index.js +2 -2
- package/dist/components/DataView/index.d.ts +7 -21
- package/dist/components/DataView/index.js +1 -1
- package/dist/components/DragButton/index.d.ts +1 -3
- package/dist/components/DragContainer/index.d.ts +1 -3
- package/dist/components/DynamicDataView/index.d.ts +2 -2
- package/dist/components/DynamicDataView/index.js +5 -5
- package/dist/components/FieldMentions/index.js +3 -3
- package/dist/components/FieldMentions/index.js.map +1 -1
- package/dist/components/FileUpload/index.js +2 -2
- package/dist/components/FrameSkeleton/index.js +3 -3
- package/dist/components/InfoCircle/index.js +1 -1
- package/dist/components/ListBundles/index.d.ts +2 -1
- package/dist/components/Result/index.d.ts +1 -1
- package/dist/components/Tooltip/index.js +1 -1
- package/dist/components/carousel/index.d.ts +3 -9
- package/dist/components/form/Address/index.js +2 -2
- package/dist/components/form/Autocomplete/index.js +2 -2
- package/dist/components/form/AutocompleteDetailed/index.js +1 -1
- package/dist/components/form/Codes/index.js +1 -1
- package/dist/components/form/FileUpload/index.js +2 -2
- package/dist/components/form/Webhook/index.js +2 -2
- package/dist/hooks/useCollapseSidebarOnMount.js +3 -3
- package/dist/hooks/useDatagrid.d.ts +2 -2
- package/dist/hooks/useDatagrid.js +2 -2
- package/dist/hooks/useDatagrid.js.map +1 -1
- package/dist/hooks/useDeepCompareEffect.js +2 -2
- package/dist/hooks/useDeepCompareEffect.js.map +1 -1
- package/dist/hooks/useEventListener.d.ts +2 -2
- package/dist/hooks/useEventListener.js +1 -1
- package/dist/hooks/useLocalStorage.js +2 -2
- package/dist/hooks/useOnClickOutside.js +1 -1
- package/dist/hooks/useScrollOffSetTop.d.ts +1 -1
- package/dist/hooks/useScrollOffSetTop.js +1 -1
- package/dist/hooks/useScrollOffSetTop.js.map +1 -1
- package/dist/hooks/useSnackbar.d.ts +8 -8
- package/dist/theme/styles/index.d.ts +203 -116
- package/dist/types/sectionProps.d.ts +2 -2
- package/package.json +7 -7
- package/dist/chunk-45OMMG7D.js.map +0 -1
- package/dist/chunk-IGOVBLZ2.js.map +0 -1
- package/dist/chunk-L5URMM57.js +0 -7
- package/dist/chunk-L5URMM57.js.map +0 -1
- package/dist/chunk-UJGDCLUU.js +0 -25
- package/dist/chunk-UJGDCLUU.js.map +0 -1
- package/dist/chunk-YDLDZVF5.js.map +0 -1
- /package/dist/{chunk-HWYA3EGC.js.map → chunk-HYJEAKVR.js.map} +0 -0
- /package/dist/{chunk-ZGSSTXUO.js.map → chunk-LQZSZV2W.js.map} +0 -0
- /package/dist/{chunk-5LQLLZ5L.js.map → chunk-PSWJSHGP.js.map} +0 -0
- /package/dist/{chunk-WYJV57WG.js.map → chunk-YKV6FK6D.js.map} +0 -0
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { RefObject, ReactNode } from 'react';
|
|
2
2
|
import { StackProps } from '@mui/material/Stack';
|
|
3
3
|
|
|
4
4
|
interface SectionProps {
|
|
5
5
|
title?: string;
|
|
6
6
|
id?: string;
|
|
7
|
-
ref:
|
|
7
|
+
ref: RefObject<HTMLElement | null>;
|
|
8
8
|
subTitle?: string;
|
|
9
9
|
isRequired?: boolean;
|
|
10
10
|
child: ReactNode;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zydon/common",
|
|
3
|
-
"version": "2.7.
|
|
3
|
+
"version": "2.7.79",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"module": "./dist/index.js",
|
|
@@ -107,9 +107,9 @@
|
|
|
107
107
|
"@types/jest-axe": "^3.5.9",
|
|
108
108
|
"@types/lodash": "^4.17.20",
|
|
109
109
|
"@types/node": "^20.0.0",
|
|
110
|
-
"@types/react": "^
|
|
110
|
+
"@types/react": "^19.2.7",
|
|
111
111
|
"@types/react-color": "^3.0.13",
|
|
112
|
-
"@types/react-dom": "^
|
|
112
|
+
"@types/react-dom": "^19.2.3",
|
|
113
113
|
"@types/react-window": "^1.8.8",
|
|
114
114
|
"@typescript-eslint/eslint-plugin": "^6.4.1",
|
|
115
115
|
"@typescript-eslint/parser": "^6.4.1",
|
|
@@ -132,8 +132,8 @@
|
|
|
132
132
|
"postcss": "^8.4.41",
|
|
133
133
|
"postcss-import": "^16.1.0",
|
|
134
134
|
"prettier": "^3.0.2",
|
|
135
|
-
"react": "^
|
|
136
|
-
"react-dom": "^
|
|
135
|
+
"react": "^19.2.1",
|
|
136
|
+
"react-dom": "^19.2.1",
|
|
137
137
|
"react-hook-form": "^7.53.0",
|
|
138
138
|
"ts-jest": "^29.2.5",
|
|
139
139
|
"tsup": "6.6.0",
|
|
@@ -175,8 +175,8 @@
|
|
|
175
175
|
"@mui/material": "^5.16.7",
|
|
176
176
|
"@mui/x-data-grid-premium": "^7.14.0",
|
|
177
177
|
"@mui/x-date-pickers-pro": "^7.14.0",
|
|
178
|
-
"react": "^18.
|
|
179
|
-
"react-dom": "^18.
|
|
178
|
+
"react": "^17.0.0 || ^18.0.0 || ^19.0.0",
|
|
179
|
+
"react-dom": "^17.0.0 || ^18.0.0 || ^19.0.0",
|
|
180
180
|
"react-hook-form": "^7.53.0"
|
|
181
181
|
},
|
|
182
182
|
"jest-junit": {
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/Tooltip/index.tsx"],"names":["cloneElement","MuiTooltip","jsx","Tooltip","children","props","childElement","Tooltip_default"],"mappings":"AAAA,OAAS,gBAAAA,MAAkC,QAC3C,OAAOC,MAAkC,wBAMrC,cAAAC,MAAA,oBAJJ,IAAMC,EAAU,CAAC,CAAE,SAAAC,EAAU,GAAGC,CAAM,IAAoB,CACxD,IAAMC,EAAeF,EAErB,OACEF,EAACD,EAAA,CAAY,GAAGI,EACb,SAAAL,EAAaM,EAAc,CAC1B,MAAO,CAAE,WAAY,OAAQ,GAAGA,EAAa,MAAM,KAAM,CAC3D,CAAC,EACH,CAEJ,EAEOC,EAAQJ","sourcesContent":["import { cloneElement, ReactElement } from 'react';\nimport MuiTooltip, { TooltipProps } from '@mui/material/Tooltip';\n\nconst Tooltip = ({ children, ...props }: TooltipProps) => {\n const childElement = children as ReactElement;\n\n return (\n <MuiTooltip {...props}>\n {cloneElement(childElement, {\n style: { userSelect: 'none', ...childElement.props.style },\n })}\n </MuiTooltip>\n );\n};\n\nexport default Tooltip;\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/Autocomplete/index.tsx","../src/components/Autocomplete/Listbox.tsx","../src/components/Autocomplete/styles.ts"],"names":["forwardRef","useCallback","useMemo","MuiAutocomplete","CircularProgress","TextField","createContext","useContext","useEffect","useRef","VariableSizeList","ListSubheader","Stack","useTheme","Typography","useMediaQuery","jsx","jsxs","LISTBOX_PADDING","renderRow","props","data","index","style","dataSet","showValueInLabel","key","itemProps","inlineStyle","Icon_default","OuterElementContext","OuterElementType","ref","outerProps","useResetCache","ListboxComponent","children","other","itemData","item","theme","smUp","itemCount","itemSize","getChildSize","child","getHeight","a","b","gridRef","Listbox_default","autocompleteClasses","Popper","styled","StyledPopper","Fragment","getOptionValue","optionValue","Autocomplete","name","label","value","options","loading","noOptionsText","loadingText","error","helperText","placeholder","onChange","groupBy","disabled","multiple","required","renderOption","tabIndex","onInputChange","onSearch","onBlur","InputLabelProps","optionsMap","opt","formattedValue","v","filterOptions","optionsFilter","state","searchUpper","listboxComponentWithoutRenderOption","startAdornment","isString","isArray","handleInputChange","event","eventValue","reason","handleChange","_event","option","handleBlur","renderInput","params","renderOptionWrapper","ownerState","Autocomplete_default"],"mappings":"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","sourcesContent":["import { forwardRef, ReactNode, useCallback, useMemo } from 'react';\nimport MuiAutocomplete, {\n AutocompleteInputChangeReason,\n AutocompleteRenderInputParams,\n AutocompleteRenderOptionState,\n} from '@mui/material/Autocomplete';\nimport CircularProgress from '@mui/material/CircularProgress';\nimport TextField from '@mui/material/TextField';\n\nimport { AutocompleteProps } from 'types/autoCompleteProps';\nimport { Option } from 'types/option';\n\nimport Icon, { IconEnum } from '../Icon';\n\nimport ListboxComponent from './Listbox';\nimport { StyledPopper } from './styles';\n\nconst getOptionValue = (optionValue: Option | string | number) =>\n optionValue && typeof optionValue === 'object'\n ? optionValue.value.toString()\n : optionValue.toString();\n\nconst Autocomplete = forwardRef<unknown, AutocompleteProps>(\n (\n {\n name,\n label,\n value,\n options = [],\n loading,\n noOptionsText = 'Nenhum resultado encontrado.',\n loadingText = 'Carregando opções...',\n error,\n helperText,\n placeholder,\n onChange,\n groupBy,\n showValueInLabel,\n disabled,\n multiple,\n required,\n renderOption,\n tabIndex,\n onInputChange,\n onSearch,\n onBlur,\n InputLabelProps,\n ...other\n },\n ref,\n ) => {\n\n const optionsMap = useMemo(\n () => new Map(options.map(opt => [opt.value.toString(), opt])),\n [options],\n );\n\n const formattedValue = useMemo(() => {\n if (multiple) {\n const values = Array.isArray(value) ? value : [];\n return values\n .map(v => optionsMap.get(v.toString()))\n .filter(Boolean) as Option[];\n }\n\n if (value?.toString()) return optionsMap.get(value.toString()) || null;\n\n return null;\n }, [optionsMap, value, multiple]);\n\n const filterOptions = (\n optionsFilter: Option[],\n state: { inputValue: string },\n ) => {\n const searchUpper = state.inputValue.toLocaleUpperCase();\n return optionsFilter.filter(opt => {\n const search = `${opt.value} ${opt.label}`;\n return search.toLocaleUpperCase().includes(searchUpper);\n });\n };\n\n const listboxComponentWithoutRenderOption = useMemo(\n () => (renderOption ? undefined : ListboxComponent),\n [renderOption],\n );\n\n const startAdornment = useMemo(() => {\n const isString = typeof formattedValue === 'string';\n const isArray = Array.isArray(formattedValue);\n const existsIcon =\n formattedValue && !isString && !isArray && formattedValue?.icon;\n\n if (existsIcon) {\n return <Icon icon={formattedValue.icon as IconEnum} />;\n }\n\n return null;\n }, [formattedValue]);\n\n const handleInputChange = useCallback(\n (\n event: React.SyntheticEvent,\n eventValue: string,\n reason: AutocompleteInputChangeReason,\n ) => {\n if (onInputChange) onInputChange(event, eventValue, reason);\n\n if (reason === 'input') {\n if (onSearch) {\n onSearch(eventValue);\n }\n\n return;\n }\n },\n [onInputChange, onSearch],\n );\n\n const handleChange = useCallback(\n (\n _event: React.SyntheticEvent,\n option: NonNullable<string | Option> | (string | Option)[] | null,\n ) => {\n if (!option) {\n onChange(multiple ? [] : null);\n return;\n }\n\n if (Array.isArray(option)) {\n onChange(option.map(getOptionValue));\n return;\n }\n\n if (typeof option === 'string') {\n onChange(option.toString());\n return;\n }\n\n onChange(option.value.toString());\n return;\n },\n [onChange, multiple],\n );\n\n const handleBlur = useCallback(\n (event: React.FocusEvent<HTMLInputElement>) => {\n if (onBlur) onBlur(event);\n },\n [onBlur],\n );\n\n const renderInput = useCallback(\n (params: AutocompleteRenderInputParams) => (\n <TextField\n {...params}\n name={name}\n placeholder={placeholder}\n fullWidth\n error={!!error}\n helperText={helperText}\n label={label}\n required={required}\n InputProps={{\n ...params.InputProps,\n ...(!multiple && { startAdornment }),\n endAdornment: (\n <>\n {loading ? (\n <CircularProgress color=\"primary\" size={20} />\n ) : null}\n {params.InputProps.endAdornment}\n </>\n ),\n }}\n inputProps={{\n ...params.inputProps,\n name,\n tabIndex,\n }}\n InputLabelProps={InputLabelProps}\n />\n ),\n [\n name,\n placeholder,\n error,\n helperText,\n label,\n required,\n multiple,\n startAdornment,\n loading,\n tabIndex,\n InputLabelProps,\n ],\n );\n\n const renderOptionWrapper = useCallback(\n (\n props: React.HTMLAttributes<HTMLLIElement> & { key: unknown },\n option: Option,\n state: AutocompleteRenderOptionState,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ownerState: any,\n ) =>\n renderOption\n ? renderOption(props, option, state, ownerState)\n : ([{ ...props, showValueInLabel }, option] as ReactNode),\n [renderOption, showValueInLabel],\n );\n\n return (\n <MuiAutocomplete\n ref={ref}\n value={formattedValue}\n onInputChange={handleInputChange}\n options={options}\n loading={loading}\n noOptionsText={noOptionsText}\n loadingText={loadingText}\n disabled={loading || disabled}\n disableListWrap\n PopperComponent={StyledPopper}\n ListboxComponent={listboxComponentWithoutRenderOption}\n filterOptions={filterOptions}\n onChange={handleChange}\n onBlur={handleBlur}\n renderOption={renderOptionWrapper}\n renderGroup={params => params as unknown as ReactNode}\n groupBy={groupBy}\n multiple={multiple}\n renderInput={renderInput}\n {...other}\n />\n );\n },\n);\n\nAutocomplete.displayName = 'Autocomplete';\n\nexport default Autocomplete;\n","import {\n createContext,\n forwardRef,\n HTMLAttributes,\n useContext,\n useEffect,\n useRef,\n} from 'react';\nimport { ListChildComponentProps, VariableSizeList } from 'react-window';\nimport ListSubheader from '@mui/material/ListSubheader';\nimport Stack from '@mui/material/Stack';\nimport { useTheme } from '@mui/material/styles';\nimport Typography from '@mui/material/Typography';\nimport useMediaQuery from '@mui/material/useMediaQuery';\n\nimport Icon from '../Icon';\n\nconst LISTBOX_PADDING = 8;\n\nconst renderRow = (props: ListChildComponentProps) => {\n const { data, index, style } = props;\n const dataSet = data[index];\n const { showValueInLabel, key, ...itemProps } = dataSet[0];\n\n const inlineStyle = {\n ...style,\n top: (style.top as number) + LISTBOX_PADDING,\n paddingTop: 8,\n };\n\n if (Object.prototype.hasOwnProperty.call(dataSet, 'group'))\n return (\n <ListSubheader\n key={`list-box-item-group-${key}`}\n component=\"div\"\n style={inlineStyle}\n >\n {dataSet.group}\n </ListSubheader>\n );\n\n return (\n <Typography\n component=\"li\"\n key={`list-box-item-${key}`}\n {...itemProps}\n noWrap\n style={inlineStyle}\n >\n <Stack\n component=\"div\"\n direction=\"row\"\n flex={1}\n gap={1}\n justifyContent=\"start\"\n >\n {dataSet[1].icon && <Icon icon={dataSet[1].icon} />}\n {dataSet[1].label}\n\n {showValueInLabel && (\n <Typography variant=\"inherit\" color=\"grey.400\">\n ({dataSet[1].value})\n </Typography>\n )}\n </Stack>\n </Typography>\n );\n};\n\nconst OuterElementContext = createContext({});\n\nconst OuterElementType = forwardRef<HTMLDivElement>((props, ref) => {\n const outerProps = useContext(OuterElementContext);\n return <div ref={ref} {...props} {...outerProps} />;\n});\n\nOuterElementType.displayName = 'OuterElementType';\n\nconst useResetCache = (data: number) => {\n const ref = useRef<VariableSizeList>(null);\n\n useEffect(() => {\n if (ref.current != null) {\n ref.current.resetAfterIndex(0, true);\n }\n }, [data]);\n\n return ref;\n};\n\nconst ListboxComponent = forwardRef<\n HTMLDivElement,\n HTMLAttributes<HTMLElement>\n>(function ListboxComponent(props, ref) {\n const { children, ...other } = props;\n const itemData: JSX.Element[] = [];\n (children as JSX.Element[]).forEach(\n (item: JSX.Element & { children?: JSX.Element[] }) => {\n itemData.push(item);\n itemData.push(...(item.children || []));\n },\n );\n\n const theme = useTheme();\n const smUp = useMediaQuery(theme.breakpoints.up('sm'));\n const itemCount = itemData.length;\n const itemSize = smUp ? 36 : 48;\n\n const getChildSize = (child: JSX.Element) => {\n if (Object.prototype.hasOwnProperty.call(child, 'group')) {\n return 48;\n }\n\n return itemSize;\n };\n\n const getHeight = () => {\n if (itemCount > 8) {\n return 8 * itemSize;\n }\n return itemData.map(getChildSize).reduce((a, b) => a + b, 0);\n };\n\n const gridRef = useResetCache(itemCount);\n\n return (\n <div ref={ref}>\n <OuterElementContext.Provider value={other}>\n <VariableSizeList\n itemData={itemData}\n height={getHeight() + 2 * LISTBOX_PADDING}\n width=\"100%\"\n ref={gridRef}\n outerElementType={OuterElementType}\n innerElementType=\"ul\"\n itemSize={index => getChildSize(itemData[index])}\n overscanCount={5}\n itemCount={itemCount}\n >\n {renderRow}\n </VariableSizeList>\n </OuterElementContext.Provider>\n </div>\n );\n});\n\nexport default ListboxComponent;\n","import { autocompleteClasses } from '@mui/material/Autocomplete';\nimport Popper from '@mui/material/Popper';\nimport { styled } from '@mui/material/styles';\n\nexport const StyledPopper = styled(Popper)({\n [`& .${autocompleteClasses.listbox}`]: {\n boxSizing: 'border-box',\n '& ul': {\n padding: 0,\n margin: 0,\n },\n },\n});\n"]}
|
package/dist/chunk-L5URMM57.js
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { useRef, useEffect, useLayoutEffect } from 'react';
|
|
2
|
-
|
|
3
|
-
var a=typeof window<"u"?useLayoutEffect:useEffect;function u(n,t,o,d){let i=useRef(t);a(()=>{i.current=t;},[t]),useEffect(()=>{let e=o?.current||window;if(!(e&&e.addEventListener))return;let v=E=>i.current(E);return e.addEventListener(n,v,d),()=>{e.removeEventListener(n,v);}},[n,o,d]);}var L=u;
|
|
4
|
-
|
|
5
|
-
export { L as a };
|
|
6
|
-
//# sourceMappingURL=out.js.map
|
|
7
|
-
//# sourceMappingURL=chunk-L5URMM57.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/hooks/useEventListener.ts"],"names":["useEffect","useLayoutEffect","useRef","useIsomorphicLayoutEffect","useEventListener","eventName","handler","element","options","savedHandler","targetElement","eventListener","event","useEventListener_default"],"mappings":"AAAA,OAAoB,aAAAA,EAAW,mBAAAC,EAAiB,UAAAC,MAAc,QAE9D,IAAMC,EACJ,OAAO,OAAW,IAAcF,EAAkBD,EA6BpD,SAASI,EAKPC,EACAC,EAGAC,EACAC,EACA,CAEA,IAAMC,EAAeP,EAAOI,CAAO,EAEnCH,EAA0B,IAAM,CAC9BM,EAAa,QAAUH,CACzB,EAAG,CAACA,CAAO,CAAC,EAEZN,EAAU,IAAM,CAEd,IAAMU,EAA4BH,GAAS,SAAW,OACtD,GAAI,EAAEG,GAAiBA,EAAc,kBACnC,OAIF,IAAMC,EAAgCC,GAASH,EAAa,QAAQG,CAAK,EAEzE,OAAAF,EAAc,iBAAiBL,EAAWM,EAAeH,CAAO,EAGzD,IAAM,CACXE,EAAc,oBAAoBL,EAAWM,CAAa,CAC5D,CACF,EAAG,CAACN,EAAWE,EAASC,CAAO,CAAC,CAClC,CAEA,IAAOK,EAAQT","sourcesContent":["import { RefObject, useEffect, useLayoutEffect, useRef } from 'react';\n\nconst useIsomorphicLayoutEffect =\n typeof window !== 'undefined' ? useLayoutEffect : useEffect;\n\n// Window Event based useEventListener interface\nfunction useEventListener<K extends keyof WindowEventMap>(\n eventName: K,\n handler: (event: WindowEventMap[K]) => void,\n element?: undefined,\n options?: boolean | AddEventListenerOptions,\n): void;\n\n// Element Event based useEventListener interface\nfunction useEventListener<\n K extends keyof HTMLElementEventMap,\n T extends HTMLElement = HTMLDivElement,\n>(\n eventName: K,\n handler: (event: HTMLElementEventMap[K]) => void,\n element: RefObject<T>,\n options?: boolean | AddEventListenerOptions,\n): void;\n\n// Document Event based useEventListener interface\nfunction useEventListener<K extends keyof DocumentEventMap>(\n eventName: K,\n handler: (event: DocumentEventMap[K]) => void,\n element: RefObject<Document>,\n options?: boolean | AddEventListenerOptions,\n): void;\n\nfunction useEventListener<\n KW extends keyof WindowEventMap,\n KH extends keyof HTMLElementEventMap,\n T extends HTMLElement | void = void,\n>(\n eventName: KW | KH,\n handler: (\n event: WindowEventMap[KW] | HTMLElementEventMap[KH] | Event,\n ) => void,\n element?: RefObject<T>,\n options?: boolean | AddEventListenerOptions,\n) {\n // Create a ref that stores handler\n const savedHandler = useRef(handler);\n\n useIsomorphicLayoutEffect(() => {\n savedHandler.current = handler;\n }, [handler]);\n\n useEffect(() => {\n // Define the listening target\n const targetElement: T | Window = element?.current || window;\n if (!(targetElement && targetElement.addEventListener)) {\n return;\n }\n\n // Create event listener that calls handler function stored in ref\n const eventListener: typeof handler = event => savedHandler.current(event);\n\n targetElement.addEventListener(eventName, eventListener, options);\n\n // Remove event listener on cleanup\n return () => {\n targetElement.removeEventListener(eventName, eventListener);\n };\n }, [eventName, element, options]);\n}\n\nexport default useEventListener;\n"]}
|
package/dist/chunk-UJGDCLUU.js
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { a as a$5 } from './chunk-RPPQBAVO.js';
|
|
2
|
-
import { a as a$6 } from './chunk-IJZCVZ32.js';
|
|
3
|
-
import { a as a$9 } from './chunk-IDFJFFIV.js';
|
|
4
|
-
import { a as a$7 } from './chunk-6U5LS7MP.js';
|
|
5
|
-
import { i, j, a as a$3, b as b$1, c, d, f, e, g, h } from './chunk-TB4Y7LXN.js';
|
|
6
|
-
import { a as a$1 } from './chunk-IN7SP2ND.js';
|
|
7
|
-
import { a as a$4 } from './chunk-CO2KQFUN.js';
|
|
8
|
-
import { a } from './chunk-NQNNMRLC.js';
|
|
9
|
-
import { a as a$8 } from './chunk-XWUVJ22J.js';
|
|
10
|
-
import { a as a$2 } from './chunk-LQRRMVFN.js';
|
|
11
|
-
import { b } from './chunk-RPO7AI5K.js';
|
|
12
|
-
import { memo, forwardRef, Children, isValidElement, cloneElement, useCallback, useState, useMemo } from 'react';
|
|
13
|
-
import I from '@mui/material/Button';
|
|
14
|
-
import Lo from '@mui/material/CircularProgress';
|
|
15
|
-
import Fo from '@mui/material/Divider';
|
|
16
|
-
import co from '@mui/material/Stack';
|
|
17
|
-
import eo from '@mui/material/Typography';
|
|
18
|
-
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
19
|
-
import { GridToolbarColumnsButton } from '@mui/x-data-grid-premium';
|
|
20
|
-
|
|
21
|
-
var k="datagrid-actions";var Ao=({rowCount:t,page:e,rowsPerPage:r,onPaginationChange:i$1})=>jsxs(i,{children:[jsxs(co,{direction:"row",alignItems:"center",gap:.5,children:[jsx(eo,{variant:"body2",color:"text.disabled",children:"Total de itens:"}),jsx(eo,{variant:"body2",children:t})]}),jsx(j,{count:t,page:e,rowsPerPage:r,onPageChange:n=>i$1(n,r),onRowsPerPageChange:n=>i$1(e,n)})]}),ao=memo(Ao);var io=(t,e)=>Children.map(t,r=>{if(!isValidElement(r))return r;let i=r.props.onClick,n={};return n.onClick=(...S)=>{e(),i&&i(...S);},r.props?.children&&(n.children=io(r.props.children,e)),cloneElement(r,n)}),Ro=({children:t,onClose:e})=>t?io(t,e):null,so=memo(Ro);var Bo=forwardRef(({children:t,...e},r)=>jsx(I,{...e,ref:r,color:"inherit",startIcon:jsx(a,{icon:"COLUMNS"}),children:t??"Colunas"}));Bo.displayName="ColumnsButton";var Oo=({setFilterButtonEl:t})=>{let e=useCallback(r=>{t(r);},[t]);return jsx(a$1,{container:k,children:jsx(GridToolbarColumnsButton,{ref:e,slotProps:{button:{color:"inherit",startIcon:jsx(a,{icon:"COLUMNS"}),children:"Colunas"}}})})},po=Oo;var zo=({title:t,headerContent:e$1,breakpoint:r="md",columns:i,rows:n=[],mobileRender:S,rowCount:b$2=0,paginationModel:s={page:0,pageSize:25},onPaginationChange:g$1,actions:E,moreActions:M,onAdd:x,onSearch:B,searchValue:mo,onSearchChange:fo,slots:m,slotProps:uo,loading:f$1,fetching:O,containerProps:ho={height:562,maxHeight:562},hideFooter:G,hideHeader:N=!1,showColumnButton:D=!1,...go})=>{let l=a$2(),u=b("down",r),[Po,Co]=useState(null),H=!!B,A=!!x,P=!!E,T=!!M,v=u&&T,w=!u&&T,ko=P||A||v,L=w||H||D||!u,F=useCallback(()=>jsx(ao,{rowCount:b$2,page:s.page,rowsPerPage:s.pageSize,onPaginationChange:g$1}),[b$2,s,g$1]),So=useMemo(()=>({...m,footer:F,...D&&!m?.toolbar&&{toolbar:po}}),[m,F,D]);return jsxs(a$3,{breakpoint:r,...ho,flex:f$1?1:void 0,minHeight:!f$1&&n.length===0?562:void 0,children:[!N&&jsxs(Fragment,{children:[jsxs(b$1,{breakpoint:r,children:[jsx(eo,{variant:"overline",color:"text.secondary",noWrap:!0,children:t}),ko&&jsxs(c,{breakpoint:r,children:[P&&E,A&&jsxs(Fragment,{children:[P&&jsx(d,{orientation:"vertical",flexItem:!0}),jsx(I,{startIcon:jsx(a,{icon:"SIMPLE_ADD"}),variant:"contained",onClick:x,children:"Adicionar"})]}),v&&jsxs(Fragment,{children:[(P||A)&&jsx(d,{orientation:"vertical",flexItem:!0}),jsx(I,{color:"inherit",startIcon:jsx(a,{icon:"MORE_BOLD"}),size:"small",onClick:l.onOpen,children:"Mais"})]})]})]}),L&&jsxs(f,{breakpoint:r,children:[jsx(co,{flex:1,direction:"row",alignItems:"center",id:k,gap:.5,children:T&&jsxs(Fragment,{children:[w&&jsxs(Fragment,{children:[jsx(I,{color:"inherit",startIcon:jsx(a,{icon:"MORE_BOLD"}),size:"small",onClick:l.onOpen,children:"Mais"}),!u&&jsx(e,{orientation:"vertical",flexItem:!0})]}),(w||v)&&jsx(a$4,{open:l.open,anchorEl:l.open,onClose:l.onClose,sx:{minWidth:160},disabledArrow:!0,children:jsx(so,{onClose:l.onClose,children:M})})]})}),H&&jsx(g,{breakpoint:r,children:jsx(a$5,{value:mo,placeholder:"Buscar",onSearch:B,onChange:p=>fo?.(p.target.value),size:"small",fullWidth:!0,iconPosition:"start"})})]})]}),!L&&!N&&jsx(Fo,{sx:{mt:2}}),e$1&&e$1,u?jsxs(a$6,{isFetching:O,fetching:jsx(a$7,{}),isLoading:f$1,loading:jsx(Lo,{sx:{m:"160px auto"}}),isEmpty:n.length===0,empty:jsx(co,{flex:1,alignItems:"center",justifyContent:"center",children:m?.noRowsOverlay?jsx(m.noRowsOverlay,{}):jsx(eo,{variant:"body2",color:"text.secondary",children:"Nenhum registro encontrado"})}),children:[jsx(a$8,{fillContent:!0,children:n.map(p=>S(p))}),!G&&jsx(h,{children:jsx(j,{count:b$2,page:s.page,rowsPerPage:s.pageSize,onPageChange:p=>g$1(p,s.pageSize),onRowsPerPageChange:p=>g$1(s.page,p)})})]}):jsx(a$9,{columns:i,rows:n,slots:So,slotProps:{panel:{anchorEl:Po},toolbar:{setFilterButtonEl:Co,showQuickFilter:!0},...uo},columnHeaderHeight:48,getRowHeight:()=>68,loading:f$1,fetching:O,hideFooter:G,...go})]},f$1?"loading":"data")},Ir=zo;
|
|
22
|
-
|
|
23
|
-
export { ao as a, so as b, po as c, Ir as d };
|
|
24
|
-
//# sourceMappingURL=out.js.map
|
|
25
|
-
//# sourceMappingURL=chunk-UJGDCLUU.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/DataView/index.tsx","../src/components/DataView/contants.ts","../src/components/DataView/DesktopFooter.tsx","../src/components/DataView/EnhancedMoreActions.tsx","../src/components/DataView/Toolbar.tsx"],"names":["useCallback","useMemo","useState","Button","CircularProgress","Divider","Stack","Typography","DATAGRID_ACTIONS","memo","jsx","jsxs","DesktopFooter","rowCount","page","rowsPerPage","onPaginationChange","DesktopPaginationContainer","Pagination_default","newPage","newRowsPerPage","DesktopFooter_default","Children","cloneElement","isValidElement","createEnhanceMoreActions","children","onClose","child","originalOnClick","enhancedProps","args","EnhancedMoreActions","EnhancedMoreActions_default","forwardRef","GridToolbarColumnsButton","ColumnsButton","props","ref","Icon_default","Toolbar","setFilterButtonEl","handleColumnsButtonRef","button","Portal_default","Toolbar_default","Fragment","DataView","title","headerContent","breakpoint","columns","rows","mobileRender","paginationModel","actions","moreActions","onAdd","onSearch","searchValue","onSearchChange","slots","slotProps","loading","fetching","containerProps","hideFooter","hideHeader","showColumnButton","others","popover","usePopover_default","isMobile","useResponsive_default","filterButtonEl","showSearch","showAdd","showActions","showMoreActions","showHeaderMoreActions","showTopbarMoreActions","showActionsContainer","showTopbar","FooterComponent","dataGridSlots","Container","Header","ActionsContainer","ActionsDivider","Topbar","ToolbarActionsDivider","MenuPopover_default","SearchContainer","SearchInput_default","e","Result_default","FixedProgressBar_default","Scrollbar_default","row","MobilePaginationContainer","DataGrid_default","DataView_default"],"mappings":"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","sourcesContent":["import { useCallback, useMemo, useState } from 'react';\nimport Button from '@mui/material/Button';\nimport CircularProgress from '@mui/material/CircularProgress';\nimport Divider from '@mui/material/Divider';\nimport Stack from '@mui/material/Stack';\nimport Typography from '@mui/material/Typography';\nimport { GridSlotsComponentsProps } from '@mui/x-data-grid-premium';\n\nimport DataGrid from 'components/DataGrid';\nimport FixedProgressBar from 'components/FixedProgressBar';\nimport Icon from 'components/Icon';\nimport MenuPopover from 'components/MenuPopover';\nimport Result from 'components/Result';\nimport Scrollbar from 'components/Scrollbar';\nimport SearchInput from 'components/SearchInput';\nimport usePopover from 'hooks/usePopover';\nimport useResponsive from 'hooks/useResponsive';\n\nimport { DATAGRID_ACTIONS } from './contants';\nimport DesktopFooter from './DesktopFooter';\nimport EnhancedMoreActions from './EnhancedMoreActions';\nimport Pagination from './Pagination';\nimport { DataGridSlotsProps, DataViewProps } from './props';\nimport {\n ActionsContainer,\n ActionsDivider,\n Container,\n Header,\n MobilePaginationContainer,\n SearchContainer,\n ToolbarActionsDivider,\n Topbar,\n} from './styles';\nimport Toolbar from './Toolbar';\n\nconst DataView = ({\n title,\n headerContent,\n breakpoint = 'md',\n columns,\n rows = [],\n mobileRender,\n rowCount = 0,\n paginationModel = { page: 0, pageSize: 25 },\n onPaginationChange,\n actions,\n moreActions,\n onAdd,\n onSearch,\n searchValue,\n onSearchChange,\n slots,\n slotProps,\n loading,\n fetching,\n containerProps = { height: 562, maxHeight: 562 },\n hideFooter,\n hideHeader = false,\n showColumnButton = false,\n ...others\n}: DataViewProps) => {\n const popover = usePopover();\n const isMobile = useResponsive('down', breakpoint);\n const [filterButtonEl, setFilterButtonEl] =\n useState<HTMLButtonElement | null>(null);\n\n const showSearch = !!onSearch;\n const showAdd = !!onAdd;\n const showActions = !!actions;\n const showMoreActions = !!moreActions;\n const showHeaderMoreActions = isMobile && showMoreActions;\n const showTopbarMoreActions = !isMobile && showMoreActions;\n const showActionsContainer = showActions || showAdd || showHeaderMoreActions;\n const showTopbar =\n showTopbarMoreActions || showSearch || showColumnButton || !isMobile;\n\n const FooterComponent = useCallback(\n () => (\n <DesktopFooter\n rowCount={rowCount}\n page={paginationModel.page}\n rowsPerPage={paginationModel.pageSize}\n onPaginationChange={onPaginationChange}\n />\n ),\n [rowCount, paginationModel, onPaginationChange],\n );\n\n const dataGridSlots: DataGridSlotsProps = useMemo(\n () => ({\n ...slots,\n footer: FooterComponent as unknown as DataGridSlotsProps['footer'],\n ...(showColumnButton &&\n !slots?.toolbar && {\n toolbar: Toolbar as unknown as DataGridSlotsProps['toolbar'],\n }),\n }),\n [slots, FooterComponent, showColumnButton],\n );\n\n return (\n <Container\n key={loading ? 'loading' : 'data'}\n breakpoint={breakpoint}\n {...containerProps}\n flex={loading ? 1 : undefined}\n minHeight={!loading && rows.length === 0 ? 562 : undefined}\n >\n {!hideHeader && (\n <>\n <Header breakpoint={breakpoint}>\n <Typography variant=\"overline\" color=\"text.secondary\" noWrap>\n {title}\n </Typography>\n\n {showActionsContainer && (\n <ActionsContainer breakpoint={breakpoint}>\n {showActions && actions}\n\n {showAdd && (\n <>\n {showActions && (\n <ActionsDivider orientation=\"vertical\" flexItem />\n )}\n\n <Button\n startIcon={<Icon icon=\"SIMPLE_ADD\" />}\n variant=\"contained\"\n onClick={onAdd}\n >\n Adicionar\n </Button>\n </>\n )}\n\n {showHeaderMoreActions && (\n <>\n {(showActions || showAdd) && (\n <ActionsDivider orientation=\"vertical\" flexItem />\n )}\n\n <Button\n color=\"inherit\"\n startIcon={<Icon icon=\"MORE_BOLD\" />}\n size=\"small\"\n onClick={popover.onOpen}\n >\n Mais\n </Button>\n </>\n )}\n </ActionsContainer>\n )}\n </Header>\n\n {showTopbar && (\n <Topbar breakpoint={breakpoint}>\n <Stack\n flex={1}\n direction=\"row\"\n alignItems=\"center\"\n id={DATAGRID_ACTIONS}\n gap={0.5}\n >\n {showMoreActions && (\n <>\n {showTopbarMoreActions && (\n <>\n <Button\n color=\"inherit\"\n startIcon={<Icon icon=\"MORE_BOLD\" />}\n size=\"small\"\n onClick={popover.onOpen}\n >\n Mais\n </Button>\n\n {!isMobile && (\n <ToolbarActionsDivider\n orientation=\"vertical\"\n flexItem\n />\n )}\n </>\n )}\n\n {(showTopbarMoreActions || showHeaderMoreActions) && (\n <MenuPopover\n open={popover.open}\n anchorEl={popover.open}\n onClose={popover.onClose}\n sx={{\n minWidth: 160,\n }}\n disabledArrow={true}\n >\n <EnhancedMoreActions onClose={popover.onClose}>\n {moreActions}\n </EnhancedMoreActions>\n </MenuPopover>\n )}\n </>\n )}\n </Stack>\n\n {showSearch && (\n <SearchContainer breakpoint={breakpoint}>\n <SearchInput\n value={searchValue}\n placeholder=\"Buscar\"\n onSearch={onSearch}\n onChange={e => onSearchChange?.(e.target.value)}\n size=\"small\"\n fullWidth\n iconPosition=\"start\"\n />\n </SearchContainer>\n )}\n </Topbar>\n )}\n </>\n )}\n\n {!showTopbar && !hideHeader && <Divider sx={{ mt: 2 }} />}\n\n {headerContent && headerContent}\n\n {isMobile ? (\n <Result\n isFetching={fetching}\n fetching={<FixedProgressBar />}\n isLoading={loading}\n loading={<CircularProgress sx={{ m: '160px auto' }} />}\n isEmpty={rows.length === 0}\n empty={\n <Stack flex={1} alignItems=\"center\" justifyContent=\"center\">\n {slots?.noRowsOverlay ? (\n <slots.noRowsOverlay />\n ) : (\n <Typography variant=\"body2\" color=\"text.secondary\">\n Nenhum registro encontrado\n </Typography>\n )}\n </Stack>\n }\n >\n <Scrollbar fillContent>\n {rows.map(row => mobileRender(row))}\n </Scrollbar>\n\n {!hideFooter && (\n <MobilePaginationContainer>\n <Pagination\n count={rowCount}\n page={paginationModel.page}\n rowsPerPage={paginationModel.pageSize}\n onPageChange={newPage =>\n onPaginationChange(newPage, paginationModel.pageSize)\n }\n onRowsPerPageChange={newRowsPerPage =>\n onPaginationChange(paginationModel.page, newRowsPerPage)\n }\n />\n </MobilePaginationContainer>\n )}\n </Result>\n ) : (\n <DataGrid\n columns={columns}\n rows={rows}\n slots={dataGridSlots}\n slotProps={{\n panel: { anchorEl: filterButtonEl },\n toolbar: {\n setFilterButtonEl,\n showQuickFilter: true,\n } as unknown as GridSlotsComponentsProps['toolbar'],\n ...slotProps,\n }}\n columnHeaderHeight={48}\n getRowHeight={() => 68}\n loading={loading}\n fetching={fetching}\n hideFooter={hideFooter}\n {...others}\n />\n )}\n </Container>\n );\n};\n\nexport default DataView;\nexport {\n ActionsContainer,\n ActionsDivider,\n Container,\n DesktopFooter,\n EnhancedMoreActions,\n Header,\n MobilePaginationContainer,\n SearchContainer,\n Toolbar,\n ToolbarActionsDivider,\n Topbar,\n};\n","export const DATAGRID_ACTIONS = 'datagrid-actions';\n","import { memo } from 'react';\nimport Stack from '@mui/material/Stack';\nimport Typography from '@mui/material/Typography';\n\nimport Pagination from './Pagination';\nimport { DesktopFooterProps } from './props';\nimport { DesktopPaginationContainer } from './styles';\n\nconst DesktopFooter = ({\n rowCount,\n page,\n rowsPerPage,\n onPaginationChange,\n}: DesktopFooterProps) => {\n return (\n <DesktopPaginationContainer>\n <Stack direction=\"row\" alignItems=\"center\" gap={0.5}>\n <Typography variant=\"body2\" color=\"text.disabled\">\n Total de itens:\n </Typography>\n <Typography variant=\"body2\">{rowCount}</Typography>\n </Stack>\n\n <Pagination\n count={rowCount}\n page={page}\n rowsPerPage={rowsPerPage}\n onPageChange={newPage => onPaginationChange(newPage, rowsPerPage)}\n onRowsPerPageChange={newRowsPerPage =>\n onPaginationChange(page, newRowsPerPage)\n }\n />\n </DesktopPaginationContainer>\n );\n};\n\nexport default memo(DesktopFooter);\n","import {\n Children,\n cloneElement,\n isValidElement,\n memo,\n ReactElement,\n ReactNode,\n} from 'react';\n\nimport { EnhancedMoreActionsProps } from './props';\n\nconst createEnhanceMoreActions = (\n children: ReactNode,\n onClose: () => void,\n): ReactNode => {\n return Children.map(children, child => {\n if (!isValidElement(child)) {\n return child;\n }\n\n const originalOnClick = (\n child.props as { onClick?: (...args: unknown[]) => void }\n ).onClick;\n\n const enhancedProps: {\n onClick?: (...args: unknown[]) => void;\n children?: ReactNode;\n } = {};\n\n enhancedProps.onClick = (...args: unknown[]) => {\n onClose();\n if (originalOnClick) {\n originalOnClick(...args);\n }\n };\n\n if (child.props?.children) {\n enhancedProps.children = createEnhanceMoreActions(\n child.props.children as ReactNode,\n onClose,\n );\n }\n\n return cloneElement(child as ReactElement, enhancedProps);\n });\n};\n\nconst EnhancedMoreActions = ({\n children,\n onClose,\n}: EnhancedMoreActionsProps) => {\n if (!children) return null;\n return createEnhanceMoreActions(children, onClose);\n};\n\nexport default memo(EnhancedMoreActions);\n","import { forwardRef, useCallback } from 'react';\nimport Button, { ButtonProps } from '@mui/material/Button';\nimport { GridToolbarColumnsButton } from '@mui/x-data-grid-premium';\n\nimport Icon from 'components/Icon';\nimport Portal from 'components/Portal';\n\nimport { DATAGRID_ACTIONS } from './contants';\nimport { ToolbarProps } from './props';\n\nconst ColumnsButton = forwardRef<HTMLButtonElement, ButtonProps>(\n ({ children, ...props }, ref) => (\n <Button\n {...props}\n ref={ref}\n color=\"inherit\"\n startIcon={<Icon icon=\"COLUMNS\" />}\n >\n {children ?? 'Colunas'}\n </Button>\n ),\n);\n\nColumnsButton.displayName = 'ColumnsButton';\n\nconst Toolbar = ({ setFilterButtonEl }: ToolbarProps) => {\n const handleColumnsButtonRef = useCallback(\n (button: HTMLButtonElement | null) => {\n setFilterButtonEl(button);\n },\n [setFilterButtonEl],\n );\n\n return (\n <Portal container={DATAGRID_ACTIONS}>\n <GridToolbarColumnsButton\n ref={handleColumnsButtonRef}\n slotProps={{\n button: {\n color: 'inherit',\n startIcon: <Icon icon=\"COLUMNS\" />,\n children: 'Colunas',\n },\n }}\n />\n </Portal>\n );\n};\n\nexport default Toolbar;\n"]}
|