@zydon/common 2.7.65 → 2.7.66

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.
@@ -0,0 +1,21 @@
1
+ import { a } from './chunk-RUABKHIV.js';
2
+ import { a as a$1 } from './chunk-RPPQBAVO.js';
3
+ import { a as a$3 } from './chunk-IJZCVZ32.js';
4
+ import { a as a$4 } from './chunk-6U5LS7MP.js';
5
+ import { a as a$2 } from './chunk-LEMPYV5U.js';
6
+ import { useMemo, useCallback } from 'react';
7
+ import B from '@mui/material/Checkbox';
8
+ import H from '@mui/material/FormControlLabel';
9
+ import D from '@mui/material/FormHelperText';
10
+ import G from '@mui/material/Pagination';
11
+ import K from '@mui/material/Radio';
12
+ import i from '@mui/material/Stack';
13
+ import u from '@mui/material/Typography';
14
+ import { styled } from '@mui/material/styles';
15
+ import { jsx, jsxs } from 'react/jsx-runtime';
16
+
17
+ var A=styled(i)(({theme:r})=>({flexDirection:"row",minHeight:48,alignItems:"flex-start",justifyContent:"flex-start",padding:r.spacing(1.5,0),borderBottom:`1px dashed ${r.palette.divider}`,"& label":{marginInline:0,userSelect:"none",alignItems:"flex-start","& .MuiFormControlLabel-label":{minHeight:36,display:"flex",alignItems:"center"}}}));var $=Array.from({length:12},(r,p)=>jsx(a,{height:48},p)),q=({value:r,multiple:p,options:l,onChange:c,pagination:n,onSearch:f,onAdd:g,total:m=0,label:h,loading:b,loadingView:O,fetching:S,fetchingView:v,emptyView:M,error:N,helperText:k})=>{let s=p&&Array.isArray(r),C=useMemo(()=>Math.ceil(m/(n?.perPage||1)),[m,n?.perPage]),_=useMemo(()=>l.map(e=>e.value),[l]),j=s&&m>0&&_.every(e=>r.includes(e)),z=useCallback(()=>{if(!s)return;let e=l.filter(o=>!o.disabled).map(o=>o.value),a=e.every(o=>r.includes(o));c(a?r.filter(o=>!e.includes(o)):[...r,...e.filter(o=>!r.includes(o))]);},[s,r,c,l]),y=useCallback((e,a)=>{if(!s){c(e);return}c(a?[...r,e]:r.filter(o=>o!==e));},[s,r,c]),E=useCallback(e=>s?jsx(B,{checked:r.includes(e.value),onChange:(a,o)=>y(e.value,o),disabled:e.disabled}):jsx(K,{checked:r===e.value,onChange:()=>y(e.value,!0),disabled:e.disabled}),[s,r,y]);return jsxs(i,{gap:2,width:1,children:[h&&jsx(u,{variant:"overline",color:"text.secondary",children:h}),s&&jsxs(i,{direction:{xs:"column",sm:"row"},alignItems:{xs:"flex-start",sm:"center"},justifyContent:"space-between",gap:1,children:[jsx(H,{label:"Selecionar todos",control:jsx(B,{checked:j,onChange:z}),componentsProps:{typography:{color:"text.secondary",ml:.5,sx:{fontSize:"12px !important"}}}}),m>0&&jsxs(u,{variant:"caption",color:"text.secondary",children:[jsx("strong",{children:r.length})," de ",jsx("strong",{children:m})," ","selecionados"]})]}),(f||g)&&jsxs(i,{direction:{xs:"column",sm:"row"},alignItems:{xs:"flex-start",sm:"center"},justifyContent:"space-between",gap:1,children:[jsx(i,{maxWidth:280,flex:1,children:f&&jsx(a$1,{onSearch:f,trigger:"click",size:"small",fullWidth:!0,placeholder:"Buscar",iconPosition:"start"})}),g&&jsx(a$2,{actionType:"NEW",onClick:g,size:"small",variant:"text",children:"Adicionar"})]}),jsx(i,{display:"grid",gridTemplateColumns:{xs:"1fr",sm:"1fr 1fr"},gap:1,children:jsx(a$3,{isFetching:S,fetching:v||jsx(a$4,{}),isLoading:b,loading:O||$,children:l.map(e=>jsxs(A,{minHeight:48,justifyContent:"center",p:1.5,children:[e.startContent&&jsx(i,{children:e.startContent}),jsx(H,{label:e.label,control:E(e),componentsProps:{typography:{ml:.5}}})]},e.value))})}),k&&jsx(D,{error:N,children:k}),!b&&!S&&l.length===0&&(M||jsx(u,{variant:"body1",color:"text.secondary",align:"center",my:3,children:"Nenhum resultado encontrado"})),n&&C>1&&jsx(G,{page:n.page+1,count:C,onChange:(e,a)=>n.onChange(a-1,n.perPage),variant:"soft",sx:{mx:"auto"}})]})},me=q;
18
+
19
+ export { me as a };
20
+ //# sourceMappingURL=out.js.map
21
+ //# sourceMappingURL=chunk-7HLCQRIH.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/SelectList/index.tsx","../src/components/SelectList/styles.ts"],"names":["useCallback","useMemo","Checkbox","FormControlLabel","FormHelperText","Pagination","Radio","Stack","Typography","styled","OptionItem","theme","jsx","jsxs","LOADING_SKELETON","_","i","Skeleton_default","SelectList","value","multiple","options","onChange","pagination","onSearch","onAdd","total","label","loading","loadingView","fetching","fetchingView","emptyView","error","helperText","isMultiple","totalPages","availableValues","o","allItemsSelected","v","toggleAll","selectableValues","allSelected","handleSelect","optionValue","checked","renderControl","option","SearchInput_default","ActionButton_default","Result_default","FixedProgressBar_default","page","SelectList_default"],"mappings":"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","sourcesContent":["import { useCallback, useMemo } from 'react';\nimport Checkbox from '@mui/material/Checkbox';\nimport FormControlLabel from '@mui/material/FormControlLabel';\nimport FormHelperText from '@mui/material/FormHelperText';\nimport Pagination from '@mui/material/Pagination';\nimport Radio from '@mui/material/Radio';\nimport Stack from '@mui/material/Stack';\nimport Typography from '@mui/material/Typography';\n\nimport ActionButton from 'components/ActionButton';\nimport FixedProgressBar from 'components/FixedProgressBar';\nimport Result from 'components/Result';\nimport SearchInput from 'components/SearchInput';\nimport Skeleton from 'components/Skeleton';\nimport { SelectListProps } from 'types/selectList';\n\nimport { OptionItem } from './styles';\n\nconst LOADING_SKELETON = Array.from({ length: 12 }, (_, i) => (\n <Skeleton key={i} height={48} />\n));\n\nconst SelectList = ({\n value,\n multiple,\n options,\n onChange,\n pagination,\n onSearch,\n onAdd,\n total = 0,\n label,\n loading,\n loadingView,\n fetching,\n fetchingView,\n emptyView,\n error,\n helperText,\n}: SelectListProps) => {\n const isMultiple = multiple && Array.isArray(value);\n const totalPages = useMemo(\n () => Math.ceil(total / (pagination?.perPage || 1)),\n [total, pagination?.perPage],\n );\n const availableValues = useMemo(() => options.map(o => o.value), [options]);\n const allItemsSelected =\n isMultiple && total > 0 && availableValues.every(v => value.includes(v));\n\n const toggleAll = useCallback(() => {\n if (!isMultiple) return;\n\n const selectableValues = options.filter(o => !o.disabled).map(o => o.value);\n const allSelected = selectableValues.every(v => value.includes(v));\n\n onChange(\n allSelected\n ? value.filter(v => !selectableValues.includes(v))\n : [...value, ...selectableValues.filter(v => !value.includes(v))],\n );\n }, [isMultiple, value, onChange, options]);\n\n const handleSelect = useCallback(\n (optionValue: string, checked: boolean) => {\n if (!isMultiple) {\n onChange(optionValue);\n return;\n }\n\n onChange(\n checked\n ? [...value, optionValue]\n : value.filter(v => v !== optionValue),\n );\n },\n [isMultiple, value, onChange],\n );\n\n const renderControl = useCallback(\n (option: SelectListProps['options'][number]) =>\n isMultiple ? (\n <Checkbox\n checked={value.includes(option.value)}\n onChange={(_, checked) => handleSelect(option.value, checked)}\n disabled={option.disabled}\n />\n ) : (\n <Radio\n checked={value === option.value}\n onChange={() => handleSelect(option.value, true)}\n disabled={option.disabled}\n />\n ),\n [isMultiple, value, handleSelect],\n );\n\n return (\n <Stack gap={2} width={1}>\n {label && (\n <Typography variant=\"overline\" color=\"text.secondary\">\n {label}\n </Typography>\n )}\n\n {isMultiple && (\n <Stack\n direction={{ xs: 'column', sm: 'row' }}\n alignItems={{ xs: 'flex-start', sm: 'center' }}\n justifyContent=\"space-between\"\n gap={1}\n >\n <FormControlLabel\n label=\"Selecionar todos\"\n control={\n <Checkbox checked={allItemsSelected} onChange={toggleAll} />\n }\n componentsProps={{\n typography: {\n color: 'text.secondary',\n ml: 0.5,\n sx: { fontSize: '12px !important' },\n },\n }}\n />\n\n {total > 0 && (\n <Typography variant=\"caption\" color=\"text.secondary\">\n <strong>{value.length}</strong> de <strong>{total}</strong>{' '}\n selecionados\n </Typography>\n )}\n </Stack>\n )}\n\n {(onSearch || onAdd) && (\n <Stack\n direction={{ xs: 'column', sm: 'row' }}\n alignItems={{ xs: 'flex-start', sm: 'center' }}\n justifyContent=\"space-between\"\n gap={1}\n >\n <Stack maxWidth={280} flex={1}>\n {onSearch && (\n <SearchInput\n onSearch={onSearch}\n trigger=\"click\"\n size=\"small\"\n fullWidth\n placeholder=\"Buscar\"\n iconPosition=\"start\"\n />\n )}\n </Stack>\n\n {onAdd && (\n <ActionButton\n actionType=\"NEW\"\n onClick={onAdd}\n size=\"small\"\n variant=\"text\"\n >\n Adicionar\n </ActionButton>\n )}\n </Stack>\n )}\n\n <Stack\n display=\"grid\"\n gridTemplateColumns={{ xs: '1fr', sm: '1fr 1fr' }}\n gap={1}\n >\n <Result\n isFetching={fetching}\n fetching={fetchingView || <FixedProgressBar />}\n isLoading={loading}\n loading={loadingView || LOADING_SKELETON}\n >\n {options.map(option => (\n <OptionItem\n key={option.value}\n minHeight={48}\n justifyContent=\"center\"\n p={1.5}\n >\n {option.startContent && <Stack>{option.startContent}</Stack>}\n <FormControlLabel\n label={option.label}\n control={renderControl(option)}\n componentsProps={{ typography: { ml: 0.5 } }}\n />\n </OptionItem>\n ))}\n </Result>\n </Stack>\n\n {helperText && (\n <FormHelperText error={error}>{helperText}</FormHelperText>\n )}\n\n {!loading &&\n !fetching &&\n options.length === 0 &&\n (emptyView || (\n <Typography\n variant=\"body1\"\n color=\"text.secondary\"\n align=\"center\"\n my={3}\n >\n Nenhum resultado encontrado\n </Typography>\n ))}\n\n {pagination && totalPages > 1 && (\n <Pagination\n page={pagination.page + 1}\n count={totalPages}\n onChange={(_, page) =>\n pagination.onChange(page - 1, pagination.perPage)\n }\n variant=\"soft\"\n sx={{ mx: 'auto' }}\n />\n )}\n </Stack>\n );\n};\n\nexport default SelectList;\n","import Stack from '@mui/material/Stack';\nimport { styled } from '@mui/material/styles';\n\nexport const OptionItem = styled(Stack)(({ theme }) => ({\n flexDirection: 'row',\n minHeight: 48,\n alignItems: 'flex-start',\n justifyContent: 'flex-start',\n padding: theme.spacing(1.5, 0),\n borderBottom: `1px dashed ${theme.palette.divider}`,\n\n '& label': {\n marginInline: 0,\n userSelect: 'none',\n alignItems: 'flex-start',\n\n '& .MuiFormControlLabel-label': {\n minHeight: 36,\n display: 'flex',\n alignItems: 'center',\n },\n },\n}));\n"]}
@@ -11,7 +11,7 @@ interface ImageContainerProps {
11
11
 
12
12
  declare const Avatar: react.ForwardRefExoticComponent<Omit<PropsWithChildren<ImageContainerProps & _mui_material_Avatar.AvatarOwnProps & _mui_material_Avatar.AvatarSlotsAndSlotProps & _mui_material_OverridableComponent.CommonProps & Omit<Omit<react.DetailedHTMLProps<react.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
13
13
  ref?: ((instance: HTMLDivElement | null) => void) | react.RefObject<HTMLDivElement> | null | undefined;
14
- }, "children" | "className" | "style" | "classes" | "sx" | "variant" | "slots" | "slotProps" | "sizes" | "alt" | "src" | "srcSet" | "imgProps"> & {
14
+ }, "children" | "className" | "style" | "classes" | "sx" | "variant" | "slots" | "slotProps" | "alt" | "src" | "sizes" | "srcSet" | "imgProps"> & {
15
15
  component?: react.ElementType<any, keyof react.JSX.IntrinsicElements> | undefined;
16
16
  }>, "ref"> & react.RefAttributes<HTMLDivElement>>;
17
17
 
@@ -1,4 +1,4 @@
1
- export { a as default } from '../../chunk-2CY62UZ5.js';
1
+ export { a as default } from '../../chunk-7HLCQRIH.js';
2
2
  import '../../chunk-RUABKHIV.js';
3
3
  import '../../chunk-RPPQBAVO.js';
4
4
  import '../../chunk-IJZCVZ32.js';
@@ -1,4 +1,4 @@
1
- import { a } from '../../../chunk-2CY62UZ5.js';
1
+ import { a } from '../../../chunk-7HLCQRIH.js';
2
2
  import '../../../chunk-RUABKHIV.js';
3
3
  import '../../../chunk-RPPQBAVO.js';
4
4
  import '../../../chunk-IJZCVZ32.js';
@@ -4,14 +4,15 @@ import * as react from 'react';
4
4
  import { ReactNode } from 'react';
5
5
 
6
6
  declare const useSnackbar: () => {
7
- toast: ((message: (() => ReactNode) | ReactNode, data?: ExternalToast | undefined) => string | number) & {
8
- success: (message: string | number | boolean | (() => ReactNode) | react.ReactElement<any, string | react.JSXElementConstructor<any>> | Iterable<ReactNode> | react.ReactPortal | null | undefined, data?: ExternalToast | undefined) => string | number;
9
- info: (message: string | number | boolean | (() => ReactNode) | react.ReactElement<any, string | react.JSXElementConstructor<any>> | Iterable<ReactNode> | react.ReactPortal | null | undefined, data?: ExternalToast | undefined) => string | number;
10
- warning: (message: string | number | boolean | (() => ReactNode) | react.ReactElement<any, string | react.JSXElementConstructor<any>> | Iterable<ReactNode> | react.ReactPortal | null | undefined, data?: ExternalToast | undefined) => string | number;
11
- error: (message: string | number | boolean | (() => ReactNode) | react.ReactElement<any, string | react.JSXElementConstructor<any>> | Iterable<ReactNode> | react.ReactPortal | null | undefined, data?: ExternalToast | undefined) => string | number;
7
+ toast: ((message: ReactNode | (() => ReactNode), data?: ExternalToast | undefined) => string | number) & {
8
+ success: (message: string | number | boolean | react.ReactElement<any, string | react.JSXElementConstructor<any>> | Iterable<ReactNode> | react.ReactPortal | (() => ReactNode) | null | undefined, data?: ExternalToast | undefined) => string | number;
9
+ info: (message: string | number | boolean | react.ReactElement<any, string | react.JSXElementConstructor<any>> | Iterable<ReactNode> | react.ReactPortal | (() => ReactNode) | null | undefined, data?: ExternalToast | undefined) => string | number;
10
+ warning: (message: string | number | boolean | react.ReactElement<any, string | react.JSXElementConstructor<any>> | Iterable<ReactNode> | react.ReactPortal | (() => ReactNode) | null | undefined, data?: ExternalToast | undefined) => string | number;
11
+ error: (message: string | number | boolean | react.ReactElement<any, string | react.JSXElementConstructor<any>> | Iterable<ReactNode> | react.ReactPortal | (() => ReactNode) | null | undefined, data?: ExternalToast | undefined) => string | number;
12
12
  custom: (jsx: (id: string | number) => react.ReactElement<any, string | react.JSXElementConstructor<any>>, data?: ExternalToast | undefined) => string | number;
13
- message: (message: string | number | boolean | (() => ReactNode) | react.ReactElement<any, string | react.JSXElementConstructor<any>> | Iterable<ReactNode> | react.ReactPortal | null | undefined, data?: ExternalToast | undefined) => string | number;
13
+ message: (message: string | number | boolean | react.ReactElement<any, string | react.JSXElementConstructor<any>> | Iterable<ReactNode> | react.ReactPortal | (() => ReactNode) | null | undefined, data?: ExternalToast | undefined) => string | number;
14
14
  promise: <ToastData>(promise: Promise<ToastData> | (() => Promise<ToastData>), data?: ({
15
+ cancel?: ReactNode | sonner.Action;
15
16
  className?: string | undefined;
16
17
  style?: react.CSSProperties | undefined;
17
18
  position?: ("top-left" | "top-center" | "top-right" | "bottom-left" | "bottom-center" | "bottom-right") | undefined;
@@ -21,7 +22,6 @@ declare const useSnackbar: () => {
21
22
  icon?: ReactNode;
22
23
  duration?: number | undefined;
23
24
  onDismiss?: ((toast: sonner.ToastT) => void) | undefined;
24
- cancel?: ReactNode | sonner.Action;
25
25
  richColors?: boolean | undefined;
26
26
  closeButton?: boolean | undefined;
27
27
  dismissible?: boolean | undefined;
@@ -45,7 +45,7 @@ declare const useSnackbar: () => {
45
45
  unwrap: () => Promise<ToastData>;
46
46
  };
47
47
  dismiss: (id?: string | number | undefined) => string | number;
48
- loading: (message: string | number | boolean | (() => ReactNode) | react.ReactElement<any, string | react.JSXElementConstructor<any>> | Iterable<ReactNode> | react.ReactPortal | null | undefined, data?: ExternalToast | undefined) => string | number;
48
+ loading: (message: string | number | boolean | react.ReactElement<any, string | react.JSXElementConstructor<any>> | Iterable<ReactNode> | react.ReactPortal | (() => ReactNode) | null | undefined, data?: ExternalToast | undefined) => string | number;
49
49
  } & {
50
50
  getHistory: () => (sonner.ToastT | sonner.ToastToDismiss)[];
51
51
  getToasts: () => (sonner.ToastT | sonner.ToastToDismiss)[];
@@ -414,7 +414,7 @@ declare function paper({ theme, color, dropdown }: PaperProps): {
414
414
  wordWrap?: csstype.Property.WordWrap | readonly NonNullable<csstype.Property.WordWrap | undefined>[] | readonly csstype.Property.WordWrap[] | undefined;
415
415
  writingMode?: csstype.Property.WritingMode | readonly NonNullable<csstype.Property.WritingMode | undefined>[] | readonly csstype.Property.WritingMode[] | undefined;
416
416
  zIndex?: readonly ((string & {}) | csstype.Globals | "auto")[] | csstype.Property.ZIndex | readonly NonNullable<csstype.Property.ZIndex | undefined>[] | undefined;
417
- zoom?: csstype.Property.Zoom | readonly NonNullable<csstype.Property.Zoom | undefined>[] | readonly ((string & {}) | csstype.Globals | "normal" | "reset")[] | undefined;
417
+ zoom?: csstype.Property.Zoom | readonly NonNullable<csstype.Property.Zoom | undefined>[] | readonly ("reset" | (string & {}) | csstype.Globals | "normal")[] | undefined;
418
418
  all?: csstype.Globals | readonly NonNullable<csstype.Globals | undefined>[] | readonly csstype.Globals[] | undefined;
419
419
  animation?: csstype.Property.Animation<string & {}> | readonly NonNullable<csstype.Property.Animation<string & {}> | undefined>[] | readonly ((string & {}) | csstype.Globals | "none" | "auto" | "normal" | "alternate" | "alternate-reverse" | "reverse" | "backwards" | "both" | "forwards" | "infinite" | "paused" | "running" | "ease" | "ease-in" | "ease-in-out" | "ease-out" | "step-end" | "step-start" | "linear")[] | undefined;
420
420
  animationRange?: readonly (string | (string & {}))[] | csstype.Property.AnimationRange<string | number> | readonly NonNullable<csstype.Property.AnimationRange<string | number> | undefined>[] | undefined;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zydon/common",
3
- "version": "2.7.65",
3
+ "version": "2.7.66",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "module": "./dist/index.js",
@@ -1,21 +0,0 @@
1
- import { a } from './chunk-RUABKHIV.js';
2
- import { a as a$1 } from './chunk-RPPQBAVO.js';
3
- import { a as a$3 } from './chunk-IJZCVZ32.js';
4
- import { a as a$4 } from './chunk-6U5LS7MP.js';
5
- import { a as a$2 } from './chunk-LEMPYV5U.js';
6
- import { useMemo, useCallback } from 'react';
7
- import F from '@mui/material/Checkbox';
8
- import O from '@mui/material/FormControlLabel';
9
- import D from '@mui/material/FormHelperText';
10
- import G from '@mui/material/Pagination';
11
- import K from '@mui/material/Radio';
12
- import i from '@mui/material/Stack';
13
- import x from '@mui/material/Typography';
14
- import { styled } from '@mui/material/styles';
15
- import { jsx, jsxs } from 'react/jsx-runtime';
16
-
17
- var A=styled(i)(({theme:r})=>({flexDirection:"row",minHeight:48,alignItems:"center",justifyContent:"flex-start",padding:r.spacing(1.5,0),borderBottom:`1px dashed ${r.palette.divider}`,"& label":{marginInline:0,userSelect:"none",alignItems:"flex-start"}}));var $=Array.from({length:12},(r,p)=>jsx(a,{height:48},p)),q=({value:r,multiple:p,options:l,onChange:c,pagination:n,onSearch:f,onAdd:g,total:m=0,label:h,loading:S,loadingView:v,fetching:b,fetchingView:H,emptyView:N,error:_,helperText:k})=>{let s=p&&Array.isArray(r),C=useMemo(()=>Math.ceil(m/(n?.perPage||1)),[m,n?.perPage]),j=useMemo(()=>l.map(e=>e.value),[l]),z=s&&m>0&&j.every(e=>r.includes(e)),E=useCallback(()=>{if(!s)return;let e=l.filter(o=>!o.disabled).map(o=>o.value),a=e.every(o=>r.includes(o));c(a?r.filter(o=>!e.includes(o)):[...r,...e.filter(o=>!r.includes(o))]);},[s,r,c,l]),y=useCallback((e,a)=>{if(!s){c(e);return}c(a?[...r,e]:r.filter(o=>o!==e));},[s,r,c]),M=useCallback(e=>s?jsx(F,{checked:r.includes(e.value),onChange:(a,o)=>y(e.value,o),disabled:e.disabled}):jsx(K,{checked:r===e.value,onChange:()=>y(e.value,!0),disabled:e.disabled}),[s,r,y]);return jsxs(i,{gap:2,width:1,children:[h&&jsx(x,{variant:"overline",color:"text.secondary",children:h}),s&&jsxs(i,{direction:{xs:"column",sm:"row"},alignItems:{xs:"flex-start",sm:"center"},justifyContent:"space-between",gap:1,children:[jsx(O,{label:"Selecionar todos",control:jsx(F,{checked:z,onChange:E}),componentsProps:{typography:{color:"text.secondary",ml:.5,sx:{fontSize:"12px !important"}}}}),m>0&&jsxs(x,{variant:"caption",color:"text.secondary",children:[jsx("strong",{children:r.length})," de ",jsx("strong",{children:m})," ","selecionados"]})]}),(f||g)&&jsxs(i,{direction:{xs:"column",sm:"row"},alignItems:{xs:"flex-start",sm:"center"},justifyContent:"space-between",gap:1,children:[jsx(i,{maxWidth:280,flex:1,children:f&&jsx(a$1,{onSearch:f,trigger:"click",size:"small",fullWidth:!0,placeholder:"Buscar",iconPosition:"start"})}),g&&jsx(a$2,{actionType:"NEW",onClick:g,size:"small",variant:"text",children:"Adicionar"})]}),jsx(i,{display:"grid",gridTemplateColumns:{xs:"1fr",sm:"1fr 1fr"},gap:1,children:jsx(a$3,{isFetching:b,fetching:H||jsx(a$4,{}),isLoading:S,loading:v||$,children:l.map(e=>jsxs(A,{minHeight:48,justifyContent:"center",p:1.5,children:[e.startContent&&jsx(i,{children:e.startContent}),jsx(O,{label:e.label,control:M(e),componentsProps:{typography:{ml:.5}}})]},e.value))})}),k&&jsx(D,{error:_,children:k}),!S&&!b&&l.length===0&&(N||jsx(x,{variant:"body1",color:"text.secondary",align:"center",my:3,children:"Nenhum resultado encontrado"})),n&&C>1&&jsx(G,{page:n.page+1,count:C,onChange:(e,a)=>n.onChange(a-1,n.perPage),variant:"soft",sx:{mx:"auto"}})]})},me=q;
18
-
19
- export { me as a };
20
- //# sourceMappingURL=out.js.map
21
- //# sourceMappingURL=chunk-2CY62UZ5.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/SelectList/index.tsx","../src/components/SelectList/styles.ts"],"names":["useCallback","useMemo","Checkbox","FormControlLabel","FormHelperText","Pagination","Radio","Stack","Typography","styled","OptionItem","theme","jsx","jsxs","LOADING_SKELETON","_","i","Skeleton_default","SelectList","value","multiple","options","onChange","pagination","onSearch","onAdd","total","label","loading","loadingView","fetching","fetchingView","emptyView","error","helperText","isMultiple","totalPages","availableValues","o","allItemsSelected","v","toggleAll","selectableValues","allSelected","handleSelect","optionValue","checked","renderControl","option","SearchInput_default","ActionButton_default","Result_default","FixedProgressBar_default","page","SelectList_default"],"mappings":"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","sourcesContent":["import { useCallback, useMemo } from 'react';\nimport Checkbox from '@mui/material/Checkbox';\nimport FormControlLabel from '@mui/material/FormControlLabel';\nimport FormHelperText from '@mui/material/FormHelperText';\nimport Pagination from '@mui/material/Pagination';\nimport Radio from '@mui/material/Radio';\nimport Stack from '@mui/material/Stack';\nimport Typography from '@mui/material/Typography';\n\nimport ActionButton from 'components/ActionButton';\nimport FixedProgressBar from 'components/FixedProgressBar';\nimport Result from 'components/Result';\nimport SearchInput from 'components/SearchInput';\nimport Skeleton from 'components/Skeleton';\nimport { SelectListProps } from 'types/selectList';\n\nimport { OptionItem } from './styles';\n\nconst LOADING_SKELETON = Array.from({ length: 12 }, (_, i) => (\n <Skeleton key={i} height={48} />\n));\n\nconst SelectList = ({\n value,\n multiple,\n options,\n onChange,\n pagination,\n onSearch,\n onAdd,\n total = 0,\n label,\n loading,\n loadingView,\n fetching,\n fetchingView,\n emptyView,\n error,\n helperText,\n}: SelectListProps) => {\n const isMultiple = multiple && Array.isArray(value);\n const totalPages = useMemo(\n () => Math.ceil(total / (pagination?.perPage || 1)),\n [total, pagination?.perPage],\n );\n const availableValues = useMemo(() => options.map(o => o.value), [options]);\n const allItemsSelected =\n isMultiple && total > 0 && availableValues.every(v => value.includes(v));\n\n const toggleAll = useCallback(() => {\n if (!isMultiple) return;\n\n const selectableValues = options.filter(o => !o.disabled).map(o => o.value);\n const allSelected = selectableValues.every(v => value.includes(v));\n\n onChange(\n allSelected\n ? value.filter(v => !selectableValues.includes(v))\n : [...value, ...selectableValues.filter(v => !value.includes(v))],\n );\n }, [isMultiple, value, onChange, options]);\n\n const handleSelect = useCallback(\n (optionValue: string, checked: boolean) => {\n if (!isMultiple) {\n onChange(optionValue);\n return;\n }\n\n onChange(\n checked\n ? [...value, optionValue]\n : value.filter(v => v !== optionValue),\n );\n },\n [isMultiple, value, onChange],\n );\n\n const renderControl = useCallback(\n (option: SelectListProps['options'][number]) =>\n isMultiple ? (\n <Checkbox\n checked={value.includes(option.value)}\n onChange={(_, checked) => handleSelect(option.value, checked)}\n disabled={option.disabled}\n />\n ) : (\n <Radio\n checked={value === option.value}\n onChange={() => handleSelect(option.value, true)}\n disabled={option.disabled}\n />\n ),\n [isMultiple, value, handleSelect],\n );\n\n return (\n <Stack gap={2} width={1}>\n {label && (\n <Typography variant=\"overline\" color=\"text.secondary\">\n {label}\n </Typography>\n )}\n\n {isMultiple && (\n <Stack\n direction={{ xs: 'column', sm: 'row' }}\n alignItems={{ xs: 'flex-start', sm: 'center' }}\n justifyContent=\"space-between\"\n gap={1}\n >\n <FormControlLabel\n label=\"Selecionar todos\"\n control={\n <Checkbox checked={allItemsSelected} onChange={toggleAll} />\n }\n componentsProps={{\n typography: {\n color: 'text.secondary',\n ml: 0.5,\n sx: { fontSize: '12px !important' },\n },\n }}\n />\n\n {total > 0 && (\n <Typography variant=\"caption\" color=\"text.secondary\">\n <strong>{value.length}</strong> de <strong>{total}</strong>{' '}\n selecionados\n </Typography>\n )}\n </Stack>\n )}\n\n {(onSearch || onAdd) && (\n <Stack\n direction={{ xs: 'column', sm: 'row' }}\n alignItems={{ xs: 'flex-start', sm: 'center' }}\n justifyContent=\"space-between\"\n gap={1}\n >\n <Stack maxWidth={280} flex={1}>\n {onSearch && (\n <SearchInput\n onSearch={onSearch}\n trigger=\"click\"\n size=\"small\"\n fullWidth\n placeholder=\"Buscar\"\n iconPosition=\"start\"\n />\n )}\n </Stack>\n\n {onAdd && (\n <ActionButton\n actionType=\"NEW\"\n onClick={onAdd}\n size=\"small\"\n variant=\"text\"\n >\n Adicionar\n </ActionButton>\n )}\n </Stack>\n )}\n\n <Stack\n display=\"grid\"\n gridTemplateColumns={{ xs: '1fr', sm: '1fr 1fr' }}\n gap={1}\n >\n <Result\n isFetching={fetching}\n fetching={fetchingView || <FixedProgressBar />}\n isLoading={loading}\n loading={loadingView || LOADING_SKELETON}\n >\n {options.map(option => (\n <OptionItem\n key={option.value}\n minHeight={48}\n justifyContent=\"center\"\n p={1.5}\n >\n {option.startContent && <Stack>{option.startContent}</Stack>}\n <FormControlLabel\n label={option.label}\n control={renderControl(option)}\n componentsProps={{ typography: { ml: 0.5 } }}\n />\n </OptionItem>\n ))}\n </Result>\n </Stack>\n\n {helperText && (\n <FormHelperText error={error}>{helperText}</FormHelperText>\n )}\n\n {!loading &&\n !fetching &&\n options.length === 0 &&\n (emptyView || (\n <Typography\n variant=\"body1\"\n color=\"text.secondary\"\n align=\"center\"\n my={3}\n >\n Nenhum resultado encontrado\n </Typography>\n ))}\n\n {pagination && totalPages > 1 && (\n <Pagination\n page={pagination.page + 1}\n count={totalPages}\n onChange={(_, page) =>\n pagination.onChange(page - 1, pagination.perPage)\n }\n variant=\"soft\"\n sx={{ mx: 'auto' }}\n />\n )}\n </Stack>\n );\n};\n\nexport default SelectList;\n","import Stack from '@mui/material/Stack';\nimport { styled } from '@mui/material/styles';\n\nexport const OptionItem = styled(Stack)(({ theme }) => ({\n flexDirection: 'row',\n minHeight: 48,\n alignItems: 'center',\n justifyContent: 'flex-start',\n padding: theme.spacing(1.5, 0),\n borderBottom: `1px dashed ${theme.palette.divider}`,\n\n '& label': {\n marginInline: 0,\n userSelect: 'none',\n alignItems: 'flex-start',\n },\n}));\n"]}