@carto/meridian-ds 2.7.0 → 2.8.0-alpha-empty-state.2

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 (85) hide show
  1. package/CHANGELOG.md +10 -1
  2. package/dist/{Alert-BfDnWlbD.js → Alert-BZPM5zpX.js} +1 -1
  3. package/dist/{Alert-CPvYAHO_.cjs → Alert-C4W0H_uN.cjs} +1 -1
  4. package/dist/{MenuItem-D90EfuGS.js → MenuItem-Cx5lTXXm.js} +16 -2
  5. package/dist/{MenuItem-ZSYcQBtg.cjs → MenuItem-DoBJsRR_.cjs} +15 -1
  6. package/dist/components/index.cjs +258 -93
  7. package/dist/components/index.js +267 -102
  8. package/dist/{css-utils-DjvM17Vb.cjs → css-utils-CH7es90t.cjs} +15 -0
  9. package/dist/{css-utils-BHYA7By_.js → css-utils-CjUBRJVK.js} +15 -0
  10. package/dist/custom-icons/index.cjs +296 -226
  11. package/dist/custom-icons/index.js +296 -226
  12. package/dist/theme/index.cjs +96 -24
  13. package/dist/theme/index.js +81 -9
  14. package/dist/types/components/CircularProgress/CircularProgress.d.ts +19 -0
  15. package/dist/types/components/CircularProgress/CircularProgress.d.ts.map +1 -0
  16. package/dist/types/components/CircularProgress/CircularProgress.stories.d.ts +72 -0
  17. package/dist/types/components/CircularProgress/CircularProgress.stories.d.ts.map +1 -0
  18. package/dist/types/components/CircularProgress/CircularProgress.test.d.ts +2 -0
  19. package/dist/types/components/CircularProgress/CircularProgress.test.d.ts.map +1 -0
  20. package/dist/types/components/CircularProgress/index.d.ts +3 -0
  21. package/dist/types/components/CircularProgress/index.d.ts.map +1 -0
  22. package/dist/types/components/Dialog/DialogConfirmation/DialogConfirmation.d.ts +1 -1
  23. package/dist/types/components/Dialog/DialogConfirmation/DialogConfirmation.d.ts.map +1 -1
  24. package/dist/types/components/Dialog/DialogConfirmation/DialogConfirmation.stories.d.ts +13 -0
  25. package/dist/types/components/Dialog/DialogConfirmation/DialogConfirmation.stories.d.ts.map +1 -1
  26. package/dist/types/components/Dialog/DialogHeader/DialogHeader.d.ts +1 -1
  27. package/dist/types/components/Dialog/DialogHeader/DialogHeader.d.ts.map +1 -1
  28. package/dist/types/components/Dialog/DialogHeader/DialogHeader.stories.d.ts +31 -0
  29. package/dist/types/components/Dialog/DialogHeader/DialogHeader.stories.d.ts.map +1 -1
  30. package/dist/types/components/Dialog/types.d.ts +7 -1
  31. package/dist/types/components/Dialog/types.d.ts.map +1 -1
  32. package/dist/types/components/EmptyState/EmptyState.d.ts +4 -0
  33. package/dist/types/components/EmptyState/EmptyState.d.ts.map +1 -0
  34. package/dist/types/components/EmptyState/EmptyState.stories.d.ts +159 -0
  35. package/dist/types/components/EmptyState/EmptyState.stories.d.ts.map +1 -0
  36. package/dist/types/components/EmptyState/EmptyState.styled.d.ts +36 -0
  37. package/dist/types/components/EmptyState/EmptyState.styled.d.ts.map +1 -0
  38. package/dist/types/components/EmptyState/EmptyState.test.d.ts +2 -0
  39. package/dist/types/components/EmptyState/EmptyState.test.d.ts.map +1 -0
  40. package/dist/types/components/EmptyState/index.d.ts +3 -0
  41. package/dist/types/components/EmptyState/index.d.ts.map +1 -0
  42. package/dist/types/components/EmptyState/types.d.ts +82 -0
  43. package/dist/types/components/EmptyState/types.d.ts.map +1 -0
  44. package/dist/types/components/Loader/Loader.d.ts +4 -0
  45. package/dist/types/components/Loader/Loader.d.ts.map +1 -0
  46. package/dist/types/components/Loader/Loader.stories.d.ts +130 -0
  47. package/dist/types/components/Loader/Loader.stories.d.ts.map +1 -0
  48. package/dist/types/components/Loader/Loader.test.d.ts +2 -0
  49. package/dist/types/components/Loader/Loader.test.d.ts.map +1 -0
  50. package/dist/types/components/Loader/index.d.ts +3 -0
  51. package/dist/types/components/Loader/index.d.ts.map +1 -0
  52. package/dist/types/components/Loader/types.d.ts +40 -0
  53. package/dist/types/components/Loader/types.d.ts.map +1 -0
  54. package/dist/types/components/SearchField/SearchField.styled.d.ts.map +1 -1
  55. package/dist/types/components/ToggleButtonGroup/ToggleButtonGroup.d.ts +1 -4
  56. package/dist/types/components/ToggleButtonGroup/ToggleButtonGroup.d.ts.map +1 -1
  57. package/dist/types/components/index.d.ts +6 -0
  58. package/dist/types/components/index.d.ts.map +1 -1
  59. package/dist/types/custom-icons/CreateFolder.d.ts +4 -0
  60. package/dist/types/custom-icons/CreateFolder.d.ts.map +1 -0
  61. package/dist/types/custom-icons/FolderEmpty.d.ts +4 -0
  62. package/dist/types/custom-icons/FolderEmpty.d.ts.map +1 -0
  63. package/dist/types/custom-icons/SelectFeature.d.ts.map +1 -1
  64. package/dist/types/custom-icons/index.d.ts +2 -0
  65. package/dist/types/custom-icons/index.d.ts.map +1 -1
  66. package/dist/types/localization/en.d.ts +5 -0
  67. package/dist/types/localization/en.d.ts.map +1 -1
  68. package/dist/types/localization/es.d.ts +5 -0
  69. package/dist/types/localization/es.d.ts.map +1 -1
  70. package/dist/types/localization/id.d.ts +5 -0
  71. package/dist/types/localization/id.d.ts.map +1 -1
  72. package/dist/types/localization/index.d.ts +15 -0
  73. package/dist/types/localization/index.d.ts.map +1 -1
  74. package/dist/types/theme/components/buttons.d.ts.map +1 -1
  75. package/dist/types/theme/components/forms.d.ts.map +1 -1
  76. package/dist/types/theme/components/stories/{Progress.stories.d.ts → LinearProgress.stories.d.ts} +12 -22
  77. package/dist/types/theme/components/stories/LinearProgress.stories.d.ts.map +1 -0
  78. package/dist/types/theme/types.d.ts +11 -0
  79. package/dist/types/theme/types.d.ts.map +1 -1
  80. package/dist/types/utils/theme-utils.d.ts +16 -0
  81. package/dist/types/utils/theme-utils.d.ts.map +1 -1
  82. package/dist/widgets/index.cjs +2 -2
  83. package/dist/widgets/index.js +2 -2
  84. package/package.json +2 -2
  85. package/dist/types/theme/components/stories/Progress.stories.d.ts.map +0 -1
@@ -1,14 +1,14 @@
1
1
  import { jsx, jsxs, Fragment } from "react/jsx-runtime";
2
2
  import React, { forwardRef, useState, useRef, useEffect, useMemo, createElement, Fragment as Fragment$1, useCallback, useImperativeHandle } from "react";
3
- import { styled, Box, Button as Button$1, CircularProgress, Popper, Grow, Paper, ClickAwayListener, MenuList as MenuList$1, MenuItem, ButtonGroup as ButtonGroup$1, TextField, InputAdornment, Select, FormControl, InputLabel, FormHelperText, Link, Checkbox, IconButton as IconButton$1, ListItemText, Tooltip, ToggleButtonGroup as ToggleButtonGroup$1, Autocomplete as Autocomplete$1, Divider, ListItemIcon, createFilterOptions, alpha, useTheme, AppBar as AppBar$1, Toolbar, Dialog as Dialog$1, DialogTitle as DialogTitle$1, Chip, DialogContent as DialogContent$1, DialogActions as DialogActions$1, Slide, Accordion, AccordionSummary, AccordionDetails, Avatar as Avatar$1, Menu as Menu$2, useMediaQuery, Stack, Snackbar as Snackbar$1, Portal, Fade } from "@mui/material";
3
+ import { styled, Box, Button as Button$1, CircularProgress as CircularProgress$1, Popper, Grow, Paper, ClickAwayListener, MenuList as MenuList$1, MenuItem, ButtonGroup as ButtonGroup$1, TextField, InputAdornment, Select, FormControl, InputLabel, FormHelperText, Link, Checkbox, IconButton as IconButton$1, ListItemText, Tooltip, ToggleButtonGroup as ToggleButtonGroup$1, Stack, Autocomplete as Autocomplete$1, Divider, ListItemIcon, createFilterOptions, alpha, useTheme, AppBar as AppBar$1, Toolbar, Dialog as Dialog$1, DialogTitle as DialogTitle$1, Chip, DialogContent as DialogContent$1, DialogActions as DialogActions$1, Slide, Accordion, AccordionSummary, AccordionDetails, Avatar as Avatar$1, Menu as Menu$2, useMediaQuery, Snackbar as Snackbar$1, Portal, Fade } from "@mui/material";
4
4
  import { OpenInNewOutlined, VisibilityOffOutlined, VisibilityOutlined, Cancel, ContentCopyOutlined, AddCircleOutlineOutlined, MenuOutlined, MoreVertOutlined, HelpOutline, ErrorOutline, CloseOutlined, Check, TodayOutlined } from "@mui/icons-material";
5
- import { u as useTranslationWithFallback, T as Typography, c as ICON_SIZE_SMALL, i as IconButton, f as MENU_ITEM_SIZE_DENSE, d as MENU_LIST_MAX_SIZE, h as MENU_ITEM_SIZE_EXTENDED, M as MENU_ITEM_SIZE_DEFAULT, A as APPBAR_SIZE, j as useImperativeIntl, b as ICON_SIZE_MEDIUM, N as NOTIFICATION_DURATION_IN_MS, e as ellipsisStyles } from "../css-utils-BHYA7By_.js";
6
- import { a } from "../css-utils-BHYA7By_.js";
7
- import { S as ScreenReaderOnly, A as Alert$1 } from "../Alert-BfDnWlbD.js";
8
- import { L } from "../Alert-BfDnWlbD.js";
5
+ import { u as useTranslationWithFallback, T as Typography, c as ICON_SIZE_SMALL, i as IconButton, f as MENU_ITEM_SIZE_DENSE, d as MENU_LIST_MAX_SIZE, h as MENU_ITEM_SIZE_EXTENDED, M as MENU_ITEM_SIZE_DEFAULT, A as APPBAR_SIZE, j as useImperativeIntl, b as ICON_SIZE_MEDIUM, N as NOTIFICATION_DURATION_IN_MS, e as ellipsisStyles } from "../css-utils-CjUBRJVK.js";
6
+ import { a } from "../css-utils-CjUBRJVK.js";
7
+ import { S as ScreenReaderOnly, A as Alert$1 } from "../Alert-BZPM5zpX.js";
8
+ import { L } from "../Alert-BZPM5zpX.js";
9
9
  import { A as ArrowDown } from "../ArrowDown-d6bxUL0F.js";
10
10
  import { A as ArrowUp, O as OpenDiagonallyRight, C as CloseDiagonallyRight } from "../OpenDiagonallyRight-CGdCEXlF.js";
11
- import { M as MenuItem$1 } from "../MenuItem-D90EfuGS.js";
11
+ import { M as MenuItem$1, a as getThemeColor } from "../MenuItem-Cx5lTXXm.js";
12
12
  import "cartocolor";
13
13
  import { FixedSizeList } from "react-window";
14
14
  import { Controlled, UnControlled } from "react-codemirror2";
@@ -74,7 +74,7 @@ function _Button({
74
74
  "c4r.button.opensInNewTab",
75
75
  screenReaderText
76
76
  );
77
- const defaultIconLoader = /* @__PURE__ */ jsx(CircularProgress, { size: 18, color: "inherit" });
77
+ const defaultIconLoader = /* @__PURE__ */ jsx(CircularProgress$1, { size: 18, color: "inherit" });
78
78
  const isDefaultLoading = loading && loadingPosition === void 0;
79
79
  const isExternalLink = otherProps.href && external;
80
80
  const renderContent = () => {
@@ -223,7 +223,7 @@ function SplitButton({
223
223
  )
224
224
  ] });
225
225
  }
226
- const Root$5 = styled(Box)(({ theme }) => ({
226
+ const Root$6 = styled(Box)(({ theme }) => ({
227
227
  display: "flex",
228
228
  alignItems: "center",
229
229
  gap: theme.spacing(0.5)
@@ -257,7 +257,7 @@ function _LabelWithIndicator({
257
257
  typographyProps
258
258
  }, ref) {
259
259
  return /* @__PURE__ */ jsxs(
260
- Root$5,
260
+ Root$6,
261
261
  {
262
262
  ref,
263
263
  "data-testid": dataTestId,
@@ -775,77 +775,8 @@ function _MultipleSelectField({
775
775
  }
776
776
  const MultipleSelectField = forwardRef(_MultipleSelectField);
777
777
  const StyledToggleButtonGroup = styled(ToggleButtonGroup$1, {
778
- shouldForwardProp: (prop) => prop !== "variant" && prop !== "backgroundColor"
779
- })(({ variant, backgroundColor, theme }) => ({
780
- // Variants
781
- ...variant === "contained" && {
782
- boxShadow: "none"
783
- },
784
- ...variant === "unbounded" && {
785
- boxShadow: "none",
786
- borderRadius: theme.spacing(0.5),
787
- "& .MuiDivider-root": {
788
- height: theme.spacing(4),
789
- "&.MuiToggleButtonGroup-groupedHorizontal": {
790
- height: theme.spacing(4)
791
- },
792
- "&.MuiToggleButtonGroup-groupedVertical": {
793
- height: "auto",
794
- width: theme.spacing(4),
795
- margin: `${theme.spacing(0.5, 0, 1)} !important`,
796
- borderRadius: "0 !important"
797
- }
798
- },
799
- "& .MuiToggleButton-sizeSmall": {
800
- margin: 0,
801
- "&.MuiToggleButtonGroup-grouped:not(.MuiDivider-root)": {
802
- margin: 0
803
- },
804
- "& + .MuiDivider-root.MuiToggleButtonGroup-groupedHorizontal": {
805
- height: theme.spacing(3)
806
- },
807
- "& + .MuiDivider-root.MuiToggleButtonGroup-groupedVertical": {
808
- height: "auto",
809
- width: theme.spacing(3)
810
- }
811
- },
812
- ".MuiToggleButtonGroup-grouped:not(.MuiDivider-root)": {
813
- margin: 0,
814
- "&:first-of-type": {
815
- marginLeft: 0
816
- },
817
- "&:not(:last-of-type)": {
818
- marginRight: theme.spacing(0.5)
819
- }
820
- },
821
- "&.MuiToggleButtonGroup-horizontal:not(.MuiDivider-root)": {
822
- ".MuiToggleButtonGroup-grouped": {
823
- margin: theme.spacing(0, 0.5)
824
- }
825
- },
826
- "&.MuiToggleButtonGroup-vertical:not(.MuiDivider-root)": {
827
- ".MuiToggleButtonGroup-grouped": {
828
- margin: theme.spacing(0, 0, 0.5),
829
- "&:not(:last-of-type)": {
830
- marginRight: 0
831
- },
832
- "&:last-of-type": {
833
- marginBottom: 0
834
- }
835
- }
836
- }
837
- },
838
- // Colors
839
- ...backgroundColor === "primary" && {
840
- backgroundColor: theme.palette.background.paper
841
- },
842
- ...backgroundColor === "secondary" && {
843
- backgroundColor: theme.palette.background.default
844
- },
845
- ...backgroundColor === "transparent" && {
846
- backgroundColor: "transparent"
847
- }
848
- }));
778
+ shouldForwardProp: (prop) => prop !== "backgroundColor"
779
+ })();
849
780
  function _ToggleButtonGroup({
850
781
  children,
851
782
  variant = "floating",
@@ -861,6 +792,7 @@ function _ToggleButtonGroup({
861
792
  StyledToggleButtonGroup,
862
793
  {
863
794
  ...rest,
795
+ ref,
864
796
  variant,
865
797
  backgroundColor: resolvedBackgroundColor,
866
798
  orientation,
@@ -870,12 +802,107 @@ function _ToggleButtonGroup({
870
802
  "data-size": size,
871
803
  "data-background-color": resolvedBackgroundColor,
872
804
  "data-name": "toggle-button-group",
873
- ref,
874
805
  children
875
806
  }
876
807
  );
877
808
  }
878
809
  const ToggleButtonGroup = forwardRef(_ToggleButtonGroup);
810
+ function _CircularProgress({
811
+ color = "primary",
812
+ size = 40,
813
+ thickness = 4,
814
+ ...otherProps
815
+ }, ref) {
816
+ const muiColor = color === "neutral" ? void 0 : color;
817
+ return /* @__PURE__ */ jsx(
818
+ CircularProgress$1,
819
+ {
820
+ ...otherProps,
821
+ ref,
822
+ size,
823
+ thickness,
824
+ color: muiColor,
825
+ "data-name": "circular-progress",
826
+ "data-color": color,
827
+ "data-thickness": thickness
828
+ }
829
+ );
830
+ }
831
+ const CircularProgress = forwardRef(
832
+ _CircularProgress
833
+ );
834
+ const Wrapper = styled(Stack, {
835
+ shouldForwardProp: (prop) => prop !== "contentHeight"
836
+ })(({ contentHeight, theme }) => ({
837
+ alignItems: "center",
838
+ justifyContent: "center",
839
+ gap: theme.spacing(1.5),
840
+ width: "100%",
841
+ ...contentHeight && {
842
+ flex: 1,
843
+ height: contentHeight,
844
+ minHeight: contentHeight
845
+ }
846
+ }));
847
+ function _Loader({
848
+ label,
849
+ secondLabel,
850
+ contentHeight,
851
+ labelProps,
852
+ secondLabelProps,
853
+ iconProps,
854
+ sx,
855
+ ...otherProps
856
+ }, ref) {
857
+ const labelText = useTranslationWithFallback("c4r.utils.loader.label", label);
858
+ const hasAnyLabel = labelText || secondLabel;
859
+ return /* @__PURE__ */ jsxs(
860
+ Wrapper,
861
+ {
862
+ contentHeight,
863
+ sx,
864
+ ...otherProps,
865
+ ref,
866
+ "aria-busy": true,
867
+ "data-name": "loader",
868
+ "data-content-height": contentHeight,
869
+ children: [
870
+ /* @__PURE__ */ jsx(
871
+ CircularProgress,
872
+ {
873
+ color: "primary",
874
+ size: 40,
875
+ ...iconProps,
876
+ "aria-labelledby": hasAnyLabel ? "loader-label" : void 0
877
+ }
878
+ ),
879
+ hasAnyLabel && /* @__PURE__ */ jsxs(Stack, { direction: "column", alignItems: "center", children: [
880
+ labelText && /* @__PURE__ */ jsx(
881
+ Typography,
882
+ {
883
+ variant: "body2",
884
+ color: "textSecondary",
885
+ ...labelProps,
886
+ id: "loader-label",
887
+ children: labelText
888
+ }
889
+ ),
890
+ secondLabel && /* @__PURE__ */ jsx(
891
+ Typography,
892
+ {
893
+ variant: "body2",
894
+ color: "textSecondary",
895
+ ...secondLabelProps,
896
+ id: labelText ? void 0 : "loader-label",
897
+ children: secondLabel
898
+ }
899
+ )
900
+ ] })
901
+ ]
902
+ }
903
+ );
904
+ }
905
+ const Loader = forwardRef(_Loader);
879
906
  async function copyString(value) {
880
907
  return await navigator.clipboard.writeText(value);
881
908
  }
@@ -1207,7 +1234,7 @@ function _Autocomplete({
1207
1234
  ...props,
1208
1235
  ref,
1209
1236
  disabled: disabled || loading,
1210
- popupIcon: loading ? /* @__PURE__ */ jsx(CircularProgress, { size: 18, color: "inherit" }) : /* @__PURE__ */ jsx(ArrowDown, {}),
1237
+ popupIcon: loading ? /* @__PURE__ */ jsx(CircularProgress$1, { size: 18, color: "inherit" }) : /* @__PURE__ */ jsx(ArrowDown, {}),
1211
1238
  "data-name": "autocomplete",
1212
1239
  ListboxProps: {
1213
1240
  "aria-multiselectable": false,
@@ -1704,7 +1731,7 @@ function _CreatableAutocomplete({
1704
1731
  ListboxProps: listboxProps,
1705
1732
  getLimitTagsText: getLimitTagsText ?? getDefaultLimitTagsText,
1706
1733
  disabled: disabled || loading,
1707
- popupIcon: loading ? /* @__PURE__ */ jsx(CircularProgress, { size: 18, color: "inherit" }) : /* @__PURE__ */ jsx(ArrowDown, {}),
1734
+ popupIcon: loading ? /* @__PURE__ */ jsx(CircularProgress$1, { size: 18, color: "inherit" }) : /* @__PURE__ */ jsx(ArrowDown, {}),
1708
1735
  "data-name": "creatable-autocomplete"
1709
1736
  }
1710
1737
  );
@@ -1783,7 +1810,7 @@ function _MultipleAutocomplete({
1783
1810
  getLimitTagsText: getLimitTagsText ?? getDefaultLimitTagsText,
1784
1811
  disableCloseOnSelect,
1785
1812
  disabled: disabled || loading,
1786
- popupIcon: loading ? /* @__PURE__ */ jsx(CircularProgress, { size: 18, color: "inherit" }) : /* @__PURE__ */ jsx(ArrowDown, {}),
1813
+ popupIcon: loading ? /* @__PURE__ */ jsx(CircularProgress$1, { size: 18, color: "inherit" }) : /* @__PURE__ */ jsx(ArrowDown, {}),
1787
1814
  "data-name": "multiple-autocomplete"
1788
1815
  }
1789
1816
  );
@@ -1902,7 +1929,7 @@ function SecondaryText({ text }) {
1902
1929
  }
1903
1930
  );
1904
1931
  }
1905
- const Root$4 = styled(AppBar$1)(({ theme }) => ({
1932
+ const Root$5 = styled(AppBar$1)(({ theme }) => ({
1906
1933
  backgroundColor: theme.palette.brand.appBarMain,
1907
1934
  userSelect: "none",
1908
1935
  "& .MuiTypography-root": {
@@ -1937,7 +1964,7 @@ function _AppBar({
1937
1964
  onClickMenu,
1938
1965
  ...otherProps
1939
1966
  }, ref) {
1940
- return /* @__PURE__ */ jsx(Root$4, { ...otherProps, ref, "data-name": "app-bar", children: /* @__PURE__ */ jsxs(Toolbar, { children: [
1967
+ return /* @__PURE__ */ jsx(Root$5, { ...otherProps, ref, "data-name": "app-bar", children: /* @__PURE__ */ jsxs(Toolbar, { children: [
1941
1968
  /* @__PURE__ */ jsxs(BrandElements, { children: [
1942
1969
  showBurgerMenu && /* @__PURE__ */ jsx(BurgerMenu, { onClickMenu }),
1943
1970
  brandLogo && /* @__PURE__ */ jsx(BrandLogo, { logo: brandLogo }),
@@ -2617,7 +2644,7 @@ function CodeAreaInput({
2617
2644
  }
2618
2645
  );
2619
2646
  }
2620
- const Root$3 = styled(FormControl)(() => ({
2647
+ const Root$4 = styled(FormControl)(() => ({
2621
2648
  display: "flex",
2622
2649
  flexDirection: "column",
2623
2650
  flex: 1
@@ -2809,7 +2836,7 @@ function CodeAreaField({
2809
2836
  const readOnly = (options == null ? void 0 : options.readOnly) ?? false;
2810
2837
  const lineNumbers = (options == null ? void 0 : options.lineNumbers) ?? true;
2811
2838
  return /* @__PURE__ */ jsxs(
2812
- Root$3,
2839
+ Root$4,
2813
2840
  {
2814
2841
  size,
2815
2842
  error,
@@ -3206,6 +3233,8 @@ function DialogHeader({
3206
3233
  "aria-label": ariaLabel,
3207
3234
  closeIcon,
3208
3235
  closeTooltipText,
3236
+ tooltipProps,
3237
+ iconButtonProps,
3209
3238
  ...otherProps
3210
3239
  }) {
3211
3240
  const closeTooltipLabel = useTranslationWithFallback(
@@ -3231,7 +3260,15 @@ function DialogHeader({
3231
3260
  ] }),
3232
3261
  /* @__PURE__ */ jsxs(ItemsWrapper$1, { children: [
3233
3262
  secondaryActions,
3234
- onClose && /* @__PURE__ */ jsx(Tooltip, { title: closeTooltipLabel, placement: "left", children: /* @__PURE__ */ jsx(IconButton$1, { onClick: onClose, children: closeIcon || /* @__PURE__ */ jsx(CloseIcon, { "data-testid": "CloseIcon" }) }) })
3263
+ onClose && /* @__PURE__ */ jsx(
3264
+ Tooltip,
3265
+ {
3266
+ title: closeTooltipLabel,
3267
+ placement: "left",
3268
+ ...tooltipProps,
3269
+ children: /* @__PURE__ */ jsx(IconButton$1, { onClick: onClose, ...iconButtonProps, children: closeIcon || /* @__PURE__ */ jsx(CloseIcon, { "data-testid": "CloseIcon" }) })
3270
+ }
3271
+ )
3235
3272
  ] })
3236
3273
  ] }),
3237
3274
  children
@@ -3374,7 +3411,7 @@ function DialogAlert({
3374
3411
  }) {
3375
3412
  return /* @__PURE__ */ jsx(StyledAlert, { severity, ...otherProps, "data-name": "dialog-alert", children });
3376
3413
  }
3377
- const Root$2 = styled(Box, {
3414
+ const Root$3 = styled(Box, {
3378
3415
  shouldForwardProp: (prop) => !["dark", "hasChildren"].includes(prop)
3379
3416
  })(({ dark, hasChildren, theme }) => ({
3380
3417
  flex: "0 0 auto",
@@ -3442,7 +3479,7 @@ function DialogFooter({
3442
3479
  topContent,
3443
3480
  !!alertContent && /* @__PURE__ */ jsx(DividerTop, {}),
3444
3481
  /* @__PURE__ */ jsxs(
3445
- Root$2,
3482
+ Root$3,
3446
3483
  {
3447
3484
  ...otherProps,
3448
3485
  dark,
@@ -3495,10 +3532,13 @@ function DialogConfirmation({
3495
3532
  opened,
3496
3533
  "data-testid": dataTestId,
3497
3534
  "aria-label": ariaLabel,
3535
+ slideProps,
3498
3536
  ...alertProps
3499
3537
  }) {
3500
3538
  const containerRef = useRef(null);
3501
3539
  const theme = useTheme();
3540
+ const timeout = (slideProps == null ? void 0 : slideProps.timeout) ?? 350;
3541
+ const direction = (slideProps == null ? void 0 : slideProps.direction) ?? "up";
3502
3542
  const handleClickAway = () => {
3503
3543
  if (onClickAway) {
3504
3544
  onClickAway();
@@ -3515,13 +3555,17 @@ function DialogConfirmation({
3515
3555
  children: /* @__PURE__ */ jsx(ClickAwayListener$1, { onClickAway: handleClickAway, children: /* @__PURE__ */ jsx(
3516
3556
  Slide,
3517
3557
  {
3518
- direction: "up",
3519
- in: opened,
3520
- container: containerRef.current,
3521
3558
  mountOnEnter: true,
3522
3559
  unmountOnExit: true,
3523
3560
  easing: theme.transitions.easing.easeOut,
3524
- timeout: 350,
3561
+ direction,
3562
+ timeout,
3563
+ ...slideProps,
3564
+ in: opened,
3565
+ container: containerRef.current,
3566
+ "data-name": "dialog-confirmation-slide",
3567
+ "data-direction": direction,
3568
+ "data-timeout": timeout,
3525
3569
  children: /* @__PURE__ */ jsx(AnimationWrapper, { children: /* @__PURE__ */ jsxs(BackdropContent, { children: [
3526
3570
  /* @__PURE__ */ jsx(DialogAlert, { severity, ...alertProps, children }),
3527
3571
  /* @__PURE__ */ jsx(DialogActions, { children: actions })
@@ -3531,7 +3575,7 @@ function DialogConfirmation({
3531
3575
  }
3532
3576
  );
3533
3577
  }
3534
- const Root$1 = styled(Box)(({ theme }) => ({
3578
+ const Root$2 = styled(Box)(({ theme }) => ({
3535
3579
  display: "flex",
3536
3580
  alignItems: "center",
3537
3581
  justifyContent: "center",
@@ -3612,7 +3656,7 @@ function DialogStepper({
3612
3656
  stepsLabels,
3613
3657
  ...props
3614
3658
  }) {
3615
- return /* @__PURE__ */ jsx(Root$1, { ...props, "data-name": "dialog-stepper", children: /* @__PURE__ */ jsx(Box, { sx: { display: "flex" }, children: stepsLabels.map((stepLabel, idx) => {
3659
+ return /* @__PURE__ */ jsx(Root$2, { ...props, "data-name": "dialog-stepper", children: /* @__PURE__ */ jsx(Box, { sx: { display: "flex" }, children: stepsLabels.map((stepLabel, idx) => {
3616
3660
  const step = idx + 1;
3617
3661
  const isCurrent = step === currentStep;
3618
3662
  const isCompleted = step < currentStep;
@@ -3898,7 +3942,7 @@ function ClearButton({
3898
3942
  }
3899
3943
  ) });
3900
3944
  }
3901
- const Root = styled(Box, {
3945
+ const Root$1 = styled(Box, {
3902
3946
  shouldForwardProp: (prop) => !["size", "variant", "readOnly"].includes(prop)
3903
3947
  })(({ size, variant, readOnly, theme }) => ({
3904
3948
  // There is no specific slot to change TextField styles at DatePicker level, so we need to wrap our component to isolate this override. https://mui.com/x/react-date-pickers/date-picker/#customization
@@ -3938,7 +3982,7 @@ function DateFieldContainer({
3938
3982
  readOnly,
3939
3983
  ...props
3940
3984
  }) {
3941
- return /* @__PURE__ */ jsx(Root, { ...props, size, variant, readOnly, children });
3985
+ return /* @__PURE__ */ jsx(Root$1, { ...props, size, variant, readOnly, children });
3942
3986
  }
3943
3987
  function DatePicker({
3944
3988
  handleClear,
@@ -4622,6 +4666,121 @@ function DateTimePicker({
4622
4666
  }
4623
4667
  );
4624
4668
  }
4669
+ const EMPTY_STATE_WIDTH = 576;
4670
+ const Root = styled(Stack, {
4671
+ shouldForwardProp: (prop) => prop !== "size" && prop !== "spacing" && prop !== "contentHeight" && prop !== "contentWidth"
4672
+ })(
4673
+ ({ size = "medium", spacing, contentHeight, contentWidth, theme }) => ({
4674
+ display: "flex",
4675
+ justifyContent: "center",
4676
+ alignItems: "center",
4677
+ gap: theme.spacing(spacing ?? (size === "small" ? 1 : 2)),
4678
+ maxWidth: contentWidth ?? EMPTY_STATE_WIDTH,
4679
+ height: contentHeight,
4680
+ minHeight: contentHeight,
4681
+ margin: "0 auto"
4682
+ })
4683
+ );
4684
+ const IconWrapper = styled(Box, {
4685
+ shouldForwardProp: (prop) => prop !== "size" && prop !== "iconSize" && prop !== "iconColor"
4686
+ })(({ size, iconSize, iconColor, theme }) => {
4687
+ const finalIconSize = iconSize ?? (size === "small" ? theme.spacing(5) : theme.spacing(6));
4688
+ const colorValue = iconColor === null || iconColor === void 0 ? void 0 : getThemeColor(iconColor, theme);
4689
+ return {
4690
+ display: "flex",
4691
+ ".MuiSvgIcon-root": {
4692
+ width: finalIconSize,
4693
+ height: finalIconSize,
4694
+ fontSize: finalIconSize,
4695
+ ...colorValue && { color: colorValue }
4696
+ }
4697
+ };
4698
+ });
4699
+ const TextContent = styled(Stack)(({ theme }) => ({
4700
+ display: "flex",
4701
+ flexDirection: "column",
4702
+ alignItems: "center",
4703
+ gap: theme.spacing(0.5),
4704
+ textAlign: "center"
4705
+ }));
4706
+ const Actions = styled(Stack, {
4707
+ shouldForwardProp: (prop) => prop !== "size" && prop !== "spacing"
4708
+ })(({ size = "medium", spacing, theme }) => ({
4709
+ display: "flex",
4710
+ alignItems: "center",
4711
+ gap: theme.spacing(spacing ?? (size === "small" ? 1 : 2)),
4712
+ marginTop: theme.spacing(size === "small" ? 1 : 2),
4713
+ ".MuiButton-root + .MuiButton-root": {
4714
+ marginLeft: 0
4715
+ }
4716
+ }));
4717
+ function _EmptyState({
4718
+ icon,
4719
+ title,
4720
+ description,
4721
+ actions,
4722
+ children,
4723
+ size = "medium",
4724
+ spacing,
4725
+ iconProps,
4726
+ contentWidth = EMPTY_STATE_WIDTH,
4727
+ contentHeight,
4728
+ sx,
4729
+ titleProps,
4730
+ descriptionProps,
4731
+ ...otherProps
4732
+ }, ref) {
4733
+ const hasAnyTextContent = title || description;
4734
+ const isSmall = size === "small";
4735
+ const iconSize = (iconProps == null ? void 0 : iconProps.size) ?? (isSmall ? 40 : 48);
4736
+ const iconColor = iconProps && "color" in iconProps && iconProps.color === null ? null : (iconProps == null ? void 0 : iconProps.color) ?? "text.disabled";
4737
+ return /* @__PURE__ */ jsxs(
4738
+ Root,
4739
+ {
4740
+ ref,
4741
+ alignItems: "center",
4742
+ size,
4743
+ spacing,
4744
+ contentHeight,
4745
+ contentWidth,
4746
+ sx,
4747
+ ...otherProps,
4748
+ "data-name": "empty-state",
4749
+ "data-size": size,
4750
+ "data-spacing": spacing,
4751
+ "data-content-height": contentHeight,
4752
+ "data-content-width": contentWidth,
4753
+ "data-icon-size": iconSize,
4754
+ "data-icon-color": iconColor ?? "null",
4755
+ children: [
4756
+ icon && /* @__PURE__ */ jsx(IconWrapper, { size, iconSize, iconColor, children: icon }),
4757
+ hasAnyTextContent && /* @__PURE__ */ jsxs(TextContent, { children: [
4758
+ title && /* @__PURE__ */ jsx(
4759
+ Typography,
4760
+ {
4761
+ variant: isSmall ? "body2" : "body1",
4762
+ color: "textSecondary",
4763
+ ...titleProps,
4764
+ children: title
4765
+ }
4766
+ ),
4767
+ description && /* @__PURE__ */ jsx(
4768
+ Typography,
4769
+ {
4770
+ variant: isSmall ? "caption" : "body2",
4771
+ color: "textSecondary",
4772
+ ...descriptionProps,
4773
+ children: description
4774
+ }
4775
+ )
4776
+ ] }),
4777
+ actions && /* @__PURE__ */ jsx(Actions, { size, spacing, children: actions }),
4778
+ children
4779
+ ]
4780
+ }
4781
+ );
4782
+ }
4783
+ const EmptyState = forwardRef(_EmptyState);
4625
4784
  const DEFAULT_ITEMS = [{ outlinedBullet: false, value: "" }];
4626
4785
  const Content$2 = styled("ul")(({ theme }) => ({
4627
4786
  listStyle: "none",
@@ -5056,7 +5215,7 @@ const SearchIcon = styled(Search, {
5056
5215
  const ClearSearchIcon = styled(Cancel)(({ theme }) => ({
5057
5216
  color: `${theme.palette.text.hint} !important`
5058
5217
  }));
5059
- const LoadingSearchIcon = styled(CircularProgress)(({ theme }) => ({
5218
+ const LoadingSearchIcon = styled(CircularProgress$1)(({ theme }) => ({
5060
5219
  svg: {
5061
5220
  color: `${theme.palette.primary.main} !important`
5062
5221
  }
@@ -5071,7 +5230,10 @@ const SearchInputAdornment = styled(InputAdornment, {
5071
5230
  duration: theme.transitions.duration.short
5072
5231
  }),
5073
5232
  "&.MuiInputAdornment-positionStart": {
5074
- marginLeft: minimized ? theme.spacing(1) : void 0
5233
+ marginLeft: minimized ? theme.spacing(2) : void 0,
5234
+ "&.MuiInputAdornment-sizeSmall": {
5235
+ marginLeft: minimized ? theme.spacing(1) : void 0
5236
+ }
5075
5237
  },
5076
5238
  // End adornment
5077
5239
  "&.MuiInputAdornment-positionEnd": {
@@ -5714,7 +5876,7 @@ function FilesAction({
5714
5876
  handleOpen,
5715
5877
  inProgress
5716
5878
  }) {
5717
- return /* @__PURE__ */ jsx(InputAdornment, { position: "end", children: inProgress ? /* @__PURE__ */ jsx(IconButton$1, { "aria-label": "Loading", disabled: true, size, children: /* @__PURE__ */ jsx(CircularProgress, { size: 18 }) }) : !hasFiles ? /* @__PURE__ */ jsx(
5879
+ return /* @__PURE__ */ jsx(InputAdornment, { position: "end", children: inProgress ? /* @__PURE__ */ jsx(IconButton$1, { "aria-label": "Loading", disabled: true, size, children: /* @__PURE__ */ jsx(CircularProgress$1, { size: 18 }) }) : !hasFiles ? /* @__PURE__ */ jsx(
5718
5880
  Button$1,
5719
5881
  {
5720
5882
  onClick: handleOpen,
@@ -6109,6 +6271,7 @@ export {
6109
6271
  AutocompleteList,
6110
6272
  Avatar,
6111
6273
  Button,
6274
+ CircularProgress,
6112
6275
  CodeAreaDialog,
6113
6276
  CodeAreaDialogConfirmation,
6114
6277
  CodeAreaDialogContent,
@@ -6135,11 +6298,13 @@ export {
6135
6298
  DialogPaper,
6136
6299
  DialogStepper,
6137
6300
  EllipsisWithTooltip,
6301
+ EmptyState,
6138
6302
  FilterDropdown,
6139
6303
  FilterDropdownMenuItem,
6140
6304
  IconButton,
6141
6305
  LabelWithIndicator,
6142
6306
  L as Link,
6307
+ Loader,
6143
6308
  Menu,
6144
6309
  MenuItem$1 as MenuItem,
6145
6310
  MenuItemFilter,
@@ -859,6 +859,11 @@ const en = {
859
859
  changesSaved: "Changes saved successfully",
860
860
  copiedToClipboard: "Copied to clipboard"
861
861
  },
862
+ utils: {
863
+ loader: {
864
+ label: "Loading..."
865
+ }
866
+ },
862
867
  widgets: {
863
868
  category: {
864
869
  apply: "Apply",
@@ -1009,6 +1014,11 @@ const es = {
1009
1014
  changesSaved: "Cambios guardados correctamente",
1010
1015
  copiedToClipboard: "Copiado al portapapeles"
1011
1016
  },
1017
+ utils: {
1018
+ loader: {
1019
+ label: "Cargando..."
1020
+ }
1021
+ },
1012
1022
  widgets: {
1013
1023
  category: {
1014
1024
  apply: "Aplicar",
@@ -1157,6 +1167,11 @@ const id = {
1157
1167
  changesSaved: "Changes saved successfully",
1158
1168
  copiedToClipboard: "Tersalin ke clipboard"
1159
1169
  },
1170
+ utils: {
1171
+ loader: {
1172
+ label: "Memuat..."
1173
+ }
1174
+ },
1160
1175
  widgets: {
1161
1176
  category: {
1162
1177
  apply: "Terapkan",
@@ -858,6 +858,11 @@ const en = {
858
858
  changesSaved: "Changes saved successfully",
859
859
  copiedToClipboard: "Copied to clipboard"
860
860
  },
861
+ utils: {
862
+ loader: {
863
+ label: "Loading..."
864
+ }
865
+ },
861
866
  widgets: {
862
867
  category: {
863
868
  apply: "Apply",
@@ -1008,6 +1013,11 @@ const es = {
1008
1013
  changesSaved: "Cambios guardados correctamente",
1009
1014
  copiedToClipboard: "Copiado al portapapeles"
1010
1015
  },
1016
+ utils: {
1017
+ loader: {
1018
+ label: "Cargando..."
1019
+ }
1020
+ },
1011
1021
  widgets: {
1012
1022
  category: {
1013
1023
  apply: "Aplicar",
@@ -1156,6 +1166,11 @@ const id = {
1156
1166
  changesSaved: "Changes saved successfully",
1157
1167
  copiedToClipboard: "Tersalin ke clipboard"
1158
1168
  },
1169
+ utils: {
1170
+ loader: {
1171
+ label: "Memuat..."
1172
+ }
1173
+ },
1159
1174
  widgets: {
1160
1175
  category: {
1161
1176
  apply: "Terapkan",