@carto/meridian-ds 2.0.1 → 2.0.2-alpha-external-link.10
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.
- package/CHANGELOG.md +6 -0
- package/dist/{Alert-BzEgeyQJ.cjs → Alert-CVOuW60y.cjs} +111 -1
- package/dist/{Alert-CnaTtNJd.js → Alert-DlpSBkrh.js} +113 -3
- package/dist/{MenuItem-C1DvWMry.js → MenuItem-C8x-GasJ.js} +1 -1
- package/dist/{MenuItem-C4bG5WHw.cjs → MenuItem-CyIdh2wX.cjs} +1 -1
- package/dist/{TablePaginationActions-Cz5Hbi6N.js → TablePaginationActions-BWer8cmX.js} +6 -3
- package/dist/{TablePaginationActions-mbbjzV6Y.cjs → TablePaginationActions-MwqZJoRm.cjs} +6 -3
- package/dist/components/index.cjs +31 -6
- package/dist/components/index.js +33 -7
- package/dist/theme/index.cjs +2 -2
- package/dist/theme/index.js +3 -3
- package/dist/types/components/atoms/Button.d.ts +11 -0
- package/dist/types/components/atoms/Button.d.ts.map +1 -1
- package/dist/types/components/atoms/Link.d.ts +39 -0
- package/dist/types/components/atoms/Link.d.ts.map +1 -0
- package/dist/types/components/atoms/ScreenReaderOnly.d.ts +3 -0
- package/dist/types/components/atoms/ScreenReaderOnly.d.ts.map +1 -0
- package/dist/types/components/atoms/index.d.ts +3 -0
- package/dist/types/components/atoms/index.d.ts.map +1 -1
- package/dist/types/localization/en.d.ts +1 -0
- package/dist/types/localization/en.d.ts.map +1 -1
- package/dist/types/localization/es.d.ts +1 -0
- package/dist/types/localization/es.d.ts.map +1 -1
- package/dist/types/localization/id.d.ts +1 -0
- package/dist/types/localization/id.d.ts.map +1 -1
- package/dist/types/localization/index.d.ts +3 -0
- package/dist/types/localization/index.d.ts.map +1 -1
- package/dist/types/widgets/ChartLegend.d.ts.map +1 -1
- package/dist/types/widgets/comparative/ComparativeCategoryWidgetUI/ComparativeCategoryWidgetUI.d.ts.map +1 -1
- package/dist/widgets/index.cjs +14 -12
- package/dist/widgets/index.js +14 -12
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,8 +2,14 @@
|
|
|
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
|
|
|
9
|
+
### 2.0.2
|
|
10
|
+
|
|
11
|
+
- fix(TimeSeriesWidgetUI): Fix TimeSeriesWidgetUI overflowing available height [#226](https://github.com/CartoDB/meridian-ds/pull/226)
|
|
12
|
+
|
|
7
13
|
### 2.0.1
|
|
8
14
|
|
|
9
15
|
- Autocomplete: fix flooding issue with console message [#225](https://github.com/CartoDB/meridian-ds/pull/225)
|
|
@@ -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
|
|
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,100 @@ 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("span", {
|
|
82
|
+
shouldForwardProp: (prop) => prop !== "variant" && prop !== "iconPosition"
|
|
83
|
+
})(
|
|
84
|
+
({ variant, iconPosition }) => ({
|
|
85
|
+
display: "inline-flex",
|
|
86
|
+
position: "relative",
|
|
87
|
+
top: "calc(1em * 5/32)",
|
|
88
|
+
// heuristic to align icon with true perceived baseline (25% offset ratio)
|
|
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
|
+
},
|
|
103
|
+
// Caption and undefined variants use smaller offset and smaller icon
|
|
104
|
+
...variant === "caption" && {
|
|
105
|
+
top: "calc(1em * 1/5)",
|
|
106
|
+
// 20% offset ratio
|
|
107
|
+
svg: {
|
|
108
|
+
fontSize: TablePaginationActions.ICON_SIZE_SMALL
|
|
109
|
+
}
|
|
110
|
+
},
|
|
111
|
+
// Button and body2 variants use medium-sized icons
|
|
112
|
+
...(variant === "button" || variant === "body2") && {
|
|
113
|
+
top: "calc(1em * 1/4)",
|
|
114
|
+
// 25% offset ratio
|
|
115
|
+
svg: {
|
|
116
|
+
fontSize: TablePaginationActions.ICON_SIZE_MEDIUM
|
|
117
|
+
}
|
|
118
|
+
},
|
|
119
|
+
// Body1 variant uses large icons
|
|
120
|
+
...variant === "body1" && {
|
|
121
|
+
top: "calc(1em * 1/3)",
|
|
122
|
+
// 33% offset ratio
|
|
123
|
+
svg: {
|
|
124
|
+
fontSize: TablePaginationActions.ICON_SIZE_LARGE
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
})
|
|
128
|
+
);
|
|
129
|
+
function _Link({
|
|
130
|
+
children,
|
|
131
|
+
variant,
|
|
132
|
+
startIcon,
|
|
133
|
+
endIcon,
|
|
134
|
+
color,
|
|
135
|
+
external,
|
|
136
|
+
showExternalIcon = true,
|
|
137
|
+
fontWeight = 500,
|
|
138
|
+
target,
|
|
139
|
+
rel,
|
|
140
|
+
"aria-describedby": ariaDescribedby,
|
|
141
|
+
...otherProps
|
|
142
|
+
}, ref) {
|
|
143
|
+
const intl = reactIntl.useIntl();
|
|
144
|
+
const intlConfig = TablePaginationActions.useImperativeIntl(intl);
|
|
145
|
+
const isButtonLink = otherProps.component === "button";
|
|
146
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
147
|
+
StyledLink,
|
|
148
|
+
{
|
|
149
|
+
...otherProps,
|
|
150
|
+
variant,
|
|
151
|
+
fontWeight,
|
|
152
|
+
"data-color": color,
|
|
153
|
+
"data-name": isButtonLink ? "button-link" : "link",
|
|
154
|
+
role: isButtonLink ? "button" : "link",
|
|
155
|
+
color,
|
|
156
|
+
ref,
|
|
157
|
+
target: external ? "_blank" : target,
|
|
158
|
+
rel: external ? "noopener noreferrer" : rel,
|
|
159
|
+
"aria-describedby": external ? "external-hint" : ariaDescribedby,
|
|
160
|
+
children: [
|
|
161
|
+
startIcon && /* @__PURE__ */ jsxRuntime.jsx(Icon, { variant, iconPosition: "left", children: startIcon }),
|
|
162
|
+
children,
|
|
163
|
+
(endIcon || external && showExternalIcon) && /* @__PURE__ */ jsxRuntime.jsx(Icon, { variant, iconPosition: "right", children: endIcon || /* @__PURE__ */ jsxRuntime.jsx(iconsMaterial.OpenInNewOutlined, {}) }),
|
|
164
|
+
external && /* @__PURE__ */ jsxRuntime.jsx(ScreenReaderOnly, { id: "external-hint", children: ` (${intlConfig.formatMessage({
|
|
165
|
+
id: "c4r.button.opensInNewTab"
|
|
166
|
+
})})` })
|
|
167
|
+
]
|
|
168
|
+
}
|
|
169
|
+
);
|
|
170
|
+
}
|
|
171
|
+
const Link = React.forwardRef(_Link);
|
|
64
172
|
const StyledAlert = material.styled(material.Alert, {
|
|
65
173
|
shouldForwardProp: (prop) => ![
|
|
66
174
|
"isNeutral",
|
|
@@ -190,3 +298,5 @@ function _Alert({
|
|
|
190
298
|
const Alert = React.forwardRef(_Alert);
|
|
191
299
|
exports.Alert = Alert;
|
|
192
300
|
exports.IconButton = IconButton;
|
|
301
|
+
exports.Link = Link;
|
|
302
|
+
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 {
|
|
3
|
+
import { styled, IconButton as IconButton$1, Tooltip, CircularProgress, Link as Link$1, 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,100 @@ 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("span", {
|
|
81
|
+
shouldForwardProp: (prop) => prop !== "variant" && prop !== "iconPosition"
|
|
82
|
+
})(
|
|
83
|
+
({ variant, iconPosition }) => ({
|
|
84
|
+
display: "inline-flex",
|
|
85
|
+
position: "relative",
|
|
86
|
+
top: "calc(1em * 5/32)",
|
|
87
|
+
// heuristic to align icon with true perceived baseline (25% offset ratio)
|
|
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
|
+
},
|
|
102
|
+
// Caption and undefined variants use smaller offset and smaller icon
|
|
103
|
+
...variant === "caption" && {
|
|
104
|
+
top: "calc(1em * 1/5)",
|
|
105
|
+
// 20% offset ratio
|
|
106
|
+
svg: {
|
|
107
|
+
fontSize: ICON_SIZE_SMALL
|
|
108
|
+
}
|
|
109
|
+
},
|
|
110
|
+
// Button and body2 variants use medium-sized icons
|
|
111
|
+
...(variant === "button" || variant === "body2") && {
|
|
112
|
+
top: "calc(1em * 1/4)",
|
|
113
|
+
// 25% offset ratio
|
|
114
|
+
svg: {
|
|
115
|
+
fontSize: ICON_SIZE_MEDIUM
|
|
116
|
+
}
|
|
117
|
+
},
|
|
118
|
+
// Body1 variant uses large icons
|
|
119
|
+
...variant === "body1" && {
|
|
120
|
+
top: "calc(1em * 1/3)",
|
|
121
|
+
// 33% offset ratio
|
|
122
|
+
svg: {
|
|
123
|
+
fontSize: ICON_SIZE_LARGE
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
})
|
|
127
|
+
);
|
|
128
|
+
function _Link({
|
|
129
|
+
children,
|
|
130
|
+
variant,
|
|
131
|
+
startIcon,
|
|
132
|
+
endIcon,
|
|
133
|
+
color,
|
|
134
|
+
external,
|
|
135
|
+
showExternalIcon = true,
|
|
136
|
+
fontWeight = 500,
|
|
137
|
+
target,
|
|
138
|
+
rel,
|
|
139
|
+
"aria-describedby": ariaDescribedby,
|
|
140
|
+
...otherProps
|
|
141
|
+
}, ref) {
|
|
142
|
+
const intl = useIntl();
|
|
143
|
+
const intlConfig = useImperativeIntl(intl);
|
|
144
|
+
const isButtonLink = otherProps.component === "button";
|
|
145
|
+
return /* @__PURE__ */ jsxs(
|
|
146
|
+
StyledLink,
|
|
147
|
+
{
|
|
148
|
+
...otherProps,
|
|
149
|
+
variant,
|
|
150
|
+
fontWeight,
|
|
151
|
+
"data-color": color,
|
|
152
|
+
"data-name": isButtonLink ? "button-link" : "link",
|
|
153
|
+
role: isButtonLink ? "button" : "link",
|
|
154
|
+
color,
|
|
155
|
+
ref,
|
|
156
|
+
target: external ? "_blank" : target,
|
|
157
|
+
rel: external ? "noopener noreferrer" : rel,
|
|
158
|
+
"aria-describedby": external ? "external-hint" : ariaDescribedby,
|
|
159
|
+
children: [
|
|
160
|
+
startIcon && /* @__PURE__ */ jsx(Icon, { variant, iconPosition: "left", children: startIcon }),
|
|
161
|
+
children,
|
|
162
|
+
(endIcon || external && showExternalIcon) && /* @__PURE__ */ jsx(Icon, { variant, iconPosition: "right", children: endIcon || /* @__PURE__ */ jsx(OpenInNewOutlined, {}) }),
|
|
163
|
+
external && /* @__PURE__ */ jsx(ScreenReaderOnly, { id: "external-hint", children: ` (${intlConfig.formatMessage({
|
|
164
|
+
id: "c4r.button.opensInNewTab"
|
|
165
|
+
})})` })
|
|
166
|
+
]
|
|
167
|
+
}
|
|
168
|
+
);
|
|
169
|
+
}
|
|
170
|
+
const Link = forwardRef(_Link);
|
|
63
171
|
const StyledAlert = styled(Alert$1, {
|
|
64
172
|
shouldForwardProp: (prop) => ![
|
|
65
173
|
"isNeutral",
|
|
@@ -189,5 +297,7 @@ function _Alert({
|
|
|
189
297
|
const Alert = forwardRef(_Alert);
|
|
190
298
|
export {
|
|
191
299
|
Alert as A,
|
|
192
|
-
IconButton as I
|
|
300
|
+
IconButton as I,
|
|
301
|
+
Link as L,
|
|
302
|
+
ScreenReaderOnly as S
|
|
193
303
|
};
|
|
@@ -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-
|
|
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-
|
|
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
|
|
7
|
+
const iconsMaterial = require("@mui/icons-material");
|
|
8
|
+
const TablePaginationActions = require("../TablePaginationActions-MwqZJoRm.cjs");
|
|
9
|
+
const Alert$1 = require("../Alert-CVOuW60y.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-
|
|
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
|
-
|
|
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
|
);
|
|
@@ -5059,6 +5082,8 @@ exports.TablePaginationActions = TablePaginationActions.TablePaginationActions;
|
|
|
5059
5082
|
exports.Typography = TablePaginationActions.Typography;
|
|
5060
5083
|
exports.Alert = Alert$1.Alert;
|
|
5061
5084
|
exports.IconButton = Alert$1.IconButton;
|
|
5085
|
+
exports.Link = Alert$1.Link;
|
|
5086
|
+
exports.ScreenReaderOnly = Alert$1.ScreenReaderOnly;
|
|
5062
5087
|
exports.MenuItem = MenuItem.MenuItem;
|
|
5063
5088
|
exports.AUTOCOMPLETE_GROUP_HEADER_PROPERTY = AUTOCOMPLETE_GROUP_HEADER_PROPERTY;
|
|
5064
5089
|
exports.AccordionGroup = AccordionGroup;
|
package/dist/components/index.js
CHANGED
|
@@ -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 {
|
|
5
|
-
import {
|
|
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-DlpSBkrh.js";
|
|
9
|
+
import { L } from "../Alert-DlpSBkrh.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-
|
|
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
|
-
|
|
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
|
);
|
|
@@ -5089,6 +5113,7 @@ export {
|
|
|
5089
5113
|
DialogStepper,
|
|
5090
5114
|
IconButton$1 as IconButton,
|
|
5091
5115
|
LabelWithIndicator,
|
|
5116
|
+
L as Link,
|
|
5092
5117
|
Menu$1 as Menu,
|
|
5093
5118
|
MenuItem$1 as MenuItem,
|
|
5094
5119
|
MenuItemFilter,
|
|
@@ -5096,6 +5121,7 @@ export {
|
|
|
5096
5121
|
MultipleAutocomplete,
|
|
5097
5122
|
MultipleSelectField,
|
|
5098
5123
|
PasswordField,
|
|
5124
|
+
ScreenReaderOnly,
|
|
5099
5125
|
SelectField,
|
|
5100
5126
|
Snackbar,
|
|
5101
5127
|
SplitButton,
|
package/dist/theme/index.cjs
CHANGED
|
@@ -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-
|
|
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-
|
|
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;
|
package/dist/theme/index.js
CHANGED
|
@@ -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-
|
|
5
|
-
import { f, N } from "../TablePaginationActions-
|
|
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-
|
|
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":"
|
|
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,EACL,SAAS,IAAI,YAAY,EAG1B,MAAM,eAAe,CAAA;AAkEtB,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;
|
|
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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"en.d.ts","sourceRoot":"","sources":["../../../src/localization/en.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"en.d.ts","sourceRoot":"","sources":["../../../src/localization/en.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,wBAuJ0B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"es.d.ts","sourceRoot":"","sources":["../../../src/localization/es.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"es.d.ts","sourceRoot":"","sources":["../../../src/localization/es.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,wBAyJ0B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"id.d.ts","sourceRoot":"","sources":["../../../src/localization/id.ts"],"names":[],"mappings":"
|
|
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
|
|
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":"ChartLegend.d.ts","sourceRoot":"","sources":["../../../src/widgets/ChartLegend.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ChartLegend.d.ts","sourceRoot":"","sources":["../../../src/widgets/ChartLegend.tsx"],"names":[],"mappings":"AAmEA,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAClC,MAAM,EACN,kBAAkB,EAClB,MAAkB,EAClB,eAAe,GAChB,EAAE;IACD,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IACzD,kBAAkB,EAAE,MAAM,EAAE,CAAA;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC/B,eAAe,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAA;CACjD,2CAsJA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComparativeCategoryWidgetUI.d.ts","sourceRoot":"","sources":["../../../../../src/widgets/comparative/ComparativeCategoryWidgetUI/ComparativeCategoryWidgetUI.tsx"],"names":[],"mappings":"
|
|
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"}
|
package/dist/widgets/index.cjs
CHANGED
|
@@ -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-
|
|
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-
|
|
12
|
+
const Alert = require("../Alert-CVOuW60y.cjs");
|
|
13
13
|
const paletteUtils = require("../paletteUtils-B9ybmwiI.cjs");
|
|
14
14
|
function detectTouchscreen() {
|
|
15
15
|
let result = false;
|
|
@@ -2016,7 +2016,7 @@ function PieSkeleton({ height }) {
|
|
|
2016
2016
|
}
|
|
2017
2017
|
const Legend$1 = material.styled(material.Box)(({ theme }) => ({
|
|
2018
2018
|
position: "relative",
|
|
2019
|
-
padding: theme.spacing(
|
|
2019
|
+
padding: theme.spacing(0.75, 0.75, 0, 0.75),
|
|
2020
2020
|
width: "100%"
|
|
2021
2021
|
}));
|
|
2022
2022
|
const ItemsContainer = material.styled(material.Box)(({ theme }) => ({
|
|
@@ -2025,9 +2025,8 @@ const ItemsContainer = material.styled(material.Box)(({ theme }) => ({
|
|
|
2025
2025
|
flexDirection: "row",
|
|
2026
2026
|
overflowX: "hidden",
|
|
2027
2027
|
gap: theme.spacing(2),
|
|
2028
|
-
//
|
|
2029
|
-
padding: theme.spacing(0.
|
|
2030
|
-
margin: theme.spacing(-0.5)
|
|
2028
|
+
// a11y: padding prevents clipping focus outline
|
|
2029
|
+
padding: theme.spacing(0.25)
|
|
2031
2030
|
}));
|
|
2032
2031
|
const Item = material.styled(material.Box)(({ theme }) => ({
|
|
2033
2032
|
display: "flex",
|
|
@@ -2081,6 +2080,9 @@ function ChartLegend({
|
|
|
2081
2080
|
const legendRef = React.useRef(null);
|
|
2082
2081
|
const containerRef = React.useRef(null);
|
|
2083
2082
|
const showMoreButtonsRef = React.useRef(null);
|
|
2083
|
+
if (series.length === 0) {
|
|
2084
|
+
series = [{ name: "", color: theme.palette.text.disabled }];
|
|
2085
|
+
}
|
|
2084
2086
|
const intl = reactIntl.useIntl();
|
|
2085
2087
|
const intlConfig = TablePaginationActions.useImperativeIntl(intl);
|
|
2086
2088
|
function handleClickRight() {
|
|
@@ -2141,7 +2143,7 @@ function ChartLegend({
|
|
|
2141
2143
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
2142
2144
|
Item,
|
|
2143
2145
|
{
|
|
2144
|
-
tabIndex: 0,
|
|
2146
|
+
tabIndex: onCategoryClick ? 0 : void 0,
|
|
2145
2147
|
onClick: onCategoryClick ? () => onCategoryClick(category.name) : void 0,
|
|
2146
2148
|
onKeyDown: onCategoryClick ? (e) => onCategoryPress(e, category.name) : void 0,
|
|
2147
2149
|
style: {
|
|
@@ -2159,7 +2161,7 @@ function ChartLegend({
|
|
|
2159
2161
|
{
|
|
2160
2162
|
variant: "overline",
|
|
2161
2163
|
color: selected ? void 0 : "text.disabled",
|
|
2162
|
-
children: label
|
|
2164
|
+
children: label || /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: " " })
|
|
2163
2165
|
}
|
|
2164
2166
|
)
|
|
2165
2167
|
]
|
|
@@ -4764,7 +4766,7 @@ function TimeSeriesWidgetUIContent({
|
|
|
4764
4766
|
);
|
|
4765
4767
|
const isLegendVisible = Boolean(showLegend ?? series.length > 1);
|
|
4766
4768
|
const header = /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
4767
|
-
/* @__PURE__ */ jsxRuntime.jsx(material.Box, { children: /* @__PURE__ */ jsxRuntime.jsx(TablePaginationActions.Typography, { color: "textSecondary", variant: "caption", children: currentDate
|
|
4769
|
+
/* @__PURE__ */ jsxRuntime.jsx(material.Box, { children: /* @__PURE__ */ jsxRuntime.jsx(TablePaginationActions.Typography, { color: "textSecondary", variant: "caption", children: currentDate || "-" }) }),
|
|
4768
4770
|
filterable && showClearButton && /* @__PURE__ */ jsxRuntime.jsx(
|
|
4769
4771
|
material.Link,
|
|
4770
4772
|
{
|
|
@@ -5269,7 +5271,7 @@ function ComparativeCategoryWidgetUI({
|
|
|
5269
5271
|
{ id: "c4r.widgets.category.selectedItems" },
|
|
5270
5272
|
{ items: selectedCategories.length }
|
|
5271
5273
|
) : intlConfig.formatMessage({ id: "c4r.widgets.category.all" }) }),
|
|
5272
|
-
/* @__PURE__ */ jsxRuntime.jsx(TablePaginationActions.Typography, { variant: "caption", component: "div", children: searchActive ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
5274
|
+
/* @__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
5275
|
id: "c4r.widgets.category.unlock"
|
|
5274
5276
|
}) }) : selectedCategories.length ? /* @__PURE__ */ jsxRuntime.jsxs(
|
|
5275
5277
|
material.Box,
|
|
@@ -5280,11 +5282,11 @@ function ComparativeCategoryWidgetUI({
|
|
|
5280
5282
|
gap: theme.spacing(1)
|
|
5281
5283
|
},
|
|
5282
5284
|
children: [
|
|
5283
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5285
|
+
/* @__PURE__ */ jsxRuntime.jsx(Alert.Link, { onClick: enableBlocking, children: intlConfig.formatMessage({
|
|
5284
5286
|
id: "c4r.widgets.category.lock"
|
|
5285
5287
|
}) }),
|
|
5286
5288
|
/* @__PURE__ */ jsxRuntime.jsx(material.Divider, { orientation: "vertical", flexItem: true }),
|
|
5287
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5289
|
+
/* @__PURE__ */ jsxRuntime.jsx(Alert.Link, { onClick: clearSelection, children: intlConfig.formatMessage({
|
|
5288
5290
|
id: "c4r.widgets.category.clear"
|
|
5289
5291
|
}) })
|
|
5290
5292
|
]
|
package/dist/widgets/index.js
CHANGED
|
@@ -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-
|
|
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-
|
|
10
|
+
import { I as IconButton, L as Link$1, A as Alert } from "../Alert-DlpSBkrh.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;
|
|
@@ -2014,7 +2014,7 @@ function PieSkeleton({ height }) {
|
|
|
2014
2014
|
}
|
|
2015
2015
|
const Legend$1 = styled(Box)(({ theme }) => ({
|
|
2016
2016
|
position: "relative",
|
|
2017
|
-
padding: theme.spacing(
|
|
2017
|
+
padding: theme.spacing(0.75, 0.75, 0, 0.75),
|
|
2018
2018
|
width: "100%"
|
|
2019
2019
|
}));
|
|
2020
2020
|
const ItemsContainer = styled(Box)(({ theme }) => ({
|
|
@@ -2023,9 +2023,8 @@ const ItemsContainer = styled(Box)(({ theme }) => ({
|
|
|
2023
2023
|
flexDirection: "row",
|
|
2024
2024
|
overflowX: "hidden",
|
|
2025
2025
|
gap: theme.spacing(2),
|
|
2026
|
-
//
|
|
2027
|
-
padding: theme.spacing(0.
|
|
2028
|
-
margin: theme.spacing(-0.5)
|
|
2026
|
+
// a11y: padding prevents clipping focus outline
|
|
2027
|
+
padding: theme.spacing(0.25)
|
|
2029
2028
|
}));
|
|
2030
2029
|
const Item = styled(Box)(({ theme }) => ({
|
|
2031
2030
|
display: "flex",
|
|
@@ -2079,6 +2078,9 @@ function ChartLegend({
|
|
|
2079
2078
|
const legendRef = useRef(null);
|
|
2080
2079
|
const containerRef = useRef(null);
|
|
2081
2080
|
const showMoreButtonsRef = useRef(null);
|
|
2081
|
+
if (series.length === 0) {
|
|
2082
|
+
series = [{ name: "", color: theme.palette.text.disabled }];
|
|
2083
|
+
}
|
|
2082
2084
|
const intl = useIntl();
|
|
2083
2085
|
const intlConfig = useImperativeIntl(intl);
|
|
2084
2086
|
function handleClickRight() {
|
|
@@ -2139,7 +2141,7 @@ function ChartLegend({
|
|
|
2139
2141
|
return /* @__PURE__ */ jsxs(
|
|
2140
2142
|
Item,
|
|
2141
2143
|
{
|
|
2142
|
-
tabIndex: 0,
|
|
2144
|
+
tabIndex: onCategoryClick ? 0 : void 0,
|
|
2143
2145
|
onClick: onCategoryClick ? () => onCategoryClick(category.name) : void 0,
|
|
2144
2146
|
onKeyDown: onCategoryClick ? (e) => onCategoryPress(e, category.name) : void 0,
|
|
2145
2147
|
style: {
|
|
@@ -2157,7 +2159,7 @@ function ChartLegend({
|
|
|
2157
2159
|
{
|
|
2158
2160
|
variant: "overline",
|
|
2159
2161
|
color: selected ? void 0 : "text.disabled",
|
|
2160
|
-
children: label
|
|
2162
|
+
children: label || /* @__PURE__ */ jsx(Fragment, { children: " " })
|
|
2161
2163
|
}
|
|
2162
2164
|
)
|
|
2163
2165
|
]
|
|
@@ -4762,7 +4764,7 @@ function TimeSeriesWidgetUIContent({
|
|
|
4762
4764
|
);
|
|
4763
4765
|
const isLegendVisible = Boolean(showLegend ?? series.length > 1);
|
|
4764
4766
|
const header = /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
4765
|
-
/* @__PURE__ */ jsx(Box, { children: /* @__PURE__ */ jsx(Typography, { color: "textSecondary", variant: "caption", children: currentDate
|
|
4767
|
+
/* @__PURE__ */ jsx(Box, { children: /* @__PURE__ */ jsx(Typography, { color: "textSecondary", variant: "caption", children: currentDate || "-" }) }),
|
|
4766
4768
|
filterable && showClearButton && /* @__PURE__ */ jsx(
|
|
4767
4769
|
Link,
|
|
4768
4770
|
{
|
|
@@ -5267,7 +5269,7 @@ function ComparativeCategoryWidgetUI({
|
|
|
5267
5269
|
{ id: "c4r.widgets.category.selectedItems" },
|
|
5268
5270
|
{ items: selectedCategories.length }
|
|
5269
5271
|
) : 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({
|
|
5272
|
+
/* @__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
5273
|
id: "c4r.widgets.category.unlock"
|
|
5272
5274
|
}) }) : selectedCategories.length ? /* @__PURE__ */ jsxs(
|
|
5273
5275
|
Box,
|
|
@@ -5278,11 +5280,11 @@ function ComparativeCategoryWidgetUI({
|
|
|
5278
5280
|
gap: theme.spacing(1)
|
|
5279
5281
|
},
|
|
5280
5282
|
children: [
|
|
5281
|
-
/* @__PURE__ */ jsx(Link, { onClick: enableBlocking, children: intlConfig.formatMessage({
|
|
5283
|
+
/* @__PURE__ */ jsx(Link$1, { onClick: enableBlocking, children: intlConfig.formatMessage({
|
|
5282
5284
|
id: "c4r.widgets.category.lock"
|
|
5283
5285
|
}) }),
|
|
5284
5286
|
/* @__PURE__ */ jsx(Divider, { orientation: "vertical", flexItem: true }),
|
|
5285
|
-
/* @__PURE__ */ jsx(Link, { onClick: clearSelection, children: intlConfig.formatMessage({
|
|
5287
|
+
/* @__PURE__ */ jsx(Link$1, { onClick: clearSelection, children: intlConfig.formatMessage({
|
|
5286
5288
|
id: "c4r.widgets.category.clear"
|
|
5287
5289
|
}) })
|
|
5288
5290
|
]
|