@carto/meridian-ds 4.4.0 → 4.4.1-alpha.024ee4e.329
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 +3 -0
- package/dist/components/index.cjs +643 -395
- package/dist/components/index.js +572 -324
- package/dist/fonts/inter/Inter-Medium.woff2 +0 -0
- package/dist/fonts/inter/Inter-Regular.woff2 +0 -0
- package/dist/fonts/inter/Inter-SemiBold.woff2 +0 -0
- package/dist/fonts/overpass-mono/OverpassMono-Regular.woff2 +0 -0
- package/dist/fonts/overpass-mono/OverpassMono-SemiBold.woff2 +0 -0
- package/dist/icons-screenshot.webp +0 -0
- package/dist/metadata.json +229 -229
- package/dist/palette-utils-CGE9j8_H.js +398 -0
- package/dist/palette-utils-Cza0wkfu.cjs +414 -0
- package/dist/theme/index.cjs +487 -234
- package/dist/theme/index.js +465 -212
- package/dist/types/components/AccordionGroup/AccordionGroup.stories.d.ts.map +1 -1
- package/dist/types/components/Alert/Alert.stories.d.ts.map +1 -1
- package/dist/types/components/AppBar/AppBar.stories.d.ts.map +1 -1
- package/dist/types/components/Autocomplete/Autocomplete/Autocomplete.d.ts +1 -1
- package/dist/types/components/Autocomplete/Autocomplete/Autocomplete.d.ts.map +1 -1
- package/dist/types/components/Autocomplete/Autocomplete/Autocomplete.figma.d.ts.map +1 -1
- package/dist/types/components/Autocomplete/Autocomplete/Autocomplete.metadata.d.ts.map +1 -1
- package/dist/types/components/Autocomplete/Autocomplete/Autocomplete.stories.d.ts +20 -1
- package/dist/types/components/Autocomplete/Autocomplete/Autocomplete.stories.d.ts.map +1 -1
- package/dist/types/components/Autocomplete/AutocompleteList/AutocompleteList.d.ts +2 -2
- package/dist/types/components/Autocomplete/AutocompleteList/AutocompleteList.d.ts.map +1 -1
- package/dist/types/components/Autocomplete/CreatableAutocomplete/CreatableAutocomplete.d.ts +1 -1
- package/dist/types/components/Autocomplete/CreatableAutocomplete/CreatableAutocomplete.d.ts.map +1 -1
- package/dist/types/components/Autocomplete/CreatableAutocomplete/CreatableAutocomplete.stories.d.ts +1 -1
- package/dist/types/components/Autocomplete/CreatableAutocomplete/CreatableAutocomplete.stories.d.ts.map +1 -1
- package/dist/types/components/Autocomplete/MultipleAutocomplete/MultipleAutocomplete.d.ts +1 -1
- package/dist/types/components/Autocomplete/MultipleAutocomplete/MultipleAutocomplete.d.ts.map +1 -1
- package/dist/types/components/Autocomplete/MultipleAutocomplete/MultipleAutocomplete.stories.d.ts +1 -1
- package/dist/types/components/Autocomplete/MultipleAutocomplete/MultipleAutocomplete.stories.d.ts.map +1 -1
- package/dist/types/components/Autocomplete/MultipleAutocomplete/useMultipleAutocomplete.d.ts +1 -1
- package/dist/types/components/Autocomplete/test-utils/autocomplete-test-utils.d.ts +1 -1
- package/dist/types/components/Autocomplete/types.d.ts +1 -1
- package/dist/types/components/Autocomplete/types.d.ts.map +1 -1
- package/dist/types/components/Autocomplete/utils/utils.d.ts +8 -8
- package/dist/types/components/Autocomplete/utils/utils.d.ts.map +1 -1
- package/dist/types/components/Avatar/Avatar.stories.d.ts.map +1 -1
- package/dist/types/components/Button/Button.d.ts +19 -8
- package/dist/types/components/Button/Button.d.ts.map +1 -1
- package/dist/types/components/Button/Button.stories.d.ts +3 -1
- package/dist/types/components/Button/Button.stories.d.ts.map +1 -1
- package/dist/types/components/ChipGroup/ChipGroup.stories.d.ts.map +1 -1
- package/dist/types/components/CodeArea/CodeAreaDialog/CodeAreaDialog.stories.d.ts.map +1 -1
- package/dist/types/components/CodeArea/CodeAreaField/CodeAreaField.stories.d.ts.map +1 -1
- package/dist/types/components/CodeArea/CodeAreaHeader/CodeAreaHeader.d.ts.map +1 -1
- package/dist/types/components/CopiableComponent/CopiableComponent.stories.d.ts.map +1 -1
- package/dist/types/components/CopiableInputText/CopiableInputText.d.ts +2 -2
- package/dist/types/components/CopiableInputText/CopiableInputText.d.ts.map +1 -1
- package/dist/types/components/CopiableInputText/CopiableInputText.stories.d.ts +2 -2
- package/dist/types/components/CopiableInputText/CopiableInputText.stories.d.ts.map +1 -1
- package/dist/types/components/DatePickers/DateCalendar.stories.d.ts +9 -9
- package/dist/types/components/DatePickers/DateCalendar.stories.d.ts.map +1 -1
- package/dist/types/components/DatePickers/DatePicker/DatePicker.d.ts +1 -1
- package/dist/types/components/DatePickers/DatePicker/DatePicker.d.ts.map +1 -1
- package/dist/types/components/DatePickers/DatePicker/DatePicker.stories.d.ts +11 -10
- package/dist/types/components/DatePickers/DatePicker/DatePicker.stories.d.ts.map +1 -1
- package/dist/types/components/DatePickers/DateRangeCalendar/DateRangeCalendar.d.ts +1 -1
- package/dist/types/components/DatePickers/DateRangeCalendar/DateRangeCalendar.d.ts.map +1 -1
- package/dist/types/components/DatePickers/DateRangeCalendar/DateRangeCalendar.stories.d.ts +15 -12
- package/dist/types/components/DatePickers/DateRangeCalendar/DateRangeCalendar.stories.d.ts.map +1 -1
- package/dist/types/components/DatePickers/DateRangePicker/DateRangePicker.d.ts +1 -1
- package/dist/types/components/DatePickers/DateRangePicker/DateRangePicker.d.ts.map +1 -1
- package/dist/types/components/DatePickers/DateRangePicker/DateRangePicker.stories.d.ts +11 -10
- package/dist/types/components/DatePickers/DateRangePicker/DateRangePicker.stories.d.ts.map +1 -1
- package/dist/types/components/DatePickers/DateTimePicker/DateTimePicker.d.ts +1 -1
- package/dist/types/components/DatePickers/DateTimePicker/DateTimePicker.d.ts.map +1 -1
- package/dist/types/components/DatePickers/DateTimePicker/DateTimePicker.stories.d.ts +12 -12
- package/dist/types/components/DatePickers/DateTimePicker/DateTimePicker.stories.d.ts.map +1 -1
- package/dist/types/components/DatePickers/PickerDay/PickerDay.d.ts +4 -0
- package/dist/types/components/DatePickers/PickerDay/PickerDay.d.ts.map +1 -0
- package/dist/types/components/DatePickers/PickerDay/PickerDay.test.d.ts +2 -0
- package/dist/types/components/DatePickers/PickerDay/PickerDay.test.d.ts.map +1 -0
- package/dist/types/components/DatePickers/TimePicker/TimePicker.d.ts +1 -1
- package/dist/types/components/DatePickers/TimePicker/TimePicker.d.ts.map +1 -1
- package/dist/types/components/DatePickers/TimePicker/TimePicker.stories.d.ts +12 -12
- package/dist/types/components/DatePickers/TimePicker/TimePicker.stories.d.ts.map +1 -1
- package/dist/types/components/DatePickers/types.d.ts +23 -17
- package/dist/types/components/DatePickers/types.d.ts.map +1 -1
- package/dist/types/components/Dialog/Dialog/Dialog.d.ts.map +1 -1
- package/dist/types/components/Dialog/Dialog/Dialog.stories.d.ts.map +1 -1
- package/dist/types/components/Dialog/DialogHeader/DialogHeader.stories.d.ts.map +1 -1
- package/dist/types/components/Dialog/DialogPaper/DialogPaper.d.ts +1 -1
- package/dist/types/components/Dialog/DialogPaper/DialogPaper.d.ts.map +1 -1
- package/dist/types/components/EllipsisWithTooltip/EllipsisWithTooltip.stories.d.ts +9 -9
- package/dist/types/components/EllipsisWithTooltip/EllipsisWithTooltip.stories.d.ts.map +1 -1
- package/dist/types/components/EmptyState/EmptyState.d.ts.map +1 -1
- package/dist/types/components/FilterDropdown/FilterDropdown.d.ts +1 -1
- package/dist/types/components/FilterDropdown/FilterDropdown.d.ts.map +1 -1
- package/dist/types/components/FilterDropdown/FilterDropdown.stories.d.ts.map +1 -1
- package/dist/types/components/FilterDropdown/FilterDropdownMenuItem/FilterDropdownMenuItem.d.ts.map +1 -1
- package/dist/types/components/FilterDropdown/types.d.ts +2 -1
- package/dist/types/components/FilterDropdown/types.d.ts.map +1 -1
- package/dist/types/components/IconButton/IconButton.d.ts.map +1 -1
- package/dist/types/components/IconButton/IconButton.stories.d.ts.map +1 -1
- package/dist/types/components/IconWrapper/IconWrapper.stories.d.ts.map +1 -1
- package/dist/types/components/LabelWithIndicator/LabelWithIndicator.stories.d.ts.map +1 -1
- package/dist/types/components/Link/Link.d.ts +18 -4
- package/dist/types/components/Link/Link.d.ts.map +1 -1
- package/dist/types/components/Link/Link.stories.d.ts +3 -2
- package/dist/types/components/Link/Link.stories.d.ts.map +1 -1
- package/dist/types/components/List/ListItem/ListItem.stories.d.ts.map +1 -1
- package/dist/types/components/List/ListItemRightContent/ListItemRightContent.d.ts.map +1 -1
- package/dist/types/components/List/ListItemText/ListItemText.d.ts.map +1 -1
- package/dist/types/components/List/ListSubheader/ListSubheader.d.ts.map +1 -1
- package/dist/types/components/Loader/Loader.d.ts.map +1 -1
- package/dist/types/components/Loader/Loader.stories.d.ts +5 -3
- package/dist/types/components/Loader/Loader.stories.d.ts.map +1 -1
- package/dist/types/components/Menu/Menu/Menu.d.ts.map +1 -1
- package/dist/types/components/Menu/Menu/Menu.stories.d.ts +24 -12
- package/dist/types/components/Menu/Menu/Menu.stories.d.ts.map +1 -1
- package/dist/types/components/Menu/MenuItem/MenuItem.d.ts +1 -1
- package/dist/types/components/Menu/MenuItem/MenuItem.d.ts.map +1 -1
- package/dist/types/components/MessageField/MessageField.d.ts.map +1 -1
- package/dist/types/components/MessageField/MessageField.stories.d.ts.map +1 -1
- package/dist/types/components/MessageField/MessageField.styled.d.ts +1 -1
- package/dist/types/components/MessageField/components/MessageFieldFooter.d.ts.map +1 -1
- package/dist/types/components/PasswordField/PasswordField.d.ts +2 -2
- package/dist/types/components/PasswordField/PasswordField.d.ts.map +1 -1
- package/dist/types/components/PasswordField/PasswordField.stories.d.ts +2 -2
- package/dist/types/components/PasswordField/PasswordField.stories.d.ts.map +1 -1
- package/dist/types/components/SearchField/SearchField.d.ts.map +1 -1
- package/dist/types/components/SearchField/SearchField.stories.d.ts.map +1 -1
- package/dist/types/components/SearchField/SearchField.styled.d.ts +2 -2
- package/dist/types/components/SearchField/types.d.ts +2 -0
- package/dist/types/components/SearchField/types.d.ts.map +1 -1
- package/dist/types/components/SelectField/MultipleSelectField/MultipleSelectField.d.ts.map +1 -1
- package/dist/types/components/SelectField/MultipleSelectField/MultipleSelectField.stories.d.ts.map +1 -1
- package/dist/types/components/SelectField/SelectField/SelectField.d.ts +1 -1
- package/dist/types/components/SelectField/SelectField/SelectField.d.ts.map +1 -1
- package/dist/types/components/SelectField/SelectField/SelectField.stories.d.ts +1 -1
- package/dist/types/components/SelectField/SelectField/SelectField.stories.d.ts.map +1 -1
- package/dist/types/components/Snackbar/Snackbar.stories.d.ts.map +1 -1
- package/dist/types/components/SplitButton/SplitButton.stories.d.ts.map +1 -1
- package/dist/types/components/TablePaginationActions/TablePaginationActions.stories.d.ts.map +1 -1
- package/dist/types/components/Tag/Tag.stories.d.ts.map +1 -1
- package/dist/types/components/ToggleButtonGroup/ToggleButtonGroup.stories.d.ts.map +1 -1
- package/dist/types/components/TooltipData/TooltipData.stories.d.ts.map +1 -1
- package/dist/types/components/Typography/Typography.d.ts +16 -4
- package/dist/types/components/Typography/Typography.d.ts.map +1 -1
- package/dist/types/components/Typography/Typography.stories.d.ts +7 -5
- package/dist/types/components/Typography/Typography.stories.d.ts.map +1 -1
- package/dist/types/components/UploadField/UploadField.d.ts.map +1 -1
- package/dist/types/components/UploadField/UploadField.stories.d.ts.map +1 -1
- package/dist/types/components/UploadField/UploadField.styled.d.ts +1 -1
- package/dist/types/components/UploadField/UploadFieldBase.d.ts.map +1 -1
- package/dist/types/custom-icons/__docs__/CustomIcons.stories.d.ts.map +1 -1
- package/dist/types/theme/base-theme-options.d.ts +2 -1764
- package/dist/types/theme/base-theme-options.d.ts.map +1 -1
- package/dist/types/theme/carto-theme.d.ts +2 -4258
- package/dist/types/theme/carto-theme.d.ts.map +1 -1
- package/dist/types/theme/components/buttons.d.ts.map +1 -1
- package/dist/types/theme/components/data-display.d.ts.map +1 -1
- package/dist/types/theme/components/date-pickers.d.ts.map +1 -1
- package/dist/types/theme/components/forms.d.ts.map +1 -1
- package/dist/types/theme/components/navigation.d.ts.map +1 -1
- package/dist/types/theme/components/stories/ButtonGroup.stories.d.ts.map +1 -1
- package/dist/types/theme/components/stories/Checkbox.stories.d.ts.map +1 -1
- package/dist/types/theme/components/stories/Chip.stories.d.ts.map +1 -1
- package/dist/types/theme/components/stories/Divider.stories.d.ts +3 -16
- package/dist/types/theme/components/stories/Divider.stories.d.ts.map +1 -1
- package/dist/types/theme/components/stories/FAB.stories.d.ts.map +1 -1
- package/dist/types/theme/components/stories/InputLabel.stories.d.ts.map +1 -1
- package/dist/types/theme/components/stories/LinearProgress.stories.d.ts.map +1 -1
- package/dist/types/theme/components/stories/Paper.stories.d.ts.map +1 -1
- package/dist/types/theme/components/stories/Radio.stories.d.ts.map +1 -1
- package/dist/types/theme/components/stories/Slider.stories.d.ts +1 -1
- package/dist/types/theme/components/stories/Slider.stories.d.ts.map +1 -1
- package/dist/types/theme/components/stories/Switch.stories.d.ts.map +1 -1
- package/dist/types/theme/components/stories/Tabs.stories.d.ts +12 -0
- package/dist/types/theme/components/stories/Tabs.stories.d.ts.map +1 -1
- package/dist/types/theme/components/stories/TextArea.stories.d.ts.map +1 -1
- package/dist/types/theme/components/stories/TextField.stories.d.ts.map +1 -1
- package/dist/types/theme/components/stories/ToggleButton.stories.d.ts.map +1 -1
- package/dist/types/theme/components/stories/Tooltip.stories.d.ts +10 -0
- package/dist/types/theme/components/stories/Tooltip.stories.d.ts.map +1 -1
- package/dist/types/theme/css-baseline.d.ts +2 -904
- package/dist/types/theme/css-baseline.d.ts.map +1 -1
- package/dist/types/theme/tokens/ColorTokens.stories.d.ts.map +1 -1
- package/dist/types/theme/tokens/LayoutTokens.stories.d.ts.map +1 -1
- package/dist/types/theme/tokens/TypographyTokens.stories.d.ts.map +1 -1
- package/dist/types/theme/tokens/typography.d.ts +2 -1705
- package/dist/types/theme/tokens/typography.d.ts.map +1 -1
- package/dist/types/theme/types.d.ts +29 -9
- package/dist/types/theme/types.d.ts.map +1 -1
- package/dist/types/utils/palette-path.d.ts +13 -0
- package/dist/types/utils/palette-path.d.ts.map +1 -0
- package/dist/types/utils/palette-path.test.d.ts +2 -0
- package/dist/types/utils/palette-path.test.d.ts.map +1 -0
- package/dist/types/utils/slot-props-utils.d.ts +13 -0
- package/dist/types/utils/slot-props-utils.d.ts.map +1 -0
- package/dist/types/widgets/SkeletonWidgets.d.ts +4 -4
- package/dist/types/widgets/legend/LegendLayer.d.ts.map +1 -1
- package/dist/types/widgets/legend/LegendLayerTitle.d.ts.map +1 -1
- package/dist/types/widgets/legend/LegendLayerVariable.d.ts.map +1 -1
- package/dist/types/widgets/legend/LegendOpacityControl.d.ts.map +1 -1
- package/dist/types/widgets/legend/LegendWidgetUI.d.ts.map +1 -1
- package/dist/types/widgets/legend/LegendWidgetUI.styles.d.ts +2 -2
- package/dist/types/widgets/legend/legend-types/LegendCategories.d.ts.map +1 -1
- package/dist/types/widgets/legend/legend-types/LegendRamp.d.ts.map +1 -1
- package/dist/{TablePaginationActions-BJS_RrOa.cjs → utils-D4zfQQdi.cjs} +16 -14
- package/dist/{TablePaginationActions-DQx-xT-a.js → utils-ti8hgJ5Q.js} +16 -14
- package/dist/widgets/index.cjs +172 -93
- package/dist/widgets/index.js +172 -93
- package/package.json +38 -33
- package/dist/palette-utils-C8uRrL9Q.cjs +0 -1152
- package/dist/palette-utils-nq8gri_k.js +0 -1136
- package/dist/types/components/DatePickers/PickersDay/PickersDay.d.ts +0 -4
- package/dist/types/components/DatePickers/PickersDay/PickersDay.d.ts.map +0 -1
- package/dist/types/components/DatePickers/PickersDay/PickersDay.test.d.ts +0 -2
- package/dist/types/components/DatePickers/PickersDay/PickersDay.test.d.ts.map +0 -1
|
@@ -3,11 +3,11 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
|
3
3
|
const jsxRuntime = require("react/jsx-runtime");
|
|
4
4
|
const React = require("react");
|
|
5
5
|
const material = require("@mui/material");
|
|
6
|
-
const paletteUtils = require("../palette-utils-
|
|
6
|
+
const paletteUtils = require("../palette-utils-Cza0wkfu.cjs");
|
|
7
7
|
const iconsMaterial = require("@mui/icons-material");
|
|
8
8
|
const ArrowDown = require("../ArrowDown-84Oc8r9k.cjs");
|
|
9
9
|
const ReactWindow = require("react-window");
|
|
10
|
-
const
|
|
10
|
+
const utils = require("../utils-D4zfQQdi.cjs");
|
|
11
11
|
const Search = require("../Search-BsaXrSzs.cjs");
|
|
12
12
|
require("cartocolor");
|
|
13
13
|
const reactCodemirror2 = require("react-codemirror2");
|
|
@@ -72,20 +72,7 @@ const ScreenReaderOnly = material.styled("span")(() => ({
|
|
|
72
72
|
whiteSpace: "nowrap",
|
|
73
73
|
border: 0
|
|
74
74
|
}));
|
|
75
|
-
const
|
|
76
|
-
position: "absolute",
|
|
77
|
-
top: 0,
|
|
78
|
-
left: 0,
|
|
79
|
-
right: 0,
|
|
80
|
-
bottom: 0,
|
|
81
|
-
display: "flex",
|
|
82
|
-
alignItems: "center",
|
|
83
|
-
justifyContent: "center"
|
|
84
|
-
});
|
|
85
|
-
const HiddenText = material.styled(material.Box)({
|
|
86
|
-
visibility: "hidden",
|
|
87
|
-
pointerEvents: "none"
|
|
88
|
-
});
|
|
75
|
+
const loadingIndicator = /* @__PURE__ */ jsxRuntime.jsx(material.CircularProgress, { size: 18, color: "inherit" });
|
|
89
76
|
function _Button({
|
|
90
77
|
children,
|
|
91
78
|
loading,
|
|
@@ -99,50 +86,21 @@ function _Button({
|
|
|
99
86
|
"aria-describedby": ariaDescribedby,
|
|
100
87
|
...otherProps
|
|
101
88
|
}, ref) {
|
|
102
|
-
const screenReaderTextValue =
|
|
89
|
+
const screenReaderTextValue = utils.useTranslationWithFallback(
|
|
103
90
|
"c4r.button.opensInNewTab",
|
|
104
91
|
screenReaderText
|
|
105
92
|
);
|
|
106
|
-
const defaultIconLoader = /* @__PURE__ */ jsxRuntime.jsx(material.CircularProgress, { size: 18, color: "inherit" });
|
|
107
|
-
const isDefaultLoading = loading && loadingPosition === void 0;
|
|
108
93
|
const isExternalLink = otherProps.href && external;
|
|
109
|
-
const
|
|
110
|
-
if (isDefaultLoading) {
|
|
111
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(material.Box, { sx: { position: "relative" }, children: [
|
|
112
|
-
/* @__PURE__ */ jsxRuntime.jsx(IndicatorIcon, { children: defaultIconLoader }),
|
|
113
|
-
/* @__PURE__ */ jsxRuntime.jsx(HiddenText, { children })
|
|
114
|
-
] });
|
|
115
|
-
}
|
|
116
|
-
if (isExternalLink) {
|
|
117
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
118
|
-
children,
|
|
119
|
-
/* @__PURE__ */ jsxRuntime.jsx(ScreenReaderOnly, { id: "external-hint", children: screenReaderTextValue })
|
|
120
|
-
] });
|
|
121
|
-
}
|
|
122
|
-
return children;
|
|
123
|
-
};
|
|
124
|
-
const getIconForPosition = (position) => {
|
|
125
|
-
if (isDefaultLoading) {
|
|
126
|
-
return void 0;
|
|
127
|
-
}
|
|
128
|
-
if (loading && loadingPosition !== void 0) {
|
|
129
|
-
if (loadingPosition === position) {
|
|
130
|
-
return defaultIconLoader;
|
|
131
|
-
}
|
|
132
|
-
return void 0;
|
|
133
|
-
}
|
|
134
|
-
if (position === "start") {
|
|
135
|
-
return startIcon;
|
|
136
|
-
} else {
|
|
137
|
-
return endIcon || (isExternalLink && showExternalIcon ? /* @__PURE__ */ jsxRuntime.jsx(iconsMaterial.OpenInNewOutlined, {}) : void 0);
|
|
138
|
-
}
|
|
139
|
-
};
|
|
94
|
+
const isCenterLoading = loading && loadingPosition === void 0;
|
|
140
95
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
141
96
|
material.Button,
|
|
142
97
|
{
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
98
|
+
loading,
|
|
99
|
+
loadingPosition,
|
|
100
|
+
loadingIndicator,
|
|
101
|
+
disabled,
|
|
102
|
+
startIcon: loading ? void 0 : startIcon,
|
|
103
|
+
endIcon: loading ? void 0 : endIcon || (isExternalLink && showExternalIcon ? /* @__PURE__ */ jsxRuntime.jsx(iconsMaterial.OpenInNewOutlined, {}) : void 0),
|
|
146
104
|
...otherProps,
|
|
147
105
|
role: otherProps.href ? "link" : "button",
|
|
148
106
|
...isExternalLink && {
|
|
@@ -151,11 +109,25 @@ function _Button({
|
|
|
151
109
|
},
|
|
152
110
|
ref,
|
|
153
111
|
"aria-describedby": isExternalLink ? "external-hint" : ariaDescribedby,
|
|
154
|
-
children: /* @__PURE__ */ jsxRuntime.
|
|
112
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
113
|
+
paletteUtils.Typography,
|
|
114
|
+
{
|
|
115
|
+
variant: "inherit",
|
|
116
|
+
color: "inherit",
|
|
117
|
+
noWrap: true,
|
|
118
|
+
component: "span",
|
|
119
|
+
sx: isCenterLoading ? { visibility: "hidden" } : void 0,
|
|
120
|
+
children: [
|
|
121
|
+
children,
|
|
122
|
+
isExternalLink && /* @__PURE__ */ jsxRuntime.jsx(ScreenReaderOnly, { id: "external-hint", children: screenReaderTextValue })
|
|
123
|
+
]
|
|
124
|
+
}
|
|
125
|
+
)
|
|
155
126
|
}
|
|
156
127
|
);
|
|
157
128
|
}
|
|
158
129
|
const Button = React.forwardRef(_Button);
|
|
130
|
+
Button.displayName = "Button";
|
|
159
131
|
const idCounter = {};
|
|
160
132
|
function uniqueId(prefix = "$lodash$") {
|
|
161
133
|
if (!idCounter[prefix]) {
|
|
@@ -187,7 +159,7 @@ function SplitButton({
|
|
|
187
159
|
...otherProps
|
|
188
160
|
}) {
|
|
189
161
|
var _a;
|
|
190
|
-
const toggleLabel =
|
|
162
|
+
const toggleLabel = utils.useTranslationWithFallback(
|
|
191
163
|
"c4r.button.showOptions",
|
|
192
164
|
toggleAriaLabel
|
|
193
165
|
);
|
|
@@ -356,24 +328,56 @@ function _LabelWithIndicator({
|
|
|
356
328
|
}
|
|
357
329
|
const LabelWithIndicator = React.forwardRef(_LabelWithIndicator);
|
|
358
330
|
function _PasswordField({
|
|
359
|
-
InputProps,
|
|
360
331
|
size = "small",
|
|
361
332
|
disabled,
|
|
362
333
|
showPasswordText,
|
|
363
334
|
hidePasswordText,
|
|
335
|
+
slotProps,
|
|
364
336
|
...otherProps
|
|
365
337
|
}, ref) {
|
|
366
|
-
const showPasswordLabel =
|
|
338
|
+
const showPasswordLabel = utils.useTranslationWithFallback(
|
|
367
339
|
"c4r.form.showPassword",
|
|
368
340
|
showPasswordText
|
|
369
341
|
);
|
|
370
|
-
const hidePasswordLabel =
|
|
342
|
+
const hidePasswordLabel = utils.useTranslationWithFallback(
|
|
371
343
|
"c4r.form.hidePassword",
|
|
372
344
|
hidePasswordText
|
|
373
345
|
);
|
|
374
346
|
const [showPassword, setShowPassword] = React.useState(false);
|
|
375
347
|
const handleClickShowPassword = () => setShowPassword(!showPassword);
|
|
376
348
|
const label = showPassword ? hidePasswordLabel : showPasswordLabel;
|
|
349
|
+
const consumerInput = slotProps == null ? void 0 : slotProps.input;
|
|
350
|
+
const consumerHtmlInput = slotProps == null ? void 0 : slotProps.htmlInput;
|
|
351
|
+
const buildInputSlotProps = ({
|
|
352
|
+
input,
|
|
353
|
+
htmlInput
|
|
354
|
+
}) => ({
|
|
355
|
+
...input,
|
|
356
|
+
inputProps: {
|
|
357
|
+
...htmlInput,
|
|
358
|
+
...input == null ? void 0 : input.inputProps,
|
|
359
|
+
role: "textbox"
|
|
360
|
+
},
|
|
361
|
+
endAdornment: /* @__PURE__ */ jsxRuntime.jsx(material.InputAdornment, { position: "end", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
362
|
+
utils.IconButton,
|
|
363
|
+
{
|
|
364
|
+
size,
|
|
365
|
+
disabled,
|
|
366
|
+
onClick: handleClickShowPassword,
|
|
367
|
+
icon: showPassword ? /* @__PURE__ */ jsxRuntime.jsx(iconsMaterial.VisibilityOffOutlined, {}) : /* @__PURE__ */ jsxRuntime.jsx(iconsMaterial.VisibilityOutlined, {}),
|
|
368
|
+
tooltip: label,
|
|
369
|
+
"aria-label": label
|
|
370
|
+
}
|
|
371
|
+
) })
|
|
372
|
+
});
|
|
373
|
+
const resolve = (value, ownerState) => typeof value === "function" ? value(ownerState) : value;
|
|
374
|
+
const inputSlotProps = typeof consumerInput === "function" || typeof consumerHtmlInput === "function" ? (ownerState) => buildInputSlotProps({
|
|
375
|
+
input: resolve(consumerInput, ownerState),
|
|
376
|
+
htmlInput: resolve(consumerHtmlInput, ownerState)
|
|
377
|
+
}) : buildInputSlotProps({
|
|
378
|
+
input: consumerInput,
|
|
379
|
+
htmlInput: consumerHtmlInput
|
|
380
|
+
});
|
|
377
381
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
378
382
|
material.TextField,
|
|
379
383
|
{
|
|
@@ -382,25 +386,11 @@ function _PasswordField({
|
|
|
382
386
|
type: showPassword ? "text" : "password",
|
|
383
387
|
size,
|
|
384
388
|
disabled,
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
},
|
|
391
|
-
endAdornment: /* @__PURE__ */ jsxRuntime.jsx(material.InputAdornment, { position: "end", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
392
|
-
TablePaginationActions.IconButton,
|
|
393
|
-
{
|
|
394
|
-
size,
|
|
395
|
-
disabled,
|
|
396
|
-
onClick: handleClickShowPassword,
|
|
397
|
-
icon: showPassword ? /* @__PURE__ */ jsxRuntime.jsx(iconsMaterial.VisibilityOffOutlined, {}) : /* @__PURE__ */ jsxRuntime.jsx(iconsMaterial.VisibilityOutlined, {}),
|
|
398
|
-
tooltip: label,
|
|
399
|
-
"aria-label": label
|
|
400
|
-
}
|
|
401
|
-
) })
|
|
402
|
-
},
|
|
403
|
-
"data-name": "password-field"
|
|
389
|
+
"data-name": "password-field",
|
|
390
|
+
slotProps: {
|
|
391
|
+
...slotProps,
|
|
392
|
+
input: inputSlotProps
|
|
393
|
+
}
|
|
404
394
|
}
|
|
405
395
|
);
|
|
406
396
|
}
|
|
@@ -412,7 +402,7 @@ const StyledSelect = material.styled(material.Select)(({ theme }) => ({
|
|
|
412
402
|
paddingLeft: theme.spacing(1.5)
|
|
413
403
|
}
|
|
414
404
|
},
|
|
415
|
-
"
|
|
405
|
+
"&.MuiInputBase-adornedStart > .MuiInputBase-input": {
|
|
416
406
|
paddingLeft: "0px !important"
|
|
417
407
|
},
|
|
418
408
|
"& .MuiSelect-select .MuiMenuItem-root:hover": {
|
|
@@ -443,11 +433,16 @@ function _SelectField({
|
|
|
443
433
|
fullWidth,
|
|
444
434
|
required,
|
|
445
435
|
"aria-label": ariaLabel,
|
|
436
|
+
SelectDisplayProps,
|
|
446
437
|
...otherProps
|
|
447
438
|
}, ref) {
|
|
448
439
|
const isSmall = size === "small";
|
|
449
440
|
const [defaultId] = React.useState(() => uniqueId("select-label-"));
|
|
450
441
|
const ariaLabelledBy = label ? labelId ?? defaultId : void 0;
|
|
442
|
+
const [fallbackDisplayId] = React.useState(() => uniqueId("select-value-"));
|
|
443
|
+
const displayId = (SelectDisplayProps == null ? void 0 : SelectDisplayProps.id) ?? (name ? `mui-component-select-${name}` : fallbackDisplayId);
|
|
444
|
+
const isUnnamed = !ariaLabelledBy && !ariaLabel;
|
|
445
|
+
const selfLabelProps = isUnnamed ? { id: displayId, "aria-labelledby": displayId } : void 0;
|
|
451
446
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
452
447
|
material.FormControl,
|
|
453
448
|
{
|
|
@@ -460,23 +455,49 @@ function _SelectField({
|
|
|
460
455
|
"data-name": "select-field",
|
|
461
456
|
"data-size": size,
|
|
462
457
|
children: [
|
|
463
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
458
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
459
|
+
material.Box,
|
|
460
|
+
{
|
|
461
|
+
sx: {
|
|
462
|
+
display: "flex",
|
|
463
|
+
alignItems: "center",
|
|
464
|
+
justifyContent: "space-between"
|
|
465
|
+
},
|
|
466
|
+
children: [
|
|
467
|
+
label && /* @__PURE__ */ jsxRuntime.jsx(material.InputLabel, { shrink: true, id: ariaLabelledBy, children: label }),
|
|
468
|
+
labelSecondary && /* @__PURE__ */ jsxRuntime.jsx(
|
|
469
|
+
material.Box,
|
|
470
|
+
{
|
|
471
|
+
sx: {
|
|
472
|
+
display: "flex",
|
|
473
|
+
alignItems: "center",
|
|
474
|
+
ml: 2,
|
|
475
|
+
mb: 0.5
|
|
476
|
+
},
|
|
477
|
+
children: labelSecondary
|
|
478
|
+
}
|
|
479
|
+
)
|
|
480
|
+
]
|
|
481
|
+
}
|
|
482
|
+
),
|
|
467
483
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
468
484
|
StyledSelect,
|
|
469
485
|
{
|
|
470
486
|
...otherProps,
|
|
471
487
|
labelId: ariaLabelledBy,
|
|
472
488
|
name,
|
|
489
|
+
SelectDisplayProps: { ...selfLabelProps, ...SelectDisplayProps },
|
|
473
490
|
ref,
|
|
474
491
|
size,
|
|
475
492
|
fullWidth,
|
|
476
493
|
displayEmpty: displayEmpty ?? !!placeholder,
|
|
477
494
|
inputProps: {
|
|
478
495
|
...inputProps,
|
|
479
|
-
|
|
496
|
+
// Written only when set: an unconditional key means an *absent*
|
|
497
|
+
// `aria-label` prop overwrites one the caller put in `inputProps`.
|
|
498
|
+
// When both are given the dedicated prop still wins — it is the
|
|
499
|
+
// documented API, and that ranking is unchanged.
|
|
500
|
+
...ariaLabel !== void 0 && { "aria-label": ariaLabel }
|
|
480
501
|
},
|
|
481
502
|
MenuProps: {
|
|
482
503
|
...menuProps,
|
|
@@ -497,7 +518,7 @@ function _SelectField({
|
|
|
497
518
|
paletteUtils.Typography,
|
|
498
519
|
{
|
|
499
520
|
variant: isSmall ? "body2" : "body1",
|
|
500
|
-
color: "
|
|
521
|
+
color: "textHint",
|
|
501
522
|
component: "span",
|
|
502
523
|
children: placeholder
|
|
503
524
|
}
|
|
@@ -573,7 +594,7 @@ function useMultipleSelectField({
|
|
|
573
594
|
unselectAll
|
|
574
595
|
};
|
|
575
596
|
}
|
|
576
|
-
const StyledMenuItem$1 = material.styled(
|
|
597
|
+
const StyledMenuItem$1 = material.styled(utils.MenuItem)(() => ({
|
|
577
598
|
marginTop: "0 !important",
|
|
578
599
|
marginBottom: "0 !important"
|
|
579
600
|
}));
|
|
@@ -599,7 +620,7 @@ function _MenuItemFilter({
|
|
|
599
620
|
"aria-label": ariaLabel,
|
|
600
621
|
"data-testid": dataTestId
|
|
601
622
|
}, ref) {
|
|
602
|
-
const selectAllLabel =
|
|
623
|
+
const selectAllLabel = utils.useTranslationWithFallback(
|
|
603
624
|
"c4r.form.selectAll",
|
|
604
625
|
selectAllText
|
|
605
626
|
);
|
|
@@ -651,7 +672,9 @@ const UnselectButton = material.styled(material.InputAdornment, {
|
|
|
651
672
|
})(({ theme, size }) => ({
|
|
652
673
|
display: "none",
|
|
653
674
|
position: "absolute",
|
|
654
|
-
|
|
675
|
+
// Center vertically regardless of the input's height.
|
|
676
|
+
top: "50%",
|
|
677
|
+
transform: "translateY(-50%)",
|
|
655
678
|
right: theme.spacing(3.5),
|
|
656
679
|
".MuiInputBase-root:hover &, .MuiInputBase-root.Mui-focused &": {
|
|
657
680
|
display: "flex"
|
|
@@ -660,7 +683,6 @@ const UnselectButton = material.styled(material.InputAdornment, {
|
|
|
660
683
|
color: theme.palette.text.hint
|
|
661
684
|
},
|
|
662
685
|
...size === "medium" && {
|
|
663
|
-
top: theme.spacing(3),
|
|
664
686
|
right: theme.spacing(5)
|
|
665
687
|
}
|
|
666
688
|
}));
|
|
@@ -699,15 +721,15 @@ function _MultipleSelectField({
|
|
|
699
721
|
});
|
|
700
722
|
const isSmall = size === "small";
|
|
701
723
|
const paddingSize = isSmall || variant === "standard" ? 0 : 2;
|
|
702
|
-
const allSelectedLabel =
|
|
724
|
+
const allSelectedLabel = utils.useTranslationWithFallback(
|
|
703
725
|
"c4r.form.allSelected",
|
|
704
726
|
allSelectedText
|
|
705
727
|
);
|
|
706
|
-
const noneSelectedLabel =
|
|
728
|
+
const noneSelectedLabel = utils.useTranslationWithFallback(
|
|
707
729
|
"c4r.form.noneSelected",
|
|
708
730
|
noneSelectedText
|
|
709
731
|
);
|
|
710
|
-
const selectedLabel =
|
|
732
|
+
const selectedLabel = utils.useTranslationWithFallback(
|
|
711
733
|
"c4r.form.selected",
|
|
712
734
|
selectedText
|
|
713
735
|
);
|
|
@@ -733,7 +755,7 @@ function _MultipleSelectField({
|
|
|
733
755
|
return { content: currentOptions.join(", ") };
|
|
734
756
|
}
|
|
735
757
|
return {
|
|
736
|
-
color: "
|
|
758
|
+
color: "textHint",
|
|
737
759
|
content: placeholder ?? noneSelectedLabel
|
|
738
760
|
};
|
|
739
761
|
})();
|
|
@@ -743,7 +765,9 @@ function _MultipleSelectField({
|
|
|
743
765
|
component: "span",
|
|
744
766
|
variant: isSmall ? "body2" : "body1",
|
|
745
767
|
color,
|
|
746
|
-
|
|
768
|
+
sx: {
|
|
769
|
+
ml: paddingSize
|
|
770
|
+
},
|
|
747
771
|
children: content
|
|
748
772
|
}
|
|
749
773
|
);
|
|
@@ -776,10 +800,12 @@ function _MultipleSelectField({
|
|
|
776
800
|
variant,
|
|
777
801
|
endAdornment: showFilters && areAnySelected && /* @__PURE__ */ jsxRuntime.jsx(UnselectButton, { position: "end", size, children: /* @__PURE__ */ jsxRuntime.jsx(material.IconButton, { onClick: unselectAll, size, children: /* @__PURE__ */ jsxRuntime.jsx(iconsMaterial.Cancel, {}) }) }),
|
|
778
802
|
menuProps: {
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
803
|
+
slotProps: {
|
|
804
|
+
paper: {
|
|
805
|
+
sx: {
|
|
806
|
+
".MuiList-root": {
|
|
807
|
+
paddingTop: 0
|
|
808
|
+
}
|
|
783
809
|
}
|
|
784
810
|
}
|
|
785
811
|
}
|
|
@@ -872,8 +898,12 @@ function _ToggleButtonGroup({
|
|
|
872
898
|
);
|
|
873
899
|
}
|
|
874
900
|
const ToggleButtonGroup = React.forwardRef(_ToggleButtonGroup);
|
|
875
|
-
const StyledLink = material.styled(material.Link)(() => ({
|
|
876
|
-
display: "inline-block"
|
|
901
|
+
const StyledLink = material.styled(material.Link)(({ theme }) => ({
|
|
902
|
+
display: "inline-block",
|
|
903
|
+
// Meridian's default weight. Kept here rather than in the MuiLink theme key,
|
|
904
|
+
// which would also restyle raw MUI Links, and out of `sx` so a consumer's
|
|
905
|
+
// `sx`/`className` can still win.
|
|
906
|
+
fontWeight: theme.typography.fontWeightMedium
|
|
877
907
|
}));
|
|
878
908
|
const Icon = material.styled("span", {
|
|
879
909
|
shouldForwardProp: (prop) => prop !== "variant" && prop !== "iconPosition"
|
|
@@ -924,27 +954,35 @@ function _Link({
|
|
|
924
954
|
external,
|
|
925
955
|
showExternalIcon = true,
|
|
926
956
|
screenReaderText,
|
|
927
|
-
fontWeight
|
|
957
|
+
fontWeight,
|
|
928
958
|
target,
|
|
929
959
|
rel,
|
|
930
960
|
"aria-describedby": ariaDescribedby,
|
|
931
961
|
...otherProps
|
|
932
962
|
}, ref) {
|
|
933
|
-
const screenReaderTextValue =
|
|
963
|
+
const screenReaderTextValue = utils.useTranslationWithFallback(
|
|
934
964
|
"c4r.button.opensInNewTab",
|
|
935
965
|
screenReaderText
|
|
936
966
|
);
|
|
937
967
|
const isButtonLink = otherProps.component === "button";
|
|
968
|
+
const { sx: consumerSx } = otherProps;
|
|
969
|
+
const usesPalettePath = paletteUtils.isPalettePath(color);
|
|
938
970
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
939
971
|
StyledLink,
|
|
940
972
|
{
|
|
941
973
|
...otherProps,
|
|
942
974
|
variant,
|
|
943
|
-
|
|
944
|
-
|
|
975
|
+
sx: paletteUtils.mergeSx({
|
|
976
|
+
own: [
|
|
977
|
+
fontWeight !== void 0 && { fontWeight },
|
|
978
|
+
usesPalettePath && { color }
|
|
979
|
+
],
|
|
980
|
+
consumer: consumerSx
|
|
981
|
+
}),
|
|
982
|
+
"data-color": usesPalettePath ? void 0 : color,
|
|
945
983
|
"data-name": isButtonLink ? "button-link" : "link",
|
|
946
984
|
role: isButtonLink ? "button" : "link",
|
|
947
|
-
color,
|
|
985
|
+
color: usesPalettePath ? void 0 : color,
|
|
948
986
|
ref,
|
|
949
987
|
target: external ? "_blank" : target,
|
|
950
988
|
rel: external ? "noopener noreferrer" : rel,
|
|
@@ -959,6 +997,7 @@ function _Link({
|
|
|
959
997
|
);
|
|
960
998
|
}
|
|
961
999
|
const Link = React.forwardRef(_Link);
|
|
1000
|
+
Link.displayName = "Link";
|
|
962
1001
|
function _CircularProgress({
|
|
963
1002
|
color = "primary",
|
|
964
1003
|
size = 40,
|
|
@@ -1006,7 +1045,7 @@ function _Loader({
|
|
|
1006
1045
|
sx,
|
|
1007
1046
|
...otherProps
|
|
1008
1047
|
}, ref) {
|
|
1009
|
-
const labelText =
|
|
1048
|
+
const labelText = utils.useTranslationWithFallback("c4r.utils.loader.label", label);
|
|
1010
1049
|
const hasAnyLabel = labelText || secondLabel;
|
|
1011
1050
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1012
1051
|
Wrapper,
|
|
@@ -1028,28 +1067,37 @@ function _Loader({
|
|
|
1028
1067
|
"aria-labelledby": hasAnyLabel ? "loader-label" : void 0
|
|
1029
1068
|
}
|
|
1030
1069
|
),
|
|
1031
|
-
hasAnyLabel && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
|
|
1035
|
-
|
|
1036
|
-
|
|
1037
|
-
|
|
1038
|
-
|
|
1039
|
-
|
|
1040
|
-
|
|
1041
|
-
|
|
1042
|
-
|
|
1043
|
-
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
|
|
1049
|
-
|
|
1050
|
-
|
|
1051
|
-
|
|
1052
|
-
|
|
1070
|
+
hasAnyLabel && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1071
|
+
material.Stack,
|
|
1072
|
+
{
|
|
1073
|
+
direction: "column",
|
|
1074
|
+
sx: {
|
|
1075
|
+
alignItems: "center"
|
|
1076
|
+
},
|
|
1077
|
+
children: [
|
|
1078
|
+
labelText && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1079
|
+
paletteUtils.Typography,
|
|
1080
|
+
{
|
|
1081
|
+
variant: "body2",
|
|
1082
|
+
color: "textSecondary",
|
|
1083
|
+
...labelProps,
|
|
1084
|
+
id: "loader-label",
|
|
1085
|
+
children: labelText
|
|
1086
|
+
}
|
|
1087
|
+
),
|
|
1088
|
+
secondLabel && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1089
|
+
paletteUtils.Typography,
|
|
1090
|
+
{
|
|
1091
|
+
variant: "caption",
|
|
1092
|
+
color: "textSecondary",
|
|
1093
|
+
...secondLabelProps,
|
|
1094
|
+
id: labelText ? void 0 : "loader-label",
|
|
1095
|
+
children: secondLabel
|
|
1096
|
+
}
|
|
1097
|
+
)
|
|
1098
|
+
]
|
|
1099
|
+
}
|
|
1100
|
+
)
|
|
1053
1101
|
]
|
|
1054
1102
|
}
|
|
1055
1103
|
);
|
|
@@ -1089,9 +1137,9 @@ const _CopiableComponent = ({
|
|
|
1089
1137
|
...props
|
|
1090
1138
|
}, ref) => {
|
|
1091
1139
|
const [open, setOpen] = React.useState(false);
|
|
1092
|
-
const _copyText =
|
|
1140
|
+
const _copyText = utils.useTranslationWithFallback("c4r.button.copy", copyText);
|
|
1093
1141
|
const copyTooltipText = copyText === null ? null : _copyText;
|
|
1094
|
-
const copySuccessMessage =
|
|
1142
|
+
const copySuccessMessage = utils.useTranslationWithFallback(
|
|
1095
1143
|
"c4r.notifications.copiedToClipboard",
|
|
1096
1144
|
copiedText
|
|
1097
1145
|
);
|
|
@@ -1123,7 +1171,7 @@ const _CopiableComponent = ({
|
|
|
1123
1171
|
children: [
|
|
1124
1172
|
children,
|
|
1125
1173
|
button && /* @__PURE__ */ jsxRuntime.jsx(
|
|
1126
|
-
|
|
1174
|
+
utils.IconButton,
|
|
1127
1175
|
{
|
|
1128
1176
|
...buttonProps,
|
|
1129
1177
|
disabled,
|
|
@@ -1155,6 +1203,19 @@ const _CopiableComponent = ({
|
|
|
1155
1203
|
] });
|
|
1156
1204
|
};
|
|
1157
1205
|
const CopiableComponent = React.forwardRef(_CopiableComponent);
|
|
1206
|
+
function mergeSlotProps({
|
|
1207
|
+
ownProps,
|
|
1208
|
+
consumerProps
|
|
1209
|
+
}) {
|
|
1210
|
+
if (typeof consumerProps === "function") {
|
|
1211
|
+
const resolveConsumerProps = consumerProps;
|
|
1212
|
+
return (ownerState) => ({
|
|
1213
|
+
...ownProps,
|
|
1214
|
+
...resolveConsumerProps(ownerState)
|
|
1215
|
+
});
|
|
1216
|
+
}
|
|
1217
|
+
return { ...ownProps, ...consumerProps };
|
|
1218
|
+
}
|
|
1158
1219
|
const StyledTextField = material.styled(material.TextField, {
|
|
1159
1220
|
shouldForwardProp: (prop) => !["isInputFocused"].includes(prop)
|
|
1160
1221
|
})(({ isInputFocused }) => ({
|
|
@@ -1184,7 +1245,7 @@ const AdornmentWrapper = material.styled(material.Box, {
|
|
|
1184
1245
|
function _CopiableInputText({
|
|
1185
1246
|
value,
|
|
1186
1247
|
variant,
|
|
1187
|
-
|
|
1248
|
+
slotProps,
|
|
1188
1249
|
extraEndAdornment,
|
|
1189
1250
|
onCopied,
|
|
1190
1251
|
password,
|
|
@@ -1198,11 +1259,11 @@ function _CopiableInputText({
|
|
|
1198
1259
|
const [showPassword, setShowPassword] = React.useState(false);
|
|
1199
1260
|
const [isInputFocused, setIsInputFocused] = React.useState(false);
|
|
1200
1261
|
const inputType = !password ? "text" : showPassword ? "text" : "password";
|
|
1201
|
-
const showTextLabel =
|
|
1262
|
+
const showTextLabel = utils.useTranslationWithFallback(
|
|
1202
1263
|
"c4r.button.show",
|
|
1203
1264
|
showTextProp
|
|
1204
1265
|
);
|
|
1205
|
-
const hideTextLabel =
|
|
1266
|
+
const hideTextLabel = utils.useTranslationWithFallback(
|
|
1206
1267
|
"c4r.button.hide",
|
|
1207
1268
|
hideTextProp
|
|
1208
1269
|
);
|
|
@@ -1216,7 +1277,7 @@ function _CopiableInputText({
|
|
|
1216
1277
|
onBlur == null ? void 0 : onBlur(event);
|
|
1217
1278
|
};
|
|
1218
1279
|
const passwordAdornment = /* @__PURE__ */ jsxRuntime.jsx(material.InputAdornment, { position: "end", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1219
|
-
|
|
1280
|
+
utils.IconButton,
|
|
1220
1281
|
{
|
|
1221
1282
|
edge: variant !== "standard" ? "end" : void 0,
|
|
1222
1283
|
onClick: () => setShowPassword(!showPassword),
|
|
@@ -1234,28 +1295,33 @@ function _CopiableInputText({
|
|
|
1234
1295
|
size,
|
|
1235
1296
|
value,
|
|
1236
1297
|
variant,
|
|
1237
|
-
|
|
1238
|
-
|
|
1239
|
-
|
|
1240
|
-
|
|
1241
|
-
|
|
1242
|
-
|
|
1243
|
-
|
|
1244
|
-
|
|
1245
|
-
|
|
1246
|
-
|
|
1247
|
-
|
|
1248
|
-
|
|
1249
|
-
|
|
1250
|
-
|
|
1251
|
-
|
|
1298
|
+
slotProps: {
|
|
1299
|
+
...slotProps,
|
|
1300
|
+
input: mergeSlotProps({
|
|
1301
|
+
ownProps: {
|
|
1302
|
+
readOnly: true,
|
|
1303
|
+
onFocus: handleFocus,
|
|
1304
|
+
onBlur: handleBlur,
|
|
1305
|
+
endAdornment: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
1306
|
+
password ? passwordAdornment : extraEndAdornment,
|
|
1307
|
+
/* @__PURE__ */ jsxRuntime.jsx(material.InputAdornment, { position: "end", children: /* @__PURE__ */ jsxRuntime.jsx(AdornmentWrapper, { size, variant, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
1308
|
+
CopiableComponent,
|
|
1309
|
+
{
|
|
1310
|
+
value,
|
|
1311
|
+
onCopied,
|
|
1312
|
+
button: true,
|
|
1313
|
+
buttonProps: {
|
|
1314
|
+
size
|
|
1315
|
+
}
|
|
1316
|
+
}
|
|
1317
|
+
) }) })
|
|
1318
|
+
] }),
|
|
1319
|
+
...variant === "filled" && {
|
|
1320
|
+
disableUnderline: true
|
|
1252
1321
|
}
|
|
1253
|
-
|
|
1254
|
-
|
|
1255
|
-
|
|
1256
|
-
disableUnderline: true
|
|
1257
|
-
},
|
|
1258
|
-
...InputProps
|
|
1322
|
+
},
|
|
1323
|
+
consumerProps: slotProps == null ? void 0 : slotProps.input
|
|
1324
|
+
})
|
|
1259
1325
|
},
|
|
1260
1326
|
type: inputType,
|
|
1261
1327
|
"data-name": "copiable-input-text",
|
|
@@ -1265,13 +1331,19 @@ function _CopiableInputText({
|
|
|
1265
1331
|
}
|
|
1266
1332
|
const CopiableInputText = React.forwardRef(_CopiableInputText);
|
|
1267
1333
|
const { FixedSizeList: FixedSizeList$1 } = ReactWindow__namespace;
|
|
1268
|
-
const List$1 = material.styled(
|
|
1269
|
-
|
|
1270
|
-
|
|
1271
|
-
|
|
1272
|
-
|
|
1273
|
-
|
|
1274
|
-
|
|
1334
|
+
const List$1 = material.styled(material.MenuList, {
|
|
1335
|
+
// MenuList is a component, so emotion forwards every prop to it (unlike a
|
|
1336
|
+
// string tag, where invalid HTML attributes are dropped) — `hasFilters` would
|
|
1337
|
+
// reach the underlying <ul>. `ownerState`/`theme`/`sx`/`as` mirror MUI's own
|
|
1338
|
+
// `slotShouldForwardProp`, which a custom `shouldForwardProp` replaces rather
|
|
1339
|
+
// than extends: as Autocomplete's `listbox` slot this receives the
|
|
1340
|
+
// Autocomplete's ownerState, which must not reach MenuList.
|
|
1341
|
+
shouldForwardProp: (prop) => !["ownerState", "theme", "sx", "as", "hasFilters"].includes(prop)
|
|
1342
|
+
})(({ theme, hasFilters }) => ({
|
|
1343
|
+
...!hasFilters && {
|
|
1344
|
+
paddingTop: `${theme.spacing(1)} !important`
|
|
1345
|
+
}
|
|
1346
|
+
}));
|
|
1275
1347
|
const ItemWrapper = material.styled("div")(({ style, theme, isSubtitle, isExtended, isMultiple }) => {
|
|
1276
1348
|
const getSubtitleStyles = () => {
|
|
1277
1349
|
const baseStyles = {
|
|
@@ -1293,9 +1365,15 @@ const ItemWrapper = material.styled("div")(({ style, theme, isSubtitle, isExtend
|
|
|
1293
1365
|
return {
|
|
1294
1366
|
pointerEvents: "none",
|
|
1295
1367
|
// To avoid the extra div to receive the click event
|
|
1368
|
+
// Whatever the row renders as must take the click back. Scoping this to
|
|
1369
|
+
// `.MuiMenuItem-root` only worked when a `renderOption` produced a Meridian
|
|
1370
|
+
// MenuItem; the documented bare usage (`slots={{ listbox: AutocompleteList }}`
|
|
1371
|
+
// with no renderOption) leaves MUI's own `.MuiAutocomplete-option`, which
|
|
1372
|
+
// then inherited `pointer-events: none` and could not be clicked.
|
|
1373
|
+
"& > *": {
|
|
1374
|
+
pointerEvents: "auto"
|
|
1375
|
+
},
|
|
1296
1376
|
"& .MuiMenuItem-root": {
|
|
1297
|
-
pointerEvents: "auto",
|
|
1298
|
-
// Allow pointer events for the menu item
|
|
1299
1377
|
marginTop: 0,
|
|
1300
1378
|
"&:first-of-type": {
|
|
1301
1379
|
marginTop: "0 !important"
|
|
@@ -1450,10 +1528,11 @@ function createCounterRenderTags({
|
|
|
1450
1528
|
getOptionLabel = getDefaultOptionLabel
|
|
1451
1529
|
}) {
|
|
1452
1530
|
const CounterRenderTags = (value) => {
|
|
1453
|
-
|
|
1531
|
+
const selectedItems = Array.isArray(value) ? value : value == null ? [] : [value];
|
|
1532
|
+
if (selectedItems.length === 0) {
|
|
1454
1533
|
return null;
|
|
1455
1534
|
}
|
|
1456
|
-
const selectedCount =
|
|
1535
|
+
const selectedCount = selectedItems.length;
|
|
1457
1536
|
const selectableOptions = options.filter(
|
|
1458
1537
|
(option) => !isAutocompleteListGroupHeader(option)
|
|
1459
1538
|
);
|
|
@@ -1461,7 +1540,7 @@ function createCounterRenderTags({
|
|
|
1461
1540
|
const text = formatCounter({
|
|
1462
1541
|
selectedCount,
|
|
1463
1542
|
totalCount,
|
|
1464
|
-
selectedItems
|
|
1543
|
+
selectedItems,
|
|
1465
1544
|
allItems: selectableOptions,
|
|
1466
1545
|
getOptionLabel
|
|
1467
1546
|
});
|
|
@@ -1540,9 +1619,11 @@ const warnDeprecatedGroupBy = /* @__PURE__ */ (() => {
|
|
|
1540
1619
|
function _Autocomplete({
|
|
1541
1620
|
disabled,
|
|
1542
1621
|
loading,
|
|
1622
|
+
slots,
|
|
1623
|
+
slotProps,
|
|
1543
1624
|
...props
|
|
1544
1625
|
}, ref) {
|
|
1545
|
-
if (props.groupBy &&
|
|
1626
|
+
if (props.groupBy && (slots == null ? void 0 : slots.listbox) === AutocompleteList) {
|
|
1546
1627
|
warnDeprecatedGroupBy("Autocomplete");
|
|
1547
1628
|
}
|
|
1548
1629
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -1553,9 +1634,20 @@ function _Autocomplete({
|
|
|
1553
1634
|
disabled: disabled || loading,
|
|
1554
1635
|
popupIcon: loading ? /* @__PURE__ */ jsxRuntime.jsx(material.CircularProgress, { size: 18, color: "inherit" }) : /* @__PURE__ */ jsxRuntime.jsx(ArrowDown.ForwardedComponent, {}),
|
|
1555
1636
|
"data-name": "autocomplete",
|
|
1556
|
-
|
|
1557
|
-
|
|
1558
|
-
...
|
|
1637
|
+
slots,
|
|
1638
|
+
slotProps: {
|
|
1639
|
+
...slotProps,
|
|
1640
|
+
listbox: mergeSlotProps({
|
|
1641
|
+
ownProps: {
|
|
1642
|
+
"aria-multiselectable": false,
|
|
1643
|
+
component: material.MenuList
|
|
1644
|
+
// `useAutocomplete`'s `singleRenderOption` emits Meridian MenuItems,
|
|
1645
|
+
// and on v9 a MenuItem throws without a MenuListContext. Set through
|
|
1646
|
+
// `component` rather than `slots.listbox`: swapping the slot would
|
|
1647
|
+
// drop the listbox's own styles (max-height/overflow) with it.
|
|
1648
|
+
},
|
|
1649
|
+
consumerProps: slotProps == null ? void 0 : slotProps.listbox
|
|
1650
|
+
})
|
|
1559
1651
|
}
|
|
1560
1652
|
}
|
|
1561
1653
|
);
|
|
@@ -1566,7 +1658,7 @@ function useAutocompleteRenderOption() {
|
|
|
1566
1658
|
const { key, ...otherProps } = props;
|
|
1567
1659
|
if (isAutocompleteListGroupHeader(option)) {
|
|
1568
1660
|
return /* @__PURE__ */ React.createElement(
|
|
1569
|
-
|
|
1661
|
+
utils.MenuItem,
|
|
1570
1662
|
{
|
|
1571
1663
|
...otherProps,
|
|
1572
1664
|
subtitle: true,
|
|
@@ -1608,7 +1700,7 @@ function useAutocompleteRenderOption() {
|
|
|
1608
1700
|
return /* @__PURE__ */ jsxRuntime.jsx(React.Fragment, { children: divider ? /* @__PURE__ */ jsxRuntime.jsx(material.Divider, {}) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
1609
1701
|
inputValue && /* @__PURE__ */ jsxRuntime.jsx(material.Divider, {}),
|
|
1610
1702
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
1611
|
-
|
|
1703
|
+
utils.MenuItem,
|
|
1612
1704
|
{
|
|
1613
1705
|
...otherProps,
|
|
1614
1706
|
...!isPrimitiveOptionType && {
|
|
@@ -1665,11 +1757,11 @@ function useCreatableAutocomplete({
|
|
|
1665
1757
|
}) {
|
|
1666
1758
|
const filter = material.createFilterOptions();
|
|
1667
1759
|
const { renderOption: autocompleteRenderOption } = useAutocompleteRenderOption();
|
|
1668
|
-
const addLabel =
|
|
1760
|
+
const addLabel = utils.useTranslationWithFallback(
|
|
1669
1761
|
"c4r.form.add",
|
|
1670
1762
|
typeof newItemLabel === "string" ? newItemLabel : void 0
|
|
1671
1763
|
);
|
|
1672
|
-
const noOptionsLabel =
|
|
1764
|
+
const noOptionsLabel = utils.useTranslationWithFallback(
|
|
1673
1765
|
"c4r.form.noOptions",
|
|
1674
1766
|
noOptionsText
|
|
1675
1767
|
);
|
|
@@ -1746,11 +1838,11 @@ function useMultipleAutocomplete({
|
|
|
1746
1838
|
Array.isArray(value) ? value : value ? [value] : []
|
|
1747
1839
|
);
|
|
1748
1840
|
const { renderOption: autocompleteRenderOption } = useAutocompleteRenderOption();
|
|
1749
|
-
const defaultCounterText =
|
|
1841
|
+
const defaultCounterText = utils.useTranslationWithFallback(
|
|
1750
1842
|
"c4r.form.selected",
|
|
1751
1843
|
counterText
|
|
1752
1844
|
);
|
|
1753
|
-
const defaultAllSelectedText =
|
|
1845
|
+
const defaultAllSelectedText = utils.useTranslationWithFallback(
|
|
1754
1846
|
"c4r.form.allSelected",
|
|
1755
1847
|
allSelectedText
|
|
1756
1848
|
);
|
|
@@ -1833,11 +1925,12 @@ function _CreatableAutocomplete({
|
|
|
1833
1925
|
value,
|
|
1834
1926
|
onChange,
|
|
1835
1927
|
getLimitTagsText,
|
|
1836
|
-
|
|
1928
|
+
renderValue,
|
|
1837
1929
|
itemHeight,
|
|
1838
1930
|
maxListHeight,
|
|
1839
1931
|
extended,
|
|
1840
1932
|
groupBy,
|
|
1933
|
+
slotProps,
|
|
1841
1934
|
...props
|
|
1842
1935
|
}, ref) {
|
|
1843
1936
|
if (groupBy) {
|
|
@@ -1887,7 +1980,7 @@ function _CreatableAutocomplete({
|
|
|
1887
1980
|
extended,
|
|
1888
1981
|
selectAllText
|
|
1889
1982
|
};
|
|
1890
|
-
const
|
|
1983
|
+
const finalRenderValue = showCounter && multiple && !renderValue ? getCounterRenderTags() : renderValue;
|
|
1891
1984
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1892
1985
|
material.Autocomplete,
|
|
1893
1986
|
{
|
|
@@ -1900,17 +1993,25 @@ function _CreatableAutocomplete({
|
|
|
1900
1993
|
getOptionLabel: creatableOptionLabel,
|
|
1901
1994
|
renderOption: creatableRenderOption,
|
|
1902
1995
|
getOptionDisabled: isOptionDisabled,
|
|
1903
|
-
|
|
1996
|
+
renderValue: finalRenderValue,
|
|
1904
1997
|
freeSolo,
|
|
1905
1998
|
forcePopupIcon: true,
|
|
1906
1999
|
multiple,
|
|
1907
2000
|
disableCloseOnSelect: disableCloseOnSelect ?? multiple,
|
|
1908
|
-
ListboxComponent: AutocompleteList,
|
|
1909
|
-
ListboxProps: listboxProps,
|
|
1910
2001
|
getLimitTagsText: getLimitTagsText ?? getDefaultLimitTagsText,
|
|
1911
2002
|
disabled: disabled || loading,
|
|
1912
2003
|
popupIcon: loading ? /* @__PURE__ */ jsxRuntime.jsx(material.CircularProgress, { size: 18, color: "inherit" }) : /* @__PURE__ */ jsxRuntime.jsx(ArrowDown.ForwardedComponent, {}),
|
|
1913
|
-
"data-name": "creatable-autocomplete"
|
|
2004
|
+
"data-name": "creatable-autocomplete",
|
|
2005
|
+
slotProps: {
|
|
2006
|
+
...slotProps,
|
|
2007
|
+
listbox: mergeSlotProps({
|
|
2008
|
+
ownProps: {
|
|
2009
|
+
component: AutocompleteList,
|
|
2010
|
+
...listboxProps
|
|
2011
|
+
},
|
|
2012
|
+
consumerProps: slotProps == null ? void 0 : slotProps.listbox
|
|
2013
|
+
})
|
|
2014
|
+
}
|
|
1914
2015
|
}
|
|
1915
2016
|
);
|
|
1916
2017
|
}
|
|
@@ -1931,11 +2032,12 @@ function _MultipleAutocomplete({
|
|
|
1931
2032
|
onChange,
|
|
1932
2033
|
getOptionLabel,
|
|
1933
2034
|
getLimitTagsText,
|
|
1934
|
-
|
|
2035
|
+
renderValue,
|
|
1935
2036
|
itemHeight,
|
|
1936
2037
|
maxListHeight,
|
|
1937
2038
|
extended,
|
|
1938
2039
|
groupBy,
|
|
2040
|
+
slotProps,
|
|
1939
2041
|
...props
|
|
1940
2042
|
}, ref) {
|
|
1941
2043
|
if (groupBy) {
|
|
@@ -1970,7 +2072,7 @@ function _MultipleAutocomplete({
|
|
|
1970
2072
|
extended,
|
|
1971
2073
|
selectAllText
|
|
1972
2074
|
};
|
|
1973
|
-
const
|
|
2075
|
+
const finalRenderValue = showCounter && !renderValue ? getCounterRenderTags() : renderValue;
|
|
1974
2076
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1975
2077
|
material.Autocomplete,
|
|
1976
2078
|
{
|
|
@@ -1981,15 +2083,23 @@ function _MultipleAutocomplete({
|
|
|
1981
2083
|
onChange: handleChange,
|
|
1982
2084
|
getOptionLabel,
|
|
1983
2085
|
renderOption: renderOption ?? multipleRenderOption,
|
|
1984
|
-
|
|
1985
|
-
ListboxComponent: AutocompleteList,
|
|
1986
|
-
ListboxProps: listboxProps,
|
|
2086
|
+
renderValue: finalRenderValue,
|
|
1987
2087
|
multiple: true,
|
|
1988
2088
|
getLimitTagsText: getLimitTagsText ?? getDefaultLimitTagsText,
|
|
1989
2089
|
disableCloseOnSelect,
|
|
1990
2090
|
disabled: disabled || loading,
|
|
1991
2091
|
popupIcon: loading ? /* @__PURE__ */ jsxRuntime.jsx(material.CircularProgress, { size: 18, color: "inherit" }) : /* @__PURE__ */ jsxRuntime.jsx(ArrowDown.ForwardedComponent, {}),
|
|
1992
|
-
"data-name": "multiple-autocomplete"
|
|
2092
|
+
"data-name": "multiple-autocomplete",
|
|
2093
|
+
slotProps: {
|
|
2094
|
+
...slotProps,
|
|
2095
|
+
listbox: mergeSlotProps({
|
|
2096
|
+
ownProps: {
|
|
2097
|
+
component: AutocompleteList,
|
|
2098
|
+
...listboxProps
|
|
2099
|
+
},
|
|
2100
|
+
consumerProps: slotProps == null ? void 0 : slotProps.listbox
|
|
2101
|
+
})
|
|
2102
|
+
}
|
|
1993
2103
|
}
|
|
1994
2104
|
);
|
|
1995
2105
|
}
|
|
@@ -2185,11 +2295,11 @@ function CodeAreaFooter({
|
|
|
2185
2295
|
changesSavedText,
|
|
2186
2296
|
...props
|
|
2187
2297
|
}) {
|
|
2188
|
-
const buttonFooterLabel =
|
|
2298
|
+
const buttonFooterLabel = utils.useTranslationWithFallback(
|
|
2189
2299
|
buttonFooterLabelId || "c4r.button.save",
|
|
2190
2300
|
buttonFooterText
|
|
2191
2301
|
);
|
|
2192
|
-
const changesSavedLabel =
|
|
2302
|
+
const changesSavedLabel = utils.useTranslationWithFallback(
|
|
2193
2303
|
"c4r.notifications.changesSaved",
|
|
2194
2304
|
changesSavedText
|
|
2195
2305
|
);
|
|
@@ -2256,16 +2366,16 @@ function CodeAreaHeader({
|
|
|
2256
2366
|
const [openSnackbar, setOpenSnackbar] = React.useState(false);
|
|
2257
2367
|
const [anchorEl, setAnchorEl] = React.useState(null);
|
|
2258
2368
|
const open = Boolean(anchorEl);
|
|
2259
|
-
const showOptionsTooltipLabel =
|
|
2369
|
+
const showOptionsTooltipLabel = utils.useTranslationWithFallback(
|
|
2260
2370
|
"c4r.button.showOptions",
|
|
2261
2371
|
showOptionsTooltipText
|
|
2262
2372
|
);
|
|
2263
|
-
const copyLabel =
|
|
2264
|
-
const expandLabel =
|
|
2373
|
+
const copyLabel = utils.useTranslationWithFallback("c4r.button.copy", copyText);
|
|
2374
|
+
const expandLabel = utils.useTranslationWithFallback(
|
|
2265
2375
|
"c4r.button.expand",
|
|
2266
2376
|
expandText
|
|
2267
2377
|
);
|
|
2268
|
-
const copiedLabel =
|
|
2378
|
+
const copiedLabel = utils.useTranslationWithFallback(
|
|
2269
2379
|
"c4r.notifications.copiedToClipboard",
|
|
2270
2380
|
copiedText
|
|
2271
2381
|
);
|
|
@@ -2290,7 +2400,7 @@ function CodeAreaHeader({
|
|
|
2290
2400
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
2291
2401
|
/* @__PURE__ */ jsxRuntime.jsxs(Header$1, { size, "data-size": size, "data-name": "code-area-header", children: [
|
|
2292
2402
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
2293
|
-
|
|
2403
|
+
utils.IconButton,
|
|
2294
2404
|
{
|
|
2295
2405
|
color: "default",
|
|
2296
2406
|
size,
|
|
@@ -2311,16 +2421,18 @@ function CodeAreaHeader({
|
|
|
2311
2421
|
open,
|
|
2312
2422
|
onClose: closeDropdown,
|
|
2313
2423
|
id: "menu",
|
|
2314
|
-
MenuListProps: { "aria-labelledby": "menu-button" },
|
|
2315
2424
|
"aria-label": "Code area actions",
|
|
2316
2425
|
transformOrigin: { vertical: "top", horizontal: "right" },
|
|
2317
2426
|
anchorOrigin: { vertical: "bottom", horizontal: "right" },
|
|
2427
|
+
slotProps: {
|
|
2428
|
+
list: { "aria-labelledby": "menu-button" }
|
|
2429
|
+
},
|
|
2318
2430
|
children: [
|
|
2319
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
2431
|
+
/* @__PURE__ */ jsxRuntime.jsxs(utils.MenuItem, { onClick: handleCopy, disabled, id: "copy", children: [
|
|
2320
2432
|
/* @__PURE__ */ jsxRuntime.jsx(material.ListItemIcon, { children: /* @__PURE__ */ jsxRuntime.jsx(iconsMaterial.ContentCopyOutlined, {}) }),
|
|
2321
2433
|
/* @__PURE__ */ jsxRuntime.jsx(material.ListItemText, { children: copyLabel })
|
|
2322
2434
|
] }),
|
|
2323
|
-
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
2435
|
+
/* @__PURE__ */ jsxRuntime.jsxs(utils.MenuItem, { onClick: onClickExpand, disabled, id: "expand", children: [
|
|
2324
2436
|
/* @__PURE__ */ jsxRuntime.jsx(material.ListItemIcon, { children: /* @__PURE__ */ jsxRuntime.jsx(Search.ForwardedComponent$1, {}) }),
|
|
2325
2437
|
/* @__PURE__ */ jsxRuntime.jsx(material.ListItemText, { children: expandLabel })
|
|
2326
2438
|
] })
|
|
@@ -2354,7 +2466,7 @@ function CodeAreaHeader({
|
|
|
2354
2466
|
}
|
|
2355
2467
|
),
|
|
2356
2468
|
showExpandButton && /* @__PURE__ */ jsxRuntime.jsx(
|
|
2357
|
-
|
|
2469
|
+
utils.IconButton,
|
|
2358
2470
|
{
|
|
2359
2471
|
color: "default",
|
|
2360
2472
|
size,
|
|
@@ -2978,7 +3090,7 @@ const InputWrapper$1 = material.styled(material.Box, {
|
|
|
2978
3090
|
}
|
|
2979
3091
|
}
|
|
2980
3092
|
}));
|
|
2981
|
-
const HelpIcon = material.styled(iconsMaterial.
|
|
3093
|
+
const HelpIcon = material.styled(iconsMaterial.HelpOutlineOutlined)(({ theme }) => ({
|
|
2982
3094
|
width: paletteUtils.ICON_SIZE_SMALL,
|
|
2983
3095
|
height: paletteUtils.ICON_SIZE_SMALL,
|
|
2984
3096
|
fill: theme.palette.text.secondary
|
|
@@ -3166,7 +3278,7 @@ function CodeAreaDialogError({
|
|
|
3166
3278
|
if (!children) return null;
|
|
3167
3279
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
3168
3280
|
/* @__PURE__ */ jsxRuntime.jsx(ErrorWrapper, { children: /* @__PURE__ */ jsxRuntime.jsxs(ErrorContent, { children: [
|
|
3169
|
-
/* @__PURE__ */ jsxRuntime.jsx(iconsMaterial.
|
|
3281
|
+
/* @__PURE__ */ jsxRuntime.jsx(iconsMaterial.ErrorOutlineOutlined, { htmlColor: theme.palette.error.main }),
|
|
3170
3282
|
/* @__PURE__ */ jsxRuntime.jsx(material.FormHelperText, { error: true, children })
|
|
3171
3283
|
] }) }),
|
|
3172
3284
|
hasDivider && /* @__PURE__ */ jsxRuntime.jsx(material.Divider, {})
|
|
@@ -3223,7 +3335,25 @@ const dialogDimensionsBySize = {
|
|
|
3223
3335
|
}
|
|
3224
3336
|
};
|
|
3225
3337
|
const DialogPaper = material.styled(material.Paper, {
|
|
3226
|
-
|
|
3338
|
+
// `as` must stay with emotion: MUI renders the paper slot as
|
|
3339
|
+
// `<PaperSlot as={Paper} …>`, so forwarding `as` to Paper shadows a
|
|
3340
|
+
// consumer's `slotProps.paper.component` and a form dialog renders a div.
|
|
3341
|
+
//
|
|
3342
|
+
// `ownerState`/`theme`/`sx` mirror MUI's own `slotShouldForwardProp`, which a
|
|
3343
|
+
// custom `shouldForwardProp` replaces rather than extends. As the Dialog's
|
|
3344
|
+
// `paper` slot this receives the *Dialog's* ownerState; Paper spreads it over
|
|
3345
|
+
// its own, so `variant: 'elevation'` stops matching and neither the elevation
|
|
3346
|
+
// shadow nor the `outlined` border is emitted.
|
|
3347
|
+
shouldForwardProp: (prop) => ![
|
|
3348
|
+
"ownerState",
|
|
3349
|
+
"theme",
|
|
3350
|
+
"sx",
|
|
3351
|
+
"as",
|
|
3352
|
+
"fullScreen",
|
|
3353
|
+
"height",
|
|
3354
|
+
"width",
|
|
3355
|
+
"hasForm"
|
|
3356
|
+
].includes(prop)
|
|
3227
3357
|
})(
|
|
3228
3358
|
({
|
|
3229
3359
|
fullScreen,
|
|
@@ -3235,6 +3365,16 @@ const DialogPaper = material.styled(material.Paper, {
|
|
|
3235
3365
|
}) => ({
|
|
3236
3366
|
"&.MuiPaper-root": {
|
|
3237
3367
|
position: "relative",
|
|
3368
|
+
// MUI's Dialog paper styles are replaced, not composed, once this is the
|
|
3369
|
+
// `paper` slot — so carry the ones consumers depend on. Without
|
|
3370
|
+
// `overflowY` a fullScreen dialog cannot scroll and overflowing content is
|
|
3371
|
+
// unreachable.
|
|
3372
|
+
overflowY: "auto",
|
|
3373
|
+
outline: 0,
|
|
3374
|
+
"@media print": {
|
|
3375
|
+
overflowY: "visible",
|
|
3376
|
+
boxShadow: "none"
|
|
3377
|
+
},
|
|
3238
3378
|
display: "flex",
|
|
3239
3379
|
flexDirection: "column",
|
|
3240
3380
|
margin: theme.spacing(5),
|
|
@@ -3322,20 +3462,31 @@ const DialogPaper = material.styled(material.Paper, {
|
|
|
3322
3462
|
}
|
|
3323
3463
|
})
|
|
3324
3464
|
);
|
|
3465
|
+
function splitSurfaceAttributes({ props }) {
|
|
3466
|
+
const surfaceAttributes = {};
|
|
3467
|
+
const rootProps = {};
|
|
3468
|
+
for (const [key, value] of Object.entries(props)) {
|
|
3469
|
+
const target = key.startsWith("data-") ? surfaceAttributes : rootProps;
|
|
3470
|
+
target[key] = value;
|
|
3471
|
+
}
|
|
3472
|
+
return { surfaceAttributes, rootProps };
|
|
3473
|
+
}
|
|
3325
3474
|
function _Dialog({
|
|
3326
3475
|
nonModal,
|
|
3327
3476
|
children,
|
|
3328
3477
|
size = "small",
|
|
3329
|
-
PaperProps,
|
|
3330
3478
|
fullScreen,
|
|
3331
3479
|
height,
|
|
3332
3480
|
width,
|
|
3333
3481
|
hasForm,
|
|
3334
3482
|
"aria-label": ariaLabel,
|
|
3335
3483
|
"data-testid": dataTestId,
|
|
3484
|
+
slots,
|
|
3485
|
+
slotProps,
|
|
3336
3486
|
...props
|
|
3337
3487
|
}, ref) {
|
|
3338
3488
|
if (nonModal) {
|
|
3489
|
+
const nonModalPaperProps = typeof (slotProps == null ? void 0 : slotProps.paper) === "function" ? void 0 : slotProps == null ? void 0 : slotProps.paper;
|
|
3339
3490
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3340
3491
|
DialogPaper,
|
|
3341
3492
|
{
|
|
@@ -3348,32 +3499,46 @@ function _Dialog({
|
|
|
3348
3499
|
"data-testid": dataTestId,
|
|
3349
3500
|
"data-name": "dialog",
|
|
3350
3501
|
...props,
|
|
3502
|
+
...nonModalPaperProps,
|
|
3351
3503
|
ref,
|
|
3352
3504
|
children
|
|
3353
3505
|
}
|
|
3354
3506
|
);
|
|
3355
3507
|
}
|
|
3508
|
+
const { surfaceAttributes, rootProps } = splitSurfaceAttributes({ props });
|
|
3509
|
+
const paperProps = {
|
|
3510
|
+
"data-name": "dialog",
|
|
3511
|
+
"data-size": size,
|
|
3512
|
+
...width && { "data-width": width },
|
|
3513
|
+
...height && { "data-height": height },
|
|
3514
|
+
size,
|
|
3515
|
+
fullScreen,
|
|
3516
|
+
height,
|
|
3517
|
+
width,
|
|
3518
|
+
hasForm,
|
|
3519
|
+
...dataTestId && { "data-testid": dataTestId },
|
|
3520
|
+
// Standard accname precedence is kept deliberately: `aria-labelledby` wins
|
|
3521
|
+
// over this when a DialogHeader title renders. Consumers pass `aria-label`
|
|
3522
|
+
// as a test hook often enough that making it authoritative would rename
|
|
3523
|
+
// titled dialogs after the hook.
|
|
3524
|
+
...ariaLabel && { "aria-label": ariaLabel },
|
|
3525
|
+
// Consumer-supplied data-* wins over the defaults above, as it did when
|
|
3526
|
+
// they all spread onto the root.
|
|
3527
|
+
...surfaceAttributes
|
|
3528
|
+
};
|
|
3356
3529
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
3357
3530
|
material.Dialog,
|
|
3358
3531
|
{
|
|
3359
|
-
|
|
3360
|
-
|
|
3361
|
-
...
|
|
3362
|
-
|
|
3363
|
-
|
|
3364
|
-
|
|
3365
|
-
|
|
3366
|
-
hasForm
|
|
3532
|
+
slots: { ...slots, paper: DialogPaper },
|
|
3533
|
+
slotProps: {
|
|
3534
|
+
...slotProps,
|
|
3535
|
+
paper: mergeSlotProps({
|
|
3536
|
+
ownProps: paperProps,
|
|
3537
|
+
consumerProps: slotProps == null ? void 0 : slotProps.paper
|
|
3538
|
+
})
|
|
3367
3539
|
},
|
|
3368
3540
|
fullScreen,
|
|
3369
|
-
|
|
3370
|
-
"aria-label": ariaLabel,
|
|
3371
|
-
"data-testid": dataTestId,
|
|
3372
|
-
"data-size": size,
|
|
3373
|
-
"data-width": width,
|
|
3374
|
-
"data-height": height,
|
|
3375
|
-
"data-name": "dialog",
|
|
3376
|
-
...props,
|
|
3541
|
+
...rootProps,
|
|
3377
3542
|
ref,
|
|
3378
3543
|
children
|
|
3379
3544
|
}
|
|
@@ -3422,20 +3587,20 @@ function DialogHeader({
|
|
|
3422
3587
|
backIconButtonProps,
|
|
3423
3588
|
...otherProps
|
|
3424
3589
|
}) {
|
|
3425
|
-
const closeTooltipLabel =
|
|
3590
|
+
const closeTooltipLabel = utils.useTranslationWithFallback(
|
|
3426
3591
|
"c4r.button.close",
|
|
3427
3592
|
closeTooltipText
|
|
3428
3593
|
);
|
|
3429
|
-
const backTooltipLabel =
|
|
3594
|
+
const backTooltipLabel = utils.useTranslationWithFallback(
|
|
3430
3595
|
"c4r.button.back",
|
|
3431
3596
|
backTooltipText
|
|
3432
3597
|
);
|
|
3433
3598
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
3434
3599
|
/* @__PURE__ */ jsxRuntime.jsxs(DialogTitle, { component: "div", "data-name": "dialog-header", ...otherProps, children: [
|
|
3435
3600
|
/* @__PURE__ */ jsxRuntime.jsxs(Main$1, { children: [
|
|
3436
|
-
/* @__PURE__ */ jsxRuntime.jsxs(ItemsWrapper$1, { flex: 1, maxWidth: 0.8, children: [
|
|
3601
|
+
/* @__PURE__ */ jsxRuntime.jsxs(ItemsWrapper$1, { sx: { flex: 1, maxWidth: 0.8 }, children: [
|
|
3437
3602
|
onBack && /* @__PURE__ */ jsxRuntime.jsx(
|
|
3438
|
-
|
|
3603
|
+
utils.IconButton,
|
|
3439
3604
|
{
|
|
3440
3605
|
"aria-label": backTooltipLabel,
|
|
3441
3606
|
onClick: onBack,
|
|
@@ -3461,7 +3626,7 @@ function DialogHeader({
|
|
|
3461
3626
|
/* @__PURE__ */ jsxRuntime.jsxs(ItemsWrapper$1, { children: [
|
|
3462
3627
|
secondaryActions,
|
|
3463
3628
|
onClose && /* @__PURE__ */ jsxRuntime.jsx(
|
|
3464
|
-
|
|
3629
|
+
utils.IconButton,
|
|
3465
3630
|
{
|
|
3466
3631
|
"aria-label": closeTooltipLabel,
|
|
3467
3632
|
onClick: onClose,
|
|
@@ -4030,16 +4195,16 @@ function CodeAreaDialogConfirmation({
|
|
|
4030
4195
|
content,
|
|
4031
4196
|
leaveText
|
|
4032
4197
|
}) {
|
|
4033
|
-
const titleLabel =
|
|
4198
|
+
const titleLabel = utils.useTranslationWithFallback(
|
|
4034
4199
|
titleLabelId || "c4r.dialog.confirmation.title",
|
|
4035
4200
|
titleText
|
|
4036
4201
|
);
|
|
4037
|
-
const cancelLabel =
|
|
4202
|
+
const cancelLabel = utils.useTranslationWithFallback(
|
|
4038
4203
|
cancelLabelId || "c4r.button.cancel",
|
|
4039
4204
|
cancelText
|
|
4040
4205
|
);
|
|
4041
|
-
const leaveLabel =
|
|
4042
|
-
const contentLabel =
|
|
4206
|
+
const leaveLabel = utils.useTranslationWithFallback("c4r.button.leave", leaveText);
|
|
4207
|
+
const contentLabel = utils.useTranslationWithFallback(
|
|
4043
4208
|
contentLabelId || "c4r.dialog.confirmation.content",
|
|
4044
4209
|
contentText
|
|
4045
4210
|
);
|
|
@@ -4316,10 +4481,14 @@ function DatePicker({
|
|
|
4316
4481
|
chooseDateAriaLabel,
|
|
4317
4482
|
...props
|
|
4318
4483
|
}) {
|
|
4319
|
-
const chooseDateText =
|
|
4484
|
+
const chooseDateText = utils.useTranslationWithFallback(
|
|
4320
4485
|
"c4r.form.chooseDate",
|
|
4321
4486
|
chooseDateAriaLabel
|
|
4322
4487
|
);
|
|
4488
|
+
const htmlInputProps = {
|
|
4489
|
+
"data-testid": "date-picker-input",
|
|
4490
|
+
placeholder
|
|
4491
|
+
};
|
|
4323
4492
|
return (
|
|
4324
4493
|
// Don't remove className, it's used for styling
|
|
4325
4494
|
/* @__PURE__ */ jsxRuntime.jsx(material.Box, { className: "CartoDatePicker-root", "data-testid": "date-picker", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -4340,7 +4509,7 @@ function DatePicker({
|
|
|
4340
4509
|
{
|
|
4341
4510
|
label,
|
|
4342
4511
|
type,
|
|
4343
|
-
icon: labelHelpTooltip && /* @__PURE__ */ jsxRuntime.jsx(material.Tooltip, { title: labelHelpTooltip, children: /* @__PURE__ */ jsxRuntime.jsx(iconsMaterial.
|
|
4512
|
+
icon: labelHelpTooltip && /* @__PURE__ */ jsxRuntime.jsx(material.Tooltip, { title: labelHelpTooltip, children: /* @__PURE__ */ jsxRuntime.jsx(iconsMaterial.HelpOutlineOutlined, { htmlColor: "text.secondary" }) })
|
|
4344
4513
|
}
|
|
4345
4514
|
),
|
|
4346
4515
|
slotProps: {
|
|
@@ -4348,13 +4517,12 @@ function DatePicker({
|
|
|
4348
4517
|
textField: {
|
|
4349
4518
|
variant,
|
|
4350
4519
|
helperText,
|
|
4351
|
-
placeholder,
|
|
4352
4520
|
size,
|
|
4353
4521
|
error: error ?? void 0,
|
|
4354
4522
|
// undefined is needed to allow the component to control the error state for the default validation
|
|
4355
|
-
|
|
4356
|
-
|
|
4357
|
-
}
|
|
4523
|
+
// v9: legacy inputProps/placeholder are dropped on Picker fields;
|
|
4524
|
+
// they live under the textField slot's own slotProps now.
|
|
4525
|
+
slotProps: { htmlInput: htmlInputProps }
|
|
4358
4526
|
},
|
|
4359
4527
|
field: {
|
|
4360
4528
|
clearable: !!handleClear,
|
|
@@ -4375,7 +4543,7 @@ function DatePicker({
|
|
|
4375
4543
|
) })
|
|
4376
4544
|
);
|
|
4377
4545
|
}
|
|
4378
|
-
const
|
|
4546
|
+
const PickerDayWrapper = material.styled(material.Box, {
|
|
4379
4547
|
shouldForwardProp: (prop) => ![
|
|
4380
4548
|
"isSelected",
|
|
4381
4549
|
"isStartDate",
|
|
@@ -4398,7 +4566,7 @@ const PickersDayWrapper = material.styled(material.Box, {
|
|
|
4398
4566
|
}) => ({
|
|
4399
4567
|
position: "relative",
|
|
4400
4568
|
margin: theme.spacing(0.25),
|
|
4401
|
-
"& .
|
|
4569
|
+
"& .MuiPickerDay-root": {
|
|
4402
4570
|
margin: 0
|
|
4403
4571
|
},
|
|
4404
4572
|
// Highlight the selected date range
|
|
@@ -4451,7 +4619,7 @@ const PickersDayWrapper = material.styled(material.Box, {
|
|
|
4451
4619
|
borderRadius: theme.shape.borderRadius
|
|
4452
4620
|
}
|
|
4453
4621
|
},
|
|
4454
|
-
"& .
|
|
4622
|
+
"& .MuiPickerDay-today": {
|
|
4455
4623
|
borderColor: `${theme.palette.default.outlinedBorder} !important`,
|
|
4456
4624
|
...(isStartDate || isEndDate) && {
|
|
4457
4625
|
boxShadow: `0 0 0 1px inset ${theme.palette.background.paper}`
|
|
@@ -4478,11 +4646,11 @@ const PickersDayWrapper = material.styled(material.Box, {
|
|
|
4478
4646
|
}
|
|
4479
4647
|
})
|
|
4480
4648
|
);
|
|
4481
|
-
const
|
|
4649
|
+
const CustomPickerDay = material.styled(xDatePickers.PickerDay, {
|
|
4482
4650
|
shouldForwardProp: (prop) => !["isDateRangeLimit", "isPreview"].includes(prop)
|
|
4483
4651
|
})(
|
|
4484
4652
|
({ theme, isDateRangeLimit, isPreview }) => ({
|
|
4485
|
-
"&.
|
|
4653
|
+
"&.MuiPickerDay-root": {
|
|
4486
4654
|
position: "relative",
|
|
4487
4655
|
zIndex: 1,
|
|
4488
4656
|
"&.Mui-selected": {
|
|
@@ -4513,7 +4681,7 @@ const isSameDay = (d1, d2) => {
|
|
|
4513
4681
|
if (!d1 || !d2) return false;
|
|
4514
4682
|
return d1.getFullYear() === d2.getFullYear() && d1.getMonth() === d2.getMonth() && d1.getDate() === d2.getDate();
|
|
4515
4683
|
};
|
|
4516
|
-
function
|
|
4684
|
+
function PickerDay({
|
|
4517
4685
|
day,
|
|
4518
4686
|
startDate,
|
|
4519
4687
|
endDate,
|
|
@@ -4540,7 +4708,7 @@ function PickersDay({
|
|
|
4540
4708
|
selectedMonth && day.getMonth() === selectedMonth.getMonth()
|
|
4541
4709
|
);
|
|
4542
4710
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
4543
|
-
|
|
4711
|
+
PickerDayWrapper,
|
|
4544
4712
|
{
|
|
4545
4713
|
isSelected: isInsideRange,
|
|
4546
4714
|
isStartDate: isRangeStart,
|
|
@@ -4550,7 +4718,7 @@ function PickersDay({
|
|
|
4550
4718
|
isFirstDay: isFirstDayOfMonth,
|
|
4551
4719
|
isPreview,
|
|
4552
4720
|
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
4553
|
-
|
|
4721
|
+
CustomPickerDay,
|
|
4554
4722
|
{
|
|
4555
4723
|
...otherProps,
|
|
4556
4724
|
day,
|
|
@@ -4568,15 +4736,21 @@ const FieldsWrapper = material.styled(material.Box, {
|
|
|
4568
4736
|
})(({ variant, theme }) => ({
|
|
4569
4737
|
display: "flex",
|
|
4570
4738
|
gap: variant === "standard" ? theme.spacing(1) : "1px",
|
|
4739
|
+
// v9's field is a row of section spans instead of an <input>: an input can
|
|
4740
|
+
// shrink below its content width, spans cannot, so the flex children need
|
|
4741
|
+
// `min-width: 0` or two side-by-side fields overflow their container.
|
|
4742
|
+
"& .CartoDatePicker-root, & .CartoDatePicker-root .MuiFormControl-root": {
|
|
4743
|
+
minWidth: 0
|
|
4744
|
+
},
|
|
4571
4745
|
"& .CartoDatePicker-root": {
|
|
4572
4746
|
// Start date field
|
|
4573
4747
|
"&:first-of-type": {
|
|
4574
|
-
".MuiInputBase-root": {
|
|
4748
|
+
".MuiInputBase-root, .MuiPickersInputBase-root": {
|
|
4575
4749
|
borderRadius: theme.spacing(0.5, 0, 0, 0.5),
|
|
4576
4750
|
boxShadow: `1px 0 0 0 ${theme.palette.default.outlinedBorder}`,
|
|
4577
4751
|
...variant === "outlined" && {
|
|
4578
4752
|
// Remove border from the right side only in its default state. Nested negation selector to target only specific Mui rules, otherwise it would force us to rewrite the state styles.
|
|
4579
|
-
"&:not(:hover):not(.Mui-focused):not(.Mui-error) .MuiOutlinedInput-notchedOutline": {
|
|
4753
|
+
"&:not(:hover):not(.Mui-focused):not(.Mui-error) .MuiOutlinedInput-notchedOutline, &:not(:hover):not(.Mui-focused):not(.Mui-error) .MuiPickersOutlinedInput-notchedOutline": {
|
|
4580
4754
|
borderRightColor: "transparent"
|
|
4581
4755
|
}
|
|
4582
4756
|
},
|
|
@@ -4593,11 +4767,11 @@ const FieldsWrapper = material.styled(material.Box, {
|
|
|
4593
4767
|
},
|
|
4594
4768
|
// End date field
|
|
4595
4769
|
"&:last-of-type": {
|
|
4596
|
-
".MuiInputBase-root": {
|
|
4770
|
+
".MuiInputBase-root, .MuiPickersInputBase-root": {
|
|
4597
4771
|
borderRadius: theme.spacing(0, 0.5, 0.5, 0),
|
|
4598
4772
|
...variant === "outlined" && {
|
|
4599
4773
|
// Remove border from the left side only in its default state
|
|
4600
|
-
"&:not(:hover):not(.Mui-focused):not(.Mui-error) .MuiOutlinedInput-notchedOutline": {
|
|
4774
|
+
"&:not(:hover):not(.Mui-focused):not(.Mui-error) .MuiOutlinedInput-notchedOutline, &:not(:hover):not(.Mui-focused):not(.Mui-error) .MuiPickersOutlinedInput-notchedOutline": {
|
|
4601
4775
|
borderLeftColor: "transparent"
|
|
4602
4776
|
}
|
|
4603
4777
|
},
|
|
@@ -4635,13 +4809,13 @@ function DateRangePicker({
|
|
|
4635
4809
|
(endProps == null ? void 0 : endProps.value) ?? (startProps == null ? void 0 : startProps.value) ?? /* @__PURE__ */ new Date()
|
|
4636
4810
|
);
|
|
4637
4811
|
const hasError = error ?? (startProps == null ? void 0 : startProps.error) ?? (endProps == null ? void 0 : endProps.error);
|
|
4638
|
-
const startDateLabel =
|
|
4639
|
-
const endDateLabel =
|
|
4640
|
-
const startCalendarAriaLabel =
|
|
4812
|
+
const startDateLabel = utils.useTranslationWithFallback("c4r.form.startDate");
|
|
4813
|
+
const endDateLabel = utils.useTranslationWithFallback("c4r.form.endDate");
|
|
4814
|
+
const startCalendarAriaLabel = utils.useTranslationWithFallback(
|
|
4641
4815
|
"c4r.form.startDateCalendar",
|
|
4642
4816
|
startDateCalendarAriaLabel
|
|
4643
4817
|
);
|
|
4644
|
-
const endCalendarAriaLabel =
|
|
4818
|
+
const endCalendarAriaLabel = utils.useTranslationWithFallback(
|
|
4645
4819
|
"c4r.form.endDateCalendar",
|
|
4646
4820
|
endDateCalendarAriaLabel
|
|
4647
4821
|
);
|
|
@@ -4709,7 +4883,7 @@ function DateRangePicker({
|
|
|
4709
4883
|
slots: {
|
|
4710
4884
|
openPickerIcon: iconsMaterial.TodayOutlined,
|
|
4711
4885
|
day: (props2) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
4712
|
-
|
|
4886
|
+
PickerDay,
|
|
4713
4887
|
{
|
|
4714
4888
|
...props2,
|
|
4715
4889
|
startDate,
|
|
@@ -4743,7 +4917,7 @@ function DateRangePicker({
|
|
|
4743
4917
|
},
|
|
4744
4918
|
slots: {
|
|
4745
4919
|
day: (props2) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
4746
|
-
|
|
4920
|
+
PickerDay,
|
|
4747
4921
|
{
|
|
4748
4922
|
...props2,
|
|
4749
4923
|
startDate,
|
|
@@ -4843,7 +5017,7 @@ function DateRangeCalendar({
|
|
|
4843
5017
|
"aria-label": ariaLabel,
|
|
4844
5018
|
"data-testid": dataTestId,
|
|
4845
5019
|
onMouseLeave: () => setHoveredDate(null),
|
|
4846
|
-
sx: isSelectingEnd || isCommitting ? { "& .
|
|
5020
|
+
sx: isSelectingEnd || isCommitting ? { "& .MuiPickerDay-root": { transition: "none" } } : void 0,
|
|
4847
5021
|
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
4848
5022
|
DateCalendar.DateCalendar,
|
|
4849
5023
|
{
|
|
@@ -4852,7 +5026,7 @@ function DateRangeCalendar({
|
|
|
4852
5026
|
value: endDate ?? startDate,
|
|
4853
5027
|
onChange: handleChange,
|
|
4854
5028
|
onMonthChange: handleMonthChange,
|
|
4855
|
-
slots: { day:
|
|
5029
|
+
slots: { day: PickerDay, ...slots },
|
|
4856
5030
|
slotProps: {
|
|
4857
5031
|
...slotProps,
|
|
4858
5032
|
// Merge the consumer's day slotProps (ours win on conflict, since
|
|
@@ -4913,8 +5087,8 @@ function TimePicker({
|
|
|
4913
5087
|
"aria-label": ariaLabel,
|
|
4914
5088
|
...props
|
|
4915
5089
|
}) {
|
|
4916
|
-
const fieldLabel =
|
|
4917
|
-
const chooseDateAriaLabel =
|
|
5090
|
+
const fieldLabel = utils.useTranslationWithFallback("c4r.form.time", label);
|
|
5091
|
+
const chooseDateAriaLabel = utils.useTranslationWithFallback(
|
|
4918
5092
|
"c4r.form.chooseDate",
|
|
4919
5093
|
openPickerAriaLabel
|
|
4920
5094
|
);
|
|
@@ -4934,6 +5108,10 @@ function TimePicker({
|
|
|
4934
5108
|
resizeObserver.disconnect();
|
|
4935
5109
|
};
|
|
4936
5110
|
}, []);
|
|
5111
|
+
const htmlInputProps = {
|
|
5112
|
+
"data-testid": "time-picker-input",
|
|
5113
|
+
placeholder
|
|
5114
|
+
};
|
|
4937
5115
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
4938
5116
|
DateFieldContainer,
|
|
4939
5117
|
{
|
|
@@ -4953,7 +5131,7 @@ function TimePicker({
|
|
|
4953
5131
|
{
|
|
4954
5132
|
label: fieldLabel,
|
|
4955
5133
|
type,
|
|
4956
|
-
icon: labelHelpTooltip && /* @__PURE__ */ jsxRuntime.jsx(material.Tooltip, { title: labelHelpTooltip, children: /* @__PURE__ */ jsxRuntime.jsx(iconsMaterial.
|
|
5134
|
+
icon: labelHelpTooltip && /* @__PURE__ */ jsxRuntime.jsx(material.Tooltip, { title: labelHelpTooltip, children: /* @__PURE__ */ jsxRuntime.jsx(iconsMaterial.HelpOutlineOutlined, { htmlColor: "text.secondary" }) })
|
|
4957
5135
|
}
|
|
4958
5136
|
),
|
|
4959
5137
|
views: ["hours"],
|
|
@@ -4962,13 +5140,12 @@ function TimePicker({
|
|
|
4962
5140
|
textField: {
|
|
4963
5141
|
variant,
|
|
4964
5142
|
helperText,
|
|
4965
|
-
placeholder,
|
|
4966
5143
|
size,
|
|
4967
5144
|
error: error ?? void 0,
|
|
4968
5145
|
// undefined is needed to allow the component to control the error state for the default validation
|
|
4969
|
-
|
|
4970
|
-
|
|
4971
|
-
}
|
|
5146
|
+
// v9: legacy inputProps/placeholder are dropped on Picker fields;
|
|
5147
|
+
// they live under the textField slot's own slotProps now.
|
|
5148
|
+
slotProps: { htmlInput: htmlInputProps }
|
|
4972
5149
|
},
|
|
4973
5150
|
field: {
|
|
4974
5151
|
clearable: !!handleClear,
|
|
@@ -5026,11 +5203,15 @@ function DateTimePicker({
|
|
|
5026
5203
|
"aria-label": ariaLabel,
|
|
5027
5204
|
...props
|
|
5028
5205
|
}) {
|
|
5029
|
-
const fieldLabel =
|
|
5030
|
-
const chooseDateAriaLabel =
|
|
5206
|
+
const fieldLabel = utils.useTranslationWithFallback("c4r.form.time", label);
|
|
5207
|
+
const chooseDateAriaLabel = utils.useTranslationWithFallback(
|
|
5031
5208
|
"c4r.form.chooseDate",
|
|
5032
5209
|
openPickerAriaLabel
|
|
5033
5210
|
);
|
|
5211
|
+
const htmlInputProps = {
|
|
5212
|
+
"data-testid": "date-time-picker-input",
|
|
5213
|
+
placeholder
|
|
5214
|
+
};
|
|
5034
5215
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
5035
5216
|
DateFieldContainer,
|
|
5036
5217
|
{
|
|
@@ -5049,7 +5230,7 @@ function DateTimePicker({
|
|
|
5049
5230
|
{
|
|
5050
5231
|
label: fieldLabel,
|
|
5051
5232
|
type,
|
|
5052
|
-
icon: labelHelpTooltip && /* @__PURE__ */ jsxRuntime.jsx(material.Tooltip, { title: labelHelpTooltip, children: /* @__PURE__ */ jsxRuntime.jsx(iconsMaterial.
|
|
5233
|
+
icon: labelHelpTooltip && /* @__PURE__ */ jsxRuntime.jsx(material.Tooltip, { title: labelHelpTooltip, children: /* @__PURE__ */ jsxRuntime.jsx(iconsMaterial.HelpOutlineOutlined, { htmlColor: "text.secondary" }) })
|
|
5053
5234
|
}
|
|
5054
5235
|
),
|
|
5055
5236
|
views: ["year", "month", "day", "hours"],
|
|
@@ -5058,13 +5239,12 @@ function DateTimePicker({
|
|
|
5058
5239
|
textField: {
|
|
5059
5240
|
variant,
|
|
5060
5241
|
helperText,
|
|
5061
|
-
placeholder,
|
|
5062
5242
|
size,
|
|
5063
5243
|
error: error ?? void 0,
|
|
5064
5244
|
// undefined is needed to allow the component to control the error state for the default validation
|
|
5065
|
-
|
|
5066
|
-
|
|
5067
|
-
}
|
|
5245
|
+
// v9: legacy inputProps/placeholder are dropped on Picker fields;
|
|
5246
|
+
// they live under the textField slot's own slotProps now.
|
|
5247
|
+
slotProps: { htmlInput: htmlInputProps }
|
|
5068
5248
|
},
|
|
5069
5249
|
field: {
|
|
5070
5250
|
clearable: !!handleClear,
|
|
@@ -5107,7 +5287,7 @@ const IconWrapper$1 = material.styled(material.Box, {
|
|
|
5107
5287
|
shouldForwardProp: (prop) => prop !== "size" && prop !== "iconSize" && prop !== "iconColor"
|
|
5108
5288
|
})(({ size, iconSize, iconColor, theme }) => {
|
|
5109
5289
|
const finalIconSize = iconSize ?? (size === "small" ? theme.spacing(5) : theme.spacing(6));
|
|
5110
|
-
const colorValue = iconColor === null || iconColor === void 0 ? void 0 :
|
|
5290
|
+
const colorValue = iconColor === null || iconColor === void 0 ? void 0 : utils.getThemeColor(iconColor, theme);
|
|
5111
5291
|
return {
|
|
5112
5292
|
display: "flex",
|
|
5113
5293
|
".MuiSvgIcon-root": {
|
|
@@ -5164,7 +5344,6 @@ function _EmptyState({
|
|
|
5164
5344
|
Root$1,
|
|
5165
5345
|
{
|
|
5166
5346
|
ref,
|
|
5167
|
-
alignItems: "center",
|
|
5168
5347
|
size,
|
|
5169
5348
|
spacing,
|
|
5170
5349
|
contentHeight,
|
|
@@ -5239,7 +5418,7 @@ function TooltipData({
|
|
|
5239
5418
|
title
|
|
5240
5419
|
}) {
|
|
5241
5420
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
5242
|
-
title && /* @__PURE__ */ jsxRuntime.jsx(paletteUtils.Typography, {
|
|
5421
|
+
title && /* @__PURE__ */ jsxRuntime.jsx(paletteUtils.Typography, { variant: "caption", weight: "medium", color: "inherit", children: title }),
|
|
5243
5422
|
/* @__PURE__ */ jsxRuntime.jsx(Content$3, { children: items.map((item, index) => /* @__PURE__ */ jsxRuntime.jsxs(Entry, { children: [
|
|
5244
5423
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
5245
5424
|
Bullet,
|
|
@@ -5253,7 +5432,7 @@ function TooltipData({
|
|
|
5253
5432
|
}
|
|
5254
5433
|
),
|
|
5255
5434
|
item.category && /* @__PURE__ */ jsxRuntime.jsx(Category, { color: "inherit", variant: "caption", children: item.category }),
|
|
5256
|
-
/* @__PURE__ */ jsxRuntime.jsx(paletteUtils.Typography, {
|
|
5435
|
+
/* @__PURE__ */ jsxRuntime.jsx(paletteUtils.Typography, { variant: "caption", weight: "medium", color: "inherit", children: item.value })
|
|
5257
5436
|
] }, index)) })
|
|
5258
5437
|
] });
|
|
5259
5438
|
}
|
|
@@ -5543,7 +5722,7 @@ const StyledMenu = material.styled(material.Menu, {
|
|
|
5543
5722
|
}
|
|
5544
5723
|
}
|
|
5545
5724
|
}));
|
|
5546
|
-
function _Menu({ extended, width, height,
|
|
5725
|
+
function _Menu({ extended, width, height, slotProps, ...otherProps }, ref) {
|
|
5547
5726
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
5548
5727
|
StyledMenu,
|
|
5549
5728
|
{
|
|
@@ -5553,11 +5732,17 @@ function _Menu({ extended, width, height, MenuListProps: MenuListProps2, ...othe
|
|
|
5553
5732
|
width,
|
|
5554
5733
|
height,
|
|
5555
5734
|
extended,
|
|
5556
|
-
|
|
5557
|
-
...
|
|
5558
|
-
|
|
5559
|
-
|
|
5560
|
-
|
|
5735
|
+
slotProps: {
|
|
5736
|
+
...slotProps,
|
|
5737
|
+
// v9 replaced MenuListProps with slotProps.list.
|
|
5738
|
+
list: mergeSlotProps({
|
|
5739
|
+
ownProps: {
|
|
5740
|
+
"data-width": width,
|
|
5741
|
+
"data-height": height,
|
|
5742
|
+
"data-extended": extended
|
|
5743
|
+
},
|
|
5744
|
+
consumerProps: slotProps == null ? void 0 : slotProps.list
|
|
5745
|
+
})
|
|
5561
5746
|
}
|
|
5562
5747
|
}
|
|
5563
5748
|
);
|
|
@@ -5627,7 +5812,7 @@ const FilterDropdownMenuItem = ({
|
|
|
5627
5812
|
const isSelected = selected || (selectedValue == null ? void 0 : selectedValue.id) === id;
|
|
5628
5813
|
if (hidden) return null;
|
|
5629
5814
|
return /* @__PURE__ */ jsxRuntime.jsx(material.Tooltip, { title: tooltipLabel, placement: tooltipPlacement, children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
5630
|
-
|
|
5815
|
+
utils.MenuItem,
|
|
5631
5816
|
{
|
|
5632
5817
|
onClick: disabled ? void 0 : (event) => onItemChange(item, event),
|
|
5633
5818
|
selected: isSelected,
|
|
@@ -5656,9 +5841,11 @@ const FilterDropdownMenuItem = ({
|
|
|
5656
5841
|
{
|
|
5657
5842
|
primary: label,
|
|
5658
5843
|
secondary: description,
|
|
5659
|
-
|
|
5660
|
-
|
|
5661
|
-
|
|
5844
|
+
slotProps: {
|
|
5845
|
+
primary: {
|
|
5846
|
+
variant: "body2",
|
|
5847
|
+
id: menuItemId
|
|
5848
|
+
}
|
|
5662
5849
|
}
|
|
5663
5850
|
}
|
|
5664
5851
|
),
|
|
@@ -5706,7 +5893,6 @@ function _FilterDropdown({
|
|
|
5706
5893
|
buttonProps,
|
|
5707
5894
|
iconButtonProps,
|
|
5708
5895
|
slotProps,
|
|
5709
|
-
MenuListProps,
|
|
5710
5896
|
...props
|
|
5711
5897
|
}, ref) {
|
|
5712
5898
|
const [selected_, setSelected] = React.useState(defaultValue || void 0);
|
|
@@ -5749,7 +5935,7 @@ function _FilterDropdown({
|
|
|
5749
5935
|
placement: tooltipPlacement,
|
|
5750
5936
|
...tooltipProps,
|
|
5751
5937
|
children: /* @__PURE__ */ jsxRuntime.jsx(ButtonWrapper, { isOpen, buttonColor, ref, children: isIcon ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
5752
|
-
|
|
5938
|
+
utils.IconButton,
|
|
5753
5939
|
{
|
|
5754
5940
|
...commonButtonProps,
|
|
5755
5941
|
icon,
|
|
@@ -5781,19 +5967,22 @@ function _FilterDropdown({
|
|
|
5781
5967
|
paper: {
|
|
5782
5968
|
"data-name": "filter-dropdown",
|
|
5783
5969
|
...slotProps == null ? void 0 : slotProps.paper
|
|
5784
|
-
}
|
|
5785
|
-
},
|
|
5786
|
-
MenuListProps: {
|
|
5787
|
-
"aria-labelledby": buttonId,
|
|
5788
|
-
...dense && {
|
|
5789
|
-
"data-dense": dense
|
|
5790
5970
|
},
|
|
5791
|
-
|
|
5792
|
-
|
|
5793
|
-
|
|
5971
|
+
// v9 replaced MenuListProps with slotProps.list.
|
|
5972
|
+
list: mergeSlotProps({
|
|
5973
|
+
ownProps: {
|
|
5974
|
+
"aria-labelledby": buttonId,
|
|
5975
|
+
...dense && {
|
|
5976
|
+
"data-dense": dense
|
|
5977
|
+
},
|
|
5978
|
+
autoFocus: true
|
|
5979
|
+
// To allow keyboard navigation
|
|
5980
|
+
},
|
|
5981
|
+
consumerProps: slotProps == null ? void 0 : slotProps.list
|
|
5982
|
+
})
|
|
5794
5983
|
},
|
|
5795
5984
|
children: [
|
|
5796
|
-
menuTitle && /* @__PURE__ */ jsxRuntime.jsx(
|
|
5985
|
+
menuTitle && /* @__PURE__ */ jsxRuntime.jsx(utils.MenuItem, { subtitle: true, children: menuTitle }),
|
|
5797
5986
|
menuItems.map((item, index) => {
|
|
5798
5987
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
5799
5988
|
FilterDropdownMenuItem,
|
|
@@ -5927,7 +6116,7 @@ const MessageFieldFooter = ({
|
|
|
5927
6116
|
return /* @__PURE__ */ jsxRuntime.jsxs(FooterWrapper, { size, children: [
|
|
5928
6117
|
toolbar && /* @__PURE__ */ jsxRuntime.jsx(Toolbar, { children: toolbar }),
|
|
5929
6118
|
/* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: analyzing ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
5930
|
-
|
|
6119
|
+
utils.IconButton,
|
|
5931
6120
|
{
|
|
5932
6121
|
onClick: onStop,
|
|
5933
6122
|
color: "default",
|
|
@@ -5939,7 +6128,7 @@ const MessageFieldFooter = ({
|
|
|
5939
6128
|
}
|
|
5940
6129
|
) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
5941
6130
|
iconButton && !labelButton && /* @__PURE__ */ jsxRuntime.jsx(
|
|
5942
|
-
|
|
6131
|
+
utils.IconButton,
|
|
5943
6132
|
{
|
|
5944
6133
|
onClick,
|
|
5945
6134
|
disabled: buttonIsDisabled,
|
|
@@ -5956,17 +6145,25 @@ const MessageFieldFooter = ({
|
|
|
5956
6145
|
material.Tooltip,
|
|
5957
6146
|
{
|
|
5958
6147
|
title: buttonIsDisabled && !disabled ? typeToSendLabel : void 0,
|
|
5959
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
5960
|
-
|
|
6148
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
6149
|
+
material.Box,
|
|
5961
6150
|
{
|
|
5962
|
-
|
|
5963
|
-
|
|
5964
|
-
|
|
5965
|
-
|
|
5966
|
-
|
|
5967
|
-
|
|
6151
|
+
sx: {
|
|
6152
|
+
display: "flex"
|
|
6153
|
+
},
|
|
6154
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
6155
|
+
Button,
|
|
6156
|
+
{
|
|
6157
|
+
onClick,
|
|
6158
|
+
variant: "contained",
|
|
6159
|
+
color: "primary",
|
|
6160
|
+
disabled: buttonIsDisabled,
|
|
6161
|
+
size,
|
|
6162
|
+
children: labelButton
|
|
6163
|
+
}
|
|
6164
|
+
)
|
|
5968
6165
|
}
|
|
5969
|
-
)
|
|
6166
|
+
)
|
|
5970
6167
|
}
|
|
5971
6168
|
)
|
|
5972
6169
|
] }) })
|
|
@@ -6004,12 +6201,13 @@ function _MessageField({
|
|
|
6004
6201
|
"aria-label": ariaLabel,
|
|
6005
6202
|
...otherProps
|
|
6006
6203
|
}, ref) {
|
|
6007
|
-
|
|
6008
|
-
const
|
|
6204
|
+
var _a, _b;
|
|
6205
|
+
const stopLabel = utils.useTranslationWithFallback("c4r.button.stop", stopText);
|
|
6206
|
+
const typeToSendLabel = utils.useTranslationWithFallback(
|
|
6009
6207
|
"c4r.button.typeToSend",
|
|
6010
6208
|
typeToSendText
|
|
6011
6209
|
);
|
|
6012
|
-
const sendLabel =
|
|
6210
|
+
const sendLabel = utils.useTranslationWithFallback("c4r.button.send", sendText);
|
|
6013
6211
|
const inputIsDisabled = disabled || analyzing;
|
|
6014
6212
|
const currentValue = value ?? defaultValue ?? "";
|
|
6015
6213
|
const buttonIsDisabled = currentValue === "" || disabledButton || disabled;
|
|
@@ -6075,9 +6273,16 @@ function _MessageField({
|
|
|
6075
6273
|
size,
|
|
6076
6274
|
fullWidth,
|
|
6077
6275
|
required: validationType === "required",
|
|
6078
|
-
inputProps: { "aria-invalid": !!error },
|
|
6079
6276
|
...otherProps,
|
|
6080
6277
|
...textFieldProps,
|
|
6278
|
+
slotProps: {
|
|
6279
|
+
...otherProps.slotProps,
|
|
6280
|
+
...textFieldProps == null ? void 0 : textFieldProps.slotProps,
|
|
6281
|
+
htmlInput: mergeSlotProps({
|
|
6282
|
+
ownProps: { "aria-invalid": !!error },
|
|
6283
|
+
consumerProps: ((_a = textFieldProps == null ? void 0 : textFieldProps.slotProps) == null ? void 0 : _a.htmlInput) ?? ((_b = otherProps.slotProps) == null ? void 0 : _b.htmlInput)
|
|
6284
|
+
})
|
|
6285
|
+
},
|
|
6081
6286
|
onKeyDown: handleKeyDown
|
|
6082
6287
|
}
|
|
6083
6288
|
),
|
|
@@ -6276,7 +6481,7 @@ const SearchFieldEndAdornment = ({
|
|
|
6276
6481
|
},
|
|
6277
6482
|
children: [
|
|
6278
6483
|
loading ? /* @__PURE__ */ jsxRuntime.jsx(LoadingSearchIcon, { size: paletteUtils.ICON_SIZE_MEDIUM }) : showClearButton ? clearButton ?? /* @__PURE__ */ jsxRuntime.jsx(
|
|
6279
|
-
|
|
6484
|
+
utils.IconButton,
|
|
6280
6485
|
{
|
|
6281
6486
|
onClick: onClear,
|
|
6282
6487
|
size,
|
|
@@ -6312,8 +6517,8 @@ function _SearchField({
|
|
|
6312
6517
|
variant = "filled",
|
|
6313
6518
|
size = "small",
|
|
6314
6519
|
dense = false,
|
|
6520
|
+
slotProps,
|
|
6315
6521
|
InputProps,
|
|
6316
|
-
inputProps,
|
|
6317
6522
|
startAdornment,
|
|
6318
6523
|
endAdornment,
|
|
6319
6524
|
onFocus,
|
|
@@ -6328,7 +6533,7 @@ function _SearchField({
|
|
|
6328
6533
|
}, ref) {
|
|
6329
6534
|
const [isInputFocused, setIsInputFocused] = React.useState(false);
|
|
6330
6535
|
const clearButtonVisibility = !disabled && Boolean(value ?? defaultValue) && showClearButton;
|
|
6331
|
-
const clearButtonLabelValue =
|
|
6536
|
+
const clearButtonLabelValue = utils.useTranslationWithFallback(
|
|
6332
6537
|
"c4r.button.clear",
|
|
6333
6538
|
clearButtonLabel
|
|
6334
6539
|
);
|
|
@@ -6360,36 +6565,47 @@ function _SearchField({
|
|
|
6360
6565
|
disabled,
|
|
6361
6566
|
minimized,
|
|
6362
6567
|
dense,
|
|
6363
|
-
|
|
6364
|
-
|
|
6365
|
-
|
|
6366
|
-
|
|
6367
|
-
|
|
6368
|
-
|
|
6369
|
-
|
|
6370
|
-
|
|
6371
|
-
|
|
6372
|
-
|
|
6373
|
-
|
|
6374
|
-
|
|
6375
|
-
|
|
6376
|
-
|
|
6377
|
-
|
|
6378
|
-
|
|
6379
|
-
|
|
6380
|
-
|
|
6381
|
-
|
|
6382
|
-
|
|
6383
|
-
|
|
6384
|
-
|
|
6385
|
-
|
|
6386
|
-
|
|
6387
|
-
|
|
6388
|
-
|
|
6389
|
-
|
|
6390
|
-
|
|
6391
|
-
|
|
6392
|
-
|
|
6568
|
+
slotProps: {
|
|
6569
|
+
...slotProps,
|
|
6570
|
+
input: mergeSlotProps({
|
|
6571
|
+
ownProps: {
|
|
6572
|
+
onFocus: handleFocus,
|
|
6573
|
+
onBlur: handleBlur,
|
|
6574
|
+
startAdornment: /* @__PURE__ */ jsxRuntime.jsx(
|
|
6575
|
+
SearchFieldStartAdornment,
|
|
6576
|
+
{
|
|
6577
|
+
minimized,
|
|
6578
|
+
loading,
|
|
6579
|
+
disabled,
|
|
6580
|
+
startAdornment
|
|
6581
|
+
}
|
|
6582
|
+
),
|
|
6583
|
+
endAdornment: !minimized && /* @__PURE__ */ jsxRuntime.jsx(
|
|
6584
|
+
SearchFieldEndAdornment,
|
|
6585
|
+
{
|
|
6586
|
+
disabled,
|
|
6587
|
+
loading,
|
|
6588
|
+
showClearButton: clearButtonVisibility,
|
|
6589
|
+
clearButton,
|
|
6590
|
+
clearButtonLabel: clearButtonLabelValue,
|
|
6591
|
+
onClear: handleClear,
|
|
6592
|
+
size,
|
|
6593
|
+
endAdornment
|
|
6594
|
+
}
|
|
6595
|
+
)
|
|
6596
|
+
},
|
|
6597
|
+
// The deprecated `InputProps` feeds the same slot, ranked below
|
|
6598
|
+
// `slotProps.input` so the modern form wins. Without this it rode
|
|
6599
|
+
// `otherProps` onto the DOM once v9 stopped accepting it on TextField.
|
|
6600
|
+
consumerProps: mergeSlotProps({
|
|
6601
|
+
ownProps: InputProps ?? {},
|
|
6602
|
+
consumerProps: slotProps == null ? void 0 : slotProps.input
|
|
6603
|
+
})
|
|
6604
|
+
}),
|
|
6605
|
+
htmlInput: mergeSlotProps({
|
|
6606
|
+
ownProps: { role: "searchbox" },
|
|
6607
|
+
consumerProps: slotProps == null ? void 0 : slotProps.htmlInput
|
|
6608
|
+
})
|
|
6393
6609
|
},
|
|
6394
6610
|
role: "search",
|
|
6395
6611
|
"data-variant": variant,
|
|
@@ -6464,7 +6680,7 @@ const Alert = material.styled(Alert$1, {
|
|
|
6464
6680
|
width: theme.spacing(3),
|
|
6465
6681
|
marginTop: theme.spacing(0.5)
|
|
6466
6682
|
},
|
|
6467
|
-
"&.MuiAlert-
|
|
6683
|
+
"&.MuiAlert-standard.MuiAlert-colorError": {
|
|
6468
6684
|
backgroundColor: theme.palette.error.main
|
|
6469
6685
|
},
|
|
6470
6686
|
...icon !== false && {
|
|
@@ -6509,7 +6725,7 @@ function Snackbar({
|
|
|
6509
6725
|
disablePortal,
|
|
6510
6726
|
...rest
|
|
6511
6727
|
}) {
|
|
6512
|
-
const closeTooltipLabel =
|
|
6728
|
+
const closeTooltipLabel = utils.useTranslationWithFallback(
|
|
6513
6729
|
"c4r.button.close",
|
|
6514
6730
|
closeTooltipText
|
|
6515
6731
|
);
|
|
@@ -6524,7 +6740,7 @@ function Snackbar({
|
|
|
6524
6740
|
open,
|
|
6525
6741
|
autoHideDuration: duration,
|
|
6526
6742
|
onClose,
|
|
6527
|
-
|
|
6743
|
+
slots: { transition: autoWidth ? material.Fade : material.Slide, ...rest.slots },
|
|
6528
6744
|
"data-auto-width": autoWidth,
|
|
6529
6745
|
children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
6530
6746
|
Content$1,
|
|
@@ -6548,7 +6764,7 @@ function Snackbar({
|
|
|
6548
6764
|
}
|
|
6549
6765
|
),
|
|
6550
6766
|
closeable && /* @__PURE__ */ jsxRuntime.jsx(CloseButtonWrapper, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
6551
|
-
|
|
6767
|
+
utils.IconButton,
|
|
6552
6768
|
{
|
|
6553
6769
|
color: "default",
|
|
6554
6770
|
onClick: (e) => onClose(e, "timeout"),
|
|
@@ -6706,7 +6922,7 @@ const TagLabel = material.styled("div", {
|
|
|
6706
6922
|
})(({ type, theme }) => ({
|
|
6707
6923
|
display: "flex",
|
|
6708
6924
|
alignItems: "center",
|
|
6709
|
-
...
|
|
6925
|
+
...utils.ellipsisStyles,
|
|
6710
6926
|
paddingTop: type === "code" ? theme.spacing(0.25) : void 0
|
|
6711
6927
|
}));
|
|
6712
6928
|
function _Tag({
|
|
@@ -6827,7 +7043,7 @@ function _UploadFieldBase({
|
|
|
6827
7043
|
focused,
|
|
6828
7044
|
buttonText = "Browse",
|
|
6829
7045
|
inProgress,
|
|
6830
|
-
|
|
7046
|
+
slotProps,
|
|
6831
7047
|
size = "small",
|
|
6832
7048
|
hasFiles,
|
|
6833
7049
|
cursor = "pointer",
|
|
@@ -6845,25 +7061,30 @@ function _UploadFieldBase({
|
|
|
6845
7061
|
focused: focused ?? dragOver,
|
|
6846
7062
|
cursor,
|
|
6847
7063
|
"data-testid": dataTestId,
|
|
6848
|
-
|
|
6849
|
-
...
|
|
6850
|
-
name
|
|
6851
|
-
//
|
|
6852
|
-
|
|
6853
|
-
|
|
6854
|
-
|
|
6855
|
-
|
|
6856
|
-
|
|
6857
|
-
|
|
6858
|
-
|
|
6859
|
-
|
|
6860
|
-
|
|
6861
|
-
|
|
6862
|
-
|
|
6863
|
-
|
|
6864
|
-
|
|
6865
|
-
|
|
6866
|
-
|
|
7064
|
+
slotProps: {
|
|
7065
|
+
...slotProps,
|
|
7066
|
+
// Own props are spread last on purpose: name/readOnly/endAdornment are
|
|
7067
|
+
// this component's contract and must win over the consumer's.
|
|
7068
|
+
input: (ownerState) => ({
|
|
7069
|
+
...typeof (slotProps == null ? void 0 : slotProps.input) === "function" ? slotProps.input(ownerState) : slotProps == null ? void 0 : slotProps.input,
|
|
7070
|
+
name,
|
|
7071
|
+
// multiple prop cannot be used here because it is not a valid prop for TextField InputProps
|
|
7072
|
+
// not used for any UI logic
|
|
7073
|
+
readOnly: true,
|
|
7074
|
+
endAdornment: /* @__PURE__ */ jsxRuntime.jsx(
|
|
7075
|
+
FilesAction,
|
|
7076
|
+
{
|
|
7077
|
+
buttonText,
|
|
7078
|
+
hasFiles,
|
|
7079
|
+
size,
|
|
7080
|
+
error,
|
|
7081
|
+
disabled: !!dragOver,
|
|
7082
|
+
handleReset,
|
|
7083
|
+
handleOpen,
|
|
7084
|
+
inProgress
|
|
7085
|
+
}
|
|
7086
|
+
)
|
|
7087
|
+
})
|
|
6867
7088
|
},
|
|
6868
7089
|
"data-cursor": cursor,
|
|
6869
7090
|
"data-drag-over": dragOver,
|
|
@@ -6882,17 +7103,17 @@ function useFileUpload({
|
|
|
6882
7103
|
dragPlaceholderText,
|
|
6883
7104
|
dragActivePlaceholderText
|
|
6884
7105
|
}) {
|
|
6885
|
-
const filesSelectedLabel =
|
|
7106
|
+
const filesSelectedLabel = utils.useTranslationWithFallback(
|
|
6886
7107
|
"c4r.form.filesSelected",
|
|
6887
7108
|
filesSelectedText,
|
|
6888
7109
|
{ count: (files == null ? void 0 : files.length) ?? 0 }
|
|
6889
7110
|
);
|
|
6890
|
-
const dragPlaceholderLabel =
|
|
7111
|
+
const dragPlaceholderLabel = utils.useTranslationWithFallback(
|
|
6891
7112
|
"c4r.form.dragPlaceholder",
|
|
6892
7113
|
dragPlaceholderText,
|
|
6893
7114
|
{ count: multiple ? 0 : 1 }
|
|
6894
7115
|
);
|
|
6895
|
-
const dragActivePlaceholderLabel =
|
|
7116
|
+
const dragActivePlaceholderLabel = utils.useTranslationWithFallback(
|
|
6896
7117
|
"c4r.form.dragActivePlaceholder",
|
|
6897
7118
|
dragActivePlaceholderText,
|
|
6898
7119
|
{ count: multiple ? 0 : 1 }
|
|
@@ -6981,6 +7202,7 @@ function _UploadField({
|
|
|
6981
7202
|
focused,
|
|
6982
7203
|
nativeInputProps,
|
|
6983
7204
|
"data-testid": dataTestId,
|
|
7205
|
+
slotProps,
|
|
6984
7206
|
...props
|
|
6985
7207
|
}, ref) {
|
|
6986
7208
|
const accept = _accept ?? DEFAULT_ACCEPT;
|
|
@@ -7013,7 +7235,13 @@ function _UploadField({
|
|
|
7013
7235
|
dragOver,
|
|
7014
7236
|
inProgress,
|
|
7015
7237
|
hasFiles: Boolean(filesText),
|
|
7016
|
-
|
|
7238
|
+
slotProps: {
|
|
7239
|
+
...slotProps,
|
|
7240
|
+
input: mergeSlotProps({
|
|
7241
|
+
ownProps: inputEvents,
|
|
7242
|
+
consumerProps: slotProps == null ? void 0 : slotProps.input
|
|
7243
|
+
})
|
|
7244
|
+
},
|
|
7017
7245
|
buttonText,
|
|
7018
7246
|
"data-testid": dataTestId
|
|
7019
7247
|
}
|
|
@@ -7046,7 +7274,7 @@ const Content = material.styled("span", {
|
|
|
7046
7274
|
if (lines > 1) {
|
|
7047
7275
|
return {
|
|
7048
7276
|
display: "-webkit-box",
|
|
7049
|
-
...
|
|
7277
|
+
...utils.ellipsisStyles,
|
|
7050
7278
|
whiteSpace: "initial !important",
|
|
7051
7279
|
WebkitLineClamp: lines,
|
|
7052
7280
|
WebkitBoxOrient: "vertical",
|
|
@@ -7060,7 +7288,7 @@ const Content = material.styled("span", {
|
|
|
7060
7288
|
overflow: "hidden",
|
|
7061
7289
|
"& > *:nth-of-type(1)": {
|
|
7062
7290
|
display: "block",
|
|
7063
|
-
...
|
|
7291
|
+
...utils.ellipsisStyles
|
|
7064
7292
|
}
|
|
7065
7293
|
};
|
|
7066
7294
|
}
|
|
@@ -7070,13 +7298,13 @@ const Content = material.styled("span", {
|
|
|
7070
7298
|
flex: "1",
|
|
7071
7299
|
"& > *": {
|
|
7072
7300
|
display: "block",
|
|
7073
|
-
...
|
|
7301
|
+
...utils.ellipsisStyles
|
|
7074
7302
|
}
|
|
7075
7303
|
};
|
|
7076
7304
|
}
|
|
7077
7305
|
return {
|
|
7078
7306
|
display: "block",
|
|
7079
|
-
...
|
|
7307
|
+
...utils.ellipsisStyles,
|
|
7080
7308
|
fontWeight: "inherit",
|
|
7081
7309
|
"& > *": { display: "inline" }
|
|
7082
7310
|
};
|
|
@@ -7434,13 +7662,13 @@ const ListItem = React.forwardRef(_ListItem);
|
|
|
7434
7662
|
ListItem.displayName = "ListItem";
|
|
7435
7663
|
const DEFAULT_PRIMARY_TYPOGRAPHY_PROPS = {
|
|
7436
7664
|
variant: "body2",
|
|
7437
|
-
color: "
|
|
7665
|
+
color: "textPrimary",
|
|
7438
7666
|
noWrap: true,
|
|
7439
7667
|
component: "span"
|
|
7440
7668
|
};
|
|
7441
7669
|
const DEFAULT_SECONDARY_TYPOGRAPHY_PROPS = {
|
|
7442
7670
|
variant: "caption",
|
|
7443
|
-
color: "
|
|
7671
|
+
color: "textSecondary",
|
|
7444
7672
|
noWrap: true
|
|
7445
7673
|
};
|
|
7446
7674
|
function resolveTypographyProps(defaultProps, userProps) {
|
|
@@ -7468,22 +7696,32 @@ function resolveTypographyProps(defaultProps, userProps) {
|
|
|
7468
7696
|
function _ListItemText({
|
|
7469
7697
|
primaryTypographyProps,
|
|
7470
7698
|
secondaryTypographyProps,
|
|
7699
|
+
slotProps,
|
|
7471
7700
|
...props
|
|
7472
7701
|
}, ref) {
|
|
7473
7702
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
7474
7703
|
material.ListItemText,
|
|
7475
7704
|
{
|
|
7476
7705
|
...props,
|
|
7477
|
-
primaryTypographyProps: resolveTypographyProps(
|
|
7478
|
-
DEFAULT_PRIMARY_TYPOGRAPHY_PROPS,
|
|
7479
|
-
primaryTypographyProps
|
|
7480
|
-
),
|
|
7481
|
-
secondaryTypographyProps: resolveTypographyProps(
|
|
7482
|
-
DEFAULT_SECONDARY_TYPOGRAPHY_PROPS,
|
|
7483
|
-
secondaryTypographyProps
|
|
7484
|
-
),
|
|
7485
7706
|
ref,
|
|
7486
|
-
"data-name": "list-item-text"
|
|
7707
|
+
"data-name": "list-item-text",
|
|
7708
|
+
slotProps: {
|
|
7709
|
+
...slotProps,
|
|
7710
|
+
primary: mergeSlotProps({
|
|
7711
|
+
ownProps: resolveTypographyProps(
|
|
7712
|
+
DEFAULT_PRIMARY_TYPOGRAPHY_PROPS,
|
|
7713
|
+
primaryTypographyProps
|
|
7714
|
+
),
|
|
7715
|
+
consumerProps: slotProps == null ? void 0 : slotProps.primary
|
|
7716
|
+
}),
|
|
7717
|
+
secondary: mergeSlotProps({
|
|
7718
|
+
ownProps: resolveTypographyProps(
|
|
7719
|
+
DEFAULT_SECONDARY_TYPOGRAPHY_PROPS,
|
|
7720
|
+
secondaryTypographyProps
|
|
7721
|
+
),
|
|
7722
|
+
consumerProps: slotProps == null ? void 0 : slotProps.secondary
|
|
7723
|
+
})
|
|
7724
|
+
}
|
|
7487
7725
|
}
|
|
7488
7726
|
);
|
|
7489
7727
|
}
|
|
@@ -7504,13 +7742,23 @@ function ListItemRightContent({
|
|
|
7504
7742
|
Root,
|
|
7505
7743
|
{
|
|
7506
7744
|
direction: "row",
|
|
7507
|
-
alignItems: "center",
|
|
7508
7745
|
spacing: 1.5,
|
|
7746
|
+
sx: { alignItems: "center" },
|
|
7509
7747
|
...props,
|
|
7510
7748
|
"data-name": "list-item-right-content",
|
|
7511
7749
|
children: [
|
|
7512
7750
|
children,
|
|
7513
|
-
actions && /* @__PURE__ */ jsxRuntime.jsx(
|
|
7751
|
+
actions && /* @__PURE__ */ jsxRuntime.jsx(
|
|
7752
|
+
material.Stack,
|
|
7753
|
+
{
|
|
7754
|
+
direction: "row",
|
|
7755
|
+
spacing: 0.5,
|
|
7756
|
+
sx: {
|
|
7757
|
+
alignItems: "center"
|
|
7758
|
+
},
|
|
7759
|
+
children: actions
|
|
7760
|
+
}
|
|
7761
|
+
)
|
|
7514
7762
|
]
|
|
7515
7763
|
}
|
|
7516
7764
|
);
|
|
@@ -7518,7 +7766,7 @@ function ListItemRightContent({
|
|
|
7518
7766
|
ListItemRightContent.displayName = "ListItemRightContent";
|
|
7519
7767
|
const DEFAULT_TYPOGRAPHY_PROPS = {
|
|
7520
7768
|
variant: "caption",
|
|
7521
|
-
color: "
|
|
7769
|
+
color: "textSecondary",
|
|
7522
7770
|
component: "span"
|
|
7523
7771
|
};
|
|
7524
7772
|
function mergeTypographyProps(defaultProps, userProps) {
|
|
@@ -7569,7 +7817,7 @@ function _ListSubheader({
|
|
|
7569
7817
|
"data-disable-gutters": effectiveDisableGutters,
|
|
7570
7818
|
"data-disable-padding": effectiveDisablePadding,
|
|
7571
7819
|
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
7572
|
-
|
|
7820
|
+
paletteUtils.Typography,
|
|
7573
7821
|
{
|
|
7574
7822
|
...mergeTypographyProps(
|
|
7575
7823
|
DEFAULT_TYPOGRAPHY_PROPS,
|
|
@@ -7596,7 +7844,7 @@ function _ListItemIcon({ iconProps, sx, ...otherProps }, ref) {
|
|
|
7596
7844
|
"data-icon-color": (iconProps == null ? void 0 : iconProps.color) ?? "text.secondary",
|
|
7597
7845
|
sx: {
|
|
7598
7846
|
// Apply color only to SVGs that are not inside Radio or Checkbox
|
|
7599
|
-
[
|
|
7847
|
+
[utils.SVG_SELECTOR]: {
|
|
7600
7848
|
color
|
|
7601
7849
|
},
|
|
7602
7850
|
...sx
|
|
@@ -7807,9 +8055,9 @@ Object.defineProperty(exports, "ListItemSecondaryAction", {
|
|
|
7807
8055
|
get: () => material.ListItemSecondaryAction
|
|
7808
8056
|
});
|
|
7809
8057
|
exports.Typography = paletteUtils.Typography;
|
|
7810
|
-
exports.IconButton =
|
|
7811
|
-
exports.MenuItem =
|
|
7812
|
-
exports.TablePaginationActions =
|
|
8058
|
+
exports.IconButton = utils.IconButton;
|
|
8059
|
+
exports.MenuItem = utils.MenuItem;
|
|
8060
|
+
exports.TablePaginationActions = utils.TablePaginationActions;
|
|
7813
8061
|
exports.AUTOCOMPLETE_GROUP_HEADER_PROPERTY = AUTOCOMPLETE_GROUP_HEADER_PROPERTY;
|
|
7814
8062
|
exports.AccordionGroup = AccordionGroup;
|
|
7815
8063
|
exports.Alert = Alert$1;
|