@zydon/common 2.7.51 → 2.7.53

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.
Files changed (154) hide show
  1. package/dist/{chunk-XHF2SL6S.js → chunk-6FZ26WXU.js} +6 -6
  2. package/dist/{chunk-X2HGRULG.js → chunk-AQV2PEBQ.js} +3 -3
  3. package/dist/{chunk-25GGAJIV.js → chunk-BLMNSRNS.js} +2 -2
  4. package/dist/chunk-CFNATBO2.js +7 -0
  5. package/dist/chunk-CFNATBO2.js.map +1 -0
  6. package/dist/{chunk-BPJ7GVOR.js → chunk-CU7PKEY2.js} +2 -2
  7. package/dist/{chunk-BPJ7GVOR.js.map → chunk-CU7PKEY2.js.map} +1 -1
  8. package/dist/{chunk-2524OVV6.js → chunk-ESUU2GHD.js} +2 -2
  9. package/dist/{chunk-6TMIYG63.js → chunk-GC7GAEFE.js} +3 -3
  10. package/dist/chunk-GC7GAEFE.js.map +1 -0
  11. package/dist/chunk-GTMH7NKR.js +13 -0
  12. package/dist/chunk-GTMH7NKR.js.map +1 -0
  13. package/dist/{chunk-PLXUUM33.js → chunk-I2JQIMEJ.js} +2 -2
  14. package/dist/{chunk-NJJWOJLT.js → chunk-JBPWWO5D.js} +2 -2
  15. package/dist/{chunk-4MVBWAWQ.js → chunk-K5EVTJEW.js} +2 -2
  16. package/dist/{chunk-LQVCEUFL.js → chunk-KFHRIKEC.js} +2 -2
  17. package/dist/{chunk-J3GVKMCT.js → chunk-LOF5K56U.js} +2 -2
  18. package/dist/{chunk-IEPTT6EI.js → chunk-LVRSRXV2.js} +3 -3
  19. package/dist/{chunk-TXVE3IW4.js → chunk-QN4YPUG7.js} +3 -3
  20. package/dist/{chunk-GEPXVVMR.js → chunk-QXEYILV5.js} +2 -2
  21. package/dist/{chunk-NFVYPXDX.js → chunk-TBUIZEOJ.js} +2 -2
  22. package/dist/{chunk-STHKS4YB.js → chunk-TVJ5V5AM.js} +2 -2
  23. package/dist/{chunk-DNPDZIWO.js → chunk-U2MD645A.js} +4 -4
  24. package/dist/{chunk-MBM7HUCW.js → chunk-U653Z4YN.js} +2 -2
  25. package/dist/{chunk-PYQCXJZL.js → chunk-VYANDAEH.js} +2 -2
  26. package/dist/{chunk-KMEY3QEG.js → chunk-WJK6CE54.js} +2 -2
  27. package/dist/chunk-YBFLHTQK.js +27 -0
  28. package/dist/chunk-YBFLHTQK.js.map +1 -0
  29. package/dist/components/ActionButton/index.js +2 -3
  30. package/dist/components/Autocomplete/index.js +2 -3
  31. package/dist/components/AvatarButton/index.js +3 -4
  32. package/dist/components/AvatarButton/index.js.map +1 -1
  33. package/dist/components/BuilderLayout/index.js +2 -3
  34. package/dist/components/BuilderLayout/index.js.map +1 -1
  35. package/dist/components/BuilderSidebar/index.js +1 -2
  36. package/dist/components/BuilderSidebar/index.js.map +1 -1
  37. package/dist/components/CardBrand/index.js +1 -2
  38. package/dist/components/CardBrand/index.js.map +1 -1
  39. package/dist/components/Common/index.js +3 -4
  40. package/dist/components/Common/index.js.map +1 -1
  41. package/dist/components/CopyButton/index.d.ts +12 -0
  42. package/dist/components/CopyButton/index.js +8 -0
  43. package/dist/components/DataCards/index.js +1 -1
  44. package/dist/components/DataGrid/index.js +2 -2
  45. package/dist/components/DataView/index.d.ts +11 -4
  46. package/dist/components/DataView/index.js +12 -26
  47. package/dist/components/DataView/index.js.map +1 -1
  48. package/dist/components/DragButton/index.js +2 -3
  49. package/dist/components/Drawer/index.js +1 -2
  50. package/dist/components/Drawer/index.js.map +1 -1
  51. package/dist/components/DynamicDataView/index.d.ts +114 -0
  52. package/dist/components/DynamicDataView/index.js +34 -0
  53. package/dist/components/DynamicDataView/index.js.map +1 -0
  54. package/dist/components/EasyCropModal/index.js +3 -4
  55. package/dist/components/Error/index.js +1 -2
  56. package/dist/components/Error/index.js.map +1 -1
  57. package/dist/components/ExpandableGroup/index.js +1 -2
  58. package/dist/components/ExpandableGroup/index.js.map +1 -1
  59. package/dist/components/FileUpload/index.js +8 -9
  60. package/dist/components/FrameSkeleton/index.js +1 -2
  61. package/dist/components/FrameSkeleton/index.js.map +1 -1
  62. package/dist/components/HelpButton/index.js +2 -3
  63. package/dist/components/Icon/index.js +1 -2
  64. package/dist/components/IconButton/index.js +2 -3
  65. package/dist/components/ImageCropModal/index.js +3 -4
  66. package/dist/components/Incrementer/index.js +2 -3
  67. package/dist/components/InfoCircle/index.js +1 -2
  68. package/dist/components/InfoCircle/index.js.map +1 -1
  69. package/dist/components/ListBundles/index.js +2 -3
  70. package/dist/components/ListBundles/index.js.map +1 -1
  71. package/dist/components/MenuItem/index.js +1 -2
  72. package/dist/components/MenuItem/index.js.map +1 -1
  73. package/dist/components/Modal/index.js +2 -3
  74. package/dist/components/MoreMenu/index.d.ts +4 -1
  75. package/dist/components/MoreMenu/index.js +7 -8
  76. package/dist/components/MoreMenu/index.js.map +1 -1
  77. package/dist/components/PageHeader/index.d.ts +13 -0
  78. package/dist/components/PageHeader/index.js +10 -0
  79. package/dist/components/PageHeader/index.js.map +1 -0
  80. package/dist/components/PasswordRules/index.js +1 -2
  81. package/dist/components/PasswordRules/index.js.map +1 -1
  82. package/dist/components/PopoverSelect/index.js +1 -2
  83. package/dist/components/PopoverSelect/index.js.map +1 -1
  84. package/dist/components/SearchInput/index.js +2 -3
  85. package/dist/components/SelectableCards/index.js +3 -4
  86. package/dist/components/SeoPreview/index.js +1 -2
  87. package/dist/components/SeoPreview/index.js.map +1 -1
  88. package/dist/components/StateDisplay/index.js +2 -3
  89. package/dist/components/Steps/index.js +1 -2
  90. package/dist/components/Steps/index.js.map +1 -1
  91. package/dist/components/StyledTab/index.js +1 -2
  92. package/dist/components/StyledTab/index.js.map +1 -1
  93. package/dist/components/SwapList/index.js +2 -3
  94. package/dist/components/SwapList/index.js.map +1 -1
  95. package/dist/components/ToggleTheme/index.js +2 -2
  96. package/dist/components/WebhookCard/index.js +1 -2
  97. package/dist/components/WebhookCard/index.js.map +1 -1
  98. package/dist/components/carousel/index.js +2 -3
  99. package/dist/components/form/Address/index.js +3 -4
  100. package/dist/components/form/Address/index.js.map +1 -1
  101. package/dist/components/form/Autocomplete/index.js +3 -4
  102. package/dist/components/form/FileUpload/index.js +8 -9
  103. package/dist/components/form/FileUpload/index.js.map +1 -1
  104. package/dist/components/form/Incrementer/index.js +2 -3
  105. package/dist/components/form/Incrementer/index.js.map +1 -1
  106. package/dist/components/form/Password/index.js +1 -2
  107. package/dist/components/form/Password/index.js.map +1 -1
  108. package/dist/components/form/SelectableCards/index.js +3 -4
  109. package/dist/components/form/SelectableCards/index.js.map +1 -1
  110. package/dist/components/form/UploadAvatarWithCrop/index.js +4 -5
  111. package/dist/components/form/UploadAvatarWithCrop/index.js.map +1 -1
  112. package/dist/components/form/UploadWithCrop/index.js +6 -7
  113. package/dist/components/form/UploadWithCrop/index.js.map +1 -1
  114. package/dist/components/form/Webhook/index.js +4 -5
  115. package/dist/components/form/Webhook/index.js.map +1 -1
  116. package/dist/components/lightbox/index.js +1 -2
  117. package/dist/components/lightbox/index.js.map +1 -1
  118. package/dist/components/table/index.js +2 -3
  119. package/dist/components/table/index.js.map +1 -1
  120. package/dist/components/upload/index.js +7 -8
  121. package/dist/components/upload/index.js.map +1 -1
  122. package/dist/contexts/PushNotifications/index.js +1 -1
  123. package/dist/contexts/PushNotifications/index.js.map +1 -1
  124. package/dist/hooks/useCopyToClipboard.js +1 -5
  125. package/dist/hooks/useCopyToClipboard.js.map +1 -1
  126. package/dist/hooks/useThemeToggle.js +2 -2
  127. package/dist/index.js +2 -2
  128. package/dist/theme/theme-provider.js +2 -2
  129. package/dist/types/entityMetadata.d.ts +30 -0
  130. package/dist/types/entityMetadata.js +3 -0
  131. package/dist/types/entityMetadata.js.map +1 -0
  132. package/dist/types/iconProps.js +1 -1
  133. package/package.json +1 -1
  134. package/dist/chunk-6TMIYG63.js.map +0 -1
  135. package/dist/chunk-DJ22BFQ5.js +0 -3
  136. /package/dist/{chunk-XHF2SL6S.js.map → chunk-6FZ26WXU.js.map} +0 -0
  137. /package/dist/{chunk-X2HGRULG.js.map → chunk-AQV2PEBQ.js.map} +0 -0
  138. /package/dist/{chunk-25GGAJIV.js.map → chunk-BLMNSRNS.js.map} +0 -0
  139. /package/dist/{chunk-2524OVV6.js.map → chunk-ESUU2GHD.js.map} +0 -0
  140. /package/dist/{chunk-PLXUUM33.js.map → chunk-I2JQIMEJ.js.map} +0 -0
  141. /package/dist/{chunk-NJJWOJLT.js.map → chunk-JBPWWO5D.js.map} +0 -0
  142. /package/dist/{chunk-4MVBWAWQ.js.map → chunk-K5EVTJEW.js.map} +0 -0
  143. /package/dist/{chunk-LQVCEUFL.js.map → chunk-KFHRIKEC.js.map} +0 -0
  144. /package/dist/{chunk-J3GVKMCT.js.map → chunk-LOF5K56U.js.map} +0 -0
  145. /package/dist/{chunk-IEPTT6EI.js.map → chunk-LVRSRXV2.js.map} +0 -0
  146. /package/dist/{chunk-TXVE3IW4.js.map → chunk-QN4YPUG7.js.map} +0 -0
  147. /package/dist/{chunk-GEPXVVMR.js.map → chunk-QXEYILV5.js.map} +0 -0
  148. /package/dist/{chunk-NFVYPXDX.js.map → chunk-TBUIZEOJ.js.map} +0 -0
  149. /package/dist/{chunk-STHKS4YB.js.map → chunk-TVJ5V5AM.js.map} +0 -0
  150. /package/dist/{chunk-DNPDZIWO.js.map → chunk-U2MD645A.js.map} +0 -0
  151. /package/dist/{chunk-MBM7HUCW.js.map → chunk-U653Z4YN.js.map} +0 -0
  152. /package/dist/{chunk-PYQCXJZL.js.map → chunk-VYANDAEH.js.map} +0 -0
  153. /package/dist/{chunk-KMEY3QEG.js.map → chunk-WJK6CE54.js.map} +0 -0
  154. /package/dist/{chunk-DJ22BFQ5.js.map → components/CopyButton/index.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/locales/localization-provider.tsx","../../../src/components/animate/motion-lazy.tsx","../../../src/components/snackbar/snackbar.tsx","../../../src/components/snackbar/classes.ts","../../../src/components/snackbar/styles.tsx","../../../src/components/Common/index.tsx"],"names":["dayjs","AdapterDayjs","Provider","jsx","LocalizationProvider","children","localization_provider_default","domMax","LazyMotion","MotionLazy","Portal","toasterClasses","styled","Toaster","StyledToaster","theme","baseStyles","loadingStyles","varAlpha","Snackbar","Icon_default","jsxs","Common","primaryColor","colorScheme","contrast","cssVarPrefix","snackbar","storageKey","theme_provider_default","Common_default"],"mappings":"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","sourcesContent":["// eslint-disable-next-line simple-import-sort/imports\nimport 'dayjs/locale/pt-br';\nimport dayjs from 'dayjs';\n\nimport { PropsWithChildren } from 'react';\nimport { AdapterDayjs } from '@mui/x-date-pickers-pro/AdapterDayjs';\nimport { LocalizationProvider as Provider } from '@mui/x-date-pickers-pro/LocalizationProvider';\n\nconst LocalizationProvider = ({ children }: PropsWithChildren) => {\n dayjs.locale('pt-br');\n\n return (\n <Provider dateAdapter={AdapterDayjs} adapterLocale=\"pt-br\">\n {children}\n </Provider>\n );\n};\n\nexport default LocalizationProvider;\n","import { domMax, LazyMotion } from 'framer-motion';\n\n// ----------------------------------------------------------------------\n\ntype Props = {\n children: React.ReactNode;\n};\n\nexport const MotionLazy = ({ children }: Props) => {\n return (\n <LazyMotion strict features={domMax}>\n {children}\n </LazyMotion>\n );\n};\n","import Portal from '@mui/material/Portal';\n\nimport Icon from 'components/Icon';\n\nimport { toasterClasses } from './classes';\nimport { StyledToaster } from './styles';\n\nexport const Snackbar = () => {\n return (\n <Portal\n container={\n typeof window !== 'undefined'\n ? document.getElementById('snackbar-container-provider')\n : null\n }\n >\n <StyledToaster\n expand\n gap={12}\n closeButton\n offset={16}\n visibleToasts={4}\n position=\"top-right\"\n className={toasterClasses.root}\n toastOptions={{\n unstyled: true,\n classNames: {\n toast: toasterClasses.toast,\n icon: toasterClasses.icon,\n // content\n content: toasterClasses.content,\n title: toasterClasses.title,\n description: toasterClasses.description,\n // button\n actionButton: toasterClasses.actionButton,\n cancelButton: toasterClasses.cancelButton,\n closeButton: toasterClasses.closeButton,\n // state\n default: toasterClasses.default,\n info: toasterClasses.info,\n error: toasterClasses.error,\n success: toasterClasses.success,\n warning: toasterClasses.warning,\n },\n }}\n icons={{\n loading: <span className={toasterClasses.loadingIcon} />,\n info: <Icon className={toasterClasses.iconSvg} icon=\"INFO_CIRCLE\" />,\n success: (\n <Icon className={toasterClasses.iconSvg} icon=\"CHECK_CIRCLE\" />\n ),\n warning: (\n <Icon className={toasterClasses.iconSvg} icon=\"WARNING_TRIANGULE\" />\n ),\n error: (\n <Icon className={toasterClasses.iconSvg} icon=\"ALERT_CIRCLE\" />\n ),\n }}\n />\n </Portal>\n );\n};\n","export const toasterClasses = {\n root: 'toaster__root',\n toast: 'toaster__toast',\n title: 'toaster__title',\n icon: 'toaster__icon',\n iconSvg: 'toaster__icon__svg',\n content: 'toaster__content',\n description: 'toaster__description',\n actionButton: 'toaster__action__button',\n cancelButton: 'toaster__cancel__button',\n closeButton: 'toaster__close_button',\n loadingIcon: 'toaster__loading_icon',\n //\n default: 'toaster__default',\n error: 'toaster__error',\n success: 'toaster__success',\n warning: 'toaster__warning',\n info: 'toaster__info',\n //\n loader: 'sonner-loader',\n loaderVisible: '&[data-visible=\"true\"]',\n closeBtnVisible: '[data-close-button=\"true\"]',\n};\n","import { styled } from '@mui/material/styles';\nimport { Toaster } from 'sonner';\n\nimport { varAlpha } from 'theme/styles';\n\nimport { toasterClasses } from './classes';\n\nexport const StyledToaster = styled(Toaster)(({ theme }) => {\n const baseStyles = {\n toastDefault: {\n padding: theme.spacing(1, 1, 1, 1.5),\n boxShadow: theme.customShadows.z8,\n color: theme.vars.palette.background.paper,\n backgroundColor: theme.vars.palette.text.primary,\n },\n toastColor: {\n padding: theme.spacing(0.5, 1, 0.5, 0.5),\n boxShadow: theme.customShadows.z8,\n color: theme.vars.palette.text.primary,\n backgroundColor: theme.vars.palette.background.paper,\n },\n toastLoader: {\n padding: theme.spacing(0.5, 1, 0.5, 0.5),\n boxShadow: theme.customShadows.z8,\n color: theme.vars.palette.text.primary,\n backgroundColor: theme.vars.palette.background.paper,\n },\n };\n\n const loadingStyles = {\n top: 0,\n left: 0,\n width: '100%',\n height: '100%',\n display: 'none',\n transform: 'none',\n overflow: 'hidden',\n alignItems: 'center',\n position: 'relative',\n borderRadius: 'inherit',\n justifyContent: 'center',\n background: theme.vars.palette.background.neutral,\n [`& .${toasterClasses.loadingIcon}`]: {\n zIndex: 9,\n width: 24,\n height: 24,\n borderRadius: '50%',\n animation: 'rotate 3s infinite linear',\n background: `conic-gradient(${varAlpha(theme.vars.palette.text.primaryChannel, 0)}, ${varAlpha(theme.vars.palette.text.disabledChannel, 0.64)})`,\n },\n [toasterClasses.loaderVisible]: { display: 'flex' },\n };\n\n return {\n width: 300,\n [`& .${toasterClasses.toast}`]: {\n gap: 12,\n width: '100%',\n minHeight: 52,\n display: 'flex',\n borderRadius: 12,\n alignItems: 'center',\n },\n /*\n * Content\n */\n [`& .${toasterClasses.content}`]: {\n gap: 0,\n flex: '1 1 auto',\n },\n [`& .${toasterClasses.title}`]: {\n fontSize: theme.typography.subtitle2.fontSize,\n },\n [`& .${toasterClasses.description}`]: {\n ...theme.typography.caption,\n opacity: 0.64,\n },\n /*\n * Buttons\n */\n [`& .${toasterClasses.actionButton}`]: {},\n [`& .${toasterClasses.cancelButton}`]: {},\n [`& .${toasterClasses.closeButton}`]: {\n top: 0,\n right: 0,\n left: 'auto',\n color: 'currentColor',\n backgroundColor: 'transparent',\n transform: 'translate(-6px, 6px)',\n borderColor: varAlpha(theme.vars.palette.grey['500Channel'], 0.16),\n transition: theme.transitions.create([\n 'background-color',\n 'border-color',\n ]),\n '&:hover': {\n borderColor: varAlpha(theme.vars.palette.grey['500Channel'], 0.24),\n backgroundColor: varAlpha(theme.vars.palette.grey['500Channel'], 0.08),\n },\n },\n /*\n * Icon\n */\n [`& .${toasterClasses.icon}`]: {\n margin: 0,\n width: 48,\n height: 48,\n alignItems: 'center',\n borderRadius: 'inherit',\n justifyContent: 'center',\n alignSelf: 'flex-start',\n [`& .${toasterClasses.iconSvg}`]: {\n width: 24,\n height: 24,\n fontSize: 0,\n },\n },\n\n /*\n * Default\n */\n '@keyframes rotate': { to: { transform: 'rotate(1turn)' } },\n\n [`& .${toasterClasses.default}`]: {\n ...baseStyles.toastDefault,\n [`&:has(${toasterClasses.closeBtnVisible})`]: {\n [`& .${toasterClasses.content}`]: {\n paddingRight: 32,\n },\n },\n [`&:has(.${toasterClasses.loader})`]: baseStyles.toastLoader,\n /*\n * With loader\n */\n [`&:has(.${toasterClasses.loader})`]: baseStyles.toastLoader,\n [`& .${toasterClasses.loader}`]: loadingStyles,\n },\n /*\n * Error\n */\n [`& .${toasterClasses.error}`]: {\n ...baseStyles.toastColor,\n [`& .${toasterClasses.icon}`]: {\n color: theme.vars.palette.error.main,\n backgroundColor: varAlpha(theme.vars.palette.error.mainChannel, 0.08),\n },\n },\n /*\n * Success\n */\n [`& .${toasterClasses.success}`]: {\n ...baseStyles.toastColor,\n [`& .${toasterClasses.icon}`]: {\n color: theme.vars.palette.success.main,\n backgroundColor: varAlpha(theme.vars.palette.success.mainChannel, 0.08),\n },\n },\n /*\n * Warning\n */\n [`& .${toasterClasses.warning}`]: {\n ...baseStyles.toastColor,\n [`& .${toasterClasses.icon}`]: {\n color: theme.vars.palette.warning.main,\n backgroundColor: varAlpha(theme.vars.palette.warning.mainChannel, 0.08),\n },\n },\n /*\n * Info\n */\n [`& .${toasterClasses.info}`]: {\n ...baseStyles.toastColor,\n [`& .${toasterClasses.icon}`]: {\n color: theme.vars.palette.info.main,\n backgroundColor: varAlpha(theme.vars.palette.info.mainChannel, 0.08),\n },\n },\n };\n});\n","import { PropsWithChildren } from 'react';\n\nimport ThemeProvider from 'theme/theme-provider';\n\nimport LocalizationProvider from '../../locales/localization-provider';\nimport { MotionLazy } from '../animate/motion-lazy';\nimport { Snackbar } from '../snackbar/snackbar';\n\nimport { CommonProps } from './props';\n\nconst Common = ({\n primaryColor,\n colorScheme = 'light',\n contrast = 'default',\n children,\n cssVarPrefix = 'app',\n snackbar = true,\n storageKey,\n}: PropsWithChildren<CommonProps>) => {\n return (\n <LocalizationProvider>\n <ThemeProvider\n primaryColor={primaryColor}\n colorScheme={colorScheme}\n contrast={contrast}\n cssVarPrefix={cssVarPrefix}\n storageKey={storageKey}\n >\n <MotionLazy>\n {children}\n {snackbar && <Snackbar />}\n </MotionLazy>\n </ThemeProvider>\n </LocalizationProvider>\n );\n};\n\nCommon.displayName = 'Common';\n\nexport default Common;\n"]}
1
+ {"version":3,"sources":["../../../src/locales/localization-provider.tsx","../../../src/components/animate/motion-lazy.tsx","../../../src/components/snackbar/snackbar.tsx","../../../src/components/snackbar/classes.ts","../../../src/components/snackbar/styles.tsx","../../../src/components/Common/index.tsx"],"names":["dayjs","AdapterDayjs","Provider","jsx","LocalizationProvider","children","localization_provider_default","domMax","LazyMotion","MotionLazy","Portal","toasterClasses","styled","Toaster","StyledToaster","theme","baseStyles","loadingStyles","varAlpha","Snackbar","Icon_default","jsxs","Common","primaryColor","colorScheme","contrast","cssVarPrefix","snackbar","storageKey","theme_provider_default","Common_default"],"mappings":"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","sourcesContent":["// eslint-disable-next-line simple-import-sort/imports\nimport 'dayjs/locale/pt-br';\nimport dayjs from 'dayjs';\n\nimport { PropsWithChildren } from 'react';\nimport { AdapterDayjs } from '@mui/x-date-pickers-pro/AdapterDayjs';\nimport { LocalizationProvider as Provider } from '@mui/x-date-pickers-pro/LocalizationProvider';\n\nconst LocalizationProvider = ({ children }: PropsWithChildren) => {\n dayjs.locale('pt-br');\n\n return (\n <Provider dateAdapter={AdapterDayjs} adapterLocale=\"pt-br\">\n {children}\n </Provider>\n );\n};\n\nexport default LocalizationProvider;\n","import { domMax, LazyMotion } from 'framer-motion';\n\n// ----------------------------------------------------------------------\n\ntype Props = {\n children: React.ReactNode;\n};\n\nexport const MotionLazy = ({ children }: Props) => {\n return (\n <LazyMotion strict features={domMax}>\n {children}\n </LazyMotion>\n );\n};\n","import Portal from '@mui/material/Portal';\n\nimport Icon from 'components/Icon';\n\nimport { toasterClasses } from './classes';\nimport { StyledToaster } from './styles';\n\nexport const Snackbar = () => {\n return (\n <Portal\n container={\n typeof window !== 'undefined'\n ? document.getElementById('snackbar-container-provider')\n : null\n }\n >\n <StyledToaster\n expand\n gap={12}\n closeButton\n offset={16}\n visibleToasts={4}\n position=\"top-right\"\n className={toasterClasses.root}\n toastOptions={{\n unstyled: true,\n classNames: {\n toast: toasterClasses.toast,\n icon: toasterClasses.icon,\n // content\n content: toasterClasses.content,\n title: toasterClasses.title,\n description: toasterClasses.description,\n // button\n actionButton: toasterClasses.actionButton,\n cancelButton: toasterClasses.cancelButton,\n closeButton: toasterClasses.closeButton,\n // state\n default: toasterClasses.default,\n info: toasterClasses.info,\n error: toasterClasses.error,\n success: toasterClasses.success,\n warning: toasterClasses.warning,\n },\n }}\n icons={{\n loading: <span className={toasterClasses.loadingIcon} />,\n info: <Icon className={toasterClasses.iconSvg} icon=\"INFO_CIRCLE\" />,\n success: (\n <Icon className={toasterClasses.iconSvg} icon=\"CHECK_CIRCLE\" />\n ),\n warning: (\n <Icon className={toasterClasses.iconSvg} icon=\"WARNING_TRIANGULE\" />\n ),\n error: (\n <Icon className={toasterClasses.iconSvg} icon=\"ALERT_CIRCLE\" />\n ),\n }}\n />\n </Portal>\n );\n};\n","export const toasterClasses = {\n root: 'toaster__root',\n toast: 'toaster__toast',\n title: 'toaster__title',\n icon: 'toaster__icon',\n iconSvg: 'toaster__icon__svg',\n content: 'toaster__content',\n description: 'toaster__description',\n actionButton: 'toaster__action__button',\n cancelButton: 'toaster__cancel__button',\n closeButton: 'toaster__close_button',\n loadingIcon: 'toaster__loading_icon',\n //\n default: 'toaster__default',\n error: 'toaster__error',\n success: 'toaster__success',\n warning: 'toaster__warning',\n info: 'toaster__info',\n //\n loader: 'sonner-loader',\n loaderVisible: '&[data-visible=\"true\"]',\n closeBtnVisible: '[data-close-button=\"true\"]',\n};\n","import { styled } from '@mui/material/styles';\nimport { Toaster } from 'sonner';\n\nimport { varAlpha } from 'theme/styles';\n\nimport { toasterClasses } from './classes';\n\nexport const StyledToaster = styled(Toaster)(({ theme }) => {\n const baseStyles = {\n toastDefault: {\n padding: theme.spacing(1, 1, 1, 1.5),\n boxShadow: theme.customShadows.z8,\n color: theme.vars.palette.background.paper,\n backgroundColor: theme.vars.palette.text.primary,\n },\n toastColor: {\n padding: theme.spacing(0.5, 1, 0.5, 0.5),\n boxShadow: theme.customShadows.z8,\n color: theme.vars.palette.text.primary,\n backgroundColor: theme.vars.palette.background.paper,\n },\n toastLoader: {\n padding: theme.spacing(0.5, 1, 0.5, 0.5),\n boxShadow: theme.customShadows.z8,\n color: theme.vars.palette.text.primary,\n backgroundColor: theme.vars.palette.background.paper,\n },\n };\n\n const loadingStyles = {\n top: 0,\n left: 0,\n width: '100%',\n height: '100%',\n display: 'none',\n transform: 'none',\n overflow: 'hidden',\n alignItems: 'center',\n position: 'relative',\n borderRadius: 'inherit',\n justifyContent: 'center',\n background: theme.vars.palette.background.neutral,\n [`& .${toasterClasses.loadingIcon}`]: {\n zIndex: 9,\n width: 24,\n height: 24,\n borderRadius: '50%',\n animation: 'rotate 3s infinite linear',\n background: `conic-gradient(${varAlpha(theme.vars.palette.text.primaryChannel, 0)}, ${varAlpha(theme.vars.palette.text.disabledChannel, 0.64)})`,\n },\n [toasterClasses.loaderVisible]: { display: 'flex' },\n };\n\n return {\n width: 300,\n [`& .${toasterClasses.toast}`]: {\n gap: 12,\n width: '100%',\n minHeight: 52,\n display: 'flex',\n borderRadius: 12,\n alignItems: 'center',\n },\n /*\n * Content\n */\n [`& .${toasterClasses.content}`]: {\n gap: 0,\n flex: '1 1 auto',\n },\n [`& .${toasterClasses.title}`]: {\n fontSize: theme.typography.subtitle2.fontSize,\n },\n [`& .${toasterClasses.description}`]: {\n ...theme.typography.caption,\n opacity: 0.64,\n },\n /*\n * Buttons\n */\n [`& .${toasterClasses.actionButton}`]: {},\n [`& .${toasterClasses.cancelButton}`]: {},\n [`& .${toasterClasses.closeButton}`]: {\n top: 0,\n right: 0,\n left: 'auto',\n color: 'currentColor',\n backgroundColor: 'transparent',\n transform: 'translate(-6px, 6px)',\n borderColor: varAlpha(theme.vars.palette.grey['500Channel'], 0.16),\n transition: theme.transitions.create([\n 'background-color',\n 'border-color',\n ]),\n '&:hover': {\n borderColor: varAlpha(theme.vars.palette.grey['500Channel'], 0.24),\n backgroundColor: varAlpha(theme.vars.palette.grey['500Channel'], 0.08),\n },\n },\n /*\n * Icon\n */\n [`& .${toasterClasses.icon}`]: {\n margin: 0,\n width: 48,\n height: 48,\n alignItems: 'center',\n borderRadius: 'inherit',\n justifyContent: 'center',\n alignSelf: 'flex-start',\n [`& .${toasterClasses.iconSvg}`]: {\n width: 24,\n height: 24,\n fontSize: 0,\n },\n },\n\n /*\n * Default\n */\n '@keyframes rotate': { to: { transform: 'rotate(1turn)' } },\n\n [`& .${toasterClasses.default}`]: {\n ...baseStyles.toastDefault,\n [`&:has(${toasterClasses.closeBtnVisible})`]: {\n [`& .${toasterClasses.content}`]: {\n paddingRight: 32,\n },\n },\n [`&:has(.${toasterClasses.loader})`]: baseStyles.toastLoader,\n /*\n * With loader\n */\n [`&:has(.${toasterClasses.loader})`]: baseStyles.toastLoader,\n [`& .${toasterClasses.loader}`]: loadingStyles,\n },\n /*\n * Error\n */\n [`& .${toasterClasses.error}`]: {\n ...baseStyles.toastColor,\n [`& .${toasterClasses.icon}`]: {\n color: theme.vars.palette.error.main,\n backgroundColor: varAlpha(theme.vars.palette.error.mainChannel, 0.08),\n },\n },\n /*\n * Success\n */\n [`& .${toasterClasses.success}`]: {\n ...baseStyles.toastColor,\n [`& .${toasterClasses.icon}`]: {\n color: theme.vars.palette.success.main,\n backgroundColor: varAlpha(theme.vars.palette.success.mainChannel, 0.08),\n },\n },\n /*\n * Warning\n */\n [`& .${toasterClasses.warning}`]: {\n ...baseStyles.toastColor,\n [`& .${toasterClasses.icon}`]: {\n color: theme.vars.palette.warning.main,\n backgroundColor: varAlpha(theme.vars.palette.warning.mainChannel, 0.08),\n },\n },\n /*\n * Info\n */\n [`& .${toasterClasses.info}`]: {\n ...baseStyles.toastColor,\n [`& .${toasterClasses.icon}`]: {\n color: theme.vars.palette.info.main,\n backgroundColor: varAlpha(theme.vars.palette.info.mainChannel, 0.08),\n },\n },\n };\n});\n","import { PropsWithChildren } from 'react';\n\nimport ThemeProvider from 'theme/theme-provider';\n\nimport LocalizationProvider from '../../locales/localization-provider';\nimport { MotionLazy } from '../animate/motion-lazy';\nimport { Snackbar } from '../snackbar/snackbar';\n\nimport { CommonProps } from './props';\n\nconst Common = ({\n primaryColor,\n colorScheme = 'light',\n contrast = 'default',\n children,\n cssVarPrefix = 'app',\n snackbar = true,\n storageKey,\n}: PropsWithChildren<CommonProps>) => {\n return (\n <LocalizationProvider>\n <ThemeProvider\n primaryColor={primaryColor}\n colorScheme={colorScheme}\n contrast={contrast}\n cssVarPrefix={cssVarPrefix}\n storageKey={storageKey}\n >\n <MotionLazy>\n {children}\n {snackbar && <Snackbar />}\n </MotionLazy>\n </ThemeProvider>\n </LocalizationProvider>\n );\n};\n\nCommon.displayName = 'Common';\n\nexport default Common;\n"]}
@@ -0,0 +1,12 @@
1
+ import * as react from 'react';
2
+ import * as react_jsx_runtime from 'react/jsx-runtime';
3
+
4
+ interface CopyButtonProps {
5
+ label?: string;
6
+ message?: string;
7
+ toCopy: string;
8
+ }
9
+
10
+ declare const _default: react.MemoExoticComponent<({ label, message, toCopy, }: CopyButtonProps) => react_jsx_runtime.JSX.Element>;
11
+
12
+ export { _default as default };
@@ -0,0 +1,8 @@
1
+ export { a as default } from '../../chunk-GTMH7NKR.js';
2
+ import '../../chunk-45OMMG7D.js';
3
+ import '../../chunk-GC7GAEFE.js';
4
+ import '../../chunk-TC4DDJSR.js';
5
+ import '../../chunk-62UHO7QG.js';
6
+ import '../../chunk-CFNATBO2.js';
7
+ //# sourceMappingURL=out.js.map
8
+ //# sourceMappingURL=index.js.map
@@ -1,8 +1,8 @@
1
1
  import { c } from '../../chunk-FG2BVR7Y.js';
2
2
  import { a } from '../../chunk-X2NG6VDB.js';
3
- import { a as a$1 } from '../../chunk-6U5LS7MP.js';
4
3
  import { a as a$2 } from '../../chunk-BNBE2OMA.js';
5
4
  import '../../chunk-NIQW2J3M.js';
5
+ import { a as a$1 } from '../../chunk-6U5LS7MP.js';
6
6
  import '../../chunk-GLRLKFPS.js';
7
7
  import ct from '@mui/material/Pagination';
8
8
  import g from '@mui/material/Stack';
@@ -1,7 +1,7 @@
1
- export { a as default } from '../../chunk-NJJWOJLT.js';
2
- import '../../chunk-6U5LS7MP.js';
1
+ export { a as default } from '../../chunk-JBPWWO5D.js';
3
2
  import '../../chunk-BNBE2OMA.js';
4
3
  import '../../chunk-NIQW2J3M.js';
4
+ import '../../chunk-6U5LS7MP.js';
5
5
  import '../../chunk-GLRLKFPS.js';
6
6
  //# sourceMappingURL=out.js.map
7
7
  //# sourceMappingURL=index.js.map
@@ -1,6 +1,6 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import * as react from 'react';
3
- import { ReactNode } from 'react';
3
+ import { ReactNode, Dispatch, SetStateAction } from 'react';
4
4
  import * as _mui_material_Stack from '@mui/material/Stack';
5
5
  import { StackProps } from '@mui/material/Stack';
6
6
  import * as _mui_material_styles from '@mui/material/styles';
@@ -27,12 +27,19 @@ interface DataViewProps extends DataGridProps {
27
27
  searchValue?: string;
28
28
  onSearchChange?: (value: string) => void;
29
29
  hideHeader?: boolean;
30
+ showColumnButton?: boolean;
31
+ }
32
+ interface ToolbarProps {
33
+ setFilterButtonEl: Dispatch<SetStateAction<HTMLButtonElement | null>>;
30
34
  }
31
35
 
32
36
  interface DefaultProps {
33
37
  breakpoint: Breakpoint | number;
34
38
  }
35
- declare const Container: _emotion_styled.StyledComponent<PanelProps & _mui_system.MUIStyledCommonProps<_mui_material_styles.Theme> & DefaultProps, {}, {}>;
39
+ interface ContainerProps extends StackProps {
40
+ breakpoint: Breakpoint | number;
41
+ }
42
+ declare const Container: _emotion_styled.StyledComponent<PanelProps & _mui_system.MUIStyledCommonProps<_mui_material_styles.Theme> & ContainerProps, {}, {}>;
36
43
  declare const Header: _emotion_styled.StyledComponent<_mui_material_Stack.StackOwnProps & _mui_material_OverridableComponent.CommonProps & Omit<Omit<react.DetailedHTMLProps<react.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
37
44
  ref?: ((instance: HTMLDivElement | null) => void) | react.RefObject<HTMLDivElement> | null | undefined;
38
45
  }, keyof _mui_material_OverridableComponent.CommonProps | keyof _mui_material_Stack.StackOwnProps> & _mui_system.MUIStyledCommonProps<_mui_material_styles.Theme> & DefaultProps, {}, {}>;
@@ -58,8 +65,8 @@ declare const DesktopPaginationContainer: _emotion_styled.StyledComponent<_mui_m
58
65
  ref?: ((instance: HTMLDivElement | null) => void) | react.RefObject<HTMLDivElement> | null | undefined;
59
66
  }, keyof _mui_material_OverridableComponent.CommonProps | keyof _mui_material_Stack.StackOwnProps> & _mui_system.MUIStyledCommonProps<_mui_material_styles.Theme>, {}, {}>;
60
67
 
61
- declare const Toolbar: () => react_jsx_runtime.JSX.Element;
68
+ declare const Toolbar: ({ setFilterButtonEl }: ToolbarProps) => react_jsx_runtime.JSX.Element;
62
69
 
63
- declare const DataView: ({ title, headerContent, breakpoint, columns, rows, mobileRender, rowCount, paginationModel, onPaginationChange, actions, moreActions, onAdd, onSearch, searchValue, onSearchChange, slots, slotProps, loading, fetching, containerProps, hideFooter, hideHeader, ...others }: DataViewProps) => react_jsx_runtime.JSX.Element;
70
+ declare const DataView: ({ title, headerContent, breakpoint, columns, rows, mobileRender, rowCount, paginationModel, onPaginationChange, actions, moreActions, onAdd, onSearch, searchValue, onSearchChange, slots, slotProps, loading, fetching, containerProps, hideFooter, hideHeader, showColumnButton, ...others }: DataViewProps) => react_jsx_runtime.JSX.Element;
64
71
 
65
72
  export { ActionsContainer, ActionsDivider, Container, DesktopPaginationContainer, Header, MobilePaginationContainer, SearchContainer, Toolbar, ToolbarActionsDivider, Topbar, DataView as default };
@@ -1,32 +1,18 @@
1
- import { a as a$5 } from '../../chunk-J3GVKMCT.js';
2
- import { a as a$2 } from '../../chunk-IN7SP2ND.js';
3
- import { a as a$6 } from '../../chunk-IJZCVZ32.js';
4
- import { a } from '../../chunk-UVPQR2Q2.js';
5
- import { a as a$9 } from '../../chunk-NJJWOJLT.js';
6
- import { a as a$7 } from '../../chunk-6U5LS7MP.js';
1
+ export { c as ActionsContainer, d as ActionsDivider, a as Container, i as DesktopPaginationContainer, b as Header, h as MobilePaginationContainer, g as SearchContainer, j as Toolbar, e as ToolbarActionsDivider, f as Topbar, k as default } from '../../chunk-YBFLHTQK.js';
2
+ import '../../chunk-LOF5K56U.js';
3
+ import '../../chunk-IN7SP2ND.js';
4
+ import '../../chunk-IJZCVZ32.js';
5
+ import '../../chunk-UVPQR2Q2.js';
6
+ import '../../chunk-JBPWWO5D.js';
7
7
  import '../../chunk-BNBE2OMA.js';
8
8
  import '../../chunk-NIQW2J3M.js';
9
- import { a as a$4 } from '../../chunk-CO2KQFUN.js';
10
- import { a as a$1 } from '../../chunk-6TMIYG63.js';
9
+ import '../../chunk-6U5LS7MP.js';
10
+ import '../../chunk-CO2KQFUN.js';
11
+ import '../../chunk-GC7GAEFE.js';
11
12
  import '../../chunk-TC4DDJSR.js';
12
- import '../../chunk-DJ22BFQ5.js';
13
- import { a as a$8 } from '../../chunk-XWUVJ22J.js';
14
- import { a as a$3 } from '../../chunk-LQRRMVFN.js';
15
- import { b as b$1 } from '../../chunk-RPO7AI5K.js';
13
+ import '../../chunk-XWUVJ22J.js';
14
+ import '../../chunk-LQRRMVFN.js';
15
+ import '../../chunk-RPO7AI5K.js';
16
16
  import '../../chunk-GLRLKFPS.js';
17
- import { forwardRef, useState } from 'react';
18
- import io from '@mui/material/Button';
19
- import Do from '@mui/material/CircularProgress';
20
- import Q from '@mui/material/Divider';
21
- import s from '@mui/material/Stack';
22
- import x from '@mui/material/Typography';
23
- import fo from '@mui/material/TablePagination';
24
- import { styled } from '@mui/material/styles';
25
- import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
26
- import { GridToolbarColumnsButton } from '@mui/x-data-grid-premium';
27
-
28
- var b="datagrid-actions";var q=styled(a,{shouldForwardProp:o=>o!=="breakpoint"})(({theme:o,breakpoint:e})=>({position:"relative",borderRadius:12,padding:0,gap:0,overflow:"hidden",[o.breakpoints.down(e)]:{borderColor:o.palette.divider}})),J=styled(s,{shouldForwardProp:o=>o!=="breakpoint"})(({theme:o,breakpoint:e})=>({flexDirection:"row",alignItems:"center",justifyContent:"space-between",padding:"24px 24px 0",gap:24,[o.breakpoints.down(e)]:{padding:"16px 16px 0"}})),K=styled(s,{shouldForwardProp:o=>o!=="breakpoint"})(({theme:o,breakpoint:e})=>({flexDirection:"row",alignItems:"center",gap:12,color:o.palette.text.secondary,[o.breakpoints.down(e)]:{"& button, & a":{textIndent:"-9999em",fontSize:0,minWidth:36,maxWidth:36,height:36,width:36,overflow:"hidden","& .MuiButton-icon":{margin:0}}}})),X=styled(Q)({borderStyle:"dashed",height:16,margin:"auto"}),Y=styled(Q)({borderStyle:"dashed",height:12,marginTop:"auto",marginBottom:"auto"}),Z=styled(s,{shouldForwardProp:o=>o!=="breakpoint"})(({theme:o,breakpoint:e})=>({position:"relative",padding:16,flexDirection:"row",alignItems:"center",color:o.palette.text.secondary,[o.breakpoints.down(e)]:{padding:"12px 16px",borderBottom:`1px solid ${o.palette.divider}`,minHeight:60,[o.breakpoints.down(e)]:{"& button":{textIndent:"-9999em",fontSize:0,minWidth:36,maxWidth:36,height:36,width:36,overflow:"hidden","& .MuiButton-icon":{margin:0}}}}})),oo=styled(s,{shouldForwardProp:o=>o!=="breakpoint"})(({theme:o,breakpoint:e})=>({width:320,alignItems:"center",justifyContent:"center",[o.breakpoints.down(e)]:{position:"absolute",left:0,width:"100%",padding:"0 12px",zIndex:1,"& fieldset, & input":{display:"flex"},"& .MuiInputAdornment-root":{marginLeft:0}}})),to=styled(s)(({theme:o})=>({"& .MuiToolbar-root":{height:24,minHeight:24,overflow:"hidden",[o.breakpoints.down("sm")]:{height:"auto",flexWrap:"wrap",justifyContent:"center"}}})),eo=styled(s)(({theme:o})=>({minHeight:60,alignItems:"flex-end",justifyContent:"center",borderTop:`1px solid ${o.palette.divider}`,[o.breakpoints.down("sm")]:{minHeight:"auto"}})),ro=styled(s)(({theme:o})=>({flexDirection:"row",height:60,alignItems:"center",justifyContent:"space-between",borderTop:`1px solid ${o.palette.divider}`,gap:16,padding:16}));var ho=({count:o,page:e,rowsPerPage:n,onPageChange:w,onRowsPerPageChange:l})=>jsx(to,{children:jsx(fo,{color:"primary",component:"div",size:"small",count:o,page:e,rowsPerPage:n,onPageChange:(u,m)=>w(m),onRowsPerPageChange:u=>l(Number(u.target.value))})}),y=ho;var wo=forwardRef(({children:o,...e},n)=>jsx(io,{...e,ref:n,color:"inherit",startIcon:jsx(a$1,{icon:"COLUMNS"}),children:o??"Colunas"}));wo.displayName="ColumnsButton";var Co=()=>jsx(a$2,{container:b,children:jsx(GridToolbarColumnsButton,{slotProps:{button:{color:"inherit",startIcon:jsx(a$1,{icon:"COLUMNS"}),children:"Colunas"}}})}),vo=Co;var Io=({title:o,headerContent:e,breakpoint:n="md",columns:w,rows:l=[],mobileRender:u,rowCount:m=0,paginationModel:p={page:0,pageSize:25},onPaginationChange:f,actions:I,moreActions:k,onAdd:T,onSearch:B,searchValue:ao,onSearchChange:po,slots:C,slotProps:so,loading:c,fetching:A,containerProps:lo={height:562,maxHeight:562},hideFooter:R,hideHeader:H=!1,...mo})=>{let h=a$3(),P=b$1("down",n),[co,go]=useState(null),M=!!B,v=!!T,z=!!I,uo=z||v,O=!!k,E=O||M||!P;return jsxs(q,{breakpoint:n,...lo,flex:c?1:void 0,minHeight:!c&&l.length===0?562:void 0,children:[!H&&jsxs(Fragment,{children:[jsxs(J,{breakpoint:n,children:[jsx(x,{variant:"overline",color:"text.secondary",noWrap:!0,children:o}),uo&&jsxs(K,{breakpoint:n,children:[z&&jsxs(Fragment,{children:[I,v&&jsx(X,{orientation:"vertical",flexItem:!0})]}),v&&jsx(io,{startIcon:jsx(a$1,{icon:"SIMPLE_ADD"}),variant:"contained",onClick:T,children:"Adicionar"})]})]}),E&&jsxs(Z,{breakpoint:n,children:[jsx(s,{flex:1,direction:"row",alignItems:"center",id:b,gap:.5,children:O&&jsxs(Fragment,{children:[jsx(io,{color:"inherit",startIcon:jsx(a$1,{icon:"MORE_BOLD"}),size:"small",onClick:h.onOpen,children:"Mais"}),!P&&jsx(Y,{orientation:"vertical",flexItem:!0}),jsx(a$4,{open:h.open,anchorEl:h.open,onClose:h.onClose,sx:{minWidth:160},disabledArrow:P,children:k})]})}),M&&jsx(oo,{breakpoint:n,children:jsx(a$5,{value:ao,placeholder:"Buscar",onSearch:B,onChange:r=>po?.(r.target.value),size:"small",fullWidth:!0,iconPosition:"start"})})]})]}),!E&&!H&&jsx(Q,{sx:{mt:2}}),e&&e,P?jsxs(a$6,{isFetching:A,fetching:jsx(a$7,{}),isLoading:c,loading:jsx(Do,{sx:{m:"160px auto"}}),isEmpty:l.length===0,empty:jsx(s,{flex:1,alignItems:"center",justifyContent:"center",children:C?.noRowsOverlay?jsx(C.noRowsOverlay,{}):jsx(x,{variant:"body2",color:"text.secondary",children:"Nenhum registro encontrado"})}),children:[jsx(a$8,{fillContent:!0,children:l.map(r=>u(r))}),!R&&jsx(eo,{children:jsx(y,{count:m,page:p.page,rowsPerPage:p.pageSize,onPageChange:r=>f(r,p.pageSize),onRowsPerPageChange:r=>f(p.page,r)})})]}):jsx(a$9,{columns:w,rows:l,slots:{footer:()=>jsxs(ro,{children:[jsxs(s,{direction:"row",alignItems:"center",gap:.5,children:[jsx(x,{variant:"body2",color:"text.disabled",children:"Total de itens:"}),jsx(x,{variant:"body2",children:m})]}),jsx(y,{count:m,page:p.page,rowsPerPage:p.pageSize,onPageChange:r=>f(r,p.pageSize),onRowsPerPageChange:r=>f(p.page,r)})]}),...C},slotProps:{panel:{anchorEl:co},toolbar:{setFilterButtonEl:go,showQuickFilter:!0},...so},columnHeaderHeight:48,getRowHeight:()=>68,loading:c,fetching:A,hideFooter:R,...mo})]},c?"loading":"data")},mt=Io;
29
-
30
- export { K as ActionsContainer, X as ActionsDivider, q as Container, ro as DesktopPaginationContainer, J as Header, eo as MobilePaginationContainer, oo as SearchContainer, vo as Toolbar, Y as ToolbarActionsDivider, Z as Topbar, mt as default };
31
17
  //# sourceMappingURL=out.js.map
32
18
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/DataView/index.tsx","../../../src/components/DataView/contants.ts","../../../src/components/DataView/Pagination.tsx","../../../src/components/DataView/styles.ts","../../../src/components/DataView/Toolbar.tsx"],"names":["useState","Button","CircularProgress","Divider","Stack","Typography","DATAGRID_ACTIONS","MuiPagination","styled","Container","Panel_default","prop","theme","breakpoint","Header","ActionsContainer","ActionsDivider","ToolbarActionsDivider","Topbar","SearchContainer","PaginationContainer","MobilePaginationContainer","DesktopPaginationContainer","jsx","Pagination","count","page","rowsPerPage","onPageChange","onRowsPerPageChange","_","newPage","event","Pagination_default","forwardRef","GridToolbarColumnsButton","ColumnsButton","children","props","ref","Icon_default","Toolbar","Portal_default","Toolbar_default","Fragment","jsxs","DataView","title","headerContent","columns","rows","mobileRender","rowCount","paginationModel","onPaginationChange","actions","moreActions","onAdd","onSearch","searchValue","onSearchChange","slots","slotProps","loading","fetching","containerProps","hideFooter","hideHeader","others","popover","usePopover_default","isMobile","useResponsive_default","filterButtonEl","setFilterButtonEl","showSearch","showAdd","showActions","showActionsContainer","showMoreActions","showTopbar","MenuPopover_default","SearchInput_default","e","Result_default","FixedProgressBar_default","Scrollbar_default","row","newRowsPerPage","DataGrid_default","DataView_default"],"mappings":"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","sourcesContent":["import { useState } from 'react';\nimport Button from '@mui/material/Button';\nimport CircularProgress from '@mui/material/CircularProgress';\nimport Divider from '@mui/material/Divider';\nimport Stack from '@mui/material/Stack';\nimport Typography from '@mui/material/Typography';\nimport { GridSlotsComponentsProps } from '@mui/x-data-grid-premium';\n\nimport DataGrid from 'components/DataGrid';\nimport FixedProgressBar from 'components/FixedProgressBar';\nimport Icon from 'components/Icon';\nimport MenuPopover from 'components/MenuPopover';\nimport Result from 'components/Result';\nimport Scrollbar from 'components/Scrollbar';\nimport SearchInput from 'components/SearchInput';\nimport usePopover from 'hooks/usePopover';\nimport useResponsive from 'hooks/useResponsive';\n\nimport { DATAGRID_ACTIONS } from './contants';\nimport Pagination from './Pagination';\nimport { DataViewProps } from './props';\nimport {\n ActionsContainer,\n ActionsDivider,\n Container,\n DesktopPaginationContainer,\n Header,\n MobilePaginationContainer,\n SearchContainer,\n ToolbarActionsDivider,\n Topbar,\n} from './styles';\nimport Toolbar from './Toolbar';\n\nconst DataView = ({\n title,\n headerContent,\n breakpoint = 'md',\n columns,\n rows = [],\n mobileRender,\n rowCount = 0,\n paginationModel = { page: 0, pageSize: 25 },\n onPaginationChange,\n actions,\n moreActions,\n onAdd,\n onSearch,\n searchValue,\n onSearchChange,\n slots,\n slotProps,\n loading,\n fetching,\n containerProps = { height: 562, maxHeight: 562 },\n hideFooter,\n hideHeader = false,\n ...others\n}: DataViewProps) => {\n const popover = usePopover();\n const isMobile = useResponsive('down', breakpoint);\n const [filterButtonEl, setFilterButtonEl] =\n useState<HTMLButtonElement | null>(null);\n\n const showSearch = !!onSearch;\n const showAdd = !!onAdd;\n const showActions = !!actions;\n const showActionsContainer = showActions || showAdd;\n const showMoreActions = !!moreActions;\n const showTopbar = showMoreActions || showSearch || !isMobile;\n\n return (\n <Container\n key={loading ? 'loading' : 'data'}\n breakpoint={breakpoint}\n {...containerProps}\n flex={loading ? 1 : undefined}\n minHeight={!loading && rows.length === 0 ? 562 : undefined}\n >\n {!hideHeader && (\n <>\n <Header breakpoint={breakpoint}>\n <Typography variant=\"overline\" color=\"text.secondary\" noWrap>\n {title}\n </Typography>\n\n {showActionsContainer && (\n <ActionsContainer breakpoint={breakpoint}>\n {showActions && (\n <>\n {actions}\n\n {showAdd && (\n <ActionsDivider orientation=\"vertical\" flexItem />\n )}\n </>\n )}\n\n {showAdd && (\n <Button\n startIcon={<Icon icon=\"SIMPLE_ADD\" />}\n variant=\"contained\"\n onClick={onAdd}\n >\n Adicionar\n </Button>\n )}\n </ActionsContainer>\n )}\n </Header>\n\n {showTopbar && (\n <Topbar breakpoint={breakpoint}>\n <Stack\n flex={1}\n direction=\"row\"\n alignItems=\"center\"\n id={DATAGRID_ACTIONS}\n gap={0.5}\n >\n {showMoreActions && (\n <>\n <Button\n color=\"inherit\"\n startIcon={<Icon icon=\"MORE_BOLD\" />}\n size=\"small\"\n onClick={popover.onOpen}\n >\n Mais\n </Button>\n\n {!isMobile && (\n <ToolbarActionsDivider orientation=\"vertical\" flexItem />\n )}\n\n <MenuPopover\n open={popover.open}\n anchorEl={popover.open}\n onClose={popover.onClose}\n sx={{\n minWidth: 160,\n }}\n disabledArrow={isMobile}\n >\n {moreActions}\n </MenuPopover>\n </>\n )}\n </Stack>\n\n {showSearch && (\n <SearchContainer breakpoint={breakpoint}>\n <SearchInput\n value={searchValue}\n placeholder=\"Buscar\"\n onSearch={onSearch}\n onChange={e => onSearchChange?.(e.target.value)}\n size=\"small\"\n fullWidth\n iconPosition=\"start\"\n />\n </SearchContainer>\n )}\n </Topbar>\n )}\n </>\n )}\n\n {!showTopbar && !hideHeader && <Divider sx={{ mt: 2 }} />}\n\n {headerContent && headerContent}\n\n {isMobile ? (\n <Result\n isFetching={fetching}\n fetching={<FixedProgressBar />}\n isLoading={loading}\n loading={<CircularProgress sx={{ m: '160px auto' }} />}\n isEmpty={rows.length === 0}\n empty={\n <Stack flex={1} alignItems=\"center\" justifyContent=\"center\">\n {slots?.noRowsOverlay ? (\n <slots.noRowsOverlay />\n ) : (\n <Typography variant=\"body2\" color=\"text.secondary\">\n Nenhum registro encontrado\n </Typography>\n )}\n </Stack>\n }\n >\n <Scrollbar fillContent>\n {rows.map(row => mobileRender(row))}\n </Scrollbar>\n\n {!hideFooter && (\n <MobilePaginationContainer>\n <Pagination\n count={rowCount}\n page={paginationModel.page}\n rowsPerPage={paginationModel.pageSize}\n onPageChange={newPage =>\n onPaginationChange(newPage, paginationModel.pageSize)\n }\n onRowsPerPageChange={newRowsPerPage =>\n onPaginationChange(paginationModel.page, newRowsPerPage)\n }\n />\n </MobilePaginationContainer>\n )}\n </Result>\n ) : (\n <DataGrid\n columns={columns}\n rows={rows}\n slots={{\n footer: () => (\n <DesktopPaginationContainer>\n <Stack direction=\"row\" alignItems=\"center\" gap={0.5}>\n <Typography variant=\"body2\" color=\"text.disabled\">\n Total de itens:\n </Typography>\n <Typography variant=\"body2\">{rowCount}</Typography>\n </Stack>\n\n <Pagination\n count={rowCount}\n page={paginationModel.page}\n rowsPerPage={paginationModel.pageSize}\n onPageChange={newPage =>\n onPaginationChange(newPage, paginationModel.pageSize)\n }\n onRowsPerPageChange={newRowsPerPage =>\n onPaginationChange(paginationModel.page, newRowsPerPage)\n }\n />\n </DesktopPaginationContainer>\n ),\n ...slots,\n }}\n slotProps={{\n panel: { anchorEl: filterButtonEl },\n toolbar: {\n setFilterButtonEl,\n showQuickFilter: true,\n } as unknown as GridSlotsComponentsProps['toolbar'],\n ...slotProps,\n }}\n columnHeaderHeight={48}\n getRowHeight={() => 68}\n loading={loading}\n fetching={fetching}\n hideFooter={hideFooter}\n {...others}\n />\n )}\n </Container>\n );\n};\n\nexport default DataView;\nexport {\n ActionsContainer,\n ActionsDivider,\n Container,\n DesktopPaginationContainer,\n Header,\n MobilePaginationContainer,\n SearchContainer,\n Toolbar,\n ToolbarActionsDivider,\n Topbar,\n};\n","export const DATAGRID_ACTIONS = 'datagrid-actions';\n","import MuiPagination from '@mui/material/TablePagination';\n\nimport { PaginationProps } from './props';\nimport { PaginationContainer } from './styles';\n\nconst Pagination = ({\n count,\n page,\n rowsPerPage,\n onPageChange,\n onRowsPerPageChange,\n}: PaginationProps) => {\n return (\n <PaginationContainer>\n <MuiPagination\n color=\"primary\"\n component=\"div\"\n size=\"small\"\n count={count}\n page={page}\n rowsPerPage={rowsPerPage}\n onPageChange={(_, newPage) => onPageChange(newPage)}\n onRowsPerPageChange={event =>\n onRowsPerPageChange(Number(event.target.value))\n }\n />\n </PaginationContainer>\n );\n};\n\nexport default Pagination;\n","import Divider from '@mui/material/Divider';\nimport Stack from '@mui/material/Stack';\nimport { styled } from '@mui/material/styles';\nimport { Breakpoint } from '@mui/material/styles';\n\nimport Panel from 'components/Panel';\n\nexport interface DefaultProps {\n breakpoint: Breakpoint | number;\n}\n\nexport const Container = styled(Panel, {\n shouldForwardProp: prop => prop !== 'breakpoint',\n})<DefaultProps>(({ theme, breakpoint }) => ({\n position: 'relative',\n borderRadius: 12,\n padding: 0,\n gap: 0,\n overflow: 'hidden',\n\n [theme.breakpoints.down(breakpoint)]: {\n borderColor: theme.palette.divider,\n },\n}));\n\nexport const Header = styled(Stack, {\n shouldForwardProp: prop => prop !== 'breakpoint',\n})<DefaultProps>(({ theme, breakpoint }) => ({\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'space-between',\n padding: '24px 24px 0',\n gap: 24,\n\n [theme.breakpoints.down(breakpoint)]: {\n padding: '16px 16px 0',\n },\n}));\n\nexport const ActionsContainer = styled(Stack, {\n shouldForwardProp: prop => prop !== 'breakpoint',\n})<DefaultProps>(({ theme, breakpoint }) => ({\n flexDirection: 'row',\n alignItems: 'center',\n gap: 12,\n color: theme.palette.text.secondary,\n\n [theme.breakpoints.down(breakpoint)]: {\n '& button, & a': {\n textIndent: '-9999em',\n fontSize: 0,\n minWidth: 36,\n maxWidth: 36,\n height: 36,\n width: 36,\n overflow: 'hidden',\n\n '& .MuiButton-icon': {\n margin: 0,\n },\n },\n },\n}));\n\nexport const ActionsDivider = styled(Divider)({\n borderStyle: 'dashed',\n height: 16,\n margin: 'auto',\n});\n\nexport const ToolbarActionsDivider = styled(Divider)({\n borderStyle: 'dashed',\n height: 12,\n marginTop: 'auto',\n marginBottom: 'auto',\n});\n\nexport const Topbar = styled(Stack, {\n shouldForwardProp: prop => prop !== 'breakpoint',\n})<DefaultProps>(({ theme, breakpoint }) => ({\n position: 'relative',\n padding: 16,\n flexDirection: 'row',\n alignItems: 'center',\n color: theme.palette.text.secondary,\n\n [theme.breakpoints.down(breakpoint)]: {\n padding: '12px 16px',\n borderBottom: `1px solid ${theme.palette.divider}`,\n minHeight: 60,\n\n [theme.breakpoints.down(breakpoint)]: {\n '& button': {\n textIndent: '-9999em',\n fontSize: 0,\n minWidth: 36,\n maxWidth: 36,\n height: 36,\n width: 36,\n overflow: 'hidden',\n\n '& .MuiButton-icon': {\n margin: 0,\n },\n },\n },\n },\n}));\n\nexport const SearchContainer = styled(Stack, {\n shouldForwardProp: prop => prop !== 'breakpoint',\n})<DefaultProps>(({ theme, breakpoint }) => ({\n width: 320,\n alignItems: 'center',\n justifyContent: 'center',\n\n [theme.breakpoints.down(breakpoint)]: {\n position: 'absolute',\n left: 0,\n width: '100%',\n padding: '0 12px',\n zIndex: 1,\n\n '& fieldset, & input': {\n display: 'flex',\n },\n\n '& .MuiInputAdornment-root': {\n marginLeft: 0,\n },\n },\n}));\n\nexport const PaginationContainer = styled(Stack)(({ theme }) => ({\n '& .MuiToolbar-root': {\n height: 24,\n minHeight: 24,\n overflow: 'hidden',\n\n [theme.breakpoints.down('sm')]: {\n height: 'auto',\n flexWrap: 'wrap',\n justifyContent: 'center',\n },\n },\n}));\n\nexport const MobilePaginationContainer = styled(Stack)(({ theme }) => ({\n minHeight: 60,\n alignItems: 'flex-end',\n justifyContent: 'center',\n borderTop: `1px solid ${theme.palette.divider}`,\n\n [theme.breakpoints.down('sm')]: {\n minHeight: 'auto',\n },\n}));\n\nexport const DesktopPaginationContainer = styled(Stack)(({ theme }) => ({\n flexDirection: 'row',\n height: 60,\n alignItems: 'center',\n justifyContent: 'space-between',\n borderTop: `1px solid ${theme.palette.divider}`,\n gap: 16,\n padding: 16,\n}));\n","import { forwardRef } from 'react';\nimport Button, { ButtonProps } from '@mui/material/Button';\nimport { GridToolbarColumnsButton } from '@mui/x-data-grid-premium';\n\nimport Icon from 'components/Icon';\nimport Portal from 'components/Portal';\n\nimport { DATAGRID_ACTIONS } from './contants';\n\nconst ColumnsButton = forwardRef<HTMLButtonElement, ButtonProps>(\n ({ children, ...props }, ref) => (\n <Button\n {...props}\n ref={ref}\n color=\"inherit\"\n startIcon={<Icon icon=\"COLUMNS\" />}\n >\n {children ?? 'Colunas'}\n </Button>\n ),\n);\n\nColumnsButton.displayName = 'ColumnsButton';\n\nconst Toolbar = () => {\n return (\n <Portal container={DATAGRID_ACTIONS}>\n <GridToolbarColumnsButton\n slotProps={{\n button: {\n color: 'inherit',\n startIcon: <Icon icon=\"COLUMNS\" />,\n children: 'Colunas',\n },\n }}\n />\n </Portal>\n );\n};\n\nexport default Toolbar;\n"]}
1
+ {"version":3,"sources":[],"names":[],"mappings":""}
@@ -1,6 +1,5 @@
1
- export { a as default } from '../../chunk-LQVCEUFL.js';
2
- import '../../chunk-6TMIYG63.js';
1
+ export { a as default } from '../../chunk-KFHRIKEC.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 as a$1 } from '../../chunk-6TMIYG63.js';
1
+ import { a as a$1 } from '../../chunk-GC7GAEFE.js';
2
2
  import '../../chunk-TC4DDJSR.js';
3
- import '../../chunk-DJ22BFQ5.js';
4
3
  import { a as a$2 } from '../../chunk-XWUVJ22J.js';
5
4
  import g from '@mui/material/Drawer';
6
5
  import x from '@mui/material/IconButton';
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/Drawer/index.tsx","../../../src/components/Drawer/styles.ts"],"names":["MuiDrawer","IconButton","Stack","styled","Header","theme","HeaderTitle","jsx","jsxs","Drawer","headerTitle","onClose","children","contentProps","maxWidth","other","Icon_default","Scrollbar_default","Drawer_default"],"mappings":"wJAAA,OAAOA,MAAe,uBACtB,OAAOC,MAAgB,2BACvB,OAAOC,MAAW,sBCFlB,OAAOA,MAAW,sBAClB,OAAS,UAAAC,MAAc,uBAEhB,IAAMC,EAASD,EAAOD,CAAK,EAAE,CAAC,CAAE,MAAAG,CAAM,KAAO,CAClD,cAAe,MACf,WAAY,SACZ,aAAc,aAAaA,EAAM,QAAQ,KAAK,GAAG,IACjD,QAAS,YACT,IAAK,EACP,EAAE,EAEWC,EAAcH,EAAOD,CAAK,EAAE,CAAC,CAAE,MAAAG,CAAM,KAAO,CACvD,cAAe,MACf,WAAY,SACZ,IAAK,EACL,KAAM,EACN,SAAUA,EAAM,WAAW,UAAU,SACrC,WAAYA,EAAM,WAAW,UAAU,WACvC,WAAYA,EAAM,WAAW,UAC/B,EAAE,EDQI,OAEI,OAAAE,EAFJ,QAAAC,MAAA,oBAjBN,IAAMC,EAAS,CAAC,CACd,YAAAC,EACA,QAAAC,EACA,SAAAC,EACA,aAAAC,EACA,SAAAC,EAAW,IACX,GAAGC,CACL,IAEIP,EAACR,EAAA,CACC,OAAO,QACP,WAAY,CACV,GAAI,CAAE,MAAO,EAAG,SAAUc,CAAS,CACrC,EACA,QAASH,EACR,GAAGI,EAEJ,UAAAP,EAACJ,EAAA,CACC,UAAAG,EAACN,EAAA,CAAW,KAAK,QAAQ,QAASU,EAChC,SAAAJ,EAACS,EAAA,CAAK,KAAK,oBAAoB,MAAO,GAAI,EAC5C,EAEAT,EAACD,EAAA,CAAa,SAAAI,EAAY,GAC5B,EACAH,EAACU,EAAA,CACC,SAAAV,EAACL,EAAA,CAAM,EAAG,EAAI,GAAGW,EACd,SAAAD,EACH,EACF,GACF,EAIGM,EAAQT","sourcesContent":["import MuiDrawer from '@mui/material/Drawer';\nimport IconButton from '@mui/material/IconButton';\nimport Stack from '@mui/material/Stack';\n\nimport Icon from '../Icon';\nimport Scrollbar from '../Scrollbar';\n\nimport { DrawerProps } from './props';\nimport { Header, HeaderTitle } from './styles';\n\nconst Drawer = ({\n headerTitle,\n onClose,\n children,\n contentProps,\n maxWidth = 684,\n ...other\n}: DrawerProps) => {\n return (\n <MuiDrawer\n anchor=\"right\"\n PaperProps={{\n sx: { width: 1, maxWidth: maxWidth },\n }}\n onClose={onClose}\n {...other}\n >\n <Header>\n <IconButton size=\"small\" onClick={onClose}>\n <Icon icon=\"CLOSE_MARK_BUTTON\" width={18} />\n </IconButton>\n\n <HeaderTitle>{headerTitle}</HeaderTitle>\n </Header>\n <Scrollbar>\n <Stack p={3} {...contentProps}>\n {children}\n </Stack>\n </Scrollbar>\n </MuiDrawer>\n );\n};\n\nexport default Drawer;\n","import Stack from '@mui/material/Stack';\nimport { styled } from '@mui/material/styles';\n\nexport const Header = styled(Stack)(({ theme }) => ({\n flexDirection: 'row',\n alignItems: 'center',\n borderBottom: `1px solid ${theme.palette.grey[300]}`,\n padding: '22px 20px',\n gap: 16,\n}));\n\nexport const HeaderTitle = styled(Stack)(({ theme }) => ({\n flexDirection: 'row',\n alignItems: 'center',\n gap: 8,\n flex: 1,\n fontSize: theme.typography.subtitle1.fontSize,\n fontWeight: theme.typography.subtitle1.fontWeight,\n fontFamily: theme.typography.fontFamily,\n}));\n"]}
1
+ {"version":3,"sources":["../../../src/components/Drawer/index.tsx","../../../src/components/Drawer/styles.ts"],"names":["MuiDrawer","IconButton","Stack","styled","Header","theme","HeaderTitle","jsx","jsxs","Drawer","headerTitle","onClose","children","contentProps","maxWidth","other","Icon_default","Scrollbar_default","Drawer_default"],"mappings":"wHAAA,OAAOA,MAAe,uBACtB,OAAOC,MAAgB,2BACvB,OAAOC,MAAW,sBCFlB,OAAOA,MAAW,sBAClB,OAAS,UAAAC,MAAc,uBAEhB,IAAMC,EAASD,EAAOD,CAAK,EAAE,CAAC,CAAE,MAAAG,CAAM,KAAO,CAClD,cAAe,MACf,WAAY,SACZ,aAAc,aAAaA,EAAM,QAAQ,KAAK,GAAG,IACjD,QAAS,YACT,IAAK,EACP,EAAE,EAEWC,EAAcH,EAAOD,CAAK,EAAE,CAAC,CAAE,MAAAG,CAAM,KAAO,CACvD,cAAe,MACf,WAAY,SACZ,IAAK,EACL,KAAM,EACN,SAAUA,EAAM,WAAW,UAAU,SACrC,WAAYA,EAAM,WAAW,UAAU,WACvC,WAAYA,EAAM,WAAW,UAC/B,EAAE,EDQI,OAEI,OAAAE,EAFJ,QAAAC,MAAA,oBAjBN,IAAMC,EAAS,CAAC,CACd,YAAAC,EACA,QAAAC,EACA,SAAAC,EACA,aAAAC,EACA,SAAAC,EAAW,IACX,GAAGC,CACL,IAEIP,EAACR,EAAA,CACC,OAAO,QACP,WAAY,CACV,GAAI,CAAE,MAAO,EAAG,SAAUc,CAAS,CACrC,EACA,QAASH,EACR,GAAGI,EAEJ,UAAAP,EAACJ,EAAA,CACC,UAAAG,EAACN,EAAA,CAAW,KAAK,QAAQ,QAASU,EAChC,SAAAJ,EAACS,EAAA,CAAK,KAAK,oBAAoB,MAAO,GAAI,EAC5C,EAEAT,EAACD,EAAA,CAAa,SAAAI,EAAY,GAC5B,EACAH,EAACU,EAAA,CACC,SAAAV,EAACL,EAAA,CAAM,EAAG,EAAI,GAAGW,EACd,SAAAD,EACH,EACF,GACF,EAIGM,EAAQT","sourcesContent":["import MuiDrawer from '@mui/material/Drawer';\nimport IconButton from '@mui/material/IconButton';\nimport Stack from '@mui/material/Stack';\n\nimport Icon from '../Icon';\nimport Scrollbar from '../Scrollbar';\n\nimport { DrawerProps } from './props';\nimport { Header, HeaderTitle } from './styles';\n\nconst Drawer = ({\n headerTitle,\n onClose,\n children,\n contentProps,\n maxWidth = 684,\n ...other\n}: DrawerProps) => {\n return (\n <MuiDrawer\n anchor=\"right\"\n PaperProps={{\n sx: { width: 1, maxWidth: maxWidth },\n }}\n onClose={onClose}\n {...other}\n >\n <Header>\n <IconButton size=\"small\" onClick={onClose}>\n <Icon icon=\"CLOSE_MARK_BUTTON\" width={18} />\n </IconButton>\n\n <HeaderTitle>{headerTitle}</HeaderTitle>\n </Header>\n <Scrollbar>\n <Stack p={3} {...contentProps}>\n {children}\n </Stack>\n </Scrollbar>\n </MuiDrawer>\n );\n};\n\nexport default Drawer;\n","import Stack from '@mui/material/Stack';\nimport { styled } from '@mui/material/styles';\n\nexport const Header = styled(Stack)(({ theme }) => ({\n flexDirection: 'row',\n alignItems: 'center',\n borderBottom: `1px solid ${theme.palette.grey[300]}`,\n padding: '22px 20px',\n gap: 16,\n}));\n\nexport const HeaderTitle = styled(Stack)(({ theme }) => ({\n flexDirection: 'row',\n alignItems: 'center',\n gap: 8,\n flex: 1,\n fontSize: theme.typography.subtitle1.fontSize,\n fontWeight: theme.typography.subtitle1.fontWeight,\n fontFamily: theme.typography.fontFamily,\n}));\n"]}
@@ -0,0 +1,114 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import * as react from 'react';
3
+ import { ReactNode } from 'react';
4
+ import { PagedResponse } from '../../types/api.js';
5
+ import { Field, EntityMetadataResponse } from '../../types/entityMetadata.js';
6
+ import { GridColDef } from '@mui/x-data-grid-premium';
7
+ import { Icon } from '../../types/icon.js';
8
+
9
+ interface DynamicRow {
10
+ id: string;
11
+ [key: string]: unknown;
12
+ }
13
+ type DynamicRowData<T = object> = DynamicRow & T;
14
+ type CellRenderer<T = object> = (field: Field, row: DynamicRowData<T>, metadata?: {
15
+ id_field_name?: string;
16
+ description_field_name?: string;
17
+ }) => ReactNode;
18
+
19
+ type ColumnStrategy<T = object> = (field: Field, renderCell: CellRenderer<T>, metadata?: {
20
+ id_field_name?: string;
21
+ }) => GridColDef;
22
+
23
+ interface BooleanRendererProps {
24
+ value: unknown;
25
+ trueLabel?: string;
26
+ falseLabel?: string;
27
+ }
28
+ interface EntityRendererProps {
29
+ value: unknown;
30
+ field: Field;
31
+ }
32
+ interface IconRendererProps {
33
+ value: unknown;
34
+ trueIcon?: Icon;
35
+ falseIcon?: Icon;
36
+ color?: string;
37
+ width?: number;
38
+ }
39
+ interface NameRendererProps {
40
+ id: string;
41
+ displayName: string;
42
+ copyMessage?: string;
43
+ }
44
+ interface NumberRendererProps {
45
+ value: unknown;
46
+ isCurrency?: boolean;
47
+ }
48
+ interface TextRendererProps {
49
+ value: unknown;
50
+ showCopyButton?: boolean;
51
+ copyMessage?: string;
52
+ }
53
+
54
+ type MobileRenderFunction<T = object> = (row: DynamicRowData<T>) => ReactNode;
55
+ interface DynamicDataViewProps<T = object> {
56
+ title: string;
57
+ metadata: EntityMetadataResponse;
58
+ data?: PagedResponse<T[]>;
59
+ isLoading: boolean;
60
+ isFetching: boolean;
61
+ page: number;
62
+ perPage: number;
63
+ searchValue: string;
64
+ onSearchChange: (value: string) => void;
65
+ onSearch: (value: string) => void;
66
+ onPaginationChange: (page: number, pageSize: number) => void;
67
+ onAdd?: () => void;
68
+ onRowAction?: (rowId: string, row: DynamicRowData<T>) => ReactNode;
69
+ onRowDoubleClick?: (rowId: string, row: DynamicRowData<T>) => void;
70
+ onSelect?: (selectedRows: DynamicRowData<T>) => void;
71
+ actions?: ReactNode;
72
+ slots?: {
73
+ noRowsOverlay?: () => JSX.Element;
74
+ };
75
+ mobileRender?: MobileRenderFunction<T>;
76
+ containerHeight?: number;
77
+ showColumnButton?: boolean;
78
+ defaultVisibleFieldNames?: string[];
79
+ preferredFieldOrder?: string[];
80
+ columnStrategies?: {
81
+ [fieldName: string]: ColumnStrategy<T>;
82
+ };
83
+ }
84
+
85
+ declare const _default$8: <T extends object = object>({ title, metadata, data, isLoading, isFetching, page, perPage, searchValue, onSearchChange, onSearch, onPaginationChange, onAdd, onRowAction, onRowDoubleClick, actions, slots, mobileRender, containerHeight, showColumnButton, defaultVisibleFieldNames, preferredFieldOrder, columnStrategies, }: DynamicDataViewProps<T>) => react_jsx_runtime.JSX.Element;
86
+
87
+ declare const _default$7: react.MemoExoticComponent<({ value, trueLabel, falseLabel, }: BooleanRendererProps) => ReactNode>;
88
+
89
+ interface DateRendererProps {
90
+ value: unknown;
91
+ format?: string;
92
+ }
93
+ declare const _default$6: react.MemoExoticComponent<({ value, format }: DateRendererProps) => ReactNode>;
94
+
95
+ interface DateTimeRendererProps {
96
+ value: unknown;
97
+ format?: string;
98
+ }
99
+ declare const _default$5: react.MemoExoticComponent<({ value, format, }: DateTimeRendererProps) => ReactNode>;
100
+
101
+ declare const _default$4: react.MemoExoticComponent<({ value, field }: EntityRendererProps) => ReactNode>;
102
+
103
+ declare const _default$3: react.MemoExoticComponent<({ value, trueIcon, falseIcon, color, width, }: IconRendererProps) => ReactNode>;
104
+
105
+ declare const _default$2: react.MemoExoticComponent<({ id, displayName, copyMessage, }: NameRendererProps) => ReactNode>;
106
+
107
+ declare const _default$1: react.MemoExoticComponent<({ value, isCurrency, }: NumberRendererProps) => ReactNode>;
108
+
109
+ declare const _default: react.MemoExoticComponent<({ value, showCopyButton, copyMessage, }: TextRendererProps) => ReactNode>;
110
+
111
+ declare const createActionsField: () => Field;
112
+ declare const addActionsFieldToMetadata: (metadata: EntityMetadataResponse) => EntityMetadataResponse;
113
+
114
+ export { _default$7 as BooleanRenderer, CellRenderer, ColumnStrategy, _default$6 as DateRenderer, _default$5 as DateTimeRenderer, DynamicDataViewProps, DynamicRowData, _default$4 as EntityRenderer, _default$3 as IconRenderer, MobileRenderFunction, _default$2 as NameRenderer, _default$1 as NumberRenderer, _default as TextRenderer, addActionsFieldToMetadata, createActionsField, _default$8 as default };
@@ -0,0 +1,34 @@
1
+ import { d, c } from '../../chunk-N7IK5EUP.js';
2
+ import { a } from '../../chunk-FK4XGRYF.js';
3
+ import { h as h$1, a as a$3 } from '../../chunk-OF6623HG.js';
4
+ import { a as a$2 } from '../../chunk-GTMH7NKR.js';
5
+ import '../../chunk-45OMMG7D.js';
6
+ import { k } from '../../chunk-YBFLHTQK.js';
7
+ import '../../chunk-LOF5K56U.js';
8
+ import '../../chunk-IN7SP2ND.js';
9
+ import '../../chunk-IJZCVZ32.js';
10
+ import '../../chunk-UVPQR2Q2.js';
11
+ import '../../chunk-JBPWWO5D.js';
12
+ import '../../chunk-BNBE2OMA.js';
13
+ import '../../chunk-NIQW2J3M.js';
14
+ import '../../chunk-6U5LS7MP.js';
15
+ import '../../chunk-CO2KQFUN.js';
16
+ import { a as a$1 } from '../../chunk-GC7GAEFE.js';
17
+ import '../../chunk-TC4DDJSR.js';
18
+ import '../../chunk-XWUVJ22J.js';
19
+ import '../../chunk-LQRRMVFN.js';
20
+ import '../../chunk-RPO7AI5K.js';
21
+ import '../../chunk-62UHO7QG.js';
22
+ import '../../chunk-GLRLKFPS.js';
23
+ import '../../chunk-CFNATBO2.js';
24
+ import { memo, useMemo, useCallback } from 'react';
25
+ import { jsx, jsxs } from 'react/jsx-runtime';
26
+ import Pe from '@mui/material/Chip';
27
+ import K from '@mui/material/Stack';
28
+ import Q from '@mui/material/Typography';
29
+
30
+ var l={IMAGE_WIDTH:90,MIN_WIDTH:130,ID_MIN_WIDTH:200,ENTITY_MIN_WIDTH:160,HIGHLIGHT_MAX_WIDTH:80,ACTIONS_WIDTH:80,ID_FLEX:2,ENTITY_FLEX:1},h={READ_ONLY:"READ_ONLY",READ_AND_WRITE:"READ_AND_WRITE"},j=["price","base_price","minimum_value","maximum_value","minimum_installment_value"];var ye=(e,r)=>({field:e.name,headerName:e.description,sortable:!1,width:l.IMAGE_WIDTH,resizable:!1,renderCell:t=>r(e,t.row)}),ge=(e,r)=>({field:e.name,headerName:e.description,minWidth:l.ID_MIN_WIDTH,flex:l.ID_FLEX,renderCell:t=>r(e,t.row)}),Ie=(e,r)=>({field:e.name,headerName:e.description,minWidth:l.ENTITY_MIN_WIDTH,flex:l.ENTITY_FLEX,renderCell:t=>r(e,t.row)}),Ne=(e,r)=>({field:e.name,headerName:e.description,minWidth:l.MIN_WIDTH,renderCell:t=>r(e,t.row)}),_e=(e,r)=>({field:e.name,headerName:"A\xE7\xF5es",width:l.ACTIONS_WIDTH,sortable:!1,resizable:!1,disableReorder:!0,headerAlign:"center",disableColumnMenu:!0,align:"center",renderCell:t=>r(e,t.row)}),z=(e,r)=>e.name===r?.id_field_name||e.name==="name"?ge:e.name==="ACTIONS"?_e:e.type==="FILE"?ye:e.type==="ENTITY"?Ie:Ne;var q=({metadata:e,renderCell:r,columnStrategies:t})=>useMemo(()=>{if(!e?.fields)return [];let n=new Map;return e.fields.filter(o=>o.access_type===h.READ_ONLY||o.access_type===h.READ_AND_WRITE?!0:o.name==="ACTIONS"||o.name===e?.id_field_name||o.name==="NAME").forEach(o=>{if(n.has(o.name))return;let E=(t?.[o.name]??z(o,e))(o,r,e);n.set(o.name,E);}),Array.from(n.values())},[t,e,r]);var J=()=>({name:"ACTIONS",description:"",filter_field_name:null,type:"TEXT",metadata:null,access_type:"READ_ONLY",relation_field_name:null,available_filter_conditions:[]}),b=e=>e.fields.some(t=>t.name==="ACTIONS")?e:{...e,fields:[...e.fields,J()]};var be=({value:e,trueLabel:r="Ativo",falseLabel:t="Inativo"})=>jsx(a,{color:e?"success":"warning",children:e?r:t}),w=memo(be);var Ae=({value:e,format:r})=>e==null?"-":d(e,r),x=memo(Ae);var Se=({value:e,format:r})=>e==null?"-":c(e,r),A=memo(Se);var We=({value:e,field:r})=>{if(!r.metadata||typeof e!="object"||e===null)return e?String(e):"-";let t=e[r.metadata.description_field_name];return t?jsx(Pe,{label:String(t),variant:"outlined",size:"small",sx:{width:"fit-content",color:"text.secondary",borderColor:"divider",px:1.5}}):null},F=memo(We);var He=({value:e,trueIcon:r="STAR_02",falseIcon:t="STAR",color:n="primary.main",width:a=18})=>jsx(a$1,{icon:e?r:t,color:n,width:a}),ve=memo(He);var ke=({id:e,displayName:r,copyMessage:t="ID copiado!"})=>jsxs(K,{height:1,justifyContent:"center",children:[jsx(Q,{variant:"subtitle2",noWrap:!0,title:r,children:r}),jsxs(K,{direction:"row",gap:1,alignItems:"center",children:[jsxs(Q,{color:"grey.600",variant:"body2",noWrap:!0,children:["ID: ",e]}),jsx(a$2,{toCopy:e,message:t})]})]}),Be=memo(ke);var Ue=({value:e,isCurrency:r=!1})=>e==null?"-":r?jsx(Q,{variant:"body2",noWrap:!0,width:"fit-content",children:h$1(Number(e))}):jsx(Q,{variant:"body2",noWrap:!0,width:"fit-content",children:a$3(Number(e))}),M=memo(Ue);var qe=e=>e.replace(/<[^>]*>/g,"").replace(/&nbsp;/g," ").replace(/&amp;/g,"&").replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&quot;/g,'"').replace(/&#39;/g,"'").trim(),Je=({value:e,showCopyButton:r=!1,copyMessage:t="Copiado"})=>{if(!e)return "-";let n=String(e),a=qe(n);return r?jsxs(K,{direction:"row",gap:1,alignItems:"center",children:[jsx(Q,{variant:"body2",noWrap:!0,children:a}),jsx(a$2,{toCopy:a,message:t})]}):a},P=memo(Je);function Qe(e){return j.includes(e)}var te=e=>{let{onRowAction:r}=e,t=(n,a)=>{let o=a[n.name];if(n.name==="ACTIONS")return r?.(a.id,a);switch(n.type){case"BOOLEAN":return jsx(w,{value:o});case"DATE":return jsx(x,{value:o});case"DATETIME":return jsx(A,{value:o});case"DECIMAL":case"INTEGER":return jsx(M,{value:o,isCurrency:Qe(n.name)});case"FILE":case"ENTITY":return jsx(F,{value:o,field:n});case"TEXT":default:return jsx(P,{value:o})}};return t.displayName="CellRendererComponent",t};function W(e){return e.name}var er=({title:e,metadata:r,data:t,isLoading:n,isFetching:a,page:o,perPage:G,searchValue:E,onSearchChange:oe,onSearch:ne,onPaginationChange:ae,onAdd:ie,onRowAction:C,onRowDoubleClick:y,actions:me,slots:se,mobileRender:le,containerHeight:L=600,showColumnButton:de=!1,defaultVisibleFieldNames:g,preferredFieldOrder:I,columnStrategies:ce})=>{let{items:pe=[],total:ue=0}=t||{},s=useMemo(()=>C?b(r):r,[r,C]),fe=useMemo(()=>te({onRowAction:C}),[C]),R=q({metadata:s,renderCell:fe,columnStrategies:ce}),T=useMemo(()=>new Map(R.map(i=>[i.field,i])),[R]),Re=useMemo(()=>{if(!I||I.length===0||!s?.fields)return R;let i="ACTIONS",d=I.filter(m=>m!==i),c=new Set,N=[],H=m=>{let p=s.fields.find(Ce=>Ce.name===m);if(!p)return;let u=W(p),v=T.get(u);!v||c.has(u)||(N.push(v),c.add(u));};return d.forEach(m=>{H(m);}),s.fields.forEach(m=>{if(m.name===i||d.includes(m.name))return;let p=W(m),u=T.get(p);!u||c.has(p)||(N.push(u),c.add(p));}),H(i),N.length===0?R:N},[R,T,s,I]),Te=useMemo(()=>{if(!g||g.length===0||!s?.fields)return;let i={};return s.fields.forEach(d=>{let c=W(d);T.has(c)&&(i[c]=g.includes(d.name));}),{columns:{columnVisibilityModel:i}}},[T,g,s]),De=useCallback(i=>{if(!y)return;let d=i.id?.toString()||"";y(d,i.row);},[y]);return jsx(k,{title:e,columns:Re,rows:pe,mobileRender:le||(()=>null),rowCount:ue,loading:n,fetching:a,searchValue:E,onSearch:ne,onSearchChange:oe,paginationModel:{page:o,pageSize:G},onPaginationChange:ae,actions:me,onAdd:ie,onRowDoubleClick:y?De:void 0,disableRowSelectionOnClick:!0,slots:se,initialState:Te,showColumnButton:de,containerProps:{height:L,maxHeight:L}})},rr=memo(er);
31
+
32
+ export { w as BooleanRenderer, x as DateRenderer, A as DateTimeRenderer, F as EntityRenderer, ve as IconRenderer, Be as NameRenderer, M as NumberRenderer, P as TextRenderer, b as addActionsFieldToMetadata, J as createActionsField, rr as default };
33
+ //# sourceMappingURL=out.js.map
34
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/DynamicDataView/DynamicDataView.tsx","../../../src/components/DynamicDataView/hooks/useDynamicColumns.ts","../../../src/components/DynamicDataView/constants/columnDefaults.ts","../../../src/components/DynamicDataView/utils/columnStrategies.ts","../../../src/components/DynamicDataView/utils/addActionsField.ts","../../../src/components/DynamicDataView/renderers/BooleanRenderer.tsx","../../../src/components/DynamicDataView/renderers/DateRenderer.tsx","../../../src/components/DynamicDataView/renderers/DateTimeRenderer.tsx","../../../src/components/DynamicDataView/renderers/EntityRenderer.tsx","../../../src/components/DynamicDataView/renderers/IconRenderer.tsx","../../../src/components/DynamicDataView/renderers/NameRenderer.tsx","../../../src/components/DynamicDataView/renderers/NumberRenderer.tsx","../../../src/components/DynamicDataView/renderers/TextRenderer.tsx","../../../src/components/DynamicDataView/utils/createCellRenderer.tsx"],"names":["memo","useCallback","useMemo","COLUMN_DEFAULTS","ACCESS_TYPES","CURRENCY_FIELD_NAMES","createImageColumn","field","renderCell","params","createIdColumn","createEntityColumn","createDefaultColumn","createActionsColumn","getColumnStrategy","metadata","useDynamicColumns","columnStrategies","columnsMap","column","createActionsField","addActionsFieldToMetadata","jsx","BooleanRenderer","value","trueLabel","falseLabel","Label_default","BooleanRenderer_default","DateRenderer","format","fDate","DateRenderer_default","DateTimeRenderer","fDateTime","DateTimeRenderer_default","Chip","EntityRenderer","entityValue","EntityRenderer_default","IconRenderer","trueIcon","falseIcon","color","width","Icon_default","IconRenderer_default","Stack","Typography","jsxs","NameRenderer","id","displayName","copyMessage","CopyButton_default","NameRenderer_default","NumberRenderer","isCurrency","fCurrencyBRL","fNumber","NumberRenderer_default","sanitizeHtml","text","TextRenderer","showCopyButton","stringValue","sanitizedValue","TextRenderer_default","getIsCurrency","fieldName","createCellRenderer","context","onRowAction","CellRendererComponent","row","getColumnFieldIdFromField","DynamicDataView","title","data","isLoading","isFetching","page","perPage","searchValue","onSearchChange","onSearch","onPaginationChange","onAdd","onRowDoubleClick","actions","slots","mobileRender","containerHeight","showColumnButton","defaultVisibleFieldNames","preferredFieldOrder","rows","total","effectiveMetadata","columns","columnsByFieldId","orderedColumns","actionFieldName","preferredWithoutActions","usedColumnFieldIds","ordered","pushColumnForField","fieldItem","columnFieldId","initialState","visibilityModel","handleRowDoubleClick","rowId","DataView_default","DynamicDataView_default"],"mappings":"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","sourcesContent":["import { memo, useCallback, useMemo } from 'react';\nimport { GridColumnVisibilityModel } from '@mui/x-data-grid-premium';\n\nimport { Field } from 'types/entityMetadata';\n\nimport DataView from '../DataView';\n\nimport { useDynamicColumns } from './hooks/useDynamicColumns';\nimport { addActionsFieldToMetadata } from './utils/addActionsField';\nimport { createCellRenderer } from './utils/createCellRenderer';\nimport { DynamicDataViewProps, DynamicRowData } from './props';\n\nfunction getColumnFieldIdFromField(field: Field): string {\n return field.name;\n}\n\nconst DynamicDataView = <T extends object = object>({\n title,\n metadata,\n data,\n isLoading,\n isFetching,\n page,\n perPage,\n searchValue,\n onSearchChange,\n onSearch,\n onPaginationChange,\n onAdd,\n onRowAction,\n onRowDoubleClick,\n actions,\n slots,\n mobileRender,\n containerHeight = 600,\n showColumnButton = false,\n defaultVisibleFieldNames,\n preferredFieldOrder,\n columnStrategies,\n}: DynamicDataViewProps<T>) => {\n const { items: rows = [], total = 0 } = data || {};\n\n const effectiveMetadata = useMemo(\n () => (onRowAction ? addActionsFieldToMetadata(metadata) : metadata),\n [metadata, onRowAction],\n );\n\n const renderCell = useMemo(\n () =>\n createCellRenderer<T>({\n onRowAction,\n }),\n [onRowAction],\n );\n\n const columns = useDynamicColumns<T>({\n metadata: effectiveMetadata,\n renderCell,\n columnStrategies,\n });\n\n const columnsByFieldId = useMemo(\n () => new Map(columns.map(column => [column.field, column])),\n [columns],\n );\n\n const orderedColumns = useMemo(() => {\n if (\n !preferredFieldOrder ||\n preferredFieldOrder.length === 0 ||\n !effectiveMetadata?.fields\n ) {\n return columns;\n }\n\n const actionFieldName = 'ACTIONS';\n const preferredWithoutActions = preferredFieldOrder.filter(\n fieldName => fieldName !== actionFieldName,\n );\n\n const usedColumnFieldIds = new Set<string>();\n const ordered: Array<(typeof columns)[number]> = [];\n\n const pushColumnForField = (fieldName: string) => {\n const field = effectiveMetadata.fields.find(\n fieldItem => fieldItem.name === fieldName,\n );\n\n if (!field) {\n return;\n }\n\n const columnFieldId = getColumnFieldIdFromField(field);\n const column = columnsByFieldId.get(columnFieldId);\n\n if (!column || usedColumnFieldIds.has(columnFieldId)) {\n return;\n }\n\n ordered.push(column);\n usedColumnFieldIds.add(columnFieldId);\n };\n\n preferredWithoutActions.forEach(fieldName => {\n pushColumnForField(fieldName);\n });\n\n effectiveMetadata.fields.forEach(field => {\n if (field.name === actionFieldName) {\n return;\n }\n\n if (preferredWithoutActions.includes(field.name)) {\n return;\n }\n\n const columnFieldId = getColumnFieldIdFromField(field);\n const column = columnsByFieldId.get(columnFieldId);\n\n if (!column || usedColumnFieldIds.has(columnFieldId)) {\n return;\n }\n\n ordered.push(column);\n usedColumnFieldIds.add(columnFieldId);\n });\n\n pushColumnForField(actionFieldName);\n\n if (ordered.length === 0) {\n return columns;\n }\n\n return ordered;\n }, [columns, columnsByFieldId, effectiveMetadata, preferredFieldOrder]);\n\n const initialState = useMemo(() => {\n if (\n !defaultVisibleFieldNames ||\n defaultVisibleFieldNames.length === 0 ||\n !effectiveMetadata?.fields\n ) {\n return undefined;\n }\n\n const visibilityModel: GridColumnVisibilityModel = {};\n\n effectiveMetadata.fields.forEach(field => {\n const columnFieldId = getColumnFieldIdFromField(field);\n\n if (!columnsByFieldId.has(columnFieldId)) {\n return;\n }\n\n visibilityModel[columnFieldId] = defaultVisibleFieldNames.includes(\n field.name,\n );\n });\n\n return {\n columns: {\n columnVisibilityModel: visibilityModel,\n },\n };\n }, [columnsByFieldId, defaultVisibleFieldNames, effectiveMetadata]);\n\n const handleRowDoubleClick = useCallback(\n (params: { id: string | number; row: DynamicRowData<T> }) => {\n if (!onRowDoubleClick) return;\n\n const rowId = params.id?.toString() || '';\n onRowDoubleClick(rowId, params.row);\n },\n [onRowDoubleClick],\n );\n\n return (\n <DataView\n title={title}\n columns={orderedColumns}\n rows={rows}\n mobileRender={mobileRender || (() => null)}\n rowCount={total}\n loading={isLoading}\n fetching={isFetching}\n searchValue={searchValue}\n onSearch={onSearch}\n onSearchChange={onSearchChange}\n paginationModel={{\n page,\n pageSize: perPage,\n }}\n onPaginationChange={onPaginationChange}\n actions={actions}\n onAdd={onAdd}\n onRowDoubleClick={onRowDoubleClick ? handleRowDoubleClick : undefined}\n disableRowSelectionOnClick\n slots={slots}\n initialState={initialState}\n showColumnButton={showColumnButton}\n containerProps={{\n height: containerHeight,\n maxHeight: containerHeight,\n }}\n />\n );\n};\n\nexport default memo(DynamicDataView) as typeof DynamicDataView;\nexport type {\n DynamicDataViewProps,\n DynamicRowData,\n MobileRenderFunction,\n} from './props';\n","import { useMemo } from 'react';\nimport { GridColDef } from '@mui/x-data-grid-premium';\n\nimport { Columns } from 'types/datagrid';\nimport { EntityMetadataResponse } from 'types/entityMetadata';\n\nimport { ACCESS_TYPES } from '../constants/columnDefaults';\nimport { CellRenderer } from '../types/cellRenderer';\nimport { ColumnStrategy, getColumnStrategy } from '../utils/columnStrategies';\n\ninterface UseDynamicColumnsProps<T> {\n metadata?: EntityMetadataResponse;\n renderCell: CellRenderer<T>;\n columnStrategies?: {\n [fieldName: string]: ColumnStrategy<T>;\n };\n}\n\nexport const useDynamicColumns = <T extends object>({\n metadata,\n renderCell,\n columnStrategies,\n}: UseDynamicColumnsProps<T>): Columns => {\n return useMemo(() => {\n if (!metadata?.fields) return [];\n\n const columnsMap = new Map<string, GridColDef>();\n\n const visibleFields = metadata.fields.filter(field => {\n if (\n field.access_type === ACCESS_TYPES.READ_ONLY ||\n field.access_type === ACCESS_TYPES.READ_AND_WRITE\n ) {\n return true;\n }\n\n return (\n field.name === 'ACTIONS' ||\n field.name === metadata?.id_field_name ||\n field.name === 'NAME'\n );\n });\n\n visibleFields.forEach(field => {\n if (columnsMap.has(field.name)) {\n return;\n }\n\n const strategy =\n columnStrategies?.[field.name] ?? getColumnStrategy<T>(field, metadata);\n const column = strategy(field, renderCell, metadata);\n\n columnsMap.set(field.name, column);\n });\n\n return Array.from(columnsMap.values());\n }, [columnStrategies, metadata, renderCell]);\n};\n","export const COLUMN_DEFAULTS = {\n IMAGE_WIDTH: 90,\n MIN_WIDTH: 130,\n ID_MIN_WIDTH: 200,\n ENTITY_MIN_WIDTH: 160,\n HIGHLIGHT_MAX_WIDTH: 80,\n ACTIONS_WIDTH: 80,\n ID_FLEX: 2,\n ENTITY_FLEX: 1,\n} as const;\n\nexport const ACCESS_TYPES = {\n READ_ONLY: 'READ_ONLY',\n READ_AND_WRITE: 'READ_AND_WRITE',\n} as const;\n\nexport const CURRENCY_FIELD_NAMES: readonly string[] = [\n 'price',\n 'base_price',\n 'minimum_value',\n 'maximum_value',\n 'minimum_installment_value',\n];\n","import { GridColDef, GridRenderCellParams } from '@mui/x-data-grid-premium';\n\nimport { Field } from 'types/entityMetadata';\n\nimport { COLUMN_DEFAULTS } from '../constants/columnDefaults';\nimport { CellRenderer, DynamicRowData } from '../types/cellRenderer';\n\nexport type ColumnStrategy<T = object> = (\n field: Field,\n renderCell: CellRenderer<T>,\n metadata?: { id_field_name?: string },\n) => GridColDef;\n\nconst createImageColumn = <T extends object>(\n field: Field,\n renderCell: CellRenderer<T>,\n): GridColDef => ({\n field: field.name,\n headerName: field.description,\n sortable: false,\n width: COLUMN_DEFAULTS.IMAGE_WIDTH,\n resizable: false,\n renderCell: (params: GridRenderCellParams) =>\n renderCell(field, params.row as DynamicRowData<T>),\n});\n\nconst createIdColumn = <T extends object>(\n field: Field,\n renderCell: CellRenderer<T>,\n): GridColDef => ({\n field: field.name,\n headerName: field.description,\n minWidth: COLUMN_DEFAULTS.ID_MIN_WIDTH,\n flex: COLUMN_DEFAULTS.ID_FLEX,\n renderCell: (params: GridRenderCellParams) =>\n renderCell(field, params.row as DynamicRowData<T>),\n});\n\nconst createEntityColumn = <T extends object>(\n field: Field,\n renderCell: CellRenderer<T>,\n): GridColDef => ({\n field: field.name,\n headerName: field.description,\n minWidth: COLUMN_DEFAULTS.ENTITY_MIN_WIDTH,\n flex: COLUMN_DEFAULTS.ENTITY_FLEX,\n renderCell: (params: GridRenderCellParams) =>\n renderCell(field, params.row as DynamicRowData<T>),\n});\n\nconst createDefaultColumn = <T extends object>(\n field: Field,\n renderCell: CellRenderer<T>,\n): GridColDef => ({\n field: field.name,\n headerName: field.description,\n minWidth: COLUMN_DEFAULTS.MIN_WIDTH,\n renderCell: (params: GridRenderCellParams) =>\n renderCell(field, params.row as DynamicRowData<T>),\n});\n\nconst createActionsColumn = <T extends object>(\n field: Field,\n renderCell: CellRenderer<T>,\n): GridColDef => ({\n field: field.name,\n headerName: 'Ações',\n width: COLUMN_DEFAULTS.ACTIONS_WIDTH,\n sortable: false,\n resizable: false,\n disableReorder: true,\n headerAlign: 'center',\n disableColumnMenu: true,\n align: 'center',\n renderCell: (params: GridRenderCellParams) =>\n renderCell(field, params.row as DynamicRowData<T>),\n});\n\nexport const getColumnStrategy = <T extends object>(\n field: Field,\n metadata?: { id_field_name?: string },\n): ColumnStrategy<T> => {\n if (field.name === metadata?.id_field_name || field.name === 'name') {\n return createIdColumn;\n }\n\n if (field.name === 'ACTIONS') {\n return createActionsColumn;\n }\n\n if (field.type === 'FILE') {\n return createImageColumn;\n }\n\n if (field.type === 'ENTITY') {\n return createEntityColumn;\n }\n\n return createDefaultColumn;\n};\n","import { EntityMetadataResponse, Field } from 'types/entityMetadata';\n\nexport const createActionsField = (): Field => ({\n name: 'ACTIONS',\n description: '',\n filter_field_name: null,\n type: 'TEXT',\n metadata: null,\n access_type: 'READ_ONLY',\n relation_field_name: null,\n available_filter_conditions: [],\n});\n\nexport const addActionsFieldToMetadata = (\n metadata: EntityMetadataResponse,\n): EntityMetadataResponse => {\n const hasActionsField = metadata.fields.some(\n field => field.name === 'ACTIONS',\n );\n\n if (hasActionsField) {\n return metadata;\n }\n\n return {\n ...metadata,\n fields: [...metadata.fields, createActionsField()],\n };\n};\n","import { memo, ReactNode } from 'react';\n\nimport Label from '../../Label';\n\nimport { BooleanRendererProps } from './props';\n\nconst BooleanRenderer = ({\n value,\n trueLabel = 'Ativo',\n falseLabel = 'Inativo',\n}: BooleanRendererProps): ReactNode => {\n return (\n <Label color={value ? 'success' : 'warning'}>\n {value ? trueLabel : falseLabel}\n </Label>\n );\n};\n\nexport default memo(BooleanRenderer);\n","import { memo, ReactNode } from 'react';\n\nimport { DatePickerFormat, fDate } from 'utils/formatTime';\n\nexport interface DateRendererProps {\n value: unknown;\n format?: string;\n}\n\nconst DateRenderer = ({ value, format }: DateRendererProps): ReactNode => {\n if (value === null || value === undefined) return '-';\n\n return fDate(value as DatePickerFormat, format);\n};\n\nexport default memo(DateRenderer);\n","import { memo, ReactNode } from 'react';\n\nimport { DatePickerFormat, fDateTime } from 'utils/formatTime';\n\nexport interface DateTimeRendererProps {\n value: unknown;\n format?: string;\n}\n\nconst DateTimeRenderer = ({\n value,\n format,\n}: DateTimeRendererProps): ReactNode => {\n if (value === null || value === undefined) return '-';\n\n return fDateTime(value as DatePickerFormat, format);\n};\n\nexport default memo(DateTimeRenderer);\n","import { memo, ReactNode } from 'react';\nimport Chip from '@mui/material/Chip';\n\nimport { EntityRendererProps } from './props';\n\nconst EntityRenderer = ({ value, field }: EntityRendererProps): ReactNode => {\n if (!field.metadata || typeof value !== 'object' || value === null) {\n return value ? String(value) : '-';\n }\n\n const entityValue = (value as Record<string, unknown>)[\n field.metadata.description_field_name\n ];\n\n if (!entityValue) return null;\n\n return (\n <Chip\n label={String(entityValue)}\n variant=\"outlined\"\n size=\"small\"\n sx={{\n width: 'fit-content',\n color: 'text.secondary',\n borderColor: 'divider',\n px: 1.5,\n }}\n />\n );\n};\n\nexport default memo(EntityRenderer);\n","import { memo, ReactNode } from 'react';\n\nimport Icon, { IconEnum } from '../../Icon';\n\nimport { IconRendererProps } from './props';\n\nconst IconRenderer = ({\n value,\n trueIcon = IconEnum.STAR_02,\n falseIcon = IconEnum.STAR,\n color = 'primary.main',\n width = 18,\n}: IconRendererProps): ReactNode => {\n return (\n <Icon icon={value ? trueIcon : falseIcon} color={color} width={width} />\n );\n};\n\nexport default memo(IconRenderer);\n","import { memo, ReactNode } from 'react';\nimport Stack from '@mui/material/Stack';\nimport Typography from '@mui/material/Typography';\n\nimport CopyButton from 'components/CopyButton';\n\nimport { NameRendererProps } from './props';\n\nconst NameRenderer = ({\n id,\n displayName,\n copyMessage = 'ID copiado!',\n}: NameRendererProps): ReactNode => {\n return (\n <Stack height={1} justifyContent=\"center\">\n <Typography variant=\"subtitle2\" noWrap title={displayName}>\n {displayName}\n </Typography>\n <Stack direction=\"row\" gap={1} alignItems=\"center\">\n <Typography color=\"grey.600\" variant=\"body2\" noWrap>\n ID: {id}\n </Typography>\n <CopyButton toCopy={id} message={copyMessage} />\n </Stack>\n </Stack>\n );\n};\n\nexport default memo(NameRenderer);\n","import { memo, ReactNode } from 'react';\nimport Typography from '@mui/material/Typography';\n\nimport { fCurrencyBRL, fNumber } from 'utils/formatNumber';\n\nimport { NumberRendererProps } from './props';\n\nconst NumberRenderer = ({\n value,\n isCurrency = false,\n}: NumberRendererProps): ReactNode => {\n if (value === null || value === undefined) return '-';\n\n if (isCurrency) {\n return (\n <Typography variant=\"body2\" noWrap width=\"fit-content\">\n {fCurrencyBRL(Number(value))}\n </Typography>\n );\n }\n\n return (\n <Typography variant=\"body2\" noWrap width=\"fit-content\">\n {fNumber(Number(value))}\n </Typography>\n );\n};\n\nexport default memo(NumberRenderer);\n","import { memo, ReactNode } from 'react';\nimport Stack from '@mui/material/Stack';\nimport Typography from '@mui/material/Typography';\n\nimport CopyButton from 'components/CopyButton';\n\nimport { TextRendererProps } from './props';\n\nconst sanitizeHtml = (text: string): string => {\n const withoutTags = text.replace(/<[^>]*>/g, '');\n return withoutTags\n .replace(/&nbsp;/g, ' ')\n .replace(/&amp;/g, '&')\n .replace(/&lt;/g, '<')\n .replace(/&gt;/g, '>')\n .replace(/&quot;/g, '\"')\n .replace(/&#39;/g, \"'\")\n .trim();\n};\n\nconst TextRenderer = ({\n value,\n showCopyButton = false,\n copyMessage = 'Copiado',\n}: TextRendererProps): ReactNode => {\n if (!value) return '-';\n\n const stringValue = String(value);\n const sanitizedValue = sanitizeHtml(stringValue);\n\n if (showCopyButton) {\n return (\n <Stack direction=\"row\" gap={1} alignItems=\"center\">\n <Typography variant=\"body2\" noWrap>\n {sanitizedValue}\n </Typography>\n <CopyButton toCopy={sanitizedValue} message={copyMessage} />\n </Stack>\n );\n }\n\n return sanitizedValue;\n};\n\nexport default memo(TextRenderer);\n","import { ReactNode } from 'react';\n\nimport { Field } from 'types/entityMetadata';\n\nimport { CURRENCY_FIELD_NAMES } from '../constants/columnDefaults';\nimport { CellRenderer, DynamicRowData } from '../props';\nimport {\n BooleanRenderer,\n DateRenderer,\n DateTimeRenderer,\n EntityRenderer,\n NumberRenderer,\n TextRenderer,\n} from '../renderers';\n\nfunction getIsCurrency(fieldName: string): boolean {\n return CURRENCY_FIELD_NAMES.includes(fieldName);\n}\n\nexport const createCellRenderer = <T extends object = object>(context: {\n onRowAction?: (rowId: string, row: DynamicRowData<T>) => ReactNode;\n}): CellRenderer<T> => {\n const { onRowAction } = context;\n\n const CellRendererComponent = (\n field: Field,\n row: DynamicRowData<T>,\n ): ReactNode => {\n const value = row[field.name];\n\n if (field.name === 'ACTIONS') {\n return onRowAction?.(row.id, row);\n }\n\n switch (field.type) {\n case 'BOOLEAN':\n return <BooleanRenderer value={value} />;\n\n case 'DATE':\n return <DateRenderer value={value} />;\n\n case 'DATETIME':\n return <DateTimeRenderer value={value} />;\n\n case 'DECIMAL':\n case 'INTEGER':\n return (\n <NumberRenderer\n value={value}\n isCurrency={getIsCurrency(field.name)}\n />\n );\n\n case 'FILE':\n case 'ENTITY':\n return <EntityRenderer value={value} field={field} />;\n case 'TEXT':\n default:\n return <TextRenderer value={value} />;\n }\n };\n\n CellRendererComponent.displayName = 'CellRendererComponent';\n return CellRendererComponent;\n};\n"]}
@@ -1,9 +1,8 @@
1
- export { a as default } from '../../chunk-2524OVV6.js';
1
+ export { a as default } from '../../chunk-ESUU2GHD.js';
2
+ import '../../chunk-TBUIZEOJ.js';
2
3
  import '../../chunk-KGLU4CR2.js';
3
- import '../../chunk-NFVYPXDX.js';
4
- import '../../chunk-6TMIYG63.js';
4
+ import '../../chunk-GC7GAEFE.js';
5
5
  import '../../chunk-TC4DDJSR.js';
6
- import '../../chunk-DJ22BFQ5.js';
7
6
  import '../../chunk-RPO7AI5K.js';
8
7
  //# sourceMappingURL=out.js.map
9
8
  //# sourceMappingURL=index.js.map
@@ -1,6 +1,5 @@
1
- import { a } from '../../chunk-6TMIYG63.js';
1
+ import { a } from '../../chunk-GC7GAEFE.js';
2
2
  import '../../chunk-TC4DDJSR.js';
3
- import '../../chunk-DJ22BFQ5.js';
4
3
  import F from '@mui/material/Button';
5
4
  import i from '@mui/material/Stack';
6
5
  import l from '@mui/material/Typography';