@sprinklrjs/spaceweb 14.13.0 → 14.13.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/asyncSelect/hooks/useBaseAsyncSelect.js +2 -2
- package/date-picker/DateInput.js +59 -9
- package/esm/asyncSelect/hooks/useBaseAsyncSelect.js +2 -2
- package/esm/date-picker/DateInput.js +59 -9
- package/esm/list/list-item.d.ts +1 -1
- package/esm/list/list-item.js +11 -4
- package/esm/list/types.d.ts +2 -2
- package/esm/list/useListItemTooltip.d.ts +10 -0
- package/esm/list/useListItemTooltip.js +38 -0
- package/esm/locale/en_US.js +1 -0
- package/esm/menu/StatefulSubMenu.d.ts +1 -1
- package/esm/menu/SubMenu.d.ts +1 -1
- package/esm/menu/menu-item.d.ts +1 -1
- package/esm/select/locale.d.ts +1 -0
- package/esm/select/selectMenuAdapter/CollapsibleSelectMenu.d.ts +1 -1
- package/esm/select/selectMenuAdapter/SelectMenuItem.d.ts +1 -1
- package/esm/select/styled-component.js +16 -6
- package/list/list-item.d.ts +1 -1
- package/list/list-item.js +10 -3
- package/list/types.d.ts +2 -2
- package/list/useListItemTooltip.d.ts +10 -0
- package/list/useListItemTooltip.js +42 -0
- package/locale/en_US.js +1 -0
- package/menu/StatefulSubMenu.d.ts +1 -1
- package/menu/SubMenu.d.ts +1 -1
- package/menu/menu-item.d.ts +1 -1
- package/package.json +2 -2
- package/select/locale.d.ts +1 -0
- package/select/selectMenuAdapter/CollapsibleSelectMenu.d.ts +1 -1
- package/select/selectMenuAdapter/SelectMenuItem.d.ts +1 -1
- package/select/styled-component.js +16 -6
- package/tsconfig.build.tsbuildinfo +1 -1
|
@@ -257,9 +257,9 @@ var useBaseAsyncSelect = function (params) {
|
|
|
257
257
|
var updateOptions = (0, react_1.useCallback)(function (getUpdatedOptions) {
|
|
258
258
|
var updatedOptions = getUpdatedOptions(options);
|
|
259
259
|
setOptions(updatedOptions);
|
|
260
|
-
setAllOptionsMap((0, keyBy_1.default)((0, utils_1.normalizeOptions)(updatedOptions)));
|
|
260
|
+
setAllOptionsMap((0, keyBy_1.default)((0, utils_1.normalizeOptions)(updatedOptions), valueKey));
|
|
261
261
|
sortedOptionsRef.current = updatedOptions;
|
|
262
|
-
}, [options]);
|
|
262
|
+
}, [options, valueKey]);
|
|
263
263
|
var updateResultCountMap = (0, react_1.useCallback)(function (getUpdatedResultCountMap) { return setResultCountMap(getUpdatedResultCountMap(resultCountMap)); }, [resultCountMap, setResultCountMap]);
|
|
264
264
|
return tslib_1.__assign(tslib_1.__assign({}, restSelectProps), { options: options, isLoading: isLoading, value: selectedOptions, controlRef: controlRef, inputRef: combinedRef, overrides: mergedOverrides, noResultsMsg: adaptedNoResultsMsg, createOption: createOption, onInputChange: _onInputChange, valueKey: valueKey, labelKey: labelKey, type: restSelectProps.type, groupConfigWithCount: groupConfigWithCount, onChange: onChange, onOpen: (0, react_1.useCallback)(function () {
|
|
265
265
|
moveSelectedOptionsToTop &&
|
package/date-picker/DateInput.js
CHANGED
|
@@ -102,15 +102,31 @@ function (_a) {
|
|
|
102
102
|
}, [date, minDate, maxDate, dateHelpers]);
|
|
103
103
|
var updateDate = function (nextDate) {
|
|
104
104
|
if ((0, exports.isDateValid)(nextDate)) {
|
|
105
|
-
|
|
106
|
-
|
|
105
|
+
if (date) {
|
|
106
|
+
onChange(dateHelpers.setDate(date, nextDate));
|
|
107
|
+
}
|
|
108
|
+
else {
|
|
109
|
+
var monthNum = Number(month);
|
|
110
|
+
var yearNum = Number(year);
|
|
111
|
+
if ((0, exports.isMonthValid)(monthNum) &&
|
|
112
|
+
yearNum >= minYear &&
|
|
113
|
+
yearNum <= maxYear &&
|
|
114
|
+
nextDate <= (0, getDaysInMonth_1.default)(new Date(yearNum, monthNum - 1))) {
|
|
115
|
+
onChange(new Date(yearNum, monthNum - 1, nextDate));
|
|
116
|
+
}
|
|
117
|
+
}
|
|
107
118
|
}
|
|
108
119
|
else {
|
|
109
120
|
setDay(date ? dateHelpers.formatDate(date, 'dd') : '');
|
|
110
121
|
}
|
|
111
122
|
};
|
|
112
123
|
var dateBlur = function (_event) {
|
|
113
|
-
|
|
124
|
+
if (date) {
|
|
125
|
+
setDay(dateHelpers.formatDate(date, 'dd'));
|
|
126
|
+
}
|
|
127
|
+
else if (!(0, exports.isDateValid)(Number(day))) {
|
|
128
|
+
setDay('');
|
|
129
|
+
}
|
|
114
130
|
};
|
|
115
131
|
// Match main: derive a number via Number(raw), not parseInt. For mask partials like "1_",
|
|
116
132
|
// Number returns NaN so we do not commit; parseInt("1_") === 1 incorrectly committed day 1.
|
|
@@ -139,15 +155,31 @@ function (_a) {
|
|
|
139
155
|
};
|
|
140
156
|
var updateMonth = function (nextMonth) {
|
|
141
157
|
if ((0, exports.isMonthValid)(nextMonth)) {
|
|
142
|
-
|
|
143
|
-
|
|
158
|
+
if (date) {
|
|
159
|
+
onChange(dateHelpers.setMonth(date, nextMonth - 1));
|
|
160
|
+
}
|
|
161
|
+
else {
|
|
162
|
+
var dayNum = Number(day);
|
|
163
|
+
var yearNum = Number(year);
|
|
164
|
+
if ((0, exports.isDateValid)(dayNum) &&
|
|
165
|
+
yearNum >= minYear &&
|
|
166
|
+
yearNum <= maxYear &&
|
|
167
|
+
dayNum <= (0, getDaysInMonth_1.default)(new Date(yearNum, nextMonth - 1))) {
|
|
168
|
+
onChange(new Date(yearNum, nextMonth - 1, dayNum));
|
|
169
|
+
}
|
|
170
|
+
}
|
|
144
171
|
}
|
|
145
172
|
else {
|
|
146
173
|
setMonth(date ? dateHelpers.formatDate(date, 'MM') : '');
|
|
147
174
|
}
|
|
148
175
|
};
|
|
149
176
|
var monthBlur = function (_event) {
|
|
150
|
-
|
|
177
|
+
if (date) {
|
|
178
|
+
setMonth(dateHelpers.formatDate(date, 'MM'));
|
|
179
|
+
}
|
|
180
|
+
else if (!(0, exports.isMonthValid)(Number(month))) {
|
|
181
|
+
setMonth('');
|
|
182
|
+
}
|
|
151
183
|
};
|
|
152
184
|
// Same rules as dayChange: Number(raw) rejects partial mask values like "1_".
|
|
153
185
|
var monthChange = function (event) {
|
|
@@ -176,15 +208,33 @@ function (_a) {
|
|
|
176
208
|
// year
|
|
177
209
|
var updateYear = function (nextYear) {
|
|
178
210
|
if (nextYear >= minYear && nextYear <= maxYear) {
|
|
179
|
-
|
|
180
|
-
|
|
211
|
+
if (date) {
|
|
212
|
+
onChange(dateHelpers.setYear(date, nextYear));
|
|
213
|
+
}
|
|
214
|
+
else {
|
|
215
|
+
var dayNum = Number(day);
|
|
216
|
+
var monthNum = Number(month);
|
|
217
|
+
if ((0, exports.isDateValid)(dayNum) &&
|
|
218
|
+
(0, exports.isMonthValid)(monthNum) &&
|
|
219
|
+
dayNum <= (0, getDaysInMonth_1.default)(new Date(nextYear, monthNum - 1))) {
|
|
220
|
+
onChange(new Date(nextYear, monthNum - 1, dayNum));
|
|
221
|
+
}
|
|
222
|
+
}
|
|
181
223
|
}
|
|
182
224
|
else {
|
|
183
225
|
setYear(date ? dateHelpers.getYear(date) : '');
|
|
184
226
|
}
|
|
185
227
|
};
|
|
186
228
|
var yearBlur = function (_event) {
|
|
187
|
-
|
|
229
|
+
if (date) {
|
|
230
|
+
setYear(dateHelpers.formatDate(date, 'yyyy'));
|
|
231
|
+
}
|
|
232
|
+
else {
|
|
233
|
+
var yearNum = Number(year);
|
|
234
|
+
if (!(yearNum >= minYear && yearNum <= maxYear)) {
|
|
235
|
+
setYear('');
|
|
236
|
+
}
|
|
237
|
+
}
|
|
188
238
|
};
|
|
189
239
|
var yearChange = function (event) {
|
|
190
240
|
setYear(event.target.value);
|
|
@@ -254,9 +254,9 @@ export var useBaseAsyncSelect = function (params) {
|
|
|
254
254
|
var updateOptions = useCallback(function (getUpdatedOptions) {
|
|
255
255
|
var updatedOptions = getUpdatedOptions(options);
|
|
256
256
|
setOptions(updatedOptions);
|
|
257
|
-
setAllOptionsMap(_keyBy(normalizeOptions(updatedOptions)));
|
|
257
|
+
setAllOptionsMap(_keyBy(normalizeOptions(updatedOptions), valueKey));
|
|
258
258
|
sortedOptionsRef.current = updatedOptions;
|
|
259
|
-
}, [options]);
|
|
259
|
+
}, [options, valueKey]);
|
|
260
260
|
var updateResultCountMap = useCallback(function (getUpdatedResultCountMap) { return setResultCountMap(getUpdatedResultCountMap(resultCountMap)); }, [resultCountMap, setResultCountMap]);
|
|
261
261
|
return __assign(__assign({}, restSelectProps), { options: options, isLoading: isLoading, value: selectedOptions, controlRef: controlRef, inputRef: combinedRef, overrides: mergedOverrides, noResultsMsg: adaptedNoResultsMsg, createOption: createOption, onInputChange: _onInputChange, valueKey: valueKey, labelKey: labelKey, type: restSelectProps.type, groupConfigWithCount: groupConfigWithCount, onChange: onChange, onOpen: useCallback(function () {
|
|
262
262
|
moveSelectedOptionsToTop &&
|
|
@@ -97,15 +97,31 @@ function (_a) {
|
|
|
97
97
|
}, [date, minDate, maxDate, dateHelpers]);
|
|
98
98
|
var updateDate = function (nextDate) {
|
|
99
99
|
if (isDateValid(nextDate)) {
|
|
100
|
-
|
|
101
|
-
|
|
100
|
+
if (date) {
|
|
101
|
+
onChange(dateHelpers.setDate(date, nextDate));
|
|
102
|
+
}
|
|
103
|
+
else {
|
|
104
|
+
var monthNum = Number(month);
|
|
105
|
+
var yearNum = Number(year);
|
|
106
|
+
if (isMonthValid(monthNum) &&
|
|
107
|
+
yearNum >= minYear &&
|
|
108
|
+
yearNum <= maxYear &&
|
|
109
|
+
nextDate <= getDaysInMonth(new Date(yearNum, monthNum - 1))) {
|
|
110
|
+
onChange(new Date(yearNum, monthNum - 1, nextDate));
|
|
111
|
+
}
|
|
112
|
+
}
|
|
102
113
|
}
|
|
103
114
|
else {
|
|
104
115
|
setDay(date ? dateHelpers.formatDate(date, 'dd') : '');
|
|
105
116
|
}
|
|
106
117
|
};
|
|
107
118
|
var dateBlur = function (_event) {
|
|
108
|
-
|
|
119
|
+
if (date) {
|
|
120
|
+
setDay(dateHelpers.formatDate(date, 'dd'));
|
|
121
|
+
}
|
|
122
|
+
else if (!isDateValid(Number(day))) {
|
|
123
|
+
setDay('');
|
|
124
|
+
}
|
|
109
125
|
};
|
|
110
126
|
// Match main: derive a number via Number(raw), not parseInt. For mask partials like "1_",
|
|
111
127
|
// Number returns NaN so we do not commit; parseInt("1_") === 1 incorrectly committed day 1.
|
|
@@ -134,15 +150,31 @@ function (_a) {
|
|
|
134
150
|
};
|
|
135
151
|
var updateMonth = function (nextMonth) {
|
|
136
152
|
if (isMonthValid(nextMonth)) {
|
|
137
|
-
|
|
138
|
-
|
|
153
|
+
if (date) {
|
|
154
|
+
onChange(dateHelpers.setMonth(date, nextMonth - 1));
|
|
155
|
+
}
|
|
156
|
+
else {
|
|
157
|
+
var dayNum = Number(day);
|
|
158
|
+
var yearNum = Number(year);
|
|
159
|
+
if (isDateValid(dayNum) &&
|
|
160
|
+
yearNum >= minYear &&
|
|
161
|
+
yearNum <= maxYear &&
|
|
162
|
+
dayNum <= getDaysInMonth(new Date(yearNum, nextMonth - 1))) {
|
|
163
|
+
onChange(new Date(yearNum, nextMonth - 1, dayNum));
|
|
164
|
+
}
|
|
165
|
+
}
|
|
139
166
|
}
|
|
140
167
|
else {
|
|
141
168
|
setMonth(date ? dateHelpers.formatDate(date, 'MM') : '');
|
|
142
169
|
}
|
|
143
170
|
};
|
|
144
171
|
var monthBlur = function (_event) {
|
|
145
|
-
|
|
172
|
+
if (date) {
|
|
173
|
+
setMonth(dateHelpers.formatDate(date, 'MM'));
|
|
174
|
+
}
|
|
175
|
+
else if (!isMonthValid(Number(month))) {
|
|
176
|
+
setMonth('');
|
|
177
|
+
}
|
|
146
178
|
};
|
|
147
179
|
// Same rules as dayChange: Number(raw) rejects partial mask values like "1_".
|
|
148
180
|
var monthChange = function (event) {
|
|
@@ -171,15 +203,33 @@ function (_a) {
|
|
|
171
203
|
// year
|
|
172
204
|
var updateYear = function (nextYear) {
|
|
173
205
|
if (nextYear >= minYear && nextYear <= maxYear) {
|
|
174
|
-
|
|
175
|
-
|
|
206
|
+
if (date) {
|
|
207
|
+
onChange(dateHelpers.setYear(date, nextYear));
|
|
208
|
+
}
|
|
209
|
+
else {
|
|
210
|
+
var dayNum = Number(day);
|
|
211
|
+
var monthNum = Number(month);
|
|
212
|
+
if (isDateValid(dayNum) &&
|
|
213
|
+
isMonthValid(monthNum) &&
|
|
214
|
+
dayNum <= getDaysInMonth(new Date(nextYear, monthNum - 1))) {
|
|
215
|
+
onChange(new Date(nextYear, monthNum - 1, dayNum));
|
|
216
|
+
}
|
|
217
|
+
}
|
|
176
218
|
}
|
|
177
219
|
else {
|
|
178
220
|
setYear(date ? dateHelpers.getYear(date) : '');
|
|
179
221
|
}
|
|
180
222
|
};
|
|
181
223
|
var yearBlur = function (_event) {
|
|
182
|
-
|
|
224
|
+
if (date) {
|
|
225
|
+
setYear(dateHelpers.formatDate(date, 'yyyy'));
|
|
226
|
+
}
|
|
227
|
+
else {
|
|
228
|
+
var yearNum = Number(year);
|
|
229
|
+
if (!(yearNum >= minYear && yearNum <= maxYear)) {
|
|
230
|
+
setYear('');
|
|
231
|
+
}
|
|
232
|
+
}
|
|
183
233
|
};
|
|
184
234
|
var yearChange = function (event) {
|
|
185
235
|
setYear(event.target.value);
|
package/esm/list/list-item.d.ts
CHANGED
|
@@ -22,6 +22,6 @@ declare const _default: React.MemoExoticComponent<React.ForwardRefExoticComponen
|
|
|
22
22
|
} | undefined;
|
|
23
23
|
selected?: boolean | undefined;
|
|
24
24
|
startEnhancer?: Enhancer<ListItemSharedProps>;
|
|
25
|
-
tooltipContent?: React.ReactNode | import("../baseui/popover").
|
|
25
|
+
tooltipContent?: React.ReactNode | import("../baseui/popover").ContentRenderProp;
|
|
26
26
|
} & React.RefAttributes<HTMLElement>>>;
|
|
27
27
|
export default _default;
|
package/esm/list/list-item.js
CHANGED
|
@@ -7,7 +7,8 @@ import useCombinedRefs from '../hooks/useCombinedRef';
|
|
|
7
7
|
import { useOverrides } from '../overrides';
|
|
8
8
|
import { StyledChildContainer, StyledEndEnhancer, StyledListItem, StyledStartEnhancer } from './styled-component';
|
|
9
9
|
import { useFocusVisible } from '../hooks/useFocusVisible';
|
|
10
|
-
import {
|
|
10
|
+
import { Tooltip as DefaultTooltip } from '../tooltip';
|
|
11
|
+
import useListItemTooltip, { getListItemTooltipHandlers } from './useListItemTooltip';
|
|
11
12
|
var ListItem = React.forwardRef(function (_a, ref) {
|
|
12
13
|
var startEnhancer = _a.startEnhancer, children = _a.children, className = _a.className, style = _a.style, _b = _a.alignItems, alignItems = _b === void 0 ? 'center' : _b, _c = _a.disabled, disabled = _c === void 0 ? false : _c, endEnhancer = _a.endEnhancer, _d = _a.selected, selected = _d === void 0 ? false : _d, _e = _a.highlighted, highlighted = _e === void 0 ? false : _e, _f = _a.autoFocus, autoFocus = _f === void 0 ? false : _f, _g = _a.button, button = _g === void 0 ? false : _g, _h = _a.overrides, overrides = _h === void 0 ? {} : _h, _j = _a.tabIndex, tabIndex = _j === void 0 ? button ? 0 : undefined : _j, _k = _a.$as, $as = _k === void 0 ? 'li' : _k, onClick = _a.onClick, onKeyDown = _a.onKeyDown, onFocus = _a.onFocus, onBlur = _a.onBlur, _l = _a.tooltipContent, tooltipContent = _l === void 0 ? '' : _l, restProps = __rest(_a, ["startEnhancer", "children", "className", "style", "alignItems", "disabled", "endEnhancer", "selected", "highlighted", "autoFocus", "button", "overrides", "tabIndex", "$as", "onClick", "onKeyDown", "onFocus", "onBlur", "tooltipContent"]);
|
|
13
14
|
var ownRef = useRef(null);
|
|
@@ -46,9 +47,15 @@ var ListItem = React.forwardRef(function (_a, ref) {
|
|
|
46
47
|
var renderEnhancer = function (enhancer) {
|
|
47
48
|
return typeof enhancer === 'function' ? enhancer(sharedProps) : enhancer;
|
|
48
49
|
};
|
|
49
|
-
var _r = __read(useOverrides(overrides === null || overrides === void 0 ? void 0 : overrides.StatefulTooltip,
|
|
50
|
-
var
|
|
51
|
-
|
|
50
|
+
var _r = __read(useOverrides(overrides === null || overrides === void 0 ? void 0 : overrides.StatefulTooltip, DefaultTooltip), 2), Tooltip = _r[0], tooltipProps = _r[1];
|
|
51
|
+
var tooltipControlProps = useListItemTooltip({
|
|
52
|
+
highlighted: highlighted,
|
|
53
|
+
tooltipHandlers: getListItemTooltipHandlers(tooltipProps),
|
|
54
|
+
});
|
|
55
|
+
var listEl = (
|
|
56
|
+
// eslint-disable-next-line jsx-a11y/role-supports-aria-props -- aria-disabled required for disabled button list items
|
|
57
|
+
_jsxs(Root, __assign({ "data-spaceweb": "list-item", role: "listitem", ref: combinedRef, tabIndex: tabIndex, "$as": $as, "aria-disabled": disabled, onClick: disabled ? _noop : onClick, onKeyDown: handleKeyDown, "data-highlighted": highlighted }, sharedProps, restProps, rootProps, useFocusVisibleProps, { style: [style, rootProps === null || rootProps === void 0 ? void 0 : rootProps.style], className: [className, rootProps === null || rootProps === void 0 ? void 0 : rootProps.className] }, { children: [startEnhancer && (_jsx(StartEnhancer, __assign({}, sharedProps, startEnhancerProps, { children: renderEnhancer(startEnhancer) }))), _jsx(ChildContainer, __assign({}, sharedProps, childContainerProps, { children: children })), endEnhancer && (_jsx(EndEnhancer, __assign({}, sharedProps, endEnhancerProps, { children: renderEnhancer(endEnhancer) })))] })));
|
|
58
|
+
return tooltipContent ? (_jsx(Tooltip, __assign({ placement: "bottom", showArrow: true, content: tooltipContent, viewportAsBoundary: true }, tooltipProps, tooltipControlProps, { children: listEl }))) : (listEl);
|
|
52
59
|
});
|
|
53
60
|
ListItem.displayName = 'ListItem';
|
|
54
61
|
ListItem.__standard = 'Component';
|
package/esm/list/types.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { KeyboardEvent, MouseEvent, ReactNode } from 'react';
|
|
2
2
|
import type { Override } from '../overrides/types';
|
|
3
3
|
import type { SpacewebComponentProps } from '../types';
|
|
4
|
-
import type {
|
|
4
|
+
import type { TooltipProps } from '../tooltip/types';
|
|
5
5
|
export type AlignItems = 'start' | 'center';
|
|
6
6
|
export type Enhancer<SharedProps> = ReactNode | ((props: SharedProps) => ReactNode);
|
|
7
7
|
export type ListItemSharedProps = {
|
|
@@ -31,7 +31,7 @@ export type ListItemProps = SpacewebComponentProps & {
|
|
|
31
31
|
};
|
|
32
32
|
selected?: boolean;
|
|
33
33
|
startEnhancer?: Enhancer<ListItemSharedProps>;
|
|
34
|
-
tooltipContent?:
|
|
34
|
+
tooltipContent?: TooltipProps['content'];
|
|
35
35
|
};
|
|
36
36
|
export type ListProps = SpacewebComponentProps & {
|
|
37
37
|
children?: ReactNode;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { TooltipProps } from '../tooltip/types';
|
|
2
|
+
export type ListItemTooltipHandlerProps = Pick<TooltipProps, 'onMouseEnter' | 'onMouseLeave' | 'onFocus' | 'onBlur'>;
|
|
3
|
+
export declare const getListItemTooltipHandlers: (tooltipProps: Record<string, unknown>) => Partial<ListItemTooltipHandlerProps>;
|
|
4
|
+
type ListItemTooltipControlProps = Required<Pick<TooltipProps, 'isOpen'>> & ListItemTooltipHandlerProps;
|
|
5
|
+
type Params = {
|
|
6
|
+
highlighted: boolean;
|
|
7
|
+
tooltipHandlers?: Partial<ListItemTooltipHandlerProps>;
|
|
8
|
+
};
|
|
9
|
+
declare const useListItemTooltip: ({ highlighted, tooltipHandlers }: Params) => ListItemTooltipControlProps;
|
|
10
|
+
export default useListItemTooltip;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { __read } from "tslib";
|
|
2
|
+
import { useCallback, useState } from 'react';
|
|
3
|
+
import useCombinedHandler from '../hooks/useCombinedHandler';
|
|
4
|
+
import { isFocusVisible } from '../baseui/utils/focusVisible';
|
|
5
|
+
import { useMenuContext } from '../menu/MenuContext';
|
|
6
|
+
export var getListItemTooltipHandlers = function (tooltipProps) {
|
|
7
|
+
return ({
|
|
8
|
+
onMouseEnter: tooltipProps.onMouseEnter,
|
|
9
|
+
onMouseLeave: tooltipProps.onMouseLeave,
|
|
10
|
+
onFocus: tooltipProps.onFocus,
|
|
11
|
+
onBlur: tooltipProps.onBlur,
|
|
12
|
+
});
|
|
13
|
+
};
|
|
14
|
+
var useListItemTooltip = function (_a) {
|
|
15
|
+
var highlighted = _a.highlighted, _b = _a.tooltipHandlers, tooltipHandlers = _b === void 0 ? {} : _b;
|
|
16
|
+
var listItemFocusVisible = useMenuContext().listItemFocusVisible;
|
|
17
|
+
var _c = __read(useState(false), 2), hoverOpen = _c[0], setHoverOpen = _c[1];
|
|
18
|
+
var onMouseEnter = tooltipHandlers.onMouseEnter, onMouseLeave = tooltipHandlers.onMouseLeave, onFocus = tooltipHandlers.onFocus, onBlur = tooltipHandlers.onBlur;
|
|
19
|
+
var openHoverTooltip = useCallback(function () { return setHoverOpen(true); }, []);
|
|
20
|
+
var closeHoverTooltip = useCallback(function () { return setHoverOpen(false); }, []);
|
|
21
|
+
var openOnFocusVisible = useCallback(function (event) {
|
|
22
|
+
if (isFocusVisible(event)) {
|
|
23
|
+
setHoverOpen(true);
|
|
24
|
+
}
|
|
25
|
+
}, []);
|
|
26
|
+
var onMouseEnterHandler = useCombinedHandler(openHoverTooltip, onMouseEnter);
|
|
27
|
+
var onMouseLeaveHandler = useCombinedHandler(closeHoverTooltip, onMouseLeave);
|
|
28
|
+
var onBlurHandler = useCombinedHandler(closeHoverTooltip, onBlur);
|
|
29
|
+
var onFocusHandler = useCombinedHandler(onFocus, openOnFocusVisible);
|
|
30
|
+
return {
|
|
31
|
+
isOpen: hoverOpen || (highlighted && listItemFocusVisible),
|
|
32
|
+
onMouseEnter: onMouseEnterHandler,
|
|
33
|
+
onMouseLeave: onMouseLeaveHandler,
|
|
34
|
+
onFocus: onFocusHandler,
|
|
35
|
+
onBlur: onBlurHandler,
|
|
36
|
+
};
|
|
37
|
+
};
|
|
38
|
+
export default useListItemTooltip;
|
package/esm/locale/en_US.js
CHANGED
|
@@ -23,6 +23,7 @@ export var DEFAULT_LOCALE = {
|
|
|
23
23
|
selectPlaceholder: 'Select...',
|
|
24
24
|
clearOptionLabel: 'Unassign',
|
|
25
25
|
selectedValuesPrefix: 'Selected ${values}',
|
|
26
|
+
selectedMultiValuesPrefix: 'Selected ${count} ${countLabel} ${values}',
|
|
26
27
|
item: 'item',
|
|
27
28
|
items: 'items',
|
|
28
29
|
multiValueNavigationDescription: 'Use Left and Right arrow keys to navigate between selected values. Enter BackSpace to remove currently focused value',
|
|
@@ -81,7 +81,7 @@ declare const StatefulSubMenu: import("react").ForwardRefExoticComponent<Omit<Me
|
|
|
81
81
|
} | undefined;
|
|
82
82
|
selected?: boolean | undefined;
|
|
83
83
|
startEnhancer?: import("../list/types").Enhancer<import("../list").ListItemSharedProps>;
|
|
84
|
-
tooltipContent?: ReactNode | import("../baseui/popover").
|
|
84
|
+
tooltipContent?: ReactNode | import("../baseui/popover").ContentRenderProp;
|
|
85
85
|
} & Record<string, any>> | undefined;
|
|
86
86
|
Popover?: Override<Omit<import("../baseui/popover").PopoverProps, "children" | "overrides" | "placement" | "triggerType"> & {
|
|
87
87
|
overrides?: ({
|
package/esm/menu/SubMenu.d.ts
CHANGED
|
@@ -82,7 +82,7 @@ declare const SubMenu: import("react").ForwardRefExoticComponent<Omit<MenuProps,
|
|
|
82
82
|
} | undefined;
|
|
83
83
|
selected?: boolean | undefined;
|
|
84
84
|
startEnhancer?: import("../list/types").Enhancer<import("../list").ListItemSharedProps>;
|
|
85
|
-
tooltipContent?: ReactNode | import("../baseui/popover").
|
|
85
|
+
tooltipContent?: ReactNode | import("../baseui/popover").ContentRenderProp;
|
|
86
86
|
} & Record<string, any>> | undefined;
|
|
87
87
|
Popover?: Override<Omit<import("../baseui/popover").PopoverProps, "children" | "overrides" | "placement" | "triggerType"> & {
|
|
88
88
|
overrides?: ({
|
package/esm/menu/menu-item.d.ts
CHANGED
|
@@ -30,7 +30,7 @@ declare const _default: React.MemoExoticComponent<React.ForwardRefExoticComponen
|
|
|
30
30
|
} | undefined;
|
|
31
31
|
selected?: boolean | undefined;
|
|
32
32
|
startEnhancer?: import("../list/types").Enhancer<ListItemSharedProps>;
|
|
33
|
-
tooltipContent?: React.ReactNode | import("../baseui/popover").
|
|
33
|
+
tooltipContent?: React.ReactNode | import("../baseui/popover").ContentRenderProp;
|
|
34
34
|
} & Record<string, any>> | undefined;
|
|
35
35
|
Popover?: import("../overrides").Override<Omit<import("../baseui/popover").PopoverProps, "children" | "overrides" | "placement" | "triggerType"> & {
|
|
36
36
|
overrides?: ({
|
package/esm/select/locale.d.ts
CHANGED
|
@@ -67,7 +67,7 @@ export declare const CollapsibleSelectMenu: ({ overrides, value, items: groupedI
|
|
|
67
67
|
} | undefined;
|
|
68
68
|
selected?: boolean | undefined;
|
|
69
69
|
startEnhancer?: import("../../list/types").Enhancer<import("../../list").ListItemSharedProps>;
|
|
70
|
-
tooltipContent?: ReactNode | import("../../baseui/popover").
|
|
70
|
+
tooltipContent?: ReactNode | import("../../baseui/popover").ContentRenderProp;
|
|
71
71
|
} & Record<string, any>> | undefined;
|
|
72
72
|
Popover?: import("../../overrides").Override<Omit<import("../../baseui/popover").PopoverProps, "children" | "overrides" | "placement" | "triggerType"> & {
|
|
73
73
|
overrides?: ({
|
|
@@ -38,7 +38,7 @@ declare const _default: React.MemoExoticComponent<React.ForwardRefExoticComponen
|
|
|
38
38
|
} | undefined;
|
|
39
39
|
selected?: boolean | undefined;
|
|
40
40
|
startEnhancer?: import("../../list/types").Enhancer<import("../../list").ListItemSharedProps>;
|
|
41
|
-
tooltipContent?: React.ReactNode | import("../../baseui/popover").
|
|
41
|
+
tooltipContent?: React.ReactNode | import("../../baseui/popover").ContentRenderProp;
|
|
42
42
|
} & Record<string, any>> | undefined;
|
|
43
43
|
Popover?: Override<Omit<import("../../baseui/popover").PopoverProps, "children" | "overrides" | "placement" | "triggerType"> & {
|
|
44
44
|
overrides?: ({
|
|
@@ -40,7 +40,7 @@ export var StyledInput = styled('input', 'bg-transparent border-none inline-bloc
|
|
|
40
40
|
return ($disabled ? 'webkit-text-transparent' : '');
|
|
41
41
|
});
|
|
42
42
|
var StyledOverlayContentContainer = styled('div', 'overflow-auto rounded-inherit w-[--sw-width]');
|
|
43
|
-
var getCommaSeparatedValues = function (value, limitTags, labelKey, locale) {
|
|
43
|
+
var getCommaSeparatedValues = function (value, limitTags, labelKey, locale, multi) {
|
|
44
44
|
if (limitTags === void 0) { limitTags = Number(Infinity); }
|
|
45
45
|
var _limitTags = limitTags < 0 ? Number(Infinity) : limitTags;
|
|
46
46
|
var commaSeparatedValues = value === null || value === void 0 ? void 0 : value.slice(0, _limitTags).map(function (val) { return val[labelKey]; });
|
|
@@ -49,16 +49,26 @@ var getCommaSeparatedValues = function (value, limitTags, labelKey, locale) {
|
|
|
49
49
|
commaSeparatedValues.push("".concat("+".concat(extraTagNumber, " ").concat(extraTagNumber === 1 ? locale.select.item : locale.select.items)));
|
|
50
50
|
}
|
|
51
51
|
var _commaSeparatedValues = commaSeparatedValues === null || commaSeparatedValues === void 0 ? void 0 : commaSeparatedValues.join(',');
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
52
|
+
if (!(value === null || value === void 0 ? void 0 : value.length)) {
|
|
53
|
+
return '';
|
|
54
|
+
}
|
|
55
|
+
if (multi) {
|
|
56
|
+
var count = value.length;
|
|
57
|
+
var countLabel = count === 1 ? locale.select.item : locale.select.items;
|
|
58
|
+
return "".concat(getInterpolatedString(locale.select.selectedMultiValuesPrefix, {
|
|
59
|
+
count: String(count),
|
|
60
|
+
countLabel: countLabel,
|
|
61
|
+
values: _commaSeparatedValues,
|
|
62
|
+
}), ".");
|
|
63
|
+
}
|
|
64
|
+
return "".concat(getInterpolatedString(locale.select.selectedValuesPrefix, { values: _commaSeparatedValues }), ".");
|
|
55
65
|
};
|
|
56
66
|
var InputContainer = function (_a) {
|
|
57
67
|
var _b;
|
|
58
68
|
var size = _a.size, $value = _a.$value, $labelKey = _a.$labelKey, placeholder = _a.placeholder, $limitTags = _a.$limitTags, props = __rest(_a, ["size", "$value", "$labelKey", "placeholder", "$limitTags"]);
|
|
59
69
|
var locale = useLocale();
|
|
60
70
|
var listboxId = useSelectIds().listboxId;
|
|
61
|
-
var commaSeparatedValues = getCommaSeparatedValues($value, $limitTags, $labelKey, locale);
|
|
71
|
+
var commaSeparatedValues = getCommaSeparatedValues($value, $limitTags, $labelKey, locale, props.$multi);
|
|
62
72
|
var baseAriaDescribedBy = (_b = props['aria-describedby']) !== null && _b !== void 0 ? _b : '';
|
|
63
73
|
var selectedValuesId = useUniqueId();
|
|
64
74
|
var ariaDescribedBy = commaSeparatedValues ? "".concat(selectedValuesId, " ").concat(baseAriaDescribedBy) : baseAriaDescribedBy;
|
|
@@ -77,7 +87,7 @@ var Input = forwardRef(function (_a, ref) {
|
|
|
77
87
|
var placeholder = _a.placeholder, $value = _a.$value, $labelKey = _a.$labelKey, _c = _a.$limitTags, $limitTags = _c === void 0 ? Number(Infinity) : _c, props = __rest(_a, ["placeholder", "$value", "$labelKey", "$limitTags"]);
|
|
78
88
|
var locale = useLocale();
|
|
79
89
|
var _d = useSelectIds(), listboxId = _d.listboxId, inputId = _d.inputId;
|
|
80
|
-
var commaSeparatedValues = getCommaSeparatedValues($value, $limitTags, $labelKey, locale);
|
|
90
|
+
var commaSeparatedValues = getCommaSeparatedValues($value, $limitTags, $labelKey, locale, props.$multi);
|
|
81
91
|
var baseAriaDescribedBy = (_b = props['aria-describedby']) !== null && _b !== void 0 ? _b : '';
|
|
82
92
|
var selectedValuesId = useUniqueId();
|
|
83
93
|
var ariaDescribedBy = commaSeparatedValues ? "".concat(selectedValuesId, " ").concat(baseAriaDescribedBy) : baseAriaDescribedBy;
|
package/list/list-item.d.ts
CHANGED
|
@@ -22,6 +22,6 @@ declare const _default: React.MemoExoticComponent<React.ForwardRefExoticComponen
|
|
|
22
22
|
} | undefined;
|
|
23
23
|
selected?: boolean | undefined;
|
|
24
24
|
startEnhancer?: Enhancer<ListItemSharedProps>;
|
|
25
|
-
tooltipContent?: React.ReactNode | import("../baseui/popover").
|
|
25
|
+
tooltipContent?: React.ReactNode | import("../baseui/popover").ContentRenderProp;
|
|
26
26
|
} & React.RefAttributes<HTMLElement>>>;
|
|
27
27
|
export default _default;
|
package/list/list-item.js
CHANGED
|
@@ -10,6 +10,7 @@ var overrides_1 = require("../overrides");
|
|
|
10
10
|
var styled_component_1 = require("./styled-component");
|
|
11
11
|
var useFocusVisible_1 = require("../hooks/useFocusVisible");
|
|
12
12
|
var tooltip_1 = require("../tooltip");
|
|
13
|
+
var useListItemTooltip_1 = tslib_1.__importStar(require("./useListItemTooltip"));
|
|
13
14
|
var ListItem = React.forwardRef(function (_a, ref) {
|
|
14
15
|
var startEnhancer = _a.startEnhancer, children = _a.children, className = _a.className, style = _a.style, _b = _a.alignItems, alignItems = _b === void 0 ? 'center' : _b, _c = _a.disabled, disabled = _c === void 0 ? false : _c, endEnhancer = _a.endEnhancer, _d = _a.selected, selected = _d === void 0 ? false : _d, _e = _a.highlighted, highlighted = _e === void 0 ? false : _e, _f = _a.autoFocus, autoFocus = _f === void 0 ? false : _f, _g = _a.button, button = _g === void 0 ? false : _g, _h = _a.overrides, overrides = _h === void 0 ? {} : _h, _j = _a.tabIndex, tabIndex = _j === void 0 ? button ? 0 : undefined : _j, _k = _a.$as, $as = _k === void 0 ? 'li' : _k, onClick = _a.onClick, onKeyDown = _a.onKeyDown, onFocus = _a.onFocus, onBlur = _a.onBlur, _l = _a.tooltipContent, tooltipContent = _l === void 0 ? '' : _l, restProps = tslib_1.__rest(_a, ["startEnhancer", "children", "className", "style", "alignItems", "disabled", "endEnhancer", "selected", "highlighted", "autoFocus", "button", "overrides", "tabIndex", "$as", "onClick", "onKeyDown", "onFocus", "onBlur", "tooltipContent"]);
|
|
15
16
|
var ownRef = (0, react_1.useRef)(null);
|
|
@@ -48,9 +49,15 @@ var ListItem = React.forwardRef(function (_a, ref) {
|
|
|
48
49
|
var renderEnhancer = function (enhancer) {
|
|
49
50
|
return typeof enhancer === 'function' ? enhancer(sharedProps) : enhancer;
|
|
50
51
|
};
|
|
51
|
-
var _r = tslib_1.__read((0, overrides_1.useOverrides)(overrides === null || overrides === void 0 ? void 0 : overrides.StatefulTooltip, tooltip_1.
|
|
52
|
-
var
|
|
53
|
-
|
|
52
|
+
var _r = tslib_1.__read((0, overrides_1.useOverrides)(overrides === null || overrides === void 0 ? void 0 : overrides.StatefulTooltip, tooltip_1.Tooltip), 2), Tooltip = _r[0], tooltipProps = _r[1];
|
|
53
|
+
var tooltipControlProps = (0, useListItemTooltip_1.default)({
|
|
54
|
+
highlighted: highlighted,
|
|
55
|
+
tooltipHandlers: (0, useListItemTooltip_1.getListItemTooltipHandlers)(tooltipProps),
|
|
56
|
+
});
|
|
57
|
+
var listEl = (
|
|
58
|
+
// eslint-disable-next-line jsx-a11y/role-supports-aria-props -- aria-disabled required for disabled button list items
|
|
59
|
+
(0, jsx_runtime_1.jsxs)(Root, tslib_1.__assign({ "data-spaceweb": "list-item", role: "listitem", ref: combinedRef, tabIndex: tabIndex, "$as": $as, "aria-disabled": disabled, onClick: disabled ? noop_1.default : onClick, onKeyDown: handleKeyDown, "data-highlighted": highlighted }, sharedProps, restProps, rootProps, useFocusVisibleProps, { style: [style, rootProps === null || rootProps === void 0 ? void 0 : rootProps.style], className: [className, rootProps === null || rootProps === void 0 ? void 0 : rootProps.className] }, { children: [startEnhancer && ((0, jsx_runtime_1.jsx)(StartEnhancer, tslib_1.__assign({}, sharedProps, startEnhancerProps, { children: renderEnhancer(startEnhancer) }))), (0, jsx_runtime_1.jsx)(ChildContainer, tslib_1.__assign({}, sharedProps, childContainerProps, { children: children })), endEnhancer && ((0, jsx_runtime_1.jsx)(EndEnhancer, tslib_1.__assign({}, sharedProps, endEnhancerProps, { children: renderEnhancer(endEnhancer) })))] })));
|
|
60
|
+
return tooltipContent ? ((0, jsx_runtime_1.jsx)(Tooltip, tslib_1.__assign({ placement: "bottom", showArrow: true, content: tooltipContent, viewportAsBoundary: true }, tooltipProps, tooltipControlProps, { children: listEl }))) : (listEl);
|
|
54
61
|
});
|
|
55
62
|
ListItem.displayName = 'ListItem';
|
|
56
63
|
ListItem.__standard = 'Component';
|
package/list/types.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { KeyboardEvent, MouseEvent, ReactNode } from 'react';
|
|
2
2
|
import type { Override } from '../overrides/types';
|
|
3
3
|
import type { SpacewebComponentProps } from '../types';
|
|
4
|
-
import type {
|
|
4
|
+
import type { TooltipProps } from '../tooltip/types';
|
|
5
5
|
export type AlignItems = 'start' | 'center';
|
|
6
6
|
export type Enhancer<SharedProps> = ReactNode | ((props: SharedProps) => ReactNode);
|
|
7
7
|
export type ListItemSharedProps = {
|
|
@@ -31,7 +31,7 @@ export type ListItemProps = SpacewebComponentProps & {
|
|
|
31
31
|
};
|
|
32
32
|
selected?: boolean;
|
|
33
33
|
startEnhancer?: Enhancer<ListItemSharedProps>;
|
|
34
|
-
tooltipContent?:
|
|
34
|
+
tooltipContent?: TooltipProps['content'];
|
|
35
35
|
};
|
|
36
36
|
export type ListProps = SpacewebComponentProps & {
|
|
37
37
|
children?: ReactNode;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { TooltipProps } from '../tooltip/types';
|
|
2
|
+
export type ListItemTooltipHandlerProps = Pick<TooltipProps, 'onMouseEnter' | 'onMouseLeave' | 'onFocus' | 'onBlur'>;
|
|
3
|
+
export declare const getListItemTooltipHandlers: (tooltipProps: Record<string, unknown>) => Partial<ListItemTooltipHandlerProps>;
|
|
4
|
+
type ListItemTooltipControlProps = Required<Pick<TooltipProps, 'isOpen'>> & ListItemTooltipHandlerProps;
|
|
5
|
+
type Params = {
|
|
6
|
+
highlighted: boolean;
|
|
7
|
+
tooltipHandlers?: Partial<ListItemTooltipHandlerProps>;
|
|
8
|
+
};
|
|
9
|
+
declare const useListItemTooltip: ({ highlighted, tooltipHandlers }: Params) => ListItemTooltipControlProps;
|
|
10
|
+
export default useListItemTooltip;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getListItemTooltipHandlers = void 0;
|
|
4
|
+
var tslib_1 = require("tslib");
|
|
5
|
+
var react_1 = require("react");
|
|
6
|
+
var useCombinedHandler_1 = tslib_1.__importDefault(require("../hooks/useCombinedHandler"));
|
|
7
|
+
var focusVisible_1 = require("../baseui/utils/focusVisible");
|
|
8
|
+
var MenuContext_1 = require("../menu/MenuContext");
|
|
9
|
+
var getListItemTooltipHandlers = function (tooltipProps) {
|
|
10
|
+
return ({
|
|
11
|
+
onMouseEnter: tooltipProps.onMouseEnter,
|
|
12
|
+
onMouseLeave: tooltipProps.onMouseLeave,
|
|
13
|
+
onFocus: tooltipProps.onFocus,
|
|
14
|
+
onBlur: tooltipProps.onBlur,
|
|
15
|
+
});
|
|
16
|
+
};
|
|
17
|
+
exports.getListItemTooltipHandlers = getListItemTooltipHandlers;
|
|
18
|
+
var useListItemTooltip = function (_a) {
|
|
19
|
+
var highlighted = _a.highlighted, _b = _a.tooltipHandlers, tooltipHandlers = _b === void 0 ? {} : _b;
|
|
20
|
+
var listItemFocusVisible = (0, MenuContext_1.useMenuContext)().listItemFocusVisible;
|
|
21
|
+
var _c = tslib_1.__read((0, react_1.useState)(false), 2), hoverOpen = _c[0], setHoverOpen = _c[1];
|
|
22
|
+
var onMouseEnter = tooltipHandlers.onMouseEnter, onMouseLeave = tooltipHandlers.onMouseLeave, onFocus = tooltipHandlers.onFocus, onBlur = tooltipHandlers.onBlur;
|
|
23
|
+
var openHoverTooltip = (0, react_1.useCallback)(function () { return setHoverOpen(true); }, []);
|
|
24
|
+
var closeHoverTooltip = (0, react_1.useCallback)(function () { return setHoverOpen(false); }, []);
|
|
25
|
+
var openOnFocusVisible = (0, react_1.useCallback)(function (event) {
|
|
26
|
+
if ((0, focusVisible_1.isFocusVisible)(event)) {
|
|
27
|
+
setHoverOpen(true);
|
|
28
|
+
}
|
|
29
|
+
}, []);
|
|
30
|
+
var onMouseEnterHandler = (0, useCombinedHandler_1.default)(openHoverTooltip, onMouseEnter);
|
|
31
|
+
var onMouseLeaveHandler = (0, useCombinedHandler_1.default)(closeHoverTooltip, onMouseLeave);
|
|
32
|
+
var onBlurHandler = (0, useCombinedHandler_1.default)(closeHoverTooltip, onBlur);
|
|
33
|
+
var onFocusHandler = (0, useCombinedHandler_1.default)(onFocus, openOnFocusVisible);
|
|
34
|
+
return {
|
|
35
|
+
isOpen: hoverOpen || (highlighted && listItemFocusVisible),
|
|
36
|
+
onMouseEnter: onMouseEnterHandler,
|
|
37
|
+
onMouseLeave: onMouseLeaveHandler,
|
|
38
|
+
onFocus: onFocusHandler,
|
|
39
|
+
onBlur: onBlurHandler,
|
|
40
|
+
};
|
|
41
|
+
};
|
|
42
|
+
exports.default = useListItemTooltip;
|
package/locale/en_US.js
CHANGED
|
@@ -26,6 +26,7 @@ exports.DEFAULT_LOCALE = {
|
|
|
26
26
|
selectPlaceholder: 'Select...',
|
|
27
27
|
clearOptionLabel: 'Unassign',
|
|
28
28
|
selectedValuesPrefix: 'Selected ${values}',
|
|
29
|
+
selectedMultiValuesPrefix: 'Selected ${count} ${countLabel} ${values}',
|
|
29
30
|
item: 'item',
|
|
30
31
|
items: 'items',
|
|
31
32
|
multiValueNavigationDescription: 'Use Left and Right arrow keys to navigate between selected values. Enter BackSpace to remove currently focused value',
|
|
@@ -81,7 +81,7 @@ declare const StatefulSubMenu: import("react").ForwardRefExoticComponent<Omit<Me
|
|
|
81
81
|
} | undefined;
|
|
82
82
|
selected?: boolean | undefined;
|
|
83
83
|
startEnhancer?: import("../list/types").Enhancer<import("../list").ListItemSharedProps>;
|
|
84
|
-
tooltipContent?: ReactNode | import("../baseui/popover").
|
|
84
|
+
tooltipContent?: ReactNode | import("../baseui/popover").ContentRenderProp;
|
|
85
85
|
} & Record<string, any>> | undefined;
|
|
86
86
|
Popover?: Override<Omit<import("../baseui/popover").PopoverProps, "children" | "overrides" | "placement" | "triggerType"> & {
|
|
87
87
|
overrides?: ({
|
package/menu/SubMenu.d.ts
CHANGED
|
@@ -82,7 +82,7 @@ declare const SubMenu: import("react").ForwardRefExoticComponent<Omit<MenuProps,
|
|
|
82
82
|
} | undefined;
|
|
83
83
|
selected?: boolean | undefined;
|
|
84
84
|
startEnhancer?: import("../list/types").Enhancer<import("../list").ListItemSharedProps>;
|
|
85
|
-
tooltipContent?: ReactNode | import("../baseui/popover").
|
|
85
|
+
tooltipContent?: ReactNode | import("../baseui/popover").ContentRenderProp;
|
|
86
86
|
} & Record<string, any>> | undefined;
|
|
87
87
|
Popover?: Override<Omit<import("../baseui/popover").PopoverProps, "children" | "overrides" | "placement" | "triggerType"> & {
|
|
88
88
|
overrides?: ({
|