@zydon/common 2.7.52 → 2.7.54
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-67G3SU45.js → chunk-AQV2PEBQ.js} +3 -3
- package/dist/{chunk-MH47LABH.js → chunk-BLMNSRNS.js} +2 -2
- package/dist/chunk-CFNATBO2.js +7 -0
- package/dist/chunk-CFNATBO2.js.map +1 -0
- package/dist/{chunk-BPJ7GVOR.js → chunk-CU7PKEY2.js} +2 -2
- package/dist/{chunk-BPJ7GVOR.js.map → chunk-CU7PKEY2.js.map} +1 -1
- package/dist/{chunk-YSXPBMQX.js → chunk-ESUU2GHD.js} +2 -2
- package/dist/{chunk-SBFNQNWD.js → chunk-GC7GAEFE.js} +2 -2
- package/dist/chunk-GC7GAEFE.js.map +1 -0
- package/dist/{chunk-GG2QI35C.js → chunk-GPWECRTP.js} +4 -4
- package/dist/chunk-GTMH7NKR.js +13 -0
- package/dist/chunk-GTMH7NKR.js.map +1 -0
- package/dist/{chunk-57TAXCGA.js → chunk-I2JQIMEJ.js} +2 -2
- package/dist/{chunk-NJJWOJLT.js → chunk-JBPWWO5D.js} +2 -2
- package/dist/{chunk-TNVKQPKP.js → chunk-K5EVTJEW.js} +2 -2
- package/dist/{chunk-JD3H2MXN.js → chunk-LOF5K56U.js} +2 -2
- package/dist/{chunk-UBAQSPT5.js → chunk-LVRSRXV2.js} +3 -3
- package/dist/{chunk-JK273LN4.js → chunk-QN4YPUG7.js} +3 -3
- package/dist/{chunk-6KDIPK6I.js → chunk-QXEYILV5.js} +2 -2
- package/dist/chunk-RFYCSLP5.js +11 -0
- package/dist/chunk-RFYCSLP5.js.map +1 -0
- package/dist/{chunk-V76B4HM6.js → chunk-TBUIZEOJ.js} +2 -2
- package/dist/{chunk-LKPDHISO.js → chunk-TVJ5V5AM.js} +2 -2
- package/dist/{chunk-BXHP4CYE.js → chunk-U653Z4YN.js} +2 -2
- package/dist/{chunk-VJIUU4C3.js → chunk-UNG4CL25.js} +6 -6
- package/dist/{chunk-HDBCZZRX.js → chunk-VYANDAEH.js} +2 -2
- package/dist/{chunk-JHNJP4OO.js → chunk-WJK6CE54.js} +2 -2
- package/dist/chunk-YBFLHTQK.js +27 -0
- package/dist/chunk-YBFLHTQK.js.map +1 -0
- package/dist/components/ActionButton/index.js +2 -3
- package/dist/components/Autocomplete/index.js +2 -3
- package/dist/components/AvatarButton/index.js +3 -4
- package/dist/components/AvatarButton/index.js.map +1 -1
- package/dist/components/BuilderLayout/index.js +2 -3
- package/dist/components/BuilderLayout/index.js.map +1 -1
- package/dist/components/BuilderSidebar/index.js +1 -2
- package/dist/components/BuilderSidebar/index.js.map +1 -1
- package/dist/components/CardBrand/index.js +1 -2
- package/dist/components/CardBrand/index.js.map +1 -1
- package/dist/components/Common/index.js +3 -4
- package/dist/components/Common/index.js.map +1 -1
- package/dist/components/CopyButton/index.d.ts +12 -0
- package/dist/components/CopyButton/index.js +8 -0
- package/dist/components/DataCards/index.js +1 -1
- package/dist/components/DataGrid/index.js +2 -2
- package/dist/components/DataView/index.d.ts +11 -4
- package/dist/components/DataView/index.js +12 -26
- package/dist/components/DataView/index.js.map +1 -1
- package/dist/components/DragButton/index.js +2 -3
- package/dist/components/Drawer/index.js +1 -2
- package/dist/components/Drawer/index.js.map +1 -1
- package/dist/components/DynamicDataView/index.d.ts +116 -0
- package/dist/components/DynamicDataView/index.js +34 -0
- package/dist/components/DynamicDataView/index.js.map +1 -0
- package/dist/components/EasyCropModal/index.js +3 -4
- package/dist/components/Error/index.js +1 -2
- package/dist/components/Error/index.js.map +1 -1
- package/dist/components/ExpandableGroup/index.js +1 -2
- package/dist/components/ExpandableGroup/index.js.map +1 -1
- package/dist/components/FileUpload/index.js +8 -9
- package/dist/components/FrameSkeleton/index.js +1 -2
- package/dist/components/FrameSkeleton/index.js.map +1 -1
- package/dist/components/HelpButton/index.js +2 -3
- package/dist/components/Icon/index.js +1 -2
- package/dist/components/IconButton/index.js +2 -3
- package/dist/components/ImageCropModal/index.js +3 -4
- package/dist/components/Incrementer/index.js +2 -3
- package/dist/components/InfoCircle/index.js +1 -2
- package/dist/components/InfoCircle/index.js.map +1 -1
- package/dist/components/ListBundles/index.js +2 -3
- package/dist/components/ListBundles/index.js.map +1 -1
- package/dist/components/MenuItem/index.js +1 -2
- package/dist/components/MenuItem/index.js.map +1 -1
- package/dist/components/Modal/index.js +2 -3
- package/dist/components/MoreMenu/index.d.ts +4 -1
- package/dist/components/MoreMenu/index.js +7 -8
- package/dist/components/MoreMenu/index.js.map +1 -1
- package/dist/components/PageHeader/index.d.ts +13 -0
- package/dist/components/PageHeader/index.js +10 -0
- package/dist/components/PageHeader/index.js.map +1 -0
- package/dist/components/PasswordRules/index.js +1 -2
- package/dist/components/PasswordRules/index.js.map +1 -1
- package/dist/components/PopoverSelect/index.js +1 -2
- package/dist/components/PopoverSelect/index.js.map +1 -1
- package/dist/components/SearchInput/index.js +2 -3
- package/dist/components/SelectableCards/index.js +3 -4
- package/dist/components/SeoPreview/index.js +1 -2
- package/dist/components/SeoPreview/index.js.map +1 -1
- package/dist/components/StateDisplay/index.js +2 -3
- package/dist/components/Steps/index.js +1 -2
- package/dist/components/Steps/index.js.map +1 -1
- package/dist/components/StyledTab/index.js +1 -2
- package/dist/components/StyledTab/index.js.map +1 -1
- package/dist/components/SwapList/index.js +2 -3
- package/dist/components/SwapList/index.js.map +1 -1
- package/dist/components/ToggleTheme/index.js +2 -2
- package/dist/components/WebhookCard/index.js +1 -2
- package/dist/components/WebhookCard/index.js.map +1 -1
- package/dist/components/carousel/index.js +2 -3
- package/dist/components/form/Address/index.js +3 -4
- package/dist/components/form/Address/index.js.map +1 -1
- package/dist/components/form/Autocomplete/index.js +3 -4
- package/dist/components/form/FileUpload/index.js +8 -9
- package/dist/components/form/FileUpload/index.js.map +1 -1
- package/dist/components/form/Incrementer/index.js +2 -3
- package/dist/components/form/Incrementer/index.js.map +1 -1
- package/dist/components/form/Password/index.js +1 -2
- package/dist/components/form/Password/index.js.map +1 -1
- package/dist/components/form/SelectableCards/index.js +3 -4
- package/dist/components/form/SelectableCards/index.js.map +1 -1
- package/dist/components/form/UploadAvatarWithCrop/index.js +4 -5
- package/dist/components/form/UploadAvatarWithCrop/index.js.map +1 -1
- package/dist/components/form/UploadWithCrop/index.js +6 -7
- package/dist/components/form/UploadWithCrop/index.js.map +1 -1
- package/dist/components/form/Webhook/index.js +4 -5
- package/dist/components/form/Webhook/index.js.map +1 -1
- package/dist/components/lightbox/index.js +1 -2
- package/dist/components/lightbox/index.js.map +1 -1
- package/dist/components/table/index.js +2 -3
- package/dist/components/table/index.js.map +1 -1
- package/dist/components/upload/index.js +7 -8
- package/dist/components/upload/index.js.map +1 -1
- package/dist/contexts/PushNotifications/index.js +1 -1
- package/dist/contexts/PushNotifications/index.js.map +1 -1
- package/dist/hooks/useCopyToClipboard.js +1 -5
- package/dist/hooks/useCopyToClipboard.js.map +1 -1
- package/dist/hooks/useThemeToggle.js +2 -2
- package/dist/index.js +2 -2
- package/dist/theme/theme-provider.js +2 -2
- package/dist/types/entityMetadata.d.ts +30 -0
- package/dist/types/entityMetadata.js +3 -0
- package/dist/types/entityMetadata.js.map +1 -0
- package/dist/types/iconProps.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-DJ22BFQ5.js +0 -3
- package/dist/chunk-KTME4D5T.js +0 -11
- package/dist/chunk-KTME4D5T.js.map +0 -1
- package/dist/chunk-SBFNQNWD.js.map +0 -1
- /package/dist/{chunk-67G3SU45.js.map → chunk-AQV2PEBQ.js.map} +0 -0
- /package/dist/{chunk-MH47LABH.js.map → chunk-BLMNSRNS.js.map} +0 -0
- /package/dist/{chunk-YSXPBMQX.js.map → chunk-ESUU2GHD.js.map} +0 -0
- /package/dist/{chunk-GG2QI35C.js.map → chunk-GPWECRTP.js.map} +0 -0
- /package/dist/{chunk-57TAXCGA.js.map → chunk-I2JQIMEJ.js.map} +0 -0
- /package/dist/{chunk-NJJWOJLT.js.map → chunk-JBPWWO5D.js.map} +0 -0
- /package/dist/{chunk-TNVKQPKP.js.map → chunk-K5EVTJEW.js.map} +0 -0
- /package/dist/{chunk-JD3H2MXN.js.map → chunk-LOF5K56U.js.map} +0 -0
- /package/dist/{chunk-UBAQSPT5.js.map → chunk-LVRSRXV2.js.map} +0 -0
- /package/dist/{chunk-JK273LN4.js.map → chunk-QN4YPUG7.js.map} +0 -0
- /package/dist/{chunk-6KDIPK6I.js.map → chunk-QXEYILV5.js.map} +0 -0
- /package/dist/{chunk-V76B4HM6.js.map → chunk-TBUIZEOJ.js.map} +0 -0
- /package/dist/{chunk-LKPDHISO.js.map → chunk-TVJ5V5AM.js.map} +0 -0
- /package/dist/{chunk-BXHP4CYE.js.map → chunk-U653Z4YN.js.map} +0 -0
- /package/dist/{chunk-VJIUU4C3.js.map → chunk-UNG4CL25.js.map} +0 -0
- /package/dist/{chunk-HDBCZZRX.js.map → chunk-VYANDAEH.js.map} +0 -0
- /package/dist/{chunk-JHNJP4OO.js.map → chunk-WJK6CE54.js.map} +0 -0
- /package/dist/{chunk-DJ22BFQ5.js.map → components/CopyButton/index.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/SeoPreview/index.tsx","../../../src/components/SeoPreview/styles.ts"],"names":["Box","Stack","Typography","styled","PreviewBox","theme","InterBoxPreview","LogoImageBox","ProductImageBox","InterBoxPreviewLink","ImageBoxPreviewLink","jsx","jsxs","SeoPreview","titlePreview","logoImage","brandingName","url","title","description","keyWords","customTitles","productImage","child","previewLinkImage","hasPreviewLink","Icon_default","TextMaxLine_default","keyWord","index","customTitle","SeoPreview_default"],"mappings":"wLAAA,OAAOA,MAAS,oBAChB,OAAOC,MAAW,sBAClB,OAAOC,MAAgB,2BCFvB,OAAOF,MAAS,oBAChB,OAAOC,MAAW,sBAClB,OAAS,UAAAE,MAAc,uBAEhB,IAAMC,EAAaD,EAAOH,CAAG,EAAE,CAAC,CAAE,MAAAK,CAAM,KAAO,CACpD,QAAS,GACT,aAAc,EACd,OAAQ,OACR,SAAU,IACV,gBAAiBA,EAAM,QAAQ,WAAW,QAC1C,OAAQ,aAAaA,EAAM,QAAQ,KAAK,GAAG,GAC7C,EAAE,EAEWC,EAAkBH,EAAOF,CAAK,EAAE,CAAC,CAAE,MAAAI,CAAM,KAAO,CAC3D,UAAW,IACX,SAAU,IACV,OAAQ,cAAcA,EAAM,QAAQ,KAAK,GAAG,IAC5C,aAAc,EACd,gBAAiBA,EAAM,QAAQ,WAAW,MAC1C,QAAS,EACX,EAAE,EAEWE,EAAeJ,EAAOH,CAAG,EAAE,KAAO,CAC7C,SAAU,GACV,UAAW,GACX,WAAY,SAEZ,SAAU,CACR,KAAM,EACN,QAAS,OACT,UAAW,QACX,aAAc,CAChB,CACF,EAAE,EAEWQ,EAAkBL,EAAOH,CAAG,EAAE,CAAC,CAAE,MAAAK,CAAM,KAAO,CACzD,gBAAiBA,EAAM,QAAQ,WAAW,QAC1C,SAAU,GACV,UAAW,GACX,WAAY,SAEZ,SAAU,CACR,KAAM,EACN,QAAS,OACT,UAAW,QACX,aAAc,CAChB,CACF,EAAE,EAEWI,EAAsBN,EAAOF,CAAK,EAAE,CAAC,CAAE,MAAAI,CAAM,KAAO,CAC/D,OAAQ,cAAcA,EAAM,QAAQ,KAAK,GAAG,IAC5C,aAAc,EACd,gBAAiB,MACnB,EAAE,EAEWK,EAAsBP,EAAOH,CAAG,EAAE,CAAC,CAAE,MAAAK,CAAM,KAAO,CAC7D,MAAO,OACP,YAAa,GAAK,EAClB,SAAU,SACV,QAAS,EACT,aAAc,cAAcA,EAAM,QAAQ,KAAK,GAAG,GACpD,EAAE,ED3BM,cAAAM,EAKE,QAAAC,MALF,oBAjBR,IAAMC,EAAa,CAAC,CAClB,aAAAC,EACA,UAAAC,EACA,aAAAC,EACA,IAAAC,EACA,MAAAC,EACA,YAAAC,EACA,SAAAC,EACA,aAAAC,EACA,aAAAC,EACA,MAAAC,EACA,iBAAAC,EACA,eAAAC,CACF,IAEId,EAACP,EAAA,CACC,SAAAQ,EAACX,EAAA,CAAM,IAAK,EAAG,QAAQ,OAAO,KAAM,EAClC,UAAAU,EAACT,EAAA,CAAW,QAAQ,WAAW,MAAM,gBAClC,SAAAY,GAAgB,4BACnB,EAEAF,EAACN,EAAA,CACC,UAAAM,EAACX,EAAA,CAAM,UAAU,MAAM,GAAI,EAAG,IAAK,GACjC,UAAAU,EAACX,EAAA,CAAI,OAAQ,EAAG,MAAO,GACrB,SAAAW,EAACe,EAAA,CAAK,KAAK,SAAS,MAAO,GAAI,MAAM,aAAa,EACpD,EACAf,EAACX,EAAA,CAAI,OAAQ,EAAG,MAAO,GACrB,SAAAW,EAACe,EAAA,CAAK,KAAK,SAAS,MAAO,GAAI,MAAM,eAAe,EACtD,EACAf,EAACX,EAAA,CAAI,OAAQ,EAAG,MAAO,GACrB,SAAAW,EAACe,EAAA,CAAK,KAAK,SAAS,MAAO,GAAI,MAAM,eAAe,EACtD,GACF,EAEAd,EAACX,EAAA,CAAM,cAAc,MAAM,IAAK,EAAG,eAAe,gBAChD,UAAAW,EAACX,EAAA,CAAM,IAAK,EAAG,MAAM,OACnB,UAAAW,EAACX,EAAA,CAAM,UAAU,MAAM,IAAK,IAAK,GAAI,GAClC,UAAAc,GACCJ,EAACJ,EAAA,CACC,SAAAI,EAAC,OAAI,IAAI,OAAO,IAAKI,EAAW,EAClC,EAEFH,EAACX,EAAA,CACC,UAAAU,EAACT,EAAA,CAAW,QAAQ,WAAW,MAAM,WAAW,GAAI,GACjD,SAAAc,GAAgB,aACnB,EAEAJ,EAACX,EAAA,CAAM,UAAU,MAAM,IAAK,EAC1B,UAAAU,EAACT,EAAA,CAAW,QAAQ,UAAU,MAAM,WACjC,SAAAe,GAAO,0BACV,EAEAN,EAACe,EAAA,CACC,KAAK,wBACL,MAAO,GACP,MAAO,WACT,GACF,GACF,GACF,EAEAf,EAACgB,EAAA,CACC,QAAQ,YACR,MAAM,UACN,SAAS,SACT,aAAa,WACb,KAAM,EAEL,SAAAT,GACC,oFACJ,EAEAP,EAACgB,EAAA,CACC,QAAQ,UACR,MAAM,gBACN,SAAS,SACT,aAAa,WACb,KAAM,EAEL,SAAAR,GACC,2JACJ,EAECC,GACCT,EAACV,EAAA,CAAM,UAAU,MAAM,IAAK,EAAG,WAAW,SACvC,SAAAmB,EAAS,IAAI,CAACQ,EAASC,IACtBjB,EAACX,EAAA,CAEC,UAAU,MACV,IAAK,EACL,WAAW,SAEX,UAAAU,EAACT,EAAA,CAAW,QAAQ,UAAU,MAAM,gBACjC,SAAA0B,EACH,EAECC,EAAQT,EAAS,OAAS,GACzBT,EAACX,EAAA,CAAI,MAAO,EAAG,OAAQ,GACrB,SAAAW,EAACe,EAAA,CACC,KAAK,SACL,MAAM,gBACN,MAAO,GACT,EACF,IAhBG,WAAWG,GAkBlB,CACD,EACH,EAGDR,GACCV,EAACV,EAAA,CAAM,GAAI,EACR,SAAAoB,EAAa,IAAI,CAACS,EAAaD,IAC9BjB,EAACX,EAAA,CAAkB,IAAK,EACtB,UAAAU,EAACT,EAAA,CAAW,QAAQ,YAAY,MAAM,UACnC,SAAA4B,EAAY,MACf,EACAnB,EAACgB,EAAA,CACC,QAAQ,UACR,MAAM,gBACN,SAAS,SACT,aAAa,WACb,KAAM,EAEL,SAAAG,EAAY,aACX,mIACJ,IAbUD,CAcZ,CACD,EACH,EAEDN,GACH,EAECD,GACCX,EAACH,EAAA,CACC,SAAAG,EAAC,OAAI,IAAI,eAAe,IAAKW,EAAc,EAC7C,GAEJ,GACF,EACCG,GACCb,EAACX,EAAA,CAAM,IAAK,EAAG,QAAQ,OAAO,KAAM,EAAG,MAAM,OAC3C,UAAAU,EAACT,EAAA,CAAW,QAAQ,WAAW,MAAM,gBAClC,8DAA4C,YAAY,EAC3D,EAEAU,EAACH,EAAA,CACE,UAAAe,GACCb,EAACD,EAAA,CACC,SAAAC,EAAC,OACC,IAAI,mBACJ,IAAKa,EACL,MAAO,CACL,MAAO,OACP,OAAQ,OACR,UAAW,QACX,aAAc,CAChB,EACF,EACF,EAGFZ,EAACX,EAAA,CAAM,IAAK,GAAK,EAAG,EAAG,MAAM,OAC3B,UAAAU,EAACT,EAAA,CAAW,QAAQ,UACjB,SAAAgB,GACC,oFACJ,EAEAP,EAACT,EAAA,CAAW,QAAQ,UAAU,MAAO,WAClC,SAAAiB,GACC,2JACJ,EAEAR,EAACT,EAAA,CAAW,QAAQ,UAAU,MAAO,WAClC,SAAAe,GAAO,0BACV,GACF,GACF,EAEAN,EAACF,EAAA,CACC,SAAAG,EAACX,EAAA,CAAM,UAAU,MAAM,IAAK,EAAG,WAAW,SACxC,UAAAU,EAACX,EAAA,CACC,MAAO,IACP,OAAQ,GACR,QAAQ,WACR,EAAG,GACH,WAAW,SAEX,SAAAW,EAAC,OACC,IAAI,OACJ,IAAKI,EACL,MAAO,CACL,MAAO,OACP,OAAQ,OACR,UAAW,UACX,aAAc,CAChB,EACF,EACF,EAEAH,EAACX,EAAA,CAAM,QAAS,EAAG,IAAK,GAAK,MAAM,MACjC,UAAAU,EAACgB,EAAA,CAAY,QAAQ,UAClB,SAAAT,GACC,oFACJ,EAEAP,EAACgB,EAAA,CAAY,QAAQ,UAAU,MAAO,WACnC,SAAAR,GACC,2JACJ,EAEAR,EAACgB,EAAA,CAAY,QAAQ,UAAU,MAAO,WAAY,KAAM,EACrD,SAAAV,GAAO,0BACV,GACF,GACF,EACF,GACF,GAEJ,EACF,EAIGc,EAAQlB","sourcesContent":["import Box from '@mui/material/Box';\nimport Stack from '@mui/material/Stack';\nimport Typography from '@mui/material/Typography';\n\nimport Icon from '../Icon';\nimport TextMaxLine from '../TextMaxLine';\n\nimport { SeoPreviewProps } from './props';\nimport {\n ImageBoxPreviewLink,\n InterBoxPreview,\n InterBoxPreviewLink,\n LogoImageBox,\n PreviewBox,\n ProductImageBox,\n} from './styles';\n\nconst SeoPreview = ({\n titlePreview,\n logoImage,\n brandingName,\n url,\n title,\n description,\n keyWords,\n customTitles,\n productImage,\n child,\n previewLinkImage,\n hasPreviewLink,\n}: SeoPreviewProps) => {\n return (\n <PreviewBox>\n <Stack gap={3} display=\"flex\" flex={1}>\n <Typography variant=\"overline\" color=\"text.disabled\">\n {titlePreview ?? 'PRÉ-VISUALIZAÇÃO'}\n </Typography>\n\n <InterBoxPreview>\n <Stack direction=\"row\" pb={3} gap={0.5}>\n <Box height={0} width={10}>\n <Icon icon=\"CIRCLE\" width={30} color=\"error.main\" />\n </Box>\n <Box height={0} width={10}>\n <Icon icon=\"CIRCLE\" width={30} color=\"warning.main\" />\n </Box>\n <Box height={0} width={10}>\n <Icon icon=\"CIRCLE\" width={30} color=\"success.main\" />\n </Box>\n </Stack>\n\n <Stack flexDirection=\"row\" gap={2} justifyContent=\"space-between\">\n <Stack gap={1} width=\"100%\">\n <Stack direction=\"row\" gap={1.5} pb={0.5}>\n {logoImage && (\n <LogoImageBox>\n <img alt=\"Logo\" src={logoImage} />\n </LogoImageBox>\n )}\n <Stack>\n <Typography variant=\"overline\" color=\"grey.600\" pb={0.5}>\n {brandingName ?? 'SUAEMPRESA'}\n </Typography>\n\n <Stack direction=\"row\" gap={2}>\n <Typography variant=\"caption\" color=\"grey.600\">\n {url ?? 'https://www.exemplo.com'}\n </Typography>\n\n <Icon\n icon=\"MORE_OPTIONS_VERTICAL\"\n width={15}\n color={'grey.500'}\n />\n </Stack>\n </Stack>\n </Stack>\n\n <TextMaxLine\n variant=\"subtitle1\"\n color=\"#4E5BEC\"\n overflow=\"hidden\"\n textOverflow=\"ellipsis\"\n line={5}\n >\n {title ??\n 'Suampresa | Páscoa 2024: Ovos de chocolate? Que nada! Descontos em tecnologia!'}\n </TextMaxLine>\n\n <TextMaxLine\n variant=\"caption\"\n color=\"text.disabled\"\n overflow=\"hidden\"\n textOverflow=\"ellipsis\"\n line={5}\n >\n {description ??\n 'A Páscoa chegou e a Sua Empresa está com ofertas chocantes em tecnologia! Descontos de até 50% em notebooks, smartphones, tablets e muito mais!'}\n </TextMaxLine>\n\n {keyWords && (\n <Stack direction=\"row\" gap={1} alignItems=\"center\">\n {keyWords.map((keyWord, index) => (\n <Stack\n key={`keyword-${index}`}\n direction=\"row\"\n gap={1}\n alignItems=\"center\"\n >\n <Typography variant=\"caption\" color=\"text.disabled\">\n {keyWord}\n </Typography>\n\n {index < keyWords.length - 1 && (\n <Box width={4} height={16}>\n <Icon\n icon=\"CIRCLE\"\n color=\"text.disabled\"\n width={10}\n />\n </Box>\n )}\n </Stack>\n ))}\n </Stack>\n )}\n\n {customTitles && (\n <Stack pt={2}>\n {customTitles.map((customTitle, index) => (\n <Stack key={index} gap={1}>\n <Typography variant=\"subtitle1\" color=\"#4E5BEC\">\n {customTitle.title}\n </Typography>\n <TextMaxLine\n variant=\"caption\"\n color=\"text.disabled\"\n overflow=\"hidden\"\n textOverflow=\"ellipsis\"\n line={1}\n >\n {customTitle.description ??\n 'Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrys stansince the 1500'}\n </TextMaxLine>\n </Stack>\n ))}\n </Stack>\n )}\n {child}\n </Stack>\n\n {productImage && (\n <ProductImageBox>\n <img alt=\"ProductImage\" src={productImage} />\n </ProductImageBox>\n )}\n </Stack>\n </InterBoxPreview>\n {hasPreviewLink && (\n <Stack gap={3} display=\"flex\" flex={1} width=\"100%\">\n <Typography variant=\"overline\" color=\"text.disabled\">\n {'pré-visualização link de compartilhamento'.toUpperCase()}\n </Typography>\n\n <InterBoxPreviewLink>\n {previewLinkImage && (\n <ImageBoxPreviewLink>\n <img\n alt=\"PreviewLinkImage\"\n src={previewLinkImage}\n style={{\n width: '100%',\n height: '100%',\n objectFit: 'cover',\n borderRadius: 8,\n }}\n />\n </ImageBoxPreviewLink>\n )}\n\n <Stack gap={0.2} p={2} width=\"100%\">\n <Typography variant=\"caption\">\n {title ??\n 'Suampresa | Páscoa 2024: Ovos de chocolate? Que nada! Descontos em tecnologia!'}\n </Typography>\n\n <Typography variant=\"caption\" color={'grey.600'}>\n {description ??\n 'A Páscoa chegou e a Sua Empresa está com ofertas chocantes em tecnologia! Descontos de até 50% em notebooks, smartphones, tablets e muito mais!'}\n </Typography>\n\n <Typography variant=\"caption\" color={'grey.500'}>\n {url ?? 'https://www.exemplo.com'}\n </Typography>\n </Stack>\n </InterBoxPreviewLink>\n\n <InterBoxPreviewLink>\n <Stack direction=\"row\" gap={1} alignItems=\"center\">\n <Box\n width={100}\n height={95}\n bgcolor=\"grey.100\"\n p={0.5}\n alignItems=\"center\"\n >\n <img\n alt=\"Logo\"\n src={logoImage}\n style={{\n width: '100%',\n height: '100%',\n objectFit: 'contain',\n borderRadius: 8,\n }}\n />\n </Box>\n\n <Stack padding={1} gap={0.2} width=\"80%\">\n <TextMaxLine variant=\"caption\">\n {title ??\n 'Suampresa | Páscoa 2024: Ovos de chocolate? Que nada! Descontos em tecnologia!'}\n </TextMaxLine>\n\n <TextMaxLine variant=\"caption\" color={'grey.600'}>\n {description ??\n 'A Páscoa chegou e a Sua Empresa está com ofertas chocantes em tecnologia! Descontos de até 50% em notebooks, smartphones, tablets e muito mais!'}\n </TextMaxLine>\n\n <TextMaxLine variant=\"caption\" color={'grey.500'} line={1}>\n {url ?? 'https://www.exemplo.com'}\n </TextMaxLine>\n </Stack>\n </Stack>\n </InterBoxPreviewLink>\n </Stack>\n )}\n </Stack>\n </PreviewBox>\n );\n};\n\nexport default SeoPreview;\n","import Box from '@mui/material/Box';\nimport Stack from '@mui/material/Stack';\nimport { styled } from '@mui/material/styles';\n\nexport const PreviewBox = styled(Box)(({ theme }) => ({\n padding: 24,\n borderRadius: 8,\n height: 'auto',\n maxWidth: 800,\n backgroundColor: theme.palette.background.default,\n border: `1px solid ${theme.palette.grey[300]}`,\n}));\n\nexport const InterBoxPreview = styled(Stack)(({ theme }) => ({\n minHeight: 180,\n maxWidth: 700,\n border: `4px dotted ${theme.palette.grey[300]}`,\n borderRadius: 8,\n backgroundColor: theme.palette.background.paper,\n padding: 24,\n}));\n\nexport const LogoImageBox = styled(Box)(() => ({\n maxWidth: 70,\n maxHeight: 40,\n alignItems: 'center',\n\n '&, img': {\n flex: 1,\n display: 'flex',\n objectFit: 'cover',\n borderRadius: 8,\n },\n}));\n\nexport const ProductImageBox = styled(Box)(({ theme }) => ({\n backgroundColor: theme.palette.background.default,\n maxWidth: 90,\n maxHeight: 80,\n alignItems: 'center',\n\n '&, img': {\n flex: 1,\n display: 'flex',\n objectFit: 'cover',\n borderRadius: 8,\n },\n}));\n\nexport const InterBoxPreviewLink = styled(Stack)(({ theme }) => ({\n border: `4px dotted ${theme.palette.grey[300]}`,\n borderRadius: 8,\n backgroundColor: '#fff',\n}));\n\nexport const ImageBoxPreviewLink = styled(Box)(({ theme }) => ({\n width: '100%',\n aspectRatio: 16 / 9,\n overflow: 'hidden',\n padding: 2,\n borderBottom: `4px dotted ${theme.palette.grey[300]}`,\n}));\n"]}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/SeoPreview/index.tsx","../../../src/components/SeoPreview/styles.ts"],"names":["Box","Stack","Typography","styled","PreviewBox","theme","InterBoxPreview","LogoImageBox","ProductImageBox","InterBoxPreviewLink","ImageBoxPreviewLink","jsx","jsxs","SeoPreview","titlePreview","logoImage","brandingName","url","title","description","keyWords","customTitles","productImage","child","previewLinkImage","hasPreviewLink","Icon_default","TextMaxLine_default","keyWord","index","customTitle","SeoPreview_default"],"mappings":"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","sourcesContent":["import Box from '@mui/material/Box';\nimport Stack from '@mui/material/Stack';\nimport Typography from '@mui/material/Typography';\n\nimport Icon from '../Icon';\nimport TextMaxLine from '../TextMaxLine';\n\nimport { SeoPreviewProps } from './props';\nimport {\n ImageBoxPreviewLink,\n InterBoxPreview,\n InterBoxPreviewLink,\n LogoImageBox,\n PreviewBox,\n ProductImageBox,\n} from './styles';\n\nconst SeoPreview = ({\n titlePreview,\n logoImage,\n brandingName,\n url,\n title,\n description,\n keyWords,\n customTitles,\n productImage,\n child,\n previewLinkImage,\n hasPreviewLink,\n}: SeoPreviewProps) => {\n return (\n <PreviewBox>\n <Stack gap={3} display=\"flex\" flex={1}>\n <Typography variant=\"overline\" color=\"text.disabled\">\n {titlePreview ?? 'PRÉ-VISUALIZAÇÃO'}\n </Typography>\n\n <InterBoxPreview>\n <Stack direction=\"row\" pb={3} gap={0.5}>\n <Box height={0} width={10}>\n <Icon icon=\"CIRCLE\" width={30} color=\"error.main\" />\n </Box>\n <Box height={0} width={10}>\n <Icon icon=\"CIRCLE\" width={30} color=\"warning.main\" />\n </Box>\n <Box height={0} width={10}>\n <Icon icon=\"CIRCLE\" width={30} color=\"success.main\" />\n </Box>\n </Stack>\n\n <Stack flexDirection=\"row\" gap={2} justifyContent=\"space-between\">\n <Stack gap={1} width=\"100%\">\n <Stack direction=\"row\" gap={1.5} pb={0.5}>\n {logoImage && (\n <LogoImageBox>\n <img alt=\"Logo\" src={logoImage} />\n </LogoImageBox>\n )}\n <Stack>\n <Typography variant=\"overline\" color=\"grey.600\" pb={0.5}>\n {brandingName ?? 'SUAEMPRESA'}\n </Typography>\n\n <Stack direction=\"row\" gap={2}>\n <Typography variant=\"caption\" color=\"grey.600\">\n {url ?? 'https://www.exemplo.com'}\n </Typography>\n\n <Icon\n icon=\"MORE_OPTIONS_VERTICAL\"\n width={15}\n color={'grey.500'}\n />\n </Stack>\n </Stack>\n </Stack>\n\n <TextMaxLine\n variant=\"subtitle1\"\n color=\"#4E5BEC\"\n overflow=\"hidden\"\n textOverflow=\"ellipsis\"\n line={5}\n >\n {title ??\n 'Suampresa | Páscoa 2024: Ovos de chocolate? Que nada! Descontos em tecnologia!'}\n </TextMaxLine>\n\n <TextMaxLine\n variant=\"caption\"\n color=\"text.disabled\"\n overflow=\"hidden\"\n textOverflow=\"ellipsis\"\n line={5}\n >\n {description ??\n 'A Páscoa chegou e a Sua Empresa está com ofertas chocantes em tecnologia! Descontos de até 50% em notebooks, smartphones, tablets e muito mais!'}\n </TextMaxLine>\n\n {keyWords && (\n <Stack direction=\"row\" gap={1} alignItems=\"center\">\n {keyWords.map((keyWord, index) => (\n <Stack\n key={`keyword-${index}`}\n direction=\"row\"\n gap={1}\n alignItems=\"center\"\n >\n <Typography variant=\"caption\" color=\"text.disabled\">\n {keyWord}\n </Typography>\n\n {index < keyWords.length - 1 && (\n <Box width={4} height={16}>\n <Icon\n icon=\"CIRCLE\"\n color=\"text.disabled\"\n width={10}\n />\n </Box>\n )}\n </Stack>\n ))}\n </Stack>\n )}\n\n {customTitles && (\n <Stack pt={2}>\n {customTitles.map((customTitle, index) => (\n <Stack key={index} gap={1}>\n <Typography variant=\"subtitle1\" color=\"#4E5BEC\">\n {customTitle.title}\n </Typography>\n <TextMaxLine\n variant=\"caption\"\n color=\"text.disabled\"\n overflow=\"hidden\"\n textOverflow=\"ellipsis\"\n line={1}\n >\n {customTitle.description ??\n 'Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrys stansince the 1500'}\n </TextMaxLine>\n </Stack>\n ))}\n </Stack>\n )}\n {child}\n </Stack>\n\n {productImage && (\n <ProductImageBox>\n <img alt=\"ProductImage\" src={productImage} />\n </ProductImageBox>\n )}\n </Stack>\n </InterBoxPreview>\n {hasPreviewLink && (\n <Stack gap={3} display=\"flex\" flex={1} width=\"100%\">\n <Typography variant=\"overline\" color=\"text.disabled\">\n {'pré-visualização link de compartilhamento'.toUpperCase()}\n </Typography>\n\n <InterBoxPreviewLink>\n {previewLinkImage && (\n <ImageBoxPreviewLink>\n <img\n alt=\"PreviewLinkImage\"\n src={previewLinkImage}\n style={{\n width: '100%',\n height: '100%',\n objectFit: 'cover',\n borderRadius: 8,\n }}\n />\n </ImageBoxPreviewLink>\n )}\n\n <Stack gap={0.2} p={2} width=\"100%\">\n <Typography variant=\"caption\">\n {title ??\n 'Suampresa | Páscoa 2024: Ovos de chocolate? Que nada! Descontos em tecnologia!'}\n </Typography>\n\n <Typography variant=\"caption\" color={'grey.600'}>\n {description ??\n 'A Páscoa chegou e a Sua Empresa está com ofertas chocantes em tecnologia! Descontos de até 50% em notebooks, smartphones, tablets e muito mais!'}\n </Typography>\n\n <Typography variant=\"caption\" color={'grey.500'}>\n {url ?? 'https://www.exemplo.com'}\n </Typography>\n </Stack>\n </InterBoxPreviewLink>\n\n <InterBoxPreviewLink>\n <Stack direction=\"row\" gap={1} alignItems=\"center\">\n <Box\n width={100}\n height={95}\n bgcolor=\"grey.100\"\n p={0.5}\n alignItems=\"center\"\n >\n <img\n alt=\"Logo\"\n src={logoImage}\n style={{\n width: '100%',\n height: '100%',\n objectFit: 'contain',\n borderRadius: 8,\n }}\n />\n </Box>\n\n <Stack padding={1} gap={0.2} width=\"80%\">\n <TextMaxLine variant=\"caption\">\n {title ??\n 'Suampresa | Páscoa 2024: Ovos de chocolate? Que nada! Descontos em tecnologia!'}\n </TextMaxLine>\n\n <TextMaxLine variant=\"caption\" color={'grey.600'}>\n {description ??\n 'A Páscoa chegou e a Sua Empresa está com ofertas chocantes em tecnologia! Descontos de até 50% em notebooks, smartphones, tablets e muito mais!'}\n </TextMaxLine>\n\n <TextMaxLine variant=\"caption\" color={'grey.500'} line={1}>\n {url ?? 'https://www.exemplo.com'}\n </TextMaxLine>\n </Stack>\n </Stack>\n </InterBoxPreviewLink>\n </Stack>\n )}\n </Stack>\n </PreviewBox>\n );\n};\n\nexport default SeoPreview;\n","import Box from '@mui/material/Box';\nimport Stack from '@mui/material/Stack';\nimport { styled } from '@mui/material/styles';\n\nexport const PreviewBox = styled(Box)(({ theme }) => ({\n padding: 24,\n borderRadius: 8,\n height: 'auto',\n maxWidth: 800,\n backgroundColor: theme.palette.background.default,\n border: `1px solid ${theme.palette.grey[300]}`,\n}));\n\nexport const InterBoxPreview = styled(Stack)(({ theme }) => ({\n minHeight: 180,\n maxWidth: 700,\n border: `4px dotted ${theme.palette.grey[300]}`,\n borderRadius: 8,\n backgroundColor: theme.palette.background.paper,\n padding: 24,\n}));\n\nexport const LogoImageBox = styled(Box)(() => ({\n maxWidth: 70,\n maxHeight: 40,\n alignItems: 'center',\n\n '&, img': {\n flex: 1,\n display: 'flex',\n objectFit: 'cover',\n borderRadius: 8,\n },\n}));\n\nexport const ProductImageBox = styled(Box)(({ theme }) => ({\n backgroundColor: theme.palette.background.default,\n maxWidth: 90,\n maxHeight: 80,\n alignItems: 'center',\n\n '&, img': {\n flex: 1,\n display: 'flex',\n objectFit: 'cover',\n borderRadius: 8,\n },\n}));\n\nexport const InterBoxPreviewLink = styled(Stack)(({ theme }) => ({\n border: `4px dotted ${theme.palette.grey[300]}`,\n borderRadius: 8,\n backgroundColor: '#fff',\n}));\n\nexport const ImageBoxPreviewLink = styled(Box)(({ theme }) => ({\n width: '100%',\n aspectRatio: 16 / 9,\n overflow: 'hidden',\n padding: 2,\n borderBottom: `4px dotted ${theme.palette.grey[300]}`,\n}));\n"]}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
export { a as default } from '../../chunk-
|
|
2
|
-
import '../../chunk-
|
|
1
|
+
export { a as default } from '../../chunk-WJK6CE54.js';
|
|
2
|
+
import '../../chunk-GC7GAEFE.js';
|
|
3
3
|
import '../../chunk-TC4DDJSR.js';
|
|
4
|
-
import '../../chunk-DJ22BFQ5.js';
|
|
5
4
|
//# sourceMappingURL=out.js.map
|
|
6
5
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { a } from '../../chunk-
|
|
1
|
+
import { a } from '../../chunk-GC7GAEFE.js';
|
|
2
2
|
import '../../chunk-TC4DDJSR.js';
|
|
3
|
-
import '../../chunk-DJ22BFQ5.js';
|
|
4
3
|
import s from '@mui/material/Box';
|
|
5
4
|
import S from '@mui/material/Stack';
|
|
6
5
|
import d from '@mui/material/Step';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/Steps/index.tsx","../../../src/components/Steps/styles.ts"],"names":["Box","Stack","Step","StepLabel","Stepper","MUIStepConnector","styled","StepConnector","theme","jsx","StepIcon","active","completed","Icon_default","Steps","steps","activeStep","showLabels","sx","other","label","Steps_default"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/components/Steps/index.tsx","../../../src/components/Steps/styles.ts"],"names":["Box","Stack","Step","StepLabel","Stepper","MUIStepConnector","styled","StepConnector","theme","jsx","StepIcon","active","completed","Icon_default","Steps","steps","activeStep","showLabels","sx","other","label","Steps_default"],"mappings":"4EAAA,OAAOA,MAAS,oBAChB,OAAOC,MAAW,sBAClB,OAAOC,MAAU,qBACjB,OAAOC,MAAe,0BACtB,OAAOC,MAAa,wBCJpB,OAAOC,MAAsB,8BAC7B,OAAS,UAAAC,MAAc,uBAEhB,IAAMC,EAAgBD,EAAOD,CAAgB,EAAE,CAAC,CAAE,MAAAG,CAAM,KAAO,CACpE,IAAK,GACL,KAAM,oBACN,MAAO,mBAEP,2BAA4B,CAC1B,eAAgB,EAChB,YAAaA,EAAM,QAAQ,OAC7B,EAEA,gCAAiC,CAC/B,2BAA4B,CAC1B,YAAaA,EAAM,QAAQ,QAAQ,IACrC,CACF,CACF,EAAE,EDQM,cAAAC,MAAA,oBAfR,IAAMC,EAAW,CAAC,CAAE,OAAAC,EAAQ,UAAAC,CAAU,IAElCH,EAACR,EAAA,CACC,WAAW,SACX,eAAe,SACf,GAAI,CACF,MAAO,GACP,OAAQ,GACR,MAAO,gBACP,GAAIU,GAAU,CACZ,MAAO,cACT,CACF,EAEC,SAAAC,EACCH,EAACI,EAAA,CAAK,KAAK,eAAe,MAAM,eAAe,EAE/CJ,EAACT,EAAA,CACC,GAAI,CACF,MAAO,EACP,OAAQ,EACR,aAAc,MACd,gBAAiB,cACnB,EACF,EAEJ,EAIEc,EAAQ,CAAC,CACb,MAAAC,EACA,WAAAC,EACA,WAAAC,EAAa,GACb,GAAAC,EACA,GAAGC,CACL,IAEIV,EAACL,EAAA,CACC,iBAAgB,GAChB,WAAYY,EACZ,UAAWP,EAACF,EAAA,EAAc,EAC1B,GAAIW,EACH,GAAGC,EAEH,SAAAJ,EAAM,IAAIK,GACTX,EAACP,EAAA,CACC,SAAAO,EAACN,EAAA,CAEC,kBAAmBO,EACnB,GAAI,CACF,wBAAyB,CACvB,WAAY,WACd,CACF,EAEC,SAAAO,GAAcG,EACjB,GAXSA,CAYX,CACD,EACH,EAIGC,EAAQP","sourcesContent":["import Box from '@mui/material/Box';\nimport Stack from '@mui/material/Stack';\nimport Step from '@mui/material/Step';\nimport StepLabel from '@mui/material/StepLabel';\nimport Stepper from '@mui/material/Stepper';\n\nimport Icon from '../Icon';\n\nimport { StepIconProps, StepsProps } from './props';\nimport { StepConnector } from './styles';\n\nconst StepIcon = ({ active, completed }: StepIconProps) => {\n return (\n <Stack\n alignItems=\"center\"\n justifyContent=\"center\"\n sx={{\n width: 24,\n height: 24,\n color: 'text.disabled',\n ...(active && {\n color: 'primary.main',\n }),\n }}\n >\n {completed ? (\n <Icon icon=\"SIMPLE_CHECK\" color=\"primary.main\" />\n ) : (\n <Box\n sx={{\n width: 8,\n height: 8,\n borderRadius: '50%',\n backgroundColor: 'currentColor',\n }}\n />\n )}\n </Stack>\n );\n};\n\nconst Steps = ({\n steps,\n activeStep,\n showLabels = true,\n sx,\n ...other\n}: StepsProps) => {\n return (\n <Stepper\n alternativeLabel\n activeStep={activeStep}\n connector={<StepConnector />}\n sx={sx}\n {...other}\n >\n {steps.map(label => (\n <Step key={label}>\n <StepLabel\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n StepIconComponent={StepIcon as any}\n sx={{\n '& .MuiStepLabel-label': {\n typography: 'subtitle2',\n },\n }}\n >\n {showLabels && label}\n </StepLabel>\n </Step>\n ))}\n </Stepper>\n );\n};\n\nexport default Steps;\n","import MUIStepConnector from '@mui/material/StepConnector';\nimport { styled } from '@mui/material/styles';\n\nexport const StepConnector = styled(MUIStepConnector)(({ theme }) => ({\n top: 10,\n left: 'calc(-50% + 20px)',\n right: 'calc(50% + 20px)',\n\n '& .MuiStepConnector-line': {\n borderTopWidth: 2,\n borderColor: theme.palette.divider,\n },\n\n '&.Mui-active, &.Mui-completed': {\n '& .MuiStepConnector-line': {\n borderColor: theme.palette.primary.main,\n },\n },\n}));\n"]}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { a } from '../../chunk-
|
|
1
|
+
import { a } from '../../chunk-GC7GAEFE.js';
|
|
2
2
|
import '../../chunk-TC4DDJSR.js';
|
|
3
|
-
import '../../chunk-DJ22BFQ5.js';
|
|
4
3
|
import n from '@mui/material/Stack';
|
|
5
4
|
import { styled, alpha } from '@mui/material/styles';
|
|
6
5
|
import b from '@mui/material/Tab';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/StyledTab/index.tsx"],"names":["Stack","alpha","styled","Tab","jsx","jsxs","StyledTab","label","onClose","icon","hasChanges","props","theme","Icon_default","e","StyledTab_default"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/components/StyledTab/index.tsx"],"names":["Stack","alpha","styled","Tab","jsx","jsxs","StyledTab","label","onClose","icon","hasChanges","props","theme","Icon_default","e","StyledTab_default"],"mappings":"uEAAA,OAAOA,MAAW,sBAClB,OAAS,SAAAC,EAAO,UAAAC,MAAc,uBAC9B,OAAOC,MAAS,oBAaN,OA2BE,OAAAC,EA3BF,QAAAC,MAAA,oBAPV,IAAMC,EAAYJ,EAChB,CAAC,CAAE,MAAAK,EAAO,QAAAC,EAAS,KAAAC,EAAM,WAAAC,EAAY,GAAGC,CAAM,IAE1CP,EAACD,EAAA,CACC,cAAa,GACZ,GAAGQ,EACJ,MACEN,EAACL,EAAA,CACC,SAAS,WACT,UAAU,MACV,WAAW,SACX,IAAK,IACL,GAAIY,IAAU,CACZ,SAAU,CACR,SAAU,WACV,IAAK,IACL,MAAO,IAEP,KAAM,CACJ,SAAU,QACV,MAAO,GACP,OAAQ,GACR,gBAAiBA,EAAM,QAAQ,QAAQ,KACvC,OAAQ,iBACR,aAAc,MACd,OAAQ,GACV,CACF,CACF,GAEC,UAAAH,EAEAF,EAEDH,EAACS,EAAA,CACC,cAAY,aACZ,KAAK,oBACL,MAAO,GACP,QAASC,GAAK,CACZN,EAAQ,EACRM,EAAE,gBAAgB,CACpB,EACF,EACCJ,GACCN,EAAC,QACC,SAAAA,EAAC,SAAK,EACR,GAEJ,EAEJ,CAGN,EAAE,CAAC,CAAE,MAAAQ,CAAM,KAAO,CAChB,cAAe,OACf,SAAUA,EAAM,WAAW,QAAQ,EAAE,EACrC,OAAQ,eACR,MAAO,GAAGA,EAAM,QAAQ,QAAQ,qBAChC,UAAW,UACX,QAAS,YACT,gBAAiBA,EAAM,QAAQ,QAAQ,KACvC,OAAQ,aAAaX,EAAMW,EAAM,QAAQ,QAAQ,OAAQ,GAAI,IAC7D,aAAc,EACd,aAAc,cACd,WAAY,IACZ,SAAU,qBACV,WAAY,EAEZ,iBAAkB,CAChB,MAAO,GAAGA,EAAM,QAAQ,KAAK,qBAC7B,gBAAiBA,EAAM,QAAQ,WAAW,MAC1C,YAAaA,EAAM,QAAQ,QAAQ,KAEnC,IAAK,CACH,MAAOA,EAAM,QAAQ,KAAK,QAC5B,CACF,EAEA,qBAAsB,CACpB,gBAAiB,0BACnB,EAEA,YAAa,CACX,QAAS,GACX,CACF,EAAE,EAEKG,EAAQT","sourcesContent":["import Stack from '@mui/material/Stack';\nimport { alpha, styled } from '@mui/material/styles';\nimport Tab from '@mui/material/Tab';\n\nimport Icon from '../Icon';\n\nimport { StyledTabProps } from './props';\n\nconst StyledTab = styled(\n ({ label, onClose, icon, hasChanges, ...props }: StyledTabProps) => {\n return (\n <Tab\n disableRipple\n {...props}\n label={\n <Stack\n position=\"relative\"\n direction=\"row\"\n alignItems=\"center\"\n gap={1.5}\n sx={theme => ({\n '> span': {\n position: 'absolute',\n top: -14,\n right: -10,\n\n span: {\n position: 'fixed',\n width: 10,\n height: 10,\n backgroundColor: theme.palette.warning.main,\n border: '1px solid #fff',\n borderRadius: '50%',\n zIndex: 999,\n },\n },\n })}\n >\n {icon}\n\n {label}\n\n <Icon\n data-testid=\"close-icon\"\n icon=\"CLOSE_MARK_BUTTON\"\n width={16}\n onClick={e => {\n onClose();\n e.stopPropagation();\n }}\n />\n {hasChanges && (\n <span>\n <span />\n </span>\n )}\n </Stack>\n }\n />\n );\n },\n)(({ theme }) => ({\n textTransform: 'none',\n fontSize: theme.typography.pxToRem(14),\n margin: '0 !important',\n color: `${theme.palette.primary.lighter} !important`,\n minHeight: 'initial',\n padding: '10px 16px',\n backgroundColor: theme.palette.primary.dark,\n border: `1px solid ${alpha(theme.palette.primary.darker, 0.25)}`,\n borderBottom: 0,\n borderRadius: '8px 8px 0 0',\n fontWeight: 600,\n overflow: 'initial !important',\n lineHeight: 1,\n\n '&.Mui-selected': {\n color: `${theme.palette.text.primary} !important`,\n backgroundColor: theme.palette.background.paper,\n borderColor: theme.palette.primary.dark,\n\n svg: {\n color: theme.palette.text.disabled,\n },\n },\n\n '&.Mui-focusVisible': {\n backgroundColor: 'rgba(100, 95, 228, 0.32)',\n },\n\n 'svg:hover': {\n opacity: 0.85,\n },\n}));\n\nexport default StyledTab;\n"]}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import { a as a$2 } from '../../chunk-6ZSTKYGL.js';
|
|
2
|
-
import { a } from '../../chunk-
|
|
2
|
+
import { a } from '../../chunk-LOF5K56U.js';
|
|
3
3
|
import { a as a$1 } from '../../chunk-IJZCVZ32.js';
|
|
4
4
|
import '../../chunk-NIQW2J3M.js';
|
|
5
|
-
import { a as a$4 } from '../../chunk-
|
|
5
|
+
import { a as a$4 } from '../../chunk-GC7GAEFE.js';
|
|
6
6
|
import '../../chunk-TC4DDJSR.js';
|
|
7
|
-
import '../../chunk-DJ22BFQ5.js';
|
|
8
7
|
import { a as a$3 } from '../../chunk-XWUVJ22J.js';
|
|
9
8
|
import { useState } from 'react';
|
|
10
9
|
import h from '@mui/material/Checkbox';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/SwapList/index.tsx","../../../src/components/SwapList/styles.ts"],"names":["useState","Checkbox","CircularProgress","Divider","Stack","Typography","debounce","Box","Button","styled","StyledSwapButton","theme","Card","jsx","jsxs","SwapList","selectedItems","items","loading","searchText","onAdd","onRemove","search","itemsTitle","selectedItemsTitle","additionalContent","enableSearchInSelectedItems","selectedItemChild","onSearch","localSearch","setLocalSearch","handleSearchWithDebounce","availableItems","item","selectedItem","searchedSelectedItems","filtredSelectedItems","selectedesForAdd","setSelectedesForAdd","selectedesForRemove","setSelectedesForRemove","onAddItems","onRemoveItems","onSelectAllForRemove","checked","onSelectAllForAdd","onSelectItemForRemove","prevState","prevItem","onSelectItemForAdd","handleKeyDown","SearchInput_default","value","Result_default","EmptyView_default","Scrollbar_default","element","event","Icon_default","SwapList_default"],"mappings":"4TAAA,OAAgB,YAAAA,MAAgB,QAChC,OAAOC,MAAc,yBACrB,OAAOC,MAAsB,iCAC7B,OAAOC,MAAa,wBACpB,OAAOC,MAAW,sBAClB,OAAOC,MAAgB,2BACvB,OAAOC,MAAc,+BCNrB,OAAOC,MAAS,oBAChB,OAAOC,MAAY,uBACnB,OAAS,UAAAC,MAAc,uBAEhB,IAAMC,EAAmBD,EAAOD,CAAM,EAAE,CAAC,CAAE,MAAAG,CAAM,KAAO,CAC7D,YAAaA,EAAM,QAAQ,KAAK,GAAG,CACrC,EAAE,EAEWC,EAAOH,EAAOF,CAAG,EAAE,CAAC,CAAE,MAAAI,CAAM,KAAO,CAC9C,QAAS,OACT,OAAQ,eAAeA,EAAM,QAAQ,KAAK,GAAG,IAC7C,OAAQ,IACR,aAAc,EACd,KAAM,EACN,SAAU,QACZ,EAAE,EDgGY,cAAAE,EAaA,QAAAC,MAbA,oBA7Fd,IAAMC,EAAW,CAAC,CAChB,cAAAC,EACA,MAAAC,EACA,QAAAC,EACA,WAAAC,EACA,MAAAC,EACA,SAAAC,EACA,OAAAC,EACA,WAAAC,EACA,mBAAAC,EACA,kBAAAC,EACA,4BAAAC,EACA,kBAAAC,EACA,SAAAC,CACF,IAAqB,CACnB,GAAM,CAACC,EAAaC,CAAc,EAAI9B,EAAiB,EAAE,EACnD+B,EAA2BzB,EAASsB,EAAU,GAAG,EAEjDI,EAAiBf,EAAM,OAC3BgB,GAAQ,CAACjB,EAAc,KAAKkB,GAAgBA,EAAa,KAAOD,EAAK,EAAE,CACzE,EAEME,EAAwBnB,EAAc,OAC1CiB,GACEA,EAAK,MAAM,YAAY,EAAE,SAASJ,EAAY,YAAY,CAAC,GAC3DI,EAAK,IAAI,YAAY,EAAE,SAASJ,EAAY,YAAY,CAAC,CAC7D,EAEMO,EACJV,GAA+BG,EAC3BM,EACAnB,EAEA,CAACqB,EAAkBC,CAAmB,EAAItC,EAAiB,CAAC,CAAC,EAE7D,CAACuC,EAAqBC,CAAsB,EAAIxC,EAAiB,CAAC,CAAC,EAEnEyC,EAAa,IAAM,CACvBrB,EAAMiB,CAAgB,EACtBC,EAAoB,CAAC,CAAC,CACxB,EAEMI,EAAgB,IAAM,CAC1BrB,EAASkB,CAAmB,EAC5BC,EAAuB,CAAC,CAAC,CAC3B,EAEMG,EAAwBC,GAAqB,CAE/CJ,EADEI,EACqBR,EAEA,CAAC,CAFmB,CAI/C,EAEMS,EAAqBD,GAAqB,CAE5CN,EADEM,EACkBZ,EAEA,CAAC,CAFa,CAItC,EAEMc,EAAwB,CAACb,EAAYW,IAAqB,CAE5DJ,EADEI,EACqBG,GAAa,CAAC,GAAGA,EAAWd,CAAI,EAEhCc,GACrBA,EAAU,OAAOC,GAAYA,EAAS,KAAOf,EAAK,EAAE,CAHE,CAM5D,EAEMgB,EAAqB,CAAChB,EAAYW,IAAqB,CAEzDN,EADEM,EACkBG,GAAa,CAAC,GAAGA,EAAWd,CAAI,EAEhCc,GAClBA,EAAU,OAAOC,GAAYA,EAAS,KAAOf,EAAK,EAAE,CAHD,CAMzD,EAEMiB,EAAiB,GAA2C,CAC5D,EAAE,MAAQ,SAAS,EAAE,eAAe,CAC1C,EAEA,OACErC,EAACT,EAAA,CACC,SAAAU,EAACV,EAAA,CAAM,UAAU,MAAM,WAAW,SAAS,IAAK,EAC9C,UAAAS,EAACD,EAAA,CAAK,KAAM,EACV,SAAAE,EAACV,EAAA,CAAM,KAAM,EAAG,SAAS,SACvB,UAAAU,EAACV,EAAA,CAAM,UAAU,MAAM,IAAK,EAAG,QAAS,EACtC,UAAAS,EAACZ,EAAA,CACC,KAAK,QACL,cACEoC,EAAiB,OAAS,GAC1BA,EAAiB,SAAWL,EAAe,OAE7C,QACEK,EAAiB,OAAS,GAC1BA,EAAiB,SAAWL,EAAe,OAE7C,SAAU,GAAKa,EAAkB,EAAE,OAAO,OAAO,EACnD,EAEA/B,EAACV,EAAA,CACC,UAAAS,EAACR,EAAA,CAAW,QAAQ,YAAY,MAAM,eACnC,YAAGkB,oBACN,EAEAV,EAACR,EAAA,CAAW,QAAQ,UAAU,MAAM,gBACjC,YAAGgC,EAAiB,UAAUL,EAAe,sBAChD,GACF,GACF,EAEAnB,EAACV,EAAA,EAAQ,EAETW,EAACV,EAAA,CAAM,EAAG,EAAG,KAAM,EAAG,SAAS,SAC7B,UAAAU,EAACV,EAAA,CAAM,UAAU,MAAM,IAAK,EAC1B,UAAAS,EAACsC,EAAA,CACC,aAAa,QACb,YAAY,SACZ,UAAWD,EACX,KAAK,QACL,UAAS,GACT,QAAQ,SACR,SAAUE,GAASrB,EAAyBqB,CAAK,EACnD,EACC3B,GACH,EAEAZ,EAACwC,EAAA,CACC,UAAWnC,EACX,QACEL,EAACT,EAAA,CAAM,WAAW,SAAS,eAAe,SAAS,KAAM,EACvD,SAAAS,EAACX,EAAA,EAAiB,EACpB,EAEF,QAAS8B,EAAe,SAAW,EACnC,MACEnB,EAACyC,EAAA,CACC,KACEhC,EACI,UAAUH,eACV,UAAUA,kBAEhB,GAAI,CAAE,IAAK,CAAE,OAAQ,GAAI,CAAE,EAC7B,EAGF,SAAAN,EAAC0C,EAAA,CAAU,GAAI,CAAE,UAAW,GAAI,EAC7B,SAAAvB,EAAe,IAAIwB,GAClB1C,EAACV,EAAA,CAAM,IAAK,EAAoB,UAAU,MACxC,UAAAU,EAACV,EAAA,CACC,UAAU,MACV,IAAK,GACL,WAAW,SACX,UAAU,MAEV,UAAAS,EAACZ,EAAA,CACC,KAAK,QACL,QAASoC,EAAiB,SAASmB,CAAO,EAC1C,SAAUC,GACRR,EAAmBO,EAASC,EAAM,OAAO,OAAO,EAEpD,EACCD,EAAQ,OACX,EACA3C,EAACV,EAAA,EAAQ,IAhBSqD,EAAQ,EAiB5B,CACD,EACH,EACF,GACF,GACF,EACF,EAEA1C,EAACV,EAAA,CAAM,IAAK,EACV,UAAAS,EAACH,EAAA,CACC,QAAQ,WACR,QAAS+B,EACT,cAAY,aAEX,SAAA5B,EAAC6C,EAAA,CAAK,KAAK,qBAAqB,EACnC,EAEA7C,EAACH,EAAA,CACC,QAAQ,WACR,QAASgC,EACT,cAAY,gBAEX,SAAA7B,EAAC6C,EAAA,CAAK,KAAK,oBAAoB,EAClC,GACF,EAEA7C,EAACD,EAAA,CAAK,KAAM,EACV,SAAAE,EAACV,EAAA,CAAM,KAAM,EAAG,SAAS,SACvB,UAAAU,EAACV,EAAA,CAAM,UAAU,MAAM,IAAK,EAAG,QAAS,EACtC,UAAAS,EAACZ,EAAA,CACC,KAAK,QACL,cACEsC,EAAoB,OAAS,GAC7BA,EAAoB,SAAWvB,EAAc,OAE/C,QACEuB,EAAoB,OAAS,GAC7BA,EAAoB,SAAWvB,EAAc,OAE/C,SAAU,GAAK2B,EAAqB,EAAE,OAAO,OAAO,EACtD,EAEA7B,EAACV,EAAA,CACC,UAAAS,EAACR,EAAA,CAAW,QAAQ,YAAY,MAAM,eACnC,YAAGmB,qBACN,EAEAX,EAACR,EAAA,CAAW,QAAQ,UAAU,MAAM,gBACjC,YAAGkC,EAAoB,UAAUvB,EAAc,sBAClD,GACF,GACF,EAEAH,EAACV,EAAA,EAAQ,EAETW,EAACV,EAAA,CAAM,EAAG,EAAG,IAAK,EAAG,SAAS,SAC3B,UAAAsB,GACCb,EAACsC,EAAA,CACC,aAAa,QACb,YAAY,SACZ,KAAK,QACL,UAAS,GACT,QAAQ,SACR,SAAUC,GAAStB,EAAesB,GAAS,EAAE,EAC7C,UAAWF,EACb,EAEFrC,EAACwC,EAAA,CACC,UAAWnC,EACX,QACEL,EAACT,EAAA,CAAM,WAAW,SAAS,eAAe,SAAS,KAAM,EACvD,SAAAS,EAACX,EAAA,EAAiB,EACpB,EAEF,QAASkC,EAAqB,SAAW,EACzC,MACEvB,EAACyC,EAAA,CACC,KACEzB,GAAeH,EACX,UAAUP,eACV,UAAUA,gBAEhB,GAAI,CACF,IAAK,CAAE,OAAQ,GAAI,EACnB,UAAW,OACX,gBAAiB,aACnB,EACF,EAGF,SAAAN,EAAC0C,EAAA,CAAU,GAAI,CAAE,UAAW,GAAI,EAC7B,SAAAnB,EAAqB,IAAIoB,GACxB1C,EAACV,EAAA,CAAM,IAAK,EACV,UAAAU,EAACV,EAAA,CACC,UAAU,MACV,IAAK,GACL,WAAW,SACX,UAAU,MAEV,UAAAU,EAACV,EAAA,CAAM,UAAU,MACd,UAAAuB,GAAqBA,EAAkB6B,CAAO,EAE/C3C,EAACZ,EAAA,CACC,KAAK,QACL,QAASsC,EAAoB,SAASiB,CAAO,EAC7C,SAAUC,GACRX,EACEU,EACAC,EAAM,OAAO,OACf,EAEJ,GACF,EACCD,EAAQ,OACX,EACA3C,EAACV,EAAA,EAAQ,IAvBSqD,EAAQ,EAwB5B,CACD,EACH,EACF,GACF,GACF,EACF,GACF,EACF,CAEJ,EAEOG,GAAQ5C","sourcesContent":["import React, { useState } from 'react';\nimport Checkbox from '@mui/material/Checkbox';\nimport CircularProgress from '@mui/material/CircularProgress';\nimport Divider from '@mui/material/Divider';\nimport Stack from '@mui/material/Stack';\nimport Typography from '@mui/material/Typography';\nimport debounce from '@mui/material/utils/debounce';\n\nimport EmptyView from 'components/EmptyView';\nimport Icon from 'components/Icon';\nimport Result from 'components/Result';\nimport Scrollbar from 'components/Scrollbar';\nimport SearchInput from 'components/SearchInput';\nimport { Item } from 'types/item';\n\nimport { SwapListProps } from './props';\nimport { Card, StyledSwapButton } from './styles';\n\nconst SwapList = ({\n selectedItems,\n items,\n loading,\n searchText,\n onAdd,\n onRemove,\n search,\n itemsTitle,\n selectedItemsTitle,\n additionalContent,\n enableSearchInSelectedItems,\n selectedItemChild,\n onSearch,\n}: SwapListProps) => {\n const [localSearch, setLocalSearch] = useState<string>('');\n const handleSearchWithDebounce = debounce(onSearch, 400);\n\n const availableItems = items.filter(\n item => !selectedItems.some(selectedItem => selectedItem.id === item.id),\n );\n\n const searchedSelectedItems = selectedItems.filter(\n item =>\n item.name?.toLowerCase().includes(localSearch.toLowerCase()) ||\n item.id?.toLowerCase().includes(localSearch.toLowerCase()),\n );\n\n const filtredSelectedItems =\n enableSearchInSelectedItems && localSearch\n ? searchedSelectedItems\n : selectedItems;\n\n const [selectedesForAdd, setSelectedesForAdd] = useState<Item[]>([]);\n\n const [selectedesForRemove, setSelectedesForRemove] = useState<Item[]>([]);\n\n const onAddItems = () => {\n onAdd(selectedesForAdd);\n setSelectedesForAdd([]);\n };\n\n const onRemoveItems = () => {\n onRemove(selectedesForRemove);\n setSelectedesForRemove([]);\n };\n\n const onSelectAllForRemove = (checked: boolean) => {\n if (checked) {\n setSelectedesForRemove(filtredSelectedItems);\n } else {\n setSelectedesForRemove([]);\n }\n };\n\n const onSelectAllForAdd = (checked: boolean) => {\n if (checked) {\n setSelectedesForAdd(availableItems);\n } else {\n setSelectedesForAdd([]);\n }\n };\n\n const onSelectItemForRemove = (item: Item, checked: boolean) => {\n if (checked) {\n setSelectedesForRemove(prevState => [...prevState, item]);\n } else {\n setSelectedesForRemove(prevState =>\n prevState.filter(prevItem => prevItem.id !== item.id),\n );\n }\n };\n\n const onSelectItemForAdd = (item: Item, checked: boolean) => {\n if (checked) {\n setSelectedesForAdd(prevState => [...prevState, item]);\n } else {\n setSelectedesForAdd(prevState =>\n prevState.filter(prevItem => prevItem.id !== item.id),\n );\n }\n };\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLDivElement>) => {\n if (e.key === 'Enter') e.preventDefault();\n };\n\n return (\n <Stack>\n <Stack direction=\"row\" alignItems=\"center\" gap={3}>\n <Card flex={1}>\n <Stack flex={1} overflow=\"hidden\">\n <Stack direction=\"row\" gap={1} padding={2}>\n <Checkbox\n size=\"small\"\n indeterminate={\n selectedesForAdd.length > 0 &&\n selectedesForAdd.length !== availableItems.length\n }\n checked={\n selectedesForAdd.length > 0 &&\n selectedesForAdd.length === availableItems.length\n }\n onChange={e => onSelectAllForAdd(e.target.checked)}\n />\n\n <Stack>\n <Typography variant=\"subtitle2\" color=\"text.primary\">\n {`${itemsTitle} cadastrados(as)`}\n </Typography>\n\n <Typography variant=\"caption\" color=\"text.disabled\">\n {`${selectedesForAdd.length}/${availableItems.length} selecionados`}\n </Typography>\n </Stack>\n </Stack>\n\n <Divider />\n\n <Stack p={2} flex={1} overflow=\"hidden\">\n <Stack direction=\"row\" gap={1}>\n <SearchInput\n iconPosition=\"start\"\n placeholder=\"Buscar\"\n onKeyDown={handleKeyDown}\n size=\"small\"\n fullWidth\n trigger=\"change\"\n onSearch={value => handleSearchWithDebounce(value)}\n />\n {additionalContent}\n </Stack>\n\n <Result\n isLoading={loading}\n loading={\n <Stack alignItems=\"center\" justifyContent=\"center\" flex={1}>\n <CircularProgress />\n </Stack>\n }\n isEmpty={availableItems.length === 0}\n empty={\n <EmptyView\n text={\n search\n ? `Nenhum ${searchText} encontrado`\n : `Nenhum ${searchText} disponível`\n }\n sx={{ svg: { height: 140 } }}\n />\n }\n >\n <Scrollbar sx={{ maxHeight: 280 }}>\n {availableItems.map(element => (\n <Stack gap={1} key={element.id} marginTop=\"8px\">\n <Stack\n direction=\"row\"\n gap={0.5}\n alignItems=\"center\"\n marginTop=\"8px\"\n >\n <Checkbox\n size=\"small\"\n checked={selectedesForAdd.includes(element)}\n onChange={event =>\n onSelectItemForAdd(element, event.target.checked)\n }\n />\n {element.label}\n </Stack>\n <Divider />\n </Stack>\n ))}\n </Scrollbar>\n </Result>\n </Stack>\n </Stack>\n </Card>\n\n <Stack gap={3}>\n <StyledSwapButton\n variant=\"outlined\"\n onClick={onAddItems}\n data-testid=\"add-button\"\n >\n {<Icon icon=\"ARROW_RIGHT_SIMPLE\" />}\n </StyledSwapButton>\n\n <StyledSwapButton\n variant=\"outlined\"\n onClick={onRemoveItems}\n data-testid=\"remove-button\"\n >\n {<Icon icon=\"ARROW_LEFT_SIMPLE\" />}\n </StyledSwapButton>\n </Stack>\n\n <Card flex={1}>\n <Stack flex={1} overflow=\"hidden\">\n <Stack direction=\"row\" gap={1} padding={2}>\n <Checkbox\n size=\"small\"\n indeterminate={\n selectedesForRemove.length > 0 &&\n selectedesForRemove.length !== selectedItems.length\n }\n checked={\n selectedesForRemove.length > 0 &&\n selectedesForRemove.length === selectedItems.length\n }\n onChange={e => onSelectAllForRemove(e.target.checked)}\n />\n\n <Stack>\n <Typography variant=\"subtitle2\" color=\"text.primary\">\n {`${selectedItemsTitle} selecionados(as)`}\n </Typography>\n\n <Typography variant=\"caption\" color=\"text.disabled\">\n {`${selectedesForRemove.length}/${selectedItems.length} selecionados`}\n </Typography>\n </Stack>\n </Stack>\n\n <Divider />\n\n <Stack p={2} gap={1} overflow=\"hidden\">\n {enableSearchInSelectedItems && (\n <SearchInput\n iconPosition=\"start\"\n placeholder=\"Buscar\"\n size=\"small\"\n fullWidth\n trigger=\"change\"\n onSearch={value => setLocalSearch(value ?? '')}\n onKeyDown={handleKeyDown}\n />\n )}\n <Result\n isLoading={loading}\n loading={\n <Stack alignItems=\"center\" justifyContent=\"center\" flex={1}>\n <CircularProgress />\n </Stack>\n }\n isEmpty={filtredSelectedItems.length === 0}\n empty={\n <EmptyView\n text={\n localSearch && enableSearchInSelectedItems\n ? `Nenhum ${searchText} encontrado`\n : `Nenhum ${searchText} selecionado`\n }\n sx={{\n svg: { height: 140 },\n marginTop: '56px',\n backgroundColor: 'transparent',\n }}\n />\n }\n >\n <Scrollbar sx={{ maxHeight: 280 }}>\n {filtredSelectedItems.map(element => (\n <Stack gap={1} key={element.id}>\n <Stack\n direction=\"row\"\n gap={0.5}\n alignItems=\"center\"\n marginTop=\"8px\"\n >\n <Stack direction=\"row\">\n {selectedItemChild && selectedItemChild(element)}\n\n <Checkbox\n size=\"small\"\n checked={selectedesForRemove.includes(element)}\n onChange={event =>\n onSelectItemForRemove(\n element,\n event.target.checked,\n )\n }\n />\n </Stack>\n {element.label}\n </Stack>\n <Divider />\n </Stack>\n ))}\n </Scrollbar>\n </Result>\n </Stack>\n </Stack>\n </Card>\n </Stack>\n </Stack>\n );\n};\n\nexport default SwapList;\n","import Box from '@mui/material/Box';\nimport Button from '@mui/material/Button';\nimport { styled } from '@mui/material/styles';\n\nexport const StyledSwapButton = styled(Button)(({ theme }) => ({\n borderColor: theme.palette.grey[300],\n}));\n\nexport const Card = styled(Box)(({ theme }) => ({\n display: 'flex',\n border: `1.5px solid ${theme.palette.grey[300]}`,\n height: 450,\n borderRadius: 8,\n flex: 1,\n overflow: 'hidden',\n}));\n"]}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/SwapList/index.tsx","../../../src/components/SwapList/styles.ts"],"names":["useState","Checkbox","CircularProgress","Divider","Stack","Typography","debounce","Box","Button","styled","StyledSwapButton","theme","Card","jsx","jsxs","SwapList","selectedItems","items","loading","searchText","onAdd","onRemove","search","itemsTitle","selectedItemsTitle","additionalContent","enableSearchInSelectedItems","selectedItemChild","onSearch","localSearch","setLocalSearch","handleSearchWithDebounce","availableItems","item","selectedItem","searchedSelectedItems","filtredSelectedItems","selectedesForAdd","setSelectedesForAdd","selectedesForRemove","setSelectedesForRemove","onAddItems","onRemoveItems","onSelectAllForRemove","checked","onSelectAllForAdd","onSelectItemForRemove","prevState","prevItem","onSelectItemForAdd","handleKeyDown","SearchInput_default","value","Result_default","EmptyView_default","Scrollbar_default","element","event","Icon_default","SwapList_default"],"mappings":"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","sourcesContent":["import React, { useState } from 'react';\nimport Checkbox from '@mui/material/Checkbox';\nimport CircularProgress from '@mui/material/CircularProgress';\nimport Divider from '@mui/material/Divider';\nimport Stack from '@mui/material/Stack';\nimport Typography from '@mui/material/Typography';\nimport debounce from '@mui/material/utils/debounce';\n\nimport EmptyView from 'components/EmptyView';\nimport Icon from 'components/Icon';\nimport Result from 'components/Result';\nimport Scrollbar from 'components/Scrollbar';\nimport SearchInput from 'components/SearchInput';\nimport { Item } from 'types/item';\n\nimport { SwapListProps } from './props';\nimport { Card, StyledSwapButton } from './styles';\n\nconst SwapList = ({\n selectedItems,\n items,\n loading,\n searchText,\n onAdd,\n onRemove,\n search,\n itemsTitle,\n selectedItemsTitle,\n additionalContent,\n enableSearchInSelectedItems,\n selectedItemChild,\n onSearch,\n}: SwapListProps) => {\n const [localSearch, setLocalSearch] = useState<string>('');\n const handleSearchWithDebounce = debounce(onSearch, 400);\n\n const availableItems = items.filter(\n item => !selectedItems.some(selectedItem => selectedItem.id === item.id),\n );\n\n const searchedSelectedItems = selectedItems.filter(\n item =>\n item.name?.toLowerCase().includes(localSearch.toLowerCase()) ||\n item.id?.toLowerCase().includes(localSearch.toLowerCase()),\n );\n\n const filtredSelectedItems =\n enableSearchInSelectedItems && localSearch\n ? searchedSelectedItems\n : selectedItems;\n\n const [selectedesForAdd, setSelectedesForAdd] = useState<Item[]>([]);\n\n const [selectedesForRemove, setSelectedesForRemove] = useState<Item[]>([]);\n\n const onAddItems = () => {\n onAdd(selectedesForAdd);\n setSelectedesForAdd([]);\n };\n\n const onRemoveItems = () => {\n onRemove(selectedesForRemove);\n setSelectedesForRemove([]);\n };\n\n const onSelectAllForRemove = (checked: boolean) => {\n if (checked) {\n setSelectedesForRemove(filtredSelectedItems);\n } else {\n setSelectedesForRemove([]);\n }\n };\n\n const onSelectAllForAdd = (checked: boolean) => {\n if (checked) {\n setSelectedesForAdd(availableItems);\n } else {\n setSelectedesForAdd([]);\n }\n };\n\n const onSelectItemForRemove = (item: Item, checked: boolean) => {\n if (checked) {\n setSelectedesForRemove(prevState => [...prevState, item]);\n } else {\n setSelectedesForRemove(prevState =>\n prevState.filter(prevItem => prevItem.id !== item.id),\n );\n }\n };\n\n const onSelectItemForAdd = (item: Item, checked: boolean) => {\n if (checked) {\n setSelectedesForAdd(prevState => [...prevState, item]);\n } else {\n setSelectedesForAdd(prevState =>\n prevState.filter(prevItem => prevItem.id !== item.id),\n );\n }\n };\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLDivElement>) => {\n if (e.key === 'Enter') e.preventDefault();\n };\n\n return (\n <Stack>\n <Stack direction=\"row\" alignItems=\"center\" gap={3}>\n <Card flex={1}>\n <Stack flex={1} overflow=\"hidden\">\n <Stack direction=\"row\" gap={1} padding={2}>\n <Checkbox\n size=\"small\"\n indeterminate={\n selectedesForAdd.length > 0 &&\n selectedesForAdd.length !== availableItems.length\n }\n checked={\n selectedesForAdd.length > 0 &&\n selectedesForAdd.length === availableItems.length\n }\n onChange={e => onSelectAllForAdd(e.target.checked)}\n />\n\n <Stack>\n <Typography variant=\"subtitle2\" color=\"text.primary\">\n {`${itemsTitle} cadastrados(as)`}\n </Typography>\n\n <Typography variant=\"caption\" color=\"text.disabled\">\n {`${selectedesForAdd.length}/${availableItems.length} selecionados`}\n </Typography>\n </Stack>\n </Stack>\n\n <Divider />\n\n <Stack p={2} flex={1} overflow=\"hidden\">\n <Stack direction=\"row\" gap={1}>\n <SearchInput\n iconPosition=\"start\"\n placeholder=\"Buscar\"\n onKeyDown={handleKeyDown}\n size=\"small\"\n fullWidth\n trigger=\"change\"\n onSearch={value => handleSearchWithDebounce(value)}\n />\n {additionalContent}\n </Stack>\n\n <Result\n isLoading={loading}\n loading={\n <Stack alignItems=\"center\" justifyContent=\"center\" flex={1}>\n <CircularProgress />\n </Stack>\n }\n isEmpty={availableItems.length === 0}\n empty={\n <EmptyView\n text={\n search\n ? `Nenhum ${searchText} encontrado`\n : `Nenhum ${searchText} disponível`\n }\n sx={{ svg: { height: 140 } }}\n />\n }\n >\n <Scrollbar sx={{ maxHeight: 280 }}>\n {availableItems.map(element => (\n <Stack gap={1} key={element.id} marginTop=\"8px\">\n <Stack\n direction=\"row\"\n gap={0.5}\n alignItems=\"center\"\n marginTop=\"8px\"\n >\n <Checkbox\n size=\"small\"\n checked={selectedesForAdd.includes(element)}\n onChange={event =>\n onSelectItemForAdd(element, event.target.checked)\n }\n />\n {element.label}\n </Stack>\n <Divider />\n </Stack>\n ))}\n </Scrollbar>\n </Result>\n </Stack>\n </Stack>\n </Card>\n\n <Stack gap={3}>\n <StyledSwapButton\n variant=\"outlined\"\n onClick={onAddItems}\n data-testid=\"add-button\"\n >\n {<Icon icon=\"ARROW_RIGHT_SIMPLE\" />}\n </StyledSwapButton>\n\n <StyledSwapButton\n variant=\"outlined\"\n onClick={onRemoveItems}\n data-testid=\"remove-button\"\n >\n {<Icon icon=\"ARROW_LEFT_SIMPLE\" />}\n </StyledSwapButton>\n </Stack>\n\n <Card flex={1}>\n <Stack flex={1} overflow=\"hidden\">\n <Stack direction=\"row\" gap={1} padding={2}>\n <Checkbox\n size=\"small\"\n indeterminate={\n selectedesForRemove.length > 0 &&\n selectedesForRemove.length !== selectedItems.length\n }\n checked={\n selectedesForRemove.length > 0 &&\n selectedesForRemove.length === selectedItems.length\n }\n onChange={e => onSelectAllForRemove(e.target.checked)}\n />\n\n <Stack>\n <Typography variant=\"subtitle2\" color=\"text.primary\">\n {`${selectedItemsTitle} selecionados(as)`}\n </Typography>\n\n <Typography variant=\"caption\" color=\"text.disabled\">\n {`${selectedesForRemove.length}/${selectedItems.length} selecionados`}\n </Typography>\n </Stack>\n </Stack>\n\n <Divider />\n\n <Stack p={2} gap={1} overflow=\"hidden\">\n {enableSearchInSelectedItems && (\n <SearchInput\n iconPosition=\"start\"\n placeholder=\"Buscar\"\n size=\"small\"\n fullWidth\n trigger=\"change\"\n onSearch={value => setLocalSearch(value ?? '')}\n onKeyDown={handleKeyDown}\n />\n )}\n <Result\n isLoading={loading}\n loading={\n <Stack alignItems=\"center\" justifyContent=\"center\" flex={1}>\n <CircularProgress />\n </Stack>\n }\n isEmpty={filtredSelectedItems.length === 0}\n empty={\n <EmptyView\n text={\n localSearch && enableSearchInSelectedItems\n ? `Nenhum ${searchText} encontrado`\n : `Nenhum ${searchText} selecionado`\n }\n sx={{\n svg: { height: 140 },\n marginTop: '56px',\n backgroundColor: 'transparent',\n }}\n />\n }\n >\n <Scrollbar sx={{ maxHeight: 280 }}>\n {filtredSelectedItems.map(element => (\n <Stack gap={1} key={element.id}>\n <Stack\n direction=\"row\"\n gap={0.5}\n alignItems=\"center\"\n marginTop=\"8px\"\n >\n <Stack direction=\"row\">\n {selectedItemChild && selectedItemChild(element)}\n\n <Checkbox\n size=\"small\"\n checked={selectedesForRemove.includes(element)}\n onChange={event =>\n onSelectItemForRemove(\n element,\n event.target.checked,\n )\n }\n />\n </Stack>\n {element.label}\n </Stack>\n <Divider />\n </Stack>\n ))}\n </Scrollbar>\n </Result>\n </Stack>\n </Stack>\n </Card>\n </Stack>\n </Stack>\n );\n};\n\nexport default SwapList;\n","import Box from '@mui/material/Box';\nimport Button from '@mui/material/Button';\nimport { styled } from '@mui/material/styles';\n\nexport const StyledSwapButton = styled(Button)(({ theme }) => ({\n borderColor: theme.palette.grey[300],\n}));\n\nexport const Card = styled(Box)(({ theme }) => ({\n display: 'flex',\n border: `1.5px solid ${theme.palette.grey[300]}`,\n height: 450,\n borderRadius: 8,\n flex: 1,\n overflow: 'hidden',\n}));\n"]}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
export { a as default } from '../../chunk-VCHDZXTF.js';
|
|
2
2
|
import '../../chunk-UHXAPEIF.js';
|
|
3
|
-
import '../../chunk-
|
|
3
|
+
import '../../chunk-CU7PKEY2.js';
|
|
4
4
|
import '../../chunk-LDGBS7ZI.js';
|
|
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
10
|
import '../../chunk-WUFEPE2G.js';
|
|
10
|
-
import '../../chunk-2WG6OWB4.js';
|
|
11
11
|
import '../../chunk-GLRLKFPS.js';
|
|
12
12
|
//# sourceMappingURL=out.js.map
|
|
13
13
|
//# sourceMappingURL=index.js.map
|
|
@@ -2,9 +2,8 @@ import { d } from '../../chunk-JNDZPNQJ.js';
|
|
|
2
2
|
import { a as a$3 } from '../../chunk-FK4XGRYF.js';
|
|
3
3
|
import { a as a$2 } from '../../chunk-UVPQR2Q2.js';
|
|
4
4
|
import { a } from '../../chunk-CO2KQFUN.js';
|
|
5
|
-
import { a as a$4 } from '../../chunk-
|
|
5
|
+
import { a as a$4 } from '../../chunk-GC7GAEFE.js';
|
|
6
6
|
import '../../chunk-TC4DDJSR.js';
|
|
7
|
-
import '../../chunk-DJ22BFQ5.js';
|
|
8
7
|
import { a as a$1 } from '../../chunk-LQRRMVFN.js';
|
|
9
8
|
import '../../chunk-GLRLKFPS.js';
|
|
10
9
|
import E from '@mui/material/Button';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/WebhookCard/index.tsx","../../../src/components/WebhookCard/styles.ts"],"names":["Button","FormControlLabel","IconButton","Link","Stack","Switch","Typography","styled","Header","theme","Name","Content","Empty","Webhook","MenuPopover","MenuPopover_default","Fragment","jsx","jsxs","WebhookCard","onCreate","data","name","onChangeActive","onDelete","onEdit","active","popover","usePopover_default","handleEdit","handleDelete","Panel_default","_","v","Label_default","Icon_default","HttpConfigLabelMethodStatus","WebhookCard_default"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/components/WebhookCard/index.tsx","../../../src/components/WebhookCard/styles.ts"],"names":["Button","FormControlLabel","IconButton","Link","Stack","Switch","Typography","styled","Header","theme","Name","Content","Empty","Webhook","MenuPopover","MenuPopover_default","Fragment","jsx","jsxs","WebhookCard","onCreate","data","name","onChangeActive","onDelete","onEdit","active","popover","usePopover_default","handleEdit","handleDelete","Panel_default","_","v","Label_default","Icon_default","HttpConfigLabelMethodStatus","WebhookCard_default"],"mappings":"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","sourcesContent":["import Button from '@mui/material/Button';\nimport FormControlLabel from '@mui/material/FormControlLabel';\nimport IconButton from '@mui/material/IconButton';\nimport Link from '@mui/material/Link';\nimport Stack from '@mui/material/Stack';\nimport Switch from '@mui/material/Switch';\nimport Typography from '@mui/material/Typography';\n\nimport Icon from 'components/Icon';\nimport Label from 'components/Label';\nimport Panel from 'components/Panel';\nimport usePopover from 'hooks/usePopover';\nimport { HttpConfigLabelMethodStatus } from 'types/webhook';\n\nimport { WebhookCardProps } from './props';\nimport { Content, Empty, Header, MenuPopover, Name, Webhook } from './styles';\n\nconst WebhookCard = ({\n onCreate,\n data,\n name,\n onChangeActive,\n onDelete,\n onEdit,\n}: WebhookCardProps) => {\n const { active = false } = data || {};\n\n const popover = usePopover();\n\n const handleEdit = () => {\n onEdit();\n popover.onClose();\n };\n\n const handleDelete = () => {\n onDelete();\n popover.onClose();\n };\n\n return (\n <Panel padding={0} gap={0} sx={{ opacity: data && !active ? 0.55 : 1 }}>\n <Header>\n <Stack direction=\"row\" alignItems=\"center\" gap={2}>\n <Name>\n EVENTO: <span>{name || 'NOME DO EVENTO'}</span>\n </Name>\n\n {onChangeActive && data && (\n <FormControlLabel\n control={\n <Switch\n checked={active}\n onChange={(_, v) => onChangeActive(v)}\n size=\"small\"\n />\n }\n label={\n <Label color={active ? 'success' : 'error'}>\n {active ? 'Ativo' : 'Inativo'}\n </Label>\n }\n />\n )}\n </Stack>\n\n {data && (\n <>\n <IconButton onClick={popover.onOpen}>\n <Icon\n icon=\"MORE_OPTIONS_VERTICAL\"\n color=\"primary.grey\"\n width={24}\n />\n </IconButton>\n\n <MenuPopover open={popover.open} onClose={popover.onClose}>\n <Stack gap={1}>\n <Button\n variant=\"text\"\n size=\"small\"\n fullWidth\n color=\"inherit\"\n startIcon={<Icon icon=\"PENCIL_EDIT\" color=\"grey\" />}\n onClick={handleEdit}\n >\n <Typography variant=\"body2\">Editar</Typography>\n </Button>\n <Button\n variant=\"text\"\n size=\"small\"\n fullWidth\n color=\"inherit\"\n onClick={handleDelete}\n startIcon={<Icon icon=\"DELETE_MARK_BUTTON_02\" color=\"grey\" />}\n >\n <Typography variant=\"body2\">Limpar</Typography>\n </Button>\n </Stack>\n </MenuPopover>\n </>\n )}\n </Header>\n\n <Content>\n {data ? (\n <Webhook>\n <Label color={HttpConfigLabelMethodStatus[data.method]}>\n {data.method}\n </Label>\n {data.url}\n </Webhook>\n ) : (\n <Empty>\n <Typography variant=\"caption\" color=\"text.disabled\">\n Ainda não há webhook vinculado.\n </Typography>\n <Link\n component=\"button\"\n fontSize={12}\n underline=\"always\"\n onClick={onCreate}\n type=\"button\"\n >\n Clique aqui para adicionar\n </Link>\n </Empty>\n )}\n </Content>\n </Panel>\n );\n};\n\nexport default WebhookCard;\n","import Stack from '@mui/material/Stack';\nimport { styled } from '@mui/material/styles';\nimport Typography from '@mui/material/Typography';\n\nimport Popover from 'components/MenuPopover';\n\nexport const Header = styled(Stack)(({ theme }) => ({\n flexDirection: 'row',\n padding: 12,\n backgroundColor: theme.palette.grey[100],\n borderTopLeftRadius: '8px',\n borderTopRightRadius: '8px',\n borderBottom: `1px solid ${theme.palette.grey[300]}`,\n\n button: {\n marginLeft: 'auto',\n },\n}));\n\nexport const Name = styled(Typography)(({ theme }) => ({\n color: theme.palette.grey[500],\n textTransform: 'uppercase',\n fontSize: 12,\n\n span: {\n color: theme.palette.text.primary,\n fontWeight: 700,\n },\n}));\n\nexport const Content = styled(Stack)({\n padding: 12,\n});\n\nexport const Empty = styled(Stack)({\n padding: 12,\n alignItems: 'center',\n textAlign: 'center',\n});\n\nexport const Webhook = styled(Stack)(({ theme }) => ({\n flexDirection: 'row',\n alignItems: 'center',\n gap: 8,\n fontSize: theme.typography.body2.fontSize,\n color: theme.palette.grey[500],\n padding: '8px 0',\n}));\n\nexport const MenuPopover = styled(Popover)(() => ({\n '& .MuiPopover-paper': {\n width: '144px',\n padding: '16px',\n },\n\n '& button': {\n justifyContent: 'flex-start',\n },\n}));\n"]}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
export { j as ArrowButton, f as Carousel, g as CarouselArrowBasicButtons, i as CarouselArrowFloatButtons, h as CarouselArrowNumberButtons, k as CarouselDotButtons, l as CarouselProgressBar, c as CarouselSlide, n as CarouselThumb, m as CarouselThumbs, e as StyledContainer, d as StyledRoot, a as carouselBreakpoints, b as carouselClasses, o as useCarousel } from '../../chunk-
|
|
2
|
-
import '../../chunk-
|
|
1
|
+
export { j as ArrowButton, f as Carousel, g as CarouselArrowBasicButtons, i as CarouselArrowFloatButtons, h as CarouselArrowNumberButtons, k as CarouselDotButtons, l as CarouselProgressBar, c as CarouselSlide, n as CarouselThumb, m as CarouselThumbs, e as StyledContainer, d as StyledRoot, a as carouselBreakpoints, b as carouselClasses, o as useCarousel } from '../../chunk-VYANDAEH.js';
|
|
2
|
+
import '../../chunk-GC7GAEFE.js';
|
|
3
3
|
import '../../chunk-TC4DDJSR.js';
|
|
4
|
-
import '../../chunk-DJ22BFQ5.js';
|
|
5
4
|
import '../../chunk-GLRLKFPS.js';
|
|
6
5
|
//# sourceMappingURL=out.js.map
|
|
7
6
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import { a as a$1 } from '../../../chunk-P6HORLPW.js';
|
|
2
2
|
import { a as a$2 } from '../../../chunk-YXRL4O4H.js';
|
|
3
|
-
import { a as a$3 } from '../../../chunk-
|
|
3
|
+
import { a as a$3 } from '../../../chunk-I2JQIMEJ.js';
|
|
4
4
|
import '../../../chunk-DHRVSWFW.js';
|
|
5
|
-
import '../../../chunk-
|
|
6
|
-
import '../../../chunk-
|
|
5
|
+
import '../../../chunk-QXEYILV5.js';
|
|
6
|
+
import '../../../chunk-GC7GAEFE.js';
|
|
7
7
|
import '../../../chunk-TC4DDJSR.js';
|
|
8
|
-
import '../../../chunk-DJ22BFQ5.js';
|
|
9
8
|
import E from '@mui/material/CircularProgress';
|
|
10
9
|
import g from '@mui/material/InputAdornment';
|
|
11
10
|
import a from '@mui/material/Stack';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/form/Address/index.tsx"],"names":["CircularProgress","InputAdornment","Stack","jsx","jsxs","Address","name","containerProps","required","rules","tabIndex","ZIP_CODE_FIELD","PUBLIC_PLACE","NUMBER","DISTRICT","COMPLEMENT","STATE","CITY","handleKeyDown","e","MaskedInput_default","Field_default","Autocomplete_default","Address_default"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/form/Address/index.tsx"],"names":["CircularProgress","InputAdornment","Stack","jsx","jsxs","Address","name","containerProps","required","rules","tabIndex","ZIP_CODE_FIELD","PUBLIC_PLACE","NUMBER","DISTRICT","COMPLEMENT","STATE","CITY","handleKeyDown","e","MaskedInput_default","Field_default","Autocomplete_default","Address_default"],"mappings":"yRACA,OAAOA,MAAsB,iCAC7B,OAAOC,MAAoB,+BAC3B,OAAOC,MAAW,sBAgDF,cAAAC,EAeR,QAAAC,MAfQ,oBAxChB,IAAMC,EAAU,CAAC,CACf,KAAAC,EACA,eAAAC,EACA,SAAAC,EACA,MAAAC,EACA,SAAAC,CACF,IAAoB,CAClB,IAAMC,EAAiB,GAAGL,YACpBM,EAAe,GAAGN,gBAClBO,EAAS,GAAGP,WACZQ,EAAW,GAAGR,aACdS,EAAa,GAAGT,eAChBU,EAAQ,GAAGV,UACXW,EAAO,GAAGX,SAEVY,EAAiBC,GAA2C,CAC5DA,EAAE,MAAQ,SAASA,EAAE,eAAe,CAC1C,EAEA,OACEf,EAACF,EAAA,CAAM,IAAK,IAAM,GAAGK,EACnB,UAAAH,EAACF,EAAA,CACC,UAAW,CACT,GAAI,SACJ,GAAI,KACN,EACA,IAAK,IACL,SAAS,OAET,UAAAC,EAACiB,EAAA,CACC,KAAMT,EACN,MAAM,MACN,KAAM,CACJ,CACE,KAAM,WACR,CACF,EACA,WAAY,CACV,aACER,EAACF,EAAA,CAAe,SAAS,MACvB,SAAAE,EAACH,EAAA,CAAiB,KAAM,GAAI,EAC9B,CAEJ,EACA,MAAOS,EACP,UAAWS,EACX,SAAUV,EACV,GAAI,CACF,MAAO,OACP,KAAM,EACN,SAAU,GACZ,EACA,SAAUE,EACZ,EAEAN,EAACF,EAAA,CACC,UAAW,CACT,GAAI,SACJ,GAAI,KACN,EACA,IAAK,IACL,KAAM,CACJ,GAAI,EACJ,GAAI,SACN,EAEA,UAAAC,EAACkB,EAAA,CACC,KAAMT,EACN,MAAM,aACN,UAAWM,EACX,WAAY,CAAE,UAAW,EAAG,EAC5B,GAAI,CACF,MAAO,OACP,SAAU,IACV,KAAM,CACR,EACA,SAAUR,EACZ,EAEAP,EAACkB,EAAA,CACC,KAAMR,EACN,MAAM,YACN,UAAWK,EACX,WAAY,CAAE,UAAW,CAAE,EAC3B,GAAI,CACF,MAAO,OACP,SAAU,GACZ,EACA,SAAUR,EACZ,GACF,GACF,EAEAN,EAACF,EAAA,CACC,UAAW,CACT,GAAI,SACJ,GAAI,KACN,EACA,IAAK,IACL,SAAS,OAET,UAAAC,EAACkB,EAAA,CACC,KAAMP,EACN,MAAM,SACN,UAAWI,EACX,WAAY,CAAE,UAAW,EAAG,EAC5B,GAAI,CACF,MAAO,OACP,KAAM,CACJ,GAAI,EACJ,GAAI,WACN,CACF,EACA,SAAUR,EACZ,EAEAP,EAACkB,EAAA,CACC,KAAMN,EACN,MAAM,cACN,UAAWG,EACX,WAAY,CAAE,UAAW,EAAG,EAC5B,GAAI,CACF,SAAU,IACV,MAAO,OACP,KAAM,CACJ,GAAI,EACJ,GAAI,WACN,CACF,EACA,SAAUR,EACZ,GACF,EAEAN,EAACF,EAAA,CACC,IAAK,IACL,SAAS,OACT,UAAW,CACT,GAAI,SACJ,GAAI,KACN,EAEA,UAAAC,EAACmB,EAAA,CACC,KAAMN,EACN,MAAM,SACN,QAAS,CAAC,EACV,SAAQ,GACR,SAAUR,EACV,GAAI,CAAE,KAAM,CAAE,EACd,SAAUE,EACZ,EAEAP,EAACkB,EAAA,CACC,KAAMJ,EACN,MAAM,SACN,SAAQ,GACR,SAAUT,EACV,GAAI,CAAE,KAAM,CAAE,EACd,SAAUE,EACZ,GACF,GACF,CAEJ,EAEOa,EAAQlB","sourcesContent":["import React from 'react';\nimport CircularProgress from '@mui/material/CircularProgress';\nimport InputAdornment from '@mui/material/InputAdornment';\nimport Stack from '@mui/material/Stack';\n\nimport { AddressProps } from 'types/addressProps';\n\nimport Autocomplete from '../Autocomplete';\nimport Field from '../Field';\nimport MaskedInput from '../MaskedInput';\n\nconst Address = ({\n name,\n containerProps,\n required,\n rules,\n tabIndex,\n}: AddressProps) => {\n const ZIP_CODE_FIELD = `${name}.zipCode`;\n const PUBLIC_PLACE = `${name}.publicPlace`;\n const NUMBER = `${name}.number`;\n const DISTRICT = `${name}.district`;\n const COMPLEMENT = `${name}.complement`;\n const STATE = `${name}.state`;\n const CITY = `${name}.city`;\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLDivElement>) => {\n if (e.key === 'Enter') e.preventDefault();\n };\n\n return (\n <Stack gap={1.5} {...containerProps}>\n <Stack\n direction={{\n xs: 'column',\n md: 'row',\n }}\n gap={1.5}\n flexWrap=\"wrap\"\n >\n <MaskedInput\n name={ZIP_CODE_FIELD}\n label=\"CEP\"\n mask={[\n {\n mask: '00000-000',\n },\n ]}\n InputProps={{\n endAdornment: (\n <InputAdornment position=\"end\">\n <CircularProgress size={24} />\n </InputAdornment>\n ),\n }}\n rules={rules}\n onKeyDown={handleKeyDown}\n required={required}\n sx={{\n width: 'auto',\n flex: 1,\n minWidth: 160,\n }}\n tabIndex={tabIndex}\n />\n\n <Stack\n direction={{\n xs: 'column',\n sm: 'row',\n }}\n gap={1.5}\n flex={{\n xs: 1,\n md: '1 1 50%',\n }}\n >\n <Field\n name={PUBLIC_PLACE}\n label=\"Logradouro\"\n onKeyDown={handleKeyDown}\n inputProps={{ maxLength: 70 }}\n sx={{\n width: 'auto',\n minWidth: 250,\n flex: 1,\n }}\n tabIndex={tabIndex}\n />\n\n <Field\n name={NUMBER}\n label=\"Número\"\n onKeyDown={handleKeyDown}\n inputProps={{ maxLength: 6 }}\n sx={{\n width: 'auto',\n minWidth: 100,\n }}\n tabIndex={tabIndex}\n />\n </Stack>\n </Stack>\n\n <Stack\n direction={{\n xs: 'column',\n md: 'row',\n }}\n gap={1.5}\n flexWrap=\"wrap\"\n >\n <Field\n name={DISTRICT}\n label=\"Bairro\"\n onKeyDown={handleKeyDown}\n inputProps={{ maxLength: 20 }}\n sx={{\n width: 'auto',\n flex: {\n xs: 1,\n md: '1 1 100px',\n },\n }}\n tabIndex={tabIndex}\n />\n\n <Field\n name={COMPLEMENT}\n label=\"Complemento\"\n onKeyDown={handleKeyDown}\n inputProps={{ maxLength: 30 }}\n sx={{\n minWidth: 200,\n width: 'auto',\n flex: {\n xs: 1,\n md: '1 1 500px',\n },\n }}\n tabIndex={tabIndex}\n />\n </Stack>\n\n <Stack\n gap={1.5}\n flexWrap=\"wrap\"\n direction={{\n xs: 'column',\n sm: 'row',\n }}\n >\n <Autocomplete\n name={STATE}\n label=\"Estado\"\n options={[]}\n disabled\n required={required}\n sx={{ flex: 1 }}\n tabIndex={tabIndex}\n />\n\n <Field\n name={CITY}\n label=\"Cidade\"\n disabled\n required={required}\n sx={{ flex: 1 }}\n tabIndex={tabIndex}\n />\n </Stack>\n </Stack>\n );\n};\n\nexport default Address;\n"]}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
export { a as default } from '../../../chunk-
|
|
2
|
-
import '../../../chunk-
|
|
3
|
-
import '../../../chunk-
|
|
1
|
+
export { a as default } from '../../../chunk-I2JQIMEJ.js';
|
|
2
|
+
import '../../../chunk-QXEYILV5.js';
|
|
3
|
+
import '../../../chunk-GC7GAEFE.js';
|
|
4
4
|
import '../../../chunk-TC4DDJSR.js';
|
|
5
|
-
import '../../../chunk-DJ22BFQ5.js';
|
|
6
5
|
//# sourceMappingURL=out.js.map
|
|
7
6
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,17 +1,16 @@
|
|
|
1
|
-
import { v, s, t, u } from '../../../chunk-
|
|
1
|
+
import { v, s, t, u } from '../../../chunk-UNG4CL25.js';
|
|
2
2
|
import '../../../chunk-DTIGB5NW.js';
|
|
3
|
-
import '../../../chunk-
|
|
4
|
-
import '../../../chunk-
|
|
5
|
-
import '../../../chunk-OF6623HG.js';
|
|
6
|
-
import '../../../chunk-YSXPBMQX.js';
|
|
3
|
+
import '../../../chunk-ESUU2GHD.js';
|
|
4
|
+
import '../../../chunk-TBUIZEOJ.js';
|
|
7
5
|
import '../../../chunk-KGLU4CR2.js';
|
|
8
|
-
import '../../../chunk-
|
|
9
|
-
import '../../../chunk-
|
|
6
|
+
import '../../../chunk-K5EVTJEW.js';
|
|
7
|
+
import '../../../chunk-OF6623HG.js';
|
|
8
|
+
import '../../../chunk-RFYCSLP5.js';
|
|
10
9
|
import '../../../chunk-33C6UWPV.js';
|
|
10
|
+
import '../../../chunk-45OMMG7D.js';
|
|
11
11
|
import '../../../chunk-6U5LS7MP.js';
|
|
12
|
-
import '../../../chunk-
|
|
12
|
+
import '../../../chunk-GC7GAEFE.js';
|
|
13
13
|
import '../../../chunk-TC4DDJSR.js';
|
|
14
|
-
import '../../../chunk-DJ22BFQ5.js';
|
|
15
14
|
import '../../../chunk-VITOOMKK.js';
|
|
16
15
|
import '../../../chunk-RPO7AI5K.js';
|
|
17
16
|
import '../../../chunk-SVX7EWV4.js';
|
|
@@ -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":"onBAAA,OAAS,cAAAA,EAAY,kBAAAC,MAAsB,kBCA3C,OAAS,aAAAC,EAAW,WAAAC,EAAS,UAAAC,EAAQ,YAAAC,MAAgB,QACrD,OAAS,kBAAAJ,MAAsB,kBASxB,IAAMK,EAAsB,CACjCC,EACAC,IACG,CACH,GAAM,CAAE,SAAAC,EAAU,MAAAC,CAAM,EAAIT,EAAe,EACrCU,EAAQD,EAAMH,CAAI,EAClB,CAACK,EAAaC,CAAc,EAAIR,EAAkC,EAExE,OAAAH,EAAU,IAAM,CACd,GAAI,CAACS,EAAO,CACVE,EAAe,MAAS,EACxB,QAEgB,SAAY,CAC5B,GAAI,CACF,IAAMC,EAAO,MAAMN,EAAaG,CAAK,EAAE,OAAO,EAC9CE,EAAe,CACb,GAAIC,EAAK,GACT,IAAKA,EAAK,IACV,KAAMA,EAAK,IACb,CAAC,CACH,MAAE,CACAD,EAAe,CAAE,GAAIF,EAAO,IAAK,EAAG,CAAC,CACvC,CACF,GACU,CACZ,EAAG,CAACA,EAAOH,CAAY,CAAC,EAUjB,CACL,YAAAI,EACA,iBAVwBE,GAAsB,CAC9CL,EAASF,EAAMO,EAAK,GAAI,CAAE,eAAgB,GAAM,YAAa,EAAK,CAAC,CACrE,EASE,aAPmB,IAAM,CACzBL,EAASF,EAAM,KAAM,CAAE,eAAgB,GAAM,YAAa,EAAK,CAAC,CAClE,CAMA,CACF,EAKaQ,EAAqB,CAChCR,EACAC,IACG,CACH,GAAM,CAAE,SAAAC,EAAU,MAAAC,CAAM,EAAIT,EAAe,EACrCe,EAAeN,EAAMH,CAAI,EACzBU,EAAed,EAAQ,IAAMa,GAAgB,CAAC,EAAG,CAACA,CAAY,CAAC,EAC/D,CAACE,EAAcC,CAAe,EAAId,EAAwB,CAAC,CAAC,EAC5De,EAAWhB,EAAiC,IAAI,GAAK,EAE3D,OAAAF,EAAU,IAAM,CACd,GAAI,CAACe,GAAgBA,EAAa,SAAW,EAAG,CAC9CE,EAAgB,CAAC,CAAC,EAClB,QAEiB,SAAY,CAC7B,GAAI,CAEF,IAAME,EAAY,CAAC,GAAG,IAAI,IAAIJ,CAAY,CAAC,EAErCK,EAAQF,EAAS,QACjBG,EAASF,EAAU,OAAOG,GAAM,CAACF,EAAM,IAAIE,CAAE,CAAC,EAEpD,GAAID,EAAO,OAAS,EAAG,CACrB,IAAME,EAAWF,EAAO,IAAI,MAAOC,GAAe,CAChD,GAAI,CACF,IAAMV,EAAO,MAAMN,EAAagB,CAAE,EAAE,OAAO,EACrCZ,EAAc,CAClB,GAAIE,EAAK,GACT,IAAKA,EAAK,IACV,KAAMA,EAAK,IACb,EACA,OAAAQ,EAAM,IAAIE,EAAIZ,CAAW,EAClBA,CACT,MAAE,CACA,IAAMc,EAAW,CAAE,GAAAF,EAAI,IAAK,EAAG,EAC/B,OAAAF,EAAM,IAAIE,EAAIE,CAAQ,EACfA,CACT,CACF,CAAC,EACD,MAAM,QAAQ,IAAID,CAAQ,EAG5B,IAAME,EAAUN,EAAU,IAAIG,GAAMF,EAAM,IAAIE,CAAE,CAAE,EAClDL,EAAgBQ,CAAO,CACzB,MAAE,CACAR,EAAgBF,EAAa,IAAKO,IAAgB,CAAE,GAAAA,EAAI,IAAK,EAAG,EAAE,CAAC,CACrE,CACF,GACW,CACb,EAAG,CAACP,EAAcT,CAAY,CAAC,EA8BxB,CACL,aAAAS,EACA,aAAAC,EACA,kBA/ByBU,GAAyB,CAClD,IAAML,EAASK,EAAM,IAAId,GAAQA,EAAK,EAAE,EAClCe,EAAa,CAAC,GAAG,IAAI,IAAI,CAAC,GAAGZ,EAAc,GAAGM,CAAM,CAAC,CAAC,EAC5Dd,EAASF,EAAMsB,EAAY,CACzB,eAAgB,GAChB,YAAa,EACf,CAAC,CACH,EAyBE,aAvBoBf,GAA0B,CAC9C,GAAI,CAACA,EAAM,OACX,IAAMe,EAAaZ,EAAa,OAAQO,GAAeA,IAAOV,EAAK,EAAE,EACrEL,EAASF,EAAMsB,EAAY,CACzB,eAAgB,GAChB,YAAa,EACf,CAAC,CACH,EAiBE,cAfoB,CAACC,EAAkBC,IAAqB,CAC5D,IAAMR,EAAS,CAAC,GAAGN,CAAY,EACzB,CAACe,CAAO,EAAIT,EAAO,OAAOO,EAAU,CAAC,EAC3CP,EAAO,OAAOQ,EAAU,EAAGC,CAAO,EAClCvB,EAASF,EAAMgB,EAAQ,CACrB,eAAgB,GAChB,YAAa,EACf,CAAC,CACH,CAQA,CACF,EDjFQ,cAAAU,MAAA,oBAvBR,IAAMC,EAAe,CAAC,CACpB,KAAA3B,EACA,MAAA4B,EACA,oBAAAC,EACA,aAAA5B,EACA,cAAA6B,EACA,YAAAC,EAAc,EACd,WAAAC,EAAa,GACb,QAAAC,EAAU,QACV,GAAGC,CACL,IAAkC,CAChC,GAAM,CAAE,QAAAC,CAAQ,EAAIzC,EAAe,EAC7B,CAAE,YAAAW,EAAa,iBAAA+B,EAAkB,aAAAC,CAAa,EAAItC,EACtDC,EACAC,CACF,EAEA,OACEyB,EAACjC,EAAA,CACC,KAAMO,EACN,QAASmC,EACT,MAAOP,EACP,OAAQ,CAAC,CAAE,WAAY,CAAE,MAAAU,CAAM,CAAE,IAC/BZ,EAACa,EAAA,CACC,KAAMvC,EACN,YAAaK,EACb,oBAAqBwB,EACrB,aAAcO,EACd,SAAUN,EAAgB,OAAYO,EACtC,YAAaN,EACb,WAAYC,EACZ,QAASC,EACT,MAAOK,GAAO,QACb,GAAGJ,EACN,EAEJ,CAEJ,EAEOM,EAAQb,EE/Ef,OAAS,cAAAlC,EAAY,kBAAAC,MAAsB,kBA6DnC,cAAAgC,MAAA,oBAnBR,IAAMe,EAAkB,CAAC,CACvB,KAAAzC,EACA,MAAA4B,EACA,oBAAAC,EACA,aAAA5B,EACA,cAAA6B,EACA,eAAAY,EACA,GAAGR,CACL,IAAgC,CAC9B,GAAM,CAAE,QAAAC,CAAQ,EAAIzC,EAAe,EAC7B,CAAE,aAAAiB,EAAc,kBAAAgC,EAAmB,aAAAN,EAAc,cAAAO,CAAc,EACnEpC,EAAmBR,EAAMC,CAAY,EAEvC,OACEyB,EAACjC,EAAA,CACC,KAAMO,EACN,QAASmC,EACT,MAAOP,EACP,OAAQ,CAAC,CAAE,WAAY,CAAE,MAAAU,CAAM,CAAE,IAC/BZ,EAACmB,EAAA,CACC,KAAM7C,EACN,aAAcW,EACd,oBAAqBkB,EACrB,cAAec,EACf,SAAUb,EAAgB,OAAYO,EACtC,UAAWK,EAAiB,OAAYE,EACxC,MAAON,GAAO,QACb,GAAGJ,EACN,EAEJ,CAEJ,EAEOY,EAAQL,EC5Ef,OAAS,cAAAhD,EAAY,kBAAAC,MAAsB,kBA6DnC,cAAAgC,MAAA,oBAnBR,IAAMqB,EAAmB,CAAC,CACxB,KAAA/C,EACA,MAAA4B,EACA,oBAAAC,EACA,aAAA5B,EACA,cAAA6B,EACA,eAAAY,EACA,GAAGR,CACL,IAAiC,CAC/B,GAAM,CAAE,QAAAC,CAAQ,EAAIzC,EAAe,EAC7B,CAAE,aAAAiB,EAAc,kBAAAgC,EAAmB,aAAAN,EAAc,cAAAO,CAAc,EACnEpC,EAAmBR,EAAMC,CAAY,EAEvC,OACEyB,EAACjC,EAAA,CACC,KAAMO,EACN,QAASmC,EACT,MAAOP,EACP,OAAQ,CAAC,CAAE,WAAY,CAAE,MAAAU,CAAM,CAAE,IAC/BZ,EAACsB,EAAA,CACC,KAAMhD,EACN,aAAcW,EACd,oBAAqBkB,EACrB,cAAec,EACf,SAAUb,EAAgB,OAAYO,EACtC,UAAWK,EAAiB,OAAYE,EACxC,MAAON,GAAO,QACb,GAAGJ,EACN,EAEJ,CAEJ,EAEOe,EAAQF,EC5Ef,OAAS,cAAAtD,EAAY,kBAAAC,MAAsB,kBA8DnC,cAAAgC,MAAA,oBApBR,IAAMwB,EAAmB,CAAC,CACxB,KAAAlD,EACA,MAAA4B,EACA,oBAAAC,EACA,aAAA5B,EACA,cAAA6B,EACA,GAAGI,CACL,IAAiC,CAC/B,GAAM,CAAE,QAAAC,CAAQ,EAAIzC,EAAe,EAC7B,CAAE,YAAAW,EAAa,iBAAA+B,EAAkB,aAAAC,CAAa,EAAItC,EACtDC,EACAC,CACF,EAEA,OACEyB,EAACjC,EAAA,CACC,KAAMO,EACN,QAASmC,EACT,MAAOP,EACP,OAAQ,CAAC,CAAE,WAAY,CAAE,MAAAU,CAAM,CAAE,IAC/BZ,EAACyB,EAAA,CACC,KAAMnD,EACN,YAAaK,EACb,oBAAqBwB,EACrB,aAAcO,EACd,SAAUN,EAAgB,OAAYO,EACtC,MAAOC,GAAO,QACb,GAAGJ,EACN,EAEJ,CAEJ,EAEOiB,EAAQD,EC5Ef,OAAS,cAAAzD,EAAY,kBAAAC,OAAsB,kBA+DnC,cAAAgC,MAAA,oBArBR,IAAM0B,GAAoB,CAAC,CACzB,KAAApD,EACA,MAAA4B,EACA,oBAAAC,EACA,aAAA5B,EACA,cAAA6B,EACA,SAAAuB,EACA,GAAGnB,CACL,IAAkC,CAChC,GAAM,CAAE,QAAAC,CAAQ,EAAIzC,GAAe,EAC7B,CAAE,YAAAW,EAAa,iBAAA+B,EAAkB,aAAAC,CAAa,EAAItC,EACtDC,EACAC,CACF,EAEA,OACEyB,EAACjC,EAAA,CACC,KAAMO,EACN,QAASmC,EACT,MAAOP,EACP,OAAQ,CAAC,CAAE,WAAY,CAAE,MAAAU,CAAM,CAAE,IAC/BZ,EAACa,EAAA,CACC,KAAMvC,EACN,YAAaK,EACb,oBAAqBwB,EACrB,aAAcO,EACd,SAAUN,EAAgB,OAAYO,EACtC,MAAOC,GAAO,QACd,SAAUe,EACT,GAAGnB,EACN,EAEJ,CAEJ,EAEOK,GAAQa","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,9 +1,8 @@
|
|
|
1
|
-
import { a } from '../../../chunk-
|
|
1
|
+
import { a } from '../../../chunk-U653Z4YN.js';
|
|
2
2
|
import '../../../chunk-KIWSLR76.js';
|
|
3
3
|
import '../../../chunk-OF6623HG.js';
|
|
4
|
-
import '../../../chunk-
|
|
4
|
+
import '../../../chunk-GC7GAEFE.js';
|
|
5
5
|
import '../../../chunk-TC4DDJSR.js';
|
|
6
|
-
import '../../../chunk-DJ22BFQ5.js';
|
|
7
6
|
import { useFormContext, Controller } from 'react-hook-form';
|
|
8
7
|
import { jsx } from 'react/jsx-runtime';
|
|
9
8
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/form/Incrementer/index.tsx"],"names":["Controller","useFormContext","jsx","Incrementer","name","helperText","rules","other","control","ref","value","field","error","Incrementer_default"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/form/Incrementer/index.tsx"],"names":["Controller","useFormContext","jsx","Incrementer","name","helperText","rules","other","control","ref","value","field","error","Incrementer_default"],"mappings":"2LAAA,OAAS,cAAAA,EAAY,kBAAAC,MAAsB,kBAmBnC,cAAAC,MAAA,oBAdR,IAAMC,EAAc,CAAC,CACnB,KAAAC,EACA,WAAAC,EACA,MAAAC,EACA,GAAGC,CACL,IAAwB,CACtB,GAAM,CAAE,QAAAC,CAAQ,EAAIP,EAAe,EAEnC,OACEC,EAACF,EAAA,CACC,KAAMI,EACN,QAASI,EACT,MAAOF,EACP,OAAQ,CAAC,CAAE,MAAO,CAAE,IAAAG,EAAK,MAAAC,EAAO,GAAGC,CAAM,EAAG,WAAY,CAAE,MAAAC,CAAM,CAAE,IAChEV,EAACW,EAAA,CACC,MAAOH,EACP,SAAUD,EACV,UAAS,GACT,MAAO,CAAC,CAACG,EACT,WAAYA,GAAO,SAAWP,EAC9B,uBAAsBD,EACrB,GAAGG,EACH,GAAGI,EACJ,KAAMP,EACR,EAEJ,CAEJ,EAEOS,EAAQV","sourcesContent":["import { Controller, useFormContext } from 'react-hook-form';\n\nimport IncrementerComponent from 'components/Incrementer';\nimport { IncrementerProps } from 'types/incrementerProps';\n\nconst Incrementer = ({\n name,\n helperText,\n rules,\n ...other\n}: IncrementerProps) => {\n const { control } = useFormContext();\n\n return (\n <Controller\n name={name}\n control={control}\n rules={rules}\n render={({ field: { ref, value, ...field }, fieldState: { error } }) => (\n <IncrementerComponent\n value={value}\n inputRef={ref}\n fullWidth\n error={!!error}\n helperText={error?.message || helperText}\n data-intercom-target={name}\n {...other}\n {...field}\n name={name}\n />\n )}\n />\n );\n};\n\nexport default Incrementer;\n"]}
|