@zydon/common 2.7.61 → 2.7.63
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-75G5RNV4.js → chunk-5LQLLZ5L.js} +2 -2
- package/dist/chunk-5NIMUEW5.js +25 -0
- package/dist/chunk-5NIMUEW5.js.map +1 -0
- package/dist/chunk-6WGKIN5L.js +18 -0
- package/dist/chunk-6WGKIN5L.js.map +1 -0
- package/dist/chunk-7MVZYOHX.js +13 -0
- package/dist/chunk-7MVZYOHX.js.map +1 -0
- package/dist/{chunk-KRT2AT6N.js → chunk-CWCEG2DZ.js} +2 -2
- package/dist/{chunk-HLMZQG27.js → chunk-HWYA3EGC.js} +2 -2
- package/dist/chunk-HWYA3EGC.js.map +1 -0
- package/dist/chunk-IEGF6HVV.js +43 -0
- package/dist/{chunk-XTTDUDXX.js.map → chunk-IEGF6HVV.js.map} +1 -1
- package/dist/chunk-JFZOAS75.js +23 -0
- package/dist/{chunk-MJQ5FMYR.js → chunk-JZ55NEMI.js} +2 -2
- package/dist/{chunk-WVXEXDGZ.js → chunk-KR3DUHA6.js} +3 -3
- package/dist/{chunk-X7VVV26F.js → chunk-LEMPYV5U.js} +2 -2
- package/dist/{chunk-AA2DXMIC.js → chunk-LNXA53QR.js} +2 -2
- package/dist/{chunk-CDJKO3NN.js → chunk-LY3IB5VH.js} +2 -2
- package/dist/{chunk-YEVAAROT.js → chunk-MP2LAJS5.js} +3 -3
- package/dist/{chunk-BX2JPTSO.js → chunk-N4DW7EIC.js} +2 -2
- package/dist/{chunk-DLIHGNBS.js → chunk-NQNNMRLC.js} +3 -3
- package/dist/{chunk-DLIHGNBS.js.map → chunk-NQNNMRLC.js.map} +1 -1
- package/dist/{chunk-QHXITV2M.js → chunk-OTVEMGF2.js} +2 -2
- package/dist/chunk-POTVACYB.js +8 -0
- package/dist/chunk-POTVACYB.js.map +1 -0
- package/dist/chunk-QVU6HSYP.js +12 -0
- package/dist/chunk-QVU6HSYP.js.map +1 -0
- package/dist/{chunk-GFXVOSAE.js → chunk-R76WTFYC.js} +2 -2
- package/dist/chunk-RBTYTONM.js +13 -0
- package/dist/chunk-RBTYTONM.js.map +1 -0
- package/dist/{chunk-BOKTSYI5.js → chunk-RFRLNTFN.js} +2 -2
- package/dist/{chunk-MTBVMYTS.js → chunk-U7BH6DMJ.js} +2 -2
- package/dist/{chunk-CU7PKEY2.js → chunk-VPKUUY5Q.js} +2 -2
- package/dist/chunk-VYNBVZSA.js +37 -0
- package/dist/chunk-VYNBVZSA.js.map +1 -0
- package/dist/chunk-WQSRNCNF.js +5 -0
- package/dist/chunk-WQSRNCNF.js.map +1 -0
- package/dist/{chunk-BBFBNDAZ.js → chunk-XZFBTUAG.js} +2 -2
- package/dist/{chunk-C7VQJ35F.js → chunk-ZFRNMT3P.js} +2 -2
- package/dist/{chunk-SSLZPI3M.js → chunk-ZGSSTXUO.js} +2 -2
- package/dist/components/ActionButton/index.js +2 -2
- package/dist/components/Autocomplete/index.js +2 -2
- package/dist/components/Avatar/index.d.ts +1 -1
- package/dist/components/AvatarButton/index.js +3 -3
- package/dist/components/BuilderLayout/index.js +2 -2
- package/dist/components/BuilderSidebar/index.js +1 -1
- package/dist/components/BulkEditModal/index.d.ts +64 -0
- package/dist/components/BulkEditModal/index.js +28 -0
- package/dist/components/BulkEditModal/index.js.map +1 -0
- package/dist/components/CardBrand/index.js +1 -1
- package/dist/components/Common/index.js +3 -3
- package/dist/components/CopyButton/index.js +2 -2
- package/dist/components/DataGrid/index.js +2 -1
- package/dist/components/DataView/index.js +8 -6
- package/dist/components/DragButton/index.js +2 -2
- package/dist/components/Drawer/index.js +1 -1
- package/dist/components/DynamicDataView/index.d.ts +4 -2
- package/dist/components/DynamicDataView/index.js +20 -14
- package/dist/components/DynamicDataView/index.js.map +1 -1
- package/dist/components/EasyCropModal/index.js +3 -3
- package/dist/components/Error/index.js +1 -1
- package/dist/components/ExpandableGroup/index.js +7 -7
- package/dist/components/ExpandableGroup/index.js.map +1 -1
- package/dist/components/FieldMentions/index.js.map +1 -1
- package/dist/components/FileUpload/index.js +7 -6
- package/dist/components/FrameSkeleton/index.js +4 -4
- package/dist/components/HelpButton/index.js +2 -2
- package/dist/components/Icon/index.js +1 -1
- package/dist/components/IconButton/index.js +2 -2
- package/dist/components/ImageCropModal/index.js +3 -3
- package/dist/components/Incrementer/index.js +2 -2
- package/dist/components/InfoCircle/index.js +1 -1
- package/dist/components/ListBundles/index.js +2 -2
- package/dist/components/MenuItem/index.js +1 -1
- package/dist/components/Modal/index.js +2 -2
- package/dist/components/MoreMenu/index.js +1 -1
- package/dist/components/PasswordRules/index.js +1 -1
- package/dist/components/PopoverSelect/index.js +1 -1
- package/dist/components/SearchInput/index.js +2 -2
- package/dist/components/SelectableCards/index.js +3 -3
- package/dist/components/SeoPreview/index.js +1 -1
- package/dist/components/StateDisplay/index.js +2 -2
- package/dist/components/Steps/index.js +1 -1
- package/dist/components/StyledTab/index.js +1 -1
- package/dist/components/SwapList/index.js +2 -2
- package/dist/components/ToggleTheme/index.js +2 -2
- package/dist/components/WebhookCard/index.js +2 -2
- package/dist/components/carousel/index.js +2 -2
- package/dist/components/form/Address/index.js +3 -3
- package/dist/components/form/Autocomplete/index.js +3 -3
- package/dist/components/form/FileUpload/index.js +8 -7
- package/dist/components/form/FileUpload/index.js.map +1 -1
- package/dist/components/form/Incrementer/index.js +2 -2
- package/dist/components/form/Password/index.js +1 -1
- package/dist/components/form/SelectableCards/index.js +3 -3
- package/dist/components/form/UploadAvatarWithCrop/index.js +6 -5
- package/dist/components/form/UploadAvatarWithCrop/index.js.map +1 -1
- package/dist/components/form/UploadWithCrop/index.js +8 -7
- package/dist/components/form/UploadWithCrop/index.js.map +1 -1
- package/dist/components/form/Webhook/index.js +12 -12
- package/dist/components/form/Webhook/index.js.map +1 -1
- package/dist/components/lightbox/index.js +1 -1
- package/dist/components/table/index.js +2 -2
- package/dist/components/upload/index.js +11 -10
- package/dist/components/upload/index.js.map +1 -1
- package/dist/hooks/useCollapseSidebarOnMount.js +3 -3
- package/dist/hooks/useEventCallback.d.ts +2 -3
- package/dist/hooks/useEventCallback.js +1 -1
- package/dist/hooks/useLocalStorage.js +2 -2
- package/dist/hooks/useSnackbar.d.ts +1 -1
- package/dist/hooks/useThemeToggle.js +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +2 -2
- package/dist/theme/core/index.d.ts +1 -1
- package/dist/theme/styles/index.d.ts +13 -13
- package/dist/theme/theme-provider.js +2 -2
- package/package.json +1 -1
- package/dist/chunk-F4T3RPSV.js +0 -36
- package/dist/chunk-F4T3RPSV.js.map +0 -1
- package/dist/chunk-HLMZQG27.js.map +0 -1
- package/dist/chunk-JBPWWO5D.js +0 -15
- package/dist/chunk-JBPWWO5D.js.map +0 -1
- package/dist/chunk-MQAMSYYK.js +0 -8
- package/dist/chunk-MQAMSYYK.js.map +0 -1
- package/dist/chunk-NCNSNAJ5.js +0 -27
- package/dist/chunk-NCNSNAJ5.js.map +0 -1
- package/dist/chunk-SA2BESEB.js +0 -17
- package/dist/chunk-SA2BESEB.js.map +0 -1
- package/dist/chunk-XTTDUDXX.js +0 -42
- package/dist/chunk-YCKZD2H6.js +0 -23
- package/dist/{chunk-75G5RNV4.js.map → chunk-5LQLLZ5L.js.map} +0 -0
- package/dist/{chunk-KRT2AT6N.js.map → chunk-CWCEG2DZ.js.map} +0 -0
- package/dist/{chunk-YCKZD2H6.js.map → chunk-JFZOAS75.js.map} +0 -0
- package/dist/{chunk-MJQ5FMYR.js.map → chunk-JZ55NEMI.js.map} +0 -0
- package/dist/{chunk-WVXEXDGZ.js.map → chunk-KR3DUHA6.js.map} +0 -0
- package/dist/{chunk-X7VVV26F.js.map → chunk-LEMPYV5U.js.map} +0 -0
- package/dist/{chunk-AA2DXMIC.js.map → chunk-LNXA53QR.js.map} +0 -0
- package/dist/{chunk-CDJKO3NN.js.map → chunk-LY3IB5VH.js.map} +0 -0
- package/dist/{chunk-YEVAAROT.js.map → chunk-MP2LAJS5.js.map} +0 -0
- package/dist/{chunk-BX2JPTSO.js.map → chunk-N4DW7EIC.js.map} +0 -0
- package/dist/{chunk-QHXITV2M.js.map → chunk-OTVEMGF2.js.map} +0 -0
- package/dist/{chunk-GFXVOSAE.js.map → chunk-R76WTFYC.js.map} +0 -0
- package/dist/{chunk-BOKTSYI5.js.map → chunk-RFRLNTFN.js.map} +0 -0
- package/dist/{chunk-MTBVMYTS.js.map → chunk-U7BH6DMJ.js.map} +0 -0
- package/dist/{chunk-CU7PKEY2.js.map → chunk-VPKUUY5Q.js.map} +0 -0
- package/dist/{chunk-BBFBNDAZ.js.map → chunk-XZFBTUAG.js.map} +0 -0
- package/dist/{chunk-C7VQJ35F.js.map → chunk-ZFRNMT3P.js.map} +0 -0
- package/dist/{chunk-SSLZPI3M.js.map → chunk-ZGSSTXUO.js.map} +0 -0
- package/dist/{index-c8f1e6e7.d.ts → index-5a5e5dc8.d.ts} +12 -12
|
@@ -1,15 +1,16 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { r, o, p, q } from '../../../chunk-VYNBVZSA.js';
|
|
2
2
|
import '../../../chunk-DTIGB5NW.js';
|
|
3
|
-
import '../../../chunk-
|
|
4
|
-
import '../../../chunk-
|
|
3
|
+
import '../../../chunk-WQSRNCNF.js';
|
|
4
|
+
import '../../../chunk-ZFRNMT3P.js';
|
|
5
|
+
import '../../../chunk-RFRLNTFN.js';
|
|
5
6
|
import '../../../chunk-KGLU4CR2.js';
|
|
6
|
-
import '../../../chunk-
|
|
7
|
+
import '../../../chunk-LNXA53QR.js';
|
|
7
8
|
import '../../../chunk-OF6623HG.js';
|
|
8
|
-
import '../../../chunk-
|
|
9
|
+
import '../../../chunk-N4DW7EIC.js';
|
|
9
10
|
import '../../../chunk-33C6UWPV.js';
|
|
10
11
|
import '../../../chunk-45OMMG7D.js';
|
|
11
12
|
import '../../../chunk-6U5LS7MP.js';
|
|
12
|
-
import '../../../chunk-
|
|
13
|
+
import '../../../chunk-NQNNMRLC.js';
|
|
13
14
|
import '../../../chunk-CIGSMWKF.js';
|
|
14
15
|
import '../../../chunk-VITOOMKK.js';
|
|
15
16
|
import '../../../chunk-RPO7AI5K.js';
|
|
@@ -19,7 +20,7 @@ import { useFormContext, Controller } from 'react-hook-form';
|
|
|
19
20
|
import { useState, useEffect, useMemo, useRef } from 'react';
|
|
20
21
|
import { jsx } from 'react/jsx-runtime';
|
|
21
22
|
|
|
22
|
-
var h=(e,r)=>{let{setValue:l,watch:s}=useFormContext(),t=s(e),[o,i]=useState();return useEffect(()=>{if(!t){i(void 0);return}(async()=>{try{let a=await r(t).unwrap();i({id:a.id,url:a.url,name:a.name});}catch{i({id:t,url:""});}})();},[t,r]),{fileDetails:o,handleFileSelect:d=>{l(e,d.id,{shouldValidate:!0,shouldDirty:!0});},handleRemove:()=>{l(e,null,{shouldValidate:!0,shouldDirty:!0});}}},R=(e,r)=>{let{setValue:l,watch:s}=useFormContext(),t=s(e),o=useMemo(()=>t||[],[t]),[i,n]=useState([]),u=useRef(new Map);return useEffect(()=>{if(!o||o.length===0){n([]);return}(async()=>{try{let p=[...new Set(o)],c=u.current,F=p.filter(S=>!c.has(S));if(F.length>0){let S=F.map(async U=>{try{let g=await r(U).unwrap(),M={id:g.id,url:g.url,name:g.name};return c.set(U,M),M}catch{let g={id:U,url:""};return c.set(U,g),g}});await Promise.all(S);}let T=p.map(S=>c.get(S));n(T);}catch{n(o.map(p=>({id:p,url:""})));}})();},[o,r]),{currentValue:o,filesDetails:i,handleFilesSelect:m=>{let p=m.map(F=>F.id),c=[...new Set([...o,...p])];l(e,c,{shouldValidate:!0,shouldDirty:!0});},handleRemove:m=>{if(!m)return;let p=o.filter(c=>c!==m.id);l(e,p,{shouldValidate:!0,shouldDirty:!0});},handleReorder:(m,p)=>{let c=[...o],[F]=c.splice(m,1);c.splice(p,0,F),l(e,c,{shouldValidate:!0,shouldDirty:!0});}}};var E=({name:e,rules:r,createFilesMutation:l,getFileQuery:s,disableRemove:t,aspectRatio:o=1,enableCrop:i=!0,maxSize:n=5242880,...u})=>{let{control:d}=useFormContext(),{fileDetails:a,handleFileSelect:f,handleRemove:m}=h(e,s);return jsx(Controller,{name:e,control:d,rules:r,render:({fieldState:{error:p}})=>jsx(
|
|
23
|
+
var h=(e,r)=>{let{setValue:l,watch:s}=useFormContext(),t=s(e),[o,i]=useState();return useEffect(()=>{if(!t){i(void 0);return}(async()=>{try{let a=await r(t).unwrap();i({id:a.id,url:a.url,name:a.name});}catch{i({id:t,url:""});}})();},[t,r]),{fileDetails:o,handleFileSelect:d=>{l(e,d.id,{shouldValidate:!0,shouldDirty:!0});},handleRemove:()=>{l(e,null,{shouldValidate:!0,shouldDirty:!0});}}},R=(e,r)=>{let{setValue:l,watch:s}=useFormContext(),t=s(e),o=useMemo(()=>t||[],[t]),[i,n]=useState([]),u=useRef(new Map);return useEffect(()=>{if(!o||o.length===0){n([]);return}(async()=>{try{let p=[...new Set(o)],c=u.current,F=p.filter(S=>!c.has(S));if(F.length>0){let S=F.map(async U=>{try{let g=await r(U).unwrap(),M={id:g.id,url:g.url,name:g.name};return c.set(U,M),M}catch{let g={id:U,url:""};return c.set(U,g),g}});await Promise.all(S);}let T=p.map(S=>c.get(S));n(T);}catch{n(o.map(p=>({id:p,url:""})));}})();},[o,r]),{currentValue:o,filesDetails:i,handleFilesSelect:m=>{let p=m.map(F=>F.id),c=[...new Set([...o,...p])];l(e,c,{shouldValidate:!0,shouldDirty:!0});},handleRemove:m=>{if(!m)return;let p=o.filter(c=>c!==m.id);l(e,p,{shouldValidate:!0,shouldDirty:!0});},handleReorder:(m,p)=>{let c=[...o],[F]=c.splice(m,1);c.splice(p,0,F),l(e,c,{shouldValidate:!0,shouldDirty:!0});}}};var E=({name:e,rules:r$1,createFilesMutation:l,getFileQuery:s,disableRemove:t,aspectRatio:o=1,enableCrop:i=!0,maxSize:n=5242880,...u})=>{let{control:d}=useFormContext(),{fileDetails:a,handleFileSelect:f,handleRemove:m}=h(e,s);return jsx(Controller,{name:e,control:d,rules:r$1,render:({fieldState:{error:p}})=>jsx(r,{name:e,fileDetails:a,createFilesMutation:l,onFileSelect:f,onRemove:t?void 0:m,aspectRatio:o,enableCrop:i,maxSize:n,error:p?.message,...u})})},G=E;var J=({name:e,rules:r,createFilesMutation:l,getFileQuery:s,disableRemove:t,disableReorder:o$1,...i})=>{let{control:n}=useFormContext(),{filesDetails:u,handleFilesSelect:d,handleRemove:a,handleReorder:f}=R(e,s);return jsx(Controller,{name:e,control:n,rules:r,render:({fieldState:{error:m}})=>jsx(o,{name:e,filesDetails:u,createFilesMutation:l,onFilesSelect:d,onRemove:t?void 0:a,onReorder:o$1?void 0:f,error:m?.message,...i})})},K=J;var W=({name:e,rules:r,createFilesMutation:l,getFileQuery:s,disableRemove:t,disableReorder:o,...i})=>{let{control:n}=useFormContext(),{filesDetails:u,handleFilesSelect:d,handleRemove:a,handleReorder:f}=R(e,s);return jsx(Controller,{name:e,control:n,rules:r,render:({fieldState:{error:m}})=>jsx(p,{name:e,filesDetails:u,createFilesMutation:l,onFilesSelect:d,onRemove:t?void 0:a,onReorder:o?void 0:f,error:m?.message,...i})})},X=W;var _=({name:e,rules:r,createFilesMutation:l,getFileQuery:s,disableRemove:t,...o})=>{let{control:i}=useFormContext(),{fileDetails:n,handleFileSelect:u,handleRemove:d}=h(e,s);return jsx(Controller,{name:e,control:i,rules:r,render:({fieldState:{error:a}})=>jsx(q,{name:e,fileDetails:n,createFilesMutation:l,onFileSelect:u,onRemove:t?void 0:d,error:a?.message,...o})})},$=_;var oe=({name:e,rules:r$1,createFilesMutation:l,getFileQuery:s,disableRemove:t,hoverAlt:o,...i})=>{let{control:n}=useFormContext(),{fileDetails:u,handleFileSelect:d,handleRemove:a}=h(e,s);return jsx(Controller,{name:e,control:n,rules:r$1,render:({fieldState:{error:f}})=>jsx(r,{name:e,fileDetails:u,createFilesMutation:l,onFileSelect:d,onRemove:t?void 0:a,error:f?.message,hoverAlt:o,...i})})},te=oe;
|
|
23
24
|
|
|
24
25
|
export { G as AvatarUpload, K as MultiFileUpload, X as MultiImageUpload, $ as SingleFileUpload, te as SingleImageUpload };
|
|
25
26
|
//# sourceMappingURL=out.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/form/FileUpload/AvatarUpload.tsx","../../../../src/components/form/FileUpload/useFormFileUpload.ts","../../../../src/components/form/FileUpload/MultiFileUpload.tsx","../../../../src/components/form/FileUpload/MultiImageUpload.tsx","../../../../src/components/form/FileUpload/SingleFileUpload.tsx","../../../../src/components/form/FileUpload/SingleImageUpload.tsx"],"names":["Controller","useFormContext","useEffect","useMemo","useRef","useState","useSingleFileUpload","name","getFileQuery","setValue","watch","value","fileDetails","setFileDetails","file","useMultiFileUpload","watchedValue","currentValue","filesDetails","setFilesDetails","cacheRef","uniqueIds","cache","newIds","id","promises","fallback","results","files","updatedIds","oldIndex","newIndex","removed","jsx","AvatarUpload","rules","createFilesMutation","disableRemove","aspectRatio","enableCrop","maxSize","other","control","handleFileSelect","handleRemove","error","SingleImageUpload_default","AvatarUpload_default","MultiFileUpload","disableReorder","handleFilesSelect","handleReorder","MultipleFileUpload_default","MultiFileUpload_default","MultiImageUpload","MultipleImageUpload_default","MultiImageUpload_default","SingleFileUpload","SingleFileUpload_default","SingleImageUpload","hoverAlt"],"mappings":"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","sourcesContent":["import { Controller, useFormContext } from 'react-hook-form';\n\nimport SingleImageUploadComponent from 'components/FileUpload/SingleImageUpload';\n\nimport { FormSingleImageUploadProps } from './props';\nimport { useSingleFileUpload } from './useFormFileUpload';\n\n/**\n * AvatarUpload integrado ao React Hook Form\n * Componente especializado para upload de avatar (imagem circular de perfil)\n * Gerencia automaticamente o estado do arquivo e retorna apenas o resource_file_id\n *\n * @example\n * ```tsx\n * import { Form } from 'components/form';\n * import { AvatarUpload } from 'components/form/FileUpload';\n * import { useCreateFilesMutation, useGetFileQuery } from 'services/filesApi';\n *\n * interface FormData {\n * avatar_id: string | null;\n * }\n *\n * const ProfileForm = () => {\n * const createFilesMutation = useCreateFilesMutation();\n * const getFileQuery = useGetFileQuery();\n * const methods = useForm<FormData>();\n *\n * return (\n * <Form methods={methods} onSubmit={handleSubmit}>\n * <AvatarUpload\n * name=\"avatar_id\"\n * createFilesMutation={createFilesMutation}\n * getFileQuery={getFileQuery}\n * />\n * </Form>\n * );\n * };\n * ```\n */\nconst AvatarUpload = ({\n name,\n rules,\n createFilesMutation,\n getFileQuery,\n disableRemove,\n aspectRatio = 1,\n enableCrop = true,\n maxSize = 5242880,\n ...other\n}: FormSingleImageUploadProps) => {\n const { control } = useFormContext();\n const { fileDetails, handleFileSelect, handleRemove } = useSingleFileUpload(\n name,\n getFileQuery,\n );\n\n return (\n <Controller\n name={name}\n control={control}\n rules={rules}\n render={({ fieldState: { error } }) => (\n <SingleImageUploadComponent\n name={name}\n fileDetails={fileDetails}\n createFilesMutation={createFilesMutation}\n onFileSelect={handleFileSelect}\n onRemove={disableRemove ? undefined : handleRemove}\n aspectRatio={aspectRatio}\n enableCrop={enableCrop}\n maxSize={maxSize}\n error={error?.message}\n {...other}\n />\n )}\n />\n );\n};\n\nexport default AvatarUpload;\n","import { useEffect, useMemo, useRef, useState } from 'react';\nimport { useFormContext } from 'react-hook-form';\n\nimport { FileDetails } from 'components/FileUpload/props';\n\nimport { LazyQueryTrigger } from './props';\n\n/**\n * Hook para gerenciar upload de arquivo único\n */\nexport const useSingleFileUpload = (\n name: string,\n getFileQuery: LazyQueryTrigger,\n) => {\n const { setValue, watch } = useFormContext();\n const value = watch(name);\n const [fileDetails, setFileDetails] = useState<FileDetails | undefined>();\n\n useEffect(() => {\n if (!value) {\n setFileDetails(undefined);\n return;\n }\n const fetchFile = async () => {\n try {\n const file = await getFileQuery(value).unwrap();\n setFileDetails({\n id: file.id,\n url: file.url,\n name: file.name,\n });\n } catch {\n setFileDetails({ id: value, url: '' });\n }\n };\n fetchFile();\n }, [value, getFileQuery]);\n\n const handleFileSelect = (file: FileDetails) => {\n setValue(name, file.id, { shouldValidate: true, shouldDirty: true });\n };\n\n const handleRemove = () => {\n setValue(name, null, { shouldValidate: true, shouldDirty: true });\n };\n\n return {\n fileDetails,\n handleFileSelect,\n handleRemove,\n };\n};\n\n/**\n * Hook para gerenciar upload de múltiplos arquivos\n */\nexport const useMultiFileUpload = (\n name: string,\n getFileQuery: LazyQueryTrigger,\n) => {\n const { setValue, watch } = useFormContext();\n const watchedValue = watch(name);\n const currentValue = useMemo(() => watchedValue || [], [watchedValue]);\n const [filesDetails, setFilesDetails] = useState<FileDetails[]>([]);\n const cacheRef = useRef<Map<string, FileDetails>>(new Map());\n\n useEffect(() => {\n if (!currentValue || currentValue.length === 0) {\n setFilesDetails([]);\n return;\n }\n const fetchFiles = async () => {\n try {\n // Remove duplicatas mantendo a ordem\n const uniqueIds = [...new Set(currentValue)] as string[];\n\n const cache = cacheRef.current;\n const newIds = uniqueIds.filter(id => !cache.has(id));\n\n if (newIds.length > 0) {\n const promises = newIds.map(async (id: string) => {\n try {\n const file = await getFileQuery(id).unwrap();\n const fileDetails = {\n id: file.id,\n url: file.url,\n name: file.name,\n };\n cache.set(id, fileDetails);\n return fileDetails;\n } catch {\n const fallback = { id, url: '' };\n cache.set(id, fallback);\n return fallback;\n }\n });\n await Promise.all(promises);\n }\n\n const results = uniqueIds.map(id => cache.get(id)!);\n setFilesDetails(results);\n } catch {\n setFilesDetails(currentValue.map((id: string) => ({ id, url: '' })));\n }\n };\n fetchFiles();\n }, [currentValue, getFileQuery]);\n\n const handleFilesSelect = (files: FileDetails[]) => {\n const newIds = files.map(file => file.id);\n const updatedIds = [...new Set([...currentValue, ...newIds])];\n setValue(name, updatedIds, {\n shouldValidate: true,\n shouldDirty: true,\n });\n };\n\n const handleRemove = (file?: { id: string }) => {\n if (!file) return;\n const updatedIds = currentValue.filter((id: string) => id !== file.id);\n setValue(name, updatedIds, {\n shouldValidate: true,\n shouldDirty: true,\n });\n };\n\n const handleReorder = (oldIndex: number, newIndex: number) => {\n const newIds = [...currentValue];\n const [removed] = newIds.splice(oldIndex, 1);\n newIds.splice(newIndex, 0, removed);\n setValue(name, newIds, {\n shouldValidate: true,\n shouldDirty: true,\n });\n };\n\n return {\n currentValue,\n filesDetails,\n handleFilesSelect,\n handleRemove,\n handleReorder,\n };\n};\n","import { Controller, useFormContext } from 'react-hook-form';\n\nimport MultiFileUploadComponent from 'components/FileUpload/MultipleFileUpload';\n\nimport { FormMultiFileUploadProps } from './props';\nimport { useMultiFileUpload } from './useFormFileUpload';\n\n/**\n * MultiFileUpload integrado ao React Hook Form\n * Gerencia automaticamente o estado dos arquivos e retorna array de resource_file_ids\n *\n * @example\n * ```tsx\n * import { Form } from 'components/form';\n * import { MultiFileUpload } from 'components/form/FileUpload';\n * import { useCreateFilesMutation } from 'services/filesApi';\n *\n * const FormExample = () => {\n * const createFilesMutation = useCreateFilesMutation();\n * const methods = useForm({\n * defaultValues: {\n * document_ids: [],\n * },\n * });\n *\n * const handleSubmit = (data: any) => {\n * console.log(data.document_ids); // Array de IDs\n * };\n *\n * return (\n * <Form methods={methods} onSubmit={handleSubmit}>\n * <MultiFileUpload\n * name=\"document_ids\"\n * label=\"Documentos\"\n * createFilesMutation={createFilesMutation}\n * maxFiles={5}\n * />\n * </Form>\n * );\n * };\n * ```\n */\nconst MultiFileUpload = ({\n name,\n rules,\n createFilesMutation,\n getFileQuery,\n disableRemove,\n disableReorder,\n ...other\n}: FormMultiFileUploadProps) => {\n const { control } = useFormContext();\n const { filesDetails, handleFilesSelect, handleRemove, handleReorder } =\n useMultiFileUpload(name, getFileQuery);\n\n return (\n <Controller\n name={name}\n control={control}\n rules={rules}\n render={({ fieldState: { error } }) => (\n <MultiFileUploadComponent\n name={name}\n filesDetails={filesDetails}\n createFilesMutation={createFilesMutation}\n onFilesSelect={handleFilesSelect}\n onRemove={disableRemove ? undefined : handleRemove}\n onReorder={disableReorder ? undefined : handleReorder}\n error={error?.message}\n {...other}\n />\n )}\n />\n );\n};\n\nexport default MultiFileUpload;\n","import { Controller, useFormContext } from 'react-hook-form';\n\nimport MultiImageUploadComponent from 'components/FileUpload/MultipleImageUpload';\n\nimport { FormMultiImageUploadProps } from './props';\nimport { useMultiFileUpload } from './useFormFileUpload';\n\n/**\n * MultiImageUpload integrado ao React Hook Form\n * Gerencia automaticamente o estado dos arquivos e retorna array de resource_file_ids\n *\n * @example\n * ```tsx\n * import { Form } from 'components/form';\n * import { MultiImageUpload } from 'components/form/FileUpload';\n * import { useCreateFilesMutation } from 'services/filesApi';\n *\n * const FormExample = () => {\n * const createFilesMutation = useCreateFilesMutation();\n * const methods = useForm({\n * defaultValues: {\n * image_ids: [],\n * },\n * });\n *\n * const handleSubmit = (data: any) => {\n * console.log(data.image_ids); // Array de IDs\n * };\n *\n * return (\n * <Form methods={methods} onSubmit={handleSubmit}>\n * <MultiImageUpload\n * name=\"image_ids\"\n * label=\"Imagens\"\n * createFilesMutation={createFilesMutation}\n * maxFiles={5}\n * />\n * </Form>\n * );\n * };\n * ```\n */\nconst MultiImageUpload = ({\n name,\n rules,\n createFilesMutation,\n getFileQuery,\n disableRemove,\n disableReorder,\n ...other\n}: FormMultiImageUploadProps) => {\n const { control } = useFormContext();\n const { filesDetails, handleFilesSelect, handleRemove, handleReorder } =\n useMultiFileUpload(name, getFileQuery);\n\n return (\n <Controller\n name={name}\n control={control}\n rules={rules}\n render={({ fieldState: { error } }) => (\n <MultiImageUploadComponent\n name={name}\n filesDetails={filesDetails}\n createFilesMutation={createFilesMutation}\n onFilesSelect={handleFilesSelect}\n onRemove={disableRemove ? undefined : handleRemove}\n onReorder={disableReorder ? undefined : handleReorder}\n error={error?.message}\n {...other}\n />\n )}\n />\n );\n};\n\nexport default MultiImageUpload;\n","import { Controller, useFormContext } from 'react-hook-form';\n\nimport SingleFileUploadComponent from 'components/FileUpload/SingleFileUpload';\n\nimport { FormSingleFileUploadProps } from './props';\nimport { useSingleFileUpload } from './useFormFileUpload';\n\n/**\n * SingleFileUpload integrado ao React Hook Form\n * Gerencia automaticamente o estado do arquivo e retorna apenas o resource_file_id\n *\n * @example\n * ```tsx\n * import { Form } from 'components/form';\n * import { SingleFileUpload } from 'components/form/FileUpload';\n * import { useCreateFilesMutation } from 'services/filesApi';\n *\n * const FormExample = () => {\n * const createFilesMutation = useCreateFilesMutation();\n * const methods = useForm({\n * defaultValues: {\n * document_id: null,\n * },\n * });\n *\n * const handleSubmit = (data: any) => {\n * console.log(data.document_id); // ID do arquivo\n * };\n *\n * return (\n * <Form methods={methods} onSubmit={handleSubmit}>\n * <SingleFileUpload\n * name=\"document_id\"\n * label=\"Documento\"\n * createFilesMutation={createFilesMutation}\n * maxSize={1024 * 1024 * 10}\n * />\n * </Form>\n * );\n * };\n * ```\n */\nconst SingleFileUpload = ({\n name,\n rules,\n createFilesMutation,\n getFileQuery,\n disableRemove,\n ...other\n}: FormSingleFileUploadProps) => {\n const { control } = useFormContext();\n const { fileDetails, handleFileSelect, handleRemove } = useSingleFileUpload(\n name,\n getFileQuery,\n );\n\n return (\n <Controller\n name={name}\n control={control}\n rules={rules}\n render={({ fieldState: { error } }) => (\n <SingleFileUploadComponent\n name={name}\n fileDetails={fileDetails}\n createFilesMutation={createFilesMutation}\n onFileSelect={handleFileSelect}\n onRemove={disableRemove ? undefined : handleRemove}\n error={error?.message}\n {...other}\n />\n )}\n />\n );\n};\n\nexport default SingleFileUpload;\n","import { Controller, useFormContext } from 'react-hook-form';\n\nimport SingleImageUploadComponent from 'components/FileUpload/SingleImageUpload';\n\nimport { FormSingleImageUploadProps } from './props';\nimport { useSingleFileUpload } from './useFormFileUpload';\n\n/**\n * SingleImageUpload integrado ao React Hook Form\n * Gerencia automaticamente o estado do arquivo e retorna apenas o resource_file_id\n *\n * @example\n * ```tsx\n * import { Form } from 'components/form';\n * import { SingleImageUpload } from 'components/form/FileUpload';\n * import { useCreateFilesMutation } from 'services/filesApi';\n *\n * const FormExample = () => {\n * const createFilesMutation = useCreateFilesMutation();\n * const methods = useForm({\n * defaultValues: {\n * resource_id: null,\n * },\n * });\n *\n * const handleSubmit = (data: any) => {\n * console.log(data.resource_id); // ID do arquivo\n * };\n *\n * return (\n * <Form methods={methods} onSubmit={handleSubmit}>\n * <SingleImageUpload\n * name=\"resource_id\"\n * label=\"Imagem\"\n * createFilesMutation={createFilesMutation}\n * maxSize={1024 * 1024 * 5}\n * />\n * </Form>\n * );\n * };\n * ```\n */\nconst SingleImageUpload = ({\n name,\n rules,\n createFilesMutation,\n getFileQuery,\n disableRemove,\n hoverAlt,\n ...other\n}: FormSingleImageUploadProps) => {\n const { control } = useFormContext();\n const { fileDetails, handleFileSelect, handleRemove } = useSingleFileUpload(\n name,\n getFileQuery,\n );\n\n return (\n <Controller\n name={name}\n control={control}\n rules={rules}\n render={({ fieldState: { error } }) => (\n <SingleImageUploadComponent\n name={name}\n fileDetails={fileDetails}\n createFilesMutation={createFilesMutation}\n onFileSelect={handleFileSelect}\n onRemove={disableRemove ? undefined : handleRemove}\n error={error?.message}\n hoverAlt={hoverAlt}\n {...other}\n />\n )}\n />\n );\n};\n\nexport default SingleImageUpload;\n"]}
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/form/FileUpload/AvatarUpload.tsx","../../../../src/components/form/FileUpload/useFormFileUpload.ts","../../../../src/components/form/FileUpload/MultiFileUpload.tsx","../../../../src/components/form/FileUpload/MultiImageUpload.tsx","../../../../src/components/form/FileUpload/SingleFileUpload.tsx","../../../../src/components/form/FileUpload/SingleImageUpload.tsx"],"names":["Controller","useFormContext","useEffect","useMemo","useRef","useState","useSingleFileUpload","name","getFileQuery","setValue","watch","value","fileDetails","setFileDetails","file","useMultiFileUpload","watchedValue","currentValue","filesDetails","setFilesDetails","cacheRef","uniqueIds","cache","newIds","id","promises","fallback","results","files","updatedIds","oldIndex","newIndex","removed","jsx","AvatarUpload","rules","createFilesMutation","disableRemove","aspectRatio","enableCrop","maxSize","other","control","handleFileSelect","handleRemove","error","SingleImageUpload_default","AvatarUpload_default","MultiFileUpload","disableReorder","handleFilesSelect","handleReorder","MultipleFileUpload_default","MultiFileUpload_default","MultiImageUpload","MultipleImageUpload_default","MultiImageUpload_default","SingleFileUpload","SingleFileUpload_default","SingleImageUpload","hoverAlt"],"mappings":"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","sourcesContent":["import { Controller, useFormContext } from 'react-hook-form';\n\nimport SingleImageUploadComponent from 'components/FileUpload/SingleImageUpload';\n\nimport { FormSingleImageUploadProps } from './props';\nimport { useSingleFileUpload } from './useFormFileUpload';\n\n/**\n * AvatarUpload integrado ao React Hook Form\n * Componente especializado para upload de avatar (imagem circular de perfil)\n * Gerencia automaticamente o estado do arquivo e retorna apenas o resource_file_id\n *\n * @example\n * ```tsx\n * import { Form } from 'components/form';\n * import { AvatarUpload } from 'components/form/FileUpload';\n * import { useCreateFilesMutation, useGetFileQuery } from 'services/filesApi';\n *\n * interface FormData {\n * avatar_id: string | null;\n * }\n *\n * const ProfileForm = () => {\n * const createFilesMutation = useCreateFilesMutation();\n * const getFileQuery = useGetFileQuery();\n * const methods = useForm<FormData>();\n *\n * return (\n * <Form methods={methods} onSubmit={handleSubmit}>\n * <AvatarUpload\n * name=\"avatar_id\"\n * createFilesMutation={createFilesMutation}\n * getFileQuery={getFileQuery}\n * />\n * </Form>\n * );\n * };\n * ```\n */\nconst AvatarUpload = ({\n name,\n rules,\n createFilesMutation,\n getFileQuery,\n disableRemove,\n aspectRatio = 1,\n enableCrop = true,\n maxSize = 5242880,\n ...other\n}: FormSingleImageUploadProps) => {\n const { control } = useFormContext();\n const { fileDetails, handleFileSelect, handleRemove } = useSingleFileUpload(\n name,\n getFileQuery,\n );\n\n return (\n <Controller\n name={name}\n control={control}\n rules={rules}\n render={({ fieldState: { error } }) => (\n <SingleImageUploadComponent\n name={name}\n fileDetails={fileDetails}\n createFilesMutation={createFilesMutation}\n onFileSelect={handleFileSelect}\n onRemove={disableRemove ? undefined : handleRemove}\n aspectRatio={aspectRatio}\n enableCrop={enableCrop}\n maxSize={maxSize}\n error={error?.message}\n {...other}\n />\n )}\n />\n );\n};\n\nexport default AvatarUpload;\n","import { useEffect, useMemo, useRef, useState } from 'react';\nimport { useFormContext } from 'react-hook-form';\n\nimport { FileDetails } from 'components/FileUpload/props';\n\nimport { LazyQueryTrigger } from './props';\n\n/**\n * Hook para gerenciar upload de arquivo único\n */\nexport const useSingleFileUpload = (\n name: string,\n getFileQuery: LazyQueryTrigger,\n) => {\n const { setValue, watch } = useFormContext();\n const value = watch(name);\n const [fileDetails, setFileDetails] = useState<FileDetails | undefined>();\n\n useEffect(() => {\n if (!value) {\n setFileDetails(undefined);\n return;\n }\n const fetchFile = async () => {\n try {\n const file = await getFileQuery(value).unwrap();\n setFileDetails({\n id: file.id,\n url: file.url,\n name: file.name,\n });\n } catch {\n setFileDetails({ id: value, url: '' });\n }\n };\n fetchFile();\n }, [value, getFileQuery]);\n\n const handleFileSelect = (file: FileDetails) => {\n setValue(name, file.id, { shouldValidate: true, shouldDirty: true });\n };\n\n const handleRemove = () => {\n setValue(name, null, { shouldValidate: true, shouldDirty: true });\n };\n\n return {\n fileDetails,\n handleFileSelect,\n handleRemove,\n };\n};\n\n/**\n * Hook para gerenciar upload de múltiplos arquivos\n */\nexport const useMultiFileUpload = (\n name: string,\n getFileQuery: LazyQueryTrigger,\n) => {\n const { setValue, watch } = useFormContext();\n const watchedValue = watch(name);\n const currentValue = useMemo(() => watchedValue || [], [watchedValue]);\n const [filesDetails, setFilesDetails] = useState<FileDetails[]>([]);\n const cacheRef = useRef<Map<string, FileDetails>>(new Map());\n\n useEffect(() => {\n if (!currentValue || currentValue.length === 0) {\n setFilesDetails([]);\n return;\n }\n const fetchFiles = async () => {\n try {\n // Remove duplicatas mantendo a ordem\n const uniqueIds = [...new Set(currentValue)] as string[];\n\n const cache = cacheRef.current;\n const newIds = uniqueIds.filter(id => !cache.has(id));\n\n if (newIds.length > 0) {\n const promises = newIds.map(async (id: string) => {\n try {\n const file = await getFileQuery(id).unwrap();\n const fileDetails = {\n id: file.id,\n url: file.url,\n name: file.name,\n };\n cache.set(id, fileDetails);\n return fileDetails;\n } catch {\n const fallback = { id, url: '' };\n cache.set(id, fallback);\n return fallback;\n }\n });\n await Promise.all(promises);\n }\n\n const results = uniqueIds.map(id => cache.get(id)!);\n setFilesDetails(results);\n } catch {\n setFilesDetails(currentValue.map((id: string) => ({ id, url: '' })));\n }\n };\n fetchFiles();\n }, [currentValue, getFileQuery]);\n\n const handleFilesSelect = (files: FileDetails[]) => {\n const newIds = files.map(file => file.id);\n const updatedIds = [...new Set([...currentValue, ...newIds])];\n setValue(name, updatedIds, {\n shouldValidate: true,\n shouldDirty: true,\n });\n };\n\n const handleRemove = (file?: { id: string }) => {\n if (!file) return;\n const updatedIds = currentValue.filter((id: string) => id !== file.id);\n setValue(name, updatedIds, {\n shouldValidate: true,\n shouldDirty: true,\n });\n };\n\n const handleReorder = (oldIndex: number, newIndex: number) => {\n const newIds = [...currentValue];\n const [removed] = newIds.splice(oldIndex, 1);\n newIds.splice(newIndex, 0, removed);\n setValue(name, newIds, {\n shouldValidate: true,\n shouldDirty: true,\n });\n };\n\n return {\n currentValue,\n filesDetails,\n handleFilesSelect,\n handleRemove,\n handleReorder,\n };\n};\n","import { Controller, useFormContext } from 'react-hook-form';\n\nimport MultiFileUploadComponent from 'components/FileUpload/MultipleFileUpload';\n\nimport { FormMultiFileUploadProps } from './props';\nimport { useMultiFileUpload } from './useFormFileUpload';\n\n/**\n * MultiFileUpload integrado ao React Hook Form\n * Gerencia automaticamente o estado dos arquivos e retorna array de resource_file_ids\n *\n * @example\n * ```tsx\n * import { Form } from 'components/form';\n * import { MultiFileUpload } from 'components/form/FileUpload';\n * import { useCreateFilesMutation } from 'services/filesApi';\n *\n * const FormExample = () => {\n * const createFilesMutation = useCreateFilesMutation();\n * const methods = useForm({\n * defaultValues: {\n * document_ids: [],\n * },\n * });\n *\n * const handleSubmit = (data: any) => {\n * console.log(data.document_ids); // Array de IDs\n * };\n *\n * return (\n * <Form methods={methods} onSubmit={handleSubmit}>\n * <MultiFileUpload\n * name=\"document_ids\"\n * label=\"Documentos\"\n * createFilesMutation={createFilesMutation}\n * maxFiles={5}\n * />\n * </Form>\n * );\n * };\n * ```\n */\nconst MultiFileUpload = ({\n name,\n rules,\n createFilesMutation,\n getFileQuery,\n disableRemove,\n disableReorder,\n ...other\n}: FormMultiFileUploadProps) => {\n const { control } = useFormContext();\n const { filesDetails, handleFilesSelect, handleRemove, handleReorder } =\n useMultiFileUpload(name, getFileQuery);\n\n return (\n <Controller\n name={name}\n control={control}\n rules={rules}\n render={({ fieldState: { error } }) => (\n <MultiFileUploadComponent\n name={name}\n filesDetails={filesDetails}\n createFilesMutation={createFilesMutation}\n onFilesSelect={handleFilesSelect}\n onRemove={disableRemove ? undefined : handleRemove}\n onReorder={disableReorder ? undefined : handleReorder}\n error={error?.message}\n {...other}\n />\n )}\n />\n );\n};\n\nexport default MultiFileUpload;\n","import { Controller, useFormContext } from 'react-hook-form';\n\nimport MultiImageUploadComponent from 'components/FileUpload/MultipleImageUpload';\n\nimport { FormMultiImageUploadProps } from './props';\nimport { useMultiFileUpload } from './useFormFileUpload';\n\n/**\n * MultiImageUpload integrado ao React Hook Form\n * Gerencia automaticamente o estado dos arquivos e retorna array de resource_file_ids\n *\n * @example\n * ```tsx\n * import { Form } from 'components/form';\n * import { MultiImageUpload } from 'components/form/FileUpload';\n * import { useCreateFilesMutation } from 'services/filesApi';\n *\n * const FormExample = () => {\n * const createFilesMutation = useCreateFilesMutation();\n * const methods = useForm({\n * defaultValues: {\n * image_ids: [],\n * },\n * });\n *\n * const handleSubmit = (data: any) => {\n * console.log(data.image_ids); // Array de IDs\n * };\n *\n * return (\n * <Form methods={methods} onSubmit={handleSubmit}>\n * <MultiImageUpload\n * name=\"image_ids\"\n * label=\"Imagens\"\n * createFilesMutation={createFilesMutation}\n * maxFiles={5}\n * />\n * </Form>\n * );\n * };\n * ```\n */\nconst MultiImageUpload = ({\n name,\n rules,\n createFilesMutation,\n getFileQuery,\n disableRemove,\n disableReorder,\n ...other\n}: FormMultiImageUploadProps) => {\n const { control } = useFormContext();\n const { filesDetails, handleFilesSelect, handleRemove, handleReorder } =\n useMultiFileUpload(name, getFileQuery);\n\n return (\n <Controller\n name={name}\n control={control}\n rules={rules}\n render={({ fieldState: { error } }) => (\n <MultiImageUploadComponent\n name={name}\n filesDetails={filesDetails}\n createFilesMutation={createFilesMutation}\n onFilesSelect={handleFilesSelect}\n onRemove={disableRemove ? undefined : handleRemove}\n onReorder={disableReorder ? undefined : handleReorder}\n error={error?.message}\n {...other}\n />\n )}\n />\n );\n};\n\nexport default MultiImageUpload;\n","import { Controller, useFormContext } from 'react-hook-form';\n\nimport SingleFileUploadComponent from 'components/FileUpload/SingleFileUpload';\n\nimport { FormSingleFileUploadProps } from './props';\nimport { useSingleFileUpload } from './useFormFileUpload';\n\n/**\n * SingleFileUpload integrado ao React Hook Form\n * Gerencia automaticamente o estado do arquivo e retorna apenas o resource_file_id\n *\n * @example\n * ```tsx\n * import { Form } from 'components/form';\n * import { SingleFileUpload } from 'components/form/FileUpload';\n * import { useCreateFilesMutation } from 'services/filesApi';\n *\n * const FormExample = () => {\n * const createFilesMutation = useCreateFilesMutation();\n * const methods = useForm({\n * defaultValues: {\n * document_id: null,\n * },\n * });\n *\n * const handleSubmit = (data: any) => {\n * console.log(data.document_id); // ID do arquivo\n * };\n *\n * return (\n * <Form methods={methods} onSubmit={handleSubmit}>\n * <SingleFileUpload\n * name=\"document_id\"\n * label=\"Documento\"\n * createFilesMutation={createFilesMutation}\n * maxSize={1024 * 1024 * 10}\n * />\n * </Form>\n * );\n * };\n * ```\n */\nconst SingleFileUpload = ({\n name,\n rules,\n createFilesMutation,\n getFileQuery,\n disableRemove,\n ...other\n}: FormSingleFileUploadProps) => {\n const { control } = useFormContext();\n const { fileDetails, handleFileSelect, handleRemove } = useSingleFileUpload(\n name,\n getFileQuery,\n );\n\n return (\n <Controller\n name={name}\n control={control}\n rules={rules}\n render={({ fieldState: { error } }) => (\n <SingleFileUploadComponent\n name={name}\n fileDetails={fileDetails}\n createFilesMutation={createFilesMutation}\n onFileSelect={handleFileSelect}\n onRemove={disableRemove ? undefined : handleRemove}\n error={error?.message}\n {...other}\n />\n )}\n />\n );\n};\n\nexport default SingleFileUpload;\n","import { Controller, useFormContext } from 'react-hook-form';\n\nimport SingleImageUploadComponent from 'components/FileUpload/SingleImageUpload';\n\nimport { FormSingleImageUploadProps } from './props';\nimport { useSingleFileUpload } from './useFormFileUpload';\n\n/**\n * SingleImageUpload integrado ao React Hook Form\n * Gerencia automaticamente o estado do arquivo e retorna apenas o resource_file_id\n *\n * @example\n * ```tsx\n * import { Form } from 'components/form';\n * import { SingleImageUpload } from 'components/form/FileUpload';\n * import { useCreateFilesMutation } from 'services/filesApi';\n *\n * const FormExample = () => {\n * const createFilesMutation = useCreateFilesMutation();\n * const methods = useForm({\n * defaultValues: {\n * resource_id: null,\n * },\n * });\n *\n * const handleSubmit = (data: any) => {\n * console.log(data.resource_id); // ID do arquivo\n * };\n *\n * return (\n * <Form methods={methods} onSubmit={handleSubmit}>\n * <SingleImageUpload\n * name=\"resource_id\"\n * label=\"Imagem\"\n * createFilesMutation={createFilesMutation}\n * maxSize={1024 * 1024 * 5}\n * />\n * </Form>\n * );\n * };\n * ```\n */\nconst SingleImageUpload = ({\n name,\n rules,\n createFilesMutation,\n getFileQuery,\n disableRemove,\n hoverAlt,\n ...other\n}: FormSingleImageUploadProps) => {\n const { control } = useFormContext();\n const { fileDetails, handleFileSelect, handleRemove } = useSingleFileUpload(\n name,\n getFileQuery,\n );\n\n return (\n <Controller\n name={name}\n control={control}\n rules={rules}\n render={({ fieldState: { error } }) => (\n <SingleImageUploadComponent\n name={name}\n fileDetails={fileDetails}\n createFilesMutation={createFilesMutation}\n onFileSelect={handleFileSelect}\n onRemove={disableRemove ? undefined : handleRemove}\n error={error?.message}\n hoverAlt={hoverAlt}\n {...other}\n />\n )}\n />\n );\n};\n\nexport default SingleImageUpload;\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { a } from '../../../chunk-
|
|
1
|
+
import { a } from '../../../chunk-XZFBTUAG.js';
|
|
2
2
|
import '../../../chunk-KIWSLR76.js';
|
|
3
3
|
import '../../../chunk-OF6623HG.js';
|
|
4
|
-
import '../../../chunk-
|
|
4
|
+
import '../../../chunk-NQNNMRLC.js';
|
|
5
5
|
import '../../../chunk-CIGSMWKF.js';
|
|
6
6
|
import { useFormContext, Controller } from 'react-hook-form';
|
|
7
7
|
import { jsx } from 'react/jsx-runtime';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { a } from '../../../chunk-YXRL4O4H.js';
|
|
2
2
|
import { d } from '../../../chunk-ZMB2HEJV.js';
|
|
3
|
-
import { a as a$1 } from '../../../chunk-
|
|
3
|
+
import { a as a$1 } from '../../../chunk-NQNNMRLC.js';
|
|
4
4
|
import '../../../chunk-CIGSMWKF.js';
|
|
5
5
|
import { useState } from 'react';
|
|
6
6
|
import { useFormContext } from 'react-hook-form';
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { a } from '../../../chunk-
|
|
1
|
+
import { a } from '../../../chunk-MP2LAJS5.js';
|
|
2
2
|
import '../../../chunk-6ZSTKYGL.js';
|
|
3
|
-
import '../../../chunk-
|
|
3
|
+
import '../../../chunk-OTVEMGF2.js';
|
|
4
4
|
import '../../../chunk-IJZCVZ32.js';
|
|
5
5
|
import '../../../chunk-NIQW2J3M.js';
|
|
6
|
-
import '../../../chunk-
|
|
6
|
+
import '../../../chunk-NQNNMRLC.js';
|
|
7
7
|
import '../../../chunk-CIGSMWKF.js';
|
|
8
8
|
import '../../../chunk-XWUVJ22J.js';
|
|
9
9
|
import { useFormContext, Controller } from 'react-hook-form';
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import { b } from '../../../chunk-
|
|
2
|
-
import '../../../chunk-
|
|
3
|
-
import '../../../chunk-
|
|
4
|
-
import '../../../chunk-BOKTSYI5.js';
|
|
1
|
+
import { b } from '../../../chunk-JFZOAS75.js';
|
|
2
|
+
import '../../../chunk-6WGKIN5L.js';
|
|
3
|
+
import '../../../chunk-KR3DUHA6.js';
|
|
5
4
|
import '../../../chunk-ESFOFEVL.js';
|
|
5
|
+
import '../../../chunk-WQSRNCNF.js';
|
|
6
|
+
import '../../../chunk-RFRLNTFN.js';
|
|
6
7
|
import '../../../chunk-OF6623HG.js';
|
|
7
|
-
import '../../../chunk-
|
|
8
|
+
import '../../../chunk-NQNNMRLC.js';
|
|
8
9
|
import '../../../chunk-CIGSMWKF.js';
|
|
9
10
|
import { a } from '../../../chunk-YCEQDXLR.js';
|
|
10
11
|
import '../../../chunk-SBMEL2IJ.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/form/UploadAvatarWithCrop/index.tsx"],"names":["Controller","useFormContext","FormHelperText","jsx","UploadAvatarWithCrop","name","rules","helperText","aspect","label","image","onFileCropped","onImageUploaded","onCancel","other","control","uploadFile","file","setFileValue","useUpload_default","value","error","upload_avatar_with_crop_default","v","UploadAvatarWithCrop_default"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/form/UploadAvatarWithCrop/index.tsx"],"names":["Controller","useFormContext","FormHelperText","jsx","UploadAvatarWithCrop","name","rules","helperText","aspect","label","image","onFileCropped","onImageUploaded","onCancel","other","control","uploadFile","file","setFileValue","useUpload_default","value","error","upload_avatar_with_crop_default","v","UploadAvatarWithCrop_default"],"mappings":"kgBAAA,OAAS,cAAAA,EAAY,kBAAAC,MAAsB,kBAC3C,OAAOC,MAAoB,+BA6Cb,cAAAC,MAAA,oBAtCd,IAAMC,EAAuB,CAAC,CAC5B,KAAAC,EACA,MAAAC,EACA,WAAAC,EACA,OAAAC,EACA,MAAAC,EACA,MAAAC,EACA,cAAAC,EACA,gBAAAC,EACA,SAAAC,EACA,GAAGC,CACL,IAAiC,CAC/B,GAAM,CAAE,QAAAC,CAAQ,EAAId,EAAe,EAC7B,CAAE,WAAAe,EAAY,KAAAC,EAAM,aAAAC,CAAa,EAAIC,EAAUd,CAAI,EAEzD,OACEF,EAACH,EAAA,CACC,KAAMK,EACN,QAASU,EACT,MAAOT,EACP,OAAQ,CAAC,CAAE,MAAO,CAAE,MAAAc,CAAM,EAAG,WAAY,CAAE,MAAAC,CAAM,CAAE,IACjDlB,EAACmB,EAAA,CACC,OAAQ,CAAE,UAAW,CAAC,CAAE,EACxB,KAAMF,EAAQH,EAAO,OACrB,cAAeM,GAAK,CAClBP,EAAWO,CAAC,EACRZ,GAAeA,EAAcY,CAAC,CACpC,EACA,gBAAiBX,EACjB,SAAU,IAAM,CACdM,EAAa,MAAS,EAElBL,GAAUA,EAAS,CACzB,EACA,MAAO,CAAC,CAACQ,EACT,gBAAe,GACf,YACG,CAAC,CAACA,GAASd,IACVJ,EAACD,EAAA,CAAe,MAAO,CAAC,CAACmB,EAAO,GAAI,CAAE,GAAI,CAAE,EACzC,SAAAA,EAAQA,GAAO,QAAUd,EAC5B,EAGJ,OAAQC,EACR,MAAOC,EACP,MAAOC,EACP,uBAAsBL,EACrB,GAAGS,EACN,EAEJ,CAEJ,EAEOU,EAAQpB","sourcesContent":["import { Controller, useFormContext } from 'react-hook-form';\nimport FormHelperText from '@mui/material/FormHelperText';\n\nimport UploadAvatarWithCropComponent from 'components/upload/upload-avatar-with-crop';\nimport useUpload from 'hooks/useUpload';\n\nimport { UploadAvatarWithCropProps } from './props';\n\nconst UploadAvatarWithCrop = ({\n name,\n rules,\n helperText,\n aspect,\n label,\n image,\n onFileCropped,\n onImageUploaded,\n onCancel,\n ...other\n}: UploadAvatarWithCropProps) => {\n const { control } = useFormContext();\n const { uploadFile, file, setFileValue } = useUpload(name);\n\n return (\n <Controller\n name={name}\n control={control}\n rules={rules}\n render={({ field: { value }, fieldState: { error } }) => (\n <UploadAvatarWithCropComponent\n accept={{ 'image/*': [] }}\n file={value ? file : undefined}\n onFileCropped={v => {\n uploadFile(v);\n if (onFileCropped) onFileCropped(v);\n }}\n onImageUploaded={onImageUploaded}\n onCancel={() => {\n setFileValue(undefined);\n\n if (onCancel) onCancel();\n }}\n error={!!error}\n disableMultiple\n helperText={\n (!!error || helperText) && (\n <FormHelperText error={!!error} sx={{ px: 2 }}>\n {error ? error?.message : helperText}\n </FormHelperText>\n )\n }\n aspect={aspect}\n label={label}\n image={image}\n data-intercom-target={name}\n {...other}\n />\n )}\n />\n );\n};\n\nexport default UploadAvatarWithCrop;\n"]}
|
|
@@ -1,14 +1,15 @@
|
|
|
1
|
-
import { e } from '../../../chunk-
|
|
2
|
-
import '../../../chunk-
|
|
3
|
-
import '../../../chunk-
|
|
4
|
-
import '../../../chunk-DTIGB5NW.js';
|
|
5
|
-
import '../../../chunk-BOKTSYI5.js';
|
|
1
|
+
import { e } from '../../../chunk-IEGF6HVV.js';
|
|
2
|
+
import '../../../chunk-6WGKIN5L.js';
|
|
3
|
+
import '../../../chunk-KR3DUHA6.js';
|
|
6
4
|
import '../../../chunk-ESFOFEVL.js';
|
|
5
|
+
import '../../../chunk-DTIGB5NW.js';
|
|
6
|
+
import '../../../chunk-WQSRNCNF.js';
|
|
7
|
+
import '../../../chunk-RFRLNTFN.js';
|
|
7
8
|
import '../../../chunk-OF6623HG.js';
|
|
8
|
-
import '../../../chunk-
|
|
9
|
+
import '../../../chunk-N4DW7EIC.js';
|
|
9
10
|
import '../../../chunk-33C6UWPV.js';
|
|
10
11
|
import '../../../chunk-6U5LS7MP.js';
|
|
11
|
-
import '../../../chunk-
|
|
12
|
+
import '../../../chunk-NQNNMRLC.js';
|
|
12
13
|
import '../../../chunk-CIGSMWKF.js';
|
|
13
14
|
import { a } from '../../../chunk-YCEQDXLR.js';
|
|
14
15
|
import '../../../chunk-SBMEL2IJ.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/form/UploadWithCrop/index.tsx"],"names":["Controller","useFormContext","FormHelperText","jsx","UploadWithCrop","name","rules","helperText","aspect","label","image","onFileCropped","onImageUploaded","onCancel","other","control","uploadFile","file","setFileValue","useUpload_default","value","error","upload_with_crop_default","v","UploadWithCrop_default"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/form/UploadWithCrop/index.tsx"],"names":["Controller","useFormContext","FormHelperText","jsx","UploadWithCrop","name","rules","helperText","aspect","label","image","onFileCropped","onImageUploaded","onCancel","other","control","uploadFile","file","setFileValue","useUpload_default","value","error","upload_with_crop_default","v","UploadWithCrop_default"],"mappings":"+sBAAA,OAAS,cAAAA,EAAY,kBAAAC,MAAsB,kBAC3C,OAAOC,MAAoB,+BA6Cb,cAAAC,MAAA,oBAtCd,IAAMC,EAAiB,CAAC,CACtB,KAAAC,EACA,MAAAC,EACA,WAAAC,EACA,OAAAC,EACA,MAAAC,EACA,MAAAC,EACA,cAAAC,EACA,gBAAAC,EACA,SAAAC,EACA,GAAGC,CACL,IAA2B,CACzB,GAAM,CAAE,QAAAC,CAAQ,EAAId,EAAe,EAC7B,CAAE,WAAAe,EAAY,KAAAC,EAAM,aAAAC,CAAa,EAAIC,EAAUd,CAAI,EAEzD,OACEF,EAACH,EAAA,CACC,KAAMK,EACN,QAASU,EACT,MAAOT,EACP,OAAQ,CAAC,CAAE,MAAO,CAAE,MAAAc,CAAM,EAAG,WAAY,CAAE,MAAAC,CAAM,CAAE,IACjDlB,EAACmB,EAAA,CACC,OAAQ,CAAE,UAAW,CAAC,CAAE,EACxB,KAAMF,EAAQH,EAAO,OACrB,cAAeM,GAAK,CAClBP,EAAWO,CAAC,EACRZ,GAAeA,EAAcY,CAAC,CACpC,EACA,gBAAiBX,EACjB,SAAU,IAAM,CACdM,EAAa,MAAS,EAElBL,GAAUA,EAAS,CACzB,EACA,MAAO,CAAC,CAACQ,EACT,gBAAe,GACf,YACG,CAAC,CAACA,GAASd,IACVJ,EAACD,EAAA,CAAe,MAAO,CAAC,CAACmB,EAAO,GAAI,CAAE,GAAI,CAAE,EACzC,SAAAA,EAAQA,GAAO,QAAUd,EAC5B,EAGJ,OAAQC,EACR,MAAOC,EACP,MAAOC,EACP,uBAAsBL,EACrB,GAAGS,EACN,EAEJ,CAEJ,EAEOU,EAAQpB","sourcesContent":["import { Controller, useFormContext } from 'react-hook-form';\nimport FormHelperText from '@mui/material/FormHelperText';\n\nimport UploadWithCropComponent from 'components/upload/upload-with-crop';\nimport useUpload from 'hooks/useUpload';\n\nimport { UploadWithCropProps } from './props';\n\nconst UploadWithCrop = ({\n name,\n rules,\n helperText,\n aspect,\n label,\n image,\n onFileCropped,\n onImageUploaded,\n onCancel,\n ...other\n}: UploadWithCropProps) => {\n const { control } = useFormContext();\n const { uploadFile, file, setFileValue } = useUpload(name);\n\n return (\n <Controller\n name={name}\n control={control}\n rules={rules}\n render={({ field: { value }, fieldState: { error } }) => (\n <UploadWithCropComponent\n accept={{ 'image/*': [] }}\n file={value ? file : undefined}\n onFileCropped={v => {\n uploadFile(v);\n if (onFileCropped) onFileCropped(v);\n }}\n onImageUploaded={onImageUploaded}\n onCancel={() => {\n setFileValue(undefined);\n\n if (onCancel) onCancel();\n }}\n error={!!error}\n disableMultiple\n helperText={\n (!!error || helperText) && (\n <FormHelperText error={!!error} sx={{ px: 2 }}>\n {error ? error?.message : helperText}\n </FormHelperText>\n )\n }\n aspect={aspect}\n label={label}\n image={image}\n data-intercom-target={name}\n {...other}\n />\n )}\n />\n );\n};\n\nexport default UploadWithCrop;\n"]}
|
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
import { a } from '../../../chunk-YXRL4O4H.js';
|
|
2
|
-
import { a as a$
|
|
3
|
-
import { a as a$
|
|
4
|
-
import '../../../chunk-
|
|
5
|
-
import { a as a$1 } from '../../../chunk-
|
|
2
|
+
import { a as a$3 } from '../../../chunk-LEMPYV5U.js';
|
|
3
|
+
import { a as a$2 } from '../../../chunk-JZ55NEMI.js';
|
|
4
|
+
import '../../../chunk-LY3IB5VH.js';
|
|
5
|
+
import { a as a$1 } from '../../../chunk-NQNNMRLC.js';
|
|
6
6
|
import '../../../chunk-CIGSMWKF.js';
|
|
7
7
|
import { useFormContext, useFieldArray } from 'react-hook-form';
|
|
8
|
-
import
|
|
9
|
-
import
|
|
10
|
-
import
|
|
11
|
-
import
|
|
12
|
-
import
|
|
13
|
-
import
|
|
8
|
+
import N from '@mui/material/Divider';
|
|
9
|
+
import B from '@mui/material/IconButton';
|
|
10
|
+
import D from '@mui/material/InputAdornment';
|
|
11
|
+
import n from '@mui/material/Stack';
|
|
12
|
+
import I from '@mui/material/Typography';
|
|
13
|
+
import O from '@mui/material/Alert';
|
|
14
14
|
import { styled, alpha } from '@mui/material/styles';
|
|
15
15
|
import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
|
|
16
16
|
|
|
17
|
-
var s=[{label:"XML",value:"XML"},{label:"JSON",value:"JSON"},{label:"BYTEA",value:"BYTEA"}],c=[{label:"GET",value:"GET"},{label:"POST",value:"POST"},{label:"DELETE",value:"DELETE"},{label:"PUT",value:"PUT"}];var
|
|
17
|
+
var s=[{label:"XML",value:"XML"},{label:"JSON",value:"JSON"},{label:"BYTEA",value:"BYTEA"}],c=[{label:"GET",value:"GET"},{label:"POST",value:"POST"},{label:"DELETE",value:"DELETE"},{label:"PUT",value:"PUT"}];var T=styled(B)(({theme:o})=>({svg:{color:`${o.palette.primary.main} !important`}})),b=styled(I)(()=>({textDecoration:"underline",fontWeight:"600",cursor:"pointer"})),y=styled(O)(({theme:o})=>({backgroundColor:`${alpha(o.palette.primary.main,.03)}`,border:`1px solid ${alpha(o.palette.primary.main,.4)}`,flexDirection:"row",alignItems:"center",padding:"2px 12px",gap:8,borderRadius:8,marginBottom:16,"& svg":{color:o.palette.primary.main}}));var x=()=>{let o=()=>{let a="https://ajuda.zydon.com.br/pt-BR/articles/9180603-sobre-webhooks";window.open(a,"_blank");};return jsx(y,{severity:"info",children:jsxs(I,{color:"grey",variant:"caption",children:["Webhooks permitem que servi\xE7os externos sejam notificados quando determinados eventos acontecem. Saiba mais"," ",jsx(b,{variant:"caption",color:"primary",onClick:()=>o(),children:"acessando a documenta\xE7\xE3o do Webhook"})]})})},f=x;var _=({webhookData:o,isEditing:a$4=!1,haveTip:v=!1})=>{let{control:S}=useFormContext(),{fields:k,append:E,remove:A}=useFieldArray({name:"headers",control:S}),C=()=>{E({value:"",name:""});};return jsxs(Fragment,{children:[v&&jsx(f,{}),a$4&&jsx(a,{name:"name",label:"Nome do webhook"}),jsxs(n,{direction:"row",gap:2,children:[jsx(a,{name:"url",label:"URL de endpoint",rules:{required:{value:!0,message:"Url \xE9 obrigat\xF3rio"}}}),jsx(a,{name:"filter",label:"Filtro"})]}),a$4&&o&&jsxs(Fragment,{children:[jsx(a,{variant:"filled",name:"solution",label:"Solu\xE7\xE3o",disabled:!0}),jsxs(n,{direction:"row",gap:2,children:[jsx(a,{variant:"filled",name:"resource",label:"Origem",disabled:!0}),jsx(a,{variant:"filled",name:"resource_id",label:"ID origem",disabled:!0,InputProps:{endAdornment:jsx(D,{position:"end",children:jsx(T,{onClick:()=>navigator.clipboard.writeText(o.resource_id),children:jsx(a$1,{className:"copyIcon",icon:"COPY_CONTENT"})})})}}),jsx(a,{variant:"filled",name:"event",label:"Evento",disabled:!0})]})]}),jsxs(n,{direction:"row",gap:2,alignItems:"center",children:[jsx(a$2,{fullWidth:!0,options:s,name:"content_type",label:"Tipo de conte\xFAdo",required:!0,rules:{required:{value:!0,message:"Campo Tipo de conte\xFAdo \xE9 obrigat\xF3rio"}}}),jsx(a$2,{fullWidth:!0,options:c,name:"http_method",label:"M\xE9todo HTTP",required:!0,rules:{required:{value:!0,message:"Campo M\xE9todo HTTP \xE9 obrigat\xF3rio"}}})]}),jsx(I,{variant:"overline",color:"grey",children:"Cabe\xE7alho"}),k?.map((P,l)=>jsxs(n,{direction:"row",gap:2,alignItems:"center",children:[jsx(a,{name:`headers.${l}.name`,label:"Chave",required:!0,rules:{required:{value:!0,message:""}}}),jsx(a,{name:`headers.${l}.value`,label:"Valor"}),jsx(B,{color:"error",onClick:()=>A(l),children:jsx(a$1,{icon:"DELETE_MARK_BUTTON_02"})})]},P.id)),jsx(a$3,{actionType:"NEW",size:"large",variant:"outlined",color:"inherit",fullWidth:!0,onClick:()=>C(),children:"Adicionar novo cabe\xE7alho"}),jsx(N,{})]})},de=_;
|
|
18
18
|
|
|
19
|
-
export {
|
|
19
|
+
export { de as default };
|
|
20
20
|
//# sourceMappingURL=out.js.map
|
|
21
21
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/form/Webhook/index.tsx","../../../../src/components/form/Webhook/props.ts","../../../../src/components/form/Webhook/styles.ts","../../../../src/components/form/Webhook/WebhookAlert.tsx"],"names":["useFieldArray","useFormContext","Divider","IconButton","InputAdornment","Stack","Typography","ContentTypeOptions","HttpMethodOptions","Alert","alpha","styled","SyledIconButton","theme","SyledDeleteIcon","StyledTypography","StyledAlert","jsx","jsxs","WebhookAlert","handleLinkClick","url","WebhookAlert_default","Fragment","Webhook","webhookData","isEditing","haveTip","control","headers","append","remove","handleCreateField","Field_default","Icon_default","Autocomplete_default","item","index","ActionButton_default","Webhook_default"],"mappings":"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","sourcesContent":["import { useFieldArray, useFormContext } from 'react-hook-form';\nimport Divider from '@mui/material/Divider';\nimport IconButton from '@mui/material/IconButton';\nimport InputAdornment from '@mui/material/InputAdornment';\nimport Stack from '@mui/material/Stack';\nimport Typography from '@mui/material/Typography';\n\nimport ActionButton from 'components/ActionButton';\nimport Icon from 'components/Icon';\n\nimport Autocomplete from '../Autocomplete';\nimport Field from '../Field';\n\nimport { ContentTypeOptions, HttpMethodOptions, WebhookProps } from './props';\nimport { SyledIconButton } from './styles';\nimport WebhookAlert from './WebhookAlert';\n\nconst Webhook = ({\n webhookData,\n isEditing = false,\n haveTip = false,\n}: WebhookProps) => {\n const { control } = useFormContext();\n\n const {\n fields: headers,\n append,\n remove,\n } = useFieldArray({\n name: 'headers',\n control,\n });\n\n const handleCreateField = () => {\n append({\n value: '',\n name: '',\n });\n };\n\n return (\n <>\n {haveTip && <WebhookAlert />}\n {isEditing && <Field name=\"name\" label=\"Nome do webhook\" />}\n <Stack direction=\"row\" gap={2}>\n <Field\n name=\"url\"\n label=\"URL de endpoint\"\n rules={{ required: { value: true, message: 'Url é obrigatório' } }}\n />\n <Field name=\"filter\" label=\"Filtro\" />\n </Stack>\n {isEditing && webhookData && (\n <>\n <Field variant=\"filled\" name=\"solution\" label=\"Solução\" disabled />\n <Stack direction=\"row\" gap={2}>\n <Field variant=\"filled\" name=\"resource\" label=\"Origem\" disabled />\n <Field\n variant=\"filled\"\n name=\"resource_id\"\n label=\"ID origem\"\n disabled\n InputProps={{\n endAdornment: (\n <InputAdornment position=\"end\">\n <SyledIconButton\n onClick={() =>\n navigator.clipboard.writeText(webhookData.resource_id)\n }\n >\n <Icon className=\"copyIcon\" icon=\"COPY_CONTENT\" />\n </SyledIconButton>\n </InputAdornment>\n ),\n }}\n />\n <Field variant=\"filled\" name=\"event\" label=\"Evento\" disabled />\n </Stack>\n </>\n )}\n <Stack direction=\"row\" gap={2} alignItems=\"center\">\n <Autocomplete\n fullWidth\n options={ContentTypeOptions}\n name=\"content_type\"\n label=\"Tipo de conteúdo\"\n required\n rules={{\n required: {\n value: true,\n message: 'Campo Tipo de conteúdo é obrigatório',\n },\n }}\n />\n <Autocomplete\n fullWidth\n options={HttpMethodOptions}\n name=\"http_method\"\n label=\"Método HTTP\"\n required\n rules={{\n required: {\n value: true,\n message: 'Campo Método HTTP é obrigatório',\n },\n }}\n />\n </Stack>\n <Typography variant=\"overline\" color=\"grey\">\n Cabeçalho\n </Typography>\n {headers?.map((item, index) => (\n <Stack key={item.id} direction=\"row\" gap={2} alignItems=\"center\">\n <Field\n name={`headers.${index}.name`}\n label=\"Chave\"\n required\n rules={{\n required: {\n value: true,\n message: '',\n },\n }}\n />\n <Field name={`headers.${index}.value`} label=\"Valor\" />\n <IconButton color=\"error\" onClick={() => remove(index)}>\n <Icon icon=\"DELETE_MARK_BUTTON_02\" />\n </IconButton>\n </Stack>\n ))}\n <ActionButton\n actionType=\"NEW\"\n size=\"large\"\n variant=\"outlined\"\n color=\"inherit\"\n fullWidth\n onClick={() => handleCreateField()}\n >\n Adicionar novo cabeçalho\n </ActionButton>\n <Divider />\n </>\n );\n};\n\nexport default Webhook;\n","import { WebhookType } from 'types/webhook';\n\nexport interface WebhookProps {\n webhookData?: WebhookType;\n isEditing?: boolean;\n haveTip?: boolean;\n}\nexport enum ContentTypeStatus {\n XML = 'XML',\n JSON = 'JSON',\n BYTEA = 'BYTEA',\n}\n\nexport enum HttpMethodStatus {\n GET = 'GET',\n POST = 'POST',\n PATCH = 'PATCH',\n DELETE = 'DELETE',\n PUT = 'PUT',\n}\n\nexport const ContentTypeOptions = [\n {\n label: ContentTypeStatus.XML,\n value: ContentTypeStatus.XML,\n },\n {\n label: ContentTypeStatus.JSON,\n value: ContentTypeStatus.JSON,\n },\n {\n label: ContentTypeStatus.BYTEA,\n value: ContentTypeStatus.BYTEA,\n },\n];\n\nexport const HttpMethodOptions = [\n {\n label: HttpMethodStatus.GET,\n value: HttpMethodStatus.GET,\n },\n {\n label: HttpMethodStatus.POST,\n value: HttpMethodStatus.POST,\n },\n {\n label: HttpMethodStatus.DELETE,\n value: HttpMethodStatus.DELETE,\n },\n {\n label: HttpMethodStatus.PUT,\n value: HttpMethodStatus.PUT,\n },\n];\n","import Alert from '@mui/material/Alert';\nimport IconButton from '@mui/material/IconButton';\nimport { alpha, styled } from '@mui/material/styles';\nimport Typography from '@mui/material/Typography';\n\nexport const SyledIconButton = styled(IconButton)(({ theme }) => ({\n svg: {\n color: `${theme.palette.primary.main} !important`,\n },\n}));\n\nexport const SyledDeleteIcon = styled(IconButton)(() => ({\n height: '38px',\n alignSelf: 'center',\n}));\n\nexport const StyledTypography = styled(Typography)(() => ({\n textDecoration: 'underline',\n fontWeight: '600',\n cursor: 'pointer',\n}));\n\nexport const StyledAlert = styled(Alert)(({ theme }) => ({\n backgroundColor: `${alpha(theme.palette.primary.main, 0.03)}`,\n border: `1px solid ${alpha(theme.palette.primary.main, 0.4)}`,\n flexDirection: 'row',\n alignItems: 'center',\n padding: '2px 12px',\n gap: 8,\n borderRadius: 8,\n marginBottom: 16,\n\n '& svg': {\n color: theme.palette.primary.main,\n },\n}));\n","import Typography from '@mui/material/Typography';\n\nimport { StyledAlert, StyledTypography } from './styles';\n\nconst WebhookAlert = () => {\n const handleLinkClick = () => {\n const url =\n 'https://ajuda.zydon.com.br/pt-BR/articles/9180603-sobre-webhooks';\n window.open(url, '_blank');\n };\n\n return (\n <StyledAlert severity=\"info\">\n <Typography color=\"grey\" variant=\"caption\">\n Webhooks permitem que serviços externos sejam notificados quando\n determinados eventos acontecem. Saiba mais{' '}\n <StyledTypography\n variant=\"caption\"\n color=\"primary\"\n onClick={() => handleLinkClick()}\n >\n acessando a documentação do Webhook\n </StyledTypography>\n </Typography>\n </StyledAlert>\n );\n};\n\nexport default WebhookAlert;\n"]}
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/form/Webhook/index.tsx","../../../../src/components/form/Webhook/props.ts","../../../../src/components/form/Webhook/styles.ts","../../../../src/components/form/Webhook/WebhookAlert.tsx"],"names":["useFieldArray","useFormContext","Divider","IconButton","InputAdornment","Stack","Typography","ContentTypeOptions","HttpMethodOptions","Alert","alpha","styled","SyledIconButton","theme","StyledTypography","StyledAlert","jsx","jsxs","WebhookAlert","handleLinkClick","url","WebhookAlert_default","Fragment","Webhook","webhookData","isEditing","haveTip","control","headers","append","remove","handleCreateField","Field_default","Icon_default","Autocomplete_default","item","index","ActionButton_default","Webhook_default"],"mappings":"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","sourcesContent":["import { useFieldArray, useFormContext } from 'react-hook-form';\nimport Divider from '@mui/material/Divider';\nimport IconButton from '@mui/material/IconButton';\nimport InputAdornment from '@mui/material/InputAdornment';\nimport Stack from '@mui/material/Stack';\nimport Typography from '@mui/material/Typography';\n\nimport ActionButton from 'components/ActionButton';\nimport Icon from 'components/Icon';\n\nimport Autocomplete from '../Autocomplete';\nimport Field from '../Field';\n\nimport { ContentTypeOptions, HttpMethodOptions, WebhookProps } from './props';\nimport { SyledIconButton } from './styles';\nimport WebhookAlert from './WebhookAlert';\n\nconst Webhook = ({\n webhookData,\n isEditing = false,\n haveTip = false,\n}: WebhookProps) => {\n const { control } = useFormContext();\n\n const {\n fields: headers,\n append,\n remove,\n } = useFieldArray({\n name: 'headers',\n control,\n });\n\n const handleCreateField = () => {\n append({\n value: '',\n name: '',\n });\n };\n\n return (\n <>\n {haveTip && <WebhookAlert />}\n {isEditing && <Field name=\"name\" label=\"Nome do webhook\" />}\n <Stack direction=\"row\" gap={2}>\n <Field\n name=\"url\"\n label=\"URL de endpoint\"\n rules={{ required: { value: true, message: 'Url é obrigatório' } }}\n />\n <Field name=\"filter\" label=\"Filtro\" />\n </Stack>\n {isEditing && webhookData && (\n <>\n <Field variant=\"filled\" name=\"solution\" label=\"Solução\" disabled />\n <Stack direction=\"row\" gap={2}>\n <Field variant=\"filled\" name=\"resource\" label=\"Origem\" disabled />\n <Field\n variant=\"filled\"\n name=\"resource_id\"\n label=\"ID origem\"\n disabled\n InputProps={{\n endAdornment: (\n <InputAdornment position=\"end\">\n <SyledIconButton\n onClick={() =>\n navigator.clipboard.writeText(webhookData.resource_id)\n }\n >\n <Icon className=\"copyIcon\" icon=\"COPY_CONTENT\" />\n </SyledIconButton>\n </InputAdornment>\n ),\n }}\n />\n <Field variant=\"filled\" name=\"event\" label=\"Evento\" disabled />\n </Stack>\n </>\n )}\n <Stack direction=\"row\" gap={2} alignItems=\"center\">\n <Autocomplete\n fullWidth\n options={ContentTypeOptions}\n name=\"content_type\"\n label=\"Tipo de conteúdo\"\n required\n rules={{\n required: {\n value: true,\n message: 'Campo Tipo de conteúdo é obrigatório',\n },\n }}\n />\n <Autocomplete\n fullWidth\n options={HttpMethodOptions}\n name=\"http_method\"\n label=\"Método HTTP\"\n required\n rules={{\n required: {\n value: true,\n message: 'Campo Método HTTP é obrigatório',\n },\n }}\n />\n </Stack>\n <Typography variant=\"overline\" color=\"grey\">\n Cabeçalho\n </Typography>\n {headers?.map((item, index) => (\n <Stack key={item.id} direction=\"row\" gap={2} alignItems=\"center\">\n <Field\n name={`headers.${index}.name`}\n label=\"Chave\"\n required\n rules={{\n required: {\n value: true,\n message: '',\n },\n }}\n />\n <Field name={`headers.${index}.value`} label=\"Valor\" />\n <IconButton color=\"error\" onClick={() => remove(index)}>\n <Icon icon=\"DELETE_MARK_BUTTON_02\" />\n </IconButton>\n </Stack>\n ))}\n <ActionButton\n actionType=\"NEW\"\n size=\"large\"\n variant=\"outlined\"\n color=\"inherit\"\n fullWidth\n onClick={() => handleCreateField()}\n >\n Adicionar novo cabeçalho\n </ActionButton>\n <Divider />\n </>\n );\n};\n\nexport default Webhook;\n","import { WebhookType } from 'types/webhook';\n\nexport interface WebhookProps {\n webhookData?: WebhookType;\n isEditing?: boolean;\n haveTip?: boolean;\n}\nexport enum ContentTypeStatus {\n XML = 'XML',\n JSON = 'JSON',\n BYTEA = 'BYTEA',\n}\n\nexport enum HttpMethodStatus {\n GET = 'GET',\n POST = 'POST',\n PATCH = 'PATCH',\n DELETE = 'DELETE',\n PUT = 'PUT',\n}\n\nexport const ContentTypeOptions = [\n {\n label: ContentTypeStatus.XML,\n value: ContentTypeStatus.XML,\n },\n {\n label: ContentTypeStatus.JSON,\n value: ContentTypeStatus.JSON,\n },\n {\n label: ContentTypeStatus.BYTEA,\n value: ContentTypeStatus.BYTEA,\n },\n];\n\nexport const HttpMethodOptions = [\n {\n label: HttpMethodStatus.GET,\n value: HttpMethodStatus.GET,\n },\n {\n label: HttpMethodStatus.POST,\n value: HttpMethodStatus.POST,\n },\n {\n label: HttpMethodStatus.DELETE,\n value: HttpMethodStatus.DELETE,\n },\n {\n label: HttpMethodStatus.PUT,\n value: HttpMethodStatus.PUT,\n },\n];\n","import Alert from '@mui/material/Alert';\nimport IconButton from '@mui/material/IconButton';\nimport { alpha, styled } from '@mui/material/styles';\nimport Typography from '@mui/material/Typography';\n\nexport const SyledIconButton = styled(IconButton)(({ theme }) => ({\n svg: {\n color: `${theme.palette.primary.main} !important`,\n },\n}));\n\nexport const StyledTypography = styled(Typography)(() => ({\n textDecoration: 'underline',\n fontWeight: '600',\n cursor: 'pointer',\n}));\n\nexport const StyledAlert = styled(Alert)(({ theme }) => ({\n backgroundColor: `${alpha(theme.palette.primary.main, 0.03)}`,\n border: `1px solid ${alpha(theme.palette.primary.main, 0.4)}`,\n flexDirection: 'row',\n alignItems: 'center',\n padding: '2px 12px',\n gap: 8,\n borderRadius: 8,\n marginBottom: 16,\n\n '& svg': {\n color: theme.palette.primary.main,\n },\n}));\n","import Typography from '@mui/material/Typography';\n\nimport { StyledAlert, StyledTypography } from './styles';\n\nconst WebhookAlert = () => {\n const handleLinkClick = () => {\n const url =\n 'https://ajuda.zydon.com.br/pt-BR/articles/9180603-sobre-webhooks';\n window.open(url, '_blank');\n };\n\n return (\n <StyledAlert severity=\"info\">\n <Typography color=\"grey\" variant=\"caption\">\n Webhooks permitem que serviços externos sejam notificados quando\n determinados eventos acontecem. Saiba mais{' '}\n <StyledTypography\n variant=\"caption\"\n color=\"primary\"\n onClick={() => handleLinkClick()}\n >\n acessando a documentação do Webhook\n </StyledTypography>\n </Typography>\n </StyledAlert>\n );\n};\n\nexport default WebhookAlert;\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { a } from '../../chunk-
|
|
2
|
-
import '../../chunk-
|
|
1
|
+
import { a } from '../../chunk-CWCEG2DZ.js';
|
|
2
|
+
import '../../chunk-NQNNMRLC.js';
|
|
3
3
|
import '../../chunk-CIGSMWKF.js';
|
|
4
4
|
import S from '@mui/material/TableCell';
|
|
5
5
|
import F from '@mui/material/TableRow';
|
|
@@ -1,16 +1,17 @@
|
|
|
1
|
-
export { a as UploadAvatar, b as UploadAvatarWithCrop } from '../../chunk-
|
|
2
|
-
export { c as DeleteButton, a as MultiFilePreview, b as SingleFilePreview, d as Upload, e as UploadWithCrop } from '../../chunk-
|
|
3
|
-
import {
|
|
4
|
-
export {
|
|
5
|
-
import '../../chunk-
|
|
6
|
-
import '../../chunk-DTIGB5NW.js';
|
|
7
|
-
import '../../chunk-BOKTSYI5.js';
|
|
1
|
+
export { a as UploadAvatar, b as UploadAvatarWithCrop } from '../../chunk-JFZOAS75.js';
|
|
2
|
+
export { c as DeleteButton, a as MultiFilePreview, b as SingleFilePreview, d as Upload, e as UploadWithCrop } from '../../chunk-IEGF6HVV.js';
|
|
3
|
+
import { m } from '../../chunk-6WGKIN5L.js';
|
|
4
|
+
export { n as RejectionFiles } from '../../chunk-6WGKIN5L.js';
|
|
5
|
+
import '../../chunk-KR3DUHA6.js';
|
|
8
6
|
import '../../chunk-ESFOFEVL.js';
|
|
7
|
+
import '../../chunk-DTIGB5NW.js';
|
|
8
|
+
import '../../chunk-WQSRNCNF.js';
|
|
9
|
+
import '../../chunk-RFRLNTFN.js';
|
|
9
10
|
import '../../chunk-OF6623HG.js';
|
|
10
|
-
import '../../chunk-
|
|
11
|
+
import '../../chunk-N4DW7EIC.js';
|
|
11
12
|
import '../../chunk-33C6UWPV.js';
|
|
12
13
|
import '../../chunk-6U5LS7MP.js';
|
|
13
|
-
import '../../chunk-
|
|
14
|
+
import '../../chunk-NQNNMRLC.js';
|
|
14
15
|
import '../../chunk-CIGSMWKF.js';
|
|
15
16
|
import '../../chunk-SBMEL2IJ.js';
|
|
16
17
|
import '../../chunk-E3R7W7GK.js';
|
|
@@ -23,7 +24,7 @@ import { jsxs, jsx } from 'react/jsx-runtime';
|
|
|
23
24
|
|
|
24
25
|
process.env.NODE_ENV==="development"&&console.warn(`\u26A0\uFE0F DEPRECATED: UploadBox est\xE1 obsoleto. Use UploadSimpleBox do @zydon/common em seu lugar.
|
|
25
26
|
Migra\xE7\xE3o: import { UploadSimpleBox } from "@zydon/common/components/FileUpload";
|
|
26
|
-
O UploadSimpleBox oferece melhor integra\xE7\xE3o com o sistema de FileUpload.`);var P=({error:e,disabled:o
|
|
27
|
+
O UploadSimpleBox oferece melhor integra\xE7\xE3o com o sistema de FileUpload.`);var P=({error:e,disabled:o,sx:p,...t})=>{let{getRootProps:a,getInputProps:l,isDragActive:m$1,isDragReject:s}=useDropzone({disabled:o,...t}),d=s||e;return jsxs(m,{...a(),isDragActive:m$1,hasError:!!d,disabled:!!o,sx:p,"data-testid":"upload-box",children:[jsx("input",{...l()}),"Selecionar arquivo"]})};
|
|
27
28
|
|
|
28
29
|
export { P as UploadBox };
|
|
29
30
|
//# sourceMappingURL=out.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/upload/upload-box.tsx"],"names":["useDropzone","jsx","jsxs","UploadBox","error","disabled","sx","other","getRootProps","getInputProps","isDragActive","isDragReject","hasError","BoxUpload"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/components/upload/upload-box.tsx"],"names":["useDropzone","jsx","jsxs","UploadBox","error","disabled","sx","other","getRootProps","getInputProps","isDragActive","isDragReject","hasError","BoxUpload"],"mappings":"8sBAAA,OAAS,eAAAA,MAAmB,iBAyBxB,OAQE,OAAAC,EARF,QAAAC,MAAA,oBAnBA,QAAQ,IAAI,WAAa,eAE3B,QAAQ,KACN;AAAA;AAAA,+EAGF,EAGK,IAAMC,EAAY,CAAC,CAAE,MAAAC,EAAO,SAAAC,EAAU,GAAAC,EAAI,GAAGC,CAAM,IAAmB,CAC3E,GAAM,CAAE,aAAAC,EAAc,cAAAC,EAAe,aAAAC,EAAc,aAAAC,CAAa,EAC9DX,EAAY,CACV,SAAAK,EACA,GAAGE,CACL,CAAC,EAEGK,EAAWD,GAAgBP,EAEjC,OACEF,EAACW,EAAA,CACE,GAAGL,EAAa,EACjB,aAAcE,EACd,SAAU,CAAC,CAACE,EACZ,SAAU,CAAC,CAACP,EACZ,GAAIC,EACJ,cAAY,aAEZ,UAAAL,EAAC,SAAO,GAAGQ,EAAc,EAAG,EAAE,sBAEhC,CAEJ","sourcesContent":["import { useDropzone } from 'react-dropzone';\n\nimport { UploadProps } from 'types/upload';\n\nimport { BoxUpload } from './styles';\n\nif (process.env.NODE_ENV === 'development') {\n // eslint-disable-next-line no-console\n console.warn(\n '⚠️ DEPRECATED: UploadBox está obsoleto. Use UploadSimpleBox do @zydon/common em seu lugar.\\n' +\n 'Migração: import { UploadSimpleBox } from \"@zydon/common/components/FileUpload\";\\n' +\n 'O UploadSimpleBox oferece melhor integração com o sistema de FileUpload.',\n );\n}\n\nexport const UploadBox = ({ error, disabled, sx, ...other }: UploadProps) => {\n const { getRootProps, getInputProps, isDragActive, isDragReject } =\n useDropzone({\n disabled,\n ...other,\n });\n\n const hasError = isDragReject || error;\n\n return (\n <BoxUpload\n {...getRootProps()}\n isDragActive={isDragActive}\n hasError={!!hasError}\n disabled={!!disabled}\n sx={sx}\n data-testid=\"upload-box\"\n >\n <input {...getInputProps()} />\n Selecionar arquivo\n </BoxUpload>\n );\n};\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export { a as default } from '../chunk-
|
|
1
|
+
export { a as default } from '../chunk-5LQLLZ5L.js';
|
|
2
2
|
import '../chunk-XNKYJHNL.js';
|
|
3
|
-
import '../chunk-
|
|
4
|
-
import '../chunk-
|
|
3
|
+
import '../chunk-HWYA3EGC.js';
|
|
4
|
+
import '../chunk-POTVACYB.js';
|
|
5
5
|
import '../chunk-L5URMM57.js';
|
|
6
6
|
import '../chunk-ET3WPQIO.js';
|
|
7
7
|
//# sourceMappingURL=out.js.map
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
declare
|
|
2
|
-
declare function useEventCallback<Args extends unknown[], R>(fn: ((...args: Args) => R) | undefined): ((...args: Args) => R) | undefined;
|
|
1
|
+
declare const useEventCallback: <Args extends unknown[], R>(fn: ((...args: Args) => R) | undefined) => (...args: Args) => R;
|
|
3
2
|
|
|
4
|
-
export { useEventCallback as default
|
|
3
|
+
export { useEventCallback as default };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { a as default } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
1
|
+
export { a as default } from '../chunk-HWYA3EGC.js';
|
|
2
|
+
import '../chunk-POTVACYB.js';
|
|
3
3
|
import '../chunk-L5URMM57.js';
|
|
4
4
|
import '../chunk-ET3WPQIO.js';
|
|
5
5
|
//# sourceMappingURL=out.js.map
|
|
@@ -12,7 +12,6 @@ declare const useSnackbar: () => {
|
|
|
12
12
|
custom: (jsx: (id: string | number) => react.ReactElement<any, string | react.JSXElementConstructor<any>>, data?: ExternalToast | undefined) => string | number;
|
|
13
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;
|
|
16
15
|
className?: string | undefined;
|
|
17
16
|
style?: react.CSSProperties | undefined;
|
|
18
17
|
position?: ("top-left" | "top-center" | "top-right" | "bottom-left" | "bottom-center" | "bottom-right") | undefined;
|
|
@@ -22,6 +21,7 @@ declare const useSnackbar: () => {
|
|
|
22
21
|
icon?: ReactNode;
|
|
23
22
|
duration?: number | undefined;
|
|
24
23
|
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;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
export { a as useThemeToggle } from '../chunk-UHXAPEIF.js';
|
|
2
|
-
import '../chunk-
|
|
2
|
+
import '../chunk-VPKUUY5Q.js';
|
|
3
3
|
import '../chunk-LDGBS7ZI.js';
|
|
4
|
+
import '../chunk-WUFEPE2G.js';
|
|
4
5
|
import '../chunk-2WG6OWB4.js';
|
|
5
6
|
import '../chunk-6W52DPH4.js';
|
|
6
7
|
import '../chunk-TWSAWMZ3.js';
|
|
7
8
|
import '../chunk-ROVD7OGE.js';
|
|
8
9
|
import '../chunk-EQYL7U3J.js';
|
|
9
|
-
import '../chunk-WUFEPE2G.js';
|
|
10
10
|
import '../chunk-GLRLKFPS.js';
|
|
11
11
|
//# sourceMappingURL=out.js.map
|
|
12
12
|
//# sourceMappingURL=useThemeToggle.js.map
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { C as CustomShadows } from './index-
|
|
2
|
-
export { d as ColorType, k as action, j as background, l as basePalette, o as colorSchemes, h as common, c as components, a as createShadowColor, b as customShadows, n as darkPalette, r as defaultFont, f as error, g as grey, i as info, m as lightPalette, p as primary, u as primaryFont, s as secondary, v as secondaryFont, q as shadows, e as success, t as text, x as typography, w as warning } from './index-
|
|
1
|
+
import { C as CustomShadows } from './index-5a5e5dc8.js';
|
|
2
|
+
export { d as ColorType, k as action, j as background, l as basePalette, o as colorSchemes, h as common, c as components, a as createShadowColor, b as customShadows, n as darkPalette, r as defaultFont, f as error, g as grey, i as info, m as lightPalette, p as primary, u as primaryFont, s as secondary, v as secondaryFont, q as shadows, e as success, t as text, x as typography, w as warning } from './index-5a5e5dc8.js';
|
|
3
3
|
export { S as SettingsContextValue, _ as SettingsProvider, T as ThemeProviderProps, u as useSettingsContext } from './settings-provider-38d09283.js';
|
|
4
4
|
export { THEME_CONFIG, default as ThemeProvider } from './theme/theme-provider.js';
|
|
5
5
|
import { S as SettingsState } from './settings-583c107c.js';
|
package/dist/index.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
export { a as useThemeToggle } from './chunk-UHXAPEIF.js';
|
|
2
|
-
export { b as ThemeProvider, a as createTheme } from './chunk-
|
|
2
|
+
export { b as ThemeProvider, a as createTheme } from './chunk-VPKUUY5Q.js';
|
|
3
3
|
import './chunk-LDGBS7ZI.js';
|
|
4
|
+
import './chunk-WUFEPE2G.js';
|
|
4
5
|
export { c as SettingsProvider, b as useSettingsContext } from './chunk-2WG6OWB4.js';
|
|
5
6
|
export { b as defaultFont, c as primaryFont, d as secondaryFont, a as shadows, e as typography } from './chunk-6W52DPH4.js';
|
|
6
7
|
import './chunk-TWSAWMZ3.js';
|
|
7
8
|
import './chunk-ROVD7OGE.js';
|
|
8
9
|
export { l as action, k as background, m as basePalette, p as colorSchemes, i as common, a as components, q as createShadowColor, r as customShadows, o as darkPalette, h as error, b as grey, e as info, n as lightPalette, c as primary, d as secondary, f as success, j as text, g as warning } from './chunk-EQYL7U3J.js';
|
|
9
|
-
import './chunk-WUFEPE2G.js';
|
|
10
10
|
export { a as THEME_CONFIG, q as bgBlur, p as bgGradient, o as borderGradient, j as createPaletteChannel, h as hexToRgbChannel, i as hexToRgbaChannel, l as hideScrollX, m as hideScrollY, r as maxLine, c as mediaQueries, t as menuItem, s as paper, f as pxToRem, e as remToPx, g as responsiveFontSizes, d as setFont, b as stylesMode, n as textGradient, k as varAlpha } from './chunk-GLRLKFPS.js';
|
|
11
11
|
|
|
12
12
|
var Y=()=>!0;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { d as ColorType, k as action, j as background, l as basePalette, o as colorSchemes, h as common, c as components, a as createShadowColor, b as customShadows, n as darkPalette, r as defaultFont, f as error, g as grey, i as info, m as lightPalette, p as primary, u as primaryFont, s as secondary, v as secondaryFont, q as shadows, e as success, t as text, x as typography, w as warning } from '../../index-
|
|
1
|
+
export { d as ColorType, k as action, j as background, l as basePalette, o as colorSchemes, h as common, c as components, a as createShadowColor, b as customShadows, n as darkPalette, r as defaultFont, f as error, g as grey, i as info, m as lightPalette, p as primary, u as primaryFont, s as secondary, v as secondaryFont, q as shadows, e as success, t as text, x as typography, w as warning } from '../../index-5a5e5dc8.js';
|
|
2
2
|
import '@mui/lab/TimelineConnector';
|
|
3
3
|
import '@mui/system';
|
|
4
4
|
import '@mui/lab/TimelineDot';
|