@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
package/CHANGELOG.md CHANGED
@@ -2,8 +2,17 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ - New EmptyState component [#330](https://github.com/CartoDB/meridian-ds/pull/330)
6
+
5
7
  ## 2.0
6
8
 
9
+ ### 2.8.0
10
+
11
+ - New Loader and CircularProgress components [#329](https://github.com/CartoDB/meridian-ds/pull/329)
12
+ - Dialog: improve customization [#313](https://github.com/CartoDB/meridian-ds/pull/313)
13
+ - ToggleButtonGroup: move styles to the theme [#319](https://github.com/CartoDB/meridian-ds/pull/319)
14
+ - Custom Icons: CreateFolder,FolderEmpty [#331](https://github.com/CartoDB/meridian-ds/pull/331)
15
+
7
16
  ### 2.7.0
8
17
 
9
18
  - New SearchField component [#308](https://github.com/CartoDB/meridian-ds/pull/308)
@@ -23,7 +32,7 @@
23
32
  ### 2.6.1
24
33
 
25
34
  - Custom Icons: FoldersStackedOutlined,RedoAlt,UndoAlt [#317](https://github.com/CartoDB/meridian-ds/pull/317)
26
- - Tabs: remove box-shadow in vertical mode[#302](https://github.com/CartoDB/meridian-ds/pull/302)
35
+ - Tabs: remove box-shadow in vertical mode [#302](https://github.com/CartoDB/meridian-ds/pull/302)
27
36
 
28
37
  ### 2.6.0
29
38
 
@@ -3,7 +3,7 @@ import { forwardRef, useState } from "react";
3
3
  import { styled, Link as Link$1, Alert as Alert$1, Fade, AlertTitle } from "@mui/material";
4
4
  import { OpenInNewOutlined } from "@mui/icons-material";
5
5
  import "cartocolor";
6
- import { c as ICON_SIZE_SMALL, b as ICON_SIZE_MEDIUM, u as useTranslationWithFallback, T as Typography } from "./css-utils-BHYA7By_.js";
6
+ import { c as ICON_SIZE_SMALL, b as ICON_SIZE_MEDIUM, u as useTranslationWithFallback, T as Typography } from "./css-utils-CjUBRJVK.js";
7
7
  const ScreenReaderOnly = styled("span")(() => ({
8
8
  position: "absolute",
9
9
  width: 1,
@@ -4,7 +4,7 @@ const React = require("react");
4
4
  const material = require("@mui/material");
5
5
  const iconsMaterial = require("@mui/icons-material");
6
6
  require("cartocolor");
7
- const cssUtils = require("./css-utils-DjvM17Vb.cjs");
7
+ const cssUtils = require("./css-utils-CH7es90t.cjs");
8
8
  const ScreenReaderOnly = material.styled("span")(() => ({
9
9
  position: "absolute",
10
10
  width: 1,
@@ -1,7 +1,19 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
2
  import { forwardRef } from "react";
3
3
  import { styled, MenuItem as MenuItem$1 } from "@mui/material";
4
- import { f as MENU_ITEM_SIZE_DENSE, h as MENU_ITEM_SIZE_EXTENDED } from "./css-utils-BHYA7By_.js";
4
+ import { f as MENU_ITEM_SIZE_DENSE, h as MENU_ITEM_SIZE_EXTENDED } from "./css-utils-CjUBRJVK.js";
5
+ function getPixelToRem(px) {
6
+ const fontBase = 16;
7
+ const rem = 1 / fontBase * px + "rem";
8
+ return rem;
9
+ }
10
+ function getThemeColor(colorPath, theme) {
11
+ const colorValue = colorPath.split(".").reduce(
12
+ (acc, part) => acc && typeof acc === "object" && part in acc ? acc[part] : void 0,
13
+ theme.palette
14
+ );
15
+ return typeof colorValue === "string" ? colorValue : void 0;
16
+ }
5
17
  const StyledMenuItem = styled(MenuItem$1, {
6
18
  shouldForwardProp: (prop) => !["subtitle", "destructive", "extended", "fixed", "iconColor"].includes(
7
19
  prop
@@ -175,5 +187,7 @@ function _MenuItem({
175
187
  }
176
188
  const MenuItem = forwardRef(_MenuItem);
177
189
  export {
178
- MenuItem as M
190
+ MenuItem as M,
191
+ getThemeColor as a,
192
+ getPixelToRem as g
179
193
  };
@@ -2,7 +2,19 @@
2
2
  const jsxRuntime = require("react/jsx-runtime");
3
3
  const React = require("react");
4
4
  const material = require("@mui/material");
5
- const cssUtils = require("./css-utils-DjvM17Vb.cjs");
5
+ const cssUtils = require("./css-utils-CH7es90t.cjs");
6
+ function getPixelToRem(px) {
7
+ const fontBase = 16;
8
+ const rem = 1 / fontBase * px + "rem";
9
+ return rem;
10
+ }
11
+ function getThemeColor(colorPath, theme) {
12
+ const colorValue = colorPath.split(".").reduce(
13
+ (acc, part) => acc && typeof acc === "object" && part in acc ? acc[part] : void 0,
14
+ theme.palette
15
+ );
16
+ return typeof colorValue === "string" ? colorValue : void 0;
17
+ }
6
18
  const StyledMenuItem = material.styled(material.MenuItem, {
7
19
  shouldForwardProp: (prop) => !["subtitle", "destructive", "extended", "fixed", "iconColor"].includes(
8
20
  prop
@@ -176,3 +188,5 @@ function _MenuItem({
176
188
  }
177
189
  const MenuItem = React.forwardRef(_MenuItem);
178
190
  exports.MenuItem = MenuItem;
191
+ exports.getPixelToRem = getPixelToRem;
192
+ exports.getThemeColor = getThemeColor;
@@ -4,11 +4,11 @@ const jsxRuntime = require("react/jsx-runtime");
4
4
  const React = require("react");
5
5
  const material = require("@mui/material");
6
6
  const iconsMaterial = require("@mui/icons-material");
7
- const cssUtils = require("../css-utils-DjvM17Vb.cjs");
8
- const Alert$1 = require("../Alert-CPvYAHO_.cjs");
7
+ const cssUtils = require("../css-utils-CH7es90t.cjs");
8
+ const Alert$1 = require("../Alert-C4W0H_uN.cjs");
9
9
  const ArrowDown = require("../ArrowDown-DJ0vhbsw.cjs");
10
10
  const OpenDiagonallyRight = require("../OpenDiagonallyRight-CpL4ROwg.cjs");
11
- const MenuItem = require("../MenuItem-ZSYcQBtg.cjs");
11
+ const MenuItem = require("../MenuItem-DoBJsRR_.cjs");
12
12
  require("cartocolor");
13
13
  const reactWindow = require("react-window");
14
14
  const reactCodemirror2 = require("react-codemirror2");
@@ -223,7 +223,7 @@ function SplitButton({
223
223
  )
224
224
  ] });
225
225
  }
226
- const Root$5 = material.styled(material.Box)(({ theme }) => ({
226
+ const Root$6 = material.styled(material.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__ */ jsxRuntime.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 = React.forwardRef(_MultipleSelectField);
777
777
  const StyledToggleButtonGroup = material.styled(material.ToggleButtonGroup, {
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 = React.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__ */ jsxRuntime.jsx(
818
+ material.CircularProgress,
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 = React.forwardRef(
832
+ _CircularProgress
833
+ );
834
+ const Wrapper = material.styled(material.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 = cssUtils.useTranslationWithFallback("c4r.utils.loader.label", label);
858
+ const hasAnyLabel = labelText || secondLabel;
859
+ return /* @__PURE__ */ jsxRuntime.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__ */ jsxRuntime.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__ */ jsxRuntime.jsxs(material.Stack, { direction: "column", alignItems: "center", children: [
880
+ labelText && /* @__PURE__ */ jsxRuntime.jsx(
881
+ cssUtils.Typography,
882
+ {
883
+ variant: "body2",
884
+ color: "textSecondary",
885
+ ...labelProps,
886
+ id: "loader-label",
887
+ children: labelText
888
+ }
889
+ ),
890
+ secondLabel && /* @__PURE__ */ jsxRuntime.jsx(
891
+ cssUtils.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 = React.forwardRef(_Loader);
879
906
  async function copyString(value) {
880
907
  return await navigator.clipboard.writeText(value);
881
908
  }
@@ -1902,7 +1929,7 @@ function SecondaryText({ text }) {
1902
1929
  }
1903
1930
  );
1904
1931
  }
1905
- const Root$4 = material.styled(material.AppBar)(({ theme }) => ({
1932
+ const Root$5 = material.styled(material.AppBar)(({ 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__ */ jsxRuntime.jsx(Root$4, { ...otherProps, ref, "data-name": "app-bar", children: /* @__PURE__ */ jsxRuntime.jsxs(material.Toolbar, { children: [
1967
+ return /* @__PURE__ */ jsxRuntime.jsx(Root$5, { ...otherProps, ref, "data-name": "app-bar", children: /* @__PURE__ */ jsxRuntime.jsxs(material.Toolbar, { children: [
1941
1968
  /* @__PURE__ */ jsxRuntime.jsxs(BrandElements, { children: [
1942
1969
  showBurgerMenu && /* @__PURE__ */ jsxRuntime.jsx(BurgerMenu, { onClickMenu }),
1943
1970
  brandLogo && /* @__PURE__ */ jsxRuntime.jsx(BrandLogo, { logo: brandLogo }),
@@ -2617,7 +2644,7 @@ function CodeAreaInput({
2617
2644
  }
2618
2645
  );
2619
2646
  }
2620
- const Root$3 = material.styled(material.FormControl)(() => ({
2647
+ const Root$4 = material.styled(material.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__ */ jsxRuntime.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 = cssUtils.useTranslationWithFallback(
@@ -3231,7 +3260,15 @@ function DialogHeader({
3231
3260
  ] }),
3232
3261
  /* @__PURE__ */ jsxRuntime.jsxs(ItemsWrapper$1, { children: [
3233
3262
  secondaryActions,
3234
- onClose && /* @__PURE__ */ jsxRuntime.jsx(material.Tooltip, { title: closeTooltipLabel, placement: "left", children: /* @__PURE__ */ jsxRuntime.jsx(material.IconButton, { onClick: onClose, children: closeIcon || /* @__PURE__ */ jsxRuntime.jsx(CloseIcon, { "data-testid": "CloseIcon" }) }) })
3263
+ onClose && /* @__PURE__ */ jsxRuntime.jsx(
3264
+ material.Tooltip,
3265
+ {
3266
+ title: closeTooltipLabel,
3267
+ placement: "left",
3268
+ ...tooltipProps,
3269
+ children: /* @__PURE__ */ jsxRuntime.jsx(material.IconButton, { onClick: onClose, ...iconButtonProps, children: closeIcon || /* @__PURE__ */ jsxRuntime.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__ */ jsxRuntime.jsx(StyledAlert, { severity, ...otherProps, "data-name": "dialog-alert", children });
3376
3413
  }
3377
- const Root$2 = material.styled(material.Box, {
3414
+ const Root$3 = material.styled(material.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__ */ jsxRuntime.jsx(DividerTop, {}),
3444
3481
  /* @__PURE__ */ jsxRuntime.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 = React.useRef(null);
3501
3539
  const theme = material.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__ */ jsxRuntime.jsx(ClickAwayListener, { onClickAway: handleClickAway, children: /* @__PURE__ */ jsxRuntime.jsx(
3516
3556
  material.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__ */ jsxRuntime.jsx(AnimationWrapper, { children: /* @__PURE__ */ jsxRuntime.jsxs(BackdropContent, { children: [
3526
3570
  /* @__PURE__ */ jsxRuntime.jsx(DialogAlert, { severity, ...alertProps, children }),
3527
3571
  /* @__PURE__ */ jsxRuntime.jsx(DialogActions, { children: actions })
@@ -3531,7 +3575,7 @@ function DialogConfirmation({
3531
3575
  }
3532
3576
  );
3533
3577
  }
3534
- const Root$1 = material.styled(material.Box)(({ theme }) => ({
3578
+ const Root$2 = material.styled(material.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__ */ jsxRuntime.jsx(Root$1, { ...props, "data-name": "dialog-stepper", children: /* @__PURE__ */ jsxRuntime.jsx(material.Box, { sx: { display: "flex" }, children: stepsLabels.map((stepLabel, idx) => {
3659
+ return /* @__PURE__ */ jsxRuntime.jsx(Root$2, { ...props, "data-name": "dialog-stepper", children: /* @__PURE__ */ jsxRuntime.jsx(material.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 = material.styled(material.Box, {
3945
+ const Root$1 = material.styled(material.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__ */ jsxRuntime.jsx(Root, { ...props, size, variant, readOnly, children });
3985
+ return /* @__PURE__ */ jsxRuntime.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 = material.styled(material.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 = material.styled(material.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 : MenuItem.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 = material.styled(material.Stack)(({ theme }) => ({
4700
+ display: "flex",
4701
+ flexDirection: "column",
4702
+ alignItems: "center",
4703
+ gap: theme.spacing(0.5),
4704
+ textAlign: "center"
4705
+ }));
4706
+ const Actions = material.styled(material.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__ */ jsxRuntime.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__ */ jsxRuntime.jsx(IconWrapper, { size, iconSize, iconColor, children: icon }),
4757
+ hasAnyTextContent && /* @__PURE__ */ jsxRuntime.jsxs(TextContent, { children: [
4758
+ title && /* @__PURE__ */ jsxRuntime.jsx(
4759
+ cssUtils.Typography,
4760
+ {
4761
+ variant: isSmall ? "body2" : "body1",
4762
+ color: "textSecondary",
4763
+ ...titleProps,
4764
+ children: title
4765
+ }
4766
+ ),
4767
+ description && /* @__PURE__ */ jsxRuntime.jsx(
4768
+ cssUtils.Typography,
4769
+ {
4770
+ variant: isSmall ? "caption" : "body2",
4771
+ color: "textSecondary",
4772
+ ...descriptionProps,
4773
+ children: description
4774
+ }
4775
+ )
4776
+ ] }),
4777
+ actions && /* @__PURE__ */ jsxRuntime.jsx(Actions, { size, spacing, children: actions }),
4778
+ children
4779
+ ]
4780
+ }
4781
+ );
4782
+ }
4783
+ const EmptyState = React.forwardRef(_EmptyState);
4625
4784
  const DEFAULT_ITEMS = [{ outlinedBullet: false, value: "" }];
4626
4785
  const Content$2 = material.styled("ul")(({ theme }) => ({
4627
4786
  listStyle: "none",
@@ -5071,7 +5230,10 @@ const SearchInputAdornment = material.styled(material.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": {
@@ -6114,6 +6276,7 @@ exports.Autocomplete = Autocomplete;
6114
6276
  exports.AutocompleteList = AutocompleteList;
6115
6277
  exports.Avatar = Avatar;
6116
6278
  exports.Button = Button;
6279
+ exports.CircularProgress = CircularProgress;
6117
6280
  exports.CodeAreaDialog = CodeAreaDialog;
6118
6281
  exports.CodeAreaDialogConfirmation = CodeAreaDialogConfirmation;
6119
6282
  exports.CodeAreaDialogContent = CodeAreaDialogContent;
@@ -6140,9 +6303,11 @@ exports.DialogHeader = DialogHeader;
6140
6303
  exports.DialogPaper = DialogPaper;
6141
6304
  exports.DialogStepper = DialogStepper;
6142
6305
  exports.EllipsisWithTooltip = EllipsisWithTooltip;
6306
+ exports.EmptyState = EmptyState;
6143
6307
  exports.FilterDropdown = FilterDropdown;
6144
6308
  exports.FilterDropdownMenuItem = FilterDropdownMenuItem;
6145
6309
  exports.LabelWithIndicator = LabelWithIndicator;
6310
+ exports.Loader = Loader;
6146
6311
  exports.Menu = Menu;
6147
6312
  exports.MenuItemFilter = MenuItemFilter;
6148
6313
  exports.MenuList = MenuList;