@carto/meridian-ds 2.8.0 → 2.9.0

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 (30) hide show
  1. package/CHANGELOG.md +6 -1
  2. package/dist/{MenuItem-DRUK149i.js → MenuItem-Cx5lTXXm.js} +15 -1
  3. package/dist/{MenuItem-CgF4QdGi.cjs → MenuItem-DoBJsRR_.cjs} +14 -0
  4. package/dist/components/index.cjs +132 -15
  5. package/dist/components/index.js +132 -15
  6. package/dist/theme/index.cjs +17 -22
  7. package/dist/theme/index.js +1 -6
  8. package/dist/types/components/EmptyState/EmptyState.d.ts +4 -0
  9. package/dist/types/components/EmptyState/EmptyState.d.ts.map +1 -0
  10. package/dist/types/components/EmptyState/EmptyState.stories.d.ts +188 -0
  11. package/dist/types/components/EmptyState/EmptyState.stories.d.ts.map +1 -0
  12. package/dist/types/components/EmptyState/EmptyState.styled.d.ts +38 -0
  13. package/dist/types/components/EmptyState/EmptyState.styled.d.ts.map +1 -0
  14. package/dist/types/components/EmptyState/EmptyState.test.d.ts +2 -0
  15. package/dist/types/components/EmptyState/EmptyState.test.d.ts.map +1 -0
  16. package/dist/types/components/EmptyState/index.d.ts +3 -0
  17. package/dist/types/components/EmptyState/index.d.ts.map +1 -0
  18. package/dist/types/components/EmptyState/types.d.ts +82 -0
  19. package/dist/types/components/EmptyState/types.d.ts.map +1 -0
  20. package/dist/types/components/Loader/Loader.stories.d.ts +3 -3
  21. package/dist/types/components/Loader/Loader.stories.d.ts.map +1 -1
  22. package/dist/types/components/index.d.ts +2 -0
  23. package/dist/types/components/index.d.ts.map +1 -1
  24. package/dist/types/custom-icons/__docs__/CustomIcons.stories.d.ts +8 -0
  25. package/dist/types/custom-icons/__docs__/CustomIcons.stories.d.ts.map +1 -1
  26. package/dist/types/utils/theme-utils.d.ts +16 -0
  27. package/dist/types/utils/theme-utils.d.ts.map +1 -1
  28. package/dist/types/widgets/FeatureSelectionWidgetUI/FeatureSelectionWidgetUI.test.d.ts +0 -1
  29. package/dist/types/widgets/FeatureSelectionWidgetUI/FeatureSelectionWidgetUI.test.d.ts.map +1 -1
  30. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -4,6 +4,11 @@
4
4
 
5
5
  ## 2.0
6
6
 
7
+ ### 2.9.0
8
+
9
+ - New EmptyState component [#330](https://github.com/CartoDB/meridian-ds/pull/330)
10
+ - Tests: Add console mock utility and enhance test setup [#315](https://github.com/CartoDB/meridian-ds/pull/315)
11
+
7
12
  ### 2.8.0
8
13
 
9
14
  - New Loader and CircularProgress components [#329](https://github.com/CartoDB/meridian-ds/pull/329)
@@ -30,7 +35,7 @@
30
35
  ### 2.6.1
31
36
 
32
37
  - Custom Icons: FoldersStackedOutlined,RedoAlt,UndoAlt [#317](https://github.com/CartoDB/meridian-ds/pull/317)
33
- - Tabs: remove box-shadow in vertical mode[#302](https://github.com/CartoDB/meridian-ds/pull/302)
38
+ - Tabs: remove box-shadow in vertical mode [#302](https://github.com/CartoDB/meridian-ds/pull/302)
34
39
 
35
40
  ### 2.6.0
36
41
 
@@ -2,6 +2,18 @@ import { jsx } from "react/jsx-runtime";
2
2
  import { forwardRef } from "react";
3
3
  import { styled, MenuItem as MenuItem$1 } from "@mui/material";
4
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
  };
@@ -3,6 +3,18 @@ const jsxRuntime = require("react/jsx-runtime");
3
3
  const React = require("react");
4
4
  const material = require("@mui/material");
5
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;
@@ -8,7 +8,7 @@ const cssUtils = require("../css-utils-CH7es90t.cjs");
8
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-CgF4QdGi.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,
@@ -776,7 +776,7 @@ function _MultipleSelectField({
776
776
  const MultipleSelectField = React.forwardRef(_MultipleSelectField);
777
777
  const StyledToggleButtonGroup = material.styled(material.ToggleButtonGroup, {
778
778
  shouldForwardProp: (prop) => prop !== "backgroundColor"
779
- })();
779
+ })(() => ({}));
780
780
  function _ToggleButtonGroup({
781
781
  children,
782
782
  variant = "floating",
@@ -890,7 +890,7 @@ function _Loader({
890
890
  secondLabel && /* @__PURE__ */ jsxRuntime.jsx(
891
891
  cssUtils.Typography,
892
892
  {
893
- variant: "body2",
893
+ variant: "caption",
894
894
  color: "textSecondary",
895
895
  ...secondLabelProps,
896
896
  id: labelText ? void 0 : "loader-label",
@@ -1929,7 +1929,7 @@ function SecondaryText({ text }) {
1929
1929
  }
1930
1930
  );
1931
1931
  }
1932
- const Root$4 = material.styled(material.AppBar)(({ theme }) => ({
1932
+ const Root$5 = material.styled(material.AppBar)(({ theme }) => ({
1933
1933
  backgroundColor: theme.palette.brand.appBarMain,
1934
1934
  userSelect: "none",
1935
1935
  "& .MuiTypography-root": {
@@ -1964,7 +1964,7 @@ function _AppBar({
1964
1964
  onClickMenu,
1965
1965
  ...otherProps
1966
1966
  }, ref) {
1967
- 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: [
1968
1968
  /* @__PURE__ */ jsxRuntime.jsxs(BrandElements, { children: [
1969
1969
  showBurgerMenu && /* @__PURE__ */ jsxRuntime.jsx(BurgerMenu, { onClickMenu }),
1970
1970
  brandLogo && /* @__PURE__ */ jsxRuntime.jsx(BrandLogo, { logo: brandLogo }),
@@ -2644,7 +2644,7 @@ function CodeAreaInput({
2644
2644
  }
2645
2645
  );
2646
2646
  }
2647
- const Root$3 = material.styled(material.FormControl)(() => ({
2647
+ const Root$4 = material.styled(material.FormControl)(() => ({
2648
2648
  display: "flex",
2649
2649
  flexDirection: "column",
2650
2650
  flex: 1
@@ -2836,7 +2836,7 @@ function CodeAreaField({
2836
2836
  const readOnly = (options == null ? void 0 : options.readOnly) ?? false;
2837
2837
  const lineNumbers = (options == null ? void 0 : options.lineNumbers) ?? true;
2838
2838
  return /* @__PURE__ */ jsxRuntime.jsxs(
2839
- Root$3,
2839
+ Root$4,
2840
2840
  {
2841
2841
  size,
2842
2842
  error,
@@ -3411,7 +3411,7 @@ function DialogAlert({
3411
3411
  }) {
3412
3412
  return /* @__PURE__ */ jsxRuntime.jsx(StyledAlert, { severity, ...otherProps, "data-name": "dialog-alert", children });
3413
3413
  }
3414
- const Root$2 = material.styled(material.Box, {
3414
+ const Root$3 = material.styled(material.Box, {
3415
3415
  shouldForwardProp: (prop) => !["dark", "hasChildren"].includes(prop)
3416
3416
  })(({ dark, hasChildren, theme }) => ({
3417
3417
  flex: "0 0 auto",
@@ -3479,7 +3479,7 @@ function DialogFooter({
3479
3479
  topContent,
3480
3480
  !!alertContent && /* @__PURE__ */ jsxRuntime.jsx(DividerTop, {}),
3481
3481
  /* @__PURE__ */ jsxRuntime.jsxs(
3482
- Root$2,
3482
+ Root$3,
3483
3483
  {
3484
3484
  ...otherProps,
3485
3485
  dark,
@@ -3575,7 +3575,7 @@ function DialogConfirmation({
3575
3575
  }
3576
3576
  );
3577
3577
  }
3578
- const Root$1 = material.styled(material.Box)(({ theme }) => ({
3578
+ const Root$2 = material.styled(material.Box)(({ theme }) => ({
3579
3579
  display: "flex",
3580
3580
  alignItems: "center",
3581
3581
  justifyContent: "center",
@@ -3656,7 +3656,7 @@ function DialogStepper({
3656
3656
  stepsLabels,
3657
3657
  ...props
3658
3658
  }) {
3659
- 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) => {
3660
3660
  const step = idx + 1;
3661
3661
  const isCurrent = step === currentStep;
3662
3662
  const isCompleted = step < currentStep;
@@ -3942,7 +3942,7 @@ function ClearButton({
3942
3942
  }
3943
3943
  ) });
3944
3944
  }
3945
- const Root = material.styled(material.Box, {
3945
+ const Root$1 = material.styled(material.Box, {
3946
3946
  shouldForwardProp: (prop) => !["size", "variant", "readOnly"].includes(prop)
3947
3947
  })(({ size, variant, readOnly, theme }) => ({
3948
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
@@ -3982,7 +3982,7 @@ function DateFieldContainer({
3982
3982
  readOnly,
3983
3983
  ...props
3984
3984
  }) {
3985
- return /* @__PURE__ */ jsxRuntime.jsx(Root, { ...props, size, variant, readOnly, children });
3985
+ return /* @__PURE__ */ jsxRuntime.jsx(Root$1, { ...props, size, variant, readOnly, children });
3986
3986
  }
3987
3987
  function DatePicker({
3988
3988
  handleClear,
@@ -4666,6 +4666,122 @@ function DateTimePicker({
4666
4666
  }
4667
4667
  );
4668
4668
  }
4669
+ const EMPTY_STATE_WIDTH = 592;
4670
+ const Root = material.styled(material.Stack, {
4671
+ shouldForwardProp: (prop) => prop !== "size" && prop !== "spacing" && prop !== "contentHeight"
4672
+ })(({ size = "medium", spacing, contentHeight, theme }) => ({
4673
+ display: "flex",
4674
+ justifyContent: "center",
4675
+ alignItems: "center",
4676
+ gap: theme.spacing(spacing ?? (size === "small" ? 1 : 2)),
4677
+ height: contentHeight,
4678
+ minHeight: contentHeight
4679
+ }));
4680
+ const IconWrapper = material.styled(material.Box, {
4681
+ shouldForwardProp: (prop) => prop !== "size" && prop !== "iconSize" && prop !== "iconColor"
4682
+ })(({ size, iconSize, iconColor, theme }) => {
4683
+ const finalIconSize = iconSize ?? (size === "small" ? theme.spacing(5) : theme.spacing(6));
4684
+ const colorValue = iconColor === null || iconColor === void 0 ? void 0 : MenuItem.getThemeColor(iconColor, theme);
4685
+ return {
4686
+ display: "flex",
4687
+ ".MuiSvgIcon-root": {
4688
+ width: finalIconSize,
4689
+ height: finalIconSize,
4690
+ fontSize: finalIconSize,
4691
+ ...colorValue && { color: colorValue }
4692
+ }
4693
+ };
4694
+ });
4695
+ const TextContent = material.styled(material.Stack, {
4696
+ shouldForwardProp: (prop) => prop !== "contentWidth"
4697
+ })(({ contentWidth, theme }) => ({
4698
+ display: "flex",
4699
+ flexDirection: "column",
4700
+ alignItems: "center",
4701
+ gap: theme.spacing(0.5),
4702
+ textAlign: "center",
4703
+ maxWidth: contentWidth ?? EMPTY_STATE_WIDTH,
4704
+ margin: "0 auto"
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 ? 32 : 48);
4736
+ const iconColor = (iconProps == null ? void 0 : 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
+ sx,
4746
+ ...otherProps,
4747
+ "data-name": "empty-state",
4748
+ "data-size": size,
4749
+ "data-spacing": spacing,
4750
+ "data-content-height": contentHeight,
4751
+ "data-content-width": contentWidth,
4752
+ "data-icon-size": iconSize,
4753
+ "data-icon-color": iconColor ?? "null",
4754
+ children: [
4755
+ icon && /* @__PURE__ */ jsxRuntime.jsx(IconWrapper, { size, iconSize, iconColor, children: icon }),
4756
+ hasAnyTextContent && /* @__PURE__ */ jsxRuntime.jsxs(TextContent, { contentWidth, children: [
4757
+ title && /* @__PURE__ */ jsxRuntime.jsx(
4758
+ cssUtils.Typography,
4759
+ {
4760
+ variant: isSmall ? "body2" : "body1",
4761
+ color: "textSecondary",
4762
+ component: "div",
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
+ component: "div",
4773
+ ...descriptionProps,
4774
+ children: description
4775
+ }
4776
+ )
4777
+ ] }),
4778
+ actions && /* @__PURE__ */ jsxRuntime.jsx(Actions, { size, spacing, children: actions }),
4779
+ children
4780
+ ]
4781
+ }
4782
+ );
4783
+ }
4784
+ const EmptyState = React.forwardRef(_EmptyState);
4669
4785
  const DEFAULT_ITEMS = [{ outlinedBullet: false, value: "" }];
4670
4786
  const Content$2 = material.styled("ul")(({ theme }) => ({
4671
4787
  listStyle: "none",
@@ -6188,6 +6304,7 @@ exports.DialogHeader = DialogHeader;
6188
6304
  exports.DialogPaper = DialogPaper;
6189
6305
  exports.DialogStepper = DialogStepper;
6190
6306
  exports.EllipsisWithTooltip = EllipsisWithTooltip;
6307
+ exports.EmptyState = EmptyState;
6191
6308
  exports.FilterDropdown = FilterDropdown;
6192
6309
  exports.FilterDropdownMenuItem = FilterDropdownMenuItem;
6193
6310
  exports.LabelWithIndicator = LabelWithIndicator;
@@ -8,7 +8,7 @@ import { S as ScreenReaderOnly, A as Alert$1 } from "../Alert-BZPM5zpX.js";
8
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-DRUK149i.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";
@@ -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,
@@ -776,7 +776,7 @@ function _MultipleSelectField({
776
776
  const MultipleSelectField = forwardRef(_MultipleSelectField);
777
777
  const StyledToggleButtonGroup = styled(ToggleButtonGroup$1, {
778
778
  shouldForwardProp: (prop) => prop !== "backgroundColor"
779
- })();
779
+ })(() => ({}));
780
780
  function _ToggleButtonGroup({
781
781
  children,
782
782
  variant = "floating",
@@ -890,7 +890,7 @@ function _Loader({
890
890
  secondLabel && /* @__PURE__ */ jsx(
891
891
  Typography,
892
892
  {
893
- variant: "body2",
893
+ variant: "caption",
894
894
  color: "textSecondary",
895
895
  ...secondLabelProps,
896
896
  id: labelText ? void 0 : "loader-label",
@@ -1929,7 +1929,7 @@ function SecondaryText({ text }) {
1929
1929
  }
1930
1930
  );
1931
1931
  }
1932
- const Root$4 = styled(AppBar$1)(({ theme }) => ({
1932
+ const Root$5 = styled(AppBar$1)(({ theme }) => ({
1933
1933
  backgroundColor: theme.palette.brand.appBarMain,
1934
1934
  userSelect: "none",
1935
1935
  "& .MuiTypography-root": {
@@ -1964,7 +1964,7 @@ function _AppBar({
1964
1964
  onClickMenu,
1965
1965
  ...otherProps
1966
1966
  }, ref) {
1967
- 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: [
1968
1968
  /* @__PURE__ */ jsxs(BrandElements, { children: [
1969
1969
  showBurgerMenu && /* @__PURE__ */ jsx(BurgerMenu, { onClickMenu }),
1970
1970
  brandLogo && /* @__PURE__ */ jsx(BrandLogo, { logo: brandLogo }),
@@ -2644,7 +2644,7 @@ function CodeAreaInput({
2644
2644
  }
2645
2645
  );
2646
2646
  }
2647
- const Root$3 = styled(FormControl)(() => ({
2647
+ const Root$4 = styled(FormControl)(() => ({
2648
2648
  display: "flex",
2649
2649
  flexDirection: "column",
2650
2650
  flex: 1
@@ -2836,7 +2836,7 @@ function CodeAreaField({
2836
2836
  const readOnly = (options == null ? void 0 : options.readOnly) ?? false;
2837
2837
  const lineNumbers = (options == null ? void 0 : options.lineNumbers) ?? true;
2838
2838
  return /* @__PURE__ */ jsxs(
2839
- Root$3,
2839
+ Root$4,
2840
2840
  {
2841
2841
  size,
2842
2842
  error,
@@ -3411,7 +3411,7 @@ function DialogAlert({
3411
3411
  }) {
3412
3412
  return /* @__PURE__ */ jsx(StyledAlert, { severity, ...otherProps, "data-name": "dialog-alert", children });
3413
3413
  }
3414
- const Root$2 = styled(Box, {
3414
+ const Root$3 = styled(Box, {
3415
3415
  shouldForwardProp: (prop) => !["dark", "hasChildren"].includes(prop)
3416
3416
  })(({ dark, hasChildren, theme }) => ({
3417
3417
  flex: "0 0 auto",
@@ -3479,7 +3479,7 @@ function DialogFooter({
3479
3479
  topContent,
3480
3480
  !!alertContent && /* @__PURE__ */ jsx(DividerTop, {}),
3481
3481
  /* @__PURE__ */ jsxs(
3482
- Root$2,
3482
+ Root$3,
3483
3483
  {
3484
3484
  ...otherProps,
3485
3485
  dark,
@@ -3575,7 +3575,7 @@ function DialogConfirmation({
3575
3575
  }
3576
3576
  );
3577
3577
  }
3578
- const Root$1 = styled(Box)(({ theme }) => ({
3578
+ const Root$2 = styled(Box)(({ theme }) => ({
3579
3579
  display: "flex",
3580
3580
  alignItems: "center",
3581
3581
  justifyContent: "center",
@@ -3656,7 +3656,7 @@ function DialogStepper({
3656
3656
  stepsLabels,
3657
3657
  ...props
3658
3658
  }) {
3659
- 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) => {
3660
3660
  const step = idx + 1;
3661
3661
  const isCurrent = step === currentStep;
3662
3662
  const isCompleted = step < currentStep;
@@ -3942,7 +3942,7 @@ function ClearButton({
3942
3942
  }
3943
3943
  ) });
3944
3944
  }
3945
- const Root = styled(Box, {
3945
+ const Root$1 = styled(Box, {
3946
3946
  shouldForwardProp: (prop) => !["size", "variant", "readOnly"].includes(prop)
3947
3947
  })(({ size, variant, readOnly, theme }) => ({
3948
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
@@ -3982,7 +3982,7 @@ function DateFieldContainer({
3982
3982
  readOnly,
3983
3983
  ...props
3984
3984
  }) {
3985
- return /* @__PURE__ */ jsx(Root, { ...props, size, variant, readOnly, children });
3985
+ return /* @__PURE__ */ jsx(Root$1, { ...props, size, variant, readOnly, children });
3986
3986
  }
3987
3987
  function DatePicker({
3988
3988
  handleClear,
@@ -4666,6 +4666,122 @@ function DateTimePicker({
4666
4666
  }
4667
4667
  );
4668
4668
  }
4669
+ const EMPTY_STATE_WIDTH = 592;
4670
+ const Root = styled(Stack, {
4671
+ shouldForwardProp: (prop) => prop !== "size" && prop !== "spacing" && prop !== "contentHeight"
4672
+ })(({ size = "medium", spacing, contentHeight, theme }) => ({
4673
+ display: "flex",
4674
+ justifyContent: "center",
4675
+ alignItems: "center",
4676
+ gap: theme.spacing(spacing ?? (size === "small" ? 1 : 2)),
4677
+ height: contentHeight,
4678
+ minHeight: contentHeight
4679
+ }));
4680
+ const IconWrapper = styled(Box, {
4681
+ shouldForwardProp: (prop) => prop !== "size" && prop !== "iconSize" && prop !== "iconColor"
4682
+ })(({ size, iconSize, iconColor, theme }) => {
4683
+ const finalIconSize = iconSize ?? (size === "small" ? theme.spacing(5) : theme.spacing(6));
4684
+ const colorValue = iconColor === null || iconColor === void 0 ? void 0 : getThemeColor(iconColor, theme);
4685
+ return {
4686
+ display: "flex",
4687
+ ".MuiSvgIcon-root": {
4688
+ width: finalIconSize,
4689
+ height: finalIconSize,
4690
+ fontSize: finalIconSize,
4691
+ ...colorValue && { color: colorValue }
4692
+ }
4693
+ };
4694
+ });
4695
+ const TextContent = styled(Stack, {
4696
+ shouldForwardProp: (prop) => prop !== "contentWidth"
4697
+ })(({ contentWidth, theme }) => ({
4698
+ display: "flex",
4699
+ flexDirection: "column",
4700
+ alignItems: "center",
4701
+ gap: theme.spacing(0.5),
4702
+ textAlign: "center",
4703
+ maxWidth: contentWidth ?? EMPTY_STATE_WIDTH,
4704
+ margin: "0 auto"
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 ? 32 : 48);
4736
+ const iconColor = (iconProps == null ? void 0 : 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
+ sx,
4746
+ ...otherProps,
4747
+ "data-name": "empty-state",
4748
+ "data-size": size,
4749
+ "data-spacing": spacing,
4750
+ "data-content-height": contentHeight,
4751
+ "data-content-width": contentWidth,
4752
+ "data-icon-size": iconSize,
4753
+ "data-icon-color": iconColor ?? "null",
4754
+ children: [
4755
+ icon && /* @__PURE__ */ jsx(IconWrapper, { size, iconSize, iconColor, children: icon }),
4756
+ hasAnyTextContent && /* @__PURE__ */ jsxs(TextContent, { contentWidth, children: [
4757
+ title && /* @__PURE__ */ jsx(
4758
+ Typography,
4759
+ {
4760
+ variant: isSmall ? "body2" : "body1",
4761
+ color: "textSecondary",
4762
+ component: "div",
4763
+ ...titleProps,
4764
+ children: title
4765
+ }
4766
+ ),
4767
+ description && /* @__PURE__ */ jsx(
4768
+ Typography,
4769
+ {
4770
+ variant: isSmall ? "caption" : "body2",
4771
+ color: "textSecondary",
4772
+ component: "div",
4773
+ ...descriptionProps,
4774
+ children: description
4775
+ }
4776
+ )
4777
+ ] }),
4778
+ actions && /* @__PURE__ */ jsx(Actions, { size, spacing, children: actions }),
4779
+ children
4780
+ ]
4781
+ }
4782
+ );
4783
+ }
4784
+ const EmptyState = forwardRef(_EmptyState);
4669
4785
  const DEFAULT_ITEMS = [{ outlinedBullet: false, value: "" }];
4670
4786
  const Content$2 = styled("ul")(({ theme }) => ({
4671
4787
  listStyle: "none",
@@ -6183,6 +6299,7 @@ export {
6183
6299
  DialogPaper,
6184
6300
  DialogStepper,
6185
6301
  EllipsisWithTooltip,
6302
+ EmptyState,
6186
6303
  FilterDropdown,
6187
6304
  FilterDropdownMenuItem,
6188
6305
  IconButton,
@@ -3,12 +3,12 @@ var _a, _b, _c, _d, _e, _f, _g, _h;
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
4
4
  const material = require("@mui/material");
5
5
  const paletteUtils = require("../palette-utils-B9ybmwiI.cjs");
6
+ const MenuItem = require("../MenuItem-DoBJsRR_.cjs");
6
7
  const jsxRuntime = require("react/jsx-runtime");
7
8
  const cssUtils = require("../css-utils-CH7es90t.cjs");
8
9
  const iconsMaterial = require("@mui/icons-material");
9
10
  const ArrowDown = require("../ArrowDown-DJ0vhbsw.cjs");
10
11
  const xDatePickers = require("@mui/x-date-pickers");
11
- const MenuItem = require("../MenuItem-CgF4QdGi.cjs");
12
12
  const themeShadows = [
13
13
  "none",
14
14
  // 0
@@ -44,11 +44,6 @@ const themeShadows = [
44
44
  "0px 11px 15px -7px rgba(44, 48, 50, 0.12), 0px 24px 38px 3px rgba(44, 48, 50, 0.08), 0px 9px 46px 8px rgba(44, 48, 50, 0.04)"
45
45
  // 24
46
46
  ];
47
- function getPixelToRem(px) {
48
- const fontBase = 16;
49
- const rem = 1 / fontBase * px + "rem";
50
- return rem;
51
- }
52
47
  const baseTypography = {
53
48
  htmlFontSize: 16,
54
49
  fontFamily: "Inter, sans-serif",
@@ -62,77 +57,77 @@ const baseTypography = {
62
57
  h1: {
63
58
  fontFamily: "Inter, sans-serif",
64
59
  fontWeight: 600,
65
- fontSize: getPixelToRem(96),
60
+ fontSize: MenuItem.getPixelToRem(96),
66
61
  lineHeight: 1.167,
67
62
  letterSpacing: "-1.5px"
68
63
  },
69
64
  h2: {
70
65
  fontFamily: "Inter, sans-serif",
71
66
  fontWeight: 600,
72
- fontSize: getPixelToRem(60),
67
+ fontSize: MenuItem.getPixelToRem(60),
73
68
  lineHeight: 1.2,
74
69
  letterSpacing: "-0.5px"
75
70
  },
76
71
  h3: {
77
72
  fontFamily: "Inter, sans-serif",
78
73
  fontWeight: 600,
79
- fontSize: getPixelToRem(48),
74
+ fontSize: MenuItem.getPixelToRem(48),
80
75
  lineHeight: 1.167,
81
76
  letterSpacing: 0
82
77
  },
83
78
  h4: {
84
79
  fontFamily: "Inter, sans-serif",
85
80
  fontWeight: 600,
86
- fontSize: getPixelToRem(32),
81
+ fontSize: MenuItem.getPixelToRem(32),
87
82
  lineHeight: 1.25,
88
83
  letterSpacing: 0
89
84
  },
90
85
  h5: {
91
86
  fontFamily: "Inter, sans-serif",
92
87
  fontWeight: 600,
93
- fontSize: getPixelToRem(24),
88
+ fontSize: MenuItem.getPixelToRem(24),
94
89
  lineHeight: 1.167,
95
90
  letterSpacing: 0
96
91
  },
97
92
  h6: {
98
93
  fontFamily: "Inter, sans-serif",
99
94
  fontWeight: 500,
100
- fontSize: getPixelToRem(18),
95
+ fontSize: MenuItem.getPixelToRem(18),
101
96
  lineHeight: 1.333,
102
97
  letterSpacing: 0
103
98
  },
104
99
  subtitle1: {
105
100
  fontFamily: "Inter, sans-serif",
106
101
  fontWeight: 500,
107
- fontSize: getPixelToRem(16),
102
+ fontSize: MenuItem.getPixelToRem(16),
108
103
  lineHeight: 1.5,
109
104
  letterSpacing: 0
110
105
  },
111
106
  subtitle2: {
112
107
  fontFamily: "Inter, sans-serif",
113
108
  fontWeight: 600,
114
- fontSize: getPixelToRem(13),
109
+ fontSize: MenuItem.getPixelToRem(13),
115
110
  lineHeight: 1.538,
116
111
  letterSpacing: 0
117
112
  },
118
113
  body1: {
119
114
  fontFamily: "Inter, sans-serif",
120
115
  fontWeight: 400,
121
- fontSize: getPixelToRem(16),
116
+ fontSize: MenuItem.getPixelToRem(16),
122
117
  lineHeight: 1.5,
123
118
  letterSpacing: 0
124
119
  },
125
120
  body2: {
126
121
  fontFamily: "Inter, sans-serif",
127
122
  fontWeight: 400,
128
- fontSize: getPixelToRem(13),
123
+ fontSize: MenuItem.getPixelToRem(13),
129
124
  lineHeight: 1.538,
130
125
  letterSpacing: 0
131
126
  },
132
127
  button: {
133
128
  fontFamily: "Inter, sans-serif",
134
129
  fontWeight: 500,
135
- fontSize: getPixelToRem(13),
130
+ fontSize: MenuItem.getPixelToRem(13),
136
131
  lineHeight: 1.538,
137
132
  letterSpacing: 0,
138
133
  textTransform: "inherit"
@@ -140,14 +135,14 @@ const baseTypography = {
140
135
  caption: {
141
136
  fontFamily: "Inter, sans-serif",
142
137
  fontWeight: 400,
143
- fontSize: getPixelToRem(11),
138
+ fontSize: MenuItem.getPixelToRem(11),
144
139
  lineHeight: 1.454,
145
140
  letterSpacing: 0
146
141
  },
147
142
  overline: {
148
143
  fontFamily: "Inter, sans-serif",
149
144
  fontWeight: 500,
150
- fontSize: getPixelToRem(10),
145
+ fontSize: MenuItem.getPixelToRem(10),
151
146
  lineHeight: 1.2,
152
147
  letterSpacing: "1.2px",
153
148
  textTransform: "uppercase"
@@ -167,7 +162,7 @@ const customTypography = {
167
162
  code1: {
168
163
  fontFamily: '"Overpass Mono", monospace',
169
164
  fontWeight: 400,
170
- fontSize: getPixelToRem(16),
165
+ fontSize: MenuItem.getPixelToRem(16),
171
166
  lineHeight: 1.5,
172
167
  letterSpacing: 0,
173
168
  fontVariantLigatures: "no-common-ligatures"
@@ -175,7 +170,7 @@ const customTypography = {
175
170
  code2: {
176
171
  fontFamily: '"Overpass Mono", monospace',
177
172
  fontWeight: 400,
178
- fontSize: getPixelToRem(14),
173
+ fontSize: MenuItem.getPixelToRem(14),
179
174
  lineHeight: 1.428,
180
175
  letterSpacing: 0,
181
176
  fontVariantLigatures: "no-common-ligatures"
@@ -183,7 +178,7 @@ const customTypography = {
183
178
  code3: {
184
179
  fontFamily: '"Overpass Mono", monospace',
185
180
  fontWeight: 400,
186
- fontSize: getPixelToRem(12),
181
+ fontSize: MenuItem.getPixelToRem(12),
187
182
  lineHeight: 1.333,
188
183
  letterSpacing: 0,
189
184
  fontVariantLigatures: "no-common-ligatures"
@@ -2,13 +2,13 @@ var _a, _b, _c, _d, _e, _f, _g, _h;
2
2
  import { alpha, Tooltip, responsiveFontSizes, createTheme } from "@mui/material";
3
3
  import { c as commonPalette } from "../palette-utils-BHqJlHm9.js";
4
4
  import { g } from "../palette-utils-BHqJlHm9.js";
5
+ import { g as getPixelToRem, M as MenuItem } from "../MenuItem-Cx5lTXXm.js";
5
6
  import { jsxs, Fragment, jsx } from "react/jsx-runtime";
6
7
  import { T as Typography, a as TablePaginationActions, I as ICON_SIZE_LARGE, b as ICON_SIZE_MEDIUM, c as ICON_SIZE_SMALL, g as getSpacing, e as ellipsisStyles, M as MENU_ITEM_SIZE_DEFAULT, d as MENU_LIST_MAX_SIZE, f as MENU_ITEM_SIZE_DENSE, A as APPBAR_SIZE, B as BREAKPOINTS, S as SPACING } from "../css-utils-CjUBRJVK.js";
7
8
  import { h, N } from "../css-utils-CjUBRJVK.js";
8
9
  import { Cancel, EventOutlined, ChevronRightOutlined, ChevronLeftOutlined, ExpandMoreOutlined, CheckCircleOutlined, InfoOutlined } from "@mui/icons-material";
9
10
  import { A as ArrowDown } from "../ArrowDown-d6bxUL0F.js";
10
11
  import { renderDigitalClockTimeView } from "@mui/x-date-pickers";
11
- import { M as MenuItem } from "../MenuItem-DRUK149i.js";
12
12
  const themeShadows = [
13
13
  "none",
14
14
  // 0
@@ -44,11 +44,6 @@ const themeShadows = [
44
44
  "0px 11px 15px -7px rgba(44, 48, 50, 0.12), 0px 24px 38px 3px rgba(44, 48, 50, 0.08), 0px 9px 46px 8px rgba(44, 48, 50, 0.04)"
45
45
  // 24
46
46
  ];
47
- function getPixelToRem(px) {
48
- const fontBase = 16;
49
- const rem = 1 / fontBase * px + "rem";
50
- return rem;
51
- }
52
47
  const baseTypography = {
53
48
  htmlFontSize: 16,
54
49
  fontFamily: "Inter, sans-serif",
@@ -0,0 +1,4 @@
1
+ import { EmptyStateProps } from './types';
2
+ declare const EmptyState: import('react').ForwardRefExoticComponent<EmptyStateProps & import('react').RefAttributes<HTMLDivElement>>;
3
+ export default EmptyState;
4
+ //# sourceMappingURL=EmptyState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EmptyState.d.ts","sourceRoot":"","sources":["../../../../src/components/EmptyState/EmptyState.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAkGzC,QAAA,MAAM,UAAU,4GAA2D,CAAA;AAC3E,eAAe,UAAU,CAAA"}
@@ -0,0 +1,188 @@
1
+ import { EmptyStateProps } from './types';
2
+ type EmptyStateStoryProps = EmptyStateProps & {
3
+ /**
4
+ * The color of the icon.
5
+ * It supports any color from the theme (e.g., 'text.disabled', 'primary.main', 'text.secondary').
6
+ * @default 'text.disabled'
7
+ */
8
+ iconColor?: string;
9
+ /**
10
+ * The size of the icon.
11
+ * @default undefined
12
+ */
13
+ iconSize?: number | string;
14
+ };
15
+ declare const options: {
16
+ title: string;
17
+ component: import('react').ForwardRefExoticComponent<EmptyStateProps & import('react').RefAttributes<HTMLDivElement>>;
18
+ tags: string[];
19
+ argTypes: {
20
+ size: {
21
+ control: "select";
22
+ options: string[];
23
+ table: {
24
+ type: {
25
+ summary: string;
26
+ };
27
+ defaultValue: {
28
+ summary: string;
29
+ };
30
+ };
31
+ };
32
+ spacing: {
33
+ control: "number";
34
+ table: {
35
+ type: {
36
+ summary: string;
37
+ };
38
+ };
39
+ };
40
+ contentWidth: {
41
+ control: "number";
42
+ table: {
43
+ type: {
44
+ summary: string;
45
+ };
46
+ defaultValue: {
47
+ summary: string;
48
+ };
49
+ };
50
+ };
51
+ contentHeight: {
52
+ control: "number";
53
+ table: {
54
+ type: {
55
+ summary: string;
56
+ };
57
+ };
58
+ };
59
+ title: {
60
+ control: "text";
61
+ };
62
+ description: {
63
+ control: "text";
64
+ };
65
+ sx: {
66
+ control: "object";
67
+ };
68
+ iconProps: {
69
+ control: "boolean";
70
+ defaultValue: boolean;
71
+ description: string;
72
+ table: {
73
+ type: {
74
+ summary: string;
75
+ };
76
+ };
77
+ };
78
+ iconColor: {
79
+ control: "text";
80
+ description: string;
81
+ if: {
82
+ arg: string;
83
+ };
84
+ table: {
85
+ type: {
86
+ summary: string;
87
+ };
88
+ defaultValue: {
89
+ summary: string;
90
+ };
91
+ };
92
+ };
93
+ iconSize: {
94
+ control: "select";
95
+ options: number[];
96
+ description: string;
97
+ if: {
98
+ arg: string;
99
+ };
100
+ table: {
101
+ type: {
102
+ summary: string;
103
+ };
104
+ defaultValue: {
105
+ summary: string;
106
+ };
107
+ };
108
+ };
109
+ };
110
+ args: {
111
+ title: string;
112
+ description: string;
113
+ };
114
+ parameters: {
115
+ design: {
116
+ type: string;
117
+ url: string;
118
+ };
119
+ status: {
120
+ type: string;
121
+ };
122
+ };
123
+ };
124
+ export default options;
125
+ export declare const Playground: {
126
+ render: ({ iconSize, iconColor, iconProps, ...args }: EmptyStateStoryProps) => import("react/jsx-runtime").JSX.Element;
127
+ args: {
128
+ title: string;
129
+ icon: import("react/jsx-runtime").JSX.Element;
130
+ };
131
+ parameters: {
132
+ chromatic: {
133
+ disableSnapshot: boolean;
134
+ };
135
+ };
136
+ };
137
+ export declare const Size: {
138
+ render: (args: EmptyStateStoryProps) => import("react/jsx-runtime").JSX.Element;
139
+ args: {
140
+ icon: import("react/jsx-runtime").JSX.Element;
141
+ };
142
+ };
143
+ export declare const Icon: {
144
+ render: (args: EmptyStateStoryProps) => import("react/jsx-runtime").JSX.Element;
145
+ args: {
146
+ size: string;
147
+ title: string;
148
+ };
149
+ };
150
+ export declare const TitleAndDescription: {
151
+ render: (args: EmptyStateStoryProps) => import("react/jsx-runtime").JSX.Element;
152
+ args: {
153
+ icon: import("react/jsx-runtime").JSX.Element;
154
+ };
155
+ };
156
+ export declare const Actions: {
157
+ render: (args: EmptyStateStoryProps) => import("react/jsx-runtime").JSX.Element;
158
+ args: {
159
+ icon: import("react/jsx-runtime").JSX.Element;
160
+ };
161
+ };
162
+ export declare const IconProps: {
163
+ render: (args: EmptyStateStoryProps) => import("react/jsx-runtime").JSX.Element;
164
+ args: {
165
+ icon: import("react/jsx-runtime").JSX.Element;
166
+ };
167
+ };
168
+ export declare const ContentDimensions: {
169
+ render: (args: EmptyStateStoryProps) => import("react/jsx-runtime").JSX.Element;
170
+ args: {
171
+ title: string;
172
+ description: string;
173
+ actions: import("react/jsx-runtime").JSX.Element;
174
+ icon: import("react/jsx-runtime").JSX.Element;
175
+ };
176
+ };
177
+ export declare const CustomSXStyles: {
178
+ render: ({ iconSize, iconColor, iconProps, ...args }: EmptyStateStoryProps) => import("react/jsx-runtime").JSX.Element;
179
+ args: {
180
+ sx: {
181
+ padding: number;
182
+ border: string;
183
+ borderRadius: number;
184
+ };
185
+ icon: import("react/jsx-runtime").JSX.Element;
186
+ };
187
+ };
188
+ //# sourceMappingURL=EmptyState.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EmptyState.stories.d.ts","sourceRoot":"","sources":["../../../../src/components/EmptyState/EmptyState.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAKzC,KAAK,oBAAoB,GAAG,eAAe,GAAG;IAC5C;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CAC3B,CAAA;AAED,QAAA,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2FyB,CAAA;AACtC,eAAe,OAAO,CAAA;AAmXtB,eAAO,MAAM,UAAU;0DA5WpB,oBAAoB;;;;;;;;;;CAqXtB,CAAA;AAED,eAAO,MAAM,IAAI;mBAjUW,oBAAoB;;;;CAsU/C,CAAA;AAED,eAAO,MAAM,IAAI;mBAnXW,oBAAoB;;;;;CAyX/C,CAAA;AAED,eAAO,MAAM,mBAAmB;mBAlMG,oBAAoB;;;;CAuMtD,CAAA;AAED,eAAO,MAAM,OAAO;mBArJW,oBAAoB;;;;CA0JlD,CAAA;AAED,eAAO,MAAM,SAAS;mBA7TW,oBAAoB;;;;CAkUpD,CAAA;AAED,eAAO,MAAM,iBAAiB;mBA5QW,oBAAoB;;;;;;;CAyR5D,CAAA;AAED,eAAO,MAAM,cAAc;0DA1axB,oBAAoB;;;;;;;;;CAobtB,CAAA"}
@@ -0,0 +1,38 @@
1
+ import { EmptyStateProps } from './types';
2
+ export declare const EMPTY_STATE_WIDTH = 592;
3
+ /**
4
+ * Props for the Root styled component.
5
+ */
6
+ type RootProps = {
7
+ size?: EmptyStateProps['size'];
8
+ spacing?: number;
9
+ contentHeight?: number | string;
10
+ };
11
+ /**
12
+ * Props for the IconWrapper styled component.
13
+ */
14
+ type IconWrapperProps = {
15
+ size?: EmptyStateProps['size'];
16
+ iconSize?: number | string;
17
+ iconColor?: string | null;
18
+ };
19
+ export declare const Root: import('@emotion/styled').StyledComponent<import('@mui/material').StackOwnProps & import('@mui/material/OverridableComponent').CommonProps & Omit<Omit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
20
+ ref?: ((instance: HTMLDivElement | null) => void | import('react').DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof import('react').DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | import('react').RefObject<HTMLDivElement> | null | undefined;
21
+ }, keyof import('@mui/material/OverridableComponent').CommonProps | keyof import('@mui/material').StackOwnProps> & import('@mui/system').MUIStyledCommonProps<import('@mui/material').Theme> & RootProps, {}, {}>;
22
+ export declare const IconWrapper: import('@emotion/styled').StyledComponent<import('@mui/system').BoxOwnProps<import('@mui/material').Theme> & Omit<Omit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
23
+ ref?: ((instance: HTMLDivElement | null) => void | import('react').DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof import('react').DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | import('react').RefObject<HTMLDivElement> | null | undefined;
24
+ }, keyof import('@mui/system').BoxOwnProps<import('@mui/material').Theme>> & import('@mui/system').MUIStyledCommonProps<import('@mui/material').Theme> & IconWrapperProps, {}, {}>;
25
+ type TextContentProps = {
26
+ contentWidth?: number | string;
27
+ };
28
+ export declare const TextContent: import('@emotion/styled').StyledComponent<import('@mui/material').StackOwnProps & import('@mui/material/OverridableComponent').CommonProps & Omit<Omit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
29
+ ref?: ((instance: HTMLDivElement | null) => void | import('react').DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof import('react').DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | import('react').RefObject<HTMLDivElement> | null | undefined;
30
+ }, keyof import('@mui/material/OverridableComponent').CommonProps | keyof import('@mui/material').StackOwnProps> & import('@mui/system').MUIStyledCommonProps<import('@mui/material').Theme> & TextContentProps, {}, {}>;
31
+ export declare const Actions: import('@emotion/styled').StyledComponent<import('@mui/material').StackOwnProps & import('@mui/material/OverridableComponent').CommonProps & Omit<Omit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
32
+ ref?: ((instance: HTMLDivElement | null) => void | import('react').DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof import('react').DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | import('react').RefObject<HTMLDivElement> | null | undefined;
33
+ }, keyof import('@mui/material/OverridableComponent').CommonProps | keyof import('@mui/material').StackOwnProps> & import('@mui/system').MUIStyledCommonProps<import('@mui/material').Theme> & {
34
+ size?: EmptyStateProps["size"];
35
+ spacing?: number;
36
+ }, {}, {}>;
37
+ export {};
38
+ //# sourceMappingURL=EmptyState.styled.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EmptyState.styled.d.ts","sourceRoot":"","sources":["../../../../src/components/EmptyState/EmptyState.styled.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAEzC,eAAO,MAAM,iBAAiB,MAAM,CAAA;AAEpC;;GAEG;AACH,KAAK,SAAS,GAAG;IACf,IAAI,CAAC,EAAE,eAAe,CAAC,MAAM,CAAC,CAAA;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CAChC,CAAA;AAED;;GAEG;AACH,KAAK,gBAAgB,GAAG;IACtB,IAAI,CAAC,EAAE,eAAe,CAAC,MAAM,CAAC,CAAA;IAC9B,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAC1B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAC1B,CAAA;AAED,eAAO,MAAM,IAAI;;iNAUd,CAAA;AAEH,eAAO,MAAM,WAAW;;kLAwBtB,CAAA;AAEF,KAAK,gBAAgB,GAAG;IACtB,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CAC/B,CAAA;AAED,eAAO,MAAM,WAAW;;wNAUrB,CAAA;AAEH,eAAO,MAAM,OAAO;;;WAGX,eAAe,CAAC,MAAM,CAAC;cACpB,MAAM;UAUf,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=EmptyState.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EmptyState.test.d.ts","sourceRoot":"","sources":["../../../../src/components/EmptyState/EmptyState.test.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ export { default as EmptyState } from './EmptyState';
2
+ export type * from './types';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/EmptyState/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAA;AACpD,mBAAmB,SAAS,CAAA"}
@@ -0,0 +1,82 @@
1
+ import { ReactElement, ReactNode } from 'react';
2
+ import { SxProps, Theme } from '@mui/material';
3
+ import { TypographyProps } from '../Typography';
4
+ /**
5
+ * Props for the EmptyState component.
6
+ */
7
+ export type EmptyStateProps = {
8
+ /**
9
+ * The icon to display in the empty state.
10
+ * */
11
+ icon?: ReactElement;
12
+ /**
13
+ * The title to display in the empty state.
14
+ * */
15
+ title?: ReactElement | string;
16
+ /**
17
+ * The Typography props to pass to the title component.
18
+ * */
19
+ titleProps?: TypographyProps;
20
+ /**
21
+ * The description to display in the empty state.
22
+ * */
23
+ description?: ReactElement | string;
24
+ /**
25
+ * The Typography props to pass to the description component.
26
+ * */
27
+ descriptionProps?: TypographyProps;
28
+ /**
29
+ * The actions to display in the empty state. Can be used to add a button, link, or other actionable elements to the empty state.
30
+ * */
31
+ actions?: ReactNode;
32
+ /**
33
+ * The children to display in the empty state. Can be used to add extra content to the empty state.
34
+ * */
35
+ children?: ReactNode;
36
+ /**
37
+ * The size affects overall design details like the icon size, typography variants, and the spacing between the icon and the content.
38
+ * @default 'medium'
39
+ * */
40
+ size?: 'small' | 'medium';
41
+ /**
42
+ * Overrides the default gap between content items. Accepts theme spacing values (e.g., 1, 2, 3).
43
+ * @default 2 (theme.spacing(2))
44
+ * */
45
+ spacing?: number;
46
+ /**
47
+ * The height of the component.
48
+ * If using a number, the pixel unit is assumed.
49
+ * If using a string, you need to provide the CSS unit, for example '3rem'.
50
+ * @default undefined
51
+ */
52
+ contentHeight?: number | string;
53
+ /**
54
+ * The height of the component.
55
+ * If using a number, the pixel unit is assumed.
56
+ * If using a string, you need to provide the CSS unit, for example '3rem'.
57
+ * @default 592
58
+ */
59
+ contentWidth?: number | string;
60
+ /**
61
+ * The props to pass to the icon wrapper component. If not provided, the icon will be sized based on the size prop.
62
+ * */
63
+ iconProps?: {
64
+ /**
65
+ * The size of the icon.
66
+ * @default undefined
67
+ * */
68
+ size?: number | string;
69
+ /**
70
+ * The color of the icon. It supports any color from the theme
71
+ * (e.g., "text.disabled", "primary.main", "text.secondary").
72
+ * Set to null to preserve the SVG's original color.
73
+ * @default 'text.disabled'
74
+ * */
75
+ color?: string | null;
76
+ };
77
+ /**
78
+ * The props to pass to the container element to override the default styles.
79
+ */
80
+ sx?: SxProps<Theme>;
81
+ };
82
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/EmptyState/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAC/C,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAE/C;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B;;SAEK;IACL,IAAI,CAAC,EAAE,YAAY,CAAA;IACnB;;SAEK;IACL,KAAK,CAAC,EAAE,YAAY,GAAG,MAAM,CAAA;IAC7B;;SAEK;IACL,UAAU,CAAC,EAAE,eAAe,CAAA;IAC5B;;SAEK;IACL,WAAW,CAAC,EAAE,YAAY,GAAG,MAAM,CAAA;IACnC;;SAEK;IACL,gBAAgB,CAAC,EAAE,eAAe,CAAA;IAClC;;SAEK;IACL,OAAO,CAAC,EAAE,SAAS,CAAA;IACnB;;SAEK;IACL,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB;;;SAGK;IACL,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAA;IACzB;;;SAGK;IACL,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAC/B;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAC9B;;SAEK;IACL,SAAS,CAAC,EAAE;QACV;;;aAGK;QACL,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;QACtB;;;;;aAKK;QACL,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KACtB,CAAA;IACD;;OAEG;IACH,EAAE,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAA;CACpB,CAAA"}
@@ -122,9 +122,9 @@ export declare const ContentHeight: {
122
122
  export declare const CustomSXStyles: {
123
123
  render: ({ size, color, iconProps, ...args }: LoaderStoryProps) => import("react/jsx-runtime").JSX.Element;
124
124
  args: {
125
- sx: {
126
- border: string;
127
- };
125
+ padding: number;
126
+ border: string;
127
+ borderRadius: number;
128
128
  };
129
129
  };
130
130
  //# sourceMappingURL=Loader.stories.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Loader.stories.d.ts","sourceRoot":"","sources":["../../../../src/components/Loader/Loader.stories.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AACrC,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AAE3D,KAAK,gBAAgB,GAAG,WAAW,GAAG;IACpC;;;;OAIG;IACH,KAAK,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,SAAS,CAAA;IAC3C;;;OAGG;IACH,IAAI,CAAC,EAAE,qBAAqB,CAAC,MAAM,CAAC,CAAA;CACrC,CAAA;AAED,QAAA,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+DqB,CAAA;AAClC,eAAe,OAAO,CAAA;AA0GtB,eAAO,MAAM,UAAU;kDAxGgC,gBAAgB;;;;;;CA6GtE,CAAA;AAED,eAAO,MAAM,KAAK;gCApGwB,gBAAgB;CAsGzD,CAAA;AAED,eAAO,MAAM,IAAI;iCAnFyB,gBAAgB;CAqFzD,CAAA;AAED,eAAO,MAAM,mBAAmB;uCAtEiB,gBAAgB;CAwEhE,CAAA;AAED,eAAO,MAAM,eAAe;kDA3H2B,gBAAgB;;;;;;CAkItE,CAAA;AAED,eAAO,MAAM,aAAa;kDApI6B,gBAAgB;;;;CAyItE,CAAA;AAED,eAAO,MAAM,cAAc;kDA3I4B,gBAAgB;;;;;;CAgJtE,CAAA"}
1
+ {"version":3,"file":"Loader.stories.d.ts","sourceRoot":"","sources":["../../../../src/components/Loader/Loader.stories.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AACrC,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AAE3D,KAAK,gBAAgB,GAAG,WAAW,GAAG;IACpC;;;;OAIG;IACH,KAAK,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,SAAS,CAAA;IAC3C;;;OAGG;IACH,IAAI,CAAC,EAAE,qBAAqB,CAAC,MAAM,CAAC,CAAA;CACrC,CAAA;AAED,QAAA,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+DqB,CAAA;AAClC,eAAe,OAAO,CAAA;AA0GtB,eAAO,MAAM,UAAU;kDAxGgC,gBAAgB;;;;;;CA6GtE,CAAA;AAED,eAAO,MAAM,KAAK;gCApGwB,gBAAgB;CAsGzD,CAAA;AAED,eAAO,MAAM,IAAI;iCAnFyB,gBAAgB;CAqFzD,CAAA;AAED,eAAO,MAAM,mBAAmB;uCAtEiB,gBAAgB;CAwEhE,CAAA;AAED,eAAO,MAAM,eAAe;kDA3H2B,gBAAgB;;;;;;CAkItE,CAAA;AAED,eAAO,MAAM,aAAa;kDApI6B,gBAAgB;;;;CAyItE,CAAA;AAED,eAAO,MAAM,cAAc;kDA3I4B,gBAAgB;;;;;;CAkJtE,CAAA"}
@@ -17,6 +17,7 @@ export * from './AppBar';
17
17
  export * from './CodeArea';
18
18
  export * from './DatePickers';
19
19
  export * from './Dialog';
20
+ export * from './EmptyState';
20
21
  export * from './TooltipData';
21
22
  export * from './AccordionGroup';
22
23
  export * from './Alert';
@@ -49,6 +50,7 @@ export type * from './AppBar';
49
50
  export type * from './CodeArea';
50
51
  export type * from './DatePickers';
51
52
  export type * from './Dialog';
53
+ export type * from './EmptyState';
52
54
  export type * from './TooltipData';
53
55
  export type * from './AccordionGroup';
54
56
  export type * from './Alert';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,eAAe,CAAA;AAC7B,cAAc,sBAAsB,CAAA;AACpC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,qBAAqB,CAAA;AACnC,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,QAAQ,CAAA;AACtB,cAAc,UAAU,CAAA;AACxB,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,UAAU,CAAA;AACxB,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA;AAC7B,cAAc,UAAU,CAAA;AACxB,cAAc,eAAe,CAAA;AAC7B,cAAc,kBAAkB,CAAA;AAChC,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAA;AACxB,cAAc,kBAAkB,CAAA;AAChC,cAAc,QAAQ,CAAA;AACtB,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA;AAC7B,cAAc,YAAY,CAAA;AAC1B,cAAc,0BAA0B,CAAA;AACxC,cAAc,OAAO,CAAA;AACrB,cAAc,eAAe,CAAA;AAC7B,cAAc,uBAAuB,CAAA;AAErC,mBAAmB,UAAU,CAAA;AAC7B,mBAAmB,eAAe,CAAA;AAClC,mBAAmB,sBAAsB,CAAA;AACzC,mBAAmB,iBAAiB,CAAA;AACpC,mBAAmB,eAAe,CAAA;AAClC,mBAAmB,qBAAqB,CAAA;AACxC,mBAAmB,cAAc,CAAA;AACjC,mBAAmB,cAAc,CAAA;AACjC,mBAAmB,QAAQ,CAAA;AAC3B,mBAAmB,UAAU,CAAA;AAC7B,mBAAmB,oBAAoB,CAAA;AACvC,mBAAmB,oBAAoB,CAAA;AACvC,mBAAmB,qBAAqB,CAAA;AACxC,mBAAmB,qBAAqB,CAAA;AACxC,mBAAmB,gBAAgB,CAAA;AACnC,mBAAmB,UAAU,CAAA;AAC7B,mBAAmB,YAAY,CAAA;AAC/B,mBAAmB,eAAe,CAAA;AAClC,mBAAmB,UAAU,CAAA;AAC7B,mBAAmB,eAAe,CAAA;AAClC,mBAAmB,kBAAkB,CAAA;AACrC,mBAAmB,SAAS,CAAA;AAC5B,mBAAmB,UAAU,CAAA;AAC7B,mBAAmB,kBAAkB,CAAA;AACrC,mBAAmB,QAAQ,CAAA;AAC3B,mBAAmB,eAAe,CAAA;AAClC,mBAAmB,eAAe,CAAA;AAClC,mBAAmB,YAAY,CAAA;AAC/B,mBAAmB,0BAA0B,CAAA;AAC7C,mBAAmB,OAAO,CAAA;AAC1B,mBAAmB,eAAe,CAAA;AAClC,mBAAmB,uBAAuB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,eAAe,CAAA;AAC7B,cAAc,sBAAsB,CAAA;AACpC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,qBAAqB,CAAA;AACnC,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,QAAQ,CAAA;AACtB,cAAc,UAAU,CAAA;AACxB,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,UAAU,CAAA;AACxB,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA;AAC7B,cAAc,UAAU,CAAA;AACxB,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,kBAAkB,CAAA;AAChC,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAA;AACxB,cAAc,kBAAkB,CAAA;AAChC,cAAc,QAAQ,CAAA;AACtB,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA;AAC7B,cAAc,YAAY,CAAA;AAC1B,cAAc,0BAA0B,CAAA;AACxC,cAAc,OAAO,CAAA;AACrB,cAAc,eAAe,CAAA;AAC7B,cAAc,uBAAuB,CAAA;AAErC,mBAAmB,UAAU,CAAA;AAC7B,mBAAmB,eAAe,CAAA;AAClC,mBAAmB,sBAAsB,CAAA;AACzC,mBAAmB,iBAAiB,CAAA;AACpC,mBAAmB,eAAe,CAAA;AAClC,mBAAmB,qBAAqB,CAAA;AACxC,mBAAmB,cAAc,CAAA;AACjC,mBAAmB,cAAc,CAAA;AACjC,mBAAmB,QAAQ,CAAA;AAC3B,mBAAmB,UAAU,CAAA;AAC7B,mBAAmB,oBAAoB,CAAA;AACvC,mBAAmB,oBAAoB,CAAA;AACvC,mBAAmB,qBAAqB,CAAA;AACxC,mBAAmB,qBAAqB,CAAA;AACxC,mBAAmB,gBAAgB,CAAA;AACnC,mBAAmB,UAAU,CAAA;AAC7B,mBAAmB,YAAY,CAAA;AAC/B,mBAAmB,eAAe,CAAA;AAClC,mBAAmB,UAAU,CAAA;AAC7B,mBAAmB,cAAc,CAAA;AACjC,mBAAmB,eAAe,CAAA;AAClC,mBAAmB,kBAAkB,CAAA;AACrC,mBAAmB,SAAS,CAAA;AAC5B,mBAAmB,UAAU,CAAA;AAC7B,mBAAmB,kBAAkB,CAAA;AACrC,mBAAmB,QAAQ,CAAA;AAC3B,mBAAmB,eAAe,CAAA;AAClC,mBAAmB,eAAe,CAAA;AAClC,mBAAmB,YAAY,CAAA;AAC/B,mBAAmB,0BAA0B,CAAA;AAC7C,mBAAmB,OAAO,CAAA;AAC1B,mBAAmB,eAAe,CAAA;AAClC,mBAAmB,uBAAuB,CAAA"}
@@ -43,6 +43,14 @@ declare const options: {
43
43
  };
44
44
  };
45
45
  export default options;
46
+ export declare const SearchIcons: {
47
+ render: (props: SvgIconProps) => import("react/jsx-runtime").JSX.Element;
48
+ parameters: {
49
+ chromatic: {
50
+ disableSnapshot: boolean;
51
+ };
52
+ };
53
+ };
46
54
  export declare const AllIcons: {
47
55
  render: (props: SvgIconProps) => import("react/jsx-runtime").JSX.Element;
48
56
  };
@@ -1 +1 @@
1
- {"version":3,"file":"CustomIcons.stories.d.ts","sourceRoot":"","sources":["../../../../src/custom-icons/__docs__/CustomIcons.stories.tsx"],"names":[],"mappings":"AACA,OAAO,EAAQ,YAAY,EAAY,MAAM,eAAe,CAAA;AAM5D,QAAA,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgDoB,CAAA;AACjC,eAAe,OAAO,CAAA;AA+GtB,eAAO,MAAM,QAAQ;oBA3GI,YAAY;CA6GpC,CAAA;AAED,eAAO,MAAM,MAAM;;;;;;;CAKlB,CAAA;AAED,eAAO,MAAM,KAAK;;;;;;;CAKjB,CAAA"}
1
+ {"version":3,"file":"CustomIcons.stories.d.ts","sourceRoot":"","sources":["../../../../src/custom-icons/__docs__/CustomIcons.stories.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAQ,YAAY,EAAiB,MAAM,eAAe,CAAA;AAKjE,QAAA,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgD4B,CAAA;AACzC,eAAe,OAAO,CAAA;AAiLtB,eAAO,MAAM,WAAW;oBA7KW,YAAY;;;;;;CAkL9C,CAAA;AAED,eAAO,MAAM,QAAQ;oBAlHY,YAAY;CAoH5C,CAAA;AAED,eAAO,MAAM,MAAM;;;;;;;CAKlB,CAAA;AAED,eAAO,MAAM,KAAK;;;;;;;CAKjB,CAAA"}
@@ -1,2 +1,18 @@
1
+ import { Theme } from '@mui/material';
1
2
  export declare function getPixelToRem(px: number): string;
3
+ /**
4
+ * Gets a color value from the theme palette using a string path.
5
+ * Supports theme color paths (e.g., 'text.disabled', 'primary.main', etc.)
6
+ *
7
+ * @param colorPath - The dot-separated path to the color in the theme palette (e.g., 'text.disabled', 'primary.main')
8
+ * @param theme - The MUI theme object
9
+ * @returns The color value as a string, or undefined if the path doesn't exist
10
+ *
11
+ * @example
12
+ * ```ts
13
+ * const color = getThemeColor('text.disabled', theme) // Returns theme.palette.text.disabled
14
+ * const primaryColor = getThemeColor('primary.main', theme) // Returns theme.palette.primary.main
15
+ * ```
16
+ */
17
+ export declare function getThemeColor(colorPath: string, theme: Theme): string | undefined;
2
18
  //# sourceMappingURL=theme-utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"theme-utils.d.ts","sourceRoot":"","sources":["../../../src/utils/theme-utils.ts"],"names":[],"mappings":"AACA,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,UAKvC"}
1
+ {"version":3,"file":"theme-utils.d.ts","sourceRoot":"","sources":["../../../src/utils/theme-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AAGrC,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,UAKvC;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,aAAa,CAC3B,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,KAAK,GACX,MAAM,GAAG,SAAS,CAYpB"}
@@ -1,2 +1 @@
1
- export {};
2
1
  //# sourceMappingURL=FeatureSelectionWidgetUI.test.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FeatureSelectionWidgetUI.test.d.ts","sourceRoot":"","sources":["../../../../src/widgets/FeatureSelectionWidgetUI/FeatureSelectionWidgetUI.test.tsx"],"names":[],"mappings":""}
1
+ {"version":3,"file":"FeatureSelectionWidgetUI.test.d.ts","sourceRoot":"","sources":["../../../../src/widgets/FeatureSelectionWidgetUI/FeatureSelectionWidgetUI.test.tsx"],"names":[],"mappings":"AAGA,OAAO,yBAAyB,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@carto/meridian-ds",
3
- "version": "2.8.0",
3
+ "version": "2.9.0",
4
4
  "description": "CARTO Meridian Design System",
5
5
  "type": "module",
6
6
  "scripts": {