@carto/meridian-ds 2.0.0-alpha-autocomplete-console.1 → 2.0.0-alpha-external-link.9

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 (33) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/dist/{Alert-BzEgeyQJ.cjs → Alert--4zcBs2d.cjs} +100 -1
  3. package/dist/{Alert-CnaTtNJd.js → Alert-Dgmjgdl8.js} +102 -3
  4. package/dist/{MenuItem-C1DvWMry.js → MenuItem-C8x-GasJ.js} +1 -1
  5. package/dist/{MenuItem-C4bG5WHw.cjs → MenuItem-CyIdh2wX.cjs} +1 -1
  6. package/dist/{TablePaginationActions-Cz5Hbi6N.js → TablePaginationActions-BWer8cmX.js} +6 -3
  7. package/dist/{TablePaginationActions-mbbjzV6Y.cjs → TablePaginationActions-MwqZJoRm.cjs} +6 -3
  8. package/dist/components/index.cjs +38 -17
  9. package/dist/components/index.js +40 -18
  10. package/dist/theme/index.cjs +2 -2
  11. package/dist/theme/index.js +3 -3
  12. package/dist/types/components/atoms/Button.d.ts +11 -0
  13. package/dist/types/components/atoms/Button.d.ts.map +1 -1
  14. package/dist/types/components/atoms/Link.d.ts +39 -0
  15. package/dist/types/components/atoms/Link.d.ts.map +1 -0
  16. package/dist/types/components/atoms/ScreenReaderOnly.d.ts +3 -0
  17. package/dist/types/components/atoms/ScreenReaderOnly.d.ts.map +1 -0
  18. package/dist/types/components/atoms/index.d.ts +3 -0
  19. package/dist/types/components/atoms/index.d.ts.map +1 -1
  20. package/dist/types/components/molecules/Autocomplete/utils.d.ts +1 -1
  21. package/dist/types/components/molecules/Autocomplete/utils.d.ts.map +1 -1
  22. package/dist/types/localization/en.d.ts +1 -0
  23. package/dist/types/localization/en.d.ts.map +1 -1
  24. package/dist/types/localization/es.d.ts +1 -0
  25. package/dist/types/localization/es.d.ts.map +1 -1
  26. package/dist/types/localization/id.d.ts +1 -0
  27. package/dist/types/localization/id.d.ts.map +1 -1
  28. package/dist/types/localization/index.d.ts +3 -0
  29. package/dist/types/localization/index.d.ts.map +1 -1
  30. package/dist/types/widgets/comparative/ComparativeCategoryWidgetUI/ComparativeCategoryWidgetUI.d.ts.map +1 -1
  31. package/dist/widgets/index.cjs +5 -5
  32. package/dist/widgets/index.js +5 -5
  33. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -2,6 +2,8 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ - New Link components and Button with externalLink behavior [#202](https://github.com/CartoDB/meridian-ds/pull/202)
6
+
5
7
  ## 2.0
6
8
 
7
9
  ### 2.0.0
@@ -2,7 +2,21 @@
2
2
  const jsxRuntime = require("react/jsx-runtime");
3
3
  const React = require("react");
4
4
  const material = require("@mui/material");
5
- const TablePaginationActions = require("./TablePaginationActions-mbbjzV6Y.cjs");
5
+ const reactIntl = require("react-intl");
6
+ const iconsMaterial = require("@mui/icons-material");
7
+ const TablePaginationActions = require("./TablePaginationActions-MwqZJoRm.cjs");
8
+ require("cartocolor");
9
+ const ScreenReaderOnly = material.styled("span")(() => ({
10
+ position: "absolute",
11
+ width: 1,
12
+ height: 1,
13
+ padding: 0,
14
+ margin: -1,
15
+ overflow: "hidden",
16
+ clip: "rect(0, 0, 0, 0)",
17
+ whiteSpace: "nowrap",
18
+ border: 0
19
+ }));
6
20
  const Option = material.styled("div")(({ theme }) => ({
7
21
  position: "relative",
8
22
  display: "inline-flex",
@@ -61,6 +75,89 @@ function _IconButton({
61
75
  ) });
62
76
  }
63
77
  const IconButton = React.forwardRef(_IconButton);
78
+ const StyledLink = material.styled(material.Link)(() => ({
79
+ display: "inline"
80
+ }));
81
+ const Icon = material.styled(material.Box, {
82
+ shouldForwardProp: (prop) => prop !== "variant" && prop !== "iconPosition"
83
+ })(
84
+ ({ variant, iconPosition }) => ({
85
+ display: "inline-flex",
86
+ position: "relative",
87
+ top: "calc(1em * 5.0/32)",
88
+ // heuristic to align icon with true perceived baseline
89
+ ...iconPosition === "right" && {
90
+ marginLeft: "0.25em"
91
+ },
92
+ ...iconPosition === "left" && {
93
+ marginRight: "0.25em"
94
+ },
95
+ svg: {
96
+ // Size adapts to the text size, but make sure the icon size is at least 12px
97
+ fontSize: `max(1em, ${TablePaginationActions.ICON_SIZE_SMALL})`,
98
+ color: "inherit !important",
99
+ "> path": {
100
+ color: "inherit !important"
101
+ },
102
+ // Defined sizes in design specs
103
+ ...variant === "caption" && {
104
+ fontSize: TablePaginationActions.ICON_SIZE_SMALL
105
+ },
106
+ ...variant === "button" && {
107
+ fontSize: TablePaginationActions.ICON_SIZE_MEDIUM
108
+ },
109
+ ...variant === "body2" && {
110
+ fontSize: TablePaginationActions.ICON_SIZE_MEDIUM
111
+ },
112
+ ...variant === "body1" && {
113
+ fontSize: TablePaginationActions.ICON_SIZE_LARGE
114
+ }
115
+ }
116
+ })
117
+ );
118
+ function _Link({
119
+ children,
120
+ variant,
121
+ startIcon,
122
+ endIcon,
123
+ color,
124
+ external,
125
+ showExternalIcon = true,
126
+ fontWeight = 500,
127
+ target,
128
+ rel,
129
+ "aria-describedby": ariaDescribedby,
130
+ ...otherProps
131
+ }, ref) {
132
+ const intl = reactIntl.useIntl();
133
+ const intlConfig = TablePaginationActions.useImperativeIntl(intl);
134
+ const isButtonLink = otherProps.component === "button";
135
+ return /* @__PURE__ */ jsxRuntime.jsxs(
136
+ StyledLink,
137
+ {
138
+ ...otherProps,
139
+ variant,
140
+ fontWeight,
141
+ "data-color": color,
142
+ "data-name": isButtonLink ? "button-link" : "link",
143
+ role: isButtonLink ? "button" : "link",
144
+ color,
145
+ ref,
146
+ target: external ? "_blank" : target,
147
+ rel: external ? "noopener noreferrer" : rel,
148
+ "aria-describedby": external ? "external-hint" : ariaDescribedby,
149
+ children: [
150
+ startIcon && /* @__PURE__ */ jsxRuntime.jsx(Icon, { variant, iconPosition: "left", children: startIcon }),
151
+ children,
152
+ (endIcon || external && showExternalIcon) && /* @__PURE__ */ jsxRuntime.jsx(Icon, { variant, iconPosition: "right", children: endIcon || /* @__PURE__ */ jsxRuntime.jsx(iconsMaterial.OpenInNewOutlined, {}) }),
153
+ external && /* @__PURE__ */ jsxRuntime.jsx(ScreenReaderOnly, { id: "external-hint", children: ` (${intlConfig.formatMessage({
154
+ id: "c4r.button.opensInNewTab"
155
+ })})` })
156
+ ]
157
+ }
158
+ );
159
+ }
160
+ const Link = React.forwardRef(_Link);
64
161
  const StyledAlert = material.styled(material.Alert, {
65
162
  shouldForwardProp: (prop) => ![
66
163
  "isNeutral",
@@ -190,3 +287,5 @@ function _Alert({
190
287
  const Alert = React.forwardRef(_Alert);
191
288
  exports.Alert = Alert;
192
289
  exports.IconButton = IconButton;
290
+ exports.Link = Link;
291
+ exports.ScreenReaderOnly = ScreenReaderOnly;
@@ -1,7 +1,21 @@
1
1
  import { jsx, jsxs } from "react/jsx-runtime";
2
2
  import { forwardRef, useState } from "react";
3
- import { styled, IconButton as IconButton$1, Tooltip, CircularProgress, Alert as Alert$1, Fade, AlertTitle } from "@mui/material";
4
- import { b as ICON_SIZE_MEDIUM, T as Typography } from "./TablePaginationActions-Cz5Hbi6N.js";
3
+ import { styled, IconButton as IconButton$1, Tooltip, CircularProgress, Link as Link$1, Box, Alert as Alert$1, Fade, AlertTitle } from "@mui/material";
4
+ import { useIntl } from "react-intl";
5
+ import { OpenInNewOutlined } from "@mui/icons-material";
6
+ import { c as ICON_SIZE_SMALL, b as ICON_SIZE_MEDIUM, I as ICON_SIZE_LARGE, u as useImperativeIntl, T as Typography } from "./TablePaginationActions-BWer8cmX.js";
7
+ import "cartocolor";
8
+ const ScreenReaderOnly = styled("span")(() => ({
9
+ position: "absolute",
10
+ width: 1,
11
+ height: 1,
12
+ padding: 0,
13
+ margin: -1,
14
+ overflow: "hidden",
15
+ clip: "rect(0, 0, 0, 0)",
16
+ whiteSpace: "nowrap",
17
+ border: 0
18
+ }));
5
19
  const Option = styled("div")(({ theme }) => ({
6
20
  position: "relative",
7
21
  display: "inline-flex",
@@ -60,6 +74,89 @@ function _IconButton({
60
74
  ) });
61
75
  }
62
76
  const IconButton = forwardRef(_IconButton);
77
+ const StyledLink = styled(Link$1)(() => ({
78
+ display: "inline"
79
+ }));
80
+ const Icon = styled(Box, {
81
+ shouldForwardProp: (prop) => prop !== "variant" && prop !== "iconPosition"
82
+ })(
83
+ ({ variant, iconPosition }) => ({
84
+ display: "inline-flex",
85
+ position: "relative",
86
+ top: "calc(1em * 5.0/32)",
87
+ // heuristic to align icon with true perceived baseline
88
+ ...iconPosition === "right" && {
89
+ marginLeft: "0.25em"
90
+ },
91
+ ...iconPosition === "left" && {
92
+ marginRight: "0.25em"
93
+ },
94
+ svg: {
95
+ // Size adapts to the text size, but make sure the icon size is at least 12px
96
+ fontSize: `max(1em, ${ICON_SIZE_SMALL})`,
97
+ color: "inherit !important",
98
+ "> path": {
99
+ color: "inherit !important"
100
+ },
101
+ // Defined sizes in design specs
102
+ ...variant === "caption" && {
103
+ fontSize: ICON_SIZE_SMALL
104
+ },
105
+ ...variant === "button" && {
106
+ fontSize: ICON_SIZE_MEDIUM
107
+ },
108
+ ...variant === "body2" && {
109
+ fontSize: ICON_SIZE_MEDIUM
110
+ },
111
+ ...variant === "body1" && {
112
+ fontSize: ICON_SIZE_LARGE
113
+ }
114
+ }
115
+ })
116
+ );
117
+ function _Link({
118
+ children,
119
+ variant,
120
+ startIcon,
121
+ endIcon,
122
+ color,
123
+ external,
124
+ showExternalIcon = true,
125
+ fontWeight = 500,
126
+ target,
127
+ rel,
128
+ "aria-describedby": ariaDescribedby,
129
+ ...otherProps
130
+ }, ref) {
131
+ const intl = useIntl();
132
+ const intlConfig = useImperativeIntl(intl);
133
+ const isButtonLink = otherProps.component === "button";
134
+ return /* @__PURE__ */ jsxs(
135
+ StyledLink,
136
+ {
137
+ ...otherProps,
138
+ variant,
139
+ fontWeight,
140
+ "data-color": color,
141
+ "data-name": isButtonLink ? "button-link" : "link",
142
+ role: isButtonLink ? "button" : "link",
143
+ color,
144
+ ref,
145
+ target: external ? "_blank" : target,
146
+ rel: external ? "noopener noreferrer" : rel,
147
+ "aria-describedby": external ? "external-hint" : ariaDescribedby,
148
+ children: [
149
+ startIcon && /* @__PURE__ */ jsx(Icon, { variant, iconPosition: "left", children: startIcon }),
150
+ children,
151
+ (endIcon || external && showExternalIcon) && /* @__PURE__ */ jsx(Icon, { variant, iconPosition: "right", children: endIcon || /* @__PURE__ */ jsx(OpenInNewOutlined, {}) }),
152
+ external && /* @__PURE__ */ jsx(ScreenReaderOnly, { id: "external-hint", children: ` (${intlConfig.formatMessage({
153
+ id: "c4r.button.opensInNewTab"
154
+ })})` })
155
+ ]
156
+ }
157
+ );
158
+ }
159
+ const Link = forwardRef(_Link);
63
160
  const StyledAlert = styled(Alert$1, {
64
161
  shouldForwardProp: (prop) => ![
65
162
  "isNeutral",
@@ -189,5 +286,7 @@ function _Alert({
189
286
  const Alert = forwardRef(_Alert);
190
287
  export {
191
288
  Alert as A,
192
- IconButton as I
289
+ IconButton as I,
290
+ Link as L,
291
+ ScreenReaderOnly as S
193
292
  };
@@ -1,7 +1,7 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
2
  import { forwardRef } from "react";
3
3
  import { styled, MenuItem as MenuItem$1 } from "@mui/material";
4
- import { e as MENU_ITEM_SIZE_DENSE, f as MENU_ITEM_SIZE_EXTENDED } from "./TablePaginationActions-Cz5Hbi6N.js";
4
+ import { e as MENU_ITEM_SIZE_DENSE, f as MENU_ITEM_SIZE_EXTENDED } from "./TablePaginationActions-BWer8cmX.js";
5
5
  const StyledMenuItem = styled(MenuItem$1, {
6
6
  shouldForwardProp: (prop) => !["subtitle", "destructive", "extended", "fixed", "iconColor"].includes(
7
7
  prop
@@ -2,7 +2,7 @@
2
2
  const jsxRuntime = require("react/jsx-runtime");
3
3
  const React = require("react");
4
4
  const material = require("@mui/material");
5
- const TablePaginationActions = require("./TablePaginationActions-mbbjzV6Y.cjs");
5
+ const TablePaginationActions = require("./TablePaginationActions-MwqZJoRm.cjs");
6
6
  const StyledMenuItem = material.styled(material.MenuItem, {
7
7
  shouldForwardProp: (prop) => !["subtitle", "destructive", "extended", "fixed", "iconColor"].includes(
8
8
  prop
@@ -817,7 +817,8 @@ const en = {
817
817
  copy: "Copy",
818
818
  save: "Save",
819
819
  add: "Add",
820
- showOptions: "Show options"
820
+ showOptions: "Show options",
821
+ opensInNewTab: "Opens in new tab"
821
822
  },
822
823
  form: {
823
824
  selectAll: "Select all",
@@ -965,7 +966,8 @@ const es = {
965
966
  copy: "Copiar",
966
967
  save: "Guardar",
967
968
  add: "Añadir",
968
- showOptions: "Mostrar opciones"
969
+ showOptions: "Mostrar opciones",
970
+ opensInNewTab: "Abre en una nueva pestaña"
969
971
  },
970
972
  form: {
971
973
  selectAll: "Seleccionar todos",
@@ -1111,7 +1113,8 @@ const id = {
1111
1113
  copy: "Salin",
1112
1114
  save: "Simpan",
1113
1115
  add: "Tambah",
1114
- showOptions: "Tampilkan opsi"
1116
+ showOptions: "Tampilkan opsi",
1117
+ opensInNewTab: "Buka di tab baru"
1115
1118
  },
1116
1119
  form: {
1117
1120
  selectAll: "Select all",
@@ -818,7 +818,8 @@ const en = {
818
818
  copy: "Copy",
819
819
  save: "Save",
820
820
  add: "Add",
821
- showOptions: "Show options"
821
+ showOptions: "Show options",
822
+ opensInNewTab: "Opens in new tab"
822
823
  },
823
824
  form: {
824
825
  selectAll: "Select all",
@@ -966,7 +967,8 @@ const es = {
966
967
  copy: "Copiar",
967
968
  save: "Guardar",
968
969
  add: "Añadir",
969
- showOptions: "Mostrar opciones"
970
+ showOptions: "Mostrar opciones",
971
+ opensInNewTab: "Abre en una nueva pestaña"
970
972
  },
971
973
  form: {
972
974
  selectAll: "Seleccionar todos",
@@ -1112,7 +1114,8 @@ const id = {
1112
1114
  copy: "Salin",
1113
1115
  save: "Simpan",
1114
1116
  add: "Tambah",
1115
- showOptions: "Tampilkan opsi"
1117
+ showOptions: "Tampilkan opsi",
1118
+ opensInNewTab: "Buka di tab baru"
1116
1119
  },
1117
1120
  form: {
1118
1121
  selectAll: "Select all",
@@ -2,15 +2,15 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxRuntime = require("react/jsx-runtime");
4
4
  const React = require("react");
5
+ const reactIntl = require("react-intl");
5
6
  const material = require("@mui/material");
6
- const TablePaginationActions = require("../TablePaginationActions-mbbjzV6Y.cjs");
7
+ const iconsMaterial = require("@mui/icons-material");
8
+ const TablePaginationActions = require("../TablePaginationActions-MwqZJoRm.cjs");
9
+ const Alert$1 = require("../Alert--4zcBs2d.cjs");
7
10
  const ArrowDown = require("../ArrowDown-DJ0vhbsw.cjs");
8
11
  const OpenDiagonallyRight = require("../OpenDiagonallyRight-CpL4ROwg.cjs");
9
- const reactIntl = require("react-intl");
10
- const iconsMaterial = require("@mui/icons-material");
11
- const Alert$1 = require("../Alert-BzEgeyQJ.cjs");
12
12
  require("cartocolor");
13
- const MenuItem = require("../MenuItem-C4bG5WHw.cjs");
13
+ const MenuItem = require("../MenuItem-CyIdh2wX.cjs");
14
14
  const reactWindow = require("react-window");
15
15
  const DatePicker$1 = require("@mui/x-date-pickers/DatePicker");
16
16
  const xDatePickers = require("@mui/x-date-pickers");
@@ -62,10 +62,16 @@ function _Button({
62
62
  startIcon,
63
63
  endIcon,
64
64
  loadingPosition,
65
+ external,
66
+ showExternalIcon = true,
67
+ "aria-describedby": ariaDescribedby,
65
68
  ...otherProps
66
69
  }, ref) {
70
+ const intl = reactIntl.useIntl();
71
+ const intlConfig = TablePaginationActions.useImperativeIntl(intl);
67
72
  const defaultIconLoader = /* @__PURE__ */ jsxRuntime.jsx(material.CircularProgress, { size: 18, color: "inherit" });
68
73
  const isDefaultLoading = loading && loadingPosition === void 0;
74
+ const isExternalLink = otherProps.href && external;
69
75
  const renderContent = () => {
70
76
  if (isDefaultLoading) {
71
77
  return /* @__PURE__ */ jsxRuntime.jsxs(material.Box, { sx: { position: "relative" }, children: [
@@ -73,6 +79,14 @@ function _Button({
73
79
  /* @__PURE__ */ jsxRuntime.jsx(HiddenText, { children })
74
80
  ] });
75
81
  }
82
+ if (isExternalLink) {
83
+ return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
84
+ children,
85
+ /* @__PURE__ */ jsxRuntime.jsx(Alert$1.ScreenReaderOnly, { id: "external-hint", children: `(${intlConfig.formatMessage({
86
+ id: "c4r.button.opensInNewTab"
87
+ })})` })
88
+ ] });
89
+ }
76
90
  return children;
77
91
  };
78
92
  const getIconForPosition = (position) => {
@@ -85,7 +99,11 @@ function _Button({
85
99
  }
86
100
  return void 0;
87
101
  }
88
- return position === "start" ? startIcon : endIcon;
102
+ if (position === "start") {
103
+ return startIcon;
104
+ } else {
105
+ return endIcon || (isExternalLink && showExternalIcon ? /* @__PURE__ */ jsxRuntime.jsx(iconsMaterial.OpenInNewOutlined, {}) : void 0);
106
+ }
89
107
  };
90
108
  return /* @__PURE__ */ jsxRuntime.jsx(
91
109
  material.Button,
@@ -95,7 +113,12 @@ function _Button({
95
113
  endIcon: getIconForPosition("end"),
96
114
  ...otherProps,
97
115
  role: otherProps.href ? "link" : "button",
116
+ ...isExternalLink && {
117
+ target: "_blank",
118
+ rel: "noopener noreferrer"
119
+ },
98
120
  ref,
121
+ "aria-describedby": isExternalLink ? "external-hint" : ariaDescribedby,
99
122
  children: /* @__PURE__ */ jsxRuntime.jsx(TablePaginationActions.Typography, { variant: "inherit", color: "inherit", noWrap: true, component: "span", children: renderContent() })
100
123
  }
101
124
  );
@@ -1215,13 +1238,10 @@ function createAutocompleteGroupByList({
1215
1238
  });
1216
1239
  return result;
1217
1240
  }
1218
- const warnDeprecatedGroupBy = /* @__PURE__ */ (() => {
1219
- const shownWarnings = /* @__PURE__ */ new Set();
1220
- return (componentName) => {
1221
- if (process.env.NODE_ENV !== "production" && !shownWarnings.has(componentName)) {
1222
- shownWarnings.add(componentName);
1223
- console.error(
1224
- `${componentName}: The \`groupBy\` prop is deprecated and breaks virtualization. Use \`createAutocompleteGroupByList\` instead:
1241
+ function warnDeprecatedGroupBy(componentName) {
1242
+ if (process.env.NODE_ENV !== "production") {
1243
+ console.error(
1244
+ `${componentName}: The \`groupBy\` prop is deprecated and breaks virtualization. Use \`createAutocompleteGroupByList\` instead:
1225
1245
 
1226
1246
  \`\`\`
1227
1247
  import { createAutocompleteGroupByList, ${componentName} } from "@carto/meridian-ds/components"
@@ -1234,10 +1254,9 @@ const groupedOptions = createAutocompleteGroupByList({
1234
1254
  <${componentName} options={groupedOptions} />
1235
1255
  \`\`\`
1236
1256
  `
1237
- );
1238
- }
1239
- };
1240
- })();
1257
+ );
1258
+ }
1259
+ }
1241
1260
  function _Autocomplete({
1242
1261
  disabled,
1243
1262
  loading,
@@ -5071,6 +5090,8 @@ exports.TablePaginationActions = TablePaginationActions.TablePaginationActions;
5071
5090
  exports.Typography = TablePaginationActions.Typography;
5072
5091
  exports.Alert = Alert$1.Alert;
5073
5092
  exports.IconButton = Alert$1.IconButton;
5093
+ exports.Link = Alert$1.Link;
5094
+ exports.ScreenReaderOnly = Alert$1.ScreenReaderOnly;
5074
5095
  exports.MenuItem = MenuItem.MenuItem;
5075
5096
  exports.AUTOCOMPLETE_GROUP_HEADER_PROPERTY = AUTOCOMPLETE_GROUP_HEADER_PROPERTY;
5076
5097
  exports.AccordionGroup = AccordionGroup;
@@ -1,15 +1,16 @@
1
1
  import { jsx, jsxs, Fragment } from "react/jsx-runtime";
2
2
  import React, { forwardRef, useState, useRef, useEffect, useMemo, createElement, Fragment as Fragment$1, useCallback, useImperativeHandle } from "react";
3
+ import { useIntl } from "react-intl";
3
4
  import { styled, Box, Button as Button$1, CircularProgress, Popper, Grow, Paper, ClickAwayListener, MenuList as MenuList$1, MenuItem, ButtonGroup as ButtonGroup$1, TextField, InputAdornment, IconButton, Tooltip, Select, FormControl, InputLabel, FormHelperText, ToggleButtonGroup as ToggleButtonGroup$1, Menu as Menu$2, Link, Checkbox, ListItemText, Autocomplete as Autocomplete$1, Divider, ListItemIcon, createFilterOptions, Accordion, AccordionSummary, AccordionDetails, Avatar as Avatar$1, Snackbar as Snackbar$1, Portal, Fade, Slide, alpha, useTheme, Toolbar, AppBar as AppBar$1, Dialog as Dialog$1, DialogTitle as DialogTitle$1, Chip, DialogContent as DialogContent$1, DialogActions as DialogActions$1 } from "@mui/material";
4
- import { T as Typography, c as ICON_SIZE_SMALL, u as useImperativeIntl, f as MENU_ITEM_SIZE_EXTENDED, e as MENU_ITEM_SIZE_DENSE, d as MENU_LIST_MAX_SIZE, M as MENU_ITEM_SIZE_DEFAULT, N as NOTIFICATION_DURATION_IN_MS, A as APPBAR_SIZE } from "../TablePaginationActions-Cz5Hbi6N.js";
5
- import { a } from "../TablePaginationActions-Cz5Hbi6N.js";
5
+ import { OpenInNewOutlined, VisibilityOffOutlined, VisibilityOutlined, Cancel, AddCircleOutlineOutlined, ContentCopyOutlined, CloseOutlined, MenuOutlined, HelpOutline, TodayOutlined, MoreVertOutlined, ErrorOutline, Check } from "@mui/icons-material";
6
+ import { u as useImperativeIntl, T as Typography, c as ICON_SIZE_SMALL, f as MENU_ITEM_SIZE_EXTENDED, e as MENU_ITEM_SIZE_DENSE, d as MENU_LIST_MAX_SIZE, M as MENU_ITEM_SIZE_DEFAULT, N as NOTIFICATION_DURATION_IN_MS, A as APPBAR_SIZE } from "../TablePaginationActions-BWer8cmX.js";
7
+ import { a } from "../TablePaginationActions-BWer8cmX.js";
8
+ import { S as ScreenReaderOnly, I as IconButton$1, A as Alert$1 } from "../Alert-Dgmjgdl8.js";
9
+ import { L } from "../Alert-Dgmjgdl8.js";
6
10
  import { A as ArrowDown } from "../ArrowDown-d6bxUL0F.js";
7
11
  import { A as ArrowUp, O as OpenDiagonallyRight, C as CloseDiagonallyRight } from "../OpenDiagonallyRight-CGdCEXlF.js";
8
- import { useIntl } from "react-intl";
9
- import { VisibilityOffOutlined, VisibilityOutlined, Cancel, AddCircleOutlineOutlined, ContentCopyOutlined, CloseOutlined, MenuOutlined, HelpOutline, TodayOutlined, MoreVertOutlined, ErrorOutline, Check } from "@mui/icons-material";
10
- import { I as IconButton$1, A as Alert$1 } from "../Alert-CnaTtNJd.js";
11
12
  import "cartocolor";
12
- import { M as MenuItem$1 } from "../MenuItem-C1DvWMry.js";
13
+ import { M as MenuItem$1 } from "../MenuItem-C8x-GasJ.js";
13
14
  import { FixedSizeList } from "react-window";
14
15
  import { DatePicker as DatePicker$1 } from "@mui/x-date-pickers/DatePicker";
15
16
  import { PickersDay as PickersDay$1 } from "@mui/x-date-pickers";
@@ -61,10 +62,16 @@ function _Button({
61
62
  startIcon,
62
63
  endIcon,
63
64
  loadingPosition,
65
+ external,
66
+ showExternalIcon = true,
67
+ "aria-describedby": ariaDescribedby,
64
68
  ...otherProps
65
69
  }, ref) {
70
+ const intl = useIntl();
71
+ const intlConfig = useImperativeIntl(intl);
66
72
  const defaultIconLoader = /* @__PURE__ */ jsx(CircularProgress, { size: 18, color: "inherit" });
67
73
  const isDefaultLoading = loading && loadingPosition === void 0;
74
+ const isExternalLink = otherProps.href && external;
68
75
  const renderContent = () => {
69
76
  if (isDefaultLoading) {
70
77
  return /* @__PURE__ */ jsxs(Box, { sx: { position: "relative" }, children: [
@@ -72,6 +79,14 @@ function _Button({
72
79
  /* @__PURE__ */ jsx(HiddenText, { children })
73
80
  ] });
74
81
  }
82
+ if (isExternalLink) {
83
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
84
+ children,
85
+ /* @__PURE__ */ jsx(ScreenReaderOnly, { id: "external-hint", children: `(${intlConfig.formatMessage({
86
+ id: "c4r.button.opensInNewTab"
87
+ })})` })
88
+ ] });
89
+ }
75
90
  return children;
76
91
  };
77
92
  const getIconForPosition = (position) => {
@@ -84,7 +99,11 @@ function _Button({
84
99
  }
85
100
  return void 0;
86
101
  }
87
- return position === "start" ? startIcon : endIcon;
102
+ if (position === "start") {
103
+ return startIcon;
104
+ } else {
105
+ return endIcon || (isExternalLink && showExternalIcon ? /* @__PURE__ */ jsx(OpenInNewOutlined, {}) : void 0);
106
+ }
88
107
  };
89
108
  return /* @__PURE__ */ jsx(
90
109
  Button$1,
@@ -94,7 +113,12 @@ function _Button({
94
113
  endIcon: getIconForPosition("end"),
95
114
  ...otherProps,
96
115
  role: otherProps.href ? "link" : "button",
116
+ ...isExternalLink && {
117
+ target: "_blank",
118
+ rel: "noopener noreferrer"
119
+ },
97
120
  ref,
121
+ "aria-describedby": isExternalLink ? "external-hint" : ariaDescribedby,
98
122
  children: /* @__PURE__ */ jsx(Typography, { variant: "inherit", color: "inherit", noWrap: true, component: "span", children: renderContent() })
99
123
  }
100
124
  );
@@ -1214,13 +1238,10 @@ function createAutocompleteGroupByList({
1214
1238
  });
1215
1239
  return result;
1216
1240
  }
1217
- const warnDeprecatedGroupBy = /* @__PURE__ */ (() => {
1218
- const shownWarnings = /* @__PURE__ */ new Set();
1219
- return (componentName) => {
1220
- if (process.env.NODE_ENV !== "production" && !shownWarnings.has(componentName)) {
1221
- shownWarnings.add(componentName);
1222
- console.error(
1223
- `${componentName}: The \`groupBy\` prop is deprecated and breaks virtualization. Use \`createAutocompleteGroupByList\` instead:
1241
+ function warnDeprecatedGroupBy(componentName) {
1242
+ if (process.env.NODE_ENV !== "production") {
1243
+ console.error(
1244
+ `${componentName}: The \`groupBy\` prop is deprecated and breaks virtualization. Use \`createAutocompleteGroupByList\` instead:
1224
1245
 
1225
1246
  \`\`\`
1226
1247
  import { createAutocompleteGroupByList, ${componentName} } from "@carto/meridian-ds/components"
@@ -1233,10 +1254,9 @@ const groupedOptions = createAutocompleteGroupByList({
1233
1254
  <${componentName} options={groupedOptions} />
1234
1255
  \`\`\`
1235
1256
  `
1236
- );
1237
- }
1238
- };
1239
- })();
1257
+ );
1258
+ }
1259
+ }
1240
1260
  function _Autocomplete({
1241
1261
  disabled,
1242
1262
  loading,
@@ -5101,6 +5121,7 @@ export {
5101
5121
  DialogStepper,
5102
5122
  IconButton$1 as IconButton,
5103
5123
  LabelWithIndicator,
5124
+ L as Link,
5104
5125
  Menu$1 as Menu,
5105
5126
  MenuItem$1 as MenuItem,
5106
5127
  MenuItemFilter,
@@ -5108,6 +5129,7 @@ export {
5108
5129
  MultipleAutocomplete,
5109
5130
  MultipleSelectField,
5110
5131
  PasswordField,
5132
+ ScreenReaderOnly,
5111
5133
  SelectField,
5112
5134
  Snackbar,
5113
5135
  SplitButton,
@@ -3,11 +3,11 @@ 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 jsxRuntime = require("react/jsx-runtime");
6
- const TablePaginationActions = require("../TablePaginationActions-mbbjzV6Y.cjs");
6
+ const TablePaginationActions = require("../TablePaginationActions-MwqZJoRm.cjs");
7
7
  const iconsMaterial = require("@mui/icons-material");
8
8
  const ArrowDown = require("../ArrowDown-DJ0vhbsw.cjs");
9
9
  const xDatePickers = require("@mui/x-date-pickers");
10
- const MenuItem = require("../MenuItem-C4bG5WHw.cjs");
10
+ const MenuItem = require("../MenuItem-CyIdh2wX.cjs");
11
11
  const paletteUtils = require("../paletteUtils-B9ybmwiI.cjs");
12
12
  const tooltipArrowSize = 1;
13
13
  const tooltipSeparation = 0.5;
@@ -1,12 +1,12 @@
1
1
  var _a, _b, _c, _d, _e, _f, _g, _h;
2
2
  import { alpha, Tooltip, responsiveFontSizes, createTheme } from "@mui/material";
3
3
  import { jsxs, Fragment, jsx } from "react/jsx-runtime";
4
- 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, M as MENU_ITEM_SIZE_DEFAULT, d as MENU_LIST_MAX_SIZE, e as MENU_ITEM_SIZE_DENSE, A as APPBAR_SIZE, B as BREAKPOINTS, S as SPACING } from "../TablePaginationActions-Cz5Hbi6N.js";
5
- import { f, N } from "../TablePaginationActions-Cz5Hbi6N.js";
4
+ 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, M as MENU_ITEM_SIZE_DEFAULT, d as MENU_LIST_MAX_SIZE, e as MENU_ITEM_SIZE_DENSE, A as APPBAR_SIZE, B as BREAKPOINTS, S as SPACING } from "../TablePaginationActions-BWer8cmX.js";
5
+ import { f, N } from "../TablePaginationActions-BWer8cmX.js";
6
6
  import { Cancel, EventOutlined, ChevronRightOutlined, ChevronLeftOutlined, ExpandMoreOutlined, CheckCircleOutlined } from "@mui/icons-material";
7
7
  import { A as ArrowDown } from "../ArrowDown-d6bxUL0F.js";
8
8
  import { renderDigitalClockTimeView } from "@mui/x-date-pickers";
9
- import { M as MenuItem } from "../MenuItem-C1DvWMry.js";
9
+ import { M as MenuItem } from "../MenuItem-C8x-GasJ.js";
10
10
  import { c as commonPalette } from "../paletteUtils-BHqJlHm9.js";
11
11
  import { g } from "../paletteUtils-BHqJlHm9.js";
12
12
  const tooltipArrowSize = 1;
@@ -9,6 +9,17 @@ export type ButtonProps = MUIButtonProps<React.ElementType, {
9
9
  * - 'end': Shows spinner at the end position, replacing the endIcon
10
10
  */
11
11
  loadingPosition?: 'start' | 'end';
12
+ /**
13
+ * Whether the button is external. If true, the button will open in a new tab.
14
+ * Needs to have a href prop to be considered external.
15
+ */
16
+ external?: boolean;
17
+ /**
18
+ * Whether to show the external icon when external is true. Defaults to true.
19
+ * Needs to have a href prop to be considered external.
20
+ */
21
+ showExternalIcon?: boolean;
22
+ 'aria-describedby'?: string;
12
23
  }>;
13
24
  declare const Button: import('react').ForwardRefExoticComponent<Omit<ButtonProps, "ref"> & import('react').RefAttributes<HTMLButtonElement>>;
14
25
  export default Button;
@@ -1 +1 @@
1
- {"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../../../src/components/atoms/Button.tsx"],"names":[],"mappings":"AACA,OAAO,EACL,WAAW,IAAI,cAAc,EAK9B,MAAM,eAAe,CAAA;AAmBtB,MAAM,MAAM,WAAW,GAAG,cAAc,CACtC,KAAK,CAAC,WAAW,EACjB;IACE,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,OAAO,CAAA;IAEjB;;;;;OAKG;IACH,eAAe,CAAC,EAAE,OAAO,GAAG,KAAK,CAAA;CAClC,CACF,CAAA;AAoED,QAAA,MAAM,MAAM,wHAAsB,CAAA;AAClC,eAAe,MAAM,CAAA"}
1
+ {"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../../../src/components/atoms/Button.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,WAAW,IAAI,cAAc,EAK9B,MAAM,eAAe,CAAA;AAuBtB,MAAM,MAAM,WAAW,GAAG,cAAc,CACtC,KAAK,CAAC,WAAW,EACjB;IACE,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,OAAO,CAAA;IAEjB;;;;;OAKG;IACH,eAAe,CAAC,EAAE,OAAO,GAAG,KAAK,CAAA;IACjC;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,kBAAkB,CAAC,EAAE,MAAM,CAAA;CAC5B,CACF,CAAA;AAoGD,QAAA,MAAM,MAAM,wHAAsB,CAAA;AAClC,eAAe,MAAM,CAAA"}
@@ -0,0 +1,39 @@
1
+ import { LinkProps as MUILinkProps } from '@mui/material';
2
+ export type LinkProps = MUILinkProps<React.ElementType, {
3
+ endIcon?: React.ReactNode;
4
+ startIcon?: React.ReactNode;
5
+ /**
6
+ * Whether the link is external. If true, the link will open in a new tab.
7
+ */
8
+ external?: boolean;
9
+ /**
10
+ * Whether to show the external icon when external is true. Defaults to true.
11
+ */
12
+ showExternalIcon?: boolean;
13
+ /**
14
+ * For target="_blank", use the `external` prop instead for better consistency and accessibility.
15
+ *
16
+ * Instead of: `<Link target="_blank" rel="noopener noreferrer" href="...">Link text</Link>`
17
+ *
18
+ * Use: `<Link external href="...">Link text</Link>`
19
+ *
20
+ * The `external` prop automatically handles target="_blank", rel="noopener noreferrer",
21
+ * and adds proper accessibility attributes and visual indicators.
22
+ */
23
+ target?: string;
24
+ /**
25
+ * For rel="noopener noreferrer", use the `external` prop instead for better consistency and accessibility.
26
+ *
27
+ * Instead of: `<Link target="_blank" rel="noopener noreferrer" href="...">Link text</Link>`
28
+ *
29
+ * Use: `<Link external href="...">Link text</Link>`
30
+ *
31
+ * The `external` prop automatically handles target="_blank", rel="noopener noreferrer",
32
+ * and adds proper accessibility attributes and visual indicators.
33
+ */
34
+ rel?: string;
35
+ 'aria-describedby'?: string;
36
+ }>;
37
+ declare const Link: import('react').ForwardRefExoticComponent<Omit<LinkProps, "ref"> & import('react').RefAttributes<HTMLAnchorElement>>;
38
+ export default Link;
39
+ //# sourceMappingURL=Link.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Link.d.ts","sourceRoot":"","sources":["../../../../src/components/atoms/Link.tsx"],"names":[],"mappings":"AAEA,OAAO,EAEL,SAAS,IAAI,YAAY,EAG1B,MAAM,eAAe,CAAA;AAqDtB,MAAM,MAAM,SAAS,GAAG,YAAY,CAClC,KAAK,CAAC,WAAW,EACjB;IACE,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC3B;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB;;OAEG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B;;;;;;;;;OASG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IACf;;;;;;;;;OASG;IACH,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,kBAAkB,CAAC,EAAE,MAAM,CAAA;CAC5B,CACF,CAAA;AA6DD,QAAA,MAAM,IAAI,sHAAoB,CAAA;AAC9B,eAAe,IAAI,CAAA"}
@@ -0,0 +1,3 @@
1
+ declare const ScreenReaderOnly: import('@emotion/styled').StyledComponent<import('@mui/system').MUIStyledCommonProps<import('@mui/material').Theme>, import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, {}>;
2
+ export default ScreenReaderOnly;
3
+ //# sourceMappingURL=ScreenReaderOnly.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ScreenReaderOnly.d.ts","sourceRoot":"","sources":["../../../../src/components/atoms/ScreenReaderOnly.tsx"],"names":[],"mappings":"AAEA,QAAA,MAAM,gBAAgB,+NAUnB,CAAA;AAEH,eAAe,gBAAgB,CAAA"}
@@ -6,6 +6,8 @@ export { default as SelectField } from './SelectField';
6
6
  export { default as ToggleButtonGroup } from './ToggleButtonGroup';
7
7
  export { default as Typography } from './Typography';
8
8
  export { default as IconButton } from './IconButton';
9
+ export { default as Link } from './Link';
10
+ export { default as ScreenReaderOnly } from './ScreenReaderOnly';
9
11
  export type * from './Button';
10
12
  export type * from './SplitButton';
11
13
  export type * from './LabelWithIndicator';
@@ -14,4 +16,5 @@ export type * from './SelectField';
14
16
  export type * from './ToggleButtonGroup';
15
17
  export type * from './Typography';
16
18
  export type * from './IconButton';
19
+ export type * from './Link';
17
20
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/atoms/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAA;AAC5C,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAA;AACtD,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACpE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC1D,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAA;AACtD,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAClE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAA;AACpD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAA;AAEpD,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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/atoms/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAA;AAC5C,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAA;AACtD,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACpE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC1D,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAA;AACtD,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAClE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAA;AACpD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAA;AACpD,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,QAAQ,CAAA;AACxC,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAEhE,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"}
@@ -135,5 +135,5 @@ export declare function createAutocompleteGroupByList<T>({ options, groupBy, ext
135
135
  * Shows a runtime warning for deprecated groupBy prop usage
136
136
  * @param componentName - Name of the component (e.g., 'Autocomplete', 'MultipleAutocomplete')
137
137
  */
138
- export declare const warnDeprecatedGroupBy: (componentName: string) => void;
138
+ export declare function warnDeprecatedGroupBy(componentName: string): void;
139
139
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/Autocomplete/utils.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,gCAAgC,EAAE,MAAM,SAAS,CAAA;AAE1D;;GAEG;AACH,eAAO,MAAM,kCAAkC,oBAAoB,CAAA;AAEnE;;;;GAIG;AACH,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,OAAO,GACd,MAAM,IAAI,gCAAgC,CAM5C;AAGD,eAAO,MAAM,qBAAqB,GAAI,KAAK,UAAW,KAAK,KAAG,MAI7D,CAAA;AAGD,eAAO,MAAM,wBAAwB,GAAI,KAAK,UACpC,KAAK,YACH,OAAO,KAChB,MAAM,CAAC,MAAM,EAAE,OAAO,CAIxB,CAAA;AAGD,eAAO,MAAM,uBAAuB,SAAU,MAAM,4CAEnD,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,uBAAuB,CAAC,EACtC,aAAa,EACb,OAAY,EACZ,IAAc,EACd,cAAsC,GACvC,EAAE;IACD,aAAa,EAAE,CAAC,MAAM,EAAE;QACtB,aAAa,EAAE,MAAM,CAAA;QACrB,UAAU,EAAE,MAAM,CAAA;QAClB,aAAa,EAAE,SAAS,OAAO,EAAE,CAAA;QACjC,QAAQ,EAAE,SAAS,OAAO,EAAE,CAAA;QAC5B,cAAc,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,MAAM,CAAA;KAC5C,KAAK,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,SAAS,OAAO,EAAE,CAAA;IAC5B,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAA;IACzB,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,MAAM,CAAA;CAC7C,WACmC,SAAS,OAAO,EAAE,oDAmCrD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,sBAAsB,CAAC,EACrC,WAAW,EACX,OAAO,EACP,kBAAyB,GAC1B,EAAE;IACD,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAC7B,mEAMI;IACD,aAAa,EAAE,MAAM,CAAA;IACrB,UAAU,EAAE,MAAM,CAAA;IAClB,aAAa,EAAE,SAAS,OAAO,EAAE,CAAA;IACjC,cAAc,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,MAAM,CAAA;CAC5C,YASF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,6BAA6B,CAAC,CAAC,EAAE,EAC/C,OAAO,EACP,OAAO,EACP,QAAQ,GACT,EAAE;IACD,OAAO,EAAE,CAAC,EAAE,CAAA;IACZ,OAAO,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,MAAM,CAAA;IAC9B,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,GAAG,CAAC,CAAC,GAAG,gCAAgC,CAAC,EAAE,CA6B3C;AAED;;;GAGG;AACH,eAAO,MAAM,qBAAqB,kBAGT,MAAM,KAAG,IAuB9B,CAAA"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../src/components/molecules/Autocomplete/utils.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,gCAAgC,EAAE,MAAM,SAAS,CAAA;AAE1D;;GAEG;AACH,eAAO,MAAM,kCAAkC,oBAAoB,CAAA;AAEnE;;;;GAIG;AACH,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,OAAO,GACd,MAAM,IAAI,gCAAgC,CAM5C;AAGD,eAAO,MAAM,qBAAqB,GAAI,KAAK,UAAW,KAAK,KAAG,MAI7D,CAAA;AAGD,eAAO,MAAM,wBAAwB,GAAI,KAAK,UACpC,KAAK,YACH,OAAO,KAChB,MAAM,CAAC,MAAM,EAAE,OAAO,CAIxB,CAAA;AAGD,eAAO,MAAM,uBAAuB,SAAU,MAAM,4CAEnD,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,uBAAuB,CAAC,EACtC,aAAa,EACb,OAAY,EACZ,IAAc,EACd,cAAsC,GACvC,EAAE;IACD,aAAa,EAAE,CAAC,MAAM,EAAE;QACtB,aAAa,EAAE,MAAM,CAAA;QACrB,UAAU,EAAE,MAAM,CAAA;QAClB,aAAa,EAAE,SAAS,OAAO,EAAE,CAAA;QACjC,QAAQ,EAAE,SAAS,OAAO,EAAE,CAAA;QAC5B,cAAc,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,MAAM,CAAA;KAC5C,KAAK,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,SAAS,OAAO,EAAE,CAAA;IAC5B,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAA;IACzB,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,MAAM,CAAA;CAC7C,WACmC,SAAS,OAAO,EAAE,oDAmCrD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,sBAAsB,CAAC,EACrC,WAAW,EACX,OAAO,EACP,kBAAyB,GAC1B,EAAE;IACD,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAC7B,mEAMI;IACD,aAAa,EAAE,MAAM,CAAA;IACrB,UAAU,EAAE,MAAM,CAAA;IAClB,aAAa,EAAE,SAAS,OAAO,EAAE,CAAA;IACjC,cAAc,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,MAAM,CAAA;CAC5C,YASF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,6BAA6B,CAAC,CAAC,EAAE,EAC/C,OAAO,EACP,OAAO,EACP,QAAQ,GACT,EAAE;IACD,OAAO,EAAE,CAAC,EAAE,CAAA;IACZ,OAAO,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,MAAM,CAAA;IAC9B,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,GAAG,CAAC,CAAC,GAAG,gCAAgC,CAAC,EAAE,CA6B3C;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAkBjE"}
@@ -10,6 +10,7 @@ declare const _default: {
10
10
  save: string;
11
11
  add: string;
12
12
  showOptions: string;
13
+ opensInNewTab: string;
13
14
  };
14
15
  form: {
15
16
  selectAll: string;
@@ -1 +1 @@
1
- {"version":3,"file":"en.d.ts","sourceRoot":"","sources":["../../../src/localization/en.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,wBAsJ0B"}
1
+ {"version":3,"file":"en.d.ts","sourceRoot":"","sources":["../../../src/localization/en.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,wBAuJ0B"}
@@ -10,6 +10,7 @@ declare const _default: {
10
10
  save: string;
11
11
  add: string;
12
12
  showOptions: string;
13
+ opensInNewTab: string;
13
14
  };
14
15
  form: {
15
16
  selectAll: string;
@@ -1 +1 @@
1
- {"version":3,"file":"es.d.ts","sourceRoot":"","sources":["../../../src/localization/es.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,wBAwJ0B"}
1
+ {"version":3,"file":"es.d.ts","sourceRoot":"","sources":["../../../src/localization/es.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,wBAyJ0B"}
@@ -10,6 +10,7 @@ declare const _default: {
10
10
  save: string;
11
11
  add: string;
12
12
  showOptions: string;
13
+ opensInNewTab: string;
13
14
  };
14
15
  form: {
15
16
  selectAll: string;
@@ -1 +1 @@
1
- {"version":3,"file":"id.d.ts","sourceRoot":"","sources":["../../../src/localization/id.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,wBAsJ0B"}
1
+ {"version":3,"file":"id.d.ts","sourceRoot":"","sources":["../../../src/localization/id.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,wBAuJ0B"}
@@ -11,6 +11,7 @@ export declare const messages: {
11
11
  save: string;
12
12
  add: string;
13
13
  showOptions: string;
14
+ opensInNewTab: string;
14
15
  };
15
16
  form: {
16
17
  selectAll: string;
@@ -159,6 +160,7 @@ export declare const messages: {
159
160
  save: string;
160
161
  add: string;
161
162
  showOptions: string;
163
+ opensInNewTab: string;
162
164
  };
163
165
  form: {
164
166
  selectAll: string;
@@ -305,6 +307,7 @@ export declare const messages: {
305
307
  save: string;
306
308
  add: string;
307
309
  showOptions: string;
310
+ opensInNewTab: string;
308
311
  };
309
312
  form: {
310
313
  selectAll: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/localization/index.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAiB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/localization/index.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAiB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"ComparativeCategoryWidgetUI.d.ts","sourceRoot":"","sources":["../../../../../src/widgets/comparative/ComparativeCategoryWidgetUI/ComparativeCategoryWidgetUI.tsx"],"names":[],"mappings":"AAoBA,OAAO,EAAE,UAAU,EAAwB,MAAM,wBAAwB,CAAA;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAA;AAGtE,OAAO,EAAE,YAAY,EAAE,MAAM,6CAA6C,CAAA;AAU1E,MAAM,MAAM,gCAAgC,GAAG;IAC7C,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;IAChB,IAAI,EAAE,YAAY,EAAE,EAAE,CAAA;IACtB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,UAAU,CAAA;IAClB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,gBAAgB,CAAC,EAAE,mBAAmB,CAAC,SAAS,CAAC,CAAA;IACjD,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC7B,0BAA0B,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,IAAI,CAAA;IAC3D,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,KAAK,CAAC,SAAS,CAAA;IAC9C,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,KAAK,CAAC,SAAS,CAAA;IACrD,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB,CAAA;AAED,MAAM,CAAC,OAAO,UAAU,2BAA2B,CAAC,EAClD,KAA+B,EAC/B,IAAsC,EACtC,MAAgC,EAChC,MAAgC,EAChC,QAAY,EACZ,KAAwB,EACxB,SAAgB,EAChB,gBAAgB,EAChB,UAAiB,EACjB,UAAiB,EACjB,kBAA4C,EAC5C,0BAAqC,EACrC,SAAyD,EACzD,gBAAgE,EAChE,OAAc,EACd,SAAiB,GAClB,EAAE,gCAAgC,2CAwSlC"}
1
+ {"version":3,"file":"ComparativeCategoryWidgetUI.d.ts","sourceRoot":"","sources":["../../../../../src/widgets/comparative/ComparativeCategoryWidgetUI/ComparativeCategoryWidgetUI.tsx"],"names":[],"mappings":"AAaA,OAAO,EAAE,UAAU,EAAwB,MAAM,wBAAwB,CAAA;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAA;AAGtE,OAAO,EAAE,YAAY,EAAE,MAAM,6CAA6C,CAAA;AAW1E,MAAM,MAAM,gCAAgC,GAAG;IAC7C,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;IAChB,IAAI,EAAE,YAAY,EAAE,EAAE,CAAA;IACtB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,UAAU,CAAA;IAClB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,gBAAgB,CAAC,EAAE,mBAAmB,CAAC,SAAS,CAAC,CAAA;IACjD,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC7B,0BAA0B,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,IAAI,CAAA;IAC3D,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,KAAK,CAAC,SAAS,CAAA;IAC9C,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,KAAK,CAAC,SAAS,CAAA;IACrD,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB,CAAA;AAED,MAAM,CAAC,OAAO,UAAU,2BAA2B,CAAC,EAClD,KAA+B,EAC/B,IAAsC,EACtC,MAAgC,EAChC,MAAgC,EAChC,QAAY,EACZ,KAAwB,EACxB,SAAgB,EAChB,gBAAgB,EAChB,UAAiB,EACjB,UAAiB,EACjB,kBAA4C,EAC5C,0BAAqC,EACrC,SAAyD,EACzD,gBAAgE,EAChE,OAAc,EACd,SAAiB,GAClB,EAAE,gCAAgC,2CAwSlC"}
@@ -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 reactIntl = require("react-intl");
7
- const TablePaginationActions = require("../TablePaginationActions-mbbjzV6Y.cjs");
7
+ const TablePaginationActions = require("../TablePaginationActions-MwqZJoRm.cjs");
8
8
  const _ReactEcharts = require("echarts-for-react");
9
9
  const reactWindow = require("react-window");
10
10
  const SwatchSquare = require("../SwatchSquare-B8PIY3Rd.cjs");
11
11
  const iconsMaterial = require("@mui/icons-material");
12
- const Alert = require("../Alert-BzEgeyQJ.cjs");
12
+ const Alert = require("../Alert--4zcBs2d.cjs");
13
13
  const paletteUtils = require("../paletteUtils-B9ybmwiI.cjs");
14
14
  function detectTouchscreen() {
15
15
  let result = false;
@@ -5269,7 +5269,7 @@ function ComparativeCategoryWidgetUI({
5269
5269
  { id: "c4r.widgets.category.selectedItems" },
5270
5270
  { items: selectedCategories.length }
5271
5271
  ) : intlConfig.formatMessage({ id: "c4r.widgets.category.all" }) }),
5272
- /* @__PURE__ */ jsxRuntime.jsx(TablePaginationActions.Typography, { variant: "caption", component: "div", children: searchActive ? /* @__PURE__ */ jsxRuntime.jsx(material.Link, { onClick: applyTempSelection, children: intlConfig.formatMessage({ id: "c4r.widgets.category.apply" }) }) : blockingActive ? /* @__PURE__ */ jsxRuntime.jsx(material.Link, { onClick: disableBlocking, children: intlConfig.formatMessage({
5272
+ /* @__PURE__ */ jsxRuntime.jsx(TablePaginationActions.Typography, { variant: "caption", component: "div", children: searchActive ? /* @__PURE__ */ jsxRuntime.jsx(Alert.Link, { onClick: applyTempSelection, children: intlConfig.formatMessage({ id: "c4r.widgets.category.apply" }) }) : blockingActive ? /* @__PURE__ */ jsxRuntime.jsx(Alert.Link, { onClick: disableBlocking, children: intlConfig.formatMessage({
5273
5273
  id: "c4r.widgets.category.unlock"
5274
5274
  }) }) : selectedCategories.length ? /* @__PURE__ */ jsxRuntime.jsxs(
5275
5275
  material.Box,
@@ -5280,11 +5280,11 @@ function ComparativeCategoryWidgetUI({
5280
5280
  gap: theme.spacing(1)
5281
5281
  },
5282
5282
  children: [
5283
- /* @__PURE__ */ jsxRuntime.jsx(material.Link, { onClick: enableBlocking, children: intlConfig.formatMessage({
5283
+ /* @__PURE__ */ jsxRuntime.jsx(Alert.Link, { onClick: enableBlocking, children: intlConfig.formatMessage({
5284
5284
  id: "c4r.widgets.category.lock"
5285
5285
  }) }),
5286
5286
  /* @__PURE__ */ jsxRuntime.jsx(material.Divider, { orientation: "vertical", flexItem: true }),
5287
- /* @__PURE__ */ jsxRuntime.jsx(material.Link, { onClick: clearSelection, children: intlConfig.formatMessage({
5287
+ /* @__PURE__ */ jsxRuntime.jsx(Alert.Link, { onClick: clearSelection, children: intlConfig.formatMessage({
5288
5288
  id: "c4r.widgets.category.clear"
5289
5289
  }) })
5290
5290
  ]
@@ -2,12 +2,12 @@ import { jsxs, Fragment, jsx } from "react/jsx-runtime";
2
2
  import React, { useMemo, useState, useEffect, useCallback, useRef, createContext, useContext, useLayoutEffect, createRef } from "react";
3
3
  import { useTheme, styled, Box, Skeleton, Grid, Link, darken, Button, Divider, TextField, InputAdornment, Checkbox, Tooltip, debounce, Slider, TableCell, Table, TableHead, TableRow, TableBody, TableContainer, TableSortLabel, TablePagination, IconButton as IconButton$1, Menu, MenuItem, SvgIcon, lighten, Typography as Typography$1, ClickAwayListener, ToggleButton, capitalize, ListItem, Chip, List, Paper, Popover, Select, ListItemText, Collapse, Drawer, Icon, LinearProgress } from "@mui/material";
4
4
  import { useIntl } from "react-intl";
5
- import { h as getDefaultExportFromCjs, u as useImperativeIntl, T as Typography, S as SPACING, B as BREAKPOINTS, a as TablePaginationActions, b as ICON_SIZE_MEDIUM } from "../TablePaginationActions-Cz5Hbi6N.js";
5
+ import { h as getDefaultExportFromCjs, u as useImperativeIntl, T as Typography, S as SPACING, B as BREAKPOINTS, a as TablePaginationActions, b as ICON_SIZE_MEDIUM } from "../TablePaginationActions-BWer8cmX.js";
6
6
  import _ReactEcharts from "echarts-for-react";
7
7
  import { FixedSizeList } from "react-window";
8
8
  import { S as Search, a as SwatchSquare } from "../SwatchSquare-CaaLsjAC.js";
9
9
  import { ChevronLeft, ChevronRight, KeyboardArrowDown, ErrorOutline, Cancel, VisibilityOutlined, VisibilityOffOutlined, ExpandLess, ExpandMore, Close, LayersOutlined, MoreVert } from "@mui/icons-material";
10
- import { I as IconButton, A as Alert } from "../Alert-CnaTtNJd.js";
10
+ import { I as IconButton, L as Link$1, A as Alert } from "../Alert-Dgmjgdl8.js";
11
11
  import { a as getColorByCategory, c as commonPalette, b as getPalette } from "../paletteUtils-BHqJlHm9.js";
12
12
  function detectTouchscreen() {
13
13
  let result = false;
@@ -5267,7 +5267,7 @@ function ComparativeCategoryWidgetUI({
5267
5267
  { id: "c4r.widgets.category.selectedItems" },
5268
5268
  { items: selectedCategories.length }
5269
5269
  ) : intlConfig.formatMessage({ id: "c4r.widgets.category.all" }) }),
5270
- /* @__PURE__ */ jsx(Typography, { variant: "caption", component: "div", children: searchActive ? /* @__PURE__ */ jsx(Link, { onClick: applyTempSelection, children: intlConfig.formatMessage({ id: "c4r.widgets.category.apply" }) }) : blockingActive ? /* @__PURE__ */ jsx(Link, { onClick: disableBlocking, children: intlConfig.formatMessage({
5270
+ /* @__PURE__ */ jsx(Typography, { variant: "caption", component: "div", children: searchActive ? /* @__PURE__ */ jsx(Link$1, { onClick: applyTempSelection, children: intlConfig.formatMessage({ id: "c4r.widgets.category.apply" }) }) : blockingActive ? /* @__PURE__ */ jsx(Link$1, { onClick: disableBlocking, children: intlConfig.formatMessage({
5271
5271
  id: "c4r.widgets.category.unlock"
5272
5272
  }) }) : selectedCategories.length ? /* @__PURE__ */ jsxs(
5273
5273
  Box,
@@ -5278,11 +5278,11 @@ function ComparativeCategoryWidgetUI({
5278
5278
  gap: theme.spacing(1)
5279
5279
  },
5280
5280
  children: [
5281
- /* @__PURE__ */ jsx(Link, { onClick: enableBlocking, children: intlConfig.formatMessage({
5281
+ /* @__PURE__ */ jsx(Link$1, { onClick: enableBlocking, children: intlConfig.formatMessage({
5282
5282
  id: "c4r.widgets.category.lock"
5283
5283
  }) }),
5284
5284
  /* @__PURE__ */ jsx(Divider, { orientation: "vertical", flexItem: true }),
5285
- /* @__PURE__ */ jsx(Link, { onClick: clearSelection, children: intlConfig.formatMessage({
5285
+ /* @__PURE__ */ jsx(Link$1, { onClick: clearSelection, children: intlConfig.formatMessage({
5286
5286
  id: "c4r.widgets.category.clear"
5287
5287
  }) })
5288
5288
  ]
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@carto/meridian-ds",
3
- "version": "2.0.0-alpha-autocomplete-console.1",
3
+ "version": "2.0.0-alpha-external-link.9",
4
4
  "description": "CARTO Meridian Design System",
5
5
  "type": "module",
6
6
  "scripts": {