@carto/meridian-ds 2.5.5-alpha-translations.1 → 2.6.0-alpha-searchfield.1

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 (53) hide show
  1. package/CHANGELOG.md +7 -2
  2. package/dist/{Alert-CRVceJ9N.js → Alert-C1VgP3N1.js} +1 -1
  3. package/dist/{Alert-Dyw7Z9wJ.cjs → Alert-F8G9P271.cjs} +7 -7
  4. package/dist/{MenuItem-o51jnNjL.cjs → MenuItem-Bssr5qGq.cjs} +6 -6
  5. package/dist/{MenuItem-h41wtQTz.js → MenuItem-COajCLkS.js} +1 -1
  6. package/dist/{SwatchSquare-CaaLsjAC.js → Search-C7wkXu3f.js} +4 -23
  7. package/dist/{SwatchSquare-B8PIY3Rd.cjs → Search-CMWbM9nD.cjs} +3 -22
  8. package/dist/SwatchSquare-B6KYVoqV.js +24 -0
  9. package/dist/SwatchSquare-DuXPIL7t.cjs +23 -0
  10. package/dist/components/index.cjs +370 -76
  11. package/dist/components/index.js +309 -15
  12. package/dist/{TablePaginationActions-CMC_ZxDN.cjs → css-utils-CqIN_t7x.cjs} +9 -0
  13. package/dist/{TablePaginationActions-DIFPc_wQ.js → css-utils-hxI-qUxK.js} +13 -4
  14. package/dist/custom-icons/index.cjs +3 -2
  15. package/dist/custom-icons/index.js +3 -2
  16. package/dist/theme/index.cjs +108 -114
  17. package/dist/theme/index.js +7 -13
  18. package/dist/types/components/EllipsisWithTooltip/EllipsisWithTooltip.d.ts +117 -0
  19. package/dist/types/components/EllipsisWithTooltip/EllipsisWithTooltip.d.ts.map +1 -0
  20. package/dist/types/components/EllipsisWithTooltip/EllipsisWithTooltip.stories.d.ts +66 -0
  21. package/dist/types/components/EllipsisWithTooltip/EllipsisWithTooltip.stories.d.ts.map +1 -0
  22. package/dist/types/components/EllipsisWithTooltip/EllipsisWithTooltip.test.d.ts +2 -0
  23. package/dist/types/components/EllipsisWithTooltip/EllipsisWithTooltip.test.d.ts.map +1 -0
  24. package/dist/types/components/EllipsisWithTooltip/index.d.ts +3 -0
  25. package/dist/types/components/EllipsisWithTooltip/index.d.ts.map +1 -0
  26. package/dist/types/components/Link/Link.stories.d.ts +0 -7
  27. package/dist/types/components/Link/Link.stories.d.ts.map +1 -1
  28. package/dist/types/components/SearchField/SearchField.d.ts +32 -0
  29. package/dist/types/components/SearchField/SearchField.d.ts.map +1 -0
  30. package/dist/types/components/SearchField/SearchField.stories.d.ts +123 -0
  31. package/dist/types/components/SearchField/SearchField.stories.d.ts.map +1 -0
  32. package/dist/types/components/SearchField/index.d.ts +3 -0
  33. package/dist/types/components/SearchField/index.d.ts.map +1 -0
  34. package/dist/types/components/Tag/Tag.d.ts +176 -4
  35. package/dist/types/components/Tag/Tag.d.ts.map +1 -1
  36. package/dist/types/components/index.d.ts +4 -0
  37. package/dist/types/components/index.d.ts.map +1 -1
  38. package/dist/types/localization/en.d.ts +1 -0
  39. package/dist/types/localization/en.d.ts.map +1 -1
  40. package/dist/types/localization/es.d.ts +1 -0
  41. package/dist/types/localization/es.d.ts.map +1 -1
  42. package/dist/types/localization/id.d.ts +1 -0
  43. package/dist/types/localization/id.d.ts.map +1 -1
  44. package/dist/types/localization/index.d.ts +3 -0
  45. package/dist/types/localization/index.d.ts.map +1 -1
  46. package/dist/types/theme/components/forms.d.ts.map +1 -1
  47. package/dist/types/utils/css-utils.d.ts +14 -0
  48. package/dist/types/utils/css-utils.d.ts.map +1 -0
  49. package/dist/types/widgets/TableWidgetUI/TableWidgetUI.d.ts.map +1 -1
  50. package/dist/types/widgets/WrapperWidgetUI/WrapperWidgetUI.d.ts.map +1 -1
  51. package/dist/widgets/index.cjs +120 -124
  52. package/dist/widgets/index.js +6 -10
  53. package/package.json +1 -1
@@ -4,12 +4,12 @@ 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 Alert$1 = require("../Alert-Dyw7Z9wJ.cjs");
8
- const TablePaginationActions = require("../TablePaginationActions-CMC_ZxDN.cjs");
7
+ const Alert$1 = require("../Alert-F8G9P271.cjs");
8
+ const cssUtils = require("../css-utils-CqIN_t7x.cjs");
9
9
  const ArrowDown = require("../ArrowDown-DJ0vhbsw.cjs");
10
10
  const OpenDiagonallyRight = require("../OpenDiagonallyRight-CpL4ROwg.cjs");
11
11
  const reactIntl = require("react-intl");
12
- const MenuItem = require("../MenuItem-o51jnNjL.cjs");
12
+ const MenuItem = require("../MenuItem-Bssr5qGq.cjs");
13
13
  require("cartocolor");
14
14
  const reactWindow = require("react-window");
15
15
  const reactCodemirror2 = require("react-codemirror2");
@@ -41,6 +41,7 @@ const DatePicker$1 = require("@mui/x-date-pickers/DatePicker");
41
41
  const xDatePickers = require("@mui/x-date-pickers");
42
42
  const TimePicker$1 = require("@mui/x-date-pickers/TimePicker");
43
43
  const DateTimePicker$1 = require("@mui/x-date-pickers/DateTimePicker");
44
+ const Search = require("../Search-CMWbM9nD.cjs");
44
45
  const DOMPurify = require("dompurify");
45
46
  const IndicatorIcon = material.styled(material.Box)({
46
47
  position: "absolute",
@@ -121,7 +122,7 @@ function _Button({
121
122
  },
122
123
  ref,
123
124
  "aria-describedby": isExternalLink ? "external-hint" : ariaDescribedby,
124
- children: /* @__PURE__ */ jsxRuntime.jsx(TablePaginationActions.Typography, { variant: "inherit", color: "inherit", noWrap: true, component: "span", children: renderContent() })
125
+ children: /* @__PURE__ */ jsxRuntime.jsx(cssUtils.Typography, { variant: "inherit", color: "inherit", noWrap: true, component: "span", children: renderContent() })
125
126
  }
126
127
  );
127
128
  }
@@ -227,7 +228,7 @@ const Root$5 = material.styled(material.Box)(({ theme }) => ({
227
228
  alignItems: "center",
228
229
  gap: theme.spacing(0.5)
229
230
  }));
230
- const Indicator = material.styled(TablePaginationActions.Typography)(({ theme }) => ({
231
+ const Indicator = material.styled(cssUtils.Typography)(({ theme }) => ({
231
232
  ".Mui-disabled &": {
232
233
  color: theme.palette.text.disabled
233
234
  }
@@ -235,9 +236,9 @@ const Indicator = material.styled(TablePaginationActions.Typography)(({ theme })
235
236
  const Icon = material.styled(material.Box)(({ theme }) => ({
236
237
  display: "flex",
237
238
  svg: {
238
- width: TablePaginationActions.ICON_SIZE_SMALL,
239
- height: TablePaginationActions.ICON_SIZE_SMALL,
240
- fontSize: TablePaginationActions.ICON_SIZE_SMALL,
239
+ width: cssUtils.ICON_SIZE_SMALL,
240
+ height: cssUtils.ICON_SIZE_SMALL,
241
+ fontSize: cssUtils.ICON_SIZE_SMALL,
241
242
  path: {
242
243
  fill: theme.palette.text.secondary,
243
244
  ".Mui-disabled &": {
@@ -284,7 +285,7 @@ function _LabelWithIndicator({
284
285
  const LabelWithIndicator = React.forwardRef(_LabelWithIndicator);
285
286
  function _PasswordField({ InputProps, size = "small", disabled, ...otherProps }, ref) {
286
287
  const intl = reactIntl.useIntl();
287
- const intlConfig = TablePaginationActions.useImperativeIntl(intl);
288
+ const intlConfig = cssUtils.useImperativeIntl(intl);
288
289
  const [showPassword, setShowPassword] = React.useState(false);
289
290
  const handleClickShowPassword = () => setShowPassword(!showPassword);
290
291
  const showPasswordLabel = intlConfig.formatMessage({
@@ -305,7 +306,7 @@ function _PasswordField({ InputProps, size = "small", disabled, ...otherProps },
305
306
  role: "textbox"
306
307
  },
307
308
  endAdornment: /* @__PURE__ */ jsxRuntime.jsx(material.InputAdornment, { position: "end", children: /* @__PURE__ */ jsxRuntime.jsx(
308
- TablePaginationActions.IconButton,
309
+ cssUtils.IconButton,
309
310
  {
310
311
  size,
311
312
  disabled,
@@ -421,7 +422,7 @@ function _SelectField({
421
422
  },
422
423
  children: [
423
424
  placeholder && /* @__PURE__ */ jsxRuntime.jsx(PlaceholderItem, { disabled: true, value: "", children: /* @__PURE__ */ jsxRuntime.jsx(
424
- TablePaginationActions.Typography,
425
+ cssUtils.Typography,
425
426
  {
426
427
  variant: isSmall ? "body2" : "body1",
427
428
  color: "text.hint",
@@ -526,7 +527,7 @@ function _MenuItemFilter({
526
527
  "data-testid": dataTestId
527
528
  }, ref) {
528
529
  const intl = reactIntl.useIntl();
529
- const intlConfig = TablePaginationActions.useImperativeIntl(intl);
530
+ const intlConfig = cssUtils.useImperativeIntl(intl);
530
531
  return /* @__PURE__ */ jsxRuntime.jsx(
531
532
  StyledMenuItem$1,
532
533
  {
@@ -618,14 +619,14 @@ function _MultipleSelectField({
618
619
  const isSmall = size === "small";
619
620
  const paddingSize = isSmall || variant === "standard" ? 0 : 2;
620
621
  const intl = reactIntl.useIntl();
621
- const intlConfig = TablePaginationActions.useImperativeIntl(intl);
622
+ const intlConfig = cssUtils.useImperativeIntl(intl);
622
623
  const counterText = `${currentOptions.length} ${intlConfig.formatMessage({
623
624
  id: "c4r.form.selected"
624
625
  })}`;
625
626
  const renderValue = React.useMemo(() => {
626
627
  if (areAllSelected) {
627
628
  return /* @__PURE__ */ jsxRuntime.jsx(
628
- TablePaginationActions.Typography,
629
+ cssUtils.Typography,
629
630
  {
630
631
  component: "span",
631
632
  variant: isSmall ? "body2" : "body1",
@@ -637,7 +638,7 @@ function _MultipleSelectField({
637
638
  }
638
639
  if (areAnySelected) {
639
640
  return /* @__PURE__ */ jsxRuntime.jsx(
640
- TablePaginationActions.Typography,
641
+ cssUtils.Typography,
641
642
  {
642
643
  component: "span",
643
644
  variant: isSmall ? "body2" : "body1",
@@ -648,7 +649,7 @@ function _MultipleSelectField({
648
649
  );
649
650
  }
650
651
  return /* @__PURE__ */ jsxRuntime.jsx(
651
- TablePaginationActions.Typography,
652
+ cssUtils.Typography,
652
653
  {
653
654
  component: "span",
654
655
  variant: isSmall ? "body2" : "body1",
@@ -879,7 +880,7 @@ const _CopiableComponent = ({
879
880
  }, ref) => {
880
881
  const [open, setOpen] = React.useState(false);
881
882
  const intl = reactIntl.useIntl();
882
- const intlConfig = TablePaginationActions.useImperativeIntl(intl);
883
+ const intlConfig = cssUtils.useImperativeIntl(intl);
883
884
  const copyTooltipText = copyText === null ? null : copyText || intlConfig.formatMessage({ id: "c4r.button.copy" });
884
885
  const copySuccessMessage = copiedText || intlConfig.formatMessage({
885
886
  id: "c4r.notifications.copiedToClipboard"
@@ -910,7 +911,7 @@ const _CopiableComponent = ({
910
911
  children: [
911
912
  children,
912
913
  button && /* @__PURE__ */ jsxRuntime.jsx(
913
- TablePaginationActions.IconButton,
914
+ cssUtils.IconButton,
914
915
  {
915
916
  ...buttonProps,
916
917
  disabled,
@@ -980,7 +981,7 @@ function _CopiableInputText({
980
981
  ...rest
981
982
  }, ref) {
982
983
  const intl = reactIntl.useIntl();
983
- const intlConfig = TablePaginationActions.useImperativeIntl(intl);
984
+ const intlConfig = cssUtils.useImperativeIntl(intl);
984
985
  const [showText, setShowText] = React.useState(false);
985
986
  const [isInputFocused, setIsInputFocused] = React.useState(false);
986
987
  const inputType = !password ? "text" : showText ? "text" : "password";
@@ -996,7 +997,7 @@ function _CopiableInputText({
996
997
  onBlur == null ? void 0 : onBlur(event);
997
998
  };
998
999
  const passwordAdornment = /* @__PURE__ */ jsxRuntime.jsx(material.InputAdornment, { position: "end", children: /* @__PURE__ */ jsxRuntime.jsx(
999
- TablePaginationActions.IconButton,
1000
+ cssUtils.IconButton,
1000
1001
  {
1001
1002
  edge: variant !== "standard" ? "end" : void 0,
1002
1003
  onClick: () => setShowText(!showText),
@@ -1081,7 +1082,7 @@ function createCounterRenderTags({
1081
1082
  getOptionLabel
1082
1083
  });
1083
1084
  return /* @__PURE__ */ jsxRuntime.jsx(
1084
- TablePaginationActions.Typography,
1085
+ cssUtils.Typography,
1085
1086
  {
1086
1087
  variant: size === "small" ? "body2" : "body1",
1087
1088
  component: "span",
@@ -1250,7 +1251,7 @@ function useAutocompleteRenderOption() {
1250
1251
  title
1251
1252
  ),
1252
1253
  secondaryText && /* @__PURE__ */ jsxRuntime.jsx(
1253
- TablePaginationActions.Typography,
1254
+ cssUtils.Typography,
1254
1255
  {
1255
1256
  component: "p",
1256
1257
  variant: "caption",
@@ -1274,7 +1275,7 @@ function useCreatableAutocomplete({
1274
1275
  multiple
1275
1276
  }) {
1276
1277
  const intl = reactIntl.useIntl();
1277
- const intlConfig = TablePaginationActions.useImperativeIntl(intl);
1278
+ const intlConfig = cssUtils.useImperativeIntl(intl);
1278
1279
  const filter = material.createFilterOptions();
1279
1280
  const { renderOption: autocompleteRenderOption } = useAutocompleteRenderOption();
1280
1281
  const creatableFilterOptions = (options, params) => {
@@ -1339,7 +1340,7 @@ function useMultipleAutocomplete({
1339
1340
  allSelectedText
1340
1341
  }) {
1341
1342
  const intl = reactIntl.useIntl();
1342
- const intlConfig = TablePaginationActions.useImperativeIntl(intl);
1343
+ const intlConfig = cssUtils.useImperativeIntl(intl);
1343
1344
  const defaultCounterText = counterText || intlConfig.formatMessage({ id: "c4r.form.selected" });
1344
1345
  const defaultAllSelectedText = allSelectedText || intlConfig.formatMessage({ id: "c4r.form.allSelected" });
1345
1346
  const [multipleValue, setMultipleValue] = React.useState(
@@ -1417,8 +1418,8 @@ const List = material.styled("ul")(
1417
1418
  const ItemWrapper = material.styled("div")(({ style, theme, isSubtitle, isExtended, isMultiple }) => {
1418
1419
  const getSubtitleStyles = () => {
1419
1420
  const baseStyles = {
1420
- height: TablePaginationActions.MENU_ITEM_SIZE_DENSE,
1421
- minHeight: TablePaginationActions.MENU_ITEM_SIZE_DENSE,
1421
+ height: cssUtils.MENU_ITEM_SIZE_DENSE,
1422
+ minHeight: cssUtils.MENU_ITEM_SIZE_DENSE,
1422
1423
  marginTop: `${theme.spacing(1)} !important`,
1423
1424
  alignItems: "flex-end",
1424
1425
  ...theme.typography.caption,
@@ -1475,7 +1476,7 @@ function _AutocompleteList({
1475
1476
  multiple,
1476
1477
  extended,
1477
1478
  itemHeight,
1478
- maxListHeight = TablePaginationActions.MENU_LIST_MAX_SIZE,
1479
+ maxListHeight = cssUtils.MENU_LIST_MAX_SIZE,
1479
1480
  ...otherProps
1480
1481
  }, ref) {
1481
1482
  const childrenArray = React.useMemo(() => {
@@ -1497,9 +1498,9 @@ function _AutocompleteList({
1497
1498
  };
1498
1499
  });
1499
1500
  }, [children, multiple]);
1500
- const defaultItemHeight = itemHeight ?? (extended ? TablePaginationActions.MENU_ITEM_SIZE_EXTENDED : TablePaginationActions.MENU_ITEM_SIZE_DEFAULT);
1501
+ const defaultItemHeight = itemHeight ?? (extended ? cssUtils.MENU_ITEM_SIZE_EXTENDED : cssUtils.MENU_ITEM_SIZE_DEFAULT);
1501
1502
  const listboxHeight = React.useMemo(() => {
1502
- const filterHeight = showFilters && multiple ? TablePaginationActions.MENU_ITEM_SIZE_EXTENDED : 0;
1503
+ const filterHeight = showFilters && multiple ? cssUtils.MENU_ITEM_SIZE_EXTENDED : 0;
1503
1504
  const availableHeight = maxListHeight - filterHeight;
1504
1505
  const calculatedHeight = Math.min(
1505
1506
  childrenArray.length * defaultItemHeight,
@@ -1765,7 +1766,7 @@ function useAutocomplete({
1765
1766
  const Menu$1 = material.styled("div")(({ theme }) => ({
1766
1767
  display: "flex",
1767
1768
  alignItems: "center",
1768
- height: TablePaginationActions.APPBAR_SIZE,
1769
+ height: cssUtils.APPBAR_SIZE,
1769
1770
  marginRight: theme.spacing(1.5)
1770
1771
  }));
1771
1772
  const MenuButton = material.styled(material.IconButton)(({ theme }) => ({
@@ -1811,7 +1812,7 @@ const Logo = material.styled("div")(({ theme }) => ({
1811
1812
  function BrandLogo({ logo }) {
1812
1813
  return /* @__PURE__ */ jsxRuntime.jsx(Logo, { children: logo });
1813
1814
  }
1814
- const Text$1 = material.styled(TablePaginationActions.Typography)({
1815
+ const Text$1 = material.styled(cssUtils.Typography)({
1815
1816
  display: "flex",
1816
1817
  alignItems: "center",
1817
1818
  whiteSpace: "nowrap"
@@ -1828,7 +1829,7 @@ function BrandText({ text }) {
1828
1829
  }
1829
1830
  );
1830
1831
  }
1831
- const Text = material.styled(TablePaginationActions.Typography)(({ theme }) => ({
1832
+ const Text = material.styled(cssUtils.Typography)(({ theme }) => ({
1832
1833
  display: "flex",
1833
1834
  alignItems: "center",
1834
1835
  "&::before": {
@@ -1869,7 +1870,7 @@ const BrandElements = material.styled("div")(({ theme }) => ({
1869
1870
  minWidth: "192px"
1870
1871
  }
1871
1872
  }));
1872
- const Content$4 = material.styled("div")(({ theme }) => ({
1873
+ const Content$5 = material.styled("div")(({ theme }) => ({
1873
1874
  display: "flex",
1874
1875
  alignItems: "center",
1875
1876
  justifyContent: "space-between",
@@ -1892,7 +1893,7 @@ function _AppBar({
1892
1893
  brandText && /* @__PURE__ */ jsxRuntime.jsx(BrandText, { text: brandText }),
1893
1894
  secondaryText && /* @__PURE__ */ jsxRuntime.jsx(SecondaryText, { text: secondaryText })
1894
1895
  ] }),
1895
- /* @__PURE__ */ jsxRuntime.jsx(Content$4, { children })
1896
+ /* @__PURE__ */ jsxRuntime.jsx(Content$5, { children })
1896
1897
  ] }) });
1897
1898
  }
1898
1899
  const AppBar = React.forwardRef(_AppBar);
@@ -1927,7 +1928,7 @@ function CodeAreaFooter({
1927
1928
  ...props
1928
1929
  }) {
1929
1930
  const intl = reactIntl.useIntl();
1930
- const intlConfig = TablePaginationActions.useImperativeIntl(intl);
1931
+ const intlConfig = cssUtils.useImperativeIntl(intl);
1931
1932
  if (!onClickFooter) return null;
1932
1933
  return /* @__PURE__ */ jsxRuntime.jsxs(
1933
1934
  Footer,
@@ -1985,7 +1986,7 @@ function CodeAreaHeader({
1985
1986
  size
1986
1987
  }) {
1987
1988
  const intl = reactIntl.useIntl();
1988
- const intlConfig = TablePaginationActions.useImperativeIntl(intl);
1989
+ const intlConfig = cssUtils.useImperativeIntl(intl);
1989
1990
  const showExpandButton = !!onClickExpand;
1990
1991
  const showCopyButton = copyValue !== void 0;
1991
1992
  const showMenu = showExpandButton && showCopyButton;
@@ -2014,7 +2015,7 @@ function CodeAreaHeader({
2014
2015
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
2015
2016
  /* @__PURE__ */ jsxRuntime.jsxs(Header, { size, "data-size": size, "data-name": "code-area-header", children: [
2016
2017
  /* @__PURE__ */ jsxRuntime.jsx(
2017
- TablePaginationActions.IconButton,
2018
+ cssUtils.IconButton,
2018
2019
  {
2019
2020
  color: "default",
2020
2021
  size,
@@ -2078,7 +2079,7 @@ function CodeAreaHeader({
2078
2079
  }
2079
2080
  ),
2080
2081
  showExpandButton && /* @__PURE__ */ jsxRuntime.jsx(
2081
- TablePaginationActions.IconButton,
2082
+ cssUtils.IconButton,
2082
2083
  {
2083
2084
  color: "default",
2084
2085
  size,
@@ -2700,8 +2701,8 @@ const InputWrapper = material.styled(material.Box, {
2700
2701
  }
2701
2702
  }));
2702
2703
  const HelpIcon = material.styled(iconsMaterial.HelpOutline)(({ theme }) => ({
2703
- width: TablePaginationActions.ICON_SIZE_SMALL,
2704
- height: TablePaginationActions.ICON_SIZE_SMALL,
2704
+ width: cssUtils.ICON_SIZE_SMALL,
2705
+ height: cssUtils.ICON_SIZE_SMALL,
2705
2706
  fill: theme.palette.text.secondary
2706
2707
  }));
2707
2708
  function CodeAreaField({
@@ -3137,13 +3138,13 @@ function DialogHeader({
3137
3138
  ...otherProps
3138
3139
  }) {
3139
3140
  const intl = reactIntl.useIntl();
3140
- const intlConfig = TablePaginationActions.useImperativeIntl(intl);
3141
+ const intlConfig = cssUtils.useImperativeIntl(intl);
3141
3142
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
3142
3143
  /* @__PURE__ */ jsxRuntime.jsxs(DialogTitle, { component: "div", "data-name": "dialog-header", ...otherProps, children: [
3143
3144
  /* @__PURE__ */ jsxRuntime.jsxs(Main$1, { children: [
3144
3145
  /* @__PURE__ */ jsxRuntime.jsxs(ItemsWrapper$1, { flex: 1, maxWidth: 0.8, children: [
3145
3146
  /* @__PURE__ */ jsxRuntime.jsx(
3146
- TablePaginationActions.Typography,
3147
+ cssUtils.Typography,
3147
3148
  {
3148
3149
  component: "h2",
3149
3150
  variant: "inherit",
@@ -3172,7 +3173,7 @@ function DialogHeader({
3172
3173
  children && /* @__PURE__ */ jsxRuntime.jsx(DividerBottom, {})
3173
3174
  ] });
3174
3175
  }
3175
- const Content$3 = material.styled(material.DialogContent, {
3176
+ const Content$4 = material.styled(material.DialogContent, {
3176
3177
  shouldForwardProp: (prop) => !["scrollableContent", "withGutter", "withBottomGutter"].includes(prop)
3177
3178
  })(({ theme, scrollableContent, withGutter, withBottomGutter }) => ({
3178
3179
  display: "flex",
@@ -3249,7 +3250,7 @@ function _DialogContent({
3249
3250
  return () => resizeObserver.disconnect();
3250
3251
  }, [contentRef, updateBorders]);
3251
3252
  return /* @__PURE__ */ jsxRuntime.jsx(
3252
- Content$3,
3253
+ Content$4,
3253
3254
  {
3254
3255
  ref: setContentRef,
3255
3256
  onScroll: handleScroll,
@@ -3541,14 +3542,14 @@ function DialogStepper({
3541
3542
  "data-state": isCompleted ? "completed" : isCurrent ? "current" : "uncompleted",
3542
3543
  children: [
3543
3544
  /* @__PURE__ */ jsxRuntime.jsx(StepNumber, { completed: isCompleted, current: isCurrent, children: isCompleted ? /* @__PURE__ */ jsxRuntime.jsx(iconsMaterial.Check, { fontSize: "small", "aria-label": "Completed step" }) : step }),
3544
- /* @__PURE__ */ jsxRuntime.jsx(TablePaginationActions.Typography, { variant: "caption", component: "div", color: labelColor, children: stepLabel })
3545
+ /* @__PURE__ */ jsxRuntime.jsx(cssUtils.Typography, { variant: "caption", component: "div", color: labelColor, children: stepLabel })
3545
3546
  ]
3546
3547
  },
3547
3548
  idx
3548
3549
  );
3549
3550
  }) }) });
3550
3551
  }
3551
- const Content$2 = material.styled(DialogContent, {
3552
+ const Content$3 = material.styled(DialogContent, {
3552
3553
  shouldForwardProp: (prop) => !["error", "withBorder"].includes(prop)
3553
3554
  })(
3554
3555
  ({ error, withBorder, theme }) => ({
@@ -3577,7 +3578,7 @@ function CodeAreaDialogContent({
3577
3578
  withGutter = false
3578
3579
  }) {
3579
3580
  if (!children) return null;
3580
- return /* @__PURE__ */ jsxRuntime.jsx(Content$2, { withGutter, error, withBorder, children });
3581
+ return /* @__PURE__ */ jsxRuntime.jsx(Content$3, { withGutter, error, withBorder, children });
3581
3582
  }
3582
3583
  function CodeAreaDialogConfirmation({
3583
3584
  onClose,
@@ -3591,7 +3592,7 @@ function CodeAreaDialogConfirmation({
3591
3592
  content
3592
3593
  }) {
3593
3594
  const intl = reactIntl.useIntl();
3594
- const intlConfig = TablePaginationActions.useImperativeIntl(intl);
3595
+ const intlConfig = cssUtils.useImperativeIntl(intl);
3595
3596
  if (!onClose || !onCancel) {
3596
3597
  return null;
3597
3598
  }
@@ -3792,7 +3793,7 @@ function ClearButton({
3792
3793
  ...props
3793
3794
  }) {
3794
3795
  const intl = reactIntl.useIntl();
3795
- const intlConfig = TablePaginationActions.useImperativeIntl(intl);
3796
+ const intlConfig = cssUtils.useImperativeIntl(intl);
3796
3797
  return /* @__PURE__ */ jsxRuntime.jsx(Container, { size, variant, children: /* @__PURE__ */ jsxRuntime.jsx(
3797
3798
  material.IconButton,
3798
3799
  {
@@ -3865,7 +3866,7 @@ function DatePicker({
3865
3866
  ...props
3866
3867
  }) {
3867
3868
  const intl = reactIntl.useIntl();
3868
- const intlConfig = TablePaginationActions.useImperativeIntl(intl);
3869
+ const intlConfig = cssUtils.useImperativeIntl(intl);
3869
3870
  return (
3870
3871
  // Don't remove className, it's used for styling
3871
3872
  /* @__PURE__ */ jsxRuntime.jsx(material.Box, { className: "CartoDatePicker-root", "data-testid": "date-picker", children: /* @__PURE__ */ jsxRuntime.jsx(
@@ -4153,7 +4154,7 @@ function DateRangePicker({
4153
4154
  ...props
4154
4155
  }) {
4155
4156
  const intl = reactIntl.useIntl();
4156
- const intlConfig = TablePaginationActions.useImperativeIntl(intl);
4157
+ const intlConfig = cssUtils.useImperativeIntl(intl);
4157
4158
  const [isEndDateOpen, setIsEndDateOpen] = React.useState(false);
4158
4159
  const [isStartDateOpen, setIsStartDateOpen] = React.useState(false);
4159
4160
  const [startDate, setStartDate] = React.useState(
@@ -4341,7 +4342,7 @@ function TimePicker({
4341
4342
  ...props
4342
4343
  }) {
4343
4344
  const intl = reactIntl.useIntl();
4344
- const intlConfig = TablePaginationActions.useImperativeIntl(intl);
4345
+ const intlConfig = cssUtils.useImperativeIntl(intl);
4345
4346
  const inputRef = React.useRef(null);
4346
4347
  const [inputWidth, setInputWidth] = React.useState(0);
4347
4348
  React.useEffect(() => {
@@ -4452,7 +4453,7 @@ function DateTimePicker({
4452
4453
  ...props
4453
4454
  }) {
4454
4455
  const intl = reactIntl.useIntl();
4455
- const intlConfig = TablePaginationActions.useImperativeIntl(intl);
4456
+ const intlConfig = cssUtils.useImperativeIntl(intl);
4456
4457
  return /* @__PURE__ */ jsxRuntime.jsx(
4457
4458
  DateFieldContainer,
4458
4459
  {
@@ -4517,7 +4518,7 @@ function DateTimePicker({
4517
4518
  );
4518
4519
  }
4519
4520
  const DEFAULT_ITEMS = [{ outlinedBullet: false, value: "" }];
4520
- const Content$1 = material.styled("ul")(({ theme }) => ({
4521
+ const Content$2 = material.styled("ul")(({ theme }) => ({
4521
4522
  listStyle: "none",
4522
4523
  paddingLeft: 0,
4523
4524
  margin: theme.spacing(0.5, 0, 0, 0)
@@ -4538,7 +4539,7 @@ const Bullet = material.styled("span")(({ theme }) => ({
4538
4539
  borderRadius: "50%",
4539
4540
  backgroundColor: theme.palette.qualitative.bold[1]
4540
4541
  }));
4541
- const Category = material.styled(TablePaginationActions.Typography)(({ theme }) => ({
4542
+ const Category = material.styled(cssUtils.Typography)(({ theme }) => ({
4542
4543
  minWidth: theme.spacing(10),
4543
4544
  marginRight: theme.spacing(1.5)
4544
4545
  }));
@@ -4547,8 +4548,8 @@ function TooltipData({
4547
4548
  title
4548
4549
  }) {
4549
4550
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
4550
- title && /* @__PURE__ */ jsxRuntime.jsx(TablePaginationActions.Typography, { color: "inherit", variant: "caption", weight: "medium", children: title }),
4551
- /* @__PURE__ */ jsxRuntime.jsx(Content$1, { children: items.map((item, index) => /* @__PURE__ */ jsxRuntime.jsxs(Entry, { children: [
4551
+ title && /* @__PURE__ */ jsxRuntime.jsx(cssUtils.Typography, { color: "inherit", variant: "caption", weight: "medium", children: title }),
4552
+ /* @__PURE__ */ jsxRuntime.jsx(Content$2, { children: items.map((item, index) => /* @__PURE__ */ jsxRuntime.jsxs(Entry, { children: [
4552
4553
  /* @__PURE__ */ jsxRuntime.jsx(
4553
4554
  Bullet,
4554
4555
  {
@@ -4561,7 +4562,7 @@ function TooltipData({
4561
4562
  }
4562
4563
  ),
4563
4564
  item.category && /* @__PURE__ */ jsxRuntime.jsx(Category, { color: "inherit", variant: "caption", children: item.category }),
4564
- /* @__PURE__ */ jsxRuntime.jsx(TablePaginationActions.Typography, { color: "inherit", variant: "caption", weight: "medium", children: item.value })
4565
+ /* @__PURE__ */ jsxRuntime.jsx(cssUtils.Typography, { color: "inherit", variant: "caption", weight: "medium", children: item.value })
4565
4566
  ] }, index)) })
4566
4567
  ] });
4567
4568
  }
@@ -4639,8 +4640,8 @@ const StyledAvatar = material.styled(material.Avatar, {
4639
4640
  ...theme.typography.caption,
4640
4641
  fontWeight: 500,
4641
4642
  svg: {
4642
- width: TablePaginationActions.ICON_SIZE_SMALL,
4643
- height: TablePaginationActions.ICON_SIZE_SMALL
4643
+ width: cssUtils.ICON_SIZE_SMALL,
4644
+ height: cssUtils.ICON_SIZE_SMALL
4644
4645
  }
4645
4646
  },
4646
4647
  ...disabled && {
@@ -4675,7 +4676,7 @@ const StyledMenu = material.styled(material.Menu, {
4675
4676
  })(({ extended, width, height }) => ({
4676
4677
  ...extended && {
4677
4678
  ".MuiMenuItem-root": {
4678
- minHeight: TablePaginationActions.MENU_ITEM_SIZE_EXTENDED
4679
+ minHeight: cssUtils.MENU_ITEM_SIZE_EXTENDED
4679
4680
  }
4680
4681
  },
4681
4682
  ...width && {
@@ -4718,7 +4719,7 @@ const StyledMenuList = material.styled(material.MenuList, {
4718
4719
  })(({ extended, width, height }) => ({
4719
4720
  ...extended && {
4720
4721
  ".MuiMenuItem-root": {
4721
- minHeight: TablePaginationActions.MENU_ITEM_SIZE_EXTENDED
4722
+ minHeight: cssUtils.MENU_ITEM_SIZE_EXTENDED
4722
4723
  }
4723
4724
  },
4724
4725
  "&.MuiList-root": {
@@ -4889,7 +4890,7 @@ function _FilterDropdown({
4889
4890
  "data-color": buttonColor
4890
4891
  };
4891
4892
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
4892
- /* @__PURE__ */ jsxRuntime.jsx(material.Tooltip, { title: tooltipLabel, placement: tooltipPlacement, children: /* @__PURE__ */ jsxRuntime.jsx(ButtonWrapper, { isOpen, buttonColor, ref, children: isIcon ? /* @__PURE__ */ jsxRuntime.jsx(TablePaginationActions.IconButton, { ...commonButtonProps, icon }) : /* @__PURE__ */ jsxRuntime.jsx(
4893
+ /* @__PURE__ */ jsxRuntime.jsx(material.Tooltip, { title: tooltipLabel, placement: tooltipPlacement, children: /* @__PURE__ */ jsxRuntime.jsx(ButtonWrapper, { isOpen, buttonColor, ref, children: isIcon ? /* @__PURE__ */ jsxRuntime.jsx(cssUtils.IconButton, { ...commonButtonProps, icon }) : /* @__PURE__ */ jsxRuntime.jsx(
4893
4894
  Button,
4894
4895
  {
4895
4896
  ...commonButtonProps,
@@ -4946,6 +4947,152 @@ function _FilterDropdown({
4946
4947
  const FilterDropdown = React.forwardRef(
4947
4948
  _FilterDropdown
4948
4949
  );
4950
+ const SearchIcon = material.styled(Search.Search, {
4951
+ shouldForwardProp: (prop) => prop !== "minimized" && prop !== "disabled"
4952
+ })(
4953
+ ({ theme, minimized, disabled }) => ({
4954
+ cursor: !disabled && minimized ? "pointer" : "inherit",
4955
+ width: cssUtils.ICON_SIZE_MEDIUM,
4956
+ height: cssUtils.ICON_SIZE_MEDIUM,
4957
+ path: {
4958
+ fillOpacity: 1,
4959
+ fill: disabled ? theme.palette.text.disabled : theme.palette.text.secondary
4960
+ }
4961
+ })
4962
+ );
4963
+ const CancelIcon = material.styled(iconsMaterial.Cancel)(({ theme }) => ({
4964
+ fill: theme.palette.text.hint,
4965
+ cursor: "pointer"
4966
+ }));
4967
+ const CircularProgressIcon = material.styled(material.CircularProgress)(({ theme }) => ({
4968
+ svg: {
4969
+ color: theme.palette.primary.main
4970
+ }
4971
+ }));
4972
+ const SearchFieldBase = material.styled(material.TextField, {
4973
+ shouldForwardProp: (prop) => prop !== "minimized" && prop !== "isInputFocused"
4974
+ })(
4975
+ ({ theme, disabled, minimized, isInputFocused }) => ({
4976
+ "& .MuiInputBase-input": {
4977
+ cursor: disabled ? "not-allowed" : "text",
4978
+ pointerEvents: isInputFocused ? "auto" : "none"
4979
+ // Fix Chrome scroll issue https://issues.chromium.org/issues/41245282
4980
+ },
4981
+ "&.MuiTextField-root .MuiInputBase-root": {
4982
+ paddingRight: theme.spacing(1),
4983
+ "&.MuiInputBase-sizeSmall": {
4984
+ paddingRight: theme.spacing(0.5)
4985
+ },
4986
+ "&:before": {
4987
+ border: `none !important`,
4988
+ "&:hover": {
4989
+ border: `none !important`
4990
+ }
4991
+ },
4992
+ width: minimized ? theme.spacing(4) : "100%",
4993
+ transition: theme.transitions.create("width", {
4994
+ easing: theme.transitions.easing.easeInOut,
4995
+ duration: theme.transitions.duration.shortest
4996
+ })
4997
+ },
4998
+ // Input Adornment
4999
+ "& .MuiInputAdornment-positionStart": {
5000
+ marginLeft: minimized ? theme.spacing(0.125) : void 0
5001
+ },
5002
+ "& .MuiInputAdornment-positionEnd": {
5003
+ minWidth: theme.spacing(4),
5004
+ "&.MuiInputAdornment-sizeSmall": {
5005
+ minWidth: theme.spacing(3)
5006
+ }
5007
+ },
5008
+ // Variants
5009
+ "& .MuiFilledInput-root": {
5010
+ transition: theme.transitions.create("background-color", {
5011
+ easing: theme.transitions.easing.easeInOut,
5012
+ duration: theme.transitions.duration.shortest
5013
+ }),
5014
+ backgroundColor: `${minimized ? "inherit" : theme.palette.default.background} !important`,
5015
+ "&:hover": {
5016
+ backgroundColor: `${disabled ? "inherit" : theme.palette.action.hover} !important`
5017
+ }
5018
+ }
5019
+ })
5020
+ );
5021
+ function _SearchField({
5022
+ value,
5023
+ defaultValue,
5024
+ placeholder,
5025
+ onChange,
5026
+ onClick,
5027
+ onResetSearch,
5028
+ disabled,
5029
+ minimized = false,
5030
+ loading = false,
5031
+ variant = "filled",
5032
+ size = "small",
5033
+ InputProps,
5034
+ startAdornment,
5035
+ endAdornment,
5036
+ onFocus,
5037
+ onBlur,
5038
+ clearTextLabel,
5039
+ ...otherProps
5040
+ }, ref) {
5041
+ const [isInputFocused, setIsInputFocused] = React.useState(false);
5042
+ const clearTextLabelValue = Alert$1.useTranslationFallback(
5043
+ "c4r.button.clear",
5044
+ clearTextLabel
5045
+ );
5046
+ const handleFocus = (event) => {
5047
+ setIsInputFocused(true);
5048
+ onFocus == null ? void 0 : onFocus(event);
5049
+ };
5050
+ const handleBlur = (event) => {
5051
+ setIsInputFocused(false);
5052
+ onBlur == null ? void 0 : onBlur(event);
5053
+ };
5054
+ const handleClearText = () => {
5055
+ onResetSearch == null ? void 0 : onResetSearch();
5056
+ onChange == null ? void 0 : onChange({ target: { value: "" } });
5057
+ };
5058
+ return /* @__PURE__ */ jsxRuntime.jsx(
5059
+ SearchFieldBase,
5060
+ {
5061
+ value: minimized ? "" : value,
5062
+ defaultValue,
5063
+ placeholder: minimized ? "" : placeholder,
5064
+ onChange,
5065
+ onClick,
5066
+ variant,
5067
+ size,
5068
+ focused: false,
5069
+ isInputFocused,
5070
+ disabled,
5071
+ minimized,
5072
+ InputProps: {
5073
+ onFocus: handleFocus,
5074
+ onBlur: handleBlur,
5075
+ startAdornment: /* @__PURE__ */ jsxRuntime.jsx(material.InputAdornment, { position: "start", children: /* @__PURE__ */ jsxRuntime.jsx(material.Box, { sx: { display: "inline-flex", ml: minimized ? -0.75 : 0 }, children: loading && minimized ? /* @__PURE__ */ jsxRuntime.jsx(CircularProgressIcon, { size: cssUtils.ICON_SIZE_MEDIUM }) : startAdornment || /* @__PURE__ */ jsxRuntime.jsx(SearchIcon, { disabled, minimized }) }) }),
5076
+ endAdornment: /* @__PURE__ */ jsxRuntime.jsx(material.InputAdornment, { position: "end", children: loading ? /* @__PURE__ */ jsxRuntime.jsx(CircularProgressIcon, { size: cssUtils.ICON_SIZE_MEDIUM }) : !disabled && !minimized && (value ?? defaultValue) ? endAdornment || /* @__PURE__ */ jsxRuntime.jsx(
5077
+ cssUtils.IconButton,
5078
+ {
5079
+ icon: /* @__PURE__ */ jsxRuntime.jsx(CancelIcon, {}),
5080
+ onClick: handleClearText,
5081
+ size,
5082
+ color: "default",
5083
+ disabled,
5084
+ tooltip: clearTextLabelValue
5085
+ }
5086
+ ) : void 0 }),
5087
+ ...InputProps
5088
+ },
5089
+ "data-name": "search-field",
5090
+ ref,
5091
+ ...otherProps
5092
+ }
5093
+ );
5094
+ }
5095
+ const SearchField = React.forwardRef(_SearchField);
4949
5096
  const MAX_WIDTH = 480;
4950
5097
  const SnackbarRoot = material.styled(material.Snackbar)(({ theme }) => ({
4951
5098
  bottom: theme.spacing(2),
@@ -4959,7 +5106,7 @@ const SnackbarRoot = material.styled(material.Snackbar)(({ theme }) => ({
4959
5106
  maxWidth: `${MAX_WIDTH}px`
4960
5107
  }
4961
5108
  }));
4962
- const Content = material.styled(material.Box, {
5109
+ const Content$1 = material.styled(material.Box, {
4963
5110
  shouldForwardProp: (prop) => prop !== "autoWidth"
4964
5111
  })(({ autoWidth, theme }) => ({
4965
5112
  minWidth: "100%",
@@ -5041,7 +5188,7 @@ const CloseButtonWrapper = material.styled(material.Box)(({ theme }) => ({
5041
5188
  }));
5042
5189
  function Snackbar({
5043
5190
  severity = "neutral",
5044
- autoHideDuration = TablePaginationActions.NOTIFICATION_DURATION_IN_MS,
5191
+ autoHideDuration = cssUtils.NOTIFICATION_DURATION_IN_MS,
5045
5192
  closeable = true,
5046
5193
  children,
5047
5194
  title,
@@ -5053,11 +5200,11 @@ function Snackbar({
5053
5200
  ...rest
5054
5201
  }) {
5055
5202
  const intl = reactIntl.useIntl();
5056
- const intlConfig = TablePaginationActions.useImperativeIntl(intl);
5203
+ const intlConfig = cssUtils.useImperativeIntl(intl);
5057
5204
  const isNeutral = severity === "neutral";
5058
5205
  const disabledIcon = icon === false || isNeutral && !icon;
5059
5206
  const disabledAutoHide = autoHideDuration === null;
5060
- const duration = disabledAutoHide ? null : autoHideDuration || TablePaginationActions.NOTIFICATION_DURATION_IN_MS;
5207
+ const duration = disabledAutoHide ? null : autoHideDuration || cssUtils.NOTIFICATION_DURATION_IN_MS;
5061
5208
  return /* @__PURE__ */ jsxRuntime.jsx(material.Portal, { children: /* @__PURE__ */ jsxRuntime.jsx(
5062
5209
  SnackbarRoot,
5063
5210
  {
@@ -5068,7 +5215,7 @@ function Snackbar({
5068
5215
  TransitionComponent: autoWidth ? material.Fade : material.Slide,
5069
5216
  "data-auto-width": autoWidth,
5070
5217
  children: /* @__PURE__ */ jsxRuntime.jsxs(
5071
- Content,
5218
+ Content$1,
5072
5219
  {
5073
5220
  sx: {
5074
5221
  position: "relative"
@@ -5089,7 +5236,7 @@ function Snackbar({
5089
5236
  }
5090
5237
  ),
5091
5238
  closeable && /* @__PURE__ */ jsxRuntime.jsx(CloseButtonWrapper, { children: /* @__PURE__ */ jsxRuntime.jsx(
5092
- TablePaginationActions.IconButton,
5239
+ cssUtils.IconButton,
5093
5240
  {
5094
5241
  color: "default",
5095
5242
  onClick: (e) => onClose(e, "timeout"),
@@ -5217,6 +5364,7 @@ const TagRoot = material.styled("div", {
5217
5364
  padding: theme.spacing(0, 0.5),
5218
5365
  borderRadius: theme.spacing(0.25),
5219
5366
  gap: theme.spacing(0.5),
5367
+ maxWidth: "100%",
5220
5368
  height: theme.spacing(2),
5221
5369
  borderWidth: "1px",
5222
5370
  borderStyle: "solid",
@@ -5235,8 +5383,8 @@ const TagIcon = material.styled("div")(({ theme }) => ({
5235
5383
  justifyContent: "center",
5236
5384
  alignItems: "center",
5237
5385
  "& svg": {
5238
- width: theme.spacing(TablePaginationActions.ICON_SIZE_SMALL),
5239
- height: theme.spacing(TablePaginationActions.ICON_SIZE_SMALL),
5386
+ width: theme.spacing(cssUtils.ICON_SIZE_SMALL),
5387
+ height: theme.spacing(cssUtils.ICON_SIZE_SMALL),
5240
5388
  "& g": {
5241
5389
  fill: "currentColor"
5242
5390
  }
@@ -5247,6 +5395,7 @@ const TagLabel = material.styled("div", {
5247
5395
  })(({ type, theme }) => ({
5248
5396
  display: "flex",
5249
5397
  alignItems: "center",
5398
+ ...cssUtils.ellipsisStyles,
5250
5399
  paddingTop: type === "code" ? theme.spacing(0.25) : void 0
5251
5400
  }));
5252
5401
  function _Tag({
@@ -5278,7 +5427,7 @@ function _Tag({
5278
5427
  children: [
5279
5428
  icon && /* @__PURE__ */ jsxRuntime.jsx(TagIcon, { children: icon }),
5280
5429
  /* @__PURE__ */ jsxRuntime.jsx(TagLabel, { type, children: /* @__PURE__ */ jsxRuntime.jsx(
5281
- TablePaginationActions.Typography,
5430
+ cssUtils.Typography,
5282
5431
  {
5283
5432
  component: "span",
5284
5433
  color: "inherit",
@@ -5420,7 +5569,7 @@ function useFileUpload({
5420
5569
  uploadInputRef
5421
5570
  }) {
5422
5571
  const intl = reactIntl.useIntl();
5423
- const intlConfig = TablePaginationActions.useImperativeIntl(intl);
5572
+ const intlConfig = cssUtils.useImperativeIntl(intl);
5424
5573
  const [filesText, setFilesText] = React.useState("");
5425
5574
  const [dragOver, setDragOver] = React.useState(false);
5426
5575
  React.useEffect(() => {
@@ -5575,12 +5724,155 @@ function _UploadField({
5575
5724
  ] });
5576
5725
  }
5577
5726
  const UploadField = React.forwardRef(_UploadField);
5727
+ const TooltipRoot = material.styled(material.Tooltip)(() => ({
5728
+ whiteSpace: "nowrap",
5729
+ maxWidth: 999,
5730
+ pointerEvents: "auto"
5731
+ }));
5732
+ const Content = material.styled("span", {
5733
+ shouldForwardProp: (prop) => !["ellipsisTarget", "lines", "content"].includes(prop)
5734
+ })(({ ellipsisTarget = "all", lines = 1, content = "block" }) => {
5735
+ if (lines > 1) {
5736
+ return {
5737
+ display: "-webkit-box",
5738
+ ...cssUtils.ellipsisStyles,
5739
+ whiteSpace: "initial !important",
5740
+ WebkitLineClamp: lines,
5741
+ WebkitBoxOrient: "vertical",
5742
+ "& > *": { display: "block" }
5743
+ };
5744
+ }
5745
+ if (ellipsisTarget === "first-child") {
5746
+ return {
5747
+ display: "flex",
5748
+ flex: "1",
5749
+ overflow: "hidden",
5750
+ "& > *:nth-of-type(1)": {
5751
+ display: "block",
5752
+ ...cssUtils.ellipsisStyles,
5753
+ marginRight: "-0.15em"
5754
+ // Prevent ellipsis separation
5755
+ }
5756
+ };
5757
+ }
5758
+ if (content === "flex") {
5759
+ return {
5760
+ display: "flex",
5761
+ flex: "1",
5762
+ "& > *": {
5763
+ display: "block",
5764
+ ...cssUtils.ellipsisStyles
5765
+ }
5766
+ };
5767
+ }
5768
+ return {
5769
+ display: "block",
5770
+ ...cssUtils.ellipsisStyles,
5771
+ fontWeight: "inherit",
5772
+ "& > *": { display: "inline" }
5773
+ };
5774
+ });
5775
+ function _EllipsisWithTooltip({
5776
+ children,
5777
+ tooltipText,
5778
+ alwaysShowTooltip,
5779
+ content = "block",
5780
+ textRef: inputTextRef,
5781
+ ellipsisTarget = "all",
5782
+ lines = 1,
5783
+ "aria-label": ariaLabel,
5784
+ contentProps,
5785
+ ...otherProps
5786
+ }, ref) {
5787
+ var _a;
5788
+ const textElementRef = React.useRef(null);
5789
+ const [overflowing, setOverflowing] = React.useState(false);
5790
+ const textRef = React.useMemo(
5791
+ () => inputTextRef || textElementRef,
5792
+ [inputTextRef, textElementRef]
5793
+ );
5794
+ const getTextContent = (node) => {
5795
+ if (typeof node === "string") return node;
5796
+ if (typeof node === "number") return String(node);
5797
+ if (React.isValidElement(node)) {
5798
+ const props = node.props;
5799
+ if (props.children) {
5800
+ return getTextContent(props.children);
5801
+ }
5802
+ }
5803
+ return "";
5804
+ };
5805
+ const elementTitle = tooltipText || ((_a = textElementRef.current) == null ? void 0 : _a.innerText) || (alwaysShowTooltip || overflowing ? getTextContent(children) : "");
5806
+ React.useEffect(() => {
5807
+ const container = textRef.current;
5808
+ if (!container || !children) return;
5809
+ if (alwaysShowTooltip) {
5810
+ setOverflowing(true);
5811
+ return;
5812
+ }
5813
+ let isOverflowing = false;
5814
+ if (lines > 1) {
5815
+ isOverflowing = container.scrollHeight > container.clientHeight;
5816
+ } else if (ellipsisTarget === "first-child") {
5817
+ const children2 = Array.from(container.children);
5818
+ const totalWidth = children2.reduce(
5819
+ (sum, child) => sum + ((child == null ? void 0 : child.scrollWidth) || 0),
5820
+ 0
5821
+ );
5822
+ isOverflowing = totalWidth > container.clientWidth;
5823
+ } else {
5824
+ const hasContainerOverflow = container.scrollWidth > container.clientWidth;
5825
+ const children2 = Array.from(container.children);
5826
+ const hasChildOverflow = children2.some(
5827
+ (child) => child.scrollWidth > child.clientWidth
5828
+ );
5829
+ isOverflowing = hasContainerOverflow || hasChildOverflow;
5830
+ }
5831
+ setOverflowing(isOverflowing);
5832
+ }, [textRef, alwaysShowTooltip, children, ellipsisTarget, lines, content]);
5833
+ React.useEffect(() => {
5834
+ if (typeof ref === "function") {
5835
+ ref(textElementRef.current);
5836
+ } else if (ref) {
5837
+ ref.current = textElementRef.current;
5838
+ }
5839
+ }, [ref]);
5840
+ return /* @__PURE__ */ jsxRuntime.jsx(
5841
+ TooltipRoot,
5842
+ {
5843
+ disableFocusListener: !overflowing && !alwaysShowTooltip,
5844
+ disableHoverListener: !overflowing && !alwaysShowTooltip,
5845
+ disableTouchListener: !overflowing && !alwaysShowTooltip,
5846
+ title: elementTitle,
5847
+ describeChild: true,
5848
+ ...otherProps,
5849
+ children: /* @__PURE__ */ jsxRuntime.jsx(
5850
+ Content,
5851
+ {
5852
+ "aria-label": ariaLabel ?? elementTitle,
5853
+ ref: textElementRef,
5854
+ ellipsisTarget,
5855
+ lines,
5856
+ content,
5857
+ "data-name": "ellipsis-with-tooltip",
5858
+ "data-overflowing": overflowing,
5859
+ "data-lines": lines,
5860
+ "data-content": content,
5861
+ "data-ellipsis-target": ellipsisTarget,
5862
+ ...contentProps,
5863
+ children
5864
+ }
5865
+ )
5866
+ }
5867
+ );
5868
+ }
5869
+ const EllipsisWithTooltip = React.forwardRef(_EllipsisWithTooltip);
5578
5870
  exports.Alert = Alert$1.Alert;
5579
5871
  exports.Link = Alert$1.Link;
5580
5872
  exports.ScreenReaderOnly = Alert$1.ScreenReaderOnly;
5581
- exports.IconButton = TablePaginationActions.IconButton;
5582
- exports.TablePaginationActions = TablePaginationActions.TablePaginationActions;
5583
- exports.Typography = TablePaginationActions.Typography;
5873
+ exports.IconButton = cssUtils.IconButton;
5874
+ exports.TablePaginationActions = cssUtils.TablePaginationActions;
5875
+ exports.Typography = cssUtils.Typography;
5584
5876
  exports.MenuItem = MenuItem.MenuItem;
5585
5877
  exports.AUTOCOMPLETE_GROUP_HEADER_PROPERTY = AUTOCOMPLETE_GROUP_HEADER_PROPERTY;
5586
5878
  exports.AccordionGroup = AccordionGroup;
@@ -5614,6 +5906,7 @@ exports.DialogFooter = DialogFooter;
5614
5906
  exports.DialogHeader = DialogHeader;
5615
5907
  exports.DialogPaper = DialogPaper;
5616
5908
  exports.DialogStepper = DialogStepper;
5909
+ exports.EllipsisWithTooltip = EllipsisWithTooltip;
5617
5910
  exports.FilterDropdown = FilterDropdown;
5618
5911
  exports.FilterDropdownMenuItem = FilterDropdownMenuItem;
5619
5912
  exports.LabelWithIndicator = LabelWithIndicator;
@@ -5623,6 +5916,7 @@ exports.MenuList = MenuList;
5623
5916
  exports.MultipleAutocomplete = MultipleAutocomplete;
5624
5917
  exports.MultipleSelectField = MultipleSelectField;
5625
5918
  exports.PasswordField = PasswordField;
5919
+ exports.SearchField = SearchField;
5626
5920
  exports.SelectField = SelectField;
5627
5921
  exports.Snackbar = Snackbar;
5628
5922
  exports.SplitButton = SplitButton;