@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.
Files changed (213) hide show
  1. package/CHANGELOG.md +3 -0
  2. package/dist/components/index.cjs +643 -395
  3. package/dist/components/index.js +572 -324
  4. package/dist/fonts/inter/Inter-Medium.woff2 +0 -0
  5. package/dist/fonts/inter/Inter-Regular.woff2 +0 -0
  6. package/dist/fonts/inter/Inter-SemiBold.woff2 +0 -0
  7. package/dist/fonts/overpass-mono/OverpassMono-Regular.woff2 +0 -0
  8. package/dist/fonts/overpass-mono/OverpassMono-SemiBold.woff2 +0 -0
  9. package/dist/icons-screenshot.webp +0 -0
  10. package/dist/metadata.json +229 -229
  11. package/dist/palette-utils-CGE9j8_H.js +398 -0
  12. package/dist/palette-utils-Cza0wkfu.cjs +414 -0
  13. package/dist/theme/index.cjs +487 -234
  14. package/dist/theme/index.js +465 -212
  15. package/dist/types/components/AccordionGroup/AccordionGroup.stories.d.ts.map +1 -1
  16. package/dist/types/components/Alert/Alert.stories.d.ts.map +1 -1
  17. package/dist/types/components/AppBar/AppBar.stories.d.ts.map +1 -1
  18. package/dist/types/components/Autocomplete/Autocomplete/Autocomplete.d.ts +1 -1
  19. package/dist/types/components/Autocomplete/Autocomplete/Autocomplete.d.ts.map +1 -1
  20. package/dist/types/components/Autocomplete/Autocomplete/Autocomplete.figma.d.ts.map +1 -1
  21. package/dist/types/components/Autocomplete/Autocomplete/Autocomplete.metadata.d.ts.map +1 -1
  22. package/dist/types/components/Autocomplete/Autocomplete/Autocomplete.stories.d.ts +20 -1
  23. package/dist/types/components/Autocomplete/Autocomplete/Autocomplete.stories.d.ts.map +1 -1
  24. package/dist/types/components/Autocomplete/AutocompleteList/AutocompleteList.d.ts +2 -2
  25. package/dist/types/components/Autocomplete/AutocompleteList/AutocompleteList.d.ts.map +1 -1
  26. package/dist/types/components/Autocomplete/CreatableAutocomplete/CreatableAutocomplete.d.ts +1 -1
  27. package/dist/types/components/Autocomplete/CreatableAutocomplete/CreatableAutocomplete.d.ts.map +1 -1
  28. package/dist/types/components/Autocomplete/CreatableAutocomplete/CreatableAutocomplete.stories.d.ts +1 -1
  29. package/dist/types/components/Autocomplete/CreatableAutocomplete/CreatableAutocomplete.stories.d.ts.map +1 -1
  30. package/dist/types/components/Autocomplete/MultipleAutocomplete/MultipleAutocomplete.d.ts +1 -1
  31. package/dist/types/components/Autocomplete/MultipleAutocomplete/MultipleAutocomplete.d.ts.map +1 -1
  32. package/dist/types/components/Autocomplete/MultipleAutocomplete/MultipleAutocomplete.stories.d.ts +1 -1
  33. package/dist/types/components/Autocomplete/MultipleAutocomplete/MultipleAutocomplete.stories.d.ts.map +1 -1
  34. package/dist/types/components/Autocomplete/MultipleAutocomplete/useMultipleAutocomplete.d.ts +1 -1
  35. package/dist/types/components/Autocomplete/test-utils/autocomplete-test-utils.d.ts +1 -1
  36. package/dist/types/components/Autocomplete/types.d.ts +1 -1
  37. package/dist/types/components/Autocomplete/types.d.ts.map +1 -1
  38. package/dist/types/components/Autocomplete/utils/utils.d.ts +8 -8
  39. package/dist/types/components/Autocomplete/utils/utils.d.ts.map +1 -1
  40. package/dist/types/components/Avatar/Avatar.stories.d.ts.map +1 -1
  41. package/dist/types/components/Button/Button.d.ts +19 -8
  42. package/dist/types/components/Button/Button.d.ts.map +1 -1
  43. package/dist/types/components/Button/Button.stories.d.ts +3 -1
  44. package/dist/types/components/Button/Button.stories.d.ts.map +1 -1
  45. package/dist/types/components/ChipGroup/ChipGroup.stories.d.ts.map +1 -1
  46. package/dist/types/components/CodeArea/CodeAreaDialog/CodeAreaDialog.stories.d.ts.map +1 -1
  47. package/dist/types/components/CodeArea/CodeAreaField/CodeAreaField.stories.d.ts.map +1 -1
  48. package/dist/types/components/CodeArea/CodeAreaHeader/CodeAreaHeader.d.ts.map +1 -1
  49. package/dist/types/components/CopiableComponent/CopiableComponent.stories.d.ts.map +1 -1
  50. package/dist/types/components/CopiableInputText/CopiableInputText.d.ts +2 -2
  51. package/dist/types/components/CopiableInputText/CopiableInputText.d.ts.map +1 -1
  52. package/dist/types/components/CopiableInputText/CopiableInputText.stories.d.ts +2 -2
  53. package/dist/types/components/CopiableInputText/CopiableInputText.stories.d.ts.map +1 -1
  54. package/dist/types/components/DatePickers/DateCalendar.stories.d.ts +9 -9
  55. package/dist/types/components/DatePickers/DateCalendar.stories.d.ts.map +1 -1
  56. package/dist/types/components/DatePickers/DatePicker/DatePicker.d.ts +1 -1
  57. package/dist/types/components/DatePickers/DatePicker/DatePicker.d.ts.map +1 -1
  58. package/dist/types/components/DatePickers/DatePicker/DatePicker.stories.d.ts +11 -10
  59. package/dist/types/components/DatePickers/DatePicker/DatePicker.stories.d.ts.map +1 -1
  60. package/dist/types/components/DatePickers/DateRangeCalendar/DateRangeCalendar.d.ts +1 -1
  61. package/dist/types/components/DatePickers/DateRangeCalendar/DateRangeCalendar.d.ts.map +1 -1
  62. package/dist/types/components/DatePickers/DateRangeCalendar/DateRangeCalendar.stories.d.ts +15 -12
  63. package/dist/types/components/DatePickers/DateRangeCalendar/DateRangeCalendar.stories.d.ts.map +1 -1
  64. package/dist/types/components/DatePickers/DateRangePicker/DateRangePicker.d.ts +1 -1
  65. package/dist/types/components/DatePickers/DateRangePicker/DateRangePicker.d.ts.map +1 -1
  66. package/dist/types/components/DatePickers/DateRangePicker/DateRangePicker.stories.d.ts +11 -10
  67. package/dist/types/components/DatePickers/DateRangePicker/DateRangePicker.stories.d.ts.map +1 -1
  68. package/dist/types/components/DatePickers/DateTimePicker/DateTimePicker.d.ts +1 -1
  69. package/dist/types/components/DatePickers/DateTimePicker/DateTimePicker.d.ts.map +1 -1
  70. package/dist/types/components/DatePickers/DateTimePicker/DateTimePicker.stories.d.ts +12 -12
  71. package/dist/types/components/DatePickers/DateTimePicker/DateTimePicker.stories.d.ts.map +1 -1
  72. package/dist/types/components/DatePickers/PickerDay/PickerDay.d.ts +4 -0
  73. package/dist/types/components/DatePickers/PickerDay/PickerDay.d.ts.map +1 -0
  74. package/dist/types/components/DatePickers/PickerDay/PickerDay.test.d.ts +2 -0
  75. package/dist/types/components/DatePickers/PickerDay/PickerDay.test.d.ts.map +1 -0
  76. package/dist/types/components/DatePickers/TimePicker/TimePicker.d.ts +1 -1
  77. package/dist/types/components/DatePickers/TimePicker/TimePicker.d.ts.map +1 -1
  78. package/dist/types/components/DatePickers/TimePicker/TimePicker.stories.d.ts +12 -12
  79. package/dist/types/components/DatePickers/TimePicker/TimePicker.stories.d.ts.map +1 -1
  80. package/dist/types/components/DatePickers/types.d.ts +23 -17
  81. package/dist/types/components/DatePickers/types.d.ts.map +1 -1
  82. package/dist/types/components/Dialog/Dialog/Dialog.d.ts.map +1 -1
  83. package/dist/types/components/Dialog/Dialog/Dialog.stories.d.ts.map +1 -1
  84. package/dist/types/components/Dialog/DialogHeader/DialogHeader.stories.d.ts.map +1 -1
  85. package/dist/types/components/Dialog/DialogPaper/DialogPaper.d.ts +1 -1
  86. package/dist/types/components/Dialog/DialogPaper/DialogPaper.d.ts.map +1 -1
  87. package/dist/types/components/EllipsisWithTooltip/EllipsisWithTooltip.stories.d.ts +9 -9
  88. package/dist/types/components/EllipsisWithTooltip/EllipsisWithTooltip.stories.d.ts.map +1 -1
  89. package/dist/types/components/EmptyState/EmptyState.d.ts.map +1 -1
  90. package/dist/types/components/FilterDropdown/FilterDropdown.d.ts +1 -1
  91. package/dist/types/components/FilterDropdown/FilterDropdown.d.ts.map +1 -1
  92. package/dist/types/components/FilterDropdown/FilterDropdown.stories.d.ts.map +1 -1
  93. package/dist/types/components/FilterDropdown/FilterDropdownMenuItem/FilterDropdownMenuItem.d.ts.map +1 -1
  94. package/dist/types/components/FilterDropdown/types.d.ts +2 -1
  95. package/dist/types/components/FilterDropdown/types.d.ts.map +1 -1
  96. package/dist/types/components/IconButton/IconButton.d.ts.map +1 -1
  97. package/dist/types/components/IconButton/IconButton.stories.d.ts.map +1 -1
  98. package/dist/types/components/IconWrapper/IconWrapper.stories.d.ts.map +1 -1
  99. package/dist/types/components/LabelWithIndicator/LabelWithIndicator.stories.d.ts.map +1 -1
  100. package/dist/types/components/Link/Link.d.ts +18 -4
  101. package/dist/types/components/Link/Link.d.ts.map +1 -1
  102. package/dist/types/components/Link/Link.stories.d.ts +3 -2
  103. package/dist/types/components/Link/Link.stories.d.ts.map +1 -1
  104. package/dist/types/components/List/ListItem/ListItem.stories.d.ts.map +1 -1
  105. package/dist/types/components/List/ListItemRightContent/ListItemRightContent.d.ts.map +1 -1
  106. package/dist/types/components/List/ListItemText/ListItemText.d.ts.map +1 -1
  107. package/dist/types/components/List/ListSubheader/ListSubheader.d.ts.map +1 -1
  108. package/dist/types/components/Loader/Loader.d.ts.map +1 -1
  109. package/dist/types/components/Loader/Loader.stories.d.ts +5 -3
  110. package/dist/types/components/Loader/Loader.stories.d.ts.map +1 -1
  111. package/dist/types/components/Menu/Menu/Menu.d.ts.map +1 -1
  112. package/dist/types/components/Menu/Menu/Menu.stories.d.ts +24 -12
  113. package/dist/types/components/Menu/Menu/Menu.stories.d.ts.map +1 -1
  114. package/dist/types/components/Menu/MenuItem/MenuItem.d.ts +1 -1
  115. package/dist/types/components/Menu/MenuItem/MenuItem.d.ts.map +1 -1
  116. package/dist/types/components/MessageField/MessageField.d.ts.map +1 -1
  117. package/dist/types/components/MessageField/MessageField.stories.d.ts.map +1 -1
  118. package/dist/types/components/MessageField/MessageField.styled.d.ts +1 -1
  119. package/dist/types/components/MessageField/components/MessageFieldFooter.d.ts.map +1 -1
  120. package/dist/types/components/PasswordField/PasswordField.d.ts +2 -2
  121. package/dist/types/components/PasswordField/PasswordField.d.ts.map +1 -1
  122. package/dist/types/components/PasswordField/PasswordField.stories.d.ts +2 -2
  123. package/dist/types/components/PasswordField/PasswordField.stories.d.ts.map +1 -1
  124. package/dist/types/components/SearchField/SearchField.d.ts.map +1 -1
  125. package/dist/types/components/SearchField/SearchField.stories.d.ts.map +1 -1
  126. package/dist/types/components/SearchField/SearchField.styled.d.ts +2 -2
  127. package/dist/types/components/SearchField/types.d.ts +2 -0
  128. package/dist/types/components/SearchField/types.d.ts.map +1 -1
  129. package/dist/types/components/SelectField/MultipleSelectField/MultipleSelectField.d.ts.map +1 -1
  130. package/dist/types/components/SelectField/MultipleSelectField/MultipleSelectField.stories.d.ts.map +1 -1
  131. package/dist/types/components/SelectField/SelectField/SelectField.d.ts +1 -1
  132. package/dist/types/components/SelectField/SelectField/SelectField.d.ts.map +1 -1
  133. package/dist/types/components/SelectField/SelectField/SelectField.stories.d.ts +1 -1
  134. package/dist/types/components/SelectField/SelectField/SelectField.stories.d.ts.map +1 -1
  135. package/dist/types/components/Snackbar/Snackbar.stories.d.ts.map +1 -1
  136. package/dist/types/components/SplitButton/SplitButton.stories.d.ts.map +1 -1
  137. package/dist/types/components/TablePaginationActions/TablePaginationActions.stories.d.ts.map +1 -1
  138. package/dist/types/components/Tag/Tag.stories.d.ts.map +1 -1
  139. package/dist/types/components/ToggleButtonGroup/ToggleButtonGroup.stories.d.ts.map +1 -1
  140. package/dist/types/components/TooltipData/TooltipData.stories.d.ts.map +1 -1
  141. package/dist/types/components/Typography/Typography.d.ts +16 -4
  142. package/dist/types/components/Typography/Typography.d.ts.map +1 -1
  143. package/dist/types/components/Typography/Typography.stories.d.ts +7 -5
  144. package/dist/types/components/Typography/Typography.stories.d.ts.map +1 -1
  145. package/dist/types/components/UploadField/UploadField.d.ts.map +1 -1
  146. package/dist/types/components/UploadField/UploadField.stories.d.ts.map +1 -1
  147. package/dist/types/components/UploadField/UploadField.styled.d.ts +1 -1
  148. package/dist/types/components/UploadField/UploadFieldBase.d.ts.map +1 -1
  149. package/dist/types/custom-icons/__docs__/CustomIcons.stories.d.ts.map +1 -1
  150. package/dist/types/theme/base-theme-options.d.ts +2 -1764
  151. package/dist/types/theme/base-theme-options.d.ts.map +1 -1
  152. package/dist/types/theme/carto-theme.d.ts +2 -4258
  153. package/dist/types/theme/carto-theme.d.ts.map +1 -1
  154. package/dist/types/theme/components/buttons.d.ts.map +1 -1
  155. package/dist/types/theme/components/data-display.d.ts.map +1 -1
  156. package/dist/types/theme/components/date-pickers.d.ts.map +1 -1
  157. package/dist/types/theme/components/forms.d.ts.map +1 -1
  158. package/dist/types/theme/components/navigation.d.ts.map +1 -1
  159. package/dist/types/theme/components/stories/ButtonGroup.stories.d.ts.map +1 -1
  160. package/dist/types/theme/components/stories/Checkbox.stories.d.ts.map +1 -1
  161. package/dist/types/theme/components/stories/Chip.stories.d.ts.map +1 -1
  162. package/dist/types/theme/components/stories/Divider.stories.d.ts +3 -16
  163. package/dist/types/theme/components/stories/Divider.stories.d.ts.map +1 -1
  164. package/dist/types/theme/components/stories/FAB.stories.d.ts.map +1 -1
  165. package/dist/types/theme/components/stories/InputLabel.stories.d.ts.map +1 -1
  166. package/dist/types/theme/components/stories/LinearProgress.stories.d.ts.map +1 -1
  167. package/dist/types/theme/components/stories/Paper.stories.d.ts.map +1 -1
  168. package/dist/types/theme/components/stories/Radio.stories.d.ts.map +1 -1
  169. package/dist/types/theme/components/stories/Slider.stories.d.ts +1 -1
  170. package/dist/types/theme/components/stories/Slider.stories.d.ts.map +1 -1
  171. package/dist/types/theme/components/stories/Switch.stories.d.ts.map +1 -1
  172. package/dist/types/theme/components/stories/Tabs.stories.d.ts +12 -0
  173. package/dist/types/theme/components/stories/Tabs.stories.d.ts.map +1 -1
  174. package/dist/types/theme/components/stories/TextArea.stories.d.ts.map +1 -1
  175. package/dist/types/theme/components/stories/TextField.stories.d.ts.map +1 -1
  176. package/dist/types/theme/components/stories/ToggleButton.stories.d.ts.map +1 -1
  177. package/dist/types/theme/components/stories/Tooltip.stories.d.ts +10 -0
  178. package/dist/types/theme/components/stories/Tooltip.stories.d.ts.map +1 -1
  179. package/dist/types/theme/css-baseline.d.ts +2 -904
  180. package/dist/types/theme/css-baseline.d.ts.map +1 -1
  181. package/dist/types/theme/tokens/ColorTokens.stories.d.ts.map +1 -1
  182. package/dist/types/theme/tokens/LayoutTokens.stories.d.ts.map +1 -1
  183. package/dist/types/theme/tokens/TypographyTokens.stories.d.ts.map +1 -1
  184. package/dist/types/theme/tokens/typography.d.ts +2 -1705
  185. package/dist/types/theme/tokens/typography.d.ts.map +1 -1
  186. package/dist/types/theme/types.d.ts +29 -9
  187. package/dist/types/theme/types.d.ts.map +1 -1
  188. package/dist/types/utils/palette-path.d.ts +13 -0
  189. package/dist/types/utils/palette-path.d.ts.map +1 -0
  190. package/dist/types/utils/palette-path.test.d.ts +2 -0
  191. package/dist/types/utils/palette-path.test.d.ts.map +1 -0
  192. package/dist/types/utils/slot-props-utils.d.ts +13 -0
  193. package/dist/types/utils/slot-props-utils.d.ts.map +1 -0
  194. package/dist/types/widgets/SkeletonWidgets.d.ts +4 -4
  195. package/dist/types/widgets/legend/LegendLayer.d.ts.map +1 -1
  196. package/dist/types/widgets/legend/LegendLayerTitle.d.ts.map +1 -1
  197. package/dist/types/widgets/legend/LegendLayerVariable.d.ts.map +1 -1
  198. package/dist/types/widgets/legend/LegendOpacityControl.d.ts.map +1 -1
  199. package/dist/types/widgets/legend/LegendWidgetUI.d.ts.map +1 -1
  200. package/dist/types/widgets/legend/LegendWidgetUI.styles.d.ts +2 -2
  201. package/dist/types/widgets/legend/legend-types/LegendCategories.d.ts.map +1 -1
  202. package/dist/types/widgets/legend/legend-types/LegendRamp.d.ts.map +1 -1
  203. package/dist/{TablePaginationActions-BJS_RrOa.cjs → utils-D4zfQQdi.cjs} +16 -14
  204. package/dist/{TablePaginationActions-DQx-xT-a.js → utils-ti8hgJ5Q.js} +16 -14
  205. package/dist/widgets/index.cjs +172 -93
  206. package/dist/widgets/index.js +172 -93
  207. package/package.json +38 -33
  208. package/dist/palette-utils-C8uRrL9Q.cjs +0 -1152
  209. package/dist/palette-utils-nq8gri_k.js +0 -1136
  210. package/dist/types/components/DatePickers/PickersDay/PickersDay.d.ts +0 -4
  211. package/dist/types/components/DatePickers/PickersDay/PickersDay.d.ts.map +0 -1
  212. package/dist/types/components/DatePickers/PickersDay/PickersDay.test.d.ts +0 -2
  213. 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-C8uRrL9Q.cjs");
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 TablePaginationActions = require("../TablePaginationActions-BJS_RrOa.cjs");
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 IndicatorIcon = material.styled(material.Box)({
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 = TablePaginationActions.useTranslationWithFallback(
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 renderContent = () => {
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
- disabled: loading || disabled,
144
- startIcon: getIconForPosition("start"),
145
- endIcon: getIconForPosition("end"),
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.jsx(paletteUtils.Typography, { variant: "inherit", color: "inherit", noWrap: true, component: "span", children: renderContent() })
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 = TablePaginationActions.useTranslationWithFallback(
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 = TablePaginationActions.useTranslationWithFallback(
338
+ const showPasswordLabel = utils.useTranslationWithFallback(
367
339
  "c4r.form.showPassword",
368
340
  showPasswordText
369
341
  );
370
- const hidePasswordLabel = TablePaginationActions.useTranslationWithFallback(
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
- InputProps: {
386
- ...InputProps,
387
- inputProps: {
388
- ...InputProps == null ? void 0 : InputProps.inputProps,
389
- role: "textbox"
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
- "& .MuiInputBase-inputAdornedStart": {
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(material.Box, { display: "flex", alignItems: "center", justifyContent: "space-between", children: [
464
- label && /* @__PURE__ */ jsxRuntime.jsx(material.InputLabel, { shrink: true, id: ariaLabelledBy, children: label }),
465
- labelSecondary && /* @__PURE__ */ jsxRuntime.jsx(material.Box, { display: "flex", alignItems: "center", ml: 2, mb: 0.5, children: labelSecondary })
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
- "aria-label": ariaLabel
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: "text.hint",
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(TablePaginationActions.MenuItem)(() => ({
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 = TablePaginationActions.useTranslationWithFallback(
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
- top: theme.spacing(2),
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 = TablePaginationActions.useTranslationWithFallback(
724
+ const allSelectedLabel = utils.useTranslationWithFallback(
703
725
  "c4r.form.allSelected",
704
726
  allSelectedText
705
727
  );
706
- const noneSelectedLabel = TablePaginationActions.useTranslationWithFallback(
728
+ const noneSelectedLabel = utils.useTranslationWithFallback(
707
729
  "c4r.form.noneSelected",
708
730
  noneSelectedText
709
731
  );
710
- const selectedLabel = TablePaginationActions.useTranslationWithFallback(
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: "text.hint",
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
- ml: paddingSize,
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
- PaperProps: {
780
- sx: {
781
- ".MuiList-root": {
782
- paddingTop: 0
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 = 500,
957
+ fontWeight,
928
958
  target,
929
959
  rel,
930
960
  "aria-describedby": ariaDescribedby,
931
961
  ...otherProps
932
962
  }, ref) {
933
- const screenReaderTextValue = TablePaginationActions.useTranslationWithFallback(
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
- fontWeight,
944
- "data-color": color,
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 = TablePaginationActions.useTranslationWithFallback("c4r.utils.loader.label", label);
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(material.Stack, { direction: "column", alignItems: "center", children: [
1032
- labelText && /* @__PURE__ */ jsxRuntime.jsx(
1033
- paletteUtils.Typography,
1034
- {
1035
- variant: "body2",
1036
- color: "textSecondary",
1037
- ...labelProps,
1038
- id: "loader-label",
1039
- children: labelText
1040
- }
1041
- ),
1042
- secondLabel && /* @__PURE__ */ jsxRuntime.jsx(
1043
- paletteUtils.Typography,
1044
- {
1045
- variant: "caption",
1046
- color: "textSecondary",
1047
- ...secondLabelProps,
1048
- id: labelText ? void 0 : "loader-label",
1049
- children: secondLabel
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 = TablePaginationActions.useTranslationWithFallback("c4r.button.copy", copyText);
1140
+ const _copyText = utils.useTranslationWithFallback("c4r.button.copy", copyText);
1093
1141
  const copyTooltipText = copyText === null ? null : _copyText;
1094
- const copySuccessMessage = TablePaginationActions.useTranslationWithFallback(
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
- TablePaginationActions.IconButton,
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
- InputProps,
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 = TablePaginationActions.useTranslationWithFallback(
1262
+ const showTextLabel = utils.useTranslationWithFallback(
1202
1263
  "c4r.button.show",
1203
1264
  showTextProp
1204
1265
  );
1205
- const hideTextLabel = TablePaginationActions.useTranslationWithFallback(
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
- TablePaginationActions.IconButton,
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
- InputProps: {
1238
- readOnly: true,
1239
- onFocus: handleFocus,
1240
- onBlur: handleBlur,
1241
- endAdornment: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1242
- password ? passwordAdornment : extraEndAdornment,
1243
- /* @__PURE__ */ jsxRuntime.jsx(material.InputAdornment, { position: "end", children: /* @__PURE__ */ jsxRuntime.jsx(AdornmentWrapper, { size, variant, children: /* @__PURE__ */ jsxRuntime.jsx(
1244
- CopiableComponent,
1245
- {
1246
- value,
1247
- onCopied,
1248
- button: true,
1249
- buttonProps: {
1250
- size
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
- ...variant === "filled" && {
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("ul")(
1269
- ({ theme, hasFilters }) => ({
1270
- ...!hasFilters && {
1271
- paddingTop: `${theme.spacing(1)} !important`
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
- if (value.length === 0) {
1531
+ const selectedItems = Array.isArray(value) ? value : value == null ? [] : [value];
1532
+ if (selectedItems.length === 0) {
1454
1533
  return null;
1455
1534
  }
1456
- const selectedCount = value.length;
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: value,
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 && props.ListboxComponent === AutocompleteList) {
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
- ListboxProps: {
1557
- "aria-multiselectable": false,
1558
- ...props.ListboxProps
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
- TablePaginationActions.MenuItem,
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
- TablePaginationActions.MenuItem,
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 = TablePaginationActions.useTranslationWithFallback(
1760
+ const addLabel = utils.useTranslationWithFallback(
1669
1761
  "c4r.form.add",
1670
1762
  typeof newItemLabel === "string" ? newItemLabel : void 0
1671
1763
  );
1672
- const noOptionsLabel = TablePaginationActions.useTranslationWithFallback(
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 = TablePaginationActions.useTranslationWithFallback(
1841
+ const defaultCounterText = utils.useTranslationWithFallback(
1750
1842
  "c4r.form.selected",
1751
1843
  counterText
1752
1844
  );
1753
- const defaultAllSelectedText = TablePaginationActions.useTranslationWithFallback(
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
- renderTags,
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 finalRenderTags = showCounter && multiple && !renderTags ? getCounterRenderTags() : renderTags;
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
- renderTags: finalRenderTags,
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
- renderTags,
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 finalRenderTags = showCounter && !renderTags ? getCounterRenderTags() : renderTags;
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
- renderTags: finalRenderTags,
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 = TablePaginationActions.useTranslationWithFallback(
2298
+ const buttonFooterLabel = utils.useTranslationWithFallback(
2189
2299
  buttonFooterLabelId || "c4r.button.save",
2190
2300
  buttonFooterText
2191
2301
  );
2192
- const changesSavedLabel = TablePaginationActions.useTranslationWithFallback(
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 = TablePaginationActions.useTranslationWithFallback(
2369
+ const showOptionsTooltipLabel = utils.useTranslationWithFallback(
2260
2370
  "c4r.button.showOptions",
2261
2371
  showOptionsTooltipText
2262
2372
  );
2263
- const copyLabel = TablePaginationActions.useTranslationWithFallback("c4r.button.copy", copyText);
2264
- const expandLabel = TablePaginationActions.useTranslationWithFallback(
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 = TablePaginationActions.useTranslationWithFallback(
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
- TablePaginationActions.IconButton,
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(TablePaginationActions.MenuItem, { onClick: handleCopy, disabled, id: "copy", children: [
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(TablePaginationActions.MenuItem, { onClick: onClickExpand, disabled, id: "expand", children: [
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
- TablePaginationActions.IconButton,
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.HelpOutline)(({ theme }) => ({
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.ErrorOutline, { htmlColor: theme.palette.error.main }),
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
- shouldForwardProp: (prop) => !["fullScreen", "height", "width", "hasForm"].includes(prop)
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
- PaperComponent: DialogPaper,
3360
- PaperProps: {
3361
- ...PaperProps,
3362
- size,
3363
- fullScreen,
3364
- height,
3365
- width,
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
- role: "section",
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 = TablePaginationActions.useTranslationWithFallback(
3590
+ const closeTooltipLabel = utils.useTranslationWithFallback(
3426
3591
  "c4r.button.close",
3427
3592
  closeTooltipText
3428
3593
  );
3429
- const backTooltipLabel = TablePaginationActions.useTranslationWithFallback(
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
- TablePaginationActions.IconButton,
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
- TablePaginationActions.IconButton,
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 = TablePaginationActions.useTranslationWithFallback(
4198
+ const titleLabel = utils.useTranslationWithFallback(
4034
4199
  titleLabelId || "c4r.dialog.confirmation.title",
4035
4200
  titleText
4036
4201
  );
4037
- const cancelLabel = TablePaginationActions.useTranslationWithFallback(
4202
+ const cancelLabel = utils.useTranslationWithFallback(
4038
4203
  cancelLabelId || "c4r.button.cancel",
4039
4204
  cancelText
4040
4205
  );
4041
- const leaveLabel = TablePaginationActions.useTranslationWithFallback("c4r.button.leave", leaveText);
4042
- const contentLabel = TablePaginationActions.useTranslationWithFallback(
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 = TablePaginationActions.useTranslationWithFallback(
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.HelpOutline, { htmlColor: "text.secondary" }) })
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
- inputProps: {
4356
- "data-testid": "date-picker-input"
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 PickersDayWrapper = material.styled(material.Box, {
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
- "& .MuiPickersDay-root": {
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
- "& .MuiPickersDay-today": {
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 CustomPickersDay = material.styled(xDatePickers.PickersDay, {
4649
+ const CustomPickerDay = material.styled(xDatePickers.PickerDay, {
4482
4650
  shouldForwardProp: (prop) => !["isDateRangeLimit", "isPreview"].includes(prop)
4483
4651
  })(
4484
4652
  ({ theme, isDateRangeLimit, isPreview }) => ({
4485
- "&.MuiPickersDay-root": {
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 PickersDay({
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
- PickersDayWrapper,
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
- CustomPickersDay,
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 = TablePaginationActions.useTranslationWithFallback("c4r.form.startDate");
4639
- const endDateLabel = TablePaginationActions.useTranslationWithFallback("c4r.form.endDate");
4640
- const startCalendarAriaLabel = TablePaginationActions.useTranslationWithFallback(
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 = TablePaginationActions.useTranslationWithFallback(
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
- PickersDay,
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
- PickersDay,
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 ? { "& .MuiPickersDay-root": { transition: "none" } } : void 0,
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: PickersDay, ...slots },
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 = TablePaginationActions.useTranslationWithFallback("c4r.form.time", label);
4917
- const chooseDateAriaLabel = TablePaginationActions.useTranslationWithFallback(
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.HelpOutline, { htmlColor: "text.secondary" }) })
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
- inputProps: {
4970
- "data-testid": "time-picker-input"
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 = TablePaginationActions.useTranslationWithFallback("c4r.form.time", label);
5030
- const chooseDateAriaLabel = TablePaginationActions.useTranslationWithFallback(
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.HelpOutline, { htmlColor: "text.secondary" }) })
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
- inputProps: {
5066
- "data-testid": "date-time-picker-input"
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 : TablePaginationActions.getThemeColor(iconColor, theme);
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, { color: "inherit", variant: "caption", weight: "medium", children: title }),
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, { color: "inherit", variant: "caption", weight: "medium", children: item.value })
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, MenuListProps: MenuListProps2, ...otherProps }, ref) {
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
- MenuListProps: {
5557
- ...MenuListProps2,
5558
- "data-width": width,
5559
- "data-height": height,
5560
- "data-extended": extended
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
- TablePaginationActions.MenuItem,
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
- primaryTypographyProps: {
5660
- variant: "body2",
5661
- id: menuItemId
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
- TablePaginationActions.IconButton,
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
- autoFocus: true,
5792
- // To allow keyboard navigation
5793
- ...MenuListProps
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(TablePaginationActions.MenuItem, { subtitle: true, children: menuTitle }),
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
- TablePaginationActions.IconButton,
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
- TablePaginationActions.IconButton,
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(material.Box, { display: "flex", children: /* @__PURE__ */ jsxRuntime.jsx(
5960
- Button,
6148
+ children: /* @__PURE__ */ jsxRuntime.jsx(
6149
+ material.Box,
5961
6150
  {
5962
- onClick,
5963
- variant: "contained",
5964
- color: "primary",
5965
- disabled: buttonIsDisabled,
5966
- size,
5967
- children: labelButton
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
- const stopLabel = TablePaginationActions.useTranslationWithFallback("c4r.button.stop", stopText);
6008
- const typeToSendLabel = TablePaginationActions.useTranslationWithFallback(
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 = TablePaginationActions.useTranslationWithFallback("c4r.button.send", sendText);
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
- TablePaginationActions.IconButton,
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 = TablePaginationActions.useTranslationWithFallback(
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
- InputProps: {
6364
- onFocus: handleFocus,
6365
- onBlur: handleBlur,
6366
- startAdornment: /* @__PURE__ */ jsxRuntime.jsx(
6367
- SearchFieldStartAdornment,
6368
- {
6369
- minimized,
6370
- loading,
6371
- disabled,
6372
- startAdornment
6373
- }
6374
- ),
6375
- endAdornment: !minimized && /* @__PURE__ */ jsxRuntime.jsx(
6376
- SearchFieldEndAdornment,
6377
- {
6378
- disabled,
6379
- loading,
6380
- showClearButton: clearButtonVisibility,
6381
- clearButton,
6382
- clearButtonLabel: clearButtonLabelValue,
6383
- onClear: handleClear,
6384
- size,
6385
- endAdornment
6386
- }
6387
- ),
6388
- ...InputProps
6389
- },
6390
- inputProps: {
6391
- role: "searchbox",
6392
- ...inputProps
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-standardError": {
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 = TablePaginationActions.useTranslationWithFallback(
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
- TransitionComponent: autoWidth ? material.Fade : material.Slide,
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
- TablePaginationActions.IconButton,
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
- ...TablePaginationActions.ellipsisStyles,
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
- InputProps,
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
- InputProps: {
6849
- ...InputProps,
6850
- name,
6851
- // multiple prop cannot be used here because it is not a valid prop for TextField InputProps
6852
- // not used for any UI logic
6853
- readOnly: true,
6854
- endAdornment: /* @__PURE__ */ jsxRuntime.jsx(
6855
- FilesAction,
6856
- {
6857
- buttonText,
6858
- hasFiles,
6859
- size,
6860
- error,
6861
- disabled: !!dragOver,
6862
- handleReset,
6863
- handleOpen,
6864
- inProgress
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 = TablePaginationActions.useTranslationWithFallback(
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 = TablePaginationActions.useTranslationWithFallback(
7111
+ const dragPlaceholderLabel = utils.useTranslationWithFallback(
6891
7112
  "c4r.form.dragPlaceholder",
6892
7113
  dragPlaceholderText,
6893
7114
  { count: multiple ? 0 : 1 }
6894
7115
  );
6895
- const dragActivePlaceholderLabel = TablePaginationActions.useTranslationWithFallback(
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
- InputProps: inputEvents,
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
- ...TablePaginationActions.ellipsisStyles,
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
- ...TablePaginationActions.ellipsisStyles
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
- ...TablePaginationActions.ellipsisStyles
7301
+ ...utils.ellipsisStyles
7074
7302
  }
7075
7303
  };
7076
7304
  }
7077
7305
  return {
7078
7306
  display: "block",
7079
- ...TablePaginationActions.ellipsisStyles,
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: "text.primary",
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: "text.secondary",
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(material.Stack, { direction: "row", alignItems: "center", spacing: 0.5, children: actions })
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: "text.secondary",
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
- material.Typography,
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
- [TablePaginationActions.SVG_SELECTOR]: {
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 = TablePaginationActions.IconButton;
7811
- exports.MenuItem = TablePaginationActions.MenuItem;
7812
- exports.TablePaginationActions = TablePaginationActions.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;